Click here to Skip to main content
15,884,473 members
Articles / Programming Languages / UML

Designing And Implementing A Neural Network Library For Handwriting Detection, Image Analysis etc.- The BrainNet Library - Full Code, Simplified Theory, Full Illustration, And Examples

Rate me:
Please Sign up or sign in to vote.
4.76/5 (97 votes)
21 Oct 2009CPOL26 min read 373.1K   7.8K   356  
This article will explain the actual concepts and implementation of Backward Propagation Neural Networks very easily - see project code and samples, like a simple pattern detector, a hand writing detection pad, an xml based neural network processing language etc in the source zip.
'------------------------------------------------------------------
' License Notice:
'------------------------------------------------------------------
' All Rights Reserved - Anoop Madhusudanan, 
' Mail: amazedsaint@gmail.com
' Website: http://amazedsaint.blogspot.com

' See my articles about BrainNet at 
' http://amazedsaint-articles.blogspot.com for details
'
' You can use this code (or part of it), for non 
' commercial and academic uses, as long as 
'   - You are keeping this notice along with it
'   - You are not making any profit out of this
'------------------------------------------------------------------


Module NeuronConstants
    Public Const LEARNING_RATE = 0.5
End Module



'''<summary>The interface for defining a neuron </summary>
Public Interface INeuron

    '''Properties

    '''<summary> Gets the current bias this neuron</summary>
    Property BiasValue() As Single
    '''<summary> Gets the current output this neuron</summary>
    Property OutputValue() As Single
    '''<summary> Gets the current delta value this neuron</summary>
    Property DeltaValue() As Single
    '''<summary> Gets a list of neurons to which this neuron is connected</summary>
    ReadOnly Property ForwardConnections() As NeuronCollection
    '''<summary> Gets a list of neurons connected to this neuron</summary>
    ReadOnly Property Inputs() As NeuronConnections
    '''<summary> Gets or sets the strategy of this neuron</summary>
    Property Strategy() As INeuronStrategy
    '''<summary> Method to update the output of a neuron</summary>
    Sub UpdateOutput()
    '''<summary> Method to find new delta value</summary>
    Sub UpdateDelta(ByVal errorFactor As Single)
    '''<summary> Method to update free parameters</summary>
    Sub UpdateFreeParams()

End Interface

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
India India
Architect, Developer, Speaker | Wannabe GUT inventor & Data Scientist | Microsoft MVP in C#

Comments and Discussions