本站原创文章,转载请说明来自《老饼讲解-机器学习》www.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