网站建设和制作,网站开发绩效考核,小学网站建设成都,h5单页网站制作摘要#xff1a; 本篇文章教你如何使用JavaScript在浏览器中完整地定义、训练和部署机器学习算法。
虽然它可能不是机器学习传统选择的开发语言#xff0c;但是JavaScript正在证明有能力完成这样的工作——即使它目前还不能与主要的机器学习语言Python竞争。在进一步学习之前…摘要 本篇文章教你如何使用JavaScript在浏览器中完整地定义、训练和部署机器学习算法。
虽然它可能不是机器学习传统选择的开发语言但是JavaScript正在证明有能力完成这样的工作——即使它目前还不能与主要的机器学习语言Python竞争。在进一步学习之前让我们做一下机器学习的介绍。
根据Skyhoshi这个有着超过13年开发人员的实际经验机器学习赋予计算机根据所提供的数据进行学习的能力并且识别模式然后得出结论而不需要明确的人为干预。
从传统上来说JavaScript在机器学习中不常用有以下两个主要的原因包括有限的库支持和实现的复杂性。
虽然如此JavaScript最近已经颇欢迎了主要是因为在客户端上有完整的部署机器学习应用的广泛机会。
在这篇文章中我将演示一个简单的机器学习辅导项目它展示了JavaScript也能够为机器学习应用提供动力。
对于这个相对简单的项目我将使用Neal.js程序文件它是一个简便的开源JavaScript库它为机器学习提供了预处理的神经网络。
该项目的目的是用一组训练数据来训练一个神经网络使得它可以预测颜色的对比是亮的还是暗的。
第一步安装库
让我们使用NoDE.js这个文件并通过NPM包管理器来安装库。为此你需要在计算机上预先安装No.js文件。
这里是你可以用在终端上运行的代码。切记把它安装在你要处理的文件夹上 npm install brain.js
第二步: 导入库
使用以下代码在你的文件上导入库: const brain require(brain.js);
第三步:创建一个神经网络
以下是代码: const network new brain.NeuralNetwork();
第四步:训练数据
在机器学习之中训练的数据和收到的结果一样好。更高质量的数据可能比较低质量的数据预测出更好的结果。
该数据是一组示例它被提供给算法并“指导”算法要搜索什么东西。
在这个例子中由于我们希望这个机器学习算法学会识别光亮和黑暗之间颜色对比的差异所以我们将给出这些例子来训练学习模型。
在这之后该算法将利用所提供的实例来辨别两个组之间的本质特征。
如果在将来提供了未知的数据那么这个算法将根据从原始训练模型中识别出来的特征进行分类。
对于这个项目我们将使用内置的brain.js程序文件中的train()函数来使用实例数据的数组来训练神经网络。
每个实例中的训练数据都将有一个输入对象和一个输出对象它们都应该是一个从0到1的数组。
因为我们正在使用颜色来进行研究因此我们要去找到它们的RGB值。由于RGB颜色介于0和255之间所以我们可以将它们转换为被255相除的0到1之间的值。
举个例子如果颜色的RGB值为158,183,224我们通过除以255来转换每个值它将变成0.620.720.88。
在这之后我们需要提供RGB值的一些示例数据集并指定输出将是亮的还是暗的。
以下是代码:
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}}, ]);
第五步: 查看结果
在用一些实例数据进行训练算法之后现在是查看预测结果的时候了。
我们只需调用Run函数并提供一个颜色色调的参数目的是想知道它是亮的还是暗的。
以下是代码:
const result network.run({r:0.0,g:1,b:0.65});
console.log(result);
如果我们在Windows终端上执行以上代码输出将是这样的: 正如你所看到的我们给初学者的机器学习算法预测到颜色对比度是亮色的准确度为0.9797%。
如果我们希望输出是亮的或者是暗的那么可以添加下面的代码:
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的机器学习项目。为了提高你的机器学习技能你当然也需要完成类似的项目。
原文链接
本文为云栖社区原创内容未经允许不得转载。