机器学习01-线性回归

概率问题有两大学派,一个是频率派,另一个是贝叶斯派。

频率派的是统计机器学习方法,本质是优化问题,流程可以简化为1.设计模型 2.定义loss function 3.使用算法求解优化问题(例如梯度下降法)。

而贝叶斯学派的机器学习,本质是积分问题(可用Monte Carlo Method求解),概率图模型。


线性回归

首先来讲频率派统计机器学习方法的基础,线性回归。

假设数据集 D = \{{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)}\}x_i是列向量,维度为p, 定义X = (x_1 x_2 ... x_n)^T

首先从大家耳熟能详的最小二乘法出发,定义损失函数MSEL(w) = \sum_{i=1}^n||w^Tx_i-y_i||^2 = (w^TX^T-Y^T)(Xw-Y) = w^TX^TXw - 2w^TX^TY+Y^TY

求解\hat w = argminL(w)

\frac{\partial L(w)}{\partial w} = 2X^TXw-2X^TY = 0

w = (X^TX)^{-1}X^TY

这里可能会有求逆不存在的问题,这个我们稍后再讨论。另外可以用梯度下降法求解这个最优化问题,这边先不涉及。


现在我们换一个角度看问题,从概率的角度看,假设 \varepsilon  \sim N(0,\sigma^2)y = f(w) + \epsilon

所以 y|x;w \sim N(w^Tx,\sigma^2)

极大似然估计MLE: L(w) = logP(Y|X;w) = log\prod_{i=1}^n P(y_i|x_i;w)=\sum_{i=1}^nlog P(y_i|x_i;w)

= \sum_{i=1}^n(log\frac{1}{\sqrt{2\pi}\sigma} + logexp(-\frac{(y_i -w^Tx_i)^2}{2\sigma ^2}) ) = \sum_{i=1}^n(log\frac{1}{\sqrt{2\pi}\sigma} - \frac{1}{2\sigma^2}(y_i - w^Tx_i)^2)

第一项是定值, 所以 \hat w = argmaxL(w) = argmax\sum_{i=1}^n -\frac{1}{2\sigma^2}(y_i - w^Tx_i)^2 = argmin\sum_{i=1}^n(y_i - w^Tx_i)^2

可以发现最小二乘法等价于噪音为高斯分布的极大似然估计。


实际使用时候,如果样本容量没有远远大于样本的特征维度,很可能造成过拟合,另外我们之前留了个坑,就是求逆不一定存在。

针对过拟合,有几种选择的方式,

(1)增加数据,数据量越多肯定可以学到更好的模型,但有时候这个并不容易实现

(2)降维,把特征维度降下来,例如特征选择或者特征提取, 这一部分内容以后再涉及

(3)加入正则化。这是我们目前主要要讨论的内容

正则化,就是给模型的参数加入惩罚,一定程度可以起到降低模型复杂度的作用。这个时候,损失函数变成了 L(w) + \lambda * penalty(w)

正则化常用的是

L1:J(w)  = L(w) + \lambda ||w||

L2:J(w)  = L(w) + \lambda ||w||^2

我们拿L2为例,损失函数可以写成J(w)  = L(w) + \lambda w^Tw = w^TX^TXw - 2w^TX^TY+Y^TY + \lambda w^Tw

= w^T(X^TX +\lambda I)w - 2w^TX^TY +Y^TY

\hat w = argminJ(w)

\frac{\partial J(w)}{\partial w} = 2(X^TX + \lambda I)w - 2X^TY = 0

w = (X^TX + \lambda I)^{-1}X^TY

由于X^TX是一个半正定矩阵, \lambda I是对角矩阵, 可以发现括号内的矩阵一定可逆了。


同理,我们从概率的角度来看这个问题, 同样假设\varepsilon  \sim N(0,\sigma^2), y|x;w \sim N(w^Tx,\sigma^2)

这时候,我们再给w一个先验, w \sim N(0,\sigma_0^2)

所以 p(y|w) = \frac{1}{\sqrt{2\pi}\sigma}exp(\frac{-(y-w^Tx)^2}{2\sigma^2})p(w) = \frac{1}{\sqrt{2\pi}\sigma_0}exp(\frac{-||w||^2}{2\sigma_0^2})

由贝叶斯公式,可以推出p(w|y) = \frac{p(y|w)p(w)}{p(y)}

现在我们的目标是最大后验概率MAP,\hat w = argmaxlog[p(y|w)p(w)] = argmax(\sum_{i=1}^n-\frac{(y_i-w^Tx_i)^2}{2\sigma^2} - \frac{||w||^2}{2\sigma_0^2})

= argmin(\sum_{i=1}^n\frac{(y_i-w^Tx_i)^2}{2\sigma^2} +\frac{||w||^2}{2\sigma_0^2})  = argmin(\sum_{i=1}^n(y_i-w^Tx_i)^2 +\frac{\sigma^2}{\sigma_0^2}||w||^2)

可以发现第一项就是 loss function, 第二项 \frac{\sigma^2}{\sigma_0^2} 就是 \lambda, 也就是正则化系数。

所以我们又可以得出结论, 加入正则化的最小二乘法,等价于噪音为高斯,先验概率也是高斯的最大后验估计。


最后做一个总结,

最小二乘法等价于噪音为高斯分布的极大似然估计。

加入正则化的最小二乘法,等价于噪音为高斯,先验概率也是高斯的最大后验估计。

下一节开始,会开始涉及分类问题, 会发现最基本的线性回归模型其实是很多模型的基础。

转发请注明,谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容