一、决策树——decision tree
1、定义
分类、预测方法,有监督的学习算法,以树状图为基础,输出结果为简单实用的规则。是一系列if-then语句。
2、解决问题
分类、回归。
3、原理
是贪心算法,即在特性空间上执行递归的二元分割,决策树由节点和有向边组成给。
- 内部节点:一个特征或者属性。
- 叶子节点:一个分类。
4、优点
- 可读性强,便于理解和解释。(树的结构具有可视化);
- 训练所需数据少,使用开销呈指数分布,分类速度快;
- 易于通过静态测试来对模型进行评测;
- 可处理多路输出问题。
5、缺点
- 易产出过于复杂的模型,过拟合;
- 不擅长对数值结果进行预测,处理缺失数据困难;
- 不稳定(可通过决策树的集成实现);
- 过度拟合问题可能出现。
6、采用原则
损失函数最小化原则。
二、感知机模型
1、定义
设特征空间为,输出空间为y = {+1,-1}。
输出为特征空间的点;输出为实例的类别。
是线性分类器。
2、解决问题
二分类,线性可分问题。
3、优点
模型简单,易于实现。
4、缺点
- 无法完美地处理线性不可分地训练数据;
- 最终迭代代数受结果超平面以及训练集的数据影响很大;
- 损失函数的目标只是减小所有误分类点与超平面,最终很有可能会导致部分样本点距离超平面很近,从某种程度上说这样的分类效果并不是特别的好(支持向量机解决)。
三、神经网络(多层功能神经元)
1、定义
是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。
2、解决问题
非线性可分问题。
3、优点
- 具有很强的鲁棒性和容错性,分类的准确度高,,胜过几乎所有其他机器学习算法;
- 并行处理方法,使得计算快速;
- 自学习、自组织、自适应性;
- 可以充分逼近任意复杂的非线性关系;
- 具有很强的信息综合能力,能同时处理定量和定性的信息。
4、缺点
- “黑箱”操作,无法确定推导过程;
- 耗时耗力,算法细节多,难以控制,且费用开支大;
- 所需数据量大;
- 学习时间过长,甚至可能达不到学习的目的。
五、支持向量机——Support Vector Nachine(SVM)
1、定义
定义在特征空间上间隔最大的线性分类器。
2、解决问题
二分类问题。
- 线性可分支持向量机:训练数据线性可分
- 线性支持向量机:训练数据近似线性可分
- 非线性支持向量机:训练数据线性不可分
3、优点
- 适用小样本,简化了通常的分类和回归等问题;
- 避免了“维数灾难”:计算的复杂性取决于支持向量的数目,而不是样本空间的维数;
- 少数支持向量决定了最终结果,对异常值不敏感,具有较好的“鲁棒性”;
- 泛化性能高
- 可解决非线性问题;
- 可以避免神经网络结构选择和局部极小点问题。
4、缺点
-
对大规模训练样本难以实施;
-
解决多分类问题困难,对非线性问题没有通用方案;
-
对缺失数据、参数和核函数选择敏感。
六、(朴素)贝叶斯分类
1、定义
定义在特征空间上间隔最大的线性分类器。
2、优点
- 速度快,支持增量式训练;
- 数学基础坚实,分类效率稳定;
- 所需估计参数少,对缺失数据不太敏感,算法简单;
- 对分类器实际学习的解释相对简单。
3、缺点
-
需要知道先验概率;
-
分类决策存在错误率;
-
无法处理基于特征组合所产生的变化结果。
七、K-最近邻——KNN
1、定义
有监督学习中的分类算法
2、优点
- 能利用复杂函数进行数值预测,简单,易于理解,易于实现;
- 只需保存训练样本和标记,合理的数据缩放量;
- 速度快,支持增量式训练;
- 不易受小错误概率的影响;
- 对分类器实际学习的解释相对简单。
3、缺点
-
K的选择不固定;
-
所有训练数据都必须缺一不可;
-
具有较高的计算复杂度和内存消耗;
-
寻找合理的缩放因子比较乏味。