機器學(xué)習(xí)(西瓜書筆記)第三章

三、線性模型
3.1基本形式
????????線性模型:

????????試圖學(xué)得一個通過屬性的線性組合來進行預(yù)測的函數(shù),即

????????用向量形式寫成

????????由于w直觀的表達了各屬性在預(yù)測中的重要性,由此線性模型有很好的可解釋性
3.2線性回歸
3.2.1定義
????????所謂線性回歸,就是已知數(shù)據(jù)集學(xué)成一個線性模型f(x)=w1x1+w2x2+...+wdxd+b=w^Tx+b,使得誤差平方和最小。

????????最小化的過程,稱為線性回歸模型的最小二乘“參數(shù)估計”。讓它分別對w和b求導(dǎo),得

????????令上面的兩個式子為0,解得

3.2.2多元線性回歸

????可利用最小二乘法對w和b進行估計,把w和b吸入向量形式w^=(w;b),把數(shù)據(jù)集D表示為m*(d+1)大小的矩陣X,每行對應(yīng)一個示例,該行前d個元素對應(yīng)于示例的d個屬性值,最后一個元素均置為1,即

????再把標記寫成向量形式y(tǒng)=(y1;y2;...;ym)
????
????誤差平方和的矩陣形式

????當(dāng)X^TX為滿秩矩陣或正定矩陣,令上式為0可得

????廣義線性模型考慮單調(diào)可微函數(shù)g(x)

????????最終學(xué)得的線性回歸模型為

3.2.3正則化項
????????在現(xiàn)實任務(wù)中,我們會遇到大量的變量,數(shù)目甚至超過樣例數(shù),導(dǎo)致X的列數(shù)多余行數(shù),X^TX往往不是滿秩矩陣,此時可以解出多個w^ ,它們都能使均方誤差最小化,選擇哪一個解作為輸出,將由學(xué)習(xí)算法的歸納偏好決定
3.2.4對數(shù)線性回歸
????????假設(shè)我們認為示例對應(yīng)的輸出標記在指數(shù)尺度上變化,可將輸出標記的對數(shù)作為線性模型逼近的目標,即

????????實際上是在試圖讓逼近y

????????考慮單調(diào)可微函數(shù)g(·),令

????????這樣得到的模型是“廣義線性模型”,其中函數(shù)g(·)稱為聯(lián)系函數(shù),對數(shù)線性回歸是廣義線性模型在g(·)在ln(·)的特例
3.3對數(shù)線性回歸
????????對于分類任務(wù),在廣義線性模型中,只需找到一個單調(diào)可微函數(shù)將分類任務(wù)的真實標記y與線性回歸模型的預(yù)測值聯(lián)系起來。
????????對于二分類任務(wù),輸出標記y∈ {0,1},而線性回歸模型產(chǎn)生的預(yù)測值

????????是實值,于是將實值z轉(zhuǎn)化為0/1值,用到“單位階躍函數(shù)”


????????若預(yù)測值z大于0就判為正例,小于0判為反例,為臨界值可任意判別
?????
????????然而單位階躍函數(shù)并不連續(xù),希望找到一個一定程度上近似單位階躍函數(shù)的“替代函數(shù)”并且它單調(diào)可微
????????對數(shù)幾率函數(shù)是一個常用的替代函數(shù):

????????將對數(shù)幾率函數(shù)作為g^- (·)代入廣義線性模型,得到

????????幾率:y/1-y ?
????????對數(shù)幾率:ln(y/1-y)

????????若y為樣本x作為正例的可能性,則1-y是反例可能性,兩者的比值y/1-y稱為幾率,反映了x作為正例的相對可能性,對幾率取對數(shù)得到對數(shù)幾率ln(y/1-y),可看出式子是在用線性回歸模型的預(yù)測結(jié)果逼近真實標記的對數(shù)幾率,因此對應(yīng)的模型稱為“對數(shù)幾率回歸”,雖然名字是回歸,但是是一種分類學(xué)習(xí)方法。
????????
????????優(yōu)點是它直接對分類可能性進行建模,無須事先假設(shè)數(shù)據(jù)分布,避免了假設(shè)分布不準確帶來的問題,它不是預(yù)測出“類別”,而是可得到近似概率預(yù)測,對需利用概率輔助決策的任務(wù)很有用。
????????若將y視為類后驗概率估計p(y=1|x),則上式可重寫為

????????最后可用極大似然法來估計w和b
3.4多分類學(xué)習(xí)
3.4.1基本思路
????????基本思路是“拆解法”,將多分類學(xué)習(xí)任務(wù)拆為若干個二分類任務(wù)求解,最經(jīng)典的三種拆分策略:“一對一”(OvO)、“一對其余”(OvR)和“多對多”(MvM)
3.4.2 OVO
????????給定數(shù)據(jù)集D={(x1,y1),(x2,y2),…(xm,ym)},yi∈(C1,C2,…CN),OVO將這N個類別兩兩配對,從而產(chǎn)生N(N-1)/2個分類任務(wù),最終結(jié)果可以通過投票產(chǎn)生:即把被預(yù)測得最多的類別作為最終分類結(jié)果。
3.4.3 OVR
????????OVR則是每次將一個類的樣例作為正例,所有其他的樣例作為反例來訓(xùn)練N個分類器。在測試時若只有一個分類器預(yù)測為正類,則對應(yīng)的類別標記作為最終分類結(jié)果。
3.4.4 OVO與OVR比較

????????OVO的存儲開銷和測試時間開銷通常比OVR更大,方式在訓(xùn)練時,OVR的每個分類器均使用全部訓(xùn)練樣例,因此,在類別很多時,OVO的訓(xùn)練時間開銷通常比OVR更小。
3.4.5 MVM技術(shù)
????????糾錯輸出碼(Error Correcting Output Codes,ECOC)
????????過程:
????????編碼:對N個類別做M次劃分,每次劃分將一部分類別化為正類,另一部分分為反類,產(chǎn)生M個訓(xùn)練集——M個分類器。
????????解碼:M個分類器分別預(yù)測,這些預(yù)測標記組成一個編碼,將其與每個類別的編碼比較,區(qū)別最小的就是最終結(jié)果。
????????類別劃分通過“編碼矩陣”指定
????????二元陣:將類別指定為正類和反類
????????三元陣:在正反類之外還可以指定“停用類”
????????示意圖:

????????歐氏距離:在a圖中分類器f2將C1和C3類的樣例作為正例;若基于歐式距離,預(yù)測結(jié)果是C3
????????
????????海明距離:兩個合法代碼對應(yīng)位上編碼不同的位數(shù)為碼距,又稱海明碼,例如測試示例:101010,分類示例:100101,此時海明距離為4
????????
????????總結(jié):一般來說,對于同一個學(xué)習(xí)任務(wù),ECOC編碼越長,糾錯能力越強;然而,編碼越長,意味著所需訓(xùn)練器的分類器越多,計算、存儲開銷都會增大。
3.5類別不均衡問題
3.5.1 定義
????????類別不平衡,就是指分類任務(wù)中不同類別的訓(xùn)練樣例數(shù)目差別很大的情況。

????????用1式對新樣本進行分類,實際上在用預(yù)測的y值與一個閾值比較。若:

????????則預(yù)測為正例
????????然而,正反例數(shù)目不同時,觀測幾率m+/m-,由于我們假設(shè)無偏采樣,則觀測幾率就代表真實幾率,于是若

????????則預(yù)測為正例
????????但是原來的分類器基于1式進行決策,所以需要再縮放操作

????????但是我們很難保證“訓(xùn)練集是真實樣本總體的無偏采樣”?,F(xiàn)有技術(shù)有3種做法:
????????1.“欠采樣”:直接去除一些反例。
????????2.“過采樣”:增加一些正例。
????????3.閾值移動:不增不減,但是預(yù)測時采取式2。

小貼士:
????點擊下方左右箭頭,自動跳轉(zhuǎn)到文集的上一篇和下一篇。 ???? ????????
????機器學(xué)習(xí)系列文檔持續(xù)更新,求關(guān)注求三連!