<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:ent="http://www.purl.org/NET/ENT/1.0/" version="2.0">
  <channel>
    <title>Curiouser and Curiouser! on genetic-algorithms</title>
    <link>http://matt.blogs.it/</link>
    <description>RSS feed for topic genetic-algorithms</description>
    <copyright>Copyright 2006 Matt Mower</copyright>
    <generator>Squib/0.4.0.348</generator>
    <managingEditor>self@mattmower.com</managingEditor>
    <webMaster>self@mattmower.com</webMaster>
    <language>en-gb</language>
    <item>
      <title>A genetic theory of interest</title>
      <link>http://matt.blogs.it/entries/00002194.html</link>
      <pubDate>Sun, 23 Apr 2006 09:42:03 +0100</pubDate>
      <description>&lt;p&gt;I was thinking about the problem of training neural networks to recognize interesting &lt;em&gt;things&lt;/em&gt; (for example weblog posts). A neural network is a graph of weighted associations where, during training, the weights are adjusted relative to the trainers responses.&lt;/p&gt;

&lt;p&gt;Recently I've been reading some interesting articles about &lt;a href="http://en.wikipedia.org/wiki/Genetic_programming"&gt;Genetic Programming&lt;/a&gt; and, particularly, the work of &lt;a href="http://www.genetic-programming.com/"&gt;John Koza&lt;/a&gt; (If I was going back to University to start again in computing, I would be looking to work in the field of GP). GP is based upon &lt;a href="http://en.wikipedia.org/wiki/Genetic_algorithm"&gt;Genetic Algorithms&lt;/a&gt; which &lt;em&gt;evolve&lt;/em&gt; a fit solution to a problem.&lt;/p&gt;

&lt;p&gt;So it occurred to me that you could maybe use a genetic algorithm to evolve the network of weights to use in a neural net and maybe the GA could do it faster and produce a better network than haphazard training by individuals. A quick search of Google reveals that this is &lt;a href="http://www.generation5.org/content/2000/nn_ga.asp"&gt;not a new thought&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The key problems appear to be how to represent the weights, how to do the cross-over operation, and (and this is the one that has me stumped) what is the fitness function? A GA uses its fitness function to evaluate the current generation and decide which genes are going to survive into the next generation.&lt;/p&gt;

&lt;p&gt;I have no answer to how to come up with an objective function for determining &lt;em&gt;interest&lt;/em&gt;. Clearly if we had such a function we wouldn't need the neural network in the first place. We could just feed every post straight to the interest function and see what it says.&lt;/p&gt;

&lt;p&gt;Which leads back to the &lt;em&gt;by example&lt;/em&gt; method and using a corpus of interesting and uninteresting posts which can be fed in to see what the neural network comes up with. In this case we are swapping GA for back propagation. The article I referenced earlier suggests that this might produce a better network (in terms of output results) at the cost of being orders of magnitude slower than back propagation.&lt;/p&gt;

&lt;p&gt;Anyway I'm going to look into this area more closely because I find the whole thing fascinating.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002194.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
  </channel>
</rss>
