用最简单的语言来解释一下数据挖掘的十大算法

在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法,今天我打算用简单的语言来解释一下。

还等什么?这就开始吧!

举个例子吧,假定一个包含很多病人信息的数据集。我们知道每个病人的各种信息,比如年龄、脉搏、血压、最大摄氧量、家族病史等。这些叫做数据属性。

现在:

给定这些属性,我们想预测下病人是否会患癌症。病人可能会进入下面两个分类:会患癌症或者不会患癌症。C4.5算法会告诉我们每个病人的分类。

做法是这样的:

基本原则是:

首先,C4.5算法在生成信息树的时候使用了信息增益。

其次,尽管其他系统也包含剪枝,C4.5使用了一个单向的剪枝过程来缓解过渡拟合。剪枝给结果带来了很多改进。

再次,C4.5算法既可以处理连续数据也可以处理离散数据。我的理解是,算法通过对连续的数据指定范围或者阈值,从而把连续数据转化为离散的数据。

最后,不完全的数据用算法自有的方式进行了处理。

分类器是很棒的东西,但也请看看下一个聚类算法….

它是做什么的呢?K-聚类算法从一个目标集中创建多个组,每个组的成员都是比较相似的。这是个想要探索一个数据集时比较流行的聚类分析技术。

等下,什么是聚类分析呢?聚类分析属于设计构建组群的算法,这里的组成员相对于非组成员有更多的相似性。在聚类分析的世界里,类和组是相同的意思。

举个例子,假设我们定义一个病人的数据集。在聚类分析里,这些病人可以叫做观察对象。我们知道每个病人的各类信息,比如年龄、血压、血型、最大含氧量和胆固醇含量等。这是一个表达病人特性的向量。

请看:

你可以基本认为一个向量代表了我们所知道的病人情况的一列数据。这列数据也可以理解为多维空间的坐标。脉搏是一维坐标,血型是其他维度的坐标等等。

你可能会有疑问:

给定这个向量集合,我们怎么把具有相似年龄、脉搏和血压等数据的病人聚类呢?

想知道最棒的部分是什么吗?

你告诉k-means算法你想要多少种类。K-means算法会处理后面的部分。

那它是怎么处理的呢?k-means算法有很多优化特定数据类型的变量。

为什么要使用k-means算法呢?我认为大多数人都同意这一点:

k-means关键卖点是它的简单。它的简易型意味着它通常要比其他的算法更快更有效,尤其是要大量数据集的情况下更是如此。

他可以这样改进:

k-means可以对已经大量数据集进行预先聚类处理,然后在针对每个子类做成本更高点的聚类分析。k-means也能用来快速的处理“K”和探索数据集中是否有被忽视的模式或关系。

但用k-means算法也不是一帆风顺的:

kmeans算法的两个关键弱点分别是它对异常值的敏感性和它对初始中心点选择的敏感性。最后一个需要记住的是,K-means算法是设计来处理连续数据的。对于离散数据你需要使用一些小技巧后才能让K-means算法奏效。

咦?一个超..什么?超平面(hyperplane)是个函数,类似于解析一条线的方程。实际上,对于只有两个属性的简单分类任务来说,超平面可以是一条线的。

其实事实证明:

有例子么?当然,举个最简单的例子。我发现桌子上开始就有一堆红球和蓝球,如果这这些球没有过分的混合在一起,不用移动这些球,你可以拿一根棍子把它们分离开。

你看,当在桌上加一个新球时,通过已经知道的棍字的哪一边是哪个颜色的球,你就可以预测这个新球的颜色了。

如果事情变得更复杂该怎么办?当然了,事情通常都很复杂。如果球是混合在一起的,一根直棍就不能解决问题了。

下面是解决方案:

快速提起桌子,把所有的球抛向空中,当所有的球以正确的方式抛在空中是,你使用一张很大的纸在空中分开这些球。

你可能会想这是不是犯规了。不,提起桌子就等同于把你的数据映射到了高维空间中。这个例子中,我们从桌子表面的二维空间过度到了球在空中的三维空间。

那么在桌上或者空中的球怎么用现实的数据解释呢?桌上的每个球都有自己的位置,我们可以用坐标来表示。打个比方,一个球可能是距离桌子左边缘20cm距离底部边缘50cm,另一种描述这个球的方式是使用坐标(x,y)或者(20,50)表达。x和y是代表球的两个维度。

可以这样理解:如果我们有个病人的数据集,每个病人可以用很多指标来描述,比如脉搏,胆固醇水平,血压等。每个指标都代表一个维度。

下面要介绍的算法是我最喜欢的算法之一:

但另一方面…

下一个算法对我来说是最难的,一起来看下吧。

在统计学上,当估算带有无法观测隐藏变量的统计模型参数时,EM算法不断迭代和优化可以观测数据的似然估计值。

好,稍等让我解释一下…

我不是一个统计学家,所以希望我的简洁表达能正确并能帮助理解。

下面是一些概念,能帮我们更好的理解问题。

这很不错,那模型的参数又是什么呢?作为模型的一部分,分布属性正是由参数来描述的。例如,一个钟形曲线可以用它的均值和方差来描述。

还是使用考试的例子,一场考试的分数分布(可测量的结果)符合一个钟形曲线(就是分布)。均值是85,方差是100.

那么,似然性呢?回到我们之前的钟形曲线例子,假设我们已经拿到很多的分数数据,并被告知分数符合一个钟形曲线。然而,我们并没有给到所有的分数,只是拿到了一个样本。

可以这样做:

我们不知道所有分数的平均值或者方差,但是我们可以使用样本计算它们。似然性就是用估计的方差和平均值得到的钟形曲线在算出很多分数的概率。

换句话说,给定一系列可测定的结果,让我们来估算参数。再使用这些估算出的参数,得到结果的这个假设概率就被称为似然性。

记住,这是已存在分数的假设概率,并不是未来分数的概率。

你可能会疑问,那概率又是什么?

还用钟形曲线的例子解释,假设我们知道均值和方差。然我们被告知分数符合钟形曲线。我们观察到的某些分数的可能性和他们多久一次的被观测到就是概率。

更通俗的讲,给定参数,让我们来计算可以观察到什么结果。这就是概率为我们做的事情。

很好,现在,观测到的数据和未观测到的隐藏数据区别在哪里?观测到的数据就是你看到或者记录的数据。未观测的数据就是遗失的数据。数据丢失的原因有很多(没有记录,被忽视了,等等原因)。

再说一次,当估算带有无法观测隐藏变量的统计模型参数时,EM算法不断迭代和优化可以观测数据的似然估计值。希望现在再说更容易理解了。

算法的精髓在于:

通过优化似然性,EM生成了一个很棒的模型,这个模型可以对数据点指定类型标签—听起来像是聚类算法!

EM算法是怎么帮助实现聚类的呢?EM算法以对模型参数的猜测开始。然后接下来它会进行一个循环的3步:

EM是监督算法还是非监督算法呢?因为我们不提供已经标好的分类信息,这是个非监督学习算法。

为什么使用它?EM算法的一个关键卖点就是它的实现简单直接。另外,它不但可以优化模型参数,还可以反复的对丢失数据进行猜测。

这使算法在聚类和产生带参数的模型上都表现出色。在得知聚类情况和模型参数的情况下,我们有可能解释清楚有相同属性的分类情况和新数据属于哪个类之中。

不过EM算法也不是没有弱点…

第一,EM算法在早期迭代中都运行速度很快,但是越后面的迭代速度越慢。

第二,EM算法并不能总是寻到最优参数,很容易陷入局部最优而不是找到全局最优解。

EM算法实现可以在Weka中找到,mclustpackage里面有R语言对算法的实现,scikit-learn的gmmmodule里也有对它的实现。

6.PageRank算法

算法是做什么的?PageRank是为了决定一些对象和同网络中的其他对象之间的相对重要程度而设计的连接分析算法(linkanalysisalgorithm)。

那么什么是连接分析算法呢?它是一类针对网络的分析算法,探寻对象间的关系(也可成为连接)。

举个例子:最流行的PageRank算法是Google的搜索引擎。尽管他们的搜索引擎不止是依靠它,但PageRank依然是Google用来测算网页重要度的手段之一。

解释一下:

万维网上的网页都是互相链接的。如果Rayli.net链接到了CNN上的一个网页,CNN网页就增加一个投票,表示rayli.net和CNN网页是关联的。

这还没有结束:

反过来,来自rayli.net网页的投票重要性也要根据rayli.net网的重要性和关联性来权衡。换句话说,任何给rayli.net投票的网页也能提升rayli.net网页的关联性。

基本概括一下:

投票和关联性就是PageRank的概念。rayli.net给CNN投票增加了CNN的Pagerank,rayli.net的PageRank级别同时也影响着它为CNN投票多大程度影响了CNN的PageRank。

那么PageRank的0,1,2,3级别是什么意思?尽管Google并没有揭露PageRank的精确含义,我们还是能了解它的大概意思。

我们能通过下面这些网站的PageRank得到些答案:

看到了么?

这排名有点像一个网页流行度的竞争。我们的头脑中都有了一些这些网站的流行度和关联度的信息。

PageRank只是一个特别讲究的方式来定义了这些而已。

PageRank还有什么其他应用呢?PageRank是专门为了万维网设计的。

可以考虑一下,以核心功能的角度看,PageRank算法真的只是一个处理链接分析极度有效率的方法。处理的被链接的对象不止只是针对网页。

下面是PageRank3个创新的应用:

这算法是监督的还是非监督的?PageRank常用来发现一个网页的重要度关联度,通常被认为是一种非监督学习算法。

哪里使用过它呢?Google拥有PageRank的商标。但是斯坦福大学取得了PageRank算法的专利权。如果使用PageRank,你可能会有疑问:我不是律师,所以最好和一个真正的律师确认一下。但是只要和Google或斯坦福没有涉及到商业竞争,应该都是可以使用这个算法的。

给出PageRank的三个实现:

1C++OpenSourcePageRankImplementation

2PythonPageRankImplementation

3igraph–Thenetworkanalysispackage(R)

AdaBoost算法是做什么的?AdaBoost是个构建分类器的提升算法。

也许你还记得,分类器拿走大量数据,并试图预测或者分类新数据元素的属于的类别。

举个AdaBoost算法的例子:我们开始有3个弱学习器,我们将在一个包含病人数据的数据训练集上对他们做10轮训练。数据集里包含了病人的医疗记录各个细节。

问题来了,那我们怎么预测某个病人是否会得癌症呢?AdaBoost是这样给出答案的:

第一轮,AdaBoost拿走一些训练数据,然后测试每个学习器的准确率。最后的结果就是我们找到最好的那个学习器。另外,误分类的样本学习器给予一个比较高的权重,这样他们在下轮就有很高的概率被选中了。

再补充一下,最好的那个学习器也要给根据它的准确率赋予一个权重,并将它加入到联合学习器中(这样现在就只有一个分类器了)

第二轮,AdaBoost再次试图寻找最好的学习器。

关键部分来了,病人数据样本的训练数据现在被有很高误分配率的权重影响着。换句话说,之前误分类的病人在这个样本里有很高的出现概率。

为什么?

这就像是在电子游戏中已经打到了第二级,但当你的角色死亡后却不必从头开始。而是你从第二级开始然后集中注意,尽力升到第三级。

同样地,第一个学习者有可能对一些病人的分类是正确的,与其再度试图对他们分类,不如集中注意尽力处理被误分类的病人。

最好的学习器也被再次赋予权重并加入到联合分类器中,误分类的病人也被赋予权重,这样他们就有比较大的可能性再次被选中,我们会进行过滤和重复。

在10轮结束的时候,我们剩下了一个带着不同权重的已经训练过的联合学习分类器,之后重复训练之前回合中被误分类的数据。

这是个监督还是非监督算法?因为每一轮训练带有已经标记好数据集的弱训练器,因此这是个监督学习。

为什么使用AdaBoost?AdaBoost算法简单,编程相对来说简洁直白。

另外,它速度快!弱学习器一般都比强学习器简单,简单意味着它们的运行速度可能更快。

还有件事:

因为每轮连续的Adaboost回合都重新定义了每个最好学习器的权重,因此这是个自动调整学习分类器的非常简洁的算法,你所要做的所有事就是指定运行的

THE END
1.九章算法九章算法致力于让顶尖的工程师在线传授最优质的计算机课程,帮助更多程序员找到好工作https://www.jiuzhang.com/
2.Algorithms,4thEditionbyRobertSedgewickandKevinWayneThe textbook Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne surveys the most important algorithms and data structures in use today. The broad perspective taken makes it an appropriate introduction to the field.https://algs4.cs.princeton.edu/
3.9个免费学习算法的网站(2023年最新推荐)学吧导航学习算法是计算机科学的一个关键部分,也是任何程序员应该掌握的重要技能。随着技术的发展和计算机的广泛使用,对熟悉算法的专业人员的需求越来越多。如果你对学习算法很感兴趣,互联网上有很多资源可以免费学习算法。在本文中,学吧君将为大家介绍9个免费学习算法的网站,这些网站提供高质量的教育内容和资源,帮助你理解和掌https://www.xue8nav.com/1620.html
4.盘点几个程序员实用的算法网站,你都用过吗算法博客推荐算法面试都是从简单的问题开始,中级问题则是用于评估你的个人能力,困难问题则是为Facebook/谷歌面试而准备的,这个网站还有一个优秀的地方是它可评估你代码的性能,看看你的代码运行的快还是慢,是否可以进行优化等。 官网:https://leetcode.com/ 5、Daily Coding Problem https://blog.csdn.net/xishining/article/details/133745043
5.july七月算法七月在线北理工校外导师,微软AI MVP,Github上2万余star,CSDN 2000万PV博客『结构之法 算法之道』博主,去过近百所985/211高校分享算法,亦是华为云等数十个大会的演讲嘉宾。2015年创办七月在线,并于2018年获得好未来千万投资,到2022年平台上聚集了350+的大厂专家讲师团队,和150+的全球TOP高校研究员的学术导师团队。2023年https://www.julyedu.com/
6.Hello算法Hello 算法官网 开源、免费、对手友好的数据结构与算法入门教程 服务:IT技术类,IT技术网,Hello算法,学习,IT技术类,IT技术网,Hello算法。 Hello 算法简介 《Hello 算法》是一本面向数据结构与算法初学者的开源、免费电子书,由靳宇栋(Krahets)编写并发布在GitHub上。这本书通过动画图解和一键运行的方式,使读者能够更https://openi.cn/sites/282705.html
7.深圳未来算法科技有限公司官网未来算法 数据驱动,洞见未来https://www.aithenext.com/
8.算法助手官网版下载算法助手最新版下载算法助手官网版版本:Beta 2.1.3 类型:系统工具 平台:安卓 语言:中文 大小:55.4MB 更新:2024-11-26下载APK 关于算法助手官网版 算法助手官网版版是一款功能强大的系统工具,专为需要辅助进行算法设计与优化的用户打造。它提供了丰富的算法库和可视化界面,帮助用户高效地完成算法实现和测试。 算法助手官网版版软件http://app.redshu.com/azrj/v143930.html
9.这些算法可视化网站助你轻松学算法腾讯云开发者社区无疑,数据结构与算法学习最大的难点之一就是如何在脑中形象化其抽象的逻辑步骤。而图像在很多时候能够大大帮助我们理解其对应的抽象化的东西,而如果这个图像还是我们自己一点点画出来的,那么无疑这个印象是最深刻的了。没错,今天给大家分享的就是算法可视化的网站。 https://cloud.tencent.com/developer/article/1462038
10.互联网信息服务算法推荐管理规定第一条为了规范互联网信息服务算法推荐活动,弘扬社会主义核心价值观,维护国家安全和社会公共利益,保护公民、法人和其他组织的合法权益,促进互联网信息服务健康有序发展,根据《中华人民共和国网络安全法》、《中华人民共和国数据安全法》、《中华人民共和国个人信息保护法》、《互联网信息服务管理办法》等法律、行政法规,制https://www.moj.gov.cn/pub/sfbgw/flfggz/flfggzbmgz/202305/t20230509_478388.html
11.算法平台Evomotion进化动力官网面向AIoT与边缘人工智能业务场景,进化动力以自主设计的Evo-NPU芯片架构的EvoSense芯片平台,与进化动力核心机器学习云与模型数据管理平台EvoCloud为算法运行承载基础,开发出了面向AIoT训练与边缘推理的一站式算法工具平台EvoThink。 目前,EvoThink已经针对AIoT赋能场景下的数据安全,快速小样本学习、端云协同边缘推理、非标品https://www.evomotion.com/?page_id=16920
12.raft一致性算法Raft is a consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance. The difference is that it's decomposed into relatively independent subproblems, and it cleanly addresses all major pieces needed for practical systems. We hope Rafhttp://raft.github.io/
13.算法(第4版)最新章节在线阅读本书作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了书中内容的摘要及更多的代码实现、https://chuangshi.qq.com/detail/26211947
14.数据挖掘的常见算法有哪些?数据挖掘是一种通过从大量数据中提取知识和信息的方法,以支持业务决策、市场分析和科学研究等领域。在数据挖掘过程中,算法是最重要的组成部分之一。以下是常见的数据挖掘算法。 1.分类算法 分类算法是一类用于将数据样本分为不同类别的算法。这些算法通常使用监督学习方法,其中模型基于已标记的训练数据进行训练。几个常见https://www.cda.cn/bigdata/202782.html
15.算法在线活动报名 FOI2022算法夏令营基础班 2022年6月15日—7月10日 外地营员: 2850/人本地营员: 2580/人 FOI2022算法夏令营提高班 2022年6月15日—7月10日 外地营员: 2850/人本地营员: 2580/人 FOI2022算法夏令营泉州班(线上) 2022年6月15日—7月10日 http://www.algorithms2019.com/
16.天敏智造内置的商汤人脸识别算法,在全球权威人脸识别大赛NIST FRVT 2020中获得五项第一,在识别精度,速度,通过率等各个指标中均遥遥领先。 设备支持5W本地人脸库,不用联网即可准确识别。同时支持离线识别和在线识别两种模式,设备管理员可以根据实际情况决定联网使用还是离线使用。 https://ai.10moons.com/
17.如何配置算法任务物联网边缘计算(IoTEdge)步骤一:配置预加载算法 LE-V-B015型号边缘一体机,在首次使用算法应用功能时,需要配置预加载算法。更多信息,请参见预加载算法。 登录边缘计算控制台。 左侧导航栏选择节点管理 > 算法任务管理。 在算法任务管理页面,选择已激活的LE-V-B015型号边缘一体机后,单击最大开启任务数右侧的设置。 在设置最大开启任务数https://help.aliyun.com/zh/iot-edge/getting-started/configure-algorithm-tasks
18.力扣(LeetCode)全球极客挚爱的技术成长平台海量技术面试题库,拥有算法、数据结构、系统设计等 1000+题目,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.com/
19.实现技制共治新格局构建人机命运共同体《算法社会:技术权力和王延川教授、粟鹏飞博士的译著《算法社会:技术、权力和知识》主要由荷兰学者马克·舒伦伯格和里克·彼得斯编撰,共有16名作者参与了写作。 著作从技术、权力和知识三个理论维度解读公共管理、刑事司法和城市治理三个学术领域。著作分为三个部分共十一章。第一章作者对算法、算法权力进行了介绍,同时分析了算法治理弊端以http://www.legalweekly.cn/whlh/2024-01/04/content_8946710.html
20.百度AIStudio算法大赛官网,人工智能学习与实训社区百度AI Studio算法大赛官网,人工智能学习与实训社区 汇聚人才精英, 使您脱颖而出. 比赛从不间断, 奖金越来越多. 优秀者还会获得百度招聘绿色通道机会 – 百度AI Studio – 人工智能学习与实训社区近年来随着AI人工智能的快速发展,人工智能的比赛也越来越多,在这里,馆主将对国内的一些AI行业比赛做一些AI汇总,若挑战https://feizhuke.com/sites/baidu-ai-studio-dasai.html
21.算法科技所有技术信息以实机性能为准,算法科技保留最终解释权。 鼠标能力解析 语音交互 >400字/Min的语音打字速度 >180个国家的语言翻译 >25地区的方言识别 划词翻译 一键截图 语音搜索 了解更多 内置微软AzureGPT解析 正版授权 毫秒级响应回复 一键呼出聊天框 https://www.proai.com.cn/
22.吴师兄学算法五分钟学算法吴师兄学算法官网浏览人数已经达到365,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:吴师兄学算法的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以https://pidoutv.com/sites/27782.html
23.芒果TV“马栏山杯”国际音视频算法大赛从2020年启动至今已经成功连续举办了四届,打造了全球音视频文化行业AI巅峰赛事,推动人工智能时代媒体行业变革新发展。 本届“马栏山杯”国际音视频算法大赛从多个维度实现大赛的全面升级。算法赛聚焦AIGC、大模型等音视频和人工智能领域热点技术,三道赛题均加入了CCF A类国际顶尖会议ACM https://challenge.ai.mgtv.com/
24.算法展2025深圳国际算法展览会「官网」AI与算力、算法、存储、CPO共封装展区 人工智能芯片、方案、算力芯片及方案、算法方案、数据存储、光电共封装模块及技术和设备等 数据IT与存储设备: 服务器、路由器、交换机、存储/闪存、分布式存储、数据管理、数据保护、数据备份、网络安全、防火墙、数据库、光端机等;SCSI、SAS、磁带机、NAS网络存储器、磁带库、https://www.globalimporter.net/gzhd/2/289581.htm
25.Hello算法Home 简体中文 繁體中文 English krahets/hello-algo 1.2.0 103.8k 13k 动画图解、一键运行的数据结构与算法教程 开始阅读 代码仓库 获取纸质书 在线阅读 下载PDF 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” https://hello-algo.com/
26.飞桨AIStudio官网飞桨是由百度推出的深度学习平台,旨在将AI科技实现普惠,让技术更加普及化与可持续发展。而在该平台中,飞桨AIStudio官网则是其中的重要组成部分,提供了开源算法、详尽的学习资源、高精度的模型和便捷的开发环境,成为机器学习领域的瑰宝。 一、开源算法库 飞桨AIStudio官网在开源算法库方面非常强大,拥有涵盖自然语言处理、https://www.aigc.cn/12446.html