Softmax分类—很多时候,在多分类问题中我们希望输出的是取到某个类别的概率,或者说,我们希望分值大的那个类别被经常取到,而分值较小的那一项也有一定可能性偶尔被取到。Softmax即是这样一种模型,最后的输出是每个类别被取到的概率值。
假设有一个数组,
表示
中的第
个元素,那么这个元素的Softmax值为:
通常我们采用“交叉熵”
它用来衡量两个取值为正的函数的相似性。对于两个完全相同的函数,它们的交叉熵为零;交叉熵越大,两个函数差异越大,反之,两个函数差异越大;对于概率分布或者概率密度函数,如果取值均大于零,交叉熵可以度量两个随机分布的差异性。
作为Softmax分类模型的代价函数(原因是该模型试图通过Softmax值去拟合样本的真实类别标记,那么根据交叉熵,我们就需要使得预测函数和真实函数的差异尽可能小)
其中表示类别函数,目标类的
,其余类的
;
表示Softmax函数,可以作为某个样本属于某个类别的概率的估计;
代表类别。
然后对求导,再根据梯度下降算法就可以得到参数的更新公式。
需要注意的是,若各个类别之间若为互斥关系时,采用Softmax分类模型,若各类之间存在重叠划分情况,则采用个二分类,即OvR模型。这一点可由Softmax的代价函数看出:当样本
属于第
个类时,交叉熵中的这一项才存在(如若不然,该项为0)。换言之,在Softmax分类模型中,某个样本属于且只属于所有类别中的一个类,不能同时属于两个或多个类。而
个二分类模型,从其操作实施流程可知,一个样本可能属于两个或多个类。