3.1基本形式
線性模型的向量形式:
其中x=(x1,x2...),x1表示示例x在第1個屬性的取值。w表示個各屬性在預測中的重要性。例如
表示通過色澤、根蒂和敲聲來判斷是否好瓜,其中根蒂最重要,再者敲聲,最后色澤
3.2線性回歸?
線性回歸試圖學得一個線性模型以盡可能準確地預測實值輸出標記。即試圖學得
確定w和b關鍵在于衡量f(x)和y之間的差別
對離散屬性,若屬性之間存在”序“關系,可通過連續化將其轉化為連續值。例如二值屬性“身高”的取值高和矮可轉化為{1.0,0.0},三值屬性“高度”取值高、中、低可轉化為{1.0,0.5,0.0},若屬性之間不存在序關系,假定由k個屬性值則轉化為k維向量,例如“瓜類”的取值西瓜、南瓜、黃瓜可轉化為(0,0,1),(0,1,0),(1,0,0)
均方誤差是回歸任務中最常用的性能度量,試圖讓均方誤差最小化
機器學習基礎篇——均方誤差 - 東方神劍的個人頁面 - 開源中國
均方誤差對應了常用的歐幾里得距離或簡稱歐氏距離。
基于均方誤差最小化來進行模型求解的方法稱為“最小二乘法”,在線性回歸中最小二乘法試圖尋找一條直線,使所有樣本到直線上的歐式距離最小
求解w和b使
最小化的過程,稱為線性回歸模型的最小二乘“參數估計”。讓它分別對w和b求導,得到
令式(3.5)和(3.6)為0可得w和b最優解的閉式解(為x的均值)
假設樣本由d個屬性描述,“多元線性回歸”試圖學得
可利用最小二乘法對w和b進行估計,把w和b吸入向量形式=(w;b),把數據集D表示為m
(d+1)大小的矩陣X,每行對應一個示例,該行前d個元素對應于示例的d個屬性值,最后一個元素均置為1,即
再把標記寫成向量形式y=(y1;y2;...;ym),類似于式(3.4),有
當為滿秩矩陣或正定矩陣,令式(3.10)為0可得
滿秩矩陣:滿秩矩陣_360百科
然而,在現實任務中,我們會遇到大量的變量,數目甚至超過樣例數,導致X的列數多余行數,往往不是滿秩矩陣,此時可以解出多個
,它們都能使均方誤差最小化,選擇哪一個解作為輸出,將由學習算法的歸納偏好決定,常用做法是引入正則化項。
假設我們認為示例對應的輸出標記在指數尺度上變化,可將輸出標記的對數作為線性模型逼近的目標,即
這就是“對數線性回歸”,實際上是在試圖讓
逼近y,式(3.14)在形式上仍是線性回歸,實質上是在求輸入空間到輸出空間的非線性函數映射,如圖3.1所示,這里的對數函數起到了將線性回歸模型的預測值與真實標記聯系起來的作用。
考慮單調可微函數g(),令
這樣得到的模型是“廣義線性模型”,其中函數g()稱為聯系函數,對數線性回歸是廣義線性模型在g(
)在In(
)的特例
3.3對數幾率回歸
對于分類任務,在式(3.15)的廣義線性模型中,只需找到一個單調可微函數將分類任務的真實標記y與線性回歸模型的預測值聯系起來。
對于二分類任務,輸出標記y{0,1},而線性回歸模型產生的預測值
是實值,于是將實值z轉化為0/1值,用到“單位階躍函數”
若預測值z大于0就判為正例,小于0判為反例,為臨界值可任意判別,如圖3.2所示
但從圖3.2看出,單位階躍函數并不連續,希望找到一個一定程度上近似單位階躍函數的“替代函數”并且它單調可微,對數幾率函數是一個常用的替代函數:
圖3.2可以看出對數幾率函數將z值轉化為一個接近0或1的y值,并且輸出值在z=0附近變化很陡,將對數幾率函數作為(
)代入式(3.15),得到
類似于式(3.14),式(3.18)可變化為
若y為樣本x作為正例的可能性,則1-y是反例可能性,兩者的比值稱為幾率,反映了x作為正例的相對可能性,對幾率取對數得到對數幾率
,可看出式(3.18)是在用線性回歸模型的預測結果逼近真實標記的對數幾率,因此對應的模型稱為“對數幾率回歸”,雖然名字是回歸,但是是一種分類學習方法。優點是它直接對分類可能性進行建模,無須事先假設數據分布,避免了假設分布不準確帶來的問題,它不是預測出“類別”,而是可得到近似概率預測,對需利用概率輔助決策的任務很有用。
先驗概率與后驗概率的區別 - sjyttkl的專欄 - CSDN博客
確定式(3.18)中的w和b,若將式(3.18)的y視為類后驗概率估計p(y=1|x),則式(3.19)重寫為
通過極大似然法來估計w和b,對率回歸模型最大化“對數似然”,最大化式等價于最小化
式(3.27)是關于的高階可導連續函數,求其最優解得到
以牛頓法為例,其第t+1輪迭代解的更新公式為
其中關于的一階、二階導數為
3.4線性判別分析
線性判別分析(簡稱LDA)是一種經典的線性學習方法,也稱“Fisher判別分析”。它給定訓練樣例集,將樣例投影到一條直線上,使同類樣例的投影點盡可能接近 、異樣樣例的投影點盡可能遠離;對新樣本分類時,將其投影到同樣的這條直線上,根據投影點的位置確定新樣本的類別,圖3.3是一個二維示意圖
要使同類樣例的投影點盡可能接近,可以讓同類樣例投影點的協方差盡可能小,即盡可能小,要使異類陽歷的投影點盡可能遠離,可以讓類中心之間的距離盡可能大,即
盡可能大。則可以得到欲最大化的目標
類內散度矩陣:
類間散度矩陣:
式(3.32)可重寫為
這是LDA欲最大化的目標,即與
的“廣義瑞利商”
確定w的值:
當兩類數據同先驗、滿足高斯分布且協方差相等時,LDA可達到最優分類。
將LDA推廣到多分類任務中,假定存在N個類,且第i類示例數為,u是所有示例的均值向量,“全局散度矩陣”:
將類內散度矩陣重定義為每個類別的散度矩陣之和,即
常使用如下方法來實現多分類LDA:優化目標
式(3.44)可通過如下廣義特征值問題求解:
多類分類LDA將樣本投影到N-1維空間,N-1通常遠小于數據原有的屬性值,可通過這個投影來減小樣本點的維數,投影過程使用了類別信息,因此LDA也被稱為一種經典的監督降維技術
3.5多分類學習
基本思路是將多分類學習任務拆為若干個二分類任務求解,三種拆分策略:“一對一”(OvO)、“一對其余”(OvR)和“多對多”(MvM)
假設數據集有N個類別,OvO將為區分類別和
訓練一個分類器,該分類器把D中的
類樣例作為正例,
類樣例作為反例,在測試階段,新樣本將同時提交給所有分類器,得到N(N-1)/2個分類結果,把被預測得最多的類別作為最終分類結果,圖3.4是示意圖。OvR每次將一個類的樣例作為正例,所有其他類的樣例作為反例來訓練N個分類器,在測試時若僅有一個分類器預測為正類,則對應的類別標記為最終分類結果,若有多個分類器預測為正類,則選擇置信度最大的類別標記作為分類結果,圖3.4是示意圖。MvM是每次將若干個類作為正類,若干個其他類作為反類。常用MVM技術“糾錯輸出碼(簡稱ECOC)”構造MvM的正、反類。
ECOC的工作過程:1、編碼:對N個類別做M次劃分,每次劃分將一部分類別劃為正類,一部分為反類,形成一個二分類訓練集,一共產生M個訓練集,訓練出M個分類器 2、解碼:M個分類器分別對測試樣本進行預測,這些預測標記形成一個編碼,將這個預測編碼與每個類別各自的編碼進行比較,返回其中距離最小的類別作為最終預測結果。
類別劃分通過“編碼矩陣”指定,常見的編碼矩陣有二元碼和三元碼,前者將類別指定為正類和反類,后者在正反類之外還可以指定“停用類”,圖3.5是示意圖,在a圖中分類器f2將C1和C3類的樣例作為正例;若基于歐式距離,預測結果是C3
3.6類別不平衡問題?
定義:分類任務中不同類別的訓練樣例數目差別很大。之后我們假設正類樣例數較少,反類樣例數較多。
用對新樣本x進行分類,實際上在用預測的y值與一個閾值比較。分類器決策規則為若
>1則預測為正例。(式3.46)令m+表示正例數目,m-表示反例數目,則觀測幾率為
,假設訓練集是真實樣本總體的無偏采樣,因此觀測幾率代表真實幾率,因此若
>
則預測為正例(式3.47)。要做到分類器是基于式(3.46)決策,實際在執行式(3.47),也就是類別不平衡學習的一個基本策略:“再縮放”,只需令
再縮放有三種做法:1、“欠采樣”:去除一些反例使得正反例數目接近 2、“過采樣”:增加一些正使得正反例數目接近 3、直接基于原始訓練集學習,但在用訓練好的分類器預測時,將式(3.48)嵌入到決策過程中,稱為“閾值移動”
“再縮放”是“代價敏感學習”的基礎,在代價敏感學習中將式(3.48)中的m-/m+用cost+/cost-代替即可