梯度下降

1. 梯度下降(Gradient Descent)

在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一
对多元函数的各个分量求偏导数,把求得的各个分量的偏导数以向量的形式写出来,就是梯度
例: 二元函数 z=f(x,y) z = f ( x , y )

f(x,y)=(fx,fx) ∇ f ( x , y ) = ( ∂ f ∂ x , ∂ f ∂ x )

向量的梯度
矩阵的梯度
http://www.junnanzhu.com/?p=141

几何意义: 函数在该点处沿着梯度的方向变化最快,变化率最大(为该梯度的模)。
梯度下降 最小化;梯度上升 最大化

2. 无处不在的梯度下降

2.1 感知机

训练数据集 D=(x1,y1),(x2,y2),..,(xm,ym) D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . , ( x m , y m )
最小化损失函数

minw,bL(w,b)=xiMyi(wxi+b) m i n w , b ⁡ L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b )

损失函数的梯度
wL(w,b)=xiMyixi ∇ w L ( w , b ) = − ∑ x i ∈ M y i x i

bL(w,b)=xiMyi ∇ b L ( w , b ) = − ∑ x i ∈ M y i

采用随机梯度下降,不是一次使用M中的所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
随机选取一个误分类点 (xi,yi) ( x i , y i ) ,对 w,b w , b 更新
ww+ηyixi w ← w + η y i x i

bb+ηyi b ← b + η y i

2.2 线性回归

f(X)=Xw=x(1)1x(1)2x(1)mx(2)1x(2)2x(2)mx(d)1x(d)2x(d)m111w1w2wdby=y1y2ym f ( X ) = X w = [ x 1 ( 1 ) x 1 ( 2 ) ⋯ x 1 ( d ) 1 x 2 ( 1 ) x 2 ( 2 ) ⋯ x 2 ( d ) 1 ⋮ ⋮ ⋱ ⋮ x m ( 1 ) x m ( 2 ) ⋯ x m ( d ) 1 ] [ w 1 w 2 ⋮ w d b ] ≈ y = [ y 1 y 2 ⋮ y m ]

损失函数
L(w)=12(yXw)T(yXw) L ( w ) = 1 2 ( y − X w ) T ( y − X w )

Lw=XT(Xwy) ∂ L ∂ w = X T ( X w − y )

更新公式
w=wηXT(Xwy) w = w − η X T ( X w − y )

2.3 逻辑回归

参考这里:第六章逻辑回归
损失函数

L(w)=i=1m[yi(wTxi)ln(1+e(wTxi))] L ( w ) = ∑ i = 1 m [ y i ( w T x i ) − l n ( 1 + e ( w T x i ) ) ]

Lw=i=1myixTiewTxi1+ewTxixTi ∂ L ∂ w = ∑ i = 1 m y i x i T − e w T x i 1 + e w T x i x i T

=i=1m(yiπ(xi))xTi = ∑ i = 1 m ( y i − π ( x i ) ) x i T

更新公式
w=wηi=1m(yiπ(xi))xTi w = w − η ∑ i = 1 m ( y i − π ( x i ) ) x i T

2.4 神经网络

写不动了

3. 梯度下降家族(BGD,SGD,MBGD)

3.1 批量梯度下降法(Batch Gradient Descent)

梯度下降法最常用的形式,具体做法:在更新参数时使用所有的样本来进行更新。
例:上面逻辑回归的更新公式,有m个样本,求梯度的时候就用了所有m个样本的梯度数据。

3.2 随机梯度下降法(Stochastic Gradient Descent)

区别在与求梯度时没有用所有的m个样本的数据,而是仅仅选取一个样本j来求梯度。
例:上面感知机的更新公式。
训练速度:SGD每次仅采用一个样本来迭代,训练速度很快,而BGD在样本量很大的时候,训练速度不能让人满意
??准确度:SGD仅用一个样本决定梯度方向,导致解很有可能不是最优
每次迭代并不是沿着最陡的方向走,故宏观上看最后是沿着最小值点附近徘徊

收敛速度:由于SGD一次迭代一个样本,导致迭代方向变化很大,不能很快的收敛到局部最优解。

3.3 小批量梯度下降法(Mini-batch Gradient Descent)

小批量梯度下降法是批量梯度下降法和随机梯度下降法的折衷
也就是对于m个样本,我们采用x个样子来迭代, 1<x<m 1 < x < m

参考文献
http://www.cnblogs.com/pinard/p/5970503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值