-
Notifications
You must be signed in to change notification settings - Fork 12
Add some tutorial for unsupervised learning #76
Comments
We are currently working on a better documentation. Feel free to ask any questions. We will keep this issue open until we have a better documentation. |
Yes, this is what I'm looking for! I'm the very beginner in this things and any info is useful. |
Another question about performance. Is it okay if supervised learning lasts a lot of time with simple iris dataset on a core i5 6600 cpu? Didn't wait till it finish, but it lasted for about 15+ minutes |
Which Dataset? It definitely shouldn't take that long. |
@ddovod If you're using Visual Studio, did you compile in Debug or Release mode? Running Hippocrates in Debug mode will reduce its performance by a big margin. Just re-compile in Release mode and try it again. |
I'm using cmake and after set(CMAKE_BUILD_TYPE Release) it runs faster on simple tasks, but on the iris dataset it still lasts for a long time.
It lasts for a 20 minutes or so and doesn.t finished yet. I've been trying this code on a reduced version of this dataset (20 random objects for training, 10 - for testing), and this is my output:
Maybe I'm doing something wrong? |
I'm gonna look at this in more detail today, but at first glance it seems that your inputs are not between -1.0 and 1.0, which is asumed by our library. The intended usage would be to divide by the theorecally highest value, like in here. But uppon thinking about this I decided that this is not a clean solution and your code should be able to work. I'm gonna change the lib accordingly in the next few hours (#77). I would appreciate it if you could wait a moment and not change your code so you can beta test the new feature. |
Yes, of course, I can check it on the evening today |
I have divided all the values by 10.0 except the class marks and it still consumes a lot of time. For reduced dataset (20 training/10 testing) I have the following output:
Is it okay to produce 3417 generations for this dataset? Maybe you have some numbers for classic problems, i.e. "For binary classification with 100 training objects 500 generations should be enough"? It will be very helpful |
Thank you for your feedback, know that it means a lot to us! I have just updated the development branch so your original code without division should work. If there are no visible improvements I'm gonna implement #81 and then compare the results. |
Ok, it works much faster now!
But with full dataset (120/30) there's a lot of wrong answers (maybe it is overfitting, afaik ANNs are very overfittable for linear classification tasks), but it runs significant faster ("Result" here is the number of bad predictions on the test data):
There's one more issue with NeuralNetwork class. My compiler is g++-6.2, and I compilation error:
It can be fixed by adding the default ctor and then it works fine |
Sorry, my bad, the right full dataset result:
Looks like it works fine! Thank you a lot! I will further experiment with it and maybe will ask some dummy questions here, is it okay?) |
Oh wow, these results really make me proud :) I will look to add your dataset as an integration test. We are all more then happy if you experiment around and ask silly questions. We still did not invite beta testers and so require a lot of beginner feedback. |
Thank you for helping us. This test looks ideal for the project. You could also open a pull request if you want to add the test yourself. |
Yes, sure, thank you a lot) |
Ok guys, another question. Why did you restricted this library usage only for c++1z? There's no much place where it's really needed, and maybe c++14 would be enough, and it has good support in gcc and clang (and libc++) |
Here just a few things I cannot use to work with Hippocrates:
|
And maybe it was my mistake, but it still spends a lot of time on my initial problem. I don't know why, but today I cleaned/compiled the test again and it spends a lot of time and memory |
As you can see here, C++1z is just as well supported. CLion has very deprecated syntax highlighting since 3 years and is not planned to be supported, as this would bottleneck our coding style heavily. |
Okay, it is not big problem I think. |
Hi!
I have some problem with understanding of unsipervised learning api (IBody class).
Could you please provide some information about it? Tutorial section or documentation for this class would be nice!
Thank you a lot!
The text was updated successfully, but these errors were encountered: