趣谈会 | JavaScript 中的 10 个机器学习示例

2017 年 8 月 10 日 IMWeb前端社区
戳蓝字“IMWeb前端社区”关注我们哦!


0

写在前面

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

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

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


1Brain

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


2Deep playground

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


3FlappyLearning



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


4Synaptic

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



5Land Lines

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


6ConvNetJS


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


7Thing Translator

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


8Neurojs


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


9Machine_learning

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


10DeepForge

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


11总结

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


英文原文:http://tutorialzine.com/2017/04/10-machine-learning-examples-in-javascript/


登录查看更多
0

相关内容

JavaScript 是弱类型的动态脚本语言,支持多种编程范式,包括面向对象和函数式编程。
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
264+阅读 · 2020年6月10日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【2020新书】图机器学习,Graph-Powered Machine Learning
专知会员服务
339+阅读 · 2020年1月27日
【新书】Python中的经典计算机科学问题,224页PDF
专知会员服务
52+阅读 · 2019年12月31日
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
开发 | 用 Python 做机器学习不得不收藏的重要库
AI科技评论
5+阅读 · 2019年1月8日
精选10大机器学习开源项目 !(附链接)
数据派THU
7+阅读 · 2018年5月3日
机器学习者必知的 5 种深度学习框架
深度学习世界
7+阅读 · 2018年5月3日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
28 款 GitHub 最流行的开源机器学习项目(附地址)
七月在线实验室
4+阅读 · 2017年12月18日
GitHub最著名的20个Python机器学习项目!
THU数据派
6+阅读 · 2017年12月14日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
【机器学习】推荐13个机器学习框架
产业智能官
8+阅读 · 2017年9月10日
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Arxiv
22+阅读 · 2019年11月24日
Meta-Learning with Implicit Gradients
Arxiv
13+阅读 · 2019年9月10日
Arxiv
26+阅读 · 2019年3月5日
Arxiv
5+阅读 · 2018年10月23日
Arxiv
4+阅读 · 2018年9月6日
VIP会员
相关资讯
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
开发 | 用 Python 做机器学习不得不收藏的重要库
AI科技评论
5+阅读 · 2019年1月8日
精选10大机器学习开源项目 !(附链接)
数据派THU
7+阅读 · 2018年5月3日
机器学习者必知的 5 种深度学习框架
深度学习世界
7+阅读 · 2018年5月3日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
28 款 GitHub 最流行的开源机器学习项目(附地址)
七月在线实验室
4+阅读 · 2017年12月18日
GitHub最著名的20个Python机器学习项目!
THU数据派
6+阅读 · 2017年12月14日
Python NLP 入门教程
开源中国
14+阅读 · 2017年10月1日
【机器学习】推荐13个机器学习框架
产业智能官
8+阅读 · 2017年9月10日
相关论文
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Arxiv
22+阅读 · 2019年11月24日
Meta-Learning with Implicit Gradients
Arxiv
13+阅读 · 2019年9月10日
Arxiv
26+阅读 · 2019年3月5日
Arxiv
5+阅读 · 2018年10月23日
Arxiv
4+阅读 · 2018年9月6日
Top
微信扫码咨询专知VIP会员