多分類問題
神經網絡輸出多個類型,每個類型需要判斷正確的概率,這個時候logisticregression就不行了,我們就需要新的函數來解決這個問題,也就是softmax,稱歸一化指數函數。
softmax
公式
δ(z)=∑j=1mexpzjexpzi,i=1,...,m
例子
三個輸出爲y1=0.1,y2=0.3y3=0.6
softmax(y1)=e0.1+e0.3+e0.6e0.1=0.26
softmax(y2)=e0.1+e0.3+e0.6e0.3=0.32
softmax(y3)=e0.1+e0.3+e0.6e0.6=0.43
得到每個分類的概率,求loss,需要用交叉熵
交叉熵
什麼是交叉熵
先從幾個概念入手
信息熵
它是表示隨機變量不確定的度量,是對所有可能發生的事件產生的信息量的期望。
一條信息的信息量大小和它的不確定性有直接的關係。
公式
𝐻(𝑋)= -∑i=1np(xi)logp(xi)
例子
中國和巴西踢球,之前64場,中國贏一場(貌似不太可能)。
中國贏球概率:−log26463=0.023
巴西贏球概率:−log2641=6
信息熵:0.023×−log26463+6×−log2641=0.1164
條件熵
述 X 和 Y 所需的信息是描述 X 自己所需的信息,加上給定 X 的條件下具體化 Y 所需的額外信息。
公式
H(Y|X)=-x,y∑p(x,y)logp(y∣x)
例子
中國隊和菲律賓隊比賽統計,隨便造的,實在不知道選哪個國家了。。留給中國隊的弱隊不多了。
根據場地的勝負條件熵計算
jisuan
場地 |
勝負 | 次數 |
主場 |
勝 |
7 |
負 |
3 |
客場 |
勝 |
4 |
負 |
5 |
外場 |
勝 |
4 |
負 |
4 |
H(Y|X=主場)= −107×log(107)−103×log(103)=0.88
H(Y|X=客場)= −94×log(94)−95×log(95)=0.99
H(Y|X=主場)= −84×log(84)−84×log(184)=0.88
H(Y|X+場地)=0.88×2710+0.99×279+1×278=0.95
交叉熵
主要度量兩個概率分佈間的差異性信息。
公式
H(p,q)=-i=0∑np(xi)log(q(xi))
例子
分類 |
貓 |
狗 |
豬 |
label |
0 |
1 |
0 |
Pred |
0.3 |
0.6 |
0.1 |
H(p,q)= −(0×log(0.3)+1×log(0.6)+0×log(0.1))=−log(0.6)
推導
正 p(y=1|x)=y^
負 p(y=0|x)=1-y^
兩式合併
p(y|x)=y^×(1−y^)(1−y^)
取對數
logp(y∣x)=ylogy^+(1−y)log((1−y^))
L=−[ylogy^+(1−y)log((1−y^))]
其實和logistics迴歸類似。
C=−n1x∑[ylogy^+(1−y)log((1−y^))]
擴展到多個分類
H(p,q)=-i=0∑np(xi)log(q(xi))
求導
y=1
y^=∑jejei
∂i∂loss=(ylogy^)′=y^1(y^)′=ei∑jej(∑jejei)′=...復雜過程...=1−y^