日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車(chē)測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車(chē)測(cè)試網(wǎng)

    • 在線課堂

    • 電車(chē)測(cè)試

機(jī)器學(xué)習(xí)最全知識(shí)點(diǎn)匯總

2022-03-06 23:59:43·  來(lái)源:機(jī)器學(xué)習(xí)算法與Python實(shí)戰(zhàn)  
 
AdaBoost算法

AdaBoost算法也是一種集成學(xué)習(xí)算法,用于二分類(lèi)問(wèn)題,是Boosting算法的一種實(shí)現(xiàn)。它用多個(gè)弱分類(lèi)器的線性組合來(lái)預(yù)測(cè),訓(xùn)練時(shí)重點(diǎn)關(guān)注錯(cuò)分的樣本,準(zhǔn)確率高的弱分類(lèi)器權(quán)重大。AdaBoost算法的全稱是自適應(yīng),它用弱分類(lèi)器的線性組合來(lái)構(gòu)造強(qiáng)分類(lèi)器。弱分類(lèi)器的性能不用太好,僅比隨機(jī)猜測(cè)強(qiáng),依靠它們可以構(gòu)造出一個(gè)非常準(zhǔn)確的強(qiáng)分類(lèi)器。強(qiáng)分類(lèi)器的計(jì)算公式為:

圖片

其中x是輸入向量,F(xiàn)(x)是強(qiáng)分類(lèi)器,ft(x)是弱分類(lèi)器,at是弱分類(lèi)器的權(quán)重,T為弱分類(lèi)器的數(shù)量,弱分類(lèi)器的輸出值為+1或-1,分別對(duì)應(yīng)正樣本和負(fù)樣本。分類(lèi)時(shí)的判定規(guī)則為:

圖片

強(qiáng)分類(lèi)器的輸出值也為+1或-1,同樣對(duì)應(yīng)于正樣本和負(fù)樣本。
訓(xùn)練時(shí),依次訓(xùn)練每一個(gè)若分類(lèi)器,并得到它們的權(quán)重值。訓(xùn)練樣本帶有權(quán)重值,初始時(shí)所有樣本的權(quán)重相等,在訓(xùn)練過(guò)程中,被前面的弱分類(lèi)器錯(cuò)分的樣本會(huì)加大權(quán)重,反之會(huì)減小權(quán)重,這樣接下來(lái)的弱分類(lèi)器會(huì)更加關(guān)注這些難分的樣本。弱分類(lèi)器的權(quán)重值根據(jù)它的準(zhǔn)確率構(gòu)造,精度越高的弱分類(lèi)器權(quán)重越大。
給定l個(gè)訓(xùn)練樣本(xi,yi ),其中xi是特征向量,yi為類(lèi)別標(biāo)簽,其值為+1或-1。訓(xùn)練算法的流程為:

圖片

根據(jù)計(jì)算公式,錯(cuò)誤率低的弱分類(lèi)器權(quán)重大,它是準(zhǔn)確率的增函數(shù)。AdaBoost算法在訓(xùn)練樣本集上的錯(cuò)誤率會(huì)隨著弱分類(lèi)器數(shù)量的增加而指數(shù)級(jí)降低。它能有效的降低模型的偏差。
AdaBoost算法從廣義加法模型導(dǎo)出,訓(xùn)練時(shí)求解的是指數(shù)損失函數(shù)的極小值:

圖片

求解時(shí)采用了分階段優(yōu)化,先得到弱分類(lèi)器,然后確定弱分類(lèi)器的權(quán)重值,這就是弱分類(lèi)器,弱分類(lèi)器權(quán)重的來(lái)歷。除了離散型AdaBoost之外,從廣義加法模型還可以導(dǎo)出其他幾種AdaBoost算法,分別是實(shí)數(shù)型AdaBoost,Gentle型AdaBoost,Logit型AdaBoost,它們使用了不同的損失函數(shù)和最優(yōu)化算法。
標(biāo)準(zhǔn)的AdaBoost算法是一種判別模型,只能支持二分類(lèi)問(wèn)題。它的改進(jìn)型可以處理多分類(lèi)問(wèn)題。 

主成分分析

主成分分析是一種數(shù)據(jù)降維和去除相關(guān)性的方法,它通過(guò)線性變換將向量投影到低維空間。對(duì)向量進(jìn)行投影就是對(duì)向量左乘一個(gè)矩陣,得到結(jié)果向量:y = Wx結(jié)果向量的維數(shù)小于原始向量的維數(shù)。降維要確保的是在低維空間中的投影能很好的近似表達(dá)原始向量,即重構(gòu)誤差最小化:

圖片

其中e為投影后空間的基向量,是標(biāo)準(zhǔn)正交基;a為重構(gòu)系數(shù),也是投影到低維空間后的坐標(biāo)。如果定義如下的散布矩陣:

圖片

其中m和

圖片

為所有樣本的均值向量。則上面的重構(gòu)誤差最小化等價(jià)于求解如下問(wèn)題:

圖片

通過(guò)拉格朗日乘數(shù)法可以證明,使得該函數(shù)取最小值的ej為散度矩陣最大的d'個(gè)特征值對(duì)應(yīng)的單位長(zhǎng)度特征向量。矩陣W的列ej是我們要求解的基向量,由它們構(gòu)成投影矩陣。計(jì)算時(shí),先計(jì)算散布矩陣(或者協(xié)方差矩陣),再對(duì)該進(jìn)行進(jìn)行特征值分解,找到最大的一部分特征值和對(duì)應(yīng)的特征向量,構(gòu)成投影矩陣。可以證明,協(xié)方差矩陣或散布矩陣是實(shí)對(duì)稱半正定矩陣,因此所有特征值非負(fù)。進(jìn)行降維時(shí),先將輸入向量減掉均值向量,然后左乘投影矩陣,即可得到投影后的向量。
主成分分析一種無(wú)監(jiān)督學(xué)習(xí)算法,也是一種線性方法。 

線性判別分析

線性判別分析向最大化類(lèi)間差異、最小化類(lèi)內(nèi)差異的方向線性投影。其基本思想是通過(guò)線性投影來(lái)最小化同類(lèi)樣本間的差異,最大化不同類(lèi)樣本間的差異。具體做法是尋找一個(gè)向低維空間的投影矩陣W,樣本的特征向量x經(jīng)過(guò)投影之后得到的新向量:y = Wx同一類(lèi)樣投影后的結(jié)果向量差異盡可能小,不同類(lèi)的樣本差異盡可能大。簡(jiǎn)單的說(shuō),就是經(jīng)過(guò)這個(gè)投影之后同一類(lèi)的樣本進(jìn)來(lái)聚集在一起,不同類(lèi)的樣本盡可能離得遠(yuǎn)。這種最大化類(lèi)間差異,最小化類(lèi)內(nèi)差異的做法,在機(jī)器學(xué)習(xí)的很多地方都有使用。
類(lèi)內(nèi)散布矩陣定義為:

圖片

它衡量的內(nèi)類(lèi)樣本的發(fā)散程度。其中mi為每個(gè)類(lèi)的均值向量,m為所有樣本的均值向量。類(lèi)間散布矩陣定義為:

圖片

它衡量的了各類(lèi)樣本之間的差異。訓(xùn)練時(shí)的優(yōu)化目標(biāo)是類(lèi)間差異與類(lèi)內(nèi)差異的比值:

圖片

上面的問(wèn)題帶有冗余,如果w是最優(yōu)解,將其乘以一個(gè)不為0的系數(shù)之后還是最優(yōu)解。為了消掉冗余,加上如下約束:

圖片

然后使用拉格朗日乘數(shù)法,最后歸結(jié)于求解矩陣的特征值與特征向量:

圖片

LDA是有監(jiān)督的學(xué)習(xí)算法,在計(jì)算過(guò)程中利用了樣本標(biāo)簽值,是線性模型。LDA也不能直接用于分類(lèi)和回歸問(wèn)題,要對(duì)降維后的向量進(jìn)行分類(lèi)還需要借助其他算法。 

kNN算法




kNN算法將樣本分到離它最相似的樣本所屬的類(lèi)。算法本質(zhì)上使用了模板匹配的思想。要確定一個(gè)樣本的類(lèi)別,可以計(jì)算它與所有訓(xùn)練樣本的距離,然后找出和該樣本最接近的k個(gè)樣本,統(tǒng)計(jì)這些樣本的類(lèi)別進(jìn)行投票,票數(shù)最多的那個(gè)類(lèi)就是分類(lèi)結(jié)果。
由于需要計(jì)算樣本間的距離,因此需要依賴距離定義,常用的有歐氏距離,Mahalanobis距離,Bhattacharyya距離。另外,還可以通過(guò)學(xué)習(xí)得到距離函數(shù),這就是距離度量學(xué)習(xí)。
kNN算法是一種判別模型,即支持分類(lèi)問(wèn)題,也支持回歸問(wèn)題,是一種非線性模型。它天然的支持多分類(lèi)問(wèn)題。kNN算法沒(méi)有訓(xùn)練過(guò)程,是一種基于實(shí)例的算法。 

人工神經(jīng)網(wǎng)絡(luò)




人工神經(jīng)網(wǎng)絡(luò)是一種仿生的方法,參考了動(dòng)物的神經(jīng)元結(jié)構(gòu)。從本質(zhì)上看,它是一個(gè)多層復(fù)合函數(shù)。對(duì)于多層前饋型神經(jīng)網(wǎng)絡(luò),即權(quán)連接網(wǎng)絡(luò),每一層實(shí)現(xiàn)的變換為:

圖片

其中W為權(quán)重矩陣,b為偏置向量,f為激活函數(shù)。正向傳播時(shí)反復(fù)用上上對(duì)每一層的輸出值進(jìn)行計(jì)算,得到最終的輸出。使用激活函數(shù)是為了保證非線性,對(duì)于激活函數(shù)更深入全面的介紹請(qǐng)參考SIGAI之前的公眾號(hào)文章“理解神經(jīng)網(wǎng)絡(luò)的激活函數(shù)”,“神經(jīng)網(wǎng)絡(luò)的激活函數(shù)總結(jié)”。萬(wàn)能逼近定理保證了神經(jīng)網(wǎng)絡(luò)可以比較閉區(qū)間上任意一個(gè)連續(xù)函數(shù)。
權(quán)重和偏置通過(guò)訓(xùn)練得到,采用的是反向傳播算法。反向傳播算法從復(fù)合函數(shù)求導(dǎo)的鏈?zhǔn)椒▌t導(dǎo)出,用于計(jì)算損失函數(shù)對(duì)權(quán)重,偏置的梯度值。算法從最外層的導(dǎo)數(shù)值算起,依次遞推的計(jì)算更內(nèi)層的導(dǎo)數(shù)值,這對(duì)應(yīng)于從神經(jīng)網(wǎng)絡(luò)的輸出層算起,反向計(jì)算每個(gè)隱含層參數(shù)的導(dǎo)數(shù)值。其核心是誤差項(xiàng)的定義,定義誤差項(xiàng)為損失函數(shù)對(duì)臨時(shí)變量u的梯度:

圖片

其中,nl是神經(jīng)網(wǎng)絡(luò)的層數(shù)。最后一個(gè)層的誤差項(xiàng)可以直接求出,其他層的誤差項(xiàng)根據(jù)上面的遞推公式進(jìn)行計(jì)算。根據(jù)誤差項(xiàng),可以計(jì)算出損失函數(shù)對(duì)每一層權(quán)重矩陣的梯度值:

圖片

以及對(duì)偏置向量的梯度值:

圖片

然后用梯度下降法對(duì)它們的值進(jìn)行更新。參數(shù)初始化一般采用隨機(jī)數(shù),而不是簡(jiǎn)單的初始化為0。為了加快收斂速度,還可以使用動(dòng)量項(xiàng),它積累了之前的梯度信息。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的損失函數(shù)不是凸函數(shù),因此有陷入局部極值,鞍點(diǎn)的風(fēng)險(xiǎn)。另外,隨著層數(shù)的增加,會(huì)導(dǎo)致梯度消失問(wèn)題,這是因?yàn)槊看斡?jì)算誤差項(xiàng)時(shí)都需要乘以激活函數(shù)的導(dǎo)數(shù)值,如果其絕對(duì)值小于1,多次連乘之后導(dǎo)致誤差項(xiàng)趨向于0,從而使得計(jì)算出來(lái)的參數(shù)梯度值接近于0,參數(shù)無(wú)法有效的更新。
如果對(duì)反傳播算法的推導(dǎo)細(xì)節(jié)感興趣,可以閱讀SIGAI之前的公眾號(hào)文章“反向傳播算法推導(dǎo)-全連接神經(jīng)網(wǎng)絡(luò)”。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法可以總結(jié)為:復(fù)合函數(shù)求導(dǎo) + 梯度下降法
標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)是一種有監(jiān)督的學(xué)習(xí)算法,它是一種非線性模型,它既可以用于分類(lèi)問(wèn)題,也可以用于回歸問(wèn)題,并且支持多分類(lèi)問(wèn)題。 

分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25