From 34fb6d4b3855e66f7a14ef9236b350e1818b9261 Mon Sep 17 00:00:00 2001 From: mhjensen Date: Mon, 6 Aug 2018 16:05:08 +0200 Subject: [PATCH] Update on projects and schedule (not yet finished) --- .../2018/Project1/html/Project1-bs.html | 242 ++++++++ doc/Projects/2018/Project1/html/Project1.html | 186 ++++++ .../Project1/ipynb/ipynb-Project1-src.tar.gz | Bin 0 -> 210 bytes doc/Projects/2018/Project1/pdf/Project1.p.tex | 277 +++++++++ doc/Projects/2018/Project1/pdf/Project1.pdf | Bin 0 -> 177657 bytes doc/Projects/2018/Project1/pdf/Project1.tex | 249 ++++++++ .../Projects/2018/Project1/Project1.do.txt | 100 ++++ doc/src/Projects/2018/Project1/clean.sh | 3 + doc/src/Projects/2018/Project1/make.sh | 79 +++ doc/src/Splines/GradientMethods.ipynb | 540 ++++++++++++++++++ doc/web/course.do.txt | 70 ++- doc/web/course.html | 112 +++- 12 files changed, 1825 insertions(+), 33 deletions(-) create mode 100644 doc/Projects/2018/Project1/html/Project1-bs.html create mode 100644 doc/Projects/2018/Project1/html/Project1.html create mode 100644 doc/Projects/2018/Project1/ipynb/ipynb-Project1-src.tar.gz create mode 100644 doc/Projects/2018/Project1/pdf/Project1.p.tex create mode 100644 doc/Projects/2018/Project1/pdf/Project1.pdf create mode 100644 doc/Projects/2018/Project1/pdf/Project1.tex create mode 100644 doc/src/Projects/2018/Project1/Project1.do.txt create mode 100755 doc/src/Projects/2018/Project1/clean.sh create mode 100755 doc/src/Projects/2018/Project1/make.sh create mode 100644 doc/src/Splines/GradientMethods.ipynb diff --git a/doc/Projects/2018/Project1/html/Project1-bs.html b/doc/Projects/2018/Project1/html/Project1-bs.html new file mode 100644 index 000000000..7084beb83 --- /dev/null +++ b/doc/Projects/2018/Project1/html/Project1-bs.html @@ -0,0 +1,242 @@ + + + + + + + +Project 1 on Machine Learning, deadline October 1 + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + + + +
+

Project 1 on Machine Learning, deadline October 1

+ +

+ + +

+Data Analysis and Machine Learning FYS-STK3155/FYS4155 +
+ +

+ + +

Department of Physics, University of Oslo, Norway
+
+

+

May 2018

+
+

+

+ +

Regression analysis and classification

+ +

Introduction

+ +

Part a): The data

+ +

Background literature

+ +

Introduction to numerical projects

+ +

+Here follows a brief recipe and recommendation on how to write a report for each +project. + +

+ +

Format for electronic delivery of report and programs

+ +

+The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + +

+ +Finally, +we encourage you to work two and two together. Optimal working groups consist of +2-3 students. You can then hand in a common report. + +

Software and needed installations

+ +

+If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via pip as + +

    +
  1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
  2. +
+ +For Python3, replace pip with pip3. + +

+See below for a discussion of tensorflow and scikit-learn. + +

+For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +for a seamless installation of additional software via for example + +

    +
  1. brew install python3
  2. +
+ +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use pip as well and simply install Python as + +
    +
  1. sudo apt-get install python3 (or python for python2.7)
  2. +
+ +etc etc. + +

+If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely + +

    +
  1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
  2. +
  3. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
  4. +
+ +Popular software packages written in Python for ML are + + + +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + +

+ +

+ + +
+ + + + + + + +
+ © 1999-2018, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license +
+ + + + + + diff --git a/doc/Projects/2018/Project1/html/Project1.html b/doc/Projects/2018/Project1/html/Project1.html new file mode 100644 index 000000000..3ef3cd04a --- /dev/null +++ b/doc/Projects/2018/Project1/html/Project1.html @@ -0,0 +1,186 @@ + + + + + + + +Project 1 on Machine Learning, deadline October 1 + + + + + + + + + + + + + + + + +

Project 1 on Machine Learning, deadline October 1

+ +

+ + +

+Data Analysis and Machine Learning FYS-STK3155/FYS4155 +
+ +

+ + +

Department of Physics, University of Oslo, Norway
+
+

+

May 2018

+
+ +

Regression analysis and classification

+ +

Introduction

+ +

Part a): The data

+ +

Background literature

+ +

Introduction to numerical projects

+ +

+Here follows a brief recipe and recommendation on how to write a report for each +project. + +

+ +

Format for electronic delivery of report and programs

+ +

+The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + +

+ +Finally, +we encourage you to work two and two together. Optimal working groups consist of +2-3 students. You can then hand in a common report. + +

Software and needed installations

+ +

+If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via pip as + +

    +
  1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
  2. +
+ +For Python3, replace pip with pip3. + +

+See below for a discussion of tensorflow and scikit-learn. + +

+For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +for a seamless installation of additional software via for example + +

    +
  1. brew install python3
  2. +
+ +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use pip as well and simply install Python as + +
    +
  1. sudo apt-get install python3 (or python for python2.7)
  2. +
+ +etc etc. + +

+If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely + +

    +
  1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
  2. +
  3. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
  4. +
+ +Popular software packages written in Python for ML are + + + +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + + + + +
+ © 1999-2018, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license +
+ + + + + + diff --git a/doc/Projects/2018/Project1/ipynb/ipynb-Project1-src.tar.gz b/doc/Projects/2018/Project1/ipynb/ipynb-Project1-src.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..cb896340ec3eea0b1feed83a9d6ddfb63e34cf02 GIT binary patch literal 210 zcmb2|=3p=k&WL7UetZ647L%dCvBL9qM{N#H+VQ$d?@DufQ-{95-5b4EkEjXW*Ru(+QFYJLzE5-Zjro`I*7{%jZ*{#t*Np$$ow$kB{{&B8Q=NHs_Z>EUyOiBr551om z=Df9feMr`7|0J~=C7E7Z?z@YxmAK!TDK$OzLz=nGkq?q*?L-fU?`LK}2LF#q>hEpd J$)Lf&002RiVG95N literal 0 HcmV?d00001 diff --git a/doc/Projects/2018/Project1/pdf/Project1.p.tex b/doc/Projects/2018/Project1/pdf/Project1.p.tex new file mode 100644 index 000000000..dcd8e3f9b --- /dev/null +++ b/doc/Projects/2018/Project1/pdf/Project1.p.tex @@ -0,0 +1,277 @@ +%% +%% Automatically generated file from DocOnce source +%% (https://github.com/hplgit/doconce/) +%% +%% +% #ifdef PTEX2TEX_EXPLANATION +%% +%% The file follows the ptex2tex extended LaTeX format, see +%% ptex2tex: http://code.google.com/p/ptex2tex/ +%% +%% Run +%% ptex2tex myfile +%% or +%% doconce ptex2tex myfile +%% +%% to turn myfile.p.tex into an ordinary LaTeX file myfile.tex. +%% (The ptex2tex program: http://code.google.com/p/ptex2tex) +%% Many preprocess options can be added to ptex2tex or doconce ptex2tex +%% +%% ptex2tex -DMINTED myfile +%% doconce ptex2tex myfile envir=minted +%% +%% ptex2tex will typeset code environments according to a global or local +%% .ptex2tex.cfg configure file. doconce ptex2tex will typeset code +%% according to options on the command line (just type doconce ptex2tex to +%% see examples). If doconce ptex2tex has envir=minted, it enables the +%% minted style without needing -DMINTED. +% #endif + +% #define PREAMBLE + +% #ifdef PREAMBLE +%-------------------- begin preamble ---------------------- + +\documentclass[% +oneside, % oneside: electronic viewing, twoside: printing +final, % draft: marks overfull hboxes, figures with paths +10pt]{article} + +\listfiles % print all files needed to compile this document + +\usepackage{relsize,makeidx,color,setspace,amsmath,amsfonts,amssymb} +\usepackage[table]{xcolor} +\usepackage{bm,ltablex,microtype} + +\usepackage[pdftex]{graphicx} + +\usepackage[T1]{fontenc} +%\usepackage[latin1]{inputenc} +\usepackage{ucs} +\usepackage[utf8x]{inputenc} + +\usepackage{lmodern} % Latin Modern fonts derived from Computer Modern + +% Hyperlinks in PDF: +\definecolor{linkcolor}{rgb}{0,0,0.4} +\usepackage{hyperref} +\hypersetup{ + breaklinks=true, + colorlinks=true, + linkcolor=linkcolor, + urlcolor=linkcolor, + citecolor=black, + filecolor=black, + %filecolor=blue, + pdfmenubar=true, + pdftoolbar=true, + bookmarksdepth=3 % Uncomment (and tweak) for PDF bookmarks with more levels than the TOC + } +%\hyperbaseurl{} % hyperlinks are relative to this root + +\setcounter{tocdepth}{2} % levels in table of contents + +% --- fancyhdr package for fancy headers --- +\usepackage{fancyhdr} +\fancyhf{} % sets both header and footer to nothing +\renewcommand{\headrulewidth}{0pt} +\fancyfoot[LE,RO]{\thepage} +% Ensure copyright on titlepage (article style) and chapter pages (book style) +\fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2018, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} +% \renewcommand{\footrulewidth}{0mm} + \renewcommand{\headrulewidth}{0mm} +} +% Ensure copyright on titlepages with \thispagestyle{empty} +\fancypagestyle{empty}{ + \fancyhf{} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2018, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} + \renewcommand{\footrulewidth}{0mm} + \renewcommand{\headrulewidth}{0mm} +} + +\pagestyle{fancy} + + +% prevent orhpans and widows +\clubpenalty = 10000 +\widowpenalty = 10000 + +% --- end of standard preamble for documents --- + + +% insert custom LaTeX commands... + +\raggedbottom +\makeindex +\usepackage[totoc]{idxlayout} % for index in the toc +\usepackage[nottoc]{tocbibind} % for references/bibliography in the toc + +%-------------------- end preamble ---------------------- + +\begin{document} + +% matching end for #ifdef PREAMBLE +% #endif + +\newcommand{\exercisesection}[1]{\subsection*{#1}} + + +% ------------------- main content ---------------------- + + + +% ----------------- title ------------------------- + +\thispagestyle{empty} + +\begin{center} +{\LARGE\bf +\begin{spacing}{1.25} +Project 1 on Machine Learning, deadline October 1 +\end{spacing} +} +\end{center} + +% ----------------- author(s) ------------------------- + +\begin{center} +{\bf \href{{http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html}}{Data Analysis and Machine Learning FYS-STK3155/FYS4155}} +\end{center} + + \begin{center} +% List of all institutions: +\centerline{{\small Department of Physics, University of Oslo, Norway}} +\end{center} + +% ----------------- end author(s) ------------------------- + +% --- begin date --- +\begin{center} +May 2018 +\end{center} +% --- end date --- + +\vspace{1cm} + + +\subsection{Regression analysis and classification} + +\paragraph{Introduction.} +\paragraph{Part a): The data.} +\subsection{Background literature} + + + + +\subsection{Introduction to numerical projects} + +Here follows a brief recipe and recommendation on how to write a report for each +project. + +\begin{itemize} + \item Give a short description of the nature of the problem and the eventual numerical methods you have used. + + \item Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + \item Include the source code of your program. Comment your program properly. + + \item If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + \item Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + \item Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + \item Try to give an interpretation of you results in your answers to the problems. + + \item Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + \item Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. +\end{itemize} + +\noindent +\subsection{Format for electronic delivery of report and programs} + +The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + +\begin{itemize} + \item Use Devilry to hand in your projects, log in at \href{{http://devilry.ifi.uio.no}}{\nolinkurl{http://devilry.ifi.uio.no}} with your normal UiO username and password and choose either 'fysstk3155' or 'fysstk4155'. There you can load up the files within the deadline. + + \item Upload \textbf{only} the report file! For the source code file(s) you have developed please provide us with your link to your github domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. + + \item In your git repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. + + \item In this and all later projects, you should include tests (for example unit tests) of your code(s). + + \item Comments from us on your projects, approval or not, corrections to be made etc can be found under your Devilry domain and are only visible to you and the teachers of the course. +\end{itemize} + +\noindent +Finally, +we encourage you to work two and two together. Optimal working groups consist of +2-3 students. You can then hand in a common report. + + + +\subsection{Software and needed installations} + +If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via \textbf{pip} as +\begin{enumerate} +\item pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow +\end{enumerate} + +\noindent +For Python3, replace \textbf{pip} with \textbf{pip3}. + +See below for a discussion of \textbf{tensorflow} and \textbf{scikit-learn}. + +For OSX users we recommend also, after having installed Xcode, to install \textbf{brew}. Brew allows +for a seamless installation of additional software via for example +\begin{enumerate} +\item brew install python3 +\end{enumerate} + +\noindent +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use \textbf{pip} as well and simply install Python as +\begin{enumerate} +\item sudo apt-get install python3 (or python for python2.7) +\end{enumerate} + +\noindent +etc etc. + +If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +\begin{enumerate} +\item \href{{https://docs.anaconda.com/}}{Anaconda} Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system \textbf{conda} + +\item \href{{https://www.enthought.com/product/canopy/}}{Enthought canopy} is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +\end{enumerate} + +\noindent +Popular software packages written in Python for ML are + +\begin{itemize} +\item \href{{http://scikit-learn.org/stable/}}{Scikit-learn}, + +\item \href{{https://www.tensorflow.org/}}{Tensorflow}, + +\item \href{{http://pytorch.org/}}{PyTorch} and + +\item \href{{https://keras.io/}}{Keras}. +\end{itemize} + +\noindent +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + + +% ------------------- end of main content --------------- + +% #ifdef PREAMBLE +\end{document} +% #endif + diff --git a/doc/Projects/2018/Project1/pdf/Project1.pdf b/doc/Projects/2018/Project1/pdf/Project1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..970d35209edbf532257159ec8e4308ad965bc5d0 GIT binary patch literal 177657 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 z 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%0DyPr%O5?`fn0(%Pzglbi zqb#y-_keEVioNb#(U9GB$Md;mrQJLM92-tMyY8RaoatTH{e)g*p5c(xq!G1Fr_dQ& zfv$8#$`+}g$+XE2vvp3Ns56T)4ZA@y)5Id#Apq@u=4~5RBhBOJp(O;r%bW{J+zVNP z5%AZl;2IA##`vBga;D_y^M`q&a3tN_4tUNf8DmF zo4dK;T`kc-=mCShYzI;bDQ^|LOES-5nxH(wLqNLyMH&tmwESxv)*ogc1@`#NhK=-Lry{%3LSFY+rOXL9AdBHCh+LYMu)fEybdL0<7%q>*}}sFVU37N`0>8&(tiG;;Ex9e&*B>dgpk#zGtESDfa#9xkbBYD;v)&wnL5nDqoPk0Pm=Vq0U-z zU*iIc%=|#P+vm;d$1$3|lAWzH+=9A1T|T@Hr34|t`0-efPFY}A_fH11I|Y~9FqD(x z)xNKpbhvoTum{7Z#*;lmvy+46C=Jd_xH=Job-FR9u&xfBlm$eefM(h={8tovEq2OG zRw4m{O@z$k)HP5vtWA#Cf%C9_n;i~!k+-VxuW12;@ zOodepojIGC(7$l)%(RO%>(bd9`87oCu6AKv7P{$Od`>zp`NGVlGEfed>GA>)S3ZUQ zzH!cG+5FHxqP!1k3^x`xFH+jAV_TJqYiF+oyH{olYink~cZ5k^Jb#8x=r~aC0=}Rn zv|9cDFH(@}{}3~p%0M$X1}QsJ;4gpo}cu)!=ODl%Lsj8t^>vSo-oa=0qztdM;svcdbvn^Zy}HneGQywq8hy`^dM z^?>Lb!H{6}XSS(*gKxKfynus_V(9*#@66f7$jRl`w+M%0;^6qkO~8?ni7AM~{SRKa BvT6VT literal 0 HcmV?d00001 diff --git a/doc/Projects/2018/Project1/pdf/Project1.tex b/doc/Projects/2018/Project1/pdf/Project1.tex new file mode 100644 index 000000000..9232c49a0 --- /dev/null +++ b/doc/Projects/2018/Project1/pdf/Project1.tex @@ -0,0 +1,249 @@ +%% +%% Automatically generated file from DocOnce source +%% (https://github.com/hplgit/doconce/) +%% +%% + + +%-------------------- begin preamble ---------------------- + +\documentclass[% +oneside, % oneside: electronic viewing, twoside: printing +final, % draft: marks overfull hboxes, figures with paths +10pt]{article} + +\listfiles % print all files needed to compile this document + +\usepackage{relsize,makeidx,color,setspace,amsmath,amsfonts,amssymb} +\usepackage[table]{xcolor} +\usepackage{bm,ltablex,microtype} + +\usepackage[pdftex]{graphicx} + +\usepackage[T1]{fontenc} +%\usepackage[latin1]{inputenc} +\usepackage{ucs} +\usepackage[utf8x]{inputenc} + +\usepackage{lmodern} % Latin Modern fonts derived from Computer Modern + +% Hyperlinks in PDF: +\definecolor{linkcolor}{rgb}{0,0,0.4} +\usepackage{hyperref} +\hypersetup{ + breaklinks=true, + colorlinks=true, + linkcolor=linkcolor, + urlcolor=linkcolor, + citecolor=black, + filecolor=black, + %filecolor=blue, + pdfmenubar=true, + pdftoolbar=true, + bookmarksdepth=3 % Uncomment (and tweak) for PDF bookmarks with more levels than the TOC + } +%\hyperbaseurl{} % hyperlinks are relative to this root + +\setcounter{tocdepth}{2} % levels in table of contents + +% --- fancyhdr package for fancy headers --- +\usepackage{fancyhdr} +\fancyhf{} % sets both header and footer to nothing +\renewcommand{\headrulewidth}{0pt} +\fancyfoot[LE,RO]{\thepage} +% Ensure copyright on titlepage (article style) and chapter pages (book style) +\fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2018, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} +% \renewcommand{\footrulewidth}{0mm} + \renewcommand{\headrulewidth}{0mm} +} +% Ensure copyright on titlepages with \thispagestyle{empty} +\fancypagestyle{empty}{ + \fancyhf{} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2018, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} + \renewcommand{\footrulewidth}{0mm} + \renewcommand{\headrulewidth}{0mm} +} + +\pagestyle{fancy} + + +% prevent orhpans and widows +\clubpenalty = 10000 +\widowpenalty = 10000 + +% --- end of standard preamble for documents --- + + +% insert custom LaTeX commands... + +\raggedbottom +\makeindex +\usepackage[totoc]{idxlayout} % for index in the toc +\usepackage[nottoc]{tocbibind} % for references/bibliography in the toc + +%-------------------- end preamble ---------------------- + +\begin{document} + +% matching end for #ifdef PREAMBLE + +\newcommand{\exercisesection}[1]{\subsection*{#1}} + + +% ------------------- main content ---------------------- + + + +% ----------------- title ------------------------- + +\thispagestyle{empty} + +\begin{center} +{\LARGE\bf +\begin{spacing}{1.25} +Project 1 on Machine Learning, deadline October 1 +\end{spacing} +} +\end{center} + +% ----------------- author(s) ------------------------- + +\begin{center} +{\bf \href{{http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html}}{Data Analysis and Machine Learning FYS-STK3155/FYS4155}} +\end{center} + + \begin{center} +% List of all institutions: +\centerline{{\small Department of Physics, University of Oslo, Norway}} +\end{center} + +% ----------------- end author(s) ------------------------- + +% --- begin date --- +\begin{center} +May 2018 +\end{center} +% --- end date --- + +\vspace{1cm} + + +\subsection*{Regression analysis and classification} + +\paragraph{Introduction.} +\paragraph{Part a): The data.} +\subsection*{Background literature} + + + + +\subsection*{Introduction to numerical projects} + +Here follows a brief recipe and recommendation on how to write a report for each +project. + +\begin{itemize} + \item Give a short description of the nature of the problem and the eventual numerical methods you have used. + + \item Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + \item Include the source code of your program. Comment your program properly. + + \item If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + \item Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + \item Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + \item Try to give an interpretation of you results in your answers to the problems. + + \item Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + \item Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. +\end{itemize} + +\noindent +\subsection*{Format for electronic delivery of report and programs} + +The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + +\begin{itemize} + \item Use Devilry to hand in your projects, log in at \href{{http://devilry.ifi.uio.no}}{\nolinkurl{http://devilry.ifi.uio.no}} with your normal UiO username and password and choose either 'fysstk3155' or 'fysstk4155'. There you can load up the files within the deadline. + + \item Upload \textbf{only} the report file! For the source code file(s) you have developed please provide us with your link to your github domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. + + \item In your git repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. + + \item In this and all later projects, you should include tests (for example unit tests) of your code(s). + + \item Comments from us on your projects, approval or not, corrections to be made etc can be found under your Devilry domain and are only visible to you and the teachers of the course. +\end{itemize} + +\noindent +Finally, +we encourage you to work two and two together. Optimal working groups consist of +2-3 students. You can then hand in a common report. + + + +\subsection*{Software and needed installations} + +If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via \textbf{pip} as +\begin{enumerate} +\item pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow +\end{enumerate} + +\noindent +For Python3, replace \textbf{pip} with \textbf{pip3}. + +See below for a discussion of \textbf{tensorflow} and \textbf{scikit-learn}. + +For OSX users we recommend also, after having installed Xcode, to install \textbf{brew}. Brew allows +for a seamless installation of additional software via for example +\begin{enumerate} +\item brew install python3 +\end{enumerate} + +\noindent +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use \textbf{pip} as well and simply install Python as +\begin{enumerate} +\item sudo apt-get install python3 (or python for python2.7) +\end{enumerate} + +\noindent +etc etc. + +If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +\begin{enumerate} +\item \href{{https://docs.anaconda.com/}}{Anaconda} Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system \textbf{conda} + +\item \href{{https://www.enthought.com/product/canopy/}}{Enthought canopy} is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +\end{enumerate} + +\noindent +Popular software packages written in Python for ML are + +\begin{itemize} +\item \href{{http://scikit-learn.org/stable/}}{Scikit-learn}, + +\item \href{{https://www.tensorflow.org/}}{Tensorflow}, + +\item \href{{http://pytorch.org/}}{PyTorch} and + +\item \href{{https://keras.io/}}{Keras}. +\end{itemize} + +\noindent +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + + +% ------------------- end of main content --------------- + +\end{document} + diff --git a/doc/src/Projects/2018/Project1/Project1.do.txt b/doc/src/Projects/2018/Project1/Project1.do.txt new file mode 100644 index 000000000..ac2a84a73 --- /dev/null +++ b/doc/src/Projects/2018/Project1/Project1.do.txt @@ -0,0 +1,100 @@ +TITLE: Project 1 on Machine Learning, deadline October 1 +AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html" {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo, Norway +DATE: May 2018 + + +===== Regression analysis and classification ===== + +=== Introduction === + + + +=== Part a): The data === + + +===== Background literature ===== + + + + +===== Introduction to numerical projects ===== + +Here follows a brief recipe and recommendation on how to write a report for each +project. + + * Give a short description of the nature of the problem and the eventual numerical methods you have used. + + * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + * Include the source code of your program. Comment your program properly. + + * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + * Try to give an interpretation of you results in your answers to the problems. + + * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. + + + + + +===== Format for electronic delivery of report and programs ===== + +The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + + * Use Devilry to hand in your projects, log in at URL:"http://devilry.ifi.uio.no" with your normal UiO username and password and choose either 'fysstk3155' or 'fysstk4155'. There you can load up the files within the deadline. + + * Upload _only_ the report file! For the source code file(s) you have developed please provide us with your link to your github domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. + + * In your git repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. + + * In this and all later projects, you should include tests (for example unit tests) of your code(s). + + * Comments from us on your projects, approval or not, corrections to be made etc can be found under your Devilry domain and are only visible to you and the teachers of the course. + + + +Finally, +we encourage you to work two and two together. Optimal working groups consist of +2-3 students. You can then hand in a common report. + + + +===== Software and needed installations ===== + +If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via _pip_ as +o pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow +For Python3, replace _pip_ with _pip3_. + +See below for a discussion of _tensorflow_ and _scikit-learn_. + +For OSX users we recommend also, after having installed Xcode, to install _brew_. Brew allows +for a seamless installation of additional software via for example +o brew install python3 + +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use _pip_ as well and simply install Python as +o sudo apt-get install python3 (or python for python2.7) +etc etc. + +If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +o "Anaconda":"https://docs.anaconda.com/" Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system _conda_ +o "Enthought canopy":"https://www.enthought.com/product/canopy/" is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. + +Popular software packages written in Python for ML are + +* "Scikit-learn":"http://scikit-learn.org/stable/", +* "Tensorflow":"https://www.tensorflow.org/", +* "PyTorch":"http://pytorch.org/" and +* "Keras":"https://keras.io/". +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + diff --git a/doc/src/Projects/2018/Project1/clean.sh b/doc/src/Projects/2018/Project1/clean.sh new file mode 100755 index 000000000..2e5da2c72 --- /dev/null +++ b/doc/src/Projects/2018/Project1/clean.sh @@ -0,0 +1,3 @@ +#!/bin/sh +doconce clean +rm -rf *.pdf *.tex ipynb*.tar.gz *.html ._*.html *~ reveal.js Trash README.txt diff --git a/doc/src/Projects/2018/Project1/make.sh b/doc/src/Projects/2018/Project1/make.sh new file mode 100755 index 000000000..cf5d38365 --- /dev/null +++ b/doc/src/Projects/2018/Project1/make.sh @@ -0,0 +1,79 @@ +#!/bin/sh +set -x + +function system { + "$@" + if [ $? -ne 0 ]; then + echo "make.sh: unsuccessful command $@" + echo "abort!" + exit 1 + fi +} + +if [ $# -eq 0 ]; then +echo 'bash make.sh slides1|slides2' +exit 1 +fi + +name=$1 +rm -f *.tar.gz + +opt="--encoding=utf-8" +opt= + +rm -f *.aux + + + +# Plain HTML documents +html=${name} +system doconce format html $name --pygments_html_style=default --html_style=bloodish --html_links_in_new_window --html_output=$html $opt +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 + + +# Ordinary plain LaTeX document +system doconce format pdflatex $name --print_latex_style=trac --latex_admon=paragraph $opt +system doconce ptex2tex $name envir=print +# Add special packages +doconce subst "% Add user's preamble" "\g<1>\n\\usepackage{simplewick}" $name.tex +doconce replace 'section{' 'section*{' $name.tex +pdflatex -shell-escape $name +pdflatex -shell-escape $name +mv -f $name.pdf ${name}.pdf +cp $name.tex ${name}.tex + +# Publish +dest=../../../../Projects/2018 +if [ ! -d $dest/$name ]; then +mkdir $dest/$name +mkdir $dest/$name/pdf +mkdir $dest/$name/html +mkdir $dest/$name/ipynb +fi +cp ${name}*.tex $dest/$name/pdf +cp ${name}*.pdf $dest/$name/pdf +cp -r ${name}*.html ._${name}*.html $dest/$name/html + +# Figures: cannot just copy link, need to physically copy the files +if [ -d fig-${name} ]; then +if [ ! -d $dest/$name/html/fig-$name ]; then +mkdir $dest/$name/html/fig-$name +fi +cp -r fig-${name}/* $dest/$name/html/fig-$name +fi + +cp ${name}.ipynb $dest/$name/ipynb +ipynb_tarfile=ipynb-${name}-src.tar.gz +if [ ! -f ${ipynb_tarfile} ]; then +cat > README.txt < 0\n", + "\\end{equation}\n", + "for $\\gamma$ small enough, then $F(\\mathbf{x}_{k+1}) \\leq F(\\mathbf{x}_k)$. This means that for a sufficiently small $\\gamma$ we moves towards smaller function values, i.e a minimum.\n", + "\n", + "This observation is the basis of the gradient descent (GD) method. One starts with an initial guess $\\mathbf{x}_0$ for a minimum of $F$ and compute new approximations according to\n", + "\n", + "\\begin{equation}\n", + "\\mathbf{x}_{k+1} = \\mathbf{x}_k - \\gamma \\nabla F(\\mathbf{x}_k), \\ \\ k \\geq 0.\n", + "\\end{equation}\n", + "\n", + "Ideally the sequence $\\{ \\mathbf{x}_k \\}_{k=0}$ converges to a __global__ minimum of the function $F$. In general we do not know if we are in a global or local minimum. In the special case when $F$ is a convex function, all local minima are also global minima, so in this case gradient descent can converge to the global solution. We will explore this further in the exercises.\n", + "\n", + "In a practical implementation we have to choose a criterion for when to stop the iteration. One such condition would be to stop when \n", + "\n", + "\\begin{equation}\n", + "||\\nabla F(\\mathbf{x})|| < \\epsilon,\n", + "\\end{equation}\n", + "where $\\epsilon$ is some small number. \n", + "\n", + "\n", + "The parameter $\\gamma$ is referred to as the step size and is constant in the simplest Gradient Descent scheme. We will consider generalizations later where $\\gamma$ is adaptet during each iteration in order to obtain faster convergence or esacpe local minima.\n", + "\n", + "Another point worth noticing is that in order to use gradient descent all we need to know is the function and its gradient. Computing the gradient may be difficult depending on the complexity of the function we want to minimize. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 1\n", + "We start by considering functions of a single variable since they are easy to work with and we can compute exact minima to compare our implementation. Furthermore, single variable functions captures much of the problems we experience computing minima of more complex, multi-variable functions.\n", + "\n", + "a) Consider the function $f(x) = x^2+1$. Show that $f(x_{k+1}) \\leq f(x_k)$ when $0 \\leq \\gamma \\leq 1$.\n", + "\n", + "Hint: Use that (GD step) $x_{k+1} = x_k - \\gamma f'(x_k)$ and solve the resulting inequality.\n", + "\n", + "Solution: \n", + "\n", + "\\begin{align}\n", + "x_k^2(1-2\\gamma)^2 + 1 &\\leq x_k^2+1 \\\\\n", + "(1-2\\gamma)^2 &\\leq 1 \\\\\n", + "\\gamma(1-\\gamma) &\\leq 0 \\\\\n", + "\\Rightarrow 0 \\leq \\gamma &\\leq 1.\n", + "\\end{align}\n", + "\n", + "b) Show/convince yourself that f has its minimum at $x=0$ with $f(0) = 1$. \n", + "\n", + "Write a function computes the minimum using the GD method, with $x_0 = -3$ as initial guess. Try to write the function in a general way such that you in principle can use it on any function.\n", + "\n", + "Experiment with different step sizes in the range $0 < \\gamma < 1$ and check how many iterations you need in order for the solution to converge within a precision of $10^{-6}$. \n", + "\n", + "Since the derivative has to be zero in a minimum you can use $$|f'(x_k)| < \\epsilon,$$ with $\\epsilon = 10^{-6}$ as a criterion for convergence. (The choice of $10^{-6}$ as precision is arbitrary).\n", + "\n", + "What happens if you choose $\\gamma$ exactly equal to 1? What happens if $\\gamma$ is slighly larger than 1? One way to get a better visual understanding of whats going on is to plot the function and the function values at each iteration, $f(x_k)$, within the same plot." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Converged: True\n", + "Number of iterations for convergence: 18\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Program that solves exercise 1b.\n", + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "def gradient_descent(xk,dx_f,gamma):\n", + " return xk-gamma*dx_f\n", + "\n", + "def quadratic(a,b,c,x):\n", + " return a*x**2+b*x+c\n", + "\n", + "def dx_quadratic(a,b,x):\n", + " return 2*a*x+b\n", + "\n", + "#One variable examples\n", + "a,b,c = 1,0,1\n", + "x = np.linspace(-5,5,101)\n", + "quad = quadratic(a,b,c,x)\n", + "dx_quad = dx_quadratic(a,b,x)\n", + "\n", + "xk = -3\n", + "xk_vec = [xk]\n", + "fxk_vec = [quadratic(a,b,c,xk)]\n", + "gamma = 0.3\n", + "iters = 0\n", + "max_iters = 1000\n", + "converged = False\n", + "\n", + "while(abs(dx_quadratic(a,b,xk)) > 1e-6 and iters < max_iters):\n", + " xk = gradient_descent(xk,dx_quadratic(a,b,xk),gamma)\n", + " xk_vec.append(xk)\n", + " fxk_vec.append(quadratic(a,b,c,xk))\n", + " iters += 1\n", + "\n", + "if(iters < max_iters):\n", + " converged = True\n", + "\n", + "print (\"Converged: %s\" % converged)\n", + "print (\"Number of iterations for convergence: %d\" % iters)\n", + "\n", + "plt.figure(1)\n", + "plt.plot(x,quad)\n", + "plt.plot(xk_vec,fxk_vec,'o')\n", + "plt.legend([\"f(x)\",\"GD-iterates\"])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "c) Quadratic functions as the one in exercise b) are particularly forigiving to work with since they only have one minimum/maximum, which in turn is global. A third order polynomial can have a maximum and a minimum or a saddle point. A fourth order polynomial may have two local minima. The point of the following exercise is to investigate the how GD depends on the initial guess, $x_0$.\n", + "\n", + "Consider the function\n", + "\\begin{equation}\n", + "f(x) = \\frac{(x+4)(x+1)(x-1)(x-3)}{14} + \\frac{1}{2},\n", + "\\end{equation}\n", + "with derivative \n", + "\\begin{equation}\n", + "f'(x) = \\frac{1}{14}\\left( 4x^3 + 3x^2 - 26x -1 \\right).\n", + "\\end{equation}\n", + "\n", + "Make a plot of the function for $x \\in [-5,4]$. The function has a global minimum at $x \\approx -2.9354$, a local maximum at $x \\approx -0.038301$ and a local minimum at $x \\approx 2.2237$. Choose $\\gamma = 0.1$ as step length and use GD descent to compute the minimum. \n", + "\n", + "* Expermient with different initial values $x_0 \\in [-5,-0.1]$ and $x_0 \\in [0.1, 4]$. \n", + "* What happens if you choose $x_0 = -0.038301$ (i.e at the local maximum)? Explain why this happens. \n", + "* What happens if you choose $x_0$ slightly smaller/larger than $-0.038301$? \n", + "* Furthermore you can experiment with different step sizes." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Converged: True\n", + "Number of iterations for convergence: 67\n" + ] + }, + { + "data": { + "image/png": "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17/+NQCPPvooU6ZMYfz48dx///2A/Qa09PR0br75ZiZNmkR+fj6/+MUvyMzMZOzYsSf2W7JkCYWFhcyePZvZs2cDsGrVKqZPn86kSZO48sorqampAeDuu+9mzJgxjB8/nrvuuqvbn0tHOh0AxpjPgfJTtq0yxjQ7Xq4DUtxYm8t0IFgpL7X6QWiqO3lbU519ezfl5uaetAT0mUyaNImdO3d2uM8f/vAHhg0bRk5ODo8++iirVq1iz549rF+/npycHDZu3Mjnn38OwK5du7juuuvIzs5m8ODBPPzww2RlZbFlyxY+++wztmzZwq233kpycjJr1qxhzZo1lJaW8tBDD/Hxxx+zadMmMjMzeeKJJygvL2f58uXk5uayZcsWfve733X7c+mIO8cAbgBWtvOeAVaJyEYRWeTGc3aodSqoDgQr5WUqC7q2vRsWL17MhAkTmDJlitP3jTFdPuaqVatYtWoVGRkZJwJkz549gL21MW3atBP7vvnmm0yaNImMjAxyc3PZvn37acdbt24d27dvZ+bMmUycOJFXXnmFgwcPEh0dTVhYGD/72c9466236NOnT5dr7Qy3LIAhIr8FmoHX2tllpjGmUEQSgY9EZKejReHsWIuARQCpqaku1XViWWhtASjlXWJSHN0/TrZ309ixY/nXv/514vVf/vIXSktL213oLTs7m/T0dFpaWpg8eTJgXyeoo+cIG2O45557+PnPf37S9ry8PCIiIk68PnDgAI899hgbNmygb9++/PjHP6a+vt7p8S688EJef/31095bv349q1evZtmyZTz99NM98uxil1sAInI9cAlwrWknUo0xhY6fxcByYGp7xzPGLDXGZBpjMts+0KE7IkODiI8M5UCJBoBSXmXOfRB8yhr8weH27d10/vnnU19fz7PPPntiW3uDrVu2bOH3v/89ixcvJjAwkJycHHJyck67+EdFRVFdXX3i9UUXXcSLL754op/+8OHDFBcXn3b8qqoqIiIiiImJoaioiJUrVzo95rRp01i7du2Jpatra2vZvXs3NTU1VFZWMn/+fJ566ilycnK6+al0zKUWgIhcDPwGONcY4/STFpEIIMAYU+34fS7Q/Y6+LhqWEMF+7QJSyruM/7795+oH7d0+MSn2i3/r9m4QEVasWMEdd9zBH//4RxISEoiIiOCRRx4B4IsvviAjI4Pa2loSExNZ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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def quartic(x):\n", + " return (x+4)*(x+1)*(x-1)*(x-3)/14.0 + 0.5\n", + "def dx_quartic(x):\n", + " return (1.0/14.0)*(4*x**3 + 3*x**2 - 26*x - 1)\n", + "\n", + "x = np.linspace(-5,4,101)\n", + "quart = quartic(x)\n", + "dx_quart = dx_quartic(x)\n", + "\n", + "xk = -0.02\n", + "xk_vec = [xk]\n", + "fxk_vec = [quartic(xk)]\n", + "gamma = 0.1\n", + "iters = 0\n", + "max_iters = 200\n", + "converged = False\n", + "\n", + "while(abs(dx_quartic(xk)) > 1e-6 and iters < max_iters):\n", + " xk = gradient_descent(xk,dx_quartic(xk),gamma)\n", + " xk_vec.append(xk)\n", + " fxk_vec.append(quartic(xk))\n", + " iters += 1\n", + "\n", + "if(iters < max_iters):\n", + " converged = True\n", + "\n", + "print (\"Converged: %s\" % converged)\n", + "print (\"Number of iterations for convergence: %d\" % iters)\n", + "\n", + "plt.figure(1)\n", + "plt.plot(x,quart)\n", + "plt.plot(xk_vec,fxk_vec,'o')\n", + "plt.legend([\"f(x)\",\"GD-iterates\"])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "d) In this exercise we will look at function of two variables. \n", + "\n", + "Consider the function \n", + "\\begin{equation}\n", + "z(x,y) = x^2+10y^2-1.\n", + "\\end{equation}\n", + "\n", + "* Compute the gradient and show that $z(x,y)$ has its minimum at $x=0, y=0$.\n", + "* Extend your program such that it can compute the minimum of a multivariate function. The main difference now is that the points and derivative/gradient now are vectors/arrays and not just scalars. Also try to make relevant visualizations, such as surface or contour plots.\n", + "* As before, experiment with different step sizes $\\gamma$ and intitial values $\\mathbf{x}_0 = (x_0,y_0)$.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD8CAYAAABjAo9vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJztvXmUZdtd3/f97TPfqaaunt57rff00IyEhvYTBBwIIJYQigi2ExsTh2WzlmIWZslZgIiQHYITlklkg0mwF5bB2FkBg7OYEoRjSQwxg5FePyEhCT2NIL2pp+qquuMZ984fezjn3qruquq63bfq9u/Ta/fe+7f3uXffW+d892+fe87vkFIKDMMwzPIgFj0AhmEYZr6wsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2T4i3jTM2fOqEcffXQRb30fUY0kAaVmbMZuy/u2z6SD+tyxHfv0w0z7fcS/BFDv/r/vsiC3geq5BbwxmWTKRA0bzfRppD39jtg+1Ufcpn0/+3Lx1FNP3VRKbR7UbyHC/uijj+LKlSv3/H2UKgCVASrVCel0XWUAsrpsklKpsee1HbY9b9RtOZ8pZ9CifRQO2hEDgEKT+yYPAPgmb9Zn230A3j7tvq7DA9my7ev6C2O3NpPDNweS37CLht3WvZm60H3FGoiSI35HjEXJEaB2AVVB72smV40yKlMvTVtl2sqGvartqmrYTO7KJZTJa1vh2qAKk9+pXjTyEvpYse25th/8yc24DoNnjplI5xQCCAGK6gRjp8j0qxPtYwPFAOLpOkXGljibPp7mDxF98TD9FiLsgBXdCaDGRljHpt4s10mpdMaWTufIGnUr5OUxRhg0/pBR/cd3f+weIMKZHafeUcjtROHMDhQ0ylaoG7kT6WabB6Ll8z6Yu4dEG0D7/r7nPX59HbfKTgLGWbKi7yaE3LQ1y/m+ZTVltw5ao4/KAPQBmTa2s/qRQx1qornNZ4FvRN+KfWK0JGnYp3OiGKCWse2TxMqh338xwl58Euraq464kWh8yHj6ixLrxhY3+kTaI5yaZZupKdqzM3IIIv75gWHuJ9p5sSvN1vFf75jbKyUxvaLPjcPYtDVX/7VTqdTEtM86oSkgbzX61s6sOuiUaPAXDj32xQi7twHqvMMI8B1mKGoZEW4BCNhrZRjmvqGdO6NFR932iP31aiXfc6Zi6owG9QD8wqFebzHCLs6DOt+zkLdmGIY5aWin1Z7qXT326/H5BoZhmCWDhZ1hGGbJWNhVMcyDi1ISEhJKSahmDgmlFCQkYMrarkwfXbevocw1+FNl8w9KNX6MUuZ/k089NWy67U7Q1HXamPrNZ0+bue7a/gOEvqDVXGtNIBAJ0zZdJwgQmXxPuc6FyRlmFhb2E4wWuRKVLFChgFS2XKJSpt7IK1XO2HRdolFWJSpVQcLWq9oOXVaqQqVKKFSmvYI05VmbUtYuGzbZ6F8Lt60z84UgIMhrCL63Jxfkgcgzk4HnbHq7uuz6woNHPgT5IPLgwYMwdd3Xh4APjzwICiCo7q/tuuxRYPJmuc51sjZdFvD5QoljwsJ+B6SqUMoMpcpQqhyVzF1Z23VeqUK3uz66XE7VC2MrTD+Tq8Il268W6ru/jvYghDtQ64PUHpz6QPYbYmD7CgiEIGFFQEwJgxMYJyC1uOwVn4b3OVWmxnbWmxUNb9bYyHjA5i7Eum/dR3vMcHaL9abRsNT/74+aLam9nn69arDtjRUElFkp2FWIvZxuuq7M3chyajWj9lnZTK96mpNoPbnK20y8FaTdpjHJlzKbmqyrqcl/H2fg0DcKHZ1a9PdLoc5FAN+WTe5TCE+Exh66ui37rhzBN/18isw2EXwRwacQgrx79tnuB6dS2JVSqFSOQqYoVIpSpihkilJl2tYolyrb014Lc4rCCvc++XF2XIKodzYxu/Ppcui16530tjuw9XbCfT0d0fCM9rNZUW7aBd/wxMwBvaJsrPiaq0I0V4+Vc1T2W2XW9dzVb5tk7Qzl1QhjteOcpkoVKE17qTI0p+OjIuAb4bdir/OAYmOPTT2CL6bLgW0TMXyKEIhkul3ECCiBR/fuEu6FCHsux/jc4PdRyEkjaZF2ZWebracoZXbkJb2A577UeraOEYgILbEKP4im/4gUutnbFxG8fWzaK6hn/toriE79jM8wB0FE8Mxpl5OGnXT0ijp3K2LruNmVdHP1XTnHLp9x9HLjFGonMa2GKOXN2qa043hUTSIIo0dG7EWMQCRO+KdsFGM1fPjQr72Qv8hO/ize99z/uMe+5wOSzpNg1XzYuJ7xzIevZ8DmbNicMWMjzCdv52MY5t7gJh3Px/0KvVCpEuXUmYNa9EvnuNqzB3W5kJOpMw95NcZIbTXadf+HW6879FgWonZr4SP464/+tJmdrIDH/As/wzCnFo98eF4HETpzf237uwbwjw7VfyHCHogEm/GXLeKtGYZhTh32qqVD95/XGxORR0R/TES/Ma/XZBiGYY7OPM99vAPAp+b4egzDMMxdMBdhJ6KHAXwLgJ+Zx+sxDMMwd8+8zrH/EwDvBNCd0+sxc6ZSEqWsUKhK5yaVSueVqlAqqW3GXpptSlWhlFK/hqrca1XK2ozd9KmTQmX6S6Wm2qRp1zfKKJO0TUH3VUqhsmEGjL2ZSyhAwdyIo28Dsu06DIG5RcjdTGRvGWrQaDsId8UxTd/Q1Lz9iWwYAapvlxLmRikigoAASAcYENRsNzkRPBNGwCMBQeYWLls2r+ERmbs+dT+bhLH7rmzahIBv7NbmC0/nZHLbR+h+gfCm6r6pB81ceAhMWfDFDyeGYws7Eb0VwHWl1FNE9HV36Pd2AG8HgEuXLh33bU8FSinkskQmS+RVgUyWSKsCuSyNvUBWlchlgUJWrp9ur5DLYjqvShSyRK5KFLJyr1M4oS7rXE2Ld6Xuz638HgkIEDwh4EELSi06Ap5ps+IkrN2ImxUnK3A+efCEcMInjKh6RkSsKLp2kL7p1MVfqaOxAHCC24To8HeeTseZgZtAXNn0qWPWQN8r2rBJs4H9m8jGxGUntFLpv680k6JuU6ZeT4qVlKjMdtJOnFKism1Kmvta7z12kgiESeQhED5C4cE3eSB8BMJD2Mh12Uc0k4fCR+TVNts39HxEItC2RjnyAkRegID4Brx5eOxfDeBtRPQWADGAHhH9n0qp/7rZSSn1XgDvBYDLly8v4OnJU2NBLktMqgJplWNiUtqo67JJMkfWqGfS5I16VpWmnxVsLeTHpd7JPYQiaBwU9YGSBOHUgeJTfeBYj8pvtAXOI/NnvLS6zdbrstCeoKg9vGmvT9cf9APqJKLMaqm0K6yp1ZZejTVXYnrlVjZWbBKlrZv+tt06Drks3YqwMI6JXRnmsnR9CuPcDIrUOTTWnsnaYTkOBHKTQiQCxF5Q502bFyAWJnf1ELGpJ16IxAsRuXJg6rocipMb0+bYwq6UeheAdwGA8di/f1bUj4NUEuMqx7jMMClzjCqdO1uVY9ywTaoM41KLs84zTKrC5alpO6oX45OHyPMRe6HZGeodpBsk2Iz1zhN5tfcQi8DsYNa7aHgWDQ8kMjtJ01MJPZ89D2YuEJGepHE67oZWSqFQeoVar26N+BuHydlNPTMr3azhaDkHrFHPqgLb+ci1OQdNFkde1XokEIsAiR+6SSDxwql6yw+ReBFaXoiWH03Z2rbNb7YHczmltZDr2G/lQ/zs534boyrDqMwwLut8bG0N4T4skfDNF6u/oJYXIfYCrIbtxgwcuZk38ULEfuj+OLaPy0WghdwL4IvTcVAwzGmHiBCSdnDuJ6WsplfrMsek1Kv4VBaYlHY1nxtnMa9X/GW98h8UE1xLd5E6ZzM/0iokMSLf8kK0/RhtP0TLi/Cy3sVDv8Zcvzml1O8C+N2D+l1Ld/HPP/dBRCLQg/YjtP0YLS/ERtTFpdYZ/cHch7PlyMx2ZhsvQmI+NIsvwzDHwRceuiJBNzj6M04Pwk4a4yrHpOG4uvw2Nuv8Xkt30QsO/4Bvmv0x6H7wuje8Xj355JMsxAzDMEeAiJ5SSl0+qN9Crk+yP7oxDMMw84cvPGUYhlkyWNgZhmGWDBZ2hmGYJYOfPsGcaOxdmZWU5q5NNMo2wYUdmAo1oOrQArIZWqBxwUB9R+nBY7G3FDTDB6BRFo1QAvruWUzdMUtEEIQ6NIALE6D7eUJM3V3LMHcLC/sSIpXSN3dUFbKqQt5IxUyeywpFJU24AomyqpBLiaIyIQkqOZXruw51v0JKfdeiNHcoSjWVV1KiNKJcSrm3riQqqVwulUQplbuNvlrAFVsnBc/GihHkQi94glxMF0EEX9gYMHpSaNZ94RmbLge2TQgEJvc9bdd1D4EnEHqe6eMh8DyEQiDwdDlo9AmFh9DYm3noeYhc2edJakGwsN9jKikxKUt9o0Nh8rJEWpaYFAXSqsSkKJEa+6QskJUV0qpEbvplVYXMleu6zfOqRFZWRsi1QM+bUHjwvaYwGAHwPC0kThC0gATCioQHXxjhMUKlA0bRtEAZcWqKmPVeXTAsIniCprxgFzvGersAQNOBtwgw/awXPeNtu/z2ImRDh83GjNGxYXRJqmasGEBKaQKPwa06ADRWGiYGjNSTmL31X/dVdeA0WQdIK6VurydKCSmVDhcgZWNSVShkhbSU9QS8z2RcmEncTtjzxk4Aka+FPvJ9RJ5X556PyLe5j3iqXddj30fi+4iDwJSDhj1AEviI/UD38X14gs8ws7BDH4hpWWJUFBgXucvHeVGXiwLjosCoyDEpCozLEuM8x7gsdL3QwjwudH1ihDuX1V2NKfQ8t/PaHdzu8KHno9MK3UER2gPE82uvyRxIs15UcBtPywpx2PDMrNfmmdMIzHKjzIShRb5CXtUrN7fKMxPB1KqvsfrLnbNR2zOzekwb9qwqkRlHZjudaMfFOCjWgcmruz92Ej9AK/CRBIER/wAtmwc6b5u2dmjyIEQr1O3tIJzOQx1G5LQcB6dW2KVSGBcFBlmGYZ5jmOt80CiPihwjY7PlcVG4tnFeYGhEWx5h2Z/4vts5mjvLShQjMTuTtce2r617vrNbDyM2difkPi9hmfsPEbnTLgmCRQ8HUim3Um2udNOGbVLYla5e9Y4bTtXEOV26vpOluDocYGScr7F5zcPiEaEVhGgHAdphqJMRf1vvBAE6YaTLjdQNo6lyKwju6SSxMGHPyhL9LEM/S02eoZ9nzjbIcgxMfZBnGGQZBnlu8gyjPD9UGK/I89EJp7/89aSFSysrZoYO0TGzcisI0AlD98ezs3rLzuRGnFl0GebeI4i0xx0EWMP8b/MHGqdKG6vxYZFjUpTa+SsK5xCOzGp+lGsncVTkGOY5ttO+sw2L/FArDUGEdhCiG2mh70aRyUP0GvVeZFOMs+32oT/XQoT9E9ev4RX/7Cfv2McXAt0wRC+K0Q1DdKMIj66sohtFbtazX4qeCadnxLYR88DjO1wZhtkfTwinG5s4vHDeibyqnPA3zyDYZJ3TZnmQ5bg+GuLzt7SDO8iyPRcPvPGhhw89hoUI+5lWGz/wn3wNelGM3szMZGevxD8957MYhmEsoechTBKsJXe/ylD2VLMR/X6eIvR8/OIht1+IsJ/vdPDdl9+4iLdmGIY58RCRO3V8vnP07fm6IIZhmCWDhZ1hGGbJYGFnGIZZMljYGYZhlgwWdoZhmCXj1N55yiwfUtYBwqRUqCodH0Xauo2ZIhWkiaUipZyO7ijVVKRHpUx0R6UjPtpojzaeiw3reJib3dzFt804NCYyI0zURiIT6bEZ0VHMRHcUOhYOmdg3LjaOIAgTuEsIHVfHBvYSgi/9ZQ4PC/sDgFIKZSWRFiXyokRWVMiLEnlZIStK5IWJ71FUyF2uU2GSLZeVrO1VhbI08UTKCoUpl5U0qVmubZVULq+qOvLjAxzM8UCIUEdw9AR8z0RrbOTTyUPgN6I4+gKBr8MF+L4O3hb6HgJfB3ezZZsHvocw0PXQ9xEGJk5R4CEKfG0PfMRBbfM9wfeenBBY2BeMUgppXmKSFZjkBcZZ4cppXiDNSlfWeWlS4fKJsWWFTmle6HJeIjW2eYimLwSCwIRu9T0jGEY0PC0QViiiIIDvxbXQiFpwfE+Lk2ejPjaEynmpnnDRHK336hE5b1eYELYkTHxzE93ResweEchEgrS2KS/bCFAz0uOdNMl+f7Wnv9f7n14d1BEbrU2ayIz1asOsQqRdmZiyWblIqerVi6wnx8r0sRNnZSdNOT2BFqVEVpQYpvmUzU7KzQm7ksffQQQRwsBDHPiIQh0DKQp9xKGPKNB5HAY6D0we+kisLTLxlCJtS6LA5a0oQBwFiAO+cfEwsLAfESkVxlmOUVqncZpjlBU6T3PTbupZjklWYJwWGGc5xpnO08yIeF4cWXSnDpBQ7+xx6KMdB1jvJuYgCtzBFBmvKg5s2Uc043mFTQ/N1hveW+B5fDpgiZFS6WiNZYWyrPSqrqxQlHpl51ZxhY7AmOXNFZ9xIJrORaNunY7BOENaNJySTIeyPgpEQCsKkYQ+kihEK7LCH6IdB0hm8lYUop2EaEchWnGI9kxKwmAp9+sHStiVUkiLEsNxhv44xXCSYzDJMBhnGE4yDCY6t/Zhoz5MM4wmWqgPI8SeILSiEC2zc+kdMMT5tRjtOEQc+WYHDdzO2fRQdG4FvLZFgcceCzN3hCBEQk/89xMpTQTHrF6R2hVrnZtVa1ZglObalheYpIVxnErsjCZ4/lYf49Q4T2l+qIitREA7jtCJQ3SSEJ0k0ikO0W2ZchKia+wub5mUxCfymDyVwp4VJfqjFLujFLvjFINxht1RisE4RX+m3Dft/XGKwSRDWd35YQKB703/UeMQ6722/qPH+g/ftrnxBlpRgHZsPALjGZzEPzbDnDSEIO3EhAHW5vi61omzQj+1ujZpOLF55vJhmmOrP8IXr2075+4wmtFNIvRaEbqtGL1WhF4rRrcVYaUdO9tKK0avbdrbMVZaMcJ7NJEuVNiVUphkBXZGE+wMJ9geptg15Z1G2dp3Ryn6o/SOyzdB5GbTnvlCL2z0Gl+8/vK7cYRuW8/AdhbuJBHi8FTOdQzDNCCqJ4yNY7yOW+Xblfw4M6v8FMNJhr6p98epOROQ4dZgjC9e23bO5J0WDnHoY7WdoNeOsdqOsdJJsNpOsNqJTa7TSjvGmZUTHrb3z164hW/+oX+BneEEWbF/7GJBpD9sJ8FqO8bFjR5ecekcVtoxeq0YKx0949nZr2dmw3YULuU5M4Zh7j/NCWJz5ejbS6kwSvVZBHsGoT9OsTu0Zxe0w7o7SrEzmuDaMze0bZzumRBe+/jFQ7/vQoTd9wSeePklrLYTrHX1jLTWqfOVdoJuErFAMwxzqhGC9BmCVnyk7SopMRhn+uzFSJ/BSEIfP/cDh9ue1AIuHr58+bK6cuXKfX9fhmGY0wwRPaWUunxQPw4pwDAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZxxZ2InqEiH6HiD5FRJ8konfMY2AMwzDM3TGPG5RKAN+nlPoIEXUBPEVEH1BK/ekcXpthGIY5IscWdqXUCwBeMOUBEX0KwEMAWNiZuaGUgqzMU5VMkrJZNvHMG2XlYpwrKNl8olIdR70ZV/0gmk9LasZ1Fzbuu3sKUuPJSYIgPOGejuR5pGPNm5jzNgmPOGgcMzfmGlKAiB4F8DoAH5rn6zKLoSwrZFmJLC10suVMl/OsRJYVyHNbLpHnJYqiRJFXyGfqRaFTWTbKpq6TNHWJyjytqSr1AyJktfyPV7Ii7/sCnq+fdGTLge/B8/WDTnzfgx94rhyEuhyEOu5+EPgIIx9B6CEM/TpFPqIocOU4Dpwtim2uH2jh+fzz22lmbsJORB0Avwzg7yql+vu0vx3A2wHg0qVL83pbBjrQUDrJMR7nGI8yTMY5xmOdT4w9neSYjHOkaYFJs2zyNC2QTnQ5SwukkwLVAeFKbwcREIY+gtBHEHimrAXHClIQeGi3Iy1eQS1cVrR834qcV4ud824bZUEQxgsmotpmnrpE5klKniDAedcACfvUpPrpSXfymK2XP1U2T06aWhGYlYJdRTTLUkrIStXPc60kZOMJSFVpymVjcit1vTJPPrITX1lWSNMCRZGiyEs9UZo8z83Emh/tIRZNfF9okY9DxIkW/CSp60kSIknqcpyESFoBWq0IcRKi1QqRtEK0WhGSVoh2O0KcBLwquU/MRdiJKIAW9Z9XSv3Kfn2UUu8F8F5Ax4qZx/suA0oppGmB4SCt03C6PBpmGI0yjIYZxiOTxjofjXJMxncODdokjgPEzQMyDhAnAVZWWu4Ajhspimub8+6s5+c8QA9hI/d9fvblSUAphbKUyGdXVVmJLG+suuwqLC31xJ7Vk3ua1RN+OikwGmXYujnQtol2ErLscBMIEdBqRzoZ0W93dL3djtDuxGh3InQ6MTpdkzra3u3F6HQTRBE/Gu8wHFvYSX/LPwvgU0qpHz/+kE4nVqD7O2P0+xP0d03qTzCYSqmzDQcpBv0JyvLOnnGcBGi3Y3cQtFohzpztod0O0WrXHlHTQ2q1IyTGc9LelBZxz+Ml9oMCEdWro3v4PlUl9YpwkmMyLqZWi5NxjpFdRY4yt6rUTkmG4SDFtau7GI0yjIcZ0rS443sFgYduL0Gnq8W+20vQ7SXodRN0ezF6Ky2TJ+j1WuitJuittBDHwT38Bk4e8/DYvxrA3wDwcSL6qLH9kFLqN+fw2gtDKYXBIMX2rRF2tnXa3R5jd2eM3V2T74yxuzvBYHeM3Z3JHZe+rVbodsjeSoKNF59Fz3gh3V6svZRejG431h6K8Vja7ZjPdzInGs8Txts+Wmja/SjLCqNhplet/Xr1OhhMMBxkUw7RYJDi+rU+vvDZaxgMUkzG+W1fN4p89FZbWFlpobeSYMWWVxOsrraxstrC6loLa+sdrK610OnGp3plMI+rYn4f+mHvJx6lFMbjHNtbQ2xtDbG9NcStrRG2t4fY3hrh1q0hdm6NnJjfzpPudmO3k5w7t4KXvPQ8Vlb1DuM8BVte0R6F73v3+dMyzOnD9z0tuqutI2+b52W9Kt41K+edsVs575rV9O72GFdf2MHuzhijYbbvawWBh9W1FlbXO1hfb2NtvY219Q7WNzpY22hjfb2DtY0ONjY6SFrhcT/23Fma58CNRxlu3hhg6+bA5EPc2hpi6+ZA5zcG2L412nep53kC6xttrK53sLbewYu/7Jz5Q7axutbG6noba2ttJ94s0gxz8ghDHxtnutg40z30NkVRob87xs72GLs7I+xsj7FtnLvtW0Nsb4+wdXOIz33mGra3h/tenRUnAdaNyG+c6WL9TMeMo+PGc2aze18ngFMh7Gla4Ma1Pm5c38X1a33cuNbH9et93Lzex43ruj7eZxnWaoXuS375qx7SX/6Zjpl521jf6GJ9o41ON+GnNTHMA0gQeIeeDKRU6O9q4b+1NXRpe2uErZsDbG0N8dnPXMXWHw6QTvY6kO1OhM2zPWye62Fz0+Rnezh7rofNcys4e7aHMJqPJC9c2JVS2N0Z49rVXVy/uotrJt241sf1a1rId3fGe7Zb3+jgzGYXD1/awOsuP4Yzm12X7B/qJC6RGIY5nQhBegW/1sZjj5+9Y9/RKMOtm0PcvNF3ZxBu3tBO6I0bA3z26avY2R7t2W51rY2z53o4e34FZ8/1cO78Cs6eX8G58ys4d2H10GNdiLDfuNbH33/nL+Hqczu4+sLOntMjSSvEuXMr2Dzfw8teedHMaivYPKdntzObPQQBnw5hGOZk0jaXcD7yoo3b9smzUov99T6uX+vj+tVd3Ljex7Wru/jSn9/ElT/6/JQ2vuJVDx36/Rci7Lu7Y1y/1sdDl9bxhidejHMXVqZmptP+izTDMMxBhJGPiw+v4+LD6/u2K6Uw6E/cWYwg8PG//8zhXpsfZs0wDHNK4IdZMwzDPKCwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2T4ix4Aw8yTqqywe7OP/tYQ/a0B+lsDDHfGyMaZTpMc2ThDnhYoiwplXqIsSlRlBSkVlJSQUgFKAUQQgkBCQAiCF3jwfR9+6CMIfQSRj6gVIW5FCJMQcTtCd62D7noHvY0Oehtd9M504Xneor8W5gGDhZ05NeRZgWt/fh1X//wGbjyzhRvP3NT5c1vYubaLW1d3sHujD6XUHV9Hi3KAIPLhBVqkPV9AeMKJOAAopaAUtNhXElUpUeSlngzyEkVWoMjLO76XEISVzR7Wzq9i/fwqzlxcx9lLm9h8ZAObj2zg3KNnce5FZxCEwdy+J4ZhYWdOFEopXPviDfz5J57BM08/hy89/Rye//xVvPCFa7j57K0p0SYirF9YxebDGzj/2Fm84itfivXzq1g9u4KVM110N7rorXfQXm0h6cSIkhBhEs7Vg66qCvkkRzrOkY5SDLdHGNzSq4XdmwNsX9vB9tUd3Lq2g1sv7OALH/sitq/tTn0OIQibj5zBhcfP4aHHz+Phl13EIy9/CI+9+hLOPnJmbmNlHhxY2JmFk44zfPS3P4EPve8pPPn/fhTXvnjDta1u9vDQSy/gK77uVbj44vM4/+KzuPDYWWw+cgYbF9fgB4vdhT3PQ9JJkHQSACvAYwdvU+QFbj53Czee2cLVP7uOF75wDS984Rqe//xV/N6vfAj9rYHre/Hxc3jim1+PJ77l9fiKr30lwji8dx+GWRrooGXroV6E6M0AfhKAB+BnlFI/dqf+ly9fVleuXDn2+zKnl50bu/jDX3sSf/DrH8ZHf/sTyNMCcTvCG970GrzuG16Dl7z+MTz8sovorXcXPdT7zu7NPp759PP4zJXP4yMf/BP88W99XH8vkuDpAAAgAElEQVQ/rQiv+8ZX42u+7Y34qrddRnets+ihMvcZInpKKXX5wH7HFXYi8gB8BsCbADwL4EkA366U+tPbbcPC/mDzb9/z6/jZH/oFyEriwovP4Svf+ga88Vtej1f/p69EGPG55lmySYaP/s4n8aH3fQR/9BtXcOOZLfiBh+/5374Lb/1v37To4TH3kcMK+zzWsU8A+JxS6gvmjX8RwLcCuK2wMw8uP/+jv4x/9fd/EX/xL78R3/H3/gpe/JoXgYgWPawTTZREeONbXo83vuX1+N6f+i585srn8a9/+Jfwk9/9XlRlhW/9njcveojMCWMewv4QgGca9WcBvHEOr8ssGT/4Tf8AH/ngx/GffftX4wf/j+/lywDvAiLCy/7Cl+FHfu2d+J//6k/gp773Z7Fypouv+6tfveihMSeIedygtJ+7tef8DhG9nYiuENGVGzdu7LMJs+zE7RgAkKcFlDz+bzsPMrKSyNMcAOAt+Adk5uQxD2F/FsAjjfrDAJ6f7aSUeq9S6rJS6vLm5uYc3pY5bfzIr74Tf/sffyf+4Fc/jB/+tv8Vn/zDT0NKuehhnSqqqsLH/r9P4u+99R/iqff/Cb7vZ74bf/Ev8QKZmWYeU/2TAF5CRI8BeA7AXwPw1+fwuswS8pf/u7fCD3388+/71/jwb/4xNi6u6fPH3/IGvO4bvtxcNsg0GfXHeOr9H8OHfvMj+PBv/jF2ru8iSkL8wM99D97033ztoofHnEDmdbnjWwD8E+jLHf+lUupH79Sfr4phRv0x/uj/eQp/8GsfwlPv/xOMBxMEoY/XfN2r8IZvfA0ef91juPTyi9i4uP5A/bgqpcTN527hmaefw2ef+gKe+sDH8PHfexpVWaGz2sblN78WX/Ntb8QT3/xangQfQO7b5Y53Aws706TIC3zi95/Gh973EXz43/0xnnn6OdfW6ia4+GXnceHFZ3HhsXO48Ph5nHt0E2cf2cDmI2fQ6p4+cRvtjnD9ma3pG5T+7Bpe+Ly+SSkdZa7vY6++hCe++XV447e8Aa/8qpfC8/kH5wcZFnbm1HLr6ja++KfP4pmnn8czTz+H579wFS98/hqu/tn1PbFZ2istbD68gfULqzoey7lVrJ1b1eEETCCuzmobcTtClISIWjqfh0BWZYV0nJmQAhmycY7h9tAFIHMhBa7t4NZVHVrgxjNbGA8mU68TxgEuvPicS4+8/CFcevlDeNGrHsbq5sqxx8ksDyzszNJhT1Nc/+IN5/HeeOYmbj635YTz1tUd5Glx4GsJT+jgX4Fnct9EciQIIUAEHe1RKSipIKVCVZR1ELCigqwO/uE3SkKsX1jD2vlVrJ1bweZDGzh76YwJAnYG5x7dxPr5VQjBEbSZg7mfNygxzH1BCIGzj5y5Y2AspRTG/TH6t2rPebQzQjrOkZuQvek4Q5EVqIpqSqidiCsJJZUWeRIgQSAi+KEP300EHsK4XgGESYi4FaK7bsP2dtHb6CLpxA/UbwTMyYCFnVkqiAjtlTbaK21ceOzcoofDMAuB138MwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLBgs7wzDMksHCzjAMs2SwsDMMwywZLOwMwzBLhr+IN/3sp6/iO/+rf4oLF9dw/uIqzp1fwbnzKzh7fgXnL6xgfaMLIWgRQ2MYhjkRVJXE1o0Brl3dxbWru4iT4NDbLkTY19bbeOnLLuCF53fwe7/zKfR3J9OD8gXOnO3h7Lkezp5bwdlzPWya8ubZHs6eX0G7HS1i6AzDMMdGKYXRMMON631cv7qL69f7uH5tFzeu6vz6tT5u3higqqTb5uWveujQr09KqXsx7jty+fJldeXKFVefjHNcv7brZqbrV3fdh7t+dRc3bw4gq+lxttoRNs92sXm259LGZhcbZ7rYONPBxpkuVlZb7PkzDHNfkVJhd2eErRtD3Lw5wNaNAW7eHODm9b4T7BvX+5iM86ntPE9oTTPO7Nlz9ZkMmydJ+JRS6vJBY1iIxz5L0grxosc28aLHNvdtr0qJrS39Zdy4pr+cG9d1unl9gC987jq2bw0xO0d5nsD6RhvrG12sb3SwfqaDjY2OK6+vd7C20cbaegdB4N2HT8owzGklz0ps3xpie3uEWzeH2Noa4tbWENtbpnxziK2bQ2xvD/c4okTA+kYXm2e7eNGjZ3D5jS/Gmc1e42xED2vrHXjefH72PBHCfhCeL8wpmRXg1fv3KYoK21v1DLl1c4itrYH7sq++sIM//cSz2N0Z77t9t5dgbb2t01obq7a83sbqmkmrLaystpC0QhDxSoBhTjNKKYzHOXa3R9jZGWNne4yd7RG2b42wc2uE7e2RFvItXR4O0j2vQQSsrLad0/jY42ed43imcQZhfaMD379/zuOpEPbDEAQezprlyp0oywrbt/SMe+uWnm23b41w69ZIl7dH+OxnrmL71gjjUbb/e4UeVlZa6K22sLKSuHLPlLu9GL2VFnq9BL0VnVrtiCcDhrlHSKkwHmXo747R70/Q322k/hj9nQn6/Ql2d8bo746xszNGf2eMspT7vl67Ezkn79HHz+L1ZmW/vtHG+noHq+ttbJzpYHWtfV8F+7AcS9iJ6D0A/nMAOYDPA/ibSqmdeQzsXuH7njsnfxBZVmB3e4ztbT2D79idYru5c0zwuetXsbszwaA/ue1rCY/Q6ybo9hJ0ujG6vQRdk3d6MbrdGJ1ujE43ceV2J0KnE/MKgXkgkFJhMskxGqQYDlMMBzoNXD7ReX+CwSDFoJ9iONDiPRykkHL/3wuJ9IpcO2AJzp1fxUtfcRGrqy30VlpYWU3qVflaC6urbYTR6fZ5jzv6DwB4l1KqJKL/BcC7APzg8Yd1Moii4FCrAEtVSgwGEwz6qfYSjMcw6OtkPYnhIMX29ghf+uJNDAcpRsN0z+8DTYj0j8XtdqTzjslbOm+1I7RaIVrtCEkrRNvkSRLqvBWi1QoRJyGiKOAflJm5IaVClhaYTHKMxznScY7xOMNkUmAyzjAeZRiP833z0SjDeJhhNM4wGmaYjLMDj4NOJ3aOUacb49z5Fbcy7vaSPatl229e565PC8cSdqXU+xvVPwLwV443nNON5ws38wMbh96uqiTGo6z2ToYpRqY8Mp7LeJRjNDL5MMXu9hgvPLft6llWHvr94iRAkoSI4wBxoieAOAkQxwGiOHD2KPYRRwHCSNvCyEcU+YjiAFHkI4xMHvoIbW7KQeDzBLJApFQoihJ5ViLP6zzLSuRZgSybKafWViBLC6QmZWmBdFIgTXOTaxFPJwXSSY40LQ49pjgO0OpohyQxjsjapbZzWtrGabEr13YncqvXblefzuR96nDMc73xtwD80hxf74HB84TxNhJcuMvXqEppvKYM41GOySTXHtM4x2RsvClzIE5seWIOUmPb2R6Zg7lEmubI0uK25yAPQxB4CAIPYegjCD0Egc59X9v9QJd9X0yXTe55Al7DJjzSNk9ACNNubEIIkCAIQfAEQXgCRLouBIHIJoAEgaAFgkj/R4Rpm8F6kApKl5XOFRSg9A9wyuUKUtokoaRCZeuVdPaqUqgqacomlTovS4mqrFCWEmVZoSolykqXy6K2l0WFwqa83Ld8nL9bGPmIYz3hR3GAOAqQtEKsb3TMxB8gaUVTToJeGUZI2tpZsKtIu1p80LzmRXKgsBPRBwGc36fp3UqpXzd93g2gBPDzd3idtwN4OwBcunTprgbL3B7PF8bTief6umVZ1R5dw6vLG3me195gkZfIcy0wWVaiKEoUeaW9x1yXrThpESqRTiSKQotYUVYNYdMiVxlhtCJ4u3OppxEhGpOVyfVE1pjUPDsJCni+QBD4SJLQTYDNidOWdV7Xo8hHFAXG5iGKgsbKy9ertUgnz2cBPu0c+wYlIvpOAH8bwDcopfa/lnCG2RuUGOYo1J5v7ekqpVBV2i6lgpIKUtWe8qxXbWl63NpgM+U8eJdZz55oT92WhVktCCK3gtCrC92nufIQQvCpBeZIENG9v0GJiN4M/WPp1x5W1BnmuGix1KduwJElGGYPx11z/RSALoAPENFHiein5zAmhmEY5hgc96qYL5vXQBiGYZj5wL+SMAzDLBks7AzDMEsGCzvDMMySwcLOMAyzZLCwMwzDLBks7AzDMEvGQmJTfvHaNn7wX/wGVjsJVjsJ1joJ1jotrHZiZ1tpJ4jD0x06k2EY5m6Y5AV2hhOTUuwMJ2gn4aG3X4hyKgCffe4mdoYT7I5vH7I2Dn2stq3Qxy71WiZvx1hp6bzXikweIwp4QmAYZvGkeYnBOMXuKEV/nKI/zlx5d5SiP0qxO06xO5xgd5RiZzTB7jBFWuyN1vraxy8e+n0X/jDrspLomw+0M5xgZ5RiezDG7kh/8J3hBNvmQ++OJuiP9Jcj7zDuKPDQbRmxb8XotiJ0k0a5FaObRM7ebUXoxCG6rRjtOITPUegYhoHWp+Ekw2CS6Xysy4NJhuE4Q9/U++NUtxnxtnle3j7KpiByzulKRzurq53EOLMxVtr6bIY9i7HebWG1k5yOh1n7nsB6r4X1XuvQ20ipMEqzPbPgYKpsvuxJhhs7I3z++S0MxhmG6Z2D+QNAEgXoxCE6SWSSKRtbOw51SkK0oxCtOEQn1nk7DtCKdHtwAh+ZxTAPAnlRYpQVmGQ5RmmBUZq5fJwWGKY5xmmO4STDyOSDic6Hpj6cZEjzOz/ngAjaOUwi50w+frHjHMaVduzs9dkFnbej8J4FgVu4sN8NQpD2ultHD1ErpcIoyzEwM+xwkusZ2EwCw0k+NUMPJzkG4wwvbPXdH/2gP7Yl8D20Ii30rShAEgVox7ocR4Fri0MfrShEEgVIQt/kJgZ2qLeLQ1/bwgBR4PGj8phTj1IKaVEizUtMsgJprtMkKzEx5XFWYJIVmOQmz4zN1MdpjnFWYJzlru8ozVFWh3uOgD0ma8ctxPn1LjqxWcknoSt3kwgdmycReq0IrXsozsfhVAr7cRCC3Ax7hIccTVFWUs/2xgsYpzlGmfYAmnW7k9nc7oBbgzFSs4OO03zf82l3ggiIAh9xqAU/DgPEgY849I1d51HoIw5M2aQw8KbLvs7DwEfoewh9D4HJw8CWdZvvC/hC8KSyRCilUEodDz8vKxRlhaKqkJt6XlbIixKFK1dIixJ5USIzbdaWFSWyXOdps5wXyIpKC7cRci3iR9vvAf27WzsOncOTRAE6SYRzax3nHGnnSa+ek6heTbfiwK2wu0mIJFre064PnLDPA98TeknVns9DLaRU2lOZ8VDSvETaKE+yAmmhPRp7wKR56dqzQpe3hxN3UDVTNYcHVBABgecZofcQePpBEIEvEHgefE/A9wQCvy77DbtvnnzkewKe0Mn3SJedjVyb14xpTo0nJJlY5sI+JYl0IqrLMLHSBZnI6rN184HIhV2//YSlTKB29xQlmFjuJjcPVII0Md+hdNnWbdk9YUmZmPKmXqk6lnxp8sq0Vzb2vJQoK2Vy6eylqetUoaz0A0usrXC2ZrkW8Xn8zOYJqh0I41CExsmIAx+9dqydjyhAHFiHxK5CaydldqVqV7CtKETEj1s8NCzsJwAhyHgU4d0uIg5FWUlkxttKjReWFdVUPS8r571pD65slLUoOM+unBaRfB8xyYoCZZU2hMcIkhWlqiFesq4zGk/Q1CTo6maSFEI0JtB6Eo0CH+1YT7i+pyfd5mQbNFZntk3XBQK/sXoL6n5WrKOgrkfGtqye72mFhf0BQh/U+ofdk4xqeLfWe532bmXD61VmIlBTNudRO68ZgHluqb2iyj27VDdNj6H5BCVLw7N3T06CfUaqeYISNZ6vCkytKgByKxBPCBABHok9qxDfiDh7p8zdwsLOnDiICB4RPAEE4CuLGOao8PqJYRhmyWBhZxiGWTJY2BmGYZYMFnaGYZglg4WdYRhmyVjIVTHPDwb48f/4B+hFEbpRhJ5LMbphqO1hhMDjKyIYhnnwyKsKgyxDP890nmVIjhC1diHCvpNO8M+ufOiOERoBIPZ9J/LdMEI3CtENI3TCEF1rj0zd2G1qByHaYYh2EMATvDBhGObeU0mJUVFgmGcY5TofFjmGeY5Bluk8zzDIcgzzDANjH+SZs/ezDFm1N9zCExcfPvQ4Fha298NPPolRnqOfZ+inqfuA/SxDP08xyPQX0M+y+oM3bMM8w6Q8XKyJVhA4oe8EgRH8WvhbQYh2qPvUfbW9FQTOlphy4vscL4VhTjlSKaRliVGRY1IUGBWFyXOMiwLjvMCwyDE29VGu20ZFrsu5Lg9za8uPpEmdMETPOKdNx9WeyZgtn2m18Pj6xskO2yuI9ICjCA91e3f1GqWUekZ0s179BQ8byX35eY5Rof8g10ZDjHZ0eVxo+2EhAEkQIPGN0AcBWr7JAx+JKweIfVv3Eft6Ukh8bY+DRnkqaZvgyYN5QKmkRFZVSMsCaVm6NCkLTIoSmS2XJSZFgawqMSlse4FxqQOOjYsCk7LQeaH7j4sC4+LwImxpG6ewFdQO4tl2B4+tBegE5kyBcRrtWYR2qJ3EThihZ84qtMMQ/j0+i3Cq7zz1hcBqnGA1To79WlIp98e3M/Ywb8zkpZ0E6h3FponNywK76cTtbDbP5e2D7d+JQAhEvo/I04If+R4ib2899EyURs/TZc9D6Oyeset6IERd9gRC4ZmySUKYfibAl/AQegKB8PiU1pKilA5CVsoKuY3zIyUKWSGvKhRS2/LKRH609koir0rXJ69MxEfTNzNteVUhK0tny8rpPC3Lum7KhTxc2N1ZQs9zq+okCBB7Ou9FEc51Og0HrE6JbwXbrsx9dAIt4K2wdtpOk6N1qoV9nggid35+E+25vnYlJdKydF6E9TxSI/yp2bnTRjkrK22rSndQpGXh7HlVYSdNjb2cOpj0wVXOhj85NgQgEJ6L0hgID74QLgUmxonNrd0TAj5ZG8GjOoKjb2OlkIBwoQTqsovquCcJCBObRUdrpKnIjfYgbNpcbBfd4D4TNcq3w36XNqKjDYmobDJ2F93Rlhs2hUaUx9skG+WxsnVTrpo2ZQKmSQWpdF5JidLZD0paiG1UyEJW92RfCY0D0nQwrGMS+R66UYhNv2Xqup9dtVrnRTswvln51qvZuLHyTYyQx77PzoeBhf0+4AlhlmT3L/iWjbNtBb9O9SSQS+11OW9MTntndnvrvRVGBKxA5FXlhMQKRVNYCikhlURWlhhLhVJJE9TLipAJ8qWseClXtsG+KiOKVtSWFTuRuTg5bsLTk5hvJ7vGxKgnRTOBWptZ5XWEgEf15Op7uo8u65VZPSHr1ZnO6za3khONlZznTeWRaberRZs4bv9iYWFfUojInV6Z7/pjsTRFXjW83GZsdOm8Yx2lUZnojgpqKqKjcv81ojy693FOvYPq8I7G87ergtmIjwRhbC7aI+rgZs248VbMGWaesLAzpwoigs9CyDB3hE9IMQzDLBks7AzDMEsGCzvDMMySsRBhL1SFYZGiUnd3rSrDMAxzexby4+nnBlfx9b/1DwAAiRei7UdoeZHO/cjVW36o616ExA+n+iReiJYXIvEjk4dIvBAe8SKEYZiTQ6UkJlWOSZljXOWYlBnGVY5xmWFcZRiXucl1eVRlpm+GUZliVOq+L+tdOPR7zkXYiej7AbwHwKZS6uZB/S/Eq3jHy95iBp1h5D6ULr8w2Wl86AyZPPytv5EI0PZDxJ6eCGIvQMvXuZ0M4sZEEHuBrpv22NgST7dHXqD7iAC+4GiTDLOMlLJCWhVIqxypLDCpcqSVzjOTT6oCaZmbsqlXzboW72Z9XObI5OHDlUTCR8s5ttqR3Yg6eKS1jpd076OwE9EjAN4E4EuH3WY1bOM7HvuaQ79HKSs3043MDDcxM97EzXx5Y1bM9nzRt/IhUvNFp+aPMnvt8kF4JBB7ASKhxT4ygh9N2XxEopnrtlCYu+lEoG/pFwEi4SMUPkLPr8uu3SYPglchzAOCVFKHLJAl8qow5QK5LJHJUt9gZ8tSx4jJpnLb19iqAqkppzI3thyp1G22/ainhQVIO4K+dgpjL0Tbi9D2Y2zGPeNYhuZMg3YS3ZmGxhmHljkDYfsc5Dz+zUOObx4e+08AeCeAX5/Da+2LLzz0RIJecPyYMBalFDJZTs24bsauCjdb6xlb7xRpWbidJ5W6T1Zp26hMsZUPTL109qwqjzyBzOKTh1B4CIzYB8Izub/HHggPAWlbXa/LfqOu70TU/X3hwSOBQPjOXud12SMBnzx3V6NHAh559d2PJPTt/uAbbxaJUgoS+u5dae74LZVEpSoXeqBSEqWqdGrWpe5TyMrVq5l6YbYpVGlCFOg7mUtV1mVZolD2jmYt1oUs9R3PsjT1CpksXPtxf3cj0IxT5U85YJ0oNrYQsc092ydE5Plutd5csdu6XdFH4mRHeD2WsBPR2wA8p5T62En+kPtBROY0TIDVe3hvplIKpaqmPIumB1J7GNobyUyb3dHzhpdSqH0OikofLJMqR7+o2/SBWZoQAOagUncXjOxu0ZOAFvo6Foypw8Z7qePEaLuYjgfTuHvTlc229m7O5iTSLLs7P23N3iGKxl2kusn1vx2qvkV1qq5Q39FqrfbOV6AWWDTsdVwZWcePQX0nrUQdWkEphQpanG2cGB1XRqJy/aSzV436/SQg7Wz4os6nbdqxiINkf+eE6tVr2HBUZle4gfBqwRYBArMStjafvBMtuPeLA4WdiD4I4Pw+Te8G8EMAvukwb0REbwfwdgC4dOnSEYZ4uiEi4yH76CBe6FiUOfBLZT0q7YEVxkMrGx7ZVL1RtqKhPcCqDkhlXleLS9UQmNprnBUgl6MhVkb8KiVd+ABlBKwOoiWhULrYMZWSTmanhNWED5BQgA054EQYjS32+a6gbiv0zVACtm4Diwlbo+mJxQUpM9vWE5QJLQAd94XQjBlT16cmQUxPiB4Jl/QkSvDJM206982qyvbbv25WZqZsV3WerZttArOKs7lHHBfmpHHXD9ogolcD+C0AY2N6GMDzAJ5QSl2907aXL19WV65cuav3ZRiGeVAhonv7oA2l1McBnG284Z8DuHyYq2IYhmGYewdfbsEwDLNkzO0GJaXUo/N6LYZhGObuWcidp7kc4/nxJxGIBKGI4ducYv4RhmEYpoFSEoXKoI5wVdtChH0nfxb/15fesU8LIaAIgUgQiLjOSee+iE09ruumHJiJwReRK2t7BN+8piC+c5RhmPlTqRKlTFHIFKXKUMgMpTJ1maJQWaM8QSl1vZATFKaf3jZFLicopc6tDQAebr320ONZiLCvhY/gv3jkx/SHkhP3AeoPOqnLMkUuxxhVt9wXp/tkwG0uVbsdAn5D+CP4ItQ5RfBFnQcm9yis7c2y2U63h/ApdH09CuFTAI9CeBTwCoRh7jP6MtkClcpRqhyVNLmplzJHqTKUMkOlClcuVdOeG1HNTVu2J7fiXcoMEke9R4QaTmrinNOAErSCNefEhqIFn2KEIkYvuADgHx/q1Rci7IFI8KL2gVfs3BF944/+koupmTF1s+GedvtHcf1y84fJkVb9mT9YZv5gh49Tsx9W4H2Te8LkTVtjItB9goZdJ0F+o+4bmy7b3IPfsPkud2X4EOQ5mwDfzMEcHX3TVQWpSpMqVKpwtsrYK1W4PhWsvTCia8ulqReuf7NeyUZZ5UaI80b7rE3nx8Eej9oBDKccv9jrwfe1cxdQfRZBO36xsdmzBPWZBVc3ZxI8Cu/psXdqH42nb/zRX1KClXv2PlJVU7N2pYrGzF17AZXrU+9gpSxQ2W1UbnZSuyPWHkUmR9o+tROX7nUU7t1dhAJW6E3uxN9z4l+XBYi8hs0DwTN3gZo6CTNheKa/rQsQhNnG2oUr6xt4TL1pmynrG39Eff+oa7P1qaeROrulbt97UB3qztM9dX136HSLQvPeVN3ubpWCUtL1U5CNdgWlpOmnoFTV6GNv0JKAvqXL9ZWqmsqVathQNerVVF+pKtNel+u8NH3Kfev3CoKYdnKco+M37CFC0TYrY+MUibBRj+CL2llqrrabdc+tvkO3EvcoXIpTtqdW2O8XgjyElCAU84tTc1TsAbXXs7EpN30K7RnJAhLljPdUzhykJSpVuX7uoHV99jnIUTqRKFUOKZuCYreRUFZMTD4tPs12LXDM0XD3t7oJtZnPTqaeuWvVcxOunWAFPPgUgoSAgF7VzU7c9eQ+Pfl7jZVfczWoV5KNfiJwK0ndHhqRtqvLWrTtezLHh4X9FGB3eB/Roocyd6y32vRApzxX46maYAEmzoo0IQMaXq8L4lJ7xs57VnVcFxvdxb3/MUIKoJG7njQdjUavMpo2G3LAluzt+FasCQIeplcj9QqnXpUwzO1hYWcWij014pnTLAzDHB++85RhGGbJYGFnGIZZMhZzKqZ6AXLwj0DUAigxqQVQbPJk/wS+LpxhmOVC/85UAGoMqHQmn9RJHP7qv8UIu9wBRj8HhaNeb+pBUWyEvpHD1uNpO0UgW0fUaG+UEc7YI9M3AvEv9AzzQKJUBagMQAqo3AhtamzZdN2WjV25tmaa1Dn2sx3ikubg8Pf+LEbYg1dAnL8CpQrz4WZmpn1TCjVTn/5ytgGZmXpmXjO7i8mjRiEAKJwSe1AIPRk061GjX2jKuh81ypgqBzP2oLa79w1NWdt4omGWEe2xVgBKI6IFtAebz+S2nJt+tjxtV/v2yYwo23I+U59pP9aNicGMg2mdxhYgNjDtiOqzEdQoTzuuzTMaXQD/5lAjWOhVMURWtHqH638X76FnXjuj7jPL7pmBcw7n3JgAAAYZSURBVGdTrp43+jR3iAkgd01bc+epd8Z5XqWtIKB3Gh9O/OGb79Bv2Jt1vzFZeI26V/eHZ9rs5GG38xq5LQvTbrcXpmztovF6nq6Tyaf6Nmxk22gfm7WTsdk+mNrmpJ+is5d11sl6aOZafiVn2ipzmaas+0Cafqbd1au6n7LlcqatWa9MPyum1Yy9BFTp2nXwqaJuc+375UWjXszktr3Ym8/9foam47Sf4xUBotOox2g6aGTF2G1v641yM0d9xuAkOGBLf7kjkQdQG7iL55oeVyr0HYZ7PYopT8PZihlbc+fPoQ+wWU+meaCYA8gePKo0k8wQkPbgqjB9kNUHry3fy7tc7yW1LDQmgqnrzWeuPZ+aCGavS7/TO9TXy+/fNltuivhpxU7IxgmYchq0Q1DXrbPgGw/VlKccknoVWq9G7TbhTJ/mana2bPvOrogDED3Y14UsvbAvEr1z2XP5c3i9ubzKndGTkRV6W256ak3vzvapjDdo6ns8QIm9HmXT41QzfZpeaoVaTBt9tAEwNzFNC2rT+91HgG8rypixz37jh5kcbNmmeqKx1+zXNmB6hWK31TcoadFsrGLsdntWPLbc3M4k1+Y3trN2v7H9fqs0vTJ70EXyNMLCzkyhD2Lr+ZwOTvZJGIa5/9z1w6yP9aZEAwCfvu9vfHTOADgtz3A9LWPlcc6f0zLW0zJO4OSO9UVKqc2DOi3KY//0YZ60vWiI6MppGCdwesbK45w/p2Wsp2WcwOka637wyTOGYZglg4WdYRhmyViUsL93Qe97VE7LOIHTM1Ye5/w5LWM9LeMETtdY97CQH08ZhmGYewefimEYhlkyFi7sRPT9RKSI6Myix7IfRPQ/EdGfENFHiej9RHRx0WPaDyJ6DxE9bcb6q0S0uugx3Q4i+i+J6JNEJInoxF15QERvJqJPE9HniOi/X/R4bgcR/Usiuk5En1j0WO4EET1CRL9DRJ8yf/d3LHpM+0FEMRF9mIg+Zsb5I4se092yUGEnokcAvAnAlxY5jgN4j1LqNUqp1wL4DQD/w6IHdBs+AODLlVKvAfAZAO9a8HjuxCcA/CUA/2HRA5mFdKCPfwrgmwG8EsC3E9ErFzuq2/KvALx50YM4BCWA71NKvQLAVwL4nhP6nWYAvl4p9RUAXgvgzUT0lQse012xaI/9JwC8E/OPADQ3lFL9RrWNEzpWpdT7lVI2JN0fAXh4keO5E0qpTymlTuoNak8A+JxS6gtKhwn8RQDfuuAx7YtS6j8AuLXocRyEUuoFpdRHTHkA4FMAHlrsqPaiNENTNcFsTubxfhALE3YiehuA55RSH1vUGA4LEf0oET0D4Dtwcj32Jn8LwL9b9CBOKQ8BeKZRfxYnUIROK0T0KIDXAfjQYkeyP0TkEdFHAVwH8AGl1Ikc50Hc0ztPieiDAM7v0/RuAD8E4Jvu5fsfljuNUyn160qpdwN4NxG9C8DfAfDD93WAhoPGafq8G3rp+/P3c2yzHGasJ5T9Qs+cSq/tpEFEHQC/DODvzqyETwxKxyh+rfmN6leJ6MuVUif6N4z9uKfCrpT6xv3sRPRqAI8B+JiJo/0wgI8Q0RNKqav3ckz7cbtx7sMvAHgfFiTsB42TiL4TwFsBfINa8HWsR/hOTxrPAnikUX8YwPMLGsvSQDou7y8D+Hml1K8sejwHoZTaIaLfhf4N49QJ+0JOxSilPq6UOquUelQp9Sj0wfT6RYj6QRDRSxrVtwF4elFjuRNE9GYAPwjgbUqp8aLHc4p5EsBLiOgxIgoB/DUA//eCx3SqIe29/SyATymlfnzR47kdRLRpryYjogTAN+KEHu8HsegfT08DP0ZEnyCiP4E+dXQiL9UC8FMAugA+YC7N/OlFD+h2ENG3EdGzAL4KwPuI6N8vekwW8wP03wHw76F/5Pu3SqlPLnZU+0NE/wbAfwTwMiJ6loi+a9Fjug1fDeBvAPh6s29+lIjesuhB7cMFAL9jjvUnoc+x/8aCx3RX8J2nDMMwSwZ77AzDMEsGCzvDMMySwcLOMAyzZLCwMwzDLBks7AzDMEsGCzvDMMySwcLOMAyzZLCwMwzDLBn/P/Cw2YrqbM8nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of iterations for convergence: 142\n", + "[4.77010127e-07 0.00000000e+00]\n" + ] + } + ], + "source": [ + "from mpl_toolkits.mplot3d import Axes3D\n", + "from matplotlib import cm\n", + "\n", + "#Two variable example\n", + "def Z(x,y):\n", + " return x**2+10*y**2-1\n", + "\n", + "def grad_Z(x,y):\n", + " gZ = np.zeros(2)\n", + " gZ[0] = 2*x\n", + " gZ[1] = 20*y\n", + " return gZ\n", + "\n", + "X = np.arange(-4,4,0.1)\n", + "Y = np.arange(-5,5,0.1)\n", + "\n", + "X_, Y_ = np.meshgrid(X, Y)\n", + "Z_ = Z(X_,Y_)\n", + "fig = plt.figure(2)\n", + "ax = fig.gca(projection='3d')\n", + "surf = ax.plot_surface(X_, Y_, Z_, cmap=cm.coolwarm,linewidth=0, antialiased=False)\n", + "plt.show()\n", + "plt.figure(3)\n", + "plt.contour(X_,Y_,Z_,corner_mask=0)\n", + "plt.show()\n", + "\n", + "xk = np.zeros(2)\n", + "xk[0] = 1.5\n", + "xk[1] = 2.3\n", + "\n", + "gamma = 0.05\n", + "iters = 0\n", + "max_iters = 200\n", + "converged = False\n", + "while(abs(np.linalg.norm(grad_Z(xk[0],xk[1]))) > 1e-6 and iters < max_iters):\n", + " xk = xk - gamma*grad_Z(xk[0],xk[1])\n", + " iters += 1\n", + "print (\"Number of iterations for convergence: %d\" % iters)\n", + "print(xk)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise 2 (Linear regression)\n", + "\n", + "In this exercise we will work out how Gradient Descent is used in the context of linear regression. The method is unchanged, however we have to minimize a different function, namely the cost function. \n", + "\n", + "\n", + "\\begin{equation}\n", + "\\hat{y} = \\theta_0x_0 + \\sum_{i=1}^n \\theta_i x_i, \\ \\ \\hat{y} = \\theta^T \\cdot \\bar{x}\n", + "\\end{equation}\n", + "where $x_0 \\equiv 1$ by convention (?)\n", + "\n", + "\n", + "The normal equation\n", + "\\begin{equation}\n", + "\\hat{\\theta} = (X^TX)^{-1} X^Ty\n", + "\\end{equation}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of iterations before convergence: 694\n", + "[2.13232543e-10 2.06977546e-10]\n", + "[3.99638664 3.010951 ]\n", + "[3.99638664 3.010951 ]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "#One variable example\n", + "N = 100\n", + "x0 = np.ones(N)\n", + "x1 = 2*np.random.rand(N)\n", + "y = 4 + 3*x1 + np.random.randn(N)\n", + "\n", + "\n", + "#Compute theta and predicted y using normal equations\n", + "X = np.c_[x0,x1]\n", + "Xt_X_inv = np.linalg.inv(np.dot(X.transpose(),X))\n", + "Xt_y = np.dot(X.transpose(),y)\n", + "theta_normeqs = np.dot(Xt_X_inv,Xt_y)\n", + "\n", + "\n", + "#Compute theta using gradient descent\n", + "eta = 0.1 \n", + "max_iters = 100\n", + "theta = np.random.randn(2)\n", + "\n", + "diff = 100\n", + "iters = 0\n", + "while(diff > 1e-10):\n", + " gradient = 2.0/float(N) * np.dot(X.transpose(), np.dot(X,theta) - y)\n", + " theta = theta-eta*gradient\n", + " diff = np.linalg.norm(gradient)\n", + " iters += 1\n", + "\n", + "#Output number of iterations before convergence and compare theta computed with GD with theta computed \n", + "#using the Normal equations\n", + "print(\"Number of iterations before convergence: %d\" % iters)\n", + "print(abs(theta_normeqs-theta))\n", + "print(theta_normeqs)\n", + "print(theta)\n", + "\n", + "#Plot true y and y_predicted\n", + "plt.figure(4)\n", + "y_pred = theta[0] + theta[1]*x1\n", + "plt.plot(x1,y,'ro')\n", + "plt.plot(x1,y_pred,'-b')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of iterations before convergence: 1134\n", + "[4.37898606e-10 1.89083416e-10 1.88844496e-10]\n", + "[3.52385905 2.51683929 2.59844067]\n", + "[3.52385905 2.51683929 2.59844067]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Two variable example\n", + "N = 100\n", + "x0 = np.ones(N)\n", + "x1 = 2*np.random.rand(N)\n", + "x2 = 2*np.random.rand(N)\n", + "\n", + "noise_scale = 2\n", + "g_noise = noise_scale*np.random.randn(N)\n", + "\n", + "y = 4+3*x1+2*x2+g_noise\n", + "\n", + "#Compute theta using normal equations\n", + "X = np.c_[x0,x1,x2]\n", + "Xt_X_inv = np.linalg.inv(np.dot(X.transpose(),X))\n", + "Xt_y = np.dot(X.transpose(),y)\n", + "theta_normeqs = np.dot(Xt_X_inv,Xt_y)\n", + "\n", + "\n", + "#Compute theta using gradient descent\n", + "eta = 0.1 \n", + "max_iters = 100\n", + "theta = np.random.randn(3)\n", + "\n", + "diff = 100\n", + "iters = 0\n", + "while(diff > 1e-10):\n", + " gradient = 2.0/float(N) * np.dot(X.transpose(), np.dot(X,theta) - y)\n", + " theta = theta-eta*gradient\n", + " diff = np.linalg.norm(gradient)\n", + " iters += 1\n", + "\n", + "#Output number of iterations before convergence and compare theta computed with GD with theta computed \n", + "#using the Normal equations\n", + "print(\"Number of iterations before convergence: %d\" % iters)\n", + "print(abs(theta_normeqs-theta))\n", + "print(theta_normeqs)\n", + "print(theta)\n", + "\n", + "#Plot true y and y_predicted\n", + "y_pred = theta[0] + theta[1]*x1+theta[2]*x2\n", + "fig = plt.figure(5)\n", + "ax = fig.gca(projection='3d')\n", + "scatter1 = ax.scatter(x1, x2, y,marker='^',c='r')\n", + "scatter2 = ax.scatter(x1, x2, y_pred,marker='o',c='b')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Short summary so far\n", + "\n", + "Summary...\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/doc/web/course.do.txt b/doc/web/course.do.txt index c6a92cfa2..3cf79156f 100644 --- a/doc/web/course.do.txt +++ b/doc/web/course.do.txt @@ -86,15 +86,33 @@ ${text_types(ch)} !split -===== Projects Fall 2017 ===== +===== Projects Fall 2018 ===== -=== Project === +=== Project 1, Deadline October 1 === * LaTeX and PDF: - * "LaTex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2017/Project/pdf/Project.tex" - * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2017/Project/pdf/Project.pdf" + * "LaTex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project1/pdf/Project1.tex" + * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project1/pdf/Project1.pdf" * HTML: - * "Plain html":"http://compphysics.github.io/MachineLearning/doc/Projects/2017/Project/html/Project.html" - * "Bootstrap slide style, easy for reading on mobile devices": "http://compphysics.github.io/MachineLearning/doc/Projects/2017/Project/html/Project-bs.html" + * "Plain html":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project1/html/Project1.html" + * "Bootstrap slide style, easy for reading on mobile devices": "http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project1/html/Project1-bs.html" + + +=== Project 2, Deadline November 5 === + * LaTeX and PDF: + * "Latex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project2/pdf/Project2.tex" + * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project2/pdf/Project2.pdf" + * HTML: + * "Plain html":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project2/html/Project2.html" + * "Bootstrap slide style, easy for reading on mobile devices": "http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project2/html/Project2-bs.html" + +=== Project 3, Deadline November 30 === + * LaTeX and PDF: + * "LaTex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project3/pdf/Project3.tex" + * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project3/pdf/Project3.pdf" + * HTML: + * "Plain html":"http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project3/html/Project3.html" + * "Bootstrap slide style, easy for reading on mobile devices": "http://compphysics.github.io/MachineLearning/doc/Projects/2018/Project3/html/Project3-bs.html" + === Course content === @@ -185,9 +203,39 @@ _General Machine Learning Books_: +!split +===== Teaching schedule Fall 2018 ===== - - - - - +|----------------------------------------------------------------------------------------------------------------------------| +| Week and days | Topics to be covered | Projects and deadlines | Reading assignments| Lab activities | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 34| Introduction and Regressions analysis | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 35 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 36 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 37 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 38 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 39 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 40 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 41 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 42 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 43 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 44 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 45 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 46 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 47 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| +| Week 48 | | | | | +|----------------------------------------------------------------------------------------------------------------------------| diff --git a/doc/web/course.html b/doc/web/course.html index 66a502125..8d094ae05 100644 --- a/doc/web/course.html +++ b/doc/web/course.html @@ -93,22 +93,25 @@ div { text-align: justify; text-justify: inter-word; } '___sec10'), ('Python and Scikit Learn, a short guide', 2, None, '___sec11'), ('Teach yourself C++', 2, None, '___sec12'), - ('Projects Fall 2017', 2, None, '___sec13'), - ('Project', 3, None, '___sec14'), - ('Course content', 3, None, '___sec15'), - ('Learning outcomes', 2, None, '___sec16'), - ('Prerequisites', 2, None, '___sec17'), - ('The course has two central parts', 2, None, '___sec18'), + ('Projects Fall 2018', 2, None, '___sec13'), + ('Project 1, Deadline October 1', 3, None, '___sec14'), + ('Project 2, Deadline November 5', 3, None, '___sec15'), + ('Project 3, Deadline November 30', 3, None, '___sec16'), + ('Course content', 3, None, '___sec17'), + ('Learning outcomes', 2, None, '___sec18'), + ('Prerequisites', 2, None, '___sec19'), + ('The course has two central parts', 2, None, '___sec20'), ('Statistical analysis and optimization of data', 3, None, - '___sec19'), - ('Machine learning', 3, None, '___sec20'), + '___sec21'), + ('Machine learning', 3, None, '___sec22'), ('"Possible ' 'textbooks":"https://github.com/CompPhysics/MachineLearning/tree/master/doc/Textbooks"', 2, None, - '___sec21')]} + '___sec23'), + ('Teaching schedule Fall 2018', 2, None, '___sec24')]} end of tocinfo --> @@ -529,28 +532,66 @@ formulas in HTML or ipython notebook files. -

Projects Fall 2017

+

Projects Fall 2018

-

Project

+

Project 1, Deadline October 1

-

Course content

+

Project 2, Deadline November 5

+ + + +

Project 3, Deadline November 30

+ + + +

Course content

Probability theory and statistical methods play a central role in science. Nowadays we are @@ -569,7 +610,7 @@ tools of probability theory, the aim of this course is to expose you to central This course covers thus topics like Monte Carlo methods and Markov chains, Bayesian statistics, error estimates, various linear methods, optimization of data and error analysis and central algorithms in machine learning. The course has several numerical projects and numerical exercises that are meant to illustrate the theory. -

Learning outcomes

+

Learning outcomes

The course introduces a variety of central algorithms and methods @@ -586,19 +627,19 @@ essential for studies of data analysis and machine learning. The course is proje

  • Work on numerical projects to illustrate the theory. The projects play a central role and students are expected to know modern programming languages like Python or C++.
  • -

    Prerequisites

    +

    Prerequisites

    Basic knowledge in programming and numerics. Required courses are the equivalents to the University of Oslo mathematics courses MAT1100, MAT1110, MAT1120 and at least one of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1xxx. -

    The course has two central parts

    +

    The course has two central parts

    1. Statistical analysis and optimization of data
    2. Machine learning
    -

    Statistical analysis and optimization of data

    +

    Statistical analysis and optimization of data

    The following topics will be covered @@ -615,7 +656,7 @@ The following topics will be covered

  • Practical optimization using Singular-value decomposition and least squares for parameterizing data.
  • -

    Machine learning

    +

    Machine learning

    The following topics will be covered @@ -631,7 +672,7 @@ The following topics will be covered All the above topics will be supported by examples, hands-on exercises and project work. -

    Possible textbooks

    +

    Possible textbooks

    General learning book on statistical analysis: @@ -651,6 +692,33 @@ All the above topics will be supported by examples, hands-on exercises and proje

  • David Barber, Bayesian Reasoning and Machine Learning, Cambridge University Press
  • + + +

    Teaching schedule Fall 2018

    + +

    + + + + + + + + + + + + + + + + + + + + + +
    Week and days Topics to be covered Projects and deadlines Reading assignments Lab activities
    Week 34 Introduction and Regressions analysis
    Week 35
    Week 36
    Week 37
    Week 38
    Week 39
    Week 40
    Week 41
    Week 42
    Week 43
    Week 44
    Week 45
    Week 46
    Week 47
    Week 48