人工智能的学习算法

news2024/11/24 3:24:23

  1956年,几个计算机科学家相聚在达特茅斯会议,提出了 “人工智能” 的概念,梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言,或被当成技术疯子的狂想扔到垃圾堆里。直到 2012 年之前,这两种声音还在同时存在。
  2012 年以后,得益于数据量的上涨、运算力的提升和深度学习的出现,人工智能开始大爆发,研究领域也在不断扩大,下图展示了人工智能研究的各个分支,包括计划调度、专家系统、多智能体系统、进化计算、模糊逻辑、机器学习、知识表示、计算机视觉、自然语言处理、推荐系统、机器感知等等1
在这里插入图片描述

  人工智能根据形态可以分为弱人工智能和强人工智能:弱人工智能通过训练让机器具备观察和感知的能力,可以做到一定程度的理解和推理;而强人工智能通过训练让机器获得自适应能力,解决一些之前没有遇到过的问题。例如科幻电影里的人工智能多半都是在描绘强人工智能,而这部分在目前的现实世界里难以真正实现;目前的科研工作主要集中在弱人工智能这部分,并且已经取得了一系列的重大突破。

  人工智能领域涉及到许多学习算法,我们经常也会看到机器学习、深度学习、迁移学习、强化学习等概念,这些算法用于使计算机系统能够从数据中学习并做出决策。本文将介绍一些常见的人工智能学习算法。
在这里插入图片描述

目录

  • 一. 传统机器学习
    • 1. 监督学习
    • 2. 无监督学习
    • 3. 半监督学习
  • 二. 深度学习
  • 三. 强化学习
  • 四. 迁移学习
  • 五. 集成学习

一. 传统机器学习

弱人工智能是如何实现的,“智能” 又从何而来呢?这主要归功于一种实现人工智能的方法 —— 机器学习。机器学习的提出可以追溯到 Arthur Samuel 在 1959 年的定义:“机器学习:让计算机无需显式编程也能学习的研究领域”。Samuel 的定义很好,但可能有点太模糊。1998 年,另一位著名的机器学习研究者 Tom Mitchell 提出了一个更精确的定义:“正确提出的学习问题:如果计算机程序对于任务 T 的性能度量 P 通过经验 E 得到了提高,则认为此程序对经验 E 进行了学习”。通俗来说,机器学习就是让计算机从训练数据中学习,以便对新的、未见过的数据做出尽可能好的预测。

传统机器学习算法根据任务可以分为 分类回归聚类、降维、异常检测、推荐系统等。根据算法可以分为 监督学习半监督学习无监督学习 等,其区别在于训练数据的标签情况。

1. 监督学习

监督学习(Supervised Learning)是一种通过从 标记好的训练数据 中学习来进行预测或分类的方法,包括线性回归、逻辑回归、决策树、支持向量机、K - 最近邻算法等算法:

  • 线性回归(Linear Regression)是一种解决回归问题的常见算法,用于预测连续数值输出。线性回归通过拟合一条最佳拟合直线来最小化预测值与实际值之间的误差,从而建立了输入特征与输出之间的线性关系。
  • 逻辑回归(Logistic Regression)是一种解决分类问题的常见算法,用于预测样本的类别。逻辑回归通过将输入特征与 Sigmoid函数结合,将输入映射到 0 和 1 之间的概率,然后根据阈值进行分类。
  • 决策树(Decision Trees)既可以解决分类问题,又可以解决回归问题。决策树根据输入特征逐步分裂数据,每次选择一个最能有效分割数据的特征,以创建一个树状结构的决策规则,从而将数据分成不同的类别或值。
  • 支持向量机(Support Vector Machines, SVM)既可以解决分类问题,又可以解决回归问题。支持向量机试图找到能够最大化类别之间边界的超平面,这样的最佳超平面能够将不同类别或值分隔开,从而最小化分类错误。
  • K - 最近邻算法(K-Nearest Neighbors, KNN)既可以解决分类问题,又可以解决回归问题。K - 最近邻算法根据数据点之间的距离来确定最近的 K 个邻居,并采用多数投票(对于分类问题)或平均值(对于回归问题)来决定待预测数据点的类别或值。

2. 无监督学习

无监督学习(Unsupervised Learning)是一种从 未标记的数据 中学习模式和结构的方法,主要用于解决聚类和降维等任务,包括 K 均值、层次聚类、高斯混合模型、主成分分析、自组织映射等算法:

  • K 均值(K-Means)是一种解决聚类问题的常见算法,用于将数据点分成 K 个不同的簇,每个簇包含具有相似特征的数据点。K 均值算法的工作方式是随机选择 K 个初始聚类中心,然后迭代地将数据点分配到最近的中心,然后重新计算每个簇的中心,直到收敛为止。
  • 层次聚类(Hierarchical Clustering)是自底向上或自顶向下构建聚类层次结构的方法。自底向上方法从每个数据点作为单独的簇开始,然后逐渐将相似的簇合并在一起,形成更大的簇;自顶向下方法从所有数据点作为一个簇开始,然后逐渐将其分成更小的簇,形成聚类层次结构。
  • 高斯混合模型(Gaussian Mixture Models, GMM)既可以进行聚类,又可以建模生成新的数据点。高斯混合模型假设数据由多个高斯分布组成,每个高斯分布表示一个簇,使用最大似然估计来估计每个高斯分布的参数,并通过这些参数对数据进行建模。
  • 主成分分析(Principal Component Analysis, PCA)是一种降维技术,用于减少数据的维度,同时保留尽可能多的信息。主成分分析通过找到数据中的主成分(这些主成分是数据中方差最大的方向,是特征的线性组合),来实现降维。
  • 自组织映射(Self-Organizing Maps, SOM)是一种降维技术,用于将高维数据映射到低维空间,并保持数据之间的拓扑结构。自组织映射构建一个由神经元组成的网格,然后通过训练来调整神经元之间的连接权重,以最佳方式表示输入数据。

3. 半监督学习

半监督学习(Semi-Supervised Learning)结合了监督学习和无监督学习,使用 少量标记数据和大量未标记数据 进行训练,包括自训练、标签传播、半监督聚类、生成对抗网络、半监督支持向量机等算法。半监督学习利用未标记数据的信息来提高模型性能,尤其在标记数据稀缺或昂贵的情况下特别有用。

  • 自训练(Self-Training)是一种简单的半监督学习方法,它使用已训练的监督模型为未标记数据分配伪标签,然后将这些伪标签数据与标记数据一起用于重新训练模型。
  • 标签传播(Label Propagation)是一种图算法,它使用已知标签的数据点来传播标签信息到未知标签的数据点,从而扩展标签信息。该算法通常构建一个图,其中节点表示数据点,边表示相似性或关系,然后通过迭代传播标签。
  • 半监督聚类(Semi-Supervised Clustering)将未标记数据与标记数据一起聚类,以便更好地捕捉数据分布的结构。其中一种常见的方法是 “Constrained Clustering”,它利用人工提供的约束信息(如数据点属于同一类别或不属于同一类别)来指导聚类过程。
  • 生成对抗网络(Generative Adversarial Networks, GANs)是一种用于生成和改进数据的生成式算法。生成对抗网络可以使用未标记数据来改进生成器的性能,使其生成更真实的数据。
  • 半监督支持向量机(Semi-Supervised Support Vector Machines)扩展了传统的 SVM,允许在模型训练中使用未标记数据。它尝试将未标记数据放置在决策边界附近,以提高分类性能。

二. 深度学习

深度学习(Deep Learning, DL)是机器学习中一种基于神经网络模型的算法,其核心思想是通过模拟人脑神经网络的结构和工作原理来训练计算机模型,以实现对数据的高级抽象和特征学习。深度学习模型通常由 多层神经网络 组成,这些网络层之间的参数通过大量数据进行自动学习和调整,以执行各种任务。深度学习的好处是可以使用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。

深度学习的模型有很多,目前开发者最常用的深度学习模型与架构包括卷积神经网络、深度置信网络、受限玻尔兹曼机、递归神经网络、递归张量神经网络、自动编码器、生成对抗网络等等,更多的模型可以参考下图:
在这里插入图片描述

三. 强化学习

强化学习(Reinforcement Learning, RL)是一种机器学习方法,旨在让智能体通过与环境的互动学习如何在特定任务中做出决策,以最大化累积的奖励或目标。在强化学习中,智能体是一个决策制定者,它通过观察环境的状态,采取行动,获得奖励,并在不断的试验中优化它的行为策略。
在这里插入图片描述

强化学习涵盖了多种不同的方法和算法,常见的方法包括 Q - 学习、深度 Q 网络、策略梯度方法、Actor - Critic 方法、模仿学习等:

  • Q - 学习(Q-learning)是一种基于值函数的强化学习算法2,用于 离散 状态和动作空间的问题。它通过建立一个 Q 值表格,其中每个条目表示在特定状态下采取特定动作的预期回报,然后通过不断更新 Q 值来学习最佳策略。
  • 深度 Q 网络(Deep Q-Networks, DQN)是 Q-learning 的深度学习扩展,适用于具有 连续 状态和动作空间的问题。它使用深度神经网络来估计 Q 值函数,并使用经验回放和目标网络来稳定训练过程。
  • 策略梯度方法通过直接学习策略函数,而不是估计值函数,来解决强化学习问题。常见的策略梯度算法包括 REINFORCE、TRPO(Trust Region Policy Optimization)、PPO(Proximal Policy Optimization)等。
  • Actor - Critic 方法结合了值函数估计(Critic)和策略改进(Actor)两个部分:Critic 负责估计状态值或 Q 值,Actor 则根据这些估计来改进策略。A3C(Asynchronous Advantage Actor-Critic)和 A2C(Advantage Actor-Critic)是常见的 Actor-Critic 算法。
  • 模仿学习是一种通过观察专家示范来学习策略的方法,而不是通过奖励信号来训练3。常见的模仿学习算法包括行为克隆和逆强化学习。

四. 迁移学习

迁移学习(Transfer Learning)是一种机器学习方法,它利用在一个任务上学到的知识来改善在另一个相关任务上的性能。传统的机器学习方法通常要求训练数据和测试数据的分布相似,但在现实世界中,这种情况并不经常发生。迁移学习的目标是通过利用一个任务上积累的经验知识来提高另一个任务的性能,尤其是在目标任务的数据相对较少或难以获得时非常有用,这样可以避免大多数网络那样需要从零学习(Starting From Scratch)。

“在迁移学习中,我们首先在基础数据集和任务上训练一个基础网络,然后将学习到的特征重新调整或者迁移到另一个目标网络上,用来训练目标任务的数据集。如果这些特征是容易泛化的,且同时适用于基本任务和目标任务,而不只是特定于基本任务,那迁移学习就能有效进行。” 因此,迁移学习的核心思想是将从源任务学到的知识传输到目标任务中,可以通过共享模型的权重、特征表示或其他中间层来实现。在深度学习中,通常采用预训练模型(如 BERT、ResNet 等)来进行知识传输4
在这里插入图片描述

举个例子,使用图像数据作为输入的预测模型问题中进行迁移学习是很常见的。 对于这些类型的问题,通常会使用预先训练好的深度学习模型来处理大型的和具有挑战性的图像分类任务。例如使用谷歌的 Inception 模型作为预训练的元模型,然后再使用少量目标任务的样本进行微调实现 ImageNet 1000 级照片分类。

五. 集成学习

集成学习(Ensemble Learning)是一种机器学习方法,通过将多个基本模型(也称为 弱学习器基学习器)组合在一起,以提高整体性能和泛化能力。集成学习的核心思想是将多个弱学习器的预测结果进行组合,从而产生一个更强大的模型,以降低过拟合风险并提高预测的准确性。
在这里插入图片描述

集成学习算法包括投票策略、Bagging、Boosting、随机森林等:

  • 投票(Voting)策略是一种简单的集成方法,它通过让多个弱学习器投票来确定最终的预测。有硬投票(Majority Voting)和软投票(Soft Voting)两种方式,软投票考虑了每个弱学习器的置信度,硬投票只考虑得票最多的结果。
  • Bagging(Bootstrap Aggregating)通过随机有放回地从训练数据集中抽取多个子样本,然后使用这些子样本来训练多个弱学习器。最后,通过对弱学习器的预测结果进行投票或平均来获得最终的预测。
  • Boosting 是一种迭代的集成方法,它通过调整样本权重来关注被前一轮弱学习器分类错误的样本,从而逐渐改善模型性能。常见的 Boosting 算法包括 AdaBoost、Gradient Boosting 和 XGBoost等。
  • 随机森林(Random Forests)是一种基于 Bagging 的集成方法,它使用多个决策树作为弱学习器。每个决策树都在不同的子样本和特征子集上训练,最后通过投票或平均来进行预测。

集成学习的优势在于它可以降低模型的方差,提高模型的鲁棒性,减少过拟合的风险,并在许多情况下提高了预测性能。不同的集成方法适用于不同的问题和数据集,选择合适的集成策略通常需要根据具体情况进行调整和实验。


  1. 机器学习、深度学习、强化学习、迁移学习和人工智能的联系和区别? ↩︎

  2. Q学习(Q-learning)简单理解 ↩︎

  3. 模仿学习(Imitation Learning)概述 ↩︎

  4. 迁移学习(Transfer) ↩︎

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

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

相关文章

K折交叉验证——cross_val_score函数使用说明

在机器学习中,许多算法中多个超参数,超参数的取值不同会导致结果差异很大,如何确定最优的超参数?此时就需要进行交叉验证的方法,sklearn给我们提供了相应的cross_val_score函数,可对数据集进行交叉验证划分…

小程序是一种伪需求技术吗?

点击下方“JavaEdge”,选择“设为星标” 第一时间关注技术干货! 免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案…

[NOIP2012 提高组] 开车旅行

[NOIP2012 提高组] 开车旅行 题目描述 小 A \text{A} A 和小 B \text{B} B 决定利用假期外出旅行,他们将想去的城市从 $1 $ 到 n n n 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 …

零基础一站式精通安卓逆向2023最新版(第一天):Android Studio的安装与配置

目录 一、Android Studio 开发环境的下载二、Android Studio 的安装与配置2.1 安装2.2 Android SDK 的管理 三、创建 Android 应用程序补充:安装完 Android Studio 后 SDK 目录下没有 tools 目录 一、Android Studio 开发环境的下载 通常情况下,为了提高…

对pyside6中的textedit进行自定义,实现按回车可以触发事件。

我的实现方法是,先用qt designer写好界面,如下图: 接着将其生成的ui文件编译成为py文件。 找到里面这几行代码: self.textEdit QTextEdit(self.centralwidget)self.textEdit.setObjectName(u"textEdit")self.textEdit…

Vue城市选择器示例(省市区三级)

Vue城市选择器(省市区) 读者可以参考下面的省市区三级联动代码思路,切记要仔细研究透彻,学习交流才是我们的本意,而非一成不变。切记切记! 最近又重读苏子的词,颇为感慨,愿与诸君共…

2022年中国征信行业覆盖人群、参与者数量及征信业务查询量统计[图]

征信是指依法收集、整理、保存、加工自然人、法人及其他组织的信用信息,并对外提供信用报告、信用评估、信用信息咨询等服务,帮助客户判断、控制信用风险,进行信用管理的活动。 征信业主要范畴 资料来源:共研产业咨询&#xff08…

B. Comparison String

题目&#xff1a; 样例&#xff1a; 输入 4 4 <<>> 4 >><< 5 >>>>> 7 <><><><输出 3 3 6 2 思路&#xff1a; 由题意&#xff0c;条件是 又因为要使用尽可能少的数字&#xff0c;这是一道贪心题&#xff0c;所以…

初识多线程

一、多任务 现实中太多这样同时做多件事的例子了&#xff0c;例如一边吃饭一遍刷视频&#xff0c;看起来是多个任务都在做&#xff0c;其实本质上我们的大脑在同一时间依旧只做了一件事情。 二、普通方法调用和多线程 普通方法调用只有主线程一条执行路径 多线程多条执行路径…

uni-app_消息推送_华为厂商_unipush离线消息推送

文章目录 一、创建项目二、生成签名证书三、开通 unipush 推送服务四、客户端集成四、制作自定义调试基座五、开发者中心后台Web页面推送&#xff08;仅支持在线推送&#xff09;六、离线消息推送1、创建华为开发者账号2、开通推送服务3、创建项目4、添加应用5、添加SHA256证书…

【Linux】详解线程第三篇——线程同步和生产消费者模型

线程同步和生消模型 前言正式开始再次用黄牛抢票来讲解线程同步的思想通过条件变量来实现线程同步条件变量接口介绍初始化和销毁pthread_cond_waitsignal和broadcast 生产消费者模型三种关系用基本工程师思维再次理解基于生产消费者模型的阻塞队列版本一版本二多生多消 利用RAI…

2022年全球一次能源消费量:石油消耗量持续增加达190.69百亿亿焦耳,亚太地区消费量居首位[图]

一次性能源是指从自然界取得未经改变或转变而直接利用的能源。如原煤、原油、天然气、水能、风能、太阳能、海洋能、潮汐能、地热能、天然铀矿等。一次性能源又分为可再生能源和不可再生能源&#xff0c;前者指能够重复产生的天然能源&#xff0c;包括太阳能、风能、潮汐能、地…

响应式设计的实现方式

一. 什么是响应式 响应式网站设计是一种网络页面设计布局。页面的设计与开发应当根据用户行为以及设备环境&#xff08;系统平台&#xff0c;屏幕尺寸&#xff0c;屏幕定向等&#xff09;进行相应的响应和调整。 响应式网站常见特点&#xff1a; 1. 同时适配PC平板手机。 2…

排序篇(五)----非比较排序

排序篇(五)----非比较排序 基本思想&#xff1a; ​ 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 ​ 统计每个元素出现的次数&#xff0c;然后根据元素的大小顺序将它们放入正确的位置。 ​ 计数排序是一种小众的排序,它适合于数据密集的场景,按最大…

flink选择slot

flink选择slot 在这个类里修改 package org.apache.flink.runtime.resourcemanager.slotmanager.SlotManagerImpl; findMatchingSlot(resourceProfile)&#xff1a;找到满足要求的slot&#xff08;负责从哪个taskmanager中获取slot&#xff09;对应上图第8&#xff0c;9&…

百元开放式耳机推荐哪款、性价比最好的开放式耳机推荐

随着蓝牙耳机产业的高速发展&#xff0c;目前最热门的蓝牙耳机莫过于开放式的&#xff0c;跟传统的蓝牙耳机相比&#xff0c;开放式的耳机拥有久戴不累、安全舒适等优势&#xff0c;所谓的“开放式耳机”&#xff0c;就是指不用塞入耳朵内&#xff0c;也能听音乐的耳机&#xf…

noip2011铺地毯

[NOIP2011 提高组] 铺地毯 题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有 n n n 张地毯&#xff0c;编号从 1 1 1 到 n n n。现在将这些地毯按照编号从小…

Codeforces Round 894 (Div. 3) D(数学题好难不会)

题目链接&#xff1a;Codeforces Round 894 (Div. 3) D 题目&#xff1a; 特马决定提高自己制作冰淇淋的技能。他已经学会了如何用两个球把冰淇淋做成圆锥形。 在痴迷冰淇淋之前&#xff0c;特马对数学很感兴趣。因此&#xff0c;他很想知道要制作完全n个不同类型的冰淇淋&am…

数学建模之Matlab基础操作

作者由于后续课程也要学习Matlab&#xff0c;并且之前也进行了一些数学建模的练习&#xff08;虽然是论文手&#xff09;&#xff0c;所以花了几天零碎时间学习Matlab的基础操作&#xff0c;特此整理。 基本运算 a55 %加法&#xff0c;同理减法 b2^3 %立方 c5*2 %乘法 x 1; …

Docker 日志管理 - ELK

Author&#xff1a;rab 目录 前言一、Docker 日志驱动二、ELK 套件部署三、Docker 容器日志采集3.1 部署 Filebeat3.2 配置 Filebeat3.3 验证采集数据3.4 Kibana 数据展示3.4.1 创建索引模式3.4.2 Kibana 查看日志 总结 前言 如何查看/管理 Docker 运行容器的日志&#xff1f;…