机器学习中的关键组件

机器学习中的关键组件

数据

每个数据集由一个个样本组成,大多时候,它们遵循独立同分布。样本有时也叫作数据点或数据实例,通常每个样本由一组称为特征或协变量的属性组成。机器学习会根据这些属性进行预测,预测得到的称为标签或目标。

目标函数

  • 在机器学习中,我们需要定义对模型的优劣程度的度量,这个度量在大多数情况下是“可视化”的,这被称为目标函数。我们通常定义一个目标函数,并希望优化它到最小值。
  • 当任务在试图预测数值时,最常见的损失函数是平方误差,即预测值与实际值之差的平方。当试图解决分类问题时,最常见的目标函数是最小化错误率,错误率即预测与实际情况不符的样本比率。有些目标函数(平方误差)很容易被优化,有些目标函数(错误率)由于不可微性或其他复杂性难以直接优化。
  • 通常,损失函数是根据模型参数定义的,并取决于数据集。在一个数据集上,我们可以通过最小化总损失来学习模型参数的最佳值。该数据集由一些为训练而采集的样本组成,称为训练数据集或训练集。
  • 可用数据集通常可以分为两部分:训练数据集用于拟合模型参数,测试数据集用于评估拟合的模型。然后我们观察模型在这两部分数据集上的性能。当一个模型在训练集上表现良好,但不能推广到测试集时,这个模型被称为过拟合的。

优化算法

深度学习中,大多数流行的优化算法通常基于一种基本方法--梯度下降

机器学习分类及其问题

监督学习

监督学习擅长在“给定输入特征”的情况下预测标签。每个“特征-标签”对都称为一个样本。即使标签是未知的,样本也可以指代输入特征。我们的目标是生成一个模型,该模型能够将任何输入特征映射到标签(即预测)

监督学习在训练参数时,我们为模型提供了一个数据集,其中每个样本都有真实的标签。在给定一组特定的可用数据的情况下,估计未知事物的概率。

监督学习的学习过程

  • 从已知大量数据样本中随机选取一个子集,为每个样本获取真实标签。有时,这些样本已有标签;有时,这些样本可能需要被人工标注。这些输入和相应标签一起构成了训练数据集。
  • 选择有监督的学习算法,它将训练数据集作为输入,并输出一个“已完成学习的模型”
  • 将之前没有见过的样本特征放到这个“已完成学习的模型”中,使用模型的输出作为相应标签的预测

监督学习的模型

回归

回归问题是由输出决定的,此时的目标是生成一个模型,使它的预测值非常接近实际标签值。

分类

分类问题希望模型能够预测样本属于哪个类别,其正式称为类。

分类器可能会输出图像是猫的概率为0.9,也就是分类器确定图像描绘的是一只猫的概率为90%。预测类别的概率传达了模型的不确定性。

交叉熵

分类问题的常见损失函数

层次分类

人们宁愿错误地归入一个相关的类别,也不愿错误地归入一个不相关的类别,这通常被称为层次分类

标注问题

多标签分类

学习预测不相互排斥的类别问题

搜索

有时,我们不仅仅希望输出一个类别或一个实值。在信息检索领域,我们希望对一组项目进行排序

推荐系统

目标是向特定用户进行“个性化”推荐

序列学习

标记和解析

用属性注释文本序列;通常,目标是基于结构和语法假设对文本进行分解,以获得一些注释。

自动语音识别

在语音识别中,输入序列是说话人的录音,输出序列是说话人所说内容的文本记录。

文本到语音

输入是文本,输出则是音频文件

机器翻译

在语音识别中,输入和输出的出现顺序基本相同。而在机器翻译中,颠倒输入和输出的顺序非常重要。机器翻译是输入和输出的数量以及相应序列的顺序大都不会相同。

无监督学习

数据中不含有“目标”的机器学习问题通常被称为“无监督学习”

无监督学习主要解决的问题

①聚类问题;②主成分分析问题;③因果关系和概率图模型;

④生成对抗网络(提供一种合成数据的方法)

与环境互动

无论是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。所有的学习都是在算法与环境断开后进行的,被称为离线学习

离线学习的优点:我们可以孤立地进行模式识别,而不必分心于其他问题

                  缺点:能解决的问题相当有限

强化学习

智能体在一系列的时间步骤上与环境交互。在每个特定时间点,智能体从环境接受一些观测,并且必须选择一个动作,然后通过某种机制(执行器)将其传输回环境,最终智能体从环境中获得奖励。此后,新一轮循环开始。

 强化学习的目标是产生一个好的策略。强化学习智能体选择的“动作”受策略控制,即一个从环境观测映射到动作的功能。

  • 一般来说,智能体只是得到一些奖励。此外,环境甚至可能不会告知是哪些动作导致了奖励
  • 强化学习可能还必须处理部分可观测性问题。也就是说,当前的观测结果可能无法阐述有关当前状态的所有信息
  • 智能体的动作会影响后续的观测,而奖励只与所选的动作相对应。环境可以是完整观测到的,也可以是部分观测到的

  1. 当环境可被完全观测到时,强化学习问题被称为马尔可夫决策过程
  2. 当状态不依赖之前的动作时,我们称该问题为上下文老虎机
  3. 当没有状态,只有一组最初未知奖励的可用动作时,这就是经典的多臂老虎机

神经网络的起源

神经网络的核心是当今大多数网络中都可以找到的几个关键原则:

①线性和非线性处理单元的交替,通常称为层

②使用链式规则(反向传播)一次性调整网络中的全部参数

深度学习的发展

深度学习的一个关键优势是,它不仅取代了传统学习管道末端的浅层模型,还取代了劳动密集型的特征工程过程。此外,通过取代大部分特定领域的预处理,深度学习消除了以前分隔计算机视觉、语音识别、自然语言处理、医学信息学和其他应用领域的许多边界,为解决各种问题提供了一套统一的工具

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

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

相关文章

鸿蒙LiteOs读源码教程+向LiteOS中添加一个简单的基于线程运行时的短作业优先调度策略

【⭐据说点赞收藏的都会收获好运哦👍】 一、鸿蒙Liteos读源码教程 鸿蒙的源码是放在openharmony文件夹下,openharmony下的kernel文件夹存放操作系统内核的相关代码和实现。 内核是操作系统的核心部分,所以像负责:资源管理、任…

使用JMeter进行接口压力测试

1.我首先创建一个线程组 2.创建好之后如图所示 3. 进行配置 4. 然后添加一个https请求 5.创建好之后设置请求方法和对应参数 6.设置表格监听器 7.创建好之后如图所示 8.保存jmx文件后点击运行进行测试,结果反馈如下图

从源码中看@Qualifier注解

theme: smartblue 摘要 Qualifier注解通常和Autowired注解一起使用,那么首先来看Autowire是怎么把Bean对象注入到Spring容器中的。 前置-Autowired注入原理 前置条件:需要读者了解Autowired是如何将类注入进来的。 深入解析 Spring Framework 中 Au…

【Vue基础-实践】数据可视化大屏设计(林月明螺蛳粉文化公司单量数据大屏)

目录 一、知识整理 1、页面自适应 2、下载插件px to rem & rpx 3、关于padding与margin 4、下载echarts 5、下载axios 6、experss官网接口创建 7、创建路由 8、api接口创建 9、设置基准路径 10、跨域设置 11、图表设置 12、地图数据引用 13、设置地图效果 二、…

uniapp写一个计算器用于记账(微信小程序,APP)

提要:自己用uniapp写了一个记账小程序(目前是小程序),写到计算器部分,在网上找了别人写的计算器,大多数逻辑都是最简单的,都不能满足一个记账计算器的基本逻辑。与其在网上找来找去,…

Leetcode—187.重复的DNA序列【中等】

2023每日刷题&#xff08;二十&#xff09; Leetcode—187.重复的DNA序列 实现代码 class Solution { public:const int L 10;vector<string> findRepeatedDnaSequences(string s) {unordered_map<string, int> str;vector<string> ans;int len s.size()…

vue+vant图片压缩后上传

vuevant图片压缩后上传 vue文件写入 <template><div class"home"><van-field input-align"left"><template #input><van-uploaderv-model"fileList.file":after-read"afterRead":max-count"5":…

SpringBoot + Vue2项目打包部署到服务器后,使用Nginx配置SSL证书,配置访问HTTP协议转HTTPS协议

配置nginx.conf文件&#xff0c;这个文件一般在/etc/nginx/...中&#xff0c;由于每个人的体质不一样&#xff0c;也有可能在别的路径里&#xff0c;自己找找... # 配置工作进程的最大连接数 events {worker_connections 1024; }# 配置HTTP服务 http {# 导入mime.types配置文件…

Python--快速入门二

Python--快速入门二 1.Python数据类型 1.可以通过索引获取字符串中特定位置的字符&#xff1a; a "Hello" print(a[3]) 2.len函数获取字符串的长度&#xff1a; a "Hello" print(a) print(len(a)) 3.空值类型表示完全没有值&#xff1a; 若不确定当…

Spring Data Redis + RabbitMQ - 基于 string + hash 实现缓存,计数(高内聚)

目录 一、Spring Data Redis 1.1、缓存功能(分析) 1.2、案例实现 一、Spring Data Redis 1.1、缓存功能(分析) hash 类型存储缓存相比于 string 类型就有更多的更合适的使用场景. 例如,我有以下这样一个 UserInfo 信息 假设这样一个场景就是:万一只想获取其中某一个…

C++——定义一个 Book(图书)类

完整代码&#xff1a; /*定义一个 Book(图书)类&#xff0c;在该类定义中包括数据成员和成员函数 数据成员&#xff1a;book_name &#xff08;书名&#xff09;、price(价格)和 number(存书数量)&#xff1b; 成员函数&#xff1a;display()显示图书的 情况&#xff1b;borro…

在Node.js中,什么是中间件(middleware)?它们的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…