线性回归, 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:
\[ y = \begin{cases} 1 & f(x) \ge 0.5 \\ -1& f(x) < 0.5 \end{cases} \]
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)\), 判定函数为
\[ f(x) = \begin{cases} 1&, x+x^2+x^3 \ge 0 \\ -1&, x+x^2 + x^3 < 0 \end{cases} \]
问这个分类器是线性还是非线性的? (其实是使用了kernel)
我个人的看法是: 在特征空间\(H\)上是线性的, 在原始输入空间\(\chi\)上是非线性的. 如果不指明是哪个空间, 默认为原始输入空间, 为非线性的.