From dc91c552449f3b28279d6d402178ad102d668120 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Mon, 4 Nov 2024 15:46:48 -0500 Subject: [PATCH] added project 3 --- .../2024/Project3/html/._Project3-bs000.html | 454 ++++++++++++++ .../2024/Project3/html/Project3-bs.html | 454 ++++++++++++++ doc/Projects/2024/Project3/html/Project3.html | 471 +++++++++++++++ .../2024/Project3/ipynb/Project3.ipynb | 564 ++++++++++++++++++ .../Project3/ipynb/ipynb-Project3-src.tar.gz | Bin 0 -> 193 bytes doc/Projects/2024/Project3/pdf/Project3.p.tex | 433 ++++++++++++++ doc/Projects/2024/Project3/pdf/Project3.pdf | Bin 0 -> 235246 bytes doc/Projects/2024/Project3/pdf/Project3.tex | 405 +++++++++++++ .../Projects/2024/Project3/Project3.do.txt | 26 +- 9 files changed, 2802 insertions(+), 5 deletions(-) create mode 100644 doc/Projects/2024/Project3/html/._Project3-bs000.html create mode 100644 doc/Projects/2024/Project3/html/Project3-bs.html create mode 100644 doc/Projects/2024/Project3/html/Project3.html create mode 100644 doc/Projects/2024/Project3/ipynb/Project3.ipynb create mode 100644 doc/Projects/2024/Project3/ipynb/ipynb-Project3-src.tar.gz create mode 100644 doc/Projects/2024/Project3/pdf/Project3.p.tex create mode 100644 doc/Projects/2024/Project3/pdf/Project3.pdf create mode 100644 doc/Projects/2024/Project3/pdf/Project3.tex diff --git a/doc/Projects/2024/Project3/html/._Project3-bs000.html b/doc/Projects/2024/Project3/html/._Project3-bs000.html new file mode 100644 index 000000000..00d0ef4b5 --- /dev/null +++ b/doc/Projects/2024/Project3/html/._Project3-bs000.html @@ -0,0 +1,454 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 9 (midnight), 2024 + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +
+
+

Project 3 on Machine Learning, deadline December 9 (midnight), 2024

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

Nov 4, 2024

+
+
+ + +
+

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. +
  5. Or other sources.
  6. +
  7. Or you can propose own problems (but please do write to us before you start)
  8. +
+

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, and Decision Trees, Random Forests, Bagging and Boosting.
  2. +
+

Feel also free to use support vector machines, \( k \)-means and principal components analysis, although the latter have not been covered during the lectures. This material can be found in the lecture notes.

+ +

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. You can also study unsupervised methods, although we in this course have mainly paid attention to supervised learning.

+ +

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 Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, PyTorch 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 large scientific interest, 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

+ +

This variant of project 3 is tailored to those of you who are +interested in studying differential equations and may have followed +popular courses on these methods, see below. +

+ +

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, FYS3150/4150 or alternative sources from courses like MAT-MEK4270. For the solution of ordinary and partial differential equations using neural networks, the lectures by of week 43 at for example https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week43.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, PyTorch or +other libraries such as Physics informed machine learning. +

+

Alternative differential equations

+ +

Note that you can replace the one-dimensional diffusion equation discussed below with other sets of either ordinary differential equations or partial differential equations. +Please discuss such a change with us at the lab. +

+

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) Neural network complexity

+ +

Here we study the stability of the results of the results as functions of the number of hidden nodes, layers and activation functions for the hidden layers. +Increase the number of hidden nodes and layers in order to see if this improves your results. Try also different activation functions for the hidden layers, such as the tanh, ReLU, and other activation functions. +Discuss your results. +

+

Part e)

+ +

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

+

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-2024, "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/2024/Project3/html/Project3-bs.html b/doc/Projects/2024/Project3/html/Project3-bs.html new file mode 100644 index 000000000..00d0ef4b5 --- /dev/null +++ b/doc/Projects/2024/Project3/html/Project3-bs.html @@ -0,0 +1,454 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 9 (midnight), 2024 + + + + + + + + + + + + + + + + + + + + +
+

 

 

 

+ + +
+
+

Project 3 on Machine Learning, deadline December 9 (midnight), 2024

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

Nov 4, 2024

+
+
+ + +
+

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. +
  5. Or other sources.
  6. +
  7. Or you can propose own problems (but please do write to us before you start)
  8. +
+

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, and Decision Trees, Random Forests, Bagging and Boosting.
  2. +
+

Feel also free to use support vector machines, \( k \)-means and principal components analysis, although the latter have not been covered during the lectures. This material can be found in the lecture notes.

+ +

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. You can also study unsupervised methods, although we in this course have mainly paid attention to supervised learning.

+ +

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 Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, PyTorch 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 large scientific interest, 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

+ +

This variant of project 3 is tailored to those of you who are +interested in studying differential equations and may have followed +popular courses on these methods, see below. +

+ +

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, FYS3150/4150 or alternative sources from courses like MAT-MEK4270. For the solution of ordinary and partial differential equations using neural networks, the lectures by of week 43 at for example https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week43.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, PyTorch or +other libraries such as Physics informed machine learning. +

+

Alternative differential equations

+ +

Note that you can replace the one-dimensional diffusion equation discussed below with other sets of either ordinary differential equations or partial differential equations. +Please discuss such a change with us at the lab. +

+

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) Neural network complexity

+ +

Here we study the stability of the results of the results as functions of the number of hidden nodes, layers and activation functions for the hidden layers. +Increase the number of hidden nodes and layers in order to see if this improves your results. Try also different activation functions for the hidden layers, such as the tanh, ReLU, and other activation functions. +Discuss your results. +

+

Part e)

+ +

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

+

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-2024, "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/2024/Project3/html/Project3.html b/doc/Projects/2024/Project3/html/Project3.html new file mode 100644 index 000000000..7562efb97 --- /dev/null +++ b/doc/Projects/2024/Project3/html/Project3.html @@ -0,0 +1,471 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 9 (midnight), 2024 + + + + + + + + + + + + + + +
+

Project 3 on Machine Learning, deadline December 9 (midnight), 2024

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

Nov 4, 2024

+
+
+

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. +
  5. Or other sources.
  6. +
  7. Or you can propose own problems (but please do write to us before you start)
  8. +
+

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, and Decision Trees, Random Forests, Bagging and Boosting.
  2. +
+

Feel also free to use support vector machines, \( k \)-means and principal components analysis, although the latter have not been covered during the lectures. This material can be found in the lecture notes.

+ +

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. You can also study unsupervised methods, although we in this course have mainly paid attention to supervised learning.

+ +

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 Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, PyTorch 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 large scientific interest, 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

+ +

This variant of project 3 is tailored to those of you who are +interested in studying differential equations and may have followed +popular courses on these methods, see below. +

+ +

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, FYS3150/4150 or alternative sources from courses like MAT-MEK4270. For the solution of ordinary and partial differential equations using neural networks, the lectures by of week 43 at for example https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week43.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, PyTorch or +other libraries such as Physics informed machine learning. +

+

Alternative differential equations

+ +

Note that you can replace the one-dimensional diffusion equation discussed below with other sets of either ordinary differential equations or partial differential equations. +Please discuss such a change with us at the lab. +

+

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) Neural network complexity

+ +

Here we study the stability of the results of the results as functions of the number of hidden nodes, layers and activation functions for the hidden layers. +Increase the number of hidden nodes and layers in order to see if this improves your results. Try also different activation functions for the hidden layers, such as the tanh, ReLU, and other activation functions. +Discuss your results. +

+

Part e)

+ +

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

+

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-2024, "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/2024/Project3/ipynb/Project3.ipynb b/doc/Projects/2024/Project3/ipynb/Project3.ipynb new file mode 100644 index 000000000..0a9d2fa52 --- /dev/null +++ b/doc/Projects/2024/Project3/ipynb/Project3.ipynb @@ -0,0 +1,564 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "515b56d5", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "d08608f0", + "metadata": { + "editable": true + }, + "source": [ + "# Project 3 on Machine Learning, deadline December 9 (midnight), 2024\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 4, 2024**\n", + "\n", + "Copyright 1999-2024, [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": "43262ea8", + "metadata": { + "editable": true + }, + "source": [ + "# Paths for project 3" + ] + }, + { + "cell_type": "markdown", + "id": "43359271", + "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", + "3. Or other sources.\n", + "\n", + "4. Or you can propose own problems (but please do write to us before you start)\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**, and **Decision Trees, Random Forests, Bagging and Boosting**.\n", + "\n", + "Feel also free to use support vector machines, $k$-means and principal components analysis, although the latter have not been covered during the lectures. This material can be found in the lecture notes.\n", + "\n", + "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. You can also study unsupervised methods, although we in this course have mainly paid attention to supervised learning. \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 Decision trees/random forests/bagging/boosting' or use the available functionality of **Scikit-Learn**, **Tensorflow**, PyTorch 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\n", + "using machine learning methods (neural networks mainly) to the\n", + "solution of ordinary differential equations and partial differential\n", + "equations, with a final twist on how to diagonalize a symmetric matrix\n", + "with neural networks.\n", + "\n", + "This is a field with large scientific interest, spanning from studies\n", + "of turbulence in fluid mechanics and meteorology to the solution of\n", + "quantum mechanical systems. As reading background you can use the\n", + "slides [from week\n", + "43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week42.html)\n", + "and/or the textbook by [Yadav et\n", + "al](https://www.springer.com/gp/book/9789401798150)." + ] + }, + { + "cell_type": "markdown", + "id": "233aeb80", + "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": "5e9e9325", + "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": "180fe836", + "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": "79044fd5", + "metadata": { + "editable": true + }, + "source": [ + "### Part c)\n", + "\n", + "Then describe your algorithm and its implementation and tests you have performed." + ] + }, + { + "cell_type": "markdown", + "id": "1d20adf9", + "metadata": { + "editable": true + }, + "source": [ + "### Part d)\n", + "\n", + "Then presents your results and findings, link with existing literature and more." + ] + }, + { + "cell_type": "markdown", + "id": "da0685a9", + "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": "84f0c1ee", + "metadata": { + "editable": true + }, + "source": [ + "## Solving partial differential equations with neural networks\n", + "\n", + "This variant of project 3 is tailored to those of you who are\n", + "interested in studying differential equations and may have followed\n", + "popular courses on these methods, see below.\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, FYS3150/4150](https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf) or alternative sources from courses like [MAT-MEK4270](https://www.uio.no/studier/emner/matnat/math/MAT-MEK4270/index.html). For the solution of ordinary and partial differential equations using neural networks, the lectures by of week 43 at for example at this course are highly recommended.\n", + "\n", + "For the machine learning part you can use your own code from project 2\n", + "or the functionality of for example **Tensorflow/Keras**, **PyTorch** or\n", + "other libraries such as [Physics informed machine learning](https://maziarraissi.github.io/PINNs/)." + ] + }, + { + "cell_type": "markdown", + "id": "dff04e8f", + "metadata": { + "editable": true + }, + "source": [ + "### Alternative differential equations\n", + "\n", + "Note that you can replace the one-dimensional diffusion equation discussed below with other sets of either ordinary differential equations or partial differential equations.\n", + "Please discuss such a change with us at the lab." + ] + }, + { + "cell_type": "markdown", + "id": "51f14d9f", + "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": "6abd2255", + "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": "4f4a3f3b", + "metadata": { + "editable": true + }, + "source": [ + "or" + ] + }, + { + "cell_type": "markdown", + "id": "0cc61e0f", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_{xx} = u_t,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "2bc5108c", + "metadata": { + "editable": true + }, + "source": [ + "with initial conditions, i.e., the conditions at $t=0$," + ] + }, + { + "cell_type": "markdown", + "id": "8c206f31", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(x,0)= \\sin{(\\pi x)} \\hspace{0.5cm} 0 < x < L,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "1dd3f41d", + "metadata": { + "editable": true + }, + "source": [ + "with $L=1$ the length of the $x$-region of interest. The \n", + "boundary conditions are" + ] + }, + { + "cell_type": "markdown", + "id": "69aab333", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(0,t)= 0 \\hspace{0.5cm} t \\ge 0,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "33b3f598", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "ac7742e7", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(L,t)= 0 \\hspace{0.5cm} t \\ge 0.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "895cfb4f", + "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": "c6622f0d", + "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": "3ca63c88", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "29c0ac61", + "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": "14bb1c45", + "metadata": { + "editable": true + }, + "source": [ + "or" + ] + }, + { + "cell_type": "markdown", + "id": "a8107ecb", + "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": "63bd4075", + "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": "5c43dc30", + "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": "b0053091", + "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": "2288b721", + "metadata": { + "editable": true + }, + "source": [ + "### Part d) Neural network complexity\n", + "\n", + "Here we study the stability of the results of the results as functions of the number of hidden nodes, layers and activation functions for the hidden layers.\n", + "Increase the number of hidden nodes and layers in order to see if this improves your results. Try also different activation functions for the hidden layers, such as the **tanh**, **ReLU**, and other activation functions. \n", + "Discuss your results." + ] + }, + { + "cell_type": "markdown", + "id": "dc9e08fd", + "metadata": { + "editable": true + }, + "source": [ + "### Part e)\n", + "\n", + "Finally, present a critical assessment of the methods you have studied\n", + "and discuss the potential for the solving differential equations with machine learning methods." + ] + }, + { + "cell_type": "markdown", + "id": "8c3d752a", + "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": "a81f1b16", + "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": "0d14d009", + "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/2024/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2024/Project3/ipynb/ipynb-Project3-src.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c60b3ca639f473ed05629168375cebd05ad721b3 GIT binary patch literal 193 zcmV;y06za8iwFRtGAU;O1MSbv3W7io2XN0m#XN!RmwFEJ&>@iM1=d`1Eq85qg?#(` zfI1ajB!c~2{tPn=Gly)m-Di=zyI?g4p@cD*GEL$+5n1XP#wlQyVnQe;i~_;_dp vsfC@IV8pGLMgUg>@UoOnYQ?W%XY|?d)<)s4-|;-p^S<-||J{~x00;m8y=YsU literal 0 HcmV?d00001 diff --git a/doc/Projects/2024/Project3/pdf/Project3.p.tex b/doc/Projects/2024/Project3/pdf/Project3.p.tex new file mode 100644 index 000000000..9a5fd830e --- /dev/null +++ b/doc/Projects/2024/Project3/pdf/Project3.p.tex @@ -0,0 +1,433 @@ +%% +%% Automatically generated file from DocOnce source +%% (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: https://code.google.com/p/ptex2tex/ +%% +%% Run +%% ptex2tex myfile +%% or +%% doconce ptex2tex myfile +%% +%% to turn myfile.p.tex into an ordinary LaTeX file myfile.tex. +%% (The ptex2tex program: https://code.google.com/p/ptex2tex) +%% Many preprocess options can be added to ptex2tex or doconce ptex2tex +%% +%% ptex2tex -DMINTED myfile +%% doconce ptex2tex myfile envir=minted +%% +%% ptex2tex will typeset code environments according to a global or local +%% .ptex2tex.cfg configure file. doconce ptex2tex will typeset code +%% according to options on the command line (just type doconce ptex2tex to +%% see examples). If doconce ptex2tex has envir=minted, it enables the +%% minted style without needing -DMINTED. +% #endif + +% #define PREAMBLE + +% #ifdef PREAMBLE +%-------------------- begin preamble ---------------------- + +\documentclass[% +oneside, % oneside: electronic viewing, twoside: printing +final, % draft: marks overfull hboxes, figures with paths +10pt]{article} + +\listfiles % print all files needed to compile this document + +\usepackage{relsize,makeidx,color,setspace,amsmath,amsfonts,amssymb} +\usepackage[table]{xcolor} +\usepackage{bm,ltablex,microtype} + +\usepackage[pdftex]{graphicx} + +\usepackage[T1]{fontenc} +%\usepackage[latin1]{inputenc} +\usepackage{ucs} +\usepackage[utf8x]{inputenc} + +\usepackage{lmodern} % Latin Modern fonts derived from Computer Modern + +% Hyperlinks in PDF: +\definecolor{linkcolor}{rgb}{0,0,0.4} +\usepackage{hyperref} +\hypersetup{ + breaklinks=true, + colorlinks=true, + linkcolor=linkcolor, + urlcolor=linkcolor, + citecolor=black, + filecolor=black, + %filecolor=blue, + pdfmenubar=true, + pdftoolbar=true, + bookmarksdepth=3 % Uncomment (and tweak) for PDF bookmarks with more levels than the TOC + } +%\hyperbaseurl{} % hyperlinks are relative to this root + +\setcounter{tocdepth}{2} % levels in table of contents + +% --- fancyhdr package for fancy headers --- +\usepackage{fancyhdr} +\fancyhf{} % sets both header and footer to nothing +\renewcommand{\headrulewidth}{0pt} +\fancyfoot[LE,RO]{\thepage} +% Ensure copyright on titlepage (article style) and chapter pages (book style) +\fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2024, "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-2024, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} + \renewcommand{\footrulewidth}{0mm} + \renewcommand{\headrulewidth}{0mm} +} + +\pagestyle{fancy} + + +% prevent orhpans and widows +\clubpenalty = 10000 +\widowpenalty = 10000 + +% --- end of standard preamble for documents --- + + +% insert custom LaTeX commands... + +\raggedbottom +\makeindex +\usepackage[totoc]{idxlayout} % for index in the toc +\usepackage[nottoc]{tocbibind} % for references/bibliography in the toc + +%-------------------- end preamble ---------------------- + +\begin{document} + +% matching end for #ifdef PREAMBLE +% #endif + +\newcommand{\exercisesection}[1]{\subsection*{#1}} + + +% ------------------- main content ---------------------- + + + +% ----------------- title ------------------------- + +\thispagestyle{empty} + +\begin{center} +{\LARGE\bf +\begin{spacing}{1.25} +Project 3 on Machine Learning, deadline December 9 (midnight), 2024 +\end{spacing} +} +\end{center} + +% ----------------- author(s) ------------------------- + +\begin{center} +{\bf \href{{http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html}}{Data Analysis and Machine Learning FYS-STK3155/FYS4155}} +\end{center} + + \begin{center} +% List of all institutions: +\centerline{{\small Department of Physics, University of Oslo, Norway}} +\end{center} + +% ----------------- end author(s) ------------------------- + +% --- begin date --- +\begin{center} +Nov 4, 2024 +\end{center} +% --- end date --- + +\vspace{1cm} + + +\section{Paths for project 3} + +\subsection{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 +\begin{enumerate} +\item \href{{https://www.kaggle.com/datasets}}{Kaggle} + +\item The \href{{https://archive.ics.uci.edu/ml/index.php}}{University of California at Irvine (UCI) with its machine learning repository}. + +\item Or other sources. + +\item Or you can propose own problems (but please do write to us before you start) +\end{enumerate} + +\noindent +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: +\begin{enumerate} +\item Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among \textbf{linear regression (including Ridge and Lasso)}, \textbf{Logistic Regression}, \textbf{Neural Networks}, \textbf{Convolution Neural Networks}, \textbf{Recurrent Neural Networks}, and \textbf{Decision Trees, Random Forests, Bagging and Boosting}. +\end{enumerate} + +\noindent +Feel also free to use support vector machines, $k$-means and principal components analysis, although the latter have not been covered during the lectures. This material can be found in the lecture notes. + +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 \textbf{convolutional neural networks} or \textbf{recurrent neural networks}, or extensions of neural networkds, feel free to do so. You can also study unsupervised methods, although we in this course have mainly paid attention to supervised learning. + +For Boosting, feel also free to write your own codes. + +\begin{enumerate} +\item For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for Decision trees/random forests/bagging/boosting' or use the available functionality of \textbf{Scikit-Learn}, \textbf{Tensorflow}, PyTorch etc. + +\item The estimates you used and tested in projects 1 and 2 should also be included, that is the $R2$-score, \textbf{MSE}, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant. + +\item Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches. + +\item 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? + +\item A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include. +\end{enumerate} + +\noindent +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 large scientific interest, 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 \href{{https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week42.html}}{from week +43} +and/or the textbook by \href{{https://www.springer.com/gp/book/9789401798150}}{Yadav et +al}. + +\subsection{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. + +\paragraph{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. + +\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. + +\paragraph{Part d).} +Then presents your results and findings, link with existing literature and more. + +\paragraph{Part e).} +Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. + +\subsection{Solving partial differential equations with neural networks} + +This variant of project 3 is tailored to those of you who are +interested in studying differential equations and may have followed +popular courses on these methods, see below. + +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 \href{{https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf}}{Computational Physics, FYS3150/4150} or alternative sources from courses like \href{{https://www.uio.no/studier/emner/matnat/math/MAT-MEK4270/index.html}}{MAT-MEK4270}. For the solution of ordinary and partial differential equations using neural networks, the lectures by of week 43 at for example \href{{https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week43.html}}{\nolinkurl{https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week43.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 \textbf{Tensorflow/Keras}, \textbf{PyTorch} or +other libraries such as \href{{https://maziarraissi.github.io/PINNs/}}{Physics informed machine learning}. + +\paragraph{Alternative differential equations.} +Note that you can replace the one-dimensional diffusion equation discussed below with other sets of either ordinary differential equations or partial differential equations. +Please discuss such a change with us at the lab. + +\paragraph{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. + +\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) Neural network complexity.} +Here we study the stability of the results of the results as functions of the number of hidden nodes, layers and activation functions for the hidden layers. +Increase the number of hidden nodes and layers in order to see if this improves your results. Try also different activation functions for the hidden layers, such as the \textbf{tanh}, \textbf{ReLU}, and other activation functions. +Discuss your results. + +\paragraph{Part e).} +Finally, present a critical assessment of the methods you have studied +and discuss the potential for the solving differential equations 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{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/2024/Project3/pdf/Project3.pdf b/doc/Projects/2024/Project3/pdf/Project3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8fda528ac7360592a8535188a797cb1769aadd15 GIT binary patch literal 235246 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

Jw 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%0Ad4BX~&4W)G{ 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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) Neural network complexity.} +Here we study the stability of the results of the results as functions of the number of hidden nodes, layers and activation functions for the hidden layers. +Increase the number of hidden nodes and layers in order to see if this improves your results. Try also different activation functions for the hidden layers, such as the \textbf{tanh}, \textbf{ReLU}, and other activation functions. +Discuss your results. + +\paragraph{Part e).} +Finally, present a critical assessment of the methods you have studied +and discuss the potential for the solving differential equations 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*{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/2024/Project3/Project3.do.txt b/doc/src/Projects/2024/Project3/Project3.do.txt index 0abcf912f..b6ba57823 100644 --- a/doc/src/Projects/2024/Project3/Project3.do.txt +++ b/doc/src/Projects/2024/Project3/Project3.do.txt @@ -11,7 +11,7 @@ For project 3, you can propose own data sets that relate to your research intere 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". o Or other sources. - +o Or you can propose own problems (but please do write to us before you start) 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_, and _Decision Trees, Random Forests, Bagging and Boosting_. @@ -33,9 +33,19 @@ o A critical assessment of the methods with ditto perspectives and recommendatio 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 large scientific interest, 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/week42.html" and/or the textbook by "Yadav et al":"https://www.springer.com/gp/book/9789401798150". +This is a field with large scientific interest, 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/week42.html" +and/or the textbook by "Yadav et +al":"https://www.springer.com/gp/book/9789401798150". ===== The basic structure of your project ===== @@ -65,15 +75,21 @@ Finally, here you should present a critical assessment of the methods you have s ===== Solving partial differential equations with neural networks ===== +This variant of project 3 is tailored to those of you who are +interested in studying differential equations and may have followed +popular courses on these methods, see below. + 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, FYS3150/4150":"https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf" or alternative sources from courses like "MAT-MEK4270":"https://www.uio.no/studier/emner/matnat/math/MAT-MEK4270/index.html". For the solution of ordinary and partial differential equations using neural networks, the lectures by "included in the lectures of week 43":"https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week43.html" at this course are highly recommended. +For the explicit scheme, you can study for example chapter 10 of the lecture notes in "Computational Physics, FYS3150/4150":"https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf" or alternative sources from courses like "MAT-MEK4270":"https://www.uio.no/studier/emner/matnat/math/MAT-MEK4270/index.html". For the solution of ordinary and partial differential equations using neural networks, the lectures by of week 43 at for example URL:"https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week43.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_, _PyTorch_ or other libraries such "Physics informed machine learning":"https://maziarraissi.github.io/PINNs/". +For the machine learning part you can use your own code from project 2 +or the functionality of for example _Tensorflow/Keras_, _PyTorch_ or +other libraries such as "Physics informed machine learning":"https://maziarraissi.github.io/PINNs/". === Alternative differential equations ===