機器學習的4種模型

前篇引導:日星月異的科技 - 機器學習

前篇我們介紹了預先把有毒菇類的資料標籤 (Label)為1、沒有毒的菇類資料標籤為0,讓機器學會辨識有毒菇的方法,事實上叫做「監督式學習」,除此之外還有「非監督式學習」:

  • 監督式學習 (Supervised Learning):

    在訓練的過程中告訴機器答案,也就是「有標籤」的資料,比如給機器各看了1000張蘋果和橘子的照片後,詢問機器新的一張照片中是蘋果還是橘子。

  • 非監督式學習 (Unsupervised Learning):

    訓練資料沒有標準答案、不需要事先以人力輸入標籤,故機器在學習時並不知道其分類結果是否正確。訓練時僅須對機器提供輸入範例,它會自動從這些範例中找出潛在的規則。

這時你可能會想,難道監督式學習和非監督式學習就是彼此涇渭分明?在實際應用中,將大量的資料一一進行標籤是即為耗費人工的事情,最常見的狀況是──少部分資料有標籤,而大部分資料沒有標籤、且數量遠大於有標籤的資料,畢竟要標籤資料費時費力、蒐集無標籤的資料更快速方便。

這時候我們可以採用:

  • 半監督學習 (Semi-supervised learning):

    介於監督學習與非監督學習之間,半監督學習 (Semi-supervised learning):介於監督學習與非監督學習之間。 以下是半監督學習的簡單示意。在將資料分群的過程當中,先使用有標籤過的資料先切出一條分界線,再利用剩下無標籤資料的整體分布,調整出兩大類別的新分界。如此不但具有非監督式學習高自動化的優點,又能降低標籤資料的成本。

前面我們提到監督式學習在面對一個指定問題時,可以明確告訴你正確的答案是什麼,比如今天會下雨或不會下雨、或是這封信該不該丟到你的垃圾郵件匣。

但遇到某些需要連續做決策的情況時,答案就不是一步就能解決了。比如下棋需要根據對手的攻勢隨時改變策略、或是開車會遇到的不同路況,為了達到贏棋或者通過山路的最終目的,必須因應環境的變動、隨之改變原有的作法。

所以就需要另一種方法:

  • 增強學習 (reinforcement learning):

    透過觀察環境而行動,並會隨時根據新進來的資料逐步修正、以獲得最大利益。 強化學習的一個經典理論「馬可夫決策過程」(Markov Decision Process)有一個中心思想,叫「明天的世界只和今天有關、和昨天無關了。」(The future is independent of the past given the present.)

    在馬可夫決策過程中,機器會進行一系列的動作;而每做一個動作、環境都會跟著發生變化。若環境的變化是離目標更接近、我們就會給予一個正向反饋(Positive Reward),比如當機器投籃時越來越接近籃框;若離目標更遠、則給予負向反饋(Negative Reward),比如賽車時機器越開越偏離跑道。雖然我們並沒有給予機器標籤資料,告訴它所採取的哪一步是正確、哪一步是錯誤的,但根據反饋的好壞,機器會自行逐步修正、最終得到正確的結果。

原則上無需考慮以前的狀態,當前狀態便已傳達出、所有能讓機器算出下一步最佳行動的資訊;簡單來說就是每一個事件只受到前一個事件的影響。

打敗世界棋王的Google AlphaGo便是馬可夫假設一個成功的應用。

結語

機器學習是相當實務的一門學科,資料科學家的最終目標是找到最好解決問題的方法,會依據資料量、資料類型與運算效能等現實情況,而選擇採用不同的模型,未來或許有更多突破現狀的機器學習模型,可以用更簡單的方式達到未來科技的需求。