Use/productionize 在客户端训练机器学习模型 javascript?

Use/productionize trained machine learning model in client-side javascript?

所以这是我一直在考虑的一个有点疯狂的想法。我正在考虑为某些 Web 内容(的专门子集)构建一个分类器,然后以 chrome 扩展的形式将其提供给用户。 (因此:用户转到网页,单击 chrome 扩展上的按钮,扩展应用预训练模型生成预测,将结果呈现给用户。)

但我很吝啬,我不想 运行 服务器从 chrome 扩展程序接收数据、生成预测并将其发送回用户。我突然想到:为什么不找到一些方法来序列化经过训练的模型或其他东西,并在客户端完成所有这些。

所以如果我最终拟合了一个非常简单的模型,比如逻辑回归之类的,那么很容易转移到客户端。最终,训练有素的逻辑回归只能表示为将特征映射到预测的普通数学函数,就像一行代码。我想这对于一些更高级的模型(线性 SVM)也是如此。在这种情况下,chrome 扩展可以完成所有数据清理等工作,然后生成预测只是计算点积的问题。但如果我最终使用随机森林之类的东西,情况就不一样了。

不幸的是,javascript 似乎没有 PMML 库或类似的东西。

所以,我求助于互联网的智慧。是否有任何其他方法可以在客户端 javascript 上使用生产 ML 模型?或者这些选项真的只是(1)运行 一个服务器,(2)为 JS 编写一个 PMML 库,(3)没有第三个选项?

谢谢!

您的模型是否已经以 PMML 数据格式可用?

如果是,则:

  1. 将 PMML 翻译成 Java 源代码。使用 JPMML 个库很容易。
  2. 将Java源代码翻译成Java脚本源代码。使用 Google Web Toolkit.
  3. 更容易

因此,您将拥有一个独立的 Java 脚本模型对象,它公开模型架构查询和评分 API 类似于 JPMML-Evaluator 库。