Rudi, Thanks for the info. I would be very curious, given your understanding of what is available in the ML field, how you think it might compare to our current "home grown" solution? Are there specific advantages you can identify?
It may also be the case that we have inadvertently re-invented some existing algorithms, for example, several people have noted that our estimation table algorithm is similar to the way a Kohonen neural network spreads itself across a data space to adapt to observations. Are you aware of algorithms that might be better suited to our purpose than a Kohonen neural net? Certainly, one of the areas we have been discussing and where there is almost certainly room for improvement in our current solution is how quickly the current algorithm "forgets" past data. At present we are really operating on the basis of guess-work in this regard, and it would definitely be interesting if there was some algorithmic way to determine how forgetful our continuous averages should be. The nice thing about NG is that once we have a working implementation, we can empirically test improvements to it (and/or completely different implementations) to see how successful each is at accurately estimating routing times. This will lead to a much more orderly development process. Matthew (our full-time developer and therefore primary code monkey ;) is going to modify the NG routing code to encapsulate the estimation stuff in a single class, so that third-parties can easily provide their own implementations to test out new ideas. Ian. On Tue, Jul 22, 2003 at 07:46:46AM -0700, Rudi Cilibrasi wrote: > Greetings Freenet Developers, > > First, let me congratulate you all on creating the tremendously important > Freenet project. I am an open-source developer and PhD student in > the Netherlands. I have been following the Freenet project for some years > now, and just recently came across Ian's article describing the idea for > next-generation routing, whereby each node keeps statistics on other > nodes in order to make predictions on response times, etc. When I read > the part about predicting expected latency, it occurred to me that this > is an instance of a well-studied machine-learning problem that is often > called supervised regression. As machine learning is my field of study, > I thought I might be able to help you all avoid needlessly reinventing > the wheel. > > There are some excellent new algorithms that have come out > in the last ten years that address this class of problems, and my research > involves them. I believe that two approaches, termed Support Vector > Machines and Relevance Vector Machines (SVM and RVM) would work well > for this problem. These are both examples of the kernel-machine > class of algorithms; you can get some technical background on these > methods at http://www.kernel-machines.org/ as a start. > > If you would like to see some samples of my prior work, feel free to > check out my homepage at http://www.cwi.nl/~cilibrar/ > I at this moment am involved in the rubysvm project, a Ruby binding to > libsvm, which is a very concise SVM package that has both C++ and Java > versions. See http://www.csie.ntu.edu.tw/~cjlin/libsvm/ for more on this. > > I wanted to get the groups opinion on if an "industrial strength" learning > algorithm would be useful for your Freenet system, and would like to > offer my assistance in implementing this if you think it's relevant. > Cheers and thanks for starting such a great project, > > Rudi Cilibrasi > Machine-Learning Researcher > http://www.cwi.nl/~cilibrar/ > CWI, Amsterdam, NL > > _______________________________________________ > devl mailing list > [EMAIL PROTECTED] > http://hawk.freenetproject.org:8080/cgi-bin/mailman/listinfo/devl -- Ian Clarke [EMAIL PROTECTED] Coordinator, The Freenet Project http://freenetproject.org/ Founder, Locutus http://locut.us/ Personal Homepage http://locut.us/ian/
pgp00000.pgp
Description: PGP signature
