Regression算法之通俗讲解
本篇内容较多,系统性介绍方法、算法。
Regression的意思是回归,回归和之前讲的分类都属于监督学习。与之前讲的分类机器学习方法不同,回归在于其目标变量是连续数值型。
回归的目的是预测数值型的目标值。最直接的办法是依据输入写出一个目标值的计算公式,就是所谓的回归方程。确定回归方程的回归系数的过程就是回归。一旦有了这些回归系数,再给定输入,做预测就非常容易了。具体做法就是将输入带入回归方程中,计算结果,就得到了预测值。
一、用线性回归找到最佳拟合直线
说到回归,一般指的是线性回归(linear regression),线性回归意味着可以将输入项分别乘以一些常量,再将结果加起来得到输出。需要说明的是,存在另一种称为非线性回归的回归模型,该模型的回归方程是非线性的。本节只讨论线性回归。
线性回归最主要的就是确定回归方程,也就是回归系数的确定。怎样从一大堆数据里求出回归方程呢?假定输入数据存放在矩阵X中,而回归系数存放在向量w中。那么对于给定的数据X1,预测结果将会通过给出。现在问题是,手里有一些X和对应的y,怎么才能找到w呢?一个常用的方法就是找出使误差最小的w。这里的误差是指预测y值和真实y值之间的差值,使用该误差的简单累加将使得正差值和负差值相互抵消,所以采用平方误差。
平方误差可以写做:
用矩阵表示还可以写做