当前位置: 首页 > 科技观察

2019年JavaScript的6大机器学习库

时间:2023-03-19 23:00:24 科技观察

通常,人们使用两种编程语言之一应用机器学习(ML)方法和算法:Python或R。机器学习的书籍、课程和教程通常也使用一种(或两者)这些语言。Python是一种通用编程语言,不仅用于机器学习,还用于科学计算、后端Web开发、桌面应用程序等。R主要由统计学家使用。但是,它们至少有两个共同特征:适合非程序员使用拥有全面的ML库在许多情况下,ML算法使用Fortran、C、C++或Cython实现,并从Python或R调用。也使用Java在机器学习中,但通常由专业程序员完成。JavaScript在过去几年变得流行起来,并且出现了一些非常有趣的机器学习库,它们在浏览器或Node.js上实现ML方法。令人惊讶的是,其中许多库都使用JavaScript实现了大量代码。ml.jsml.js是用于浏览器和Node.js的综合性通用JavaScriptML库。它提供用于以下方面的例程:数组的位操作、哈希表、排序、随机数生成等。线性代数、数组操作、优化(Levenberg-Marquardt方法)、统计交叉验证监督学习无监督学习支持的监督学习方法有:线性、多项式、指数和幂回归K-最近邻和随机森林前馈神经网络等。此外,ml.js提供了几种无监督学习方法:PrincipalComponentAnalysisClusterAnalysis(k-meansandHierarchicalClustering)Self-OrganizingMaps(KohonenNetworks)TensorFlow.jsTensorFlow是**最好的机器学习库之一。它侧重于各种类型和结构的人工神经网络,包括深度网络和网络组件。TensorFlow由GoogleBrain团队创建,使用C++和Python编写。但是,它可以与包括JavaScript在内的多种语言一起使用。TensorFlow是一个非常全面的库,仍然可以轻松构建和训练模型。它支持各种网络层、激活函数、优化器和其他组件。它具有良好的性能并提供GPU支持。TensorFlow.js是用于浏览器或Node.js的JavaScriptML库。它支持WebGL。brain.jsbrain.js是一个用JavaScript编写的库-专注于训练和应用前馈和递归神经网络。它还提供其他实用程序,例如神经网络所需的数学例程。它提供高级选项,例如:使用GPU训练网络可以并行适应多个网络的异步训练交叉验证是一种更复杂的验证方法大脑。ConvNetJSConvNetJS是另一个用于神经网络和深度学习的库。它可以在浏览器中训练神经网络。除了分类和回归问题,它还有一个仍在实验中的强化学习模块(使用Q-learning)。ConvNetJS为擅长图像识别的卷积神经网络提供支持。在ConvNetJS中,神经网络是层列表。它提供以下层:输入(第一)层全连接层卷积层池化层局部对比度归一化层分类器损失(输出)层:softmax和svm使用L2的回归损失(输出)层它支持几个重要的激活函数,如:RELUSigmoidTangentMAXOUT以及优化器,如:随机梯度下降AdadeltaAdagradSConvNetJS还提供了一种从JSON文件保存和加载模型的便捷方法。许可证:麻省理工学院。WebDNNWebDNN是一个专注于深度神经网络的库,包括具有LSTM架构的递归神经网络。它使用TypeScript和Python编写,并提供JavaScript和PythonAPI。它还提供了在浏览器中执行GPU的可能性。WebDNN的一个非常方便的功能是能够转换和使用PyTorch、TensorFlow、Keras、Caffemodel或Chainer预训练模型。naturalnatural是一个用于Node.js自然语言处理的JavaScript库。它支持:标记化(将文本分解为字符串数组)计算和弦距离以匹配相似字符串分类(朴素贝叶斯、逻辑回归和***熵)情感分析(目前支持八种语言)语音匹配、变形器、n-gram等。结论在过去的几年中,JavaScript和机器学习都获得了广泛的关注和普及。尽管最初创建是为了启用网页的动态行为,但JavaScript成为实现和应用机器学习方法的最流行语言之一,尤其是在浏览器或服务器(Node.js)中。本文提供有关JavaScript机器学习库可用性的初步信息。