• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PyMLVizard/PyMLViz: Interactive machine learning algorithm visualisation using P ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

PyMLVizard/PyMLViz

开源软件地址:

https://github.com/PyMLVizard/PyMLViz

开源编程语言:

Jupyter Notebook 100.0%

开源软件介绍:

Interactive Exploration and Visualization of Algorithms for Machine Learning and Data Science

Mission

The rapid gain in popularity of data science and machine learning imposes new challenges on the educational system. Traditional learning paradigms such as ex-cathedra teaching and textbooks not only lack in terms of individual student learning behavior, but are furthermore incapable of addressing free exploration of algorithms. While many algorithms in machine learning can be grouped conceptually, theres a plethora of variants and specific implementations. By following fixed learning curricula it often turns out to be difficult to grasp the subtleties, weaknesses and failure modes of taught algorithms. Links to corresponding methodological alternatives can be missing or are introduced at a much later point.

We believe that free exploration and interactivity experienced by working through concrete examples are at the heart of a satisfactory learning process. In a growing amount of online resources we specifically envision to contribute in the developement of interactive hands-on material catered towards a wholistic understanding of both algorithmic, implementation as well as application aspects.

Goals

We found that a variety of existing online material tends to focus on specific aspects of understanding machine learning algorithms. Typically content is divided by method. As an example: we believe there is a great deal of online tutorials on gradient descent or sampling algorithms, but rarely contrasted directly in an easy to explore fashion. Depending on the source of the material we are generally encountered with a focus on either how to implement, how to understand the equations or how to apply what we have just learned to a specific context. In this project we make an attempt at presenting a layered view of content in which the reader is free to explore content at any of these levels. In detail we have formulated the following goals:

  • Three different layers spanning visual free to explore examples, explanation of underlying equations with theory and an implementation layer.
  • Easy to use interactive widgets with full control of parameters and the ability to execute algorithms step by step to fully visualize and understand various intermediate algorithmic states.
  • The ability to select and contrast algorithms and their variants on the same example, highlighting the nuanced failure modes of particular algorithmic choices.
  • Commented, accessible, open-source Python only code in contrast to e.g. commonly used Javascript implementation. We believe this eases the learning process as Python is the current go-to programming language for machine learning.
  • Online accessible and executable material with the option to download material in a self-contained, executable form.

Technical Details

While the technical details are open to evolution over time, we are currently pursuing an approach using the following methods:

  • Python as the only programming language.
  • This website/repository to aggregate the content.
  • Executable Jupyter notebooks (http://jupyter.org) to explore the underlying algorithm code and code for visualizations with the help of Binder (https://mybinder.org).
  • Interactive Widgets with parameter sliders, algorithm choices and choices of data. We currently employ Bloomberg's bqplot (https://github.com/bloomberg/bqplot).
  • Downloadable Docker containers (https://www.docker.com) for local execution.

MyBinder:

Binder

Click launch binder button above or follow this URL to view this repository in a pre-built environment:

https://mybinder.org/v2/gh/PyMLVizard/PyMLViz/master?filepath=Index.ipynb

Note: Chrome or Firefox are recommended for using the notebooks!!

Direct Links to Contents/Notebooks

Linear regression

  1. Linear Regression

Sampling methods

  1. Introduction. Inversion Sampling
  2. Rejection sampling
  3. Importance sampling
  4. Markov chain Monte-Carlo (MCMC) sampling: Metropolis-Hastings algorithm
  5. Gibbs Sampling
  6. Slice sampling
  7. Hamiltonian Monte Carlo (HMC) sampling
  8. PyStan

Gradient descent methods

  1. Introduction. Gradient and stochastic gradient descent
  2. Variants. Momentum, Nesterov, Adagrad, RMSProp and Adam

Contributing

We are open and grateful to contributions of any kind.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap