【機器學習筆記08】分類器(softmax迴歸)
阿新 • • 發佈:2018-12-12
基本定義
首先給出softmax的數學定義,如下:
softmax是用於進行多目標分類的,也就是當我們得到一堆輸入樣本x(x是一個包含多個特徵的向量)時,它可能屬於型別A、也可能屬於型別B。就想多層神經網路最後新增的softmax層一樣,輸出的是一個概率。比如輸入的人臉,在輸出時可以是張三的概率0.4,李四的概率0.6。
回到上面數學公式,模型是這樣一批條件概率的組合,即引數為 (注意這裡的不是隨機變數)下,輸出關於為某一個分類的條件概率。後面增加是為了做歸一化,也就是所有概率加起來是1。
代價函式
這裡要單獨把代價函式拿出來,其實logistic迴歸的問題也一樣,即要回答在概率情況下我們用什麼樣的方式來表示代價?好比在一個距離空間裡我們用什麼來定義距離。
1. 自資訊
在資訊理論基礎下,認為資訊中包含一個事件,其發生概率越小越有用。例如“今天天晴”和“今天台風”相比,後者發生概率更小,資訊量更大。用白話說就是大家都知道的就是廢話。
2. 夏農熵
自資訊只是一個資訊單個的,而我們定義整個分佈的資訊為夏農熵(在連續時也稱為微分熵):也就是
舉例:對於二項分佈其夏農熵相對於概率p為:
3. KL散度
如果同一個隨機變數有兩種獨立的概率分佈P(X)和Q(X),則兩種分佈的差異定義為: 當KL散度為0時,則認為兩者具有相同的分佈形式。也可以寫為
舉例: 採用均勻分佈來近似觀察分佈的KL散度為a 採用二項分佈來近似觀察分佈的KL散度為b 若a > b,則認為二項分佈與觀測分佈更加接近,因為KL散度更小。
對於softmax的代價損失函式及梯度
對於訓練集,其中
我們定義引數下,將x分類到的概率為:
通過上一部分夏農熵的概念,我們定義softmax的損失函式如下:
,對此公式求