2.2 代价函数(Cost Function)
为了找到最能拟合下面数据的直线:
其中 m = 47,代表了样本的数量。 θ 0 θ_0 θ0 和 θ 1 θ_1 θ1 表示直线(模型)的参数(parameters)。
这个参数决定了直线相对训练集的准确程度,它们之间的差距(下图蓝线)也就是建模误差(modeling error)。
当建模误差的平方和最小时,也就是直线与训练集数据最拟合的时候,此时直线对应的参数就是最佳的。
**代价函数(Cost Function)**就是关于
θ
0
θ_0
θ0 和
θ
1
θ_1
θ1 函数:
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
i
)
−
y
i
)
2
J(θ_0,θ_1)=\frac1{2m}\sum_{i=1}^m(h_θ(x^i)-y^i)^2
J(θ0,θ1)=2m1i=1∑m(hθ(xi)−yi)2
我们绘制了一个图来表示这个函数,三个坐标轴分别为 θ 0 θ_0 θ0、 θ 1 θ_1 θ1、 J ( θ 0 , θ 1 ) J(θ_0,θ_1) J(θ0,θ1):
在这个三维空间中,存在着一个最小的点。
当取不同的点时,对应的直线也不同。
我们用等高线图来表示这个三维图:
代价函数也被称为平方误差函数。对于解决回归问题,是最常用的手段了。
我们用这些图形,是为了更好理解代价函数 J 所表达值是怎么样的。
但是显然,我们并不想每次都画出来。如果更高维度、更多参数我们就很难画出来了。
下一篇中,我们将介绍一种算法,能够自动找出使得 J ( θ 0 , θ 1 ) J(θ_0,θ_1) J(θ0,θ1) 最小, θ 0 θ_0 θ0 和 θ 1 θ_1 θ1 的值。
写于 2018.12.2