原文:http://cs229.stanford.edu/notes/cs229-notes1.pdf
为了使我们的住宅更有趣,我们可以考虑一个稍微更丰富的数据集,我们也知道每个房间的卧室数量:
2104 | 3 | 400 |
1600 | 3 | 330 |
2400 | 3 | 369 |
1416 | 2 | 232 |
3000 | 4 | 540 |
此处的输入特征是一个在空间的二维向量,例如就是训练集中第个房屋的面积,而就是训练集中第个房屋的卧室数目。(通常来说,设计一个学习算法的时候,选择哪些输入特征都取决于你,所以当你在波特兰收集房屋的信息数据时,也完全可以选择包含其他的特征,例如房屋是否有壁炉,卫生间的数量等等。关于特征筛选的内容会在后面的章节进行更详细的介绍,不过目前来说就暂时先用给定的这两个特征了。)
要进行这个监督学习任务,我们必须得决定如何在计算机里面对这个函数/假设进行表示。作为起始的选择,我们把近似为一个以为变量的线性函数(linear function):
这里的是参数(parameters),也被叫作权重(weights),用来参数化从到的线性函数映射空间。为了避免混淆,我们可以把里面的省略掉,简写成。为了简化符号,我们还引入了约定使
(即截距项 intercept term),因此:
等式右边的和都是向量,等式中的 是输入的特征变量的个数(不包括)。
现在,给定了一个训练集了,咱们怎么来挑选/学习参数呢?一个看上去比较合理的方法就是让尽量逼近,至少对已有的训练样本能适用。用公式的方式来表示的话,就要定义一个函数,来衡量对于每个不同的值,预测值与实际对应的有多接近。我们据此定义了一个 成本函数 (cost function),有的中文文献亦称之为代价函数:
如果之前你接触过线性回归,你会发现这个函数和 普通最小二乘法(ordinary least squares) 拟合模型中的最小二乘法成本函数非常相似。不管你之前是否接触过它,我们先继续往下看,以后就会发现这是一个更广泛的算法家族中的一个特例。