信息矩阵、hessian矩阵与协方差矩阵

文章目录

    • 协方差矩阵
    • 联合概率密度
    • hessian矩阵
    • marginalize

本节探讨信息矩阵、hessian矩阵与协方差矩阵的关系,阐明边缘化的原理。
一个简单的示例,如下:
来自 David Mackay. “The humble Gaussian distribution”. In: (2006). 以及手写vio第四节。
在这里插入图片描述
箭头代表了约束方程(或可以理解为观测方程):
z 1 : z 2 : z 3 : x 2 = v 2 x 1 = w 1 x 2 + v 1 x 3 = w 3 x 2 + v 3 \begin{array}{} {{z_1}:}\\ {{z_2}:}\\ {{z_3}:} \end{array}\begin{array}{} {{x_2} = {v_2}}\\ {\,{x_1} = {w_1}{x_2} + {v_1}}\\ {\,{x_3} = {w_3}{x_2} + {v_3}} \end{array} z1:z2:z3:x2=v2x1=w1x2+v1x3=w3x2+v3

其中, v i v_i vi 相互独立,且各自服从零均值,协方差为 σ i 2 \sigma_i^2 σi2的高斯分布。

协方差矩阵

协方差计算公式:
C o v ( X , Y ) = E [ ( X − E [ X ] ) ∗ ( Y − E [ Y ] ) = E [ X Y ] − 2 E [ X ] E [ Y ] + E [ X ] E [ Y ] = E [ X Y ] − E [ X ] E [ Y ] \begin{aligned} Cov(X,Y) &= E[(X - E[X]) * (Y - E[Y])\\ &= E[XY] - 2E[X]E[Y] + E[X]E[Y]\\ &= E[XY] - E[X]E[Y] \end{aligned} Cov(X,Y)=E[(XE[X])(YE[Y])=E[XY]2E[X]E[Y]+E[X]E[Y]=E[XY]E[X]E[Y]

或: C o v ( X , Y ) = E [ ( X − μ x ) ( Y − μ y ) ] Cov(X,Y) = E[(X - {\mu _x})(Y - {\mu _y})] Cov(X,Y)=E[(Xμx)(Yμy)]

计算 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3之间的协方差矩阵:
Σ 11 = E ( x 1 x 1 ) = E ( ( w 1 v 2 + v 1 ) ( w 1 v 2 + v 1 ) ) = w 1 2 E ( v 2 2 ) + 2 w 1 E ( v 1 v 2 ) + E ( v 1 2 ) = w 1 2 σ 2 2 + σ 1 2 Σ 22 = σ 2 2 , Σ 33 = w 3 2 σ 2 2 + σ 3 2 Σ 12 = E ( x 1 x 2 ) = E ( ( w 1 v 2 + v 1 ) v 2 ) = w 1 σ 2 2 Σ 13 = E ( ( w 1 v 2 + v 1 ) ( w 3 v 2 + v 3 ) ) = w 1 w 3 σ 2 2 \begin{aligned} {{\rm{\Sigma }}_{11}} &= E({x_1}{x_1}) = E(({w_1}{v_2} + {v_1})({w_1}{v_2} + {v_1}))\\ &= w_1^2E(v_2^2) + 2{w_1}E({v_1}{v_2}) + E(v_1^2)\\ &= w_1^2\sigma _2^2 + \sigma _1^2\\ {{\rm{\Sigma }}_{22}} &= \sigma _2^2,\quad {{\rm{\Sigma }}_{33}} = w_3^2\sigma _2^2 + \sigma _3^2\\ {{\rm{\Sigma }}_{12}} &= E({x_1}{x_2}) = E(({w_1}{v_2} + {v_1}){v_2}) = {w_1}\sigma _2^2\\ {{\rm{\Sigma }}_{13}} &= E(({w_1}{v_2} + {v_1})({w_3}{v_2} + {v_3})) = {w_1}{w_3}\sigma _2^2 \end{aligned} Σ11Σ22Σ12Σ13=E(x1x1)=E((w1v2+v1)(w1v2+v1))=w12E(v22)+2w1E(v1v2)+E(v12)=w12σ22+σ12=σ22,Σ33=w32σ22+σ32=E(x1x2)=E((w1v2+v1)v2)=w1σ22=E((w1v2+v1)(w3v2+v3))=w1w3σ22

最后得到协方差矩阵:
Σ = [ w 1 2 σ 2 2 + σ 1 2 w 1 σ 2 2 w 1 w 3 σ 2 2 w 1 σ 2 2 σ 2 2 w 3 σ 2 2 w 1 w 3 σ 2 2 w 3 σ 2 2 w 3 2 σ 2 2 + σ 3 2 ] \Sigma = \left[ {\begin{array}{} {w_1^2\sigma _2^2 + \sigma _1^2}&{{w_1}\sigma _2^2}&{{w_1}{w_3}\sigma _2^2}\\ {{w_1}\sigma _2^2}&{\sigma _2^2}&{{w_3}\sigma _2^2}\\ {{w_1}{w_3}\sigma _2^2}&{{w_3}\sigma _2^2}&{w_3^2\sigma _2^2 + \sigma _3^2} \end{array}} \right] Σ= w12σ22+σ12w1σ22w1w3σ22w1σ22σ22w3σ22w1w3σ22w3σ22w32σ22+σ32

联合概率密度

p ( x 1 , x 2 , x 3 ∣ z 1 , z 2 , z 3 ) = 1 C exp ⁡ ( − x 2 2 2 σ 2 2 − ( x 1 − w 1 x 2 ) 2 2 σ 1 2 − ( x 3 − w 3 x 2 ) 2 2 σ 3 2 ) = 1 C exp ⁡ ( − x 2 2 [ 1 2 σ 2 2 + w 1 2 2 σ 1 2 − w 3 2 2 σ 3 2 ] − x 1 2 1 2 σ 1 2 + 2 x 1 x 2 w 1 2 σ 1 2 − x 3 2 1 2 σ 3 2 + 2 x 3 x 2 w 3 2 σ 3 2 ) = 1 C exp ⁡ ( − 1 2 [ x 1 x 2 x 3 ] [ 1 σ 1 2 − w 1 σ 1 2 0 − w 1 σ 1 2 w 1 2 σ 1 2 + 1 σ 2 2 + w 3 2 σ 3 2 − w 3 σ 3 2 0 − w 3 σ 3 2 1 σ 3 2 ] [ x 1 x 2 x 3 ] ) = 1 C exp ⁡ ( − 1 2 [ x 1 x 2 x 3 ] Σ − 1 [ x 1 x 2 x 3 ] ) \begin{aligned}{} p({x_1},{x_2},{x_3}&|{z_1},{z_2},{z_3})\\ &= \frac{1}{C}\exp ( - \frac{{x_2^2}}{{2\sigma _2^2}} - \frac{{{{({x_1} - {w_1}{x_2})}^2}}}{{2\sigma _1^2}} - \frac{{{{({x_3} - {w_3}{x_2})}^2}}}{{2\sigma _3^2}})\\ \\ &= \frac{1}{C}\exp ( - x_2^2[\frac{1}{{2\sigma _2^2}} + \frac{{w_1^2}}{{2\sigma _1^2}} - \frac{{w_3^2}}{{2\sigma _3^2}}] - x_1^2\frac{1}{{2\sigma _1^2}} + 2{x_1}{x_2}\frac{{{w_1}}}{{2\sigma _1^2}} - x_3^2\frac{1}{{2\sigma _3^2}} + 2{x_3}{x_2}\frac{{{w_3}}}{{2\sigma _3^2}})\\ \\ & = \frac{1}{C}\exp ( - \frac{1}{2}\left[ {\begin{array}{} {{x_1}}&{{x_2}}&{{x_3}} \end{array}} \right]\left[ {\begin{array}{} {\frac{1}{{\sigma _1^2}}}&{ - \frac{{{w_1}}}{{\sigma _1^2}}}&0\\ { - \frac{{{w_1}}}{{\sigma _1^2}}}&{\frac{{w_1^2}}{{\sigma _1^2}} + \frac{1}{{\sigma _2^2}} + \frac{{w_3^2}}{{\sigma _3^2}}}&{ - \frac{{{w_3}}}{{\sigma _3^2}}}\\ 0&{ - \frac{{{w_3}}}{{\sigma _3^2}}}&{\frac{1}{{\sigma _3^2}}} \end{array}} \right]\left[ {\begin{array}{} {{x_1}}\\ {{x_2}}\\ {{x_3}} \end{array}} \right])\\ &= \frac{1}{C}\exp ( - \frac{1}{2}\left[ {\begin{array}{} {{x_1}}&{{x_2}}&{{x_3}} \end{array}} \right]{\Sigma ^{ - 1}}\left[ {\begin{array}{} {{x_1}}\\ {{x_2}}\\ {{x_3}} \end{array}} \right]) \end{aligned} p(x1,x2,x3z1,z2,z3)=C1exp(2σ22x222σ12(x1w1x2)22σ32(x3w3x2)2)=C1exp(x22[2σ221+2σ12w122σ32w32]x122σ121+2x1x22σ12w1x322σ321+2x3x22σ32w3)=C1exp(21[x1x2x3] σ121σ12w10σ12w1σ12w12+σ221+σ32w32σ32w30σ32w3σ321 x1x2x3 )=C1exp(21[x1x2x3]Σ1 x1x2x3 )

从而我们可以得到协方差的逆矩阵,即信息矩阵:
Σ − 1 = [ 1 σ 1 2 − w 1 σ 1 2 0 − w 1 σ 1 2 w 1 2 σ 1 2 + 1 σ 2 2 + w 3 2 σ 3 2 − w 3 σ 3 2 0 − w 3 σ 3 2 1 σ 3 2 ] {\Sigma ^{ - 1}} = \left[ {\begin{array}{} {\frac{1}{{\sigma _1^2}}}&{ - \frac{{{w_1}}}{{\sigma _1^2}}}&0\\ { - \frac{{{w_1}}}{{\sigma _1^2}}}&{\frac{{w_1^2}}{{\sigma _1^2}} + \frac{1}{{\sigma _2^2}} + \frac{{w_3^2}}{{\sigma _3^2}}}&{ - \frac{{{w_3}}}{{\sigma _3^2}}}\\ 0&{ - \frac{{{w_3}}}{{\sigma _3^2}}}&{\frac{1}{{\sigma _3^2}}} \end{array}} \right] Σ1= σ121σ12w10σ12w1σ12w12+σ221+σ32w32σ32w30σ32w3σ321

求最大似然估计: arg ⁡ max ⁡ x 1 , x 2 , x 3 p ( x 1 , x 2 , x 3 ∣ z 1 , z 2 , z 3 ) \mathop {\arg\max }\limits_{{x_1},{x_2},{x_3}} p({x_1},{x_2},{x_3}|{z_1},{z_2},{z_3}) x1,x2,x3argmaxp(x1,x2,x3z1,z2,z3)

可以转化为求
arg ⁡ max ⁡ x 1 , x 2 , x 3 log ⁡ ( p ( x 1 , x 2 , x 3 ∣ z 1 , z 2 , z 3 ) ) ∝ − 1 2 [ x 1 x 2 x 3 ] [ 1 σ 1 2 − w 1 σ 1 2 0 − w 1 σ 1 2 w 1 2 σ 1 2 + 1 σ 2 2 + w 3 2 σ 3 2 − w 3 σ 3 2 0 − w 3 σ 3 2 1 σ 3 2 ] [ x 1 x 2 x 3 ] \mathop {\arg \max }\limits_{{x_1},{x_2},{x_3}} \log (p({x_1},{x_2},{x_3}|{z_1},{z_2},{z_3})) \\\propto - \frac{1}{2}\left[ {\begin{array}{} {{x_1}}&{{x_2}}&{{x_3}} \end{array}} \right]\left[ {\begin{array}{} {\frac{1}{{\sigma _1^2}}}&{ - \frac{{{w_1}}}{{\sigma _1^2}}}&0\\ { - \frac{{{w_1}}}{{\sigma _1^2}}}&{\frac{{w_1^2}}{{\sigma _1^2}} + \frac{1}{{\sigma _2^2}} + \frac{{w_3^2}}{{\sigma _3^2}}}&{ - \frac{{{w_3}}}{{\sigma _3^2}}}\\ 0&{ - \frac{{{w_3}}}{{\sigma _3^2}}}&{\frac{1}{{\sigma _3^2}}} \end{array}} \right]\left[ {\begin{array}{} {{x_1}}\\ {{x_2}}\\ {{x_3}} \end{array}} \right] x1,x2,x3argmaxlog(p(x1,x2,x3z1,z2,z3))21[x1x2x3] σ121σ12w10σ12w1σ12w12+σ221+σ32w32σ32w30σ32w3σ321 x1x2x3

即求: arg ⁡ min ⁡ x 1 , x 2 , x 3 1 2 [ x 1 x 2 x 3 ] Σ − 1 [ x 1 x 2 x 3 ] \mathop {\arg \min }\limits_{{x_1},{x_2},{x_3}} \frac{1}{2}\left[ {\begin{array}{} {{x_1}}&{{x_2}}&{{x_3}} \end{array}} \right]{\Sigma ^{ - 1}}\left[ {\begin{array}{} {{x_1}}\\ {{x_2}}\\ {{x_3}} \end{array}} \right] x1,x2,x3argmin21[x1x2x3]Σ1 x1x2x3

如此我们可以将问题转化为一个最小二乘问题,同时我们看出信息矩阵与协方差的数学意义。

hessian矩阵

根据约束方程创建最小二乘问题:
e = ∑ i = 1 3 ∥ z i ∥ 2 H = ∑ i = 1 3 J z i T J z i = [ − 1 w 1 0 ] [ − 1 w 1 0 ] + [ 0 1 0 ] [ 0 1 0 ] + [ 0 w 3 − 1 ] [ 0 w 3 − 1 ] = [ 1 − w 1 0 − w 1 w 1 2 + 1 + w 3 2 − w 3 0 − w 3 1 ] \begin{aligned}{} e &= \sum \limits_{i = 1}^3 \parallel {z_i}{\parallel _2}\\ H &= \sum \limits_{i = 1}^3 J_{zi}^T{J_{zi}}\\ &= \left[ {\begin{array}{} { - 1}\\ {{w_1}}\\ 0 \end{array}} \right]\left[ {\begin{array}{} { - 1}&{{w_1}}&0 \end{array}} \right] + \left[ {\begin{array}{} 0\\ 1\\ 0 \end{array}} \right]\left[ {\begin{array}{} 0&1&0 \end{array}} \right] + \left[ {\begin{array}{} 0\\ {{w_3}}\\ { - 1} \end{array}} \right]\left[ {\begin{array}{} 0&{{w_3}}&{ - 1} \end{array}} \right]\\ &= \left[ {\begin{array}{} 1&{ - {w_1}}&0\\ { - {w_1}}&{w_1^2 + 1 + w_3^2}&{ - {w_3}}\\ 0&{ - {w_3}}&1 \end{array}} \right] \end{aligned} eH=i=13zi2=i=13JziTJzi= 1w10 [1w10]+ 010 [010]+ 0w31 [0w31]= 1w10w1w12+1+w32w30w31

当我们考虑变量方差 σ i 2 \sigma_i^2 σi2时,问题变为: arg ⁡ min ⁡ x 1 , x 2 , x 3 ∑ i = 1 3 ∥ z i ∥ σ i 2 \mathop {\arg \min }\limits_{{x_1},{x_2},{x_3}} \sum \limits_{i = 1}^3 \parallel {z_i}{\parallel _{\sigma _i^2}} x1,x2,x3argmini=13ziσi2
我们得到加入方差的hessian矩阵,即为信息矩阵:
H = J T [ σ 1 2 0 0 0 σ 2 2 0 0 0 σ 3 2 ] J = ∑ i = 1 3 J z i T σ i 2 J z i = [ 1 σ 1 2 − w 1 σ 1 2 0 − w 1 σ 1 2 w 1 2 σ 1 2 + 1 σ 2 2 + w 3 2 σ 3 2 − w 3 σ 3 2 0 − w 3 σ 3 2 1 σ 3 2 ] \begin{aligned}{} H &= {J^T}\left[ {\begin{array}{} {\sigma _1^2}&0&0\\ 0&{\sigma _2^2}&0\\ 0&0&{\sigma _3^2} \end{array}} \right]J\\ &= \sum \limits_{i = 1}^3 J_{zi}^T\sigma _{\rm{i}}^2{J_{zi}}\\ &= \left[ {\begin{array}{} {\frac{1}{{\sigma _1^2}}}&{ - \frac{{{w_1}}}{{\sigma _1^2}}}&0\\ { - \frac{{{w_1}}}{{\sigma _1^2}}}&{\frac{{w_1^2}}{{\sigma _1^2}} + \frac{1}{{\sigma _2^2}} + \frac{{w_3^2}}{{\sigma _3^2}}}&{ - \frac{{{w_3}}}{{\sigma _3^2}}}\\ 0&{ - \frac{{{w_3}}}{{\sigma _3^2}}}&{\frac{1}{{\sigma _3^2}}} \end{array}} \right] \end{aligned} H=JT σ12000σ22000σ32 J=i=13JziTσi2Jzi= σ121σ12w10σ12w1σ12w12+σ221+σ32w32σ32w30σ32w3σ321

由最大似然得到的最小二乘问题与使用观测约束建立的最小二乘问题等价:

arg ⁡ min ⁡ x 1 , x 2 , x 3 1 2 [ x 1 x 2 x 3 ] Σ − 1 [ x 1 x 2 x 3 ] → arg ⁡ min ⁡ x 1 , x 2 , x 3 ∑ i = 1 3 ∥ z i ∥ σ i 2 \mathop {\arg \min }\limits_{{x_1},{x_2},{x_3}} \frac{1}{2}\left[ {\begin{array}{} {{x_1}}&{{x_2}}&{{x_3}} \end{array}} \right]{\Sigma ^{ - 1}}\left[ {\begin{array}{} {{x_1}}\\ {{x_2}}\\ {{x_3}} \end{array}} \right]\quad \rightarrow \quad \mathop {\arg \min }\limits_{{x_1},{x_2},{x_3}} \sum \limits_{i = 1}^3 \parallel {z_i}{\parallel _{\sigma _i^2}} x1,x2,x3argmin21[x1x2x3]Σ1 x1x2x3 x1,x2,x3argmini=13ziσi2

由此,我们便可以具体看出hessian矩阵与协方差矩阵之间的联系,当我们需要边缘化marginalize一个变量时,可以将信息矩阵求逆转化为相关的协方差矩阵,然后剔除掉变量后,再次求逆得到新的信息矩阵。

marginalize

通过schur补,我们可以将marginalize的过程公式化:
以Marg b为例:需要先将信息矩阵(此例中为 Λ \mathrm{\Lambda} Λ)求逆,得协方差矩阵 Σ \mathrm{\Sigma} Σ,提取与b无关的矩阵A,再对A求逆,即得到marg 后的信息矩阵。
设协方差矩阵如下:

Σ = [ A C T C D ] = [ Σ a a Σ a b Σ b a Σ b b ] {\rm{\Sigma }} = \left[ {\begin{array}{} A&{{C^T}}\\ C&D \end{array}} \right] = \left[ {\begin{array}{} {{\Sigma _{aa}}}&{{\Sigma _{ab}}}\\ {{\Sigma _{ba}}}&{{\Sigma _{bb}}} \end{array}} \right] Σ=[ACCTD]=[ΣaaΣbaΣabΣbb]
信息矩阵如下:
Λ = Σ − 1 = [ Λ a a Λ a b Λ b a Λ b b ] {\rm{\Lambda }} = {{\rm{\Sigma }}^{ - 1}} = \left[ {\begin{array}{} {{{\rm{\Lambda }}_{aa}}}&{{{\rm{\Lambda }}_{ab}}}\\ {{{\rm{\Lambda }}_{ba}}}&{{{\rm{\Lambda }}_{bb}}} \end{array}} \right] Λ=Σ1=[ΛaaΛbaΛabΛbb]
通过schur补,可得:
在这里插入图片描述
即:
Λ p = A − 1 = Σ a a − 1 = Λ a a − Λ a b Λ b b − 1 Λ b a {\Lambda _p} = {A^{ - 1}} = {\rm{\Sigma }}_{aa}^{ - 1} = {{\rm{\Lambda }}_{aa}} - {{\rm{\Lambda }}_{ab}}{{\rm{\Lambda }}_{bb}}^{ - 1}{{\rm{\Lambda }}_{ba}} Λp=A1=Σaa1=ΛaaΛabΛbb1Λba
对应的偏差:
η p = η a − Λ a b Λ b b − 1 η b {\eta _p} = {\eta _a} - {{\rm{\Lambda }}_{ab}}{\rm{\Lambda }}_{bb}^{ - 1}{\eta _b} ηp=ηaΛabΛbb1ηb
若没有marg时,关于a的更新值为: u p d a t e a = Λ a a − 1 ⋅ η a {\rm{updat}}{{\rm{e}}_a}{\rm{ = \Lambda }}_{aa}^{ - 1} \cdot {\eta _a} updatea=Λaa1ηa.
加入marg后,关于a的更新值为:
u p d a t e a = ( Λ a a − Λ a b Λ b b − 1 Λ b a ) − 1 ⋅ ( η a − Λ a b Λ b b − 1 η b ) = Σ a a μ a {\rm{updat}}{{\rm{e}}_a}{\rm{ = }}\left( {{{\rm{\Lambda }}_{aa}} - {{\rm{\Lambda }}_{ab}}{{\rm{\Lambda }}_{bb}}^{ - 1}{{\rm{\Lambda }}_{ba}}} \right){}^{ - 1} \cdot \left( {{\eta _a} - {{\rm{\Lambda }}_{ab}}{\rm{\Lambda }}_{bb}^{ - 1}{\eta _b}} \right) = {\Sigma _{aa}}{\mu _a} updatea=(ΛaaΛabΛbb1Λba)1(ηaΛabΛbb1ηb)=Σaaμa

在这里插入图片描述
详细推导见《手写VIO》第四讲,以及相关博客

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

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

相关文章

新手想要做好抖音小店,在开店前你需要知道这五点注意事项!

大家好,我是电商小布。 开抖店你说难吗,其实也不难,把需要的材料准备好就可以着手开店。 难的呢,是在小店的运营上边。 所以新手开店想要少出错,少踩坑,一定要提前把店铺的相关注意事项搞清楚。 今天&a…

bisect_left 和 bisect_right 的源码实现及区别解析

哈喽大家好,我是chowley,最近再练二分查找的题,也顺便看了看Python官方的bisect库,这次做一个总结博客。 在 Python 中,bisect_left 和 bisect_right 是两个常用的二分查找函数,用于在已排序的序列中查找元…

鸿蒙LiteOS-M 内核初始化

目录 一、LiteOS-M 初始化内核二、LOS_KernelInit代码分析三、LOS_Start代码解析坚持就有收获 一、LiteOS-M 初始化内核 在LiteOS-M应用程序中,系统初始化如下: /*** brief This is the ohos entry, and you could call this in your main funciton af…

Linux--自定义shell

shell shell就是操作系统提供给用户与操作系统进行交互的命令行界面。它可以理解为一个用户与操作系统之间的接口,用户可以通过输入命令来执行各种操作,如文件管理、进程控制、软件安装等。Shell还可以通过脚本编程实现自动化任务。 常见的Unix系统中使…

【群智能算法转让】一种新的群智能算法||一种超越隐喻的元启发算法||一种基于数学的群智能算法

1、简介 本次全新出推出一个新的基于种群的元启发算法,基于数学中求解非线性方程组的基本思想而开发的,性能不错 新算法转让Q1 top级(一种基于数学的超越隐喻的元启发式算法) 新的群智能算法转让,新的元启发式算法转…

花生壳内网穿透教程(图文并茂)

目录 前言: 使用教程: 1.注册账号 2.软件下载及安装: 3.账号绑定及花生壳的使用 4.内网穿透的配置(重点) 4.2 新增映射页面: 4.3 上面几种映射的区别: 4.4 上面TCP类型的区别:…

LangChain原理学习笔记

最新越发觉得AI的发展,对未来是一场革命,LangChain已经在工程设计上有了最佳实践,类似于AI时代的编程模型或编程框架,有点Spring框架的意思。之前在LangChain上也有些最佳实践,所以在这里分享记录下。 LangChain解决什…

万字干货-京东零售数据资产能力升级与实践

开篇 京东自营和商家自运营模式,以及伴随的多种运营视角、多种组合计算、多种销售属性等数据维度,相较于行业同等量级,数据处理的难度与复杂度都显著增加。如何从海量的数据模型与数据指标中提升检索数据的效率,降低数据存算的成…

【Django开发】0到1开发美多shop项目:Celery短信和用户注册。全md文档笔记(附代码,已分享)

本系列文章md笔记(已分享)主要讨论django商城项目开发相关知识。本项目利用Django框架开发一套前后端不分离的商城项目(4.0版本)含代码和文档。功能包括前后端不分离,方便SEO。采用Django Jinja2模板引擎 Vue.js实现…

试用nebulagraph

按照手册的快速入门&#xff0c;本地部署操作&#xff0c;基本没什么问题。有一些注意事项NebulaGraph Database 手册 (nebula-graph.com.cn) 默认安装路径在/usr/local/nebula ip的问题 在步骤3的时候 $ ./nebula-console -addr <ip> -port <port> -u <use…

一文带你解决如何设置Redis临时密码和永久密码

&#x1f49f;&#x1f49f;前言 ​ 友友们大家好&#xff0c;我是你们的小王同学&#x1f617;&#x1f617; 今天给大家打来的是 一文带你解决如何设置Redis临时密码和永久密码 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞&#x1f44d; 收藏⭐ 评论&…

桥接模式:解耦抽象与实现,实现灵活多变的扩展结构

文章目录 一、引言二、应用场景与技术背景三、模式定义与实现四、实例详解五、优缺点分析总结&#xff1a; 一、引言 ​ 桥接模式是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们可以独立变化。这种模式通过创建一个抽象层和实现层的结构&…