机器学习所针对的问题有两种:一种是回归,一种是分类。回归是解决连续数据的预测问题,而分类是解决离散数据的预测问题。线性回归是一个典型的回归问题。其实我们在中学时期就接触过,叫最小二乘法。
线性回归试图学得一个线性模型以尽可能准确地预测输出结果。
先从简单的模型看起:
首先,我们只考虑单组变量的情况,有:使得
假设有m个数据,我们希望通过x预测的结果f(x)来估计y。其中w和b都是线性回归模型的参数。
为了能更好地预测出结果,我们希望自己预测的结果f(x)与y的差值尽可能地小,所以我们可以写出代价函数(cost function)如下:
接着代入f(x)的公式可以得到:
不难看出,这里的代价函数表示的是预测值f(x)与实际值y之间的误差的平方。它对应了常用的欧几里得距离简称“欧氏距离”。基于均方误差最小化来求解模型的方法我们叫做“最小二乘法”。在线性回归中,最小二乘法实质上就是找到一条直线,使所有样本数据到该直线的欧式距离之和最小,即误差最小。
我们希望这个代价函数能有最小值,那么就分别对其求w和b的偏导,使其等于0,求解方程。
先求偏导,得到下面两个式子: