本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com
最小二乘法是基本的线性求解问题之一,
本文介绍最小二乘法的原始问题,一般表述和求解公式的推导
最后,不严谨地提及一下多输出场景的处理
本节描述最小二乘问题的背景问题和它的求解公式,公式的推导放在本文第3节
最小二乘原始问题
背景问题
已采集 x 和 y 的m个样本
![]()
用m*n矩阵X表示 x 的m个样本,用m维列向量 Y 表示 y 的m个样本
X的第i行xi代表第i个样本的x, Y的第i行yi代表第i个样本的y
-----------------------------------------------------------
假设用来预测 y ,
则所有样本的预测误差平方和为
现在我们要求解使E最小的w
纯粹的数学问题
上述问题整理成一个更纯粹的数学问题,就是
现有X,Y,求一w,
使 最小
该问题称为最小二乘问题
最小二乘问题的求解公式
上述最小二乘问题的求解公式为:
本节描述最小二乘问题数学通用表述,这个表述更为常见通用
最小二乘法通用表述
上面的X,Y是我们采集到的数据,w是我们要求的解
事实上,更多时候我们喜欢用以下形式来描述该问题
问题表述
已知A,b,
其中A为m*n矩阵,b为1*m的列向量
求一 使与的误差平方和最小:
备注:该问题也可以理解为,求一 x 使 Ax 最佳迫近b
求解公式
对应的求解公式如下
本节讲述微分法推导最小二乘公式的过程
求解公式推导思路
这里我们使用最小二乘问题的通用表述进行推导
即求一令最小
推导思路很简单,
假设 ,
要使 最小,
只要令 分别对 的偏导为 0,
即有
求解上面的方程组即可求得令 最小的解
公式推导过程
误差函数为:
求误差函数对x的偏导
先求单个x分量的偏导
则对x的总偏导为:
令偏导为0,联立解得x
令偏导为0,则可求得:
即有上述求解公式:
多输出和单输出是同一个问题,本来是不想写的,
可是经常有人疑问,这里不严谨的表述一下
多输出时的求解公式
最小二乘法,当输出也是多维变量时,
b不再是向量,而是矩阵B,这时求解公式不变,为
推导思路
可以把 的每列当成一个独立的最小二乘问题,
则有 ,
这里的和都是列向量。
将B的每列求得的组合后即可得到整体的解,即
整合成公式,即有
✍️老饼碎言碎语
最小二乘多输出和单输出实际是同一个问题,也因此很少会有人去讨论,
某些在多输出上转不过弯的同学,搜都搜不到资料,极度尴尬,故在此一提
End