Machine learning is a scientific discipline that is concerned with the design and development of algorithms In mathematics, computer science, and related subjects, an algorithm is an effective method for solving a problem expressed as a finite sequence of instructions. Algorithms are used for calculation, data processing, and many other fields that allow computers A computer is a programmable machine that receives input, stores and manipulates data//information, and provides output in a useful format to evolve behaviors based on empirical data The term data refers to groups of information that represent the qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which information and, such as from sensor A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. For example, a mercury-in-glass thermometer converts the measured temperature into expansion and contraction of a liquid which can be read on a calibrated glass tube. A thermocouple converts temperature to an data or databases A database consists of an organized collection of data for one or more uses, typically in digital form. One way of classifying databases involves the type of their contents, for example: bibliographic, document-text, statistical. Digital databases are managed using database management systems, which store database contents, allowing data creation. A learner can take advantage of examples (data) to capture characteristics of interest of their unknown underlying probability distribution. Data can be seen as examples that illustrate relations between observed variables. A major focus of machine learning research is to automatically learn to recognize complex patterns and make intelligent decisions based on data; the difficulty lies in the fact that the set of all possible behaviors given all possible inputs is too large to be covered by the set of observed examples (training data). Hence the learner must generalize from the given examples, so as to be able to produce a useful output in new cases. Artificial intelligence Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. Textbooks define the field as "the study and design of intelligent agents," where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. John McCarthy, who is a closely related field, as are probability theory Probability theory is the branch of mathematics concerned with analysis of random phenomena. The central objects of probability theory are random variables, stochastic processes, and events: mathematical abstractions of non-deterministic events or measured quantities that may either be single occurrences or evolve over time in an apparently random and statistics Statistics is the formal science of making effective use of numerical data relating to groups of individuals or experiments. It deals with all aspects of this, including not only the collection, analysis and interpretation of such data, but also the planning of the collection of data, in terms of the design of surveys and experiments, data mining Data mining is the process of extracting patterns from data. Data mining is seen as an increasingly important tool by modern business to transform data into an informational advantage. It is currently used in a wide range of profiling practices, such as marketing, surveillance, fraud detection, and scientific discovery, pattern recognition Pattern recognition is "the act of taking in raw data and taking an action based on the category of the pattern". Most research in pattern recognition is about methods for supervised learning and unsupervised learning, adaptive control Adaptive control involves modifying the control law used by a controller to cope with the fact that the parameters of the system being controlled are slowly time-varying or uncertain. For example, as an aircraft flies, its mass will slowly decrease as a result of fuel consumption; we need a control law that adapts itself to such changing, computational neuroscience Computational neuroscience is the study of brain function in terms of the information processing properties of the structures that make up the nervous system. It is an interdisciplinary science that links the diverse fields of neuroscience, cognitive science and psychology with electrical engineering, computer science, mathematics and physics and theoretical computer science Theoretical computer science is a branch of computer science that focuses on the more abstract, logical and mathematical aspects of computing, such as the theory of computation, analysis of algorithms, and semantics of programming languages. Although not itself a single topic, its practitioners form a distinct subgroup within computer science.
Contents |
Definition
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.[1]
Learning to generalize
The core objective of a learner is to generalize from its experience.[2] The training examples from its experience come from some generally unknown probability distribution and the learner has to extract from them something more general, something about that distribution, that allows it to produce useful answers in new cases.
Human interaction
Some machine learning systems attempt to eliminate the need for human intuition in data analysis, while others adopt a collaborative approach between human and machine. Human intuition cannot, however, be entirely eliminated, since the system's designer must specify how the data is to be represented and what mechanisms will be used to search for a characterization of the data.
Algorithm types
Machine learning algorithms In mathematics, computer science, and related subjects, an algorithm is an effective method for solving a problem expressed as a finite sequence of instructions. Algorithms are used for calculation, data processing, and many other fields are organized into a taxonomy Taxonomy is the practice and science of classification. The word finds its roots in the Greek τάξις, taxis and νόμος, nomos (meaning 'law' or 'science'). Taxonomy uses taxonomic units, known as taxa (singular taxon), based on the desired outcome of the algorithm.
- Supervised learning Supervised learning is a machine learning technique for deducing a function from training data. The training data consist of pairs of input objects , and desired outputs. The output of the function can be a continuous value (called regression), or can predict a class label of the input object (called classification). The task of the supervised generates a function that maps inputs to desired outputs. For example, in a classification Statistical classification is a supervised machine learning procedure in which individual items are placed into groups based on quantitative information on one or more characteristics inherent in the items and based on a training set of previously labeled items problem, the learner approximates a function mapping a vector into classes by looking at input-output examples of the function.
- Unsupervised learning In machine learning, unsupervised learning is a class of problems in which one seeks to determine how the data are organized. It is distinguished from supervised learning in that the learner is given only unlabeled examples models a set of inputs, like clustering.
- Semi-supervised learning combines both labeled and unlabeled examples to generate an appropriate function or classifier.
- Reinforcement learning Inspired by related psychological theory, in computer science, reinforcement learning is a sub-area of machine learning concerned with how an agent ought to take actions in an environment so as to maximize some notion of long-term reward. Reinforcement learning algorithms attempt to find a policy that maps states of the world to the actions the learns how to act given an observation of the world. Every action has some impact in the environment, and the environment provides feedback in the form of rewards that guides the learning algorithm.
- Transduction tries to predict new outputs based on training inputs, training outputs, and test inputs.
- Learning to learn learns its own inductive bias based on previous experience.
Theory
Main article: Computational learning theoryThe computational analysis of machine learning algorithms and their performance is a branch of theoretical computer science Theoretical computer science is a branch of computer science that focuses on the more abstract, logical and mathematical aspects of computing, such as the theory of computation, analysis of algorithms, and semantics of programming languages. Although not itself a single topic, its practitioners form a distinct subgroup within computer science known as computational learning theory. Because training sets are finite and the future is uncertain, learning theory usually does not yield absolute guaranties of the performance of algorithms. Instead, probabilistic bounds on the performance are quite common.
In addition to performance bounds, computational learning theorists study the time complexity and feasibility of learning. In computational learning theory, a computation is considered feasible if it can be done in polynomial time. There are two kinds of time complexity Computational complexity theory is a branch of the theory of computation in computer science that focuses on classifying computational problems according to their inherent difficulty. In this context, a computational problem is understood to be a task that is in principle amenable to being solved by a computer. Informally, a computational problem results. Positive results show that a certain class of functions can be learned in polynomial time In computer science, the time complexity of an algorithm quantifies the amount of time taken by an algorithm to run as a function of the size of the input to the problem. The time complexity of an algorithm is commonly expressed using the big O notation, which suppresses multiplicative constants and lower order terms. When expressed this way, the. Negative results show that certain classes cannot be learned in polynomial time.
There are many similarities between Machine Learning theory and Statistics, although they use different terms.
Approaches
Main article: List of machine learning algorithmsDecision tree learning
Main article: Decision tree learning Decision tree learning, used in data mining and machine learning, uses a decision tree as a predictive model which maps observations about an item to conclusions about the item's target value. More descriptive names for such tree models are classification trees or regression trees. In these tree structures, leaves represent classifications andDecision tree learning uses a decision tree A decision tree is a decision support tool that uses a tree-like graph or model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. Decision trees are commonly used in operations research, specifically in decision analysis, to help identify a strategy most likely to reach a goal. Another use as a predictive model which maps observations about an item to conclusions about the item's target value.
Association rule learning
Main article: Association rule learning In data mining, association rule learning is a popular and well researched method for discovering interesting relations between variables in large databases. Piatetsky-Shapiro describes analyzing and presenting strong rules discovered in databases using different measures of interestingness. Based on the concept of strong rules, Agrawal et alAssociation rule learning is a method for discovering interesting relations between variables in large databases.
Artificial neural networks
Main article: Artificial neural network An artificial neural network , usually called "neural network" (NN), is a mathematical model or computational model that is inspired by the structure and/or functional aspects of biological neural networks. It consists of an interconnected group of artificial neurons and processes information using a connectionist approach to computationAn artificial neural network (ANN), usually called "neural network" (NN), is a mathematical model A mathematical model uses mathematical language to describe a system. The process of developing a mathematical model is termed mathematical modelling . Mathematical models are used not only in the natural sciences (such as physics, biology, earth science, meteorology) and engineering disciplines, but also in the social sciences (such as economics, or computational model A computational model is a mathematical model in computational science that requires extensive computational resources to study the behavior of a complex system by computer simulation. The system under study is often a complex nonlinear system for which simple, intuitive analytical solutions are not readily available. Rather than deriving a that tries to simulate the structure and/or functional aspects of biological neural networks In neuroscience, a neural network describes a population of physically interconnected neurons or a group of disparate neurons whose inputs or signalling targets define a recognizable circuit. Communication between neurons often involves an electrochemical process. The interface through which they interact with surrounding neurons usually consists. It consists of an interconnected group of artificial neurons An artificial neuron is a mathematical function conceived as a crude model, or abstraction of biological neurons. Artificial neurons are the constitutive units in an artificial neural network. Depending on the specific model used, it can receive different names, such as semi-linear unit, Nv neuron, binary neuron, linear threshold function or and processes information using a connectionist Connectionism is a set of approaches in the fields of artificial intelligence, cognitive psychology, cognitive science, neuroscience and philosophy of mind, that models mental or behavioral phenomena as the emergent processes of interconnected networks of simple units. There are many forms of connectionism, but the most common forms use neural approach to computation Computation is a general term for any type of process, algorithm or measurement; this often includes but is not limited to digital data. This includes phenomena ranging from human thinking to calculations with a more narrow meaning. Computation is a process following a well-defined model that is understood and can be expressed in an algorithm,. Modern neural networks are non-linear In mathematics, a nonlinear system is a system which is not linear, that is, a system which does not satisfy the superposition principle, or whose output is not directly proportional to its input. Less technically, a nonlinear system is any problem where the variable to be solved for cannot be written as a linear combination of independent statistical Statistics is the formal science of making effective use of numerical data relating to groups of individuals or experiments. It deals with all aspects of this, including not only the collection, analysis and interpretation of such data, but also the planning of the collection of data, in terms of the design of surveys and experiments data modeling Data modeling in software engineering is the process of creating a data model by applying formal data model descriptions using data modeling techniques tools. They are usually used to model complex relationships between inputs and outputs or to find patterns Pattern recognition is "the act of taking in raw data and taking an action based on the category of the pattern". Most research in pattern recognition is about methods for supervised learning and unsupervised learning in data.
Genetic programming
Main articles: Genetic programming In artificial intelligence, genetic programming is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. It is a specialization of genetic algorithms (GA) where each individual is a computer program. It is a machine learning technique used to optimize a population and Evolutionary computation In computer science, evolutionary computation is a subfield of artificial intelligence that involves combinatorial optimization problemsGenetic programming (GP) is an evolutionary algorithm In artificial intelligence, an evolutionary algorithm is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem play the role of-based methodology inspired by biological evolution Evolution is the change in the inherited traits of a population of organisms through successive generations. After a population splits into smaller groups, these groups evolve independently and may eventually diversify into new species. A nested hierarchy of anatomical and genetic similarities, geographical distribution of similar species and the to find computer programs A computer program is a sequence of instructions written to perform a specified task for a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute the instructions. The same program in its human- that perform a user-defined task. It is a specialization of genetic algorithms A genetic algorithm is a search technique used in computing to find exact or approximate solutions to optimization and search problems. Genetic algorithms are categorized as global search heuristics. Genetic algorithms are a particular class of evolutionary algorithms (EA) that use techniques inspired by evolutionary biology such as inheritance, (GA) where each individual is a computer program. It is a machine learning technique used to optimize a population of computer programs according to a fitness landscape In evolutionary biology, fitness landscapes or adaptive landscapes are used to visualize the relationship between genotypes and reproductive success. It is assumed that every genotype has a well defined replication rate (often referred to as fitness). This fitness is the "height" of the landscape. Genotypes which are very similar are determined by a program's ability to perform a given computational task.
Inductive logic programming
Main article: Inductive logic programmingInductive logic programming (ILP) is an approach to rule learning uses logic programming Logic programming is, in its broadest sense, the use of mathematical logic for computer programming. In this view of logic programming, which can be traced at least as far back as John McCarthy's advice-taker proposal, logic is used as a purely declarative representation language, and a theorem-prover or model-generator is used as the problem- as a uniform representation for examples, background knowledge, and hypotheses. Given an encoding of the known background knowledge and a set of examples represented as a logical database of facts, an ILP system will derive a hypothesised logic program which entails all the positive and none of the negative examples.
Support vector machines
Main article: Support vector machines Support vector machines are a set of related supervised learning methods used for classification and regression. In simple words, given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that predicts whether a new example falls into one category or the other. Intuitively, an SVMSupport vector machines (SVMs) are a set of related supervised learning Supervised learning is a machine learning technique for deducing a function from training data. The training data consist of pairs of input objects , and desired outputs. The output of the function can be a continuous value (called regression), or can predict a class label of the input object (called classification). The task of the supervised methods used for classification Statistical classification is a supervised machine learning procedure in which individual items are placed into groups based on quantitative information on one or more characteristics inherent in the items and based on a training set of previously labeled items and regression In statistics, regression analysis includes any techniques for modeling and analyzing several variables, when the focus is on the relationship between a dependent variable and one or more independent variables. More specifically, regression analysis helps us understand how the typical value of the dependent variable changes when any one of the. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that predicts whether a new example falls into one category or the other.
Clustering
Main article: Cluster analysis Cluster analysis or clustering is the assignment of a set of observations into subsets so that observations in the same cluster are similar in some sense. Clustering is a method of unsupervised learning, and a common technique for statistical data analysis used in many fields, including machine learning, data mining, pattern recognition, imageCluster analysis or clustering is the assignment of a set of observations into subsets (called clusters) so that observations in the same cluster are similar in some sense. Clustering is a method of unsupervised learning In machine learning, unsupervised learning is a class of problems in which one seeks to determine how the data are organized. It is distinguished from supervised learning in that the learner is given only unlabeled examples, and a common technique for statistical data analysis.
Bayesian networks
Main article: Bayesian networkA Bayesian network, belief network or directed acyclic graphical model is a probabilistic graphical model that represents a set of random variables and their conditional independencies via a directed acyclic graph (DAG). For example, a Bayesian network could represent the probabilistic relationships between diseases and symptoms. Given symptoms, the network can be used to compute the probabilities of the presence of various diseases. Efficient algorithms exist that perform inference and learning.
Reinforcement learning
Main article: Reinforcement learningReinforcement learning is concerned with how an agent ought to take actions in an environment so as to maximize some notion of long-term reward. Reinforcement learning algorithms attempt to find a policy that maps states of the world to the actions the agent ought to take in those states. Reinforcement learning differs from the supervised learning problem in that correct input/output pairs are never presented, nor sub-optimal actions explicitly corrected.
Applications
Applications for machine learning include machine perception, computer vision, natural language processing, syntactic pattern recognition, search engines, medical diagnosis, bioinformatics, brain-machine interfaces and cheminformatics, detecting credit card fraud, stock market analysis, classifying DNA sequences, speech and handwriting recognition, object recognition in computer vision, game playing, software engineering, adaptive websites, robot locomotion, and structural health monitoring.
Software
RapidMiner, Weka and Orange are software suites containing a variety of machine learning algorithms.
|
Tue, 24 Aug 2010 03:51:12 GMT+00:00
Irish Independent So why do we persist in pursuing an education system that Patrick Pearse would still rightly call 'The Murder Machine '? Learning by rote should have been ...
unknown
Mon, 28 Jun 2010 21:41:00 GM
In the growing field of artificial intelligence, we are witnessing on one hand the great developments in problem solving, . machine learning. , knowledge representation, automated reasoning, artificial vision, human machine interaction and ...
Q. just the codes and the explanation, no need for the language itself, im totally new to the AI field, its very urgent,skool project,thanks very much.
Asked by Testify - Wed Nov 26 18:22:15 2008 - - 1 Answers - 0 Comments
A. So you expect someone to sit down and do your work for you? I'm actually working on some code for a neural network at the moment. The code behind them can be quite simple, but they are very powerful heres a tutorial Genetic algorithms are pretty interesting, they dont require vast amounts of code either Ant algorithms also might be worth a look at. But do your work yourself...youll learn more, especially if you know nothign about AI you wont gain much if you dont work it out yourself
Answered by Aerivium - Wed Nov 26 18:42:40 2008


