机器学习初学者必须知道的十大算法雷峰网

在这篇博客中介绍的前5个算法——线性回归,Logistic回归,CART,朴素贝叶斯,KNN都是监督学习。

人工智能领域的大牛吴恩达曾在他的公开课中提到,目前机器学习带来的经济价值全部来自监督学习。

2.无监督学习:

无监督学习问题只有输入变量(X),但没有相应的输出变量。它使用无标签的训练数据来模拟数据的基本结构。

无监督学习问题可以有三种类型:

Apriori,K-means,PCA是无监督学习的例子。

3.强化学习:

强化学习是一种机器学习算法,它允许代理根据当前状态决定最佳的下一个动作。

强化算法通常通过反复试验来学习最佳行为。它们通常用于机器人的训练,机器人可以通过在碰到障碍物后接收负面反馈来学习避免碰撞。近期的alphagozero就是采用的强化学习的方法,来完成实验的。

1.线性回归

在ML中,我们有一组输入变量(x)用于确定输出变量(y)。输入变量和输出变量之间存在某种关系,ML的目标是量化这种关系。

图1

在线性回归中,输入变量(x)和输出变量(y)之间的关系表示为形式为y=ax+b的方程。因此,线性回归的目标是找出系数a和b的值。这里,a是截距,b是线的斜率。

图1显示了数据集的绘制x和y值。目标是拟合最接近大部分点的线。

2.Logistic回归

逻辑回归最适合二进制分类(y=0或1的数据集,其中1表示默认类)例如:在预测事件是否发生时,发生的事件被分类为1。在预测人会生病或不生病,生病的实例记为1)。它是以其中使用的变换函数命名的,称为逻辑函数h(x)=1/(1+e^x),它是一个S形曲线。

在逻辑回归中,输出是以缺省类别的概率形式出现的。因为这是一个概率,所以输出在0——1的范围内。输出(y值)通过对数转换x值,使用对数函数h(x)=1/(1+e^-x)来生成。然后应用一个阈值来强制这个概率进入二元分类。

图二

在图2中,为了确定肿瘤是否是恶性的,默认变量是y=1(肿瘤=恶性);x变量可以是肿瘤的量度,例如肿瘤的大小。如图所示,逻辑函数将数据集的各种实例的x值转换成0到1的范围。如果概率超过阈值0.5(由水平线示出),则将肿瘤分类如恶性。

逻辑回归的目标是使用训练数据来找到系数b0和b1的值,以使预测结果与实际结果之间的误差最小化。这些系数是使用最大似然估计技术估计的。

3.CART

分类和回归树(CART)是决策树的一个实现方式。

非终端节点是根节点和内部节点,终端节点是叶节点。每个非终端节点表示单个输入变量(x),叶节点表示输出变量(y)。该模型用于做出如下预测:遍历树的分裂到达一个叶节点,并输出叶节点上存在的值。

图三

4.朴素贝叶斯

为了计算事件发生的概率,假设已经发生了另一个事件,我们使用贝叶斯定理。为了计算给定某个变量值的结果的概率,也就是说,根据我们的先验知识(d)计算假设(h)为真的概率,我们使用贝叶斯定理如下:

P(h|d)=(P(d|h)*P(h))/P(d)

·P(h|d)=后验概率。

·P(d|h)=可能性。数据d的概率假设h是真的。

·P(h)=类别先验概率。假设h的可能性为真(不考虑数据)。

·P(d)=预测值先验概率。数据的可能性(与假设无关)。

图四

以图4为例,如果天气=“阳光”,结果如何?

P(是|晴天)=(P(晴天|是)*P(是))/P(晴天)

=(3/9*9/14)/(5/14)

=0.60

P(no|sunny)=(P(晴天)*P(no))/P(晴天)

=(2/5*5/14)/(5/14)

=0.40

5.KNN

K邻近算法使用整个数据集作为训练集,而不是将数据集分成训练集和测试集。

当新的数据实例需要结果时,KNN算法遍历整个数据集,以找到新实例的k个最近的实例,或者与新记录最相似的k个实例,然后对于分类问题的结果(对于回归问题)或模式输出均值。

实例之间的相似度使用欧几里德距离和Hamming距离等度量来计算。

6.Apriori

Apriori算法用于事务数据库挖掘,然后生成关联规则。它在市场篮子分析中被广泛使用,在这个分析中,检查数据库中经常出现的产品组合。一般来说,我们写出如果一个人购买项目X,然后他购买项目Y的关联规则为:X->Y。

例如:如果一个人购买牛奶和糖,那么他很可能会购买咖啡粉。这可以写成关联规则的形式:{牛奶,糖}->咖啡粉。

7.K-means

K-means是一种迭代算法,将相似的数据分组到簇中。计算k个簇的质心,并将一个数据点分配给质心和数据点之间距离最小的簇。

步骤1:k-means初始化:

a)选择k的值。在这里,让我们取k=3。

b)将每个数据点随机分配到3个群集中的任何一个。

c)为每个集群计算集群质心。红色,蓝色和绿色星星表示3个星团中的每一个的质心。

将每个点重新分配到最近的集群质心。这里,上面的5个点被分配到具有蓝色质心的簇。按照相同的步骤将点分配给包含红色和绿色质心的群集。

步骤3:重新计算质心:

计算新簇的质心。旧的质心由灰色星星表示,而新的质心是红色,绿色和蓝色星星。

步骤四:迭代,然后退出,如果不变。

重复步骤2-3,直到没有从一个群集切换到另一个群集。一旦连续两个步骤没有切换,退出k-means算法。

8.PCA

9.随机森林装袋

随机森林是对袋装决策树(baggeddecisiontrees)改进。

装袋(Bagging):装袋的第一步是创建多个模型,使用BootstrapSampling方法创建数据集。在BootstrapSampling中,每个生成的训练集由来自原始数据集的随机子样本组成。这些训练集中的每一个与原始数据集大小相同,但有些记录会重复多次,有些记录根本不会出现。然后,整个原始数据集被用作测试集。因此,如果原始数据集的大小为N,那么每个生成的训练集的大小也是N,测试集的大小也是N。

装袋的第二步是在不同的生成的训练集上使用相同的算法创建多个模型。在这种情况下,让我们讨论随机森林。与决策树不同的是,每个节点被分割成最小化误差的最佳特征,在随机森林中,我们选择随机选择的特征来构建最佳分割。在每个分割点处要搜索的特征的数量被指定为随机森林算法的参数。

因此,在用随机森林装袋时,每棵树都是使用记录的随机样本构建的,每个分叉是使用预测变量的随机样本构建的。

10.BoostingwithAdaBoost

套袋(Bagging)是一个平行的集合,因为每个模型都是独立建立的。另一方面,boosting是一个连续的集合,每个模型的建立是基于纠正前一个模型的错误分类。

Adaboost代表AdaptiveBoosting。

图9

在图9中,步骤1,2,3涉及一个称为决策残缺的弱学习者(一个1级决策树,仅基于1个输入特征的值进行预测)。步骤4结合了以前模型的3个决策树(在决策树中有3个分裂规则)。

步骤1:从1个决策树开始,对1个输入变量做出决定:

数据点的大小表明我们已经应用相同的权重将它们分类为一个圆或三角形。决策树在上半部分产生了一条水平线来分类这些点。我们可以看到有2个圆圈错误地预测为三角形。因此,我们将为这两个圈子分配更高的权重,并应用另一个决策树桩。

步骤2:移动到另一个决策树,以决定另一个输入变量:

我们观察到,上一步的两个错误分类圈的大小大于其余点。现在第二个决策树会试图正确预测这两个圆。

步骤3:训练另一个决策树来决定另一个输入变量:

来自上一步的3个错误分类圈大于其余的数据点。现在,已经生成了一条垂直线,用于分类圆和三角形。

步骤4:合并决策树:

我们已经结合了以前3个模型中的分隔符,并观察到这个模型中的复杂规则与任何一个单独的弱学习者相比,正确地分类了数据点。

Dr.JasonBrownlee是一名机器学习从业者,学术研究人员,致力于帮助开发人员从入门到精通机器学习。

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

THE END
1.算法学习50例下算法学习50例下 21.整数中1出现的个数 题目描述 求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的https://blog.csdn.net/fegus/article/details/125130103
2.递归算法解决经典例题因此,在编写递归代码时,需要仔细考虑算法的边界条件和递归深度等因素。 2.递归函数 递归函数是一种函数,它在其定义中调用自身。通常情况下,递归函数包含两个部分:基本情况和递归情况。 基本情况是指在递归函数中需要判断是否需要终止递归的条件。当满足这个条件时,递归就会停止。 递归情况是指在递归函数中需要调用自身https://zhuanlan.zhihu.com/p/635141199
3.人工智能学习机器学习算法原理推导与实例应用 课程简介: 第1章人工智能入门指南41分钟5节 1-1AI时代必备python[免费试看]09:20 1-2Python我该怎么学04:21 1-3人工智能的核心-机器学习10:34 1-4机器学习怎么学08:37 1-5算法推导与案例08:19 第2章K近邻算法实战1小时9分钟5节 2-1K近邻算法概述15:48 2-2模型https://edu.51cto.com/course/20469.html
4.贪心算法入门详解,经典实例分析贪心算法入门详解,经典实例分析 贪心算法的字面有本是形容人的“贪心”一词,着实有些引人注目,有人说贪心算法是世界上最简单的算法,原因很简单:所有人都很“贪心”,根本不用学,不过,算法会怎样贪心呢? “贪心”的人,事事都想要得到眼前最好的那个,看不到长远的东西,也不为将来最终结果做打算,换句话说,就是https://blog.popkx.com/2307/
5.Spark2.1.0入门:SparkGraphX算法实例Spark2.1.0入门:Spark GraphX 算法实例 【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载! 返回Spark教程首页 GraphX 中自带一系列图算法来简化分析任务。这些算法存在于org.apache.spark.graphx.lib包中,可以被Graph通过GraphOps直接访问。本章节主要介绍GraphX中主要的三个算法。https://dblab.xmu.edu.cn/blog/1483/
6.算法竞赛入门经典合集(pdf+随书源码)开发实例源码下载算法竞赛入门经典合集(pdf+随书源码) C/C++语言基础 下载此实例 开发语言:C/C++ 实例大小:18.57M 下载次数:57 浏览次数:402 发布时间:2020-12-24 实例类别:C/C++语言基础 发布人:hyperjojo114514 文件格式:.rar 所需积分:2 相关标签:合集算法 网友评论举报投诉收藏该页https://www.haolizi.net/example/view_151910.html
7.AppStore上的“Swift语言入门实例互动教程”在第八章我们使用Swift语言实现了栈、队列、二叉树等数据结构,还实现了常见的8种排序算法。最后一章则包含了证书的创建、项目的架构、开发、打包、上传和- 在控制台输出类的实例及其属性 - Swift的(Boolean)布尔类型 - Swift的(Int)整形类型 - Swift的(Float)和(Double)浮点类型 https://itunes.apple.com/cn/app/id1320746678
8.算法分析入门教程实战篇及应用篇天,你这哪是算法分析,整个一看雪论坛名人整盅游戏。轻松一下,休息休息。其实,我上面特意选了偶像laomms(常见自校检分析实例)中的退出事件的逆向追踪,很经典,希望新手 仔细琢磨钻研。我这就这简单的CRACE ME再演示一遍,对照阅读理解。现在的软件很少有对和错的提示是邻居的了。好,我就看错误提示信息逆向追踪:https://www.pediy.com/kssd/pediy10/59537.html
9.深度学习之神经网络(CNN/RNN/GAN)算法原理+实战本课程使用原理讲解加实战的方式学习卷积神经网络(CNN)、循环神经网络(RNN)、对抗神经网络(GAN),通过图像分类、文本分类、图像风格转换、图像文本生成、图像翻译等项目,深度掌握算法调参以及使用Tensorflow进行编程的能力。 正十七 讲师 Google资深算法工程师 https://coding.imooc.com/class/259.html
10.独家菜鸟级机器学习入门(附代码实例)现在当这些算法需要训练(Train)和校对(Calibrate)的时候, 其实是需要去找出一组点之间的最小距离。让我们看图更能说清楚。 以上图为例。这是一个经典的线性回归(Simple Linear Regression)的例子。蓝点表示想要预测的数据。红线表示“最佳拟和线”,该线是机器学习https://mp.weixin.qq.com/s?__biz=MzI1MjQ2OTQ3Ng==&mid=2247496248&idx=1&sn=ea19a9160d85b92060eafd4eeef8ce36&chksm=e9e1fbb3de9672a56e3c7c35792536e5abd1cf536d829beeeed52e1182059642c88e2b4ac4f7&scene=27
11.13《算法入门教程》贪心算法之活动选择问题本节主要学习了利用贪心算法处理活动选择问题,学习本节课程掌握贪心算法解决活动选择问题的流程,知道贪心算法在解决问题时是如何考虑最优子结构及寻找贪心选择,并且可以自己用代码实现活动选择问题的求解。在学习完本节课程之后,我们通过活动选择问题这一实例介绍了贪心算法的实际应用,帮助大家可以更好地理解贪心算法。?https://www.jianshu.com/p/2ab020fdcaca
12.《算法训练营:海量图解+竞赛刷题(入门篇)》(陈小玉)简介算法入门,以海量图解的形式,详解常用的数据结构与算法,融入大量竞赛实例和解题技巧,轻松入门算法 作者:陈小玉出版社:电子工业出版社出版时间:2021年07月 手机专享价 ¥ 当当价降价通知 ¥87.00 定价 ¥129.80 电子书价 ¥90.86 配送至 北京市东城区 http://product.dangdang.com/29267036.html
13.书单豆瓣高分&全网热评的算法神作本书结合竞赛实例,从数据结构、算法策略、时间复杂度与空间复杂度优化等多个角度,对各类经典问题进行求解,重点讲解了如何分析问题和解决问题,并提供了优化过程,引导读者进行刷题实战,进而提高算法思维能力,以更高的视角看待问题。http://www.broadview.com.cn/article/420385
14.从0到1只差这20本算法书单《算法学习与应用从入门到精通》 张玲玲 著 本书的特色是实现了入门知识、实例演示、范例演练、技术解惑、综合实战5大部分内容的融合,让读者看得懂、用得上、学得会。一本书的容量,讲解了入门类、范例类和项目实战类三类图书的内容。丰富的配套资源 ,学习更高效。 https://labs.epubit.com/articleDetails?id=N5bad5b2e-ea8e-4c9a-bfbe-8811190d4421
15.灰狼优化算法(GreyWolfOptimizer).pdf灰狼优化算法研究综述.docx 上传者:zhuzhi时间:2023-09-19 灰狼优化算法实例/灰狼优化算法入门 本资源为基于MATLAB的灰狼优化算法学习,为作者在学习过程中写的第一个灰狼优化算法的实例,本实例初始化一个单变量函数,然后求在取值区间的最小值。本资源共包括四个文件,其中main.m为主文件,将四个文件放在同一个文件https://www.iteye.com/resource/merry_hj-11449641
16.妙趣横生的算法(C语言实现第2版)epubpdfmobitxt电子书下载本书内容涵盖了算法入门的必备基础知识和大量的趣味算法题、面试题和ACM竞赛题等。通过学习本书内容,可以开阔读者的视野,帮助读者理解算法,提高编程兴趣和能力,并提高C语言编程能力,还可以让读者了解IT面试中的常见算法题及编程竞赛中的相关知识。另外,本书提供了5.5小时配套教学视频和实例源代码,以提高读者的学习效率https://book.tinynews.org/books/11651197
17.趣学Python算法100例中文PDF高清版电子书下载趣学Python算法100例从一些经典算法出发,为读者展示了100个Python趣味编程实例。本书共12章,涵盖趣味算法入门、趣味数学问题、各种趣味整数、趣味分数、趣味素数、趣味逻辑推理、趣味游戏、趣味数组、趣味函数递归、定理与猜想、趣味图形及其他趣味问题。本书取材注重趣味性与实用性,内容涵盖Python编程的基础知识和常用算法https://www.jb51.net/books/878806.html
18.数智化革命9787111701538企业即算法978711168688入门到精通 Radioss 基础理论与工程高级应用 计算思维入门 全局最优化 理论力学 理论力学 应变梯度弹性固体中的弹性波 大学物理学 大学物理教程 群星闪耀 ANSYS Workbench热力学分析实例演练 ANSYS 2020热力学有限元分析 ANSYS电磁学有限元分析从入门到精通 量子之道 半导https://whsggzy.wuhu.gov.cn/EpointWebBuilderNew/WebbuilderMIS/attach/downloadZtbAttach.jspx?attachGuid=a56a7a1a-4cd0-4103-ade6-1152439262df&appUrlFlag=ztbwh