深度學習和機器學習的區(qū)別
一、機器學習
首先看看機器學習的定義:
“A computer program is said to learn from experience E with respect to some class of tasksT and performance measureP if its performance at tasks inT, as measured by P, improves with experience E ”(這段話我真的是看了100遍才知道怎么斷句啊!!
翻譯過來就是:“一個電腦程序要完成任務(wù)(T),如果電腦獲取的關(guān)于T的經(jīng)驗(E)越多就表現(xiàn)(P)得越好,那么我們就可以說這個程序‘學習’了關(guān)于T的經(jīng)驗。”
簡單來說,就是解釋什么叫“機器的學習”,如果輸入的經(jīng)驗越多表現(xiàn)的越好,這就叫“學習”嘛。
這里有幾個例子:
1.根據(jù)身高預測體重:
這個so easy,我也不想多解釋了。我們高中都做過這樣的題目,給你一堆點,你做出一條直線盡可能去擬合樣本點,那這個直線就是你“學習”出來的,然后就可以用這個直線去預測未知點了。
2.風暴預測系統(tǒng):
我們首先瀏覽所有的歷史風暴數(shù)據(jù),從這些大量的數(shù)據(jù)中學習出某些“模式”,這些“模式”包含了具體的哪些條件可以導致風暴。
比如我們也許可以通過學習歷史數(shù)據(jù)發(fā)現(xiàn):溫度超過40度,濕度在80-100之間,就容易發(fā)生風暴。種種類似的模式。
這里注意了!“溫度”、“濕度”等等指標,就是機器學習中的“特征”,而這些特征都是人工設(shè)置好的!就是說,我們在做這樣一個預測系統(tǒng)的時候,首先由專家通過分析哪些“特征”是重要的,然后機器就通過分析歷史數(shù)據(jù)中的這些特征的數(shù)據(jù),來找到相應(yīng)的模式,也就是怎樣的特征的組合會導致怎樣的結(jié)果。
理解上面這一點很重要,因為這是和深度學習的重要區(qū)別。
二、深度學習
還是首先看看深度學習的定義:
“Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.”(這個起碼聽起來像人話,但還是讓人疑惑。。。)
我試著翻譯一下:深度學習是一種特殊的機器學習,它可以獲得高性能也十分靈活。它可以用概念組成的網(wǎng)狀層級結(jié)構(gòu)來表示這個世界,每一個概念更簡單的概念相連,抽象的概念通過沒那么抽象的概念計算。(有沒有大佬幫忙指正一下?)
還是先通過例子說明,大家就慢慢理解了:
1.形狀識別:
我們從一個簡單的例子來看看我們認知層面上是如何區(qū)分物體的。比如我們要區(qū)分下面的形狀,那個是圓的那個是方的:
方形和圓形
我們的眼睛第一件要做的事情,就是看看這個形狀有沒有4條邊。如果有的話,就進一步檢查,這4條邊是不是連在一起,是不是等長的,是不是相連的互相垂直。如果滿足上面這些條件,那么我們可以判斷,是一個正方形。
從上面的過程可以看出,我們把一個復雜的抽象的問題(形狀),分解成簡單的、不那么抽象的任務(wù)(邊、角、長度...)。深度學習從很大程度上就是做這個工作,把復雜任務(wù)層層分解成一個個小任務(wù)。
2.識別狗和貓:
如果是傳統(tǒng)機器學習的方法,我們會首先定義一些特征,如有沒有胡須,耳朵、鼻子、嘴巴的模樣等等。總之,我們首先要確定相應(yīng)的“面部特征”作為我們的機器學習的特征,以此來對我們的對象進行分類識別。
而現(xiàn)在,深度學習的方法則更進一步。深度學習自動地找出這個分類問題所需要的重要特征!而傳統(tǒng)機器學習則需要我們?nèi)斯さ亟o出特征!
我覺得這是兩者最重要的區(qū)別。
那么,深度學習是如何做到這一點的呢?
以這個貓狗識別的例子來說,按照以下步驟:
1首先確定出有哪些邊和角跟識別出貓狗關(guān)系最大;
2然后根據(jù)上一步找出的很多小元素(邊、角等)構(gòu)建層級網(wǎng)絡(luò),找出它們之間的各種組合;
3在構(gòu)建層級網(wǎng)絡(luò)之后,就可以確定哪些組合可以識別出貓和狗。
這里我沒找到貓和狗的神經(jīng)網(wǎng)絡(luò)圖片,倒是看到人像識別的一個示意圖,覺得挺好的:
可以看到4層,輸入的是Raw Data,就是原始數(shù)據(jù),這個機器沒法理解。于是,深度學習首先盡可能找到與這個頭像相關(guān)的各種邊,這些邊就是底層的特征(Low-level features),這就是上面寫的第一步;然后下一步,對這些底層特征進行組合,就可以看到有鼻子、眼睛、耳朵等等,它們就是中間層特征(Mid-level features),這就是上面寫的第二步;最后,我們隊鼻子眼睛耳朵等進行組合,就可以組成各種各樣的頭像了,也就是高層特征(High-level features)這個時候就可以識別出或者分類出各種人的頭像了。
三、對比機器學習和深度學習
上面我們大概了解了機器學習和深度學習的工作原理,下面我們從幾個重要的方面來對比兩種技術(shù)。
1.數(shù)據(jù)依賴
隨著數(shù)據(jù)量的增加,二者的表現(xiàn)有很大區(qū)別:
數(shù)據(jù)量對不同方法表現(xiàn)的影響
可以發(fā)現(xiàn),深度學習適合處理大數(shù)據(jù),而數(shù)據(jù)量比較小的時候,用傳統(tǒng)機器學習方法也許更合適。
2.硬件依賴
深度學習十分地依賴于高端的硬件設(shè)施,因為計算量實在太大了!深度學習中涉及很多的矩陣運算,因此很多深度學習都要求有GPU參與運算,因為GPU就是專門為矩陣運算而設(shè)計的。相反,普通的機器學習隨便給一臺破電腦就可以跑。
3.特征工程
特征工程就是前面的案例里面講過的,我們在訓練一個模型的時候,需要首先確定有哪些特征。
在機器學習方法中,幾乎所有的特征都需要通過行業(yè)專家在確定,然后手工就特征進行編碼。
然而深度學習算法試圖自己從數(shù)據(jù)中學習特征。這也是深度學習十分引人注目的一點,畢竟特征工程是一項十分繁瑣、耗費很多人力物力的工作,深度學習的出現(xiàn)大大減少了發(fā)現(xiàn)特征的成本。
4.解決問題的方式
在解決問題時,傳統(tǒng)機器學習算法通常先把問題分成幾塊,一個個地解決好之后,再重新組合起來。但是深度學習則是一次性地、端到端地解決。如下面這個物體識別的例子:
物體識別
如果任務(wù)是要識別出圖片上有哪些物體,找出它們的位置。那么傳統(tǒng)機器學習的做法是把問題分為兩步:發(fā)現(xiàn)物體 和 識別物體。首先,我們有幾個物體邊緣的盒型檢測算法,把所有可能的物體都框出來。然后,再使用物體識別算法,例如SVM在識別這些物體中分別是什么。
但是深度學習不同,給它一張圖,它直接給出把對應(yīng)的物體識別出來,同時還能標明對應(yīng)物體的名字。這樣就可以做到實時的物體識別。例如YOLO net就可以在視頻中實時識別:
5.運行時間
深度學習需要花大量的時間來訓練,因為有太多的參數(shù)需要去學習。頂級的深度學習算法ResNet需要花兩周的時間訓練。但是機器學習一般幾秒鐘最多幾小時就可以訓練好。
但是深度學習花費這么大力氣訓練處模型肯定不會白費力氣的,優(yōu)勢就在于它模型一旦訓練好,在預測任務(wù)上面就運行很快。這才能做到我們上面看到的視頻中實時物體檢測。
6.可理解性
最后一點,也是深度學習一個缺點。其實也說不上是缺點吧,那就是深度學習很多時候我們難以理解。一個深層的神經(jīng)網(wǎng)絡(luò),每一層都代表一個特征,而層數(shù)多了,我們也許根本就不知道他們代表的啥特征,我們就沒法把訓練出來的模型用于對預測任務(wù)進行解釋。例如,我們用深度學習方法來批改論文,也許我們訓練出來的模型對論文評分都十分的準確,但是我們無法理解模型到底是啥規(guī)則,這樣的話,那些拿了低分的同學找你質(zhì)問“憑啥我的分這么低啊?!”,你也啞口無言····因為深度學習模型太復雜,內(nèi)部的規(guī)則很難理解。
但是機器學習不一樣,比如決策樹算法,就可以明確地把規(guī)則給你列出來,每一個規(guī)則,每一個特征,你都可以理解。
但是這不是深度學習的錯,只能說它太牛逼了,人類還不夠聰明,理解不了深度學習的內(nèi)部的特征。
以上就是關(guān)于機器學習和深度學習的聯(lián)系和區(qū)別了。首先說說感受吧,感覺很多國外的文章,尤其是這樣的類似科普文章寫的真心棒!很好理解,而且解釋的非常詳細,這是很多國內(nèi)博客所不能比的。所以建議大家有問題可以多搜搜國外的文章讀一讀,而且其實英文也用的很簡單。
文章來源:csdn
7月份數(shù)模人都在打的釘釘杯大數(shù)據(jù)建模競賽
7月份接下來數(shù)模人人都在打的由阿里巴巴釘釘舉辦的釘釘杯大數(shù)據(jù)建模挑戰(zhàn)賽,認可度高,綜測加分有保障,大廠面試敲門磚,賽題主要包含數(shù)據(jù)挖掘和數(shù)據(jù)分析兩大類,數(shù)模國賽與美賽中C題每年選題占比最大的大數(shù)據(jù)題型,涉及建模中常用到的數(shù)據(jù)預處理、神經(jīng)網(wǎng)絡(luò)、機器學習和深度學習算法,決策樹等等,都是和大數(shù)據(jù)相關(guān)知識緊密相連的,作為國賽前大型熱身練手的絕佳機會。
報名網(wǎng)址:http://www.nmmcm.org.cn/match_detail/33
掃碼進入官方參賽群(組隊+獲取歷年真題及論文)
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.