From 5e44dce2b0bb11995d3b1e00e6aa0422df255352 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Tue, 3 Sep 2024 04:59:06 +0200 Subject: [PATCH] update on project 1 --- .../2024/Project1/html/._Project1-bs000.html | 46 ++--- .../2024/Project1/html/Project1-bs.html | 46 ++--- doc/Projects/2024/Project1/html/Project1.html | 46 ++--- .../2024/Project1/ipynb/Project1.ipynb | 157 +++++++++--------- .../Project1/ipynb/ipynb-Project1-src.tar.gz | Bin 193 -> 193 bytes doc/Projects/2024/Project1/pdf/Project1.p.tex | 45 ++--- doc/Projects/2024/Project1/pdf/Project1.pdf | Bin 272873 -> 273238 bytes doc/Projects/2024/Project1/pdf/Project1.tex | 45 ++--- .../Projects/2024/Project1/Project1.do.txt | 51 +++--- 9 files changed, 228 insertions(+), 208 deletions(-) diff --git a/doc/Projects/2024/Project1/html/._Project1-bs000.html b/doc/Projects/2024/Project1/html/._Project1-bs000.html index fa17ccef5..dba196b61 100644 --- a/doc/Projects/2024/Project1/html/._Project1-bs000.html +++ b/doc/Projects/2024/Project1/html/._Project1-bs000.html @@ -173,12 +173,21 @@ MathJax.Hub.Config({

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 https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb gives some guidance. See also the grading suggestion at https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md. +

We want you to answer the three different projects by handing in +reports written like a standard scientific/technical report. The link +at +https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb +gives some guidance. See also the grading suggestion at +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 +

Furthermore, at +https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/ +you can find examples of previous reports. How to write reports will +also be discussed during the various lab sessions. Please do ask us if you are in doubt. +

+ +

When using codes and material from other sources, you should refer to these in the bibliography of your report, indicating wherefrom you for example 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 @@ -186,25 +195,16 @@ indicated from their corresponding GitHub sites or websites, see for example how

We enocurage you to use tools like -ChatGPT in writing the report. If you use for example ChatGPT, +ChatGPT or similar 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. +be uploaded 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 https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section

Regression analysis and resampling methods

The main aim of this project is to study in more detail various regression methods, including the Ordinary Least Squares (OLS) method. In addition to the scientific part, in this course we want also to -give you an experience in writing scientific reports. The format for -the delivery of your answers is namely that of a scientific report. At -for example -https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md -we detail how to write a report. Furthermore, at -https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/ -you can find examples of previous reports. How to write reports will -also be discussed during the various lab sessions. +give you an experience in writing scientific reports.

A small recommendation when developing the codes here. Instead of @@ -329,6 +329,8 @@ plt.show() + +

If you wish to compare your results with other on the Franke function or other popular functions tested with linear regression, see the list in Figure 1 of the article by Cook et al at https://arxiv.org/abs/2401.11694.

Part a) : Ordinary Least Square (OLS) on the Franke function

We will generate our own dataset for a function @@ -388,6 +390,8 @@ approximately \( 2/3 \) to \( 4/5 \) of the data as training data.

You can easily reuse the solutions to your exercises from week 35 and week 36. See also the lecture slides from week 35 and week 36.

+ +

On scaling, we recommend reading the following section from the scikit-learn software description, see https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section.

Part b): Adding Ridge regression for the Franke function

Write your own code for the Ridge method, either using matrix @@ -544,20 +548,18 @@ You can follow the code example in the jupyter-book at Part f): Cross-validation as resampling techniques, adding more complexity -

The aim here is to write your own code for another widely popular +

The aim here is to implement another widely popular resampling technique, the so-called cross-validation method.

Implement the \( k \)-fold cross-validation algorithm (write your own -code) and evaluate again the MSE function resulting -from the test folds. You can compare your own code with that from -Scikit-Learn if needed. +code or use the functionality of Scikit-Learn) and evaluate again the MSE function resulting +from the test folds.

Compare the MSE you get from your cross-validation code with the one you got from your bootstrap code. Comment your results. Try \( 5-10 \) -folds. You can also compare your own cross-validation code with the -one provided by Scikit-Learn. +folds.

In addition to using the ordinary least squares method, you should include both Ridge and Lasso regression.

diff --git a/doc/Projects/2024/Project1/html/Project1-bs.html b/doc/Projects/2024/Project1/html/Project1-bs.html index fa17ccef5..dba196b61 100644 --- a/doc/Projects/2024/Project1/html/Project1-bs.html +++ b/doc/Projects/2024/Project1/html/Project1-bs.html @@ -173,12 +173,21 @@ MathJax.Hub.Config({

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 https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb gives some guidance. See also the grading suggestion at https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md. +

We want you to answer the three different projects by handing in +reports written like a standard scientific/technical report. The link +at +https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb +gives some guidance. See also the grading suggestion at +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 +

Furthermore, at +https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/ +you can find examples of previous reports. How to write reports will +also be discussed during the various lab sessions. Please do ask us if you are in doubt. +

+ +

When using codes and material from other sources, you should refer to these in the bibliography of your report, indicating wherefrom you for example 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 @@ -186,25 +195,16 @@ indicated from their corresponding GitHub sites or websites, see for example how

We enocurage you to use tools like -ChatGPT in writing the report. If you use for example ChatGPT, +ChatGPT or similar 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. +be uploaded 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 https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section

Regression analysis and resampling methods

The main aim of this project is to study in more detail various regression methods, including the Ordinary Least Squares (OLS) method. In addition to the scientific part, in this course we want also to -give you an experience in writing scientific reports. The format for -the delivery of your answers is namely that of a scientific report. At -for example -https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md -we detail how to write a report. Furthermore, at -https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/ -you can find examples of previous reports. How to write reports will -also be discussed during the various lab sessions. +give you an experience in writing scientific reports.

A small recommendation when developing the codes here. Instead of @@ -329,6 +329,8 @@ plt.show() + +

If you wish to compare your results with other on the Franke function or other popular functions tested with linear regression, see the list in Figure 1 of the article by Cook et al at https://arxiv.org/abs/2401.11694.

Part a) : Ordinary Least Square (OLS) on the Franke function

We will generate our own dataset for a function @@ -388,6 +390,8 @@ approximately \( 2/3 \) to \( 4/5 \) of the data as training data.

You can easily reuse the solutions to your exercises from week 35 and week 36. See also the lecture slides from week 35 and week 36.

+ +

On scaling, we recommend reading the following section from the scikit-learn software description, see https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section.

Part b): Adding Ridge regression for the Franke function

Write your own code for the Ridge method, either using matrix @@ -544,20 +548,18 @@ You can follow the code example in the jupyter-book at Part f): Cross-validation as resampling techniques, adding more complexity -

The aim here is to write your own code for another widely popular +

The aim here is to implement another widely popular resampling technique, the so-called cross-validation method.

Implement the \( k \)-fold cross-validation algorithm (write your own -code) and evaluate again the MSE function resulting -from the test folds. You can compare your own code with that from -Scikit-Learn if needed. +code or use the functionality of Scikit-Learn) and evaluate again the MSE function resulting +from the test folds.

Compare the MSE you get from your cross-validation code with the one you got from your bootstrap code. Comment your results. Try \( 5-10 \) -folds. You can also compare your own cross-validation code with the -one provided by Scikit-Learn. +folds.

In addition to using the ordinary least squares method, you should include both Ridge and Lasso regression.

diff --git a/doc/Projects/2024/Project1/html/Project1.html b/doc/Projects/2024/Project1/html/Project1.html index 42b54e81b..c8cafdff1 100644 --- a/doc/Projects/2024/Project1/html/Project1.html +++ b/doc/Projects/2024/Project1/html/Project1.html @@ -208,12 +208,21 @@ MathJax.Hub.Config({

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 https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb gives some guidance. See also the grading suggestion at https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md. +

We want you to answer the three different projects by handing in +reports written like a standard scientific/technical report. The link +at +https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb +gives some guidance. See also the grading suggestion at +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 +

Furthermore, at +https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/ +you can find examples of previous reports. How to write reports will +also be discussed during the various lab sessions. Please do ask us if you are in doubt. +

+ +

When using codes and material from other sources, you should refer to these in the bibliography of your report, indicating wherefrom you for example 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 @@ -221,25 +230,16 @@ indicated from their corresponding GitHub sites or websites, see for example how

We enocurage you to use tools like -ChatGPT in writing the report. If you use for example ChatGPT, +ChatGPT or similar 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. +be uploaded 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 https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section

Regression analysis and resampling methods

The main aim of this project is to study in more detail various regression methods, including the Ordinary Least Squares (OLS) method. In addition to the scientific part, in this course we want also to -give you an experience in writing scientific reports. The format for -the delivery of your answers is namely that of a scientific report. At -for example -https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md -we detail how to write a report. Furthermore, at -https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/ -you can find examples of previous reports. How to write reports will -also be discussed during the various lab sessions. +give you an experience in writing scientific reports.

A small recommendation when developing the codes here. Instead of @@ -364,6 +364,8 @@ plt.show() + +

If you wish to compare your results with other on the Franke function or other popular functions tested with linear regression, see the list in Figure 1 of the article by Cook et al at https://arxiv.org/abs/2401.11694.

Part a) : Ordinary Least Square (OLS) on the Franke function

We will generate our own dataset for a function @@ -423,6 +425,8 @@ approximately \( 2/3 \) to \( 4/5 \) of the data as training data.

You can easily reuse the solutions to your exercises from week 35 and week 36. See also the lecture slides from week 35 and week 36.

+ +

On scaling, we recommend reading the following section from the scikit-learn software description, see https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section.

Part b): Adding Ridge regression for the Franke function

Write your own code for the Ridge method, either using matrix @@ -579,20 +583,18 @@ You can follow the code example in the jupyter-book at Part f): Cross-validation as resampling techniques, adding more complexity -

The aim here is to write your own code for another widely popular +

The aim here is to implement another widely popular resampling technique, the so-called cross-validation method.

Implement the \( k \)-fold cross-validation algorithm (write your own -code) and evaluate again the MSE function resulting -from the test folds. You can compare your own code with that from -Scikit-Learn if needed. +code or use the functionality of Scikit-Learn) and evaluate again the MSE function resulting +from the test folds.

Compare the MSE you get from your cross-validation code with the one you got from your bootstrap code. Comment your results. Try \( 5-10 \) -folds. You can also compare your own cross-validation code with the -one provided by Scikit-Learn. +folds.

In addition to using the ordinary least squares method, you should include both Ridge and Lasso regression.

diff --git a/doc/Projects/2024/Project1/ipynb/Project1.ipynb b/doc/Projects/2024/Project1/ipynb/Project1.ipynb index 71e7871a5..816cc7c52 100644 --- a/doc/Projects/2024/Project1/ipynb/Project1.ipynb +++ b/doc/Projects/2024/Project1/ipynb/Project1.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "f29d1e5a", + "id": "6c8c59f8", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "60f7a134", + "id": "24af4cf5", "metadata": { "editable": true }, @@ -27,34 +27,40 @@ }, { "cell_type": "markdown", - "id": "43b931d0", + "id": "2971d68f", "metadata": { "editable": true }, "source": [ "## Preamble: Note on writing reports, using reference material, AI and other tools\n", "\n", - "We want you to answer the three different projects by handing reports written like a standard scientific/technical report.\n", - "The link at gives some guidance. See also the grading suggestion at .\n", + "We want you to answer the three different projects by handing in\n", + "reports written like a standard scientific/technical report. The link\n", + "at\n", + "\n", + "gives some guidance. See also the grading suggestion at\n", + ".\n", "\n", - "When using codes from different sources that you have not developed yourself,\n", - "you should refer to these in the bibliography of your report, indicating wherefrom you\n", + "Furthermore, at\n", + "\n", + "you can find examples of previous reports. How to write reports will\n", + "also be discussed during the various lab sessions. Please do ask us if you are in doubt.\n", + "\n", + "When using codes and material from other sources, you should refer to these in the bibliography of your report, indicating wherefrom you for example\n", "got the code, whether this is from the lecture notes, softwares like\n", "Scikit-Learn, TensorFlow, PyTorch or other sources. These should\n", "always be cited correctly. How to cite some of the libraries is often\n", "indicated from their corresponding GitHub sites or websites, see for example how to cite Scikit-Learn at . \n", "\n", "We enocurage you to use tools like\n", - "[ChatGPT](https://openai.com/chatgpt/) in writing the report. If you use for example ChatGPT,\n", + "[ChatGPT](https://openai.com/chatgpt/) or similar in writing the report. If you use for example ChatGPT,\n", "please do cite it properly and include (if possible) your questions and answers as an addition to the report. This can\n", - "be uplodaed to for example your website, GitHub/GitLab or similar as supplemental material.\n", - "\n", - "On scaling, we recommend reading the following section from the scikit-learn software description, see " + "be uploaded to for example your website, GitHub/GitLab or similar as supplemental material." ] }, { "cell_type": "markdown", - "id": "131f84dc", + "id": "eba3be6a", "metadata": { "editable": true }, @@ -64,14 +70,7 @@ "The main aim of this project is to study in more detail various\n", "regression methods, including the Ordinary Least Squares (OLS) method.\n", "In addition to the scientific part, in this course we want also to\n", - "give you an experience in writing scientific reports. The format for\n", - "the delivery of your answers is namely that of a scientific report. At\n", - "for example\n", - "\n", - "we detail how to write a report. Furthermore, at\n", - "\n", - "you can find examples of previous reports. How to write reports will\n", - "also be discussed during the various lab sessions.\n", + "give you an experience in writing scientific reports.\n", "\n", "**A small recommendation when developing the codes here**. Instead of\n", "jumping on to the two-dimensional function described below, we\n", @@ -90,7 +89,7 @@ }, { "cell_type": "markdown", - "id": "335be2ea", + "id": "50da25e5", "metadata": { "editable": true }, @@ -112,7 +111,7 @@ }, { "cell_type": "markdown", - "id": "a77e527b", + "id": "7757fb0c", "metadata": { "editable": true }, @@ -127,7 +126,7 @@ }, { "cell_type": "markdown", - "id": "071b756f", + "id": "83fbdb79", "metadata": { "editable": true }, @@ -160,7 +159,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "eae160df", + "id": "39b900ad", "metadata": { "collapsed": false, "editable": true @@ -212,7 +211,17 @@ }, { "cell_type": "markdown", - "id": "c2cfaf54", + "id": "ef99fea4", + "metadata": { + "editable": true + }, + "source": [ + "If you wish to compare your results with other on the Franke function or other popular functions tested with linear regression, see the list in Figure 1 of the article by Cook et al at ." + ] + }, + { + "cell_type": "markdown", + "id": "b1a7f51d", "metadata": { "editable": true }, @@ -234,7 +243,7 @@ }, { "cell_type": "markdown", - "id": "a7cd4d8f", + "id": "d4bd58e3", "metadata": { "editable": true }, @@ -247,7 +256,7 @@ }, { "cell_type": "markdown", - "id": "c0bbdb51", + "id": "32f767b4", "metadata": { "editable": true }, @@ -259,7 +268,7 @@ }, { "cell_type": "markdown", - "id": "ddee9b4b", + "id": "bae0d9d6", "metadata": { "editable": true }, @@ -271,7 +280,7 @@ }, { "cell_type": "markdown", - "id": "6f220536", + "id": "8f0b2ec9", "metadata": { "editable": true }, @@ -281,7 +290,7 @@ }, { "cell_type": "markdown", - "id": "feb5938f", + "id": "8a455920", "metadata": { "editable": true }, @@ -293,7 +302,7 @@ }, { "cell_type": "markdown", - "id": "8ca0b371", + "id": "3f7ffe3e", "metadata": { "editable": true }, @@ -317,12 +326,14 @@ "approximately $2/3$ to $4/5$ of the data as training data.\n", "\n", "You can easily reuse the solutions to your exercises from week 35 and week 36.\n", - "See also the lecture slides from week 35 and week 36." + "See also the lecture slides from week 35 and week 36.\n", + "\n", + "On scaling, we recommend reading the following section from the scikit-learn software description, see ." ] }, { "cell_type": "markdown", - "id": "17494425", + "id": "cf4d70a4", "metadata": { "editable": true }, @@ -340,7 +351,7 @@ }, { "cell_type": "markdown", - "id": "79411fbf", + "id": "8cc60702", "metadata": { "editable": true }, @@ -357,7 +368,7 @@ }, { "cell_type": "markdown", - "id": "0de10c86", + "id": "bd9d1dd3", "metadata": { "editable": true }, @@ -373,7 +384,7 @@ }, { "cell_type": "markdown", - "id": "b284b2d9", + "id": "03fab7b5", "metadata": { "editable": true }, @@ -385,7 +396,7 @@ }, { "cell_type": "markdown", - "id": "3a862737", + "id": "009b7fb9", "metadata": { "editable": true }, @@ -396,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "8ca87494", + "id": "5bf0a0d5", "metadata": { "editable": true }, @@ -408,7 +419,7 @@ }, { "cell_type": "markdown", - "id": "a253c39b", + "id": "52c48acb", "metadata": { "editable": true }, @@ -420,7 +431,7 @@ }, { "cell_type": "markdown", - "id": "9c38fb19", + "id": "3158357a", "metadata": { "editable": true }, @@ -432,7 +443,7 @@ }, { "cell_type": "markdown", - "id": "8d59d872", + "id": "021253bc", "metadata": { "editable": true }, @@ -443,7 +454,7 @@ }, { "cell_type": "markdown", - "id": "0efd8089", + "id": "9e89d5fe", "metadata": { "editable": true }, @@ -455,7 +466,7 @@ }, { "cell_type": "markdown", - "id": "1a8121b6", + "id": "5f79916c", "metadata": { "editable": true }, @@ -468,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "544da2b4", + "id": "a6e62eff", "metadata": { "editable": true }, @@ -480,7 +491,7 @@ }, { "cell_type": "markdown", - "id": "73fd411a", + "id": "7e833f14", "metadata": { "editable": true }, @@ -490,7 +501,7 @@ }, { "cell_type": "markdown", - "id": "b7160507", + "id": "14ef5a97", "metadata": { "editable": true }, @@ -502,7 +513,7 @@ }, { "cell_type": "markdown", - "id": "b18ae3c3", + "id": "a9443b1d", "metadata": { "editable": true }, @@ -513,7 +524,7 @@ }, { "cell_type": "markdown", - "id": "a57a5e8c", + "id": "ff0c2a46", "metadata": { "editable": true }, @@ -546,7 +557,7 @@ }, { "cell_type": "markdown", - "id": "0a45f635", + "id": "4c8ea78a", "metadata": { "editable": true }, @@ -558,7 +569,7 @@ }, { "cell_type": "markdown", - "id": "ac85531a", + "id": "1d119b3e", "metadata": { "editable": true }, @@ -577,7 +588,7 @@ }, { "cell_type": "markdown", - "id": "69061e11", + "id": "b9782b21", "metadata": { "editable": true }, @@ -589,7 +600,7 @@ }, { "cell_type": "markdown", - "id": "b0ed607f", + "id": "457bd0ae", "metadata": { "editable": true }, @@ -603,7 +614,7 @@ }, { "cell_type": "markdown", - "id": "3ab15499", + "id": "fbc011e0", "metadata": { "editable": true }, @@ -615,7 +626,7 @@ }, { "cell_type": "markdown", - "id": "f1c5e132", + "id": "5bb40600", "metadata": { "editable": true }, @@ -625,7 +636,7 @@ }, { "cell_type": "markdown", - "id": "60f2d431", + "id": "e5aebe0a", "metadata": { "editable": true }, @@ -637,7 +648,7 @@ }, { "cell_type": "markdown", - "id": "572f071d", + "id": "6f243211", "metadata": { "editable": true }, @@ -647,7 +658,7 @@ }, { "cell_type": "markdown", - "id": "89eb115c", + "id": "850e1403", "metadata": { "editable": true }, @@ -659,7 +670,7 @@ }, { "cell_type": "markdown", - "id": "9061bf93", + "id": "86066fab", "metadata": { "editable": true }, @@ -678,32 +689,30 @@ }, { "cell_type": "markdown", - "id": "1df7ce8d", + "id": "aedb0de8", "metadata": { "editable": true }, "source": [ "### Part f): Cross-validation as resampling techniques, adding more complexity\n", "\n", - "The aim here is to write your own code for another widely popular\n", + "The aim here is to implement another widely popular\n", "resampling technique, the so-called cross-validation method. \n", "\n", "Implement the $k$-fold cross-validation algorithm (write your own\n", - "code) and evaluate again the MSE function resulting\n", - "from the test folds. You can compare your own code with that from\n", - "**Scikit-Learn** if needed. \n", + "code or use the functionality of **Scikit-Learn**) and evaluate again the MSE function resulting\n", + "from the test folds. \n", "\n", "Compare the MSE you get from your cross-validation code with the one\n", "you got from your **bootstrap** code. Comment your results. Try $5-10$\n", - "folds. You can also compare your own cross-validation code with the\n", - "one provided by **Scikit-Learn**.\n", + "folds. \n", "\n", "In addition to using the ordinary least squares method, you should include both Ridge and Lasso regression." ] }, { "cell_type": "markdown", - "id": "f99f3b0c", + "id": "09e42708", "metadata": { "editable": true }, @@ -731,7 +740,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "d9d2d89a", + "id": "a7412176", "metadata": { "collapsed": false, "editable": true @@ -743,7 +752,7 @@ }, { "cell_type": "markdown", - "id": "59f5b1a6", + "id": "2462a733", "metadata": { "editable": true }, @@ -755,7 +764,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "ab7fd531", + "id": "e299ff99", "metadata": { "collapsed": false, "editable": true @@ -781,7 +790,7 @@ }, { "cell_type": "markdown", - "id": "271b3252", + "id": "58bfbdc9", "metadata": { "editable": true }, @@ -806,7 +815,7 @@ }, { "cell_type": "markdown", - "id": "6555e3ff", + "id": "5c69b9d7", "metadata": { "editable": true }, @@ -820,7 +829,7 @@ }, { "cell_type": "markdown", - "id": "8289021b", + "id": "a92b1a41", "metadata": { "editable": true }, @@ -850,7 +859,7 @@ }, { "cell_type": "markdown", - "id": "4349e2d3", + "id": "3da35987", "metadata": { "editable": true }, @@ -872,7 +881,7 @@ }, { "cell_type": "markdown", - "id": "274e1581", + "id": "c03bf204", "metadata": { "editable": true }, diff --git a/doc/Projects/2024/Project1/ipynb/ipynb-Project1-src.tar.gz b/doc/Projects/2024/Project1/ipynb/ipynb-Project1-src.tar.gz index b6c496c20958f8daab2ccf578a51f4a806fa0d73..499227cd074e23df88617a2831cc2ec130c1f0f3 100644 GIT binary patch literal 193 zcmV;y06za8iwFQ}d)8(E1MSbv3c@f92k@Qu6nTQtYP+2Uckmz#@dY~9xlY&2wgdO} z?gR9sco`z}cli?%LUKqq+kG0jy9*XW2#FbkF_V~2Nmg?`p)>)?;+V69bG`yX*PN38 z$Z{vWbk+$ooYGXa)K=B?9jkBp00;m8Y?)SX literal 193 zcmV;y06za8iwFQD7uIF~1MSaE3c@fD1>mlGia9|^Y?`hGUAPd6c!AWWHq~Zol7hXx z{Q+GmZi)!`HjglmFmu?hH~Vem?k-piA%rsqW2QWrlC0+Ugwhl!<2+$BWW{!hkxc%;F*8oSSbs;talY^(CB22c!A7dEl-X{s_k_S v1xh;(!N^;uj0B;35JjP!LM^UgYw&DDW25lb=Xjpyd0%<}aDog000;m8j+<7S diff --git a/doc/Projects/2024/Project1/pdf/Project1.p.tex b/doc/Projects/2024/Project1/pdf/Project1.p.tex index bd8d91402..83bdbea44 100644 --- a/doc/Projects/2024/Project1/pdf/Project1.p.tex +++ b/doc/Projects/2024/Project1/pdf/Project1.p.tex @@ -141,36 +141,35 @@ September 2 \subsection{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 \href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}} gives some guidance. See also the grading suggestion at \href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}. +We want you to answer the three different projects by handing in +reports written like a standard scientific/technical report. The link +at +\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}} +gives some guidance. See also the grading suggestion at +\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}{\nolinkurl{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 +Furthermore, at +\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}} +you can find examples of previous reports. How to write reports will +also be discussed during the various lab sessions. Please do ask us if you are in doubt. + +When using codes and material from other sources, you should refer to these in the bibliography of your report, indicating wherefrom you for example 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 \href{{https://scikit-learn.org/dev/about.html}}{\nolinkurl{https://scikit-learn.org/dev/about.html}}. We enocurage you to use tools like -\href{{https://openai.com/chatgpt/}}{ChatGPT} in writing the report. If you use for example ChatGPT, +\href{{https://openai.com/chatgpt/}}{ChatGPT} or similar 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 \href{{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section}}{\nolinkurl{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html\#plot-all-scaling-standard-scaler-section}} +be uploaded to for example your website, GitHub/GitLab or similar as supplemental material. \subsection{Regression analysis and resampling methods} The main aim of this project is to study in more detail various regression methods, including the Ordinary Least Squares (OLS) method. In addition to the scientific part, in this course we want also to -give you an experience in writing scientific reports. The format for -the delivery of your answers is namely that of a scientific report. At -for example -\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}} -we detail how to write a report. Furthermore, at -\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}} -you can find examples of previous reports. How to write reports will -also be discussed during the various lab sessions. +give you an experience in writing scientific reports. \textbf{A small recommendation when developing the codes here}. Instead of jumping on to the two-dimensional function described below, we @@ -312,6 +311,8 @@ plt.show() \epycod +If you wish to compare your results with other on the Franke function or other popular functions tested with linear regression, see the list in Figure 1 of the article by Cook et al at \href{{https://arxiv.org/abs/2401.11694}}{\nolinkurl{https://arxiv.org/abs/2401.11694}}. + \paragraph{Part a) : Ordinary Least Square (OLS) on the Franke function.} We will generate our own dataset for a function $\mathrm{FrankeFunction}(x,y)$ with $x,y \in [0,1]$. The function @@ -364,6 +365,8 @@ approximately $2/3$ to $4/5$ of the data as training data. You can easily reuse the solutions to your exercises from week 35 and week 36. See also the lecture slides from week 35 and week 36. +On scaling, we recommend reading the following section from the scikit-learn software description, see \href{{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section}}{\nolinkurl{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html\#plot-all-scaling-standard-scaler-section}}. + \paragraph{Part b): Adding Ridge regression for the Franke function.} Write your own code for the Ridge method, either using matrix inversion or the singular value decomposition as done in the previous @@ -492,18 +495,16 @@ of data points, and possibly also your training and test data using the \textbf{ You can follow the code example in the jupyter-book at \href{{https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/chapter3.html#the-bias-variance-tradeoff}}{\nolinkurl{https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/chapter3.html\#the-bias-variance-tradeoff}}. \paragraph{Part f): Cross-validation as resampling techniques, adding more complexity.} -The aim here is to write your own code for another widely popular +The aim here is to implement another widely popular resampling technique, the so-called cross-validation method. Implement the $k$-fold cross-validation algorithm (write your own -code) and evaluate again the MSE function resulting -from the test folds. You can compare your own code with that from -\textbf{Scikit-Learn} if needed. +code or use the functionality of \textbf{Scikit-Learn}) and evaluate again the MSE function resulting +from the test folds. Compare the MSE you get from your cross-validation code with the one you got from your \textbf{bootstrap} code. Comment your results. Try $5-10$ -folds. You can also compare your own cross-validation code with the -one provided by \textbf{Scikit-Learn}. +folds. In addition to using the ordinary least squares method, you should include both Ridge and Lasso regression. diff --git a/doc/Projects/2024/Project1/pdf/Project1.pdf b/doc/Projects/2024/Project1/pdf/Project1.pdf index cb9449876ba394a016bc5063658cc0e299902fac..5cc4196ef2b6143b1a9fae7bdecf81b79afe007f 100644 GIT binary patch delta 65946 zcmZtLQ+t?!wk_b;wrv}YoitX{IE`)Vi`}@fZQHhO+cx&v&%QVp>)efBFrWF3aXOE( zw1k36sU$AR$jZbCM>(@FxB|z@8i$Gw&dSP@%(@Ov17!Z*bXspg1*Y|Tr7VX+q){kF zyxNN#;<=XH4PDqW+XaOwDC$UI35C}dfo)v|8d<^fxl#9_9wuP}A>VgU%2~mmdCzw7 z*HOS~hvs%T#ZSt83#PnDrk}sn9ezWYCYs{XqvK+FOhGW`PojL{ZEM%JO}c*&>ngIu znPkiv0Fros@*~{Ry6wWiOTjIRLyBQWYex7Cfyd!GFRvs)1z%Kcy zl>V)Jz>>r;UT!|`hXbf51oV$He0ivS&blB0w5a8^q)&x?J-;!i&aU*4o6FZZd{;gM zWbeHZ8~koXf5wVQQjRFQQy0jL(P>IH6Kp6KPz(zVUpWlYvxJ-%VKVQNXE3{4yYiUc znk}c}r+xLWP;ZpoY~Mx*FbzNIy4u1rY3hx^5KNY-#e*Qfv7Cb1K~?tv*Z&wIdG&+= z9w4b}ZJ3bIrPP0+WsxZfvaPv2_{jb|_JU8Z zjOJ#^piW;|yA)Rvo!j^2P}%S;ZtLVBQ0%rw1s}lm zIAgJC+m2@tGf^zQeeqLmf%?43jUk3!Xl{?bQEZJ~(gt6bcaWzSm_FYksleyjcxJJl%7Xv`fR1c7 zc(xjUU@@hDrRm2Ub?`hZDuEF6soaYCyQU#s6+e1z%U^bwG~zDl-D)#ACW)M&Cc(bi zP1?8Ekv>>8hnNpb>l=D^UQW6S&_KIua~J7}`93K8rqYM)clLDjxbkm;NU6WFCunBA z>ysT|Y)y?s7?{Yf*ke!(RPmYsQ2dDOi%Z-uCUP8-2H#t)Fd(3Dn#Lf+9e2vNaML^r zcBQ<^VdzF&?tQBXMfNW4Akj2aYxt4vvwt9HlMW*D(lYu%kLeM-MkIXcYs9kG2NX&; zSUkW}cY3LPRwz9@7d+!0Pp$YPPG<849UJ^3ARi>2{6gVVk~SX8XJGyfkcvWfYX9@# z*PdVtti^N0#a=|l{aZ{an{ambLd=S%S&qSgep=Y5C-#Kx<45B2tj|f{+4+TJFt3VJ z6ripnnTk?TBKlWoJU~XLJdP@b%9|^swaAJc!-DyY5hto>L(U=Xs$YaVa z{+EQKLqa5H*{ z+*G@ceV`aITbZ(F`uNhButR2atnl-F?aZN-Obr8dc}P3Qzd<1y&?=*?VEmU-lF11^ znM4P#YG$f!rN6K{4zH|hbtIT^Aj>abs&{0rTwHBJt%q5W*sG9>+cy`6 zkI-ZsHg>Fcj^sZO14tjwrG@*=}(32BL?bK_4TbPi{-8$*Glu65u6G74#i=9OF-tn};v>iz9`^X?6Qs2M~_ zxHgSKRs%hCB1(QH;R+hOFs_TPt)>(oaJlU^AL=1{&E(D*ixMBj5Lo<}^lJ|1Q^jA? z#l7Y7*Qv!hz;5qvj<`F3Zv6Mo_%9kOm_C`@&E`F9yMQo!<)?HiIw`7diKGcr;wuJG zNpMGn&UqtwMU^e7ffob=yKA@Y!@icyB!8_d-kVUR9$VmDns0NPQNp92h+&kX+2a;$_RO%xGV7NAVqsxK!m2p*y}U~jPUltgf}yiffpjZ zUZDKM^9`Ux^njqx=q+Ea7G9R~&tVLz(Z5@ST5hYoI;QgW>qZv_MbIlROTO!;Pd7W2 zumV{Gu!#y@0{cpBnOs0hw#_bU*qw8unK+TMY|3wj0+(M^B9a?fxa6f6@0>u#lc2NQ zU*G)CYHnXQk~J{ToZa2@&s}b$Fqi_xj>PQL0%d~7{pd$WQAc=q!NPYMY7Wq8O&~Ai zL8lTWmsq@2wAaLsNs5H;LFfyVZFJo3L8FO*zJA5W>L>QnM1&bhFy_BtUXRBR?kO@< zw~ryYFA~>`E?US)}%a*`nIa-eCFAI{b9*8;zSWgwA2;wTyf9|$I8V=)3l zjgXfS2l^Uf_Jd+2d1G^=JaB#K#HQ-@HbJ-BEo`Iz&=Q0zg6(m5s^}`-M@FMIud>4f z?y1t8EtL-38ldrD!gs1tLAhwY!ZI-7Jg?UNr5ABDG!M3Ur~TLLE|Ag&);?bk!f^pn z?4T$;eoHarmHgz}+eUgD&v(cE8bFn2v&X%Ve6?u}oQbWmle44AADjP8c7~R4>?|ZK zB>x-u`Qe!5Ol-}Z%}Lm~I9N!M+1A0SfkV9U_+Y@69n(-#he_E_B2CL{6>9;jgX|a*vTVLKJ@4l1WxU;)B zU3Y^OUD{gO^=U{8gY6u1vBq%X3SY@wQfG!3uUsSDMvZ2j?QD~WQVQ1Qf#y;zz_Rj8 zY(8nhw{6jb%^Le%JCl;|FUI=QFG^0ko^Rwu=#0KdJ$q%JomcN)uOII11HAI;R~m;e zWQy{O>hI8J4fHAg+RlrLb1RFN({A5jIaE2C)XoaAoRqeRQe3+9_D{ujml&K>Rn4s< ziFyS!F|$!=%sV?el$TX2wxz3yK)Gi#{quQVxn+kjQ$n$PYjO4YU4P}QOlu|a=@QG5 z%}>h;6l%PqhK21!d6{IkVfV3UIW7n=Lui+%jHTD8 zftq*YpwbQd?IJ?L1}an*}{7~%8VFtpuhv2$NWAp7B*$pSLE!nQn!YM zxZh-2V0V_}P+PUOm}^50T!p=RITnzRo79)B_3%nJdErqxCw1S|I6NrY_qipIRrBD! z;0WgULG8GE34@~-naiXEEvT|MQWMk|_!+q?n#Dinl5+g$cMFEPKowhpjLKiR@8mI;_Rh`O z+()gCaOQZOECmLW7CN6IuVe*EB|>(*$BM-zr!r?4Y&v~j?|5-DYB8lQWmG(k{m<6c z8;3>2XLT>qM2TBU1tr;@E#iEr=R(w?A1supcx&S6fD$ioDPDx@;WjXYH#LozNvx?5 zgEUK`fOu;p`$_h-Pwcn(FJ@M_=K!fjcCyNp0u-6sN*pC-I3HekSyua&<&*}IgPbBO zPres0&9gO={hYyw8CegC$)gWwtVb12w~nk5OENFP|HSBmEXgKQA`}$pW3aa=5nIOf zpwkKiC)`U6cqVT)WUx>a+K@T%1Sz=sD8kL9fSe+xy@kHWe88-P}O9?x*W)nD<5Cy z>4SVJ#j(|!an;{T3Qu{D2VhdzGGOy+HppiSHLD8{UZ@6t;V^RRjCcIKUebQmbv=q~ zi@K@act1IgmE873Ks>@bAu-mS{-}ykjqZYW7TjpVaBnC>?jZi{``0OLcxP^5eXm3T z{wV=4jpF!CO^P_rsFX5&LjtxQiq~;6iKMe*Vo8ywLLCZ4QM9@!4@>0tk7WK?_r{|G z>Lk`qP^|=#*c^sQw`2R)CDjQPai^BK+~4fw3*e@}iMvTZ%;rMiOc7O?;~9gTz0Btm~anS8cvTtGNad zP`@5u-{JEaqjJC6HFjZ2G!;j`J>7FzcFk#%4vqhYnzE@!;t8hGG#C|C=X!Rj&u6Z1 z6CoUQLx~9_HDC9Kj>O-(7g{y&82D;J5w0)ECauqW*3qpU0yjDahj~ChsNm8@g+KM*lS~dFR+C>^x%uhaR&T1R zre6Ml*k&9)#$SK(L@m?2vp?u8(#?%MsO`Bj_M-wu^G}M(H69o6@oRxH2184XlM!8a z5D7i6WR62Vorj@{vX+AKQkH_xk(5BnHOJ!x)C@y1qNzWX>#Y2X%n#oBI8+bQ{fy&j zyJR|vRh~^*-ajgQEApfn9(Qg55Jag+M5$n0@aS?g#rm6@AFlIasUEr5RF5Q$p0#V6 z9q*b(RRJmTfUv! zQO!(*lXDKF4aF{$Ap7er1-VLM1j}tAg_dltw&|90Z`H7x(i~pLP!7)BSz52|kIRd+QZ|pn!ra1!iOj*rh=J*FU zaHyAPc9oBHNG%m;oIojWL@^ZPDda~zl*cQ&Bo}U0Nu!n`3n9Jt^UcX@#Jo#+BU9l| z5%~`aMjY=QxDuMdqBLXg$df+-t;q``j1E!TdyTk5m-5sI49t&Mrtk7!^WKSz5Vc@< zdj1Ra6;vT2b(#fPT9d#-6itl1|1b9Th+@T?>Z6Ggc+!q;;hOi#keW83KawIs86aGu zpeIs0*@qh);a^h~#DaWPjoHA@Jg=jA?9^#E$g}Se?}T|_7=MKE-U_S45hLX|0d2K0@g+%x9zX>ol|(xB{J*G?IXsJh9&_>7K}{PGl}< z6vt(MJKnO=it*dhU%Wni9%}q-ZjZX?ny46+>_?{0j0&P$R;_Tgx7(|0+hnFV>?>mq z8Yq%^^Tp%p3}YHg9<6-et|)7x+flpWNEW>WBfR7p4HT7i$8AGtBm$)9JCY*S_|02{ zv667$$`b@dEvy=BKviDnX& zyeRc0<07C09cUJ!cwOq{l&3oj;K-%XRP9C!20iL+qfkv=yzsZ(nsKar>kef6l03+P zkP35`V7Is-R>>c>QeyY;k>m2Gi=gUJrr>QT`?U1>eGh@QYQeC96ijHU{E-RPFoSse zKFs)wQVBt*5XU#kI_X|((tmuAbqVG0_+ke;qXU2uIm=-PMKxfe+%w=QW0kwQ*$j2K z6l9Ezo&zfZ3oQ*6jLlpx?P52WH>w?oNvYc-_;FY-PgEzG+v@@n>Vv5Y%6kN~7kL6< z$45S?V2i>%k|hpAMtXv_iyRUqn&zd7{+AsZGc^U%v-%u!SbA-mN5cjarJ1A`OSJZZ z)IcPUhRan3g14)X=H1;IuO=PF*sJ|)x>KrLWiM;A3vq9(jO+z9BPF*nMaKYML%_J9 z!Gn)5#*?A@OewmVh?LsZ)S^lUNT>QJZL zx!d^h5^kcR04Q8Wk5=!9e+nbcbs^<6(ZC6e36mf9kWJ0`u^fHJz}@e$xnJGTtXxQx zlFFXzkEfR$T8h?K4>mhlA=e7=)p@FU6!BFA71G6~sca-Kxn12s6&sNR9k;VS`t1EX z?uR+~l2&@C&^Iob={bj(@YcJJe44$|9sPBvV@FfiXcncxG3wl%Ap~j|FJ1O^3_wen zL1=-%Lo1h@{Pw(%#_lVG8gH|q$zYj|Dk^G~P3w+r&EC7^XOBG7cO26D5PfneCu@y`M2j%ql)kf>pI zFsX#GAt=R8($ZPgF(^gFOVg2aaiHprw^OllVPM1nN`9y>yBU)}9#cOa{4V@xs zn6oUqd-2d*wmfdNllL*ss#8=PHGfF>wb7{X_#)BpL^DAR+dDmVbFd=v2jHKL&)iJ< z*iPg~>uocRiSRTH!KrRK#_QgDJUgc}L|nMj;0*;?Dn6)wM=If*Ub97pW=Df`c)#Bi z%_hEj#qe`yR5g$WZmcd7MvG*#0z?!1sUKk+cdQAWI)dCWOPN%Mb7KB@)Qwpf?n&b< zP5A5%olWSCF7O9Y_JC&K8_@83JVol+QNB}&fzXm7&WxT(x_}PX6aB7E1lKbw!(YoI zS9jW1o|o}<@T|sW(&e(&vEuBFLsH+OpvN?QfpG_mY&z8c)ptt6jr$wYDA>p2zX{60 z`ria)Wnt$gAt6cTSO=#BDu2nxtaG7sURR?iVVt`xHAw%g!|Vy=s0_rQRVwIe91NhJ zO)`|hkf!^3c_fTTBwt;VM-sp(2=Tt2oDrLP*_yiVM0Wdv-)By5fBg~Ffis92-Z8n< zpO`1n@Q`Qk4};h#fA%S``cqkOLKID5tj&E+6ysfo9)ehOexd3BFkvicx_6VRI;lqf zw)KVnhdV@rM5qdAj5d(c+?lCmPfVnx)*0!Zu!dwYV}Dda%e?0QF1R4I3b!B*+ zs;XuR4eMEw{)!<6-fsGhkm~nAAV3;qQ$!Y2ym!N=BpTa_Pkpj;ir*3jKYO1xrc{b> z@gf~*)E2`;)Y_MLwfwpwfHzUc7aP5=dKy%OD9dWzikxkF> zg+Mm=INv%l&P7d9&Rh)(r{^Is+j_{c6Yqn1S6ZVE^w%Jag|QlZH_8!`uDdo4<=D~3 z)^2@AdDnGzQxWl|yOowNPkajHp;WyHuygYod&IlA)VZpk)6?T!9cexE?3-CwO1C3a z42dPs>7I@m>s@Nt-?n#aE-D%Q+J%>~vP>Bp$kp#Xvch|4$ATeN>IxMgV3-9%M-~GQ zl)s?_l)QsJ3Y9^S1vKTvjRZ+1bWE14_gIs}6FC#SYc$rFN7Yr$O@xqIrx-+q9a{Wa8FqyBu>P!yS8Bce7(YPVD%yBl7Wlh+VJTy?lzVk3zL$(OQhxsfF*oQ0;|mf6A` zF=)Ge{K zp{>_~UGtm-$(UEbJ>ObK?-(Cn@79bul07{o@KOFsVNI!NI&Wtm-p%hx;Hyse{j#60 zKnpOh33~j+H{bTl?%0Vc=2e5@z;-HYF#|#{L@sQv2X%ev`A1+LWFGvSa&E8Q`-aj8 z)upEJY@Jo)slmKmdiys>B>$WC|L2M%?24g7uyb&6|KEJJsU>T7FofE5u7MB>5B*#D zf_jz9TRK3u-=B~#$#0?CdBO!>obJ+ukwN;;Fu@t?jJ5 zY6{CO()#vL0_*GB)yd&e@;q2J^Pj7OQ~QXDMh>lZSg;b^q)lxNm0}@VWcuaa@IiZ_ zip;9>xU42%Ec2>r3V|)8t!HVKV3+RFNuN$#_0dMRKJ)mNEVinqGgNZ1UR@m%_{{fp zeI*vdEt^a&-|D3}9^AIxZ@akouG{wUdPJ;Yw*Xt$*ifS&yma2D#w@d8*8keo=(+I}<_<9{Gqr1#O6x2+4)%}7W&hkC zSVYh5I#x+Lr79+)v-7bL6tM@s&6W(ewF`+ABuQxTctlH|hwMkF(cpR4ODevC;jjIc zw&4ffW5#6@G7{38eyAsiWOp~j26s%jdksu8%g{HMP7VcjOerE4hs5tIj^-S2e?7F6 zZcRFp6C|lw^7mdM@bz=SO;#xij@$p^ zG9G`L7q%5Eax%U0+nQD`)o~Pg!35Z8dh!K;m5Np!AMcfmbe58h1~0nS{f$FUU1Y`b zj5QougWQywPev^Enu7M5ZaobvrY1u93~Ks1?q`;Q#|V7a_qNIwY2A-+0SD znCH7Tkf-)AUo$`vW%WSmF>jeCOq3~VT-7FDaU>UvbJdN}`0fCa|KF4GMrn$RHfQ}s+%ljJowQswyg7nIy#0Xg_vP>EE2e}%``Z+KR?Q$^f*y8?)2Al6;~^! z6H3|PznO=|FTC7E*Sc?S2HjcxMFB#W`g7z1jb{kAAH5^wm)6`*C`FvTzsQrV zl_PV?;h?)|LS;p_Y0+ea>2_6sKC$9w7-ljkcGzHH-gnIgw>@>LY}IaW^{ zmcQnnLNI}|ibY&{c$B29SY{5Y*+h~|r5H3xTmawakNSy1Y08p?`>P zkfKr%-TNtwaM4O?W&~%hTDAdGX;J3N8F(`6Ty24RqMLw|%}MN4f+BR3yuxn&vlrM6 zF|C4Pt;84zC5(^;VW~%;((Hyo4hvy4XI@#&sIP9}YzzMDhZqXRBvyA!-t12hRWf4L z1>%`p7EO>D+?`cY9AZ>RXk=Gr=uSZZ6yq6*KcOOI-QW_%ob};HpxzEBgR>LI(>v~( z6O3vAIQ>M}Q-azkg8q&%hg19APV7k<$yl}Rw0J;WPAkKaibWDYn|0o-89UpAXI-AM zzBIqV6E5FmWZUr#NA?s9jdSU_s4ns#1p;=S>B0Yg7j4e==hay1Xxe}AHL4Y-6(Z3S zGDi9E^yKGp7~S1y(!cdkdCo`(4*uxz4dq?I+0LvVhHnpgBp0gQ1BS&Qhyl+FAO&Ds z*dP?bVViBxn7U2?3{%r~oW|$LrZG`KoStkpJ2`5(_UwDB>ah5Wk)a}S0{^5#A9N-e z`+3C80F&oeT_(GhDBp^$90{qmW=65ZR7$!9KPxNu_dHI|cX;YNnM+xer>~CWRDyRZ zt$~tiVgHghcYfUsgQPoldF9*w=c{?8tRlLwan=uw47UZ~sv}<#J7*S@iD$ofQda8M z_xAf~X|)#;8RiUuu8)b*3Omi5p=seTk7I!=oNHkX2X=Vh2P`J@cOXXfOFu~77slXx zx5%yUSiz^-W_k)IgeSQ+N40W@_&@C8IQ^^Yhp@N#mTMK2iZ~G%n2iEB0pja&D)*LQ zdkd+mi!KD%i5Oa$-s&COL zJ!i^B6jaB3K~$1HtSdN2NvSoVHpe-(Egv7XgcmGtn;2mzl?K_sNcyoD25OQTGVpFb zpw~>w2jTg|ch#Py1eoS+sz3VS{C4qi=^7QNhI9asi@NT#PiCTm1`-oe$oaDP`>v2KJ z_;V49AZVuQBs-j^UG0_~YoexV4JeF(g=)HVgd#SH9eKA>GV0szrklEPc%|UW|FPYc zD+&Vs!lNoUWVkACnHR0|2|IqlkfI$iq&sT6sLy9j_8*o849S^ezCq^xXtQwL|D%@} z&qg;e?k{wdmDtM$m7?;a=v;?$o=|`-BphPOXBVk&s9)zh|E{lwkU`z-r();(0c`4iS19-Hw6R$PpO=AqT2caLj{fLmhlzG&!ms+AyYI7?!r zB^c2ag{5E}a*+mVFMp^6!+CpG=2HoHA0SwSFu6I*C*!qVY7cRQH=9Qr8&eyBm0vD@ z^V!t()%`bl<$V`~wjb~JZqIXi+2nogB<0Voz_;Ean}2j&|s~$x}9A!x!eFJP)mZiMb0naAo(#v z90Y}Zb9=Qb6Ef}1oqB(|CrYPs8o}p`K?x@oB7MHIM(V~34(88*!kcK*Pg9Fuazh_A z&S`ETDnN$6VD6r?*U4QDGICApzv&Sdss5C9*^H~F`&6#fKnL3WMGFEP2d~^$nkgNY z*-Zo1pCDeUMbuLgcsr)}6!+@GSmas_De%uOTR5!+dHwTH+o0Ud9(%5dEjRM5c}?%0 z*cUNE&AU`p(rZ^WRpm7x$1`wTT)A{s%u}{kFxYBjgfgO&N0`poO_o1Y9dGid6I4<{*mET3h}mXt=_uTjsfd+l zlywyK12PK}BpctQePoeVYBNECMgPiL?ry+Q7OoS^xO_!=6x^zAgo@>7d@KrH<_V zFS`1uCyUX*0MGk+^=_gwpANskB)~BBgq(F*>_(0F+-6lh9lhGhb8d8xr*ybryxy*k zr;r8jW>B_V>A>pHJvJ@0B~XM3(~}Jbp}QtA*J{z5|7W(*$Zr7XyjjPo!w^;&Fx4|0 z`9Zw<7wWdL-zhN6{nrpTh0hj$SuT=gnWSY|fTP4bYokBdZJTo*^a`CH7p_S9PZZjP zStt(m89EP&o?+f}F@%M;V^BwkXUsq1P+>K>I_N~nImhJva48Yb8wC?1ri1B(9Ey}i zD0g9fMLb|4q1H73$Fh2uLf)Z@R37(Y8Q*|*J{DDZ+Dt(VJraycT#nh~)2mnq&0faU z&(tQn&wV9KFw`5b=ZL@>sem3#ZmtI`X#a%i{J4qn*on9}(1oolZhS5$pLFg8dKQ(s5be==qB|A161+fmd5q-G8CB-(139PZ7i! zVRD5x)cMa;J$yAj^q$FqHP@iCui88f&7??j*X@@_%xdG~IpOfR0^UJV62nDhu!m*H zOmCs{#rsYQ`-kbwLH=rYpik$+NLOlV5tlh;Vsxftk0s~l>5<=Hq%X%-|E)Mq?*HzB z*jd0Yc{R(VPGWk? za(nj|8mEqOOPa|^ceV=Hb}4?<{v)Gp`_rDlCBFrH$69`Qw$BGp16w~+6HPWZ_PMh< zD#zc)6wk}vtIporY(Cy~*Iz?-bMF$mH`e%1BaXmr70a)tCVl-lt>3TL?F8Rd^b%BM zro?THc)Qn+ew?0xKC4*VHDGdCOcUBR?lNG?68;Mj_?UC0uREZ|P#-nkwsj*@92@KQ z9Q_B7jqdK+bRLE;V{An)-uThi6?F8*@t0br{EVFP+3dOSO4CNr{XEJ3L$Kt%(Wk5~ z6%z0VNXt+NM7){~HB?8=3_#qe#xM?y(XNc&vkxKPbOg1$Sl=HVU4D8LKE5e9`P{Cv zF*lXhKQYeAXgf37%(5_i{O$7IR=wg{%$5#p2+q`jXEhQ}5q5H4D$T~XR|)*6?R8t4 zIQZpl1YyQ@ukw8mrR3wMK1ZRlub+t_F9SY=d?DhR!h@lp@?vkjnR`=e+aqtFi_OPZ z$PlE#l;9LPc2m%w%IzDcflRbvdTjI``0njA!~XEpW(KEfB;mnbD}}P6fXk+I4@(C0 z<678Cy}q06SjD~Ld(P3P?54j=^f|tA%cpz}iAi1QTz75$)kj7CZNgQhqM*v!$UX9< zEQMlKC9tT^qeW8e#Fp?V9%d^ksE|c#xdq?nqUPAd0cT-Z8=eFJq7VE1`{5YFuGpK? zxu74*DD`8J`b$CuDgkv{5XiX$4_)WQN{c9XPi1r8^~XJ zkxZE)Kj_a*cs*JqzDYMc=|elEgk(YBLALX}?(9O#PDaTE+^@RLW&#Pg!D)fwVudZl z<2#F5UCm5_2X%Q(POmVX6Cf!XDKJ=7CZ*xZ2A2RZtP;^QA*_frWi&;mD^dOKiQsujN8IYbJ~6Fq@c7(@ z*(tx$sP)&1QiE=+G(#y{qFTjVSB);MxR#%21Omrl*iV-|Mca@6Y=(RE?i`H0(qT}h z$fXCNx@WD8)DOxIH{m;yKa}KQFG1j;g)y(>uA7+OBD!K&id7DCmo5QsVV~Pkk*e(+ zyz_-%fX7Tz;R}{jl^`eaS5OgXev*TLEoF}5ig)c|yU%AXk*i%=uC%x9 zDLfRyj?Z!T`#~Typ6%14Ka>G-lb&AxD;wnbDuduQcoB!^6zNW71qtCNxd2(hm@_S5U)RX$ufl{WqM~db?_m z|N8_RdW1$_E`0LETV<4w#|otIopn=vuLp()^z!a%p*NCQ%Lx5qmc8fDU1`ErYAWi` z5R)?22d~T6TBL#UPE6OUpvs)xzNj}2(QZygnSIZVa^e=U*iGn*| zuh2cs06h&~%t3=Q_HFc~$xj)>wqhCjWD`#P=M>v~2=64&Wv@{5yXr2|=>_kAaZh9| z5mx@Th5-SwsTcx8DK4Z6O7GWfM%lUde8Yk`UJ3BdHghZ#t9)q8jwn^!6x&K~#1oc4QyaJ1gY=wo8h80= zkKjwxh~@^0H8L4B5;XsXCJ1`?zGC0Qwi}qJ8nxk+ofN(Lu7tEZTT#agzT`wzj}TZD z6>n=#(|>%t+$A7rk(2=G8?vHiu&3Jy-2>kOK?C}hd4ay?xD+0yQ1X+$)3ZLC-D;*A z2VWQeYXG=M(se*bVl>Y>e@@J(a!)3M2i;H__E}#OfHH2~i6n@=ut>$ZBxHKT0$`Or z6N@De=fcLDiaO1ww7(BHqxs@V{AKAkF+ze(Uj|zvc}CaSxq3OBHll!JP~5k2F`>>_E)PKR(cPlU}7Et zHg1|oV~&kb`AXn}BM^Gk=570}03^n^(Wo6bd|@^bQ?Q>_%CRMyVepA?0_7nac+t42 z^olDq#0Sb8NV=zAkXM_cZ7JTiI^?Gu%h*2e6;cZi^!EiwdnJ`nr&r2V`LAonGO0F- zb>!Sz+;skvuc2Rm2Cua0`4^cf*CF6Uz{#AR8;j?hjX61KtQtmHcx}{Gfr-=+Cp-oO z{y)?d2`HkrN7&^Se-c~dc5$YcRCv-45m`0}Y$g-cR z`s%p&bI#ftBQj-;UyRQ?0;V}`Q9<7s7ip5Bx89N@s;y{KFi9T~0aRE%ZIR#Jh@wFw zI`8!fv0(xHYC2nlOS@^7zJ+W}lT~>1yS8t6iC@%u)YzL5>aC_)CyHU#pDM=X+oW~O zu^Q87N0$A84fxT=IueC6YhgcUt(VS^ndiU~c6pVwB>o;QW2U?v0l0aHHn`4Ck?PDl ze$f?}nBL}sISJ|VZA->`of$q=qZwAFJ}**i3VQkna}5f@+O{oG%ata}53+QPI+G7f)uzr1N+%^wjCBpVP?V{zy4&{mJH{tf*k32k)b ztg0fi%JpZzjc&haq&&4kXmU+06}EX^aeAuKX$*DxmcX=72Uk3aKT^}UA|80 zMsDA-IQW@Meb0S%<6z7=KRsHUD;N@~_Ho;N5@E!trrX_@2taZum`j4b_H;sgYvzxh zc!C$2q`3|*#lnk5o1QbDZsR$D*;@99pdNohPSDOt2QI(Z&6$m2@aXHT%W+a+PcNh- z|2cGV&h=3qZf!4L7g=V;ypkh;WC+s)<&L;Lo1k;wiSKt;a}tJt0Pjt%Zx|N zC$&qUAXG3lPx8QC5MXz1TVa|T)YmWgcz>LXobH}ARSqLlUEMpfC2hoF8plp`5w&P< zS!LLwvU43S97_m2{Arc>k!U%e`2L9w2&Nr0&?`RdHI$p*_*&SgG`Xx+cpSMmd%N8~ zPj`wPR2S3?^)?AC_S_o}Bdn<8BOW>y>ST3L%rW2t?8iY3 zufpY==!Gp2^SqVGYr&{0mSn240=t)%;v58OWw*2qBbl)HUnA|Uv$m}xY@AzHR84YJ ziQ`oGUpTvP%kk(ku_wdDVj)z+@3ivsB^Zg0e;9G&3Q?)(sTh1vSxeL~Xs(?}d%>J` zg;i4*`WS4HZU&LZH>kEOP3o8ce1ejLja!8D7P%)Aw>-DSeIIQX-Oj|(xKUzPbunY) z6Yh`EqPwhqManqW;YB>}(zToDVW@B}Os{CUGpJ-9bw-|lvSXdx0IdpUGztONzdjt< z&=$U?n?|RJ>hbvZI!0tnhWSD3*ku*E;Km2%N-JC5njDN1>C{s*!`3>$BgtE0-R}HZ z_7II3%b@)D2z+lBN)lVp7Q-cW&6mGk`UnX~uP(+9@%W zZF;w{aQFnH99x8ZSXxOe!^z&c(t$$7Y#wTz=&BmGee_LDRjz@GSJk#HTbvyx z6H?~F$Mefg4t*C``vD_GrJWJdqhFb9P}W}bg}Iect}sxzeQzO0cZZw4ovj@&p-EhY z+uDf6kvR|DUIrN=Z;5tLoWFZ2-Mx9*;n7E0OqtPMxF7A5@NEou>wJ*VY%u$@gbr%j zR}v-eGUZ;^{e6#mTk8$79x2VEA~jy;8E zJz)+?7Q8*`fYk#I!yvCboJ)s=BqZHpD6pjZIw_E$cJR1ct@cT84S}2TyJ8iiq(z>| zYibWKHRa1CKdIIjIt6Fue~`U=t#f~La(m${Oyd3B=^%|a%meutpzo;#YnwKh!;AW4 zf=$m;iu0NgSDv7Z6NO4-2scG&;x{b&V7OkJ=+;A`CgyEo7;&C++s|OA0#l4IS-)H$SwJ-Ect=nZ z#!`u{SS@={cOLys`KNBX55G$9Jy5bb7Hp(FSx^Dk93BBq{*Ri}i#0Y)$UnPjpTFTf z4Z`ilRKra{-h>jngD7Aa^1Zc*wRds}j+)G?7|}(H%brbSk@bXb-sL+nIaEN990nvI z*{ex)7BOv0<`0UxE?rX;*Xl|=qMbv_Nw}=f;q>f!ge8Eq$bB4gm3~jZ&gm@P%+O7j zUSA*-bukiO(#8e)X!I&0|8(nGmj4qS-JXAm6rrC^ugEt7al$GeNiuMH<}mjLAd=qWi~9W=O;&m}N~w3igaaG`KW z9WYAK_YR`UwG8VZKx@WC|3@H9FKzTLyhKQ&OW>2%8|!IHOZ5@XQ!5&1R7J5+#FalW z$U8c0sKRYPi!iq7G3_M~)vE`?!8Ac2Mk55(fg{=$UJNdv2>r!@;@JVzAF?GNqypby z5&ko)Y$%5a5M3+k)I%Hl0leH~8a@`!HXV-168ccp4zE`ONw{c=+ng-E<-c<^d2*xD zF)I?l;^BTFe@_NwYSNy8$VP?fNh(0{Yp>e5Vrve$tGUg}r7W-{puN+o)c9RE^6kDH zn+wqQib#p;OQxYIJ(P6;H#n>G=m1yb6(`@4b#?CVZXT^|*;lj(zX^%u1Q;04EJIKltpzdZt90PJ@hKKuv)ER+FZby2W4{DIp#Fm_kpA-dKIpLmZK@y~l9gbVy zBQ^!?BVgOBtka-DB-K}Pe{1^>!pg4q4r}xL2aQ~#8IcEe?x074&7vBkIIw{zu+=yW zUM(XuS$mabezK1RvSmqpJ{Wx0qZubAQctxs*V1DAnfpx~R8k z)NpQ6Z@pxpO84q?5w;?M?@{HfoIGAg7oBWkTb)(He&75rI{2nsa86OpG_ZqppQjyKI5>AtGaf@M!Lvn&f_mThnMnIh!>YD}rhOxe*Rk^v37bn|SGGa-AjrnuZ$E@X_KDb7e}rrh{_ zXGDLMu>B&`#NDCQfUU}A6kF_?b3!rgvz{l_OQCdq?*-ih(cblzOM$cJ6(3Q$yS_>L zzItWXGLopeRr@PU<5eq9fAR7M33iF8OchK?V_Ku*^c^!|6RI(8>jUTTbJIDyN{$>z zlcMc^jCPyax2-1C9ei2%u8UoKk+nNt5QE!x2(0tHLt?QAfUO5QXJ~$@s~|~V z;vT#}+ty+2EVZf&?@z!OcDlRV?=53@$`~uf`cwRa3^RT(^l`s^(rsJmkquJ8t62!7 z79b%Kc72KjxS79XG!o`9Fn%U#`NbecH8f*P&B!4>;GTI0^vX(Lx^NU0yQL5qZMsmr(-}gw zGQT>-wdwt&(=!6~*7|#zCDo}|yN0in(AuEOU2Yt@^tyPF0MNYqy{?b9ug9R(t73BO>>Z@N8P0T||EeD+#E8muWrMq|O|C=}0tQ@CT}L zDmG;Si3y;k$TFbo^zQVcF$;04_rY=%mTDj}YGWFK{Q!d+YMC&>W2UzEjSmk&!=jkB zQTE@kIBbH&kF;ANB-HC&yZ>S89NWVTyR04Cwr$%^8rybbtGRw)uC>=*=MESC31Jh2q8tb_$~^V))!@)k$51PLpR)7w>=chglU9OzqSc$o z@(}kMG*qY)d}Ha+>!OA)l^FLi>`#XS zJ){O9X6FYHama^T9#Lkf=D42v)eP6Ig+h?}*NcX3LgRQ~Z-TJb?0EOhyZ>1LvN`t- zmGT>m%219qRDYQOhvdmNNa#*1wwI0=WodMJz{P5=hm@4>DtA{~!Y~$Cvp!-U&<}dY zhHyy*Al-)ep6EmN(PrKdd)$6~CuyF6RQ-?zD}RFsTzp3kya#K>G<$LSLS%m57K_d+ zq{Y+wT7^arf`nNq?Dx!H+5?_-VYIk!mWpS^nGg20VoCG@9ERWPd*uc1fPCgcSm-@> zOUvameiqgMO9*v>g=rrYUwsxpn_cH4%lJT>We^xEp|zXe?Km{T+cmR&A?PggZC`vQ zzcu>mO^Pth>TD!2tvL&UDL6*yrJ1x0wa5IN6DH6yv-{dtdEsDM?9ON!>lz#Q1 zKyj{6`(<^w0aYFRPYz2{n)eB;9>AA%e8MA1m6iQ}vXNq)&Dizf z|8_$`B1SZQx)<2JVE3d7cGRNt9XFshyAY7Ey4g5t1@fvw+uyz(r_U!^9~#E`E_##F_U0A8Gvi=0=hm+Aalb*-pAxqqaUEU>GZSU@2>D-qS&Wy9FJ zlRVouFY6F}r5`s8DYB^qUQ?6c0t=XRh^K)~b%vv%SoT72!5gprLo|1B4}|0gxJKFf}gp zl7<4`127Pjqo6-o&RF0oRQ&py)ci1U*)3la8CVBbO;{8>kCv2oDO#7KmQP%MuqP|G}hcGbi0h zk7f_<42m7u}k@6y1T%%%sax>JUsM^WS+BBIx#dEOBFLq;A6HYBrqL?JnzS{zZ zTt7E=@Kuh zX*`p|Tiey;AMR3$uPT}D(i~1iEa17heB4Rmn?%0zSrm2G)N2G;IDJf^G@MoK+=gKe zD+S9)Z8{-uuZ5)W^ZPYSZ=9t=9Riv$TCo;)e-eWLHO+5$9O*-~n%-!he{VkIuvup= zc9QPu#h`5Vkg$nuHjs}PtAv+F-s0oW_`bo%TU0gXZuL+Qf&{~+y_{>?SB-8S2n_14 z^%aL#K04WMl=_HB3MhsnbctyKPa}lPf0d=lKHA5brT2$4`D5N!Hw+w&$hMz1!% zVY3%UPy8_2R;fC~*#A}wohu6>faZl2!RR^%q$)Dfbqe{E4srtlil8z2!m}7RKV601 z(>P#1+r2HY`|y!ge%%M~^S>jdN25l$Z6FC|`F9{~n_!z!wsmJ;&A0bJG{)EwZ`4_J zlA{Ese1+ev4KfcDOt3lpgKw;nJ35Tkl7ew4-m zNTiyIZmy0JW1Rv@IB^NML0o%F9YKidvBZRm>Qp?5f9=lH<~PV%Cf{n))5eQ&<M(mIns6M3DJMl$ocGugQGU?AsY zP{QXMgWExdP(wo_!q*kpHT|}~x&fD%339fhpLE~?f_U{EC*25CuOh7Xgv0@4P7Pwx zM~|)GAd1}^b%WlEUlFlJH*o(l_93+KZWku;ug3&L7=L!54$A-^g+uoNx(`z&uxcCi z4N4i%_(O8mm6>T5AH1V1G1YSI9+iyJ_5cdqmw)C3=ZZdUEV#ctr-K}~39*Zi6##YM`BxA%(6B-oHlCx#DPBw(6tFEh`IPB~Kwup4WN%H?JI4%dU z=<(H?a%WEL+b?aj5=tBe8nUhn^mTIUu?1S`+o^;=f3oZ#lOmvr|GiBr6@^X`AwFH@ zdkdNkdHro^MhCe(e1N=gaVht&+|@D*Cu+pG{$a1tTN~O89e?C*Ns&|wyae$oW^nzz zhq7x^o=yV4)7w(h;Y|*VAWp+Q3#xP|XEcAdlP5T`+`)q%FRT${@JmF?HG)ukRMO(d z(p~2;!R-OvVdQTu^JwG4|Ayhy?g^gC?)Td86IYNrQ(8!3dFC5Ab60KK0hHSMBjH{THNXJd?UBG9g z^JM36RMXv;YZ(lhm-pVm4B)EYZmcb;CrM!`g}}Q2FvrI z^O+Enc8j}JJYz>qJ0&V}{|PYpmtkjx=ZoG3otSnVIPHc2eZief!{4xZyWIj`CJcg7 z7qx7|enxqA_20Ai(1N&EdG5*Hl}QBX#nEi5G(2Ry%V>e)$Qk~sGQcr2JL+29f%H*d ze~FU-xs!p38I}z<*=Qfqj6*l8U6ImDNddpc_KUe_4kD9oE9hfo*|~X1Q{c97~9=?aSDl zfOX}=;Qo2kLk&|7Pbr^&_ybv;$Z5P(4P4TTdiq1KN%&%9$~8Mwu30%1z+fI0sKvsm z$!8Aq`GxeJ`2=I#_uY=ZN+OOC#+(tVe!X2pl-ryGkjm=IMCySTn=h#%FhcG7eua13 zLE!mRCV5{K(%1d`g(ta#Z=QBXj4?b#+C;ZOXbT@0=jxi4pjcPtExvhRxk`hS?V1U0 zPQLO|a-*>FiG+5K&)5v>7{Qf#mvg5Vcc~HGAZV2{^UcpbTBbpk=^?df-N}_7iez#N z@gV*fxH409d&(KCs!&v`J@&W3272v)4d-ktFemDl?0Anvyf_6BUjm1|*1#eb#Om#By2N+y6B8pXn(-WA zD7Vr%$v!6;+zhH2k#F?;+{)b8)A!bo5O6k-K(e+B61lRuEf_{Rl4YO`1e{0_MWXrA zB(|VoCGHVz+TNmU;$MS(>x>lM_PNQN@Bvt#z%me@o*%@HJh>PWmY=l+sXwb@SMV4G znJ*iC4=~47WZRTOL5&zgU+UoozoVxduab?4B&HvmPEV}o-gN9dQrj-|URFHlX*El4 z1D>bP?h9KgxBh%Zc5s++`eCEO;kD&pa8_kzFVo)f$f`qoC56)_2Zf-yMyJ%xEYH~A zefqwyZ25nk!f$%!%*XDYg#JuFmJdj8B|R!xV>Z_L3#OHg&nrA%Moi*aC&1ZSFDFzi zJR3QQU5fm039k!H@^(&t9S7e3#;~N*1zdyv#eT005=#?9VZQvP*p}MH@);7k*Mm<5 z%=wE;D-Q-MKB&gp@TBp>2P3qjR^rDs zsrSds2HGm-PJW7C@k936Ga&oiu6j$Hkl~=`Oz@d&v7d`g)e)AWQ2YHRSzS90PM94T zR}is1GteI2+6)_T5tB_+k#()MQ3dhl+s&-~6yQ{s*;o4|cA)~3NR`(mcEI}uOj~j= zJ34-X`}=v;B(5t`gR`)6{g0W5*3xstZ$^Y6Yk$8*Td%D+V*;AZz$1R7TFYr zRVhP9IbIME(S=byUMPwFfx7O%AGI)LkaOrP?71$e(7a!LG4+Kd3_1w#(@JLF6)*9) zxjFE6b9ul-k~6PIOK~$B2o;~+H`#}lHzS*Nj;!9Tv|il5-fgyg2q22TSyNNKCj1nz_IFvs$w_lwYynP0g%Tv5FUqThD7{^N ze3{&Qx)xG@yri0JoO}RQv{aoPA?z<`{3*Ns?B|~VZeN9|#mb%a^;m7aRK=KLHFbv} z3;&Gov#C@@d>lt=sw$SWW{WEc#Vs6F8{+WNx?}B1;g(S^)wo(EvHY3E%Z0|kNBs4Z z7HqIU;9+Jf9sd+oe327lxH(0mToPM!Ll=si=3D_dmT-;3B^!`F^p@Ea6^e`PjUaG@ zkK2mK$c=~GyHTWJXKlrggj{_>uqhe5_Xk0y^-M2}a=q4Op%d+j!^56>^VY%XXD@Uh znB^pfeu=cQR-8VO#8K8vgM1ko<(w!Cb1I|?zL!KfMNSvQsCgdZT@h)1RN>MF_pz%| zxJ!A{W9`DStu=r=G8iG{cYx&eX_JC}Ap=@q$@bYC>iMEG@lK2CJj@{7*a99}TUL3h zPn;aVKr5ST!Ot^O8$-?f19LmrI&UI1vn$NKmui>J(TQTPZOB!rsg!+_dvcH-h97)V zYR&gcHaVQ!LrrPK@%r|>WGT1A-Z5OUw)w*7N9DMgr~|;KMXMl@(ipk5rB26HB8df8 zWri>%BRsTRy=Q57JGS-a@OW#vBcXla(}Q6Og?-G4x_3Y}kSJ%)nfagqkL@eC%8Y|w z0=c??^S}`Kryw=*7U!dahQ-e*a4y!W`p3cONOCH{@M>p;NGrtK0MiJX9Y6aE_qdnj z>mbn?umh+X4?j2KGr5EMTC%CSlio&6wf}h*nXu?Gf4QabzsBNdG6szcDugZht3h#(cBHHtJqkGGaR>ZS&&W#8saEL`3De zZ#wHADxK>m9i;^+BI|Uj+lSSCCleAGm5{8Ekx;>+V899rL_Oz7Oi0Urf$`R6{&Pso zN)F(Rd9>K$_P6L&f%+Q$y0Br-AioZDzy}+p63GLIiEQj0?{SP#YO4AdknDC?p$c5~ zSN#xAG5N?XsCiiSVEe9GKV`+E6qC39JRE}TlIOKEM^c9|nRW0tz4;$kadX?*E+)f| zqq_y4)2nA)W1!hWB=ooQ2h1Rx?@l10_5e6%6#?-d1%yLH+91I**wR59iXymAkG1LI z!g+BH)9TFsmIHRsBTd?pvJ5c)cz5>Muew&hw)%lhg8lqGDq>bmIVoRZbmp% zU1|_kFYPCpdVZ})q#^5z93)hvV_5x=x1C5&oQM;1iXP!oPf;Sh3HNu0!-Dr{F@SH^ zc_Fq|pM!%6`wTohv+$yJYgRV=>ms%ag__FWb4V`P@chjn9ORbfg?zUZ0#eF(-jbiM z(JGNVGN39%Vm*6tRve|i0ypxl(8fZ$gk7MsAo8p7X_tuE;`bSiUV8#cBE4oQ`1lpC z;gw2s6mA-QUpub`G$!h9vK$WF7{IPzik=I5ZBQAU^A@V%GZZ^`yB~IjYA9_a!6!y> znY!GM6HjF=5;LNeLS{&1DAxe+I7Ov9>zw>M@6HT3os`+XnqnH9&V^R7UP#u?68&9Z z_Y;L2Gsaa)9Z2)x5h-%wd3D%-S*tvhC=>hM7JoXN1 zm!}m3&ZO3U%)w(OG{(`);s6KSF@AoqpYXE?VX%trf2pH*TWV{yBz7LzIjXIldIN+g zoBF|50_V8C-@UW`=8@_Njl&apLB$v1fiCjK$`U0^7U`&e0Z=hG%{eYtgmnKw-ReHr zjfnhwpktUZ5t?bvqTX{1UjYLwYGiutVzelDFel&N6^e&8WOapW90Kz~&ksg+nnUmm zA%!wi?99#cjEwrj*4sGaP*?$(@YPKDBZkdT7Z z>~iw6wI}kKr5B1Vval zv)Bw_QYBuG5(on`CAk7X2`Gb+dQl7wu`$wE;W_0JHHOJ1y3K$ik^e5MQZR1&+)x)*VZ5jpD3Yw>!Xh{}>R+GAH(=m3 zi1ZRyAh7o_h~w>8e-Vy^zT{XW{j#9`gJ=0<8cRmHIj+ zZ^dh)Yf|hh-E84@bfUX>tu->P90}*&v&Fl_o^ge(^##&U3C32Mih2T$4#vXr-$+^x z&j0Pyc59zG9<-o-`2$1#kyyOnDdQLSdy0ErT|@&R0)q==UPYH(JXaUY#AP2}dan?y z%90P{%d|uf2Jd%|{%dGT$z*ji?G?@#DM-R}pb8SA{SJNF({u zVM&Lh85NEe$?u$=C-hZdTi#ry1-Iym_eS%pWCRWiu+um$x2)!$F}KW6<@VlFWn`>) zaiJ~qn6(V}&FGPI2c^u%_|}lB&~|~1Gv{sIUHaG6%*SJ%sGwLzds{iHEvrw7)w7%$ z9hxFKy@E?@yzWz86#}_2C=&a~;uaHIU6&-A54+An#*fq4v)5~*wr{Vw?cXr4ULy38 zNAe@!_a4pkmiCEw4=@zsFNGW4L@+%p@h`Q&{1H8ZGTXb6<{vVf<>XW^7S*%Nek`a zj!W1^v#*;u{~$yyF_wN=Yw#zMm!$up6|0TlBXo*}eEz!VL355yU&@8}8-daLm%B%; z4(2`KbIxTbc1j#;8ydwFgUL6BB_4QrT!CzkZJ`OjIJIYXX8C7}p$P`ybDx!eqc z-S5ciFwYP+JutRWgb1gvx*UbD=A;Aqhu_gD+V}Cv;B`h~!x^4SYHWs_XBYlp`ViD% zIQ?dR@eA0eCB{fYK7PdmqRLefSo4r1s^vn(mQxc+te-z^<-d)VdiS>+ul+I$a0P}t zmcC9zMDoNIa8h*gpY&+Pna<(ZBBIE_KqD~TpV@Akr>^RU!}(tPp~F03I+jO#)q zw5gyr?5*D}?c6PVf}Hhfu07cpd`0Uub0Y?56vJ#DwNh>2r)f@r`yGvm$hrU2PQ=g8lV1wSQY`7{43L3sr`Do zdmLg>QACEzBt%yA;1}XQ1{e*CyI65PYNL&X)koYc1Y94!ocZAE*CSM1O7H_!F-n;d3KUZJ#hesWI zP|On<+b2*V10urgU-*rm_TCvu1nyM;AsE}1FbG33OrGqN{&q=|n-nw#eY?EP3cMDU2;W>@ zYWOcu{PYL}o<9zFM0ltm{0HtiD*9$?v;ynFa|cR|NO0!ES}ZvAGc2{s+JWj963|k= ze{IaC4R?a#13F;-_=iqOY<6YJT4*ah{^8%TVb+fDEmu_E}<^JDl)AiXcYf;I;_A;Ixk`C%NakY zr}mX*XDhXvDJ5#_&7JEL+uUSx)TS_7(A$$3a4d-_uQ5#TV?8BwGi;IrVzj)=_7Q^T z$x9?QB?N0N6WQR!L>Xn3p7y{H4lUNdIi2=_libs}Y(vE`PywHn{R8%xQ%?cD#H|2X zNuOB6n_Ed)VaTa;ZL&z-20ZvJj@w=ijt^%wENH|Ziu$fD)J=YR%e1=%@7d*gt;K3%*8j*iPS*dO>LhFH#Qu|S z|LSvd-Vu0zmLtgA1&6~%WR3d*1)&JM?)q%%JAW-fhOaq)y{Xqn*vb~laxtShVx2vo zh9RwpyFKrUH@yH)@4E|$%5(WJksON1GpWJKvf5<_aa1}u69?D&ME=M^BV>G^Z!g4m z!%9l3j9ii?Dl}yyF7dbM8BA#3hxH|W8vDG%13x)_h+TxH&kw=uIte8PkWyi zh+g7{iPxxl+X`J|8HR*Z#~0A3XjdwvnJ#vN=U>~9UqitgH%cRkK+s!m4DV)OB|&zZ z9Yn-*2-M7FSl$6s_myjs1i2qXb*L7`HQeb2$72r}YF8=8VkLjaW)jENid1Y@2{E7k zU2{<6bu?L20e5T?TM}!eFslVZt_R zj69-i)=+p#B(D8}0aBk3<|v+co(k-%LC7(bIw8np7Vo9a?DTj``kn8)RK~A z5EK2d+;;=Nq)u=!ApyyjK~{UKa?x6j#q!EjQDo0^j2Px?Aa6|t;$ub6T?)=&aS7aU z-fLmSECB+q=uY*`q$j`-27kJ*Vy=Fn+gRLR)jVG={8euy&CqB{+OHd-1j`zyyxTZZ zw{b{;drc7XP|E+geZVuz<~6El%gvWlWJCsD7L{^-^(X#sz5N5(-zHSMsiEz3J-Ae@ zP>JT(*g-k3z!R1O_UgQRUMnYfd^~QLfC!T27DC<^NbI-=37-g(xgJ3xY2#~zU-dMZ zCmrmOVMhmt--YW@Uc5sV&1 zI`wgs^Xs(IHF(OJc|99WNs4=XwH{=cyuI+vfFW`RD^?mDAJ%k_$sy&AMap5Q1XVtm zyUR~O4aU9+20`Qbv#O=*?{gk~B-XYj;Ek|< zcamCEw;Ju`QS1ssIA3Oz?B_#fg%T)$;F2*UPdQj666{pGL&NdF)&(MQVOByX zeLUEC!H9o$YQfmfgo0j;M}$a%)(Gon3V*9%TxCg#qA<>P=f}$nZS!@{BH1+3kX?Qz zyz3&D0I;IQGbm0IQ(28!I~2KMT!d9Y#K*P3Q|#I48}i&f=7GmONw1=A?^c#XCB@NA z;9w=q;1{?7QezMzlyRj;{TTiChO8HPuH%4770E^;`fl_{I2N(=9R)@2*NW|hU@%kp zla*uVUr#$o>I4-u!BEFiSPOLZ9+aK&=s$h(OwM7hZLzO-SZ>Y(dKxRrPh|6A#P{2E zJ@D;Gms@taUVd&3W#r(i?0_YnezQ>80nng`no0;eK`Am&h`mp`^EW${D@-w^XnjwJ z)K%C$-^L>cFZlaAOfADHQUrKKa8d>mh^_EzA6Cy{%0SLzdL)I$Yn@-;9`kVgJS(uE z$FdVi=;Srdu~9vO{Yd*5uUV1Ya4Zqt;;`Xz&Y;n)dJABti{KGynTmu&&SL0>0bUCD z#tg%(8JAdKhtmd`LX%a2eAEOZu@WA6AuYKZgNYkl7``5Y)=Kyx}<9#CGP zMS{_k9Oxv&kyLIXZzf#=nZTnn6NDPb+sA+JUu1wXT$(WFMGl_pc-{MfcF*)_JA<;4 z--eD?8+V}!I*?4zf{e;?%sZa%DeSD70oB_hj{()*N4-8T9vlh6^pLL-(#}pT%@2uQ zA_j*EcYXMs&O^ny9o`xn81g|U^&DT89hmf!$uzYnti9rBdz4A{Z1R1@!iLY1SxKI&bH8>I6ZO1(+Ebo+Ksb8+S?cmPchBCQ z92}-_^T7cM2)0Yuc$DMT&R?oX7Fk{lT*MNV<;fQr1mV~{XRH|-q{UzM84Q7M7 z&|A z3@`u>qFm$TG(6pv>JjyNS7aC(MjR0a42pZw9X)3tG;evxQB|^mow%fS_0}7Tv-3D=}>-2@|TO zC1WCmb}gpns)a8&_8P{(Zfp|$nv>}0SOa!gC@WuxP7KyEBd%=_U+A@>?l7aiCc{|= zOA!XWaw6LY9=#|KN~SYoSRji3Ml?OLphevht&T4!90&c)JH&gRmeFNlPku&&!%8S?AYwHpQlI% z>zZ7BW^>c3yVSz*OQl0*wXBDlXshGI$IPaTLrQC1upzVfUt51IRSr_h_D}YL2aZb{ zryg1i&(g4k;}V=S?YEIZZG-K~GFaLHp79^v5y_~P7P@!UHG7g&=XZc@-&i3yw1 z7?fFyO9^`sP``(tU9m%jP*K@K^*Xq-Q_x--jEv^X6XfvbvW`9Sl3e#6_PZ&B?Jk-% z(g;m>zK`wZ$WC7-W$}!PGUavhVczme%8Ky}j4p`_tREw1RobSme8}^byhjB53vX3r zH)aq;8peWSOsCN8YDf&Rnt*TZa2ZUMG)qmbzav#Ux7sjsZa*#6+nm3jsh8&r#7Cl$ zsJ202mvNB^=d3RcPB!G+b+H5qz6MHfO^$|cTn02p@$>RY@Z(Ef5usH%*yCaCPnXfe zM&pPSEwV++Z!t^9VgQbRUKhvg6>y~4gV*}NS27Tjdb7lr0z@6Ou7geBv^9Q#+ymTqU;{H;iXD z2t<8zH#FMYpxRD;B%a2P%YGb>XTUCq;ixgzFtduGK2b#tLzT-^=lA8CRAo`sK(vhw z1e}DVbdOYg5v51!fRp{)z3L7Lc|@uP*dTY1KGJy^T(SYd90Q!ypMwgjejJ*VAqc&Q zcUdD*C!6=LmU6<9Pdl^ei^0`Fstyx0c&hB67F~T9%QUdrvRB@f+*XbtSkG|(2=J{$2bNOcut6MU0~Fmi3y#?MhxU0bb@xw7B*O#Us5CW_hfAaVY`;~s20|3^sF z(~Dhi!~7TWlFX()n$Qq!=|I4rGp<8=M3Sr)Y(k0V)hFX}5>3P%$lhMP5z58u#SXCZs0SG@4?r3S*7hDupIw=zlr-A5U zO2}b39PmkmOGcBv3!7HNM#Sy zXQ=ycUd)DnVej`aiC|#zF1rhKC_tOKK~6<^`@q$qnZbgU(NuQN=VtbxKLa`Y#T8MX zKqaKR`0@$Gr7;&7Zk2~&>Ns>+cxeM91VU-L`@4s6gDK(X#Arwaq5jDX>!{4@@vwgM z4jKz9h%HJnM=;j000dQ>O)-EI%|{QbS#my0OgTa>OBvzB6+#^Mg<<%hR`KVDn(^AZWX(=3Zy39hJS zADAiGWi0p(N3XPWNaRaIE>#cMs(D*2C?f0Z{h5!o^w*F%vH*)8r&$FI7Fa=sYY{T(OXWPe&YStk|u2 zFV$-tq~umg8u%}CVKcY)2YZs9Xt5*A7Em)-fxP)N+p;v00N`vXoz}+;bd?9cpa@y)$Gzy)*2hz%LFOYTuz0 zC9me5m*Og+83Q{XI_w&W8&Y~WwZC~tq<(=MTDj|S&>V`~Bc1^czH*u0{6AI-yq+$z zHx{GyIVD#dvD}ximX_c~DjSTFf7~33YYBWj{31Py@M$jF$^|qk;k{Rl7{9>YW641? z7{~fy<5HAeO`IL`eKqxP*{_I2#G%QUPCs2-nU1C~A^uhPJznxFj|^^Hd3&q0mXtJB zYfhIWoqO!2MYUFfyCm6}bDF1s0Oi*1XDhuYgjOPlZN%0FLqI#5Sc#EC52}sq*{6K> zR7e&6RH4a;256?D8mkw<&tiXov$`u*IWt=}Mi1ifpw>fwdFLN}d^>Y#r}e%jUUTWs z>r5$C@TIK9`nQ^XRU}LBo*m`n2~`6F`UYR9sTM~d93LVZseW8&*PT55g_QB$rOR#q z_3?IV+g%kQjZ#P{fix}M>;^MDY;&UVzK>>U9|y`C4YbUDqo~#kC#6jZKi>W6e)np> znah|Cw%UX}RM5dRerLImiv!w9Ch|x_J}+AM2RM#uC;PxPsZdLjVQOAhrLTc*l5ogG z)jEYq;X1R`Sk}=xOtk>&FH6C;Dc!zaAGXO{$D|dPDH}GHEZhCuiHpYKwgxTZ>4`z$ zo)`opfMReFSlSfv&tB+PjP&9iyL;Mk$_6vMh=kCMM?Bt2;#%HP#C^_jQal$Cgdt6q ze|?h$8J%8Vx(K6+r;n+FYbmDhi&OfVBl|8ogo@*myyvtvw_r`6HS+_(+EYt}i@Gm` z33HN0Gk-O@8J-J{*Y^t5_t*_AR=7(+}hb*i-A@F_w2R#@6*TqGU&8w|*y5)Mh8@Tbxp;47uz%sEihL zNsPK7KfzhN_4G{pR|;IgO_j5)#CsTxY7$Z%Wbb&CaAEG%Pd;&{J6^<79^`RMXHkLg z1H1hkGbpl%*&8AJa5BvoVmi6x#@}vq(`H- zy!EzJ3MGO~?0hPr@62cle#?ug3O}%v0J+s_#2bO&H899s>$B@5r`MFkb+ZC0lEzDn<&GYE3&mN8$rkztL;f+VBG=!qJ5O4^ zl2qw?vivjA*THV!Lhy3)sN>P4GyG49>7VdZndwkH8wnnU=&-{Oe0Xp~6PdpQJXZqK zJjgS9HcZpjl!B6mG4cJEhav>GJ%HDw9Z}bBAHhlFQRlTh2Zt$)>+?P(5#t3-z|jX{ zYvm}@r=5nU&tzzJ8Q^CnhA@alRmaRX`eJ@@A%c(*X``Rz|XPKnmA2)20o^~chBY=CSukwLu z=M<;N`K#5tvZuO&|ERiY-qKfk$kW0|s5+iXC4%h@cA&M^Szr8cQjw3m$eU z5@7*0-Bt19X*gT!c0;~J|!#VtJ z{dUh($70Dq5e^5m{X=Cu3<{KotN>an&b*`A+>lqD z?*=rXJ`uE|B=o>*SYIwu@X`+CNwD$P2*lTBW7tCY7kM{vxgPrqEz!~Ed;o^;!Gh&| zC`P2$+`@%?fY%&5!O7|H2j$YKsg7r=q*n6^r#0hgPZ?IGw_y$A;osAa^9X4cD8prW zq1yFZD&9Q{1%+PPQ((5y?KwiC!%R|4Z;|L`OFlsRDe1FFRcIgyKfa^e{!|9>FX8v# zh}Q)!5qof0{`TKiWffdOD`y|9ouP549u4}*cb3gGjVrzglH& zVEg0!V_$qTm+E%?u`e|X@65?Cst2dRs^IF)ch`v;4#MwRg=eKaInWI@8(Cfz+1`my z<^9uW>KT>r&r2voU2VSGXcH&HP(-BKh(w_NYF?T!o<+@~A_faRI$T$538iL7%9K3I zMO6!$UeEM}#6S;E&*v=n#rti29UNDw0ERa{1gtvjJW*r*za{Y$LM5xsYl(fXKhO-z ziq-bEp}8&fsib*%UYx$Tf?cT7TjVZ#=gP+TV(VURG48x_vx*cpzR@la$pr6>f6I^S z-Op3?1e6#NH_SSK^vf+Tc7z7@i2q{LWyWEk_K^(h+J2hd@OFn z6RaFx910MFhr6wc%S|bhJ{a<18hd{Lc_LDu)^=bO@DNehzkO@p1ZB=Cu>7^CJoTGr zFv`2}6QqCveV_e%-qHKO&yl%CCMZdHsCSS*po{K3hs+>OdpC_0P*8g#?-x*D{aemP zBpx_FpD`6}xM*e%o-+~Bdv^k08|rW3dq+i77#RTNgJ_=&-jU3mXLxiX9aMC*KZT77 zodVW-&3Kj!jx0e^7NFjrV365lS7p=uea2RztQt5hf1_`m;qh@9l@KlpCmv_wg!HU- zqT_f9AcFcDUqzpfD{(cDS$$wuqd($ZU2^SCR)ZV~9{pyFH=w^tf0#Aw!*tS{vsA$d z35No`gYnw>W527Cs^qGY-UDH~NGs&9R+g_=gV7--jHc_*P<57xlkNMh1le`q3lEqz z*(Ov|P_B4T<6B*VhyGD=O=mftJFA3230sJqd^VgduamO0>|U;DGE>J@r->H5OMdGt z?}(OE(RG0(|1H+$kFvn|)P>A`Da63GUnX}L0w;ecVck}) zrc{RD{6?D@VPPIpNUg~+2rsHk+T1;Ehfgw`GO2r}@sF1tQrg+F>%TJoRz@-^Iwer~ zh=b*^Z}Uj1`M1uT?dR&_qki%cvxxBzWh)BIFUX_XH?#lv;^0W1&`2N9)<_?)j2%=? zmj81_Y$R+vth`)_&RH0cY`ol@Y^m|r|E?c4dAMt1Y;|ywY|;?2xp{h)x_Kf`frxv0 ze)IJ7EF+<$Etl~ObtCuNzuNG<&w6`$y6&sn()Ydayb@G5r#qE5#fq^Mv5}6WN5^NU z7Zwp!nL|Ao9Ud=&YI14hh6MkUuA{>nUtUJhC!(f>FCAA@P9I0yw{MH6%;ov3NQ?~7 z)_I952VoOIK|yfV1)1yui4f6JLu95V!4FuzC(heD-WxZ!JOy(G7uDnunrL2fZyh^oSv1^56ndi-Q!&(TT^+J2(bqT?4Tu6a`_=YcB7m z?3+W&16>5QuJ~474sO1f#Hq1(l12*rTH4IYBIy4bloT@%R|`QUp)DyQg#@u>1vBSZ z;`IMo0tq5{uf_qD!$bMH5{m2FK8aApGsWwmQ?+C0T>&u$Zv*dV;_6-h#OAhzVecch zjZ^icY5L8w=e>NqIppcz}~YdE}of7!6oEm(0*UOI+~)8>H{lHUs^nUkTCDD zT+1a)Uk7w$Wi%iJ^7bM%B5|~%1Zc;${~-ThEH5KaFOa&k?~x=ZB)d>hUzhpMy-e4= z>+j6&&eEgf2`_$Ior<~P* z&wAPj+A-O0<=7ahZ>K>t2JJ$Y5Szw$9nfQwT(*oCZXYy{UP6{mx2h;wpt z3aIlC{bbB7LX@D^lCHy^_)7oIA6E!Hdi1r%XfJ}5(wp4sj2XR6|n-DUD(L@>)8pE{B2FYXvHN9&W%khMDLql+=4u|GK2l;NAlK|)&UM$ zW6YhGJF^}0B{6Cz00NKisx_J?js$-zy!2NjB?hDiNGFy5TzL>C7kQfzEe_67g_n-& z#_j{N4xcPIIEKT8S^ENnkIs92WII>a>C^c@Y`*m7zhc*}9gV@JOtW}!Y0_#fFBLHeQJ_zbsN*Ie$g<;EawF!K@|%@)^BKiGt>Kq*}34SDEmA zzlW#pjD$udGS&kFn3(>xRRDdFFu1QFY_bo>77#2+1zB85jS%3Ao$c$VY~Umzqn(H* zhzHZZaWjtH>90w+bZ`$QrT}Do^CHH8oG%2pfM2-({wxd1)876H%0SpZ+RL5z?-{bk z^?T;u;KuRK!Cs&Y2>=RlfaK|RSSV&6*#~qzsJ8j%zqVK805L>)`7^YrE!_wHjaWt5 zyXZLxRuPT}1Xc6u8NI#gJ4RhzW3?ipU}H^^uF1-FX_d-E4P$iTp@ z68tD1qy5I0xzmRSe@Eb#T)xe&66+}{)q5;AMD)Z7}4$T z_s*j$62OXkWV`drQ;>@*EDH#qg3_7GWvJPPIsQy-(~on)#-9<6Ch^lhS1_phq60m- zF9pRmC#+dE-ZA1w(5bBq-8X`b!*c+nQ0DJ)xmSlaP~Tgv%Va-n|#4>N-I!bZ}c{iij?()@WX(U1p~e~d^Y zN@|Spm40ZBe(!^-7x({s5+3}r7I`=#eWTaY-}o1 zdKlWt4TW(r`egq6paTyOQOe`J9mpzd7b&y%(eonId%-yoI zV!J-DnoCB)vj$1Eb(u3t9}~+K86u0sgsEzApx6FE%!ap^%*G{5dZwQ-C&H94%YEeN z9|~+M@xsTlU-jGs!$HW)f?H5ff1`uzu|W@yZ;7mn^CJb*_J^@DF^I4EH0P)T`ykU* z@j^@QIU7!T+cQfWS!m3Zq(5ICOrL)n>3duLxre7PO{XEF@`vC;C|!6g6ZoMv4)1N9 z5`S4n!AW_KNae9Q?apQoZ(Aecwj-6t#s41g=o1~M2D{0zeZM1}b9upgw<6J?wH;si z6H!&xw-1`+zW_Zz!oR%BD@+~_3z*=U zG3A^_WGHbw^wC`_T6u}VeYv}(0ia6i8Q;?01Iey;?g#v&IsBKy7prHjkQ(xtQEx{N z%AnJYkHc&gg+oFETKhWq&IAsRB@MMYO3z_sc6o~KWC;AwEmPYn9I=TWWr0CjxFUZg zde;_c782rXAMV)RxFkduRA}Y(i($mzz_ylxmvl5os_j=IlXHYCrxrK%g!ctX!y-;r zrGIe_m8@S+yr~-brbw(CTWQ$Xb)_AQMy+PT$Igt%Uo{}UE}po}KRF~)FcVefLM6#_ zKaq9z{(GhS7OgVW1_RW}(x_k7EN_4Qt4hHs{`fgfuSPoruR!E3#8coedAzUGMp}JL zmn>H9l2$4KR(nX_ahn*wiea_a&@*kniG0iB^n{=eO`K82;H~GW`Gd|ta9cG)?8^eT zUN*gqXn5$xB@9}Bc@sP+O0S)UkQlSTX;$hkTBD5^Y4Iw>31+$T>mXl??1g`!uK5|F z-+T9dpe4S_4+o6wVu!Mf>o!!TQs;X7Tr`qw?so%e`enc$|~biexrZYu#9uM*D4Bkhp~!j(|D$$*y&-F9zC(x*29}_$_crE z3l}Dz(y!4;p9!tyxbxBlB4AxD0~Kv61I2uJ%q$1P+AbS?-ct10iF@_?MB7BZvUy{T zE?hr+DfU4!-_ma(tZfNsY_UMGDwIziq6T;UOjN9c2;YOKFz;TdaCCnZ#4#;?v1?lu zFZwu%II<~33B9ctA7tl+OVeeo&#sCp(2~|xO!CR$q*`hHi)u#(_3yL_8|F%lnZc$ z#ywn;o)xKwEMMeEaL0cc|Aj27g*-hxdS)QfZj-+-M2KE3pf^7}wbI|a1C{6@W1$^u zYU$U3INYd{30!jP3U+ENWyVB zt8M2zmvUybRNUrxSNOnFUV9H<9N#5p!x9ElJbp}eo}L3A3BY!0f5j8d6(TpS$`)~< zvq}B>Dx=>>voEfpE-qol!^+0ic^kU_$7%6RqAlF4g%|?)&9q5@(#MeoTV@d@fOq-F zbFX8apot#;j{<+JHPJ`-4Ov6@Y(^%d-?QHda3)E2<92dGol_}y?QCcBd~G2CMIeBpGLItDo5XqDi%t&Ma=hK04pBzHrp2;vb9?fPvKIi&WCA*&3?JVYf7?LgAT10J))yt^Jo96GwkE?2 zpAd1NAxmCiJMV#&c}eW9rJu>;9DTQ~M4PXfg} zP#te0bZC;F!@m^St!{r}md90N%V=6R8g|VUlCHuJkwZ+vkYWs&aqjKx8dW1u9R1Wn zE4#j)XRb>sRcrOkBcgg+PBS`gsd<0t$%u=65B&|$$Cax3reqR4E0$hB^L+!H z@{#XaXnM<)P(bRMP1z#4ehO`u=qAZj?VdNgH6FL`qniga+>P~i5;8W-Yl+0+Je(-Tj6b(t1W4V7u zCAq4t72|=;5VfdmdwSXM%n>;zhhqohN!Js>?eX{>Nha-^RP>8W6O|g#>E5( zw^dDNU40p;{$k*B=t73U3m191GK%tn;%d00aPS;2)WV6N&s3(OfpqqZ=|V;FBDBY7 zyH8`twNwxsgIOTv>95f~H&AMCUP*tMqNM)u5WnarTbJpzZl! z+plfmL^;^*_AsXrc(I~1XZ!5dyfN-xit+=cN9f2bRY%Dg!6w7t8X0d zQAMcuQji9ga9$$Q?TvcxW=`!O8kX2|scr;_+LIr{Oju0h=XR^5_}0sn$49^SrGLzi zfOfr_?lC5%Q1H)dRo20)bH0L`CWWoiuOC_-JuE>R-gKRKmTeIIL8u8e7D_u7Qqaxh zyZ)RMMlnrLTgP?c+PY0p>b!rE2JjE>=3xCwX!O&d%$0BP{%Lj3>LqddRiYF*zA@#+ zRHFWj9M!P42$G=1&iziUJzA>5me`Vyl#zV04?HMw+;rlKvQ)_o(~o|Um_SrNr)6j! zG?&-PFanG9>6H@JZU-J$HS4Y>fnDDIdtjX=d37S2J`nFOF20*eIH+&%vbju(G6?23r3x;vQ@oY zlB`49la_?~G_d3sUDD&zaG#M9EzJn6_QctH*JcK#81- zD|@_hMDG_Q%SuLmEp^RtH9xlDo|W@yb;MG?XP9K^vFih_#zSeJssXtr!$-g?3WE_) z2tCc*?EU%ra_@glZ;aYnKq~6Sr$$ZL(RnX7vWzoa(WcVguba)jfyye{J`QgXS8~J@ zbe30|bZI)F-r6o!hj-aADA8Vi(X`y_J8{JV&?K7sOSlCYl~f;O@3GIRMyoqdoP6y$ zpu*_2JOw*`Fs{nE^ck1gX?H0)UZCQAsSi33 z-c_ZjlmfBhu)j|ROu0*UT%DF6L#rVPhbZ@6)7F343`;2)q7{ToUW&0$p*?9KW-#tg z7810ER|qE@n#wv>iRo-gln&q}#I1z`P0F&G_;>Ay8iV4VP<;w7osyV7gz zc4v*$ku*v4m*JDnd)9IjRk>sFJ59rPP}?v3MMdu_ht|C*$B=Wudvd5~y8p`7N->jE z%b$NwWkUgtI*;i?0Ht2Jb`gsD`e+qD=mRRvP4hQ(t+nokb6SfgMkV%;DNBK5{3@$0 z!YlWS@1q}?h*k-|^R5aZ`V?pJ8Oq9g%Esy@IzD~~%Wk79NJi9L&T@j52Cxz}D_fdL z*48jSDN#}V3>wg_io`87En$C* z7`eCMZad2vIcQMnQ7|e-jYjs{^(UVX?6ws^xGJu_)S_9kv@)9KT*%dj9myQ^m~+kd?J5HiND@9Ebw7oPhq8}bHQ3n-Gy~N&y;3o6O;Dd{gklu_hh5o&bUV+Ti0rY(+Q`N(}}wdlDSKxHPQw zO`#K#x)Z#4g&Li}2FbLZ{vGXuK+#rlDvXTnQk_t4dW+2KU?QDvb*nH}DlUJ`sxLXp z#*1XrJA+rQFDe?ds7T6#a_-|dLY^RR61jE?$=Pe?d@r%%BnsnvqWA8Z^sHEO+@IKN zkI*K0*0zT7mevtHp~85FGI=-VH@&O~-g-irpRkT^ztwM#Y>E)13aoWVy?0k_VMg~m zIL$gpsOj0__UB6i8qr~WFfxBlC8@tCJ~(Kx%hIPSy3PK6VSX;&Fp<@aB$NL(E^L_o0XgFStH8a!y^H7E1Zhtf7>ldPIW*OZ!Z+t@S zTpljI{rWwq=3c(NRPTR6-ZuTqgX_3YpU5au3-P|EIzBsNo$sn8CB*R;b|-i@E;T*P z%{n)WX7AEbFGEv`-^rDy`NE)WMu>+|Tjj>U84kRJeqd6HQp@TR4nsHo61Mks#>GaQLmhy>Yy?1;rh zfV;1hy*rU<=Ox^nqbu2V9^SM`c7$3O*5@lVo9S_O+%Dha+S%8%&C-6a(L+G(JrbdN z4WAi_JxWbOYnN)`{)q@{x-DLqsZ}0y&U697GR?SiFy=2c!9#q?g?VfGE3iE%{KsX| z*Q7Rb=E%<Q*0=T!mTeSq3C#$oNvYy5#<_=%1C?arAZudlx9N3t&|~9~sJL ztv0KH667XSUUE+bM8Z3b})Y;5C&ar4|sYhc>Z zzc}q-Z5F?m%ep&z#;YBp3$&*k+|nXiyG!Ec)uCz6KxJ94X&i8R!|(yqTez7h3p5LW z$%ynyBxBe4a{2A-z49Cg)xfke>-+2xNeG8-3u1i2IK#18izfiIaQAT2P>vxT;pN`T z(4m*V)&GAQ`a-m|y5LH4>D%4V0@2pnX=oY(v9qdK8ZM5rU8)(s7(Up?v@sn-ks-2~ z>WDDaP1db|%{RdvDJrL)zc8E2d6C2>P;I5@N^e+htxxBZLKIN1Yp&LQChf+}mCKNN zZ4b3{SNNe2`ZIk7rE8}cPysz&wSVKK)qh`1#a4fK+tDpwiPCFqlFRWK3&t1GpfeMz z@Z?7cjSpLc1^_j&q|soaJu$2s#h}H0rewyx20O_ftMRF@*SWnh?B1fwEl@!P_CZ$?HF(NU?Qpn++u-Mc>M_FzN+^zmRLxC zNL+skG&Qm-r&9SYv@?Fcchj>(4no)!lzrQre}#lde>lk;p=z-%s>;hLn3Ms0Nck2oYe4PF0Thrm(pyokAeW~~wr`jitpjVhI8mTa%j#`MT6a5+cqv+aM0PrDViTk|tgk5_gk%|hyRd5mM_a&ZHxKEFCS!yvtF<@3%E?sK=uHOgfx#LCj!am^&Qgh-L25- zjA|LrEZ@Y)cd&LIS(alz-IOK1p3I(=S7>iOMD*+)Rb0g5E0F@ZaQgPMMQE|1e>8t< zt=jnV);6ZC8D|w7cHTS0Sa?1jMc-ABz|Y@)cokQKK{&&?neThuy<%l0Dnco0azpNF zdCHBTxz^(^V*&LPNkHa9VDx4CVfr#JPykSCB1iSGl)>&o&dGc_P;H7_lR$GehHnV( zgdJCqFv=QDe1lb#*Xm=3T-p?LT*`l^BgG__tO9g;GM}$y?rH1ze0uW@a?{yN^e>j5 zKVyEq`Rwe^f0<$`;MS{#Zu6#j;TN9_S#pjE(m7#=THLZvySI=nhZH$R`)3iWM z>U~{qCzuzl#GV)njH>B<8>}fLbXD4O0Tn86Dj?K6IPUG=YYfsa3qJ}@EedwhKNpj) z@W*S4+dTGctK%uXCg6*SI+LtU*dncZv5@9aas~x$uAf5J2s?)q++2 z!<4^#kl^D6K7&2$z0lN;)#}5zat{>i`JHdp6D*5xy(n0GhvG_W$#@k?cwVEc6R2+G zC?F>s`3_V)(XIqR&mqRa@6E89A$$HOwPCK^sv41TLSm%-02$fl>~8m2I*y)Zd;>o4 zOOtM<|2bVnE~-q7UvPh4oilk&?ZLqQ$hot6MsOUQ5~IFmN1}Ze@)u(aaT0?9^9>%l zUSDV3*nLwtGo963>wCBrQkg~q=PIL|avfMQ{JL}Mr<1~fSFG`AE_Vw1X|<5Yh+3~*uR#t^rGbGUnBVGQ?KpGHb}n{Ixz@MV8|(rqR=QXpe^&|eOi0wdpdO@ z;9G@^hEE8+Rbih)dxvvSoNj@NohNs!YP4Ok!+;c~&n$?$ycF~<%&pEF9V_#ny*(3h z;YLkuRCXL~KXiYY#&n@{5Pw@uauVVv#t+f3(ZZ|OS}A-Sbm$JIOhZQgdNNJgh2GNo zREFNx_t9z9u+FrlwDLz>4Q6cNOA1u+D&tprFs8y|`j6D~2|~tKK;E= zQ~6h^2SiVprQe|ubiQD7q@MCk}PR*VnE*$!i&qVY#!-_kOtPn$J~N;OFQ_>E4dpwaUR1X)Ot#Q^d&nF?u7MCSsoCJK_rw?<(`#wOb6*SVqGr~-zfj?H&^ji4z?^sTT63;J?p z>LGsva>)vO=npwW!^F}Cbo?&T zt#>cqrWB4ih<&UG5a;O*3fFm2*%HbsyzB+d>2U}ZyU;IEOS=>Zfe0t>K48T?%&EnZ_ZDOJhmol$eyx%F+c-EP!NC1>YABT@hK`ICy*K0qSY=S7%8SUUkUds zA{lUmPfw+o7?AJ8kd{=Vmr z&=0cN)ZNdS!Xhs6fGDZkb!FMi=qqub6nDVViLXh!kI2>nO47vHTa16+vDxv1o=#zi-%zS2#)|z6z`x+?KYB|auwsHk(S7JXtmooe) zj0sTWMqJ1@-9M*6qFG|nQ{><1k6kjx%q}AcUu>g7sVy@O$>vs6!n2@{E51Q4OZ@(= zL|aI3L3181>~l4X-h|gIkA(K#)8l*$N{g+>W+r%Fhy2-ie-Z1653%cWfG>84h z$cGb9$+9~eW4v*&>G@a~^hwM&hhL^sD%?8-cTrb#x)=qob}OyMyem7XdOx9eP_g zUo0C2PF<P^^Lo6L$ID z;LY1*+ew4vXmZBVxl$!D9{8nplOq|o(F;tVycOxL8ZBSNn9MK36#okDFIxz`Ogu}rx*k-ob~RH^%^IcK(<^&=se9bwfA z)54AW>%uSVEyRD7TAYQ-0q39NGqZFl`DDVfh3GY_EH^4x##;j7#r}ds%!ewQYE=wxG4L(K=MH$#e2=IE<22V8|)Tb>Zgx-$2 z%hC6MC^f=Cy9IPZ>;``(r?b$~a`9kketba<651;GgIj-%x2~}*^M#l^OvY!@G$5`w zO9*}VCd5S>*5Iv7v>80dK+nS zgyWHfy{%DW2KX%MPBQWcnTrD^i0-N&tTuPbfL{>`+9e=y6UXMYXJv_6*!xR*_bKc1 z4}x}DhSX)Kbo@~4bCU$MWI?1;B^$&M!jWqa7A=3p4uDMY% z^3T#k5)%=5J)1kr0{a{96AL_t^+KUIxhj9LGAyD~h%KfW%#P~yyx+FPde_ety0(Kx zTJ|w)t0h?4#MFw)=vd$q=kDCexomj%xxJ%T1XZ$ljtgRAp0YBvemy0^>1KX^U?DPCe$9st`6Y+ln*N$MS<^k13+yxU5_k5|xLYOY*~2 z(LG&F)u{?EhC$WvFZ&A2#HUlAoT(9lyKlhw6h*WK85v&$tHYE68zSux%Na=AUAyut z8&TgXC5;+;Yka@r*cvdGKUCqi!E}GZnc9jhL>k>uFUC7S{IV#O)>L&I)XX%~Wl5DYl4BxwXX$A7 z0-g;kz0XUggVShm-`Ca~JBv)Hs(+Q~kY>BRyN3idt#nUQbk<+d4N~|hiGY7GlpBhJ zvlGCYt)^|8L;5h{(WkitlGzHYv#=oWxtcwhgt01#zi^(bwOTE-$XDCqW2`zQuctIi z=-S%4HDE(II)mvc!VxFG(zQ!@`%~G zVi3wtgKo%}%51w?{4K#70NhnyakCPwA( zK>YZKK7_#=mr7C#)tgb|%aI?(mczo4dbr+b$s2)*yh#9MrS2r0phJQEJcY$#IRr7J z^GIUx0Lkk}q|4>6%Fom@rS<2Br@aXuK*_KQA3{!Ldm2K`U!ttG^hQk?d^U~Sy-lVR zSJh!+4xf-BP~~QZhVOq1fp%dTEDv*=kvZO$ehuC$>#jcENzhm7K^}o;Xk}C|Bl4KX z5f@7Z`v3Y@6F}Iyc~O%-RPl>rZZ+ttc6QI_ znf?s()-|mYyL~CpQ~^ffvbiq_V2N0sglMKl3lgw7DMO*Gy^D8(3-q(Xi`5qGn3-Cj z4XE^kP2G&`*nEGcSNPnys;Y-E`fT*z&$Uu#Yes)mAuQtqRjlUSF!#eNPc7WZK$=e! zu$ASW`<`pkMejnyJnOT{9uy{2)0fat?K$>(43f!58};~^=v(~dc*UU+FdqW zhuRHQ$IgyIw!CUwx8E#WA%AL%8__R*XRHIc`PHR^1uDsL5H~A*_W%g#6M@8mk%H1) z3^yoA+YZD5lWO1R3Rly(ca|9;dPCEYcJVQ({u=nxJ!Pn(W8f2%l+0i{!d!(c+PhO9 zBE2_ctulYzG&gso*Zz_-u7#EeBw;h8oWjDjUgF7Q755-!QkYt&&0pO=&GcK3LN|#F z5S0k7FCt*aD?d8w$72mi2lUW^EUt&G5Pneaj{z~qeBpeVG%v#!v=?tEZeK4Y!ole9 z?T4Nyl%}0-VihptYonrQpLjlV;L33xwxiF6F*Sb#brTURMGWycmrYDL8@))#=wZwS zu9OrUhOs(#G|B^2s(9($YEf_bPKo4N09U>o*DfCv2e^}P>OJmFq^PF( zo0dq?t3n@y1>uWsENIl7?~$E#Z;qh7`Suo5V$BXhI>vLrX}BP+TCd>P@yg zw(fu4Ah_|+V%w;hm9G1NUYcKB{whl@9qD%17{OWN*ERen`G*jSW@@}=q?PKHMT1me z=`XU68m5$(FyrDkXjP^t%_-vKpGi?Frzm(XOAmKl3^xa^oBYO>VSPB=C)=%W*3^3) z@rCn%(Gu2m1L-)=pN1!ODd0WLi^h1Nb(w#XQ1wq8leE$S0d=Y*LJY4=ie8yS!h}!i zWqe6!=8(l6u4}WKQZF6iIvH`B7(kZ3u2;9^pEYtIE>zWO{gy{@{K|Uk%x=Hv`eOq; z7q^%%P;XZJeMIi#E2FzEHBt~cAoj_90ZHDlwGnoj z%65R+r{9TN%3bpEaz%_`KZ}Qtweq+X8!IS#A;fG^Pvza`P<48y!bpF}PXv=tbHf+A zw#h?p8szvm&*+6P?q{)-j~>*(WFiJ%?h_>@PEz#RuC;rV)nA)e3EsDyHx!pPT*c1x zq&>`G=hDTR*HHhwMSTu!?s>pGeCH^$m2=JmV_i*(o+sA3*FlzCa6PG7=5p~>5UNE- z+*G?RB-TxDQHHtyYuJCwCWEgqG$&mVFRMSlbkDc&5P3Id12i?!_E}@8cg5_J={Nft z0t#{EVlaY_hlLKMYg+ZMRk!O9YyEL4uB>t{+Mve8&@QcoDD+TY$hb_h_xE#OV>+8~ z{rJ^vWbsA6esGPDV&P%w)=Vz$NTzuKb{QS8urfk%HF*(koLYbJ1eXea2PLZ3^Q-ml zt)Y04pTH1G2Tqi|AlT33r_rakZ=rwq!9BGpQxncJ zzQfY!MZWyW>W_bu6I`-quOZweKPi0JNQS&8R=gadBYDwP#%V& zAz~R#%-w7R+wge9e$Ns?L#S9iooA`S(m>Q~tw{6EI_*$o5Rr^=)2%ps2fJb-T-U^# zB-m2D%51((o4{(_MIm;0hWIl&+bhPXAyH!2@E7D2xIEp z&={A<;)YABX3;wuvgwTS=h(NbU`C_CPmZj(&YvRZ2ES@zT2D$E7zg4s7<8U1Yf>EJ zcYV7qM1A17ZZ-ZSpB}$7Kh5hgP zN`k@aw~R;Sa>l>tqMQ?$?lZWLL}nxCZuZ@*D7}BRJCbmg63hGQe4{=vKatK>M72{A zh)f7|-vwyFxw6CWgZ*y~vwV1N?@@^iW|4a^tCq|>9_H3ZCn}h*U)1=Uf}(t#GuO?B z_v%W1Aav_7riCWCpbqOf)-c}BIh{X0A=Qr6ex&2*om%XDrKe{n)@=%i+#@6~MV$P|>eV0EMD7krUDmUIeojmm1SoTr@7MnM=4Rtf0rjuLet4|A*B zUhViAP%Vy>%yankPG|QkbZd@Fp<+){L_2hV?fRu%QCi=;;J&7L<HG8`Ex%e4Dc$3uU@NM*UGUckdA)1P?bgXbh_b$c2 z;@_>kO1?eV8{(dkY`zkIeePn}G1PG2jfe9?@)m>)ei1Q5sc;!;hA@7qovD zR*zu}##Me<>$skj1f!;`+!*vN5L7okep(x+yDDx~aAt-Ak=QLHTSjH}*J@H_C&fqa zH=Q!`sl9*QX502LtIXR0fOk zJU_NIGny+;K;c3ViDx2;AE%S_OAdd1Zh76t6*Ko^y#6^f+s7!I@*Re!^#0y)-4oGD z4<%O$1?1Q<=YX*SHN=E7oHq`V)ovat;#Y;O13jKmMsnkhH#xL^ltTCv@ZuEBh^)oS zJHh5Kv-2x z%nXygdGClvP$S0HU;rlI|tp0{kq9xf1R0L{gaiR#1F;e ztE=Lz7LOIiu7@9q;E#W|o1>ntH2ygS_PlxRR52!gXW|sIxQb4z4Tg1sjZ4lK6R$sZ zvPIuNAJ>#@&DOP;YJV|A#u_T79mCi>*d$yQi`tMA>9u6`fH!%4ssF8+JnHs2*0QXE z$d!(#U~g{(gkoqD-JCmDXzSN zg8g^t+yYBj*f|CX6$3=8sCv`L9>p|z3bT7q?h_hZ`g8BPe`F5rzC=6ahO<^Rx1fc6 z{7^eL8z6^+ydX4)j<#qiU7eKDbY8x=@l8D5dxv73oBn^`_889rDZ_Z(s+)z!6Mt?H z7vVg&XqC>9J`pPWK0(6d>@&1j(tI^?-G}-D&M(#A_Z=USitj9u>4r%Y30Kk)UqNfP zGF-7>=NZ>5K0j7#b=<4!*lLX`*@K3K7%gP+c#2xgwK?*)jMEtYEWet!OQGf7pKH5qjJb8Vwg&HYm<1Lhqr{zB zz$W;@)_v6QD44zJ?`g4^W!P_NUJGcv_T9}--+YdNmmwwV&N`K13_DgSjMJj6P=u`= zoggq`Cg(Sv@a({PS#k{E<@{3W`$9M$FL?EBQr~|_2G(BA?q||aMF6|}1MSlDap`VT zeFSm25n@6e*`>yNW<`>sy<(M6=w=kw6HYEnAIWI65=J8_Ytsu23U6ap#&O_SlKqEc zZTc&NPpV*%>YlD~Q*Yqq8KDJ>@BJ8Y^^W!20MC$-IUm|64<<2J)FwYNj)WJTR$;7w_>LGuyr6qXvLj+z%5SJ?wZaG?=Ske*}25JP`a zS+^?u^|t5aVhkIBl)FIQTsc=ol;Vr7nYrvcDPg2;d&!w`IJJ>H)J~ym)IMRt$DCyO zyk~ciaaMuB=T(MsJZSXGAXh&qCfyZjRx4Q+ue4v#7*7g^)K^-vF#_@Lia7N*QCl0# ze-uar|R-b5I+$GLL(nZfT9(ndwmePin&tM#kxk zMArNKKG2-cV!0HPfkJ1bb8u?6?Kd)q?}s`^E&L^KhXc8BY(g*f`rzm+kNbbS>zj75Vx#`jwt!tM?sj(>$mx$oDk70lf*9rd5s?R+KJAaN2F+bzejd1x%}s$h zG#$M)X7&|ry1ARw|5=$oRbaoyiIlC_7JdNT62_J^zMz*be)&O_VkCcz$;n@I<=#6| z1EG~kZ12@du>$skrhUPvI?{mj#JI#RALaK;E@M}5M?lYjyMT$BRk+UiXkbz(PeeeO z@^Q94RSMAkcI=ArwYQBWbVXset z*n%$ph(Xcy{-h6QpLBnSoU9d?nNs&pe+GxxG!FXn%EtQf`-qaIoX@26zDtakClfDa zJS5WAc&M$_Jq{U3zZ+7WHnD7Uxll^AzB>QDEu_blvby)Kk8MJ;?#w@>8fOG|>;$iQ z{PI3A;G`fa#uwSKknk4=h0VV6n(;34{&uN~C{LLVazq9@+qi#1PxVW2z}6)eFaLMi zm3AQ3$ugP1fO_h%)Xs7qzF-kd^V%rwov;cFIQfK5M|J{EFzl6#^r^Lv#({j(ul!4N zi!tAoLlHKKGP70~oeuRW{dJZ6t!EpF1>B#aZj%qn#Gkh;vL1qx5=O%`Ixo;{iNg4t zjC#5p;imQL0PBA#RInB-S<*$cvJ;9=dfK*n)?nvg6SO!Jy6m3<9V;IfCnXdmYl{6F z`kHmMfc&pZBilm13c=M_~j*ChA|lA#bovh?EQWUS>#_h+mjZ|GU$C)n2X-~ zYb3_V`84J>IVI1OS{99X|ET+!%ft$%yf00icNENI<#P2*o#}gA6t!28fpRyy-@B?G z(RhEnvTP}~t2!{+Z;UJO#T$PdKVtD)@vC?B%~pRCV8Zg(#DUWq>#2t4Zv~HU5U1D& z4s4uvxo~#|=3WcRzBz#l(;?uIDLdLmjKK3}pPWD&E-ScVs`(m|k>Ew!Kl*umeUYs` zfCG;>0CdaRQ#;iDXx!yH6dOf|;$&UZm#yM?Q zqHs$%wr$%<$F`Fd+qP}n>X;p~W1AhW*tTt)ee>U)mzblzs+v_ZI-8B7R_L$KO}T#q zZItqEl~hKu6~U)YeYF)!dd6q4jGb|gV4yf7dxTNzqXD^!zd7hSZE7EU zRPYtGTh(H7dKrTP#+0cZ9dz2e`z(JPrL?n;@lsVO%eCK3^b9J351-;r$CXcu>w)ennMSxG98 z+sObZs|7mtS-tbJ-d~&6X=k*bPrNYHrj`K+gwFChZVj?-uv2hIEpbGUY;u1nrK>DZ zctXRdd3pn>gRkb~%gf+y+EAv(yt`uco7(k+87EqKuK^(K{ww zR`T2W>q|n6EU~d+rS7>8nZmNp6zvK)FR-B)0{C-cMns2JkL(r72D5)w9)|~Q);dfI z4q4J{PHlU>`)aC&D6mQDzT!qH5vQNM0{NgnuxPvR!rg8Qu6LhG-J|=BUnU-68vpE7 zYfYn8^lP(5_qe94&Ucr1Q)0-T>&ZtSS0>t!J)32MJFXDEYS)Wg85C;t`dp)?{Y}tR7XN<(hVuKU_YoUH-gYxsjjDG*+J7k&OYxpHJxr&8ZtXtEjCMca zYS|9(qEO9EkPG;5_X>`l$K>j7be()v8vEPkL4kCb%o}o^Oou}w`*RG3;6wlY*L;bC zP^a{YBDmw3(5Jlu%*MsAMlPo`0wn>Wvje<1U=e>xT=um=p=I{_1JVhb zKEx9Z?51Xc`^5GZSx_xuJ-;g z`a7g|1NJ%BK!fzAsrn<>DQ^j7q~@ojA5_baE!V*!gu{($sE%maEd$8mXI;N9i#vE| ztO=YOKH;1yrh|VO>GU$?T>lqax{`h(N)45q5)y?QT9OlIm%;ka9j@Z)E5)2KhqA9d z=O3DS`PRsbyp0g=$SXQbB$Vb}If)?d#460nVCVYLus-Cu@fbwl z_&=a$AzMWA`2{m_Er_`*Eq?MZ!x}CGIf1rm%rVD2ML#Ipe6aMQEY2)lWcV$eoGHby z`7)a_Bx-+|b~q!eSJjI>MCYXakEEw`Ozki!TV?r4WoSLr=WRY0GxfF5bF5_*=M0|4 zx`TgC;MNl0-ZkYhITGDaHWt$O1l)hXtMo*8w$GFEcNP=-E`I=9N&-xG z-{0w z9p^(<=NFP`vAFFfTD%gD7!O(w`F{o&tOy#v>^SklK98<{S^8T8F0TGI3J~nJ=U<|J z)j+Pa12`7ccCRaDCbwD;)QJMry*zrfTp8iRgXolscbP~`xITaGo$8lH}#B;#%qv>{D$dCzMgceUAsuKAh;B14xii z(QJ1b+@2b>Sfz^B#yWZk z^ZvzPGAD_tjnZSer(j`O)=%*zHe2@ifipUbeSEYeQUTz-?ZJcZ7|>FqhVk_?P3@~& zpQw_n<1$jV6^-%tWY`#4{pI&B04x^RIN`Pb%B?XD>K_z(=yXDoxbav>tZzx^BTkp( z2-%;ufAh@y3}ul#OP$}~;-CwlmF0}U$8J(cG z-k4>Pe{IU~UCAGA?$)aBJyP8C;Yr2^tJBo}U~lZ?%g^S>udj9@N@bUewq5-XbnkL# zWpUe1hiD5vd>2rnrVV){-lVG_=^x-RGUyRHMxBDtzmSMR5&IjLjZV(yr;}N1Xu@g z;y{He?w=@YtwppE+AupPQ%~nIzj~^*Am@Trxt+gFNs~26e@vaWw*btnhlPJUd@~o{ zUUJ5zzx5goC>5g%jDhw@~MFG^F*c0n3jFv<~;`$7!yZ$neqcDbIq{H){X z1#jsVLTmB1Mmra!GQp&(^kypfQ=FT4;a6c4kimxwlo$wanCS-EGn$n1; z8Ywaz8y&d&IIKW2qW3uwwAK(vTmR0O>qXOP=EB;o=G56YhQVNE^JEl!WK}WR{2kbf*0Mu(yhrd?K%K;4gec5L@Po5CGdtQ5ht2|? zfH76>V4bgC_ZEbtqPNf5rV0M&$o8INm7>5SjE?CaQ5Rtk6ibd{Xj2?aG`cRm z%@u;KG3t40u*2oDkS^A7L-K+sm8C5~lkAq_S4h^-{FAPGktsxO8u^`gF~qYd0$j8suB3@Ck1*mO6|5u8FKd?5{DZ$tpgBaF>EuDmy0p7F+dlm~6<_A_99>Np8l>V$DSS3&Z{-%x zvbX}uG`RDj@HWbbElj$0*i^yA4?dvJv z#&ug@I->!52om-^MJ3lEcdn7Qs$dmtmXHJ?7 zQmZbnH>?;TKaVf z#mtXlW~1>yU3dLpWzJ;A`DMV!JwrG-CWm_qy4Q5VU|q9Jpxg+t1a2_pUd#3na%-zY=i3ND8b(}V)e9(^t0X!5^%qVw8&`PP*;(ztE*Vm z%F2PBfV-VPgj*mc=j6mizDT7^;q^(z%8ID=MHrwc2taf=)sOXRm%|k*Kv5tlw9zBf z!jx}8E`EF0;r%6oIzY)Nj50UoM(d|9!sv?lD1CYZyXqsNgrs`*)Hzb$?cY%8b*E4; zDNg2(so6Td1VDFcLb^awSQ9Cbw;?m6G1%x{xN6INrIfa7wdBj-PEpZ6O?dqS-IXPhy^xzj(a+c-x`G|(DVcb+irQx zA>E=g_$L*~$qbdVCm&b*1Xxs?eI%GU^znMxf%Ek;+Kez*`xvTXiM3pEn^Nm2*HSc% zhPa(@KGmPlF-H zvzA}9A$1<9z8VLX)g&PTKA3*&1WC0g_$r+QDJ>7R;nO%E zLA)luCvLuA0^4>svqOreEoNGL60ODc=*z?i;34jF8n5+p{YG1~K(|3^f&8#@=iQ2E zdPr@QvuM<+Y+!mQxhD{+ab$ zg(4Na!jUAgq<`5w=bl){%&8Mq!4D5j9a}rsC$Q%q|G>{E>HLkfNZ~h495J4U8EW_m z6laQvwi}VGtIS32>uPR7nFx8}U|BH`vmn;z&wMQ>X$D%3SN5^nhF#qFT@N@$MUZM` zzm}HXxu$<>?@Y!1X6bAfvj~0NpqIi7fA8RS1Ve<_0DZmHWO~*;o7m~p-mV-G?V1qp z=E+W~Gge)Yhf&Rje=COAGi-(@X^~e1uE=NX=FTTGyAiXDA8)m{NapoOf6(VR9BomJ z>40@HYG1{T*ME3ID@wnq-_dasw^^p4$^^G|E%&;mgg+;G!$;}KX<#oF%q-%y@uG*^ z)+`!urm6=@#UFRB=7K4OAaOe5+6gzxT3c&wpKQ%<=l^2fmhp?~eWZh;*qTZMdI*!b zc+={YGWxp=Sq^BFENEiK;$XqCW1no$N9s9*{7+Bv5@=8Jojru%+w! zn_}=yJ@Y4DMt?dL~oB!#SuJn z*c1Bw*=b`KHfh|7qLuIhwoy3f`ypxks3$~<-w@pWE!AIk{e|B?GW%^@_-LjxZidt? z1S|&4xIC&&W;|tG_!AGR=$~h(OO|}BvVsvs%BLcJXdK-jkSDyf(XMFR0K?`#?ro$X zXbzZlqcH&@4B+R*-dfGaY0x18Sr$Tg)ZSwL&Bu^C#G+Wf+L}uHn9iL4W%L5U8a=M5 z1%~14M*-r*9TI)Vc+Y}9TM&)S-Y-(0RP)|ICn{^iR<-ey<101^AxWg;o`WcmkXaWVgLG4QN2}jbTw%Z# z2H3pG;m*k9iO5jn)O_k-r3pd4x1aX;7ZaQ)>EXj;rMF-QH%gQ-tcWLb9rLCPOG|hN zAI|%mcoN|@h+`tY7{;|MKdh^yBKPApEj^hzUwTF70>wJ(oHEffe8c&MUDfzb&P|cO7KfSn zS*=4~ zkA<{f#Q;7Z=?Y8_PR#CDbfgF4XXW>@Ora8%`l*;Gfh)L`1r1DN(1xn2^Irxl_|D}B zKP2XXY0q50vi_%#1H(bk$rBTx%P?;^5KJ|EEM@tSe2mEi+FtI(|Lyv(>RFN02tD;Z z!A>k!A*loevEaF+a&!bT$e;8e++;Pc_TYRW7TfpuHbDBY&TNxWT-a8ar~A#tIAfTW z&njwhEewuS`n_uvBF*y4O@oS_fBn)KUarQ*GT$J{{VeVNbpG|390mL%dbT z5e?K|0TfY|)TQDszXQ@%I3+}Xfw$*LLUpfb}id@>77RSZ-dm$(s+cI`P!gKq8v1~ zUSB&z0wt~Po=z>-r{;dysJU^ya@VHee`nwSB?1qBO4Muo{yBM%_(`)D`1V!*eG#3M zdH5)y1+vW@;H^k7f3D-x>@X-T(kOsUVr3JF2^IVm?_Z858%Klh_~r9cuw~ccXV}xo z9}|9%2ZsU&7}3ON#*=L-_1Kv%bKNGAFs;}iN?pX1a4d8<^-}KX zT=B4Mh29#v4laPaqM9$3L#`#d{;wSIiJv5iL3u0tyBN3@ z1)!oz92lHTd4OMoC2yV7%Z6~Lu;Npi|Mjkxc79m_+q?g@RaoO7ty z%Wc*s$u+vwOjjB@nd<5<7x$0Wa^>AJ?9V{FK~UG9VWokhI-9oF3y;g6lW*M#_jSTt z#4+`{qkbb=gGhzsry6#`CA82h>tu)ZzX8%flK4qeuol8HbTb3hAra}Xov&i)xD{kY z=-NoUDW%M61`2SmB9{tG4jO+`q?8HSZ}W<(56r%z86xGnL!X+d`9|MGsGAn=IwAB- zvjMkk)L|XX!x&MFp+e8lVdDL4+t#+-oT21oz$GO3VoupbARsv!EfYH|ryUD^3Si#C zgE*wVG$H$DoTVRL1s^M6zQ2FikD)me2*Mq^Lcdu1*@L_rXEb(~%?uOj$9`uw%vt7| zbbFq;z`3V$HH4ZI1FIL6oti$Q6Mofq@RIcD`W3pRJ=<(ygqjQm_&h52IWT1|FR+p~ z>X}2|g3q`7Rgmfidssz?;Rhx71Go)O65I`^Zyte)h5t-EW)5SFF5Rf z7n&^_lVL31cY6mev%Cb07Z&tO>~b)kZGG4+)kz}aPfoB+s;s$@3`fSw89&fG%xscr zzOp$qV{LOWw;{o^+FZBDZk&TIxXGE+hsF8v(iB=v5NDl;HXyAeKLaM(fJ|bw(H+1` zpVs|LqhaFT;004$uHF}QyuXWj+8wD4nrvQDC)tXJ`{#z!PQEQD)>c5fCPIJ}rT--e zf=&d3(t1*l^6{KwJK)K+7Y33i`7St{a%vJe9f4j7l4JVPZC^^x?B$nV`H^&IfoA;X zt=z;M+#)w;P_A*2<(v5h=pC)R%}b6E;%QzpFg?r$;wJ?l;ZgE6?qH+hO1+U(Usc

2Hg9e_^gwUMw>k4vDif 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 diff --git a/doc/Projects/2024/Project1/pdf/Project1.tex b/doc/Projects/2024/Project1/pdf/Project1.tex index eefb1ed98..487de2583 100644 --- a/doc/Projects/2024/Project1/pdf/Project1.tex +++ b/doc/Projects/2024/Project1/pdf/Project1.tex @@ -111,36 +111,35 @@ September 2 \subsection*{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 \href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}} gives some guidance. See also the grading suggestion at \href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}. +We want you to answer the three different projects by handing in +reports written like a standard scientific/technical report. The link +at +\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ProjectWriting/projectwriting.ipynb}} +gives some guidance. See also the grading suggestion at +\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}{\nolinkurl{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 +Furthermore, at +\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}} +you can find examples of previous reports. How to write reports will +also be discussed during the various lab sessions. Please do ask us if you are in doubt. + +When using codes and material from other sources, you should refer to these in the bibliography of your report, indicating wherefrom you for example 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 \href{{https://scikit-learn.org/dev/about.html}}{\nolinkurl{https://scikit-learn.org/dev/about.html}}. We enocurage you to use tools like -\href{{https://openai.com/chatgpt/}}{ChatGPT} in writing the report. If you use for example ChatGPT, +\href{{https://openai.com/chatgpt/}}{ChatGPT} or similar 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 \href{{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section}}{\nolinkurl{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html\#plot-all-scaling-standard-scaler-section}} +be uploaded to for example your website, GitHub/GitLab or similar as supplemental material. \subsection*{Regression analysis and resampling methods} The main aim of this project is to study in more detail various regression methods, including the Ordinary Least Squares (OLS) method. In addition to the scientific part, in this course we want also to -give you an experience in writing scientific reports. The format for -the delivery of your answers is namely that of a scientific report. At -for example -\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md}} -we detail how to write a report. Furthermore, at -\href{{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}}{\nolinkurl{https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/}} -you can find examples of previous reports. How to write reports will -also be discussed during the various lab sessions. +give you an experience in writing scientific reports. \textbf{A small recommendation when developing the codes here}. Instead of jumping on to the two-dimensional function described below, we @@ -282,6 +281,8 @@ plt.show() \end{verbatim} +If you wish to compare your results with other on the Franke function or other popular functions tested with linear regression, see the list in Figure 1 of the article by Cook et al at \href{{https://arxiv.org/abs/2401.11694}}{\nolinkurl{https://arxiv.org/abs/2401.11694}}. + \paragraph{Part a) : Ordinary Least Square (OLS) on the Franke function.} We will generate our own dataset for a function $\mathrm{FrankeFunction}(x,y)$ with $x,y \in [0,1]$. The function @@ -334,6 +335,8 @@ approximately $2/3$ to $4/5$ of the data as training data. You can easily reuse the solutions to your exercises from week 35 and week 36. See also the lecture slides from week 35 and week 36. +On scaling, we recommend reading the following section from the scikit-learn software description, see \href{{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-standard-scaler-section}}{\nolinkurl{https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html\#plot-all-scaling-standard-scaler-section}}. + \paragraph{Part b): Adding Ridge regression for the Franke function.} Write your own code for the Ridge method, either using matrix inversion or the singular value decomposition as done in the previous @@ -462,18 +465,16 @@ of data points, and possibly also your training and test data using the \textbf{ You can follow the code example in the jupyter-book at \href{{https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/chapter3.html#the-bias-variance-tradeoff}}{\nolinkurl{https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/chapter3.html\#the-bias-variance-tradeoff}}. \paragraph{Part f): Cross-validation as resampling techniques, adding more complexity.} -The aim here is to write your own code for another widely popular +The aim here is to implement another widely popular resampling technique, the so-called cross-validation method. Implement the $k$-fold cross-validation algorithm (write your own -code) and evaluate again the MSE function resulting -from the test folds. You can compare your own code with that from -\textbf{Scikit-Learn} if needed. +code or use the functionality of \textbf{Scikit-Learn}) and evaluate again the MSE function resulting +from the test folds. Compare the MSE you get from your cross-validation code with the one you got from your \textbf{bootstrap} code. Comment your results. Try $5-10$ -folds. You can also compare your own cross-validation code with the -one provided by \textbf{Scikit-Learn}. +folds. In addition to using the ordinary least squares method, you should include both Ridge and Lasso regression. diff --git a/doc/src/Projects/2024/Project1/Project1.do.txt b/doc/src/Projects/2024/Project1/Project1.do.txt index 562d72ec9..d4f124fb5 100644 --- a/doc/src/Projects/2024/Project1/Project1.do.txt +++ b/doc/src/Projects/2024/Project1/Project1.do.txt @@ -3,28 +3,34 @@ AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio DATE: September 2 - - - ===== 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". +We want you to answer the three different projects by handing in +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 +Furthermore, at +URL:"https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/" +you can find examples of previous reports. How to write reports will +also be discussed during the various lab sessions. Please do ask us if you are in doubt. + + + +When using codes and material from other sources, you should refer to these in the bibliography of your report, indicating wherefrom you for example 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, +"ChatGPT":"https://openai.com/chatgpt/" or similar 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. +be uploaded 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" @@ -36,14 +42,8 @@ On scaling, we recommend reading the following section from the scikit-learn sof The main aim of this project is to study in more detail various regression methods, including the Ordinary Least Squares (OLS) method. In addition to the scientific part, in this course we want also to -give you an experience in writing scientific reports. The format for -the delivery of your answers is namely that of a scientific report. At -for example -URL:"https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/EvaluationGrading/EvaluationForm.md" -we detail how to write a report. Furthermore, at -URL:"https://github.com/CompPhysics/MachineLearning/blob/master/doc/Projects/ReportExample/" -you can find examples of previous reports. How to write reports will -also be discussed during the various lab sessions. +give you an experience in writing scientific reports. + _A small recommendation when developing the codes here_. Instead of @@ -151,6 +151,8 @@ plt.show() !ec +If you wish to compare your results with other on the Franke function or other popular functions tested with linear regression, see the list in Figure 1 of the article by Cook et al at URL:"https://arxiv.org/abs/2401.11694". + === Part a) : Ordinary Least Square (OLS) on the Franke function === We will generate our own dataset for a function @@ -213,6 +215,9 @@ approximately $2/3$ to $4/5$ of the data as training data. You can easily reuse the solutions to your exercises from week 35 and week 36. See also the lecture slides from week 35 and week 36. +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". + + === Part b): Adding Ridge regression for the Franke function === @@ -381,18 +386,16 @@ You can follow the code example in the jupyter-book at URL:"https://compphysics. === Part f): Cross-validation as resampling techniques, adding more complexity === -The aim here is to write your own code for another widely popular +The aim here is to implement another widely popular resampling technique, the so-called cross-validation method. Implement the $k$-fold cross-validation algorithm (write your own -code) and evaluate again the MSE function resulting -from the test folds. You can compare your own code with that from -_Scikit-Learn_ if needed. +code or use the functionality of _Scikit-Learn_) and evaluate again the MSE function resulting +from the test folds. Compare the MSE you get from your cross-validation code with the one you got from your _bootstrap_ code. Comment your results. Try $5-10$ -folds. You can also compare your own cross-validation code with the -one provided by _Scikit-Learn_. +folds. In addition to using the ordinary least squares method, you should include both Ridge and Lasso regression.