機器學習筆記(三) 第三章 線性模型
3.1 基本形式
樣本x由d個屬性描述 x= (x1; x2;…; xd), 線性模型試圖學得一個通過屬性的線性組合來進行預測的函式: 向量形式: w和b學得之後,模型就得以確定.
3.2 線性迴歸
線性迴歸試圖學得 為確定w,b,學習到泛化效能最好的模型,因迴歸問題的效能度量為均方誤差,所以我們確定w、b的標準為最小化均方誤差(即找到一條擬合直線,是所有樣本到這條直線上的歐式距離最小,即擬合效果最好),方法為最小二乘法(由於均方誤差E(w,b)為關於w,b的凸函式,極值出現在使w、b導數為零的點)。 求解導數為零的點,得到w,b的最優解的閉式解
推導過程 對於多元線性迴歸,樣本由d個屬性描述,我們試圖學得模型:
3.3 對數機率迴歸
二分類任務(雖然叫回歸,但是一種分類學習方法),輸出標記y∈{0,1}。而線性迴歸模型產生的預測值是實值,需將實值z=wTx+b轉化為0/1值。 最理想的是單位階躍函式:
3.4 線性判別分析(LDA)
是一種分類方法。線性判別分析又稱為Fisher判別分析,是一種最簡單的線性分類器。 思想:給定一個訓練集,將訓練集上各樣例投影到一條直線上(降維),使相同類別的樣例的投影點儘可能近,不同型別的投影點儘可能遠。當對新鮮樣本進行分類時,也將其向這條直線上投影,再根據投影點位置確定新樣本的類別。 假設用來區分二分類的直線(投影函式)為: LDA分類的一個目標是使得不同類別之間的距離越遠越好,同一類別之中的距離越近越好,所以我們需要定義幾個關鍵的值: 類別i的原始中心點為:(Di表示屬於類別i的點) 類別i投影后的中心點為: 衡量類別i投影后,類別點之間的分散程度(方差)為: 這裡的y=wTx,是每個樣本投影后的點,不是樣本標籤(這裡要理解,對一個樣本來說(x,y)不是樣本座標,x就表示樣本點(座標),y只是樣本屬於某一類的一個標籤) 最終我們可以得到一個下面的公式,表示LDA投影到w後的損失函式: 分母表示每一個類別內的方差之和,方差越大表示一個類別內的點越分散,分子為兩個類別各自的中心點的距離的平方,越大說明兩類越遠。我們要使使得類別內的點距離越近越好(集中),類別間的點越遠越好,因此需要最大化J(w),求出最優的w。 下面我們將J(w)中的w提出來: 定義各類內散度矩陣**(協方差矩陣Σi:多個變數的方差之和,描述整體誤差): 分母可化為: 定義類間散度矩陣(範數:兩點間距離)**:
Sb=(m1-m2)(m1-m2)T
分子可化為: 即損失函式: 被稱為Sb與Sw的廣義瑞利商。LDA的目標即為最大化廣義瑞利商。 為確定w,使用拉格朗日乘子法,並且不失一般性的將分母限制為1,只需確定出w的方向,等價於: 使用拉格朗日乘子法: 由於Sbw的方向恆為μ0-μ1,有: 即得: 可將LDA推廣到多分類任務中 定義全域性散度矩陣: 其中 μ 是所有示例的均值向量 類內散度矩陣變為 得到(其中mi是每類樣本的樣本數): 優化目標選用: W 的閉式解則是 Sw-1Sb 的 N 一 1 個最大廣義特徵值所對應的特徵向量組成的矩陣.
3.5 多分類學習
多分類學習任務。有些二分類學習方法可直接推廣到多分類;而更一般的,我們是基於基本策略,利用二分類學習器解決多分類任務。 考慮N個類別C1、C2、…、CN,基本思路:拆解法,將多分類任務拆解成多個二分類任務。 拆分策略: “一對一” (One vs. One,簡稱 OvO)、 “一對 其餘” (One vs. Rest,簡稱 OvR)和"多對多" (Many vs. Many,簡稱 MvM). OvO:
- 將N個類別兩兩配對,從而形成CN2=N(N-1)/2個分類任務,利用選擇的兩個類訓練,最後將新樣本同時送給這N(N-1)/2個分類器,把預測的最多的結果作為最終分類結果。
- 儲存開銷和測試時間開銷大,但訓練時間開銷小
OvR:
- 每次將一類作為正例,剩餘的作為反例來訓練N個分類器,此時若有一個分類器將測試樣本預測為正例,則作為最終預測結果。若有多個分類器預測為正類,選擇置信度最大的類別標記作為分類結果。
- 訓練時間開銷大,儲存開銷和測試開銷小。
MvM:是每次將若干個類作為正類,若干個其他類作為反類。正、反類的構造必須有特殊的設計,不能隨意選 取。常用ECOC“糾錯輸出碼”構造。
- 編碼:對N個類別進行M次劃分,每次將一部分類作為正類,另外作為反類,形成M個二分類訓練集,訓練出M個分類器
- 解碼:M個個分類器對測試樣本預測,預測標記組成一個編碼,與各個類別各自的編碼進行比較,返回其中距離(一般採用歐式距離,海明距離:(編碼有幾位不同海明距離就是幾)不好判斷)最小的類別作為預測結果。
編碼越長越好,但對有限類別數,碼長超過一定範圍就失去了意義
3.6 類別不平衡
不同類別的訓練樣本要求數目相當,若差距很大,就是類別不平衡狀況。 常遇到,正例較少,反例卻多,如OvR,MvM雖然每個類經過多次進行了相同處理,但有時仍不能完全抵消類別不平衡的影響,所以需要了解類別不平衡的處理方法。 再縮放::滿足無偏取樣下:訓練集中總體類別比例與真實情況下保持一致。 將更改的預測值(帶撇的)用下式進行決策。 欠取樣:去除一些反例使得正反例數目平衡(隨機丟棄反例可能丟失重要資訊,採用將反例劃分為若干集合供給不同學習器,整體上未丟失重要資訊) 過取樣:增加一些正例(如採用對當前正例樣本插值產生新正例) 閾值移動:將再縮放加入到決策過程