深度學習
就是更深層次的學習,它是機器學習的一個子領域,就我個人理解而言,它就是一個深度神經網路。
深度神經網路
就是擁有很多隱藏層的神經網路,通常只要隱藏層超過2個,我們就可以把這個神經網路定義為深度神經網路,當然,隱藏層的啟用函式應該是非線性的,如果是線性的,即使10000層,它的學習能力也僅僅相當於帶有一個隱藏層的神經網路。
深度學習到底有什麼好處呢,或者是它相當於傳統的機器學習來說有什麼優勢呢?
1.能夠從原始資料中自動提取特徵,而不需要人工的設計特徵。這也就是所謂的特徵學習或者表示學習,而在表示學習中最關鍵的就是逐層處理。假如我們要處理一個影像,神經網路有很多層,那麼在最底層,網路看到的是畫素,當一層一層往上的時候,看到的可能是邊緣,在往上可能是輪廓或者是某個目標的一個部位。神經網路做的就是逐層的對它看到的東西進行抽象,將低階特徵組合成高階特徵。那麼既然有深度神經網路那也就會有寬度神經網路,顧名思義它就是加寬隱藏層,也就是增加隱藏層中神經元的數量,它雖然增加了模型的複雜度,但是實際效果並沒有深度神經網路好,很主要的原因是他沒有逐層處理。
2.深度學習相比於其他傳統的機器學習還提供了複雜的特徵變換,傳統的機器學習,比如決策樹,雖然他也能達到很深,但是始終是在同一個特徵空間中學習,在內部沒有進行特徵變換,換句話說它們在處理資料的時候用的只是原始特徵,而深度神經網路能都對這些原始特徵進行復雜的特徵變換,學習到更高階的特徵。
總結
深度學習並不是萬能的,可能很多人知道深度學習的表示能力很強,於是什麼問題都可以用它來解決,這種想法很危險。通常來講深度學習更適合處理結構化資料,傳統的機器學習更適合處理非結構化資料,結構化資料就是影像,視訊,自然語言等,他們有一個共性,那就是這些資料都是由更小的粒度組合而成,比如影像是由畫素組成,聲音是由音素組成,文字中的句子是由單片語成,都是低階的特徵組合成高階特徵,區域性特徵之間具有很強的相關性,深度學習能夠逐層處理,所以適合處理這類資料。非結構化資料,比如訂旅館,買房子來預測價格等等,這些房子或者旅館的特徵可能是幾個臥室,幾個衛生間,天花板的高度,很明顯這些特徵無法進行組合成高階特徵,而且特徵之間也沒有很強的區域性相關性,所以傳統的機器學習適合處理這類問題,直接在這些原始的特徵空間中學習。