「機器學習」(Machine Learning) 一詞,無疑是當今產官學界最火熱名詞;在「大數據」出現以前,機器學習的原名稱作「資料探勘」(Data Mining),字面上看來,便能知悉普遍學者對此一門學問看法的改變,過去因為電腦運算能力有限,相關演算法的開發也較不成熟,因此資料探勘大多僅作為研究人員進行數據分析的工具使用,也被定義為從資料中挖出有意義的資訊,別名:資料挖礦;但隨著演算法的進化、電腦運算能力的提升,輔以大數據的力量,這些演算方法論漸趨繁雜,思考維度更多元,因此演算法推演過程漸漸無法被科學家完整地闡釋,因而被稱作「機器智慧」,即為機器學習後所擁有的智慧。
機器學習的運作方式
傳統的程式機器人屬於人造智慧 (Man-made Intelligence),簡單來說,工程師將規則、限制、知識及相關參數完整設置過後,最後由使用者來與程式機器人互動,因此在程式設計中,必須要相當細化去設計每個細節,對應每個不同的情境,但是機器智慧 (Machine Intelligence)運作方式有別於傳統的人造智慧,將設計規則的過程轉換為機器學習的模型,再透過機器模型的反覆學習,轉換成機器智慧。(如下圖所示)
舉例而言,假設今天要設計一個五子棋對弈機器人,傳統人造智慧的方式,會先將五子棋規則寫進程式,並參考五子棋高手的下棋邏輯,並設計出獲勝的套路 or 設計如何阻止使用者獲勝,經過完整的設計後,基於此縝密的規則下,使用者與之對弈;而機器學習的方式則是,將大量五子棋大量的棋譜,輸入機器學習模型,讓機器主動判讀其中的規則及獲勝的方法,最後發展成機器智慧,在與使用者對弈。
下棋的例子可能稍微抽象,這邊再舉「影像辨識」為例,假設今天要設計出一個動物識別的APP,傳統人造智慧會需要擷取不同動物的特徵,從影像中找出動物的外型輪廓,設計辨識規則:幾條腿、體型大小、五官特徵、毛色等,再行輸出判定結果為貓、狗或是牛、羊;而機器智慧則為輸入大量動物的圖片至演算法中,並提供動物確切名稱給機器模型,透過不斷反覆、大量的學習後,便能從未看過的圖片中辨別認識的動物。
機器學習的力量
在 AlphaGO 出現之前(沒聽過可參考:AlphaGO打敗世界棋王,李世石),圍棋一直被科學家視為機器智慧無法超越人腦的最後一道防線,因為圍棋的排列組合極其複雜,棋局變化多端,無法以傳統程式設計出一個能打敗圍棋高手的AI,但在大數據及機器學習的推波助瀾下,機器學習所生成的智慧顯然已超越人腦的思考能力。(其運作方式暫不討論,詳閱:淺談AlphaGO所涉及的深度學習技術)
經典的機器學習
機器學習一般分為兩個種類:「監督式學習」(supervised learning)、「非監督式學習」(unsupervised learning)。
監督式學習顧名思義即為演算法中,有一位監督者(這邊稱作老師),老師會指導機器模型一個正確答案,辨別對錯、物品種類、算式結果...等,讓機器在老師的指導經驗中學習,最後離開校園後,機器便能依據過往所學習到的經驗,辨別最佳的答案,常見的領域為分類、回歸、推薦系統。
非監督式學習則為沒有老師指導正確的答案,舉例來說,班上的同學皆各自有愛好,在學校中便會自動組成各自的小團體,便好比非監督式學習,因為愛好相同、特質相似,而形成各自的群組,而各群組的內部成員中行為模式也相當類似,也因此當班上有轉學生加入時,機器便能依據目前班上的群組,自動分辨這位同學可能將加入哪個群組,常見的領域則為分群、關聯性分析。
上圖則是經典機器學習的五個領域,以及各領域常見的演算法,下篇將介紹各演算法常見的應用領域!歡迎有興趣的讀者們,敬請鎖定自由團隊,若您有其他想法,歡迎提出您的觀點與建議,進一步與我們交流!(AI.Free.Team@gmail.com)