学习目标
- 了解梯度下降算法
- 实现梯度下降算法
什么是梯度下降
- 梯度下降法应用
在之前的几周学习中,了解了kNN和线性回归算法,机器学习就是寻找一个函数f(x),并对其进行优化,使其可以完成预测、分类和生成等工作。优化就是对f(x)对应的损失函数求取最小值的过程。从数学抽象的角度来看:每个模型(f(x))都有自己的损失函数,不管是监督式学习还是非监督式学习。损失函数通常包含了若干个模型参数,我们就是要找到使损失函数尽可能小的参数未知模型参数。
- 常见的梯度下降算法和优缺点
- 批量梯度下降
优点:全局最优解;易于并行实现;
缺点:当样本数据很多时,计算量开销大,计算速度慢。 - 随机梯度下降
优点:计算速度快;
缺点:收敛性能不好
- 梯度下降算法一些需要注意的点
- 学习率,学习率过大,容易错过最优解;学习率过小,学习效率很低,收敛速度慢;
- 局部最优解,初始值多选定几个,选择几组中的最优解。
梯度下降实现
待完善。
《手动实现梯度下降(可视化)》