Posts Tagged ‘Machine-Learning’

PostHeaderIcon Machine Learning Overview

This article gives an overview of machine learning. This is an introductory article and a starting point to learn the various types of machine learning algorithms.

What is Machine Learning?

To solve problems computers require intelligence. Learning is central to intelligence. As intelligence requires knowledge, it is necessary for the computers to acquire knowledge. Machine learning serves this purpose.

Machine learning refers to a system capable of acquiring and integrating the knowledge automatically. The capability of the systems to learn from experience, training, analytical observation, and other means, results in a system that can continuously self-improve and thereby exhibit efficiency and effectiveness.

A machine learning system usually starts with some knowledge and a corresponding knowledge organization so that it can interpret, analyze, and test the knowledge acquired.

Machine Learning System Model

Learning System Model

The figure shown above is a typical learning system model. It consists of the following components.

1. Learning element
2. Knowledge base
3. Performance element
4. Feedback element
5. Standard system.

1. Learning element

It receives and processes the input obtained from a person ( i.e. a teacher), from reference material like magazines, journals, etc, or from the environment at large.

2. Knowledge base

This is somewhat similar to the database. Initially it may contain some basic knowledge. Thereafter it receives more knowledge which may be new and so be added as it is or it may replace the existing knowledge.

3. Performance element

It uses the updated knowledge base to perform some tasks or solves some problems and produces the corresponding output.

4. Feedback element

It is receiving the two inputs, one from learning element and one from standard (or idealized) system. This is to identify the differences between the two inputs. The feedback is used to determine what should be done in order to produce the correct output.

5. Standard system

It is a trained person or a computer program that is able to produce the correct output. In order to check whether the machine learning system has learned well, the same input is given to the standard system. The outputs of standard system and that of performance element are given as inputs to the feedback element for the comparison. Standard system is also called idealized system.

The sequence of operations described above may be repeated until the system gets the desired perfection.

There are several factors affecting the performance. They are,

• Types of training provided
• The form and extent of any initial background knowledge
• The type of feedback provided
• The learning algorithms used.

Training is the process of making the system able to learn. It may consist of randomly selected examples that include a variety of facts and details including irrelevant data. The learning techniques can be characterized as a search through a space of possible hypotheses or solutions. Background knowledge can be used to make learning more efficient by reducing the search space. The feedback may be a simple yes or no type of evaluation or it may contain useful information describing why a particular action was good or bad. If the feedback is always reliable and carries useful information, the learning process will be faster and the resultant knowledge will be correct.

The success of machine learning system also depends on the algorithms. These algorithms control the search to find and build the knowledge structures. The algorithms should extract useful information from training examples. There are several machine learning techniques available. I have explored some of the important techniques.

Rote Learning
Taking advice
Parameter adjustment
Macro-operators
Chunking
Explanation-based Learning
Clustering
Correcting Mistakes
Recording Cases
Managing Multiple Models
Back Propagation
Reinforcement Learning
Genetic Algorithms

PostHeaderIcon Genetic Algorithms

This article gives an introduction to genetic algorithms. It explains the background and the mechanism behind genetic algorithms in detail.

Background of Genetic Algorithms

All living organisms consist of cells. The cells contain chromosomes. Chromosomes are strings of DNA and serve as a model for the whole organism. A chromosome consists of genes, blocks of DNA. Each gene encodes a trait, for example color of eyes. The first change that occurs during reproduction is called recombination or crossover. Genes from parents combine to form a whole new chromosome. That is exchange of chromosomes from the parents takes place randomly during crossover. Generally the offspring exhibit some traits of the father and some traits of the mother. Some time a process called mutation changes some traits. That is the elements of DNA are a bit changed. These changes are mainly caused by errors in copying genes from parents. This may lead to new species. Naturally only the fittest survives. That is the individual that has better survival traits will survive. This phenomenon, better explained by Darwin, is called Natural selection.

What are genetic algorithms?

Genetic algorithms are based on biological evolution. Genetic algorithms can be used to solve a wide variety of problems. Given a problem a genetic algorithm generates a set of possible solutions and evaluates each in order to decide which solutions are fit for reproduction. If a particular solution is more fit then it will have more chances to generate new solutions. Finally we can find a real solution.

Genetic algorithms are so powerful that they can exhibit more efficiency if programmed perfectly. Applications include learning Robot behavior, molecular structure optimization, automated design of mechatronic systems, and electronic circuit design.

A Genetic Approach Methodology for Knowledge Acquisition for Intelligent Diagnosis is a project done by CEEP (Center for Engineering Education and Practice), University of Michigan-Dearborn, to develop diagnosis knowledge for robot arm movements. In this project, a robot was selected for analysis. The wrong arm movements of robot were observed and collected as failure data. Then the project applied genetic algorithm to extract knowledge from the failure data. The acquisition of knowledge was automatic. The knowledge extracted is then stored in the knowledge base to make use of in the intelligent diagnosis system. The knowledge so stored is known as diagnosis knowledge as it s used to detect what went wrong and to decide the course of action in order to make the robot perfect.

PostHeaderIcon Reinforcement Learning

What is Reinforcement Learning?

Reinforcement learning is one of the most active research areas in Artificial Intelligence. Reinforcement learning is training by rewards and punishments. Here we train a computer as if we train a dog. If the dog obeys and acts according to our instructions we encourage it by giving biscuits or we punish it by beating or by scolding. Similarly, if the system works well then the teacher gives positive value (i.e. reward) or the teacher gives negative value (i.e. punishment). The learning system which gets the punishment has to improve itself. Thus it is a trial and error process. The reinforcement learning algorithms selectively retain the outputs that maximize the received reward over time. To accumulate a lot of rewards, the learning system must prefer the best experienced actions; however, it has to try new actions in order to discover better action selections for the future.

Temporal Difference Learning

Temporal difference learning is a central idea to reinforcement learning. It is based on Monte Carlo methods and dynamic programming. It is an unsupervised technique. Temporal difference learning methods can learn directly from raw experience without a model of the environment’s dynamics. Examples are learning to play games, robot control, elevator control, network routing and animal learning.

Applications of Reinforcement Learning

Personalization Travel Support System is one software that is designed to provide travelling information as per the user’s interests. It applies the reinforcement learning to analyze and learn customer behaviors and list out the products that the customers wish to buy. If the system selects the right item that the customer wish to buy then it is given reward by assigning a particular value for the state that a user selects to perform and if the system selects an item which the user does not wish to buy then it is given the penalty. This way the system learns the personal interests. In this process, the system acquires the knowledge of the user behavior and interest which makes it decide which information should be given to a particular user. This results in greater customer satisfaction and increase in the success rate of product promotion.

For further study

Reinforcement Learning

Reinforcement Learning: An Introduction

PostHeaderIcon Backpropagation

Backpropagation is a kind of neural network. A Neural Network (or artificial neural network) is a collection of interconnected processing elements or nodes. The nodes are termed simulated neurons as they attempt to imitate the functions of biological neurons. The nodes are connected together via links. We can compare this with axon-synapse-dendrite connections in the human brain.

How Backpropagation Works?

Initially, a weight is assigned at random to each link in order to determine the strength of one node’s influence on the other. When the sum of input values reaches a threshold value, the node will produce the output 1 or 0 otherwise. By adjusting the weights the desired output can be obtained. This training process makes the network learn. The network, in other words, acquires knowledge in much the same way human brains acquire namely learning from experience. Backpropagation is one of the powerful artificial neural network technique which is used acquire knowledge automatically.

Backpropagation method is the basis for training a supervised neural network. The output is a real value which lies between 0 and 1 based on the sigmoid function. The formula for the output is,
Output = 1 / (1+e-sum)
As the sum increases, the output approaches 1. As the sum decreases, the output approaches 0.

A Multilayer Network

A Multilayer Network

A multilayer network is a kind of neural network which consists of one or more layers of nodes between the input and the output nodes. The input nodes pass values to the hidden layer, which in turn passes to the output layer. A network with a layer of input units, a layer of hidden units and a layer of output units is a two-layer network. A network with two layers of hidden units is a three-layer network, and so on. The multilayer network is the basis for backpropagation network.

As the name implies, there is a backward pass of error to each internal node within the network, which is then used to calculate weight gradients for that node. The network learns by alternately propagating forward the activations and propagating backward the errors as and when they occur.

Backpropagation network can deal with various types of data. It also has the ability to model a complex decision system. If the problem domain involves large amount of data, the network will require to have more input units or hidden units. Consequently this will increase the complexity of the model and also increase its computational complexity. Moreover it takes more time in solving complex problems. In order to overcome this problem multi-backpropagation network is used.

In the beginning of the training process, weights are assigned to the connections at random. The training process is iterative. The training cases are given to the network iteratively. The actual outputs are compared with desired outputs and the errors are calculated. The errors are then propagated back to the network in order to adjust the weights. The training process repeats till the desired outputs are obtained or the error reaches an acceptable level.

Types of backpropagation networks

Static back-propagation is one kind of backpropagation networks that produces a mapping of a static input to a static output. These networks can solve static classification problems such as optical character recognition (OCR). Recurrent Backpropagation is another kind of type used for fixed-point learning. NeuroSolutions, for example, is software that has this ability. In recurrent backpropagation, activations are fed forward until a fixed value is achieved. There after the error is computed and propagated backwards. The difference between static and recurrent backpropagation is that the mapping is instantaneous in static back-propagation while it is not in the case of latter type. Moreover training a network using fixed-point learning is more difficult than with static backpropagation.

Application of Backpropagation

The researchers, Thomas Riga, Angelo Cangelosi (University of Plymouth) and Alberto Greco (University of Genoa), have developed a model for grounding of symbol. It assumes the brain as a symbol system and explains cognition as a manipulation of symbols governed by rules.

The symbol grounding problem is nothing but connecting meaning to the symbols or images of objects received from input stimuli. The model uses two learning algorithms: Kohonen Self-Organizing Feature Map and backpropagation algorithm.

To perform the tasks, it has two modules and a retina for input. The first module uses Kohonen Self-Organizing Feature Map and categorizes the images projected on the retina. It expresses the intrinsic order of the stimulus set in a bi-dimensional matrix known as activation matrix.

The second module relates visual input, symbolic input and output stimuli. Now it uses backpropagation algorithm for learning. The error in the output is computed with respect to the training set and is sent back to input unit and the weight distribution is corrected in order to get the correct output. In this process, the symbols which are grounded constitute the knowledge. The knowledge so acquired is then used to generate and describe new meanings for the symbols.

Related Articles

Machine Learning
Reinforcement Learning
Learning By Managing Multiple Models

PostHeaderIcon Learning By Recording Cases

A program that learns by recording cases generally makes use of consistency heuristic. According to consistency heuristic, a property of something can be guessed by finding the most similar cases from a given set of cases. For example, a computer is given the images of different types of insects, birds, and animals. If the computer is asked to identify a living thing which is not in the recorded list, it will compare the given image with already recorded ones, and will at least tell whether the given image is insect, bird or animal.
Learning by recoding cases technique is mainly used in natural language learning tasks.

During the training phase, a set of cases that describe ambiguity resolution episodes for a particular problem in text analysis is collected. Each case contains a set of features or attribute-value pairs that encode the context in which the ambiguity was encountered.

Moreover, each case is annotated with solution features that explain how the ambiguity was resolved in the current example. The cases which are created are then stored in a case base. Once the training is over, the system can use the case base to resolve ambiguities in new sentences. This way, the system acquires the linguistic knowledge.

Related Articles

Learning By Managin Multiple Models