Esempio n. 1
0
void MLP::modifyLearningRate(realnumber &learningRate, bool adaptativeLearningRate, realnumber &oldMQE, realnumber &newMQE)
{
    if (adaptativeLearningRate)
    {
        if (newMQE > (1+0.03/m_input.cols()) * oldMQE)
        {
            restoreWeights();
            learningRate = min(max(learningRate - 0.3, realnumber(0.01)), learningRate*0.7);
        }
        else
        {
            oldMQE = newMQE;
            learningRate += 0.001;
        }
    }
    else
        oldMQE = newMQE;
}
Esempio n. 2
0
void OrdinalTree<T, M>::rebalanceAfterSpliceOut(Node* k, int delta)
{
	restoreWeights(k, -1);
	Super::rebalanceAfterSpliceOut(k, delta);
}