局部概率规则
节点的标签
给每个节点分配一个二值的随机变量{+1,-1}
节点 v 的prior belief
不把节点 v 的邻居信息考虑进去,只考虑节点 v 自身的内容、行为,将节点 v 的这些信息称为节点的先验信息(prior information),记为
h
v
h_v
hv,计算这时节点 v 是正常节点的概率
P
(
x
v
=
+
1
)
P(x_v=+1)
P(xv=+1),称这个值为prior belief:
P
(
x
v
=
+
1
)
=
1
1
+
exp
(
−
h
v
)
P\left(x_{v}=+1\right)=\frac{1}{1+\exp \left(-h_{v}\right)}
P(xv=+1)=1+exp(−hv)1
节点 v 的邻居
Γ
v
=
{
u
∣
(
u
,
v
)
∈
E
}
是
\Gamma_{v}=\{u |(u, v) \in E\}是
Γv={u∣(u,v)∈E}是节点 v 的邻居集合,邻居集合中节点的标签记为
x
ˉ
Γ
u
\bar x_{\Gamma_u}
xˉΓu ,这时,我们就可以通过节点 v 的邻居节点信息,计算节点 v 是正常节点的概率:
P
(
x
v
=
+
1
∣
x
ˉ
Γ
v
)
=
1
1
+
exp
(
−
∑
u
∈
Γ
v
J
u
v
x
ˉ
u
−
h
v
)
P\left(x_{v}=+1 | \bar{x}_{\Gamma_{v}}\right)=\frac{1}{1+\exp \left(-\sum_{u \in \Gamma_{v}} J_{u v} \bar{x}_{u}-h_{v}\right)}
P(xv=+1∣xˉΓv)=1+exp(−∑u∈ΓvJuvxˉu−hv)1
马尔可夫条件随机场(pairwise Markov Random Field )
我们可以利用上一节的局部概率规则构建两两马尔可夫条件随机场(pairwise Markov Random Field ,MRF),MRF定义了网络中所有节点相关的联合概率分布。
每个节点都有一个node potential, ϕ v ( x v ) \phi_v(x_v) ϕv(xv)
ϕ
v
(
x
v
)
:
=
{
θ
v
if
x
v
=
1
1
−
θ
v
if
x
v
=
−
1
\phi_{v}\left(x_{v}\right):=\left\{\begin{array}{ll}{\theta_{v}} & {\text { if } x_{v}=1} \\ {1-\theta_{v}} & {\text { if } x_{v}=-1}\end{array}\right.
ϕv(xv):={θv1−θv if xv=1 if xv=−1
θ
v
=
1
1
+
e
x
p
(
−
h
v
)
\theta_v=\frac{1}{1+exp(-h_v)}
θv=1+exp(−hv)1
每条边都有一个edge potential , ψ u v ( x u , x v ) \psi_{uv}(x_u,x_v) ψuv(xu,xv)
φ
u
v
(
x
u
,
x
v
)
:
=
{
w
u
v
if
x
u
x
v
=
1
1
−
w
u
v
if
x
u
x
v
=
−
1
\varphi_{u v}\left(x_{u}, x_{v}\right):=\left\{\begin{array}{ll}{w_{u v}} & {\text { if } x_{u} x_{v}=1} \\ {1-w_{u v}} & {\text { if } x_{u} x_{v}=-1}\end{array}\right.
φuv(xu,xv):={wuv1−wuv if xuxv=1 if xuxv=−1
w
u
v
=
1
1
+
e
x
p
(
−
J
u
v
)
w_{uv}=\frac{1}{1+exp(-J_{uv)}}
wuv=1+exp(−Juv)1
以下的马尔可夫条件随机场满足概率局部规则
P ( x V ) = 1 Z ∏ v ∈ V ϕ v ( x v ) ∏ ( u , v ) ∈ E φ u v ( x u , x v ) P\left(x_{V}\right)=\frac{1}{Z} \prod_{v \in V} \phi_{v}\left(x_{v}\right) \prod_{(u, v) \in E} \varphi_{u v}\left(x_{u}, x_{v}\right) P(xV)=Z1v∈V∏ϕv(xv)(u,v)∈E∏φuv(xu,xv)
Z = ∑ x V ∏ v ∈ V ϕ v ( x v ) ∏ ( u , v ) ∈ E φ u v ( x u , x v ) Z= \sum _{x_V}\prod_{v \in V} \phi_{v}\left(x_{v}\right) \prod_{(u, v) \in E} \varphi_{u v}\left(x_{u}, x_{v}\right) Z=xV∑v∈V∏ϕv(xv)(u,v)∈E∏φuv(xu,xv)
检测恶意节点
首先,我们对上节MRF进行修改,加入已知的节点标签,利用修正后的模型对节点进行分类(正常 or 恶意 ),也能够根据计算出的节点的 P ( x V ) P(x_V) P(xV)的大小,对节点进行排序。
已知标签的节点 L
对于其余的未知标签的节点
- 设置这些未知标签的节点的初始 θ = 0.5 \theta =0.5 θ=0.5
- 设置 w u v > 0.5 w_{uv}>0.5 wuv>0.5是为了满足我们的假设,即网络满足同质性
evidence potentials
为了方便我们后续的分析,在已知一些节点的标签后,我们利用这些节点计算节点的evidence potential:
ϕ
v
L
(
x
v
)
=
{
ϕ
v
(
x
v
)
δ
x
v
x
ˉ
v
if
v
∈
L
ϕ
v
(
x
v
)
if
v
∉
L
\phi_{v}^{L}\left(x_{v}\right)=\left\{\begin{array}{ll}{\phi_{v}\left(x_{v}\right) \delta_{x_{v} \bar{x}_{v}}} & {\text { if } v \in L} \\ {\phi_{v}\left(x_{v}\right)} & {\text { if } v \notin L}\end{array}\right.
ϕvL(xv)={ϕv(xv)δxvxˉvϕv(xv) if v∈L if v∈/L
- 如果一个节点不再 L 里面,不在 L 里时,就用原来的计算node potential时候的计算方法;
- 如果一个节点在 L 里面,就又乘上了一个 δ x v x ˉ v \delta_{x_v\bar x_v} δxvxˉv:如果 x v = x ˉ v x_v=\bar x_v xv=xˉv, δ x v x ˉ v = 1 \delta_{x_v\bar x_v}=1 δxvxˉv=1;否则 δ x v x ˉ v = 0 \delta_{x_v\bar x_v}=0 δxvxˉv=0
于是,修正后,节点的后验概率:
P ( x v ∣ x ˉ L ) = ∑ x V / v P ( x V ∣ x ˉ L ) = 1 Z L ∑ x V / v ∏ v ∈ V ϕ v L ( x v ) ∏ ( u , v ) ∈ E φ u v ( x u , x v ) \begin{aligned} P\left(x_{v} | \bar{x}_{L}\right) &=\sum_{x_{V} / v} P\left(x_{V} | \bar{x}_{L}\right) \\ &=\frac{1}{Z^{L}} \sum_{x_{V / v}} \prod_{v \in V} \phi_{v}^{L}\left(x_{v}\right) \prod_{(u, v) \in E} \varphi_{u v}\left(x_{u}, x_{v}\right) \end{aligned} P(xv∣xˉL)=xV/v∑P(xV∣xˉL)=ZL1xV/v∑v∈V∏ϕvL(xv)(u,v)∈E∏φuv(xu,xv)