Neural Network Workshop: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(28 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!]. The math will be explained, but is not essential to totally understand in order to work with the examples given.
'''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 Overview, Resources ===
=== Workshop Outline ===
*Math Preliminaries
*What is a neural net?
**Universal Function Approximators
**What does a real neural net in the brain look like?
***[http://en.wikipedia.org/wiki/Universal_approximation_theorem Cybenko's Theorem]
**Differences between artificial neural nets and biological neural nets
***[http://www.sztaki.hu/~csaji/CsBCs_MSc.pdf Some guy's master thesis]
**Basic architecture: layers of interconnected units
**Linear Algebra: vectors, matricies
**Weights and activation functions: the actual computation
**Optimization Theory: error functions, gradients
*What can neural net do?
**Machine Learning: regression, classification
**Universal Function Approximation
*Neural Networks
**Classification: identifying classes of things
**Basic Architecture
***Binary classification vs. multi-class classification
**Activation Functions
**Regression: predicting values from data
***Which activation functions are good? Hornik's 1991 Paper
*How are neural nets trained?
**Error Functions and Output Layers
**Backpropagation
***Regression (univariate and multivariate)
*Installfest '''Please try and download whatever you can BEFORE coming to Noisebridge!!!'''
***Classification (binary and multi-class, logistic and softmax)
**Python
**Training
***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
***Backpropagation
***Code at http://www.mindmech.com/nnw.tgz
**Implementation
**Computing Disk Image
***Identifying Faces with Neural Nets
***Install [http://pybrain.org/docs/ PyBrain]
***??? Other such ideas
**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://neuroph.sourceforge.net/ neuroph]
*[http://www.heatonresearch.com/encog Encog]: java
*[http://pynn.gforge.inria.fr/ PyNN] (Biophysical Neural Nets)
*[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]