machine-learning

【陳景祥專欄】當統計專家遇上機器學習專家

作者:淡江大學統計系 陳景祥老師

今天收到某個合作的公司在上海那邊的人所寄來的一封 email,問到統計專家跟機器學習專家(machine learing) 的差異。我想了一下,回覆了這封 email,順便把我的看法在這裡跟大家分享。

Dear XXXXX,

在您所引述的文章中,Ryan Adams 說: “我认为统计学和机器学习最本质的区别在于根本目标不同。统计学家更关心模型的可解释性,而机器学习专家更关心模型的预测能力。”

身為一個也在研究機器學習的統計學家,我必須說,他的角度是錯的,或者說是偏頗的。因為,統計學家當然也關心預測能力。

統計學家跟機器學習專家的差異,在於機器學習專家很少有懂統計的,但是統計學家跨入學機器學習領域卻是非常容易。

事實上,機器學習源於資訊科學領域 (Computer Science),但資訊科學本身並不像統計領域那麼難入門。舉例來說,我在美國留學的時候,當時就見到不少大陸去唸書的女孩子從中文系、歷史系等文科領域直接跳到資訊電腦相關研究所,而且都很快就能進入狀況。反過來說,要掌握統計相關專業卻不是那麼容易。

我這十幾年指導統計研究生的心得是,他們通常都能在很快的時間內(例如半年)搞定機器學習跟程式語言(programming languages)相關的專業,但我們卻無法期待資訊電腦專家們在兩三年內知道統計領域的專業知識。

不管是統計專家或機器學習專家,甚至是太空物理學家,基本上都是想要建立模型(models)來詮釋這世界的種種現象,但主要的差別在於,統計模型有考慮了隨機誤差,並且對隨機誤差有一整套嚴密的解釋體系,但其他領域的專家所建立的模型未必有考量到隨機誤差。

所以主要的差別在於:
一般科學模型: Y = f(X1,X2,…,Xk)
統計模型: Y = f(X1,X2,…,Xk) + 隨機誤差

如果自然界與人類社會的種種現象沒有這個隨機誤差的存在,整個統計領域可以完全消失也無所謂。但事實當然不是這樣。

此外,過度重視「預測能力」也會有誤導的可能性:所謂的「預測能力好」,到底只是特定時間(某幾個月?)、特定空間(只限於某個國家某個地區中的某個公司?) ?還是這樣的模型在不同時空狀況下表現就很差?

接觸過機器學習、資料探勘、類神經網路(Artificial Neural Network)的人大概都知道,如果沒有整個母體(Population)的模型假設加上隨機誤差模型的搭配,很多號稱「表現很好」的模型,其實過一陣子就都會完蛋,也因此經常需要持續不斷的微調參數。可是,話說回來,一個經常需要不斷調整的模型,能夠認為它表現很好嗎?

我最後做個小結論:

1. 機器學習領域往往是透過過去收集的(大量)資料來當作預測的基礎。如果過去的資料並不完整,無法包含所有可能的狀況,這時候機器學習所得的模型就算短時間內預測很精準,但很快就會完蛋。相反的,有考量母體隨機特性的統計模型,因為模型本身就已經把各種可能性都包含在內,就比較不會受到過去局部資料的太大影響。

2. 機器學習相關技術如果有採納「隨機誤差」的觀念,其實就可以視為是統計模型,所以兩者之間的區分並不是那麼的嚴格。反過來說,除非是像 E = m(C 平方) 這種純物理學模型,不考量隨機誤差現象的任何模型,基本上都是局部的、暫時的,無法長遠表現良好。事實上,很多很厲害的物理學家們在量子力學裡面使用了非常高階的統計模型在分析資料,但這樣的睿智未必能在機器學習領域看到。

教學課程請參考:
1.學習影片-R語言入門
2.學習影片-Big Data大數據採礦分析with R語言
3.學習影片-文字探勘與R語言實作