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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

林轩田《机器学习基石》(十一)—— Linear models for classification

發(fā)布時(shí)間:2023/12/16 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 林轩田《机器学习基石》(十一)—— Linear models for classification 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

之前我們介紹了Logistic回歸以及它的誤差為交叉熵誤差,介紹了梯度下降算法gradient descnt來獲得最好的w。接下來我們將回顧之前的線性模型,將其延伸到更多的分類問題中。

一、二元分類

我們上一節(jié)課介紹的三個(gè)線性模型

線性分類問題使用了:

1.線性scoring function?

2.h = sign(s)

3.0-1誤差

NP難的,不好解。

線性回歸問題使用了:

1.線性scoring function?

2.h =?s,不需要使用函數(shù) sign(x)

3.平方誤差

有閉式解。

Logistic回歸:

1.線性scoring function?

2.h =?

3.交叉熵誤差

梯度下降法求解。

他們都算了一個(gè)分?jǐn)?shù)scoring function?。

我們現(xiàn)在要把上面那三個(gè)問題都用于分類(主要是后兩個(gè))。

線性回歸的輸出空間是R,+1,-1是其中兩個(gè)特殊值。

logistics回歸的資料和現(xiàn)行分類的資料是一樣的。

線性分類一般有兩步:

現(xiàn)在我們使用誤差函數(shù)(將上面換一種寫法):

(最后一步是為了和其他函數(shù)作比較)

線性回歸:

整合成一步:

Logistic回歸:

整合成一步:

可以看到上面的誤差函數(shù)中都有ys,那么ys的物理意義是什么?

答:ys就是指分類的正確率得分,我們希望他是正的,而且希望他越大越好。

作出上面三個(gè)誤差函數(shù)的圖像來比較,其中橫坐標(biāo)是ys

err0/1

呈階梯狀的,我們要看sign(ys)的正負(fù),如果是正的,err0/1恒取最小值0。否則err取1.

errSQR

呈拋物線形式,我們要看ys與1相比,取平方。errSQR與err0/1不同,比如在ys=3時(shí),err0/1誤差為0,而errSQR的值挺大。在ys=1時(shí),取得最小值。且在ys=1左右很小區(qū)域內(nèi),err0/1和errSQR近似,這意味著如果今天某個(gè)資料在errSQR上得到很小的值的話,它在err0/1也會(huì)取得很小的值。

errCE

呈指數(shù)下降的單調(diào)函數(shù),ys越大,其值越小。ys越來越大,誤差函數(shù)趨近于0。整體來說,在ys越大時(shí)候,err0/1和errCE近似。我們可以來說errCE上得到很小的值的話,它在err0/1也會(huì)取得很小的值。

但是我們發(fā)現(xiàn)errCE并不是始終在err0/1之上,所以為了計(jì)算討論方便,我們對errCE做一個(gè)scale,可以看到在ys=0處,errCE與err0/1切在一起了,如下圖:

此時(shí),scale errCE始終在err0/1之上。

scale errCE成為err0/1的上限。

是幾個(gè)資料做平均,是在無數(shù)個(gè)資料上做平均,所以不等式仍然成立。

從我們知道的理論出發(fā),我們知道err0/1的VC,然后得到:

之前提到是模型復(fù)雜度。

從的角度看,

這表示:如果我們把logistics回歸里面的err做好的話,那么某種角度來說也把err0/1做的還不錯(cuò)。

使用不同方法做分類的優(yōu)缺點(diǎn):

PLA:

1.優(yōu)點(diǎn)

有效+在線性可分的時(shí)候有很好的保證

2.缺點(diǎn)

如果線性不可分,就只能用pocket做了,但就沒有上面PLA效果那么好了。

線性回歸:

1.優(yōu)點(diǎn)

有閉式解,最容易求解

2.缺點(diǎn)

在ys越大或者越小的時(shí)候,它和err0/1就差距很大了。

logistics回歸

1.優(yōu)點(diǎn)

比較好求解

2.缺點(diǎn)

ys越小的時(shí)候,它和err0/1就差距會(huì)比較大。

注:線性回歸通常的用處是為PLA,pocket,logistics回歸提供一個(gè)初值。

二、隨機(jī)梯度下降

回憶一下PLA,每次選擇一個(gè)資料進(jìn)行更新,每次迭代的時(shí)間復(fù)雜度是O(1)。logistics回歸每次要計(jì)算所有的資料然后做平均,看起來每一輪會(huì)花比較顯著的力氣,每次迭代的時(shí)間復(fù)雜度是O(N)。我們能不能讓logistics回歸每一輪和PLA一樣快。

之前的logistics回歸的迭代步驟是上面這樣的,現(xiàn)在我們不要計(jì)算這么多樣本然后做平均,只要取出一個(gè)樣本計(jì)算(近似的)下降方向。

這種隨機(jī)抽取一個(gè)資料的方法叫做隨機(jī)梯度方法:

我們可以把所有資料的平均值看做我們每次隨機(jī)取出樣本的期望值。即

隨機(jī)梯度=真實(shí)梯度+noise(這些noise的期望為0)

于是,隨機(jī)梯度法為:

想法:把正式的梯度替換為隨機(jī)梯度。

好處:簡單、容易計(jì)算,容易用于大數(shù)據(jù)或者在線學(xué)習(xí)(資料一筆一筆來)。

缺點(diǎn):不太穩(wěn)定。特別是步長太大的時(shí)候。

之前我們講過的PLA中

與今天的logistics回歸做比較:

可以發(fā)現(xiàn)

1.SGD?logistics回歸可以看做是稍“軟”一點(diǎn)的PLA,因?yàn)镻LA只對分類錯(cuò)誤的點(diǎn)進(jìn)行修正,而SGD logistic regression每次迭代都會(huì)進(jìn)行或多或少的修正。

2.當(dāng)分值很大時(shí)候,且η=1時(shí),那么對logistics回歸用SGD求解就相當(dāng)于PLA。

現(xiàn)存的問題:

如何確定停機(jī)準(zhǔn)則(怎么知道算法以及做好了?)? ?

分析:梯度下降法會(huì)看梯度是否等于0來判斷到谷底了嗎?但是顯然隨機(jī)梯度方法不適合這樣判斷,不然再計(jì)算全梯度就白做簡化了。一般讓迭代次數(shù)足夠多我們就認(rèn)為它跑到谷底了(但這只是一種大家的認(rèn)為)。

如何確定學(xué)習(xí)率η?

分析:之后會(huì)具體分析如何選擇它,但是現(xiàn)在我們可以直接令η=0.1(經(jīng)驗(yàn)上這是一個(gè)很好的數(shù)字,0.126)

三、用?logistics回歸進(jìn)行多分類

之前我們一直講的都是二分類問題,現(xiàn)在我們看看如何把它延伸做多分類問題。通俗來講:從是非題變到選擇題。

有四個(gè)類別不好做,那么我們想是否可以先把某個(gè)類別分出來?答:可以做一個(gè)二元分類器,先把‘’分出來。(同理也可以把任何一種形狀與其他形狀分開來)

如下圖,按照上述四個(gè)分類器,得到劃分區(qū)域,在一些區(qū)域(右上角熒光綠區(qū)域)全是‘’,在一些區(qū)域(黃色)全是‘◇’,在粉色區(qū)域全是‘△’,在藍(lán)色區(qū)域是‘☆’。可是分類器會(huì)犯錯(cuò),如果某個(gè)區(qū)域(比如黃色綠色緊挨著的區(qū)域)有兩個(gè)分類器都搶著說是自己的區(qū)域怎么辦?以及在一些區(qū)域(中心區(qū)域)四個(gè)分類器都說不是自己的區(qū)域怎么辦?

看到{-1,+1}兩個(gè)值來標(biāo)記,分類器只會(huì)說是自己的還是不是自己的區(qū)域,就會(huì)造成上面的問題,我們現(xiàn)在用softy的模型,我不說是不是,我只說可能性,比如

可以看到有一些模糊的邊界,因?yàn)槟:倪吔绱碓诖颂幍目赡苄圆灰欢ㄊ?或1,可能是在0.5的附近。

四個(gè)分類器結(jié)果為(都是軟化了原來的分類):

將他們都組合起來,在那些不確定的區(qū)域,我可以選一個(gè)可能性最大的。

區(qū)域類型:選擇使得幾率P最大的那個(gè)K類。(logistics函數(shù)是算幾率的,但也是單調(diào)的,所以可以直接比較里面的分?jǐn)?shù),這里灰色是指不重要,可以省略)

這種多分類的處理方式,我們稱為One-Versus-All(OVA) 。我們每次都拿一個(gè)和其他所有比。

對每一個(gè)類別跑一個(gè)logistic函數(shù),其中該類別的資料設(shè)置為正,其余資料設(shè)置為負(fù),跑完會(huì)得到一個(gè)權(quán)重w,然后用w對該筆資料計(jì)算分?jǐn)?shù)。

這種方法的優(yōu)點(diǎn)是:

1.簡單高效

2.可以使用logistic regression模型來解決,從而以后碰到可以輸出一個(gè)概率的模型或者一個(gè)可以比大小的數(shù)值的模型,都可以套用

缺點(diǎn)是:

1.如果數(shù)據(jù)類別很多時(shí),那么每次二分類問題中,正類和負(fù)類的數(shù)量差別就很大(100個(gè)類,1類vs99類),數(shù)據(jù)不平衡unbalanced,這樣會(huì)影響分類效果。

以后會(huì)講上面問題怎么解決。此外,在這里我們沒有強(qiáng)調(diào)幾率加起來必須是1(統(tǒng)計(jì)上考慮到了這個(gè)問題)。

四、用二元分類進(jìn)行多分類

上面說到如果數(shù)據(jù)類別很多時(shí),那么每次二分類問題中,正類和負(fù)類的數(shù)量差別就很大(100個(gè)類,1類vs99類),數(shù)據(jù)不平衡。那么我們可以用1類vs1類嗎?而不是一對多。

我從所有的類別中選兩個(gè)先看看這兩個(gè)里面哪個(gè)是我們要的答案。(比如哪邊是‘’,哪邊是‘◇’)

同上面一樣,兩兩進(jìn)行比較,會(huì)得到六種(排列組合,3+2+1)結(jié)果:

然后再怎么確定呢?比如怎么分出‘’?

我們看與‘’有關(guān)的分類器:第1,2,3個(gè)圖在訓(xùn)練時(shí)有把‘’包含進(jìn)去,我們可以得到結(jié)論,大概右上角是‘’。

換一種角度:

對于右上角,圖1,2,3分類說他是‘’,圖4說它是‘◇’,圖5,6說它是‘☆’.所以右上角這塊被判定為票數(shù)最多的‘’。

每個(gè)圖形看一遍,可以得到:

我們可以看做這六個(gè)圖是投票器,對每個(gè)區(qū)域進(jìn)行投票,票數(shù)最多就判定為是什么類別。

這種方法叫做One-Versus-One(OVO)。我們每次都拿一個(gè)和另外一個(gè)比。

我們把資料拿來,先確定我們要分類那兩個(gè)類(一個(gè)看做正類,一個(gè)看做負(fù)類),這樣兩兩分類就可以做出l個(gè)分類器,我讓這l個(gè)分類器去投票,看看哪一個(gè)類別獲得最大的支持。

這種方法的優(yōu)點(diǎn)是:

1.簡單高效,雖然兩兩分類做的分類次數(shù)多了,但是每個(gè)分類器用的資料少了。

2.可以使用二元分類模型來解決,從而以后可以套用任何可以做二元分類的模型。

缺點(diǎn)是:

1.由于是兩兩分類,所以分類器會(huì)很多(w會(huì)多),存儲(chǔ)空間因此變大了,每次預(yù)測的時(shí)間也變長了,也就是做了更多的訓(xùn)練。

在類別不太多的時(shí)候,OVA和OVO都比較常用。

總結(jié):

?

?

?

?

?

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的林轩田《机器学习基石》(十一)—— Linear models for classification的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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