代码之家  ›  专栏  ›  技术社区  ›  Norfeldt

brain.js倒数/倒数训练(预测输出的输入)

  •  0
  • Norfeldt  · 技术社区  · 8 年前

    brain.js network 只是在玩弄它。然后我好奇地想知道是否可以反过来——预测输出的输入?

    const brain = require('brain.js');
    const network = new brain.NeuralNetwork();    
    /* 
    network.train([
        { input: { doseA: 0 }, output: { indicatorA: 0 } },
        { input: { doseA: 0.1 }, output: { indicatorA: 0.02 } },
        { input: { doseA: 0.2 }, output: { indicatorA: 0.04 } },
        { input: { doseA: 0.3 }, output: { indicatorA: 0.06 } },
        { input: { doseA: 0.4 }, output: { indicatorA: 0.08 } },
        { input: { doseA: 0.5 }, output: { indicatorA: 0.10 } },
        { input: { doseA: 0.6 }, output: { indicatorA: 0.12 } },
        { input: { doseA: 0.7 }, output: { indicatorA: 0.14 } },
    ], {
      iterations: 1e6,
      errorThresh: 0.00001
    });
    */    
    network.fromJSON({"sizes":[1,3,1],"layers":[{"doseA":{}},{"0":{"bias":-0.7720749378204346,"weights":{"doseA":-6.819720268249512}},"1":{"bias":0.2317514568567276,"weights":{"doseA":-1.4340121746063232}},"2":{"bias":-0.34450986981391907,"weights":{"doseA":-2.9449453353881836}}},{"indicatorA":{"bias":-1.0124520063400269,"weights":{"0":-5.02399206161499,"1":-1.69333016872406,"2":-3.1710503101348877}}}],"outputLookup":true,"inputLookup":true,"activation":"sigmoid","trainOpts":{"iterations":1000000,"errorThresh":0.00001,"log":false,"logPeriod":10,"learningRate":0.3,"momentum":0.1,"callbackPeriod":10}})
    
    const result = network.run({ doseA: 0.35 });   
    console.log(result);
    // { indicatorA: 0.06978786736726761 }
    

    但是如果我想 network.run({ indicatorA: 0.07 }) { doseA: 0.35 } 是吗?

    network 又一次,但是换了 input output

    1 回复  |  直到 8 年前
    推荐文章