線性回歸, Linear Regression
邏輯回歸, Logistic Regression
線性分類器, Linear Classifier
邏輯分類器, Logistic Classifier. 注意, 這個名詞是我在文章中為了方便說明問題造出來的.
線性回歸可以看作一個Perceptron, 激活函數是identical, 即$f(x) = x$. 將邏輯回歸也可以看作一個Perceptron, 不同的是使用了sigmoid激活函數.
一般的說法是, 線性回歸是真正的回歸, 而邏輯回歸是一個分類器, 不是真回歸. 這算是一個約定俗成的一個失誤性命名嗎? NO. 邏輯回歸的主體還是回歸操作: 回歸對象是sigmoid函數, 它將輸入映射為一個處於0到1之間的小數. 得到這個0到1之間的小數之后人為將其解讀成概率, 然后根據事先設定的閾值進行分類. 回歸操作的工作量在整個Logistic Regression中保守估計也得超過\(99\%\). 以這個算法的主體---邏輯回歸來命名算法是無可厚非的. 當然, 若一定要叫Logistic Classifier也是可以的, 只不過大家都不這么叫而已.
已經有了Logistical Regression, Logistic Classifier, Linear Regression, 很自然的就能想到 Linear Classifier. Logistic Classifier是在Logistic Regression之后加了一步. 雖然Linear Classifier 與Linear Regression 之間沒有這種關系, 但它們在形式上還是很相似的:
Logistic Regression(這里特指回歸操作): $$ f(x) = sigmoid(w^Tx + b) $$
Logistic Classifier:
Linear Regression: $$ f(x) = w^Tx + b $$ Linear Classifier: $$ y = \begin{cases} 1 & f(x) \ge 0 \\ -1& f(x) < 0 \end{cases} $$
是不是很具有迷惑性? 可這只是表面現象, 因為Linear Classifier里的$f(x)$並不是通過Linear Regression得到的. 說到這里就得給Linear Classifier下一個定義了. 簡單的講, **Linear Classifier就是以超平面(Hyperplane)為決策邊界(Decision Boundary)的分類器. 常見的Linear Classifier有Logistic Regression, SVM, Perceptron. 很明顯, 這些個分類算法都不是通過Linear Regression 得到自己的分類超平面的.**
還有一類經常引起爭論的問題: 數據集\(D\)在原始輸入空間\(\chi\)上是線性不可分的, 但將其映射到另外一個空間, 稱為特征空間\(H\)上又成了線性可分的. 例如\(\chi \to H : x \to (x, x^2, x^3)\), 判定函數為
問這個分類器是線性還是非線性的? (其實是使用了kernel)
我個人的看法是: 在特征空間\(H\)上是線性的, 在原始輸入空間\(\chi\)上是非線性的. 如果不指明是哪個空間, 默認為原始輸入空間, 為非線性的.