我學習使用的是帶中文翻譯字幕的網易課程,公開課地址:http://study.163.com/course/courseLearn.htm?courseId=1003223001#/learn/video?lessonId=1003734105&courseId=1003223001 該節(jié)課中提到了一種叫作softmax的函數,因為之前對這個概念不了解,所以本篇就這個函數進行整理,如下: 維基給出的解釋:softmax函數,也稱指數歸一化函數,它是一種logistic函數的歸一化形式,可以將K維實數向量壓縮成范圍[0-1]的新的K維實數向量。函數形式為: (1) 其中,分母部分起到歸一化的作用。至于取指數的原因,第一是要模擬max的行為,即使得大的數值更大;第二是方便求導運算。 在概率論中,softmax函數輸出可以代表一個類別分布--有k個可能結果的概率分布。 從定義中也可以看出,softmax函數與logistic函數有著緊密的的聯系,對于logistic函數,定義如下: 最顯著的區(qū)別:logistic 回歸是針對二分類問題,softmax則是針對多分類問題,logistic可看成softmax的特例。 二分類器(two-class classifier)要最大化數據集的似然值等價于將每個數據點的線性回歸輸出推向正無窮(類1)和負無窮(類2)。邏輯回歸的損失方程(Loss Function): 對于給定的測試輸入 ,假如想用假設函數針對每一個類別j估算出概率值 。即估計 的每一種分類結果出現的概率。因此,假設函數將要輸出一個 維的向量(向量元素的和為1)來表示這 個估計的概率值。
假設函數 形式如下: 其中 是模型的參數。請注意 這一項對概率分布進行歸一化,使得所有概率之和為
1 。 其代價函數可以寫為: 其中,1{真}=1,1{假}=0. 12.23補充: 關于代價函數,softmax用的是cross-entropy loss,信息論中有個重要的概念叫做交叉熵cross-entropy, 公式是:
香農熵的公式:
softmax的應用:在人工神經網絡(ANN)中,Softmax常被用作輸出層的激活函數。其中,表示第L層(通常是最后一層)第j個神經元的輸入,表示第L層第j個神經元的輸出,表示自然常數。注意看,表示了第L層所有神經元的輸入之和。 不僅是因為它的效果好,而且它使得ANN的輸出值更易于理解,即神經元的輸出值越大,則該神經元對應的類別是真實類別的可能性更高。 12.17補充:softmax求導由公式(1)可知,softmax函數僅與分類有關: 其負對數似然函數為: 對該似然函數求導,得: 注:參考博客里上面求導公式有誤,已更正。 對于①條件:先Copy一下Softmax的結果(即prob_data)到bottom_diff,再對k位置的unit減去1 參考: https://en./wiki/Softmax_function https://zhuanlan.zhihu.com/p/25723112 http://ufldl./wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 https://www.cnblogs.com/maybe2030/p/5678387.html?utm_source=tuicool&utm_medium=referral http://blog.csdn.net/bea_tree/article/details/51489969#t10 https://github.com/YuDamon/Softmax https://www.cnblogs.com/neopenx/p/5590756.html |
|