機器學習和深度學習如今風靡一時!好像就是發生在一瞬間,每一個人都在談論着它們 - 不管人們是否理解二者中間的差別!如今人們不管是否關注數據科學 - 都會聽到過這兩個術語。算法
如今展現一下深度學習和機器學習所得到的關注度,如下是這些關鍵字的Google趨勢:網絡
若是你想了解機器學習和深度學習之間的區別,請繼續閱讀這篇以簡單的外行語言進行詳細比較機器學習和深度學習的文章。我將會詳細的解釋這些術語。而後比較它們並解釋咱們能夠在什麼地方會用到它們。機器學習
讓咱們從基礎的知識開始開始提及 - 什麼是機器學習和什麼是深度學習。若是你已經知道這一點,那能夠跳過這一部分,直接去看第二部分,兩種學習之間的比較。性能
Tom Mitchell普遍引用的機器學習定義就很好的解釋了機器學習。這就是它所說的:學習
「聽說計算機程序能夠從經驗E中學習某些類型的任務T和用來測試的P,它在T中的任務中的表現(由P測試)會隨着經驗E的提升而提升」測試
這聽起來很使人費解或使人困惑對吧?那讓咱們用簡單的例子來分析一下。優化
案例1 - 機器學習 - 根據高度預測權重搜索引擎
假設如今須要建立一個系統,該系統根據人的身高來顯示預測的體重。可能有幾個緣由會讓人對這個系統感興趣。由於咱們可使用它來過濾掉任何可能的欺詐或者獲取數據的錯誤。首先要作的第一件事就是收集數據。假設咱們如今的數據是這樣子的:編碼
圖表上的每一個點表明一個數據點。首先,咱們能夠畫一條簡單的線來預測基於身高的體重。舉一個簡單的例子:spa
體重(kg)=身高(cm) - 100
這樣能夠幫助咱們作出預測。雖然這條預測線作得不錯,但咱們須要瞭解它的表現。在這種狀況下,咱們能夠說咱們但願減小預測值和實際值之間的差別。這就是衡量績效的方法。
此外,咱們收集的數據點越多(經驗),咱們的模型就越好。咱們還能夠經過添加更多變量(例如性別)併爲它們建立不一樣的預測線來改進咱們的模型。
案例2 - 風暴預測系統
讓咱們舉一個稍微複雜一點的例子。假設如今須要構建一個風暴預測系統。經過過去發生的全部風暴的數據,以及這些風暴發生前三個月的天氣情況。
考慮到這些,若是咱們要手動創建一個風暴預測系統,咱們須要作什麼?
咱們首先必須檢查全部的數據,並找到這些數據中的模式。咱們的任務是尋找致使風暴的條件。
咱們能夠模擬這樣的條件,若是溫度大於40攝氏度,溼度在80到100之間等等。而後手動將這些'條件'輸入到咱們的系統。
或者,咱們可讓咱們的系統在數據中瞭解到這些特徵的適當值。
如今要找到這些值,須要瀏覽全部以前的數據,並嘗試預測是否會有風暴。根據系統設置的特徵值,咱們評估系統的性能,就是系統正確預測風暴發生的次數。咱們能夠對上述步驟進一步屢次迭代,將性能做爲反饋給咱們的系統。
讓咱們採用咱們的正式定義來嘗試定義咱們的風暴預測系統:咱們的任務「T」是找出引起風暴的大氣條件。性能「P」是在提供給系統的全部條件中,正確預測風暴的次數。經驗'E'是咱們系統的重複模擬。
深度學習的概念並不新鮮。它已經存在好幾年了。可是如今隨着不斷的炒做,深度學習愈來愈受到關注。正如咱們在機器學習中所作的那樣,咱們先研究深度學習的正式定義,而後經過例子對深度學習分解認識。
「深度學習是一種特殊的機器學習,它經過學習將世界表示爲嵌套的概念層次結構來實現強大的功能和靈活性,每一個概念都是根據更簡單的概念進行定義的,而更抽象的表示則用不那麼抽象的概念計算出來。 」
這些概念一樣會讓人困惑不已。如今讓咱們用簡單的例子來認識它。
案例1 - 形狀檢測
讓我從一個簡單的例子開始,它解釋了在概念層面上事情是如何發生的。讓咱們試着理解如何識別其餘形狀的正方形。
咱們眼睛作的第一件事就是檢查是否有4條線與一個圖形相關聯的簡單概念。若是咱們找到4條線,咱們進一步檢查它們是否鏈接,閉合,垂直以及它們是否相等(概念的嵌套層次結構)。
所以,咱們採起了一項複雜的任務(肯定一個正方形)並將其分解爲簡單的、不那麼抽象的東西。深度學習在很大程度上就是這麼作的
案例2 - 貓仍是狗
讓咱們舉一個動物識別器的例子,咱們的系統必須識別給的圖片是貓仍是狗。
若是咱們將此做爲一個典型的機器學習問題的話,咱們必須定義一些特徵,諸如動物是否有鬍鬚,是否有耳朵若是有耳朵,那麼耳朵是尖的仍是稍微圓一點的。簡單點說,咱們要定義面部特徵,讓系統識別哪些特徵在對特定動物進行分類時比較重要。
如今,深度學習就比機器學習領先一步。深度學習會自動找出對分類很重要的特徵,在機器學習中咱們必須手動提供這些特徵。深度學習的工做原理以下:
它首先肯定那些特徵與分辨出是貓仍是狗最有相關性
而後,它以層次結構爲基礎,找到能夠找到的特徵的組合。例如,是否存在鬍鬚,或是否存在耳朵等。
在對複雜概念進行連續層次識別以後,它決定經過哪一個特徵負責來找到答案。
既然如今你已經瞭解了機器學習和深度學習的基本概念,那咱們接下來要用一些重要的觀點來比較一下這兩種技術。
深度學習與傳統機器學習之間最重要的區別會隨着數據規模的增大而表現出來。當數據很小時,深度學習算法表現不佳。這是由於深度學習算法須要大量數據才能完美理解它。另外一方面,傳統的機器學習算法及其手工製做的規則在這種狀況下佔據優點。下圖總結了這一事實。
深度學習算法在很大程度上依賴於高端機器,這與傳統的機器學習算法相反,後者能夠在低端機器上運行。這是由於深度學習算法的要求包括GPU,由於GPU是其工做中不可或缺的組成部分。深度學習算法本質上是作大量的矩陣乘法運算,而使用GPU能夠有效的優化這些操做,而這就是使用GPU的目的。
特徵工程是將領域知識放入特徵提取器的建立過程,用來下降數據的複雜性並使特徵對於學習算法更加可見。就時間和專業知識而言,這個過程是困難而又昂貴的。
在機器學習中,大多數應用的特徵須要由專家識別,而後根據領域和數據類型進行手動編碼。
例如,特徵能夠是像素值,形狀,紋理,位置和方向。大多數機器學習算法的性能取決於特徵識別和特徵提取的準確程度。
深度學習算法嘗試從數據中學習高級特徵。這是深度學習一個很是獨特的部分,也是超越傳統機器學習的重要部分。所以,深度學習減小了爲每一個問題開發新的特徵提取器的任務。就像,卷積神經網絡將嘗試先學習底層特徵,例如早期圖層中的邊緣和線條,而後是人臉的部分面部,最後是高級的面部識別。
當使用傳統的機器學習算法解決問題時,一般建議將問題分解爲不一樣的部分,分別解開這些問題,而後將它們組合起來獲得結果。相反,深度學習主張從頭至尾的解決問題。
咱們舉一個例子來理解這一點。
假設如今有一個多個對象檢測的任務。任務是肯定對象是什麼以及它在圖像中的位置。
在典型的機器學習方法中,能夠將問題分爲兩個步驟:對象檢測和對象識別。首先,您將使用像grabcut這樣的邊界框檢測算法來瀏覽圖像並查找全部可能的對象。而後,在全部已識別的對象中,您將使用對象識別算法(如帶有HOG的SVM)來識別相關對象。
相反,在深度學習方法中,只須要從頭至尾的完成這個過程。例如,在YOLO net(這是一種深度學習算法)中,傳入這張圖像,它將給出對象存在的位置以及對象的名稱。
一般,深度學習算法須要很長時間來訓練。這是由於深度學習算法中有不少的參數,因此訓練它們須要更長的時間。最早進的深度學習算法ResNet須要大約兩週時間才能徹底從0開始的訓練。相比之下,機器學習的訓練時間要短得多,從幾秒鐘到幾小時不等。
測試時間徹底顛倒了。在測試時,深度學習算法運行的時間要少得多。然而,若是把它與k近鄰(一種機器學習算法)進行比較,則測試時間會隨着數據的增長而增長。雖然這不適用於全部機器學習算法,由於有些算法的測試時間也會很短。
最後一點但並不是不重要的是,咱們將可解釋性做爲比較機器學習和深度學習的一個因素。這個因素是深度學習在用於行業以前仍被反覆思考的主要緣由。
咱們來舉個例子吧。假設咱們使用深度學習自動爲論文打評分。它在打分方面的表現的很是出色,接近人類的表現。但有一個問題。它沒有透露出爲何它給出了這個分數。事實上,你能夠經過數學方法找出深層神經網絡的哪些節點被激活,但咱們不知道這些神經元是怎麼建模的,以及這些神經元作了什麼。因此咱們沒法解釋結果。
另外一方面,像決策樹這樣的機器學習算法爲咱們提供了清晰的規則,解釋了爲何要選擇這個內容,所以特別容易理解其背後的原理。所以,像決策樹和線性/邏輯迴歸等算法主要用於行業中就是由於其結果的可解釋性。
維基文章概述了應用機器學習的全部領域。這些包括:
計算機視覺:適用於車牌識別和麪部識別等應用。
信息檢索:適用於搜索引擎,文本搜索和圖像搜索等應用程序。
營銷:用於自動化的電子郵件營銷,目標識別等應用
醫療診斷:用於癌症鑑定,異常檢測等應用
天然語言處理:用於情感分析,照片標記等應用
在線廣告等
維基文章概述了應用機器學習的全部領域。這些包括:
計算機視覺:適用於車牌識別和麪部識別等應用。
信息檢索:適用於搜索引擎,文本搜索和圖像搜索等應用程序。
營銷:用於自動化的電子郵件營銷,目標識別等應用
醫療診斷:用於癌症鑑定,異常檢測等應用
天然語言處理:用於情感分析,照片標記等應用
在線廣告等
上面給出的圖像恰當地總結了機器學習的應用領域。雖然它涵蓋了更普遍的機器智能主題。
使用機器學習/深度學習的公司的一個主要例子是Google。
在上圖中,您能夠看到Google如何在其各類產品中應用機器學習。機器學習/深度學習的應用是無止境的,你只須要看到合適的機會!
上面的文章講述了機器學習和深度學習以及它們之間的區別。在這部分中,我將分享一下我認爲的機器學習和深度學習將來發展的觀點。
首先,看到在行業中使用數據科學和機器學習的日益增加的趨勢,對於每一個想要活下來的公司來講,在他們的業務中使用機器學習將變得愈來愈重要。此外,每一個人都應該瞭解這些基本術語。
深度學習天天都在給咱們帶來驚喜,在將來也還會繼續。這是由於深度學習被證實是最早進的技術之一。
機器學習和深度學習的研究是不斷的。但不一樣的是往年研究僅限於學術界,如今機器學習和深度學習的研究在工業界和學術界都在爆炸式增加。隨着可用資金的增長,它更有可能成爲總體人類發展的一個主題。
本篇文章翻譯自:Deep Learning vs. Machine Learning – the essential differences you need to know!