課程目錄

在我們了解了需要解決的機器學習問題的類型之后,我們可以開始考慮搜集來的數(shù)據(jù)的類型以及我們可以嘗試的機器學習算法。在這個帖子里,我們會介紹一遍最流行的機器學習算法。通過瀏覽主要的算法來大致了解可以利用的方法是很有幫助的。

可利用的算法非常之多。困難之處在于既有不同種類的方法,也有對這些方法的擴展。這導致很快就難以區(qū)分到底什么才是正統(tǒng)的算法。在這個帖子里,我希望給你兩種方式來思考和區(qū)分在這個領域中你將會遇到的算法。

第一種劃分算法的方式是根據(jù)學習的方式,第二種則是基于形式和功能的相似性(就像把相似的動物歸為一類一樣)。兩種方式都是有用的。

學習方式

基于其與經(jīng)驗、環(huán)境,或者任何我們稱之為輸入數(shù)據(jù)的相互作用,一個算法可以用不同的方式對一個問題建模。在機器學習和人工智能教科書中,流行的做法是首先考慮一個算法的學習方式。

算法的主要學習方式和學習模型只有幾個,我們將會逐一介紹它們,并且給出幾個算法和它們適合解決的問題類型來作為例子。

監(jiān)督學習:輸入數(shù)據(jù)被稱為訓練數(shù)據(jù),它們有已知的標簽或者結果,比如垃圾郵件/非垃圾郵件或者某段時間的股票價格。模型的參數(shù)確定需要通過一個訓練的過程,在這個過程中模型將會要求做出預測,當預測不符時,則需要做出修改。

無監(jiān)督學習:輸入數(shù)據(jù)不帶標簽或者沒有一個已知的結果。通過推測輸入數(shù)據(jù)中存在的結構來建立模型。這類問題的例子有關聯(lián)規(guī)則學習和聚類。算法的例子包括Apriori算法和K-means算法。

半監(jiān)督學習:輸入數(shù)據(jù)由帶標記的和不帶標記的組成。合適的預測模型雖然已經(jīng)存在,但是模型在預測的同時還必須能通過發(fā)現(xiàn)潛在的結構來組織數(shù)據(jù)。這類問題包括分類和回歸。典型算法包括對一些其他靈活的模型的推廣,這些模型都對如何給未標記數(shù)據(jù)建模做出了一些假設。

強化學習:輸入數(shù)據(jù)作為來自環(huán)境的激勵提供給模型,且模型必須作出反應。反饋并不像監(jiān)督學習那樣來自于訓練的過程,而是作為環(huán)境的懲罰或者是獎賞。典型問題有系統(tǒng)和機器人控制。算法的例子包括Q-學習和時序差分學習(Temporal Difference Learning)。

當你處理大量數(shù)據(jù)來對商業(yè)決策建模時,通常會使用監(jiān)督和無監(jiān)督學習。目前一個熱門話題是半監(jiān)督學習,比如會應用在圖像分類中,涉及到的數(shù)據(jù)集很大但是只包含極少數(shù)標記的數(shù)據(jù)。

算法相似性

通常,我們會把算法按照功能和形式的相似性來區(qū)分。比如樹形結構和神經(jīng)網(wǎng)絡的方法。這是一種有用的分類方法,但也不是完美的。仍然有些算法很容易就可以被歸入好幾個類別,比如學習矢量量化,它既是受啟發(fā)于神經(jīng)網(wǎng)絡的方法,又是基于實例的方法。也有一些算法的名字既描述了它處理的問題,也是某一類算法的名稱,比如回歸和聚類。正因為如此,你會從不同的來源看到對算法進行不同的歸類。就像機器學習算法自身一樣,沒有完美的模型,只有足夠好的模型。

在這個小節(jié)里,我將會按照我覺得最直觀的方式列出許多流行的機器學習算法。雖然不管是類別還是算法都不是全面詳盡的,但我認為它們都具有代表性,有助于你對整個領域有一個大致的了解。如果你發(fā)現(xiàn)有一個或一類算法沒有被列入,將它寫在回復里和大家分享。讓我們來開始吧。

回歸分析

回歸是這樣一種建模方式,它先確定一個衡量模型預測誤差的量,然后通過這個量來反復優(yōu)化變量之間的關系。回歸方法是統(tǒng)計學的主要應用,被歸為統(tǒng)計機器學習。這有些讓人迷惑,因為我們可以用回歸來指代一類問題和一類算法。實際上,回歸是一個過程。以下是一些例子:

普通最小二乘法

邏輯回歸

逐步回歸

多元自適應樣條回歸(MARS)

局部多項式回歸擬合(LOESS)

基于實例的方法

基于實例的學習模型對決策問題進行建模,這些決策基于訓練數(shù)據(jù)中被認為重要的或者模型所必需的實例。這類方法通常會建立一個范例數(shù)據(jù)庫,然后根據(jù)某個相似性衡量標準來把新數(shù)據(jù)和數(shù)據(jù)庫進行比較,從而找到最匹配的項,最后作出預測。因此,基于實例的方法還被叫做“贏者通吃”方法和基于記憶的學習。這種方法的重點在于已有實例的表示以及實例間相似性的衡量標準。

K最近鄰算法(kNN)

學習矢量量化(LVQ)

自組織映射(SOM)

正則化方法

這是對另一種方法(通常是回歸分析方法)的擴展,它懲罰復雜度高的模型,傾向推廣性好的更加簡單的模型。我在這里列下了一些正則化的方法,因為他們流行、強大,而且通常只是對其他方法簡單的改進。

嶺回歸

套索算法(LASSO)

彈性網(wǎng)絡

決策樹學習

決策樹方法對決策過程進行建模,決策是基于數(shù)據(jù)中屬性的實際數(shù)值。決策在樹形結構上分叉直到對特定的某個記錄能做出預測。在分類或者回歸的問題中我們用數(shù)據(jù)來訓練決策樹。

分類與回歸樹算法(CART)

迭代二叉樹3代(ID3)

C4.5算法

卡方自動互動檢視(CHAID)

單層決策樹

隨機森林

多元自適應樣條回歸(MARS)

梯度推進機(GBM)

貝葉斯算法

貝葉斯方法是那些明確地在分類和回歸問題中應用貝葉斯定理的算法。

樸素貝葉斯算法

AODE算法

貝葉斯信度網(wǎng)絡(BBN)

核函數(shù)方法

核函數(shù)方法中最為出名的是流行的支持向量機算法,它其實是一系列方法。核函數(shù)方法關心的是如何把輸入數(shù)據(jù)映射到一個高維度的矢量空間,在這個空間中,某些分類或者回歸問題可以較容易地解決。

支持向量機(SVM)

徑向基函數(shù)(RBF)

線性判別分析(LDA)

聚類方法

就像回歸一樣,聚類既表示一類問題,也表示一類方法。聚類方法一般按照建模方式來劃分:基于質(zhì)心的或者層級結構的。所有的方法都是利用數(shù)據(jù)的內(nèi)在結構來盡量地把數(shù)據(jù)歸入具有最大共性的一類里。

K均值法

最大期望算法(EM)

關聯(lián)規(guī)則學習

關聯(lián)規(guī)則學習是提取規(guī)則的一類算法,這些規(guī)則能最好地解釋觀測到的數(shù)據(jù)中的變量之間的關系。這些規(guī)則能在大型多維數(shù)據(jù)集中發(fā)現(xiàn)重要且在商業(yè)上有用的關聯(lián),然后進一步被利用。

Apriori算法

Eclat算法

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

人工神經(jīng)網(wǎng)絡是受啟發(fā)于生物神經(jīng)網(wǎng)絡的結構和/或功能的算法。它們是一類常用在回歸和分類問題中的模式匹配方法,但其實這個龐大的子類包含了上百種算法和算法的變形,可以解決各種類型的問題。一些經(jīng)典流行的方法包括(我已經(jīng)把深度學習從這個類中分出來了):

感知器

反向傳播算法

Hopfield神經(jīng)網(wǎng)絡

自適應映射(SOM)

學習矢量量化(LVQ)

深度學習

深度學習方法是利用便宜冗余的計算資源對人工神經(jīng)網(wǎng)絡的現(xiàn)代改進版。這類方法試圖建立大得多也復雜得多的神經(jīng)網(wǎng)絡,就如前面說到的,許多方法都是基于大數(shù)據(jù)集中非常有限的標記數(shù)據(jù)來解決半監(jiān)督學習問題。

受限玻爾茲曼機(RBM)

深度信念網(wǎng)(DBN)

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

層疊自動編碼器(SAE)

降維方法

如同聚類方法,降維方法試圖利用數(shù)據(jù)中的內(nèi)在結構來總結或描述數(shù)據(jù),所不同的是它以無監(jiān)督的方式利用更少的信息。這對于可視化高維數(shù)據(jù)或者為之后的監(jiān)督學習簡化數(shù)據(jù)都有幫助。

主成分分析(PCA)

偏最小二乘法回歸(PLS)

薩蒙映射

多維尺度分析(MDS)

投影尋蹤

集成方法

集成方法由多個較弱模型組合而成,這些子模型獨立訓練,它們的預測結果以某種方式整合起來得出總的預測。很多努力都集中在選擇什么類型的學習模型作為子模型,以及用什么方式整合它們的結果。這是一類非常強大的技術,因此也很流行。

推進技術(Boosting)

自展集成(Bagging)

適應性推進(AdaBoost)

層疊泛化策略(Blending)

梯度推進機(GBM)

隨機森林

郵箱
huangbenjincv@163.com

墨竹工卡县| 湟中县| 德兴市| 句容市| 岑巩县| 明溪县| 定边县| 白银市| 游戏| 仁化县| 五大连池市| 都昌县| 四平市| 恭城| 三门县| 南汇区| 上犹县| 洪江市| 南充市| 眉山市| 安远县| 乌兰浩特市| 南澳县| 凤城市| 佛教| 彭阳县| 马关县| 广东省| 乌兰察布市| 云霄县| 根河市| 平陆县| 延安市| 浦县| 普陀区| 澄城县| 广安市| 萍乡市| 兴城市| 堆龙德庆县| 东乡族自治县|