機(jī)器學(xué)習(xí)算法小結(jié)與收割offer遇到的問題

機(jī)器學(xué)習(xí)是做NLP和計(jì)算機(jī)視覺這類應(yīng)用算法的基礎(chǔ),雖然現(xiàn)在深度學(xué)習(xí)模型大行其道语淘,但是懂一些傳統(tǒng)算法的原理和它們之間的區(qū)別還是很有必要的诲宇。可以幫助我們做一些模型選擇惶翻。本篇博文就總結(jié)一下各種機(jī)器學(xué)習(xí)算法的特點(diǎn)和應(yīng)用場(chǎng)景姑蓝。本文是筆者結(jié)合自身面試中遇到的問題和總結(jié)網(wǎng)絡(luò)上的資源得到的,所有引用已給出鏈接维贺,如侵刪它掂。


機(jī)器學(xué)習(xí)

SVM與LR的區(qū)別

從模型解決問題的方式來看

Linear SVM直觀上是trade-off兩個(gè)量

a large margin,就是兩類之間可以畫多寬的gap 溯泣;不妨說是正樣本應(yīng)該在分界平面向左gap/2(稱正分界)虐秋,負(fù)樣本應(yīng)該在分解平面向右gap/2(稱負(fù)分界)

L1 error penalty,對(duì)所有不滿足上述條件的點(diǎn)做L1 penalty

給定一個(gè)數(shù)據(jù)集垃沦,一旦完成Linear SVM的求解客给,所有數(shù)據(jù)點(diǎn)可以被歸成兩類

一類是落在對(duì)應(yīng)分界平面外并被正確分類的點(diǎn),比如落在正分界左側(cè)的正樣本或落在負(fù)分界右側(cè)的負(fù)樣本

第二類是落在gap里或被錯(cuò)誤分類的點(diǎn)肢簿。

假設(shè)一個(gè)數(shù)據(jù)集已經(jīng)被Linear SVM求解靶剑,那么往這個(gè)數(shù)據(jù)集里面增加或者刪除更多的一類點(diǎn)并不會(huì)改變重新求解的Linear SVM平面。不受數(shù)據(jù)分布的影響池充。

求解LR模型過程中桩引,每一個(gè)數(shù)據(jù)點(diǎn)對(duì)分類平面都是有影響的,它的影響力遠(yuǎn)離它到分類平面的距離指數(shù)遞減收夸。換句話說坑匠,LR的解是受數(shù)據(jù)本身分布影響的。在實(shí)際應(yīng)用中卧惜,如果數(shù)據(jù)維度很高厘灼,LR模型都會(huì)配合參數(shù)的L1 regularization夹纫。

兩者的區(qū)別

兩個(gè)模型對(duì)數(shù)據(jù)和參數(shù)的敏感程度不同,Linear SVM比較依賴penalty的系數(shù)和數(shù)據(jù)表達(dá)空間的測(cè)度设凹,而(帶正則項(xiàng)的)LR比較依賴對(duì)參數(shù)做L1 regularization的系數(shù)舰讹。但是由于他們或多或少都是線性分類器,所以實(shí)際上對(duì)低維度數(shù)據(jù)overfitting的能力都比較有限闪朱,相比之下對(duì)高維度數(shù)據(jù)月匣,LR的表現(xiàn)會(huì)更加穩(wěn)定,為什么呢监透?因?yàn)長(zhǎng)inear SVM在計(jì)算margin有多“寬”的時(shí)候是依賴數(shù)據(jù)表達(dá)上的距離測(cè)度的桶错,換句話說如果這個(gè)測(cè)度不好(badly scaled,這種情況在高維數(shù)據(jù)尤為顯著)胀蛮,所求得的所謂Large margin就沒有意義了院刁,這個(gè)問題即使換用kernel trick(比如用Gaussian kernel)也無法完全避免。所以使用Linear SVM之前一般都需要先對(duì)數(shù)據(jù)做normalization粪狼,而求解LR(without regularization)時(shí)則不需要或者結(jié)果不敏感退腥。

Linear SVM和LR都是線性分類器

Linear SVM不直接依賴數(shù)據(jù)分布,分類平面不受一類點(diǎn)影響再榄;LR則受所有數(shù)據(jù)點(diǎn)的影響狡刘,如果數(shù)據(jù)不同類別strongly unbalance一般需要先對(duì)數(shù)據(jù)做balancing

Linear SVM依賴數(shù)據(jù)表達(dá)的距離測(cè)度困鸥,所以需要對(duì)數(shù)據(jù)先做normalization嗅蔬;LR不受其影響

Linear SVM依賴penalty的系數(shù),實(shí)驗(yàn)中需要做validation

Linear SVM和LR的performance都會(huì)收到outlier的影響疾就,其敏感程度而言澜术,誰更好很難下明確結(jié)論。

balance的方法

調(diào)整正猬腰、負(fù)樣本在求cost時(shí)的權(quán)重鸟废,比如按比例加大正樣本cost的權(quán)重。然而deep learning的訓(xùn)練過程是on-line的因此你需要按照batch中正姑荷、負(fù)樣本的比例調(diào)整盒延。

做訓(xùn)練樣本選取:如hard negative mining鼠冕,只用負(fù)樣本中的一部分添寺。

做訓(xùn)練樣本選取:如通過data augmentation擴(kuò)大正樣本數(shù)量懈费。

過擬合方面

LR容易欠擬合畦贸,準(zhǔn)確度低。

SVM不太容易過擬合:松弛因子+損失函數(shù)形式

注意SVM的求解方法叫拉格朗日乘子法楞捂,而對(duì)于均方誤差的優(yōu)化方法是最小二乘法薄坏。

方法的選擇

在Andrew NG的課里講到過:

如果Feature的數(shù)量很大,跟樣本數(shù)量差不多寨闹,這時(shí)候選用LR或者是Linear Kernel的SVM

如果Feature的數(shù)量比較小胶坠,樣本數(shù)量一般,不算大也不算小繁堡,選用SVM+Gaussian Kernel

如果Feature的數(shù)量比較小沈善,而樣本數(shù)量很多,需要手工添加一些feature變成第一種情況

當(dāng)你的數(shù)據(jù)非常非常非常非常非常大然后完全跑不動(dòng)SVM的時(shí)候椭蹄,跑LR闻牡。SVM適合于小樣本學(xué)習(xí)。多大算是非常非常非常非常非常非常大绳矩? 比如幾個(gè)G罩润,幾萬維特征,就勉強(qiáng)算大吧...而實(shí)際問題上幾萬個(gè)參數(shù)實(shí)在完全不算個(gè)事兒翼馆,太常見了割以。隨隨便便就得上spark。讀一遍數(shù)據(jù)就老半天应媚,一天能訓(xùn)練出來的模型就叫高效了严沥。所以在新時(shí)代,LR其實(shí)反而比以前用的多了=. =

應(yīng)用場(chǎng)景方面不同

擬合程度中姜,樣本量消玄,

距離測(cè)度,數(shù)據(jù)balance

模型簡(jiǎn)單易解釋

如果數(shù)據(jù)特征維度高丢胚,svm要使用核函數(shù)來求解

Note:拉格朗日對(duì)偶沒有改變最優(yōu)解翩瓜,但改變了算法復(fù)雜度:原問題—樣本維度;對(duì)偶問題–樣本數(shù)量嗜桌。所以 線性分類&&樣本維度<樣本數(shù)量:原問題求解(liblinear默認(rèn))奥溺; 非線性–升維—一般導(dǎo)致 樣本維度>樣本數(shù)量:對(duì)偶問題求解

SVM適合處理什么樣的數(shù)據(jù)?

高維稀疏骨宠,樣本少浮定。【參數(shù)只與支持向量有關(guān)层亿,數(shù)量少桦卒,所以需要的樣本少,由于參數(shù)跟維度沒有關(guān)系匿又,所以可以處理高維問題】

機(jī)器學(xué)習(xí)常見算法總結(jié)

機(jī)器學(xué)習(xí)常見算法個(gè)人總結(jié)(面試用)

樸素貝葉斯

樸素貝葉斯的優(yōu)點(diǎn)

對(duì)小規(guī)模的數(shù)據(jù)表現(xiàn)很好方灾,適合多分類任務(wù),適合增量式訓(xùn)練。

缺點(diǎn)

對(duì)輸入數(shù)據(jù)的表達(dá)形式很敏感(離散裕偿、連續(xù)洞慎,值極大極小之類的)

線性回歸

線性回歸試圖學(xué)得一個(gè)線性模型以盡可能準(zhǔn)確地預(yù)測(cè)實(shí)值輸出標(biāo)記。均方誤差是回歸任務(wù)中最常用的性能度量嘿棘,基于均方誤差最小化來進(jìn)行模型求解的方法成為最小二乘法劲腿。在線性回歸中,最小二乘法就是試圖找到一條直線鸟妙,使得所有樣本到直線上的歐式距離之和最小焦人。這個(gè)想法和分類問題是正好相反的,分類問題是找到一個(gè)分界面離所有樣本盡可能遠(yuǎn)重父。

優(yōu)化方法

當(dāng)x矩陣是列滿秩的時(shí)候花椭,可以用最小二乘法,但是求矩陣的逆比較慢

enter description here

梯度下降法房午,以最大似然估計(jì)的結(jié)果對(duì)權(quán)值求梯度矿辽,sigmoid函數(shù)也是如此

enter description here

均方無法的概率解釋

假設(shè)根據(jù)特征的預(yù)測(cè)結(jié)果與實(shí)際結(jié)果有誤差∈ (i) ,那么預(yù)測(cè)結(jié)果θ T x (i) 和真實(shí)結(jié)果y (i) 滿足下

式:

enter description here

一般來講,誤差滿足平均值為 0 的高斯分布,也就是正態(tài)分布。那么 x 和 y 的條件概率也就

enter description here

用條件概率最大似然估計(jì)法得到:

enter description here

LR回歸

enter description here

回歸用來分類 0/1 問題,也就是預(yù)測(cè)結(jié)果屬于 0 或者 1 的二值分類問題

enter description here

仍然求的是最大似然估計(jì),然后求導(dǎo),得到迭代公式結(jié)果為歪沃,梯度下降法:

enter description here

優(yōu)化問題的求解方法

[Math] 常見的幾種最優(yōu)化方法

大部分的機(jī)器學(xué)習(xí)算法的本質(zhì)都是建立優(yōu)化模型嗦锐,通過最優(yōu)化方法對(duì)目標(biāo)函數(shù)(或損失函數(shù))進(jìn)行優(yōu)化,從而訓(xùn)練出最好的模型沪曙。常見的最優(yōu)化方法有梯度下降法奕污、牛頓法和擬牛頓法、共軛梯度法等等液走。

梯度下降法

優(yōu)化思想

當(dāng)目標(biāo)函數(shù)是凸函數(shù)時(shí)碳默,梯度下降法的解是全局解。一般情況下缘眶,其解不保證是全局最優(yōu)解嘱根,梯度下降法的速度也未必是最快的。梯度下降法的優(yōu)化思想是用當(dāng)前位置負(fù)梯度方向作為搜索方向巷懈,因?yàn)樵摲较驗(yàn)楫?dāng)前位置的最快下降方向该抒,所以也被稱為是”最速下降法“。最速下降法越接近目標(biāo)值顶燕,步長(zhǎng)越小凑保,前進(jìn)越慢。

缺點(diǎn)

梯度下降法的最大問題就是會(huì)陷入局部最優(yōu)涌攻,靠近極小值時(shí)收斂速度減慢欧引。

批量梯度下降法

最小化所有訓(xùn)練樣本的損失函數(shù),使得最終求解的是全局的最優(yōu)解恳谎,即求解的參數(shù)是使得風(fēng)險(xiǎn)函數(shù)最小芝此,但是對(duì)于大規(guī)模樣本問題效率低下

隨機(jī)梯度下降法

最小化每條樣本的損失函數(shù),雖然不是每次迭代得到的損失函數(shù)都向著全局最優(yōu)方向婚苹, 但是大的整體的方向是向全局最優(yōu)解的岸更,最終的結(jié)果往往是在全局最優(yōu)解附近,適用于大規(guī)模訓(xùn)練樣本情況租副。

隨機(jī)梯度下降是通過每個(gè)樣本來迭代更新一次坐慰,如果樣本量很大的情況(例如幾十萬),那么可能只用其中幾萬條或者幾千條的樣本用僧,就已經(jīng)將theta迭代到最優(yōu)解了,對(duì)比上面的批量梯度下降赞咙,迭代一次需要用到十幾萬訓(xùn)練樣本责循,一次迭代不可能最優(yōu),如果迭代10次的話就需要遍歷訓(xùn)練樣本10次攀操。但是撵割,SGD伴隨的一個(gè)問題是噪音較BGD要多粉怕,使得SGD并不是每次迭代都向著整體最優(yōu)化方向。

牛頓法

牛頓法是一種在實(shí)數(shù)域和復(fù)數(shù)域上近似求解方程的方法。方法使用函數(shù)f (x)的泰勒級(jí)數(shù)的前面幾項(xiàng)來尋找方程f (x) = 0的根梢褐。牛頓法最大的特點(diǎn)就在于它的收斂速度很快。

迭代公式

牛頓法比梯度下降法快

牛頓法是二階收斂饼酿,梯度下降是一階收斂运准,所以牛頓法就更快。如果更通俗地說的話碰凶,比如你想找一條最短的路徑走到一個(gè)盆地的最底部暮芭,梯度下降法每次只從你當(dāng)前所處位置選一個(gè)坡度最大的方向走一步,牛頓法在選擇方向時(shí)欲低,不僅會(huì)考慮坡度是否夠大辕宏,還會(huì)考慮你走了一步之后,坡度是否會(huì)變得更大砾莱。所以瑞筐,可以說牛頓法比梯度下降法看得更遠(yuǎn)一點(diǎn),能更快地走到最底部腊瑟。

但是牛頓法要算hessian矩陣的逆聚假,比較費(fèi)時(shí)間。

擬牛頓法

擬牛頓法的本質(zhì)思想是改善牛頓法每次需要求解復(fù)雜的Hessian矩陣的逆矩陣的缺陷扫步,它使用正定矩陣來近似Hessian矩陣的逆魔策,從而簡(jiǎn)化了運(yùn)算的復(fù)雜度。擬牛頓法和最速下降法一樣只要求每一步迭代時(shí)知道目標(biāo)函數(shù)的梯度河胎。通過測(cè)量梯度的變化闯袒,構(gòu)造一個(gè)目標(biāo)函數(shù)的模型使之足以產(chǎn)生超線性收斂性。這類方法大大優(yōu)于最速下降法,尤其對(duì)于困難的問題政敢。另外其徙,因?yàn)閿M牛頓法不需要二階導(dǎo)數(shù)的信息,所以有時(shí)比牛頓法更為有效喷户。

拉格朗日法

拉格朗日乘數(shù)法

拉格朗日乘子法主要用于解決約束優(yōu)化問題唾那,它的基本思想就是通過引入拉格朗日乘子來將含有n個(gè)變量和k個(gè)約束條件的約束優(yōu)化問題轉(zhuǎn)化為含有(n+k)個(gè)變量的無約束優(yōu)化問題。拉格朗日乘子背后的數(shù)學(xué)意義是其為約束方程梯度線性組合中每個(gè)向量的系數(shù)褪尝。

通過引入拉格朗日乘子建立極值條件闹获,對(duì)n個(gè)變量分別求偏導(dǎo)對(duì)應(yīng)了n個(gè)方程,然后加上k個(gè)約束條件(對(duì)應(yīng)k個(gè)拉格朗日乘子)一起構(gòu)成包含了(n+k)變量的(n+k)個(gè)方程的方程組問題河哑,這樣就能根據(jù)求方程組的方法對(duì)其進(jìn)行求解避诽。

機(jī)器學(xué)習(xí)算法選擇

機(jī)器學(xué)習(xí)算法選擇

隨機(jī)森林平均來說最強(qiáng),但也只在9.9%的數(shù)據(jù)集上拿到了第一璃谨,優(yōu)點(diǎn)是鮮有短板沙庐。SVM的平均水平緊隨其后,在10.7%的數(shù)據(jù)集上拿到第一佳吞。神經(jīng)網(wǎng)絡(luò)(13.2%)和boosting(~9%)表現(xiàn)不錯(cuò)拱雏。數(shù)據(jù)維度越高,隨機(jī)森林就比AdaBoost強(qiáng)越多底扳,但是整體不及SVM2铸抑。數(shù)據(jù)量越大,神經(jīng)網(wǎng)絡(luò)就越強(qiáng)花盐。

貝葉斯

是相對(duì)容易理解的一個(gè)模型羡滑,至今依然被垃圾郵件過濾器使用。

K近鄰

典型的例子是KNN算芯,它的思路就是——對(duì)于待判斷的點(diǎn)柒昏,找到離它最近的幾個(gè)數(shù)據(jù)點(diǎn),根據(jù)它們的類型決定待判斷點(diǎn)的類型熙揍。

它的特點(diǎn)是完全跟著數(shù)據(jù)走职祷,沒有數(shù)學(xué)模型可言。

三要素:

k值的選擇

距離的度量(常見的距離度量有歐式距離届囚,馬氏距離等)

分類決策規(guī)則 (多數(shù)表決規(guī)則)

k值的選擇

k值越小表明模型越復(fù)雜有梆,更加容易過擬合

但是k值越大,模型越簡(jiǎn)單意系,如果k=N的時(shí)候就表明無論什么點(diǎn)都是訓(xùn)練集中類別最多的那個(gè)類

所以一般k會(huì)取一個(gè)較小的值泥耀,然后用過交叉驗(yàn)證來確定

這里所謂的交叉驗(yàn)證就是將樣本劃分一部分出來為預(yù)測(cè)樣本,比如95%訓(xùn)練蛔添,5%預(yù)測(cè)痰催,然后k分別取1兜辞,2,3夸溶,4逸吵,5之類的,進(jìn)行預(yù)測(cè)缝裁,計(jì)算最后的分類誤差扫皱,選擇誤差最小的k

分類決策規(guī)則

找到最近的k個(gè)實(shí)例之后,可以計(jì)算平均值作為預(yù)測(cè)值捷绑,也可以給這k個(gè)實(shí)例加上一個(gè)權(quán)重再求平均值韩脑,這個(gè)權(quán)重與度量距離成反比(越近權(quán)重越大)

優(yōu)缺點(diǎn):

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

思想簡(jiǎn)單

可用于非線性分類

訓(xùn)練時(shí)間復(fù)雜度為O(n)

準(zhǔn)確度高,對(duì)outlier不敏感

缺點(diǎn)

計(jì)算量大

樣本不平衡問題不適用

需要大量的內(nèi)存

KD樹

KD樹是一個(gè)二叉樹胎食,表示對(duì)K維空間的一個(gè)劃分扰才,可以進(jìn)行快速檢索

構(gòu)造KD樹

在k維的空間上循環(huán)找子區(qū)域的中位數(shù)進(jìn)行劃分的過程。

假設(shè)現(xiàn)在有K維空間的數(shù)據(jù)集: $T={x_1,x_2,x_3,…x_n}$, $xi={a_1,a_2,a_3..a_k}$

首先構(gòu)造根節(jié)點(diǎn)厕怜,以坐標(biāo)$a_1$的中位數(shù)b為切分點(diǎn),將根結(jié)點(diǎn)對(duì)應(yīng)的矩形局域劃分為兩個(gè)區(qū)域蕾总,區(qū)域1中$a_1 < b$,區(qū)域2中$a_1>b$

構(gòu)造葉子節(jié)點(diǎn)粥航,分別以上面兩個(gè)區(qū)域中$a_2$的中位數(shù)作為切分點(diǎn),再次將他們兩兩劃分生百,作為深度1的葉子節(jié)點(diǎn)递雀,(如果a2=中位數(shù),則a2的實(shí)例落在切分面)

不斷重復(fù)2的操作蚀浆,深度為j的葉子節(jié)點(diǎn)劃分的時(shí)候缀程,索取的$a_i$ 的$i=j % k+1$,直到兩個(gè)子區(qū)域沒有實(shí)例時(shí)停止

KD樹的搜索

首先從根節(jié)點(diǎn)開始遞歸往下找到包含x的葉子節(jié)點(diǎn)市俊,每一層都是找對(duì)應(yīng)的xi

將這個(gè)葉子節(jié)點(diǎn)認(rèn)為是當(dāng)前的“近似最近點(diǎn)”

遞歸向上回退杨凑,如果以x圓心,以“近似最近點(diǎn)”為半徑的球與根節(jié)點(diǎn)的另一半子區(qū)域邊界相交摆昧,則說明另一半子區(qū)域中存在與x更近的點(diǎn)撩满,則進(jìn)入另一個(gè)子區(qū)域中查找該點(diǎn)并且更新”近似最近點(diǎn)“

重復(fù)3的步驟,直到另一子區(qū)域與球體不相交或者退回根節(jié)點(diǎn)

最后更新的”近似最近點(diǎn)“與x真正的最近點(diǎn)

log(n)

決策樹

決策樹的特點(diǎn)是它總是在沿著特征做切分绅你。隨著層層遞進(jìn)伺帘,這個(gè)劃分會(huì)越來越細(xì)。

因?yàn)樗軌蛏汕逦幕谔卣?feature)選擇不同預(yù)測(cè)結(jié)果的樹狀結(jié)構(gòu)

隨機(jī)森林

器學(xué)習(xí)崗位面試問題匯總 之 集成學(xué)習(xí)

基本概念

天池離線賽 - 移動(dòng)推薦算法(四):基于LR, RF, GBDT等模型的預(yù)測(cè)

它首先隨機(jī)選取不同的特征(feature)和訓(xùn)練樣本(training sample)bagging忌锯,生成大量的決策樹伪嫁,然后綜合這些決策樹的結(jié)果來進(jìn)行最終的分類。

隨機(jī)森林在現(xiàn)實(shí)分析中被大量使用偶垮,它相對(duì)于決策樹张咳,在準(zhǔn)確性上有了很大的提升

適用場(chǎng)景:數(shù)據(jù)維度相對(duì)低(幾十維)帝洪,同時(shí)對(duì)準(zhǔn)確性有較高要求時(shí)。

參數(shù)調(diào)節(jié)

是一種基于決策樹基模型的集成學(xué)習(xí)方法晶伦,其核心思想是通過特征采樣來降低訓(xùn)練方差碟狞,提高集成泛化能力。

max_depth 屬于基學(xué)習(xí)器參數(shù)婚陪,它控制著每個(gè)決策樹的深度族沃,一般來說,決策樹越深泌参,模型擬合的偏差越小脆淹,但同時(shí)擬合的開銷也越大。一般地沽一,需要保證足夠的樹深度盖溺,但也不宜過大。

RF與傳統(tǒng)bagging的區(qū)別

(1)樣本采樣:RF有放回選取和整體樣本數(shù)目相同的樣本铣缠,一般bagging用的樣本<總體樣本數(shù)

(2)特征采樣:RF對(duì)特征進(jìn)行采樣烘嘱,BAGGING用全部特征

RF的優(yōu)點(diǎn)

(1)在數(shù)據(jù)集上表現(xiàn)良好,在當(dāng)先很多數(shù)據(jù)集上要優(yōu)于現(xiàn)有的很多算法

(2)可以并行蝗蛙,且不是對(duì)所有屬性進(jìn)行訓(xùn)練蝇庭,訓(xùn)練速度相對(duì)較快

(3)防止過擬合

(4)能夠處理高維特征,且不用做特征選擇捡硅,可以給出特征重要性的評(píng)分哮内,訓(xùn)練過程中,可以檢測(cè)到feature的相互影響

缺點(diǎn)

①樹越多壮韭,隨機(jī)森林的表現(xiàn)才會(huì)越穩(wěn)定北发。所以在實(shí)際使用隨機(jī)森林的時(shí)候需要注意如果樹不夠多的時(shí)候,可能會(huì)導(dǎo)致不穩(wěn)定的情況喷屋。

②不平衡數(shù)據(jù)集琳拨。分類結(jié)果會(huì)傾向于樣本多的類別,所以訓(xùn)練樣本中各類別的數(shù)據(jù)必須相同逼蒙。Breiman在實(shí)際實(shí)現(xiàn)該算法的時(shí)候有考慮到了這個(gè)問題从绘,采取了根據(jù)樣本類別比例對(duì)決策樹的判斷賦予不同權(quán)值的方法

RF的學(xué)習(xí)算法

ID3:離散

C4.5:連續(xù)

CART:離散或連續(xù)

GBDT

基本概念

GBDT(梯度迭代決策樹)是一種基于決策回歸樹的Boosting模型,其核心思想是將提升過程建立在對(duì)“之前殘差的負(fù)梯度表示”的回歸擬合上是牢,通過不斷的迭代實(shí)現(xiàn)降低偏差的目的僵井。

GBDT設(shè)置大量基學(xué)習(xí)器的目的是為了集成來降低偏差,所以 n_estimators (基決策器的個(gè)數(shù))一般會(huì)設(shè)置得大一些驳棱。

對(duì)于GBDT模型來說批什,其每個(gè)基學(xué)習(xí)器是一個(gè)弱學(xué)習(xí)器(欠擬合),決策樹的深度一般設(shè)置得比較小社搅,以此來降低方差(模型復(fù)雜度低)驻债,之后在經(jīng)過殘差逼近迭代來降低偏差乳规,從而形成強(qiáng)學(xué)習(xí)器。

GBDT與傳統(tǒng)Boosting(AdaBoost)的區(qū)別

Boosting算法合呐,但與傳統(tǒng)boosting有區(qū)別暮的、擬合上一步的殘差,傳統(tǒng)意義上說不能并行淌实,只能用CART回歸樹冻辩,降低偏差

迭代思路不同:傳統(tǒng)boosting對(duì)訓(xùn)練樣本進(jìn)行加權(quán),GBDT則是擬合殘差拆祈,下一棵樹沿殘差梯度下降的方向進(jìn)行擬合

GBDT正則化的方式

(1)同AdaBoost恨闪,通過步長(zhǎng)

(2)CART樹的剪枝

(3)子抽樣,不放回放坏,SGBT咙咽,可以實(shí)現(xiàn)一定程度上的并行

GBDT的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):(1)調(diào)參少的情況下,準(zhǔn)確率也高(SVM)

(2)靈活處理各種數(shù)據(jù)淤年,包括連續(xù)和離散钧敞,無需歸一化處理(LR)

(3)模型非線性變換多,特征不用經(jīng)過復(fù)雜處理即可表達(dá)復(fù)雜信息

(4)從一定程度上可以防止過擬合麸粮,小步而非大步擬合

缺點(diǎn):(1)一般來說傳統(tǒng)的GBDT只能串行犁享,但是也可以通過子采樣比例(0.5~0.8)實(shí)現(xiàn)某種意義上的并行,但一般這就不叫GBDT了豹休。

(2)對(duì)異常值敏感,但是可以采取一些健壯的損失函數(shù)緩解桨吊,如Huber./Quantile損失函數(shù)

GBDT預(yù)測(cè)時(shí)每一棵樹是否能并行威根?

可以,訓(xùn)練需串行视乐,預(yù)測(cè)可并行

GBDT和RF的區(qū)別與聯(lián)系

聯(lián)系:多棵樹進(jìn)行訓(xùn)練+多棵樹共同進(jìn)行預(yù)測(cè)

區(qū)別:(1)取樣方式

(2)預(yù)測(cè)時(shí)洛搀,RF多數(shù)投票,GBDT加權(quán)累加

(3)樣本的關(guān)系—>并行和串行

(4)學(xué)期器的種類佑淀,GBDT只能用CART回歸樹(因?yàn)橐?jì)算連續(xù)梯度)

(5)對(duì)異常值的敏感性

(6)通過減少方差/偏差提高性能

XGBOOST相比于GBDT有何不同留美?XGBOOST為什么快?XGBOOST如何支持并行伸刃?

(1)GBDT只能用CART回歸樹谎砾,而XGBOOST可以用CART樹(回歸/分類),還可以用用想LR之類的線性模型,相當(dāng)于加入L1捧颅、L2正則項(xiàng)的LR或線性回歸

(2)列抽樣景图,可以并行,不是樹粒度上的碉哑,是特征粒度上的挚币,block塊亮蒋,并行計(jì)算所有信息增益等信息

(3)可處理多種特征,且對(duì)缺失值也不用進(jìn)行處理

(4)GBDT在殘差梯度下降方向擬合妆毕,一階導(dǎo)慎玖;XGBOOST泰勒展開至二階導(dǎo)

(5)近似直方圖算法,高效生產(chǎn)候選分割點(diǎn)

(6)shrink笛粘,縮減趁怔,葉子節(jié)點(diǎn)同時(shí)乘,防止過擬合

(7)可以自己定義評(píng)價(jià)函數(shù)

(8)代價(jià)函數(shù)含正則化項(xiàng)闰蛔,防止過擬合

ababoost

daBoost的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):(1)容易理解痕钢、實(shí)現(xiàn)簡(jiǎn)單

(2)易編碼

(3)分類精度高

(4)可以使用各種回歸模型構(gòu)建基分類器,非常靈活

(5)作為二元分類器是序六,構(gòu)造簡(jiǎn)單任连、結(jié)果可理解、少參數(shù)

(6)相對(duì)來說例诀,不宜過擬合

缺點(diǎn):(1)只能串行

(2)對(duì)異常值敏感boosting對(duì)異常值敏感

集成學(xué)習(xí)與方差偏差

我覺得随抠,避免偏差的話,首先我們需要盡量選擇正確的模型繁涂,所謂“對(duì)癥下藥”拱她。我覺得有位同行把機(jī)器學(xué)習(xí)算法的使用比作醫(yī)生開藥方,是非常不錯(cuò)的比喻扔罪。我們要根據(jù)數(shù)據(jù)的分布和特點(diǎn)秉沼,選擇合適的算法。

其次矿酵,有了合適的算法唬复,我們還要慎重選擇數(shù)據(jù)集的大小。通常訓(xùn)練數(shù)據(jù)集越大越好全肮,但是當(dāng)大到數(shù)據(jù)集已經(jīng)對(duì)整體所有數(shù)據(jù)有了一定的代表性之后敞咧,再多的數(shù)據(jù)已經(jīng)不能提升模型的準(zhǔn)確性,反而帶來模型訓(xùn)練的計(jì)算量增加辜腺。但是休建,訓(xùn)練數(shù)據(jù)太少的話是一定不好的,這會(huì)帶來過擬合的問題评疗,過擬合就是模型復(fù)雜度太高测砂,方差很大,不同的數(shù)據(jù)集訓(xùn)練出來的模型變化非常大

偏差與方差

從集成學(xué)習(xí)到模型的偏差和方差的理解

使用sklearn進(jìn)行集成學(xué)習(xí)——理論

GBDT算法特征重要程度計(jì)算

機(jī)器學(xué)習(xí)中壤巷,有哪些特征選擇的工程方法邑彪?

為什么說bagging是減少variance,而boosting是減少bias?

從機(jī)制上講

為什么說bagging是減少variance胧华,而boosting是減少bias

若各子模型獨(dú)立寄症,則有$$Var(\frac{\sum X_i}{n})=\frac{Var(X_i)}{n}$$宙彪,此時(shí)可以顯著降低variance。若各子模型完全相同有巧,則$$Var(\frac{\sum X_i}{n})=Var(X_i)$$

释漆,此時(shí)不會(huì)降低variance。

Bagging 是 Bootstrap Aggregating 的簡(jiǎn)稱篮迎,意思就是再取樣 (Bootstrap) 然后在每個(gè)樣本上訓(xùn)練出來的模型取平均男图。

bagging的偏差

,所以從偏差上看沒有降低甜橱,但是由于各個(gè)子模型是單獨(dú)訓(xùn)練的逊笆,有一定的獨(dú)立性,所以方差降低比較多,提高泛化能力岂傲。特別是random forest這種方式难裆,不僅對(duì)樣本取樣,還有特征取樣镊掖。

boosting從優(yōu)化角度來看乃戈,是用forward-stagewise這種貪心法去最小化損失函數(shù),在這個(gè)過程中偏差是逐步減小的亩进,而由于各階段分類器之間相關(guān)性較強(qiáng)症虑,方差降低得少。

舉個(gè)例子

gbdt是boosting的方式归薛,它的決策樹的深度比較小谍憔,模型會(huì)欠擬合,剛開始偏差大主籍,后來就慢慢變小了韵卤。

為什么把特征組合之后還能提升

反正這些基本都是增強(qiáng)了特征的表達(dá)能力,或者說更容易線性可分吧

總體性問題

分類與回歸的區(qū)別

分類和回歸的區(qū)別在于輸出變量的類型崇猫。

定量輸出稱為回歸,或者說是連續(xù)變量預(yù)測(cè)需忿;

定性輸出稱為分類诅炉,或者說是離散變量預(yù)測(cè)。

生成模型與判別模型的區(qū)別

有監(jiān)督機(jī)器學(xué)習(xí)方法可以分為生成方法和判別方法(常見的生成方法有混合高斯模型屋厘、樸素貝葉斯法和隱形馬爾科夫模型等涕烧,常見的判別方法有SVM、LR等)汗洒,生成方法學(xué)習(xí)出的是生成模型议纯,判別方法學(xué)習(xí)出的是判別模型。

監(jiān)督學(xué)習(xí)溢谤,預(yù)測(cè)時(shí)瞻凤,一般都是在求p(Y|X)生成模型: 從數(shù)據(jù)中學(xué)習(xí)聯(lián)合概率分布p(X,Y)憨攒,然后利用貝葉斯公式求:$$p(Y|X)=\frac{P(X,Y)}{\Sigma P(X,Y_{i} )} $$,比如說樸素貝葉斯

判別模型:直接學(xué)習(xí)P(Y|X)阀参, 它直觀輸入什么特征X肝集,就直接預(yù)測(cè)出最可能的Y; 典型的模型包括:LR, SVM,CRF,Boosting,Decision tree....

生成方法的特點(diǎn):生成方法可以還原聯(lián)合概率分布,而判別方法則不能蛛壳;生成方法的學(xué)習(xí)收斂速度更快杏瞻,即當(dāng)樣本容量增加的時(shí)候,學(xué)習(xí)的模型可以更快的收斂于真實(shí)的模型衙荐;當(dāng)存在隱變量時(shí)捞挥,仍可以用生成方法學(xué)習(xí),此時(shí)判別方法就不能用忧吟。

判別方法的特點(diǎn):判別方法直接學(xué)習(xí)的是條件概率或者決策函數(shù)砌函,直接面對(duì)預(yù)測(cè),往往學(xué)習(xí)的準(zhǔn)確率更高瀑罗;由于直接學(xué)習(xí)或者胸嘴,可以對(duì)數(shù)據(jù)進(jìn)行各種程度上的抽象、定義特征并使用特征斩祭,因此可以簡(jiǎn)化學(xué)習(xí)問題劣像。

精確率、召回率摧玫、F1 值耳奕、ROC、AUC 各自的優(yōu)缺點(diǎn)是什么诬像?

enter description here

精確率(Precision)為TP/(TP+FP)

召回率(Recall)為TP/(TP+FN)

F1值是精確率和召回率的調(diào)和均值屋群,即F1=2PR/(P+R)

ROC曲線(Receiver operating characteristic curve),ROC曲線其實(shí)是多個(gè)混淆矩陣的結(jié)果組合坏挠,如果在上述模型中我們沒有定好閾值芍躏,而是將模型預(yù)測(cè)結(jié)果從高到低排序,將每個(gè)概率值依次作為閾值降狠,那么就有多個(gè)混淆矩陣。對(duì)于每個(gè)混淆矩陣榜配,我們計(jì)算兩個(gè)指標(biāo)TPR(True positive rate)和FPR(False positive rate)蛋褥,TPR=TP/(TP+FN)=Recall临燃,TPR就是召回率,F(xiàn)PR=FP/(FP+TN)膜廊。

enter description here

在畫ROC曲線的過程中,若有一個(gè)閾值溃论,高于此閾值的均為壞人屎蜓,低于此閾值的均為好人,則認(rèn)為此模型已完美的區(qū)分開好壞用戶炬转。此時(shí)壞用戶的預(yù)測(cè)準(zhǔn)確率(TPR)為1扼劈,同時(shí)好用戶的預(yù)測(cè)錯(cuò)誤率(FPR)為0菲驴,ROC曲線經(jīng)過(0,1)點(diǎn)。AUC(Area Under Curve)的值為ROC曲線下面的面積先煎,若如上所述模型十分準(zhǔn)確薯蝎,則AUC為1谤绳。但現(xiàn)實(shí)生活中尤其是工業(yè)界不會(huì)有如此完美的模型缩筛,一般AUC均在0.5到1之間,AUC越高艺演,模型的區(qū)分能力越好

若AUC=0.5桐臊,即與上圖中紅線重合,表示模型的區(qū)分能力與隨機(jī)猜測(cè)沒有差別。

所以AUC表征的是模型的分類能力懒浮。

過擬合

如果一味的去提高訓(xùn)練數(shù)據(jù)的預(yù)測(cè)能力,所選模型的復(fù)雜度往往會(huì)很高次伶,這種現(xiàn)象稱為過擬合冠王。所表現(xiàn)的就是模型訓(xùn)練時(shí)候的誤差很小舌镶,但在測(cè)試的時(shí)候誤差很大餐胀。

產(chǎn)生的原因

因?yàn)閰?shù)太多,會(huì)導(dǎo)致我們的模型復(fù)雜度上升卖擅,容易過擬合

權(quán)值學(xué)習(xí)迭代次數(shù)足夠多(Overtraining),擬合了訓(xùn)練數(shù)據(jù)中的噪聲和訓(xùn)練樣例中沒有代表性的特征.

解決方法

交叉驗(yàn)證法

減少特征

正則化

權(quán)值衰減

驗(yàn)證數(shù)據(jù)

線性分類器與非線性分類器的區(qū)別以及優(yōu)劣

如果模型是參數(shù)的線性函數(shù)惩阶,并且存在線性分類面断楷,那么就是線性分類器私痹,否則不是紊遵。

常見的線性分類器有:LR,貝葉斯分類,單層感知機(jī)匀奏、線性回歸

常見的非線性分類器:決策樹娃善、RF瑞佩、GBDT炬丸、多層感知機(jī)

SVM兩種都有(看線性核還是高斯核)

線性分類器速度快蜒蕾、編程方便咪啡,但是可能擬合效果不會(huì)很好

非線性分類器編程復(fù)雜暮屡,但是效果擬合能力強(qiáng)

特征比數(shù)據(jù)量還大時(shí)褒纲,選擇什么樣的分類器外厂?

線性分類器,因?yàn)榫S度高的時(shí)候渐扮,數(shù)據(jù)一般在維度空間里面會(huì)比較稀疏墓律,很有可能線性可分

對(duì)于維度很高的特征幔亥,你是選擇線性還是非線性分類器帕棉?

理由同上

對(duì)于維度極低的特征香伴,你是選擇線性還是非線性分類器?

非線性分類器具帮,因?yàn)榈途S空間可能很多特征都跑到一起了低斋,導(dǎo)致線性不可分

樣本不均衡如何解決

從重采樣到數(shù)據(jù)合成

主要三個(gè)方面膊畴,數(shù)據(jù)唇跨,模型和評(píng)估方法礁遵。

數(shù)據(jù)上重采樣和欠采樣,使之均衡唧龄;

模型上選對(duì)樣本不均衡問題不敏感的模型奸远,和算法集成技術(shù)懒叛,如決策樹薛窥,不能用KNN;

評(píng)估方法佩番,用查全率趟畏,查準(zhǔn)率之類

重采樣(resampling)技術(shù):

(1).隨機(jī)欠采樣

隨機(jī)欠采樣的目標(biāo)是通過隨機(jī)地消除占多數(shù)的類的樣本來平衡類分布滩租。

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

它可以提升運(yùn)行時(shí)間律想;并且當(dāng)訓(xùn)練數(shù)據(jù)集很大時(shí)蜘欲,可以通過減少樣本數(shù)量來解決存儲(chǔ)問題姥份。

缺點(diǎn)

它會(huì)丟棄對(duì)構(gòu)建規(guī)則分類器很重要的有價(jià)值的潛在信息。

被隨機(jī)欠采樣選取的樣本可能具有偏差展鸡。它不能準(zhǔn)確代表大多數(shù)莹弊。

(2).隨機(jī)過采樣(Random Over-Sampling)

過采樣(Over-Sampling)通過隨機(jī)復(fù)制少數(shù)類來增加其中的實(shí)例數(shù)量忍弛,從而可增加樣本中少數(shù)類的代表性。

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

與欠采樣不同蔗彤,這種方法不會(huì)帶來信息損失然遏。

表現(xiàn)優(yōu)于欠采樣吧彪。

缺點(diǎn)

由于復(fù)制少數(shù)類事件姨裸,它加大了過擬合的可能性啦扬。

(3). 信息性過采樣:合成少數(shù)類過采樣技術(shù)

直接復(fù)制少數(shù)類實(shí)例并將其添加到主數(shù)據(jù)集時(shí)扑毡。從少數(shù)類中把一個(gè)數(shù)據(jù)子集作為一個(gè)實(shí)例取走,接著創(chuàng)建相似的新合成的實(shí)例勋又。這些合成的實(shí)例接著被添加進(jìn)原來的數(shù)據(jù)集楔壤。新數(shù)據(jù)集被用作樣本以訓(xùn)練分類模型蹲嚣。

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

通過隨機(jī)采樣生成的合成樣本而非實(shí)例的副本祟牲,可以緩解過擬合的問題说贝。

不會(huì)損失有價(jià)值信息乡恕。

缺點(diǎn)

當(dāng)生成合成性實(shí)例時(shí)俯萎,SMOTE 并不會(huì)把來自其他類的相鄰實(shí)例考慮進(jìn)來夫啊。這導(dǎo)致了類重疊的增加涮母,并會(huì)引入額外的噪音。



作者:在河之簡(jiǎn)

鏈接:http://www.reibang.com/p/ace5051d0023

來源:簡(jiǎn)書

簡(jiǎn)書著作權(quán)歸作者所有彤钟,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處跷叉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末梆砸,一起剝皮案震驚了整個(gè)濱河市园欣,隨后出現(xiàn)的幾起案子沸枯,更是在濱河造成了極大的恐慌绑榴,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異飘痛,居然都是意外死亡敦冬,警方通過查閱死者的電腦和手機(jī)唯沮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門萌庆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人猿妈,你說我怎么就攤上這事彭则「┒叮” “怎么了瓦胎?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵柬祠,是天一觀的道長(zhǎng)负芋。 經(jīng)常有香客問我旧蛾,道長(zhǎng)蚜点,這世上最難降的妖魔是什么绍绘? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任陪拘,我火速辦了婚禮左刽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迄靠。我一直安慰自己掌挚,他們只是感情好吠式,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布特占。 她就那樣靜靜地躺著是目,像睡著了一般胖笛。 火紅的嫁衣襯著肌膚如雪宜岛。 梳的紋絲不亂的頭發(fā)上萍倡,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天列敲,我揣著相機(jī)與錄音戴而,去河邊找鬼所意。 笑死扶踊,一個(gè)胖子當(dāng)著我的面吹牛秧耗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播车猬,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼韩脏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼赡矢!你這毒婦竟也來了阅仔?” 一聲冷哼從身側(cè)響起八酒,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤界轩,失蹤者是張志新(化名)和其女友劉穎衔瓮,沒想到半個(gè)月后热鞍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體薇宠,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澄港,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年逐工,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泪喊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袒啼。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蚓再,死狀恐怖摘仅,靈堂內(nèi)的尸體忽然破棺而出娃属,到底是詐尸還是另有隱情,我是刑警寧澤掏击,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站捅膘,受9級(jí)特大地震影響滚粟,放射性物質(zhì)發(fā)生泄漏坦刀。R本人自食惡果不足惜鲤遥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一盖奈、第九天 我趴在偏房一處隱蔽的房頂上張望钢坦。 院中可真熱鬧爹凹,春花似錦禾酱、人聲如沸颤陶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滓走。三九已至垦江,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搅方,已是汗流浹背比吭。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腰懂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓绣溜,卻偏偏與公主長(zhǎng)得像慷彤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怖喻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容