Logistic 函數 vs Softmax 函數
嘿,大家好。你知道機器學習中的分類模型么?你知道 Softmax 和 Logistic 函數么?如果你不是很了解這些內容的話,那麼請繼續往下看吧。
眾所周知,機器學習中最經典的模型是分類模型。根據維基百科的敘述,分類模型(監督學習模型)是根據標記數據來推斷未知樣本歸屬類別的模型。
為了簡化起見,我們的數據集中標籤的數目必須是有限的,即對於一張貓的照片我們需要計算機告訴我們這是一隻貓。
本文中用到的圖片全部來自於Pixabay(https://pixabay.com/),該網站上提供了許多免費照片。
首先我們來看一個簡單的分類模型——二分類問題,比如判斷圖片中是否存在貓。本文中主要採用一個黑箱模型——神經網路模型,不過本文的重點並不是介紹神經網路模型的建模過程,而是關注該模型的最後一個計算步驟。
Advertisements
對於黑箱模型來說,我們無法得知其內部的構建過程,我們只能得到給定輸入結果對應的預測標籤。相反地,同樣存在白箱模型,我們不但能獲取輸出結果,還能得知模型的內部結構。
因此,神經網路的計算模塊是一個黑箱過程,我們輸入一張圖片,該模型返回相應的標籤結果。輸出結果如下所示:
為了獲得輸出結果所對應的標籤情況,我們需要利用 logistic 函數,其形式如下所示:
從上圖我們可以看出,該函數可以很好地處理二分類問題:當概率值大於 0.5 時,我們認為該樣本屬於類 『1』,而當概率值小於 0.5 時,我們認為該樣本屬於類 『0』。
轉換后的結果如下所示:
那麼,什麼是 Softmax 函數呢?該函數通常用於處理多分類問題,它可以計算得到樣本歸屬於每個類別的概率。
Advertisements
比如,
那麼問題來了,給定某個樣本它歸屬於每個類別的概率分別是多少呢?我們假設每個樣本只能有一個標籤,此時我們利用 Softmax 函數即可獲得樣本歸屬於每個類別的概率,該函數的形式非常簡單:
因此,我們可以得到給定樣本的概率向量:
需要注意的是,這些概率值的總和為1。
總結
Softmax 函數通過給定的任意向量輸出對應的概率值,它可以處理多標籤分類問題。
Logistic 函數通過給定的任意向量輸出 Sigmoid 函數的值,它可以處理二分類問題。
如果你發現本文中存在問題,請及時告訴我,我很樂意聽到這些消息並從中學會更多的知識。
一些有用的鏈接
Udacity course on ML
Wikipedia article for sigmoid function
Wikipedia article for softmax function
***
更多課程和文章盡在微信號:「datartisan數據工匠」
原文鏈接:https://medium.com/@demidovs/ml-1-logistic-function-vs-softmax-44c73399c3c4#.78vsb0ato
原文作者:Alexander Demidovskij
譯者:Fibears