机器学习小补充(加深理解)

1. 分类交叉熵损失(Categorical Crossentropy)

定义:当标签以独热编码形式表示时使用。

原理:在多分类问题中,分类交叉熵损失用于计算模型预测的概率分布与实际分布之间的差异。模型输出的预测概率通常是一个向量,其元素表示每个类别的预测概率。

公式

假设有 N N N 个样本,每个样本的类别数为 C C C。模型输出的概率分布为 p p p,实际标签为独热编码向量 y y y。分类交叉熵损失的公式如下:

Loss = − 1 N ∑ i = 1 N ∑ c = 1 C y i c log ⁡ ( p i c ) \text{Loss} = -\frac{1}{N} \sum_{i=1}^{N} \sum_{c=1}^{C} y_{ic} \log(p_{ic}) Loss=N1i=1Nc=1Cyiclog(pic)

其中:

  • y i c y_{ic} yic 是样本 i i i 的实际标签(独热编码),如果样本属于类别 c c c,则 y i c = 1 y_{ic}=1 yic=1;否则 y i c = 0 y_{ic}=0 yic=0
  • p i c p_{ic} pic 是模型预测样本 i i i 属于类别 c c c 的概率。

2. 稀疏分类交叉熵损失(Sparse Categorical Crossentropy)

定义:当标签以整数形式表示时使用。

原理:稀疏分类交叉熵损失与分类交叉熵损失的概念相似,不同之处在于它的标签是以整数形式表示的,而不是独热编码。这种表示形式可以更方便地用于多分类问题。

公式

假设有 N N N 个样本,模型输出的概率分布为 p p p,实际标签用整数 y y y 表示。稀疏分类交叉熵损失的公式如下:

$
\text{Loss} = -\frac{1}{N} \sum_{i=1}^{N} \log(p_{i, y_i})
$

其中:

  • y i y_i yi 是样本 i i i 的实际标签(整数形式),表示样本 i i i 的类别。
  • p i , y i p_{i, y_i} pi,yi 是模型预测样本 i i i 属于真实类别的概率。

1. 准确率(Accuracy)

Accuracy = 正确分类的样本数量 总样本数量 \text{Accuracy} = \frac{\text{正确分类的样本数量}}{\text{总样本数量}} Accuracy=总样本数量正确分类的样本数量

  • 优点:简单易懂,适合于类别分布相对均衡的场景。
  • 缺点:在类别不平衡的情况下,准确率可能会误导。例如,如果95%的样本是某一类,仅凭准确率,模型可以只预测该类就能达到95%的准确率,但实际上并没有学习到有效的信息。

2. 混淆矩阵(Confusion Matrix)

混淆矩阵是一个非常有用的工具来可视化模型的性能。它展示了实际标签与模型预测标签之间的关系。一个二分类问题的混淆矩阵通常如下所示:

Predicted PositivePredicted Negative
Actual PositiveTrue Positive (TP)False Negative (FN)
Actual NegativeFalse Positive (FP)True Negative (TN)
  • True Positive (TP):正确预测为正样本的数量
  • False Positive (FP):错误预测为正样本的数量(实际为负样本)
  • True Negative (TN):正确预测为负样本的数量
  • False Negative (FN):错误预测为负样本的数量(实际为正样本)

3. 精确率(Precision)、召回率(Recall)与 F1 分数

这些指标特别适用于类别不平衡的情况,以下是它们的定义:

  • 精确率(Precision)

    定义:精确率是指在所有模型预测为正样本的结果中,实际上是真正正样本的比例。这一指标主要关注模型的假正率(False Positive, FP),即将负样本预测为正样本的错误数量。

    衡量模型预测为正的样本中有多少是真正的正样本,公式为:

    Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP

  • 召回率(Recall)

    定义:召回率是指在所有实际为正的样本中,模型正确预测为正的比例。召回率主要关注模型的假负率(False Negative, FN),即将正样本预测为负样本的错误数量。

    衡量实际正样本中有多少被模型正确预测为正,公式为:

    Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP

  • F1 分数:精确率和召回率的调和平均数,旨在找到两者之间的平衡,公式如下:

    F 1 = 2 × Precision × Recall Precision + Recall F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1=2×Precision+RecallPrecision×Recall

作用:

1. 卷积层(Convolutional Layer)

  • 原理:卷积层通过滑动窗口(也称为卷积核或过滤器)在输入图像上进行操作,计算局部区域的加权和。这使得网络能够提取图像中的特征,如边缘、纹理和形状。
  • 作用:通过卷积操作,卷积层能够有效地捕捉空间特征,从而减少参数数量,并且相比全连接层更能利用图像的空间结构。

2. 池化层(Pooling Layer)

  • 原理:池化层通常位于卷积层后面,其通过选择局部区域内的最值或均值来减少特征图的空间维度。最大池化选择一个窗口中的最大值,而平均池化则计算平均值。
  • 作用:降低特征图的维度,减少计算量,增加模型的计算速度,并在某种程度上防止过拟合,通过提炼出关键特征,增强模型的鲁棒性。

3. 全连接层(Dense Layer)

  • 原理:每个神经元与上一层的每个神经元相连接,计算所有输入的加权和并通过激活函数(如 ReLU)进行非线性变换。
  • 作用:全连接层往往是网络的最后一层,负责将所有提取的特征映射到最终的分类标签或回归输出,适用于较小的输入特征集。

4. 批归一化层(Batch Normalization Layer)

  • 原理:对每一批输入进行归一化,使得每个特征的均值接近于 0,方差接近于 1。这是通过计算当前批次的均值和标准差来实现的。
  • 作用:加速训练,稳定模型,提高收敛速度,降低对初始化和学习率的敏感性,通常用在激活函数之前。

5. Dropout层

  • 原理:在每个训练批次中,随机选择一定比例的神经元将其输出设置为零,这样有效地减少了模型的复杂度。
  • 作用:防止模型在训练数据上过拟合,增加模型的泛化能力。

6. 循环层(Recurrent Layer)

  • 原理:通过内部状态(记忆)和序列数据的输入进行连接,允许前一时刻的信息影响当前时刻的输出。LSTM 通过门机制来控制信息流,而 GRU 是 LSTM 的一个简化版本。
  • 作用:处理序列数据,比如时间序列分析和自然语言处理,能够记住长期依赖的信息。

7. 自注意力层(Attention Layer)

  • 原理:计算输入序列中每个元素对其他元素的重要性权重,然后为每个元素生成加权求和的输出。注意力机制帮助模型选择性地关注输入中的重要部分。
  • 作用:在处理序列数据时增强模型的注意力,特别是在自然语言处理和图像任务中提升性能。

8. 嵌入层(Embedding Layer)

  • 原理:将离散的输入(如词汇中的单词)映射到连续的向量空间中,使得相似的输入在向量空间中也相近。嵌入层通常会学习这些向量。
  • 作用:提高文本或离散空间数据的表示能力,将离散数据转化为能够参与深度学习模型的稠密特征向量。

9. 转置卷积层(Transposed Convolution Layer)

  • 原理:通过逆向的卷积操作(也被称为反卷积),在特征图上进行上采样,将低维空间的特征映射到更高维空间。通过在输入中插入零并应用卷积来实现。
  • 作用:用于生成更大输出的特征图,广泛应用于图像生成任务,如生成对抗网络(GAN)中。

10. 残差块(Residual Block)

  • 原理:通过添加跳跃连接,将输入直接加到输出中,让模型更容易学习到恒等映射。这样在训练深层网络时,可以有效缓解梯度消失问题。
  • 作用:在构建深层网络时提高了训练的有效性,减少了复杂度,使得网络可以更高效地学习,能够构建更深的网络而不会遇到性能下降的问题。

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

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

相关文章

MPTCP协议

介绍 多路径TCP或 MPTCP协议是标准的扩展传输控制协议并在中进行了描述 RFC 8684号文件它允许设备同时使用多个接口通过单个MPTCP连接发送和接收TCP数据包。MPTCP可以聚合多个接口的带宽,也可以选择延迟最低的接口。它还允许在一条路径断开时进行故障切换&#xff…

1. 初始认识 Spring Cloud

1. 初始认识 Spring Cloud 文章目录 1. 初始认识 Spring Cloud前言2. Spring Cloud 基本介绍3. 系统架构的演变过程3.1 单机架构3.2 动静分离架构:静态缓存 文件存储3.3 分布式架构:业务拆分 负载均衡3.4 微服务架构:使用 Spring Cloud 4. …

网络学习第四篇

引言: 我们在第三篇的时候出现了错误,我们要就行排错,那么我们要知道一下怎么配置静态路由实现ping通,这样子我们才知道下一跳到底是什么,为什么这样子做。 实验目的 理解和掌握静态路由的基本概念和配置方法。 实…

【rf】robotframework自动化测试环境搭建

robotframework自动化测试环境搭建 前言: 1、在2019年之前,robotframework-ride的版本一直是1.5.2.1,是2016年1月份的版本,只能安装在python2.7的环境上,导致如果想同时使用robotframework做测试且又需要python3环境…

opencv入门学习总结

opencv学习总结 不多bb,直接上代码!!! 案例一: import cv2 # 返回当前安装的 OpenCV 库的版本信息 并且是字符串格式 print(cv2.getVersionString()) """ 作用:它可以读取不同格式的图像文…

《DiffusionDet: Diffusion Model for Object Detection》ICCV2023

摘要 本文提出了一种新的框架DiffusionDet,它将目标检测任务表述为从带噪声的边界框到目标边界框的去噪扩散过程(如图一所示)。在训练阶段,目标边界框逐渐扩散到随机分布,模型学习逆转这一加噪过程。在推理阶段&#…

加深深度学习矩阵计算理解--用人类直觉 走进线性代数(非应试)

文章目录 前言一、向量二、线性组合、空间与基三、矩阵和线性变换四、矩阵乘法与线性变化复合1、矩阵乘法代表线性变换的复合2、实例说明 五、三维空间的线性变换1、基本性质2、直觉理解3、矩阵表示 六、行列式一、行列式的定义2、行列式在空间中的抽象理解 七、逆矩阵 列空间秩…

AIGC学习笔记(5)——AI大模型开发工程师

文章目录 AI大模型开发工程师004 垂直领域的智能在线搜索平台1 智能在线搜索平台需求分析大模型不够“聪明”增强大模型的方式需求分析2 智能在线搜索平台方案设计方案设计技术选型大模型版本GLM-4大模型注册使用Google Cloud平台注册创建可编程的搜索引擎3 智能在线搜索平台代…

【C++滑动窗口】1234. 替换子串得到平衡字符串|1877

本文涉及的基础知识点 C算法:滑动窗口及双指针总结 LeetCode1234. 替换子串得到平衡字符串 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符,且长度为 n 的字符串。 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就…

源码分享-Springboot+Vue大学生社团活动平台附源码,sql文件,配套论文

源码获取: 复制链接到浏览器打开即可领取 夸克网盘领取链接:https://pan.quark.cn/s/187d2ca0e3ec 百度网盘领取链接:https://pan.baidu.com/s/1apbO6k1cEqFXV-USf0I2IA?pwdccaj 提取码: ccaj 1.1课题背景及意义 随着现代网络技术发展&#xff0…

南山前海13元一份的猪脚饭

​今天没有带饭,中午打算去中国国有资本资本风投大厦的工地餐点吃个打工餐。 ​快到工地餐点就看到不少工友已经开始津津有味吃饭了哈。其实树下也有很多小鸟在觅食,可能是找一些剩饭吃的样子,大部分是麻雀为主。​ ​肚子有些饿,…

C++builder中的人工智能(29):如何在Windows项目中导入FANN库

这篇文章旨在使用由Steffen Nissen开发的FANN库实现人工神经网络。FANN库支持20多种编程语言,包括Delphi和C Builder。您可以在FANN的官方网站上找到完整信息和文档,并下载FANN的源文件。 步骤: 下载FANN库: 从Nissen的官方网站下…

Java开发人员学习ArkTs笔记(二)-函数与类

大家好,我是一名热爱Java开发的开发人员。目前,我正在学习ARKTS(Advanced Java Knowledge and Technology Stack),并将不断输出我的学习笔记。我将在这里分享我学习ARKTS的过程和心得,希望能够为其他开发人…

maven环境搭建

maven基本知识 https://blog.csdn.net/qq_41187116/article/details/125955085?spm1001.2014.3001.5502 maven环境搭建 maven软件下载 不要去官网下,慢~ 直接相信清华大学吧: https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.9/bin…

jmeter常用配置元件介绍总结之线程组

系列文章目录 安装jmeter jmeter常用配置元件介绍总结之线程组 1.线程组(用户)1.1线程组1.1.setUp线程组和tearDown线程组1.2.Open Model Thread Group(开放模型线程组)1.3.bzm - Arrivals Thread Group(到达线程组)1.4.jpgc - Ultimate Thread Group(终极线程组)1.5.jpgc - St…

八 Bean的生命周期

八、Bean的生命周期 8.1 什么是Bean的生命周期 Spring其实就是一个管理Bean对象的工厂。它负责对象的创建,对象的销毁等。 所谓的生命周期就是:对象从创建开始到最终销毁的整个过程。 什么时候创建Bean对象? 创建Bean对象的前后会调用什…

【入门篇】桃园结义【算法赛】——多语言版

题目跳转 python import os import sys# 请在此输入您的代码 print(3)C #include <stdio.h> #include <stdlib.h>int main(int argc, char *argv[]) {printf("%d",3);return 0; }C #include <iostream> using namespace std; int main() {// …

速看!!!24下软考系统分析师综合知识真题回忆,考点已更新

2024下半年软考考试已经结束了&#xff0c;为大家整理了网友回忆版的系统分析师真题及答案&#xff0c;总共30道题左右。 下半年考试的宝子们可以对答案预估分数&#xff01;准备明年考的宝子可以提前把握考试知识点和出题方向&#xff0c;说不定会遇到相同考点的题目&#xff…

HarmonyOS NEXT:模块化项目 ——修改应用图标+启动页等

涉及官方文档 应用配置文件应用/组件级配置图标资源规范 涉及到app.json5配置文件和module.json5配置文件 1、 icon和label的校验。 IDE从5.0.3.800版本开始&#xff0c;不再对module.json5中的icon和label做强制校验&#xff0c;因此module.json5与app.json5只需要选择其一…

dolphinscheduler

dolphinscheduler 官网地址&#xff1a; https://dolphinscheduler.apache.org/zh-cn/docs/3.2.1/about/hardware 1. 概念&#xff1a;dolphinscheduler是一个功能强大的开源调度系统&#xff0c;专为管理和调度大规模数据处理任务设计。 2. 特点&#xff1a; 分布式架构、支持…