Machine Learning

From Noisebridge
(Difference between revisions)
Jump to: navigation, search
(Next Meeting)
m (Audio Processing)
 
(41 intermediate revisions by 9 users not shown)
Line 5: Line 5:
 
=== Next Meeting===
 
=== Next Meeting===
  
*When: Thursday, December 19, 2013 @ 7:00pm
+
*When: Thursday, February 13, 2014 @ 6:30pm
 
*Where: 2169 Mission St. (Church classroom)
 
*Where: 2169 Mission St. (Church classroom)
*Topic: An Introduction to Machine Learning
+
*Topic: Bayesian Inference for everyone
 
*Details:  
 
*Details:  
*Who: Mike S
+
*Who: Sam Tepper
  
=== Take the Noisebridge ML Survey ===
+
=== Learn about Data Science and Machine Learning ===
[http://www.surveymonkey.com/s/W2T9ZB6 Take a survey] and vote for what you want to learn!
+
  
=== Talks and Workshops ===
+
===== Classes =====
We've given lots of workshops and talks over the past year or so, here's a few. Many of the workshops we've given previously are recurring and will be given again, especially upon request!
+
*[https://www.coursera.org/course/ml Coursera Machine Learning Course with Andrew Ng]
 +
*[https://www.coursera.org/course/compneuro Coursera Computational Neuroscience Course with Adrienne Fairhall]
 +
*[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/ MIT Machine Learning Class with Tommi Jaakkola]
 +
*[http://cs229.stanford.edu/materials.html Stanford CS229]
 +
*[http://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml Carnegie Mellon Machine Learning Course with Tom Mitchell]
 +
*[http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/ Linear Algebra with Gilbert Strang]
 +
*[https://www.youtube.com/playlist?list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH Neural Networks Class with Hugo Larochelle]
 +
 
 +
==== Books ====
 +
*[http://statweb.stanford.edu/~tibs/ElemStatLearn/ Elements of Statistical Learning]
 +
*[https://www.google.com/search?client=ubuntu&channel=fs&q=pattern+recognition+and+machine+learning&ie=utf-8&oe=utf-8#channel=fs&q=pattern+recognition+and+machine+learning+pdf Pattern Recognition and Machine Learning]
 +
*[https://www.google.com/search?&channel=fs&q=+Information+Theory%2C+Inference%2C+and+Learning+Algorithms.&ie=utf-8&oe=utf-8#channel=fs&q=Information+Theory%2C+Inference%2C+and+Learning+Algorithms+pdf Information Theory, Inference, and Learning Algorithms]
 +
*[http://chimera.labs.oreilly.com/books/1230000000345 Interactive Data Visualization for the Web (D3)]
 +
*[http://cran.r-project.org/doc/manuals/R-intro.pdf Introduction to R]
 +
*[http://www.dartmouth.edu/~chance/teaching_aids/books_articles/probability_book/amsbook.mac.pdf Introduction to Probability (Grinstead and Snell)]
 +
*[http://www.cis.temple.edu/~latecki/Courses/CIS2033-Spring12/A_modern_intro_probability_statistics_Dekking05.pdf Modern Introduction to Probability and Statistics (Kraaikamp and Meester)]
 +
*[http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/090310.pdf Bayesian Reasoning and Machine Learning]
 +
 
 +
==== Tutorials ====
 +
*[http://nbviewer.ipython.org/github/unpingco/Python-for-Signal-Processing/tree/master/ Signal Processing IPython Notebooks]
 +
*[http://scikit-learn.org/stable/tutorial/basic/tutorial.html Introduction to ML with scikits.learn]
 +
*[http://www.sagemath.org/doc/tutorial/ Learn how to use SAGE]
 +
 
 +
==== Noisebridge ML Class Slides ====
 
*[[NBML/Workshops/Intro to Machine Learning|Intro to Machine Learning]]
 
*[[NBML/Workshops/Intro to Machine Learning|Intro to Machine Learning]]
 
*[[NBML/Workshops/Brief Tour of Statistics|A Brief Tour of Statistics]]
 
*[[NBML/Workshops/Brief Tour of Statistics|A Brief Tour of Statistics]]
Line 66: Line 88:
 
*[http://aws.amazon.com/publicdatasets/ Amazon AWS Public Datasets]
 
*[http://aws.amazon.com/publicdatasets/ Amazon AWS Public Datasets]
 
*[http://www.prio.no/Data/Armed-Conflict/ UCDP/PRIO Armed Conflict Datasets]
 
*[http://www.prio.no/Data/Armed-Conflict/ UCDP/PRIO Armed Conflict Datasets]
 +
*[https://opendata.socrata.com/browse Socrata Government Datasets]
 +
*[http://us-city.census.okfn.org/ US City Census Data]
 +
*[http://webscope.sandbox.yahoo.com/catalog.php Yahoo Labs Datasets]
  
 
=== Software Tools ===
 
=== Software Tools ===
Line 84: Line 109:
 
**Modular framework, has lots of stuff!
 
**Modular framework, has lots of stuff!
 
*[[Machine Learning/VirtualBox|VirtualBox]] Virtual Box Image with Pre-installed Libraries listed here
 
*[[Machine Learning/VirtualBox|VirtualBox]] Virtual Box Image with Pre-installed Libraries listed here
*[http://deeplearning.net/software/theano/ Theano: Symbolic Expressions and Transparent GPU Integration]
 
 
*[http://sympy.org sympy] Does symbolic math
 
*[http://sympy.org sympy] Does symbolic math
 
*[http://waffles.sourceforge.net/ Waffles]
 
*[http://waffles.sourceforge.net/ Waffles]
Line 106: Line 130:
 
*[http://www.torch.ch/ Torch]
 
*[http://www.torch.ch/ Torch]
 
**MATLAB-like environment for state-of-the art ML libraries written in LUA
 
**MATLAB-like environment for state-of-the art ML libraries written in LUA
 +
 +
==== Deep Nets ====
 +
*[http://deeplearning.net/software/theano/ Theano]
 +
**Symbolic Expressions and Transparent GPU Integration
 +
*[http://caffe.berkeleyvision.org/ Caffe]
 +
**Convolutional Neural Networks on GPU
 +
*[https://code.google.com/p/neurolab/ Neurolab]
 +
**Has support for recurrent neural nets
  
 
==== Online ML ====
 
==== Online ML ====
Line 129: Line 161:
 
*[http://tops.sourceforge.net/ ToPS]
 
*[http://tops.sourceforge.net/ ToPS]
 
**Probabilistic models of sequences
 
**Probabilistic models of sequences
 +
*[http://pymc-devs.github.io/pymc/ PyMC]
 +
**Bayesian Models in Python
  
 
==== Text Stuff ====
 
==== Text Stuff ====
Line 167: Line 201:
 
*[http://luscinia.sourceforge.net/ Luscinia]
 
*[http://luscinia.sourceforge.net/ Luscinia]
 
**Software for archiving, measuring, and analyzing bioacoustic data
 
**Software for archiving, measuring, and analyzing bioacoustic data
 
 
*[http://wiki.python.org/moin/PythonInMusic List of Sound Tools for Python]
 
*[http://wiki.python.org/moin/PythonInMusic List of Sound Tools for Python]
 +
*[http://jasperproject.github.io/ Jasper]
 +
**Voice-control anything!
  
 
==== Data Visualization ====
 
==== Data Visualization ====
Line 183: Line 218:
 
*[https://plot.ly/ plot.ly]
 
*[https://plot.ly/ plot.ly]
 
**Web-based plotting
 
**Web-based plotting
 
+
*[http://chimera.labs.oreilly.com/books/1230000000345/ch02.html D3 Ebook]
 +
**Has a good list of HTML/CSS/Javascript data visualization tools.
 +
*[https://plot.ly/ plotly]
 +
**Python plotting tool
 
==== Cluster Computing ====
 
==== Cluster Computing ====
 
*[http://lucene.apache.org/mahout/ Mahout]
 
*[http://lucene.apache.org/mahout/ Mahout]

Latest revision as of 10:49, 9 April 2014

Contents

[edit] Join the Mailing List

https://www.noisebridge.net/mailman/listinfo/ml

[edit] Next Meeting

  • When: Thursday, February 13, 2014 @ 6:30pm
  • Where: 2169 Mission St. (Church classroom)
  • Topic: Bayesian Inference for everyone
  • Details:
  • Who: Sam Tepper

[edit] Learn about Data Science and Machine Learning

[edit] Classes

[edit] Books

[edit] Tutorials

[edit] Noisebridge ML Class Slides

[edit] Code and SourceForge Site

    git clone git://ml-noisebridge.git.sourceforge.net/gitroot/ml-noisebridge/ml-noisebridge
  • Send an email to the list if you want to become an administrator on the site to get write access to the git repo!

[edit] Future Talks and Topics, Ideas

  • Random Forests in R
  • Restricted Boltzmann Machines (Mike S, some day)
  • Analyzing brain cells (Mike S)
  • Deep Nets w/ Stacked Autoencoders (Mike S, some day)
  • Generalized Linear Models (Mike S, Erin L? some day)
  • Graphical Models
  • Working with the Kinect
  • Computer Vision with OpenCV

[edit] Projects

[edit] Datasets and Websites

[edit] Software Tools

[edit] Generic ML Libraries

  • Weka
    • a collection of data mining tools and machine learning algorithms.
  • scikits.learn
    • Machine learning Python package
  • scikits.statsmodels
    • Statistical models to go with scipy
  • PyBrain
    • Does feedforward, recurrent, SOM, deep belief nets.
  • LIBSVM
    • c-based SVM package
  • PyML
  • MDP
    • Modular framework, has lots of stuff!
  • VirtualBox Virtual Box Image with Pre-installed Libraries listed here
  • sympy Does symbolic math
  • Waffles
    • Open source C++ set of machine learning command line tools.
  • RapidMiner
  • Mobile Robotic Programming Toolkit
  • nitime
    • NeuroImaging in Python, has some good time series analysis stuff and multi-variate response fitting.
  • Pandas
    • Data analysis workflow in python
  • PyTables
    • Adds querying capabilities to HDF5 files
  • statsmodels
    • Regression, time series analysis, statistics stuff for python
  • Vowpal Wabbit
    • "Intrinsically Fast" implementation of gradient descent for large datasets
  • Shogun
    • Fast implementations of SVMs
  • MLPACK
    • High performance scalable ML Library
  • Torch
    • MATLAB-like environment for state-of-the art ML libraries written in LUA

[edit] Deep Nets

  • Theano
    • Symbolic Expressions and Transparent GPU Integration
  • Caffe
    • Convolutional Neural Networks on GPU
  • Neurolab
    • Has support for recurrent neural nets

[edit] Online ML

[edit] Graphical Models

  • BUGS
    • MCMC for Bayesian Models
  • JAGS
    • Hierarchical Bayesian Models
  • Stan
    • A graphical model compiler
  • Jayes
    • Bayesian networks in Java
  • ToPS
    • Probabilistic models of sequences
  • PyMC
    • Bayesian Models in Python

[edit] Text Stuff

[edit] Collaborative Filtering

  • PREA
    • Personalized Recommendation Algorithms Toolkit
  • SVDFeature
    • Collaborative Filtering and Ranking Toolkit

[edit] Computer Vision

  • OpenCV
    • Computer Vision Library
    • Has ML component (SVM, trees, etc)
    • Online tutorials here
  • DARWIN
    • Generic C++ ML and Computer Vision Library
  • PetaVision
    • Developing a real-time, full-scale model of the primate visual cortex.

[edit] Audio Processing

[edit] Data Visualization

  • Orange
    • Strong data visualization component
  • Gephi
    • Graph Visualization
  • ggplot
    • Nice plotting package for R
  • MayaVi2
    • 3D Scientific Data Visualization
  • Cytoscape
    • A JavaScript graph library for analysis and visualisation
  • plot.ly
    • Web-based plotting
  • D3 Ebook
    • Has a good list of HTML/CSS/Javascript data visualization tools.
  • plotly
    • Python plotting tool

[edit] Cluster Computing

  • Mahout
    • Hadoop cluster based ML package.
  • STAR: Cluster
    • Easily build your own Python computing cluster on Amazon EC2

[edit] Database Stuff

  • MADlib
    • Machine learning algorithms for in-database data
  • Manta
    • Distributed object storage

[edit] Neural Simulation

[edit] Other

[edit] Presentations and other Materials

[edit] Topics to Learn and Teach

NBML Course - Noisebridge Machine Learning Curriculum (work-in-progress)

CS229 - The Stanford Machine learning Course @ noisebridge

  • Supervised Learning
    • Linear Regression
    • Linear Discriminants
    • Neural Nets/Radial Basis Functions
    • Support Vector Machines
    • Classifier Combination [1]
    • A basic decision tree builder, recursive and using entropy metrics
  • Reinforcement Learning
    • Temporal Difference Learning
  • Math, Probability & Statistics
    • Metric spaces and what they mean
    • Fundamentals of probabilities
    • Decision Theory (Bayesian)
    • Maximum Likelihood
    • Bias/Variance Tradeoff, VC Dimension
    • Bagging, Bootstrap, Jacknife [2]
    • Information Theory: Entropy, Mutual Information, Gaussian Channels
    • Estimation of Misclassification [3]
    • No-Free Lunch Theorem [4]
  • Machine Learning SDK's
    • OpenCV ML component (SVM, trees, etc)
    • Mahout a Hadoop cluster based ML package.
    • Weka a collection of data mining tools and machine learning algorithms.
  • Applications
    • Collective Intelligence & Recommendation Engines

[edit] Meeting Notes

Personal tools