机器学习中的算法-梯度下降策略

原创文章,如需转载请保留出处
本博客为唐宇迪老师python数据分析与机器学习实战课程学习笔记

一. 梯度下降原理
梯度下降算法是一个最优化算法,它是沿梯度下降的方向求解极小值。
1.1 前提条件
1.1.1 目标函数
使用梯度下降算法是要求有前提条件的。第一个就是目标函数,梯度下降是求最优解的算法没错,但是你一定要告诉梯度下降,你要求哪个函数的解。万物得有源头。目标函数就是源头。本节课的源头就是
在这里插入图片描述
1.1.2 训练集
这个目标函数是根据上节课推导出来的最小二乘的公式。只不过1/2后面多了个m。m是总的数据量。意味着是求多个数据之后的平均值。
第二个是训练集,有了目标函数,还得有数据支撑。只有有了大量的数据,机器才能够真正的掌握规律。(下方为数据集样本)
机器学习中的算法-梯度下降策略_第1张图片
最终的目标是求得是这个目标函数最小(或局部最小)的参数θ。
机器学习中的算法-梯度下降策略_第2张图片
1.2 梯度下降
梯度:得到的偏导数
下降:目标函数的极小值
机器学习中的算法-梯度下降策略_第3张图片
1.3 原理
机器学习中的算法-梯度下降策略_第4张图片
机器学习中的算法-梯度下降策略_第5张图片
机器学习中的算法-梯度下降策略_第6张图片
1.4 训练步骤
1.4.1 随机生成一个初始点
图片中红圈上的点,从上面的图可以看出:初始点不同,获得的最小值也不同,因此梯度下降求得的只是局部最小值;
1.4.2 确定学习率(Learning rate)
学习率可以理解为下山时每一步迈的大小。步子迈得太大有可能不收敛,步子迈的太小下山速度太慢。如下图
机器学习中的算法-梯度下降策略_第7张图片
工作经验:先使用0.1试下,如果不收敛或者收敛慢,再试0.01、0.001。
还有一点,学习率并不一定全程不变,可以刚开始的时候大一些,后期的时候不断调小。

二. 梯度下降方法对比
2.1 梯度下降方法

  • 批量梯度下降
  • 随机梯度下降
  • 小批量梯度下降
    机器学习中的算法-梯度下降策略_第8张图片
    三. 学习率对结果的影响
    机器学习中的算法-梯度下降策略_第9张图片
    3.1 训练终止
    当损失函数达到预设值的一个值,或者收敛不明显时,可以终止训练。得到的值就是梯度下降优化算法的最终值(极小值)。

四. 其他
问:多个特征值怎么训练?
答:并不是放在一起训练,而是每个特征自己训练自己的。
如下图:
机器学习中的算法-梯度下降策略_第10张图片

你可能感兴趣的:(机器学习)