0. 前言
本篇文字是个人对机器学习基石11课的一些总结。这节课主要讲解的是线性分类模型。
1. Linear Models for Binary Classification
几种线性模型的总结:
- 线性分类:假设函数: h(x)=sign(wTx) h ( x ) = s i g n ( w T x ) ;它的error是0/1的,对应的 Ein E i n 是离散的,求解 Ein E i n 是个NP-hard问题,通常用PLA,Pocket等算法求最优。
- 线性回归:假设函数: h(x)=wTx h ( x ) = w T x ;它的error是个最小二乘, Ein E i n 是个凸函数,可通过求解微分=0求得最优点。
- 逻辑回归:假设函数:
h(x)=θ(wTx)
h
(
x
)
=
θ
(
w
T
x
)
;它的error是个cross-entropy,通过最大似然估计求得最优
w
w
;通常用梯度下降方法求最优。
三种模型的error function:
线性分类是个阶跃函数,线性回归和逻辑回归是个凸函数。其中逻辑回归的误差函数为,为了简化起见,我们通常简化为 errSCE(s,y) e r r S C E ( s , y ) 。PLA算法、线性回归、逻辑回归的优缺点:
线性回归是最简单的,但是上界是最大的。Pocket的速度是比较慢的。逻辑回归通常是种较好的办法,我们通常的办法是先使用线性回归得到较优解,然后使用逻辑回归求解。
2. Stochastic Gradient Descent
- PLA算法的复杂度为O(1),逻辑回归的复杂度为O(n),因为每次梯度下降中的损失函数由所有样本所确定,我们可以想办法简化梯度下降。(随机梯度下降)
- 随机梯度下降:在梯度下降过程中,每次下降过程的损失函数由随机选取的一个样本决定,这会大大增加算法速度,但是会变得不稳定。
- 随即梯度下降结束判断:在梯度下降算法中,判断算法结束的条件是梯度接近与0。但是在随机梯度下降中若再计算梯度,那么就没有起到简化算法的效用了。通常情况下是使用尽可能多的步数t。
- 随机梯度步长:经验上通常取0.1。
3. Multiclass Classification
- 处理多分类问题时,可以用多个二分类问题进行处理。比如一共有4个类别A,B,C,D时,可以有4条直线进行二分,每一条直线表示一个一个类别的二分问题(如A或B),分为是A和非A 。
- One-Versus-All(OVA):
就是使用逻辑回归对所有类别进行二分类,样本所属的类别就是该样本在所以逻辑回归中概率最大的类别。
优缺点:
优点:效率很高。
缺点: 当类别很多时,会存在这么一种情况。样本 x1 x 1 属于类别A的概率和类别B的概率都几乎为0(这在逻辑回归中出现时,圈圈的数量小上叉叉的数量很多。而类别多时这种情况更常见),那么该样本的实际类别会很难判断。
4. Multiclass via Binary classification
- 上一小节说当类别数量很多时会出现OVA不好用,这一节解决这一问题。
- One-Versus-one(OVO):之前的二分类中,是分为类别A或非类别A。我们现在这么处理,有ABCD四个类别,我们分为A或B,C或D…就是在四种类别中取出两个类别作为两种分类结果。那么四种类别就有6条直线(
C24
C
4
2
)。接着就可以判断每个样本在所有直线中所属的类别,结果为出现次数最多的类别。
红色样本点有三次被分为长方形,也是最多的,因此该样本为正方形。
优缺点:
优点:很有效率。
缺点:需要使用储存空间来存储每条二分直线的预测结果。
5. 总结
这一课程主要总结了之前讲过的三种分类器:线性分类、线性回归和逻辑回归。介绍了更有效率的梯度算法:随机梯度算法。并考虑使用逻辑回归来处理多分类问题。