最小二乘法小结
来源:互联网 发布:淘宝暗黑3代练 编辑:程序博客网 时间:2024/06/05 21:04
最小二乘法是用来做函数拟合或者求函数极值的方法。在机器学习,尤其是回归模型中,经常可以看到最小二乘法的身影,这里就对我对最小二乘法的认知做一个小结。
1.最小二乘法的原理与要解决的问题
最小二乘法是由勒让德在19世纪发现的,原理的一般形式很简单,当然发现的过程是非常艰难的。形式如下式:
目标函数 = Σ(观测值-理论值)2
观测值就是我们的多组样本,理论值就是我们的假设拟合函数。目标函数也就是在机器学习中常说的损失函数,我们的目标是得到使目标函数最小化时候的拟合函数的模型。举一个最简单的线性回归的简单例子,比如我们有m个只有一个特征的样本:
样本采用下面的拟合函数:
这样我们的样本有一个特征x,对应的拟合函数有两个参数
我们的目标函数为:
用最小二乘法做什么呢,使
那么,最小二乘法怎么才能使
2.最小二乘法的代数法解法
上面提到要使
①和②组成一个二元一次方程组,容易求出
这个方法很容易推广到多个样本特征的线性拟合。
拟合函数表示为
损失函数表示为:
利用损失函数分别对
这样我们得到一个N+1元一次方程组,这个方程组有N+1个方程,求解这个方程,就可以得到所有的N+1个未知的
这个方法很容易推广到多个样本特征的非线性拟合。原理和上面的一样,都是用损失函数对各个参数求导取0,然后求解方程组得到参数值。这里就不累述了。
3.最小二乘法的矩阵法解法
矩阵法比代数法要简洁,且矩阵运算可以取代循环,所以现在很多书和机器学习库都是用的矩阵法来做最小二乘法。
这里用上面的多元线性回归例子来描述矩阵法解法。
假设函数
其中, 假设函数
损失函数定义为
其中
根据最小二乘法的原理,我们要对这个损失函数对
这里面用到了矩阵求导链式法则,和两个矩阵求导的公式。
公式1:
公式2:
对上述求导等式整理后可得:
两边同时左乘
这样我们就一下子求出了
4.最小二乘法的局限性和适用场景
从上面可以看出,最小二乘法适用简洁高效,比梯度下降这样的迭代法似乎方便很多。但是这里我们就聊聊最小二乘法的局限性。
首先,最小二乘法需要计算
第二,当样本特征n非常的大的时候,计算
第三,如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用,此时梯度下降仍然可以用。
第四,讲一些特殊情况。当样本量m很少,小于特征数n的时候,这时拟合方程是欠定的,常用的优化方法都无法去拟合数据。当样本量m等于特征说n的时候,用方程组求解就可以了。当m大于n时,拟合方程是超定的,也就是我们常用与最小二乘法的场景了。
原文地址:http://www.cnblogs.com/pinard/p/5976811.html
(欢迎转载,转载请注明出处。欢迎沟通交流: pinard.liu@ericsson.com)
- 最小二乘法小结
- 最小二乘法小结
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- 最小二乘法
- UVa 10891(记忆化搜索,递推)Game of Sum
- 机器学习中的判别式模型及生成式模型
- hdu-1421 搬寝室
- 把基于web.xml的应用迁移到Spring Boot
- MySql 学习之索引详解
- 最小二乘法小结
- poj3304—Segments
- IO多路转接之epoll
- CSS3变换、过渡、动画效果
- Javascript实现时间倒计时
- 在dataframe两列日期相减并且得到具体的月数
- 配置caffe遇到的问题与解决方案
- iOS MPMoviePlayerController(视频播放器)~demo
- SPOJ 3267 [主席树]