卷积

2023-05-16

随着机器学习的逐渐升温,卷积神经网络这个专业词汇也越来越多地出现在我们眼前。卷积神经网络是一种前馈神经网络,包括一维、二维以及三维卷积神经网络。这篇文章我们先来学习了解一下卷积的概念。

在泛函分析中,卷积是通过两个函数x  和h  生成第三个函数的一种数学算子,表征函数x  与h  经过翻转和平移的重叠部分的面积。如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是“滑动平均”的推广。

卷积的符号表示是“*”,一般我们称 (n)=  (n)∗ (n)为 (n)与 (n)的卷积。首先我们先看看卷积公式,在连续信号系统中:

                                                                                                            公式1

但在离散信号系统中,卷积的公式表示为:

                                                                                                            公式2

在这个公式中, ( )代表信号与系统中的一个输入,或者一个刺激, ( )代表一个系统对单位输入信号或刺激的响应,y ( )代表在多次  的输入下,该系统的整体响应。由于累加和运算的计算量远小于积分运算,生活中信号处理多为处理采样过的离散信号。因此,本文的介绍偏重于离散信号卷积。下面我们用两个例子来进行说明。

假如小明的boss发现小明在工作过程中偷懒,于是对他罚款N元,这就相当于上述公式中的一个输入/刺激 。该公司的奖惩系统,随着时间的推移,罚款金额会逐渐减少。例如每隔一天,罚款金额减少一元,这就是上述公式中的奖惩系统 。小明在被罚款后的第N天,罚金就自动减少到0。但如果在此期间,小明再次偷懒犯错,老板就又会对他罚款,即 再次输入。因为之前的罚金还没有扣完,所以新的罚款会在此基础上继续增加。假设小明在月初被罚款N(N>30)元,他很不服气,于是第二天继续怠工,所以老板再次对小明进行惩罚;小明依然不服气,老板继续惩罚……这样持续了一个月,那么最终在月底进行罚款结算的时候,小明的罚款总额应该这么计算:第一天剩余罚款额(N-30*1)*1+ 第二天剩余罚款额(N-29*1)*1+第三天剩余罚款额(N-28*1)*1-... +第三十天剩余罚款额(N)*1。

这就是说,某一时刻的罚金总数等于之前很多次被罚的金额逐渐衰减后累加,可以通过卷积函数公式2计算任一时刻罚金总数。

接下来我们再以另外一个例子来进行解释,朋友聚会期间,我们可能会玩骰子游戏。骰子的数字区间为1~6,假设现在我们有两个骰子,我们来求一下两枚骰子点数加起来为4的概率是多少?

如图1所示,分别为两个骰子,第一个骰子我们以 来表示,其每个数字出现的概率我们也以 ( )来表示,这里很明显就能看出  的取值范围为1~6;第二个蓝色的骰子以 系统表示,同样以 ( )的形式表示每个数字出现的概率。

         图1 骰子点数

根据题目要求,我们将其点数和为4的所有情况表示出来。

系统即第一个骰子做主,当第一个骰子扔到点数为1时,此时第二个骰子如果要满足两个点数和为4,则必须为3,如图2所示,红色的骰子点数为满足此时题目要求的组合,这种情况下表示为 (1) (3)。

图2 x (1) h (3)概率表示

当第一个骰子扔到点数为2时,此时第2个骰子只能点数为2才能满足题目要求,如图3所示,该种情况下的概率表示为 (2) (2)。

图3  x (2) h (2)概率表示

当第一个骰子扔到点数为3时,此时第2个骰子只能点数为1才能满足题目要求,如图4所示,该种情况下的概率表示为 (3) (1)。

图4   x (3) h (1)概率表示

而当第一个骰子扔到点数为4时,第二个骰子只能扔0点才能满足要求,这种情况是不存在的。所以满足题目要求两个骰子和为4的情况只有以上3种。因此两枚骰子点数和为4的概率即:

                                                                                                                  公式3

根据公式,我们假设骰子1的点数为  时的概率定为 ( ),骰子2的点数为4- 的概率为h (4- ),这样我们对于这两个骰子的所有可能的结果进行累加求和,上面的公式进行整合之后,则变为了:

                                                                                                                         公式4

这也就是文章开头提到的公式2,即离散情况下的卷积表示。在这里我们可以将两个骰子看做一个系统,其中 作为输入信号, 则是该系统的响应。在两个骰子和必须为4的情况下,该系统的卷积即为

通过上述这两个例子,我们可以看出,卷积实际上就是对于多次响应的叠加。罚金系统中,类比离散的卷积公式,小明某一天的犯错次数作为输入 ( )(其中 代表日期),犯错后应缴的罚金则为 ( ),就是这个系统里的响应。因此最后某一时刻所有的罚金总额就是将每一次的罚金进行累加;骰子的例子中,我们可以把第一个骰子的点数作为输入,在此用 表示,则 ( )代表扔到该点数的概率。由于系统规定了两个骰子的和必须为4,所以,当第一个骰子点数产生之后,第二个骰子的点数实际也已经确定。在此我们称其为第一个骰子点数的响应,其概率我们用 ( )来表示。这样,将每一种点数分布的概率进行累加,就得出了两个骰子点数和为4的总概率,这也是一个卷积计算的过程。

参考文献

https://www.cnblogs.com/P3nguin/p/7777239.html

https://blog.csdn.net/bitcarmanlee/article/details/54729807

https://blog.csdn.net/tiandijun/article/details/40080823

https://blog.csdn.net/qq_39521554/article/details/79083864

https://blog.csdn.net/Einstellung/article/details/77395279

https://blog.csdn.net/VactivX/article/details/61427203

https://www.zhihu.com/question/22298352

https://blog.csdn.net/panda1234lee/article/details/8927244

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

卷积 的相关文章

  • Jittor:Jittor三千问

    Jittor三千问 记录一下在使用Jittor时遇到的问题和对应的解决方案 xff0c 持续更新 非常感谢梁盾博士的回复 1 Jittor如何指定显卡 xff1f 在运行脚本时 xff0c 使用 CUDA VISIBLE DEVICES 6
  • 机器学习:补课目录

    补课目录 xff1a xff08 已经完成 xff09 吴恩达DeepLearning ai xff1a Deep Learning Specialization xff08 正在进行 xff09 林轩田 机器学习基石 xff08 正在进行
  • conda:离线环境安装

    Aanconda的离线环境安装的必要条件是有一台可以联网的电脑 在后文中 xff0c 分别称可以联网的电脑为On line xff0c 不可以联网的电脑为Off line 以下即为对应的操作步骤 1 On line 下载annconda安装
  • Ubuntu:pip install gdal

    方法 sudo apt get update 必须首先安装gdal的lib xff0c python只是针对该lib的调用 sudo apt install gdal bin libgdal dev pip安装的版本必须和gdal一致 pi
  • Git:使用笔记

    git局部配置 git config user name 34 username 34 git config user email 34 email 34 git带用户密码clone git clone https username pas
  • Pytorch:conda安装不同版本的cuda

    我不会是最后一个知道可以用conda安装不同版本的cuda的人吧 通常的pytorch安装流程是 xff1a 首先安装NVIDIA驱动 xff0c 然后安装对应版本的cuda和cudnn最后再安装cuda支持的pytorch版本 然而实际上
  • obsidian使用技巧

    背景 obsidian是一个非常牛逼的本地笔记工具 xff0c 极大的提高了本人的学习能力 xff0c 卷的更加厉害了 此处简要记录一下在使用过程中遇到问题和对应的解决方案 xff0c 至于具体的使用方法网上多的是就不介绍了 三方插件推荐
  • ubuntu:命令行查询文件(夹)大小

    背景 使用命令行查询文件文件 夹 大小 参考 https www cnblogs com zhengyiqun1992 p 11183819 html 使用方法 查看当前文件夹下文件大小 ll h 输出如下 xff0c 其中文件夹大小是错误
  • VSCode:remote-ssh多级跳转

    背景 vscode目前是非常流行的编程工具 xff0c 提供了大量的插件 xff0c 尤其是其中的remote ssh xff0c 能够提供远程ssh连接服务器 xff0c 居家办公两不误 然而比较麻烦的事情是 xff0c 通常服务器为了保
  • Jittor:Jittor1.3.1之离线安装

    背景 Jittor是一个非常牛逼的框架 xff0c 维护了大量的官方demo xff0c 非常容易上手 与其他方法相比 xff0c 采用了即时编译的流程 xff0c 因此在效率上往往更高 但是在使用Jittor的过程中 xff0c 也遇到了
  • 灵活的按键处理程序 FlexibleButton,C程序编写,无缝兼容任意的处理器,支持任意 OS 和 non-OS

    灵活的按键处理程序 FlexibleButton 前言概述获取测试DEMO 程序说明程序入口用户初始化代码事件处理代码 FlexibleButton 代码说明按键事件定义按键注册接口按键事件读取接口按键扫描接口 问题和建议 前言 正好工作中
  • http请求头header、请求体body、请求行介绍

    HttpServletRequest对象代表客户端的请求 当客户端通过http协议请求访问 服务器的时候 http请求头的所有信息都封装在这个对象中 xff0c 通过这个对象 xff0c 可以获取客户端请求的所有信息 http请求包含请求行
  • 理解字节序 大端字节序和小端字节序

    以下内容参考了 http www ruanyifeng com blog 2016 11 byte order html https blog csdn net yishengzhiai005 article details 3967252
  • opencvSharp 学习笔记(二)

    参考文章 xff1a https github com shimat opencvsharp samples tree master SamplesCS Samples 参考opencvsharp的官方sample xff0c 在vs201
  • C++局部对象的析构

    class A span class hljs keyword public span A Func span class hljs attribute span span class hljs attribute span A A spa
  • BIND中基数树的建立

    BIND9新引入了视图的概念 xff0c 简单的来讲就是能根据不同的来源IP来返回不同的数据 其中网段的存储 xff0c 网段的快速匹配都是用基数树来实现的 下面是BIND创建基数树的代码 BIND的IP地址结构 span class hl
  • HTTP协议解析及C/C++代码实现

    超文本传输协议 HTTP 是分布式 协作 超媒体信息系统的应用层协议 这是自 1990 年以来万维网数据通信的基础 HTTP 是一种通用且无状态的协议 xff0c 它可以用于其他目的 xff0c 也可以使用其请求方法 错误代码和标头的扩展
  • C语言发邮件(带账号密码认证),简单的libesmtp实例

    需要安装libesmtp开发环境 xff0c centos下可以用yum安装 yum install libesmtp devel 编译时加上 lesmtp选项 xff0c 账号密码等替换成自己的 gcc o mail mail c les
  • 怎样在Markdown中贴图片

    前言 Markdown真的是一个很优秀的文本标记语言 语法也很简单 熟悉之后基本上可以完全抛弃Word了 用来写文档 一些博客 再好不过了 可是Markdown还是有一个痛点 那就是不大好贴图片 贴图 怎么样在markdown中贴图就不多说
  • 【四】【vlc-android】播放控制交互与demux解复用层、媒体数据流拉取层的具体数据传递和控制流程源码分析

    1 VLC中有很多demux mux encoder decoder模块 xff0c 因此需要先了解这些模块的加载原理 xff0c 模块的加载原理基本一致 xff0c 因此举例分析MP4解复用模块如何加载完成的 xff0c 主要流程如下 x

随机推荐

  • vs2013 设置不显示输出窗口

    工具 选项 项目与解决方案 常规 取消 在生成开始时显示输出窗口 的勾选
  • @Param注解的用法解析

    实例一 64 Param注解单一属性 dao层示例 Public User selectUser 64 param userName String name 64 param userpassword String password xml
  • mybatis choose标签的使用

    有时候我们并不想应用所有的条件 xff0c 而只是想从多个选项中选择一个 而使用if标签时 xff0c 只要test中的表达式为 true xff0c 就会执行 if 标签中的条件 MyBatis 提供了 choose 元素 if标签是与
  • Socket长连接实现思路

    长连接的正确实现方式 1 不关闭流实现长连接 xff1f 流关闭了而不关闭Socket xff0c 还是无法达到长连接的效果的 xff0c 所以 xff0c 要长连接 xff0c 流必须不能关闭 xff01 那么 xff0c 是不是直接不关
  • com.jacob.com.ComFailException: VariantChangeType failed

    调用jacob组件出错 com jacob com ComFailException VariantChangeType failed 在C Windows System32 config systemprofile下创建文件夹Deskto
  • CRC8校验 java实现

    以下为CRC8的实现 span class hljs keyword package span server span class hljs javadoc CRC8相关计算 encode utf 8 span class hljs jav
  • Java list add方法和addAll方法效率

    结论是 在数据量较小时 add方法配合for循环遍历比addAll来得快 但是在大量数据时 addAll的方法的效率更高 list addAll 是浅拷贝 只是将内存中的地址进行了拷贝 指向了原先list的末尾做了拼接
  • STM32——USART1重映射

    前言 为了使不同器件封装的外设 IO 功能数量达到最优 xff0c 可以把一些复用功能重新映射到其他一些引脚上 STM32 中有很多内置外设的输入输出引脚都具有重映射 remap 的功能 我们知道每个内置外设都有若干个输入输出引脚 xff0
  • Pg数据库比较时间大小

    postgresql 比较两个时间差大于 N个小时 摘要 PG 中时间想减后为interval xff0c 比较两个时间大于某个小时或者分钟等可以直接通过interval来实现 example1 xff1a 判断两个时间差大于4个小时 se
  • import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; import java.util.Stac

    span class hljs keyword import span java util LinkedList span class hljs keyword import span java util Queue span class
  • 21-《电子入门趣谈》第四章_自己制作电路板-4.2洞洞板的介绍和经典案例使用教程

    好消息 xff1a 请在手机淘宝或闲鱼上搜索 电子入门趣谈 xff0c 有惊喜哦 我把全本电子入门趣谈的电子版 xff08 包括科技提升和理论升华部分 xff0c 共计50余万字 xff09 放到上面开始兜售啦 xff0c 如果您真的喜欢这
  • vlc-添加自定义的demuxer解复用插件----播放h264裸文件

    使用vlc3 0 6 在ubuntu 64bit上编译 xff0c vlc使用插件的方式组织对多种视频源的支持 xff0c 比如 avi mp4 mkv 等等 xff0c 这里想添加一个自己的demuxer xff0c 从一个h 264文件
  • 进程管理(五)--linux进程内核栈

    在进程创建时 xff0c 内核会为进程创建一系列数据结构 xff0c 其中最重要的就是上章学习的task struct结构 xff0c 它就是进程描述符 xff0c 表明进程在生命周期内的所有特征 同时 xff0c 内核为进程创建两个栈 x
  • [802.11]IEEE 802.11认证方式介绍

    一 802 11认证方式 802 11有开放系统认证 xff08 open system authentication xff09 和共享密钥认证 xff08 shared keyauthentication xff09 两种方式 1 1
  • 对‘std::xxx’未定义的引用

    出现一大串 对 std xxx 未定义的引用 的原因 xff1a 对于gcc后缀文件 xff0c 编译的时候可以用gcc g 43 43 xff0c 但是链接的时候要用g 43 43 xff0c 因为gcc和g 43 43 在编译的时候是相
  • 快速傅里叶变换

    FFT xff0c 即为快速傅氏变换 xff0c 是离散傅氏变换的快速算法 xff0c 它是根据离散傅氏变换的奇 偶 虚 实等特性 xff0c 对离散傅立叶变换的算法进行改进获得的 它对傅氏变换的理论并没有新的发现 xff0c 但是对于在计
  • C++项目开发中的一些问题及解决记录

    1 std vector类使用 xff1a https blog csdn net weixin 41743247 article details 90635931 2 vector求和 xff1a include lt numeric g
  • win32和android 的cocos2dx环境搭建详细教程

    转载 请注明出处 xff1a http blog csdn net aa4790139 article details 8086635 详细搭建步骤如下 xff1a 1 Android 开发环境搭建 Android开发环境搭建不是重点 相信
  • 快速傅里叶变换在信号处理中的应用

    傅里叶变换FT xff08 Fourier Transform xff09 是一种将信号从时域变换到频域的变换形式 它在声学 信号处理等领域有广泛的应用 计算机处理信号的要求是 xff1a 在时域和频域都应该是离散的 xff0c 而且都应该
  • 卷积

    随着机器学习的逐渐升温 xff0c 卷积神经网络这个专业词汇也越来越多地出现在我们眼前 卷积神经网络是一种前馈神经网络 xff0c 包括一维 二维以及三维卷积神经网络 这篇文章我们先来学习了解一下卷积的概念 在泛函分析中 xff0c 卷积是