微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

显示epocs和批次大小的过度拟合

如何解决显示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 举报,一经查实,本站将立刻删除。