Welcome
Better than straight averaging/fitting would be something like RANSAC. It would find trends in the data even if there is a lot of noise.
Funny you mention RANSAC... a few months back during a computer vision class I was thinking about using multiple separate runs of RANSAC to identify multiple moving planes, by running the RANSAC algorithm again over the points discarded by the first runs of it...
Which I am now amused by because even though I didn't know of RANSAC at the time, I now realize that the algorithm I proposed on oldwiki:Rednaxela/MultiplePlaneRegressionClustering would at a superficial level behave similarly to detecting multiple planes with RANSAC. I'm now suddenly tempted to try to incorporate something like that into a robot...
I looked at some higher-dimensional RANSAC algorithms a while back for my masters, and it seems that RANSAC gets really slow and much less accurate as the dimensions go up. So if you give it a try, keep your dimensions down =)
Hmm, sounds like a job for principal component analysis to me... I'm curious, did you ever consider trying something like that that with it?
No, I never tried it with Robocode. I think using PCA has all the disadvantages of regular regression - it uses all of the noise, which is what RANSAC specifically avoids. Especially in a robocode targeting environment, where the noise is typically greater than 50%.
Hmm, good point. Interestingly, upon doing a google search for PCA and RANSAC in the same context, I found some cases of a generalized PCA being performed using a RANSAC-style algorithm.
Maybe a good approach for dimensionality reduction would be doing offline processing on some large data sets, using a RANSAC-style algortihm to find principal components to use for the online algorithm with the tighter speed requirements...
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page.
Return to Thread:User talk:Jmb/Welcome/reply (15).
My thoughts with this actually went more in a process-after-extracting-cluster type algorithm for KNN in order to accurately interpolate what value to shoot at given a set of adjacent-in-n-space values. I think it would be much better than weighting scans by 1/distance or whatever other weighting scheme gets used, as the noise could be eliminated based on location instead of distance and only the trends would be chosen, much like how a histogram allows one to select the highest peak rather than just taking the mean of all the scans. I think it would require fairly large clusters (200 or so points at least), but it could net fairly large gains against the right data patterns.
That way of using is exactly what I was proposing years ago in the last major paragraph of oldwiki:Rednaxela/MultiplePlaneRegressionClustering, though I think you word it much more elegantly than I did :-)
("To use this data of the lines, you simply take every data point, shift it's GuessFactor by however much the formula for the plane it is clustered with says it should be shifted, and then use a kernel density algorithm on these shifted values....")