图解最常用的 10 个机器学习算法

news2024/9/22 9:30:51

在机器学习领域,有种说法叫做“世上没有免费的午餐”,简而言之,它是指没有任何一种算法能在每个问题上都能有最好的效果,这个理论在监督学习方面体现得尤为重要。

举个例子来说,你不能说神经网络永远比决策树好,反之亦然。模型运行被许多因素左右,例如数据集的大小和结构。

因此,你应该根据你的问题尝试许多不同的算法,同时使用数据测试集来评估性能并选出最优项。

当然,你尝试的算法必须和你的问题相切合,其中的门道便是机器学习的主要任务。打个比方,如果你想打扫房子,你可能会用到吸尘器、扫帚或者拖把,但你肯定不会拿把铲子开始挖坑吧。

对于渴望了解机器学习基础知识的机器学习新人来说,这儿有份数据科学家使用的十大机器学习算法,为你介绍这十大算法的特性,便于大家更好地理解和应用,快来看看吧。

文章目录

    • 技术提升
    • 01 线性回归
    • 02 逻辑回归
    • 03 线性判别分析
    • 04 分类和回归树
    • 05 朴素贝叶斯
    • 06 K近邻
    • 07 学习矢量量化
    • 08 支持向量机
    • 09 bagging和随机森林
    • 10 Boosting和AdaBoost

技术提升

技术要学会分享、交流,不建议闭门造车。

好的文章离不开粉丝的分享、推荐,资料干货、资料分享、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:dkl88191,备注:来自CSDN
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

01 线性回归

线性回归可能是统计学和机器学习中最知名和最易理解的算法之一。

由于预测建模主要关注最小化模型的误差,或者以可解释性为代价来做出最准确的预测。 我们会从许多不同领域借用、重用和盗用算法,其中涉及一些统计学知识。

线性回归用一个等式表示,通过找到输入变量的特定权重(B),来描述输入变量(x)与输出变量(y)之间的线性关系。

Linear Regression

举例:y = B0 + B1 * x

给定输入x,我们将预测y,线性回归学习算法的目标是找到系数B0和B1的值。

可以使用不同的技术从数据中学习线性回归模型,例如用于普通最小二乘和梯度下降优化的线性代数解。

线性回归已经存在了200多年,并且已经进行了广泛的研究。 如果可能的话,使用这种技术时的一些经验法则是去除非常相似(相关)的变量并从数据中移除噪声。 这是一种快速简单的技术和良好的第一种算法。

02 逻辑回归

逻辑回归是机器学习从统计领域借鉴的另一种技术。 这是二分类问题的专用方法(两个类值的问题)。

逻辑回归与线性回归类似,这是因为两者的目标都是找出每个输入变量的权重值。 与线性回归不同的是,输出的预测值得使用称为逻辑函数的非线性函数进行变换。

逻辑函数看起来像一个大S,并能将任何值转换为0到1的范围内。这很有用,因为我们可以将相应规则应用于逻辑函数的输出上,把值分类为0和1(例如,如果IF小于0.5,那么 输出1)并预测类别值。

Logistic Regression

由于模型的特有学习方式,通过逻辑回归所做的预测也可以用于计算属于类0或类1的概率。这对于需要给出许多基本原理的问题十分有用。

与线性回归一样,当你移除与输出变量无关的属性以及彼此非常相似(相关)的属性时,逻辑回归确实会更好。 这是一个快速学习和有效处理二元分类问题的模型。

03 线性判别分析

传统的逻辑回归仅限于二分类问题。 如果你有两个以上的类,那么线性判别分析算法(Linear Discriminant Analysis,简称LDA)是首选的线性分类技术。

LDA的表示非常简单。 它由你的数据的统计属性组成,根据每个类别进行计算。 对于单个输入变量,这包括:

  • 每类的平均值。

  • 跨所有类别计算的方差。

Linear Discriminant Analysis

LDA通过计算每个类的判别值并对具有最大值的类进行预测来进行。该技术假定数据具有高斯分布(钟形曲线),因此最好先手动从数据中移除异常值。这是分类预测建模问题中的一种简单而强大的方法。

04 分类和回归树

决策树是机器学习的一种重要算法。

决策树模型可用二叉树表示。对,就是来自算法和数据结构的二叉树,没什么特别。 每个节点代表单个输入变量(x)和该变量上的左右孩子(假定变量是数字)。

Decision Tree

树的叶节点包含用于进行预测的输出变量(y)。 预测是通过遍历树进行的,当达到某一叶节点时停止,并输出该叶节点的类值。

决策树学习速度快,预测速度快。 对于许多问题也经常预测准确,并且你不需要为数据做任何特殊准备。

05 朴素贝叶斯

朴素贝叶斯是一种简单但极为强大的预测建模算法。

该模型由两种类型的概率组成,可以直接从你的训练数据中计算出来:1)每个类别的概率; 2)给定的每个x值的类别的条件概率。 一旦计算出来,概率模型就可以用于使用贝叶斯定理对新数据进行预测。 当你的数据是数值时,通常假设高斯分布(钟形曲线),以便可以轻松估计这些概率。

Bayes Theorem

朴素贝叶斯被称为朴素的原因,在于它假设每个输入变量是独立的。 这是一个强硬的假设,对于真实数据来说是不切实际的,但该技术对于大范围内的复杂问题仍非常有效。

06 K近邻

KNN算法非常简单而且非常有效。KNN的模型用整个训练数据集表示。 是不是特简单?

通过搜索整个训练集内K个最相似的实例(邻居),并对这些K个实例的输出变量进行汇总,来预测新的数据点。 对于回归问题,新的点可能是平均输出变量,对于分类问题,新的点可能是众数类别值。

成功的诀窍在于如何确定数据实例之间的相似性。如果你的属性都是相同的比例,最简单的方法就是使用欧几里德距离,它可以根据每个输入变量之间的差直接计算。

K-Nearest Neighbors

KNN可能需要大量的内存或空间来存储所有的数据,但只有在需要预测时才会执行计算(或学习)。 你还可以随时更新和管理你的训练集,以保持预测的准确性。

距离或紧密度的概念可能会在高维环境(大量输入变量)下崩溃,这会对算法造成负面影响。这类事件被称为维度诅咒。它也暗示了你应该只使用那些与预测输出变量最相关的输入变量。

07 学习矢量量化

K-近邻的缺点是你需要维持整个训练数据集。 学习矢量量化算法(或简称LVQ)是一种人工神经网络算法,允许你挂起任意个训练实例并准确学习他们。

Learning Vector Quantization

LVQ用codebook向量的集合表示。开始时随机选择向量,然后多次迭代,适应训练数据集。 在学习之后,codebook向量可以像K-近邻那样用来预测。 通过计算每个codebook向量与新数据实例之间的距离来找到最相似的邻居(最佳匹配),然后返回最佳匹配单元的类别值或在回归情况下的实际值作为预测。 如果你把数据限制在相同范围(如0到1之间),则可以获得最佳结果。

如果你发现KNN在您的数据集上给出了很好的结果,请尝试使用LVQ来减少存储整个训练数据集的内存要求。

08 支持向量机

支持向量机也许是最受欢迎和讨论的机器学习算法之一。

超平面是分割输入变量空间的线。 在SVM中,会选出一个超平面以将输入变量空间中的点按其类别(0类或1类)进行分离。在二维空间中可以将其视为一条线,所有的输入点都可以被这条线完全分开。SVM学习算法就是要找到能让超平面对类别有最佳分离的系数。

Support Vector Machine

超平面和最近的数据点之间的距离被称为边界,有最大边界的超平面是最佳之选。同时,只有这些离得近的数据点才和超平面的定义和分类器的构造有关,这些点被称为支持向量,他们支持或定义超平面。在具体实践中,我们会用到优化算法来找到能最大化边界的系数值。

SVM可能是最强大的即用分类器之一,在你的数据集上值得一试。

09 bagging和随机森林

随机森林是最流行和最强大的机器学习算法之一。 它是一种被称为Bootstrap Aggregation或Bagging的集成机器学习算法。

bootstrap是一种强大的统计方法,用于从数据样本中估计某一数量,例如平均值。 它会抽取大量样本数据,计算平均值,然后平均所有平均值,以便更准确地估算真实平均值。

在bagging中用到了相同的方法,但最常用到的是决策树,而不是估计整个统计模型。它会训练数据进行多重抽样,然后为每个数据样本构建模型。当你需要对新数据进行预测时,每个模型都会进行预测,并对预测结果进行平均,以更好地估计真实的输出值。

Random Forest

随机森林是对决策树的一种调整,相对于选择最佳分割点,随机森林通过引入随机性来实现次优分割。

因此,为每个数据样本创建的模型之间的差异性会更大,但就自身意义来说依然准确无误。结合预测结果可以更好地估计正确的潜在输出值。

如果你使用高方差算法(如决策树)获得良好结果,那么加上这个算法后效果会更好。

10 Boosting和AdaBoost

Boosting是一种从一些弱分类器中创建一个强分类器的集成技术。 它先由训练数据构建一个模型,然后创建第二个模型来尝试纠正第一个模型的错误。 不断添加模型,直到训练集完美预测或已经添加到数量上限。

AdaBoost是为二分类开发的第一个真正成功的Boosting算法,同时也是理解Boosting的最佳起点。 目前基于AdaBoost而构建的算法中最著名的就是随机梯度boosting。

AdaBoost

AdaBoost常与短决策树一起使用。 在创建第一棵树之后,每个训练实例在树上的性能都决定了下一棵树需要在这个训练实例上投入多少关注。难以预测的训练数据会被赋予更多的权重,而易于预测的实例被赋予更少的权重。 模型按顺序依次创建,每个模型的更新都会影响序列中下一棵树的学习效果。在建完所有树之后,算法对新数据进行预测,并且通过训练数据的准确程度来加权每棵树的性能。

因为算法极为注重错误纠正,所以一个没有异常值的整洁数据十分重要。

初学者在面对各种各样的机器学习算法时提出的一个典型问题是“我应该使用哪种算法?”问题的答案取决于许多因素,其中包括:

  • 数据的大小,质量和性质;

  • 可用的计算时间;

  • 任务的紧迫性;

  • 你想要对数据做什么。

即使是一位经验丰富的数据科学家,在尝试不同的算法之前,也无法知道哪种算法会表现最好。 虽然还有很多其他的机器学习算法,但这些算法是最受欢迎的算法。 如果你是机器学习的新手,这是一个很好的学习起点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5.4 单管放大电路的频率响应

一、单管共射放大电路的频率响应 考虑到耦合电容和结电容的影响,图5.4.1(a)所示电路的等效电路如图(b)所示。在分析放大电路的频率响应时,为了方便起见,一般将输入信号的频率范围分为中频、低频和高频三个频段。在中频段,极间电容…

Win10系统打开控制面板出现闪退怎么回事?

Win10系统打开控制面板出现闪退怎么回事?有用户开启自己电脑的控制面板时,突然间页面初选了闪退的情况,导致无法进行相关设置的操作。那么我们怎么去进行控制面板闪退问题的解决呢?一起来看看以下的解决方法吧。 解决方法 1、更换…

Python | 文件操作和异常处理

博主简介🙇:🎓本科大二学生🎓,立志成为一名全栈开发工程师🎏🎏分类专栏📘:Python从入门到精通🌻🌻 知识目录一、文件操作1.1 打开和关闭文件1.2 读…

如何使用TCPA300电流放大器和电流探头进行电流测试

为了进行正确电流测试,工程师需要在使用前对电流探头进行消磁和校零调节,消磁可以消除电流探头的寄生磁场,否则会产生零点的漂移和测量误差,每次进行消磁后,都需要调节探头的零点,消除存在的偏移。电流探头…

垃圾桶溢出识别系统 opencv

垃圾桶溢出识别系统通过Opencvyolo网络模型深度学习技术,对垃圾桶垃圾溢出行为现象进行识别,监测到垃圾桶存在垃圾溢出时,立即抓拍存档 告警及时清理。OpenCV基于C实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是…

JGroups介绍及入门实战

我们在开发集群系统的过程中,往往需要在多个进程间同步很多状态,比如每个服务器进程的负载状况、数据队列长度等等……。还有一些情况,我们需要把不同的进程分类,然后分发不同的通知消息,最常见的是发出一些运维命令&a…

「YGG Japan」宣布已完成约 295 万美元的新股权私募

ForN(总部位于东京都港区;CEO 藤原哲哉;以下简称 “ForN” )今天宣布,与 ForN 合作的区块链游戏平台 YGG Japan 已完成价值约 295 万美元的私募轮融资,投资方共有 18 家公司。加上本轮融资,YGG …

多种汉语方言语音落地应用,微软智能语音解锁更多交互场景

多年来,微软持续探索 AI 语音合成与识别技术,获得了大量成果:Azure Neural TTS(text-to-speech,语音合成)与 STT(speech-to-text,语音识别)支持的语言区域达到 140 余个&…

GItOps - k8s的微服务实战1 - 构建业务镜像

概述 在学习了容器化、docker和k8s的 Ingress-Nginx 、server 和pod 知识后,开启了 k8s的微服务实战第三篇,在搭建环境废了一点周折,这次实战的目的是集成在gitlab里,实现自动打包、发布的功能。 Mac M2芯 搭建k8s(minikube)超详…

puzzle(0332)色块拼图、物换星移、移星掠形

目录 一,纯色块拼图——旋转 二,物换星移 三,六边形纯色块拼图——旋转 四,纯色块拼图——轮换 五,移星掠形 练习模式 策略 比赛模式 一,纯色块拼图——旋转 这种纯粹就是数字拼图——旋转的简化版…

Web3中文|逆流前行:日本开始拥抱Web3

在最近的一次东京之行中,我发现交谈过的人似乎都没有因FTX崩溃(或之前加密领域的一系列负面事件)感到特别担忧。 众议院议员、日本现今执政党自民党的Web3项目团队成员Masaaki Taira表示,FTX的垮台“对政策制定没有影响”。 尽管…

DC/DC电源模块直流升压线性可调正负输出5v12v24v转0-±50v/±110v/±200v/±250v/±360v/±500v

特点● 效率高达70%以上● 1*2英寸标准封装● 正负电压输出● 价格低● 电压控制,输出电压随控制电压线性变化● 工作温度: -40℃~85℃● 阻燃封装,满足UL94-V0 要求● 温度特性好● 可直接焊在PCB 上应用GRA 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电…

CentOS 7 部署Nginx和前端框架

参考: Centos 7下安装配置Nginx-阿里云开发者社区 (aliyun.com) 阿里P8架构大牛整理的Nginx 从入门到实践,万字详解 安装nginx之后,处理 conf.d下无default.conf文件 1. CentOS 7 下安装配置 Nginx 一、配置 EPEL 源 sudo yum install -y e…

jquery方法学习及案例

JQ框架入手须知封装方法学习及应用插件(白嫖超好用)总结案例推荐网课链接入手须知 1.进官网点3.6版本 2.复制全部代码 3.建立文档名为jquery.min.js,粘贴代码 (用的时候同cssjs引入) 封装方法学习及应用 介绍联系…

Authing,助力先进制造 10 万亿产值之路

工信部表示,截止今年 9 月,一批有竞争力的先进制造业集群正在形成。重点培育的 25 个先进制造业集群,其主导产业产值近 10 万亿元,其中的 17 个集群产值同比增速超过两位数。 Authing 深耕芯片、机器人、航空航天、医药医械等先进…

多品类多SKU存储的四向穿梭车|海格里斯HEGERLS超高RGV四向穿梭车供应

近年来,随着电商、快递的快速发展,物流行业也迎来了智能化、数字化转型。伴随上下游产业链条的智能化升级,物流机器人产品开始被普及、应用。在仓储物流领域,AGV(自动引导车)、AMR(自主移动机器…

2.编写第一个网页

第一个网页 ● 首先建立一个文件夹 ● 之后建立一个文件 ● 文件名称以.html结尾 ● 输入一个!,回车,就会生成一个html框架 ● 其他的部分不用看,稍后会介绍,看这个标签,英文的意思就是标题&#xff…

编写一个简版的数据库维护框架03-父窗口界面

框架的主要内容就是创建一个父类Form,实现基本逻辑。使用时,这些逻辑就无需用户实现。用户只需按照规则,设计好界面即可。 一、简版界面 界面如下: 界面分为两大部分,查询定位和数据维护 查询定位 查询定位将根据…

非极大值抑制NMS与柔性非极大抑制Soft-NMS的python实现

非极大值抑制NMS的python实现 什么是非极大值抑制 非极大值抑制的主要目的是为了消除多余的框,找到最佳的物体检测的位置。 比如我们想要检测手的时候, RCNN网络在训练之后会给出许多个预测框(比图上的更多), 我们先通过他们的置信度筛选出一批不符合的框, 剩下如图…

智能BI与传统报表的区别是什么?

随着企业信息化的深入, 企业的信息化系统日益增多。各个信息化系统也随着应用的逐渐深入, 随之产生大量的信息数据。面对已成几何级增长的数据量, 如何从中提取有效数据, 如何将数据转换为有价值的数据? 成为企业面临的问题之一。 其实与数据相关的工具除了传统报表还有如今火…