1. 程式人生 > >Peter教你談情說AI | 02什麼是機器學習

Peter教你談情說AI | 02什麼是機器學習

什麼是機器學習?機器學習就是:不通過人類直接指定的規則,而是通過機器自身執行,習得事物的規律和事物間的關聯。


一個故事說明什麼是機器學習

既然機器是有可能自己學習事物規律的,那麼如何才能讓它學到規律呢? 我們先來看一個故事:


我的一個朋友小Y,他就不是那麼守時,最常見的表現是他經常遲到。當有一次我跟他約好3點鐘在某個麥當勞見面時,在我出門的那一刻我突然想到一個問題:我現在出發合適麼?我會不會又到了地點後,花上30分鐘去等他?我決定採取一個策略解決這個問題。


要想解決這個問題,有好幾種方法。第一種方法是採用知識:搜尋能夠解決這個問題的知識。但很遺憾,沒有人會把如何等人這個問題作為知識傳授,因此不可能找到已有的知識能夠解決這個問題。第二種方法是問他人:去詢問他人獲得解決這個問題的能力。但是同樣的,這個問題沒有人能夠解答,因為可能沒人碰上跟我一樣的情況。第三種方法是準則法:我問自己的內心,我有否設立過什麼準則去面對這個問題?例如,無論別人如何,我都會守時到達。但我不是個死板的人,我沒有設立過這樣的規則。

事實上,我相信有種方法比以上三種都合適。把過往跟小Y相約的經歷在腦海中重現一下,看看跟他相約的次數中,遲到佔了多大的比例。利用這來預測他這次遲到的可能性。如果這個值超出了心裡的某個界限,那就選擇等一會再出發。假設我跟小Y約過5次,他遲到的次數是1次,那麼他按時到的比例為 80%,我心中的閾值為70%,我認為這次小Y應該不會遲到,因此我按時出門。如果小Y在5次遲到的次數中佔了4次,也就是他按時到達的比例為20%,由 於這個值低於我的閾值,因此我選擇推遲出門的時間。這個方法從它的利用層面來看,又稱為經驗法。在經驗法的思考過程中,我事實上利用了以往所有相約的資料。因此也可以稱之為依據資料做的判斷。


再把這個故事深度發揮一下,假設我把時間作為自變數,譬如我發現小Y所有遲到的日子基本都是星期五,而在非星期五情況下他基本不遲到。於是我可以建立一個模型來模擬小Y遲到與否跟日子是否是星期五的概率。見下圖:

640?wx_fmt=jpeg

這樣的圖就是一個最簡單的機器學習模型,稱之為決策樹

再複雜一點,假設小Y的遲到跟天氣也有一定的原因,如果我希望能夠預測小Y遲到的具體時間,我可以把他每次遲到的時間跟雨量的大小以及前面考慮的自變數統一建立一個模型。於是我的模型可以預測值,例如他大概會遲到幾分鐘。這樣可以幫助我更好的規劃我出門的時間。在這樣的情況下,決策樹就無法很好地支撐了,因為決策樹只能預測離散值。我們可以以後課程會介紹的線型迴歸

方法建立這個模型。


所以,機器學習方法是計算機利用已有的資料(經驗),得出了某種模型(遲到的規律),並利用此模型預測未來(是否遲到)的一種方法。


有監督學習 vs 無監督學習

有監督學習

640?wx_fmt=jpeg

上圖可以當做分辨老鼠的“老鼠分類器“,每一張照片是一個數據樣本(Sample)。下面對勾或者叉子,就是這個資料樣本的標籤(Label)。而給樣本打上標籤的過程,就叫做標註(Labeling)。標註這件事情,機器學習程式自己是解決不了的,必須依靠外力。

這種通過標註資料進行學習的方法,就叫做有監督學習或直接叫監督學習(Supervised Learning)。


無監督學習

反過來,如果用於學習的資料只有樣本,沒有標籤,那麼通過這種無標註資料進行學習的方法,就叫做無監督學習(Unsupervised Learning)

比如說,我們有這樣六個樣本:

640?wx_fmt=jpeg

要做的事情是,將根據她們的體貌將區分她們的種族。

明明是六匹馬,為什麼還要分種族?因為在小馬(《Little Pony》)的世界裡,小馬(Pony)在馬這個大類之下,還有細分的種族。

我可以告訴你,要關注的特徵(Features)是:獨角和翅膀。而她們一共可以被歸為3個小馬種族。

這樣你是不是就能分出來了——兩個有獨角的一組(她們叫獨角獸);兩個有翅膀的一族(她們叫飛馬);另外兩個很正常的一組(她們叫陸馬)。

OK!聚類完成。這就是無監督學習的過程。

【推薦閱讀】

Peter教你談情說AI | 01導讀


輕輕一掃  歡迎關注~

640?wx_fmt=jpeg

如果覺得好,請

轉發

轉發

轉發