线性回归实现过程
训练数据:
y = b + w * x
先收集一系列的数据,(x,y)的值。
通过损失函数求w和b的值:(找到的值需要使loss函数的值最小)
梯度下降法找w和b使得loss函数的值最小,这里求导后前面加负号是为了让导数和w的值同增同减。
对于w和b两个参数,第一次随机选取,上标0代表初始的参数,求偏导即可。
梯度下降法求偏导结果:
这样就可以得到b和w的值,也就有了y = b + w * x,把测试集的数据代入测试即可。
那么对于一些更复杂的问题,可以考虑更复杂的模型,比如:
y = b + w1 * x + w2 * (x)2 +…
可以一直加到好多次方,测试它的错误率是不是更低,知道找到一个最好的function。
什么是过拟合
有些模型可能在训练集上取得很好的结果,但是在测试集上取得很差的结果,这种情况就叫过拟合(Overfitting)。下图为例:
所以我们要做的就是取一个最佳的模型,不一定这个模型越复杂越好。
正则化解决过拟合问题
正则化使得当输入有变化时,使输出对输入的变化不敏感。不同λ结果如下:
可以看出太平滑也不好,所以需要调参,调整λ的值使得结果最好。