機器學習 01:序
監督學習
本節內容介紹可能是最常見一種機器學習問題:那就是監督學習。在正式定義監督學習之前,我們先看一個例子:
Fig 1.1 : 全國商品房平均價格
圖 1.1 展示了 20 年來中國商品房平均價格,這些資料是從國家統計局的網站中搜集來的。橫軸表示年份,縱軸表示每平米房價。現在我想預測 2030 年的房價是多少,我們該怎樣解決這樣的問題?
我們應用學習演算法,可以在這組資料中畫一條直線,或者換句話說,擬合一條直線,根據這條線我們可以推測出 2030 年的平均房價約為 13000 左右,當然這不是唯一的演算法。可能還有更好的,比如我們不用直線擬合這些資料,用二次方程去擬合可能效果會更好。根據二次方程的曲線,我們可以從這個點推測出,2030 年的平均房價為 16400 左右。稍後我們將討論如何選擇學習演算法,如何決定用直線還是二次方程來擬合。這些都是學習演算法裡面很好的例子。以上就是監督學習的例子。
可以看出,監督學習指的就是我們給學習演算法一個數據集。這個資料集由“正確答案”組成。在房價的例子
中,我們給了一系列價的資料,我們給定資料集中每個樣本的正確價格,即它們實際的售價然後運用學習演算法,算出更多的正確答案。用術語來講,這叫做迴歸問題。我們試著推測出一個連續值的結果,即房子的價格。迴歸這個詞的意思是,我們在試著推測出這一系列連續值屬性。
我們再舉另外一個監督學習的例子。圖 1.2 展示了不同型別的鳶尾花的花瓣長度和花瓣寬度的關係。如果我現在有了一組新的鳶尾花的資料,它最有可能是哪一種型別的鳶尾花?這種問題叫做分類,與上一問題不同之處在於:儘管都是預測,但迴歸是推出一個連續的輸出,而分類是推出一組離散的結果。
Fig 1.2 : 不同型別的鳶尾花
無監督學習
上一節介紹了監督學習,以圖 1.2 為例,資料集給出了三種類型的鳶尾花的明確資料並做了標註,也就是資料集給出了正確答案,每個點對應何種型別的鳶尾花。
Fig 1.3 : 不同型別的鳶尾花 (無標記)
現在我們仍然給出鳶尾花的資料 (圖 1.3),但是不同的是,這一次沒有任何的標註。所以我們已知資料集,卻不知如何處理,也未告知每個資料點是什麼。別的都不知道,就是一個數據集。你能從資料中找到某種結構嗎?針對資料集,無監督學習就能判斷出資料有三個個不同的聚集簇。這是一個,這也是一個,那是另一個,三者不同。是的,無監督學習演算法可能會把這些資料分成三個不同的簇。所以叫做聚類演算法。