Ask Your Question

Which Machine Learning technique for simple f(x, y) = z?

asked 2016-04-04 15:41:33 -0600

przemulala gravatar image

Hi guys,

I'm looking for best way to predict on which part of the screen the user is looking at (output) based on eye to markers position (input). I've managed to describe input as two doubles X, Y and working on calibration method that will connect this pair with Z (area ID, at which the user is looking for particular X, Y pair) - that will be my "training data". So, it's basically f(X, Y) = Z.

My initial idea was to use machine learning provided by OpenCV. I've read some articles, mainly on SVM and ANN (MLP), but I kinda feel like that's too much of weaponery for such a trivial task. The most important aspect for me is fast learning and prediction, as it's suppose to work nearly real-time.

My question is, which method of ML should I choose for this purpose? Maybe there's even more trivial way of achieving my goal?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2016-04-04 19:09:52 -0600

Tetragramm gravatar image

It's likely that K-Nearest neighbors will solve your problem neatly. Take a look at the different techniques, and look them up on wikipedia to see which one matches the assumptions of your domain the best. If the same Z applies to most X,Y pairs in one location, KNN is good. If your system is described by Gaussian distributions over X and Y, then look at EM.

But based on your description, I expect KNN to work well.

edit flag offensive delete link more


I'll check it out (maybe even today) and let you know how it works. Thanks for your input!

przemulala gravatar imageprzemulala ( 2016-04-05 06:46:57 -0600 )edit

Or if you want a very simple binary classifier, you could investigate the naive bayes classifier, which is easy fast to train and works perfectly fine in clear separable data cases!

StevenPuttemans gravatar imageStevenPuttemans ( 2016-04-05 07:07:43 -0600 )edit

In case of fake data KNN works like a charm :) I've decided to use it for my final solution then :) Maybe I'll have to do some tweaks but it's so elegantly simple (you only manipulate k param for the amount of closest points returned) that I believe I won't have much work with it. Thank you Tetragramm for your answer! I'm glad I haven't dived into SVM and MLP :) I'm accepting your answer :)

przemulala gravatar imageprzemulala ( 2016-04-06 05:14:58 -0600 )edit

Question Tools

1 follower


Asked: 2016-04-04 15:41:33 -0600

Seen: 334 times

Last updated: Apr 04 '16