「機器學習」:不得不知的概念(3)
1 引言
在上一篇推送中我們總結了機器學習第一課:一些最最基本的概念,比如特徵,訓練集,維數,假設空間等,通過一個例子說明什麼是機器學習的泛化能力。接下來,再通過一個例子說明什麼是歸納偏好。
2 歸納偏好
歸納偏好(inductive bias),機器學習演算法在學習過程中對某種型別假設的偏好。
任何一個有效的機器學習演算法必有其歸納偏好,否則它將被假設空間中看似在訓練集上等效的假設所迷惑,而無法生成確定的學習結果,這也是機器學習中非常重要的概念,舉例說明。
3 例子
如果我們在購買某個股票時假定根據兩個主要特徵:股票經紀公司等級和股票最近3個月的漲幅情況,進而判斷是否購買某隻股。
假定股票經紀公司等級取值為3種:A等,B等,C等,不要忘記還要考慮到一種特殊取值 *,即公司等級取ABC中哪個值這個股票我都要買(也就是說這個特徵對於我是否買這隻股是無關緊要的);
股票最近3個月的漲幅情況取值為2種:漲,降,取值哪個都合適 *。
那麼根據這兩個特徵和特徵取值,並且股票的標籤 y 取值為買或不買,因此我們可以得到一個由12種類型的假設組成的假設空間,如下所示:
1. A等 漲
2. A等 降
3. A等 *
4. B等 漲
5. B等 降
6. B等 *
7. C等 漲
8. C等 降
9. C等 *
10. * 漲
11. * 降
12. * *
根據由3條股票的記錄組成的訓練集,如下所示:
A等 漲 買
B等 漲 買
C等 降 不買
根據這3條訓練記錄,得出了其中兩個與訓練集一致的假設,這兩個假設組成的空間稱為樣本空間(version space):
1. * 漲 買
2. C等 * 不買
以上兩個假設都能使得3條訓練整合立,也就是說只要漲我們就買股票,只要是C等,我們就不買股票,並且我們的機器學習演算法對股票經紀公司等級和股票最近3個月的漲幅情況這兩個特徵沒有任何偏好,如果沒有歸納偏好,就會出現同一只股票的預測有時該買,有時不該買的情況。
接下來,來了一隻股票,其特徵值為 C等 漲,如果隨機選取了第一個假設,我們判斷要買,但是如果我們選取了第二個假設,我們判斷不能買。一回買一回不買,顯然我們制定的這個機器學習演算法失靈了。
解決的辦法,要麼制定特徵的歸納偏好,如果偏向於股票經紀公司等級,覺得這個特徵更重要,那麼我們買;
要麼進來更多的訓練資料,消除12種假設中的11個,只留下唯一的一個。
4 總結
以上兩個例子闡述了機器學習中非常重要的兩個概念:
- 泛化能力
- 歸納偏好
5 接下來
接下來,我們將闡述機器學習中,最簡單也是最基本最重要的一個演算法,大致以發問式地思路展開:
迴歸,從最簡單的線性迴歸入手,最小二乘法基於的前提條件是什麼?如果資料誤差不滿足高斯分佈,還能用這個演算法嗎?
為什麼要用到似然函式的相關理論?
最小二乘法,如何用數學的方法直接求出權重引數?
是不是機器學習的目標函式都能像它一樣精確地求出具體的權重引數的計算表示式?
如果不是所有的目標函式都能求出具體的解,那麼有沒有萬能的方法來求解?