是否有可能使用数据库来存储机器学习数据?如果有,怎么做呢?



我是机器学习的新手。我想在我的服务器上设置一台机器,并使用数据库存储学习到的数据。

var colorClassifier = new NeuralNetwork();
colorClassifier.trainBatch([
    {input: { r: 0.03, g: 0.7, b: 0.5 }, output: 0},  // black
    {input: { r: 0.16, g: 0.09, b: 0.2 }, output: 1}, // white
    {input: { r: 0.5, g: 0.5, b: 1.0 }, output: 1}   // white
    ]);
console.log(colorClassifier.classify({ r: 1, g: 0.4, b: 0 }));  // 0.99 - almost 

机器学习框架的代码是这样的,但我希望'colorClassifies'在逻辑上存储在我的数据库中,而不是在内存中,这样我就可以在不丢失旧火车旧数据的情况下训练这台机器。我真的不知道这些框架内部是如何工作的,但我认为有可能做一些像我所要求的。谢谢你

"I don't really know these frameworks internal work"

无论框架如何工作,训练分类器意味着找到一组权重值,使分类器工作良好(通常这意味着最小化平方误差的总和)。一个训练好的分类器本质上是一组实数。为了持久化分类器,需要将这些数字存储到数据库中。

每个权重可以用四个数字来描述:

  • 层数(整数):第一层为输入层,其余为隐藏层(通常为一层或两层),按其出现的顺序排列。
  • From, to(整数):由于每个权值连接两个节点,因此每个层内这些节点的序号
  • 权重值(通常为实数)

如果,例如,你有一个值为5.8的权重从第二层的第3个节点到下一层的第5个节点,你可以将它存储在一个表中

层:2from_node: 3to_node: 5值:5.8

通过对所有权重重复此操作(一个简单的for循环),您可以将训练好的网络存储在一个简单的表中。我不知道你的框架是如何工作的,但通常会有一个成员函数,返回列表或哈希图格式的训练网络的权重

最新更新