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终端上执行它,输出将是这样的:
如您所见,我们的初学者机器学习算法预测颜色对比度为浅色,准确度为0.97(97%)。
如果我们希望输出为亮或暗,则可以添加以下代码:
const result = brain.likely({r:0.0,g:1,b:0.65}, network); console.log(result);
这是终端上的结果。
结论 这是整个项目的代码:
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/