project 1

This commit is contained in:
Morten Hjorth-Jensen
2024-09-02 21:51:40 +02:00
parent 676a3d78a0
commit 9e63679895
9 changed files with 4637 additions and 6 deletions
+29 -6
View File
@@ -1,8 +1,32 @@
TITLE: Project 1 on Machine Learning, deadline October 9 (midnight), 2024
TITLE: Project 1 on Machine Learning, deadline October 7 (midnight), 2024
AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html" at University of Oslo, Norway
DATE: September 2
===== Note on using reference material, AI and other tools =====
===== Preamble: Note on writing reports, using reference material, AI and other tools =====
We want you to answer the three different projects by handing reports written like a standard scientific/technical report.
The link at URL:"https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb" gives some guidance. See also the grading suggestion at URL:"https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md".
When using codes from different sources that you have not developed yourself,
you should refer to these in the bibliography of your report, indicating wherefrom you
got the code, whether this is from the lecture notes, softwares like
Scikit-Learn, TensorFlow, PyTorch or other sources. These should
always be cited correctly. How to cite some of the libraries is often
indicated from their corresponding GitHub sites or websites, see for example how to cite Scikit-Learn at URL:"https://scikit-learn.org/dev/about.html".
We enocurage you to use tools like
"ChatGPT":"https://openai.com/chatgpt/" in writing the report. If you use for example ChatGPT,
please do cite it properly and include (if possible) your questions and answers as an addition to the report. This can
be uplodaed to for example your website, GitHub/GitLab or similar as supplemental material.
On scaling, we recommend reading the following section from the scikit-learn software description, see URL:"https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section"
===== Regression analysis and resampling methods =====
@@ -27,7 +51,7 @@ jumping on to the two-dimensional function described below, we
recommend to do the code development and testing with a simpler
one-dimensional function, similar to those discussed in the exercises
of weeks 35 and 36. A simple test, as discussed during the lectures the first
two weeks is to set the design matrix equal to the identity
three weeks is to set the design matrix equal to the identity
matrix. Then your model should give a mean square error which is exactly equal to zero.
When you are sure that your codes function well, you can then replace
the one-dimensional test function with the two-dimensional _Franke_ function
@@ -36,8 +60,6 @@ discussed here.
The Franke function serves as a stepping stone towards the analysis of
real topographic data. The latter is the last part of this project.
May be change the Franke function
=== Description of two-dimensional function ===
@@ -62,9 +84,10 @@ f(x,y) &= \frac{3}{4}\exp{\left(-\frac{(9x-2)^2}{4} - \frac{(9y-2)^2}{4}\right)}
The function will be defined for $x,y\in [0,1]$. In a sense, our data are thus scaled to a particular domain for the input values.
Our first step will
be to perform an OLS regression analysis of this function, trying out
a polynomial fit with an $x$ and $y$ dependence of the form $[x, y,
a polynomial fit with an $x$ and a $y$ dependence of the form $[x, y,
x^2, y^2, xy, \dots]$. We will also include bootstrap first as a
resampling technique. After that we will include the cross-validation
technique.