From 86143b560eb61e54866eaa7b078638df0cd269aa Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sat, 13 Nov 2021 15:47:52 +0100 Subject: [PATCH] added p3 --- .../2020/Project3/html/._Project3-bs000.html | 440 ++++++++++++++ .../2020/Project3/html/Project3-bs.html | 362 +++++------- doc/Projects/2020/Project3/html/Project3.html | 402 +++++++------ .../2020/Project3/ipynb/Project3.ipynb | 331 ++++++++--- .../Project3/ipynb/ipynb-Project3-src.tar.gz | Bin 192 -> 193 bytes doc/Projects/2020/Project3/pdf/Project3.p.tex | 25 +- doc/Projects/2020/Project3/pdf/Project3.pdf | Bin 234911 -> 233056 bytes doc/Projects/2020/Project3/pdf/Project3.tex | 21 +- .../2021/Project3/html/._Project3-bs000.html | 440 ++++++++++++++ .../2021/Project3/html/Project3-bs.html | 440 ++++++++++++++ doc/Projects/2021/Project3/html/Project3.html | 457 ++++++++++++++ .../2021/Project3/ipynb/Project3.ipynb | 559 ++++++++++++++++++ .../Project3/ipynb/ipynb-Project3-src.tar.gz | Bin 0 -> 192 bytes doc/Projects/2021/Project3/pdf/Project3.p.tex | 432 ++++++++++++++ doc/Projects/2021/Project3/pdf/Project3.pdf | Bin 0 -> 233056 bytes doc/Projects/2021/Project3/pdf/Project3.tex | 404 +++++++++++++ .../Projects/2021/Project3/Project2.do.txt | 255 ++++++++ .../Projects/2021/Project3/Project3.do.txt | 279 +++++++++ doc/src/Projects/2021/Project3/clean.sh | 3 + doc/src/Projects/2021/Project3/make.sh | 87 +++ 20 files changed, 4449 insertions(+), 488 deletions(-) create mode 100644 doc/Projects/2020/Project3/html/._Project3-bs000.html create mode 100644 doc/Projects/2021/Project3/html/._Project3-bs000.html create mode 100644 doc/Projects/2021/Project3/html/Project3-bs.html create mode 100644 doc/Projects/2021/Project3/html/Project3.html create mode 100644 doc/Projects/2021/Project3/ipynb/Project3.ipynb create mode 100644 doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz create mode 100644 doc/Projects/2021/Project3/pdf/Project3.p.tex create mode 100644 doc/Projects/2021/Project3/pdf/Project3.pdf create mode 100644 doc/Projects/2021/Project3/pdf/Project3.tex create mode 100644 doc/src/Projects/2021/Project3/Project2.do.txt create mode 100644 doc/src/Projects/2021/Project3/Project3.do.txt create mode 100755 doc/src/Projects/2021/Project3/clean.sh create mode 100755 doc/src/Projects/2021/Project3/make.sh diff --git a/doc/Projects/2020/Project3/html/._Project3-bs000.html b/doc/Projects/2020/Project3/html/._Project3-bs000.html new file mode 100644 index 000000000..47e28dced --- /dev/null +++ b/doc/Projects/2020/Project3/html/._Project3-bs000.html @@ -0,0 +1,440 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 17, 2021 + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +
+
+

Project 3 on Machine Learning, deadline December 17, 2021

+
+ + +
+Data Analysis and Machine Learning FYS-STK3155/FYS4155 +
+ +
+Department of Physics, University of Oslo, Norway +
+
+
+

Nov 13, 2021

+
+
+ + +
+

Paths for project 3

+

Defining the data sets to analyze yourself

+ +

For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

+
    +
  1. Kaggle
  2. +
  3. The University of California at Irvine (UCI) with its machine learning repository.
  4. +
+

The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

+
    +
  1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
  2. +
+

For Boosting, feel also free to write your own codes.

+ +
    +
  1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
  2. +
  3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
  4. +
  5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
  6. +
  7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
  8. +
  9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
  10. +
+

All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

+ +

We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

+ +

This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

+

The basic structure of your project

+ +

Here follows a set up on how to structure your report and analyze the data you have opted for.

+

Part a)

+ +

The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

+

Part b)

+ +

You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

+

Part c)

+ +

Then describe your algorithm and its implementation and tests you have performed.

+

Part d)

+ +

Then presents your results and findings, link with existing literature and more.

+

Part e)

+ +

Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

+

Solving partial differential equations with neural networks

+ +

For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

+ +

For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

+ +

For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

+

Part a), setting up the problem

+ +

The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

+ +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

or

+ +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

with initial conditions, i.e., the conditions at \( t=0 \),

+$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

+ +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

and

+ +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

+ +

We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

+$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

and

+ +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

or

+ +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

+

Part b)

+ +

Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

+ +

Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

+

Part c) Neural networks

+ +

Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

+

Part d) Solving eigenvalue problems

+ +

Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

+

Part e)

+ +

Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods.

+

Introduction to numerical projects

+ +

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

+ + +

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 collaborate. 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-2021, "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/2020/Project3/html/Project3-bs.html b/doc/Projects/2020/Project3/html/Project3-bs.html index 85eb0aa16..47e28dced 100644 --- a/doc/Projects/2020/Project3/html/Project3-bs.html +++ b/doc/Projects/2020/Project3/html/Project3-bs.html @@ -1,31 +1,28 @@ - + - - -Project 3 on Machine Learning, deadline December 16 - + +Project 3 on Machine Learning, deadline December 17, 2021 + - - - @@ -87,8 +100,6 @@ MathJax.Hub.Config({ - - -
-

 

 

 

- - - -
-

Project 3 on Machine Learning, deadline December 16

+
+

Project 3 on Machine Learning, deadline December 17, 2021

+
-

-

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

+

+Department of Physics, University of Oslo, Norway +
+
+
+

Nov 13, 2021

+
+
+ -
Department of Physics, University of Oslo, Norway
-
-

-

Dec 11, 2020

-
-

+

Paths for project 3

+

Defining the data sets to analyze yourself

-

Paths for project 3

- -

Defining the data sets to analyze yourself

- -

-For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say - +

For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

  1. Kaggle
  2. The University of California at Irvine (UCI) with its machine learning repository.
- -The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: - +

The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

  1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
- -For Boosting, feel also free to write your own codes. +

For Boosting, feel also free to write your own codes.

  1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
  2. @@ -188,66 +186,47 @@ For Boosting, feel also free to write your own codes.
  3. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
  4. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
+

All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

-All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. +

We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

-

-We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. +

This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

+

The basic structure of your project

-

-This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al. +

Here follows a set up on how to structure your report and analyze the data you have opted for.

+

Part a)

-

The basic structure of your project

+

The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

+

Part b)

-

-Here follows a set up on how to structure your report and analyze the data you have opted for. +

You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

+

Part c)

-

Part a)

+

Then describe your algorithm and its implementation and tests you have performed.

+

Part d)

-

-The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context. +

Then presents your results and findings, link with existing literature and more.

+

Part e)

-

Part b)

+

Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

+

Solving partial differential equations with neural networks

-

-You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. - -

Part c)

- -

-Then describe your algorithm and its implementation and tests you have performed. - -

Part d)

- -

-Then presents your results and findings, link with existing literature and more. - -

Part e)

- -

-Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. - -

Solving partial differential equations with neural networks

- -

-For this variant of project 3, we will assume that you have some +

For this variant of project 3, we will assume that you have some background in the solution of partial differential equations using finite difference schemes. We will study the solution of the diffusion equation in one dimension using a standard explicit scheme and neural networks to solve the same equations. +

-

-For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended. +

For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

-

-For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras.. +

For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

+

Part a), setting up the problem

-

Part a), setting up the problem

- -

-The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +

The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). We are looking at a one-dimensional problem +

$$ \begin{equation*} @@ -255,7 +234,7 @@ $$ \end{equation*} $$ -or +

or

$$ \begin{equation*} @@ -263,15 +242,16 @@ u_{xx} = u_t, \end{equation*} $$ -with initial conditions, i.e., the conditions at \( t=0 \), +

with initial conditions, i.e., the conditions at \( t=0 \),

$$ \begin{equation*} u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, \end{equation*} $$ -with \( L=1 \) the length of the \( x \)-region of interest. The +

with \( L=1 \) the length of the \( x \)-region of interest. The boundary conditions are +

$$ \begin{equation*} @@ -279,7 +259,7 @@ u(0,t)= 0 \hspace{0.5cm} t \ge 0, \end{equation*} $$ -and +

and

$$ \begin{equation*} @@ -287,18 +267,18 @@ u(L,t)= 0 \hspace{0.5cm} t \ge 0. \end{equation*} $$ -The function \( u(x,t) \) can be the temperature gradient of a rod. -As time increases, the velocity approaches a linear variation with \( x \). +

The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

-

-We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +

We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

$$ \begin{equation*} u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} \end{equation*} $$ -and +

and

$$ \begin{equation*} @@ -306,7 +286,7 @@ u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, \end{equation*} $$ -or +

or

$$ \begin{equation*} @@ -314,49 +294,43 @@ u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta \end{equation*} $$ -

-Write down the algorithm and the equations you need to implement. -Find also the analytical solution to the problem. +

Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

+

Part b)

-

Part b)

+

Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

-

-Implement the explicit scheme algorithm and perform tests of the solution -for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). - -

-Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +

Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved and \( u(x,t_2) \) is almost linear, close to the stationary state. +

+

Part c) Neural networks

-

Part c) Neural networks

- -

-Study now the lecture notes on solving ODEs and PDEs with neural +

Study now the lecture notes on solving ODEs and PDEs with neural network and use either your own code from project 2 or the functionality of tensorflow/keras to solve the same equation as in part b). Discuss your results and compare them with the standard explicit scheme. Include also the analytical solution and compare with that. +

+

Part d) Solving eigenvalue problems

-

Part d) Solving eigenvalue problems

- -

-Follow the discussion in the work of Yi et al. in the article from +

Follow the discussion in the work of Yi et al. in the article from Computers and Mathematics with Applications 47, 1155 (2004), and use your differential equation solver with neural networks, set up a simple square, real and symmetric \( 6\times 6 \) matrix and find the eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

+

Part e)

-

Part e)

+

Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods.

+

Introduction to numerical projects

-

-Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. - -

Introduction to numerical projects

- -

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

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

+

Introduction to numerical projects

-

Introduction to numerical projects

- -

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

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

+

Format for electronic delivery of report and programs

-

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: +

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, +

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

+

Software and needed installations

-

Software and needed installations

- -

-If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +

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
+

For Python3, replace pip with pip3.

-For Python3, replace pip with pip3. +

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

-

-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 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
- -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +

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)
+

etc etc.

-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 - +

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. Enthought 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 +

Popular software packages written in Python for ML are

- -These are all freely available at their respective GitHub sites. They +

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. - -

+

@@ -464,25 +423,18 @@ of code developers and contributors keeps increasing.

  • 1
  • -
    - - -
    - © 1999-2020, "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 + © 1999-2021, "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/2020/Project3/html/Project3.html b/doc/Projects/2020/Project3/html/Project3.html index 02711eb55..de797d882 100644 --- a/doc/Projects/2020/Project3/html/Project3.html +++ b/doc/Projects/2020/Project3/html/Project3.html @@ -1,72 +1,164 @@ - + - - -Project 3 on Machine Learning, deadline December 16 - - + +Project 3 on Machine Learning, deadline December 17, 2021 - - @@ -86,49 +178,37 @@ MathJax.Hub.Config({ - - +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

    +
    - - -

    Project 3 on Machine Learning, deadline December 16

    - -

    -

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

    - -

    Department of Physics, University of Oslo, Norway
    +
    +Department of Physics, University of Oslo, Norway +

    -

    -

    Dec 11, 2020

    +
    +

    Nov 13, 2021

    +

    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    -

    Paths for project 3

    - -

    Defining the data sets to analyze yourself

    - -

    -For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say - +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    1. Kaggle
    2. The University of California at Irvine (UCI) with its machine learning repository.
    - -The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: - +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    - -For Boosting, feel also free to write your own codes. +

    For Boosting, feel also free to write your own codes.

    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. @@ -137,66 +217,47 @@ For Boosting, feel also free to write your own codes.
    3. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    4. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    -All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    -

    -We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    -

    -This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al. +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    -

    The basic structure of your project

    +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    -

    -Here follows a set up on how to structure your report and analyze the data you have opted for. +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    -

    Part a)

    +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    -

    -The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context. +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    -

    Part b)

    +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    -

    -You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. - -

    Part c)

    - -

    -Then describe your algorithm and its implementation and tests you have performed. - -

    Part d)

    - -

    -Then presents your results and findings, link with existing literature and more. - -

    Part e)

    - -

    -Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. - -

    Solving partial differential equations with neural networks

    - -

    -For this variant of project 3, we will assume that you have some +

    For this variant of project 3, we will assume that you have some background in the solution of partial differential equations using finite difference schemes. We will study the solution of the diffusion equation in one dimension using a standard explicit scheme and neural networks to solve the same equations. +

    -

    -For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended. +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    -

    -For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras.. +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    -

    Part a), setting up the problem

    - -

    -The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). We are looking at a one-dimensional problem +

    $$ \begin{equation*} @@ -204,7 +265,7 @@ $$ \end{equation*} $$ -or +

    or

    $$ \begin{equation*} @@ -212,15 +273,16 @@ u_{xx} = u_t, \end{equation*} $$ -with initial conditions, i.e., the conditions at \( t=0 \), +

    with initial conditions, i.e., the conditions at \( t=0 \),

    $$ \begin{equation*} u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, \end{equation*} $$ -with \( L=1 \) the length of the \( x \)-region of interest. The +

    with \( L=1 \) the length of the \( x \)-region of interest. The boundary conditions are +

    $$ \begin{equation*} @@ -228,7 +290,7 @@ u(0,t)= 0 \hspace{0.5cm} t \ge 0, \end{equation*} $$ -and +

    and

    $$ \begin{equation*} @@ -236,18 +298,18 @@ u(L,t)= 0 \hspace{0.5cm} t \ge 0. \end{equation*} $$ -The function \( u(x,t) \) can be the temperature gradient of a rod. -As time increases, the velocity approaches a linear variation with \( x \). +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    -

    -We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    $$ \begin{equation*} u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} \end{equation*} $$ -and +

    and

    $$ \begin{equation*} @@ -255,7 +317,7 @@ u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, \end{equation*} $$ -or +

    or

    $$ \begin{equation*} @@ -263,49 +325,43 @@ u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta \end{equation*} $$ -

    -Write down the algorithm and the equations you need to implement. -Find also the analytical solution to the problem. +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    -

    Part b)

    +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    -

    -Implement the explicit scheme algorithm and perform tests of the solution -for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). - -

    -Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    -

    Part c) Neural networks

    - -

    -Study now the lecture notes on solving ODEs and PDEs with neural +

    Study now the lecture notes on solving ODEs and PDEs with neural network and use either your own code from project 2 or the functionality of tensorflow/keras to solve the same equation as in part b). Discuss your results and compare them with the standard explicit scheme. Include also the analytical solution and compare with that. +

    +

    Part d) Solving eigenvalue problems

    -

    Part d) Solving eigenvalue problems

    - -

    -Follow the discussion in the work of Yi et al. in the article from +

    Follow the discussion in the work of Yi et al. in the article from Computers and Mathematics with Applications 47, 1155 (2004), and use your differential equation solver with neural networks, set up a simple square, real and symmetric \( 6\times 6 \) matrix and find the eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    -

    Part e)

    +

    Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods.

    +

    Introduction to numerical projects

    -

    -Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. - -

    Introduction to numerical projects

    - -

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

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

    +

    Introduction to numerical projects

    -

    Introduction to numerical projects

    - -

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

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

    +

    Format for electronic delivery of report and programs

    -

    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: +

    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, +

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

    +

    Software and needed installations

    -

    Software and needed installations

    - -

    -If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +

    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
    +

    For Python3, replace pip with pip3.

    -For Python3, replace pip with pip3. +

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

    -

    -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 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
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +

    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)
    +

    etc etc.

    -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 - +

    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. Enthought 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 +

    Popular software packages written in Python for ML are

    - -These are all freely available at their respective GitHub sites. They +

    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-2020, "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 + © 1999-2021, "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/2020/Project3/ipynb/Project3.ipynb b/doc/Projects/2020/Project3/ipynb/Project3.ipynb index a84d561d2..87b64320c 100644 --- a/doc/Projects/2020/Project3/ipynb/Project3.ipynb +++ b/doc/Projects/2020/Project3/ipynb/Project3.ipynb @@ -2,23 +2,48 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "id": "4eefd1b6", + "metadata": { + "editable": true + }, "source": [ - "\n", - "# Project 3 on Machine Learning, deadline December 16\n", - "\n", - " \n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "60bedd95", + "metadata": { + "editable": true + }, + "source": [ + "# Project 3 on Machine Learning, deadline December 17, 2021\n", "**[Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html)**, Department of Physics, University of Oslo, Norway\n", "\n", - "Date: **Dec 11, 2020**\n", - "\n", - "Copyright 1999-2020, [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\n", - "\n", - "\n", - "\n", - "\n", - "# Paths for project 3\n", + "Date: **Nov 13, 2021**\n", "\n", + "Copyright 1999-2021, [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" + ] + }, + { + "cell_type": "markdown", + "id": "4c0f2617", + "metadata": { + "editable": true + }, + "source": [ + "# Paths for project 3" + ] + }, + { + "cell_type": "markdown", + "id": "6d6a33a8", + "metadata": { + "editable": true + }, + "source": [ "## Defining the data sets to analyze yourself\n", "\n", "For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say\n", @@ -45,33 +70,88 @@ "\n", "We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. \n", "\n", - "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150).\n", - "\n", + "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150)." + ] + }, + { + "cell_type": "markdown", + "id": "93851dd6", + "metadata": { + "editable": true + }, + "source": [ "## The basic structure of your project\n", "\n", - "Here follows a set up on how to structure your report and analyze the data you have opted for.\n", - "\n", + "Here follows a set up on how to structure your report and analyze the data you have opted for." + ] + }, + { + "cell_type": "markdown", + "id": "d43e8960", + "metadata": { + "editable": true + }, + "source": [ "### Part a)\n", "\n", - "The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.\n", - "\n", + "The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context." + ] + }, + { + "cell_type": "markdown", + "id": "e8204f03", + "metadata": { + "editable": true + }, + "source": [ "### Part b)\n", "\n", - "You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.\n", - "\n", - "\n", + "You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part." + ] + }, + { + "cell_type": "markdown", + "id": "dbc59b86", + "metadata": { + "editable": true + }, + "source": [ "### Part c)\n", "\n", - "Then describe your algorithm and its implementation and tests you have performed.\n", - "\n", + "Then describe your algorithm and its implementation and tests you have performed." + ] + }, + { + "cell_type": "markdown", + "id": "dcff5b58", + "metadata": { + "editable": true + }, + "source": [ "### Part d)\n", "\n", - "Then presents your results and findings, link with existing literature and more.\n", - "\n", + "Then presents your results and findings, link with existing literature and more." + ] + }, + { + "cell_type": "markdown", + "id": "70e05a5c", + "metadata": { + "editable": true + }, + "source": [ "### Part e)\n", "\n", - "Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. \n", - "\n", + "Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature." + ] + }, + { + "cell_type": "markdown", + "id": "7899934c", + "metadata": { + "editable": true + }, + "source": [ "## Solving partial differential equations with neural networks\n", "\n", "For this variant of project 3, we will assume that you have some\n", @@ -82,8 +162,16 @@ "\n", "For the explicit scheme, you can study for example chapter 10 of the lecture notes in [Computational Physics](https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf) or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by [Kristine Baluka Hein](https://compphysics.github.io/MachineLearning/doc/pub/odenn/html/odenn-bs.html) at this course are highly recommended.\n", "\n", - "For the machine learning part you can use your own code from project 2 or the functionality of for example **Tensorflow/Keras**.. \n", - "\n", + "For the machine learning part you can use your own code from project 2 or the functionality of for example **Tensorflow/Keras**.." + ] + }, + { + "cell_type": "markdown", + "id": "054d1255", + "metadata": { + "editable": true + }, + "source": [ "### Part a), setting up the problem\n", "\n", "The physical problem can be that of the temperature gradient in a rod of length $L=1$ at $x=0$ and $x=1$.\n", @@ -93,7 +181,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f0a14045", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial^2 u(x,t)}{\\partial x^2} =\\frac{\\partial u(x,t)}{\\partial t}, t> 0, x\\in [0,L]\n", @@ -102,14 +193,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c115bb19", + "metadata": { + "editable": true + }, "source": [ "or" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6f297b9e", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_{xx} = u_t,\n", @@ -118,14 +215,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b7eecb41", + "metadata": { + "editable": true + }, "source": [ "with initial conditions, i.e., the conditions at $t=0$," ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "b7ae63ad", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u(x,0)= \\sin{(\\pi x)} \\hspace{0.5cm} 0 < x < L,\n", @@ -134,7 +237,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1536c36b", + "metadata": { + "editable": true + }, "source": [ "with $L=1$ the length of the $x$-region of interest. The \n", "boundary conditions are" @@ -142,7 +248,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a4b5e85c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u(0,t)= 0 \\hspace{0.5cm} t \\ge 0,\n", @@ -151,14 +260,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "017a9c0e", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "47b0930b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u(L,t)= 0 \\hspace{0.5cm} t \\ge 0.\n", @@ -167,7 +282,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5d12978d", + "metadata": { + "editable": true + }, "source": [ "The function $u(x,t)$ can be the temperature gradient of a rod.\n", "As time increases, the velocity approaches a linear variation with $x$. \n", @@ -177,7 +295,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "99a443e1", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_t\\approx \\frac{u(x,t+\\Delta t)-u(x,t)}{\\Delta t}=\\frac{u(x_i,t_j+\\Delta t)-u(x_i,t_j)}{\\Delta t}\n", @@ -186,14 +307,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "efb9d4ad", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e4701f46", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_{xx}\\approx \\frac{u(x+\\Delta x,t)-2u(x,t)+u(x-\\Delta x,t)}{\\Delta x^2},\n", @@ -202,14 +329,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7a568111", + "metadata": { + "editable": true + }, "source": [ "or" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "4ae11074", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_{xx}\\approx \\frac{u(x_i+\\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\\Delta x,t_j)}{\\Delta x^2}.\n", @@ -218,20 +351,38 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3b111fdd", + "metadata": { + "editable": true + }, "source": [ "Write down the algorithm and the equations you need to implement.\n", - "Find also the analytical solution to the problem. \n", - "\n", + "Find also the analytical solution to the problem." + ] + }, + { + "cell_type": "markdown", + "id": "b107a067", + "metadata": { + "editable": true + }, + "source": [ "### Part b)\n", "\n", "Implement the explicit scheme algorithm and perform tests of the solution \n", "for $\\Delta x=1/10$, $\\Delta x=1/100$ using $\\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\\Delta t/\\Delta x^2 \\leq 1/2$. \n", "\n", "Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved\n", - "and $u(x,t_2)$ is almost linear, close to the stationary state.\n", - "\n", - "\n", + "and $u(x,t_2)$ is almost linear, close to the stationary state." + ] + }, + { + "cell_type": "markdown", + "id": "7e62077c", + "metadata": { + "editable": true + }, + "source": [ "### Part c) Neural networks\n", "\n", "Study now the lecture notes on solving ODEs and PDEs with neural\n", @@ -239,22 +390,44 @@ "functionality of tensorflow/keras to solve the same equation as in\n", "part b). Discuss your results and compare them with the standard\n", "explicit scheme. Include also the analytical solution and compare with\n", - "that.\n", - "\n", - "\n", + "that." + ] + }, + { + "cell_type": "markdown", + "id": "2176774a", + "metadata": { + "editable": true + }, + "source": [ "### Part d) Solving eigenvalue problems\n", "\n", "Follow the discussion in the work of Yi *et al.* in the article from\n", "[Computers and Mathematics with Applications 47, 1155 (2004)](https://www.sciencedirect.com/science/article/pii/S0898122104901101), and\n", "use your differential equation solver with neural networks, set up a\n", "simple square, real and symmetric $6\\times 6$ matrix and find the\n", - "eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra.\n", - "\n", + "eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra." + ] + }, + { + "cell_type": "markdown", + "id": "9b623633", + "metadata": { + "editable": true + }, + "source": [ "### Part e)\n", "\n", - "Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. \n", - "\n", - "\n", + "Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods." + ] + }, + { + "cell_type": "markdown", + "id": "30a12295", + "metadata": { + "editable": true + }, + "source": [ "## Introduction to numerical projects\n", "\n", "Here follows a brief recipe and recommendation on how to write a report for each\n", @@ -276,8 +449,16 @@ "\n", " * 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.\n", "\n", - " * 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.\n", - "\n", + " * 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." + ] + }, + { + "cell_type": "markdown", + "id": "46f47751", + "metadata": { + "editable": true + }, + "source": [ "## Introduction to numerical projects\n", "\n", "Here follows a brief recipe and recommendation on how to write a report for each\n", @@ -299,8 +480,16 @@ "\n", " * 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.\n", "\n", - " * 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.\n", - "\n", + " * 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." + ] + }, + { + "cell_type": "markdown", + "id": "e0329054", + "metadata": { + "editable": true + }, + "source": [ "## Format for electronic delivery of report and programs\n", "\n", "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:\n", @@ -313,10 +502,16 @@ "\n", "Finally, \n", "we encourage you to collaborate. Optimal working groups consist of \n", - "2-3 students. You can then hand in a common report. \n", - "\n", - "\n", - "\n", + "2-3 students. You can then hand in a common report." + ] + }, + { + "cell_type": "markdown", + "id": "e3f10246", + "metadata": { + "editable": true + }, + "source": [ "## Software and needed installations\n", "\n", "If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, \n", @@ -360,5 +555,5 @@ ], "metadata": {}, "nbformat": 4, - "nbformat_minor": 4 + "nbformat_minor": 5 } diff --git a/doc/Projects/2020/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2020/Project3/ipynb/ipynb-Project3-src.tar.gz index 9e8559144e2e630f97cd4e83047c20d2ba8cd7cd..cc3e00964e1a65e2f40cc52bc25b83edd503f714 100644 GIT binary patch literal 193 zcmV;y06za8iwFSg&yQgM1MSbv3c@f92k@Qu6nTQtx^6uSdhj3&@dY~9xlY&2wgdO} z?gR9sco`z}cli?%LUP!yH~Vem?k-piAtYrC#^h--C0Wh&gi;QaQ5JK?c@hJmal%*t zWVw@GI_rcPPHC!IYAf}-xnZmB?Lz-!S00;m8O0if6 literal 192 zcmV;x06+g9iwFSni_>2K1MSbv3c@f92k@Qu6nTQt+HE}x?%+Wf;tO=HbDi4EwgdO} z?gR9sco`z}cli?%LbA`+n_U*Uy9*XW2ub4@#^h--C0Wh&gi;Qa@igWn;pqwpWsK7R z$Z{vWbk+$ooKiPZTdCj94P#aHVbA;uJo8T+YGq-Y_pU|_8l5Z<&yX8z?>JD%rx-j^QN8&j142mk=hUs~V* diff --git a/doc/Projects/2020/Project3/pdf/Project3.p.tex b/doc/Projects/2020/Project3/pdf/Project3.p.tex index 6a1f7637e..044cbbf02 100644 --- a/doc/Projects/2020/Project3/pdf/Project3.p.tex +++ b/doc/Projects/2020/Project3/pdf/Project3.p.tex @@ -1,12 +1,12 @@ %% %% Automatically generated file from DocOnce source -%% (https://github.com/hplgit/doconce/) -%% +%% (https://github.com/doconce/doconce/) +%% doconce format latex Project3.do.txt --print_latex_style=trac --latex_admon=paragraph %% % #ifdef PTEX2TEX_EXPLANATION %% %% The file follows the ptex2tex extended LaTeX format, see -%% ptex2tex: http://code.google.com/p/ptex2tex/ +%% ptex2tex: https://code.google.com/p/ptex2tex/ %% %% Run %% ptex2tex myfile @@ -14,7 +14,7 @@ %% doconce ptex2tex myfile %% %% to turn myfile.p.tex into an ordinary LaTeX file myfile.tex. -%% (The ptex2tex program: http://code.google.com/p/ptex2tex) +%% (The ptex2tex program: https://code.google.com/p/ptex2tex) %% Many preprocess options can be added to ptex2tex or doconce ptex2tex %% %% ptex2tex -DMINTED myfile @@ -79,14 +79,14 @@ final, % draft: marks overfull hboxes, figures with paths % Ensure copyright on titlepage (article style) and chapter pages (book style) \fancypagestyle{plain}{ \fancyhf{} - \fancyfoot[C]{{\footnotesize \copyright\ 1999-2020, "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}} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2021, "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-2020, "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}} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2021, "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} } @@ -129,7 +129,7 @@ final, % draft: marks overfull hboxes, figures with paths \begin{center} {\LARGE\bf \begin{spacing}{1.25} -Project 3 on Machine Learning, deadline December 16 +Project 3 on Machine Learning, deadline December 17, 2021 \end{spacing} } \end{center} @@ -149,7 +149,7 @@ Project 3 on Machine Learning, deadline December 16 % --- begin date --- \begin{center} -Dec 11, 2020 +Nov 13, 2021 \end{center} % --- end date --- @@ -205,7 +205,6 @@ The first part deals with structuring and reading the data, much along the same \paragraph{Part b).} You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. - \paragraph{Part c).} Then describe your algorithm and its implementation and tests you have performed. @@ -283,7 +282,6 @@ for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stabi Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved and $u(x,t_2)$ is almost linear, close to the stationary state. - \paragraph{Part c) Neural networks.} Study now the lecture notes on solving ODEs and PDEs with neural network and use either your own code from project 2 or the @@ -292,7 +290,6 @@ part b). Discuss your results and compare them with the standard explicit scheme. Include also the analytical solution and compare with that. - \paragraph{Part d) Solving eigenvalue problems.} Follow the discussion in the work of Yi \emph{et al.} in the article from \href{{https://www.sciencedirect.com/science/article/pii/S0898122104901101}}{Computers and Mathematics with Applications 47, 1155 (2004)}, and @@ -303,7 +300,6 @@ eigenvalues. Compare with the solution from numerical diagonalization with stand \paragraph{Part e).} Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. - \subsection{Introduction to numerical projects} Here follows a brief recipe and recommendation on how to write a report for each @@ -373,8 +369,6 @@ Finally, we encourage you to collaborate. 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, @@ -430,9 +424,6 @@ 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 diff --git a/doc/Projects/2020/Project3/pdf/Project3.pdf b/doc/Projects/2020/Project3/pdf/Project3.pdf index 54358200b2b33e9ae8e4acd2bb3bac6aec176351..4353dafc012a5b5606fec2ea257db9c5d77b10b8 100644 GIT binary patch delta 115276 zcmZUaQ+J>Zu&iTaV%wS6wry)Bwv9KoIk9a_Y}>Z2iJkN9weQaEtNH=GRz0h#JGT;P zHw!7A9E_7SZ4LpP8c5O7cHZDZ^_!_RIx;P%g(pQa@XYjBDZeynpxI#UC^sRpfNS8& z7sHZ%T{Y}6EEJYW#-LKIK+R})xkAi){+B7NQ)Z;;7rlj+eXE)7Fndzx}h?wKE%}oMGre4Frk;z5! z3T0urOv2uH2!}_!^K8gY2~@Ns;wP41JbyCfMt8lWKO(z(r_+&uHOxmFdOaqsd{A4Yn2Z%K^QHdW z6JAGlIUhM19s$QsJHhI5w1Si^oac}3>g)2EX8om(zOzWc)%BpH;?{UUU{VbelkckO zsN`y2gkYUc9RCz#8%sK?zKIBL{f-d73AUJ0Lnp2V*gItr$rR%*lr0p`G410U6F6hez6c(8`kgvNa+U{0U_`te;58~n zJJAaX7+AP%YGZCVer4;t+3G)}TFysHyr$&VBk=e_MUt_ zU-7SC%o-MQy?uW0p`XCg`sM z&NH7zAq_?Pc=1=k6O2qizF}RB5D($c4+sjDWe51PG|Wc%2VRFDQ$)Pjk=*_Imj#&W z$tk#$r~Z`XEl<@Luyk3Sx06f=$hEzSyUuN|C;h5QLD#{-+!1(6HO?Kl>nlbHDOSWG z>RU>Tu$m~$nk%0;olfJ=={tc?7i7)^@X!WCLUuaOw>y6vy_qEEB1n=KDEN|odE5T# zOFh_+K-do+4s%WPU)^%-h|3MkT;3+#>KG?jN6)@8X{~}sP$8j@^2>r)vbX9G24z)d zaUz!`S{7rh7*D{OUm5K4rCrJ2+FU}U>V9`yg15DenojDf^sEt5ftHNM%kw7%euFQy zH8AjAJ4$8}>0|j&UwNmhYhJe_^_ix1n$}x#DaShW1<+E)ia}sdR{U_GS--K$HtQ#M zl4<}aD~*u7u+m-bC>G3~zirUj)*(E)1^oxwY_E6SX-;|>Puf9JsD;3M8n@0)QKPzz7g5r1 zvYtOf;L;vHE0EQ_UdL2NjDC;M+lgAnZlxgH1Sx-v;^1Eu7Kb5cUE75Qx;0UWxcrdP z^scVUgg~pC6}G8Aj8nXr93%nuf<1?#I58RRl-FBoCO?DZX_GUy${|xJ<^NWSrud_H4F+5|p_9A{v z>YG%m)e&CwOezGf6K#bL=mxhTnnhnBaR{)tznEn~55N~0Zjv(Y2 z$t3^YtO@RF_{3!pT8uSMJ1BrgF)(vtgc z1<|;AkH`Wi3#z+NNc+@|p>7@x_zFAp=G5MNJdDr^z0u@50jb&@t!igiMMC>!-HpdG zy;e`u0D8|^dT@d5Tt^z+sGVlOy^kGI#h#g9g&Pgu{8HfF9 zqTe!wgzJ7R!%YYHf+^%flliJrYORASFBM7POd6edLNHWCDz)_SXP}|}EFKXyXbKXN zdyf7+7If8OdcrvK)B0ks!h~M+QnB}7*sv5g^wb&O*3-pBzuiImyw=iwWb~gR6B?5E z7Q3neq2hw_tVWl4PmlO~@IM(D(c-XQ&1j`0*Lxeou;K4O6&T0@3{B%dmTE1G!G9zV z$Ar(@y9TUK4^hZ6HGAzsA%Q8b6a#O8`)Xnx7nd&Jn}KaXjM&{J$&>D{olloH&syVH zU=QQPU zN*8kS!IkG?=qCH`+6WaDQJL%RwQd`U@Dm<@+k2Hk4a_h(sW7EnQ73Jsy}F=ab}b7Q z?Nf~dqbC(D*tlGV>XQ4O_qmt?e%=$BKPKu+t+fu2eAl{1`r@;qbr3!A)X^^1;7b#` z4R_BbC7vTO-<5r)_D7F2-)UF;`{PL+aRnmp&!=8q2077FnrF_;nRqPr5T(x*5sxq- zpUd!oC>4x|{)5<{J^U#)5s&`Vn18hXlw+Jj_pwiR29badX@O9;-~D=**3;)!=FtA$ zp7145Az_m#zH)$SvJtXn^RI{I&32AaLy@3*h)|1wvEpi8py5W!brXvc|LRHO_Biv6 zJv*`-46H=A=+Wx3PI%(*mHV&b%S1HNLwB{^<{ta^s?AL1)Nr%u(Kt)Veoe2Keu~4< z1I-!HO6?bNNk(rgoT;6Ovx}4IFWdi7_DM{zIAF}||I0!#+S>Mq9H@S|hWV20yUS8V zNavOb5J~)XeNZ^yQAUZ-+P~ecs|(YThp#{0)aoNu44)2% zE!{lF5ea-zkLN{?>mBwTFi6eQ(Js)9Hj<*Uz!PTf%2F3h-Nb$CxIs#z!($H#qmrjb z-t9;CKz{)vLEAP9(`V&-Ppa!0X#sWt3VzF-jh}D9H=ot#OO|7cY_+sA%TX5)E>+>VOJ=W`)4q zxz})qSv*T3>Al-(3{(;K7|p7m;a~7kc~)3BNb9c?=z=8Z-rcY^$+ykElG;;~Q=q^F zZx6svHS;K1^AT4#NjO23sH=9|ks`>&sot8moQZ`)!Z;+2FcGHuY#-aL(BHWIRV=4` zI5M}Z#d89_HVrv4rclCzs@g#Y^-{6KR)v5Zea!|lEre=d+78!kOIpw*wTmT3$t7}x zf!3PRuHl#^W;ss#wfSVLnSR}*oZeVAIRIoYJN!eU(r#tdS+Kx8!@@F*+p_qBBpJ-b zdc~zns>V)B6j6pid3~I3P*NUcMb4>1WVv`Y?thq1@WgpOY;0Z;t)f0(pWUV;S(JNp zkk>^<4(Gt5v>G7oa?2)0l}#Nn>jkM@Uh=oAJOgw2(cgf1ZdhVNC+XTg#M*m=Fa+pi zlYFyvHu1zU^^|#jqiPM3YP^;D`fdBZC|qYFo>L=@hQlo3y$?u)XV|5M0hEiZV*=TGDe?x?}T{+GDtG617@Ep zW?;s3;@ldDGCfx#2>L5@k=@MZ%?HU+>1-IBNq zOe^YJBTq^Q2KoJi9md(UziG8sxX$$L*fx)dhFd*}eJ1b$K~f3AS#R%0ASI^P;i|h@ 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 z zOia-`4~@)VaQlN(7*Ps73i2T$xVyK1JKQmS)diNjW;5&lqx#9x%-SEgz|^)%XPL-E zInx+y=prtMcrmdh>?cobapIb%$7Gy8*GZjtsNhc4v+}HPaxjY@a_PON?x-4o6~!VB zv{_%y%X=K5_9m2`M^T1AP1)t)piqJH+W_d3KTV)}Uawu|2;xGR0U6KAY=_`R5H1z> zTL*-*`BdyF1)Bz+y^*Juk)Svm;qc}t6+<_)BN@Fcz<)*TokA_Evbwe)tptP~0<~U$ z0SL}VIO?1_G{nJwW?+|5JpmK}HkY6z0~EJF!~y$9KsX>UAa7!73OqatFHB`_XLM*W zATl#GH3~0GWo~D5Xfhx&I5ROd3NK7$ZfA68GaxVuFHB`_XLM*FGC4OfGnZi-11Ep9 zwq;aY+qN}|I|L09q;PlF-~@MfDV!>#@BqO*xVuYm2<{%-U6bJMmcU2$x%cdS&V7Gh zt40-lXrFzKIoF~lS5apcvjCd`rNJNwGdl~L06;-e4eVeF;$v0=TDjVrIs-UZ*x0yG zsHr8Kfu;}}Fi6rA0u%u7LaYJG=8%8a)Yk|$HhvUpfD8}>bbfVO0L(lAia>~|hNmNt z9YAOL7f=DaK$y);U0&Tlkd+MxNdKB50e19swz0B?{Hejo%>1X)pKNg!fSjqh9oXH) z&IVu#vH-}jD6#;Q!0xX`8vq>`1TX_yo7!6fz?J|FpbkJ&T}n+IAfu+NsiJ>Q&+=MW z-PO?%?EF7mB-AxDWtaexVoDlP0H78VKt@wtr}gFs>krS2-cpz<(9^vnc=t8*?DY1^6dP z8vHM(!>g39Nw0RuzlpsH0r^wY{$Jq$7a;II+E|;q{FSSqqM`tBFtq_efFM(l`D-A= z6yoXvF!{^&`UkY2{TD$XK*H78`A-kU|8+V4yUqVn7YDzt%)s8;$JBrQzjw?OS_(gO9f(*b!i9YVQK{v9Scc{-Aifn7RQ05NB7QkM}xwS=8)Gxe?2TH ze^r+SS%Lxl|1!Ta`Cr%ni~!wV2bKQylv;p6_MQL>pd|{c5*UB-IuLaK|D3b`>Lu-J zZ?9zP0HphGN&h>})WOEy^FJd0D?%Iihbx^D*xA9<{=a-SF48t0KnoQch`IH@g#DLY z7GnB3`(hv~d*JJ){AJSobDZp7=l1pPvH5d#0hrnU$oe0?*O4^00|8xJ0GvF3xqz=S z{1@R@?f=jPuquD6>1c_oG5(*K`72BcWDd5l0a*b!xOo7k&d#QuC~U8Tz`@N8@MeFV zX$zpoUy}l0WdVU9uPFdWSBMY566}ofXE%Ac0jy$wO#ec>09J{=5g&k6^52M;4Zte> zH+s#J{~PfDSQY+8uT>QPMz2+r{*CxJ0IX_%BTfLT`rm(u3&5)JH{u7d>i!$?zt%MU z8@<*v`y0JRn*SSdzxvF<_OH7CuZ4^2kHx{^?|gQiKPmqn&wrcQUe{>x56BK+1^xrR za<}}u&ntIJ8@Ipx+<)9)SLc5uyoOl)1HSUG{+rdSg4Ujn)*NZ4 zy&BE_L4y6&`i~{DzcP0DyUHsG7kg6|>wg5i7XDjd?pIC_YiHm;RC`?o#2x&Pgx4Cb z|A4Q&-T#Ihui+m5fUosD|8D=Pmlx3aU&a3OG^v05d7AunQL_Dgy#D7g`xjP+ID_qg z+BO!iuNeObQ8a}(+j!`+z20){ulCo^|NdwA9}TGgzM%h+EiMlB@Mh+EJ(QK zxZ;1Uh>lzw+;aL<`#S>3-0u{?_l5q=pE76)!3rM)41JUQLB%@ML3sAh8!d^Ilh+oi zqCZT16@A}fNQsT+Xt8JpWGF6uD(|GAKak7G*Dc|i$!LvhB?V}X9!l`HcRfUNOuS%S zCQ}%cx31;EyBE!|H{m+lV|y%N5_P;=n(BXmhP*uB#zdL+iY+tDn&gMP9hF0H?CHYU zt1z<0exLO?jrZmmM>o8eQH;^N^Bc~JsiZ~@Jnq{eLfCB%UJoL}MT|hsd-NO(S)S0u zQbAU@Y+N_eX9?ZFA%-{({NY59;t@sJD(ga|dP@V08$M)f59dfu`P)Ef0rj`H36+2C zW}85I5~HS$KxElI?oA}RtXNh&Y$g>Nj8jILEs2VUW4&=S&C&T0-F66j`nw3jEP#Gf zb^u9%NpeB79W4(y!;HTea~H+v{Vp=&f|Wws0O?bQp&+WRPcCCQr?V-(#zb z4h8pwY>9k*Yj!SUqneFgV$Nsy(D@F&9nwvORKK07bX()GZLY;z>Q+ku)2jZ2sFEmI zv-ex4v%>jPQA05yrHFfR?U{eSjtru&F(X*n6EXC`W%Y{>ick4_yJ+uB4bj|{@i~Xy zp?$+B&hn9ui$`%21(d{k6}&^hRbyiD*dI4GWV7;nI;UheO2wy7*_Sf?9+WpA)xsR_Rfb+dh@1rxsUU6U2e`zi_oaWfueuV+21@XU0NRkE|56)z=uUT40;2>npKn%|%>YAZFqA`J z3k+Jf_)1dB1Q8P~kS}@5QxwKkoe{St%|d2{P1y>+09j#^mvY0s4msf$;~&m_$jD1#|uSc;+yb&Wt$c z#!gH9Xe`riV5#Fq5m>Ta*uxpaRm7LS!p4iQP9OfMY5JniLk z2OX#O@JeViEYCVD?^HJwDW=V$pbhXqxAdAg0u^7~EdgUVVI;7`2bbA(_? z#7qkzJ}$mYvOB+A+f=9N2nqc9BOp4$YpWLyedpoJWy5GNelAiNyug7+$F)I*w0u?` zJ$z7IsuO>46TZ^{=a={qp1~HV9$T)h@_j}VED z3d?Kwc=>A#*(za(`XJjcF7`*9dd`I$E5>m}!rMhC-C5)&W|R-dR77-DHvN$*>klUM zKKz@Ej*(|3Dz2w^kat@U1|LYce!tI1E=wwF_Vj-cR2A+Wqm&B7D*AWlBD#j%(Dwn1 zxi#(jC0Esnkh$-xZiwf=#}Vi*iw|f6dHc~Hn}4D$^gr563Q)|bRkd1L%1W-nHm>2S zIljB~yF!2Y?n!gk&ND;E8IoXRYcmiMK@&|PLgKWjy@AKJIePb`>v?7j%~UNW{AH9Q z_IrOi+Hs+F+|b+>yvsylE=|oN5*he+>kW~c%k2WJe>&&_#N<#meWa<2GzsrJ-a6wi zvoh%0>=AHd!u2&{&hX<^i9w(Be1D-v^C-{W-jO z44rh40g@Trp3Qn2MhY(GDXSUJQ^`sii3lz`%(EzTve%kc{|0KK$q_8Y=s2cBcg>89 zZom_vl z4=SKT>~5Ey%oC(VX^v>B;MqY``-H%t3QE`y?3U}BF+00RsI&WpVA5Q$>4#nWjK5zk z!U0?Wn11MHt<=NTv-L7}t5&oC)#ZaM``!6ym581i%*%+rq>Pq9h*cj{mp~W_W?koO z*QUF;6`?3}6Yz$L?y!bbL~~?S@{NB9MHo~M)K{fTL4yaSYzMfJ=xL!BT`?nO#e;WJ zKMlChn~<#^tEMSz6Ei)g-CTt7#Ql)RhNju`S+mv&^3(#!-)Fq>s)Q3Me7HM3U@Wm& z^HtERzj?ErBft-LtiV-J5~D9+e-5Q8_u0GnNni4qkoo4m zpi^&B2t~tNiUT|Q%_I#`o{fJ}xN<67=$}t+;z!_wpt!7vlxQN^6vJ(q4$wx;LK3}Y zK)>W|v$eRS5I2V=jGj&i4XlDNp}4bH7Ju6bQM^TjbK2oH@u_Ek!uL!OKCGQQH{R-; z^EC9oKj@Vi>GI}_jyIY^b&PeJO?<@RG3T9vg7UqSJf(boOx+rVqi}y_bj=atU|&L# zr-^~s0^WRlV0Ky;pLgU=;fUJ|gnMiVEtglw_Z%@8|3-|X6X-R$4O6xlw;$G zE4wEL$qC+5F^i3XY9nL$i-sR8r1yBTeuloS-kpnArQyoj0$~zZcP=r0C5tj|@0Mk?(J@>Z6+#-j!@+;*DK;Tq%5@PktC7I> zdn4C-fmKmBaF|bdoF!hXp@*1TQD8LzKBv!by^vA;b6a~f@7dz|=o_k>2M`kuW=&Xu zjZ?1P^%Z@67oi{VR)k^*cY9=Ed@W3Um(Q8lh+tMtcz2o+6mI9vH;0f36^0H$0Dq*D-3S7?=7&6%0z#^Vhw$ojWy(CU^TrtmROu{M1~tA zoA%Z|Ks#|%+0O)|&<3x3S16{vGNCTqiZH8$K6~ezW$mZ;Q=UwPdbz{rs1khY!ezE* zzu7c3SCUGaFZf^}ClJnYH|GTP65%7i@ouO^fAK}3h~#-hXW>Ws_lr}3eASO>(ISFn zV#t4vvFmMI)3kTmnnuCyQM%=~ID%h6s?>PbrhqzrZ_KqWuv!a8xLr8k}~%5zY>#vPMo?YxJ( zZq9S)Fb)YG}gxPaFMc2UUVnWtmp2X|KPK_M!Qz-;+d6zG{mJeTqS=8rz-zu zJd!-d5G>4Rc(iW2@@YqcE%n99iZ~z#G2GR_3_kQy_Qu-3=2tEuKXX?#^t{yB*FA`| z7$6@RAz;K^PT9Xm+k37~bKDfS+?IdMAc}^2_RG6!fep|@13=BqL6~jK!X1^efP18Ki15(e1B>5pkfh%F(M~Z7W{qNM6JAq7cwVrdnqR@d_HJwSb0N>v^owd>+b=J>-Xd{0=V{)DP zjcokyRN8GS6|jr%6`wAk)Ob7CIZ{O42Q4%*);yJ~8e9LE7P#0)@Y}B>ac0r2fb)|| z5n-nmu0;9}N$gY(Mk;!KZ$?oCS|G>#ksoJREgb0C7MO}%Uee@G8TTG|UIA{C`Y2uI zhDm`CWnJLQj~QdQ+Xx~ zWMBF}%XMPT`pV|OCUCCL*!*BVq=NsW29whJBc@QZYVR&IAeU9V?>vx7=B7LyGayFbBa2MUO zHiEO=Zpl$~zqOZ>XEuM%V`OB^H6J{(;cuw7x8!`A?5kq=c(QZ(nR2)(9=6c|r$s~E zy;*DH{E}ZP;?=Q;uu$rr6eL#b^A%XSy9xE%0H836iq)CD6$w<;E<3O^u{E zY2W${`BYtNLok0qfJ(~&wF_dg%vk7I#tHpIrAi+xDkzgVjv2~TN>;`Ol0q2FVcVvE zhj>LgIjm&=l>qduXE71Nr%C{1ssGpnL-xs&!mM!S_B&9VKH;;0J~hX$FvqGM@A9Uu zjjdt8tlhx#u`VK#mGgBcajRS02Xt6p-jjD=W{!MEyi9+bNGjynlI%o~)+accFeE8~ zQ{ZLgGnveOH7`DV_|W-HDPmvy1yu!+jxLN?E}eUmiAs&@596;;J59E9Y@phHsGON< z?+xYQBq{=y%U+|9&qNw}{EY)p4^>I{A^+5dv9#X9*j5jl8u)0u96>*b7&26179W+TM5Q>T)UXiCO<{v)l(mx zgw&3^hjn0`#JSFYi%Tz71!K4m_-YC9L@cG{3)o$>t*b8E6&3-!F5r~noI;v*z5?7^ zgak-jsA`YrJBpZRhP6k^een^SQ{+o*uSS21JmSOfW(liZ$`tAMhXv5%`#{v}$?;Ie zK40LIvTZ~~zoK;XJ7yX?x$@DcG_P|y^DZmVk$hGS-?`sIBinQ3&;x6)K8Hw{CL)Va zxJz%q>T|xNn*Bf``h}8+F?oHUXR%!!9Tpr;YVS2-6zttP7X8?dw)r#dyL{Vxq#%C^ zTR#3Hfn48Gs9KXLWw*lndQxHPwl03Zz+Pz_V7qd9rq4YkB}GjJ<)?1*B4(lE0g}TT zW~GAF&T=pF8ro#j+Z+Ny{AGq>Uc`r=MwcorBbeZfWKOtWO}0!VbOXN3KfAsC4)zo% zrP?S3#j<4kOzf~~A3yBgnZhmFc(i|zmtX8q)Zj?birb_t@IV)MrA28GbwalvMu(7s z@^L>9i}nt7dn^T`L#0RZSznjR6~`qFZXf~{5o6aLwRYO;hf#J`@wij?~N$VYCMFVQE67_!=Zw-^2 zAAW6-G%aO8eIdhL`)1ql9;9}{N-`Uv{UyElmkvvMhRB1>CDQY@1kbOmk~%mTa?6XJ zwGUawl;ZtgG9H|94Q#3VG$(1nP?g3;N{7+p`$&p4FcM-Vtq{W);j49Yy&Ag9!@Pcd5WJrv{W`xU3YAlduD1Hxkr#&Avz;wwS|nsbBNLAzMmVqGt_`?qEzUA;X~HuBh_QyQ#K-Q^AsScqoylY z#g5qYF~8m2P|CVZ$xbq?px?=iX`4XBbN=3{kD5CsK`gt+uk0Yo+h@6S7p|txc6dk4 zqQupv!F#9W6n_eG{!KJE=^uxGx%<2^yUP%NMxfxG=t>H|BItbjt*1UlJVIpoG^r|w z3*9iDiO!v>t$EjY8y63zhdfHtU8rDiN|Eg7O=4B;4=g^Sv5=`?``9v)ScTXbzkOid ztZSLtaWrrj|8{{Ko(m>FenS>7@k>Vc7i{kjF-H_X z#97(^Gsbytzlvaqf3~YL1#lpTwjh8Jm+n~mW1$aflxcK2{C#lwVP$jazI|Kk+Toy_ zO6DdZmlys9*T-~R{z=T6*UWMtxbdpio0PKGPTaH4$F+Jz-f;N@#1%j%Fsfq9Y>ho< z1r})!$V`$h8ES>?%VyMn{o2|zNbvwESWktHOUI0wq^n%6(_y;p!w-epaloq~E}Xr( zFmkVdfgMR3wwn2tAn+sm8!`;jqdLZ#yS%}5n=P5k!=v*`2N-pWQpXzSQG7sn=tuVa zrlCGu4swxmvb3?JY*T}a*F0_DfXhe8hkdd+e5p^d-Kbg=wpP-AEP^K4Xo!fc??u4F z74x*YuJ@>(?@K@bSalD3s*AQY;|@?<%ggbW-5GZfJ?fYLo^3$>Fen3t`5wI7$21`$ zdR}h2y*ZJzIl^37(slR|g7U@7YbLJ$ymJzlJq9f~h!aa&?ts3Xn`F{N2;dkO#BSFIRS(W9Z z>Hw`+mp{{Rc2(jkhG;gecK581%)BWwnOc!u0E##!tk-2_~3YI9`QBD!1ldy zFf_ULe(>>sL8dXi46hnRvF(=N(w)f2^9kis_g%%(vFM^Zk8a^^nht$9K6=D_So_SV zgSA74xZ--s4oz2JVyBNaMSQf0{+y$0eN6b2Gtpu+8uGg{;pbv`kvEJ|o4FracG5Xd zwUAz2~q6sMoJ z4Uly8#0lA}YJ+XBzM?`HHUca*wSRlU5K6`t_VDpe;a!nf^nv`ob$zI;kw3Kz_435t z$@kXMFT(O^D8D(-IyMAc3@UFg21e7cYW(0!E>-1HV$nRY2XsHLdY-{YA}(I5S|z_S^?E29Hu1b!UwE{n)>k+gmmyH*oH(pfTR|S1&`<6D$ zC7n(F8D3=8uN|Wfu6#!Qg)`<@x54a;vpV^IBHYsP_jd?($4K<&sPuX#1^(Yoq(kxg zKHRACKcshnSH}{B8H3CGe!fX_ppE$ZQcU&+)Gv6DUSOD6Bs39|12=(s+M6Xjp4HCp zm1Ceh-4w?>-#5w4-JXFjrO*BEbkd;%*=LOO(YTXxmCBG4XDNjxePcq^K5}1;A1KCu z5=!h9D0@rC#x)Qya(0mv|7ylFWBS&A@(~^Fc#cw*0ZiKFx*0-$@Y~Yzc~Y01%^0d(J+ZRdTOYF=+s#cK*g}T_ zy|s9cM0kHGPsAj~?+5+lxZz|nH4`Gt3iG*MBF4z`_>ji zX_uCz=PILV%YbJbeV53sG$d4pf0FFT;a5;EaHLL$Tf-{MLUx& zqY}>AuGADeek;&zIGp@0lt-g_Acs&KJx|dt-22r-h*B`(=6FQS?vGYY2ZS49rgF2yUB&Z z^pT_$hU#~I4udn65^0e9p@6r)TNUo&1^l}(KIJWCuO{UKZYL1&kL2K z>6){0Ndsfbh3E;2@QJy?iZs`e1fj%lSvY&jMABV{F1BM&&%SJC;YR3d4f@Ebz3J#Y zefXy)%%kV&f}@LelP)(t?gJ;w(+_VjO9Qp{n$L|R;IQ!R1$V$|;aUBs787f_r!H9= zi48w^b)$Mx6T*@b(@1xJk>0`4Fg8aX!Vtw|+MHKSc{FVTk_~h?L)>qy9xLL{dSsy=_{_w2K97#!b0V zMB@fHZAsoUlOd)e)$hxcx(vs;?R`Lu_#C%@jb)#a!qHzHA_Me)+yq7p)@41v-@|Z! zLs&%5Jg&gDA0M@f<67+ZE5RB?*=x*jx0m@QgqAbn{7ScN8{Zr-YKo6hvbX5Sv+ zyGE<7Z9Yn`h=N&v#`}fsih_GsSZtjLY?2aM#RuXHp%H-}SHxJUUGL4{61m$hqm^E= zSHeM)Pic}zzK0t_9ndTR0_<8N%(k2~T5@)Vee`|}IbM&So^15zznc1bm&BMEw4Ro-$*sH0&RcFK4Zz8;Ze%?c}bbf~z8RM!83^#f+ z_fG0wA{147HD)uyB&_<(czW@kN5l{%=!vEu1}Q^-e4v9>a(LD^pNZ{wov`XKi`H)< z?kd*p6rpRjTls-=;zO0`iC%hsg2|MiHd4w^5z~{jE}JqzR?X z7s#1A*Si~kfF_5~J5e4d$EjXE7E2{}bj564MW1TBHez(4u`#Q;rYka9{fG*E)x!ecmYq-Wf8hI+~EfnhQ zpUCwc>g9YL0|5>O59zlm5{%vRX;hhH(C`!(&8S#^XZySFCoGRAnOL8|YU5jBt&FB% zDfqMXsF2}#r`5>!7KK&2%6|424D=wK1(j>KR@}Y=fa9`!bW!gtAAa@J9l|Q*TCw=# zPGMQJBK!BImej9fym6@FURaU4!JE-5Zv!X8_fl_v71GWWs+&};Z_?MXhUtd&A;5oL zYzwP%$yXnsvDBC@CtD}XmxkPx&KI+M#-tdd6_PL#HY5mxvxD1ngqip? zf?(}{T4>g~>9&oi5t*yWq6j;4LDylbNbIv?hIqsR`Lqpip-;?sETm57I7N5Yx(=NZ zIwO|Ao{YR99rs5!pvoj+J&(N|DIuLLJJCsh1XLZ0t3qdG)$ieWTegjd5Eb1cp{j$_ z%W)Jl{CEp&#oON+pQnAF$LGSSPt)^hX&A5%i22;ZUu$lXx8KbAT-6HN7lJP3NLg!)s@ zM8Pp*ud}IZB9Uxz693f`1ujql)W@=W#k@my8dh%Ozj>lmv;QT_=hboN>|c2=#QCY{ z%-U(p@49qT_)QU%Wd1?Qs&(eRu{m~enKEkNh!vORZ#@{zs-yMgGqAS|KC`!4O)4Gi zQSfeVYLr$9J~W3PJLL(+_@x#c#pS+#IUM?|styvB6uMa+z@r^r09ZwKo*!>G@Qzao zlKF-+xn=Cw+Hs!_pUg7^7e(dEN@)^SqPtuqz>)ba8kfqbXyZOfNE85+WaE~tVa1r88 z>C^r)V`vvW>akDuwRwIB2D|fJ;k8q?<*ASbJrf{3kl_Zdw*9OoilG03nNP-j}-kh6`iCmNl!s{#ULaaAICriY=Di~Oc(;7m-U6(l3CdBnCSvr;ULMie zkMjTZwL9a(R#JKOJ?aJ-x19KTjii}w^d*ADJvpm!hjq5`8tRJom_$5(-e>Zi7p;#l z7L%xo#S!T$y^>sUf7fTYEhDSF>I$MvnL7D6K)P(K7$G|WAhPPe;%>0dBD6_AV zAx7bOm-82Fp6|gHH(WJ;wskAO499xi^V7+vyWcQm?!A5Ak?j>b@xF@J;{>udV3`KN zwaht9>&kt@Yp?>_baWuPVS^^{KU=uF^Zyb*<)Io$(dch1trzUp6LNKzR77F$wCV5p zu0+caH!y_Gk7&Gef^7AciXwL;0V;2z+`zWD8b-aA>wcU@u{rX%h- zo^E*OGcoe5M}7W-v*RQ~>2dW?M%$|81Tm3>31Q%-en^p)D4qHXJ96@zc7K(!o?_pR zEJ>R+U%fc7N+zwor0H4>#`W8GhP!Y!(h&tnlntOrP8Q0isg#DOX2iZZr6!?|y9AOj2hmLsWu&+ZW;aIE=snn8_8ti8wN ziNv#qjoh9Yzt_D8KfhRS(B#vd6vgL?42<5sTNN_-++jKb`dy)6*LzzFFm8NLB-Oq& zCp=5hs=fUo0qkM_mmD7}CCBiFc_%zJVDP!I@d2)6DwVq1>svfn~tpo z2hW<=8U8l98fBF_STu39yohxz8YvWd+?H?_XqkMeQxv-XdkM!;I_&+;Owjo`-Y|h= z!Y})|%v5eIW%*%dtZS#`;RRd80Bbsarat@o+Edf6`axq8S|AWClD+sBM-@Dp$35hq>Jt-nKFdF}&%y06a{6(*8EFG8L{K@SXKx#m(emk&<8hbpD6a%GgMj?z5rv-AFk7Sa{}N>bx5Fq$j#E_utmb zPWaNBhI3BWN6KsE>Q5?SgkiGxpl`*s)^b>XWSu2V!GAXDDN;GhX5FZ{=GN(d*~w{J zxZd*gN`oduN*Ro5cxz}1`(;{0Y>rfuxNi2wplf(^a`BE87tUl?GTCOtv4fobD#NUa|vSB3{Z!1fC(9h`KEF%yW=P!DklqfyK20L z9gz%htY2P>24Hdr0J5{{jPt3-vxAmpwemzi1nlOgu)kF9)rLZ^godzup%|!~7a{a? z5~7+N7R6bU9sGjlMf6)-@ZELnPf-lJxpx(`G23Fd4H55I3ptH$TZW2%&A79o$F^r$ zM(&c^hCa=lXefH@J|ja}o=PJVp?$YOf+6gbzqUanG~X$5TdmCzfrO^bWwM!v@Zc%W z3V-%&7^M5gaFvVI=(FlDF099LR&9?JU8TD#;BXTgl}|VqF0rA%>VPnXpfeD=G?qO#wlyxWLMeyco z;ofcj2ZDSvDR2@KWg%%}uZ;Aar;Jn#W5oX!=BXrcBFd>kl7Tj%j;k!49! z+oA2txA8H~hjnpN?=ENsnRiGu5Mp0es_FAfTYwtp*MpoTfjzz}w3N{7Gj{-@@DdnK zBCuMwo*?gbvl9)b>2ntRco3*VW-+qk3tNe4wy<*?^+uO}mq@#d=yYyE#XS~*oy`$J ztKv+OH7f`+19qhHq6hga>U0n0>-k+H%1UoCT`nMV+dy4q0i+ zwoff+a56Yn+XpStDLg3f6}paFFzzQ`Vql8uDgk-D${kaG<~?_!J%|m)0z3}w5>e4osn$NV zFg)cF@L}4Vzu7(hH=F@n>RTnC=3nfH$(nfPS?~9~`Zf%@&j@0`UZ4uocX`sumU8bL3?+MMyY3qMlAzRlx-0TKsaoq3=tztOFz z25{=Q9-!8bm}1_}Ihg6T`3GCr8Jr+cnm9;*UpMTZUf47Re-Y8lNwa*~VAL$FfhGB= z+1V_7pF%vwwmZFW_C7!|#oq!Uxk*`UX#NM2nsKQj=>c2HnmFI!uis{rp0Er|`8&T# zj~Lz(WdjKR2~!E`N-)yvu={>r&0UG61FUuAZyHJq2-1JQQhh<;>$ zRxJ2j$Z@_`yhK4p+0-X=pUtH5JipIsat4`Mvnes**fe-t6`zhP$zrcM`h}~#)N%~( z`D8>U-mlK4f>APi(ZbHGt5V8e#nVB?F_uo_*g^yxc7#yBKC*@4Q_s4H3<4@}Xrc;@ zxP^_CI6d%`r@p0-N%dHN3X4)C)Y6((PMflwQVDC3eQ5nru1hk5(M&7T??m*DAfePvfH8$~)~d(gopG$M_%yVX{`SDs zs-n^dW?pwRU;+aU+FoD>A$3rM3*J{_Q)nag#{nispHr|C#4S00xWnG^eQZ@8nqZ>i zlq$Reklu^*_3g1%h&TZmImTg5!IC^e&+>DMiR#3D;u5mhS2oY;ACnuEBiw|J95Y42 zEZg5}(9}0m!WuMx<5DQ&;?qf_ULF8b!wU`mMAtFE0z25W0-CKNZySBl+>q$dP@=*$ zLmts;e%Z|p`Iq$k2S_%*T%!C@Ct%)FUu@VgOu#$9fXU?3xHp;+*iT5pyI3!?_{GiL z8dV{QvS9}G(uebsOI*rvAdnVWzBl_NAv6Jl!mR#)H7D46Z))1lb>zQM3hW z5_w1Zxe~;25uvGcc!)`pj3v=>&=no}_?ZUpSxd{7ByD4y@gX1h54U!9XU_TOZg@tz zasylKKW+AD7MK-p3>~$02`>sJNBhF4V|C_{%}!-V!I$m&UJg$i%IpLyd_gWZU!@eF zpSV`jvpURwM!zz!lNcI)7snlStNJlhEIKzSJ?btcD8|&a1)zl}oikf=-bapf79sG3 zrkHD-nF2vIOa1VxNW7fM3G{EJ$vRWq=d35hMzx$pwV9W~{h#l4DTqr|J(~#8$j}rE zi?g`hNNLP$H-huYWMzjAN^mnpr&oe`s#QCnLm?l3Po{Q6D^&&6N^EBs@8P?e z-=MBnh-65ll^p2=FyvnjuoM-`71KUYIaj|Wi|a0mtg8v|X%k-LnXVh3G<~@pd`WTT z;nx%DRty90qhd&U#dTG2u{(AFX~5*#W{o9NSSma9F%6H}b_l_{-k-!O0^h@*7y9qR z`BUtFwN5@Nz!NFREP$#8pb8jcrBJO-BrjRjukCPZWBO?U^IBCXVQJ&=P@vj z7ooxw81_M+$*6qeKKJ}67T)V9<0$PcUOWsb&@H%|IDy|gwGls=%guDgvBylU!%F>Q zXUzy*-cIUK+KH@HgJBxg(uD#7%sWwkA*{7uL;S=8PrkqM^xAtHY7I*+&@pk|eo0ot zPkKm@E1xP7;6vFYbuTwd^nK2RZG`8wtpjQh^92DHDr+{jY#J_dZtS(>J$VN$6-Wwe|zO``z7tQd$os zZBR=WmELuHKjAdPFY{k$GvbEUMr1GFG>RgPZ=xUb;Bk6dvb;Yx-rW zF*^I+=1s_`1lu@hW8?zZ{6pQkKrPPWLJALg^Nyb|QH}1Sswl#TRW6}<425Gi9I-}r zvxq-4ZC|R5q}=)7a8!q*%|(NMIhfPEOGa0Zg8k@G-eZ#1ooj*gif^1b8v#G ziFwEnbv{OT9MV+XHR$Vcf$eXh6bOsEfpEkFv2ni3g}VkEcH>@UAjejJ^}clxl4xm( z4~y)v(7dSmY2WvJy=II$mPJ%*_<5#1sqw4ZI}8W~YO)dYxHk-KLV4OXnjE>WceI>| zH#UXek-w!~U@atGC~bgyZy?%!r~X*0XYmWYpQC>Q^kC5{UgpNh_ZB7id??-!v;Ev3 zv=o=+ny?FM(G+@-xO<0xu{2o!{R!=7#7wE|oo?cJ4^h{|!UwPdEE*FLtbJV6wJX=; z?-XTEZF%sQ7>J^G zO6k6PprA=!JbMi`y)Cn@kCD^97c zJtOtmRk0&K4>1apRM(w$~_+P(^iig z4#Ldd-I&FEi|t{<3}n3`V^9r3Ay7|<>`|+rYU(2vXBn#kaPmzK z42C_&4p~;LTC3fEM{j4Evg<_C&qpYZ@O3RD6?u>iu(OcK9nx9&vbu!1Z<%81uRBj9 z_umlolfND+s$$9X-*VVSkF3FK#7jWf@nSC2W!=lirh=YnbrRVlGi^7_im&P=#}O&f~`<@@??mTwd44IvDP zh3`i-aN@4<7>^+Z@aachJWf4aM)U0uu(R_Al%(L`EKUaMqb4kjkoVW zu5}J-$u21GSRL-WhS0A>Vk3#K>H9B2Zz1WW$ySD5E9DeeCEKd;-AW z#h3Tm8PP<4VKJ9IxG_o%cdW(S96H=pGd4J#86p~4wr(k|E-O>j_0`PVa4-`EsSg?L z2Ak3=jQm8OLoWw+&_fEeOawy2m)i2ado||&_M1qWMCsJDBOpC1H_aDaq_yE*XmuMz zy!>o{E5ELtN`}i5B`H(%^~o~mt}e+`TcA|ikx|=!$PFwfsK;1@$9>P}DYne3qvI@b zYqgUJ?2*y>oCF_`q$8T0$hfDgq9kzwt)?{hA$5ha^Ua4(%*nCwlcbBVK7QWV`bkMY z8-#ng0}58^wH<|?l(UmQwpT;5o8nw3;L=xW1Y;_Gw{Sgdoa!qBqgOSYA|r>D4X+r= z=(?4e<=eo3oe|MPX zej0BPvMbv`Y$jF+&Rn#qHDY6mutxp;nRY6r!%Y~g+VJvfF%iAEVmw2k%OM>Pr$Eym zS=Y0wdU-H^ zU&F;1c9>MDsWLDn=k-i&MpCsT0RCSa=hT}E!!YaGT(xc6wr$(CS8eyMZQHhOyIr-- z{Ukfz+4~dbWHMJWGwH;~~CutJ+cI{uO{M~M~y z49v{+0zoH2bIVsLLhE3+oZiKyrGJ4rva|3R<)-dAYeq>%G+c#dp5_t8&j&epmcbT^nn8B%ot?5~TK3RT%u>Duy`@Z!uev z4O6Qv71b?3;r3V)QJ26^OBqamZ?#-!;>b!9Y^#F}bs{t`6b6HL_VmE%#70aRJHDm5S|4b#`BWEiV8%BH(Hz z2FcgYhZ9nM=22BnL#6`$iF!Tt3ryv9E}pY+xScUqW!Hmc^w$~}0Wled=(SNDD{J4+ zk@xvtVb4cIXvct+$%K8QIlNguz*_*e0;8L^NQOD>YJ)Nvr~ij!DL)FApk-Sx;noR* zn92lPsKy%&AVMj1&rl$LJ6D-@2jcz6Z5?8~Vn}`_{tFT@ydSnI0rvs8sB>k0k-K>PH5(HewELp46TUp3amBeVH+ZI6O6|e11_% z(5alEtWdFLMR{mgmcvVbhf8JlF~fJ^jnsn~idK2BY0EO3<{nvp&M&7+mu=*1#m3ug zgQJ-7ccA#)UCtqRW$BPm9j@AY<5_~Kf~jZ=?UhnrPQvUKzvC3MuGvxRJ=3i)XKLgT6F_ z^7o)i#-Y>(n$FzG9J^F!b-?4OhKo#>Gj8W}0te8<@@Ehdu zB@NL8qLCP-2&#XiTisD}Q@%GYubYcV1e7)*AbCnOtVRugVvr&x0s%pzA|w0VgY&v` z^AVMnE>>}-#;MzML1xaYJD62Y{#R<~FZXG;_j1zZ9E3e4AGAEJtFVuk_2VE<4buTD!t%yhQAmKHJ z;*yD_ik0nu`Zhp0WRi+6G>)?j2w^F?AZi6OiTIN!1rFQ~-pBH1+vSq*??mwge0%D7 zNd&+}27dw5378-^emjP<81>0@>JllC)?9H?@99CE&f>dwc0}b&O+%CG^wm6Xd#g$A z;TwXLZLAQaIi5*+Ee!toW9AiSU^;=!=Q?FjflT z2?L{Xd6snH>xUyWas81(9)I`Qc-fk)*6Jp#g7fDt+@3;-U4p$}4FCiddnEF zOBtwt>XG4pLB52CC08WTKQ)16b}k7r#N-JrvM_3KF_DjBPs9vMqY5dg3x@wZfxW#OiSn+Mwnro{1LXCUE*AmUi55*00Tjzi9 zwl%8Jv}{_DB-^Ty1230P269{_zJiBSJrR|E#QQcHylGOReNzW_7FIF$G3?6aBn(dB&D|Pp&=75D z@x5$|vydoTHe;j5yTDcz=b))-E}Hj$qRN&-BOiyg>m*+-F$=q!Z+w_cFpiju3LLn{ z6c`HXquk+ys*QWR7R;d*FvZ9ri<|1IPiZugzCY<(^JWgYA^?i;USuqTNN^<+(9b9G z=T%ey`QGG^#{I?nj>!$Zv&=h9Rg$|L8xb_|W9hfK}8>Smd+-|in zdZIAXur}Xhmign`;unF@tuDd>86$tl3N**pBjMyrVrNtfKe_>q?hz?Ptrs*?>q1z8 zCD9y-q(B1wPVG`_kx&LR59Kdih2@0}8%h8v=8mC#p+>NEX6wgI2=Ui{4W&r@_mMf4 zOVKf33hIsv>TtC)XQ#ZNjGr9=eZg=#kW6)s(DdygvSS`8Qt6PJuS=;BP|{jkytvdK za4>WUAkheDg;<3qMov_JMt^?Voh`x{65x3i^TbBEm2ZH3cohRTK}C_lqk`|$9c9$O z96k>-#pyv6>!16qhCR1`_s~ncg8gKP;3Gt0dE4cKx{6Z-KfMQ$f-g$g&!Y)LVNW&P zz(E6>aZzGyADofA>-18c{+#zY?-6t|LfTyw!K~TIb6^PGiP60G)?0G0iboy2zQc=} z??b!rlqfJ0Rn*95b8`^gP#H=U0Y1~+k400cA@bYaT#!*b*Ig8U?xiN-1%^$FIyAQjm63jPPU#XZ&i6*2zMEz z*847*=vdUGMDKz@HyA+BOhtZ(mP^hU%)sM(Ew|;#iWC?N56ILo961QQacG5{Qf*Fq z0spcOtNj_|%ObcdyrAj7uH4f*wPS`D=RdG4@L0%0;H*cJvOygV$I zV-yO>Gm9oNdqOWwoj0A3(j(in4Qmz!wBs@OrR0B`F2L2A5L9 z({cOMn`LPp9p4eXa9-^HF{0H?MXd{(hqVNl(4%&SHN3#}#JyQgEsJ451bQZ^fDFJJ zpw7x3Y<#i-S%gpweJf&`8Onr4z=CsY(X-Fz%S8^V@G2&URzn2bAc^S28twJ;YEh#b zOptB2^?T=kEvNBTB-{F4uIRVe3u_ptUbN?uoYz~Y#EY*UxQ(3cAog=v+_;T+?zp$(VFB72$JaiFozpW9Q(1s=#$xjLP=TNQIJu(jOszJnUY5t?bvCYF*!EE6Kcn7L}`R zN)mMA4!8UTOeD8r4mrQQ0hdTtFc#bOflgPsNxQ$R1%7zUBdQC%-74sTd3_W)cgutV z(w(e3c|2FkPjff=Ab8EL&=7&&yRxO>^O^D|X-%$QWYSpehQtS3u&TZ^K=Jj`+QHef z8&QXU+WdcZYIrn$Ly2}V$N2j*)E3VKSg2$r;|s=&39GGJ|0BZF|KJ)No4cq)NXt0W zIHjwx3_11W$n_?=56dXE4@9>c*)jaikpY%C*8PV6@tr=jP*b7C zVZPv?L?vI#v-tDZPwS6r$x)$+R~%-T1SicwTO@W!hm}9^m(h)ent2BfNX1KbL*n7v z*RR7NH+Ofe{Q-yjFkLb2XGem_YH+{dwh(!F*;ws5;0VE$QHVaD**v8lq)itZPtbUO znkn*OY<0{}yLR6WLf61mn9LuzIZUQwQ>i1TyysPb*`)DvOi{QIdLCtbH|~Vpf0hR( z-0xK56eb=&Bi;u2dpXUw(IGRq&PUeZ9@8W&`tBrX64&Oo!q zsoam`rc8Ry+rX1!i-Odlq3r!KgFK0Uz>`}K^sc46v;EGWRO3HsjH0|TQOWe;N`~9! z^Uv{SS8I3s2eUj-N;~~8c%ShQ22*dhHU~;YTp~I68X%!%mzVjZPM8^nrWrV)gQs=Xql*2v8RK59y~Ph__E94oZzwci_mKI=Y& zYizSfw1|ck%QC;1N4qms=Z_&|fkRyamc<^*%uxd_dAaMdlODcH^#O_3)oPi$Y2A>;Q)srpyu6MU8a()H9Mm#^0+=DeM8NoN&r^%Z@MYdXgr#i#4q*FWo_NXEBX* z`7U*_1vf?QPwbJ|XeMCJWP$E~*jTs7%{SCoPI!;Ef4g$EKnpQ|v48(!87TFC7`w%B zJ{e%;jaF%%rSn)L2iUj6E!qUhZVl=rU?>1&iPefqRip& zhPIcaC4rPNljU8nS8BxU>yg}c6s(V;db6|E7Vjgd`P6BUb>?@+Y_+YowT4j@^P?!%tBPP$H zi=&`?F6e&yp>}~NKv9VYg<>Ck)#IpNsNHCg!P~Gqs!_nWHd>YJZU$5qvsc|h=copy0wla{CUl6b#ugQ-+glgM-%rBS$UpB6m z1ZepQtU-X4lL#r0>OuE+6!CEdDeed1diJQb;*1;34rZaw4sji}R99 z)380=h_fj@0vZ;7yYHbnclH92nBU?+0-P>vq?Id&jAuX+O6y(uNUgaC&3eF=xs8)? zCN-yFt4AcsjmWqZ{Tz)tH6f^z?c)<5p3kQZ1u9vA=;YqwHDyGzLf#nXl|D zU+lYa>G>Q@!T&68m^Z%fqx-{bkqRFX$a%nF62s|v7&>#5X3lpC-Akn2U!Q_ucP3yK znV8NdR)Xw**8z%)=&V~ObeuUT|GWirr^bykaa~lGPyL*n>7q|G9PSl+!l}(wp#u~T z{*duS_rr7iaR?$yqXvD^yVMZJr%Btm8LJ|eyc0V|b=#)PplWw$T_8DE)EDgDwdv8q zWO1Xsn;+v2{Q6TSGKL#`>pVp05P>i`0Iia$mqO%KE*qq8Yuc`@y96PixBOyvcWIuFDC4IQH3SZW_qEayj{ zL+D$~-pCd6Uzv;ELU+5~kIGR3tZb@n$16}Z*QcdOBgg4# z!ouTdj<@z;HvUJHP5Upkr8=Zm3CNgI`}VktXio+zJJEX)eB7a+fBnp7ZQbsxuo!rM z7CAG$aY0U<+L@G0=GjozYzd4x8PU6I?)*Vy=he0UasqjcJFI;dNxjLlkZ_PCE+O<7 z%Y(mBlLcgur;+LYv48I?6D6`F_>C z!#aI%WKV*EN4Jc1{qr^}O5vJI4xapfV|Ku#)3$n8e4~Y_KBLG7`G?H;zZ&xv68 zt3IsqFH0l$bNZv-XPY7L5z}~ozcmo<-;y~-GN7eL;n)a1bW5s6l7#BCToj7=ns-XV z>al3ZQ=Uk_V~3;hj4FQ0DAfF&l@*{!gJk_-~CW9Ju^N`C>|VTC~<<+}BMdEM;! z=yPz=!j}xoT)UZD7-5vW@>glpMGrQ|fNm4M(1)__kHhh9yUbJsSM<_<9=uPg8$ylG zCF*}hi@DzPMzhmhRC2{lpsGG&VC^LNAKIAANa{rvirp4Vb6rQpU3YSeX@0ftw@sFw zP@4!@U?j$k{&V0ayE}V9$*ETPywsT=0MTinwX81k@3%1CQU_`uO}@O#;#%p7@aI$s~z@aVr5+CiS83*sQ7ak`NY7YTE=U zP&D^024U(?xzg5uKD+5n_?x*_s#(sdZ=iEn)gOxRJZ7yx`PE{~SHOk`vUqqVA8sZH z(PYcKa>Q~F`gF(-W4^PXv%Byy^tXc`4zQH(>^gI9oDGXEEDP!aihW;nnLg6fxDN?( zE6xDUsKo${Z3!Bp>K#UY?eM}4RgeQzGFI+-s4hbF*LFaE0V}rCI|5FRT{Ql$cT-fT z%5lrEIEbJ<6zvC{L^?SfaPxhaGXGP!L|b0p_L++jTm}32p1o&sQN2v3KNh2vG$yM1 z9abh5jSkRe+v`nE%gVcgoH#l`uM~8Mewv=(hs$&3AxiQJn9dyjVB(a;~@ z2f>!A{3o@o<+rg7oFhzP*)pWs8+mW*0?H$^tL!YvNjtl2Et6njQU)F34 z4BCxOH!qOECS4TC0N87TZI1Zt66$*4iY&W}vhWXiVugTrtrYG4COo3K3pu?G^^Lw5 zNV?vc`+?8~lAA}ps1$Ts>s31Ny6x@bBgRA&Itl#kT24d1b>%6joYIWR+U&gePp_G6 z9X+vsHRa3Q{8ri$5((PUz(}+9%^#_wmIW$vwfK7Y@oDP}sO+p#$=oc7E<09pM-;C zg^C&Duee8sCck7K$w4J;@uIJH0B;(!oXG`#_=SRY$#MR8`c$Mc-9zM{(!Ym5g?&?W zpi#4B?4;ANZQC|G9osfL?tHP?v2EK{$F^glXntLp69`^Iv1 zd&isclA1Dzj*-wwHZP*~9swEl_u3uv;ppx;_+RFPypw!9q5^}4{AYbsThJ)x(fVJ= zfO|2hq#y3tyg1VjVF(BX)B*Hsu%%5i;jt`nq5+icI0hnrNy2{+057Fh0b8x=XpSG; zqR`pRA)jum(xp3ptsWSHR?Tviq2HtMxvPkwsz)OAN{4NxjrCN&n;d|1K@=oj~66svPOnO2feN4GZuhD^dU&HCUaLN5c-GI=wHSwr!j{6w*%fRv zbwO}~f@?Ju-EY_6Z^wA2%B2R}{M&Z0qBScc;f7k!5arMdjFTeAjWlxT>redUi_h+6 zx|KdBMmoV0K+5hyb`M;F(dJX?oTxb6vXw%;Id00z z7dq%F=d-=K1M%WhwT)GhZ4bHq@uO`hwJ~sNR-C3X~MEeAb zi9)3*HruhwP6x!7*a1#7hS-wAn3lHPttaqrAB;=xI$JVI@^+26j$Q}Ge}x0pTBc_Z zyIe(TDmAK%XM~k_;RS~PCi6rNEmtcv*&5BH<=rrt487jKpi;)5_b6vchkJYEp$@;T zq4RDg3?&hP*+1^LHFGR$ss-btNBx)QNjTn-58T}l7?l)<{)^_mvAK&nO9UJKuFl1x z51!zd-a0WUG*!)iXJaXk3E;JStZxt1PZB_+An{#i82t7d-Qb4-=EX>>6viwul4ZcpI>V za_b-y8I3G@(p_I*%x`?sux8|xl8&gYV+t0Ut(WYiA{^_HIM95yXPbuP6Ny8Nb4bYx zuR;gGT~s2N(6C=a28%S^6OC~vgckk3T})H(Jo|Iz1j78*GJRizOGk*pVke0-_`s`1D0vvz48oEVN2NG^UW zn2QLB!%uOoIFRCZA?lW-oX$bBK_oC~P$T*0G{h=l07+NmT*`=Y-4Nl#eFBCsQRiGc zh1!i?4AWz(c>7$=L6wQ9lkncIE(vr9(ZNA`@8ZV(4~b(BLEHn}T_O$v#G#Ta|?EFHnzpbOZ}A!*Z&hayuJ ziJhSSW4S7h;PXl45YlGMe0PqP9Ak!hR?)Z|X3Y{phLoSfd~-iE+UD~CM=SF8$Z_4) zkRRZEc?fX_>L;prfs8N7!Z$_z|pHb@2mImQxSA^hLK+LV;H?FQ7(lN?!)tFw7mPAj8_kW>uTJ^q}< zE#YW~x;@)90_Q3u==*Qlh%a>@_-tVZ>(_n-H{Q5^HQ~^0PAv5orDf=z{9>(>AS#^v zCJ?iM9<7CIEKkxTLO%6C8>|(yBocz?tt{Iwmvz?pb?E|~(wx7nXHDvaup=qECA4W7 zqThudsW$d+5Y;z%tr9TdmXWp;y%7zrlyS!yn7UZ~WTZ{CwyU1YOK*e?1*GmHAYXJJ z*NS%UU_1qUjO0hX+C8HGM#)#I#}M5#E2jklL$`=5u;nbbFMTu~)g)jRFi#|RQLi;h z%_7`eXWQ3L>RP|Yf9@MZqOnPB&V_Q$wvud?fIzTM+`t)f*N5gDXA1eQ%=G_)KW355 zwIA4VTg5kSjKAFq)Cr-gQ7`0ZnL>al7x{|k)e_$O$%=qb=CSmpX&rPM!8dwSuMDmN zeEDVDbfIm9U2wM~g<$3Uy40oY47}LR_K=~37sL1yXE?|W4x*nronDvZ^)Ph^$8X)Ks02)Wz~QNi0|~i zE3lWz-yJ$DiLiV#i~+&@K&@*6KM0t7@Duq{dC?2{&ZJ0>^(qp&;|5~(+b#<~`bf|d zFx_6SuNEwocYEaQH>VX5i^syxI@{5zLE{&2L-{URkue8n5#9^aVSLOH*n(B>d}Z(& zV*M@p$yI1R_GD;8_ouz}a2QAnz$~?v4m_`Fns$+(NS3+E0sKFsNdh#zSPnfWLb|;; zc$kQf$v#Lnyf1Hd_DR=czhlXGkeQ7)2UP4u;LLpv9A%&iH|YdmstJ zUT;zuj3hPji0qOt?2+Rt^0-#21X+oNoM8QTsvNJ$968;_R|+3w2<;!^E^PFOM=ilh ziI*g~QtOdL1zlI#rj2s}CGXUP#I^-bbT%of4+v{F)!BjQqF|80Rh(zKlNq@66Pbq-I!16A9p)|m$p*Y}^E@?UyepmS1u8e40aKVTgcU}Zd#qmEY z2xb=t6!vLO-q+0gE6Gpd_O+p8$}+(6-N}!P`LE5pT<(ztm{75yIh$T|;f{bg885 zcG&Zksz;Gp_`UA>MJTSl#sO)}JvZO#TWtzZj0;}s9elM(s($oA^UflOD05FQFXGAs z;YUEbJ+L5mpwf(!j}NLse_99yy!HR`H(V~pJ;Z7Qk~PO?f5uYycY6D^;}!1|g4qqp zx5Lw@)S|iCX*I(MOGx;`G4VQ~!rD}D*^*8hP<~jQ?c_*%7`1F0P)iQ-i7JbI(qRF2>MbFiS zb7#~B7Od89UAd{Z_c{^@9RD7T8AQ#9W$CH+lrWinqXbPmM>U0~B{&$2V%x_q%9{!i zQWe)~hltyCA#5@e!fQ#`b}(-o@D{6UCjb_L4CeKJlNbI@=XdDM-0X;0?^%aXvR%)K z*uxW$S}R$Q{z00jo|snBpd*uI9JAb2+n>+}$P(k>yFtI@AEcZjOcf5Iqj+THu#4S= znw;$>t(Lc(lm-i@pE_WeQP?@Guo0;$yp#xbR%W=-(jw_rsEb2`dHd})&eXijn-%)km4bd|!!55Ewv{Y2_7s*tK3(VB%#gv61H)qBTZRuT?gZNTFOzHp4AklB<0HmSj5aCD&}U_DFb12UzJs9D z`N5AyBc~)`$xRY>Op|-#fQS^Pf?E^7^CnfmOTyq6J{{NFd=IV`$xBKx!U;Z(hu72T zHmeaqsd!ZGle`G##wp`%4*52Q;Z?|Yw7=yX2b^&B&`l!Z7_Mqkb1}M?O|HfcE8O4i z`z)<41UtrUJ|ISCW^;^_iz9`bFmm>dR-V6G)pBj8E{=|yI%y0kbvCU!D1xd0PY_JA zxKYhYG(6wL^!m!Y@@it$YDLIl^B!7plxBUwpx_fo<05OikC(@{CU4^{5I`XMvwyxwyNU}UDj7nFLOr={SW zU=SavdlNndRd%=HBQa8V)u9%+{I;wJe3wCc<3{$+i9oihrttp$-uh4xixp_(=42}32 z_9}&60zsTa?h9}@D5TpsFQMrp-BWpq~{be{fHldI}*Nf(6{#F?K zr_BW%JyW$J%Ed>HxHK3*oM-<1giBA#L|g&B(pL zlIgZn2O)D1rL>PXYcJBHuSt4KNYZQBr2=E5>*f!Q6sHn>_p)f9G)`-= zNELQAiy>u3`NXe);#d;BS)0COAD5C!L#8?VzLl|I5Iy9(kJgHLhw-I}VOq+o3n}ADIsVsEYF!umt(TYSx=Vv|rn78X3G^!z%9Tm|pPLf*97IYl8PI z2Yms$LPtW=#7ymUB#=Tp^iP;}emN+&3eg9B*+D*e(e0OiI!e+9 zycBbRW2+1;R0)mD#OSUhE;+WtV75b5pV)U9V<<;-gtwF&xk04>NKWeTF!~y`@SqWe z?ig2m!~Fb|e_VJ*q&1C~jL-q6- zt(6)tb(5f+ClvD&|8kuk_ozgKDN)@2)SKzB4sBU0ys)lDrl7Vrc$jz6brX^Kru3m? z=QHa1wEuRx?7Exi(u;jB8}*C5H`+S5FT?~zw{G3RDNyprdO(^dmkjHAqR^;WkC*ml z+Ve!lfd#8u|zU4nHKu(S6OP z1nQ%gKOwjaeaFp>c1b>$q?W+Z#h4q{1G?%nX2e&6Ya_=V*$Qs6O4jv1=rJrBl7A4) zCIOYT1g{H=r-UhN@#pHZ(A>7XM)KS&(>_@!Ki#kNs|_P!8Z0z=@#m=}d9qe*el(De zzF#WE8y-qUgq2#Wf02>^WVwvO2)OAVd|G7agd56I*EkH^pHe($1ID|;4e^Zi{-E=WwxO&m2&F(*ANze7=?IAFhM z)E`;c?QQH@c{u=B=Sg=DwlZGYpO7le-CjXdhriun>8p4Ic>a>w`*^4I?vxDt%!fC>kDz&Yn{S1 zA0RQt9Ik+AlFr8rZW|2i&NH|_H$3#7(t+=Q+4(pFlB*Lx8R;0Rknr#b< zPSkumdsU-`!vy%Jf4I9ah?BRlyG_VxrL)i!l4sNN02I%TipM`bLHYU62y(QsN@|}J~=-fHQ zz`q;ouS%rXh?9>hon2DoBQ;T?1d|HqN^Tl&iZ2yNj9~$g9O`|WKl45bw@?}Wz?s^a zIJ-E-moy-Nu`>NfR~5ba9sv8)17l_RFO^l8EwBiBP`3YVP;)VH{*QX080(jBa9>^#rzVgHy)zDB+@YD-$7U0V94l5&`?>(z@;fnD98*K z!hPw$;6i_jJ3^vE(xcPvf-x*DLPChIP(xOPCl(TET|!t@@-+)y#hbIdOnNn4WjtkI z9V?Z%OHz!3Y#0!PQ+^-k02S!!a!HU+biihUCQjV}7fy;51u#L#{99A8CwqD{L1qlrlVON3a1&o^diDyl3KoAr^h6M#!$-twz~tPe_+s`ZgFN?=$iaY0 zFnu%dwc(+}0etg8aj@VZ6m`K%eZ6u34dS1r3X>f?zP{U-hRZG{lZzoDH=r#p zp&|Z!JdAM4VkafYpiNUFHP9wFlaw%ElOldXIQ>tkWY4_g#q*g4=Vm(@114=2hQr5v z#DA`1fK_jgf3!>?LNMXuUJ!m3q2Mz0k_G$$?#?Xwl7b4H>NJQ~0gf>tPeHY(*Dxhm znR7|6&Mr4A5E}9HpeT=09;c(mJpDQhN$mddNmG!0r-6N7us2&+1Y-f>9Rom6J~08S z)+%&StOCNWu%pQI+yNu0T;Lm>u^*KIl&>QQKoxC-TG)HkLW&+=U{pah66T%qO>B-E zCIvw}U>QC+bb3!11RbV#e*gf}&vGEc^@SDB#k#1S>7DR++86H!@z9Gjy@h>^K$bX! zu*r+8tu^iAi-s`ppW(_Qj5NAudi|2y@Yk>tK^l&kgpB$utb<=T(FrAe(T9RZ6BV)q z4kdhQd}WX5dWZ%PQ3B-P0wrpX#`qYY#7>rVxNbG@kbC0kV9hWV5AUR6U3R&!8fzaQ zq%kwln)Q4QE26>={9wQ|(k6t7)Y2hOj1l7~z9H-Kz3YnjbH3wdA2#Uz`wT$ctp#zW zwf1E|o+jsFjU+o%QxhVAH5Nogo2rEYh)~>_!c#%KiPI3o`oS_9<_e6u zC<~kmj`0la%)pUrO-T;EwnY9!p$nNvKXFn$D`lD(!y?z#ieiM*gOFhM4L#KxqZ|g% z?&lyAw%4k>9z0ObA~H+5)lWS#4MLgpmDi6x=ITM}yCn#;mF1o~73hC+;p)1(jjnqbHYALZ z{|CJ1^`I0*oK4^YT$eDjytpO-gk=^Xg&X-9jgwRNZoU-cd)w5jdVJNT`$)--QQD@g zIveVCB?oa_n6|IkRPRPdo~8HRioSNE&g(MTOi9d$AAH0gIaJ#f-vzZRH*;>z6$21> zcq>zqMY~Uy4QJarNpxSjlJUMI_D*fD*gMO^jYDp=C{*puv>(*7xWBG}p*nOV%v*5q z^!ajaw`qb1lSgd1fuBj=?56m<9irr_ft5!GkIv`*%!Xcn(5#8=;aqaWA4}C|?XPNb zf4-Qg5jT;mOntog9y}{VoP63?RDUNI)W=lEmz~xoMl&j;>v87@&`@hCYi|3zn%6g# zmNsKtuMqZ^cXxZ} z`fSbhp-(`Q!r{^$uw24MGnZAJS{3tQ{b-$#ue4Ho=N9WdZhB%y9#{%mJaZ3xsEK8kfgs*JeedDht$aY?rRbB5Zprqyb+u5u*8#|HrFO} zL%ysy-n4ezOf=z}XsuX zJAf{kHMi0c8z{`*W&ahGkVgl~T5HJ~MgO zSFX5vgUk2cOgD*Oh!&C{swN)%TJ@ZXV{uZQhQRdW?Lu7uU~b%cFU@>0q&W-Cp_1e( zUH|?xRwEKN_}n;Zp5|s{_)b_>`K#Cjci`&s?x1N5|570KLo!+8t*M`-kDT{CB*gNM z>&JdzwZ3@<1Kd0#@sUVd)rb?l2e+sE#I|Rs=o3L&2wc2 z%sh?tX2boMC!=o8rN(Yd;)nu%cQ@=VT$FYTs*Ah`;DTuQ)@c6HJ<0wc!hydQz;}NV zHbsmW7~gM8iAtu-ZXOkeJB7TNYLX$~Ho*oX{{u_A61&tckJ+Ph>*07M{>?{w(K%OO zIkS<$w6b|8D+z{#6#6Uosc4d1?DP5!v3{j8*}rKVt|$^Bgai1>NVNbitD2L9RX>AJ zp&60@Wv$;PZZ=`-W7(D!Qa)>nwIx9gw(b5H&eVM3M(^vY6$r9jD;>^HSd^Sx)NkB_ zM;Yw5-V3dZTN3&-=r3a(KfP4S(+#j%n{);@9R?S8RtkQX`uT{qU;yIl3BB{oK0_>x zar(Ri9BQ?jJVOc$aulY8yts+O#f$sai2Of+sXvCIT>QzOWQ%zdTCx5PsvVQP9aW%GPu!P+Y2~M0M!-3?9wGn}kKJ4|SaE&}!>1CF=(tHxzs4 zBd(pk8fwz(ehhEF7T+HaUXFJ4OnyDs?4d2?YfU!itKf^9^gZZ`{=h>ONB@1G&ylbS z{Ea#N8k!a$Rzv(?djAysb%ERSX2i#)!Zgz?Cw+T99Yf<*$v>{P|IEF_1$nw?Iu+Ro zZcRX_8cD68M6sUHd@Sa#nxplV-e`NVctEuFiueQK+LeJbwaiV6aNA{{WaJ@e(kw!$ zK5m%5-oDP$yFtCOYEw(2x&gl6!dSTzP|;B_)8gz@Xzw;uT=1cx1;5buAzjvFS5~+r zko9{HWhSnke-~D*zIjN6FN%`7fW_5L=%R2ur^xy9>xo6ckfgnC!N%FLNHV1>^7l%w zbVxY(QG~#wtx-GfLiac!j>>VV**ig5>s#^8-GsCkA;Otxi-uG5OH5)~*m?aQuRA`04Pq|20%cJngqV`FfmkLjL`-8?MV^@g0AK66~N znHusyIMY4EF2es9eEMTOCPqPA;gNnsmaZ91fcnetkCzmil6>|gqYJXGE}9pA{;Oqj z*x(AvZ63%as?w?QFYwDWjCZ$Z-}u5lhAZFzj~j+j0TSF*~_8|O;2FU^Gtk`W#Z{Nn5czO!d!HvIPf zZMk_6n@ef(X6vKKA&aO?WWgzbaaXcf*W?0m2i5+TL7yk)?+&8hGHRTKV%v&!-URq=O3}yV}ZNg<>>z z8Mn-#nw)`mttbNj?MH+X%4q6EcO*iAE1xYS^_(nXmnPw%<@&%breJ)O>RO}YM_@jt z$BA3$?!Z_o`>+S-cb;n>PNS)x&%&}tji7OUyy=N`{lSd{F-2lkfd1;G&G2~2L!!3wrHefRQEcB?paX?4G3=d9zQ&lRJ1m(1&_Ao>(Q z3gR@{H|a*N7DjIrq_vZh~JoBiQwts3lpf>sL-H*T**Qe3m04~*PuEL8Dk!M zB|{;C#KHwt7ekXC(LZo>+trY?1ELVRJ>yV167Pt)JwGdJf(OG#+rbbl>1SYgF68`j zSGhRr+NL?Sv1Q-T;37WBej73?)Rp!KX8xhZQz5ENfuv;_1jS({mToVVE6z+L2v#VCM4+i$vdKWlB=-?M!{9c@P`{r_)&=zfRIaQx1_K= zeyb3Xj?;*$m8!eOkx_sHh@quA{5pOHaq3|X)Ft`=frTBA-QQ_yECxQkLPin>AikGV z*(AlJNJxWUlBwbi2n(KrzDt$~fyB(f@uEfDl8QH>RZ?pArWpuP(^*-FXh@U9CFX%n z^I)S)?2Hur&7!LWE8H8|NtHvC$W_F7UExwPF;7Fw{mT(mP>Vwv861qJnSRs2Cnsar zUlKwGp#GX?0!s(2FAgsTMG-vCw8_j6v*drhY!}JE*nN9lYD1PB#06*Mp&ppCylZ-X z+nV7=>Gsi6336xdDv{WA zcs(S#yLC7wcI`#H-=AxB6waLVB2?=Ivejf2bte?{qS9YlzF!Gc56o>TL^=JCJ33kb zilG<1ae#*xk6HXdAPd3_K_N^Aa}v8mK4>4f-aP!J+qFo zv;|PSU=^C2*qb_p8e?1|%bf#?<5^z74QY66|=qnyuyw*nU zU~>kM+*C;kSFXE3(%^(Y7mhjR>7>=G1>z#90DoisP}+(lyoCI-_zbz^D$Eby>Cb+I z2F-@8bCIHhVFQCSK*TKc%`$L%CCC9S(4b=wto}R8STu3)T9L81`-1f-SRGw{<0O!& zAA09Wf^o)rQ(LyFO$zh8`kG4w)AJ}r6&bQ+v{wP~SnDFydI{}UK8Ql6E(_Hg5yVw~ z_Cyktf*dXyK02a%wcuFucKHYJSpn<|Rhu9P11xkQf{71s#LB@d46(Y0h{ZfvBh^N= zGoLxMOu`Fi`c3k6-M~G1d=f!78=>)Ev%UdLnMcYfHg>{M^l9t=NSeB%VHP)8X-D}q zoi%9C3@Ev9xb|dCPI`(VesdQr=ZX<{x)E9_`gR;K_w0y6L046$Ga~{xQ*A@_n!khb zEEkAWNg}zRWY0_+QR{QxH6Zql&{DI!~gbef0#jn5BKcQ9|hO)S6Jt>Lv+p zd}a~r)Di$z1;4a0*7^ptCXd}d_pi%>Z^G6^%`r8%O!##&DF1vyP>i=^&lbueUo=p# z){b@Om>a1;i8xWo7!7qOWS?}D-bE`zaw9QTf;ATPmy-xIFP5pk0A%5oEAImM&669V zywQGj;EGw-2K5dIH$YL*G!lrx&(lvZVKk7}G`;cFUD;|YtUdrWzx7)7dike{;9;xn z9c|BHeUFg!A2|OQ1I7F9<+Or)(09!T)La)Dtxpg$@h*h38_M9l8!g1lPom|q%~S>8 zG0?RtOz6g>e|#InY4HN{JOAk>VUjMq8*%9BhO0KdGX<3xt-@qPP-dWnj<|mscA#u+ zL&We=OfM9OdMf}(c_6;VuQ7Erzc9+PTYHOSDKm{ z#w$bORKfo(y>ySGZF|BXNW9iooGCJu{P4QV5;8Mb7wiadn4~=H-ZdMjlCDe68q+l1 z1aTyc2lDF2lXP`wb9^&PAWMF@6{$$O!QOr6+(w2CbH3k&D8|C8Wix%d^cfB8tUf(x z*Zhd{;LG4fSCwA6gT=KwDU4xod~K4-F`yK%pGJRhBX(~?0kwKqe(vo)52#~^;iYJh;{tkXYpG@C8gHuyJ!Q_gl%OJ_Q z-{xfhgM;nCbC0di=j-cj^y=bRzQ+(VZYK)VAEIEeraNGiPl3VXlH}Qzf3AUE>XbgC zKcN(6G?BoP*vU?&6E21oy7N2x{HROM4$B>)aUTp&Em|6p;>mhb;o;rx|AP%m^2bJH zEOo0~*x^aDdl0JhSbKb3dF#dBuB3|O_ceioO5oC00|JGCM=p)eq&`PpN zgl+Jb0bE*oDtceI*%2W;&jE5zdTS{ue;+wXtA7&RVb$&qeat8bycs&o%iA4r3tU!y zQ(6T8VHQM_$KBoGafhx)KGEmHYOIoUZ2Kdp_p+~aYfERNw*A^H>85~}nlpnvd13Q@ z>Ys6FPe*~cp^^b*HWPx>dCG{&`<3xy({3};vGa|RxxxlZMCxRZDjl;<+>uUxM-Hoj z_r+Py_xbe9toV7lLLIh@P)EAWS;Yw!@Hxew~rFqauX zA{$RD9UrKFzTUSTJdgor`^T%lqj27P68bL4p*r=R40clPQ&C-roG<}OR?h}$4pNC4z69KAQcIBnMsqz zQPpjcTWd!dOx0QDE?uSgFf?n`+NdD`#(dp$WC#b?jVAJUlajmh!982b(-)vOHiojP zNNTZESTnL(jN}u&L+4~8a@A?I)ysknbLH!kJ>XZS99|HW0~p&}$kQ!Y*n^ttty#4? z{WMIpXGF>L^3_W<==+|R`~~B8`z+P7jG1Ko`<_zK7edb0-^AikLFM1JQO8UHck|TQ z>rbw+9i{llO=Ww3J0;n<$#K?(2Pwr#^4qu$nRbR`8H&ca?K{qI{H6^Lk(hGz`7~Kv z`Rd(vZ1z?$MXIiL#W6xW?rh@V6YiDm9=9!@;gd&rP3in| zj->_p_?Mg>Ssm5EOql{pOET^tLubm^AwrU{ z^Y;Yok|qLv@u7-5s+TiBX_UgtAWi-_*lX9*nDwxLT*p-u{izvYV;4`im$F*ZG}p2@v1Ing0;)oXHIPnmzYGQR-S?w7*U7aW0M`H+p(h-~kJY9AAk6cEI-EGJe zop}n6v1Dui^!P_tptbSGGYdmZl6OHk*z(_ECnsR!9bPocNy5_}{L-E%j4|wQT(ct8 z4w7FJC@>GBBsVzhesS%=iSDrp_skDkPeagNcU5;^59WB%PVP*USf)pRGDSS_)RuW^ za@&%|G?QGgs>@&i(mYccr+skr6{p7H%^CH-rf%-yU#Fu%qAK?|=?pcYN8`=*ZSX$x9|A2z%<_-)~Sx9)cVWa*WkOv%awuUNyZSi4*x}ahJ!#GWS%rPrDeY1(Og>Z!O)M)b~ z<>Ttcia{4+4eJ|ANlL9vamuZ1KF^Qqh3FrB$*Or;QB*R%U11Xbo8{l@;t$(=Um3s% zvOgd17a|BKek*cWllA^7_$m-)$oFC(eVZMrv~h~5er`~&K#Gno(_}UK`I@zb^=tb6 z4l2V30O#vOsn!nV(T=9PDi7W%sx}$*YSQcV_|j0P^-+8nZVNtP8C=X&pHo=MaX4GewsX7OP>}CxniBkc-oM|8 zx6AG}>gT{&HA6HJvl-%86JWWN$mXJZ4g6>av@(B+N;mH-V7#)~zUg!WCDs`H-s=GrL~1VaE63D)`2 zy`H(T$fZB_5{=x4=eM_0hqTeGx{EEZXkGLV5FUbxvj#x{yvFHk+=exAwb}gx30roc zL44KHZiIC_6Rdv@=-~P+j7d*j`AvbTz05X4XyVjav;ByRAI5(+p0|>C`(tM3I3znp zuhXV~>*T1s-m~ddD{{KjJ(lkaT7{?kNlcupLm#5y?a8}CgYHa$-gl~uc6`AUx;0KI zP^Ud@(r-ZhOp{f2yy~K}Q#o>OkxHx;Ss1DG#yqO4;P8Hw5GlihRduGmYs@c07gB?^b6-8v> z!=O_t5w`M5@K zkw&Mgw@Hz@9=nJk{M4cqK-AVTlcc&ILWe`xY?I#df^%5CW5WBzOS#wh35mC8(Ho!J zfSODh4~~fa)5+fCm$9i65tW09nTn|fJu?Fv69Wqib+Td#~%j2=qvoLV{PckB^f0>EoEL}~B z{u7&Q7!8gt$;!Y=4JRP*pFe+lBP%#&RxTnYqW|3Z_}~~-JRD4k7!{1HlwEA$7=IA4 zGQ%-SSUNeo5V5fT-_a2>6F19$jgC5#wH5Z%kbSp4Xb&AN8~LBo8??g6YD}duq}m`# zSE1um3>KCx&r1rsyNr2*QPWLwqtwD{%qMlaQk`%76cN!fz>DaZkTR4F5CV64$fy|n z;HRO6AvOG}@iN#ArcE=oCW>ttBNgeJ!IhlIN%=xy!U*nEG$JbXXA)s1?ZN@MHnG73nFLX&K#8#2Vy3zV zM&26&^Zu1R z8sm&i=hsY&CpeBE$m-zpVH>C2^f^J@kGa5g?$mn_6Mc%0n`_Is)(sPPwT8d@b}Wt{ zb#qh6{j>njR5(+ZIU^7ohLrj^lHx;=e-2{uF@>2u`6|URI%~7VgL=qoav3(h65y+w z89AC1)wkPax3prQk9fffRS_wLD@ zqGu068S|}K^Uqc0&ZM*mztF*5DN^=(tvTMBmglHwJwDrqYXfk17e8_%9nfU2)!yEB zVU@-WvGQe=w!B)~Cn(EvRQ;B#57nXlY_aMA&Ey5SYT6Qd>w91SPq$Dv`QW3p#LheM z&Vz4wOs=u=I!m43WP$MK0-0}BVv*MH)+2;@yTA4wzxrItEsd-P;{$(J;J1UQvkjv3 z&TO=uGA{qudKlnpGW>W4Gq~=?)Dt554X(kVPu)R9N}u>=?rDVymf(Om?M}RANEuF# z`?%)~6W-Hz^3n15h3_!>i&SrXPzOjq;!Bx5um|(XA4Rw;Y~roLl7w|TirsBI*ETnK;U<@bS5SZAsTazY_DKxui1ToR$ zV-VZOsxu5e(iy=1xh!gw)NX1wthHLPgX9_G0IyO!aXn;})GksuIb{u4DCprx9sSZc zD_-V1IBb=11G-fd;)TA<+3KZj^%Ga&ef1$5jBkTTI|+9)X|y38uwT7b7dOnU?gnWj zC0F=J^zV+1bjcjG2wE`5sQ9a9L9Io;;0cgZfBmO4g0ZtEQ^$jo0BpK&jLMdtrbPd$ z9~`4Pkv20CD-rWQr;@$B%ReXczmlZ{$0%)QX8+G(`EN^%NSlvCf|Z+-lT(zLQ-qUE zoST(}U6h%NjY))wi9?K)gNaFi=>H$0i}-(r= zi-JuQ0U<6B5);qsN{6%5$7+|zt~J|CM#7GT)w~Ax>0^A&>q#@MKin6h7E@)Bco%I& z&X4gp1ivK$2;p*&!*j5FL}AHt5Xy+FPKctgjNU~_(xz8q`KsE{Le}YZruthM0Nu$mO;mThkPEd`t%q-U{kXGG8$5G`N{KVX z*vYeS-IP8G6Y3!p8uT5W6hne8QUj}&$;fb^Pby`QICp2FyZY}|=NP47E|30yL(@!? VeGXCvfQ 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 + + + + + + +Project 3 on Machine Learning, deadline December 17, 2021 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +
    +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

    +
    + + +
    +Data Analysis and Machine Learning FYS-STK3155/FYS4155 +
    + +
    +Department of Physics, University of Oslo, Norway +
    +
    +
    +

    Nov 13, 2021

    +
    +
    + + +
    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    + +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    +
      +
    1. Kaggle
    2. +
    3. The University of California at Irvine (UCI) with its machine learning repository.
    4. +
    +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    +
      +
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    +

    For Boosting, feel also free to write your own codes.

    + +
      +
    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. +
    3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
    4. +
    5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
    6. +
    7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    8. +
    9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    10. +
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    + +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    + +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    + +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    + +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    + +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    + +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    + +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    + +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    + +

    For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

    + +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    + +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    + +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

    + +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

    with initial conditions, i.e., the conditions at \( t=0 \),

    +$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

    with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

    + +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    + +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    +$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    + +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    + +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    + +

    Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

    +

    Part d) Solving eigenvalue problems

    + +

    Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    + +

    Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods.

    +

    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.
    • +
    +

    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 Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • +
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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 GitHub/GitLab or similar 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.
    • +
    +

    Finally, +we encourage you to collaborate. 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. +

    + +

    + +

      +
    • 1
    • +
    + +
    + + + + +
    + © 1999-2021, "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/2021/Project3/html/Project3-bs.html b/doc/Projects/2021/Project3/html/Project3-bs.html new file mode 100644 index 000000000..47e28dced --- /dev/null +++ b/doc/Projects/2021/Project3/html/Project3-bs.html @@ -0,0 +1,440 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 17, 2021 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +
    +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

    +
    + + +
    +Data Analysis and Machine Learning FYS-STK3155/FYS4155 +
    + +
    +Department of Physics, University of Oslo, Norway +
    +
    +
    +

    Nov 13, 2021

    +
    +
    + + +
    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    + +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    +
      +
    1. Kaggle
    2. +
    3. The University of California at Irvine (UCI) with its machine learning repository.
    4. +
    +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    +
      +
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    +

    For Boosting, feel also free to write your own codes.

    + +
      +
    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. +
    3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
    4. +
    5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
    6. +
    7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    8. +
    9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    10. +
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    + +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    + +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    + +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    + +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    + +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    + +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    + +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    + +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    + +

    For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

    + +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    + +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    + +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

    + +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

    with initial conditions, i.e., the conditions at \( t=0 \),

    +$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

    with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

    + +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    + +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    +$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    + +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    + +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    + +

    Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

    +

    Part d) Solving eigenvalue problems

    + +

    Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    + +

    Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods.

    +

    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.
    • +
    +

    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 Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • +
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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 GitHub/GitLab or similar 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.
    • +
    +

    Finally, +we encourage you to collaborate. 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. +

    + +

    + +

      +
    • 1
    • +
    + +
    + + + + +
    + © 1999-2021, "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/2021/Project3/html/Project3.html b/doc/Projects/2021/Project3/html/Project3.html new file mode 100644 index 000000000..de797d882 --- /dev/null +++ b/doc/Projects/2021/Project3/html/Project3.html @@ -0,0 +1,457 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 17, 2021 + + + + + + + + + + + + + + +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

    +
    + + +
    +Data Analysis and Machine Learning FYS-STK3155/FYS4155 +
    + +
    +Department of Physics, University of Oslo, Norway +
    +
    +
    +

    Nov 13, 2021

    +
    +
    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    + +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    +
      +
    1. Kaggle
    2. +
    3. The University of California at Irvine (UCI) with its machine learning repository.
    4. +
    +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    +
      +
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    +

    For Boosting, feel also free to write your own codes.

    + +
      +
    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. +
    3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
    4. +
    5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
    6. +
    7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    8. +
    9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    10. +
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    + +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    + +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    + +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    + +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    + +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    + +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    + +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    + +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    + +

    For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

    + +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    + +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    + +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

    + +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

    with initial conditions, i.e., the conditions at \( t=0 \),

    +$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

    with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

    + +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    + +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    +$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    + +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    + +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    + +

    Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

    +

    Part d) Solving eigenvalue problems

    + +

    Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    + +

    Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods.

    +

    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.
    • +
    +

    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 Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • +
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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 GitHub/GitLab or similar 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.
    • +
    +

    Finally, +we encourage you to collaborate. 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-2021, "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/2021/Project3/ipynb/Project3.ipynb b/doc/Projects/2021/Project3/ipynb/Project3.ipynb new file mode 100644 index 000000000..6d4f81e43 --- /dev/null +++ b/doc/Projects/2021/Project3/ipynb/Project3.ipynb @@ -0,0 +1,559 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cf42a5c7", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "dfe8ff79", + "metadata": { + "editable": true + }, + "source": [ + "# Project 3 on Machine Learning, deadline December 17, 2021\n", + "**[Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html)**, Department of Physics, University of Oslo, Norway\n", + "\n", + "Date: **Nov 13, 2021**\n", + "\n", + "Copyright 1999-2021, [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" + ] + }, + { + "cell_type": "markdown", + "id": "a5296ee5", + "metadata": { + "editable": true + }, + "source": [ + "# Paths for project 3" + ] + }, + { + "cell_type": "markdown", + "id": "764e1db6", + "metadata": { + "editable": true + }, + "source": [ + "## Defining the data sets to analyze yourself\n", + "\n", + "For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say\n", + "1. [Kaggle](https://www.kaggle.com/datasets) \n", + "\n", + "2. The [University of California at Irvine (UCI) with its machine learning repository](https://archive.ics.uci.edu/ml/index.php).\n", + "\n", + "The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:\n", + "1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among **linear regression (including Ridge and Lasso)**, **Logistic Regression**, **Neural Networks**, **Convolution Neural Networks**, **Recurrent Neural Networks**, **Support Vector Machines** and **Decision Trees, Random Forests**, **Bagging and Boosting**. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into **convolutional neural networks** or **recurrent neural networks**, or extensions of neural networkds, feel free to do so. \n", + "\n", + "For Boosting, feel also free to write your own codes.\n", + "\n", + "1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of **Scikit-Learn**, **Tensorflow**, etc. \n", + "\n", + "2. The estimates you used and tested in projects 1 and 2 should also be included, that is the $R2$-score, **MSE**, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.\n", + "\n", + "3. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.\n", + "\n", + "4. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article? \n", + "\n", + "5. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.\n", + "\n", + "All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. \n", + "\n", + "We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. \n", + "\n", + "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150)." + ] + }, + { + "cell_type": "markdown", + "id": "6e4780c7", + "metadata": { + "editable": true + }, + "source": [ + "## The basic structure of your project\n", + "\n", + "Here follows a set up on how to structure your report and analyze the data you have opted for." + ] + }, + { + "cell_type": "markdown", + "id": "32262397", + "metadata": { + "editable": true + }, + "source": [ + "### Part a)\n", + "\n", + "The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context." + ] + }, + { + "cell_type": "markdown", + "id": "e9b71dac", + "metadata": { + "editable": true + }, + "source": [ + "### Part b)\n", + "\n", + "You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part." + ] + }, + { + "cell_type": "markdown", + "id": "fbbbee47", + "metadata": { + "editable": true + }, + "source": [ + "### Part c)\n", + "\n", + "Then describe your algorithm and its implementation and tests you have performed." + ] + }, + { + "cell_type": "markdown", + "id": "69a7f204", + "metadata": { + "editable": true + }, + "source": [ + "### Part d)\n", + "\n", + "Then presents your results and findings, link with existing literature and more." + ] + }, + { + "cell_type": "markdown", + "id": "887f0521", + "metadata": { + "editable": true + }, + "source": [ + "### Part e)\n", + "\n", + "Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature." + ] + }, + { + "cell_type": "markdown", + "id": "f33bb254", + "metadata": { + "editable": true + }, + "source": [ + "## Solving partial differential equations with neural networks\n", + "\n", + "For this variant of project 3, we will assume that you have some\n", + "background in the solution of partial differential equations using\n", + "finite difference schemes. We will study the solution of the diffusion\n", + "equation in one dimension using a standard explicit scheme and neural\n", + "networks to solve the same equations.\n", + "\n", + "For the explicit scheme, you can study for example chapter 10 of the lecture notes in [Computational Physics](https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf) or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by [Kristine Baluka Hein](https://compphysics.github.io/MachineLearning/doc/pub/odenn/html/odenn-bs.html) at this course are highly recommended.\n", + "\n", + "For the machine learning part you can use your own code from project 2 or the functionality of for example **Tensorflow/Keras**.." + ] + }, + { + "cell_type": "markdown", + "id": "d25629a1", + "metadata": { + "editable": true + }, + "source": [ + "### Part a), setting up the problem\n", + "\n", + "The physical problem can be that of the temperature gradient in a rod of length $L=1$ at $x=0$ and $x=1$.\n", + "We are looking at a one-dimensional\n", + "problem" + ] + }, + { + "cell_type": "markdown", + "id": "4ce8d9b6", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial^2 u(x,t)}{\\partial x^2} =\\frac{\\partial u(x,t)}{\\partial t}, t> 0, x\\in [0,L]\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "a6e88e9e", + "metadata": { + "editable": true + }, + "source": [ + "or" + ] + }, + { + "cell_type": "markdown", + "id": "81e3dedd", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_{xx} = u_t,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "feb89d8f", + "metadata": { + "editable": true + }, + "source": [ + "with initial conditions, i.e., the conditions at $t=0$," + ] + }, + { + "cell_type": "markdown", + "id": "0bca56c5", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(x,0)= \\sin{(\\pi x)} \\hspace{0.5cm} 0 < x < L,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ab7915c8", + "metadata": { + "editable": true + }, + "source": [ + "with $L=1$ the length of the $x$-region of interest. The \n", + "boundary conditions are" + ] + }, + { + "cell_type": "markdown", + "id": "c0d1ba71", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(0,t)= 0 \\hspace{0.5cm} t \\ge 0,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "d2aabdac", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "790e9a57", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(L,t)= 0 \\hspace{0.5cm} t \\ge 0.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b452336c", + "metadata": { + "editable": true + }, + "source": [ + "The function $u(x,t)$ can be the temperature gradient of a rod.\n", + "As time increases, the velocity approaches a linear variation with $x$. \n", + "\n", + "We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in" + ] + }, + { + "cell_type": "markdown", + "id": "3679ddef", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_t\\approx \\frac{u(x,t+\\Delta t)-u(x,t)}{\\Delta t}=\\frac{u(x_i,t_j+\\Delta t)-u(x_i,t_j)}{\\Delta t}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "3ed1a00e", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "bd6f8da3", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_{xx}\\approx \\frac{u(x+\\Delta x,t)-2u(x,t)+u(x-\\Delta x,t)}{\\Delta x^2},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "dbd173d2", + "metadata": { + "editable": true + }, + "source": [ + "or" + ] + }, + { + "cell_type": "markdown", + "id": "a03aedf7", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_{xx}\\approx \\frac{u(x_i+\\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\\Delta x,t_j)}{\\Delta x^2}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ef63b2da", + "metadata": { + "editable": true + }, + "source": [ + "Write down the algorithm and the equations you need to implement.\n", + "Find also the analytical solution to the problem." + ] + }, + { + "cell_type": "markdown", + "id": "744b0c7f", + "metadata": { + "editable": true + }, + "source": [ + "### Part b)\n", + "\n", + "Implement the explicit scheme algorithm and perform tests of the solution \n", + "for $\\Delta x=1/10$, $\\Delta x=1/100$ using $\\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\\Delta t/\\Delta x^2 \\leq 1/2$. \n", + "\n", + "Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved\n", + "and $u(x,t_2)$ is almost linear, close to the stationary state." + ] + }, + { + "cell_type": "markdown", + "id": "00a3534d", + "metadata": { + "editable": true + }, + "source": [ + "### Part c) Neural networks\n", + "\n", + "Study now the lecture notes on solving ODEs and PDEs with neural\n", + "network and use either your own code from project 2 or the\n", + "functionality of tensorflow/keras to solve the same equation as in\n", + "part b). Discuss your results and compare them with the standard\n", + "explicit scheme. Include also the analytical solution and compare with\n", + "that." + ] + }, + { + "cell_type": "markdown", + "id": "836da33c", + "metadata": { + "editable": true + }, + "source": [ + "### Part d) Solving eigenvalue problems\n", + "\n", + "Follow the discussion in the work of Yi *et al.* in the article from\n", + "[Computers and Mathematics with Applications 47, 1155 (2004)](https://www.sciencedirect.com/science/article/pii/S0898122104901101), and\n", + "use your differential equation solver with neural networks, set up a\n", + "simple square, real and symmetric $6\\times 6$ matrix and find the\n", + "eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra." + ] + }, + { + "cell_type": "markdown", + "id": "ff03dd04", + "metadata": { + "editable": true + }, + "source": [ + "### Part e)\n", + "\n", + "Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods." + ] + }, + { + "cell_type": "markdown", + "id": "24c8d749", + "metadata": { + "editable": true + }, + "source": [ + "## Introduction to numerical projects\n", + "\n", + "Here follows a brief recipe and recommendation on how to write a report for each\n", + "project.\n", + "\n", + " * Give a short description of the nature of the problem and the eventual numerical methods you have used.\n", + "\n", + " * 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.\n", + "\n", + " * Include the source code of your program. Comment your program properly.\n", + "\n", + " * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.\n", + "\n", + " * 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.\n", + "\n", + " * 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.\n", + "\n", + " * Try to give an interpretation of you results in your answers to the problems.\n", + "\n", + " * 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.\n", + "\n", + " * 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." + ] + }, + { + "cell_type": "markdown", + "id": "af15f3f3", + "metadata": { + "editable": true + }, + "source": [ + "## Introduction to numerical projects\n", + "\n", + "Here follows a brief recipe and recommendation on how to write a report for each\n", + "project.\n", + "\n", + " * Give a short description of the nature of the problem and the eventual numerical methods you have used.\n", + "\n", + " * 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.\n", + "\n", + " * Include the source code of your program. Comment your program properly.\n", + "\n", + " * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.\n", + "\n", + " * 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.\n", + "\n", + " * 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.\n", + "\n", + " * Try to give an interpretation of you results in your answers to the problems.\n", + "\n", + " * 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.\n", + "\n", + " * 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." + ] + }, + { + "cell_type": "markdown", + "id": "e7455835", + "metadata": { + "editable": true + }, + "source": [ + "## Format for electronic delivery of report and programs\n", + "\n", + "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:\n", + "\n", + " * Use Canvas to hand in your projects, log in at with your normal UiO username and password.\n", + "\n", + " * Upload **only** the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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.\n", + "\n", + " * In your GitHub/GitLab or similar 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.\n", + "\n", + "Finally, \n", + "we encourage you to collaborate. Optimal working groups consist of \n", + "2-3 students. You can then hand in a common report." + ] + }, + { + "cell_type": "markdown", + "id": "fa5082d0", + "metadata": { + "editable": true + }, + "source": [ + "## Software and needed installations\n", + "\n", + "If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, \n", + "we recommend that you install the following Python packages via **pip** as\n", + "1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow\n", + "\n", + "For Python3, replace **pip** with **pip3**.\n", + "\n", + "See below for a discussion of **tensorflow** and **scikit-learn**. \n", + "\n", + "For OSX users we recommend also, after having installed Xcode, to install **brew**. Brew allows \n", + "for a seamless installation of additional software via for example\n", + "1. brew install python3\n", + "\n", + "For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution\n", + "you can use **pip** as well and simply install Python as \n", + "1. sudo apt-get install python3 (or python for python2.7)\n", + "\n", + "etc etc. \n", + "\n", + "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\n", + "1. [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**\n", + "\n", + "2. [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.\n", + "\n", + "Popular software packages written in Python for ML are\n", + "\n", + "* [Scikit-learn](http://scikit-learn.org/stable/), \n", + "\n", + "* [Tensorflow](https://www.tensorflow.org/),\n", + "\n", + "* [PyTorch](http://pytorch.org/) and \n", + "\n", + "* [Keras](https://keras.io/).\n", + "\n", + "These are all freely available at their respective GitHub sites. They \n", + "encompass communities of developers in the thousands or more. And the number\n", + "of code developers and contributors keeps increasing." + ] + } + ], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4853468b6a882e73526d8aca1a441cd0ffab1335 GIT binary patch literal 192 zcmV;x06+g9iwFP*(2rpN1MSaE3WG2Z1z^{nVoo55MqL-`qKkr*ULe+3V{67H5$f&h z545Y6Zlo0QZ60ABVdju+w)-rwck8W&5RxzkQ>IBgCkdDLjM5Y+qby3}sRD#XahP~O z)?4YNH;_dp uiNZ`n(BjrhEr6>5cv(s-QSqzaX*_G*n!x|{IgaBv&X*pj$&6V52mk 0, x\in [0,L] +\end{equation*} +or + +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +with initial conditions, i.e., the conditions at $t=0$, +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +with $L=1$ the length of the $x$-region of interest. The +boundary conditions are + +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +and + +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +The function $u(x,t)$ can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with $x$. + +We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +and + +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +or + +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} + +Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. + +\paragraph{Part b).} +Implement the explicit scheme algorithm and perform tests of the solution +for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\Delta t/\Delta x^2 \leq 1/2$. + +Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved +and $u(x,t_2)$ is almost linear, close to the stationary state. + +\paragraph{Part c) Neural networks.} +Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. + +\paragraph{Part d) Solving eigenvalue problems.} +Follow the discussion in the work of Yi \emph{et al.} in the article from +\href{{https://www.sciencedirect.com/science/article/pii/S0898122104901101}}{Computers and Mathematics with Applications 47, 1155 (2004)}, and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric $6\times 6$ matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. + +\paragraph{Part e).} +Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. + +\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{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 Canvas to hand in your projects, log in at \href{{https://www.uio.no/english/services/it/education/canvas/}}{\nolinkurl{https://www.uio.no/english/services/it/education/canvas/}} with your normal UiO username and password. + + \item Upload \textbf{only} the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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 GitHub/GitLab or similar 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. +\end{itemize} + +\noindent +Finally, +we encourage you to collaborate. 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/2021/Project3/pdf/Project3.pdf b/doc/Projects/2021/Project3/pdf/Project3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ea63e0fa6cd7e2d84b2f12b191f8d42cc2ed661b GIT binary patch literal 233056 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

    fmYj8yja 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�lA6x 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

    f1OlSxdhr3PGm$j)HJOK`Jv@VvaF9vq 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

      @64qCa?%72 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 0, x\in [0,L] +\end{equation*} +or + +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +with initial conditions, i.e., the conditions at $t=0$, +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +with $L=1$ the length of the $x$-region of interest. The +boundary conditions are + +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +and + +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +The function $u(x,t)$ can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with $x$. + +We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +and + +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +or + +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} + +Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. + +\paragraph{Part b).} +Implement the explicit scheme algorithm and perform tests of the solution +for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\Delta t/\Delta x^2 \leq 1/2$. + +Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved +and $u(x,t_2)$ is almost linear, close to the stationary state. + +\paragraph{Part c) Neural networks.} +Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. + +\paragraph{Part d) Solving eigenvalue problems.} +Follow the discussion in the work of Yi \emph{et al.} in the article from +\href{{https://www.sciencedirect.com/science/article/pii/S0898122104901101}}{Computers and Mathematics with Applications 47, 1155 (2004)}, and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric $6\times 6$ matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. + +\paragraph{Part e).} +Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. + +\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*{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 Canvas to hand in your projects, log in at \href{{https://www.uio.no/english/services/it/education/canvas/}}{\nolinkurl{https://www.uio.no/english/services/it/education/canvas/}} with your normal UiO username and password. + + \item Upload \textbf{only} the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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 GitHub/GitLab or similar 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. +\end{itemize} + +\noindent +Finally, +we encourage you to collaborate. 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/2021/Project3/Project2.do.txt b/doc/src/Projects/2021/Project3/Project2.do.txt new file mode 100644 index 000000000..bfc55d13f --- /dev/null +++ b/doc/src/Projects/2021/Project3/Project2.do.txt @@ -0,0 +1,255 @@ +TITLE: Project 2 on Machine Learning, deadline November 13 (Midnight) +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: today + + +===== Classification and Regression, from linear and logistic regression to neural networks ===== + +The main aim of this project is to study both classification and +regression problems by developing our own feed-forward neural network (FFNN) code. We can reuse the regression algorithms studied +in project 1. We will also include logistic regression for classification +problems and write our own FFNN code for studying +both regression and classification problems. The codes developed in +project 1, including bootstrap and/or cross-validation as well as the +computation of the mean-squared error and/or the $R2$ or the accuracy score (classification problems) functions can +also be utilized in the present analysis. + + +The data sets that we propose here are (the default sets) + +* Regression (fitting a continuous function). In this part you will need to bring back your results from project 1 and compare these with what you get from your Neural Network code to be developed here. The data sets could be + o Either the Franke function or the terrain data from project 1, or data sets your propose. +* Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called "MNIST":"https://en.wikipedia.org/wiki/MNIST_database" data set of images representing hand-written numbers from zero to nine. These are discussed intensively in the lecture notes on neural networks, see for example the slides from "week 41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html" + +However, if you would like to study other data sets, feel free to +propose other sets. What we listed here are mere suggestions from our +side. If you opt for another data set, consider using a set which +has been studied in the scientific literature. This makes it easier +for you to compare and analyze your results. Comparing with existing results from the scientific literature is also an essential +element of the scientific discussion. + +In particular, when developing your own Neural Network and Logistic Regression codes for classification problems, the so-called Wisconsin Cancer data (which is a binary problem, benign or malignant tumors) may be studied. You can find more information about this at the "Scikit-Learn site":"https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html" or at the "University of California at Irvine":"https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)". + +We will start with a regression problem and we will reuse our codes from project 1 starting with writing our own Stochastic Gradient Descent (SGD) code. + +=== Part a): Write your own Stochastic Gradient Descent code, first step === + +In order to get started, we will now replace in our standard ordinary +least squares (OLS) and Ridge regression codes (from project 1) the matrix inversion +algorithm with our own SGD code. You can choose whether you want to +add the momentum SGD optionality or other SGD variants such as RMSprop +or ADAgrad. The lecture notes from "week 40 contain more +details":"https://compphysics.github.io/MachineLearning/doc/pub/week40/html/week40.html" + +Perform an analysis of the results for OLS and Ridge regression as +function of the chosen learning rates, the number of mini-batches and +epochs as well as algorithm for scaling the learning rate. You can +also compare your own results with those that can be obtained using +for example _Scikit-Learn_'s various SGD options. Discuss your +results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\lambda$ and +the learning rate $\gamma$. Discuss your results. + +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. + +=== Part b): Writing your own Neural Network code === + +Your aim now, and this is the central part of this project, is to +write your own Feed Forward Neural Network code implementing the back +propagation algorithm discussed in the lecture slides from "week 41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html". + +We will focus on a regression problem first and study either the +Franke function or terrain data (or both or other data sets) from +project 1. Discuss again your choice of cost function. + +Write an FFNN code for regression with a flexible number of hidden +layers and nodes using the Sigmoid function as activation function for +the hidden layers. Initialize the weights using a normal +distribution. How would you initialize the biases? And which +activation function would you select for the final output layer? + +Train your network and compare the results with those from your OLS and Ridge Regression codes from project 1. +You should test your results against a similar code using _Scikit-Learn_ (see the examples in the above lecture notes from week 41) or _tensorflow/keras_. + +Comment your results and give a critical discussion of the results +obtained with the Linear Regression code and your own Neural Network +code. Compare the results with those from project 1. +Make an analysis of the regularization parameters and the learning rates employed to find the optimal MSE and $R2$ scores. + +A useful reference on the back progagation algorithm is "Nielsen's +book":"http://neuralnetworksanddeeplearning.com/". It is an excellent +read. + + + +=== Part c): Testing different activation functions === + +You should now also test different activation functions for the hidden layers. Try out the Sigmoid, the RELU and the Leaky RELU functions and discuss your results. You may also study the way you initialize your weights and biases. + +=== Part d): Classification analysis using neural networks === + + + +With a well-written code it should now be easy to change the +activation function for the output layer. + +Here we will change the cost function for our neural network code +developed in parts b) and c) in order to perform a classification analysis. + +We will here study the MNIST data set of hand-written numbers as +discussed in the lecture notes from "week +41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html". Use +the _Softmax_ function as activation function. Your code should +however also be able to use a binary activation function as well. + +To measure the performance of our classification problem we use the +so-called *accuracy* score. The accuracy is as you would expect just +the number of correctly guessed targets $t_i$ divided by the total +number of targets, that is + + +!bt +\[ +\text{Accuracy} = \frac{\sum_{i=1}^n I(t_i = y_i)}{n} , +\] +!et + +where $I$ is the indicator function, $1$ if $t_i = y_i$ and $0$ +otherwise if we have a binary classification problem. Here $t_i$ +represents the target and $y_i$ the outputs of your FFNN code and $n$ is simply the number of targets $t_i$. + +Discuss your results and give a critical analysis of the various parameters, including hyper-parameters like the learning rates and the regularization parameter $\lambda$ (as you did in Ridge Regression), various activation functions, number of hidden layers and nodes and activation functions. + + +As stated in the introduction, it can also be useful to study other +datasets. In particular, the so-called Wisconsin Cancer +data (which is a binary problem, benign or malignant tumors) may be +studied. You find more information about this at the "Scikit-Learn +site":"https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html" or at the "University of California +at Irvine":"https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)". + + + + +Again, we strongly recommend that you compare your own neural Network +code for classification and pertinent results against a similar code using _Scikit-Learn_ or _tensorflow/keras_ or _pytorch_. + + + + + +=== Part e): Write your Logistic Regression code, final step === + +Finally, we want to compare the FFNN code we have developed with +Logistic regression, that is we wish to compare our neural network +classification results with the results we can obtain with another +method. + +Define your cost function and the design matrix before you start writing your code. +Write thereafter a Logistic regression code using your SGD algorithm. Study the results as functions of the chosen learning rates. +Add also an $l_2$ regularization parameter $\lambda$. Compare your results with those from your FFNN code as well as those obtained using _Scikit-Learn_'s logistic regression functionality. + +The weblink here URL:"https://medium.com/ai-in-plain-english/comparison-between-logistic-regression-and-neural-networks-in-classifying-digits-dc5e85cd93c3"compares logistic regression and FFNN using the MNIST data set. You may find several useful hints and ideas from this article. + + +=== Part f) Critical evaluation of the various algorithms === + +After all these glorious calculations, you should now summarize the +various algorithms and come with a critical evaluation of their pros +and cons. Which algorithm works best for the regression case and which +is best for the classification case. These codes can also be part of +your final project 3, but now applied to other data sets. + + + + +===== Background literature ===== + +o The text of Michael Nielsen is highly recommended, see "Nielsen's book":"http://neuralnetworksanddeeplearning.com/". It is an excellent read. + +o The textbook of "Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer":"https://www.springer.com/gp/book/9780387848570", chapters 3 and 7 are the most relevant ones for the analysis here. + +o "Mehta et al, arXiv 1803.08823":"https://arxiv.org/abs/1803.08823", *A high-bias, low-variance introduction to Machine Learning for physicists*, ArXiv:1803.08823. + + + + +===== 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 Canvas to hand in your projects, log in at URL:"https://www.uio.no/english/services/it/education/canvas/" with your normal UiO username and password. + + * Upload _only_ the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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 GitHub/GitLab or similar 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. + + +Finally, +we encourage you to collaborate. 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/2021/Project3/Project3.do.txt b/doc/src/Projects/2021/Project3/Project3.do.txt new file mode 100644 index 000000000..f49e264d4 --- /dev/null +++ b/doc/src/Projects/2021/Project3/Project3.do.txt @@ -0,0 +1,279 @@ +TITLE: Project 3 on Machine Learning, deadline December 17, 2021 +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: today + + +======= Paths for project 3 ======= + +===== Defining the data sets to analyze yourself ===== + +For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say +o "Kaggle":"https://www.kaggle.com/datasets" +o The "University of California at Irvine (UCI) with its machine learning repository":"https://archive.ics.uci.edu/ml/index.php". + + +The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: +o Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among _linear regression (including Ridge and Lasso)_, _Logistic Regression_, _Neural Networks_, _Convolution Neural Networks_, _Recurrent Neural Networks_, _Support Vector Machines_ and _Decision Trees, Random Forests_, _Bagging and Boosting_. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into _convolutional neural networks_ or _recurrent neural networks_, or extensions of neural networkds, feel free to do so. + +For Boosting, feel also free to write your own codes. + +o For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of _Scikit-Learn_, _Tensorflow_, etc. + +o The estimates you used and tested in projects 1 and 2 should also be included, that is the $R2$-score, _MSE_, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant. + +o Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches. + +o If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article? + +o A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include. + +All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. + +We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. + +This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides "from week 43":"https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html" and/or the textbook by "Yadav et al":"https://www.springer.com/gp/book/9789401798150". + +===== The basic structure of your project ===== + +Here follows a set up on how to structure your report and analyze the data you have opted for. + +=== Part a) === + +The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context. + +=== Part b) === + +You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. + + +=== Part c) === + +Then describe your algorithm and its implementation and tests you have performed. + +=== Part d) === + +Then presents your results and findings, link with existing literature and more. + +=== Part e) === + +Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. + +===== Solving partial differential equations with neural networks ===== + +For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. + +For the explicit scheme, you can study for example chapter 10 of the lecture notes in "Computational Physics":"https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf" or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by "Kristine Baluka Hein":"https://compphysics.github.io/MachineLearning/doc/pub/odenn/html/odenn-bs.html" at this course are highly recommended. + +For the machine learning part you can use your own code from project 2 or the functionality of for example _Tensorflow/Keras_.. + +=== Part a), setting up the problem === + +The physical problem can be that of the temperature gradient in a rod of length $L=1$ at $x=0$ and $x=1$. +We are looking at a one-dimensional +problem + +!bt +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +!et +or + +!bt +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +!et +with initial conditions, i.e., the conditions at $t=0$, +!bt +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +!et +with $L=1$ the length of the $x$-region of interest. The +boundary conditions are + +!bt +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +!et +and + +!bt +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +!et +The function $u(x,t)$ can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with $x$. + +We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +!bt +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +!et +and + +!bt +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +!et +or + +!bt +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +!et + +Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. + +=== Part b) === + +Implement the explicit scheme algorithm and perform tests of the solution +for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\Delta t/\Delta x^2 \leq 1/2$. + +Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved +and $u(x,t_2)$ is almost linear, close to the stationary state. + + +=== Part c) Neural networks === + +Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. + + +=== Part d) Solving eigenvalue problems === + +Follow the discussion in the work of Yi *et al.* in the article from +"Computers and Mathematics with Applications 47, 1155 (2004)":"https://www.sciencedirect.com/science/article/pii/S0898122104901101", and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric $6\times 6$ matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. + +=== Part e) === + +Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. + + +===== 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. + + + + + + + +===== 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 Canvas to hand in your projects, log in at URL:"https://www.uio.no/english/services/it/education/canvas/" with your normal UiO username and password. + + * Upload _only_ the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar 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 GitHub/GitLab or similar 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. + + +Finally, +we encourage you to collaborate. 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/2021/Project3/clean.sh b/doc/src/Projects/2021/Project3/clean.sh new file mode 100755 index 000000000..2e5da2c72 --- /dev/null +++ b/doc/src/Projects/2021/Project3/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/2021/Project3/make.sh b/doc/src/Projects/2021/Project3/make.sh new file mode 100755 index 000000000..3b48fe3c7 --- /dev/null +++ b/doc/src/Projects/2021/Project3/make.sh @@ -0,0 +1,87 @@ +#!/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 + +# IPython notebook +system doconce format ipynb $name $opt + + +# Ordinary plain LaTeX document +system doconce format pdflatex $name --print_latex_style=trac --latex_admon=paragraph $opt +system doconce ptex2tex $name envir=verbatim +# 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/2021 +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 <