毫無疑問,過去兩年中,機(jī)器學(xué)習(xí)和人工智能的普及度得到了大幅提升。
如果你想學(xué)習(xí)機(jī)器算法,要從何下手呢?以我為例,我是在哥本哈根留學(xué)期間,學(xué)習(xí)AI課程入門的。我們用的教科書是一本AI經(jīng)典:《Peter Norvig’s Artificial Intelligence?—?A Modern Approach》。最近我在繼續(xù)學(xué)習(xí)這些,包括在舊金山聽了幾個(gè)關(guān)于深度學(xué)習(xí)的技術(shù)演講,參加機(jī)器學(xué)習(xí)大會(huì)上。六月份,我注冊(cè)了Udacity的Intro to Machine Learning的在線課程,近期已經(jīng)完成了。這篇文章,我想分享一些我所學(xué)到的、最常見的機(jī)器學(xué)習(xí)算法。
我從這個(gè)課程中學(xué)到了很多,并決定繼續(xù)學(xué)習(xí)這一專業(yè)內(nèi)容。不久前,我在舊金山聽了幾個(gè)關(guān)于深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)架構(gòu)方面的技術(shù)演講,包括在一個(gè)機(jī)器學(xué)習(xí)大會(huì)上和很多領(lǐng)域知名專家一起。最重要的是,我六月份注冊(cè)了Udacity 的機(jī)器學(xué)習(xí)入門的在線課程,近期已經(jīng)完成了。這篇文章,我想分享一些我所學(xué)到的、最常見的機(jī)器學(xué)習(xí)算法。
機(jī)器學(xué)習(xí)算法可以分為三個(gè)大類——有監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。
有監(jiān)督學(xué)習(xí),對(duì)訓(xùn)練有標(biāo)簽的數(shù)據(jù)有用,但是對(duì)于其他沒有標(biāo)簽的數(shù)據(jù),則需要預(yù)估。
無監(jiān)督學(xué)習(xí),用于對(duì)無標(biāo)簽的數(shù)據(jù)集(數(shù)據(jù)沒有預(yù)處理)的處理,需要發(fā)掘其內(nèi)在關(guān)系的時(shí)候。
強(qiáng)化學(xué)習(xí),介于兩者之間,雖然沒有精準(zhǔn)的標(biāo)簽或者錯(cuò)誤信息,但是對(duì)于每個(gè)可預(yù)測的步驟或者行為,會(huì)有某種形式的反饋。
由于我上的是入門課程,我并沒有學(xué)習(xí)強(qiáng)化學(xué)習(xí),但是下面10個(gè)有監(jiān)督和無監(jiān)督學(xué)習(xí)算法已經(jīng)足以讓你對(duì)機(jī)器學(xué)習(xí)產(chǎn)生興趣。
監(jiān)督學(xué)習(xí)
1.決策樹 (Decision Trees)
決策樹是一個(gè)決策支持工具,它用樹形的圖或者模型表示決策及其可能的后果,包括隨機(jī)事件的影響、資源消耗、以及用途。請(qǐng)看下圖,隨意感受一下決策樹長這樣的:
從商業(yè)角度看,決策樹就是用最少的Yes/No問題,盡可能地做出一個(gè)正確的決策。它讓我們通過一種結(jié)構(gòu)化、系統(tǒng)化的方式解決問題,得到一個(gè)有邏輯的結(jié)論。
2.樸素貝葉斯分類(Naive Bayes Classification)
樸素貝葉斯分類器是一類簡單概率分類器,它基于把貝葉斯定理運(yùn)用在特征之間關(guān)系的強(qiáng)獨(dú)立性假設(shè)上。下圖是貝葉斯公式——P(A|B)表示后驗(yàn)概率,P(B|A)表示似然度,P(A)表示類別的先驗(yàn)概率(class prior probability),P(B)表示做出預(yù)測的先驗(yàn)概率(predictor prior probability)。
現(xiàn)實(shí)生活中的應(yīng)用例子:
一封電子郵件是否是垃圾郵件
一篇文章應(yīng)該分到科技、政治,還是體育類
一段文字表達(dá)的是積極的情緒還是消極的情緒?
人臉識(shí)別
3.普通最小二乘回歸(Ordinary Least Squares Regression)
如果你學(xué)過統(tǒng)計(jì)學(xué),你可能聽過線性回歸。至少最小二乘是一種進(jìn)行線性回歸的方法。你可以認(rèn)為線性回歸就是讓一條直線用最適合的姿勢穿過一組點(diǎn)。有很多方法可以這樣做,普通最小二乘法就像這樣——你可以畫一條線,測量每個(gè)點(diǎn)到這條線的距離,然后加起來。最好的線應(yīng)該是所有距離加起來最小的那根。
線性法表示你去建模線性模型,而最小二乘法可以最小化該線性模型的誤差。
4.邏輯回歸(Logistic Regression)
邏輯回歸是一種非常強(qiáng)大的統(tǒng)計(jì)方法,可以把有一個(gè)或者多個(gè)解釋變量的數(shù)據(jù),建立為二項(xiàng)式類型的模型,通過用累積邏輯分布的邏輯函數(shù)估計(jì)概率,測量分類因變量和一個(gè)或多個(gè)獨(dú)立變量之間的關(guān)系。
通常,回歸在現(xiàn)實(shí)生活中的用途如下:
信用評(píng)估
測量市場營銷的成功度
預(yù)測某個(gè)產(chǎn)品的收益
特定的某天是否會(huì)發(fā)生地震
5.支持向量機(jī)(Support Vector Machines)
SVM是一種二分算法。假設(shè)在N維空間,有一組點(diǎn),包含兩種類型,SVM生成a(N-1) 維的超平面,把這些點(diǎn)分成兩組。比如你有一些點(diǎn)在紙上面,這些點(diǎn)是線性分離的。SVM會(huì)找到一個(gè)直線,把這些點(diǎn)分成兩類,并且會(huì)盡可能遠(yuǎn)離這些點(diǎn)。
從規(guī)??磥?,SVM(包括適當(dāng)調(diào)整過的)解決的一些特大的問題有:廣告、人類基因剪接位點(diǎn)識(shí)別、基于圖片的性別檢測、大規(guī)模圖片分類…
6.集成方法(Ensemble Methods)
集成方法吸納了很多算法,構(gòu)建一個(gè)分類器集合,然后給它們的預(yù)測帶權(quán)重的進(jìn)行投票,從而進(jìn)行分類。最初的集成方法是貝葉斯平均法(Bayesian averaging),但是最近的算法集還包括了糾錯(cuò)輸出編碼(error-correcting output coding) ,bagging和boosting
那么集成方法如何工作的?為什么它們比單獨(dú)的模型更好?
它們均衡了偏差:就像如果你均衡了大量的傾向民主黨的投票和大量傾向共和黨的投票,你總會(huì)得到一個(gè)不那么偏頗的結(jié)果。
它們降低了方差:集合大量模型的參考結(jié)果,噪音會(huì)小于單個(gè)模型的單個(gè)結(jié)果。在金融上,這叫投資分散原則(diversification)——一個(gè)混搭很多種股票的投資組合,比單獨(dú)的股票更少變故。
它們不太可能過度擬合:如果你有單獨(dú)的模型不是完全擬合,你結(jié)合每個(gè)簡單方法建模,就不會(huì)發(fā)生過度擬合(over-fitting)
無監(jiān)督學(xué)習(xí)
7. 聚類算法(Clustering Algorithms)
聚類就是把一組對(duì)象分組化的任務(wù),使得在同一組的對(duì)象比起其它組的對(duì)象,它們彼此更加相似。
每種聚類算法都不同,下面是其中一些:
基于圖心(Centroid)的算法
基于連接的算法
基于密集度的算法
概率論
降維
神經(jīng)網(wǎng)絡(luò) / 深度學(xué)習(xí)
8.主成分分析(Principal Component Analysis)
PCA是一種統(tǒng)計(jì)過程,它通過正交變換把一組可能相關(guān)聯(lián)的變量觀察,轉(zhuǎn)換成一組線性非相關(guān)的變量的值,這些非相關(guān)的變量就是主成分。
PCA的應(yīng)用包括壓縮、簡化數(shù)據(jù)使之易于學(xué)習(xí),可視化。需要注意的是,當(dāng)決定是否用PCA的時(shí)候,領(lǐng)域知識(shí)特別重要。它不適用于噪音多的數(shù)據(jù)(所有成分的方差要很高才行)
9.奇異值分解(Singular Value Decomposition)
線性代數(shù)中,SVD是對(duì)一個(gè)特別復(fù)雜的矩陣做因式分解。比如一個(gè)m*n的矩陣M,存在一個(gè)分解如M = UΣV,其中U和V是酉矩陣,Σ是一個(gè)對(duì)角矩陣。
PCA其實(shí)是種簡單的SVD。在計(jì)算機(jī)圖形領(lǐng)域,第一個(gè)臉部識(shí)別算法就用了PCA和SVD,用特征臉(eigenfaces)的線性結(jié)合表達(dá)臉部圖像,然后降維,用簡單的方法把臉部和人匹配起來。盡管如今的方法更加復(fù)雜,依然有很多是依靠類似這樣的技術(shù)。
10.獨(dú)立成分分析(Independent Component Analysis)
ICA 是一種統(tǒng)計(jì)技術(shù)。它發(fā)掘隨機(jī)變量、測量數(shù)據(jù)或者信號(hào)的集合中隱含的因素。ICA定義了一種通用模型,用于觀測到的多變量數(shù)據(jù),通常是一個(gè)巨大的樣本數(shù)據(jù)庫。在這一模型中,假設(shè)數(shù)據(jù)變量是一些未知的、潛在的變量的線性組合,而組合方式也是未知的。同時(shí)假設(shè),潛在的變量是非高斯分布且相互獨(dú)立的,我們稱之為觀測數(shù)據(jù)的獨(dú)立成分(Independent components)。
ICA與PCA有一定關(guān)聯(lián),但是一種更加有用的技術(shù),在經(jīng)典方法完全失效的時(shí)候,可以發(fā)現(xiàn)數(shù)據(jù)源中的潛在因素。它的應(yīng)用包括數(shù)字圖片,文件數(shù)據(jù)庫,經(jīng)濟(jì)指數(shù)和心理測量。
現(xiàn)在可以開始用你對(duì)這些算法的理解,去創(chuàng)建機(jī)器學(xué)習(xí)應(yīng)用,給大家?guī)砀玫捏w驗(yàn)。
評(píng)論
查看更多