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