10 个基于 JavaScript 的机器学习实例
随着人工智能技术的发展,机器学习越来越受到开发者们的关注,从而也导致了机器学习库如雨后春笋般的涌现出来,而且没有任何放缓的趋势。虽然,传统意义上 Python 已经成为了最受欢迎的机器学习语言。但目前神经网络可在任何编程语言中运行,当然也包括 JavaScript!
近来,Web 生态系统取得了重大的进展。尽管 JavaScript 和 Node.js 的性能要比 Python 和 Java 的性能差,但它们已经能够应对机器学习中的许多问题。同时,Web 编程语言也具有很强的易用性,即你只要搞定了 Web 浏览器,那么运行 JavaScript ML 项目就不是个事儿。
虽然,大多数 JavaScript 机器学习库都是“新轮子”,有的甚至还在研发中,但并不会影响你的使用。在这篇文章中,我们将与你分享这些库,以及一些很酷的 AI Web 应用程序实例,帮助你开启机器学习之旅。
1. Brain
Brain 是一个可以让你轻松创建神经网络的库,并可通过输入/输出数据进行训练。尽管,它可以直接在浏览器网页上运行,但是训练的过程会占用大量的资源,因此最好在 Node.js 环境中启动它。另外,在他们网站上还有一个用于训练识别色彩对比度的小例子,你也可以了解下。
项目地址:【传送门】
2. Deep playground
这是由 TensorFlow 出品的可视化的神经网络交互式学习程序。它可以带你了解神经网络,并探索其不同的组件。它不仅有一个漂亮的用户界面,而且通过控制数据、神经元数量、使用算法的类别以及各项其他的指标,让你能够直观、实时的了解其运行的状态。另外,由于它是开源的(它用 TypeScript 编写,并具备优质的文档可查阅),所以通过了解其项目背景,你还能够学到更多有价值的知识。
项目地址:【传送门】
3. FlappyLearning
FlappyLearning 是一个仅用 800 行代码创建的 JavaScript 机器学习库,它让你可以像行家一样玩转 Flappy Bird 游戏。在这个库中所使用的 AI 技术被称为“ Neuroevolution”,而它所应用算法的灵感则源于自然界生物神经系统的进化,并且它可以从每次成功或失败的迭代中进行动态的学习。另外,你只需要在浏览器中打开 index.html 就可以运行它了,炒鸡简单。
项目地址:【传送门】
4. Synaptic
这个项目可能是本文所有项目中最活跃的项目了。Synaptic 是一个 Node.js 和浏览器可用的库。虽然它的架构未知,但开发人员可以通过它来构建任何类型的神经网络。它也具备一些内置架构,使它能够快速的测试,并能针对不同的机器学习算法进行比较。同时,它的使用文档丰富且全面,包含了神经网络的基本介绍、一些实用的演示,以及相应的使用教程。
项目地址:【传送门】
5. Land Lines
Land Lines 是一个有趣的 Chrome Web 实验。用户通过在页面上涂鸦,来发现地球上的卫星图像。它可以完全在浏览器中运行,无需服务器端的调用。同时,由于机器学习和 WebGL 的巧妙使用,即使在移动设备上它也有出色的表现。如果你对它比较感兴趣,也可以在 GitHub 上查看其源码,或者在这里阅读整个案例研究。
项目地址:【传送门】
6. ConvNetJS
虽然,此项目不再积极维护,但 ConvNetJS 却是基于 JavaScript 最先进的深度学习库之一。最初它是由斯坦福大学开发的项目,随着在 GitHub 上的流行,许多社区开始驱动了其新的特性,并撰写了相关的教程。它可以直接在浏览器中工作,支持多种学习技术,而且操作简单,适合神经网络进阶者学习。
项目地址:【传送门】
7. Thing Translator
Thing Translator 是一个 Web 实验,让你可以通过手机来识别实物,并可用不同的语言为它们命名。这款应用程序完全基于 Web 技术构建,并整合了 Google 的两种机器学习 API,即用于图像识别的 Cloud Vision 和用于自然语言翻译的 Translate API 。
项目地址:【传送门】
8. Neurojs
这是一个基于强化学习的人工智能系统框架。遗憾的是,这个开源项目并没有合适的文档。但其中一个自动驾驶汽车的演示,却对组成神经网络的不同部分有很好的描述。这个库仅通过 JavaScript 实现,并应用了 webpack 和 babel 。
项目地址:【传送门】
9. Machine_learning
Machine_learning 是一个仅通过 JavaScript 便可设置和训练神经网络的库。无论是在 Node.js,还是客户端上,它都易于安装,并且具备非常干净的 API,适合任何技术级别的开发者进行学习。同时,该库还提供了许多现成的流行算法示例,帮助你了解核心的机器学习原理。
项目地址:【传送门】
10. DeepForge
DeepForge 是一个对于用户友好的深度学习开发环境。有了它,你可以使用简单的图形界面对神经网络进行设计,同时它还支持远程机器的训练模型,并且内置了版本控制。它基于 Node.js 和 MongoDB,可在浏览器中运行。对于大多数 Web 开发者来说,它的安装过程也会相当的简单。
项目地址:【传送门】
奖励:Machine Learning in Javascript
这是由 Burak Kanber 发表的一系列文章,主要介绍了一些机器学习基础知识。这些教程专门针对 JavaScript 开发人员,而且写得比较透彻。如果你想更深入地了解机器学习,不妨看一看。
结论
虽然,基于 JavaScript 的机器学习生态体系还在不断的发展,但本文推荐的这些资源,能够帮助你开启机器学习的体验之旅,并对其核心技术有所了解。正如文章中的实例所示,你只需通过浏览器和一些熟知的 JavaScript 代码就能体会到机器学习的极大乐趣。
10 个基于 JavaScript 的机器学习实例相关推荐
- 邓仰东专栏|机器学习的那些事儿(五):基于GPU的机器学习实例之IBM Waston
目录 1.绪论 1.1.概述 1.2 机器学习简史 1.3 机器学习改变世界:基于GPU的机器学习实例 1.3.1 基于深度神经网络的视觉识别 1.3.2 AlphaGO 1.3.3 IBM Wast ...
- 胖子哥的大数据之路(10)- 基于Hive构建数据仓库实例
一.引言 基于Hive+Hadoop模式构建数据仓库,是大数据时代的一个不错的选择,本文以郑商所每日交易行情数据为案例,探讨数据Hive数据导入的操作实例. 二.源数据-每日行情数据 三.建表脚本 C ...
- RPGMAKER游戏引擎基于JavaScript的插件制作(六)——重写方法(三):在场景(scenes)中创建精灵(Sprite)——复制式重写的实例教学
因为要开新坑了,准备连续更新把这个插件制作的坑填完,之后更新的是"可交互精灵--事件绑定教学","窗口(windows)教学","自动战斗AI实现-- ...
- 机器学习笔记 - 基于JavaScript的顶级机器学习框架
1.概述 虽然 Python 和 C++编程语言已成为机器学习框架的流行选择,但 JavaScript 也并不落后.环顾四周,可能会发现 JavaScript 框架也已在 AI 中实现.事实上,根据 ...
- 曼哈顿距离java实现_基于javascript实现获取最短路径算法代码实例
这篇文章主要介绍了基于javascript实现获取最短路径算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 //A算法 自动寻路 ...
- web课程设计网页规划与设计—— 中西餐美食餐饮网站(10页面) html+css+javascript网页设计实例...
web课程设计网页规划与设计-- 中西餐美食餐饮网站HTML(10页面) html+css+javascript网页设计实例 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HT ...
- web课程设计网页规划与设计—— 中西餐美食餐饮网站(10页面) html+css+javascript网页设计实例
web课程设计网页规划与设计-- 中西餐美食餐饮网站HTML(10页面) html+css+javascript网页设计实例 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HT ...
- 机器学习笔记 - 结合深度学习的基于内容的图像实例检索 利用现成的DCNN模型进行检索
一.简述 上一篇,基于内容的图像实例检索综述. https://mp.csdn.net/mp_blog/creation/editor/131415155https://mp.csdn.net/mp_ ...
- 【精心挑选】10款基于 jQuery 的图片360度旋转插件
之前的文章向大家分享了实现网站功能的各种优秀的 jQuery 插件,今天这篇文章向大家推荐10款基于 jQuery 的图片360度旋转插件,同时还有非常详细的制作教程可以学习和参考.图片旋转展示是一种 ...
- 精心挑选10款基于 jQuery 的图片360度旋转插件
之前的文章向大家分享了实现网站功能的各种优秀的 jQuery 插件,今天这篇文章向大家推荐10款基于 jQuery 的图片360度旋转插件,同时还有非常详细的制作教程可以学习和参考.图片旋转展示是一种 ...
最新文章
- Hadoop.2.x_HA部署
- vue组件的基本使用,以及组件之间的基本传值方式
- python 蓝牙模块pybluz安装
- 启动mac版docker自带的k8s
- MapReduce论文
- devops 数据库_DevOps世界中与数据库管理员合作的6种方法
- 《计算机系统:核心概念及软硬件实现(原书第4版)》——1.4数据库系统
- 计算机的组成 —— PCI(PCIE)、PCB
- 智能用电小程序前端源码/小程序模板
- php判断电话号码是否为空号,如何批量检测手机号码是否为空号、无效号码?
- eNSP教程 —— 将虚拟机连接到eNSP设备之中
- 安装emmet时pyv8下载失败
- 计算机主机光盘故障,光驱常见故障及解决办法
- myeclipse 百度云
- ACM进阶大一到大三
- 小米路由修改服务器密码,小米路由器3G密码怎么重置? 小米3G路由器修改wifi密码的方法...
- 对于模糊人脸图片和原图的清晰度评估——sobel算子
- 数据分析之Hadoop详解
- 矩阵求和 c语言 简单易懂
- 羊年内核堆风水: “Big Kids’ Pool”中的堆喷技术
热门文章
- 手机应用宝占用了8G
- LINUX安装TensorRT及特别注意事项
- python字符串偏移量_字符串掩码和带正则表达式的偏移量
- qt double 相减不为0_Qt线程同步单生产者多消费者
- html 源码_(带手机版数据同步)中国风古典园林石业织梦模板 水墨风格园林艺术网站源码下载...
- php中strrpos函数的返回值类型是型_PHP字符串处理的一些常用函数 - strrpos
- linux无法侦听10000以上的端口,linux – git-daemon:“无法在主机(null)端口9418上分配任何侦听套接字”...
- 谈谈计算机专业职业技能,计算机专业职业技能论文
- java debug 宏_#ifdef _DEBUG用法小结
- jspx格式手机打开_zip格式的文件怎么打开,手机和电脑的操作方法一样吗?