3
$\begingroup$

This is a vague question. I will do my best, I think it has definite answers. I am hoping for answers of the form "Read book x, learn this specific topic, read this paper/s".

What is bothering me is that every AI system I have read about seems to have an internal model which is set up to operate in a specific way. The task of the learning algorithm is to then optimise the parameters of this model to solve the problem.

I am thinking that this is akin to setting up a custom description language which preserves or translates some structure of the thing to be modelled in such a way that it becomes amenable to solution through some understood algorithmic technique; iterative gradient descent, analytic, whatever.

The Question: Is there any framework in which the optimum model/description language can be discovered? For instance in a GA the mapping from the genome to the phenotype is critical to the effective operation of the algorithm. This mapping is manually defined and, I would posit, is the most critical component of the GA. Specifically how would one search through the space of mappings? Or going meta how would one search through the space of algorithms for finding that best mapping? It feels like you could disappear up that ladder forever. In order to solve the problem you must first solve the problem.

Neural networks seem to represent an effective model for solving real world problems, why? How would one generate another model for a different set of problems? Cellular Automata seem good for modelling traffic flows or disease transmission, why? How would I automatically generate alternative systems which also model the set of problems effectively? etc.

Is this something that is thought about and discussed? Where would I find it? This is my first question, please be gentle! :)

$\endgroup$
  • $\begingroup$ note that neural networks are just as sensitive as GA to how you represent the input (i.e. how you encode the features of your problem into the activations of the input neurons). I think automated feature detection and model selection are the keywords you are looking for. You might get better results about this over at stats.SE. $\endgroup$ – Artem Kaznatcheev May 10 '12 at 22:25
  • 1
    $\begingroup$ This is a tricky business in general. The real answer is that no single model works for all problems, and choosing the right way to model a problem is a matter of experience, a careful understanding of the domain, and some inspired guessing $\endgroup$ – Suresh Venkat May 11 '12 at 2:10
  • $\begingroup$ @Suresh, I appreciate your response and I'm trying not to be facetious: is the substrate which hosts the careful understanding and the inspired guessing not a good general system for designing models? Is there any formal notion around for something like different basis(s) of computation and comparisons between them for different kinds of problem? Perhaps this should be a different question... $\endgroup$ – user612921 May 11 '12 at 20:13
  • $\begingroup$ @SureshVenkat +1 to inspired guessing. There's some element of that in many fields, not just AI. $\endgroup$ – Joe May 11 '12 at 21:04
4
$\begingroup$

Unfortunately, there are many possible levels of description for a problem; choosing one among them is strictly dependent on your aims and on the tools available to you. In general, there are three possible approaches: analytical, numerical and observational. Each one is characterized by pro and cons. When you need to build a model, there are many possible decisions that must be made. For instance, you may decide among:

  • specific - general
  • model estimation - first-principles models
  • numerical - analytical
  • stochastic -deterministic
  • microscopic - macroscopic
  • discrete - continuous
  • qualitative - quantitative

and so on. You must understand that, in general, there are no rigorous rules of thumb when making these choices. As pointed out by @Suresh, this a matter of experience, requires a careful understanding of the domain, and some inspired guessing as well. The good news is that once you have made your choices, then there are rigorous ways to proceed. Probably, the best model overall for a given problem is the one given by the Minimum Description Length Principle (essentially the Occam's razor): the best model is the smallest one. But determining it is beyond hope. So, the best model is almost always, the one that works best for you, given your explicit and even implicit assumptions.

That said, analytical and numerical approaches allows you to explore the behavior of a model, but the assumption here is that the underlying model is known. It's up to you to derive this model. Observational approaches allows you to derive a model from the experimentally observed data.

Analytical models may lead to a closed-form solution; they are of great importance, given their power: if and when an analytical model may be successfully applied, then you will be able to deduce almost everything there is to know about a system. Their major drawback is limited applicability, since much of the world is simply too complicated to be described this way. Examples include ODE, PDE, difference equations, variational calculus and stochastic processes.

Numerical models are required when the equations in an analytical model are too complex to be solved exactly in closed-form. This usually happens as soon as we move too far from linearity to nonlinearity. It's important to remember that numerical and analytical solutions are complementary approaches rather than exclusive alternatives. Examples include Runge-Kutta methods, finite element methods, cellular automata and lattice gases.

Observational models can come from introspection or observation (or both).In some cases you may want to infer a model from experimentally measured data.This model may then be used to characterize and classify the data at hand, or to generalize from the measurements to predict the outcome of new observations etc. Examples include function fitting, SVD, Fourier and Wavelets transforms, neural networks, genetic algorithms, Expectation-Maximization algorithms, Wiener and Kalman filters, HMM, and time series.

A very good introductory book you may want to read is The nature of mathematical modeling. Of course, given the huge amount of topics covered, do not expect a detailed treatment.

$\endgroup$
  • $\begingroup$ I can hardly believe that my question has prompted a response from such knowledgeable people. Thank you. $\endgroup$ – user612921 May 11 '12 at 19:41
1
$\begingroup$

In case you know the generation model of your data, you may use the maximum likelihood estimation (MLE)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.