聊聊那些使用前端Javascript实现的机器学习类库


Posted in Javascript onSeptember 18, 2017

机器学习(Machine Learning)在最近几年绝对称的上是大火,越来越多的公司和资本投入了巨大资源和金钱到这个新上位的技术“新宠”中,尤其是随着更多的各种机器学习相关类库的出现和发展,更多新的技术已经被应用到了机器学习中, 现在大家可以看到, Python不再是唯一个老牌机器学习的必用语言, 对于现代神经网络(neural networks)语言不再是一个问题, 你基本可以使用任何的编程语言, 包括今天我们介绍的标准前端开发语言 - Javascript

Web的整个体系已经在近几年中有了长足的发展, 虽然 Javascript 和 node.js的使用案例还远远无法和Java/Python来媲美。 但是 也足够应用到很多机器学习的环境中去啦。而且最大的优势在于 - 一个浏览器就可以帮你搞定了一切 !

虽然, 基于Javascript的机器学习类库还非常的早期,很多依旧在开发状态下, 但是他们的确已经可以提供比较早期的体验。 在今天这篇文章中, 我们将选择几款超酷的机器学习和AI相关的web应用, 让大家初体验一下 ~~

Brain

brain是一个允许你快速简单创建神经网络并且基于输入/输出进行训练的类库。虽然一个CDN浏览器版本可以直接将类库加载到web页面中, 因为这个训练过程占用了大量的资源, 所以将这个类库运行在了一格Node.js环境下 。 这个类库包含了一个非常迷你的在线演示, 可以用来训练识别颜色的对比度

聊聊那些使用前端Javascript实现的机器学习类库

Deep playground

这个教育化的web应用允许你把玩神经网络,并且探索不同的组件。 拥有非常设计良好的UI, 可以允许你控制输入数据,神经元数量, 使用的算法等, 各种相关的度量将会影响最终的结果。 当然这里在后台中有大量值得学习的东西, 代码是开源的, 使用了自定义的 机器学习语言 (typescript), 并且拥有非常好的文档

聊聊那些使用前端Javascript实现的机器学习类库

FlappyLearning

这是一个使用800行代码实现的机器学习Javasript类库, 实现了一个机器学习 flappy bird 游戏的demo。 在这个类库中使用了AI技巧:Neuroevolution ,应用了来自“自然”杂志的神经系统算法, 动态的从每一个迭代的成功和失败中学习。 demo运行非常简单, 直接使用浏览器打开index.html即可

聊聊那些使用前端Javascript实现的机器学习类库

截图中可以看到经过了20代的学习, 这只鸟, 在我截屏的时候,依然还没有挂掉 !

Synaptic

可能是最活跃维护的项目之一, Synaptic是一个node.js和浏览器类库, 这个类库被设计为架构不可知的状态, 允许了开发人员创建任何类型的神经网络。 拥有很少的内建架构, 是的能够快速的测试和算法比较。 同时包含了一个非常完整的神经网络说明, 一些实际的演示, 很多其它相关的教程,来介绍机器学习如何工作滴

聊聊那些使用前端Javascript实现的机器学习类库

Land Lines

land lines是一个非常有趣的Chrome Web实验, 它查找地球的卫星图片,找出类似用户的涂鸦。 这个app没有服务器调用, 完全在浏览器里运行, 使用了webGL和机器学习, 在移动端也有很好的体验。

聊聊那些使用前端Javascript实现的机器学习类库

ConvNetJS

虽然已经不再活跃的维护了, ConvNetJS是Javascript机器学习的最先进的类库。 最早是斯坦福大学开发, 后来在Github上非常知名, 拥有了很多社区开发的特性和教程。 直接在浏览器里运行, 支持多学习技巧, 偏底层, 是的它非常适合神经网络中比较大的体验

聊聊那些使用前端Javascript实现的机器学习类库

Thing Translator

这是一个web实验演示, 允许你使用手机来识别现实生活中的物品,并且用不同语言来命名。 这个app使用web技术和两个来自Google的机器学习API实现,包括:

Cloud Vision (图片识别) 和 Translate API(语言翻译)

聊聊那些使用前端Javascript实现的机器学习类库

Neurojs

基于“增强学习“的AI系统框架。 很可惜这个项目没有正确的文档说明, 但是有一个自动驾驶的演示,拥有很多相关细节的文字描述。 这个类库纯Javascript,可以使用webpack或者babel来编译打包

聊聊那些使用前端Javascript实现的机器学习类库

Machine_learning

另外一个允许我们设置/训练神经网络的Javascript类库。 使用node.js和客户端安装非常简单, 拥有非常干净的API, 对于不同技术水平的开发人员来说,都非常适应。这个类库包含了大量的演示, 包含了很多流行的算法, 帮助你理解核心的及其学习语言原则

聊聊那些使用前端Javascript实现的机器学习类库

DeepForge

这是一个用户友好的深度学习开发环境, 允许你使用一格简单图形界面设计神经网络, 支持远程机器的训练模型, 内建版本控制, 这个项目基于Node.js和MongoDB,运行在浏览器里, 安装过程非常类似大多数的web开发过程

聊聊那些使用前端Javascript实现的机器学习类库

文章总结

虽然Javascript相关机器学习环境并没有被完整的开发, 我们推荐使用本文中列出的这些开源项目作为你的第一个机器学习资料,并且帮助你了解核心的技术。 希望对大家能够开展机器学习相关功能提供一个有效可借鉴的内容来源,感谢大家关注和阅读~也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
判断页面是关闭还是刷新的js代码
Jan 28 Javascript
javascript iframe内的函数调用实现方法
Jul 19 Javascript
jQuery toggle()设置CSS样式
Nov 05 Javascript
JS实现关键字搜索时的相关下拉字段效果
Aug 05 Javascript
JavaScript设计模式之建造者模式介绍
Dec 28 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
JavaScript实现非常简单实用的下拉菜单效果
Aug 27 Javascript
jquery if条件语句的写法
May 19 Javascript
checkbox批量选中,获取选中项的值的简单实例
Jun 28 Javascript
javascript数组去重方法分析
Dec 15 Javascript
关于React动态加载路由处理的相关问题
Jan 07 Javascript
scrapyd schedule.json setting 传入多个值问题
Aug 07 Javascript
Web技术实现移动监测的介绍
Sep 18 #Javascript
探索webpack模块及webpack3新特性
Sep 18 #Javascript
浅谈JavaScript作用域和闭包
Sep 18 #Javascript
详解用函数式编程对JavaScript进行断舍离
Sep 18 #Javascript
深入浅析JavaScript中的RegExp对象
Sep 18 #Javascript
JavaScript 数组的进化与性能分析
Sep 18 #Javascript
JavaScript实现HTML5游戏断线自动重连的方法
Sep 18 #Javascript
You might like
PHP也可以?成Shell Script
2006/10/09 PHP
PHP+APACHE实现用户论证的方法
2006/10/09 PHP
也谈php网站在线人数统计
2008/04/09 PHP
php多个字符串替换成同一个的解决方法
2013/06/18 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
JavaScript中的私有成员
2006/09/18 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
js实现网页收藏功能
2015/12/17 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
python实现闹钟定时播放音乐功能
2018/01/25 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
2019/08/09 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
python-地图可视化组件folium的操作
2020/12/14 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
C#中的验证控件有几种
2014/03/08 面试题
解释一下钝化(Swap out)
2016/12/26 面试题
民生工作实施方案
2014/05/31 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
初中语文教学研修日志
2015/11/13 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书