聊聊那些使用前端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 相关文章推荐
Jquery 自定义动画概述及示例
Mar 29 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
Sep 04 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
详解JavaScript中基于原型prototype的继承特性
May 05 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
Dec 17 Javascript
bootstrap中的 form表单属性role="form"的作用详解
Jan 20 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
详解bootstrap导航栏.nav与.navbar区别
Nov 23 Javascript
Vue实现动态创建和删除数据的方法
Mar 17 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
Mar 11 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
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之生成GIF动画的实现方法
2013/06/07 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
js实现表格筛选功能
2017/01/18 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
vuex存储token示例
2019/11/11 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
详解Python中find()方法的使用
2015/05/18 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
python 模块导入问题汇总
2021/02/01 Python
中班中秋节活动反思
2014/02/18 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
大班下学期幼儿评语
2014/12/30 职场文书
交通事故案件代理词
2015/05/23 职场文书
2015年电教工作总结
2015/05/26 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL