softmax regression

来源:互联网 发布:arm java 指令集 编辑:程序博客网 时间:2024/05/22 18:23

我们给出一个GLM的例子,是logistic regression的推广,应用于多类分类。所以,我们有y ∈{1, 2, . . . , k },我们用k个参数φ1, . . . , φk来表示k个输出的概率,由于第k个参数是多余的,所以我们只用k-1个参数,而


为了将其描述为指数族,我们将定义



在这里,T(y)不再等于y,而是一个k-1维的向量。

我们引入一个类似于布尔函数的东西1{·},满足1{True} =1, 1{False} = 0。例如,1{2 = 3}= 0, 1{3 =5 − 2} = 1。所以,对于T(y),有


然后有


紧接着


其中


链接函数:


推出响应函数:


这个将η映射到φ的函数被称为softmax函数

然后有


这个应用于y ∈ {1, . . . , k }的分类模型,被称为softmax regression。


对于给定的

为了得到这个模型的θ,我们可以写出log-likelihood


然后我们可以利用梯度下降或者牛顿法寻求其最大值。

下面介绍Cost Function:


为了与logistic regression的cost function相一致,我们写成下面的形式:


为了使cost function最小,我们要先计算梯度:


但是就像是线性回归与logistic regression一样,我们引入惩罚因子(Weight Decay)来抑制过拟合(overfitting),我们的cost function就变成了这样:


梯度为:


最小化cost function与最大化最大似然估计等价
0 0