机器学习10大经典算法详解

 更新时间:2017年12月07日 10:17:52   作者:YC_Yuan  
这篇文章主要为大家详细介绍了机器学习10大经典算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了机器学习10大经典算法,供大家参考,具体内容如下

1、C4.5

C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.  C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

     1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;

    2)在树构造过程中进行剪枝;

    3)能够完成对连续属性的离散化处理;

    4)能够对不完整数据进行处理。

C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。 

2、The k-means algorithm即K-Means算法

k-means algorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k < n。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。 

3、Support vector machines支持向量机

支持向量机(Support Vector Machine),简称SV机(论文中一般简称SVM)。它是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。一个极好的指南是C.J.C Burges的《模式识别支持向量机指南》。van der Walt和Barnard将支持向量机和其他分类器进行了比较。 

4、The Apriori algorithm

Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。 

5、最大期望(EM)算法

在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。 

6、PageRank网页排名

PageRank是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。

PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。这个就是所谓的“链接流行度”——衡量多少人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被引述的频度——即被别人引述的次数越多,一般判断这篇论文的权威性就越高。 

7、AdaBoost

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。 

8、kNN: k-nearest neighbor classification

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 

9、Naive Bayes朴素贝叶斯

在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBC)。朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。 

10、CART:分类与回归树

CART, Classification and Regression Trees。在分类树下面有两个关键的思想。第一个是关于递归地划分自变量空间的想法;第二个想法是用验证数据进行剪枝。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用pandas批量处理矢量化字符串的实例讲解

    使用pandas批量处理矢量化字符串的实例讲解

    今天小编就为大家分享一篇使用pandas批量处理矢量化字符串的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • PyTorch 解决Dataset和Dataloader遇到的问题

    PyTorch 解决Dataset和Dataloader遇到的问题

    今天小编就为大家分享一篇PyTorch 解决Dataset和Dataloader遇到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python微信跳一跳系列之自动计算跳一跳距离

    python微信跳一跳系列之自动计算跳一跳距离

    这篇文章主要为大家详细介绍了python微信跳一跳系列之自动计算跳一跳距离,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • pymongo实现多结果进行多列排序的方法

    pymongo实现多结果进行多列排序的方法

    这篇文章主要介绍了pymongo实现多结果进行多列排序的方法,涉及Python排序的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python 中的嵌套字典推导的使用及优势

    Python 中的嵌套字典推导的使用及优势

    Python 字典推导是一个强大的工具,允许您从现有的字典创建新的字典,这篇文章主要介绍了Python中的嵌套字典推导,将探索 Python 嵌套字典推导、它的使用以及在 Python 中使用它的优势,需要的朋友可以参考下
    2023-05-05
  • Django前端BootCSS实现分页的方法

    Django前端BootCSS实现分页的方法

    本文主要介绍了Django前端BootCSS实现分页的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 浅谈python脚本设置运行参数的方法

    浅谈python脚本设置运行参数的方法

    今天小编就为大家分享一篇浅谈python脚本设置运行参数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python中Unittest框架的具体使用

    Python中Unittest框架的具体使用

    这篇文章主要介绍了Python中Unittest框架的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • python使用建议与技巧分享(二)

    python使用建议与技巧分享(二)

    这篇文章主要介绍了python的使用建议与一些技巧的分享,对大家理解和学习python有所帮助,感兴趣的朋友可以了解下
    2020-08-08
  • python实现按首字母分类查找功能

    python实现按首字母分类查找功能

    这篇文章主要介绍了python实现按首字母分类查找功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10

最新评论