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
相关文章
- 发现 Linux SpaceFM 文件管理器的威力
- 夯实数据智能底座 共筑数字经济发展“新基石”
- 五分钟教你使用console.log发布公司的招聘信息
- 微软发布 Windows 11 Beta 预览版 Build 22621.1250 和 22623.1250 (KB5023008)
- Windows 11 学院:在 Windows 11 Build 25290 上如何为文件管理器启用标签页拖拽支持
- 微软Windows 11 Dev 预览版 Build 25290 发布:带来新的开始菜单提醒角标
- 微软正用全屏通知提醒 Windows 10 用户免费升级 Windows 11,要点击 5 次才能退出
- Linux Mint 21.2 将于 6 月发布:改进登录屏幕,优化 Pix 图像管理程序等等
- 字节面试也会问SPI机制?
- 微软正式停售 Windows 10 产品密钥 / 许可证:继续提供 ISO 镜像下载,推荐用户升级 Windows 11
- 用复古电脑程序 Toy CPU 学习低级编程
- Windows 11 新功能泄露:现代音量合成器、实验工具和新的文件管理器
- 微软 Windows 11 文件资源管理器全新设计曝光:UI 迎来大修,整合 Microsoft 365
- 对比Pandas,学习PySpark大数据处理
- 微软宣布为Windows 11 21H2设备开启自动更新到22H2版本
- 互联网都在说降本增效,小红书技术团队是怎么做的?
- 微软将继续提供 Windows 10 ISO 镜像下载,即将停售产品密钥 / 许可证
- 微软宣布为Windows 11 21H2 设备开启自动更新到 22H2 版本
- 面试突击:Properties和Yml有什么区别?
- 微软 Windows 11 Beta 预览版 22621.1245 和 22623.1245 (KB5022358) 发布