數據挖掘和機器學習之間的關係

數據挖掘和機器學習都是隨著互聯網的不斷髮展而逐漸被企業看中的兩種技術,而今天我們就一起來了解一下這兩者之間的關係都有哪些。

統計學猛推公式猛證明各種模型性質,機器學習不管這些,它的目的是預測性能更好的算法,這些模型(機器)有個特點,就是可以自我學習,提高預測性能,按字面意思應該這樣解釋,但實際上並非所有的機器學習算法都有“學習”的特徵的。所以,我認為大家只是在給統計學穿外套、做包裝。

看過一篇文章認為機器學習是指那些具體算法,而數據挖掘則還包括建立和維護數據庫,數據清洗,數據可視化以及結果的使用,要綜合使用到數據庫、人機交互、統計分析和機器學習的技術。

機器學習和數據挖掘以及統計之間的關係表面上很像,但是也有非常大的區別

相似點在於:都是數據分析的工具,三個領域內都有辦法用來分析同一數據,基本原理都很淺顯。

不同點在於:

統計對模型的要求比較苛刻,如謝所引,一定要對模型的各種性質,比如大樣本,小樣本,是否無偏,有多大的variance,是否達到c-rbound,是否一致,後好還要有modelchecking.機器學習很少關心模型在大樣本的情況下如何,也不關心estimator的傳統的性質--這也可能是因為他們的模型太過複雜,無法從數學上證明,這也從一個側面反映了為什麼normaldistribution在統計中的用處如此之大(有了它,很多模型的性質的研究就便的容易了),也有可能是因為他們一般都用在數據量大的地方--但是機器學習卻挺關心另一個東西--error,包括


empiricalerrorandstructuralerror。舉個簡單的例子,我們眼看著神經網絡和支持向量機這兩種網絡模型很流行,很容易懂,很有用,但是很多人卻不知道它們來自何處,為什麼能具有對廣泛的數據擁有廣泛的用途,為什麼精度會很高?--背後的原因很簡單,它們兩分別優化的是這兩種error。而機器學習正是著眼於研究這兩種error,通過這兩種error的研究垮身為一種具有很濃數學味道的學科--用了大量的分析學--而這一點也是它與數據挖掘的本質區別--數據挖掘只需要設計一張魚網(算法),在大量的數據中網到自己需要的模式,很多時候相當的需要運氣。所以很多人都說這是漁夫的工作。

統計學習和機器學習的差別不怎麼大。倒是統計建模和機器學習有些差別。2001年Brieman(是這麼拼的嗎?)寫了一篇文章,叫做statisticalmodeling:twocultures,介紹了之間的區別。統計建模是基於數據的概率分佈的。因此統計模型中很重視推斷inference,這些推斷,比如假設檢驗,置信區間,都是基於某種分佈假設的。而機器學習近本的問題,便是要小化預測誤差的某種度量。這兩種方法對於世界的認知是不同的。統計建模,終的目的,是獲得數據的概率分佈,如果數據產生的分佈已知,那麼就天下大吉。統計建模認為世界可以用概率分佈來逼近。而機器學習不這麼認為,它不在乎數據產生於什麼分佈,並且認為這個世界運行的方式是無法單純用概率分佈來解釋的,比如神經網絡。因此,它的目的,是預測的精準性。這是兩種建模的方式,而歸根結底,是對這個世界認知的方式。

統計學習更傾向於模型,通常會基於某種已知的模型就行計算。而機器學習更傾向於數據本身,往往會通過某些算法(決策樹,聚類,支持向量機,神經網絡等)來從數據本身挖掘信息。


分享到:


相關文章: