02:机器学习实战:最小二乘法
最小二乘法推导
多元线性回归的写法
$$ y = w_1x_1+w_2x_2+...+w_dx_d+b $$
与数学中不同的是,在机器学习中,系数w
和截距b
是需要求得的未知数,而特征x
和标签y
则是已知的。
将上边的方程写成矩阵形式便是
$$ y = w^Tx+b $$
此时的,w和x都是矩阵,$w = w_1,w_2,...w_d^T$,$x = x_1,x_2,...x_d^T$
普通线性回归中的目标便是求的w和b两个参数,w其实是weight的简写,意为自变量的权重。
- 普通线性回归常用的损失函数(L)是SSE(误差平方和),即(真实值-预测值)的平方之和
$$L(\hat w) = \sum{i=1}^{m}\left(y{i}-\hat{y}{i}\right)^{2}=\sum{i=1}^{m}\left(y{i}-\boldsymbol{X}{i} \boldsymbol{w}\right)^{2}= ||y - X\hat w||_2^2 = (y - X\hat w)^T(y - X\hat w)$$
其中 $||y - X\hat w||_2^2$ 称为2范数,不过在这里暂时用不到。
可以看到,损失函数是关于参数w的函数。
目标是对损失函数求最小值,因此可以让其偏导数=0
如果只有一个特征那么可以在二维图中展示:
可以看到,模型使用一条直线拟合散点,损失函数就是真实值到预测值的欧式距离的和,求损失函数最小值即是使直线尽可能拟合到更多的点。
对w求偏导
$$\begin{aligned}
\frac{SSELoss(\hat w)}{\partial{\boldsymbol{\hat w}}}
&= \frac{\partial{||\boldsymbol{y} - \boldsymbol{X\hat w}||_2}^2}{\partial{\boldsymbol{\hat w}}}
\
&= \frac{\partial(\boldsymbol{y} - \boldsymbol{X\hat w})^T(\boldsymbol{y} - \boldsymbol{X\hat w})}{\partial{\boldsymbol{\hat w}}} \
& =\frac{\partial(\boldsymbol{y}^T - \boldsymbol{\hat w^T X^T})(\boldsymbol{y} - \boldsymbol{X\hat w})}{\partial{\boldsymbol{\hat w}}}\
&=\frac{\partial(\boldsymbol{y}^T\boldsymbol{y} - \boldsymbol{\hat w^T X^Ty}-\boldsymbol{y}^T\boldsymbol{X \hat w} +\boldsymbol{\hat w^TX^T}\boldsymbol{X\hat w})}{\partial{\boldsymbol{\hat w}}}\
& = 0 - \boldsymbol{X^Ty} - \boldsymbol{X^Ty}+X^TX\hat w+(X^TX)^T\hat w \
&= 0 - \boldsymbol{X^Ty} - \boldsymbol{X^Ty} + 2\boldsymbol{X^TX\hat w}\
&= 2(\boldsymbol{X^TX\hat w} - \boldsymbol{X^Ty}) = 0
\end{aligned}$$
得到 $X^TX\hat w = X^Ty$
要使得此式有解,等价于$X^TX$存在逆矩阵,即 $\hat w = (X^TX)^{-1}X^Ty$
$X$ 和$y$都已知,带入即可求的$w$矩阵,最终求的$b$。
所以使用最小二乘法是有条件的,其中一个便是$X^TX$存在逆矩阵,因此在机器学习中有更普适的求解损失函数最小值的方法比如梯度下降。
矩阵A存在逆矩阵的条件
- A满秩、A的行列式≠0、A存在逆矩阵 是等价的。
- 若A存在逆矩阵,A的性质:$A$ 和 $A^{-1}$ 是方阵(行列数相同);$AA^{-1}=E$ (E是单位矩阵)
- 类比倒数概念,a存在倒数的充要条件是 $a≠0$;类似的性质,$a*\frac{1}{a}=1$,
线性代数的一些概念:
初等行(列)变换包括
- 某一行(列),乘以一个非零倍数。
- 某一行(列),乘以一个非零倍数,加到另一行(列)。
- 某两行(列),互换。
阶梯型矩阵:所给矩阵为行阶梯型矩阵,则矩阵中每一行的第一个不为零的元素的左边及其所在列以下全为零。
矩阵的秩(rank):把矩阵经过初等行变换成阶梯型矩阵,非0行的个数即为其秩。
满秩:矩阵的秩=其行数,或者说阶梯型矩阵没有非0行,或者说其行列式≠0
求A的逆矩阵
A|E是在矩阵A的右边cbind一个单位矩阵(称为增广矩阵),这样A和E经过相同的经过初等行变换,当A变为单位矩阵时,右边的E也就变成了A的逆矩阵,这种方法叫做初等变换法,当然还有其他很多方法求逆矩阵。
$$A|E \rightarrow E|A^{-1}$$
与特征矩阵数据的关系
逆矩阵存在的充分必要条件是特征矩阵不存在多重共线性。
多重共线性:是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。
精确相关: 比如 $x_1 = 2x_2$
高度相关:比如 $x_1 \approx 2x_2$
模型估计失真或难以估计准确:比如下式,$x_1$和$x_2$是精确关系,那么下y就可以写成$y=2x_2$或$y=2x_1$,那么x和y的值就不能确定了,模型也就失效了。
$$y=x{1}+x{2}\x{1}=2 x{2}$$
因此,比如我们的两个基因表达量相关性过高,就会造成多重共线性,建模中解决多重共线性的方法是可以对损失函数加上惩罚项,比如拉索回归、岭回归和弹性网络。
参考:
https://baike.baidu.com/item/%E5%A4%9A%E9%87%8D%E5%85%B1%E7%BA%BF%E6%80%A7/10201978?fr=aladdin
https://www.bilibili.com/video/BV1UU4y1M73o?vd_source=d18945ce98e39afc8362968bf50c8dde
https://www.bilibili.com/video/BV1vJ41187hk?p=59&vd_source=d18945ce98e39afc8362968bf50c8dde
相关文章
- NCAR: 机器学习和气候模式的碰撞
- 日拱一卒,《机器学习实战》,机器学习不是万能的,会遇到哪些挑战?
- 【2022新书】药物开发中的数据科学、人工智能和机器学习
- 机器学习(二):有监督学习、无监督学习和半监督学习
- 10 种机器学习算法的要点(附 Python 和 R 代码)「建议收藏」
- 简单易学的机器学习算法——Mean Shift聚类算法
- WASM和机器学习
- 人工智能基础:机器学习常见的算法介绍
- 机器学习中最常见的四种分类模型
- 机器学习算法:随机森林
- 机器学习算法: AdaBoost 详解
- 站长'说'轶事:一个不小心踏入了机器学习阵营,真香!
- 机器学习_knn算法_1
- 机器学习算法竞赛实战-数据探索
- 【ICML2021】随机森林机器遗忘
- 开源进阶大咖课·第六讲|Angel - 腾讯开源机器学习框架
- 利用机器学习研究脑卒中早期皮质运动系统的结构-功能关系
- 【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战
- Spark入门实战系列–8.Spark MLlib(上)–机器学习及SparkMLlib简介详解大数据
- Akka(16): 持久化模式:PersistentFSM-可以自动修复的状态机器详解编程语言
- 小白不知从何入手认知机器学习?Shakir Mohamed 授你锦囊妙计
- 赋予机器手一层可感受温度的皮肤
- 重新restore了mysql到另一台机器上后mysql编码问题报错