代价函数
在逻辑回归中,我们的预测函数为:
hθ(x)=1+e−θTx1
代价函数为:
cost=−y log(hθ(x))+(1−y) log(1−hθ(x))
当 y=1 时,代价函数就为:
cost=−log(hθ(x))=−log1+e−z1,z=θTx
此时,代价函数随 z 的变化曲线如下图:

不难看出,当 y=1 时,随着 z 取值变大,预测代价变小,因此,逻辑回归想要在面对正样本 y=1 时,获得足够高的预测精度,就希望 z=θTx≫0 。而 SVM 则将上图的曲线拉直为下图中的折线,构成了 y=1 时的代价函数曲线 cost1(z) :

当 y=1 时,为了预测精度足够高,SVM 希望 θTx≥1 。
同样,在 y=0 时,SVM 定义了代价函数 cost0(z) ,为了预测精度足够高,SVM 希望 θTx≤−1 :

最小化预测代价
SVM定义其最小化预测代价的过程为:
θminC[i=1∑my(i)cost1(θTx(i))+(1−y(i))cost0(θTx(i))]+21j=1∑nθj2
而在逻辑回归中,最小化预测代价的过程为:
θminm1[i=1∑my(i)(−log hθ(x(i)))+(1−y(i))(−log (1−hθ(x(i))))]+2mλj=1∑nθj2
事实上,我们可以将逻辑回归的代价函数简要描述为:
cost=A+λB
而 SVM 的代价函数描述为:
cost=CA+B
即,在逻辑回归中,我们通过正规化参数 λ 调节 A、B 所占的权重,且 A 的权重与 λ 取值成反比。而在 SVM 中,则通过参数 C 调节 A、B 所占的权重,且 A 的权重与 C 的取值成反比。亦即,参数 C 可以被认为是扮演了 λ1 的角色。
预测函数
当我们训练得到 θ 之后,可以代入下面的 SVM 预测函数进行预测:
hθ(x)={10if θTx≥0otherwise