【译】10个机器学习的JavaScript示例

原文地址:10 Machine Learning Examples in JavaScript

在过去的每一年,用于机器学习(Machine Learning)的库在变得越来越快和易用。一直以来Python都是机器学习的首选语言,但现在几乎可将所有语言用于神经网络(neural networks),这里当然也包括JavaScript!

近几年,Web生态系统取得了很大进步,虽然JavaScript和Node.js的性能比Python和Java略差,但它们已足够处理许多机器学习问题。Web语言具有被广泛且易于使用的优势——你只需一个Web浏览器就可以运行一个JavaScript语言编写的机器学习项目。

虽然许多JavaScript语言编写的机器学习库是刚刚诞生并且还在持续开发中,但还是值得去尝试使用它们。这篇文章会介绍几个JavaScript语言编写的机器学习库以及一些很酷的AI Web应用示例,它们可以很好的帮助你开始AI之旅。

1. Brain

使用Brain 可以轻松的创建神经网络,并且可通过输入/输出数据对它进行训练。因为训练神经网络会消耗比较多的资源,所以推荐在Node.js环境中而不是直接使用浏览器来训练神经网络。在官网上有个可以识别颜色(recognize color contrast)的小demo (PS:试了下,这个demo现在是404页面)。

2. Deep playground

这是一个寓教于乐的Web应用,可以让你以游戏的方式来探索神经网络的不同部分。它有一个友好的界面用于让你控制数据的输入,算法所用的神经元数量以及其它一些会影响输出结果的权值因素。这是一个开源项目,它是使用TypeScript编写的机器学习库并且有完善的文档,从中我们可以许多东西。

3. FlappyLearning

FlappyLearning 项目大约800行代码,这个项目包含一个机器学习库并且实现了一个很有趣的demo——学习玩 Flappy Bird 游戏。它使用了一种叫做 Neuroevolution 的AI技术,使用了受自然神经系统激发而产生的算法,可以从每次成功或失败的迭代中进行动态进行学习。

4. Synaptic

.png

Synaptic是一个架构无关(architecture-agnostic)且得到积极维护的Node.js和浏览器库,它允许开发者构建任何类型的神经网络。它有几个内置的架构,使得可以快速测试和比较不同机器学习算法间的异同。它还提供了介绍神经网络的文档及几个实用demo和其它可以帮助我们学习机器学习的教程。

5. Land Lines

Land Lines 是一个有趣的用于搜寻地球卫星图片的Chrome网络实验(web experiment)。这个应用无需服务调用:它完全运行在浏览器环境中,得益于机器学习的使用,WebGL也可以在移动设备中有很好的表现。你可以在GitHub 上浏览源码或者在这里阅读完整的示例。

6. ConvNetJS

尽管已不再被积极的维护,但ConvNetJS依然是JavaScriptp中最为先进的深度学习库之一。这个库最初由斯坦福大学开发,然后ConvNetJS开始在GitHub上流行,社区为它添加了许多特性和教程。ConvNetJS直接运行在浏览器环境中,支持多种学习技术,并且它接近底层原理使得它更适有较多神经网络方面经验的人。

7. Thing Translator

Thing Translator是一个网络实验,它可以让你的手机识别真是的物体并用不同的语言标注物体的名称。这个应用完全建立在web技术之上并且利用了Google提供的两种机器学习APIs——用于图像识别的Cloud Vision 和用于自然语言翻译的Translate API

8. Neurojs

Nerojs用于建立基于增强学习(reinforcement learning)的AI系统框架。不幸的是这个开源项目除了一个自动驾驶实验的demo外并没有完善的文档,这个demo对组成神经网络的不同部分有着很好的描述。这个库借助如现代化工具如:webpack 和babel,使用纯JavaScript进行开发。

9. Machine_learning

这也是一个允许我们仅使用JavaScript创建并训练神经网络的库。它很容易就可以安装到Node.js和客户端环境,并且拥有对开发人员十分友好的的API。这个库提供了许多示例,可以帮助你理解机器学习的核心原理。

10. DeepForge

DeepForge是一个用于深度学习且易于使用的开发环境。它允许你使用简单的图形接口创建神经网络,支持在远程机器上训练模型,并且内置版本控制系统。这个项目基于Node.js和MongoDB且运行在浏览器环境中。

彩蛋: Machine Learning in Javascript

Burak Kanber 发布的一些列优秀博文中讲述了机器学习的基本原理。这些教程写的很好且专门面向JavaScript开发者。如果你想深入理解机器学习,这些博文是很好的学习资源。

结语

尽管JavaScript的机器学习生态尚未成熟,但仍然建议使用上述资源来开启你的机器学习之路并对一些核心技术建立感性认识。正如文章中展示的一些实验,你也可以仅使用浏览器和少量JavaScript代码来创建许多有趣的东西。

推荐阅读

Machine Learning and AI Tensorflow

版权声明

本文为作者原创,版权归作者雪飞鸿所有。 转载必须保留文章的完整性,且在页面明显位置处标明原文链接

如有问题, 请发送邮件和作者联系。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

学习R语言,一篇文章让你从懵圈到入门

在实际工作中,每个数据科学项目各不相同,但基本都遵循一定的通用流程。具体如下: 数据科学工作流程 数据导入 数据整理 反复理解数据 数据可视化 数据转换 ...

4044
来自专栏机器之心

学界 | AAAI-17论文提出深度学习C语言修改器DeepFix:用人工智能加「;」

选自aaai.org 机器之心编译 参与:吴攀 如果你是一个程序员,你一定体验过编译时报错的痛苦,有时候一个小错误可能就需要你很多时间检查许多代码才能找到。近...

3025
来自专栏华章科技

学习R语言,一篇文章让你从懵圈到入门

PivotalR:用于读取Pivitol(Greenplum)和HAWQ数据库中的数据

2323
来自专栏机器学习算法工程师

免费使用谷歌GPU资源训练自己的深度模型

作者:刘威威 编辑:黄俊嘉 注:本文编译自medium,原英文链接:https://medium.com/@nick...

5948
来自专栏量子位

PyTorch还是TensorFlow?这有一份新手指南

问耕 编译整理 量子位 出品 | 公众号 QbitAI 前几天,量子位发过一篇《忽悠VC指南》。其中有一条建议是,当你假装AI专家时,最好别谈众人皆知的Tens...

3613
来自专栏机器之心

深度 | PyTorch和TensorFlow哪家强:九项对比读懂各自长项短板

选自GitHub 作者:Awni Hannun 机器之心编译 参与:Panda 现在是各种机器学习框架群雄争霸的时代,各种各样的比较文章也层出不穷。近日,斯坦福...

3226
来自专栏AI研习社

Github 项目推荐 | 用于运行和训练深度神经网络的开源 C++ 库 —— nGraph

nGraph 目前支持三种流行的深度学习框架(neon、MXNet、TensorFlow),对于其他的深度学习框架,开发者可以根据官方的引导指南来创建用于编译和...

1592
来自专栏CVer

【重磅】吴恩达最新的机器学习书籍更新啦!

Amusi曾于2018年4月5日推送了重磅:吴恩达最新的机器学习书籍《Machine Learning Yearning》,当时Amusi收到了一封邮件,如下所...

1222
来自专栏CDA数据分析师

学习R语言,一篇文章让你从懵圈到入门

在实际工作中,每个数据科学项目各不相同,但基本都遵循一定的通用流程。具体如下: ? 数据科学工作流程: 1.数据导入 2.数据整理 3.反复理解数据 数据可视...

2466
来自专栏瓜大三哥

SDI中的GTX

信号的高频成分经过PCB走线或者电缆传输后相对于信号的低频成分会被衰减得更多,此现象被称为曲阜效应,它会破坏高速信号的完整性,使其眼图关闭并增加信号抖动。为了补...

1244

扫码关注云+社区

领取腾讯云代金券