讀古今文學網 > 機器學習實戰 > 1.2 關鍵術語 >

1.2 關鍵術語

在開始研究機器學習算法之前,必須掌握一些基本的術語。通過構建下面的鳥類分類系統,我們將接觸機器學習涉及的常用術語。這類系統非常有趣,通常與機器學習中的專家系統有關。開發出能夠識別鳥類的計算機軟件,鳥類學者就可以退休了。因為鳥類學者是研究鳥類的專家,因此我們說創建的是一個專家系統。

表1-1是我們用於區分不同鳥類需要使用的四個不同的屬性值,我們選用體重、翼展、有無腳蹼以及後背顏色作為評測基準。現實中,你可能會想測量更多的值。通常的做法是測量所有可測屬性,而後再挑選出重要部分。下面測量的這四種值稱之為特徵,也可以稱作屬性,但本書一律將其稱為特徵。表1-1中的每一行都是一個具有相關特徵的實例。

表1-1 基於四種特徵的鳥物種分類表

體重(克) 翼展(厘米) 腳 蹼 後背顏色 種 屬 1 1000.1 125.0 無 棕色 紅尾鵟 2 3000.7 200.0 無 灰色 鷺鷹 3 3300.0 220.3 無 灰色 鷺鷹 4 4100.0 136.0 有 黑色 普通潛鳥 5 3.0 11.0 無 綠色 瑰麗蜂鳥 6 570.0 75.0 無 黑色 象牙喙啄木鳥

表1-1的前兩種特徵是數值型,可以使用十進制數字;第三種特徵(是否有腳蹼)是二值型,只可以取0或1;第四種特徵(後背顏色)是基於自定義調色板的枚舉類型,這裡僅選擇一些常用色彩。如果僅僅利用常見的七色作為評測特徵,後背顏色也可以是一個整數。當然在七色之中選擇一個作為後背顏色有些太簡單了,但作為專家系統的演示用例,這已經足夠了。

如果你看到了一隻象牙喙啄木鳥,請馬上通知我!而且千萬不要告訴任何人。在我到達之前,一定要看住它,別讓它飛跑了。(任何發現活的象牙喙啄木鳥的人都可以得到5萬美元的獎勵。)

機器學習的一項任務就是分類。本節我們講述如何使用表1-1進行分類,標識出象牙喙啄木鳥從而獲取5萬美元的獎勵。大家都想從眾多其他鳥類中分辨出象牙喙啄木鳥,並從中獲利。最簡單的做法是安裝一個餵食器,然後僱傭一位鳥類學者,觀察在附近進食的鳥類。如果發現象牙喙啄木鳥,則通知我們。這種方法太昂貴了,而且專家在同一時間只能出現在一個地方。我們可以自動化處理上述過程,安裝多個帶有照相機的餵食器,同時接入計算機用於標識前來進食的鳥。同樣我們可以在餵食器中放置稱重儀器以獲取鳥的體重,利用計算機視覺技術來提取鳥的翅長、腳的類型和後背色彩。假定我們可以得到所需的全部特徵信息,那該如何判斷飛入進食器的鳥是不是象牙喙啄木鳥呢?這個任務就是分類,有很多機器學習算法非常善於分類。本例中的類別就是鳥的物種,更具體地說,就是區分是否為象牙喙啄木鳥。

最終我們決定使用某個機器學習算法進行分類,首先需要做的是算法訓練,即學習如何分類。通常我們為算法輸入大量已分類數據作為算法的訓練集。訓練集是用於訓練機器學習算法的數據樣本集合,表1-1是包含六個訓練樣本的訓練集,每個訓練樣本有4種特徵、一個目標變量,如圖1-2所示。目標變量是機器學習算法的預測結果,在分類算法中目標變量的類型通常是離散型的,而在回歸算法中通常是連續型的。訓練樣本集必須確定知道目標變量的值,以便機器學習算法可以發現特徵和目標變量之間的關係。正如前文所述,這裡的目標變量是物種,也可以簡化為標稱型的數值。我們通常將分類問題中的目標變量稱為類別,並假定分類問題只存在有限個數的類別。

圖1-2 特徵和標識的目標變量

注意:特徵或者屬性通常是訓練樣本集的列,它們是獨立測量得到的結果,多個特徵聯繫在一起共同組成一個訓練樣本。

為了測試機器學習算法的效果,通常使用兩套獨立的樣本集:訓練數據和 測試數據。當機器學習程序開始運行時,使用訓練樣本集作為算法的輸入,訓練完成之後輸入測試樣本。輸入測試樣本時並不提供測試樣本的目標變量,由程序決定樣本屬於哪個類別。比較測試樣本預測的目標變量值與實際樣本類別之間的差別,就可以得出算法的實際精確度。本書的後續章節將會引入更好地使用測試樣本和訓練樣本信息的方法,這裡就不再詳述。

假定這個鳥類分類程序,經過測試滿足精確度要求,是否我們就可以看到機器已經學會了如何區分不同的鳥類了呢?這部分工作稱之為知識表示,某些算法可以產生很容易理解的知識表示,而某些算法的知識表示也許只能為計算機所理解。知識表示可以採用規則集的形式,也可以採用概率分佈的形式,甚至可以是訓練樣本集中的一個實例。在某些場合中,人們可能並不想建立一個專家系統,而僅僅對機器學習算法獲取的信息感興趣。此時,採用何種方式表示知識就顯得非常重要了。

本節介紹了機器學習領域涉及的關鍵術語,後續章節將會在必要時引入其他的術語,這裡就不再進一步說明。下一節將會介紹機器學習算法的主要任務。