3个机器学习算法

2019-05-28 20:11:04 浏览数 (1)

1. 决策树

  根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分到合适的叶子上。

2、随机森林

  在源数据中随机选取数据,组成几个子集:

  S矩阵是源数据,有1-N条数据,A、B、C 是feature,最后一列C是类别:

  由S随机生成M个子矩阵:

  这M个子集得到 M 个决策树:   将新数据投入到这M个树中,得到M个分类结果,计数看预测成哪一类的数目最多,就将此类别作为最后的预测结果。

3、ADABOOST

  adaboost 是 bosting 的方法之一。   bosting就是把若干个分类效果并不好的分类器综合起来考虑,会得到一个效果比较好的分类器。   下图,左右两个决策树,单个看是效果不怎么好的,但是把同样的数据投入进去,把两个结果加起来考虑,就会增加可信度。

  adaboost 的例子,手写识别中,在画板上可以抓取到很多 features,例如始点的方向,始点和终点的距离等等。

  training的时候,会得到每个feature的weight,例如2和3的开头部分很像,这个feature对分类起到的作用很小,它的权重也就会较小。

  而这个alpha角就具有很强的识别性,这个feature的权重就会较大,最后的预测结果是综合考虑这些feature的结果。

0 人点赞