Please Help!!!, Neural Ntworks

Hi every1,

hmm am actually new to the forum and am actually lookin 4 help. am currently developing a neural network(backprop) to classify certain insects according to a number of characteristics. am actually having some problems to create tha pattern file, how do i create that file to match a number of characteristics to one target pattern?

Ex;

charac1,charrac2,charac3-->Insect Type

Please help me, am new 2 neural network and please explain how can i feed the network with user input(type words) etc if possible

[549 byte] By [Pharaosa] at [2007-10-2 11:36:33]
# 1

> hmm am actually new to the forum and am actually lookin 4 help. am

> currently developing a neural network(backprop) to classify certain

> insects according to a number of characteristics. am actually having

> some problems to create tha pattern file, how do i create that file to

> match a number of characteristics to one target pattern?

>

> Ex;

>

> charac1,charrac2,charac3-->Insect Type

I'd suggest you use more than one output node, i.e. T_1, T_2 ... T_n for

the different types of insects, given the characteristics C_1, C_2, ... C_m,

and use just one hidden layer a bit larger than max(n, m) to start with.

You'll have to experiment with the size of the hidden layer though,

depending on the vectors T_i.

Training the network is quite easy given the 'learning speed' S, i.e. the

amount with which the weight factors are altered given the error value

T-T', where T is the wanted value and T' is the actual vector value.

My experience with back-propagation NNs is that you shouldn't train it

to produce correct output for training input C_1 and then move on to C_2

and so on.. The NN learns faster when you train it using changing

values of C_i one after another.

Both the feed-forward producing step as well as the back-propagation

error correcting step can be implemented using simple matrix/vector

multiplication.

kind regards,

Jos

JosAHa at 2007-7-13 5:11:07 > top of Java-index,Other Topics,Algorithms...
# 2

If your primary goal is to use/explore neural nets the advice Jos gave is right on.

If you are primarily interested in having a classifier that makes some kind of sense, you might want to google on "classification and regression trees"

CART is a bit more work to set up, but for the sort of classification that you are trying to do, it is considerably more transparent than a neural net. (meaning that the final result, something resembling a decision tree makes way more sense to a human than do the weights in a neural net) Also it generally gives better results (because your problem is highly non-linear and that is where CART shines).

Regardless of what you choose to do, you might want to take a look at this alternative to a neural net so that you are aware of at least one other option.

marlin314a at 2007-7-13 5:11:08 > top of Java-index,Other Topics,Algorithms...
# 3

> "classification and regression trees"

Excellent advice; I should've thought of it <smashes forehead/>. A friend

of mine who's heavily into "data mining" told me about this interesting

heuristic. Being the lazy bum I am (and because I don't use this stuff at

all), I forgot all about it. Thanks for refreshing my memory.

kind regards,

Jos

JosAHa at 2007-7-13 5:11:08 > top of Java-index,Other Topics,Algorithms...
# 4

Hi,

thanx a lot 4 ur advice buddy, i'll try 2 stick to it. Furthermore i have another issue 4 u(hope am not 2 borin :-), u know am really new to NNs programming, so am having problems to visualise certain things.

In my project, the user can input several characteristics from a number of similar textboxes, so does this means that after converting each one to ascii values, each characteristics will be fed to individual neurons?, like txt1-->neuron1, txt2>neuron2 !!!

Please tell me a bit about it

Regards

Girish

Pharaosa at 2007-7-13 5:11:08 > top of Java-index,Other Topics,Algorithms...
# 5

> Please tell me a bit about it

>

> Regards

> Girish

Take a look at this free eBook: "Practical Artificial Intelligence Programming in Java",

from: http://www.markwatson.com/opencontent/

Chapters:

1. Search

2. Natural Language Processing

3. Expert Systems

4. Genetic Algorithms

5. Neural networks

6. Machine Learning using Weka

7. Statistical Natural Language Processing

As you see, chapter 5 is an introduction to Hopfield- and Backpropagation Neural Networks with code examples which might be of some help to you.

prometheuzza at 2007-7-13 5:11:08 > top of Java-index,Other Topics,Algorithms...
# 6
Hi Josah,Just wana ask if when using only one output node whether i can classify 5 insects.For example the net would read values from a pattern file with corresponding target for the different insect.Will that be possible?RegardsGirish
Pharaosa at 2007-7-13 5:11:08 > top of Java-index,Other Topics,Algorithms...
# 7

> Just wana ask if when using only one output node whether i can

> classify 5 insects.

You can't do that; a neuron either fires or it doesn't. When it fires over

its dendrite lines, another neuron accepts the charge through it's

synapse or not (that's the weight factor). A neuron can't have different

levels of firing. Model one neuron (node) per insect you want to distinguish.

Use one input line per characteristic for those insect types and build

a single hidden layer which is a bit larger than both the input and

output layers each.

kind regards,

Jos

JosAHa at 2007-7-13 5:11:08 > top of Java-index,Other Topics,Algorithms...
# 8

Hi Joz,

i just wana ask u one last thing. i hope am not 2 boring. Sorry am new to neural network.)

i have a feed forward back propagation java source code which classify male and female crabs according to numeric measurements. Well it uses 7 input neurons,2 hidden layers of 10 neurons and 1 output neuron. the net uses tanH activation function 4 all layers.

For my neural network i've devise a method to convert each characteristic to a numeric value and feed it to the neural network(8 in all). I want to alter the source code by adding 5 outputs(for different insects). But i have one problem, all my target patterns r of positive numeric values. I think i must use Linear activation for each output neuron so that i can compare range of values for the neuron to fire!!, am i right.?

the output code to classify the crabs r shown below:

if ( outputs[0]<0 ) {

System.out.println("Result: Male");

}

else {

System.out.println("Result: Female");

}

can i say if(outputs[0]>4.8&outputs[0]<5.00)

>Insect type

Please help me one last time buddy and suggest me a possible solution !

Pharaosa at 2007-7-13 5:11:08 > top of Java-index,Other Topics,Algorithms...