分類與迴歸區別是什麼?

轉載:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/80354172
簡單解釋:
分類和迴歸的區別在於輸出變量的類型。
定量輸出稱爲迴歸,或者說是連續變量預測;
定性輸出稱爲分類,或者說是離散變量預測。
舉個例子:
預測明天的氣溫是多少度,這是一個迴歸任務;
預測明天是陰、晴還是雨,就是一個分類任務。

分類模型和迴歸模型本質一樣,分類模型可將回歸模型的輸出離散化(下面例子1. 2. 4. 5.),迴歸模型也可將分類模型的輸出連續化(下面例子3.)
舉幾個例子:
Logistic Regression 和 Linear Regression:
Linear Regression: 輸出一個標量 wx+b,這個值是連續值,所以可以用來處理迴歸問題。
Logistic Regression:把上面的 wx+b 通過 sigmoid 函數映射到(0,1)上,並劃分一個閾值,大於閾值的分爲一類,小於等於分爲另一類,可以用來處理二分類問題。
更進一步:對於N分類問題,則是先得到N組w值不同的 wx+b,然後歸一化,比如用 softmax 函數,最後變成N個類上的概率,可以處理多分類問題

Support Vector Regression 和 Support Vector Machine:
SVR:輸出 wx+b,即某個樣本點到分類面的距離,是連續值,所以是迴歸模型。
SVM:把這個距離用 sign(·) 函數作用,距離爲正(在超平面一側)的樣本點是一類,爲負的是另一類,所以是分類模型。

Naive Bayes 用於分類 和 迴歸:
用於分類:y是離散的類別,所以得到離散的 p(y|x),給定 x ,輸出每個類上的概率。
用於迴歸:對上面離散的 p(y|x)求期望 ΣyP(y|x),就得到連續值。但因爲此時y本身是連續的值,所以最地道的做法是,得到連續的概率密度函數p(y|x),然後再對y求期望。
參考 http://www.cs.waikato.ac.nz/~eibe/pubs/nbr.pdf

前饋神經網絡(如 CNN 系列) 用於 分類 和 迴歸:
用於迴歸:最後一層有m個神經元,每個神經元輸出一個標量,m個神經元的輸出可以看做向量 v,現全部連到一個神經元上,則這個神經元輸出 wv+b,是一個連續值,可以處理迴歸問題,跟上面 Linear Regression 思想一樣。
用於N分類:現在這m個神經元最後連接到 N 個神經元,就有 N 組w值不同的 wv+b,同理可以歸一化(比如用 softmax )變成 N個類上的概率。(補充一下,如果不用 softmax,而是每個 wx+b 用一個 sigmoid,就變成多標籤問題,跟多分類的區別在於,樣本可以被打上多個標籤)

循環神經網絡(如 RNN 系列) 用於分類 和 迴歸:
用於迴歸 和 分類: 跟 CNN 類似,輸出層的值 y = wv+b,可做分類可做迴歸,只不過區別在於,RNN 的輸出跟時間有關,即輸出的是 {y(t), y(t+1),…}序列(關於時間序列,見下面的更新)
上面的例子其實都是從 prediction 的角度舉例的,如果從 training 角度來看,分類模型和迴歸模型的目標函數不同,分類常見的是 log loss, hinge loss, 而回歸是 square loss(關於 loss function,又是另一個story了,在此不展開了)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章