简述

线性回归,顾名思义,是用一条直线来拟合数据的分布情况。当然啦,前面说过回归方法用于解决连续性的问题,直线所拟合的也必然是一个连续函数。

下面从单特征变量入手,再推广到多特征变量,具体说明一下回归函数及其代价函数的定义和解释。

单特征变量

回归函数

代价函数

假设有m个训练数据样本,则为

很明显,就是某一自变量情况下,算出回归函数与实际值的距离平方的和,然后取平均值的一半。也就是方差的一半。

之所以要取一半,是为后面求解参数更加方便(涉及求导,后面的2和这个1/2正好相消)。

多特征变量

为了便于表示多特征变量时的各个参数和特征变量,引入以下标记:

回归函数

矩阵形式为

代价函数

乍一看和单特征变量的形式几乎一样,但请回顾之前引入的标记,这里的是一个列向量,可不只是一个数。

向量化形式为

其中是由所有的y值组成的向量。

Octave/MATLAB 代码实现

function J = computeCost(X, y, theta)
	m = length(y); 
	T = (X * theta - y);
	J = 1 / (2 * m) * T' * T;
end

总结

回归函数就是用于拟合训练数据样本的,训练得出的函数。显然训练的目的就是获得各个参数,达到最佳拟合。而代价函数则是判断拟合好坏的标准。

因此,目的就很简单了:

通过一定的算法,借助训练样本,获取到各个参数,得到回归函数,并使其代价函数最小。

那么,是什么算法呢?不要急,下一篇就有了!