What is learning? How do people learn? How can machines learn? Constructing and understanding adaptive algorithms is one approach to the creation of machines with a primitive ability to learn. Suppose you reach to the ground to pick up a black stone. You expect it to be heavy, but it's porous and it nearly flies from your hand. What do you do? You heft it, bouncing it lightly until you get the "feel" of it. The next time you reach for a similar stone, you can lift it smoothly and precisely. You have a mental image or model of stones that is built from previous experience. When you encounter the stone, you experiment by lifting and hefting, comparing the predictions of your model with the results of your experimental observations. When your expectations are not quite right, you use the difference between what you expect to happen and what really happens to improve your model of black porous stones... you have learned, and next time you will know what to expect.
Consider the following "mathematization" of the above scenario. An input is applied to a real system (a robot arm, a communication channel, a chemical plant, a porous black stone) and is simultaneously digitized and applied to a model of that system residing in a computer. The system and the model both produce outputs, which are then compared. The difference is used to improve the model using some clever scheme or "algorithm." If the algorithm is good, and if the inputs are properly conditioned (you had to apply a variety of inputs by hefting the stone), then it is reasonable that the model might eventually "identify" or mimic the real system. Part of my research effort is in examining these "ifs"... What are good algorithms? Under what conditions can these algorithms correctly identify the real system? When will they fail?
These identification processes provide a simple paradigm of many common engineering situations. They are incorporated in control systems (called adaptive control) and in signal processing applications (adaptive noise cancellation, adaptive equalization, adaptive filtering). More recently networks of such algorithms are being used as "neural elements" in the hopes of modeling more complicated behaviors. Some machines can exhibit this type of learning. Perhaps understanding our creations may lead to a deeper understanding of ourselves.