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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

台湾大学林轩田机器学习基石课程学习笔记11 -- Linear Models for Classification

發(fā)布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 台湾大学林轩田机器学习基石课程学习笔记11 -- Linear Models for Classification 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

紅色石頭的個人網(wǎng)站:redstonewill.com

上一節(jié)課,我們介紹了Logistic Regression問題,建立cross-entropy error,并提出使用梯度下降算法gradient descnt來獲得最好的logistic hypothesis。本節(jié)課繼續(xù)介紹使用線性模型來解決分類問題。

一、Linear Models for Binary Classification

之前介紹幾種線性模型都有一個共同點,就是都有樣本特征x的加權(quán)運算,我們引入一個線性得分函數(shù)s:

s=wTxs=wTx

三種線性模型,第一種是linear classification。線性分類模型的hypothesis為h(x)=sign(s)h(x)=sign(s),取值范圍為{-1,+1}兩個值,它的err是0/1的,所以對應(yīng)的Ein(w)Ein(w)是離散的,并不好解,這是個NP-hard問題。第二種是linear regression。線性回歸模型的hypothesis為h(x)=sh(x)=s,取值范圍為整個實數(shù)空間,它的err是squared的,所以對應(yīng)的Ein(w)Ein(w)是開口向上的二次曲線,其解是closed-form的,直接用線性最小二乘法求解即可。第三種是logistic regression。邏輯回歸模型的hypothesis為h(x)=θ(s)h(x)=θ(s),取值范圍為(-1,1)之間,它的err是cross-entropy的,所有對應(yīng)的Ein(w)Ein(w)是平滑的凸函數(shù),可以使用梯度下降算法求最小值。

從上圖中,我們發(fā)現(xiàn),linear regression和logistic regression的error function都有最小解。那么可不可以用這兩種方法來求解linear classification問題呢?下面,我們來對這三種模型的error function進(jìn)行分析,看看它們之間有什么聯(lián)系。

對于linear classification,它的error function可以寫成:

err0/1(s,y)=|sign(s)y|=|sign(ys)1|err0/1(s,y)=|sign(s)≠y|=|sign(ys)≠1|
對于linear regression,它的error function可以寫成:
errSQR(s,y)=(s?y)2=(ys?1)2errSQR(s,y)=(s?y)2=(ys?1)2
對于logistic regression,它的error function可以寫成:
errCE(s,y)=ln(1+exp(?ys))errCE(s,y)=ln(1+exp(?ys))
上述三種模型的error function都引入了ys變量,那么ys的物理意義是什么?ys就是指分類的正確率得分,其值越大越好,得分越高。

下面,我們用圖形化的方式來解釋三種模型的error function到底有什么關(guān)系:

從上圖中可以看出,ys是橫坐標(biāo)軸,err0/1err0/1是呈階梯狀的,在ys>0時,err0/1err0/1恒取最小值0。errSQRerrSQR呈拋物線形式,在ys=1時,取得最小值,且在ys=1左右很小區(qū)域內(nèi),err0/1err0/1errSQRerrSQR近似。errCEerrCE是呈指數(shù)下降的單調(diào)函數(shù),ys越大,其值越小。同樣在ys=1左右很小區(qū)域內(nèi),err0/1err0/1errCEerrCE近似。但是我們發(fā)現(xiàn)errCEerrCE并不是始終在err0/1err0/1之上,所以為了計算討論方便,我們把errCEerrCE做幅值上的調(diào)整,引入errSCE=log2(1+exp(?ys))=1ln2errCEerrSCE=log2(1+exp(?ys))=1ln2errCE,這樣能保證errSCEerrSCE始終在err0/1err0/1上面,如下圖所示:

由上圖可以看出:

err0/1(s,y)errSCE(s,y)=1ln2errCE(s,y)err0/1(s,y)≤errSCE(s,y)=1ln2errCE(s,y)
E0/1in(w)ESCEin(w)=1ln2ECEin(w)Ein0/1(w)≤EinSCE(w)=1ln2EinCE(w)
E0/1out(w)ESCEout(w)=1ln2ECEout(w)Eout0/1(w)≤EoutSCE(w)=1ln2EoutCE(w)
那么由VC理論可以知道:
從0/1出發(fā):
E0/1out(w)E0/1in(w)+Ω0/11ln2ECEin(w)+Ω0/1Eout0/1(w)≤Ein0/1(w)+Ω0/1≤1ln2EinCE(w)+Ω0/1
從CE出發(fā):
E0/1out(w)1ln2ECEout(w)1ln2ECEin(w)+1ln2ΩCEEout0/1(w)≤1ln2EoutCE(w)≤1ln2EinCE(w)+1ln2ΩCE

通過上面的分析,我們看到err 0/1是被限定在一個上界中。這個上界是由logistic regression模型的error function決定的。而linear regression其實也是linear classification的一個upper bound,只是隨著sy偏離1的位置越來越遠(yuǎn),linear regression的error function偏差越來越大。綜上所述,linear regression和logistic regression都可以用來解決linear classification的問題。

下圖列舉了PLA、linear regression、logistic regression模型用來解linear classification問題的優(yōu)點和缺點。通常,我們使用linear regression來獲得初始化的w0w0,再用logistic regression模型進(jìn)行最優(yōu)化解。

二、Stochastic Gradient Descent

之前介紹的PLA算法和logistic regression算法,都是用到了迭代操作。PLA每次迭代只會更新一個點,它每次迭代的時間復(fù)雜度是O(1);而logistic regression每次迭代要對所有N個點都進(jìn)行計算,它的每時間復(fù)雜度是O(N)。為了提高logistic regression中g(shù)radient descent算法的速度,可以使用另一種算法:隨機(jī)梯度下降算法(Stochastic Gradient Descent)。

隨機(jī)梯度下降算法每次迭代只找到一個點,計算該點的梯度,作為我們下一步更新w的依據(jù)。這樣就保證了每次迭代的計算量大大減小,我們可以把整體的梯度看成這個隨機(jī)過程的一個期望值。

隨機(jī)梯度下降可以看成是真實的梯度加上均值為零的隨機(jī)噪聲方向。單次迭代看,好像會對每一步找到正確梯度方向有影響,但是整體期望值上看,與真實梯度的方向沒有差太多,同樣能找到最小值位置。隨機(jī)梯度下降的優(yōu)點是減少計算量,提高運算速度,而且便于online學(xué)習(xí);缺點是不夠穩(wěn)定,每次迭代并不能保證按照正確的方向前進(jìn),而且達(dá)到最小值需要迭代的次數(shù)比梯度下降算法一般要多。

對于logistic regression的SGD,它的表達(dá)式為:

wt+1wt+ηθ(?ynwTtxn)(ynxn)wt+1←wt+ηθ(?ynwtTxn)(ynxn)

我們發(fā)現(xiàn),SGD與PLA的迭代公式有類似的地方,如下圖所示:

我們把SGD logistic regression稱之為’soft’ PLA,因為PLA只對分類錯誤的點進(jìn)行修正,而SGD logistic regression每次迭代都會進(jìn)行或多或少的修正。另外,當(dāng)η=1η=1,且wTtxnwtTxn足夠大的時候,PLA近似等于SGD。

除此之外,還有兩點需要說明:1、SGD的終止迭代條件。沒有統(tǒng)一的終止條件,一般讓迭代次數(shù)足夠多;2、學(xué)習(xí)速率ηη。ηη的取值是根據(jù)實際情況來定的,一般取值0.1就可以了。

三、Multiclass via Logistic Regression

之前我們一直講的都是二分類問題,本節(jié)主要介紹多分類問題,通過linear classification來解決。假設(shè)平面上有四個類,分別是正方形、菱形、三角形和星形,如何進(jìn)行分類模型的訓(xùn)練呢?

首先我們可以想到這樣一個辦法,就是先把正方形作為正類,其他三種形狀都是負(fù)類,即把它當(dāng)成一個二分類問題,通過linear classification模型進(jìn)行訓(xùn)練,得出平面上某個圖形是不是正方形,且只有{-1,+1}兩種情況。然后再分別以菱形、三角形、星形為正類,進(jìn)行二元分類。這樣進(jìn)行四次二分類之后,就完成了這個多分類問題。

但是,這樣的二分類會帶來一些問題,因為我們只用{-1,+1}兩個值來標(biāo)記,那么平面上某些可能某些區(qū)域都被上述四次二分類模型判斷為負(fù)類,即不屬于四類中的任何一類;也可能會出現(xiàn)某些區(qū)域同時被兩個類甚至多個類同時判斷為正類,比如某個區(qū)域又判定為正方形又判定為菱形。那么對于這種情況,我們就無法進(jìn)行多類別的準(zhǔn)確判斷,所以對于多類別,簡單的binary classification不能解決問題。

針對這種問題,我們可以使用另外一種方法來解決:soft軟性分類,即不用{-1,+1}這種binary classification,而是使用logistic regression,計算某點屬于某類的概率、可能性,去概率最大的值為那一類就好。

soft classification的處理過程和之前類似,同樣是分別令某類為正,其他三類為負(fù),不同的是得到的是概率值,而不是{-1,+1}。最后得到某點分別屬于四類的概率,取最大概率對應(yīng)的哪一個類別就好。效果如下圖所示:

這種多分類的處理方式,我們稱之為One-Versus-All(OVA) Decomposition。這種方法的優(yōu)點是簡單高效,可以使用logistic regression模型來解決;缺點是如果數(shù)據(jù)類別很多時,那么每次二分類問題中,正類和負(fù)類的數(shù)量差別就很大,數(shù)據(jù)不平衡unbalanced,這樣會影響分類效果。但是,OVA還是非常常用的一種多分類算法。

四、Multiclass via Binary Classification

上一節(jié),我們介紹了多分類算法OVA,但是這種方法存在一個問題,就是當(dāng)類別k很多的時候,造成正負(fù)類數(shù)據(jù)unbalanced,會影響分類效果,表現(xiàn)不好。現(xiàn)在,我們介紹另一種方法來解決當(dāng)k很大時,OVA帶來的問題。

這種方法呢,每次只取兩類進(jìn)行binary classification,取值為{-1,+1}。假如k=4,那么總共需要進(jìn)行C24=6C42=6次binary classification。那么,六次分類之后,如果平面有個點,有三個分類器判斷它是正方形,一個分類器判斷是菱形,另外兩個判斷是三角形,那么取最多的那個,即判斷它屬于正方形,我們的分類就完成了。這種形式就如同k個足球?qū)M(jìn)行單循環(huán)的比賽,每場比賽都有一個隊贏,一個隊輸,贏了得1分,輸了得0分。那么總共進(jìn)行了C2kCk2次的比賽,最終取得分最高的那個隊就可以了。

這種區(qū)別于OVA的多分類方法叫做One-Versus-One(OVO)。這種方法的優(yōu)點是更加高效,因為雖然需要進(jìn)行的分類次數(shù)增加了,但是每次只需要進(jìn)行兩個類別的比較,也就是說單次分類的數(shù)量減少了。而且一般不會出現(xiàn)數(shù)據(jù)unbalanced的情況。缺點是需要分類的次數(shù)多,時間復(fù)雜度和空間復(fù)雜度可能都比較高。

五、總結(jié)

本節(jié)課主要介紹了分類問題的三種線性模型:linear classification、linear regression和logistic regression。首先介紹了這三種linear models都可以來做binary classification。然后介紹了比梯度下降算法更加高效的SGD算法來進(jìn)行l(wèi)ogistic regression分析。最后講解了兩種多分類方法,一種是OVA,另一種是OVO。這兩種方法各有優(yōu)缺點,當(dāng)類別數(shù)量k不多的時候,建議選擇OVA,以減少分類次數(shù)。

注明:

文章中所有的圖片均來自臺灣大學(xué)林軒田《機(jī)器學(xué)習(xí)基石》課程

關(guān)注公眾號并輸入關(guān)鍵字“jspdf”獲得該筆記的pdf文件哦~

更多AI資源請關(guān)注公眾號:紅色石頭的機(jī)器學(xué)習(xí)之路(ID:redstonewill)

總結(jié)

以上是生活随笔為你收集整理的台湾大学林轩田机器学习基石课程学习笔记11 -- Linear Models for Classification的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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