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

在这篇博客中介绍的前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.图解十大经典机器学习算法入门图解十大经典机器学习算法入门 弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分。以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术。 下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力。https://blog.csdn.net/jrunw/article/details/79205322
2.机器学习入门介绍(非常易懂)TheChosenOne8、对于机器学习算法的学习与使用原则: 不仅仅是调库,而是要深入到算法的内部,更好的理解算法的好坏,在理解的接触上争取创造新的算法。 //2019.07.31下午 机器学习基础入门 1、机器学习的典型数据集iris数据集(根据花的四种特征来区分三种不同的花) https://www.cnblogs.com/Yanjy-OnlyOne/p/11278951.html
3.TensorFlow机器学习常用算法解析和入门上图为基于ICA的人脸识别模型。实际上这些机器学习算法并不是全都像想象中一样复杂,有些还和高中数学紧密相关。 后面讲给大家一一详细单独讲解这些常用算法。 强化学习 13)Q-Learning算法 Q-learning要解决的是这样的问题:一个能感知环境的自治agent,怎样通过学习选择能达到其目标的最优动作。 https://www.w3cschool.cn/tensorflow/tensorflow-s8uq24ti.html
4.清华大学出版社图书详情以Python为基础,使用sklearn平台,封装丰富的机器学习算法;代码详解便于更快地掌握机器学习的思想,加速入门过程;突出实用性,针对每个机器学习算法都有相关案例。作者:周元哲 丛书名:计算机系列教材 定价:49.90元 印次:1-4 ISBN:9787302599982 出版日期:2022.02.01 印刷日期:2023.06.29http://www.tup.tsinghua.edu.cn/bookscenter/book_09067201.html
5.简单快速入门Python机器学习知识高清正版视频在线观看简介:该阶段是机器学习的入门课程,主要介绍一些经典的传统机器学习算法,如分类算法:KNN算法,朴素贝叶斯算法,逻辑回归,决策树算法以及随机森林;回归算法:线性回归,岭回归;聚类算法:KMeans算法,结合Python语言实现的经典机器学习库Sikit-Learn库,实现一些小型预测案例。 意见https://m.iqiyi.com/a_19rrhvzf11.html
6.面向初学者和专家的十大机器学习书籍机器学习算法用于各种应用程序,例如电子邮件过滤和计算机视觉,在这些应用程序中,很难或不可行地开发常规算法来执行所需的任务。想学习机器学习吗?从这10本书开始。 想学习机器学习吗?从这10本书开始。 > Top 10 Books on Machine Learning For Absolute Beginners, Beginners and Experts https://www.51cto.com/article/639967.html
7.入门到起飞保姆级教程,人工智能基础入门必看!机器学习算法咕泡AI创建的收藏夹咕泡AI内容:【人工智能入门必备】机器学习十大算法,入门到起飞保姆级教程,人工智能基础入门必看!【机器学习算法|机器学习入门到精通|深度学习|Python|机器学习】,如果您对当前收藏夹内容感兴趣点击“收藏”可转入个人收藏夹方便浏览https://www.bilibili.com/list/1665832462
8.师书说阅读练习154《机器学习算法的数学解析与Python实现》算是不错的机器学习算法入门读物。 >> 本书的目标读者是想要学习机器学习的学生、程序员、研究人员或者爱好者,以及想要知道机器学习是什么、为什么和怎么用的所有读者。 ◆ 1.1 什么是机器学习 >> 机器学习、人工智能和深度学习的目标都是让算法模拟“智能”,但层次范围不同。 https://www.jianshu.com/p/c6ca0402cb3d
9.机器学习入门86验证数据集与交叉验证腾讯云开发者社区机器学习入门 8-6 验证数据集与交叉验证 本系列是《玩转机器学习教程》一个整理的视频笔记。本小节探讨将数据集划分训练集和测试集的局限性,进而引出验证集,为了解决验证集随机性的问题,引入了交叉验证和留一法,并进一步探讨网格搜索背后的意义,最后通过编程实现调参选择模型的整个过程。https://cloud.tencent.com/developer/article/1561721
10.95后哈佛小哥撰写《从零开始的机器学习》,入门必备,书籍资源已开放这本书涵盖了机器学习领域最常见的方法,就像是一位机器学习工程师的工具箱,适用于入门级学习者。撰写目的是为读者提供独立构建一些基本的机器学习算法的实践指导,如果用工具箱类比的话,就是教会读者具体使用一把螺丝刀、一盒卷尺。书中的每一章都对应一种机器学习方法。 https://m.thepaper.cn/baijiahao_9418519
11.机器学习从入门到精通配套教材课件完整版电子教案.pptx机器学习从入门到精通; 第1章 机器学习概述;1.1 人工智能;1.2 机器学习;1.2.1 机器学习的发展;1.2.2 机器学习分类;1.2.3 机器学习经典算法;1.2.4 机器学习的入门;1.3 机器学习的工作流程;1.3.1 准备数据集;1.3.1 准备数据集;1.3.1 准备数据集;1.3.2 进行模型训练;1.3.2 进行模型训练;1.3.2 进行模型https://max.book118.com/html/2022/0713/5110042200004304.shtm
12.如何选择机器学习算法Python 入门(第 1 天) 训练和部署图像分类 构建训练管道 (Python) 与Azure 机器学习交互 处理数据 自动化机器学习 训练模型 使用基础模型 负责任地开发和监视 使用管道协调工作流 概述 设计器(拖放 ML) 什么是设计器 算法备忘单 如何选择算法 转换数据 https://docs.microsoft.com/zh-cn/azure/machine-learning/studio/algorithm-choice
13.写给程序员的机器学习入门(一)从基础说起前段时间因为店铺不能开门,我花了一些空余时间看了很多机器学习相关的资料,我发现目前的机器学习入门大多要不门槛比较高,要不过于着重使用而忽视基础原理,所以我决定开一个新的系列针对程序员讲讲机器学习。这个系列会从机器学习的基础原理开始一直讲到如何应用,看懂这个系列需要一定的编程知识(主要会使用 python 语言),https://www.flyai.com/article/866
14.一文看懂机器学习「3种学习方法+7个实操步骤+15种常见算法」机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。 所以,机器学习不是某种具体的算法,而是很多算法的统称。 机器学习包含了很多种不同的算法,深度学习就是其中之一,其他方法包括决策树,聚类,贝叶斯等。 https://easyai.tech/ai-definition/machine-learning/
15.Python机器学习基础教程中文pdf高清版[28MB]电子书下载《Python机器学习基础教程》是机器学习入门书,以Python语言介绍。主要内容包括:机器学习的基本概念及其应用;实践中最常用的机器学习算法以及这些算法的优缺点;在机器学习中待处理数据的呈现方式的重要性,以及应重点关注数据的哪些方面;模型评估和调参的高级方法,重点讲解交叉验证和网格搜索;管道的概念;如何将前面各章的方法https://www.jb51.net/books/658226.html