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]

> 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
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.
> "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
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
> 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.
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
> 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
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 !
