5.1 代价函数-机器学习笔记-斯坦福吴恩达教授

代价函数

在逻辑回归中,我们的预测函数为:
hθ(x)=11+eθTxh_θ(x)=\frac 1 {1+e^{−θ^Tx}}

代价函数为:
cost=y log(hθ(x))+(1y) log(1hθ(x))cost=−y\ log(h_θ(x))+(1−y)\ log(1−h_θ(x))

y=1y=1 时,代价函数就为:
cost=log(hθ(x))cost=−log(h_θ(x))=log11+ez,z=θTx=−log\frac 1{1+e^{−z}},z=θ^Tx

此时,代价函数随 zz 的变化曲线如下图:
5.1 代价函数-机器学习笔记-斯坦福吴恩达教授
不难看出,当 y=1y=1 时,随着 zz 取值变大,预测代价变小,因此,逻辑回归想要在面对正样本 y=1y=1 时,获得足够高的预测精度,就希望 z=θTx0z=θ^Tx≫0 。而 SVM 则将上图的曲线拉直为下图中的折线,构成了 y=1y=1 时的代价函数曲线 cost1(z)cost_1(z)
5.1 代价函数-机器学习笔记-斯坦福吴恩达教授
y=1y=1 时,为了预测精度足够高,SVM 希望 θTx1θ^Tx≥1

同样,在 y=0y=0 时,SVM 定义了代价函数 cost0(z)cost_0(z) ,为了预测精度足够高,SVM 希望 θTx1θ^Tx≤−1
5.1 代价函数-机器学习笔记-斯坦福吴恩达教授

最小化预测代价

SVM定义其最小化预测代价的过程为:
minθC[i=1my(i)cost1(θTx(i))+(1y(i))cost0(θTx(i))]+12j=1nθj2\min_θC[∑_{i=1}^my^{(i)}cost_1(θ^Tx^{(i)})+(1−y^{(i)})cost_0(θ^Tx^{(i)})]+\frac 12∑_{j=1}^nθ^2_j

而在逻辑回归中,最小化预测代价的过程为:
minθ1m[i=1my(i)(log hθ(x(i)))+(1y(i))(log (1hθ(x(i))))]+λ2mj=1nθj2\min_{θ}\frac 1m[∑_{i=1}^my^{(i)}(−log\ h_θ(x^{(i)}))+(1−y^{(i)})(−log\ (1−h_θ(x^{(i)})))]+\frac λ{2m}∑_{j=1}^nθ^2_j

事实上,我们可以将逻辑回归的代价函数简要描述为:
cost=A+λBcost=A+λB

而 SVM 的代价函数描述为:
cost=CA+Bcost=CA+B

即,在逻辑回归中,我们通过正规化参数 λλ 调节 ABA 、 B 所占的权重,且 AA 的权重与 λλ 取值成反比。而在 SVM 中,则通过参数 CC 调节 ABA 、 B 所占的权重,且 AA 的权重与 CC 的取值成反比。亦即,参数 CC 可以被认为是扮演了 1λ\frac1λ 的角色。

预测函数

当我们训练得到 θ 之后,可以代入下面的 SVM 预测函数进行预测:
hθ(x)={1if θTx00otherwiseh_θ(x)= \begin{cases} 1 & if \ θ^Tx≥0\\ 0 & otherwise \end{cases}