Linear Regression:
在机器学习中,只要参数(例如 Y=b+wx 中的b 和 w)是一次项,那么无论变量x的次数多少,都称为Linear Regression。
在线性回归中,先确定好参数的维度,在根据模型写出lost函数,最后通过求偏微分得到minimize lost 的各个参数。
为什么越复杂的模型与training data 越吻合 ,但是与 test data 却会过拟合;而越简单的模型与training data 差距越大,但是不会出现过拟合?
可以从一维和二位参数的情况来考虑:
一维:y=wx L(w)=1/2∑(y-(wx))²
二维:y=b+wx; L(w,b)=1/2∑(y-(b+wx))²
(y为真实的数据)
那么对于一维的lost函数,只是在平面上的一条曲线;而对于二维的lost函数,则是在空间上的一个曲面。但是(现在只考虑 local minimum 就是 global minimum 的情况)经过梯度下降后,一维的点会落在曲线最底部,也就是变化率(导数)为0的点,而二维的点会落在曲面的最底部,又一维的曲线必在二维的曲面内,所以二维函数最终的点对应的lost是小于等于一维的。可以看出,维数越大,模型越复杂,lost 值就越小,从而与 training data 就显得更加吻合。
至于为何复杂的模型与test data 的差距不会一直减小,而是可能过拟合呢?那是因为越复杂的模型越容易收到data的影响。比如y=c,最简单的模型,完全不受data的影响。
Bias and Variance
bias 在概率中表现为样本的均值与期望的差距,而variance表现为样本的方差。
在Linear Regression 中,我们通过N个实验,得到N条模型曲线,然后求得这N条模型曲线的一条平均曲线,这条曲线与真实曲线的差距称为Bias。而将 每一条曲线与 平均曲线的 分散程度称为variance。可以通过打靶的例子形象地理解:
high bias,high variance :瞄不准,手还抖。
high bias,low variance: 瞄不准,手稳。
low bias,high variance : 瞄的准,手还抖。
low bias,low variance : 秒得准,手稳。
根本不靠谱的模型:high bias, high variance;
简单模型:high bias ,low variance;
复杂模型 : low bias,low variance;
过复杂模型(出现了过拟合):low bias, high variance;
Regularization
Regularization 是指 在lost function 后加一项 部分参数平方的和 再乘以一个 自定义的 λ。这样的话可以使得到的模型曲线更加平滑,我们通常认为更加平滑的曲线会更好地贴近真实曲线。为什么这样会使得曲线更加平滑呢?因为这样一来,求得的参数会比较小,参数更小意味着曲线更加平滑,但是这样的话,lost函数会不如以前精确,因为在求参数的偏微分时,还要考虑Regression 的那一项。