softmax 損失函數求導過程


前言:softmax中的求導包含矩陣與向量的求導關系,記錄的目的是為了回顧。

  下圖為利用softmax對樣本進行k分類的問題,其損失函數的表達式為結構風險,第二項是模型結構的正則化項。

  首先,每個queue:x(i)的特征維度是 n , 參數 θ 是一個 n×k 的矩陣,輸出的結果 y(i) 為一個 k×1 的向量,其中第 j 個元素對應元素的 e 指數為該 queue 屬於第 j 類的概率(未歸一化)。所以雖然損失函數 J(θ) 是一個常數,但是它的自變量為一個矩陣 Θ 和 一個特征向量 x(i) ,這就牽涉到本文的重難點:矩陣、向量以及變量之間的求導。

  更新 θj 的過程就是標量 J(θ) 對向量  θj 求導的過程,向量對標量求導的具體方式不想寫,結論見文末,參考(https://blog.csdn.net/daaikuaichuan/article/details/80620518)。

  

  第一項的求導過程:

    將與 j 無關的乘項(-1/m)×∑i ×1{ j } 拉到最前面,對log中內容做變換得到((θj×x(i))) - log(∑L)。前者根據變量對向量求導可以得到為x(i),后者根據鏈式法則可以求出為[exp(θj*x(i)] / ∑L}* x(i), 與前面的項相乘就可以得到下式中的第一項。

  第二項為 Θ 中所有列向量二范數之和,可以寫成 ∑θjTθj ,其中與 θj 有關的內容為 θjTθj ,求導后為  2θj 。求導的結果為第二項。

   J(θ) 對 θj 求導的結果如文中第二式。

標量對向量求導

向量對標量求導

向量對向量求導


免責聲明!

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



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