本文介绍一下机器学习中的线性回归问题,线性回归问题是机器学习中常见的问题之一,相比较之后的其他算法,也是一种比较容易理解的算法。
一、Linear Regression
说到线性回归,自然要从其中的“回归”说起,回归应该算是一个统计学属于,其在某百科中定义如下:
回归,研究一个随机变量Y对另一个(X)或一组(X1,X2,…,Xk)变量的相依关系的统计分析方法。
这个应该不难理解,就是给定一个样本集合,然后用一条曲线去拟合它们,得到这条曲线后,我们就可以用曲线来预测样本集合外的其他数据属性了。至于线性回归是回归中特殊的一种,即其所谓的”相依关系”为线性关系,用图像表示就是一条直线。不理解的可以看图一。
线性回归是一种监督式学习(supervised learning)方法,所谓的监督式学习方法就是通过一组已有的样本训练出一个数学模型,然后将该模型用于预测或者分类。在后面的学习过程中还有一类叫做非监督式学习的方法,敬请期待。
要求误差平方的总合为最小,做为决定理想的线性方程式的准则这样的方法就称为最小平方误差(least squares error)或是线性回归。
上面是线性回归比较具体的定义,不知道突然出现的“误差平方总和”会不会让大家疑惑,这里必须解释一下,看图一的那条红线,若是稍微向顺(逆)时针方向旋转一点,它仍然是一条拟合的直线,但到底哪条直线好呢?哪条直线更能反应实际情况呢?我们用肉眼是很难分辨的,但我们很容易的可以认为所有样本点到直线的距离总和最小的那条直线必定是最佳的那条直线,这个距离的总和就是误差平方和,它有一个名字叫损失函数(Cost Function)。
损失函数越小就说明拟合的效果越好,一般我们将损失函数定义为: