9. 机器学习基石-How can Machine Learn? - Linear Model for Classification
How can Machine Learn? - Linear Model for Classification
主要讨论 Linear Classification, Linear Reegression, Logistic Regression 在分类问题上的优劣对比,并拓展到多元分类
1. Linear Models for Binary Classification
1) Analyzing of Three Linear Models
我们目前学习了Classification, Linear Reegression, Logistic Regression, 这三个模型有很多类似的地方。
总结如图一,这里引入了s(score)作为得分,
从图中可以看出,Linear Classification的求解是NP-hard问题,其他两个方法都容易求解。并且可以看到他们的Hypothesis 都与 s 有关。所以可以利用这两种模型的算法近似求得二分类问题的最优权值w
2) Error Functions Comparison
1.首先对比3种方法的误差方程,如图二所示
2.根据图二的错误函数得到图三的关系图。
从图三,我们可以得到以下几个结论:
1. 对于
2.
3.
4.
5. 虽然
6. 虽然
err为了让
从图四中,我们可以发现,
算法流程一般是在输出空间{-1, +1} 的情况下,通过线性回归和logistic回归相对应的求解方法求出最优的权值
将求得的代入公式sign,得到最优假设函数。
2. Multiclass via Logistic Regression - OVA Algorithm
实际生活中,也有很多的场合需要对多种情况进行分类:比如区分病人患了哪种类型的疾病;区分不同种类的蔬菜等。
求解多类别问题可以采用二元分类的思想,将多类问题分解多多个二元分类问题,然后再分别求权值,最终分到最高权值的类别去。
如图五的多类别问题,我们可以分解成图六的多个二元分类问题去求解,最终中间的公共区域,我们通过公式(6)求得最大的概率,哪一类的概率最大,就把这个点归于哪一类。
要注意使用软分类(因为直接分类的话中间的公共区域无法区分)
这种算法称作一对多(One-Versus-All),简称为OVA,表示一个类别对其他所有类别。
算法的流程如图七所示
该算法的优点是简单有效,易于类似于logistic函数的二元分类问题扩展成多类别分类;缺点是当类别特别多时,产生了不平衡的现象(如类别特别多,则+1的数据量就很少,大部分都是-1,数据量严重不平衡)。
3. Multiclass via Binary Classification - OVO Algorithm
上一节的最后提到OVA的方式在类别非常多的情况下,出现了训练数据严重失衡的现象,于是有另外一种方法 一对一(One-Versus-One)算法,简称OVO。同样对图五的问题做多元分类,但是这次我们一次单独考虑2种类型的点,直到两两都进行过分类(分类次数就是组合数
算法的流程如图九所示
其优点是简单有效,在做两两对比时,每次使用的不是全部训练数据,而是仅属于当前两类的训练数据,能将所有类似于二元分类的算法扩展成多元分类问题; 缺点是对比次数是 O(N^2) 即:
Summary
- 首先我们对比了目前学到的Linear Models,由于Linear Classification的NP Hard求解问题,我们分析,最终发现可以使用Logistic Regression 的方法进行求解
- 接着我们讨论了Multiclass Classification的 OVA 算法,但是该算法存在问题:类型很多的时候,会出现数据不平衡的问题
- 最后在OVA的基础上,我们继续讨论了OVO算法,该算法克服了OVA数据不平衡的问题。但是该算法的缺点是存储空间和运算时间都比较大
Reference
[1] 机器学习基石(台湾大学-林轩田)\11\11 - 1 - Linear Models for Binary Classification (21-35)
[2] 机器学习基石(台湾大学-林轩田)\11\11 - 3 - Multiclass via Logistic Regression (14-18)
[3] 机器学习基石(台湾大学-林轩田)\11\11 - 4 - Multiclass via Binary Classification (11-35)