最小二乘(Least Squares)
2016-03-26 22:22
405 查看
已经很久没有写博客了,今天决定写一篇关于最小二乘的博客,发表下自己的理解,有不足或错误之处,欢迎大家指正。
最小二乘,又被叫做最小乘方or最小平方,它是一种优化技术。当给你一堆数据点,你可以想象成初中数学课堂上学习解析几何的时候,在坐标轴上给出一些点(通常这些点连起来是一条直线),然后要求算出这条直线的解析式(也就是拟合这些数据点),或计算斜率(可以理解成回归系数),然后要你算出当x等于多少时y的值之类的。我们在利用坐标轴上的点进行计算解析式的时候,其实就是找到最佳斜率(回归系数)来对这些数据点进行拟合了。
现在回到最小二乘上来,最小二乘,就是用来找到最佳的回归系数的方法。在过去的30年中,线性模型一直是统计学的主要支柱,并且现在仍然是最重要的工具之一。给定一个输入向量X=(X 1 ,X 2 ,⋯,X p ) X=(X_1, X_2,\cdots,X_p) ,可以通过下面的模型来预测输出Y Y : Y ^ =β ^ 0 +∑ j=1 p X j β ^ j \hat Y = \hat \beta_0 + \sum_{j = 1}^p X_j\hat \beta_j 项β ^ 0 \hat \beta_0 是截距,在机器学习中也称偏置(bias)。通常我们将X 0 X_0 设为 1,与偏置相乘,这样,上面向量形式的线性模型可以写成内积的形式:Y ^ =X T β ^ \hat Y = X^T\hat \beta 可以发现,上面的公式中Y Y和β \beta 上面有个尖尖的帽子样的符号,这表示一个最佳估计,与真实的Y Y 和β \beta 区分开。
现在我们需要找到这样的最佳β \beta 来对Y Y 进行预测,我们要找到使误差和,也就是∑ N i=1 (y i −x T i β) \sum_{i = 1}^N(y_i - x_i^T\beta) 最小的β \beta ,如果将各个误差累加的话,正负误差会抵消,那就起不到效果,找不到最佳回归系数,所以将每个误差值先平方,再求和,这样就不存在误差抵消的情况,这就叫做最小二乘:RSS(β)=∑ i=1 N (y i −x T i β) 2 RSS(\beta) = \sum_{i=1}^N(y_i - x_i^T\beta)^2 很容易发现这是一个关于β \beta 的二次函数,所以极小值总是存在,但可能不唯一,我们把上式写成矩阵的形式:RSS(β)=(y−Xβ) T (y−Xβ) RSS(\beta) = (y - X\beta)^T(y - X\beta) 现在来回顾下高中的知识,当要求二次函数的极值时,我们的做法通常是对其求导,令其等于0(因为导数为0的点,其切线的斜率为0,而这样的点就是极值点),这样就能求的极值点,现在我们对上式中的β \beta 求微分(用用高等数学术语吧:)), 因为我们要求的最小的β \beta 来最小化误差,这样我们得到了标准方程:X T (y−Xβ)=0 X^T(y - X\beta) = 0 如果X T X X^TX 是非奇异的,也就是它们是满秩矩阵,其行列式不等于0(参考大学课程线性代数)。那么我们可以得到β \beta 的一个最佳估计:β ^ =(X T X) −1 y \hat \beta = (X^TX)^{-1}y 这样,我们就计算出了回归系数(可以理解为一次函数的斜率)了, 有了回归系数,我们就确定了预测Y Y 的方程Y ^ =X T β ^ \hat Y = X^T \hat \beta ,这个方程叫做回归方程,而使用最小二乘计算回归系数的过程就叫做回归。
最小二乘,又被叫做最小乘方or最小平方,它是一种优化技术。当给你一堆数据点,你可以想象成初中数学课堂上学习解析几何的时候,在坐标轴上给出一些点(通常这些点连起来是一条直线),然后要求算出这条直线的解析式(也就是拟合这些数据点),或计算斜率(可以理解成回归系数),然后要你算出当x等于多少时y的值之类的。我们在利用坐标轴上的点进行计算解析式的时候,其实就是找到最佳斜率(回归系数)来对这些数据点进行拟合了。
现在回到最小二乘上来,最小二乘,就是用来找到最佳的回归系数的方法。在过去的30年中,线性模型一直是统计学的主要支柱,并且现在仍然是最重要的工具之一。给定一个输入向量X=(X 1 ,X 2 ,⋯,X p ) X=(X_1, X_2,\cdots,X_p) ,可以通过下面的模型来预测输出Y Y : Y ^ =β ^ 0 +∑ j=1 p X j β ^ j \hat Y = \hat \beta_0 + \sum_{j = 1}^p X_j\hat \beta_j 项β ^ 0 \hat \beta_0 是截距,在机器学习中也称偏置(bias)。通常我们将X 0 X_0 设为 1,与偏置相乘,这样,上面向量形式的线性模型可以写成内积的形式:Y ^ =X T β ^ \hat Y = X^T\hat \beta 可以发现,上面的公式中Y Y和β \beta 上面有个尖尖的帽子样的符号,这表示一个最佳估计,与真实的Y Y 和β \beta 区分开。
现在我们需要找到这样的最佳β \beta 来对Y Y 进行预测,我们要找到使误差和,也就是∑ N i=1 (y i −x T i β) \sum_{i = 1}^N(y_i - x_i^T\beta) 最小的β \beta ,如果将各个误差累加的话,正负误差会抵消,那就起不到效果,找不到最佳回归系数,所以将每个误差值先平方,再求和,这样就不存在误差抵消的情况,这就叫做最小二乘:RSS(β)=∑ i=1 N (y i −x T i β) 2 RSS(\beta) = \sum_{i=1}^N(y_i - x_i^T\beta)^2 很容易发现这是一个关于β \beta 的二次函数,所以极小值总是存在,但可能不唯一,我们把上式写成矩阵的形式:RSS(β)=(y−Xβ) T (y−Xβ) RSS(\beta) = (y - X\beta)^T(y - X\beta) 现在来回顾下高中的知识,当要求二次函数的极值时,我们的做法通常是对其求导,令其等于0(因为导数为0的点,其切线的斜率为0,而这样的点就是极值点),这样就能求的极值点,现在我们对上式中的β \beta 求微分(用用高等数学术语吧:)), 因为我们要求的最小的β \beta 来最小化误差,这样我们得到了标准方程:X T (y−Xβ)=0 X^T(y - X\beta) = 0 如果X T X X^TX 是非奇异的,也就是它们是满秩矩阵,其行列式不等于0(参考大学课程线性代数)。那么我们可以得到β \beta 的一个最佳估计:β ^ =(X T X) −1 y \hat \beta = (X^TX)^{-1}y 这样,我们就计算出了回归系数(可以理解为一次函数的斜率)了, 有了回归系数,我们就确定了预测Y Y 的方程Y ^ =X T β ^ \hat Y = X^T \hat \beta ,这个方程叫做回归方程,而使用最小二乘计算回归系数的过程就叫做回归。
相关文章推荐
- iOS开发常用网址(最全)
- python判断文件的类型
- java中的左右移
- 关于c++数组传递和向量容器传递的一些问题。
- 水题hdoj-2000、hdoj-2002、hdoj-2003、hdoj-2004
- git使用常见错误及修复
- C# - 时间格式
- HDU5651 xiaoxin juju needs help 组合
- 不安全感 人无癖不可与交 人生不是一场马拉松 [20160326]
- C语言笔记(一)
- java中的nextLine
- Cannot instantiate the type
- LINQ中的一些查询语句格式
- 在mac下搭建Apache服务器
- eclipse+安卓开发环境搭建
- hadoop生态系统学习之路(二)如何编写MR以及运行测试
- PE 530
- Nginx+PHP+mysql
- error RC2108: expected numerical dialog constant
- Android View的几个位置坐标关系