Machine learning

cosmos 10th April 2019 at 11:04am
Artificial intelligence Computer Science and IT Data science Learning

aka statistical learning

A part of Artificial intelligence that uses many methods from Computer science to Statistics to create automated (machine) learners: systems that can extract Knowledge and insight from Information and data.

https://paperswithcode.com/sota

http://bit.do/oxtorch. – http://ml4a.github.io/guides/https://developers.google.com/machine-learning/crash-course/

Good discussion panel on current ML research (2017)https://blog.google/topics/machine-learning/introducing-machine-learning-practica/

Book recommendationsanother list

Building Machine Learning Systems with PythonMachine learning in MatlabLecture list of Andrew's course:lecture notesAndrew Ng machine learning course https://www.youtube.com/watch?v=UzxYlbK2c7E . On lecture 2Machine Learning - mathematicalmonkMachine Learning: A Probabilistic Perspective and hereMachine Learning: Discriminative and Generative (The Springer International Series in Engineering and Computer Science)

Pedro Domingos: "The Master Algorithm" Talks at Google. Grand unified theory of learning?

Machine Learning with Python

Supervised vs unsupervised

http://www.r2d3.us/visual-intro-to-machine-learning-part-1/

No free lunch theorem

lecture seriesanother one, focusing on theory

Searching programs by Wolfram

Inductive logic programming

Design factors in machine learning


Parametric vs non-parametric approaches

Parametric approaches start with a model, with a fixed number of parameters, like

and a learning algorithm to find best parameters for the data. See Learning theory

Nonparametric approaches define a method which defines a function. They can be seen as models with variable number of parameters. Some examples are:

++Often in machine learning, we assume the observations are independent, but we can also treat non-independent with sequence learning

Deep learning

New paradigm, in which we try to learn as much as possible from features to classification, by using deep models.

Supervised learning

Training data consisting on inputs and outputs. Want to find function relating inputs to outputs, to then be able to predict new outputs from new inputs. This problem is thus formalized as function approximation.

Two main types:

Unsupervised learning

Actually, I think unsupervised learning is the most general. After all, supervised learning can be seen as a special case of unsupervised learning, where the data points are pairs (x,y)(x,y), and we want to find a function so that the data can be modeled as (x,f(x))(x, f(x)) as well as possible; no need to interpret this as "supervising", but can instead interpret it as "finding structure".

–> Well, actually: I think the distinction is that in unsupervised learning, your training and test data has the same form, while in supervised learning, your training and test data are different (training is labelled, and test isn't)

Intro by Andrew Ng

Variations on supervised and unsupervised learning

Variations on supervised and unsupervised

Semi-supervised learning

You are given a set of inputs xx, but you only have the corresponding outputs yy for some. You have to predict the yy for the rest (by learning the function y(x)y(x) for instance, like in Supervised learning.

Active learning

Like semi-supervised learning but the algorithm can ask for extra data, which it deems to be the most useful data to ask for.

Decision-theoretic learning

Basically loss-functions/costs used by the learning agent are based on Decision theory. See example here.

Incremental learning

Incremental learning is a machine learning paradigm where the learning process takes place whenever new example(s) emerge and adjusts what has been learned according to the new example(s).

Related: Transfer learning

Matrix completion

Inferring values of missing entries in data

Types of teachers in learning

Reinforcement learning

To me it seems like the difference with supervised learning, is that you don't specify input, output pairs, but just outputs. You specify desired outputs, and undesired outputs. There is no input, but still the problem is not just trivial (i.e. it only ever produces one output), because the model is probabilistic.

Sequence of decisions

Reward function

Used often in robotics.

Learning theory and learning algorithms

See Computational learning theory

The theory and algorithms for learning.

Probabilistic models

Models for Probability distributions. These models relate Random variables, using some more or less general assumptions about the nature of the data.

Graphical model

Artificial neural network

Energy-based model

Many other models used in different areas of machine learning.

Bayesian inferential statistics

Good framework: Stan

Symbolic machine learning

Other forms of Artificial intelligence, particularly symbolist AI, can be useful for machine learning

Promising approaches combine several of the paradigms: Integrating symbols into deep learning

Learning as the inverse of deduction, going from instances to generals. see vid


Mathematics of machine learning


Applications

See more in Machine learning in science and engineering, and Applications of AI.


Lectures on theoretical foundations of data science

Try Torch:

See https://www.youtube.com/watch?v=DHspIG64CVM#t=45m40s

http://www.robots.ox.ac.uk/~az/lectures/index.html

https://www2.eecs.berkeley.edu/Faculty/Homepages/jordan.html

https://www.wikiwand.com/en/Transduction_(machine_learning)

Good collection of tutorials https://medium.com/machine-learning-in-practice/over-200-of-the-best-machine-learning-nlp-and-python-tutorials-2018-edition-dd8cf53cb7dc