神经网络复习--数学相关基础知识

文章目录

  • 矩阵
  • 范数
  • 卷积
  • 激活函数
  • 信息熵

矩阵

  • 标量:一个标量就是一个单独的数
  • 向量:一个向量是一列数。这些数是有序排列的。通过次序中的索引,我们可以确定每个单独的数
  • 矩阵:矩阵是一个二维数组,其中的每个元素被两个索引所确定
  • 张量:一般地,一个数组中的元素分布在若干维的规则网格中,我们称之为张量。一般在卷积神经网络中应用

矩阵运算的性质:

  1. 服从分配率
  2. 服从结合律,不服从交换率
  3. 向量的点积服从交换率 x T y = y T x x^Ty = y^Tx xTy=yTx
  4. 矩阵转置的性质 ( A + B ) T = A T + B T , ( A B ) T = B T A T (A + B)^T = A^T + B^T, (AB)^T = B^T A^T (A+B)T=AT+BT,(AB)T=BTAT

范数

∣ ∣ x ∣ ∣ p = ( ∑ i ∣ x i ∣ p ) 1 p ||x||_p = (\sum_i{|x_i|^p})^{\frac{1}{p}} ∣∣xp=(ixip)p1
范数( L p L^p Lp)是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从原点到点x的距离。
范数满足的性质:

  • f ( x ) = 0 ⇒ x = 0 f(x) = 0 \Rightarrow x = 0 f(x)=0x=0
  • f ( x + y ) ≤ f ( x ) + f ( y ) ( 三角不等式 ) f(x + y) \leq f(x) + f(y) (三角不等式) f(x+y)f(x)+f(y)(三角不等式)
  • ∀ α ∈ R , f ( α x ) = ∣ α ∣ f ( x ) \forall \alpha \in R, f(\alpha x) = |\alpha| f(x) αR,f(αx)=αf(x)

二范数
通常情况下,不进行开平方操作,这样可能产生误差,且较为麻烦
计算一个向量的平方范数用简单的方式就是通过点积的方式 x T x x^Tx xTx

一范数
通常情况下靠近原点时,平方范数的变化趋势不大,难以区分,而区分是零的元素和非零但值很小的元素是很重要的。在这些情况下,我们转而使用在各个位置斜率相同,同时保持简单的数学形式的范数 L 1 L^1 L1范数 ∣ ∣ x ∣ ∣ 1 = ∑ i ∣ x i ∣ ||x||_1 = \sum_i |x_i| ∣∣x1=ixi

最大范数
L ∞ L^{\infty} L,这个范数表示向量中具有最大幅值的元素的绝对值 ∣ ∣ x ∣ ∣ ∞ = max ⁡ i ∣ x i ∣ ||x||_{\infty} = \max \limits_{i}|x^i| ∣∣x=imaxxi

零范数
L 0 L^0 L0, 表示向量中非零元素的个数

例:
在这里插入图片描述

卷积

卷积的含义为:系统在 t t t 时刻的输出,不仅与系统在 t t t 时刻的输入有关,还与它在 t t t 时刻之前的输入有关,并且不同时刻的输入,有不同的权重。所以,卷积本质上做的事情是:不同时刻的输入的权重求和。权重是一个关于时间 t t t 的连续函数。

所谓两个函数的卷积,本质上就是现将一个函数翻转,然后进行滑动叠加
( f ∗ g ) ( n ) = ∫ − ∞ ∞ f ( t ) ∗ g ( n − t ) d t (f*g)(n) = \int_{-\infty}^{\infty} f(t) * g(n -t)dt (fg)(n)=f(t)g(nt)dt
( f ∗ g ) ( n ) = ∑ − ∞ ∞ f ( t ) ∗ g ( n − t ) d t (f*g)(n) = \sum_{-\infty}^{\infty} f(t) * g(n -t)dt (fg)(n)=f(t)g(nt)dt
先对g函数进行左右翻转,这就是卷积的由来,然后再把g函数向右平移n,在这个位置两个函数相乘,然后相加,这个过程就是卷积的过程

s ( t ) = ∫ x ( a ) w ( t − a ) d a s(t) = \int x(a) w(t - a) da s(t)=x(a)w(ta)da
这种运算就叫做卷积。卷积运算通常用星号表示: s ( t ) = ( x ∗ w ) ( t ) s(t) = (x * w) (t) s(t)=(xw)(t)

在卷积网络的术语中,卷积的第一个参数(x)通常叫做输入(input),第二个参数(w)叫做核函数(kernel),输出有时被称作特征映射(feature map)

图像中的卷积
将卷积概念映射到2D图像上:对于2D图像来说,某个位置的输出,不仅与该位置的输入有关,还与此位置周边位置的输入有关,不同位置的输入,具有不同的权重(权重值不宜过大)。由于位置坐标是固定的有限个值,所以权重是一个关于位置的离散函数。
s ( t ) = ( x ∗ w ) ( t ) = ∑ a = − ∞ ∞ x ( a ) w ( t − a ) s(t) = (x*w)(t) = \sum^{\infty}_{a = -\infty} x(a) w(t - a) s(t)=(xw)(t)=a=x(a)w(ta)

因为位置输入是二元输入:
图像中的卷积:
S ( i , j ) = ( I ∗ K ) ( i , j ) = ∑ m ∑ n I ( m , n ) K ( i − m , j − n ) S(i, j) = (I * K ) (i, j) = \sum_m \sum_n I(m, n) K(i - m, j - n) S(i,j)=(IK)(i,j)=mnI(m,n)K(im,jn)
神经网络是互相关的,因此不进行核函数的翻转
S ( i , j ) = ( I ∗ K ) ( i , j ) = ∑ m ∑ n I ( i + m , j + n ) K ( m , j ) S(i, j) = (I * K)(i, j) = \sum_m \sum_n I(i + m, j + n) K (m, j) S(i,j)=(IK)(i,j)=mnI(i+m,j+n)K(m,j)

激活函数

激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线

  • sigmoid函数
    也称逻辑激活函数,最常用于二分类问题。它有梯度消失问题。在一定epoch数目之后,网络拒绝学习,或非常缓慢学习,因为输入导致输出的变化很小。
    在这里插入图片描述
    在这里插入图片描述

  • tanh函数
    双曲正切函数在这里插入图片描述 导数: T a n h ′ ( x ) = 1 − T a n h 2 ( x ) Tanh'(x) = 1 - Tanh^2(x) Tanh(x)=1Tanh2(x)在这里插入图片描述

  • ReLU函数

在这里插入图片描述

在这里插入图片描述

  • Softmax函数
    σ ( x ) j = e x j ∑ k = 1 K e x k , j = 1 , . . . K \sigma(x)_j = \frac{e^{x_j}}{\sum \limits_{k = 1}^{K} e^{x_k}}, j = 1,...K σ(x)j=k=1Kexkexj,j=1,...K
    该函数的输出等价于类概率分布,输出的和为1。类似于Sigmoid函数,把输出压缩在0和1之间, 所有的概率和为1

信息熵

将热力学中的熵引入信息论,假设有两个不相关的事件X和Y,观察两个事件同时发生时获得的信息量应该等于观察到两个事件各自发生时获得的信息之和: I ( x , y ) = I ( x ) + I ( y ) I(x, y) = I(x) + I(y) I(x,y)=I(x)+I(y)
由于两个事件是独立不相关的,因此P(x, y) = P(x)P(y),定义事件的自信息量为 I ( x i ) = − l o g p ( x i ) I(x_i) = - log p(x_i) I(xi)=logp(xi)
进一步,对于事件X有n中可能性,每一种可能性都有一个概率p(x_i), 因此就可以计算出每一种可能性的信息量。而熵就是用来表示所有信息量的期望,即:
H ( X ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) H(X) = -\sum^n_{i = 1}p(x_i) \log{p(x_i)} H(X)=i=1np(xi)logp(xi)

因此 H ( x ) H(x) H(x)就被成为随机变量X的熵,它是表示随机变量不确定性的度量,是对所有可能发生的事件产生的信息量的期望

当随机变量的取值个数越多,状态数就越多,信息熵就越大,混乱程度就越大。当随机分布为均匀分布时,熵最大。
熵越少确定性就越强,所以对于我们判断来说,我们希望熵越小越好

将一维随机变量分布推广到多维随机变量分布,则其联合熵(Joint entropy)为
H ( X , Y ) = − ∑ i = 1 n ∑ j = 1 m p ( x i , y j ) log ⁡ p ( x i , y j ) H(X, Y) = - \sum_{i = 1}^{n} \sum_{j = 1}^m {p(x_i, y_j) \log{p(x_i, y_j)}} H(X,Y)=i=1nj=1mp(xi,yj)logp(xi,yj)

条件熵 H ( Y ∣ X ) H(Y | X) H(YX) 表示在已知随机变量X的条件下随机变量Y的不确定性。条件熵定义为X给定条件下Y的条件概率分布的熵对X的数学期望:
H ( Y ∣ X ) = ∑ x p ( x ) H ( Y ∣ X = x ) = − ∑ x , y p ( x , y ) l o g ( y ∣ x ) H(Y | X) = \sum_x p(x) H(Y | X = x) = - \sum_{x, y} p(x, y) log(y|x) H(YX)=xp(x)H(YX=x)=x,yp(x,y)log(yx)
条件熵 H ( Y ∣ X ) H(Y | X) H(YX) 等于联合熵 H ( X , Y ) H(X, Y) H(X,Y) 减去单独的熵 H ( X ) H(X) H(X)
H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(Y | X) = H(X, Y) - H(X) H(YX)=H(X,Y)H(X)

相对熵
相对熵,又称KL散度,是描述两个概率分布P 和Q差异的一种方法。

P ( X ) P(X) P(X) Q ( X ) Q(X) Q(X)是X取值的两个离散概率分布,则P对Q的相对熵为
D ( P ∣ ∣ Q ) = ∑ P ( x ) log ⁡ P ( x ) Q ( x ) D(P || Q) = \sum P(x) \log \frac{P(x)}{Q(x)} D(P∣∣Q)=P(x)logQ(x)P(x)
相对熵具有两个主要的性质:

  1. 不对称性:尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即 D ( P ∣ ∣ Q ) ≠ D ( Q ∣ ∣ P ) D(P || Q) \neq D(Q||P) D(P∣∣Q)=D(Q∣∣P)
  2. 非负性:相对熵的值为非负值,即 D ( P ∣ ∣ Q ) ≥ 0 D(P || Q) \geq 0 D(P∣∣Q)0

交叉熵
在实际对分类问题中的损失函数一般选用的是交叉熵,它主要用于度量两个概率分布间的差异性信息

假设现在有一个样本集中两个概率分布P和Q,其中P表示真实分布,Q表示非真实分布。假如,按照真实分布P来衡量识别一个样本所需要的编码长度的期望为:
H ( P ) = − ∑ i P ( i ) log ⁡ P ( i ) H(P) = - \sum_i P(i) \log{P(i)} H(P)=iP(i)logP(i)
但是,如果采用错误的分布Q来表示真实分布P的平均编码长度,则应该是
H ( P , Q ) = − ∑ i P ( i ) log ⁡ Q ( i ) H(P, Q) = - \sum_i P(i) \log{Q(i)} H(P,Q)=iP(i)logQ(i)
此时就将H(P, Q)称之为交叉熵

交叉熵和KL散度是机器学习中极其常用的两个指标,用来衡量两个概率分布的相似度,常被作为Loss Function

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

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

相关文章

华为机试打卡 HJ5 进制转换

要机试了,华孝子求捞,功德 描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。 数据范围:保证结果在 1≤𝑛≤2^31−1 输入描述: 输入一个十六进制的数值字符串。 输出描述…

【JAVA】递归

接着上一讲继续,内容不多,讲解一下递归相关内容。 1. 生活中的故事 从前有坐山,山上有座庙,庙里有个老和尚给小和尚将故事,讲的就是: "从前有座山,山上有座庙,庙里有个老和尚…

uos server 无法通过ssh工具连接

问题现象 uos server 服务器操作系统 在虚拟机中安装好之后,防火墙已经关闭,ssh服务已经启动,但通过finalshell等ssh工具连接报错 :java.net.ConnectException: Connection timed out: connect 经过确认 防火墙已关,s…

48.乐理基础-音符的组合方式-休止符

休止符 音乐中总有一些停顿的地方,一次停顿多久是创作人固定好的,休止符就是用来表示每一次停顿多久 需要停顿的位置就用 0 来表示,数字 0 就是简谱中的休止符 音符有全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符等&…

你写代码,会关注时间复杂度吗?

虽然面试的时候总是被问到这个问题,但你写代码的时候,真的会想到这个问题吗?时间复杂度,说的当然不是你写的代码执行用了多长时间,而是代码执行语句的次数。 目录 每行代码都需要注意 计算方法 1 例如常量增长 2 …

五子棋对战(网页版)

目录 一、项目背景 用户模块 匹配模块 对战模块 二、核心技术 三、相关知识 WebSocket 原理 报文格式 代码 服务器代码 客户端代码 四、项目创建 4.1、实现用户模块 编写数据库代码 数据库设计 配置MyBatis 创建实体类 创建UserMapper 创建UserMapper接口 实现UserMapper.xml 前…

train_gpt2.c

llm.c/train_gpt2.c at master karpathy/llm.c (github.com) 源码 /* This file trains the GPT-2 model. This version is the clean, minimal, reference. As such: - it runs on CPU. - it does not make the code too complex; it is readable. - it does not use any p…

等保测评技术方案(五)

(八)漏洞扫描方案 1.参与人员 乙方工程师:谭 然、张 剑等。 范围经过双方确认,此次评估的对象包括: 2.网络设备 IP 地址 设备型号 备注 / / / / / / 以现场测评实际数据为准 3.应用系统 地址 …

SpringBoot集成Curator实现Watch事件监听

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Zookeeper是一个Ap…

缓存不经常更新的动态信息:策略与 Nginx 配置指南

在处理不经常更新的动态信息时,合理配置缓存能够显著提高网站的性能和用户体验。通过缓存这类内容,我们可以减少对后端服务的请求压力,加快内容的加载速度。下面我们会探讨如何在 Nginx 中配置缓存以最大化这种类型的动态内容的效益。 理解动…

kotlin基础知识

val(value的简写)用来声明一个不可变的变量。(只读变量) var(variable的简写)用来声明一个可变的变量。(可读写变量) 在变量声明中指定数据类型时,应在冒号后面添加一个空格。 先声明变量在声明变量的类型。 val a :Int 10 kotlin拥有类型推导机制&…

有哪些可以用电脑做的挣钱副业,有电脑就行

以下是一些可以用电脑做的挣钱副业 1. 写作和翻译 可以在各大网络平台上接单进行写作或者翻译。 2. 做任务 还在做致米宝库这个软件,软件每天会发布一些项目任务,也能学到一些网上赚钱的知识技术,我平时就做些简单任务和一个虚拟项目。 任…

下载npm I就包错解决方案

npm i xxxx -S --legacy-peer-deps 如果包错就执行以上命令

杨校老师项目之基于大数据技术栈hadoop商业web应用的日志分析系统

获取全套资料: 有偿获取:mryang511688 摘要: 互联网世界的先驱者们一致认为大数据将是未来互联网产业,甚至是整个人类各个产业的基础资源,那么到底什么是大数据,大数据给我们的世界是如何带来变化的呢&am…

电子作业指导书系统如何提升医疗设备工厂的生产效率

在医疗设备工厂中,电子作业指导书(ESOP)正逐渐成为提升生产效率的关键因素。 一、电子作业指导书系统提供了即时可得的准确信息。 电子作业指导书系统与传统的纸质作业指导书相比,员工可以在工作现场通过电子设备随时查阅最新、最…

2024年5月树莓集团快讯

树莓集团近期快讯 1 园区专场招聘会进校园 国际数字影像产业园联合四川城市职业学院的专场招聘会成功召开,共计提供400余个工作岗位。 2 园区硬件优化再升级 园区硬件优化再升级,智能门禁系统及人脸识别系统下周投入使用。 3 基地短剧合作交流 天府…

Apple store 静安·苹果店欣赏

官网: https://www.apple.com/today/Apple 亚洲第一大商店:Apple 静安零售店现已在上海开幕 静安苹果欣赏

CMainFrame中的OnCreatClient()函数

在MFC(Microsoft Foundation Classes)框架中,OnCreateClient()函数是CFrameWnd类(以及继承自它的类,如CMainFrame)的一个虚拟成员函数。这个函数被设计来响应窗口客户区的创建过程,即在主框架窗…

Verilog中信号发生器的代码实现

目录 描述 输入描述: 输出描述: 描述 题目描述: 请编写一个信号发生器模块,根据波形选择信号wave_choise发出相应的波形:wave_choice0时,发出方波信号;wave_choice1时,发出锯齿…

完整的在Python中自定义异常的例子

下面是一个在Python中自定义异常的完整示例,包括定义异常、引发异常和捕获异常的过程: ### 定义自定义异常 首先,我们定义两个自定义异常类:ShapeError作为基类,用于所有形状相关错误的基类;InvalidShape…