人工智能-Boosting算法

Boosting算法源自理论家的贡献,用于分类问题。有句俗话叫做三个臭皮匠,顶个诸葛亮。思想是非常简单的,用大家的智慧来解决问题。首先讲两个概念,强分类器和弱分类器。强分类就是性能非常好的分类器,错误率很低,但是得到它的代价非常高不容易找到,所以类似诸葛亮需要三顾茅庐才能找到,而且可遇不可求;弱分类器就是能够比随机分类好一点的分类器,就相当于正常的普通人,甚至像阿甘正传里面的阿甘就好。理论学家证明了,弱分类器的某种组合是可以达到强分类器的作用的!这就是Boosting的基本思想,设计几个弱分类器,通过数据训练得到优化参数就可以解决问题啦。整个算法的流程如下图:


人工智能-Boosting算法

Boosting的基本流程简单说一下,首先给所有的训练数据赋予统一的权重1/N,找到错误率最小的训练器,然后给这个训练器基于一个权重(每个人发言权有高有低),然后夸大数据中错误的部分(放大2倍,为什么是2倍这是一个数学推导的结果,不用太纠结),再寻找下一个错误率最小的分类器,将两个分类器的分类乘以权重后相加,直到分类的错误率达到强分类器的效果(给一个极低的阈值)。这个分类器不会产生过拟合的问题,原因科学家们还没有找到。怎么样,很强大吧!分类器可以是识别树、神经网络或是其他实现二分类的算法,不用加什么其他限制,太棒了!

Boosting思想在很多地方有实际应用,如手写识别、语音理解等等。我的文章系列可以回避了复杂的数学推导,让大家尽量理解算法的思想,了解用途力求讲清楚WHY的问题,至于实现的细节有太多的资料都有详细的说明,但过多的数学推导会让人只见树木不见森林,所以刻意回避了。


分享到:


相關文章: