机器学习(二)—线性回归(Linear Regression)

原文:http://cs229.stanford.edu/not...
为了使我们的住宅更有趣,我们可以考虑一个稍微更丰富的数据集,我们也知道每个房间的卧室数量:

机器学习(二)—线性回归(Linear Regression)_第1张图片

$$ 此处的输入特征x是一个在R^{2}空间的二维向量,例如x_{1}^{i}就是训练集中第i个房屋的面积,而x_{2}^{i}就是训练集中第i个房屋的卧室数目。 $$

(通常来说,设计一个学习算法的时候,选择哪些输入特征都取决于你,所以当你在波特兰收集房屋的信息数据时,也完全可以选择包含其他的特征,例如房屋是否有壁炉,卫生间的数量等等。关于特征筛选的内容会在后面的章节进行更详细的介绍,不过目前来说就暂时先用给定的这两个特征了。)

$$ 要进行这个监督学习任务,我们必须得决定如何在计算机里面对这个函数/假设h进行表示。作为起始的选择,我们把y近似为 $$

$$ 一个以x为变量的线性函数(linear function):h_{\theta }\left ( x \right )=\theta _{0}+\theta _{1}x_{1}+\theta _{2}x_{2} $$

$$ 这里的\theta _{i}是参数(parameters),也被叫作权重(weights),用来参数化从X到Y的线性函数映射空间。为了避免混淆, $$

$$ 我们可以把h_{\theta }(x)里面的\theta省略掉,简写成h(x)。为了简化符号,我们还引入了约定使x_{0}=1,于是h(x)就可以表示成: $$

$$ h\left ( x \right )=\sum \theta _{i}x_{i}等式右边的\theta和x都是向量,等式中的 n是输入的特征变量的个数(不包括x_{0})。 $$

$$ 现在,给定了一个训练集了,咱们怎么来挑选/学习参数\theta呢?一个看上去比较合理的方法就是让h(x)尽量逼近y,至少对已有 $$

$$ 的训练样本能适用。用公式的方式来表示的话,就要定义一个函数,来衡量对于每个不同的\theta值,预测值h(x^{(i)})与实际对应的 $$

$$ y^{i}有多接近。我们据此定义了一个 成本函数 (cost function),有的中文文献亦称之为代价函数: $$

$$ J\left ( \theta \right )=1/2\sum \left (h _{\theta }\left ( x^{(i)} \right )-y^{(i)}\right )^{2} $$

如果之前你接触过线性回归,你会发现这个函数和 普通最小二乘法(ordinary least squares) 拟合模型中的最小二乘法成本函数非常相似。不管你之前是否接触过它,我们先继续往下看,以后就会发现这是一个更广泛的算法家族中的一个特例。

你可能感兴趣的:(机器学习)