最小二乘法(LS 算法)是统计分析中最常用的逼近计算的一种算法,其交替计算结果使得最终结果尽可能地逼近真实结果。

LS 算法是一种数学优化技术,也是一种机器学习常用算法。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和最小。最小二乘法还可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

若干个点依次分布在向量空间中,如果希望找出一条直线和这些点达到最佳匹配,那么最简单的一个方法就是希望这些点到直线的值最小,即下面最小二乘法实现公式最小:

f(x)=ax+b
<script type="math/tex; mode=display" id="MathJax-Element-1488">f(x)=ax+b</script>
δ=(f(xi)yi)2
<script type="math/tex; mode=display" id="MathJax-Element-1489">\delta=\sum (f(x_i)-y_i)^2</script>
这里直接应用的是真实值与计算值之间的差的平方和,具体而言,这种差值有个专门的名称为“残差(真实值与计算值之间的差)”。基于此,表达残差的方式有以下三种:
  • 范数:残差绝对值的最大值 max|ri|,(1m)<script type="math/tex" id="MathJax-Element-1490">max|r_i|,(1\leq m)</script>,即所有数据点中残差距离的最大值。
  • L1-范数:绝对残差和 mi|ri|<script type="math/tex" id="MathJax-Element-1491">\sum_i^m|r_i|</script>,即所有数据点残差距离之和。
  • L2-范数:残差平方和 mir2i<script type="math/tex" id="MathJax-Element-1492">\sum_i^mr_i^2</script>。

也可以看到,所谓的最小二乘法也就是L2范数的一个具体应用。通俗地说,就是看模型计算的结果与真实值之间的相似性。
因此,最小二乘法的定义可由如下公式定义:
对于给定的数据xi,yi(i=1,,m)<script type="math/tex" id="MathJax-Element-1493">(x_i,y_i)(i=1,\ldots,m)</script>,在确定的假设空间 H<script type="math/tex" id="MathJax-Element-1494">H</script> 中,求解 f(x)H<script type="math/tex" id="MathJax-Element-1495">f(x)\in H</script>,使得残差 δ=(f(xi)yi)2<script type="math/tex" id="MathJax-Element-1496">\delta=\sum (f(x_i)-y_i)^2</script> 的 2-范数最小。

关于最小二乘法的求解,其实就是权重参数的确定,这是一个求极值的问题,通过微积分相关知识可以求出极值点,此处不再赘述。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐