如何使用 TensorFlow.js 在您的 Web 应用程序中实施机器学习
原文作者: Abhay Singh Rathore
机器学习 (ML) 不再是一个崇高、遥不可及的概念。借助 TensorFlow.js 等库,开发人员现在可以将 ML 整合到他们的 Web 应用程序中。例如,您可以创建一个系统,根据用户的浏览量和搜索量推荐社交媒体广告。
这篇文章是您使用 TensorFlow.js 实现 ML 的指南。我们将讨论 TensorFlow.js 是什么、如何使用它,以及如何在您的 Web 应用程序中实现一个简单的推荐系统。
TensorFlow.js 简介
TensorFlow.js 是谷歌开发的一个 JavaScript 库,用于在浏览器和 Node.js 上训练和部署 ML 模型。它允许您在 JavaScript 中开发 ML 模型,并直接在浏览器或 Node.js 中使用 ML。
借助 TensorFlow.js,您可以从头开始创建新的 ML 模型,也可以使用预先训练的模型。它的灵活性和可访问性使其成为开发人员的热门选择。
设置 TensorFlow.js
要开始在您的 Web 应用程序中使用 TensorFlow.js,您需要将以下脚本标记添加到您的 HTML 文件中:
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@3.10.0/dist/tf.min.js"></script>
构建推荐系统
现在,让我们构建一个简单的推荐系统,根据用户行为推荐社交媒体广告。
第 1 步:定义数据
首先,我们需要训练数据。对于这个例子,让我们考虑一个简化的场景,我们只查看用户过去的广告点击和这些广告的类别。
我们的输入数据(特征)将是用户过去点击过的广告类别。我们的输出数据(标签)将是用户接下来点击的广告类别。
在现实世界中,您可能会从各种来源获得更多数据,例如用户人口统计、浏览历史等。
第 2 步:预处理您的数据
在我们将数据提供给模型之前,我们需要对其进行预处理。TensorFlow.js 为此提供了实用程序。在我们的例子中,我们会将我们的分类数据编码为我们的模型可以理解的数字数据。
第 3 步:定义和训练模型
接下来,我们将定义我们的模型。我们将使用顺序模型,它是一堆层,其中每一层都有一个输入张量和一个输出张量。
const model = tf.sequential();
model.add(tf.layers.dense({units: 10, inputShape: [numOfCategories]}));
model.add(tf.layers.dense({units: numOfCategories, activation: 'softmax'}));
model.compile({optimizer: 'sgd', loss: 'categoricalCrossentropy', metrics: ['accuracy']});
在这里,我们有两层。第一个是我们的隐藏层,第二个是我们的输出层。“softmax”激活函数确保我们的输出是广告类别的概率分布。
接下来,我们使用预处理的数据训练我们的模型。
await model.fit(trainFeaturesTensor, trainLabelsTensor, {epochs: 100});
第 4 步:做出预测
一旦我们的模型被训练好,我们就可以用它来进行预测。以下是我们为用户预测下一个广告类别的方式:
const prediction = model.predict(userFeaturesTensor);
这将为我们提供广告类别的概率分布。然后我们可以推荐概率最高的广告。
实际应用:社交媒体广告推荐
让我们将其与我们的社交媒体广告推荐场景联系起来。
比如说,用户经常查看和点击与技术和小工具相关的广告。随着时间的推移,我们的模型将学习这种模式。当。。。的时候
用户登录时,我们的模型会以更高的概率推荐来自这些类别的广告。
使用 TensorFlow.js,所有这一切都发生在用户的浏览器中,这使得它更快、更高效。
总之,TensorFlow.js 提供了一种可访问且功能强大的方法来将机器学习整合到您的 Web 应用程序中。正如我们所见,即使使用几行 JavaScript,我们也可以开始进行个性化的广告推荐。编码愉快!
- END -
关于奇舞团
奇舞团是 360 集团最大的大前端团队,代表集团参与 W3C 和 ECMA 会员(TC39)工作。奇舞团非常重视人才培养,有工程师、讲师、翻译官、业务接口人、团队 Leader 等多种发展方向供员工选择,并辅以提供相应的技术力、专业力、通用力、领导力等培训课程。奇舞团以开放和求贤的心态欢迎各种优秀人才关注和加入奇舞团。