【机器学习】最小二乘法的理解

最小二乘法

首先,需要明确的是最小二乘法(Least-square, LS)是一种优化技术(optimization technique),它是用于解决优化问题的,其中,能适用于最小二乘解决的优化问题被称作最小二乘问题(Least-squares problems)。除此之外,像线性规划、梯度下降算法、牛顿法和拟牛顿法、共轭梯度法、拉格朗日成数法以及一些启发式算法如PSO、遗传算法都属于解决优化问题的方法,所以最小二乘法只是作为其中的一种solution method,用于解决一类优化问题。

最小二乘问题

一个最小二乘问题通常是一个没有约束项的优化问题,它的表现形式通常是 a i T x − b i a_{i}^{T}x-b_{i} aiTxbi的平方和,其中 a i T x a_{i}^{T}x aiTx常对应与我们建立的机器学习模型的预测值或者估计值, b i b_{i} bi则对应真实值。将变量 x x x的系数 a i T a_{i}^{T} aiT作为矩阵 A ∈ R k × n A \in R^{k×n} ARk×n的行,这个优化问题的形式可以如下: m i n m i z e   f ( x ) = ∣ ∣ A x − b ∣ ∣ 2 2 = ∑ i = 1 k ( a i T x − b i ) 2 minmize \ f(x) = ||Ax - b||_{2}^{2}=\sum_{i=1}^{k}(a_{i}^{T}x-b_{i})^{2} minmize f(x)=Axb22=i=1k(aiTxbi)2上面的问题可以在时间复杂度 O ( k n 2 ) O(kn^{2}) O(kn2)内解决,但是通常情况下 x x x的系数矩阵 A A A具有一种稀疏的形式,也就意味着它具有比 n × k n×k n×k更少的非零值,所以我们通常解决这个问题时要比时间复杂度 O ( k n 2 ) O(kn^{2}) O(kn2)更低。

最小二乘的拓展

上面的最小二乘是一个简单的形式,所以也称之为普通最小二乘法(Ordinary Least-squares, OLS),为了考虑每一项 a i T x − b i a_{i}^{T}x - b_{i} aiTxbi在求和的过程中不同的作用时,接下来引入了加权最小二乘法(Weighted Least-squares, WLS),它的形式是: ∑ i = 1 k w i ( a i T x − b i ) 2 \sum_{i=1}^{k}w_{i}(a_{i}^{T}x - b_{i})^{2} i=1kwi(aiTxbi)2另外的一种应用最小二乘的技巧就是正则化,也就是在最小二乘的基础上加入了额外项,其中最简单的形式如下,也即是加入了 L 2 L2 L2正则项: ∑ i = 1 k ( a i T x − b i ) 2 + θ ∑ i = 1 n x i 2 \sum_{i=1}^{k}(a_{i}^{T}x - b_{i})^{2}+\theta \sum_{i=1}^{n}x_{i}^{2} i=1k(aiTxbi)2+θi=1nxi2额外项作为惩罚项,会惩罚较大的 x x x值。关于正则化的问题也可以参考我前面的写的博客:【机器学习】L1、L2正则化项的理解及其在机器学习中的应用
除此之外,均方误差(Mean Squares Errors,MSE)也是一种最小二乘的形式,它作为目标函数相当于等权的加权最小二乘。 M S E = 1 k ∑ i = 1 k ( a i T x − b i ) 2 MSE = \frac{1}{k}\sum_{i=1}^{k}(a_{i}^{T}x - b_{i})^{2} MSE=k1i=1k(aiTxbi)2

REF

最小均方误差和最小二乘有什么区别? - etern的回答 - 知乎
Convex Optimization by Stephen Boyd

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值