在机器学习中,分类器做用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别。分类器依据学习的方式能够分为非监督学习和监督学习。非监督学习顾名思义指的是给予分类器学习的样本但没有相对应类别标签,主要是寻找未标记数据中的隐藏结构。,监督学习经过标记的训练数据推断出分类函数,分类函数能够用来将新样本映射到对应的标签。在监督学习方式中,每一个训练样本包括训练样本的特征和相对应的标签。监督学习的流程包括肯定训练样本的类型、收集训练样本集、肯定学习函数的输入特征表示、肯定学习函数的结构和对应的学习算法、完成整个训练模块设计、评估分类器的正确率。这一节的目的是分类器的选取。能够依据下面四个要点来选择合适的分类器。算法
1. 泛化能力和拟合之间的权衡网络
过拟合评估的是分类器在训练样本上的性能。若是一个分类器在训练样本上的正确率很高,说明分类器可以很好地拟合训练数据。可是一个很好的拟合训练数据的分类器就存在着很大的偏置,因此在测试数据上不必定可以获得好的效果。若是一个分类器在训练数据上可以获得很好效果可是在测试数据上效果降低严重,说明分类器过拟合了训练数据。从另外一个方面分析,若分类器在测试数据上可以取得好效果,那么说明分类器的泛化能力强。分类器的泛化和拟合是一个此消彼长的过程,泛化能力强的分类器拟合能力通常很弱,另外则反之。因此分类器须要在泛化能力和拟合能力间取得平衡。机器学习
2. 分类函数的复杂度和训练数据的大小函数
训练数据的大小对于分类器的选择也是相当重要的,若是是一个简单的分类问题,那么拟合能力强泛化能力弱的分类器就能够经过很小的一部分训练数据来获得。反之,若是是一个复杂的分类问题,那么分类器学习就须要大量的训练数据和泛化能力强的学习算法。一个好的分类器应该可以根据问题的复杂度和训练数据的大小自动地调整拟合能力和泛化能力之间的平衡。性能
3. 输入的特征空间的维数学习
若是输入特征空间的向量维数很高的话,就会形成分类问题变得复杂,即便最后的分类函数仅仅就靠几个特征来决定的。这是由于太高的特征维数会混淆学习算法而且致使分类器的泛化能力过强,而泛化能力过强会使得分类器变化太大,性能降低。所以,通常高维特征向量输入的分类器都须要调节参数使其泛化能力较弱而拟合能力强。另外在实验中,也能够经过从输入数据中去除不相干的特征或者下降特征维数来提升分类器的性能。测试
4. 输入的特征向量之间的均一性和相互之间的关系spa
若是特征向量包含多种类型的数据(如离散,连续),许多分类器如SVM,线性回归,逻辑回归就不适用。这些分类器要求输入的特征必须是数字并且要归一化到类似的范围内如 之间。而像K最近邻算法和高斯核的SVM这些使用距离函数的分类器对于数据的均一性更加敏感。可是另外一种分类器决策树却可以处理这些不均一的数据。若是有多个输入特征向量,每一个特征向量之间相互独立,即当前特征向量的分类器输出仅仅和当前的特征向量输入有关,那么最好选择那些基于线性函数和距离函数的分类器如线性回归、SVM、朴素贝叶斯等。反之,若是特征向量之间存在复杂的相互关系,那么决策树和神经网络更加适合于这类问题。设计