Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习常见算法及优缺点!

机器学习常见算法及优缺点!

作者头像
Datawhale
发布于 2019-10-15 03:16:45
发布于 2019-10-15 03:16:45
1K0
举报
文章被收录于专栏:Datawhale专栏Datawhale专栏

? Index

  • 决策树算法
  • 分类算法
  • 聚类算法
  • 集成算法(AdaBoost算法)
  • 人工神经网络算法
  • 排序算法
  • 关联规则算法(Apriori算法)

01 决策树算法

决策树优点

1、决策树易于理解和解释,可以可视化分析,容易提取出规则。

2、可以同时处理标称型和数值型数据。

3、测试数据集时,运行速度比较快。

4、决策树可以很好的扩展到大型数据库中,同时它的大小独立于数据库大小。

决策树缺点

1、对缺失数据处理比较困难。

2、容易出现过拟合问题。

3、忽略数据集中属性的相互关联。

4、ID3算法计算信息增益时结果偏向数值比较多的特征。

改进措施

1、对决策树进行剪枝。可以采用交叉验证法和加入正则化的方法。

2、使用基于决策树的combination算法,如bagging算法,randomforest算法,可以解决过拟合的问题。

常见算法
1)C4.5算法

ID3算法是以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。ID3算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。C4.5算法核心思想是ID3算法,是ID3算法的改进,改进方面有:

  • 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
  • 在树构造过程中进行剪枝;
  • 能处理非离散的数据;
  • 能处理不完整的数据。

优点:

产生的分类规则易于理解,准确率较高。

缺点:

1)在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效;

2)C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

2)CART分类与回归树

是一种决策树分类方法,采用基于最小距离的基尼指数估计函数,用来决定由该子数

据集生成的决策树的拓展形。如果目标变量是标称的,称为分类树;如果目标变量是连续的,称为回归树。分类树是使用树结构算法将数据分成离散类的方法。

优点:

1)非常灵活,可以允许有部分错分成本,还可指定先验概率分布,可使用自动的成本复杂性剪枝来得到归纳性更强的树。

2)在面对诸如存在缺失值、变量数多等问题时CART 显得非常稳健。

02 分类算法

1)KNN算法

优点 :

1)KNN是一种在线技术,新数据可以直接加入数据集而不必进行重新训练

2)KNN理论简单,容易实现

缺点:

1)对于样本容量大的数据集计算量比较大。

2)样本不平衡时,预测偏差比较大。如:某一类的样本比较少,而其它类样本比较多。

3)KNN每一次分类都会重新进行一次全局运算。

4)k值大小的选择。

应用领域:

文本分类、模式识别、聚类分析,多分类领域

2)支持向量机(SVM)

支持向量机是一种基于分类边界的方法。其基本原理是(以二维数据为例):如果训练数据分布在二维平面上的点,它们按照其分类聚集在不同的区域。基于分类边界的分类算法的目标是,通过训练,找到这些分类之间的边界(直线的――称为线性划分,曲线的――称为非线性划分)。对于多维数据(如N维),可以将它们视为N维空间中的点,而分类边界就是N维空间中的面,称为超面(超面比N维空间少一维)。线性分类器使用超平面类型的边界,非线性分类器使用超曲面。

支持向量机的原理是将低维空间的点映射到高维空间,使它们成为线性可分,再使用线性划分的原理来判断分类边界。在高维空间中是一种线性划分,而在原有的数据空间中,是一种非线性划分。

优点:

1)解决小样本下机器学习问题。

2)解决非线性问题。

3)无局部极小值问题。(相对于神经网络等算法)

4)可以很好的处理高维数据集。

5)泛化能力比较强。

缺点:

1)对于核函数的高维映射解释力不强,尤其是径向基函数。

2)对缺失数据敏感。

应用领域:

文本分类、图像识别、主要二分类领域

3)朴素贝叶斯算法

优点:

1)对大数量训练和查询时具有较高的速度。即使使用超大规模的训练集,针对每个项目通常也只会有相对较少的特征数,并且对项目的训练和分类也仅仅是特征概率的数学运算而已。

2)支持增量式运算。即可以实时的对新增的样本进行训练。

3)朴素贝叶斯对结果解释容易理解。

缺点:

由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效果不好。

应用领域:

文本分类、欺诈检测中使用较多

4)Logistic回归算法

优点:

计算代价不高,易于理解和实现

缺点:

1)容易产生欠拟合。

2)分类精度不高。

应用领域:

用于二分类领域,可以得出概率值,适用于根据分类概率排名的领域,如搜索排名等。

Logistic回归的扩展softmax可以应用于多分类领域,如手写字识别等。

03 聚类算法

1)K means 算法

是一个简单的聚类算法,把n的对象根据他们的属性分为k个分割,k< n。算法的核心就是要优化失真函数J,使其收敛到局部最小值但不是全局最小值。

其中N为样本数,K是簇数,rnk b表示n属于第k个簇,uk 是第k个中心点的值。然后求出最优的uk

优点:算法速度很快

缺点:分组的数目k是一个输入参数,不合适的k可能返回较差的结果。

2)EM最大期望算法

EM算法是基于模型的聚类方法,是在概率模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量。E步估计隐含变量,M步估计其他参数,交替将极值推向最大。

EM算法比K-means算法计算复杂,收敛也较慢,不适于大规模数据集和高维数据,但比K-means算法计算结果稳定、准确。EM经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。

04 集成算法(AdaBoost算法)

AdaBoost算法优点

1)很好的利用了弱分类器进行级联。

2)可以将不同的分类算法作为弱分类器。

3)AdaBoost具有很高的精度。

4)相对于bagging算法和Random Forest算法,AdaBoost充分考虑的每个分类器的权重。

Adaboost算法缺点

1)AdaBoost迭代次数也就是弱分类器数目不太好设定,可以使用交叉验证来进行确定。

2)数据不平衡导致分类精度下降。

3)训练比较耗时,每次重新选择当前分类器最好切分点。

AdaBoost应用领域

模式识别、计算机视觉领域,用于二分类和多分类场景

05 人工神经网络算法

神经网络优点:

1)分类准确度高,学习能力极强。

2)对噪声数据鲁棒性和容错性较强。

3)有联想能力,能逼近任意非线性关系。

神经网络缺点:

1)神经网络参数较多,权值和阈值。

2)黑盒过程,不能观察中间结果。

3)学习过程比较长,有可能陷入局部极小值。

人工神经网络应用领域:

目前深度神经网络已经应用与计算机视觉,自然语言处理语音识别等领域并取得很好的效果。

06 排序算法(PageRank)

PageRank是google的页面排序算法,是基于从许多优质的网页链接过来的网页,必定还是优质网页的回归关系,来判定所有网页的重要性。(也就是说,一个人有着越多牛X朋友的人,他是牛X的概率就越大。)

PageRank优点:

完全独立于查询,只依赖于网页链接结构,可以离线计算。

PageRank缺点

1)PageRank算法忽略了网页搜索的时效性。

2)旧网页排序很高,存在时间长,积累了大量的in-links,拥有最新资讯的新网页排名却很低,因为它们几乎没有in-links。

07 关联规则算法(Apriori算法)

Apriori算法是一种挖掘关联规则的算法,用于挖掘其内含的、未知的却又实际存在的数据关系,其核心是基于两阶段频集思想的递推算法 。

Apriori算法分为两个阶段:

1)寻找频繁项集

2)由频繁项集找关联规则

算法缺点:

1) 在每一步产生侯选项目集时循环产生的组合过多,没有排除不应该参与组合的元素;

2) 每次计算项集的支持度时,都对数据库中 的全部记录进行了一遍扫描比较,需要很大的I/O负载。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Datawhale 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
机器学习常见算法优缺点汇总
机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。
机器学习AI算法工程
2019/10/28
1.3K0
机器学习算法优缺点对比及选择(汇总篇)
本文的目的,是务实、简洁地盘点一番当前机器学习算法。文中内容结合了个人在查阅资料过程中收集到的前人总结,同时添加了部分自身总结,在这里,依据实际使用中的经验,将对此模型优缺点及选择详加讨论。
Ai学习的老章
2019/07/15
1.3K0
机器学习算法优缺点对比及选择(汇总篇)
汇总 | 机器学习算法优缺点 &amp; 如何选择
机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。通常最开始我们都会选择大家普遍认同的算法,诸如SVM,GBDT,Adaboost,现在深度学习很火热,神经网络也是一个不错的选择。
昱良
2019/03/07
9430
《机器学习实战》总结篇
前些天完成了《机器学习实战》这本书的学习,也利用 Python3 实现了各个章节的代码,对传统的机器学习方法有了更进一步的了解,这里做一个总结。 代码传送门: https://github.com/xyxxmb/Machine-Learning-In-Action 目录 第一部分:分类 【Ch1】机器学习基础 【Ch2】k - 近邻算法 【Ch3】决策树 【Ch4】基于概率论的分类方法:朴素贝叶斯 【Ch5】Logistic 回归 【Ch6】支持向量机 【Ch7】利用 AdaBoost 元算法
echobingo
2018/04/25
9540
《机器学习实战》总结篇
常用机器学习算法优缺点及其应用领域
决策树 决策树优点 1、决策树易于理解和解释,可以可视化分析,容易提取出规则。 2、可以同时处理标称型和数值型数据。 3、测试数据集时,运行速度比较快。 4、决策树可以很好的扩展到大型数据库中,同时它
用户1332428
2018/03/09
1.4K0
常用机器学习算法优缺点及其应用领域
数据挖掘十大经典算法(包括各自优缺点 / 适用数据场景)
本文主要分析皆来自其他资料,借用较为权威的总结来对我已经学习的这些经典算法做一个极为精简的概述(根据自身经验有一定修改),另外同时附上机器学习实战中作者对各种算法的评价。另外机器学习实战这本书是本人看了这么多书籍或者资料中唯一一本坚持从头看到尾,看完了的书籍,包括其中的代码皆实践运行过,收获颇多,个人认为虽然这本书时间上已经算是老资料了,但其中作者的各种总结和代码的演练都由浅入深(前提还是要有一点基础的),让我能看懂并能从中学到东西,可能当时很多东西比较熟悉,后来淡忘,但当再次接触或使用它时能很快的重拾,所以如果你需要一门较为优秀的教材作为机器学习的入门资料我会推荐给你《机器学习实战》。
全栈程序员站长
2022/07/01
1.4K0
数据挖掘十大经典算法(包括各自优缺点 / 适用数据场景)
机器学习十大算法简介
K-Means算法是一种聚类算法,把n个对象根据他们的属性分成k个分类,并且使这K个分割的内部相似度最大,而分割之间的相似度最小。 其主要的算法流程如下: 1. 从n个对象中任意选K个对象,作为每个聚类的中心 2. 根据K个中心,按照每个对象离K个中心的最小距离(离那个中心近,就划分到哪个中心),将n个对象划分成K个分割(聚类) 3. 然后计a ge su a分割的中心(分割中的所有对象的均值),将这些中心作为聚类新的中心。 4. 计算标准测度函数,当计算函数满足一定的条件,如收敛了,则程序结束,否则返回第2步。
全栈程序员站长
2022/11/16
4840
数据挖掘18大算法实现以及其他相关经典DM算法
算法使用方法在每个算法中给出了3大类型,主算法程序,调用程序,输入数据,调用方法如下: 将需要数据的测试数据转化成与给定的输入格式相同,然后以Client类的测试程序调用方式进行使用。也可以自行修改算法程序,来适用于自己的使用场景。 18大经典DM算法18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的博文链接,希望能够帮助大家学。 目前追加了其他的一些经典的DM算法,在others的包中涉及聚类,分类,图算法,搜索算等等,没有具体分类。
机器学习AI算法工程
2018/03/13
1.5K0
数据挖掘领域的十大经典算法
哲学家阿多诺
2024/08/20
1710
数据挖掘领域的十大经典算法
【学习】十大数据挖掘算法及各自优势
1. C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: 1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足; 2) 在树构造过程中进行剪枝; 3) 能够完成对连续属性的离散化处理; 4) 能够对不完整数据进行处理。 C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。 2.
小莹莹
2018/04/20
8110
【学习】十大数据挖掘算法及各自优势
【干货】数据挖掘的10大分析方法
1.C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: 1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足; 2)在树构造过程中进行剪枝; 3)能够完成对连续属性的离散化处理; 4)能够对不完整数据进行处理。 C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。 2.Thek-m
CDA数据分析师
2018/02/11
1.8K0
数据挖掘十大经典算法
数据挖掘十大经典算法 一、 C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: 1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足; 2) 在树构造过程中进行剪枝; 3) 能够完成对连续属性的离散化处理; 4) 能够对不完整数据进行处理。 C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的
用户1737318
2018/06/05
1.2K0
常见机器学习算法背后的数学
机器学习算法是这样设计的,它们从经验中学习,当它们获取越来越多的数据时,性能就会提高。每种算法都有自己学习和预测数据的方法。在本文中,我们将介绍一些机器学习算法的功能,以及在这些算法中实现的有助于学习过程的一些数学方程。
deephub
2020/08/11
7400
常见机器学习算法背后的数学
机器学习概念总结笔记(三)
作者:许敏 系列推荐 机器学习概念总结笔记(一) 机器学习概念总结笔记(二) 机器学习概念总结笔记(四) 12)分类决策树C4.5 C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进
serena
2017/09/30
1.8K0
机器学习概念总结笔记(三)
机器学习经典算法优缺点总结
决策树:判别模型,多分类与回归,正则化的极大似然估计 特点: 适用于小数据集,在进行逐步应答过程中,典型的决策树分析会使用分层变量或决策节点,例如,可将一个给定用户分类成信用可靠或不可靠。 场景举例:基于规则的信用评估、赛马结果预测 优点: 计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征; 擅长对人、地点、事物的一系列不同特征、品质、特性进行评估 缺点: 容易过拟合(后续出现了随机森林,减小了过拟合现象),使用剪枝来避免过拟合; 适用数据范围: 数值型和标称型 CART分类
AI研习社
2018/03/19
1.3K0
【学习】详解数据挖掘十大经典算法!
国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. 不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。 数据挖掘十大经典算法(1) C
小莹莹
2018/04/23
1.7K0
【学习】详解数据挖掘十大经典算法!
机器学习-算法篇(上)
逻辑斯蒂回归(Logistic Regression)虽然被称为回归,但其实际上是分类模型,常用于二分类。LR模型因其简单好实现、可解释强深受工业界喜爱。
harry1225
2021/11/24
4730
机器学习-算法篇(上)
各种分类算法的优缺点
二、对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
Ai学习的老章
2019/07/30
1.8K0
机器学习简史和常用算法的梳理
原文:https://maoli.blog.csdn.net/article/details/115803729
润森
2022/08/18
8700
机器学习简史和常用算法的梳理
人工智能分类算法优缺点比较
一、决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义。
不去幼儿园
2024/12/03
1190
人工智能分类算法优缺点比较
相关推荐
机器学习常见算法优缺点汇总
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档