学习笔记(18):程序员的数学:优化理论-Python实现简单的梯度下降算法

立即学习:https://edu.youkuaiyun.com/course/play/26698/348638?utm_source=blogtoedu

优化:梯度下降算法的实现

调整优化:自变量为θ,因变量一般在机器学习训练里叫做损失函数。从名字可知,既然是损失,我们自然想尽量降低。

  • 如何降低呢?在工程刚开始,或许我们会随机降落到函数中的某一个点上。然后在该点计算它的梯度,再沿着梯度的方向慢慢地下降(可以从某一个点开始,然后按照梯度下滑到另一个点,如此循环迭代,最终到达一个最低点)
  • 通过梯度,找到函数的变化方向,而具体变化多少呢?与学习率变化参数有关,用α表示(α可以理解为步长,即步子邁多大)
  • 步长不是越大越好,因为过大会在最低点之间来回游荡,错过最低点
  • 而步长越小,更容易收敛。但是需要考虑现实中的计算资源问题。若学习率α过小,则迭代过程会被拉得很长,这会造成资源的浪费。

若一个函数比较复杂(具体工程中需要注意的)

  • 他可能会有多个极小值点。在此情况下,局部最小值,未必是全局最小值
  • 若有些线段比较平滑,则这段的梯度比较小,会让优化过程比较艰难。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值