本章節是對我學習完機器學習(周志華)第三章 所做出來的總結
第三章 線性模型
3.1 基本形式
線性模型形式簡單、易于建模,但卻蘊含著機器學習中一些重要的基本思想。許多功能更為強大的非線性模型可在線性模型的基礎上通過引入層級結構或高維映射可得。
線性模型有很好的可解釋性。
3.2 線性回歸
“線性回歸”試圖學得一個線性模型以盡可能準確的預測實值輸出標記。
均方誤差是回歸任務中最常用的性能度量。均方誤差有非常好的幾何意義,它對應了常用的歐幾里得距離或簡稱“歐氏距離”。基于均方誤差最小化來進行模型求解的方法稱為“最小二乘法”。在線性回歸中,最小二乘法就是試圖找到一條直線,使所有樣本到直線上的歐氏距離之和最小。
PS.最小二乘法用途很廣,不僅限于線性回歸。
線性回歸可參考:https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92/8190345?fr=aladdin
3.3 對數幾率回歸
用回歸模型的預測結果去逼近真實標記的對數幾率,因此,其對應的模型稱為“對數幾率回歸”,簡稱“對率回歸”。這是一種分類學習方法。
優點:
1.直接對分類可能性進行建模,無需事先假設數據分布,避免了假設分布不準確所帶來的問題。
2.不僅預測出“類別”,而是可得到近似概率預測,這對許多需利用概率輔助決策的任務很有用。
對率回歸求解的目標函數是任意階可導的凸函數,有很好的數學性質,現有的許多數值優化算法都可直接用于求取最優解。
對數幾率回歸推導可參考:https://blog.csdn.net/hongbin_xu/article/details/78270526
3.4 線性判別分析
線性判別分析(簡稱“LDA”)是一種經典的線性學習方法。
LDA的思想:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點盡可能接近、異類樣例的投影點盡可能遠離;在對新鮮樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別。
3.5 多分類學習
多分類學習的基本思路是“拆解法”,即將多分類任務拆為若干個二分類任務求解。具體來說,先對問題進行拆分,然后為拆出的每個二分類任務訓練一個分類器;在測試時,對這些分類器的預測結果進行集成一伙的最終的多分類結果。
最經典的拆分策略有三種:“一對一”(簡稱“OvO”)、“一對其余”(簡稱“OvR”)和“多對多”(簡稱“MvM”)。
OvO將N個類別兩兩配對,從而產生N(N-1)/2個二分類任務,最終結果可通過投票產生:即把被預測得最多的類別作為最終分類結果。
OvR則是每次將一個類的樣例作為正例、所有其他類的樣例作為反例來訓練N個分類器。在測試時若僅有一個分類器預測為正例,則對應的類別標記作為最終分類結果。若有多個分類器預測為正類,則通常考慮各分類器的預測置信度,選擇置信度最大的類別標記作為分類結果。
區別:OvR只需訓練N個分類器,而OvO需訓練N(N-1)/2個分類器,因此,OvO的存儲開銷和測試時間通常比OvR更大。但在訓練時OvR的每個分類器均使用全部樣例,而OvO的每個分類器僅使用到兩個類的樣例,因此在類別很多時,OvO的訓練時間開銷通常比OvR更小。至于預測性能,則取決于具體的數據分布,在多數情況下兩者差不多。
MvM是每次將若干個類作為正類,若干個其他類作為反類。顯然,OvO與OvR是MvM的特例。
糾錯輸出碼(簡稱“ECOC”)是將編碼的思想引入類別拆分,并盡可能在解碼過程中具有容錯性。
ECOC工作過程分為兩步:
編碼:對N個類別做M次劃分,每次劃分將一部分類別劃為正類,一部分劃為反類,從而形成一個二分類訓練集;這樣一共產生M個訓練集,可訓練出M個分類器。
解碼:M個分類器分別對測試樣本進行預測,這些預測標記組成一個編碼。將這個預測編碼與每個類別各自的編碼進行比較,返回其中距離最小的類別作為最終預測結果。
類別劃分通過“編碼矩陣”指定。編碼矩陣有多種形式。常見的有二元碼和三元碼。前者將每個類別分別指定為正類和反類,后者在正、反類之外,還可指定“停用類”。
為什么稱為“糾錯輸出碼"?
因為在測試階段,ECOC編碼對分類器的錯誤有一定的容忍和修正能力。
對同一個學習任務,ECOC編碼越長,糾錯能力越強,但,編碼越長,意味著所需的訓練的分類器越多,計算、存儲開銷都會增大;另一方面,對有限類別數,可能的組合數目是有限的,碼長超過一定范圍后就失去了意義。
對同等長度的編碼,理論上來說,任意兩個類別之間的編碼距離越遠,則糾錯能力越強。
通常不需要獲得理論最優編碼,因為非理論最優編碼在實踐中往往已能產生足夠好的分類器。
并不是編碼的理論性質越好,分類性能越好,因為機器學習問題涉及很多因素。
3.6 類別不平衡問題
類別不平衡就是指分類任務中不同類別的訓練樣例數目差別很大的情況。
類別不平衡學習的一個基本策略——“再縮放”。
“再縮放”在現有技術上有三類做法:第一類是直接對訓練集里的反類樣例進行“欠采樣”,即去除一些反例使得正、反例數目接近,然后再進行學習。
第二類是對訓練集里的正類樣例進行“過采樣”,即增加一些正例使得正、反例數目接近,然后再進行學習。
第三類是直接基于原始訓練集進行學習。
欠采樣法的時間開銷通常遠小于過采樣法,因為前者丟棄了很多反例,使得分類器訓練集遠小于初始訓練集,而過采樣法增加了很多正例,其訓練集大于初始訓練集。
注意:過采樣法不能簡單地對初始正例樣本進行重復采樣,否則會招致嚴重的過擬合;欠采樣法若隨機丟棄反例,可能丟棄一些重要信息。
“再縮放”也是“代價敏感學習”的基礎。