iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0

前言

昨天了解到了機器學習的各種學習方式,今天就要針對模型的目標來區分出兩種不一樣的問題,一個是回歸問題 ( Regression Problem ),一個是分類問題 ( Classification Problem ),回歸問題和分類問題都是基於監督式學習,這兩種問題下的模型,目的都是為了能夠根據標籤資料去做準確的預測,但兩種模型的差異就是它們如何被應用在不同的問題上,回歸問題下的模型目的是為了去預測一個連續的數值,像是預測薪水、年齡、體重等,而分類問題下的模型是為了能夠預測或者將離散的數值分類,能夠把傳入的資料區分為對應的不同類別 ( 分類 )。

回歸與分類模型

https://ithelp.ithome.com.tw/upload/images/20230921/20158157SKoURHShZq.png

經由上兩圖可以發現到,圖中每個點皆為輸入至模型的資料,即為資料點,上圖右的回歸模型會根據這些資料點去做擬和,也就是回歸模型的輸出 ( 黑色斜線 ) 會盡量和資料點接近以縮小模型預測的誤差,至於上圖左的分類模型,就是為了讓模型的輸出能夠完美的把顏色不同的兩類,其資料點給區分開來 ( 分類 )。

回歸問題 ( Regression Problem )

通常用來做回歸問題的模型 ( 回歸模型 ),這個模型最終會預測出一個連續數值,在統計學中,所謂連續數值就是在一定區間內可以任意取值,其數值是連續不間斷的,相鄰的兩數可以做無限的分割,像是我們平時測量的身高,因為身高 170 ~ 171 ( cm ) 之間存在小數,能夠有無限多個數值,有可能為 170.1、170.01、170.001 等,因此身高也為連續數值的一種,其他的還有體重 ( 56.5 kg )、房價 ( EX : 18.5 萬 )、筆的長度 ( 15.2 cm ) 等只能透過測量或計算得到的數值,而我們通稱這些數值為一個純量 ( Scalar )。

在回歸問題中可以想成其目的就是要讓模型最後輸出的結果會是一個數值 ( Scalar ),輸入一些資訊,根據這些資訊輸出一個數值,下面是回歸問題應用到各個領域的情況 :

  • PM2.5 的預測

https://ithelp.ithome.com.tw/upload/images/20230921/20158157Y4PDQZfI2F.png

要讓模型對未來的時間做出 PM2.5 的預測,就必須給它訓練資料,這個些訓練資料包含的可能是前幾天的資訊或者是過去所蒐集的資料,做為模型的輸入,最後再輸出一個數值 ( Scalar ) 作為模型的輸出預測。

https://ithelp.ithome.com.tw/upload/images/20230921/20158157pISxLnR8ca.png

  • Stock Market Forecast 股票市場預測

    輸入 : 過去股票市場起伏的資料,輸出 : 道瓊指數

https://ithelp.ithome.com.tw/upload/images/20230921/20158157VuQDWMKctS.png

  • Self-driving Car 無人自走車

    輸入 : 路上看到的影像畫面,輸出 : 方向盤的角度

https://ithelp.ithome.com.tw/upload/images/20230921/20158157XRoNmSHBdf.png

  • 推薦系統 Recommendation

    輸入 : 使用者 A 和 商品 B,輸出 : 使用者購買此商品的可能性

https://ithelp.ithome.com.tw/upload/images/20230921/20158157hvepJKV6Bl.png

回歸模型的種類:

根據不同的模型樣貌,其能夠在回歸問題中得到不同的效能表現,回歸問題的模型主要分成的種類有:

  • 簡單線性回歸 ( Simple Linear Regression )
  • 多元線性回歸 ( Multiple Linear Regression )
  • 多項式回歸 ( Polynomial Regression )
  • 決策樹回歸 ( Decision Tree Regression )
  • 隨機森林回歸 ( Random Forest Regression )

分類問題 ( Classification Problem )

至於分類問題下的模型,它的目的就是要能夠將輸入的資料區分為不同的類別 ( 分類 ),分類問題針對的是一個離散數值。

在統計學中,只能用自然數或者整數的單位計算出來值即為離散數值,就像是若要表示公司的數量或者參加會議的人數,我們不會說有 2.5 個公司或是 10.25 個人,因此真假 ( True / False )、Yes / No、物品數量、人數、性別等這種沒有連續數值關係的數值就稱為離散數值。

然而回歸模型和分類模型 ( 分類器 ) 所輸出的類型是不同的,回歸模型輸出的是一個數值 Scalar,而分類模型輸出的類型有分為 :

https://ithelp.ithome.com.tw/upload/images/20230921/20158157ITypKTllJQ.png

像是今天如果要模型判斷是否患有糖尿病,模型最後就會根據輸入的資料 ( 特徵 Feature ),輸出結果就會有 “ 患有糖尿病 “ 或是 “ 沒有患有糖尿病 “ 兩類,也就是模型會將輸入資料分類至 Yes 或 No 這兩類,然而並不像是 0 和 1 之間可以有無限多個數值 ( 連續關係 ), Yes 和 No 這兩個東西之間並不存在著連續的關係,因此 Yes 跟 No 就屬於離散數值,所以會說回歸問題的模型是針對一個連續數值,而分類問題為離散數值。

分類模型的種類:

根據不同的模型樣貌,其能夠在分類問題中得到不同的效能表現,分類問題的模型主要分成的種類有:

  • 邏輯回歸 Logistic Regression
  • K-近鄰演算法 Nearest Neighbors Algorithm
  • 支持向量機 ( Support Vector Machines )
  • 決策樹分類 ( Decision Tree Classification )
  • 隨機森林分類 ( Random Forest Classification )

分類任務 ( Classification Task )

我們通常會依據模型的目的不同而區分不同分類任務,當我們分類模型是用來只判斷 Yes 或 No 時,也就是只有兩類的情況下,就是在做二元的分類 ( Binary Classification ) 任務,當模型被賦予分類出更多類別 ( Class 1, Class 2 …. Class N ) 的任務時,就是在做多元的分類 ( Multi-class Classification ) 任務。

  • 二元分類 ( Binary Classification )

    要模型輸出是或否 Yes / No,以垃圾郵件 Spam filtering 為例,就給模型一大堆的訓練資料告訴它收到的郵件哪些應該要判定為垃圾郵件 ( Spam ) 哪些不是,給模型夠多的資料去學習,它就能夠找出可以偵測垃圾郵件的方法。

https://ithelp.ithome.com.tw/upload/images/20230921/20158157euH1BT9NyR.png

  • 多元分類 ( Muti-class Classification )

    給定 N 個選項,每個選項就是一個類別,模型要從 N 個選項中選擇正確的類別,就像是希望模型能夠自動把文章做分類,而模型需要的是能夠學習出一個方法,為當輸入資料是一則文章,模型就輸出這個文章的類別,而每個類別就是一個選項,模型就是要在這些選項中完成這個選擇題,這時就需要要給模型許多訓練資料告訴它輸入哪些文章要選體育,哪些文章要選財經 ,之後給它新的文章它就可以給你正確的輸出結果。

https://ithelp.ithome.com.tw/upload/images/20230921/20158157purFB3Ez4q.png

  • 深度學習分類 ( Classification - Deep Learning )

    在做整個深度學習 ( Deep Learning ) 的過程中,會讓整個模型最後的輸出是非常複雜的並且非線性,以影像辨識為例,這個複雜的模型輸出它可以描述影像的像素 ( Pixel ) 與類別 ( Class ) 之間的關係,而要找出這樣的模型,就要準備許多圖片當作訓練資料讓模型去學習,而這些訓練資料就告訴了欲求的模型,它的輸入和輸出之間有什麼樣的關係,而模型的輸出就是標籤,這要找到這樣的標籤資料往往需要很大的努力而不容易。

    https://ithelp.ithome.com.tw/upload/images/20230921/201581575ruALgwqZF.png

回歸與分類主要區別

  • 回歸模型用于預測連續數值,而分類模型則用於將輸入的資料劃分到離散的類別 ( 離散數值 )。
  • 回歸模型的輸出是一個連續值標籤,分類模型的輸出是一个類別標籤。
  • 回歸模型與分類模型通常會用不同的評估方法來衡量模型性能,回歸模型會用均方誤差(MSE)或是平均絕對誤差(MAE)的方法,而分類模型通常會用一些驗證指標 ( 準確率、召回率、精確度等 ) 來評估性能。

小結

今天我們學到了:

  • 什麼是回歸問題、分類問題
  • 什麼是二元分類、多元分類、深度學習分類
  • 回歸與分類的區別
  • 回歸與分類的模型

我們在今天了解到了回歸問題與分類問題之間的不同,以及其各種不同的模型,回歸與分類對機器學習來非常重要,我們之後也會針對這兩個部份帶著各位實作出一些模型,如果我們要讓模型能夠應付更複雜雜的問題,就需要用到神經網路 ( Neural Network , NN ) 來訓練模型,在下篇文章中,我們將踏進神經網路的世界,了解神經網路的組成與特性,那我們下篇文章見 ~

參考資料

https://wiki.mbalib.com/zh-tw/离散变量

https://www.javatpoint.com/regression-vs-classification-in-machine-learning

https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49

台大李弘毅教授 ML Lecture 0-1: Introduction of Machine Learning


上一篇
【Day 5】資料預處理 Data Preprocessing ( 二 )
下一篇
【Day 7】人工神經網路 ANN
系列文
戀 AI ing - 我與機器學習的邂逅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言