1. 程式人生 > >Softmax 函式的特點和作用(轉載)

Softmax 函式的特點和作用(轉載)

Logistic 分類器

分類問題,是機器學習裡最基礎的問題。
我們從最簡單的二分類任務開始考慮,假設我們要分類西瓜是否成熟的話,則對於每一個西瓜來說,就有兩種結果:{}。首先我們必須自己知道如何判斷一個西瓜“熟”或者“不熟”,或者是根據顏色,或者是敲打的聲音,這是下一步我們將其轉成數學的對映關係的基礎。
為了建立數學模型,我們必須將這個判斷西瓜是否成熟的任務轉換成數學關係。假設“熟”對應於數軸上的“1”,不熟對應於數軸上的“0”。下一步我們需要找到兩個對映關係ϕ1ϕ2

  1. ϕ1將需要分類的西瓜樣本(假設為s)對映到一個數軸上,ϕ1(s)
    =z
  2. 再使用ϕ2(z)將第一個對映的結果對映到標籤分類上。

假設分類標記為{0,1},通常我們會選擇這樣一個階躍函式從而建立起第二個對映ϕ2

ϕ2(z)={0,z<00.5,z=01,z>0
但是這樣的階躍函式,由於是不連續的,在計算過程中不可導,因此,一般用一個對數機率函式(logistic function)來替代。需要注意的是,這種替代並不是唯一的。對數機率函式(logistic function)有這樣的形式:
ϕ2(z)=11+ez
它的函式影象是這樣的:
logistic function
可以看出,在
z
大於0時,函式值能夠迅速偏向1,而小於0時,則是迅速偏向了0。

softmax函式

對於二分類任務,由於結果只有兩種,ϕ1(x)將樣本x對映到數軸上。而拓展到多分類任務時,假設有n種結果,那麼ϕ1(x)會對映到一個n維向量(y={c1,c2,...,cn})當中。向量中的每一維,都對應著一個可能的分類結果(ci=0或1)。由於結果是互斥的,所以y存在以下n種形式:

y1=[100],y2=[010],,yn=[001
]

先看下softmax函式的公式:

P(y|x)=eh(x,yi)j=1neh(x,yi)

Softmax 的輸出表徵了不同類別之間的相對概率
假設最後輸出的向量是: