行人检测用到Adaboost,在此之前应该把Boosting先搞明白。
Boosting:based on "Nobody is perfect",combine common report ti obtain perfect expert.
先介绍一些Boosting的概念:
机器学习(Machine learning):将一些已知的并已被成功解决的问题作为范例输入计算机,及其通过学习这些范例总结并生成相应规则,这些规则具有通用性,使用它们可以解决一类问题。
学习机(learner):及其学习得到的规则或者模型。
样本:所研究问题的实例,一般在训练集中包括正样本和负样本。
训练:采用某种方法,用已知属性的演变作为输入,得到相应规则的过程。
训练集:由已知属性的样本组成的集合,作为训练过程的输入数据。
测试集:由已知属性的样本组成的集合,作为测试过程的输入数据。
假设:学习机对样本做出的判断,即是否符合需要判断的事实。
特征选取:从实际数据中抽取反映其本质规律的属性。
如从人脸图像向量做PCA变换得到特征向量的投影系数
机器学习系统结构表示:
现在介绍两个最重要的概念:弱学习机(weak learner)和强学习机(strong learner)。
弱学习机:对一定分布的训练样本给出假设(这种假设很简单粗略,仅仅强于随机猜测),如根据有云猜测可能会下雨。
强学习机:根据得到的弱学习机和相应的权重给出假设(最大程度上符合实际情况),如根据有云、CCTV天气预报、老人家的话推测有雨。
Boosting算法的流程如下:
1.原始训练集输入,带有原始分布;
2.给出训练集中各样本的权重;
3.将给变分布后的训练集输入已知的弱学习机,弱学习机对每个样本给出假设;
4.对此次的弱学习机给出权重;
5.转到2,直到循环到一定次数或者某度量标准符合要求;
6.将弱学习机按其相应的权重加权组合形成强学习机。