1. 程式人生 > >機器學習筆記(三) 第三章 線性模型

機器學習筆記(三) 第三章 線性模型

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個屬性描述,我們試圖學得模型: 在這裡插入圖片描述

資料集D描述為m×(d+1)大小的矩陣(含有偏置列1,即每個樣本多一個屬性恆為1),w和b併為一個向量(w;b),把標記也寫成向量形式y=(y1;y2;y3;…;ym): 在這裡插入圖片描述所以此時均方誤差為X(m×2),w^(2×1),y(m×1) 我們需要確定使其最小時的w^: 在這裡插入圖片描述 求導得到 在這裡插入圖片描述 可以根據此式解得w^矩陣,當XTX滿秩(可逆),可得:在這裡插入圖片描述 然而,現實中往往不是滿秩的,此時可解的多個w^,此時一般一如正則化。 廣義線性模型,函式g(·)為聯絡函式(將線性迴歸模型與其他非線性的真實標記相聯絡),需要光滑且連續 在這裡插入圖片描述

3.3 對數機率迴歸

二分類任務(雖然叫回歸,但是一種分類學習方法),輸出標記y∈{0,1}。而線性迴歸模型產生的預測值是實值,需將實值z=wTx+b轉化為0/1值。 最理想的是單位階躍函式: 在這裡插入圖片描述

但單位階躍函式不連續,不能作為聯絡函式,無法使用廣義線性模型求解w,b(非凸函式不能優化)。使用對數機率函式(是一種sigmoid函式)替代階躍函式,作為g-1(·): 在這裡插入圖片描述 將z值轉化為y,y∈(0,1),將y看做x為正例的可能性,g(y)=ln(y/1-y)即為對真實標記的對數機率預測,不僅預測出類別,且表明了近似概率。 為確定w和b,此時由於假設函式非線性,若直接使用迴歸問題的均方誤差(使用求差的形式 p(y=1 or 0|x)-y),得到的均方誤差(代價函式)是非凸的,無法進行優化。 考慮y為類後驗概率(p(w|x),除此之外還有幾個概念:先驗概率p(w),類條件概率p(x|w),p(x)=∑p(x|w)p(w),p(w|x)=p(w)p(x|w)/p(x)),可以得到: 在這裡插入圖片描述
通過極大似然法(給定觀察資料來評估模型引數的方法,即:“模型已定,引數未知”。通過若干次試驗,觀察其結果,利用試驗結果得到某個引數值能夠使樣本出現的概率為最大,則稱為極大似然估計。利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的引數值。)來估計w和b,令每個樣本屬於其真實標記的概率越大越好。 似然函式 l(θ)=p(D|θ),可以理解為引數為θ的模型對訓練樣本預測的結果恰好是資料集D的概率,越大說明擬合程度越好(相當於用求積的形式取代了求差的形式,更上層的意義是因為這是分類問題,而不是迴歸問題以分類正確概率作為度量,這樣得到的函式可以經過對數變化後變為凸函式,可進行優化): 在這裡插入圖片描述 其中p(xi|θ)(這裡用了β,兩個地方的圖片傷不起。。): 在這裡插入圖片描述 (這裡有兩種表示概率的方法,一種如上公式所示,還有一種指數形式在這裡插入圖片描述 ) 要求得使似然函式最大是引數的取值θ。為便於分析,定義對數似然函式, 在這裡插入圖片描述 最大化上式等價於最小化下式: 在這裡插入圖片描述 再對該函式進行凸優化,這裡凸優化只能使用數值優化演算法,無解析優化演算法,如使用梯度下降法或牛頓法求解,得到迭代形式的解。

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的方向恆為μ01,有: 在這裡插入圖片描述 即得: 在這裡插入圖片描述 在這裡插入圖片描述 可將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雖然每個類經過多次進行了相同處理,但有時仍不能完全抵消類別不平衡的影響,所以需要了解類別不平衡的處理方法。 再縮放::滿足無偏取樣下:訓練集中總體類別比例與真實情況下保持一致。 在這裡插入圖片描述 在這裡插入圖片描述 將更改的預測值(帶撇的)用下式進行決策。 欠取樣:去除一些反例使得正反例數目平衡(隨機丟棄反例可能丟失重要資訊,採用將反例劃分為若干集合供給不同學習器,整體上未丟失重要資訊) 過取樣:增加一些正例(如採用對當前正例樣本插值產生新正例) 閾值移動:將再縮放加入到決策過程