在資料收集愈來愈便利與科學運算愈來愈快的時代下,科學家們致力於找出資料中重要的模式與趨勢,也稱為從資料中學習(learning from data),使得機器學習(Machine Learning)作為建構資料模型的工具,已經成為一個耳熟能詳的名詞,也是許多科學研究領域爭相學習使用的分析工具。機器學習的執行過程常常被認為是黑盒子,原因是只要將寫好的程式碼按下執行,沒有什麼意外下就會有結果吐出,往往沒有深入探究方法的原理及執行過程。不過,機器學習的方法事實上不應該被視為黑盒子,因為沒有一種方法可適用於所有的資料與問題,如果不理解盒子內的運作原理,就無法選擇最適合的盒子來達成目標。因此,本系列文章將紀錄與整理機器學習概念性的統計或數學原理,並搭配以操作Python為輔,幫助在使用利用這些分析工具時能理解其運作模式。
There is no true interpretation of anything; interpretation is a vehicle in the service of human comprehension. The value of interpretation is in enabling others to fruitfully think about an idea.
一 Andreas Buja
機器學習主要被分為兩種類型,分別是監督式學習(Supervised Learning)與非監督式學習(Unsupervised Learning):
監督式學習,主要目標是藉由許多特徵(feature)來預測結果(outcome),換句話說是在針對有標籤(lable)的資料進行建模(modeling),且根據outcome的資料型態為連續或離散型態,可以分為迴歸(regression)與分類(classification)兩大類,例如線性迴歸(Linear Regression), ,建立解釋變數與反應變數之間的函數關係,而機器學習在其中扮演的角色就是找出這些 得到準確率較高的預測結果。
非監督式學習,主要目標是在沒有outcome的情境下,描述許多特徵之間的關係與結構,也就是在針對沒有標籤的資料集之特徵進行建模,例如集群分析(Clustering Analysis)就是利用特徵之間的關係將資料進行分組,使得每一組資料之間擁有較相似的特徵。非監督式學習屬於比較困難的方法,因為沒有了outcome"監督"我們生成適合的模型,想確認模型與分析方法做的是否正確並不容易,因此目前有關非監督式學習的研究與文獻相對於監督式學習是比較少的,本系列文章也會記錄較多監督式學習的方法。