模式识别之基础---常用分类算法特性归纳
常用的分类算法主要有决策树,贝叶斯,KNN,SVM,神经网络以及基于规则的分类算法。
本文主要对各种分类算法的特性做一下总结。
1. 决策树算法
- 决策树算法是一种构建分类模型的非参数方法,它不要求任何先验假设,不假定类和其他属性服从一定的概率分布。
- 找到最佳决策树是NP完全问题,许多决策树算法都采取启发式的方法指导对假定空间的搜索。
- 现有的决策树构建技术不需要昂贵的计算代价,即使训练集非常大,也可以快速建立模型。同时,决策树一旦建立,未知样本分类非常快,最坏情况下的时间复杂度为o(w),其中 w是树的最大深度。
- 决策树相对容易理解,并且在很多数据集上,决策树的准确率可以与其他分类算法媲美。
- 决策树是学习离散值函数的代表,但不能很好的推广到某些特定的布尔问题。
- 决策树算法对噪声的干扰有很好的鲁棒性,当采用避免过分拟合的方法后尤其如此。
- 冗余属性不会对决策树的准确率造成不利影响。
- 由于大多数的决策树都采自顶向下的递归方式进行划分,因此沿着树向下,记录会越来越少。在叶节点,记录可能太少,对于叶节点代表的类,不能做出具有统计意义的判决,这就是所谓的数据碎片问题。解决该类问题的一种方法是,当样本数小于某个特定阈值时,停止分裂。
- 子树可能在决策树中重复多次。当决策树的每个内部节点都依赖单个属性的测试条件时(相同的测试条件),就会出现这种情形。
2. 基于规则的分类器算法
- 规则集的表达能力几乎等同于决策树,因为决策树可以用互斥和穷举的规则集表示。基于规则的分类器和决策树分类器都对属性空间进行直线划分,并将类指派到每个划分。
- 基于规则的分类器通常被用来产生易于理解的描述性模型,而模型的性能可以与决策树媲美。
- 基于规则的分类器使用的基于类的规则定序方法非常适用于处理类分布不平衡的数据集。
3. 最近邻分类算法(KNN)
- 最近邻分类属于基于实例的学习技术,他使用具体的训练实例进行预测。
- 最近邻分类属于消极学习方法,不必预先建立模型。但分类测试样例的开销却很大,因为需要逐个计算测试样例和训练样例之间的相似度。相反,积极学习方法通常需要花费大量计算资源来建立模型,模型一旦建立,分类测试样例就会非常快。
- 最近邻分类器基于局部信息进行预测,因此他对噪声数据非常敏感。
- 最近邻分类器可以生成任意形状的决策边界,这样的决策边界与决策树相比,能提供更加灵活的模型表示。
4. 朴素贝叶斯分类算法
- 面对孤立的噪声点,贝叶斯分类器是健壮的,因为从数据中估计条件概率时,这些点被平均。
- 通过在建模和分类时忽略样例,贝叶斯分类器可以处理属性值遗漏问题。
- 面对无关属性,分类器是健壮的。如果x是无关属性,那么p(x|Y)几乎变成的均匀分布,x的条件概率不会对总的后验概率产生影响。
- 相关属性会降低分类器的性能,因为这对于条件独立的假设不成立。
5. 贝叶斯信念网(BNN)
- BNN提供了一种用图形模型来捕获特定领域的先验知识的方法。网络还可以对变量间的因果依赖关系进行编码。
- 构造网络可能既费时又费力。然而一旦网络结构确定下来,新添加变量就十分容易。
- BNN很适合处理不完整的数据,对有属性遗漏的实例可以通过对该属性的所有可能取值的概率求和或者求积分来加以处理。
- 对过分拟合问题非常鲁棒。
因为对人工神经网络没有深入学习过,因此这里引用他人的总结。
人工神经网络
- 至少含有一个隐藏层的多层神经网络是一种普适近似,即可以用来近似任何目标函数。由于ANN具有丰富的假设空间,因此对于给定的问题,选择合适的拓扑结构来防止模型的过分拟合是非常重要的。
- ANN可以处理冗余特征,因为权值在训练过程中自动学习,冗余特征的权值非常小。
- 神经网络对训练数据中的噪声非常敏感。
- ANN权值学习使用的梯度下降方法经常会收敛到局部极小值。
- 训练ANN是非常耗时的。
参考《数据挖掘导论》
http://www.pluscn.net/?p=1553
转载于:https://www.cnblogs.com/pengkunfan/p/3950716.html
模式识别之基础---常用分类算法特性归纳相关推荐
- 数据挖掘算法——常用分类算法总结
常用分类算法总结 分类算法 NBC算法 LR算法 SVM算法 ID3算法 C4.5 算法 C5.0算法 KNN 算法 ANN 算法 分类算法 分类是在一群已经知道类别标号的样本中,训练一种分类器,让其 ...
- 基于Python实现五大常用分类算法(原理+代码)
读: 在机器学习和统计中,分类算法通过对已知类别训练集的计算和分析,从中发现类别规则并预测新数据的类别.分类被认为是监督学习的一个实例,即学习可以获得正确识别的观察的训练集的情况. 实现分类的算法,特 ...
- 各常用分类算法的优缺点总结:DT/ANN/KNN/SVM/GA/Bayes/Adaboosting/Rocchio
1决策树(Decision Trees)的优缺点 决策树的优点: 一. 决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义. 二. 对于决策树,数据的准备往往是简单或者是不必要的. ...
- 常用分类算法的优缺点
1. Bayes 贝叶斯分类法 1.1. 优点 1)所需估计的参数少,对于缺失数据不敏感. 2)有着坚实的数学基础,以及稳 定的分类效率. 1.2. 缺点 1)需要假设属性之间相互独立,这往往并不成立 ...
- 第4章 最基础的分类算法-k近邻算法
思想极度简单 应用数学知识少 效果好(缺点?) 可以解释机器学习算法使用过程中的很多细节问题 更完整的刻画机器学习应用的流程 distances = [] for x_train in X_train ...
- 机器学习中常用的分类算法总结
分类算法 分类算法和回归算法是对真实世界不同建模的方法.分类模型是认为模型的输出是离散的,例如大自然的生物被划分为不同的种类,是离散的.回归模型的输出是连续的,例如人的身高变化过程是一个连续过程, ...
- 【机器学习】总结了九种机器学习集成分类算法(原理+代码)
大家好,我是云朵君! 导读: 本文是分类分析(基于Python实现五大常用分类算法(原理+代码))第二部分,继续沿用第一部分的数据.会总结性介绍集成分类算法原理及应用,模型调参数将不在本次讨论范围内. ...
- 总结了九种机器学习集成分类算法(原理+代码)
公众号后台回复"图书",了解更多号主新书内容作者:云朵君来源: 数据STUDIO 导读: 本文是分类分析(基于Python实现五大常用分类算法(原理+代码))第二部分,继续沿用第一 ...
- 机器学习经典分类算法 —— C4.5算法(附python实现代码)
目录 理论介绍 什么是分类 分类的步骤 什么是决策树 决策树归纳 信息增益 相关理论基础 计算公式 ID3 C4.5 python实现 参考资料 理论介绍 什么是分类 分类属于机器学习中监督学习的一种 ...
最新文章
- golang的临时对象池sync.Pool
- 如何用python画一朵玫瑰花-使用Python画一朵美丽的玫瑰花
- oracle的函数索引怎么建,如何创建oracle函数索引
- python3.6 django部署_Centos7 django+uwsgi+nginx+python3.6.8部署
- 每一件事情的开始总是很困难的!
- 区块链技术指南 第一章 区块链和比特币的初体验
- 第九篇:Spring Boot整合Spring Data JPA_入门试炼01
- oracle sql练习_使用Scrapy爬虫,并将数据存储到oracle
- FPGA资源不足导致vivado生成bit失败
- Spring源码分析之Aop中拦截器,适配器,通知之间的关系
- 离开页面前onbeforeunload事件在火狐的兼容并且提交不触发
- 父亲做过什么让你终身难忘的事情?
- 企业微信正式发布 与阿里“钉钉”共逐移动办公市场
- python爬知识星球付费数据_python抓取知识星球精选帖,制作为pdf文件
- C++ primer第一章 C++概述 纪要
- Dos 模拟器 DosBox 下载使用
- 惠普win7驱动_win7怎么样打开无线网卡开关
- lamp一键安装包不安装mysql_LAMP一键安装包安装与配置
- 就业、养老、住房、出行等领域稳步前行 这一年,民生改善实实在在
- RefineDet算法笔记
热门文章
- python中列表生成式strip_列表生成式|让你的代码简洁又美观
- pyqt5教程13:客户定制组件
- python发送短信内容_通过Python发送短信
- update 和 left join 合并_Python数据预处理——连接、合并、重塑样本
- python输出日志文件_python将print输出的信息保留到日志文件中
- 【新星计划】汽车纵向动力学模型
- 关于linux内核描述正确的是 牛客网,在Linux系统,关于硬链接的描述正确的是()...
- java完整版记事本_求java记事本完整版
- javascript时间格式format函数,js日期格式化函数
- Spring中你不知道的注入方式