分类模型对比计较

一、决策树——decision tree

1、定义

分类、预测方法,有监督的学习算法,以树状图为基础,输出结果为简单实用的规则。是一系列if-then语句。

2、解决问题

分类、回归。

3、原理

是贪心算法,即在特性空间上执行递归的二元分割,决策树由节点和有向边组成给。

  • 内部节点:一个特征或者属性。
  • 叶子节点:一个分类。

4、优点

  • 可读性强,便于理解和解释。(树的结构具有可视化);
  • 训练所需数据少,使用开销呈指数分布,分类速度快;
  • 易于通过静态测试来对模型进行评测;
  • 可处理多路输出问题。

5、缺点

  • 易产出过于复杂的模型,过拟合;
  • 不擅长对数值结果进行预测,处理缺失数据困难;
  • 不稳定(可通过决策树的集成实现);
  • 过度拟合问题可能出现。

6、采用原则

损失函数最小化原则。

二、感知机模型

1、定义

设特征空间为X\subseteq R^{2},输出空间为y = {+1,-1}。

输出\vec{x}\subseteq X为特征空间的点;输出y\subseteq Y为实例的类别。

是线性分类器。

2、解决问题

二分类,线性可分问题。

3、优点

模型简单,易于实现。

4、缺点 

  • 无法完美地处理线性不可分地训练数据;
  • 最终迭代代数受结果超平面以及训练集的数据影响很大;
  • 损失函数的目标只是减小所有误分类点与超平面,最终很有可能会导致部分样本点距离超平面很近,从某种程度上说这样的分类效果并不是特别的好(支持向量机解决)。

三、神经网络(多层功能神经元)

1、定义

是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。

2、解决问题

非线性可分问题。

3、优点

  • 具有很强的鲁棒性和容错性,分类的准确度高,,胜过几乎所有其他机器学习算法;
  • 并行处理方法,使得计算快速;
  • 自学习、自组织、自适应性;
  • 可以充分逼近任意复杂的非线性关系;
  • 具有很强的信息综合能力,能同时处理定量和定性的信息。

4、缺点

  • “黑箱”操作,无法确定推导过程;
  • 耗时耗力,算法细节多,难以控制,且费用开支大;
  • 所需数据量大;
  • 学习时间过长,甚至可能达不到学习的目的。

五、支持向量机——Support Vector Nachine(SVM)

1、定义

定义在特征空间上间隔最大的线性分类器。

2、解决问题

二分类问题。

  • 线性可分支持向量机:训练数据线性可分
  • 线性支持向量机:训练数据近似线性可分
  • 非线性支持向量机:训练数据线性不可分

3、优点

  • 适用小样本,简化了通常的分类和回归等问题;
  • 避免了“维数灾难”:计算的复杂性取决于支持向量的数目,而不是样本空间的维数;
  • 少数支持向量决定了最终结果,对异常值不敏感,具有较好的“鲁棒性”;
  • 泛化性能高
  • 可解决非线性问题;
  • 可以避免神经网络结构选择和局部极小点问题。

4、缺点

  • 对大规模训练样本难以实施;

  • 解决多分类问题困难,对非线性问题没有通用方案;

  • 对缺失数据、参数和核函数选择敏感。

六、(朴素)贝叶斯分类

1、定义

定义在特征空间上间隔最大的线性分类器。

2、优点

  • 速度快,支持增量式训练;
  • 数学基础坚实,分类效率稳定;
  • 所需估计参数少,对缺失数据不太敏感,算法简单;
  • 对分类器实际学习的解释相对简单。

3、缺点

  • 需要知道先验概率;

  • 分类决策存在错误率;

  • 无法处理基于特征组合所产生的变化结果。

七、K-最近邻——KNN

1、定义

有监督学习中的分类算法

2、优点

  • 能利用复杂函数进行数值预测,简单,易于理解,易于实现;
  • 只需保存训练样本和标记,合理的数据缩放量;
  • 速度快,支持增量式训练;
  • 不易受小错误概率的影响;
  • 对分类器实际学习的解释相对简单。

3、缺点

  • K的选择不固定;

  • 所有训练数据都必须缺一不可;

  • 具有较高的计算复杂度和内存消耗;

  • 寻找合理的缩放因子比较乏味。

猜你喜欢

转载自blog.csdn.net/xllzuibangla/article/details/124972890