URL http://www.cs.hmc.edu/courses/2003/fall/cs152/index.htmlProjects | Slides | NND Slides | Links | Some Previous Projects | Matlab Toolbox
The answer to all these is yes. All these applications and others have been demonstrated using varieties of the computational model known as "neural networks", the subject of this course.
The course will develop the theory of a number of neural network models. Participants will exercise the theory through both pre-developed computer programs and ones of their own design.
Modeling, simulation, and analysis of artificial neural networks.
Relationship to biological neural networks. Design and optimization of
discrete and continuous neural networks. Backpropagation, and other gradient
descent methods. Hopfield and Boltzmann networks. Unsupervised learning.
Self-organizing feature maps. Applications chosen from function approximation,
signal processing, control, computer graphics, pattern recognition, time-series
analysis. Relationship to fuzzy logic, genetic algorithms, and artificial
life.
Prerequisites: CS 60 (Principles of Computer Science) and Mathematics 12 (Calculus and Linear Algebra),
or permission of
the instructor. 3 credit hours.
Neural Network Design by Martin T. Hagan, Howard B. Demuth, and Mark Beale, reprint available from Huntley Bookstore, or University of Colorado Bookstore at 303-492-3648. ISBN 0-9717321-0-8.
There will be some homework and programming assignments, but probably no exams. The assignments will constitute about 40% of your grade. 40% of your grade is from a substantial final project involving either creation of a working neural network application or a research paper. The grade on the project will be determined by the comprehensiveness and degree to which you explored competing approaches. The projects will be presented orally. 10% of your grade will be based on a preliminary presentation you make, ideally on material related to the your project. Finally, 10% will be based on general participation, which includes attendance.
Contexts for Neural Networks
Artificial Neural Network overview
Your program should:
To make your life simple, by "accept" above, you don't need to provide for external file input for the data. Instead you can code each example case separately directly in code. Also, start with all weights initialized at 0.
Show your program running on each of the following test cases.
limit = 10, LR = 1
| Input Vector | Output Value |
| (0 0) | 0 |
| (0 1) | 1 |
| (1 0) | 1 |
| (1 1) | 1 |
limit = 50, LR = 0.5
| Input Vector | Output Value |
| (-1 1) | 1 |
| (0 0) | 1 |
| (1 -1) | 1 |
| (1 0) | 0 |
| (0 1) | 0 |
limit = 50, LR = 0.5
| Input Vector | Output Value |
| (0 0) | 0 |
| (0 1) | 1 |
| (1 0) | 1 |
| (1 1) | 0 |
limit = 200, LR = 0.1
| Input Vector | Output Value |
| (0.2    0.1    0.1    0.1    0.2    0.1    0.2    0.1    0.1) | 1 |
| (0.2    0.1    0.1    0.1    0.2    0.1    0.3    0.1    0.1) | 1 |
| (0.5    0.1    0.1    0.1    0.2    0.1    0.2    0.1    0.1) | 1 |
| (0.5    0.4    0.6    0.8    0.4    0.1    0.8    1.0    0.1) | 0 |
| (0.5    0.3    0.3    0.1    0.2    0.1    0.2    0.1    0.1) | 1 |
| (0.2    0.3    0.1    0.1    0.3    0.1    0.1    0.1    0.1) | 1 |
| (0.3    0.5    0.7    0.8    0.8    0.9    0.7    1.0    0.7) | 0 |
| (1.0    0.5    0.6    1.0    0.6    1.0    0.7    0.7    1.0) | 0 |