机器学习 | 算法总结

前言

本系列为机器学习算法的总结和概括,目的为了清晰阐述算法原理,同时附带上手代码实例,便于理解。

目录

   决策树
   线性回归
   K-Means
 
本章总结十大算法,并附带经典算法Python和R实现逻辑。

1、C4.5

C4.5,是机器学习算法中的一个分类决策树算法,
它是决策树(决策树也就是作决策的节点间的组织方式像一棵树,实际上是一个倒树)核心算法
ID3的改进算法,因此基本上了解了一半决策树构造方法就能构造它。
决策树构造方法其实就是每次选择一个好的特征以及分裂点做为当前节点的分类条件。html

C4.5相比于ID3改进的地方有:算法

  • 1.用信息增益率来选择属性。ID3选择属性用的是子树的信息增益,这里能够用不少方法来定义信息,ID3使用的是熵(entropy,熵是一种不纯度度量准则),也就是熵的变化值.而C4.5用的是信息增益率。区别就在于一个是信息增益,一个是信息增益率。通常来讲率就是用来取平衡用的,就像方差起的做用差很少,好比有两个跑步的人,一个起点是10m/s的人、其10s后为20m/s;另外一我的起速是1m/s、其1s后为2m/s。若是牢牢算差值那么两个差距就很大了,若是使用速度增长率(加速度,即都是为1m/s^2)来衡量,2我的就是同样的加速度。所以,C4.5克服了ID3用信息增益选择属性时偏向选择取值多的属性的不足。
  • 2.在树构造过程当中进行剪枝,在构造决策树的时候,那些挂着几个元素的节点,不考虑最好,否则容易致使overfitting。
  • 3.对非离散数据也能处理。
  • 4.可以对不完整数据进行处理。

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

5、最大指望(EM)算法

在统计计算中,最大指望 (EM,Expectation–Maximization)算法是在几率(probabilistic)模型中寻找参数最大似然估计的算法,其中几率模型依赖于没法观测的隐藏变量(Latent Variabl)。rest

最大指望常常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。htm

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

9、 Naive Bayes

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

10、 CART: 分类与回归树

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

下面贴一张网上找到的算法实现总结

参考:

http://www.csuldw.com/2015/03/18/2015-03-18-machine-learning-top10-algorithms/

相关文章
相关标签/搜索