梯度下降法证明以及最优化系数的求解 gradient descent

文中所示公式以Andrew Ng CS229课程的讲义为主


定义:求解无约束最优化问题的一种常用方法,用负梯度方向为搜索方向的,梯度下降法越接近目标值,步长越小,前进越慢

算法实现:属于迭代算法,每一步都需要求解目标函数的梯度向量



1.参数方程

假设特征有X1,X2, , 则方程有:


一般而言,我们为了简化公式,可以假设 X0 = 1 , 此时方程可以写作:
此处n表示的是特征个数
注: θ 为学习算法的参数,学习算法即利用训练集合的选择或者学习得到合适的参数值。 ( θ ∈R ,  θ 包含( θ1, θ2, θ3...))



2.代价函数(cost fuction):
(1)定义:求解最优解的目的函数
(2)常用形式:平方误差代价函数(符合人的正常思维,即差值越小,误差越小,并且平方保证了符号方便为以后做处理),保证预测函数和实际值的平方差尽可能的小
(3)方程:
(这里的1/2是为了以后求导方便所以加上的)
注:我们为了使误差尽可能的小,所以需要找到最符合的θ。

3.使用梯度下降法求解θ
(1)
算法思想:
(1)初始化θ(可以让θ =0   ---> (θ 0=0 ,θ 1=0 ,θ 2=0 .....);
(2)改变θ的值,使得J(θ)不断的减小
(3)找到θ使J(θ)极小值,或者无限逼近不再改变

(2)图示:(关于J(θ)和θ1,θ2的关系)
(一)我们的J(θ)现在初始化在图中红色的位置
(二)调整θ的值,使J(θ)往更低的方向走,算法的结束便是无法再下降(偏导为0:没有方向)为止

当然,在求解过程中,因为每次都选择的是局部最优,最终可能并非全局最优

(3)公式推导:

我们这里定义:θj指的是第j个参数的更新;α指的是步长;“:=”的意思是赋值,将右边的式计算后更新给左边
数学意义:(a)偏导数反应的是函数在坐标轴的变化率,线性上又叫做斜率
                   (b)梯度下降就应该沿着梯度变化最快的负方向,故求偏导后确定大小后相减
化简:

注:再次注意这里更新的j是第j个参数,而这个公式针对的是样例只有一组的情况

代入上式可得:
(此处是将hθ和y换了位置,所以变成了加号)
对于M组测试数据有:( 由公式可知批量梯度下降法求得的是全局最优解

(我们的目的是求出所有的θ分量,然后将这些θ分量代入J(θ)中,在有限的step中或者收敛中得到极小cost function)

(4)如上式所计算,如果m非常大的情况下,复杂度就非常高。所以可以考虑随机梯度下降法,即将求解每次的θ每次只针对一个样例
(5)批量梯度下降法和随机梯度下降法的优缺点:
批量梯度下降:
优点:获取全局最优解,但是有时候也会陷入局部最优的情况;(凸函数的情况找到全局最优)
使用条件:在样本数m不是很多的时候
缺点:当样本数目很多时,训练过程会很慢,每次迭代需要耗费大量的时间。

随机梯度下降:
优点:训练速度快,每次迭代计算量不大
使用条件:再样本很大的时候
缺点:准确度下降,每次获取局部最优解, 最后但是有时候也能刚好下降到最优。

通病:遇到坑容易走不出去,所以需要设置有限的迭代次数

==============================================分割线==============================================
各种梯度下降变种: http://sebastianruder.com/optimizing-gradient-descent/



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kelisita

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值