一、解决什么问题

我们现在有一堆样本【机器学习】【数学推导】最小二乘法(线性),在图象上的位置如下图黑点:

【机器学习】【数学推导】最小二乘法(线性)

最小二乘法要做的事情,就是拟合出来一条直线(也可以是曲线,但是本篇只说直线的情况),使得所有点的均方差最小,以便用于未知数据情况的猜测

二、如何拟合

因为本篇只讨论线性的,所以直线可以用下记的表达式进行表示:

【机器学习】【数学推导】最小二乘法(线性)

其中:

【机器学习】【数学推导】最小二乘法(线性)

正常情况下,函数表达式有一个常量b,但是为了简写,这里把b融合到了【机器学习】【数学推导】最小二乘法(线性)中,并令【机器学习】【数学推导】最小二乘法(线性)

这样【机器学习】【数学推导】最小二乘法(线性)实际上就是一个常量b了

在样本中,我们知道每个样本的真值【机器学习】【数学推导】最小二乘法(线性),所以我们的均方差表达式为:

【机器学习】【数学推导】最小二乘法(线性)

接下来只需要求得【机器学习】【数学推导】最小二乘法(线性),就可以获得原函数表达式了,推导过程如下:

首先将均方差公式展开为向量表达形式:

【机器学习】【数学推导】最小二乘法(线性)

其中相乘的两个矩阵互为转置矩阵,先对左边的矩阵进行转换:

【机器学习】【数学推导】最小二乘法(线性)

右边的式子是这个式子的转置,所以转换为:

【机器学习】【数学推导】最小二乘法(线性)

带入到原均方差公式中,并继续展开:

【机器学习】【数学推导】最小二乘法(线性)

不根据矩阵的性质,单纯从均方差的定义知道,【机器学习】【数学推导】最小二乘法(线性)最终一定是一个实数值,所以等式右边的每一项,也一定是一个数字

而其中第二项【机器学习】【数学推导】最小二乘法(线性)和第三项【机器学习】【数学推导】最小二乘法(线性)互为转置,实数的转置还是自己,所以第二项和第三项是相等的,所以继续简化为:

【机器学习】【数学推导】最小二乘法(线性)

对于凸优化问题,想要求得最小值,使得均方差最小,第一反应就是求带,接下来对w进行求导,并求导数为0的w值:

【机器学习】【数学推导】最小二乘法(线性)

其中,【机器学习】【数学推导】最小二乘法(线性)伪逆矩阵,或者叫广义逆矩阵

三、结论

拟合的曲线方程为:【机器学习】【数学推导】最小二乘法(线性),其中【机器学习】【数学推导】最小二乘法(线性)

 

相关文章: