b站学习视频地址:李宏毅《机器学习》_哔哩哔哩_bilibili
开源内容:LeeML-Notes
回归定义:通过输入特征x,输入一个连续数值,比如房价的预测,明天天气的预测等。
模型步骤:
step1:模型假设,选择模型。线性回归使用均方误差损失函数。
可以使用线性模型,也可以使用非线性,视频讲解的是线性模型。例如一元线性模型y=b+w⋅xcp,xcp为一个特征。
step2:模型评估,即如何判断众多模型的好坏,通过损失函数,也就是真实标签和预测之间的差值。
step3:模型优化,如何找到最优的模型,通过梯度下降找到最好的b和w。
如何求解相应的w和b呢?通过求解对应损失函数L 对w和b的微分即可。
- 步骤1:随机选取一个 w0.
- 步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向
- 大于0向右移动(增加w)
- 小于0向左移动(减少w)
- 步骤3:根据学习率移动
- 重复步骤2和步骤3,直到找到最低点
梯度下降的参数更新主要取决于梯度的大小和学习率的大小,直观上,梯度越大的地方参数更新幅度也越大,学习率越大参数更新幅度也越大。
- 梯度下降不仅仅适用于线性回归中的损失函数更新参数,对于任何可微的损失函数都适用。
- 对于损失函数为凸函数的问题,梯度下降总能找到global minima,也就是全局最优解。
- 但是对于复杂的损失函数问题,梯度下降容易陷入local minima(局部最优解),尤其受到初始值和学习率的影响。
过拟合问题overfiting
模型在训练集上过拟合的问题:即在训练集上面表现更为优秀的模型,在测试集上效果反而变差。或者说泛化能力generalization不够好。
如何解决或者降低过拟合
- 使用多个模型结合,如使用多个线性模型合并成的线性模型
- 增加数据量以提供更多的数据特征。
- 正则化。