Neural Network Workshop: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
No edit summary
 
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''What''': A hands-on workshop courtesy of the [https://www.noisebridge.net/index.php?title=Machine_Learning Machine Learning Group] using Neural Networks that includes both the theory and practical implementation.
'''What''': A hands-on workshop courtesy of the [https://www.noisebridge.net/index.php?title=Machine_Learning Machine Learning Group] about Feedforward Neural Networks that includes some background and practical implementation.


'''When''': Tenatively January 26, 2011 7:00pm - 10:00pm
'''When''': January 26, 2011 7:00pm - 10:00pm


'''Why''': To raise Neural Network Awareness (NNA) and money for Noisebridge. ''Donations towards Noisebridge will be encouraged and appreciated''.
'''Why''': To raise Neural Network Awareness (NNA) and money for Noisebridge. ''Donations towards Noisebridge will be encouraged and appreciated''.
Line 7: Line 7:
'''Where''': In the back classroom
'''Where''': In the back classroom


'''Who''': Anyone who wants to participate, either come and learn or help teach. [https://www.noisebridge.net/mailman/listinfo/ml Join the mailing list!]
'''Who''': Anyone who wants to participate, either come and learn or help teach. [https://www.noisebridge.net/mailman/listinfo/ml Join the mailing list!]. It won't be too heavy on the math, so don't worry if you knowledge of vector spaces and derivatives is a bit of a null set...


=== Workshop Agenda ===
=== Workshop Outline ===
*Math Preliminaries
*What is a neural net?
**Universal Function Approximators: [http://en.wikipedia.org/wiki/Universal_approximation_theorem Cybenko's Theorem]
**What does a real neural net in the brain look like?
**Linear Algebra: vectors, matricies
**Differences between artificial neural nets and biological neural nets
**Optimization Theory: error functions, gradients
**Basic architecture: layers of interconnected units
**Machine Learning: regression, classification
**Weights and activation functions: the actual computation
*Neural Networks
*What can neural net do?
**Basic Architecture
**Universal Function Approximation
**Activation Functions
**Classification: identifying classes of things
**Error Functions and Output Layers
***Binary classification vs. multi-class classification
***Regression (univariate and multivariate)
**Regression: predicting values from data
***Classification (binary and multi-class, logistic and softmax)
*How are neural nets trained?
**Training
**Backpropagation
***Backpropagation
*Installfest '''Please try and download whatever you can BEFORE coming to Noisebridge!!!'''
**Implementation
**Python
***Identifying Faces with Neural Nets
***Install [http://numpy.scipy.org/ numpy] and [http://www.scipy.org/ scipy] OR install [http://www.sagemath.org/ Sage] OR [http://www.virtualbox.org/ VirtualBox]+Joe's Python Scientific
***??? Other such ideas
***Code at http://www.mindmech.com/nnw.tgz
**Computing Disk Image
***Install [http://pybrain.org/docs/ PyBrain]
**R
***Install [http://www.r-project.org/ R]
***Code Repository: git clone git://ml-noisebridge.git.sourceforge.net/gitroot/ml-noisebridge/ml-noisebridge
*Potential Workshop Projects
**Function Approximation: XOR
**Multi-class Classification: Type of Iris
***We'll be using this [http://archive.ics.uci.edu/ml/datasets/Iris classic data set] to predict the class of Iris based on measurements of the petals.
**Binary Classification: Face or not a Face?
***Preprocessing images using [http://opencv.willowgarage.com/wiki/ OpenCV]
***Here we'll implement a neural network that detects whether an image contains a human face, using [http://pybrain.org PyBrain].
***It might not do a good job...


=== Software ===
=== Software ===
This is just a list of packages used for constructing and training neural networks:
 
*[http://leenissen.dk/fann/ FANN]
*[http://neuroph.sourceforge.net/ neuroph]: java
*[http://www.heatonresearch.com/encog Encog]
*[http://leenissen.dk/fann/ FANN]: C++
*[http://pynn.gforge.inria.fr/ PyNN] (Biophysical Neural Nets)
*[http://www.heatonresearch.com/encog Encog]: java
*[http://pybrain.org PyBrain]: python
*[http://cran.r-project.org/web/packages/nnet/index.html nnet] R

Latest revision as of 20:07, 26 January 2011

What: A hands-on workshop courtesy of the Machine Learning Group about Feedforward Neural Networks that includes some background and practical implementation.

When: January 26, 2011 7:00pm - 10:00pm

Why: To raise Neural Network Awareness (NNA) and money for Noisebridge. Donations towards Noisebridge will be encouraged and appreciated.

Where: In the back classroom

Who: Anyone who wants to participate, either come and learn or help teach. Join the mailing list!. It won't be too heavy on the math, so don't worry if you knowledge of vector spaces and derivatives is a bit of a null set...

Workshop Outline[edit | edit source]

  • What is a neural net?
    • What does a real neural net in the brain look like?
    • Differences between artificial neural nets and biological neural nets
    • Basic architecture: layers of interconnected units
    • Weights and activation functions: the actual computation
  • What can neural net do?
    • Universal Function Approximation
    • Classification: identifying classes of things
      • Binary classification vs. multi-class classification
    • Regression: predicting values from data
  • How are neural nets trained?
    • Backpropagation
  • Installfest Please try and download whatever you can BEFORE coming to Noisebridge!!!
  • Potential Workshop Projects
    • Function Approximation: XOR
    • Multi-class Classification: Type of Iris
      • We'll be using this classic data set to predict the class of Iris based on measurements of the petals.
    • Binary Classification: Face or not a Face?
      • Preprocessing images using OpenCV
      • Here we'll implement a neural network that detects whether an image contains a human face, using PyBrain.
      • It might not do a good job...

Software[edit | edit source]