- softmax regression 是在 logistic regression 基础上做的推广,logistic regression只要用于处理二分类问题,二softmax regression用于处理多分类问题
- softmax regression模型
假设有m个训练样本, { ( X 1 , y 1 ) , ( X 2 , y 2 ) . . . . . . ( X m , y m ) } \left \{ (X^{1},y^{1}),(X^{2},y^{2})......(X^{m},y^{m}) \right \} {(X1,y1),(X2,y2)......(Xm,ym)},X为实数范围的向量,类标签的范围为 { 0 , 1...... k } \left \{ 0,1......k \right \} {0,1......k}。假设函数为每一个样本估计其所属类别的概率 P ( y = 1 ∣ X ) P(y=1|X) P(y=1∣X),具体的函数为: h θ ( X i ) = [ P ( y i = 1 ∣ X i ; θ ) P ( y i = 2 ∣ X i ; θ ) P ( y i = k ∣ X i ; θ ) ] = 1 ∑ j = 1 k e θ j T X i [ e θ 1 T X i e θ 2 T X i . . . . . . e θ k T X i ] h_{\theta }(X^{i})=\begin{bmatrix} P(y^{i}=1|X^{i};\theta )\\ P(y^{i}=2|X^{i};\theta )\\ P(y^{i}=k|X^{i};\theta ) \end{bmatrix}=\frac{1}{\sum_{j=1}^{k}e^{\theta _{j}^{T}X^{i}}}\begin{bmatrix} e^{\theta _{1}^{T}X^{i}}\\ e^{\theta _{2}^{T}X^{i}}\\ ......\\ e^{\theta _{k}^{T}X^{i}} \end{bmatrix} hθ(Xi)=⎣⎡P(yi=1∣Xi;θ)P(yi=2∣Xi;θ)P(yi=k∣Xi;θ)⎦⎤=∑j=1keθjTXi1⎣⎢⎢⎡eθ1TXieθ2TXi......eθkTXi⎦⎥⎥⎤
其中: 1 ∑ j = 1 k e θ j T X i \frac{1}{\sum_{j=1}^{k}e^{\theta _{j}^{T}X^{i}}} ∑j=1keθjTXi1这一项是对概率分布进行归一化。
至于假设函数的证明,请阅读https://www.cnblogs.com/BYRans/p/4905420.html
这位博主写的,很详细。 - softmax regression代价函数(损失函数)
J ( θ ) = − 1 m [ ∑ i = 1 m ∑ j = 1 k I { y i = j } l o g e θ j T X i ∑ l = 1 k e θ j T X i ] J(\theta )=-\frac{1}{m}\left [ \sum_{i=1}^{m}\sum_{j=1}^{k}I\left \{ y^{i}=j \right \} log\frac{e^{\theta _{j}^{T}X^{i}}}{\sum_{l=1}^{k} e^{\theta _{j}^{T}X^{i}}} \right ] J(θ)=−m1[i=1∑mj=1∑kI{yi=j}log∑l=1keθjTXieθjTXi]其中, I { y i = j } I\left \{ y^{i}=j \right \} I{yi=j}表示的是当 y i y^{i} yi属于j类是, I { y i = j } I\left \{ y^{i}=j \right \} I{yi=j}值为1,否则为0。
- 梯度下降求解
对上面的代价函数,求梯度可以得到: − 1 m ∑ i = 1 m [ X i ( I { y i = j } − P ( y i = j ∣ X i ; θ ) ) ] -\frac{1}{m}\sum_{i=1}^{m}[X^{i}(I\left \{ y^{i}=j \right \}-P(y^{i}=j|X^{i};\theta ))] −m1i=1∑m[Xi(I{yi=j}−P(yi=j∣Xi;θ))]
- 用python实现上述过程。具体代码在:
https://github.com/xzccfzy/softmax_regression.git
主要参考了书上的内容和代码,先记录下来。 - tensorflow 所用的数据是一些坐标点。具体代码在:
https://github.com/xzccfzy/softmax_regression.git
softmax regression tensorflow实现 matlablib显示
最新推荐文章于 2020-06-01 11:46:35 发布