分类算法-下

1随机森林算法

随机森林是一种集成算法(EnsembleLearning),它属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能,其可以取得不错成绩,主要归功于“随机”和“森林”,一个使它具有抗过拟合能力,一个使它更加精准。

  • 随机森林构造

分类算法-下_第1张图片
大量的决策树形成随机森林。接下来是随机森林的构造过程,如下所示:
步骤1:假如有N个样本,则有放回的随机选择n(n<=N)个样本(每次随机选取一个样本,然后返回继续选择)。这选择好了的n个样本用来训练一个决策树,作为弱分类器;
步骤2:假设样本有M个属性,当决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m< 步骤3:决策树形成过程中每个节点都要按照步骤2来分裂(很容易理解,如果下一次该节点选出来的那一个属性是刚刚其父节点分裂时用过的属性,则该节点已经达到了叶子节点,无须继续分裂了),一直到不能够再分裂为止。
按照步骤1~3建立大量的决策树,这样就构成了随机森林。对于新的样本,多颗决策树采用投票选举的方法判定其类别。
从上面的步骤可以看出,随机森林的随机性体现在每颗数的训练样本是随机的,树中每个节点的分类属性也是随机选择的。有了这2个随机的保证,随机森林就不会产生过拟合的现象了。

  • 随机森林的优点

(1)由于采用了集成算法,本身精度比大多数单个算法要好。
(2)在测试集上表现良好,由于两个随机性的引入,使得随机森林不容易陷入过拟合(样本随机,特征随机)。
(3)由于两个随机性的引入,使得随机森林具有一定的抗噪声能力,对比其他算法具有一定优势。
(4)它能够处理很高维度的数据,并且不用做特征选择,对数据集的适应能力强:既能处理离散型数据,也能处理连续型数据,数据集无需规范化。
(5)由于实现简单、精度高、抗过拟合能力强,当面对非线性数据时,适于作为基准模型。

2 支持向量机
支持向量机构建了一个分割两类的超平面,在构建过程中,SVM算法试图使两类之间的分割达到最大化。
分类算法-下_第2张图片
分类算法-下_第3张图片

能够将样本正确地划分为两类,即相同类别的样本都落在分类超平面的同一侧,则该样本集是线性可分的,即满足:
分类算法-下_第4张图片
适用范围:SVM算法只适用于二分类问题。

  • 线性SVM延伸为非线性SVM的方法
    要将线性SVM延伸为非线性SVM来分类线性不可分割的数据,非线性SVM可以在输入空间找到一个非线性决策超曲面,有2个主要的步骤:
    (1)使用一个非线性转换将原始数据映像至较高维度的特征空间(featurespace),此步骤中有许多常见的非线性转换可供选用。即常用的核函数:PolynomialKernel、GaussianRadialBasisFunction、SigmoidKernels,不同核函数的训练结果,会对应到输入空间上不同类型的非线性分类器。
    (2)在高维特征空间中找到最佳的线性分割超平面。在此处我们同样使用线性SVM,而我们在高维特征空间中找到最大边界超平面,对应至原来空间就是一个非线性分割超平面。

你可能感兴趣的:(数据挖掘,分类,决策树,机器学习)