這三個領域或學科交叉和重疊部分很多,數據挖掘,機器學習和統計學習的概念一直有或多或少的混淆,希望同樣有我這樣的困惑的朋友讀完下面的文字能夠清晰一些。
數據庫提供數據管理技術,機器學習和統計學提供數據分析技術。由於統計學界往往醉心於理論的優美而忽視實際的效用,因此,統計學界提供的很多技術通常都要在機器學習界進一步研究,變成有效的機器學習算法之后才能再進入數據挖掘領域。從這個意義上說,統計學主要是通過機器學習來對數據挖掘發揮影響,而機器學習和數據庫則是數據挖掘的兩大支撐技術。從數據分析的角度來看,絕大多數數據挖掘技術都來自機器學習領域。但能否認為數據挖掘只不過就是機器學習的簡單應用呢?答案是否定的。一個重要的區別是,傳統的機器學習研究並不把海量數據作為處理對象,很多技術是為處理中小規模數據設計的,如果直接把這些技術用於海量數據,效果可能很差,甚至可能用不起來。因此,數據挖掘界必須對這些技術進行專門的、不簡單的改造。例如,決策樹是一種很好的機器學習技術,不僅有很強的泛化能力,而且學得結果具有一定的可理解性,很適合數據挖掘任務的需求。但傳統的決策樹算法需要把所有的數據都讀到內存中,在面對海量數據時這顯然是無法實現的。為了使決策樹能夠處理海量數據,數據挖掘界做了很多工作,例如通過引入高效的數據結構和數據調度策略等來改造決策樹學習過程,而這其實正是在利用數據庫界所擅長的數據管理技術。實際上,在傳統機器學習算法的研究中,在很多問題上如果能找到多項式時間的算法可能就已經很好了,但在面對海量數據時,可能連算法都是難以接受的,這就給算法的設計帶來了巨大的挑戰。
總結:
1)統計學習:是其它兩門技術的基礎,更偏重於理論上的完善;
2)機器學習:是統計學習對實踐技術的延伸,更偏重於解決小數據量的問題提供算法技術支撐;
3)數據挖掘:更偏重於大數據的實際問題,更注重實際問題的解決,包括真實數據的數據清洗,建模,預測,等操作。