如果你經(jīng)常想讓自己弄清楚機器學習和深度學習的區(qū)別,閱讀該文章,我將用通俗易懂的語言為你介紹他們之間的差別。
機器學習和深度學習變得越來越火。突然之間,不管是了解的還是不了解的,所有人都在談論機器學習和深度學習。無論你是否主動關注過數(shù)據(jù)科學,你應該已經(jīng)聽說過這兩個名詞了。
為了展示他們的火熱程度,我在 Google trend 上搜索了這些關鍵字:
如果你想讓自己弄清楚機器學習和深度學習的區(qū)別,請閱讀本篇文章,我將用通俗易懂的語言為你介紹他們之間的差別。下文詳細解釋了機器學習和深度學習中的術語。并且,我比較了他們兩者的不同,別說明了他們各自的使用場景。
什么是機器學習和深度學習?
讓我們從基礎知識開始:什么是機器學習?和什么是深度學習?如果你對此已有所了解,隨時可以跳過本部分。
什么是機器學習?
一言以蔽之,由 Tom Mitchell 給出的被廣泛引用的機器學習的定義給出了最佳解釋。下面是其中的內容:
“計算機程序可以在給定某種類別的任務 T 和性能度量 P 下學習經(jīng)驗 E ,如果其在任務 T 中的性能恰好可以用 P 度量,則隨著經(jīng)驗 E 而提高。”
是不是讀起來很繞口呢?讓我們用簡單的例子來分解下這個描述。
示例 1:機器學習和根據(jù)人的身高估算體重
假設你想創(chuàng)建一個能夠根據(jù)人的身高估算體重的系統(tǒng)(也許你出自某些理由對這件事情感興趣)。那么你可以使用機器學習去找出任何可能的錯誤和數(shù)據(jù)捕獲中的錯誤,首先你需要收集一些數(shù)據(jù),讓我們來看看你的數(shù)據(jù)是什么樣子的:
圖中的每一個點對應一個數(shù)據(jù),我們可以畫出一條簡單的斜線來預測基于身高的體重
例如這條斜線:
Weight (in kg) = Height (in cm) - 100
...這些斜線能幫助我們作出預測,盡管這些斜線表現(xiàn)得很棒,但是我們需要理解它是怎么表現(xiàn)的,我們希望去減少預測和實際之間的誤差,這也是衡量其性能的方法。
深遠一點地說,我們收集更多的數(shù)據(jù)(experience),模型就會變得更好。我們也可以通過添加更多變量(例如性別)和添加不同的預測斜線來完善我們的模型。
示例2:颶風預測系統(tǒng)
我們找一個復雜一點的例子。假如你要構建一個颶風預測系統(tǒng)。假設你手里有所有以前發(fā)生過的颶風的數(shù)據(jù)和這次颶風產(chǎn)生前三個月的天氣信息。
如果要手動構建一個颶風預測系統(tǒng),我們應該怎么做?
首先我們的任務是清洗所有的數(shù)據(jù)找到數(shù)據(jù)里面的模式進而查找產(chǎn)生颶風的條件。
我們既可以將模型條件數(shù)據(jù)(例如氣溫高于40度,濕度在80-100等)輸入到我們的系統(tǒng)里面生成輸出;也可以讓我們的系統(tǒng)自己通過這些條件數(shù)據(jù)產(chǎn)生合適的輸出。
我們可以把所有以前的數(shù)據(jù)輸入到系統(tǒng)里面來預測未來是否會有颶風?;谖覀兿到y(tǒng)條件的取值,評估系統(tǒng)的性能(系統(tǒng)正確預測颶風的次數(shù))。我們可以將系統(tǒng)預測結果作為反饋繼續(xù)多次迭代以上步驟。
讓我們根據(jù)前邊的解釋來定義我們的預測系統(tǒng):我們的任務是確定可能產(chǎn)生颶風的氣象條件。性能P是在系統(tǒng)所有給定的條件下有多少次正確預測颶風。經(jīng)驗E是我們的系統(tǒng)的迭代次數(shù)。
什么是深度學習?
深度學習的概念并不新穎。它已經(jīng)存在好幾年了。但伴隨著現(xiàn)有的所有的炒作,深度的學習越來越受到重視。正如我們在機器學習中所做的那樣,先來看看深度學習的官方定義,然后用一個例子來解釋。
“深度學習是一種特殊的機器學習,通過學習將世界使用嵌套的概念層次來表示并實現(xiàn)巨大的功能和靈活性,其中每個概念都定義為與簡單概念相關聯(lián),而更為抽象的表示則以較不抽象的方式來計算。”
這也有點讓人混亂。下面使用一個簡單示例來分解下此概念。
示例1: 形狀檢測
先從一個簡單的例子開始,從概念層面上解釋究竟發(fā)生了什么的事情。我們來試試看如何從其他形狀中識別的正方形。
我們眼中的第一件事是檢查圖中是否有四條的線(簡單的概念)。如果我們找到這樣的四條線,我們進一步檢查它們是相連的、閉合的和相互垂直的,并且它們是否是相等的(嵌套的概念層次結構)。
所以,我們完成了一個復雜的任務(識別一個正方形),并以簡單、不太抽象的任務來完成它。深度學習本質上在大規(guī)模執(zhí)行類似邏輯。
示例2: 貓 vs. 狗
我們舉一個動物辨識的例子,其中我們的系統(tǒng)必須識別給定的圖像中的動物是貓還是狗。閱讀下此文(https://www.analyticsvidhya.com/blog/2017/04/comparison-between-deep-learning-machine-learning/,以了解深度學習在解決此類問題上如何比機器學習領先一步。
機器學習和深度學習的對比
現(xiàn)在的你應該已經(jīng)對機器學習和深度學習有所了解,接下來我們將會學習其中一些重點,并比較兩種技術。
數(shù)據(jù)依賴性
深度學習與傳統(tǒng)的機器學習最主要的區(qū)別在于隨著數(shù)據(jù)規(guī)模的增加其性能也不斷增長。當數(shù)據(jù)很少時,深度學習算法的性能并不好。這是因為深度學習算法需要大量的數(shù)據(jù)來完美地理解它。另一方面,在這種情況下,傳統(tǒng)的機器學習算法使用制定的規(guī)則,性能會比較好。下圖總結了這一事實。
硬件依賴
深度學習算法需要進行大量的矩陣運算,GPU 主要用來高效優(yōu)化矩陣運算,所以 GPU 是深度學習正常工作的必須硬件。與傳統(tǒng)機器學習算法相比,深度學習更依賴安裝 GPU 的高端機器。
特征處理
特征處理是將領域知識放入特征提取器里面來減少數(shù)據(jù)的復雜度并生成使學習算法工作的更好的模式的過程。特征處理過程很耗時而且需要專業(yè)知識。
在機器學習中,大多數(shù)應用的特征都需要專家確定然后編碼為一種數(shù)據(jù)類型。
特征可以使像素值、形狀、紋理、位置和方向。大多數(shù)機器學習算法的性能依賴于所提取的特征的準確度。
深度學習嘗試從數(shù)據(jù)中直接獲取高等級的特征,這是深度學習與傳統(tǒng)機器學習算法的主要的不同。
基于此,深度學習削減了對每一個問題設計特征提取器的工作。例如,卷積神經(jīng)網(wǎng)絡嘗試在前邊的層學習低等級的特征(邊界,線條),然后學習部分人臉,然后是高級的人臉的描述。更多信息可以閱讀神經(jīng)網(wǎng)絡機器在深度學習里面的有趣應用。
問題解決方式
當應用傳統(tǒng)機器學習算法解決問題的時候,傳統(tǒng)機器學習通常會將問題分解為多個子問題并逐個子問題解決最后結合所有子問題的結果獲得最終結果。相反,深度學習提倡直接的端到端的解決問題。
舉例說明:
假設有一個多物體檢測的任務需要圖像中的物體的類型和各物體在圖像中的位置。
傳統(tǒng)機器學會將問題分解為兩步:物體檢測和物體識別。首先,使用一個邊界框檢測算法掃描整張圖片找到可能的是物體的區(qū)域;然后使用物體識別算法(例如 SVM 結合 HOG )對上一步檢測出來的物體進行識別。
相反,深度學習會直接將輸入數(shù)據(jù)進行運算得到輸出結果。例如可以直接將圖片傳給YOLO 網(wǎng)絡(一種深度學習算法),YOLO 網(wǎng)絡會給出圖片中的物體和名稱。
執(zhí)行時間
通常情況下,訓練一個深度學習算法需要很長的時間。這是因為深度學習算法中參數(shù)很多,因此訓練算法需要消耗更長的時間。最先進的深度學習算法 ResNet完整地訓練一次需要消耗兩周的時間,而機器學習的訓練會消耗的時間相對較少,只需要幾秒鐘到幾小時的時間。
但兩者測試的時間上是完全相反。深度學習算法在測試時只需要很少的時間去運行。如果跟k-nearest neighbors(一種機器學習算法)相比較,測試時間會隨著數(shù)據(jù)量的提升而增加。不過這不適用于所有的機器學習算法,因為有些機器學習算法的測試時間也很短。
可解釋性
至關重要的一點,我們把可解釋性作為比較機器學習和深度學習的一個因素。
我們看個例子。假設我們適用深度學習去自動為文章評分。深度學習可以達到接近人的標準,這是相當驚人的性能表現(xiàn)。但是這仍然有個問題。深度學習算法不會告訴你為什么它會給出這個分數(shù)。
當然,在數(shù)學的角度上,你可以找出來哪一個深度神經(jīng)網(wǎng)絡節(jié)點被激活了。但是我們不知道神經(jīng)元應該是什么模型,我們也不知道這些神經(jīng)單元層要共同做什么。所以無法解釋結果是如何產(chǎn)生的。
另一方面,為了解釋為什么算法這樣選擇,像決策樹(decision trees)這樣機器學習算法給出了明確的規(guī)則,所以解釋決策背后的推理是很容易的。因此,決策樹和線性/邏輯回歸這樣的算法主要用于工業(yè)上的可解釋性。
機器學習和深度學習用于哪些領域?
維基百科上關于機器學習的文章概述了所有使用機器學習的領域。這些包括:
-
計算機視覺用于車牌識別和面部識別等的應用。
-
信息檢索用于諸如搜索引擎的應用 - 包括文本搜索和圖像搜索。
-
市場營銷針對自動電子郵件營銷和目標群體識別等的應用。
-
醫(yī)療診斷諸如癌癥識別和異常檢測等的應用。
-
自然語言處理,如情緒分析和照片標記等的應用。
上圖恰當?shù)乜偨Y了機器學習的應用領域,涵蓋了整個機器智能的更廣泛的話題。
使用機器學習/深度學習的公司的一個主要例子是Google。
在上圖中,你可以看到 Google 正在將機器學習應用于其各種產(chǎn)品。機器學習/深度學習的應用是無盡的 - 你僅需尋找正確的時機!
突擊測試
為了評估你是否真的了解這個區(qū)別,我們將進行一次測驗。 你可以在這個帖子中發(fā)布你的答案。
請務必涉及以下步驟,以保證是完整的對各個場景進行回答。
-
你將如何使用機器學習解決以下問題?
-
你如何使用深度學習解決以下問題?
-
結論:哪種方法是更好的?
場景1
你必須建立一個用于自動駕駛車輛的軟件組件。你構建的系統(tǒng)應該從相機中獲取原始像素數(shù)據(jù),并預測你應該引導車輪的角度是多少。
場景2
給定一個人的信用和背景信息,你的系統(tǒng)應該評估出此人是否應該有資格獲得貸款。
場景3
你必須創(chuàng)建一個可以將俄語消息翻譯成印地語消息的系統(tǒng),以便俄語代表能夠與當?shù)氐娜罕?a target="_blank">通信。
在此找到針對上述問題的各種數(shù)據(jù)科學家的討論記錄和觀點。
未來發(fā)展趨勢
本文概述了機器學習和深度學習及其差異。在本節(jié)中,我將分享我對機器學習和深度學習未來發(fā)展的觀點。
-
首先,隨著業(yè)內對數(shù)據(jù)科學和機器學習使用的日益增長的趨勢,對于每個想要生存下來的公司來說,重視機器學習將變得非常重要。蘋果正在iPhone X中使用機器學習,這標志著這項技術的發(fā)展方向。
-
深入學習讓我們每天都感到驚訝,并將在不久的將來繼續(xù)如此。這是因為深度學習是被證明為最先進的性能最好的技術之一。
-
針對機器學習和深度學習的研究將是持續(xù)的。但與前幾年的研究僅限于學術界不同的是,機器學習和深度學習方面的研究將在業(yè)界和學術界都有爆發(fā)式的發(fā)展。而且擁有比以往更多的資助,更有可能成為人類整體發(fā)展的主旋律。
-
機器學習
+關注
關注
66文章
8349瀏覽量
132312 -
深度學習
+關注
關注
73文章
5463瀏覽量
120890
原文標題:一文讀懂深度學習與機器學習的差異
文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結構】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論