机器学习中的关键组件

news2024/11/28 21:39:25

机器学习中的关键组件

数据

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

目标函数

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

优化算法

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

机器学习分类及其问题

监督学习

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

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

监督学习的学习过程

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

监督学习的模型

回归

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

分类

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

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

交叉熵

分类问题的常见损失函数

层次分类

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

标注问题

多标签分类

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

搜索

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

推荐系统

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

序列学习

标记和解析

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

自动语音识别

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

文本到语音

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

机器翻译

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

无监督学习

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

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

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

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

与环境互动

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

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

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

强化学习

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

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

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

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

神经网络的起源

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

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

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

深度学习的发展

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

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

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

相关文章

平面扫描(Plane-sweeping)深度体会

先看文章 三维重建之平面扫描算法(Plane-sweeping)_plane sweeping_小玄玄的博客-CSDN博客 Plane Sweeping | 平面扫描 - 知乎 (zhihu.com) 注意平面Dm,这是其中一个平面,平面上有一个M点,这个点也再物体上。所以会被摄像机看到…

Idea去掉显示的测试覆盖率

一.启东时 误点击了 快捷键调出 【Ctrl 】【Alt】【F6】

优雅的 Dockerfile 是怎样炼成的?

Docker 简介 目前,Docker 主要有两个形态:Docker Desktop 和 Docker Engine。 Docker Desktop 是专门针对个人使用而设计的,支持 Mac(已支持arm架构的M系芯片) 和 Windows 快速安装,具有直观的图形界面&a…

数据结构—字符串

文章目录 7.字符串(1).字符串及其ADT#1.基本概念#2.ADT (2).字符串的基本操作#1.求子串substr#2.插入字符串insert#3.其他操作 (3).字符串的模式匹配#1.简单匹配(Brute-Force方法)#2.KMP算法I.kmp_match()II.getNext() #3.还有更多 小结附录:我自己写的string 7.字符…

手搭手Ajax实现搜索地址自动补全功能

输入单词后,自动提示出要搜索的信息,点击某个内容后,自动补全至搜索框。 比如: 如何实现搜索自动补全功能 键盘事件:keyup按键弹起事件发送ajax请求,请求中提交用户输入的搜索内容,后端接收内容后&#x…

23种设计模式-Java语言实现

因为要准备一个考试所以又重新接触到了设计模式,之前只是别人说什么就是什么,记下就好了,完全不理解其中的思想以及为什么要用(虽然现在也不太理解…) 先慢慢总结吧,常读常新。 23种设计模式 “每一个模式描述了一个在我们周围不…

C++进阶篇4---set和map

一、关联式容器 在初阶篇中,我们已经接触过STL中的部分容器,比如:vector、list、deque等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。 那什么是关联式容器&#xff1…

【unity实战】Unity实现2D人物双击疾跑

最终效果 前言 我们要实现的功能是双击疾跑,当玩家快速地按下同一个移动键两次时能进入跑步状态 我假设快速按下的定义为0.2秒内,按下同一按键两次 简单的分析一下需求,实现它的关键在于获得按键按下的时间,我们需要知道第一次…

eBPF BCC开源工具简介

目录 官方链接 编译安装 ubuntu版本 安装 examples tools hello_world.py demo 运行报错 网上目前的解决办法 错误分析过程 python版本检测 libbcc库检查 python3 bcc库检查 正常输出 监控进程切换 运行输出 监控CPU直方图 缓存命中率监控:caches…

英语——分享篇——每日200词——201-400

201——feel——[fi:l]——vt.摸,感觉,认为;n.感觉,触摸——feel——f斧头(编码)ee眼睛(象形)l棍子(编码)——斧头用眼看,棍子用手摸——The metal felt smooth and cold.——这种金属摸起来冰冷而光滑。 202——cleve…

SpringBoot项目打包与运行

1.clean生命周期 说明:为了项目能够正确打包,先清理打包文件。 2.package生命周期 说明:打包后生成以下目录。 2.1问题 说明:springboot_08_ssmp-0.0.1-SNAPSHOT.jar中没有主清单属性。 2.2解决 说明:注释skip&…

[LeetCode]-160. 相交链表-141. 环形链表-142.环形链表II-138.随机链表的复制

目录 160.相交链表 题目 思路 代码 141.环形链表 题目 思路 代码 142.环形链表II 题目 思路 代码 160.相交链表 160. 相交链表 - 力扣(LeetCode)https://leetcode.cn/problems/intersection-of-two-linked-lists/description/ 题目 给你两个…

Node问题:如何正确安装nvm?Mac和Win双教程!

前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约1700字,整篇阅读大约需要3分钟。 本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。 …

为什么有了MAC地址,还需要IP地址?

解释 搞懂这个问题,首先需要了解交换机的功能 交换机内部有一张MAC地址映射表,记录着MAC地址和端口的对应关系。 如果A要给B发送一个数据包,构造如下格式的数据结构: 到达交换机时,交换机内部通过自己维护的 MAC 地…

ConcurrentHashMap是如何实现线程安全的

目录 原理: 初始化数据结构时的线程安全 put 操作时的线程安全 原理: 多段锁cassynchronize 初始化数据结构时的线程安全 在 JDK 1.8 中,初始化 ConcurrentHashMap 的时候这个 Node[] 数组是还未初始化的,会等到第一次 put() 方…

常见面试题-MySQL专栏(三)MVCC、BufferPool

typora-copy-images-to: imgs 了解 MVCC 吗? 答: MVCC(Multi-Version Concurrency Control) 是用来保证 MySQL 的事务隔离性的,对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性,避免了频…

【Mybatis小白从0到90%精讲】07:Mybatis 传递参数方式详解

文章目录 前言一、序号传参二、@Param注解传参三、对象传参单个参数多个参数四、万能Map传参单个参数多个参数总结前言 Mybatis传递参数的方式,或者说 获取参数的方式,非常灵活,支持多种方式,所以为了彻底搞懂,今天我们来总结一下Mybatis传参方式! 一、序号传参 Mapper接…

老电脑升级内存、固态硬盘、重新装机过程记录

基础环境: 电脑型号:联想XiaoXin700-15ISK系统版本:Windows10 家庭中文版 版本22H2内存:硬盘: 升级想法: 内存升级,固态硬盘升级,系统重装(干净一点) 升级内存…

c++类和对象(八) static成员 友元

1.1 概念 声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态成员变量一定要在类外进行初始化。 面试题:实现一个类,计算…

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()…