是否可以使用数据库存储机器学习数据?如果可以,如何操作?

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

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’能逻辑上存储在我的数据库中,而不是在内存中,这样我就可以在时间过程中训练这台机器,而不会丢失关于旧训练的数据。我并不真正了解这些框架的内部工作原理,但我认为有可能实现我所要求的功能。谢谢


回答:

“我并不真正了解这些框架的内部工作原理”

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

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

  • 层号(整数):第一层是输入层,其余是隐藏层(通常是一到两层),按照它们出现的顺序排列。
  • 从、到(整数):由于每个权重连接两个节点,这些节点在每层内的序列号
  • 权重的值(通常是实数)

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

层: 2
从节点: 3
到节点: 5
值: 5.8

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

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注