2.1.3 求解线性回归模型
当建立好一个模型后,自然而然想到的就是如何通过给定的数据,也叫训练集(Training Data),来对模型h(x)进行求解。在中学时期我们学过如何通过两个坐标点来求解过这两点的直线,可在上述的场景中这种做法显然是行不通的(因为所有的点并不在一条直线上),那有没有什么好的解决的办法呢?
此时就需要我们转换一下思路了,既然不能直接进行求解,那就换一种间接的方式。现在来想象一下,当h(x)满足一个什么样的条件时,它才能称得上是一个好的h(x)?回想一下求解h(x)的目的是什么,不就是希望输入面积x后能够输出“准确”的房价吗?既然直接求解h(x)不好入手,那么我们就从“准确”来入手。
可又怎样来定义准确呢?在这里,我们可以通过计算每个样本的真实房价与预测房价之间的均方误差来对“准确”进行刻画。
其中,m表示样本数数量;x(i)表示第i个样本的面积,也就是第i个房屋的面积;y(i)表示第i个房屋的真实价格;表示第i个房屋的预测价格。
由式(2-2)可知,当函数J(w,b)取最小值时的参数和,就是要求的目标参数。为什么?因为当J(w,b)取最小值时就意味着此时所有样本的预测值与真实值之间的误差(Error)最小。如果极端一点,就是所有预测值都等同于真实值,那么此时的J(w,b)就是0了。
因此,对于如何求解模型h(x)的问题就转换成了如何最小化函数J(w,b)的问题,而J(w,b)也有一个专门的术语叫作目标函数(Objective Function)或者代价函数(Cost Function)抑或损失函数(Loss Function)。
至此,我们离第一阶段的学习目标就只差一步了,那就是如何通过开源框架进行建模求解,并进行预测。至于求解过程到底怎样及如何进行的,那就是第二阶段的任务了,下面开始完成第一阶段的最后一步。