机器学习常见算法_基于机器学习的识别方法中的机器学习算法不包括-程序员宅基地

技术标签: 机器学习  

1. 线性回归

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

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Linear Regression

举例:y = B0 + B1 * x

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

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

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

2. 逻辑回归

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

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Logistic Regression

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

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

3. 线性判别分析

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

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

  • 每类的平均值。
  • 跨所有类别计算的方差。

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Linear Discriminant Analysis

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

4. 分类和回归树

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Decision Tree

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

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

5. 朴素贝叶斯

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Bayes Theorem

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

6. K近邻

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

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

K-Nearest Neighbors

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

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

7. 学习矢量量化

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Learning Vector Quantization

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

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

8. 支持向量机

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Support Vector Machine

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

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

9. bagging和随机森林

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

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

Random Forest

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

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

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

10. Boosting和AdaBoost

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

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

收藏|数据分析师最常用的10个机器学习算法!(附图解)

 

AdaBoost

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

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

选择那种机器学习算法:

  • 数据的大小,质量和性质;
  • 可用的计算时间;
  • 任务的紧迫性;
  • 你想要对数据做什么。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39012047/article/details/81915204

智能推荐

蜣螂算法优化变分模态分解结合核极限学习机DBO-VMD-KELM实现光伏发电功率预测附Matlab代码,创新点,注释清楚-程序员宅基地

文章浏览阅读53次。随着光伏发电技术的不断发展,光伏发电功率预测成为了一个备受关注的研究领域。准确的光伏发电功率预测可以帮助电力系统运营商更好地调度电力资源,提高电力系统的运行效率和稳定性。因此,研究人员们一直在努力寻找更加精准的光伏发电功率预测算法。在这篇博文中,我们将介绍一种基于蜣螂算法优化变分模态分解(DBO-VMD)结合核极限学习机(KELM)的光伏发电功率预测算法流程。首先,让我们来了解一下这些算法的基本原理。

Tensor non-local low-rank regularization for recovering compressed hyperspectral images_xue jize-程序员宅基地

文章浏览阅读311次。一:Tensor non-local low-rank regularization for recovering compressed hyperspectral images作者:Yongqiang Zhao*, Jize Xue and Jinglei Hao(2017,IEEE)研究现状:现有的HSI-CR(压缩恢复)方法大多是在空间和光谱域对高光谱立方体进行矢量化处理,在恢复过程中会破坏空间和光谱相关性,造成空间和光谱信息失真。同时,矢量化也使得HSI固有的结构稀疏性得不到充分利用。本文:本_xue jize

java/php/node.js/python师生交流平台作业管理子系统【2024年毕设】-程序员宅基地

文章浏览阅读15次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。

springboot+JSR303+全局异常处理_jsr全局异常处理-程序员宅基地

文章浏览阅读681次。最近做了个springboot项目,用到了jrs303验证和全局异常处理,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用文章目录一 jrs303验证的优点二 jrs303验证步骤2.1 引入依赖2.2 给参数对象添加需要的注解2.3 实现自定义注解IsMoible三 全局异常处理3.1 为什么要异常全局处理3.2 没处理过的原始代码3.3 如何使代码更加优雅3.4 添加自定义异常类3.5 添加全局异常处理类3.6 效果展示四 总结一 jrs303验证的优点以前,._jsr全局异常处理

1.10 存储器 MEM Memory_hdd和mem-程序员宅基地

文章浏览阅读160次。1.10 存储器 MEM Memory1 存储器是什么?2 有哪些分类3 参考链接1 存储器是什么?存储器单元实际上是时序逻辑电路的一种。按存储器的使用类型可分为只读存储器(ROM)和随机存取存储器(RAM)。只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。随机读写存储器(RAM):既能读出又能写入的半导体存储器。RAM,random access memory,随机存取存储器又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写_hdd和mem

HTML网页制作——用DIV+CSS技术设计的动漫网站——网页设计实例 企业网站制作-程序员宅基地

文章浏览阅读892次,点赞22次,收藏20次。1网页简介:此作品为学生个人主页网页设计题材,HTML+CSS 布局制作,web前端期末大作业,大学生网页设计作业源码,这是一个不错的网页制作,画面精明,代码为简单学生水平, 非常适合初学者学习使用。2.网页编辑等任意html编辑软件进行运行及修改编辑等操作)。3.知识应用:技术方面主要应用了网页知识中的: Div+CSS、鼠标滑过特效、Table、导航栏效果、Banner、表单、二级三级页面等,视频、 音频元素 、Flash,同时设计了Logo(源文件)所需的知识点。

随便推点

0023【Edabit ★☆☆☆☆☆】Using the “&&“ Operator-程序员宅基地

文章浏览阅读43次。【代码】0023【Edabit ★☆☆☆☆☆】Using the “&&“ Operator。

网络控制IO模块:WIZ220IO / WIZ220IO-EVB_嵌入式远程io网关-程序员宅基地

文章浏览阅读2.5k次。WIZ220IO是一款嵌入式远程 I/O模块,它能通过因特网在远程控制和监测I/O端口。可以使用Windows应用程序或嵌入式网络服务器检测并控制I/O端口。WIZ220IO支持16个数字I/O端口和4个模拟I/O。另外,固件和嵌入式网页也可以通过以太网进行远程更新。WIZ220IO-EVB 是评估底板,用户可用它迅速地评估WIZ220IO模块。该评估板有8个开关用于数字输入测试,8个LED用_嵌入式远程io网关

PM3嗅探数据采集密码自动提取密码工具_pm3嗅探密码计算器-程序员宅基地

文章浏览阅读3.2k次。PM3嗅探可能大家都玩过,它主要目的就是采集门禁读头和卡片之间的交互数据,从中分析出有用的资料,帮我们读取卡片数据。针对M1卡,如何嗅探采集到卡片资料呢?正常的嗅探流程是这样的1、卡片放PM3上2、PM3连接电脑(或者连接手机)3、运行嗅探命令hf mf sniff4、卡片和PM3一起去读头刷卡,刷个3-5次5、按一下PM3侧面按钮,然后输入命令hf mf list6、如果是新版的软件,比如RDV4GUI(可以配合RDV4/PM3/RDV2全.._pm3嗅探密码计算器

springboot/java/php/node/python微信小程序的外卖点餐系统的设计与实现【计算机毕设】-程序员宅基地

文章浏览阅读395次,点赞4次,收藏3次。设计与实现基于微信小程序的外卖点餐系统,对商家而言,可以拓宽营销渠道,降低获客成本,通过微信庞大的用户基础和社交网络的传播效应,增加曝光率和订单量。对用户来说,这样的系统意味着更加便捷的操作流程和更高效的服务体验,用户可以在聊天、阅读等日常使用微信的过程中,轻松完成点餐,无需额外下载应用程序,节省了手机存储空间。微信小程序的外卖点餐系统的设计与实现,不仅能够推动餐饮行业的数字化转型,也为消费者提供了更为丰富和便捷的餐饮选择,具有重要的社会和经济价值。操作系统:win7以上,最好是win10。

Android横屏竖屏判断--全屏设置--取屏幕宽高_横竖屏切换获取高度-程序员宅基地

文章浏览阅读3.3k次。这些代码都要放在Activity里。横屏竖屏判断方法1:mActivity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;// 横屏方法2:DisplayMetrics dm = new DisplayMetrics();mLauncher.g_横竖屏切换获取高度

IDEA修改Maven全局配置-程序员宅基地

文章浏览阅读893次。在使用过程中发现,IDEA每次新建一个Project ,这个maven配置都会初始化默认的。这里需要设置下全局配置;File -> Other Settings -> Settings for New Projects...这里设置下即可。参考:https://blog.csdn.net/Suyebiubiu/article/details/85..._idea2.1 maven全局设置

推荐文章

热门文章

相关标签