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

 更新时间:2017年09月18日 16:37:38   作者:猎狐姥爷  
本文介绍了前端Javascript实现的机器学习类库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

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

Brain

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

Deep playground

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

FlappyLearning

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

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

Synaptic

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

Land Lines

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

ConvNetJS

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

Thing Translator

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

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

Neurojs

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

Machine_learning

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

DeepForge

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

文章总结

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

相关文章

  • javascript仿163网盘无刷新文件上传系统

    javascript仿163网盘无刷新文件上传系统

    这个仿163网盘无刷新文件上传系统,并没有用使用.net的控件,完全的手工制作。
    2008-10-10
  • javascript中的window.location.search方法简介

    javascript中的window.location.search方法简介

    window.location.search方法是截取当前url中“?”后面的字符串,示例如下,感兴趣的朋友可以参考下
    2013-09-09
  • Javascript的一种模块模式

    Javascript的一种模块模式

    全局变量是魔鬼。在YUI中,我们仅用两个全局变量:YAHOO和YAHOO_config。YUI的一切都是使用YAHOO对象级的成员或这个成员作用域内的变量。我们建议在你的应用程序也使用类似的规则。
    2010-09-09
  • js判断两个数组相等的5种方法实例

    js判断两个数组相等的5种方法实例

    再最近的一次实际项目开发中,又遇到了需要对两个数组内容进行比较的需求,索性整理下,这篇文章主要给大家介绍了关于js判断两个数组相等的5种方法,需要的朋友可以参考下
    2022-05-05
  • js中的关联数组与普通数组详解

    js中的关联数组与普通数组详解

    下面小编就为大家带来一篇js中的关联数组与普通数组详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 微信小程序开发实现的IP地址查询功能示例

    微信小程序开发实现的IP地址查询功能示例

    这篇文章主要介绍了微信小程序开发实现的IP地址查询功能,可实现基于第三方接口的IP地址查询功能,需要的朋友可以参考下
    2019-03-03
  • 用js得到网页中所有的div的id

    用js得到网页中所有的div的id

    这篇文章主要介绍了用js得到网页中所有的div的id,需要的朋友可以参考下
    2006-11-11
  • 微信小程序按钮巧妙用法

    微信小程序按钮巧妙用法

    这篇文章主要介绍了微信小程序按钮巧妙用法,按钮组件功能比 HTML 中的 button 按钮丰富,通过 open-type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等),需要的朋友可以参考下
    2022-12-12
  • 最通俗易懂的javascript变量提升详解

    最通俗易懂的javascript变量提升详解

    下面小编就为大家带来一篇最通俗易懂的javascript变量提升详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论