類別不平衡問題和Softmax回歸




類別不平衡(class-imbalance)

當不同類別的訓練樣本數目差別很大,則會對學習過程造成困擾。如有998個反例,但正例只有2個。

從線性分類器的角度討論,用\(y=w^Tx+b\)對新樣本\(x\)進行分類時,事實上是在用預測出的\(y\)值與一個閾值進行比較。如通過在\(y>0.5\)時判別為正例,否則為反例。幾率\(\frac{y}{1-y}\)則反映了正例可能性與反例可能性之比值。閾值設為0.5表明分類器認為真實正、反例可能性相同。即

\[if\ \frac{y}{1-y}>1\ then\ is\ position \]

當訓練集中正、反例數目不同時,令\(m^{+}\)表示正例數目,\(m^-\)表示反例數目。假設訓練集是真實樣本總體的無偏采樣,分類器決策規則為:

\[if\ \frac{y}{1-y}>\frac{m^+}{m^-}\ then\ is\ position \]

需對其預測值進行再縮放(rescaling):

\[\frac{y'}{1-y'}=\frac{y}{1-y}\times \frac{m^-}{m^+} \]


Softmax回歸模型

是logistic回歸模型在多分類問題傷的推廣。

適用場景:MNIST手寫數字分類。

對於給定的測試輸入\(x\),用假設函數針對每一個類別\(j\)估算出概率值\(p(y=j|x)\),即估計\(x\)的每一種分類結果出現的概率。因此,假設函數為:

\[h_\theta(x^{(i)})=\begin{bmatrix} p(y^{(i)}=1|x^{(i)};\theta)\\ p(y^{(i)}=2|x^{(i)};\theta)\\ \vdots \\ p(y^{(i)}=k|x^{(i)};\theta) \end{bmatrix}=\frac{1}{\sum_{j=1}^k}\begin{bmatrix} e^{\theta_1^Tx^{(i)}}\\ e^{\theta_2^Tx^{(i)}}\\ \vdots\\ e^{\theta_k^Tx^{(i)}} \end{bmatrix}\]

在Softmax回歸中,將\(x\)分類為類別\(j\)的概率為:

\[p(y^{(i)}=j|x^{(i)};\theta)=\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}} \]

其代價函數為:

\[J(\theta)=-\frac{1}{m}[\sum_{i=1}^m\sum_{j=0}^kI\{y^{(i)}=j\}log\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}] \]

其中,\(I\{\cdot\}\)是示性函數。

對於\(J(\theta)\)的最小化問題,使用迭代的優化算法(梯度下降法、L-BFGS)。經求導,其梯度為:

\[\triangledown _{\theta_j}J(\theta)=-\frac{1}{m}\sum_{i=1}^m[x^{(i)}(I\{y^{(i)}=j\}-p(y^{(i)}=j|x^{(i)};\theta))] \]

其中,\(\triangledown _{\theta_j}J(\theta)\)本身是一個向量,它的第\(l\)個元素\(\frac{\partial J(\theta)}{\partial \theta_{jl}}\)\(J(\theta)\)\(\theta_j\)的第\(l\)個分量的偏導數。

每一次迭代,需進行如下的更新:

\[\theta_j:=\theta_j-\alpha \bigtriangledown _{\theta_j}J(\theta),\ \ \ j=1,\cdots,k \]


引入權重衰減(weight decay)項

衰減項會懲罰過大的參數值,代價函數為:

\[J(\theta)=-\frac{1}{m}[\sum_{i=1}^m\sum_{j=0}^kI\{y^{(i)}=j\}log\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}]+\frac{\lambda}{2}\sum_{i=1}^k\sum_{j=0}^n\theta_{ij}^2 \]

其中,\(\lambda>0\),此時代價函數變成嚴格的凸函數。使用優化算法,得到新函數\(J(\theta)\)的導數:

\[\triangledown _{\theta_j}J(\theta)=-\frac{1}{m}\sum_{i=1}^m[x^{(i)}(I\{y^{(i)}=j\}-p(y^{(i)}=j|x^{(i)};\theta))]+\lambda \theta_j \]

通過最小化\(J(\theta)\),就能實現一個可用Softmax回歸模型。


Softmax回歸 VS. k個二元分類器

如開發一個音樂分類的應用,需對\(k\)種類型的音樂進行識別。根據類別之間是否互斥來進行選擇。

  • 如四個類別的音樂分別為:古典音樂、鄉村音樂、搖滾樂、爵士樂。

此時,每個訓練樣本只會被打上一個標簽,應使用類別數\(k=4\)的Softmax回歸。

  • 如四個類別的音樂分別為:人聲音樂、舞曲、影視原聲、流行歌曲。

此時,類別之間不是互斥的。使用4個二分類的logistic回歸分類更為合適。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM