Machine "Learning"

Computer programs are machines. The brilliance of a general-purpose computing machine is that its circuitry can be re-wired on the fly by a program loaded into memory. But we could always create hardware that duplicates any program: we burn the program onto a PROM.*

But let's say we think there is a machine out there that might solve our problem, but that it is very, very complex, and we are not sure how to build it. The brilliance of "machine learning" software is the realization that we can build a machine X that searches the space of possible machines for the machine Y which is the one we really want. We code some criteria for "Getting warmer!" and "Getting colder!" and then set X going, looking for Y.

We can call this "learning" if it makes it easier for the people working on these problems to picture what they are doing. But it is really not different, except in complexity, than a program searching a database for a record that meets certain criteria, and then returning the record when it finds it. If you want to say, "Oh, the computer recognized who the best suspect is!", that is OK with me, just like if you want to say, "Ah, my thermostat recognized that the house was getting cold," or "My rabbit trap recognized that a rabbit had entered it."

* Nerd joke: I asked my friend what he was doing at work. "Burning PROMs," was his answer. "Oh, you're like Carrie!" I noted.

No comments:

Post a Comment