簡單來說:
1)深度學習(Deep Learning)只是機器學習(Machine Learning)的一種類別,一個子領域。機器學習 > 深度學習
2)大數據(Big Data)不是具體的方法,甚至不算具體的研究學科,而只是對某一類問題,或需處理的數據的描述
具體來說:
1)機器學習(Machine Learning)是一個大的方向,里面包括了很多種 approach,比如 deep learning, GMM, SVM, HMM, dictionary learning, knn, Adaboosting...不同的方法會使用不同的模型,不同的假設,不同的解法。這些模型可以是線性,也可以是非線性的。他們可能是基于統計的,也可能是基于稀疏的....
不過他們的共同點是:都是 data-driven 的模型,都是學習一種更加 abstract 的方式來表達特定的數據,假設和模型都對特定數據廣泛適用。好處是,這種學習出來的表達方式可以幫助我們更好的理解和分析數據,挖掘數據隱藏的結構和關系。
Machine Learning 的任務也可以不同,可以是預測(prediction),分類(classification),聚類(clustering),識別(recognition),重建(reconstruction),約束(regularization),甚至降噪(denoising),超分辨(super-resolution),除馬賽克(Demosaicing)等等....
2)深度學習(Deep Learning)是機器學習的一個子類,一般特指學習高層數的網絡結構。這個結構中通常會結合線性和非線性的關系。
Deep Learning 也會分各種不同的模型,比如 CNN, RNN, DBN...他們的解法也會不同。
Deep Learning 目前非常流行,因為他們在圖像,視覺,語音等各種應用中表現出了很好的 empirical performance。并且利用 gpu 的并行運算,在模型相當復雜,數據特別大量的情況下,依然可以達到很理想的學習速度。
因為 Deep Learning 往往會構建多層數,多節點,多復雜度的模型,人們依然缺乏多里面學習的結構模型的理解。很多時候,Deep Learning 甚至會被認為擁有類似于人類神經網絡的結構,并且這種類似性被當做 deep learning 居然更大 potential 的依據。但答主個人認為,其實這略有些牽強...聽起來更像是先有了這種 network 的結構,再找一個類似性。當然,這僅僅是個人觀點...(私貨私貨)
3)大數據(Big Data,我們也叫他逼格數據....)是對數據和問題的描述。通常被廣泛接受的定義是 3 個 V 上的“大”:Volume(數據量), Velocity(數據速度)還有 variety(數據類別)。大數據問題(Big-data problem)可以指那種在這三個 V 上因為大而帶來的挑戰。
Volume 很好理解。一般也可以認為是 Large-scale data(其實學術上用這個更準確,只是我們出去吹逼的時候就都叫 big data 了...)。“大”可以是數據的維度,也可以是數據的 size。一般 claim 自己是 big-data 的算法會比較 scalable,復雜度上對這兩個不敏感。算法和系統上,人們喜歡選擇并行(Parallel),分布(distributed)等屬性的方法來增加 capability。
Velocity 就是數據到達的速度。對于數據高速到達的情況,需要對應的算法或者系統要有效的處理。而且數據在時間上可能存在變化,對應的算法或者系統居然做出調整和即時判斷,以適應新的數據。這就要求我們提出高效(Efficiency),即時(real-time),動態(dynamic),還有有預測性(predictive)等等....
Variaty 指的是數據的類別。以往的算法或者系統往往針對某一種已知特定類別的數據來適應。而一般大數據也會指針對處理那些 unstructured data 或者 multi-modal data,這就對傳統的處理方法帶來了挑戰。