
第1章
緒論
1.1 引言
傍晚小街路面上沁出微雨后的濕潤,和煦的細風吹來,抬頭看看天邊的晚霞,嗯,明天又是一個好天氣。走到水果攤旁,挑了個根蒂蜷縮、敲起來聲音濁響的青綠西瓜,一邊滿心期待著皮薄肉厚瓤甜的爽落感,一邊愉快地想著,這學期狠下了工夫,基礎概念弄得清清楚楚,算法作業也是信手拈來,這門課成績一定差不了!
希望各位在學期結束時有這樣的感覺。作為開場,我們先大致了解一下什么是“機器學習”(machine learning)。
回頭看第一段話,我們會發現這里涉及很多基于經驗做出的預判。例如,為什么看到微濕路面、感到和風、看到晚霞,就認為明天是好天呢?這是因為在我們的生活經驗中已經遇見過很多類似情況,頭一天觀察到上述特征后,第二天天氣通常會很好。為什么色澤青綠、根蒂蜷縮、敲聲濁響,就能判斷出是正熟的好瓜?因為我們吃過、看過很多西瓜,所以基于色澤、根蒂、敲聲這幾個特征我們就可以做出相當好的判斷。類似的,我們從以往的學習經驗知道,下足了工夫、弄清了概念、做好了作業,自然會取得好成績。可以看出,我們能做出有效的預判,是因為我們已經積累了許多經驗,而通過對經驗的利用,就能對新情況做出有效的決策。
上面對經驗的利用是靠我們人類自身完成的。計算機能幫忙嗎?
機器學習正是這樣一門學科,它致力于研究如何通過計算的手段,利用經驗來改善系統自身的性能,在計算機系統中,“經驗”通常以“數據”形式存在,因此,機器學習所研究的主要內容,是關于在計算機上從數據中產生“模型”(model)的算法,即“學習算法”(learning algorithm)。有了學習算法,我們把經驗數據提供給它,它就能基于這些數據產生模型;在面對新的情況時(例如看到一個沒剖開的西瓜),模型會給我們提供相應的判斷(例如好瓜)。如果說計算機科學是研究關于“算法”的學問,那么類似的,可以說機器學習是研究關于“學習算法”的學問。
本書用“模型”泛指從數據中學得的結果。有文獻用“模型”指全局性結果(例如一棵決策樹),而用“模式”指局部性結果(例如一條規則)。