自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

請別再把深度學(xué)習(xí)與機(jī)器學(xué)習(xí)混為一談了!

譯文
人工智能 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)
雖說機(jī)器學(xué)習(xí)和深度學(xué)習(xí)都能發(fā)現(xiàn)數(shù)據(jù)中的模式與特征,但是它們所涉及到的技術(shù)和具體的應(yīng)用場景卻截然不同。

[[313942]]

【51CTO.com快譯】眾所周知,雖然同屬于人工智能的范疇,但是深度學(xué)習(xí)是一種特殊的機(jī)器學(xué)習(xí)形式。從流程上說,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)都是從運(yùn)用測試數(shù)據(jù)來訓(xùn)練某個模型開始,通過一系列的優(yōu)化過程,進(jìn)而找到最適合模型的數(shù)據(jù)權(quán)重。顯然,這兩種方法都可以處理數(shù)值(回歸)和非數(shù)值(分類)的問題,只是在對象識別和語言翻譯等應(yīng)用領(lǐng)域,深度學(xué)習(xí)模型往往比機(jī)器學(xué)習(xí)模型更加適用。

細(xì)說機(jī)器學(xué)習(xí)

機(jī)器學(xué)習(xí)算法通常分為:監(jiān)督(用各種答案來標(biāo)注訓(xùn)練數(shù)據(jù))和非監(jiān)督(任何可能存在的標(biāo)簽都不會被顯示在訓(xùn)練算法中)兩種。

監(jiān)督式機(jī)器學(xué)習(xí)又可以進(jìn)一步被分為:分類(預(yù)測諸如:抵押貸款支付逾期的概率等非數(shù)字性的答案)和回歸(預(yù)測諸如:某種網(wǎng)紅商品的銷售量等數(shù)字性的答案)。

無監(jiān)督學(xué)習(xí)則可以進(jìn)一步分為:聚類(查找相似對象組,如:跑步鞋、步行鞋和禮服鞋)、關(guān)聯(lián)(查找對象的共同邏輯,如:咖啡和奶油)、以及降維(進(jìn)行投射、特征選擇與提取)。

分類算法

分類問題屬于監(jiān)督式學(xué)習(xí)范疇。它需要在兩個或多個類之間進(jìn)行選擇,并最終為每一個類分配概率。最常見的算法包括:樸素貝葉斯、決策樹、邏輯回歸、k近鄰和支持向量機(jī)(SVM)。您還可以使用諸如:隨機(jī)森林等其他集成方法(模型的組合),以及AdaBoost和XGBoost之類的增強(qiáng)方法。

回歸算法

回歸問題也屬于監(jiān)督式學(xué)習(xí)范疇。它要求模型能夠預(yù)測出一個數(shù)字。其中最簡單且最快的算法是線性(最小二乘)回歸。不過它通常只能給出一個不夠準(zhǔn)確的結(jié)果。其他常見的機(jī)器學(xué)習(xí)回歸算法(除了神經(jīng)網(wǎng)絡(luò))還包括:樸素貝葉斯、決策樹、k近鄰、LVQ(學(xué)習(xí)矢量量化)、LARS(最小角回歸)、Lasso、彈性網(wǎng)絡(luò)、隨機(jī)森林、AdaBoost和XGBoost等。顯然,在回歸和分類的機(jī)器學(xué)習(xí)算法之間有一定的重疊度。

聚類算法

聚類問題屬于無監(jiān)督式學(xué)習(xí)范疇。它要求模型找出相似的數(shù)據(jù)點(diǎn)組。其中最流行的算法是K-Means聚類。其他常見的算法還包括:均值漂移聚類、DBSCAN(基于密度的帶噪聲應(yīng)用空間聚類)、GMM(高斯混合模型)和HAC(凝聚層級聚類)。

降維算法

降維問題也屬于無監(jiān)督式學(xué)習(xí)范疇。它要求模型刪除或合并那些對結(jié)果影響很小或沒有影響的變量。它通常與分類或回歸結(jié)合起來使用。常見降維算法包括:刪除缺失值較多的變量、刪除低方差的變量、決策樹、隨機(jī)森林、刪除或合并高相關(guān)性的變量、后向特征消除、前向特征選擇、因子分析、PCA(主成分分析)等。

各種優(yōu)化方法

我們需要通過訓(xùn)練和評估,優(yōu)化參數(shù)的權(quán)重,來找到一組最接近真實(shí)情況的數(shù)值,進(jìn)而將監(jiān)督式學(xué)習(xí)算法最終轉(zhuǎn)化為恰當(dāng)?shù)哪P?。在?shí)際應(yīng)用中,這些算法的優(yōu)化常常依賴于那些陡降的變體,例如:隨機(jī)梯度下降,它本質(zhì)上是在隨機(jī)起點(diǎn)上執(zhí)行多次陡降(steepest descent)。

而對于隨機(jī)梯度下降法的常見改進(jìn)包括:根據(jù)動量修正梯度的方向因素,或調(diào)整從一個數(shù)據(jù)(或稱為epoch或batch)到下一個數(shù)據(jù)學(xué)習(xí)率的進(jìn)展。

數(shù)據(jù)清理

為了讓雜亂無章的數(shù)據(jù)能夠?yàn)闄C(jī)器學(xué)習(xí)所用,我們必須對數(shù)據(jù)進(jìn)行全面的過濾,其中包括:

1.初次查看數(shù)據(jù),排除那些有大量丟失數(shù)據(jù)的列。

2.再次查看數(shù)據(jù),選擇需要進(jìn)行預(yù)測的列(即,特征選擇)。這也是您在迭代時可能希望更改的內(nèi)容。

3.在其余列中排除那些缺少數(shù)據(jù)的行。

4.糾正明顯的拼寫錯誤,合并相應(yīng)的答案。例如:U.S.、US、USA和America都應(yīng)該被合并為一個類別。

5.排除具有超出范圍數(shù)據(jù)的行。例如:如果您正在分析紐約市內(nèi)出租車的出行情況,那么您需要過濾掉那些開到該城市區(qū)域邊界之外的地理坐標(biāo)行。

當(dāng)然,您也可以酌情增加其他步驟,這主要取決于您收集到的數(shù)據(jù)類型。您甚至可以在機(jī)器學(xué)習(xí)管道(請參見-https://www.infoworld.com/article/3198252/data-in-intelligence-out-machine-learning-pipelines-demystified.html)中設(shè)置一些數(shù)據(jù)清理的步驟,以便按需進(jìn)行修改與復(fù)用。

數(shù)據(jù)編碼和標(biāo)準(zhǔn)化

為了對數(shù)據(jù)進(jìn)行分類,您需要將文本標(biāo)簽編碼為另一種形式。常見的有如下兩種:

一種是label編碼,它將每一個文本標(biāo)簽值都替換為一個數(shù)字。另一種是one-hot編碼,它將每一個文本標(biāo)簽值都替換為帶有二進(jìn)制值(1或0)的列。一般來說,由于label編碼有時會使機(jī)器學(xué)習(xí)算法誤認(rèn)為:被編碼的列已經(jīng)是一個有序列了,因此我們首選采用one-hot編碼。

為了讓數(shù)值數(shù)據(jù)適用于機(jī)器回歸,我們通常需要對數(shù)據(jù)進(jìn)行規(guī)范化。否則,更大范圍的數(shù)字可能會主導(dǎo)特征向量之間的歐氏距離(Euclidian distance,它是在m維空間中兩個點(diǎn)之間的真實(shí)距離),而該影響可能會以其他字段為代價被放大,進(jìn)而導(dǎo)致陡降的優(yōu)化難以收斂。目前,針對機(jī)器學(xué)習(xí)的數(shù)據(jù)規(guī)范化與標(biāo)準(zhǔn)化有著多種方法,其中包括:最小值標(biāo)準(zhǔn)化、均值標(biāo)準(zhǔn)化、以及按單位長度擴(kuò)展等。有時該過程也被稱為特性擴(kuò)展(https://en.wikipedia.org/wiki/Feature_scaling)。

特征工程

特征是指被觀察到的現(xiàn)象的可測量特性。“特征”的概念通常與解釋變量相關(guān)。此處的解釋變量,經(jīng)常被用于諸如線性回歸之類的統(tǒng)計技術(shù)。而特征向量則會將單行的所有特征,組合成一個數(shù)值型的向量。

選擇特征的巧妙之處在于是否能選出解釋問題的最小獨(dú)立變量集。如果兩個變量高度相關(guān),則要么將它們合并成為一個單獨(dú)的特征,要么去掉其中的一個。有時候,我們在進(jìn)行主成分分析時,可以把相關(guān)的變量轉(zhuǎn)換成一組線性無關(guān)的變量。

在實(shí)際應(yīng)用中,我們能夠通過簡單的方式,來構(gòu)造新的特征或減少特征向量的維數(shù)。例如,用死亡年份減去出生年份,就得到了死亡年齡,這是針對壽命和死亡率分析的主要自變量。當(dāng)然,在其他情況下,特性的構(gòu)建并非如此淺顯。

分割數(shù)據(jù)

監(jiān)督式機(jī)器學(xué)習(xí)的通常做法是:將數(shù)據(jù)集分成各個子集進(jìn)行訓(xùn)練、驗(yàn)證和測試。其中的一種工作方式是:將80%的數(shù)據(jù)分配給訓(xùn)練數(shù)據(jù)集,而將其他的10%分配給驗(yàn)證和測試數(shù)據(jù)集。目前,大部分訓(xùn)練都是針對數(shù)據(jù)集進(jìn)行的。在每一個epoch結(jié)束時,我們將針對驗(yàn)證數(shù)據(jù)集進(jìn)行預(yù)測。

那些驗(yàn)證數(shù)據(jù)集中的錯誤,不但可以被用于識別停止的條件,并驅(qū)動超級參數(shù)的調(diào)優(yōu),而且可以幫助您確定目標(biāo)模型是否對訓(xùn)練數(shù)據(jù)進(jìn)行了過度的擬合。

對于測試數(shù)據(jù)集的預(yù)測通常是在最終模型上完成的。如果某個測試數(shù)據(jù)集從未被用于訓(xùn)練,我們有時則稱之為holdout數(shù)據(jù)集。

作為其他常見的分割數(shù)據(jù)方案,交叉驗(yàn)證能夠重復(fù)地將整個數(shù)據(jù)集分割成一套訓(xùn)練數(shù)據(jù)集,以及一套驗(yàn)證數(shù)據(jù)集。

機(jī)器學(xué)習(xí)庫

在Python中,Spark MLlib(https://www.infoworld.com/article/3141605/review-spark-lights-up-machine-learning.html)和Scikit-learn(https://www.infoworld.com/article/3158509/review-scikit-learn-shines-for-simpler-machine-learning.html)都是機(jī)器學(xué)習(xí)庫的最佳選擇。在R語言中,常見的機(jī)器學(xué)習(xí)包有CARAT、randomForest、e1071和KernLab。而在Java中,您可以用到Java-ML、RapidMiner和Weka。

細(xì)說深度學(xué)習(xí)

作為機(jī)器學(xué)習(xí)的一種應(yīng)用形式,深度學(xué)習(xí)在被訓(xùn)練模型的輸入和輸出之間存在著不止一個隱藏層。在大多數(shù)討論場合中,深度學(xué)習(xí)意味著使用深度技術(shù)的神經(jīng)網(wǎng)絡(luò)。當(dāng)然,除了神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)還會使用一些算法來實(shí)現(xiàn)其他類型的隱藏層。

“人工”神經(jīng)網(wǎng)絡(luò)的概念由來已久,它是由相互連接的閾值開關(guān),構(gòu)成了人工神經(jīng)元網(wǎng)絡(luò),可以像動物大腦和神經(jīng)系統(tǒng)(如:視網(wǎng)膜)那樣學(xué)習(xí)識別模式。

Backprop

當(dāng)兩個神經(jīng)元在訓(xùn)練中同時活躍(active)時,學(xué)習(xí)基本上是通過加強(qiáng)兩個神經(jīng)元之間的連接來實(shí)現(xiàn)的。在當(dāng)前的神經(jīng)網(wǎng)絡(luò)軟件中,最常見的方法是:使用一種稱為誤差反向傳播(或稱backprop、BP)的規(guī)則,來增加神經(jīng)元之間連接的權(quán)值。

人工神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元

每一個神經(jīng)元都擁有一個傳播函數(shù)。該函數(shù)可通過加權(quán)來轉(zhuǎn)換連接神經(jīng)元的輸出。傳播函數(shù)將輸出傳遞給激活函數(shù),激活函數(shù)在輸入超過閾值時就會被觸發(fā)。

神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)

在上個世紀(jì)40、50年代,人工神經(jīng)元普遍使用的是被稱為感知器(perceptrons)的一步式激活函數(shù)。如今的神經(jīng)網(wǎng)絡(luò)引入了諸如:邏輯函數(shù)、s形函數(shù)(sigmoid function)、雙曲正切函數(shù)、修正線性單元(ReLU)等平滑激活函數(shù)。其中,ReLU雖然存在著“在學(xué)習(xí)率設(shè)置過高時,神經(jīng)元會在訓(xùn)練中‘死亡’”的問題,但是它仍然是快速收斂的最佳選擇。

激活函數(shù)的輸出可以傳遞給某個輸出函數(shù),進(jìn)行附加整形。不過,輸出函數(shù)通常是恒等函數(shù),因此激活函數(shù)的輸出會直接被傳遞給連接在下游的神經(jīng)元中。

神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

常見的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是:

1. 在前饋網(wǎng)絡(luò)中,神經(jīng)元可分為:一個輸入層、n個隱藏處理層和一個輸出層。每一層的輸出都只會輸入到下一層。

2. 在具有快捷連接的前饋網(wǎng)絡(luò)中,一些連接可以跳過一到多個中間層。

3. 在遞歸神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元可以直接或間接地通過下一層來影響自己。

訓(xùn)練神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)和其他機(jī)器學(xué)習(xí)類似:我們用一組訓(xùn)練數(shù)據(jù)來表示網(wǎng)絡(luò),將網(wǎng)絡(luò)輸出與期望的輸出進(jìn)行比較,以生成錯誤向量,接著根據(jù)錯誤向量再對網(wǎng)絡(luò)進(jìn)行修正。在應(yīng)用糾正之前,那些共同運(yùn)行的批量訓(xùn)練數(shù)據(jù)被稱為epoch。

在實(shí)現(xiàn)細(xì)節(jié)上,相對于模型的權(quán)值和偏差方面的梯度,反向傳播使用誤差(或成本)函數(shù),來發(fā)現(xiàn)正確的方向,從而最小化誤差。因此,應(yīng)用的正確性取決于優(yōu)化算法和學(xué)習(xí)速率的變量。正如前面提到的,該變量通常需要足夠的小,以保證收斂性,并避免造成ReLU神經(jīng)元“死亡”。

神經(jīng)網(wǎng)絡(luò)的優(yōu)化器

通常,神經(jīng)網(wǎng)絡(luò)的優(yōu)化器會使用某種形式的梯度下降算法,來驅(qū)動反向傳播。同時,它會用到一種避免陷入局部極小值的機(jī)制,例如:只優(yōu)化那些隨機(jī)選擇的小批量(隨機(jī)梯度下降),以及對梯度使用動量修正的方式。另外,一些優(yōu)化算法(如:AdaGrad、RMSProp和Adam)還會通過查看梯度的歷史,來調(diào)整模型參數(shù)的學(xué)習(xí)率。

與所有的機(jī)器學(xué)習(xí)類似,您需要根據(jù)一個單獨(dú)的驗(yàn)證數(shù)據(jù)集,來檢查神經(jīng)網(wǎng)絡(luò)的預(yù)測。如果不這樣做的話,您所創(chuàng)建的神經(jīng)網(wǎng)絡(luò)可能只能記住輸入的信息,而無法學(xué)習(xí)并成為廣義的預(yù)測器。

深入學(xué)習(xí)的各種算法

一個針對真實(shí)問題的深度神經(jīng)網(wǎng)絡(luò),可能由十多個隱藏層所組成,其拓?fù)浣Y(jié)構(gòu)也可能繁簡不同。一般而言,網(wǎng)絡(luò)中的層級越多,其優(yōu)勢是能夠識別的特征就越多,而劣勢則為計算所需的時間就越長,訓(xùn)練也就越困難。

卷積神經(jīng)網(wǎng)絡(luò)(CNN)常被用于機(jī)器視覺等應(yīng)用之中。該網(wǎng)絡(luò)通常使用卷積、池化、ReLU、全連接、以及丟失層來模擬視覺的皮層。其中,卷積層主要是對于許多小的重疊區(qū)域進(jìn)行積分。池化層執(zhí)行的是一種非線性的下采樣(down-sampling)形式。ReLU層用到了非飽和激活函數(shù)f(x) = max(0,x)。在一個完全連接的層級中,神經(jīng)元與前一層的所有激活都有聯(lián)系。丟失層主要負(fù)責(zé)計算網(wǎng)絡(luò)訓(xùn)練如何“懲罰”那些預(yù)測標(biāo)簽和真實(shí)標(biāo)簽之間的偏差,使用Softmax或交叉熵(cross-entropy)損失函數(shù)來進(jìn)行分類,或使用歐式(Euclidean)損失函數(shù)進(jìn)行回歸。

遞歸神經(jīng)網(wǎng)絡(luò)常被用于自然語言處理(NLP)、序列處理、長短時記憶(LSTM)網(wǎng)絡(luò)、基于注意力的神經(jīng)網(wǎng)絡(luò)。在前饋神經(jīng)網(wǎng)絡(luò)中,信息通過隱藏層從輸入流向輸出。這有效地限制了該網(wǎng)絡(luò)一次性只能處理一個狀態(tài)。

在遞歸神經(jīng)網(wǎng)絡(luò)(RNN)中,信息通過反復(fù)循環(huán),讓網(wǎng)絡(luò)只記住最近的一次輸出,以便對序列和時序進(jìn)行分析。當(dāng)然,RNN存在著兩個常見的問題:爆炸性的漸變(我們很容易通過夾持來修復(fù))和消失的漸變(不太容易修復(fù))。

在LSTMs中,該網(wǎng)絡(luò)能夠用forgetting和gating來修改以前信息的權(quán)重,并記住它們。通過此類長、短期記憶,該網(wǎng)絡(luò)解決了梯度消失的問題。同時,LSTMs也可以處理數(shù)百個過去輸入的序列。

注意力模塊是一些將權(quán)重應(yīng)用到輸入向量上的通用門。它的分層神經(jīng)注意編碼器(hierarchical neural attention encoder)使用多層注意模塊,來處理成千上萬的過去的輸入。

雖然不屬于神經(jīng)網(wǎng)絡(luò),但是隨機(jī)決策森林(RDF)對于一系列分類和回歸問題也十分有用。由多個層級構(gòu)成的RDF,能夠輸出單個樹的預(yù)測統(tǒng)計平均值(一般為分類模式或回歸平均值)。在隨機(jī)方面,RDF對單個樹使用引導(dǎo)聚合(也稱為bagging),并針對樹的特性進(jìn)行隨機(jī)取子集。

同樣不屬于深度神經(jīng)網(wǎng)絡(luò)的XGBoost (eXtreme Gradient boost),是一個可擴(kuò)展的端到端樹狀增強(qiáng)系統(tǒng)。它在許多機(jī)器學(xué)習(xí)的挑戰(zhàn)中都取得了先進(jìn)的成果。不同于RDF,它的梯度樹增強(qiáng)是從單個決策樹或回歸樹開始的。通過優(yōu)化,其后續(xù)的樹是基于前續(xù)樹的殘留而構(gòu)建的。

目前,業(yè)界公認(rèn)最好的Python深度學(xué)習(xí)框架包括:TensorFlow、Keras、PyTorch和MXNet。Deeplearning4j是最好的Java深度學(xué)習(xí)框架之一。而ONNX和TensorRT則是用于深度學(xué)習(xí)模型的運(yùn)行時(runtime)。

深度學(xué)習(xí)與機(jī)器學(xué)習(xí)的比較

一般而言,經(jīng)典(非深度)機(jī)器學(xué)習(xí)算法的訓(xùn)練和預(yù)測速度,要比深度學(xué)習(xí)算法快得多。一到多個CPU足以訓(xùn)練一個經(jīng)典的模型。而深度學(xué)習(xí)模型通常需要硬件加速器,如GPU、TPU或FPGA來進(jìn)行訓(xùn)練,以及大規(guī)模的部署。如果沒有它們,此類模型可能需要幾個月的訓(xùn)練時間。

自然語言處理是深度學(xué)習(xí)的一個分支,它包括語言翻譯、自動化摘要、協(xié)同參考解析、語篇分析(discourse analysis)、形態(tài)分割(morphological segmentation)、命名實(shí)體識別、自然語言生成、自然語言理解、詞性標(biāo)注、情感分析和語音識別等。

深度學(xué)習(xí)的另一個主要應(yīng)用領(lǐng)域是圖像分類。它包括:帶定位的圖像分類、目標(biāo)檢測、目標(biāo)分割、圖像風(fēng)格轉(zhuǎn)換、圖像著色、圖像重建、圖像超分辨率和圖像合成等。

此外,深度學(xué)習(xí)已經(jīng)被成功地用于預(yù)測分子之間的相互作用,以幫助制藥公司設(shè)計新藥,搜索亞原子粒子,并將自動解析用于構(gòu)建人腦三維顯微鏡圖像等方面。

原文標(biāo)題:Deep learning vs. machine learning: Understand the differences,作者:Martin Heller

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2010-08-26 17:26:18

微軟

2019-04-03 09:00:30

Azure Stack微軟Azure

2016-01-27 09:49:19

Gartner數(shù)據(jù)湖數(shù)據(jù)倉庫

2021-03-30 13:45:00

人工智能

2017-10-24 11:19:16

深度學(xué)習(xí)機(jī)器學(xué)習(xí)數(shù)據(jù)

2024-03-01 19:26:22

2018-04-09 10:16:27

機(jī)器學(xué)習(xí)深度學(xué)習(xí)AI

2023-10-18 16:02:24

機(jī)器學(xué)習(xí)深度學(xué)習(xí)ChatGPT

2021-02-22 10:59:43

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2021-07-27 13:30:25

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2018-07-04 06:18:07

2018-05-11 14:34:24

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2018-08-08 16:08:45

深度學(xué)習(xí)機(jī)器學(xué)習(xí)NLP

2017-02-15 10:01:49

大數(shù)據(jù)機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2024-11-04 08:14:48

2021-04-16 09:53:45

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2016-10-17 13:59:10

機(jī)器學(xué)習(xí)人工智能

2021-03-01 11:39:34

機(jī)器學(xué)習(xí)深度學(xué)習(xí)人工智能

2021-01-29 15:10:32

機(jī)器學(xué)習(xí)

2017-03-18 16:28:40

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號