机器学习笔记之高斯分布(五)推断任务之边缘概率分布与条件概率分布

news2025/1/16 8:09:40

机器学习笔记之高斯分布——推断任务之边缘概率分布与条件概率分布

  • 引言
    • 回顾:
      • 卡尔曼滤波
      • 高斯分布与线性计算的相关定理
    • 任务目标与推导过程
      • 任务目标
      • 求解边缘概率分布
      • 求解条件概率分布

引言

上一节介绍了高斯分布概率模型相关的推断问题,并详细介绍了给定联合概率分布求解条件概率分布。本节将继续介绍推断任务——基于随机变量之间存在线性关系的条件下,求解条件概率与边缘概率。

回顾:

卡尔曼滤波

卡尔曼滤波(Kalman Filter)本身是线性高斯动态模型(Linear Gaussian Dynamic Model)的代表,它的性质表示在如下过程:

  • 状态转移概率 P ( i t ∣ i t − 1 ) \mathcal P(i_t \mid i_{t-1}) P(itit1)
    需要注意的点:卡尔曼滤波是‘动态模型’的一种表达,它依然受到‘齐次马尔可夫假设’的约束。
    一阶齐次马尔可夫假设为例,线性高斯动态模型中的相邻隐变量之间存在线性关系,并且对应噪声 ϵ \epsilon ϵ服从高斯分布
    i t = A ⋅ i t − 1 + B + ϵ ϵ ∼ N ( 0 , Q ) i_t = \mathcal A \cdot i_{t-1} + \mathcal B + \epsilon \quad \epsilon \sim \mathcal N(0,\mathcal Q) it=Ait1+B+ϵϵN(0,Q)
    对应概率分布表示如下:
    这种表示方法需要注意。它写的是 N ( A ⋅ i t − 1 + B , Q ) \mathcal N(\mathcal A \cdot i_{t-1} + \mathcal B,\mathcal Q) N(Ait1+B,Q)而不是 A μ + B \mathcal A \mu + \mathcal B Aμ+B。因为 N ( A μ + B , A Q A T ) \mathcal N(\mathcal A \mu + \mathcal B,\mathcal A\mathcal Q\mathcal A^T) N(Aμ+B,AQAT)表示 i t i_t it的边缘概率分布。并且,这种写法意味着 i t − 1 i_{t-1} it1是已知的,可观测的。
    { P ( i t − 1 ) ∼ N ( μ , Q ) P ( i t ∣ i t − 1 ) ∼ N ( A ⋅ i t − 1 + B , Q ) \begin{cases} \mathcal P(i_{t-1}) \sim \mathcal N(\mu,\mathcal Q) \\ \mathcal P(i_{t} \mid i_{t-1}) \sim \mathcal N(\mathcal A \cdot i_{t-1} + \mathcal B,\mathcal Q) \end{cases} {P(it1)N(μ,Q)P(itit1)N(Ait1+B,Q)
    这个式子表示的是关于随机变量自身的线性关系还是期望的线性关系?使用例子描述一下:

    • 已知一个二维高斯分布,它各维度服从的高斯分布如下:
      x 1 ∼ N ( 0 , 1 ) x 2 ∼ N ( 0 , 1.5 ) x_1 \sim \mathcal N(0,1) \quad x_2 \sim \mathcal N(0,1.5) x1N(0,1)x2N(0,1.5)
      对应图像表示如下:
      二维高斯分布-样本示例
    • 定义一个线性关系 Y = 2 X + 2 \mathcal Y = 2\mathcal X + 2 Y=2X+2,上述样本点在线性计算之后的分布表示如下(橙色样本点):
      样本线性变化后的分布结果
      注意,这里仅对原始的样本结果(蓝色样本点)进行线性计算,没有添加其他噪声。从图像中明显观察到:均值已经发生了变化(两团样本的密集区域没有重合在一起)。
      均值由0变成了 2x0+2=2。
      因此, P ( i t ∣ i t − 1 ) ∼ N ( A ⋅ i t − 1 + B , Q ) \mathcal P(i_{t} \mid i_{t-1}) \sim \mathcal N(\mathcal A \cdot i_{t-1} + \mathcal B,\mathcal Q) P(itit1)N(Ait1+B,Q)既表示随机变量的线性关系,也表示期望的线性关系
      需要再次强调, P ( i t ) , P ( i t ∣ i t − 1 ) \mathcal P(i_{t}),\mathcal P(i_t \mid i_{t-1}) P(it),P(itit1)它们两个代表不同的高斯分布。而 A Q A T \mathcal A\mathcal Q\mathcal A^T AQAT是‘基于’ i t = A ⋅ i t − 1 + B i_t = \mathcal A \cdot i_{t-1} + \mathcal B it=Ait1+B线性计算的关于 i t i_t it的边缘概率分布 P ( i t ) \mathcal P(i_t) P(it)的协方差结果。
  • 发射概率 P ( o t ∣ i t ) \mathcal P(o_t \mid i_t) P(otit)
    隐变量与对应时刻观测变量之间存在线性关系,斌且噪声服从高斯分布
    { o t = C ⋅ i t + D + δ δ ∼ N ( 0 , R ) P ( o t ∣ i t ) ∼ N ( C ⋅ i t + D , R ) \begin{cases} o_t = \mathcal C \cdot i_t + \mathcal D + \delta \quad \delta \sim \mathcal N(0,\mathcal R) \\ \mathcal P(o_t \mid i_t) \sim \mathcal N(\mathcal C \cdot i_t + \mathcal D,\mathcal R) \end{cases} {ot=Cit+D+δδN(0,R)P(otit)N(Cit+D,R)

高斯分布与线性计算的相关定理

某随机变量 X \mathcal X X服从高斯分布,并且随机变量 Y \mathcal Y Y与随机变量 X \mathcal X X之间存在线性关系时:
{ X ∼ N ( μ , Σ ) Y = A X + B \begin{cases} \mathcal X \sim \mathcal N(\mu,\Sigma) \\ \mathcal Y = \mathcal A \mathcal X + \mathcal B \end{cases} {XN(μ,Σ)Y=AX+B
那么随机变量 Y \mathcal Y Y同样服从高斯分布
需要注意这里的表示,随机变量 Y \mathcal Y Y的概率分布服从高斯分布,这里的‘概率分布’仅仅是 Y \mathcal Y Y自身的分布,可以理解为‘边缘概率分布’。
Y ∼ N ( A μ + B , A Σ A T ) \mathcal Y \sim \mathcal N(\mathcal A\mu + \mathcal B,\mathcal A \Sigma\mathcal A^T) YN(Aμ+B,AΣAT)
这同样引出期望、协方差线性计算中的表达:
{ E P ( Y ) = E P ( X ) [ A X + B ] = A ⋅ E P ( X ) [ X ] + B = A μ + B Var ( Y ) = Var ( A X + B ) = Var ( A X ) + Var ( B ) = Var ( A X ) = A Σ A T \begin{cases} \begin{aligned}\mathbb E_{\mathcal P(\mathcal Y)} & = \mathbb E_{\mathcal P(\mathcal X)}[\mathcal A \mathcal X + \mathcal B] \\ & = \mathcal A \cdot \mathbb E_{\mathcal P(\mathcal X)}[\mathcal X] + \mathcal B \\ & = \mathcal A \mu + \mathcal B \end{aligned} \\ \begin{aligned} \text{Var}(\mathcal Y) & = \text{Var}(\mathcal A \mathcal X + \mathcal B) \\ & = \text{Var}(\mathcal A \mathcal X) + \text{Var}(\mathcal B) \\ & = \text{Var}(\mathcal A \mathcal X) \\ & = \mathcal A \Sigma\mathcal A^T \end{aligned} \end{cases} EP(Y)=EP(X)[AX+B]=AEP(X)[X]+B=Aμ+BVar(Y)=Var(AX+B)=Var(AX)+Var(B)=Var(AX)=AΣAT

任务目标与推导过程

任务目标

给定随机变量 X \mathcal X X概率分布结果与随机变量 Y \mathcal Y Y基于 X \mathcal X X概率分布结果
其中 Λ − 1 , L − 1 \Lambda^{-1},\mathcal L^{-1} Λ1,L1分别表示 P ( X ) , P ( Y ∣ X ) \mathcal P(\mathcal X),\mathcal P(\mathcal Y \mid \mathcal X) P(X),P(YX)概率分布的精度矩阵(Precision Matrix)。它本身表示‘协方差矩阵’的逆矩阵。在高斯图模型中对非零边进行编码。
这里仅需要知道 P ( X ) , P ( Y ∣ X ) \mathcal P(\mathcal X),\mathcal P(\mathcal Y \mid \mathcal X) P(X),P(YX)的协方差矩阵使用精度矩阵表示,并且 Λ − 1 , L − 1 \Lambda^{-1},\mathcal L^{-1} Λ1,L1之间不存在关联即可。在后续的‘高斯网络’中可能会介绍到。
P ( X ) ∼ N ( μ , Λ − 1 ) P ( Y ∣ X ) ∼ N ( A X + B , L − 1 ) \begin{aligned} \mathcal P(\mathcal X) & \sim \mathcal N(\mu,\Lambda^{-1}) \\ \mathcal P(\mathcal Y \mid \mathcal X) & \sim \mathcal N(\mathcal A \mathcal X + \mathcal B,\mathcal L^{-1}) \end{aligned} P(X)P(YX)N(μ,Λ1)N(AX+B,L1)
基于上述条件,求解随机变量 Y \mathcal Y Y边缘概率分布 P ( Y ) \mathcal P(\mathcal Y) P(Y)条件概率分布 P ( X ∣ Y ) \mathcal P(\mathcal X \mid \mathcal Y) P(XY)

求解边缘概率分布

根据上述条件以及回顾中提到的 线性高斯模型中随机变量之间的关联关系,随机变量 X , Y \mathcal X,\mathcal Y X,Y之间关联关系表示如下:
其中这里的 ϵ \epsilon ϵ表示噪声的分布。
Y = A X + B + ϵ ϵ ∼ N ( 0 , L − 1 ) \mathcal Y = \mathcal A \mathcal X + \mathcal B + \epsilon \quad \epsilon \sim \mathcal N(0,\mathcal L^{-1}) Y=AX+B+ϵϵN(0,L1)
因此随机变量 Y \mathcal Y Y期望结果表示如下:
E P ( Y ) [ Y ] = E P ( X ) [ A X + B + ϵ ] = E P ( X ) [ A X + B ] + E [ ϵ ] ⏟ 0 = A μ + B \begin{aligned} \mathbb E_{\mathcal P(\mathcal Y)}[\mathcal Y] & = \mathbb E_{\mathcal P(\mathcal X)}[\mathcal A \mathcal X + \mathcal B + \epsilon] \\ & = \mathbb E_{\mathcal P(\mathcal X)}[\mathcal A\mathcal X + \mathcal B] + \underbrace{\mathbb E[\epsilon]}_{0} \\ & = \mathcal A \mu + \mathcal B \end{aligned} EP(Y)[Y]=EP(X)[AX+B+ϵ]=EP(X)[AX+B]+0 E[ϵ]=Aμ+B
随机变量 Y \mathcal Y Y协方差结果表示如下:
Var ( Y ) = Var ( A X + B + ϵ ) = Var ( A X + B ) + Var ( ϵ ) = A Λ − 1 A T + L − 1 \begin{aligned} \text{Var}(\mathcal Y) & = \text{Var}(\mathcal A \mathcal X + \mathcal B + \epsilon) \\ & = \text{Var}(\mathcal A\mathcal X + \mathcal B) + \text{Var}(\epsilon) \\ & = \mathcal A \Lambda^{-1}\mathcal A^T + \mathcal L^{-1} \end{aligned} Var(Y)=Var(AX+B+ϵ)=Var(AX+B)+Var(ϵ)=AΛ1AT+L1
至此,随机变量 Y \mathcal Y Y边缘概率分布 P ( Y ) \mathcal P(\mathcal Y) P(Y)服从如下分布:
P ( Y ) ∼ N ( A μ + B , A Λ − 1 A T + L − 1 ) \mathcal P(\mathcal Y) \sim \mathcal N(\mathcal A \mu + \mathcal B, \mathcal A \Lambda^{-1}\mathcal A^T + \mathcal L^{-1}) P(Y)N(Aμ+B,AΛ1AT+L1)

求解条件概率分布

不同上一节中给定联合概率分布,求解条件概率分布,此时给定的是 P ( Y ∣ X ) , P ( X ) \mathcal P(\mathcal Y \mid \mathcal X),\mathcal P(\mathcal X) P(YX),P(X),求解 P ( X ∣ Y ) \mathcal P(\mathcal X \mid \mathcal Y) P(XY)
由于边缘概率分布 P ( Y ) \mathcal P(\mathcal Y) P(Y)已经求出,至此定义一个 Z \mathcal Z Z向量将随机变量 X , Y \mathcal X,\mathcal Y X,Y组合成一个向量
Z = ( X , Y ) T \mathcal Z = (\mathcal X,\mathcal Y)^T Z=(X,Y)T
因此, Z \mathcal Z Z的概率分布表示如下:
直接可以将 Z \mathcal Z Z的概率分布看成‘联合概率分布’。
Z = ( X Y ) ∼ N ( [ μ A ⋅ μ + B ] , [ Λ − 1 , Δ Δ T , L − 1 + A Λ − 1 A T ] ) \mathcal Z = \begin{pmatrix}\mathcal X \\ \mathcal Y\end{pmatrix} \sim \mathcal N\left(\begin{bmatrix}\mu \\ \mathcal A \cdot \mu + \mathcal B\end{bmatrix}, \begin{bmatrix}\Lambda^{-1},\Delta \\ \Delta^T,\mathcal L^{-1} + \mathcal A \Lambda^{-1}\mathcal A^T\end{bmatrix}\right) Z=(XY)N([μAμ+B],[Λ1,ΔΔT,L1+AΛ1AT])
对于这个联合概率分布,期望部分全部是已知的,协方差部分中的 C o v ( X , Y ) , C o v ( Y , X ) Cov(\mathcal X,\mathcal Y),Cov(\mathcal Y,\mathcal X) Cov(X,Y),Cov(Y,X)部分是未知的( Δ \Delta Δ表示)。当然,只要求解出一个,另一个自然也就求解出来(转置关系)。

  • 根据协方差的定义 C o v ( X , Y ) Cov(\mathcal X,\mathcal Y) Cov(X,Y)表示如下:
    为什么要加转置: X , Y \mathcal X,\mathcal Y X,Y可能并不是‘相同大小’的随机变量集合,不加转置无法执行乘法运算。
    Δ = C o v ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) T ] \begin{aligned} \Delta = Cov(\mathcal X,\mathcal Y) = \mathbb E \left[(\mathcal X - \mathbb E[\mathcal X]) (\mathcal Y - \mathbb E[\mathcal Y])^T\right] \end{aligned} Δ=Cov(X,Y)=E[(XE[X])(YE[Y])T]
  • E [ X ] = μ , E [ Y ] = A μ + B , Y = A X + B + ϵ \mathbb E[\mathcal X] = \mu,\mathbb E[\mathcal Y] = \mathcal A \mu + \mathcal B,\mathcal Y = \mathcal A \mathcal X + \mathcal B + \epsilon E[X]=μ,E[Y]=Aμ+B,Y=AX+B+ϵ分别代入上式:
    矩阵的乘法分配律~
    Δ = E [ ( X − μ ) ( A X + B + ϵ − A μ − B ) T ] = E { ( X − μ ) [ A X − A μ + ϵ ] T } = E [ ( X − μ ) ( A X − A μ ) T ] + E [ ( X − μ ) ϵ T ] \begin{aligned} \Delta & = \mathbb E[(\mathcal X - \mu)(\mathcal A \mathcal X + \mathcal B + \epsilon -\mathcal A \mu - \mathcal B)^T] \\ & = \mathbb E\left\{(\mathcal X - \mu)\left[\mathcal A \mathcal X - \mathcal A \mu + \epsilon\right]^T\right\} \\ & = \mathbb E[(\mathcal X - \mu)(\mathcal A \mathcal X - \mathcal A\mu)^T] + \mathbb E[(\mathcal X - \mu)\epsilon^T] \end{aligned} Δ=E[(Xμ)(AX+B+ϵAμB)T]=E{(Xμ)[AXAμ+ϵ]T}=E[(Xμ)(AXAμ)T]+E[(Xμ)ϵT]
    观察第二项 E [ ( x − μ ) ϵ T ] \mathbb E[(x - \mu)\epsilon^T] E[(xμ)ϵT],展开有:
    ϵ ∼ N ( 0 , L − 1 ) \epsilon \sim \mathcal N(0,\mathcal L^{-1}) ϵN(0,L1),因此有 E [ ϵ T ] = 0 \mathbb E[\epsilon^T] = 0 E[ϵT]=0
    E [ ( x − μ ) ϵ T ] = ( X − μ ) E ( ϵ T ) = ( X − μ ) × 0 = 0 \begin{aligned} \mathbb E[(x - \mu)\epsilon^T] & = (\mathcal X - \mu)\mathbb E(\epsilon^T) = (\mathcal X - \mu) \times 0 = 0 \end{aligned} E[(xμ)ϵT]=(Xμ)E(ϵT)=(Xμ)×0=0
  • 因此,原式 Δ = E [ ( X − μ ) ( A X − A μ ) T ] \Delta = \mathbb E[(\mathcal X - \mu)(\mathcal A \mathcal X - \mathcal A\mu)^T] Δ=E[(Xμ)(AXAμ)T],提出公因式 A \mathcal A A,展开如下:
    A \mathcal A A是线性计算中的系数,是常数。
    Δ = E { ( X − μ ) [ A ( X − μ ) ] T } = E [ ( X − μ ) ( X − μ ) T A T ] = E [ ( X − μ ) ( X − μ ) T ] A T \begin{aligned} \Delta & = \mathbb E\left\{(\mathcal X - \mu)\left[ \mathcal A (\mathcal X - \mu)\right]^T\right\} \\ & = \mathbb E\left[(\mathcal X - \mu)(\mathcal X - \mu)^T \mathcal A^T\right] \\ & = \mathbb E[(\mathcal X - \mu)(\mathcal X - \mu)^T] \mathcal A^T \end{aligned} Δ=E{(Xμ)[A(Xμ)]T}=E[(Xμ)(Xμ)TAT]=E[(Xμ)(Xμ)T]AT
  • 其中 E [ ( X − μ ) ( X − μ ) T ] \mathbb E[(\mathcal X - \mu)(\mathcal X - \mu)^T] E[(Xμ)(Xμ)T]就是随机变量 X \mathcal X X的协方差矩阵 Var ( X ) \text{Var}(\mathcal X) Var(X)。至此,的 C o v ( X , Y ) Cov(\mathcal X,\mathcal Y) Cov(X,Y)的最终表示结果为:
    C o v ( X , Y ) = Var ( X ) ⋅ A T = Λ − 1 A T \begin{aligned} Cov(\mathcal X,\mathcal Y) & = \text{Var}(\mathcal X) \cdot \mathcal A^T \\ & = \Lambda^{-1}\mathcal A^T \end{aligned} Cov(X,Y)=Var(X)AT=Λ1AT

同理, C o v ( Y , X ) = ( Λ − 1 A T ) T = A ( Λ − 1 ) T Cov(\mathcal Y,\mathcal X) = \left(\Lambda^{-1}\mathcal A^T\right)^T = \mathcal A(\Lambda^{-1})^T Cov(Y,X)=(Λ1AT)T=A(Λ1)T。将 C o v ( X , Y ) , C o v ( Y , X ) Cov(\mathcal X,\mathcal Y),Cov(\mathcal Y,\mathcal X) Cov(X,Y),Cov(Y,X)带入,至此, Z \mathcal Z Z的概率分布完整表示如下
Z ∼ N ( [ μ A ⋅ μ + B ] , [ Λ − 1 , Λ − 1 A T A Λ − 1 , L − 1 + A Λ − 1 A T ] ) \mathcal Z \sim \mathcal N\left(\begin{bmatrix}\mu \\ \mathcal A \cdot \mu + \mathcal B\end{bmatrix}, \begin{bmatrix}\Lambda^{-1},\Lambda^{-1}\mathcal A^T \\ \mathcal A\Lambda^{-1},\mathcal L^{-1} + \mathcal A \Lambda^{-1}\mathcal A^T\end{bmatrix}\right) ZN([μAμ+B],[Λ1,Λ1ATAΛ1,L1+AΛ1AT])
此时,关于 X , Y \mathcal X,\mathcal Y X,Y联合概率分布已经求解,可以使用上一节的联合概率分布求解方式进行求解:
直接将结论抄过来啦~,有需要的去看一眼~,但是需要注意的是,由于上一节求解的是 P ( Y ∣ X ) \mathcal P(\mathcal Y \mid \mathcal X) P(YX),本节求解的是 P ( X ∣ Y ) \mathcal P(\mathcal X \mid \mathcal Y) P(XY),需要将所有的 a , b a,b a,b下标调换过来。
P ( X ∣ Y ) ∼ N ( μ a . b + Σ a b Σ b b − 1 X b , Σ a a . b ) = N ( μ a + Σ a b Σ b b − 1 ( X b − μ b ) , Σ a a − Σ a b Σ b b − 1 Σ b a ) \begin{aligned} \mathcal P(\mathcal X \mid \mathcal Y) & \sim \mathcal N(\mu_{a.b} + \Sigma_{ab}\Sigma_{bb}^{-1}\mathcal X_b,\Sigma_{aa.b}) \\ & = \mathcal N(\mu_a + \Sigma_{ab}\Sigma_{bb}^{-1}(\mathcal X_b - \mu_b),\Sigma_{aa} - \Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba}) \end{aligned} P(XY)N(μa.b+ΣabΣbb1Xb,Σaa.b)=N(μa+ΣabΣbb1(Xbμb),ΣaaΣabΣbb1Σba)
将上述对应的量代入:
Σ b a → \Sigma_{ba} \to Σba正定矩阵的性质:正定矩阵的转置等于本身。
{ X b → Y μ a → E [ X ] = μ μ b → E [ Y ] = A μ + B Σ a a → Λ − 1 Σ b b → L − 1 + A Λ − 1 A T Σ a b → Λ − 1 A T Σ b a → A ( Λ − 1 ) T = A Λ − 1 \begin{cases} \mathcal X_b \to \mathcal Y\\ \mu_a \to \mathbb E[\mathcal X] = \mu \\ \mu_b \to \mathbb E[\mathcal Y] = \mathcal A \mu + \mathcal B \\ \Sigma_{aa} \to \Lambda^{-1} \\ \Sigma_{bb} \to \mathcal L^{-1} + \mathcal A \Lambda^{-1}\mathcal A^T \\ \Sigma_{ab} \to \Lambda^{-1}\mathcal A^T \\ \Sigma_{ba} \to \mathcal A(\Lambda^{-1})^T = \mathcal A\Lambda^{-1} \end{cases} XbYμaE[X]=μμbE[Y]=Aμ+BΣaaΛ1ΣbbL1+AΛ1ATΣabΛ1ATΣbaA(Λ1)T=AΛ1
最终有:
P ( X ∣ Y ) ∼ N ( Σ { A T L ( y − B ) + A μ } , Σ ) Σ = Λ + A T L A − 1 \mathcal P(\mathcal X \mid \mathcal Y) \sim \mathcal N(\Sigma \{\mathcal A^T \mathcal L(y-\mathcal B) + \mathcal A \mu\},\Sigma) \quad \Sigma = \Lambda + \mathcal A^T \mathcal L\mathcal A^{-1} P(XY)N(Σ{ATL(yB)+Aμ},Σ)Σ=Λ+ATLA1
至此,高斯分布部分介绍完毕。下一节将介绍高斯网络(Gaussian Network)

相关参考:
概率图模型(四):经典概率图模型
【PRML】高斯分布
机器学习-数学基础-概率-高斯分布6-已知边缘和条件概率求解联合概率分布

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

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

相关文章

RabbitMQ系列【12】惰性队列

有道无术,术尚可求,有术无道,止于术。 文章目录前言设置为惰性队列内存开销对比前言 默认情况下,当生产者将消息发送到 RabbitMQ 的时候,队列中的消息会尽可能的存储在内存之中,这样可以更加快速的将消息发…

CTFHub技能树 Web-SQL注入详解

文章目录0x01 整数型注入0x02 字符型注入0x03 报错注入0x04 布尔盲注0x05 时间盲注0x06 MySql结构0x07 Cookie注入0x08 空格绕过0x09 UA注入0x10 Refer注入总结摘抄0x01 整数型注入 解题WP 第一步 尝试闭合点 第二步 判断列数 id1 order by 2 页面正常 id1 order by 3 页面…

C语言中的文件操作

在今天的文章中,我将要讲解C语言里的文件操作的详细知识。 目录1.为什么使用文件2.什么是文件2.1程序文件2.2数据文件2.3文件名3.文件的打开和关闭3.1文件指针3.2文件的打开和关闭3.2.1 fopen函数3.2.2 fclose函数3.2.3 文件的打开方式4.文件的顺序读写4.1 文件输入…

高通量筛选——离子化合物

上线离子通道筛选平台,提供形式多样的高表达细胞系的离子通道检测及新药临床前离子通道作用评价服务。 离子通道离子通道 (Ion Channel) 是一类跨膜的大分子孔道蛋白,可允许特定类型离子在电化学梯度驱动下穿过细胞膜,从而完成信号传导、细…

罗丹明PEG巯基,Rhodamine PEG Thiol,RB-PEG-SH

产品名称:罗丹明PEG巯基 英文名称:Rhodamine PEG Thiol,RB-PEG-SH 罗丹明B-PEG巯基(RB-PEG-SH)可以用来修饰蛋白质、多肽以及其他材料或者小分子。马来酰亚胺和巯基(-SH)在PH6.5-7.5很容易形成…

JAVA maven

Maven基础 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM) POM(Project Object Model):项目对象模型。 项目对象模型(POM)需要加载pom.xml来确定项目&#x…

【SpringBoot笔记27】SpringBoot集成ES数据库之操作index索引(创建、删除、获取)

这篇文章,主要介绍SpringBoot如何操作ES数据库中的index索引(创建、删除、获取)。 目录 一、SpringBoot操作ES索引 1.1、创建索引 1.2、删除索引 1.3、获取索引 1.4、判断索引是否存在 一、SpringBoot操作ES索引 ES的高级客户端中&…

一、数据库查询语句(单表查询篇)

一、数据库查询语句(单表查询篇) 单表查询&#xff1a;SELECT 语句仅从一个表/视图中检索数据&#xff0c;称单表查询。即其中的<普通表> 使用的是[<模式名>.]<基表名|视图名>。 该查询的语句所依赖的表是创建数据库实例默认勾选的两个实例&#xff1a;BOOKS…

Python数据分析实战-实现txt文件与列表(list)相互读写转换(附源码和实现效果)

前面我介绍了可视化的一些方法以及机器学习在预测方面的应用&#xff0c;分为分类问题&#xff08;预测值是离散型&#xff09;和回归问题&#xff08;预测值是连续型&#xff09;&#xff08;具体见之前的文章&#xff09;。 从本期开始&#xff0c;我将做一个数据分析类实战…

python对指定字符串逆序的几种方法

对于一个给定的字符串&#xff0c;逆序输出&#xff0c;这个任务对于python来说是一种很简单的操作&#xff0c;毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了&#xff0c;今天总结了一下python中对于字符串的逆序输出的6种常用的方法 方法一&#xff1a;直接使…

04 数学软件与建模---Lingo

(12条消息) Lingo学习笔记&#xff08;一&#xff09;——语法入门_小白成长之旅的博客-CSDN博客 1.在LINGO中求解如下的LP问题&#xff1a; min2*x13*x2; x1x2>350; x1>100; 2*x1x2<600; 2.LINGO中的集 2.1 集的定义 对实际问题建模的时候&#xff0c;总会遇到一群…

java单例模式--懒汉式、饿汉式(第二次学习)

目录 java单例模式--懒汉式、饿汉式 1、要点 2、单例模式的类型&#xff08;五种&#xff09; 2.1 饿汉式 2.2 枚举饿汉式&#xff08;推荐使用&#xff09; 2.3 懒汉式单例 2.4 DCL懒汉式&#xff08;双检锁的懒汉式&#xff09; 2.5 内部类懒汉式&#xff08;推荐使用…

vue2 sass 安装及使用2

根据上一篇 vue2 sass 安装及使用_lsswear的博客-CSDN博客&#xff0c;使用vue-cli 5版本继续尝试安装sass。 本地环境&#xff1a; win10 vue2 vue-cli 5 sass安装 vue create testsass npm i node-loaderadded 2 packages in 6snpm i sass-loaderadded 1 package in 3s…

【pytorch】MNIST 梯度上升法求使得某类概率最大的样本

目标&#xff1a;用 MNIST 训练一个 CNN 模型&#xff0c;然后用梯度上升法生成一张图片&#xff0c;使得模型对这张图片的预测结果为 8 import numpy as np import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import torchvi…

jsp科研管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 科研管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发&#xff0c;数据库为Mysql&#xff0c;使用ja…

面试:KOOM内存泄漏的监控

LeakCannary 为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary&#xff1f;因为它是真强啊&#xff01;_慕课手记 内存快照是在触发了onDestory中做的 目前&#xff0c;LeakCanary 支持以下五种 Android 场景中的内存泄漏监测&#xff1a; 1、已销毁的 Activity 对象…

基于java+ssm的在线投票管理系统-计算机毕业设计

项目介绍 基于SSM的在线投票系统以XXX学院为背景&#xff0c;运用在校所学习的软件开发原理&#xff0c;采用SpringSpringMVCMyBatis技术和MySQL数据库构建一个基于B/S模式的在线投票系统。本系统在设计之初&#xff0c;结合网络上。现有的在线投票系统。经过具体分析之后都出…

【Go】 力扣 - 剑指 Offer 第五天 - 二维数组中的查找

[Go] 力扣 - 剑指 Offer 第五天 - 二维数组中的查找题目来源题目描述示例题目分析算法暴力法代码实现复杂度分析二分法代码实现复杂度分析模拟 BST 标记查找法代码实现复杂度分析结尾耐心和持久胜过激烈和狂热。 题目来源 来源&#xff1a;力扣&#xff08;LeetCode&#xff0…

TestStand-从LabVIEW创建TestStand数据类型的簇

文章目录从LabVIEW创建TestStand数据类型的簇从LabVIEW创建TestStand数据类型的簇 TestStand提供数字、字符串、布尔值和对象引用内置数据类型。 TestStand还提供了几种标准的命名数据类型&#xff0c;包括路径、错误、LabVIEW模拟波形等。可以通过创建容器数据类型来保存任何…

【第四部分 | JavaScript 基础】1:JS概述、变量及输入输出

目录 | 概述 | JS的书写位置 | 输入输出 | 变量 命名规范 基本使用 通过输入语句prompt把信息赋值给变量 | 数据类型 JS数据类型的特别 简单数据类型 简介 简单数据类型 Number 简单数据类型 String 简单数据类型 Boolean、Undefined、Null 获取类型 类型转换 | …