• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

softmax回归分析

ml admin 10个月前 (03-01) 416次浏览 0个评论 扫描二维码

Softmax 是 Logistic 回归在多分类上的推广,即类标签 y 的取值大于等于 2。假设有 m 个训练样本\( {(x(1),y(1)),(x(2),y(2)),\ldots,(x(m),y(m))} \),对于 Softmax 回归,其输入特征为:\(x(i) \in \Re_n+1 \),类标记为:\(y(i) \in {0,1,\ldots,k} \)。假设函数为对于每一个样本估计其所属的类别的概率\( p(y=j∣x) \),具体的假设函数为:
\[ h_\theta(x^{(i)})=\begin{bmatrix} p(y^{(i)}=1 \vert x^{(i)} ; \theta)\\p(y^{(i)}=2 \vert x^{(i)} ; \theta) \\p(y^{(i)}=3 \vert x^{(i)} ; \theta) \\ \vdots \\p(y^{(i)}=k \vert x^{(i)} ; \theta) \end{bmatrix} =\frac{1}{\sum_{j=1}^k e^{\theta^T_j x^{(i)}}}\begin{bmatrix} e^{\theta^T_1 x^{(i)}} \\e^{\theta^T_2 x^{(i)}} \\ \vdots \\ e^{\theta^T_k x^{(i)}}\end{bmatrix} \]

其中\( \theta\)表示的向量,且\( \theta_i \in \Re_n+1 \) 。则对于每一个样本估计其所属的类别的概率为:

\[ p(y^{(i)}=j \vert x^{{I}};\theta)=\frac{e^{\theta^T_j x^{(i)}}}{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}} \]
2.2、Softmax 回归的代价函数
类似于 Logistic 回归,在 Softmax 的代价函数中引入指示函数 I{⋅},其具体形式为:

\[ I(expression)= \begin{cases}
0,\quad if \quad expression=flase \\
1,\quad if \quad expression=true
\end{cases}
\]
那么,对于 Softmax 回归的代价函数为:
\[ J(\theta)=-\frac{1}{m} \Biggl[ \sum_{I=1}^m\sum_{j=1}^k I(y^{(i)}=j) log \frac{e^{\theta^T_j x^{(i)}}}{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}} \Biggr
] \]

2.3、Softmax 回归的求解
对于上述的代价函数,可以使用梯度下降法对其进行求解,首先对其进行求梯度:

\[ \nabla_{\theta_j}J(\theta)=-\frac{1}{m} \sum_{I=1}^m \Biggl[ \sum_{j=1}^k \nabla_{\theta_j} I(y^{(i)}=j) log \frac{e^{\theta^T_j x^{(i)}}}{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}} \Biggr
] \]
已知,对于一个样本只会属于一个类别:
如果\( y^{i}=j\)则\( I(y^{i}=j)=1\)
\[ \begin{aligned}
\nabla_{\theta_j}J(\theta) &= -\frac{1}{m} \sum_{I=1}^m \Biggl[log \frac{e^{\theta^T_j x^{(i)}}}{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}} \Biggr] \\
&=-\frac{1}{m}\sum_{I=1}^m \Biggl[ \frac{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}}{e^{\theta^T_j x^{(i)}}} \cdot
\frac{e^{\theta^T_j x^{(i)}} \cdot x^{(i)} \cdot \sum_{l=1}^k e^{ \theta^T_l x^{(i)}}- e^{\theta^T_j x^{(i)}} \cdot x^{(i)} \cdot e^{\theta^T_j x^{(i)}}}{(\sum_{l=1}^k e^{ \theta^T_l x^{(i)}})^2} \Biggr] \\
&=-\frac{1}{m} \sum_{I=1}^m \Biggl[ \frac{\sum_{l=1}^k e^{ \theta^T_l x^{(i)}}-e^{ \theta^T_l x^{(i)}} }{\sum_{l=1}^k e^{ \theta^T_l x^{(i)}}} \cdot x^{(i)} \Biggr]
\end{aligned} \]
如果\( y^{i}=j\)则\( I(y^{i}=j)=0\)

\[ \begin{aligned}
\nabla_{\theta_j}J(\theta) &= -\frac{1}{m} \sum_{I=1}^m \Biggl[log \frac{e^{\theta^T_j x^{(i)}}}{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}} \Biggr] \\
&=-\frac{1}{m}\sum_{I=1}^m \Biggl[ \frac{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}}{e^{\theta^T_j x^{(i)}}} \cdot
\frac{- e^{\theta^T_j x^{(i)}} \cdot x^{(i)} \cdot e^{\theta^T_j x^{(i)}}}{(\sum_{l=1}^k e^{ \theta^T_l x^{(i)}})^2} \Biggr] \\
&=-\frac{1}{m} \sum_{I=1}^m \Biggl[ \frac{-e^{ \theta^T_l x^{(i)}} }{\sum_{l=1}^k e^{ \theta^T_l x^{(i)}}} \cdot x^{(i)} \Biggr]
\end{aligned}
\]
最终的结果为:
\[ -\frac{1}{m} \sum_{I=1}^m \Biggl[ x^{(i)}(I{Y^{(i)}=j }-p(Y^{(i)}=j \vert x^{(i)};\theta) ) \Biggr] \]
注意,此处的θj 表示的是一个向量。通过梯度下降法的公式可以更新:

\[ \theta_j :=\theta_j-\alpha \nabla_{\theta_j}J(\theta) \]
5、Softmax 回归中的参数特点
在 Softmax 回归中存在着参数冗余的问题。简单来讲就是参数中有些参数是没有任何用的,为了证明这点,假设从参数向量θj 中减去向量ψ,假设函数为:

\[ \begin{aligned}
p(Y^{(i)} =j \vert x^{(i)};\theta)&=\frac{-e^{ (\theta_j-w)^T x^{(i)}}} {\sum_{l=1}^k e^{ (\theta_j-w)^T x^{(i)}}} \\
&=\frac{e^{ (\theta_j)^T} e^{ (-\theta_w)^T} x^{(i)}} {\sum_{l=1}^k e^{ (\theta_j)^T} e^{ (-\theta_w)^T} x^{(i)}} \\
&=\frac{-e^{ (\theta_j)^T x^{(i)}}} {\sum_{l=1}^k e^{ (\theta_j)^T x^{(i)}}}
\end{aligned}
\]
从上面可以看出从参数向量θj 中减去向量ψ对预测结果并没有任何的影响,也就是说在模型中,存在着多组的最优解。

为了是算法能够尽可能简单,保留所有的参数,但是对代价函数加入权重衰减来解决参数冗余的问题,权重衰减即对参数进行正则化。

如对参数进行 L2 正则约束,L2 正则为:
\[ \frac{\lambda}{2}\sum_{I=1}^k \sum_{j=0}^n \theta_{ij}^2 \]
此时,代价函数为:

\[ J(\theta)=-\frac{1}{m} \Biggl[ \sum_{I=1}^m\sum_{j=1}^k I(y^{(i)}=j) log \frac{e^{\theta^T_j x^{(i)}}}{\sum_{l=1}^ke^{ \theta^T_l x^{(i)}}} \Biggr
]+\frac{\lambda}{2}\sum_{I=1}^k \sum_{j=0}^n \theta_{ij}^2 \]
其中,λ>0,此时代价函数是一个严格的凸函数。

对该函数的导数为:

\[ \nabla_{\theta_j}J(\theta)=-\frac{1}{m} \sum_{I=1}^m \Biggl[ x^{(i)}(I({Y^{(i)}=j) }-p(Y^{(i)}=j \vert x^{(i)};\theta) ) \Biggr]+\lambda \theta_j \]
5、Softmax 与 Logistic 回归的关系
Logistic 回归算法是 Softmax 回归的特征情况,即 k=2 时的情况

6、多分类算法和二分类算法的选择
有人会觉得对于一个多分类问题,可以使用多个二分类来完成,对于多分类问题是直接选择多分类的分类器还是选择多个二分类的分类器进行叠加,在 UFLDL 中,作者给出了这样的解释:取决于类别之间是否互斥。

对于一个多分类的问题,是直接选择多分类器直接计算还是选择多个二分类器进行计算取决于问题中类别之间是否互斥。

是互斥的 –> Softmax 回归
不是互斥的 –> 多个独立的 Logistic 回归


Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明softmax 回归分析
喜欢 (0)
admin
关于作者:

您必须 登录 才能发表评论!