Software that learns from experience
16 Jan 2007
AI-based
software that learns from experience and automates decision-making
is finding acceptance among more and more progressive
organisations keen to maintain a competitive edge, says
Dr Kaustubh Chokshi
Over the years, software design and architecture has undergone constant evolution, progressing from simple logic-based algorithms, to expert systems, fuzzy logic and beyond. Inherent in all these approaches has been a level of rigidity in the codification of the logic and rules.
Expert systems have some degree of flexibility, in the sense that the problem-related "expertise" is encoded in the data structures, rather than in the software itself. Nevertheless, in essence, expert systems are little more than sophisticated versions of the decision logic used in conventional algorithms.
Of course, for most routine applications, logic-based algorithms fit the bill quite perfectly. And, carefully constructed expert systems can help solve problems for which there is no single "correct" solution -- for instance a software programme recommending suitable restaurants based on the preferences you indicate in response to a series of questions it asks you.
These cases represent well-defined, structured (mathematical) or partially defined, semi-structured (heuristic) domain models. But once you get into the realm of unstructured domains, which either lack a known model or have a poorly defined domain model, logic-based software has limited utility. This is where Artificial Intelligence software based on Neural Network technology comes in.
Neural
Networks
Artificial Neural Networks (ANNs) autonomously learn the
underlying domain model from examples and have the ability
to generalise, i.e., use the learned model to respond
correctly to previously unseen inputs. ANNs may simply
be algorithms, or actual hardware processing elements
connected together.
In either case the design is modelled on the architecture of the human brain with its interconnected neurons. Inherent in all ANNs are "training" rules whereby the weights of connections get dynamically adjusted on the basis of the pattern of data inputs. Thus ANNs learn from example, much the same way as a little child automatically starts recognising dogs or cats after a few examples of each have been pointed out to him.
In
biological systems, learning takes place with adjustments
to the synaptic connections that exist between neurons,
and this approach is followed in ANNs as well. Typically,
a neural network is initially "trained" or primed
with large amounts of data and rules about the data relationships.
A programme can then tell the network how to respond to
external inputs, or can initiate activity on its own.
Once trained, a neural network becomes an "expert"
in its specific area of operation and can offer projections
and trends based on past data.
As large amounts of data continue to be collected in fields
as diverse as genetics and banking, it is impossible for
traditional software (or humans) to analyse the data effectively
in order to derive the knowledge inherent in it. It is
here that AI is playing a big role, whether in biotechnology
(for instance, to make sense of the data garnered from
the mapping of the human genome), or in banking (for instance,
to prevent money laundering and minimise credit card fraud).
Ultimately, it is only in AI-based software that predictive analytics--the ability to predict likely future results and scenarios from historical data--can be accurate, meaningful and beneficial. The best part is that AI software based on neural networks becomes more intelligent and accurate in its predictions as more and more data passes through it. Incidentally, when sufficient historical data is not available, AI analysts use techniques such as Bayesian inferencing to fill in the gaps.
AI
in the Real World
As explained earlier, the true worth of neural networks
stems from their ability to recognise hidden patterns
in data, once trained. And it is this feature that is
of prime relevance in business systems, in applications
ranging from customer profiling to target marketing, from
fraud detection to risk management and more.
There are innumerable examples of AI and neural network technology being utilised today, for individual- as well as enterprise-level applications. Of course, in areas like robotics, AI software would be the norm rather than the exception. And applications such as speech recognition and handwriting recognition would have remained fantasies had it not been for neural network architecture.
But for business applications too, AI is making its presence felt. For instance, in the United States, a software program known as Falcon, based on neural nets, protects almost 50 per cent of the credit cards issued in the US from fraudulent transactions. Falcon was created by San Diego based HNC Software in the US, a company that was later acquired, in 2002, by Fair Isaac Corp.
AI technology from companies such as Fair Isaac, Autonomy, Charles River Analytics, Cycorp, etc, is used to, among other things, establish creditworthiness of loan applicants, scrutinise cell phone call data to identify stolen phones, detect spurious insurance claims and falsified medical prescriptions, perform intelligent information retrieval, and much more.
Other areas in which artificial intelligence plays a big role in enterprise software are data mining, customer profiling, precision marketing, text searching, spam control, process modelling and control, machine diagnostics, etc.
Conclusion
AI technologies are diverse, and find application in a
very wide range of fields. In recent years AI researchers
have concentrated on producing software with specific
expertise that in most cases far outstrips human intelligence
in the niche functionality it is designed for.
AI-based software that learns from experience and automates