何謂“機器學習”,學界尚未有統一的定義。本文摘取Tom Mitchell、Christopher M. Bishop、去年出版的《深度學習》和側重實戰的《數據挖掘》,總結了四種機器學習主流定義。更好地研究“機器學習”,并繼續擴展和完善它的定義,也有助于我們理解機器學習的本質。
你或許已經讀過許多關于機器學習的深度和和半深度的文章,并探討了機器學習與眾多其他主題的關系。在討論如此復雜的概念時,回到最初的一些共同參考資料總是一個好主意;問題是,對于機器學習這樣的主題,存在無數這樣的參考資料。
所以我想,為什么不研究一下這些參考點呢?
這是一篇不那么嚴肅的帖子,旨在探討機器學習的本質。
話不多說,作為一個看似屬于語義學的練習,讓我們來探索一下關于機器學習的定義。
Tom Mitchell:根據優化過程抽象定義機器學習
第一個定義,是我個人最喜歡的,來自著名的計算機科學家、機器學習研究者,卡內基梅隆大學的 Tom Mitchell 教授。
對于某類任務 T 和性能度量 P,如果一個計算機程序在 T 上以 P 衡量的性能隨著經驗 E 而自我完善,那么我們稱這個計算機程序在從經驗 E 中學習。[1]
Mitchell 的這個定義在機器學習領域是眾所周知的,并且經受了時間的考驗。這句話首次出現在他 1997 年出版的Machine Learning一書中。
這句話對我個人產生了很大的影響,多年來我多次提到它,并在碩士論文中引用了這個定義。在 Goodfellow, Bengio & Courville 最近出版的權威著作《深度學習》(Deep Learning) 的第 5 章中,這段引文也占據了突出位置,成為該書對學習算法的解釋的出發點。
下圖是 Mitchell 定義的圖示:
圖 1:The Mitchell Paradigm
“花書”《深度學習》:論計算在機器學習中的重要性
說到 Goodfellow、Bengio 和 Courville,就不得不提他們合著的《深度學習》,這本書對機器學習是這樣定義的:
機器學習本質上屬于應用統計學,更多地關注如何用計算機統計地估計復雜函數,不太關注為這些函數提供置信區間。[2]
Mitchell 對機器學習的定義在應用中不再適用;它側重于優化過程的具體組成部分,這些組成部分通常與機器學習有關,但它沒有規定應該如何在實踐中接近它。
《深度學習》中對機器學習的定義在本質上要規范得多,它指出計算能力得到了利用 (實際上強調了對計算能力的使用),而傳統的統計概念置信區間則不再強調。
實戰數據挖掘:“學習”必須是有意地去學習
在我看來,另一個特別值得注意的關于機器學習的定義來自 Witten, Frank & Hall 所著的《數據挖掘:實用機器學習工具與技術》,這是我第一本完整閱讀了的關于這個主題的書。
《數據挖掘》這本書很少涉及數學,但有很多實用性的解釋。對于剛進入機器學習領域的人,“數據挖掘” 很長一段時間是我的首選推薦。
作者對機器學習最初定義有點零散,他們試圖在機器學習和數據挖掘的背景中將學習、性能和知識這些概念編織在一起。但其中一些語句值得注意:
我們感興趣的是在新的情況下得到性能的改進,或至少有性能改進的潛力。
當系統以一種使它們在未來表現更好的方式改變自己的行為時,它們就會學習。
學習意味著思考和目標。學習必須是有意地去學習。
經驗表明,在機器學習和數據挖掘的許多應用中,所獲得的顯式知識結構、結構描述,至少與在新實例中表現良好的能力同等重要。人們經常使用數據挖掘來獲取知識,而不僅僅是用來預測。
“數據挖掘”這個術語被用作機器學習的補充術語。上面引用的語句出自這本書的第三版,出版于 2011 年,當時數據挖掘這個詞比現在更有吸引力;即使不說是引用自數據挖掘的書,上面所寫的內容對機器學習本身也適用。
Witten, Frank & Hall 為機器學習的定義提供了一個不同的角度:Mitchell 專注于優化過程的特定組成部分,Goodfellow, Bengio & Courville 傾向于一種更規范的定義,并強調計算能力的相對重要性,這個定義則嘗試側重 “learning” 的哪些方面在機器學習過程中是類似和重要的。
上面引用的語句還提供了一個重要的點,兼具實用性和哲學性,即最后一段,指出獲得知識和使用這些知識的能力都是機器學習的重要方面。
Christopher Bishop:從算法的角度定義
最后,讓我們來看 Christopher Bishop 在《模式識別和機器學習》一書中對機器學習的定義。值得注意的是,Bishop 沒有開門見山地定義這個術語,但是很好地隱式地提供了以算法為中心的機器學習的定義 (在一個數字分類任務中討論到):
機器學習算法的結果表示為一個函數 y (x),它以一個新的數字的圖像 x 作為為輸入,產生向量 y,與 target vector 的形式相同。
函數 y (x) 的精確形式是在訓練階段(trainingphase) 確定的,也稱為學習階段 (learningphase),以訓練數據為基礎。
一旦模型被訓練出來,就可以用來判斷新的數字圖像 (新樣本) 對應的標簽,這些新樣本的集合被稱為測試集。
正確分類與訓練集不同的新樣本的能力叫做泛化(generalization)。在實際應用中,輸入向量的可變性使得訓練數據只能包含所有可能輸入向量的很小一部分,因此泛化是模式識別的一個中心目標。[4]
首先,除了我們討論的機器學習是有監督學習,而不是無監督學習或強化學習 (或其他形式的機器學習) 外,上面的引用對 “模式識別” 沒有更多的解釋。
其次,也是更重要的一點,這是唯一對機器學習所需步驟逐步處理的定義,無論這些步驟在這個例子中可能多么簡短。
同樣有趣的是,隨后的頁面,以及 Bishop 的書一半的篇幅概述了許多額外的機器學習概念,并將它們很好地結合在一起,提供了具有可讀性的介紹,而不至于陷入數學的困境 (書中的其余部分解釋了數學)。
這樣,我們已經有四種方法來定義機器學習:一種是根據它的優化過程,抽象地定義它機器學習;第二種更有規范性,并指出計算在機器學習中的重要性;第三定義側重于“學習”的哪些方面在機器學習過程中是類似的和重要的;最后一個定義從算法的角度概述了機器學習。
這些定義都不是不正確,但都不完整。探討先驅者和受人尊敬的研究人員所認為的 “機器學習”,將擴展我們自己對機器學習的定義。
-
機器學習
+關注
關注
66文章
8406瀏覽量
132565 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113
原文標題:機器學習的本質是什么?
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論