谈谈分类器的损失函数(2)

上回我们讨论了几个二分类器的损失函数。再来看看多分类器的情况:给定一个实例,自动给这个实例进行归类

  • 数据<x[i], y[i]>

  • y[i] = {1, 2, ..., K} 分别表示K个类别

  • 分类器模型M = f(x[i]) = (s[i][1], s[i][2], ..., s[i][K])  s[i][j]分别表示x[i]为第j类的分数,取值均为实数 (-inf, inf)


同样寻找最佳的分类器模型的首要任务:如何评估给定的分类器模型?类比二分类器的Hinge Loss和Logistic Loss,我们有Multi-class SVM Loss, Multinomial Logistic Loss和Softmax Regression Loss等等。


Multi-class SVM Loss

Multi-class SVM单个实例损失函数定义如下:


根据上述定义,不难看出:f(x[i])的正确类别分数必须比其它任意非正确类别分数超出阈值大于等于1,否则损失函数大于0。


当K=2时,


简单的替换可得:


可见,Multi-class SVM损失函数在K=2时退化为Hinge Loss



Multinomial Logistic Loss

Logistic Regression的模型定义如下:


当扩展到K类时,有:

统一类别概率,可以得到:

根据最大似然估计:

从上述式子中可得到Multinomial Logistic Regression单个实例的损失函数为:



Softmax Regression Loss

Softmax Regression模型假设每个类别的概率为:

不同参数可以产生相同的概率分布,满足下列特性:

固定其中一个类别的概率,可得:

简单变换之后,可见:Softmax Regression与Multinomial Logistic Regression等价。

类似Multinomial Regression, 可以推导出Softmax Regression Loss。上面也讨论到Softmax Regression,存在多种参数组合符合相同概率分布。实践中并不会像上面一样固定某个类别,而是通过权值惩罚(正则项)的方式控制。



更多内容

  • 谈谈分类器的损失函数(1)

  • 从贝叶斯的角度看正则项

  • 从优化的角度看正则项

  • 从Trie到Double Array Trie

  • 二元数及其在自动微分中的应用

欢迎关注公众号: inkfish-talk

本站公众号
   欢迎关注本站公众号,获取更多程序园信息
开发小院