|
|
 Prize winner in Competition
"C# Oct 2006"
Comments and Discussions
|
|
 |

|
Hi Andrew. Thank you for your NN post.
I am junior in neural netwroks and I have one question.
Why did you use transformed input training data to teach a network?
input[i][0] = (data[i, 0] - xMin) * xFactor - 1.0;
output[i][0] = (data[i, 1] - yMin) * yFactor - 0.85;
That code use xFactor and yFactor variables which are declared here:
double yFactor = 1.7 / chart.RangeY.Length;
double xFactor = 2.0 / chart.RangeX.Length;
Tell me please - why we need to transform input data to train a network?
|
|
|
|

|
very good article. Well done!
|
|
|
|

|
... if you can do it really well, then you may become a rich man.
Like )
|
|
|
|
|

|
I am new to NN ,I wish to implement a simple network in C#, which takes 5 input neurons and outputs one value and i want the threshold to be decided using the simple avg function as the activation function.
input:{2,4,6,8,9}
weights:{0.023,0.059,0.075,0.022,0.046}(random weights)
activation function(or the threshold value): (sum of all (i*w))/5
thus it gives a value as output,which is nothing but an average of the input values.
please tell me how to code it in C# using Aforge.Neuro
thanks
|
|
|
|

|
Hello,
Does a Color Clusterization picture in your article reflect a pseudo-random number generator characteristics? Either a neural network and pseudo-random generator are deterministic. Is it possible to predict further pseudo-random numbers for different generators (let say we use the same seed value each time)?
Great article, BTW
Greetings - Jacek
|
|
|
|

|
Hi Andrew,
First thank you for such a great framework. I have a question for you. I am trying to implement a prediction system using Aforge.Neuro. But while training, calculated error is huge and after 10k steps change in the error is very small. Do you have any idea about this?
Any answer would be appreciated.
Murat
|
|
|
|

|
How do you save the SOM and use it later when there is no need to retrain the network?
|
|
|
|

|
protected static DoubleRange randRange = new DoubleRange( -0.0, 1.0 );
Correct [-1.0, 1.0]
|
|
|
|

|
There is prediction in Sample TimeSeries. But those datas which are on the right side of prediction line joined into learning process again and again in the source code.
Am I wrong? or it is a fake prediction?
|
|
|
|

|
Hi ,
I am making a project on objectrecognition and machine learning.I am using AForge.Net for this project.
I am able to recognise some objects on the basis of colors using their rgb values.But it is misinterpreting some objects which have somewhat same rgb values.I want to incorporate something as a combination of both shape and rgb values or something on the basis of shape.
Please help me on this or if there is any other way to do the recognition part.
Hope to hear soon.
Regards,
Maneesha Vashishtha
|
|
|
|

|
please the code dont execute why?
|
|
|
|

|
I'd like to use a neural network to determine whether two blocks of text are telling the same story or not.
My biggest problem is: how do I convert a variable length string to an array of doubles?
I thought that I might get the numeric value for each character but, suppose my text is 200 words long, I would end up with a thousand neurons just on the input layer. Won't this slow the execution at a snail's pace?
|
|
|
|

|
Hi! Excellent project! However, I tried loading the Data Samples for the backpropagation/time series prediction program and in all of em it says "failed reading the file"- I've tried this with both the version I downloaded and compiled and also the demo (precompiled)- same result. I've even tried placing the data sample in C:\ root but that didn't help either. thanks in advance!
|
|
|
|

|
Hi! I had same experience before. If you try to load file with multiple column data (x1,x2) you get this error. Data file must be one column data. However If you like I can try to find problem, Please email me your data file. (mehrdadfaderani@yahoo.com)
|
|
|
|

|
Hi all,
I am learning Neural networks. I find the AForge library very useful but would like to see how the nueral network for the approximation demo is implemented. In particular, I will like to see how the input array and output arrays are used. I shall be most grateful if somebody can help. Is is possible to have Andrew Kilrillov's email?
Thanks
C. Maleh
|
|
|
|

|
вещь полезная, но хотелось бы отметить:
не указано, что обязательна предобработка инпутов,
корректно работает только первый раз, перезапуск после рандомизации выдает вообще какую-то чепуху. Это плохо так как вероятны локальные минимумы. Ошибка в сравнении с другой библиотекой оказалась намного выше, наверно из-за отсутствия перезапуска. Вообще не ясно борется ли с локальными минимумами или нет. Рекомендую добавить перезапуск и борьбу с минимумами
Из плюсов: простота, удобство встройки алгоритма в свои сети
|
|
|
|

|
Excellent article with really nice training examples!
|
|
|
|

|
I've tried to use the AForge.Neuro.chm and the AForge.Core.chm files but none of the html files are showing up. I've tried to use the jump to URL to where the .chm files are located but still the help html doesn't load or exist. Any ideas as to why the .chm files aren't working?
Frank
|
|
|
|

|
Right click on the chm file then select "Properties". If a button labeled "Unblock" exists, then click on it.
Bob
|
|
|
|

|
I've try to make implementation using Aforge to solve problem with 6 input and two output using sigmoid activation. But the result is bad. Can anyone help to solve the problem?
thx all.
|
|
|
|

|
I've learned the Back propagation learning algorithm.It must initialize input and output values.And the sample just realizes the learning process.I wanna save the learning results,then use the results to predict some unknown value.Could you give me some suggestions on realizing my idea?
|
|
|
|

|
First,
"Bravo" for this very clean library.
Then, two questions from a stupid programmer and mathematician like me :
1) For exemple on the "Perceptron classifier" sample :
Your sample allow to compute the parameter of the Network with a set of data.
But how to use the network in order to compute the class of one measure ? (how to use the network) ?
2) I need a Neuronal Network to classify "measures".
A record of my measures looks like a set of [time, sensor state(false/true)] elements.
For exemple :
RECORD 1
time (ms)...Sensor 1.........Sensor 2.......Class
-------------------------------------------------
0...........true.............false
20..........false............false
100.........false............true
120.........false............false..........1
RECORD 2
time (ms)...Sensor 1.........Sensor 2.......Class
-------------------------------------------------
0...........true.............false
20..........false............false
50..........true.............false
70..........false............false
100.........false............true
120.........false............false..........2
etc...
How can I use Neuronal Network to learn and to test these types of data ?
A sample will be like a cherry on a cookie...
Best Regards.
|
|
|
|

|
Greate Work!!
Thanks for such an elaborative info about neural nets.
|
|
|
|

|
Hi
I must say u have written very clean lib here.
I am also working on SOM and trying to count no of objects in an image..Can you guide me how I can do that using ur lib..?
|
|
|
|

|
Hi Andrew,
Great work! A very interesting library. I have one question though; in your Time Series demo source, there's a magic number (0.85) that's fed into the network inputs and outputs and I just cannot see what it's doing there. What is it for?
Cheers,
Andy
|
|
|
|

|
Hello,
OK, will try to clarify this a bit (however I think it was already discussed here). If we map time series values into [-1, 1] range (output range of sigmoid function), then it will work during training step. But if you start using the network for prediction then, it may not work well with some functions. It will work, for example, with sine, which does not go outside of the range. But if your function is growing? Network will be unable to predict future values, which are bigger than trained maximum. If you assign -1 to minimum value of the time series and 1 to maximum value, then you will never predict anything which is bigger than maximum and smaller than minimum – network just don’t produce values outside of sigmoid function’s range. So I did mapping into [-0.85, 0.85] range, leaving 0.15 range on each side, so network potentially could predict values bigger than trained maximum and smaller than trained minimum.
Also, I need to note that these applications are mostly just demos of how to use neural networks and the library I’ve made. Don’t need to try applying them for prediction of Forex data or some other stuff. In reality prediction tasks are much harder and more complex stuff is made for them.
A better way of prediction time series will be prediction of changes (delta), but not actual future values.
|
|
|
|

|
So, the input data must be scaled before training.
|
|
|
|

|
Is it possible to run learning function of NN in more than one thread?
|
|
|
|

|
Hi Andrew Kirillov, I'm a newbie, I'm programming stock management application on Web. This application use camera to control input/output goods(container) and find empty position in stock to display on screen...all positions are put in order and all points in location are positioned in the form of rectangle. Could you help me recognize and find empty positions?
best regard
zoromask
|
|
|
|

|
Andrew,
Can I use Neural Networks to correlate targets ?
Meaning I have many sensors placed in different locations and they report target position, velocity, etc...however I want to report to the user a single target, since the sensors are reporting the same target. Can this be accomplished by using Neural Networks or you know of something better ?
Thanks
|
|
|
|

|
Great article and software examples, thank you.
I had problems with data loading, in: Delta Rule Learning, Approximation (sample1), TimeSeries.
Probably, the reason is that you don't care about regional settings. In Poland we have ',' instead of '.' as decimal separator. Not 3.14 but 3,14.
I think that You may be interested in software:
Sharky Neural Network - Neural networks in action
For better understanding of neural networks.
SharkTime.com
|
|
|
|

|
Hello
I am using your ANN library for implementing a Speech Recognition system.
My problem is that i dont know how to save the trained network. because training a network is very time-consuming and i can not train it each time the program starts.
Is there any built-in method for doing so?
Thanks
|
|
|
|

|
Hello,
Take updated version of the library from AForge.NET Framework project and use Save/Load methods.
|
|
|
|

|
Hi Andrew! Thanks for your great article. Now I'm doing a project about recognition fingerprint with some Datamining's algorithms(Neural network,K-means,decision tree...).At first ,I'll do program with some available databases of fingerprint on internet. Do you have any experience about recognition fingerprint? Which library we can use? I hope to receive from you and the others useful advices. Thanks so lot.
|
|
|
|

|
Hello,
abelegreen wrote: Do you have any experience about recognition fingerprint?
Sorry, I don't have.
|
|
|
|

|
Hello Andrey, first of all I want to thank you for this great library.
My question is - If I want my Neural Network to learn certain behavior, but in this behavior, for input X1, sometimes the output should be Y1, and sometimes Y2. Is it possible for a Neural Network to learn such behavior?
And if so, then how?
Thanks.
|
|
|
|

|
Hello,
No, of course it is not possible. Neural network inside is nothing more but just a deterministic formula. In order to get what you want you need to add one more input, which takes random value - 0 or 1. And then you need to train your network to provide Y1 for {X1, 0} pattern and Y2 for {X1, 1} pattern.
|
|
|
|

|
Hi,I need matlab source code for traffic warning signs recognition.thanks for your help
|
|
|
|

|
So what ?
If you need it, you write it.
|
|
|
|

|
Dear Andrew
Thanx so much of your great work.
for Image processing purpose and for classification I have 3 inputs and five class of outputs.
So I chose MLP with Back propagation and sigmoid function as activation function.
But the net is not trained to the desired error limit.
Have you checked the MATLAB traingdx or traingda algorithm?
It has an adaptive learning rate and momentum that successfully trained my network.
would you please check it out?
Regards.
Hamid Reza
|
|
|
|

|
Can you give me any advice in how could I implement a filtering engine, using your library, which classifies messages as either spam or not spam.
The training input/output sets are in the form of [word - number_of_aparitions_in_message].
I have to use multilayer arhitecture with backpropagation.
Thanks.
|
|
|
|

|
Hi All,
I have problem with save and load network.I use AFORGE framework 2.0 so I have this method but I didn't know how to use it. First I write network.Save("network.dat"); after line
double error = teacher.RunEpoch(input, output) / samples; after that I want to Load network so I use Network.Load("network.dat"); before line: while ( !needToStop ) and I add checkbox on the form. When I checked it I have:
// run epoch of learning procedure
if (checkBox1.Checked == false)
{
double error = teacher.RunEpoch(input, output) / samples;
}
Please help me step by step how to save load network and how to load new data for test learned network. It will be great and save me a lot of time.
Best regards
Kamil
|
|
|
|

|
Thank you so much for your work!
http://arachnode.net
|
|
|
|

|
Hi,
Great article, has been a big help. I do have a question though, as an example say I had a coin toss but the coin was unfairly weighted. And I have 1000 occurances of this coin toss with certain input values (position of coin, person tossing, etc.) and the outcome of the toss. What I want to build is a system that taking these inputs can give me the probability of it being heads based on the inputs provided. What type of network would you recommend, and how can I output probability rather than just yes it will be heads.
Thanks,
Chris
|
|
|
|

|
I am a leaner from China.
Long times ago when I began to learn the ANN ,I write a program using C# ,however it never worked ,I donot know why. You know the basic principle of ANN is very common.So ,I decide to read your codes ,then consult some things from you.
My English is poor ,so please ^_^
Your work is great 3Q.
|
|
|
|

|
First of all thank you for the article and thank you for nice framework.
I have a quesetion about using the framwork for classification tasks.
Suppose we have 3 classes of 20x20 gray scale images: traingles, squares and circles.
I have created a simple BProp NNet with following params:
Activation func: Unipolar sigmoid.
Input layer:400 neurons.
Hidden layer: tried from 3 to 100 neurons.
Output: 3 neurons.
Alpha value: from 0.001 to 10.
Learining rate: from 0.001 to 10.
Momentum: from 0.001 to 2.
Training epochs: from 100 to 1000.
Input samples: from 3 samples to 18 samples (3 objects, 6 samples each)
All inputs are normalized to [0,1].
The problem:
The net doesn't learn at all. The Error stays the same during the training.
The only thing I have noticed, is that the starting level of error decreases
when the alpha value gets very small.
May be I am missing something? Could you please point me to right direction.
Thank You.
Serghey Bleih.
|
|
|
|

|
Hello,
Just a quick idea ... Try bipolar sigmoid function and inputs in the range [-1, 1].
Also ... What are your desired outputs (range, etc.)? You've said nothing about it.
|
|
|
|

|
Thank you for answering so quickly.
The desired outputs are:
0 0 1 for first object (let it be triangle).
0 1 0 for second object (square).
1 0 0 for third object (circle).
Where each collumn represent the neuron in output layer.
|
|
|
|

|
OK, try with bipolar function, inputs and outputs and then we'll see.
|
|
|
|
 |
|
|
General News Suggestion Question Bug Answer Joke Rant Admin
|
The articles describes a C# library for neural network computations, and their application for several problem solving.
| Type | Article |
| Licence | GPL3 |
| First Posted | 19 Nov 2006 |
| Views | 510,439 |
| Bookmarked | 561 times |
|
|