1. 程式人生 > >機器學習中分類與迴歸問題的區別與聯絡

機器學習中分類與迴歸問題的區別與聯絡

分類和迴歸問題之間存在重要差異。

從根本上說,分類是關於預測標籤,而回歸是關於預測數量。

我經常看到諸如以下問題:

如何計算迴歸問題的準確性?

像這樣的問題是沒有真正理解分類和迴歸之間的差異以及試圖衡量的準確度的症狀。

在本教程中,您將發現分類和迴歸之間的差異。

完成本教程後,您將瞭解:

  • 該預測建模是關於學習從輸入到輸出的對映函式的問題,稱為函式逼近。
  • 該分類是預測示例的離散類標籤輸出的問題。
  • 該回歸是預測例子的連續數量輸出的問題。

機器學習中的分類和迴歸之間的差異 照片由托馬斯威爾遜提供,保留一些權利。

教程概述

本教程分為5個部分; 他們是:

  1. 函式逼近
  2. 分類
  3. 迴歸
  4. 分類與迴歸
  5. 在分類和迴歸問題之間轉換

函式逼近

預測建模是使用歷史資料開發模型以對我們沒有答案的新資料進行預測的問題。

有關預測建模的更多資訊,請參閱帖子:

預測建模可以描述為從輸入變數(X)到輸出變數(y)近似對映函式(f)的數學問題。這被稱為函式逼近的問題。

建模演算法的工作是找到我們可以給出時間和資源的最佳對映函式。

有關應用機器學習中近似函式的更多資訊,請參閱帖子:

通常,我們可以將所有函式逼近任務劃分為分類任務和迴歸任務。

分類預測建模

分類預測建模是將輸入變數(X)到離散輸出變數(y)的對映函式(f)近似的任務。

輸出變數通常稱為標籤或類別。對映函式預測給定觀察的類別或類別。

例如,可以將文字電子郵件分類為屬於兩個類別之一:“垃圾郵件和“ 非垃圾郵件 ”。

  • 分類問題要求將示例分為兩個或更多個類中的一個。
  • 分類可以具有實值或離散輸入變數。
  • 兩個類的問題通常被稱為兩類或二元分類問題。
  • 兩個以上類的問題通常被稱為多類分類問題。
  • 為示例分配多個類的問題稱為多標籤分類問題。

分類模型通常將連續值預測為屬於每個輸出類的給定示例的概率。概率可以被解釋為屬於每個類的給定示例的可能性或置信度。通過選擇具有最高概率的類標籤,可以將預測概率轉換為類值。

例如,特定的文字電子郵件可以被指定為0.1的概率為“垃圾郵件”而0.9為“非垃圾郵件”。我們可以通過選擇“非垃圾郵件”標籤將這些概率轉換為類別標籤,因為它具有最高的預測可能性。

有許多方法可以估計分類預測模型的技能,但最常見的可能是計算分類準確性。

分類準確度是所有預測中正確分類的例子的百分比。

例如,如果分類預測模型做出5個預測,其中3個是正確的,其中2個是不正確的,那麼基於這些預測的模型的分類準確性將是:

1

2

3

accuracy = correct predictions / total predictions * 100

accuracy = 3 / 5 * 100

accuracy = 60%

能夠學習分類預測模型的演算法稱為分類演算法。

迴歸預測建模

迴歸預測建模是將輸入變數(X)的對映函式(f)近似為連續輸出變數(y)的任務。

連續輸出變數是實數值,例如整數或浮點值。這些通常是數量,例如數量和大小。

例如,可以預測房屋可以出售特定的美元價值,可能在100,000美元到200,000美元的範圍內。

  • 迴歸問題需要預測數量。
  • 迴歸可以具有實值或離散輸入變數。
  • 多輸入變數的問題通常被稱為多元迴歸問題。
  • 輸入變數按時間排序的迴歸問題稱為時間序列預測問題。

由於迴歸預測模型預測數量,因此必須將模型的技能報告為這些預測中的錯誤。

有許多方法可以估計迴歸預測模型的技能,但最常見的可能是計算均方根誤差,縮寫為縮寫RMSE。

例如,如果迴歸預測模型做出2個預測,其中1.5個預期值為1.0,另一個預測值為3.3,預期值為3.0,那麼RMSE將為:

1

2

3

4

5

RMSE = sqrt(average(error^2))

RMSE = sqrt(((1.0 - 1.5)^2 + (3.0 - 3.3)^2) / 2)

RMSE = sqrt((0.25 + 0.09) / 2)

RMSE = sqrt(0.17)

RMSE = 0.412

RMSE的一個好處是誤差分數的單位與預測值的單位相同。

能夠學習迴歸預測模型的演算法稱為迴歸演算法。

一些演算法在其名稱中使用“迴歸”一詞,例如線性迴歸和邏輯迴歸,這可能會讓事情變得混亂,因為線性迴歸是一種迴歸演算法,而邏輯迴歸是一種分類演算法。

分類與迴歸

分類預測建模問題與迴歸預測建模問題不同。

  • 分類是預測離散類標籤的任務。
  • 迴歸是預測連續數量的任務。

分類和迴歸演算法之間存在一些重疊; 例如:

  • 分類演算法可以預測連續值,但是連續值是類標籤的概率的形式。
  • 迴歸演算法可以預測離散值,但是以整數量的形式預測離散值。

一些演算法可用於分類和迴歸,只需很少的修改,例如決策樹和人工神經網路。一些演算法不能或不能容易地用於兩種問題型別,例如用於迴歸預測建模的線性迴歸和用於分類預測建模的邏輯迴歸。

重要的是,我們評估分類和迴歸預測的方式各不相同,並且不重疊,例如:

  • 可以使用準確度評估分類預測,而回歸預測則不能。
  • 可以使用均方根誤差來評估迴歸預測,而分類預測則不能。

在分類和迴歸問題之間轉換

在某些情況下,可以將回歸問題轉換為分類問題。例如,要預測的數量可以轉換為離散桶。

例如,$ 0到$ 100之間連續範圍內的金額可以轉換為2個桶:

  • 0級:0美元到49美元
  • 1級:50美元到100美元

這通常稱為離散化,結果輸出變數是標籤具有有序關係(稱為序數)的分類。

在某些情況下,分類問題可以轉換為迴歸問題。例如,標籤可以轉換為連續範圍。

一些演算法已經通過預測每個類的概率來實現這一點,而每個類又可以縮放到特定範圍:

1

quantity = min + probability * range

或者,可以對類值進行排序並對映到連續範圍:

  • 1級$ 0到$ 49
  • 2級$ 50至$ 100

如果分類問題中的類標籤不具有自然序數關係,則從分類到迴歸的轉換可能導致令人驚訝或差的效能,因為模型可能學習從輸入到連續輸出範圍的錯誤或不存在的對映。