AI数学知识

AI数学知识

  • 1、线性代数相关(矩阵)
    • 1、什么是秩
    • 2、奇异值分解
    • 3、特征值分解和奇异值分解
    • 4、低秩分解
  • 回归分类知识点
  • 2、概率论相关
    • 1、先验概率和后验概率
    • 2、条件概率、全概率公式、贝叶斯公式、联合概率
    • 3、最大似然估计
    • 4、贝叶斯公式和最大似然估计
    • 5、伯努利分布、二项分布
    • 6、高斯分布/正态分布
      • 期望与均值、方差、标准差、协方差矩阵
    • 7、逻辑函数
  • 3、回归相关
    • 1、最小二乘
    • 2、正规方程
    • 3、梯度下降
    • 4、 正则化与范数 (过拟合)
  • 4、aigc相关数学
    • 重参数化 (用于高斯拟合求导)
    • 变分推断原理 (用于损失)
  • 马尔可夫
    • 1、马尔可夫链
    • 2、n 阶马尔可夫链
    • 3、马尔可夫奖励过程/决策过程
    • 4、隐马尔可夫
      • 隐马尔可夫模型(HMM)
      • 三个基本问题
      • 前向算法、后向算法、Viterbi算法
  • KL散度(相对熵)
    • 1、相对熵(KL散度)
    • 2、交叉熵

1、线性代数相关(矩阵)

1、什么是秩

https://zhuanlan.zhihu.com/p/646831196
秩(Rank),为了从方程组中去掉多余的方程,引出了“矩阵的秩”。矩阵的秩度量的就是矩阵的行列之间的相关性。为了求矩阵A的秩,我们是通过矩阵初等变换把A化为阶梯型矩阵,若该阶梯型矩阵有r个非零行,那A的秩rank(A)就等于r。 如果矩阵的各行或列是线性无关的,矩阵就是满秩的,也就是秩等于行数。矩阵的秩度量的就是矩阵的行列之间的相关性。如果矩阵的各行或列是线性无关的,矩阵就是满秩的,也就是秩等于行数。

我们首先来看一个矩阵A:

A = [[1, 2, 3],[2, 4, 6],[3, 6, 9]]

该矩阵中,row2 = row1 * 2,row3 = row1*3,也就是说,矩阵中的每一行,都可以通过第一行线性表示。
我们再来看一个矩阵B:

B = [[1, 2, 3],[7, 11, 5],[8, 13, 8]]

该矩阵中,任意一行,总可以用其他两行的线性组合来表示。
我们最后再来看一个矩阵C:

C = [[1, 0, 0],[0, 1, 0],[0, 0, 1]]

该矩阵中,任意一行,都不能从其余行的线性组合中推导而来。
调用np.linalg.matrix_rank函数,我们可以算出任意矩阵的秩,上面三个矩阵的秩分别为:

A = np.array(A)
B = np.array(B)
C = np.array(C)
print("Rank of A:", np.linalg.matrix_rank(A)) # 1
print("Rank of B:", np.linalg.matrix_rank(B)) # 2
print("Rank of C:", np.linalg.matrix_rank(C)) # 3

对矩阵A来说,由于只要掌握其中的任意一行,其余行都可以由这一行线性推导而来,因此A的秩是1。
对矩阵B来说,由于只要掌握其中的任意两行,其余行都可以由这两行线性组合推导而来,因此B的秩是2。
对矩阵C来说,由于必须完全掌握三行,才能得到完整的C,因此C的秩是3。
看到这里,你是不是已经对秩有了感性的理解了? 秩表示的是矩阵的信息量。如果矩阵中的某一维,总可以通过其余维度线性推导而来,那么对模型来说,这一维的信息是冗余的,是重复表达的。 对A和B的情况,我们称为秩亏(rank deficient),对C的情况,我们称为满秩(full rank)。更严谨的数学定义,大家可以参考《线性代数》(狗头)。
有了对秩的这层认识,我们自然会想到,全参数微调中的增量权重
可能也存在冗余的信息,因此我们并不需要用完整的d*d 尺寸来表示它。那么,我们要如何找出
中真正有用的特征维度呢?SVD分解(奇异值分解),可以帮我们解决这个问题

在这里插入图片描述

2、奇异值分解

SVD(Singular value decomposition,奇异值分解)是一种矩阵分解的方法,任何矩阵,都可以通过SVD的方法分解成几个矩阵相乘的形式。
其中和是正交矩阵,是特征值矩阵。

在这里插入图片描述

对于机器学习,SVD一个主要优点是对矩阵降维,对于高维矩阵可以通过SVD表示成三个维度相对较低的矩阵、和。在推荐系统中,可以将用户行为构造成User-Item的评分矩阵 ,其中m和n分别表示平台的User数和Item数。 表示用户对物品的评分(也可以是点击、互动、播放、下载等行为),用于刻画User对Item的有效操作。采用SVD算法将分解成 、和。虽然,从形式上看SVD分解简单直接,但由于日常User-Item的评分矩阵事高度稀疏的,而SVD分解要求矩阵是稠密的,通常采用对评分矩阵中的缺失值进行补全(比如补0、全局平均值、用户物品平均值补全等)得到稠密矩阵。再用SVD分解并降维。但实际过程中,元素缺失值是非常多的,导致了传统SVD不论通过以上哪种方法进行补全都是很难在实际应用中起效果。此外传统SVD在实际应用中还有一个严重的问题——计算复杂度(时间复杂度是,空间复杂度是)。当用户数和物品总量过大(如千上万级),对矩阵做SVD分解是非常耗时。这是得传统的SVD分解方法很难在实际业务中应用起来。
研究者们做了大量工作来解决传统SVD的稀疏数据不适用和高计算复杂度的问题,其中主要的有FunkSVD、BiasSVD和SVD++算法。
在这里插入图片描述

3、特征值分解和奇异值分解

https://blog.csdn.net/qfikh/article/details/103994319
特征值分解和奇异值分解在机器学习领域的方法,让机器学会抽取重要的特征。 可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。两者关系紧密,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。区别在于,特征值分解针对方阵而言,奇异值分解可以针对任意矩阵进行分解。

1)特征值、特征向量

如果一个向量v是矩阵A的特征向量,将一定可以表示成下面的形式:
Aa=ra
其中,λ是特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。
对于矩阵A,有一组特征向量v,将这组向量进行正交化单位化,就能得到一组正交单位向量。特征值分解,就是将矩阵A分解为如下式:
在这里插入图片描述
其中,Q是矩阵A的特征向量组成的矩阵,则是一个对角阵,对角线上的元素就是特征值。我们来分析一下特征值分解的式子,分解得到的Σ矩阵是一个对角矩阵,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变换方向(从主要的变化到次要的变化排列)。
在这里插入图片描述
SVD分解的应用
异值分解的应用有很多,比如:用SVD解PCA、潜在语言索引也依赖于SVD算法。可以说,SVD是矩阵分解、降维、压缩、特征学习的一个基础的工具,所以SVD在机器学习领域相当的重要。
1)降维。
通过奇异值分解的公式,我们可以很容易看出来,原来矩阵A的特征有n维。经过SVD分解后,可以用前r个非零奇异值对应的奇异向量表示矩阵A的主要特征,这样就把矩阵A进行了降维。

2)压缩。
通过奇异值分解的公式,我们可以看出来,矩阵A经过SVD分解后,要表示原来的大矩阵A,我们只需要存储U、Σ、V三个较小的矩阵即可。而这三个较小规模的矩阵占用内存上也是远远小于原有矩阵A的,这样SVD分解就起到了压缩的作用。

4、低秩分解

  1. 秩(Rank)
      为了从方程组中去掉多余的方程,引出了“矩阵的秩”。矩阵的秩度量的就是矩阵的行列之间的相关性。为了求矩阵A的秩,我们是通过矩阵初等变换把A化为阶梯型矩阵,若该阶梯型矩阵有r个非零行,那A的秩rank(A)就等于r。 如果矩阵的各行或列是线性无关的,矩阵就是满秩的,也就是秩等于行数。矩阵的秩度量的就是矩阵的行列之间的相关性。如果矩阵的各行或列是线性无关的,矩阵就是满秩的,也就是秩等于行数。

  2. 低秩(Low-Rank)
      如果X是一个m行n列的数值矩阵,rank(X)是X的秩,假如rank (X)远小于m和n,则我们称X是低秩矩阵。低秩矩阵每行或每列都可以用其他的行或列线性表出,可见它包含大量的冗余信息。利用这种冗余信息,可以对缺失数据进行恢复,也可以对数据进行特征提取。

3、低秩分解
假设我们有一个m×n的矩阵A,我们希望对其进行低秩分解,即将其分解为两个低秩矩阵的乘积:A ≈ UV^T。其中,U是一个m×k的矩阵,V是一个n×k的矩阵,k远远小于m和n。

深度学习模型压缩与加速技术(一):参数剪枝
深度学习模型压缩与加速技术(二):参数量化
深度学习模型压缩与加速技术(三):低秩分解
深度学习模型压缩与加速技术(四):参数共享
深度学习模型压缩与加速技术(五):紧凑网络
深度学习模型压缩与加速技术(六):知识蒸馏
深度学习模型压缩与加速技术(七):混合方式

回归分类知识点

https://blog.csdn.net/weixin_44986037/article/details/128815245
1、书籍:
《概率论与数理统计》、《统计学习方法》

2、回归知识点
1、损失函数多元求导与最小二乘
2、凸函数与梯度下降
3、正则化与范数 (过拟合)
4、模型误差 = 偏差(Bias)+ 方差(Variance)+ 数据本身的误差

(1)线性回归(损失最小二乘)
(2)岭回归(L2范数)
(3)lasso回归(L1范数)
(4)弹性网络回归(L1+L2范数)
(5)多项式回归(多次幂 非线性)

3、分类知识点
1、条件概率、全概率公式、贝叶斯公式、联合概率
2、伯努利分布、二项分布
3、联合概率(多变量)
4、最大似然

2、概率论相关

1、先验概率和后验概率

https://zhuanlan.zhihu.com/p/165952781
在这里插入图片描述

2、条件概率、全概率公式、贝叶斯公式、联合概率

https://zhuanlan.zhihu.com/p/134036707
https://blog.csdn.net/Mr_health/article/details/100080951
背景知识:
p(a,b,c,d,e)表示联合分布,即a,b,c,d,e同时发生的概率
p(a,b,c,d,e)=p(a)p(b|a)p(c|a,b)p(d|a,b,c)p(e|a,b,c,d)
上面的因式分解并不唯一,比如我可以让p(b)作为单独的项代替p(a),此时其他就也得跟着变
p(d|a,b,c)表示a,b,c同时发生的情况下d发生的概率。
p(a,b|c)和p(ab|c)的意思都是一样,表示在c发生的前提下,发生a和b的概率。p(a|b,c)表示在发生b和c的前提下,发生a的概率。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、最大似然估计

https://blog.csdn.net/qq_40765537/article/details/121612053
最大似然估计

  • 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。
  • 最大似然估计假设数据都是独立同分布的。
  • 最大化P(x0|θ)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4、贝叶斯公式和最大似然估计

https://www.zhangzhenhu.com/glm/source/%E8%B4%9D%E5%8F%B6%E6%96%AF%E4%BC%B0%E8%AE%A1/content.html#id2
简述二者最大的区别
若用两个字高度概括二者的最大区别那就是:参数

  • 最大似然估计和贝叶斯估计最大区别便在于估计的参数不同,最大似然估计要估计的参数θ被当作是固定形式的一个未知变量,然后我们结合真实数据通过最大化似然函数来求解这个固定形式的未知变量!
  • 贝叶斯估计则是将参数视为是有某种已知先验分布的随机变量,意思便是这个参数他不是一个固定的未知数,而是符合一定先验分布如:随机变量θ符合正态分布等!那么在贝叶斯估计中除了类条件概率密度p(x|w)符合一定的先验分布,参数θ也符合一定的先验分布。我们通过贝叶斯规则将参数的先验分布转化成后验分布进行求解!

同时在贝叶斯模型使用过程中,贝叶斯估计用的是后验概率,而最大似然估计直接使用的是类条件概率密度。
在这里插入图片描述
在这里插入图片描述

5、伯努利分布、二项分布

https://zhuanlan.zhihu.com/p/261098088
伯努利分布
是假设一个事件只有发生或者不发生两种可能,并且这两种可能是固定不变的。那么,如果假设它发生的概率是p,那么它不发生的概率就是1-p。这就是伯努利分布。伯努利实验就是做一次服从伯努利概率分布的事件,它发生的可能性是p,不发生的可能性是1-p。

二项分布
二项分布是多次伯努利分布实验的概率分布。

多项式分布
多项分布是在二项分布的基础上进一步的拓展。
在这里插入图片描述

6、高斯分布/正态分布

正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution)。当
数学期望u=0,标准差o=0时的正态分布是标准正态分布。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

期望与均值、方差、标准差、协方差矩阵

https://zhuanlan.zhihu.com/p/481760712

7、逻辑函数

常见的激活函数有:sigmoid,tanh,ReLU,Leaky ReLU,PReLU,RReLU, ELU(Exponential Linear Units),softplus,softsign,softmax等。
sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。在特征相差比较复杂或是相差不是特别大时效果比较好。
在这里插入图片描述

3、回归相关

1、最小二乘

https://blog.csdn.net/weixin_44697198/article/details/109405212
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、正规方程

https://segmentfault.com/a/1190000023474005
https://cloud.tencent.com/developer/article/2079487
https://www.cnblogs.com/hust-ghtao/p/3580188.html
正规方程法(最小二乘)与梯度下降法都是为了求解线性回归的最优参数,但是不同的是正规方程法只需要一步就可以得到代价函数最优点,而梯度下降则是迭代下降,看起来似乎正规方程法要好得多,但实际梯度下降使用场景更多,下面我们介绍这两种算法以及优缺点。
线性回归的概念,给出了一种使代价函数最小的方法:梯度下降法。在本篇博客中,我们给出另一种方法:正规方程。
是关于的函数,要求此函数的最小值,有人说可以求导啊,另,求出相应的即可,本文提出的就是此方法。但是由于是一个矩阵(向量是特殊的矩阵),我们需要关于矩阵求导方面的知识。

梯度下降缺点: 首先需要先提前设定好学习率,并调试,这无疑是额外的工作 需要尝试不同的学习率 。
梯度下降缺点:需要多次迭代下降,计算可能会更慢
正规解法缺点:在对于大量的数据来说,梯度学习也可以很好的运行结果,而正规方程求解中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、梯度下降

首先你得先了解一下梯度的概念:梯度的本意是一个向量(矢量),表示某一函数(该函数一般是二元及以上的)在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
当函数是一元函数时,梯度就是导数。这里我们用一个最简单的例子来讲解梯度下降法,然后推广理解更为复杂的函数。

梯度下降最核心的就是对函数求偏导,这个是在高等数学里有的。梯度下降的本质:是一种使用梯度去迭代更新权重参数使目标函数最小化的方法。梯度下降法有三种不同的形式:批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)以及小批量梯度下降(Mini-Batch Gradient Descent)。其中小批量梯度下降法也常用在深度学习中进行模型的训练。链接:https://blog.csdn.net/weixin_44986037/article/details/130093637

4、 正则化与范数 (过拟合)

1.正则化的概念
正则化(Regularization) 是机器学习中对原始损失函数引入额外信息,以便防止过拟合和提高模型泛化性能的一类方法的统称。也就是目标函数变成了原始损失函数+额外项,L1正则化和L2正则化。目的:防止模型过拟合。原理:在损失函数上加上某些规则(限制),缩小解空间,从而减少求出过拟合解的可能性。

  • 机器学习中:机器学习中的一个核心问题是设计不仅在训练数据上表现好,并且能在新输入上泛化好的算法。在机器学习中,许多策略显式地被设计来减少测试误差(可能会以增大训练误差为代价)。这些策略被统称伪正则化。
  • 深度学习:深度学习模型具有很高的灵活性和能力,如果训 练数据集不够大,将会造成一个严重的问题–过拟合。尽管它在训练集上效果很好,但是学到的网络不能应用到测试集中,所以在深度学习模型中使用正则化是必要的。

2.正则化方法

正则化就是针对特征,针对模型的一种限制算法。拟合能力越强,说明到学习的特征越多,w参数数量越多,模型越复杂。常用的正则化方法有数据增强、L2 正则化(权重衰减)、L1 正则化、Dropout、Drop Connect、BN、随机池化和提前终止等。下面重点来讨论一下L1、L2正则化、Dropout、BN这三种方法。

  • L1L2 正则化:这种技术在原始的损失函数(L LL)中引入了额外的惩罚项,并增加了平方参数(w ww)的总和。
  • 权重衰减(Weight Decay):技术与L2正则化相同,但应用于不同的地方:它不是在损失函数中引入一个和,而是在权值更新公式中增加一个额外的项。
  • 丢弃法(Dropout):该技术不同于现有技术。该过程很简单:对于训练阶段中网络的每个新输入,根据先前定义的丢弃概率,将每个隐藏层中一定比例的神经元随机停用。 对于整个网络,这可以相同,也可以在每一层中不同。
  • 批量归一化(Batch Normalization):批量归一化基本上意味着在神经元和激活函数之间添加一个额外的步骤,目的是对输出激活进行归一化。理想情况下,应该使用整个训练集的均值和方差进行归一化,但是如果我们使用批量梯度下降(mini-batch gradient descent)算法来训练我们的网络,则应该使用每个mini-batch输入的均值和方差。
  • 数据增强(Data Augmentation): 水平/垂直翻转图像、旋转图像X度、调整,扩展,调整大小等应用透视变形、调整亮度、对比度、饱和度等、添加一些噪音、缺陷等早停法(Early Stopping)最后要套用一个规则集,以便知道何时该停止训练,这样就不会出现过拟合和欠拟合的情况。最常见的方法是对模型进行培训,监控其性能并在每个时期结束时保存其参数。我们将一直这样做,直到确认误差稳步增加(由于算法的随机性而出现恶化)。我们将保留之前得到的模型。
    参考链接:
    https://blog.csdn.net/qq_35712832/article/details/114218032
    https://blog.csdn.net/cfan927/article/details/104245227

4、aigc相关数学

  • 贝叶斯公式:VAE本质上是一种基于贝叶斯框架的生成模型,其核心思想是通过联合分布p(x,z)来描述观测数据x和潜在变量z之间的关系,然后利用贝叶斯公式求解后验分布p(z∣x),从而揭示数据的潜在结构。
  • KL散度:VAE在优化过程中,利用KL散度衡量潜变量分布与先验分布之间的差异,作为正则化项融入损失函数,以此推动模型学习到更接近先验分布的潜变量分布。
  • 变分推断原理(变分下界):VAE的核心创新在于采用变分推断方法近似难以直接计算的后验分布p(z∣x)。通过引入一个可学习的参数化分布q(z∣x;ϕ)(即编码器),并最小化其与真实后验分布之间的KL散度,实现对后验分布的有效近似
  • 重参数化:重参数化技巧,就是从一个分布 po(z)中进行采样,而该分布是带有参数 o的,如果直接进行采样(采样动作是离散的,其不可微),是没有梯度信息的,那么在BP反向传播的时候就不会对参数梯度进行更新。重参数化技巧可以保证我们从 p进行采样,同时又能保留梯度信息。
  • 马尔可夫:状态空间中经过一个状态到另一个状态的转换的随机过程,该过程具备无记忆性(马尔科夫性质),即下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。

在这里插入图片描述

重参数化 (用于高斯拟合求导)

https://0809zheng.github.io/2022/04/24/repere.html
https://zhuanlan.zhihu.com/p/542478018
重参数化技巧,个技巧的目的是使模型可微分(differentiable),以便使用梯度下降等反向传播算法来训练模型,也就是将随机采样的过程转换为可导的运算,从而使得梯度下降算法可以正常工作。通常会有一个随机性的潜在变量,例如高斯分布中的均值和方差,用于生成样本。这会导致问题,因为采样操作是不可微的,无法通过反向传播来更新梯度,从而让模型学习这些分布参数。为了解决这个问题,“Reparameterization trick” 提出将随机采样操作从网络中移动到一个确定性函数中。这个确定性函数通常是一个线性变换,将从标准高斯分布(均值为0,方差为1)中采样的随机噪声与潜在变量的均值和标准差相结合。这个确定性函数是可微分的,因此梯度可以在这个过程中传播。

数学期望,亦简称期望),是试验中每次可能的结果乘以其结果概率的总和。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在模型训练时,采样的过程是不连续的(随机),从而会导致梯度无法反传,所以设计了一种重参数化技巧。引入可变化的噪声ε(随机,代替随机采样),保持均值和方差不变,这样就可以解决采样中断均值和方差梯度的问题。
在这里插入图片描述
在这里插入图片描述

变分推断原理 (用于损失)

https://zhuanlan.zhihu.com/p/118377754
https://zhuanlan.zhihu.com/p/88336614

变分推断的原理变分推断的目标是近似计算给定观测数据下的后验分布。它采用了一种变分参数化的方法来表示后验分布,并将推断问题转化为参数优化问题。基本的变分推断原理可以归结为最小化推断模型与真实后验分布之间的差异,以获得近似的后验分布。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例如VAE:
p(x)通过变分推断原理化为损失函数=重构损失+KL散度损失,重构损失通过重参数化将随机采样的过程转换为可导的运算,引入可变化的噪声ε(随机,代替随机采样),保持均值和方差不变,这样就可以解决采样中断均值和方差梯度的问题。
在这里插入图片描述

马尔可夫

https://zhuanlan.zhihu.com/p/489239366
https://zhuanlan.zhihu.com/p/448575579

1、马尔可夫链

俄国数学家 Andrey Andreyevich Markov 研究并提出一个用数学方法就能解释自然变化的一般规律模型,被命名为马尔科夫链(Markov Chain)。马尔科夫链为状态空间中经过从一个状态到另一个状态的转换的随机过程,该过程要求具备“无记忆性 ”,即下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性 ”称作马尔可夫性质。

状态转移矩阵的稳定性:
状态转移矩阵有一个非常重要的特性,经过一定有限次数序列的转换,最终一定可以得到一个稳定的概率分布 ,且与初始状态概率分布无关。
在这里插入图片描述
马尔科夫链(Markov Chain)-随机餐厅
https://zhuanlan.zhihu.com/p/489239366
在这里插入图片描述
在这里插入图片描述

2、n 阶马尔可夫链

http://www.mselab.cn/media/files/B03.%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB%E6%A8%A1%E5%9E%8B.pdf
马尔科夫过程是指过程中的状态的转移依赖于之前的状态,当影响转移状态的数目是n时,这个过程被称为 n阶马尔科夫模型.
在这里插入图片描述
在这里插入图片描述

N-Gram最简单有效,所以应用的也最广泛。它基于独立输入假设:第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。

应用:
让机器“听懂”人类的语言,两个马尔科夫模型就解决了:
声学模型:利用HMM建模(隐马尔可夫模型),HMM是指这一马尔可夫模型的内部状态外界不可见,外界只能看到各个时刻的输出值。对语音识别系统,输出值通常就是从各个帧计算而得的声学特征。
语言模型:N-Gram最简单有效,所以应用的也最广泛。它基于独立输入假设:第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。
在这里插入图片描述

3、马尔可夫奖励过程/决策过程

https://www.cnblogs.com/jsfantasy/p/jsfantasy.html
https://blog.csdn.net/qq_33302004/article/details/115027798
马尔科夫过程又叫做马尔科夫链(Markov Chain),它是一个无记忆的随机过程,可以用一个元组<S, P>表示。(上节回顾)。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
马尔科夫奖励过程在这里插入图片描述
通过贝尔曼方程,可以看到价值函数有两部分组成,一个是当前获得的奖励的期望,另一个是下一时刻的状态期望,即下一时刻 可能的状态能获得奖励期望与对应状态转移概率乘积的和,最后在加上折扣。
在这里插入图片描述
马尔科夫决策过程(Markov Decision Process),马尔科夫决策过程是在马尔科夫奖励过程的基础上加了 Decision 过程,相当于多了一个动作集合。最优价值函数
解决强化学习问题意味着要寻找一个最优的策略让个体在与环境交互过程中获得始终比其它策略都要多的收获,这个最优策略我们可以用 π 表示。一旦找到这个最优策略π ,那么我们就解决了这个强化学习问题。一般来说,比较难去找到一个最优策略,但是可以通过比较若干不同策略的优劣来确定一个较好的策略,也就是局部最优解。
在这里插入图片描述
在这里插入图片描述

4、隐马尔可夫

https://zhuanlan.zhihu.com/p/35651762
https://zhuanlan.zhihu.com/p/151011287
https://zhuanlan.zhihu.com/p/547259609

隐马尔可夫模型(HMM)

隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言应用领域。经过长期发展,尤其在语音识别中成功应用,使它成为一种通用的统计工具。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三个基本问题

https://blog.csdn.net/qq_52785580/article/details/135746941
https://zhuanlan.zhihu.com/p/151011287
https://zhuanlan.zhihu.com/p/88362664
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

前向算法、后向算法、Viterbi算法

https://zhuanlan.zhihu.com/p/35651762
https://zhuanlan.zhihu.com/p/547259609
https://zhuanlan.zhihu.com/p/29938926
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

KL散度(相对熵)

https://blog.csdn.net/Rocky6688/article/details/103470437
https://zhuanlan.zhihu.com/p/74075915
信息量、熵、相对熵(KL散度)、交叉熵、JS散度、推土机理论、Wasserstein距离、WGAN中对JS散度,KL散度和推土机距离的描述

1、相对熵(KL散度)

相对熵又称KL散度,如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。
在机器学习中,P往往用来表示样本的真实分布,Q用来表示模型所预测的分布,那么KL散度就可以计算两个分布的差异,也就是Loss损失值。
从KL散度公式中可以看到Q的分布越接近P(Q分布越拟合P),那么散度值越小,即损失值越小。
因为对数函数是凸函数,所以KL散度的值为非负数。
有时会将KL散度称为KL距离,但它并不满足距离的性质:
KL散度不是对称的;
KL散度不满足三角不等式。
在这里插入图片描述

2、交叉熵

在这里插入图片描述

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

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

相关文章

Android Studio 版本升级后 Gradle project sync failed(Android V 应用升级)

问题及解决方案 更新到蜥蜴 Android Studio Iguana 后&#xff0c;出现Gradle project sync failed的问题&#xff08;IDE更新版本的常态了&#xff09;。 背景&#xff1a;对应用进行Android V版本升级&#xff08;SDK35&#xff0c;gradle插件版本要 8.4.0&#xff09; 1、…

【SQL学习进阶】从入门到高级应用(二)

文章目录 简单查询查一个字段查多个字段查所有字段查询时字段可参与数学运算查询时字段可起别名as关键字省略as关键字别名中有空格别名中有中文 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xf…

基于微信小程序+ JAVA后端实现的【微信小程序跑腿平台】设计与实现 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称&#xff1a; 《微信小程序跑腿平台的设计与实现》 项目技术栈 该项目采用了以下核心技术栈&#xff1a; 后端框架/库&#xff1a; Java, SSM框架数据库&#xff1a; MySQL前端技术&#xff1a; 微信小程序, HTML…&#xff08;其它相关技术&#xff09; …

【经验分享】可视化的项目管理,轻松解决资源冲突和协作困难

在数字化时代&#xff0c;高效协同逐步成为提升组织效能的重要着力点&#xff0c;同时也是企业保持竞争力、实现持续发展的关键要素。一方面可以打破部门壁垒&#xff0c;促进信息流通&#xff0c;从而提升整体工作效率&#xff1b;另一方面还能帮助企业优化资源配置和管理流程…

Docker 基础使用 (1)

文章目录 Docker 软件安装Docker 镜像仓库Docker 仓库指令Docker 镜像指令Docker 容器指令Docker 使用实例 —— 搭建 nginx 服务nginx 概念nginx 使用用 docker 启动 nginx 侧重对docker基本使用的概览。 Docker 软件安装 Linux Ubuntu 依次执行以下指令即可 # 更新软件包列…

MySQL多表关联查询习题

一、素材 -- Active: 1714203732007127.0.0.13306db_stu -- 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); -- 创建…

集合的创建

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Python中的集合同数学中的集合概念类似&#xff0c;也是用于保存不重复元素的。它有可变集合&#xff08;set&#xff09;和不可变集合&#xff08;f…

ubuntu strace命令

strace 是 Linux 系统中的一个调试工具&#xff0c;用于跟踪并记录系统调用&#xff08;system calls&#xff09;和信号&#xff08;signals&#xff09;。在 Ubuntu 中&#xff0c;strace 命令可以帮助开发者和系统管理员了解一个程序在运行时如何与操作系统内核进行交互&…

13 VUE学习:组件v-model

基本用法 v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 [defineModel()]宏&#xff1a; <!-- Child.vue --> <script setup> const model defineModel()function update() {model.value } </script><te…

在Github上寻找安装ROS软件包

1、创建一个功能包 并下载git sudo apt install git 2、找到自己想在github上要克隆的包 复制此链接 3、克隆到本地 git clone 链接 4.scripts目录用于放置脚本文件和python程序 使用脚本安装编译需要的依赖库 5、下载完成后&#xff0c;在~catkin_ws目录下运行catkin_make进…

C++ 常量和变量

1 常量 具体把数据写出来 2,3&#xff0c;4&#xff1b;1.2 1.3;“Hello world!”,“C” cout<<2015 常量&#xff1a;不能改变的量。 字面常量&#xff08;字面量、直接常量&#xff09;:直接写出的数据。 符号常量&#xff1a;用符号表示数据&#xff0c;但它一旦确定…

OpenHarmony应用开启Service以及完成自启动和常驻

一.背景 由于有需求实现一个后台常驻服务,这里就是来实现在鸿蒙里面如何实现后台服务并且实现自启动和常驻 二.添加服务 如下来添加服务 然后此时直接运行这个hap是报错的,如下: 此处参考: 应用中添加ServiceExtensionAbility然后安装HAP时提示“code:9568344 error: inst…

pytorch笔记:torch.nn.Flatten()

1 介绍 torch.nn.Flatten(start_dim1, end_dim-1) 将一个连续的维度范围扁平化为一个张量 start_dim (int)要开始扁平化的第一个维度&#xff08;默认值 1&#xff09;end_dim (int)要结束扁平化的最后一个维度&#xff08;默认值 -1&#xff09; 2 举例 input torch.ra…

微服务架构五大设计模式详解,助你领跑行业

微服务架构设计模式详解(5种主流模式) 微服务架构 微服务&#xff0c;一种革命性的架构模式&#xff0c;主张将大型应用分解为若干小服务&#xff0c;通过轻量级通信机制互联。每个服务专注特定业务&#xff0c;具备独立部署能力&#xff0c;轻松融入生产环境&#xff0c;为系…

大数据学习之安装并配置maven环境

什么是Maven Maven字面意&#xff1a;专家、内行Maven是一款自动化构建工具&#xff0c;专注服务于Java平台的项目构建和依赖管理。依赖管理&#xff1a;jar之间的依赖关系&#xff0c;jar包管理问题统称为依赖管理项目构建&#xff1a;项目构建不等同于项目创建 项目构建是一…

切勿安装这五款流氓软件,你中招了没

流氓软件&#xff0c;又称为恶意软件&#xff0c;是一类设计用来损害用户设备、窃取信息或干扰正常使用的程序。以下是五款臭名昭著的流氓软件介绍&#xff0c;提醒切勿安装&#xff0c;只能说一个比一个毒&#xff0c;你中招了没 可以去去虚拟机试试谁的毒更强一些&#xff0…

Vue3实战笔记(39)—封装页脚组件,附源码

文章目录 前言一、封装页脚组件二、使用组件总结 前言 在Web开发中&#xff0c;页脚组件是一个重要的部分&#xff0c;它为用户提供关于网站的信息、导航链接以及版权声明等。而封装页脚组件则是一种高效的方法&#xff0c;可以提高代码的可重用性和可维护性。 一、封装页脚组…

生成模型 | 从 VAE 到 Diffusion Model (下)

生成模型 | 从 VAE 到 Diffusion Model &#xff08;上&#xff09;的链接请点击下方蓝色字体: 上部分主要介绍了&#xff0c;GAN, AE, VAE, VQ-VAE, DALL-E 生成模型 | 从 VAE 到 Diffusion Model &#xff08;上&#xff09; 文章目录 我们先来看一下生成模型现在的能力一&…

信息标记形式 (XML, JSON, YAML)

文章目录 &#x1f5a5;️介绍&#x1f5a5;️三种形式&#x1f3f7;️XML (Extensible Markup Language)&#x1f516;规范&#x1f516;注释&#x1f516;举例&#x1f516;其他 &#x1f3f7;️JSON (JavaScript Object Notation)&#x1f516;规范&#x1f516;注释&#x…

Vue2基本创建项目

简单版项目初始化 新建一个vue2 官网文档&#xff1a;介绍 — Vue.js 先确保下载了vue的脚手架 npm install -g vue-cli npm install -g vue/cli --force vue -V 创建项目 vue create 自己起个名字 选择自己选择特性 选择&#xff1a; Babel&#xff1a;他可以将我们写…