2019年用于JavaScript的6大机器学习库

作者: 爱码农 2019-07-17 09:59:46

 通常,人们使用两种编程语言之一来应用机器学习(ML)方法和算法:Python或R.关于机器学习的书籍,课程和教程通常也使用这些语言中的一种(或两者)。

Python是一种通用编程语言,不仅用于机器学习,还用于科学计算,后端Web开发,桌面应用程序等.R主要用于统计学家。但是,它们至少有两个共同特征:

  • 它们适合非程序员
  • 他们有全面的ML库

在许多情况下,ML算法在Fortran,C,C ++或Cython中实现,并从Python或R调用。

Java也用于机器学习,但通常由专业程序员使用。

在过去的几年中,JavaScript得到了普及,并且出现了一些非常有趣的机器学习库,可以在浏览器或Node.js上实现ML方法。令人惊讶的是,许多这些库在JavaScript中实现了大量代码。

ml.js

ml.js是一个全面的,通用的JavaScript ML库,适用于浏览器和Node.js. 它提供了以下例程:

  • 对数组,哈希表,排序,随机数生成等的位操作。
  • 线性代数,数组操作,优化(Levenberg-Marquardt方法),统计
  • 交叉验证
  • 监督学习
  • 无监督学习

支持的监督学习方法是:

  • 线性,多项式,指数和幂回归
  • K-最近邻居
  • 朴素贝叶斯
  • 支持向量机
  • 决策树和随机森林
  • 前馈神经网络等

此外,ml.js提供了几种无监督的学习方法:

  • 主成分分析
  • 聚类分析(k均值和层次聚类)
  • 自组织地图(Kohonen网络)

TensorFlow.js

TensorFlow是最受欢迎的机器学习库之一。它侧重于人工神经网络的各种类型和结构,包括深度网络以及网络的组件。

TensorFlow由Google Brain Team创建,使用C ++和Python编写。但是,它可以与包括JavaScript在内的多种语言一起使用。

TensorFlow是一个非常全面的库,仍然可以轻松地构建和培训模型。它支持各种各样的网络层,激活功能,优化器和其他组件。它具有良好的性能并提供GPU支持。

TensorFlow.js是一个用于浏览器或Node.js的JavaScript ML库。它支持WebGL。

brain.js

brain.js是一个用JavaScript编写的库 - 专注于训练和应用前馈和循环神经网络。它还提供其他实用程序,例如神经网络所需的数学例程。

它提供了高级选项,如:

  • 使用GPU训练网络
  • 可以并行适应多个网络的异步培训
  • 交叉验证是一种更复杂的验证方法

brain.js将模型保存到JSON文件或从中加载模型。

ConvNetJS

ConvNetJS是神经网络和深度学习的另一个库。它可以在浏览器中训练神经网络。除了分类和回归问题,它还有强化学习模块(使用Q学习)仍然是实验性的。ConvNetJS为在图像识别方面表现优异的卷积神经网络提供支持。

在ConvNetJS中,神经网络是层的列表。它提供以下层:

  • 输入(第一个)图层
  • 完全连接的层
  • 卷积层
  • 汇集层
  • 局部对比度归一化层
  • 分类器丢失(输出)层:softmax和svm
  • 使用L2的回归损失(输出)层

它支持几个重要的激活功能,如:

  • RELU
  • 乙状结肠
  • 双曲正切
  • MAXOUT

以及优化器如:

  • 随机梯度下降
  • Adadelta
  • AdagradS
  • ConvNetJS还提供了一种方便的方法来保存和加载JSON文件的模型。

执照:麻省理工学院。

WebDNN

WebDNN是一个专注于深度神经网络的图书馆,包括具有LSTM架构的递归神经网络。它使用TypeScript和Python编写,并提供JavaScript和Python API。

它还提供了在浏览器中执行GPU的可能性。

WebDNN的一个非常方便的功能是可以转换和使用PyTorch,TensorFlow,Keras,Caffemodel或Chainer预训练的模型。

natural

natural是一个用于Node.js的自然语言处理的JavaScript库。

它支持:

  • 标记化(将文本分解为字符串数组)
  • 弦距离的计算
  • 匹配相似的字符串
  • 分类(朴素贝叶斯,逻辑回归和最大熵)
  • 情感分析(目前有八种语言)
  • 语音匹配,inflectors,n-gram等

结论

在过去的几年里,JavaScript和机器学习都得到了很多关注和普及。尽管最初是为了实现网页的动态行为而创建的,但JavaScript成为实现和应用机器学习方法的首选语言之一,尤其是在浏览器或服务器(Node.js)中。

本文提供了有关JavaScript机器学习库可用性的初始信息。

JavaScript Java 机器学习
上一篇:韩国UNIST合作研发AI系统 预测未来5至15分钟交通状况 下一篇:Gartner:人工智能在高等教育领域中的实践
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

机器学习转化为生产力,警惕这4个常见陷阱!

几乎每个人都想在他们的业务中引入机器学习,但是这些人也遇到了一个大问题:让模型可持续发展十分困难,尤其是在云架构的基础上。medium上一位博主也指出了这个问题,并提出了将机器学习模型投入生产的4个常见陷阱。

大数据文摘 ·  13h前
500亿参数,支持103种语言:谷歌推出「全球文字翻译」模型

由于缺乏平行数据,小语种的翻译一直是一大难题。来自谷歌的研究者提出了一种能够翻译 103 种语言的大规模多语言神经机器翻译模型,在数据丰富和匮乏的语种翻译中都实现了显著的性能提升。

机器之心 ·  1天前
机器学习免费跑分神器:集成各大数据集,连接GitHub就能用

搞机器学习的小伙伴们,免不了要在各种数据集上,给AI模型跑分。现在,Papers with Code (那个以论文搜代码的神器) 团队,推出了自动跑分服务,名叫sotabench,以跑遍所有开源模型为己任。

栗子 鱼羊 ·  1天前
大数据为什么不够聪明?机器要如何走向强人工智能

大数据为什么不够聪明?比概率语言更强大的思考工具是什么?科幻电影中的强人工智能到底怎样实现?如何让智能机器像人一样思考?搞清楚因果关系才能拨云见日。

明日情报 ·  1天前
2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

2019年,机器学习框架之争进入了新阶段:PyTorch与TensorFlow成为最后两大玩家,PyTorch占据学术界领军地位,TensorFlow在工业界力量依然强大,两个框架都在向对方借鉴,但是都不太理想。

大数据文摘 ·  2天前
机器学习帮你预测电池寿命:精确了解电池还能充几次

电池寿命的确定,是移动硬件发展的重要一环,但是由于电池电化学反应的不确定性以及不同的使用环境和习惯,电池寿命变成了一门玄学。不过柏林的三位小伙伴,利用Tensorflow,在原有的预测体系基础上。更近一步,完成了电池的全寿命预测。

靓科技解读 ·  2天前
PyTorch横扫顶会,TensorFlow退守业界:机器学习框架一年变天

机器学习框架的世界,局势变化过于迅猛,稍不注意就会被抢了地盘。一年前,TensorFlow还是各大顶会论文选择的主流框架,如今顶会几乎成了PyTorch的天下。

鱼羊 栗子 ·  2天前
Nature发文:深度学习系统为什么这么好骗?

今天的人工智能系统经常会出现莫名其妙的 bug。最新一期《自然》杂志上的这篇文章向我们介绍了深度学习为什么如此容易出错,以及解决这些问题的研究方向。

机器之心 ·  3天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载