久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

整理一份萬(wàn)字機(jī)器學(xué)習(xí)資料,!

 昵稱(chēng)16619343 2018-08-15

作者:石曉文,中國(guó)人民大學(xué)信息學(xué)院在讀研究生



本系列主要根據(jù)吳恩達(dá)老師的課程,、李航老師的統(tǒng)計(jì)學(xué)習(xí)方法以及自己平時(shí)的學(xué)習(xí)資料整理!在本文章中,,有些地方寫(xiě)的十分簡(jiǎn)略,,不過(guò)詳細(xì)的介紹我都附上了相應(yīng)的博客鏈接,大家可以根據(jù)相應(yīng)的博客鏈接學(xué)習(xí)更詳細(xì)的內(nèi)容,。

本文的目錄先列在這里啦:

1,、引言

2、線(xiàn)性回歸

3,、梯度下降法

3.1 梯度下降法分類(lèi)
3.2 梯度下降法改進(jìn)

4,、邏輯回歸

5、過(guò)擬合和正則化

5.1 過(guò)擬合
5.2 正則化

6,、方差vs偏差

6.1 偏差(Bias)
6.2 方差(Variance)

7,、支持向量機(jī)SVM

7.1 最大間隔分類(lèi)器
7.2 超平面求解
7.3 核函數(shù)Kernel
7.4 Outliers
7.5 SVM的損失函數(shù)
7.6 LR和SVM的區(qū)別

8、樸素貝葉斯

8.1 貝葉斯定理
8.2 樸素貝葉斯分類(lèi)

9,、決策樹(shù)方法

9.1 特征選擇
9.2 決策樹(shù)的生成
9.3決策樹(shù)剪枝

10,、集成學(xué)習(xí)方法

10.1 Bagging
10.2 Boosting
10.3 Bagging與Boosting的異同
10.4 Stacking

11、總結(jié)一下機(jī)器學(xué)習(xí)中的損失函數(shù)

11.1 0-1損失函數(shù)
11.2 絕對(duì)值損失函數(shù)
11.3 log對(duì)數(shù)損失函數(shù)
11.4 平方損失函數(shù)
11.5 指數(shù)損失函數(shù)
11.6 Hinge損失函數(shù)


1,、引言

機(jī)器學(xué)習(xí)是什么,?

Arthur Samuel:在進(jìn)行特定編程的情況下,給予計(jì)算機(jī)學(xué)習(xí)能力的領(lǐng)域,。
Tom Mitchell:一個(gè)程序被認(rèn)為能從經(jīng)驗(yàn)E中學(xué)習(xí),,解決任務(wù)T,達(dá)到性能度量值P,,當(dāng)且僅當(dāng),,有了經(jīng)驗(yàn)E后,經(jīng)過(guò)P評(píng)判,,程序在處理T時(shí)的性能有所提升,。

監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)

根據(jù)訓(xùn)練數(shù)據(jù)是否有標(biāo)記信息,機(jī)器學(xué)習(xí)任務(wù)大致分為兩大類(lèi):監(jiān)督學(xué)習(xí)非監(jiān)督學(xué)習(xí),,分類(lèi)和回歸是監(jiān)督學(xué)習(xí)的代表,,而聚類(lèi)是非監(jiān)督學(xué)習(xí)的代表。

輸入空間,、特征空間,、輸出空間,、假設(shè)空間

輸入空間:在監(jiān)督學(xué)習(xí)中,將輸入所有可能取值的集合稱(chēng)為輸入空間,。
特征空間:每個(gè)具體的輸入是一個(gè)實(shí)例,,通常由特征向量表示,所有特征向量存在的空間成為特征空間,。有時(shí)輸入空間和特征空間為相同的空間,,有時(shí)為不同的空間,需要將實(shí)例從輸入空間映射到輸出空間,。
輸出空間:在監(jiān)督學(xué)習(xí)中,,將輸出所有可能取值的集合稱(chēng)為輸出空間。
假設(shè)空間:監(jiān)督學(xué)習(xí)的目的在于學(xué)習(xí)一個(gè)由輸入到輸出的映射,,這一映射由模型來(lái)表示,。由輸入空間到輸出空間的映射的集合,稱(chēng)為假設(shè)空間,。舉個(gè)簡(jiǎn)單的例子,,在一元線(xiàn)性回歸中,假設(shè)空間即所有的直線(xiàn)y=ax+b組成的集合,,我們的目標(biāo)就是找到一條y=a'x+b',,使得損失最小。

生成模型和判別模型

生成模型:生成模型由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率分布P(X,Y),,按后求出條件概率分布P(Y|X),,作為預(yù)測(cè)的模型。之所以被稱(chēng)為生成方法,,是因?yàn)槟P捅硎玖私o定輸入X產(chǎn)生輸出Y的關(guān)系,。典型的模型有樸素貝葉斯方法隱馬爾可夫模型的
判別模型:判別模型由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù)f(X),或者條件概率分布P(Y|X),。判別方法關(guān)心的是對(duì)給定的輸入X,,應(yīng)該預(yù)測(cè)什么樣的輸出Y。典型的判別模型包括k近鄰算法,,感知機(jī),,決策樹(shù)邏輯回歸,,支持向量機(jī)等,。

2、線(xiàn)性回歸

模型表示

線(xiàn)性回歸是最簡(jiǎn)單的機(jī)器學(xué)習(xí)模型,,其假設(shè)輸入和輸出之間滿(mǎn)足線(xiàn)性關(guān)系,,假設(shè)我們想要通過(guò)房屋尺寸來(lái)預(yù)測(cè)房?jī)r(jià),通過(guò)將收集到的數(shù)據(jù)繪制在二維坐標(biāo)系中,,我們總中擬合得到圖中的直線(xiàn):

以二元線(xiàn)性回歸為例,,其表達(dá)式如下:

對(duì)具有n個(gè)變量的多元線(xiàn)性回歸問(wèn)題,,其一般表達(dá)式為:

損失函數(shù)

線(xiàn)性回歸的損失函數(shù)一般是平方損失函數(shù)(上標(biāo)i代表第i個(gè)數(shù)據(jù),下表i代表第i維特征):

有時(shí)候我們可能把這個(gè)式子想的比較想當(dāng)然,,其實(shí)我們可以從極大似然的角度推導(dǎo)出平方損失函數(shù),,這時(shí)我們會(huì)假設(shè)損失服從正態(tài)分布,具體參考文章:
https://www.jianshu.com/p/4d562f2c06b8

梯度下降

梯度下降(Gradient Descent)是一個(gè)用來(lái)求函數(shù)最小值的算法,,后面會(huì)有一張專(zhuān)門(mén)講解梯度下降法及其改進(jìn)算法,,這里只是介紹一個(gè)基本的思想。
梯度下降背后的思想是:開(kāi)始時(shí)我們隨機(jī)選擇一個(gè)參數(shù)的組合,,計(jì)算代價(jià)函數(shù),,然后我們尋找下一個(gè)能讓代價(jià)函數(shù)值下降最多的參數(shù)組合。我們持續(xù)這么做直到找到一個(gè)局部最小值(local minimum),,因?yàn)槲覀儾](méi)有嘗試完所有的參數(shù)組合,所以不能確定我們得到的局部最小值是否便是全局最小值(global minimum),,選擇不同的初始參數(shù)組合,,可能會(huì)找到不同的局部最小值。

具體的做法就是:每一次都同時(shí)讓所有的參數(shù)減去學(xué)習(xí)速率乘以損失函數(shù)的導(dǎo)數(shù),。

其中α是學(xué)習(xí)率(learning rate),,它決定了我們沿著能讓代價(jià)函數(shù)下降程度最大的方向向下邁出的步子有多大。

除學(xué)習(xí)率外,,使用梯度下降法時(shí)需要對(duì)特征進(jìn)行標(biāo)準(zhǔn)化處理,,以二元線(xiàn)性回歸為例,如果兩維的數(shù)值范圍相差特別大,,梯度下降算法需要非常多次的迭代才能收斂,,解決的方法是嘗試將所有特征的尺度都盡量縮放到-1到1之間:

3、梯度下降法

再進(jìn)一步介紹算法之前,,我們先來(lái)介紹一下梯度下降法的分類(lèi)及對(duì)其的改進(jìn),。

3.1 梯度下降法分類(lèi)

梯度下降法可以分為下面三種:

批量梯度下降法(Batch Gradient Descent):批量梯度下降法,是梯度下降法最常用的形式,,具體做法也就是在更新參數(shù)時(shí)使用所有的樣本來(lái)進(jìn)行更新,。

隨機(jī)梯度下降法(Stochastic Gradient Descent):求梯度時(shí)沒(méi)有用所有的m個(gè)樣本的數(shù)據(jù),而是僅僅選取一個(gè)樣本j來(lái)求梯度,。

小批量梯度下降法(Mini-batch Gradient Descent):小批量梯度下降法是批量梯度下降法和隨機(jī)梯度下降法的折衷,,也就是對(duì)于m個(gè)樣本,我們采用x個(gè)樣子來(lái)迭代,。

三者到達(dá)極小值的路徑大致可以表示為下圖:

其中,,藍(lán)色為批量梯度下降法,綠色為小批量梯度下降法,,紫色為隨機(jī)梯度下降法,。

3.2 梯度下降法改進(jìn)

指數(shù)加權(quán)平均數(shù)

在講解一些常見(jiàn)的梯度下降改進(jìn)算法之前,,我們先來(lái)看一下指數(shù)加權(quán)平均數(shù)(Exponentially weighted averages):指數(shù)加權(quán)平均數(shù)是對(duì)趨勢(shì)的一種刻畫(huà),計(jì)算公式如下:

在上式中,,vt是t時(shí)刻的指數(shù)加權(quán)平均值,,v0 = 0,θt是第t時(shí)刻的實(shí)際值,。β是一個(gè)參數(shù),。簡(jiǎn)單的理解,β代表了vt刻畫(huà)的是多少天的平均值,,如果β太小,,那么vt越接近于θt,如果β很大,,那么vt就能代表一個(gè)更長(zhǎng)時(shí)間的平均值,。

大體上,vt大概是1/(1-β)天的平均值,,即當(dāng)β=0.1時(shí),,我們可以認(rèn)為vt代表了近10天的平均值。β=0.02時(shí),,我們可以認(rèn)為vt代表了近50天的平均值,,如下圖所示,紅色表示的是β=0.1時(shí)vt的變化,,綠色表示的是β=0.02時(shí)vt的變化:

在指數(shù)加權(quán)平均的過(guò)程中,,還有一個(gè)很重要的概念,叫做偏差修正(Bias correction),可以看到,,如果v0=0,,那么v1 = β*θ1,特別地,,如果β=0.1,,那么
v1 = 0.1 * θ1,這樣導(dǎo)致v1會(huì)特別小,,需要進(jìn)行一定程度的修正,, 具體的修正方法是對(duì)vt除以( 1-β^t),當(dāng)t特別小的時(shí)候,,可以起到較為明顯的修正效果,,但是當(dāng)t變大時(shí),分母接近于1,,基本沒(méi)有進(jìn)行修正,。

在機(jī)器學(xué)習(xí)中,在計(jì)算指數(shù)加權(quán)平均數(shù)的大部分時(shí)候,,大家不在乎執(zhí)行偏差修正,,因?yàn)?大部分人寧愿熬過(guò)初始時(shí)期,,拿到具有偏差的估測(cè),然后繼續(xù)計(jì)算下去,。如果你關(guān)心初始時(shí) 期的偏差,,在剛開(kāi)始計(jì)算指數(shù)加權(quán)移動(dòng)平均數(shù)的時(shí)

動(dòng)量梯度下降法(Momentum)

動(dòng)量梯度下降法基本的想法就是計(jì)算梯度的指數(shù)加權(quán)平均數(shù),并利用該梯度 更新你的權(quán)重,。假設(shè)我們使用梯度下降法更新參數(shù)的路徑如下圖中藍(lán)色的線(xiàn)所示:

上圖中的路徑上下波動(dòng)減慢了梯度下降法的速度,,如果我們用更大的學(xué)習(xí)率,可能導(dǎo)致這種波動(dòng)進(jìn)一步加大,,變成圖中的紫色的線(xiàn),。因此,你希望在縱軸上學(xué)習(xí)慢一點(diǎn),,消除這種上下的擺動(dòng),,而在橫軸上,你希望快速?gòu)淖笙蛴乙苿?dòng),,移動(dòng)到最小值處,。

我們之前介紹的指數(shù)加權(quán)平均數(shù),可以反映近一段時(shí)間的趨勢(shì),,在縱軸上的上下波動(dòng),使得平均值接近于0,,而在橫軸方向的平均值仍然較大,。利用這種思想,Momentum的計(jì)算過(guò)程如下:

RMSprop(root mean square prop)

還是用上面的例子,,我們假設(shè)縱軸代表參數(shù)b,,橫軸代表參數(shù)W:

所以,你想減緩??方向的學(xué)習(xí),,即縱軸方向,,同時(shí)加快,至少不是減緩橫軸方向的學(xué)習(xí),, RMSprop 算法可以實(shí)現(xiàn)這一點(diǎn),,將趨勢(shì)變成下面的綠色的線(xiàn):

我們這里仍然運(yùn)用指數(shù)加權(quán)平均數(shù),但并不是dW的平均數(shù),,而是(dW)^2的平均數(shù),,即:

在參數(shù)更新時(shí):

由于db較大,dw較小,,因此SdW較小,,Sdb較大,所以可以減小縱軸上的擺動(dòng),,加速橫軸上的學(xué)習(xí)速度,。

Adam(Adaptive Moment Estimation)

Adam 優(yōu)化算法基本上就是將 Momentum 和 RMSprop 結(jié)合在一起,,它使用的是經(jīng)過(guò)偏差修正后的指數(shù)加權(quán)平均數(shù):

最終的參數(shù)更新變?yōu)椋?/span>

Adam 算法結(jié)合了 Momentum 和 RMSprop 梯度下降法,并且是一種極其常用的學(xué)習(xí)算法,,被證明能有效適用于不同神經(jīng)網(wǎng)絡(luò),,適用于廣泛的結(jié)構(gòu)。

4,、邏輯回歸

基本原理

邏輯回歸被應(yīng)用于分類(lèi)問(wèn)題,,通過(guò)sigmoid函數(shù)對(duì)線(xiàn)性回歸的預(yù)測(cè)值進(jìn)行轉(zhuǎn)換,使其在[0,1]的范圍:

其中,,g被稱(chēng)為sigmoid函數(shù),,其形式如下:

損失函數(shù)

邏輯回歸使用的損失函數(shù)并非平方損失函數(shù),而是如下的形式:

主要的原因是,,平方損失函數(shù)對(duì)于邏輯回歸來(lái)說(shuō)是非凸的,,使用梯度下降法可能收斂到局部極小值,而上面的損失函數(shù)是凸函數(shù),,可以得到全局最小值:

過(guò)程推導(dǎo)

邏輯回歸的推導(dǎo)是面試中經(jīng)常會(huì)問(wèn)到的問(wèn)題,,通過(guò)梯度下降法進(jìn)行推導(dǎo)時(shí),我們用到的主要性質(zhì)時(shí)sigmoid函數(shù)的導(dǎo)數(shù)性質(zhì):g'(x) = g(x)(1-g(x)),,一定要牢記于心,。下圖是推導(dǎo)過(guò)程:

可以記一下結(jié)論,到時(shí)候用于檢驗(yàn)自己推導(dǎo)的對(duì)不對(duì),。對(duì)第j個(gè)參數(shù)求梯度,,結(jié)果為:

邏輯回歸為什么會(huì)選擇sigmoid函數(shù)呢,總結(jié)有以下幾方面吧:
1,、函數(shù)連續(xù),,單調(diào)遞增
2、求導(dǎo)方便
3,、輸出范圍為(0,1),,可以用作輸出層,結(jié)果可以表示概率
4,、抑制兩頭,,對(duì)中間細(xì)微變化敏感,對(duì)分類(lèi)有利,。

解決多分類(lèi)問(wèn)題

邏輯回歸還可以用于多分類(lèi),,我們常用的策略被稱(chēng)為one vs all

假設(shè)我們有三個(gè)類(lèi),,如下圖所示:

采用one vs all策略時(shí),,有多少類(lèi)別,,我們就要訓(xùn)練幾個(gè)分類(lèi)器,。每次選擇一個(gè)類(lèi)別作為正例,,其他所有類(lèi)別的樣本作為負(fù)例,,訓(xùn)練一個(gè)分類(lèi)器:

最后,在我們需要做預(yù)測(cè)時(shí),,我們將所有的分類(lèi)器都運(yùn)行一遍,,然后對(duì)每一個(gè)輸入變量,都選擇最高可能性的輸出變量,,即:

5,、過(guò)擬合和正則化

5.1 過(guò)擬合

機(jī)器學(xué)習(xí)的目的是使學(xué)到的模型不僅對(duì)已知的數(shù)據(jù)而且對(duì)未知的數(shù)據(jù)都能有很好的預(yù)測(cè)能力。當(dāng)損失函數(shù)給定時(shí),,模型在訓(xùn)練集上的損失被稱(chēng)為訓(xùn)練誤差,,在測(cè)試集上的損失被稱(chēng)為測(cè)試誤差

如果模型不能很好的適應(yīng)訓(xùn)練集,,會(huì)造成欠擬合(underfit),。相反,如果模型過(guò)于強(qiáng)調(diào)擬合原始數(shù)據(jù),,會(huì)導(dǎo)致對(duì)未知數(shù)據(jù)擬合很差,,這種情況被稱(chēng)為過(guò)擬合(overfit)

看下面的例子:

隨著模型的復(fù)雜度的提升,,訓(xùn)練誤差和測(cè)試誤差往往呈現(xiàn)下面的趨勢(shì):

5.2 正則化

正則化的目的是對(duì)過(guò)大的參數(shù)進(jìn)行一定的懲罰,,降低其對(duì)模型的影響,使我們能夠得到一個(gè)較為簡(jiǎn)單的模型,。這符合奧卡姆剃刀的原理,,即在所有可能選擇的模型中,能夠很好地解釋已知數(shù)據(jù)并且十分簡(jiǎn)單的才是最好的模型,。

我們常用的正則化有L1正則化L2正則化

L1正則化

L1正則化即在損失函數(shù)的基礎(chǔ)上增加參數(shù)的1范數(shù):

我們常說(shuō),,L1正則化具有參數(shù)選擇的作用,,直觀從圖像理解,如下:

當(dāng)然,,也可以通過(guò)數(shù)學(xué)推導(dǎo)得到結(jié)論,,具體參考文章:https://www.jianshu.com/p/2f60e672d4f0

從貝葉斯角度看,當(dāng)參數(shù)的先驗(yàn)概率符合拉普拉斯分布時(shí),,最大化后驗(yàn)概率可以得到添加1范數(shù)的損失函數(shù),。

L2正則化

L2正則化即在損失函數(shù)的基礎(chǔ)上增加參數(shù)的2范數(shù):

L2正則化具有權(quán)重衰減的功能,圖像如下:

從貝葉斯角度看,,當(dāng)參數(shù)的先驗(yàn)概率符合高斯分布時(shí),,最大化后驗(yàn)概率可以得到添加2范數(shù)的損失函數(shù)。

從貝葉斯角度看L1正則化和L2正則化,參考文章:https://www.jianshu.com/p/4d562f2c06b8

6,、方差vs偏差

當(dāng)你運(yùn)行一個(gè)學(xué)習(xí)算法時(shí),,如果這個(gè)算法的表現(xiàn)不理想,那么多半是出現(xiàn)兩種情況:要么是偏差比較大,,要么是方差比較大,。換句話(huà)說(shuō),出現(xiàn)的情況要么是欠擬合,,要么是過(guò)擬合問(wèn)題,。那么這兩種情況,哪個(gè)和偏差有關(guān),,哪個(gè)和方差有關(guān),,或者是不是和兩個(gè)都有關(guān)?

6.1 偏差(Bias)

偏差基本對(duì)應(yīng)于欠擬合問(wèn)題,,其表現(xiàn)是模型在訓(xùn)練集和驗(yàn)證集上的誤差都比較大,,隨著數(shù)據(jù)集的增加,模型在訓(xùn)練集和驗(yàn)證集上的誤差表現(xiàn)如下:

在面臨高偏差時(shí),,我們應(yīng)該嘗試以下的方法:嘗試獲得更多的特征,,嘗試增加多項(xiàng)式特征,嘗試減少正則化程度λ,。

6.2 方差(Variance)

方差問(wèn)題對(duì)應(yīng)于過(guò)擬合問(wèn)題,,其表現(xiàn)是模型在訓(xùn)練集上誤差比較小,而在驗(yàn)證集上的誤差遠(yuǎn)遠(yuǎn)高于訓(xùn)練集,。另一個(gè)解釋方差問(wèn)題的角度是,,對(duì)于同一個(gè)形式的模型(比如都是四次回歸),針對(duì)不同的訓(xùn)練集,,其擬合得到的參數(shù)相差很大,。隨著數(shù)據(jù)集的增加,模型在訓(xùn)練集和驗(yàn)證集上的誤差表現(xiàn)如下:

在面臨高偏差時(shí),,我們應(yīng)該采取下面的方法:獲得更多的訓(xùn)練實(shí)例,,嘗試減少特征的數(shù)量,嘗試增加正則化程度λ

7,、支持向量機(jī)SVM

關(guān)于SVM的知識(shí),,可以參照pluskid的博客,寫(xiě)的真心贊,!

博客鏈接:http://blog./?page_id=683

7.1 最大間隔分類(lèi)器

SVM的目標(biāo)是找到一個(gè)最大間隔的分類(lèi)器,,使得兩類(lèi)數(shù)據(jù)點(diǎn)到超平面的最小距離最大:

恰好在邊界上的點(diǎn)被稱(chēng)為支撐向量Support Vector

其目標(biāo)函數(shù)為:

其中,,約束條件在支撐向量處取得等號(hào),,非支撐向量取大于號(hào),。

7.2 超平面求解

利用拉格朗日乘子法,上面的目標(biāo)函數(shù)和約束條件可以寫(xiě)為一個(gè)式子:

如果我們令:

我們分析一下上式,,在a>=0的情況下,,對(duì)于支撐向量,后面括號(hào)中的一項(xiàng)為0,,因此對(duì)應(yīng)的a可以取得大于0的值,,而對(duì)于非支撐向量,后面括號(hào)中的一項(xiàng)大于0,,此時(shí)對(duì)應(yīng)的a必須等于0,。因此,在所有約束條件都滿(mǎn)足的情況下,,我們可以得到θ(w)=1/2 * ||w||^2,,因此原問(wèn)題可以表示成:

根據(jù)KKT條件,我們可以將上面的式子轉(zhuǎn)換為對(duì)偶形式(關(guān)于KKT條件,,參考博客:http://blog./?p=702):

因此,,我們首先對(duì)w和b進(jìn)行求導(dǎo)得到:

然后求解a,這里用到的是SMO算法,,我們不再詳細(xì)介紹,。

求解得到w和b之后,我們可以得到超平面方程為:

因此對(duì)于新點(diǎn) x 的預(yù)測(cè),,只需要計(jì)算它與訓(xùn)練數(shù)據(jù)點(diǎn)的內(nèi)積即可,。更進(jìn)一步,實(shí)際上只要針對(duì)少量的“支持向量”而不是所有的訓(xùn)練數(shù)據(jù),,因?yàn)槲覀兦懊娼榻B過(guò),,對(duì)于非支撐向量,其對(duì)應(yīng)的a是等于0的,。

7.3 核函數(shù)Kernel

前面介紹的是線(xiàn)性可分的情況,,然而還有線(xiàn)性不可分以及非線(xiàn)性的情況。這里我們先來(lái)介紹非線(xiàn)性的情況,,我們會(huì)介紹到一種核函數(shù)的方法,。

如圖中的數(shù)據(jù),是一種典型的非線(xiàn)性情況,,我們希望找到一個(gè)圓來(lái)區(qū)分兩類(lèi)數(shù)據(jù):

因此超平面是類(lèi)似下面的形式:

因此,,我們可以將低維空間中的數(shù)據(jù)映射到高維空間中去,,進(jìn)而得到一個(gè)最大間隔的超平面,。一般的,如果我們用 ?(?)表示這個(gè)映射,,則超平面變?yōu)椋?/span>

但上面的方法會(huì)面臨維數(shù)爆炸的問(wèn)題,,如果二維空間做映射,,選擇的新空間是原始空間的所有一階和二階的組合,得到了五個(gè)維度,;如果原始空間是三維,,那么我們會(huì)得到 19 維的新空間這個(gè)數(shù)目是呈爆炸性增長(zhǎng)的。所以就需要核函數(shù)方法出馬了,。

使用核函數(shù)方法,,可以在低維空間中快速計(jì)算兩個(gè)向量在映射過(guò)后的空間中的內(nèi)積,例如在二維空間中使用多項(xiàng)式核函數(shù),,可以快速得到五維空間中映射結(jié)果的內(nèi)積(形式相同):

使用核函數(shù),,我們現(xiàn)在的分類(lèi)超平面變?yōu)椋?/span>

常見(jiàn)的核函數(shù)有多項(xiàng)式核高斯核,,線(xiàn)性核

7.4 Outliers

對(duì)于這種偏離正常位置很遠(yuǎn)的數(shù)據(jù)點(diǎn),,我們稱(chēng)之為outlier ,在我們?cè)瓉?lái)的 SVM 模型里,,outlier 的存在有可能造成很大的影響:

用黑圈圈起來(lái)的那個(gè)藍(lán)點(diǎn)是一個(gè)outlier ,,它偏離了自己原本所應(yīng)該在的那個(gè)半空間,如果直接忽略掉它的話(huà),,原來(lái)的分隔超平面還是挺好的,,但是由于這個(gè) outlier 的出現(xiàn),導(dǎo)致分隔超平面不得不被擠歪了,,變成途中黑色虛線(xiàn)所示(這只是一個(gè)示意圖,,并沒(méi)有嚴(yán)格計(jì)算精確坐標(biāo)),同時(shí)分類(lèi)間隔也相應(yīng)變小了,。當(dāng)然,,更嚴(yán)重的情況是,如果這個(gè) outlier 再往右上移動(dòng)一些距離的話(huà),,我們將無(wú)法構(gòu)造出能將數(shù)據(jù)分開(kāi)的超平面來(lái),。

為了處理這種情況,SVM 允許數(shù)據(jù)點(diǎn)在一定程度上偏離一下超平面,。例如上圖中,,黑色實(shí)線(xiàn)所對(duì)應(yīng)的距離,就是該 outlier 偏離的距離,,如果把它移動(dòng)回來(lái),,就剛好落在原來(lái)的超平面上,而不會(huì)使得超平面發(fā)生變形了,。具體來(lái)說(shuō),,原來(lái)的約束條件變?yōu)椋?/span>

而目標(biāo)函數(shù)變?yōu)椋?/span>

其中 C 是一個(gè)參數(shù),我們可以認(rèn)為是對(duì)outlier的容忍程度,,如果C越大,,我們對(duì)outliers的容忍程度越小,,反之越大。

完整的形式如下:

7.5 SVM的損失函數(shù)

SVM的損失函數(shù)被稱(chēng)為合頁(yè)損失函數(shù),,如下圖:

當(dāng)樣本被正確分類(lèi)且函數(shù)間隔大于1時(shí),,合頁(yè)損失才是0,否則,,就會(huì)產(chǎn)生一定的損失,。

7.6 LR和SVM的區(qū)別

總結(jié)了幾點(diǎn)LR與SVM的區(qū)別,和大家分享:
1,、LR可以輸出屬于每一類(lèi)別的概率,,SVM則不行
2、LR是基于概率最大化推導(dǎo)的,,而SVM是基于最大化幾何間隔推導(dǎo)的
3,、SVM的決策超平面只有少量的支撐向量決定,而LR所有的樣本都參與決策面的更新,,所以SVM對(duì)異常數(shù)據(jù)并不敏感,,LR更加敏感
4、SVM依賴(lài)數(shù)據(jù)表達(dá)的距離測(cè)度,,所以需要先對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,,但是LR不需要。

8,、樸素貝葉斯

樸素貝葉斯是基于貝葉斯定理與特征條件獨(dú)立假設(shè)的分類(lèi)方法,。

8.1 貝葉斯定理

貝葉斯定理是關(guān)于隨機(jī)事件A和B的條件概率的定理,形式如下:

8.2 樸素貝葉斯分類(lèi)

樸素貝葉斯分類(lèi)的基本思想是:給出待分類(lèi)項(xiàng),,求解在此項(xiàng)出現(xiàn)的條件下其他各個(gè)類(lèi)別的出現(xiàn)的概率,,哪個(gè)概率較大就認(rèn)為待分類(lèi)項(xiàng)屬于哪個(gè)類(lèi)別,用貝葉斯定理表示為(這里的上標(biāo)表示一維特征):

分母對(duì)于所有的c都是相同的,,因此可以省去,,故有:

我們要做的就是統(tǒng)計(jì)對(duì)每一個(gè)類(lèi)別來(lái)說(shuō),每一維特征每個(gè)特征出現(xiàn)的頻率,。頻率有可能出現(xiàn)0的情況,,我們需要進(jìn)行*拉普拉斯平滑操作。

拉普拉斯平滑:就是對(duì)每類(lèi)別下所有劃分的計(jì)數(shù)加1,,這樣如果訓(xùn)練樣本集數(shù)量充分大時(shí),,并不會(huì)對(duì)結(jié)果產(chǎn)生影響,并且解決了頻率為0的尷尬局面,。

9,、決策樹(shù)方法

決策樹(shù)(Decision Tree)是數(shù)據(jù)挖掘中一種基本的分類(lèi)和回歸方法,它呈樹(shù)形結(jié)構(gòu),,在分類(lèi)問(wèn)題中,,表示基于特征對(duì)實(shí)例進(jìn)行分類(lèi)的過(guò)程,可以認(rèn)為是if?then規(guī)則的集合,,也可認(rèn)為是定義在特征空間與類(lèi)空間上的條件概率分布,。下圖是一個(gè)簡(jiǎn)單的決策樹(shù)示例:

決策樹(shù)模型的主要優(yōu)點(diǎn)是模型具有可讀性,分類(lèi)速度快,。在學(xué)習(xí)時(shí),,利用訓(xùn)練數(shù)據(jù),根據(jù)損失函數(shù)最小化原則建立決策樹(shù)模型,;而在預(yù)測(cè)時(shí),,對(duì)新的數(shù)據(jù),利用決策樹(shù)模型進(jìn)行分類(lèi),。主要的決策樹(shù)算法有ID3算法,、C4.5算法和CART算法。

一個(gè)決策樹(shù)的學(xué)習(xí)過(guò)程包括三個(gè)步驟:特征選擇,、決策樹(shù)的生成以及決策樹(shù)的修剪,。

9.1 特征選擇

:在信息論與概率統(tǒng)計(jì)中,熵表示隨機(jī)變量不確定性的度量,。設(shè)X是一個(gè)取有限個(gè)值得離散隨機(jī)變量,,其概率分布為:

則隨機(jī)變量X的熵定義為:

條件熵H(Y|X)表示在已知隨機(jī)變量X的條件下隨機(jī)變量Y的不確定性:

信息增益

信息增益表示得知特征X的信息而使得類(lèi)Y的信息的不確定性減少的程度。信息增益大的特征具有更強(qiáng)的分類(lèi)能力,。特征A對(duì)訓(xùn)練數(shù)據(jù)集D的信息增益g(D,A),,定義為集合D的經(jīng)驗(yàn)熵H(D)與特征A給定條件下D的經(jīng)驗(yàn)條件熵H(D|A)之差,即:

一般地,,熵H(Y)與條件熵H(Y|X)之差稱(chēng)為互信息,。決策樹(shù)學(xué)習(xí)中的信息增益等價(jià)于訓(xùn)練數(shù)據(jù)集中類(lèi)與特征的互信息。

設(shè)訓(xùn)練數(shù)據(jù)集為D,,|D|表示其樣本容量,,即樣本個(gè)數(shù)。設(shè)有K
個(gè)類(lèi)Ck,k=1,2,???,K,根據(jù)特征A的取值將D劃分為n個(gè)子集D1,D2,???,Dn,,記子集Di中屬于類(lèi)Ck的樣本的集合為Dik,。
則信息增益的計(jì)算過(guò)程如下:

信息增益比

以信息增益作為劃分訓(xùn)練數(shù)據(jù)集的特征,存在偏向于選擇取值較多的特征的問(wèn)題,。使用信息增益比可以對(duì)這一問(wèn)題進(jìn)行校正,。
信息增益比表示特征A對(duì)訓(xùn)練數(shù)據(jù)集D的信息增益比。gR(D,A)定義為其信息增益g(D,A)與訓(xùn)練數(shù)據(jù)集D關(guān)于特征A的值的熵HA(D)之比,,即:

基尼系數(shù)
分類(lèi)問(wèn)題中,,假設(shè)有K個(gè)類(lèi),樣本點(diǎn)屬于第k類(lèi)的概率為pk,,則概率分布的基尼系數(shù)定義為:

若樣本集合D根據(jù)特征A是否取某一可能值a被分割成D1和D2
兩部分,,即:

則在特征A的條件下,,集合D的基尼指數(shù)定義為:

基尼系數(shù)Gini(D)表示集合D的不確定性,表示經(jīng)A=a分割后集合D的不確定性,?;嵯禂?shù)越大,樣本集合的不確定性越大,,與熵類(lèi)似,。
從下圖可以看出基尼指數(shù)和熵之半的曲線(xiàn)很接近,都可以近似地代表分類(lèi)誤差率,。

9.2 決策樹(shù)的生成

ID3算法
ID3算法的核心是在決策樹(shù)各個(gè)結(jié)點(diǎn)上應(yīng)用信息增益準(zhǔn)則選擇特征,,遞歸地建構(gòu)決策樹(shù)。

具體的算法步驟如下圖:

C4.5
與ID3算法相似,,C4.5算法對(duì)ID3算法進(jìn)行了改進(jìn),,C4.5在生成的過(guò)程中,用信息增益比來(lái)選擇特征

CART
分類(lèi)樹(shù)與回歸樹(shù)(classification and regression tree,,CART)模型(Breiman)既可用于分類(lèi)也可用于回歸,。

對(duì)分類(lèi)樹(shù)用基尼系數(shù)(Gini index)最小化準(zhǔn)則,進(jìn)行特征選擇,,生成二叉樹(shù),,其具體步驟如下:

接下來(lái)具體說(shuō)說(shuō)回歸樹(shù)是如何進(jìn)行特征選擇生成二叉回歸樹(shù)的。

9.3決策樹(shù)剪枝

剪枝
決策樹(shù)的過(guò)擬合指的是學(xué)習(xí)時(shí)過(guò)多地考慮如何提高對(duì)訓(xùn)練數(shù)據(jù)的正確分類(lèi),,從而構(gòu)建出過(guò)于復(fù)雜的決策樹(shù),。解決過(guò)擬合的辦法是考慮決策樹(shù)的復(fù)雜度,對(duì)已生成的決策樹(shù)進(jìn)行簡(jiǎn)化,,即剪枝(從已生成的樹(shù)上裁剪調(diào)一些子樹(shù)或葉結(jié)點(diǎn),,并將其根結(jié)點(diǎn)或父結(jié)點(diǎn)作為新的葉結(jié)點(diǎn),從而簡(jiǎn)化分類(lèi)樹(shù)模型),。
下圖展示了決策樹(shù)剪枝的過(guò)程:

10,、集成學(xué)習(xí)方法

集成學(xué)習(xí)的主要思想是利用一定的手段學(xué)習(xí)出多個(gè)分類(lèi)器,而且這多個(gè)分類(lèi)器要求是弱分類(lèi)器,,然后將多個(gè)分類(lèi)器進(jìn)行組合公共預(yù)測(cè),。核心思想就是如何訓(xùn)練處多個(gè)弱分類(lèi)器以及如何將這些弱分類(lèi)器進(jìn)行組合。關(guān)于集成學(xué)習(xí),,大致可以分為三類(lèi):Bagging,、BoostingStacking

本章我們只介紹集成學(xué)習(xí)方法的基本思想,,而具體的實(shí)現(xiàn)方法大家可以根據(jù)鏈接自行學(xué)習(xí),。

10.1 Bagging

Bagging即套袋法,其算法過(guò)程如下:

1、從原始樣本集中抽取訓(xùn)練集.每輪從原始樣本集中使用Bootstraping的方法抽取n個(gè)訓(xùn)練樣本(在訓(xùn)練集中,,有些樣本可能被多次抽取到,,而有些樣本可能一次都沒(méi)有被抽中).共進(jìn)行k輪抽取,得到k個(gè)訓(xùn)練集.(k個(gè)訓(xùn)練集相互獨(dú)立)
2,、每次使用一個(gè)訓(xùn)練集得到一個(gè)模型,,k個(gè)訓(xùn)練集共得到k個(gè)模型.(注:根據(jù)具體問(wèn)題采用不同的分類(lèi)或回歸方法,如決策樹(shù),、神經(jīng)網(wǎng)絡(luò)等)
3、對(duì)分類(lèi)問(wèn)題:將上步得到的k個(gè)模型采用投票的方式得到分類(lèi)結(jié)果,;對(duì)回歸問(wèn)題,,計(jì)算上述模型的均值作為最后的結(jié)果.

我們常見(jiàn)的Bagging算法是隨機(jī)森林算法,關(guān)于隨機(jī)森林算法的細(xì)節(jié),,可以參考博客:https://www.jianshu.com/p/8f99592658f2

10.2 Boosting

Boosting是一族可將弱學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器的算法,。關(guān)于Boosting的兩個(gè)核心問(wèn)題:
1、在每一輪如何改變訓(xùn)練數(shù)據(jù)的權(quán)值或概率分布,?
通過(guò)提高那些在前一輪被弱分類(lèi)器分錯(cuò)樣例的權(quán)值,,減小前一輪分對(duì)樣本的權(quán)值,而誤分的樣本在后續(xù)受到更多的關(guān)注.
2,、通過(guò)什么方式來(lái)組合弱分類(lèi)器,?
通過(guò)加法模型將弱分類(lèi)器進(jìn)行線(xiàn)性組合,比如AdaBoost通過(guò)加權(quán)多數(shù)表決的方式,,即增大錯(cuò)誤率小的分類(lèi)器的權(quán)值,,同時(shí)減小錯(cuò)誤率較大的分類(lèi)器的權(quán)值。而提升樹(shù)通過(guò)擬合殘差的方式逐步減小殘差,,將每一步生成的模型疊加得到最終模型,。

我們常見(jiàn)的Boosting算法有AdaBoost梯度提升決策樹(shù)GBDT,,XgBoost以及LightGBM,。大家可以根據(jù)下面的參考資料進(jìn)行學(xué)習(xí):

AdaBoost

https://www.jianshu.com/p/f2017cc696e6
GBDT

https://www.jianshu.com/p/c32af083be5b
Xgboost:原論文:

https:///pdf/1603.02754v1.pdf
博客:

https://blog.csdn.net/github_38414650/article/details/76061893
LightGBM

LightGBM 中文文檔:http://lightgbm./cn/latest/index.html

10.3 Bagging與Boosting的異同

總結(jié)了以下四點(diǎn)不同:

樣本選擇
Bagging:訓(xùn)練集是在原始集中有放回選取的,從原始集中選出的各輪訓(xùn)練集之間是獨(dú)立的.
Boosting:每一輪的訓(xùn)練集不變,,只是訓(xùn)練集中每個(gè)樣例在分類(lèi)器中的權(quán)重發(fā)生變化.而權(quán)值是根據(jù)上一輪的分類(lèi)結(jié)果進(jìn)行調(diào)整.

樣例權(quán)重
Bagging:使用均勻取樣,,每個(gè)樣例的權(quán)重相等
Boosting:根據(jù)錯(cuò)誤率不斷調(diào)整樣例的權(quán)值,錯(cuò)誤率越大則權(quán)重越大.

預(yù)測(cè)函數(shù)
Bagging:所有預(yù)測(cè)函數(shù)的權(quán)重相等.
Boosting:每個(gè)弱分類(lèi)器都有相應(yīng)的權(quán)重,,對(duì)于分類(lèi)誤差小的分類(lèi)器會(huì)有更大的權(quán)重.

并行計(jì)算
Bagging:各個(gè)預(yù)測(cè)函數(shù)可以并行生成
Boosting:各個(gè)預(yù)測(cè)函數(shù)只能順序生成,,因?yàn)楹笠粋€(gè)模型參數(shù)需要前一輪模型的結(jié)果.

10.4 Stacking

stacking 就是當(dāng)用初始訓(xùn)練數(shù)據(jù)學(xué)習(xí)出若干個(gè)基學(xué)習(xí)器后,將這幾個(gè)學(xué)習(xí)器的預(yù)測(cè)結(jié)果作為新的訓(xùn)練集,,來(lái)學(xué)習(xí)一個(gè)新的學(xué)習(xí)器,。

具體的原理以及python的實(shí)現(xiàn)例子可以參考文章:https://www.jianshu.com/p/3d2bd58908d0

11、總結(jié)一下機(jī)器學(xué)習(xí)中的損失函數(shù)

11.1 0-1損失函數(shù)

0-1損失是指,預(yù)測(cè)值和目標(biāo)值不相等為1,,否則為0:

11.2 絕對(duì)值損失函數(shù)

絕對(duì)值損失函數(shù)為:

11.3 log對(duì)數(shù)損失函數(shù)

邏輯回歸的損失函數(shù)就是對(duì)數(shù)損失函數(shù),,log損失函數(shù)的標(biāo)準(zhǔn)形式:

11.4 平方損失函數(shù)

回歸問(wèn)題中經(jīng)常使用平方損失函數(shù):

11.5 指數(shù)損失函數(shù)

AdaBoost就是一指數(shù)損失函數(shù)為損失函數(shù)的。 指數(shù)損失函數(shù)的標(biāo)準(zhǔn)形式:

11.6 Hinge損失函數(shù)

SVM中使用的是Hinge損失函數(shù):


參考資料:

1,、線(xiàn)性回歸原理和實(shí)現(xiàn)基本認(rèn)識(shí):

https://blog.csdn.net/lisi1129/article/details/68925799
2,、從貝葉斯角度看L1及L2正則化:
https://www.jianshu.com/p/4d562f2c06b8
3、梯度下降(Gradient Descent)小結(jié):

https://www.cnblogs.com/pinard/p/5970503.html
4,、L1正則化及推導(dǎo):

https://www.jianshu.com/p/2f60e672d4f0
5,、支持向量機(jī)系列:

http://blog./?page_id=683
6、合頁(yè)損失函數(shù)的理解:

https://blog.csdn.net/lz_peter/article/details/79614556
7,、李航統(tǒng)計(jì)學(xué)習(xí)方法——算法3樸素貝葉斯法:https://www.cnblogs.com/bethansy/p/7435740.html
8,、機(jī)器學(xué)習(xí)-決策樹(shù):

https://www.jianshu.com/p/8c4a3ef74589
9、集成學(xué)習(xí)系列(七)-Stacking原理及Python實(shí)現(xiàn):https://www.jianshu.com/p/3d2bd58908d0
10,、集成學(xué)習(xí)—boosting和bagging異同https://www.cnblogs.com/dudumiaomiao/p/6361777.html
11,、集成學(xué)習(xí)系列(一)-隨機(jī)森林算法:

https://www.jianshu.com/p/8f99592658f2
12、集成學(xué)習(xí)系列(二)-AdaBoost算法原理:
https://www.jianshu.com/p/f2017cc696e6
13,、集成學(xué)習(xí)系列(五)-GBDT(梯度提升決策樹(shù)):
https://www.jianshu.com/p/c32af083be5b
14,、Xgboost論文:

https:///pdf/1603.02754v1.pdf
15、通俗,、有邏輯的寫(xiě)一篇說(shuō)下Xgboost的原理:https://blog.csdn.net/github_38414650/article/details/76061893
16,、LightGBM 中文文檔:

http://lightgbm./cn/latest/index.html
17、機(jī)器學(xué)習(xí)總結(jié)(一):常見(jiàn)的損失函數(shù)
https://blog.csdn.net/weixin_37933986/article/details/68488339



丘老師手把手教你用Python實(shí)踐深度學(xué)習(xí)

原價(jià)799,,限時(shí)特惠

最后幾天活動(dòng)價(jià)

只要399,!

對(duì)!

你沒(méi)有聽(tīng)錯(cuò),!

399,!

掃描下圖二維碼即可學(xué)習(xí)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多