机器学习笔记5——线性模型(二)

四、线性判别分析

线性判别分析(Linear Discriminant Analysis,LDA)的思想是:把全体美女集中到操场上,在操场上画出一条白直线,设法将每位美女都投影到这条线上,使女神的投影点尽可能集中到一起,女汉子的投影点尽可能集中到一起,而且女神们投影点的中心和女汉子们投影点的中心尽可能远。然后再来新的美女就看她的投影点落在哪里。

方法不难,问题是怎么画这条白直线,即如何确定这条直线的方程 y = w' x?

想要让女神们的投影点尽可能集中(离得近),那就可以让她们投影点的协方差尽可能小,女汉子也是如此。

想要让女神们投影点的中心和女汉子们投影点的中心尽可能远,可以用L2范数表达出这个距离,使这个范数的值尽可能大。

上述想要尽可能大的范数,和想要尽可能小的两个协方差,都与w相关,让二者相比,让结果最大化就可以求出w,进而确定这条白直线。

在上述求解过程中,通过变换剥离出w,可以定义“类间散度矩阵”(between-class scatter matrix)Sb,和“类内散度矩阵”(within-class scatter matrix)Sw。其中Sb对应在分子的范数,衡量两个投影点中心的距离;Sw对应在分母的两个协方差,衡量女神和女汉子内部投影点的聚集程度。

LDA欲最大化的目标就是J = w’ Sb w / w’ Sw w

利用拉格朗日乘子法和奇异值分解可解出w。

LDA也可以推广到多分类任务中,并可视作将样本投影到N - 1维空间,N - 1通常远小于样本数据原有属性数,因此LDA也常被视为一种经典的监督降维技术。

五、多分类学习

多分类问题可基于一些策略利用二分类学习器来解决,其基本思路是拆解法,即把多分类任务拆解为若干二分类任务,然后对结果进行集成,获得多分类结果。

如果我们要让doudog把美女分为古典、冷艳、狂野、温柔4种类型,常用的拆分策略主要有三种:

一对一(One vs. One,OvO),对N个类别两两配对,产生N ( N - 1 ) / 2个二分类器。要建立古典-冷艳、古典-狂野、古典-温柔、冷艳-狂野、冷艳-温柔、狂野-温柔6个分类器,新来的美女要同时交给这6个分类器进行分类,把被预测的最多的类别作为最终分类结果。

一对其余(One vs. Rest,OvR),将其中一个类作为正例,其他所有类都作为反例,产生N个分类器。要建立古典-非古典、冷艳-非冷艳、狂野-非狂野、温柔-非温柔4个分类器,如果多个分类器结果都为正例,则以置信度最大的为准。

多对多(Many vs. Many,MvM),将若干个类作为正例,剩下的类作为反例,产生M个分类器。多对多的正反类必须有特殊的设计,不能随意选取。一般常用“纠错输出码”(Error Correcting Output Codes,ECOC)技术,总共分两步:

· 编码:对4种美女类型做5次划分,比如可建立f1古典冷艳-狂野温柔、f2古典狂野-冷艳温柔、f3温柔-古典冷艳狂野、f4冷艳狂野-古典温柔、f5古典狂野温柔-冷艳5个分类器(如下图所示)。

· 解码:用上述5个分类器分别对测试样本进行测试,预测标记组成一个编码(如下图最后一行),将这个编码与每个类别各自的编码比较,其中距离最小的类别作为最终预测结果(如下图最右边一列)。如下列ECOC编码示意图,很明显,这个测试样例的美女属于狂野类型的。

之所以叫做纠错输出编码,是因为它具有一定的容错能力,比如上图中对测试样例的预测编码是00011,假设测试分类器f2出错了,如下图所示,测试预测编码为01011,但最终的分类结果还是狂野美女。

一般来说,对同一个学习任务,ECOC的编码越长,纠错能力就越强,但是产生的分类器就越多,计算、存储开销就会增大。此外类别是有限的,可能的划分也是有限的。

六、类别不平衡问题

用1000位美女训练doudog学会识别女神,如果1000位里面有999位都是女汉子,那么doudog只要把所有人都预测为女汉子就能达到99.9%的精度,这样训练出来的狗当然没有任何价值。

这种在分类任务中不同类别的训练样例数差别很大的情况就是类别不平衡。

现有技术处理类别不平衡学习一般有三类做法:

1、欠采样(undersampling),即对训练集里的女汉子欠采样,去除一些女汉子,使训练集中女神与女汉子的数目接近。

2、过采样(oversampling),即对训练集里的女神过采样,增加一些女神;

3、阈值移动(threshold-moving),训练集不变,但在用训练好的分类器进行预测时,利用“再缩放”(rescaling)思想改变决策策略:

在对新样本分类时,事实上是用y = w'x +b预测出y的值与一个阈值比较。

如果训练集中正、反例的数目相同或基本相同,则y > 0.5为正例,即 y / 1-y > 1为正例,否则为反例。

如果训练集中正、反例的数目相差较大时,若 y / 1-y > 正例数目 / 反例数目,则为正例,否则为反例。

再缩放策略也是代价敏感学习的基础,在代价敏感学习中用cost+ / cost-或cost10 / cost01来代替上述正例数目 / 反例数目。


本文为学习思考笔记,难免有错误和不准确之处,欢迎吐糟、探讨。

原创声明:“机器学习笔记”系列文章为本人(李博 blog.xzlib.com学习《机器学习》(周志华著,清华大学出版社)一书过程中的笔记,内容均为本人结合书中讲述和自身理解所写,文章配图、视频均为本人原创,转载和引用请注明出处并不得篡改作者姓名,本人保留《中华人民共和国著作权法》赋予的所有权利。联系方式:bocotton@163.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值