From cc6dd4fb3953d29d59abc98b4d57eaed59695f31 Mon Sep 17 00:00:00 2001 From: mhjensen Date: Fri, 12 Oct 2018 11:00:44 +0200 Subject: [PATCH] Updated project 2 --- .../2018/Project2/html/Project2-bs.html | 7 ++++--- doc/Projects/2018/Project2/html/Project2.html | 7 ++++--- .../Project2/ipynb/ipynb-Project2-src.tar.gz | Bin 210 -> 210 bytes doc/Projects/2018/Project2/pdf/Project2.p.tex | 8 ++++---- doc/Projects/2018/Project2/pdf/Project2.pdf | Bin 270857 -> 270950 bytes doc/Projects/2018/Project2/pdf/Project2.tex | 8 ++++---- .../Projects/2018/Project2/Project2.do.txt | 6 +++--- 7 files changed, 19 insertions(+), 17 deletions(-) diff --git a/doc/Projects/2018/Project2/html/Project2-bs.html b/doc/Projects/2018/Project2/html/Project2-bs.html index 02e379cec..9cfc0b4c4 100644 --- a/doc/Projects/2018/Project2/html/Project2-bs.html +++ b/doc/Projects/2018/Project2/html/Project2-bs.html @@ -162,7 +162,7 @@ MathJax.Hub.Config({
Department of Physics, University of Oslo, Norway

-

Oct 9, 2018

+

Oct 12, 2018


@@ -429,7 +429,7 @@ standard gradient descent with a given learning rate, or even attempt to use the Newton-Raphson method. Alternatively, it may be useful for the next part on neural networks to implement a stochastic gradient descent. For all gradient methods, you can use scikit-learn's toolbox for -optimization methods instead of writing your own code. +optimization methods in order to test your own results.

The notebook of Mehta et al is highly recommended in order to benchmark your code and results. @@ -447,10 +447,11 @@ to use the codes in the above lecture slides as starting points.

Train your network and compare the results with those from your linear regression code. -You can test your results against a similar code using _scikit_learn_ (see the examples in teh above lecture notes) or tensorflow/keras. +You can test your results against a similar code using _scikit_learn_ (see the examples in the above lecture notes) or tensorflow/keras.

You should have the same elements as in the regression examples, including the \( R2 \) score, the MSE, and bootstrap or cross-validation. +You may also need to think of using another activation function than the standard logistic function.

A useful reference on the back progagation algorithm is Nielsen's book. It is an excellent read. diff --git a/doc/Projects/2018/Project2/html/Project2.html b/doc/Projects/2018/Project2/html/Project2.html index ecd23a7b8..7e8da5aaa 100644 --- a/doc/Projects/2018/Project2/html/Project2.html +++ b/doc/Projects/2018/Project2/html/Project2.html @@ -120,7 +120,7 @@ MathJax.Hub.Config({

Department of Physics, University of Oslo, Norway

-

Oct 9, 2018

+

Oct 12, 2018


Classification and Regression, from linear and logistic regression to neural networks

@@ -385,7 +385,7 @@ standard gradient descent with a given learning rate, or even attempt to use the Newton-Raphson method. Alternatively, it may be useful for the next part on neural networks to implement a stochastic gradient descent. For all gradient methods, you can use scikit-learn's toolbox for -optimization methods instead of writing your own code. +optimization methods in order to test your own results.

The notebook of Mehta et al is highly recommended in order to benchmark your code and results. @@ -403,10 +403,11 @@ to use the codes in the above lecture slides as starting points.

Train your network and compare the results with those from your linear regression code. -You can test your results against a similar code using _scikit_learn_ (see the examples in teh above lecture notes) or tensorflow/keras. +You can test your results against a similar code using _scikit_learn_ (see the examples in the above lecture notes) or tensorflow/keras.

You should have the same elements as in the regression examples, including the \( R2 \) score, the MSE, and bootstrap or cross-validation. +You may also need to think of using another activation function than the standard logistic function.

A useful reference on the back progagation algorithm is Nielsen's book. It is an excellent read. diff --git a/doc/Projects/2018/Project2/ipynb/ipynb-Project2-src.tar.gz b/doc/Projects/2018/Project2/ipynb/ipynb-Project2-src.tar.gz index f0df7888883ed48009bbe078776fe449a521bdcb..23ce22ad2627f043b37525ac9078701225d2fbd3 100644 GIT binary patch literal 210 zcmb2|=3o#@IuOmk{Pw(W7n7ktTjKS3i~KGusn5CIq?cx>@Q8Jh?DEBak5mNT+`g^# z;?&KP20!d(_bbUS%rczqW1k*rwe;X=jis+vP4e!0ebF?uaQ6C7H9D1%*J^dcU3FK< zue#`P<#kw<#jz#M`@MFX>Pdaya{ap5?D&5>=PG^wqdskI?{gF1!6oF5gJmd-?Z6#UJYz>`ylP^SYP;89d0H!#Le0 K@jHVC0|Nk9wPmyb literal 210 zcmb2|=3v-5ZBH}<^V{=|d4~)HS`)9$N%9l8$*J<%EA`+aA*YxF0+(kr`Q|E{ZqH{D zirs1*68d-l*~=&Vubrv-_~p+gjZg0LY;HlexdcAfl2|X*lc6E`) ziozA@i{!Rnn(lo{jc;`c`|HVH?|*B%Rrmj}{r2D|^XiW*EB2hW+OGUyH~-B%=ZeXp zJnXwqr#?Kl_r8~Oj+DIWt?%94VLk7UZdrR;ucCO)yyS}BXH&Xf=FewlKnDMhsY^P2 K-^-xEzyJWK&tvZZ diff --git a/doc/Projects/2018/Project2/pdf/Project2.p.tex b/doc/Projects/2018/Project2/pdf/Project2.p.tex index 435f1b20d..511dfff7e 100644 --- a/doc/Projects/2018/Project2/pdf/Project2.p.tex +++ b/doc/Projects/2018/Project2/pdf/Project2.p.tex @@ -155,7 +155,7 @@ Project 2 on Machine Learning, deadline November 5 % --- begin date --- \begin{center} -Oct 9, 2018 +Oct 12, 2018 \end{center} % --- end date --- @@ -401,7 +401,7 @@ standard gradient descent with a given learning rate, or even attempt to use the Newton-Raphson method. Alternatively, it may be useful for the next part on neural networks to implement a stochastic gradient descent. For all gradient methods, you can use \textbf{scikit-learn}'s toolbox for -optimization methods instead of writing your own code. +optimization methods in order to test your own results. The notebook of \href{{https://physics.bu.edu/~pankajm/ML-Notebooks/HTML/NB_CVII-logreg_ising.html}}{Mehta et al} is highly recommended in order to benchmark your code and results. @@ -416,10 +416,10 @@ now the network to find the optimal weights and biases. You are free to use the codes in the above lecture slides as starting points. Train your network and compare the results with those from your linear regression code. -You can test your results against a similar code using _scikit_learn_ (see the examples in teh above lecture notes) or \textbf{tensorflow/keras}. +You can test your results against a similar code using _scikit_learn_ (see the examples in the above lecture notes) or \textbf{tensorflow/keras}. You should have the same elements as in the regression examples, including the $R2$ score, the MSE, and bootstrap or cross-validation. - +You may also need to think of using another activation function than the standard logistic function. A useful reference on the back progagation algorithm is \href{{http://neuralnetworksanddeeplearning.com/}}{Nielsen's book}. It is an excellent read. diff --git a/doc/Projects/2018/Project2/pdf/Project2.pdf b/doc/Projects/2018/Project2/pdf/Project2.pdf index 668bc511c563947085d24c827dd1a13634684cbd..7e7fbf6cb868e148bef807b3cd3044d3be7d7c53 100644 GIT binary patch delta 12413 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