基本形式
公式表示:特點有:形式簡單,易于建模,容易解釋。
線性回歸
線性回歸的目的就是學(xué)得一個線性模型盡可能準(zhǔn)確的預(yù)測實際輸出標(biāo)記,這個過程可以稱為線性回歸。
給定一個數(shù)據(jù)集其中
公式中m:樣本個數(shù),d:屬性個數(shù)。
對于這樣一個數(shù)據(jù)集我們想要對其進行線性回歸,核心就是模型:
使預(yù)測值和真實標(biāo)記盡量接近,接近程度通過均方誤差來度量
通過使均方誤差最小,來解的對應(yīng)的最優(yōu),從而確定線性模型。
這整個過程就是線性回歸的過程,特點有以下:
- 采用均方誤差來進行度量,均方誤差對應(yīng)著幾何意義,歐幾里得距離“歐式距離”,這種方法就是最小二乘法,就是找到一條直線,使得所有樣本對應(yīng)的點到之間的歐式距離最小。
- 在計算距離之前,我們要確定各個屬性的各種取值之間是否有“序”的關(guān)系,因為這會影響到會面距離的計算。如果有,例如(高,中,底),將其連續(xù)化為(1,0.5,0);如果沒有,例如(紅色,黃色,綠色),將其轉(zhuǎn)化為多維向量((1,0,0),(0,1,0),(0,0,1))。
除了基本的線性模型外,還有拓展形式:
這種形式稱為“廣義線性模型”,其中稱為“聯(lián)系函數(shù)”,例如當(dāng)
的時候,模型為
稱為“對數(shù)線性模型”。
對數(shù)幾率回歸
當(dāng)進行分類的任務(wù)時,如何將預(yù)測的輸出標(biāo)記對應(yīng)到具體的類別呢?
首先,類別需要一個數(shù)字的表示方式,比如:分別表示兩個類別(正例,反例);然后,需要根據(jù)預(yù)測輸出標(biāo)記
數(shù)值的不同將樣本對應(yīng)到不同的類別,就需要一個合適的
;最后,通過計算方法得到模型參數(shù)
。
的選擇有:
- 理想選擇:單位階越函數(shù)
特點:相當(dāng)于閾值直接將預(yù)測輸出標(biāo)記轉(zhuǎn)化為類別,但是這個函數(shù)不連續(xù),沒有辦法直接使用。 - 替代選擇:對數(shù)幾率函數(shù)
這個函數(shù)屬于一種“Sigmoid函數(shù)”,即形狀類似與S的函數(shù)。將轉(zhuǎn)化為接近0或者1的數(shù)值,而且在
附近十分陡峭。將
帶入
得到:
整理得到:
式子中可以看做是樣本為正例的概率,
就是為反例的概率,比值就是幾率,整個式子就是對數(shù)幾率函數(shù)。這個式子就是用預(yù)測結(jié)果來逼近真實標(biāo)記的對數(shù)幾率回歸,所以這種方法就叫對數(shù)幾率回歸。
特點:稱作回歸,實際上是一種分類學(xué)習(xí)方法;直接對可能性進行建模,不受分布的影響;預(yù)測類別,還能得到近似概率預(yù)測;數(shù)學(xué)性好,可以計算得到最優(yōu)解。
線性判別分析
線性判別分析(LDA)是一種通過投影距離來分類的線性學(xué)習(xí)方法,也稱為“Fisher判別分析”。
- 思路
首先,將所有樣本投影到直線上,然后使同類樣本之間的距離盡可能小,不同樣本之間的距離盡可能大,從而確定直線。 - 衡量
某一類樣本的中心在直線上的投影:,用來衡量不同類樣本之間的距離。某一類樣本所有投影的協(xié)方差:
,用來衡量同類樣本之間距離。
- 例子
以二分類問題為例,類之間的距離盡可能大,就是盡可能大,類內(nèi)的距離盡可能小,就是
盡可能小。將兩者相除構(gòu)建:
這個式子取值盡可能大就可以滿足上述兩種需求,為了簡化定義類內(nèi)散度矩陣,類間散度矩陣
,所以:
此公式就是LDA最大化的目標(biāo),,
的“廣義瑞利商”。
- 推廣
將作為一個投影矩陣的時候,可以實現(xiàn)多分類LDA,投影到的
空間的維數(shù)一般都比原有屬性維數(shù)低,因此LDA也可以看做是一種監(jiān)督降維技術(shù)。
多分類學(xué)習(xí)
多分類學(xué)習(xí)就是通過對多種類數(shù)據(jù)的學(xué)習(xí),能夠?qū)π聵颖具M行準(zhǔn)確分類的過程。主要思路就是,將多分類問題分解為多個二分類問題,產(chǎn)生多個學(xué)習(xí)器,形成多個結(jié)果,然后集成一個最終的結(jié)果。對于數(shù)據(jù)集,方式有以下三種:
- 一對一(OvO)
將N個類別兩兩配對,一類為正,一類為負,每次進行二分類學(xué)習(xí),得到個分類器,對新樣本進行預(yù)測得到
個結(jié)果,取分類結(jié)果出現(xiàn)最多次數(shù)的結(jié)果。
- 一對剩余(OvR)
每次將一個類別作為正類,其他所有類別作為反類,每次進行二分類學(xué)習(xí),得到N個分類器,對新樣本進行預(yù)測得到N個結(jié)果,N個結(jié)果中唯一的一類就是對應(yīng)的分類結(jié)果。 - 此兩方式對比
分類的性能取決于數(shù)據(jù)的分布,多數(shù)情況下兩者的分類性能相同。對于計算性能的需求,類別較少的時候,OvO的計算量高于OvR,因為學(xué)習(xí)次數(shù)的差別,當(dāng)類別增多,OvR每次學(xué)習(xí)計算所有的類別,所有的計算量就會高于OvO。 - 多對多(MvM)
每次將多個類別作為正類,多個類別作為反類,正反類的構(gòu)造必須特殊設(shè)計,不能隨意選取,這里介紹“糾錯輸出碼”。
過程主要分為兩步,首先對個類別進行
次劃分,進行學(xué)習(xí)得到
個分類器,這個過程稱為編碼;然后對新樣本進行
次預(yù)測得到一個由
或者
組成的
元向量,同時D中的每一類也有自己對應(yīng)的
元向量,計算新樣本和所有類別之間的距離(海明距離,即向量中不同元素的個數(shù)、歐式距離),取最小距離的類別作為最終的分類。
特點主要就是它的糾錯能力,少數(shù)分類器的分類錯誤能夠被多數(shù)分類器分類正確而彌補,編碼長度越長(劃分次數(shù),學(xué)習(xí)器數(shù)目)越多,糾錯能力越好,同時類別的組合數(shù)目有限,編碼超過一定長度就會失去意義,還浪費計算量。然后,等長的編碼,類別之間的距離越長,糾錯能力越好,通常這點不去考慮,因為非最優(yōu)編碼在實踐中已經(jīng)能夠產(chǎn)生足夠好的分類器。
類別不平衡問題
類別不平衡指在訓(xùn)練集中的正反類樣本數(shù)目不想當(dāng)。這種情況會導(dǎo)致學(xué)習(xí)器效果下降。例如:998個反例,2個正例,只要形成一個只返回反例的學(xué)習(xí)器就能達到99.8%的精度。
二分類任務(wù)中,在一個訓(xùn)練集中,假設(shè)有個正例,
個反例,正例的觀測幾率為
。我們使用
對結(jié)果進行預(yù)測,
就是正例的推測真實幾率,大于觀測幾率的時候,就認為是正例。當(dāng)正反例數(shù)目相當(dāng)?shù)臅r候,觀測幾率近似為
。當(dāng)數(shù)目不想等的時候,我們對推測真實幾率進行再縮放:
,然后大于
就認為是正例。(再縮放是代價敏感學(xué)習(xí)的基礎(chǔ))
這個過程中一個很關(guān)鍵的假設(shè)就是訓(xùn)練集中的樣本來自真實樣本的無偏采樣,而往往不能實現(xiàn),因此有以下解決辦法:
- 欠采樣
減少樣本數(shù)目多的類別樣本數(shù)目。這種方法多將多的一方進行劃分,進行多次學(xué)習(xí),這樣,單次學(xué)習(xí)為欠采樣,整體不會丟失信息。 - 過采樣
增加樣本數(shù)目少的類別樣本數(shù)目。注意這種方法不能重復(fù)采樣。 - 閾值移動
原訓(xùn)練集進行訓(xùn)練,得到學(xué)習(xí)器,在預(yù)測的過程中將縮放嵌合進去。