各种算法的优缺点

来源:互联网 发布:java jar 日志输出 编辑:程序博客网 时间:2024/04/27 22:47

K近邻:算法采用测量不同特征值之间的距离的方法进行分类。

优点:

1.简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;

2.可用于数值型数据和离散型数据;

3.训练时间复杂度为O(n);无数据输入假定;

4.对异常值不敏感

缺点:

1.计算复杂性高;空间复杂性高;

2.样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);

3.一般数值很大的时候不用这个,计算量太大。但是单个样本又不能太少 否则容易发生误分。

4.最大的缺点是无法给出数据的内在含义。

朴素贝叶斯

优点:

1.生成式模型,通过计算概率来进行分类,可以用来处理多分类问题,

2.对小规模的数据表现很好,适合多分类任务,适合增量式训练,算法也比较简单。

缺点:

1.对输入数据的表达形式很敏感,

2.由于朴素贝叶斯的“朴素”特点,所以会带来一些准确率上的损失。

3.需要计算先验概率,分类决策存在错误率。

决策树

优点:

1.概念简单,计算复杂度不高,可解释性强,输出结果易于理解;

2.数据的准备工作简单, 能够同时处理数据型和常规型属性,其他的技术往往要求数据属性的单一。

3.对中间值得确实不敏感,比较适合处理有缺失属性值的样本,能够处理不相关的特征;

4.应用范围广,可以对很多属性的数据集构造决策树,可扩展性强。决策树可以用于不熟悉的数据集合,并从中提取出一些列规则 这一点强于KNN。

缺点:

1.容易出现过拟合;

2.对于那些各类别样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征。

3信息缺失时处理起来比较困难。 忽略数据集中属性之间的相关性。

Svm

优点:

1.可用于线性/非线性分类,也可以用于回归,泛化错误率低,计算开销不大,结果容易解释;

2.可以解决小样本情况下的机器学习问题,可以解决高维问题 可以避免神经网络结构选择和局部极小点问题。

3.SVM是最好的现成的分类器,现成是指不加修改可直接使用。并且能够得到较低的错误率,SVM可以对训练集之外的数据点做很好的分类决策。

缺点:

对参数调节和和函数的选择敏感,原始分类器不加修改仅适用于处理二分类问题。

Logistic回归:

根据现有数据对分类边界线建立回归公式,依次进行分类。

优点:

实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低;

缺点:

容易欠拟合,分类精度可能不高

EM 期望最大化算法-上帝算法

只要有一些训练数据,再定义一个最大化函数,采用EM算法,利用计算机经过若干次迭代,就可以得到所需的模型。
EM算法是自收敛的分类算法,既不需要事先设定类别也不需要数据见的两两比较合并等操作。缺点是当所要优化的函数不是凸函数时,EM算法容易给出局部最佳解,而不是最优解。

参考文献:

机器学习–判别式模型与生成式模型

数据挖掘十大算法—-EM算法(最大期望算法)

各种分类算法的优缺点

机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

吴军.数学之美[M].北京:人民邮电出版社,2014.

Peter Harrington,李锐,李鹏,曲亚东,王斌.机器学习实战[M].北京:人民邮电出版社2013.

李航.统计学习方法[M].北京:清华大学出版社 2012.

杉山将,许永伟.图解机器学习[M].北京:人民邮电出版社2015.

斯坦福大学公开课 :机器学习课程

0 0
原创粉丝点击