如何解决显示epocs和批次大小的过度拟合
我正在看ml5.js中的这个示例。我正在尝试以此构建一个小的脚本,在其中我可以向用户展示更改batchSizes或历元数的影响。但是,在这种情况下,即使我更改了值,分类还是正确的,并且始终提供0.9999的高置信度。有什么方法可以修改此方法,从而使我能够清楚地演示使用较小/较大的历元和批量大小的影响吗?
任何示例都会有所帮助。
let nn;
const options = {
inputs: 1,outputs: 2,task: 'classification',debug: true
}
function setup(){
createCanvas(400,400);
nn = ml5.neuralNetwork(options);
console.log(nn)
createTrainingData();
nn.normalizeData();
const trainingOptions={
batchSize: 24,epochs: 32,}
nn.train(trainingOptions,finishedTraining); // if you want to change the training options
// nn.train(finishedTraining); // use the default training options
}
function finishedTraining(){
nn.classify([300],function(err,result){
console.log("RESULT",result);
})
}
function createTrainingData(){
for(let i = 0; i < 400; i++){
if(i%2 === 0){
const x = random(0,width/2);
nn.addData( [x],['left'])
} else {
const x = random(width/2,width);
nn.addData( [x],['right'])
}
}
}
p5编辑器链接:
https://editor.p5js.org/ml5/sketches/NeuralNetwork_Simple_Classification
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。