非线性降维方法与概率图模型

文章目录

  • 摘要
  • Abstract
  • 1.降维的动机
    • 1.1 线性方法方法
      • 1.1.1 主成分分析(PCA)
      • 1.1.2 线性判别分析(LDA)
      • 1.1.3 线性降维方法中的不足
  • 2.基于流形学习的非线性降维
    • 2.1 ISOMAP(Isometric feature mapping)
    • 2.2 LLE(locally linear embedding)
    • 2.3 LE(Laplacian Eigenmap)拉普拉斯算子
      • 2.3.1 拉普拉斯关键步骤以及涉及公式
        • 2.3.1.1 构建相似性图
        • 2.3.1.2 构造权重矩阵
        • 2.3.1.3 图拉普拉斯矩阵
        • 2.3.1.4 拉普拉斯特征问题
  • 3. 概率图模型
    • 3.1 贝叶斯网(隐马尔可夫模型HMM)
    • 3.2 马尔可夫网
      • 3.2.1 全局马尔可夫性的验证
      • 3.2.2 马尔可夫随机场中的势函数
    • 3.3 条件随机场
  • 4. 总结

摘要

本周继续学习了降维技术,包括线性方法和非线性方法的应用。线性方法如PCA和LDA虽然广泛应用,但在面对复杂的数据分布时效果有限,因此引入了非线性的流形学习方法,如ISOMAP、LLE和LE。这些方法通过保留数据的局部和全局几何结构,实现了更有效的降维。此外,还学习了概率图模型,涵盖了贝叶斯网、马尔可夫随机场和条件随机场,展示了在推断和计算复杂概率分布时的应用。

Abstract

This week we continued our study of dimensionality reduction techniques, including the application of linear and nonlinear methods. Linear methods such as PCA and LDA, although widely used, have limited effectiveness in the face of complex data distributions, so nonlinear manifold learning methods such as ISOMAP, LLE, and LE have been introduced. These methods achieve more efficient dimensionality reduction by preserving the local and global geometry of the data. In addition, we learned about probabilistic graph models covering Bayesian networks, Markov random fields, and conditional random fields, demonstrating applications in inferring and calculating complex probability distributions.

1.降维的动机

对上一篇MDS和PCA的学习补充。

  • 原始观察空间中的样本具有极大的信息冗余。
  • 样本的高维数引发分类器设计的”维数灾难“。
  • 数据可视化(推荐T-SNE对数据降维)、特征提取、分类与聚类等任务需求。

在这里插入图片描述
假设一个64*64像素的图片,如果从像素来考虑会出现很多的特征,但实际上可以通过人脸位置的高低以及左右脸的位置和光线就可以刻画一张图。

1.1 线性方法方法

1.1.1 主成分分析(PCA)

  • PCA对于椭球状分布的样本集有很好的效果;学习所得的主方向就是椭球的主轴方向。
  • PCA是一种非监督的算法,能找到很好地代表所有样本的方向,但这个方向对于分类未必是最有利的

1.1.2 线性判别分析(LDA)

  • 降维目的:寻找最能把两类样本分开的投影直线,投影后两类样本的均值之差与投影样本的总类散度的比值最大。
  • 求解方法:经过推导把原问题转化为关于样本集总类内散度矩阵和总类间散度矩阵的广义特征值问题。属于监督学习方法。

两者的不同:pca投影在椭球的主轴上,样本间不好区分,而lda的投影保持内间的散度尽可能大

1.1.3 线性降维方法中的不足

  • 真实数据中的有用信息不能由线性特征表示
    比如:如何获取并表示多姿态人脸的姿态信息
    在这里插入图片描述
    又如:如何获取运动视频序列中某个动作的对应帧
    在这里插入图片描述

2.基于流形学习的非线性降维

基于上述线性降维方法中不能处理现实生活中的一些问题,提出了基于流形学习的非线性降维包括保距特征映射(ISOMAP)、局部线性嵌入(LLE)、拉普拉斯特征映射(LE)。
流行学习的目的:

  • 流形学习是一种非线性的维数约简方法
  • 高维观察数据变化模式本质是由少数几个隐含变量所决定的,如:人脸采样由光线亮度、人与相机的距离、人的头部姿势、人的面部表情等因素决定;
    在这里插入图片描述

以下三种方法是经典的常用的非线性降维方法:
在这里插入图片描述
下图是经典分类结构图:
在这里插入图片描述

2.1 ISOMAP(Isometric feature mapping)

  • 保持全局测地距离
    • 测地距离反映数据在流形上的真实距离差异
  • 等距映射
    • 基于线性算法MDS,采用”测地距离“作为数据差异度量
      在这里插入图片描述
      上述的欧式距离计算方法是使得MDS失效的原因。
      下图是ISOMAP在人脸上下以及左右角度的结果图
      在这里插入图片描述
      上图可以看出对于整体而言,其降维后的特征提取效果很不错。
      ISOMAP特点
      前提假设
      • 数据所在的低维流形与欧式空间的一个子集整体等距
      • 该欧式空间的子集是一个凸集

思想核心
- 较近点对之间的测地距离用欧式距离代替
- 较远点之间的测地距离用最短路径来逼近
算法特点
- 适用于学习内部平坦的低维流形
- 不适用于学习有较大内在曲率的流形
- 计算点对间的最短路径比较耗时(O(N^3))

2.2 LLE(locally linear embedding)

前提假设

  • 采样数据所在的低维流形在局部是线性的
  • 每个采样点均可以利用其近邻样本进行线性重构表示

学习目标

  • 低维空间中保持每个领域中的重构权值不变
  • 在嵌入映射为局部线性的条件下,最小化重构误差
  • 最终形式化为特征值分解问题

LLE实验结果

在这里插入图片描述
LLE优缺点总结
优点:

  • 算法可以学习任意维的局部线性的低维流形
  • 算法归结为稀疏矩阵特征值计算,计算复杂度相对较小
    缺点:
  • 算法所学习的流形只能是不闭合
  • 算法要求在流形上是稠密采样
  • 算法对样本中的噪声和领域参数比较敏感

2.3 LE(Laplacian Eigenmap)拉普拉斯算子

  • 基本思想:在高维空间中离得很近的投影到低维空间中的象也应该离得很近
  • 求解方法:求解图拉普拉斯算子的广义特征值问题。

2.3.1 拉普拉斯关键步骤以及涉及公式

2.3.1.1 构建相似性图

给定数据集{x1,x2,…,xn},构建一个无向图G=(V,E),其中每个数据点Xi是图G的一个顶点。为了定义数据点之间的相似性,一般采用K近邻图(选择每个点的k个最近邻作为其相连的顶点), 𝜖-领域图(将与某个点距离小于阈值𝜖的点连接起来)

2.3.1.2 构造权重矩阵

权重矩阵W描述图中边的权重,常用的权重函数为高斯核函数,即:
W i j = { exp ⁡ ( − ∥ x i − x j ∥ 2 2 σ 2 ) , if x i and x j are connected , 0 , otherwise . W_{ij}=\begin{cases}\exp\left(-\frac{\left\|x_i-x_j\right\|^2}{2\sigma^2}\right),&\text{if}x_i\text{and}x_j\text{are connected},\\0,&\text{otherwise}.\end{cases} Wij={exp(2σ2xixj2),0,ifxiandxjare connected,otherwise.
其中,σ 是一个控制相似性尺度的参数。

2.3.1.3 图拉普拉斯矩阵

在有了权重矩阵W之后,计算拉普拉斯矩阵。
有以下几种形式:

  • 非标准拉普拉斯矩阵:L = D - W
    其中,D是度矩阵,它是一个对角矩阵,其对角元素是各个节点的度数:
    D i i = ∑ j W i j D_{ii}=\sum_jW_{ij} Dii=jWij
  • 标准化拉普拉斯矩阵
    L s y m = I − D − 1 2 W D − 1 2 L_{\mathrm{sym}}=I-D^{-\frac12}WD^{-\frac12} Lsym=ID21WD21
2.3.1.4 拉普拉斯特征问题

拉普拉斯的核心问题是求解以下广义特征值问题: Ly = λDy
其中,y是特征向量,是数据在低维空间中的坐标表示
λ是对应的特征向量
L是图的拉普拉斯矩阵,D是度矩阵
目标:求解最小的特征值对应的特征向量(除了第一个特征值为0的特征向量,因为它是平移不变的),通常保留m个最小非零特征值以及对应的特征向量,形成低维嵌入。

使用拉普拉斯特征映射(Laplacian Eigenmap,LE)对Swiss Roll数据集进行降维

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_swiss_roll
from sklearn.manifold import SpectralEmbedding# 生成Swiss Roll数据集
n_samples = 1500
X, color = make_swiss_roll(n_samples)# 使用拉普拉斯特征映射(LE)进行降维
embedding = SpectralEmbedding(n_components=2)
X_transformed = embedding.fit_transform(X)# 绘制Swiss Roll原始数据和降维后的数据
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 7))# 原始数据的3D图
ax1 = fig.add_subplot(121, projection='3d')
ax1.scatter(X[:, 0], X[:, 1], X[:, 2], c=color, cmap=plt.cm.Spectral)
ax1.set_title("Original Swiss Roll (3D)")# 降维后的2D数据
ax2.scatter(X_transformed[:, 0], X_transformed[:, 1], c=color, cmap=plt.cm.Spectral)
ax2.set_title("Laplacian Eigenmap (2D)")plt.show()

在这里插入图片描述
左边是原始的三维Swiss Roll数据,右边是通过LE方法降维到二维后的结果。LE保留了局部相似性,使原始数据中相邻的点在降维后的低维空间中仍然相邻,适用于非线性流形的数据降维和可视化。

LE优缺点总结
优点:

  • 算法是局部非线性方法,于谱图理论有很紧密的联系
  • 算法通过求解稀疏矩阵的特征值问题解析地求出整体最优解,效率非常高
  • 算法使原始空间中离得很近地点在低维空间也离得很近,可以用于聚类

缺点:

  • 同样对算法参数和数据采样密度较敏感
  • 不能有效保持流形地全局几何结构

3. 概率图模型

概率模型:描述提供一种描述框架,将描述任务归结为计算变量的概率分布,在概率模型中,利用已知的变量推测未知变量的分布称为”推断“,其核心在于基于可观测的变量推测除未知变量的条件分布

  • 生成式:计算联合分布P(Y,R,O)
  • 判别式:计算条件分布P(Y,R|O)

其中,Y为关心的变量集合;O为可观测变量集合;R为其他变量集合
直接利用概率求和规则消去变量R的时间和空间复杂度为指数级别O(2^(|Y|+|R|)),需一种优化方法来计算降低时间复杂度。
在概率图模型中,有有向图(贝叶斯网)、无向图(马尔可夫网)

3.1 贝叶斯网(隐马尔可夫模型HMM)

组成

  • 状态变量:{y1,y2,…,yn}通常假定是隐藏的,不可被观测的(一般是离散变量)
  • 观测变量:{x1,x2,…,xn}表示第i时刻的观测值集合(可以是离散的也可以是连续的)

马尔可夫链:系统下一时刻状态仅由当前状态决定,不依赖于以往的任何状态
联合概率: P ( x 1 , y 1 , … , x n , y n ) = P ( y 1 ) P ( x 1 ∣ y 1 ) ∏ i = 2 n P ( y i ∣ y i − 1 ) P ( x i ∣ y i ) P(x_{1},y_{1},\ldots,x_{n},y_{n})=P(y_{1})P(x_{1}\mid y_{1})\prod_{i=2}^{n}P(y_{i}\mid y_{i-1})P(x_{i}\mid y_{i}) P(x1,y1,,xn,yn)=P(y1)P(x1y1)i=2nP(yiyi1)P(xiyi)
确定一个HMM需要三组参数

  • 状态转移概率:模型在各个状态间转换的概率(矩阵A)
  • 输出观测概率:模型根据当前状态获得各个观测值的概率(矩阵B)
  • 初试状态概率:模型在初始时刻各个状态出现的概率(Π)

通过指定状态空间Y,观测空间X,和上述三个参数,就可以确定一个隐马尔可夫模型,按如下过程生成观察序列:
1.设置t=1,并根据初始状态Π选择初始状态y1
2.根据yt和输出观测概率B选择观测变量取值xt
3.根据yt和状态转移矩阵A转移模型状态,即确定yt+1
4.若t <= n,设置t = t+1,并转到(2)步,否则停止

下面是隐马尔可夫模型的一个例子:
在这里插入图片描述

3.2 马尔可夫网

  • 马尔可夫随机场是典型的马尔可夫网,著名的无向图模型

分布形式化:

  • 使用基于极大团的势函数(因子)----对于图中结点的一个子集,若其中任意两个结点都有边连接,则称该结点子集为一个”团“
  • 联合概率分布可以使用极大团定义
  • 假设所有极大团构成的集合为C*
    其概率模型为: P ( x ) = 1 Z ∗ ∏ Q ∈ C ∗ ψ Q ( x Q ) P(\mathbf{x})=\frac{1}{Z^*}\prod_{Q\in\mathcal{C}^*}\psi_Q(\mathbf{x}_Q) P(x)=Z1QCψQ(xQ)
    其中,Z*是规范化因子 ∑ x ∏ Q ∈ C ∗ ψ Q ( x Q ) \sum_x\prod_{Q\in\mathcal{C}^*}\psi_Q(\mathbf{x}_Q) xQCψQ(xQ)
    下面是图模型结构的一个例子:
    在这里插入图片描述
    其联合分布概率:
    P ( x ) = 1 Z ψ 12 ( x 1 , x 2 ) ψ 13 ( x 1 , x 3 ) ψ 24 ( x 2 , x 4 ) ψ 35 ( x 3 , x 5 ) ψ 256 ( x 2 , x 5 , x 6 ) P(\mathbf{x})=\frac1Z\psi_{12}(x_1,x_2)\psi_{13}(x_1,x_3)\psi_{24}(x_2,x_4)\psi_{35}(x_3,x_5)\psi_{256}(x_2,x_5,x_6) P(x)=Z1ψ12(x1,x2)ψ13(x1,x3)ψ24(x2,x4)ψ35(x3,x5)ψ256(x2,x5,x6)

3.2.1 全局马尔可夫性的验证

在这里插入图片描述

  • 全局马尔可夫性:在给定分离集的条件下,两个变量子集条件独立
    若令A,B,C对应的变量集分别为XA,XB,XC,则XA和XB在XC给定的条件独立,记为 X A ⊥ X B ∣ X C X_{A}\perp X_{B}|X_{C} XAXBXC
    联合概率:
    P ( x A , x B , x C ) = 1 Z ψ A C ( x A , x C ) ψ B C ( x B , x C ) P(x_A,x_B,x_C)=\frac{1}{Z}\psi_{AC}(x_A,x_C)\psi_{BC}(x_B,x_C) P(xA,xB,xC)=Z1ψAC(xA,xC)ψBC(xB,xC)
    条件概率:
    P ( x A , x B ∣ x C ) = P ( x A , x B , x C ) P ( x C ) = P ( x A , x B , x C ) ∑ x A ′ ∑ x B ′ p ( x A ′ , x B ′ , x C ) = 1 Z ψ A C ( x A , x C ) ψ B C ( x B , x C ) ∑ x A ′ ∑ x B ′ 1 Z ψ A C ( x A ′ , x C ) ψ B C ( x B ′ , x C ) = ψ A C ( x A , x C ) ∑ x A ′ ψ A C ( x A ′ , x C ) ⋅ ψ B C ( x B , x C ) ∑ x B ′ ψ B C ( x B ′ , x C ) . \begin{aligned} P(x_A,x_B\mid x_C)& =\frac{P(x_{A},x_{B},x_{C})}{P(x_{C})}=\frac{P(x_{A},x_{B},x_{C})}{\sum_{x_{A}^{\prime}}\sum_{x_{B}^{\prime}}p(x_{A}^{\prime},x_{B}^{\prime},x_{C})} \\ &=\frac{\frac1Z\psi_{AC}(x_A,x_C)\psi_{BC}(x_B,x_C)}{\sum_{x_A^{\prime}}\sum_{x_B^{\prime}}\frac1Z\psi_{AC}(x_A^{\prime},x_C)\psi_{BC}(x_B^{\prime},x_C)} \\ &=\frac{\psi_{AC}(x_{A},x_{C})}{\sum_{x_{A}^{\prime}}\psi_{AC}(x_{A}^{\prime},x_{C})}\cdot\frac{\psi_{BC}(x_{B},x_{C})}{\sum_{x_{B}^{\prime}}\psi_{BC}(x_{B}^{\prime},x_{C})} . \end{aligned} P(xA,xBxC)=P(xC)P(xA,xB,xC)=xAxBp(xA,xB,xC)P(xA,xB,xC)=xAxBZ1ψAC(xA,xC)ψBC(xB,xC)Z1ψAC(xA,xC)ψBC(xB,xC)=xAψAC(xA,xC)ψAC(xA,xC)xBψBC(xB,xC)ψBC(xB,xC).
    P ( x A ∣ x C ) = P ( x A , x C ) P ( x C ) = ∑ x B ′ P ( x A , x B ′ , x C ) ∑ x A ′ ∑ x B ′ P ( x A ′ , x B ′ , x C ) = ∑ x B ′ 1 Z ψ A C ( x A , x C ) ψ B C ( x B ′ , x C ) ∑ x A ′ ∑ x B ′ 1 Z ψ A C ( x A ′ , x C ) ψ B C ( x B ′ , x C ) = ψ A C ( x A , x C ) ∑ x A ′ ψ A C ( x A ′ , x C ) . \begin{aligned} P(x_A\mid x_C)& =\frac{P(x_A,x_C)}{P(x_C)}=\frac{\sum_{x_B^{\prime}}P(x_A,x_B^{\prime},x_C)}{\sum_{x_A^{\prime}}\sum_{x_B^{\prime}}P(x_A^{\prime},x_B^{\prime},x_C)} \\ &=\frac{\sum_{x_B^{\prime}}\frac{1}{Z}\psi_{AC}(x_A,x_C)\psi_{BC}(x_B^{\prime},x_C)}{\sum_{x_A^{\prime}}\sum_{x_B^{\prime}}\frac{1}{Z}\psi_{AC}(x_A^{\prime},x_C)\psi_{BC}(x_B^{\prime},x_C)} \\ &=\frac{\psi_{AC}(x_A,x_C)}{\sum_{x_A^{\prime}}\psi_{AC}(x_A^{\prime},x_C)}. \end{aligned} P(xAxC)=P(xC)P(xA,xC)=xAxBP(xA,xB,xC)xBP(xA,xB,xC)=xAxBZ1ψAC(xA,xC)ψBC(xB,xC)xBZ1ψAC(xA,xC)ψBC(xB,xC)=xAψAC(xA,xC)ψAC(xA,xC).
    以上两个公式可以验证得到:
    P ( x A , x B ∣ x C ) = P ( x A ∣ x C ) P ( x B ∣ x C ) P(x_A,x_B\mid x_C)=P(x_A\mid x_C)P(x_B\mid x_C) P(xA,xBxC)=P(xAxC)P(xBxC)

3.2.2 马尔可夫随机场中的势函数

作用:用于定量刻画变量集XQ中变量的相关关系,因为非负函数,且在所偏好的变量取值上有较大的函数值
在这里插入图片描述
上图中,假设定量均为二值变量,定义势函数为
ψ A C ( x A , x C ) = { 1.5 , if  x A = x C ; 0.1 , otherwise , ψ B C ( x B , x C ) = { 0.2 , if  x B = x C ; 1.3 , otherwise , \begin{aligned}\psi_{AC}(x_A,x_C)&=\left\{\begin{array}{ll}1.5,&\text{if }x_A=x_C;\\0.1,&\text{otherwise} ,\end{array}\right.\\\psi_{BC}(x_B,x_C)&=\left\{\begin{array}{ll}0.2,&\text{if }x_B=x_C;\\1.3,&\text{otherwise} ,\end{array}\right.\end{aligned} ψAC(xA,xC)ψBC(xB,xC)={1.5,0.1,if xA=xC;otherwise,={0.2,1.3,if xB=xC;otherwise,
上述说明模型偏好XA,XC有相同的取值,XB与XC有不同的取值。令一层含义就是XA,XC正相关,XB,XC负相关。

  • 为满足非负性,指数函数常被用于定义势函数 ψ Q ( x Q ) = e − H Q ( x Q ) \psi_Q(\mathbf{x}_Q)=e^{-H_Q(\mathbf{x}_Q)} ψQ(xQ)=eHQ(xQ)
    其中, H Q ( x Q ) {H_Q(\mathbf{x}_Q)} HQ(xQ)是一个定义在变量XQ的实值函数,常见的形式为:
    H Q ( x Q ) = ∑ u , v ∈ Q , u ≠ v α u v x u x v + ∑ v ∈ Q β v x v H_Q(\mathbf{x}_Q)=\sum_{u,v\in Q,u\neq v}\alpha_{uv}x_ux_v+\sum_{v\in Q}\beta_vx_v HQ(xQ)=u,vQ,u=vαuvxuxv+vQβvxv

3.3 条件随机场

条件随机场是一种判别式无向图模型,条件随机场对多个变量给定相应观测值后的条件概率进行建模。
马尔可夫随机场(MRF)–生成式 和条件随机场(CRF)–判别式 对比:
在这里插入图片描述

4. 总结

降维技术的核心在于减少数据的维度以便于可视化和分析。线性方法,如PCA和LDA,通过在高维空间中寻找最佳的投影方向来实现降维。然而,这些方法在处理实际数据时的效果往往有限,特别是当数据具有复杂的非线性结构时。因此,基于流形学习的非线性降维方法,如ISOMAP、LLE和LE,逐渐成为研究的重点,这些方法通过保持局部或全局的几何结构,使得降维后的数据更能反映其内在特性。此外,概率图模型通过图论和概率论的结合,有效地解决了在复杂系统中变量推断的问题。

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

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

相关文章

Leetcode 1203. 项目管理

1.题目基本信息 1.1.题目描述 有 n 个项目&#xff0c;每个项目或者不属于任何小组&#xff0c;或者属于 m 个小组之一。group[i] 表示第 i 个项目所属的小组&#xff0c;如果第 i 个项目不属于任何小组&#xff0c;则 group[i] 等于 -1。项目和小组都是从零开始编号的。可能…

在docker的容器内如何查看Ubuntu系统版本

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境&#xff1a; docker 一、问题描述 由于 lsb_release -a 只能查看自己电脑&#xff08;宿主机&#xff09;的系统版本&#xff0c;如果在docker的容器内又应该如何查看Ubuntu系统版本呢&#xff…

mac 桌面版docker no space left on device

报错信息 docker pull镜像时报&#xff1a; failed to register layer: Error processing tar file(exit status 1): write /home/admin/oceanbase_bak/bin/observer: no space left on device 解决 增加 docker 虚拟磁盘大小。 调整完点击重启即可。

高校学科竞赛平台开发:SpringBoot技术选型与应用

3系统分析 3.1可行性分析 通过对本高校学科竞赛平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本高校学科竞赛平台采用SSM框架&#xff0c;JAVA作为开发语…

C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式

今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法&#xff0c;来回顾一些基础知识点。 01第一类、字符串方式 这类方法是通过string类型自身方法直接实现。 1、Substring方法 相信大多数人第一个想到的可能就是这个方法。Substring方法是字符串内置方法&#…

【网络基础知识】网络通信概述与TCPIP、UDP协议

网络基础知识 介绍网络基础知识&#xff0c;譬如网络通信概述、OSI 七层模型、IP 地址、TCP/IP 协议族、TCP 和 UDP 协议等等&#xff0c; 旨在以引导入门、了解为主&#xff0c;其中并不会深入、详细地介绍这些内容&#xff1b; Linux网络编程入门移步&#xff1a;【Linux网络…

Mac上强大的菜单栏管理工具

想要Mac用的好&#xff0c;各种工具少不了&#xff0c;一款好用的软件对于提高使用效率和使用舒适度来说非常必要&#xff0c;iBar-强大的菜单栏图标管理工具 随着 Mac 运行的软件增加&#xff0c;状态栏中的图标也越来越多&#xff0c;不仅看得眼花缭乱&#xff0c;而且刘海屏…

小米电机与STM32——CAN通信

背景介绍&#xff1a;为了利用小米电机&#xff0c;搭建机械臂的关节&#xff0c;需要学习小米电机的使用方法。计划采用STM32驱动小米电机&#xff0c;实现指定运动&#xff0c;为此需要了解他们之间的通信方式&#xff0c;指令写入方法等。花了很多时间学习&#xff0c;但网络…

怎么把音频的速度调慢?6个方法调节音频速度

怎么把音频的速度调慢&#xff1f;调慢音频速度不仅可以帮助我们更好地捕捉细节&#xff0c;还能让我们在分析和学习时更加从容。这对于音乐爱好者来说&#xff0c;尤其有助于理解复杂的旋律和和声&#xff0c;使学习过程变得更加高效。而在语言学习中&#xff0c;放慢语速则能…

计算机网络第1章(概述)万字笔记详细版

1.1、计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施计算机网络已经像水&#xff0c;电&#xff0c;煤气这些基础设施一样&#xff0c;成为我们生活中不可或缺的一部分 我国互联网发展状况 中国互联网络信息中心CNNIC 1.2、…

剪辑达人必备:四大抖音视频剪辑工具推荐!

在抖音这个短视频平台上&#xff0c;一个好的剪辑可以让视频内容更加生动有趣&#xff0c;吸引更多的观众。今天&#xff0c;我们就来探讨一下如何利用几款强大的剪辑工具&#xff0c;让你的抖音视频脱颖而出。 福昕视频剪辑&#xff1a;专业与易用并存 直达链接&#xff1a;…

RabbitMQ 入门(二)基本结构和消息模型

一、RabbitMQ的基本结构、角色和消息模型 MQ的基本结构&#xff1a; RabbitMQ中的一些角色&#xff1a; - publisher&#xff1a;生产者 - consumer&#xff1a;消费者 - exchange个&#xff1a;交换机&#xff0c;负责消息路由 - queue&#xff1a;队列&#xff0c;存储消息…

Linux下Docker方式Jenkins安装和配置

一、下载&安装 Jenkins官方Docker仓库地址&#xff1a;https://hub.docker.com/r/jenkins/jenkins 从官网上可以看到&#xff0c;当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。建议下在新的&#xff0c;后面依赖下不来 所以&#xff0c;我们这里&#xff0c;执行doc…

前端开发攻略---前端ocr图片文字提取功能

1、引入资源 通过链接引用 <script src"https://cdn.bootcdn.net/ajax/libs/tesseract.js/5.1.0/tesseract.min.js"></script> npm或其他方式下载 npm i tesseract 2、示例 <!DOCTYPE html> <html lang"en"><head><meta…

【漏洞复现】SpringBlade menu/list SQL注入漏洞

》》》产品描述《《《 致远互联智能协同是一个信息窗口与工作界面,进行所有信息的分类组合和聚合推送呈现。通过面向角色化、业务化、多终端的多维信息空间设计,为不同组织提供协同门户,打破组织内信息壁垒,构建统一协同沟通的平台。 》》》漏洞描述《《《 致远互联 FE协作办公…

Pytest中fixture的scope详解

pytest作为Python技术栈下最主流的测试框架&#xff0c;功能极为强大和灵活。其中Fixture夹具是它的核心。而且pytest中对Fixture的作用范围也做了不同区分&#xff0c;能为我们利用fixture带来很好地灵活性。 下面我们就来了解下这里不同scope的作用 fixture的scope定义 首…

【fisco学习记录2】多群组搭建

说明 文档参考&#xff1a; 多群组部署 — FISCO BCOS 2.0 v2.11.0 文档 (fisco-bcos-documentation.readthedocs.io) 多群组搭建之前&#xff0c;先暂停之前的单群组&#xff0c;并删除&#xff1a; cd fisco bash nodes/127.0.0.1/stop_all.sh rm -rf nodes/ 实现图&…

【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章

目录 &#x1f354; 注意力机制介绍 1.1 注意力概念 1.2 注意力计算规则 1.3 常见的注意力计算规则 &#x1f354; 什么是注意力机制 &#x1f354; 注意力机制的作用 &#x1f354; 注意力机制实现步骤 4.1 步骤 4.2 代码实现 &#x1f354; 小结 学习目标 &#x1…

美团测试面试真题学习

美团真题1–测试基础-业务场景说下你的测试用例设计 功能角度 方法论 边界值、等价类划分、错误推测法示例 输入已注册的用户名和正确的密码&#xff0c;验证是否登录成功;输入已注册的用户名和不正确的密码&#xff0c;验证是否登录失败输入未注册的用户名和任意密码&#xff…

Apache Flink Dashboard

1、Overview Apache Flink Web Dashboardhttp://110.40.130.231:8081/#/overview 这张图片显示的是Apache Flink的Web UI界面&#xff0c;其中包含了以下几个部分&#xff1a; Available Task Slots: 显示当前可用的任务槽位数量。任务槽位是指Flink集群中可用于运行任务的资…