changes to intro file

This commit is contained in:
mhjensen
2018-04-09 18:14:37 -04:00
parent 749c3b3d9b
commit ea1b358b2b
2 changed files with 58 additions and 30 deletions
+57 -29
View File
@@ -4,23 +4,60 @@ DATE: today
!split
===== What is Machine Learning? =====
===== Introduction =====
Add definition of definition of machine learning
Machine learning is the science of giving computers the ability to
learn without being explicitly programmed. The idea is that there
exist generic algorithms which can be used to find patterns in a broad
class of data sets without having to write code specifically for each
problem. The algorithm will build its own logic based on the data.
Statistics, data science and machine learning form important fields of
research in modern science. They describe how to learn and make
predictions from data, as well allowing us to extract inportant
correlations about physical process and the underlying laws of motion
in large data sets. The latter, big data sets, is now more and more
frequent in essentially all disciplines, from the traditional Science,
Technology, Mathematics and Engineering fields to the Humanities and
the Social Sciences. It has become more and more common to see
research projects on big data in for example the Social
Sciences. Having a solid grasp of data analysis and machine learning
is thus becoming central to scientific computing in many
fields. Competences and skills within the fields of machine learning
and scientific computing are nowadays strongly requested by many
potential employers. The latter cannot be overstated, familiarity with
machine learning has almost become a prerequisite for many of the most
exciting employment opportunities, whether they are in bioinformatics,
life science, physics or finance, in the private or the public
sector. This author has had several students or met students who have
been hired recently based on their skills and competences in
scientific computing and data science, often with marginal knowledge
of machine learning.
Machine learning is a subfield of computer science, and is closely
related to computational statistics. It evolved from the study of
pattern recognition in artificial intelligence (AI) research, and has
made contributions to AI tasks like computer vision, natural language
processing and speech recognition. It has also, especially in later
years, found applications in a wide variety of other areas, including
bioinformatics, economy, physics, finance and marketing.
processing and speech recognition.
Machine learning represents the
science of giving computers the ability to learn without being
explicitly programmed. The idea is that there exist generic
algorithms which can be used to find patterns in a broad class of data
sets without having to write code specifically for each problem. The
algorithm will build its own logic based on the data.
Machine learning is an extremely rich field, in spite of its age. The
increases we have seen during the last three decades in computational
capabilities have been followed by a large development in methods and
techniques for analyzing and handling large date sets, relying heavily
on statistics, computer science and mathematics. The field is rather
new and developing rapidly. Popular software packages written in
Python for machine learning like _Scikit-learn, Tensorflow and
PyTorch_, all freely available at their respective GitHub sites,
encompass communities of developers in the thousands. And the number
of code developers and contributors keep increasing. Not all the
algorithms and methods can be given a rigorous mathematical
justification, opening up thereby large rooms for experimenting
and trial and error. However, a solid command of linear algebra, multivariate theory,
probability theory, statistical data analysis,
understanding errors and Monte Carlo methods are central elements in a proper understanding of many of
algorithms and methods we will discuss.
!split
===== Types of Machine Learning =====
@@ -31,7 +68,7 @@ In *supervised learning* we know the answer to a problem,
and let the computer deduce the logic behind it. On the other hand, *unsupervised learning*
is a method for finding patterns and relationship in data sets without any prior knowledge of the system.
Some authours also operate with a third category, namely *reinforcement learning*. This is a paradigm
of learning inspired by behavioural psychology, where learning is achieved by trial-and-error,
of learning inspired by behavioral psychology, where learning is achieved by trial-and-error,
solely from rewards and punishment.
Another way to categorize machine learning tasks is to consider the desired output of a system.
@@ -46,15 +83,19 @@ Some of the most common tasks are:
!split
===== Different algorithms =====
In this course we will build our machine learning approach on a statistical foundation, with elements
The methods we cover have three main topics in common, irrespective of whether we deal with supervised or unsupervised learning. The first ingredient is normally our data set, the second is a model which is normally a function of some parameters. The last ingredient is a so-called _cost_ function which allows us to present an estimate on how good our model is in reproducing the data it is supposed to train.
In this series of lectures we will build our machine learning approach on a statistical foundation, with elements
from data analysis, stochastic processes etc before we proceed with the following machine learning algorithms
o Linear regression and its variants
o Linear regression and its variants, in essence polynomial regression
o Decision tree algorithms, from simpler to more complex ones
o Nearest neighbors models
o Bayesian statistics
o Bayesian statistics and regression
o Support vector machines and finally various variants of
o Artifical neural networks
o Artifical neural networks and deep learning
Before we proceed however, there are several practicalities with data analysis and software tools we would
like to present. These tools will help us in our understanding of various machine learning algorithms.
@@ -1368,16 +1409,3 @@ p_{ij} \propto \vert m_i-m_j\vert^{-\alpha}\left(c_{ij}+1\right)^{\gamma},
!et
where $c_{ij}$ represents the number of previous interactions that have taken place between $i$ and $j$. The factor $1$ is added in order to ensure that if they have not interacted earlier they can still interact. Perform similar studies as above with $N=1000$, $\alpha=1.0$ and $\alpha=2.0$ using $\gamma = 0.0, 1.0, 2.0, 3.0$ and $4.0$. Plot the wealth distributions for these cases and try to extract eventual power law tails with and without a saving $\lambda$ in each transaction. Comment your results and compare them with figures 5 and 6 of "Goswami and Sen":"http://www.sciencedirect.com/science/article/pii/S0378437114006967".
Finally, (this part is optional) if you have time, which features would you add to these models in order to make them even more realistic?
===== Background literature =====
* "V. Pareto, Cours d'economie politique, Lausanne, 1897":"http://www.institutcoppet.org/2012/05/08/cours-deconomie-politique-1896-de-vilfredo-pareto".
* "M. Patriarca, A. Chakraborti, K. Kaski, Physica A _340_, 334 (2004)":"http://www.sciencedirect.com/science/article/pii/S0378437104004327".
* "S. Goswami and P. Sen, Physica A _415_, 514 (2014)":"http://www.sciencedirect.com/science/article/pii/S0378437114006967".
+1 -1
View File
@@ -44,7 +44,7 @@ system doconce split_html $html.html --method=space10
# Bootstrap style
html=${name}-bs
system doconce format html $name --html_style=bootstrap --pygments_html_style=default --html_admon=bootstrap_panel --html_output=$html $opt
system doconce split_html $html.html --method=split --pagination --nav_button=bottom
#system doconce split_html $html.html --method=split --pagination --nav_button=bottom
# IPython notebook
system doconce format ipynb $name $opt