pendent on T given the current separator and X ) it is
reflected in
˙
G by orienting the respective edges (lines
7-9). In a second phase (lines 10-14) all created v-
structures T → X ← Y are reviewed: if any variable
Y is found as ancestor or descendant of another tar-
get’s spouse, it is considerate as non-spouse and the
bi-directionality of edge Y → X is restored (line 14).
Inter-IAPC* (Algorithm 5) is a procedure called by
HPC* to get an initial candidate PC set for a tar-
get variable T . Inter-IAPC* works only on the set
U
T
formed by parents, children and spouses of T re-
turned by DE-PCS* and DE-SPS*, which save com-
putations.
˙
G and C are also used/updated whenever a
zero-first-order CI test is required. However, as Inter-
IAPC* uses higher order CI testing, the final result
is worked on the internal set PC
T
: first, the Markov
blanket of the target T is obtained (lines 2-14) and
then the target’s spouses are identified and removed
from it (lines 15-21). Function FindSep is used to
assist that identification (line 18). It looks for a sub-
set Z ⊆ Z that makes T and X CI. If found, a flag
f sep is returned as ”true” along with the found Z (in
sep), otherwise f sep is returned as ”false”. To save
computations, we restrict Z to the current shrinking
PC set (PC
T
\ X}) instead of the whole MB
T
(as in
Inter-IAPC). This is justified because spouse separa-
tors always can be found in the true PC set (which is
in the current PC
T
). Another optimization is in line
7, where the search of the MB
T
is ended as soon as
no new candidates exist to enter to it.
4 EXPERIMENTAL EVALUATION
The accuracy and computational cost of OptHPC is
compared against some representative state-of-the-art
algorithms for skeleton recovery, including the HPC,
the MMPC (with all optimizations of the original
paper), the Heuristics PC (its original name is algo-
rithmHPC, but in this paper we call it as HeuPC to
avoid confusion with HPC) and the GetPC. Accuracy
is assessed by the sensitivity (Sn = T P/(T P + FN))
and specificity (Sp = T P/(T P + FP)) indices (Pena
et al., 2007), where T P is the number of edges
correctly estimated, FN is the number of missing
edges (false negatives), and FP is the number of
extra edges. Computational cost is assessed by the
number of statistical calls (NSC) used to get the
answer. NSC is a fair estimate of the computational
efficiency of CB methods, since they spend most
of the time doing statistical tests (Tsamardinos
et al., 2006). NSC is also independent from the
computing platform. Four known benchmark BNs
were used for the accuracy evaluation: Alarm,
Child, Insurance and Haildfinder. They were chosen
to have increasing complexity cases (Alarm has
37 nodes, 46 edges, domain range DR=[2-4] and
maximum indegree MI=6; Child has 20 nodes,
25 edges, DR=[2-6] and MI=8; Insurance has 27
nodes, 52 edges, DR=[2-5] and MI=9; Hailfinder
has 56 nodes, 66 edges, DR=[2-11] and MI=17). All
datasets were taken from the repository at www.dsl-
lab.org/supplements/mmhc paper/mmhc index.html
released by the authors of the MMPC. We choose
for each network 15 datasets: 5 with 500 instances,
5 with 1000 instances and 5 with 5000 instances.
For the NSC evaluation, we use additionally datasets
sampled from tiled versions of the above networks
(in the same repository). Tiling is a procedure
to construct networks with larger dimensionality
by joining several copies of an original network
(Tsamardinos et al., 2006). We choose tiling of 3,
5 and 10. All indices are averaged for the same
network and sample size. Due to the need of a
common platform to make fair comparisons, only
author’s own implementations of the studied algo-
rithms were used. Every effort was taken to match
our implementation to the originals. All algorithms
perform the CI testing through function Dep in order
to standardize the NSC counting. G
2
is used as the CI
test statistics (α = 0.05) (Tsamardinos et al., 2006).
It is not performed if there are less than 5 samples
on average per cell; in that case independence is
assumed (Tsamardinos et al., 2006).
Figure 1 shows the sensitivity and specificity val-
ues obtained in the 4 networks. Each curve represents
an algorithm, where the points correspond to the dif-
ferent sample sizes. It is observed that OptHPC and
HPC have very close values in all cases, which con-
firm that the optimizations in OptHPC do not alter the
accuracy of HPC. All algorithms increment the sensi-
tivity with the sample size, as expected, but OptHPC
and HPC have values markedly higher than the other
in all networks and sample size (more noticeably in
small sample size). They, in fact, reach the maximum
sensitivity in the simplest networks (Alarm and Child)
at sample size 5000. Contrasting with the sensitivity,
OptHPC and HPC have the lowest specificity in all
networks. This means that more false-positive edges
are included in the final structure. However, from the
viewpoint of BN hybrid learning, such false-positive
increment is of lesser importance than having a good
sensitivity. This because the sensitivity of the whole
learning process is upper-bounded by the sensitivity
of the super-structure estimation phase (since no false
negatives can be corrected there), while the specificity
can be improved in the SS phase (Wang et al., 2007).
Figure 2 shows the obtained NSC values. Each
ICPRAM 2012 - International Conference on Pattern Recognition Applications and Methods
220