一般來說機器學習大致可以分為以下幾種類型:監督式學習(Supervised learning)、非監督式學習(Un-supervised learning)、半監督式學習(Semi-supervised learning)及強化學習(Reinforcement learning)。

本次筆者先從監督式學習(概念就是產生一個預測模式)開始介紹監督式學習(Supervised learningà目的在於預測(基於使用者手上已經有每一個人目標變數的答案)

Y = f(X)

  1. Y代表你想要預測的目標類型(類別型資料 or 連續型資料)
  2. X代表你考慮的特徵(參數)

 

根據目的(Y的目標類型)可分為兩類

A)分類 (Classification): 例如:預測病人是否得病

 

 

11.jpg

 

常見的演算法有下列幾種:

1.Logistic regression:類似於一般的線性回歸,只不過Y變成二元分類變項 (例如:是否得病)

2.Decision tree (決策樹)

分類樹:當決策目標為分類變項(例如:今天會不會出門)

回歸樹: 當決策目標為連續變項(例如:房價)

<優點>

可同時處理資料中的連續變項及類別變項

模型與資料配適度高

可用於找到重要變項,可以很清楚明白分類的模式

<缺點>

對資料點特徵數或資料量太少,反而分析效率會更差

同一個分類法會出現在同一個法則,之後解釋可能會出現問題(所以必須做適當的決策樹剪枝)

3.Naive Bayes:把主觀的意見加入客觀的分析的過程,常用於語言資料的處理,例如計算A very close game這個句子是體育運動的機率以及它不是體育運動的機率

<優點>

樣本大與樣本小都適用

適合多分類的情境(類別資料)

計算不複雜

<缺點>

未考慮特徵之間的相關性(假設是每一個特徵彼此是獨立的)

連續型資料必須假設滿足某一分布(必須有先驗分布的假設)

4.KNN算法 (K近鄰法): KNN分類中,Outcome是一個分類變項。一個物件的分類是由其鄰居的「數量」去決定的,K個最近鄰居(K為正整數,通常較小)中最常見的分類決定了賦予該物件的類別。若K = 1,則該物件的類別直接由最近的一個節點賦予。KNN回歸中Outcome是連續變項。該值是其K個最近鄰居的值的平均。

<優點>

資料分析前不需要有任何的假設,因此又被稱為懶惰演算法

<缺點>

計算效能較差,訓練集筆數很多時會導致嚴重的計算效率問題

穩定性差:因為起始點跟K值設定不同,會產生不同的結果

沒有可擴展能力,即每次判定都需要即時計算(當有新資料的加入必須重新再計算一次)

對於類別在3個及以上,經常會出現投票平局,平局要按照默認規則取默認值,這會讓KNN損失精準度

 

B)回歸 (Regression): 預測標的為連續變項(例如:預測2020台灣的失業率)

 

22.jpg.

 

1.Linear regression: 透過資料中蒐集的資訊(X, 類別變項或連續變項)來去預測某個數值(Y, 連續變項),但此種預測模式是基於假設XY之間為直線的線性關係

<優點>

基於線性分佈假設,linear regression可以通過normal equation求閉合解的方式求得Y的預測值 (代表有公式解)

<缺點>

因為linear regression是假設資料服從線性分佈的,這一假設前提也限制了該模型的準確率,因為現實中由於噪聲等的存在很少有資料是完全服從線性的

2.Ridge/ Lasso regression: 為了處理模型可能存在過度配適(簡單來說,是只模型中存在著過多的自變項),因此我們可以透過Ridge/ Lasso來去解決這個問題,得到一個相對穩定可外推的模型

3.Polynomial regression(多項式迴歸):當資料中XY的關係存在著非線性的關係時,直接用線性回歸預測顯而易見預測效果會很差,因此我們可以透過在原本的預測模型中加入X變項的高次方項(目的在於捕捉XY非線性的關係),這樣才能得到更為準確的模型

 

參考資料:

  1. https://buzzorange.com/techorange/2019/08/13/machine-learning-algorithm-collection/
  2. https://zhuanlan.zhihu.com/p/37575364

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 晨晰部落格新站 的頭像
    晨晰部落格新站

    晨晰統計部落格新站(統計、SPSS、BIG DATA討論園地)

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()