【无约束最优化】梯度下降法、牛顿法

无约束最优化

无约束优化问题是是机器学习中最普遍、最简单的优化问题。
最小值时 x ∗ = m i n x f ( x ) , x ∈ R n , f ( x ) 为 多 维 的 x^*=min_xf(x),x∈R^n,f(x)为多维的 x=minxf(x),xRn,f(x)

梯度下降(GD)

运用:在MLE、MAP里求最大值、最小值的点。
由于很多情况下 f ( w ) f(w) f(w)无法求导,就引入了梯度下降。
梯度:本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
和初始值、步长有关。

实现过程

  • Loss 函数(已知):J(w)
  • 初始值( w i w_i wi自定)
  • 步长( α \alpha α 自定:0.01、0.001。不能垮的太远):方向虽然对,但每次走多少不自信 所以 α \alpha α特别小。也叫学习率,是一个超参数。
  • 梯度 ▽ f ( w i ) ▽f(w_i) f(wi)

w i − α ▽ f ( w i ) = w i + 1 w_i-\alpha ▽f(w_i)=w_{i+1} wiαf(wi)=wi+1 ,循环下去就可以找到最小值。一直沿着改变最快的反方向走就可以找到最小值。

终止条件

  • 第i步的函数值与第i-1次的函数值相差 < ϵ \epsilon ϵ ϵ \epsilon ϵ是事先定的一个值
  • 循环次数n>N(最大迭代次数) 。N是事先定的一个值
  • 梯度的模长小于事先定的值。也就是变化不大了

优点

  • 简单
  • 计算量小

缺点

  • 陷入局部最优。梯度下降不一定能找到全局最优解,找到的有可能是一个局部最优解。
    但如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。
  • 易震荡
  • 一次收敛
  • 收敛速度慢,迭代速度慢,次数多

BGD、SGD、MBGD

  • BGD 全批量梯度下降
  • SGD 随机梯度下降
  • MBGD 小批量梯度下降法(效果最好)
举例

设共有N个样本。 x 1 , x 2 . . . x N ; x i ∈ R 100 x^1,x^2...x^N;x^i∈R^{100} x1,x2...xN;xiR100 y 1 , y 2 . . . y N ; y i ∈ { 0 , 1 , 2 , 3...9 } y^1,y^2...y^N;y^i∈\{0,1,2,3...9\} y1,y2...yN;yi{ 0,1,2,3...9}

损失函数: J ( w 1 , w 2 ) = J 1 ( w 1 , w 2 , x 1 , y 1 ) + J 2 ( w 1 , w 2 , x 2 , y 2 ) + . . . + J 1 ( w 1 , w 2 , x N , y N ) = ∑ i = 1 N J i ( w 1 , w 2 , x i , y i ) J(w_1,w_2)=J_1(w_1,w_2,x^1,y^1)+J_2(w_1,w_2,x^2,y^2)+...+J_1(w_1,w_2,x^N,y^N)=\sum^N_{i=1}J_i(w_1,w_2,x^i,y^i) J(w1,w2)=J1(w1,w2,x1,y1)+J2(w1,w2,x2,y2)+...+J1(w1,w2,xN,yN)=i=1NJi(w1,w2,xi,yi)

随机梯度下降SCG

初始 ( w 1 0 , w 2 0 ) (w^0_1,w^0_2) (w10,w20)

w 1 1 = w 1 0 − λ ∂ J 1 ∂ w 1 ∣ w 1 = w 1 0 w_1^1=w^0_1-\lambda \frac{\partial J_1}{\partial w_1}|_{w_1=w^0_1} w11=w10λw1J1w1=w10   ⇒ \Rightarrow    w 1 2 = w 1 1 − λ ∂ J 2 ∂ w 1 ∣ w 1 = w 1 1 w_1^2=w^1_1-\lambda \frac{\partial J_2}{\partial w_1}|_{w_1=w^1_1} w12=w11λw1J2w1=w11

w 2 1 = w 2 0 − λ ∂ J 1 ∂ w 2 ∣ w 2 = w 2 0 w_2^1=w^0_2-\lambda \frac{\partial J_1}{\partial w_2}|_{w_2=w^0_2} w21=w20λw2J1w2=w20   ⇒ \Rightarrow    w 2 2 = w 2 1 − λ ∂ J 2 ∂ w 2 ∣ w 2 = w 2 1 w_2^2=w^1_2-\lambda \frac{\partial J_2}{\partial w_2}|_{w_2=w^1_2} w22=w21

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值