分类模型的损失函数
距离、间隔(阈值)? 分类损失函数的另一种解读——margin 损失函数
写在前面:
- 损失函数的作用:衡量真实值 y 和预测值 f(x) 之间不一致的程度
- 如何衡量差别?或者说如何定义构造损失函数的策略?
两种思路:①定义为错误分类的数量 ②错误分类点到超平面的距离③拟合和优化 0-1 损失函数? - 损失函数如何惩罚:
增大损失函数?
通过权重控制——随着𝑚𝑎𝑟𝑔𝑖𝑛→−∞而加大惩罚(结合图) - 关键:抓住了 𝑦𝑓(𝑥) 就抓住了分类模型损失函数的核心。
所谓**“惩罚”(penalty)**是指对损失函数中的某些参数做一些限制。
先过一下目标函数的公式:
目标函数 = 经验损失 + 结构损失(obj=loss+Ω)
注:期望风险 -> 结构化风险 = 经验风险 + 正则项 ; 即我们用结构化风险去近似模拟期望风险
我们发现,大多数带参的机器学习模型都逃不过这个公式,现在就对第一个公式中的损失函数做一个总结:
损失函数 | 模型 |
---|---|
平方损失函数 | 最小二乘法 |
Hinge损失函数 | SVM |
log对数损失函数 | 逻辑回归 |
指数损失函数 | AdaBoost |
0-1 损失函数 | 感知机 |
绝对值损失函数 |
下面为常见的二分类问题的损失函数图像。
下面具体就分类和回归两个角度来具体说明:
用 L(y, f(x)) 来表示损失函数,用以衡量真实值 y 和预测值 f(x) 之间不一致的程度;
为了便于不同损失函数的比较,常将其表示为单变量的函数,即在回归问题中这个变量为 y-f(x),在分类问题中则为 yf(x)。
1. 分类问题的损失函数——用𝑦𝑓(𝑥)来判断
1.0 margin: 𝑦𝑓(𝑥)的由来
二分类问题中的分类规则,或者说决策函数通常为:
(其它很多说法,这里的判定是 f(x) 而不是 yf(x) )
可以看到:
-
如果 𝑦𝑓(𝑥)>0,即𝑦与𝑓(𝑥)同号,则