随机森林就是要将这我们之前学的两个算法进行结合:bagging能减少variance(通过g们投票),而decision tree的variance很大,资料不同,生成的树也不同。

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

为了得到不同的g,除了用bootstrap用不同的资料得到不同的g外,还可以采用随即选择特征的方式:

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

为了增加特征的随机性,将特征投影到任意方向上:

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

bagging中,没有被选中的资料被称为OOB:

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

在N次选择中都没有被选中的概率是:

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

可以用OOB来做validation,不同的是,不需要对每个g来做,可以用G-来做,然后取平均值,最后衡量的是Eoob

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

OOB选择模型和validation选择模型的区别:validation要经过两次的训练,OOB只需要一次:

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

特征选择:对于线性模型,可以根据重要性对特征进行选择。RF是非线性模型,该如何选择呢?

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

对于RF,可以使用如下方式来衡量某个特征的重要性:

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

可以采用permutation+OOB的方式来进行RF的特征选择:

Coursera台大机器学习技法课程笔记10-Random forest-LMLPHP

可以参考这位博主的博客:http://blog.csdn.net/lho2010/article/details/43732935

04-19 20:52