中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
機器學(xué)習(xí)的分類與主要算法對比

重要引用: Andrew Ng Courera Machine Learning; 機器學(xué)習(xí)談起; 關(guān)于機器學(xué)習(xí)的討論; 機器學(xué)習(xí)常見算法分類匯總LeNet Homepagepluskid svm

首先讓我們瞻仰一下當(dāng)今機器學(xué)習(xí)領(lǐng)域的執(zhí)牛耳者:

這幅圖上的三人是當(dāng)今機器學(xué)習(xí)界的執(zhí)牛耳者。中間的是Geoffrey Hinton, 加拿大多倫多大學(xué)的教授,如今被聘為“Google大腦”的負責(zé)人。右邊的是Yann LeCun, 紐約大學(xué)教授,如今是Facebook人工智能實驗室的主任。而左邊的大家都很熟悉,Andrew Ng,中文名吳恩達,斯坦福大學(xué)副教授,如今也是“百度大腦”的負責(zé)人與百度首席科學(xué)家。這三位都是目前業(yè)界炙手可熱的大牛,被互聯(lián)網(wǎng)界大鱷求賢若渴的聘請,足見他們的重要性。而他們的研究方向,則全部都是機器學(xué)習(xí)的子類–深度學(xué)習(xí)。

從廣義上來說,機器學(xué)習(xí)是一種能夠賦予機器學(xué)習(xí)的能力以此讓它完成直接編程無法完成的功能的方法。但從實踐的意義上來說,機器學(xué)習(xí)是一種通過利用數(shù)據(jù),訓(xùn)練出模型,然后使用模型預(yù)測的一種方法。

機器學(xué)習(xí)無疑是當(dāng)前數(shù)據(jù)分析領(lǐng)域的一個熱點內(nèi)容。很多人在平時的工作中都或多或少會用到機器學(xué)習(xí)的算法。從范圍上來說,機器學(xué)習(xí)跟模式識別,統(tǒng)計學(xué)習(xí),數(shù)據(jù)挖掘是類似的,同時,機器學(xué)習(xí)與其他領(lǐng)域的處理技術(shù)的結(jié)合,形成了計算機視覺、語音識別、自然語言處理等交叉學(xué)科。因此,一般說數(shù)據(jù)挖掘時,可以等同于說機器學(xué)習(xí)。同時,我們平常所說的機器學(xué)習(xí)應(yīng)用,應(yīng)該是通用的,不僅僅局限在結(jié)構(gòu)化數(shù)據(jù),還有圖像,音頻等應(yīng)用。

機器學(xué)習(xí)的算法很多。很多時候困惑人們都是,很多算法是一類算法,而有些算法又是從其他算法中延伸出來的。這里,我們從兩個方面來給大家介紹,第一個方面是學(xué)習(xí)的方式,第二個方面是算法的類似性。

一、機器學(xué)習(xí)方式

根據(jù)數(shù)據(jù)類型的不同,對一個問題的建模有不同的方式。在機器學(xué)習(xí)或者人工智能領(lǐng)域,人們首先會考慮算法的學(xué)習(xí)方式。在機器學(xué)習(xí)領(lǐng)域,有幾種主要的學(xué)習(xí)方式。將算法按照學(xué)習(xí)方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據(jù)輸入數(shù)據(jù)來選擇最合適的算法來獲得最好的結(jié)果。

1.1 監(jiān)督學(xué)習(xí)

在監(jiān)督式學(xué)習(xí)下,輸入數(shù)據(jù)被稱為“訓(xùn)練數(shù)據(jù)”,每組訓(xùn)練數(shù)據(jù)有一個明確的標(biāo)識或結(jié)果,如對防垃圾郵件系統(tǒng)中“垃圾郵件”“非垃圾郵件”,對手寫數(shù)字識別中的“1“,”2“,”3“,”4“等。在建立預(yù)測模型的時候,監(jiān)督式學(xué)習(xí)建立一個學(xué)習(xí)過程,將預(yù)測結(jié)果與“訓(xùn)練數(shù)據(jù)”的實際結(jié)果進行比較,不斷的調(diào)整預(yù)測模型,直到模型的預(yù)測結(jié)果達到一個預(yù)期的準(zhǔn)確率。監(jiān)督式學(xué)習(xí)的常見應(yīng)用場景如分類問題和回歸問題。常見算法有邏輯回歸(Logistic Regression)和反向傳遞神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)

1.2 無監(jiān)督學(xué)習(xí)

在非監(jiān)督式學(xué)習(xí)中,數(shù)據(jù)并不被特別標(biāo)識,學(xué)習(xí)模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。常見的應(yīng)用場景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)以及聚類等。常見算法包括Apriori算法以及k-Means算法。

1.3 半監(jiān)督學(xué)習(xí)

在此學(xué)習(xí)方式下,輸入數(shù)據(jù)部分被標(biāo)識,部分沒有被標(biāo)識,這種學(xué)習(xí)模型可以用來進行預(yù)測,但是模型首先需要學(xué)習(xí)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理的組織數(shù)據(jù)來進行預(yù)測。應(yīng)用場景包括分類和回歸,算法包括一些對常用監(jiān)督式學(xué)習(xí)算法的延伸,這些算法首先試圖對未標(biāo)識數(shù)據(jù)進行建模,在此基礎(chǔ)上再對標(biāo)識的數(shù)據(jù)進行預(yù)測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)等。

1.4 強化學(xué)習(xí)

在這種學(xué)習(xí)模式下,輸入數(shù)據(jù)作為對模型的反饋,不像監(jiān)督模型那樣,輸入數(shù)據(jù)僅僅是作為一個檢查模型對錯的方式,在強化學(xué)習(xí)下,輸入數(shù)據(jù)直接反饋到模型,模型必須對此立刻作出調(diào)整。常見的應(yīng)用場景包括動態(tài)系統(tǒng)以及機器人控制等。常見算法包括Q-Learning以及時間差學(xué)習(xí)(Temporal difference learning)

二、機器學(xué)習(xí)常用算法

根據(jù)算法的功能和形式的類似性,我們可以把算法分類,比如說基于樹的算法,基于神經(jīng)網(wǎng)絡(luò)的算法等等。當(dāng)然,機器學(xué)習(xí)的范圍非常龐大,有些算法很難明確歸類到某一類。而對于有些分類來說,同一分類的算法可以針對不同類型的問題。這里,我們盡量把常用的算法按照最容易理解的方式進行分類。

2.1 回歸算法(有監(jiān)督學(xué)習(xí))

在大部分機器學(xué)習(xí)課程中,回歸算法都是介紹的第一個算法。原因有兩個:一.回歸算法比較簡單,介紹它可以讓人平滑地從統(tǒng)計學(xué)遷移到機器學(xué)習(xí)中。二.回歸算法是后面若干強大算法的基石,如果不理解回歸算法,無法學(xué)習(xí)那些強大的算法。回歸算法有兩個重要的子類:即線性回歸和邏輯回歸。

回歸算法是試圖采用對誤差的衡量來探索變量之間的關(guān)系的一類算法?;貧w算法是統(tǒng)計機器學(xué)習(xí)的利器。在機器學(xué)習(xí)領(lǐng)域,人們說起回歸,有時候是指一類問題,有時候是指一類算法,這一點常常會使初學(xué)者有所困惑。常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應(yīng)回歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)

線性回歸就是如何擬合出一條直線最佳匹配我所有的數(shù)據(jù)?一般使用“最小二乘法”來求解。“最小二乘法”的思想是這樣的,假設(shè)我們擬合出的直線代表數(shù)據(jù)的真實值,而觀測到的數(shù)據(jù)代表擁有誤差的值。為了盡可能減小誤差的影響,需要求解一條直線使所有誤差的平方和最小。最小二乘法將最優(yōu)問題轉(zhuǎn)化為求函數(shù)極值問題。函數(shù)極值在數(shù)學(xué)上我們一般會采用求導(dǎo)數(shù)為0的方法。但這種做法并不適合計算機,可能求解不出來,也可能計算量太大。

邏輯回歸是一種與線性回歸非常類似的算法,但是,從本質(zhì)上講,線型回歸處理的問題類型與邏輯回歸不一致。線性回歸處理的是數(shù)值問題,也就是最后預(yù)測出的結(jié)果是數(shù)字,例如房價。而邏輯回歸屬于分類算法,也就是說,邏輯回歸預(yù)測結(jié)果是離散的分類,例如判斷這封郵件是否是垃圾郵件,以及用戶是否會點擊此廣告等等。

實現(xiàn)方面的話,邏輯回歸只是對對線性回歸的計算結(jié)果加上了一個Sigmoid函數(shù),將數(shù)值結(jié)果轉(zhuǎn)化為了0到1之間的概率(Sigmoid函數(shù)的圖像一般來說并不直觀,你只需要理解對數(shù)值越大,函數(shù)越逼近1,數(shù)值越小,函數(shù)越逼近0),接著我們根據(jù)這個概率可以做預(yù)測,例如概率大于0.5,則這封郵件就是垃圾郵件,或者腫瘤是否是惡性的等等。從直觀上來說,邏輯回歸是畫出了一條分類線,邏輯回歸算法劃出的分類線基本都是線性的(也有劃出非線性分類線的邏輯回歸,不過那樣的模型在處理數(shù)據(jù)量較大的時候效率會很低)。

2.2 正則化方法

正則化方法是其他算法(通常是回歸算法)的延伸,根據(jù)算法的復(fù)雜度對算法進行調(diào)整。正則化方法通常對簡單模型予以獎勵而對復(fù)雜算法予以懲罰。常見的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及彈性網(wǎng)絡(luò)(Elastic Net)。

2.3 基于實例的算法

基于實例的算法常常用來對決策問題建立模型,這樣的模型常常先選取一批樣本數(shù)據(jù),然后根據(jù)某些近似性把新數(shù)據(jù)與樣本數(shù)據(jù)進行比較。通過這種方式來尋找最佳的匹配。因此,基于實例的算法常常也被稱為“贏家通吃”學(xué)習(xí)或者“基于記憶的學(xué)習(xí)”。常見的算法包括 k-Nearest Neighbor(KNN), 學(xué)習(xí)矢量量化(Learning Vector Quantization, LVQ),以及自組織映射算法(Self-Organizing Map , SOM)

2.4 決策樹算法

決策樹算法根據(jù)數(shù)據(jù)的屬性采用樹狀結(jié)構(gòu)建立決策模型, 決策樹模型常常用來解決分類和回歸問題。常見的算法包括:分類及回歸樹(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 隨機森林(Random Forest), 多元自適應(yīng)回歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM)

一般的機器學(xué)習(xí)模型至少考慮兩個量:一個是因變量,也就是我們希望預(yù)測的結(jié)果,在這個例子里就是小Y遲到與否的判斷。另一個是自變量,也就是用來預(yù)測小Y是否遲到的量。假設(shè)我把時間作為自變量,譬如我發(fā)現(xiàn)小Y所有遲到的日子基本都是星期五,而在非星期五情況下他基本不遲到。于是我可以建立一個模型,來模擬小Y遲到與否跟日子是否是星期五的概率。見下圖:

這樣的圖就是一個最簡單的機器學(xué)習(xí)模型,稱之為決策樹。

當(dāng)我們考慮的自變量只有一個時,情況較為簡單。如果把我們的自變量再增加一個。例如小Y遲到的部分情況時是在他開車過來的時候(你可以理解為他開車水平較臭,或者路較堵)。于是我可以關(guān)聯(lián)考慮這些信息。建立一個更復(fù)雜的模型,這個模型包含兩個自變量與一個因變量。再更復(fù)雜一點,小Y的遲到跟天氣也有一定的原因,例如下雨的時候,這時候我需要考慮三個自變量。

如果我希望能夠預(yù)測小Y遲到的具體時間,我可以把他每次遲到的時間跟雨量的大小以及前面考慮的自變量統(tǒng)一建立一個模型。于是我的模型可以預(yù)測值,例如他大概會遲到幾分鐘。這樣可以幫助我更好的規(guī)劃我出門的時間。在這樣的情況下,決策樹就無法很好地支撐了,因為決策樹只能預(yù)測離散值。我們可以用線型回歸方法建立這個模型。

如果我把這些建立模型的過程交給電腦。比如把所有的自變量和因變量輸入,然后讓計算機幫我生成一個模型,同時讓計算機根據(jù)我當(dāng)前的情況,給出我是否需要遲出門,需要遲幾分鐘的建議。那么計算機執(zhí)行這些輔助決策的過程就是機器學(xué)習(xí)的過程。

2.5 貝葉斯方法

貝葉斯方法算法是基于貝葉斯定理的一類算法,主要用來解決分類和回歸問題。常見算法包括:樸素貝葉斯算法,平均單依賴估計(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。

2.6 基于核的算法(有監(jiān)督學(xué)習(xí))

基于核的算法中最著名的莫過于支持向量機(SVM)了。 基于核的算法把輸入數(shù)據(jù)映射到一個高階的向量空間, 在這些高階向量空間里, 有些分類或者回歸問題能夠更容易的解決。 常見的基于核的算法包括:支持向量機(Support Vector Machine, SVM), 徑向基函數(shù)(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等。接下來將重點介紹一下SVM

· 支持向量機 SVM

支持向量機算法是誕生于統(tǒng)計學(xué)習(xí)界,同時在機器學(xué)習(xí)界大放光彩的經(jīng)典算法。

支持向量機算法從某種意義上來說是邏輯回歸算法的強化:通過給予邏輯回歸算法更嚴格的優(yōu)化條件,支持向量機算法可以獲得比邏輯回歸更好的分類界線。但是如果沒有某類函數(shù)技術(shù),則支持向量機算法最多算是一種更好的線性分類技術(shù)。

但是,通過跟高斯“核”的結(jié)合,支持向量機可以表達出非常復(fù)雜的分類界線,從而達成很好的的分類效果。“核”事實上就是一種特殊的函數(shù),最典型的特征就是可以將低維的空間映射到高維的空間。

SVM方法是通過一個非線性映射p,把樣本空間映射到一個高維乃至無窮維的特征空間中(Hilber空間),使得在原來的樣本空間中非線性可分的問題轉(zhuǎn)化為在特征空間中的線性可分的問題。升維,就是把樣本向高維空間做映射,一般情況下這會增加計算的復(fù)雜性,甚至?xí)稹熬S數(shù)災(zāi)難”,因而人們很少問津。但是作為分類、回歸等問題來說,很可能在低維樣本空間無法線性處理的樣本集,在高維特征空間中卻可以通過一個線性超平面實現(xiàn)線性劃分(或回歸)。一般的升維都會帶來計算的復(fù)雜化,SVM方法巧妙地解決了這個難題:應(yīng)用核函數(shù)的展開定理,就不需要知道非線性映射的顯式表達式;由于是在高維特征 空間中建立線性學(xué)習(xí)機,所以與線性模型相比,不但幾乎不增加計算的復(fù)雜性,而且在某種程度上避免了“維數(shù)災(zāi)難”.這一切要歸功于核函數(shù)的展開和計算理論。

選擇不同的核函數(shù),可以生成不同的SVM,常用的核函數(shù)有以下4種:
- 性核函數(shù)K(x,y)=x·y
- 多項式核函數(shù)K(x,y)=[(x·y)+1]d
- 向基函數(shù)K(x,y)=exp(-|x-y|^2/d^2)
- 層神經(jīng)網(wǎng)絡(luò)核函數(shù)K(x,y)=tanh(a(x·y)+b)

如下圖所示,我們?nèi)绾卧诙S平面劃分出一個圓形的分類界線?在二維平面可能會很困難,但是通過“核”可以將二維空間映射到三維空間,然后使用一個線性平面就可以達成類似效果。也就是說,二維平面劃分出的非線性分類界線可以等價于三維平面的線性分類界線。于是,我們可以通過在三維空間中進行簡單的線性劃分就可以達到在二維平面中的非線性劃分效果。

播放GIF

支持向量機是一種數(shù)學(xué)成分很濃的機器學(xué)習(xí)算法(相對的,神經(jīng)網(wǎng)絡(luò)則有生物科學(xué)成分)。在算法的核心步驟中,有一步證明,即將數(shù)據(jù)從低維映射到高維不會帶來最后計算復(fù)雜性的提升。于是,通過支持向量機算法,既可以保持計算效率,又可以獲得非常好的分類效果。因此支持向量機在90年代后期一直占據(jù)著機器學(xué)習(xí)中最核心的地位,基本取代了神經(jīng)網(wǎng)絡(luò)算法。直到現(xiàn)在神經(jīng)網(wǎng)絡(luò)借著深度學(xué)習(xí)重新興起,兩者之間才又發(fā)生了微妙的平衡轉(zhuǎn)變。

2.7 聚類算法(無監(jiān)督學(xué)習(xí))

聚類,就像回歸一樣,有時候人們描述的是一類問題,有時候描述的是一類算法。聚類算法通常按照中心點或者分層的方式對輸入數(shù)據(jù)進行歸并。簡單來說,聚類算法就是計算種群中的距離,根據(jù)距離的遠近將數(shù)據(jù)劃分為多個族群,所以的聚類算法都試圖找到數(shù)據(jù)的內(nèi)在結(jié)構(gòu),以便按照最大的共同點將數(shù)據(jù)進行歸類。常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。

2.8 關(guān)聯(lián)規(guī)則學(xué)習(xí)

關(guān)聯(lián)規(guī)則學(xué)習(xí)通過尋找最能夠解釋數(shù)據(jù)變量之間關(guān)系的規(guī)則,來找出大量多元數(shù)據(jù)集中有用的關(guān)聯(lián)規(guī)則。常見算法包括 Apriori算法和Eclat算法等。

2.9 人工神經(jīng)網(wǎng)絡(luò) ANN(有監(jiān)督學(xué)習(xí))

神經(jīng)網(wǎng)絡(luò)(也稱之為人工神經(jīng)網(wǎng)絡(luò),ANN)算法是80年代機器學(xué)習(xí)界非常流行的算法,不過在90年代中途衰落。現(xiàn)在,攜著“深度學(xué)習(xí)”之勢,神經(jīng)網(wǎng)絡(luò)重裝歸來,重新成為最強大的機器學(xué)習(xí)算法之一。

神經(jīng)網(wǎng)絡(luò)的誕生起源于對大腦工作機理的研究。早期生物界學(xué)者們使用神經(jīng)網(wǎng)絡(luò)來模擬大腦。機器學(xué)習(xí)的學(xué)者們使用神經(jīng)網(wǎng)絡(luò)進行機器學(xué)習(xí)的實驗,發(fā)現(xiàn)在視覺與語音的識別上效果都相當(dāng)好。在BP算法(加速神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程的數(shù)值算法)誕生以后,神經(jīng)網(wǎng)絡(luò)的發(fā)展進入了一個熱潮。BP算法的發(fā)明人之一是前面介紹的機器學(xué)習(xí)大牛Geoffrey Hinton。

人工神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)的一個龐大的分支,有幾百種不同的算法,通常用于解決分類和回歸問題。(其中深度學(xué)習(xí)就是其中的一類算法,我們會單獨討論),重要的人工神經(jīng)網(wǎng)絡(luò)算法包括:感知器神經(jīng)網(wǎng)絡(luò)(Perceptron Neural Network), 反向傳遞(Back Propagation),Hopfield網(wǎng)絡(luò),自組織映射(Self-Organizing Map, SOM)。學(xué)習(xí)矢量量化(Learning Vector Quantization, LVQ)

具體說來,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機理是什么?簡單來說,就是分解與整合。在著名的Hubel-Wiesel試驗中,學(xué)者們研究貓的視覺分析機理是這樣的。

比方說,一個正方形,分解為四個折線進入視覺處理的下一層中。四個神經(jīng)元分別處理一個折線。每個折線再繼續(xù)被分解為兩條直線,每條直線再被分解為黑白兩個面。于是,一個復(fù)雜的圖像變成了大量的細節(jié)進入神經(jīng)元,神經(jīng)元處理以后再進行整合,最后得出了看到的是正方形的結(jié)論。這就是大腦視覺識別的機理,也是神經(jīng)網(wǎng)絡(luò)工作的機理。

讓我們看一個簡單的神經(jīng)網(wǎng)絡(luò)的邏輯架構(gòu)。在這個網(wǎng)絡(luò)中,分成輸入層,隱藏層,和輸出層。輸入層負責(zé)接收信號,隱藏層負責(zé)對數(shù)據(jù)的分解與處理,最后的結(jié)果被整合到輸出層。每層中的一個圓代表一個處理單元,可以認為是模擬了一個神經(jīng)元,若干個處理單元組成了一個層,若干個層再組成了一個網(wǎng)絡(luò),也就是”神經(jīng)網(wǎng)絡(luò)”。

上圖描述的是一個目前研究最為成熟Shallow 結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)(只含有單層隱藏層神經(jīng)元的結(jié)構(gòu))。第一層為輸入層 (input layer ),第二層稱為隱藏層 ( hidden layer ),最后一層為輸出層( output layer )。神經(jīng)元之間都是由低層出發(fā),終止于高層神經(jīng)元的一條有向邊進行連接,每條邊都有自己的權(quán)重。每個神經(jīng)元都是一個計算單元,如在Feed-forward neural network 中,除輸入層神經(jīng)元外,每個神經(jīng)元為一個計算單元,可以通過一個計算函數(shù) f 來表示,函數(shù)的具體形式可以自己定義,現(xiàn)在用的較多的是 感知器計算神經(jīng)元,如果你對感知器有所了解的話,理解起來會容易很多。 可以計算此時神經(jīng)元所具有的能量值,當(dāng)該值超過一定閥值的時候神經(jīng)元的狀態(tài)就會發(fā)生改變,神經(jīng)元只有兩種狀態(tài),激活或未激活。在實際的人工神經(jīng)網(wǎng)絡(luò)中,一般是用一種概率的方式去表示神經(jīng)元是否處于激活狀態(tài),可以用 h(f) 來表示,f 代表神經(jīng)元的能量值,h(f) 代表該能量值使得神經(jīng)元的狀態(tài)發(fā)生改變的概率有多大,能量值越大,處于激活狀態(tài)的概率就越高。到這部分你已經(jīng)接觸到了關(guān)于神經(jīng)網(wǎng)絡(luò)的幾個基本術(shù)語,下面用更加規(guī)范的符號來表示,神經(jīng)元的激活值(activations) f ,表示計算神經(jīng)元的能量值, 神經(jīng)元的激活狀態(tài) h(f) ,h 表示激活函數(shù)。


在神經(jīng)網(wǎng)絡(luò)中,每個處理單元事實上就是一個邏輯回歸模型,邏輯回歸模型接收上層的輸入,把模型的預(yù)測結(jié)果作為輸出傳輸?shù)较乱粋€層次。通過這樣的過程,神經(jīng)網(wǎng)絡(luò)可以完成非常復(fù)雜的非線性分類。

下圖會演示神經(jīng)網(wǎng)絡(luò)在圖像識別領(lǐng)域的一個著名應(yīng)用,這個程序叫做LeNet,是一個基于多個隱層構(gòu)建的神經(jīng)網(wǎng)絡(luò)。通過LeNet可以識別多種手寫數(shù)字,并且達到很高的識別精度與擁有較好的魯棒性。

播放GIF

右下方的方形中顯示的是輸入計算機的圖像,方形上方的紅色字樣“answer”后面顯示的是計算機的輸出。左邊的三條豎直的圖像列顯示的是神經(jīng)網(wǎng)絡(luò)中三個隱藏層的輸出,可以看出,隨著層次的不斷深入,越深的層次處理的細節(jié)越低,例如層3基本處理的都已經(jīng)是線的細節(jié)了。LeNet的發(fā)明人就是前文介紹過的機器學(xué)習(xí)的大牛Yann LeCun。

大約二三十年前,Neural Network曾經(jīng)是ML領(lǐng)域特別火熱的一個方向,但是后來確慢慢淡出了,進入90年代,神經(jīng)網(wǎng)絡(luò)的發(fā)展進入了一個瓶頸期。其主要原因是盡管有BP算法的加速,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程仍然很困難。因此90年代后期支持向量機(SVM)算法取代了神經(jīng)網(wǎng)絡(luò)的地位。

原因包括以下幾個方面:
1. 比較容易過訓(xùn)練,參數(shù)比較難確定;
2. 訓(xùn)練速度比較慢,在層次比較少(小于等于3)的情況下效果并不比其它方法更優(yōu);

所以中間有大約20多年的時間,神經(jīng)網(wǎng)絡(luò)被關(guān)注很少,這段時間基本上由SVM和Boosting算法主導(dǎo)。但是,Hinton堅持下來并最終(和Bengio、Yann.lecun等)提成了一個實際可行的Deep Learning框架。

2.10 深度學(xué)習(xí)

雖然深度學(xué)習(xí)這四字聽起來頗為高大上,但其理念卻非常簡單,就是傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)發(fā)展到了多隱藏層的情況。

在上文介紹過,自從90年代以后,神經(jīng)網(wǎng)絡(luò)已經(jīng)消寂了一段時間。但是BP算法的發(fā)明人Geoffrey Hinton一直沒有放棄對神經(jīng)網(wǎng)絡(luò)的研究。由于神經(jīng)網(wǎng)絡(luò)在隱藏層擴大到兩個以上,其訓(xùn)練速度就會非常慢,因此實用性一直低于支持向量機。2006年,Geoffrey Hinton在科學(xué)雜志《Science》上發(fā)表了一篇文章,論證了兩個觀點:

1.多隱層的神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的特征學(xué)習(xí)能力,學(xué)習(xí)得到的特征對數(shù)據(jù)有更本質(zhì)的刻畫,從而有利于可視化或分類;
2.深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練上的難度,可以通過“逐層初始化” 來有效克服。

通過這樣的發(fā)現(xiàn),不僅解決了神經(jīng)網(wǎng)絡(luò)在計算上的難度,同時也說明了深層神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)上的優(yōu)異性。從此,神經(jīng)網(wǎng)絡(luò)重新成為了機器學(xué)習(xí)界中的主流強大學(xué)習(xí)技術(shù)。同時,具有多個隱藏層的神經(jīng)網(wǎng)絡(luò)被稱為深度神經(jīng)網(wǎng)絡(luò),基于深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)研究稱之為深度學(xué)習(xí)。

由于深度學(xué)習(xí)的重要性質(zhì),在各方面都取得極大的關(guān)注,按照時間軸排序,有以下四個標(biāo)志性事件值得一說:

1. 2012年6月,《紐約時報》披露了Google Brain項目,這個項目是由Andrew Ng和Map-Reduce發(fā)明人Jeff Dean共同主導(dǎo),用16000個CPU Core的并行計算平臺訓(xùn)練一種稱為“深層神經(jīng)網(wǎng)絡(luò)”的機器學(xué)習(xí)模型,在語音識別和圖像識別等領(lǐng)域獲得了巨大的成功。Andrew Ng就是文章開始所介紹的機器學(xué)習(xí)的大牛。
2. 2012年11月,微軟在中國天津的一次活動上公開演示了一個全自動的同聲傳譯系統(tǒng),講演者用英文演講,后臺的計算機一氣呵成自動完成語音識別、英中機器翻譯,以及中文語音合成,效果非常流暢,其中支撐的關(guān)鍵技術(shù)是深度學(xué)習(xí);
3. 2013年1月,在百度的年會上,創(chuàng)始人兼CEO李彥宏高調(diào)宣布要成立百度研究院,其中第一個重點方向就是深度學(xué)習(xí),并為此而成立深度學(xué)習(xí)研究院(IDL)。
4. 2013年4月,《麻省理工學(xué)院技術(shù)評論》雜志將深度學(xué)習(xí)列為2013年十大突破性技術(shù)(Breakthrough Technology)之首。

神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域領(lǐng)軍者Hinton在2006年提出了神經(jīng)網(wǎng)絡(luò)Deep Learning算法,使神經(jīng)網(wǎng)絡(luò)的能力大大提高,向支持向量機發(fā)出挑戰(zhàn)。Deep Learning假設(shè)神經(jīng)網(wǎng)絡(luò)是多層的,首先用RestrictedBoltzmann Machine(非監(jiān)督學(xué)習(xí))學(xué)習(xí)網(wǎng)絡(luò)的結(jié)構(gòu),然后再通過Back Propagation(監(jiān)督學(xué)習(xí))學(xué)習(xí)網(wǎng)絡(luò)的權(quán)值。

深度學(xué)習(xí)算法是對人工神經(jīng)網(wǎng)絡(luò)的發(fā)展。 在近期贏得了很多關(guān)注, 深度學(xué)習(xí)試圖建立大得多也復(fù)雜得多的神經(jīng)網(wǎng)絡(luò)。很多深度學(xué)習(xí)的算法是半監(jiān)督式學(xué)習(xí)算法,用來處理存在少量未標(biāo)識數(shù)據(jù)的大數(shù)據(jù)集。常見的深度學(xué)習(xí)算法包括:受限波爾茲曼機(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網(wǎng)絡(luò)(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders)。

總之,deep learning能夠得到更好地表示數(shù)據(jù)的feature,同時由于模型的層次、參數(shù)很多,capacity足夠,因此,模型有能力表示大規(guī)模數(shù)據(jù),所以對于圖像、語音這種特征不明顯(需要手工設(shè)計且很多沒有直觀物理含義)的問題,能夠在大規(guī)模訓(xùn)練數(shù)據(jù)上取得更好的效果。此外,從模式識別特征和分類器的角 度,deep learning框架將feature和分類器結(jié)合到一個框架中,用數(shù)據(jù)去學(xué)習(xí)feature,在使用中減少了手工設(shè)計feature的巨大工作量(這是目前工業(yè)界工程師付出努力最多的方面),因此,不僅僅效果可以更好,而且,使用起來也有很多方便之處。


Deep Learning與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)異同:

  • 相同點: Deep Learning采用了神經(jīng)網(wǎng)絡(luò)相似的分層結(jié)構(gòu),系統(tǒng)由包括輸入層、隱層(多層)、輸出層組成的多層網(wǎng)絡(luò),只有相鄰層節(jié)點之間有連接,同一層以及跨層節(jié)點之間相互無連接,每一層可以看作是一個Logistic Regression模型;這種分層結(jié)構(gòu),是比較接近人類大腦的結(jié)構(gòu)的。

  • 不同點:而為了克服神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的問題,DL采用了與神經(jīng)網(wǎng)絡(luò)很不同的訓(xùn)練機制。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中,采用的是Back Propagation的方式進行,簡單來講就是采用迭代的算法來訓(xùn)練整個網(wǎng)絡(luò),隨機設(shè)定初值,計算當(dāng)前網(wǎng)絡(luò)的輸出,然后根據(jù)當(dāng)前輸出和label之間的 差去改變前面各層的參數(shù),直到收斂(整體是一個梯度下降法)。而DeepLearning整體上是一個Layer-Wise的訓(xùn)練機制。這樣做的原因是因為,如果采用Back Propagation的機制,對于一個Deep Network(7層以上),殘差傳播到最前面的層已經(jīng)變得太小,出現(xiàn)所謂的Gradient Diffusion。

2.11 降低維度算法(無監(jiān)督學(xué)習(xí))

聚類算法一樣,降低維度算法試圖分析數(shù)據(jù)的內(nèi)在結(jié)構(gòu),不過降低維度算法是以非監(jiān)督學(xué)習(xí)的方式試圖利用較少的信息來歸納或者解釋數(shù)據(jù)。這類算法可以用于高維數(shù)據(jù)的可視化或者用來簡化數(shù)據(jù)以便監(jiān)督式學(xué)習(xí)使用。常見的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回歸(Partial Least Square Regression,PLS), Sammon映射,多維尺度(Multi-Dimensional Scaling, MDS), 投影追蹤(Projection Pursuit)等。

其主要特征是將數(shù)據(jù)從高維降低到低維層次。在這里,維度其實表示的是數(shù)據(jù)的特征量的大小,例如,房價包含房子的長、寬、面積與房間數(shù)量四個特征,也就是維度為4維的數(shù)據(jù)??梢钥闯鰜?,長與寬事實上與面積表示的信息重疊了,例如面積=長 × 寬。通過降維算法我們就可以去除冗余信息,將特征減少為面積與房間數(shù)量兩個特征,即從4維的數(shù)據(jù)壓縮到2維。于是我們將數(shù)據(jù)從高維降低到低維,不僅利于表示,同時在計算上也能帶來加速。

剛才說的降維過程中減少的維度屬于肉眼可視的層次,同時壓縮也不會帶來信息的損失(因為信息冗余了)。如果肉眼不可視,或者沒有冗余的特征,降維算法也能工作,不過這樣會帶來一些信息的損失。但是,降維算法可以從數(shù)學(xué)上證明,從高維壓縮到的低維中最大程度地保留了數(shù)據(jù)的信息。因此,使用降維算法仍然有很多的好處。

降維算法的主要作用是壓縮數(shù)據(jù)與提升機器學(xué)習(xí)其他算法的效率。通過降維算法,可以將具有幾千個特征的數(shù)據(jù)壓縮至若干個特征。另外,降維算法的另一個好處是數(shù)據(jù)的可視化,例如將5維的數(shù)據(jù)壓縮至2維,然后可以用二維平面來可視。降維算法的主要代表是PCA算法(即主成分分析算法)。

2.12 集成算法

集成算法用一些相對較弱的學(xué)習(xí)模型獨立地就同樣的樣本進行訓(xùn)練,然后把結(jié)果整合起來進行整體預(yù)測。集成算法的主要難點在于究竟集成哪些獨立的較弱的學(xué)習(xí)模型以及如何把學(xué)習(xí)結(jié)果整合起來。這是一類非常強大的算法,同時也非常流行。常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(Gradient Boosting Machine, GBM),隨機森林(Random Forest)。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
重磅|詳細解讀神經(jīng)網(wǎng)絡(luò)十大誤解,再也不會弄錯它的工作原理
算法之“算法”:所有機器學(xué)習(xí)算法都可以表示為神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)入門
神經(jīng)網(wǎng)絡(luò)知識體系總結(jié)
周志華《機器學(xué)習(xí)》西瓜書精煉版筆記來了!16 章完整版
支持向量機及其應(yīng)用
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服