最小二乘法简介
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。
上面的定义是摘自维基百科,在实际拟合应用中,而我个人直观的理解就是,最小二乘法是一个评价函数(标准),用来评价我们得到的拟合曲线是否是最好的。最小二乘法的函数表示为:
其中y_m表示我们拟合函数得到的拟合结果,y_i表示真实值。
为什么是这个函数
首先假设我们有这样的数据集:(→x_0,y_0),(→x_1,y_1),⋯(→x_m,y_m),→x是当前实例的一个特征向量,y是对应的输出,m是数据集的大小。拟合问题的目标通常是寻找到一个函数,能够很好的描述这些点的分布情况。最简单的情况就是一条直线,然而在实际应用要复杂得多,数据是高维的。
面对一个高维的拟合问题,我们通常假设一个参数向量→θ,则预测输出为:
拟合问题的目标就是寻找一个合适的θ值,使得上面的公式???到达最小。
那么为什么要选择这个函数而不是其他函数呢,为了回答这个问题,我们又要进行假设了,假设输入→x(i)和输出y(i)之间的真实关系是这样的:
其中ϵ(i)称为错误项(error term),表示当前实例所有没有被特征值表达出来的影响因素(也可以理解成噪音)。我们进一步假设ϵ(i)是独立同分布的,因此,根据中心极限定理,这个ϵ(i)应该满足标准的正态分布,即:
所以ϵ(i)的密度函数可以写成:
所以我们可以得到:
此处p(y(i)‖x(i);θ)表示在给定x(i)并且参数为θ的情况下,y(i)的分布情况1。 注意,此时θ不是一个随机变量,而应该看成一个固定的值(虽然此时我们并不知道θ具体是多少)。
用X表示所有数据组成的矩阵(x(i)是一个向量),用→y表示所有y(i)组成的向量,那么我们就可以得到似然函数:
为了最大程度的使拟合符合真实情况,我们尽可能的使L(θ)=p(→y‖X;θ)达到最大,也就是说在给定x(i)的情况下,使得y(i)的概率最大。
但是公式???太过复杂,不好处理,因此我们可以将求L(θ)的最大值转化为求logL(θ)的最大值2,所以:
最终,最大化L就可以转化成为最小化12∑mi=1(y(i)−θTx(i))2,这个公式是不是有点眼熟呢?就是上面最开始给出的最小二乘法(公式???)的函数形式!
总结
本文是根据斯坦福大学的Andrew Ng教授的《机器学习》的公开课整理而成的,首先从假设误差项符合正态分布3开始,一步一步推导,最终证明最小二乘法的有效性。最小二乘法是一个非常常见的数学优化技术,如果了解其存在的原因,对以后学习和使用都有很大的益处。 endmath
参考资料
- 斯坦福《机器学习》公开课第三集及其配套讲义
- 最小二乘法?为神马不是差的绝对值
- 维基百科:正态分布