ML04.md

特征缩放

  • 不同特征值取值范围较大的时候,梯度下降会在不同的“波形”之间徘徊,导致梯度下降的速度过慢。

  • 均值归一化:

  • 特征值过大或者过小的话,一般情况下都是需要缩放的

判断梯度下降的时候是否在收敛

  • 通过画出学习曲线(纵轴是损失,横轴是迭代次数),损失趋向于稳定值的时候,说明训练收敛
  • 通过自动收敛测试:通过计算每次代价函数(损失函数)的变化量是否小于ε(代表一个极小的值),判断是否收敛

通过正常的学习曲线,判断如何选择合适的学习率

  • 如果学习率太大,不会收敛;如何学习率太小,学的的很慢。
  • 学习曲线时而下降,时而上升,大概率是因为,学习率太大了,或者代码中有bug
  • 如果不确定是代码问题还是学习率大小的问题,可以将学习率设置为一个很小的值,然后去看学习曲线如何变化,如果学习曲线依旧不下降的话,应该是有bug

特征工程

如何为算法设计合适的特征

比如:现在需要在一块矩形土地上建造一座房子,其中x_1为长,x_2为宽。现在需要计算如何设计并求出特征值,使得花钱最少:

f_w,b(x) = w_1 * x_1 + w_2* x_2 + b

我们可以轻易的知道:这个房屋的占地面积是:x_3 = x_1 * x_2.

因此,我们可以设计函数为:f_w,b(x) = w_1 * x_1 + w_2* x_2 + w_3* x_3 + b

这里的x_1何x_2可以类比为,我们已经知道的特征量,这里的x_3是我们通过已有常识,推演或者设计出来的特征值,因为面积也是影响费用的关键因素之一。

多项式回归

  • 为了拟合非线性函数或者曲线函数,从而增加x的二次方、三次方、平方根,从而达到建模吻合数据走向