525 lines
18 KiB
HTML
525 lines
18 KiB
HTML
\
|
|
<!DOCTYPE html>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="generator" content="DocOnce: https://github.com/hplgit/doconce/" />
|
|
<meta name="description" content="Applied Data Analysis and Machine Learning: Introduction to the course">
|
|
|
|
<title>Applied Data Analysis and Machine Learning: Introduction to the course</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- reveal.js: http://lab.hakim.se/reveal-js/ -->
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
|
|
|
|
<link rel="stylesheet" href="reveal.js/css/reveal.css">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/beige.css" id="theme">
|
|
<!--
|
|
<link rel="stylesheet" href="reveal.js/css/reveal.css">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/beige.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/beigesmall.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/solarized.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/serif.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/night.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/moon.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/sky.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/darkgray.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/default.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/cbc.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/simula.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/black.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/white.css" id="theme">
|
|
<link rel="stylesheet" href="reveal.js/css/theme/league.css" id="theme">
|
|
-->
|
|
|
|
<!-- For syntax highlighting -->
|
|
<link rel="stylesheet" href="reveal.js/lib/css/zenburn.css">
|
|
|
|
<!-- Printing and PDF exports -->
|
|
<script>
|
|
var link = document.createElement( 'link' );
|
|
link.rel = 'stylesheet';
|
|
link.type = 'text/css';
|
|
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
|
|
document.getElementsByTagName( 'head' )[0].appendChild( link );
|
|
</script>
|
|
|
|
<style type="text/css">
|
|
hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
|
|
p.caption { width: 80%; font-size: 60%; font-style: italic; text-align: left; }
|
|
hr.figure { border: 0; width: 80%; border-bottom: 1px solid #aaa}
|
|
.reveal .alert-text-small { font-size: 80%; }
|
|
.reveal .alert-text-large { font-size: 130%; }
|
|
.reveal .alert-text-normal { font-size: 90%; }
|
|
.reveal .alert {
|
|
padding:8px 35px 8px 14px; margin-bottom:18px;
|
|
text-shadow:0 1px 0 rgba(255,255,255,0.5);
|
|
border:5px solid #bababa;
|
|
-webkit-border-radius: 14px; -moz-border-radius: 14px;
|
|
border-radius:14px;
|
|
background-position: 10px 10px;
|
|
background-repeat: no-repeat;
|
|
background-size: 38px;
|
|
padding-left: 30px; /* 55px; if icon */
|
|
}
|
|
.reveal .alert-block {padding-top:14px; padding-bottom:14px}
|
|
.reveal .alert-block > p, .alert-block > ul {margin-bottom:1em}
|
|
/*.reveal .alert li {margin-top: 1em}*/
|
|
.reveal .alert-block p+p {margin-top:5px}
|
|
/*.reveal .alert-notice { background-image: url(http://hplgit.github.io/doconce/bundled/html_images/small_gray_notice.png); }
|
|
.reveal .alert-summary { background-image:url(http://hplgit.github.io/doconce/bundled/html_images/small_gray_summary.png); }
|
|
.reveal .alert-warning { background-image: url(http://hplgit.github.io/doconce/bundled/html_images/small_gray_warning.png); }
|
|
.reveal .alert-question {background-image:url(http://hplgit.github.io/doconce/bundled/html_images/small_gray_question.png); } */
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<!-- Styles for table layout of slides -->
|
|
<style type="text/css">
|
|
td.padding {
|
|
padding-top:20px;
|
|
padding-bottom:20px;
|
|
padding-right:50px;
|
|
padding-left:50px;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<div class="reveal">
|
|
|
|
<!-- Any section element inside the <div class="slides"> container
|
|
is displayed as a slide -->
|
|
|
|
<div class="slides">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
<!-- ------------------- main content ---------------------- -->
|
|
|
|
|
|
|
|
<center><h1 style="text-align: center;">Applied Data Analysis and Machine Learning: Introduction to the course</h1></center> <!-- document title -->
|
|
|
|
<p>
|
|
<!-- author(s): Morten Hjorth-Jensen -->
|
|
|
|
<center>
|
|
<b>Morten Hjorth-Jensen</b> [1, 2]
|
|
</center>
|
|
|
|
<p> <br>
|
|
<!-- institution(s) -->
|
|
|
|
<center>[1] <b>Department of Physics, University of Oslo</b></center>
|
|
<center>[2] <b>Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University</b></center>
|
|
<br>
|
|
<p> <br>
|
|
<center><h4>Aug 23, 2018</h4></center> <!-- date -->
|
|
<br>
|
|
<p>
|
|
|
|
<center style="font-size:80%">
|
|
<!-- copyright --> © 1999-2018, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
|
|
</center>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec0">Overview of first week </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<ul>
|
|
|
|
<p><li> Thursday: First lecture: Presentation of the course, aims and content</li>
|
|
|
|
<p><li> Thursday: Second Lecture: Start with simple linear regression and repetition of linear algebra</li>
|
|
|
|
<p><li> Friday: Linear regression</li>
|
|
|
|
<p><li> Computer lab: Wednesday. First time: Wednesday August 29.</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec1">Reading suggestions and exercises </h2>
|
|
|
|
<p>
|
|
The recommended textbooks
|
|
|
|
<ul>
|
|
<p><li> HTF: <a href="https://www.springer.com/gp/book/9780387848570" target="_blank">Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer</a></li>
|
|
<p><li> AG: <a href="http://shop.oreilly.com/product/0636920052289.do" target="_blank">Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly</a></li>
|
|
</ul>
|
|
<p>
|
|
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<ul>
|
|
|
|
<p><li> HTF chapters 1-3 and <a href="https://compphysics.github.io/MachineLearning/doc/pub/Regression/html/Regression-bs.html" target="_blank">lecture notes</a></li>
|
|
|
|
<p><li> AG chapters 1 and 2</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec2">Lectures and ComputerLab </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<ul>
|
|
|
|
<p><li> Lectures: Thursday (12.15pm-2pm) and Friday (12.15pm-2pm).</li>
|
|
|
|
<p><li> Weekly reading assignments needed to solve projects.</li>
|
|
|
|
<p><li> First hour of each lab session may be used to discuss technicalities, address questions etc linked with projects.</li>
|
|
|
|
<p><li> Detailed lecture notes, exercises, all programs presented, projects etc can be found at the homepage of the course.</li>
|
|
|
|
<p><li> Computerlab: Wednesday (10am-6pm), room FV329, four groups (10am-12pm, 12pm-2pm, 2pm-4pm, 4pm-6pm).</li>
|
|
|
|
<p><li> Weekly plans and all other information are on the official webpage.</li>
|
|
|
|
<p><li> No final exam, three projects that are graded and have to be approved.</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec3">Course Format </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<ul>
|
|
|
|
<p><li> Three compulsory projects. Electronic reports only using <a href="https://devilry.ifi.uio.no/" target="_blank">devilry</a> to hand in projects and <a href="https://github.com/" target="_blank">Git</a> for repository and all your material.</li>
|
|
|
|
<p><li> Evaluation and grading: The three projects are graded and each counts 1/3 of the final mark. No final written or oral exam.</li>
|
|
|
|
<p><li> The last project is organized as a workshop (duration approx 5-6 hours toward the end of the semester) where each group submits a proposal for a data sets to be analyzed with the different methods discussed during the course.
|
|
|
|
<ol type="a"></li>
|
|
|
|
<p><li> Each group submits a proposal or works with suggested (by us) proposals for the project.</li>
|
|
|
|
<p><li> Each group makes a poster and presents this to all other participants of the course</li>
|
|
|
|
<p><li> Poster session where all participants can study and discuss the other proposals (the three best posters get additional score)</li>
|
|
|
|
<p><li> Based on feedback etc, each group finalizes the report and submits for grading.</li>
|
|
</ol>
|
|
<p><li> The computer lab (room FV329)consists of 16 Linux PCs, but many prefer own laptops. Python is the default programming language, but feel free to use C/C++ and/or Fortran. All source codes discussed during the lectures can be found at the webpage and <a href="https://github.com/CompPhysics/MachineLearning/tree/master/doc/Programs" target="_blank">github address</a> of the course.</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec4">Teachers and ComputerLab </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<p>
|
|
<b>Teachers :</b>
|
|
|
|
<ol>
|
|
<p><li> <a href="https://www.mn.uio.no/ifi/english/?vrtx=person-view&uid=krisbhei" target="_blank">Kristine B. Heine</a></li>
|
|
<p><li> <a href="http://mhjgit.github.io/info/doc/web/" target="_blank">Morten Hjorth-Jensen</a></li>
|
|
<p><li> <a href="https://www.mn.uio.no/fysikk/english/?vrtx=person-view&uid=bendiksa" target="_blank">Bendik Samseth</a></li>
|
|
<p><li> <a href="https://www.mn.uio.no/fysikk/english/?vrtx=person-view&uid=oyvinssc" target="_blank">Øyvind Sigmundson Schøyen</a></li>
|
|
</ol>
|
|
<p>
|
|
|
|
<table border="1">
|
|
<thead>
|
|
<tr><th align="center"> day </th> <th align="center"> Time </th> </tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td align="center"> Group 1: Wednesday </td> <td align="center"> 10am-12pm </td> </tr>
|
|
<tr><td align="center"> Group 2: Wednesday </td> <td align="center"> 12pm-2pm </td> </tr>
|
|
<tr><td align="center"> Group 3: Wednesday </td> <td align="center"> 2pm-4pm </td> </tr>
|
|
<tr><td align="center"> Group 4: Wednesday </td> <td align="center"> 4pm-6pm </td> </tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec5">Deadlines for projects (end of day) </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<ol>
|
|
<p><li> Project 1: October 1 (graded with feedback)</li>
|
|
<p><li> Project 2: November 5 (graded with feedback)</li>
|
|
<p><li> Project 3: November 30, tentative (graded with feedback)</li>
|
|
</ol>
|
|
<p>
|
|
|
|
Projects are handed in using devilry.ifi.uio.no. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via devilry.
|
|
|
|
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec6">Learning outcomes </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<p>
|
|
The course introduces a variety of central algorithms and methods essential for studies of data analysis and machine learning. The course is project based and through the various projects, normally three, you will be exposed 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, after this course you will
|
|
|
|
<ul>
|
|
<p><li> Learn about basic data analysis, Bayesian statistics, Monte Carlo methods, data optimization and machine learning;</li>
|
|
<p><li> Be capable of extending the acquired knowledge to other systems and cases;</li>
|
|
<p><li> Have an understanding of central algorithms used in data analysis and machine learning;</li>
|
|
<p><li> 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;</li>
|
|
<p><li> Understand linear methods for regression and classification;</li>
|
|
<p><li> Learn about neural network, genetic algorithms and Boltzmann machines;</li>
|
|
<p><li> 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++.</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec7">Topics covered in this course: Statistical analysis and optimization of data </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<p>
|
|
The following topics will be covered
|
|
|
|
<ul>
|
|
<p><li> Basic concepts, expectation values, variance, covariance, correlation functions and errors;</li>
|
|
<p><li> Simpler models, binomial distribution, the Poisson distribution, simple and multivariate normal distributions;</li>
|
|
<p><li> Central elements of Bayesian statistics and modeling;</li>
|
|
<p><li> Central elements from linear algebra</li>
|
|
<p><li> Cubic splines and gradient methods for data optimization</li>
|
|
<p><li> Monte Carlo methods, Markov chains, Metropolis-Hastings algorithm, ergodicity;</li>
|
|
<p><li> Linear methods for regression and classification;</li>
|
|
<p><li> Estimation of errors using blocking, bootstrapping and jackknife methods;</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec8">Topics covered in this course: Machine Learning </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b></b>
|
|
<ul>
|
|
<p><li> Linear and non-linear regression</li>
|
|
<p><li> Gaussian and Dirichlet processes;</li>
|
|
<p><li> Boltzmann machines;</li>
|
|
<p><li> Neural networks;</li>
|
|
<p><li> Decisions trees and nearest neighbor algorithms</li>
|
|
<p><li> Support vector machines</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h2 id="___sec9">Extremely useful tools, strongly recommended </h2>
|
|
|
|
<p>
|
|
<div class="alert alert-block alert-block alert-text-normal">
|
|
<b>and discussed at the lab sessions.</b>
|
|
<ul>
|
|
|
|
<p><li> GIT for version control (see webpage)</li>
|
|
|
|
<p><li> ipython/jupyter notebook</li>
|
|
|
|
<p><li> Devilry for handing in projects, next week</li>
|
|
|
|
<p><li> Anaconda and other Python environments</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
|
|
</div> <!-- class="slides" -->
|
|
</div> <!-- class="reveal" -->
|
|
|
|
<script src="reveal.js/lib/js/head.min.js"></script>
|
|
<script src="reveal.js/js/reveal.js"></script>
|
|
|
|
<script>
|
|
// Full list of configuration options available here:
|
|
// https://github.com/hakimel/reveal.js#configuration
|
|
Reveal.initialize({
|
|
|
|
// Display navigation controls in the bottom right corner
|
|
controls: true,
|
|
|
|
// Display progress bar (below the horiz. slider)
|
|
progress: true,
|
|
|
|
// Display the page number of the current slide
|
|
slideNumber: true,
|
|
|
|
// Push each slide change to the browser history
|
|
history: false,
|
|
|
|
// Enable keyboard shortcuts for navigation
|
|
keyboard: true,
|
|
|
|
// Enable the slide overview mode
|
|
overview: true,
|
|
|
|
// Vertical centering of slides
|
|
//center: true,
|
|
center: false,
|
|
|
|
// Enables touch navigation on devices with touch input
|
|
touch: true,
|
|
|
|
// Loop the presentation
|
|
loop: false,
|
|
|
|
// Change the presentation direction to be RTL
|
|
rtl: false,
|
|
|
|
// Turns fragments on and off globally
|
|
fragments: true,
|
|
|
|
// Flags if the presentation is running in an embedded mode,
|
|
// i.e. contained within a limited portion of the screen
|
|
embedded: false,
|
|
|
|
// Number of milliseconds between automatically proceeding to the
|
|
// next slide, disabled when set to 0, this value can be overwritten
|
|
// by using a data-autoslide attribute on your slides
|
|
autoSlide: 0,
|
|
|
|
// Stop auto-sliding after user input
|
|
autoSlideStoppable: true,
|
|
|
|
// Enable slide navigation via mouse wheel
|
|
mouseWheel: false,
|
|
|
|
// Hides the address bar on mobile devices
|
|
hideAddressBar: true,
|
|
|
|
// Opens links in an iframe preview overlay
|
|
previewLinks: false,
|
|
|
|
// Transition style
|
|
transition: 'default', // default/cube/page/concave/zoom/linear/fade/none
|
|
|
|
// Transition speed
|
|
transitionSpeed: 'default', // default/fast/slow
|
|
|
|
// Transition style for full page slide backgrounds
|
|
backgroundTransition: 'default', // default/none/slide/concave/convex/zoom
|
|
|
|
// Number of slides away from the current that are visible
|
|
viewDistance: 3,
|
|
|
|
// Parallax background image
|
|
//parallaxBackgroundImage: '', // e.g. "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'"
|
|
|
|
// Parallax background size
|
|
//parallaxBackgroundSize: '' // CSS syntax, e.g. "2100px 900px"
|
|
|
|
theme: Reveal.getQueryHash().theme, // available themes are in reveal.js/css/theme
|
|
transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/none
|
|
|
|
});
|
|
|
|
Reveal.initialize({
|
|
dependencies: [
|
|
// Cross-browser shim that fully implements classList - https://github.com/eligrey/classList.js/
|
|
{ src: 'reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } },
|
|
|
|
// Interpret Markdown in <section> elements
|
|
{ src: 'reveal.js/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
|
{ src: 'reveal.js/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
|
|
|
// Syntax highlight for <code> elements
|
|
{ src: 'reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
|
|
|
|
// Zoom in and out with Alt+click
|
|
{ src: 'reveal.js/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
|
|
|
|
// Speaker notes
|
|
{ src: 'reveal.js/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
|
|
|
|
// Remote control your reveal.js presentation using a touch device
|
|
//{ src: 'reveal.js/plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } },
|
|
|
|
// MathJax
|
|
//{ src: 'reveal.js/plugin/math/math.js', async: true }
|
|
]
|
|
});
|
|
|
|
Reveal.initialize({
|
|
|
|
// The "normal" size of the presentation, aspect ratio will be preserved
|
|
// when the presentation is scaled to fit different resolutions. Can be
|
|
// specified using percentage units.
|
|
width: 1170, // original: 960,
|
|
height: 700,
|
|
|
|
// Factor of the display size that should remain empty around the content
|
|
margin: 0.1,
|
|
|
|
// Bounds for smallest/largest possible scale to apply to content
|
|
minScale: 0.2,
|
|
maxScale: 1.0
|
|
|
|
});
|
|
</script>
|
|
|
|
<!-- begin footer logo
|
|
<div style="position: absolute; bottom: 0px; left: 0; margin-left: 0px">
|
|
<img src="somelogo.png">
|
|
</div>
|
|
end footer logo -->
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|