分類問題和回歸問題是監(jiān)督學(xué)習(xí)的兩大種類:
- 分類問題的目標(biāo)變量是離散的侈沪;
- 回歸問題的目標(biāo)變量是連續(xù)的數(shù)值揭璃。
神經(jīng)網(wǎng)絡(luò)模型的效果及優(yōu)化的目標(biāo)是通過損失函數(shù)來定義的⊥ぷ铮回歸問題解決的是對具體數(shù)值的預(yù)測瘦馍。比如房價(jià)預(yù)測、銷量預(yù)測等都是回歸問題应役。這些問題需要預(yù)測的不是一個(gè)事先定義好的類別情组,而是一個(gè)任意實(shí)數(shù)燥筷。解決回顧問題的神經(jīng)網(wǎng)絡(luò)一般只有一個(gè)輸出節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)的輸出值就是預(yù)測值院崇。
- 對于回歸問題肆氓,常用的損失函數(shù)是均方誤差(MSE,Mean Squared Error)底瓣。
- 對于分類問題谢揪,常用的損失函數(shù)為交叉熵(CE,Cross Entropy)捐凭。
交叉熵一般與one-hot和softmax在一起使用拨扶。
one-hot 編碼
在分類問題中,one-hot編碼是目標(biāo)類別的表達(dá)方式茁肠。目標(biāo)類別需要由文字標(biāo)簽患民,轉(zhuǎn)換為one-hot編碼的標(biāo)簽。one-hot向量垦梆,在目標(biāo)類別的索引位置是1匹颤,在其他位置是0。類別的數(shù)量就是one-hot向量的維度托猩。在one-hot編碼中印蓖,假設(shè)類別變量之間相互獨(dú)立。同時(shí)站刑,在多分類問題中另伍,one-hot與softmax組合使用。
import numpy as np
def prp_2_oh_array(arr):
"""
概率矩陣轉(zhuǎn)換為OH矩陣
arr = np.array([[0.1, 0.5, 0.4], [0.2, 0.1, 0.6]])
:param arr: 概率矩陣
:return: OH矩陣
"""
arr_size = arr.shape[1] # 類別數(shù)
arr_max = np.argmax(arr, axis=1) # 最大值位置
oh_arr = np.eye(arr_size)[arr_max] # OH矩陣
return oh_arr
softmax
softmax使得神經(jīng)網(wǎng)絡(luò)的多個(gè)輸出值的總和為1绞旅,softmax的輸出值就是概率分布摆尝,應(yīng)用于多分類問題。softmax也屬于激活函數(shù)因悲。softmax堕汞、one-hot和cross-entropy,一般組合使用晃琳。
softmax probabilities + one-hot encoding + cross entropy
cross-entropy
交叉熵(cross entropy)比較softmax輸出和one-hot編碼之間的距離讯检,即模型的輸出和真值。交叉熵是一個(gè)損失函數(shù)卫旱,錯(cuò)誤值需要被優(yōu)化至最小人灼。神經(jīng)網(wǎng)絡(luò)估計(jì)輸入數(shù)據(jù)在各個(gè)類別中的概率。最大的概率需要是正確的標(biāo)簽顾翼。
常見的損失函數(shù):
- MSE:Mean Squared Error投放,均方誤差;
- CE:Cross Entropy适贸,交叉熵灸芳;
其中涝桅,y是真值,h是預(yù)測值烙样。
softmax和交叉熵的推導(dǎo)冯遂,參考:
C是交叉熵,z是wx+b谒获,再對w求導(dǎo)蛤肌,根據(jù)鏈?zhǔn)椒▌t,w的導(dǎo)數(shù)值究反,就是C的導(dǎo)數(shù)乘以w的導(dǎo)數(shù)寻定。
關(guān)于為什么分類不使用MSE作為損失函數(shù)儒洛?
(1) MSE+softmax所輸出的曲線是波動(dòng)的精耐,有很多局部的極值點(diǎn),即非凸優(yōu)化問題(non-convex)琅锻,參考:
(2) 對于正確分類的數(shù)據(jù)點(diǎn)卦停,CE梯度有一項(xiàng)趨近0,MSE中有兩項(xiàng)趨近于0恼蓬,也就是MSE的梯度消失速度是CE的平方惊完;參考
(3) 代理損失函數(shù)(surrogate loss function),參考处硬,準(zhǔn)確率(accuray)是不連續(xù)的小槐,所以需要用連續(xù)的函數(shù)來代理,而優(yōu)化MSE荷辕,并不能優(yōu)化模型的準(zhǔn)確度凿跳。
為什么回歸問題使用MSE?
最小二乘是在歐氏距離為誤差度量的情況下疮方,由系數(shù)矩陣所張成的向量空間內(nèi)對于觀測向量的最佳逼近點(diǎn)控嗜。
用歐式距離作為誤差度量的原因:
- 簡單。
- 提供了具有很好性質(zhì)的相似度的度量骡显。
- 非負(fù)的;
- 唯一確定性疆栏。只有 x=y 的時(shí)候,d(x,y)=0惫谤;
- 對稱的壁顶,即 d(x,y)=d(y,x);
- 符合三角性質(zhì)溜歪。即 d(x,z)<=d(x,y)+d(y,z).
- 物理性質(zhì)明確若专,在不同的表示域變換后特性不變,例如帕薩瓦爾等式痹愚。
- 便于計(jì)算富岳。通常所推導(dǎo)得到的問題是凸問題蛔糯,具有對稱性,可導(dǎo)性窖式。通常具有解析解蚁飒,此外便于通過迭代的方式求解。
- 和統(tǒng)計(jì)和估計(jì)理論具有關(guān)聯(lián)萝喘。在某些假設(shè)下淮逻,統(tǒng)計(jì)意義上是最優(yōu)的。
MSE的缺點(diǎn):
- 信號(hào)的保真度和該信號(hào)的空間和時(shí)間順序無關(guān)阁簸。即爬早,以同樣的方法,改變兩個(gè)待比較的信號(hào)本身的空間或時(shí)間排列启妹,它們之間的誤差不變筛严。例如,[1 2 3], [3 4 5] 兩組信號(hào)的 MSE 和 [3 2 1],[5 4 3] 的 MSE 一樣饶米。
- 誤差信號(hào)和原信號(hào)無關(guān)桨啃。只要誤差信號(hào)不變,無論原信號(hào)如何檬输,MSE 均不變照瘾。例如,對于固定誤差 [1 1 1]丧慈,無論加在 [1 2 3] 產(chǎn)生 [2 3 4] 還是加在 [0 0 0] 產(chǎn)生 [1 1 1]析命,MSE 的計(jì)算結(jié)果不變。
- 信號(hào)的保真度和誤差的符號(hào)無關(guān)逃默。即對于信號(hào) [0 0 0]鹃愤,與之相比較的兩個(gè)信號(hào) [1 2 3] 和[-1 -2 -3] 被認(rèn)為和 [0 0 0] 具有同樣的差別。
- 信號(hào)的不同采樣點(diǎn)對于信號(hào)的保真度具有同樣的重要性笑旺。