最小二乘的前世今生

致敬大神:

最小二乘的本质:https://www.zhihu.com/question/37031188

                             https://www.matongxue.com/madocs/818.html

最小二乘:https://blog.csdn.net/bitcarmanlee/article/details/51589143

各种解法:https://www.cnblogs.com/pinard/p/5976811.html

1 为什么使用最小二乘?

使用差的平方和最小勒?用差的绝对值不行么?

1)原理上:差平方符合最大似然估计 

我们假设直线对于坐标 Xi 给出的预测 f(Xi) 是最靠谱的预测,所有纵坐标偏离 f(Xi) 的那些数据点都含有噪音,是噪音使得它们偏离了完美的一条直线,一个合理的假设就是偏离路线越远的概率越小,具体小多少,可以用一个正态分布曲线来模拟,这个分布曲线以直线对 Xi 给出的预测 f(Xi) 为中心,实际纵坐标为 Yi 的点 (Xi, Yi) 发生的概率就正比于 EXP[-(ΔYi)^2]。(EXP(..) 代表以常数 e 为底的多少次方)。 
所以我们在前面的两点里提到,假设误差的分布要为一个正态分布,原因就在这里了。 

2)计算上:数学处理方便

另外说一点我自己的理解:从数学处理的角度来说,绝对值的数学处理过程,比平方和的处理要复杂很多。搞过机器学习的同学都知道,L1正则就是绝对值的方式,而L2正则是平方和的形式。L1能产生稀疏的特征,这对大规模的机器学习灰常灰常重要。但是L1的求解过程,实在是太过蛋疼。所以即使L1能产生稀疏特征,不到万不得已,我们也还是宁可用L2正则,因为L2正则计算起来方便得多。。。
 

2 线性方程与克莱姆法则

齐次线性方程组

当常数项全为零时,线性方程组⑵称为齐次线性方程组,即:

线性方程组(2)的矩阵形式为

 

系数构成的行列式称为该方程组的系数行列式D,即

 

 

非齐次线性方程组

当其右端的常数项b1,b2,...,bn不全为零时,线性方程组⑴称为非齐次线性方程组

写作:

其中:

  

A是线性方程组的系数矩阵

X是由未知数组成的列向量 

 是由常数项组成的列向量。【注:这里的 与下面的 0-m没有关系】

 

非齐次线性方程组表达式转为齐次:

即Aβ=Y

 

3 最小二乘的表达式

对于最小二乘来说,最终的矩阵表达形式可以表示为:

最后的最优解为:

 

4.局限性和适用场景

经典的最小二乘法使用起来够简单粗暴,计算过程也不复杂。比梯度下降这样的迭代法似乎方便很多。这里聊聊最小二乘法的局限性和适用性。

  1)一个致命的问题就是其对噪声的容忍度很低。 对于噪声的处理,比如有加权最小二乘等方法。

       2)最小二乘法需要计算XTXXTX的逆矩阵,有可能它的逆矩阵不存在,这样就没有办法直接用最小二乘法了,此时梯度下降法仍然可以使用。当然,我们可以通过对样本数据进行整理,去掉冗余特征。让XTXXTX的行列式不为0,然后继续使用最小二乘法。

  3)当样本特征n非常的大的时候,计算XTXXTX的逆矩阵是一个非常耗时的工作(nxn的矩阵求逆),甚至不可行。此时以梯度下降为代表的迭代法仍然可以使用。那这个n到底多大就不适合最小二乘法呢?如果你没有很多的分布式大数据计算资源,建议超过10000个特征就用迭代法吧。或者通过主成分分析降低特征的维度后再用最小二乘法。

  4)如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用,此时梯度下降仍然可以用。

  5)讲一些特殊情况。当样本量m很少,小于特征数n的时候,这时拟合方程是欠定的,常用的优化方法都无法去拟合数据。当样本量m等于特征数n的时候,用方程组求解就可以了。当m大于n时,拟合方程是超定的,也就是我们常用与最小二乘法的场景了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值