什么是机器学习?有哪些分类?到底有什么用?终于有人讲明白了
導讀:在業界,近些年來機器學習在人機對弈、語音識別、圖像識別等場景下取得了蓬勃發展,引發了人們對人工智能改造未來社會的無限熱情和期待。但在學界,卻有不少科學家指出了機器學習的發展局限。加拿大滑鐵盧大學教授Shai Ben-David探索的就是這樣一個機器學習的本質問題:我們能不能判定人工智能的可學習性?
Shai Ben-David通過研究給出的答案是:不一定!他指出,如果一個問題只需要“是”或“否”的回答,我們還是可以確切地知道這個問題可否被機器學習算法解決。但是,一旦涉及到更一般的設置時,我們就無法區分可學習和不可學習的任務了。
那么機器學習都能解決哪些問題?讓我們回歸本質,探討一下機器學習最基礎知識及應用。
01 什么是學習
我們首先來看幾個存在于大自然的動物學習的例子。從這些熟悉的例子中可以看出,機器學習的一些基本問題也存在于自然界。
1. 怯餌效應——老鼠學習躲避毒餌
當老鼠遇到有新穎外觀或氣味的食物時,它們首先會少量進食,隨后的進食量將取決于事物本身的風味及其生理作用。如果產生不良反應,那么新的食物往往會與這種不良后果相關聯,隨之,老鼠不再進食這種食物。很顯然,這里有一個學習機制在起作用——動物通過經驗來獲取判斷食物安全性的技能。如果對一種食物過去的經驗是負標記的,那么動物會預測在未來遇到它時也會產生負面影響。
前文的示例解釋了什么是學習成功,下面我們再舉例說明什么是典型的機器學習任務。假設我們想對一臺機器進行編程,使其學會如何過濾垃圾郵件。一個最簡單的解決方案是仿照老鼠學習躲避毒餌的過程。機器只須記住所有以前被用戶標記為垃圾的郵件。當一封新郵件到達時,機器將在先前垃圾郵件庫中進行搜索。如果匹配其中之一,它會被丟棄。否則,它將被移動到用戶的收件箱文件夾。
雖然上述“通過記憶進行學習”的方法時常是有用的,但是它缺乏一個學習系統的重要特性——標記未見郵件的能力。一個成功的學習器應該能夠從個別例子進行泛化,這也稱為歸納推理。在“怯餌效應”例子中,老鼠遇到一種特定類型的食物后,它們會對新的、沒見過的、有相似氣味和口味的食物采取同樣的態度。
為了實現垃圾郵件過濾任務的泛化,學習器可以掃描以前見過的電子郵件,并提取那些垃圾郵件的指示性的詞集;然后,當新電子郵件到達時,這臺機器可以檢查它是否含有可疑的單詞,并相應地預測它的標簽。這種系統應該有能力正確預測未見電子郵件的標簽。
但是,歸納推理有可能推導出錯誤的結論。為了說明這一點,我們再來思考一個動物學習的例子。
2. 鴿子迷信
心理學家B. F. Skinner進行過一項實驗,他在籠子里放了一群饑餓的鴿子。籠子上附加了一個自動裝置,不管鴿子當時處于什么行為狀態,都會以固定的時間間隔為它們提供食物。饑餓的鴿子在籠子里走來走去,當食物第一次送達時,每只鴿子都在進行某項活動(啄食、轉動頭部等)。食物的到來強化了它們各自特定的行為,此后,每只鳥都傾向于花費更多的時間重復這種行為。
接下來,隨機的食物送達又增加了每只鳥做出這種行為的機會。結果是,不管第一次食物送達時,每只鳥處于什么行為狀態,這一連串的事件都增強了食物送達和這種行為之間的關聯。進而,鴿子們也更勤奮地做出這種行為。
了解更多:
http://psychclassics.yorku.ca/Skinner/Pigeon
有用的學習機制與形成迷信的學習機制有何差別?這個問題對自動學習器的發展至關重要。盡管人類可以依靠常識來濾除隨機無意義的學習結論,但是一旦我們將學習任務付之于一臺機器,就必須提供定義明確、清晰的規則,來防止程序得出無意義或無用的結論。發展這些規則是機器學習理論的一個核心目標。
是什么使老鼠的學習比鴿子更成功?作為回答這個問題的第一步,我們仔細看一下老鼠在“怯餌效應”實驗中的心理現象。
3. 重新審視“怯餌效應”——老鼠未能獲得食物與電擊或聲音與反胃之間的關聯
老鼠的怯餌效應機制可能比你想象中的更復雜。Garcia進行的實驗(Garcia & Koelling 1996)表明,當進食后伴隨的是不愉快的刺激時,比如說電擊(不是反胃反應),那么關聯沒有出現。即使將進食后電擊的機制重復多次,老鼠仍然傾向于進食。
同樣,食物引起的反胃(口味或氣味)與聲音之間的關聯實驗也失敗了。老鼠似乎有一些“內置的”先驗知識,告訴它們,雖然食物和反胃存在因果相關,但是食物與電擊或聲音與反胃之間不太可能存在因果關系。
由此我們得出結論,怯餌效應和鴿子迷信的一個關鍵區別點是先驗知識的引入使學習機制產生偏差,也稱為“歸納偏置”。在實驗中,鴿子愿意采取任何食物送達時發生的行為。然而,老鼠“知道”食物不能導致電擊,也知道與食物同現的噪音不可能影響這種食物的營養價值。老鼠的學習過程偏向于發現某種模式,而忽略其他的關聯。
事實證明,引入先驗知識導致學習過程產生偏差,這對于學習算法的成功必不可少(正式陳述與證明參見“沒有免費的午餐”定理)。這種方法的發展,即能夠表示領域知識,將其轉化為一個學習偏置,并量化偏置對學習成功的影響,是機器學習理論的一個核心主題。粗略地講,具有的先驗知識(先驗假設)越強,越容易從樣本實例中進行學習。但是,先驗假設越強,學習越不靈活——受先驗假設限制。
02 什么時候需要機器學習
什么時候需要機器學習,而不是直接動手編程完成任務?在指定問題中,程序能否在“經驗”的基礎上自我學習和提高,有兩方面的考量:問題本身的復雜性和對自適應性的需要。
1. 過于復雜的編程任務
動物/人可執行的任務:雖然人類可以習慣性地執行很多任務,但是反思我們如何完成任務的內省機制還不夠精細,無法從中提取一個定義良好的程序。汽車駕駛、語音識別和圖像識別都屬于此類任務。面對此類任務,只要接觸到足夠多的訓練樣本,目前最先進的機器學習程序,即能“從經驗中學習”的程序,就可以達到比較滿意的效果。
超出人類能力的任務:受益于機器學習技術,另一大系列任務都涉及對龐大且復雜的數據集進行分析:天文數據,醫療檔案轉化為醫學知識,氣象預報,基因組數據分析,網絡搜索引擎和電子商務。隨著越來越多的數字數據的出現,顯而易見的是,隱含在數據里的有意義、有價值的信息過于龐大復雜,超出了人類的理解能力。學習在大量復雜數據中發現有意義的模式是一個有前途的領域,無限內存容量加上不斷提高的處理速度,更為這一領域開辟了新的視野。
2. 自適應性
編程的局限之一是其刻板性——一旦程序的編寫與安裝完成,它將保持不變。但是,任務會隨著時間的推移而改變,用戶也會出現變更。機器學習方法——其行為自適應輸入數據的程序——為這個難題提供了一個解決方案。機器學習方法天生具備自適應于互動環境變化的性質。
機器學習典型的成功應用有:能夠適應不同用戶的手寫體識別,自動適應變化的垃圾郵件檢測,以及語音識別。
03 學習的種類
學習是一個非常廣泛的領域。因此,機器學習根據學習任務的不同分為不同的子類。這里給出一個粗略的分類,下面給出四種分類方式。
1. 監督與無監督
學習涉及學習器與環境之間的互動,那么可以根據這種互動的性質劃分學習任務。首先需要關注的是監督學習與無監督學習之間的區別。
下面以垃圾郵件檢測和異常檢測為例說明。對于垃圾郵件檢測任務,學習器的訓練數據是帶標簽的郵件(是/否垃圾郵件)。在這種訓練的基礎上,學習器應該找出標記新電子郵件的規則。相反,對于異常檢測任務,學習器的訓練數據是大量沒有標簽的電子郵件,學習器的任務是檢測出“不尋常”的消息。
抽象一點來講,如果我們把學習看做一個“利用經驗獲取技能”的過程,那么監督學習正是這樣的一種場景:經驗是包含顯著信息(是/否垃圾郵件)的訓練數據,“測試數據”缺少這些顯著信息,但可從學到的“技能”中獲取。
此種情況下,獲得的“技能”旨在預測測試數據的丟失信息,我們可以將環境看做通過提供額外信息(標簽)來“監督”學習器的老師。然而,無監督學習的訓練數據和測試數據之間沒有區別。學習器處理輸入數據的目標是提取概括信息(濃縮數據)。聚類(相似數據歸為一類)是執行這樣任務的一個典型例子。
還有一種中間情況,訓練數據比測試數據包含更多的信息,也要求學習器預測更多信息。舉個例子,當學習數值函數判斷國際象棋游戲中白棋和黑棋誰更有利時,訓練過程中提供給學習器的唯一信息是,誰在整個實際的棋牌類游戲中最終贏得那場比賽的標簽。這種學習被稱作“強化學習”。
2. 主動學習器與被動學習器
學習可依據學習器扮演的角色不同分類為“主動”和“被動”學習器。主動學習器在訓練時通過提問或實驗的方式與環境交互,而被動學習器只觀察環境(老師)所提供的信息而不影響或引導它。請注意,垃圾郵件過濾任務通常是被動學習——等待用戶標記電子郵件。我們可以設想,在主動學習中,要求用戶來標記學習器挑選的電子郵件,以提高學習器對“垃圾郵件是什么”的理解。
3. 老師的幫助
人類的學習過程中(在家的幼兒或在校的學生)往往會有一個良師,他向學習者傳輸最有用的信息以實現學習目標。相比之下,科學家研究自然時,環境起到了老師的作用。環境的作用是消極的——蘋果墜落、星星閃爍、雨點下落從不考慮學習者的需求。
在對這種學習情境建模時,我們假定訓練數據(學習者的經驗)是由隨機過程產生的,這是統計機器學習的一個基本構成單元。此外,學習也發生在學習者的輸入是由對立“老師”提供的。
垃圾郵件過濾任務(如果垃圾郵件制作者盡力誤導垃圾郵件過濾器設計者)和檢測欺詐學習任務就是這種情況。當不存在更好的假設時,我們也會使用對立老師這一最壞方案。如果學習器能夠從對立老師中學習,那么遇到任何老師都可以成功。
4. 在線與批量
在線響應還是處理大量數據后才獲得技能,是對學習器的另一種分類方式。舉個例子,股票經紀人必須基于當時的經驗信息做出日常決策。隨著時間推移,他或許會成為專家,但是也會犯錯并付出高昂的代價。相比之下,在大量的數據挖掘任務中,學習器,也就是數據挖掘器,往往是在處理大量訓練數據之后才輸出結論。
04 與其他領域的關系
作為一門交叉學科,機器學習與統計學、信息論、博弈論、最優化等眾多數學分支有著共同點。我們的最終目標是在計算機上編寫程序,所以機器學習自然也是計算機科學的一個分支。在某種意義上,機器學習可以視為人工智能的一個分支,畢竟,要將經驗轉變成專業知識或從復雜感知數據中發現有意義的模式的能力是人類和動物智能的基石。
但是,應該注意的是,與傳統人工智能不同,機器學習并不是試圖自動模仿智能行為,而是利用計算機的優勢和特長與人類的智慧相得益彰。機器學習常用于執行遠遠超出人類能力的任務。例如,機器學習程序通過瀏覽和處理大型數據,能夠檢測到超出人類感知范圍的模式。
機器學習(的經驗)訓練涉及的數據往往是隨機生成的。機器學習的任務就是處理這些背景下的隨機生成樣本,得出與背景相符的結論。這樣的描述強調了機器學習與統計學的密切關系。兩個學科之間確實有很多共同點,尤其表現在目標和技術方面。
但是,兩者之間仍然存在顯著的差別:如果一個醫生提出吸煙與心臟病之間存在關聯這一假設,這時應該由統計學家去查看病人樣本并檢驗假設的正確性(這是常見的統計任務——假設檢驗)。相比之下,機器學習的任務是利用患者樣本數據找出心臟病的原因。我們希望自動化技術能夠發現被人類忽略的、有意義的模式(或假設)。
與傳統統計學不同,算法在機器學習中扮演了重要的角色。機器學習算法要靠計算機來執行,因此算法問題是關鍵。我們開發算法完成學習任務,同時關心算法的計算效率。兩者的另外一個區別是,統計關心算法的漸近性(如隨著樣本量增長至無窮大,統計估計的收斂問題),機器學習理論側重于有限樣本。也就是說,給定有限可用樣本,機器學習理論旨在分析學習器可達到的準確度。
機器學習與統計學之間還有很多差異,我們在此僅提到了少數。比如,在統計學中,常首先提出數據模型假設(生成數據呈正態分布或依賴函數為線性);在機器學習中常考慮“非參數”背景,對數據分布的性質假設盡可能地少,學習算法自己找出最接近數據生成過程的模型。
關于作者:沙伊·沙萊夫-施瓦茨(Shai Shalev-Shwartz),以色列希伯來大學計算機及工程學院副教授,還在Mobileye公司研究自動駕駛。2009年之前他在芝加哥的豐田技術研究所工作。他的研究方向是機器學習算法。
沙伊·本-戴維(Shai Ben-David),加拿大滑鐵盧大學計算機科學學院教授。先后在以色列理工學院、澳大利亞國立大學和康奈爾大學任教。
本文摘編自《深入理解機器學習:從原理到算法》,經出版方授權發布。
延伸閱讀《深入理解機器學習:從原理到算法》
點擊上圖了解及購買
轉載請聯系微信:DoctorData
推薦語:本書介紹機器學習方法的原理及方法,同時引入了學習的計算復雜性、凸性和穩定性、PAC貝葉斯方法、壓縮界等概念,以及隨機梯度下降、神經元網絡和結構化輸出等方法。作者既講述重要的機器學習算法的工作原理和動機,還指出其固有的優勢和缺點,是有興趣了解機器學習理論和方法以及應用的學生和專業人員的良好教材或參考書。
「大數據」內容合伙人之「鑒書小分隊」上線啦!
最近,你都在讀什么書?有哪些心得體會想要跟大家分享?
數據叔最近搞了個大事——聯合優質圖書出版商機械工業出版社華章公司發起鑒書活動。
簡單說就是:你可以免費讀新書,你可以免費讀新書的同時,順手碼一篇讀書筆記就行。詳情請在大數據公眾號后臺對話框回復合伙人查看。
有話要說?
Q:?哪些問題是機器學習無法解決的?
歡迎留言與大家分享
猜你想看?
6本豆瓣高分書,國內外的技術大牛都在看!
關于機器學習的知識點,全在這篇文章里了
入門大爆炸式發展的深度學習,你先要了解這6個著名框架
這才是真正適合小白的教程:Python有什么用?數據化運營怎么做?
更多精彩?
在公眾號對話框輸入以下關鍵詞
查看更多優質內容!
PPT?|?報告?|?讀書?|?書單?|?干貨?
大數據?|?揭秘?|?Python?|?可視化
AI?|?人工智能?|?5G?|?區塊鏈
機器學習?|?深度學習?|?神經網絡
合伙人?|?1024?|?段子?|?數學?|?高考
據統計,99%的大咖都完成了這個神操作
?
覺得不錯,請把這篇文章分享給你的朋友
轉載 / 投稿請聯系:baiyu@hzbook.com
更多精彩,請在后臺點擊“歷史文章”查看
點擊閱讀原文,了解更多
總結
以上是生活随笔為你收集整理的什么是机器学习?有哪些分类?到底有什么用?终于有人讲明白了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解数据存储的 6 种可选技术
- 下一篇: 手把手教你用ECharts画饼图和环形图