From b45f04756e34348add112b4e09b1625194aa0146 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Tue, 12 Oct 2021 09:40:05 +0200 Subject: [PATCH] small change to project 2 --- .../2021/Project2/html/._Project2-bs000.html | 4 ++-- .../2021/Project2/html/Project2-bs.html | 4 ++-- doc/Projects/2021/Project2/html/Project2.html | 4 ++-- .../2021/Project2/ipynb/Project2.ipynb | 4 ++-- .../Project2/ipynb/ipynb-Project2-src.tar.gz | Bin 194 -> 193 bytes doc/Projects/2021/Project2/pdf/Project2.p.tex | 4 ++-- doc/Projects/2021/Project2/pdf/Project2.pdf | Bin 239136 -> 239949 bytes doc/Projects/2021/Project2/pdf/Project2.tex | 4 ++-- .../Projects/2021/Project2/Project2.do.txt | 4 ++-- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/Projects/2021/Project2/html/._Project2-bs000.html b/doc/Projects/2021/Project2/html/._Project2-bs000.html index f9c800422..3658ea708 100644 --- a/doc/Projects/2021/Project2/html/._Project2-bs000.html +++ b/doc/Projects/2021/Project2/html/._Project2-bs000.html @@ -195,7 +195,7 @@ The data sets that we propose here are (the default sets)
  • Either the Franke function or the terrain data from project 1, or data sets your propose.
  • -
  • Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called Wisconsin Breat Cancer Data data set of images representing various features of tumors. These are discussed intensively in the lecture notes on neural networks, see for example the slides from week 40. A longer explanation with links to the scientific literature can be found at the Machine Learning repository of the University of California at Irvine. Feel free to consult this site and the pertinent literature.
  • +
  • Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called Wisconsin Breat Cancer Data data set of images representing various features of tumors. These are discussed intensively in the lecture notes, see for example the slides from week 40. A longer explanation with links to the scientific literature can be found at the Machine Learning repository of the University of California at Irvine. Feel free to consult this site and the pertinent literature.
  • You can find more information about this at the Scikit-Learn site or at the University of California at Irvine. @@ -231,7 +231,7 @@ results. For Ridge regression you need now to study the results as functions of the learning rate \( \gamma \). Discuss your results.

    -You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. You will find the Python Seaborn package useful when plotting the results as function of the learning rate \( \eta \) and the hyper-parameter \( \lambda \) when you use Ridge regression.

    Part b): Writing your own Neural Network code

    diff --git a/doc/Projects/2021/Project2/html/Project2-bs.html b/doc/Projects/2021/Project2/html/Project2-bs.html index f9c800422..3658ea708 100644 --- a/doc/Projects/2021/Project2/html/Project2-bs.html +++ b/doc/Projects/2021/Project2/html/Project2-bs.html @@ -195,7 +195,7 @@ The data sets that we propose here are (the default sets)
  • Either the Franke function or the terrain data from project 1, or data sets your propose.
  • -
  • Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called Wisconsin Breat Cancer Data data set of images representing various features of tumors. These are discussed intensively in the lecture notes on neural networks, see for example the slides from week 40. A longer explanation with links to the scientific literature can be found at the Machine Learning repository of the University of California at Irvine. Feel free to consult this site and the pertinent literature.
  • +
  • Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called Wisconsin Breat Cancer Data data set of images representing various features of tumors. These are discussed intensively in the lecture notes, see for example the slides from week 40. A longer explanation with links to the scientific literature can be found at the Machine Learning repository of the University of California at Irvine. Feel free to consult this site and the pertinent literature.
  • You can find more information about this at the Scikit-Learn site or at the University of California at Irvine. @@ -231,7 +231,7 @@ results. For Ridge regression you need now to study the results as functions of the learning rate \( \gamma \). Discuss your results.

    -You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. You will find the Python Seaborn package useful when plotting the results as function of the learning rate \( \eta \) and the hyper-parameter \( \lambda \) when you use Ridge regression.

    Part b): Writing your own Neural Network code

    diff --git a/doc/Projects/2021/Project2/html/Project2.html b/doc/Projects/2021/Project2/html/Project2.html index 33aa54c60..1ae046634 100644 --- a/doc/Projects/2021/Project2/html/Project2.html +++ b/doc/Projects/2021/Project2/html/Project2.html @@ -151,7 +151,7 @@ The data sets that we propose here are (the default sets)
  • Either the Franke function or the terrain data from project 1, or data sets your propose.
  • -
  • Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called Wisconsin Breat Cancer Data data set of images representing various features of tumors. These are discussed intensively in the lecture notes on neural networks, see for example the slides from week 40. A longer explanation with links to the scientific literature can be found at the Machine Learning repository of the University of California at Irvine. Feel free to consult this site and the pertinent literature.
  • +
  • Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called Wisconsin Breat Cancer Data data set of images representing various features of tumors. These are discussed intensively in the lecture notes, see for example the slides from week 40. A longer explanation with links to the scientific literature can be found at the Machine Learning repository of the University of California at Irvine. Feel free to consult this site and the pertinent literature.
  • You can find more information about this at the Scikit-Learn site or at the University of California at Irvine. @@ -187,7 +187,7 @@ results. For Ridge regression you need now to study the results as functions of the learning rate \( \gamma \). Discuss your results.

    -You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. You will find the Python Seaborn package useful when plotting the results as function of the learning rate \( \eta \) and the hyper-parameter \( \lambda \) when you use Ridge regression.

    Part b): Writing your own Neural Network code

    diff --git a/doc/Projects/2021/Project2/ipynb/Project2.ipynb b/doc/Projects/2021/Project2/ipynb/Project2.ipynb index cd41515a6..b6ea3d965 100644 --- a/doc/Projects/2021/Project2/ipynb/Project2.ipynb +++ b/doc/Projects/2021/Project2/ipynb/Project2.ipynb @@ -37,7 +37,7 @@ "a. Either the Franke function or the terrain data from project 1, or data sets your propose.\n", "\n", "\n", - "* Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called [Wisconsin Breat Cancer Data](https://www.kaggle.com/uciml/breast-cancer-wisconsin-data) data set of images representing various features of tumors. These are discussed intensively in the lecture notes on neural networks, see for example the slides from [week 40](https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html). A longer explanation with links to the scientific literature can be found at the [Machine Learning repository of the University of California at Irvine](https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29). Feel free to consult this site and the pertinent literature.\n", + "* Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called [Wisconsin Breat Cancer Data](https://www.kaggle.com/uciml/breast-cancer-wisconsin-data) data set of images representing various features of tumors. These are discussed intensively in the lecture notes, see for example the slides from [week 40](https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html). A longer explanation with links to the scientific literature can be found at the [Machine Learning repository of the University of California at Irvine](https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29). Feel free to consult this site and the pertinent literature.\n", "\n", "You can find more information about this at the [Scikit-Learn site](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html) or at the [University of California at Irvine](https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)). \n", "\n", @@ -69,7 +69,7 @@ "results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\\lambda$ and \n", "the learning rate $\\gamma$. Discuss your results.\n", "\n", - "You will need your SGD code for the setup of the Neural Network and Logistic Regression codes.\n", + "You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. You will find the Python [Seaborn package](https://seaborn.pydata.org/generated/seaborn.heatmap.html) useful when plotting the results as function of the learning rate $\\eta$ and the hyper-parameter $\\lambda$ when you use Ridge regression.\n", "\n", "### Part b): Writing your own Neural Network code\n", "\n", diff --git a/doc/Projects/2021/Project2/ipynb/ipynb-Project2-src.tar.gz b/doc/Projects/2021/Project2/ipynb/ipynb-Project2-src.tar.gz index 7daed6b8392902b06564a415f318e80e1a7579ac..91a0fe1348340d54253551558974d9a5930f965e 100644 GIT binary patch literal 193 zcmV;y06za8iwFS0J7r-21MSaC3c@fD2H>uHia9|^($`wB3l~BWFOb^QrrJzRQn0tT z573q3rihSl^E1pa%p9`KcAo|IZoSnILXs$gDbpmLldz?pQJMmcXh>NYr-TBbVa%8Z zWWAGKdSkgBPigB$C?nLnxpAzjKI~aufoJ}SV=WEr^1;@qK%o@{;stVzjW}5r$Zk*t vlqk&91TAj8)B?B~fS0AT5*5GtoyN1~tqJ^JzvDQL<9z7>f~+$N00;m8pM6=p literal 194 zcmV;z06qU7iwFQOHDzG{1MSaC3c@fD2H>uHia9|^(zIC%cHu%O;ssKh+Ekm=Bn5kW z`v6@jZi)!`Hb27*!^|PuZ1-8@?k-pjLMWvaretX{Cn8Hd!cx$8Z*Y9|q=Xqax01+e+*#HOt0AZR{&;S4c diff --git a/doc/Projects/2021/Project2/pdf/Project2.p.tex b/doc/Projects/2021/Project2/pdf/Project2.p.tex index 4668c209d..90db3aaec 100644 --- a/doc/Projects/2021/Project2/pdf/Project2.p.tex +++ b/doc/Projects/2021/Project2/pdf/Project2.p.tex @@ -180,7 +180,7 @@ The data sets that we propose here are (the default sets) \end{enumerate} \noindent -\item Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called \href{{https://www.kaggle.com/uciml/breast-cancer-wisconsin-data}}{Wisconsin Breat Cancer Data} data set of images representing various features of tumors. These are discussed intensively in the lecture notes on neural networks, see for example the slides from \href{{https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html}}{week 40}. A longer explanation with links to the scientific literature can be found at the \href{{https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29}}{Machine Learning repository of the University of California at Irvine}. Feel free to consult this site and the pertinent literature. +\item Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called \href{{https://www.kaggle.com/uciml/breast-cancer-wisconsin-data}}{Wisconsin Breat Cancer Data} data set of images representing various features of tumors. These are discussed intensively in the lecture notes, see for example the slides from \href{{https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html}}{week 40}. A longer explanation with links to the scientific literature can be found at the \href{{https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29}}{Machine Learning repository of the University of California at Irvine}. Feel free to consult this site and the pertinent literature. \end{itemize} \noindent @@ -213,7 +213,7 @@ for example \textbf{Scikit-Learn}'s various SGD options. Discuss your results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\lambda$ and the learning rate $\gamma$. Discuss your results. -You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. You will find the Python \href{{https://seaborn.pydata.org/generated/seaborn.heatmap.html}}{Seaborn package} useful when plotting the results as function of the learning rate $\eta$ and the hyper-parameter $\lambda$ when you use Ridge regression. \paragraph{Part b): Writing your own Neural Network code.} Your aim now, and this is the central part of this project, is to diff --git a/doc/Projects/2021/Project2/pdf/Project2.pdf b/doc/Projects/2021/Project2/pdf/Project2.pdf index 0cf55e304ce9f3503b266549b5ca73b7a3633d9f..1cbc3c1c5c9e304186b13513806adcb51cde7b31 100644 GIT binary patch delta 28271 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

    )Dathj0p?$Tz&hN$~gRf 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

    K|9SuIyl!)+s?$Ybq<|i+;#Gf~ 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%0Dm*wiEL{>NV606G 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 LP*Y2(NF)3oa3XVq delta 27425 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 diff --git a/doc/Projects/2021/Project2/pdf/Project2.tex b/doc/Projects/2021/Project2/pdf/Project2.tex index f9338c32e..13ae9c648 100644 --- a/doc/Projects/2021/Project2/pdf/Project2.tex +++ b/doc/Projects/2021/Project2/pdf/Project2.tex @@ -154,7 +154,7 @@ The data sets that we propose here are (the default sets) \end{enumerate} \noindent -\item Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called \href{{https://www.kaggle.com/uciml/breast-cancer-wisconsin-data}}{Wisconsin Breat Cancer Data} data set of images representing various features of tumors. These are discussed intensively in the lecture notes on neural networks, see for example the slides from \href{{https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html}}{week 40}. A longer explanation with links to the scientific literature can be found at the \href{{https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29}}{Machine Learning repository of the University of California at Irvine}. Feel free to consult this site and the pertinent literature. +\item Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called \href{{https://www.kaggle.com/uciml/breast-cancer-wisconsin-data}}{Wisconsin Breat Cancer Data} data set of images representing various features of tumors. These are discussed intensively in the lecture notes, see for example the slides from \href{{https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html}}{week 40}. A longer explanation with links to the scientific literature can be found at the \href{{https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29}}{Machine Learning repository of the University of California at Irvine}. Feel free to consult this site and the pertinent literature. \end{itemize} \noindent @@ -187,7 +187,7 @@ for example \textbf{Scikit-Learn}'s various SGD options. Discuss your results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\lambda$ and the learning rate $\gamma$. Discuss your results. -You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. You will find the Python \href{{https://seaborn.pydata.org/generated/seaborn.heatmap.html}}{Seaborn package} useful when plotting the results as function of the learning rate $\eta$ and the hyper-parameter $\lambda$ when you use Ridge regression. \paragraph{Part b): Writing your own Neural Network code.} Your aim now, and this is the central part of this project, is to diff --git a/doc/src/Projects/2021/Project2/Project2.do.txt b/doc/src/Projects/2021/Project2/Project2.do.txt index 0de20d371..c09edff79 100644 --- a/doc/src/Projects/2021/Project2/Project2.do.txt +++ b/doc/src/Projects/2021/Project2/Project2.do.txt @@ -20,7 +20,7 @@ The data sets that we propose here are (the default sets) * Regression (fitting a continuous function). In this part you will need to bring back your results from project 1 and compare these with what you get from your Neural Network code to be developed here. The data sets could be o Either the Franke function or the terrain data from project 1, or data sets your propose. -* Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called "Wisconsin Breat Cancer Data":"https://www.kaggle.com/uciml/breast-cancer-wisconsin-data" data set of images representing various features of tumors. These are discussed intensively in the lecture notes on neural networks, see for example the slides from "week 40":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html". A longer explanation with links to the scientific literature can be found at the "Machine Learning repository of the University of California at Irvine":"https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29". Feel free to consult this site and the pertinent literature. +* Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called "Wisconsin Breat Cancer Data":"https://www.kaggle.com/uciml/breast-cancer-wisconsin-data" data set of images representing various features of tumors. These are discussed intensively in the lecture notes, see for example the slides from "week 40":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week40.html". A longer explanation with links to the scientific literature can be found at the "Machine Learning repository of the University of California at Irvine":"https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29". Feel free to consult this site and the pertinent literature. You can find more information about this at the "Scikit-Learn site":"https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html" or at the "University of California at Irvine":"https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)". @@ -51,7 +51,7 @@ for example _Scikit-Learn_'s various SGD options. Discuss your results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\lambda$ and the learning rate $\gamma$. Discuss your results. -You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. You will find the Python "Seaborn package":"https://seaborn.pydata.org/generated/seaborn.heatmap.html" useful when plotting the results as function of the learning rate $\eta$ and the hyper-parameter $\lambda$ when you use Ridge regression. === Part b): Writing your own Neural Network code ===