机器学习中如何选择分类器

  在机器学习中,分类器作用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别。分类器依据学习的方式可以分为非监督学习和监督学习。非监督学习顾名思义指的是给予分类器学习的样本但没有相对应类别标签,主要是寻找未标记数据中的隐藏结构。,监督学习通过标记的训练数据推断出分类函数,分类函数可以用来将新样本映射到对应的标签。在监督学习方式中,每个训练样本包括训练样本的特征和相对应的标签。监督学习的流程包括确定训练样本的类型、收集训练样本集、确定学习函数的输入特征表示、确定学习函数的结构和对应的学习算法、完成整个训练模块设计、评估分类器的正确率。这一节的目的是分类器的选取。可以依据下面四个要点来选择合适的分类器。

1. 泛化能力和拟合之间的权衡

  过拟合评估的是分类器在训练样本上的性能。如果一个分类器在训练样本上的正确率很高,说明分类器能够很好地拟合训练数据。但是一个很好的拟合训练数据的分类器就存在着很大的偏置,所以在测试数据上不一定能够得到好的效果。如果一个分类器在训练数据上能够得到很好效果但是在测试数据上效果下降严重,说明分类器过拟合了训练数据。从另一个方面分析,若分类器在测试数据上能够取得好效果,那么说明分类器的泛化能力强。分类器的泛化和拟合是一个此消彼长的过程,泛化能力强的分类器拟合能力一般很弱,另外则反之。所以分类器需要在泛化能力和拟合能力间取得平衡。

2. 分类函数的复杂度和训练数据的大小

  训练数据的大小对于分类器的选择也是至关重要的,如果是一个简单的分类问题,那么拟合能力强泛化能力弱的分类器就可以通过很小的一部分训练数据来得到。反之,如果是一个复杂的分类问题,那么分类器学习就需要大量的训练数据和泛化能力强的学习算法。一个好的分类器应该能够根据问题的复杂度和训练数据的大小自动地调整拟合能力和泛化能力之间的平衡。

3. 输入的特征空间的维数

  如果输入特征空间的向量维数很高的话,就会造成分类问题变得复杂,即使最后的分类函数仅仅就靠几个特征来决定的。这是因为过高的特征维数会混淆学习算法并且导致分类器的泛化能力过强,而泛化能力过强会使得分类器变化太大,性能下降。因此,一般高维特征向量输入的分类器都需要调节参数使其泛化能力较弱而拟合能力强。另外在实验中,也可以通过从输入数据中去除不相干的特征或者降低特征维数来提高分类器的性能。

4. 输入的特征向量之间的均一性和相互之间的关系

  如果特征向量包含多种类型的数据(如离散,连续),许多分类器如SVM,线性回归,逻辑回归就不适用。这些分类器要求输入的特征必须是数字而且要归一化到相似的范围内如 之间。而像K最近邻算法和高斯核的SVM这些使用距离函数的分类器对于数据的均一性更加敏感。但是另一种分类器决策树却能够处理这些不均一的数据。如果有多个输入特征向量,每个特征向量之间相互独立,即当前特征向量的分类器输出仅仅和当前的特征向量输入有关,那么最好选择那些基于线性函数和距离函数的分类器如线性回归、SVM、朴素贝叶斯等。反之,如果特征向量之间存在复杂的相互关系,那么决策树和神经网络更加适合于这类问题。

posted @ 2015-08-29 23:59  dawnminghuang  阅读(14587)  评论(0编辑  收藏  举报