日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习笔记(三)线性模型

發(fā)布時間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习笔记(三)线性模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

3.線性模型

3.1基本形式

線性模型(linearmodel)形式簡單、易于建模,如果能把問題都用線性模型來刻畫,那現(xiàn)今的世界就單調(diào)多了,好在我們的宇宙是如此的豐富,以至于需要通過更強(qiáng)大的非線性模型(nonlinear model)來描述。然而,線性模型作為最基本的,再復(fù)雜的也都?xì)w于最簡單,非線性模型在很多情況下都是在線性模型基礎(chǔ)上通過引入層級結(jié)構(gòu)或高維映射而來,分治策略思想。下面定義線性模型的基本形式:

給定由d個屬性描述的示例x=(x1;x2;...;xd),其中xi是x在第i個屬性上的取值,線性模型將會學(xué)習(xí)到一個通過屬性的線性組合來進(jìn)行預(yù)測函數(shù),即:

f(x)=w1x1+w2x2+…+ wdxd+b,用向量形式寫成:f(x)=wTx+b

其中w=(w1;w2;...;wd),w和b得到之后,模型就確定。

3.2線性回歸

線性回歸(linearregression)通過學(xué)習(xí)到一個線性模型來盡可能準(zhǔn)確地預(yù)測實(shí)值輸出標(biāo)記。這句話的意思就是說,訓(xùn)練出一個線性模型的學(xué)習(xí)器,然后用來預(yù)測實(shí)值輸出。給定數(shù)據(jù)集D={(x1,y1), (x2,y2),…, (xm,ym)},其中xi=( xi1;xi2;...;xid),yi∈R。

先考慮只有一個屬性的線性回歸,即yi ≈f(xi)=wxi+b。若是離散屬性,其值之間存在序(order)關(guān)系,要將其連續(xù)化為連續(xù)值,假定屬性有k個離散屬性值,則轉(zhuǎn)化為k維向量;若是離散屬性,但值之間是無序的,在引入不恰當(dāng)關(guān)系時會導(dǎo)致距離計算出現(xiàn)誤差。

有模型了,有兩點(diǎn)要研究了,一是求解w和b,二是衡量f(x)和y的差別。用均方誤差來度量回歸任務(wù)中的學(xué)習(xí)器性能。最小化均方誤差:




(regularization)。

線性模型簡單,但也有諸多變化。對于樣例(x,y),y∈R,定義線性回歸模型y=w Tx+b,使模型的預(yù)測值逼近真實(shí)的標(biāo)記y。變化在于,能否令模型的預(yù)測值逼近y的衍生變化呢?就是說,w Tx+b=g(y),如將示例對應(yīng)的輸出標(biāo)記定義為指數(shù)尺度上的變化,即g(y)=lny,也就是lny= w Tx+b,折就是對數(shù)線性回歸,也就是讓e wTx+b=y。這種關(guān)系的演變,雖然還是線性回歸,但實(shí)際上已是求取輸入空間到輸出空間的非線性函數(shù)映射。一般化定義這種衍生,設(shè)g是單調(diào)可微函數(shù)(連續(xù)且充分光滑),令y=g -1(w Tx+b)或者表達(dá)為g(y)= w Tx+b,這樣的模型稱之為廣義線性模型(generalizedlinear model),其中函數(shù)g稱為聯(lián)系函數(shù)(linkfunction)。對數(shù)線性回歸g(y)=lny是一個特例。廣義線性模型的參數(shù)估計通過加權(quán)最小二乘法或極大似然法進(jìn)行。極大似然估計是建立在這樣的思想上:已知某個參數(shù)能使這個樣本出現(xiàn)的概率最大,我們當(dāng)然不會再去選擇其他小概率的樣本,所以干脆就把這個參數(shù)作為估計的真實(shí)值。

3.3對數(shù)幾率回歸

上文定義的廣義模型解決了分類任務(wù)的線性模型回歸學(xué)習(xí),只需找到一個單調(diào)可微函數(shù)將分類任務(wù)的真實(shí)標(biāo)記y與線性回歸模型的預(yù)測值聯(lián)系起來。

考慮二分類任務(wù),其輸出標(biāo)記y∈{0,1},而線性回歸模型產(chǎn)生的預(yù)測值z= w Tx+b是實(shí)值(連續(xù)的),需將z值轉(zhuǎn)化為0/1值,建立z和y的聯(lián)系。一般采用單位階躍函數(shù)(unit-step function):


回歸任務(wù)是針對連續(xù)型的,為支持分類任務(wù)(離散型),采用定義廣義線性模型來實(shí)現(xiàn),其中對數(shù)幾率回歸模型就支持分類學(xué)習(xí)方法。用線性回歸模型來構(gòu)建分類學(xué)習(xí)器,可以直接對分類可能性進(jìn)行建模,無需事先假設(shè)數(shù)據(jù)分布,避免了假設(shè)分布不準(zhǔn)確所帶來的問題;不僅能預(yù)測出類別,也可以得到近似概率預(yù)測,在利用概率輔助決策上很有用。另外,幾率函數(shù)是任意階可導(dǎo)的凸函數(shù),在數(shù)值優(yōu)化算法上可直接求取最優(yōu)解。總結(jié)來說,三個優(yōu)點(diǎn):可對分類直接建模無需事先假設(shè)數(shù)據(jù)分布、可做近似概率預(yù)測、可直接求取最優(yōu)解。機(jī)器學(xué)習(xí)算法,和統(tǒng)計概率的密切關(guān)系從這可看出一般,而統(tǒng)計概率本身所用的函數(shù)性質(zhì)也很重要。或者說,機(jī)器學(xué)習(xí)算法的核心在于概率性,也就是說,機(jī)器學(xué)習(xí)的穩(wěn)定性是基于概率的。有點(diǎn)難直白說,只能意會了。

下面就看如何估計對數(shù)幾率模型中的w和b值。



梯度下降法(gradientdescent)是一個最優(yōu)化算法,通常也稱為最速下降法。常用于機(jī)器學(xué)習(xí)和人工智能當(dāng)中用來遞歸性地逼近最小偏差模型。計算過程就是沿梯度下降的方向求解極小值(也可以沿梯度上升方向求解極大值)。

極大似然估計,只是一種概率論在統(tǒng)計學(xué)的應(yīng)用,是參數(shù)估計的方法之一。已知某個隨機(jī)樣本滿足某種概率分布,但是其中具體的參數(shù)不清楚,參數(shù)估計就是通過若干次試驗(yàn),觀察其結(jié)果,利用結(jié)果推出參數(shù)的大概值。極大似然估計的思想是:已知某個參數(shù)能使這個樣本出現(xiàn)的概率最大,即把這個參數(shù)作為估計的真實(shí)值。極大似然估計是一種粗略的數(shù)學(xué)期望,誤差大小還要通過區(qū)間估計度量。

3.4線性判別分析

對于線性模型,上文介紹了線性回歸及其衍生的對數(shù)幾率回歸,下面介紹一種經(jīng)典的線性模型。線性判別分析(Linear Discriminant Analysis,LDA),經(jīng)典的線性學(xué)習(xí)方法,其思想是:給定訓(xùn)練樣例集,設(shè)法將樣例投影到一條直線上,使得同類樣例的投影點(diǎn)盡可能接近、異類樣例的投影點(diǎn)盡可能遠(yuǎn)離;在對新樣本分類時,將其投影到同樣的直線上,并根據(jù)投影點(diǎn)位置來確定新樣本的類別。點(diǎn)和線的樸素關(guān)系彰顯,這數(shù)學(xué)怎么定義呢?更關(guān)心,多分類多屬性上,如何降維投射到點(diǎn)上。





于是,通過這個投影減小樣本點(diǎn)的維數(shù),且投影過程中使用了類別信息,因此LDA通常也被看做是一種經(jīng)典的監(jiān)督降維技術(shù)。

忍不住吐槽,我討厭符號數(shù)學(xué)啊,但是數(shù)學(xué)的美也正在于符號的應(yīng)用,這么多符號要記住,還要記住符號內(nèi)表達(dá)加減乘除。

3.5多分類學(xué)習(xí)

面對多分類學(xué)習(xí)任務(wù)時,更多時候基于二分類學(xué)習(xí)方法延伸來解決。這里順便說下多分類任務(wù)和多標(biāo)記任務(wù)的區(qū)別,多分類任務(wù)是一個樣本只屬于一個分類但有多個選擇;多標(biāo)記任務(wù)是一個樣本可以屬于多個分類可以一個選擇可以多個選擇。多標(biāo)記任務(wù)不是多分類任務(wù),如一幅圖像可以標(biāo)注為“藍(lán)天”、“白云”、“自然”等。現(xiàn)在來說說多分類學(xué)習(xí)如何通過二分類學(xué)習(xí)方法實(shí)現(xiàn)。

不是一般性,考慮N個類別,C1,C2,…,CN,多分類學(xué)習(xí)的基本思路是拆解法,將多分類任務(wù)拆成若干個二分類任務(wù)求解。總的來說,是問題拆解和結(jié)果集成,1)先對問題進(jìn)行拆解,對拆分出的每個二分類任務(wù)訓(xùn)練一個分類器;2)測試時,對這些二分類任務(wù)的分類器預(yù)測結(jié)果進(jìn)程集成以獲得最終的多分類結(jié)果。

拆分策略有三類:一對一,OVO;一對多,OVR,這里多就是其余的分類;多對多,MVM。顯然OVO和OVR是MVM的特例。

1)OVO策略

給定數(shù)據(jù)集 ?,OVO策略將這N個類別兩兩配對,產(chǎn)生NX(N-1)/2個二分類任務(wù)。如將類別Ci和Cj訓(xùn)練一個分類器,該分類器把數(shù)據(jù)集D中的Ci類樣例作為正例,Cj類樣例作為反例。測試階段時,新樣本提交給所有分類器去預(yù)測,得到NX(N-1)/2個分類結(jié)果,一般選擇結(jié)果被預(yù)測最多的類別作為最終結(jié)果。

2)OVR策略

每次把一個類別作為正例,其他類別作為反例,訓(xùn)練N個分類器。測試時,若僅有一個分類器預(yù)測為正類,則對應(yīng)的類別標(biāo)記作為最終分類結(jié)果;若有多個分類器預(yù)測為正類,則考慮個分類器的預(yù)測置信度,選擇置信度最大的類別作為最終標(biāo)記結(jié)果。

OVR策略只需訓(xùn)練N個分類器,而OVO策略需訓(xùn)練NX(N-1)/2分類器,后者存儲開銷和時間開銷都比較大;不過在訓(xùn)練時,前者每個分類器均使用全部樣例,而后者每個分類器僅用到兩個類別的樣例,類別過多時,后者的開銷又比較小。二者的預(yù)測性能,取決于具體的數(shù)據(jù)分布,多數(shù)情形下差不多。

3)MVM策略

該策略每次將若干類作為正類,若干類作為反類,正反類的構(gòu)造需嚴(yán)格設(shè)計,常用的技術(shù)是糾錯輸出碼(Error Correcting Output Codes,ECOC)。ECOC引入編碼思想對類別進(jìn)行拆分,支持在解碼過程中的容錯性,主要工作過程分兩步:

第一步編碼:將N個類別做M次劃分,每次劃分將一部分類別作為正類,一部分類別作為反類,從而形成一個二分類訓(xùn)練街,這樣一共產(chǎn)生M個訓(xùn)練集,可訓(xùn)練出M個分類器。

第二步解碼:M個分類器分別對測試樣本進(jìn)行預(yù)測,這些預(yù)測標(biāo)記組成一個編碼;將這個預(yù)測編碼和每個類別各自的編碼進(jìn)行比較,返回其中距離最小的類別作為最終預(yù)測結(jié)果。

類別劃分通過編碼矩陣(coding matrix)指定。編碼矩陣有二元碼和三元碼兩類,前者將每個類別分別指定為正類和反類,后者在正、反類之外,還可以指定停用類(用0表示)。在解碼階段,各分類器的預(yù)測結(jié)果聯(lián)合起來形成了測試示例的編碼,將該預(yù)測編碼和各類所對應(yīng)的編碼進(jìn)行比較,將距離最小的編碼所對應(yīng)的類別作為預(yù)測結(jié)果。比較有海明距離和歐式距離兩種計算方法。

二元碼如下表,C3無論是海明距離還是歐式距離都是最小,所以作為最終標(biāo)記結(jié)果。

糾錯輸出碼的意義在于,ECOC編碼對分類器的錯誤有一定的容忍和修正能力。比如在某個分類器上預(yù)測錯誤,但整體編碼的距離計算仍能產(chǎn)生正確結(jié)果(即還是最短距離)。自然,對同一個學(xué)習(xí)任務(wù)來說,ECOC編碼越長,糾錯能力越強(qiáng),當(dāng)然是犧牲性能了,因?yàn)榫幋a越長,要訓(xùn)練的分類器就越多。對同等長度的編碼來說,理論上,任意兩個類別之間的編碼距離越遠(yuǎn),則糾錯能力越強(qiáng)。在碼長較小時,可根據(jù)這個原則計算出理論最優(yōu)編碼,然而碼長稍大一些就難以有效地確定最優(yōu)編碼,這是NP難問題。

 

f1

f2

f3

f4

f5

海明距離

歐式距離

C1

-1

1

-1

1

1

3

2sqrt(3)

C2

1

-1

-1

1

-1

4

4

C3

-1

1

1

-1

1

1

2

C4

-1

-1

1

1

-1

2

2sqrt(2)

示例預(yù)測結(jié)果

-1

-1

1

-1

1

 

 

在理論和實(shí)踐之間,一個理論糾錯性質(zhì)很好,但導(dǎo)致二分類問題較難的編碼,與另一個理論糾錯性質(zhì)差一些,但導(dǎo)致的二分類問題較簡單的編碼,最終產(chǎn)生的模型性能強(qiáng)弱不定。我自己更傾向于實(shí)踐中摸索耗能低的方法。

3.6類別不平衡問題

所謂類別不平衡問題是指分類任務(wù)中不同類別的訓(xùn)練樣例數(shù)差別很大,導(dǎo)致訓(xùn)練出的學(xué)習(xí)器失真。怎么說呢?一般情況,假設(shè)分類學(xué)習(xí)任務(wù)中不同類別的樣例數(shù)時相對平衡,數(shù)目相當(dāng)?shù)?#xff0c;如果有所傾斜,而且比例很大,那就失去意義了。如果假定樣例中正例很少、反例很多,在通過拆分法解決多分類問題時,即使原始問題中不同類別的訓(xùn)練樣例數(shù)目相當(dāng),在使用OVR、MVM策略后產(chǎn)生的二分類任務(wù)仍可能出現(xiàn)類別不平衡現(xiàn)象。

對線性分類器y=wTx+b來說,對新樣本x進(jìn)行分類時,將y值和一個閾值進(jìn)行比較,分類器的決策規(guī)則是:若y/(1-y)>1,則預(yù)測為正例。當(dāng)訓(xùn)練集中正、反樣例數(shù)目不等時,令m+代表正例數(shù)目、m-代表反例數(shù)目,則觀測幾率是m+/m-,通常假設(shè)訓(xùn)練集是真實(shí)樣本總體的無偏采樣,因此觀測幾率就代表了真實(shí)幾率,于是只要分類器的預(yù)測幾率高于觀測幾率就可判定為正例,即:y/(1-y)> m+/m-,則預(yù)測為正例。如果從根源上可以做到無偏采樣,那就沒有類別不平衡問題,可惜一般情況下都無法實(shí)現(xiàn),于是只好找到類別不平衡的解決方法。

再縮放,類別不平衡問題解決方法的一個策略。如上文線性分類器,調(diào)整預(yù)測值:? 正如上文說的,無法做到無偏采樣,觀測幾率也會失真,未必能有效地基于訓(xùn)練集觀測幾率來推斷出真實(shí)幾率。有三類做法來改正:1)欠采樣,去除一些反例,使得正反例數(shù)目相當(dāng);2)過采樣,增加一些正例,使得正反例數(shù)相當(dāng);3)基于原始訓(xùn)練集學(xué)習(xí),但用訓(xùn)練好的學(xué)習(xí)器進(jìn)行預(yù)測時,對輸出結(jié)果進(jìn)行閾值移動(threshold-moving)。

欠采樣少了訓(xùn)練樣例,過采樣多了訓(xùn)練樣例,二者開銷自然是后者大了。另外過采樣,如果是對原始訓(xùn)練集重復(fù)采集正例,則會出現(xiàn)嚴(yán)重的過擬合,可通過對訓(xùn)練集里的正例進(jìn)行插值來產(chǎn)生額外的正例,代表性算法是SMOTE。欠采樣法同樣面臨問題,如果隨機(jī)丟失反例,可能失去信息,可利用集成學(xué)習(xí)機(jī)制,將反例劃分為若干個集合供不同學(xué)習(xí)器使用,對單個學(xué)習(xí)來說是欠采樣,但整體來說并沒有缺失也就不會丟失信息。

?



總結(jié)

以上是生活随笔為你收集整理的机器学习笔记(三)线性模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。