您当前的位置:首页 > 电脑百科 > 程序开发 > 算法

你应该知道的十种机器学习算法

时间:2023-11-02 12:11:02  来源:今日头条  作者:微风01

你应该知道的十种机器学习算法

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

毫无疑问,机器学习/人工智能领域在将来是越来越受欢迎。由于大数据是目前科技行业最热门的趋势,机器学习非常强大,可以根据大量数据做出预测或计算建议。使用大量数据训练的深度学习算法,构建出一个能够理解人类语言并自动生成语言的模型。ChatGPT、文心一言等等,都是机器学习的伟大产物。

机器学习中大模型那么智能当然离不开伟大的机器学习算法,下面主要讲一下常见机器学习算法的基础知识。

机器学习算法可以分为三大类——监督学习、无监督学习和强化学习。 当某个属性(标签)可用于某个数据集(训练集),但属性(标签)缺失且需要针对其他实例进行预测时,监督学习非常有用。当挑战是发现给定未标记数据集中的隐式关系(项目未预先分配)时,无监督学习非常有用。强化学习介于这两个极端之间——每个预测步骤或动作都有某种形式的反馈,但没有精确的标签或错误消息。

1、主成分分析(PCA)/SVD

PCA 是一种无监督方法,用于了解由向量组成的数据集的全局属性。此处分析数据点的协方差矩阵,以了解哪些维度(大多数)/数据点(有时)更重要(即它们之间的方差较高,但与其他维度的协方差较低)。考虑矩阵的顶级 PC 的一种方法是考虑具有最高特征值的特征向量。SVD 本质上也是一种计算有序分量的方法,但不需要获取点的协方差矩阵即可获得它。

你应该知道的十种机器学习算法

2、最小二乘法和多项式拟合

大学时学习的数值分析,曾经将直线和曲线拟合到点来得到方程。可以使用它们来拟合机器学习中低维度的小型数据集的曲线。(对于大数据或具有多个维度的数据集,可能最终会严重过度拟合,所以不必担心)。OLS 具有封闭式解决方案,因此无需使用复杂的优化技术。

你应该知道的十种机器学习算法

显而易见,使用该算法来拟合简单曲线/回归

约束线性回归

最小二乘法可能会与数据中的异常值、杂散场和噪声混淆。因此,我们需要约束来减少我们在数据集上拟合的线的方差。正确的方法是拟合线性回归模型,这将确保权重不会出现异常行为。模型可以具有 L1 范数 (LASSO) 或 L2(岭回归)或两者(弹性回归)。均方损失已优化。

你应该知道的十种机器学习算法

使用这些算法来拟合带有约束的回归线,避免过度拟合并掩盖模型中的噪声维度。

3、K表示聚类

他是无监督聚类算法。给定一组向量形式的数据点,我们可以根据它们之间的距离来形成点簇。这是一种期望最大化算法,它迭代地移动聚类中心,然后将点与每个聚类中心结合在一起。算法采用的输入是要生成的簇的数量以及它将尝试收敛簇的迭代次数。

你应该知道的十种机器学习算法

从名称中可以明显看出,可以使用该算法在数据集中创建 K 个簇

4、逻辑回归

Logistic 回归是在应用权重后应用非线性(主要使用 sigmoid 函数,也可以使用 tanh)的约束线性回归,因此将输出限制为接近 +/- 类(在 sigmoid 情况下为 1 和 0)。交叉熵损失函数使用梯度下降进行优化。初学者注意:逻辑回归用于分类,而不是回归。还可以将逻辑回归视为单层神经网络。逻辑回归使用梯度下降或 L-BFGS 等优化方法进行训练。NLP 人们经常将其与最大熵分类器的名称一起使用。

这就是 Sigmoid 的样子:

你应该知道的十种机器学习算法

使用 LR 训练简单但非常强大的分类器。

5、SVM(支持向量机)

SVM 是一种常用的监督学习算法,是像线性/逻辑回归一样的线性模型,不同之处在于它的核心思想是将数据映射到高维特征空间,并在该空间中寻找一个最优的超平面来进行分类。超平面是一个 n-1 维的线性子空间,其中 n 是特征的维数。SVM 在特征空间中选择具有最大间隔(Margin)的超平面作为最优分类边界,以提高分类的鲁棒性。

你应该知道的十种机器学习算法

SVM 适用于二分类和多分类问题。它通过最大化间隔来寻找最优分类超平面,并具有在高维空间中处理非线性问题的能力。在实践中,选择合适的核函数和参数设置对于 SVM 的性能至关重要。

6、前馈神经网络

这些基本上是多层逻辑回归分类器。由非线性(sigmoid、tanh、relu + softmax 和很酷的新 selu)分隔的许多权重层。它们的另一个流行名称是多层感知器。FFNN 可作为自动编码器用于分类和无监督特征学习。

你应该知道的十种机器学习算法

多层感知器

你应该知道的十种机器学习算法

FFNN 作为自动编码器

FFNN 可用于训练分类器或提取特征作为自动编码器

7、卷积神经网络(Con.NETs)

当今世界上几乎所有最先进的基于视觉的机器学习结果都是使用卷积神经网络实现的。它们可用于图像分类、对象检测甚至图像分割。卷积网络由 Yann Lecun 在 80 年代末至 90 年代初发明,其特征是卷积层充当分层特征提取器。也可以在文本(甚至图表)中使用它们。

你应该知道的十种机器学习算法

使用卷积网络进行最先进的图像和文本分类、对象检测、图像分割。

8、循环神经网络(RNN):

RNN 通过在时间 t 的聚合器状态和时间 t 的输入上递归应用同一组权重来对序列进行建模(假设序列在时间 0..t..T 具有输入,并且在每个时间 t 有一个隐藏状态)这是 RNN t-1 步骤的输出)。纯 RNN 现在很少使用,但其对应的 LSTM 和 GRU 在大多数序列建模任务中都是最先进的。

你应该知道的十种机器学习算法

RNN(如果这里是一个密集连接的单元和一个非线性,那么现在 f 通常是 LSTM 或 GRU)。LSTM 单元用于代替纯 RNN 中的普通密集层。

你应该知道的十种机器学习算法

将 RNN 用于任何序列建模任务,特别是文本分类、机器翻译、语言建模

9、条件随机场(CRF)

CRF 可能是概率图模型 (PGM) 系列中最常用的模型。它们用于像 RNN 一样的序列建模,也可以与 RNN 结合使用。在神经机器翻译系统出现之前,条件随机场是最先进的,在许多小数据集的序列标记任务中,它们仍然比需要大量数据才能泛化的 RNN 学得更好。它们还可以用于其他结构化预测任务,例如图像分割等。CRF 对序列的每个元素(例如句子)进行建模,以便邻居影响序列中组件的标签,而不是所有标签彼此独立。

使用 CRF 来标记序列(文本、图像、时间序列、DNA 等)

10、决策树

它是一种基于树结构的分类和回归算法。它通过对特征进行分割来构建一个树形模型,每个内部节点表示一个特征,每个叶节点表示一个类别或一个数值。决策树通过对特征进行逐层的判断和分割,以最终得到一个预测结果。

举一个简单的例子来解释决策树的工作原理。假设我们有一个二分类问题,要根据一个人的性别、年龄和教育水平来预测他们是否购买某个产品。首先,我们从根节点开始,选择一个特征进行分割,比如选择性别作为第一个分割点。我们可以根据性别将数据分为男性和女性两个分支。然后,我们进一步选择一个特征进行分割,比如选择年龄。在男性分支中,我们可以将数据分为年龄小于等于30岁和大于30岁的两个子分支;在女性分支中,我们也可以进行类似的分割。接着,我们再选择一个特征进行分割,比如选择教育水平。在每个年龄分支中,我们可以将数据进一步分为高教育水平和低教育水平两个子分支。

这样不断进行特征的选择和分割,直到满足停止条件。停止条件可以是达到预定的树的深度、节点中的样本数小于某个阈值或不再有可分割的特征。

最终,我们得到了一棵决策树,每个叶节点表示一个类别。对于新的未知样本,我们可以沿着树的分支进行判断,最终到达一个叶节点,并根据叶节点的类别进行预测。

目前使用的两种常见决策树算法是随机森林(Random Forests)和提升树(Boosting trees),前者在属性的随机子集上构建不同的分类器,并将它们组合起来进行输出。

决策树可用于对数据点进行分类(甚至回归)

TD 算法(时间差分法)

如果仍然想知道上述方法如何解决像 DeepMind 那样击败围棋世界冠军这样的任务,那么它们不能。上面讨论的所有 10 种算法都是模式识别,而不是策略学习器。为了学习解决多步骤问题的策略,例如阿尔法GO赢得一场国际象棋比赛、ChatGPT语音机器人。这种类型的机器学习称为强化学习。该领域最近取得的许多(不是全部)成功都是将卷积网络或 LSTM 的感知能力与一组称为时间差分学习的算法相结合的结果。其中包括 Q-Learning、SARSA 、DQN等等其他一些变体。

总结

这些是 10 种机器学习算法,先作为入门的一些了解,心里有大模型算法这个概念。后面会针对每种算法进行深入分析研究。



Tags:机器学习算法   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
量子计算对机器学习算法的革命性影响
随着科技的不断进步,量子计算作为一种新兴的计算模型,正逐渐引起人们的关注。与传统的经典计算机相比,量子计算机具有更强大的计算能力和处理速度。在机器学习领域,量子计算的出...【详细内容】
2023-11-20  Search: 机器学习算法  点击:(105)  评论:(0)  加入收藏
你应该知道的十种机器学习算法
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织...【详细内容】
2023-11-02  Search: 机器学习算法  点击:(134)  评论:(0)  加入收藏
机器学习算法解决实际问题:方法与技巧
机器学习算法在现实生活中有着广泛的应用。本文将介绍几种常用的机器学习算法,以及它们在解决实际问题中的应用技巧。一、线性回归算法线性回归是一种常见的监督学习算法,用于...【详细内容】
2023-10-13  Search: 机器学习算法  点击:(291)  评论:(0)  加入收藏
机器学习算法的优势与局限性探究
机器学习算法作为人工智能领域的核心技术之一,已经在各个领域展现出了巨大的潜力和影响力。然而,机器学习算法也存在着一些优势与局限性。本文将深入探讨机器学习算法的优势与...【详细内容】
2023-10-12  Search: 机器学习算法  点击:(266)  评论:(0)  加入收藏
机器学习算法Higashi
机器学习是人工智能领域中的重要分支,它利用算法和统计模型使计算机系统具备从数据中学习和自主决策的能力。在众多机器学习算法中,Higashi作为一种新兴算法备受关注。本文将...【详细内容】
2023-09-18  Search: 机器学习算法  点击:(227)  评论:(0)  加入收藏
传统机器学习算法在实际业务中的使用场景
前言如果嫌麻烦,你可以直接跳到正题观看~最近无论是在工作中的交谈,还是在日常刷屏的新闻,铺天盖地的都是大模型。我横竖是看不明白,费了大劲终于从字缝里看到了两个字,玄学。仿...【详细内容】
2023-08-30  Search: 机器学习算法  点击:(429)  评论:(0)  加入收藏
机器学习算法有哪些?九大核心算法解析!
机器学习正在改变世界。谷歌使用机器学习向用户推荐搜索结果。Netflix 使用它来推荐电影供您观看。Facebook 使用机器学习来推荐您可能认识的人。机器学习从未如此重要。同...【详细内容】
2023-08-18  Search: 机器学习算法  点击:(174)  评论:(0)  加入收藏
OpenAI的机器学习算法帮助Global Sources优化供应链管理
随着全球市场的竞争越来越激烈,供应链管理对于企业的成功变得越来越重要。Global Sources作为一家全球性的采购服务公司,一直致力于提升其供应链管理能力。近年来,随着人工智能...【详细内容】
2023-08-07  Search: 机器学习算法  点击:(65)  评论:(0)  加入收藏
搞数仓也得懂几个常用机器学习算法
回归算法 一、理解线性回归模型 首先讲回归模型,回归模型研究的是因变量(目标)和自变量(预测器)之间的关系,因变量可以是连续也可以离散,如果是离散的就是分类问题。思考房价预测模...【详细内容】
2022-03-28  Search: 机器学习算法  点击:(308)  评论:(0)  加入收藏
2022 年顶级机器学习算法和 Python 库
新的算法很难产生,2022 年可能也不例外。然而,仍有一些机器学习算法和 Python 库将在未来更受欢迎。这些算法之所以与众不同,是因为它们包含了一些在其它算法中并不普遍的优点...【详细内容】
2022-02-20  Search: 机器学习算法  点击:(502)  评论:(0)  加入收藏
▌简易百科推荐
小红书、视频号、抖音流量算法解析,干货满满,值得一看!
咱们中国现在可不是一般的牛!网上的网友已经破了十个亿啦!到了这个互联网的新时代,谁有更多的人流量,谁就能赢得更多的掌声哦~抖音、小红书、、视频号,是很多品牌必争的流量洼地...【详细内容】
2024-02-23  二手车小胖说    Tags:流量算法   点击:(12)  评论:(0)  加入收藏
雪花算法详解与Java实现:分布式唯一ID生成原理
SnowFlake 算法,是 Twitter 开源的分布式 ID 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 ID。在分布式系统中的应用十分广泛,且 ID 引入了时间戳...【详细内容】
2024-02-03   一安未来  微信公众号  Tags:雪花算法   点击:(50)  评论:(0)  加入收藏
程序开发中常用的十种算法,你用过几种?
当编写程序时,了解和使用不同的算法对解决问题至关重要。以下是C#中常用的10种算法,每个算法都伴随着示例代码和详细说明。1. 冒泡排序 (Bubble Sort):冒泡排序是一种简单的比...【详细内容】
2024-01-17  架构师老卢  今日头条  Tags:算法   点击:(44)  评论:(0)  加入收藏
百度推荐排序技术的思考与实践
本文将分享百度在推荐排序方面的思考与实践。在整个工业界的推广搜场景上,特征设计通常都是采用离散化的设计,需要保证两方面的效果,一方面是记忆,另一方面是泛化。特征都是通过...【详细内容】
2024-01-09  DataFunTalk  微信公众号  Tags:百度推荐   点击:(73)  评论:(0)  加入收藏
什么是布隆过滤器?如何实现布隆过滤器?
以下我们介绍了什么是布隆过滤器?它的使用场景和执行流程,以及在 Redis 中它的使用,那么问题来了,在日常开发中,也就是在 Java 开发中,我们又将如何操作布隆过滤器呢?布隆过滤器(Blo...【详细内容】
2024-01-05  Java中文社群  微信公众号  Tags:布隆过滤器   点击:(87)  评论:(0)  加入收藏
面向推荐系统的深度强化学习算法研究与应用
随着互联网的快速发展,推荐系统在各个领域中扮演着重要的角色。传统的推荐算法在面对大规模、复杂的数据时存在一定的局限性。为了解决这一问题,深度强化学习算法应运而生。本...【详细内容】
2024-01-04  数码小风向    Tags:算法   点击:(89)  评论:(0)  加入收藏
非负矩阵分解算法:从非负数据中提取主题、特征等信息
非负矩阵分解算法(Non-negativeMatrixFactorization,简称NMF)是一种常用的数据分析和特征提取方法,主要用于从非负数据中提取主题、特征等有意义的信息。本文将介绍非负矩阵分解...【详细内容】
2024-01-02  毛晓峰    Tags:算法   点击:(62)  评论:(0)  加入收藏
再谈前端算法,你这回明白了吗?
楔子 -- 青蛙跳台阶一只青蛙一次可以跳上一级台阶,也可以跳上二级台阶,求该青蛙跳上一个n级的台阶总共需要多少种跳法。分析: 当n=1的时候,①只需要跳一次即可;只有一种跳法,即f(...【详细内容】
2023-12-28  前端爱好者  微信公众号  Tags:前端算法   点击:(107)  评论:(0)  加入收藏
三分钟学习二分查找
二分查找是一种在有序数组中查找元素的算法,通过不断将搜索区域分成两半来实现。你可能在日常生活中已经不知不觉地使用了大脑里的二分查找。最常见的例子是在字典中查找一个...【详细内容】
2023-12-22  小技术君  微信公众号  Tags:二分查找   点击:(78)  评论:(0)  加入收藏
强化学习算法在资源调度与优化中的应用
随着云计算和大数据技术的快速发展,资源调度与优化成为了现代计算系统中的重要问题。传统的资源调度算法往往基于静态规则或启发式方法,无法适应动态变化的环境和复杂的任务需...【详细内容】
2023-12-14  职场小达人欢晓    Tags:算法   点击:(164)  评论:(0)  加入收藏
站内最新
站内热门
站内头条