Hi!
I'm a beginner in this field, so I do apologize if my vocabulary isn't
precise enough.
Basically, I'm trying to use graph-tool library in order to perform the
unsupervised clustering step of biological samples (10³-10⁴ *nodes *
networks).
The following Is my current workflow:
1) state=minimize_nested_blockmodel_dl(g)
2) state.mcmc_sweep(niter=10,000)
3) mcmc_*equilibrate(*state*)*
Question 1)
Since I'm performing the equilibration with mcmc_equilibrate; is the
mcmc_sweep step necessary in my workflow? Or I can just skip it?
Question 2)
This question concerns β parameter.
I'm wondering if performing 2 rounds of equilibration sequentially,
changing the value of β, does make any sense. In other words:
1) state=minimize_nested_blockmodel_dl(g)
2) mcmc_equilibrate(state, mcmc_args=dict(niter=10, β=1))
3)mcmc_equilibrate(state, mcmc_args=dict(niter=10, β=1,000,000))
Hi!
I'm a beginner in this field, so I do apologize if my vocabulary isn't
precise enough.
Basically, I'm trying to use graph-tool library in order to perform the
unsupervised clustering step of biological samples (10³-10⁴ _nodes
_networks).
The following Is my current workflow:
1) state=minimize_nested_blockmodel_dl(g)
2) state.mcmc_sweep(niter=10,000)
3) mcmc__equilibrate(_state_)_
Question 1)
Since I'm performing the equilibration with mcmc_equilibrate; is the
mcmc_sweep step necessary in my workflow? Or I can just skip it?
No, it is not.
Question 2)
This question concerns β parameter.
I'm wondering if performing 2 rounds of equilibration sequentially,
changing the value of β, does make any sense. In other words:
1) state=minimize_nested_blockmodel_dl(g)
2) mcmc_equilibrate(state, mcmc_args=dict(niter=10, β=1))
3)mcmc_equilibrate(state, mcmc_args=dict(niter=10, β=1,000,000))
This is a kind of abrupt simulated anealing, and it can improve the
minimization in some cases. However, I would recommend using the
function mcmc_anneal() which achieves the same but slowly, which should
behave better.