mikegashler / waffles

A toolkit of machine learning algorithms.
http://gashler.com/mike/waffles/
86 stars 33 forks source link

Parameters for supervised learners #6

Closed skn123 closed 8 years ago

skn123 commented 8 years ago

Mike, I am trying to build and use waffles_wizard. A couple of things: a.) pthread is not mandatory (and not available under windows). You should remove that from the TARGET_LINK_LIBRARIES under windows b.) I needed to add Ws2_32.lib as a library under windows as GSocket.cpp gave me errors otherwise.

Now, coming to the specific question: a.) On this webpage http://uaf46365.ddns.uark.edu/waffles/command/learn.html If I am using Gaussian Process You provide the following gaussianprocess A Gaussian process model.

-noise [var] The variance of the noise parameter. -prior [var] The prior variance for the weights. (This value will be multiplied by an identity matrix to form the prior covariance for the weights. -maxsamples [n] The maximum number of samples to train with. (If the training data contains more than [n] rows, then it will automatically randomly sub-sample the training data in order to limit computational complexity.) -kernel [k] Specify the kernel to use identity This simple kernel causes it to learn a linear model. If no kernel is specified, this is the default. chisquared A Chi Squared kernel. rbf [var] A Gaussian RBF kernel. [var] specifies the variance term for this kernel. Larger values result in a smoother model. polynomial [ofs] [order] A polynomial kernel. [ofs] An offset value. [order] The order of the polynomial. However, when I use the waffles_wizard to generate a command line for Gaussain process, I get the following: waffles_learn train train.arff gaussianprocess Suppose if I want to set the other variables, how would I go about doing this? Also, do you have references for all supervised learners just like you have one for Neural networks and Random forests?
mikegashler commented 8 years ago

There was a documentation bug that caused waffles_wizard to fail to recognize that gaussianprocess had any options. That issue is now fixed. Thanks for catching it!

However, I am not finding the first issue that you mentioned. In waffles/src/wizard/waffles_wizard.vcxproj, I find the string "Ws2_32.lib" in 4 locations, and I do not find the string "pthread". When I open it in VC++2013 EE, I see Ws2_32.lib in Configuration Properties->Linker->Input, and I do not see pthread.

skn123 commented 8 years ago

Take a look at https://github.com/mikegashler/waffles/blob/master/src/learn/CMakeLists.txt

Why should pthread by there?

skn123 commented 8 years ago

Also, some references for Gaussian Process would be helpful

mikegashler commented 8 years ago

Oh, I've never even tested with CMake on Windows. I am pleasantly surprised to hear that it almost works! When I removed pthreads from the CMakeLists.txt file, it caused linker errors on Linux, so I tried to edit the CMakeLists.txt file to be platform-specific. However, I am not very skilled with CMake, and I am shooting blind on Windows, so I really don't know whether I did it right.

Here are a few references for Gaussian Processes: http://www.robots.ox.ac.uk/~mebden/reports/GPtutorial.pdf http://www.gaussianprocess.org/ http://www.dgp.toronto.edu/~jmwang/gpdm/

skn123 commented 8 years ago

I meant, references for GP to be added to your webpage. I am making your .pdf as reading material for everyone :). The references are adequate. Are there some rules of thumb to set parameters for various supervised learners?

skn123 commented 8 years ago

IF(NOT MSVC)

ELSE() ENDIF()