概率图模型&概率模型 及其应用

2023-10-29

概率图模型

有向 vs 无向

概率图模型用图刻画一组随机变量之间的相关关系. 有向(无环)图刻画的概率图模型称作 bayesian network, 无向图刻画的概率图模型称作 markov network.

有向图模型和无向图模型直观的区别在于“因果性”, 本质的区别在于两种模型建模了不同的独立关系.例如,从 independence map 的角度: 有向图模型无法表示无向环形关系, 无向图模型无法表示有向 V 形结构.

无向图模型

Pr ⁡ ( s ) = 1 Z ∏ C ϕ C ( s C ) \Pr(s) = \frac{1}{Z} \prod_{C} \phi_C(s_C) Pr(s)=Z1CϕC(sC)

有向图模型

Pr ⁡ ( s ) = ∏ i Pr ⁡ ( s i ∣ p a r e n t ( s i ) ) \Pr(s) = \prod_i \Pr(s_i \vert \mathrm{parent}(s_i)) Pr(s)=iPr(siparent(si))

概率模型

参数估计

参数分布

Pr ⁡ ( θ ∣ S ) ∝ Pr ⁡ ( θ ) Pr ⁡ ( S ∣ θ ) \Pr(\theta \vert S) \propto \Pr(\theta) \Pr(S \vert \theta) Pr(θS)Pr(θ)Pr(Sθ)

极大后验

arg ⁡ max ⁡ θ Pr ⁡ ( θ ∣ S ) = arg ⁡ max ⁡ θ Pr ⁡ ( θ ) Pr ⁡ ( S ∣ θ ) \arg \max_{\theta} \Pr(\theta \vert S) = \arg \max_{\theta} \Pr(\theta) \Pr(S \vert \theta) argθmaxPr(θS)=argθmaxPr(θ)Pr(Sθ)

极大似然 (极大后验的基础上假定参数的先验均匀)

arg ⁡ max ⁡ θ Pr ⁡ ( θ ∣ S ) = arg ⁡ max ⁡ θ Pr ⁡ ( S ∣ θ ) \arg \max_{\theta} \Pr(\theta \vert S) = \arg \max_{\theta} \Pr(S \vert \theta) argθmaxPr(θS)=argθmaxPr(Sθ)

隐变量估计

极大似然

arg ⁡ max ⁡ θ Pr ⁡ ( θ ∣ S ) = arg ⁡ max ⁡ θ Pr ⁡ ( S ∣ θ ) = arg ⁡ max ⁡ θ ∑ Z Pr ⁡ ( S , Z ∣ θ ) \arg \max_{\theta} \Pr(\theta \vert S) = \arg \max_{\theta} \Pr(S \vert \theta) = \arg \max_{\theta} \sum_{Z} \Pr(S,Z \vert \theta) argθmaxPr(θS)=argθmaxPr(Sθ)=argθmaxZPr(S,Zθ)

似然下界

weighted algebra geometry inequality 角度:

∑ Z Pr ⁡ ( S , Z ∣ θ ) = ∑ Z Pr ⁡ ( Z ∣ η ) Pr ⁡ ( S , Z ∣ θ ) Pr ⁡ ( Z ∣ η ) ⩾ ∏ Z ( Pr ⁡ ( S , Z ∣ θ ) Pr ⁡ ( Z ∣ η ) ) Pr ⁡ ( Z ∣ η ) \sum_{Z} \Pr(S,Z \vert \theta) = \sum_{Z} \Pr(Z \vert \eta) \frac{\Pr(S,Z \vert \theta)}{\Pr(Z \vert \eta)} \geqslant \prod_{Z} \left( \frac{\Pr(S,Z \vert \theta)}{\Pr(Z \vert \eta)} \right)^{\Pr(Z \vert \eta)} ZPr(S,Zθ)=ZPr(Zη)Pr(Zη)Pr(S,Zθ)Z(Pr(Zη)Pr(S,Zθ))Pr(Zη)

jensen’s inequality 角度:

log ⁡ ∑ Z Pr ⁡ ( S , Z ∣ θ ) = log ⁡ ∑ Z Pr ⁡ ( Z ∣ η ) Pr ⁡ ( S , Z ∣ θ ) Pr ⁡ ( Z ∣ η ) ⩾ ∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( S , Z ∣ θ ) Pr ⁡ ( Z ∣ η ) \log \sum_{Z} \Pr(S,Z \vert \theta) = \log \sum_{Z} \Pr(Z \vert \eta) \frac{\Pr(S,Z \vert \theta)}{\Pr(Z \vert \eta)} \geqslant \sum_{Z} \Pr(Z \vert \eta) \log \frac{\Pr(S,Z \vert \theta)}{\Pr(Z \vert \eta)} logZPr(S,Zθ)=logZPr(Zη)Pr(Zη)Pr(S,Zθ)ZPr(Zη)logPr(Zη)Pr(S,Zθ)

∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( S , Z ∣ θ ) Pr ⁡ ( Z ∣ η ) = ∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( S , Z ∣ θ ) − ∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( Z ∣ η ) = ∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( S , Z ∣ θ ) + E n t r o p y ( Pr ⁡ ( Z ∣ η ) ) \begin{aligned} \sum_{Z} \Pr(Z \vert \eta) \log \frac{\Pr(S,Z \vert \theta)}{\Pr(Z \vert \eta)} &= \sum_{Z} \Pr(Z \vert \eta) \log \Pr(S,Z \vert \theta) - \sum_{Z} \Pr(Z \vert \eta) \log \Pr(Z \vert \eta) \\ &= \sum_{Z} \Pr(Z \vert \eta) \log \Pr(S,Z \vert \theta) + \mathrm{Entropy}(\Pr(Z \vert \eta)) \\ \end{aligned} ZPr(Zη)logPr(Zη)Pr(S,Zθ)=ZPr(Zη)logPr(S,Zθ)ZPr(Zη)logPr(Zη)=ZPr(Zη)logPr(S,Zθ)+Entropy(Pr(Zη))

下界间隙

∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( S , Z ∣ θ ) Pr ⁡ ( Z ∣ η ) = ∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( Z ∣ S , θ ) Pr ⁡ ( S ∣ θ ) Pr ⁡ ( Z ∣ η ) = log ⁡ Pr ⁡ ( S ∣ θ ) − K L ( Pr ⁡ ( Z ∣ η ) ∥ Pr ⁡ ( Z ∣ S , θ ) ) \begin{aligned} \sum_{Z} \Pr(Z \vert \eta) \log \frac{\Pr(S,Z \vert \theta)}{\Pr(Z \vert \eta)} &= \sum_{Z} \Pr(Z \vert \eta) \log \frac{\Pr(Z \vert S,\theta) \Pr(S \vert \theta)}{\Pr(Z \vert \eta)} \\ &= \log \Pr(S \vert \theta) - \mathrm{KL}(\Pr(Z \vert \eta) \Vert \Pr(Z \vert S,\theta)) \end{aligned} ZPr(Zη)logPr(Zη)Pr(S,Zθ)=ZPr(Zη)logPr(Zη)Pr(ZS,θ)Pr(Sθ)=logPr(Sθ)KL(Pr(Zη)Pr(ZS,θ))

恒等式
log ⁡ Pr ⁡ ( S ∣ θ ) = ∑ Z Pr ⁡ ( Z ∣ η ) log ⁡ Pr ⁡ ( S , Z ∣ θ ) + E n t r o p y ( Pr ⁡ ( Z ∣ η ) ) + K L ( Pr ⁡ ( Z ∣ S , θ ) ∥ Pr ⁡ ( Z ∣ η ) ) \log \Pr(S \vert \theta) = \sum_{Z} \Pr(Z \vert \eta) \log \Pr(S,Z \vert \theta) + \mathrm{Entropy}(\Pr(Z \vert \eta)) + \mathrm{KL}(\Pr(Z \vert S,\theta) \Vert \Pr(Z \vert \eta)) logPr(Sθ)=ZPr(Zη)logPr(S,Zθ)+Entropy(Pr(Zη))+KL(Pr(ZS,θ)Pr(Zη))

EM 算法

θ t + 1 = arg ⁡ max ⁡ θ t ∑ Z Pr ⁡ ( Z ∣ S , θ t ) log ⁡ Pr ⁡ ( S , Z ∣ θ t ) \theta^{t+1} = \arg \max_{\theta^t} \sum_{Z} \Pr(Z \vert S,\theta^t) \log \Pr(S,Z \vert \theta^t) θt+1=argθtmaxZPr(ZS,θt)logPr(S,Zθt)

  • E 步: 固定参数 θ \theta θ, 优化隐变量分布参数 η \eta η. 无约束, 下界间隙 K L ( Pr ⁡ ( Z ∣ η ) ∥ Pr ⁡ ( Z ∣ S , θ ) ) \mathrm{KL}(\Pr(Z \vert \eta) \Vert \Pr(Z \vert S,\theta)) KL(Pr(Zη)Pr(ZS,θ)).
  • M 步: 固定隐变量分布参数 η \eta η, 优化参数 θ \theta θ. 去除常量 K L ( Pr ⁡ ( Z ∣ S , θ ) ∥ Pr ⁡ ( Z ∣ η ) ) \mathrm{KL}(\Pr(Z \vert S,\theta) \Vert \Pr(Z \vert \eta)) KL(Pr(ZS,θ)Pr(Zη)) E n t r o p y ( Pr ⁡ ( Z ∣ η ) ) \mathrm{Entropy}(\Pr(Z \vert \eta)) Entropy(Pr(Zη)).

变分推断

arg ⁡ min ⁡ ζ K L ( Pr ⁡ ( Y ∣ ζ ) ∥ Pr ⁡ ( Y ∣ X ) ) \arg \min_{\zeta} \mathrm{KL}(\Pr(Y \vert \zeta) \Vert \Pr(Y \vert X)) argζminKL(Pr(Yζ)Pr(YX))

Pr ⁡ ( Y ∣ ζ ) \Pr(Y \vert \zeta) Pr(Yζ) 逼近 Pr ⁡ ( Y ∣ X ) \Pr(Y \vert X) Pr(YX). 可以使用梯度等方法.


应用例子1 BM RBM

BM boltzmann machine
BM 是一种最小化能量框架下的二值神经网络.

E n g ( s ) = ∑ i < j E n g ( e i j ) + ∑ i E n g ( v i ) = − ∑ i < j α i j s i s j − ∑ i β i s i \mathrm{Eng}(s) = \sum_{i < j} \mathrm{Eng}(e_{ij}) + \sum_{i} \mathrm{Eng}(v_i) = - \sum_{i < j} \alpha_{ij} s_i s_j - \sum_{i} \beta_i s_i Eng(s)=i<jEng(eij)+iEng(vi)=i<jαijsisjiβisi

BM 本质上是引入了隐变量的无向图模型. 每条边或每个顶点各自含有一个隐变量, 组成一个团.

Pr ⁡ ( s ) = ∏ i < j e α i j e s i e s j ∏ i e β i e s i \Pr(s) = \prod_{i < j} e^{\alpha_{ij}} e^{s_i} e^{s_j} \prod_{i} e^{\beta_i} e^{s_i} Pr(s)=i<jeαijesiesjieβiesi

西瓜书 图 5.14

RBM restricted boltzmann machine

E n g ( h , v ) = − ∑ i n ∑ j m α i j h i v j − ∑ i n β i h i − ∑ j m γ i v j = − h T A v − h T B − v T Γ \mathrm{Eng}(h,v) = - \sum_{i}^{n} \sum_{j}^{m} \alpha_{ij} h_i v_j - \sum_{i}^{n} \beta_i h_i - \sum_{j}^{m} \gamma_i v_j = - h^T \Alpha v - h^T \Beta - v^T \Gamma Eng(h,v)=injmαijhivjinβihijmγivj=hTAvhTBvTΓ

Pr ⁡ ( h , v ) = e h T A v + h T B + v T Γ ∬ e h T A v + h T B + v T Γ d h d v \Pr(h,v) = \frac{\displaystyle e^{h^T \Alpha v + h^T \Beta + v^T \Gamma}}{\displaystyle \iint e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h \mathrm{d} v} Pr(h,v)=ehTAv+hTB+vTΓdhdvehTAv+hTB+vTΓ

极大似然

arg ⁡ max ⁡ θ log ⁡ ∏ k K Pr ⁡ ( v ( k ) ) \arg \max_{\theta} \log \prod_{k}^{K} \Pr(v^{(k)}) argθmaxlogkKPr(v(k))

log ⁡ ∏ k K Pr ⁡ ( v ( k ) ) = ∑ k K log ⁡ Pr ⁡ ( v ( k ) ) = ∑ k K log ⁡ ∫ Pr ⁡ ( v ( k ) , h ) d h = ∑ k K log ⁡ ∫ e h T A v + h T B + v T Γ d h ∬ e h T A v + h T B + v T Γ d h d v = ∑ k K ( log ⁡ ∫ e h T A v + h T B + v T Γ d h ) − K log ⁡ ∬ e h T A v + h T B + v T Γ d h d v \begin{aligned} & \log \prod_{k}^{K} \Pr(v^{(k)}) \\ =& \sum_{k}^{K} \log \Pr(v^{(k)}) \\ =& \sum_{k}^{K} \log \int \Pr(v^{(k)},h) \mathrm{d} h \\ =& \sum_{k}^{K} \log \frac{\displaystyle \int e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h}{\displaystyle \iint e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h \mathrm{d} v} \\ =& \sum_{k}^{K} \left( \log \int e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h \right) - K \log \iint e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h \mathrm{d} v \\ \end{aligned} ====logkKPr(v(k))kKlogPr(v(k))kKlogPr(v(k),h)dhkKlogehTAv+hTB+vTΓdhdvehTAv+hTB+vTΓdhkK(logehTAv+hTB+vTΓdh)KlogehTAv+hTB+vTΓdhdv

d d θ log ⁡ ∏ k K Pr ⁡ ( v ( k ) ) = d d θ ∑ k K ( log ⁡ ∫ e h T A v + h T B + v T Γ d h ) − K log ⁡ ∬ e h T A v + h T B + v T Γ d h d v = ∑ k K ( ∫ e h T A v + h T B + v T Γ d d θ ( h T A v + h T B + v T Γ ) d h ∫ e h T A v + h T B + v T Γ d h ) − K ∬ e h T A v + h T B + v T Γ d d θ ( h T A v + h T B + v T Γ ) d h d v ∬ e h T A v + h T B + v T Γ d h d v = ∑ k K ( ∫ Pr ⁡ ( h ∣ v ) d d θ ( h T A v + h T B + v T Γ ) d h ) − K ∬ Pr ⁡ ( h , v ) d d θ ( h T A v + h T B + v T Γ ) d h d v = ∑ k K E h ∼ Pr ⁡ ( h ∣ v ) [ h v T d A + h d B + v d Γ ] − K E h , v ∼ Pr ⁡ ( h , v ) [ h v T d A + h d B + v d Γ ] \begin{aligned} & \frac{\mathrm{d}}{\mathrm{d} \theta} \log \prod_{k}^{K} \Pr(v^{(k)}) \\ =& \frac{\mathrm{d}}{\mathrm{d} \theta} \sum_{k}^{K} \left( \log \int e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h \right) - K \log \iint e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h \mathrm{d} v \\ =& \sum_{k}^{K} \left( \frac{\displaystyle \int e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \frac{\mathrm{d}}{\mathrm{d} \theta} (h^T \Alpha v + h^T \Beta + v^T \Gamma) \mathrm{d} h}{\displaystyle \int e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h} \right) - K \frac{\displaystyle \iint e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \frac{\mathrm{d}}{\mathrm{d} \theta} (h^T \Alpha v + h^T \Beta + v^T \Gamma) \mathrm{d} h \mathrm{d} v}{\displaystyle \iint e^{h^T \Alpha v + h^T \Beta + v^T \Gamma} \mathrm{d} h \mathrm{d} v} \\ =& \sum_{k}^{K} \left( \int \Pr(h \vert v) \frac{\mathrm{d}}{\mathrm{d} \theta} (h^T \Alpha v + h^T \Beta + v^T \Gamma) \mathrm{d} h \right) - K \iint \Pr(h,v) \frac{\mathrm{d}}{\mathrm{d} \theta} (h^T \Alpha v + h^T \Beta + v^T \Gamma) \mathrm{d} h \mathrm{d} v \\ =& \sum_{k}^{K} \mathop{\mathbb{E}}\limits_{h \sim \Pr(h \vert v)} \left[ h v^T \mathrm{d} \Alpha + h \mathrm{d} \Beta + v \mathrm{d} \Gamma \right] - K \mathop{\mathbb{E}}\limits_{h,v \sim \Pr(h,v)} \left[ h v^T \mathrm{d} \Alpha + h \mathrm{d} \Beta + v \mathrm{d} \Gamma \right] \\ \end{aligned} ====dθdlogkKPr(v(k))dθdkK(logehTAv+hTB+vTΓdh)KlogehTAv+hTB+vTΓdhdvkKehTAv+hTB+vTΓdhehTAv+hTB+vTΓdθd(hTAv+hTB+vTΓ)dhKehTAv+hTB+vTΓdhdvehTAv+hTB+vTΓdθd(hTAv+hTB+vTΓ)dhdvkK(Pr(hv)dθd(hTAv+hTB+vTΓ)dh)KPr(h,v)dθd(hTAv+hTB+vTΓ)dhdvkKhPr(hv)E[hvTdA+hdB+vdΓ]Kh,vPr(h,v)E[hvTdA+hdB+vdΓ]

对比散度 Contrastive Dìvergence

考虑第 k 个样本的似然微分.

积分求期望的代价不可接受. (例如, 原始的二值神经网络, 求和 2 n + m 2^{n+m} 2n+m 次.)

  • 从积分的角度, 积分是概率的规范化和边缘化, 采用中值定理简化.
  • 从期望的角度, 期望是随机变量的代表性取值, 通过采样代表简化.

∫ Pr ⁡ ( h ∣ v ) d d θ ( h T A v + h T B + v T Γ ) d h − ∬ Pr ⁡ ( h , v ) d d θ ( h T A v + h T B + v T Γ ) d h d v = E h ∼ Pr ⁡ ( h ∣ v ) [ h v T d A + h d B + v d Γ ] − E h , v ∼ Pr ⁡ ( h , v ) [ h v T d A + h d B + v d Γ ] ≈ ( h v T d A + h d B + v d Γ ) − ( h ′ v ′ T d A + h ′ d B + v ′ d Γ ) \begin{aligned} & \int \Pr(h \vert v) \frac{\mathrm{d}}{\mathrm{d} \theta} (h^T \Alpha v + h^T \Beta + v^T \Gamma) \mathrm{d} h - \iint \Pr(h,v) \frac{\mathrm{d}}{\mathrm{d} \theta} (h^T \Alpha v + h^T \Beta + v^T \Gamma) \mathrm{d} h \mathrm{d} v \\ =& \mathop{\mathbb{E}}\limits_{h \sim \Pr(h \vert v)} \left[ h v^T \mathrm{d} \Alpha + h \mathrm{d} \Beta + v \mathrm{d} \Gamma \right] - \mathop{\mathbb{E}}\limits_{h,v \sim \Pr(h,v)} \left[ h v^T \mathrm{d} \Alpha + h \mathrm{d} \Beta + v \mathrm{d} \Gamma \right] \\ \approx& (h v^T \mathrm{d} \Alpha + h \mathrm{d} \Beta + v \mathrm{d} \Gamma) - (h' v'^T \mathrm{d} \Alpha + h' \mathrm{d} \Beta + v' \mathrm{d} \Gamma) \\ \end{aligned} =Pr(hv)dθd(hTAv+hTB+vTΓ)dhPr(h,v)dθd(hTAv+hTB+vTΓ)dhdvhPr(hv)E[hvTdA+hdB+vdΓ]h,vPr(h,v)E[hvTdA+hdB+vdΓ](hvTdA+hdB+vdΓ)(hvTdA+hdB+vdΓ)

上式采样 1 次, 可推广为多次采样. 采样方式为 gibbs sampling.

Pr ⁡ ( h ∣ v ) = ∏ i n Pr ⁡ ( h i ∣ v ) Pr ⁡ ( v ∣ h ) = ∏ j m Pr ⁡ ( v j ∣ h ) \begin{aligned} \Pr(h \vert v) = \prod_{i}^{n} \Pr(h_i \vert v) \\ \Pr(v \vert h) = \prod_{j}^{m} \Pr(v_j \vert h) \\ \end{aligned} Pr(hv)=inPr(hiv)Pr(vh)=jmPr(vjh)

这一简化很像负采样 (negative sampling).

应用示例2 概率图模型中网络结构估计

Pr ⁡ ( G ∣ S ) ∝ ∑ θ Pr ⁡ ( S ∣ θ , G ) Pr ⁡ ( θ ∣ G ) Pr ⁡ ( G ) \Pr(G \vert S) \propto \sum_{\theta} \Pr(S \vert \theta,G) \Pr(\theta \vert G) \Pr(G) Pr(GS)θPr(Sθ,G)Pr(θG)Pr(G)

其中 Pr ⁡ ( θ ∣ G ) \Pr(\theta \vert G) Pr(θG) 是给定网络结构的参数的先验. (网络结构不同, 参数的结构不同.)

网络结构是离散的, 通常认为 Pr ⁡ ( G ) \Pr(G) Pr(G) 是均匀分布.

Pr ⁡ ( G ∣ S ) ∝ ∑ θ Pr ⁡ ( S ∣ θ , G ) Pr ⁡ ( θ ∣ G ) \Pr(G \vert S) \propto \sum_{\theta} \Pr(S \vert \theta,G) \Pr(\theta \vert G) Pr(GS)θPr(Sθ,G)Pr(θG)

限制为: 有限种取值的离散随机变量组成的有向图模型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以贪心的搜索网络结构 (例如: 爬山法, beam search, 分支限界, 遗传算法, …).

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

概率图模型&概率模型 及其应用 的相关文章

随机推荐

  • Java程序员的福音:Java项目教学之图书管理系统(含源代码)

    1 图书管理系统项目演示 图书管理系统分析 定义Book类 完成主界面和选择 完成查询所有图书 完成添加图书 完成删除图书 完成修改图书 使用Debug追踪调试 2 图书管理系统之标准Book类 我们发现每一本书都有书名和价格 定义一个Bo
  • 京东一面:MySQL 中的 distinct 和 group by 哪个效率更高?

    先说大致的结论 完整结论在文末 在语义相同 有索引的情况下group by和distinct都能使用索引 效率相同 在语义相同 无索引的情况下 distinct效率高于group by 原因是distinct 和 group by都会进行分
  • 【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL源码分析

    一 环境介绍 RK3588主板搭载Android12操作系统 内核是Linux5 10 使用ST的六轴传感器LSM6DSR芯片 二 芯片介绍 LSM6DSR是一款加速度和角速度 陀螺仪 六轴传感器 还内置了一个温度传感器 该芯片可以选择I2
  • Angular4.0_路由守卫

    路由守卫 只有当用户已经登录并拥有某些权限时 才能进入某些路由 一个由多个表单组成的向导 例如注册流程 用户只有在当前路由的组件中填写了满足要求的信息才可以导航到下一个路由 当用户未执行保存操作 而试图离开当前导航时 提醒用户 CanAct
  • 华为机试HJ27 查找兄弟单词

    HJ27 查找兄弟单词 Python 题目 解题思路 代码 结果 题目 解题思路 1 多组输入 需要循环 2 首先定义一个兄弟单词的判断函数 相等则返回False 字符串中的字符排序后相同则为兄弟单词 3 循环所有待查字符串 统计所有兄弟单
  • Windows 远程桌面连接ubuntu及xrdp的一些小问题(远程桌面闪退、连接失败、tab补全功能,无菜单栏,error - problem connecting )

    1 远程桌面闪退 shell可以用的问题 1 需要在该用户目录创建一个 xsession touch xsession 2 里面写 xfce4 session 一句话就行 echo xfce4 session gt xsession 3 然
  • Leetcode刷题指南

    参考 https blog csdn net qq 39521554 article details 79160815 二 刷题方法 方法一 按照题目出现频率刷题 顺序参考文章最后的部分 方法二 标签法 按照网站给大家排列的不同tags 起
  • CentOS 8 下搭建 MySQL 一主一从

    需求 现有两台服务器192 168 137 129和192 168 137 130 在这两台服务器之间搭建一主一从MySQL 129为主 130为从 步骤 通过 CentOS 8通过二进制安装 MySQL 的步骤在 129 和 130 服务
  • Java基础-对象的内存分配与初始化(一定要明白的干货)

    参考 https www cnblogs com wxw7blog p 7349204 html 首先 什么是类的加载 类的加载由类加载器执行 该步骤将查找字节码 classpath指定目录 并从这些字节码中创建一个Class对象 Java
  • 3 css

    定位 为什么需要定位 1 某个元素可以自由的在一个盒子内移动位置 并且压住其他盒子 2 定位可以在让盒子自由在某个盒子内移动位置或者固定屏幕中某个位置 并且可以压住其他盒子 定位组成 将盒子定在某一位置 也就是来摆盒子 定位 定位模式 边偏
  • 如何将typora直接导入CSDN博客

    1 打开首页 2 点击头像 打开内容管理 3 点击左上角的发布中的文章4 点击工具栏中的导入5 找到之前用typora软件写的 保存在电脑的 md文件 6 打开就出现下面的预览页面 7 需要再编辑 点击右上角一个笔的图标 出现下面的编辑页面
  • 普罗米修斯搭建过程中遇到的坑

    1 使用后台命令启动不起来 换成使用前台命令启动 报错如下 2 err error loading config from root prometheus prometheus 2 17 0 prometheus yml couldn t
  • 运动目标检测、阴影检测及目标跟踪中用得到的标准测试视频下载(大量IBM提供视频)

    在搜测试视频时 找到andrew31在ilovematlab论坛中分享的网址链接 我转载于此 并做出详细介绍 方便大家以后使用 1 PETS2001的测试视频 http www filewatcher com b ftp ftp cs rd
  • postgreSQL12 主从

    Centos7 安装 postgreSQL 1 基础环境 2 部署主从 2 1 安装postgreSQL 2 2 主节点 2 3 从节点 3 验证主从 1 基础环境 操作系统 CentOS 7 7 PostgreSQL 12 1 主节点 1
  • mysql数据库备份类文件

  • 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

    1 内联接 典型的联接运算 使用像 或 lt gt 之类的比较运算符 包括相等联接和自然联接 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行 例如 检索 students和courses表中学生标识号相同的所有行 2 外联接 外
  • MTK 底层耳机中断上报流程

    文章目录 前言 框架 硬件 背景知识 线控耳机原理图 检测电路解释 正文开始 软件 Linux 驱动代码流程 Android 前言 更新 加量不加价 框架 硬件 背景知识 国标耳机插头信号定义 lt lt lt 左声道 右声道 麦克 地 美
  • 【css

    linear gradient CSS函数创建一个由两种或多种颜色沿一条直线进行线性过渡的图像 其结果是
  • 初学React,做一个简易的滚动加载

    想做一个简单的滚动鼠标加载更多商品的功能 虽然有相关插件更方便 不过想手写一个简易版的 我把这个板块放在最下方 再下面就是一个小小的底部导航了 所以就判断滚动到页面底部就行 判断滚动到底部需要知道3个值 滚动的高度 可视区域的高度 滚动条内
  • 概率图模型&概率模型 及其应用

    文章目录 概率图模型 有向 vs 无向 概率模型 参数估计 隐变量估计 变分推断 应用例子1 BM RBM 应用示例2 概率图模型中网络结构估计 概率图模型 有向 vs 无向 概率图模型用图刻画一组随机变量之间的相关关系 有向 无环 图刻画