算法_机器学习十大算法优缺点

机器学习十大算法
数据挖掘十大算法总结–核心思想,算法优缺点,应用领域,数据挖掘优缺点
分类算法:C4.5,CART,Adaboost,NaiveBayes,KNN,SVM
聚类算法:KMeans
统计学习:EM
关联分析:Apriori
链接挖掘:PageRank

 其中,EM算法虽可以用来聚类,但是由于EM算法进行迭代速度很慢,比kMeans性能差很多,并且KMeans算法 聚类效果没有比EM差多少,所以一般用kMeans进行聚类,而不是EM。EM算法的主要作用是用来进行参数估计,故将其分入统计学习类。SVM算法在回归分析,统计方面也有不小的贡献,并且在分类算法中也占有一定地位,思考了下还是将SVM分入分类算法中。

分类算法–C4.5

核心思想:以信息增益率为衡量标准实现对数据归纳分类
算法优点:产生的分类规则易于理解,准确率较高
算法缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效
应用领域:临床决策、生产制造、文档分析、生物信息学、空间数据建模等

分类算法–CART

核心思想:以基于最小距离的尼基指数估计函数为衡量标准对数据进行递归分类
算法优点:抽取规则简便且易于理解;面对存在缺失值、变量数多等问题时非常稳健
算法缺点:要求被选择的属性只能产生两个子节点;类别过多时,错误可能增加的较快
应用领域:信息失真识别,电信业潜在客户识别,预测贷款风险等等

分类算法–Adaboost

核心思想:针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)
算法优点:高精度,简单无需做特征筛选,不会过度拟合
算法缺点:训练时间过长,执行效果依赖于弱分类器的选择
应用领域:广泛应用于人脸检测、目标识别等领域

分类算法–NaiveBayes

核心思想:通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类
算法优点:算法简单,所需估计的参数很少,对缺失数据不太敏感
算法缺点:属性个数比较多或者属性之间相关性较大时,分类效率下降
应用领域:垃圾邮件过滤,文本分类

分类算法–KNN

核心思想:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别
算法优点:简单,无需估计参数,无需训练,适合于多分类问题
算法缺点:计算量较大;可解释性较差,无法给出决策树那样的规则
应用领域:客户流失预测、欺诈侦测等(更适合于稀有事件的分类问题)

分类算法–SVM

核心思想:建立一个最优决策超平面,使得该平面两侧距离平面最近的两类样本之间的距离最大化,从而对分类问题提供良好的泛化能力
算法优点:更好的泛化能力,解决非线性问题的同时避免维度灾难,可找到全局最优
算法缺点:运算效率低,计算时占用资源过大
应用领域:遥感图像分类,污水处理过程运行机器学习云主机资源

聚类算法–KMeans

核心思想:输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类
算法优点:运算速度快
算法缺点:聚类数目k是一个输入参数,不合适的k值可能返回较差的结果
应用领域:图片分割,分析商品相似度进而归类商品,分析公司的客户分类以使用不同的商业策略

统计学习–EM

核心思想:通过E步骤和M步骤使得期望最大化
算法优点:简单稳定
算法缺点:迭代速度慢,次数多,容易陷入局部最优
应用领域:参数估计,计算机视觉的数据集聚

关联分析–Apriori

核心思想:基于两阶段频集思想挖掘关联规则的算法
算法优点:简单、易理解、数据要求低
算法缺点:I/O负载大,产生过多的候选项目集
应用领域:消费市场价格分析,入侵检测,移动通信领域

链接挖掘–PageRank

核心思想:基于从许多优质的网页链接过来的网页,必定还是优质网页的回归关系,来判定所有网页的重要性
算法优点:完全独立于查询,只依赖于网页链接结构,可以离线计算
算法缺点:忽略了网页搜索的时效性;旧网页排序很高,存在时间长,积累了大量的in-links,拥有最新资讯的新网页排名却很低,因为它们几乎没有in-links
应用领域:页面排序

其他

1,HMM隐马尔科夫

一文搞懂HMM(隐马尔可夫模型):http://www.cnblogs.com/skyme/p/4651331.html
隐马尔可夫模型-较完整介绍:http://blog.csdn.net/likelet/article/details/7056068
知乎-最详细(待自算,维特比算法部分感觉不准确):http://www.zhihu.com/question/20962240
维特比算法(详细):http://www.zhihu.com/question/20136144
问题一:{跑步,跑步,购物}发现的概率是多少?
问题二:知道了{跑步,跑步,购物},那这三天天气又如何呢?
问题三:确定模型参数的取值,使出现{跑步,跑步,购物}的概率最大
三个问题对应了三个解决方案
问题一:(穷举遍历法or)前向法(forward algorithm),是一种动态规划的方法,用来减少程序运算的复杂度
问题二:(穷举遍历法or)维特比算法(Viterbi algorithm),也是一种动态规划的方法,用来找到最可能的状态路径
问题三:Baum-Welch算法,通过给定一个序列,不断估算一个适合的lambda参数,使发生该序列的概率最大

2,SVM方法

核函数:知乎https://www.zhihu.com/question/24627666
希尔伯特空间

3,EM方法

从最大似然到EM算法浅解 :http://blog.csdn.net/zouxy09/article/details/8537620
五次抛硬币的例子(例子懂了但理论还是尚未理解):http://wenku.baidu.com/view/fcb6a52bf5335a8102d220e3.html
数学解释(没看懂):http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

4,SVD,PDA

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×