99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀機(jī)器學(xué)習(xí)與深度學(xué)習(xí)核心知識點(diǎn)總結(jié)(二)
機(jī)器學(xué)習(xí)與深度學(xué)習(xí)核心知識點(diǎn)總結(jié)(二)
2019-12-03
收藏
<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

作者 | 小小挖掘機(jī)

來源 | SIGAI

主成分分析

主成分分析是一種數(shù)據(jù)降維和去除相關(guān)性的方法,它通過線性變換將向量投影到低維空間。對向量進(jìn)行投影就是對向量左乘一個(gè)矩陣,得到結(jié)果向量:

y = Wx

結(jié)果向量的維數(shù)小于原始向量的維數(shù)。降維要確保的是在低維空間中的投影能很好的近似表達(dá)原始向量,即重構(gòu)誤差最小化:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

主成分分析一種無監(jiān)督學(xué)習(xí)算法,也是一種線性方法。

線性判別分析

線性判別分析向最大化類間差異、最小化類內(nèi)差異的方向線性投影。其基本思想是通過線性投影來最小化同類樣本間的差異,最大化不同類樣本間的差異。具體做法是尋找一個(gè)向低維空間的投影矩陣W,樣本的特征向量x經(jīng)過投影之后得到的新向量:

y = Wx

同一類樣投影后的結(jié)果向量差異盡可能小,不同類的樣本差異盡可能大。簡單的說,就是經(jīng)過這個(gè)投影之后同一類的樣本進(jìn)來聚集在一起,不同類的樣本盡可能離得遠(yuǎn)。這種最大化類間差異,最小化類內(nèi)差異的做法,在機(jī)器學(xué)習(xí)的很多地方都有使用。

類內(nèi)散布矩陣定義為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

kNN算法

kNN算法將樣本分到離它最相似的樣本所屬的類。算法本質(zhì)上使用了模板匹配的思想。要確定一個(gè)樣本的類別,可以計(jì)算它與所有訓(xùn)練樣本的距離,然后找出和該樣本最接近的k個(gè)樣本,統(tǒng)計(jì)這些樣本的類別進(jìn)行投票,票數(shù)最多的那個(gè)類就是分類結(jié)果。

由于需要計(jì)算樣本間的距離,因此需要依賴距離定義,常用的有歐氏距離,Mahalanobis距離,Bhattacharyya距離。另外,還可以通過學(xué)習(xí)得到距離函數(shù),這就是距離度量學(xué)習(xí)。

kNN算法是一種判別模型,即支持分類問題,也支持回歸問題,是一種非線性模型。它天然的支持多分類問題。kNN算法沒有訓(xùn)練過程,是一種基于實(shí)例的算法。

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

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

其中W為權(quán)重矩陣,b為偏置向量,f為激活函數(shù)。正向傳播時(shí)反復(fù)用上上對每一層的輸出值進(jìn)行計(jì)算,得到最終的輸出。使用激活函數(shù)是為了保證非線性,萬能逼近定理保證了神經(jīng)網(wǎng)絡(luò)可以比較閉區(qū)間上任意一個(gè)連續(xù)函數(shù)。

權(quán)重和偏置通過訓(xùn)練得到,采用的是反向傳播算法。反向傳播算法從復(fù)合函數(shù)求導(dǎo)的鏈?zhǔn)椒▌t導(dǎo)出,用于計(jì)算損失函數(shù)對權(quán)重,偏置的梯度值。算法從最外層的導(dǎo)數(shù)值算起,依次遞推的計(jì)算更內(nèi)層的導(dǎo)數(shù)值,這對應(yīng)于從神經(jīng)網(wǎng)絡(luò)的輸出層算起,反向計(jì)算每個(gè)隱含層參數(shù)的導(dǎo)數(shù)值。其核心是誤差項(xiàng)的定義,定義誤差項(xiàng)為損失函數(shù)對臨時(shí)變量u的梯度:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

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

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

以及對偏置向量的梯度值:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

然后用梯度下降法對它們的值進(jìn)行更新。參數(shù)初始化一般采用隨機(jī)數(shù),而不是簡單的初始化為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)致梯度消失問題,這是因?yàn)槊看斡?jì)算誤差項(xiàng)時(shí)都需要乘以激活函數(shù)的導(dǎo)數(shù)值,如果其絕對值小于1,多次連乘之后導(dǎo)致誤差項(xiàng)趨向于0,從而使得計(jì)算出來的參數(shù)梯度值接近于0,參數(shù)無法有效的更新。

復(fù)合函數(shù)求導(dǎo) + 梯度下降法

標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)是一種有監(jiān)督的學(xué)習(xí)算法,它是一種非線性模型,它既可以用于分類問題,也可以用于回歸問題,并且支持多分類問題。

支持向量機(jī)

支持向量機(jī)的核心思想是最大化分類間隔。簡單的支持向量機(jī)就是讓分類間隔最大化的線性分類器,找到多維空間中的一個(gè)超平面。它在訓(xùn)練是求解的問題為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

這從點(diǎn)到超平面的距離方程導(dǎo)出,通過增加一個(gè)約束條件消掉了優(yōu)化變量的冗余??梢宰C明,這個(gè)問題是凸優(yōu)化問題,并且滿足Slater條件。這個(gè)問題帶有太多的不等式約束,不易求解,因此通過拉格朗日對偶轉(zhuǎn)換為對偶問題求解:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

同樣的,這個(gè)問題也是凸優(yōu)化問題。此時(shí)支持向量機(jī)并不能解決非線性分類問題,通過使用核函數(shù),將向量變換到高維空間,使它們更可能是線性可分的。而對向量先進(jìn)行映射再做內(nèi)積,等價(jià)于先做內(nèi)積再做映射,因此核函數(shù)并不用顯式的對向量進(jìn)行映射,而是對兩個(gè)向量的內(nèi)積進(jìn)行映射,這是核函數(shù)的精髓。

加入核函數(shù)K之后的對偶問題變?yōu)椋?/span>

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

預(yù)測函數(shù)為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

其中b通過KKT條件求出。如果使用正定核,這個(gè)問題也是凸優(yōu)化問題。求解采用了SMO算法,這是一種分治法,每次挑選出兩個(gè)變量進(jìn)行優(yōu)化,其他變量保持不動(dòng)。選擇優(yōu)化變量的依據(jù)是KKT條件,對這兩個(gè)變量的優(yōu)化是一個(gè)帶等式和不等式約束的二次函數(shù)極值問題,可以直接得到公式解。另外,這個(gè)子問題同樣是一個(gè)凸優(yōu)化問題。

標(biāo)準(zhǔn)的支持向量機(jī)只能解決二分類問題。對于多分類問題,可以用這種二分類器的組合來解決,有以下幾種方案:

1對剩余方案。對于有k個(gè)類的分類問題,訓(xùn)練k個(gè)二分類器。訓(xùn)練時(shí)第i個(gè)分類器的正樣本是第i類樣本,負(fù)樣本是除第i類之外其他類型的樣本,這個(gè)分類器的作用是判斷樣本是否屬于第i類。在進(jìn)行分類時(shí),對于待預(yù)測樣本,用每個(gè)分類器計(jì)算輸出值,取輸出值最大那個(gè)作為預(yù)測結(jié)果。

1對1方案。如果有k個(gè)類,訓(xùn)練Ck2個(gè)二分類器,即這些類兩兩組合。訓(xùn)練時(shí)將第i類作為正樣本,其他各個(gè)類依次作為負(fù)樣本,總共有k (k ? 1) / 2種組合。每個(gè)分類器的作用是判斷樣本是屬于第i類還是第j類。對樣本進(jìn)行分類時(shí)采用投票的方法,依次用每個(gè)二分類器進(jìn)行預(yù)測,如果判定為第m類,則m類的投票數(shù)加1,得票最多的那個(gè)類作為最終的判定結(jié)果。

除了通過二分類器的組合來構(gòu)造多類分類器之外,還可以通過直接優(yōu)化多類分類的目標(biāo)函數(shù)得到多分類器。

SVM是一種判別模型。它既可以用于分類問題,也可以用于回歸問題。標(biāo)準(zhǔn)的SVM只能支持二分類問題,使用多個(gè)分類器的組合,可以解決多分類問題。如果不使用核函數(shù),SVM是一個(gè)線性模型,如果使用非線性核,則是非線性模型,這可以從上面的預(yù)測函數(shù)看出。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

logistic回歸

logistic回歸是一種二分類算法,直接為樣本估計(jì)出它屬于正負(fù)樣本的概率。先將向量進(jìn)行線性加權(quán),然后計(jì)算logistic函數(shù),可以得到[0,1]之間的概率值,它表示樣本x屬于正樣本的概率:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

正樣本標(biāo)簽值為1,負(fù)樣本為0。使用logistic函數(shù)的原因是它單調(diào)增,并且值域在(0, 1)之間,剛好符合概率的要求。訓(xùn)練時(shí)采用最大似然估計(jì),求解對數(shù)似然函數(shù)的極值:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

可以證明這是一個(gè)凸優(yōu)化問題,求解時(shí)可以用梯度下降法,也可以用牛頓法。如果正負(fù)樣本的標(biāo)簽為+1和-1,則可以采用另外一種寫法:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

訓(xùn)練時(shí)的目標(biāo)同樣是最大化對數(shù)似然函數(shù):

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

同樣的,這也是一個(gè)凸優(yōu)化問題。預(yù)測時(shí)并不需要計(jì)算logistic函數(shù),而是直接計(jì)算:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

Logistic回歸是一種二分類算法,雖然使用了概率,但它是一種判別模型!另外要注意的是,logistic回歸是一種線性模型,這從它的預(yù)測函數(shù)就可以看出。它本身不能支持多分類問題,它的擴(kuò)展版本softmax回歸可以解決多分類問題。

K均值算法

K均值算法是一種聚類算法,把樣本分配到離它最近的類中心所屬的類,類中心由屬于這個(gè)類的所有樣本確定。

k均值算法是一種無監(jiān)督的聚類算法。算法將每個(gè)樣本分配到離它最近的那個(gè)類中心所代表的類,而類中心的確定又依賴于樣本的分配方案。

在實(shí)現(xiàn)時(shí),先隨機(jī)初始化每個(gè)類的類中心,然后計(jì)算樣本與每個(gè)類的中心的距離,將其分配到最近的那個(gè)類,然后根據(jù)這種分配方案重新計(jì)算每個(gè)類的中心。這也是一種分階段優(yōu)化的策略。

與k近鄰算法一樣,這里也依賴于樣本之間的距離,因此需要定義距離的計(jì)算方式,最常用的是歐氏距離,也可以采用其他距離定義。算法在實(shí)現(xiàn)時(shí)要考慮下面幾個(gè)問題:

1.類中心向量的初始化。一般采用隨機(jī)初始化。最簡單的是Forgy算法,它從樣本集中隨機(jī)選擇k個(gè)樣本作為初始類中心。第二種方案是隨機(jī)劃分,它將所有樣本隨機(jī)的分配給k個(gè)類中的一個(gè),然后按照這種分配方案計(jì)算各個(gè)類的類中心向量。

2.參數(shù)k的設(shè)定??梢愿鶕?jù)先驗(yàn)知識人工指定一個(gè)值,或者由算法自己確定。

3.迭代終止的判定規(guī)則。一般做法是計(jì)算本次迭代后的類中心和上一次迭代時(shí)的類中心之間的距離,如果小于指定閾值,則算法終止。

卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)是對全連接神經(jīng)網(wǎng)絡(luò)的發(fā)展,它使用卷積層,池化層自動(dòng)學(xué)習(xí)各個(gè)尺度上的特征。卷積運(yùn)算為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

在這里需要注意多通道卷積的實(shí)現(xiàn),它的輸入圖像,卷積核都有多個(gè)通道,分別用各個(gè)通道的卷積核對輸入圖像的各個(gè)通道進(jìn)行卷積,然后再累加。這里也使用了激活函數(shù),原因和全連接神經(jīng)網(wǎng)絡(luò)相同。池化運(yùn)算最常見的有均值池化,max池化,分別用均值和最大值代替圖像的一塊矩形區(qū)域。使用池化的原因是為了降維,減小圖像的尺寸,另外,它還帶來了一定程度的平移和旋轉(zhuǎn)的不變性。Max池化是非線性操作,現(xiàn)在用的更多。

對于經(jīng)典的網(wǎng)絡(luò)結(jié)構(gòu),包括LeNet-5網(wǎng)絡(luò),AlexNet,VGG網(wǎng)絡(luò),GoogLeNet,殘差網(wǎng)絡(luò)等經(jīng)典的網(wǎng)絡(luò)結(jié)構(gòu),創(chuàng)新點(diǎn),要熟記于心。

自Alex網(wǎng)絡(luò)出現(xiàn)之后,各種改進(jìn)的卷積網(wǎng)絡(luò)不斷被提出。這些改進(jìn)主要在以下幾個(gè)方面進(jìn)行:卷積層,池化層,激活函數(shù),損失函數(shù),網(wǎng)絡(luò)結(jié)構(gòu)。對于這些典型的改進(jìn),也要深刻理解。

由于引入了卷積層和池化層,因此反向傳播算法需要為這兩種層進(jìn)行考慮。卷積層誤差項(xiàng)的反向傳播的公式為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

根據(jù)誤差項(xiàng)計(jì)算卷積核梯度值的公式為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

如果采用均值池化,池化層的誤差項(xiàng)反向傳播計(jì)算公式為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

如果使用max池化,則為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

注意,池化層沒有需要訓(xùn)練得到的參數(shù)。

卷積神經(jīng)網(wǎng)絡(luò)具有遷移學(xué)習(xí)的能力,我們可以把這個(gè)網(wǎng)絡(luò)的參數(shù)作為訓(xùn)練的初始值,在新的任務(wù)上繼續(xù)訓(xùn)練,這種做法稱為fine-tune,即網(wǎng)絡(luò)微調(diào)。大量的實(shí)驗(yàn)結(jié)果和應(yīng)用結(jié)果證明,這種微調(diào)是有效的。這說明卷積神經(jīng)網(wǎng)絡(luò)在一定程度上具有遷移學(xué)習(xí)的能力,卷積層學(xué)習(xí)到的特征具有通用性。VGG網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上的訓(xùn)練結(jié)果在進(jìn)行微調(diào)之后,被廣泛應(yīng)用于目標(biāo)檢測、圖像分割等任務(wù)。

和全連接神經(jīng)網(wǎng)絡(luò)一樣,卷積神經(jīng)網(wǎng)絡(luò)是一個(gè)判別模型,它既可以用于分類問題,也可以用用于回歸問題,并且支持多分類問題。

循環(huán)神經(jīng)網(wǎng)絡(luò)

循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有記憶功能的神經(jīng)網(wǎng)絡(luò),每次計(jì)算時(shí),利用了上一個(gè)時(shí)刻的記憶值,特別適合序列數(shù)據(jù)分析。網(wǎng)絡(luò)接受的是一個(gè)序列數(shù)據(jù),即一組向量,依次把它們輸入網(wǎng)絡(luò),計(jì)算每個(gè)時(shí)刻的輸出值。記憶功能通過循環(huán)神層實(shí)現(xiàn):

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

它同時(shí)利用了本時(shí)刻的輸入值和上一個(gè)時(shí)刻的記憶值。輸出層的變換為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

這和普通神經(jīng)網(wǎng)絡(luò)沒什么區(qū)別。由于引入了循環(huán)層,因此反向傳播算法有所不同,稱為BPTT,即時(shí)間軸上的反向傳播算法。算法從最后一個(gè)時(shí)刻算起,沿著時(shí)間軸往前推。誤差項(xiàng)的遞推公式為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

遞推的終點(diǎn)為最后一個(gè)時(shí)刻。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

根據(jù)誤差項(xiàng)計(jì)算對權(quán)重和偏置的梯度值的公式為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

循環(huán)神經(jīng)網(wǎng)絡(luò)同樣存在梯度消失問題,因此出現(xiàn)了LSTM,GRU等結(jié)構(gòu)。

以循環(huán)神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),構(gòu)造出了兩類通用的框架,分別是連接主義時(shí)序分類(CTC),以及序列到序列學(xué)習(xí)(seq2seq)。用于解決語音識別,自然語言處理中的問題。其中,seq2seq采用了編碼器-解碼器結(jié)構(gòu),用兩個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)組合起來完成計(jì)算,一個(gè)充當(dāng)編碼器,一個(gè)充當(dāng)解碼器。

和其他類型的神經(jīng)網(wǎng)絡(luò)一樣,循環(huán)神經(jīng)網(wǎng)絡(luò)是一個(gè)判別模型,既支持分類問題,也支持回歸問題,并且支持多分類問題。

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

高斯混合模型

高斯混合模型通過多個(gè)正態(tài)分布的加權(quán)和來描述一個(gè)隨機(jī)變量的概率分布,概率密度函數(shù)定義為:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

其中x為隨機(jī)向量,k為高斯分布的個(gè)數(shù),wi為權(quán)重,μ為高斯分布的均值向量,∑為協(xié)方差矩陣。所有權(quán)重之和為1,即:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

任意一個(gè)樣本可以看作是先從k個(gè)高斯分布中選擇出一個(gè),選擇第i個(gè)高斯分布的概率為wi,再由第i個(gè)高斯分布

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

產(chǎn)生出這個(gè)樣本數(shù)據(jù)x。高斯混合模型可以逼近任何一個(gè)連續(xù)的概率分布,因此它可以看做是連續(xù)性概率分布的萬能逼近器。之所有要保證權(quán)重的和為1,是因?yàn)楦怕拭芏群瘮?shù)必須滿足在

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

內(nèi)的積分值為1。

指定高斯分布的個(gè)數(shù),給定一組訓(xùn)練樣本,可以通過期望最大化EM算法確定高斯混合模型的參數(shù)。每次迭代時(shí),在E步計(jì)算期望值,在M步最大化期望值,如此循環(huán)交替。

EM算法

EM算法是一種迭代法,其目標(biāo)是求解似然函數(shù)或后驗(yàn)概率的極值,而樣本中具有無法觀測的隱含變量。因?yàn)殡[變量的存在,我們無法直接通過最大化似然函數(shù)來確定參數(shù)的值??梢圆捎靡环N策略,構(gòu)造出對數(shù)似然函數(shù)的一個(gè)下界函數(shù),這個(gè)函數(shù)不含有隱變量,然后優(yōu)化這個(gè)下界。不斷的提高這個(gè)下界,使原問題達(dá)到最優(yōu)解,這就是EM算法所采用的思路。算法的構(gòu)造依賴于Jensen不等式。

算法在實(shí)現(xiàn)時(shí)首先隨機(jī)初始化參數(shù)θ的值,接下來循環(huán)迭代,每次迭代時(shí)分為兩步:

E步,基于當(dāng)前的參數(shù)估計(jì)值

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

,計(jì)算在給定x時(shí)對z的條件概率的數(shù)學(xué)期望:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

M步,求解如下極值問題,更新θ的值:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

實(shí)現(xiàn)Qi 時(shí)可以按照下面的公式計(jì)算:

<a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)</a>與<a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學(xué)習(xí)</a>核心知識點(diǎn)總結(jié)(二)

迭代終止的判定規(guī)則是相鄰兩次函數(shù)值之差小于指定閾值。需要注意的是,EM算法只能保證收斂到局部極小值。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }