JavaScript中的一个简单的机器学习项目


Web浏览器中的机器学习?

是的,可以使用JavaScript在浏览器中完全定义,训练和部署机器学习算法。

尽管它可能不是机器学习的常规选择,但事实证明JavaScript能够完成这样的任务-即使它不能与主要的机器学习语言:Python竞争。

在继续之前,让我们对机器学习进行一些介绍。

据拥有超过13年经验的经验丰富的开发人员Skyhoshi所述,机器学习使计算机具有从提供的数据中学习,识别模式并得出结论的能力,而无需明确的人工干预。

传统上,由于多种原因,JavaScript在机器学习中并不常用,包括有限的库支持和实现复杂性。

尽管如此,JavaScript最近变得流行起来,主要是因为在完全在客户端上部署机器学习应用程序时有大量机会。

在本文中,我将说明一个简单的机器学习教程项目,该项目演示了JavaScript也能够为机器学习应用程序提供支持。

让我们开始吧 对于这个简单的项目,我将使用brain.js,这是一个方便的开源JavaScript库,带有用于机器学习的预制神经网络。

该项目的目的是使用一组训练数据来训练神经网络,以便它可以预测颜色对比是浅色还是深色。

步骤1:安装库

让我们使用Node.js通过npm软件包管理器安装该库。为此,您需要在计算机上预安装Node.js。

这是您可以在终端上运行的代码。(请记住将其安装在您要使用的文件夹中)。

npm install brain.js

步骤2:导入库

使用以下代码将库导入文件中:

const brain = require("brain.js");

步骤3:建立神经网络

这是代码:

const network = new brain.NeuralNetwork();

步骤4:训练资料

在机器学习中,训练数据与将要接收的结果一样好。较高质量的数据可能比较低质量的数据预测更好的结果。

此数据是一组示例,提供给算法以“指示”搜索内容。

在这种情况下,由于我们希望我们的机器学习算法学习识别明暗对比之间的差异,因此我们将提供这些示例来训练模型。

此后,该算法将使用提供的示例来区分两组之间的基本特征。

如果将来提供未知数据,该算法将根据从原始训练模型中识别出的特征进行分类。

对于这个项目,我们将使用内置的brain.js train()函数来使用一系列示例数据来训练我们的神经网络。

每个示例训练数据都会有一个输入对象和一个输出对象,它们都应该是一个从0到1的数字数组。

由于我们正在处理颜色,因此我们将选择其RGB值。由于RGB颜色在0到255之间,因此我们可以将它们除以255,以将其值转换为0到1之间的值。

例如,如果颜色的RGB值为(158,183,224)。如果我们通过除以255转换每个值,则它将变为(0.62,0.72,0.88)。

此后,我们需要提供一些示例RBG值的数据集,并指定输出是亮还是暗。

这是代码:

network.train([

  {input: {r:0.62,g:0.72,b:0.88}, output:{light: 1}},

  {input: {r:0.1,g:0.84,b:0.72}, output:{light: 1}},

  {input: {r:0.33,g:0.24,b:0.29}, output:{dark: 1}},

  {input: {r:0.74,g:0.78,b:0.86}, output:{light: 1}},

  ]);

步骤5:查看结果

在使用一些示例数据对算法进行了训练之后,现在该查看预测结果了。

你兴奋吗?

我们只需要调用run()函数,并提供一个我们想知道是浅色还是深色的色相参数即可。

这是代码:

const result = network.run({r:0.0,g:1,b:0.65});

console.log(result);

如果我们在Windows终端上执行它,输出将是这样的:

js1.png

如您所见,我们的初学者机器学习算法预测颜色对比度为浅色,准确度为0.97(97%)。

如果我们希望输出为亮或暗,则可以添加以下代码:

const result = brain.likely({r:0.0,g:1,b:0.65}, network);

console.log(result);

这是终端上的结果。

js2.png

结论 这是整个项目的代码:

const brain = require("brain.js");

const network = new brain.NeuralNetwork();

network.train([

  {input: {r:0.62,g:0.72,b:0.88}, output:{light: 1}},

  {input: {r:0.1,g:0.84,b:0.72}, output:{light: 1}},

  {input: {r:0.33,g:0.24,b:0.29}, output:{dark: 1}},

  {input: {r:0.74,g:0.78,b:0.86}, output:{light: 1}},

  ]);

//const result = network.run({r:0.0,g:1,b:0.65});

const result = brain.likely({r:0.0,g:1,b:0.65}, network);

console.log(result);

控制台。日志(结果); 在本文中,我演示了一个使用JavaScript的简单机器学习项目。为了提高您的机器学习技能,您需要完成此类项目。

快乐学习机器学习!


原文链接:https://codingdict.com/