机器学习、深度学习和神经网络

机器学习、深度学习和神经网络


术语及相关概念


在深入了解人工智能(AI)的工作原理以及它的各种应用之前,让我们先区分一下与AI密切相关的一些术语和概念:人工智能、机器学习、深度学习和神经网络。这些术语有时会被交替使用,但它们并不指代同样的东西:

  • 人工智能是计算机科学的一个分支,处理智能行为的模拟。AI系统通常会展示与人类智能相关的行为,如规划、学习、推理、问题解决、知识表示、感知、运动和操控,较少涉及社会智能和创造力。
  • 机器学习是AI的一个子集,它使用计算机算法分析数据,并根据所学做出智能决策,而无需明确编程。机器学习算法通过大量数据进行训练,并从示例中学习。它们不遵循基于规则的算法。机器学习使机器能够自己解决问题,并使用提供的数据做出准确的预测。
  • 深度学习是机器学习的一个专门子集,它利用分层的神经网络模拟人类决策。深度学习算法能够标记和分类信息,识别模式。这使得AI系统能够在工作中不断学习,并通过判断决策是否正确,改进结果的质量和准确性。
  • 人工神经网络,通常简称神经网络,受生物神经网络的启发,尽管它们的工作原理有所不同。AI中的神经网络是由小型计算单元(称为神经元)组成,它们接受输入数据并随着时间的推移学习做出决策。神经网络通常有多层,它们是深度学习算法在数据集增加时变得更加高效的原因,而与其他机器学习算法不同,后者可能会在数据增加时出现平台效应。

现在,你已经对一些关键AI概念的区别有了广泛的理解,接下来还有一个重要的区分,即人工智能与数据科学的区别

  • 数据科学是从大量不同的数据中提取知识和洞察的过程和方法。它是一个跨学科的领域,涉及数学、统计分析、数据可视化、机器学习等。它使我们能够从大量数据中获取信息、看到模式、找出意义,并用它来做出推动业务决策的判断。
  • 数据科学可以使用许多AI技术来从数据中提取洞察。例如,它可以使用机器学习算法甚至深度学习模型来提取意义并做出推论。AI和数据科学之间有一些交集,但它们并不是彼此的子集。相反,数据科学是一个涵盖整个数据处理方法论的广泛术语,而AI包括所有允许计算机学习如何解决问题并做出智能决策的技术。
  • AI和数据科学都可以涉及使用大数据,也就是极为庞大的数据量。后面我们将更详细地讨论机器学习、深度学习和神经网络的相关术语。

机器学习


机器学习是人工智能的一个子集,它使用计算机算法分析数据,并根据所学做出智能决策。与基于规则的算法不同,机器学习通过构建模型来对数据进行分类和预测:

  • 让我们通过一个问题来理解机器学习的应用:如果我们想判断一个人的心脏是否会衰竭,机器学习能否解决这个问题?答案是肯定的。
  • 假设我们有一些数据,比如每分钟心跳数、身体质量指数(BMI)、年龄、性别以及结果(心脏是否衰竭)。通过机器学习,给定这些数据集,我们能够学习并创建一个模型,基于输入预测结果。
  • 那么,这与使用统计分析创建算法有什么区别呢?算法是一种数学技术。传统编程中,我们会拿到数据和规则,并使用它们来开发一个算法,给出答案。在前面的例子中,如果使用传统算法,我们会利用如心跳数和BMI等数据,创建一个算法来判断心脏是否会衰竭。这本质上是一个if-then-else语句。当我们提交输入时,基于我们确定的算法得到结果,而这个算法不会改变。
  • 而机器学习则不同,它接受数据和答案,并创建算法。机器学习不直接给我们最终答案,而是给我们一组规则,确定模型会是什么样的。模型确定规则,当它收到输入时,会通过这些规则来做出判断。与传统算法不同,机器学习模型可以不断训练,并将来用于预测结果。

机器学习依赖于通过检查和比较大量数据集来定义行为规则,找到共同模式。例如,我们可以向机器学习程序提供大量鸟类的图片,并训练模型在看到鸟类图片时标记为“鸟”。同样,我们也可以为“猫”创建标签,并提供猫的图片进行训练。当机器模型看到猫或鸟的图片时,它会根据一定的置信度标记图片:

  • 这种机器学习类型被称为监督学习,即通过人工标注的数据训练算法。你提供更多的样本,监督学习算法会变得更加精确地对新数据进行分类。
  • 另一种机器学习类型是无监督学习,它依赖于提供未标注的数据,并让算法自己发现数据中的模式。你提供输入数据,但不提供标签,让机器自行推断数据的特征。这种学习方式对于聚类数据很有用,即根据数据与邻近数据的相似性,将数据分组。在数据聚类之后,可以使用不同技术来探索数据,寻找模式。例如,你可以提供一个持续的网络流量数据流,机器学习算法会自主学习网络的正常活动以及异常行为和可能的恶意行为。
  • 第三种机器学习算法是强化学习,它依赖于给机器学习算法提供一组规则和约束条件,并让它学会如何实现目标。你定义状态、目标、允许的行动和约束条件。算法通过尝试不同的组合来实现目标,并根据决策的好坏给予奖励或惩罚。算法会尽力在给定的约束下最大化奖励。例如,你可以使用强化学习来教机器玩棋类游戏或通过障碍物。机器学习模型是一种用于在数据中发现模式的算法,而不需要程序员显式编程这些模式。

机器学习技术与训练


机器学习是一个广泛的领域,我们可以将其分为三种不同的类别:监督学习、无监督学习和强化学习。通过这些方法,我们可以解决许多不同的任务:

  • 监督学习是指当我们在数据集中有类别标签时,使用这些标签来构建分类模型。也就是说,当我们接收到数据时,它已经有标签,告诉我们数据代表的是什么。例如,在之前的例子中,我们有一个包含年龄、性别等标签的表格。
  • 无监督学习则不同,我们没有类别标签,必须从无结构的数据中发现类别标签。这通常涉及深度学习等技术,例如通过观察图片来训练模型,通常采用聚类的方式进行。
  • 强化学习是另一种子集,它使用奖励函数来惩罚不好的行为或奖励好的行为。

监督学习的细分

监督学习可以进一步细分为回归(Regression)、分类(Classification)和神经网络(Neural Networks)三类。

  • 回归模型通过观察特征x与结果y之间的关系来构建,其中y是一个连续变量。本质上,回归用于估算连续值。
  • 神经网络指的是模仿人类大脑结构的结构。
  • 分类则侧重于识别离散值。我们可以根据许多输入特征x为输出y分配离散的类别标签。例如,在之前的例子中,给定一组特征x(如每分钟心跳、身体质量指数、年龄和性别),算法将输出y分类为两个类别:True或False,预测心脏是否会衰竭。

在其他分类模型中,我们可以将结果分类为多个类别。例如,预测一个菜谱是印度菜、中国菜、日本菜还是泰国菜。一些分类方法包括决策树、支持向量机、逻辑回归和随机森林。

通过分类,我们可以从数据中提取特征。在这个例子中,特征可能是每分钟心跳或年龄。特征是输入模式的独特属性,帮助确定输出类别或类标签。每一列是一个特征,每一行是一个数据点。分类是预测给定数据点所属类别的过程。我们的分类器使用一些训练数据来理解输入变量与类别之间的关系。

训练模型

那么,训练到底意味着什么呢?训练是指使用学习算法来确定和开发模型的参数。虽然有许多算法可以做到这一点,用通俗的话来说,如果你正在训练一个预测心脏是否衰竭的模型(True或False的值),你会向算法展示一些标记为True的实际数据,然后再次向算法展示一些标记为False的数据,你会不断重复这个过程,直到算法学会从标记为True的心脏衰竭数据中识别出来,标记为False的数据则相反。

数据集划分

在机器学习中,我们通常将数据集分为三部分:训练集、验证集和测试集。

  • 训练集是用于训练算法的数据。
  • 验证集用于验证结果并微调算法的参数。
  • 测试集是模型从未见过的数据,用于评估模型的效果。

通过这些评估方法,我们可以使用如准确率精确度召回率等指标来表示模型的好坏。

深度学习


机器学习是人工智能(AI)的一个子集,深度学习则是机器学习的一个专门子集。深度学习通过分层算法创建神经网络,这是一种人工复制大脑结构和功能的方式,使得AI系统能够在工作中持续学习,并提高结果的质量和准确性。这就是为什么深度学习可以让系统从非结构化数据中学习,例如照片、视频和音频文件。例如,深度学习使得AI系统具备自然语言理解的能力,能够理解传达的信息的上下文和意图。

  • 深度学习算法并不直接将输入映射到输出。相反,它们依赖于多个处理层。每一层将其输出传递给下一层,下一层再处理这些输出并传递给下一层。由于有很多层,因此称之为深度学习。
  • 在创建深度学习算法时,开发人员和工程师配置层数和连接每一层输出与下一层输入的函数类型。然后,他们通过提供大量带注释的示例来训练模型。例如,你可以给深度学习算法提供成千上万张图片和与每张图片内容对应的标签。算法会通过其分层的神经网络运行这些示例,并调整每一层神经网络中变量的权重,从而能够检测出定义相似标签的图片的共同模式。

深度学习解决了旧版本学习算法中的一个主要问题。尽管机器学习算法的效率和性能在数据集增长时会达到瓶颈,深度学习算法在数据不断增加时仍然能持续改进。深度学习在多个任务中已经证明了其高效性,包括图像字幕生成、语音识别与转录、人脸识别、医学影像和语言翻译等。深度学习也是自动驾驶汽车的主要组成部分之一。

神经网络


人工神经网络

人工神经网络是由一组较小的单元称为神经元组成的计算单元,这些神经元模拟了人类大脑处理信息的方式。人工神经网络借鉴了生物神经网络的一些思想,目的是近似其处理结果。这些单元或神经元像生物神经网络一样,接受输入数据,并随着时间的推移学习做出决策。

  • 神经网络通过反向传播(Backpropagation)进行学习。反向传播使用一组训练数据,将已知的输入与期望的输出匹配。首先,输入数据被传入网络并产生输出。然后,误差函数会计算给定输出与期望输出之间的差距。最后,网络会进行调整,以减少误差。
  • 神经网络中的一组神经元被称为,每一层接受输入并提供输出。每个神经网络至少有一个输入层和一个输出层,它还可能包含一个或多个隐藏层,这些隐藏层模拟了人脑中的活动。隐藏层接受一组加权输入,并通过激活函数产生输出。如果一个神经网络有多个隐藏层,它就被称为深度神经网络(Deep Neural Network)。

  • 感知机(Perceptrons)是最简单且最早的神经网络类型,它是单层神经网络,由输入节点直接连接到输出节点。输入层将输入值通过乘以权重并求和的方式传递给下一层。隐藏层接收来自其他节点的输入,并将其输出传递给其他节点。隐藏层和输出层的节点具有一种叫做偏置(Bias)的属性,它是应用在节点上的一种特殊类型的权重,用来在考虑其他输入后进行调整。

  • 最后,激活函数决定了节点如何响应其输入。激活函数会根据输入值的总和和偏置进行计算,结果将作为输出传递。激活函数有不同的形式,选择合适的激活函数是神经网络成功的关键。

卷积神经网络CNNs

卷积神经网络(Convolutional Neural Networks,CNNs)是多层神经网络,它们受到动物视觉皮层的启发。CNNs在图像处理、视频识别和自然语言处理等应用中非常有用。卷积(Convolution)是一种数学运算,将一个函数应用于另一个函数,结果是两个函数的混合。卷积非常擅长检测图像中的简单结构,并将这些简单特征结合起来构建更复杂的特征。

在卷积神经网络中,这一过程通过一系列层进行,每一层对前一层的输出进行卷积。CNNs擅长从较简单的特征中构建复杂的特征。

递归神经网络RNNs

递归神经网络(Recurrent Neural Networks,RNNs)之所以叫做“递归”神经网络,是因为它们对每个序列元素执行相同的任务,且前一步的输出会作为后续阶段的输入。在一般的神经网络中,输入通过多层处理后产生输出,假设两个连续的输入是相互独立的,但在某些情况下,这种假设并不成立。例如,当我们需要考虑一个单词的上下文时,必须考虑前一步的观察结果才能产生正确的输出。

RNNs可以利用长序列中的信息,每一层网络代表某一时刻的观察值。

总结


  • 机器学习是人工智能的一个子集,它使用计算机算法来分析数据,并根据所学内容做出智能决策。机器学习算法的三个主要类别包括监督学习、无监督学习和强化学习。
    • 监督学习是指我们在数据集中有类别标签,并使用这些标签来构建分类模型。
    • 监督学习分为三个类别——回归、分类和神经网络。
    • 机器学习算法通过使用分为训练数据、验证数据和测试数据的数据集进行训练。
  • 深度学习是机器学习的一个专门子集,它通过分层算法创建神经网络,使人工智能系统能够从非结构化数据中学习,并在工作中持续学习。
  • 神经网络,一种模仿生物神经元的计算单元集合,随着时间的推移学习对数据进行决策。不同的神经网络类型包括感知器、卷积神经网络或 CNN 以及循环神经网络或 RNN。
  • 进阶学习(可选但是推荐)
    • 机器学习模型Models for Machine Learning
    • 神经网络深度探索A Neural Networks deep dive

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

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

相关文章

打造高性能中文RAG系统:多轮对话与语义检索的完美结合

目录 1、引言 2、RAG系统的核心架构 3、对话理解:超越单轮问答 3.1、指代消解技术 3.2、话题跟踪与记忆 4、混合检索策略:兼顾精确与广泛 4.1、向量检索 关键词检索 4.2、重排序机制 5、性能优化:应对大规模文档 5.1、向量量化技术…

人工智能助力数字化转型:生成式人工智能(GAI)认证开启新篇章

在数字化浪潮席卷全球的今天,企业正面临着前所未有的转型压力与机遇。数字化转型,这一曾经被视为“选择题”的战略议题,如今已演变为关乎企业生存与发展的“必答题”。在这场深刻的变革中,人工智能(AI)作为…

Windows 图形显示驱动开发-WDDM 2.4功能-GPU 半虚拟化(十二)

DxgkDdiQueryAdapterInfo 更新 DXGKARG_QUERYADAPTERINFO 结构已更新,以包括以下字段以支持半虚拟化: 添加了 Flags 成员,允许 Dxgkrnl 指示以下内容: 它将 VirtualMachineData 设置为指示调用来自 VM。它将 SecureVirtualMach…

iOS审核被拒:Missing privacy manifest 第三方库添加隐私声明文件

问题: iOS提交APP审核被拒,苹果开发者网页显示二进制错误,收到的邮件显示的详细信息如下图: 分析: 从上面信息能看出第三方SDK库必须要包含一个隐私文件,去第三方库更新版本。 几经查询资料得知,苹果在…

马达加斯加企鹅字幕

Antarctica 南极洲 An inhospitable wasteland 一个荒凉的不毛之地 But even here 但即使在这里 on the Earth’s frozen bottom 地球另一端的冰天雪地里 we find life 也有生命存在 And not just any life 不是别的什么生物 Penguins 而是企鹅 Joyous, frolicking 快乐的 顽皮…

爱因斯坦求和 torch

目录 向量点积 矩阵乘法 矩阵转置 向量转换相机坐标系 在 Python 的科学计算库(如 NumPy)中,einsum 是一个强大的函数,它可以简洁地表示各种张量运算。下面是几个不同类型的使用示例: 向量点积 向量点积是两个向量…

FPGA调试笔记

XILINX SSTL属性电平报错 错误如下: [DRC BIVRU-1] Bank IO standard Vref utilization: Bank 33 contains ports that use a reference voltage. In order to use such standards in a bank that is not configured to use INTERNAL_VREF, the banks VREF pin mu…

一区严选!挑战5天一篇脂质体组学 DAY1-5

Day 1! 前期已经成功挑战了很多期NHANES啦!打算来试试孟德尔随机化领域~ 随着孟德尔随机化研究的普及,现在孟德尔发文的难度越来越高,简单的双样本想被接收更是难上加难,那么如何破除这个困境,这次我打算…

DataGear 5.3.0 制作支持导出表格数据的数据可视化看板

DataGear 内置表格图表底层采用的是DataTable表格组件,默认并未引入导出数据的JS支持库,如果有导出表格数据需求,则可以在看板中引入导出相关JS支持库,制作具有导出CSV、Excel、PDF功能的表格数据看板。 在新发布的5.3.0版本中&a…

【个人笔记】用户注册登录思路及实现 springboot+mybatis+redis

基本思路 获取验证码接口 验证码操作用了com.pig4cloud.plugin的captcha-core这个库。 AccountControl的"/checkCode"接口代码,通过ArithmeticCaptcha生成一张验证码图片,通过text()函数得到验证码的答案保存到变量code,然后把图…

Linux网络编程概述

Linux网络编程是在Linux操作系统环境下进行的网络相关程序开发,主要用于实现不同计算机之间的数据通信和资源共享。以下从基础知识、网络编程模型、常用函数和编程步骤等方面进行详细介绍: 基础知识 1. 网络协议 TCP/IP协议族:是互联网通信…

Linux内核perf性能分析工具案例分析

一、系统级性能分析工具perf原理 1. perf 的基本概念 内核集成:perf 直接集成在 Linux 内核源码中,能够深度访问硬件和操作系统层面的性能数据,具有低开销、高精度的特点。 事件采样原理:通过定期采样系统事件&#xff0…

word-spacing 属性

介绍 CSS word-spacing 属性,用于指定段字之间的空间,例如: p {word-spacing:30px; }word-spacing属性增加或减少字与字之间的空白。 注意: 负值是允许的。 浏览器支持 表格中的数字表示支持该属性的第一个浏览器版本号。 属…

5种特效融合愚人节搞怪病毒

内容供学习使用,不得转卖,代码复制后请1小时内删除,此代码会危害计算机安全,谨慎操作 并在虚拟机里运行此代码!&#xff0c;病毒带来后果自负! #include <windows.h> #include <cmath> #include <thread> using namespace std; // 屏幕特效函数声明 void In…

深入理解 Windows 进程管理:taskkill 命令详解

引言 在 Windows 系统开发和日常使用中&#xff0c;我们经常会遇到程序卡死、文件被占用导致无法编译等问题。这时&#xff0c;taskkill 命令就成了解决问题的利器。本文将详细介绍 taskkill 的使用方法、常见场景以及注意事项&#xff0c;帮助你高效管理系统进程。 1. 什么是…

【C++】右值引用与完美转发

目录 一、右值引用&#xff1a; 1、左值与右值&#xff1a; 2、左值引用和右值引用&#xff1a; 二、右值引用的使用场景&#xff1a; 1、左值引用的使用场景&#xff1a; 2、右值引用的使用场景&#xff1a; 移动构造 移动赋值 三、完美转发&#xff1a; 1、万能引用…

wx201基于ssm+vue+uniapp的购物系统设计与实现小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

Mac 常用命令

一、文件操作(必知必会)​ ​1. 快速导航 cd ~/Documents # 进入文档目录 cd .. # 返回上级目录 pwd # 显示当前路径 2. ​文件管理 touch new_file.txt # 创建空文件 mkdir -p project/{src,docs} # 递归创建目录 cp …

Nginx RTMP 处理模块 (ngx_rtmp_handler.c) 详细分析

ngx_rtmp_handler 是 Nginx RTMP 模块中的核心处理部分&#xff0c;主要负责处理 RTMP 流会话中的数据接收、发送、ping 操作以及分块大小的设置等。 1. 全局变量 ngx_rtmp_naccepted: 记录接受的 RTMP 连接数。 ngx_rtmp_bw_out 和 ngx_rtmp_bw_in: 分别表示输出带宽和输入带…

(二)万字长文解析:deepResearch如何用更长的思考时间换取更高质量的回复?各家产品对比深度详解

DeepResearch的研究背景 业务背景&#xff1a;用更长的等待时间&#xff0c;换取更高质量、更具实用性的结果 当前AI技术发展正经历从“即时响应”到“深度思考”的范式转变。用户对延迟的容忍度显著提升&#xff0c;从传统200ms的交互响应放宽至数秒甚至数分钟&#xff0c;以…