1.深度學習的引入
組合低層特征,形成了更加抽象的高層特征。
表達式中的u,w參數需要在訓練中通過反向傳播多次迭代調整,使得整體的分類誤差最小。
深度學習網絡往往包含多個中間層(隱藏層),且網絡結構要更復雜一些。
2.數據集及其拆分
Iris(鳶尾花)數據集
分類特征:花萼和花瓣的寬度和長度
數據集在數學上通常表示為{(x1,y1),(x2,y2),...,(xi,yi),...,(xm,ym)},其中xi為樣本特征。由於樣本(即一行)一般有多個特征,因而
,而yi表示樣本i的類別標簽。
,而yi表示樣本i的類別標簽。
ground truth:翻譯為地面實況。機器學習領域一般用於表示真實值、
標准答案等,表示通過直接觀察收集到的真實結果。
gold standard:金標准,醫學上一般指診斷疾病公認的最可靠的方法。
機器學習領域更傾向於使用ground truth,如果用gold standard則表示可以很好地代表ground truth。
數據集與有監督學習:
有監督學習中數據通常分成訓練集、測試集兩部分。
訓練集( training set)用來訓練模型,即被用來學習得到系統的參數取值。
測試集( testing set)用於最終報告模型的評價結果,因此在訓練階段測試集中的樣本應該是不可見的。
對訓練集做進一步划分為訓練集和驗證集 validation set)。驗證集與測試集類似,也是用於評估模型的性能。區別是驗證集主要用於模型選擇和調整超參數,因而一般不用於報告最終結果。
訓練集測試集拆分:
- 留出法( Hold-out Method)數據拆分步驟
1.將數據隨機分為兩組,一組做為訓練集,一組做為測試集
2.利用訓練集訓練分類器,然后利用測試集評估模型,記錄最后的分類准確率為此分類器的性能指標
- K折交叉驗證
過程:
1.數據集被分成K份(K通常取5或者10)
2.不重復地每次取其中一份做測試集,用其他K1份做訓練集訓練,這樣會得到K個評價模型
3.將上述步驟2中的K次評價的性能均值作為最后評價結果
K折交叉驗證的上述做法有助於提高評估結果的穩定性
- 分層抽樣策略(Stratified k-fold)
將數據集划分成k份,特點在於,划分的k份中,每一份內各個類別數據的比例和原始數據集中各個類別的比例相同。
K折交叉驗證的應用-用網格搜索來調超參數
什么是超參數?指在學習過程之前需要設置其值的一些變量,而不是通過訓練得到的參數數據。如深度學習中的學習速率等就是超參數。
什么是網格搜索?
- 假設模型中有2個超參數:A和B。A的可能取值為{a1,a2,a3},B的可能取值為連續的,如在區間[0-1]。由於B值為連續,通常進行離散化,如變為{0,0.25,0.5,0.75,1.0}
- 如果使用網格搜索,就是嘗試各種可能的(A,B)對值,找到能使的模型取得最高性能的(A,B)值對。
網格搜索與K折交叉驗證結合調整超參數的具體步驟:
- 確定評價指標(准確率等)
- 對於超參數取值的每種組合,在訓練集上使用交叉驗證的方法求得其K次評價的性能均值
- 最后,比較哪種超參數取值組合的性能最好,從而得到最優超參數的取值組合。
3.分類及其性能度量
分類問題是有監督學習的一個核心問題。分類解決的是要預測樣本屬於哪個或者哪些預定義的類別。此時輸出變量通常取有限個離散值。
分類的機器學習的兩大階段:
- 從訓練數據中學習得到一個分類決策函數或分類模型,稱為分類器( classifier);
- 利用學習得到的分類器對新的輸入樣本進行類別預測。
兩類分類問題與多類分類問題:
多類分類問題也可以轉化為兩類分類問題解決,如采用一對其余One-Vs-Rest的方法:將其中一個類標記為正類,然后將剩余的其它類都標記成負類。
分類性能度量
假設只有兩類樣本,即正例(positive和負例 negative)。通常以關注的類為正類,其他類為負類。
表中AB模式:第二個符號表示預測的類別,第一個表示預測結果對了(True)還是錯了(False)
- 分類准確率( accuracy):分類器正確分類的樣本數與總樣本數之比
- 精確率( precision):反映了模型判定的正例中真正正例的比重。在垃圾短信分類器中,是指預測出的垃圾短信中真正垃圾短信的比例。
- 召回率( recall):反映了總正例中被模型正確判定正例的比重。醫學領域也叫做靈敏度( sensitivity)。在垃圾短信分類器中,指所有真的垃圾短信被分類器正確找出來的比例。
P-R曲線:
如何繪制?要得到PR曲線,需要一系列 Precision和Recall的值。這些系列值是通過閾值來形成的。對於每個測試樣本,分類器一般都會給了“Score”值,表示該樣本多大概率上屬於正例。
步驟:
- 從高到低將“ Score"值排序並依此作為閾值 threshold;
- 對於每個閾值,“ Score"值大於或等於這個 threshold的測試樣本被認為正例,其它為負例。從而形成一組預測數據。
Area( Area Under Curve,或者簡稱AUC):有助於彌補P、R的單點值局限性,可以反映全局性能。
Area的定義(p-r曲線下的面積):
F值:
ROC(受試者工作特征曲線,receiver operating characteristic curve)描繪了分類器在 tp rate(真正正例占總正例的比率,反映命中概率,縱軸)和fp rate(錯誤的正例占反例的比率,反映誤診率、假陽性率、虛驚概率,橫軸)間的trade-off。ROC曲線繪制和P-R曲線類似。
ROC- AUC( Area Under Curve)定義為ROC曲線下的面積
AUC值提供了分類器的一個整體數值。通常AUC越大,分類器更好。取值范圍為[0,1]
分類性能可視化
混淆矩陣的可視化:可用熱圖(heatmap)直觀展現類別的混淆情況
分類報告:顯示每個類的分類性能,包括每個類標簽的精確率、召回率、F1值等。
4.回歸問題及其性能分析
回歸分析( regression analysis)是確定兩種或兩種以上變量間相互依賴的定量關系的一種統計分析方法,和分類問題不同,回歸通常輸出為一個實數數值。而分類的輸出通常為若干指定的類別標簽。
回歸性能度量方法:
- 平均絕對誤差MAE
MAE( Mean absolute error)是絕對誤差損失( absolute error loss)的期望值。
- 均方差MSE
MSE( Mean squared error)該指標對應於平方誤差損失( squared errorloss)的期望值。
均方根差RMSE:是MSE的平方根
- logistic回歸損失(二類)
簡稱 Log loss,或交叉熵損失( cross-entropy loss),常用於評價邏輯回歸LR和神經網絡
對於二類分類問題:
1.假設某樣本的真實標簽為y(取值為0或1),概率估計為p=pr(y=1),
2.每個樣本的 log loss是對分類器給定真實標簽的負log似然估計(negative log-likelihood)
eg.下面y_pred的每個元素有兩個值,分別表示該樣本屬於不同類標簽的概率,兩數之和為1。
-
logistic回歸損失(多類)
對於多類問題( multiclass problem),可將樣本的真實標簽( true label)編碼成1-of-K(K為類別總數)的二元指示矩陣Y:
舉例:假設K=3,即三個類
假設模型對測試樣本的概率估計結果為P,則在測試集(假設測試樣本總數為N)上的交叉熵損失表示如下:
其中yi,k表示第個樣本的第k個標簽的真實值(即ground truth,具體含義為第i個樣本是否屬於第k個標簽),注意由於表示為“1-of-K模式因此每個樣本只有其中一個標簽值為1,其余均為0。pi,k表示模型對第i個樣本的第k個標簽的預測值。
舉例:6個樣本,三個類
回歸評價的真實標簽(即ground truth)如何獲得?
MAE,RMSE(MSE)常用於評分預測評價,eg很多提供推薦服務的網站都有一個讓用戶給物品打分的功能預測用廣對物品評分的行為稱為評分預測。
5.一致性的評價方法
一致性評價是指對兩個或多個相關的變量進行分析,從而衡量其相關性的密切程度。
假設兩評委( rater)對5部電影的評分如下,則二者的一致如何?
rater1=[0.5,1.6,25,25,24]
rater2=[1.5,26,35,3.5,34]
-
皮爾森相關系數法
應用背景:用來衡量兩個用戶之間興趣的一致性
用來衡量預測值與真實值之間的相關性
既適用於離散的、也適用於連續變量的相關分析
X和Y之間的皮爾森相關系數計算公式:
其中,cov(X,Y)表示X和Y之間的協方差( Covariance),
是X的均方差,
是X的均值,E表示數學期望
是X的均方差,
是X的均值,E表示數學期望
取值區間為[1,1]。-1:完全的負相關,+1:表示完全的正相關,0:沒有線性相關。
-
Cohen's kappa相關系數
與 皮爾森相關系數的區別:Cohens kappa相關系數通常用於離散的分類的一致性評價。
其通常被認為比兩人之間的簡單一致百分比更強壯,因為 Cohenskappa考慮到了二人之間的隨機一致的可能性
如果評價者多於2人時,可以考慮使用Fleiss' kappa
Cohen's kappa的計算方法:
kappa score是一個介於-1到+1之間的數。
