码迷,mamicode.com
首页 > 其他好文 > 详细

多维梯度下降

时间:2018-12-03 12:54:44      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:a*   com   book   .com   math   return   bubuko   res   ima   

多维函数梯度(偏导数组成)

技术分享图片

方向导数:

技术分享图片

技术分享图片

迭代方程:

技术分享图片

import math
import matplotlib
import numpy as np
import gluonbook as gb
from mxnet import nd,autograd,init,gluon

eta = 0.1
def f_2d(x1,x2):
    return x1**2 + 2*x2**2

def gd_2d(x1,x2,s1,s2):
    return (x1 - eta*2*x1,x2-eta*4*x2,0,0)

def train_2d(trainer):
    x1, x2, s1, s2 = -5, -2, 0, 0
    results = [(x1,x2)]
    for i in range(20):
        x1, x2, s1, s2 = trainer(x1,x2,s1,s2)
        results.append((x1,x2))
    return results

def show_trace_2d(f,results):
    gb.plt.plot(*zip(*results),-o,color=#ff7f0e)
    x1,x2 = np.meshgrid(np.arange(-5.5,1.0,0.1),np.arange(-3.0,1.0,0.1))
    gb.plt.contour(x1,x2,f(x1,x2),colors=#1f77b4)
    gb.plt.xlabel(x1)
    gb.plt.ylabel(x2)

show_trace_2d(f_2d,train_2d(gd_2d))

技术分享图片

 

技术分享图片

发现,最优值取值在x1=0,x2=0 附近

 

多维梯度下降

标签:a*   com   book   .com   math   return   bubuko   res   ima   

原文地址:https://www.cnblogs.com/TreeDream/p/10057700.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!