machine learning for the journal see machine learning journal statistical learning redirects here for statistical learning in linguistics see statistical learning in language acquisition machine learning anddata mining problems classification clustering regression anomaly detection automl association rules reinforcement learning structured prediction feature engineering feature learning online learning semisupervised learning unsupervised learning learning to rank grammar induction supervised learning classification regression decision trees ensembles bagging boosting random forest knn linear regression naive bayes artificial neural networks logistic regression perceptron relevance vector machine rvm support vector machine svm clustering birch cure hierarchical kmeans expectationmaximization em dbscan optics meanshift dimensionality reduction factor analysis cca ica lda nmf pca tsne structured prediction graphical models bayes net conditional random field hidden markov anomaly detection knn local outlier factor artificial neural networks autoencoder deep learning multilayer perceptron rnn lstm gru restricted boltzmann machine som convolutional neural network unet reinforcement learning qlearning sarsa temporal difference td theory biasvariance dilemma computational learning theory empirical risk minimization occam learning pac learning statistical learning vc theory machinelearning venues nips icml ml jmlr arxivcslg glossary of artificial intelligence glossary of artificial intelligence related articles list of datasets for machinelearning research outline of machine learning machine learning portalvte machine learning ml is a field of artificial intelligence that uses statistical techniques to give computer systems the ability to learn eg progressively improve performance on a specific task from data without being explicitly programmed the name machine learning was coined in 1959 by arthur samuel2 through building a model from sample inputs machine learning is employed in a range of computing tasks where designing and programming explicit algorithms with good performance is difficult or infeasible example applications include email filtering detection of network intruders and computer vision machine learning is closely related to and often overlaps with computational statistics which also focuses on predictionmaking through the use of computers it has strong ties to mathematical optimization which delivers methods theory and application domains to the field machine learning is sometimes conflated with data mining within the field of data analytics machine learning is a method used to devise complex models and algorithms that lend themselves to prediction in commercial use this is known as predictive analytics these analytical models allow researchers data scientists engineers and analysts to produce reliable repeatable decisions and results and uncover hidden insights through learning from historical relationships and trends in the data overview tom m mitchell provided a widely quoted more formal definition of the algorithms studied in the machine learning field 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 in turings proposal the various characteristics that could be possessed by a thinking machine and the various implications in constructing one are exposed machine learning tasks machine learning tasks are typically classified into several broad categories supervised learning the computer is presented with example inputs and their desired outputs given by a teacher and the goal is to learn a general rule that maps inputs to outputs as special cases the input signal can be only partially available or restricted to special feedback semisupervised learning the computer is given only an incomplete training signal a training set with some often many of the target outputs missing active learning the computer can only obtain training labels for a limited set of instances based on a budget and also has to optimize its choice of objects to acquire labels for when used interactively these can be presented to the user for labeling unsupervised learning no labels are given to the learning algorithm leaving it on its own to find structure in its input unsupervised learning can be a goal in itself discovering hidden patterns in data or a means towards an end feature learning reinforcement learning data in form of rewards and punishments are given only as feedback to the programs actions in a dynamic environment such as driving a vehicle or playing a game against an opponent3 machine learning applications a support vector machine is a classifier that divides its input space into two regions separated by a linear boundary here it has learned to distinguish black and white circles another categorization of machine learning tasks arises when one considers the desired output of a machinelearned system3 in classification inputs are divided into two or more classes and the learner must produce a model that assigns unseen inputs to one or more multilabel classification of these classes this is typically tackled in a supervised way spam filtering is an example of classification where the inputs are email or other messages and the classes are spam and not spam in regression also a supervised problem the outputs are continuous rather than discrete in clustering a set of inputs is to be divided into groups unlike in classification the groups are not known beforehand making this typically an unsupervised task density estimation finds the distribution of inputs in some space dimensionality reduction simplifies inputs by mapping them into a lowerdimensional space topic modeling is a related problem where a program is given a list of human language documents and is tasked to find out which documents cover similar topics among other categories of machine learning problems learning to learn learns its own inductive bias based on previous experience developmental learning elaborated for robot learning generates its own sequences also called curriculum of learning situations to cumulatively acquire repertoires of novel skills through autonomous selfexploration and social interaction with human teachers and using guidance mechanisms such as active learning maturation motor synergies and imitation history and relationships to other fields see also timeline of machine learning arthur samuel an american pioneer in the field of computer gaming and artificial intelligence coined the term machine learning in 1959 while at ibm as a scientific endeavour machine learning grew out of the quest for artificial intelligence already in the early days of ai as an academic discipline some researchers were interested in having machines learn from data they attempted to approach the problem with various symbolic methods as well as what were then termed neural networks these were mostly perceptrons and other models that were later found to be reinventions of the generalized linear models of statistics488 however an increasing emphasis on the logical knowledgebased approach caused a rift between ai and machine learning probabilistic systems were plagued by theoretical and practical problems of data acquisition and representation25 machine learning reorganized as a separate field started to flourish in the 1990s the field changed its goal from achieving artificial intelligence to tackling solvable problems of a practical nature it shifted focus away from the symbolic approaches it had inherited from ai and toward methods and models borrowed from statistics and probability theory it also benefited from the increasing availability of digitized information and the ability to distribute it via the internet relation to data mining machine learning and data mining often employ the same methods and overlap significantly but while machine learning focuses on prediction based on known properties learned from the training data data mining focuses on the discovery of previously unknown properties in the data this is the analysis step of knowledge discovery in databases data mining uses many machine learning methods but with different goals on the other hand machine learning also employs data mining methods as unsupervised learning or as a preprocessing step to improve learner accuracy much of the confusion between these two research communities which do often have separate conferences and separate journals ecml pkdd being a major exception comes from the basic assumptions they work with in machine learning performance is usually evaluated with respect to the ability to reproduce known knowledge while in knowledge discovery and data mining kdd the key task is the discovery of previously unknown knowledge evaluated with respect to known knowledge an uninformed unsupervised method will easily be outperformed by other supervised methods while in a typical kdd task supervised methods cannot be used due to the unavailability of training data relation to optimization machine learning also has intimate ties to optimization many learning problems are formulated as minimization of some loss function on a training set of examples loss functions express the discrepancy between the predictions of the model being trained and the actual problem instances for example in classification one wants to assign a label to instances and models are trained to correctly predict the preassigned labels of a set of examples the difference between the two fields arises from the goal of generalization while optimization algorithms can minimize the loss on a training set machine learning is concerned with minimizing the loss on unseen samples relation to statistics machine learning and statistics are closely related fields according to michael i jordan the ideas of machine learning from methodological principles to theoretical tools have had a long prehistory in statistics leo breiman distinguished two statistical modelling paradigms data model and algorithmic model wherein algorithmic model means more or less the machine learning algorithms like random forest some statisticians have adopted methods from machine learning leading to a combined field that they call statistical learning theory computational learning theory a core objective of a learner is to generalize from its experience generalization in this context is the ability of a learning machine to perform accurately on new unseen examplestasks after having experienced a learning data set the training examples come from some generally unknown probability distribution considered representative of the space of occurrences and the learner has to build a general model about this space that enables it to produce sufficiently accurate predictions in new cases the computational analysis of machine learning algorithms and their performance is a branch of theoretical computer science known as computational learning theory because training sets are finite and the future is uncertain learning theory usually does not yield guarantees of the performance of algorithms instead probabilistic bounds on the performance are quite common the biasvariance decomposition is one way to quantify generalization error for the best performance in the context of generalization the complexity of the hypothesis should match the complexity of the function underlying the data if the hypothesis is less complex than the function then the model has underfit the data if the complexity of the model is increased in response then the training error decreases but if the hypothesis is too complex then the model is subject to overfitting and generalization will be poorer 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 results positive results show that a certain class of functions can be learned in polynomial time negative results show that certain classes cannot be learned in polynomial time approaches list of machine learning algorithms decision tree learning decision tree learning decision tree learning uses a decision tree as a predictive model which maps observations about an item to conclusions about the items target value association rule learning association rule learning association rule learning is a method for discovering interesting relations between variables in large databases artificial neural networks artificial neural network an artificial neural network ann learning algorithm usually called neural network nn is a learning algorithm that is vaguely inspired by biological neural networks computations are structured in terms of an interconnected group of artificial neurons processing information using a connectionist approach to computation modern neural networks are nonlinear statistical data modeling tools they are usually used to model complex relationships between inputs and outputs to find patterns in data or to capture the statistical structure in an unknown joint probability distribution between observed variables deep learning deep learning falling hardware prices and the development of gpus for personal use in the last few years have contributed to the development of the concept of deep learning which consists of multiple hidden layers in an artificial neural network this approach tries to model the way the human brain processes light and sound into vision and hearing some successful applications of deep learning are computer vision and speech recognition inductive logic programming inductive logic programming inductive logic programming ilp is an approach to rule learning using logic programming as a uniform representation for input 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 hypothesized logic program that entails all positive and no negative examples inductive programming is a related field that considers any kind of programming languages for representing hypotheses and not only logic programming such as functional programs support vector machines support vector machines support vector machines svms are a set of related supervised learning methods used for classification and regression 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 cluster analysis cluster analysis is the assignment of a set of observations into subsets called clusters so that observations within the same cluster are similar according to some predesignated criterion or criteria while observations drawn from different clusters are dissimilar different clustering techniques make different assumptions on the structure of the data often defined by some similarity metric and evaluated for example by internal compactness similarity between members of the same cluster and separation between different clusters other methods are based on estimated density and graph connectivity clustering is a method of unsupervised learning and a common technique for statistical data analysis bayesian networks bayesian network a 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 representation learning representation learning several learning algorithms mostly unsupervised learning algorithms aim at discovering better representations of the inputs provided during training classical examples include principal components analysis and cluster analysis representation learning algorithms often attempt to preserve the information in their input but transform it in a way that makes it useful often as a preprocessing step before performing classification or predictions allowing reconstruction of the inputs coming from the unknown data generating distribution while not being necessarily faithful for configurations that are implausible under that distribution manifold learning algorithms attempt to do so under the constraint that the learned representation is lowdimensional sparse coding algorithms attempt to do so under the constraint that the learned representation is sparse has many zeros multilinear subspace learning algorithms aim to learn lowdimensional representations directly from tensor representations for multidimensional data without reshaping them into highdimensional vectors similarity and metric learning similarity learning in this problem the learning machine is given pairs of examples that are considered similar and pairs of less similar objects it then needs to learn a similarity function or a distance metric function that can predict if new objects are similar it is sometimes used in recommendation systems sparse dictionary learning sparse dictionary learning in this method a datum is represented as a linear combination of basis functions and the coefficients are assumed to be sparse let x be a ddimensional datum d be a d by n matrix where each column of d represents a basis function r is the coefficient to represent x using d mathematically sparse dictionary learning means solving x d r displaystyle xapprox dr where r is sparse generally speaking n is assumed to be larger than d to allow the freedom for a sparse representation learning a dictionary along with sparse representations is strongly nphard and also difficult to solve approximately a popular heuristic method for sparse dictionary learning is ksvd sparse dictionary learning has been applied in several contexts in classification the problem is to determine which classes a previously unseen datum belongs to suppose a dictionary for each class has already been built then a new datum is associated with the class such that its best sparsely represented by the corresponding dictionary sparse dictionary learning has also been applied in image denoising the key idea is that a clean image patch can be sparsely represented by an image dictionary but the noise cannot genetic algorithms genetic algorithm a genetic algorithm ga is a search heuristic that mimics the process of natural selection and uses methods such as mutation and crossover to generate new genotype in the hope of finding good solutions to a given problem in machine learning genetic algorithms found some uses in the 1980s and 1990s rulebased machine learning rulebased machine learning is a general term for any machine learning method that identifies learns or evolves rules to store manipulate or apply knowledge the defining characteristic of a rulebased machine learner is the identification and utilization of a set of relational rules that collectively represent the knowledge captured by the system this is in contrast to other machine learners that commonly identify a singular model that can be universally applied to any instance in order to make a prediction rulebased machine learning approaches include learning classifier systems association rule learning and artificial immune systems learning classifier systems learning classifier system learning classifier systems lcs are a family of rulebased machine learning algorithms that combine a discovery component eg typically a genetic algorithm with a learning component performing either supervised learning reinforcement learning or unsupervised learning they seek to identify a set of contextdependent rules that collectively store and apply knowledge in a piecewise manner in order to make predictions applications applications for machine learning include agriculture automated theorem proving adaptive websites affective computing bioinformatics brainmachine interfaces cheminformatics classifying dna sequences computational anatomy computer networks telecommunication computer vision including object recognition detecting creditcard fraud general game playing information retrieval internet fraud detection computational linguistics marketing machine learning control machine perception automated medical diagnosis computational economics insurance natural language processing natural language understanding optimization and metaheuristic online advertising recommender systems robot locomotion search engines sentiment analysis or opinion mining sequence mining software engineering speech and handwriting recognition financial market analysis structural health monitoring syntactic pattern recognition time series forecasting user behavior analytics machine translation in 2006 the online movie company netflix held the first netflix prize competition to find a program to better predict user preferences and improve the accuracy on its existing cinematch movie recommendation algorithm by at least 10 a joint team made up of researchers from att labsresearch in collaboration with the teams big chaos and pragmatic theory built an ensemble model to win the grand prize in 2009 for 1million in 2010 the wall street journal wrote about the firm rebellion research and their use of machine learning to predict the financial crisis in 2012 cofounder of sun microsystems vinod khosla predicted that 80 of medical doctors jobs would be lost in the next two decades to automated machine learning medical diagnostic software in 2014 it has been reported that a machine learning algorithm has been applied in art history to study fine art paintings and that it may have revealed previously unrecognized influences between artists limitations although machine learning has been transformative in some fields effective machine learning is difficult because finding patterns is hard and often not enough training data are available as a result many machinelearning programs often fail to deliver the expected value in 2018 a selfdriving car from uber failed to detect a pedestrian who got killed in the accident bias algorithmic bias machine learning approaches in particular can suffer from different data biases a machine learning system trained on your current customers only may not be able to predict the needs of new customer groups that are not represented in the training data when trained on manmade data machine learning is likely to pick up the same constitutional and unconscious biases already present in society model assessments classification machine learning models can be validated by accuracy estimation techniques like the holdout method which splits the data in a training and test set conventionally 23 training set and 13 test set designation and evaluates the performance of the training model on the test set in comparison the nfoldcrossvalidation method randomly splits the data in k subsets where the k1 instances of the data are used to train the model while the kth instance is used to test the predictive ability of the training model in addition to the holdout and crossvalidation methods bootstrap which samples n instances with replacement from the dataset can be used to assess model accuracy in addition to overall accuracy investigators frequently report sensitivity and specificity meaning true positive rate tpr and true negative rate tnr respectively similarly investigators sometimes report the false positive rate fpr as well as the false negative rate fnr however these rates are ratios that fail to reveal their numerators and denominators the total operating characteristic toc is an effective method to express a models diagnostic ability toc shows the numerators and denominators of the previously mentioned rates thus toc provides more information than the commonly used receiver operating characteristic roc and rocs associated area under the curve auc ethics machine learning poses a host of ethical questions systems which are trained on datasets collected with biases may exhibit these biases upon use algorithmic bias thus digitizing cultural prejudices responsible collection of data and documentation of algorithmic rules used by a system thus is a critical part of machine learning because language contains biases machines trained on language corpora will necessarily also learn bias other forms of ethical challenges not related to personal biases are more seen in health care there are concerns among health care professionals that these systems might not be designed in the publics interest but as income generating machines this is especially true in the united states where there is a perpetual ethical dilemma of improving health care but also increasing profits for example the algorithms could be designed to provide patients with unnecessary tests or medication in which the algorithms proprietary owners hold stakes in there is huge potential for machine learning in health care to provide professionals a great tool to diagnose medicate and even plan recovery paths for patients but this will not happen until the personal biases mentioned previously and these greed biases are addressed software software suites containing a variety of machine learning algorithms include the following free and opensource software cntk deeplearning4j elki h2o mahout mallet mlpack mxnet opennn orange scikitlearn shogun spark mllib tensorflow torch pytorch weka moa yooreeka proprietary software with free and opensource editions knime rapidminer proprietary software amazon machine learning angoss knowledgestudio ayasdi ibm data science experience google prediction api ibm spss modeler kxen modeler lionsolver mathematica matlab microsoft azure machine learning neural designer neurosolutions oracle data mining oracle ai platform cloud service rcase sas enterprise miner sequencel splunk statistica data miner journals journal of machine learning research machine learning neural computation conferences conference on neural information processing systems international conference on machine learning artificial intelligence portal machine learning portal artificial intelligence automated machine learning automatic reasoning big data computational intelligence computational neuroscience data science deep learning ethics of artificial intelligence existential risk from advanced artificial intelligence explanationbased learning important publications in machine learning information engineering list of machine learning algorithms list of datasets for machine learning research quantum machine learning similarity learning machinelearning applications in bioinformatics nils j nilsson introduction to machine learning trevor hastie robert tibshirani and jerome h friedman 2001 the elements of statistical learning springer isbn0387952845 pedro domingos september 2015 the master algorithm basic books isbn9780465065707 ian h witten and eibe frank 2011 data mining practical machine learning tools and techniques morgan kaufmann 664pp isbn9780123748560 ethem alpaydin 2004 introduction to machine learning mit press isbn9780262012430 david j c mackay information theory inference and learning algorithms cambridge cambridge university press 2003 isbn0521642981 richard o duda peter e hart david g stork 2001 pattern classification 2nd edition wiley new york isbn0471056693 christopher bishop 1995 neural networks for pattern recognition oxford university press isbn0198538642 stuart russell peter norvig 2002 artificial intelligence a modern approach prentice hall isbn0136042597 ray solomonoff an inductive inference machine ire convention record section on information theory part 2 pp 5662 1957 ray solomonoff an inductive inference machine a privately circulated report from the 1956 dartmouth summer research conference on ai wikimedia commons has media related to machine learning international machine learning society popular online course by andrew ng at coursera it uses gnu octave the course is a free version of stanford universitys actual course taught by ng whose lectures are also available for free mloss is an academic database of opensource machine learning software machine learning crash course by google this is a free course on machine learning through the use of tensorflow machine learning with python course vtemajor fields of computer sciencenote this template roughly follows the 2012 acm computing classification systemhardware printed circuit board peripheral integrated circuit very large scale integration systems on chip socs energy consumption green computing electronic design automation hardware acceleration computer systemsorganization computer architecture embedded system realtime computing dependability networks network architecture network protocol network components network scheduler network performance evaluation network service software organization interpreter middleware virtual machine operating system software quality software notationsand tools programming paradigm programming language compiler domainspecific language modeling language software framework integrated development environment software configuration management software library software repository software development software development process requirements analysis software design software construction software deployment software maintenance programming team opensource model theory of computation model of computation formal language automata theory computational complexity theory logic semantics algorithms algorithm design analysis of algorithms algorithmic efficiency randomized algorithm computational geometry mathematicsof computing discrete mathematics probability statistics mathematical software information theory mathematical analysis numerical analysis informationsystems database management system information storage systems enterprise information system social information systems geographic information system decision support system process control system multimedia information system data mining digital library computing platform digital marketing world wide web information retrieval security cryptography formal methods security services intrusion detection system hardware security network security information security application security humancomputerinteraction interaction design social computing ubiquitous computing visualization accessibility concurrency concurrent computing parallel computing distributed computing multithreading multiprocessing artificialintelligence natural language processing knowledge representation and reasoning computer vision automated planning and scheduling search methodology control method philosophy of artificial intelligence distributed artificial intelligence machine learning supervised learning unsupervised learning reinforcement learning multitask learning crossvalidation graphics animation rendering image manipulation graphics processing unit mixed reality virtual reality image compression solid modeling appliedcomputing ecommerce enterprise software computational mathematics computational physics computational chemistry computational biology computational social science computational engineering computational healthcare digital art electronic publishing cyberwarfare electronic voting video games word processing operations research educational technology document management book category portal wikiproject commons 