iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 21
0
Google Developers Machine Learning

Google Developers Machine Learning 學習系列 第 21

【Day 21】Launching into Machine Learning(Introduction to Practical ML-2)

前言

接下來幾章如果一次認真介紹一種模型,大概就到結束了?或者就照著影片內容簡單回顧該模型的歷史?不確定要以哪種形式執行。不過,今天先稍微講一點影片中沒提到的機器學習基礎概念,其實也沒多神奇的東西,但若能弄懂這部分,未來對於理解機器學習模型能有很快的切入方法。

主題

番外篇

今天介紹的內容都出自於"A Few Useful Things to Know About Machine Learning"這篇文章中。利用很簡單的方式,將機器學習的模型拆解成三大主要部分:Representation、Evaluation、Optimization。基本上,絕大多數的ML都能用這項技巧拆分,原本看似很複雜的模型,就能夠比較容易理解,在改進模型時,也能夠依需要針對不同方面去改進。

Representation:Neural Network, SVM, Decision Tree...,大部分聽到的機器學習演算法,就是屬於Representation的範疇。可以想像成我們決定一種"電腦能夠理解"的模式,選定模式後根據不同參數(Weight)設定會有無數的模型,在這種模式下這些模型所形成的集合就是 hypothesis space。接著電腦會結合後面兩部分,從資料中學習出最好的模型,換句話說,從 hypothesis space 內挑出最佳的參數設置。
Evaluation:前面說到,我們要找出最佳的參數設置,何謂最佳?所以需要度量的方法,除了常見的Accuracy, Error rate,還有許多像是 F-1 Score, KL-divergence, Likelihood...,根據需求可以挑選適合的度量去評比函數的好壞。
Optimization:最後,當我們能夠評比函數好壞時,就要利用最佳化的演算法,找出表現最好的模型。也就是說,前面兩項會形成一道最佳化的問題,然後可以利用最佳化的演算法去進行求解。

看完上面的介紹,這三方面好像可以如同樂高一樣隨意拼接。然而,實際上因為模型的特性與資料的不同,就只能選擇某些特定的度量。接著,又因為某些度量無法有效率的用演算法最佳化(e.g. 無法被微分),所以,在最佳化時所使用的目標函數(Objective function),可能會用其它可以被最佳化的度量去近似,讓找出來的模型盡量能在原始的度量中也有好的表現。

以上是三方面簡單的介紹,這篇文章後面還有講到很多與機器學習相關的重要概念與問題,非常值得花時間重複閱讀。

Reference:[1] A Few Useful Things to Know About Machine Learning


上一篇
【Day 20】Launching into Machine Learning(Introduction to Practical ML-1)
下一篇
【Day 22】Launching into Machine Learning(Introduction to Practical ML-3)
系列文
Google Developers Machine Learning 學習30

尚未有邦友留言

立即登入留言