JavaScript中的10个机器学习示例

作者: 佚名 2017-05-27 15:21:38

随着时间的推移,机器学习库变得更快也更易于使用,其发展速度丝毫没有放缓的迹象。虽然一直以来 Python 都是机器学习的重要语言,但目前的神经网络可以在任何语言中运行,包括 JavaScript!

最近一段时间,Web 生态系统发展迅速,虽然 JavaScript 和 Node.js 在性能上仍然不及 Python 和 Java,但它们也已经强大到足以处理许多机器学习的问题。Web 开发语言非常易用,它们在这一点上受益匪浅——你只需要在 Web 浏览器运行一个 JavaScript ML 项目即可。

大多数 JavaScript 机器学习库都还很年轻,仍然处理发展中,但是它们已经存在于此,你可以大胆的试着用用。通过本文,我们会了解到这些库及其大量的很酷的示例。

1.Brain

Brain

Brain 是一个可以让你轻松创建神经网络的库,然后你可以通过输入/输出数据对神经网络进行训练。虽然它可以通过 CDN 浏览器版本直接在 Web页面中加载,但由于训练会占用大量资源,所以最好是在 Node.js 环境下进行。它们的网站上有一个小小的演示,它被训练来识别色彩的对比度。

2. Deep playground

这是一个用于教育目的的 Web 应用程序,你可以在上面把玩神经网络并且探索其各种组件。 它有一个很好的 UI 界面,允许您控制输入数据、神经元数量、使用哪种算法以及想要在最终结果中反映的各种其他指标。你还可以从场景背后的应用那里学习到许多东西 —— 代码是开放源代码的,使用了一个用 TypeScript 编写的定制的机器学习库,并且拥有友好的文档。

3. FlappyLearning

FlappyLearning

FlappyLearning 是一个 JavaScript 项目,大约有 800 行未简化的代码在管理着一个机器学习库的创建,并且在一个有趣的演示中对它进行了场景化的实现,内容就是像一个演奏家那样玩 Flappy Bird。 在这个库中所使用的 AI 技术被称为神经演化(Neuroevolution),并且应用了从自然界的神经系统中吸收到灵感而发现的神经系统的算法,从每次迭代的成功或失败中进行动态学习。 演示非常容易运行起来 —— 只需要在浏览器中打开 index.html 即可。

4. Synaptic

Synaptic

Synaptic 是一个与架构无关的 Node.js 和浏览器库,它有可能是这个列表中最活跃的项目,允许开发人员构建出他们想要的任何类型的神经网络。 它内置了几种架构,可以用来对不同的机器学习算法进行快速的测试和比较。它还拥有一个很好的对神经网络的书面介绍、一些实例演示,以及其他一些用来揭示机器学习如何工作的很棒的教程。

5. Land Lines

Land Lines 是一个有趣的 Chrome Web 实验,可以用来发现地球的卫星图像,类似于用户制作的涂鸦。 该应用程序不会有对服务器端的调用:它完全在浏览器中工作,并且得益于其对机器学习以及 WebGL 的巧妙运用,在移动设备上也能有出色的性能。 您可以在 GitHub 上查看它的源代码,或者在此处查阅完整的学习案例。

6. ConvNetJS

ConvNetJS

ConvNetJS 虽然不再积极地进行维护了,但它仍然是最先进的基于 JavaScript 的深入学习库之一。 ConvNetJS 最初是在斯坦福大学开发出来的,随后在 GitHub 上变得非常受欢迎,进而产生了许多社区驱动的功能和教程。 它可以直接在浏览器中跑起来,支持多种学习技术,而且相当底层,所以适合于对神经网络具有较多经验的人来使用。

7. Thing Translator

Thing Translator

Thing Translator 是一项 Web 实验,可以让你的手机识别出现实生活中的物体对象,并用不同的语言对它们进行命名。该应用程序完全基于 Web 技术,并利用了 Google 的两个机器学习 API —— Cloud Vision 来进行图像识别而 Translate API 则进行自然语言的翻译。

8. Neurojs

Neurojs

这是一个基于增强学习来建立人工智能系统的框架。可悲的是,它做为开源项目并没有适当的文档,不过有一个 Demo,是一个自动驾驶实验,对构成神经网络的不同部分进行了很好的描述。这个库是纯 JavaScript 的,使用了像 webpack 和 babel 这样的现代工具。

9. Machine_learning

Machine_learning

这是另外一个能让我们 JavaScript 来设置和训练神经网络的库。 在 Node.js 和客户端中,它都非常容易进行安装,并且具有非常干净的 API,对于所有具备熟练技能级别的开发人员来说都是很合适的。 该库提供了许多实现了流行算法的示例,以帮助你了解核心的机器学习原理。

10. DeepForge

DeepForge 是一个对用户友好的开发环境,用来进行深度学习。 它能让你使用简单的图形界面来设计出神经网络,支持在远程机器上进行模型培训,并且内置了版本控制。 该项目在浏览器中能运行起来,基于 Node.js 和 MongoDB,大多数的 Web 开发人员对于其安装过程都是非常熟悉的。

结语

虽然 JavaScript 机器学习的生态系统尚未完全开发,但你可以使用此列表中的资源来开启学习 ML 之路,并获得对核心技术的体验。正如文章中的示例所示,你仅使用浏览器和一些熟悉的 JavaScript 代码就能获得大量有趣的东西。

JavaScript 机器学习 示例
上一篇:人工智能与软件架构 下一篇:AI帮您解决“太长不看”难题:如何构建一套深层抽象概括模型
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

高位截瘫患者重新行走:靠意念指挥外骨骼,法国脑机接口新突破

依靠介入头部的 2 个传感器,法国里昂的一名瘫痪男子 Thibault 实现了操控外骨骼装备来助力行走。

孙滔 ·  22h前
2008 年预测 2020 年生活方式:基本都实现了

美国皮尤研究中心曾在 2008 年预测 2020 年的生活方式,目前来看,该研究的预测基本已经实现。而对于未来 10 年,也就是 2030 年左右人们的生活,在 2017 年底的世界经济论坛上,800 多名信息和通讯技术领域的技术高管和专家给出了如下预测。

佚名 ·  22h前
机器学习的正则化是什么意思?

正则化的好处是当特征很多时,每一个特征都会对预测y贡献一份合适的力量;所以说,使用正则化的目的就是为了防止过拟合。

佚名 ·  22h前
为什么我的CV模型不好用?没想到原因竟如此简单……

机器学习专家 Adam Geitgey 近日发布了一篇文章探讨了这一简单却又让很多人头痛的问题,并分享了他为解决这一问题编写的自动图像旋转程序。

机器之心 ·  22h前
机器学习与预测分析的区别在何处? 精选

如今,认知学习的应用比以往更为普遍。通常意义上讲,认知学习与认知计算就是涉及AI技术与信号处理的操作过程或技术平台。

读芯术 ·  1天前
大盘点:8月Github上7个值得关注的数据科学项目

本文带你来看看GitHub上创建于2019年8月的7个数据科学项目。笔者所选项目的范围十分广泛,涉及从机器学习到强化学习的诸多领域。

读芯术 ·  1天前
非监督学习最强攻略

本次主要讲解的内容是机器学习里的非监督学习经典原理与算法,非监督,也就是没有target(标签)的算法模型。

SAMshare ·  1天前
PyTorch终于能用上谷歌云TPU,推理性能提升4倍,该如何薅羊毛?

Facebook在PyTorch开发者大会上正式推出了PyTorch 1.3,并宣布了对谷歌云TPU的全面支持,而且还可以在Colab中调用云TPU。

晓查 ·  1天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载