softmax回归
我们知道Logistic回归只能进行二分类,因为它的随机变量的取值只能是0或者1,那么如果我们面对多分类问题怎么办?比如要将一封新收到的邮件分为垃圾邮件,个人邮件,还是工作邮件;根据病人的病情预测病人属于哪种病。诸如此类问题都涉及到多分类,那么今天要讲的softmax回归能解决这类问题。
在Logistic回归中,样本数据的值,而在softmax回归中
,其中
是类别种数,
比如在手写识别中,表示要识别的10个数字。设
那么
而且有
为了将多项式模型表述成指数分布族,先引入,它是一个
维的向量,那么
应用于一般线性模型,必然是属于
个类中的一种。用
表示
为真,同样当
为假时,有
,那么进一步得到联合分布的概率密度函数为
对比一下,可以得到
由于
那么最终得到
可以得到期望值为
接下来得到对数似然函数函数为
其中是一个
的矩阵,代表这
个类的所有训练参数,每个类的参数是一个
维的向量。所以在
softmax回归中将分类为类别
的概率为
跟Logistic回归一样,softmax也可以用梯度下降法或者牛顿迭代法求解,对对数似然函数求偏导数,得到
然后我们可以通过梯度上升法来更新参数
注意这里是第
个类的所有参数,它是一个向量。
在softmax回归中直接用上述对数似然函数是不能更新参数的,因为它存在冗余的参数,通常用牛顿方法中的Hessian
矩阵也不可逆,是一个非凸函数,那么可以通过添加一个权重衰减项来修改代价函数,使得代价函数是凸函数,并且
得到的Hessian矩阵可逆。