前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >值得收藏!2023 年,你应该知道的所有机器学习算法~

值得收藏!2023 年,你应该知道的所有机器学习算法~

作者头像
AI科技大本营
发布于 2023-04-06 06:43:53
发布于 2023-04-06 06:43:53
6530
举报

【CSDN 编者按】经过数十年的演进,人工智能走出了从推理,到知识,再到学习的发展路径。尤其近十年由深度学习开启神经网络的黄金新时代,机器学习成为解决人工智能面临诸多难题的重要途径。然而,这一涉及概率论、统计学、逼近论、凸分析、算法复杂度等理论的交叉学科让很多开发者犯难,尤其是纷繁复杂的各类算法。本文作者结合自身多年的工作经验和日常学习,汇编了一份2023年度的机器学习算法大全。希望在新的一年,这些算法可以成为开发者的“书签”,从而解决各类数据科学处理中面临的难题。

原文链接:https://terenceshin.medium.com/all-machine-learning-algorithms-you-should-know-for-2023-843dba11419c

声明:本文为 CSDN 翻译,未经允许,禁止转载。

作者 | Terence Shin

译者 | Carol       责编 | Carol

出品 | CSDN(ID:CSDNnews)

在过去的几年里,我根据自己的工作经验,与其他数据科学家的交流,包括在网上阅读到的内容,汇编了自认为最重要的机器学习算法。

今年,我想在去年发表文章的基础上提供各类别中更多的模型。希望提供一个工具和技术的宝库,你可以将其作为书签,这样就可以解决各种数据科学的问题了。

说到这里,让我们深入了解以下六种最重要的机器学习算法类型。

  • 解释型算法
  • 模式挖掘算法
  • 集成算法
  • 聚类算法
  • 时间序列算法
  • 相似度算法

解释型算法

机器学习面临的一大问题是理解各种模型如何达到最终预测,我们经常知道是“什么”,但很难解释“为什么”。

解释型算法帮助我们识别那些对我们感兴趣的结果有重要影响的变量。这些算法使我们能够理解模型中变量之间的关系,而不仅仅是用模型来对结果进行预测。

有几种算法可以用来更好地理解某个模型的自变量和因变量之间的关系。

算法

线性/逻辑回归:对因变量和一个或多个自变量之间的线性关系进行建模的一种统计方法——可用于了解基于t-检验和系数的变量之间的关系。

决策树:一种机器学习算法,为决策及其可能的后果创建一个树状模型,有助于通过观察分支进行分割的规则进而理解变量之间的关系。

主成分分析(PCA):一种降维技术,将数据投射到一个较低的维度空间,同时保留尽可能多的差异。PCA可用于简化数据或确定重要特征。

局部可解释模型——不可知论解释(LIME):一种解释机器学习模型预测的算法,使用线性回归或决策树等技术构建一个更简单的模型,通过预测周围情况局部近似地解释模型。

沙普利加法解释(SHAPLEY):一种解释机器学习模型的预测算法,通过基于“边际贡献”的方法计算每个特征对预测的贡献。在某些情况下,它比SHAP更准确。

沙普利近似法(SHAP):一种通过预估每个特征在预测中的重要性来解释机器学习模型预测的方法。SHAP使用一种叫做“合作博弈”的方法来近似Shapley值(Shapley value),通常比SHAPLEY更快。

模式挖掘算法

模式挖掘算法是一种数据挖掘技术,用于识别数据集中的模式和关系。这些算法可用于实现各种目的,如识别零售业中的客户购买模式,了解网站/应用程序的常见用户行为序列,或在科学研究中寻找不同变量之间的关系。

模式挖掘算法通常通过分析大型数据集和寻找重复模式或变量之间的关联展开工作。一旦这些模式被识别出来,它们就可以用来预测未来的趋势或结果,或者理解数据中的潜在关系。

算法

Apriori算法:一种用于在事务数据库中查找频繁项集的算法——高效且广泛用于关联规则挖掘任务。

递归神经网络 (RNN):一种神经网络算法,旨在处理序列数据,能够获取数据中的时间依赖性。

长短期记忆网络 (LSTM):一种循环神经网络,旨在可以更长时间地记住信息。LSTM能够获取数据中的长期依赖关系,通常用于语言翻译和语言生成等任务中。

使用等价类的序列模式发现(SPADE):一种通过将某种意义上等价的项目组合在一起,从而查找序列数据中经常出现的模式的方法。这种方法能够高效处理大型数据集,但可能不适用于稀疏数据。

前缀投影的模式挖掘(PrefixSpan):一种通过构建前缀树并修剪不常见项目的方式查找序列数据中常见模式的算法。PrefixScan能够高效处理大型数据集,但可能不适用于稀疏数据。

集成算法

作为机器学习技术,集成算法结合多模型,从而做出比任何单独模型更准确的预测。集成算法能够胜过传统机器学习算法的原因有几个:

  • 多样性。通过结合多模型预测,集成算法可以捕捉到数据中更广泛的模式。
  • 稳健性。集成算法通常对数据中的噪音和异常值不那么敏感,这可以使预测更加稳定和可靠。
  • 减少过度拟合。通过对多模型的平均化预测,集成算法可以减少单个模型对训练数据的过度拟合,从而提升对新数据的集成。
  • 提高准确性。集成算法已被证明在各种情况下都保持相较于传统机器学习算法的优势。

算法

随机森林:一种机器学习算法,它构建了一个决策树的集合,并根据树的多数“投票”进行预测。

极限梯度提升算法(XGBoost):一种梯度提升算法,使用决策树作为其基础模型,被称为最强的机器学习预测算法之一。

LightGBM:另一种梯度提升算法,旨在比其他提升算法更快、更高效。

CatBoost:一种梯度提升算法,专门被设计处理分类变量。

聚类算法

聚类算法是一种无监督的学习作业,用于将数据分为“群组”。与目标变量已知的监督式学习相比,聚类算法中没有目标变量。

这项技术对于寻找数据中的自然模式和趋势非常有用,并且经常在数据分析阶段使用,以获得对数据的进一步理解。此外,聚类算法可以用来根据各种变量将数据集划分为不同的部分,一个常见应用是在细分客户或用户的时候。

算法

K-Modes聚类:一种专门为分类数据设计的聚类算法,能够很好地处理高维分类数据,而且实现起来相对简单。

DBSCAN密度聚类:一种基于密度的聚类算法,能够识别任意形状的聚类。它对噪声处理相对稳健,能够识别数据中的异常值。

谱系聚类法:一种聚类算法,使用相似性矩阵的特征向量来将数据点归入聚类,能够处理非线性可分离的数据,并且相对高效。

时间序列算法

时间序列算法是用于分析与时间有关的数据的技术。这些算法考虑到一个系列中的数据点之间的时间依赖性,这在对未来价值进行预测时尤其重要。

时间序列算法被用于各种商业应用中,如预测产品需求、销售,或分析客户在一段时间内的行为,它们还可以用来检测数据中的异常情况或趋势变化。

算法

Prophet时间序列模型:一个由Facebook开发的时间序列预测算法,设计直观、易于使用。它的一些主要优势包括处理缺失数据和预测趋势变化,对异常值具有鲁棒性,可以快速拟合。

自回归综合移动平均法(ARIMA):‍一种用于预测时间序列数据的统计方法,对数据和其滞后值之间的相关性进行建模。ARIMA可以处理广泛的时间序列数据,但比其他的一些方法更难实现。

指数平滑法:一种预测时间序列数据的方法,使用过去数据的加权平均来进行预测。指数平滑法的实现相对简单,可以用于广泛的数据,但可能不如更复杂的方法表现出色。

相似度算法

相似度算法被用来衡量一对记录、节点、数据点或文本之间的相似性。这些算法可以基于两个数据点之间的距离(如欧氏距离)或文本的相似性(如Levenshtein算法)。

这些算法有广泛应用,尤其在推荐方面特别有用。它们可以用来识别类似的项目或向用户推荐相关内容。

算法

欧氏距离:对欧氏空间中两点之间直线距离的测量。欧氏距离计算简单,在机器学习中被广泛使用,但在数据分布不均匀的情况下可能不是最佳选择。

余弦相似度:基于两个向量之间的角度来衡量它们的相似度。

Levenshtein算法:一种测量两个字符串之间距离的算法,基于将一个字符串转化为另一个字符串所需的最小单字符编辑数(插入、删除或替换)。Levenshtein算法通常用于拼写检查和字符串匹配的任务中。

Jaro-Winkler算法:一种测量两个字符串之间相似度的算法,基于匹配字符的数量和转置的数量。它与Levenshtein算法类似,经常被用于记录链接和实体解析的任务中。

奇异值分解(SVD):一种矩阵分解方法,将一个矩阵分解为三个矩阵的乘积,在最先进的推荐系统中,奇异值分解是重要的组成部分。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Vue-QuickStarted
概念:指令(Directives)是 Vue 提供的带有 v- 前缀 的 特殊 标签属性。
用户11097514
2024/05/31
1700
Vue-QuickStarted
第一章 : Vue2 技术精讲
① 对象 → 键就是类名,值是布尔值。如果值为 true,有这个类,否则没有这个类
捞月亮的小北
2023/12/01
2360
第一章 : Vue2 技术精讲
Vue基础
注意:使用v-text时,会将标签内部的内容覆盖并且替换成对应的内容,若不希望内容被覆盖,则不可使用v-text的写法,两种写法都支持表达式,如:v-text="message + ‘!’",{{ message + “!” }}。
Cikian.
2022/09/22
2.7K0
Vue基础
Vue(上)
新建一个Html项目(在vscode中输入 ! 加 Tab键 可快速生成一个标准的Html模板);
十玖八柒
2022/08/01
2.5K0
Vue(上)
后端人眼中的Vue(一)
​ Vue是渐进式 JavaScript 框架,啥叫渐进式?渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,或者如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统。比如Core+Vue-router+Vuex+axios,也可以满足你各种各样的需求。
上分如喝水
2023/01/08
1.1K0
后端人眼中的Vue(一)
Vue学习
Vue基础 官网链接 vue简介 JavaScript 框架 简化Dom操作 响应式的数据驱动 Vue导入 `<!-- 开发环境版本,包含了有帮助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> (适合初学者) 或者: <!-- 生产环境版本,优化了尺寸和速度 --> <script src="https://cdn.jsdelivr.net/npm/vue"></script> el介
用户7168270
2020/04/06
1.1K0
Vue学习
vue2基础
半月无霜
2023/10/18
3420
Vue.js 快速上手精华梳理-快速上手核心重点【热门收藏】
vuecli文档 https://cli.vuejs.org/zh/ https://cli.vuejs.org/zh/guide/installation.html
瑞新
2022/01/21
9570
Vue.js 快速上手精华梳理-快速上手核心重点【热门收藏】
Vue.js 快速上手精华梳理-快速上手核心重点【建议收藏】
文章目录 Vue.js 快速上手精华梳理 初体验 条件指令 循环指令 处理用户输入 组件初体验 实例 模板语法 计算属性 监听器 Class绑定 Style绑定 条件渲染 列表渲染 事件处理 表单输入绑定 组件基础 git提交-vue核心基础完结 彩蛋福利 PS:本文福利首发于公众号「让我遇见相似的灵魂」,获取最新Vue教程资源 回复关键字:Vue 左手代码,右手吉他,这就是天下:如果有一天我遇见相似的灵魂 那它肯定是步履艰难 不被理解 喜黑怕光的。如果可以的话 让我触摸一下吧 它也一样孤独得太久。
瑞新
2020/07/07
1.4K0
一篇文章带你了解网页框架——Vue简单入门
如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助
秋落雨微凉
2022/10/25
1K0
一篇文章带你了解网页框架——Vue简单入门
2-本地应用:Vue指令
v-text指令用于设置标签的文本值,有两种设置标签文本值的方式,方式一就是通过v-text指令向标签传入值,但这种传入方式会整个替换掉标签内的全部文本信息,如果我们需要特殊化的修改某一部分文本值,就需要用到第二个方式,使用插值表达式传入值
Ywrby
2022/10/27
1.2K0
2-本地应用:Vue指令
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
v-text会覆盖元素中原本的内容,但是 插值表达式 只会替换自己的这个占位符,不会把 整个元素的内容清空。v-html会解析文本中的html标签后展示。具体代码如下:
共饮一杯无
2022/11/28
1.5K0
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
首先,你可以在这里下载本文使用到的vue.js文件,使用的是v2.6.10开发版本。
前端修罗场
2023/10/07
3330
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
浅谈Vue--直接引入Vue.js实现简单地开发
Vue是一个MVVM的JavaScript框架; ViewModel负责逻辑的实现,把Model里的数据传递给View,实现视图层与数据层的解耦
生南星
2019/07/22
7.8K0
Vue入门 基本使用 与 事务管理【1】
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。
陶然同学
2023/02/24
9230
Vue入门 基本使用 与 事务管理【1】
前端(五)-Vue简单基础
你可以用v-model指令在表单、及元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇, 但v-model本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。   注意:v-model会忽略所有表单元素的value、checked、selected特性的初始值而总是将Vue实例的数据作为数据来源。你应该通过JavaScript在组件的data选项中声明初始值!
化羽羽
2022/10/28
9670
史上最详细vue的入门基础
Vue可以自底向上逐层的应用简单应用:只需一个轻量小巧的核心库复杂应用:可以引入各式各样的Vue插件
楠羽
2022/11/18
9510
史上最详细vue的入门基础
一个后端狗的 Vue 笔记【入门级】
最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的,以前也有一定做小程序的基础,感觉还是很相似的,不过对于一些稍复杂的点,感觉还是总结的不够细致,例如插槽,和计算属性等,平时前端的东西看的也不是很多,学习过程中整理的笔记,和大家一起分享交流!欢迎各位大大交流意见~
BWH_Steven
2020/09/10
1.4K0
一个后端狗的 Vue 笔记【入门级】
后端人眼中的Vue(三)
​ 在之前的购物车的案例当中,我们已经实现了购物车价格的计算,但是有些时候我们需要在其他很多地方也展示价格,所以每展示一次,我们就需要调用一次计算价格的方法,所以Vue给了一个计算属性,用于在Vue实例中完成相关业务计算的工作。
上分如喝水
2023/01/09
9050
后端人眼中的Vue(三)
简学Vue
官网文档:https://cn.vuejs.org/v2/guide/forms.html#%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95
Rochester
2020/09/01
2.3K0
简学Vue
相关推荐
Vue-QuickStarted
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档