【问题标题】:Don't understand train data from convnetjs不理解来自 convnetjs 的训练数据
【发布时间】:2015-04-30 18:34:08
【问题描述】:

我正在尝试使用 javascript 中的神经网络来预测一些数据。为此,我发现convnetjs 似乎很容易使用。

在示例中,他们使用了一种称为 MagicNet 的东西,因此您无需了解 NN 即可使用它。这是使用示例:

// toy data: two data points, one of class 0 and other of class 1
var train_data = [new convnetjs.Vol([1.3, 0.5]), new convnetjs.Vol([0.1, 0.7])];
var train_labels = [0, 1];

// create a magic net
var magicNet = new convnetjs.MagicNet(train_data, train_labels);
magicNet.onFinishBatch(finishedBatch); // set a callback a finished evaluation of a batch of networks

// start training MagicNet. Every call trains all candidates in current batch on one example
setInterval(function(){ magicNet.step() }, 0});

// once at least one batch of candidates is evaluated on all folds we can do prediction!
function finishedBatch() {
  // prediction example. xout is Vol of scores
  // there is also predict_soft(), which returns the full score volume for all labels
  var some_test_vol = new convnetjs.Vol([0.1, 0.2]);
  var predicted_label = magicNet.predict(some_test_vol);
}

我不明白的是: 他们创建像 [new convnetjs.Vol([1.3, 0.5]), new convnetjs.Vol([0.1, 0.7])] 这样的训练数据,然后使用 2 个标签。这些标签,对于数组的每个位置或对于这些位置的子数组的每个元素都是一个??

这是一个视觉示例:

[new 0, new 1] 还是像[new convnetjs.Vol([0, 1]), new convnetjs.Vol([0, 1])]

【问题讨论】:

    标签: javascript neural-network conv-neural-network


    【解决方案1】:

    样本new convnetjs.Vol([1.3, 0.5]) 具有标签0

    样本new convnetjs.Vol([0.1, 0.7]) 具有标签1

    一般来说,在机器学习中,您通常会有相当高维的样本(这里它们只是二维的),但每个样本只有一个标签,可以告诉您哪个“类别”它属于。类的实际含义取决于您要解决的问题;例如,它们可能是由手写数字图像表示的数字。

    【讨论】:

    • 谢谢!这解决了我的问题。还有一件事;如果我有 8 个 lavels 并且我想预测第 8 个...我该怎么做呢? (布尔值:0-1)
    • @Sascuash:magicNet.predict(some_test_vol) 对给定输入的标签进行预测。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2019-04-10
    相关资源
    最近更新 更多