在一个多分类问题,预测变量 y y 可以取 个离散值中的任何一个,即 y∈{ 1,2,⋯,k} y ∈ { 1 , 2 , ⋯ , k } 。
例如:在一个邮件分类系统将邮件分为私人邮件,工作邮件和垃圾邮件。由于 y y 仍然是一个离散值,这种多分类问题,二分类模型在这里不太适用。
多分类问题符合多项分布。有许多算法可用于解决多分类问题,像决策树、朴素贝叶斯等。本文主要讲解多分类算法中的Softmax回归(Softmax Regression)
推导思路为:首先证明多项分布属于指数分布族,这样就可以使用广义线性模型来拟合这个多项分布,由广义线性模型推导出的目标函数 即为Softmax回归的分类模型。
多项式分布属于指数分布族的推导
下面将根据多项式分布建模。考虑样本共有 k k 类,每一类的概率分别为
,由于 ∑ i=1 k ϕ i =1 ∑ i = 1 k ϕ i = 1 ,所以通常我们只需要 k−1 k − 1 个参数即 ϕ 1 ,⋯,ϕ k−1 ϕ 1 , ⋯ , ϕ k − 1 。
P(y=i;ϕ)=ϕ i P(y=k;ϕ)=1−∑ i=1 k−1 ϕ i (397) (397) P ( y = i ; ϕ ) = ϕ i P ( y = k ; ϕ ) = 1 − ∑ i = 1 k − 1 ϕ i
为了推导方便,引入表达式:
T(1)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 100⋮0 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ , T(2)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 010⋮0 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ , ⋯, T(k−1)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 000⋮1 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ , T(k)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 000⋮0 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ T ( 1 ) = [ 1 0 0 ⋮ 0 ] , T ( 2 ) = [ 0 1 0 ⋮ 0 ] , ⋯ , T ( k − 1 ) = [ 0 0 0 ⋮ 1 ] , T ( k ) = [ 0 0 0 ⋮ 0 ]
上面 T(y) T ( y ) 是 k−1 k − 1 维列向量,其中 y=1, 2, ⋯, k y = 1 , 2 , ⋯ , k ; T(y) i T ( y ) i 表示向量 T(y) T ( y ) 的第