一、过拟合(Overfitting)
什么是欠拟合(underfit, high bias):
说白了就是模型拟合效果不好,无法将值串起来。
什么是过拟合(也可以叫高方差):
就是数据拟合的太完美了,几乎把每个样本数据都串起来了。但是这样带来的问题在于,它不具备良好的泛化能力,而是过拟合了。
泛化(Generalization):若一个模型能从从未见过的数据中做出准确的预测,我们说它能够从训练集泛化到测试集。我们的目标是构建一个泛化精度尽可能高的模型
二、解决过拟合
1. 收集更多的样本数据用于训练和调试(首要工作)
2.观察是否可以使用更少的特征来拟合(特征选择)
3.正则化(Regularization):保留所有的特征,但尽可能让算法缩小特征参数的值。一般对w进行正则化,没必要正则化b的值。
三、带有正则化的代价函数
正则化:
因为不知道那些特征需要缩小,所以惩罚所有的特征,也就是所有的w。通过最小化w的值,来解决过拟合问题。一般不考虑b,因为影响太小了。
具体操作:在代价函数中加上正则化的式子
正则化参数:lambda(有点像学习率)
式子如修改后的最小化代价函数所示:
这样的好处在于,式子里的第一项(均方误差)是在拟合数据,而正则化项是在防止过拟合。
选择的lambda的值体现了相对权衡。也就是说,选择的lambda的值应该是能够最小化均方误差和保持参数w较小,两者同时实现。
四、正则化线性回归
实际上,在最小化代价函数那一步发生了改变而已:因为求偏导后的式子多出来了正则化求偏导后的那一项,其他没什么差别。
五、在逻辑回归中进行正则化
只是把原有的代价函数的式子改成了逻辑回归里的代价函数加上它求偏导后的项。
至此,有监督学习部分已学完。