Boosting算法原理解析与例题分析
- 题目解析
1、x为数据编号
2、y为真实结果,这里可以理解为1为好瓜,-1为坏瓜
3、主观预测
阈值:2.5,5.5,8.5
解释:
抛开孤独的9不讲,“0 1 2”、“3 4 5”、“6 7 8”这是3类不同的数据,分别对应的类是1、-1、1,直观上推测可知,可以找到对应的数据分界点,比如2.5、5.5、8.5 将那几类数据分成两类。
4、初始数据的权值分布
令每个权值W1i=1/N=0.1,其中N=10,i=1,2,3…10 - 详细迭代过程
·迭代过程1
1、新的解题过程
(1)解析:
对于m=1,在权值分布为D1(10个数据,每个数据的权值皆初始化为0.1)的训练数据上,经过计算可得:
1、阈值v取2.5时误差率最低为0.3(x < 2.5时取1,x > 2.5时取-1,则6 7 8分错,误差率为0.3),
2、阈值v取5.5时误差率最低为0.4(x < 5.5时取1,x > 5.5时取-1,则3 4 5 6 7 8皆分错,误差率0.6大于0.5,不可取。故令x > 5.5时取1,x < 5.5时取-1,则0 1 2 9分错,误差率为0.4),
3、阈值v取8.5时误差率最低为0.3(x < 8.5时取1,x > 8.5时取-1,则3 4 5分错,误差率为0.3)。所以无论阈值v取2.5,还是8.5,总得分错3个样本,故可任取其中任意一个如2.5,弄成第一个基本分类器为:
注意:错误率的计算都是最低维
(2)错误率
自己理解:权值相加/1
老师ppt:从而得到G1(x)在训练数据集上的误差率(被G1(x)误分类样本“6 7 8”的权值之和)e1=P(G1(xi)≠yi) = 3*0.1 = 0.3。
2、根据错误率e1计算G1的系数:
注意:这个a1代表G1(x)在最终的分类函数中所占的权重,为0.4236
3、更新训练数据的权值分布,用于下一轮迭代
注意:分错的样本权值变大、分正确的样本权值变小
迭代后的权值分布:
D2 = (0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.1666, 0.1666, 0.1666, 0.0715)。
4、得到第一个分类函数
f1(x)= a1G1(x) = 0.4236G1(x)。
得到基本分类器sign(f1(x))在训练数据集上有3个误分类点(即6,7,8)
·迭代过程2
1、对于m=2,在权值分布为D2 = (0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.0715, 0.1666, 0.1666, 0.1666, 0.0715)的训练数据上,经过计算可得:
1.1、阈值v取2.5时误差率为0.16663(x < 2.5时取1,x > 2.5时取-1,则6 7 8分错,误差率为0.16663),
1.2、阈值v取5.5时误差率最低为0.07154(x > 5.5时取1,x < 5.5时取-1,则0 1 2 9分错,误差率为0.07153 + 0.0715),
1.3、阈值v取8.5时误差率为0.07153(x < 8.5时取1,x > 8.5时取-1,则3 4 5分错,误差率为0.0715*3)。
2、阈值v取8.5时误差率最低,故得到第二个基本分类器
3、G2(x)在数据集上的错误率
4、G2的系数
5、更新训练数据的权值分布
6、分类函数和基分类器
·迭代过程3
1、基本分类器
2、G3(x)上的错误率
3、G3的系数
4、更新训练数据的权值分布
5、分布函数
6、此时,得到3个基本分类器sign(f3(x))在训练集上有0个误分类点。整个训练过程结束
- 具体解题(重,看这个)