假设有这样一份关于房价的数据:
房屋面积 | 价格 |
---|---|
2 | 4 |
4 | 8 |
5 | 10 |
那么我们为了预测房屋价格,假设预测函数为h(x)=θ0*x + θ1,为了尽可能少的考虑变量,先假设 θ1=0,所以得到预测函数为h(x)=θ0*x
当θ0取1,2,3时,预测函数的图像为
红标为训练数据的点,损失函数就是这些点到预测函数的距离,距离越大,误差越大,可以看到,当θ0=2时,所有点都在预测函数的线上,这说明误差为0,现在用数学函数来表示这些距离:
根据上述公式,推导出J的值:
θ0 | J |
---|---|
1 | 7.5 |
2 | 0 |
3 | 7.5 |
画出J的图像:
所以找出预测函数最优的参数值的问题就转换成找出J(θ0,θ1)的最小值的问题。
在该例中,代价函数就是J(θ0,θ1)。
在之前的例子中,θ0=0,现在,假设θ0不为0。
当θ0不为0时,代价函数将受到2个参数的影响,θ0和θ1,J(θ0,θ1)的图像就会变成下图的样子:
在3d图中,代价函数的最小值就是最低点,可能同一个代价函数会有多个最低点或者局部最低点,起始位置不同的两个点可能会导致最终得到的最低点也不同,如上图,相近的两个点最终得到的最低点相差很远。