第1课:机器学习之随机森林算法

人工智能是一个很大的话题,机器学习是其中的一个重点。现在最火的框架是Google出的Tensorflow.用Python编写
一开始,当然不能直接讲框架了,先给大家讲一些理论算法,增强大家对人工智能发展现状的一些认识

随机森林算法是机器学习中一个比较重要的算法,他的思想其实很简单,通俗点说就是:
森林中每一棵决策树就是一个精通于某一个窄领域的专家(因为我们从M个feature中选择m让每一棵决策树进行学习),这样在随机森林中就有了很多个精通不同领域的专家,对一个新的问题(新的输入数据),可以用不同的角度去看待它,最终由各个专家,投票得到结果

随机森林的基本组成单位是决策树

所谓决策树实际上是将空间用超平面进行划分的一种方法,每次分割的时候,都将当前的空间一分为二,用程序也很好实现,无非就是一些if …else…
这样使得每一个叶子节点都是在空间中的一个不相交的区域,在进行决策的时候,会根据输入样本每一维feature的值,一步一步往下,最后使得样本落入N个区域中的一个(假设有N个叶子节点)如图1

随机森林是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对应分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类

样本输入的时候,有一点要注意,因为每个决策树只对每个领域比较专业,要输入的特征最好与决策树想匹配,如果是随机输入特征,要保证每一棵树的输入样本都不是全部的样本,防止过载

图一:
打赏  如对你有帮助,请我喝杯咖啡吧!