我想知道您是否可以使用一种具有无监督学习的整洁网络,利用Encog框架。我想利用他们的自组织,因为我的系统没有季节性特征。据我所知,我只看到了使用NEAT进行监督的网络的例子。
发布于 2016-05-26 06:02:09
免责声明:我对ML和Encog的了解都很低。
我相信the "boxes" example实际上是一个使用Encog的整洁功能的无监督学习的演示。
要进行无监督学习,请实现CalculateScore接口,并在创建网络时将该分数计算器传递给NEATUtil.constructNEATTrainer(pop, score)。
在本例中,BoxesScore实现了该接口并调用TrialEvaluation来计算适应度:
public double calculateFitness() {
final double threshold = BoxesScore.EDGE_LEN * BoxesScore.SQR_LEN;
double rmsd = Math.sqrt(this.accDistance / 75.0);
double fitness;
if(rmsd > threshold) {
fitness = 0.0;
} else {
fitness = (((threshold-rmsd) * 100.0) / threshold) + (this.accRange / 7.5);
}
return fitness
}您将从其余代码中看到,结果并不是测试用例和预期结果的硬编码列表。
因此,只要您能够定义“适应性”对您的解决方案意味着什么,您就可以使用Encog的整洁实现进行无监督学习。
https://stackoverflow.com/questions/32834319
复制相似问题