我正在尝试使用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])]

最佳答案

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

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

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

10-08 16:36