On some datasets it's quite clear that equilibration step could stop earlier than the requested number of steps. The example below shows that some candidate points could be stopping if ChiSq has improved after 100 steps (green), 500 steps (blue) or 1000 steps (red).
This is confirmed by correlation of the learned patterns to ground truth not improving anymore as interactions increase on the same dataset:
An early-stopping param could be useful, probably needs implementation in the C++ code. For back-compatibility, it could be NULL by default, and stop if a decrease in ChiSq has not been observed compared to the state N iterations ago.
On some datasets it's quite clear that equilibration step could stop earlier than the requested number of steps. The example below shows that some candidate points could be stopping if ChiSq has improved after 100 steps (green), 500 steps (blue) or 1000 steps (red).
This is confirmed by correlation of the learned patterns to ground truth not improving anymore as interactions increase on the same dataset:
An early-stopping param could be useful, probably needs implementation in the C++ code. For back-compatibility, it could be
NULLby default, and stop if a decrease in ChiSq has not been observed compared to the state N iterations ago.