机器学习最小二乘法

Posted 李呆呆的学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习最小二乘法相关的知识,希望对你有一定的参考价值。

、简介

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。

二、生活中的例子

现在我有5把尺子,分别用它们来测量一段线段的长度,得到的测量值分别为(不同颜色代表不同尺子):

尺子

长度

10.2

10.3

9.8

9.9

绿

9.8

为什么测量值会不一样:

  • 不同厂家生产的尺子的精度不同

  • 尺子的材质不同,热胀冷缩的程度不一样

  • 测量的人造成的测量误差

  • ……

总之,就是有误差存在,误差是不可避免的。

 

得到了5把尺子测量的值,那个这段线段的长度到底要标多长呢?

通常我们的做法是计算五次测量值的算术平均数,作为这段线段的长度。即:

思考:虽然大家都是这么做,但是这么做有没有问题?

 

转换最小二乘法的思路思考上述问题:

  • 首先,将五把尺子的测量值画到坐标系中,分别标为yi

机器学习(三)、最小二乘法

  • 其次,猜测这段线段的真实长度为y,并在坐标轴中用虚线标出来:

机器学习(三)、最小二乘法

  • 每个点都向y做垂线,垂线的长度就是|y-yi|,也可以理解成是测量值和真实值之间的误差(误差是随机的,概率分布符合正态分布):

机器学习(三)、最小二乘法

由于|y-yi|要计算绝对值,比较麻烦,所以最小二乘中直接将y-yi取平方来代表误差:

|y-yi|à(y-yi)2

  • 最小二乘法就是想要寻找一个使误差平方和最小的y值,这个y值就近似成真实的y值。

误差平方和:=(y-yi)2

因为y是猜测的,所以这个y是不断变化的:

机器学习(三)、最小二乘法

由于y在不断变化,那么也在不断变化。

最小二乘法的思想就是,当误差平方和达到最小时,那个y值就近似为真实的y值。

 

所以,我们就是要求的最小值,即求极值的问题(函数在极值点时,导数为0

接下来进行计算:

机器学习(三)、最小二乘法

即:

机器学习(三)、最小二乘法

正好是算术平均数。


、一元线性模型

例子:

数据:温度和冰淇淋的销量

温度

销量

25

110

27

115

31

155

33

160

35

180

目的:得出一个能使上述数据大体适合的经验公式。

  • 首先将温度和冰淇淋销量对应数值在坐标系上表示出来:

机器学习(三)、最小二乘法


  • 从上图可以看出两者的关系类似线性关系,因此假设这种线性关系为:

f(x)=ax+b

根据最小二乘法的思想,误差平方和:

机器学习(三)、最小二乘法

ab是未知数,当ab取不同的值时,误差平方和不同。最适合的经验公式是当误差平方和最小时ab对应的函数。

因此计算如下:

分别对ab求导:

机器学习(三)、最小二乘法

联立上述两式得到a=7.2 b=-73,即f(x)=7.2x-73是最能体现温度和冰淇淋销量的关系。

多元线性模型

数据:

温度

湿度

销量

25

10.3

110

27

20.3

115

31

15.6

155

33

21.9

160

35

10.8

180

 

上述的一元模型中只有一个变量x(温度),假如影响冰淇淋销量的因素还有很多比如:x1(温度),x2(天气),x3(湿度)……xn,那么线性函数就可以用如下函数表示:

y=β0+β1x1+β2x2+β3x3+β4x4……+βnxn

对于观测到的m个销售量(样本量m≥变量数n)来说,就可以用如下线性方程组表示:

y1=β0+β1x11+β2x12+β3x13+β4x14……+βnx1n

y2=β0+β1x21+β2x22+β3x23+β4x24……+βnx2n

……

ym=β0+β1xm1+β2xm2+β3xm3+β4xm4……+βnxmn

如果将样本矩阵xij记为矩阵A,将参数矩阵记为向量β,真实值记为向量Y,上述的线性方程组就可以表示为:

即:Aβ=Y

根据最小二乘的思想,要使误差平方和最小,最终的矩阵表达式为:

经过求导最终得到β=(ATA)-1ATY,它是一个全局最优解。


以上是关于机器学习最小二乘法的主要内容,如果未能解决你的问题,请参考以下文章

机器学习最小二乘法

机器学习:Python中如何使用最小二乘法

机器学习白板,最小二乘法,线性回归,矩阵表达

机器学习之用Python实现最小二乘法预测房价,进行额度预测

梦开始的地方,从最小二乘法开始学机器学习

梦开始的地方,从最小二乘法开始学机器学习