日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

機(jī)器學(xué)習(xí)萌新必學(xué)的Top10算法

 飛越迷霧vu4mev 2018-03-28
原作 James Le
Root 編譯自 KDuggets
量子位 報(bào)道 | 公眾號(hào) QbitAI

在機(jī)器學(xué)習(xí)領(lǐng)域里,不存在一種萬能的算法可以完美解決所有問題,尤其是像預(yù)測建模的監(jiān)督學(xué)習(xí)里。

比方說,神經(jīng)網(wǎng)絡(luò)不見得比決策樹好,同樣反過來也不成立。

最后的結(jié)果是有很多因素在起作用的,比方說數(shù)據(jù)集的大小以及組成。

所以,針對你要解決的問題,最好是嘗試多種不同的算法。并借一個(gè)測試集來評估不同算法之間的表現(xiàn),最后選出一個(gè)結(jié)果最好的。

當(dāng)然,你要選適合解決你問題的算法來嘗試。

比方說,要打掃房子,你會(huì)用真空吸塵器,掃把,拖把;你絕對不會(huì)翻出一把鏟子來開始挖坑,對吧。

大的原則

不過呢,對于所有預(yù)測建模的監(jiān)督學(xué)習(xí)算法來說,還是有一些通用的底層原則的。

機(jī)器學(xué)習(xí)算法,指的是要學(xué)習(xí)一個(gè)目標(biāo)函數(shù),能夠盡可能地還原輸入和輸出之間的關(guān)系。

然后根據(jù)新的輸入值X,來預(yù)測出輸出值Y。精準(zhǔn)地預(yù)測結(jié)果是機(jī)器學(xué)習(xí)建模的任務(wù)。

So,Top10機(jī)器學(xué)習(xí)算法,了解一下。

線性回歸?

統(tǒng)計(jì)學(xué)與機(jī)器學(xué)習(xí)領(lǐng)域里研究最多的算法。

做預(yù)測建模,最重要的是準(zhǔn)確性(盡可能減小預(yù)測值和實(shí)際值的誤差)。哪怕犧牲可解釋性,也要盡可能提高準(zhǔn)確性。

為了達(dá)到這個(gè)目的,我們會(huì)從不同領(lǐng)域(包括統(tǒng)計(jì)學(xué))參考或照搬算法。

線性回歸可用一條線表示輸入值X和輸出值Y之間的關(guān)系,這條線的斜率的值,也叫系數(shù)。

比方說,y = B0 + B1*x

我們就可以根據(jù)X值來預(yù)測Y值。機(jī)器學(xué)習(xí)的任務(wù)就是找出系數(shù)B0和B1。

從數(shù)據(jù)中建立線性回歸的模型有不同的方法,比方說線性代數(shù)的最小二乘法、梯度下降優(yōu)化。

線性回歸已經(jīng)存在了200多年,相關(guān)研究已經(jīng)很多了。用這個(gè)算法關(guān)鍵在于要盡可能地移除相似的變量以及清洗數(shù)據(jù)。

對算法萌新來說,是最簡單的算法了。

2?.邏輯回歸

這方法來自統(tǒng)計(jì)學(xué)領(lǐng)域,是一種可以用在二元分類問題上的方法。

邏輯回歸,和線性回歸相似,都是要找出輸入值的系數(shù)權(quán)重。不同的地方在于,對輸出值的預(yù)測改成了邏輯函數(shù)。

邏輯函數(shù)看起來像字母S,輸出值的范圍是0到1。

把邏輯函數(shù)的輸出值加一個(gè)處理規(guī)則,就能得到分類結(jié)果,非0即1。
比方說,可以規(guī)定輸入值小于0.5,那么輸出值就是1。

 邏輯回歸

這個(gè)算法還可以用來預(yù)測數(shù)據(jù)分布的概率,適用于需要更多數(shù)據(jù)論證支撐的預(yù)測。

和線性回歸相似,如果把和輸出不相干的因子或者相近的因子剔除掉的話,邏輯回歸算法的表現(xiàn)會(huì)更好。

對于二元分類問題,邏輯回歸是個(gè)可快速上手又有效的算法。

3.線性判別分析

邏輯回歸算法,只能用于二分問題。

當(dāng)輸出的結(jié)果類別超過兩類的時(shí)候,就要用線性判別分析算法了。

這種算法的可視化結(jié)果還比較一目了然,能看出數(shù)據(jù)在統(tǒng)計(jì)學(xué)上的特征。這上面的結(jié)果都是分別計(jì)算得到的,單一的輸入值可以是每一類的中位數(shù),也可以是每一類值的跨度。

 線性判別分析

基于對每種類別計(jì)算之后所得到的判別值,取最大值做出預(yù)測。

這種方法是假定數(shù)據(jù)符合高斯分布。所以,最好在預(yù)測之前把異常值先踢掉。

對于分類預(yù)測問題來說,這種算法既簡單又給力。

4.?分類與回歸樹

預(yù)測模型里,決策樹也是非常重要的一種算法。

可以用分兩叉的樹來表示決策樹的模型。每一個(gè)節(jié)點(diǎn)代表一個(gè)輸入,每個(gè)分支代表一個(gè)變量(默認(rèn)變量是數(shù)字類型)

 決策樹

決策樹的葉節(jié)點(diǎn)指的是輸出變量。預(yù)測的過程會(huì)經(jīng)過決策樹的分岔口,直到最后停在了一個(gè)葉節(jié)點(diǎn)上,對應(yīng)的就是輸出值的分類結(jié)果。

決策樹很好學(xué),也能很快地得到預(yù)測結(jié)果。對于大部分問題來說,得到的結(jié)果還挺準(zhǔn)確,也不要求對數(shù)據(jù)進(jìn)行預(yù)處理。

5.樸素貝葉斯分類器

這種預(yù)測建模的算法強(qiáng)大到超乎想象。
這種模型,可以直接從你的訓(xùn)練集中計(jì)算出來兩種輸出類別的概率。

一個(gè)是每種輸出種類的概率;另外一個(gè),是根據(jù)給定的x值,得到的是有條件的種類概率。

一旦計(jì)算之后,概率的模型可以用貝葉斯定理預(yù)測新的數(shù)據(jù)。

當(dāng)你的數(shù)據(jù)是實(shí)數(shù)值,那么按理說應(yīng)該是符合高斯分布的,也就很容易估算出這個(gè)概率。

 貝葉斯定理

樸素貝葉斯定理之所以名字里有個(gè)“樸素”,是因?yàn)檫@種算法假定每個(gè)輸入的變量都是獨(dú)立的。

不過,真實(shí)的數(shù)據(jù)不可能滿足這個(gè)隱藏前提。盡管如此,這個(gè)方法對很多復(fù)雜的問題還是很管用的。

6.K近鄰算法

最近K近鄰的模型表示,就是整個(gè)訓(xùn)練集。很直截了當(dāng),對吧?

對新數(shù)據(jù)的預(yù)測,是搜索整個(gè)訓(xùn)練集的值,找到K個(gè)最近的例子(literally的鄰居)。然后總結(jié)K個(gè)輸出的變量。

這種算法難就難在,怎么定義兩個(gè)數(shù)據(jù)的相似度(相距多近算相似)。

如果你的特征(attributes)屬于同一個(gè)尺度的話,那最簡單的方法是用歐幾里得距離。這個(gè)數(shù)值,你可以基于每個(gè)輸入變量之間的距離來計(jì)算得出。

 最近鄰法

最近鄰法,需要占用大量的內(nèi)存空間來放數(shù)據(jù),這樣在需要預(yù)測的時(shí)候就可以進(jìn)行即時(shí)運(yùn)算(或?qū)W習(xí))。也可以不斷更新訓(xùn)練集,使得預(yù)測更加準(zhǔn)確。

距離或親密度這個(gè)思路遇到更高維度(大量的輸入變量)就行不通了,會(huì)影響算法的表現(xiàn)。

這叫做維度的詛咒。

當(dāng)(數(shù)學(xué))空間維度增加時(shí),分析和組織高維空間(通常有成百上千維),因體積指數(shù)增加而遇到各種問題場景。

所以最好只保留那些和輸出值有關(guān)的輸入變量。

7.學(xué)習(xí)矢量量化

最近鄰法的缺點(diǎn)是,你需要整個(gè)訓(xùn)練集。

而學(xué)習(xí)矢量量化(后簡稱LVQ)這個(gè)神經(jīng)網(wǎng)絡(luò)算法,是自行選擇訓(xùn)練樣例。

LVQ,是一組矢量,也叫碼本。一開始,矢量是隨機(jī)選的,經(jīng)過幾次學(xué)習(xí)算法迭代之后,慢慢選出最能代表訓(xùn)練集的矢量。

學(xué)習(xí)完成后,碼本就可以用來預(yù)測了,就像最近鄰法那樣。計(jì)算新輸入樣例和碼本的距離,可以找出最相近的鄰居,也就是最匹配的碼本。

如果你重新調(diào)整數(shù)據(jù)尺度,把數(shù)據(jù)歸到同一個(gè)范圍里,比如說0到1之間,那就可以獲得最好的結(jié)果。

如果用最近鄰法就獲得了不錯(cuò)的結(jié)果,那么可以再用LVQ優(yōu)化一下,減輕訓(xùn)練集儲(chǔ)存壓力。

8.支持向量機(jī)(簡稱SVM)

這可能是機(jī)器學(xué)習(xí)里最受歡迎的算法了。

超平面是一條可以分割輸入變量的空間的“線”。

支持向量機(jī)的超平面,是能把輸入變量空間盡可能理想地按種類切割,要么是0,要么是1。

在二維空間里,你可以把超平面可以分割變量空間的那條“線”。這條線能把所有的輸入值完美一分為二。

SVM的學(xué)習(xí)目標(biāo)就是要找出這個(gè)超平面。

 支持矢量機(jī)

超平面和挨得最近的數(shù)據(jù)點(diǎn)之間的距離,叫做邊緣。

最理想的超平面,是可以無誤差地劃分訓(xùn)練數(shù)據(jù)。 也就是說,每一類數(shù)據(jù)里距離超平面最近的向量與超平面之間的距離達(dá)到最大值。

這些點(diǎn)就叫做支持向量,他們定義了超平面。

從實(shí)際操作上,最理想的算法是能找到這些把最近矢量與超平面值距離最大化的點(diǎn)。

支持向量可能是最強(qiáng)的拿來就用的分類器了。值得用數(shù)據(jù)集試試。

9.隨機(jī)森林

隨機(jī)森林,屬于一種重復(fù)抽樣算法,是最受歡迎也最強(qiáng)大的算法之一。

在統(tǒng)計(jì)學(xué)里,bootstrap是個(gè)估算值大小很有效的方法。比方說估算平均值。

從數(shù)據(jù)庫中取一些樣本,計(jì)算平均值,重復(fù)幾次這樣的操作,獲得多個(gè)平均值。然后平均這幾個(gè)平均值,希望能得到最接近真實(shí)的平均值。

而bagging算法,是每次取多個(gè)樣本,然后基于這些樣本建模。當(dāng)要預(yù)測新數(shù)據(jù)的時(shí)候,之前建的這些模型都做次預(yù)測,最后取這些預(yù)測值的平均數(shù),盡力接近真實(shí)的輸出值。


隨機(jī)森林在這個(gè)基礎(chǔ)上稍微有點(diǎn)變化。

它包含多個(gè)決策樹的分類器, 并且其輸出的類別是由個(gè)別樹輸出的類別的眾數(shù)而定。

如果你的高方差算法取得了不錯(cuò)的結(jié)果(比方說決策樹),那么用隨機(jī)森林的話會(huì)進(jìn)一步拿到更好的結(jié)果。

10. 提升(Boosting)算法和自適應(yīng)增強(qiáng)(Adaboost)算法

Boosting的核心是,對同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個(gè)更強(qiáng)的最終分類器(強(qiáng)分類器)。

所得到的第二個(gè)弱分類器會(huì)糾正第一個(gè)弱分類器的誤差。弱分類器的不斷疊加,直到預(yù)測結(jié)果完美為止。

Adaboost算法是首個(gè)成功用于二元分類問題的提升算法。

現(xiàn)在有很多提升方法都是基于Adaboost。

AdaBoost適用于短的決策樹。

在第一個(gè)樹建立出來之后,不同的樣本訓(xùn)練之后的表現(xiàn)可以作參考,用不同的樣本訓(xùn)練弱分類器,然后根據(jù)錯(cuò)誤率給樣本一個(gè)權(quán)重。

很難預(yù)測的訓(xùn)練數(shù)據(jù)應(yīng)該給更多的權(quán)重,反過來,好預(yù)測的就少一點(diǎn)權(quán)重。

模型按順序一個(gè)一個(gè)建,每個(gè)訓(xùn)練數(shù)據(jù)的權(quán)重都會(huì)受到上一個(gè)決策樹表現(xiàn)的影響。

當(dāng)所有的決策樹都建好之后,看新數(shù)據(jù)的預(yù)測表現(xiàn),結(jié)果準(zhǔn)不準(zhǔn)。

因?yàn)橛?xùn)練數(shù)據(jù)對于矯正算法非常重要,所以要確保數(shù)據(jù)清洗干凈了,不要有奇奇怪怪的偏離值。

最后的最后

面對海量的機(jī)器學(xué)習(xí)算法,萌新最愛問的是,“我該選什么算法?”

在回答這個(gè)問題之前,要先想清楚:

1)數(shù)據(jù)的數(shù)量、質(zhì)量、本質(zhì);
2)可供計(jì)算的時(shí)間;
3)這個(gè)任務(wù)的緊急程度;
4)你用這個(gè)數(shù)據(jù)想做什么。

要知道,即使是老司機(jī),也無法閉著眼睛說哪個(gè)算法能拿到最好的結(jié)果。還是得動(dòng)手試。

其實(shí)機(jī)器學(xué)習(xí)的算法很多的,以上只是介紹用得比較多的類型,比較適合萌新試試手找找感覺。

最后,附編譯來源,
https://www./2018/02/tour-top-10-algorithms-machine-learning-newbies.html

你可能感興趣

2017年AI與深度學(xué)習(xí)要點(diǎn)大全
深度學(xué)習(xí)自學(xué)指南:6個(gè)月,從基礎(chǔ)知識(shí)到模型構(gòu)建
我搭的神經(jīng)網(wǎng)絡(luò)不work該怎么辦!看看這11條新手最容易犯的錯(cuò)誤

加入社群

量子位AI社群15群開始招募啦,歡迎對AI感興趣的同學(xué),加小助手微信qbitbot6入群;


此外,量子位專業(yè)細(xì)分群(自動(dòng)駕駛、CV、NLP、機(jī)器學(xué)習(xí)等)正在招募,面向正在從事相關(guān)領(lǐng)域的工程師及研究人員。


進(jìn)群請加小助手微信號(hào)qbitbot6,并務(wù)必備注相應(yīng)群的關(guān)鍵詞~通過審核后我們將邀請進(jìn)群。(專業(yè)群審核較嚴(yán),敬請諒解)

誠摯招聘

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多