Apr 24, 2009

Boosting in Learning objects class

Antonio Torralba 的 boosting 代码是 gentle boosting, weak classifier 是 regression stump (和 decision stump 有什么区别?)
y = aI[x>th]+b
问题:为什么不用 y=ax+b.
首先注意到 x 的 span 很大, y \in {-1,1}。我做了一个简单实验,regressionStump_linearRegression.m,分别用 regression stump 和 linear regression。从作为弱分类器的分类效果来说,二者差不多,但是 regression stump 总是要好。
从 squared error 的角度看, regression stump 的 squared error 明显要小。既然 gentle boosting 要最小化 squared error,所以要用 regression stump.

Antonio Torralba 的代码是有 feature selection 的,并且只能适用于每一个 feature 只有一维 (这种情况下实际上相当于每个instance 就是一个feature vector)。在训练的时候,它是先把所有的feature求出来,再送给 gentle boosting 训练。但是测试的时候,就不用求所有的 feature,根据选择的features 计算就可以了。在 feature 不是很多的情况下,是可以这样做的。如果 features 很多,要用 subset selection.

0 comments: