龙空技术网

机器学习十大算法简介

Ai小白龙 71

前言:

当前各位老铁们对“典型算法的动画演示”大体比较注意,兄弟们都需要学习一些“典型算法的动画演示”的相关文章。那么小编在网络上搜集了一些对于“典型算法的动画演示””的相关资讯,希望朋友们能喜欢,各位老铁们快快来了解一下吧!

K-Means算法

K-Means算法是一种聚类算法,把n个对象根据他们的属性分成k个分类,并且使这K个分割的内部相似度最大,而分割之间的相似度最小。 其主要的算法流程如下: 1. 从n个对象中任意选K个对象,作为每个聚类的中心 2. 根据K个中心,按照每个对象离K个中心的最小距离(离那个中心近,就划分到哪个中心),将n个对象划分成K个分割(聚类) 3. 然后计a ge su a分割的中心(分割中的所有对象的均值),将这些中心作为聚类新的中心。 4. 计算标准测度函数,当计算函数满足一定的条件,如收敛了,则程序结束,否则返回第2步。

它是一种基于样本间相似度的聚类算法,是一种非监督算法。是一种较典型的逐点修改迭代的动态聚类算法。

优点K-Means算法简单对于处理大数据时,该算法是相对可伸缩和高效率的。其算法是O(nkt)的,依赖于t当样本间每个簇相差较大时,分来效果较好。缺点K-means要求用户事先得给出要生成的簇的数目K对初值比较敏感不适合发现大小差别很大的簇对于噪声和孤立点敏感适用情况

这个适用,基本也在优缺点里面讲述了。

朴素贝叶斯算法

朴素贝叶斯算法是基于一个简单假设:在给定的目标值时,各个属性是相互独立的。贝叶斯是依据贝叶斯定理来的。计算极大后验概率。其具体原理如下:

Vmap=argmaxP(hi|a0,a1,...,an)=argmaxP(a0,a1,...,an|hi)∗P(hi)P(a0,a1,...,an)=argmaxP(a0,a1,...an|hi)∗P(hi)=argmax(∏j=0nP(aj|hi))∗P(hi)

其中 h 是目标类别。 a 是属性 原理就是上面这个式子,基于给定目标值时,各个属性相互独立,通过将后验概率转换成先验概率。其中 P(hi) 与 P(aj|hi) 可有训练数据的频率估算出。

优点实用性高模型简单缺点独立性假设有限的数据集不可能具有完备的数据,当某个属性值出现的概率很小时,估计变得很差适用范围

适用于属性之间独立性较强的问题

PageRank

PageRank是来源与google搜索最初的算法模型。PageRank的核心思想是通过一些方法计算当前网络的积分,通过积分来给每个网页排序。每个网络的PageRank值总是递归地由其他网页的PageRank值决定的。

它由两个假设: – 数量:每个网页接受其他网页页面指向的入页数量越多,该网页的pageRank值越高 – 质量:质量高的网页通过链接向其他网页传递更多的权重。

它通过马尔科夫链来计算PageRank值,有个公式如下:

Pi=∑P(j)O(j)

其中 i,j∈E , O(j) 表示节点j出页的数量.

另外它也需要解决下面三个问题: 1. 只有入边没有出边的节点 2. 不是非周期性 3. 不是不可约的

优点是一个与主题无关的算法所有的计算是在离线情况下做的响应时间快缺点忽略了主题相关性旧的页面等级会比新的页面高,旧的页面会比新的页面具有更多的上游页面应用场景排序(论文)网络爬虫(重要性的页面数量抓取多一点)关键词与句子的抽取KNN

KNN即最近邻分类器,它是通过与样本数据中进行比较,离哪个样本类近就是哪个。 KNN算法步骤如下: 1. 计算,计算节点K个最近的邻居。通过计算得出 2. 分类,根据K个邻居的主要类别来对测试对象进行分类

KNN使用查找K邻居的算法是KD树

优点算法简单重新训练代价低算法适用于样本较大的类域分类对类域交叉较多的样本,KNN相对比较适用缺点KNN可以说是一种慵懒的算法。样本类别数量不平衡时,效果可能不佳类别评分不规范,不像概率评分计算量大适用范围海量数据分类可能适合,基本就是跟优缺点差不多Apriori算法

Apriori算法是一种数据挖掘算法。Apriori算法是一种最有影响力的挖掘布尔关系频繁项集的算法。其核心是基于两阶段频繁项集思想的递推算法。这里的频繁项集是指支持度大于最小支持度的项集。其算法步骤如下: 1. 根据支持度找出所有频繁项集(频度) 2. 根据置信度找出强关联规则(强度)

优点使用Apriori性质生成候选集的办法,大大地压缩了候选集,取得很好的性能缺点产生大量的频繁项集频繁地查询事物数据库适用范围

Apriori(先验的,推测的)算法应用广泛,可用于消费市场价格分析,猜测顾客的消费习惯;网络安全领域中的入侵检测技术;可用在用于高校管理中,根据挖掘规则可以有效地辅助学校管理部门有针对性的开展贫困助学工作;也可用在移动通信领域中,指导运营商的业务运营和辅助业务提供商的决策制定。

Adaboost

Adaboost是一种集成学习算法。boosting跟bagging都是集成学习的一种。Adaboost其实也是将多个若分类器,按照权重的方式组合起来,构成一个强分类器。Adaboost将不同的训练集,训练同一个模型,得到若干个若分类器,然后再将这些若分类器组合起来,构成一个强分类器。理论上证明,如果这些若分类器的效果比随机性要好,那么当若分类器的数量趋向于无穷个时,强分类器的错误率将趋于0。

其抽象算法描述如下:

AdaBoost算法中不同的训练集是通过调整每个样本对应的权重实现的。最开始的时候,每个样本对应的权重是相同的,在此样本分布下训练出一个基本分类器 hi(x) (i=1)。对于 hi(x) 错分的样本,则增加其对应样本的权重;而对于正确分类的样本,则降低其权重。这样可以使得错分的样本突出出来,并得到一个新的样本分布。同时,根据错分的情况赋予 hi(x) 一个权重,表示该基本分类器的重要程度,错分得越少权重越大。在新的样本分布下,再次对基本分类器进行训练,得到基本分类器 hi+1(x) 及其权重。i=i+1 ,如果i不超过T,则返回第2步。超过则经过T次这样的循环,就得到了T个基本分类器,以及T个对应的权重。最后把这T个基本分类器按一定权重累加起来,就得到了最终所期望的强分类器。结束优点能够将若分类器的性能增加,是一个精度很高的分类器提供的是一个框架,可以使用不同的若分类器算法易于执行缺点受若分类器选择影响易受噪声数据的影响适用情况在人脸检测,目标检测都取得了不错的效果。C4.5算法

C4.5是改进于ID3算法的,所以也是一种分类决策树算法。主要的算法流程是 1. 建立一个节点N 2. 通过一些判断,选择样本集中,能最优地分开样本的属性(信息增益比),按照每个属性值对树进行分支。每个分支是一种属性值。 3. 对每个属性值按照类似的方式进行分支,直到某个分支都是同一种类别,或者其他类别的数量少于阀值。将这个分支集合中数量最多的类别作为这个分支的分类。这个节点不再往下扩展。 4. 在简历树的过程中和建立树结束后,可以对树进行剪纸

上面是决策树算法的通用算法。

优点结构相对简单相对于ID3来讲,能够处理非离散问题缺点属性种类多的总是会被优先选择作为节点属性。忽略了属性集间的相关性构造的树不够小,存在过拟合问题一般情况下,C4.5 只适合能够驻留于内存的数据集适用范围

主要是在数据挖掘上面进行一些适用。不是很适合直接在很大数据上面的适用。擅长处理非数值性问题

CART算法

分类与回归树算法,其实是一个二叉分类树。算法本身跟决策树是差不多的,但是算法在每个节点分叉的时候,只有两个分支。它使用的进行属性选择的方式是用GINI指数。

优点相对于c4.5来讲,它能够避免属性值种类多的节点被优先选择的问题计算量不大能够处理连续字段能够清晰地显示哪些字段比较重要可以生产可以理解的规则灵活缺点当类别太多的时候,错误率可能会增加地比较快有时间顺序的数据,需要很多预处理工作对连续性的字段比较难预测适用范围

目前有人使用分类与回归树进行信誉评估,以及故障检测方面。节点属性类别太多,可能不是很适合。

EM算法

极大似然估计算法:对于已经出现的现象,假定这个现象或事件出现的概率是最大的。依据于此,来通过迭代地计算概率期望,最大化概率。也就是迭代地进行E步和M步。直到算法收敛。

Exception:根据参数{ θi } 得到每个观察数据的期望 Maximization: 根据期望,重新计算参数,使得似然函数最大。

优点能够根据已知现象,计算参数。缺点依赖于初始参数的设置EM算法收敛速度较慢适用情况高斯模型参数的估计隐马尔科夫模型参数的估计基于概率模型的聚类SVM算法

支持向量机分类器,其主要思想是通过在样本数据中,找到一些支持向量,让这些支持向量构造一个超平面,这个超平面到两个类别的支持向量间的距离最小。用这个超平面来划分处于超平面两边的类别。其中,它可以通过构造高维空间来对非线性数据进行分类。它主要下面几种核函数:

线性径向基(高斯)多项式傅里叶优点能够对小样本分类效果很好能够处理非线性分类能够处理高维问题避免局部最小点泛化能力较好缺点对于大数据,直接分类效果可能不加,速度慢对于非线性的,处理效果不够好,没有通用的解决办法对于缺失数据敏感

标签: #典型算法的动画演示