您的位置:首页 > 其它

机器学习基础(四十二)—— 常用损失函数的设计(multiclass SVM loss & hinge loss)

2016-04-06 12:23 302 查看
损失函数,又叫代价函数(成本函数,cost function),是应用优化算法解决问题的关键。

1. 0-1 损失函数

误分类的概率为:

P(Y≠f(X))=1−P(Y=f(X))

我们不妨记 m≜fθ(x)⋅y(其中 y∈{−1,1}。对于二分类问题,最理想的损失函数是 0/1 损失函数,

当 fθ(x) 与 y 有相同符号时,损失为 0;

当 fθ(x) 与 y 符号不同时,损失为 1;

0/1 损失函数既不是处处可微(乘积,也即 m=0处, ),又不是凸函数,所以直接最小化 0/1 损失函数很困难。这就需要用到 hinge 损失函数了

2. 多类 SVM 的损失函数(Multiclass SVM loss)

在给出类别预测前的输出结果是实数值, 也即根据 score function 得到的 score(s=f(xi,W)),

Li=∑j≠yimax(0,sj−syi+1)

yi 表示真实的类别,syi 在真实类别上的得分;

sj,j≠yi 在其他非真实类别上的得分,也即预测错误时的得分;

则在全体训练样本上的平均损失为:

L=1N∑i=1NLi

scores = np.dot(W, X)
correct_scores = scores[y, np.arange(num_samples)]

loss = score - correct_scores + 1
loss[y, np.arange(num_samples)] = 0


3. hinge 函数(折页函数)

仍然作如下记号,m≜fθ(x)⋅y,hinge 函数的形式为:

Jhinge=min{0,1−m}

二者的几何图形为:



Hinge 损失的名字是源自它跟打开 135° 的折叶(hinge)长得很像。



SVM等于Hinge损失 + L2正则化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: