Updating intro file

This commit is contained in:
mhjensen
2018-04-10 13:44:39 -04:00
parent ea1b358b2b
commit 1b5a963768
+74 -23
View File
@@ -8,16 +8,18 @@ DATE: today
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
predictions from data, as well allowing us to extract important
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
in large data sets. The latter, big data sets, appear
frequently in essentially all disciplines, from the traditional Science,
Technology, Mathematics and Engineering fields to Life Science, Law, education research,
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
Sciences where extracting patterns from complicated survey data is one of many research directions.
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
fields, and 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
@@ -40,23 +42,74 @@ 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
Machine learning is an extremely rich field, in spite of its young age. The
increases we have seen during the last three decades in computational
capabilities have been followed by a large development in methods and
capabilities have been followed by developments of 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
Python for machine learning like "Scikit-learn":"http://scikit-learn.org/stable/", "Tensorflow":"https://www.tensorflow.org/",
"PyTorch":"http://pytorch.org/" and "Keras":"https://keras.io/", all freely available at their respective GitHub sites,
encompass communities of developers in the thousands or more. And the number
of code developers and contributors keeps 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,
and trial and error and thereby exciting new developments.
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
===== Learning outcomes =====
These lectures aim at giving you an overview of central aspects of
statistical data analysis as well as some of the central algorithms
used in machine learning. We will introduce a variety of central
algorithms and methods essential for studies of data analysis and
machine learning.
Hands-on projects and experimenting with data and algorithms plays a central role in
these lectures, and our hope is, through the various
projects and exercies, to expose you to fundamental
research problems in these fields, with the aim to reproduce state of
the art scientific results. You will learn to develop and
structure large codes for studying these systems, get acquainted with
computing facilities and learn to handle large scientific projects. A
good scientific and ethical conduct is emphasized throughout the
course. More specifically, you will
o learn about basic data analysis, Bayesian statistics, Monte Carlo methods, data optimization and machine learning;
o be capable of extending the acquired knowledge to other systems and cases;
o Have an understanding of central algorithms used in data analysis and machine learning;
o Gain knowledge of central aspects of Monte Carlo methods, Markov chains, Gibbs samplers and their possible applications, from numerical integration to simulation of stock markets;
o Understand methods for regression and classification;
o Learn about neural network, genetic algorithms and Boltzmann machines;
o Work on numerical projects to illustrate the theory. The projects play a central role and you are expected to know modern programming languages like Python or C++, in addition to a basic knowledge of linear algebra (typically taught during the first one or two years of undergraduate studies).
There are several topics we will cover here, spanning from a
statistical data analysis and its basic concepts such expectation
values, variance, covariance, correlation functions and errors, via
well-known probability distribution functions like uniform
distribution, the binomial distribution, the Poisson distribution and
simple and multivariate normal distributions to central elements of
Bayesian statistics and modeling. We will also remind the reader about
central elements from linear algebra and standard methods based on
linear algebra used to fit functions such Cubic splines and gradient
methods for data optimization and the Singular-value decomposition and
least square methods for parameterizing data.
We will also cover Monte Carlo methods, Markov chains, well-known
algorithms for sampling stochastic events like the Metropolis-Hastings
and Gibbs sampling methods. An important aspect of all our
calculations is a proper estimation of errors. Here we will also
discuss famous resampling techniques like the blocking, bootstrapping
and jackknife methods.
The second part of the material covers several algorithms used in machine learning.
!split
@@ -86,8 +139,9 @@ Some of the most common tasks are:
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
Here we will build our machine learning approach on elements of the statistical foundation discussed above,
with elements
from data analysis, stochastic processes etc. We will discuss the following machine learning algorithms
o Linear regression and its variants, in essence polynomial regression
o Decision tree algorithms, from simpler to more complex ones
@@ -101,8 +155,8 @@ Before we proceed however, there are several practicalities with data analysis a
like to present. These tools will help us in our understanding of various machine learning algorithms.
Our emphasis here is on understanding the mathematical aspects of different algorithms, however, where possible
we will emphasize the importance of using available software.
we will emphasize the importance of using available software. We start thus with a hands-on and top-down approach machine learning. The aim is thus to start with relevant data and use these to introduce statistical data analysis concepts
and machine learning algorithms before we delve into the algorithms themselves.
!split
===== Software and needed installations =====
@@ -148,7 +202,7 @@ To install _R_ with Jupyter notebook "following the link here":"https://mpacer.o
===== Installing R, C++, cython or Julia =====
For the C++ affecianodas, Jupyter/IPython notebook allows you also to install C++ and run codes written in this language
For the C++ aficionados, Jupyter/IPython notebook allows you also to install C++ and run codes written in this language
interactively in the browser. Since we will emphasize writing many of the algorithms yourself, you can thus opt for
either Python or C++ as programming languages.
@@ -1246,8 +1300,8 @@ point of attacks ($T_i$) - with proper values humans beat the zombies!
===== Theoretical background and description of the system =====
!split
===== Simulating financial transcations =====
The aim of this project is to simulate financial transactions among financial agents
using Monte Carlo methods. The final goal is to extract a distribution of income as function
@@ -1333,7 +1387,6 @@ Make thereafter a plot of $\log{(w_m)}$ as function of $m$
and see if you get a straight line.
Comment the result.
=== Project 4c): Transactions and savings ===
We can then change our model to allow for a saving criterion, meaning that the agents save
a fraction $\lambda$ of the money they have before the transaction is made. The final distribution will then no longer be given by Gibbs distribution. It could also include a taxation on financial transactions.
@@ -1378,7 +1431,6 @@ We can then change our model to allow for a saving criterion, meaning that the a
equilibrium distributions and compare these with the Gibbs distribution. Comment your results.
Extract a parametrization of the above curves, see for example "Patriarca and collaborators":"http://www.sciencedirect.com/science/article/pii/S0378437104004327" and see if you can parametrize the high-end tails of the distributions in terms of power laws. Comment your results.
=== Project 4d): Nearest neighbor interactions ===
In the rest of this project we will follow the work of "Goswami and Sen":"http://www.sciencedirect.com/science/article/pii/S0378437114006967".
In the studies above the agents were selected randomly, irrespective of whether we allowed for
saving or not during a transaction. What is often observed is that various agents tend to make preferences for for whom to interact with. We will now study the evolution of the distribution of wealth $w_m$ by assuming that there is a likelihood
@@ -1399,7 +1451,6 @@ w_m\propto m^{-1-\alpha}.
What happens if $\alpha \gg 1$?
Perform the analysis with and without a saving $\lambda$ on each transaction and comment your results.
=== Project 4e): Nearest neighbors and former transactions ===
We add to the previous probability the possibility that two agents who interact have performed similar transactions earlier. That is, in addition to being financially close, we assume that the likelihood for interacting increases if two agents have interacted earlier.
We add this feature by modifying the previous likelihood to
!bt