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)作为得分, s=wTx

Linear Models Revisit

图一 Linear Models Revisit [1]

从图中可以看出,Linear Classification的求解是NP-hard问题,其他两个方法都容易求解。并且可以看到他们的Hypothesis 都与 s 有关。所以可以利用这两种模型的算法近似求得二分类问题的最优权值w

2) Error Functions Comparison

1.首先对比3种方法的误差方程,如图二所示

Error Functions Revisit

图二 Error Functions Revisit [1]

2.根据图二的错误函数得到图三的关系图。

Visualizing Error Functions

图三 Visualizing Error Functions [1]

从图三,我们可以得到以下几个结论:
1. 对于 err0/1 , 在 ys>0 ys<0 的值相差很大
2. errCE 随着 ys的增大而减小,而且无线接近于0,在 ys>0 的情况下,逐渐毕竟于 err0/1
3. errSQR 是一个凹函数,在 ys=1 的情况下,与 err0/1 相等
4. err0/1 始终小于 errSQR , 绝大部分情况下小于 errCE
5. 虽然 err0/1 始终小于 errSQR , 但是两者的差距较大
6. 虽然 err0/1 不是全部情况下小于 errCE ,但是稍微做调整,可以实现 err0/1 始终小于 errCE ,并且这两者的曲线接近,所以我们下面将想办法采用这种方式。

err为了让 err0/1 也始终小于 errCE ,我们稍微做一些调整, 得到scaled CE errSCE ,如图四所示,这里只是给 errCE 的表达式把对数从 loge 换成 log2 。即从公式(1)换成公式(2)

errCE=err(w,x,y)=errCE(s,y)=ln(1+exp(ywTx))=ln(1+exp(ys))(1)

errSCE=1ln2errCE=log2(1+exp(ys))(2)

Visualizing Error Functions with Scaled CE

图四 Visualizing Error Functions with Scaled CE [1]

从图四中,我们可以发现, err0/1 始终小于 errSQR errCE ,如公式(3)所示,那么在数据量足够大的情况下, Eout 也有类似的情况,如公式(4)所示。再接着,由于之前VC Bound的结论,我们可以得到公式(5), 所以接下来我们就可以Logistic Regrssion的方法去解决Linear Classification的问题了

E0/1in(w)ESCEin(w)=1ln2ECEin(w)(3)

E0/1out(w)ESCEout(w)=1ln2ECEout(w)(4)

E0/1in(w)E0/1in(w)+Ω0/1ESCEout(w)+Ω0/1=1ln2ECEout(w)+Ω0/1(5)

算法流程一般是在输出空间{-1, +1} 的情况下,通过线性回归和logistic回归相对应的求解方法求出最优的权值 WREG
将求得的代入公式sign,得到最优假设函数。

2. Multiclass via Logistic Regression - OVA Algorithm

实际生活中,也有很多的场合需要对多种情况进行分类:比如区分病人患了哪种类型的疾病;区分不同种类的蔬菜等。

求解多类别问题可以采用二元分类的思想,将多类问题分解多多个二元分类问题,然后再分别求权值,最终分到最高权值的类别去。

如图五的多类别问题,我们可以分解成图六的多个二元分类问题去求解,最终中间的公共区域,我们通过公式(6)求得最大的概率,哪一类的概率最大,就把这个点归于哪一类。

要注意使用软分类(因为直接分类的话中间的公共区域无法区分)

g(x)=argmaxky(θwT[k]x)(6)

Multiclass Classification

图五 Multiclass Classification [2]

Multiclass Classification Soft Classifiers

图六 Multiclass Classification Soft Classifiers [2]

这种算法称作一对多(One-Versus-All),简称为OVA,表示一个类别对其他所有类别。

算法的流程如图七所示

OVA Decomposition

图七 OVA Decomposition [2]

该算法的优点是简单有效,易于类似于logistic函数的二元分类问题扩展成多类别分类;缺点是当类别特别多时,产生了不平衡的现象(如类别特别多,则+1的数据量就很少,大部分都是-1,数据量严重不平衡)。

3. Multiclass via Binary Classification - OVO Algorithm

上一节的最后提到OVA的方式在类别非常多的情况下,出现了训练数据严重失衡的现象,于是有另外一种方法 一对一(One-Versus-One)算法,简称OVO。同样对图五的问题做多元分类,但是这次我们一次单独考虑2种类型的点,直到两两都进行过分类(分类次数就是组合数 C , 例子中就是 C24=6)。如图八所示。

OVO

图八 OVO [3]

算法的流程如图九所示

OVO Decomposition

图九 OVO [3]

其优点是简单有效,在做两两对比时,每次使用的不是全部训练数据,而是仅属于当前两类的训练数据,能将所有类似于二元分类的算法扩展成多元分类问题; 缺点是对比次数是 O(N^2) 即: C2k 。 也就是说要分的类别越多,就需要花费更多的存储空间和运算时间。

Summary

  1. 首先我们对比了目前学到的Linear Models,由于Linear Classification的NP Hard求解问题,我们分析,最终发现可以使用Logistic Regression 的方法进行求解
  2. 接着我们讨论了Multiclass Classification的 OVA 算法,但是该算法存在问题:类型很多的时候,会出现数据不平衡的问题
  3. 最后在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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值