毫無疑問,過去兩年中,機(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ù)測(cè)的步驟或者行為,會(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)看下圖,隨意感受一下決策樹長(zhǎng)這樣的:
從商業(yè)角度看,決策樹就是用最少的Yes/No問題,盡可能地做出一個(gè)正確的決策。它讓我們通過一種結(jié)構(gòu)化、系統(tǒng)化的方式解決問題,得到一個(gè)有邏輯的結(jié)論。
2.樸素貝葉斯分類(Naive Bayes Classification)
樸素貝葉斯分類器是一類簡(jiǎn)單概率分類器,它基于把貝葉斯定理運(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ù)測(cè)的先驗(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)為線性回歸就是讓一條直線用最適合的姿勢(shì)穿過一組點(diǎn)。有很多方法可以這樣做,普通最小二乘法就像這樣——你可以畫一條線,測(cè)量每個(gè)點(diǎn)到這條線的距離,然后加起來。最好的線應(yīng)該是所有距離加起來最小的那根。
線性法表示你去建模線性模型,而最小二乘法可以最小化該線性模型的誤差。
4.邏輯回歸(Logistic Regression)
邏輯回歸是一種非常強(qiáng)大的統(tǒng)計(jì)方法,可以把有一個(gè)或者多個(gè)解釋變量的數(shù)據(jù),建立為二項(xiàng)式類型的模型,通過用累積邏輯分布的邏輯函數(shù)估計(jì)概率,測(cè)量分類因變量和一個(gè)或多個(gè)獨(dú)立變量之間的關(guān)系。
通常,回歸在現(xiàn)實(shí)生活中的用途如下:
信用評(píng)估
測(cè)量市場(chǎng)營(yíng)銷的成功度
預(yù)測(cè)某個(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í)別、基于圖片的性別檢測(cè)、大規(guī)模圖片分類…
6.集成方法(Ensemble Methods)
集成方法吸納了很多算法,構(gòu)建一個(gè)分類器集合,然后給它們的預(yù)測(cè)帶權(quán)重的進(jìn)行投票,從而進(jìn)行分類。最初的集成方法是貝葉斯平均法(Bayesian averaging),但是最近的算法集還包括了糾錯(cuò)輸出編碼(error-correcting output coding) ,bagging和boosting
那么集成方法如何工作的?為什么它們比單獨(dú)的模型更好?
它們均衡了偏差:就像如果你均衡了大量的傾向民主黨的投票和大量?jī)A向共和黨的投票,你總會(huì)得到一個(gè)不那么偏頗的結(jié)果。
它們降低了方差:集合大量模型的參考結(jié)果,噪音會(huì)小于單個(gè)模型的單個(gè)結(jié)果。在金融上,這叫投資分散原則(diversification)——一個(gè)混搭很多種股票的投資組合,比單獨(dú)的股票更少變故。
它們不太可能過度擬合:如果你有單獨(dú)的模型不是完全擬合,你結(jié)合每個(gè)簡(jiǎn)單方法建模,就不會(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)用包括壓縮、簡(jiǎn)化數(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í)是種簡(jiǎn)單的SVD。在計(jì)算機(jī)圖形領(lǐng)域,第一個(gè)臉部識(shí)別算法就用了PCA和SVD,用特征臉(eigenfaces)的線性結(jié)合表達(dá)臉部圖像,然后降維,用簡(jiǎn)單的方法把臉部和人匹配起來。盡管如今的方法更加復(fù)雜,依然有很多是依靠類似這樣的技術(shù)。
10.獨(dú)立成分分析(Independent Component Analysis)
ICA 是一種統(tǒng)計(jì)技術(shù)。它發(fā)掘隨機(jī)變量、測(cè)量數(shù)據(jù)或者信號(hào)的集合中隱含的因素。ICA定義了一種通用模型,用于觀測(cè)到的多變量數(shù)據(jù),通常是一個(gè)巨大的樣本數(shù)據(jù)庫。在這一模型中,假設(shè)數(shù)據(jù)變量是一些未知的、潛在的變量的線性組合,而組合方式也是未知的。同時(shí)假設(shè),潛在的變量是非高斯分布且相互獨(dú)立的,我們稱之為觀測(cè)數(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ù)和心理測(cè)量。
現(xiàn)在可以開始用你對(duì)這些算法的理解,去創(chuàng)建機(jī)器學(xué)習(xí)應(yīng)用,給大家?guī)砀玫捏w驗(yàn)。
評(píng)論
查看更多