ensemble learning(集成学习)
ensemble 物理学中称为系综,机器学习中多翻译为集成学习,定义为:通过构建并结合多个学习器来完成学习任务。
别名:multi-classifier system;committee-based learning,其中笔者认为committee-based learning 较好的表达来它的原理。
知识结构图:
将\(A_1,A_2,A_3.A_4\)四个分类学习器,构成一个整体,通过一定的方法,(比如投票法 voting)产生一种新的组合,使组合学习器获得更好的性能。
比如周志华老师书中的集成性能提升的例子:
. | 测试例1 | 测试例2 | 测试例3 |
---|---|---|---|
\(h_1\) | \(\surd\) | \(\surd\) | \(\times\) |
\(h_2\) | \(\times\) | \(\surd\) | \(\surd\) |
\(h_3\) | \(\surd\) | \(\times\) | \(\surd\) |
集成 | \(\surd\) | \(\surd\) | \(\surd\) |
可见三个不太好(66.6%精度)的单分类器集成后可以得到100%的精度,可谓“三个臭皮匠顶个诸葛亮”,故而,集成学习的关键在于集成个体应“好而不同“…..
基本概念
(1) base learner(基学习器):同质集成中的个体学习器,相应的学习算法为“基学习算法”(base learning algorithm).
(2) heterogenous (异质):个体学习器由不同的学习算法生成,此时,成为“组件学习器”(component learner).
原理:
理解 :“好而不同”
考虑二分类问题, y∈{-1,+1} 和真实函数f。
错误率:
集成所有基分类器,若有超过半数的基分类器正确,则集成分类就正确:
假设基分类器的错误率相互独立,则由Hoeffding不等式可知,集成错误率为:
如何自行推导集成错误率??(提示Hoeffding不等式)
今天遇到的两个matlab安装问题:
昨天和今天遇到一个问题,和集成学习无关,在使用学校的Matlab安装软件时一直错误,报错“”license manager Error –9”试了网上给出的方法都不行,晚上时,吧最后一步的用户名改成“”Administrator”,竟然解决了,现在还不知道是为什么。记录一下。留作以后后人参考。现在遗留的一个问题是: