From 3042ca49ca192f09c96314423be875ce98a7ab9d Mon Sep 17 00:00:00 2001 From: mhjensen Date: Thu, 11 Nov 2021 16:56:13 +0100 Subject: [PATCH 01/16] Update with video of week45 --- README.md | 1 + doc/pub/week45/html/._week45-bs000.html | 465 ++-- doc/pub/week45/html/._week45-bs001.html | 449 ++-- doc/pub/week45/html/._week45-bs002.html | 454 ++-- doc/pub/week45/html/._week45-bs003.html | 444 ++-- doc/pub/week45/html/._week45-bs004.html | 437 ++-- doc/pub/week45/html/._week45-bs005.html | 437 ++-- doc/pub/week45/html/._week45-bs006.html | 446 ++-- doc/pub/week45/html/._week45-bs007.html | 445 ++-- doc/pub/week45/html/._week45-bs008.html | 443 ++-- doc/pub/week45/html/._week45-bs009.html | 461 ++-- doc/pub/week45/html/._week45-bs010.html | 450 ++-- doc/pub/week45/html/._week45-bs011.html | 444 ++-- doc/pub/week45/html/._week45-bs012.html | 460 ++-- doc/pub/week45/html/._week45-bs013.html | 447 ++-- doc/pub/week45/html/._week45-bs014.html | 454 ++-- doc/pub/week45/html/._week45-bs015.html | 441 ++-- doc/pub/week45/html/._week45-bs016.html | 442 ++-- doc/pub/week45/html/._week45-bs017.html | 448 ++-- doc/pub/week45/html/._week45-bs018.html | 454 ++-- doc/pub/week45/html/._week45-bs019.html | 447 ++-- doc/pub/week45/html/._week45-bs020.html | 440 ++-- doc/pub/week45/html/._week45-bs021.html | 444 ++-- doc/pub/week45/html/._week45-bs022.html | 441 ++-- doc/pub/week45/html/._week45-bs023.html | 445 ++-- doc/pub/week45/html/._week45-bs024.html | 441 ++-- doc/pub/week45/html/._week45-bs025.html | 444 ++-- doc/pub/week45/html/._week45-bs026.html | 461 ++-- doc/pub/week45/html/._week45-bs027.html | 461 ++-- doc/pub/week45/html/._week45-bs028.html | 461 ++-- doc/pub/week45/html/._week45-bs029.html | 464 ++-- doc/pub/week45/html/._week45-bs030.html | 465 ++-- doc/pub/week45/html/._week45-bs031.html | 444 ++-- doc/pub/week45/html/._week45-bs032.html | 451 ++-- doc/pub/week45/html/._week45-bs033.html | 450 ++-- doc/pub/week45/html/._week45-bs034.html | 447 ++-- doc/pub/week45/html/._week45-bs035.html | 461 ++-- doc/pub/week45/html/._week45-bs036.html | 468 ++-- doc/pub/week45/html/._week45-bs037.html | 459 ++-- doc/pub/week45/html/._week45-bs038.html | 461 ++-- doc/pub/week45/html/._week45-bs039.html | 461 ++-- doc/pub/week45/html/._week45-bs040.html | 461 ++-- doc/pub/week45/html/._week45-bs041.html | 484 ++-- doc/pub/week45/html/._week45-bs042.html | 484 ++-- doc/pub/week45/html/._week45-bs043.html | 436 ++-- doc/pub/week45/html/._week45-bs044.html | 440 ++-- doc/pub/week45/html/._week45-bs045.html | 447 ++-- doc/pub/week45/html/._week45-bs046.html | 443 ++-- doc/pub/week45/html/._week45-bs047.html | 448 ++-- doc/pub/week45/html/._week45-bs048.html | 444 ++-- doc/pub/week45/html/._week45-bs049.html | 465 ++-- doc/pub/week45/html/._week45-bs050.html | 453 ++-- doc/pub/week45/html/._week45-bs051.html | 452 ++-- doc/pub/week45/html/._week45-bs052.html | 461 ++-- doc/pub/week45/html/._week45-bs053.html | 461 ++-- doc/pub/week45/html/._week45-bs054.html | 464 ++-- doc/pub/week45/html/._week45-bs055.html | 530 ++-- doc/pub/week45/html/._week45-bs056.html | 462 ++-- doc/pub/week45/html/._week45-bs057.html | 446 ++-- doc/pub/week45/html/._week45-bs058.html | 468 ++-- doc/pub/week45/html/._week45-bs059.html | 484 ++-- doc/pub/week45/html/._week45-bs060.html | 444 ++-- doc/pub/week45/html/._week45-bs061.html | 462 ++-- doc/pub/week45/html/._week45-bs062.html | 445 ++-- doc/pub/week45/html/._week45-bs063.html | 467 ++-- doc/pub/week45/html/._week45-bs064.html | 453 ++-- doc/pub/week45/html/._week45-bs065.html | 449 ++-- doc/pub/week45/html/._week45-bs066.html | 455 ++-- doc/pub/week45/html/._week45-bs067.html | 447 ++-- doc/pub/week45/html/._week45-bs068.html | 449 ++-- doc/pub/week45/html/._week45-bs069.html | 464 ++-- doc/pub/week45/html/._week45-bs070.html | 444 ++-- doc/pub/week45/html/._week45-bs071.html | 454 ++-- doc/pub/week45/html/._week45-bs072.html | 443 ++-- doc/pub/week45/html/._week45-bs073.html | 451 ++-- doc/pub/week45/html/._week45-bs074.html | 461 ++-- doc/pub/week45/html/._week45-bs075.html | 461 ++-- doc/pub/week45/html/._week45-bs076.html | 447 ++-- doc/pub/week45/html/._week45-bs077.html | 461 ++-- doc/pub/week45/html/._week45-bs078.html | 463 ++-- doc/pub/week45/html/week45-bs.html | 465 ++-- doc/pub/week45/html/week45-reveal.html | 2023 ++++++---------- doc/pub/week45/html/week45-solarized.html | 2065 +++++++--------- doc/pub/week45/html/week45.html | 2143 +++++++---------- doc/pub/week45/ipynb/DataFiles/cancer.dot | 54 +- doc/pub/week45/ipynb/DataFiles/cancer.png | Bin 221561 -> 246246 bytes doc/pub/week45/ipynb/DataFiles/ride.dot | 10 +- .../Results/FigureFiles/votingsimple.png | Bin 39880 -> 42831 bytes doc/pub/week45/ipynb/ipynb-week45-src.tar.gz | Bin 294340 -> 293595 bytes doc/pub/week45/ipynb/week45.ipynb | 914 +++---- doc/src/week45/week45.do.txt | 1 + 91 files changed, 17888 insertions(+), 25678 deletions(-) diff --git a/README.md b/README.md index 458ee77cd..4c047da5e 100644 --- a/README.md +++ b/README.md @@ -385,6 +385,7 @@ Recommended prereading: Chapters 1-2 (linear algebra) and chapter 3 (statistics) ### Week 45 November 8-12 - Lab Wednesday: Work on project 2, project 3 available Friday 12th. Deadline project 2 is November 15. - Lecture Thursday: Decision Trees and Ensemble methods, Bagging and Voting + - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage - Lecture Friday: Ensemble Methods, Random Forests, Boosting and gradient boosting - Reading recommendations: - See lecture notes for week 45 at https://compphysics.github.io/MachineLearning/doc/web/course.html. diff --git a/doc/pub/week45/html/._week45-bs000.html b/doc/pub/week45/html/._week45-bs000.html index d7e0ee14e..6fb3409bc 100644 --- a/doc/pub/week45/html/._week45-bs000.html +++ b/doc/pub/week45/html/._week45-bs000.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
+

 

 

 

+ -
-
-

Week 45: Decisions Trees, Random Forests, Bagging and Boosting

-
+ + +
+

Week 45: Decisions Trees, Random Forests, Bagging and Boosting

+ +

+

Morten Hjorth-Jensen [1, 2]
- -
-[1] Department of Physics, University of Oslo -
-
-[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University -
-
-
-

Nov 11, 2021

-
-
+

+ + +

[1] Department of Physics, University of Oslo
+
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
+
+

+

Nov 11, 2021

+
+

Read »

@@ -438,18 +360,25 @@ MathJax.Hub.Config({
  • »
  • +
    + + +
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    + + + diff --git a/doc/pub/week45/html/._week45-bs001.html b/doc/pub/week45/html/._week45-bs001.html index dde0d8852..264e8879f 100644 --- a/doc/pub/week45/html/._week45-bs001.html +++ b/doc/pub/week45/html/._week45-bs001.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Overview of week 45

    + +

    Overview of week 45

    • Thursday: Basics of Decision Trees, Bagging and Voting
    • + + +
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    +
    - +

    +

    1. Video on Decision trees
    2. Video on boosting methods by Hastie.
    3. @@ -408,9 +337,11 @@ MathJax.Hub.Config({
    +

    - +

    +

    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    @@ -418,6 +349,7 @@ MathJax.Hub.Config({
    +

      @@ -438,18 +370,25 @@ MathJax.Hub.Config({
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs002.html b/doc/pub/week45/html/._week45-bs002.html index 53975cdb9..a90db8f43 100644 --- a/doc/pub/week45/html/._week45-bs002.html +++ b/doc/pub/week45/html/._week45-bs002.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Decision trees, overarching aims

    -

    We start here with the most basic algorithm, the so-called decision +

    Decision trees, overarching aims

    + +

    +We start here with the most basic algorithm, the so-called decision tree. With this basic algorithm we can in turn build more complex networks, spanning from homogeneous and heterogenous forests (bagging, random forests and more) to one of the most popular supervised algorithms nowadays, the extreme gradient boosting, or just XGBoost. But let us start with the simplest possible ingredient. -

    -

    Decision trees are supervised learning algorithms used for both, +

    +Decision trees are supervised learning algorithms used for both, classification and regression tasks. -

    -

    The main idea of decision trees +

    +The main idea of decision trees is to find those descriptive features which contain the most information regarding the target feature and then split the dataset along the values of these features such that the target feature values for the resulting underlying datasets are as pure as possible. -

    -

    The descriptive features which reproduce best the target/output features are normally said +

    +The descriptive features which reproduce best the target/output features are normally said to be the most informative ones. The process of finding the most informative feature is done until we accomplish a stopping criteria -where we then finally end up in so called leaf nodes. -

    +where we then finally end up in so called leaf nodes. +

      @@ -439,18 +362,25 @@ where we then finally end up in so called leaf nodes.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs003.html b/doc/pub/week45/html/._week45-bs003.html index a34c4b2da..0e668130e 100644 --- a/doc/pub/week45/html/._week45-bs003.html +++ b/doc/pub/week45/html/._week45-bs003.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Basics of a tree

    -

    A decision tree is typically divided into a root node, the interior nodes, +

    Basics of a tree

    + +

    +A decision tree is typically divided into a root node, the interior nodes, and the final leaf nodes or just leaves. These entities are then connected by so-called branches. -

    -

    The leaf nodes +

    +The leaf nodes contain the predictions we will make for new query instances presented to our trained model. This is possible since the model has learned the underlying structure of the training data and hence can, given some assumptions, make predictions about the target feature value (class) of unseen query instances. -

    +

      @@ -427,18 +350,25 @@ given some assumptions, make predictions about the target feature value
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs004.html b/doc/pub/week45/html/._week45-bs004.html index 3cd5a9901..394302409 100644 --- a/doc/pub/week45/html/._week45-bs004.html +++ b/doc/pub/week45/html/._week45-bs004.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    A Sketch of a Tree, Regression problem

    +

    A Sketch of a Tree, Regression problem

    + +

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs005.html b/doc/pub/week45/html/._week45-bs005.html index 841e2acbf..6afc48a68 100644 --- a/doc/pub/week45/html/._week45-bs005.html +++ b/doc/pub/week45/html/._week45-bs005.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    A Sketch of a Tree, Classification problem

    +

    A Sketch of a Tree, Classification problem

    + +

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs006.html b/doc/pub/week45/html/._week45-bs006.html index 922fc2459..50dda9297 100644 --- a/doc/pub/week45/html/._week45-bs006.html +++ b/doc/pub/week45/html/._week45-bs006.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    -
    -

    -
    -

    +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    +

    +



    +

    +This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches. + +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs007.html b/doc/pub/week45/html/._week45-bs007.html index ba1f73877..19106a405 100644 --- a/doc/pub/week45/html/._week45-bs007.html +++ b/doc/pub/week45/html/._week45-bs007.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    General Features

    -

    The overarching approach to decision trees is a top-down approach.

    +

    General Features

    + +

    +The overarching approach to decision trees is a top-down approach.

    -

    This process is then repeated for the subtree rooted at the new -node. -

    +This process is then repeated for the subtree rooted at the new +node. + +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs008.html b/doc/pub/week45/html/._week45-bs008.html index d31aad625..03360d14f 100644 --- a/doc/pub/week45/html/._week45-bs008.html +++ b/doc/pub/week45/html/._week45-bs008.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    How do we set it up?

    -

    In simplified terms, the process of training a decision tree and +

    How do we set it up?

    + +

    +In simplified terms, the process of training a decision tree and predicting the target features of query instances is as follows: -

    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. @@ -403,8 +325,10 @@ predicting the target features of query instances is as follows:
    3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    4. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    -

    Then we are essentially done!

    +Then we are essentially done! + +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs009.html b/doc/pub/week45/html/._week45-bs009.html index 705f6fbe3..cfd2b1713 100644 --- a/doc/pub/week45/html/._week45-bs009.html +++ b/doc/pub/week45/html/._week45-bs009.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Decision trees and Regression

    + +

    Decision trees and Regression

    +

    -

    -
    -
    -
    -
    -
    import numpy as np
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.preprocessing import PolynomialFeatures
     from sklearn.linear_model import LinearRegression
    @@ -487,22 +405,8 @@ plt.ylabel(&quo
     plt.title("Decision Tree Regression")
     plt.legend()
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs010.html b/doc/pub/week45/html/._week45-bs010.html index 1db65912e..51fead3ea 100644 --- a/doc/pub/week45/html/._week45-bs010.html +++ b/doc/pub/week45/html/._week45-bs010.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Building a tree, regression

    -

    There are mainly two steps

    +

    Building a tree, regression

    + +

    +There are mainly two steps +

    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    -

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the + +How do we construct the regions \( R_1,\dots,R_J \)? In theory, the regions could have any shape. However, we choose to divide the predictor space into high-dimensional rectangles, or boxes, for simplicity and for ease of interpretation of the resulting predictive model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the MSE, given by -

    $$ \sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, $$ -

    where \( \overline{y}_{R_j} \) is the mean response for the training observations -within box \( j \). -

    +

    +where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs011.html b/doc/pub/week45/html/._week45-bs011.html index a4d1b5fd1..ed0276b43 100644 --- a/doc/pub/week45/html/._week45-bs011.html +++ b/doc/pub/week45/html/._week45-bs011.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    A top-down approach, recursive binary splitting

    -

    Unfortunately, it is computationally infeasible to consider every +

    A top-down approach, recursive binary splitting

    + +

    +Unfortunately, it is computationally infeasible to consider every possible partition of the feature space into \( J \) boxes. The common strategy is to take a top-down approach -

    -

    The approach is top-down because it begins at the top of the tree (all +

    +The approach is top-down because it begins at the top of the tree (all observations belong to a single region) and then successively splits the predictor space; each split is indicated via two new branches further down on the tree. It is greedy because at each step of the tree-building process, the best split is made at that particular step, rather than looking ahead and picking a split that will lead to a better tree in some future step. -

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs012.html b/doc/pub/week45/html/._week45-bs012.html index 2f44618c0..4ce37b00f 100644 --- a/doc/pub/week45/html/._week45-bs012.html +++ b/doc/pub/week45/html/._week45-bs012.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Making a tree

    -

    In order to implement the recursive binary splitting we start by selecting +

    Making a tree

    + +

    +In order to implement the recursive binary splitting we start by selecting the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) -

    $$ \left\{X\vert x_j < s\right\}, $$ -

    and

    +and $$ \left\{X\vert x_j \geq s\right\}, $$ -

    so that we obtain the lowest MSE, that is

    +so that we obtain the lowest MSE, that is $$ \sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, $$ -

    which we want to minimize by considering all predictors +

    +which we want to minimize by considering all predictors \( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for each predictor. These values could be determined by randomly assigned numbers or by starting at the midpoint and then proceed till we find an optimal value. -

    -

    For any \( j \) and \( s \), we define the pair of half-planes where +

    +For any \( j \) and \( s \), we define the pair of half-planes where \( \overline{y}_{R_1} \) is the mean response for the training observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean response for the training observations in \( R_2(j,s) \). -

    -

    Finding the values of \( j \) and \( s \) that minimize the above equation can be +

    +Finding the values of \( j \) and \( s \) that minimize the above equation can be done quite quickly, especially when the number of features \( p \) is not too large. -

    -

    Next, we repeat the process, looking +

    +Next, we repeat the process, looking for the best predictor and best cutpoint in order to split the data further so as to minimize the MSE within each of the resulting regions. However, this time, instead of splitting the entire predictor @@ -437,8 +360,8 @@ have three regions. Again, we look to split one of these three regions further, so as to minimize the MSE. The process continues until a stopping criterion is reached; for instance, we may continue until no region contains more than five observations. -

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs013.html b/doc/pub/week45/html/._week45-bs013.html index cc72ac5de..5bc32e1f5 100644 --- a/doc/pub/week45/html/._week45-bs013.html +++ b/doc/pub/week45/html/._week45-bs013.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Pruning the tree

    -

    The above procedure is rather straightforward, but leads often to +

    Pruning the tree

    + +

    +The above procedure is rather straightforward, but leads often to overfitting and unnecessarily large and complicated trees. The basic idea is to grow a large tree \( T_0 \) and then prune it back in order to obtain a subtree. A smaller tree with fewer splits (fewer regions) can lead to smaller variance and better interpretation at the cost of a little more bias. -

    -

    The so-called Cost complexity pruning algorithm gives us a +

    +The so-called Cost complexity pruning algorithm gives us a way to do just this. Rather than considering every possible subtree, we consider a sequence of trees indexed by a nonnegative tuning parameter \( \alpha \). -

    -

    Read more at the following Scikit-Learn link on pruning.

    +

    +Read more at the following Scikit-Learn link on pruning. +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs014.html b/doc/pub/week45/html/._week45-bs014.html index 88408fb6b..28abda8e9 100644 --- a/doc/pub/week45/html/._week45-bs014.html +++ b/doc/pub/week45/html/._week45-bs014.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Cost complexity pruning

    -

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    +

    Cost complexity pruning

    + +

    +For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that $$ \sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, $$ -

    is as small as possible. Here \( \overline{T} \) is +is as small as possible. Here \( \overline{T} \) is the number of terminal nodes of the tree \( T \) , \( R_m \) is the rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. -

    -

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +

    +The tuning parameter \( \alpha \) controls a trade-off between the subtree’s complexity and its fit to the training data. When \( \alpha = 0 \), then the subtree \( T \) will simply equal \( T_0 \), because then the above equation just measures the training error. However, as \( \alpha \) increases, there is a price to pay for having a tree with many terminal nodes. The above equation will -tend to be minimized for a smaller subtree. -

    +tend to be minimized for a smaller subtree. -

    It turns out that as we increase \( \alpha \) from zero +

    +It turns out that as we increase \( \alpha \) from zero branches get pruned from the tree in a nested and predictable fashion, so obtaining the whole sequence of subtrees as a function of \( \alpha \) is easy. We can select a value of \( \alpha \) using a validation set or using cross-validation. We then return to the full data set and obtain the -subtree corresponding to \( \alpha \). -

    +subtree corresponding to \( \alpha \). +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs015.html b/doc/pub/week45/html/._week45-bs015.html index d2009c726..1ec7d6e61 100644 --- a/doc/pub/week45/html/._week45-bs015.html +++ b/doc/pub/week45/html/._week45-bs015.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Schematic Regression Procedure

    +

    Schematic Regression Procedure

    + +

    - +

    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    3. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    4. +
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      +
    5. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs016.html b/doc/pub/week45/html/._week45-bs016.html index bfabe467e..bb7d44c17 100644 --- a/doc/pub/week45/html/._week45-bs016.html +++ b/doc/pub/week45/html/._week45-bs016.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    A Classification Tree

    -

    A classification tree is very similar to a regression tree, except +

    A Classification Tree

    + +

    +A classification tree is very similar to a regression tree, except that it is used to predict a qualitative response rather than a quantitative one. Recall that for a regression tree, the predicted response for an observation is given by the mean response of the @@ -404,9 +327,9 @@ in the region to which it belongs. In interpreting the results of a classification tree, we are often interested not only in the class prediction corresponding to a particular terminal node region, but also in the class proportions among the training observations that -fall into that region. -

    +fall into that region. +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs017.html b/doc/pub/week45/html/._week45-bs017.html index 9ff761564..3d648e5c0 100644 --- a/doc/pub/week45/html/._week45-bs017.html +++ b/doc/pub/week45/html/._week45-bs017.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Growing a classification tree

    -

    The task of growing a +

    Growing a classification tree

    + +

    +The task of growing a classification tree is quite similar to the task of growing a regression tree. Just as in the regression setting, we use recursive binary splitting to grow a classification tree. However, in the @@ -403,15 +326,15 @@ error rate. Since we plan to assign an observation in a given region to the most commonly occurring error rate class of training observations in that region, the classification error rate is simply the fraction of the training observations in that region that do not -belong to the most common class. -

    +belong to the most common class. -

    When building a classification tree, either the Gini index or the +

    +When building a classification tree, either the Gini index or the entropy are typically used to evaluate the quality of a particular split, since these two approaches are more sensitive to node purity -than is the classification error rate. -

    +than is the classification error rate. +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs018.html b/doc/pub/week45/html/._week45-bs018.html index 91a4949b7..ef7dfc4e8 100644 --- a/doc/pub/week45/html/._week45-bs018.html +++ b/doc/pub/week45/html/._week45-bs018.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Classification tree, how to split nodes

    -

    If our targets are the outcome of a classification process that takes +

    Classification tree, how to split nodes

    + +

    +If our targets are the outcome of a classification process that takes for example \( k=1,2,\dots,K \) values, the only thing we need to think of is to set up the splitting criteria for each node. -

    -

    We define a PDF \( p_{mk} \) that represents the number of observations of +

    +We define a PDF \( p_{mk} \) that represents the number of observations of a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent this likelihood function in terms of the proportion \( I(y_i=k) \) of observations of this class in the region \( R_m \) as -

    $$ p_{mk} = \frac{1}{N_m}\sum_{i\in R_m}I(y_i=k). $$ -

    We let \( p_{mk} \) represent the majority class of observations in region +

    +We let \( p_{mk} \) represent the majority class of observations in region \( m \). The three most common ways of splitting a node are given by -

    + $$ \frac{1}{N_m}\sum_{i\in R_m}I(y_i\ne k) = 1-p_{mk}. $$ + + $$ g = \sum_{k\ne k'} p_{mk}p_{mk'}=\sum_{k=1}^K p_{mk}(1-p_{mk}). $$ + + $$ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. $$ - +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs019.html b/doc/pub/week45/html/._week45-bs019.html index 9cf90fe45..726a31a39 100644 --- a/doc/pub/week45/html/._week45-bs019.html +++ b/doc/pub/week45/html/._week45-bs019.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Gini Index (or Coefficient or Impurity)

    -

    The Gini index \( g \) gives us the degree of probability of a specific +

    Gini Index (or Coefficient or Impurity)

    + +

    +The Gini index \( g \) gives us the degree of probability of a specific variable that is wrongly classified. -

    -

    It takes values \( g \in [0,1] \),

    +

    +It takes values \( g \in [0,1] \), +

    1. \( g=0 \) means a pure case where all elements belong to one class only.
    2. A value \( g=1 \) means that all elements are randomly distributed across various classes.
    3. A value \( g=0.5 \) means that the elements in a node are uniformly distributed across classes.
    -

    It favors binary splitting.

    +It favors binary splitting. + +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs020.html b/doc/pub/week45/html/._week45-bs020.html index e8cfabfaf..108f8bf3a 100644 --- a/doc/pub/week45/html/._week45-bs020.html +++ b/doc/pub/week45/html/._week45-bs020.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Why binary splits?

    -

    It is custom to split to a tree uising binary splits. The reason is +

    Why binary splits?

    + +

    +It is custom to split to a tree uising binary splits. The reason is that multiway splits fragment the data too quickly, leaving insufficient data at the next level down. Multiway splits can be achieved by a series of binary split and this is normally preferred. -

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs021.html b/doc/pub/week45/html/._week45-bs021.html index 446666575..f6c5ebf52 100644 --- a/doc/pub/week45/html/._week45-bs021.html +++ b/doc/pub/week45/html/._week45-bs021.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Computing a Tree using the Gini Index

    -

    Consider the following example with attributes/features and two +

    Computing a Tree using the Gini Index

    + +

    +Consider the following example with attributes/features and two possible outcomes (classes) for each attribute. Assume we wish to find some correlations between the average grade of a student as function of the number of hours studied and hours slept. We want also to correlate the grade in a given course with the general trend, whether the students recently has gotten grades below average or above. -

    -

    We have three features/attributes

    +

    +We have three features/attributes +

    1. Trend of average grades before present course, classified as either below or above the average grade of the whole class
    2. The number of hours studies, classified again as either higher (more than 3 hours per day) or lower . Here we have used a standard for one \( ECTS \) which is scaled to 25-30 hours of work for a semester which lasts 18 weeks, with 15 weeks of lectures and 3 weeks for exams, assuming a total of 30 ECTS per semester.
    3. The number of hours slept as high for more than \( 8 \) hours and below for less than 8 hours of sleep, classified again as either high or low
    4. The final grade whether it is above or below average
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs022.html b/doc/pub/week45/html/._week45-bs022.html index f78ceea8b..b5c665efb 100644 --- a/doc/pub/week45/html/._week45-bs022.html +++ b/doc/pub/week45/html/._week45-bs022.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    The Table

    + +

    The Table

    + +

    - +
    @@ -414,7 +338,7 @@ MathJax.Hub.Config({
    Grade Trend Hours slept Hours Studied Grade
    - +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs023.html b/doc/pub/week45/html/._week45-bs023.html index 0017eee72..c5ff76402 100644 --- a/doc/pub/week45/html/._week45-bs023.html +++ b/doc/pub/week45/html/._week45-bs023.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Computing the various Gini Indices

    -

    In computations we will translate all classes into numbers. Being +

    Computing the various Gini Indices

    + +

    +In computations we will translate all classes into numbers. Being these binary classes, they can easily be split into ones and zeros. -

    +

    - -

    See handwritten notes for Thursday November 11

    +

    +See handwritten notes for Thursday November 11

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs024.html b/doc/pub/week45/html/._week45-bs024.html index 77b337b16..121f93c24 100644 --- a/doc/pub/week45/html/._week45-bs024.html +++ b/doc/pub/week45/html/._week45-bs024.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Computing the various Gini Indices, Hours slept

    +

    Computing the various Gini Indices, Hours slept

    + +

    - -

    See handwritten notes for Thursday November 11

    +

    +See handwritten notes for Thursday November 11

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs025.html b/doc/pub/week45/html/._week45-bs025.html index 23a2909ec..63cc1f7fe 100644 --- a/doc/pub/week45/html/._week45-bs025.html +++ b/doc/pub/week45/html/._week45-bs025.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Computing the various Gini Indices, Hours studied

    +

    Computing the various Gini Indices, Hours studied

    + +

    - -

    See handwritten notes for Thursday November 11

    +

    +See handwritten notes for Thursday November 11

    -

    For final tree, see the above handwritten notes

    +

    +For final tree, see the above handwritten notes +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs026.html b/doc/pub/week45/html/._week45-bs026.html index fa9dc631c..5c73f6d99 100644 --- a/doc/pub/week45/html/._week45-bs026.html +++ b/doc/pub/week45/html/._week45-bs026.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    A possible code using Scikit-Learn

    +

    A possible code using Scikit-Learn

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -467,22 +385,8 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/grade.dot -o DataFiles/grades.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs027.html b/doc/pub/week45/html/._week45-bs027.html index fe7872523..8f0758db4 100644 --- a/doc/pub/week45/html/._week45-bs027.html +++ b/doc/pub/week45/html/._week45-bs027.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Visualizing Trees, More examples

    + +

    Visualizing Trees, More examples

    +

    -

    -
    -
    -
    -
    -
    import os
    +
    import os
     from sklearn.datasets import load_breast_cancer
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.model_selection import train_test_split
    @@ -432,22 +350,8 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs028.html b/doc/pub/week45/html/._week45-bs028.html index 30bf163d3..c581505c6 100644 --- a/doc/pub/week45/html/._week45-bs028.html +++ b/doc/pub/week45/html/._week45-bs028.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Visualizing the Tree, The Moons

    + +

    Visualizing the Tree, The Moons

    +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.tree import DecisionTreeClassifier
    @@ -423,22 +341,8 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs029.html b/doc/pub/week45/html/._week45-bs029.html index 05c540319..c46ac0f08 100644 --- a/doc/pub/week45/html/._week45-bs029.html +++ b/doc/pub/week45/html/._week45-bs029.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Other ways of visualizing the trees

    -

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    +

    Other ways of visualizing the trees

    +

    +Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data. + +

    -

    -
    -
    -
    -
    -
    from sklearn.datasets import load_iris
    +
    from sklearn.datasets import load_iris
     from sklearn import tree
     X, y = load_iris(return_X_y=True)
     tree_clf = tree.DecisionTreeClassifier()
     tree_clf = tree_clf.fit(X, y)
     # and then plot the tree
     tree.plot_tree(tree_clf) 
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs030.html b/doc/pub/week45/html/._week45-bs030.html index c4b42d0a1..b9c15c4bb 100644 --- a/doc/pub/week45/html/._week45-bs030.html +++ b/doc/pub/week45/html/._week45-bs030.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Printing out as text

    -

    Alternatively, the tree can also be exported in textual format with the function exporttext. +

    Printing out as text

    + +

    +Alternatively, the tree can also be exported in textual format with the function exporttext. This method doesn’t require the installation of external libraries and is more compact: -

    +

    -

    -
    -
    -
    -
    -
    from sklearn.datasets import load_iris
    +
    from sklearn.datasets import load_iris
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.tree import export_text
     iris = load_iris()
    @@ -412,22 +330,8 @@ decision_tree = DecisionTreeClassifier(rando
     decision_tree = decision_tree.fit(iris.data, iris.target)
     r = export_text(decision_tree, feature_names=iris['feature_names'])
     print(r)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs031.html b/doc/pub/week45/html/._week45-bs031.html index fac19847c..ef5a3a6b2 100644 --- a/doc/pub/week45/html/._week45-bs031.html +++ b/doc/pub/week45/html/._week45-bs031.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Algorithms for Setting up Decision Trees

    -

    Two algorithms stand out in the set up of decision trees:

    +

    Algorithms for Setting up Decision Trees

    + +

    +Two algorithms stand out in the set up of decision trees: +

    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. The ID3 algorithm based on the computation of the information gain for classification
    -

    We discuss both algorithms with applications here. The popular library + +We discuss both algorithms with applications here. The popular library Scikit-Learn uses the CART algorithm. For classification problems you can use either the gini index or the entropy to split a tree in two branches. -

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs032.html b/doc/pub/week45/html/._week45-bs032.html index 97c060217..c00bfa723 100644 --- a/doc/pub/week45/html/._week45-bs032.html +++ b/doc/pub/week45/html/._week45-bs032.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    The CART algorithm for Classification

    -

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +

    The CART algorithm for Classification

    + +

    +For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). This could be for example a threshold set by a number below a certain circumference of a malign tumor. -

    -

    How do we find these two quantities? +

    +How do we find these two quantities? We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). The cost function it tries to minimize is then -

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, $$ -

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) +where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) is the number of instances in the left/right subset -

    -

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +

    +Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the \( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), \( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). -

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs033.html b/doc/pub/week45/html/._week45-bs033.html index 1ce0995b5..bbc14d948 100644 --- a/doc/pub/week45/html/._week45-bs033.html +++ b/doc/pub/week45/html/._week45-bs033.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    The CART algorithm for Regression

    -

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +

    The CART algorithm for Regression

    + +

    +The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now -

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. $$ -

    Here the MSE for a specific node is defined as

    +Here the MSE for a specific node is defined as $$ \mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, $$ -

    with

    +with $$ \overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, $$ -

    the mean value of all observations in a specific node.

    +the mean value of all observations in a specific node. -

    Without any regularization, the regression task for decision trees, +

    +Without any regularization, the regression task for decision trees, just like for classification tasks, is prone to overfitting. -

    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs034.html b/doc/pub/week45/html/._week45-bs034.html index b9ca0528d..c11d4ae99 100644 --- a/doc/pub/week45/html/._week45-bs034.html +++ b/doc/pub/week45/html/._week45-bs034.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Computing the Gini index

    -

    The example we will look at is a classical one in many Machine +

    Computing the Gini index

    + +

    +The example we will look at is a classical one in many Machine Learning applications. Based on various meteorological features, we have several so-called attributes which decide whether we at the end will do some outdoor activity like skiing, going for a bike ride etc @@ -403,12 +326,13 @@ etc. The table here contains the feautures outlook, temperature, attributes for each feature are then sunny, overcast and rain for the outlook, hot, cold and mild for temperature, high and normal for humidity and weak and strong for wind. -

    -

    The table here summarizes the various attributes and

    +

    +The table here summarizes the various attributes and +

    - +
    @@ -431,7 +355,7 @@ humidity and weak and strong for wind.
    Day Outlook Temperature Humidity Wind Ride
    - +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs035.html b/doc/pub/week45/html/._week45-bs035.html index d834fc2e5..d59952b30 100644 --- a/doc/pub/week45/html/._week45-bs035.html +++ b/doc/pub/week45/html/._week45-bs035.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Simple Python Code to read in Data and perform Classification

    +

    Simple Python Code to read in Data and perform Classification

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -467,22 +385,8 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs036.html b/doc/pub/week45/html/._week45-bs036.html index d704ceffe..f710c35d0 100644 --- a/doc/pub/week45/html/._week45-bs036.html +++ b/doc/pub/week45/html/._week45-bs036.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Computing the Gini Factor

    -

    The above functions (gini, entropy and misclassification error) are +

    Computing the Gini Factor

    + +

    +The above functions (gini, entropy and misclassification error) are important components of the so-called CART algorithm. We will discuss this algorithm below after we have discussed the information gain algorithm ID3. -

    -

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    +

    +In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc. +

    -

    -
    -
    -
    -
    -
    # Split a dataset based on an attribute and an attribute value
    +
    # Split a dataset based on an attribute and an attribute value
     def test_split(index, value, dataset):
     	left, right = list(), list()
     	for row in dataset:
    @@ -468,22 +387,8 @@ dataset = [[0= get_split(dataset)
     print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs037.html b/doc/pub/week45/html/._week45-bs037.html index 8e9de3ab8..c68f6235a 100644 --- a/doc/pub/week45/html/._week45-bs037.html +++ b/doc/pub/week45/html/._week45-bs037.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Entropy and the ID3 algorithm

    -

    The ID3 algorithm learns decision trees by constructing +

    Entropy and the ID3 algorithm

    + +

    +The ID3 algorithm learns decision trees by constructing them in a top down way, beginning with the question which attribute should be tested at the root of the tree? -

    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. @@ -405,24 +327,26 @@ them in a top down way, beginning with the question which attribute should be
    3. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    4. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    -

    The ID3 algorithm selects which attribute to test at each node in the + +The ID3 algorithm selects which attribute to test at each node in the tree. -

    -

    We would like to select the attribute that is most useful for classifying +

    +We would like to select the attribute that is most useful for classifying examples. -

    -

    What is a good quantitative measure of the worth of an attribute?

    +

    +What is a good quantitative measure of the worth of an attribute? -

    Information gain measures how well a given attribute separates the +

    +Information gain measures how well a given attribute separates the training examples according to their target classification. -

    -

    The ID3 algorithm uses this information gain measure to select among the candidate +

    +The ID3 algorithm uses this information gain measure to select among the candidate attributes at each step while growing the tree. -

    +

      @@ -452,18 +376,25 @@ attributes at each step while growing the tree.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs038.html b/doc/pub/week45/html/._week45-bs038.html index 43f7a5b2d..c2ae0e78c 100644 --- a/doc/pub/week45/html/._week45-bs038.html +++ b/doc/pub/week45/html/._week45-bs038.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Cancer Data again now with Decision Trees and other Methods

    + +

    Cancer Data again now with Decision Trees and other Methods

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -440,22 +358,8 @@ svm.fit(X_train_scaled, y_train)
     # Decision Trees
     deep_tree_clf.fit(X_train_scaled, y_train)
     print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -485,18 +389,25 @@ deep_tree_clf.fit(X_train_scaled, y_train)
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs039.html b/doc/pub/week45/html/._week45-bs039.html index 438a5bf3d..7021d9ca6 100644 --- a/doc/pub/week45/html/._week45-bs039.html +++ b/doc/pub/week45/html/._week45-bs039.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Another example, the moons again

    + +

    Another example, the moons again

    +

    -

    -
    -
    -
    -
    -
    from __future__ import division, print_function, unicode_literals
    +
    from __future__ import division, print_function, unicode_literals
     
     # Common imports
     import numpy as np
    @@ -463,22 +381,8 @@ plt.subplot(122
     plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
     plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -508,18 +412,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs040.html b/doc/pub/week45/html/._week45-bs040.html index 6799500af..9339cd068 100644 --- a/doc/pub/week45/html/._week45-bs040.html +++ b/doc/pub/week45/html/._week45-bs040.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Playing around with regions

    + +

    Playing around with regions

    +

    -

    -
    -
    -
    -
    -
    np.random.seed(6)
    +
    np.random.seed(6)
     Xs = np.random.rand(100, 2) - 0.5
     ys = (Xs[:, 0] > 0).astype(np.float32) * 2
     
    @@ -419,22 +337,8 @@ plt.subplot(122
     plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -464,18 +368,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs041.html b/doc/pub/week45/html/._week45-bs041.html index b25099b5c..5689be618 100644 --- a/doc/pub/week45/html/._week45-bs041.html +++ b/doc/pub/week45/html/._week45-bs041.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Regression trees

    + +

    Regression trees

    +

    -

    -
    -
    -
    -
    -
    # Quadratic training set + noise
    +
    # Quadratic training set + noise
     np.random.seed(42)
     m = 200
     X = np.random.rand(m, 1)
     y = 4 * (X - 0.5) ** 2
     y = y + np.random.randn(m, 1) / 10
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
     tree_reg.fit(X, y)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -473,18 +362,25 @@ tree_reg.fit(X, y)
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs042.html b/doc/pub/week45/html/._week45-bs042.html index 5547d35c9..e3a962cc8 100644 --- a/doc/pub/week45/html/._week45-bs042.html +++ b/doc/pub/week45/html/._week45-bs042.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Final regressor code

    + +

    Final regressor code

    +

    -

    -
    -
    -
    -
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
     tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    @@ -437,26 +355,11 @@ plt.text(0.3.title("max_depth=3", fontsize=14)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
     tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
     tree_reg1.fit(X, y)
     tree_reg2.fit(X, y)
    @@ -484,22 +387,8 @@ plt.xlabel(&quo
     plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -529,18 +418,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs043.html b/doc/pub/week45/html/._week45-bs043.html index cf03d8c4f..34e7bc1a6 100644 --- a/doc/pub/week45/html/._week45-bs043.html +++ b/doc/pub/week45/html/._week45-bs043.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Pros and cons of trees, pros

    + +

    Pros and cons of trees, pros

    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • @@ -402,6 +324,7 @@ MathJax.Hub.Config({
    • Can model interactions between the different descriptive features
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    +

      @@ -431,18 +354,25 @@ MathJax.Hub.Config({
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs044.html b/doc/pub/week45/html/._week45-bs044.html index fc1bef8a3..58531463d 100644 --- a/doc/pub/week45/html/._week45-bs044.html +++ b/doc/pub/week45/html/._week45-bs044.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Disadvantages

    + +

    Disadvantages

    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • @@ -402,11 +324,12 @@ MathJax.Hub.Config({
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    -

    However, by aggregating many decision trees, using methods like + +However, by aggregating many decision trees, using methods like bagging, random forests, and boosting, the predictive performance of trees can be substantially improved. -

    +

      @@ -436,18 +359,25 @@ trees can be substantially improved.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs045.html b/doc/pub/week45/html/._week45-bs045.html index 7e5da7ce7..7d99bef41 100644 --- a/doc/pub/week45/html/._week45-bs045.html +++ b/doc/pub/week45/html/._week45-bs045.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    -

    As stated above and seen in many of the examples discussed here about +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    + +

    +As stated above and seen in many of the examples discussed here about a single decision tree, we often end up overfitting our training data. This normally means that we have a high variance. Can we reduce the variance of a statistical learning method? -

    -

    This leads us to a set of different methods that can combine different +

    +This leads us to a set of different methods that can combine different machine learning algorithms or just use one of them to construct forests and jungles of trees, homogeneous ones or heterogenous ones. These methods are recognized by different names which we will try to explain here. These are -

    1. Voting classifiers
    2. @@ -412,8 +334,10 @@ try to explain here. These are
    3. Random forests
    4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    -

    We discuss these methods here.

    +We discuss these methods here. + +

      @@ -443,18 +367,25 @@ try to explain here. These are
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs046.html b/doc/pub/week45/html/._week45-bs046.html index 654698428..f49d3fe2c 100644 --- a/doc/pub/week45/html/._week45-bs046.html +++ b/doc/pub/week45/html/._week45-bs046.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    An Overview of Ensemble Methods

    -

    -
    -

    -
    -

    +

    An Overview of Ensemble Methods

    +

    +



    + +

      @@ -428,18 +348,25 @@ MathJax.Hub.Config({
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs047.html b/doc/pub/week45/html/._week45-bs047.html index 5e9725d9f..4a4ff3992 100644 --- a/doc/pub/week45/html/._week45-bs047.html +++ b/doc/pub/week45/html/._week45-bs047.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Bagging

    -

    The plain decision trees suffer from high +

    Bagging

    + +

    +The plain decision trees suffer from high variance. This means that if we split the training data into two parts at random, and fit a decision tree to both halves, the results that we get could be quite different. In contrast, a procedure with low variance will yield similar results if applied repeatedly to distinct data sets; linear regression tends to have low variance, if the ratio -of \( n \) to \( p \) is moderately large. -

    +of \( n \) to \( p \) is moderately large. -

    Bootstrap aggregation, or just bagging, is a +

    +Bootstrap aggregation, or just bagging, is a general-purpose procedure for reducing the variance of a statistical -learning method. -

    +learning method. +

      @@ -436,18 +359,25 @@ learning method.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs048.html b/doc/pub/week45/html/._week45-bs048.html index 9d05897ca..878656ea4 100644 --- a/doc/pub/week45/html/._week45-bs048.html +++ b/doc/pub/week45/html/._week45-bs048.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    More bagging

    -

    Bagging typically results in improved accuracy +

    More bagging

    + +

    +Bagging typically results in improved accuracy over prediction using a single tree. Unfortunately, however, it can be difficult to interpret the resulting model. Recall that one of the advantages of decision trees is the attractive and easily interpreted diagram that results. -

    -

    However, when we bag a large number of trees, it is no longer +

    +However, when we bag a large number of trees, it is no longer possible to represent the resulting statistical learning procedure using a single tree, and it is no longer clear which variables are most important to the procedure. Thus, bagging improves prediction @@ -415,8 +338,8 @@ trees. A large value indicates an important predictor. Similarly, in the context of bagging classification trees, we can add up the total amount that the Gini index is decreased by splits over a given predictor, averaged over all \( B \) trees. -

    +

      @@ -446,18 +369,25 @@ predictor, averaged over all \( B \) trees.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs049.html b/doc/pub/week45/html/._week45-bs049.html index 0e7964635..b95738ba6 100644 --- a/doc/pub/week45/html/._week45-bs049.html +++ b/doc/pub/week45/html/._week45-bs049.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    -

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    + +

    +Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.pipeline import make_pipeline
    @@ -454,22 +372,8 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("baggingboot")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -499,18 +403,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs050.html b/doc/pub/week45/html/._week45-bs050.html index 746f86b38..ff2263d30 100644 --- a/doc/pub/week45/html/._week45-bs050.html +++ b/doc/pub/week45/html/._week45-bs050.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Why Voting?

    -

    The idea behind boosting, and voting as well can be phrased as follows: +

    Why Voting?

    + +

    +The idea behind boosting, and voting as well can be phrased as follows: Can a group of people somehow arrive at highly reasoned decisions, despite the weak judgement of the individual members? -

    -

    The aim is to create a good classifier by combining several weak classifiers. +

    +The aim is to create a good classifier by combining several weak classifiers. A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random. -

    -

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. +

    +The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in -each iteration. -

    +each iteration. -

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    +

    +Decision trees play an important role as our weak classifier. They serve as the basic method. +

      @@ -439,18 +363,25 @@ each iteration.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs051.html b/doc/pub/week45/html/._week45-bs051.html index edee3cf62..f9bcbdbad 100644 --- a/doc/pub/week45/html/._week45-bs051.html +++ b/doc/pub/week45/html/._week45-bs051.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Tossing coins

    -

    The simplest case is a so-called voting ensemble. To illustrate this, +

    Tossing coins

    + +

    +The simplest case is a so-called voting ensemble. To illustrate this, think of yourself tossing coins with a biased outcome of 51 per cent for heads and 49% for tails. With only few tosses, you may not clearly see this distribution for heads and tails. However, after some thousands of tosses, there will be a clear majority of heads. With 2000 tosses you should see approximately 1020 heads and 980 tails. -

    -

    We can then state that the outcome is a clear majority of heads. If +

    +We can then state that the outcome is a clear majority of heads. If you do this ten thousand times, it is easy to see that there is a 97% likelihood of a majority of heads. -

    -

    Another example would be to collect all polls before an +

    +Another example would be to collect all polls before an election. Different polls may show different likelihoods for a candidate winning with say a majority of the popular vote. The majority vote would then consist in many polls indicating that this candidate will actually win. -

    -

    The example here shows how we can implement the coin tossing case, +

    +The example here shows how we can implement the coin tossing case, clealry demostrating that after some tosses we see the law of large numbers kicking in. -

    +

      @@ -447,18 +370,25 @@ numbers kicking in.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs052.html b/doc/pub/week45/html/._week45-bs052.html index 482065ccc..8dda82166 100644 --- a/doc/pub/week45/html/._week45-bs052.html +++ b/doc/pub/week45/html/._week45-bs052.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Standard imports first

    +

    Standard imports first

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -437,22 +355,8 @@ DATA_ID = "
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -482,18 +386,25 @@ DATA_ID = "
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs053.html b/doc/pub/week45/html/._week45-bs053.html index 45769e468..9e9e47705 100644 --- a/doc/pub/week45/html/._week45-bs053.html +++ b/doc/pub/week45/html/._week45-bs053.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Simple Voting Example, head or tail

    + +

    Simple Voting Example, head or tail

    +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -421,22 +339,8 @@ plt.legend(loc=
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -466,18 +370,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs054.html b/doc/pub/week45/html/._week45-bs054.html index 0164fb968..a03e2e31d 100644 --- a/doc/pub/week45/html/._week45-bs054.html +++ b/doc/pub/week45/html/._week45-bs054.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Using the Voting Classifier

    -

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    +

    Using the Voting Classifier

    + +

    +We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn. +

    -

    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -443,22 +362,8 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -488,18 +393,25 @@ voting_clf.fit(X_train, y_train)
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs055.html b/doc/pub/week45/html/._week45-bs055.html index dc1ef998b..be6d4888b 100644 --- a/doc/pub/week45/html/._week45-bs055.html +++ b/doc/pub/week45/html/._week45-bs055.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Voting and Bagging

    +

    Voting and Bagging

    + +

    -

    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -418,51 +336,21 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='hard')
     voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -470,47 +358,18 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -540,18 +399,25 @@ voting_clf.fit(X_train, y_train)
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs056.html b/doc/pub/week45/html/._week45-bs056.html index 7f069046d..e1a1509c0 100644 --- a/doc/pub/week45/html/._week45-bs056.html +++ b/doc/pub/week45/html/._week45-bs056.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Random forests

    -

    Random forests provide an improvement over bagged trees by way of a -small tweak that decorrelates the trees. -

    +

    Random forests

    -

    As in bagging, we build a +

    +Random forests provide an improvement over bagged trees by way of a +small tweak that decorrelates the trees. + +

    +As in bagging, we build a number of decision trees on bootstrapped training samples. But when building these decision trees, each time a split in a tree is considered, a random sample of \( m \) predictors is chosen as split candidates from the full set of \( p \) predictors. The split is allowed to -use only one of those \( m \) predictors. -

    +use only one of those \( m \) predictors. -

    A fresh sample of \( m \) predictors is +

    +A fresh sample of \( m \) predictors is taken at each split, and typically we choose -

    $$ m\approx \sqrt{p}. $$ -

    In building a random forest, at +

    +In building a random forest, at each split in the tree, the algorithm is not even allowed to consider -a majority of the available predictors. -

    +a majority of the available predictors. -

    The reason for this is rather clever. Suppose that there is one very +

    +The reason for this is rather clever. Suppose that there is one very strong predictor in the data set, along with a number of other moderately strong predictors. Then in the collection of bagged variable importance random forest trees, most or all of the trees will @@ -430,8 +353,8 @@ lead to as large of a reduction in variance as averaging many uncorrelated quantities. In particular, this means that bagging will not lead to a substantial reduction in variance over a single tree in this setting. -

    +

      @@ -461,18 +384,25 @@ this setting.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs057.html b/doc/pub/week45/html/._week45-bs057.html index cb0021b6f..6ad783b5c 100644 --- a/doc/pub/week45/html/._week45-bs057.html +++ b/doc/pub/week45/html/._week45-bs057.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Random Forest Algorithm

    -

    The algorithm described here can be applied to both classification and regression problems.

    -

    We will grow of forest of say \( B \) trees.

    +

    Random Forest Algorithm

    +The algorithm described here can be applied to both classification and regression problems. + +

    +We will grow of forest of say \( B \) trees. +

    1. For \( b=1:B \)
    2. +
      • Draw a bootstrap sample from the training data organized in our \( \boldsymbol{X} \) matrix.
      • We grow then a random forest tree \( T_b \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • +
        1. we select \( m \le p \) variables at random from the \( p \) predictors/features
        2. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        +
      +
    3. Output then the ensemble of trees \( \{T_b\}_1^{B} \) and make predictions for either a regression type of problem or a classification type of problem.
    +

      @@ -437,18 +366,25 @@ MathJax.Hub.Config({
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs058.html b/doc/pub/week45/html/._week45-bs058.html index 40dd5f841..9efaf5668 100644 --- a/doc/pub/week45/html/._week45-bs058.html +++ b/doc/pub/week45/html/._week45-bs058.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Random Forests Compared with other Methods on the Cancer Data

    + +

    Random Forests Compared with other Methods on the Cancer Data

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -465,31 +383,18 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -

    Recall that the cumulative gains curve shows the percentage of the +

    +

    +Recall that the cumulative gains curve shows the percentage of the overall number of cases in a given category gained by targeting a percentage of the total number of cases. -

    -

    Similarly, the receiver operating characteristic curve, or ROC curve, +

    +Similarly, the receiver operating characteristic curve, or ROC curve, displays the diagnostic ability of a binary classifier system as its discrimination threshold is varied. It plots the true positive rate against the false positive rate. -

    +

      @@ -519,18 +424,25 @@ discrimination threshold is varied. It plots the true positive rate against the
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs059.html b/doc/pub/week45/html/._week45-bs059.html index fbcbd02ed..df89c7a1d 100644 --- a/doc/pub/week45/html/._week45-bs059.html +++ b/doc/pub/week45/html/._week45-bs059.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Compare Bagging on Trees with Random Forests

    + +

    Compare Bagging on Trees with Random Forests

    +

    -

    -
    -
    -
    -
    -
    bag_clf = BaggingClassifier(
    +
    bag_clf = BaggingClassifier(
         DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
         n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    bag_clf.fit(X_train, y_train)
    +
    bag_clf.fit(X_train, y_train)
     y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
     rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
     rnd_clf.fit(X_train, y_train)
     y_pred_rf = rnd_clf.predict(X_test)
     np.sum(y_pred == y_pred_rf) / len(y_pred) 
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -473,18 +362,25 @@ np.sum(y_pred =
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs060.html b/doc/pub/week45/html/._week45-bs060.html index a56cad14d..b3b184b9e 100644 --- a/doc/pub/week45/html/._week45-bs060.html +++ b/doc/pub/week45/html/._week45-bs060.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + +
    +
    +

     

     

     

    + -

    Boosting, a Bird's Eye View

    -

    The basic idea is to combine weak classifiers in order to create a good +

    Boosting, a Bird's Eye View

    + +

    +The basic idea is to combine weak classifiers in order to create a good classifier. With a weak classifier we often intend a classifier which produces results which are only slightly better than we would get by random guesses. -

    -

    This is done by applying in an iterative way a weak (or a standard +

    +This is done by applying in an iterative way a weak (or a standard classifier like decision trees) to modify the data. In each iteration we emphasize those observations which are misclassified by weighting them with a factor. -

    +

      @@ -434,18 +357,25 @@ them with a factor.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs061.html b/doc/pub/week45/html/._week45-bs061.html index 7687916d9..1406ec497 100644 --- a/doc/pub/week45/html/._week45-bs061.html +++ b/doc/pub/week45/html/._week45-bs061.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    What is boosting? Additive Modelling/Iterative Fitting

    -

    Boosting is a way of fitting an additive expansion in a set of +

    What is boosting? Additive Modelling/Iterative Fitting

    + +

    +Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function -

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    where \( \beta_m \) are the expansion parameters to be determined in a +

    +where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). -

    -

    As an example, consider the Sigmoid function we used in logistic +

    +As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function -

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    +where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. -

    -

    As another example, consider the cost function we defined for linear regression

    +

    +As another example, consider the cost function we defined for linear regression $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    In this case the function \( f(x) \) was replaced by the design matrix +

    +In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by -

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    +

    +In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +

      @@ -467,18 +392,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs062.html b/doc/pub/week45/html/._week45-bs062.html index c59f6d1fa..33e806ee1 100644 --- a/doc/pub/week45/html/._week45-bs062.html +++ b/doc/pub/week45/html/._week45-bs062.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    +

    Iterative Fitting, Regression and Squared-error Cost Function

    + +

    +The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) +
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      +
    -

    We could use any of the algorithms we have discussed till now. If we + +We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. -

    +

      @@ -439,18 +365,25 @@ at the internal nodes, and the predictions at the terminal nodes.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs063.html b/doc/pub/week45/html/._week45-bs063.html index e98cee2b2..101af800e 100644 --- a/doc/pub/week45/html/._week45-bs063.html +++ b/doc/pub/week45/html/._week45-bs063.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Squared-Error Example and Iterative Fitting

    -

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    +

    Squared-Error Example and Iterative Fitting

    -

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    +

    +To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. -

    This means that for every iteration \( m \), we need to optimize

    +

    +For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). + +

    +This means that for every iteration \( m \), we need to optimize $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    We start our iteration by simply setting \( f_0(x)=0 \). +

    +We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain -

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -

    and

    +and $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    +We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    +which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. -

    +

    +which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. -

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). -

    +

    +The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

      @@ -462,18 +388,25 @@ for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equa
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs064.html b/doc/pub/week45/html/._week45-bs064.html index de19e60b3..be7b6b11c 100644 --- a/doc/pub/week45/html/._week45-bs064.html +++ b/doc/pub/week45/html/._week45-bs064.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Iterative Fitting, Classification and AdaBoost

    -

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Iterative Fitting, Classification and AdaBoost

    + +

    +Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). -

    -

    The error rate of the training sample is then

    +

    +The error rate of the training sample is then $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    The iterative procedure starts with defining a weak classifier whose +

    +The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). -

    -

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    +

    +Here we will express our function \( f(x) \) in terms of \( G(x) \). That is $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    will be a function of

    +will be a function of $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ - +

      @@ -451,18 +375,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs065.html b/doc/pub/week45/html/._week45-bs065.html index 3ad6d17c8..7604fea82 100644 --- a/doc/pub/week45/html/._week45-bs065.html +++ b/doc/pub/week45/html/._week45-bs065.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Adaptive Boosting, AdaBoost

    -

    In our iterative procedure we define thus

    +

    Adaptive Boosting, AdaBoost

    + +

    +In our iterative procedure we define thus $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    +The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as -

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    +We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as -

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    +where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +

      @@ -444,18 +368,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs066.html b/doc/pub/week45/html/._week45-bs066.html index 82b471882..e90ad2d7f 100644 --- a/doc/pub/week45/html/._week45-bs066.html +++ b/doc/pub/week45/html/._week45-bs066.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Building up AdaBoost

    -

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    +

    Building up AdaBoost

    + +

    +First, for any \( \beta > 0 \), we optimize \( G \) by setting $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    +which is the classifier that minimizes the weighted error rate in predicting \( y \). -

    We can do this by rewriting

    +

    +We can do this by rewriting $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -

    which can be rewritten as

    +which can be rewritten as $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -

    which leads to

    +which leads to $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -

    where we have redefined the error as

    +where we have redefined the error as $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -

    which leads to an update of

    +which leads to an update of $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -

    This leads to the new weights

    +This leads to the new weights $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ - +

      @@ -460,18 +384,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs067.html b/doc/pub/week45/html/._week45-bs067.html index 8feb69494..0a059ff03 100644 --- a/doc/pub/week45/html/._week45-bs067.html +++ b/doc/pub/week45/html/._week45-bs067.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    The algorithm here is rather straightforward. Assume that our weak +

    Adaptive boosting: AdaBoost, Basic Algorithm

    + +

    +The algorithm here is rather straightforward. Assume that our weak classifier is a decision tree and we consider a binary set of outputs with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. Our design matrix is given in terms of the feature/predictor vectors \( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1}] \). Finally, we define also a -classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). -

    +classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). -

    We have already defined the misclassification error \( \mathrm{err} \) as

    +

    +We have already defined the misclassification error \( \mathrm{err} \) as $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    +where the function \( I() \) is one if we misclassify and zero if we classify correctly. +

      @@ -438,18 +362,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs068.html b/doc/pub/week45/html/._week45-bs068.html index 770b86b48..1d75e5d15 100644 --- a/doc/pub/week45/html/._week45-bs068.html +++ b/doc/pub/week45/html/._week45-bs068.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Basic Steps of AdaBoost

    -

    With the above definitions we are now ready to set up the algorithm for AdaBoost. +

    Basic Steps of AdaBoost

    + +

    +With the above definitions we are now ready to set up the algorithm for AdaBoost. The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. -

    +
    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    + $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ +
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. +
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      +
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    -

    For the iterations with \( m \le 2 \) the weights are modified + +For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. -

    +

      @@ -452,18 +380,25 @@ observations that are missed in the previous iterations.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs069.html b/doc/pub/week45/html/._week45-bs069.html index 46eb07359..8a992c2e9 100644 --- a/doc/pub/week45/html/._week45-bs069.html +++ b/doc/pub/week45/html/._week45-bs069.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    AdaBoost Examples

    -

    Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here.

    +

    AdaBoost Examples

    +

    +Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here. + +

    -

    -
    -
    -
    -
    -
    from sklearn.ensemble import AdaBoostClassifier
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -423,22 +342,8 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -466,18 +371,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs070.html b/doc/pub/week45/html/._week45-bs070.html index e523a9c78..e129fc405 100644 --- a/doc/pub/week45/html/._week45-bs070.html +++ b/doc/pub/week45/html/._week45-bs070.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    + +

    +Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. -

    -

    In order to understand the method, let us illustrate its basics by +

    +In order to understand the method, let us illustrate its basics by bringing back the essential steps in linear regression, where our cost function was the least squares function. -

    +

      @@ -429,18 +352,25 @@ function was the least squares function.
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs071.html b/doc/pub/week45/html/._week45-bs071.html index 75d9a0826..0e918baa2 100644 --- a/doc/pub/week45/html/._week45-bs071.html +++ b/doc/pub/week45/html/._week45-bs071.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    The Squared-Error again! Steepest Descent

    -

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    The Squared-Error again! Steepest Descent

    + +

    +We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize -

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    +

    +We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    +

    +In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    +With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). -

    -

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    +

    +Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ - +

      @@ -446,18 +371,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs072.html b/doc/pub/week45/html/._week45-bs072.html index 1dd1e1816..6ca85cc88 100644 --- a/doc/pub/week45/html/._week45-bs072.html +++ b/doc/pub/week45/html/._week45-bs072.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Steepest Descent Example

    -

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    +

    Steepest Descent Example

    + +

    +Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -

    We can then proceed and compute

    +We can then proceed and compute $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    +and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +

      @@ -429,18 +353,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs073.html b/doc/pub/week45/html/._week45-bs073.html index 77f000054..3ed5a4b47 100644 --- a/doc/pub/week45/html/._week45-bs073.html +++ b/doc/pub/week45/html/._week45-bs073.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Gradient Boosting, algorithm

    -

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Gradient Boosting, algorithm

    + +

    +Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. -

    +fitting a weak learner to approximate the negative gradient signal. -

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function

    +

    +Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    The way we proceed in an iterative fashion is to

    +

    +The way we proceed in an iterative fashion is to +

    1. Initialize our estimate \( f_0(x) \).
    2. For \( m=1:M \), we +
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at \( f(x) = f_{m-1}(x) \);
      2. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      3. update the estimate \( f_m(x) = f_{m-1}(x)+h_m(u_m,x) \);
      +
    3. The final estimate is then \( f_M(x) = \sum_{m=1}^M h_m(u_m,x) \).
    +

      @@ -437,18 +365,25 @@ $$
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs074.html b/doc/pub/week45/html/._week45-bs074.html index c5771590b..fef1961d2 100644 --- a/doc/pub/week45/html/._week45-bs074.html +++ b/doc/pub/week45/html/._week45-bs074.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Gradient Boosting, Examples of Regression

    + +

    Gradient Boosting, Examples of Regression

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    @@ -445,22 +363,8 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("gdregression")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -483,18 +387,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs075.html b/doc/pub/week45/html/._week45-bs075.html index 3c660d539..99e0a7595 100644 --- a/doc/pub/week45/html/._week45-bs075.html +++ b/doc/pub/week45/html/._week45-bs075.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Gradient Boosting, Classification Example

    + +

    Gradient Boosting, Classification Example

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -439,22 +357,8 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -476,18 +380,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs076.html b/doc/pub/week45/html/._week45-bs076.html index b543dd96f..cabb1c10b 100644 --- a/doc/pub/week45/html/._week45-bs076.html +++ b/doc/pub/week45/html/._week45-bs076.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost or Extreme Gradient +

    XGBoost: Extreme Gradient Boosting

    + +

    +XGBoost or Extreme Gradient Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many data science problems in a fast and accurate way. See the article by Chen and Guestrin. -

    -

    The authors design and build a highly scalable end-to-end tree +

    +The authors design and build a highly scalable end-to-end tree boosting system. It has a theoretically justified weighted quantile sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. -

    -

    It is now the algorithm which wins essentially all ML competitions!!!

    +

    +It is now the algorithm which wins essentially all ML competitions!!! +

      @@ -428,18 +352,25 @@ sketch for efficient proposal calculation. It introduces a novel sparsity-aware
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs077.html b/doc/pub/week45/html/._week45-bs077.html index 0a6233b53..1d38c90ae 100644 --- a/doc/pub/week45/html/._week45-bs077.html +++ b/doc/pub/week45/html/._week45-bs077.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Regression Case

    +

    Regression Case

    + +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    @@ -446,22 +364,8 @@ plt.plot(polydegree, bias, label.plot(polydegree, variance, label='Variance')
     plt.legend()
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +

      @@ -481,18 +385,25 @@ plt.show()
    • »
    +
    + + +
    + + + diff --git a/doc/pub/week45/html/._week45-bs078.html b/doc/pub/week45/html/._week45-bs078.html index 83e55f6a5..ebc6718b6 100644 --- a/doc/pub/week45/html/._week45-bs078.html +++ b/doc/pub/week45/html/._week45-bs078.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -

    Xgboost on the Cancer Data

    -

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    +

    Xgboost on the Cancer Data

    + +

    +As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -452,21 +371,8 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - +
    +

    @@ -485,18 +391,25 @@ plt.show()

  • 79
  • +
    + + +
    + + + diff --git a/doc/pub/week45/html/week45-bs.html b/doc/pub/week45/html/week45-bs.html index d7e0ee14e..6fb3409bc 100644 --- a/doc/pub/week45/html/week45-bs.html +++ b/doc/pub/week45/html/week45-bs.html @@ -1,28 +1,31 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + - + + + @@ -287,6 +202,8 @@ MathJax.Hub.Config({ + + +
    +

     

     

     

    + -
    -
    -

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    -
    + + +
    +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    + +

    +

    Morten Hjorth-Jensen [1, 2]
    - -
    -[1] Department of Physics, University of Oslo -
    -
    -[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University -
    -
    -
    -

    Nov 11, 2021

    -
    -
    +

    + + +

    [1] Department of Physics, University of Oslo
    +
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    +
    +

    +

    Nov 11, 2021

    +
    +

    Read »

    @@ -438,18 +360,25 @@ MathJax.Hub.Config({
  • »
  • +
    + + +
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    + + + diff --git a/doc/pub/week45/html/week45-reveal.html b/doc/pub/week45/html/week45-reveal.html index 762a6b33a..976909ff8 100644 --- a/doc/pub/week45/html/week45-reveal.html +++ b/doc/pub/week45/html/week45-reveal.html @@ -1,18 +1,19 @@ - - - + - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + + + + + + + @@ -54,81 +55,36 @@ document.getElementsByTagName( 'head' )[0].appendChild( link ); + + + @@ -314,38 +222,49 @@ MathJax.Hub.Config({ - -
    -

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    -
    + + + + + +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    + +

    +

    Morten Hjorth-Jensen [1, 2]
    - -
    -[1] Department of Physics, University of Oslo -
    -
    -[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University -
    -
    -
    -

    Nov 11, 2021

    -
    -
    +

    + + +

    [1] Department of Physics, University of Oslo
    +
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    +
    +

    +

    Nov 11, 2021

    +
    +











    -

    Overview of week 45

    + +

    Overview of week 45

    • Thursday: Basics of Decision Trees, Bagging and Voting
    • + + +
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    +
    -Videos +Videos.

    +

    1. Video on Decision trees
    2. Video on boosting methods by Hastie.
    3. @@ -353,83 +272,98 @@ MathJax.Hub.Config({
    -
    -Reading

    +

    +Reading. +

    +

    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    +











    -

    Decision trees, overarching aims

    -

    We start here with the most basic algorithm, the so-called decision +

    Decision trees, overarching aims

    + +

    +We start here with the most basic algorithm, the so-called decision tree. With this basic algorithm we can in turn build more complex networks, spanning from homogeneous and heterogenous forests (bagging, random forests and more) to one of the most popular supervised algorithms nowadays, the extreme gradient boosting, or just XGBoost. But let us start with the simplest possible ingredient. -

    -

    Decision trees are supervised learning algorithms used for both, +

    +Decision trees are supervised learning algorithms used for both, classification and regression tasks. -

    -

    The main idea of decision trees +

    +The main idea of decision trees is to find those descriptive features which contain the most information regarding the target feature and then split the dataset along the values of these features such that the target feature values for the resulting underlying datasets are as pure as possible. -

    -

    The descriptive features which reproduce best the target/output features are normally said +

    +The descriptive features which reproduce best the target/output features are normally said to be the most informative ones. The process of finding the most informative feature is done until we accomplish a stopping criteria -where we then finally end up in so called leaf nodes. -

    +where we then finally end up in so called leaf nodes. +











    -

    Basics of a tree

    -

    A decision tree is typically divided into a root node, the interior nodes, +

    Basics of a tree

    + +

    +A decision tree is typically divided into a root node, the interior nodes, and the final leaf nodes or just leaves. These entities are then connected by so-called branches. -

    -

    The leaf nodes +

    +The leaf nodes contain the predictions we will make for new query instances presented to our trained model. This is possible since the model has learned the underlying structure of the training data and hence can, given some assumptions, make predictions about the target feature value (class) of unseen query instances. -

    +











    -

    A Sketch of a Tree, Regression problem

    +

    A Sketch of a Tree, Regression problem

    + +

    +











    -

    A Sketch of a Tree, Classification problem

    +

    A Sketch of a Tree, Classification problem

    + +

    +











    -

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    -
    -

    -
    -

    +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    +

    +



    +

    +This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches. + +











    -

    General Features

    -

    The overarching approach to decision trees is a top-down approach.

    +

    General Features

    + +

    +The overarching approach to decision trees is a top-down approach.

    • A leaf provides the classification of a given instance.
    • @@ -437,16 +371,18 @@ given some assumptions, make predictions about the target feature value
    • A branch corresponds to a possible values of an attribute.
    • An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.
    -

    This process is then repeated for the subtree rooted at the new + +This process is then repeated for the subtree rooted at the new node. -

    +











    -

    How do we set it up?

    -

    In simplified terms, the process of training a decision tree and +

    How do we set it up?

    + +

    +In simplified terms, the process of training a decision tree and predicting the target features of query instances is as follows: -

    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. @@ -454,18 +390,17 @@ predicting the target features of query instances is as follows:
    3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    4. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    -

    Then we are essentially done!

    +Then we are essentially done! + +











    -

    Decision trees and Regression

    + +

    Decision trees and Regression

    +

    -

    -
    -
    -
    -
    -
    import numpy as np
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.preprocessing import PolynomialFeatures
     from sklearn.linear_model import LinearRegression
    @@ -503,7 +438,7 @@ c=lin_reg.intercept_
     print ("first power: ", b[0])
     print ("second power: ",b[1])
     
    -z = np.arange(0, steps, .01)
    +z = np.arange(0, steps, .01)
     z_mod=b[1]*z**2+b[0]*z+c
     
     fit_mod=b[1]*X**2+b[0]*X+c
    @@ -553,102 +488,96 @@ plt.ylabel("Darget")
     plt.title("Decision Tree Regression")
     plt.legend()
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Building a tree, regression

    -

    There are mainly two steps

    +

    Building a tree, regression

    + +

    +There are mainly two steps +

    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    -

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the + +How do we construct the regions \( R_1,\dots,R_J \)? In theory, the regions could have any shape. However, we choose to divide the predictor space into high-dimensional rectangles, or boxes, for simplicity and for ease of interpretation of the resulting predictive model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the MSE, given by -

    $$ \sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, $$ -

    where \( \overline{y}_{R_j} \) is the mean response for the training observations -within box \( j \). -

    +

    +where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +











    -

    A top-down approach, recursive binary splitting

    -

    Unfortunately, it is computationally infeasible to consider every +

    A top-down approach, recursive binary splitting

    + +

    +Unfortunately, it is computationally infeasible to consider every possible partition of the feature space into \( J \) boxes. The common strategy is to take a top-down approach -

    -

    The approach is top-down because it begins at the top of the tree (all +

    +The approach is top-down because it begins at the top of the tree (all observations belong to a single region) and then successively splits the predictor space; each split is indicated via two new branches further down on the tree. It is greedy because at each step of the tree-building process, the best split is made at that particular step, rather than looking ahead and picking a split that will lead to a better tree in some future step. -

    +











    -

    Making a tree

    -

    In order to implement the recursive binary splitting we start by selecting +

    Making a tree

    + +

    +In order to implement the recursive binary splitting we start by selecting the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) -

    $$ \left\{X\vert x_j < s\right\}, $$ -

    and

    +and $$ \left\{X\vert x_j \geq s\right\}, $$ -

    so that we obtain the lowest MSE, that is

    +so that we obtain the lowest MSE, that is $$ \sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, $$ -

    which we want to minimize by considering all predictors +

    +which we want to minimize by considering all predictors \( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for each predictor. These values could be determined by randomly assigned numbers or by starting at the midpoint and then proceed till we find an optimal value. -

    -

    For any \( j \) and \( s \), we define the pair of half-planes where +

    +For any \( j \) and \( s \), we define the pair of half-planes where \( \overline{y}_{R_1} \) is the mean response for the training observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean response for the training observations in \( R_2(j,s) \). -

    -

    Finding the values of \( j \) and \( s \) that minimize the above equation can be +

    +Finding the values of \( j \) and \( s \) that minimize the above equation can be done quite quickly, especially when the number of features \( p \) is not too large. -

    -

    Next, we repeat the process, looking +

    +Next, we repeat the process, looking for the best predictor and best cutpoint in order to split the data further so as to minimize the MSE within each of the resulting regions. However, this time, instead of splitting the entire predictor @@ -657,83 +586,95 @@ have three regions. Again, we look to split one of these three regions further, so as to minimize the MSE. The process continues until a stopping criterion is reached; for instance, we may continue until no region contains more than five observations. -

    +

    -

    Pruning the tree

    -

    The above procedure is rather straightforward, but leads often to +

    Pruning the tree

    + +

    +The above procedure is rather straightforward, but leads often to overfitting and unnecessarily large and complicated trees. The basic idea is to grow a large tree \( T_0 \) and then prune it back in order to obtain a subtree. A smaller tree with fewer splits (fewer regions) can lead to smaller variance and better interpretation at the cost of a little more bias. -

    -

    The so-called Cost complexity pruning algorithm gives us a +

    +The so-called Cost complexity pruning algorithm gives us a way to do just this. Rather than considering every possible subtree, we consider a sequence of trees indexed by a nonnegative tuning parameter \( \alpha \). -

    -

    Read more at the following Scikit-Learn link on pruning.

    +

    +Read more at the following Scikit-Learn link on pruning. +











    -

    Cost complexity pruning

    -

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    +

    Cost complexity pruning

    + +

    +For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that $$ \sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, $$ -

    is as small as possible. Here \( \overline{T} \) is +is as small as possible. Here \( \overline{T} \) is the number of terminal nodes of the tree \( T \) , \( R_m \) is the rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. -

    -

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +

    +The tuning parameter \( \alpha \) controls a trade-off between the subtree’s complexity and its fit to the training data. When \( \alpha = 0 \), then the subtree \( T \) will simply equal \( T_0 \), because then the above equation just measures the training error. However, as \( \alpha \) increases, there is a price to pay for having a tree with many terminal nodes. The above equation will -tend to be minimized for a smaller subtree. -

    +tend to be minimized for a smaller subtree. -

    It turns out that as we increase \( \alpha \) from zero +

    +It turns out that as we increase \( \alpha \) from zero branches get pruned from the tree in a nested and predictable fashion, so obtaining the whole sequence of subtrees as a function of \( \alpha \) is easy. We can select a value of \( \alpha \) using a validation set or using cross-validation. We then return to the full data set and obtain the -subtree corresponding to \( \alpha \). -

    +subtree corresponding to \( \alpha \). +











    -

    Schematic Regression Procedure

    +

    Schematic Regression Procedure

    + +

    -Building a Regression Tree +Building a Regression Tree.

    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    3. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    4. +
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      +
    5. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    +











    -

    A Classification Tree

    -

    A classification tree is very similar to a regression tree, except +

    A Classification Tree

    + +

    +A classification tree is very similar to a regression tree, except that it is used to predict a qualitative response rather than a quantitative one. Recall that for a regression tree, the predicted response for an observation is given by the mean response of the @@ -744,13 +685,15 @@ in the region to which it belongs. In interpreting the results of a classification tree, we are often interested not only in the class prediction corresponding to a particular terminal node region, but also in the class proportions among the training observations that -fall into that region. -

    +fall into that region. +











    -

    Growing a classification tree

    -

    The task of growing a +

    Growing a classification tree

    + +

    +The task of growing a classification tree is quite similar to the task of growing a regression tree. Just as in the regression setting, we use recursive binary splitting to grow a classification tree. However, in the @@ -760,105 +703,124 @@ error rate. Since we plan to assign an observation in a given region to the most commonly occurring error rate class of training observations in that region, the classification error rate is simply the fraction of the training observations in that region that do not -belong to the most common class. -

    +belong to the most common class. -

    When building a classification tree, either the Gini index or the +

    +When building a classification tree, either the Gini index or the entropy are typically used to evaluate the quality of a particular split, since these two approaches are more sensitive to node purity -than is the classification error rate. -

    +than is the classification error rate. +











    -

    Classification tree, how to split nodes

    -

    If our targets are the outcome of a classification process that takes +

    Classification tree, how to split nodes

    + +

    +If our targets are the outcome of a classification process that takes for example \( k=1,2,\dots,K \) values, the only thing we need to think of is to set up the splitting criteria for each node. -

    -

    We define a PDF \( p_{mk} \) that represents the number of observations of +

    +We define a PDF \( p_{mk} \) that represents the number of observations of a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent this likelihood function in terms of the proportion \( I(y_i=k) \) of observations of this class in the region \( R_m \) as -

    $$ p_{mk} = \frac{1}{N_m}\sum_{i\in R_m}I(y_i=k). $$ -

    We let \( p_{mk} \) represent the majority class of observations in region +

    +We let \( p_{mk} \) represent the majority class of observations in region \( m \). The three most common ways of splitting a node are given by -

    • Misclassification error
    + $$ \frac{1}{N_m}\sum_{i\in R_m}I(y_i\ne k) = 1-p_{mk}. $$ +
    • Gini index \( g \)
    + $$ g = \sum_{k\ne k'} p_{mk}p_{mk'}=\sum_{k=1}^K p_{mk}(1-p_{mk}). $$ +
    • Information entropy or just entropy \( s \)
    + $$ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. $$ - +











    -

    Gini Index (or Coefficient or Impurity)

    -

    The Gini index \( g \) gives us the degree of probability of a specific +

    Gini Index (or Coefficient or Impurity)

    + +

    +The Gini index \( g \) gives us the degree of probability of a specific variable that is wrongly classified. -

    -

    It takes values \( g \in [0,1] \),

    +

    +It takes values \( g \in [0,1] \), +

    1. \( g=0 \) means a pure case where all elements belong to one class only.
    2. A value \( g=1 \) means that all elements are randomly distributed across various classes.
    3. A value \( g=0.5 \) means that the elements in a node are uniformly distributed across classes.
    -

    It favors binary splitting.

    +It favors binary splitting. + +











    -

    Why binary splits?

    -

    It is custom to split to a tree uising binary splits. The reason is +

    Why binary splits?

    + +

    +It is custom to split to a tree uising binary splits. The reason is that multiway splits fragment the data too quickly, leaving insufficient data at the next level down. Multiway splits can be achieved by a series of binary split and this is normally preferred. -

    +











    -

    Computing a Tree using the Gini Index

    -

    Consider the following example with attributes/features and two +

    Computing a Tree using the Gini Index

    + +

    +Consider the following example with attributes/features and two possible outcomes (classes) for each attribute. Assume we wish to find some correlations between the average grade of a student as function of the number of hours studied and hours slept. We want also to correlate the grade in a given course with the general trend, whether the students recently has gotten grades below average or above. -

    -

    We have three features/attributes

    +

    +We have three features/attributes +

    1. Trend of average grades before present course, classified as either below or above the average grade of the whole class
    2. The number of hours studies, classified again as either higher (more than 3 hours per day) or lower . Here we have used a standard for one \( ECTS \) which is scaled to 25-30 hours of work for a semester which lasts 18 weeks, with 15 weeks of lectures and 3 weeks for exams, assuming a total of 30 ECTS per semester.
    3. The number of hours slept as high for more than \( 8 \) hours and below for less than 8 hours of sleep, classified again as either high or low
    4. The final grade whether it is above or below average
    -









    -

    The Table

    - +









    + +

    The Table

    + +

    +

    @@ -875,54 +837,61 @@ recently has gotten grades below average or above.
    Grade Trend Hours slept Hours Studied Grade
    Above High High Above
    - +











    -

    Computing the various Gini Indices

    -

    In computations we will translate all classes into numbers. Being +

    Computing the various Gini Indices

    + +

    +In computations we will translate all classes into numbers. Being these binary classes, they can easily be split into ones and zeros. -

    -
    -Gini index for Average trend

    -

    See handwritten notes for Thursday November 11

    +
    +Gini index for Average trend. +

    +See handwritten notes for Thursday November 11

    -









    -

    Computing the various Gini Indices, Hours slept

    - -
    -Gini index for hour slept

    -

    See handwritten notes for Thursday November 11

    +









    + +

    Computing the various Gini Indices, Hours slept

    + +

    +

    +Gini index for hour slept. +

    +See handwritten notes for Thursday November 11

    -









    -

    Computing the various Gini Indices, Hours studied

    - -
    -Gini index for hour studied

    -

    See handwritten notes for Thursday November 11

    +









    + +

    Computing the various Gini Indices, Hours studied

    + +

    +

    +Gini index for hour studied. +

    +See handwritten notes for Thursday November 11

    -

    For final tree, see the above handwritten notes

    +

    +For final tree, see the above handwritten notes +











    -

    A possible code using Scikit-Learn

    +

    A possible code using Scikit-Learn

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -989,32 +958,15 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/grade.dot -o DataFiles/grades.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Visualizing Trees, More examples

    + +

    Visualizing Trees, More examples

    +

    -

    -
    -
    -
    -
    -
    import os
    +
    import os
     from sklearn.datasets import load_breast_cancer
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.model_selection import train_test_split
    @@ -1047,32 +999,15 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Visualizing the Tree, The Moons

    + +

    Visualizing the Tree, The Moons

    +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.tree import DecisionTreeClassifier
    @@ -1096,72 +1031,39 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Other ways of visualizing the trees

    -

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    +

    Other ways of visualizing the trees

    +

    +Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data. + +

    -

    -
    -
    -
    -
    -
    from sklearn.datasets import load_iris
    +
    from sklearn.datasets import load_iris
     from sklearn import tree
     X, y = load_iris(return_X_y=True)
     tree_clf = tree.DecisionTreeClassifier()
     tree_clf = tree_clf.fit(X, y)
     # and then plot the tree
     tree.plot_tree(tree_clf) 
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Printing out as text

    -

    Alternatively, the tree can also be exported in textual format with the function exporttext. +

    Printing out as text

    + +

    +Alternatively, the tree can also be exported in textual format with the function exporttext. This method doesn’t require the installation of external libraries and is more compact: -

    +

    -

    -
    -
    -
    -
    -
    from sklearn.datasets import load_iris
    +
    from sklearn.datasets import load_iris
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.tree import export_text
     iris = load_iris()
    @@ -1169,92 +1071,87 @@ decision_tree = DecisionTreeClassifier(random_state='feature_names'])
     print(r)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Algorithms for Setting up Decision Trees

    -

    Two algorithms stand out in the set up of decision trees:

    +

    Algorithms for Setting up Decision Trees

    + +

    +Two algorithms stand out in the set up of decision trees: +

    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. The ID3 algorithm based on the computation of the information gain for classification
    -

    We discuss both algorithms with applications here. The popular library + +We discuss both algorithms with applications here. The popular library Scikit-Learn uses the CART algorithm. For classification problems you can use either the gini index or the entropy to split a tree in two branches. -

    +











    -

    The CART algorithm for Classification

    -

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +

    The CART algorithm for Classification

    + +

    +For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). This could be for example a threshold set by a number below a certain circumference of a malign tumor. -

    -

    How do we find these two quantities? +

    +How do we find these two quantities? We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). The cost function it tries to minimize is then -

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, $$ -

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) +where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) is the number of instances in the left/right subset -

    -

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +

    +Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the \( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), \( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). -

    +











    -

    The CART algorithm for Regression

    -

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +

    The CART algorithm for Regression

    + +

    +The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now -

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. $$ -

    Here the MSE for a specific node is defined as

    +Here the MSE for a specific node is defined as $$ \mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, $$ -

    with

    +with $$ \overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, $$ -

    the mean value of all observations in a specific node.

    +the mean value of all observations in a specific node. -

    Without any regularization, the regression task for decision trees, +

    +Without any regularization, the regression task for decision trees, just like for classification tasks, is prone to overfitting. -

    +











    -

    Computing the Gini index

    -

    The example we will look at is a classical one in many Machine +

    Computing the Gini index

    + +

    +The example we will look at is a classical one in many Machine Learning applications. Based on various meteorological features, we have several so-called attributes which decide whether we at the end will do some outdoor activity like skiing, going for a bike ride etc @@ -1264,10 +1161,10 @@ etc. The table here contains the feautures outlook, temperature, attributes for each feature are then sunny, overcast and rain for the outlook, hot, cold and mild for temperature, high and normal for humidity and weak and strong for wind. -

    -

    The table here summarizes the various attributes and

    - +

    +The table here summarizes the various attributes and +

    @@ -1288,18 +1185,15 @@ humidity and weak and strong for wind.
    Day Outlook Temperature Humidity Wind Ride
    14 Rain Mild High Strong 0
    - +











    -

    Simple Python Code to read in Data and perform Classification

    +

    Simple Python Code to read in Data and perform Classification

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -1366,41 +1260,25 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Computing the Gini Factor

    -

    The above functions (gini, entropy and misclassification error) are +

    Computing the Gini Factor

    + +

    +The above functions (gini, entropy and misclassification error) are important components of the so-called CART algorithm. We will discuss this algorithm below after we have discussed the information gain algorithm ID3. -

    -

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    +

    +In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc. +

    -

    -
    -
    -
    -
    -
    # Split a dataset based on an attribute and an attribute value
    +
    # Split a dataset based on an attribute and an attribute value
     def test_split(index, value, dataset):
     	left, right = list(), list()
     	for row in dataset:
    @@ -1460,28 +1338,15 @@ dataset = [[0,0
     
     split = get_split(dataset)
     print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Entropy and the ID3 algorithm

    -

    The ID3 algorithm learns decision trees by constructing +

    Entropy and the ID3 algorithm

    + +

    +The ID3 algorithm learns decision trees by constructing them in a top down way, beginning with the question which attribute should be tested at the root of the tree? -

    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. @@ -1491,34 +1356,33 @@ them in a top down way, beginning with the question which attribute should be
    3. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    4. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    -

    The ID3 algorithm selects which attribute to test at each node in the + +The ID3 algorithm selects which attribute to test at each node in the tree. -

    -

    We would like to select the attribute that is most useful for classifying +

    +We would like to select the attribute that is most useful for classifying examples. -

    -

    What is a good quantitative measure of the worth of an attribute?

    +

    +What is a good quantitative measure of the worth of an attribute? -

    Information gain measures how well a given attribute separates the +

    +Information gain measures how well a given attribute separates the training examples according to their target classification. -

    -

    The ID3 algorithm uses this information gain measure to select among the candidate +

    +The ID3 algorithm uses this information gain measure to select among the candidate attributes at each step while growing the tree. -

    +











    -

    Cancer Data again now with Decision Trees and other Methods

    + +

    Cancer Data again now with Decision Trees and other Methods

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1559,32 +1423,15 @@ svm.fit(X_train_scaled, y_train)
     # Decision Trees
     deep_tree_clf.fit(X_train_scaled, y_train)
     print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Another example, the moons again

    + +

    Another example, the moons again

    +

    -

    -
    -
    -
    -
    -
    from __future__ import division, print_function, unicode_literals
    +
    from __future__ import division, print_function, unicode_literals
     
     # Common imports
     import numpy as np
    @@ -1648,32 +1495,15 @@ plt.subplot(122)
     plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
     plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Playing around with regions

    + +

    Playing around with regions

    +

    -

    -
    -
    -
    -
    -
    np.random.seed(6)
    +
    np.random.seed(6)
     Xs = np.random.rand(100, 2) - 0.5
     ys = (Xs[:, 0] > 0).astype(np.float32) * 2
     
    @@ -1693,86 +1523,37 @@ plt.subplot(122)
     plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Regression trees

    + +

    Regression trees

    +

    -

    -
    -
    -
    -
    -
    # Quadratic training set + noise
    +
    # Quadratic training set + noise
     np.random.seed(42)
     m = 200
     X = np.random.rand(m, 1)
     y = 4 * (X - 0.5) ** 2
     y = y + np.random.randn(m, 1) / 10
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
     tree_reg.fit(X, y)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Final regressor code

    + +

    Final regressor code

    +

    -

    -
    -
    -
    -
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
     tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    @@ -1810,26 +1591,11 @@ plt.text(0.3, 0
     plt.title("max_depth=3", fontsize=14)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
     tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
     tree_reg1.fit(X, y)
     tree_reg2.fit(X, y)
    @@ -1857,24 +1623,11 @@ plt.xlabel("$x_1$", fontsize="min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Pros and cons of trees, pros

    + +

    Pros and cons of trees, pros

    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • @@ -1885,8 +1638,10 @@ plt.show()
    • Can model interactions between the different descriptive features
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    +









    -

    Disadvantages

    + +

    Disadvantages

    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • @@ -1897,26 +1652,28 @@ plt.show()
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    -

    However, by aggregating many decision trees, using methods like + +However, by aggregating many decision trees, using methods like bagging, random forests, and boosting, the predictive performance of trees can be substantially improved. -

    +











    -

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    -

    As stated above and seen in many of the examples discussed here about +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    + +

    +As stated above and seen in many of the examples discussed here about a single decision tree, we often end up overfitting our training data. This normally means that we have a high variance. Can we reduce the variance of a statistical learning method? -

    -

    This leads us to a set of different methods that can combine different +

    +This leads us to a set of different methods that can combine different machine learning algorithms or just use one of them to construct forests and jungles of trees, homogeneous ones or heterogenous ones. These methods are recognized by different names which we will try to explain here. These are -

    1. Voting classifiers
    2. @@ -1924,45 +1681,50 @@ try to explain here. These are
    3. Random forests
    4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    -

    We discuss these methods here.

    +We discuss these methods here. + +











    -

    An Overview of Ensemble Methods

    -

    -
    -

    -
    -

    +

    An Overview of Ensemble Methods

    +

    +



    + +











    -

    Bagging

    -

    The plain decision trees suffer from high +

    Bagging

    + +

    +The plain decision trees suffer from high variance. This means that if we split the training data into two parts at random, and fit a decision tree to both halves, the results that we get could be quite different. In contrast, a procedure with low variance will yield similar results if applied repeatedly to distinct data sets; linear regression tends to have low variance, if the ratio -of \( n \) to \( p \) is moderately large. -

    +of \( n \) to \( p \) is moderately large. -

    Bootstrap aggregation, or just bagging, is a +

    +Bootstrap aggregation, or just bagging, is a general-purpose procedure for reducing the variance of a statistical -learning method. -

    +learning method. +











    -

    More bagging

    -

    Bagging typically results in improved accuracy +

    More bagging

    + +

    +Bagging typically results in improved accuracy over prediction using a single tree. Unfortunately, however, it can be difficult to interpret the resulting model. Recall that one of the advantages of decision trees is the attractive and easily interpreted diagram that results. -

    -

    However, when we bag a large number of trees, it is no longer +

    +However, when we bag a large number of trees, it is no longer possible to represent the resulting statistical learning procedure using a single tree, and it is no longer clear which variables are most important to the procedure. Thus, bagging improves prediction @@ -1977,22 +1739,19 @@ trees. A large value indicates an important predictor. Similarly, in the context of bagging classification trees, we can add up the total amount that the Gini index is decreased by splits over a given predictor, averaged over all \( B \) trees. -

    +











    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    -

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    + +

    +Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.pipeline import make_pipeline
    @@ -2043,81 +1802,69 @@ plt.plot(polydegree, variance, label='Variance&
     plt.legend()
     save_fig("baggingboot")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Why Voting?

    -

    The idea behind boosting, and voting as well can be phrased as follows: +

    Why Voting?

    + +

    +The idea behind boosting, and voting as well can be phrased as follows: Can a group of people somehow arrive at highly reasoned decisions, despite the weak judgement of the individual members? -

    -

    The aim is to create a good classifier by combining several weak classifiers. +

    +The aim is to create a good classifier by combining several weak classifiers. A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random. -

    -

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. +

    +The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in -each iteration. -

    +each iteration. -

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    +

    +Decision trees play an important role as our weak classifier. They serve as the basic method. +











    -

    Tossing coins

    -

    The simplest case is a so-called voting ensemble. To illustrate this, +

    Tossing coins

    + +

    +The simplest case is a so-called voting ensemble. To illustrate this, think of yourself tossing coins with a biased outcome of 51 per cent for heads and 49% for tails. With only few tosses, you may not clearly see this distribution for heads and tails. However, after some thousands of tosses, there will be a clear majority of heads. With 2000 tosses you should see approximately 1020 heads and 980 tails. -

    -

    We can then state that the outcome is a clear majority of heads. If +

    +We can then state that the outcome is a clear majority of heads. If you do this ten thousand times, it is easy to see that there is a 97% likelihood of a majority of heads. -

    -

    Another example would be to collect all polls before an +

    +Another example would be to collect all polls before an election. Different polls may show different likelihoods for a candidate winning with say a majority of the popular vote. The majority vote would then consist in many polls indicating that this candidate will actually win. -

    -

    The example here shows how we can implement the coin tossing case, +

    +The example here shows how we can implement the coin tossing case, clealry demostrating that after some tosses we see the law of large numbers kicking in. -

    +











    -

    Standard imports first

    +

    Standard imports first

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -2154,32 +1901,15 @@ DATA_ID = "DataFiles/"
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Simple Voting Example, head or tail

    + +

    Simple Voting Example, head or tail

    +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -2201,34 +1931,18 @@ plt.legend(loc="lower right")
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Using the Voting Classifier

    -

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    +

    Using the Voting Classifier

    + +

    +We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn. +

    -

    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -2270,33 +1984,16 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Voting and Bagging

    +

    Voting and Bagging

    + +

    -

    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -2314,51 +2011,21 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='hard')
     voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -2366,76 +2033,49 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Random forests

    -

    Random forests provide an improvement over bagged trees by way of a -small tweak that decorrelates the trees. -

    +

    Random forests

    -

    As in bagging, we build a +

    +Random forests provide an improvement over bagged trees by way of a +small tweak that decorrelates the trees. + +

    +As in bagging, we build a number of decision trees on bootstrapped training samples. But when building these decision trees, each time a split in a tree is considered, a random sample of \( m \) predictors is chosen as split candidates from the full set of \( p \) predictors. The split is allowed to -use only one of those \( m \) predictors. -

    +use only one of those \( m \) predictors. -

    A fresh sample of \( m \) predictors is +

    +A fresh sample of \( m \) predictors is taken at each split, and typically we choose -

    $$ m\approx \sqrt{p}. $$ -

    In building a random forest, at +

    +In building a random forest, at each split in the tree, the algorithm is not even allowed to consider -a majority of the available predictors. -

    +a majority of the available predictors. -

    The reason for this is rather clever. Suppose that there is one very +

    +The reason for this is rather clever. Suppose that there is one very strong predictor in the data set, along with a number of other moderately strong predictors. Then in the collection of bagged variable importance random forest trees, most or all of the trees will @@ -2447,36 +2087,41 @@ lead to as large of a reduction in variance as averaging many uncorrelated quantities. In particular, this means that bagging will not lead to a substantial reduction in variance over a single tree in this setting. -

    +











    -

    Random Forest Algorithm

    -

    The algorithm described here can be applied to both classification and regression problems.

    -

    We will grow of forest of say \( B \) trees.

    +

    Random Forest Algorithm

    +The algorithm described here can be applied to both classification and regression problems. + +

    +We will grow of forest of say \( B \) trees. +

    1. For \( b=1:B \)
    2. +
      • Draw a bootstrap sample from the training data organized in our \( \boldsymbol{X} \) matrix.
      • We grow then a random forest tree \( T_b \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • +
        1. we select \( m \le p \) variables at random from the \( p \) predictors/features
        2. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        +
      +
    3. Output then the ensemble of trees \( \{T_b\}_1^{B} \) and make predictions for either a regression type of problem or a classification type of problem.
    +









    -

    Random Forests Compared with other Methods on the Cancer Data

    + +

    Random Forests Compared with other Methods on the Cancer Data

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2542,374 +2187,362 @@ skplt.metrics.plot_roc(y_test, y_probas)
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -

    Recall that the cumulative gains curve shows the percentage of the +

    +

    +Recall that the cumulative gains curve shows the percentage of the overall number of cases in a given category gained by targeting a percentage of the total number of cases. -

    -

    Similarly, the receiver operating characteristic curve, or ROC curve, +

    +Similarly, the receiver operating characteristic curve, or ROC curve, displays the diagnostic ability of a binary classifier system as its discrimination threshold is varied. It plots the true positive rate against the false positive rate. -

    +











    -

    Compare Bagging on Trees with Random Forests

    + +

    Compare Bagging on Trees with Random Forests

    +

    -

    -
    -
    -
    -
    -
    bag_clf = BaggingClassifier(
    +
    bag_clf = BaggingClassifier(
         DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
         n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    bag_clf.fit(X_train, y_train)
    +
    bag_clf.fit(X_train, y_train)
     y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
     rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
     rnd_clf.fit(X_train, y_train)
     y_pred_rf = rnd_clf.predict(X_test)
     np.sum(y_pred == y_pred_rf) / len(y_pred) 
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Boosting, a Bird's Eye View

    -

    The basic idea is to combine weak classifiers in order to create a good +

    Boosting, a Bird's Eye View

    + +

    +The basic idea is to combine weak classifiers in order to create a good classifier. With a weak classifier we often intend a classifier which produces results which are only slightly better than we would get by random guesses. -

    -

    This is done by applying in an iterative way a weak (or a standard +

    +This is done by applying in an iterative way a weak (or a standard classifier like decision trees) to modify the data. In each iteration we emphasize those observations which are misclassified by weighting them with a factor. -

    +











    -

    What is boosting? Additive Modelling/Iterative Fitting

    -

    Boosting is a way of fitting an additive expansion in a set of +

    What is boosting? Additive Modelling/Iterative Fitting

    + +

    +Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function -

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    where \( \beta_m \) are the expansion parameters to be determined in a +

    +where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). -

    -

    As an example, consider the Sigmoid function we used in logistic +

    +As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function -

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    +where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. -

    -

    As another example, consider the cost function we defined for linear regression

    +

    +As another example, consider the cost function we defined for linear regression $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    In this case the function \( f(x) \) was replaced by the design matrix +

    +In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by -

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    +

    +In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +











    -

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    +

    Iterative Fitting, Regression and Squared-error Cost Function

    + +

    +The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) +
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      +
    -

    We could use any of the algorithms we have discussed till now. If we + +We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. -

    +











    -

    Squared-Error Example and Iterative Fitting

    -

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    +

    Squared-Error Example and Iterative Fitting

    -

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    +

    +To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. -

    This means that for every iteration \( m \), we need to optimize

    +

    +For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). + +

    +This means that for every iteration \( m \), we need to optimize $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    We start our iteration by simply setting \( f_0(x)=0 \). +

    +We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain -

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -

    and

    +and $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    +We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    +which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. -

    +

    +which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. -

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). -

    +

    +The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +











    -

    Iterative Fitting, Classification and AdaBoost

    -

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Iterative Fitting, Classification and AdaBoost

    + +

    +Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). -

    -

    The error rate of the training sample is then

    +

    +The error rate of the training sample is then $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    The iterative procedure starts with defining a weak classifier whose +

    +The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). -

    -

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    +

    +Here we will express our function \( f(x) \) in terms of \( G(x) \). That is $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    will be a function of

    +will be a function of $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ - +











    -

    Adaptive Boosting, AdaBoost

    -

    In our iterative procedure we define thus

    +

    Adaptive Boosting, AdaBoost

    + +

    +In our iterative procedure we define thus $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    +The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as -

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    +We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as -

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    +where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +











    -

    Building up AdaBoost

    -

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    +

    Building up AdaBoost

    + +

    +First, for any \( \beta > 0 \), we optimize \( G \) by setting $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    +which is the classifier that minimizes the weighted error rate in predicting \( y \). -

    We can do this by rewriting

    +

    +We can do this by rewriting $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -

    which can be rewritten as

    +which can be rewritten as $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -

    which leads to

    +which leads to $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -

    where we have redefined the error as

    +where we have redefined the error as $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -

    which leads to an update of

    +which leads to an update of $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -

    This leads to the new weights

    +This leads to the new weights $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ - +











    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    The algorithm here is rather straightforward. Assume that our weak +

    Adaptive boosting: AdaBoost, Basic Algorithm

    + +

    +The algorithm here is rather straightforward. Assume that our weak classifier is a decision tree and we consider a binary set of outputs with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. Our design matrix is given in terms of the feature/predictor vectors \( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1}] \). Finally, we define also a -classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). -

    +classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). -

    We have already defined the misclassification error \( \mathrm{err} \) as

    +

    +We have already defined the misclassification error \( \mathrm{err} \) as $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    +where the function \( I() \) is one if we misclassify and zero if we classify correctly. +











    -

    Basic Steps of AdaBoost

    -

    With the above definitions we are now ready to set up the algorithm for AdaBoost. +

    Basic Steps of AdaBoost

    + +

    +With the above definitions we are now ready to set up the algorithm for AdaBoost. The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. -

    +
    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    + $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ +
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. +
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      +
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    -

    For the iterations with \( m \le 2 \) the weights are modified + +For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. -

    +











    -

    AdaBoost Examples

    -

    Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here.

    +

    AdaBoost Examples

    +

    +Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here. + +

    -

    -
    -
    -
    -
    -
    from sklearn.ensemble import AdaBoostClassifier
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -2930,115 +2563,114 @@ skplt.metrics.plot_roc(y_test, y_probas)
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    + +

    +Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. -

    -

    In order to understand the method, let us illustrate its basics by +

    +In order to understand the method, let us illustrate its basics by bringing back the essential steps in linear regression, where our cost function was the least squares function. -

    +











    -

    The Squared-Error again! Steepest Descent

    -

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    The Squared-Error again! Steepest Descent

    + +

    +We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize -

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    +

    +We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    +

    +In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    +With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). -

    -

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    +

    +Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ - +











    -

    Steepest Descent Example

    -

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    +

    Steepest Descent Example

    + +

    +Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -

    We can then proceed and compute

    +We can then proceed and compute $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    +and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +











    -

    Gradient Boosting, algorithm

    -

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Gradient Boosting, algorithm

    + +

    +Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. -

    +fitting a weak learner to approximate the negative gradient signal. -

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function

    +

    +Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    The way we proceed in an iterative fashion is to

    +

    +The way we proceed in an iterative fashion is to +

    1. Initialize our estimate \( f_0(x) \).
    2. For \( m=1:M \), we +
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at \( f(x) = f_{m-1}(x) \);
      2. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      3. update the estimate \( f_m(x) = f_{m-1}(x)+h_m(u_m,x) \);
      +
    3. The final estimate is then \( f_M(x) = \sum_{m=1}^M h_m(u_m,x) \).
    +









    -

    Gradient Boosting, Examples of Regression

    + +

    Gradient Boosting, Examples of Regression

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    @@ -3084,32 +2716,15 @@ plt.plot(polydegree, variance, label='Variance&
     plt.legend()
     save_fig("gdregression")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Gradient Boosting, Classification Example

    + +

    Gradient Boosting, Classification Example

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -3149,51 +2764,37 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost or Extreme Gradient +

    XGBoost: Extreme Gradient Boosting

    + +

    +XGBoost or Extreme Gradient Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many data science problems in a fast and accurate way. See the article by Chen and Guestrin. -

    -

    The authors design and build a highly scalable end-to-end tree +

    +The authors design and build a highly scalable end-to-end tree boosting system. It has a theoretically justified weighted quantile sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. -

    -

    It is now the algorithm which wins essentially all ML competitions!!!

    +

    +It is now the algorithm which wins essentially all ML competitions!!! +











    -

    Regression Case

    +

    Regression Case

    + +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    @@ -3239,34 +2840,18 @@ plt.plot(polydegree, bias, label='bias''Variance')
     plt.legend()
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Xgboost on the Cancer Data

    -

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    +

    Xgboost on the Cancer Data

    + +

    +As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -3317,26 +2902,18 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - +
    +

    + +

    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    + + + diff --git a/doc/pub/week45/html/week45.html b/doc/pub/week45/html/week45.html index aaac23f18..000c3c589 100644 --- a/doc/pub/week45/html/week45.html +++ b/doc/pub/week45/html/week45.html @@ -1,105 +1,36 @@ - + + Week 45: Decisions Trees, Random Forests, Bagging and Boosting + + + + @@ -391,38 +227,49 @@ MathJax.Hub.Config({ - -
    -

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    -
    + + + + + +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    + +

    +

    Morten Hjorth-Jensen [1, 2]
    - -
    -[1] Department of Physics, University of Oslo -
    -
    -[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University -
    -
    -
    -

    Nov 11, 2021

    -
    -
    +

    + + +

    [1] Department of Physics, University of Oslo
    +
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    +
    +

    +

    Nov 11, 2021

    +
    +











    -

    Overview of week 45

    + +

    Overview of week 45

    • Thursday: Basics of Decision Trees, Bagging and Voting
    • + + +
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    +
    -Videos +Videos.

    +

    1. Video on Decision trees
    2. Video on boosting methods by Hastie.
    3. @@ -430,83 +277,98 @@ MathJax.Hub.Config({
    -
    -Reading

    +

    +Reading. +

    +

    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    +











    -

    Decision trees, overarching aims

    -

    We start here with the most basic algorithm, the so-called decision +

    Decision trees, overarching aims

    + +

    +We start here with the most basic algorithm, the so-called decision tree. With this basic algorithm we can in turn build more complex networks, spanning from homogeneous and heterogenous forests (bagging, random forests and more) to one of the most popular supervised algorithms nowadays, the extreme gradient boosting, or just XGBoost. But let us start with the simplest possible ingredient. -

    -

    Decision trees are supervised learning algorithms used for both, +

    +Decision trees are supervised learning algorithms used for both, classification and regression tasks. -

    -

    The main idea of decision trees +

    +The main idea of decision trees is to find those descriptive features which contain the most information regarding the target feature and then split the dataset along the values of these features such that the target feature values for the resulting underlying datasets are as pure as possible. -

    -

    The descriptive features which reproduce best the target/output features are normally said +

    +The descriptive features which reproduce best the target/output features are normally said to be the most informative ones. The process of finding the most informative feature is done until we accomplish a stopping criteria -where we then finally end up in so called leaf nodes. -

    +where we then finally end up in so called leaf nodes. +











    -

    Basics of a tree

    -

    A decision tree is typically divided into a root node, the interior nodes, +

    Basics of a tree

    + +

    +A decision tree is typically divided into a root node, the interior nodes, and the final leaf nodes or just leaves. These entities are then connected by so-called branches. -

    -

    The leaf nodes +

    +The leaf nodes contain the predictions we will make for new query instances presented to our trained model. This is possible since the model has learned the underlying structure of the training data and hence can, given some assumptions, make predictions about the target feature value (class) of unseen query instances. -

    +











    -

    A Sketch of a Tree, Regression problem

    +

    A Sketch of a Tree, Regression problem

    + +

    +











    -

    A Sketch of a Tree, Classification problem

    +

    A Sketch of a Tree, Classification problem

    + +

    +











    -

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    -
    -

    -
    -

    +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    +

    +



    +

    +This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches. + +











    -

    General Features

    -

    The overarching approach to decision trees is a top-down approach.

    +

    General Features

    + +

    +The overarching approach to decision trees is a top-down approach.

    • A leaf provides the classification of a given instance.
    • @@ -514,16 +376,18 @@ given some assumptions, make predictions about the target feature value
    • A branch corresponds to a possible values of an attribute.
    • An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.
    -

    This process is then repeated for the subtree rooted at the new + +This process is then repeated for the subtree rooted at the new node. -

    +











    -

    How do we set it up?

    -

    In simplified terms, the process of training a decision tree and +

    How do we set it up?

    + +

    +In simplified terms, the process of training a decision tree and predicting the target features of query instances is as follows: -

    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. @@ -531,18 +395,17 @@ predicting the target features of query instances is as follows:
    3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    4. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    -

    Then we are essentially done!

    +Then we are essentially done! + +











    -

    Decision trees and Regression

    + +

    Decision trees and Regression

    +

    -

    -
    -
    -
    -
    -
    import numpy as np
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.preprocessing import PolynomialFeatures
     from sklearn.linear_model import LinearRegression
    @@ -630,102 +493,96 @@ plt.ylabel(&quo
     plt.title("Decision Tree Regression")
     plt.legend()
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Building a tree, regression

    -

    There are mainly two steps

    +

    Building a tree, regression

    + +

    +There are mainly two steps +

    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    -

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the + +How do we construct the regions \( R_1,\dots,R_J \)? In theory, the regions could have any shape. However, we choose to divide the predictor space into high-dimensional rectangles, or boxes, for simplicity and for ease of interpretation of the resulting predictive model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the MSE, given by -

    $$ \sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, $$ -

    where \( \overline{y}_{R_j} \) is the mean response for the training observations -within box \( j \). -

    +

    +where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +











    -

    A top-down approach, recursive binary splitting

    -

    Unfortunately, it is computationally infeasible to consider every +

    A top-down approach, recursive binary splitting

    + +

    +Unfortunately, it is computationally infeasible to consider every possible partition of the feature space into \( J \) boxes. The common strategy is to take a top-down approach -

    -

    The approach is top-down because it begins at the top of the tree (all +

    +The approach is top-down because it begins at the top of the tree (all observations belong to a single region) and then successively splits the predictor space; each split is indicated via two new branches further down on the tree. It is greedy because at each step of the tree-building process, the best split is made at that particular step, rather than looking ahead and picking a split that will lead to a better tree in some future step. -

    +











    -

    Making a tree

    -

    In order to implement the recursive binary splitting we start by selecting +

    Making a tree

    + +

    +In order to implement the recursive binary splitting we start by selecting the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) -

    $$ \left\{X\vert x_j < s\right\}, $$ -

    and

    +and $$ \left\{X\vert x_j \geq s\right\}, $$ -

    so that we obtain the lowest MSE, that is

    +so that we obtain the lowest MSE, that is $$ \sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, $$ -

    which we want to minimize by considering all predictors +

    +which we want to minimize by considering all predictors \( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for each predictor. These values could be determined by randomly assigned numbers or by starting at the midpoint and then proceed till we find an optimal value. -

    -

    For any \( j \) and \( s \), we define the pair of half-planes where +

    +For any \( j \) and \( s \), we define the pair of half-planes where \( \overline{y}_{R_1} \) is the mean response for the training observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean response for the training observations in \( R_2(j,s) \). -

    -

    Finding the values of \( j \) and \( s \) that minimize the above equation can be +

    +Finding the values of \( j \) and \( s \) that minimize the above equation can be done quite quickly, especially when the number of features \( p \) is not too large. -

    -

    Next, we repeat the process, looking +

    +Next, we repeat the process, looking for the best predictor and best cutpoint in order to split the data further so as to minimize the MSE within each of the resulting regions. However, this time, instead of splitting the entire predictor @@ -734,83 +591,95 @@ have three regions. Again, we look to split one of these three regions further, so as to minimize the MSE. The process continues until a stopping criterion is reached; for instance, we may continue until no region contains more than five observations. -

    +

    -

    Pruning the tree

    -

    The above procedure is rather straightforward, but leads often to +

    Pruning the tree

    + +

    +The above procedure is rather straightforward, but leads often to overfitting and unnecessarily large and complicated trees. The basic idea is to grow a large tree \( T_0 \) and then prune it back in order to obtain a subtree. A smaller tree with fewer splits (fewer regions) can lead to smaller variance and better interpretation at the cost of a little more bias. -

    -

    The so-called Cost complexity pruning algorithm gives us a +

    +The so-called Cost complexity pruning algorithm gives us a way to do just this. Rather than considering every possible subtree, we consider a sequence of trees indexed by a nonnegative tuning parameter \( \alpha \). -

    -

    Read more at the following Scikit-Learn link on pruning.

    +

    +Read more at the following Scikit-Learn link on pruning. +











    -

    Cost complexity pruning

    -

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    +

    Cost complexity pruning

    + +

    +For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that $$ \sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, $$ -

    is as small as possible. Here \( \overline{T} \) is +is as small as possible. Here \( \overline{T} \) is the number of terminal nodes of the tree \( T \) , \( R_m \) is the rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. -

    -

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +

    +The tuning parameter \( \alpha \) controls a trade-off between the subtree’s complexity and its fit to the training data. When \( \alpha = 0 \), then the subtree \( T \) will simply equal \( T_0 \), because then the above equation just measures the training error. However, as \( \alpha \) increases, there is a price to pay for having a tree with many terminal nodes. The above equation will -tend to be minimized for a smaller subtree. -

    +tend to be minimized for a smaller subtree. -

    It turns out that as we increase \( \alpha \) from zero +

    +It turns out that as we increase \( \alpha \) from zero branches get pruned from the tree in a nested and predictable fashion, so obtaining the whole sequence of subtrees as a function of \( \alpha \) is easy. We can select a value of \( \alpha \) using a validation set or using cross-validation. We then return to the full data set and obtain the -subtree corresponding to \( \alpha \). -

    +subtree corresponding to \( \alpha \). +











    -

    Schematic Regression Procedure

    +

    Schematic Regression Procedure

    + +

    -Building a Regression Tree +Building a Regression Tree.

    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    3. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    4. +
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      +
    5. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    +











    -

    A Classification Tree

    -

    A classification tree is very similar to a regression tree, except +

    A Classification Tree

    + +

    +A classification tree is very similar to a regression tree, except that it is used to predict a qualitative response rather than a quantitative one. Recall that for a regression tree, the predicted response for an observation is given by the mean response of the @@ -821,13 +690,15 @@ in the region to which it belongs. In interpreting the results of a classification tree, we are often interested not only in the class prediction corresponding to a particular terminal node region, but also in the class proportions among the training observations that -fall into that region. -

    +fall into that region. +











    -

    Growing a classification tree

    -

    The task of growing a +

    Growing a classification tree

    + +

    +The task of growing a classification tree is quite similar to the task of growing a regression tree. Just as in the regression setting, we use recursive binary splitting to grow a classification tree. However, in the @@ -837,105 +708,124 @@ error rate. Since we plan to assign an observation in a given region to the most commonly occurring error rate class of training observations in that region, the classification error rate is simply the fraction of the training observations in that region that do not -belong to the most common class. -

    +belong to the most common class. -

    When building a classification tree, either the Gini index or the +

    +When building a classification tree, either the Gini index or the entropy are typically used to evaluate the quality of a particular split, since these two approaches are more sensitive to node purity -than is the classification error rate. -

    +than is the classification error rate. +











    -

    Classification tree, how to split nodes

    -

    If our targets are the outcome of a classification process that takes +

    Classification tree, how to split nodes

    + +

    +If our targets are the outcome of a classification process that takes for example \( k=1,2,\dots,K \) values, the only thing we need to think of is to set up the splitting criteria for each node. -

    -

    We define a PDF \( p_{mk} \) that represents the number of observations of +

    +We define a PDF \( p_{mk} \) that represents the number of observations of a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent this likelihood function in terms of the proportion \( I(y_i=k) \) of observations of this class in the region \( R_m \) as -

    $$ p_{mk} = \frac{1}{N_m}\sum_{i\in R_m}I(y_i=k). $$ -

    We let \( p_{mk} \) represent the majority class of observations in region +

    +We let \( p_{mk} \) represent the majority class of observations in region \( m \). The three most common ways of splitting a node are given by -

    • Misclassification error
    + $$ \frac{1}{N_m}\sum_{i\in R_m}I(y_i\ne k) = 1-p_{mk}. $$ +
    • Gini index \( g \)
    + $$ g = \sum_{k\ne k'} p_{mk}p_{mk'}=\sum_{k=1}^K p_{mk}(1-p_{mk}). $$ +
    • Information entropy or just entropy \( s \)
    + $$ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. $$ - +











    -

    Gini Index (or Coefficient or Impurity)

    -

    The Gini index \( g \) gives us the degree of probability of a specific +

    Gini Index (or Coefficient or Impurity)

    + +

    +The Gini index \( g \) gives us the degree of probability of a specific variable that is wrongly classified. -

    -

    It takes values \( g \in [0,1] \),

    +

    +It takes values \( g \in [0,1] \), +

    1. \( g=0 \) means a pure case where all elements belong to one class only.
    2. A value \( g=1 \) means that all elements are randomly distributed across various classes.
    3. A value \( g=0.5 \) means that the elements in a node are uniformly distributed across classes.
    -

    It favors binary splitting.

    +It favors binary splitting. + +











    -

    Why binary splits?

    -

    It is custom to split to a tree uising binary splits. The reason is +

    Why binary splits?

    + +

    +It is custom to split to a tree uising binary splits. The reason is that multiway splits fragment the data too quickly, leaving insufficient data at the next level down. Multiway splits can be achieved by a series of binary split and this is normally preferred. -

    +











    -

    Computing a Tree using the Gini Index

    -

    Consider the following example with attributes/features and two +

    Computing a Tree using the Gini Index

    + +

    +Consider the following example with attributes/features and two possible outcomes (classes) for each attribute. Assume we wish to find some correlations between the average grade of a student as function of the number of hours studied and hours slept. We want also to correlate the grade in a given course with the general trend, whether the students recently has gotten grades below average or above. -

    -

    We have three features/attributes

    +

    +We have three features/attributes +

    1. Trend of average grades before present course, classified as either below or above the average grade of the whole class
    2. The number of hours studies, classified again as either higher (more than 3 hours per day) or lower . Here we have used a standard for one \( ECTS \) which is scaled to 25-30 hours of work for a semester which lasts 18 weeks, with 15 weeks of lectures and 3 weeks for exams, assuming a total of 30 ECTS per semester.
    3. The number of hours slept as high for more than \( 8 \) hours and below for less than 8 hours of sleep, classified again as either high or low
    4. The final grade whether it is above or below average
    -









    -

    The Table

    - +









    + +

    The Table

    + +

    +

    @@ -952,54 +842,61 @@ recently has gotten grades below average or above.
    Grade Trend Hours slept Hours Studied Grade
    Above High High Above
    - +











    -

    Computing the various Gini Indices

    -

    In computations we will translate all classes into numbers. Being +

    Computing the various Gini Indices

    + +

    +In computations we will translate all classes into numbers. Being these binary classes, they can easily be split into ones and zeros. -

    -
    -Gini index for Average trend

    -

    See handwritten notes for Thursday November 11

    +
    +Gini index for Average trend. +

    +See handwritten notes for Thursday November 11

    -









    -

    Computing the various Gini Indices, Hours slept

    - -
    -Gini index for hour slept

    -

    See handwritten notes for Thursday November 11

    +









    + +

    Computing the various Gini Indices, Hours slept

    + +

    +

    +Gini index for hour slept. +

    +See handwritten notes for Thursday November 11

    -









    -

    Computing the various Gini Indices, Hours studied

    - -
    -Gini index for hour studied

    -

    See handwritten notes for Thursday November 11

    +









    + +

    Computing the various Gini Indices, Hours studied

    + +

    +

    +Gini index for hour studied. +

    +See handwritten notes for Thursday November 11

    -

    For final tree, see the above handwritten notes

    +

    +For final tree, see the above handwritten notes +











    -

    A possible code using Scikit-Learn

    +

    A possible code using Scikit-Learn

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -1066,32 +963,15 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/grade.dot -o DataFiles/grades.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Visualizing Trees, More examples

    + +

    Visualizing Trees, More examples

    +

    -

    -
    -
    -
    -
    -
    import os
    +
    import os
     from sklearn.datasets import load_breast_cancer
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.model_selection import train_test_split
    @@ -1124,32 +1004,15 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Visualizing the Tree, The Moons

    + +

    Visualizing the Tree, The Moons

    +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.tree import DecisionTreeClassifier
    @@ -1173,72 +1036,39 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Other ways of visualizing the trees

    -

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    +

    Other ways of visualizing the trees

    +

    +Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data. + +

    -

    -
    -
    -
    -
    -
    from sklearn.datasets import load_iris
    +
    from sklearn.datasets import load_iris
     from sklearn import tree
     X, y = load_iris(return_X_y=True)
     tree_clf = tree.DecisionTreeClassifier()
     tree_clf = tree_clf.fit(X, y)
     # and then plot the tree
     tree.plot_tree(tree_clf) 
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Printing out as text

    -

    Alternatively, the tree can also be exported in textual format with the function exporttext. +

    Printing out as text

    + +

    +Alternatively, the tree can also be exported in textual format with the function exporttext. This method doesn’t require the installation of external libraries and is more compact: -

    +

    -

    -
    -
    -
    -
    -
    from sklearn.datasets import load_iris
    +
    from sklearn.datasets import load_iris
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.tree import export_text
     iris = load_iris()
    @@ -1246,92 +1076,87 @@ decision_tree = DecisionTreeClassifier(rando
     decision_tree = decision_tree.fit(iris.data, iris.target)
     r = export_text(decision_tree, feature_names=iris['feature_names'])
     print(r)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Algorithms for Setting up Decision Trees

    -

    Two algorithms stand out in the set up of decision trees:

    +

    Algorithms for Setting up Decision Trees

    + +

    +Two algorithms stand out in the set up of decision trees: +

    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. The ID3 algorithm based on the computation of the information gain for classification
    -

    We discuss both algorithms with applications here. The popular library + +We discuss both algorithms with applications here. The popular library Scikit-Learn uses the CART algorithm. For classification problems you can use either the gini index or the entropy to split a tree in two branches. -

    +











    -

    The CART algorithm for Classification

    -

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +

    The CART algorithm for Classification

    + +

    +For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). This could be for example a threshold set by a number below a certain circumference of a malign tumor. -

    -

    How do we find these two quantities? +

    +How do we find these two quantities? We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). The cost function it tries to minimize is then -

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, $$ -

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) +where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) is the number of instances in the left/right subset -

    -

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +

    +Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the \( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), \( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). -

    +











    -

    The CART algorithm for Regression

    -

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +

    The CART algorithm for Regression

    + +

    +The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now -

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. $$ -

    Here the MSE for a specific node is defined as

    +Here the MSE for a specific node is defined as $$ \mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, $$ -

    with

    +with $$ \overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, $$ -

    the mean value of all observations in a specific node.

    +the mean value of all observations in a specific node. -

    Without any regularization, the regression task for decision trees, +

    +Without any regularization, the regression task for decision trees, just like for classification tasks, is prone to overfitting. -

    +











    -

    Computing the Gini index

    -

    The example we will look at is a classical one in many Machine +

    Computing the Gini index

    + +

    +The example we will look at is a classical one in many Machine Learning applications. Based on various meteorological features, we have several so-called attributes which decide whether we at the end will do some outdoor activity like skiing, going for a bike ride etc @@ -1341,10 +1166,10 @@ etc. The table here contains the feautures outlook, temperature, attributes for each feature are then sunny, overcast and rain for the outlook, hot, cold and mild for temperature, high and normal for humidity and weak and strong for wind. -

    -

    The table here summarizes the various attributes and

    - +

    +The table here summarizes the various attributes and +

    @@ -1365,18 +1190,15 @@ humidity and weak and strong for wind.
    Day Outlook Temperature Humidity Wind Ride
    14 Rain Mild High Strong 0
    - +











    -

    Simple Python Code to read in Data and perform Classification

    +

    Simple Python Code to read in Data and perform Classification

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -1443,41 +1265,25 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Computing the Gini Factor

    -

    The above functions (gini, entropy and misclassification error) are +

    Computing the Gini Factor

    + +

    +The above functions (gini, entropy and misclassification error) are important components of the so-called CART algorithm. We will discuss this algorithm below after we have discussed the information gain algorithm ID3. -

    -

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    +

    +In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc. +

    -

    -
    -
    -
    -
    -
    # Split a dataset based on an attribute and an attribute value
    +
    # Split a dataset based on an attribute and an attribute value
     def test_split(index, value, dataset):
     	left, right = list(), list()
     	for row in dataset:
    @@ -1537,28 +1343,15 @@ dataset = [[0= get_split(dataset)
     print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Entropy and the ID3 algorithm

    -

    The ID3 algorithm learns decision trees by constructing +

    Entropy and the ID3 algorithm

    + +

    +The ID3 algorithm learns decision trees by constructing them in a top down way, beginning with the question which attribute should be tested at the root of the tree? -

    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. @@ -1568,34 +1361,33 @@ them in a top down way, beginning with the question which attribute should be
    3. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    4. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    -

    The ID3 algorithm selects which attribute to test at each node in the + +The ID3 algorithm selects which attribute to test at each node in the tree. -

    -

    We would like to select the attribute that is most useful for classifying +

    +We would like to select the attribute that is most useful for classifying examples. -

    -

    What is a good quantitative measure of the worth of an attribute?

    +

    +What is a good quantitative measure of the worth of an attribute? -

    Information gain measures how well a given attribute separates the +

    +Information gain measures how well a given attribute separates the training examples according to their target classification. -

    -

    The ID3 algorithm uses this information gain measure to select among the candidate +

    +The ID3 algorithm uses this information gain measure to select among the candidate attributes at each step while growing the tree. -

    +











    -

    Cancer Data again now with Decision Trees and other Methods

    + +

    Cancer Data again now with Decision Trees and other Methods

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1636,32 +1428,15 @@ svm.fit(X_train_scaled, y_train)
     # Decision Trees
     deep_tree_clf.fit(X_train_scaled, y_train)
     print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Another example, the moons again

    + +

    Another example, the moons again

    +

    -

    -
    -
    -
    -
    -
    from __future__ import division, print_function, unicode_literals
    +
    from __future__ import division, print_function, unicode_literals
     
     # Common imports
     import numpy as np
    @@ -1725,32 +1500,15 @@ plt.subplot(122
     plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
     plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Playing around with regions

    + +

    Playing around with regions

    +

    -

    -
    -
    -
    -
    -
    np.random.seed(6)
    +
    np.random.seed(6)
     Xs = np.random.rand(100, 2) - 0.5
     ys = (Xs[:, 0] > 0).astype(np.float32) * 2
     
    @@ -1770,86 +1528,37 @@ plt.subplot(122
     plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Regression trees

    + +

    Regression trees

    +

    -

    -
    -
    -
    -
    -
    # Quadratic training set + noise
    +
    # Quadratic training set + noise
     np.random.seed(42)
     m = 200
     X = np.random.rand(m, 1)
     y = 4 * (X - 0.5) ** 2
     y = y + np.random.randn(m, 1) / 10
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
     tree_reg.fit(X, y)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Final regressor code

    + +

    Final regressor code

    +

    -

    -
    -
    -
    -
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
     tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    @@ -1887,26 +1596,11 @@ plt.text(0.3.title("max_depth=3", fontsize=14)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
     tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
     tree_reg1.fit(X, y)
     tree_reg2.fit(X, y)
    @@ -1934,24 +1628,11 @@ plt.xlabel(&quo
     plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
     
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Pros and cons of trees, pros

    + +

    Pros and cons of trees, pros

    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • @@ -1962,8 +1643,10 @@ plt.show()
    • Can model interactions between the different descriptive features
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    +









    -

    Disadvantages

    + +

    Disadvantages

    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • @@ -1974,26 +1657,28 @@ plt.show()
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    -

    However, by aggregating many decision trees, using methods like + +However, by aggregating many decision trees, using methods like bagging, random forests, and boosting, the predictive performance of trees can be substantially improved. -

    +











    -

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    -

    As stated above and seen in many of the examples discussed here about +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    + +

    +As stated above and seen in many of the examples discussed here about a single decision tree, we often end up overfitting our training data. This normally means that we have a high variance. Can we reduce the variance of a statistical learning method? -

    -

    This leads us to a set of different methods that can combine different +

    +This leads us to a set of different methods that can combine different machine learning algorithms or just use one of them to construct forests and jungles of trees, homogeneous ones or heterogenous ones. These methods are recognized by different names which we will try to explain here. These are -

    1. Voting classifiers
    2. @@ -2001,45 +1686,50 @@ try to explain here. These are
    3. Random forests
    4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    -

    We discuss these methods here.

    +We discuss these methods here. + +











    -

    An Overview of Ensemble Methods

    -

    -
    -

    -
    -

    +

    An Overview of Ensemble Methods

    +

    +



    + +











    -

    Bagging

    -

    The plain decision trees suffer from high +

    Bagging

    + +

    +The plain decision trees suffer from high variance. This means that if we split the training data into two parts at random, and fit a decision tree to both halves, the results that we get could be quite different. In contrast, a procedure with low variance will yield similar results if applied repeatedly to distinct data sets; linear regression tends to have low variance, if the ratio -of \( n \) to \( p \) is moderately large. -

    +of \( n \) to \( p \) is moderately large. -

    Bootstrap aggregation, or just bagging, is a +

    +Bootstrap aggregation, or just bagging, is a general-purpose procedure for reducing the variance of a statistical -learning method. -

    +learning method. +











    -

    More bagging

    -

    Bagging typically results in improved accuracy +

    More bagging

    + +

    +Bagging typically results in improved accuracy over prediction using a single tree. Unfortunately, however, it can be difficult to interpret the resulting model. Recall that one of the advantages of decision trees is the attractive and easily interpreted diagram that results. -

    -

    However, when we bag a large number of trees, it is no longer +

    +However, when we bag a large number of trees, it is no longer possible to represent the resulting statistical learning procedure using a single tree, and it is no longer clear which variables are most important to the procedure. Thus, bagging improves prediction @@ -2054,22 +1744,19 @@ trees. A large value indicates an important predictor. Similarly, in the context of bagging classification trees, we can add up the total amount that the Gini index is decreased by splits over a given predictor, averaged over all \( B \) trees. -

    +











    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    -

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    + +

    +Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.pipeline import make_pipeline
    @@ -2120,81 +1807,69 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("baggingboot")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Why Voting?

    -

    The idea behind boosting, and voting as well can be phrased as follows: +

    Why Voting?

    + +

    +The idea behind boosting, and voting as well can be phrased as follows: Can a group of people somehow arrive at highly reasoned decisions, despite the weak judgement of the individual members? -

    -

    The aim is to create a good classifier by combining several weak classifiers. +

    +The aim is to create a good classifier by combining several weak classifiers. A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random. -

    -

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. +

    +The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in -each iteration. -

    +each iteration. -

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    +

    +Decision trees play an important role as our weak classifier. They serve as the basic method. +











    -

    Tossing coins

    -

    The simplest case is a so-called voting ensemble. To illustrate this, +

    Tossing coins

    + +

    +The simplest case is a so-called voting ensemble. To illustrate this, think of yourself tossing coins with a biased outcome of 51 per cent for heads and 49% for tails. With only few tosses, you may not clearly see this distribution for heads and tails. However, after some thousands of tosses, there will be a clear majority of heads. With 2000 tosses you should see approximately 1020 heads and 980 tails. -

    -

    We can then state that the outcome is a clear majority of heads. If +

    +We can then state that the outcome is a clear majority of heads. If you do this ten thousand times, it is easy to see that there is a 97% likelihood of a majority of heads. -

    -

    Another example would be to collect all polls before an +

    +Another example would be to collect all polls before an election. Different polls may show different likelihoods for a candidate winning with say a majority of the popular vote. The majority vote would then consist in many polls indicating that this candidate will actually win. -

    -

    The example here shows how we can implement the coin tossing case, +

    +The example here shows how we can implement the coin tossing case, clealry demostrating that after some tosses we see the law of large numbers kicking in. -

    +











    -

    Standard imports first

    +

    Standard imports first

    + +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -2231,32 +1906,15 @@ DATA_ID = "
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Simple Voting Example, head or tail

    + +

    Simple Voting Example, head or tail

    +

    -

    -
    -
    -
    -
    -
    # Common imports
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -2278,34 +1936,18 @@ plt.legend(loc=
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Using the Voting Classifier

    -

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    +

    Using the Voting Classifier

    + +

    +We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn. +

    -

    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -2347,33 +1989,16 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Voting and Bagging

    +

    Voting and Bagging

    + +

    -

    -
    -
    -
    -
    -
    from sklearn.model_selection import train_test_split
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -2391,51 +2016,21 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='hard')
     voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    log_clf = LogisticRegression(random_state=42)
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -2443,76 +2038,49 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    from sklearn.metrics import accuracy_score
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Random forests

    -

    Random forests provide an improvement over bagged trees by way of a -small tweak that decorrelates the trees. -

    +

    Random forests

    -

    As in bagging, we build a +

    +Random forests provide an improvement over bagged trees by way of a +small tweak that decorrelates the trees. + +

    +As in bagging, we build a number of decision trees on bootstrapped training samples. But when building these decision trees, each time a split in a tree is considered, a random sample of \( m \) predictors is chosen as split candidates from the full set of \( p \) predictors. The split is allowed to -use only one of those \( m \) predictors. -

    +use only one of those \( m \) predictors. -

    A fresh sample of \( m \) predictors is +

    +A fresh sample of \( m \) predictors is taken at each split, and typically we choose -

    $$ m\approx \sqrt{p}. $$ -

    In building a random forest, at +

    +In building a random forest, at each split in the tree, the algorithm is not even allowed to consider -a majority of the available predictors. -

    +a majority of the available predictors. -

    The reason for this is rather clever. Suppose that there is one very +

    +The reason for this is rather clever. Suppose that there is one very strong predictor in the data set, along with a number of other moderately strong predictors. Then in the collection of bagged variable importance random forest trees, most or all of the trees will @@ -2524,36 +2092,41 @@ lead to as large of a reduction in variance as averaging many uncorrelated quantities. In particular, this means that bagging will not lead to a substantial reduction in variance over a single tree in this setting. -

    +











    -

    Random Forest Algorithm

    -

    The algorithm described here can be applied to both classification and regression problems.

    -

    We will grow of forest of say \( B \) trees.

    +

    Random Forest Algorithm

    +The algorithm described here can be applied to both classification and regression problems. + +

    +We will grow of forest of say \( B \) trees. +

    1. For \( b=1:B \)
    2. +
      • Draw a bootstrap sample from the training data organized in our \( \boldsymbol{X} \) matrix.
      • We grow then a random forest tree \( T_b \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • +
        1. we select \( m \le p \) variables at random from the \( p \) predictors/features
        2. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        +
      +
    3. Output then the ensemble of trees \( \{T_b\}_1^{B} \) and make predictions for either a regression type of problem or a classification type of problem.
    +









    -

    Random Forests Compared with other Methods on the Cancer Data

    + +

    Random Forests Compared with other Methods on the Cancer Data

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2619,374 +2192,362 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -

    Recall that the cumulative gains curve shows the percentage of the +

    +

    +Recall that the cumulative gains curve shows the percentage of the overall number of cases in a given category gained by targeting a percentage of the total number of cases. -

    -

    Similarly, the receiver operating characteristic curve, or ROC curve, +

    +Similarly, the receiver operating characteristic curve, or ROC curve, displays the diagnostic ability of a binary classifier system as its discrimination threshold is varied. It plots the true positive rate against the false positive rate. -

    +











    -

    Compare Bagging on Trees with Random Forests

    + +

    Compare Bagging on Trees with Random Forests

    +

    -

    -
    -
    -
    -
    -
    bag_clf = BaggingClassifier(
    +
    bag_clf = BaggingClassifier(
         DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
         n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    + -

    -
    -
    -
    -
    -
    bag_clf.fit(X_train, y_train)
    +
    bag_clf.fit(X_train, y_train)
     y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
     rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
     rnd_clf.fit(X_train, y_train)
     y_pred_rf = rnd_clf.predict(X_test)
     np.sum(y_pred == y_pred_rf) / len(y_pred) 
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Boosting, a Bird's Eye View

    -

    The basic idea is to combine weak classifiers in order to create a good +

    Boosting, a Bird's Eye View

    + +

    +The basic idea is to combine weak classifiers in order to create a good classifier. With a weak classifier we often intend a classifier which produces results which are only slightly better than we would get by random guesses. -

    -

    This is done by applying in an iterative way a weak (or a standard +

    +This is done by applying in an iterative way a weak (or a standard classifier like decision trees) to modify the data. In each iteration we emphasize those observations which are misclassified by weighting them with a factor. -

    +











    -

    What is boosting? Additive Modelling/Iterative Fitting

    -

    Boosting is a way of fitting an additive expansion in a set of +

    What is boosting? Additive Modelling/Iterative Fitting

    + +

    +Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function -

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    where \( \beta_m \) are the expansion parameters to be determined in a +

    +where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). -

    -

    As an example, consider the Sigmoid function we used in logistic +

    +As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function -

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    +where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. -

    -

    As another example, consider the cost function we defined for linear regression

    +

    +As another example, consider the cost function we defined for linear regression $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    In this case the function \( f(x) \) was replaced by the design matrix +

    +In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by -

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    +

    +In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +











    -

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    +

    Iterative Fitting, Regression and Squared-error Cost Function

    + +

    +The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) +
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      +
    -

    We could use any of the algorithms we have discussed till now. If we + +We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. -

    +











    -

    Squared-Error Example and Iterative Fitting

    -

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    +

    Squared-Error Example and Iterative Fitting

    -

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    +

    +To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. -

    This means that for every iteration \( m \), we need to optimize

    +

    +For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). + +

    +This means that for every iteration \( m \), we need to optimize $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    We start our iteration by simply setting \( f_0(x)=0 \). +

    +We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain -

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -

    and

    +and $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    +We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    +which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. -

    +

    +which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. -

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). -

    +

    +The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +











    -

    Iterative Fitting, Classification and AdaBoost

    -

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Iterative Fitting, Classification and AdaBoost

    + +

    +Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). -

    -

    The error rate of the training sample is then

    +

    +The error rate of the training sample is then $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    The iterative procedure starts with defining a weak classifier whose +

    +The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). -

    -

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    +

    +Here we will express our function \( f(x) \) in terms of \( G(x) \). That is $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    will be a function of

    +will be a function of $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ - +











    -

    Adaptive Boosting, AdaBoost

    -

    In our iterative procedure we define thus

    +

    Adaptive Boosting, AdaBoost

    + +

    +In our iterative procedure we define thus $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    +The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as -

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    +We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as -

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    +where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +











    -

    Building up AdaBoost

    -

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    +

    Building up AdaBoost

    + +

    +First, for any \( \beta > 0 \), we optimize \( G \) by setting $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    +which is the classifier that minimizes the weighted error rate in predicting \( y \). -

    We can do this by rewriting

    +

    +We can do this by rewriting $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -

    which can be rewritten as

    +which can be rewritten as $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -

    which leads to

    +which leads to $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -

    where we have redefined the error as

    +where we have redefined the error as $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -

    which leads to an update of

    +which leads to an update of $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -

    This leads to the new weights

    +This leads to the new weights $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ - +











    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    The algorithm here is rather straightforward. Assume that our weak +

    Adaptive boosting: AdaBoost, Basic Algorithm

    + +

    +The algorithm here is rather straightforward. Assume that our weak classifier is a decision tree and we consider a binary set of outputs with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. Our design matrix is given in terms of the feature/predictor vectors \( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1}] \). Finally, we define also a -classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). -

    +classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). -

    We have already defined the misclassification error \( \mathrm{err} \) as

    +

    +We have already defined the misclassification error \( \mathrm{err} \) as $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    +where the function \( I() \) is one if we misclassify and zero if we classify correctly. +











    -

    Basic Steps of AdaBoost

    -

    With the above definitions we are now ready to set up the algorithm for AdaBoost. +

    Basic Steps of AdaBoost

    + +

    +With the above definitions we are now ready to set up the algorithm for AdaBoost. The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. -

    +
    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    + $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ +
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. +
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      +
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    -

    For the iterations with \( m \le 2 \) the weights are modified + +For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. -

    +











    -

    AdaBoost Examples

    -

    Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here.

    +

    AdaBoost Examples

    +

    +Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here. + +

    -

    -
    -
    -
    -
    -
    from sklearn.ensemble import AdaBoostClassifier
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -3007,115 +2568,114 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    + +

    +Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. -

    -

    In order to understand the method, let us illustrate its basics by +

    +In order to understand the method, let us illustrate its basics by bringing back the essential steps in linear regression, where our cost function was the least squares function. -

    +











    -

    The Squared-Error again! Steepest Descent

    -

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    The Squared-Error again! Steepest Descent

    + +

    +We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize -

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    +

    +We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    +

    +In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    +With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). -

    -

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    +

    +Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ - +











    -

    Steepest Descent Example

    -

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    +

    Steepest Descent Example

    + +

    +Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -

    We can then proceed and compute

    +We can then proceed and compute $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    +and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +











    -

    Gradient Boosting, algorithm

    -

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Gradient Boosting, algorithm

    + +

    +Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. -

    +fitting a weak learner to approximate the negative gradient signal. -

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function

    +

    +Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    The way we proceed in an iterative fashion is to

    +

    +The way we proceed in an iterative fashion is to +

    1. Initialize our estimate \( f_0(x) \).
    2. For \( m=1:M \), we +
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at \( f(x) = f_{m-1}(x) \);
      2. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      3. update the estimate \( f_m(x) = f_{m-1}(x)+h_m(u_m,x) \);
      +
    3. The final estimate is then \( f_M(x) = \sum_{m=1}^M h_m(u_m,x) \).
    +









    -

    Gradient Boosting, Examples of Regression

    + +

    Gradient Boosting, Examples of Regression

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    @@ -3161,32 +2721,15 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("gdregression")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Gradient Boosting, Classification Example

    + +

    Gradient Boosting, Classification Example

    +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -3226,51 +2769,37 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost or Extreme Gradient +

    XGBoost: Extreme Gradient Boosting

    + +

    +XGBoost or Extreme Gradient Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many data science problems in a fast and accurate way. See the article by Chen and Guestrin. -

    -

    The authors design and build a highly scalable end-to-end tree +

    +The authors design and build a highly scalable end-to-end tree boosting system. It has a theoretically justified weighted quantile sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. -

    -

    It is now the algorithm which wins essentially all ML competitions!!!

    +

    +It is now the algorithm which wins essentially all ML competitions!!! +











    -

    Regression Case

    +

    Regression Case

    + +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    @@ -3316,34 +2845,18 @@ plt.plot(polydegree, bias, label.plot(polydegree, variance, label='Variance')
     plt.legend()
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - +
    +











    -

    Xgboost on the Cancer Data

    -

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    +

    Xgboost on the Cancer Data

    + +

    +As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. +

    -

    -
    -
    -
    -
    -
    import matplotlib.pyplot as plt
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -3394,26 +2907,18 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - +
    +

    + +

    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    + + + diff --git a/doc/pub/week45/ipynb/DataFiles/cancer.dot b/doc/pub/week45/ipynb/DataFiles/cancer.dot index 5b4b48a9b..0c1e8242f 100644 --- a/doc/pub/week45/ipynb/DataFiles/cancer.dot +++ b/doc/pub/week45/ipynb/DataFiles/cancer.dot @@ -1,57 +1,57 @@ digraph Tree { node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; edge [fontname=helvetica] ; -0 [label="worst perimeter <= 106.05\ngini = 0.465\nsamples = 426\nvalue = [[269, 157]\n[157, 269]]", fillcolor="#e5813908"] ; -1 [label="worst concave points <= 0.159\ngini = 0.067\nsamples = 259\nvalue = [[250, 9]\n[9, 250]]", fillcolor="#e58139db"] ; +0 [label="worst perimeter <= 106.05\ngini = 0.465\nsamples = 426\nvalue = [[269, 157]\n[157, 269]]", fillcolor="#fefbf9"] ; +1 [label="worst concave points <= 0.159\ngini = 0.067\nsamples = 259\nvalue = [[250, 9]\n[9, 250]]", fillcolor="#e99355"] ; 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; -2 [label="worst concave points <= 0.135\ngini = 0.031\nsamples = 253\nvalue = [[249, 4]\n[4, 249]]", fillcolor="#e58139ee"] ; +2 [label="worst concave points <= 0.135\ngini = 0.031\nsamples = 253\nvalue = [[249, 4]\n[4, 249]]", fillcolor="#e78946"] ; 1 -> 2 ; -3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e58139fb"] ; +3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e5833c"] ; 2 -> 3 ; -4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139ff"] ; +4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139"] ; 3 -> 4 ; -5 [label="worst symmetry <= 0.208\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#e5813913"] ; +5 [label="texture error <= 1.938\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#fdf6f0"] ; 3 -> 5 ; -6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139ff"] ; +6 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139"] ; 5 -> 6 ; -7 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139ff"] ; +7 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139"] ; 5 -> 7 ; -8 [label="worst texture <= 29.455\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#e581392c"] ; +8 [label="mean texture <= 20.84\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#fae9dd"] ; 2 -> 8 ; -9 [label="gini = 0.0\nsamples = 8\nvalue = [[8, 0]\n[0, 8]]", fillcolor="#e58139ff"] ; +9 [label="gini = 0.0\nsamples = 8\nvalue = [[8, 0]\n[0, 8]]", fillcolor="#e58139"] ; 8 -> 9 ; -10 [label="gini = 0.0\nsamples = 3\nvalue = [[0, 3]\n[3, 0]]", fillcolor="#e58139ff"] ; +10 [label="gini = 0.0\nsamples = 3\nvalue = [[0, 3]\n[3, 0]]", fillcolor="#e58139"] ; 8 -> 10 ; -11 [label="mean texture <= 16.22\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#e581396b"] ; +11 [label="area error <= 13.475\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#f4caac"] ; 1 -> 11 ; -12 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +12 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 11 -> 12 ; -13 [label="gini = 0.0\nsamples = 5\nvalue = [[0, 5]\n[5, 0]]", fillcolor="#e58139ff"] ; +13 [label="gini = 0.0\nsamples = 5\nvalue = [[0, 5]\n[5, 0]]", fillcolor="#e58139"] ; 11 -> 13 ; -14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#e5813994"] ; +14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#f0b68c"] ; 0 -> 14 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; -15 [label="worst radius <= 17.74\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#e5813938"] ; +15 [label="worst concavity <= 0.318\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#f9e3d4"] ; 14 -> 15 ; -16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139ff"] ; +16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139"] ; 15 -> 16 ; -17 [label="mean texture <= 13.745\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#e5813955"] ; +17 [label="area error <= 23.16\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#f6d5bd"] ; 15 -> 17 ; -18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 17 -> 18 ; -19 [label="gini = 0.0\nsamples = 4\nvalue = [[0, 4]\n[4, 0]]", fillcolor="#e58139ff"] ; +19 [label="gini = 0.0\nsamples = 4\nvalue = [[0, 4]\n[4, 0]]", fillcolor="#e58139"] ; 17 -> 19 ; -20 [label="mean concave points <= 0.049\ngini = 0.088\nsamples = 151\nvalue = [[7, 144]\n[144, 7]]", fillcolor="#e58139d0"] ; +20 [label="mean concave points <= 0.049\ngini = 0.088\nsamples = 151\nvalue = [[7, 144]\n[144, 7]]", fillcolor="#ea985d"] ; 14 -> 20 ; -21 [label="concave points error <= 0.01\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#e5813900"] ; +21 [label="compactness error <= 0.016\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#ffffff"] ; 20 -> 21 ; -22 [label="gini = 0.0\nsamples = 9\nvalue = [[0, 9]\n[9, 0]]", fillcolor="#e58139ff"] ; +22 [label="gini = 0.0\nsamples = 9\nvalue = [[0, 9]\n[9, 0]]", fillcolor="#e58139"] ; 21 -> 22 ; -23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139ff"] ; +23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139"] ; 21 -> 23 ; -24 [label="worst smoothness <= 0.096\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e58139f7"] ; +24 [label="mean smoothness <= 0.079\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e6853f"] ; 20 -> 24 ; -25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; +25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 24 -> 25 ; -26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139ff"] ; +26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139"] ; 24 -> 26 ; } \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/cancer.png b/doc/pub/week45/ipynb/DataFiles/cancer.png index 2ceb5e1f87d923a1cbee266c6cdd1b116e2ed85a..4d0fc1208aaad71884069ee860b1ba2c0aad1451 100644 GIT binary patch literal 246246 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

    $SlJpzY(BB_TeUdD` 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 diff --git a/doc/pub/week45/ipynb/DataFiles/ride.dot b/doc/pub/week45/ipynb/DataFiles/ride.dot index 50aaa7638..b9d720cda 100644 --- a/doc/pub/week45/ipynb/DataFiles/ride.dot +++ b/doc/pub/week45/ipynb/DataFiles/ride.dot @@ -1,13 +1,13 @@ digraph Tree { node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; edge [fontname=helvetica] ; -0 [label="X[7] <= 0.5\ngini = 0.48\nsamples = 15\nvalue = [4, 10, 1]", fillcolor="#39e5818b"] ; -1 [label="X[1] <= 0.5\ngini = 0.408\nsamples = 14\nvalue = [4, 10, 0]", fillcolor="#39e58199"] ; +0 [label="X[9] <= 0.5\ngini = 0.48\nsamples = 15\nvalue = [4, 10, 1]", fillcolor="#93f1ba"] ; +1 [label="X[1] <= 0.5\ngini = 0.408\nsamples = 14\nvalue = [4, 10, 0]", fillcolor="#88efb3"] ; 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; -2 [label="gini = 0.48\nsamples = 10\nvalue = [4, 6, 0]", fillcolor="#39e58155"] ; +2 [label="gini = 0.48\nsamples = 10\nvalue = [4, 6, 0]", fillcolor="#bdf6d5"] ; 1 -> 2 ; -3 [label="gini = 0.0\nsamples = 4\nvalue = [0, 4, 0]", fillcolor="#39e581ff"] ; +3 [label="gini = 0.0\nsamples = 4\nvalue = [0, 4, 0]", fillcolor="#39e581"] ; 1 -> 3 ; -4 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]", fillcolor="#8139e5ff"] ; +4 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]", fillcolor="#8139e5"] ; 0 -> 4 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; } \ No newline at end of file diff --git a/doc/pub/week45/ipynb/Results/FigureFiles/votingsimple.png b/doc/pub/week45/ipynb/Results/FigureFiles/votingsimple.png index 30ec67491f805048c416706574e52198139eb62f..f17c69ab575cf5111198630baf6a718e47aae498 100644 GIT binary patch literal 42831 zcmd?QV|!g+^e(((v`L!AZW`ORZQHhuCXLzHwr$(CZQD7!{XOS8|MTK}f+tt7v)0~g z&N1eg_s~56<005krsGvLm0Llw|{RRyQ{GADhg$Vou?!Ygm2o3!5gf*QNhO8(M8YR2wXlrTXXlbVZ!`aB*!OX^* zftsG0p7MvOqoXZ54bA_#Pix6M)=JrG<_ntm%!z=|dN{^r;v9SC=5mmZ5kM&R-R}o9@Ou$)Kfc2E-^-p&DRAC@ zS2bM(0fc|=_Be_B|MZeqK80<)g8S?D9o*oRGQd_ibr^Idv?Jy^N=5QtZE1RAU|=Al zplBVNzwHYG=Ae~CNuxHdZT!d?0iJ7z7#lcu)GQ(!o&grbe-)Xir1l?(Rk>+7Ok#1 z2tZz5UUYPH7mmxCo{I77!};Fc9&7l=O1%ZzU=-eU6Y;-7AQrt|E#3 zBBalT0FJhuQV^Xo1LcS_+t+t9mlt$ZQjA}v3y^T1*h<&4u`}q4P-!v$Yf!e!{ey$6 z`&}QEE#&IH6+}5-B>ydx*H3^saR4FckAG8N2mutqoV`M)L-D$~xv5g37QO;k6DU(l zFrX+IIc9h2wXBR1l}f!Y5{IKgw*22sQ+PxGQ*14ER!t2(uQkN?zZbVpNIqcx zohyVy%f8e6wZBEkzi*T;`J_SuiT=0Kv4GoK(kiT#P4c&E1q3Mx$)UKS*xz~mHvSGG zi%mN^%rvBh4CHiN?Lclu=WVV{T^))p&BZ|WR-X8W7G|N~)_s`kkt6Hb` zJ4#8|-{(W434rsC=S5?K{S)t71=T-kV^ROdzvKaFj|Ot8Cvd*%4VKR?3!?u$j}SQh zYB;dbd-m;b00?k!K$c=?qr%^N6%ad-UWk;cqEb>u6KQP7XlT3V=WxEumK{AzNPlI| zCId=kd81zh+$#`Uy$C#Y6`(ZA{%C*2vhauYP1$-=^Fb!1l`s|;7cX0#fZ)!7_%~_= z9B_KnFqAO?3?>t*Ea_i7|36>xpW=2b(UzVCzx<~;jfzk}QC{9}I)j0%dGnCqVBO^! zBk57EkLSZ8MRG^>^!v?$2(0o~CUT|d~5c5NAb{hu%}Fh`E;FOQd#=Z%{aDmq?HYL&J2 z`{Fx0J58q*t+oyh20(=ql90s4#LSf4KAmdlS5$90d!sGUbiUa)mr(w*51lid zsv##gw|uq5@mSvG%hbpFD-1OB4|evH-@m~niDTD4k{L|CfBVJ@G?%lM!ANX2eju`! zP1dVZS*+CB5|SV?g#z1EtHwVG2@7YZ zl-g}cPfxBpySwQNYS}K;9^TY|7FzUwCbWIx2-Hftw1|*Uz zHF6cnkLQY!YK_PB`$JI{-rL>pduC^mR8&-mrPD-#;;6Q}JJnV)7>yvu#KZuR(|pE) zl_z*)WW;=i?%%>{vH{^aG%|9)klt>m59YLCZ_f~@WK1sQY+Fgu3L76yP3+;};RP?C zQ>&}1Bi1Tp6Quah?%sid=gpgA01*o~0shLxTB}uN@0Vi|V#%Z}S?BQ-CZMYXM90Jc zJu0ZnnjI7X=nUUJUN7es7WC*Ttv$X=k{I@PYh%ZGz!yzRNzTO?IwcX|i&KC%z{Dre>t?@vm zh#XF&Pn*|=qtp3S8w}n6JtC+sBj)pB=ZBE4?hgw3hTZJ`nM+dSe%8!6P zDD3_TgBXpki2M(k#K3u_evs{jd>bcsixH?*kJ|SOkfG6Z`MTF<`QK-`e*#*djpISQ zlDn-_r3)QM8%?KkI!nd>Eg>TiNT~g$>ygE_J^AKt=jY~FE&nr}5hRc)p;`oAM``0Y z$e{^q*Sw^EBl_?F(Rb91ZxVuvSA#yi@qtpUMsN@GUwon@49<%t){+Hr^oX>-Fi0Lh zVx8Hon@RIuq#92I1VdZ)-KZY!Lz2lIsg`Ags&aUri9ZA)A2})itrDFe!12$R`5<+r z)Ifuz_lw)w+S*w|7~nr(qXvrdb%d(HcTl(H>g{%N^;{(_UF1KgE&U6Lc^?4cVf2B_ z0n*dkP;~wCtNO)4LPBMl%`u^&p`CRJ|H&NzlzUpwfiym*9O9^ao(!<&ep>Fl z50A?^)aG`(RBIA7%jW-YlRmu$1CHn^isBMSWlQI!A3tACE3rA8&o0Yi{#$}3OAuKl zB^3Ae5Bv0s6Z;0JvAkmYC8i=_DHeaLC67*L5I`Jot9rDAhlh`#WH&g$4}|6QCX z9fx6%DG@v`L04DSjg1XgH#bB?M4-$6LM^gh!CsI1>^!ODIy;-C=Nb{_v_}WEA&}<<-Ub)A6Y$L*=ije4uH`1MUW}Y_58~(9pWw7%o(3jRIqh zWJa^^G;LR)HtqKd`z5CRv1cfB#c-zkMpzl82hr)5Gt6ceGvAZZeqx1Om;G;!4EG-rd78_R#*H+ZPwommBTCa3*(_ zAbw;t*1Mi%mTvLraBqzmM?*_)@B{+t`L3BN?_zk+GRD8=?am&Rv$|W|dh;?lF~8#9 zDD_Qwt+v3RZ#03*VX4D%nO(X1)kwR=P>nRfJ*!^pI zPQD=g=dc%uAb1@P#sXXD1T{b z0VWDG$15aXD2{JN)LX5lyV*~7g;Hgv-4Dzm+iHJleAEW4eYx=~5x02WZufFtz1w&4 zyg4&2T-3Pl{v}aT`45?-sL24BK%j1QKL1Hb_*=*OIRKapB}YepbH3adKbp=>^~^Av zE!f`K;pgK6kw~Q8zaGS^ba^l1_Id$s45N1z*DGCsBr#ICdcFQ^fmB>#Vk|HoUU%6% zr`>BSD;sk^1IF&2)imqH_~i{#D;!|{!wu*qot-=YAo2%kEeERmIwvUEJ^qSCr@A-6 zgUf8hn00$?{BVG___UF2-|t*8I~|B2452Y*Z@^}AxXrak(-xAW%76aMoyGnaF{VpM z3m$K@bLjZIGXcXXqsgA~pfZsTf*YxKkStB%Amv(;v6p7F^(K+?Ax|quoJwm6I!7+Yc?*gT3@$C&SFh0U#$MtM*u% z>MQ`plS29Oh&VV_>kIi3iS8P{5C3Vi1eFTJ?-vI%1W;299a7vRp0PG%fx7qsi8VUaQODzqu}2s$6c$<-kP3^)G?~1V=?RCN!p5470uJ9518h zk%`c!Y1j9bZDKdLH4Wv~ai^opWHNt%A7KX_Wu|%*wd72+SUm~gK%1RQy#{X#}X1^ot$#B_DDdOICfQ*%m6U~Oz( zvC118S>og4;f+%1c zqH0CYBoziW)Z%n5FRbV@N-U&hl@sCi_4jWd90<$He|K_n0)}(dp3C;;YYu;+qX|P2 zD((@o6A58zV=Jm1C?*=O>`b2HHVEG>SWh!+FTbBATtNZi`|TfBdoLeI3S3A5Tq5-c z)1P1SoDu=TGL1Ift*=C@qMcNm`OF{2Z~c@peGBxfWozv&xCVO4`1n}xwnZ}uWjHN# z$s&=4wA)i;8Egst8}?kE6JB8u#+ z1ZuBmzI6E(P_EO7%frKSy6eEQ5tcuDjIAtI`9JdQvM3IxlRjXMo5bNl4a_R)tQ%D+ zC6j1D(9qBhfHAvEx&w%mtu5{C;UozoV;nHjY->AfjVO>z?g3`qfT_N|1r3*|lY}I= zLD>?GpJELOr1>)+Tx>oep;(7jIh)IGnN%7Lw!k3r=JvK5D-Kl!m9yiQvjV{o9XbZa z(GsYFvQ-`Thpi_IBRRyz1vUIWUlAYuoOH){W4*Zb#d5~4Rt5BfLm?I#gpKiNljjaHvUn=4Riu0;2UeNZaj0T?4jJ=K z61E5^ji*~@$0edqslQnB&l>$9m(@`wh<@n&ExG`ak3>4{2RS*cFEI5NHj#&Hp5J{V zA|e#i2ckL9y;Zs2pFoljaJs~rkHjF0$0Np0A}VlH+pY)$%u7ye z7ugV6KE&}1QExo{P^o^j8DKTUE8S=d-yWo~qiyXWRPP%RsVLuyRC`{4v??UwVvPAy zffg|)KT~)9MyQ2N&#*AeV(H8n7kHs>OrmiJ8^&4_0_R&K7xQE1YC6HBp@8mTI**CT zQX-G9=Q#81@9!^CluBh&1p=<~nX2)4N`Q8y$!deu+uf`T(9XKE&r+By%8)1v{?$@+ zSz1njKIU+#+MrCm9@fR>H96Yle5D^4(^sof0#oT*;Kvw%UMJ{+#f07E*}vnx!)eKz z`U#{;)zXdBT!NTE1-FJ<#-3gczsp5zIcdBB(IB3Ca2R2Ir|xW#W8e40|DFWoX|MZ< z7=j02jfv9B0Y1y!7kk6-Fx;{3f^DQ=Mx@n(6azW~kVnt)aOxo-J1Q(anme&Bz0 ziX}2=1q@0QG$3MBWySS>QTeW}PDHeyui1K-6J(#anYq|-T*!SUOsl(vYdJ*IyVo+*WMP4|kL6NmVqHs1(^x43ej ztcTZgH>AzRicP=J@e)90akV(!F7KDg?U6Ei{fOqtqd*~MnAU*5<~L`4418KX@2o(# z;5~;-tVOZhU9H+Ba5Y8Q!}H55Sbm6bMRVsShhhp4`H_co_J;nE23H_VjD2qj5)ZWM z^hLj|Klk4bSj}f93Yx37nN}STe2(r}9kIW(qWQPteNBQd2}~SC1mCXAkEYgFyK%cc z0HHM)_-Z_v5g~12LCu^xZn<0&Fk2{73#@RCs?1UdA|Z{6e9@Rrh_zg{+$7(3qa1!& z>aUGldYw6Y=~5PPzN^t1Oa{Vf1W`PvD``4N2fH==)j`HL9?sNnj)9g{Qs{1Mn^DGW^@ts9 zU>Pz{2%W-V97K6HCsUCvNCM&Ame>G&X+9(NQzB4jq`RYl~y^eO*Uv=rA;ahj1^m+sK z0b-ZCy+l)Gfj^hfdla=jSUleOz{8+7ertQBaTVo9;vBps+LQyVmWYYldq=(K*vo;) z0;52X=6NDY%CU;p(ft@+I{$BhIf}gWFHxjl#^QPLiJ&01cNz`fBlu z4>$epZzE&I?3P@TaX}O$C8?WjmkLG&k|wXqhhH!Ft;NYUeqFdiFj~et*j~6!W*B@f;-su?SEV=H`TX6KzxU#U(?t!nn5zjze2c4?--h%ciD4)P7 z>MAE(WbA-gAI9@02S`p5ol#AwNo?@V-~${QO$9=+9{u9n7Irw6M%g)Yys-oFIrG78 z-ib)ALSH1m__@|c_?Fn`*r4&qn8~FS;E@J;zl$-BpHsZ7RlRbap zugijCc&?mfFO> z@YFh@+D+U3G1W*R($|_0Mm~i+ZDT@TLNf}6VqT+yG+OcapURQf>Mo*5cyhrU@_S?{k{n~QSv=Th)1O%6hHLK*#H?}I6 zBFfyMSt#G)RPVjlm5HN2HpY)!YZz$xF>L24ANV?I^1X*NRv?5O3n{~J4!ui47r4*a z8XP@qnn%^Uq<~DPaKnLX%g_kojS%?V=Q+!V#|Wai`2ft?fQ3|qm2?i`*2rBw>a{i* znZt1QweasC<&JCj{G8$>ZnP{UI3~fFi2^DM$1Cg>IJ_Cg^wolcA3QatqCwu-U(=_$ zU)pk-0xPvw_!Ogbty9*XOnbtV3`(-sWTk_d`}8&wV#F`Rr5)_!(#qE7M|)p9HOz<{ zW^a>c$fFT|abuHmc3on0GUN_^4UI5fixcOhf^_YD@K%$Z(w`b|KYge=!BWouT+w~^ znV87WpZ*O=sz83t#Y5-1=V1@b+^{x&OWCmT$PL=jo@{0*{t8QjHmMU$A_{StxmB}W z@y_ZCMRgkEO6Z}s8RV>!sIE5on#|-R$r)$8j(U92^BWaJ(sJ9!%_eZ3XzK(bV(&~V zu9rfupYX~G4u#F0BAUS}u2X6u>P(;1e5j!MaktJDx#WaoiOmYFr?)?24Vfd-Lkye9|(fKWrXu% zcoKol6hUA)zf85-57>J;IXU~3<#|1;l_*)8&ngCyT^!t74w!`CB_HndiS*&uyW#RI zD9;-bir6M*)5WN74Q0-MEpnj1@8$Wu$sU)tx&Obp01pXKWOTX@vHodxVpyt(G>zEn zt*;31@lbz^VE|Q-@@!xnfByX81IDsgo^YsPeLW=1vdDFCVrB;tPBta4%hoGUF9V1> zCHP7@qnZ6El2$0e;BzTdrs->pH(#Ch<}oqsnCaX^3Q1qEYlz4?->hJmFd?o5G!U`N z@&$CB2dKopJ22cNyEresWP96zw+uDI*B)Hz*`-lk>WQV&a=IWpxaNADE|x2B$SJ4| z4&+BtQRZfx^w8j~95UWxEk-_g@t+@XnvX%fa%W|=_%6P7Zs;~k>o|gLRZm1+8#aVv}dFQw2GCdCZN~_|Q1| z%!x*?*pq64H0*?LFEPg@(cMa9HecUF5npHPfL}YHn{M^WAFB>|b+BycC>FD%sou|Z z4<5?nWDz76b99(1kS!anr6F>eE)p`|>`-;HlR)jpQ-JbVch$H`EcX42bSD0ikW^M! z;I9sLX=SXkT!?#PHfSZS;;yV3z=p-Zng+op7z^H2NOWukf)|wa#uf@B!2!P^Pstt0 z(8NbfTAERkZ1w;%CKEC7ud0Mcwan2*Xc#g2Tt)UzjuOUXI*ISxa9@AZCf^k);*ui6 ze!rD?;_i$qB=A#<@d}(5+Hb?1k8!o3V&O<0J*{Nce2EC5>|U*y4bBBijaZuZ5j9Byt8s+x4pdu5%&X{SOG;_8`zY{jV5GZW0NQ@9v_%&L~wr>iz9d87Z4uR z(jW$VdsIHUCUwNI;YwV?G3L#;7l@%8x@?E>a$*+`_)<~v3pvpepLR>QH8Y4%Y;O_6 z&2&>c#$vr$=_MKJ2{gKs_Lm=xYZ4Diqk0qu*?XUBhad>L9MbfTw77V~?bxgmu>CMr z+4(V&?y~W>?zq(ILc`^L_k)TG&c7STHUN8iKFp*s(W(r70sWD`jAB({h5i-*Y`1hi z`Ur@fNCDcWMY(mv_zqcY0v#8(b8^;NJAsgM;|-c7AAPLjQm`(X$~2z9tSmQ$gk z9auZ$RjRGlGyf(T3v6)!^V0CFDk;aLI`;H*p3EFlL0o;Gi?+kGBcz~0joVmi6_kYO zf!=u4@>DH)C)1D+PM&A~tNu#~S@o>f@$Do?2o5WhZm0gj>dm+}4GLS|+Q(vM`A)MMNk9RFqB#w_c)dou}XCHO|djUF%@+^y!P!=j?n zt>SwbyQ}cEo_d2fct`392j>TrGlLzQ203qMqfO}AOYxhC-&Gk$QDr&jfK_^8e+lQ> z=}MDW9WdXKq$suBr5(qKTW%4z!ZBvILmWPC&ohNk{`_Cxnw_oSRcpNvqe`EVsZ`fZpA{4eyMA)*Rd7d`&EvQlMVT5}o>hySEK%AYe{}Oc> zyx=gAL=CBudiYh@Dc+BcN0WfeAIR zjg&d%s7C7|XMMdDY+I_xLCp$-9Sui3;CuegPZ8LIvj7{CAu2(W{rP$mg?j<;jSp%- z1s2qfhDM~xl$^OA#gMgGCPQP8_M6Cc+r3+sV%Kb&2nP4qZsyvc3Z)V!IB#2B*oGxR zih=3$EQ>Qpj0yJTrFXIrE3r31<=Q}I#yh}OJ!KRs6a(#%on}gHWe}-N<~6~9l>EgX zQvgJmu}S~+=6vTnua*{~J7-ciR2&6%tDj#!CoJ+kLP3*|dcSLja0moZWF|xZ6I~RV zYr~De8`ZmM@jdZFAl=r5#CS}q9Sv6q_>t0u={VC(j##g8Z;J}{gb{zg^=0Jm#REih zQvP|nug_eWdI7^x*7eDE%lE`1W99abCH?#vCg4$Z$&orvxWAl;1XWCOluMpePQygI zDn*vUMSwmf>0-T=!Fr9=cp@#Nu#g1U?yNJN_5<=irhvSj0+~#2wo`W@Q+@qsTRm2} zLkQmYaJn&ApG><`u(JIeywN^i3K{YQ)yDV3twdxzEQl^B|N1znQM^d6$oZ;Vfp?g; z$8*iF#O##ub9RS1BP_@Q+^xVmb#tzp;)SLgBONwBpYornXYV&O$8~12&|kmiy-70Z zbhaVo%XjZRy2~XcPZaE%rARhL~7cmvPA6H1e)mN;|RDYzFF&svD z+aDZfjy`QUX9`a;+`fLFL-X9|iwe$LJhw{2qa93re_37DW*fGywGoBOe{OhmRcll! zwzb%J8AAQl=V*)4UKGt26qF#;>tVixYSDxQ zOiXNs##A{aC+OVV?N@X4B(%23#jT-Bjr$C39^Mj|a$_d!>!Le!2e|-lJ#u%>jDDJNa6KWbV@vE5aJmRcDq}_r7;J*86A{Y+qpSOt14sj@^)9;k?Eh zx7E|a^v}M_7M-cn(n!Knldbf8_}|nkl2cJ{*Csi#huS;zHuAeTz-^Lz;;njFZ$&Uq zKs7QFif49*`hO0(bT?jYq8bc2IefIb7rQ4C-x|(X8$V$5nrZp2cQhD>BqAK@%0cWd z&;`HRa*Lz`d#ONrncdYEACR}U?ZrTSml}Yv*cp1( zGs9%ad)3{0361STY7{N0=2#?-H=q=1)P1vWE6%HqCVF%9 zJAzEdDZY!rnu(L092-OO&7bB zsW2#EqFt@3z>QGOl6dh36XTy^<~IYE25?So$rL_GgNitXd4eD7e`ICPxdJ`%02_{z zxm~@f`LAfS)jfju0-dwFc~)Za2>SfZtwOW_)b@+Q{|@rYB=bn9QB^Z$dFe zrTnbf{wj;{%cJ#-x>cQw<**!rT-p;bz8a^^4Mw)eBHZr0xMPgAO>SNm^)fe@YMA| zwhE$aCsu~hg>Sc<28vf20f8_d4`kq|$gUU!#WPFxDUwCBxiuEoOMTx^Db6;73e00o z_BzJn(_ocv1@Lf~DsDDc+6N!8o%>29|F8~kjk7s;#Y@> z(^^$0;O|YD$wjX8UTLLK4X3Z8iUrlAYZ^<>M`aaTej%0b(*#|J^YBZf{n?Ng3z`#G zBo6uMgEsNhI(04!k)cF855j~m&8)S12;;U@oeQRuyT==f9zGB&Q1jVVZ+CGS_dKCLq?(cLX+=fKL;9<>2X zPYUp+^Uv~?w?|@v#hQxZ=F+uJPs*#)n;HwPSnUPA7E0Th|6cQREVBA4^JyUMzwd(0 z5pGij^|dL$q+@0Bl4U5Qw)PRdDs5)Bl*(i+%uCiCl9_YF;#${jPim4ZjS*q+^iF&& zv?E{Vx7F{l$HH6H#CIG(NczU^guvu-`cD>b8X8X4_>R$iy(yijrxevs)t%1B!Jll* zUYpA=)S!v?gZ&gi%#BN(6LFW^#f>FC!d~51NDb7rQ64-7uYDl6$9K?CNiSJ-g)>MT?_{VjHn zljM+}`?*#&c_OQBsCy0TeRHd!AreHzD-s!RJAM6<_QxHhdZMT9`bPfkcTmv4A7ZGH zI3B;Irm7Ve4P#<%^kXNzq)!(Lv`d9>Ax^}U5ZD^@PCh32 z-j0pn!c=kao!p{cl#xoTO*uDfNkMG%`>VCNiwvBwKZZj3tp!30P2f>RcT*D+fhy_v z??)QZgvUFo>EP|uc<;`;^5zd3C?xolBsnZMM(vx`W6zIdCBoB;jl+mduk-7Hx9)Q%3RDSY{Z{W@E$*&fGJlV#*bP-$^R_9_zk{_GsSg^j3u4c>f_>*qC zxypa&vydzn%JdE^v?wtdG4uQRR~gvSpq;T_RxbPa*!MH|L0h*Vv+k2MXTUU6Gap5H z1~L|IOpCJzV}hy22BXi#<@uX^J=A22Rh z;Cmh3TyY&?bT8dtN)=QR5mn9jtjc=w{!F%a#BvzKIXzCCkz~A3L|M_j(Yuyb?tmnI+vz0@0T8?A#Nus0OXx4TrX;05v-_=k;ktzPWr zjpCHXOycq9fu?-FAc%+=(}>g9LRroy9)Y{(WG_SU&?)C$s`94Up5BKX6Zc^=x)~89 z+zQ3-p$)r~JT_U;iwei_qKSo>qM1~Qe4&JNE($3q-y10@L5X3H|*O@zqZNlpU*XG&d^6zMf%&3 zD=8soce#*sa$*89X0d^FCjuZ@71&Wi#NDVv{au<|3ox}mm(93y&-gWL|5+lx9@>cK zHg>^^P#h`~-FZz?`S#o8qKpTCiMKO)&l^O*%_UD#j-f4@jJ z@9>y)CMdFh+-h*k1igCa$=uq4i=;A&g4zs`pBCkJ5GBbQY`B`xu$iGF52Y@~QZ*{k z)lh|%xBZGb+_SB}8gbY0@OT~d=!uGzy>rGuxgeRS$IdVOcVfjAML9v(NbN}PV zSZs_YS4TFkBI@GJe5bSOBgH&Z(`(`ONxFpW;w1=l1zgttb?n)xzQs(Ylltg7$7Z*X zLEd{XZRCgPsmW#itCI75TEI$fk}}3Aj1))L1NV(-Z8p}V#s&y95D40YBlvNUf8U(V z&@+idM%x{-0_wb8vu>`1W=l{yTs8v=jCN;#reS5*?*}$C8JW!HPCbJs;Z3FrHAf+6 z#l*@bkAK4vk`p8Q=MtxL&KU0l*SOSPTd$Ur)Xjy1kKycw z$q_8-JsqedU%$g}x4v7`^Ylb(eQ=@09E-~=#{X1gOHE)} zTVFGBrEm|oj3{lz?n{Ekd zd8pI34!$z-635T9mLlmJjVA+Jwf~GspUc20%TCBD<&&x@h1qqx&P|12M^^$*iT|A% zHwW1ogK@yW%8SGG^F27~j%a8$J~lvUOw+Asqn-%M!D8^6yWq?9%ZWkKWW}qiMj~n( za|?mCwK-)>8+_ihrJnBQ2C()OJZuQ`O7(Xq^Iv>?J_it*gqh;n*eX0o+#BIUiX(NM zgYn{Tv2896!7Cf3yp`UTypp6@@rXH#v`9-Ym~S$SF`Jv4J#WO`*U7!{XoQe(Mg=;( zyP?R`=H6On%-Eb1q2AD_YPo69SIRdW2EtRNtu&h1nr^ym;@-4{UsLfHnb@k3#vdpSz z+hJ?jP2`wZ=U0YBepjG?FZAxI(>c9NS#P2Y=uO@G!(>Auz3=$v7GV>Sfb02Y+2b0o zBdOiv@jD*gWgT{xUjWtd)}hQ*8N2b};k8%uEeuI+j;81bL40`XeuD4PF4=vCgS0I) zjY(dvql3ZqPCw_vlEHlf*QZPykZO0f+Bj*(_V~x(nCa9h(CR6*%rOj8g7hteh6CC-)4T~s_2+!^aLj>IBWN#hxi^I9H-20SRF zt(`Gz@8afhD;}J7sCYl0cz34uS=0*gxY4)uZa?K%D8W4lAJ0aGhBcc&v~f;$b17-M z!R(H`w3fG6cYj3VS-Zb^pKxCPhGxxK6V+;A(d=@MfX#LC#_+Q#6Ynz=cP!*AhGSXl+GzJEpTv4u)2K5=R49<-iy{2De&9)BanNoz zN_}ZvYD*d@#vqX8Zk4z`d#9`$2dohLWhEdt6J;O)i(E8*|GGh(5N5O_e zpyV4u1-?DJ+O-XyeEge-f8}x7SmUXWls5}ch>6N`ZC>@{O|Z{O46xGZ6DY06y(k25 zoKDs-uTKH8+JS8T8y*}0(?EY|q;HcV>-uX=TIE8H@%1nkG|rZQwe>8j*_-E{pr}}p zOJ_sHu|t92d;z`3n(IKhX%o$JS`Ne)K+&~*0K)`W)`S_^T6v;P^m%*gRSK>ujHvA! z*iz$&8DeY!M(=}x@HCw*4YoFaXwJv>3LuEtDA#sn^kT?o3MvAPeH2?($O#W6K?>7U zx97Zl@Ka(F>~+}thRpN_02YX{an|D!jLhh;)2FAI2KgRt`2Na10znfN*N@h&0D)&O zWAYq|VszN~Tgs`cv@oe1og1h>_#0<@Ih-7?GcwR|Zm-d+KauOF1xMxrgJ7U8L<4Fs z%?2r94!5DA|3t{-L1x|zIOMl9VHYj?6v`YutYIae)zdrq$jV~l) zyD(fhxlQw#U^n1GVh7!}^Dbf%my}9c*^!U|t6+cDbkdIaEWaQh;@jT1qI|5hQXBFi zr>{l_D`HdgiH805%s=bB+`i5viLn%z+}L0OsP=&vb+c{fyV#N-}iKkQ;|7UWre%DP|sdk{-b~oK)H=uWA=+-mqc>sK*mx_+yDys zTI3H^@?G~5)U(Lrp=e0_A)ULMU+AvhO^{qA@|VeXT|EO52!Dj(PHpRSj$Nl)si#dB zk{Jy|MKrS^brTPpH(dAN6#|i>joP5D<5`%bpNC86x3_GuSDeEnUzXRTeHCH`E<|)}sljt;3X939ZU8kgah=rjmE=bkVNbzWiGM+>%`xb-Z}1 z?q%nSA^dauGP-xS5mASa^RD})h*u772BH`qHsFgWEFrf4z*@v@v(?Ivo5%d>3zAnh z^E!11gm#v`ZFGh7WFZ+F`Su~ND zYCU#Du9#^d&y%~Sz@tqp5j{hZ7MvuRFcsYH`@m{fk5}1da}+n4F+tFd*2fIvbce2k z@g|kUEiLVdMHjf;=uN~DrTwpz*6yGW&utQ;rgolGRHI%`x5ls2HXlMlUq2nvd+AQH zeyn^nKo0Bk70)xfC4B;`*lO)7Zejfa1K}9{K;j3gbr@*D^gdEA29?g;%kLl2{z2u)EfF`cgvjdtGdc00RX zrf7R1jjh5NtgzM``6V4y4`wZkv@pC2T4&HO9Oxg3A;GAk%3_;>4eZEoVtE?1b;t4q0? zvD0|p{&eba3O{9!)F80QA5aw7NfBHTY|y(7>ED~%yRv+%{c6E7X5HZKzw8SNfteq; zv!ZWonZhUk%gZ9_G^k=x=*txFGypJL-3~z0-ilYz&IUS4;929=cW-aB=I{4Pc^!bG z&6G#eKjt~727{#iK_n=VEKvD|136U@Wv=GWMYJE{Av)i*xqp$Oh}Vg@j&aHR@T82 z<7a~2lVs^CMmYl$&JK=eCCc~F<|7Cu`=49*6?$Z*S?+N)K|lI{>I{14;P4b*@VC#H z?K>tn*F<@9KD04ZF|H+WfzmnG=~=uS!OQ7D!u7Yb-`@S!hC6CIV`sYhw`Z?(gv&f7ra_yhHuVKzl^kj z?Y4f^K;}28wPe+ERnXQ6!E^FYX&u%^(e2ht`L@1mm#$n91pb3DW0?)`uTBlh_4xi# zxr!x|8KZvu*?Wzdf!Wt%RS9hOs}yreLm(x>iBZg~5Sz|eMP%j@i}+k->&CE3M8d#B z4?qT@iw^00y{cqIk(T1ZG%M4En#s*iP>|-uE0he7(Z8mtr~dCHqTMa|&}i7nj4_C~p4BN*=^V z{rk(!%yNxJ^~}M60eaw>OHeSJ+mNr2V4ok4oyFz#oiGTPjKO^Vdo(|jlamF7R}!+K zO+Xu#sOZnbfwAlHOnzQrA&Y7SzTDvcWWrP%=bE|2w33pVL)!#6_?9{CmQ%Osh5&;| ztnrA!-I^BQx6d`iigrUqzgA(Wo9#8~Kr^mjZdH}aws;9Mf=cJOs5k>Gvg@Lo!h!sO z=TIC{hPe)5z#oJ_Z{9c=WaHs6Kd>)P)b|{%_SrA8D~a`kl@~Yb9+5BD`+19E;o<~f zw~*gWZQs~f66FjCJ!M%r;4gmE(B8~YEJJ@m9nl=QqIb_u*qcnp;o~56q#?|q2j%g{ zE8ZxM%hbyFd*CgL)26%g)&}y>8s7MJe>AvLo{_G)t&=teJ+ju|RVzu-np2)5JTu>> zDz0E=dqcqxaY9n4cf0^FN$mzPzKnkw!_TMmdeMZuzwJI?SMTC$2J_iRuJYiL_^nEXCzDyfGU8U{W#DHZzO#AV zO?}q7Z2Xd%d&l$9a!$Eu*HBk~5Pm@BLq_@b2Y;sv3I#=I4R&XP=Wv%-@mu3flMo-W z;5WldIpO0hk9@J(OK%^|R7NRw^p_$T?a!$-uS<{3-+LEcnZp`^FDqO*5*LSa(Cw=I z14){U)oeu&Ap*)o&SD>(9WSCk(Y#XzV_5`ixpGp*XIYT)5~Ofq2&doIFV=4AV^}4A znpM*LWT-&0XwVVpgG)!pKIHY@DARK!=NL3d9-LWv zHTbEQow@DB#v5pM4vS@cCiOS#O?KXgGsod+vohAIMXuZ#1iMJXLsxjQQ*m;KBNy-< z+PIT#uhj5`v8&dt5m#5Xp?E%NB`%4t*t2@C%*cEK37 zG9tx}JC5eG=p{$%gNtc89X{A<%eTw5|BJ12jOw&|-+oOsxyiQOWZSNZlWp5IO}1;Y zjmh}N$*#$sY}?P({agQc&sz1S)(Y3P_qq3p<8xR-4U4{=ewVf6@U-T~@TCx=Twh8o zl;g(9ZEC`d?Eh17Yd5W82#D+SIA2~~eD2QHM&n3CVPGvg$nFk}YBfEMXzT?=q@-Z5 z^gKwoxw*#&Dl=h$ky|R>XLK#?%ufmAwQi?c%|#Z#329W!DG~_o#6MmrRWtsO&%{M6p+5XkJ0Va^haAS2JN_$4_ zqp@gDUVI#kb5PcmcN?HvUIc&vK>WDB zL4*p1Qr6gB!y2b(K}J!QEzw)*V&3q%mKOqRl(61g457;GVvUBHD&Ao1-JEjHazz&p z6)=?D^5c;kp-6Q(!^*aHt>)G9?>_z^`Aza?!6#u3dS?Yy0c~2o`LtuN9W*!n85f0z z`$|hq`9`Vk`rF&kr_=S}($jv`#>5;p$ryYZ|F;Clb3Ib`-*#hDyauzM@ZIn>R=EQ6 zm|N+28KGt8-4b-gWQwv%4}5rB77tu4I&}>mQ5b64Nwu-7TSUV}8Gi4V^MieW4RCQs z+Nt(X>{9Cs=8LL}bPl_`E@J=k(dPIJoOce)XO(U8&|@JO>=kRbG#xjN9kWh$)cjjA zFRN~w)cnhnUq-(hWBwNV3XOCH zDC`?NkQ%kd*%x#~eSG-xM}x}|FRi`(^u$dK!F$bhWWVb%PSaSPg^sa9%N%474y)O} zPfYlnv)6Q4li&MxhTd}T_Jtm4vifs>FUh?$6pj z3oUJgG?rd>&3Tu6>Sng2)*Au*<@x)uP@tzO~S zs`GL;EqPL|CqAf9x3aZxI}?9Y0a-#x;jr1i9p1QKAaw{I*qtvP2^J0x(N*%B_}9ye zotS2o>LV;q=Sx8>O2BVfCW_0;l#G&WxCHX6m11R0dZ({fm&P45)CZr!$V*O2Ch#Rv ztF3)wMkkL&WR3)KPG2X!%S(l=DwvEm4>GH3T5eFKG%(uA8dw}%L6lMtQL!+?=1q%h zpo$lI3G3_Xh?y9%Pz=T>dDaEYR`ZuKFp)LsQmU&k0IA6AQIiIqpmx&!Zr#bmOhx7@ zy0DVNob!9}1jXh2ihUwxVcsHR{*2Y(bR#Pb^K=^R$kf4&&wKfx4Buro^zeZzQUbZ7 z$4rgSwFvxlrI1tV*-M7-&Rmw4Y<$cmiHkJCwu3YSg#_Kt6-npH)v;=ctukXDn4HzG zafx%71D(GK5fx5uxmkJwqh;Bir(njlZ%*B&EOMVGbj4KFQ1rhABBP7loGgjy3gXo^ zr2zGhGFubd_<(aJ>`3OZ6|b2ZeZh#x$X7R1B|s($paVL6pN$%|mVkiW*w_e&Oc8<1 z;TxWea3*a6b=}_S!eV3FX-d7o_JFg;wS>{%)E@9m6;{KDF9 zyNp&qSdw&WIJmST`ZzW)Fu7oepGpY`xDFTsM!HI*n!`_IotOHE^)UG`LP~sYF^Tk9 zMy<1#a{R9vczx) z!cC1tIOH@J9i-*zS=B4&tx3JhPayL%fugr>)_x<9x%yr9OQ4bnBEN?p71eDKZl}wS zQS86u_<-47ffYOpe=g_>JxO61xHb2){F$Dgh4kM=F5-G@^LYEi-JxlJjuK*buu;V`_qw|;6(G0T~{JARHSSt*;;|Y z;o0We@{iaE+w_aI7-m^hA_DGgY-`S$nfs3y-(TK#-g-}EtvdNl&I^l3?T@3(#dos1 znKv-B<4BChiBZ%Mi#8lCJOmOIiO5xO;=Yc3iT4|d<8bd3-02Ayiv{TXw`>X12WUuz zc)XZ{hzp4cDIp3ayvMIQQM*Mx&wuNK1_w}Z(L!a4#LDIjtEwfW;>dIaMspbs~KG=>R(7rYoMGd4USz zB;vh&;yKl;WL58doi!+3tMk`*4)$l2jS`o4jugS0+=Wi*dqEMed%aopl=_E(3h*JA zY6GJYzscOZYs1+;99^9Cy<-7iJ|kD7e@|L;a#fYpg?S=A&sd3HNcc)4vP4ACpB^{b zs@2?Y?eE|K#ai8-wxGWfCSxj!j&UNr+Vi~N^FyL6ucZa}vj1BBi&x|fYd?>|aLQ0qXxVV7<@3X=Ax;CKyJl0|ByJ{HFw(k)4>vZp`+j;R}w8#

    &i$am4NScCbF+Sth-&& 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 literal 39880 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 diff --git a/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz b/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz index 29c0c400c0b81880d20ae55bd6c0939bcc7c0b0c..4564704e15f665d08329e6b4b3110dfc338655a6 100644 GIT binary patch delta 246216 zcmV(@K-Ry+`w`pq5q}?x2mq-(jbQ)-)SP8hTwSy0ae@&?oMNKc<+60`nhvwKFycuwOHL8x=-(OcI~R)zp6H3hMx>2 zK3bbPG8-G(8k;&W+1Z-I{Xc%Nu&{7(a8Nxyb8~V2>zRe^KYxA){=&t=$<0c|%E8LP z#?8*n$;w5=!ph0X!U{*l^8b1u|I@?C@sptgFcb?*Q(H$<+yCSHfVY{M{a?=WuZv-! z`mg8zPaa_a&mC=z<=u}aPYw&;gBBR0{oEt>x77z@NkI#IszQaMELh#k zqmxf>>*(khNk4?N(pZjDo|>H5Tu0!&M5k>q6@n=F9U6DLRWP2v*KIjf?QZo6>qnx~ z??d|Z!GD50*8RMtujUYcavv?95x%;!uF0Nw)uuV@p3!T(*2`yilh{Yb?e3Ch?qtsG z=7Lcv??X7p$3K}ueh6jN)p4S-FawU(ph7p^l3ZyVE>ZqFe5BV)>+6Bnr<=x$^YyL| z%ZMQaj3J-4|E!GV$x9{EeqHAG8qs3|hC7LBb${Nj1G!Ps8y;&7KQ++?O}Vt}?f$L{ zOQ(atuLt+A*5}$&nnHL2owN}xWrX%wn7}&SuG-AmJ~9tyHqEJrUIO|pFSlDMz2-W{ zp0OHrjZnN0`1LiG?kS%d!>7G*G;%&?vH3dtiFdc6FgLOum;uWA18xr)n1h&p`*XF~ zDS!TmC!52;dLKT#R?4ws88Ui`9#GP@J;s#CYs32?O)xyE(k#ntFgeRZc=E&FPa8NO zkd1KHYj>c)%zZ#!Ti4fTtTLnwy5*nH_V#6h%#~ej(68Rw-Cm(_*o-O-j#Kj3Wwx3o zO2eEf{qao0H+_0AXSzl8vtR8NMv>AN@PFB%`Ec)(ACjj)rGh*^Kd&&~!a=W+@0-MK z9<)=f@$RoJ`EEb4Q`8x&C$dKSdr*i6T{fMcSSEq#*Bp0gG>c(}oi!S>oL?q#%qzJN z_Ph^NhA}3Vqx0T(P-HJW85pA!bA`v=lDyLH#fCX}TiCYP?7`~Php)rq^6C%v27k!o z0<%>AA$-2x@s6Hu7>CC1>UeeaJk-2bI}_JoW8iC{YEjT=oE!09d-prS`$D2ewBZD6 z>;~uv`YoQqQ%t&LuA>OC=#`F_2fCQgIi7yWnw=De;rHOn)|of`DGNy=0-$>ziha(aXO0(l2#rcm;=Pjn3CR zwoRv3$HrBM(`dx(=A$U97)D*aidXk{jagDZ=qD8FH0&ue_W7KjN05SPW#TdW6PSWT zr%JBQwquW}ZD9;PF$)g$Z15$TJ9`N#ayhlfxxS&#ZT86lK=T36RPF3v%Ec)C%6+$ zPW-7<;7=1t7)Ny<>U-McX18zI`yEU7T7Rht>3+WMDZyKH z@eJ>~iKT;S`_<@D1L~ZL_o2M!JE9_xR6Z99>lbX5#ckp!G zSKeBSuQ5DsC*Qm^yoQtbaIP^3BpSk!RO%%oDGEFvW-A`rgu}=|!sPm8c29FM*v$te zhWOo7$*m^u;gbT>-+zJyO?plI{rrQGcD0`QWCX~i)Gl?0r@U6JN#*Ss8+%61>m-rO zpczf$LV-!ai>cr0ja6nN$b{cEv^ktXZKKm<@)7PO!qENIaW+@JAaYLxrDQ6P{Vjg# zI}a|CSGV7hPZbpjv(g0Rng>~3(ktobe3q!ji?mVS#xtrS9)F*14*ojI5@AF;koRqV_5Kc~{V1+#fIl1;D#v%dgI06#G!v6@ z+x$VXdQjUe)_<+VM#Jk;pNkMk9f$MLwuy4?s4I8P$I48g*VY@XxI8)e9NJH8W6=D@ ze}A7%p`p{@DejS}fX9}2ps#(f z&>H!SPQK8Q@*}ljPR43AH&UTm!S{(fib1U^mGhYdhOf8RCx*8HUwQ0~45Fq0H%P^1 zTA_xxa=tq;HoF`CUbV<@0g9Ec+!%jR5DuY}Q=_)XVSAX(Wx{LAxY24f6%vqxhFQ!u zA?NHngn#=A-mAt^2_x9}&BX4+zE%GK61Qz^=x8xPqrB$gO0qwnb#h8;bUFOkBO^jF z#PM-bXF-`b>=G=1KwK6{%>D|Uh{+_MIW#<+WT4gO!4E3X9YP>8p;+xMx9)Jf@=|oh zmun3wUmYxQ-%Nlz@@^pS?*jYci!ck?VuR%dDt{&Pz1iyiMv=giMM$eB`cb9HsEAE3 z*&=hg;KjY;9pxgh9xfsX8Ix-XwSLWw-G$HURa*YwWxDpdIpZ34+J&k*9aO!EZ9d<3 zciMILxm)|ur&6FZ!>8NuX;JTxf8yTH%cH50&sllS!{tzAvthBxHh;J-4ei;hGbW8P z-+#;6VakbPkCNJ^Y_YE^0%qeklX zzvk?Ec0JV6r#}}o;oaKeHQo|D2U#4=mb^^ouosD%irK9NPfha4r_b-q+h}tYG)$K0 z{kT}a+KQ%8@dE2LAJy8pQ=T0%Q-WN^-9W$Ho=y%HCZz?UJZpE;P);ipq zsVuk~FHrWd!kC2eNS2IM%b5FDdM~8S)fPHp??W~PjHVT;e-8FuPMRHgSoz=VaDQJ+ z`Q3T%{288VEmHfr((JT5DRm7obx!^p4GI0WWl|V*S1(K{Oc@P$AE~i+!t4Lb+J$SKB0np+&p`*DPDoG))pcW*B7Va z9ovodlyfJN$kgN0A&Mp(XS0);N`I-EY6_OV=HMQ;3T~Ig8xIc)|EofkAWY&YR$~dy z&KqD+9UUFD6-|{=fw8uvJ(ej&t~gz47bS3zG|S%w^C69Mx$%9M9DiPnDic02 z3%p=KuC|&`sa!m_!X#yzhS+gC@Vk`gxR)FF$VgG3<(Z^bp_0(=4V`X+7Qd8@drJ}x zr}=T^mv+!gKhM3!AT$zs@b1nl;Kn^W5`n@O$i!Uu!nvJp_+2QVG<%$jg*|6gdGbn= z-=+6xnaA_U*E^&Y5?`Ra3V-0_J%#Zr7`$E8H-e8s1e$8}L)#dVmIe+JEmh0Jglcw_8 zK(r_%&|Vue>A}_l40kp3*~hKDIbJX6rZx1o53XLY%*HSp^QTq~3+9H*jPI=TPE{z$ zK!V50^v@!6G+G?`uvmuIq%m(y`@ZdD`P-)f#!oGIu_u+p7T9Myo!J7sH?6^GCm#|J zuydT2!-O_P+uH1Uynj;Asg!`ZWB%I+(I%+%!Y(g)nZr#%LE0l~#bG0inmH58t&Zj# z)<6?W;f%LZ4x3GfVZ!)l+$fC=yi)#rTEs$+i-TW*7(}YYXKX)Y3ifU0T=Lu1-ho7+ zn1v*o8mjUxRadtMvr9f3vPowQl#uM6FxAR3)AETPoP&ayYkxlHgKwHY)*-8tbx}q5KmWd}eIMt_bKr3cGgbU%~0cbn!IXmSt=v*DH5oP;->AIbBSr71-##k z-PTbwOjKe4dq@>gw8`h{NSeTQPw#-ZQR^jfXzwTaqQIDaX3W^h(C@v3H}*{@W$Q!2!3 z09@NgmTATj{ky|SpdRF!QBwu#V6ush%ie(V{V8by}2c zdwqPJfPWVhv$lFfwAyk~Au9xm_52B1D-8}yaR8a1fWp2Yy-~4C1S` z6cf?iN&9+Wnr zQMLLz+ss*nJ^{Dyy>q0-n0B_`%0;;|eQF@R&wu-=D}U5@+&O$_VqCy^XF+?Rc2K(} z|AzKbPTnCytyHtfTT;N|vYpfBcp*2ObT=6B7W?4vT^qV9j5}>xLw@eivj%=jDg`6c z77^ISbWwhU61~kuv3u$5nI(ceAynik6XUl)Ad`@(=O5H-l%TsVEfuHwHohQf)_sdq zV1J_-e`|T`i-cTCmdcDnq33MX#|Z|ncg#Nbo+E?<;{B60RSMi_Rendwg<;1TfON?+ zT+NMA;CrK#(^gD8rs_)drn1eg#8Srir?<4y=2?MqlxT`76Al?IajkgGx!3jN>TS{I z``hSM#cGEbgvNNXgmXlb5drgb&#SX#@_%?n&0>^#41A^+!O`y=&8)ACf6j8*`u9Cq zi>$8Z?2aV&kM0ZxzHu;-+ec8XR2RdIl$us~kc2an5g#*Y0p!-FaxNsIz4aW=Rys!K z;b6gIYqB|bHi7u2(tJn($A{J!a*r6KAbB!3Q{(omaH2SH{`#co1kX%*CyK*(7JuLK z>PT3?cXai_Dipml%ZkV;)d$7_yr>nz*SzC)cvf}^tL#0L!H|x zp~HG#0R{bYb*keVQ?=W;-{r>iL z!2+N9^t1`~g*L%Ln){1T8#Nvto~?Onmg^xQ z2rJUK{l4&LYZ3*XBs}V~RVLh~PWAg;gUKTb#wJ!fGCR`G5YJhvT z8%)m0F9UB0^Dbk>$PgwE<%kzGGZ5`0QOU4)bF=nFc=3b!6yIx=s(xXKU~7H?UYbGa>b1x934yBQiAsD~P5Cd{pYkWTB7f=~ zHx&V04Wj&7366Nf_K-e!>|G)Mca}i#LnD{+fo`y-C?bTCu>OpAY*zJcG>`pvs>bwp zj<3i-4$mv>Y@~8Vjeon1_O8$pZ*RnMOSJuUTn zVjGak`gzd{|G&8{AQIeV2DqleSe7-ii9}@=Id{+5dOr~+8Gk>LcCC#h$=kP8wi9?o zQ^mgm?2RXuZmWpd74i*)KW)#Wg(q`}|HgZ1cW~>rH|GQQJLcuDw)?x$%zH2p)&mR8 zH_krxM$_CdE6b&F5U24usZ7Q7;k}eax?wXd_v*pERVz(zJ%_aVP(Di3A0Y$)SSpGp z)t{y=9~?wjC4Vr#@V>pG2RZGG2L*GKxExT)AIxu!w4^PQIW8JtdO5Z){xtk2@!s)`k=ycw-}3YFxkcm-YA@a0T)JK!2!CKxzWZDYhCusshS4t%=PuEP zGeGK2vk44_JSN7mnl}0qM$nstwRSOMMh5v)GdaZ)Yhp@qleU&`%>vE`v*BF(vz_hb zd~7-LkwD-qbf^V4c65#*0&pT!O;XKbGHvJT>Ux#mndPFERHi_2I6bqdf_tm|z|j5aMdnM@Mfk7V5k=(&|>`f+zAwP9Lc>p#wf=;+=5@>j zeF;5Z6tl5zTDWP~A}GA2%<5%gW^UEu)mlPHE{fC&0G)8j{PO*`5&4TAc@SaI9rU~? z(tj9GXHzRn4?a=)px0o0*%U#<9_)v88s`>ookiLxWIG&6e&3kc;)k9{$|BcWyo6Tg zpIR34Wz^QeX2J`+PUCM*Q#Z3iMY$PtYshpPKTQ^~rhpy2SG%lj@%aAEgSVnDBDD2M z?-)#m??s7k{g6dG3wsP6t&~CCy9zsNgMT-+^L0U;(6$z88ec3vKE7VMx;Nq{_=Q_{ zs5lCR-D4>>REs9=eeXd-%6zjKW^yU{BO=`3g+G-8J99cd!)8vg(|?nZN1+Iq^?#?K zzWix0&UOVoaW`z^Y}u3L-jtqzS-%6r3wkD9ij6}ls07B+ zX?Djl?N{$AS!l%SF+pkN7m5=9Jb%cVw0k&1c1Um|_BZQR1ZTeWp#Cmh61HOSjG#Au z5WA+PCXwHXL@7rqLZjR$t5JCv7yJ{m80Qh>++$zLY|w%9nq2eMYq4q1!WryRSVbky z4(8;mC%U^O;=of`G=K7Bf~mCz9wvWkLGz8f2Q+!ycJKi{$v)w8wul5x{(n?A{6t1h zW_L6~eZD<0hDOYm6WpJ~zBN*Sad9{kxXG+%F#RRkQsM!8z5~rq;Daq~e0hyPHWK;T zC1f8aW<9ZoM^k)3=_rGjYqnn)XR%O1zQb)@EOOW@)X)_X36StkiG6E$?RsWQsSoL9 zLF~g_EVI5|@22^my(D(K&3^;kaX_glEWA%)Yz1F_5DO)gQ>_F)zyp$uMng58NfkX? zGC~3Iyy8h2?big5l=ieb1x4>lOGSQ(ZiLQGVgQv^%O^B8)4rUG!Trd2=2Z_f+dE@e zI;!$fo6_q)dxZpBqj{0t20)_y_6qVqnm~VX19Rxm`#SQ*V$F%R8h=b%zzE2G^u_xJ z&p`x@c7xS>4i_4OaVVRjXo4XMe4x2kI5;@-O>P+5e}0JXj2GOcdOzHI5qRh?B7AvD z6O^&K5wkqqiN>XAy}Y$$!K7;hg861oG`pY{X50fM*tElUj9$z;cz={41-@*_FonvR z#>>3|voTWUZ=~sWRezH!%fTw|zrB8nPQ-+7;6%)BhI#ZH=O5Lk7ie~h^ItyIPOHII zp^%gfy2lHm672g`iv!T(im2?rcTG2ZG-eq#WBo_9stq3*Kr8%1^f@sYw0ec0m@UCM zm$-_ILD;tJkE)VSjK)q=c_GTXP-ib1cqkqFN={0B5PI+L+kZ8j0O5eCt@&P~A7xw& zTrO6a!o(Szf2rn|%GPni~6bky`0j^-{e8=qvdo^d5>2&)KYbDyB_? zwXod_ zSUjG0P=d#TK*1Q(*1{N?lhsr=pg>uD+C@}vf`4)JEU6lGgCokSWW)LE9gR1NXL{qf zK}OwSU%7s2FE3?@TEgiA(qxy=Y%twlE`>W=CNH8lfg1;Uwi_uPnsD{;C*~O+kFz96 z5r^H*!55iX|G*c&WID#il;ieC>M z(0{bHGCVF1jsJ8V3x?3X|AwnfCod8~HiLByfLQ*1BCD}bjm*rP@n*?_#aK!6j%d)? z_Gq1=sHmImKbDjV5}s zPKih|KLq5HqS*)vz7ninu%9tEs_4EbDt}JL2(|x2rdw0M*XnjJnZ5ZIRq|H%^JK2) zJ~Ikxgjx%?na|Rh568w)E$-EYWrOjE zq}($D9GVV{h~^3O+UUYquR6RxqIvAbLpNCo-8^En@g>FxUkHZ4m z{>ZO#!@6Br5db4z*^^E``G=d5&y+Z~luF~}>;wE%2myWO`}OzF*(|7(e!TxduTgD8 z9M7l^zln@tr>%{70Wf}9E%SEviGR_rkU}rw;@Yw@q4oC!SUt+QvRNqg=V70={}i-) z&Lo_ezE4oAgr2XSc*&FECvYR_HGBUMIos;_E*=`Bt(BjKgoc+t^T0OuFnzq5uk{0c z$HIU8`gC(Fl%xf~t*~!zlu0haxlL-C4{4VjNUShs-{+HUC)g)au2%f%9)HqpG=$vW zSxi=;nGGhEV1qm^bOLF4J&)kt$20i#%p!*3{pd4T+hQdf;YL~Gg7H4mk6BMzTSU@- z7{(Hs)R#2lU>w6N!V3wbO_{`$mOIp?c3pMORb8`RGKCsh{PZ6Y?*YwlscheYB#7E= z+9r@`Vz|s6f14+tK}ET`c7Jd`S$1=3V0)J|BzI?58kt zZVDM9W|7d1LCkg2&dV@&O4PfVXl^(Y+=mf;pY|46P0=|h*7Gljs5pjwIS~8h4sn%2 zExEx(NP`y-6n+gSJcn}I&I>If1eO^rzvv1j!m+ir<=J%53XF{2ao(SK7N&*B&n4Pjj>f7W5)q0T$U@1=kSyT9I~Onv95 zhOuoNN;XqjgzVk_tu*u3!*D2L%DoC0W6N}1du3g})mv2H$rpmR@w{h8%h_-cJQl%( zIoOc$#0nmJE4Z4c6qf1y^l_v7&KJFIsO?v}^0o80Xmgt}(|`M^8a-tiJPw(Piy0vkxHQZK5fhsU*XxAUsE1-n)gli^U$ShC~JuSs!Ke z^O4pJdRxy$gw6W=sZ44T?z^WVl8b~1c^Q5G^t{iJIrqii+C!mWY|5a@@75yqa&Yit2<2${~$~k0` zu-)rs5^<(trv37qmMj8*@Ln_XJi-gC{PZIrn14OBU2OW1^n%sb&3ggU#Qvo?f|L26VrR zuZlG*Q8dH|A&lxZ*1kQRr$XPwzK(ZBA6a*n>S=rT-!p!`EjmB(g!!tmr&r|_aobhF zjDK1G=yj466GB;veI;%A;-?||KYO5tMmE9!=#6@+B1G8U?0Fr+^>&f)c(n)TSWh+4TMp7j-R-0Bboxh$&VRuFaHUam#jTrj$ zxTJg#<_oA_92vt;KQKQbeGwOA_!7`%Vt-lRf7u<(U$Zn7J|tK!7IG$Yfxq7SqZA;t zT!Ory0Tcor?M#wPv{I?~ZW#Do4dLHAUtel(-GE#*|4uVtlE{=#roUPx{vJm^crx)Y$ifewh_}cUZ|-Jd>xZq z7!u*cp40yBX-TcToeNC0nIlT zMSiy_+~Aefo=CwEy#`O>ND6`OFNUICYdvAa&#q540x`dl=I!%2uZ(YxS=vKVrb;s1 z`qhrkZhPva>a0&M$(Z(z2 zgHfX@i%EQ$1jZgHXfji8p?_hgPR@+fdZ7jjZ_@0#FYa|d)~$Rpk1%!mQ)-Td{bon9FnAV7|5i+9ubdSm&xd8@#io2~^)7g3SvB|7yXe*VD*ey99v z!x{3!8~;F`4l!S9myUoWBA5llA`YMAM$Tz@bx%|N!_<;zSl=L#lYhxjZ{yvtWOo=b zHMP+Wr$zoCiiP?;dk!Y%+@rcZ|iHI0C;r!(5M7mV+*EX?O}EHk>!crT6A* zCLk;S&f`^cBhaP}1I~6Cc;xL}9zsT2lAEZA*g_?u1O zKv=#3Ge-v{k^lI|9U(4`7oI(mWn*FRzjBwoN^5i$Uir;Ec7I~3@D9LZH74zlgNOwd zizT>kjLIk}T;S{NSCQl(_|fm;{{6pKw-$=%xQewy0d;RUq+7{z)4Z z?~>GaeiU#+S}3jyfk z0Ynz<$Ynd5Ly;`|oO{xR;8i&oz12L{*MR0P1rlShtVIw*bev%Yq#b-x+998y`;vLU z?WoelMOjsq3gQfBp}P9<^6AE)@spHF%U^7ai?`?mY=0XyMQT^ieu?3Z47w9+vK*MEFPXQVtHWMTsCCBsOo+M(NPFIWRDLDe_xpR@TeXr703F8jRAwBcz-h!uY^I-!HgM@akeQ4d9R`b8{>>b! zIGqHE5q|~S(qk%2F{NQ8B<55%TE@}0hs=R_-e7X`h=MT7-QN7oCVW638^NJ-)q^d9 z+#;Jew+vWf57XihkZ@XOqU@VWTt%ccvRHQ6P2>Rd(7~mRU9DR#;-*rlu$;H}+VylJ zJj)8N=2Z~k;>JRwOHk8yadaBR?_xn-UZQ40+<#WHVi2ro@V54TLu*0eJ>t!!XlsiX z<}O^0RJx9Cwp@|g4t!|9_{Y(vB$APY;ODCJ>fJw1%_qLs93)GBWX!#@upw+N7Qn^( z=sQWVO6zqv*^K(HI=GV8gS!XRJ=0@t z0Znc5uG3BCGS_7U0T}_YC_7L~Y(UNLc=p;u>(2Y_XFXAzyTe$y+_tl1Oy)xt)IJ}m z)Jsx>8cb*aDQfw!oE=P$8MVjnc_p>}Lw`0JPdQIcz4GGba<}M2uhkn%b4i^7?$)xw z{hWl%gC|S=Fny=pZ~XG=*x2*tLN0V0Y?^-`dA=LXV{g=}jh~w=yBz*Zx!SPtujST1 z>KB~@+8fxejWL8=wrow5T~l9AXjoFdP63`$u51DH1;)nv|AgIgi(|ZA+2h;m(|-bF z$BA~I2b14M*@Rc*?9Tivzrut4gRz$fk}Au}%N1WHb6Dnd^kR~-;{DX(=$W*c8wIxs z^;)|@q(x4p@>6`3PJGPAQ9sSQv;>UIRJxRgJouc?a`sBf*JxH`YE2YsJrq;fgaW)y zBKzQVfWYb2e%Ve z^TCp5ejr>kfY`c5r|vRfa`=CUdGjqOo^CYjo0n1%Jx{kB#3P zAQsw}Ay)@~f*(^QEL;x77GGnckS$EP>M3Yiy&7xkT(|Kg!YQ%^9in-wtwb}P8Mt|0?t4K;v3;hlBaB8~67v?)5jKX>P5*e+xg4gGOn*pVO0(Q7QZH4xb$?5eKIC(AcNa0* z?Dwtn*_Orjf zQOY?g2RG69-`-=L?V8f2MpFEd9L6X(G}hvw!oa|&8W({|oitO9JJAlv4W)tz;V(+9 zD@=Ys@u_PJqAd5p z*{#V1Gyp@O7DlClUZdYtttj2taP=O`(-{E%FZIP0d4HdrS71l9YfHJDCs$i8F9t}* zw9j@E{y{<0&(7;lD9x0v+>lD|QzFmca6>oYYNGv`4Qa69%jr*)CXcnzBog{lMa(`@ zD987hk<9@4TvV2#ALIO^mQV&~z9qSo(vu4#8*dwYF?S?`zHx&oQhB{)oz8((ISs)2 ze{Mj?c7OQsUhoN%ZcCVCB!zKTS(f05ad%k3uQK_NZY)x0ug}HpJCl)StvGtYle;;< z$1x{YTYRlB?K2qtd_9X8H20YLEoNXG9V-YXDJ%WoGSsqx)!VZ_*exf11_$F%W`Pg& zq*8fUU&$qX?wcrF?HZ-gsP`nUv4KQrIqek4+xKd&1%3xb;-HCF*CuVwgc2D~(!C9)5+UB#f*@{g<98H?0{wCa` z)qN46(U*&rn|~L_9}Fptc=-%Lao%7gG`yvOg4jaHuYH;8?bd+xcDGtQIG?}`2S^$O?Ky_1GLY4S zMxN15f3tRlbyDGOT4@dPCojjL1UtUtm0#?eOch|*8)zp4`tyMF1jgt~eFGe#uMTAe zk!dCFgPg3&!NW|c{Lc7}W`hAmMSpMOnY0hGmpa5lCsr!&ZZ3|aDO1xJwQFB^l<-dj z%WGpW=`mGTG?p&lQG&AjSfqAj%CjFnCtNdZ?;SOc0$>)Cm;-m0`xdRgYTGc5$)8vM z!$2anKQD;wAsSL~o0|k{laI5$;Q^juhmp}#NGBVEp_S&t!W}IvclriG4}aeI+IbPw z*_vaoz7R5!{EO>iN0`RUhaRJG6vsy;QExl0Tmaa3&v$5CN_6Txms2A(?%pWp3T+G| zDOQ-Esm5V$s2Au+Yx7U3?&FZ~zzkpWUdBeglw5NTq$!>t3r>~W8aZsS9%#m|7Q=wOPE z#l@Jibn@v+Sq@qpV6$F~q3)2lqLD^02#^I2784}dRk-i&U!s-A(n{lLXlWS%t~e;Nt2co*%Z0Ya8xRq7pSIa@KcryS zs{usz6mTgzjo#$Cjekz+rnJ_>N730M1;(fZ5k0ND;_*#yl9hWR$Z2F;X5?Y-;&;i} z^vYG(tmFt%GB-HF-nhpIa(|bv(BhfH9Ub_2szmRruxL;RlO)snBRMhXHy{BrhwX|? z&;h^RaZ|~EFKEDr+xc(?gPYq0GGqBLzCC8=;-Vh9OhObze1BD;VY{vLgT;OA$s?f3 z#NTTisdYSH{xMsXA>lG9OJ2@+T@W~1Tg&_vLKmh!7kwVd|EWH=S+iVNTiX}5I@$D? zZv5TU*t__T7IZtmW{=D7a=Vjtb_bXY4BnXdsNND?ytB0ra8gq7$~}>HDxHUr*3ypo z>FMeGnX7gIw}0Ilo7rM$D~nCv+EV&TUTSbKAX=INKW+bkHjeB%+2ne!bbXzW^;wOr z{STMlzMDp8^eY4za?@=(Xm~T2!u`0pD>W@mvD#AAaSQJT)6u$l@`ZM{WP?N zH14(H3w$P>UP!y=o45NhWdhyOB1e1E_5D%n9uT`WS+2*8B{4txJKEd*{IAU%PaxxGKD#9$Wh;s~*gnOONBJwR zqXt7WxU9%ER`%149}Q(;b}V-7J<+yNLttVuXMb_qQArit|C}@{nwQLJm8|+O4ZG)Q;7}@5Nj(L0{s%_96o!vV{=F_>uvj>r`2OzP z3AuRxDfZgUTrK$M=t%5Ojx?s}54=16nRxdfOw!%g^s5k1x9R6tW>W-Sx~d52X83AQ zReuSw2Ib>6&duiu+)TzzKNCh)yQm*`w=ThhhUo_ZkyWn=W6W_=HKzVpFJ5)7Z3%|7&C6m z{~{&}-0w1;uXucSWRBMgnQ+!NHmdLLVbXVBnjRZsnl94?U^W6hF@{e%2Y-Fq zQYh9aM;ObMQ^rURvVZnsVjY;lAdPY(!_n{J(S?w`znQSdW(hG)NXb9D6j;dpI)ia& z%!g84p=WPO^qTwHZ&~U%hlYlDyl;8pne{19)K_1^rrdF%kHie^Zi3mEEJRCqwVB~F zQmPNKUT7dV-53---31CS# z4B2^qHqd&eLYS~E&d(HkgLF4wu;xm}l}594X`#`@&{0t@5H{tXMcYOU%|hz8gjqYE z30?1R>(PauDf|X#OsqFh2-4){Pa)u*Z^w+++AN#I2JaMoZAd%P;^hJG4u1t82eD5= zDlCpeiI{I0^O%)(58Hj%*XI+M^**08c%8K9l?o{XK=+kggZng50)$VYskioD|Hp%ZCAGd-PcThO(jK3MV zmrvs*P|lS-t_}0|N6aZ{`+u|YD|A8|zErOnz4&<~tn*&V1J>ljmXSkj(??V;|FZJ5qd9` z)nj>w&afk3$Dqme7}M=|wMVi)o^it3oR}d&Tn;$x*B9a;`H5%lHf&?9hMhrBrlAZ_ zBsu|o+n+y5fsHd2rlHFk7S;@!6-e(KH&il!nQ&kMaYTt`ez3B#8b}u)1&qo+I9M{1 zQvwiy056@LMzbiysDJ&`3haw}TeKQSulo5G{Rft=stVnBhT z*rzB6!x5%}OeKO2@TSNj7gsU@J`t_C{J;Mfz`y+lg&&}%vdxFnHCjC1^~Ez55pu<` z@ONXR3VL4QvPCg%U+mAl)@!N@8D!pkDVMCm_@%+?<^oqTc7M0eAJHw-ZmA6(lTwh3 ztup2JCuHxNeQv<3hzh($FOI8-I{v9$>*;y0*j)4>8ln$O5bj$whA>iYZ0Q(UVSqdC z(neeDmPNvd*(Kr8Q!5=eKhVmjlcn*wsNul9|9|${54he!Hp64>^U>!Au%YCC z*erfZl&|(PnPdRxgZywBA1WGz9SC%y_CUzt9Gi_g#vo<0YLrXi`a;4<{~?VRnUpj| zKR-M#C|D@$IqSGV6GH>Tatdup%OR~PFuZjdz7MH9miiqVIWh^@qQTgK1G5RivL{PY zf-TCC6n_E=kHICOGQ}b!;HT zFE+Uu^XwfQU=xRNV*jQ=tidaKP>&gyzQ4PKP**lehLij-)9K%{&i(R+3ULpZXeBFV zojN=C-!U&wN1wVGD3|EGqjZA~W%%5Gg`V$r4u1_{UtC;lEi~3omQyst zba`xZIKvnaUO`Q!{qf6y;}5#aSctm11tv!gBeTzWw(6r#4SGDcFg&pa2=M;^*kYrF zKYyF&u$kpB>HCIO(c&NA5(7!;8o6W+rw|~)Gn1sC=*9GQqZ+RT>(@0jyx{OIy07+w z?aJSvX%n{}+|;X}`@8a#o|ycO5y$%8Cz4&kQ^4?^{`lm4JV*N3e7z%TXAoBB-OVMd z7xWY7G!%Mn)ht!k`dCG6_eU*?dV^=BYk#KU$O4-7eEK~Tv(CfaU1Vhjm0MFwYXw-X zt|x0~K=3UQVfkIJ6v>clm1?r2=glV>N%8CE@^Io^#g~%tr!lRnt5y!MTRuF2>HTjq z`KeNy%X3o5js0r3D#j=U?{>8H4{Irs?48n}Z+yGT*MD|M ztItEm36I+et;6O}IKVrrfKRd*{r*cnZMfs9sF2xo|K}P&w|D9L-2EWgzv13&q!aMC zP^sK!H|h1&sds4a>qA#9R8idJ>TN)GXbIShre!@_-^WE8qzUB%yr<@`kw^f0zuc*L z)kfaH-r={n;vV~BhkbGzbNUxyFn`x2i)6x8)ipGn$eP_M;C_Ab1KsLHXhI)dowS)^ z|K|p_UOtZtYXEGx>+&jekO+C~mf!$>KtU_`#%9__<#7Ta5P^f_W0!3+ts9M)x7A5h z8_(}nhu?FwK$Me6=XVRkDcFC2YM(1Vg{{jE=mA36%qMh47`F8YeGk&AKYy6aq*{od z`ymY-ExZHY4M`&GIlSBH>QcLZ5b;HH-sK)_9#rg6B#PC^Sku59%tvqXx*=?KKmUxm zH4HE);PufbcFP^c@S`*@3ErxS0qDbOIsSUgnpRsJW(^l0KNkflLA;&Q|K1@3AVBq| z3-AG$?Qbu%&bY*E=XD z06##$zZn^s-Es#qr>`~;2^E?t-bV5u^h8qjfLrf^D$R!rk-;<{`e&42H_i|(VR|{X zcJ5KaEM-bR)grY5&FhNHgZ2J|_I6K@STt|8>+y=6gM*SkRKL|be4KEPALf4(A0L~2 zKQ7?Z1i?f%d}LsHJ_8PNc{E#6qv6w=ll6Y05Ow2;r$^o!_#3>~wS3kp<#Izj6N-_vL$h2K^Q? zQZ8%X;>tFd?9;zGHZi@F>o9+;5n<;KZNAxq$Y!qQ7jSdRO@8A|&&&kQR%?`Bqouxc zL;)^7Ff8tr*g&=Oy>Csrym&7QlRiA5S>6|f416wr3(#vBRIL{ zT1}_SKp2ypSLN5(!`XK1&emhKxYftU)y*vl+yk4xfscJ`Z;5SUw8nq``*m%lPjnic zu>iLyaeH-KZZY~|sQ8{hHoXXGXR0)E?RTv4T5t3Y{3w7pqg5Z3i*@Q_L||+L{|WnJ zQvxw3Gi;x83p6%1+#;lGTvSE}U3Sju`WUDC1-r|pl+Z*?m zNUzyF5U_7iVAZwtc6NUvDrTSj+SD&!uZJ!B5G{e+P#_^MVaQij%m9#CmRWxQ*R>3U zltNX!U4FoS@VFe1G3mDqw0l0QSKs&(rdesWe0{p<`f%S&GLYc?yQ5w*f{ZnRse%%= zf+7UmcA7RhBiR2ibkA&evL^kFQCp4C;Vohz0B)k|eQ~N=u^)fOa zZja@O?r9Z&fmIxSK)405kW;{%n1$HS`wqH1TWu9|wcd>tEB+o>5f-VxY|sM|eFG+m zIW6%40*iX*Xa*?MDTUgBS^Y-mpN1Kv|1cam_@H?-Io*FrSpEJ2fzNqQ2!J!{%407& zw7?gJE+#=O3{h6*=9`UAE+0n?IE7z{ti~+fx2~ShGqlCUMXBf)$a*cF#70vF;{W&t zDZn+u|7OX6S@5(-2awiCVDXU<(#E-N;6cSYG65r(3|x*DcQ9T4vo)HXB9=1qa3bJ@sJq7AvYV|3b?iUvzV50z_vH05xE7u)_96<-14N%-0+>1LDcPm!h-Cct_1RnRj@80(P$rxD~Bgt8Nt-0o$ zd!K*vJawPTR=mRx$-u}c`|Ot15o!5Zkw0JJ`ZK?;cRi*2=e7?Py6f&6L8-h4+i-7i z#BrhC@J+p*-0(!*rETBDNP@KhF~!XJg{}EUrfASVoH>?NU+*i5%5q!dr8_(?fr2hb zPq_C{Mpwu~PIwD8z-^P?S_&q;79E*ryKH~-JeFx)RF=AHQRSPbxNX@S$G@xa#^x=^ejv@iCE z#^#HFg8ilc__f{P4H{lw5^=3s-${R66Kx4|jQO?1QP>p)RQo8OdILuBq)m0Lcm$2I zUAfj>NpQHdhH0N&JQs?5PwyrF?eswFscSjxQx=tXs>Z&Z!dAq=Xx(Mwg%^zPN8_fe za4&oj;}6e5#vev+?Xfm^FRWn;^%U-;7e;VU8Shx|6UC>eC!9iw@s=Ghl^cIVtp4%> zOHRKfj4}Wt)1?hAFo;=5`jqvL8B_m{8B>29$^1Vv#y_R~S#FQzit^3o1_un&Ok^v( z3$wGtV3qa#NxUF^@iU+2r>GUUxXZ;@CK&DGjV*tZ7L<`ToRpJwJL~^jRphF(TP$d~(mgNwcak z@_DSI6S9N@1xT}`Zv9NAxSe~d5uGzyBTbCrJG!?p&$fpwwIYlx|2k&+kM5GCBlsWA ziaGldPvjfi`76#&WmA9S_C^rT0cXMJM2P$?t?hZoCbH=leC}8K*1vZ?jl!#!>xrA+ z<7$l8u^l>?V&5Ug|7d4L2ef#iaNdn{=E@{QGpd*Amqg_Mx1Z|!lkge3W>d~X|Mwo1 z)^2z7?T12rlzaDi2NQ4qCJ%4YhtmP>Mb9I+lvuP^tOQ1}_xOKzx2fvs6pHryubA|! ze8X&!V~(K`VqKy^G62uOW-yEME z)E(26Ue?J^9Tvo~mS%oVAaBTCX*>_~@-oUcqVI|zCab)GCYGw(DW6N*zQR#;(9ZM_ z=W9vKur*&8UBa=4PLn;4;LZ_ylN-E$j>A2+?)mLuJ9&SSqwchX6klg*$XUkzPU@4F zITCsz9dOPFG-?@_On#r9u^|*w0qaub2XFXZafUt(n!i(ZhGm}HExTiKQ?!V&4`sVo z0EiZ|(AT>{;cRVfWp6j$)TY(LbB|opnI({CFH8yV8;3kVzs=;c5>**;U)Af(=QLu49*4e|GA~cH~3BaR37CoT|?6UHP;&5Pm>`M>af$P9OUx=QDk{_bA%yTA=cxltB7angS-+m;hVCfu%HgC6W%ex^*?HaK2%6izBg(gwUlHm5K%YF;OPg2w=D-X3vB#DJhsu4D zE^(HQqG(6z8-0`QmtT>^J*qdeEGf+R+-vg$55i1s4ZG7PKE|>yb)pO}iQKQKQ|TQhCQfC; zC95;|&!t3u8H;>fG}cx=7ZqZ8m8se7che$6wg`Sij`JAl=^c4|vXwdpl2*7s5r1IN zeo>W1vVK?^w9D(1M&WbB!Bx=M>It*qxf*{7isErx5bLrtHGgp!;+J$ecabY~*^s#<2~k&*iVv_w-{beBHqyrK8IK{=k3qNROy` z4IbTCHt?FF4S9A2rF?}^==wUtetp<-*8Gxo26@8N{PEjkbMOi$UxEkN^7=h+y%+m2 z{NfyEQKjkYiwD#3S!?xEB@FAT1`lFmNpgyul2o8;7PNmB!oXXkN4_bS&~*}0gtb0!{MlQZUAry1Ccr&rEs#qY z+%g~vwMNnwo9MqufOJO$YNkYH=?2L?l9?>G!8_~>eq^`BnPlDrW1hQdM;h*~lbPwT z2t6xoKct1o?BnJkx_GMWWHfK+qr(UC2C)=z+XzH^BcsjnwB1as3psy{7D5Tu6>+_k zYRUNBUd%hWn3>fvMwb!+J8V%xYjuuwm-NQKw-|Mz$ltjw*VM=JB;hS(Feb_P^;4`L z(aWOr*C@*6=`x4lXC}mFXzdbfv2C6_+fNx?3=-bf@E)(H(e8dQ#|kuuE^UAiLe_gf z##hr%%AQARwGOI{q@REGYEzHLKex{6m<)HxqRXctu>{}UJbd)5xq@8R>>=Y3+Y~w7 zv+Zm`Gak>1Lg3rb&l0R_i_qTRX?+X@ z>w=L3?XYJMw{y*VU707JyF_Za1=<`Zb1cz>#|mT?IVchzlSqG|$(UnkFo7sx-R%6V z6`OVxd}=zr+r)4DtRLmpLQ?EdnI{t>GRMAJd=;qCQL^{y^ZgU5l#EN-ubxiA@9gFx z8WtR|t%w&=+~lnaz0=sX-+s-zxmk@DL^X51RDj%{-PE9vw_b_$L9XENjRgOQA>coU zx&C_0sjNi%(h`4}dYPVtCSS%k)*j~Y*Bm5V>0UXN#_hTyYlowP?7tbz&l`G!%e&35 z?;fx?AA6VG+Qpr$3?9Oe6hcEKD=33eLtCzwJ;FGrHH<#g?sD{W6)0vuzf{Z=u=Ol^ z9JhpJ&5FNz)#XQXoT_((5I4tv$Ut^Uy-sTVo8U9p%I5E$47?J@#I z3+0OYZ)|_&Jj*p&sm4i4+V^~cK@Sc}HD76u6RL11i@mfiinp*Lzu3x$k(6Y5hxhbj zyA7z&v*ol#Ns|wrZ_u6aS0}cIp&y>iSS{Q(@km#)G$*dQ2;n)=TJ`F#kG6npa_VXo z#&%OimdA=nTPQ9ta)9aWV3qk|E%KU|;}21~765;?3TzB;F5n_{khAfYcV08o%4SLA zGbbpWFSkmmiSnIIqtAA?!w=C09UiGl&WBV(cD-hepT`VE;d6dk8+G)iKpBwOCHqXq z$~T2r(1@{P-_Tg#8Js^+oH?zNB&F$jdy&RsORAdj#qgkL$j6MfNCmtnaxH#d43l3y zVKjegg~~-pM5T(z?(g_<^j?Pa_j~ZJLCRU-5fHMAD7VDET!w-b+f*jc#5Fm-wm(*> z+Yjp#3beSdm;;&|5j=it4)(~|IX5=(nyN%T(lcHcpq^6jPIi0-EzgkiAa%$)j)bJG zJf*ZI1MVagTfeZVE}IXE@I-e$-8C*?kaJ?7HH0^&F z1Y=9u2UJBaPaZg@2+YE+H88Za-p2s#E~cVm%7m0Ec510ET;AlCya1)hU-D_}G)G7Q zqlO0cpfk&vCG!q{=&uFSqPX*>73-yInlMpb%%lpE=9eHp0);y-JtTrc<-(#JnA3>8 zMH|6SDI=yQr?`1-rIu5f+RVLcj?;fjTbT}iqe|r5^KnyqH`%Gp#+NVQMTAjN;oiPM z#KnhOYKz33iZ*`#Z^&QR@U7i?7aE?OgGf=`*!S%o)sR#e<8Sk)Hy1#0OCc3Gg-9PE zG3*_5x765aH}!F#zWb~`u$UXCpolWFfi<%EEA9TzK;EEfQV;+(*NRAj-xq&LJEC7C z$Q$b*aWD>?3UfiT%XxQgrW~O2J+OQDvKy~sB?7SVZGWGV2TI5Oqz)2W z$<&1_K^u`fx3$;>gf?p^?B_>(=sBP}pY~lU&*Mg(?km3A);NUX<&N~6aoFII2{t*H z*HrnCEyYRLcDxEz$wwSvB<3ZQQ3UUXln@{a8!S(==bGk(?M3= z69JyvBc0H!ryv4$*UZd7d6S2zbTqKd{wRD8Tj(^mY2e0KnSRp~B2pDG?axiq3gBv) z8jalX;tCRpzScl&zv4&+j<=q6TWMgkrX!!&O*1jG-ihG|?>tgR4+f2uTHl{z77vwgSvgPA_uEdH;)lA|kvh#~srC22`&KIC%nx(v z9zp~7>9hnf&!r|>34s&$bp=I@2G*C9`jLv*4>nkiVZhqW7lIrvsN*r6X;jUcvVD4w8<(=Vy_-aU%tc(y{eI34+0)2K(d;F@XMp@F;xxT#1wyndf*q7Ne){`8&r|G~z%X1Dmy7tp3<8xJmBHwu2+iM8}L#KpX zIJNaH^}9Go?)`F2E{o2 zLpQ5UjZ7a6K(bEH;6syxBRP+)-q#dtTWXbKFb{hQx^ahMYD<5(;j>RT*sC=GWDhD*m9E`_CbKYE z5ic^0D>Ei+&?4_#W5?Q)!hi* z>XTnRe4koj_dJh+o8`{YgR^d$(E2atZ{^xk*GoHD`JltW!#8}LD`afvh$5n*aR^h9 zIiP&b42@G;!K zT-B8-=Bo&LUGUA2O*S?{9@wn%$|ydNM%!w{pup0Lh9 zId7=e3-ODpii^?RGOSpKbV5{DiOyB7DOHeet6;3NN@CRmHDOm1v%6yD`eb#dUkrcN z&hh(D$f3=zy9$9pPQ|a&YVk$hc6RUCje~EWw6hK+S^gjP|KH+WMZkR-^oZimT!;H_ zB~POI2L!BfIOx%Q3*pI?$*$g;OB#`TKn|#)Z-Ar`!pBZDDL8vTdMXrN4VSbH-)$zh zxR;)5cp>X*YK6+~{B|1p^nqSX>yCf;XVS%{W*C^#{Lq1Ya(j~~a+qB417}JLaWAJ# z;m-=s@XYT~E5FCJ#2z^44ZC>h;|l=4ON>^`r{Om93htGTur1(x$-0tH;gR_sxKmpr zOgBq*)Qunrh8TG{Rn3y^5SC`_p!1sr&Wh8e=R;6|^ z)RCCXbcX>D4tAz6sJ*S0@%w6%>eXMjWIVnsLSdXMD!*2$EjOfvgS9T!=)9J#Un;ly zjF_PXwecBlqcyvp!k0^t3cPQh)y&o#4 z)(y-~Q*^PFZ5?F_$kx=7UT?J5ksr+WuU?3{g+xB0k5B98Q{Hecd6nA89(Ty6GX%XK z7%)>?9Ka6@!)HS3>}d*PQWAeCGrP=o$DtJPQszjNusSNO5pq8b1Z{us&@4TbVfAOZ zE3&q*w5a7XFk5v^J!-UKtPJU7JCld+%_~5)Rs{j$a|LA@%&a>oU`DnkCJ@ekWlr!c)bDObIdofAVZwdiQ_&szt51={zLiy@vn8HI&}Iyay}3izDvi3HTQ|eG#dmd7Uh1 zigA^L@TCO5l8UD|_}}kt2gG6D<}fG3b~Y|A?Cw}yO-m;SIbD(ct{8DX3zV}7xI6(i z6lE^G>1CFXy)H^dfl4k1kS&$czdHO7njG1enemNsYA#YA9Q=PPr*5R@4$9%8+hbcA zR_LJT^F&@z^!^0;Gf@J#~o`FfRuL*r)CB(<5tNe&1 z_ah}5$n*@;9kzc?>ov9ZZW%vMn;~;ak^oIT<9;rEOns+hXJmhd{JLqv0XS<4m55FE zvLZ4JDzlxBy7OLRd9rexwkBha<1DGJ_r#;~=Eo0<_swx) z4F=3l^(3_QTV3q}<}=90^aOQ9T08qk1W9@D)eo+_#z2(A6R=2#D`%7BM(D6%W1Ydm z@xqK!BdltMOn87|r+^Iokl$82n+L?R=S@XA8X2$=3z$j0G*=^rX%SVer6L{b@nqzR)zZgS37lB7>vuk4Mx_u8V9TKo zuro1DvB%G!ts`6?$SOXSjDcxy=+j$WBMg5SL1A*Bb;PV%GETIydI2qMnbG5AnFI1keHnb_|JbE zD=viqL?}HsJS|Px-E@-8eC@0@@LeZJ@AsPjz+eF9!;V6=r-BAgwIukF=|Om~No6ns zL=D4BtKc6)(@NZ{+a!wjQiX$iJA!wwa?!9QP8W}?DRzr$wOiFWF5FC1eZDU6Fi|Dq zxKw2MN`{9`4Q9;PwOtpGeWuB~!$f~m^R*CP4|Ub-xQ6<499GIDD3MzAct2QkA2*Rf z_DDr&rGloEqDE&N&kB~GeU%moXtsjaY)?C;FYf<t;-;-GH|__ zAhb6%vSgt1Aa3#d~tBOZD0}igkAy*`|-29OSuagZ_fdqd+de)ma*f6nE zBIB3;#vok2xHj0*TDd$eRa6;U+B_onxHJG}*<-6)NxrB2cSxsHKplV0TK^$F8QyS9 zO);{Vs0hILz5>i32<9{IcFI9Bq+9=#%)lrzcC}Qzsn)A{#%uH_D5OGELtOWcE5uAv zg6V)G0CG^9(TYQ6dW6DfKA=>oy)4kak@6sprm6?JL7s~2<*U&}%RROk&K!vpBd5?F zDN2vswlC$9sSE#3w#=4v$E?1_NDv#3QTK1I}p2I;swDD_Rai5ar+D(Gruh zYFVu!p*V*-bTyh-%QUSmmVT)@X%EA(s-b@iotest@AxhA&^QPzFm~23+}YU@X(Ep0xFHfPyU8An%}B=gR~Jd^BP689m0#TQ?gA>4 zpy4~Y#8KuXG7SEck*czd97nOz&Czd(e>u<{l8K0O(aXtgMocZ>&I^E_Qh20B zg_C>eABJu<$!C93)0BT@RDY8I+O<4;510~c0W(&U0dWHOqSTy9q?Am1+SS}YKLqEO zu`mvK#vkkn8ics#(x5mhg9c|j4+d>SFyNHcp^7VO#0c64BrP!QQL18)h)cF{{b7Nv zdKI;tGTz;6xAtUMamB;~X{cF7t$T*__JEYGW?RO9+Ngid-Qy|iY@cp~vF&z=P_U9f z&sxVmoAeXx+@NaIX43O#H8!i{V6H9#lT@CUGu967QcDD~HRxBLClHbrvsg9^k0l{XRyRwDC&PHsT0JDozr4dB>n_(jB!JOlc=iN zZrNIpyeQ}~&>9ADJZSpp=*Ai~8qG>{uAR92GRNLb}A_Wh(}ZX}Fm@G=n`4JtSn`RsX!w1pGQ=l~Vu zXN`X+T_<~SI0;tY*y%(IUIJLhI=32t%gv5V%`$0lpf{4Da%vmlo* zT|Le75x-6+c2*AonhQc)(A>zs7EbU3T*&CtXxEnae@poi&Uvv_YPAOJTtb*F`8a<| z!q+_z!xRPNa2ijUUMo=Jehnlq#ikXQ`fyQGS>NnH{(_m%$AHh-HHEj~bJ}Cz<>x5i zc!qujr!#xiViYip(bB=oj<|{)@Y;bnd7@d+O~orQzIP^R1a{K=VUK3Qd&7Zz>D*wC z%o;`5>RxSyRLcyPLteO-)*v86DPMoOaAuSnJo7sjP&mx$K#<0fc-*bH8`!gx_cd@P zo0qEvhwoIN@)IlJ*Lii%W9!+Gd(if|K$fAED;S!%Gg1jW<&^uR6HM*CZrF@EkRiqP zAA=D_rN)Q1$8eKmsDjv||Ho|5M108VO1PQhZ%}6!H0YADySUkjUx96JXiR_7eeQHa zx^3{!OLJ9FshQyP{Ns)-f3e3c|7UslUdsqmUaYX{@9F+K3?T1L1Sv0KK135CgTLqa zADT({Hc+<(e%4$LIB@5g6E7C9o$a}}Ir%xCCk{%NL_N9wMCqOFO|@6QEv5N0iM9`#T@5_3y$5*)YyBd}2qz)bf zAf30Fif}yn9OZAl?#GnF^K)98SdpSVBake%MoMs7K{*Ty4GSHK)mwj*&bpWiZZH0^ zHha$+R47+k!y=Q(Y(7e-4@d=d)6M-9+m*Oy8$AuFm4>v;I(PBg{aRvMBKgFJ(zf7R zFuB8Rb(2dg-SYW{)cP9{%b9Jve_LHKb=}9e26WqT2voc?-!N#hI8D9lC|1E7Y8&;( zpW`HQ-uF#DEat+2z7Buo6xj;6zv7ra>g*e+TaD`^79fq2s4>*rpASnYe{XfAWyR-= z<^oUA8Bu+7&s84&X$vE{Ni~Z#=GZa|EXFSUU*g*ReI$<(Uwl{oFY?Ck1z*Sw_&IU! zTSTQCOJn(Z`hjFtKWlBbB(?6@xWco3`9~1GH`s8iX4nhONWp&(6ryn}y*|K>+nuUL zqs@lCHxi0eR?^mU-PL(Zm}hm~J-S7!I`u~Dr5T?!#lw-1BKDo!=5LCoBf#T4I0AyB z{X_A))u(c$2KF^X8s_b;PD5V!eGk$9YvVY24(iM7=T@QAe8d5H_ZlA}uJAuH-qe4M zEVL*od#ZG0>|uXd_T!ogTT391P%&IehS7d=flnl%y)2!!h0MPlt#iZ2JXRr0p#N?) za~h^PrR-fdX40i&EN%L&5T?~ml|rTUz=Pr;r>{7JBC8qMK#HB^35O$lu!269#{Od? zvCU54&F>2}sdb&!a;bH;zBm7=RX7BA+)UdSqS${TM(}@t20D_vSF(Do-rv3#k9?U( z;*(a(7e`ZP5^_cmCEW~i*>+5?{qu}^6dPqvhKF5!Zm=7+GKRG;a7B4lxyQz>VbKO#+$2m86A?Jc@NQ0bi z1IjZI%yd{{-+k{6C%xm;*~eJ-bEBU15IUZ{c_(Fp~u-4)pq8F)_02N zsn!aGcZ$CBXyB{!w7G(1yRj9&Cpp#t!DvyT3%R_)Z{-rAIeetWsseWBhwGGPKz?76 zkk_T&?1I)tl&zrp3_7&Fc9fpTb>J3TNsHW7v9X?d3Ev6Awl#n7 z@dAI10R8*1QSLj}-ywgzSVYv{U~_8UAZk&(|AkH}Q0+F?NkcwNZ%|ZU@R%GnhxacJ z+vNmb=waX(-QRjhZwE4xWfxpCUW=-FIYV$BcM!{v1V7$a9-+EE0G4*hL}tU(Q8B;) zFm>`bo0^-unl>fk;mIEAX`~Nmt`C^8S3Bi=&H)>w|1h@uW&SY8iEh@epE2P!ka z+4hl{j8}6{M3BLAWqc4{vK4S4Y#}6v8v&-YaFP%Xm8s6O$HSjB+g*O=SHIHRglDVl4h1%XdJRT~l-RGAX8L7G7ctN?1v?daGg2NQ ze9#wPjMBW7t7I&5H=UZLq$N1wUl>+Nrs1kfM&?(`i|OkO!|e6T_1Zp_zr!DER`PEq z7>OF9R2>h;e~smJd9xYyC++^I)I)z@Cz`kI>?;2vi&T;@dMNv&?1zgfs?CDCZWP#9 zU0$6a$ZR-_!Wm% z`w&)^H^%8aS_PaHqn>uGu2LGi^p)2mn%a6@mLXUgKoaAusQm)f9ajz{Aa8%SZSuZ0 zT6Bfh(mjvYNaFoZRaMW0qQ+#MGNz>WcjZIdw9>gHLTxs(E_bcD!ejh%W2@i^yS+~@ zV8}U8k6#!cej5jofF6;x<&$?TtSZ0cOX5hpHfC4?Y)fw$S@?{lfk1L zJuTvaok6WS3VifUk@UmiFFW3EaW>Kf4o9zB+{g=+@^W?`Kw8SF4elsQv`m>@tpsMO zH3hBw^kkC$-b(IT>}vl3w+~vdsJ)QyhO^{lszdyeP4k zUMt8OEi`!scgSR*z`!vWY~+Q@2S@iJiffc%PQ#| z)V2`V6ZsI1jDhSaulM`L=$56vfu~@zb#7&NXH%d2nu8S<@vNx@fvbVJWjDgyif3m6hm0g+ln=nh9jDPk1Itth50Vv3w!CArlNi$zP(<{UBH{AmT31~}kgU4mgG`{4 z*bwgW-9VBV+ghNMpLRUnIJLV5d%@*N!z}o!s2^=KUz2}ELsRU5WuH%)5(PIiLySBY zQ~5vQH2V5wP%C)=;LpB5-ar4-Pg2c8*B@rkCLH%7p&Zagj;Hw6H_`;!=%;8ok_crc z1TJ!86<9b%Y=KH7f9)(nzj)okjqjKm^-(CF52xzkr{&*uFFNurl&87T}!cw7ZxW#cvS0I!7h5p1Aky-@(nKfKA93y}FwNa1?})@q<6p zv~R^2wQ^@?Sn-#El;$(Gt=})OtE)*I-jvpjab7cFZz{+KR8fPo=LA8uRc<@Msdm>N z?dbNs`0$ZHUpumn`P$<@Tw*cn%Mqs5dtx-xMMHnQU*Evm8!T@ixUfnm5*T5mZlf>s zL!>8=gOuwtr1v>N)D$V0TK`K>JMCv-z+J}0Mnc~oTd;y=RZ8*v@FKkuh6|tzO?y4y zU3X|~mD1a&$5t0kq`+7{cXu`YYOGZYDYCL$`#r`s^imWELFi8(BM~a$$?e(ygz>^^ zg^7PRv;@z5r97Uy=)V39nbb9=t~dH?E&Ko>^LOZ-sJ51}NS}hof!2g}OzRB)#8T(WU-sB#NO|cmmB} zeC^rO-J;7@@Y$&fHox#`cheHTq?AdqP1b+=pB-C#boVzwRRV#-I@vu%G`&zxdwSQ8 zhF^*;W#cJp!zI zSu^?fpbik7&YULl>RE+RF%Nyx?B>6$)Mp_Acy2>lfXtrMzlc>y)jm!H!BfB1(2Rd_ zcfW_++?7-9emHnxRr340-W$gFXpU5>%{k2TA0*_YdK^sL30$1uTFg~-9V^GGU-h3N zZ)+#63QbsY#-8Ly&ZK#RFrHbukGe_PgPd0ArtWMFlNPLjFwT3L=Dg%nBWz`QjG6Lh zjJMsACsEU5sx%`_nt2p)Iih;O94BPZ?- z=k)gsfdXcCCEQu(?Cs9@9GCrsp{TZ6K<2TZ9H?ja-uet_M$YXqSsY+aBix~*ImMVo zy`60@K)SJ?CR}}EUt5$4G~z7*OsR^`I=~%ldNl24T|STR%>D4hHpLdw$GLwK8Tm<; zBtn?BO7~4$odK@-ro+Y4ZW)#WkBc*)byfcEuDk*|OLNI?wNUzTj(Tr2;kbBBIra~t zy`g`36JFaa-BXrxlJf`q1mS%(t4s{;oApmD&mSn(jzSLNOGv@H7H{}d4`Z+R4>l+$ zZ_|+5p#CeYSbZH&r<^%3gp7Yx%^S;>b3tA|{tSmYif?I8k7KkD|J@Ej7etTab?+9ZF)RDbf8#pGXz z>`P(vG=J^&x zOv*m8$O7)E%qI(ABr>#sdatoCQ= z*`7k0B0C>o663S7;EX*;sR?2_C1Z<^` zZhNpIa>ed)anMxY%OoRCUcVFn1?Gahi};;Aeae)9hIsb)8K#%+1)#9@K)4l6KRHFax>z!1f*?qVp zm8yHa$JRVz{BwV4n_R^H8UL1=?Q-tDfBO-#>Tl$$n*Q8a7g%(=zyxy4{cySDH&ftA zA?cyeW-){oE_@PYkj53DN+wWgBFZ~%4i`r$Tl4 zp4n?TZ+7&AIFporh(BgE{j^g7&h)Qi?71|17%q98g)o0irqI~yifN-u7ST^Q>CzWQ zLPcoRmDjmre{F!8tVZX*Jj6hmABK>OlM-Oqu<+&IX92YL%3nBP;ix?=VsXVP@KnsE za6c8UlytF^69@g}AsJG>!G<2&9J2kJ5T?_c1Dq$W4Z3IW6=$dP z^!2fyzgV&v(PkO!5AF4;FdUJ(Q35UQtd)l&FM#_&Ry>Z_0;FofWhF@`1MAGYw+Bi! z-!h&1ni+uQ(>{duJx?uIbL?Lg+$5_(ZiN3|o$`M@FJ5n2QuSYE=3Czg)1%dLn7aMV zzUbzgpvzVFTZO&>&7q6uY5vf#MCjpp-07P-n+y8-EBa3Gr*s9Q`R9v5ez?G^O5zw^@zVx(Tbe4-%1SD0Z? zFn+vKc6lGRtu$NXnscZ0T)POqmnb6!k3D~)Jg$!UQ4r}-ln?1Rm z)0)F&_pB9oGe`rS3a}W%ChMKKU#9i4i1g0q{xhbB`lH-`08vfD#|EuS@oNP2%uSMiMPKXw`597jp+nir|ckPDbcc-T}V%ui#U zyfO3bWGE}!PA&oYwlc4GP*+{ybZ1D~sOf88>Z}X~oY8c;@@08+X9n5AfmB(ZD9~kd zB%WNTjQ?{O+6<-d*PW*~p|K;Wg3OH&P;7w&;JS9dxndZEcFt{n^u9phKMJeNd!*xIA zb_K^IuvuO{!0)Cg#!;+7Z(yB-n?Nt*llW3H9MLa>Uo@W$V=a1^WTmb+pn4Nvd%9u8 zkL~fP4X%95xr-mr;HnE;I*5Ne?Z5<8{$#U^#A|!AKZ(_S1a$(-@I1dtTUN0^VP9 zLKw9x!pC2tD>znua9yh*uhICUc;=K421CGq3Ic2%BY1)TJeK zhz86ZMn6F)XE_hl2S|Tmd)>oqGv17=vBT(LO$o{gKUds8jwCy&VMxVxNpZCSe^i$RDf`qYm=2X*TEe8aHexlyK7K%O#rvpo4 z(^keTte7WRzQA+4%I@W33liOR<2FEA`CNl`$Blc3K~9ZiF13HF4L_!G1HP-es3wjC zAX691Qf~1VanZGMjNi#H1iOh9Y1QV0qdppQB;LX0^vwm*cy7&TW30>D=mJzLA!jL? zM(fYR*Gg^^-?PRiX(=jR zd6Dqx+nQAd_P~EKZzt=`N+)sX*-ZFr1lGG&ghh6~A0FSH?7}FoOd&B(VI(xw3=HF5 zi;z+?g?B>RShpf^GfYPjl=_h!$zG-k83Y8_qc(oSPSVBBi(KmQvL-Q3=f7UCk|b6w z&H?OQ=Y<^-vY48juQMB`?S4CU@AOsKJ+#1xu2LKQ_7H!xh-*mMzzCJ&k$%pc5!qJ} z41FPg%^!c^l4rp$G+mIB^~ZM6K~uT5_l-%zPnMm}#jR62b^g?rylj`lURwy2Sv?k= zVFMql{u~_o2+FBCjLgKR0s^?4C+D=af1GJIkh2&Sl0CJ*7gUMo6xG@q+<9H5ADFrh zn6fpSp{IXLcR@uA6zqMXlh)^mpJ)&<`dK0U8N^-2F#j|yI5 zd8$D2lW_f^ulcT_qWfK3X{=a|>bwirVtX70u0q8`e2 z@N-DBN*ZT0ZB=X2@zqI`Q-lR>gIR-}QTcljq*?gv_R(RvvGhtl*$>teTA9qu!gke9 z9S(mp3Z;pJJVmWPB-Ffgp+9(a9R|M?r;)TQXdZa)grghrprMXKYyYuJKe<@@5K>o7 zn2xhE%{gO!TToFCv2O@FfcvQNneWx(?nJ6HQ*L;sdIJ;UUuQ;NlESZ#Mq$wuQvCsG zOL%}=>vl?ijw%=*P&&fS-Kn0|Ge&Xn1|NSoDuc69u&qBfAhow2^TZ38gM3>Won0f3 zdtS=tRx*3Ad!4qwT35-d!*(bx#@=tz4QgkslB+coixHuoi-AiSS*Bt3(wANIgo}|Z zZgWFZ&wg~^TkzGlXKOXRC*GvX06Rd$zv&KJo;s(K5ZJ-|V$}QK5-Tdqp=WHS#*gBx zs3ORJ>Uv_>8`&}S^X`TjQF+sbm^VYX2@Ay6ZH=k*bjE_X%Pq3ZrNjy$I}9|5>ACT+aUDv}@xqL7+L@!bG3$^| z-D)og-?_y4YgWOd=tNyrqIlD=i^oxPvM~NJ?Hm5JDaf|W!jnIb{mt?ksv9?Tq zRbM>Yn3v|b3E*eprEGS828Sff#37#yMc%OCuKL$=(qvA zs9b9G0SM|sG)ZzVOB%dFf`ljvXVS7bBKAA6nBWFL> z#OP>}RczEP&zqMlSMlvR!`p-Ohl$&JdaaT$o#B~Qyh3w)&lm&uvmRdkO+#HxpQ|2h z>Ob!L2f`-Ne(J-5@bjZ1H%)o=pil|J#XN?=TPyS93-}uotCC{(DlxBFKf|1jf3IrN~-} z&H92zLGO8l9<6}~zJGGM9E9AbAMv!3Azfg_^QS!8RR+FppD*iRz3=;#&=t(o)d|Y!9?4DaAS%|x#Mhm^2iQSB+G3Ff+{9!VGgr?v27Uj-1g>{^= z-MpGz(%3RMU>fz}Q>zG3dR5+I4@VuF(acwk9BE(VfXeSB5eY>jPMoAGm8iVK{61xP z%p*NbNT0Zv3lbI$O7Aje(sR=gXC|GT3tY+}+GM1U2AbsF-P3Z)poN5LjSe{vZ{qm` zeE#=-J$A{IM+ty`i{45q?#Zu_>rdI%_D&^z#~&WOX!XYA{F$n=znl?v8(7mnU3@U6 z?+pohVY#hNzaDb*I=(<%O9tZuO}^XEx*mfB;=xuOMU604BH8pmevE(a!X%~e!v3oe zD=gD4r4Pxc6&;1+Rr=snz@tu0f;WOvmSO|^?m}~A5&0N@`VH*B#EcI_&Ks#&P^LLy zg}=7oP)% z6_y%#7mOaGonvFwX@_dA!!sDT>)KCPHll0)YNne>G|wxFxqR%8+pPcLTO#dyk1MOg z#A}Qm?yymR8E$qU4jsvID8RmUj5=;= zo}~3!*Ab8Kh`;B~J5F`e!zA=>#@G_`;CZGGbv9l^(HE`6IG%hyzTUi*p^506NgdA} zOZJL(Atya%vHL;yFt}OGUGw87VW??qNe@II?-H_qaQoNs5m1Vj-{8(#XVCABwMa%V z*5~L)+{)KrX&n#7_Zq++O~U2T8xo0*szt1YZ>tI#N@RSmp`M*w+mUUL*7U=-E1lE- zhpMj(i}L%rRzOl3q`RfNyIZ@VWg0;z!q?wYJ5R2q|wpd7)iK^`b(03Pyr+?)RnseqqhG$GcLqJ z(sB4?E09&|oe(-fZY)QXWzH=*-yUlBvn*kMiK7XiX}U_5{IxFCv%aN3#Zj-N-jc6w zkMx=Qw%i{sR8%6IAHx_T^r20Ozwd@Alb4$~j?dfQ)X z=XyDYYnlqWaP(0Ze_>e(dBdOG@+83cg$=M$kH!nU5CB%&>VJ>Jt_MkL-u)%`Xvsc* z3*Kq5%OCP2YUodfuxdVdA>!2ls6!%78ds2|`D9avhX)hJS^u>}5)Eo1&`# ze8-<^=+8DaF@Prw3%FC(`?0n!wXpGjt!Ui@S1KCiCI|}5z`qFIz=y-~3!Gm>E&k0N2dDUOU7~|7 zq9=Zj^`;O?l~gjvv5d%xD|llk6iK)HGA+^WY4?VA8_j~0f0w9h>U6eWT3MKXECuuD zZmbKLhlFJf^?C@Pw#6>K2Gnilj|pIFt}$}8QEl>cTPrNp2FmfGXcCUQSh|J5Ex zuoY!Y&x&+sXg5VgRPL&0stO*2+acw&ML$~^4cdj%;1Ts>es=pMBTt`vwk7_b1O^7Ity+l^Uz1VesThW8={GY|(7&RX5 z)X;BMJ%T2@t$V9a6R{`jOvHMqBmT|1t+Yh$u9pwbv^-N|9Gf$*Zx_$r;nStg)sHA% zs7|ghFXOHwQ4kUe*h2b=bTPH4=nZ4f;exrU=n&EF_u~t%cY~lSugUnffPX^_{vFW2 z=#u8IuUSCQ7n}$z+fea7%r*D`QoE^R9#=L^zt3cmk1iwiW-NMD24?pYSkb9D-lBvs z)UyPWlMjq93flH`&%@=kiR#yrNQ@qT40~--a~UzD`JJkQB21Ho+-^-u>viaiWJgo%Nz1A$Kd_%+q$q~;+gv()^+LN&yoO~ z%4(DTu<3?-Ca7wd+Rk}P7bdq`nP>w)u!UwpII_^WubJ-Y1+Ro-VbUAH~cExJMUdD{A* zw~%qlOZhWQ6&Q6QMnqH-IUNn_yu z?5XHM&?x5;ccyI>*q)>^AnpJ!AbA_+)0K1gTUr4!WjmPSbuOuHull4S)5%s3F@}pi znZ7$}#@+Y-;!iq07Ui%sKIiLwKcS+wB^kr%L?iQLbIR&io~lF9y*9q%h@+9B>V&04y6rJ;G6f6Yzhr$wbB9w(f5gk6pz5VOKfHTCLjq_FlF3|_H(qmG^Q=nDVCOMA^i+P-BcRs{5=c|-oIR(CZ z4e!;iz#D$qcJIx;Ce3qQS^H8ykZ5vYF6@_cIJE7o`dGs6hQO%b+9?s!W=EBj_F1yb zc!0$FVX@e6A^J-={?nW4{hjiw^@IWF6vz{c0;RSK1tlDt9qPnuBCShTN~M zz9C?o9cSbL0AQJ6Dd7@W8*lSk@o>nG?aU3UV{O0qgG0wBwPBuHe%yrFBF`F^CpvI| z%vn#w`wR1DF9!--g<>iHI2tCz0J})LW0~9<^&?_`fh}#|6Ry3@{U`Zym+y+!1`ysv zO%b;q<$gIw$ainvQ@QA7@Jb$5r;hYbn_kMhY4{lUFevLANWtt+YOh7s^&p0ZMWjt> z;iUCl{}eohgMRYTrPn|8>)A62P*usW+CLN2u36KA#jhN*7ZndI?c1w0tt?Wc;G@zC zPprv*G&cLuuVk*s!pEFMe~h#zyYR4t#h9!a6(@P4lZ2$Okg_CCdYR+hMMNgjUJ{9? z%d%iZz`Z}8)ouYa|MIJWGKDpkZ3zn;ZplBFEg?biUJgYaDd>iOHn*D6{&=%=b(deF zDP}ohKyLONf8}ee@)9y9Xcm+gZTB7Jcz>ha;qbh^>;bBr$+cgqsBmqK(_joM| zN0bvvNwxaxR3r=kdQR32)@tvmXNe_$`wZ9|=8X8AO`4ZM92z5~Ed~#(8qUA(jbZ(?c zPphs`BFDKOzGS6C?n598;cUL0fe|yk?iU6hT`hdoxF@;=enU$WPdl91gGbYUICSqZ zbHQKPun$;_PVH{p)QKHsu^NV^)&a9W>A2;r4?yVjZeOeetN?VuvC$wRStz6>ms9y|CIJv zMdpM6cQ*(PgLkjy8|eErqLZRJ5LqN62bFvLLWTUvQ)a<3`6dDVS5?jUIP~q+v27G& z2Eo16N^a{|u#>@*1@sW~+5LL4@7@Q7#5RB`3|~9RkV2;Ly46iY3|w`8l6WftMk6ygMfAcWM01IFu@R={uXJEZe7a;BG8E zBwwl(vlkVG33-}}B(EM+>CX5yGWo9a9or!4NW>9@Y6h7MVmSMM0rzV2W0z5S<)6G)SP9*)EqSlfan$ZDQMs9T3+#g=4$q0P1u*SaD{JD#*4I- zthihWyG_c)+uy0JT%(-zPV)ILs76vVaobBJR-CKOkG}!(p`evgMs}(DNaufm5^ic}&e?!u!Df z(ncAML@~pE_+XG<2AW0@f{xk@6h77rM*qO%n!njc0m|2Qd){()_O^diW$G)*$@Ax! zVs;~WH~U`B9G4M`ow1V3bKWt5%#fDqT*#rmhq_x*fTkU8(h;5T6W?b#t?nw8cIER$ zX&nY-2u-Xn8=4~v3C`V(I-S_;S1?SUw{3E3Ycj=Z)viX9PM8RPelZp=s-aIAzP;xt9daX|s{!48 zJ~x(H#MP8SfXDPuRGsA#@t&zK?Syj>%pU+<8BZp9{6h&yPI1KhAFwjMO-lS#s89d9 zgyZ-E&{;krh$vaIj=ue=Diw;OxK)AFkHV@%%6~!k>+P|mV)P6tCW}}!(>0*qLD%CH zN{c0bcN%2sT7E-_MNo%CFz|XT*jjM~RwUe@ZhbD&X~Qvc+>~)0L>%{y)M~`yK5+bM z=ru{dZ1ls?uh}Cw@#oolCm83q5jgKd;$9Z( zDGmbvsfx6S`FLl`)1HPTtS4KwSa7?$gAz|BA5Y1qQ)?Z)#eNle?Zsk63`f!#@UfQD7zJWMA z?<^vTp`GrfP~iiM?dY5%W;u_kS*QOqdR!iW4l(uiKT%3-IBk}5?z&8l6#l2OY6C5Q zP+eK=-@2;Ejy}Y|8`p~j-hav+i94c0wZDF*E21iXUxtJlea*+LfQA=enIphs%uOUe zN!8?j*4S$=gkw#&zMmb7sO3IK^qCJ|sY{RQHJVCBi;xmivsc_Sm#;0V%$B7^`&7hN z=j|o=P_i`3O_r95^-F83NK!^$qt;x1cRJMe2|@0w=4@++;I;#p)`NqO58Pv7(YH!C zRE_M3d+Nnw_5#Vdk?IK_fG}eQq7pHi=4xt*DczTR`S-apNt059lEvPa8%|((FEv|b zE)LvY?xT0e1OhP@x|2O;hm7I9K2`wi7lHzynI|=oFgZ6Ay z661t`nsbdHsowonu9K~3bRES&aQorMR|?CXmn(gIg$e?Br9>Hc$Bm9eZ6J}j8dRz! zd7Iu*wHI03 z#tEd|&q01nA;!H!&3MiIx9lo^2KsgIxFYVDw8U?5vzCK$6GwKripeE=r0b2H-?W}v zjlZ8h&QU5Vox`9J%>mFoMjCi?3;ngoWF=|p$Itd}yGqA&YlSm63xy^D8;fkxHB;i5 zvP*KR$h4Ibdy?!ca|s3%!D)veKh>+Q^!cb!9(k*j-lml!Ve7DiXPiW^OBSg;30kZ!ApbLc=z+CF|+Ui0}M$d7|VE7m$AH8xuktKRKbsBZHgs% zu4OC8J)j{)no>_B8;0+H{E&cb^4gOK9<8XISQr1R6U0(mdB!gr`Wy)jNv-!GAuD5| z=X}fWw~B_E$B>KclMqye=TCOr;?EVt+$5Jx9*u#a;WG7RjyHe5kq zYE2v%%b$;IW=?L&`l;6fN&u<5=81kp!R7zUuIU$z_TYh-Y`aN+N>*Hww>*xlb>A?oa`5+5p2(UC32~Na#$arM+wZ4AFt6=odLfgA(KAZ+E4|I+w>@{EDw+q9 zR;!Dspl3!yS;<3xr#=o6@*#Lzk9R$+56#+sFzs^IZMnxb&;WIT5YIQ^x!2m0y*1g_ zpla!ARpy6qN@ccxwR26-rhR{-ukb~ zo_CJn4^lX7$9D?c)}X44o7hE$-itHY45)9LaV`c+8##hZuIU5EI!DnH&zz=Yu$S_A z6!aRyDMd|RiV|;H>`~ca5M&@mIgAZ09~O#(2MA)ue$Z)CWth^i{zmlEA1G0fJMN>@gZh|aJkg&!nD86#P`YtbigSs1TlPfRQDaTzul%yx zsRhP~j^^W)o(x+#1Q1pL)%rLO%F-Y1E)F$WLC+{TEZoxA5G`}(2h+u0_vwm1ulV0`|6Bh;N<|#Q8~pHk z;Pg-Zr5pqY2Zt+UFehNvG%D2bL~GJyyAsdP6o`k`Y2bO9e854+XVPbDW6JCJWAC+p z^GbE4fS}}T;?Oay;$*jJ>pfQais5DwuT&c8n*@T!h=X>k9$#8y)kjNE260Zf&1+%I zaiV%T4%eHl0O$8WIH@(kyHQP@L;PI0IqRzZ!LBZdAIj3Y6YB_1H*V{cc`9H+{P0*K zl?D%~qu%{gt)b-5@yQXdUF^~3(oFMzDNPWjv5IFBs3h|sYcGU9Fm^8BZ7q;}hv@ON z|48|T#ZXq(_zCz{i|7B_q9G@KjsZk|$+P?;TGD(%LlGcEoF=xVy%>lb9_lcRR_pUQ zCCd4WYfk2q@{c{&avLkzpF60qZ$Ng_l2aeKnVPgnrhifCxIdKZ3tSd%{78L&0uc&| zP8c0dKdN8-__|v&v_Zjr{FWY*`{`Kvn;MNmD8J~wN-&kxYmk=#>7ux75e!uNd zpJw{_Br!Pwdc#Qgwfz@8oxR9^s^Wm_YyS(xT*dOmkxQBpy`6uyqVym(#ub~!6eNC^ zGOo3vQ>zxDDCi+}(8>%ZA6Pryc(j|dw03f`x4cwCU*D|+hJSvK;V=}`+YW?~TBPY2GvMi7I|uD9U`7tO<8!i_{XS%CwCt0o)s$vdgA39xyi2O{Pc9*BGh4b} zjwa=|#tuv0eUG`|`)u=n*YeLv!InR8=r(BeXKJW@-{P=zP-Sq|88jqjJ_0P#_z}Fr z+d?DWpJf9N?lY0OLFFphx^+tm%)FOGUj-z|?4Nc?+|mgAi*UGsjmQdR_fthvo`v;z zTOFo-0x6v4Km*cNPiKzm{|Ww6`{3~{4Xmv(Ui3LHnpf$K4&9x9o$G1$GNS}+W=j~w z*BOeVDq+qx|EX{4-OUIz{W9vUX!&UnF*iP=hH1s9R|rN1NvpiJm*D7i(`ra2%4QF@ zSAZrVpT`-R!E;?)>f9@;<>T3Gc=OA{chC0TACVrXVMcQRIlYzSRMY>yV2|r1(%JFB z;QYy!h{&vAko{m5p1>r$e35E~=pE>MM@i-(Enzya42T;RTL74MBnJQq{qyE!^6cYq}nN zuPmsy@XMVWKO9;14F4PfO7bFQ;k5TnXZfC$638Cb>lzJ!EV7<3@Xpzm?75c1|KK2I zM;{4Rc!h31Ud5o95(rfA`5b-s)?b?qSO_O@Xvmg)K@4mdn!}`44jyM zzpNlrIZpjH7ak(!T$46fg=1^W4yO-6*g9_okj*H0nOW%)skGm9V z*IN9-+zvtYz1*KNe(W7Fd%l1;;=`$bHeM*SBjtBHrN*e9IhGXqAmtZ6-bc@R-fYTj zzvHk=wreXE`d)l>U%;)3SJHkb1Jqu;lle$lK|Yq>jkU5b5d7n;jTNwWd*7~EZ3B69 ze2hLd{)z72f_Kc9!wvAUs()2e+sQJ_>NPMF+WQEGx2PwZYVE)FoCSWd+Ap7@YP_+nH*H-nY>;!KHcrP)U^P4HJggbS$j5WBC zY9CIZin!wjQ_v&!tt&&{>3G_IuD}eP=jMvFO3y#d+u=L4r4^;#zJVtP>XAs_au3Y? z-7emP^ORWRd=703(f#Mhkr0$G+-9HA!(Q}FtN3e~$pdUV;fSvtR1!Y1nBKKF+Ff%eWYSp4!OA>@|bG)gRqmIBPjumc>e8b~0N|WHDV7Ft$QT%~3@D z?=c4{F{qze89{{K-irTu$sp)n9Dd}Qq%d{*5USR(@;X>mRMgioCBp+@ zetD8FoTYF+uSvm}!C7}2w z@DW#3B#gDmU+!W339mAbzugQd{d- zmp6HE$ed(k?6ZjWY<-P!nZfF0TjNu5$ZUOaKy3~HUpv)*`PTu9z^t-V|-7izgdy9DTDd7?y%^=Am?(1$Ef1PDJL zVq#d>mk*Rt6qEn}R|?90#Ggl~sHc~gKli5!){l=7>#F3VNduJY%n~BxTrvX$0S~Y) zE-v^yj<7F(cQ%!3*Gk=96VX&>L-DX6Y2ybrw&Zs(W6kW=tA3jbyRc8COqk?S{IGxb zWbTAZ4TeJSC?{=U2+?}*IWb99h-xZ*RuB9 zO<{TBq0zc!SofWK2A`WBoB3qn;dD>W8*tY&+_q_dtx#RBk8qHP1i}ty%Qw3M5WYA& zt6y|G{3J?OeD~ORt&=m7lfYQGihaDWc6aG8wo7;CC>plDsJdc1@G`xLd8@A+oRUJH z6Rt<5Kfl+H%y>5w;oeeHrJda95V4CK%29vtwT+LD47O$hrLd&0TyM`Q=8QHUZZCR#&BRiq_RIg9 z1T83;M27HEo%)ZfZC(uyyAj!2U>`s%({Ht?3nTw`wosD6BN1eqh->=YuCG+kD~GrB zHp{p#clDKMR>moVo5HE6t`7Zb_Rv7`d_Ke&geFe74Zz=+j3Gv8ds+VsUZNy_R@2_4 zMhCmiUPQ3a%XU56C{)gazdl*Mci^Qg{l^HV$%t)z)dhQ4g#L`m3Z=nu9}OJgAT%^I zauw3FxsmZXZSbwEth(}rf3TxKJm0TApRRg8zX^#&2mdOF54PV{=;r(3r-7Jt(5klv z-+iscv`B$MS`@3P!po)5L;{|FutaHb`u~hojf5E9t2kK!C+yGQuVG(qk$kz{@`rLB z2IJF63MaGU-iL|{A=E#8V-0UWf4hq$khI6wU*@NTBtZi1H$QI4UIuhTU%Q&t${h)?5nTK8g%`CGwZezKF_o+ z#|r_=%`UVugfK8Lj(g*;2?+^Tbqg>sp#HHwQ6Y>wTr~TCp2fl*Ej6NxhrScP*cnl( zx6!K*2keffVH&gzK%mk5_4C2{VQ}oRJ6>RCVpq%(3HXIn?+=3v&-2$Dh+#chA+pDx zP4;p#|2R}DEEDI&H$=RDC{A1b%cFVLj;ac^V)YE@_Xl^}gMiE~C%Rm`y#APPRSFbd zco~L)0ByKf7ZF5D=tleV6M{EEEFm0(Uk9?V5C9SYJ8U!w`&oqwl)i@h}O%|%Y|2yaE{yx-~r6%t`6aSuNp?*}?`|DEW6<%VKM*Hn9a2)-zJ&5@;6bqSwfuT^P04aiyA2-{by!!95i4ne7 zp4*PL#GkgIh)*AG9l{9twXLsAcRj%&udB{_F|NDKM-B~t<vg?Llper3T#kRJ3eOyGhoV>T)(=a2iqp}gFo42?|q7HqD%ZJt_Mo8>z7 zNN(p_!B9DgB!6P#I-W0=-3GPfzB|=FUZX;ktv7MacUQ2q?3O~i*_Vzy8T zvL)1}`y1kc_u}X%62JSUPh{kn#w~@&-*1v4gGUp|=Ri+}`G1dszQQgwIUyV`)=MVP zX~jWK%O)}yjiz!BE-<2Xk%+$g^Fw@y7yb^m>$Q`AlL)hkY+pCf;dF6eER~`}L#0&U zKd^I;iW2YyGNxw#Gq`mm-xop(h805!Au!skt*`qI#8Qzt9sF7^E1x9!XYFxc>*(l& z;c+Tx?P0xFg$2uC@%65N&R=fNk066_Oev(l->rZLFTO426t(}K;k|`zXl%>^Q)g=B zTv(QWPyMeL85zUyxzPqF>p~d$Ck3gKAhQO4_l4;}CDZK}{fR+g9V@LKN>!hv z+04dYO&6&_I_$UrR|xDjelm}~-~9*u^I#jAnm%3~Omlf$(+L0`g7CTRGnH~A4whsB z>AKPWtRnr(^4F*^LSp^5{Qa<2^Ht(n8`a&5V4v=qnnJf;tP>BzW+pwa$OZmw;gkTj zB0xZY<@6N7JDtz%L$!%~9JLZe3a4%F_s#@?-|qr=egd@v3$;T2nFCj0aLil(Oqomc z=Mf5QMK^C#T zNMP$$X>&3eO$~l=s(09*QvU)S=_x|#+7%ew+6m5=kSYOdWh-cZO+Tp!IPYJ&eS~bU3QM zdg}CtnJ#Ms+ZBmgk*Z*ko4Mp)mlA;kdu||Flydl=m0W;r@cRx(}x1wZexY|WAP$}o=RmCqpYKXSp=+L!1~8m`uh4WOcJ~Z`47O;2*H&{D$>8< z0TuE!^LhyO1$pa#09Zi^MabuBXvfBA(Dw7@Y;%2W%}1}<+34}^YOd9zexsvS^8;Eb zq3?QkAeqVVcZ2X)FRHhMd^g3e!7n|3KNJB6^%6?~?-?_E0)m&Dim z>&xvk7hBvM-eNNe(cFNsJha|+HTkFuOfi)*geGekXTU$^>L`3+40DM}FGO?Kwtv5Wv;4!t#bU^FxzP-hP07y*8f|=qv zI2huxTdaY5ct;NRm+o~Si-65u5Z26G;y+8aC(ER{AmVq2a<(60aX!*?JXylQVfoYn zmPU3@4{mgt6+#%*(f7)5_LnW#7*qLXJ}Wk3xt0JV0xIf*ziZCMwI* z!GPsUuvf*BK~P?AF%1tUX}#cx`a(mmhO11+2*sz2M`NB%BSjame$Pz_&TG36%aLkY z8X!miCnV$!|?cOs(I14OFd;)?o7 zY*PM@OK*@7zq>>AM*0l(8y&EHd0kGZlL_jEXK61Qhgy30<&)X6hmrd(un3!bLj}Re z3b&_SXEiUDMC9}B#d;-Qtk*lDdkQv|Qa;2N66SsABY0V%s4p6SBdyZL-~nJl&F6K; z#^E#YOApq;o7mB#l?rjj7kn@*0d?kSp zX+;0FCNurtIHR$De8I7f#9?RHB>q;ezFTK{o|)ldJb^)v=iHBi44E0ibD3N=L5@bl zwUZj`4U{&tE_u0gtG0 z_9Z*OmspE2vs)h*`Tr#c+ARJ{4!E0Ll5tr>#Zyt!(dFS4>@Q9RhW8aIvSQ85mIhq) zF&p<%@7Ck@bq#v#ByMAUTxm<^vipd+vk7+o>8p{JJ*x?@wYjTFw6zhR?u_8!^Si5Z zZyU=B^+o}IJ$f~ocWajxfWGg_$8zG=$wE2W7naPOPMI6*vN55uQ!cqUJO?2ff33e4RuC6BeI%Y^yewYAN9 z?D+E+Dly7!br1qCIf-+vzg;)fUe~(Qr(IyzHcs^p?Sc_j&0+W%&NBln!f?T?Re5GT zl@g5u_EfiWEJHL9>4(QjPbgN1P2g^f-L7LoUnEg6H`wc?Iv&hH*&M42(HE9R$I0V; zcA7+g<;a2R$#x!|HgwuV;hVJ%n*j5(1?Ix@R7Ng0fEcgv6^j`*%5h}HY7#G0Fy|G5J$<)w zd$D8G`%BvO1cY&mAJf4Bz-Vy;5lV0NzAD~-d>i?(!`t!vwlR!w`0e`G9gkR+T&j)d zR&Na#l7m}mSYw4idmc-wNowLITV-6Yo1e@qNU?b823s{fb5b;isMDORkWbjih-R5f zeljtX31!RKgMOrXr-+`+MPXC(DMW8ZlkI*c}N_*x9W3^=YrBIBYi|9U(Q{Bu@yPo$HS2D+8Zr?N09b8;>Wz!tr zuFO6o?Ul1%HJ`dE8HCQ}gpRJ|`La&*MJrTIx4HFfN8FaMk z4tFeRv7YWf>TEg4M8uu-Geo@`%a(Y2Q@#rLc?il71PXLrtULS~+(kL%Eq#nUFXvef zxU}Z7N3N}SY8MIJbo6Qwz}Gf^*NtrB7vM~&P}sfpv+%#bj?CD+L`&uIdvW>?UQ7!0 zjy9?Jwu@Zy-h`WK*&yrwNRTmn^QW9Sdf=iKnNf>E7NBZH5LM0N`osM$Y*0#+BC zh58iIPy_*(38DM~) z3Fdc8!{);-L9q10&q*%Cj$hq)3WOJj^sv)Kf(iL)%kWLlO?>7n7>5SUAK z!18&V!OL<0dwy-}#EF}O(p#rbu!X5Ul6CMZNyLmrf2%FZ6up4{BA3YV5n0Nes0b{4 zjza~pN;|5YQpVe#UtJ!5Ow+0!MwY~vg4LWJPo1c6!6!3=E>!NL7zuUiPfO9*z6b(} zOuIf<5w3i_x#p}Nz?dNw_U-M966-<$g9|bvE6L-Fx_kvishH{$Y%F0YBX5dfmw*-c z%8(poABF4S3PW$kEz=VCw6|Pfn~NiOPeiTNf^E-}|MPp9JgQ)S*?56i@&Iy=Z=3tY zyT<~Co*$O=mDYU=;y`9(ATr&A%iBte+!*41Udj?s@kuq3XtANjBpy~yzX_FWx3m}hw;s1IP$}ym z;A;2$yw>fgo7Z8>#zBOkXw=CQ6qGA!p-qYnm(vrArEGQ8?-$Yx%%!N3w{`7Wg^@mo0@aUbp}Ja&s9U9HK@(#U4&i+0R@Da{D(yV=o< z{M7oH9~Z?NtC3%sJTIc2Z@ic|%JjeKOyLHxJf|qd`OSm~wP;RMmYSNE=(fJ|hrXMu&TbWiohzTwT2J82z+O%>Dqnx%ar)pQ6GSu!9C{?Oh!&x^Ou>k?OYs9v?9! zCvjbWH3C<=@3A=?&B(=xx4KsOPk|02=BfbXs07F2$zmBBS@Izxre`QJP zMwZ;YmPNK(eWusOs6w!f3b=pLZ3IE&<>Pk?9-ntke|J`iZt5uN8{ZD_ni&ieO84VF znhvd4Mpo_>A~W0wNJ^x*n(43+$e31n>H!`uGjMIoSriHrSU-25d}lB{%`fJ1JH+`Y z7Vf8<6qD5^Yw<}oO=$bp;aT3Q@rIaK5JvY1&B(P@&Ud2*{bVu9E7I&TOI|Rx+}}?OA%s>k`WPQ1w^-K}w|YPPy zyz7ovRbl0Nbzg)MSE6F~7u~U1K;6VhV%u+1JeOx7*P)|_*hV!Z-Sf=QFztmT0EX#`xh|wq;J}se|p_uM3}2&Yg8xuE=@Z=Y1Rf`!Oa&@Lx%nA&PBo+n=Vp^}h01_gHv&rZ-8n1!tWR_TV)$b^{jl$MKLXezft`@s|v6G9) zs=XlnoXyydr`@?S6lvVOuhYQX*cP%;) z=M8MQ4$QS1zw`mawZqJ6_UQNs+qxDbed)cub=(QTEGWwkpmSNi7G}J)Rkw4b;(9g8 zG()D!sB*wIY>IbE6W!TDwx^5}f7{71>a7WuJdtlG!*n(i3p*iU3_lfoLsdu`8$aT4 zf9Gwzg!i6$M6>Y?6@xB9d=o%|q8=#Nwc&l8sa_x5;5?*3vwZcqCtxFxU^^cP9Uo$R z4NUuT5CgM-{H&5eLEN(Y9Z&mF0MpL6uWMMCV7x@zT+X2K&Be^IvYUHYV@71aFLk@b zqwj(>2$Oj-5j+0*9rq{QK0KGN^VhMb8&Ls7Y$zY|$|Wfu0wlw*Bd$mAzS4dc$YHa7 zLc{0XycT`sP*vaU>zzPisy>C#BAAQbX|>fqQ2m|Dl0@72FfuSQljg)Af7v4b%hWxR zYc$h08|u_RlsS)r-y z{mN{W0Yk*$-7{IaMK`!7+Z7mEZ%q?>kXy*RYGh)q2hHy*Ehv)(azVYUp!NRRd&-ow znh^r@dVQg8kx^_FK|z~|e+{wtGu}?#z^khLFwQ5QEnnoO-D~b={mwP^0wosN_i{GM zD8ZXQ#iq3G?XGu>y(WZ=oZsnnFw>Zfus!0VQ&*?{U(RF@wqKy>1GMVPE`V&kvRRV$^C}x4m8n7kkUv%Oo9rT5 zwVnE4OcO;>S&O_ae@%wlmlhs=w@;wnlp`w*Gn`kag__F!nNRM4opzEkqBMElb6tS) z`7pqvMl`cR1&z&4K6E1kv-NOvxqG47W&Pw{WL??+PFK(Xm&ZGz4X-Ry(!9^7Cwdkr zn7#7A`Ux`~I$Y|K4&dNFg@ z+7x8ElN8EcHD9lCuz*Y!fiMzkV^Avz7B(%423{X7dN9vhB8t*+8ewUBy+iLIm%J5b z*qz~+n@mh{2jxZCtz|u9} zOomV~l@kwrNAIUYzO>8hdBgNEDp)w!bAIHycHT$2Kf3dEy2}Yo=us*L;ba!cPWfW+ zao{NR;c=Fue%%KfwZ4nQa%RH?v?D<`VJ!y@nsj7Hf1O#;8Z#xersh8SJp2{!1Be(Z zg&@+#YD2R=i6Bf?=y%q0;oZ9o-RzPQ!v@XhV+O6S6NzSXdNdG_ViO-A>&Cs$?hps- z3BuAG-pb@OTDnBVJR9&`dz2mE%;&*P=F3F@VzD-Vi6heyEJOZKArBa9l{Djag@2DV z6!=)Mf4r{vxKjm`mhMS7whkQaDCs1KnrALO0D+Oq?$>e1IdjFwLx2^PEXba1N80<* zU#s0k$QM6J)lJ1Z<;^Vh`jfHXG)P8VFN)v4RjFuu%0Z*0!sqn<^z86W)8R^+X5D9^ zgz)_U+&uWgkktMnz+&eV+X}L8oKxxz5RQ{8f48zTK`;=CZSbPj@KM3hToto9GEKDa zE`GYj?i&O*>&GEqbxkpuC&4{!CJJ#g5G1ebQoFaHO#J)L??Zn+e)`|GdadQ`#(8Hc zrAHTU+`=Vp*aW0Uw%Kbe-PZMh)h1-IO@rbrJ=X5gP;GjiERi4CW>dL@9LGzc(JChE zf4%ayxw0wHUOW%q?$~LIn{=GwYcfPxHc+w64weaRj1`0hkiz*}@*6&9U9_tuBRk8O+Q;_w(JqU+BWINz1iA0XM?Lp#gtdZao`$ov1O_{Q!^w=UR@opiKg+wK_Mu{*YHf7`a% z(T;7~*6!H0ZQXOud+&$)2i6$RT65G>bIz*5@NhK#p!KT=4PXc#nNBacwN}5UG8|++ zm)R5D2I#yEaJV6#|MQct;E5*V`RkHUCm|~1bpw902V-NduPsoY1^RU2p zy$o=hfScTCv!v~OMdN9D^&?mv@AR2u4u`}Z&HHM9yOEE-O)$ZpFJj}9k-m4%X!V*e+ekSspK_+ zaX8Xx<`oq#^Pk>)dl}8}y6HP}{~386$zF}>ayR2A(Btr}@>@>h1^DG_msmnHO&`4D zl;heuw&`Vebd@npce|CvV2nkp>r?BSAvjIe(Yq?-N#c-N>X9|~*ZzT)iR>qgM$#JP z%j)b~=My@jh8uJYJg*Vlf5TE#EmH;!g;>%okArp)W>*mlVXG8KZvL^qdC0(`^HOAD zfUB-C%SmVfn3a4|dA{ke)7)Pzrt5WImI0w~vO&dln*-Qu&U#RgdI+8WiXVOVQCoN} z{=rZfnL=*$GG*3P7k*gAJQY+ox$FWr6=fzefrg`k_O+#!S&QDmf4Kg$sq;iR>uC?` zxb7TVNe-lJ{RM^cLd-X@5Q^3EJKIR)QwR4X%4h4fcMMJ(%P-Y+6-p$0*vg-{=^K96O zjQS_HACNG)U>8Y4e@_|cg2pK+$x~|R$?n=Tq&H$)@YF6%OGG!)g4QL8!Xux=m8y97 zr0a%bCi$|Knfx4*g=WM<^QvKxlbJkzk~mCq7JXbQ6$M^w+&fIC4`tugY4MxajkdDH zk$(|)6}R!GT$9>dB69U7CYwKItM#9YuS1B<&aYsnmXDc0fBL>Zvqhvd^C(G0Khg}i z?LXjF>3hCuDPBGi!(-Xi>)X}s;}a$(zE^_SoIlreW?B#nStz3kkh+%iptT~+@D8q_{_g9on%J+d5pmCw`yUmkmHxOZR7`APu&fzgOiVuRut*q4&LYl82V1A|6ui>z z52zd$%)9Jle=8^YX)xvCf!g~uB_6f+Ph$@q$%Th;U=qGaX%d*O{_~z!>B*CZ!aXX` z!XYR5u**Cr5KXsJ-E|jvT#i3f$}i_P*R6CmL)7hxHS=JOE=bAxf43i*3HGM54(iK}9mOU!TP;dX zPsJERf!;?^yW=uoByLIz5eF0QsU(xrM&to46pPv^yUYFq5IU(HYsKlK(4hPipUVd| z1ovrJKyjI~ToK%Et4mnA{?K%XyJpjbYw=1T(vm_)A;ny?n0_NTw!pN^x%u9D-VI!? zO;22He^;eOxBlB<A3`SKWM3ziU$AIm;sZ$4DwqIrZGt(;u$Y`AKDZ zb?K+#(Z@6K{9XLo4Q9lb=bT)!fb*KoP8E-re<-YPjM_bA(>_E3eZxLfe+>rdHR&Zn z3*pdv71zL0(qWlR-{jj09D3kJ)teZGnRIKCZx1htVmT?IpYnQ!4F{3~^eDVuv3)aV zzvq0E&=1=Q7w_O3%yfuW)g-@Yx5CaK$DFRx=Mom1-L>C+n<)@gT5RWYd!WTYl6Y#j ze|ZM#BQi+FpuN;u?1@QhkY7-d*1BEkw(d{H7DgaNjSTBJxJrac7tU`vU6)Gn*xwf_ zQr2v}zI=9hp=dpwhh^JXp7VR-yZD}gmpEIn*z6M$!o{svYq8YPl?iuBk@h&-8x`3mpsS+!#Epy2;h{gSrW=>_0qozEDJ z9{YRhb$P}FjmYodFp$<>2Yy?sfSW6@_p;mUu3NTa=qV%H8hMM&5(;YG*xA>Ff3D;+ zi+YORe2TuPtMV(*T4Q>uD0_4_lj#r;ju%uzW-nD4Qce|eSn9Gh7~KE!++{W*)WIxBw{}tCP;K=Vq)TZdQy_IaXQ%i>$JF{6*uE^;vi~} z$Y5hw+u!tj&2Zm=4^>&oFOxcFfAk|;O~pNNw(Yi+pjG_+;$p(M_-Gp2T)?bHvDy*3 znC_(Y8P@RcuQy`FYO2C}-HF(}={dFX_aR>2sre0OMO6z`6ZuoI8_AgLw4 z8#ZD(TRQ>ofXx)AUPcW*#G;U3%tHDj--eWCtfCKHwm8M%hTU$erlJ0ee=1%NC7RW< zRvu!^nTAQK$h3zN+w%L5w5wfCP3>A)G?cE=ORd81wm+-{3BNN$6|opgWy6-3gBffc zFo6y#Vm)YSu~iQn`hh7&W#}V6J7)hlL=0;gOu9DZ=Hf2;@Kd~|7c3Ede;oPE6@Es6KXBJwbW@xglAaI5{2$u<^28!Jc*3byywaj5vGiJ< zj%xgF)GM|$R1;XqMI`4G->}8QVYhB8;itt%Bq07%bABdDI1*Oy`3|L^x}reyyFvo6C#TD|2B6W{s_v{)PZV+XfAro&oiw6-lDKupY>7C`)&aJ}^`W+*ti3!)zHlGah9 z8R-F-dT=A%Tf;&`Q#y-7ZarbZ^V9p5f%p;lsD;%w^;d}X%gAMWz!sgE@Mm`aCbTwdw%XQ`9b`s*e9SL=Z8(|er-+pXK_ z^2_JCd>YYv9mP#1s`4Dy`4U@W22g(#RLBUCf{$^O7ofTDN@x0a>V@BbX3-VPQ|Sr!A-j|8Zff6I!vzxlb@n%?SHuJRAO z&^wKPD%aVT2Sr^KkKJ^9P!&oiALXhWzoE(UE2m|;;zvo2Y5#C?T%g*k(Y8R>mn*<8 zXRuvzStqH?udCbJ&8_`WJu&aDL=jz-yz7^c!mCwwM+(pMiy29lEh8^zq>UBC2R@L?9za-W}@|MlY8^X=0iE;yKt!sQwsRn63 zj@chh;v_Ta=`P^R^i1angfKQmLUBh|%DFDH`33i1e~mR@sW?T1~D3t@rV3j&_#g>|YsVby3Z6|)Z#?ulsKd$YBr7;eV(7NSdO_SS)je#q5iAeq493`a{;Smfkjnu zMOHFh&KD-1qtJQ!FQmF1I;eTT?+Z@>2zDgK-wzrn%eP`eo62dWKO`Hl@-4XsT+jq{ zf3=5RrUAEBKWwO=UbNUNw3KcZ*;Ej5^idQQUq9E19~KND)Y3O+aw>02(yP|A z`!6BHCm(qY0&5s%S57VyIq)o~`YdZ_f3vV?D3LD0pgAh^NiO85m5aK^irs(izjw=0 z&IO{k1zc~7h7V+_LR0a6Vsj$7mMQ(TYx2vYjtiB4Meq1To-83!4ykTy*qJ<;E7fQ) z{jEV}!n5V(5iUT^)h~6StKwLCH0rFQN?UYQK3$|TL)Q&THq4MOwsuofUFUsMfBDs^ zKBMwEThMH{6JSN1Hjs*OZ}&TberLrp3m8?tUpF9DA8cl2In|$$vWw@Htdx4|L6DgD zn9MKLmywwhbl<QuvFiQm(Xf3^Ua0o5A1D|GCJ9^IZ>{Px^eEvh^^a&t1;&PKG} z=-!wTzkt;*ddrFGK2~Q$;4kr01bnGjOd_mesC_V`Z2+J`t(D)ekiuDqlkclC(6cA- ze2H-81V=5mqLMemsy9&M$Z1W z`52KS={hI(jj<;V@GJ4}Wk5R={!IG#ZAX~wo5?F9Bs|e;7cJ|o_gM&*K_mCvt_P#5 z&hzU^&Rsou43_i+yl(Ecs|O6^M5*624Q*au({1SnDi{t;uajTAYv6jp(VcSRX#LwR z0iWlMDg*n;-5>Z4u9ecGe_KSH$t!yn6}jF2E&2!{^L^wEXz2da!aV&aWGoCfdnpOG zkXKg^00Hxj^WKvy@8Xi6xahpU$Pn0?H3`KrI4hMw)q6G|J3Dt~<1=SK@s2@-WvctV z|A^Fnh`3#ar*zW5Y@~)wx8ia6q?jI|@)ninPwL}zF5)6#2e0cRf9jh;r;MEZAr=j7 zauSMGDh+=tcpo26&HM&~SDe&}!ra5|+F$7*nBzGENK8`RIg|?4(Q5}~l{cU*k7w1}O|)9-fq1HD!s%#`wM^nSl^9bF(m%e<5Dt5L^8A%hFt=4L0v9 z^{D5~u8L!`KwNoⅆIW-_(6cwC^f%;6;;1cNmgLPds$K8`Yi;7?0VGBXxI;6T!hA z3xbIuoJ1aA`a89@>fJ6q`C)DUG|T@$HT5b%%Af9ksCo&;gZH#eF@>+It_ZA@?W=%t zBX`{U`^;Gbf2KfMgw)fW3z42mr+5SIa_tkgsx7ZSyy$Jd!2ufWr&hOnUOtb;Py=L% zjSn7wM9^oAtk*&mH*blKkd%u}K+v6N6fWjnsOusY9LAw&cs#7qOD%hurqm2pozmKL zVWAm5bYq#-BFkke1l5ewJNWhPK;x&)LVwsI;}T1xf2*R5RyU5!R)g22{ql^qMq;wD zkIz+iU&fZAfaDuD?E1rlsB2g<0M9Js)qf@_8T{*b%;|WpjKh~|=uP8kf=dYgBfpw4 zTz2u{QshdpEc&O$DCTXKHnAOJ_{%GULbJL-GLr@* zM0+#De_bt%+9|3HGToiVa`_gcEG=R-Gepj&0GHQiV&oALV<)e_TlO&)%s2)EwslCi zZ<36}>xRv>ME;^i&83}gtva6#;_cyky??*5=#McZc!dRx4Yk1M8)q{T6uF!(SWIb5 z;qLX7AbRh!W+rzq{mbATFu83Hl0diL&L34YfAH=5$jc|+jZKnCR3i7e99~TA>&3?T z+)n(sC@wM(WA~j{--mBM2IZ8bO=Qu3({s;|)kE=4cic$YF#+BDy%>UvBo66PL>cU!+M9q zy~*q{D1*trh{jmox1`2IIbeR<_|QY(#p}t z{)f%9@WpDo1laVQ4Z9$~A(pT#clE&&#;_dIY1?{mgKi8J5LoiiFJ@G^Z+6r!L(o{{ z1|>>R2pTXbMlBa`z;Z-UM|s=7nU6)@q?qpD4@ApsRj4{`<14+9YX4W}g#t-$e>KxD zPE>^TuP$x~mRaqR>9s`>-KdEK7jT$vX7UM_PgN$Cbpr~I$||$S7pJf?SqqL7IK<({ zrlK+{#@(V&8&c(#LgWz|DgvdRWgyn1O3uujlOk9j?gHDNiXB5W(=Y~7gV)R?rPhLC zLM%+x(*?wsISXFBNXU(rYvIM0e(=(a7GS5&42^Lb6be?Lu9`*r}M5r@I-$5n(J2 zyJXTe^33n`33&= z4K{+j1Pk&JDHls{H8As}p{Pqhpp;pO?`9WK3I3o(zEYs`x036r!}Y^(6cU6B0_Ho~ z6P?2a(Y<^5aRNQf{n#YZzpz!C7)nDEm}5<3@avQT6RT zGm=Z+ntxh`mLHwEH&4*=Rb+%gq&xS!%8_MZnepfA=WdQtB4E6_O z4Q5~(!n0RZ9Z!10Su$-Z)19tG5) zSWNV$ie!XQ(A|`?=v#zones*PzVlkGKFAmL5w&afnZyU;e-;-eA02ba>8qy7Gv-co z(dmJ&TB%U0KOkk#Gs5hU`*!8b?Uefi^CEm9*yD6B=_dq&Q(jAk*LNI63Xz|R>u%)T zZvu3P?-!b%%li=0=$}{YRKD{7r?Je}8dF+KU32CK-`oQ;OU$lgEl)87*iL%`sX*L; znim2L22`heeP@piom`8X7%KI6~M+T5bEIP070F)z*U#vbyZ{XU!m)!4Yy z;R?{mPQt!4afy!Nd0{rX)1!7?HWpS2FxV3+8{C9n`2N?q5wUcJh`A1JlH%u?$Ky(z z5CN{9MDWp6*gMhjP~0Jz(`k)goChZug3<>DsU|64f0Jb!1iCSP5ll;dsa!YHgQR!+ z(4}c#EEidrk8qVu1|Z;`21|u@!@G}3jfm#f7gVC z{5*oM(kvqUZ$ljzA#{H{gQ`@r{6j6e>i($f+&-CLjWw-fSYaBl4{e$A zBq0{*e*@s$EjO!^M-x|AEKLIGwM1m*lxZ&Gwp#==j$0Pr^gBhq2~dX!@P?akOFtY@ zmQ>MCZV7yaqZH4Nl~4bfrkXILvp;&mX}QLIQ7BcIZYv zd{)(F=Ixi0YX@{?JI7eR7!`0?Vi1|&)%!EBP`Xtpzs}&)6#W~FG!Iv^T&@A3c4RR6 zaeAnj3hVxsE1#*xztIS|X=-N2Ycht4aU)k*jJO>m|n78{LRo^iJ{db3$g zR!buNS(N#-TlOW5ufc=N&4ybIR@@DTe>Ahon9kZ_rLO<>>ty$q*?H%$~M= ze!{-lCQ^HU8NO%;;fwM$*p6JX*|P>a>a*Y_W`jaz!m-O;Td9>cNCdhHHI^zsH;rQ` zj=y&d&H!6ikCMJa1h(NUDf}6fA4We zVDbwY52r$-_$xayClMD;Nkr;#?=H*umA^xKn^Uo7IM&mIT|}EV+LzP!aM37>O7A9e z9Q=!fSgzZV>GYadYbd?W-@cXWwJHu3X;f6r^e5IzJEM{i9C4~dbSc^A5KOuj7U$oW z-eQ?TA1=xT)cE)kdirbBYYiD*e`gu}|cmJC0d^Tip zd4VyuAp*|A zm&y-NIpy#twHv{E;xci6w+O`dje&``RL+V+@pgumhPwCVOZ`dgqiry~e{*FPMP*Vo zPvm!kzPH>`qRWmO?N|MdKa)% zY4?}3m&`p)#_SXR3%I_4fAl$on)2UstSdx)WDnVNgzn3Eer(+licyw*k_=+PJf19N6z54~frAMDf7eK>?yHGBm0HO7A8^SK_rkAjON>QJrWkTEYMj;vsrhajhMc)5 za;3dnhv+bbAr)VBL_~D(&-4Vc(Ezt-U;h}MBoRND6*YHP?Kd{Lb93vP9I(;379@f{ zv&=N?zf|U$l@w2+gPi#%t7@vPMW-cL(4Cwq^TPLF+ zI!6bbj>S7z8m*#hLh`g~3S?1v>pMARC36?X5RkoXf1)54VJ_!d zA7>bo0`O`Kg+lHljeu)=XK_Ao>Z#isoT+E9f@OUl1hBSo6&RqfpL1!3-*0A6&X!?i z9{P{0H%7({VrWANDvL=iBPcRIRp$BH*m$AT?_pXPrbkpCp9uK_!k%;r<4?OH&KfQ4BW?6(#YC1UT?IY@9hUs-`#x8Fl;ulHb$n&+JTjgQN-P=W%ehb zD1-tJVQdRS^90%gw&&^NsMk1(`n+pCD~>f+R7|SsmRi8Hfpy)b;f23N3MvQR-TGd2 zj`=K+Uu86d|2bCCn*-5YXQ@@am-}uzOoSF=e_DE8N|M>|a;q^OPp2zgUZWiq$2{x2 z!vDs|>OB^zJXfUqeA)9F1C1&?EO`u#j%r9#%VE^AMVrLY-s7Dw@@OJ-BBy0RT>9wM zosmJ(T+bnVV};5{oRE#_vdFg zMe>GsqF$uJddUD@x2rkEK$!6{m#v*WY~Y$OU*1-y3KdrGs0A1hMPD@Qk^*o(|WzgAEsRNfS`S28; zAvvH`e=UvM#YJdsEHJK|dd!tkf2s#)2WNpkeb&)6Y|xX2JV<3Ife>F=kI->LS<%b( z$j$R+u7Hl`UKiuS4I~*b<(Sit9G25Hqav;e8pr&JZsb(L$6T{zw_{zF4$mh;(UvGU zKLqQK>F4Vsz|1!W{`~-ou<8nj6ynOYM5BFyeXqW(0NzR4btvcQ1FfBHGBJ1RGw z>3ET%1`3|g!h^udx+2?F<13T_w*mT{>dbKf3c0yz@WVN? zoshr;5tN}Q`Z06y;arZAgg`);I|(rt8sO=-{b~x|zp(0o8V>LXVLQXgEK;|hb-OPOV{&KN={VbmFRI=bRjP3TWNNW1Cj&-Un^ z4#1_D_vNx_lxLzJ{;}(L=i5ZD;k)wGA96O0G^z`3QYDI;NIo8!Kwy_apFg;Y3YUK` znata=9fF$A@{z(ke;|OK%(Ls{SJz{@EB@ioqyltmv<2}Jl#a3Jw)3HXN8=yV zGZVy7cJVYS^1Zrfxh>@XEtceW^wbj0KC6+BE&W|jJwEg6XT>GNLRi(n*+OaX_}~CY zu|-oPx#OG!j1>loi$!@n?4a16IT#}>kH+j{Bg5&N3%VjD`R7t$R zwPJcyf2F*gc7mNt&2GJrXTI!pwtr)-St#a^03!rt?v?qA{|bNGHR$vyZM8eN6<8FB z@f-MtLWExP$wOcGYN^5)R$Z0pJBA$?|HJj76w^lrL#?wQ*Mb1zQj?De_#!y6$o~eR za8_$%1W>zm)0b@A5*$|DKO)Hm+I8zTO|(d&f0}7`ekjv4Xyi>P{^45aP-f;!YoUU= zvJ+`ba@&S(+SUcq=V>VLS{C5J7q`HbisSupWio%t0D#1c%W#%@F(D!bvI#(}98-1_ ztoaT*_osf2kQ#Fh5G$gEkY)xHuY+Px%IRkd)fAWp_X`PG`>b&STA;hI6RqO8YKTp^ zfA90y>fGAAz@UDAkLN!Ci6qGwgxrHH2y?ct_{d$em4pXvdd17@2KyO+S{Q#$O$9YyO{|uQ1n%8PdZ{%%vV{3g1 z#;x^1j}AjEHgk)zDo`~bi}LPQe=@;ke|p+>c4a!p9P|(LdM$2NMPGmg?68CWSN`3e(L>`FB;D2gt z1aJ`@0(`vm>sg(Xuz!7;c;E;en01V9g>aoL~8VKY|$tFB3~5s3K3Dv4Xl3 z=`XK2%}umz$gZT7H+NPyc@D-s&}w!YBsury_QfH9V$zp{-M4MH@kTs&qI^|UI6v4% z^G!riM^lj`9%u?T^ZR&@em+P%J-HoAr$Z{z>ls^Tuzq@1qLuC2&)wr8NgK1PXT7dq6|)^6D#4u`cn$ZOtgPm6udS>K_*z4lly>_fUv+q6 zJrsXLH56DvJyYmUe|Q_cY_eEB+&FPNEl`n})xT?h-d@0DQDl%_7RdI;3z9i>y~`Pm zafw^4%_oc;IBWp{hKZ18ZCP%x%uPuYevrkhJ6x`z=hE-5o>b$9x0W{r7E5Bcqz^Ma zetry6vH!CVbAtyo!5eI5vH#EOt`Dj1V0BLa!#*}1SZByjf245>qqdt6*i?%1ieW_2 z<&gc(ntSB3RMJosKAcw*hhn?D4YPd)BVi)uK9;L$hEyMh(Cw(oFI_tyQ`)ZG9MbR$Ve&ykltDIUL3S zRYcn2h-4<=sgGUahu~(B*+7afvXQt&=dX8q{DJa~+Gl?KSf5WwHT9QiBBjLmWA|UA z-b@FR88p99VR+a4@6tu~3Q7{-B$!e4DSXAKV9;qof2pNEerQRg3({9+e=u_IV|=XMzq*I8^!&p7^hpjVpaUUj7uOKre@}tsi)Bv+PgMcLN#4qm&2F7|}kzZ*Lr;zWC9-lhE>`{lj>-iHVbW`+iE^ z{ulBzy~^-&+EZK^q0?upe-+>wuI2Cw_ddr+q)mW`tR8b0yq`s+SaQ)3 zVS`1qOLODh{+(bdo)#ybHNXPdV9U&oB_ivUu=55I&LYz`q>|=uL1V%0&c18O#Y6uv z!qd(63onMFOkm`GR*PwMua<`(nx9!2%}Dazt|hlpXkmvcaA}qPzUss+S78f|e_Dwd zi@VRp;)bWw;f*ko<0?$YDXidk^(5d9nkwN+!8NDDVGC}k7aQU{})pgaY>t3tuIJn-RmAhMS5R6 zD#IjYPA@5>UxQrhIEq4tD-(n6e^jpP$3`!*7Zp;&WRdq?F(2 zc=Tr7-oA>b`1n#Q+C-z>oD@e$z9c)RyT0}$PKW(f2n-2%Iqy5(TuVX-212JJCjRq) zn367stuGGRgrrqU(K$bKf6lJ5ZVlZjbpka<@4y~1vJi1 zvXFNPO?UU(QwV6A_DHjR^HeNS0O3s^q~hb!bT<6KL~-x*1j>v-e^JNoOikhjwA=gU zw*LsaHED<-FQ%{bLjpYaVFZ=G!dNZA|5WQ zYoBH`RmkVD?UcT_oUb@YFNn1YW@mCs>3bAc`@?MjzE!F%$2W()!C#=mrg&ys{Ait4 zK-E`z>_?PXfmEHhf4k`7K*sgEjCvzsGfh$g+h22R4m%`3(yy;LWF*X%uX&Tq+P7uy ztm5Y785?)3*QL7hH>%D(f|b`6>qAJ$Fte?(O=Or)jZo`9tikXi1;x`OA)ngOcmzuOe>YUj2hgx_{vqSB5zf1K$VwYx(P=D*4hq@n&{ zIA7dGB_L7FTj5^h0PZatNA`CwkX*nkAwaGXg5#QiYVlt1j(|Cx!LoP6x}H2;NdMAK zG$n9dL@}4z^|_--9?DpbfT#NprH#`_^2H_gYX!nAWlTl#gUayL;ErIq&xed0uWKe~ zGw$i0ehL9ae_pq9pm(9foMgL;r^o$`rie%=tX_k;ppDH{yER7D3B^!+D{^!%UWNgm zo-E|E7q<;F?gQAtw4>+v*UMdk<6)i9JU8Kaa5ZOw>_&O~FH`_*h|sg&S>$hfDKjXr zpTvc*wW9I%$9_LAAZYr;udazHp2!NNun`_~6pez`e|!+jB^H^>c8xX-i1wv2g%oxg zb$kh-MqfWWublA7q1+93JFhfnQLU#w!wHwg75EFv&3+XpZ(U+bovi?2Z1Xe%8o@C5 zZj3~QV^&IP-^R(5r%;zYKbbWSoPh2>`wkk6)}q{iMnjT%h^6s_UN!t;5r|{VZE`+d_b+jpXNK}vYa_gnzw)$XJaBKR$77`c&DkC8HNF9zFSiMJqbhQ_MX$mD1 zFk&iF2TuvYSUR1I4vt-h%d7UomvC%+tNcwNDD!?_PI9>oA$ZB>h$jZ$%w%F5H%$PB zgQ!5)Ba@ive>+r4)tlvY+fl2m($p?)p$6ofeklQ_&a zf1hak6Db5285}|d$X&n5{dBWjs3?~Ej3g4dP+whaWArLidq2eESllO-WpD((X|Vlq z+ay?D$>6dIsINV8)j%7Li&JdMG(78p`Q72zCbV$Q>kSS(_At7eU1_W}t3BPQwc%t; zXcCaF2?|;{iS*uvzkh+^}j3f3~)87vPea_<*HHvO9k{c}4s4zBt(5Wdv@4 zPRkCTKNP8Aqo6~wk}2MG&QxgT~uG0-u!5dmQDtRW4LX z@X9-u_jc|$%X4N5e}iNWy46h2+k+2>*vehos-KNr^lbX&&fD!_7H)Cr&zgQ9f9rL` z-3iDq1pX4J-~Xp!{EQ^yWG*$et>oS*0)Rm$^b6o}_cJ8VKu;iV^}6D+(cN=*xgRQ< zYY$%IJzVZlIcqyZE`{4tYiZ8$erswbn^VZ4Bb~FJP=^Y*4)V7@4gg9{5#g^9j<5b#S+D}fPeA)?Q1gkbEv$?P{_C9p`e!)TE_jCqx%_4tGwL;OwHG`S^ z7z}?!xGj{$jz3JMXWWcW`Fl}f$6PK(DN~s(TEtRA%><~$aQV@RtvqfTe?*`IukSH& zRYLq5Q)>rni*?e?iUBQw>%Jo{Gwx4eBa;?0r*$IbuS`Kx>a+WjLSi%S178BdO*fV2 z{s*mNZeOs@%XPK!$G5omzqe0ik(^%?4o5^hUT~jGx@Dcidc~Kr4AWd!A0xiy)BSBo zPnadVMY2WpEG0d4we^11e{q1(-Fp)^e=3Darz8<@ zOX?zyeUP)d!!;_JNkkKaM^goANq_3eyTc`k}NV;s=}{q~>Wykk(56 z9PhM+sCD`>;PZHtK|0)DK@gF2k`7_gZjZDL67RoDMOkI93iCoCf6TWy>K=dnSg2Uy za(~Cj;pcpJ#U{(!xGIhv_PFAA7jfzSiK>?7Pi_V?@Zs~4Auf~!_*b#Sc)nGc{G$Dp zw^!n@y-br#i{^e4cc=H%9)g-=mdN2d^6ixng~{$&&@bXg7j%K=+~c#+yE6|bKXTO+ z&}ZL4bMDL3e9z)ve`>uLuA{e=LX|w*t-Q!C@e?EI-)X|8wA;?pZ8q-mNoJhGUY`?Y zxBCdnhgx>v069R$zfu8~xdI==rJz@gD*_7L=DXUJ!0zz_%)N}Qdn%{c&^&+j5YCa0 zP$Q?d-p~BunL(D2KKn54kC>1XUqg|oz|O|&+=v2M@Q3Q{yJw2Xgn#-R;LwP*V-ViW zJBpT@YF8Rd%6A01JGa?ieX99SJ3|2;UNxj1@9LwLZwJ{z6`ZU@2W_ORpzdg$@6R5v zkiJ%L9v|_k|H6AB>GuSBrvcB%x6(1z(uua^I7~uH&V0wh0q8u)XDBj<(&EXDgMIpPLTfk=|laMtO?8?qCO` zLHMuUQxU=PkbnJmSA7umDORv9{!z7oWb#0q*qaG zaFA5ksN^r`3wlqWRAZ@M{0d&KlQ38*zftq}`k!DJs(*gW;26=xlqBD=`TE5j>rIm8u0|ogZj;#tQWR>0sjGes} zZDuVlbcIvva|Jp6uS1Hn$5o}r?N@%k!Dzw->py=wnD*ja%w&p7o;u4j z*rB)RWPcKfk%U=o8C?cXp^LBxP- z+lZ$D|J+bpKF<*O{jBkyU?+CE2cOOTSo@pBg=+^2Q29o7zFK$7NKj3qZ(HN+740Zf!Q2Wb$M8)y7E-3S z{eLaYF&4?*Z##l4C{^vim^T1-{@a0rjE%1H^}$suA?YD^X>61!+n-pdfMvcG!!q0J zm6HP}|E`5U#ra}wXqGa6JSiE21e7kRhmFGCY2(_DnDqJp) z%`r&QEM$B?-LAHxXo<$COKASEnar}@T7RWFyej;LeU;S>7B;KNw+SjwXKBq;#q1f$ zBOSebPv~lFy;(!dKy+foc(m9OIagF~v_KJ?d_`ceR8#c2v7%wEML7JMmeUUHs>B{@ zGzx?{_W%uFX>MZ9lU3_98D>HI6t64zL4R-IpJ>1`mWZQJXGmMBIYGj!ICcY@R(~2? zr#H3EYPnJ-93YB77FJ?al0lFq>oLVCnL55RJ~$ualJ0<4wOtRi>pqL28*Hlyw-fr_ z{5yU_bZ%tkGW+=I?T0L0zfCS#24^W*IiqG1n2%WWfF52;o?4o#lv5CoG|ES-T^Kyk z#Zzai7Pi|7#BC?m)xK!H1;vUM|9?OC2GgmMrEyNL3_5Xw*R;ZuuGJK)b-e+vCB5?V zF|=Z@beEq^=kW6b8(L=}Hpo#fRJrOi*r5X&nAly0R|23cEt2RamU z$h_`%HGcsWbWl7+)vV1b_{v$Hp+fpQoLLlNVq%#hrp1#~#Tz~rI#6aBLGHK3Q?WgM zM4`}|Gs*-~U2SKsy}{t8Kd6MeNLz@Yx2x^Gi#=J2gSlizowH)F<$qeQfh{+F6*Aw_ zxgb5z^WP&qOqULuj9x+Q)F^M(nQ|9kEz&a>>SgWW956@xSfmO4c)k=uUHY~C&zIYj zv3@pybz2VA=l^*|gpCuL>91y)*KT)Jf(&I;D(BMl*$~3#lRF&m@wp0Uzv7lwO*r!X z(P*x%COz^O==-I5hT4s%LX}VLdGXD zLl%bl_S;LHXv**pIKGY(pngl6!?Hc~OKqhutJmMNjsDZ4YUiYu|IFR&7^$j3;-!^; zH5z&L{GgpL^Wq7;;x z%9@hp*5SE#=3^hmi@4bId|g>P^*UVCvi;uAp%NIyk_FrA4b~W~*SqoJrim1>G&ITq zl%EAU5`U5JA6K^QcIsgOihMz`bW5||Qc3LPGv4`{9fopfK4btd7W}f97aJW9;=wSd~qZ}@PByd3HOu_@N8OJ*=Nm5S5t78jDn=k z$oWcb%=E{ib59VGVh0}vtkHU!vQnVN!(y|7&*s{Vx{1fi{!AFU7cXti$!QCYZ65N8j z1q*Hgf_rdnB*9&RyK6&mYuw$XY5I`o{r)k|-5zzZcgd=?=Bznuk2VDD3=SXa$P;oW z$310pAs78=Cp^8$G6l~wwQLf{QtH_S)D3a2s@@>)MveFdQZ00mxu~ z9TJ5#=r9)u=0c#<_|GqtuN7q#I$;`pdO$H~!CRhCmB*emuS-md2|1oJzTujA+J6l} z=U|-p(y8)!i5rqg5cQphzQ_0`Y&2iOedc2=teD|KC5e!)MzmUMVLEak<&t5IaSTw@ zjSt;@e}wkXnWzf%olJYIf3%t=JU*Lq==k{8^Z6N%H^C|T?l2d`4~1Wyb#AiAy_h&T)O zmmLaX!GpDs%IEf(Y>*C+a9wNA_5U-Gc{x6G!y?h-HlQoH%d6O3eJv(jIF?pNL5@ptB$d81D5@4}Z6dpwSCn z{rFprwp^(t7u1P3pzdUolQwXv9Ok-XJq04Fo;Dh|NH^khAuwG#JOJC@b zRXP5D^YvC@-tvke!Y^q_r>peNPYCbD;D!_^f98;ny`-bBq{~3Noi`)qb$jPT9hEku zg54Ty)Dc~FIdY?Ii{(KF?|#9 zn&b1Ag(wQr@!#baIRj7V^AVA3o z-LBWQVSGL%TkgaxPk&>n)?WO~mEopHeI70XiWT6LeHAk;x;yrnop#z(YCPfj>@wYe z3^pNPP7fWcw|#ZCE9M{PlO*Sxm4Ss^v8!uQjCsgRH88~vz?%eZ_d-8taU}wg+7~!< zf{-Z0JkbW%*X2l&53I6sOqhTK$Tn?4D;9&NEcVqe7A4w4+@fb48@G_RY`FpTZE!z#s&99ZRrFBB>Q=>*voC+ zIjpFeDtWP!RewrAbg%NY4rvAIgEBvShI6;+4AeD+4R-nn>K|ayb-_H1oI3|;x@2g}? z5ATsnm&|Z{?@#Rr5`~g+ZC9yfx4ul*2GO|njB4sS7u8xw@A8c*D0=3!xsl)b#>!l7 zY1e5i`hSmR4+MWT=?;i657XGFCBnN8A;Qf=5o327hGt$exJFjg^dxf69lw&pMKQ`n zZ_!S-YASmBwG?TdSR)CxBv4C+9C@x8<*>ZUVTmZaT(2?A*)NltH3QM$gAA~r3rt`@ z9X>JU=hatO3_`ms{_t>SNrKopXXt2LU~h6eEr0J_>PW#`pPi2>l3CL3{N*IdZtMG$ zOJ2|K7b<6q+1_Ws7GFsft7Ic>z*k(Z3a+3F*@;#1o#btpWqut_6}wwz&PxXMK0Tjo zJZx=E{OMcDwGIWZ@%XKF7kFz&UrAJ7MS8gvuGdW_hlZ>wXxg$kfo9qvR^2wHZInzE z8GjoGv|G*tbRp#GcP`vUEGsC=Yo3H@sfIi0CV?}YiMnsA`CX2N5Le0XmkA2^jf+y z^W_dYP#Mx8*0Pa9Co3NRnydwcwv=eXVu1OP$8Jgre4vd@h$`97n)PLk) zLj0AI{u>k?Y`?Tr6W6%Q5WOPZTa8vic+Us7)9s1uoNeFq2)DxCg>rM6Syvx(n>IEL zC2+e&3hTL*-k9ZmmgIYO#mIW$BWj&=+q~F_Ae|%GGyNC$bF!NWb^VC)@|}N-X7VA} zBTirAC&yovJF$LS|C?78oX;~eFn=7cO9?s+SfBk%D?_>%RgmaKQ~$3+QQxuP-f#*s zjt|RQhy3*smiq75!fda{J)IIeeOC7R((bYBC_%rpJFMrV=Y%>cvm)c!&@-s(dKy9Z@P=-B71a^xn5c_L9qJQbfZ`2xi z2{7(t z&@>gUi#irbzcTfIm5U8Q1AmIiS7prz{x|f$h;S4`JCdYh^h2HR3#w|$7$mFPuy?$kHY3$Ys3N*U@n@cHtG0gBd@92ra!(NJizlZwkiD%3#<@1e1Y6w~ zL@arpp~}#K3Vym9^D%#o+o$?ta2IzMLY)bH1p{r1huuFo(*`Klmw#YJR0g?_lzWnf zucHt3w12DPgHW5EpSq$iS^%SBykBmG4d$ytU~{ub{n-&fW@gGjwX9eCUorJ4F_j{MZOOKKD{-#eMP@#=3f^W-O3` zLIMj1U(DHizC(Pe2_ACsVE#V(393-z>OP2tM4yqD6Y_>r@_G5`V1NEAVs~HPPM}aAl$3om(x_J$ zTVc*i-t&6yA>iJCq(W4eIg&#+Z?kund5+CGE`AT)eD{xNi!6Z%g^-udiFqyGWcbst zKknl;=GBEw@1F`agbl9}G|xlrd37(PZQm!mpvodw@fhEP_gJkw-tN(c5sbl~m$SOLDZ}!{m z$tAx;;L8vFie`GcV}66h8=^a(N)BXI8OpzY*Vj%tE#L65o<{v@f{0VN^z|;Zh@4hJ zQ&+L*PUU};@)kHNF70U|w#7P3_@**&&kl2;yurMo`C*5`F>%lkpDJ&CHqZZdk66l z_6e8RLVET3kAMiZeEY$Az509SD>01ID@qCfm+z$Lx|{PAN{vnnC_AMRpKdri!$3PW zT$_)X=q`)z;Q zPPbdGXUo9tZWnkH_jRR(@PufpM-cNQy825lMbC~8G*1G*ehm0ycbjXqgaXd58p-r7 z3M}+MLx7c5Om|sj9@$0u2#1cf)>kL0W@?v4NoZ8XQ}1JUrTTh!#CB`o3zu8bW`92J zW3q-FMMK|ADdN{|J`jG>a`VXW@$=@Ia4uW#*c!sk{f5kDgHi@A^mQSoD?i=M{v@3G zgkWAY(@OE&d~y`rH=ZlL8RVdjgm_ba=uP$61RWbRl;;4uX#_txCS!FjIATK)u_FYy`j?BV@32NvAssTzy{eMGnX^7(ec^)nt2;acTqGLu=7`K?3ae*J?hWlgiY^XY= z1pA7?#}!N7S9J!H1J>t{oqu7+!#IAplj6s0V;x4<HFl4=UxmMPp5L89M8rc54aWdk(%s?=f8p`cJJ%Mlw?6x9BEdYdco7)PmL zD_>z`+BR6dfyZS9Pm8g?yTp%H-ScscUmZ$7dL5MaM@vi%UQ|$V?ti424#rt&30=MV zDS{XQ>1T;QtONQMOVIi-@q9OVeB{Vtq{Bp(NXj=yU`?0PF7}Hy03NaO#{6-D@KC^4 zfO8}8d+$a7ecTgT{&h|@t~V)FaC|3n|6e-nA*`ba3c0!)l|=v!)m3!fQ-bYmr{o(I z4u=(Q&({xK$xu`96n_9UARr)GoaDi02sopX%~eJ-8#JD*c`-l7R~^M4>{WU1`2dc);QhcABr z^SAUNfBui}%~0M#Eii%VQ+$6PJGlbi4Z+Y={0-Ku=#$@-D#&9?{fjq2ILPvw^Qj%S zKz)tKIeqx+K1A`$HD>>JZJR_cFD!!QaarRdugGF+3-6vfIs9jVh;(nKRhJoV+$_Cg{cw5V)~B!XiXj4I7GrR zOSHR%Tk2Vaaa;{0qKQWEi#jI~|F1C3NlW=2mS9zDRDb-(;-_UcBZ0hV-@t(Ube4-0 zX=517khbjfQwO$7onFuUx z@m0`{wqRq3d_)?Z(y8OR9}xR=`mQm8yYve)7w2>LK=-1o%Z@9;kbrB1_?e5TzI+Uo zZ1b8qISMOI^=TQ`8_Fj`p%8LMbOv=Q4m0w99)B%DF_^Ci+1RfhOs-9@op8b`31Llu z{3YN^-`h-)O4q-KFQ=d+CFSK-fa#P|tM)iKNEJI?tPKA%C}H z3Z03(92&~{pK_a@Xk0Q%tw4#qO6?yxOE=BqoX14W`xeGgP=n}gtthIrsK8WMMCL*^ z=Mkm{sW2~}c}4E$@)a0(N?ku(sh&@JQC{!8?|qhNl7p;DbA|C3XQFo}*PLooPA%*o z8qZQn%Q-jP9vb-@4r-UlT+Vy|gi)74{uEg|v5lutU!2gr*Q7 zuE~jhJuy%I3T&ae zq}cHgy0y@zL;oL>lA{^KO+Jvn##6f`oJ|A_`}YB;rKkej(-PlFWR4V zt+)S&gH~)>Hy3q4wlK>KcpGh*zd%s@%j`+=*(xzz3_{pOHP!Hb60I9Zb?$FODm3&RP_%##<&RywXjtBXLQ(9iy7=<2}Vw67*(cQd*`yiiR&`f--zb{=x zJ)Ex-rcr7*ir?Smj7mOcp)c@9a^X}gh{_S=C;e4V$e_X(qX+A7l-Y9wbHN*1l%!-}WrIkM z_IPu-hXo{RlJo-_d4D<_Vz{_tt%#~P!sDj1Xc29;BI7t#l9?K&YyFDSYn`dg5bYr6 z{%!uC9gwU^j*uTNh_GXhb@}_$kUxQ|iQ#M7A{`n!+ec~7?rGM09mRvxGHT1W&M9Ji& zvPZ*qXCU6S*4!3i;>IvWzo-EW#C3_J^2tUtkn*ue8eu5T3$I=#Tq^(TXhhATk+F*j$p$N2J$jTjH~Y7@y= z>UjlcyK9!90U)MKdG_CbPZcV`BRE>fB|6nnnfZpeJI&2$dq>A&L8GJ6c2l(MBHxe$ zjtO;lh)VGEnQ{MDc39%2PIb}W*{Yoy%*bfwSUm>EdYX^mEC#29*E~qpL2+T zDwHKzddw_>JkW5!)a^MZk))(c{DXXkr(&r@!i{k!%4Yo$#oU;Qbn0>^MM~p;|1kel z+Zz=;ckt>3c3<3UveU&w^&_Zob%R_RIg?GwIH$e}6mQb=Txb2^@Y44|w6VJ?bjGwX z>p94PWq+q2ct}V3YVYw9T5NUnBIJ1??9Xfs<9AD3{CYjxCyyM>aOukLJ*FzK}g{{Gft$^*3o+E?Gnj&$6ap&q5eJ%9CIMxpl1IwR8Tcmo2~R_fAr{i4W^ zN~O#@Cvr#u0-s$fzu#k4poU6t*$NR)q<_|~&-*8vjF_2+^k?g$VnG6S|Mj4sX`-i- z7d*fVG`?bQs?e6nwNE|DTzrk^UtC7)_t<%#Vz@tVJYeJe;&q{|MZT66#^OO>hV3oi z<$pATFu1;Mn?!TZb8>tzh-B3(J(HZ%kow!+HUHD;jE*^c~wV#MP$imhQp zmp`;#@xPWtTAa=AEvFt+y~a%24+xBSA_k$)X` z!nW(WfFoB`ac@qH%`6eh5!PEK=p7kza@CsvpRugxjV31<_$RtZ1+ zC;UM6)7}m98ALwzuN;S7LTcVhGk?`#2kJ911UdiUi3W;`i+=ZT!QQsfZn1Sr^6kbtb)jPCK!W&feY{0u^uNGs+R$^;CQw^KyReuOgE@9r< zXC8xNo;1(Z)i6P&*#&%ygF$w`L&xY_Du4{Qfp6&rXImjX6e_+mk%@eS?JaK$S+ z^E^LnYPAJ_;nGSvWfOdo7Xm7RzJod-zszW%sWPPNb>fx*4Z`g2BFci8^yQv!fEh-*{26<#n` z7!2|NX1-KYH%^cQwM6e$sjwOH)$WF@s#~59?j03!6n0+dYCS~6Cx-`VJd?V}Htf?&cC7!rWe@*88*?Ivjl%m=PTjI$1Bho;&pZWLnm-{TX4y zdp9&yUuQ)f2jzbELU)!l(-zC@mcFDhK)HsR%YcAHOVP0V{kfP(JL201J>wsL6rkM! zU!eZXePWO_xefOW&-X9&XIKi;=KazJn|jhbFfGo=g_~v;uYddFy`^Vg<^7)-msBmf zHi=a`UjD*=?p4pzB!UeLSDbi8Z=H18J|Ww~eS8-idq5qQlnZ3XhL<({L_ieeBpErY zd(qRNM2pKU$U<)>@vNZT`C}$<4p3p|dd|j2vqG&>S2q%8Z#>Yhq9r+KL^;B?K{cBO z4OIcF6?g?M8T;_lU9stO{ul37y%l?GTDRdil?2*enNdSLZ z%|@)|0awwtQFA)euNwQK{x@+abKiMM&w?^*d^vT!((wl{eHFn$ z6*RnztbaDjE8+ZiWAsS;c~OOUI#lQpDgnk3gad>MKk^T*tjT@8;+|Kl3-S5kT{++^v zOQ~%8+OSe$y{tIXo65|+pB%L{j==Z}h%}CPx^Ay&W&F%y?-2cJDFq04EYL%+HTm=1 zxN(Wi2sbIVi@^Wh&sMhw@A?}s>j--3G3qbpu=B3mfv^99BYGRGtvlmhRqhPp;Lfx4 zTz`|)JjWrA5o<}WWndn6c2I^s6!J|KX> zX;aim$DpKGg3CKl80-Q1lEL%nXT}_alkZFQid~NU3N-O8fK1yRUXN23+No~u<=x+S z^|f56_BvXSH~dX-yLa(IqDCbYSgInCgvl-2u!ao9SWnz^dybh}GIklUyhU)l6n}&a zRQgFvWCQzAoO;VhUXh?5A(!`u%x;<4_wk3iCU+7Q`mPEQXoqc=%xzriXMguw>u~rh z-eoLaOG?1JhYGbdVhf8<-x?7fz}8Q>@qR@&Id=(_P72pasPIB=;CGb+EzziGd`|av zEmc+G`l|m6-go%HPDqf^xt-!1uPMQ) z`qX}fY|{5*Rx_+*zElTAY>dyP2RP;(CvY5g%cVgeEUr}myR?wLX-Z50WMrDjTd_I5 zcp3q}cU_HCylln=;Sv{^tn)v*tqr2i*BGWf1a*Sb&qcJK-CaEg7Jo=(H*Yg#7_~({ z(Ee5q!Y9ECuOIw^=-g3kz&WlAYj<{CCblmFh@clG?V23T2at@K6yb+!^sJwAob(QJ zDUn7vLmYuK6w(ZchtJ12^<2zAmbNPU#b=ToUI?} z+aB=T#WpzJoJWJ*--#*B4ZWu)ZGg|ak*K8DgsQJCw|})I&Suv`2`bxU?v74)SwPU^ zQJncfQ2qsFE=)0MZcSzSGYZMdL2yGT<>NF{+taB&fP$xhQUHx9=!@@Trk7V#fTGIV za({CEm~sUdQQttraQiz2>#BwSJEAs{#6xmxHO-eX?WQ5Yc=Id*8hLXA{Tw26&84xap9bes-yhbogQ;DO5I*Z^rJet`yxJ$K zL@#-A?z1AtuoXMXnhyaA?{*WXX)>Sl`ibFwF$zIVA!u_Ale%D>6Tsleabs`PEl0-+|GmEvO7wK=G{wN{wmAYbV2pAl(8KHJLCr4 z>tr_xcS!>0ji6srx0#7sxcZyeOpyZW)M+oUdiVeS1#oRagE$dDLKHRw1r4V5pw!LJ6`68ghQMiV*?*$l z+$?6hBcN=eZfofx|ZTV zJCBFTx<-&v#HQRHe3cZ-4RXZXU&;u#?W}<`SE1zisA2Nh{Y_`*z~k-nvhM z+#W}g17}c@nBiOLcBFapxla`sSj>*fKsAG{3u2zrP z9jLb3K~Ba!t3Tc>oyDAy*Rcc26TL>RJGtF$HSItTDUNp>|F@Z`@g@807|<@V6+b@PFbn@7!5haw-Z56`bQ-YEEdl zmkFQZTzeb7ueQg#qRuhVAa`so+?I#_66mz$x$y2t8ft)pP;XAi!+)#mCGE3gOR$k- z>Y`S#bhfiP%&H*s0m&q=Es}^MaCIv*4}`^hk%BB*9g#miHoml0#4dJbaezIqp-kLC zG956f?f*Cc{Z#(9_3WehM%CwU#y;}RZR%fc#Nv)xlK}8#VCU8dj8lrzhrd+NjdHte`a4x=wk7rTfyU`@|#h*Z--M%T; z@pdv~-x#4!t|mE=39=JT#c&5 z2;ZLvH;Wb~H-9X=;Mniqcc+0UUiwr2%qoxDDE{rIc%&5<_IKlp;)}-kKFuK}|8x*$ z@hj%zDUmpJD2UcRTg~9^$^6MK$ZU6k{qT8_uu`I;uzvH!K^oV#^AYZ2oMebIQQmM~ zc0ty>CPzSA$2Fk)^}7|N_z#-^@*229{dwGU_&(Pi*MA>v8`^w2Q?r;I;D-EB_(sIRbN?I>eQpF|QKYk%&cDsCRHN0h#AM zFC}iny?@MWEyyBq8NuI~)aI?qGQGj)@YYqJc+EG8`Oa`#IPd})q3BmOeVaf{k%vqE zmwyQQM^7qwv-TH>dri#6(1`pE2t?H_ilRy*M1L~o^}6UzHe0`|f=j@z=L z5ZM+B_8wLgP8K9@`~L!cTR0b4Hu4G4QY$zxHh*5Fd$U+I_&fjEzE|qfG0p(GJ^a3+ zE~hCdFda4!jYiuq*!|#psix??TJL$JI0ILvC%>omzGIA57Mc@2bPNv;jr;hvvg`{R=?!8G!Fa%cE>K}F)aykQv z^W<|}^SqCO9-Xk9$bljM+$B^EIfuNi1;(-+8~^U)ftA$hr*zN72=dPSdy(#fHPiFI zHz5YvZ;&ho_z#-P$o)Fj|7)*ATz@CtodeM08Mh1BVJnFY^*P69dw_)W?ws;}rRqA8 zgtZ{9lofLICU4{3!-4`o@F*kv-M-1!Gb0weWIz*o|JJ30Y1ge$<2Fm4oOXZAjXUai zNBsuVm)h5n+;Iv?EOPjOaPRJ(;Y~z1l~#WU5u6118C0(Y4x*qcC2dH43x6rVuij`w zzo=QI-PZnPjqf4C0PxWf@#|B{0ky(H{J!Zt6uj$TOBviv3QhUs|9p#z4S7jo_|zxp zp_biDknjS}^R(D&FCLz_d7<*OHXO*L^+-Z2Uhsa^ztw${>wOzrJa0`@MBp9|wUAy` zwAXbtdcyV_gnD2EJ`CmEn}7C0%6G~id84r;ki}vKJfH_z`Yj5J!9eW|KWrJgY1?Be zgzjG#gDdifxngW>>|${DDT_=j5J$FvOY`*}ZJWWxxV zogOw9ov7U83mUzqdS_w;TpDFf!kZjCD&v4J%tGqxzr2{^H z9iRn}WClFqb`>^{tjoFfzhu7bbZ)*ctq>jmH8^iz*sTLlQTD=9c_>Fd}MaS zcgk7hSnTvHYV&9A%YS=hvzsaWSkNJZ&1HV8=Z=}nN+2h{J++uh_s3dD^${VWJM4`P z3Q3WK$#*G!P5u$UZ=t4I1EHg@0Yp+DD7J{l=eByErQS zj^AHz7u{DdRm9q2mV5UWSy9g@MlkX>eyh8JrY{HC?XeJtQKD~d59yEX5erMwU_-L8 zUy^wJ1myl=g_n)L_FDIC?Uvh(WGZ!?alPLJ=KlYqmIhsX=QOD+@In-xeb$?tBfKfS_?|YUHinQtS=@(hLy`VZ3aX}ClZT`faSn2ooH0&{arN;0v z!gle0TCmdXOqmBShmqq8wLoB-PM+J=`F3nYL^E4Di`!QX!DrqG_|sRRQ$Yl=zz|8M zxQ~f}#n+^Q7M%A^dPuW5GwAoI_BmszkA9jG4|SoHeSZf*b-GH!3>@RaW@n?|0mv)K z-N%)!o;w;}CMd$x0f}0?PB95+4xb7jz6@N$?p3|6gcevQ$xZt1pP!7##SHpI@FS3q zkj@(5dzmlKw3iyz=ciQzV{JmOV6pb@w19X06_C(z>y@08hxt5#Z9>L>4wYW<#?JFpv=)gJu<56Kqpv}?)hy1X~BC}e~Z5m0li#Qcx_~zd; zFn=8&sDnv?3Nh@bBG>^lJ|*o`}J zBh>Qb=h2Lp0xn4u{ITd(E2W*@wzTy#z<*nc>Lk4yM6k(loir>9h54b_A#>PpK*DWb z_>5#ZmV!z#t)qLqcpDy<8rX*6-f)QMvF;lL3$Cv1)79gobS#Y-aA!zYj@?h zQTkykbbrnLJTtC&aUSNK`pX>gsDN6qW$3iPWON?s$t~NInDl5lA9}$cnNmxCkbewB zx_L6{tlOG^-)aIH-`hlb78h1{tbIRX>HG+Kb{qk;+|{?;atJrqsv3>TgTU_H6_wdl zUHe9eA5wk5&IJO96;{}gl*DxPM)ZusC||taYOOL0$CRki=Z|BlzC-@j2dshNzy2pA za7Dcp=%5dcRwn;=HU`4qK76hr8h;Ji(ALfD)G?;m`;MlEo?LE>s*3lHyz|PbM@;fH z|4anylQPbxWlQ0M9e1Z@V|{HIAjarGZf1=k+Gdo`6<^p6DD-)Ytn47t)hQxT;=B;G z_TR)&tW3PG$J=Ef!pmq++Doi3xYhtnK(oJwqBA@~?5A}mbrkPcq{)3i|H{RuB1?Z* zcZy>Z+|`<}O@_&$pYBu>Vz=B#i(OqjXKlD4QY)@5*S+Wk7nCz3b+M~wp*s%%3k-Ew z(uUeCp}HXp*`ar64vv*nU|lZv@gZ#eTuvs;L6P3M2>i6Ci(r+@&q zd<4=aeXMm%e4BO2Hc5;n{M<4}0#_Q<*F@b5?gs6~14uY}N2(BGE`sK&7R0D2F~4z9 z?BcmhCM5RgV|ML`mu=l)$dXU(&)BD8xu+tOgmy1}#XXH2h~4S_ZtJc*I+p(iG1bFw zYDB0kfK0V8=g6}fxl?~e6s?*Zz-^RJ{95V-aABZ<eT z#GSm}Ky6QaL3;9_{R#XF72{__CoRxd_r#%aPVPg0wd^_^wO;!A@O$qiFHNhH9} zLnWmPPkxPCsc4eTpti+j4+%|Fv_Q{nQSRtt+}L)2=Fn6mp~1X6v4d+Hm#zL3=?(VU z&@U(5%WzOpcDe_F`-)QD6IUTDfZyvbKvH$V1FYGig>ejxqgIHCT-Q<#7yQFO}9LzZ53YZpM^kW?gyJi`uE<+Tx{|$pzaMSgfjnW%L$6^*jdKkSRH?a1DBeplqs}hDG1En3+xJu=zC{lZVc**()UsavCESlP}}nM3Z2@mS3U^s!^m3Q1^4x?fMQ_QKbe1E zo=lmU5ec}runr~>_F;Vfb`nXJI$kj@ytSt;L-CQ3%a{GdL0qKSiL(Qe`qKE{&l-|+ z#l2h?KLCF_R(eg^#LGvVqj32TzSRELr;Q zFXKAy$!bB#u8AElKz?*KX1(>)FYUXjoph4!z4yLzZV}CX6N9o zdVzDuXKd~Hs;KjHR{nb*4K2jSAJ8m18{CZFQn7***)1mcb!6rPLM#>Rea3%wzuq1> zwxKeuh2Qw!87|;mj6QnT%Q*pe+V9dTmgi*H!27KTl7?Ai9m_Qx?y{Y)sMwD(aec%fa9a6vnsPYZ zB66&CJK%h?fQCl3Z>#$&*o!oU<(Lj`XiBd&wPRU)%bXhGb9unkIURp^$oK7O4}0cE z=%_0ANz`mj_ZzbfwwKN2)$ez)u|Fve(?jo%qwTQpD|5KNdty||9_c{j>hx9d*{Nm~ zPmQOmoRt>+gJO@Kc-}eAg7uJ_N+Q&LxwE(a-$lJ@YJCG7hhEJpYXBA~+jjpHzL*tYb-4 zhXQn6tDc4%K_kt2lLJ42ASmv0{TPCOOkOeX=K}@kz1e1Tj=E30s<(MSF=kG`i z-2c?o*8@7?9m^6g<$36P9F-MdYEt?8G?k`<8Z9;lx z^nW*+0~@{C;h5ad9x8L|f%gp~%`M~= z%X!Ei-JI;T<8tDd3)j$s^VM?9*kt6`ncKp&A5Zh zHV6hyuR9L%>nHSU4rfn!`TtI60!XT#&m_}k$-?EQD)oP6oA~l(bqQO_YajpxOgp_pPf??(mR_WOb$~Fia%XW)E!O+McI0(zVZ`3yo5&W(|`27&CXWf zS}7y^?Y4it`4^SPx746mXl0=W&8Gbj5oPitW=CfaGBA4w<5C83Hjbo?d!vp=Trxb~ z%a?p(5Rz?y(VAoP;V}mkanc-sP|~q{Kr@%{0*`nR$WS;<`aFwWXvFExoAcr&4o8Jd zU-AKKcmC>^muGGN@_JDJK|u{l;y4wgjC50A$Wnj8=Ju(J{&6}b;sD#;ct}aNLJx~V zEaNC*8y^&R$+@ZEKi{R-N*e_9=fT-NR0>n0AdJnomFmaal+}F9^1k=BiS2PM*#aw~0Le)O@Pc=ONaeL4u^N1cjnl;l9IF#(#~W z+ID>nMNe3twabOkLdwO&4!9@fqPNRI0V#i#5VZAv%=V;5LQR7@v;|Dwun4XS}TE0Fl!~*-t;n{zU z5fx6`wiW?hUmosnQ|oK`;x7U5Q;S@r-nO1Z;hsNDhjKKUNXqoJu4vG#uCKZMF22Ry zT0{>j%@4rejA!!RDI0XfA?Jo34E&wOW->?i7r(@N>r+$4Uc2;#AdaAV5mu{6Z(pdx zQ1YuDo5Y5H@9JV(*gG%iT&k@#RK0)JL@!3h-)OK>^KYhGOdT!XHlWY|wvI0L#NZef zH^vownr`+7lAa3s36N^26~}vRP^=aoN(a4Df4-=n6<$&wa-U;$)AKLconF)ko|Fpo zx5xr~v=5)5{>>*levsGfeRLnf@4VRHgcu~}@c5;7fKMqEn^-X1NV{ms1jT=9K%HjQ zpYj8&8y48PjRvat-U{ZyH{Shm@z)%tXp)=KV*iVEXiR(-_SdQqt zZlaP+;E(EUj8#LV(0@BoMbz#yz!=&yf-*4-5!i&>!QvC{eBW%h@roZ7a#;OIjFpME z*W1RXH-tjoA3e{7!#rV_;Tc}`0z;zj!8@Ejqp{iI!V6KQg&}N8nizjQ_kms*`E zDX8y5)yDeQzF0s80Ro0PGpA0R)u&4?g z-U@D_cKTLZUJ%4WugZTXe800{;NKlgpLd?nGX~GRvoNwF<{~-|V~0V8j%yu8&wTkZ zo7Lu`_hsIkJk&dNhIX`g)S#Ugqh~#Q=i;p&mY~}W0YbTt#oky;`^(fQe^)S%*ImUo z)Sh1NTUjc2r%d(7HYx85lW$~#H=i$SBocl0*Hb8C6+dmf5TsdKP+YV*qgPbrWGoFp~JR!&e%k+VKJD zWpvPEkB`#>OTmAxQn8hmkNubM;GLm^d9$>VG?{TDsNd|GUf1PijS_hh2?{ipeSaxh ztJJW9s^2XlK8*?uR9Zp1XdErpbUR&Vche5|G|KOt_oF?PPq^k!e;rNi+dWeav=m%` zO+rX3v~&O|J!Wp%4A=HJ>|Ca+)YSRQx+>;jjNk@V?gf8f`C8QL={Or_6j_7d%lJ5C zDUlFB0e<;82#bX0kTGVT6Bdw~tPOqGn#8Y%hLF)a59IRUGVJ!2Cb)fcvObc~?|S|4 zTFMa5I9+GDb*8i(Ru+X>@Q7^Btq!fJ=4b=!pj2$x&gNV=Nz=65WjFbQL( zxD<=Qnv>%bO+1Lu+om+{|6S8C<^eC|)+z!oT9inHga{sGisuS%;%QB8W2f=oymkL^ zjjexAxnDAYuur|y=I6ZdSE>JO{;H})~V~wL5@Uy9x!*WO^FndvL}q|WF<*V5{CWg_BA4aunVjC z@=4GLIxNh@{GLm}IrH6jUh(d@!2rjPuMdJBZw?FG@x^i?^8IUbFSq&u64RpffcKv< zS}cJBx?vH5v$}_Cp1aU|_k_`)7Q}4&#<|byeWj6iC>KO{?Vca;&&J`sqn({}uXTTI zouu4MPT%#0J2lX9cS*JTn3(SnZArdEt8T86HxrqyND8m|q6Ie-3ms_?;az@Q!y+#9 zynDY`)|qqnK=34^?$QpfxLtN-Mlcz*t|Yhu+OYV38RB!rzWS*3eZxdKL#Yx6o^ zzY>2~q5w5@9KTzdBhPG zz~}!?e{a`D@+2T!Re?<{^N_N!h55QaR)TLutmP<>lptIwL=!AHO-XOoA6;gX#d zHCV>$uNI{*tN@|Q-s>>5M`|SK*wGlJ0HiX9+t(oD?{2OVi~H`|E%#3`>s^1(K{}Pq zF=8o`!7R6n-&;sN`NsnJ1&e$^{p-%|2E@U8%T5+PV7CI z@OAe`SyXzG^xG0u_*TxO`dU2ilg=+cBty@GVS3SF_I7vYT?*v@#ZQ0KctnvMymLB# z*#pA~blA&VujXOclE~odN*ATChPbezC~BRL{z9+bBS=Z?+TP%CBX8W~2Gt`hkP4_` z29kC8+Dkz=CDdk-#cwkqU205D?Ga#bv(cHfSX$@JSYJ6tnZ3O}Biqb9rvW{dJBq>Y zbs6qPQgS;0zZd8z+dO{{IL#}i2ZXm^_1-0Me=Akay_lLL*7;?w5LlCtE40lyO(;8^ z5OnOX{}Ev^L226+-+S5Y{hO5bz1p}o{^YtZdVsQ#i9!q;>v0_*Ac2y4Dx>3|bM1P7 zM%ntK+KIx3_h<2p?_yo6)4-!o_RJ@gh{5;7@BQtbKr~IAh2($#{^};j@RBTx`_!W&m1y_E5QPe-!FsK6zs|IA6jeo z$I3h9$&N;5x-5TkR$DKapl~lt#a|%24|B;!vU;eMFUiQz)Y4uu3+_@zWMFLX8Edn+m}fo#-D$JT&BUVh@k@S7qlg3Ez!bJ z03oY82G$Y|=M#&tZtn!6Zd$@Z23FjZ-v+4a{B4HMQPZR+g9$y<%M=z4HOu1!f%ZD$ z|6R*Q1mF2$r<^FckOPu46t)zag#)m^3Ur zOOC-26L^1Alv^^!g_*a&ZGDaBL9RR?n`jICI8Phayqmqvd4xl!OuoLJs`U+cO}}L8 zb$0SQX;D_1BrFFvz#~=?es?kfkUtq~!6%y|UFoAyXE{Rh!tcp}#GD!SQ#`Q8|J}H1 z-I-^Y&!RsaPQd#P^7mu%`6Z58;h3x}^c6Nu&}M&PDQ)=-iF>CPZhU+vY@t!JQrThg z_AlkQV22G~I3mtWQ$QDaI=?qZz~K}hXB(?mc5l9NQf`-R5r~EBy|0ct-^6}q7Ql7H z`be+e1Ew1^QNPoh6N=yWW{PTiU2yGtlq058$!@6Z5MxCVroFP}iGFJ8SBjl5mx?C2 z2wQ(2-8+zv7NJcAr(%={$%X_VGAtrh^np`OCSt3 z;1)x9xMBofVza!S+#<9G1+RGp7623m;1tY8Dc8VC=B>@dNTjCV2D)ELWRqzY3|BT2 z*Pr{L!0%2l#lB{F-^*e^=5(X_SHE^~$f17$-}2uu>tA)@4AEYdC=UeEy$?+gYhE7) zNk(_1H_xb1{P|DABxmO@XpK;&gU_0Si4XC7S(tW z@Tc|j3vImGle|LV@q8tc^G%h{LHo-$k3wV6#$ov`#5sS1AH7}Oj@%#Z%So@ed5hFq9lLlT}GIMK8>h_e6v{frSBgw51@ zvh`>e*t>Axc8617DWfq5OmeNhLb=4sv5^}>r(czLa!R{*{(t-bUYGNjZfGV+z$w#d znD0Z55vk^5+~ZiUw~3Uq?>0yKC2!2@Jz2lue0g`VdMW>%Dp348RS;vJJ=1?j_6hee zgmLppP8*io#8JV=^l%L?F1B#dz*TsrGUAp561SNy-7|i+R50=(;U<1CW5ESJd)h^} zrK$_VLy6~Xp)*ck*8P5%>1RED`%T1~aMW;sdrL5Tz58{cDoQDvZ~JddTHR2}4WU&; zyl51e1I}D!rB8Y-&5xmQdhUNOOMgENz}vz$scXqen2rmtgtG>2e+z!lDa@59W67vs z?k9KJ-?p%;GFY+R|2~86?BNmNT_eyUqRwJCK^GbS{apN5jr2>SG0{!Ap2BBo3Yezu z(`Q5`u6>$hVeV**p}1|B>x$9Z2mkQAgIbmN^O&aAC_dq?Kfe*WtQCLs-%iWODQ{6) z#2^wI4md(H^|rUuir2pt{d+r9Aqk1_8v980kL&MnI4qEzPe?s|QT;`t!npTCvrO0z zUnnTH2{ln*h4ANW1MeEGlwQO=`|66!%5n4@m6NQ5eYbtvwT(9z?UAd$I$+`a{qjtC zn+25T0dJY-wj2j|ZdPp)Fj@%x z@FmP90_&}bD0_tqo9H&{-JpBR$=Ric`PG+h9?ft4|MsErZ9!D7wl?vHqCG>;DBET? z%A0;MUuV{mg`J)K>L-<>kD%{;Z^-R+y#(G(3aq(6wICs5ZzLJ%R&D)D8S=80hiEn$ zOsd_jH>>yZwOD^lUuodMrF`s$3$EbTR<$1e*P9rj-YvK|ub7Mhit+DwL+Wx2JXasq zeDQ#u8g#u>^KxJ#4FVhKhi|IkU?UZPUT(6Dj53qj>NzX@y5oAqF|uIfA8#vFuQu;; zAWLzFI!GM#i!w%OY&GU>t6=@R|NZ=J>Ys%ii_7;@0~miVbzW@2mUcbb^YbpAnD%zY zbI`xGp=|_&0e@#t&*=8{v-g9dq7Egi5-$7FY<;1pt8HHI>)rkRRqf%v3bh8n@n3Y) zjoY*`rm7bm;Un*og^_PEALRoZVBCumP?r2}dCvn8qkL|UAIq{jt&m8W=1BV^3O9PX zmU7w2#Ug*)1h9pZ$fbG;wz65h_Fc?tr&W}6zRRGpcslt~D4+gj`F(wXd&ID~elTnJ ze7_O+oFz9&Afzi#XYE)9XM-Kk*vcj<$h12N+kCma+I8?@ zs0o;QK_sUl9g&d3M?KP&I^pD9Lt&VujZ{1p_;P>4Tk_tDC>>9vfpS;~1FhR=7v*dw zwY@Z6YT3HRh%r08F4FU`!ZBVmBZg=NP3LLZ~g0^ zZ)qQzzRtV+*@7)+rB=+q$mVkw>qqLWvwzgT5F~Ap@8GGw+*^l1?$6@%fV(5O(M4VB z(t*0@R&gNQun=$`x=0`v{u3hQ*l4?mM5|ilB!lS3cK8jI+;rqd$9lGn*W;cpstkX% z3g7ji$U%A>U)V=NAban!*(Mss#;t14Muma!!ALfk<5ES?lZ_(A%o`w^LT1zRuKR)v zaeimp@W4X_4=;SqFk1i$t2Hzv9t40r7{NNs-4_ocE~puWMz@jX2@xlxs{elb7T~x} zSI7=A8J6t1wdL#ebRLuDr0{yrg|~lqokPyZOy7`5TJq&IlkU1!Ab|S$K~ei$O<|Hz zy}0l*TnA=+1pTC7%z5W?p#;m`hZ2qBita_@^J9CQ_D$mc!%)wQi@&4VZI?#Kp>9eT z$VbW4mw97W5%~?8c@C``0=u^p!=;l(6g7)Lq3?f(7nQTR{ol8;w|mJZZ!mu|>wFej zUpk+NBUd5NFsSPty92(Z(R?D~v+8|+JGgs+i{4>5yUyP!y;$5}Dw(#NgpJFNewwGx zP`sAk9iU&N?3`?N+_2y*IS43U$r)L&S;J)A9s~phL!FiDd90<;X;kFNj&jNT^`;aG zaBmknZR_`#YqbIjeLBvn^tylAPwBpk*4*;U>Bepp6uPfxaL}&M%bus-a@N}Nt~y-v zIDcWC!0`a0gZ@mD_w1dT3HaX6`&cF|H>k^TjGT1C`@3eh+`bf^nh}2;;Cw^pB~X|g zPn~w|M#&4^;s||{48^jaYPD@P`qayU!Klk25b%OyhV>TejIj8zAJvCI^*pwmGJN7m z5FkLM&BI^kh4`yP(SdZ{<>sJvqs|8a5r&NY5m%LOYky7pN+58d@f$w-10SKrHx6PB zOhIafp7mE)5$RLikdJ?mMfuvTE||$w?qYFR*z!&WXhiUzO#MdkKjNY8mLV)7l6_o;T0W!oMqzt;Y3*9uEV=6hP( zd22J3m|td8id6v@PFbDUchnmI~CL4pg7n`la1g|-Jd|U4`&qbi?v46WhUY+>mBjJ z)JWp+R-+x$9y1neaUv2ux9dl$#n?c zze+7uqQbGkWwl;IR$~#0pGAzb`0bXF%sQ^A#05!_c#(ghd`(Q;sjE}_B*Du95)K1Qp|YjNG8!I zllx9%J=enOaV{K-6iO9zPBcp;&%iLond^v>v+&{M>BN(m#cG_3<6Iacqd{g*QnFSz2o@;RdK~*upgkDM5m+r=Nr-ZAmh<-2pgpOE^@8_KH<}6 z@#`PeEH*RdinV)yPmH=%JjoRD!Cd4A+hf^jPSLnTmj#kHX4P#iQY43@PH*S(h#tHN z9X`RU z!=|JvyNM4JRkx;6MQUFv9#^?=ooi8>57b&Nzlk=z%Y-W?j8$&0_K~i7`{<-C_n0Gg zzh4n1^}o8P+9Gh*?Px5W+!(#8Stulwyk6SyT|YMw8{YO-e?Bq0Y(wte zU%r3F5iG%dHbcyepHH{seW`Sqm!2(j_N$64s8RMNt2Nnd+8jcrCRh{ldM8#|_YNPL zE+|xdp0HjofFYA`IvuEr!DcqSDNAy4b{5^|7*108GWhcF_SxA~;yKC!F40hQtCEF^ zx;xq`1HOIh{Un2ZU#;7_xz)M7)QehaK7W6tys+47hqL(V%9^&DHNj>{)u7~YuCAE}G%s>vuQ6TW`m{Bb9Qw&0%aL-?QZk2jd$<|6rwGxGj zZ$clTpmT)$qd%cj8E=Kae8Z;3axtF>S_)pzY z=edV49OXe|mnco`dPo1TEB58#5j%&&9F9Sohh&G>rFq7i89ua--$M}YY^m8@Z280G zExQXXO&R`Qtc5X&85 zpK5su)xZB|$;kDnS|?~WLl1huHoyzEBMy*V_!q31b^jL`?{9B_R1?YV1EoZ%Hp@( z-vEuTXjc_TwKF=|THY@qsWyK)W_p8lHo~zsKl%pSG?s3xtI}@2%-z~l-4DcI%Y3In zO{S0y$>Mb-1HnIA?b|g%@MNy=&Sr0Di`x-ejZt^}QoUI_bsMdBKr4*uJrw3-VV}VO zE3)KxXa@hioMcbCb5*Eoi^V9`cV;7^8yFE4_fhnIV%J;UQAe6%TI+vuCS_bn=)l=O ztd8p)ImwK-^VFC7R~aX{Bc<`DvGDi_i1-J|2QSJd0w)NvYCqn)Q^r% zWA|Y&_1+FW3VUA_b(ECvmi8sNPMn15KkwII&OU#*PH$%}^CI^cJb74a_grdmCWptM z`9Mvba3ehESJBbRQ}Tb)7NFZvF?nNM9x&^-aQyc6+J2!`hlWX~eo>b>puZLnrDmq- zuFYp9@QxpN@b#_5EYxIuv@aYX68aMwiS0twP>x`G$s#NF5m$V>-{UVoVrtIy(KKdM z-d|q|=orhaV@xKPCC7;qFgQ1ktz*>|!&u`@%sN=@DmiBFyc~b%2H!GDE>~-h*30{` zfV=B9fXe#x35XMpXq&bs*I5p;l@gmlSJ$nd>{fD;zL(nrdxE0##a9)scNzniGAfI- zwFdizeor^D>j;ky6TS!=jE(<{3Bp%gg#PBtUdk;H{M0VKc|2bka#a-N2ch5Ml&_BW z*MRypUtByA38sHF#(NG-Y}!&mBYy~ZUGf6o-^#RVbM|6`v-;MMEJlB%A`}L%Vy<;a zk;sr;yga(@j;0|SgkySDYF3Br;xM>pFjUqn~L#g!G%b$D*&NpZNqty_4 zNZov5eJg*>1bJ``qC=J{WhY}b7d`NJo@e>Vs;{uTs@F4Bfk#dcjm2!paMV(wn2AL( zs8KA3S!K}9C3Bmm{f;1tRI51m8s!GnKUwNy`#{%p3Odf_Gvj=T{m3cV)7kw`W_nt_4A9@5Eh3bj0)ijhVc zg3W)wrQw$V=aQ4ETiU-+iW&pgJBPm0rmQ+B)g1A;A44liyH$c`wni=z8QZu-$oW-0 z(dCEK8&EodXc$?)9ahKl3%M~YT%ul%Ts}zAV0}v~op%N$LqC3I33&117cuk{{g)LF zpCR~|jOvUbJkFNGv-v&A+>ht9f0;+Qg`IyiXSmyd$OPos4{+Au0h^P-=fU8oAvh;| zs%qd+prFkR1%pu+f%EpCPrHUN0oO%1@VKhNRFHvGZpf#o!4uj1@{$3d*qzn;Vm<%a za4VKeqMMQtP zQ=aWJ*eu7sea7dKv3QHcWlv<(<7!1%acnxC0ncBG#0hmOBco@)sJRB5DQu8_t@3G1 zgbxLNM>CWl`4dX?H5VR#2L`^+VlmvY6Sh%%g!O&L_A?!J>C1E|HQ_4X=~-+S7$oBG z=7so5ee*$sUSfpYHMO5D`CK-afJPa;b~mdFko&<9)nGNby*HY+@au>pE~tN>%;|KA zmBW4+Ba_QsEEw;Q0vyjr$klSMtv(nIn;B?M+XV?w_v^ej zf(gLsASwor$_`};{?(X0)rSNeI!{y*PtyoQ+(Zr=)kijI+s};u0@_0l-R1ur0Sb|P zrGdjDQUw~9o%WY<;Py6}dSrjzb2aJ(H*}3bdjvctoiRuqhmy!6yPM1=FSL7?VP&xE|ktx0gqivM;2GQkT7?M8oz^Gsai-e(dEx-(gzI^>fw0b^7fK{RsIt3p&LfF+jVE~^AxLB ziNepRLTTgPIX@pnXy3%?`ii0?iL6$a)7ex^otoc z_tMSLY@tXnWS*Jvf59ecAx8lT452O3@3 z)atjQfwT|~%Sj@Eh|v3bKeatIWFY8k=Zi zUpqd1p8y9Lnh}4xEATx&iCkLl{3t6h1D>aeD zTki=pw9%RVZLeoz@6hnkO%l8Y{Uj{LJs-*sPu4qqyS`#o{olI)>hN7bawS4XYVVG9 zTB3!UBxLfDfUp=mbzkTQ#a7!zCWUN1%>GDZ z>GRdrJ#K%?I^q_hJg`aMgG8ZgO*!ct{IqEREfn~M$X8vovjQq7Il52O)YL$%#YeFG z#|6Pcdz`OEg(F~Z*LJ_b|A+~3yT}yqb~#;Xp6qYAjgsn7LCFgl92k&fvYTctz?y_h zl+FdJ>R(L#XJ?@9SG8C!IA95EQkLTx!@zNnn(%+o5%{cvKb?>y5A(@`1k*ervaN)tU>ZUSo&7)Xod)1*3m zZg+o~n573K67)bz1SbH_@r$}eMld^YiEM(<(R#ijb+?5`I6z>?8HeA)4u7ty^1rD; z&{ZEV)+T`5cBgqG0AYbey-FL^cCqI3g4tZ?EL=L72>FMZOZ&Ap4c*+#k`vbixbF-) zXrPQ-xQ9=uJ7fo!xhN_eAz!0k#A=5(y3K!VNve7+A)i~%Y^gFK2CASPxH4J5V%Z~N z&|D6dXy{3O4_xet={UK{-fj#JdAtUvyK~(k2s0q58r;g|b^s zEcqL`!*W9Y771#90HrC_=MOCn$}#sSo3BnF0$Crea{bTiVMRz(i)0Qrx`k^DJL!M? z>n_^ert(C+-rqW*Vhxd1z~Qk2ho{a;q!}zq4>-XGlevWsYi)Uyf08NXS$yy8z;*(- zJ%s#E!!UxOV3A}1R`I(e4RWb;%U26GVp9jbXu;3-K>76@TD6iq>*<1Cm)JMXGLVdK zf_}X8%OWO_Gyi1%-?T*0AkL9;Ic$H>l(PB4L0T;PF5x%f_xi*s6EE$l3my?3*x;tp zsn_H|U${vPIr@W9{ORT>iAIHNIF)$yh~?%Fcqt(wdq8b61^4mxKui)yNrG&767?$n zhe|`8Q{%SKFWAA0wMOz?J0MyZ-DrLPjrH=C+LNRDrZrUdzjB^}^O7R5nJItTl8*Jqsu%lY=qkm;A>e30YA zKvYjPr~RCI1rKP9OoVc!N~a-_QXcEek=xa-?Cwxfznvjr`M+BAi|Gmbgf4>MFWo5g z8JCTMPNSm8#?#OD^3cU2t|##QmD=VBjan%dgl~V{jm|nAwDK%*^ajo$ zk6@AB5E$o&3llKY8nk=Bc>W;f_ZVY(D&YrD8rmP6KZld~M8Q%dOJq*3Pwp5@`r5kO z1Oi@P9BxalrT%CAKi~+21N6_|bXr{~#UhdHM=L@V3^F{ZhZIuJ%aBp?x(R2_7<3!q zisGiXxuHQth}@M+DCmDP=ZJaqKl>C#+2mgUVcc|`iTGTVjvAk3DY?P_KAjn?e@0WY z79fO%2ow!cS_DyhxPbT7P+HFG^F6u!a^u^~j~aE*k~`T!uXlKp1KB~07@m@n(jTHy zAn_?n$Y1wd)kz!WrYDpT60~fCAX3>qPpLEM|JZ&BGZ@rz__u#ji&s1^o5r+*_}G>Y_8BmVvqfNe714oQEl%Lz_cRE{gY?duKs^KkRCZj_U%k#KMLSvN!eyZCOCni|BZfz^Z>|B0YndHU4Liax`7%Pr*pgrQ!laj!>CQeOCVv4$~~Jfmjv z4*L%%V2SKjN(vbqpOA?J67Lb1?$jXMf$M@R++}~Zb8tK~p!lw`QswXuSx)A}ftvDR zLJL~eqMnz>>%DVofQU$fDtPRSpso<8x9i3W&R=P`)h>U0jY>^039?#_;pp6feQLHO zZnu_*-=nG#k#au%M~`^W#QB&GbdqIcd={u-4uOIMZgi*J6V9B1;E9a~ahS?%Q`7OP z4J3cy^HjG-av+tA`>?^;!ZMJ}4XPaE!+pX6!5NoJgL6=uO*AN9+@*Qw8zhkn!q+em z_uQlViPktB&z0{rUx4_k&U_fnd@Nn%DUcN@EZ+Sw`v;in4zj@B+fxtLMLHS)kExsk`}vst(vRdaVJe_XBIWBst0)ir3pqtKT9Hi}439LfcDXXey7ghiN-dcg?}_2LxFQAn%HUb35W$08DufHs~k&ATN>SfN;MyFw+%9sPf^ zVUBu_C%~o=AO>m-UZHdU_5NP4!Gm%5qxOH@>g2Yhi7~$-U^9J>cPx~Q+0Xv!mh(X@ zDE?EtNK@qMW zi9|S6B#W+I_C>U-+l3pW9QBAkV(}m5^f>G)AzYC0o1I-qOAI@G?iN+n$m4>LQ8yj(K&G|>?0)}Y1PC6nQGZzZ8PJF-w0G^!2!h+;uAIr(y&jc6~VNJRJIo@C_qJ?TFjw#=86g zLC);cVOMgE`E-FK4z~lrFU#?0&@i__y#mDA=d~QE9&|``{ zQIg3+P`6$OqVnNS%6kDn7<8r@ZD#YhzJE9Y9?h2Sori;PbbGo`8q9;M29oeh4#0&1 zR5%4_>nIQbss4#VhlPJdCXxWPXe`!KB*T;n0VamEx{z29bhkF5e4rN7rsMMAawq64 z$U%{O^8+|%VAIX%#djML=1Mst*s1-5Po@ha{kW1nl)yZ*$paULg2m`iVjItHDX98i z&$($Ijzpb6$RAN_)IE|QNO$qrhYFHf3}!=py62zNCVgRVtN4EgosKA8&v%TbfOtmC zr^y^a@tebGf3-NKLR2^mXfNb~UkM8epkEaQ;bn1yf`cLwHj{qd&G0&YF}Z#K92&oB z0d6?Fzp4#|-1i}z>VCZ750XLZI{Jw_zA)9AD^0erGf#xPE)sNXkd5qZtjKUqz3Q~L zvVXBb{)v3_BmsXGL_u&d-!H*LCc8a=7RyyOe8`p*gs(HWOqefH8io%STlE32J|N%* zDV<)zzuonZU=jVC=!UgIA_CJ33N@u8pN*!qtfV9Yqc6?wk!AY(qtkXECK4`NkuO0% zT`g-ueHvW?tJ3^lCXefFJ&~(B-U;{TXNvCPj{WWN+ev@@EalOPmkOqwYvD^RX93l@ ztV_S^{c+WwlO1kenIK0g?+p-FL+Ki;t?2%==&}FkR zqdhi&zoLI(;%>e|XXm5tUhd^SQJ5jl83+$e$K|>^6s%sZn*SwVOx3w+=4M(5g(u*J zCmNGJ;vTrs?)fe25oD-NH(Yqub}at zgM;RQ>;NW@B#4Ex2F|*{r&BBEd;rE6;T1LQf!u$mxS=2PgQ4tLeK!vHT-m{Ugj)sG zN%Ebfz1T@6Gv1Q&gG@fQ37X&08x2+o>O4t$xl#mj4D*w28%2*Lv3=6FvV@HDd$V2| z-F$d}lI^)98@j6Ht)zEePr5kiXdi47zM~Q^;r(_F&#b+%pR*1gB~GM~5dsGj*(sB# zcUpgpr)4J^aY@pgT%3kEm34f&(PrM^F|4(o+i~t}c65V$e#wI!3nM<%Ydl!9zpFb_ z*lU{rNd}F+S?BbxtGd^x7-|WHba@+eUjs}q@ z08>-ijG$jCmN8s$^g=(X-Vn1ie(*^>>(ZKWO&9N^Zh>jGI<@%+7LJ7?!1Oe?xUN1H zK6A8kCU!^lF|KmIg&|3m<$XD27mGR@&qUXMAr ztwsxf+^ii5(ZQB26r>FlRt1?bq`kX5N|L$22#nINqu==6l_f5`$Fk_`6wGi3@xvc~ z0%-QHytyaz{i{~=z0ER9OmcUdzc1={w7&g}xwg?sHJTrA?US?9AV|Oy%3bZ$qKx}ZO-k4&E|Ip&chCWCsU^ELGB>a@=(PRCqTg>=ZWO#%cRl4 z{hZN8qhmRf>!p-{I(S*WSZHJvyAECpOOBTdpawducZIe%o9L0SxlPY1kUE$+MPnSdX;m(6!kUEB@9;te8UB?-Z9lU9xd%yr zE(c_A@CQQO+2$D9Kp{rVX1l*+*jiA9MnX0z9Gd9Vv1xC#Xn*432yoTNrM}B-8?Zt5 zMLri#9X!KGc1D)nBMGInCxwrquh~-w8^* z3DnPVr7#xjL^o?nZCy3!+=mvo`Qg&o~qWn7g@RV0r6riHgHb<2SXCleCvgj84;5J&0bl5TLkY% zcLVmS?Ric|g7zk!aQu@m7C3iG9X7Z*_ygLJtT`sOHos-K;|Ch;Yme{cbr#Ojt`?kF zs~5e_v+L>|FuAlQ^a-xjVi$2i$-m1_=9!>|t2EM!&+U*0zAbq_r#RC-91HOh>Hm}T z;lgS%E8^Y%IW|j41(iAE5cnQ{Kq8j@Wt%^1qwKW%f%)x~x?6fJK&w_b003|lPGr&b zdek?;3-{LenX96?qa86xsj-fu>COti(89RjA}||wTmCXw*yLtwQ`N5;sQ$Vzq9+~`?2(I08xSb&H3#XI065A z%)o5Fh;TrzNlRU_{ra!e=g|O>yuO5Z&FZ%vjeMNLm14%PnslW{+>nqD#;YG0Ei_y0 z`i5lLlk`t7(m8#V^8BHHq0Q3$1vsdwsW0vw=+tGd|C(1|aEu=e9k?+pm#a}LPmImO z){~nR0*Jie5{13C`oeRtj?@#rUnys=%qIEc^IIYg#^T2LV9FP`ugS?|&~yp9tK3t5 zBXa_7p^xd-6UDs!jXpOeZMT{<6wAL=!{3=S+h#X8oXStWt); zYZvoD*bXq69!cwpy`3AlKxWkC_uF1%ao--=VZ9?N7MI;ebvZ?^Q9g|cht2%k+pBM| z<=#jtxF7XIl+845Tj`CVbNeOLV+of?oi1cB#`woMDZYz;P$t|mp%3N{Uz6?DbhchP zcL9GE+F%2~;aCX98MvpIY*Vr}( zfMn1_XC|jD)rPNTtsx70J!nPT<*a`@}qjD&Q`bJW1D>yGH2Sm?(a z#!Dss?hOU=_6w~U_@y=f-OA}HIcrzxl(iiu&t%l&ijyHBVevTCKDrmBeIII2gw3#B ztO?IS2P(q(BNr)U;}yZ>JF$kX%zzLY5-Rv_gH<7a=oj)#jXsro4Ec^V_Jt!7>4@*NBD9UY7ajr+i{qFTk{>DO`^$24_xeKUE|A4#cj#)F%HKfb z46g2$$ITxP!WPcS3bXa_$SWH`J6dQ&7k8t?9XLm{L#5o`1ObD>t8cxbSvYC~4M`Y` z9Aevly4*J^^OKW!p~VjF=8Z=Twoz;Y)spuEU0^m|Z1KfH;*GlHQ00(*yDci&N)51DD4jilp(xeUzos1HxC!aT@- zs|iGFZPxOyAJP^47vVl65|&5(uGTHE?qGf^84J97qgPt>rziD)xkDKGTTE$9&eEmo zLeb|MOUypA4+SQ}k*I`>R&=Sa7G2}h^O(9~c{0Hr+Pr~n9d{t$u%XS2zlVj+5%m4Y zH(5j`EE)p6)al#o7Jot<6aF^k-(JCg2C{`s2Uy*M$WQ2lHBTk{J3Md%d~R?>!g-;J zbXU)}C)C-xv(EXQbl1H6P*3-ONUg~_YXxG!PX z`H(Kn#s@?QzU+hekBp)S5P0l=Vz8CFzhQW5lT#>M~d^)Gs%^nyYlvkRn{UCHUr~ zVru-Wj^Z=TmgWO^YrXh?E{R;4!d`AD(ZTk<1NIBVAo6R17i zNTF7CdbluIZE=Qb_c%*#{Gx8C_JFUkv)u|`$%?n5&_5_pVpBmhs8+S-KDu>TYZG8r zVUuyxT5oS_Lr07mSrjmmL=FpTQ$DJmpeNOt?#-9&@RG%~*ge`kqwHMDH&>C*TbV z7JQv!*4!xDbrGxjy4J9hu3W=kBMJ(8Ti~M8{K|at+8Tbe&HdzJvlpt-er17U*krQV zVGX`3Axpp;e6uN0C<%P>+~9S=3zBA;t=VJZ$2YNV&7Hxx>)jI*;Cg47MkSWMfkE+Q z$lnnOilZ=p-axvtJ+1gO!Hi(0C)U+aOjoqs~ek)6)Be2b#+Q3Ek#Vof1oUHdi$zIS@o?`^ww zV6^3daF2EK9^<@?WbpG}7j#&ME~&Ca(jtda$D`eUZ`ZTfRPN$t9xbMe^VnV#ZsHoh z{$RG{Q#i%no;+IErNuDBX|--IGcJC(6gRP3N$Sfe8cniX$ptKTdm_8h5=?G&-?h+LllDt34yi=o1>6l0#%)svr6s+QV#VBn% z;PUmCfWwDhi}@qIk+W833xv>!%Z*pg6&mPxymoq=QWBouAr7aWd{c8_%}_gRUvEud zRkO;sdCdsWJak;^#HLotMfe5(diH)U-p`ePO&PbiDqHAuwr`I}zzOkb2OwRlsi@Ml zMcm^04$;bkN~6`zdgrLii23$o-{JOYJiXzY(oTRsbT@j|7XLugVy&&O z$~*Ib^2qMQFTC2B@g~k9EvuqoJ;cuE8&SV$t9Oim%~)JsM7?GQ@&5-}K&8Ldq%o1V z?T!H{Kerps0WARq0FXd$zqd%w0b@V6unqz(0R;f0KwH1J-46nBKY!%yS1L61qE69q zwKZ#)MSPNSgm<7$o}))TG8_!7kZmQg{&0@v2c2VB9epaAH#gndw~DUa_7~7Qi4th; zhx_d07P$MTH!aXsNs=fb9a}p`SoFu|4fo`Fmh|on?RRR!e7bx8A-(1khPm0IKcXGn zqO*rr&C>Q+3Y0CHpMRRwu1r}onm5eBX@ifx2c@b`b=BODw%?FS@o{wFUAb~4Oc#q4 zD@FkU0R+gMtXZ=X@Z&*9%a}1EUAlBhTL;SSvuDo=i~a<>UQM1nxi$|0!0ueUc#-bh zxg#9p!lEAzXCsPmVgOe5w{G1MeRp$n(>4u-f2&rlC|fqoMt{6E<42%cwQ7XVjT<*8 zY0{*GlMB&}l=>bBK29pU-W4(tK5~LCW^CYLVrZ`7HvtDzI9T1A5I&}A%S%GrL;|DH?zK_KrvHC(Q#%fEG?mI{^v7( zGWBAk+dThc&>P2SN;(O$-jYR)DMRKQy8y-J{g<$sC4WWK5wwos)o*cjL#0}!9R>PH zo+z%fm*TFSYC(V>6GE64f&+>yKR9^fSWDz8=wmTl1An5>FmH=s?FG;aV@e&jhIj|< zg@*7_3_LB?y9B_%gu!5F?h2O%iBvN3^AI?#mX}8+MF(EcwR#72zfsdA)%f)=GM`DC zQEn#f-``B){q&+-8>9Cq3hZQ3Oz7E6qVv+ADSNohxy^tZesp(W-{7XvPp^Fz?mABF zxf+uW>W>_b#XddZa$5zIB);`$i;*cNx^tHl|!Y17WLrD{;DcXA`G6+Ctae#*49SopwEIm%7A&{z6G&<6lvUD z-+TY*^fZ2<0^<%0fH#z);C78vyam?2b67arwtwx$MEQQlgKty-jcmL(u{c`Tl55dPW56{6@U36y2HOWcA!@*QGb9b+5$v$9x zueEQn+Y|^MX+PY~j^*JEb3}vqoYLvdsAukN!Lr)iqdI)vZK+rCru#g#{5ME|4_t}% z6@Q0_XFD&C*C(^~Zf*-osb#D<5VVvzlhy&>5 zqQ1CJFU?U_j6O`bkNOxivMBRH&M2Nb=UVq%H2P#}GN?ABO~d@V$q4S{zVp3)eF!N< zNtMK3#JlbFcJRDDBo79?CLRhqa`3FZsN7p@ZJjMwrO2M{CWcl2Oz*A+*}Ne2L4Umg z!w3e)eWwAPp4eWo?1ur|=B`lMw)o-Z6o&KBFuOy%5E18s=hlmU&yh_g*8t~6T3BM`5LfrelbfW_JX?^Dvu#=)IhT19sij}yne|o!=Fh&-7oVTP|P?9{Ol$r zXj_#NbhVo+N@u2$$u<8@30`F0dnT&(E0+o=V?-GJs~JF(#WddwpT(!V4Sy9ey`%aV zBm+hT0~S!{`wnn`7ZN1Wp0+Qs-|BJR?t^<%(CVawkwd$9thI>caiPYH*h2>SbByC$Oe!}#B(t6EYb1)Ci(bkd(kfg9z-Eve+L zbN!3PTKKQgWhu2G*4?bLg@5Dv3?<$LK~MzUA{!dQklzo$&s%=_od%N`$;_-4wP53A z@ZvYham?S5-5mmAl1_40Bkf+I2;YZy1{ARWR9;42awH2BHM~}|?%9YG=LYTt)Q~$m zBKS1x_IwWh^n9R*SlyLuWg?4-#Pqq~*3ooCB&4AdSZ&ZbU8{O<2!F2A`r6<0ST&R| zRmlr*-uwf%6^S$MfuuZ|nm34uw3i`MZcvWDwS!og7zD^8?O!ySmfpHpQ66BRIStVF z$wN1rS?&8A-3PuX$n2vp!>*lnc26sf`O<-i?r%MA zW01jiaWi!5qvJ`-Y=4;%ZQehElF~JW(8&)rdU(BuNkZ^&GeQaI_V+0!`XvQi{AX~! zj3RMt?Fs~u{!)xvOC}~hQH*5To-0u8K*K!5bd$Wwv--q*kw)>xI~ zTbXZ^yaA(s=On2|1bv>!6)Ht8tJwBN(-NYI_-W^No1i~^g7XHvRIRmns8T;|MJ}ZF ztRa1Frd$xW6k=9~K8gq`L`qz!W2IxhDp2`9(@cmdNJT|ktx+p^ z$3bT|IjQ#sQ72!9Lf7la$~1jvwO@%2U8D$$2mC-+A zFvd(tclCd=X{S@150*SLnmGGxXSGwjlt=iq=-pghbAPrFV}-zD1jf$Rc33jDx))a^8KAX{-gFUa9_E@o>+P~ExH zv$$5UQ@(!l|4Odu78_lAaF-Mn(nI%hGt=njtHMBt!rSBr5=DeH4Ixuz7F zDQVX^*=cQH_>3=WO-n`Qm|!xFQ{ zK035Qx+Gz0quBXUqg+mHUCFoeEjH8fuRMTt$-Wb3d?|BD3U!ERQvdl%9o3O!hNBq4 zH&i{(%k59U?KbocmmqbBw~7^Wv{&^EpBl}leySA7(bPN^%cY6r2>KS?pKqv6Wb>CA z^?wFKNj6AE6QDV4ZuEK@0RNNG$DZwg+5@v-g5TcYo~> z)7s&~k<)Cg3oAZrA+gR}4lw*SedZZu--x8@VI33xc@%GYX8KzK4Hj=(kmLI*kgf-< z`n(iUt=bf8N@0ZZ7Vh$bU`5^j5V=>T)T`EXEFJUW3PI1;8qh&%c~Nswc@&rVwzV<* z8X1F3aaPjq54D%OOVGHm-^zCSr++u}SS7ID>G}w!1)~T4mB+=}b^`5y9g>%%byUe7 zvf&va;zhMBj?X@%vu3;Mws)$w)WarIkb*boU1sMFCj4L})yLnv@A0$xpX^yvkEI0v z`0H?h>)Cu(vVptp+*5b<4&-?mcY<=fJIj*AsZWo4yIn`&tpJG{Me#s9-halHYq{+d zobTXrXibW4$5*JSUl9`?Ri4z-fhwK%;m(xtX*Z{nkh3`jzJsS_%`BxM>F9( zd)^*)`F}%xoQQ_c?O14ErPJ=|V$^SEE47H&^#nQYaxj`khIyy7 z&ZOU_#kCzYv+{Jyo{?zp9MRN5$w{R?a)tHGC^(Jl{`V6jBlK z&E<{dw>CgN7tPyfL*4PXX*p$l)mOeUylE=8>`bI~-M$vZ=i#cF+JANW{kPw{wK6r5 zbk5ZhLx40!OKSOq`9qag{R1Yi>%vrjA+`_VT>s&~o{w5DJ{DG8xBzymA@6*~=$h(}VP*?<1q^>3UiT1Ux}9|lB8}Xn(f6xf zw?qbD6$YL)(WoFA{eN&@1fkE}TB6v2CPa&*oDk;Y{oNWbkH;A)LmGFOHv1GogwN#_ zmJ2a+4vpqo&1K+I`-8zJKe~_?0*}Fy>13GC(d~p@muCS zTV;^~1R|orF_@AEHm8|n<8=1o2kb+_7%0%n&EEvRhr)5&Nc38hb1Sj4SI;?86tA1i zOpWezv%Sw6JA@nmaB*`bFY>rsqGk1(({$9IlH@|6H>gD)<911UN|ZOQw$(#W@H_fY*B9u>Tflu2fk z^~+cKnfTPMna>nG0LgSi_?9Xpe(gEgfpI{8wr&=Do6+IiPJNC(@d8H@fhQU8Q)Vqj z<}wVLw9z~i001~&?MkQfdHhluC{THMxGZ(p84ww=8-Ld_TyOKZIi91ty1fMk{+)n_ zBK}e~Ef?Bj`;PfaMEy8z)rcm^xKrMJu7z_gHF&6eJjE-)#YOxOT*Nsn9))23!qN8h z5Cv`9Is#3RgLlmAFC=@YCqTx|^p{e-?g3tJv<(AA?D4QLqE<^t15?e;g)R^)I=@Ur zkU&JWJby5$OHyF_K1Zc!&S*(eMg|E*v*!S=7ZEevd%aA6Jo`z=F_~qUwBRZ3 zmxotzYrEOX1@&+qZ$I}L^rY?or145NO#YM*Nq-tn&bPQup1gpYDG@%ktp9#W*--Ty zL!07;Oz@4YH$3(S#d$w6AVP9{LX3q<1j~IMBAX z`hPHL!%})OKrHMxqEd|5f=<*WWBs7aqKSNw$F>sZq6alL)$jdhcsjUPL#e4%DD)zn z?u0*)xVYD?r0>aRnXAk10;6hOr|sJ}<0ueK-RQR@9=LcOFK7}e4h$}&S@q}~b)H_2 zuBkKx%qt*mwlJ_x6!hAXAr}1%cmA?y(0|-)UEK9Od5Dl>Y2QVL=hv>JzU_ITHJvt0 z55^$o6|FBcge&V154$VPSL6u{lM@qlwQ?3uhF~l^?hQ|!t+fuVtms%nccFK>Uv4jR z%=%rSKfGnVPF%QkYdqbZem>I4SQ%!eov%)#qS%7elj{yMa}Ew=-^3kHE1+ylnM`79kma| zcJI?qBP6@;+pIttTpgj*ERZs`6SQB7nyWK=DxxE)-+ZBK*>sA$$WjR>@X%*{bN@C? zTuyNfe{l6_X{aqTf2QsGD&E&0xkx$<%8yrjM?#Hli5Z-nqyZck?K)qbzMmF}&=;l?9$XA=n-zLgd!>v8PK2!o)3Z4 zsX$n$(vxMkoJFWr2dPLzUrP9pt3f#`w4W zF;m7wS^|ftEiY?96iTJ%kM=&&5)|ug4k`LW%6FA~v6gd)aAu7(SU53adK8zQQ(Av# zysy(UZpY&p9kE8W%YWWWF8EEaM04XiG7%XE*y5YB*lab9rVi@w7UUO!=Om5JM>g0n zMEG3TaH)7nJu;gy8!gi%!ahSIWK_3=9KnnR*GM{2OeQypY0ghQ6vvatX4-Y;*uQP& zQ%SrTVd;F^^DWgV{Zalh<34oCv?xy6P zU0g|ybvtO&K4g&{mNn_{ekZnReaqY)c#_t7g=u>s-xg=3{2uXrFY!plYro3)9!9x( z?0)g+8qcAAP1nQfdd?#%{W|;^EIHB3^*o;^!fv`B2JKlF!dsZ-!Pun{Z z^;M(mMIqPUzkk}&JmaY^ZlVGz4gx^bgq(>d2a1)igC_)bh#IL*LCKZ6@=3JnUo}_D zUg|AoW_Dt6H0HvNgZw=<{%>fFstjczZvZ6I5o9vf?_Ah7b&2>rca@Bt_Q%N;GE;+* zK1-Y|R2PGOuhQatWd3}2`dup7n)y4U{nhs2RDtv5wtx85{XI^`V1Y!GqiHRd_XdgE zXbPy5{+cRM1d&fh7`Z@e4ACP}evF7&#jIbpiXt8>a|G1x4rwuP4;??axOUbFlUB;1)OPyX(_|aQ?-My+2U>1 zK_oNkWWMk^rFwFCY^BsIgrh7pN($`j@X4OZ6n_mY8R-6sWs<^eSKGwr=rqYYHM`kL z+H?Yi(??CLU94b}ySDN^Mmn#VvU$|4b`|n4VnSgzO(_X|L|}+s#Jan?!`nvjP8xZt z2gnP&J;lc9JPq0<0zT<7 ziOh)XW=Ja^XM+2E$%MIqX4gIPPcJc(c^AU3;zo z7VFHW<+pnFng;OsHffF7o3zd(CSlf$L=%n4K3EIifj&e0T2swO0)CpX& zXV9K@3tn0Bx(@obDkU4FS`F}7u6L>i_7`|Jhs0znRhph2wZ#m;kwX7X*LAYS)Qa9e z+$&$$JuX{Hj2|wN&Wg|OoZR%2v41#L*Mw+-Ihijn&L~krTr6K?eu&S5O3K`km7U-R z-W#Zuzy$Tl5^E)od@BMTtmocaMEt6#URF#>=4AFq)B2^ym<&41BR)Yx zqhr3(E=fYTYeMuXpDzElv48yna@&|pMx-r0sBW}DiV!h)nw=D)rw@OAr1JUi-<)Xz z_TPPYQnl$@W$Xle7C69giDEy0RxiV3LGQAF3&&c>j~Wg=Ql7OE|2-Mw>4Z;1_R~b@ z<8y8SDDUpr;Y1N|hTFs)&*9h{BfuSMR1EuYLZJ?06Qz#fOb&F}G;{i|gFBRY2y z{DEOGI4_Ux3fOiLC_g8hEikn5HL2J@fe6J;tBk5MA0>7qD^_tgnU7@6<1xz{!a!w? zHpybJV+-n}FO=LxpM5%cAC|?*h{gaQ&M%p+c{AAC8=#QYDu1QZXbZ$srBvD=6i_4e zk{OOChh77`1oKUk=W+=u{QlEfUP4Fw`D)jqsAqonC`DX1rx0*hOjea+Mr&)4-IkeG zlNd~Qh``(1I^+(`Jws0U&iP)z3Lx=T8BPe6Ba%h>%&{x*MqNTvb?9q&xUeI?8f4|B z^sX?5wRc)E3V-jlN9s)uK|a;gZTbw1O^hq$ZkW$c!F)f&aw5lxc8;mZ zHvJRb+N1J5d5TjXnYE8S8XNkxc6^UR=RRfyM<`3C$e7M|<&{(nCN0D)GGe?vcig+W z{D&Z134grL^AN|f0}(#}eXd+T?bxFQomr;<|ELpeeLtn&r=sG0oJjNg2@;ONo=^fZ zbTC?PawCpz```#VZ&gKpK#dbp%4p94kb_>4Mcsuxf{ik8I4{bhnaeR zy(jJuMGLU+fAxDz+&;|Vqu(Q2i?1nt`ZGi2q4VT%b$2r|bWIO8aw2O~nvFS#1=UP$ z*njMCReL|s?5JF-0)&koAx)U|m|HDQg|t{lP2N`^O1=W}NoH%_{1y&?-oF03#LDAx zj0s9`%+F|oJaR-Fn8C9z-jYBE62>4P%kYd`Q034JQ$!P}FE~?*4K(l}kJE-(HO7@% z`d~aBx*YOG_C^wc-X3K=RB6fAZakz6ntvg$+?nAxbTX&-bGeB_Hf~a7OvYw0gPYtC z{f4kmVRt!Pie1Z^(s*!uzPG_|+AZ19Ib5ZPqWcg*tcGPE>Hw}$60@VU zn{KgS4?Dkcawhlb%)|ghjZkcLwWdyw{ULS`>BZR3TxvrC=uP-9(F#y)1)W~O?3ne6 z5mO1}Ws@=4*S0Cjy&|2iufc4F_kY6aGhY()mO~MXEYJsmn^VAEHvSSzN}iGATgInl zZ$|EX3G7Qa)gh^#28GAST~wRrIrr=-8HHpP`w7u9{Z=9@rmEUmm9l5iU}T{8DKY9{7gatX=J(xXyE{(eaIVXba>AeN@G0jr5Kp^1|xmHmZMpp zibKhbz3>NzR@gh@)zNEnudQk0r2O1<)7A4nU#XMGVk|LtRLCN{lo}m%8%@X?eo!A@ z%wAiS!C}RCdpMVN_m&=l-mg06I8X%Nk}7FD5;SC+%EYcdvL^$G41YrzKE^i~EOCZ4 zK13-%z`wi{ZRucl3G>Ov)c45C9}_fKhJiNX)lYU=LdB${DmCiYoy+x z_Fw@5fSm;JFR$)_ZhwCUpxn8c`|C7JeqG-H-`885cED@;c7H@M*ZE=BMPC?3z4xPIRvtvKyunA*!AKZ2 zygWg-q%~(Sh<}k8I)~5H7mo*H8Io>it7soj-x#;2T;!{$zLw)M3Wxu97C?a?yXVsl zjeJg3Titb$e1=NIU8l#tDE`-A+Q9&TVUAZO1Ec4`Qy0AY7#uUyrNZJUY!PrBiG|^XKeWnL0OfKtDWI zu4ZIXr+>@6K*W=W?YnE6#iUuovO%W_Ouw;7r{-Cv^Tc~csOV)5kI4hy^K{SFV=6_m^x z^TlG0(P9W9e6wb3^#|ockOQhWx+e+$OvSM`lz$zRyC~WALs(HJi8PJ9BC~^@{#p-V zA-^5bpdQdG(VB?}9=NgI?)9kxt0LK`y&~QOy^H3D(4qCxul{^^947rjkTcL$)6j>F zj##MDqvOzPYim0^TWclN2YF4{Afkl(A-vwE#=5URR$d;jEe^)Bpa?_w&Hp}x%@!K@ zSbw&?V7I@c`*4zytc*t5jHRGh`&X=XS5 zsE>te@HlTd<4+=({Ry_7r|g0NC6NCaMSnaLII&b`hF9Gr;PMV+zdczG`#v!1yck`O04VerdlruzW$mzQxXrx3PW0){t`#j`K$1#CfV#bRboUH*Y#WSyySWRdA7!c zS3Ql`-^uhfSq;in!DiTl0<5B<9R@{pYq_$dhtDA0n=3WDqwZXx{91E;D*15z~x zO7*e115?m|VR=G9i|lxjF}g6D-+wDwL9au>Lq;9wJ8y^WelaEabS!mB0?uWi+iZm3 zkyNSxa+igyX5(eU-d?cUd!;f$Nq)58REc1Q#~jwHV!!d(fYW21lf(%)N`@C0R0Ltm zCX$IlsB~8_ih5EM>8=IGE}y59D_8zjjfN2Ty|-H}Fm655ehmNOo%Dv_FMpCrCMGOX zsY4`7ZB7+PvL(J&Z~cH&ko>#e&MT7mc=(zAc2GV?l91z*N_FM^QeOEn`D#43>WEke zl=qUP@VU)>>DV$DKDSA7*=WorjWWXxnbzi1ZF5(bP&%IxLFKo)^smj7canUKjk@0UC>o*Mm|pKz0Frmv*{ z;$(j$J&tJSM6)rItE3VRkFHY!JN$A4@MvSc$^bLAO=u^yo{Ns99EI_?@pepXTKWuH z@{z(o_n;R?6$Jd+B;&-mw*?<>3SB#4E#~I|cs(Q2>u`wqnSaAqFb}c?IRZX3dM(cR z-eT`w7n|Vnd+fKvNpv)_$@C&<@V$(fc zP@G}^-Fv)YX@86Nw`ZpA12Bb5-4^GtmzNi)eYcGc9~#vnxqMx*cgW%HHg2Z})&#)Q zTM)ddl$^!(_4Q`wIi_I4zBBjg;id7;AgeHjgdosam&N(WjL>AygW8G~>GA4mpvO@F zc0_vnW6sPGppyP#NxPv&=y45#Ok^ z^vQDXsK-zhMfVEXO56C5mv+d2 zTkt*V>BMne?;UljUk$liT3ZpULh{8UBvOF^voNZfTz5YMXt|Qy7O8vMxtW?bWb`Q37*p|S=u;iKNMY(U1vcYm8Y1O;|S(j&}I5?(6n?@}EGvvdMQ zgg#e$Ji%=FM~(k;!X^_qb(~)e(z}44YZs3+KpX7@0k!JN3@cmupQ8SDv_z=~^!$_X zQGY~Va90Tg0lHl4Y&V$;Ox2}W!;0aunpPtP*|j_>Lnp=7|K6_K_Mm z_l*ixJYHsp+_G_03mwu)#Y6T?`!Fb`oPT*dF3JO?9U)Olk$aL0|EH9R{wd|O5kdP+ zFq6^LILBS)Gdd9g?AL~|%SIrhJLJa3%1XwT^ykPwMU9;FqnE{h8o=9iC^iQCl;E{vvyWHC_pVBr=myO?3!p3RFu+b7mcR zH3~ytIKz9qA&Px@!{oO@(dq9GNmGf^QI9KP~@=48}bn1_4gyD@#E_O52KA z@;GN1=RZlOM6qd(9-H{c6@LbE!Xrs3)Cl%d1f=)I=|9e33c~u*H#I*949Uw zI+=Qu`)E>pkp`RJ9Gs}zzg-i;pNiaAcc#|M^eL$rn5(Y z;8n8o_3ralKPiup=4R;h^ZhxQOrIrh8B`AixS7(SvEj$pt&s_Nlz-B`n!t`%sHyxP zfs{cZ%64sR7-;PqkLl%!eCiD%pk{a2?)&({Hq3F{GL|~Tyfj$xWD5N^k+l|=x~lKw ziNVuO-9JCgHanTA$Kk?VX=bSDL-;Lx@~&V-`%>z!4NhG`t6o+zA!L@`CUyAXlA-d- z<67jF@8#X|ada=Th9KI5Mx_>LcWv^!B_@1^!6_*n)nSJl+rX^(*wVDIxfp|CeaT zQExN9rMQVy%RHu(V0>2&INc_De~@gXQ~>g-Zs_UhS$_;C(m+h3QyuxAeB7QHXyxc` zC_HxR<>JYu16AHPy8{%QmL-onJ%3k2sUi404{Pqdi9)0>>iyGgm_eG=`cVzT-l34m z6J-HRx8+-Z(CsyX1b)CrPJ=oW9@vqSlS3Bq?KI>6)~==;>h1A>xVUF@0VmipubK&s z{Y(x$m4Dx>K`RA9pm(XnW~D(SjLT_X&g`UR*+3ma8&2#~kN`BKZ-Ua_6b7B-Dud1{ z!W?{14zv%;@BQ>B!02uNUhD*j%g+?apDt&!GHa5!Wf~>tyAccezR5KyW+m~s9E;U{ z??+D!fI%k61r-&~iP9{f{C_LW-(K1fWNv1QlvDF zwA+A(X;!w3pY0a2fTP!Kiv2htW+ zIOc0u2-HiY6DSjzjYPIEV2~TPcol$$4B!X6?^u8B2O|~|Ah`CVRVzVNFV~3jy9Lr- zixwjb_MC5YqR1>H5sH{^FW*gFUoHw;ILV8AF+ST^ehbq{|f5pm1_U@IybBfWdgmIt-wue z-GJ8CR?OnWhQkmnx=D!swRWX&-cQ<@A`WhD5Zw&sBC&?x9gh>WL+g8Ij=$WRb=P-r zTwT52>}*}{$1?6oOZGp8KpJdT3VTmWRf|=w_s7Ues8+4T$hz>K(8j<|~_`c64;8 z)Y^dh)|P!A)Jn?ZncNnje8tTVHR!Me!Wg4LoY7ChfPt!|2t;VZ35OT#Gp&Dab`kbl za%TZxR)?)9Ok_XE?HkmKTNL2mUA4Eh>6ZCcE#o!hotI^90cb!gAVj=VuGh-Jpx2@Xe~&`QQ;3*W4O*Rl z(j`Es#%hf@Vt+;bBQR0;%|=S6z2<=Ve#E46=z<8y!7(sNRtmPI14Lj1dc z3Syi4V;O2?YBcz)rja@b*Wfhk8IX{WS)q)a{jiI{V1a9AyNC<8@TDri_!Hz&_*(25 zmO!rYB-D%h`(m*$^k$V5f@Pf4l9di0UVgw!Dl`g_9I=46y}6gJM;}=i#B1n*aN!|1 zcEHD*mLS*zB3XZ$AGEf1O(;i(5%IUwm;bqgAq-+(uwsHZvv!n>LSn=JnB@7`NXX)K zD@))S{hwawf^8y)V6IaIb)a^mZC3r-AtZhnIo;jeAO1h&_ZBTy zZ!{nhm&F`Zbyd?8XE0=_(Ec&Rf-?RMyg585tmbH2TU&p^_QO6P5BW2Vp8A-jnF&;l zZU*a?9KSxcFT>C&{wyqL@^l25(k1x7)+BfMJUCbklKR2;wz*#ttb|6)>R0JvcYe;kHw!h}%n2XwGZ8uy1&DCQT-rbL6(|3L9-r2j6Z11K^K2_8$_ zMGp`#w|NWuQ!0T32f>_LVp$5|js%UXWJ|XM7Lrd8i~U)SmVl80=RU+(AO>eQpW+@c1ariUX<)$KQWd+!cb{PWy@DoCU*_!M%RF;e^3L zYS@R6YSwLIIf6MLPa=UutCm}=n8Sl;RmHW9YUmH>GdiDU5cIeTJf1BTMZjS!>b%98|D(=6PszLHEp&f73GMj2kLs6o23iy`JSSdD`tO6$ z@}M;>sM2el28rZ3X#!IyQUY-7!;oKwhm(09Vu5D%ga6GTLP+@`Sjb*s-NDjHz)1AZ z*V~UaeBXh-Z;v6v$qeP+)^y_pKnzhG1GCYL4WX=_i^7P>sH;VkQKeh}?E_*AkZylE z)*jtj|F`nR@SyTrn294zkzT1;*U0vS^1vXjSwScto%q_=I1`KG4WgFWMmvM2>j}Zr z%IFbRh;))J2p=D6ubV@XoMPr;q)vy&tG$_tF1I*z@cGG@MC+N38MBFOAgOq`l8_J> zsMVr_9+yQcG|8+EPrAD~8H2k(CaHfQQdQS@awl+lJc}1-Guip}G@^waZTvsEGlU`t z2Sd1axe&>H2Z3(L_pu~ahz3$-;{n9dJXAXRW9vLKs(>kIr7dHOA`!)zrTMX zn}y0fZlpwkpT&~JOp!9kTpoe62majfoEZ5BZ^j+A3auD)c;|tH78+6CgM)wX`|Ca9 zB;Ebrp7nOGBaouFDuCi0s52eQr;tsSs@}n((xH{Q@S>IqCgJ9)8kLTB*eFNKj8oT;D--jN~7I!!&)m(g^gi z)I7;xeNLcOCVkq85iFeGr-pwXh#VrNG~1rA!IK2}!5n7Jv>UXpBPZ&V?H^;HW-S5P zswcb$Mir8-a+|{MDGgaZ4;Lh_4?8hXE54wT%}2!hYQ6%tfc>-UWTATRJ06_|JqZf z9d!U$#wyF$vG#AvAveS}t4%i@5Yf-1arXn!Hj86q>joXNbm~l_>an7BIG*oLjg2~X za+BGOaq2;ie44T`kC}hiqQ+vN54H&&LU{=UB`CklCK!XBM1v9YKqZM!dCmWylFG${ zm>jj6%=Mp52VDhO0|f=8)H`s-Q7+Q2{0o>9(WLF^WL`kIGfmGk3&_Bv^SIFJwYoC& zJogY9el#=yxhwf?zEWpzC>^vA=@X-+j1eCyhTe)`hQ&PG?R!Q2H_HcEglzg2&SBftiVhCzOG8!rMwQZ5eRqseq%ew8=cdxM+Buzc_P(hpaqhvjHg zj!LcH#sw1Ev~p<#+>RG8GPr77q@-vdIMupgH5n!kdIFI-IYF)I_y5|gUIa|r5$Q8W z;Rk@6F5!bGjh*3w2NjSaf@d}ak3E18NkWTQ_xBc~Udw+ZNO+mQy*ySei=Sy?3WI`6 zX2GX41*s--A4`Q)=I&o2nIk43@a`C?>2V-@yg9;%!e#k+JXcOdxY=VJSX^AZgTI?D zPdZty$;AJ6r!TBGI#fQt9}X=Dgy~UaD0y%CMykFbBYZXC&KPa-UySsUn;?jzSgbQK z>aZBy#Jzvt8%Zf*wTCC$6oYE8+fZ2iL91Sth@lfjAm5$S)#hl3WM`EB?H0XQ+RTPd7RZEcbdDsZ{$& zCiBG+jxaTkz!hX?s|^gA_vpwr(P3+ZHrPII@)3WSqM44Ri|-7^aAw7+{u?E(zddS~ zvK#g4YKuz*`}LS%KZFnKrhR-bnxCPPJge!b;i)(K7w9dJsFJSZWxgKigB8OB34=!D zM>dOTsk}E36iKeNxR8l<#>~$RG-m|~v2~X)jax>pI50xUrZ55x0FUBlvAqD^m0Bmp zw<3S-=dBQ8*l0-skh897{j-cv6ua$iMsjgDMRueE$zi!wh=+0os&EW~DPhP`kd+@l zmMOG=N$oBId|1RTKk&GsjaB7;8EQeu&t^a408%dK>ES_Y?B!!88AQD_rlYAhFON4Pz}^JycLu*-H|SSd(SPv6wb zI?o63ULMcU_1JNMte=W8F?@+!RRpL+^inuE?h#w#vUptbL1-$|?XceFVN(@>U>SeY z6^21oh>cyJ%jyK&!)kVMiF=SonAbJjD<=aN$(a(Val8E zu_jQfD1*S>{7)>&SMcb;>w^i!*XR3`)ZqPn)PGHYnpoGwgd#lVm&9NWfzY7GeY2jK zVnyIIf?QyaGj(98QlK(yam@YcO7VZ{RT7##HH4D8{}2^*I}{9z>fUhDp7a=qRe0;y z{^)Znd=VBl-|X^N8M+wD;GAw-1j%Ev=gFpb#!#^Aa(9jrxc#UPk%pxs8HG>5J~4Mh zz!43$t9EgM!KBYeqZkRYLZh%jTOjo^^UGw!U37-aSs~^_eT3*{KwmmWq(pxVM14L{ z4^7d5P55|zygQW8*W=CauDcDLPG}z;0TW5`uA3jQ8b%!g#)e%}R04O8x-Tl*399B} za%5j|uoL=u-9>&PHuG3M8^}Qs5bgk{3M8+U#j|PtrH4QiLq6HsM+C_@&1!uUn5L~! z1anP|O6{aCV1d84k%GN8fXWOTp&_Ew+|(p=>oYSIeS|KR-VbK*ZqGCyWO+X*9s(6HKPP;MxGj;4NV9Kit7?@_lS02a|64Cx zU+K)8QK5h0*B0K__ozKdWYtTlI-r2D%eDzLQ^2H_A7wqui01xNo=bYO1D>pEV>L3J zM^d@xUl{?4v5PVVNp63`{86M;V|^@YC86_qY`gDJ;!{_-IhBTQRu7EdJ z6dr4^Uyil~?9ZML2Qmg)I^D%5wLLXE1~JlMZWb&~McNyL~0mD@o$A{2j$T7%P|Xaf7MFi`FMUm9_2LMB6E}YbJbfwrwT%i3^(5j)d_@W+e0pFWyLi0aFOmmZ zb`tdkS;-8U^a|NT@HF@lvCAA4iROh?fQ=}V!fMG0n;ffVPP1dM1yB}~;${ z-JJ~t3GVLh?(Xg^?z*_U-{n2;se9^I_wwIXF|#}K?SA_6bdMxdu{!Y_Rz|Be4WItL z(+~a6nj|p5Nq*!TRzPTaAbl+myE~iq@$$%vY%-1dI-_lAS*4_BkXp}+RKKB@FQuU- z|EU(g+4+CO+{;Lz60#PCL|2|yGZS&T#l;3(FuIyLg^b@9hhN|W-qx_gN4v?>KC$hJ2$Yk{-I)Kf4Z3QuW7LT>dd_SG!GK8(Cg zb=~nRa6O`%{0V>%8H$snBSagyBLKql;hUrV49p7Qe}(4t1oIZy!*2!|8KsRxfX0T zYk9e)6=%nmpM0brtRfIo*ny1_N_|30F`&Odn)^7!1-3i;;0#!@TgPSEzSwj+zY z55ZU+_a{+|KEbGxP#w=#=$KL8*`=_;~!}S>qf2njd_8$2knVi z0Ig^54OsR^MPVMpfgMciUA-`-VINXewx5463$`)3@94b;q~}O&_a{lZLCu<*az#-2 zZ6pgO!Rn9;0p7h^Hcm%;&*y(?DT^5XB7cU7p^!~240ksD!gU0e;T#IYqp2hV=pv06 zQMyqVs;!?*;2df&n=bsA#!;KlZZqdcqg=?(kvwL|1pzK3b}tf zXB}^{4L0jYq@x4pS#@tm6&<3eWUh(-YN9#h2CFQ+vU~vvLJS6-A(ODk8==_C?Cn)n zFCuK?-rVl|_&r`7qdRlM{zHAoyOc(ZRVUm7d>qrYcj(-U*gXh>xBl z-OwR|Og_VSop88w+BU1rB1{gJ(usc&$&u|wBUnc?yDQ10V5S)(ar)_Rn+pXUdbrIX zX@P=&a{wHmZZSMpN7j4IZUQLog`dPSoX4U5MSLBL}VRV`H~sS`M#HWlZ1sB}6~?J;dP`455F8bA{JovwFuq^o~2284{+ zb2#}YAz6MFiisRzg#a6=I0#StCuo60xH5hU(M}DR&Yf^Ud8*;mA2ps8LWx7%5P4Dw z`R}h)IbCVWGq5GU0}DPZ9y$2DkfQwl@oP8fW6Z>TyHPda$5JPzJ?&~kiS8o7`#B}_ zorv=z9DP--v_ZXsch6ZMV5NT}1U7!}y|;tKPeNgn2;zxMSs2|aVK2nm%Hygro)|zmslxeCg896G}SkFsu_lLm}Q3YQSm(ojb zl1|o|DVZgkjwQ1x*P1Grl_*Rt>C?Y}^%Va<{UJOEroOEDmvF>&GKqia$^EIEyemgj z1RA{kQ+DUFfj=?UOm@C|G!}anVGQ%wgb*nELb^~N^}xh$`u6%_DD6Yq>Yi=x4hE_N za7|V$gwp~MKc|x@>FPt``+R_Wybs$-!76Aa4mGYu^m%W)tslMv&4g@ggRX%#2_GL{ z_Z=e`OW%85J!@O>S=4{(9wUEIIPk*KXw%o}>VvoW zM#zVCUe^HweaO_H53ECWoP?AX8=1vp((y2vY^u7iPnt#UpDdW|V4`Sy1R(;|X$5(L{x;4Gtb@XyNQ7k= zM(q*a;$_vqIQAK}YYQ-BJD#rm2tq&pnLw=+@cyQC0{ZOMn!+$!-R-!q)M13Yy&5tB z%j01w4W_T%eb-VEr-Bw=%^Dv_g+8khp?gmlP)O%H;jw?iirKs>7Ylz&W-=zrlZaWO zYHgplnPl{O0tP7+>?X^Xit8nFdm|W4fatH*(Yx;X-&nHJvvi4GQ`T$$h@zu{9h= z>v+AdFbsdT_Jd!1imI`wIsm(bUMhicj=frF>}rH&0e;xlmTO)3ze$RgmF{34X6_C> z^Sck9CDn&YR<_|Fc)@?~ZP|n8FBX}k-x-Z^uwG5VE9BC-ql~9*SH2kFfB}$Dc9>%- zmf2aVXV9dWdm2F^ZJtSHwO)_+27F?RDmgpQR4;#N?izi6CRGG{xp?>GeqVL1R~_>9 zlBz*|x7@6`rBZ*tjTW@4?Xh60?up%lqwBHb~KFx}|NP;dBhU3GYpOwC_w(@~?6&r?hh<4_R zdnyB@rRDQX8IQlxCY06FbYQ{g=J8XYd{k{wfc6dO&XDN_#pR%vOTB;#>S-e(VU*7H zMd&b@Jt;a8{`G$k-HjpBW^UMp&-+s$`ANgo;Sb-Riv_FgBY6eRq0&*^h8GO zP(cTA8C)DJ6RmBCW_D+tN_r#-Z!o<+f(8Q-x50ID*hDJos|XC`R}>pW4Z2Cd!zK9` z%J`e{M5=66j#svz84tBeE93R87ZdsAUxBG!zDew7^fUE+=<+F%4HgLB89j1>i^G3P zJzn~0g+P*`C;h|#j~++*r^0eA0@WpX9iI}wq!=6wTz>9_ezeKT!u7rtE2qO7TiYAj zpCy+=Y3-Ib{OTfoOFGS7?GA5kIH2`IY66I?wooaAlNhpGq2Z%;i)%o&@ldHq9O|#Y zk_fZj#0ysAXR>4tXAGm!$aK+A95H{n4Bi4MlW_kj&K~^?b}6LbGn@?X(?@i2$=FEI zurz+KG0Y)-avoBm+%29#nMY=|-zRo|JjS`Xzxi&yd?=R8X@{T21@M7OpcCtOUJ0X7 zr4mbFx5@f(g*{Z=7lQe1n3ltOD3&w>BYkf$s>hVjL{$IEp>^SWq1g!!b2NW3)}Aax zBH~#m#>E~v7*)H$T0cyA4r2GNVkM^n%!A>sQr)0o(y_=HE1dkIWtPzb*&4D^h6=wp z`(d7P;thwJAuY)iI^G9vAL z7qxzCvo8bo0*YepyUrnDcjK^#AXc zHrxOyjcB-(8hP8t$51h%pLVMT?T76eT|{ghn7_XMf~7t9ch|>>=&#!k+v!&WQJ!Ad z&q3*}kK#Ddy|Yha)E$gQOEeuUD|q?TZm}ht6=(%NXN?fAihy*m?@51^mkLg*LG3vx zv2iFUt_>raP*y0d9?!<_WKO?&Se@_!9%jtq{bqOLDivj$1~7Mm9Rz3}PQy%W`o3FR z1{0tUuX6Tc;yb!LJ`1I`9Z0qvmiRVt$`Y_kH#8t0f|GDok38ZL?t#G&)Yy(zea*22 z8N+j_9Rm3{5>KDA#?ybIK;c$Mm)6!;;erc~}Z-oMxT* zZe_ao*+$oySuE_y^ZHw&h{e23?&|Vu99J1&G+AmywG<=V!9*eacyYhGPiiJh%0-hI zfMhhB=<^woK;o@bTaK}}Tp5-m(ZAn$9DmWjC>DC=IxzmaWU_xTg9Si>iPEA>8i155 z0W_XWcEa1wT9{>2$>tbKWR7|!vz&0u_>*2GntPB!wxYlu46i)M-ac z-jWeKH(kp{#6*9g(6L@=lvs8?%@+KM@bRX!>FQveemVDp$4q4xi8u75>Y4W+)A@9- zt$n?p=ESwrfe6QxkPFy7p$DL{<=Tf1tLkIdE)&zrGd|b9^`$xl)loHiKx14kJLa;V z&GImdEc<%8$Ndv$sAD>pH*CUhY~jegYAicf#_Wv0`OQ_K@xJz|A|vzoQ$ zi(k#B3w?ey7=~NqY#sqMh>0-n&BY|jNr~2o;9Do<};C6 z?j8Taa5Za3B}S%0@SUbS3H9$Y%z5)32chUr^MI$5Tsx<=@*~^T^VERQ2-h#{T4A8m zVX%1nk}t$tzm>pPH8Uy?wtBk-PDX0l2-bsjBl~|f;AHlX==Dny)^`cHn4^3Hz4n?W z^Zd5dUl*o=C$+W5%LuH-{EUZFWg*<{dij6HBvRO|F??-+#8 z7w8416YZa>#|T>PA}3UIhNFMPU@XX{eT!MDw-zuEL(1cFIaBC6tb;{HgjrHJO zaC(0VpKPZWzQSV2n%bsN3_0t_87Ei<4gpOH4dyebGJ~!YNx7XVGqIu3sjs~z zVRGKWAcymLpDR&+Z#y%2<;d5UY8ahQ@6t*t4`P4f zJ}i_DrBJ$vuQ+XP;6N78Fb({%2+|i3nyzv4kZN(+0K^Sr9;79rGvzp3&fpw!=~i+N ztCX4VMn3mLEaWayfh>hlk9V->V>7l^xC8@RcCy&}+SC&(NLaZ0`o(E|4!Xvhs9$@w zm1}i*FK=#UE1|YkzUhQ*XRBBWU#NeSygKlN{^t7Hd6aI@gsX5wcs0xOaJZo0KR13w zi2*O>=c;WBS&XV0GNw+T4C>fIz1$w0Vyyt%gk z&+&|GV;S5jz;eA(@XpXd0n%Gc{VeuGipXMXjp99btk7c^h_v4wC6PJl#6g1r z*=J_yH0eVPr_mPdk044Wvj%a`X2n7w^G~Gn6&&jG3ONu_%1g$U2(y?>*MSw1}T~j3=Gr?7*r|%0hvQKgnby;af)a7b4$30XY{ByZ8 zPS1YujL-fHRML})s8q%BfSYd@{@&9^fplGk_vzmJXj1MmsuozolKau*k}X#O8rt=h zW&$Tw;H}inU7eM_HVADkCpJ5TIf2J1c`^jvJSyW-rQFEZo;OSj3m~Rn9== z1S*BEzWlg;h*0ujhbp^l0=|%n_pg$PYYK&i7y8|V>a1=l%p!0>IJE}?MXjwnH?t-4 zj*rJbaMs9c?~q{~*fN)0P8Dr!D>>q9wbt-n_ck{L!g_xx0tLsCSuu=7LEubZV8Yc|QR2;6aKCc83Ba9Aui@fO>m8P%?!ROYRg?`UMtzRM zeW!?r!*oxlxk7M2z?;1|yJ}Ak^k|>rkEvLunAQvR7K49i8wsfO`EVIZx@MR9KKC@29Dk1ekEAiA{G*;+CtSb`=q%Hr}Br` z1;~F{tW@*aYPBjR*?T=YnbjtXETt`(7Cz;4vBnMkc%p|DNqWeW(r*op97E7Uh#9M3 z=bN+?aqV0fsx-V$<-x_{4c-IvrqdA?9|}8MXjFj-w^_2Ngb<&e93jNz4c=Sa(&@t` zNFiFN9L(x*f^Yd@xG0bt=6bx$Ztm`qAGv@0j{9HHC}r^#u_35C%t1Z);erd9U5Vg~ z%M(7(p7@Ixs)$((bH(}HtmiP!{?kW1e&UK)>f9n?-HJ&E0DyW1+GY+0C{uY60Yv!H z^Sro~>oa+*Q*}s0-ZDfB!jMhi2&o)W(77iw)uPG*`aR5*y3Fl3VHs=IU!^VZr zok9H84;^_+4h)kb9r9TjMYm-`7R7%^PS1Zj@2-ym@Raq3&5B?5ek9lKr8DK}Yc{qG zeE+RU-y!Hvk(zskrIWw9wU*?UmYU@2(($sS1T#@*#^rv!uXv8P#$m2pCV1zc6w{&l zDug*4ALqM3CV>Y0`)xa~XBpuDC>7XP2%YbS;S2i(=CQ_jDoImeEAD8p3Y~vSwKS2{ zW)7kG$U`H!(+r<|d-j1et|CSk&9~W+^89hZ2QGt4D&YB0nMt zo8QT#ZJ^EvDe;3N^G$VEV0@W79_rzxttglGD9pinCV$nma=t#BW}{)!N-ICFWh2?G zq|N2T-XWWl)AWqON~7ID>+pXJ3jVe4jPqrjpjEfD9UC_mB1 zUw11GU@z57sdEEp3vcn-z0y3p>{cFi?eWPvQ1 zLSDe?^9k{mJN%5>E}<#g*I_>L$$q>(1j>!0r?RWJTKb2IX@esfH9YWcYUY4t z*Hfd?waD=}BnCS^lKg5e+P!<^4-l&d8acNsE|qdrETdH8taJ!(%~jjY3SXHTDh!w1 zZ>?iKDG<(v4m6!qQGPWFjIIE=j+=$@D~tV}=ehfNmso#sI;3V&rp66ead>6YSp}Eq zQh09c6&Hp|&+pgRo5ReZlfMEGlVZ*eVXsM^lVA3TX0p_$E9*EoK-&cqtoqAVGFuxL1}1t2Y;AHPa)TtBV2(ct!=E3r?B)r>}^) z;}$jv$gqC`&kun%ra#;0lzGGy&3|#^vF256U8B2O^gd5?8+gZ({gO_e=}e(h3@O>R^kygM>v5oXT0 zd{x=gVfcz~W=tX0-W|*Ag+;xuU2j`n>sG#ysaAhZ_3SX8k?WQeJZr9$9edyxlr+Zb zyd&>s{^9m9>tVfFoATg`DtrFp#7_;w9uS0dbEXcx-y)9xByYb#cqHM81)&o_;j>x( zaDiMxIM!H-2-t+=>KoB0w)KzYp5uM_jWA$X%*dhrfkrLARw1yH`Qivrm?N1Ne0_J> z=eU2jM1DvwyZPK;MY-DUk>Kuprhkcy2NA$(a4390+~gf|Mg^Esyxuub(rhtz`y1gu zlHg?u1ikGfh7<6Sgdh{LM{CxaRov}4oFrchRoab7HoKp2V$%Hzzy;iqc6D7=c6~Bz zGK=Y#QsNR44W$@OxaD)ok;EJZ{w4W?(1L%Nb*EKtnKdf0&C%<|Q4uy*#h#ErX(Wf5 zz;3laD!#%!VyCDp;_G>CNbks5_?E4( zS({ZqSwj&*`*@yo>b=S@pU`x1Ob|C%Sc6#JYl2k(@0kus-5}fIUT~i2SCun$04!iL z1Ip`K6;JPm>?xh6eDD?0kZ%|#I8c9@gg4{U;cW$8{`Xk`)JnOw0?p1BtZ6@-BX!Y0 z2QMiz;-+4IT5F7>9!B8DEd6zlUWc1v98D*XIGqgnR@d?rchQE7_2d*U0DM;VK-%wvaZ(8B5bX2sqdES3Q%6#Ec zl!!LAF8>A7M~J)I`SEsLpc4A+d`^Y4+6Fs~*PTBc+1Qakz~GQF75-`UHqPwuZ42JY z?L1GYh5c~fw#OEWEAy}8u{{CFA%-59Z+fiTI&@2dU~ z>H-<~M|3!;sp<+-Ze zD*2f55Ra-0sr=rWNdJ$mEPg!TWF5R3;Mqfd|7bp<-|5iBvj;Kaasz)rJf&I>Dx|o4OHYLwR5D(QPHg9IlCJ8hQkD4U{ldB5U^+W(I{o%8+MoG!0#`5pCmT`z zn~h!%(eK#^`G`!!OIFdCVWsiunC8=%vz}exu#p75qTEAi&=}mcl#%S0=Xy5TgzGtUDm@wlATut1$4x_ft+U_hlmf|!81ONFOfpM7I%%<)u{%Y3^uA{L?a z@~P#83~%yy;8j<}=aVgj$}~)O*MxH+LHNs_w!2p_{I(7hwq zy1?nfC;fk+4@1!1bPW&fvS+*_Ig&^g;j6D-9kDykefMcTCc22T+KxWvXd-9Oxrw;# zb+UM3oJ0acnO^i75B~74R!4uZPiHuJI3nk~2Mx8QAX$@Ks-69fAlGgJ>?XXNMAFdUIP!q4EMvujd3V2@Fx=x7Qb36)@pv{3d71jG^C-zopKFuR2XI zX|DCip2vqj+)UehVfN~{V+i*#lSP_|oweqc4s9#ak#dl{H3e4mnf+l@EJ2;$cF|Ed z+A4p#K6ILsp%cG`k~<-HnVtOZFBJo#&mDU!LLW#P{<`f|v7U*xOCzy-I+y(Co9Z{n z$$#g8Q&)Sh%94p+l9`Ni)2#poyD0Nb9&(xw6PlNIE$9?dy1JQ;?IB7q4#uy96kdC$ zZORRLN}6|fI?5%Ybxa3QY~4v$>;l}#dTW1T9=Tx6K~?GsakV?qc}lDhX1Eyz{;gmi zr(x)a5r&0yU3HlFuk+0A{U5Pu{;$}q>a>?oPDW7G&@B4Tar^DmAoJz!bd$+ilF$)7 zuUl!&eXTJH&X?owP?k1fm5X+DmmlPwbs)^z3+dOhLAg*bRX+e6`R-dy@CTDY=G5|r?sT3xoIWA zIsHzHoVvgMpm|?P%^B3CoJo``HVk+Rq42Gsx|faT(BCazHwxFkRCv@+e4%&E79r>t z?et^|2sW|<|A$eTR>Fva*Y1M>0ntoT-9`|WQ{hvtUs44e+MEtSU(C7tR-u2h8-rh9 z>wzP9V}H6yM`W1-rga$u1DjwHxtrVtl;0wdeHh6*0QNE2wmIzrq>^%lXO3@$vZuM- z3a3guELb3lx~y3O1GlTZAi4XRSZ=?hv_8I_T&xk#!o$(4YIPO8zz!GkG?ukam#*4v z%@4Cop>eCL0^jR|gZ8o%WLE0dFobTvnoYin)dK|tSvMAq?Y5$l7- z<00tHo8MhMX5f<*%V4ExzIq9LpzC}*s29slrqO7nvRZ9tk#;wX z0PEq;b9^=mG5WMt_NDP}{~t@>z#!WBf@(Ws6FSecycdqeJ(Z1QK&so0E7VubA$HMQ zJy$leTiAa2TosOdxT1e~E*!!+VdO%jN20)s$ZpFx_@~& znic0y`ARv~0qm$ZzN^gPT@edRy!94x&2O^_+Ch zBe3-L3)bqd0}H1N=;-xXGa@38XDf6f%2RptSb3^N1V6N!9@tZJ18$F-m{e*+6Qv#m zTk5T&$L$<2sc`k}p*Jns=V2+F%#|x>{9ah7i8r92xSOTE+pOmM_KhU6Hsw5;`TGpY zPaf~x{hc-%ldykKWytw_b2$7wnJyRegA4I=Js|+$7&{-yQaZLmGbT7>Eb#gOI5mlC zuz%yw5$TD|sGYBfSv(E8d6Un0{X?Y|j$bR!F{NU9+)K?0*wkODbSK}XRg7jY*AQ_s zpOud$ePIJkP1ow@ebH+7L?V)!7QQ%;-&=_t6tan!Idy+_v#LexZsP$g-zlV>N9i8r|8`m8Nz?gGe*pe*W?FMl>F}pN-p4f0^Bc04 z+B^s7kdYZeyHEXMXTQ~tH$oTP)RLDDw8+~gi^*|Ycd>S*PH;B6JrS^9Mr{0z0o{$? ziflR4#=L)^JB{q(Hue%GGU&%`XmVKC(qwJ~N?c)vuo*N&KRw+<`P$E<(5HMyBx0L0 zM0c~_%jQ}BKB5FSXktqHX3+x=h4;wys01gRP4(?Vz7=v_uu{VOi3{Zz4VDb-78s%*L z4CS8@2K(2Md&0%J|8PLH!eU0qUWCz?%jV3Upbj0n6vlw2ua`UtfbD=4CU2re?`^tu zwsC(km*{sRo5dCiKouZ0H_6{zwgxtYFe)KTMRXr*0k8WPzh=`~1M_Df22TH`U29mv zB?8$SYTOI3Iu4JdGI+hRi{oemYPHHF$!j29?2RP-6Y+;*zva-~t*mEE=TAK-!W4;P z7Ha2ky5&h11;ZjzNG38}gDmz}Tke=K@bQ036R=o}r6r@dl?N-xx`oG;?KC$!%dJGM z_THYQbdsEQDl1dqIP}iFM&1-Atka4dhtM4F((S~iB(c5kmQU$PC!p6e& zHR2Gd|EYN~8*led=MG;@w4^C>o7UWc_oAWvHt|n};*+*YT{=I}1@0g~Wmb#OFYTeu z>S`Kn&8Xrly~4E7Er#yQP~6~J?#$4V=2GkH#|P7Om{-RIGLc-WvWULiD`rRWo3_&$ zO6!*AZsJam{u;Ep-j5#}`T4^E<&}RfFII=`%4W4)2y-|tuCMaqe5((>8}_4+?*S3a zlgAw%Rm|xsfZt}lJ&yfO?+MVgl^4sa%~`C_kR{#WxEN@-+D-B1B7-MI@|ykvZTNae zJEmQbaM5EebIn%a$@ehl7J+ZC@%&C#9{|o;A8%oT zA$b>|(86RxTyyDdo<0uRWFdd2hGm&xjQyGaZ_Al*uG+gt_)CumA7;uhDeaNGJa;#z zE>{h*WvyWEDJNx^rPB@rP(c0O@XZ04%F&2^G$?p<+e2J&>f-Y z?$f%`$q#H(r<4_C8l``)J%$BqIv!}kBXT@h^a&a80P?Eb9=p;o+gNKvGbh8i2Xn;3 z{HtUSP!ap*>?oBd&S+8m6=<~?#w^c_~s z5_k-}IkYdqB{}qP7JX_VxIkj`2_i&(43*T@yWsxgMk%$vC+mLzGP^?6^4yuS)|+Lc4CoTBd5Yenp&0oEQ4@;NbPyMQwn2~G~>FLVsVt(eOXyNY0$5q zuHXB2THGPL#Gijihj(OM(;}n~KC!Q7JMCpC)Cf}N62G3+$Q9NsSpK#p#9dowZ2Q{N zV{VkKcE&daMoxd=D)D2DnRBv7Z$yAqix7cSK|UG|`gBJ^x>8Cp zrDz9*fZg#pCAe}*c)YvG;0Sa|q?>yclXTG$h6DzU)Bt~k`!UnFp=feM^s|Eli7>pG z91RC-`Q2blDu?_~!6)y?V_E=7K(@cXm(2Hm5rV#ueq`m_dj4*NyVLXQ0G$~&V018x zx!p1;+Wi0;nTX`9RD+7O%~6~a|MK;RNqZ?UEp;mZVG{P^>e7K#{9>A`IzIB__4zI~-yLjUHAiP&zCuI#vQQ9iyMB^bAjv3Nn_T(^Ng# z*5L}6Ar$by?x%M1?ShLj@7#LxLhSl@Ol;ExIve*$q6AF&<~+9`NlUbK6Dc{~db60% zH|Bk64qh|NVS5oTrfcr6@yYbf(jvftf^X}FSuL+;xxVXvTv;#+E%u*Fa3{@QnRLp0 zR}GB^z3X)lGm!*gSxPuAxK*gEZ#4nhni)(QgW|s6U!v&Lr~rm0|G{j8@`vMrQT=LY zA85ukU^^b8>2}|q1NiiA?n}NRfX}E+F z)9CwBK^=&HjH%0>&u0FU#oQ#$X;sTB4U(UW_sf7(9nbrSW2l0Mf4+aBPBNjRq4t}3 zDK?H|QXuEQI+NjqK-bU~&io!CT>b8y#Pa(d6d<_snP_C78#VILEVG^z|g)}1W) zx4&e6VUmkS^21GI(`(BT+VPM{Uj|-cGC6%w7;dvy8StY2%IFV|N%pKE#F8(Yd-UB# z@r7c2NZ$;YpLOz9Uhw6c&Q52~XuOE^AiSC#>@(N2oCLcAzec=8I>7n~L}-bGR__$@U|k+MD2x zSqQIEcl(!^x`kJwtJ%jGy#UkgMVr$klf?CvHgM3)e=hh2p+Eo*-(#ISroeOUKYPi4 zZ55lE?=v;9+^nr3x{7(RuSKpmi}iWL(dT07SeY%yGjjuuGx!!Deb2oWKiNp$sSw&J z3`%5}yi32#MKzth6jH78oZV@ET5kyntw(l0&Gi{Gz%W}_lp%eo_g^pC49VN2 z4b`*KIs3H!S?c7$DWHAZ$F+bU!mEsvQp7YCYX za_LI0BYv)95K8v9$#HQ;%ueFBInf6pf}}MxJnT&MZpIJcD#u5v@^DuQ>k1@4x#(Vp zVY_(t{X1E57BCd3!d+o{(T)FqdS)C__@bSSmM~kJ)E^YqZ#c5^FXXLPd$U3DHpzXA zI8{7~=Nkms?@ceZcD(mw(>P@NNx1cn2P01nMzES{=O^- zl4C*Q&io{p2*>HXhlz-hlIsfTM4u3__V;-m7J5hSmsjM$;oE3g8tAdKTnLtyo5@+_ zl4{j{lx>WSsTJ2}+=}?#UMo{{pg5=kay+qrmdDX1c@}6r8k93hBcEyA<*So!^@fT9Z`TWm z{PVB|+Zi9*V3i`uP~CAK6?0SwA!=JWO>;V)?llqO!dBhXV1juS6(<-K zIS|8MAOw%_ArTdSV6tD;n4QE)d1&)b9o(P!hvcv_L-#YgPg$;NG-8F^x6F?kpDp z@1sz%Rb==hc8umQ#7vlrsGHsr_X{aUl%MS{8CwwiiKjn*Lr|Ds`cXOjM{maJGBX&fsFn9VpcHKi_r1K{{F#U_uG2($9^n zl-a}c;a~KBE~W4%gUspYSWO$ZP3OZ)D0f8jt2O?{@YN(6$2hd-bHJ*YFX3b2gE zOqs=G-ffnp-J^V~TcZpux#NhUEH2gHx|oJX%p=({YV3NJLX+lxj;&J=Rlg@f!ZNqx z{PXY_b-eo?M(`RmHU9w9PHQN?vJe>Ap5}Sz_d?%)?T89qd-$@G98DQwVZ4ARAV7tx zCiV_&N2YI&#|EwjULRt#s2Bu=h>{-{P<)vjuZ#dgxKvB(LjS5>+m(tPdaz=p=*M5> zKklTLX42Op^(wlNBs6JWR64AZPqlAZCjdc9Cgt&TVa_}s)e;hw zp>%al6V}iHFW<&||KrLM$bp6$WWHD=g}J&hJo{E8qiuKxE+C#!OaUaZvIV&;+wqB} zJg2&8?Kv7|hNotH59D83X$T{6%eFA`bKtr7=cVvNR;w*ny$o++l`<8%A<4pTKlxrVVvlo(9|Z_(_kKDrtcXlG=iDjw2E6kFHLZ;+78y5yaQ8UeS&E zGC@Ma2PEWjt`?M*9Z6beaqhNt&L^$J&c%T?9WwsFz5>;5R0ehnJA?=9s*pC-(u}!C z^@p9$RcuC~yGHGY>D%U(rMo4Hb2BV|auN+Y#h5zuW+7Kh5DM=D#agYq+C-s$D&o^a zvlx}eW}D&5+vQ&uI^g>6_;YRAcFpN{EH~HJ1wMf88aBwgrJ_w1{ca^^U@O*g(4#4C z{o&ux@OsvCS;84E>+uH&!<;_C1uin>AUKTAarDmySJXd)+!z-4ur0e*m2t{{K)&G> zg=6;BYN9^zD+=v+gueOhPFHZWkR7m6>`YCcXjyGjwe1hh%>4V!aRN~v%G3GzT4iyi z?ofOWZr(DN%wsFRl~a(}Z4bS(wN)jH48t0hqOD&~Pf&o@7%b=XQI0*6E|wgXp%?TvL-n&?M0c10F32h7fv%tk+JJ#*ymRc|gm zC?pE^NEIY^YjKU;{3x1~REVjw*mJJ32t$_w;<_neRe2!7VId<}h6*-DjI9jvgP43H z;?L8APW$K2)7|EHbx3=E@HcqDOpo|J(TLd|Rr6{WOpE}o^fatS!6NsG{g9<+PX$DI z)1(9x?@d0uO)+9Row>g5UlID^4@zh5!?1K~`04PN9x(p6Sg>vxex(0#8~#unVRKor z&L@x6=VG#=K2<2ug`t>kupHzmivs;kq6BduWn0szpFbT6Q@9B=q0q_`ezA90BZm9@Bb6K+ox zcCFX3vF0qf@$e74u>{lib;hQPAG@vlK6_mtz#3)9qeH&M`02vPnx4Xjz4dKv zE{e2z)}bV4qI5QYsDp&AdP9=4_yJjyuSB%rYPdP2TLP^j3j?fV3#xuLzsCqJQN!np zV8fZ&f4a&Rc+;bym2txmk0z6{KJvi`XsK19esE`y#o>3j;i@{qQ}9b`o9JH5Z;1*F zd~LOxyFXoN6C)p1$zEN4&4b$=<}A_3IXPYh{0@k~6~ktK(9T}@;h-p^C-zowYej9h zHL1ib3NPv_KB_UQtwwHAk;ajhixM8VB{Z{C2mG1Q5+_%n%vdp3p5~)ZiZ$Y{A9p}l zQ9;=T;py?-M`99 zHAdE8dU!~FE%{?G*t3C*=Ep?k?^7KU>X`H9%CJ8H<)T+s^MH#3UQbuNwFc`z6*cM{ z+gKj{L=n~f(-0TPu6C?k%E^K9udf>jIZo$n<%EU#n74a&^KhMq20DRG-m*z2&__tfB@45vlgm_B9YV{GLWhfZ1! z2%+OX+^0~mo`3)4DT?SX%02yt7Vb#G|EK|zMJ(*=mj3mi$6RW=agedQzvG*vzOCj5 zH(hgolQYCkDwRZt=0`H|S8AggxRj?l|CiUrz?a+}$?M&j7d2Kb4xe68p}8G9vp2-- zZ{5%Wb{FQ>Us7#GZ&a;X_fM2?iXJ_8XIeQbz1f(f484NVR+IKa+1et# zn)r%Mo~s$BKX)sQC*{v71bKal7}A8x{L}HzXM~A-ZZjN zsy@`$PF~nPARjVMq64~;bB6u<;3YarlM$+)+F)h3 zkM}$p=f01$hfiYl#1*W1K8$H#Z4@nk{LR-GL5_B8q*K-2;SV-xo=J6%j*VeP9HgBL ziRGcq6>Ow$#zOZ;E1u0sRAVdt!z`J?gt(=U)yVM@FC*O4X{3s{B>Q0A-?~75%a!t$ zX=RjCy@n=(16G(rROyY42}NIa9(HD3Zy132qt1{rYpF5CCJbd0#*&aN@-UsVW&Zcu zc=kA5EYr6ze)H!2YS!;j6bhDR7VE%Hx~S$~N_s_U$KANY`Hv@q_hE0=Sq~xclUbx< z)KVa6R{cTZVui9`%gbl~5Z2v)J3iC-HLqA^5jYy1de$&PUcasWFewLYx@;>hXNfR( zKZAjAnU3pyQ6fI?TnVKDDZTrT^?hs6Z%$ZB)Mo7-Jo@ok?uO zGQY9}OaE2rs7+6&RGaI9=~(**PZ{@%pZQojamk;y*Cd&0bbOGe(1PULmgDCuwrkf+ z-;O#@`mgC_pmaCMw)mfabz3FmR(6D<#KrITJiHvGyPr}`sO}cO-)T16Jm5JSUlD&k z{*$om-n<-<9{3M^OvCN+4ARBJ=^>4N7chocS2n64t4>z=uN_ALCE+kQNyFkQ*hM6W6e8B{xrrkxQYu>)mt2;MpoA^_Eb|_Zn z8EU8Iy5Cu+=1DDo`r*1*kyD2S(TQ-=15Ud1$fUQ4Wxk#0mJ*8fcA+BS%XgPMiEd_2 z+jiX{KT?I;c@uLeRL13>bue-(vKD+Z7+BQwr`y}!7P>i_&!IJuTTqb`#`eD0g3237 z4r#YoN({!LmZp9CCG&oN&VWmWl#lbNZ(nZAitNdoSj9Sj40Kvf|FqvX(ju@wW_4W< z$7QqrnkSnU?EPGhQ?`E1sNG?w6mRj+mz)aC|HH&v$2I+a;lmPw zh={Z_O1CtElt{M-NGsjlFs7n(h;(;%$JmB+ch`{a(Swb#M?b&s?|GiT-+S+M-#h1A z=el;?_t7hVWGNGT^a7*y?|v5fhWtn1;Whm^*e}!!9IWyBf{H+(O~`)9>tNdT89=ur zdF55A5by;!=t^~is6n6@naQEEKqWgn{`$$vL5v`aH1I_09t$gRRI-9Rm_ghtm219K z%@lYbtINJ5X4@sqfJO4RmWnC34cc!e=;}D3GYQW3GMD}P8s@F zY?yVq>`J!DKM6c3=IHp>JvC;L>~Y2@GjS>5Yj^*?vZuwdi1fPU)t+q#{6zwsZ7YQ|aI7ww-i z8A)z`(by2AG-3Y7t}tVp&&i7`zR726he0w9XK0J^V9&EVTCuR$i|IyWOheGTe+S`T zHJ$WRMP4-K>P23XhnqEd-xg?2WhN;-+T=6UBVgaaE9th0`j#-J)DObPqq8`YsI|9D zR*`O7RhdMfjpBm_HU`>9JEA1N`l49Bqp$yeSZM(B->x}J`l>0lRvF*RTC1hx@4!Th zvE)P5J_ki^4RSgrkG!{p+Qq*mjSYF*2@c+bzR#^$Z?L?;8%h$wPvSKFMI-F2X)4iN zFv%P`#r@(7tnpSxg1zzX#RUHE+Y{B#?RXbWa$t$AED#f~Nqc6xa3%lr86(|RERAG; zJWW(9G=)F;%-eB35gXHF5%R$2{!hpJ#~h-E$e})2dt2 zgd#?wIHcV{|K_UEV|Sd`hZS+p_5^u|4Q%B^#$CQTN$Vl}}O#g**WwP&G~##4Vm!Va0)LO_A}hQXFDN(wO9|z zb-?8vY|1~sZ1hGc)qJN9_`#LP%l+fFbv#jk`S;P-)nS*)w@8<@c8#xJzg}()>LPDb zq+f6fSoGvN&Ij3lf=b(<=-$iXI?R`9nsHto2XgI4kg|RF_PLsXw5OzqaCb_;-RSe5 zU)xhA6TQ>@U0a*s15pn&v3n_hlmgRM2(kX==UIYM_oG+Xf0#QD&2FA6^wEvX4-AOR z?+cAH&j0z5EcF@U5Mi@b9ku&*YbU2{?QbHI3nuqV>g8hIrKb6FWsWbE170`Uunj9w zYL0DoP2WlW=@j*e-kYi%wf~bznW!jUc}6+rXqq%eKqmL<1#Z_qw!9F3SM`#s!5$Uv z3BHeW(Jf)hv&JjX)m;+u>2vj#AU^GpQ~?g#uP^H}W-C4vA9PhqkF1t*<~>`Y{Z%K< zs&!62n3&rUd~+JV2AvnfB4rwRz}5 zvAG>w8rnPHvy-Na*t1}NHVBB&0%UB{6gd_8v)0Abno|$3U?p-})RLhlIZkCKZgE}B z24H#EFiyL@$Lo(#T;GyLXAHXC;k7O z@S<;{EIr)$e@}SnVSIRrF8+6KuPRha1FSVQKd z`}+ki9fh#D$B!vOTFmIOf zn1j8BryGBHX76@?rJksI^CXq~Kq`p)Cj%6zEQX)-6Y_|sJW+@wb9fEnnWFfVmIuSs z$Y)YdH)`6N`sPP13?}nMlVMHi$79N$cFwEK-F!3EW>-X<#2R-fVg~J#mA1DV&jx;R zCUo#~tKa0BGo}8a7WH^yJ@RwSDF=0R!g|4t8NKm*N<=4r@wROiv@>v`(f{;lGAe}l zYf{Dh1o%(_Us_rHMJ86rI#0@=_p`m1nSoTpKV`-1M@jRt+F#%v95j(?dd?s|O17At zl{D?2!Rnk;vzHhN!Eu@j*l zw7N+v8x<>mlYc?{86m>p&5@PPWlMM{JM?_+-hvr80c_d7Sxq5Va>_R#y}%ncx(Rnz zg3xq-+5Bf=hRIqPA;`1;1g^K8I$s4AIH`VUH3-iBK^QMD`0+g3V*EmVbssHerainZ z-I(kD^!ClxZW;~!VOPApX|3&jr_x%uv+v&esI0wzCHO<}_Zg@WURmKr>;=2v*;W0i za{aE)teN^o9$l}?s}OVOcJDUkX%p?f{_)_41k>{aEHD65;z02c zSPQ=gnZe=mr2NHJi<|mW-R`-cb^f1EjH$eHfH&z#bRf67P=)bsvoWN?HUw*F%^?o_ z*~qJZA)L>8daCa_@2Svy;~?{oTSgf`ali%NuknPIDOz;r0W|@CxJ;DBgNZK7U||*Y z&^!A#_7><$i^(`m)47|eo#An72~plq7qC19m~5IQ{;80h^L@LjEhHQJXWGb}m^Tb3 zoeS3hMxn`x>zB44iwSgig?R}kTZ^|99#gb`gx0B-vfpz04He2WwY$Ba2Ek;F>VqDF zDP!&7Yasp~yZ#>Ag~DCr#Cv_C##47hjWfjbuT@>Yt!cZ}p1k{BO*xD)Z?>RtUT93? zGwFD@8hAw+rQr2#kx|6ozo<}^Vu(;zhTCrTpvmhtlDO%3BCSs=Tk%zbW%c+$z%xF7 z(|U0t>eGx#C|{PubDI)HqQlAVuwY@I4f3zOQpmtjiS%<6qXqK|ob3UZTP4TT$bwJb zU5=wAa17>Dt$T)~G8gY%xAodyOH}2F{Wez()0-DIL@{;3VBnwPdKCBRp>#%>W)_fx z>PU@kXL( z0OYZ+WPp>sin!)U_u|N*fB(qh>c-q`!oK3UEkjY zCF^g1uXh@Jg^dQxmXehf$Pg=JLuqlmNc*;>09Tz7BEd5gw_RJ{4Qvc=`o+{*`Y$+y zD%o&}fVwvgRr5p8m(4-tKqMgeYVp|wl2hfl^yb{r4b(- zE{Ut-Rf95Z-&EHG=EW_V@(=j}rRVDkIHjo!Wfol(2a_0Q+T+Z_!y zdH-&lR(?GCx%i$gUaQ3?o$o8vb#R8ud*Zy`W+EWX3TpQ6>HKYfJR(U@s&8XW7OS00 z?mCruuhjHqTs_*#Y(G}8I#E!=`FC&RR5;Thyu5rZDMI3TIQo$rzQTG+R)nn=Zc9d?U=6ggd znXmaI`B{h4du`u;@|Utf;%K%;@>7chQ#+Kgs$aVOZv(aE&7glnDZk81(a*#1f$@xi ztwML9byj9}*L?gm(-!|mhP2xJ#n?ZRwMWf65)_m$ufU#`N?!8CY}@~g*A_Hvaxk#w zQRFvgwc=!ofJa5L91z(7bE&Xx!KYO_#20$~1|8#gk1HO31%k*~v|jjP6_ML0bdyBw zKaRqfI)jP#Qz@{r2_) zc#>u8$S9#2#M_nNkpCzA?nZCSxtiD0{w6Cju7i?A+D%d++yu< z-VCXGj_$@iZ1Xj6GX!{^Ezv7erh(NezF4fvke%F58i zWEb|5y#`eorW{SM40#YZ zemyF9JU2_|wX+~cBW=Yb)#{%VN_3#rjYpiDA-yY~&SRMW9Pl`R#3CD?V4QKS_%|9A zx^=66zfgogfS5;bR-k|6vz88Vub-tCRBpJ5sqLr>ju#2_?@wgYdtv%04yMY$mHj3; z@-+1V4C!uq)6?Kk0i8?UR4$zA-xKkrJs0zN4@!e{rH%aHiR7x zE)KHaP?Nk|oj0XoYxL@J%RJcU7Ja}F?mhK?v&&f0mOelkr)S5KrcU3Ij69>#d)JKV zjZ<`dorrFPP%_MfZcg@wjT(yL`^~U2K<`_)WAxBgvORz_ZT0{*PwtVuXC-X5tWpKwhWzn0dY{MK22 z2GU;)Lsz<7qeObfg)U%zB)9+3hBO>tI2;1Pg4?;pM5}&CgeoR^|IWT8yV0~A6V{#5 zrpBTJe5*EQVh#^iq13wxP)oh|ep_JL)nQe0HQ(zyqv5~wQJ}=>DQci~ErT|$tg%#( zDu1bg@hml=+;JHO@msjGyOr4$Qd}#;muEwu1V3R1y3;v7O#_vnxYssMRkF1WMw{K5acK^7y)|%&cyIutY;2 zT%v|m(fFXDD4ZRaD32dL+!NaSi!83xY3F;u71MnS&~-@T7b!KFGVT1{I~RVfuUfea z(SBNGWPN#A8-GsK9|@59r^0UK4An)o1;@4LI&TX~7Ji2@vAle=Kr0a*6CP|g%Z9sm zBcvF5Hc{CU_U3znVJ{oBEr2P1Xe^BxG{}Rog}+%Z;A)o+V*076@?|0ruAv?I=-Zdl zN0E_4b=+LnCl&b?N)K6H>_-(*f?IF z?3|onPK{kMBz<>YC$xcVZN}X7ZNkLb{PRRXw7;}!BN`3uK{n3}HCZcv9Bt0d(G8^0 z8AJ%rW`+{Vj-@gw6bS}^a;F)oh?55A{qUghRLJn7D6qt;8Jg5TXw@Yi41C#-_=zf6 zn|Qw}_ysi_#qONjwn7{Q^8gRT9T;F1N@VmJ`LSG5-fZ1R61Sa^nzeah_22zu1f7$_ zQ>bsK!IDzz;GTLr+LMld9s#1zY0FAC;XnLxK=J3F=Gn;=mw1A1v6;D7-kEJKh%9lj z0s@Xg9z06TkS)CoT(iT13-wpIWO>}y18G65?%bX>OT{&IntwN39zG}xS9(9Sl4M}Hzt>O0xTGEV*zwj<_ z^=wJQ(clK8csnJR^KTvW>TAYQ=NIHhAPemjf`kCzZH%8sdU)%~x#E^<_pGa_J*^-K zUpiDw87Sj!{}?^goO_G#*52*#53ZX{^^9knuMXNntQ!V2`4LP7i9Q{idS&Rt|Mj?0 zRh?lnGkC@A!{|nTN@sn=byj`4^NGu6RySGJZ2AklI5WFnqkZM8nI%=>9xTfF%w?Qv z#i}n*t)5gNU|glPWE{y@Tb%D^JyH|K2BLYabmaC=@oNEb=mVLt`%?zEL0t7`Oy{cq zPdS=MVJ7M}d+pgNyG#FtlPDm2e9-8N&0Aaw@sA;`ug>3pCD!$@2qj8!`o1cxGULt8 ze;H-qhby0@jo**U11Q-%^iVKMu5VXK4l?a&knQ=AjB7#C*5NHuZp`{^?e_4&@wTCP zhWPWA@RCgul#qviV~Z>i6Xcbc;r0v6S)gK70GEV&a0xJ~oGyGg82UcKfXkn23V*0P zB%__JlxdxRR9ro{GN>0Pf1_e7?fDYoEF}6BrF;!#%%GsW;n$LsSHbMPO3SX2NG~M1 z4scM8#X!J;Iqv{_VG&;sd`Skq)EtVQr~r-2OFVm|fW3$4n3q_yjipY$LXf+z+16tR zj>M@rTotJ6*S17XxsO)W;4Yz_puZ^q*BWzF<0irzD8C_RsuwPUYN&)HrBOjr3`M6vKSn(w0Mp@ z^;Nik9Fz&I`ejUgnUwL6YOKrZ!=?k@#1qja=uiQnMPk6g6p~B#OlmI7_FLrTXDUKc z^0_{~s_NHB{t)=QI$ql1!y){Jo3y!icl3IZwOsY>EX?$z;RDJfIrCz5K*uz|87t~` zUjHGv+mD{{tdYv9ZancbL`}2-qlQ#x~&Jc*7Z*4SreIT--Z@f;d5sCyYSLN30$>?cFubidJ-j*@&hP6o_vs5eUc zg$&M)3e%GE8RaYnXXUsA(n5~Y0x5U^d6aZ;J4uC5u0d3>k&QrqIBEK%!a zQLCb*r%zwOqF^Dbenp`{e9jC?A%4AotKaDN8K^I}QC~>{ns}LGuFh2@U_3MbHc1%*2rfx@Y$+M7EZ&#S5I(P5+{Tp4h;&)uwjtuh-J@&`*<z90VJ_t%D8k&@5N<~6(Gj&vy;4p<`{K?V;ch-t7MNP z{R@0PT1f7mT+fUUS+@IZ3Iv~czv(tRV3G^m{!tMTz4hjH*d>-&JEqTcO*tz$p7iW1 zd(1m4E+zG3et%*!Cjq>u3OZ`0=k}W?Z&{mfwP+G?lUDlTe~R3Otx`sRG@ei7)~v#h z^<$0}qjCK+N*3Wz|4Y-EivAy5Kb;Mey_Kf;Xo6SW z%mO9W00?qvl`WcmxVPhfA)XQl%ME!A#qMpwf`Jk`WfT32@EZ4hORM66Y3NePaV31l z!q>~TU|)!CUE!S#Mtwc);_3*uH)-9?)kDTb%gX-LI)otQ8Bt`0tA zE6(}@kx4t*g%b;Eb9jUw&p&i}oRS*07MUbxey?oWwi1sYnP+^*4ZPOkLVY1iAxi#c zSMA)Rr{OHR5d`Inx!-0)(;xICeyrvfTIs!E#=_#Wg;}|O^6>anF^@kVJK?mV?gDl2 z93#g>_K34*C9-jNqE71NNC~J&Vx9?5N-Yq zW~1m^Au)PZcZ10Sg5tS0XmP@f-2ChFq z*PZes&vp$H2O7>iJ$MA@wiH31qW}EgSpWj-!|dgM4xh$G5VoME%PcRmVDUrABL3vGiH&P@Gm~=?MrWuS zBkOoGMH=;1DLh(|v2^&F!M2}N`+({iAF)3qFPy7D2j$S36!Z}gJ_vf}OK^nl`-b+S z!aq!Zy4Tk?6f{P7OPhb>hlM_MPuXDOi2z9KeKW7Fp#0yOU#}2BJoP1U2$uls?#AMu(!CBLa#qBNMhsc>bN* z{r4>cP>g1_iY-EtL93_q8V77t3hRREZnZ3Wc1R$fHt+K6Qi$c}1O^)6onlu(5rw?= z_LG#tq+=~#=l)MGZo>rue3|;mE4xm<_ii7848-yP`)xy;(Kb-;VuRhSa1-=g5?1$r z)tej441eHW*z(c@$^FSG9|A3?a`E`uW<4TY+W8oy?@H{OY-LAG4xHG)(KLB&Cs?YN z=|SZVe-f1uE9#^kkVLrqyV?{TUJaKMqXaA5 zZGev+Gb4$>oy-ELP|nOF7>Pac`MhWEl~U)a2`!EeAep8YFQb?xdi5cqq?m?AO3m|%cWemh&=Pe#Qi z9U*2l79WqUwO>!z2Sfhy2O?Vgk?y!j!tpl>1}4(Vv%K8gQFx}WO-8+-hu6!0dmu)e ziI(Z$+$&l!osy@=`=N)`MaxR7@4s~?YDpJ71l}t&*r;>2`y3A#+nsh|c_HWvW?!pZ zz-l0Q1xj%`afG1BW!H}KC#MQxH+HsIw3`{iF7F6;#`prd%%hSg*mLgZc|-1(ylL$Y zcFncTvaP*Ubl4Wo!oL*3y#P^vtsErGAY8@x&ZhL0=?2kN$xU+8n|p~9<_LTNvYAh1 zBiU3yRI=IhuO&Sg=ZVWnHYB9)u2FaO*(g?%d0R)FDS~5zL0wvLu!7F^T___9W#{n4 zb(s@u>WwZPhv_?gZk1ef>c&R)&?`V@+X3cCswc#AqT=BkQ!sQ86hsPt9hTXd^{?niXU&R@C-+)Ud3k0~_s%0p@*?2L!w12OpjhiKNUHRtp%h`_lo5buZQ4Jw}W zj_v^QM7?Sz_ul{G1O|kEGubf}6VvEJZsuj;T^tJH&!B`L1O-9k{n~r(@p~m>w>X2` zriW2xMg4BPznx$)8!FT0t1FQ%Xwi5)^~J(ZPu2$)wLEfoHdJf4;zKYiw^gV~Z{7va z=zTt{%L1A`An>WFv*T$!pS#iJ{>*kPxuQ^OO6&5@_nR*Xab{M3&9~!Dr^(bv!3}Lh zM^u<3U*+g<%23&)?I=*&njs?FQ!DUVAysYiZc}=Utu>qH5O`S5c8QChO0k*JT0C(+ zEi+Ap+Q6AiVtnTw^Fq4aCawtHgl{Z_CnH+MJ=qaXHlIcugJ#kO2?m z%J|-68?`xzfF}LJ^y|!#%O@Qv)pUZXX25M$((W4ovGiLs%JhBLGpH*p*a-UjJgg?k ze-#-s)9lUdE&h2U>~f|7lUGsQn(4ye4;K81XtjFa3_In2|2N4VRAg6i|12uD()W84 z`_%4+*$l`aF5md^Ru-g+QOdyc;F+lj;79J8927A$~G zr^zfeyjhKZgvM^M*95lbiUGpX;`Z$DER`N>s2CzWMF2U?I?mm{;nuJf2B} zgSn2rXWl#`U0{f##?-sWz_9Oit@WE0m8hIfw%Pnhyw;{SD~m(0RFVMiT|;FY>^#*6 zXfu`3aYzLqBB2^7^?$gZlw^)_UZldF$nlL{=F%~-j&y%;_;iQrXIk&zL|qU&X?P0113tOH+O zkEt;H_;Iww`K8dJH_~fWq}lvGQk~2o|XKdU68|leO)eHa37t2k=MRC?&J6l%4uGI z=!B2yDN12>pYv5U%kCj^zkH&!+XQ)kAyh{12q?*%zrOOXl=M>t4@k6sr1(?=C&PGF zEXFIfSDB}o!T z(r>>h1nwuDIVhsiy$@&od)1HI5U}hmaAI1Tic&0HQ5a*(7O!vUkGh;5mZ)JefTlbi zQDHj4HDJo1PAJ11Skr)BgpTEZ)x}9E>{C-;PKGf~NcqP4B)?&)zHL}FLXNHXbMbQl z%okHki}vG8ud*x#Qr1h0_O*UZH!MQ81t>Cl^nP*y`4ygejfSP0;h36p$UM6F^M~2Ud-K^Y6&Kmd&))j}zeF*bX(tI1I8QYuq<#?MfYC9-@8<`+jv?TLtA8J+Vlh}ljAe``Sh`^5azCAJ;m??uW_FmHH`T!T*H z9OQ6K_o(E24r1K(-USbI?CTgeVT&nzk8}N7W`AjCrcN{ZaiyfMv4pkNuI@at?sB73 z(FK)71_f{K92XIPaTnnM!mH%o$> zN(_+W-KNC3r-B9bH|%Mh^Pty0K(kp-x_bs0b*9;3>^Gr*+%rzdnVD`cjC|a}tafiC z#hzC(t9Cuh!e1Go^2IcsErzDd8J9}e30ksioyW;4o-Hn&bM0>Dxi(vx_Cz<)( z>Y>Z>(aF5&ljTq<3VKk(1rh!gh2?$5X8&YDob=Hc?~8;!sLlV(B8-*w!?_a zc<>)_x^o17zuchOvhUa?h5BDHRYb8eZ#odXTfP4=E96$cfG4<*(DN5(5^7{^#nx<) zWNCCB;a@{0)InTC*&Lv;yWWMl1@K2Kw?1O%*zf0Nby=4kYUazJBl*}U6ap~;q>9oH zy>x%gE|6x;mAusURI=ug|1C-}NnA6r-hkfWtLoFr{I?hoI+H0jE~UyL^u8 zZWa-|N!qS5HnSBiXmoS8p|HQV$RM@s3lZ{-7b#&7vvs85A0p0b|zmVZcpuf1VHy^qZEt#KL33ic0J-_2T)jjcG$ zsa7va**)HTAgX7NZC*p8_thn*Ib^PZ-%embjk5Lqi5K`JjgqE3Ty^#+~QnPp%iV^BCobG#Gguf>lq4(Xx9wL z^)CDNg%qDSJ~q>*7oX;W$1@OVca*8%+vngOoIF95-JZ0&m)?JY`Fodtt0WT6 zxg;N#Ev<$aReoQQwfZDU-Y>`gG6*VS31xz6ZHu+Fa<@Va=mYZ20kdo__ckEGmG=B^ z*USkp6P0n8Z-dDC)+Sd!}Z*z<0tU3LG=8{j*Mm7SRu3UAY#p^kROf(H-d z8n8Pc4q3qfu^-?%b>j@hmLQOSY1R4o_ADmA{mR(a|6HZKj{)1o3RQbe5?CdHnieAR4-EuWB?*757suCs$&Wvc=S|?M7Q{VNX zQ9910faB*$A6^p5^f#!r)P9!79=YCLye11Zv{~?V)Q$-L2ux&o6*KaG4jqBBJ@jZQ zDukvi5G7pp_CoyCG1VJTT|?ITm$9Mul=IOOWx_Pep}LgboTEa^P1fLs!;CDDPXaDv zc5AYZc#5bcx|pp>qSi6?oXhWc{VUGij}$W+09!z$ zzlrS-zJi_6$nFTZl?vMjXR3J>Gwztdu+`k6}ke;T`LUuA&F zhYpA}wdS94n!-rkd5?q%H@(%!nTtl*%tTPX&QoX7Ho~?+(_ZWVk~4s@(q`_;FCr@K zL{iEcQ||(DNF)Sa5}WH81y{Veyx^no0!&tuxyazbg<5p{vnHaCZCwMNR=svp)tCcq z<}a1U>bw!qV#^7S2Yyl;e=a0bN>V}z^pBVZBF~DUDe#80qsh-_I9VTlst(HJy%#r_ zTT2-6t**SE8#-vK7GBpd?gW|N_l+)|iWOxSyUrDsQ6rn3JF{Tz8(*!Rasq}@T?3&N zo1Jh}mA8ZS#Q5mwb{ffC0dw`28)N_t$V=R_S^MGF+3eX?qr#uId)4e^MZA_szZjQsT&n*u0yY)_lkM=|XpAqXr8C*5efgc1^4I8FRd4 z^;B3cRf4|mwZL7`5>DiGTdK>>dgo}msC#;~X4cXNw>~tZj;4^%paQUYS=Y8+Lu6Rt z!@4t!6R^(C{eJ%#dR_5*l$tiSc33c9E!_~Qm{7X-Szv7If8$22xcYkEL!kq`XdPhe zzVg-P%MV1c4X7-BgA$!lRf;nIm<>c`!NKtkwHlRZV{8o*Upnb6faa0KcQc&4Y!2o} zi4<5u*MV!0aSQ*K6L5r&wsOtAlc!-G@0DlF9%7`_fM@`7=30ZMeto&EQ8hpoBE4oy zBL{OGT?iKRf8?nkrR_C_5EDF%*k`Ga0+tXvmHE)$hh58CDS`u*VeAduR_@?Sc2J7R z2+ntl-L_(RBA-PQr*ZcM4t2NR;r9^X*++fNUwmcasgFTZ(oG9~VOrTm)ns!C;I53_v&?7vkbp~kHI0aY zkvmO#e_ol>#y2!#4u!|b3l8@PHIsF+Uj`M)yho;jTPyQ0v@8I1Sv>G)_*1ga3dokY zwke)|I#$0@Twdp zRABZn@}CoZ^6Eb)`uGjX`3J(VEF-C3EWHjbybb3QeC>L@vpG{^n7NcQR&k`jA{xpq ze~0>vQhjzG9G^tH@#FL7DFO;(hd`s`^qceBfn?#ZRzK8roS{N^$1z1xnTK z-#m!tvy>xtFz?=lzYGPN4;e%%FhVCY zS00@B6hVhWY;VX!vXufgCj*ZR%->-PD^s^aTVnaL8_jMH5_Agi^fav6rVZY;$w#o zi4`d|ezG%1FWXC#KDjGxY8Z}|8UO%&*JWy2h#IXbM@7%dzx=?r^1dAmFbw9x3cq~$ zb!+1_-?znH4sbd+n}hLDBJ2Mme>n83q-9+6zX)1WT&6N6?42+)MX|m2?;?Z?Y1#Rw z%tarUytjH7u=Ok8lAG3}y#o~5e#$d0v(U->9u@=Jx088iGxL{of=5orKQE7tNG?s? zp(G}Tl-jkkxc*$;Z{VzPF2|)xugRD5`UR+C>l&Ipa2FYn4zY`e< z8tV{7E<-eVcsroXv>G%Me@ssw+>Y{Am74OVUBQ={zBUNnZZ07coeq|oD(2(Pchzlc z2oHCkBv*Y@AzWC1cp0j+NGp;TSx4s@1e+$!!R@NUG)~>Ur z@SC?GCs}zK`{m8Eds5enYu`{{!;DyJeMNKY##nE6xt0?%TUSN!kb{7~YeZm&ONY_h zJA73)W9mz@+U|4tIm2GZQ`s9Vv*J>!2%+gn{D&iaiutGkx0R7}Q zU_i4DI-B|mDG3}`e;#}@EVrmNbvoWMAw@@SV0Ficnqg|<_VLSUdug@eE!50dw%YA9 zfeHTL*!~09t#+#G++{|XRbi?`J`o)L7vo(~D4IG76%!SQ6V}7}nBA!z_eNC5JigNL z?35jF$F7&rSRC~h@ilg z8%g5-3(c@RdHf+MD#eYAHJ+D!-UK79$8PRv_n(0(FRNBw?J-JbDa`}w^osuKwJ?51 z!=rDCiI^>ZP*RRv6~y8JIVNx;N7;%CfAUv62A{vW;@gRr6%O>tv+&QuBQGI1LY{U99rIIH_#xBsPY``Duiu~=}UESreRr|j2hRQLJM5-uS>0r_Kfu2gK zl7_KwA$xXkc6~#`{^dRo4Qe65>v+I;Z+m_%w-?B-+aFRxqe*ygw8dp?f)MzcHy@q* z8dMciC>>lld;~t0wBE@)t~^es`@oeI1GPzM19|S1fB#|b;47xSN*{vYx!&7IIxBNB z1kDHaIly^sDN+{i&SO)soJkg|cZwoUI<&I3591vFMwQXJS4fsg`+rfTEN%bkK|2di z)2XR)?45X?Z9N~dnrqg{hnASDYYlNUk{YT~G4{*3t+CFiLtE`qOprDBazCCPikd%vl_V@j@Ys6KB;)IS*T;=FxiVxF$bMJ(!k3cz;UqdRSjyEwh#PCF* zoHun6au``x0c$6n(GMn6J9X6PA&OHz9;ybv$8~_g2Oy5t6I7PhV1$gUF2-AGSSw`r z&{-IzOV{P%1~K$ZwPm#7kniEXK##1}s7f2YW~Y0*+^q@D2XT~n7xGL{AVQ-_Y2 zWj5{GO|oZ6qFz*0OsY$_cp(T#a~v7@np)F-#+zuYeQeFqzhLUBwp_eC9WlLo`=})E zxZE*CqYdq)A+ZX8qeDlvpKj&0Li8te<7D0rQ}JuZEdtjc0Iqutyn1U%5?h%gJl;G~ ze|-b|o#S|4nLk~7U`}woK>b4j@Pp{Jt zNKcpKsJidK54Pi6LY6$-%zh%mYCHR zdTDN6s|CI=+f4gOz34v!zXNmOklouBnrVELA}7FAm+y>5XScwGraP}{nG~-B|9&BR zaE{b?=*MH`hAIU`AC+9%Tjp7}?s8_WOr*RTVTJ@L4^Q%_Y`!_3ym_FZ7#Q8O(wDsVoXKkemT93M2o>!W5~ z{)gk$jq3+3)s-9Zvj_Ym8v5D#ER+WZ71O0^;ExUi4cFEiOM7rqd+L6wn7}r@S1e_(!? zd>dcN*$ZNs~pCYpO$Cpb~xqkQLSRgEIk`1Wni+0Uvlt@TO%&4ZL1Cm71 zch*FH-ir+FTirzEv840cf7`!_k_Z`I|52~mkU05#4VKx5lOz2U%8jtZT-+>4yCc(j zmBHz4*&MWw5=H*?@2;KUrL=GF$*KEcUTGvt$8=#_w%6T1l;DN@bP9ya1Q;1 z_QU$5_yA*ne>Y}Pe=p&BDQE9HcF;!r;_ZfNzMKhegfW4}hClA!va#_+(;EgXiHiIp z$N7=gr0ppHhopmf#N zN_BNITdvOB->-;z5CzM83qT=Quc&qCYx- zek~7=$cb7j&~N*@a)N`7e#pq!CD*>S_723%d*%s7RK!vl4|jwIGEtFs7*+pO){yL# zC3JTbr9SR?e{Fhv6;`~8P=MMhf)6N|xN~*;D1gMtj($1&1WCsb>SZmMjb7P*CRMO? zGu2GJd&`&W&GymM|L}Vw*xn0abP!m5GcmvHV?uTYd~AM+C@NEU)%-9K||Is&pY{1smzn;WItJ*2f)L zf~&j$`{x+yo!`lETm{<9RYKHWITL$|uH|9v8cmV)fI&w-sI zKRFXNUnOp82O!h{qYkj7`q!kkQ19*RbEobmgt6c1Z{0>2=CIB41x!|@)VLYrXUFMU zf2p~XtNA&4RJCacgxswQpN!L9>19l2b2fy2aiK=&iuRo6w*6?y<~rGuOZk`0gfH$1 zr%xR7YiNi`+K>m(K^I&uVLb zRWLmPJQpljgpU3B(xRmkpoj;!{Dbc`f1Xt!*DH@*U%qwvN4VS+)Ewp;kkVl@nx2@P ztax=eTlCgULiFI9MM1moYml$6!8N__&5R)u5Gb)vgp57O_I1TCf41WfOUnRiUI9ob zhRP^(trrn0t9|?nTDr+a6JuGDfPBxr+4ES>nb;ujwfTT6y|#G%N4Pjxmw~?*f8lcf z91-BvYde|Wi@~|`>obn_$cK$T)}0BzTETcVmS;~$&uh%fBD^wrhA(yBXg*482lgE|ZJmMC|?1|TQHSmZoj^x}#-uf3gzc}TLdvQp$+ zZmylIg6vPfsFm^e`vx|QYlaPbBnn3b+RP9f1ixPM1}Td zlfzwO(NzYp8SJ)ivTo00p}UMyNDwTRk!0D9JZ{vKIbc9qj3^cc!7KAzyf~{5@PA zuL@eqNJ-vH2SYQki*nba?}?vI+@tuTmJw8%V4+Jxt6Be ze`Xr;paOt;#@;68yp(uv3XS(TMC4{;T9P2^1BWG^gqbT})v})rSR|8fi{$D&z+K833tB5L)BqEeVD|_M>870UlFV`{^J0}wXS_3GF*}TW}7qF0Sf0B*;WL3y`xj~_?RAE7Zx}l+A z>>c%r9vNx>cZ`Ab4<0-i+d+VKAcli`J(a>4k73mK29=->rCZWTYS;G2mJ?j0c57Bj ziX09O&gMwI0|`jn*fPosh)hiOjRlFWZghXSUa_JWDd&lLQ)19} zPpSCgf3DF6EQKSy-$np0wLUu`L1M~msLrwvlRv@Ug&ZTu@A1=60hVZ=sFVD>VV-&4 zEmkEx!=K&VIV(NMBXthb>skI+YC(7ezOs@C*>aY_tJPZb#)^4ZMUOY&Bx9BZW-oR9 zX4($1Hd!!Y;$~&y-&zNrEhO*JmOR6*&lK`ee=pT8FVX=UKOx%^9E@_91bN^>_3I^+ z0N)L!@g<>%5-6p~BkX(sNzPZBZvS~^_rbqrc55%WtXmCgTk&>IOFg%@Z-&^UN1}CX zkIZcTc;X9K3wwI-mGk=G%ecT`u*h}rJ;Ny;INC&U<*T5UjJ(ZJme#&}DTSori@oLz zf4Z=dBi40+4v8L}D~VT*&!yPozZeU7n&RKN^9b$VZh@3k3!|ZakH!eK*a8AD)6==^ zp5j4VNy_z_<^rAvy^2_2yvhc*WUOji82ef@k41v&9Tz1RrB`!{vor{rgb60AJkt34 zdwMjw&SI>8bSiOPBGNY2viv`=QQ)Cte~P00yN!|#r|kvbOVecsnz- z2IQx^lR>ssWCg0pA^uDS6+(!?8k>@|+SVkE987e2L(4z#}3J7+cT#NC{(2mf$yKtrdzWeZeByN48onLbMr zp{EbqZP{YxccBW(^gd*RcuuGezxPcttK46IL`hlk!Sb3vbS`!Oj+9K-;HZj7KFWMT zMf=pGZW|s|8nhrkI=lHVkn59ae<%2r&t9bovUao(z+yX=!6#N=4|v&@7uDT<5DyWv9U3v^HRpOcpV`KEO8tD=C=GCEu#o54J(_O#&+^eD`m!>6&pR4wNAM*AiY}mRAqVl0gkvM`356ve+P-^`1n(G z@hH;gGNwFC=RVJj25T9kKxbw*j)7_8KmH_c(RYXf=AK8a9dFHy$#o6}lIt|mxJ&krpZdyN;45ykBN_w?* zO>Q)@Ry^whUsp>N@fVJIf6h1jn*r13)aEpKH8uB8F0=oTa8BfM9|MnsHNbYfte8m5 zfqZstTkoV|<7jBl&Zf4!rA(iHCv`{L-)J{}Ync1{_wS>gr@OPGEg+w<3gGdk6xT$< zKbVXv)yVBnRj%R|q@AdTxyMN_S#@e+7pl=51x%dBjQ_ zc+|qwt3{W9iVGx7S9?=#p5&>Y_iIWCU#WRhKL=!7SzRp=tyCslq`FnC0itb>+HjEp zYDD+-pJMiB3Mn{D)nuy(p9dpO_e`Ej(H(OnGaJe0N=N083wWwZN=gL7-^nL2trf2~RZN+(>&Ep^`jt2m0;(+7CvvT=x-wU?UMO z3Iy`kS`WQXVlh!>GN{A-3Au5k%#d}esTPpH`=9sn?x|VdS`gih=CeK64h$d)l%W76 z93CBQ{JIddngA)Y!uQDMxCqI zHZ<@8ug=#t!e}$UYG|bYgIutmptG)Hg%_wQw?5Xbv3~3@*PPNBjj~271VYTbGcr3v z05JUi?gL*Wf88?vt;0jP@CsGT1@@aNJVo@7kdW8HYx8~=4)^i#@q6Vb=sh~Zi8e9- zb7~&({NlID1Pv2C1`QVxSjdqu5sKM@*klY33(J1|O8RV{-Xi|^tJ#kt{aRc2`C3-8 z(w%+HTf2mI2aHWgSD|y}?8f?-*KHN|#*{4wGL>c_e;yACN{GfRP+#0Th;-;q1u82m zrPeAjZts|>ANuEPCqMG+U_UBKW*e0HQq*+%ew#q?0#ZRQR_OU^nqN+M*R6(thD{=c z#sQC_3iCxzZOfJjEdpJf)c7HRwu4{9L}49Tza@$*Ds&h4Z-*!X6hvXj8PJsuU`M_X zO5GeUe^*%QiaDL+=uJ52VQDR!+4Vi01z0jX?MDBH0SZQmR(WAT-TD!>RO?~(BNj?d zeHL4sTW)_OkGUWrl28)`nWEmGFpn8x1UHLkKY7i~&#zxD?FAo_*{8bBWP8$mdx8ye)GvTM({vNutebYse=RF}gHqS5UNy>u+x#(VYoou@Fyj)A zMI4kOYHa+X)@I~GfnthyvXQ4AtIn9&>{BNFyn7r3goN~hf-`3PhPOB95uFceBu!5E zMRB@6wsleXD>CWVVC$K;nC`*A6dv0XvBH=8KiG%SUp)8+DKg*b9Rwsl8NN#th_X`K zf5|FpCgWz^zG3{5Zg1U`yu8<&W2M9n^DP-AI^f;kv$7BWp)8gglZoKWG-p63z~$!Q z(P^A!)B4t3#ELI+$x8I($>8#@_?{w6uQ#{DYycywj3%n!EioBWScQ@MkQ8z8vkflW zQEUhzu|RxdW1|~6c(~Ft)*Uju9O&~8f2QZFfF=wF^$<6v1+<|em~#1p<#?504HY3N z)>UHju$Y*_wM?JrOs~bT#rS5cp8id$hyPI8r92AWS{FNiTq-T>|NfzwFHZzK9@C+x zr43C&;rw?yJ4e z_yN1=;T)`}s41WX>;CN{{Y@5Sv_Wd6MH-I-J+{V+Q_kO}3wv&pkn_8LGzM-^>o>Ym zudJ;R=RY{kXl@onpqS-43YZEjPiUo*|el^?Ca?2Rd@|VAidgX?3HSf6sVdtcjqf zq@=hXF8?CHkBp4WLn+1xp^Bi|qJB~4C(3UW{+DbxWCpRO-xn*e{{eec>o83RSq!ec zAow`;Q#EpTzmJKCqc5RoLE3J^(nF-pHb>yJV^fsh#ZEmzZ%$5*tnNQ~iS8s6lv(sp zsGPnG>`UW`$Mhk>dGH_?eT`iToN!?~3@ zp+skJBRVF3!P!vE*Prb?J-I_dLp3t^J*<~HqehE0Xeor*c&i-eTcB^Xz{Wxy%sf2F zk4SiU-6QmG#cl2z+&1v1gA$_KjhAJA{D^HkU03eA;*Ol&A z`xQeoGqa(}CwfgZsPGzaN}Z8=v65Q8J~CxIA~MaLapg5#=kQwk@}NDhjOuM9cNQ-I48I8sVFQ6~azxYo;pgrFzSBqVVc&?H46xcO~1_ zb5%@{z*;-l@U&C2^wDZxp)%f5u|@5DcU~kXSLq8WvlXTfe|_R?%hj-B-H)8kV+lni!s>!`k4bj8}2 z7%(Lf#H@{c0BvyYSKWd4K44Kp;if~xMzXp8hL$dOWQ3;2@R>EyDDSVz9WJJ*y0OBs zej5WMv~B|qf18llfDI*Gf_GUBo%A$Uu?%A6<8HUn9n^2 z7FnSi!7BMXq=WC8DIrbr%Vy9KHcM;>=M^;wyy_eLw@j9*p<%koeRL?|p_|_37@$_X z|5k_+MMZa}gE>L`dHMNj;0TCXD{y6fvZa>3ib|Y@e^+#6Y$Lr{9O(1QO#drO)+&>s zB+6J$8ANn=B)}Ee&)jC`fm{WnKkwca41dOH`%acOrKGG}fTCS$*Zd)zyHya@)eF@D zcGbhh0DgCqH9Fhr0=)c!0>rk>VCleM($9%3Ak%?!`t5F50Q1ok*uw--5o(Tx3wZOV zIkNEtf5-LoN9$uapAY9}^6!Nt3dneDj-r^-L$#f$T0ABJxGkM>J;zb4@hmeo!EF)` z7DN#RoGO}6Sy?JjmTl=E+sqsvmctk}6T|pzUe^z)u#Y+G&TCiaLULq9B`H-@QLFhK zgWY3x#cw;pKWJhAxiE8eQqIJ|#zfdWLAO=%fBdEr_C%DwveJCH^>se-{5=bwP}&E@ zSw#c&YQtgp>++snUNLz~W+65oo|`x6NY93(Q@^gG5k1Xx^V-VEc;-G0m@YmNu(Mv) znON8Y4w^xQuCk&Jx+a#yHRL3wEF3N41pMPB4BV}#OC zQGHJO@7NugY_M@NMN z@@yq*(;hEKrNaC0XZuLVs{~Np7s(ToGWq<5_4}M=x*U)^JuOmyDf94{3R#oue>82X z@_Jf*SY-B7E~*WfiT^P-}Z3`z! z5ObH6iF9C4#wPr{x(26nwqgcfC6DHIA;xtkxy^o@`$XXL`?lw%pM)te+4Q(Df3RIO#l<93 zrTSXDe&NPQHq@+G^fqFfq z0q}ikwAnGN^FYTZg9|SIBocTGF{8w|EmiU96)K2+R4mA~gFRL<+PhEstJm|SL4ug4 zSU&-fRiKqY3ish;&crckf3*!Z!thbETmvBLKTTc}IjEE_$;VQIj@G{7BYo4*8qC(B zE*9mxv|T4*etv--ZH97AEaf}Ue7*`T`t*kseEO*d<-38#Vei$z+VY)uZe?T*VkpMS zLwQ#|ZYiaZt}5riI6--Jl@YV@afi1~gv*?Jj>ig}j$q&%efKI?e~z5+u6)$za6#2i zDpnIKD((#(3oOh53}0i7E$61g^N2;RfwAy%TgbH{5?XPR`@Kg4xN4*G%g{K~Sgz6Y zJ~tGiDM)ZTtH-;urmdIO&dbRYC_kjO?LT+MK3@9vpr;i$PakIrrXqU?bSkQ2D#k1a z9SvaA6^>P&sb={&e_@r{l@E|D*1r&zm?hOzhh0qq;!?F^^1{tJg7Bx5;{2AfN1CS= z(o+wZrpGQ+hSqm$YhHIc>Jbmc&UJAH{1H+oH}~?r+l=D=AERJu5+Ix#VW?lwJ9_*2 z`d!D%l742F?~}S$i+esoeVrDF2b(%MT^HlkY0S)!cN*jqf9%mEUl}u#*LLy&U`O$b zVK2LedD4>C@4w8oe9mCeWe85p zjj6B`i|Lz^e=2)s`Vg`TDpMp-o$Y(q`SA?a=FAeo3ayDSYQOl=MLr_6ABuWTOn3FLpJOX^ z6kyr>pZ8a6W)?a}iz_Y$-0SW2`Tx8psP7FoSl3ede^CuG*=Vm;r{uZ~M2jBN0ivl# z8OY0yqre0TJzX`~3~HUxBeIl}sL`wPzo5H$1pI2Vhf#+Mb_rnI@v3NI-%qC2pr5a+ zc~fG77U&1p!}|(}p_4|t>x@MAfwOLcX^t0;O~W=9^;avV-P1NaUF!Rqk;A2h z15&_SLzWv4Ym3q1-bWz$*-+c!xFx=3wT&L}_SlR+DY4KHud(@;GJ39IwJ6wg0qDg5 z{_^RAUtP%C??2YFBevA@f3l`FEK>>zf4UJPJym>STsh>yFNB_iiQVQ`0&eC;B>NU- z8i((8WMq9-o(BtwUspYD5;MdUnr*#v?4Yd`JL$NT#ttVgMIkt-i#wfsVd|Mj$Q zDJ^U-(x0{7m2B4yn z<6*zv8iRK%q2CoxGTCar1eLwt^y?ht!>?qVB%aJ2lgnZCVEtQ)z=k(>obhN8fkzRc zLj1LIcB?n5=)18N4fyw&cbNyu@P!T!x`>gOWy&TQ6%AfAWemq)Emh zE--{qWLB}T!LYx(Y(QdK=bp>6?XO2e!|U~6lgVJe)_RQD>FT;GchMaI^C#iJ@?MU^ zu7d@&(%>R0A)3OqBBV1#!zTtHw&(3BH_@AnCuMI{e+g%W-qRyopOj)>i8aj4{_4HZ zTClPc^UQ$siC}mPpA6o>f561vPcav%cb-s^gT3aWi3uTO9rtLnH0QiY*v;E=(g3j3 zfYJCT<+Z1S@5!$j%r85XN{TM1vA4QlT(tCC3)%;x=8M48mMd(dp}JHE^R-;SOqc@x zFpYJ^HnVvarVC>tCqygdfAg_u%?d9z^F%Dx zThuD_zQ6_BbgQHW zINMcyn04-e&orAM2lFgbUJB(Lx7r$SLG^9RO!oG?89zGffBKeb@S@`rEF9!~#*Q`V z#bELzVv%``D|4s?F~s~tyXE=uZ@mL5P^y-i-|>Tv)M7%mscCup;3Z2U3I`BV%q(Jg z)xZk)esL?sg&% z3$)#z;aiH`f2welpRjcebTEpS=}KQ>zHZq5M%W0)#eyUb^ygYxFUX`NWL;WwpICj3 zL3*Eh(A|HHfb|m^3jt0mw{tEm>fqV&R>k@K;6}qIJR(%HWSZI*aUho;9A*b%C0!hd zjKuS7;p5ldvA&fIiF21nqC=H_g*LUasXZ-+L2Bu2fA^)JFaGruckL3(#AhcbN(PeY zJDax&@{!>m4g^Z-gaN%h{g1jYLEE{4kwJ6XOQQ8w8*c_uiCY)heT*e>_i88a4xDZc zug@b3c_$nq?|(KRbr*5sm&TX`_+fBQwYHdw98d)iaOB&yf6!n#abT|SdneuEOT(;` zZBq9#;1Blcq>cB8#Px%gacMs$rSv}AJ3Gy42D!fF5@2f3j86%S$cJO& zNt54ZU*+?s+p_iQ2h>WXuFcq6iR9Wi_772hM5&JV_9?$)REGdzbj}0`oiIfH_FfB1 z(}?%GamVAZ5?$lFozOC==S1lOg_kSy0nT_m^?8DHO_jBQ$`NZfj32H)%oSY-Gy?3`sLxOPCmNQsZAI6O zf6ihAp;Z02M(Cx`?b%gx^Xys-H&z^7bS=h?!Emf;^)b4EE}J*IPOimnv+_@VNrRw2 zYwz2qfO~cwCEG!Ak|D0oHOH&hYJi~H`wcz@r>Qktx(~x#OfDM*;>0~CTGzZDT2!eZ zpW3(AgEFhx1-eJF);g~JLjgR4Dd~pbe-{s+z>tCcw5Z|I-*+WG+-8GfDs3DQ_Jd2< zv-i0pV_u(65KbSBna=`L-mZfV*}) z0C8LH1C#&GR`EojFwsAEih~ef7+l7 znE_QrFOsq1w=U2nn?4=E;f@i5?E;a$Z%Qz7!Tbt2JzJMHW28&ry zq|v92`Bu!WM6{Mb=0Qd^)=jR#Y3lCV(wM4oXt)UKl!ZtPbbRN4DMvg87s_dxhw5i* za7XT<`Lkosk^y0)(|Won!GwVWd%OoTZbnVGeGM!yzH`sLFH z0(~x2CS_wzOJyXcwRGfAWI>KF`FY;#_O$;nSKs?CZ8CKJ4Zk92R+I0e`YvV#chco z%ojI_Ai)g2H!h8?D?eR6>V?+d-44lea#DEP43iX?OHY*oAU{ctnKKMy{YX>O$gC6r z>Qj}=_K(K#&laTr%(t-{Sx<7RFP%JVJP(oD=m=nZK0zRC1=m58-)nKJO4) z)6RLIN9o}It1G}nRP>4pujLWEU2k#SwABBcpq8-NJBbcKRQGiUFwt5$3d*A(Jc_>= z$ua<(mli1#P*2cqeN{d0Wc8}ic=yr|3she)(ZFDH57Zn6QPRD6e|wvXE#X3;P$l=c$N52&| z)dr*!H^_MK5E@B^gGG+D*6yeJH%q8NIg4JBFK`!M`#8(!NNKxDK_}U$r5LSmLLcy@nD5vHJlq2I3+FB1X#g) z$}9m=hnWp|#EekwSs-hZ3UIK|Y1tqosX3LMnnU`rJkn}zV;!KxNga5A3M71(i3>t(~2 zEa`Xx@Fp1KrD<-4F|s`uenNaZ?=(g47-tINkoLTye_eg>KtsuuB1Ie4=x z{lWr9O~uXubxgztu7NRZSC0yw^x*ocKs&bwe&)yX-F1&N8gFLhX~f2iq5XteQ=53j zRH7a=5nfj~=8`W9`=;#R)Y~T_Lole#Vz$y#Oj&|(YneMO#7C+QmKK1|!#3dP;Hyt< zbxuZOf5DE8UkW^b{nm~M`ZQ3DI93mwmg0)8T?j*k3o4mmHUBW1fg%Svo(tVDh-R%p zki2~jexY~RvxFZU8!H@xLU1+;2znUyRRa=Tkvp_xdB7|3eB|65Zcw+);O z1M-6*@GtC#bkh*a8c*FC2jf?%S$c=QYUua?f7`Et+P=A4)JuxOwN*#f6#MmkBL-9m*1U$9njzij6jD&*;o z;=DcNp+yU7$&|+4?s;?do7{E~ek_w9a`D2xAzAO7>Sj$0X?sefo1#qIvz@FU|2nPmf(SNWooiSIX48iLx%*vZ=6+%PmLTOT~-|)n0 zFYM=+Z=Di_a=3Ns_>&cL{@t(Y#WDp4aBU>Sz#rd#avKF z&U})5J4erf+?%;s>Oo-+-(q|yMf zQLD7mx^I=W+?W7VNB{VAkT(;D$(5hSxkE8BhY%o6@pKg*PnwBB;v`?^miURyN5zo9*(Y|42D+hl4 zyh0Qq;QT!Og##)b8anhSdSkyY^@sc#p4Xt9C4#5?g`B?gOb)KmHcBOlW4>A3KC>y- z=4NLT_Qv`98_XG(J}L_$7{}Xpf61cR1P$8pKEUw;AFK472lFN}f|VH+d+DOcR4uLQ zwT}4~5_Yaw%KD7WP6i3&HIsm3a#f|FrI_7e|6qapDV&^hwJ>8-lM{=Ah?xFlX08TI zsBp+8|JrNw2WWHn^^2M_FR7B$6d^}vb1h@XJqQe}L{V$x13J zMBg_=@jFsUp!F&ds|!2 zGP`4mtowy_=tHdFGCFTme_V#f1Eo6Z&jmdbt3$Ey*e45Hde_12r)LV8oAaU_XcHY` zUelwI*|N;JG(u!LFL9{0Y%M*RxX%hAx3Xtf548W4?|Sf!D+b^ZKAdQrk3<3iK2u%N z$n9qFrXU4n3g@dFwSO%Ucbg#s(XXn%Zf1ppvL3NgUX`$m)|Zl-e`~eebLrsND`(yh zT=kznX?`B@67r1f5JWA4^43D$E25Ye(!@j2O>Ty0kDs}J61#7p2iSk|i&Cmfz3jg1 z^0#QMZ6Bc+!xb*kSq#pI>jiJ; z9e>8y2A~U#bfaaUF%!_UQ@`SFszl4Zr9K|4a12X414TNqNZX1?bclgeeUJ8Tj$>Wv%j$7*nFcSFiQ3< ze#5K(#9q}f*puB%rwb9V!sjPW6!(E1p^t}epGL?;Gu&Ob!94Th+gk#YN-qS?c|=5> z)6=@zOigh@R;G7s?}3;H$^bgtg_c7`BCpksKZnD=f9+e2)&QSG{c9Z`%DH@VfsqC6 z0|o)Mg&r5L&)%XW*@UkSos;WJ-GNZQudhRd7w#nd$FfTkf0tci|Jl@Sbx=VFUl?f8 z6kWmjkvbHW-Zh$73_otQd6}!D6X{HTs}0-V1SL$dXu{k*ijD@sY3eE?Ja)sfmg_zY zCS~##e;7`8339EqAeR!e{QOs1-%KySkS-tO{^mvwp~E|XjxIY z0@lHqYdkX1Hv>KVMYZ($}Tmg&xv`2Ze$^!+qY~xGHN)yh$f{X)#A?~Vi_9u5) zf9^Oyi8wa7QkI^4T=#e-_R;)%Pg8!H*fxy~>qRdyUxtAwe&38-DEq*02C=^7MdP!q$i8It1*7NXlu3{Eq#jhGRtawe=8q-tAMmiz*%RNwxATPfk5-Lyfk%?iFnlg zbevtmD#5s?4BdA%SF5(%OPmO8bMJ%uy~6q098P$zl_=Y zmo-XLhY%VCGbUY-hA##HaF3-l)K>Ze`K$x-xSlVC@9rr3H=$Wy6kqx?Nvpw_di8vS zjej!oJV!AXzUlEp^xkbc@KOft9+Fc1e9%sMFnzY;-neOzz8&{Wgo-EI(}NZgyDlkhW{!JyjJV#J zb+9(jdfs(lVr#pk7@7c~anPaj9#Y@0WY-mVx1NyA0#9V|WeeV@;~61-PZyr+#($t_ z#_G)b_yaZ-M&e6rk45K-+%5f+fN=*S^3o?{?A0aZMh5!?o~&lb$jEq%=r@{bEL6bCa`fE( zY3SN&6fOAYFOdAe@!+lVa9!%5;Kt#8U7V<+3S0#WXwx;?{)zcZpG|PN6HV zCwpGT0rxzcJl0Dc&wYi*ybPtLt!tc?S;oqow~8;csgKzz7c%zzM>1(K!a7{e6UUbi zkWphU78)FG{9X)sCf5xGTH|T6YwxeugKMKNdat*3x{M6J^jcYoPk;FzmLOCp61}U1 zbwcBpQf-kJii?oX1Fqp)ZMf)$iKuuJe3ghU1A3`AfcZ0;r9qm=y_2(={ zFcefu)?6EQqKu=ENN`KtxWvFa@m8O$S=V`jR$LVtWJ)HqLPEqyEpeI%Byg$j#gJ+; zqRCY4u8?L%m2 zt;-Jy{dqcQ)!g1$zO6i$A*^i0(({_NU{8A09e##027|46(6w`cn~(5W+zr>rXafI@ zr~^dr-?3tm&deEkVny=^8`J%8^qCUaxHS6IZ#=N&3r)cqdw)|(Y0{I=HE%?!6k$7L zqmoF{9)$fI?U7R9$E~>RUz_jWc5sy{yK(%R!rQ7IE#M(79$VU&nu<2f&*ks#I=QQ8 zMCsejl0HzOQ{7Sv+3IxVS*<6fX`Gm3o%G;|R|dosD+s=wme)!4GP1w296141T8&^W zxxVD2_K(sb{(oN058^A6p_u%VY%-mFak(ra{_Y)s?qHCQb;z5#>Fv$$eTg>h`LSR)6guE}75p^Yf2RO_lWbD|G`-=+=^^ucOmaGsreUJA4jgO?6yP33& zy@eZ#g@2=)g~MBW3nxztS5F%Y0JF2B)&H70SXo)QIXNkBjy&94e~zr|fB(Mu!ph3V zNy)~^#>vjZ!NbMIP07l}!_CHqM#=iWruu*Wc(}QnxuTk4ZF?gC$6N11-DYX|59R#n z3@hdTefWK=1Pit ziJ}DJIKgv1DZ+agKX5r%+diSCw4EOHQgGC#`|PIp{JvV9p&HvdzNru`;P=m1nm-MD z1b@79bD)I(IWM|?_s`|Q2Y)VR6aP7gv)pLe9D|2;X*1 zCH*VaPsYfCzfH4J1pc05@r34&mssD&<)sZf+OwQVAYe=UkLxrCepN`Vm%MYGl=mQ| zmh;NHJLIrGmoUJnq9cr)HszX03=ya@o~=LY_U?x+?DnCqwzU}moNMJv?e|t!I)CgQ znJ|>Q&VC!)c7c8=yy+;3X~77ia(e!VQ6cho(o6Gn31Ao`$DE|tZq@^;M25lR&kO$-Dwhv6en~@B-(|I>3 z0Qt9>ZLGhkJdWI5a>-4jGjE2(v~6fapy)f;@MPfEVci=IcX$Ue{ti2C2LDka5u2aG zp8m2ka{!7iNeC${A-$4yZ z`VRLr5rQ&#BO}W`2JNub*MG}zhC%;ce8ruFKci_?;Aqtl_xDV&yidg^KN2ZM_iojwFmONPqrWrMvg^0oubw@|$wR#QWM|Si$;`u+ctDRs;#I!5mj2;L?1!f> zCEd>~MyS*;jq=5dvcXE8tW2TqBp6Nj>&dUU`5-dRRE@U5J z%~Op_5GP1&`1e5PIMLx~Y5o z8k;*i`Fp9}KE85&OHOOftwh8^&^Gx+F4r*q7I^+UIoPnKzJEp6*u=eSc&>zV{u0yj|N!4$R z;cx5Pr@!_2_ha%jU4&2W0L4{qV1;!s1=hltKQw+~_`^0z%9H2dfP2Nr1El!!P5p?rT;28X^Qm(sRDv*bKv} zqhQS+YzSp}c)FPmrN1`)#`as7hMHljqZ=Q0T&K>hVb1}esLTy2VVbObY3Jq=@iDq( z{W9-~L?8iJuU>KXcyw;(gU!2_{t#B#akiie->sHC_J5M_457Hf7`;#1dsbcZ?0*oj z?Pny^k}Es~9&@cQteeuQhMl1k5HU7syQTl+d$~948;@|`lpQJbV!7VV)zNQt<^e88 zh-B}n;Me+T@9*MN!P>O1qs0wc*P9K+m%VeNw9^@*QaN@(aHkAH4j3Dd#2J@7I#xwrF$A7J3bO5F;O zH@EP_#Z_WjV4hJ!FfyJFzXh^1-OtDAGlw|I)KbXGTBNS!g5R4F?5j6_YjK_orVy}a z(>fxi$Qyt#QbUA}x&~qn2RJaDMx4+g-7~<5!$dAJzhbioB5BS_f3#yi7WU92sGe%9 zuYbE=abiTg_T1@mUmd!lD>bxA<EbS(WxGWQEJWLk2aK}w1QEB#!Y;ip3%RE73WUihHh!6fnZt3k>lUk{? z6YW}Fy{&8Ytr?nvynC_;-N(eqKUoLpoPT)mtzK#}u(6Gn?s>pCwGEzWX%{~JofL6& z%zk{tT}YIt$JoJXt**nYgmSl(W=pSO4WfmM)jT z(N9RNj0lT*l>^})^qQzYd>;eLSlTpM7*UtkW!C~4@$+Pds`)LvTA|3;Ceh`vIncvPRwX7f0Vy_yd`-ZL`YzzZ$T zZEO^q%#!!iOKRy6?aL+~u(y5EFH{bxds7W*^A%OweGs$S@`>a$)UB&O;(wG~h*UQ? z2D!9ztOs6w>P*k{r-PKonPXg>#?J(Rl`$@=62FO691(+5QPRdqBr6sYzkmi$VL8?W z-#@V$3C_+)O?NTtJJ5~us#=i_r<*ii1n0~%C8k^eEqAvvTNJeW8<{6dU(L`eLxd?$ zE9L9p)pr1Y9lo&Y)M+{Bn15T@hLmK}yt`Q{%K@P}v;_)scs@3=c%MN@Po0|vXn(3_ zD6akbXIX-chh9oYLB9bQ=O9<5@y?drIC8H^05ERXTg?e@qWR;?+Kn%IC6Q^0IyRN`ILL7HjbHpMTIL zOH>1r-jobFliiH! zd_#U5s-Sbdl{yB9Y=7hA;AGO&dAx4U z$?Wu3tr4Fcy(rjDTGqa^2pOua?j(O+*qVn1Wa=1$>up?C?C{Ay^V-F+*%k;p_eG{6 zXi{e8mEP7Wg7$h4wrc~`$#2*&^~1XI(pU_phjld#bxIQ(fPda+SU@j80s{p(B|Id9 zO)isn7a`MWq^FmnGd{y`8X0wP%$;cb`3OXwQEG+rmq0*cw@%uC1j3lQjnN`y15~IMn+gf&4OEWb!#letCkDvBnfs*3S&yvI-24z zs7nF#LcD`%C4ci?f9MQF{rHi%-t6E(MSi7Q)Vn)(%++&fQ)rDH`dC=<$={_>{pB!; z#!gP)51qjBO3(Wab}SkUiuD5HCA}Yb{EnAAOsuQ`0)_ST0!PPKEnd)05`V3v{Nmb9 zjfkeG%_`ogZeJG!({zQ;-hSXyhtm$I8|>6y;BB*iwSV-`yPhhB!>pFI(&UFp$u{L6 zBYCN@%55j(v(*hm^hVG8^}(LO{iDR$!trr(fkOnwd~4pXg#@h{+@TeyRB@^g_u7Z|s+&Oi~*}Sa`@*cAGDSikzHU z?*6YoDStj)r+QW9j3Fs-{$8G z+A@1;Z04aHU}Y_(@Ur~Q#J^PQj&t+!AUG7p%P;RJ3(Xow+r|?5V-6d(+T1No=X@{W z3V$@lO|ehP0Mg_;sH%r9v9-(31ID# ziHm*aO%mP1J@3oJ+zV^czht-REAngr>!|Km`Yfup`JrqiLM&7FUHpO_i=RcEQ?e{o z#Di#q1yE1E%VUC<2~jpqV9@?Y%K+kL(|;4PAbsJ#9EMeGQuXk>0v7T}rw=kR@aiY) zr#1N0cdo;yD9qO6#G!4Bkd&pqv-I|@;p-ij4j=a##jGLDuL{a9mJk2(`VV(AlrK&? ztr9lJi(MWRbYw{c!Fv)Wo{U`N3Q+j6xn(_ifs=i-+-Gsb(yYt-tkZh*DTjA&#(!B` zB$~=gPQDbduhA#F@&(~S8zTK7iSxhgo>kvx;m2k7Qp@2NRCs5@_C9*9{MgCd^ML>5`!0G;am$YkN`1CRC%Eatp3>qz#!<0v&JcNHgVSrAeYHYK_+sN$+%7w7EUZ+~d;P8}knaKfH$;Nz()y^D)uz zsqRibeOXgZorrb1T+!obyWTR+z9&`un@w3<%MgAXh`9ICq~`5qW2~!AwgVmA)VZ6Q z_ghibc=p#*69UX0F&U2`vVXD`;#8>&_3t>je+sVlKU8s#C$TFfW{)W*M1QZTy=H5$ zaVSCU6VkkA^8`^h9{;N;$qBkD{#w$QM*t`uP^yWoduOgE%xfhVF3 z4DJ%nT%LT-E)E0ill$v6ywS9*WmIs150JWU&Uo5V*w01Agk38{#Bl>i#gMRms@qBgCUy&ue0hzi| z$2ZsRU5w%%i8!39Q@uh1T98D1tCRjrjb)+j(@)#uXl9U?i+^c&gvqc3($F5O=*&`{ zr^DxQ%qh>U-^h=Zus&3g_51xxYMc=Kh>G>FsxVpP>AT7L@?i#CCltHTrZx|;;;zfAJ!G$rNG8Ey#C79UBWElV+0hQlW@TNLGriIsR{?NP=AdZw8a1|k^fh|e$*$~kU>t) zak-hxS?a^pMJRRu@B8JPKUuyT4Xd5M-<1AM7c8lte5#f5D1%r|0si6S&6{qz*t>fF z7gt{$)`a)P4HgE1MVF{_DcvZDNK1D&14h>f1qA7mE~z0gMs4H>5s+>M3`RF&)ab!0 zet+-tK7Y^q_nzn8vwP1y=X1{IbGDpPuJP|VpYEEq^Bc8LTbvpJxZ@iEUu`+wySxAb zzw|g7Zd;mIls#0g59rLsHHu0yUD*x$aD$oIQD^vE53BUnsi)8^x>X>1^^fPuj3sUY zh8X34Z+Cl=lt^bSnPJcK*hFBh91W&9RJ<#p(|_O6>drc62tTUCn!NrxIq3QAfFdBk zM@eomf-cZ;ELVbsMoMC=&J`|q{``2k9({)8)WBZ+9`3C5K*esq38~g{BTq|qbw3Wi zQkk>x&e5u0>B?^j^z48&V;FAAnMm4qLG`o~L*KJMn*u^k+sh~5_C%mt6GE#s^!A{u zB7d#9C_pT@ztBW#uXhto!}k)O8+F*cT4hB|(_99RDkoD99~#4)VQWdPD6^LvJ*H=M zF8PX=>=)+kD%%=eQDTF5o{zkjzlY+ESMfBWaDfy94te%{-E)8C1EpHGkMihst&muB>*`PHa(IC8$|p%+Pc%vXC{nFEml(YakMYUvqdxa)C>N(Jssc{!b{#PDc zR#)q&EhY3fD*1jdwOdr|-TT{_?-$Jv(owv~;v|PD`X{-?mzXx5=kAptdN<$Pw-lHdz2$)PING==$)U zil_&y)I3+Lri(6-=Mo3|9yL#F)<9L3vjbGdNnLNiwGTqsIocIB$6lzLi=_OXWLK%| zMlaTNxaH+Fg*uo12bzRs&s80!k`QP;_C`h=VR61@=Ehj*1SRMZEU6<}La9KF{p)(& zEvM1$Vy+JRvVQ=0z+Co3vZ`QKr(uI*OYy$7&DT4fnJtq?FhK+VjB=-m ztwwk%7n6HV?~$D^``n@Nh)#brQ;PN~yR14WrEYuXHYxCG6WbYcTxURTEMFoaDYRPa>tndnP88E-sG+(Rlr`njy(O(gmCLgwG7VjV*%`q0+QuVljvM#$g9_TDA z#(3RLJj*&5d$<&1%~1Y0K;C6Z*$YG-ZP3gKFxC0bhdkw=$d>926G#czMU8Kb+1S<# zm-sb0A%eG5H86?klz&R~capFeP1t2s{(5XmSnb?bMM2SV6F+^XRVKtW#i&0uABCz_pIjCEcH?AWHNfK&A=`@oI)<$zc)yc_?UDBE z@@C`!UQsG<|2eWp-dr^5m?Z9jf7bXAM@kxRv4T~}Nata2N`Kg(fYKYEzWUNyUlsmr zlwsgLa%q*xRvDYVe;-b(letMsR3y<)RR>0{>i1`YOv-+jb-W^%x-<6O$>*wwWmI5W z{=aQ6pJ`e_XRmS}k+kFl#u~1&Z8PJ@C&uo}03mV8loHrpBZCH2J`pSU2Fc(`AxKHf zp6fzVQNl~}Jb$gW`EjHTvj`OsULcZsROr*scV9I^7bsJc{XKQRz3os#?|esj!PM~w z+WZEBE4mn#n*~b!i;r;lvnME)yZo2%PcA24h`cc2B&igOWb>TwHQW}$OC(_Sp80&S za^%-3N}E+6qE=8cf836o*(Bkaf$`{__X`Pk> zYO-+)(CRWcW)m6|l>B?M>qv!2UIm)_N{ZoG&RgqWN)XM^PsO!tYK?#VRc+EoOB?0= z>QuX)X55sU^)~zH=d+TWB?1s!E1NP=ScFmhS43$0H6P$2&hlQ*r79MoUlT0Ynrf9x zj#aofxeZ^HZy@xX_BdnFZq) z6&;u)WkQopp<~x8p_VfHMyMcxiUT_FuWdLy|R9i9b$*a@L=r zh@OL+?SFkB7PD%VU*5RbnAC5z(r;gH^BJl%A(AVI%`%bN(a-7u@{uWa_4W}7V3f`a zL4Po*sf(qiUeU$MF}EH%9Y=d7R?c$B@JB<0#Lb%$2r>5gH_RV-_GPcsp%5->HR*x) zeQ*J*%v#Cu*A#z&#@ucMggOE!C32PV0aYZ@F@{16v^bp%Ms3kYBXzoH>C{x(ZH31Sm0zHKh69O)f;wuKlPKJpEMT9 zq*+TgK|hNW2TM(tfcK0PPRx!6t#R?b9-1<_n``|36GI)HqKXpzffAoe$fzM7@_#X+ zNuc>(MC2xe10Em#D=FPa9^lV2a)8?WQPHUlrrRAyhT|76k1vatH>Eh6+?#R&kuK8> zWfpVI&G^}A`c-As^J4Rh{x6-ea-@M%qkJ9;ZuIpqzm2R1<@5|sW+cQ}$+YTEGg?rW zRi{Ck`WBSPk|e~krv~qsr*b|b>3`Gt{t`_S!$+faD|CHH`A=I+7r#W(oK3&7$HY%! z4-$MklUJxGr)(u=O>Axe+vGPr?lBW2Uu&G6X=y72{Z>4@IO}&*$+-3dxn*|^fLiB~ zhXMf47Pb^0iK+_^Rh=9Sj^(qfeufbRMH#vCqFcQWktgiEC9!nSez=(+4}U`%2=tkw z7`BlnYCKH%RJ!Q~Drch9!JeI`c-m;XJ*vFw6OeK9856``^ZBQ5tNOC?SBkdKs74(F zQn{X{#DTJ&vNu8MYliNK6L5S1EcoBow_-{2m>-YBcNbr+>7V*!wFQc~L^c zZdb|oQQcJN~DYDX`fZ1l^ z{qvSyXuObE0f&!zA_itN{-wj#w0Pq>n}cE46S<zY;92{C^qwGVZ+mk1TyF1Hcd&TyllfS#DxqUM#A#ymcb~o4)6KJ>;hl zLVe;wBSzL9L95gGElz=#ThdQ>{(}TEl9T(=762pj_205=DZ|w3(5CIR%Vd0J>DGx_ zTYm72#0--wOYtX;QjX2Y{T{)jpLUG@;)?UCgZRGVhXs1Cw0||M2G-*d3IAOcWdJ~5 z-8de9o29+Pm6Q&bQFg^x%UHUVnK#ixv&s%q8{xL!ySfjP^N1cHsu#&0#!JJ1D zfaj5`3C8~s)tP!GSpT9rW}YFA?TEBm5{GVIbske8VFcB6i*2}a@g@y#bG)zu&~W!h zq^4lSS2xGkp?{PawEw=-`dERjH}JqsdOby@nYl;GthLw6#kDa0&G*S=-?oiwikQ+x za^_6hUr|}wxyNUzoHAcyX7P74tI0&mr6f??NK^CFc=3le2 zd}WqXlF&<1*0A_f@LnnZvG1?{)_d2p71=zA3w^Y>DSr}pm_$S}q7Lrl`ceGmJNS3u z$X$utf1K{iui8aEf1xUSwE2f$d2E#jM8J10?<~|`fQu-$!ToP;slO=dx*eTM_dnL` zLj>>`Ve%;ngMD1(IzbnVC@Wo^+2HiZ?SC_wS;(!^U!UmtuVrCc(914y0XU`x-ec4rXkJocLLZ%ru*9o><_n_H`!@V0?JvKN@^t z>3=+!VNJ{Otmh^)y`RtMe?7mbzuV(ChKfi?Vy^FYm9yyG|2|P-9pk!QsR)@Rbr}&d z|BU+9e{G@mE*8|4!K^Ml*=zfa0)Xwq|9q900puEhN<7G@*7RHoBBG^Z;=lVpK|uH> zIAUDP__1_Zs*k}B8_NG{lbLi864AIZrGKq;@Oyo#S}sQ}_&>dd>B-67P?3lg6?*5g zboDZA;y?XH>u$VGeErURm$dLjz$Idbo1Xvff7XWHD{R1JDGzSCPj@UOvxKVrct=3_ z(e4JpQE^^9&eRSUJ{{VVto`*vDRT5xMN)8ZoIDeuQ+cIi_EVXQ8?#1siN?>y1%Dm? zdXK)LhB|U4Z)AOHY6vSa(AKX6;Uu}(=q51Y8AzOshtTcx{uVp5X7dOOm<>v>@LN?)%dc$qq4-jv{`yCoa# zYSjIDSKlD0q2TXG$+%iv^g~qsgrY+&ekl-|Zy1Du$$un*aK89R zDM|09SB{3uQK&)xs7|8m1&TJ4N>V(nhPoo#mUdnt03UeQM0AAMcCP$v@`EIeiMdJB z4ytwf4rwk9G6Pl4FSZa^?}oEW$5Q}3FHfUm-2W$vx8Zuwmy`b?6 zZ*KcUn&)$MUlCP3QEy!gMSn2Bykf3rx$ZIgE)P_7EKD%Vb=^bQ8i4ZAq-7#_~DjGhN2?YyE|)TBdl}i6Mt2RO10@WlV^ta z=!4^c$}KKfvKz9S`5~ znYJH88?cS9=Rr-s)_<`WItc{9wzP`l%V+{YIAffeVgFZU%0*?BZy{~0BADd?NSf3~ zCKVxW?;&~fSmb63k|MBjOPT&&=sWP0IWpsK{9e9hyg@osGd=GJLmez=x=T$oQGJ4+ z%__RbYsdWRaI%cQtwx=Q52E3N9wz_9LY6eGrW$rhTO{SpjDI-eYdKJBIn2I>|HkBG z=-X5EL)GtKH zwb8D3362CZaeonj{buxe%%jC=A1_eD*`%XHb+7l^$Dx|qdS|!IZ)2`qbC76}HsYpC z71Txl_JFlLWD^p7HTD;*baGNrh|Fe}>W}Mowg?hqm~~WM{tG)@^TLggDZI8FrrQ+z zt+!~-d`(Ns{+XW%r2@O4$aOe*ez;hctXAhWI*ff4^MCJz^){u036cZRr#DsCZ?}FC zCYUc9pVU9TOb&d&$erzK6k;-?w;LF(c<*005`IdwSVK6Vz~FG|WdXpf58aFG;*v5r z5^NT@j+M031lxf1@a^2K)&4#AXVS|IGoW+$X8a6!MohUf&&<;5q6_}weEWz>_CNWV zjHQxptADOncvbHw2)v|{sTN)@?eAIkwWvCOLAj!3>*J-M;@16%Z6C$EmG%Qh=$!x? zMOc07lj~Uena}mP?AAA&UYr>#X%IZ8y19%HN~EkdeQZnjWv;BKe^;4ttg)uq`f%soCDDpKFxe>$Euk!|g95|10ryuVMk(Kc5PBpbS%#!4L7jR*_G*zMS zau<&3?+HB?lwt`9*eK8%Cd?n)=Ni5|nR7i}{ECPI{_LNuIfnIXX~}569EED>x2a10 zJvYi7qGEzc6-R?cMUF05$f5UVBBd)xzT1m5GPiL=G}ODsEMKRVH#?TYq8F zF^Nk-HetSJpgLbsvHOtn+)Bom(8Ytq367P8Es%UoSmMy?TFQlXKER}Hw_}g6tvp70 zy`&TXXJF$et{oU(O220&f4Nisgt4aQDNC=El%XDTh=xh&6PjnvJ3l|O0+Dd4ujQ~x zoUK|1vRZ+LUb#sNK4@^pOzs_9gQ$cNH4dSw;kjzOc z8hZZBq4#3%)1{}5&GD87*2~#hSd0(qzb05+osz^g{&4dsKs&r|biB7?oBi{80SXG~ zKAE>1w_E)b7SL(9qpWwwbC{DvNxsqLGlM+Dl9*pqd4t zR0P-w%a`EF5W2{#=Q8mRtbdc`3Ms|$a0_#;ZajGU%ZRS=GX1sSS^5Eg*fDsvy1J^1 z+KC)nPD!z2U-|oBl{Mhf^W2SPT)GbL(NW_TWNEaS)ah6o8cob>C&TPgj!RCQPU_GMS%E>{+Q5P#h4i)SV<<&j%# z@_sl4c#pOBMHxF{_^n2MUvX`udyBd0^sReAW%A{WuJaUzE-5QMgjnn1I?;*)*@mN(r-OVS<`8tLd2V(O^X$kR@6{ZF}`K-Eqr zU9bZ93XjMD}TXT?Bfh~qjx9q;EstQ%Fv=K`pWrqeJ33GQPgR3nJ4+fW`8sF z0d+YZA-gD$kma>^NcM#giWVJwu}96MlzB1oN(dpGge^45`1!X0u=!U2_+I=fb}7EF zpeaZ>t$h)Hk{Vl5c5%1?D+MU$uUHh-5##5qF4gw1j?b?FaDVIF^Do_<8$lnWM2Zed zT1tX~fFp{o)UqQ#Q#qJD3SJbeE-w{Zl?rO3;HJkm+))A@#U+bDgGXfKC01)HG;S&d z8Fmd#P5auzzM2xBii9>B4sqq;fqp?7+x^oC9$c#ySr^JU4Yruoq-~Be;F!WCOwswAkO18X<<;D3l`<_Pvg6TaI#JWt+QS zF6Q<#K!{IhCJ_&J`%Kk1MU>~Hu5Oi$+Y$IqZi;Tk#Hiau!O+LzPXe0QDGj|b|Dd7y z$b_a9X@Asrja~odB!#osXnlS`{t48$maRcXdanvOX3BU1rR~QKxb-*x5ih$4f6kpo z?wCAt6jcyzay&OV^7>tbSb<@SWc@t-yAVHux;mAobP>qpC&9luXz+Eqq8| z4JCRnLpE#a!g3V&B4KGAgWxV`qj+1KZ2OW-aP360zSz$Z+pn50_+hevCRxqn&R1nP z7UMdXBVix8l1!oL)AOa0qvHgvQPFC^_+C3l05AW?80UQ-&+(e>?3f8{1=lMd7ciME z`+q<)u9wzA`F=;|;Z|~Ai(vE1;#W%aNli8;4dc|>WHaY`kK0)X>)x0cK6CVWKY6%O zB!=b$wyeAPFKpE+E52U#T>EULmT;IDe8QUX7bBUF1TOr?(DSm?R{NQZ=JdlLWwyh2 zg+@KiR*n`3&4ke6=RpL$ii1n-ECXrIMt@erURSdhUtkZO%~14RbX85h?$rZxr#9^) zm4WPI(sk~T!GddTt=-%~&C^Ip|GGNBm&Yju#uRh(DM^n9NH5`?eun##R|W!Rd66r` z8Xrt542_x{&!v#hC`f)&FKoA7m+?O`Do##2-9D3b$SH@{%E&CZfuhqsEqZm^+J6{C zL_HAfP##w`;EFLq0>#YyxFh(vC;bVKFU>ZWW6N`n7fXD2$}?T$?4?1A0yA;)wSlAX zqJ~wWaSeuxhFw@cc{uWi@LCw}(o-!!7K@I+GC4sqcQ_!Vc8}$A zYB9Jv#Xynath?;p80@&E(Fy>8(SOL@?&v#q;qUkGvRTCJUN&SkD$OOiwe~ofD9b&J z4zGm-)OR&=jHa@nYtb{)@!lxSE3epMmbo{R27=x+Mv)~Ovww@kYdwP@6~%Y=qpM#9 zwQD-aNP-5HxXgKgLQ^`qGV-4J69y0~3?R9!6uZz%U%&2j<@7)~>nevk9DjLeW4ZT> zh~-azz|xz6yb)>;P=LA+My5t7WDG&)_1g^kt#mqtBTp=Jhcd@nc#dd43sf~yTtlJO z&fZ^(O%l-yAF7>}x_6##Pi2_caE@xMT8`D3Bj5p1_)*O#M}N$ml!&&uNC{)D@E|4Q3OyZ#T<2+qzV0%eX#6OwbwW;R zGOGwP&8(3xI@mIR&dIVU%r5aFaYs9`i~j0OroQ}ccmK3uu6brpKC)x-aC-zidhY3P z*bPqsWN=vA=;BQC9{)3i9GEH0S)Gf@>z$mcc8U}%3^_xbKTEDYM}K>EEnANE!I;FF zXATb)rNr@=VfWF~j(=+6EJw+dz?pW6Fp!5+xbo?F%w-+60H%?k>_u2H>4M9Pg_OE+ z5B?0}iN!RD%IM|PyIiHTfPn*0pdg8x>V0M5eu2dZboJdLp_>&c!8ZwxEbMDGCN)Jt zovdr2+_8hh_XZzfFMoGd)tBDYR1a#JRCZm^|7oU22Ok{2&sS%wk^WfVYE#W{X5?>u zOBg6pyosPC)zQm?g5qYnW$zYB_l1AQ;aL<5+2OpJYWYvzBp=7z-xI*Km3Xe`N&rTB z4CT$hPR`@a+t#I8f4Vt<3J>GFEFIFg1jaG~Vjq>{bvoJblz)D;-W96Pn%X+fn&fnI zZTyQ_V`83MRzI}D6qN5}@9>h^8B{zt&Ux+87j!bfC07lYJHOxSp(pur{P3aGPT(QV zf^O~M^7!_w_r<;(52B|CZ}Ik5RVo6tAH{fZt$!}w|EGT*IGI&N*me7N)2q|ys{&E_ zw+%(>-Si5lfPdoE=S4B3cE9*`OHky7^oy@HsR7Ejvqz}^fy{x;cIWD$$FvN!?$0Co z*-ACOeLj-0+vr$}J>5vO5TUcMROOU^O>e$+zvS7?RI(U{sk610B}b@*6Fe?Yp6>>+ zoMhDjPnzp)Azh2El<sTiHFk2tJncd(DeM~>ip+@dQ3Eb0x!qm<=@ zgOdk=Ir@i(4<0)o@Gqqe_U!YRNO?}0JN!>DU5ID2jM+QLzc^5V=lITptRli(s8`x_ zy!-(0pMMfSf6!n_;h^eX!jaVBW@F$Xaf?gPp0BfG|Cx>Fm93<#Oh?zCA6!7>6>DS7 zV$H${X7e7eD(-wZXw zFld5L*b7{XA#NV(Y$}JEVaZ^9$m3idNa z#DDl}410isNRg5>ek(Ey36d|MTqx^rCTrDMv2>?1)10?A3U3$HfB0AbnYleLN5KM) zksf(n=M=?c8NFn1vK1;oHZzmcQr8Cqm7&AcbPL=~M2t0qmTEwv$a(0i_J)&KW!(!v zp{xzmW<9X)DYS$M^IlfPN+VjmbnILGL4Q}qj^u1_TW!BYA=t@MOBrzG_OrChna;X+kr+m#8{ZzkgQ3Z8xdt@my3@M1LXDv-<;J8xP-EpCz5B`|?zt=hJ!zIm+yN!&@BF&GBF^ zY*}xU>lA=bj2rsUMACm@!Dvei>}G4i6Bh8jY#2^G{jQL2_F;dARvvb1O4L_lOOLZW z_EdCrGgG!y8zQz4wb9z`O524WKS_DQx0;*!yEvXDHd)fSF>#^lmm0aH z$m>GUyc1(4(}yUv4u67Ip2+NURiFJ*VYTmQFwVNv{*TGMQf}PZ48_?4GDjUH!ei*4nAB383xwGFVv^=-TX3DHuTfkkb-W9 zUD}+UP})TD;(sJ+E6~Z%AI+~2Y<6JA9EFSQI^RBj20A{&jZ{&lmE3xxr=DGgRxHP3 zEPZ@qMvESU4@V7~C$D@wHQ}dij zvla7%;Y$_bFUE5qFvm-0xA74-vFv+v&E9?MhZbpB7JnXDqbn3xNi!4~o-2ZRNuuL= z%;9TZG3ph>zb1RaK2bldx7!^P@>{CMC}(QThrOug`bb-MMfkt%?nk(}Z2O`MRgh)c zDT46tTLV>|Ds+kN@~MrQcV!j(#Ts2>HzyB=^4BKTvO!i|i6I5Xxumm?&Wg^?f~ddh zzrf*KNq_eeJZNRSPh}&;NB!-@XGBT4(m8op@wT(MV<-SLK+C^y^ydDp33%NSYtr3? zZO)X&j`yKFT)m9|4{J}8!mJo&(1R^zAF6C(&e*8tU&XrzM_CuOQ4t2_zaEbMR!Too zbjM|nSYN%pDj=wRXKRWx5L2|~CK2$9yZyf9B4xLPI;nrJR~e0xu^%72OcvT2NsaMz z!8IOCy8-R(*&RoGz3a~#)9H|QfGfOz`0S-Xxn0SL<+ZX%r|(22PKWXeIpA&8ICg}T zIUh9QN9{_AZnzFw1Pb9RlJpFp=Mk^vft0^7AQ+eGxE`?nEPHk@G)%3#^L;G70lZcJ zvMP@3UX_2b!C*HGR14wUt(tUl(-O?M0rzw0JIUc4@r9y_A&&>RWB3UP4*zgm zFh}W+uL!X1k&bH68}Q@nMZzi0L~|szUeZu3E-bFIy12WifMmt?ZpXg&H8An@*E^z< zB2PW``GaUmFc0dKJCnU0I>>{;s_@^Yc3lM@IH-Sz=gWRkQL#q;y#G}pe|VFBHla*h zc=a^$7Y<`}WT+2>a!YO0QdphZvrVd7pLNRx4CtnrbuMPUoJ+D3^`bOs@v(TR9Ij(A z0ob&M_ZY!+-2!?H?xf^i;@9arq8`l+Qg#Lyake&3?j&8*GdMZj@F`?s1N82 zxMP3s9aVj7Dw$rJo301p_K`zx1hnj+nTNsPF*9Te3gYc4cmiPVXiQa@D z6qPSd+dy_hC=Co5bR6;dvIABli@psWP0UXOeuFu>kXdypp?p6sMwGjqmY<>WI=Cmc zEH>fMCX^K89_0tz?puP$g~W~N0czuMMCgCQaG;;%DNPEs&gR&}I_IhWyY<_xx$jJ% zZ|ecraZj%UeNn4LnLYYdqS&MJk*z+J#gWpEDST{JaL_w6YTDAunlk`2H?a628W!{n z!evL5c8o|-bI{&yp3xt@1%oM6-^j|*7kQJnw5wHZhUx5pUR2FXNpYPFlDe6kEaZP( zIr{KGMrxj6f6njy@4)v(3yXh}N8>IRRFBBhlr2hHj!a60no`teF^3<^UH6bqYId6ZgfWt(pip{W|2%~=f8-Z^P5D8VUoO3qJXl4~L zk5CI>6`vLuXtPWD4$3REOr91Hla}eKww4-!tVL2D(-*x7Y*^lN*)dvuNK4_hHQOuc z_X^iJK#RIKa2XY33vco7mRRUi4Y!~VaOx(@mKa;oHA~*`Uo4XwJjT>nO1OWF1xpNQ z?P1=GG6R0*7SnS-@Z4nAOkV)Hhj9or^+kttm59 zo=;~|1PB+NzIqxY{!qw(TpE8hRPcuj_-At?ptrpI>C7uGE{Gn)+Kk)w5L~)QOc&|{ z@-(hSz|Z}Jj9hlG?Zk=e4lL z!#}`kq8f0OH@dOYFwbD|il(lT*7|k~{Mj8}uQ+$9vnQhT0pK7z&Oi`Eq7-ChLE*(5DG> zUwBpjH(UilonCM;G0e6sXe<>`ks2O2hn!9(vqvYk6lnn6JPeXQ!8HXQq(KeVEGnzK z=1$eMFE`5K>CUhMb8a8)@C4tO2?z`_|41GsOi_L1C2awLJLG@dFCHiLg&&_UzAc=E zhO7o-KrM;g;;$NdtjTIODRWi!YMn5-Rnsz7aAnkp?@t4U<)4pKm)?XeB4=R}rDi=E z)2lOQXoal|g``5!EW4Vp`=z8FH2P5W@#EKu{)(zDwfU`i$rI@G+KRI{n9PRpn!Ul- ztgqu@j(`L-V6uO=#AB=_fM6#JGRBHVpQvW3G_tN#Eo6BQ-bj#afv6s9m5Z~qRxI67 zjf_UyMSK&0N>q1jeerQqVjJ#%Dc<(7$>84js%k^|AOGcp`Q!3$0<-qYt6Sqf66NsK zRzi>MvFBJP+$3%%W;V8O^P+I1zkkl5d=~U9-zL;EtMq@xaeVAe;}+4}Y6WhmOY*Fm z=?e_Yftb|aGIW9SS`4ziB0MuN7@Q=k&>vPSsD0(Hv!?Zyn?C!CO?Mgsc3<{gb&1EV z98}*u6`OSyiqYanRfUm|nL1l(h5eq77Tnrwk#>~}>(z8nt$$p*F)uFk@oua#aPWGl zY!s?=-?4vm+)mJPn>VA=TvPUP^wxrm}SFWT`!^Z2gh0QK1KbVOi2eJaa&AK`jWNRb&#yqCd7$o-g z=+2+rtoY!0EKMqmp!#fd5{$@3Uxe%(u5Q1y8zg`8*q}|CZS?jFTIiBd?$@BHf=DzC zzF};&394;`mPUq+y<0zwj#w>=Xowc@cQ<0Xb)t+rIE}Xvvzm|tKJ+I~S*xl>NHe0D#-KiOMJ$-+-3hB}Fpq0m8G+u~bglHFPlNF}W^5cVd zlVu+aFIC;ZTmJ^#s#(#FtY1d+UKy|MC#x#$l6pOnhB%hl{TYM|VoQxw%%ZnDIFRK_ zq%pXMY0Lzl34c5_Vu16+=OQ0p@%D%(<&lk&Yz{0BZ$(8#e3st5iq2|ToIcebkEnOB<)=3BC`v@W`F z`$Q!&nwzc9=fW0eH$nbVM{!}xF8(;?c=Kd^TTt+gwL@Ogy$5_Gao%A$4Xc~6aKx(+ zT}cc$KF%98<=>S6Zpzy@EVAP)L+gL(&O&bsk!w3}mQ}#BSoeL?AbGwvUz2VNOt4Xd zP)F$`+m50`Et@#d^)F+5UU0TGg(U2t<2y}%mH{i8rqz6B%l4{4J~c(vT|FY*uq{3k zPm$Ojv5Tn8 zPU5&}bIWtz_M@i75YSr3?>`WR0RC~!fLbxQwYkyoVCO<30<$T2Pdkx-(NjdE@Y-# zW^LHWu@7suoXsEzj-Za002DNNkZzdXxJ2ts&GqIngMSTyh0FszUd<5m>k<8+&*W0pl`zvnmOrWRxy1MkGF(e$*?bE1}^v?s-MF9-`i3 zBCKZSwc4<>ba8*?m3X5eG0;R+!yh$d0Ei?eP&8qGVZ^%bT zWgPb0gHV4?EXT2Z+W*H=_&b`pSHiZ{g9ZerYCkkvPiFLCA+Nd+`~(~-_p}&0Fk)Xtbs{zK3{Q< zE*k!@pFyXByYYPEHo#t2ztxtO2fSqJ1H!Uc|iDI5@@J z8TNIIOzV(+-bKf7J(GZkFi~>%v6(8@zF<SAIv<{^2~}1=G4o#9Y$$zcM^EHrl+x$ z-8($dk76I4bEt02)IE~NZi>RKbtZB00%QAloqqm9E%+>0Y;4-)g6K6BY~!W61$hqZ zbnVIz*hafqzG&D8W=Wk}nMNy^$QOSh-x!~_{nT0k7+5vUEwSTP)v(o3Ig)j9NEml` zqqSfnwMcZsU&nH)*0WOW9_w8jaC<5>GA zf~&guz4Vnr9L+wQ-}XWP?aI$D9AvX|*PMY)GoO0IbQu$u=)p=VmcL{ixkP_~cT#`v zq&6C?Nm60z8(4Z?wK2dtzgtWk9dwq9`DZ{50ik~ z_*%GsWuL>N6tae^Ua0e+(ul?bT{lIEl-V7Dc%Ru?BBAewC;n=3sh@fFOsnsz0r(3s zbdbfaqBCchzWCOp9e;Ez^OOHhMe&4 zllk1O1mveL`N|h)~*2276LcLo=T0!F8#a@ zA1ei^nd?nfg)Yk6*Q$4on|KIos+Rxh7H0PnLRY>Jf8yG`BFd$uFGDbtRpm$y}m(#^sVF>1sO%nC*|$PxMZhXxw+-bq>{KPIjUtyPPvlN z8Pu^0_-J{RI~IKFHsya;|DIcK14d5kx38ibbtC}R$ku#Ej*w5k2 zlL&`h4QdB2`wKU#$NQPYTrb_+dPHyC`e$5-6>q$Mp+HC+O}^E@s-DwxW~Z~3#XH#! z4(H46!I;^!l4Jow!ek_4{HWx!+AJXEko>+yNYlF~efYJ=RnC8G^5LRH3ehb2yNLty zul2GGoxZgQSHq5=EInJH#?8RYEFX;XcROLoZLcZ9F0%{^{He-!-X{~c>b_-H3Q7dT zhsb<;b9GTD6v;dW{6Ncm+*Cl2=g z3omtXfQ}Z(mq+P%gcU!#jVozpuXD3!ZhJZBj)eY>-69 z+rC@LNbs9Sk1jwo8p5Lw2rL|d@&b&Odf%f|@^O-)&SI`U7LGx{xb_^P=nq_lP@slo z%EY$APM~0C1@89-+^&*CMi#*U&gEg}I0Z4D9*pQR^h*0`XTlf-CiGJl);HX)oVM$~ z#CI(kQILNHDAv`k7#Oe~J$%Wf7^>aeJacKiWUNIhj0RV)FHp z?UOJBtS`P-Nfw2qHFlb2#&uN)G0kNdByj;DCzppU*v#{x5cFtV&}5`4G3i<=_K|r6 zIK)NShyC}he_ot4H>p1ie&Vd_R0WhC^(qvC)zHrl{BI+S9fft>$EzJF&toKXQ}S z682RRJh)lTpD2F(n4tp9DJJDdE1b7|d5U%*XFSu+auJ3IAW8oC$i;M6J{`TK;`{Ko zXTyKAX=ryCuDBi@4^N_c znIf#Srst16xNOaOO}i5W;`#XvImbO+NiBcc9ZZ`=dabOLoRchm-~wC{z$6x=L3I>XE1DPLLazTM-IKDK}-gke^aq0sL_+k+_#8pPh= zu#e0BI_95(q;k4m`9k2ug_!pN{e#M)TbgZo&$B-)J+?vwrfo1aNl442uA0RB9Jqg3 zsL=8L^po^OUdo_hBYvC0pb9+bt`&c+CxmjBpUwFeU-r9YewWvxH{_gSi$EtsRl>esN5+oY9zbzBCh3T4u*-o4dl`p-B9{ZHA zh2P*Zg9jJb#kZ9#(qZ)&zCEMiTN$S*`Z$Ro7vtjfp1MfePq^r+B|Gl@Ii)(6?I~BF zlXJ&6aElR0`~NN&y!Ml!G+-P@~?c$8}Rhi4G*s5m_5U}Xha19SCjeGN}YNRa9y zre8j>>6{U1#2+L(aloQS)O>$?T^{QQVn#oDVtI;Hl5nnlHB;4SLslx=`h-7qkYmuy z)kepS#`suBf0NASiDE3zJrm9*!=cp^`T3`mSp&K$d)p>~-iNviJIlL=!gjnP=^Znwj37*w zKUbiR0K%>Xi@N&>Y}jd=CQ;n!uT3``HG@gcR3&dXPG4Wm@?z~E9V;=hb-^ZkH?iNE zIx6HH%kQ7ITbBD0r^F;VR^>XpIG`sL&_edqYpo>m`zuLqSLKM`BRL|YEZgH9u-YBR z&2pv}mpbq$1?};jknk;2pXHQ)0Vbt@=xWRQNPrKmcRFmp& zqAeDA{%Uu8!qAyjPN?F*fPiJp_1{djty-A4amCL?)PH$GKFp>+NMGFVX827Epr)Hi z6g)c|aQSw{uJK;bdfbXU;bTcZDaj0Z;_nJtYMMUVZ!vaZ9Djevthm32R(~r8pPgq4 zGA-Dk1@NJdBx5PRCylcNa8BkjhV-hcCU*M1F2hvzsko^{hrAD)Ng)?(|NFQ?>>axY z+0LL=euGgp#wJhY7dW0+4Wq^B-?+m|?R&SkTt8*MCxWEW(etc6XgIQwv2k3g-%iMZ z{`@Zd{oTj|f+2qkRe9L(`_FV4mrmD~A&gr~K{DPkEt%sOuJiqfK-&ot z=mpG?>vLp`VMEp1#~H&mHPSYXX~}yd5w@rg#UojyaCHcd2vfqE@{~_xwqvGhIwZR4wLV~-y z1$VdL?iOg=U4vT)7Az#V6Wrb1-QC?ixHr?yd%yYan&DS3R-HQgY<;#=mC~GOeiQnh z@nyVUD&lITVN=Gg1uqMgt$j=`ddnC4WyIp8SD)MAlz1T2j;)YBEv7W|*+;`?1HDUs z)qSMYqoRM~*8YTX*73|DTAe4`n;sA|+qONQzHdtoXll;*{B^HsztW|7ZiOdmmB?bz z!2as_e6*SHCf*yk_X?!qOqf(`y?!`sD)S)$mAzNY2?@D-(o9RlsCTN(vpF8WBR+BS zd+2IZTq7DeT^gcnTFRnfGR<4QjZOR=`>Tj>S>1ocaOo2 zrzaq%nETQT+b4z8n2M&lf71!S>`wju{$by~(Wj=qD`WIfSQ(mqY!cPNZ!h_Ls4B>O z9oo;T5vJ8@_Vc5(UZS_3=&qan$WaH+9*aTGapwAvo3 zy1aufTmUVkLAONZSb$JYg%ns$^_+#g3O*iSMU)z-^3 zJi3f2uxq@v?rW#8^`#U&Waakg6vSlj)mU~OY6yn-fS7UrDZI2!Zng=ofnk`*h9U*s z{ocp1@N5mxQXSUs+h0Raky0qqa^`;@lZZ+8v?a09Xd6xpd}=dN%Q6yh4Ls0^j^r6< zZ)hC7`$L&#eausj7-|@kmfG@b{P2GfF)5GSpeE_VH`0rYB=9ho;&ONI-?fL)oba5U zjO4Rj_#s_mzbj3?>d@?8d%8SmR)(5xaVI;mEQ^luk|V5NibjMLXSxye${Bxusqx&uFqo-<71anzMXBNz;cZ0fhH{_~)c71!)ze~ip|VUv ze0m5S*L~BfL$7HH`}LPYYYVr}@WD>T4$pxOCr4L&6w7{of90~&IVgVxQ4ELv2>WOl z6OndG7h50i>GWJ=JcIFh$D~*5MqP+zn&QDsF2mDU;bHPeva>#s*Lmg$HuXfCYpGEC zZTWb8`I%to5pD(}>&pz^@#xPqBcDQUSDNLPR*u>tjviH)lk2CHE95&2hKD1e_lmw1 zM!A%u@SlJ?K1UA6Up#-_2S~GP3a-{|n#|i#z+I!&-}qJNDmqALlbe#r!DeDmufJXd z@ymudOPUGQ?$tJ&+5hNRMD?eZrJq-mnj1MgWG$`x7Z52~=hDt2+5$uD?KF5qf~EX9 z#b&hG%QuffYe?wk8Q8cOKQA5`;Zs6kCno}Q(hONdp%y1WxFw zm{p&i=){ARG#f|b!(wU*Kk1w5w*ApWj_qzOw&bGW_NACRQ*t{P5_XYh`%YEArQ3;z zOJnM?6UE3eF*$!7F^`IWGTJgVyVMDds@SjJyfbvs9K5P-ir|VKcKpxQJ$6#sTOF&r zgJxTO{u*9H#%nb|Ly^MVb?e+c)Z;6->UWluSZg9J4g8r~h`Zn<_69w@n%6g*`?)_4 zJcUm;SFimwQKA5VWk**ZP+n{SbXBVA9u|C(th@kJ+>%-%lyrk48}_K8mmCcFHqvW<~;VQ*v# zZ?+ETI7p(4u}9#2QPIb7>Q*Eny7<(}y2h9s_7XRzI}x+~5)(61ZtgbR{x2xo6mwtg zu0}u!#i+GS+j--F`b8F7cfnHj;K4@7#{LY!9E^YdzoivfS{%;E+!I|G5sSfe5ULC~ zu6YMn7k8jjRLi~hl#JmQH#)WiQl*?(_y=ej^0yry)M<1PGVjiwB)Ba^aeI-vJp`?c z99CNI2P$429&&IR&8_&cpRPJ&8XNh36=mVFQdU@;49BDv6uO+-mVNypFv?M2YmV<* zz2JXTHRHU*kGg0!io|AQ8nCZ(Ar}~D(Q3Ayl4lRSUF{NPF8XGUr?7@E@j?k zpZQk~+7tr0BJ~4lxa|1|mCAOPqM`y}-&qNTm>_L^C)MZ-t@0W=uA7EvA&zN@m8}t|VvzPIRZc=l)lZz9*SK^2Tmh%fsw2G(CG6=C4O;|pF$^|xtknVq9 zy??Wk7yfaq#m_0J??0wF7Az@mSveCsIVt;z8N#H?uOR5yuoUtUuwjLLoMOGi*V1?r zOX3F>k}gtD|0;8=`e(bE8{ytmzSVxiB+P2lx}5sFszG6fUwgch&f&~Vwp4x##j5JS zs{?AUJFew30U`ra#OB4^tlf-fE&z)c&XRJ?78c6w%+~l)Rv66W;s6~Ge}UoR9SxqI8@!|O1cZ`ipN~1NmL0QZ&cS{itX_OgqcnTliK@;E{SM!}hB zm)qJEFKAk5vKlU_EaQJ})Pq!R^tC_}yz;oQ+`GZsCzZq$ov>!>sy8;^Jg3(`}f8Rip?79rnTD&&pQ=Eozi!`^dn@IZ*m8M>^1pbv3QXc?uickTvBzqIs)`*3eN=xL%+nJ^4#SaUGi+4V z*jvAK z;r@wFFLQTWsrPnFiC?e%`jS9=df#lMVw06lQ0_IA;q5mbzC7-mj>F2Qgz+QIHjua2 z72|N)cw{*%%Eo`uia>TjAc)s(6ZqshO6nIZFf*)0z`y)s+-%1!iOsWaj1mZ0V~H} zyjKuM*618+FH3u|iI+9y7e~8y;mIhn^l;0|c5m*gZxMeT=u-Q?z?ai3RJ4wOypi=k zCu7khq3$tNo3`jmOGp~u(W?Q+duQoGDGcT?3Vr%yIWPpC!@JtTqI_xUfP%U+tzTs% zsXzj)oEKGEhm~AMh)ts*oVbzhu@?iT=5fI0Z&z|2B(|P+)}s$Tk*!0A2z6!YOHTqk zR>D@l2X=oM@LTbo?A^>|$Cul%$jnx_a`pWy2G(0|i%YF3^y2HCOmpkXc2j}1G{?(p z=(Vw><}}?Tglzg_0__{!=>5g9vDt;m3O5ho3F&{2_boR&rDux_T70tF?64n3xiivQ zpQmL@efqdCZ0`%dPUg2LsF$Ye5I>$e6aBmSRA527ccIf>%T(@18O%2jr8xG?xLYxDFuQPG{oBuL@HPgG?(A^Zp2E2_sIhvU zezAYaaZ;ty{O^LO4a4i+rdg4uhi?Wg#h_~X<96D5d)`tM4p)D8%O4;Y?%8YTUB{1$;Gey!rc9CC}}ObRSdL^vMuzs-7Rs z3JUD`mJYacU!0cHGX!|hM0TuB)yv2=1~Px{MHJxJc%*R7y4m!@ZItTVu!b=cp12fO zpD+E8Tjdf}0|J$y>%I@-wBYJ`xUBW!UtTt2F&dy7Sy*eFTAw7^q|hYvf-%&z{mXN+ z?tXhZQ8MjSB!Qn-GVs(YQV7dJL*aauCibW&sMQD0Bag)1_CRO&_;(Ms;3qAYwz7Y< zWk0Kka{X5(wCRp@7Aoqt5IN(o*)AO6uUeH)w1=Y2q=GJKp-i>t+PN$z4yp6*CP%wtI z-+WnfOF?eE=wdi$!KFX>K(6Hdx5Dc2o7Om-=~%k&c#$o`>v3DKJyv*gjPb9}X1_k? znP<9_JGHyBD?dCoBMfu*^Vn3>`SNG!6sis)*8#pHWjF#ma1bAA1x{YRGXyhw4_<(l8~)g7>jP1Gj?TA+UKHsxC_ zYqq*^{tXe7%>40(>XH&KJ-&Z$e}$*dVc)lAeLk zi<>K!iFsXF&!g=umJ)r3B|wZn%cA@=gZZjKm`nsCc}dvQfT$*7*c!vrxi^r##)=># z=;k&V9UrBON=%XlxFiD)EZ5=iGz76xh*Un9eJqtx*I)i7qtH12p~XWKtIdI+3t~Mo zv6J5_O5#zfC{#Fea4&zZ@Bx5pY{p-@yv8?U&ib~4OV?Yr#Fa^@7gJ94{N*!qQ-?b) z4YsD20+8bKfi>UtFY|+glGdZr{eXB!k4R0eMXcSz?IBgsFg-0%4J{bgA;*siTrl71 z(hAC~r;kja#|wSQz~D##xtGNNM_*uQjoaC_LeV|D>ULT6wFiF*0U+fGwUJCDlQPgY zg(osl^%?h9H;dc~xkFA14s*mIQhyHHJd=04usLDdv$OE2$8-IANHf-9bZ3TRwvhLQ zpIaJDh#<`P%N#tQjO-@#YmzrIY2G+;d+wwg2?>Ciq9Gp}pkt;lUAt?i#~aBR5sMAz zgLdV_$*_~samjz&atF(2zF$Z?;o_QmVRk}`{`+!Ak{-Yzvdc`oFe`1`EKdd|*n{L3 z6pX_4FXg##sP6ma-2?W=rU>(|a$|#ZPmCJrUG2I6NL|6$*3FTF)I`~xIYqeNpBvVs z6|mt1C30w6?JE!Wur$Igt3e)kRC41y-KSa2t6uKYzc=xF=5Y>VNo0f zL^QPF;?X>Fdduae{Xl1%sa4&Jl!evg<<9FI{l2ho74?XCh0~-ZD%i-n&;0HS@D~Ow zv%CU7J{o^_1oS446p!y$EOGGKz%s|Dq*`Mi9Ai329tATYwZGh4Am>Zv!3%h=aO{iE z!EZ3W1=*SOXsduhcD{x6gnryx5ejc)F|@uuiuDB%pH>H1uHZ@n@DH6f-27hp(1g*m ziMrSQ0Y1Ct@<}+v_4@DfNYYFIxp!6qE-gjB-fDjZ(Ytc!PlkE3>gk7e%1o9uLnR}*x^huoJ35^ z@+ue_Lxv;a_BV;EZm?yXQ5G)OP_vs^17@^kFtRV6{`#L*%I#;;9k2%4XmB)awozfd z+mwHlKrrU{`CgctQ5-DFvV1NamlfkG1zZm6Ii zrXNWM`j{g|E9glny7ZZ4@SSDEBvjm+B-Sq;Hn~>+!7jNk(%S%V`kbVGkM{X_fYo-x zQ?lr2$>q`Ek7iAj!;UO42IaKZY;zqecoKiVWub)Qca&ZR zcaeIDyw^zhzV27AO@lS$v%1IXl}2;R#Gfi;*ko{E-RS6zpqd8#XFf@?SO?pkKD4&5 z0Scn7!G`RxuxYnyO9;fsjIMf>-|rp?uf8G>z;t{zVmT;ZXHlfbSxrHB(CJ*g@{@ms zd)OR_f2_l+5Bp-$G4pPb!27`nCxuj)lbY3lw#@?!yT6C0mD$=HO}ulz%=>WPWR;}) z()!xK+#BBA)y{-aM%cn#BE%?{baWmmFi%D^^BU01CdSVx0+lV?W9;YPCZTfh^*WhT z;M-YCBK~!(tLz+A_TYhr<5#{{Wln!|P4$ifV>TY^eW5UJgdZ2+w1E5*fEfYEh*4*G zQ@qtB8t9G9IJX{?fJLTkb)#;3>fT2hK@cf1B^r>P$|WGS6J)Uv^OHY;DzK)YmJ-pn zCom0Br?!7Go-(k_x4)$TFqx>1M=m|W2of(VFknrb^#6E`T!7hE3CXZ&%X>Lm@5u9V>`@t8kMS5ammr~Eo^J7(_PKX z|EK$2ROXw&*AWt?aZ9MSLqoK}?@@^eSvAUy$3_oHm%*2Nu5l7kFfce0S;PBPUEZxK zT|L8S-4f;dMZ!8|Ja>1xOw4}=BiMExTnp4IrCZKL_ZvdDui}!H6@}l2E0b0bll&6V zT?9lRP+#YK6dfBrWm!WWvE8ueg%btI6EJFfQOzig{TwzCYT`h-5` zM!huNavLI{na*=#esV`RjvXWccUNz01g=?PSd~4Edu%7rk4#tswgOciZAD*0A}_`!sII#c{$$G zrV0`<@CjBVO}?xkh8BNEP;Kvt+8@vm{*TY&zQxeQm8Ve0BiY(Aqy_*s^fahe$uE#f z?TbO6k#Vone)r$vmx!he5Du{{{jGjy$!-B zs0y!jl3R5Pd*JR1I{?su7<4brknun#B9}q9mLu$^{5E8jnxB7*poQrqGJwcE3J(C- z*(_c+i#%tgEFZtRT@r(F2xPL!+*Eyl?|KG9-!QNq0NM0Tpd*)U4jifm4G8I0(llN0 zpr9bsIk>>a9DdP4BsH;&MSxt$MU5J?5?z&!a@qUGjkkst%zH3#9qOqiW%jcNKU(;= zo?B5N?DGrXvX6iK6k&gCvF7>g1LhOtG6T856S`8;K>G0LNfaai00-HEeaQzt-Hfd< zUlwUMmJobcu%QAF4n%aFZM{N}qhio@qAb9Nb>C$Ay~1)QEHa?kzh-@|29Azk9s>xL zf!elbHCjV|H^rF1%0vy$UHYVB)RXI8310ZJpxy@I{I`FwOdZ3gVtVCb-jm<~0L*7A zF(8VlQ;*E8p3p2GFi*g)_BDo zt|M|%m$dVNPZ8F~!3u+w%6)$|MU{Cll4^~0l< zzr~j7Yk-;^HT9S^FPqV|Qs%I@!Sg0#HetsL8NApG&xXnGl~v7Y+k^|P{==3e_Y)ex zeJ$^M2%1V>>;&D7M~H)!#Q=K2`yf)a_X8PBoIYv$+ot(bX2x znP%@VK8n-!DflhatNA9dchy#7FKv4Maq@qfuIcN%p0&^3cEw2h?ko|YzibwMg7uhB z9AHV~K*xlFwUsktFYZl(7Y<)rp0N1k;cWLGO2KO-vcrn@rpP=PSy>T`*)Rs3i<4z5 zt;r$gl@`avS-=4zT1oP6gGg0QiX}R5BoG)W(Y;q9A1i!*xx24nn!;q$_uVien16p| zF&tvK_4D4zZqhlif*RvakT*Meapjl5V+`(;VhW|djO@aO=uD(78Wu-^gfrDo z$r!tz;;>WVXc51>3E7xs;g~f&bNb-Pxt*?X-0ie0W$D=A47K|!lKkn-Lg63Csy97n zCI6v?;4K8<2KJti>0!hyRg5DzqA`EuI&Maf%65+58dz0)c*X2S*R79M1Io(1g?mjU%K!=&8BPOYdu+-lV@cLjIXQly% zha22+&`n4`l0L}8Y@wyFQ@U*Mi`>8$z{>lvYv?cadq|^N9^?TEKn$V?$nAf3P*2e7 zSRaVMu8r8YSvB8vQpK^8A-IzG%@bNFT0(ll@4{O>2;LMb4j)Z3C_KNe2>;bMiI0AsNu z1TYrMAYnp&yKg4I@ZW#%cYJ@+O&yOC8k*VgZ#f=-gg4+qNt}UnCs-*rAp!H@= z%9thrQ%UQ;*~&X2o$HW43?rk8&C>HL*V?S@bl3%Be*0-x)YNy>Q5JFzkZGkIsa&1h z>@4qhlY$~|n=#;Jt~PI2GA@(npGdh5GLg%9gs|R^{cLi!>}twYwL^a}ijYr`q-wj7 zMg*<-$F#u|d_+UUfdlhT&Q&7D($5m?q-hkcpaC5@`@`7lEN>pjw`(L(52ekD+{dkJv9 zv!L}SdO=G1`KI#fksY~}3v5TB~b(XU-OvD+!})=LID zzn0UL#lq5G4%etjJeLM7Y_I|}jHGW_i41JP(Zu{he|s;Q3K?rOIhMsWArPsZr^MMp z^uT|B{fCF{%>E?B`Opwy)}&=)Mnkx8NLh&v{2iFDdZuBwS@E1iF@K2AenJ>>UCDVm zNq5;ocNzZS%J+XOhTrj5^<^%XO}M>W*dXRm1-<5{=&Aq|G^$qHI{MD2eu_Yq8Z5of z4}+|0EDFzEH1OoDFx&_t2&d|`i&~mUG@+r6wXT8h%cMR1QQxyWNX4o;as;%a}Xdq#|C4jj0Mh`PF(wuCVy zS~bQYGGv3+U3m ziz+Q}o~OjBISp5}rgxQ>$L}2zC<`|UdypA6+ce)igW>*tZvs|ELD*9=d4b?muxfDh}LR;-~< z{^CRT>eI{uq2xPoVlJn0b2J8jGfMw9sspi_j?90a-#k}F@dq@gVC;n>-{a!Jsb$`%)12d9cu zeRqZ$HGIZ(q8s!_Yf^@pE~B_)gX#)l)gO|cbq-ffhy_cNG0d}<>0kR5-t9#0z)(u2I$Iz;GvUYdrn_&+MGcN2CP zc6a4D2(r z|3XP;`to2#?#-vmZkgYjSmy%uctEOmDd^Q_`XHMY>}kWu`f**0=H0@L6Io*YvDy|! zYn~U`&7uT5-D6wdV`3lG`@?M0U%&zOnvCVD{qe?l8?KO%q^rr~gYRc@OrAl0V}}w6 zv%8?l22Xf+ruN(VVcp1<*I!IqqX~as-Dd39za3DYcrpgEwE|)$+or%^ITqu9`gR8r zya55>h{=`AcDbEWwu0BNra7q!CL!~OXWvzuSqtJt%WeE>e^<#jHSjzomVWtSAaduP z!SPXVu5!tlnCP|A+*0i}Ur5j=FVab=@b#tIr)gTq_NAU!zipuy_vqCp9cX_yN}9zg z@Ou`W)NUPhBxHUAff=L zMG!jO0;W-+(e~E9r)wiQzKW1Xzkz@E)Yul6@VqejsKn}6ATvE(a8>gv z%w$e4N$O^o81GR-^P%^4z8HVe2Y9@1nj#zHax@Hzq;IX6pR+{II6bWhN~yO$(qH{! z1Vq-53;n#H?$YSTo@$fH*6vNROZZV|4T1U41e_4ih?Zo0)&VD?khgOOjP8^SyYEGw zDxSCgYd<6{+}!#~J+)?tZ=hGyy4ab+`(8XJLhtGk&h~X{7MqrdTRVR~pwTEmw8XxV zEnlchv&tCk~O$PDtSrK_KrW}F4bKmk6 zW(?G=LN1E3CFjkQQLPlcmK#wl=Mv8!HMv6H%$;`(>|fKlVDs6mn|Gf=7~95N7}VzW zX{CQqier3`h^7n5)=YnRk~Hq{#_~8T=-eFz#0(D}c?L;PW4iY}c#%UCL9~kXVU6Ux zBDn78T;cV}Ds&trU2DdCuI;@=E7k3`fu8PoWIq8>w~3QonI5JtqUpf^KS030x27N} zbWsyN8mkFQ$!f;CD2etaf?wx+)6AR{2mTOk`x*MXHFtJzx`h?ulMDubLdL%BJqC@p z-EQ0aHC}H=RLp=ebHK|q;gHZl=UNJ^e$ikjU(D&HR;|jhSX!RocEMHut7}0Tf;;1~ zlIDcY;Wzk?lXbKoD|cFLZ6jOHzqr^!oc%Q5TuyXR>(J-V#k=Ns?Wl2e{a zFdwRF1xO&gdUiS-G^9YqlC7QfR45ZR1t^MLZiu@wtzsX zj(_wizM2Joa^XcFKk8Q&DO$D_1vmKsx549)t6#ME_@(3xs@-{iHyJ_XjdaP&Ze>64 zmJek%BMNA`ErqyPr4RmoQTfV#DDBCotNPzgx5u}*|HXVm8Y??GOWXbGq$?Bu|29MZ zdl&%*kQF#5#zD=_#Z|f)w@4Ztg&z1vjBa1oWsT0m4%ouSSDDNh_pURFTc=zv?7u#j zlLuFS>e?L^lH0w1PN#Ujae=B!t$O|<-53rr#ow9Ua{}DyWc)R75N`HE8qCMtKNb;A z?jbKrNBjJ#k;jyfbVo>XP1$-`vVnd2rwlJ%{+g=A@D+}76usZl?MU!Kq2Ef)vx0wj zE|<4=N$--qE9?z80sy4Ngw^)Zt&g_rTcQsZ^8>kAE;I9g?H-M`yVf0Gt;j^1ZpWC; z5RQFw&?ViMormo%Dilr%cr`YfnpTAH@<_dxsFr>55i)8p1^13ClQJu#aYat-$%DN- zp{RnAU0w7<=^)7`q&ElvNZ2Vqm+sU3!k*u?6##X<%nPhDRkI*+K@qj!>%~}B&<}Ci zzuaE&ue!DK1^^#$){2jJxizUFKUVw#F!h zg;hM*rM^XT86VBqQj}AN;Z%uD2lcgRg>ec@_lMha>0MkMme$QRWr58hIEH~DFczD= z$jCI_AvB);m8@2GcTqjatlzEJwYai75>DYBAot0CE38;PFel{Q^$4T4?i1mhFY&P{ro26gdKAlLf> zALM=_y(tSV5gVo0p7?E4k($vVDD8#J`Z9FQ8NTgYh1bh|`dYeUh|gUY5g7obzPP%u zykAv+x42$dg!JFlYhA4rhw*XQwawg_A;5Bj)>qHJc#r=J+{4j=*U;G9THz5&`b@En zJ=@p)X&l}sxmo-Y>_xn5Udd|fk{1M3-n5tdZprgyCzkx~iTv3jy7#Z3(_h$3T3+;d z?6gmfctiR=kIn5F#pP_=+NPy>hnI20YoN`4SRH~+t+pPU|z&bMZN*3nqKv2d6YExxV}CgC#gcJ zRDgL;w>#p?;&H0rJi)4a%H@IAC+~-e_%4j_MzMTLB_$*(r$!?vQW^Pf!1(B9c!O_$ zAUh2Ke?-1@kz6X-)g>itnx1AF&}*y?1(nNYqj7}ovG0TDLkbhxbP*rkF2g<^0SD7| z6VrKY=m_po?|dDoZD>XQQjIu?D@7CxV@u78)QXBr+p8g7U1vgM{r(Fw6e(|9)w2_@ z@d|(P!yPE%1y!1pTo`CEkeXQLycMu;D4nx^$}&*n z^Cn%q<8R_WM#;W^>wfHgRo87+Ag0>tzu&^O2Va5FeMsJ=g#k&t01=E#W&h3|+F#sXGunnh^X!(FIZb^Dy&Ky4 zmE2=HdIMt+-`&uo<)LaELe&v}!$sbK{6>>4Ti4!bsP?y_`;NU5`53ESN;K^^3e6yow}4Yln#f=S@S=#I<~;$O&+SUu8H&d8Sv!i^ymd^kID$S7z=nKm z1EV2(n^FtakK83{g>Q959DE`hQ0t*084|$my*b#IxErOnL2U|fE~1CHvnD9H08+Ye;#6hRL%g#HnXWusP7<6Eaos*Y)w=VRuM`fdYw_Q z4KdGg(-ZvwYzR7hL13O_cd>9fN>2Q?l=aU5V(%Nt%t;gBEZ>_ulJvfZn*BG{Ez?WJ zhz}tS@Ld`SLQ|}3DM-wJ1)Q|^qN+ev0bsjKJsp$8GA)V6={7M*5Kx&zHKteomQ8Pn zz6TQ#)9HWt-!QCZ*IQK-oDn=60?$LQk3DA{owm7{=Azm;el~1BVq*tOokru1_MT`8 z4hRJxWBOGEm%2>(v){VNfyj`yM8Xv1UWp71#%~Uhkr~ujjl11(Go^T84h)51GNtuV z<{KFHzIU>ti=_z+To-lvg%3%;J9?n@A=G|XC~Ya(b3S2YUK+9z+;@VJbV{ope9j>g z8HkpmL4HgMP@iK64_-k zZ46W=lZH&B^=-Lzt=%cZ>4fwW{9qmZEv4{1udc`mNEmVU7hx^|R`<0JnHjwNz2r>V zu8g|i7Qk4va7fcF-s`d}nCmG$npQS{6ah~G@^UbLxhk=$c_BY(mHRL;ts1T%Gm`m0tHM)tJJofzcsa0qXVCHC~r2{&+x z2Dm)L6n`>c8FN>DN=qrP8@_uvJ)KiYgpihXbMj}2--t}7T#M})Mon8fF`pymA|eq# zRyt9Cr;DVhuiN8Prc86a@v%4L|2{W?M*6>=n|Kl8EBox6$(}0yjbnCwzlP?c&{f$X zSKvR7p1&m}f*0Gngm}r**6*Y|S5>W-dEPs&1&KFyIF&u^_NzO|dl6c|9;7%sMpE_Ott0$)+u9(9V z=-2l8H_LA}dKt@J8*6Hx+r(}uV)iIlpxoAP^^DA9UnY5=t7hLGdC#?#Ge^zNqvXf$ zAWJ5-{s=GjD{?LL0- z!Vlc5d{e5hmlJEJDwFjImL}j=700r8x>=k=s5Vx`;q&LmyrDf;5$eEBwOAib$$=VQ zXO}Cl+d`huI=BDN@VuQCN8aaumy4MZY=x8aX+RhXRrol&QeY=Vph_Jb4v}vUiqk#)jt9^bF zI$b>)k#x9wmIE%u_#HjeJ5@83hvOli59!}M>fULm-+fN6qTRc1BMW&z`+o=O%{B3% zTYGFzsWNT;JKcWsCsF`^SN_C-!YuoQrHNx81|*^-rix`oQEEN8W+l7bnY5Udx@6cq zpBO~5e{R?It)(2~^7Gm@3sF5<6P&2Hm#BOwq0%HF$;l5fSr+dP?(156p>pFqy)PU* zYrUfUV0`!Y6KsDW&wmr;o^KQ7Yj&sqXQ2EFI-8B0Qk)VAM*Y8k@%4;MrMX(V<|+62 z64VIZm1%h9U#CpPnGty=q3!J-u>Yek#}}$@{sFtqK`nEH$0fCR0Dad(bO7$9N8uOYpBy}M1l*6(uh8Pyu1k-0d(|%lj1>DD;Yef$$s9kF zL)co&R>1vQ>3qWpZTdHtj{ZU1IhJ>rJpqAe*M-F52nA89@Yd%^_ zPg>6308~5q>=`{+d`Qngbd#Q{xgcw3`-dSd{TuZ9o!#f&{2+=Zf=7G#8KPnCg)m zJ$%luOh>iTTwhNr97wG@DA$(BgsNT^^14e;yJ>jb z;ZLa(Q@=7bTLXJHWwH5)Q;X{irL5o0BQe?&d3*JLH;njTt}LAwGV@TA9P^JeCS%}?0axUKJR2zppYy%x$W!?3>*$_B^{KriYD&!+k#vh;I3h{4G zo@<%tfk&2J#r8u??MiDpt9i4B2qtqaAGTo6L~^o!{*8}gfp`S>3U{Z=!%=T^0Vma`BEApbGLGqTMi&L<@{>^f_h!3fs;c@P?_@5td=Icg zqIz_$3bo&PS6%(9WN5SzdMa{%iRC|aDspW%oz;jOw@V*Q!w%-y^CGYl zidRTEWXE$=gT%Qrn?sM~D7llcaft%g@=h6}PP)Gk>AZ3XD812qNMVYQCyE z_D#s@o#OaNq3;aI*eZGxC2w`ztxH*y1fx_s0$YCtj% zeLhXj5OjBVVxzH!IZf`l@p8yL)jl{ot4(F%k%BMxoLZdJx#U9TQf=MpK4(jy@EB6{ zYq@%wkLMq1J(>!xKI5MCirh?J+k6gxd*^_7N>fG^s6$NDW3(Yj2bney_(d=cGr0Ad z&dVl1p8IsK_rIq#7pKe7qS(F^m&{+J(+mLddFNRfDK3JdL^RUMi|=kT@V1Y+Cg}J0 z!akBdH{^T(C4W;C6)n`6-K2~N`*+I2prds!8g6Mp`JvDb&ap1#xVS_Y-VQi_SlMg- z|C{;@`)}&gu@13YpB$3!z!Yi}UEu+F5FWe!o3jAW@4O$k`FL-nYomyqK%gk}%jcu0 zmPX;WU7&5R_V8;{`DRM*)|qM(f$|7}azrUkF14J-x)$7_#XRbizz0qGU+Cdp45?OY zFH482qVzll@TV%H#m5|)+bQLL1SoAa7XG$5`CqWe59Ub=@(M?jauGdNH}SfY$i82g zC`x0JQV57`4R$d>J}WmtPIsI>k3?uOq2xn-fGO^g(faT3aog30*#Vfn-;q8@t(+RkWS-!h0_it<~ymlaQ%nqjBRBA}lH|Cz&lZweZs4FJDr4_Q1LSPa zW(cjbKC;0uMf$$^tD7k1<1f-B(CZNk7S# zX7|Y9yiIQ&$ULjX?H?6DFuFBVQQ&pDsiV&(~VY@>$%7P@@b3CdD^B0CY$n416*mn81x_kDW&oi5J^sXL|cT%7)x|hXwaE z{MnX;dYX)+xVxA56C9*31Go$Ebq1__7`ujU;L9GYX|G8}sbW_Nws_kJjQ!vWq)rs!>)j=cx^ZG|*bhnQ1gWvxshmgA!H4;V-> z=DQ<|xgy~A^;Ywz4qUIWVmQ*IO>lPomODgbZ%YwKLz5he55YTd?1tU`*yALMsU&%8 zrvoC$*+oRx;Eh`bN#UeC|J*h)@s0*4P{(E(BkbYnyQZ9f?~TI6IV2(2P=hbth70MP zKHx+7fHN$QBn&ncyCJ@V)z9|M`8|(p*kNmPk$XDZvH?w3-n!`F3P23hh|_mq(Cdu~ z|ARI;4E6sk^I~xHI82wTbNr3=4J&uhZoW>gYh&VYF7o$Sc9c8gdPjTk$DJ{puTkFWI6B6sLuSP%t5V3GRy}VR>}moG|I#qRl%f>2v0W&xTv887Ph~ zv*EaCj2JCtDJ!U4NOXIy&f=coBDj0YxCbj1$idR$k@HHQYn#w#Z@%F*lB$I1f@7P( zN)o2W>iB+}2!X*!ju@jD%I|AEHk)4yg-)V8<2=HDNfP`CeP@KG1ml(5N*cvn$Oq(*{@FmSGAXt8 ziddX~08EgoYg!21u^z3RwS<&}ytDeCfRhqj#r{Ps2SD9``N^?U3GwI6(cM$Cd@>^F1bG67{;v%yfbZlk6N%=fbe zDtt>jYCUa268ZVz6-!^3KVgs}aLO`F8-tI2n{Z@U?h=adwnYe7M=P{ps&=1Kj9Rif6imQok};<~=Y29}tXhu4hOr(f2`O-~+o!`c)mm<~wSYK_R~+C?CUan@lC2UecE&KXtO8r9fcc@3r+2 z$A(i1T3SxN=EjSK;vL-YF9v=4FHL@bB!_Fx;}2_Iy)Q?pUiPe!MwQ7|DG{bnq2|jY z)*?K(^b#numeq^3eer13tJRsjX&{@wyzz=OGxAj7f#ZW=C|h436^|E>^JpByt^~=o zq2jKaRun1pZL>ArbLHy`vO_|OeN1`{oCgEwC~>$-YkG5Q21{wTD_kP{@B~bMRNvOj z&1sQcCfx-1@K}Cw%%9C|JOV1-t+N&76_+n|ZXsq)=hAT{pR!y$*uY9M%yOF zsMI1l&kG6H&_WDhRByArB+co6I#{or|IJOkk1c48XT$%I;~?+40iV0Z&YtPuaZ1PK zL7|p`nXkW$m8a=VZO}rQHw#@}HS=is)tlPC#24Gdr<5|l!QV%U7_$B7`H@I}c#S(4 z9@CQq_c3}+Io*LzKCp($k{yH?^PV8M-h(@fkBu-g=xF=Qjcf~~IArR7!SK5?30uT( zos9(^>18B+4DaV3nR{?(Ua z{ETmPBcY69?fH%S7ubV;ey^mEP7S4hzY+GA>|J-t5a$DjpY@W&CNnP@ZFSwlSNU#_ zm{oE``1an_1Q|qM?yS*!9VQ{@22gl6;gnz zZgSQa4a=ln!cGfnLPnCfU|~orM4XPe%Rd_DVvg(6ujkCTgyt&%CrSj25hgbFZtd1~ zL(yo1er!X&%?dF1H!;1e8HV={?E%$K0lwB{*sMS;OSwIBVz?DVwdnx9l3T7ZVfZ!I zzW9$wQe5hzoQ0%+dG6O9bjxoyrOVNWZSQ7C=zP=`*Tk(ECl1>RO&C7Gn{h7j0x{65 zCtd<1RY$LK<=>zB;m?{M;g^pqG&c$`A)@ILmhhULlxi^aGsd^C2?l=c^KqA1=_(V- zDkze9E#So07E&Kmko7AeN6*U*`S4*l0`}aaZFgmN3VRuUC^I95@uFZu&kgDQW-@lPZw-A-0UbxvR3bfWI?l@@m8zygkXe)r50a#3qlB|Ybn7qY~dS%F^X zx#Q-%V5BR5D3|H8vC2+i{9a+ghg99yG`{UqgQqq*_1Oz9N}34Oa=&Zxd%38v3C*k-%dmZ!-*LFAGY2yDz0eR8YO~za1ZY8o4hyPe}A0G-kc&{HYvH|<6%ET z%`Be0)u1<&F})!|sH}G~5A7Z|x{mGTf1sZ_X56K6#vo-SM&x}ObAkOZHcEnSap6-q zwZGsw8qe|$SUOI_#oC&P5#MXd=5YMxAC)3XVE93fpRwFwN+VR{oLDKX635naI?)h+ zFn+Er(q+$j5ItbMX8qR(u3RGJGwF~K%+E(o(Hw~{O9?kpoB7r{x;tEXV`FHiX@Lr=g)}Wa*__(93{)uCuU84* zexL6OUDkY(Jq3h!-Z-M0cW_>C1?HT8%6rxXuC%xkl>@Qm27S0`|Ds!N*Df4XidE@q0`Dx!Cvbme zPyklrf790U5uR{6!2J92Cwcod%`=7g&8v?0MQ8M^)~kbaZ9VAA1Vrs00V9ro9b<_8 zJOe6Pg)y$W<7(92Vx|XAeW*o)2C;V<^hN$7F87N{t&1XGy;rTPr!kn1T<@{Cv$j%3 zu8$oGLIAlzy5`CWs_i>)%P8EE4lT<+otm^fRi$iL-t|%aBh0HYS%2@d?2)tC1chg; zpOwq*P&0sRa!y4dD;MW_hSM2;GpRTXy4WoH*F}*xq;N4)FY*~`m8NXXyu^Y)sv==d zM-;NmfL{`~n9+?b5#bFfR}w>|tCO%U%;>B$3+Op_hlN0_FxO&79+=nF{&^MEY?8`0 z{nO`x0eE61BvtmAvo5_JPb|?Dz{Qt?TuZE+v1J)?FHZ+N3eGi_+W{ z_E^Br_ny0v<^sg}0>fWN41+j#b(2yHeHF0EMWwHP=q-MbnT3CB3kD9^A55AlaT*M4 z?t4tan-w3|L|K!kR~PJmQ*r@y+#;=%US(;N0-%q!K_!~IKq{cB{rW|`lTKh)U{GT) zv@~Pk6#hvC)d^F^gmy1MHW8H=%~vc0B(X zihx$1H1<-Ycw1-l&kzHbO6X*zyagldEL8loRY7qN7knx=jFVA+a=IevYTn+8y{Oia zLzI7PwX+h1NUz6|=$|W2CVTKlada?i-U_9!PSxkgOZe9M5=Z57ttFx2?B8DW|w-Q#RvS0W~!hFme7OW#qGsT=2>U zON!PYKE9vALHN6W)~#~680@U+V@7ob*^olzi(1V8?4AixwCkc2MWBxvGmrXhnJHRO zV}S&r;kIsPKeD)J!Ng>z0VP5J^eLVT^3n?Gq$i0wg*z^et{-8QgzFRg4qS0n%c#S248(&(_g@-;5A`A)?-VDAvSDRik84+FxBd(c5O2@2w#+^c5W1jUfpP(ob#`%zpVK8fLD; z8M9LOH*Y!=X&CsV`y;=GrvIc&p+cwpNb%K6LTc21dX{jGzqaYgj7hF^ucrtlc;u;l z#rnrSzVmUF_M%XEC5`U{RWoHQiTqImQ&FKJuvw*kY656fxr?148()UH73z(WTfcDpXFti>N_`h%HlO!;hjO`#ZMX$o635mGc7hw7P|do#i52L>^nX7$&TCz(=z3rJw*HwoF8lxk}7U<&O~VL-6}WH?GGp zX8B`5`%b=ypf*|WA2@JYQ&P+kcCyz&Tfz8=#=zk&bjpNthC_9ZLzRSKF$O=O-s~?- z^+%ZR2QPbXi>5+pJY31n?&-DP&@raVg^cKb%?-sF@Vcai{Detc89(u*;*XQvn<$nM zVW3hjo={p@E8($mqiQ{w?FMMr%zDMqj%^ZtE&mnoz!%AL>b>4SDcXX>{&%lxO_Jd5+<;YK)WNR=duIcgVLxRnJ~7g8#mr{2!sJ`{>t?uIDx=1pHV>)coi zvo;@5&OU*cm$!R?KeEI8;r*i<$9$W4AdIwhMV5XkjIwk^F(p*J6VDMtl+cmQwUT*S zxwV!Z{p^E-`>$22&9eu+tpTLiCa(^E&cPO)Nzl~y3|GckDElWoR&;G<^_l&My@YFJ zvMvW6$a%qJ1ZXHPt>V#=GD1)YyFc>~@`R=zmYUwW7=DV69Y zqi?jZLdjy%Y3*~KP0w}cPpSxiVyYU9{~E%eT*Fd5rip>50zl#Fnjo9@)Zc}?LyF#9 z^wAV;R*4T$_;>()F6ul&zJ~;&?qS$qU(hqJYS4+LUsXIT4X!{z+{$%}9}FYl+>veR zRv_jAr`*3SVwi_qH?;!jQ7i*Y*3nKukYal=uMUok8D=?9=_qei*S6jQ1tL}?K02&$u==NjU zKKg#1L}alFs?l_&*c6=^Br2$Br79r%2wB&U@BTPLI;Nt2oY4WG#KW*8W69ZeB!li# z>u%AwFd!fLT}%OW8xn?gbs-i6KgA*s3|)UO8;#P)o6aw7%ER@43a38cK-NB`_btZA zH1;Y#_cTPNnTs=V$mApBBjgVPAIxK+$f3Qw9)>+x4e?2Jfq<{K=>suj;VaceI^Xj! z{(B;(QA;N&0>`VNYF)GNS_~b7+_7VfFZo2hMeu_g1h(J_Mm(`w!B1S{tD^7a^I+=C zfD)vs$bh1#4br`Twx$Z@r=7vTSYp4bo}-b7)|G9T4`EhvlyAWAZ~tY0B#DX`in^i3 zb%d%;pG5J69AY6)!fQc_@t`Vgwf!FUDN_=2L^Rk3AT>t6Lxw$LAadSB$l#ZgkAJDA zNyX90V<%23-IXLqf1PBg*JV1+MysLXz3FmJa!VT6lOmgcm_r1QfL#(CY{Hr8aFq+i zf}cE6%BLICi_6oniK4#!_v8?l{}<-qp~-={Cnf)o38X6xO8leF6ymphcNZV^HxU}O zl<2~`6(zH{e`g{W&_!Mc49Jk&RQUi-C}{dUFI1t)Z^sLi)Tt!7a1zfL68^b^CwSH& z{cAAhem2{G%#<^fk&Bx!vL#=?LB9O)1ky=mzVQI;a~Mj62PD(Xy+vfY8-jw(0w1#&#%zyuHV z)eCHr@nB7NvM*K`VhK#aD((QX_$R1;jPE}AQt2musPjA*$pB9%oR^u)$=~$kMromU zz!HuOGUGfk-If#(E*dRvymZV6_UE;Uug0i0f3QMhMO6oN#8x;hFLFO(lfi=n$%h&} zNI0LY)>QNo<=uqpY92zi`K-v|Z6?#r+H9p>d^~$>^5p~g%bLvKF`Z;7u!xz{h!Ps` zxHrFlVQyuUbkeEdqf;)IjohhChJ(;xurslx!+i%xkefLx13%k}2!I_#4?VY8m2-^@ zg(bap`CC%tCbWDg0>8F)N2`vbvH05nuqof_aDIGxbPa#5QlQImZ8xUldFu2Q+e62v z0OozjN~1y;u(S{gRQSz;7PNid9N2<9b7(Suu&{V9s#oa1l}3zM%6fIK*H{3=5r?9p&FfvCVGxzJ zG)BqZlYqBgCw$b9jAz^W-|(gb0VE=X9FszUQFxS3sV#hBkgs*rn2E&##PUcRAS09O zmZe|S`M7%%lPbAY>BS&qehC5*v3=Bk`OZN}I`rf|F;KL|BqR^VO>2eHmz~=2*Q(Rv zrQ7VJ2F?8@zt0SC0biYqxfAGFPY+;?L;?nI5Gi~b9`gEs52_D> z5yGp8-r_z^E6mv=7uISsWm!K+tE<(9qd7J#i1P(haxV%z41Hl|Gb^my=?blb79OHQ zlb`^SbD!Vg$WhTb%CvB7;H{l7 z;2E4fd{C=@Gwe}cvO+@alQ+D7wfYAgom)qEtI)>K+Rm)jIN!(s+EJ6}4>uQfNsCYZ zz0VQnQWKtlmUKp8&C*D^tlQ)&yiJ34l^A$iS}dbx(c%H*B9@G$Osbd@z^03{)bLQcXsTAXe%(p|`^P@I^5u6g)MB|oSd zFG%?FEaHIp1 zOJ+TCNT^0=Mz(fzeCqeQ4-d~D5YPb_xo`N1W(&~T9_kFp&8Md@#8B;&Pus=I~XAoR2DG`25)E*JK1@i8y{Jm)XX z8*ZQ6#E^*b<#^GmC)5|gRmubKhY$~EnN>J4j)l<*J*O5f68A6)8{frdG+mRm_|Mho zVhyiyZ5Mf&UJ@B#e)_K7{Nmf1p{OI@h4;JP^Y_e06k~)u%JN8j z@8bGtDD8fmk(t7OWtlE?`&9GAv3xbU;2?#2*waPNM_}lvsBmzkl~^GA;Q8jSsjv>t z2o)gN^u_Zyd1s*XOdjrZ)lg0QF{>lvb`}%{_#$w=pIe$YugAYCBj$MqboDduTU3Ac z$!OZ5TOeuI?&w>RZJsTE_Ehy)5}0l4@VkZu{WPw=+6dl%Ek`!@(9D;+>9T%Uvp)qE zyfDZmN&m8dBc6mLOHI3{L5M@k|G-GiSaP} zL1R7cjbmkYN-e8v z$^g~w6w6o%5-3<%mRBAO^3#CULeP?)NP4G4W;$oRGpn_);za|AoKHjLzDY(Oi+;OH zSDdDQat0v1!((~{6+fX(X*|yr-BG$zm%U%Afvd5D+2_%Hin>MGx{UYlNaa{Z%gG%H z!r$e{0>oWG0bj?Y-WKh_^~sZyffCu$QtrBjRPclPOB$Mr)ZFv@^vud?gNJmck$)c_ zNmMfrsLG9xhOltFbxSI08cs!mXn*s=_nzH$`xcij{DOP;ZdUoMeRK8_OYq!{+BtyNrv`Wgb$nM`Tp^qmt;@GW9GAAo z;8l+T*KRx6iubE9P9(7!kbl4pLtMgBP1`o}%n6J!fai#XboF{EpiriC1+_SdgS3BNo z;j`O!!iGVENkOODkHR?Wem7g3sD7SH=1I|RFJG@`{oJ|f)5eZW%WSNBmzrJN>O6n#5rdP#cl9(vA~lha0~e_g49W5`^^_oH{}* zM{+~UEadZ!GD4b6Gr9L7zG_jpJn8B@iuR>FYRqZLJjnY@I};T^^Vgknq|#n#&D6qX z@mt}m%x8!;R2%$eX~Q!Z*1{#J&r@+L{;WJvCJnbi3ZdRzc_O|8yzvWvqXr1(wHTC- z?+sa^B|~~doQy;S5O4Gyxe7}^KgWH2Hrmfi7hGkA_#7V}(II`QB9*AbYT2UgR-;mn^5s6!` z&JH^58E}8DRG;IEc?W5K8~TlqJB362#hy9Fmbuu^_(%s3B+4l;Eikg zkKSt%6!lS^<2`4+Ou=Xym#(@8d2W*T$881u%aH%3wi>y@kkzV_Mlvw6{Hdpv;WetWH zR9vueiP%ThdPH+GJ+2#YlBf!hD7KIptc`8$Nm2$mDs<-T&Ty^D=~lKfg~{BCn@*zV zr$?(ta1a|&%gDIW#yW_2U}j0D!S^a=IIzWXdIg?4nMFh zqjEUiJWmralkm3s9B#dHo@X84D4IMXw^_g=Q&(q<{NsYvbk?*Pb7b6P%bq`q!`I01 zvstp@fonA!DwlLocXbYd{|F;H8mW0N2sw5ST59m*f?bVF6;wDUZkV!Ydqnv z5>J?>6KS9NsqIduD!;ez+2W5=_OUc9yvZZF zcXJYdp4FRe51wBY@j#>dyz}w(8->$f=MZ;7*~Y5-icnSO+#m7MozIR#iTu-;j*k|J z6B-tQiGX9+Sl`OEb?rk@c!nsnV0ei71)Y(cf}Bdz$i}iR)oVTF+ltRci%y$@BK?fc zB=9=`cazWGGY;40PbU_nQBz*__}g2!y+zr7sB5m3@tM_{%$^=)?N^`fJCmzs@ifY! zpjYPD+1Sp~8>V$XYBy~hEM>|Xx{oXiP)|Nc2#to`wRfL5CNj{&DRIdDg zZKOo4fgML<`>DaYoF>C_re&yIY8i@=TNK0-Y(V{8Z#`A-o1>v?4M$_)se|i@Dy;n+_ulLDRN;&icETeA|EZ|_w=c_2$ecBj*{80RdI*23_K zE04C4gY$9O4R?X2zmKw07j!)v2Lri(818NXt#4h;*~hD?)kWs0CqCDm*r?^e45vQV zwKWr!5+p7rW|{t*{&QqRR?dxE~^xbL1oY{#^*n;kElpt6Epk{1EL z-phuOvi1IX2g#&}IjxJV5s?0WRgKHSb8JQ4jLY7Q7qVy<0W%@b@dD%UhNO}awOMce zmsT*J3u*qmB`^JCW#9P0Eo1dWk%X@!51)!YiVz&}&>TwR3IIRfCDc=;5kbN?9GsYO z&zQLoHNa`ElbVM?Zx42qG zi)rDA!oG*K5AqEj`Zq?;a`k=3LC|X{UYg-GkCoAOekWy<56&^eh4-C9YcEGj9b6An zlXfSRH>W2jrGQ;of8q0g(uSphqgxH3372{ zSgWnSe6I~2*e3j(P4ZLro&?Ch&SrmZEF44jLp8Jve)T*ja_S@%{baqUj0$|Q@!yfWdyeyag76v7peQVi}5z8+td^vh=&8m(>uZFpK6Qz575p7eR zw<5z{ww~YRPp+3>2|$~_zDy#rtYXb@ces&djTyByxxfU5eJ6&DqGqSt`vJiZ4Us}# zzcKW)xtpw45}6Qx%dpUV6YA%41n!!*xDsrgBAf4*=^~%M);l@+aJ;5Z20itj;J?dP zvLwKH$bsRRh z>v`gP5+m1C`gB6v*4|YIloHxE^mh;pz)X|VjzyDygLza14 zxX^K73xCCLB%;p@p0%dQM2hYzi|K$CsuZ>8SGkZv5ns!_yGmNjLqWtW6ZU}rtOB0{ z?p4sm1mNe%{xLKZ)P7Kp+4Jps2ccYFSm;q4d99BQf^Ssv_!z&_E9ly4iVQy^^zfPj z2gk{OcGrun!O7YwSC)r*x#HI^q3V0f8+}G!KSPNlU4hran$%{O&@#U(^wrunnx8ww z&2@ot#x^=vm>FTGWUmGwl*>ROs7Yi?bq_>02&(Boc2OP`C=S3*^nH2M%_*sO}MBDm*Ps5`iW^nAQXv?)pz%`qWc8S=% zfBW`zg@LLAN+SJ#N*1xxkio$A?PB=A#n0&+E3Su!)9_EkHsw1e7z`?%DSi>~bU|5v zB%pN;A)(TiSwGk3?v})BKnQJbxvr?cK0B;3wGBQNxS>ESXz===;zd0bq~YuM%vC5sv+4jeaicrmbBq zG|sw(6tMqv-;766!Mj>;$0_YyUJaywGV_iUWGrSJr17!Yu-7*P=6CXUYp*xi$_*O0 zU5IM?5q&!)chxbF1NR7$f8L$_>fPTzo1@flP%|AuUffe<@eHCZ>a znAHdBe+Z~{eW`|f^9Jf0tBkSD<70ms;OBMivp$b7pTW*18R_dRId$OtipP?SwP#8^ zqj^1z|5km{5v<3V>bfwAcR8gFTctr=f1?L>tu1b--{E)FiaJ!lGD-L1*M#$1wbe^c zdC*^Word)&=xFE$6NH?PZ7k_kLy$MUuvku;!m~my=bCD8z(!Lgh(C*-_5pq_?L9@2 zVB*hrYDRqgg8Ku*ty##xgB{AFkw(Z%J*DkedvlE@4oRmdnEo3uIPx5m5P2*Zf3c59 z>az0s$^9ORUYAgxNg^9%u_1fwA$Fe}n5hSK&XoLFA9L;gq?srK2%hd;8-9?Os%~`% zb-U$Fps1o>qKntkNEwSEej%+k-@87D?AiHJ4J5Jg`n;e}%1#CmJ~LDK#e5?0!Wkq2 zG~b9j&cVav6SQRAMC!8Cnk0Mwe+KLVw~>8D!*Sw#6ANIJH4gbdIKWLMVTL@R72A!s zFqyLdt(!wYxxvLOmgk)WHw2+Wup~d=CpfhfR;*fxKqSnN=D`fJUYr!2QZK`K?`OsS ztYeH6)@m|e1KYW+Ke)CDVdpWx}#<0lx$USLb z&YTKzBgZ1;>$r_r z5)Op8`k-|R!biCk8XNJS8fbBp8A9Zqj|`G6z}k8k)E|F_4=0i$yM&K|+uLrXybl z*f)DjSmk6jSjau$|KZs0a1&BtRT>rzTi8-7$SohPnA@H$?SJVc=D(;nUOGbyM!QU> zpplJNZ8{YN4z)*@e_eKweqBW3y(*9Ys442n!l6cDIB=Q`DW)JmoF``N{}+(Pqh}!K zS;5x)4wU{L>Kpo5@NzU(B$m4TM==-e5g` zDwyPAdVUu;`sJU#{1<}0>I>eP{ZpCyCcK6ZrT`SQq$U!@5PgAf==(N38_ES8YzN2Q*kF#a?t=6B zVAgJL*d2qoX>EH|1^nxSV*iUj#3Ac_VCaKP?_+PaQWCWk9O=@lGm#JbqXMlsj%xDR zcZ(_^k{=Mgf0FUere6jyz^2d2v-z*`jsPBoTjiWbq$I{B=Rd~(R6f6bH=eST-pqq1 zU6L+&oeg*u{5w#Q5E)=u=*;~wTj4+dmNc6|GQ@1+*WDpi^XxZB@JQHkm>1?dujw&M zjcYM-dL;bMg9eT%5zvl`w(2*zwP5I~sIuK_|5ZYde|^!-J>rK39+bQb0167m#xvK% z-*jYQ(W^d(G5`bc4Jtz1)M{kFNj0TjoouNX}~Qxg?h{;8{5K|E;I-M!EH`Qq*us{7De=ftOU8O_ogR(^sF!^r?d{ zm{114e}%^Ac~#2O>9N*0X|X1taCNsM@5iEa+dq~{(0u$xCE0bF97l!j6l@!bopyI7 zERa7-qbApK&~iW^VIZS|-*a=hhB=3A0Qv?c6*;KI?ir}@ZO;je+TTdk%sHM+{h5M9 z?)qX6a%`~QzGcx$r%|@Mum5dRPmYP^zyNcSe?zHR8%q{!?y67dd30W&Pm$X#tanM3 z!MFK?b$7_AG5vPjs?nhD+c)F!HlM_UgcoaM)45U#mq3 zf8}&|phP=2>h^}@!l7CB&rS%yWbxY{tpo@R zql+{e3PnwS4@-b_GSRTp4U7J0u?_V7et>vFO+z*4bf1hjznv zTBS@?N4$VNR_^Q5ZywFud9JaoRcnRR71hfpBrbWEbM9Qt>O8FN+jH^c@dGz_uHsV@ zp)Dsw8^fYe+jLa*)A2bkz(GL?&NN@l;4&06(}I5t&$8W@I<@*sUH(s8i&ro>fAYb7 zUop}r1l4u5R?ekAtH6XsNrnkw zE59fJ=iodi>@W?~xC8t?=+V*7e=KH0x?bkihjUlZ7_)tm0wQKsHf(#3bjiexDQW*- z7*5+0VAvLq`2AyV$ceQI?}zet1{_HU2glU{C&6OZBM)?#Lm!NAISxNcE8}T#;UsRE zy!kP@+xZvH?x)A2p#FV88L|3hrvsn9u7BS#l|#xO!D0<^rVZBMIUtP3b_C``CBt?46nPy4@z+=5*dcV|*! z2?032w=}wN1RyW)if^Fz78Y>#G%xmvqHy}{3#5$P-wiUHY^as&e_OCb9}P3We7Lyk z3+qLw{^ZmZ@gVV-^TQbVmClPzxu6cP>6YjKQGOaqT;g1!|47D62s zFRZ!UlaZJ2QUxou`?N3_p?S!!0EzXfKtYXCT4;!VMUjrcVbZ!`16z$nW_at&&yoi@ zSh1wX=yrRZ9>7zXf9j;|<3aaNDSACDg%SNlM~86=|6hejdi*=3Pj$Ek=j}ob#s7^s zyNXU_8y4?yX@9}JfqIXfA*CBbLkc*iNkHDLBg7~)OoKAW=ht?;H8~KX%J3b_r7p%y zZ|^jy-v8sH#TB=z6Uu~CB^`Xe-`Yi=*!yX`9?1X70{Qr zJtYa-Gbrz2}{7IgoSQpp!vBCxuM5#d09{ ze* zeYrb}v9Bk0W?zupd+H%dq;I&hI5IP5`oIqFs540K)!}nXd{r>n-ywXBPP*OT*|7r~ z6qS_D{bd=1^f+GTO23+^(R5Jm40}PzHjjO~e@GbD_s61k(*zpq2A^7YLRmZ1rqh+V zrVk?(b(WdlLP?&nXbM>0lN5%xw3#;ctICF%)h6_!1v%s!`Y??=;kkPWcuQwmezC=O zpIjQ>{CIq0IED?pma-M<%?)M6vyJYN&EafU*W(nhcKx6HMNU_U((jZ;U>2sOS)g|$ ze>D!YYf;rD?4{C zvhgm32!a~gukKFeJqXde^j0h;^_xrZe{?OA2ZVfZ*zEqBE3L9T{Bdj*R@d{m2mT#x zO$`dRZ?Zo?-l&*%pWI$bQLRi1=G!AUddbZY8d2`>Tq@`19S}$@)}!a%D#eCyzoo%1 z0~>Uv6}hLW(>#hS1aICn{Vj4gepIL2$Vw7-ZJ!(@dC1QmU-H2z-G0%g9Fvjuf1;t@ z76H1N1obSKveVYX>|j;=?4z+xGxji2&1tW@e4N8XxIPW)FlP_wvtyeXGvd&qAUhZ4WeO>wL$01=&GqKqL2k}k2FMp0xSke2oOLR^D zYS+f0qkU6!$IryT0n&)!_Sh24f0#E8sJOy1(T-UVy{q^nr*uVD%o5ROFi#{N-dxg9 zJiD!#dhMWDYnL6wtQ$||*ikk8bPyL1?mOy#;k3||)Y{gC0bd!p#Tp8%DKXOz3_K6& z$RL&7o(x^l(JQ#;sT|F-n@-Q~Z=QH$(L>9Uq;v~bD*|fdJQtR99Kv3neA7Xvw_$8TWKw)5a|Dn6$DG zmT;|pSiIne5)6_1$}DN`f3v+jo+21f(>yMjH_q zqpu2R)s6eegLHSrd4mB$R@^_a@2D7jP6E24Vv&D@<;JcQ;kP!1fAkEbU}t>zQfrZR zDMu^qO+0@QOS!OdArckRm5HJW{wP-+T3mO_~zRZLyMX1bTt4XH|)medzl`(QiM$PK4Pwv%OYvhJ)V7NU0WH#bjMUrh6>jkb_Su5sqa)?Y@h z*$=U6!NVUaW>HQp9*G{iQrc%V^EBCRFSPi2pV+VQ(FTd0e?0Q23HVF(+TvVtot8S5 z`|c7|>yBbA7+$hffb7gyi$XbsZ;aSRF7hRM4&Ga-7;q7k|O27M`FcM!h3TMu(aGxx`EM2ls29c)#19V=WW!CX3a6a_`hSwl0b z=?`A9IU47FSSC_}xmz-wjZ%H!aK$ugaMxKMijo8kdn_eimAe{0UNqcU15MhPKIec| zguLN_f7%XO`m27|0d{zmNBO+B_ts`3o1kTxZe0>1M_j>Gl6kH}8(o`w5J>(Y_M+u0 zmCU0>dzCLOwc~rE=)cS$`ky<*?N^8yz4J}`w0y1{?qfU|@6ys&oLB9X)xyS!u+t`H zeSZM1_MY7pL624J-tlGLW+z*Qf@&=m8)++Se|mGHv|8;~(Q(ZgGmgwg)vaFkwp_K1 zKazF$D_0gM@tw^(eC?wn8sCWu*iWn_UA`M9%OWEbcmi(?h}TC0UmSs-A*o99%)n%A{WWZ< zf0a75bRgdC;+v)#>P?|xQn`nvw$a+^`@=($OKT}t3U{Zh6Nb=}Hl5mBkr@#!gz|UCq|%YduKpeI>GYLE-FI1$ zXnb*!jr?$tVA#^M&UFrG=AcU2pb!^Ne{QA3RyGtHu}l#+FQV-0W01jU7D8VZqBl9) zpc?x~A)D-DF0$8LFT3Q@R+o9+Rp>pEl_A)GJyI)eudwv1-j#!DZdHw{Iw5{GJ`InT zR?)EHQIn1GvP3l4pESQsixG9VZvL0zMnKequ66{L>uv)yd>}3p-a8+9{r|b0f0t?H z=i~5;Ah8l+v^rE9ZR17lZS^l3-_GQ6)r~p-6YN~GT$ySWbwV%nizW8csS8LxYM$vqnQ*7m9h L*F6wn&>AUEBpeFL(={yix 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 YEB}@M%75j*@_$DD2W=%m2LP-D04&zP#3U4u35 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

    XK#*`Fj+ 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

    W^i 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 diff --git a/doc/pub/week45/ipynb/week45.ipynb b/doc/pub/week45/ipynb/week45.ipynb index 18443a8f1..45668051b 100644 --- a/doc/pub/week45/ipynb/week45.ipynb +++ b/doc/pub/week45/ipynb/week45.ipynb @@ -2,36 +2,27 @@ "cells": [ { "cell_type": "markdown", - "id": "6038c455", - "metadata": {}, - "source": [ - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "85e8fd68", "metadata": {}, "source": [ + "\n", "# Week 45: Decisions Trees, Random Forests, Bagging and Boosting\n", + "\n", + " \n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", "Date: **Nov 11, 2021**\n", "\n", - "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license" - ] - }, - { - "cell_type": "markdown", - "id": "f8028a3d", - "metadata": {}, - "source": [ + "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", + "\n", + "\n", + "\n", "## Overview of week 45\n", "\n", "* Thursday: Basics of Decision Trees, Bagging and Voting\n", "\n", + " * [Video of Lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage)\n", + "\n", + "\n", "* Friday: More on Bagging, Voting, Random Forests and start Boosting\n", "\n", "**Videos.**\n", @@ -40,18 +31,18 @@ "\n", "2. [Video on boosting methods by Hastie](https://www.youtube.com/watch?v=wPqtzj5VZus&ab_channel=H2O.ai).\n", "\n", + "\n", + "\n", "**Reading.**\n", "\n", - "1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from [STK-IN4300, lecture 7](https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_7.pdf). Chapter 9.2 of Hastie et al contains also a good discussion." - ] - }, - { - "cell_type": "markdown", - "id": "87e9cace", - "metadata": {}, - "source": [ + "1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from [STK-IN4300, lecture 7](https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_7.pdf). Chapter 9.2 of Hastie et al contains also a good discussion.\n", + "\n", + "\n", + "\n", + "\n", "## Decision trees, overarching aims\n", "\n", + "\n", "We start here with the most basic algorithm, the so-called decision\n", "tree. With this basic algorithm we can in turn build more complex\n", "networks, spanning from homogeneous and heterogenous forests (bagging,\n", @@ -62,6 +53,7 @@ "Decision trees are supervised learning algorithms used for both,\n", "classification and regression tasks.\n", "\n", + "\n", "The main idea of decision trees\n", "is to find those descriptive features which contain the most\n", "**information** regarding the target feature and then split the dataset\n", @@ -71,14 +63,8 @@ "The descriptive features which reproduce best the target/output features are normally said\n", "to be the most informative ones. The process of finding the **most\n", "informative** feature is done until we accomplish a stopping criteria\n", - "where we then finally end up in so called **leaf nodes**." - ] - }, - { - "cell_type": "markdown", - "id": "7cbc9228", - "metadata": {}, - "source": [ + "where we then finally end up in so called **leaf nodes**. \n", + "\n", "## Basics of a tree\n", "\n", "A decision tree is typically divided into a **root node**, the **interior nodes**,\n", @@ -89,50 +75,35 @@ "to our trained model. This is possible since the model has \n", "learned the underlying structure of the training data and hence can,\n", "given some assumptions, make predictions about the target feature value\n", - "(class) of unseen query instances." - ] - }, - { - "cell_type": "markdown", - "id": "8d8cad8e", - "metadata": {}, - "source": [ + "(class) of unseen query instances.\n", + "\n", "## A Sketch of a Tree, Regression problem\n", "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "1910a78f", - "metadata": {}, - "source": [ + "\n", + "\n", + "\n", + "\n", "## A Sketch of a Tree, Classification problem\n", "\n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "b8ad32fa", - "metadata": {}, - "source": [ + "\n", + "\n", + "\n", + "\n", "## A typical Decision Tree with its pertinent Jargon, Classification Problem\n", "\n", "\n", "\n", "\n", - "

    Figure 1:

    \n", + "

    \n", + "\n", + "\n", "\n", "\n", - "This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using **Scikit-Learn**'s decision tree classifier. Here we have used the so-called **gini** index (see below) to split the various branches." - ] - }, - { - "cell_type": "markdown", - "id": "b4f17c84", - "metadata": {}, - "source": [ + "\n", + "This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using **Scikit-Learn**'s decision tree classifier. Here we have used the so-called **gini** index (see below) to split the various branches.\n", + "\n", + "\n", + "\n", "## General Features\n", "\n", "The overarching approach to decision trees is a top-down approach.\n", @@ -146,16 +117,12 @@ "* An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.\n", "\n", "This process is then repeated for the subtree rooted at the new\n", - "node." - ] - }, - { - "cell_type": "markdown", - "id": "9d2b7455", - "metadata": {}, - "source": [ + "node.\n", + "\n", + "\n", "## How do we set it up?\n", "\n", + "\n", "In simplified terms, the process of training a decision tree and\n", "predicting the target features of query instances is as follows:\n", "\n", @@ -167,22 +134,21 @@ "\n", "4. Show query instances to the tree and run down the tree until we arrive at leaf nodes\n", "\n", - "Then we are essentially done!" - ] - }, - { - "cell_type": "markdown", - "id": "f9c47829", - "metadata": {}, - "source": [ + "Then we are essentially done!\n", + "\n", + "\n", + "\n", + "\n", + "\n", "## Decision trees and Regression" ] }, { "cell_type": "code", "execution_count": 1, - "id": "a9b40c02", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "%matplotlib inline\n", @@ -279,7 +245,6 @@ }, { "cell_type": "markdown", - "id": "46f5b18a", "metadata": {}, "source": [ "## Building a tree, regression\n", @@ -299,7 +264,6 @@ }, { "cell_type": "markdown", - "id": "9016ab06", "metadata": {}, "source": [ "$$\n", @@ -309,18 +273,11 @@ }, { "cell_type": "markdown", - "id": "3c493861", "metadata": {}, "source": [ "where $\\overline{y}_{R_j}$ is the mean response for the training observations \n", - "within box $j$." - ] - }, - { - "cell_type": "markdown", - "id": "5b4203d6", - "metadata": {}, - "source": [ + "within box $j$. \n", + "\n", "## A top-down approach, recursive binary splitting\n", "\n", "Unfortunately, it is computationally infeasible to consider every\n", @@ -333,14 +290,8 @@ "further down on the tree. It is greedy because at each step of the\n", "tree-building process, the best split is made at that particular step,\n", "rather than looking ahead and picking a split that will lead to a\n", - "better tree in some future step." - ] - }, - { - "cell_type": "markdown", - "id": "38afe033", - "metadata": {}, - "source": [ + "better tree in some future step.\n", + "\n", "## Making a tree\n", "\n", "In order to implement the recursive binary splitting we start by selecting\n", @@ -349,7 +300,6 @@ }, { "cell_type": "markdown", - "id": "5ee51e92", "metadata": {}, "source": [ "$$\n", @@ -359,7 +309,6 @@ }, { "cell_type": "markdown", - "id": "d44d4233", "metadata": {}, "source": [ "and" @@ -367,7 +316,6 @@ }, { "cell_type": "markdown", - "id": "42b18eb4", "metadata": {}, "source": [ "$$\n", @@ -377,7 +325,6 @@ }, { "cell_type": "markdown", - "id": "40ea65e5", "metadata": {}, "source": [ "so that we obtain the lowest MSE, that is" @@ -385,7 +332,6 @@ }, { "cell_type": "markdown", - "id": "5765dd31", "metadata": {}, "source": [ "$$\n", @@ -395,7 +341,6 @@ }, { "cell_type": "markdown", - "id": "c441521b", "metadata": {}, "source": [ "which we want to minimize by considering all predictors\n", @@ -421,14 +366,9 @@ "have three regions. Again, we look to split one of these three regions\n", "further, so as to minimize the MSE. The process continues until a\n", "stopping criterion is reached; for instance, we may continue until no\n", - "region contains more than five observations." - ] - }, - { - "cell_type": "markdown", - "id": "4600886b", - "metadata": {}, - "source": [ + "region contains more than five observations.\n", + "\n", + "\n", "## Pruning the tree\n", "\n", "The above procedure is rather straightforward, but leads often to\n", @@ -443,14 +383,8 @@ "we consider a sequence of trees indexed by a nonnegative tuning\n", "parameter $\\alpha$.\n", "\n", - "Read more at the following [Scikit-Learn link on pruning](https://scikit-learn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html#sphx-glr-auto-examples-tree-plot-cost-complexity-pruning-py)." - ] - }, - { - "cell_type": "markdown", - "id": "2c95bc5f", - "metadata": {}, - "source": [ + "Read more at the following [Scikit-Learn link on pruning](https://scikit-learn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html#sphx-glr-auto-examples-tree-plot-cost-complexity-pruning-py).\n", + "\n", "## Cost complexity pruning\n", "\n", "For each value of $\\alpha$ there corresponds a subtree $T \\in T_0$ such that" @@ -458,7 +392,6 @@ }, { "cell_type": "markdown", - "id": "b37ec50f", "metadata": {}, "source": [ "$$\n", @@ -468,7 +401,6 @@ }, { "cell_type": "markdown", - "id": "1cad8e0d", "metadata": {}, "source": [ "is as small as possible. Here $\\overline{T}$ is \n", @@ -484,23 +416,20 @@ "having a tree with many terminal nodes. The above equation will\n", "tend to be minimized for a smaller subtree. \n", "\n", + "\n", "It turns out that as we increase $\\alpha$ from zero\n", "branches get pruned from the tree in a nested and predictable fashion,\n", "so obtaining the whole sequence of subtrees as a function of $\\alpha$ is\n", "easy. We can select a value of $\\alpha$ using a validation set or using\n", "cross-validation. We then return to the full data set and obtain the\n", - "subtree corresponding to $\\alpha$." - ] - }, - { - "cell_type": "markdown", - "id": "cc370b93", - "metadata": {}, - "source": [ + "subtree corresponding to $\\alpha$. \n", + "\n", + "\n", "## Schematic Regression Procedure\n", "\n", "**Building a Regression Tree.**\n", "\n", + "\n", "1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.\n", "\n", "2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of $\\alpha$.\n", @@ -513,14 +442,12 @@ "\n", " * Finally we average the results for each value of $\\alpha$, and pick $\\alpha$ to minimize the average error.\n", "\n", - "4. Return the subtree from Step 2 that corresponds to the chosen value of $\\alpha$." - ] - }, - { - "cell_type": "markdown", - "id": "fa639bd0", - "metadata": {}, - "source": [ + "\n", + "4. Return the subtree from Step 2 that corresponds to the chosen value of $\\alpha$.\n", + "\n", + "\n", + "\n", + "\n", "## A Classification Tree\n", "\n", "A classification tree is very similar to a regression tree, except\n", @@ -534,14 +461,8 @@ "classification tree, we are often interested not only in the class\n", "prediction corresponding to a particular terminal node region, but\n", "also in the class proportions among the training observations that\n", - "fall into that region." - ] - }, - { - "cell_type": "markdown", - "id": "c4334771", - "metadata": {}, - "source": [ + "fall into that region. \n", + "\n", "## Growing a classification tree\n", "\n", "The task of growing a\n", @@ -559,14 +480,9 @@ "When building a classification tree, either the Gini index or the\n", "entropy are typically used to evaluate the quality of a particular\n", "split, since these two approaches are more sensitive to node purity\n", - "than is the classification error rate." - ] - }, - { - "cell_type": "markdown", - "id": "65e09794", - "metadata": {}, - "source": [ + "than is the classification error rate. \n", + "\n", + "\n", "## Classification tree, how to split nodes\n", "\n", "If our targets are the outcome of a classification process that takes\n", @@ -581,7 +497,6 @@ }, { "cell_type": "markdown", - "id": "2351ab6b", "metadata": {}, "source": [ "$$\n", @@ -591,7 +506,6 @@ }, { "cell_type": "markdown", - "id": "827a3f8d", "metadata": {}, "source": [ "We let $p_{mk}$ represent the majority class of observations in region\n", @@ -602,7 +516,6 @@ }, { "cell_type": "markdown", - "id": "35f85c1c", "metadata": {}, "source": [ "$$\n", @@ -612,7 +525,6 @@ }, { "cell_type": "markdown", - "id": "b1909c9f", "metadata": {}, "source": [ "* Gini index $g$" @@ -620,7 +532,6 @@ }, { "cell_type": "markdown", - "id": "4c72e5c9", "metadata": {}, "source": [ "$$\n", @@ -630,7 +541,6 @@ }, { "cell_type": "markdown", - "id": "9354027b", "metadata": {}, "source": [ "* Information entropy or just entropy $s$" @@ -638,7 +548,6 @@ }, { "cell_type": "markdown", - "id": "cd7b6f3e", "metadata": {}, "source": [ "$$\n", @@ -648,7 +557,6 @@ }, { "cell_type": "markdown", - "id": "9fe8b307", "metadata": {}, "source": [ "## Gini Index (or Coefficient or Impurity)\n", @@ -663,27 +571,16 @@ "\n", "3. A value $g=0.5$ means that the elements in a node are uniformly distributed across classes. \n", "\n", - "It favors binary splitting." - ] - }, - { - "cell_type": "markdown", - "id": "a39f2477", - "metadata": {}, - "source": [ + "It favors binary splitting.\n", + "\n", "## Why binary splits?\n", "\n", "It is custom to split to a tree uising binary splits. The reason is\n", "that multiway splits fragment the data too quickly, leaving\n", "insufficient data at the next level down. Multiway splits can be\n", - "achieved by a series of binary split and this is normally preferred." - ] - }, - { - "cell_type": "markdown", - "id": "e3274b4e", - "metadata": {}, - "source": [ + "achieved by a series of binary split and this is normally preferred.\n", + "\n", + "\n", "## Computing a Tree using the Gini Index\n", "\n", "Consider the following example with attributes/features and two\n", @@ -700,17 +597,11 @@ "\n", "3. The number of hours slept as high for more than $8$ hours and below for less than 8 hours of sleep, classified again as either high or low\n", "\n", - "4. The final grade whether it is above or below average" - ] - }, - { - "cell_type": "markdown", - "id": "6a3183bd", - "metadata": {}, - "source": [ + "4. The final grade whether it is above or below average\n", + "\n", "## The Table\n", "\n", - "\n", + "
    \n", "\n", "\n", "\n", @@ -726,14 +617,8 @@ "\n", "\n", "\n", - "
    Grade Trend Hours slept Hours Studied Grade
    Above Low Low Below
    Above High High Above
    " - ] - }, - { - "cell_type": "markdown", - "id": "e5d4eb28", - "metadata": {}, - "source": [ + "\n", + "\n", "## Computing the various Gini Indices\n", "\n", "In computations we will translate all classes into numbers. Being\n", @@ -741,61 +626,43 @@ "\n", "**Gini index for Average trend.**\n", "\n", - "See handwritten notes for Thursday November 11" - ] - }, - { - "cell_type": "markdown", - "id": "98bac75b", - "metadata": {}, - "source": [ + "See handwritten notes for Thursday November 11\n", + "\n", + "\n", + "\n", + "\n", "## Computing the various Gini Indices, Hours slept\n", "\n", + "\n", "**Gini index for hour slept.**\n", "\n", - "See handwritten notes for Thursday November 11" - ] - }, - { - "cell_type": "markdown", - "id": "263f4079", - "metadata": {}, - "source": [ + "See handwritten notes for Thursday November 11\n", + "\n", + "\n", + "\n", + "\n", "## Computing the various Gini Indices, Hours studied\n", "\n", + "\n", "**Gini index for hour studied.**\n", "\n", "See handwritten notes for Thursday November 11\n", "\n", - "For final tree, see the above handwritten notes" - ] - }, - { - "cell_type": "markdown", - "id": "16de86aa", - "metadata": {}, - "source": [ + "\n", + "\n", + "For final tree, see the above handwritten notes\n", + "\n", + "\n", "## A possible code using Scikit-Learn" ] }, { "cell_type": "code", - "execution_count": 1, - "id": "6206aec1", - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'pydot'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompose\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mColumnTransformer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mIPython\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisplay\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mImage\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpydot\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgraph_from_dot_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pydot'" - ] - } - ], + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -868,7 +735,6 @@ }, { "cell_type": "markdown", - "id": "280ae557", "metadata": {}, "source": [ "## Visualizing Trees, More examples" @@ -877,8 +743,9 @@ { "cell_type": "code", "execution_count": 3, - "id": "6c8124ac", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "import os\n", @@ -918,7 +785,6 @@ }, { "cell_type": "markdown", - "id": "8a5e6e58", "metadata": {}, "source": [ "## Visualizing the Tree, The Moons" @@ -927,8 +793,9 @@ { "cell_type": "code", "execution_count": 4, - "id": "7fc84427", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "# Common imports\n", @@ -959,7 +826,6 @@ }, { "cell_type": "markdown", - "id": "51420499", "metadata": {}, "source": [ "## Other ways of visualizing the trees\n", @@ -970,8 +836,9 @@ { "cell_type": "code", "execution_count": 5, - "id": "d01a0b57", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", @@ -985,7 +852,6 @@ }, { "cell_type": "markdown", - "id": "0d5f2779", "metadata": {}, "source": [ "## Printing out as text\n", @@ -997,8 +863,9 @@ { "cell_type": "code", "execution_count": 6, - "id": "18b6d8ae", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", @@ -1013,7 +880,6 @@ }, { "cell_type": "markdown", - "id": "17129339", "metadata": {}, "source": [ "## Algorithms for Setting up Decision Trees\n", @@ -1026,14 +892,8 @@ "We discuss both algorithms with applications here. The popular library\n", "**Scikit-Learn** uses the CART algorithm. For classification problems\n", "you can use either the **gini** index or the **entropy** to split a tree\n", - "in two branches." - ] - }, - { - "cell_type": "markdown", - "id": "08011876", - "metadata": {}, - "source": [ + "in two branches.\n", + "\n", "## The CART algorithm for Classification\n", "\n", "For classification, the CART algorithm splits the data set in two subsets using a single feature $k$ and a threshold $t_k$.\n", @@ -1046,7 +906,6 @@ }, { "cell_type": "markdown", - "id": "624b8153", "metadata": {}, "source": [ "$$\n", @@ -1056,7 +915,6 @@ }, { "cell_type": "markdown", - "id": "353969b6", "metadata": {}, "source": [ "where $G_{\\mathrm{left/right}}$ measures the impurity of the left/right subset and $m_{\\mathrm{left/right}}$\n", @@ -1066,14 +924,8 @@ "and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the\n", "$max\\_depth$ hyperparameter), or if it cannot find a split that will reduce impurity. A few other\n", "hyperparameters control additional stopping conditions such as the $min\\_samples\\_split$,\n", - "$min\\_samples\\_leaf$, $min\\_weight\\_fraction\\_leaf$, and $max\\_leaf\\_nodes$." - ] - }, - { - "cell_type": "markdown", - "id": "bcdb3558", - "metadata": {}, - "source": [ + "$min\\_samples\\_leaf$, $min\\_weight\\_fraction\\_leaf$, and $max\\_leaf\\_nodes$.\n", + "\n", "## The CART algorithm for Regression\n", "\n", "The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the\n", @@ -1082,7 +934,6 @@ }, { "cell_type": "markdown", - "id": "661abdb2", "metadata": {}, "source": [ "$$\n", @@ -1092,7 +943,6 @@ }, { "cell_type": "markdown", - "id": "b1baa1b7", "metadata": {}, "source": [ "Here the MSE for a specific node is defined as" @@ -1100,7 +950,6 @@ }, { "cell_type": "markdown", - "id": "5aeb1ed8", "metadata": {}, "source": [ "$$\n", @@ -1110,7 +959,6 @@ }, { "cell_type": "markdown", - "id": "d7f66eb1", "metadata": {}, "source": [ "with" @@ -1118,7 +966,6 @@ }, { "cell_type": "markdown", - "id": "6bcb07d8", "metadata": {}, "source": [ "$$\n", @@ -1128,20 +975,14 @@ }, { "cell_type": "markdown", - "id": "a5cd6be2", "metadata": {}, "source": [ "the mean value of all observations in a specific node.\n", "\n", "Without any regularization, the regression task for decision trees, \n", - "just like for classification tasks, is prone to overfitting." - ] - }, - { - "cell_type": "markdown", - "id": "f7c1aca8", - "metadata": {}, - "source": [ + "just like for classification tasks, is prone to overfitting.\n", + "\n", + "\n", "## Computing the Gini index\n", "\n", "The example we will look at is a classical one in many Machine\n", @@ -1156,7 +997,7 @@ "humidity and weak and strong for wind.\n", "\n", "The table here summarizes the various attributes and\n", - "\n", + "
    \n", "\n", "\n", "\n", @@ -1176,22 +1017,17 @@ "\n", "\n", "\n", - "
    Day Outlook Temperature Humidity Wind Ride
    13 Overcast Hot Normal Weak 1
    14 Rain Mild High Strong 0
    " - ] - }, - { - "cell_type": "markdown", - "id": "dd90d405", - "metadata": {}, - "source": [ + "\n", + "\n", "## Simple Python Code to read in Data and perform Classification" ] }, { "cell_type": "code", "execution_count": 7, - "id": "055dfb75", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "# Common imports\n", @@ -1265,7 +1101,6 @@ }, { "cell_type": "markdown", - "id": "8fa370be", "metadata": {}, "source": [ "## Computing the Gini Factor\n", @@ -1281,8 +1116,9 @@ { "cell_type": "code", "execution_count": 8, - "id": "2eae920c", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "# Split a dataset based on an attribute and an attribute value\n", @@ -1349,7 +1185,6 @@ }, { "cell_type": "markdown", - "id": "76e6b68a", "metadata": {}, "source": [ "## Entropy and the ID3 algorithm\n", @@ -1381,22 +1216,18 @@ "training examples according to their target classification.\n", "\n", "The ID3 algorithm uses this information gain measure to select among the candidate\n", - "attributes at each step while growing the tree." - ] - }, - { - "cell_type": "markdown", - "id": "c3ef1baf", - "metadata": {}, - "source": [ + "attributes at each step while growing the tree.\n", + "\n", + "\n", "## Cancer Data again now with Decision Trees and other Methods" ] }, { "cell_type": "code", "execution_count": 9, - "id": "7637aca8", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -1444,7 +1275,6 @@ }, { "cell_type": "markdown", - "id": "e2a20f84", "metadata": {}, "source": [ "## Another example, the moons again" @@ -1453,8 +1283,9 @@ { "cell_type": "code", "execution_count": 10, - "id": "6dc739e6", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from __future__ import division, print_function, unicode_literals\n", @@ -1525,7 +1356,6 @@ }, { "cell_type": "markdown", - "id": "ffd5aca0", "metadata": {}, "source": [ "## Playing around with regions" @@ -1534,8 +1364,9 @@ { "cell_type": "code", "execution_count": 11, - "id": "a535e0a3", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "np.random.seed(6)\n", @@ -1562,7 +1393,6 @@ }, { "cell_type": "markdown", - "id": "c43dd40f", "metadata": {}, "source": [ "## Regression trees" @@ -1571,8 +1401,9 @@ { "cell_type": "code", "execution_count": 12, - "id": "2f92a4bc", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "# Quadratic training set + noise\n", @@ -1586,8 +1417,9 @@ { "cell_type": "code", "execution_count": 13, - "id": "786d574c", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", @@ -1598,7 +1430,6 @@ }, { "cell_type": "markdown", - "id": "4667ad89", "metadata": {}, "source": [ "## Final regressor code" @@ -1607,8 +1438,9 @@ { "cell_type": "code", "execution_count": 14, - "id": "1a164143", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", @@ -1654,8 +1486,9 @@ { "cell_type": "code", "execution_count": 15, - "id": "39ad2aed", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", @@ -1690,7 +1523,6 @@ }, { "cell_type": "markdown", - "id": "5b0a0240", "metadata": {}, "source": [ "## Pros and cons of trees, pros\n", @@ -1707,14 +1539,8 @@ "\n", "* Can model interactions between the different descriptive features\n", "\n", - "* Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)" - ] - }, - { - "cell_type": "markdown", - "id": "f05ef6f9", - "metadata": {}, - "source": [ + "* Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)\n", + "\n", "## Disadvantages\n", "\n", "* Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches\n", @@ -1733,14 +1559,9 @@ "\n", "However, by aggregating many decision trees, using methods like\n", "bagging, random forests, and boosting, the predictive performance of\n", - "trees can be substantially improved." - ] - }, - { - "cell_type": "markdown", - "id": "50ea5d1d", - "metadata": {}, - "source": [ + "trees can be substantially improved.\n", + "\n", + "\n", "## Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods\n", "\n", "As stated above and seen in many of the examples discussed here about\n", @@ -1762,28 +1583,22 @@ "\n", "4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)\n", "\n", - "We discuss these methods here." - ] - }, - { - "cell_type": "markdown", - "id": "3dfb29fa", - "metadata": {}, - "source": [ + "We discuss these methods here.\n", + "\n", + "\n", "## An Overview of Ensemble Methods\n", "\n", "\n", "\n", "\n", - "

    Figure 1:

    \n", - "" - ] - }, - { - "cell_type": "markdown", - "id": "9505410d", - "metadata": {}, - "source": [ + "

    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "## Bagging\n", "\n", "The **plain** decision trees suffer from high\n", @@ -1796,14 +1611,9 @@ "\n", "**Bootstrap aggregation**, or just **bagging**, is a\n", "general-purpose procedure for reducing the variance of a statistical\n", - "learning method." - ] - }, - { - "cell_type": "markdown", - "id": "807639f2", - "metadata": {}, - "source": [ + "learning method. \n", + "\n", + "\n", "## More bagging\n", "\n", "Bagging typically results in improved accuracy\n", @@ -1826,14 +1636,10 @@ "trees. A large value indicates an important predictor. Similarly, in\n", "the context of bagging classification trees, we can add up the total\n", "amount that the Gini index is decreased by splits over a given\n", - "predictor, averaged over all $B$ trees." - ] - }, - { - "cell_type": "markdown", - "id": "a3763486", - "metadata": {}, - "source": [ + "predictor, averaged over all $B$ trees.\n", + "\n", + "\n", + "\n", "## Making your own Bootstrap: Changing the Level of the Decision Tree\n", "\n", "Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with\n", @@ -1843,8 +1649,9 @@ { "cell_type": "code", "execution_count": 16, - "id": "e9d87bdd", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "\n", @@ -1903,7 +1710,6 @@ }, { "cell_type": "markdown", - "id": "daf49858", "metadata": {}, "source": [ "## Why Voting?\n", @@ -1920,14 +1726,8 @@ "In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in\n", "each iteration. \n", "\n", - "Decision trees play an important role as our weak classifier. They serve as the basic method." - ] - }, - { - "cell_type": "markdown", - "id": "6a146f2d", - "metadata": {}, - "source": [ + "Decision trees play an important role as our weak classifier. They serve as the basic method. \n", + "\n", "## Tossing coins\n", "\n", "The simplest case is a so-called voting ensemble. To illustrate this,\n", @@ -1949,22 +1749,17 @@ "\n", "The example here shows how we can implement the coin tossing case,\n", "clealry demostrating that after some tosses we see the [law of large](https://en.wikipedia.org/wiki/Law_of_large_numbers)\n", - "numbers kicking in." - ] - }, - { - "cell_type": "markdown", - "id": "42892d97", - "metadata": {}, - "source": [ + "numbers kicking in.\n", + "\n", "## Standard imports first" ] }, { "cell_type": "code", "execution_count": 17, - "id": "231bdf38", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "# Common imports\n", @@ -2008,7 +1803,6 @@ }, { "cell_type": "markdown", - "id": "094cf1cb", "metadata": {}, "source": [ "## Simple Voting Example, head or tail" @@ -2017,8 +1811,9 @@ { "cell_type": "code", "execution_count": 18, - "id": "48790785", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "\n", @@ -2048,7 +1843,6 @@ }, { "cell_type": "markdown", - "id": "d5339f7b", "metadata": {}, "source": [ "## Using the Voting Classifier\n", @@ -2059,8 +1853,9 @@ { "cell_type": "code", "execution_count": 19, - "id": "6a1080ec", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", @@ -2109,7 +1904,6 @@ }, { "cell_type": "markdown", - "id": "47d98581", "metadata": {}, "source": [ "## Voting and Bagging" @@ -2118,8 +1912,9 @@ { "cell_type": "code", "execution_count": 20, - "id": "c7fd3f00", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", @@ -2145,8 +1940,9 @@ { "cell_type": "code", "execution_count": 21, - "id": "c9f7b269", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", @@ -2160,8 +1956,9 @@ { "cell_type": "code", "execution_count": 22, - "id": "b45c2311", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "log_clf = LogisticRegression(random_state=42)\n", @@ -2177,8 +1974,9 @@ { "cell_type": "code", "execution_count": 23, - "id": "f16cc6d0", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", @@ -2191,7 +1989,6 @@ }, { "cell_type": "markdown", - "id": "4018fbab", "metadata": {}, "source": [ "## Random forests\n", @@ -2212,7 +2009,6 @@ }, { "cell_type": "markdown", - "id": "d2e3facd", "metadata": {}, "source": [ "$$\n", @@ -2222,7 +2018,6 @@ }, { "cell_type": "markdown", - "id": "7a73c7de", "metadata": {}, "source": [ "In building a random forest, at\n", @@ -2240,14 +2035,9 @@ "lead to as large of a reduction in variance as averaging many\n", "uncorrelated quantities. In particular, this means that bagging will\n", "not lead to a substantial reduction in variance over a single tree in\n", - "this setting." - ] - }, - { - "cell_type": "markdown", - "id": "761888c6", - "metadata": {}, - "source": [ + "this setting.\n", + "\n", + "\n", "## Random Forest Algorithm\n", "The algorithm described here can be applied to both classification and regression problems.\n", "\n", @@ -2264,22 +2054,19 @@ "\n", "3. split the node into daughter nodes\n", "\n", - "4. Output then the ensemble of trees $\\{T_b\\}_1^{B}$ and make predictions for either a regression type of problem or a classification type of problem." - ] - }, - { - "cell_type": "markdown", - "id": "4a3c676f", - "metadata": {}, - "source": [ + "\n", + "\n", + "4. Output then the ensemble of trees $\\{T_b\\}_1^{B}$ and make predictions for either a regression type of problem or a classification type of problem. \n", + "\n", "## Random Forests Compared with other Methods on the Cancer Data" ] }, { "cell_type": "code", "execution_count": 24, - "id": "0839a696", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -2352,7 +2139,6 @@ }, { "cell_type": "markdown", - "id": "57e88525", "metadata": {}, "source": [ "Recall that the cumulative gains curve shows the percentage of the\n", @@ -2361,22 +2147,18 @@ "\n", "Similarly, the receiver operating characteristic curve, or ROC curve,\n", "displays the diagnostic ability of a binary classifier system as its\n", - "discrimination threshold is varied. It plots the true positive rate against the false positive rate." - ] - }, - { - "cell_type": "markdown", - "id": "4515344d", - "metadata": {}, - "source": [ + "discrimination threshold is varied. It plots the true positive rate against the false positive rate.\n", + "\n", + "\n", "## Compare Bagging on Trees with Random Forests" ] }, { "cell_type": "code", "execution_count": 25, - "id": "d80e2f55", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -2387,8 +2169,9 @@ { "cell_type": "code", "execution_count": 26, - "id": "27457485", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "bag_clf.fit(X_train, y_train)\n", @@ -2402,7 +2185,6 @@ }, { "cell_type": "markdown", - "id": "e25dd4ec", "metadata": {}, "source": [ "## Boosting, a Bird's Eye View\n", @@ -2415,14 +2197,9 @@ "This is done by applying in an iterative way a weak (or a standard\n", "classifier like decision trees) to modify the data. In each iteration\n", "we emphasize those observations which are misclassified by weighting\n", - "them with a factor." - ] - }, - { - "cell_type": "markdown", - "id": "92dafde6", - "metadata": {}, - "source": [ + "them with a factor.\n", + "\n", + "\n", "## What is boosting? Additive Modelling/Iterative Fitting\n", "\n", "Boosting is a way of fitting an additive expansion in a set of\n", @@ -2432,7 +2209,6 @@ }, { "cell_type": "markdown", - "id": "bc20c85e", "metadata": {}, "source": [ "$$\n", @@ -2442,7 +2218,6 @@ }, { "cell_type": "markdown", - "id": "4ba594a4", "metadata": {}, "source": [ "where $\\beta_m$ are the expansion parameters to be determined in a\n", @@ -2457,7 +2232,6 @@ }, { "cell_type": "markdown", - "id": "8593117f", "metadata": {}, "source": [ "$$\n", @@ -2467,7 +2241,6 @@ }, { "cell_type": "markdown", - "id": "cc0781ac", "metadata": {}, "source": [ "where $t=\\gamma_0+\\gamma_1 x$ and the parameters $\\gamma_0$ and\n", @@ -2479,7 +2252,6 @@ }, { "cell_type": "markdown", - "id": "ce1a2a56", "metadata": {}, "source": [ "$$\n", @@ -2489,7 +2261,6 @@ }, { "cell_type": "markdown", - "id": "93ab835c", "metadata": {}, "source": [ "In this case the function $f(x)$ was replaced by the design matrix\n", @@ -2500,7 +2271,6 @@ }, { "cell_type": "markdown", - "id": "d9a0cc62", "metadata": {}, "source": [ "$$\n", @@ -2510,17 +2280,11 @@ }, { "cell_type": "markdown", - "id": "a4e87a0b", - "metadata": {}, - "source": [ - "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$." - ] - }, - { - "cell_type": "markdown", - "id": "4cd671b2", "metadata": {}, "source": [ + "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$.\n", + "\n", + "\n", "## Iterative Fitting, Regression and Squared-error Cost Function\n", "\n", "The way we proceed is as follows (here we specialize to the squared-error cost function)\n", @@ -2537,16 +2301,12 @@ "\n", "c. Determine then the new values $f_m(x)=f_{m-1}(x) +\\beta_m b(x;\\gamma_m)$\n", "\n", + "\n", "We could use any of the algorithms we have discussed till now. If we\n", "use trees, $\\gamma$ parameterizes the split variables and split points\n", - "at the internal nodes, and the predictions at the terminal nodes." - ] - }, - { - "cell_type": "markdown", - "id": "f9e4e4c5", - "metadata": {}, - "source": [ + "at the internal nodes, and the predictions at the terminal nodes.\n", + "\n", + "\n", "## Squared-Error Example and Iterative Fitting\n", "\n", "To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.\n", @@ -2558,7 +2318,6 @@ }, { "cell_type": "markdown", - "id": "98051368", "metadata": {}, "source": [ "$$\n", @@ -2568,7 +2327,6 @@ }, { "cell_type": "markdown", - "id": "b89afedd", "metadata": {}, "source": [ "We start our iteration by simply setting $f_0(x)=0$. \n", @@ -2577,7 +2335,6 @@ }, { "cell_type": "markdown", - "id": "4ce53503", "metadata": {}, "source": [ "$$\n", @@ -2587,7 +2344,6 @@ }, { "cell_type": "markdown", - "id": "bfd354cd", "metadata": {}, "source": [ "and" @@ -2595,7 +2351,6 @@ }, { "cell_type": "markdown", - "id": "1cdd2ab0", "metadata": {}, "source": [ "$$\n", @@ -2605,7 +2360,6 @@ }, { "cell_type": "markdown", - "id": "abc6bca0", "metadata": {}, "source": [ "We can then rewrite these equations as (defining $\\boldsymbol{w}=\\boldsymbol{e}+\\gamma \\boldsymbol{x})$ with $\\boldsymbol{e}$ being the unit vector)" @@ -2613,7 +2367,6 @@ }, { "cell_type": "markdown", - "id": "15ab72b0", "metadata": {}, "source": [ "$$\n", @@ -2623,7 +2376,6 @@ }, { "cell_type": "markdown", - "id": "30076526", "metadata": {}, "source": [ "which gives us $\\beta = \\boldsymbol{w}^T\\boldsymbol{y}/(\\boldsymbol{w}^T\\boldsymbol{w})$. Similarly we have" @@ -2631,7 +2383,6 @@ }, { "cell_type": "markdown", - "id": "036983c0", "metadata": {}, "source": [ "$$\n", @@ -2641,21 +2392,16 @@ }, { "cell_type": "markdown", - "id": "01855f77", "metadata": {}, "source": [ "which leads to $\\gamma =(\\boldsymbol{x}^T\\boldsymbol{y}-\\beta\\boldsymbol{x}^T\\boldsymbol{e})/(\\beta\\boldsymbol{x}^T\\boldsymbol{x})$. Inserting\n", "for $\\beta$ gives us an equation for $\\gamma$. This is a non-linear equation in the unknown $\\gamma$ and has to be solved numerically. \n", "\n", "The solution to these two equations gives us in turn $\\beta_1$ and $\\gamma_1$ leading to the new expression for $f_1(x)$ as\n", - "$f_1(x) = \\beta_1(1+\\gamma_1x)$. Doing this $M$ times results in our final estimate for the function $f$." - ] - }, - { - "cell_type": "markdown", - "id": "ea3b23fd", - "metadata": {}, - "source": [ + "$f_1(x) = \\beta_1(1+\\gamma_1x)$. Doing this $M$ times results in our final estimate for the function $f$. \n", + "\n", + "\n", + "\n", "## Iterative Fitting, Classification and AdaBoost\n", "\n", "Let us consider a binary classification problem with two outcomes $y_i \\in \\{-1,1\\}$ and $i=0,1,2,\\dots,n-1$ as our set of\n", @@ -2667,7 +2413,6 @@ }, { "cell_type": "markdown", - "id": "785ad3fb", "metadata": {}, "source": [ "$$\n", @@ -2677,7 +2422,6 @@ }, { "cell_type": "markdown", - "id": "bcdd75ca", "metadata": {}, "source": [ "The iterative procedure starts with defining a weak classifier whose\n", @@ -2691,7 +2435,6 @@ }, { "cell_type": "markdown", - "id": "4066ea94", "metadata": {}, "source": [ "$$\n", @@ -2701,7 +2444,6 @@ }, { "cell_type": "markdown", - "id": "2bd9f2bd", "metadata": {}, "source": [ "will be a function of" @@ -2709,7 +2451,6 @@ }, { "cell_type": "markdown", - "id": "4e0d1bcd", "metadata": {}, "source": [ "$$\n", @@ -2719,7 +2460,6 @@ }, { "cell_type": "markdown", - "id": "c843142c", "metadata": {}, "source": [ "## Adaptive Boosting, AdaBoost\n", @@ -2729,7 +2469,6 @@ }, { "cell_type": "markdown", - "id": "fa9764ef", "metadata": {}, "source": [ "$$\n", @@ -2739,7 +2478,6 @@ }, { "cell_type": "markdown", - "id": "08271d96", "metadata": {}, "source": [ "The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the\n", @@ -2748,7 +2486,6 @@ }, { "cell_type": "markdown", - "id": "730500b4", "metadata": {}, "source": [ "$$\n", @@ -2758,7 +2495,6 @@ }, { "cell_type": "markdown", - "id": "a5cfcea5", "metadata": {}, "source": [ "We optimize $\\beta$ and $G$ for each value of $m=1:M$ as we did in the regression case.\n", @@ -2767,7 +2503,6 @@ }, { "cell_type": "markdown", - "id": "f120a894", "metadata": {}, "source": [ "$$\n", @@ -2777,17 +2512,10 @@ }, { "cell_type": "markdown", - "id": "b9b9773e", - "metadata": {}, - "source": [ - "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$." - ] - }, - { - "cell_type": "markdown", - "id": "945e7c76", "metadata": {}, "source": [ + "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$.\n", + "\n", "## Building up AdaBoost\n", "\n", "First, for any $\\beta > 0$, we optimize $G$ by setting" @@ -2795,7 +2523,6 @@ }, { "cell_type": "markdown", - "id": "02655c91", "metadata": {}, "source": [ "$$\n", @@ -2805,7 +2532,6 @@ }, { "cell_type": "markdown", - "id": "a75a0f9b", "metadata": {}, "source": [ "which is the classifier that minimizes the weighted error rate in predicting $y$.\n", @@ -2815,7 +2541,6 @@ }, { "cell_type": "markdown", - "id": "ae35403a", "metadata": {}, "source": [ "$$\n", @@ -2825,7 +2550,6 @@ }, { "cell_type": "markdown", - "id": "091c1c6f", "metadata": {}, "source": [ "which can be rewritten as" @@ -2833,7 +2557,6 @@ }, { "cell_type": "markdown", - "id": "30eb3053", "metadata": {}, "source": [ "$$\n", @@ -2843,7 +2566,6 @@ }, { "cell_type": "markdown", - "id": "f6a6d37d", "metadata": {}, "source": [ "which leads to" @@ -2851,7 +2573,6 @@ }, { "cell_type": "markdown", - "id": "37e33765", "metadata": {}, "source": [ "$$\n", @@ -2861,7 +2582,6 @@ }, { "cell_type": "markdown", - "id": "fffc2eed", "metadata": {}, "source": [ "where we have redefined the error as" @@ -2869,7 +2589,6 @@ }, { "cell_type": "markdown", - "id": "f5a1e2cc", "metadata": {}, "source": [ "$$\n", @@ -2879,7 +2598,6 @@ }, { "cell_type": "markdown", - "id": "922eb174", "metadata": {}, "source": [ "which leads to an update of" @@ -2887,7 +2605,6 @@ }, { "cell_type": "markdown", - "id": "e20016de", "metadata": {}, "source": [ "$$\n", @@ -2897,7 +2614,6 @@ }, { "cell_type": "markdown", - "id": "2c6ddb1a", "metadata": {}, "source": [ "This leads to the new weights" @@ -2905,7 +2621,6 @@ }, { "cell_type": "markdown", - "id": "d10fc0fe", "metadata": {}, "source": [ "$$\n", @@ -2915,7 +2630,6 @@ }, { "cell_type": "markdown", - "id": "da5a926c", "metadata": {}, "source": [ "## Adaptive boosting: AdaBoost, Basic Algorithm\n", @@ -2933,7 +2647,6 @@ }, { "cell_type": "markdown", - "id": "d5985efa", "metadata": {}, "source": [ "$$\n", @@ -2943,17 +2656,10 @@ }, { "cell_type": "markdown", - "id": "19bb8280", - "metadata": {}, - "source": [ - "where the function $I()$ is one if we misclassify and zero if we classify correctly." - ] - }, - { - "cell_type": "markdown", - "id": "7608b386", "metadata": {}, "source": [ + "where the function $I()$ is one if we misclassify and zero if we classify correctly. \n", + "\n", "## Basic Steps of AdaBoost\n", "\n", "With the above definitions we are now ready to set up the algorithm for AdaBoost.\n", @@ -2965,7 +2671,6 @@ }, { "cell_type": "markdown", - "id": "0ae121e3", "metadata": {}, "source": [ "$$\n", @@ -2975,7 +2680,6 @@ }, { "cell_type": "markdown", - "id": "6a21a16e", "metadata": {}, "source": [ "1. Then we start looping over all attempts at classifying, namely we start an iterative process for $m=1:M$, where $M$ is the final number of classifications. Our given classifier could for example be a plain decision tree.\n", @@ -2988,6 +2692,7 @@ "\n", "d. Set the new weights to $w_i = w_i\\times \\exp{(\\alpha_m I(y_i\\ne G(x_i)}$.\n", "\n", + "\n", "5. Compute the new classifier $G(x)= \\sum_{i=0}^{n-1}\\alpha_m I(y_i\\ne G(x_i)$.\n", "\n", "For the iterations with $m \\le 2$ the weights are modified\n", @@ -2996,14 +2701,10 @@ "classified properly. As this proceeds, the observations which were\n", "difficult to classifiy correctly are given a larger influence. Each\n", "new classification step $m$ is then forced to concentrate on those\n", - "observations that are missed in the previous iterations." - ] - }, - { - "cell_type": "markdown", - "id": "5a06c2c0", - "metadata": {}, - "source": [ + "observations that are missed in the previous iterations.\n", + "\n", + "\n", + "\n", "## AdaBoost Examples\n", "\n", "Using **Scikit-Learn** it is easy to apply the adaptive boosting algorithm, as done here." @@ -3012,8 +2713,9 @@ { "cell_type": "code", "execution_count": 27, - "id": "5879f377", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", @@ -3041,7 +2743,6 @@ }, { "cell_type": "markdown", - "id": "e9279b9f", "metadata": {}, "source": [ "## Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent\n", @@ -3052,14 +2753,8 @@ "\n", "In order to understand the method, let us illustrate its basics by\n", "bringing back the essential steps in linear regression, where our cost\n", - "function was the least squares function." - ] - }, - { - "cell_type": "markdown", - "id": "89199bb6", - "metadata": {}, - "source": [ + "function was the least squares function.\n", + "\n", "## The Squared-Error again! Steepest Descent\n", "\n", "We start again with our cost function ${\\cal C}(\\boldsymbol{y}m\\boldsymbol{f})=\\sum_{i=0}^{n-1}{\\cal L}(y_i, f(x_i))$ where we want to minimize\n", @@ -3068,7 +2763,6 @@ }, { "cell_type": "markdown", - "id": "d1d4dff1", "metadata": {}, "source": [ "$$\n", @@ -3078,7 +2772,6 @@ }, { "cell_type": "markdown", - "id": "15d22a20", "metadata": {}, "source": [ "We define a real function $h_m(x)$ that defines our final function $f_M(x)$ as" @@ -3086,7 +2779,6 @@ }, { "cell_type": "markdown", - "id": "0a210fee", "metadata": {}, "source": [ "$$\n", @@ -3096,7 +2788,6 @@ }, { "cell_type": "markdown", - "id": "5cf2a6a3", "metadata": {}, "source": [ "In the steepest decent approach we approximate $h_m(x) = -\\rho_m g_m(x)$, where $\\rho_m$ is a scalar and $g_m(x)$ the gradient defined as" @@ -3104,7 +2795,6 @@ }, { "cell_type": "markdown", - "id": "ace744f9", "metadata": {}, "source": [ "$$\n", @@ -3114,7 +2804,6 @@ }, { "cell_type": "markdown", - "id": "5b5c897f", "metadata": {}, "source": [ "With the new gradient we can update $f_m(x) = f_{m-1}(x) -\\rho_m g_m(x)$. Using the above squared-error function we see that\n", @@ -3125,7 +2814,6 @@ }, { "cell_type": "markdown", - "id": "5562a17c", "metadata": {}, "source": [ "$$\n", @@ -3135,7 +2823,6 @@ }, { "cell_type": "markdown", - "id": "a37be653", "metadata": {}, "source": [ "## Steepest Descent Example\n", @@ -3145,7 +2832,6 @@ }, { "cell_type": "markdown", - "id": "ad73dbb2", "metadata": {}, "source": [ "$$\n", @@ -3155,7 +2841,6 @@ }, { "cell_type": "markdown", - "id": "126d482b", "metadata": {}, "source": [ "We can then proceed and compute" @@ -3163,7 +2848,6 @@ }, { "cell_type": "markdown", - "id": "4d415cc8", "metadata": {}, "source": [ "$$\n", @@ -3173,17 +2857,10 @@ }, { "cell_type": "markdown", - "id": "a1ef6ad9", - "metadata": {}, - "source": [ - "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**." - ] - }, - { - "cell_type": "markdown", - "id": "8961dc18", "metadata": {}, "source": [ + "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**. \n", + "\n", "## Gradient Boosting, algorithm\n", "\n", "Steepest descent is however not much used, since it only optimizes $f$ at a fixed set of $n$ points,\n", @@ -3195,7 +2872,6 @@ }, { "cell_type": "markdown", - "id": "769a885a", "metadata": {}, "source": [ "$$\n", @@ -3205,7 +2881,6 @@ }, { "cell_type": "markdown", - "id": "94f43097", "metadata": {}, "source": [ "The way we proceed in an iterative fashion is to\n", @@ -3219,22 +2894,18 @@ "\n", "c. update the estimate $f_m(x) = f_{m-1}(x)+h_m(u_m,x)$;\n", "\n", - "4. The final estimate is then $f_M(x) = \\sum_{m=1}^M h_m(u_m,x)$." - ] - }, - { - "cell_type": "markdown", - "id": "f7fb4f86", - "metadata": {}, - "source": [ + "\n", + "4. The final estimate is then $f_M(x) = \\sum_{m=1}^M h_m(u_m,x)$.\n", + "\n", "## Gradient Boosting, Examples of Regression" ] }, { "cell_type": "code", "execution_count": 28, - "id": "8b3f2c0c", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -3287,7 +2958,6 @@ }, { "cell_type": "markdown", - "id": "bf4be4e9", "metadata": {}, "source": [ "## Gradient Boosting, Classification Example" @@ -3296,8 +2966,9 @@ { "cell_type": "code", "execution_count": 29, - "id": "bee1829a", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -3344,11 +3015,11 @@ }, { "cell_type": "markdown", - "id": "ac9eb4bb", "metadata": {}, "source": [ "## XGBoost: Extreme Gradient Boosting\n", "\n", + "\n", "[XGBoost](https://github.com/dmlc/xgboost) or Extreme Gradient\n", "Boosting, is an optimized distributed gradient boosting library\n", "designed to be highly efficient, flexible and portable. It implements\n", @@ -3360,22 +3031,17 @@ "boosting system. It has a theoretically justified weighted quantile\n", "sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning.\n", "\n", - "It is now the algorithm which wins essentially all ML competitions!!!" - ] - }, - { - "cell_type": "markdown", - "id": "fbe2011a", - "metadata": {}, - "source": [ + "It is now the algorithm which wins essentially all ML competitions!!!\n", + "\n", "## Regression Case" ] }, { "cell_type": "code", "execution_count": 30, - "id": "878c0380", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -3428,7 +3094,6 @@ }, { "cell_type": "markdown", - "id": "7cf64b38", "metadata": {}, "source": [ "## Xgboost on the Cancer Data\n", @@ -3439,8 +3104,9 @@ { "cell_type": "code", "execution_count": 31, - "id": "65a3e655", - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "\n", @@ -3498,25 +3164,7 @@ ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.8" - } - }, + "metadata": {}, "nbformat": 4, - "nbformat_minor": 5 + "nbformat_minor": 4 } diff --git a/doc/src/week45/week45.do.txt b/doc/src/week45/week45.do.txt index 2fe0ba0ec..9280cea04 100644 --- a/doc/src/week45/week45.do.txt +++ b/doc/src/week45/week45.do.txt @@ -6,6 +6,7 @@ DATE: today ===== Overview of week 45 ===== * Thursday: Basics of Decision Trees, Bagging and Voting + * "Video of Lecture":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage" * Friday: More on Bagging, Voting, Random Forests and start Boosting !bblock Videos From a4d39d23dae9381cd89996a55113868b37a71fc9 Mon Sep 17 00:00:00 2001 From: mhjensen Date: Thu, 11 Nov 2021 16:57:19 +0100 Subject: [PATCH 02/16] Update of schedule --- doc/LectureNotes/schedule.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/LectureNotes/schedule.md b/doc/LectureNotes/schedule.md index 9333732d7..f52eaa0dd 100644 --- a/doc/LectureNotes/schedule.md +++ b/doc/LectureNotes/schedule.md @@ -154,6 +154,7 @@ For the reading assignments we use the following abbreviations: ### Week 45 November 8-12 - Lab Wednesday: Work on project 2, project 3 available. Deadline project 2 is November 15. - Lecture Thursday: Ensemble methods, bagging and random forests + - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage - Lecture Friday: Boosting and gradient boosting - Reading recommendations: - See lecture notes for week 45 at https://compphysics.github.io/MachineLearning/doc/web/course.html. From b473ef4762ef56d7a44ed0a1a081d85691b4e2ff Mon Sep 17 00:00:00 2001 From: mhjensen Date: Thu, 11 Nov 2021 17:17:06 +0100 Subject: [PATCH 03/16] run notebook --- doc/pub/week45/ipynb/DataFiles/cancer.dot | 16 +- doc/pub/week45/ipynb/DataFiles/cancer.png | Bin 246246 -> 248374 bytes .../FigureFiles/gdclassiffiercgain.png | Bin 23897 -> 23897 bytes .../FigureFiles/gdclassiffierconfusion.png | Bin 11660 -> 11660 bytes .../Results/FigureFiles/gdclassiffierroc.png | Bin 24121 -> 24105 bytes .../Results/FigureFiles/gdregression.png | Bin 7918 -> 8148 bytes .../FigureFiles/xdclassiffierconfusion.png | Bin 11616 -> 11616 bytes .../Results/FigureFiles/xdclassiffierroc.png | Bin 23604 -> 23604 bytes doc/pub/week45/ipynb/week45.ipynb | 1255 +++++++++++++++-- 9 files changed, 1112 insertions(+), 159 deletions(-) diff --git a/doc/pub/week45/ipynb/DataFiles/cancer.dot b/doc/pub/week45/ipynb/DataFiles/cancer.dot index 0c1e8242f..be1a64a18 100644 --- a/doc/pub/week45/ipynb/DataFiles/cancer.dot +++ b/doc/pub/week45/ipynb/DataFiles/cancer.dot @@ -6,15 +6,15 @@ edge [fontname=helvetica] ; 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; 2 [label="worst concave points <= 0.135\ngini = 0.031\nsamples = 253\nvalue = [[249, 4]\n[4, 249]]", fillcolor="#e78946"] ; 1 -> 2 ; -3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e5833c"] ; +3 [label="area error <= 48.975\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e5833c"] ; 2 -> 3 ; 4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139"] ; 3 -> 4 ; -5 [label="texture error <= 1.938\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#fdf6f0"] ; +5 [label="mean symmetry <= 0.166\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#fdf6f0"] ; 3 -> 5 ; -6 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139"] ; +6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139"] ; 5 -> 6 ; -7 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139"] ; +7 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139"] ; 5 -> 7 ; 8 [label="mean texture <= 20.84\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#fae9dd"] ; 2 -> 8 ; @@ -30,11 +30,11 @@ edge [fontname=helvetica] ; 11 -> 13 ; 14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#f0b68c"] ; 0 -> 14 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; -15 [label="worst concavity <= 0.318\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#f9e3d4"] ; +15 [label="worst radius <= 17.74\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#f9e3d4"] ; 14 -> 15 ; 16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139"] ; 15 -> 16 ; -17 [label="area error <= 23.16\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#f6d5bd"] ; +17 [label="concave points error <= 0.008\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#f6d5bd"] ; 15 -> 17 ; 18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 17 -> 18 ; @@ -42,13 +42,13 @@ edge [fontname=helvetica] ; 17 -> 19 ; 20 [label="mean concave points <= 0.049\ngini = 0.088\nsamples = 151\nvalue = [[7, 144]\n[144, 7]]", fillcolor="#ea985d"] ; 14 -> 20 ; -21 [label="compactness error <= 0.016\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#ffffff"] ; +21 [label="concave points error <= 0.01\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#ffffff"] ; 20 -> 21 ; 22 [label="gini = 0.0\nsamples = 9\nvalue = [[0, 9]\n[9, 0]]", fillcolor="#e58139"] ; 21 -> 22 ; 23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139"] ; 21 -> 23 ; -24 [label="mean smoothness <= 0.079\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e6853f"] ; +24 [label="worst smoothness <= 0.096\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e6853f"] ; 20 -> 24 ; 25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 24 -> 25 ; diff --git a/doc/pub/week45/ipynb/DataFiles/cancer.png b/doc/pub/week45/ipynb/DataFiles/cancer.png index 4d0fc1208aaad71884069ee860b1ba2c0aad1451..f74fc3c508ff4599733a34bac0d44f9383abea65 100644 GIT binary patch literal 248374 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 CiLphMVOX$a`&pbHa+T0CvYoQ|Wz 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 diff --git a/doc/pub/week45/ipynb/Results/FigureFiles/gdclassiffierconfusion.png b/doc/pub/week45/ipynb/Results/FigureFiles/gdclassiffierconfusion.png index 731ee99b4f36d5d001b57b5a3ae8834c5a82b774..bd2dd5adf6395e607c7fd0afb68567f814525a9f 100644 GIT binary patch delta 20 bcmeB)?unj|%V;z)Pl9Edd{5`bE+$<7P)-L< delta 20 bcmeB)?unj|%V;<;Pl9FfC#zc2? diff --git a/doc/pub/week45/ipynb/Results/FigureFiles/gdclassiffierroc.png b/doc/pub/week45/ipynb/Results/FigureFiles/gdclassiffierroc.png index 8fbf286feaadeb5a76f86c0fffc959a17b946570..458ffab473efb1c89d7a1a38686fa88e0bc3f8ee 100644 GIT binary patch literal 24105 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 mU9xS+e>d#^v!9E%pMCrgez?rdQjW&t2rk z>fB$S&+nY?@BDGj`RBafH@Ej2SJ(A=uE*oPp4S5nHHDp2tW+ctX{X`^c`XuYOFn+F zQEbPbbn$T8;6LO}a*8?>_{WRl%6rZxy7i1 z!ErM-Jw`d!Ft<#Xk1r_b4)r+gah?_qHbEyJ-&v<@BRu_ZL)-tnsIpi|0}_#fw@aIR){O ztBMTq^l}tMoRli~L4!zgZh!hZe#QTPeoX%1x1T?i-bHfpYG=^I9M#Kk7_Lgo$e6G# zvT8eMSaLlyDe1t{(o)5r4&{c1hB4cy#KhM7yAEd>S4vp6MAv@!5W4H|`5V8#y!Hxz z5zQegy2ru6K`HKdXi<^K;2W3G@9nATQ$_(iRGfYfIL1qceGZF>#ncDVIeq`cF0;Ar zGhM&v`1=1b*_|l+=V&_gSA)$xb&(-Eyj^^e2{QIjACMzkqHm7Dpp`7N= z!(sb5^I5T7pZUN+k*guL!&Q}zYYA4#n(XZC9z#93mnFN(-5k=RwSpOsX{o8H@o{mD zKMV8t`I* z+Y-&Ypz*e^*nZ!~j~_)bw$pRD21WP0*Oqqe-hDRDxKh8se47$4>H0uv?M(HiTKGX} zL1r3a0ayP1Wnf}@TWsII^7BPrZ-s|Qgb3??8Lw0C-o0C2Xp?oG8LB+(NcjxAFXe*A zc#K|tQBi$k<2F1hw^|~_X>)Uq?RWk7E@qE;sK@YK3|TJ8HK|T^cNnxVMF=Qsm%doNIX`cI|?qqS@rfq{LH>b@A~naRT8n zF?-{VUv61QR*pOV?fZ9%(*aa_=k1*Y!oO@78yOje_;&wr{`0;4uI2mKEwiKHvh#m` z_ZI?Ah;n>c4RKlaY3?B=%HdDR<_uyL>n&zPFB{p!v+dc#i6`W!<%Po!b7 zog&tYMf#Q~DP1`(!=^K1{ZFU5$Cq5AvdE`T*+|L08y+VdhFY;M2Y;SAbLNauh5N&; zJ7@=rRDX1&D=I6CTsNum5?9}sq!xFr+^Q{^mNTnntuJe_)8^OsxO{%TKBoy zf$ck4<=c{_`^ub-BqStUxpIYAg$$JhvfEFd9I9TQr?#=NS^u{@?DcQ4hc2Y@%-!ue zFZCbdV6_+9Uuuaty5n@}`B0uq#r&8$E@|llmBwua7H{w0zfby#Wjw;pzUAoAqobZL zb8@IR%&4Ai!G3Da)-T|wt*!N%e|Ll=wa_YJH&l^e;N=g}y_*xS9laf2tp;mNyqCGVP>Ph9Ws+naht zvEQq|Mf{!kAp4|_^G9B3>7&E{0%9g8U!DtQOhk=N&da-89{csHsk6iZ)kmV=CO$ki zdgJ_#^Zl#G@}H>q>}4Nbi_Z3{H5Hf;rB0w3vPUq zBO@aNmSJOOujPC@Okc8%+c~gPjr)f>1v^#h=P{KNmi9doAqraG6--gtjY@CSmU_>P zoXghzAgQwb`*5}FzqLu4P}MonGGm9QP0c=u!8!he*9C_7e8O&>u=%5IuvC5C^=M|M z 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 zuV258⪼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 diff --git a/doc/pub/week45/ipynb/Results/FigureFiles/gdregression.png b/doc/pub/week45/ipynb/Results/FigureFiles/gdregression.png index 5592de634266e1300b16850133255f14739ea4a5..170f02202e3cf39a08ee72a6896753f0d3dadc42 100644 GIT binary patch literal 8148 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 literal 7918 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 diff --git a/doc/pub/week45/ipynb/Results/FigureFiles/xdclassiffierconfusion.png b/doc/pub/week45/ipynb/Results/FigureFiles/xdclassiffierconfusion.png index 6c0f198b3a985617c04d9a4b4cc14d562ae8c789..3ab2f6024613fb0f7d3b763248c625d66033bb97 100644 GIT binary patch delta 20 ccmaD5^&o0OE~C-JJPDR*@;#j!yRPW~0A5K5#{d8T delta 20 ccmaD5^&o0OE~DYZJPDS?pR8_e?7F4{0Avygr2qf` diff --git a/doc/pub/week45/ipynb/Results/FigureFiles/xdclassiffierroc.png b/doc/pub/week45/ipynb/Results/FigureFiles/xdclassiffierroc.png index f8ef6a3f04f77eeb7fc4719ae4f793ec94441134..a9d37df1546438a3c69cacc09d90273d2b7c0e94 100644 GIT binary patch delta 22 ecmdn8gK^6a#tFHMMicWSSfy0x)uRWtx^1PTrS diff --git a/doc/pub/week45/ipynb/week45.ipynb b/doc/pub/week45/ipynb/week45.ipynb index 45668051b..d1ee6c975 100644 --- a/doc/pub/week45/ipynb/week45.ipynb +++ b/doc/pub/week45/ipynb/week45.ipynb @@ -146,9 +146,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", @@ -658,11 +656,60 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " (0, 2)\t1.0\n", + " (0, 5)\t1.0\n", + " (0, 8)\t1.0\n", + " (1, 1)\t1.0\n", + " (1, 3)\t1.0\n", + " (1, 6)\t1.0\n", + " (2, 0)\t1.0\n", + " (2, 4)\t1.0\n", + " (2, 6)\t1.0\n", + " (3, 1)\t1.0\n", + " (3, 3)\t1.0\n", + " (3, 7)\t1.0\n", + " (4, 1)\t1.0\n", + " (4, 4)\t1.0\n", + " (4, 7)\t1.0\n", + " (5, 0)\t1.0\n", + " (5, 3)\t1.0\n", + " (5, 7)\t1.0\n", + " (6, 1)\t1.0\n", + " (6, 3)\t1.0\n", + " (6, 6)\t1.0\n", + " (7, 0)\t1.0\n", + " (7, 4)\t1.0\n", + " (7, 7)\t1.0\n", + " (8, 0)\t1.0\n", + " (8, 3)\t1.0\n", + " (8, 7)\t1.0\n", + " (9, 1)\t1.0\n", + " (9, 3)\t1.0\n", + " (9, 6)\t1.0\n", + " (10, 1)\t1.0\n", + " (10, 4)\t1.0\n", + " (10, 7)\t1.0\n", + "Train set accuracy with Decision Tree: 0.82\n" + ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -742,11 +789,119 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "0 17.99 10.38 122.80 1001.0 0.11840 \n", + "1 20.57 17.77 132.90 1326.0 0.08474 \n", + "2 19.69 21.25 130.00 1203.0 0.10960 \n", + "3 11.42 20.38 77.58 386.1 0.14250 \n", + "4 20.29 14.34 135.10 1297.0 0.10030 \n", + ".. ... ... ... ... ... \n", + "564 21.56 22.39 142.00 1479.0 0.11100 \n", + "565 20.13 28.25 131.20 1261.0 0.09780 \n", + "566 16.60 28.08 108.30 858.1 0.08455 \n", + "567 20.60 29.33 140.10 1265.0 0.11780 \n", + "568 7.76 24.54 47.92 181.0 0.05263 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "0 0.27760 0.30010 0.14710 0.2419 \n", + "1 0.07864 0.08690 0.07017 0.1812 \n", + "2 0.15990 0.19740 0.12790 0.2069 \n", + "3 0.28390 0.24140 0.10520 0.2597 \n", + "4 0.13280 0.19800 0.10430 0.1809 \n", + ".. ... ... ... ... \n", + "564 0.11590 0.24390 0.13890 0.1726 \n", + "565 0.10340 0.14400 0.09791 0.1752 \n", + "566 0.10230 0.09251 0.05302 0.1590 \n", + "567 0.27700 0.35140 0.15200 0.2397 \n", + "568 0.04362 0.00000 0.00000 0.1587 \n", + "\n", + " mean fractal dimension ... worst radius worst texture \\\n", + "0 0.07871 ... 25.380 17.33 \n", + "1 0.05667 ... 24.990 23.41 \n", + "2 0.05999 ... 23.570 25.53 \n", + "3 0.09744 ... 14.910 26.50 \n", + "4 0.05883 ... 22.540 16.67 \n", + ".. ... ... ... ... \n", + "564 0.05623 ... 25.450 26.40 \n", + "565 0.05533 ... 23.690 38.25 \n", + "566 0.05648 ... 18.980 34.12 \n", + "567 0.07016 ... 25.740 39.42 \n", + "568 0.05884 ... 9.456 30.37 \n", + "\n", + " worst perimeter worst area worst smoothness worst compactness \\\n", + "0 184.60 2019.0 0.16220 0.66560 \n", + "1 158.80 1956.0 0.12380 0.18660 \n", + "2 152.50 1709.0 0.14440 0.42450 \n", + "3 98.87 567.7 0.20980 0.86630 \n", + "4 152.20 1575.0 0.13740 0.20500 \n", + ".. ... ... ... ... \n", + "564 166.10 2027.0 0.14100 0.21130 \n", + "565 155.00 1731.0 0.11660 0.19220 \n", + "566 126.70 1124.0 0.11390 0.30940 \n", + "567 184.60 1821.0 0.16500 0.86810 \n", + "568 59.16 268.6 0.08996 0.06444 \n", + "\n", + " worst concavity worst concave points worst symmetry \\\n", + "0 0.7119 0.2654 0.4601 \n", + "1 0.2416 0.1860 0.2750 \n", + "2 0.4504 0.2430 0.3613 \n", + "3 0.6869 0.2575 0.6638 \n", + "4 0.4000 0.1625 0.2364 \n", + ".. ... ... ... \n", + "564 0.4107 0.2216 0.2060 \n", + "565 0.3215 0.1628 0.2572 \n", + "566 0.3403 0.1418 0.2218 \n", + "567 0.9387 0.2650 0.4087 \n", + "568 0.0000 0.0000 0.2871 \n", + "\n", + " worst fractal dimension \n", + "0 0.11890 \n", + "1 0.08902 \n", + "2 0.08758 \n", + "3 0.17300 \n", + "4 0.07678 \n", + ".. ... \n", + "564 0.07115 \n", + "565 0.06637 \n", + "566 0.07820 \n", + "567 0.12400 \n", + "568 0.07039 \n", + "\n", + "[569 rows x 30 columns]\n", + " malignant benign\n", + "0 1 0\n", + "1 1 0\n", + "2 1 0\n", + "3 1 0\n", + "4 1 0\n", + ".. ... ...\n", + "564 1 0\n", + "565 1 0\n", + "566 1 0\n", + "567 1 0\n", + "568 0 1\n", + "\n", + "[569 rows x 2 columns]\n" + ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import os\n", "from sklearn.datasets import load_breast_cancer\n", @@ -792,11 +947,20 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -835,11 +999,48 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Text(167.4, 199.32, 'X[2] <= 2.45\\ngini = 0.667\\nsamples = 150\\nvalue = [50, 50, 50]'),\n", + " Text(141.64615384615385, 163.07999999999998, 'gini = 0.0\\nsamples = 50\\nvalue = [50, 0, 0]'),\n", + " Text(193.15384615384616, 163.07999999999998, 'X[3] <= 1.75\\ngini = 0.5\\nsamples = 100\\nvalue = [0, 50, 50]'),\n", + " Text(103.01538461538462, 126.83999999999999, 'X[2] <= 4.95\\ngini = 0.168\\nsamples = 54\\nvalue = [0, 49, 5]'),\n", + " Text(51.50769230769231, 90.6, 'X[3] <= 1.65\\ngini = 0.041\\nsamples = 48\\nvalue = [0, 47, 1]'),\n", + " Text(25.753846153846155, 54.359999999999985, 'gini = 0.0\\nsamples = 47\\nvalue = [0, 47, 0]'),\n", + " Text(77.26153846153846, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", + " Text(154.52307692307693, 90.6, 'X[3] <= 1.55\\ngini = 0.444\\nsamples = 6\\nvalue = [0, 2, 4]'),\n", + " Text(128.76923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 0, 3]'),\n", + " Text(180.27692307692308, 54.359999999999985, 'X[2] <= 5.45\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 2, 1]'),\n", + " Text(154.52307692307693, 18.119999999999976, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 2, 0]'),\n", + " Text(206.03076923076924, 18.119999999999976, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", + " Text(283.2923076923077, 126.83999999999999, 'X[2] <= 4.85\\ngini = 0.043\\nsamples = 46\\nvalue = [0, 1, 45]'),\n", + " Text(257.53846153846155, 90.6, 'X[1] <= 3.1\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 1, 2]'),\n", + " Text(231.7846153846154, 54.359999999999985, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 0, 2]'),\n", + " Text(283.2923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1, 0]'),\n", + " Text(309.04615384615386, 90.6, 'gini = 0.0\\nsamples = 43\\nvalue = [0, 0, 43]')]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "

    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn import tree\n", @@ -862,11 +1063,24 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "|--- petal width (cm) <= 0.80\n", + "| |--- class: 0\n", + "|--- petal width (cm) > 0.80\n", + "| |--- petal width (cm) <= 1.75\n", + "| | |--- class: 1\n", + "| |--- petal width (cm) > 1.75\n", + "| | |--- class: 2\n", + "\n" + ] + } + ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn.tree import DecisionTreeClassifier\n", @@ -1024,11 +1238,78 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " (0, 0)\t1.0\n", + " (0, 7)\t1.0\n", + " (0, 9)\t1.0\n", + " (0, 13)\t1.0\n", + " (1, 3)\t1.0\n", + " (1, 5)\t1.0\n", + " (1, 8)\t1.0\n", + " (1, 12)\t1.0\n", + " (2, 3)\t1.0\n", + " (2, 5)\t1.0\n", + " (2, 8)\t1.0\n", + " (2, 11)\t1.0\n", + " (3, 1)\t1.0\n", + " (3, 5)\t1.0\n", + " (3, 8)\t1.0\n", + " (3, 12)\t1.0\n", + " (4, 2)\t1.0\n", + " (4, 6)\t1.0\n", + " (4, 8)\t1.0\n", + " (4, 12)\t1.0\n", + " (5, 2)\t1.0\n", + " (5, 4)\t1.0\n", + " (5, 10)\t1.0\n", + " (5, 12)\t1.0\n", + " (6, 2)\t1.0\n", + " :\t:\n", + " (8, 12)\t1.0\n", + " (9, 3)\t1.0\n", + " (9, 4)\t1.0\n", + " (9, 10)\t1.0\n", + " (9, 12)\t1.0\n", + " (10, 2)\t1.0\n", + " (10, 6)\t1.0\n", + " (10, 10)\t1.0\n", + " (10, 12)\t1.0\n", + " (11, 3)\t1.0\n", + " (11, 6)\t1.0\n", + " (11, 10)\t1.0\n", + " (11, 11)\t1.0\n", + " (12, 1)\t1.0\n", + " (12, 6)\t1.0\n", + " (12, 8)\t1.0\n", + " (12, 11)\t1.0\n", + " (13, 1)\t1.0\n", + " (13, 5)\t1.0\n", + " (13, 10)\t1.0\n", + " (13, 12)\t1.0\n", + " (14, 2)\t1.0\n", + " (14, 6)\t1.0\n", + " (14, 8)\t1.0\n", + " (14, 11)\t1.0\n", + "Train set accuracy with Decision Tree: 0.73\n" + ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1115,11 +1396,73 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X1 < 0.000 Gini=0.408\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 1.000 Gini=0.407\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "Split: [X3 < 1.000]\n" + ] + } + ], "source": [ "# Split a dataset based on an attribute and an attribute value\n", "def test_split(index, value, dataset):\n", @@ -1224,11 +1567,38 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "Test set accuracy with Logistic Regression: 0.95\n", + "Test set accuracy with SVM: 0.63\n", + "Test set accuracy with Decision Trees: 0.90\n", + "Test set accuracy Logistic Regression with scaled data: 0.96\n", + "Test set accuracy SVM with scaled data: 0.96\n", + "Test set accuracy with Decision Trees and scaled data: 0.89\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", + "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", + "\n", + "Increase the number of iterations (max_iter) or scale the data as shown in:\n", + " https://scikit-learn.org/stable/modules/preprocessing.html\n", + "Please also refer to the documentation for alternative solver options:\n", + " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", + " n_iter_i = _check_optimize_result(\n" + ] + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1282,11 +1652,22 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from __future__ import division, print_function, unicode_literals\n", "\n", @@ -1363,11 +1744,22 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "np.random.seed(6)\n", "Xs = np.random.rand(100, 2) - 0.5\n", @@ -1400,10 +1792,8 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, + "execution_count": 11, + "metadata": {}, "outputs": [], "source": [ "# Quadratic training set + noise\n", @@ -1416,11 +1806,20 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DecisionTreeRegressor(max_depth=2, random_state=42)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1437,11 +1836,22 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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tQOr+6+ZpFVIQDj69OkDwA8//MDTTz/Nd999R69evQCYPn06c+fO5d133+Wkk04CYNy4cYwePbrt+OLiYhYuXMhtt90W9Tx3331328jruHHjgvIQLl261LjhDnBYUzmViZ049boGjlj4Y1idYpvCPpYuXWppHJwp9Qc21H79tFkwADk5UFAAO3Zo+0JfhysTaV9zM2zdytIuXZj4+usRO4dT+7fbcfJ1DdROfwyrU+yzuv+aiW0OqxCiO/AocDqwFZgmpezg6gshfg38FhgC7Ea7gb1NStlshh3r168HwONL5nvkkUcGvd/U1MT333/f9rp///5B7/fv37+tjkhkZGRwwAEHtL3u0qVLwiEBeh1W05aTi4CKVbSGRK+rFd974IiFxxs9DkthDU7RzUBcMcIayNq1uooZ7kOLF8P48SwcPTrmAUo3rcGJugnB2unNcpZ2qhFWffwVaAR6AUcDLwshPpJSfhpSrjNwPfAucADwT+Am4G4zjHj22Wc5+OCDGTp0KABffvllkHMZylqf2B177LFtr3/+858D7U6vUc466yzeeuutiO/PmzePiy66KGjfhg2RHVZ/p+vRo319a6NB6FY7uoroBF5/MPZdWDWpo6QEjs7pgmf/Hu57QDBCtQs7cIRuBjJ27FhDycf92mlV/bGorg7fH0L7nOE+lJkJwJkrVzFqttJOOwj93TLyO2blZLiSEjgmw4toaWbe/3kodlC7MLt/WUoiSVzj3YAuaKI7NGDf34G7dRx7I7AkVrnQ5NejRo2SFRUVba/XrVsn77rrLpmRkSH/7//+T0op5cSJE+UFF1wg169fL6WUcseOHXLx4sWyrq6urY7c3Fz5xhtvyObmZrlw4UKZlZUlv/76aymllK+++qrMy8uTu3btajvPihUrZEZGRpAt06dPl6eeeqo0yqpVsi35dX7G9fLYY38m9+3bJ/cHLCIQmKzY65XS4zGehFgtOmAvocmqs7ONfReWJp8+/nit4upqEyt1F9i0cEAydFOG0c5Y/POf/zRU3ihm1B+oneH6UajmXX11HH3olVekBDlDHK200wZCv8N584z9jlmetL9nT63yLVtMrjgxrO6/gSSqnXZNuhoKtEgpawP2fQQcruPYk4HQ0QQAhBBlQogaIUTNjz/+2OH9iooK8vLyyM/P5+STT+arr75i1apVjB8/HtDyAw4b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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1485,11 +1895,22 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqwAAAEiCAYAAAA8kIAFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydeZwU1bXHv7eXWRiGbQBBEBFEFBmXSJR2wSFGzeJ7ovOSPJcYzTJgTOKSiDFqYvQlKmqiMcYwcU+M8SVoXiIaTZAGl3bfBjWIyCI7DMM+S0/3fX/cqu7qnuqenrW38/18+tPVVberbs9UnfrVueeeo7TWCIIgCIIgCEKu4sl2BwRBEARBEAQhHSJYBUEQBEEQhJxGBKsgCIIgCIKQ04hgFQRBEARBEHIaEayCIAiCIAhCTiOCVRAEQRAEQchpRLAKQgqUUhcqpfb0cB81SimtlBreW/0SBCF3sK7v/8p2P/oapdSDSqkn8/lYSqk6pdRapVRUKXV9b+9f6FtEsArdxjIqWil1bdL6nBVpSqmgUurXGTZ/DJjQhX2vVkr9IGn1S8BooDHT/QiCkFeMBv6e7U4I6VFKDQXuBm4FxgC3dWMfM5RSf1NKrbfucRe6tFFKqeuVUhuUUs3WPefwHv8AQQSr0GNagLlKqRF9fSCllL+vj+E8lta6WWu9pSf70Vq3aa03aanQIQgFiXV9t2a7H0KnHAj4gCe11hu11t0ZPRsILAMuBZpTtJkLfB/4LvBpYAvwT6VUZTeOJzgQwSr0lMXAauC6dI2sJ9NXlFItSqnNSqlfKqVK0rS3vbRfUEq9qpRqA063nl7nKqVWWk+vDUqp85O++2Ol1BqlVKtSapNS6mFr/YPAycAl1r61Ump8mmN1CAlQSn3R+h3NSqlGpdTflVJlSqkgxiDeau876XcMd+zjbKvfrUqpT5RS1yillGP7aqXUtUqp+UqpXUqpdUqpK5P6MVsp9aH199yqlHpGKeVL9z8QBCE9ljfsHqXU7Uqp7da1dalSqlQpdbdSaoc1pPxVx3diIQGWPdFKqVql1D+VUvuUUu8rpU7N8Ph+pdSvLO+cbR9udmw/Xyn1mlJqt1Jqi1Lqz0qpMY7ttr35vFLqDctOPa+UGquUOlkp9Y5Sao9S6kmlVJXjew9a66617PMepdQDSqnyNH3tti3uKhke62al1HJr+2ql1DylVJm17ULgLavpx7bt72o/tNZPaa1/pLX+CxB16ydwGXCz1nqB1noZ8DWgEji3q8cTktBay0te3XoBDwJPAl8A2oCJ1voaQAPDrc9jgL3Ab4HDgDOATcDtafZt76MBOA0zND8C+BmwHPgccBDGCOwFvmh9rxbYBXwRGAdMA75jbRuMGaK/HxhlvbxpjnUhsMfRp88B7cD/AFOAI4AfAAOAYcAnwE/tfaf4WxwDRKx2hwDnAXuA7zqOsxoTQvAd4GDMk7oGAtb2aVY/zsOI5COBywFfts8Jeckrn19A0LIf1wOTMJ4yDTyN8aodDNwItAL7W9/RwH9Zy+Otz/8G/sPax0PW9Twwg+N/37IjMyz7dTxwkWP71zH2dgJwLMZhsNSx3bY3rwInWTZqGfAisAg4zrIfq4C7HN97ENgN/BmYCpwOrAd+ldTmScfnbtviDP4OXTqW1eY64ATrf/AFYC1wo7Wt3PpNGuP1tG3/SRj7m+71oxR93ANcmLRugn2MpPULgYeyfX7n+yvrHZBX/r6cRsUynH+ylm2jaYu0nwEfAR7Hdy/EGP0BKfZt76PWsa4CMwxzUlLbO4CnrOUrLMPmT7HfIPDrzo7l6KNTsL5o/8YU+14N/CDFvu2/xSPAc0ltrgfWJe3n0aQ2K4BrreWzgZ1AZbbPAXnJq5Beln0IOT4rYCvwN8c6P+YB3RapboJ1tqP9GGvdiRkc/1cYYaky7O+h1r7HWp9te3O6o813rHWfcqy7Hljm+PwgsAOHqAbOt2x0haONbe97bIs7+V1dOlaKfcwBPnJ8nmb9HcY71pVjHkLSvYal2L+bYD3eOsa4pPX3A89k+/zO95cMIQq9xVzgZaWUWyD7YZibgHMI5QWgBGMQ3k2z39cdy1OAMuAf9pC7hR8j8sB4CC4FVimlngH+gbnZZBJj9non24/GGNKecBjmadvJC8BPlFKDtNa7rHXJf5MNwEhr+Z/AGuK/8Vngca317h72TRAEx7WntdZKqS2Y0Rd7XVgp1UT8eky7D8y1SyftbR7EXN8fKqWeBZ4CnrZtp1LqU8BPgKMwozp2KNE4YF2K42+23huS1iX3512dGNcZwtjoiXS0R31ti7t6LKywjMsw95SBGA+qN92OtdbNGGdKb5M8Z0G5rBO6iMSwCr2C1vo1YAFwi8vmdBdrZxfxXseyfb7+B8Zg26/DMUP5aK0/ASYDszHDUbcDbyilKjr/FQnH6isy/VuEXbZ5ACxh+ingy5hhr6uBfyul9u/drgpCUeJ27aW8Hjvbh7ZcbJ20t9u+ifHS/shq/xBmwo7HsmHPAPuAr2KGtj9nfTV5PoCzv9rad/K6ntz/+9oWd+lYSqnpwJ8wf5//wDgXrsWI2pQopU6y4nXTvX7Uhb5ust5HJa0fSfzBQegm4mEVepMfAe8TN6I27wNfVkp5HF7WEzHDaiu7sP/3MUNUB2qtn0vVSGvdgvFiLrQmLGzCxDY9ax0z7VN3Gt4CTgF+l2J7Jvt+H/PbnZyICQnI2EOqtW4HngOeU0r9BDMT9QygPtN9CIKQe1h24M/An5WZKPoyxmtYCQzHxFSuAjOBsxcPXa2UqtBa2w/u00lto3vDFmdKJsc6AVivtb7RXqGUOjCDfb+OEb/p2J5RLw2rML/xVOA1qx9lmFjZK9N8T8gAEaxCr6G1/kgpVY8ZBnLyG8xQzW+UUndiAtNvxsSS7uvC/ndbIQe3WbMxl2KGfqYDUa11vTUb1Ae8gokx+grG27DC2s1q4FhrhugeumaMfgb8XSn1EfBHjLf0NGC+9TtWAycppf4AtGqtt7ns43bgNWWSVv8R4yX5PkbsZ4RS6gzMMN1Sq/8zMTezD7rwWwRByDGUUlcAG4G3MXbrXIx3ch0mlrMV+I5S6m5MeNGNKXbVHXzA/UqpG4D9MTb6dw4BG6OXbHFGZHIs4ENgjFLqPEwow+nAORnsu0shAUqpgZiHBzCe33FKqaOA7VrrtVYIyR3ANUqpf1v9uhbz+/+Y6XEEdyQkQOhtbsDMYI+htV4PfB4zTPM2JgD9Ubog0hxch5kw8APgPUy8Vy3myRbMxIFvAM9jZsfWAmfbHglMsug2zFP7VkzsV0ZorZ8CzrJ+y1vAEoxYtL3GPwYOwHgktqbYx5vAl6x+LcPcFG4GMi1mAOY3zgL+hZmN/APgm1rr57uwD0EQco/dGE/cq8CbGO/f57XW+7TWWzEpkmZh7NdPMBObeoslGJu6GHgCM4IzN037ntrirpD2WFrrv2MKAtyBibc9FWOPe5tpGNv/FmbC1k+t5RscbeYBv8AUKXgdU1jiNJlj0HNUPLxGEARBEIRiwwo9GK61PiPbfRGEVIiHVRAEQRAEQchpRLAKgiAIQj+glPptmtnov812//oDpdS4TmblZxymJRQXEhIgCIIgCP2AUmokMCjF5l1a6y392Z9soEwJ6fFpmqy2sqAIQgIiWAVBEARBEIScpmDTWg0fPlyPHz8e3noLolHweMx7dTWEw4Q3biMcVqjhVZSP6GoeY0EQipU33nhjm9Z6RLb70VfEbKcLe/fC7t1QWQkVYjYFQegCPbWdBStYx48fz+uvvw5lZdDaCqNHw/r1cM01RM89D080ggZa1+5ixTWLqa4LZLvLgiDkAUqpNdnuQ18Ss51JhEJwyinQ1gbbt8OiRRAQsykIQob01HYW/qSrsFWNbpAVNvTSS6hoBDBZ3/200bggmJWuCYIg5AvBoBGrkYh5Dwaz3SNBEIqJwhaskYgJA1AqPn51xBEJTcKUUFVb0/99EwQhdwmF4Kyz2HvQFJYffhYN9aFs9yjr1NRASQl4vea9pibbPRIEIVcJheCmm8x7b1GwIQFA3Lvq95vQAIBJk1Dl5dDcDMCK+RIOIAiCg1AITjoJHYkwADiEDwjPXkgDS4raVgQCJgwgGDRiVcIBBEFwwxk+VFLSe+FDhe1htQVrSUlcsLa2GgFrUcw3IEEQXAgGIRJBQezlIyyhQ5ibztVXi1gVBCE1fRU+VNiCta3NvDs9rC0tJmOAIAiCG0lj3Rpoxy+hQ4IgCBnQV+FDxRcS0NJiYloFQRDcCARM+ruGBgCiysPy3xZ3OIAgCEKm9FX4UHEIVmdIgAhWQRA6o7w8tuj1eUWsCoIgdIFAoPdDhwpbsDpDAnbuBGDNj+9lTFukwH94btLa2sr27dvZvXs3kUgk293JaUpKShg+fDiDBw/OdleKk3ZHZcgiP1dDIZloJQhC9ils3WZ7WNvbiS58Cg8wbvXSrHapWGltbWXt2rUMHTqU8ePH4/f7UeLpdkVrTXNzM+vWraO0tJQye3RA6D+cgjUaBa2LcmSmr2b7CoIgdJXCnn1kC9a2NnAUCxD6n+3btzN06FCGDx9OSUmJiNU0KKUYMGAAw4cPZ+vWrdnuTnGS7FXVOjv9yDJSLEAQhFyhsAWrHRIweDDaX5LdvhQ5u3fvZpBdbUzIiMrKSlpaWrLdjeLE6WGFog0LkGIBgiDkCoUtWG0P65AheJcEiXq8AEQGVGaxU8VJJBLB78h/K3SOz+ejPVk4Cf2DCFYgPtv3xhslHEAQhOySFcGqlPqOUup1pVSrUurBTtperpTapJTaqZS6XylVmvGBbA9rSQkEAnjKTSygz+toE412tftCN5EwgK4hf68skixQc0Sw9pvtdCDFAgRByAWy5WHdAPwPcH+6Rkqp04EfAqcA44EJwE8zPoozDyuYcS3nesiZG5EgCDlE7npY+8d2CoIg5BhZEaxa68e11n8FGjtp+jXgPq31e1rrJuBG4MKMD5QsWH1WUgTb8wodb0yCIAjJdiFHRmL6zXYKgiDkGLkew3o48I7j8zvAfkqpKrfGSqk6a7js9a1btyaGBEDcw+q8+YhgFQQBWP6zP/PizGtoqA/lsoc1U3pmOwVBEDIkFIKbbjLvfUmu52EdCOx0fLaXK3HxMGit64F6gGnTpulP/u9NDgBa3lhGWSgUF6xORLAK/cDy5ct59NFHOeecc5g8eXK2uyMk8f4vn2HKtV9mMrAv+EvaB/iMcfR4zANu/gnWHtlOKRYgCEIm9Geu5lwXrHsAZy4ke3l3Z19s3rqXsfebkK3SjauJnjwTz2CX7AAiWIU+RmvNN77xDd59910WLVrE0qVLZUJVjtH82N9iy37aoNUSqKWl0Nycj4K127Zz714pFiAIQma45WruK3uR6yEB7wFHOj4fCWzWWncWv0X7jrhdVgDhNndx6pyAJQh9wH333cfq1at5++23WbVqFQ899FC2uyQkMWRGdWw5TAnKtox2OFGOxLB2gW7bzt27pViAIAiZ0Z+5mrOV1sqnlCoDvIBXKVWmlHLz9j4MfEMpNUUpNRS4Fngwk2P4hgxEAdp64S+BAQM6NhQPq9CHbNu2jauvvpoHHniACRMmcP/99zN37ly2b9+e7a4JDiaePim2vHL+IrxYla1swZojHtb+sJ2VlVIsQBCEzOjPXM3Z8rBeCzRj0q6cby1fq5Qap5Tao5QaB6C1/gcwD1gMrLFeP8nkAOVDTc7Vdm8pm2fNwbNkMVRUdGwoglXoQ+zyqqeeeioAp512Glu2bGHYsGFZ7pmQgCNzSHVdIC5QS63UpTkiWOkH21lRIcUCBEHInP7K1ZyVGFat9fXA9Sk2D0xq+wvgF10+iHWD8Y8fy6gn7jHrfC4/N0PBKpMQBKGAaW2NL0ej8RCAHPOw9ovtxNi43rBzYjcFQegtcn3SVfexheiQIfF13cwS0J+z4ARByAL79sWXbW+r1xu3GTkiWPuFZctg9GjjXR40CHbujP9NkteVlsLRR8PcuR2MothNQRB6k1yfdNV97BtMLwhWt1lwgpCOOXPmoJRiw4YNHbYtX76ckpISLr300iz0THBl7974ckuLeff5TForyMdJV92ntRU2bYI1a6ChAdauNZ/d1q1ZA3/9K5x8cockjGI3BUHoTQpfsA4dGl/nJlgzyBLQn7PghMIgYLmSXn311Q7bLr/8cgYNGsT111/fz70SUpJKsBajh7U7hMMdFKnYTUEQepOCFax6zVoA9r22LP7k380Y1v6cBSd0k/4qtZEh06dPBzoK1oULF/L0009zww03MNT5MCVklz174svNzea9WEMCcGRXyRS/v4MiFbspCEJvUrAxrCpihGj5mn+bogFLFveo0lVvTUIQksjVBPq6S7frDkyePJlhw4YlCNZwOMwVV1zB1KlTmT17dk97KPQm4mGN0UIZGxhCG2WMmDSEgW1N8UlpZWUmzKqpKR46ACmzhYvdFAShtyhYwWqjAB22AqikNKvQj0yfPp0XX3wRrTVKKe68804+/PBD/vWvf+F1OxeFrLHtlY8Ybn8o8hjW9zicsbyO1ws3XmTS1aTE7zc29NOf7rf+CYKQO/RnJpCCDQmApKIBNTUiWHMRrXv+euklKC83/9/ycvO5p/vsBaZPn87OnTtZvnw5W7Zs4cYbb2TWrFmccsopvbJ/oXdoqA8xZPETsc8r//SaWSjSkACluhB3aodZScVAQSg67Ewg111n3vs6Iq9gPayRsgGsHTWN0qOmMGruBUb69yAPq5DD2MFyOZbw0TnxaunSpbS2tnL77bdnuVdCMo0LgniIC9Ldz1lhHEUaEjB5MlxwQYaXkt9vPNJiRwWh6HDLBNKXt9+CFazeww/jwNeXJK0UD2vBkoPBcscddxwej4f77ruPF154gSuvvJIJEyZku1tCElW1NehnPYAZ9h8y/TB4naIVrBUVnYQBOPH7zbt4WAWh6LAzgdi5lvs6E0hBhwR0oJtprQShO1RWVjJlyhSWLl3KyJEjueaaa7LdJcGF6roAew+Px2COn3mQWXDGsBaRYO0SEhIgCEVLf2cCKVgPqysuIQE7z5nDxye9xE41lKraGlNHXBB6iWOPPZZly5Zx0003UVlZme3uCCkYNHIAvGd9sCddOWNYi2jSVWeEQvDww2b51jY/A4E3XmnnmDOz2i1BELJAfw5uFpdgdfGwDm7ZzFH/vBUNtDxbTgOLRLQKvUI4HCYYDDJt2jS+9rWvZbs7QjrstE0Qz8NapCEB6QiFzLCfXan1KnwMBM7/Spj7F+dcVI4gCAWEhARgUl95gBLaaFwQ7M8eCQXMbbfdxqpVq7jrrrtQuZpvthh56im2fOFrPDznpfisVqdgLfI8rOkIBhNH/8OYGFYdbpfSq4JQ4GS7Pk/ReljtxEVOGdGOj6ramv7skVBgbN++nWeeeYZ3332XW2+9lSuuuCJW9UrIAUIh9BlnMFJrvsKjnP7AEm4KBgi4CVavV2JYk6ipMfOsbA9ru3ULGeAPS+lVQShg7BRW9gSrbFSvKy7B6ohhbRsxhk+84zl404uxdeuu/o2EAwg94plnnuHcc89l5MiRXH755dx8883Z7pLgJBhEWXl2/YQ5IRwkGAwQsEUquHtYJYYVMDeoYDAewzry735YDw/UhzlSTKcgFCz9ncLKjeISrA4Pa+mwgRy8YD5MnRpbd/AZh2ajV0IBcc4553DOOedkuxtCKhxuQI2HF/013FQD3CMhAZmSMMniVSNYjzxc0gMKQiHT3yms3CjeGFavF0aNStz+9tv92x9BEPoXh0tg+4jJJhwggMSwdoNQCDZskbRWglAM9HcKKzeKS7A601p5PDQsWJ6wOXrpZdmLJhYEoV8ZMdxhdN2yBEgMa0rseLZV68ykq2VviWAVhEInEDBFRbKVDaS4BGuSh7VxwRKijmlXqr0dmeoqCEXCnj3xZUcMa+vvHjILDQ3Q1GSWJYY1ATueLWxFlb3zhoQECEIx0x8ZBIo2hhWvl6raGtqe9VNKGwrQXh9KproKQnHwySfsG3swA049KcHDWtpmhKzeuhW1eLFZKR7WBOx4tvZm42E9eqp4WAWhGAiFzANrTU3c09pfGQSK18Pq8VBdF2DF/CBNQ019d89Prkv4D2w862LePO5iGuolTEAQCpEB61eiH3zQdZsCsDIKiGBNxI5nO+gQI1inHBL3sGY7V6MgCH2DLUyvu86829e4WwaBvqC4PKzOGFZLvFbXBWBpAB75GA6yaoiHQkRPmsGoSDujgNZXH6CBxZLyqodorSWBfhfQtlgSusXKq+pRjy9An13LxFvqYusjHh/eaFxguZ2RsTzNHo8JBxDB2oFAAJjsgw+JTbrKhVyNgiD0DDcvKqRObdVfGQSKS7AmZwmwKSkx73Y27GAQFWmP3cj8dgUsEazdxuv1Eg6HKbH/1kKntLe34/MV1yXaW6y67A4m3Hm5+TDvWVZCXLR6FESNKFXE353sG38YFUdNNkJs4UIRrKnwGw+rLVhzIVejIAjdJ91DZyphao+4uInc3iRrd0Ol1DDgPuA0YBtwtdb6jy7tFHAjcBEwEHgLuERr/V6XD5oUEhAjWbDW1MRuYBoIUyIVsHpIZWUlu3btYvjw4dnuSt6we/duysrKst2NvKTi0XsTrmH1+AK4pQ60xhs14nPbiCmM2Po+qrQ0MUsAULHqfbPwrW+Z9xyZdJUVu5kO+4Gq3XiscyFXoyAIGfLCC3DNNbBmjbmW9+7liJ1tfNRcwm4qqGzey+BT2qAcKCkhUFFBU/le2mnD74OSs0ugogL27iXQ1kagpATuM59jeqrEatPeziSY2JPuZtN9czfQBuwHHAUsVEq942JQvwR8HTgRWAP8D/B74FNdPqJLSAAQ9xLYf2DH40FUeVjxWwkH6CnDhg1j7dq1AAwaNAi/3y/hASnQWtPc3My2bdsYN25ctruTl3gOmwxb4qZEn11rFtrbjfj0+Rjx+tNw4IEdxGoCuZeHtf/tZjqSPKz95WkRBKGHhEJw8skdHsYrrFeMZutlUWq9ANjdtUMOgiFd7aaTrAhWpVQFUAtM1VrvAV5QSv0N+Crww6TmBwEvaK0/tr77B+Dybh0405AA51c8SsRqL1BaWsq4cePYvn07q1evJpI7AiAnKS0tZb/99hMPazcZfvxkWGKW1597ZTwcwE5fVVYGI0ak/H5Dfchc9zmUhzVrdjMdSR5WSKqEJQhCbhIM5szIUaZky8N6CBDRWn/oWPcOcLJL2z8BX1FKHQKsAr4G/KNbR+1MsLpVa4lEYOZM9mzYxUeVR+Gt+2ZGArahPkTjgsVU1c4UwWtRWlrK6NGjGT16dLa7IhQYHSZY7dwZ2zb2otPiDZ2C9e23XeNXo6h4zHpueVizYzfTkeRhTSbV5I10dOc7giB0kZoaUAq0jk8y7cLX000J7qux02wJ1oHAzqR1O4FKl7YbgeeB5UAE+AT4jNtOlVJ1QB3gPpSaaQyr3da+SQWDDASO5E1aZz/SacaAhvoQh8yuoYQ2Wp8tlQwDgtCHrLvwWiY89DPzwZ5g5RCszqIACYLVJfeKBiJ44zHrts3IDU9En9hNyMB2piKNYO1OxgDJMiAI/UQgwI5PzWTIG8+xjjFsYwSHjmqinFZjH4cMMYVT7JCppHW798K23WXsYAiDaaKUVsKUMWLSEAa2uXyvtZVdH3ywoyddzpZg3QMMSlo3CPeIiJ8AnwYOADYB5wPPKaUO11rvczbUWtcD9QDTpk3r+ACQKobVTbD6fB28KorMMgY0LghSitlXKa2SYUAQ+pCyhX/pOMFqsj/eIJVgrakh6vXhicSHs6PKw9or744/YOaWh7VP7CZkYDtT4RISYNOdjAGSZUAQ+o/NzYMZAlzGnfyft5Ybv2dKr2bCe46HS58PLroILrgADkpzva5QamVP+putwgEfAj6l1CTHuiMBtxmsRwKPaa3Xaa3btdYPAkOBKV0+qkOktr38RjzrbfKkKzCu8iQyzRjg3K5RkmFAEPqSqVMTPuqzaxNCAlIK1kAA7/NLaZwxi20jDmP7jFl4X3whIWdrjgnW7NhNC9eCAGk8rHbGAK8384wB3fmOIAjdY8QwY9eiHl+Xrzd7guWNN8LixXDPPX3/cJkVD6vWeq9S6nHgBqXUNzGzXc8Ejndp/hrwJaXUn4CtwHmAH/ioq8fd+vRr2NMs/Ns3E51xMp6lS9w9rC4GuGnoBNbf/IdOh/er6wIw2yy3HDhZwgEEoQ8Zfvo0CC4AYP25PzCCs/queINma4prNErjt6+lCgivXoc/FIJAgOFLnki98xyadJUtuwlphurTeFi7kzFAsgwIQv8xbJC5bs8538fcOemvN7fY8v6eYJnNtFbfBu4HtgCNwMVa6/eUUuOA94EpWuu1wC3ASOBtTLaFj4BarXWXYyH2fbwpNslCAbSHzX9g8GDTwBapWrveoIadMIVhXRSfA0a6hZcJgtATzKTGIFW1NVQ7xNLY6ioIBIi+/0F8+OiDD9j8H9/EE1zEiD2rAfDt2RF/YE1jcddt9DIWaJv3S0ruugtKS3ucS7CH9LvdhDRD9baH9fbb4c47zbIj1i3Q2koAoN4R/6YUHHUUzJ3r+reXLAOC0HckCE/Ldn75XB8EXLYHzOeHH4b77zfXf1fi0Xv7wTNrglVrvR2Y5bJ+LWZygf25BbjEevWI9i+fB/OWxma3aZ8fVVMD71kjaraHNcWMV/Z1CP3qnN7MNVpfz6477mOj2p+2S+eK51YoSj647UmmXHkmAK3PlrL5jHPYz95oBWA5Y530L3/JSBJnriY8sKawpqEQNP3hHcYCJTu3xaY79TSXYE/Iht2ENAUB3nnHvG/b1rUdrl5tKogtSf/A0FtI5gFB6DhSsuHwiDFmVuhT8vY77oDLLjORVHal8Exiy/tq8mRR1X2ceEsdK4GyR+6jbOL+VN1sPeGvWGEa2ILVJR8rkF3B+qMfoW+6iUrMlODw7IU0sEREq1B0DPnlT/BiZu37aaP5vY/Ttk++Ajs8sKYgGITPRje7pr4qNlIO1a9f3/2dhtM/MPQWknlAEAzJIyU7G9uNYLVCe5K3L1hg3m2xqlRmsWruFJgAACAASURBVOV9NXkyW5OussbEW+oYs+4VqpY8Ef8LJk+6ykUP65//HAtlUICPsMk+IAhFxoD94mE2YUqomDSmQxtN6jyBGth15IxOwwFqauAB37c63V+xEAgYB3bCn2zOnO7v0O/vl1lVbjdPQShGkic1Dq00IQG/f9RHKNRxe21t/HNpKcyendkDX19NniwqD2tKrElXe55czOar6pn4/Q4jbgaHYF3+sz+z4x8vM+Cr/5Xey9lbgnXKFPjIzJfQQDt+yT4gFCWDD6qCt8zyyvmLqFr8lw5tWkYfxK7IAPbb0nECvefccxn8yCOdHicQAJbW8fQ8OPmtO6hobYKyMnatXt2jXIIFRV0dK1fCoPvvYFC0idIS0udw3LoV1q+nzV/O8l8vorofXJ0pwxkEochIHilR3zKCdf69Xt78vdmWPJJSXd31cJo+mzyptS7I1zHHHKMzZUPtJVobr7eOgl717VtinxNeo0dr/dJLemf1CbF1eynX785/qeNO7e8cf3zG/UjL9dfH9rmzcn/3YwpCMXD22fHrS2v9WuC7Ha/VFSu0vusu9+v4Rz/q0eGB13UO2Li+enXFdr70ktbl5Vp7veb9pZfi63/+8/hnmz/c/InWoD9hTEL7viZVfwShmNkwZprWoKfxqvZ6zTXSl/TUdoqHFWh7oyHhs+epJxM+x2LYmppgxgwqHbOSS2lh5X3B1F7W3vKwOirtDDr9eIldFQSLsaM6plRiyBAoL3f/gp3GTugxqYbb3WJGQyG48poSzgNTBbC1/woDSOYBQejIoAHGdupu5GHNBkUXw+pG+5fPS4hPG7x7HUDH+rqtrdDenjQBQ/Hh/jV93EMS02zlRplIQcgJRg13EayDB5thaDdKS/u2Q0WEPdzu8Zhn86qq1CI2GISWqHlYKKENrzf3b5CCUMhUlBrbOecSb15MRhTBipmItXbK5wAjTgc3rgLiEy1iEy50x2kXf1Dnc9LcNP9lTy/9iZ0i1aUfglA0JI9aJE+SHDDATOhJJVjFw9prBAIm9Y3Xa0zUZZcZ0eo24aKmBlRpXLD++te5f4MUhILGcoR9c46vw7XoWtkuy4hgtYi0RTvMAo5UDuOtY+ewedYcIv5Er0yk1Aw3TrvzAvOPrq9n15TjWH74WTTUO/7DvRUSIB5WQXAnqcpSJByBUIiNjy52by+CtVdpbDQmKRo1HtXGxnjJxkWLTJubbjLvC581GVnKvW3UOSrg5uLNURAKHst2zr/Pl3Dt2angrrvOvOfKdSkxrBb67FqY92xCzkX/mJF86pV7aKgPMfKvv423Bbxtpib54fvvgPp69OzZCTlSex3xsAqCO0mC1RNuJTrjZNSIw91zqEpIQK/iNgvfjhntkAP1X+aWoyIRY9M8HsmTKghZomVvO2XA7Xd4WXdP/NrrqzyqPUU8rBYTb6nj47nziXj88ZVDhwJ0yHeqIC4ad+yARx/tkCM1Rl+EBIiHVRDiJIUEKEC1h/FNGg+45FAVD2uvYqewsT2qzhtbhxvfEhX/+1v/N8mTKgjZoXWvedhvjfoSrr2+yqPaU0SwOph4Sx2+yQfHV1gFBapqawjjS4xntYRo4w/nsY2qhP1EcIjevggJEA+rIMSxPKwJMec+P8NvnsvHc+ezYcyx7Drq5Hh7Eay9jmtRAVLc+Ky//+03tbkmK8+Vm6MgFDrlfqMrkrMEpHsIzSYSEpDMoEHxZUuwVtcFaGApJXfMY2zzciqOmszOj7cy+N0XGbbtQwh+mLCLNT+az8E//3rv9ks8rILgjiVYN9VeQvTl1xLKLk8MBOCWOmhogCOOMO0lJKDfcEsgHvaU4AduubGNPfPck5ULgtD3lHiM7fzBVV4+/R+J114upoITwZrM4MHxZX/cU1pdF4C6J2KfW/ebCpjhx2R/58EzD4CfWx/EwyoIfYs1tDz6m2fAX37t3sYpUsXD2q8k3/hao378gDfaFhuGdPPOCoLQx1gP+9+7wgfDs9yXDJCQgGScHtY0N7Y951+ceh87HJUb+6BwgHhYhaIm+ZqyJ1350jx/O69l8bBmFX+F+V+UecISAiAI2cR2hKWznTmECNZkXEIC3Jhw+yW0Vo0CYNOZsxM3NjX1fr/EwyoI7tiCNc31Kh7W3KF0oPn7X3V5W07FxwlC0WHbTq83u/3IEBGsyThCAlqXvpw2AVnp2P0AGP2lkxI3bN0aX3YKTRca6kO8+enZbDprTvpkZ+JhFQR37CwB6bwEIlj7hYzyqVp//zlfb+uRWJXcrYLQQzIZncoh8qOX/Ujj6x/H5vyXbF1PdMbJeJYucXcD2P/k5uaE1evmL2Ss/SG5Co+DhvoQk2fPwE87vA7RhQ/iWbLY/VhSOEAQ3Omqh1VCAvqEjPOp2g8MbW0J3+3KpCvJ3SoIvUCeCVbxsCaxZ92O2CQqO59jysSA9g0ySbDuv/al+Id2lzrnFo0Lgvhoj+VvJZwmCaEUDhAEd7oawyoe1j4h43yqtt20BGt3qupI7lZB6CFaxx1hEhKQn7R/6VwgMZ9jylkBKTysCX/UNIK1qraGKI4TxZ9mBoKEBAiCO5mEBDi35YlxzjcyzqfaC4UDJHerIPQQW0co1XsFjvqY/OhlP2JXvNow5li2z5iVOhwA4p6ClpaE1QlyMo1gra4LsHPGGbHPnqeeTH0smXQlCO5kEhLgyCzw4f++3ccdKk4yTjaeFBLQHfGZq4nNBSFv6EI4QK7Ei+dH4EI/M/GWOpNsvDNSeFj3DNqfQbs2ANCyZSdlaXZRNXEYLLU+HHNM6obiYRWKnVCILf9Tjz/0BkOtVcHTbyLQuJtSSGt4G+pDVFvL467/Og2jx5vcykKvklGy8STBmlxcAMzNsbN41lxMbC4IuYozThzghWcjXAmdCtZcihcXwdoTUnhYS8u9sMssl2xcY26WqW6Ora3x5XQZBcTDKhQzoRDRk05iZNI1ctKz16LsqPM0hrdxQRCNiRX3EqZxQRBEsGYHl0lXtvjMpZujIBQKzuvK5zMSYkB7O1cCEeUlXZCUW8hOtq5JCQnoCckeVisOxL9lfayJQpubYyocRjutYBUPq1DMBIMol+vDSzQuWNOEBFTV1tBMOWG8hCmhqramjzoqdIr9f3LJoCKTqQSh90m+rsJhUFETEtAWTe+3zKV4cfGw9oRkD2tFBezejUfHBaVGpb85OgVrOiEqHlahmKmpAeUBneYaSeNhra4L0MAiGhcEqaqtkXCAbLLLGn6qq4Mrr4S9e2Mu1YsjFVwY2YufNohA5a0lcG+FaTNwIMyda74nCELG2KLT9rBGIuC3Ylh9ZellYHLITjZHPLImWJVSw4D7gNOAbcDVWus/pmg7AfgVcDLQCtyvtZ7bX31NSbKH1RKsTsJllelvjuJhFYTOCQRQJxwPL7zQYdMuKhnM7k5jsarrAnkfBpD3djMUgueeM8uNjeblYIj1itFkvQA2b4bZVlVBEa2CkDFO0VlVBd/7Hnjbjd7Qns6zpuRKvHg2QwLuBtqA/YDzgHuUUocnN1JKlQD/BJ4DRgFjgT/0Yz9T4+ZhTcJtGDOBTAWreFiFYmLxYpqmn86yo86jod6ampoi4b+fDLIEFA75bTeDwZ7brwULeqUrglCIpJrRHwjA1VebZ8T2dvBadrOlPX8G2rPSU6VUBVALTNVa7wFeUEr9Dfgq8MOk5hcCG7TWv3Cse7dfOtoZbh7WJDzhFvYeNIWKoyab4azkxxTxsApCIqEQ0c+eytBohCFA6+wFNLCY6j17XJsPwLr+3ngDPvOZ/utnP1MQdrOmxthNl3R/qWSsSl5RW9vLnRKEwiCTSYt2eEBJSztoUP78EazZ8rAeAkS01h861r0DdPAUANOB1Uqpp5VS25RSQaVUtUs7lFJ1SqnXlVKvb926tQ+6nYQtWNN4WL1EGLD6A/Rf/wonn9zxsacTwWo/Le1olNKsQpEQDKKi5nxXgJ82M3Fx7960X4ue/rnsJwrsW/rEbkI/2s5AAJYuhVmz4LDD4Kij4MADYdQo1Pjx7J10FNsqD2QDo9jAKFYznj2TjoLycvP9OXMyDgfIldyRgtBfZDJpMRCAO+4Av8fY2K3bvXlzjWRLWg8Ediat2wlUurQdC8wE/hNYBFwK/J9S6lCtdZuzoda6HqgHmDZtWt+PmyeXZnULCXB+CIc75oRwprVKEqLOp6XjdJSY70hCAoRCpqbGJPq3zvPYrP6bf5f2a7EyyrkQbNU39IndhH62nYEAPPGE66aBwF03mTKtkYiZmXzjRXB1w7nw6KNw0kkZHULSYwnFSE0N1Kl6vs0dDIs0MfRXZfC/Q6CpKa41yso4fdcQPh/ZAsBwvZkXHg4RyIMLJFse1j3AoKR1g4DdLm2bgRe01k9bhvY2oAo4rG+7mAGdeFjb8MWGuTQYgZucEyKNh9X5tKQkJEAoFgIB1JFHxj6umP+cmTCVIiQgozLKhUFh2M1OcE2jU2aVX0kq0pIKSY8lFCOBN+/m7vbZHM4HjGYT5ZtWw9tvw5o1sGkTbNqEXr2acdvfZiymuFElezn/XpfR3xwkW4L1Q8CnlJrkWHck8J5L23dJHd6UXZI9rAMGJGz+6JcLWT/mWADUqFGwxKXMaxrB6jTcPo9MuhKKCMeM/+qLPm0WUoQEaGDjkCnpyygXBoVhNzvBteyqLViTirSkIpdyRwpCv/G736Eg9nIjebsCPPboVI6TFcGqtd4LPA7coJSqUEqdAJwJ/N6l+R+A6UqpzyqlvMBlmHQuH/Rbh1PRiYd1yiUzGTv/x+bD0Ue730zTCFan4T6yWjysQhHh9Ka2t5tzft++Ds2iQAvlNN5yb6GL1cKxmxlgz2iO/UvtGNYMBaur6BWEQueIIzptol1erqO/OUg2p4d9G7gf2AI0Ahdrrd9TSo0D3gemaK3Xaq2XK6XOB34LjATeBP7TLQ6r30nnYfV6zfY0VV2ATiddxfKf/V08rEIR4cxnHA6nzKCxYdzxNF1zWzEVAsh/u9kduuhhhdzJHSkI/UYgAL//PQwZYq6ZsjKz7IhhVWVl7PEPIby1ibIyRfn0o9wzGOUgWROsWuvtwCyX9WsxsffOdY9jPAu5RbKH1a6RDXGhmlQ3OxRKqhghaa0EoSNOD+tjj7H3Z7+g45RGGPvl4xlbPGK1MOxmd7AE64uLWvB8Ji/urYLQ/9iOsfPPh7vu6qg3LAa6fTcPyJ8EXLlIsofVWWnH601sEw67z1yV0qyCkIjWCYJV19W5ilWg0+pWQmGwZnMZBwIvB1u47hQZ5hcEV2w9UVJSkJkyslnpKv+xb5a2gHTePO1lh4fVdeaqM62VeFiFImDlVfV8POl0Vl5V796gtTX9teDEOaohFCzL1xgPa4lukVn/QtHSaW5h28Pq9xdkpgxxT/SE5FKQnXhY7Zmr9hNPzYxoYsUXKc0qFDgrr6pnwjyrHvy8Z1kJTLwlKRF8mvRVkDT7tTjKsRY9E6eWw5MwQDXLrH+hKMnEY/rJyjYOANZt9lNzZpLeqMlGr3uXjDysSqnfKqW0Ump/l22TlVJtSqk7e797OU7ycKTjc3jXPlMD3eFh7TBzdVrSRCzxsAoFju/Pf0xMqfJ4x7rwy+uXJHy2224fdjAtYw5O2PbGk+vzIX2gkAHpvEcTDzce1uOObCmIoU1B6CqdeUxDIfjjQ0ZT3P8HozvcMmXkcwW4TEMC7J92rMu2XwK7gOt7o0N5RbJ3Z8OGmBfI197CpNkzWf74MrPCctUnpGt5/vnE74tgFQqdU09N+KjP7lgXfteTS12/WrVsKY2n/nfCuqmv3MfVNaG8NL5CHNt7dN115r3D/9OadDV1YktB3HgFoat0lls4GARPxOiMlog/VvTP1huhEFx8sfleyussx8lUsL5svScIVqXUF4HPAz/WWjf1ZsfygmQP6+rVaMsfZNdA3/7s62ZbW1I2mVCI6Oc+n7Bq1ZPLUh9LQgKEAuDAS8+KLTcFvtAxHACoOn6y63dfe6eENx9uSFjnI8IJ4WBBxGcVM53G2yWltepU4ApCgdFZbuGaGijzGJ0R8ZYkCFr7epk/P7/jWjOKYbVy+m3HIViVUn7gF8AyYH7fdC/HSfawHnII+p//QofNSROmhCFnnAjP39oxD2swiIq0J6za/fzbqY8lHlahEHBMMhx24uGuTSacuD/c3nH90pCfU6Mfxz7bj20v+mu4qaYX+yj0Ox3i+2uSGtiCdfFiOOggxrcMYVlzEyW00tZcRvnZQ6A0sV56cv5Jhg2DSy+Fuo4PSYKQD6TLLRwIwEGzwrAA5nzXz0GOdvYDoe3rUio/41q7MunqZeAEpZTSWmvgUuAQ4LNa6wyn9BYYyR7WSZPwLgmycd7DbNwA/m9cQPVZB8NVJHhYG+pDDJr/D8ZZnzXGIzsoMNWsCIUS91EXEA+rkJds/NL38C59jt3nX8zE2y9JHGlwZshw0uQ+WHPCzBLm//wSft0+J7bulRk/4KabAxLTmOfY3iO3nJEA/POfAOh9+2D1akYl72CTeXNaxg6lKTdtgtnWhD8RrUKOkyqHajpGVRnH2EGHJDrTnA+EPh9cdBFccEH+xYJ3VbB+AZhseVuvA/6qtV7UJz3LB5I9rC+9BN/+NqOfCDDaXrdzp3m3PKwN9SEOnX0SPiIoEg3s+FMnmVCBGSczqj3MKKD11QdoYDHV4mEV8ozV37mN8X+5C4ARv/gOK31+Jp5xWLxBKsG6fbvr6ukn+dFLZ/P0PEVgwwKGfqOW40V45C3JN+S0lalefjn2YJ+OzrYDsGCBCFYhp+l2DlVHHlYnnT4Q5gldEazOiVczgFLg+73eozxi46OL48IU0I88gpoxI9EYJpVmbVwQjIlVSDKwkYgJFWgPx9aX0EbjgqB4WIX8IRplwzlXMPIv9yasVo8vgNPmxld0xcPq9YLXawztE3WACI58pss35PPOg6VLSbZ8TvvpZhVdBWxtx4l+gpArhEJw/fXGPEaj8VjTjESmIw9rMoVQqrgrgvUVIAp8AzgRuFVr/XH6rxQ2+vU3O65MfnpPKs1aNetEeDZp6EopI0IjESuoxOl71ez/7j9oa20m9swkHlYhh9n45e+x/4K7O6zXZ9cmitRUdeHdBKsUCCgo3CZZpb2Z1tXx8UponXcHZTSzkyEcOqqJclpj8aotm5po2tSKBtoowzNsCCNLrDa7dsG+fXDmmeJdFXIW+0HOFqseTxdjTVN4WAuFjCtdaa13A+9jvKtbgJ/1VafyhebzvomG2Avo+PRuFxCIRiESofrMiSgg4ilh3/jDULNmwcyZps2rr7Lr698j6vALeIBJm5bib9oa36d4WIUcxvf84g7rmqZ/zmQESBXDevPNcOihMHEi7b+7r+NOC9QAFyudpehxY+Itdex86X0e+/kqWl56i/KNq2HjRli1Ct56i7cfX82NczbynVkbObRkFRN3vkXVztWEHt8Il19udnLMMX33owShh9gPcrZY/exnu1ZSdftm42Fd/nFhFlTpaqWrV4GpwNWWgC1qJt5Sx0pg0P13MGCgouJqlxmo9nS8tjbjrt9kZgf4ph6K7513TJtzzjHvt93GIJfjJMe6iodVyGmOPAL++X7CqmHTDzULboL17rtNskAL2yglxCxKRauCorsxdamGNZ0hBh6P8dwmDKfajoNMS/4KQhZIzpZx/fWZXxuhEOx4IczngWuu9/P9mvwPAUgmYw+rlcaqBngdeKivOpRvTLyljhFb36di1Xuph5occayr738OgNZN2+PJA21jmoROeo9vEA+rkAMsXkzTpz/LtuGTaRsyHA48EOrrGfGF4zq2bW42726C9bHHOj+WeFgLjoQiKhmQrlCAM8QgEjGiNcF7K4JVyDHczufOcq2mIxgEX9TY133tJXmXYzUTuuJh/QFwEHCeldZKyJSSEti7l/fvfZFD777SrNqyjujJM/EsWdxBsMaEqscD0SgaiJZX4GveazaIh1XIMuvOv4oxj8xjqHPlzkaTNshtUks6wTpzZqzqW0rDIoK1qOlsklayZ+qOO6Cx0eG9fU4Eq5AbhELw8MNw//3mdEw+n7s7OaqmBto8YYiC9vnzLsdqJqQVrEqpYcDpwBHAlcAvtNYvp/uO4ILlYd39+L9iLm0FpsBAMNhBsDYNnYCuPoKqm+fCmWeitm7FY4tVEMEqZJWVV97DhEfmpU4hZIe6OLEFqzNu1V4+7TS44QaoqEBNmkTzpib2RCsoGzaAyn9bleJEsBY1nU3S6jTEwM6Z3d6OIGQL+8GrpSU+UNqlLABpCARg1+Ft0AC33lnC1AILB4DOPaynA3/ETLL6JfDDPu9RIWLdbEcecwC8YFZpAL81XvVxYrKFYS8+CYeZfJXNpYMpZ2vCdgkJELJJ2Z8edE0nFFt36KHw0UeJX7IzArh5WHdb4fAnnADPPEM5UA4ms7UIVoEMKmHR0TOVkOdVQgKEHKCvK04NKjOTrqYeXZgx/2ljWLXWj2qtldZ6P631lUVb0aqnWB7Wg6aUA7B74Cg2z5pjwgECARNw5cS6OTfUhyhZ55I5TDysQhbxHGcqNNvZMaJApKTUbLzoIjjiiA7fWfVBs4nVcgpWW8Tu2mXeKysTv+SsJCeCtajpamyf7cm67jrzvvoTEaxC9nFmxygtNRFU6c7ndHHbrqTJw1oIZDzpSugB1jBU+AoTv8oBBzDqiXviZ2nypKtSc/NvXBBE4SJOxcMqZJHRZ5vzdl/5MLbPmIX3pZfwXfBVs3H69LjRdLDho2ZOOQXWfpTGwzooKUeGCFbBoqtlKpNDCFZ8LIJVyD7OB6/Fi+Gee9KLVedDV0aiVfKwCj0iFIJPPgHAt9d4kgZ+8Borr6qPt0khWKtqa4jikkFAPKxCNtmxA4CKr32ZqiVPGItbbkYPaG52FaxlNNPWlkKwpvKwOr0EBeoxEDqnOzfu5DyvEyeLYBVyg0yzY7jFbXeKeFiFHuE4y5xxf+rxBfEPKQRrdV2AHTNnddyneFiFbGIJVoYMia/rRLCW00xJCRy0v8ukK/GwCmnozo07OYRgwsEiWIX8ojvFNQrdw9rVwgFCV6mpAZ8PnTQ7VZ/tSP2TQrACDD9uEiQXDhIPq5BN7NKpXRCs+w9tZtFCGPPnuIe1vWkn4dHjKd9lTSp8P7HYQIKXoEANsNA5mUy4ciNhEtYyEaxClrHzWb3/PqxZYx7YrbLCNDXFH+CtdYGmJprKW2n1gb+ijPJvm3atu1tpDVvrRjm+W1YG69aZffzv/8JVV2Xvt/YRIlj7mkAAli5FzZtH88tvsSdawa4LLzVlKm2SJ105b9QDB3bcp3hYhWzSDQ/rkJJmIx4eiQtWL1G8m9bEK1o9/jjU18cLcIiHVaD7VbESkLRWQjYJheDkk11tYzpKrRe7gU1mkmuJ9WI36E24pxf84Q9h6NDUxYzylKyFBCilhimlnlBK7VVKrVFKnZvBd55TSmmlVH4J7UAAnniC8o2rGbH5vUSxCokeVr8/UcBWVHTcn3hYhSyy882VAKx9w5FurRPByubNNB9wSEKOVuV4xVjgCJVxPLi1vvhaF6bKFi5FZTcddLUqlo09y3rFKvGwClkkGOyyWHVDubxS0XTfgq5lGMgDsmnA7gbagP2Ao4CFSql3tNbvuTVWSp1HoXqEnYLVEQ4AsO7NzYy1lmOeKBGsQpZoqA8x5c0lAOz3u/+hYdopVNcFzHAUmFRVKQxz2boV6HUrUECExKflmOF1VMnavvhthlnLJds2EJ1xMp6lSwqvQHbXELuZIc7qWB96vDwAIliF7FBTQ9TjxRONJFTzSyc4Mx1HdduHBq55s5b6N9wrw+UrWTFkSqkKoBaYqrXeA7yglPob8FVcihMopQYDPwEuAAroecEijWDd+faqmGBNODG1NlmHBaEfaVwQxGOlWvPSTuOCINSlzxIQxYhT59nqAdYOO4qRJU2U0wrDhsGllyYMYTWv2RJ7SFMA7eHeKQmTp4jd7BrOyVqtUfGwClkkEGD5lLM4bNlf+IgJeIkwvLKVQVWpY1h3rG5i345WNNBKGbsYwmCaKKWVAeVQNtglhnXIECgp4en9v0H93+tSVobLV7L15H0IENFaf+hY9w5wcor2PwfuATal26lSqg6oAxg3blwvdLOfSCNYK2YcAw2PAQ4PK4hgFbJCVW0N+lmFQhPGT1VtjdmQVrB6UEQ7eAIiw0ZSvuKtlMdqOfcbMO/VmKdB+/yoQiyQnTl9Yjchj21nGpyTtZTXa/zSIliFLDF00ghYBr9SV3Bf2SUseia9iPy3Y4TA4zGnbjRq5MKN15kQmZTHCkHJM12fqJjrZCuGdSCwM2ndTqAyuaFSahpwAnBXZzvVWtdrradpraeNGDGiVzraL6QRrONrp8WWt53ylbhIlYlXQhaorgugrQlQH9/5dxMOAGkF66YLrmLTqCNjlbFiAtSZKcOFibfU8fHc+WwYcyzbZ8yScIA+spuQx7YzDc7UVj++XjysQnYZNdxM+PvCf/oyGqJ3nr+//rWRBpmmuOpqZbh8IVse1j1AUtJFBmHmwsVQSnmA3wCXaq3bVaF6FJ2TrJJnQ9tCANh81hxGBP+S+KglCP3Jvn1421qhpITDv3tKfL1TsCadl2NPnQIP/Rzq69n78zvY16w6ZspIwcRb6iCDdkWC2M1uoj0iWIUsYz3If/4//ZChgHSmZquu7lqmjIS0bgVCtgTrh4BPKTVJa73CWnckkDxxYBAwDXjMMrr2nXCdUupLWuvn+6W3fU0aD+vKvzYw0Vqe8J0vEPVabvFQCB59lJ0vv0909RpKhlRQcfWlBZfGQsgxGhvN+/DhiSEptmB99VXaIzrRsDz/PJx/PtTVUVFXRwVQGD68fkfsZhdwTrp6zevjcUhIa9XVcq+C0CPsc8/nLrvs87GqypjZ5POyEAVoV8mKYNVa71VKPQ7coJT6Jma2jIzthgAAIABJREFU65nA8UlNdwL7Oz4fALwKHANspVBII1g/eXMrB6HwoPHThrYTBJxyCrq9Pe5u2QF69mwTJyiiVegj3lm0jSOBtpYoJaFQ3II+9ZR537evg1HR9fWoY46R87KHiN3sGgmTrnSih9UpZgtpFrWQu2zb1M5wYMUqH5OSttnnY2urGTz1eIwUkPMykWyWZv02UA5sAR4FLtZav6eUGqeU2qOUGqcNm+wXcWO7WWvdlmrHeUcawVr1XzNpoYwwXsKUmMkDAO3t7vnYnHksBaEXCYXg999aCoBv+yYiMx2F3V9+Of2X5bzsLcRuZoiztKXyJQrWbtVpF4RuEgrB88+ZkIDrf+7vkBvVPh/tjJXRqJyXbmRNsGqtt2utZ2mtK7TW47TWf7TWr9VaD9Rar3X5zmqttdJaF1a5EodgbVu2PCHTb3VdgJXzF/HiaTeycv4iPH6rrTUc65zEAiTksRSE3iQYhGMirwCW4XBa1C99CUg8FxPOTTkvewWxmx2xiwMkiwDnxJNbbksUrN2q0y4I3SQYBE/UXH4t7b4OQtQ+H+3pLB6PnJduFGVC6Vxjy8JXGWkt+3ds7ZAgvbouYHJdAlxhndEHHQQff8zeg4+kZNW/KYm0or77XRl2FfqMmhpY5DkEIpgkVU6Lap136tZb4aOPAHhx8kUcPng9Q79RK+el0Cd0NrQfi/tbkihYe6XcqyBkSE0N7PC0QxSUz9dBiDrPx1QxrIII1pxg34r1mSdItye67NoFwMCn/gyXXw4LF8Kpp/ZPh4WiJBCAEVcdCD+HfYcczcAHf514jtbVwSGHwMyZAJz4f1fB5MlZ6q1QDLgN7bve5L0dswTIJBahvwgEYMe0MLwKN97s5zCX807Ox87JZgyrYBH50jlAfAhV+/ypxwLsMYNt28z76tXxmuu9UKtYEPjpT43wnDCBtmEj2T5sIiuvqgfg4HEmBHJgzTR36zp0aHzZPi8FoY/IeGjfEqzrP4kUVG11ITdxC1MZMtCEBBxWLX7C7iJ/uRxg4i11rATKHrmPson7U3Xz3JSPWu0tbbF/mgb0F76I56QTzQoXwfr+bQtpfOoVhvz35wGIzv8d+40rYdTcr/Xa49zKq+oz6ruQB9x+O1x/fexjCTCUrQydN5uVwMSx1pyd5HzBNsOGxZdFsAp9TKZD+w3ve6kGNn7SzimndD77OjnlVV+lwJLUWoVHyjCVTtJaCZ0jf7kcIdME6b62lthyLHzAzo3ZnjinYtndQaZeeQYALYtvwUc7PqLoNyG68EE8Sxb32Equ/s5tTLj7SvNhPURnLJSKRPnMX/7SYZXCKgv8+AKYc5pZmUqwOjysHzz2Dof94IDe76MgOMhkKPW1t3xUA14indZWTxYcd9wBl13W+ymwJLVWYZIyTMV2KKV5kJcHmPRISEAeEwsfGDPGrAiHE4Yidv/v07G2fsJ4MTkzFEC4d3JmVD52b2J6LTv+VsgLGupDBE+/iYZ6a+xqxozYtuQMFPrsWmOBIaVgbfjju7Hl8Vd+Kb5fQcgixxxrQgK8RFKGDti28+GHEwXHggV9kwJLUmvlN6myU6QMU8mgcMApp8B115l3CV3piHhY85RW3wD2HH+aGYK/914AVi5v55Rvx5/Y//rVT4NJm0kYPyW0xfO1+nsnZ4aaPAm2LQfiAlpJLo68YNlvljLlkpmApvXZMhpYRPXpp8O8eVBZiZo4kfb3PsAXbmXDf19hRgF++lPz5RSCtXHBEqKYJ2EfYRoXBOMZLgQhSxz5KSNYR4+MsOivHb1XTm+n1xvXFCUlJiPb88/H7WpvmTdb2PT2foW+J513PGWYSieCNeMJhEWMeFjzlNJjqqla8oQ5o60hhhXvhxNO+DXlh8Xaf3T3PwnvFx+e7Y1wAIBhJx4eWw5XjZZwgDxC/fY3eInitaqoNS4IQnOz2XjCCfDWW/hmmPjoMV//nFnfiYe1qraGFspjhS6qamv69kcIQiZYk65GDI24mienWIhE4KKLTP7WRYtM8gs7n2tvDts788RKOEB+0Zl3PBCAq69O+p92EhIguYE7Rzys+YrzpLee2CZPbE94Yp9evTfWZOpXj4Y7ymCztaK3rKMtcICSEz4tVjePGHzMJGgwyzFx2bzerBgwwLwnZ6DoRLBW1wVoYBGNC4JU1daYHMKCkG1c0lo5SfZ2XnBB/9Rxl1RG+Um3vOOdeFglN3DniGDNV5yC1Vo+aGw44YSvbokL1pjQ6G0cgjVWV07IC8bOnAQPmuWV8xcZcfn735sV5eXm3TautrHtRLBCUqELQcgFOhGsIhaErtCt8yWDLAHyAJMeEaz5iotgJRxOPOGfjAvW119sZZpOKOLaO4hgLQhinlD7/2kL1i56WAUhJ7EFa3vq6rTJYkFmbAvp6LK4zCBLgJAeEaz5iktIQLIx/vCtvRxiLX/1y628VRWlrLf7IYK1sEgWrPa5JYJVyGfs8ziFhzUZSTkl9DqSh7XHyKSrfCWFh9XJirfjHlZPuJXmZoeHVWtjlc86i+bR49m63+GsvKqehvoQbx53MZvOujizvBoiWAuLVB7WLoQECELO0UlIQDKZpJxKTmuUKs2RIAAiWHsB+cvlKxl4WKccGBesA/2tDPA7BO3zz8NnPoOORCgDyoDh82YTwYsXY9SjCx/oPJtAgQnW0ItRtt3xB44Y9gkHXviZwnKrhEJs++E89AfLKRkzgsFDvR3bSEiAUIh0UbB2Nqmmv4oL5BOFHkLR498nIQE9RgRrvpKBh/WgkXHBeu/drZT+yDHxavFiiETieVkxeVS9xNfpcAbJ4ApIsIZCsOzkS/hW5LdEUUQe+hnexQVy5wmFiJ40g6qI9VCz9QNTvSq5XaqQAPGwCvlMFwVrZ5Nqkj2wbsUFCsFsZEqhh1D0yu8TD2uPkZCAfCUDDyt744K1enJbYqaA44+PLaacipVJcYF9++LLeS5Yg0H4SuQRADzowio/EwyiIu2JVcnc2omHVShEuihYIUUuTYvknJm1tcWdQ7PQq3b1yu+z78/iYe02IvXzlc48rKEQzff+nnL7c2tr4vajj4YDD4Q1a4iUDsDXuo+m47/IkFf+gbKMekbFBQrIw1pTA62UArvNigK68zRU1TDVWrY9qwkeVq1BqZQe1q0/+TVldz1AJXvM+k4Ea6EPDwp5RhcFa2fnr5sHtrq6eM/5Qq7aFQrB2rWJ1c8y/X0J55F9/+3Ewyq2MzUiWPOVdII1FCJ6womU67iA3HjPXxnt9LCGwzEj7jvvv+H++xl20lR4+el4m0yuFqdg7YL3IhcJBKB1RClsNZ8LJRwgFIJbv9vI41jlc+noYV1/wHEMHhBm4PoP41/61rfY+sFWRgAjtn2A3hZv//EzK5hw6qkpj1fIw4NCHtIFwZrp+Zuc1qiYc2gWah7b5JK93/pWYlGJdOIy+Tza225GuEKv+Qic2PnxxHZ2RARrvpIuJCAYROlEb6d68flED2s4bLyuAJWV5r2trete0gLysAKUljmiZArEUgSDcHr4ScDyrCoPJJ0f+69/DXB4XR94AKZPZ9/KjbE2ToE79vbLaDjkaNdKVlITW8g5UoVNuSDnb/coRMHuPBcAxo1LFKvpxGXCedQSRWlNFMUpp3lTClE599IjgjVfSedhdYxXxLxpx3wKFr4T/057ezwe0RastoAF8GQW3hzZvYfYXPMCEKwo18jOfqehPtRr5U1rauBx72RohyiYm3c4sfKZ669esIDyw8bD6qUdNvlop3FB0LWiVSEPDwp5irNwwNixcVtXWgqDBsGuXWZdaSnf8w3i/Mgu/LSiIjDkF6Xwe0cbt+/Z68aONeFWybVdk5Bh376ht/+u6WxZZ+LS+d0yFYZ2aMeXVoiK7UyPCNZ8JZ2HNRBAVVVBYyOtJZWUte1mvy9+GhY+EP9OKg+rjdcl5VESDfUvMbUtLnL3bdrFgO78llwiBwTrip/8gSk3fA0NtD1bSgOLeiRaAwEY9tNxcA20jJ/CgEsugiuv7NDOnnwX+wvU1jJywwZ4Or7d3hbGT1VtTcrjFeLwoJDHvPJKfHn9+sRtSZ8rWE+Fc8U2YFvSd9z2Y6975RUzQrHYfQ6ADPv2DX3xd01nyzoTl87v7jewHf6/vTOPj6uq+//7JDNZmu5psUCB2tqWFioVWRyWEqyCiDz2Z8ANLY/AkwoPu1pAQRTQQt36qIiNArYIiFoqKlaRQkrBEQQEIkvBFoTSFrqka5LJMuf3x7l35t47905mktky+b5fr7wyc++5d865k3znM9/7XS4xgjWdEBXbmR4RrIOVvpKurOz9msaPwT33wJ497uO7u9N7WDMQrDt+s9rlmetp25Xh5EuYEhCs+3/vS1QaXyiarkBPZjZMn2gqRgw74Uh473tT9vei6Jh6BMO72qCuDi69FJqa4MYbE2PUjTfCNdcA8PwZX+PoNHMqx9uDwiBmzZrCvl4aN5rc9s0P+bqukQhEWpvhvCXQ1mY21tQQGT2a7aPa6N4XI1xXQ+2Fo81++3PUGhNpa4POTgCqVBd3XxwlkmZiYjuDEcE6WPETrLaHNRYzsaWhEIwda7bt3es+vi8Pawa14saffiw85Dhk1PAsFlCilIBgra5IfvHopirQk5kV9vtfV+eb4V85YjjDX/ln6nGOv7NXYwcz1Xo86w+LaG3+8IDDFQShIDQ0GJuWQQxrTkjjRpPbvvkhb9f1uuvg+ut9d9VaP+wBtgSfwr47Val7+ejik2idskZsZz8QwTpYcQpKb7/3nTvN7zFjTFwVpHpYOzpMKaOKimQJoyxDAmZ+ahZcnnw+bGxt8ODBQgkI1vCoOthjvsmvXzqwcIAEdk3e4cOTfxNOgr6gOATr9keeYwqmeHMl3Tnx/ApCQYhE4NFHYfFi+Oc/XV4wRjs8Y97nfmOCtvX0wLZtMGUK3HlnoJtMbvvmh7xd13vvHfAplON3SGxnvymaYFVKjQVuA07BRAldrbW+22fcOcAlwFRgN3A38FWtdYG+Kpco6UIC7NsWo0fz1tYqDgS6b1+Oq1yxLWCqq5MCJsuQAFfTACiPpKsMk83yiuO97ZdYvftu9n31Rti6le5DD2f0j7+d9LAOH+5fQzVIsDq2jz5jDp2P/YQwXbnz/ApZIXZzAEQisHJlxsOzTuD57W/hrLPgiCP6PEBu++aHgV5X3/d8+nRYt25A83I25+lJE/8vpKeYHtZbgC7gXcBs4AGl1HNa6xc844YBlwFPAOOB3wNfBm4q4FxLjk3/2MgB9hNn0lVvLzvO/RJjgc6NW3ntl49xIBDevcN9AluwVlUlBYzDw9rdrXnliM8y7uBa3vXV8/2tgLOkFZSHYC0BD6tTJLY2R5l4+/XEX/034f3HMfLE2ekzkKNR9NlnJ5JG9DMtxOecRMVZZ5oNASEBgV9QHOL50PNPoHX06pxVLxD6hdjNftKXAHXuh34k8Fj/Kzve6WbpIvGeFgPve5zNl47ApK2ZM+H3v4dx45K2OUvPvIrF6KCGN8bOpuvShWI7+0lRBKtSqg5oBA7XWu8FHlNK/R74PHCVc6zW+lbH07eUUncBJxdssiVEa3OUWdbj+l/fSuvcT5k/fIeHdcv/+yITon8CoLpjJxEe9z+Z7XFzelitwHCA8J42Dnv+HvTzEP/LXf5dr2zBWlNjjhXBmhPae8KJagszFpxAyErAYse/0S/8HZUmA9nbM1AB9HTD+vVmQ7YhAc7tNTXm702MbVEQu9l/+sog9+4/55x+JPBYdvipv3VzbVQqABQa73u4ZAlcdlnmXzoCk7Zs586118Ill/R7frXA9H4fLYAJRysG04BerfUrjm3PAYdlcOwcwOtNAEAp1aSUekop9dTWrVtzMM3SYvuKFnqst6yCXhMHAwlR0fPk04x+4K7EeNPNSLtuRyRwhgTYHjd7mwMFpmanX/NkW7DWWf68PAnW9Vc2s3X8TPa9+zBobs7LayQoAcG6pzPp1azA0wAC0jez9mQaaECHwiaeGYI9rBkKVqGo5MVuQvnbzr56wS9fbr5z2/vB/JtUVmaRwGMJ1op4z8B6zueQaBQWLTK/yx3ve7xiRfr33IudtJXynjsTVoWiUizBOhzw1kDaBYxId5BS6gvAUcB3/fZrrZu11kdprY8aP358TiZaStQ3NtBFNd1UumMIH3gAgFDHXmriRkTaLTh1ZZgtE2annswvJMBbScAmHPa12O/cdDsAXXFL1ORBsL5+0XeYvHgB47a9xLDXX0QvWJBf0eqIYW1tjtJy6iJamwtr7etGpYpH7fzdRyE/VV+fPE5VUPHommRiXbYxrM73tBTie4c2ebGbUP62M1CMYMTcHXeYHFQwY+bPNx65G24wnrqWlgxEn/U/VFXR3afQLYSQtD2O115rfhdKtBZLJHvf48bG7L502ElbN9zg8cban5UiWItOsWJY9wIjPdtGYopD+KKUmoeJv/qQ1s6u5kOHWU0RWvGJIfzb31LG7q4cQ8/xJ1F/00LCV38XtjzrHvDSS+a3MyQgQLBW3HN3yr2Udd/6DdNXLQMg1PaO2ZgHwVr36ztctV41mK/OTU05fy3A5WGdvuAkKujNSfH+bBhem7yOPeFhVHW3s2/YeIa3b0VNnQrLliUCtLZdtRj90joqZkyn/qaFZrtO+tQrdByOPRZ9//0oYNO9j3LAnDmpLxokWAtVBkjIBLGb/SRdBnlLi/vP/KMfde/POJbV8rDOPqybGz6TPla2EI0DilHvtZhNEez3ePly83zWrPRVA/ziW/2Sttre3MsY4KWNw5mR1xUIfVEswfoKEFJKTdVav2ptO4LgW/0fAX4GnK61bi3QHEsS3xjCz30OvXYtkCyfUdu7l3VnL6Q+EiG2fqOrSxEAr1h3FTPxsB6Wesex59fJbFtl+//yIFjVYTOh5SX3xsbGnL9O8gWTV6kKU3UhV8X7M6Vz8w7sm+9V3aYSw/Bbv2sC62bPTojV+AknUh+3mlxvfYn4nAeMN9VZ7QHY/KnL2N8Ssfv/+v/YcMBkJntfNCjpSgRrKSF2cwAEZZA3NJg/f7tf/KpVRsxEIlmKPkuwjqzt4eqrg+dRKCFZjHqvpdAUYdky89rLlhnB6vdeZCqso1HofmIfc4DLv1bHdcdLTHIxKco9Pq31PuA+4HqlVJ1S6njg48Cd3rFKqQ8CdwGNWusnCzvTQUJTE2rePNemSrvXO9D52fOAZJgAYDIeoc8YVnOCzpRN1VVJL17c/jPKg2Ad9+EjXc/V//5v/ryr4BvDWvASTm07XU97UbBpk3liB9g98ggq3mvFKVs/Pd3mE8J+v6wwgHDLg+7z/+EPqa8pHtaSR+xmfohE4Nxzk//6PT3JeMd0oQQpeOthB1Bfb16roiK/QjLwFnceyep65QGnYO7sTHpb041LF9/a0gK1cfO5uKunrugxyUOdYgalXYhJnHsHuAe4QGv9glLqYKXUXqXUwda4a4FRwJ+s7XuVUquKNOfSZeFC4uGqhCh1iqwpNzexYeFSNh14DLH9DjLj7e5WzpCAIMHpEaytzVEOeeq3ieftYw4MPH79l3/Ca+/5EOuv7GfcqVcsz53bv/Nkik+cZs6K92dIKOROk6tAE7/mWvPE9p4ed1xKqIQOheHEE40VVsrEqwIVU6ckxgDoxjNTXzTIw2q7nYRSQexmHpg/3+QUeoVWVqLPr0W2h2jUZK7H4+a1lixJW6FuwLGgkYjxMBb6tnwhRbITu6EZmMio22/3v36ZCuuGBhihzJ3HrnCddCUrMkWrw6q13gHM89n+Bia5wH4+ZEuxZEUkQuWaFjYvXs7mTRA+b75LZE25uQluboIzzoA/vsnra99gErhDAoLw3GLevqKFSpKet4ouS1R6BOtrl/+QyUsuNU8Wr+bvq55k1OvPM25ML+O/tiAzT6lXsObb4+fjYS1ozbxolIoOt6dbAfRa67Y9rNOmucb0jBhD+C8PmKLlYL6EWB7WsbMPgSjsGj2J7U1Xm7+FH1zs/mDNwMPa2hyV+oFFRuxmfkgX4+oMJUhb1zMDwWp79uJxY2q2b/cf571lffHF8OyzJhoqnzeYckGxmyIccQQ8ad1T6O31D0vItCtWJAKx/fbB29B893Den+W6sm4+IaRFWrOWE5EI+6+MsH/Q/mgUvWoVCjh4wyMAdD3dStWzzwYdYXCIxpdvWsnwfz+LpgKskkuh6krYR4pgDa+4J+EF1MCxrbeZ53tAL1hgHjc10docpWrJYiZ2rKNutBWicN55xjKXgGAtGNEo8RPnUGHFpTr9rLoyhOrtSX552OkOGwhPfbexiDusBhHV1ckyVNtMrs3oy7/A6K9bn3ZVVa4P1n3b2vHLgd385JuJv6cpC+YWNPlMEApJX0IrGoWTT06KyJRSyM4GLgHHv/FGclg6z5731vbixWb7g1Z0jy1aRRAleeFHq9GXfp3f6X8Din3UUde7l/pF3fAdzAWvqzO5Gt3dRKqqiNTVwZK9SVvoGQNQbXWOfH/ti8AhidfLpBFFsRLQyhURrEOJlhZ0bzLuESDc9jacdlr64yzR2NocZdbVnwBwVQft7bBElPf2ccPJcOffg8+7YgWtzOLQBScSIinSFCS/Inu8u2UtWFtajCi1iAPbqw6k8gNHUz//Y3D++UkPqy1Y6+pM7LG93dllxRasthvHWZalqsoVs1yz4UVfD+q/28YyAfOehAucfCYIpcTy5cl/r1jMPHd2Uzp1epgjwdfD6hQvlZXmRteECcGv5UyY0tpV+CNRJEUEkYNolBmXfJgKv6rjgTU0suTjH4c1ayASyejal0ICWrkhhRWHEg0NxFXIVTHANAZInyRgW+lEowLcFQdqOox46u5ye1gnXnBG4vGrB38w1ZQ0NlrhBe7koQQrVqR6WPMdU1lMwdrQAMr8S5o45Gre/tFvqF+zEt7/fjPG/sS0vvXzrne5t9u/fTys6eoIatzvr83oT32EDmpTa/8KguCqdfrJs4NDApzipafHlM7+2c+C66M6Y0G//GX3PrtISqaJQ0OClpZktZp80d2duMjeRhN+177YCWjliAjWoUQkwn++cgu91vfQRNWACt/vpUmee46N/30NGzvrfXfbVQJ6Yp6kK4c3dNpFH6G7JlnfXFm3/J0CyFXFAIxltgWrlUBUTh7Wdd/6DWvnXpdsTBCJoE75MAD/mXwyry59JOnxtBPjvCEBXsFqXy8/wWpfw2gUbQtezDWPU+krRmc1RVi/dDWPn3JDwZPPBKGUmD/fCA+lzO/5892isb3LPyTAGQpQWWnyOnt7+xaadsLUzTfD0qVwyinmtx0OMJQFUUpCWkODK/wsL9LVaqDj12jC79oXOwGtHJGQgCHGlJubaJ0yKxkzOns6nHYa+sKLUL0BntZvf5uJwJmk9qDvoZIuqgjRQTgULFjp6qK6wuEdPfFEwAiinkuGURFrp/2gadRt3wjt7cat0NSU6OLF8OEmrijfgrVA3ZzWfXsF06/5JNOAjoe/k4wNHTUKgEnfaoJPOyycnRjX1QXRKPuuu5k6YN+2DhN7mk1IgM8n5Mbx7wsUo761fwVhiGHXZfXGLdq37lU4DJ24PKzeUID/+R943/vcPe4zEZpNTanJVpkmDpUb/rfjI3DAAbBpE+rAA424HD3a3Ily2MS94dF0b21jWEWM6pE1vmN8t82eDQtNY5aWRcmPIaVMSbR0SVtD5X0pBCJYhyBGgKx0bavYf3/4r/9Ke1yYrsRj+9vsO5+6hDXDTuMzd5xCSHkEq/PWWFcXdHS490Wj8K1vEYq106sq2HDNHcy673r4y19MdgMkPYa22CoTD2vPvSvMy+GJDXUG/zuxPax79hA/4UTqrMSsYa9aCXPpQgLsbbaHtaGBeGWICke8rP7CeTlamSCUL14B4uyuVN0Vhttx2T2nBxbg4ION8Jw1a+gJzVwRGBtq2+5oFA46KOW4FKH7x/5de29DhvnzB7AYIStEsAoAtG6uZ1YfY+JUuspZARyw6GI+M24c3AHE46y/spmau26jZsoB1P/XCcmB+/a5MwdefhkWLEDH4yhMC9HpCxrYdeQJjIJk1y2v2CoTwVp33Hvh+XsAT2MC21Nql8ixsQVrezsq7hPHm06wJl7UEv2RCJVrH2XbVYuJbdhE52fPM6WuBEHoF8uWQUUsxBIg3tWdiLUL6jbl53nLNuN/qCZdBXbwcto+H3KVBDVUPdulgAhWAYDtK9YQJ31Q84tHfp4jnrnDvbG6OnEbvbejk8mLF5jtb0H88T8mz7d7t/u4l18GS6yC8TSG6KZ9yy4jWPdYqZ1l6mGd9LFZ8FPz2BUbGuRh9amV64rTsoWufb1qapLX0OLNn/+Zg447zjyJRBi3ZmXyQzIqhlcQ+oMthIhbXzIdNspX3Nx9N9x0E2zcaMaGQnRW1jJ1Wwcz6KGXEJ3jaqnp7UieKxQydZU7ktve2xPilY5aaugg1NFDdQNQ5xlnHzdqlIlDKPUirhkQKBj7EKz9aVUb9CXCfmxHV4ntLAwiWAUA6hsb6Hqwimrrtr+fbDvi1AnwjGejQ7BW9nrEpPO5V7BOmpR4aAuvHsKEp0+GTc8kPazepCtnlYArriB25730tHfB+PHUffj49AFFmZCnGNbW5ijbV7RQ39hgxKnDg+qKHe3Lw9rbi5o+HdatY+t+h7Hnvy9hyne+aD6c4vGk0W5vN4UiHUy84wbWj5+Y8KYOVQ+NIOSShBCKVULc3C0iHk/YEpc3NRqFs89OOUcNbbjuh2xrSxlDm3tbHVCHY1uX9eMZR1ubae28wHImNDUNqvqtfnP1jQ11Jpz6kK1nNJ19FNtZHKRKgAAY0fTq0hb+ecwXA8dsf/yl1I0OwZpChaPd565d7n0HHJBoB9p+yAxemTmPdUvXMO4DU81+r4fVGxLw9a/DD35A9bZN1LVvo+4/L6F//nMT+zqQXoa58rD++McRsxTBAAAgAElEQVQmUH/mTGKjx3P4guM46cGvMnPB8fz5fVfywjrHtXF6jS0P6533VrmXYXtYY7HEmP0eW2nEp73v0UfZvfB6c8rn/uXbKlfdtyLxWMriCMLASWSD36iIVxof0OJvdRON+mSzF/ufbMUKVymuoLJapUI0asTl175m8nSbgzp8x+MJu7jo+9WBa0rXqtb7XqWzj2I7i4N4WIUEiWxw9VPf/aMfvT91o13nxQd12aXw/e+bJ14PayyW8JbWvfYC0+1zLGoxv70eVm9IwJ/+lPp6MPAKzbkQrD/+semlaOH8vl+B5tRnF3PL5Z0cZm/s6IARpuTX3h1dDAdu/XmYZ+90fHOvqDC393p64J13zHFjxlgvUA2xGPrkk7ELh1W27/Et7aI/0Zh43J9bZIIgpGJ7/Hq/GYbeHm78Rg+xG6tRyvzLJrxwJ5wQeA7n/2veApMaGwdVQfvly5M3nXp74cILTcJaynytQTGquPbrKmuvp5/HNJ19FNtZHESwChnjW601HPb15AHJGqGQKlhtQVpd7RaJtifV9rAGJV194APw9NOJGSmsLlkDtR65EKz33ht8esw8j+tdm9zY3p4UrDu7GQ50xKtSP0yqq8367Ws3enRyO+4PucT1OOYYdnXVsHdbZ0pylSQPCEJu6SZMJR1UxLsT4ehaO4Th/8wwG0MhOPBAY9+sUkrKLqUUVFqpP9tqakw4QFeXuSvV1ERDdPCKrXg8QGBb649R3S8h7ifir7462D6K7SwOIliFQLzf+DXK3U3EFptBIQHOMlbekABbkHrjjSzhxm230fOLO6lo32PiVuzjbcE6dy7ccgu9tcOJqRrq2reh3vOeZL/E/uInWLXOTsjOnQuPPZY83Hl66/c/Ko/lyN5/mift7Yn9I2uMpyBeEU79MHG2Ux0xwt2U3Oe1dCiMWrKEUZGISWTzQeoECkLuqKwJQwxqKrrpCOHysDY0kGz4cdBBsGFD3ubhivu8+Ch4+mk4/XRgcImt+fPhttuSuahW7f5UHIK1P40UsqnmYCO2s/CIYBUCiVeE2PyZKxjz2B+o+89LxFWICu2orWqLzSAx5xBiaT2sTp56yvyOxQhhjJAG+NWvjNizBatlwUKnf4TQpz8NZ54Jhx8+IAvS2hxlYuubjPHuiMcT8bYZccYZ8M1vwrBhMG0aqq2Njpiie28nI/duYcPUU2k4Zy5cY4VeOK7TsJBZ14WXVfHeMz3LcVznro5u1jVHTRiH4xr2jBjNzpr9qZgxnfqbFopFFYQCEq4JwS742sJujrLKWi9f7hhgJ0SNSbEyOcN7e3vLtFpGgsuBkGuxla8krkgE1qxJXsP58wPObwnWkeOrueHy4Hmky/ofLCJ+KCOCVQiksqaKib+8mTe/UEXdL24kpD2dsJxis6IiNTQgnWAN8rCuW5cyDwVo69yb3uzloQuifPSVFYwD85V72DAz0OnRzYLXL7iJYXf9jJl7XqcSn/CG3t7sBKsddzt7Njz+OAC1QO33vw9f+hJTTp8Bkx3X0jlvKxZrwUVheLfjnNEo7NiReBru6WT6gpNoZQ2zHB7W8PEfYPyqVZnPVRCE3GFV97j4gh442PzbLltm/q2XLYOnFu1kJiTDefKA9/b29n1GsL70TAe/+1tuBVk0asTk7beb18tHxnxG4tqyudUjqrn66uC5psvsF49p6SOCVQjGutXfvfbv/vudtUH9BKtTiGlP/GuQh/Wss+Chh1KjZSsqId7Lnnsf4HMsSW7fudPUGfS+XoZsPPsrTLr7u+kH2ff0MiWovIr9PBZzVwZwCvugOqyeNFS7bu32FS3u1xk7NvN5CoKQW+yye8cdB+EwkzpH86+ONqqIoTpg9Fet//vXXjMKKgOFlK330nt7e9SEWvg3fPOqDn6bQ1FpC8DOzqR5L1oSlzOGN4DBlGwm+COCVQjGugWtG89CL34oNXPV62H14hRiXjZvNr+9BsYqbK2WLCH2dhvtuob4rNnUHz0Fvvc9pvOKe/zWrUnBmu71Aqj9i0/lAy/O2q+ZEGQ8nYLV2bbWT7B667A2NEAohHYI3R7CpkPWbb9Ljquvz26ugiDkhmg0adfeeguACd4x9r/6a6+ZEnyPPJJWNfWn3qf39vbY/zP2MdTdQa/OnVizBaAtVpUqYhJXH00DQDL7ywGpwyoEY4nQKTc3sfOYU1L39yVY03k8t29PPYdNUxO8+CLV2zczZsdr1K9ZCdOm+Z9n4sQBhQSEDjqg70Eewbr+K7ey+YD3sX3Ox/2LGDq7TTkJ8LC+8/kr2HPYsabIoF3DxethjUTg0UdR8+bRPilZt3ZWUyT5esCOZ17rez2CIOQen2KcyucnQQYFPPtb79NVb9T6Qj8i1NGvhKQgbAFYWWlM24IFfQvqlLq0/STlPBkI1kS93BtSmwDkYk5C/hEPqxCMQ4SOOfVYePJB9/5+eFg1HqOdxsC4CAX8qR500IA8rKHdO/oe5BCX679yK5O/e6GJq938LPE5q6h4dI3bSmcSEuCI1R2/7SXYBnrBkyjbs+r1sIJ5jZUrqQOm29uiUfTzzyeu6ZjH/8j6K5td5asEQSgA1l2QjNtHZ6Acc+IVtOzjwos7OHhcbmJY7TCFJUuM72GgnaOyfe2U82QgWCE1TlU6Vg0uxMMqBOPM/veJ4dz76lu0NltfSzPwsHaFatl5zKnmSYYGJkFQ0tMAkq5ev+g71G1o7Xugw8MaWnFvQhwqQPV0p7o9MvGwOgSry/Nif9hlGjPb0pIS7+vsZiUIQoGw7oIwbx4ccohpPz17tnk8YQJMmEDHhEn8Z9Ictsz7Yp/hAPYp/byCWWEJ1ndP6Ajs8pQNzk5Zl13mFqvpvJW56g7le55sP09yPCehMIiHVQjGKUJ9DEHdvq1MXXAyrTzCLD9B6fF4Vk2dRNXXL4aP/SWZdJUmSN5FkIe1qqrfSVcjfvWzjMa9vOwJDl1o1aj54Mlw25rEPl0ZRnndHn3FsHZ2JkIcnI0PzAZrS9B6vTQ0oCtD6N6kV8fZzUoQhAJi3QXxI+HN2wpVb8PqhZCJdhxw9voAklL9CEpe6stbmeItPknDlVfB3Xebz4Nw2HQ03LfPHcvv3BYOc1moji/07iNENxW9UPedMIQtC/rccxkns/nOqSEnl0jIE+JhFYJxelh9BKsCwnSZTPVMYljr65O3um1hNtCQgHC43yEBarpbNAbR9sDjiceHNJ3m2lfxS59GBZmEBEycCMC+qbOJVZlmCeqKK8z+cDjzRgWRCJVrH2X7nHlsmngMGxYulXAAQShBiubNy7FgdcauOkVeX+tL8Rb/9kuweDFs3GiqvWzdCq+/bn7v3Om/betWaje/zgS2Mo6djGUn1W1bk+2q334bTjop44DUnHiwhYIhHlYhGKcI9blFrYFuqkym+tPfSz3eKyDHjk09Ty4Eq91xq7vb3FIPGhuNwuLFdPz9n3TGFLV1RjzvHPNuxrQFJyuNPfWY5BNvPdnp00khk5AAy4Mw/JOnwzPPwKpVcMwxyTVlQyTCuDX+Xh1BEEqDonnzcihY08WuZrI+l7f4vD8PeD6+dHdnVQZB6q8OHoomWJVSY4HbgFOAbcDVWuu7A8ZeDlyJqb++ArhAax0r1FyHLH14WP959ALC559jMtWv6TvpaveGrYz0irFcCFa7nkosRmzCwfR0dBMaVk115Mhkqmw0CiecgI7HqQFqAOymM586FX7608CXnn7We1l/ZTM1d93GiFGYrjE2fh8C2VQJCIeTpai2bEluEwQfxG4OXvrTTSknHaRswfrTn5o+p6GQsU0dHcn4/FCIWEUN8X0dhCt6CVWSMq6bEJP21rCADkL0MqwWQouTYyK9vbTVDufhD3+d0Vdd4Ipr9V3DtGnw0kv9XFQaAvu3CoOdYnpYbwG6gHcBs4EHlFLPaa1fcA5SSp0KXAV8ENgErAS+aW0T8kkfgvXIJx0iL4OQgBH/irJx6QNMdG7MRdJVNJqIG63evplqgHbQf3gL9ec/m95+q1dDPJ5aSxbMLSm/xgcWm69awuT7fmKevOXZ6ReGEJQA4FeHNRRKFvu3BWs2TQqEoYbYzUFMNt68nGWwP/us+R2LJW2TD31Z4jCwv3NDh/XjOsdeTvv9hXB6JUSa0q9hyhTze/x4Y99rakwHsLY2dx6Ac1u6MbGYueO1UFpSlytFEaxKqTqgEThca70XeEwp9Xvg86Qa1HOA22yDrJS6AbjLZ5yQa/oQrC4ybRzQ8oj7eTSaWZB8Og9rQDCYguTtocmTAZ8kJ4BDD4WHHw6Mga176H5/oQv+x2TrYbUEa/ePbiUM9O7cTWUWiQPC0EDs5tAiKCY0a4/rhg15mV9aVqyApqb03aXarFtcixbBeecN6OVy4okWSp5iJV1NA3q11s62Rc8Bh/mMPcza5xz3LqVUSksfpVSTUuoppdRTW7duzemEhyR9xLAGjrWxbjdpkkKxe/Q41xD9wgum40tfQfLpBKvdBcrxWs5Equ4bF9H5hQUAqBEj6NzvIPc5Dj00rSBXB+wfuK/fIQFOD6t1Wyy0bxcAFd0x4nMyTxwQhgx5sZsgtrMU8SY31dcny0nNnZuFeTjrrD6HeG1nkC312+ZLY6PvGlx36ndYNbAH2E7aWWYrq+siDDqKJViHA7s823YBIzIYaz9OGau1btZaH6W1Pmr8+PE5meiQpo+yVokarN6xHraedg6vvecUNixcCvvaXcZOQWYps+kEq6MLVOeEQ9gzYgK9VbXJIe17qOkyZbT0nj3UXndV6jnSlNcaMXm/4Hm1t7P+ymbemngse6e9z9ReXLbM7PNaziAP6+uvuxoqBNZ3FYY6ebGbILazEGTbUcmbwb59ez+rDDQ1wdKlMGOGqQfrUx9WTZrEvqmz2Tn6ELrGTqBr7AReZxLPMpvXOYTYWHOcmj0bdcghKOs417lGjTKvN3t2osW2cw1Llpg5J9ZvCdZf/mnsgESm1FIdOhQrhnUvntwV6/meDMbaj/3GCrmkj5CAKQvm0spqk3SVRrDu99kPsd/nPgfAeoDFD7tFayYps+kEKyTqH9ZiMkw46SRTxNuP++83X/nthIM+BGtKZQAHW+95kMl//VXiuauT1513wgknJIx3oIf13HPhiSfcnoyQT31XYagjdnOQ0t94VG/Ma7+rDDQ1Je1QAMMdjxctMh7L3l5jKm/4sslfTctjj8GJJ8LLL5v41PZ2iMWIAEdSxZttddTRTpgYsTFVVO7eQQjY8PPVNN11Ur9jdKWW6tChWB7WV4CQUmqqY9sRwAs+Y1+w9jnHva213p7H+QnQZ0hAogard2xtrXugQ2xOubmJDQuXsunAY9g9ew7qi5l1fOlTsHo5+2wg4NZWYyMMd5jnqqr0Mbp7Uj/j7XNVP7E2uFc4mFgumyAPa1MTaulS2g+Zwc4xk9gxZ15qu1dBELs5aMmFF7CQNUPT3soPYu1a87uz08TNbtli4lTb2qhue5v3sIH92cI4zPNQr/nSfi038PnO5n57RqWW6tChKB5WrfU+pdR9wPVKqfMx2a4fB47zGb4c+IVS6i5gM3AN8ItCzXVIE+Bh7aHSXYMV3IJ1+HB3bKdHbE65uQmyLW6frkqAH5Y3QS1ZQuztNmLdUFk/lrqrLzX7vvlN2LUreY6g80OKh9XpCa0aFoLdpIY52DQ6uk7Z17Cri7Z/vcUYSF6bpibqmpqoC56FMMQRuzl4yZUXsFA1Q/tTgmsg9+LPVCsY3pD+MyFdYpXUUh0aFLOs1YXA7cA7wHZMjcAXlFIHAy8CM7XWb2it/6yUWgw8QrKe4HXFmvSQIiCGddecj9Facyz1jQ0mHMAzNhavdJdIybTNaDqy9bBC4jZYNT4lW+oc0rCvzlIeD2tnzRjaj55D/dr7qdltElT2DRsPBx7I8C6r3MrYsXDppa7bcK0/f4LDMYJ2xBN/7Xv+gpCK2M1BSF8CsBBZ7tm+RtYisLERHnwwcLffl3p72+QvNzIlzWvlrMSXMKgpmmDVWu8A5vlsfwN3OA1a6+8D3y/Q1AQbp4hzhATUz5pIw4/dAU2x3bGEKAxvf9t9nlwI1t/9zn97fwWfU7BWVaVv6+oRrLVzjqb2tAZYe3/iuM6jT2Rcywqfg5MkwieASpIFuwUhU8RuDl6CBGAhxFi+XyMahZbtTXxyIUxpuc28kKdWqvLUU90bHs2ujio6P3ten+2k05bHEoYM8mkpBBNUJcBHZPXs7UgIVuUtevLXv8LHPjawuUSj7oQmm1wI1nXr0Bs2BNda9Rbbrq427VQd1K+5j/VXNqc1vPWNDcQfrKASR4MC8bAKwpDGK8aWL8+9tzWfgs8phm+oamL16qY+z+0S0D+C1fPSz0cSqwQoXtKVMBgIEKxv3/uIu6QVUDky6dzp9Ug//cMfQnPzwOZy5pnmXN7tuRCsra3ZHVtdDW++mTIXdV96D+uspgi7TjDCPXGFxMMqCGVPupJWzgSnykq4447c1xTtVxJVhvQnoSzbYyIRUxZr7lzzW7yrQxMRrEIwzpAAu70fsN+W55m64GSXaK0ZlxSsW0dNTRWWK9KLuT6xMun3zDjGvb2/gtUu7g/8e+wxxENVfRfDtqmuhs98BnBXH9CfaAw8xCZe6RaoG7+yJNNXFQRhENJXYXtnlvu555oCIrmuKZrLTHqv+O6PGM72mGgULrvMzP3ii+GCC6RBwFBEBKsQjNPD+o9/uNqaukpaecZ2fea/AZ9SUgOlqYmRLz5B3JnR/8AD2Z8nGkU/9nji6aLvhHjxlha2fejTmR1fXe0qRbVtv5lsWLi0zzgsgPb/bHUJ4wNfeYT1Vw7Q+ywIQsmSiTcxEjF1TufPz58nNBIx53MV788SP/HdHzGc7THea7h0qXS1GoqIYBWCcXpY585FW17IlJJW4CoLdcjN/8uGhUvZNm4G7ZNmopYu7bNodaa0NkdRdsF/QN90U/bhBi0tEE/Gkc7qeYY/bo8w/meLMjveDo9oaqLu9RcZ//YLGYlVgO5PmgYKrozZPkIJBEEYvGTjTcxnTdFctDANEt+24Lbnm0lXL+8x6bCvof2RpLV0tRqKSACdEIzTwxqJUPFoC5sXL2fzJgifNz9Z0gqShfABRozoX63VDHB5dW1WrMhOEDc0oCsrUb1mzk+GjuPiBjIPLxhAotSUm5tY1/Io0568K6tQAkEQBifZ1jTNV03RXCReZZL8ZAvjWMx8hNxyy8D9FfY1XL7cxPj29Ejy1VBEBKsQjLc2aSTC/isj7O839p13Eg9bf/Z3t5jNIfWNDXQ9GKIKh0DONtwgEqHi/PPMfSXgS/cey/sjwNbUbl42rgoFadrQZsL0J37J+ivnoO5bgf5EY8beWUEQBid9idBC1GHNRaZ9JuK7pcWI1Xjc/Fx0EcyaNfB12ddw/vz8XyuhNBHBKgSTqTCLRtFbtiQE3dQFJ9PKI3kRrbOaIrTyKFVLFnOA2sSIS8/r39f3ww9PPHz/ByyPqY/n1BaqLumerslAhuTLAy0IwuCiUEXx+9W9KuA8fZWgqqhIRl319ua2jJZ0tRq6iGAVgslUmHkCiRIJWXnyss5qikDTyoGdZNSo5GO7KYKvYFXYEae58rAKgiDYFLIofj7FntNLfMstxrPa22tC/uXWvZALRLAKwWQqzBoaiIeqqOjpAnwSskqRkSOTjy2h+q9lT3G4Z1jFFZezeUM7mzfBkU/+1GzMgYdVEAQByqMovp+XeM0auXUv5BYRrEIwmQrWSITKdAlZpYjTw2oJ1m33P57STWvTxjgHrLzVxO0qEayCIOSWXN2qLyZOL3EsBt/4hvm5+uo+DhSELBDBKgSTjTBLl5BVijg9rFZIQH3jyXQ8WEsVMUJW+9Rxv76F1rmfdAtwEayCIOSQwR6XaXuJ7WSrhx6CtWvzF48rDE0kGE8IppxjNYcnO3O13vYkYGJj1y9dzbNjP5QoOVVBPLWUlghWQRCGMN46q7aX+EMfSiZcSZ1UIdeUsSIRBkwZC7OX73sx8XjKgrmJNrOzmiJUL/oGHdTSTSVdfvG4ZXxdBEEQ0hHUgCASMWEA1dX56dQlCCJYhWDK2MP69up/JR5728zantbHT7mB9UtXp8TjvvPcW4WapiAIQkmRrtVsUKeuTDpfCUJfSAyrEEwZexLHnjWX9oe+TZgu36oGpnRWUqi2NkeZZT0es+oeWpsvKP3EMkEQhBzTV1UDbzxuoerMCuVP+brQhAGz+dXdZfuNuC8vqpftK1oSca3KL65VEIQhz1DwJAZ5UYNI55EVhGwQD6vgxmFp99v8PJ9piLKoJVKW34i9XtR01Dc20PlgLWG6/ONaBUEY0gwlT2I2VQ3Koc6sUBqIYBXctLQQp4IK4mgUx3e30FKmgjUbTEvY1Wxf0UJ9Y4OEAwiC4KKQHasGE+VQZ1YoDUSwCm4aGtDV1XTHTGzn4+EGFjUUe1KlQTYeWUEQhhbiSQxmsNeZFUoDEayCm0iEykdWs3F5C2toYNF88a4KgiD0hXgSBSG/iGAVUolEOCQSYX6x5yEIgjCIEE+iIOQPqRIgCIIgCIIglDQiWAVBEARBEISSpuCCVSk1Vim1Uim1Tyn1H6XUZ9OMPUcp9bRSardSaqNSarFSSsIYBEEYcojtFARhKFMMD+stQBfwLuBs4Fal1GEBY4cBlwHjgGOBucCXCzFJQRCEEkNspyAIQ5aCfuNWStUBjcDhWuu9wGNKqd8Dnweu8o7XWt/qePqWUuou4OSCTFYQBKFEENspCMJQp9C3iKYBvVrrVxzbngNOyvD4OcALQTuVUk1Ak/U0ppT6V79mOTgYB2wr9iTyRDmvDWR9g53pRXhNsZ25odz/NmV9g5tyX9+AbGehBetwYJdn2y5gRF8HKqW+ABwFnB80RmvdDDRb45/SWh/V/6mWNuW8vnJeG8j6BjtKqaeK8LJiO3NAOa8NZH2DnaGwvoEcn9MYVqVUi1JKB/w8BuwFRnoOGwns6eO884CbgNO01uX87UMQhCGI2E5BEIT05NTDqrVuSLffisMKKaWmaq1ftTYfQfpbVR8BfgacrrVuzdVcBUEQSgWxnYIgCOkpaJUArfU+4D7geqVUnVLqeODjwJ1+45VSHwTuAhq11k9m+XLNA5ps6VPO6yvntYGsb7BT8PWJ7cwZ5bw2kPUNdmR9aVBa61xNJLMXVGoscDvwYWA7cJXW+m5r38HAi8BMrfUbSqlHgBOBTscp1mqtTyvopAVBEIqM2E5BEIYyBResgiAIgiAIgpAN0ppVEARBEARBKGlEsAqCIAiCIAglzaAVrFn21b5cKbVFKbVLKXW7Uqq6kHPtD5mub7D2DM/m/XMc87BV5qes1qeUmqyU+qNSao9SaptSanEh55otWfxtKqXUjUqpt6z/vZY0rURLBqXURUqpp5RSMaXUL/oYW7a2xRpbtusT21l6lLPdhPK2nYWwm4NWsJJhX22l1KmY1oVzgUnAZOCbhZtmv8m0b/hg7RmeTV90lFJnU/hGFwMh07/PKuCvwMPABGAi8MsCzrM/ZPrenQWci0n+GQtECchqLzE2ATdiEpwCKXfbUu7rQ2xnKVLOdhPK23bm325qrQfdD1CHedOnObbdCdzkM/Zu4NuO53OBLcVeQ67W53PsFcAfir2GXK4PGAW8AnwA0ECo2GvI1fow7TDXFnvOeVrblcCvHc8PAzqLvYYs1noj8Is0+8vatpT7+nyOFds5SNY22OxmP9Y3aG1nPu3mYPWwBvXV9vumcpi1zznuXUqp+jzOb6Bksz4vaXuGlwjZru/bwK3AlnxPLEdks74PAK8rpVZZt7ValFKzCjLL/pHN2n4FvEcpNU0pFQbOAf5cgDkWinK3LeW+Pi9iO4tLOdtNENtp02+7MlgFazZ9tb1j7cd99uAuIv3qG66SPcO/m6d55YqM16eUOgo4HvhRAeaVK7J5/yYCnwZ+CBwAPADcb93yKkWyWdtmYC2wDujA3Oa6PK+zKyzlblvKfX0JxHaWBOVsN0Fsp02/7cpgFazZ9NX2jrUfp+3BXWSy7huuBlfP8IzWp5SqAH4CXKq17inQ3HJBNu9fB/CY1nqV1roL84FZD8zI7xT7TTZruw44GjgIqMHEKT2slBqW1xkWjnK3LeW+PkBsZwlRznYTxHba9NuuDFbB+gpWX23HtqC+2i9Y+5zj3tZab8/j/AZKNutz9gw/Qw+OnuGZrm8kxutxr1JqC/APa/tGpdSJ+Z9mv8nm/XseE1s2WMhmbUcA92qtN2qte7TWvwDGADPzP82CUO62pdzXJ7aztChnuwliO236b1eKHaA7gMDeXwH3YAKZj8e4lQ/zGfcRTPzOTMwb/jAZBOAX+yeL9X0Q06ZxTrHnnOv1AQqTAWr/HI0xUgcCVcVeQ47ev+lAO/AhoBJz22d9Ka8vi7VdBzyGyYitAD4P7ANGF3sNfawvhPFqLMIkRdTgk6wyBGxLua9PbGeJ/ZSz3cxyfYPOdhbCbhZ9kQO4OGOB31lv4hvAZ63tB2Nczgc7xl4BvA3sBu4Aqos9/1ytD3gE6LG22T+rij3/XL5/jmMmUeKZrv1ZH/AJ4N/W32eLnwErpZ8s/jZrMGVcNltrewb4SLHnn8H6vmH9nTl/vjHUbEu5r09sZ+n9lLPdzGZ9g9F2FsJuKutgQRAEQRAEQShJBmsMqyAIgiAIgjBEEMEqCIIgCIIglDQiWAVBEARBEISSRgSrIAiCIAiCUNKIYBUEQRAEQRBKGhGsgiAIgiAIQkkjglUQBEEQBEEoaUSwCoIgCIIgCCWNCFZBEARBEAShpBHBKpQ9SqlapdRGpdQbSqlqz76fK6V6lVKfLtb8BEEQShGxnUIpIYJVKHu01h3AdcBBwIX2dqXUIuA84GKt9a+KND1BEISSRGynUEoorXWx5yAIeUcpVQk8B+wHTAbOB34AXKe1vr6YcxMEQShVxPKyuZkAAAG6SURBVHYKpYIIVmHIoJT6GPAHYDXwQeDHWutLijsrQRCE0kZsp1AKSEiAMGTQWv8ReAaYC9wLXOodo5T6X6XUk0qpTqVUS4GnKAiCUHKI7RRKgVCxJyAIhUIp9UlgtvV0j/a/vbAZuAk4GogUam6CIAilithOoRQQwSoMCZRSpwB3AiuBbuBcpdQPtNYvOcdpre+zxh9c+FkKgiCUFmI7hVJBQgKEskcpdSxwH/A4cDZwDRAHFhVzXoIgCKWM2E6hlBDBKpQ1SqkZwAPAK8A8rXVMa70euA34uFLq+KJOUBAEoQQR2ymUGiJYhbLFujX1ILALOE1rvdux+3qgA1hcjLkJgiCUKmI7hVJEYliFskVr/Qam4LXfvs3AsMLOSBAEofQR2ymUIiJYBcGBUiqE+b8IARVKqRogrrXuKu7MBEEQShexnUK+EcEqCG6uwbQitOkA1gANRZmNIAjC4EBsp5BXpNOVIAiCIAiCUNJI0pUgCIIgCIJQ0ohgFQRBEARBEEoaEayCIAiCIAhCSSOCVRAEQRAEQShpRLAKgiAIgiAIJY0IVkEQBEEQBKGkEcEqCIIgCIIglDT/H3u/SWzsKk51AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", @@ -1648,11 +2069,74 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Polynomial degree: 1\n", + "Error: 0.061448998019132145\n", + "Bias^2: 0.06105618955900724\n", + "Var: 0.00039280846012491264\n", + "0.061448998019132145 >= 0.06105618955900724 + 0.00039280846012491264 = 0.06144899801913215\n", + "Polynomial degree: 2\n", + "Error: 0.03875741192664723\n", + "Bias^2: 0.034968923076368015\n", + "Var: 0.0037884888502792186\n", + "0.03875741192664723 >= 0.034968923076368015 + 0.0037884888502792186 = 0.03875741192664724\n", + "Polynomial degree: 3\n", + "Error: 0.02041636912454364\n", + "Bias^2: 0.01715994964969937\n", + "Var: 0.003256419474844272\n", + "0.02041636912454364 >= 0.01715994964969937 + 0.003256419474844272 = 0.020416369124543643\n", + "Polynomial degree: 4\n", + "Error: 0.015965748446438426\n", + "Bias^2: 0.013554291046963396\n", + "Var: 0.0024114573994750295\n", + "0.015965748446438426 >= 0.013554291046963396 + 0.0024114573994750295 = 0.015965748446438426\n", + "Polynomial degree: 5\n", + "Error: 0.013812239104124671\n", + "Bias^2: 0.011703251217852149\n", + "Var: 0.002108987886272521\n", + "0.013812239104124671 >= 0.011703251217852149 + 0.002108987886272521 = 0.013812239104124671\n", + "Polynomial degree: 6\n", + "Error: 0.014027604155185338\n", + "Bias^2: 0.011913977762964968\n", + "Var: 0.0021136263922203642\n", + "0.014027604155185338 >= 0.011913977762964968 + 0.0021136263922203642 = 0.014027604155185332\n", + "Polynomial degree: 7\n", + "Error: 0.015038650222479456\n", + "Bias^2: 0.012358926638419723\n", + "Var: 0.0026797235840597265\n", + "0.015038650222479456 >= 0.012358926638419723 + 0.0026797235840597265 = 0.015038650222479449\n", + "Polynomial degree: 8\n", + "Error: 0.01573056551137539\n", + "Bias^2: 0.012523761778720667\n", + "Var: 0.003206803732654721\n", + "0.01573056551137539 >= 0.012523761778720667 + 0.003206803732654721 = 0.01573056551137539\n", + "Polynomial degree: 9\n", + "Error: 0.016856035170026745\n", + "Bias^2: 0.013111698385627429\n", + "Var: 0.003744336784399317\n", + "0.016856035170026745 >= 0.013111698385627429 + 0.003744336784399317 = 0.016856035170026745\n", + "0.5424065596633239\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD7CAYAAABuSzNOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxU1f34/9c7mcmeAIGwBgw7BgggcUEUqIq44PJRW/dqqbUFta3WVq11AfVj67c/tXWptdWqtWq1xaWi+BFBAUUxUAHDJsgW1pBANrJMJu/fH3cmzISETCDhZnk/H495zJ1zztx5T5bzvueeu4iqYowxxgRFuR2AMcaY1sUSgzHGmDCWGIwxxoSxxGCMMSaMJQZjjDFhPG4HEIlu3bppRkaG22EYY0ybsmzZsr2qmtbU97WJxJCRkUFOTo7bYRhjTJsiIluO5H22K8kYY0wYSwzGGGPCWGIwxhgTpk3MMRhj2j+fz0deXh4VFRVuh9LmxMXFkZ6ejtfrbZb1WWIwxrQKeXl5JCcnk5GRgYi4HU6boaoUFBSQl5dH//79m2WdtivJGNMqVFRU0LVrV0sKTSQidO3atVlHWpYYjDGthiWFI9PcP7c2kRgqq2vcDsEYYzqMNpEY8grLsPtGGGNamohw7bXX1r6urq4mLS2NqVOnArB7926mTp3KqFGjyMzM5LzzzgNg8+bNxMfHM3r06NrHSy+95Mp3aA5tYvI5tXo389bsYXJmD7dDMca0Y4mJiXz99deUl5cTHx/Phx9+SJ8+fWrr7733XiZPnszPfvYzAFauXFlbN3DgQL766qtjHnNLiGjEICKpIvKmiJSJyBYRueowbW8VkV0iUiQiz4tIbJ36K0RkTWBdG0Xk9MY+vzOlvPjBZ9TU2KjBGNOyzj33XObMmQPAq6++ypVXXllbt3PnTtLT02tfZ2VlHfP4joVIRwxPAVVAD2A0MEdEVqhqbmgjEZkC3AmcAewA3gRmBsoQkcnA74DLgaVAr0g+XFBOLZjNB7mncO7IiN5ijGnDZv4nl9U7ipt1nZm9U7jvguGNtrviiiuYNWsWU6dOZeXKlUybNo1FixYBcNNNN3H55Zfz5JNPctZZZ/GDH/yA3r17A7Bx40ZGjx5du54nnniC009vdLu3VWo0MYhIInApMEJVS4HFIvIOcC2BDj/EdcBzwYQhIg8A/whpNxOYpaqfB15vjyjKuE5c45nPNR+u5OzhPYmOsiMXjDEtIysri82bN/Pqq6/WziEETZkyhW+//Za5c+fy/vvvM2bMGL7++mugfe1KimTEMATwq+r6kLIVwMR62g4H3q7TroeIdAX2A9nAOyKyAYgD3gJ+qarldVckIjcCNwIM7NuTFErJKnifOatGcuGo3hGEbYxpqyLZsm9JF154Ibfffjsff/wxBQUFYXWpqalcddVVXHXVVUydOpWFCxcyduxYlyJtGZHMMSQBRXXKioDkCNoGl5NxdkN5gcuA03F2SY0BflPfh6rqs6qararZnbv3QXuP5SexH/CHD9fit7kGY0wLmjZtGvfeey8jR44MK58/fz4HDhwAoKSkhI0bN9KvXz83QmxRkSSGUiClTlkKUBJB2+ByCRAcFTyhqjtVdS/wKBA+VmuAjJtBes0OMgoX8/ZXke2BMsaYI5Genl575FGoZcuWkZ2dTVZWFuPGjeOGG27gxBNPBA7OMQQff/zjH4912M0mkl1J6wGPiAxW1W8CZaOA3Hra5gbqXg9pt1tVCwBEJA84ss39zIvQD+/jpwf+j59+dDoXjuqNJ7pNnIZhjGkjSktLDymbNGkSkyZNAuCXv/wlv/zlLw9pk5GRQXn5IXvE26xGe1ZVLQNmA7NEJFFExgMXAX+vp/lLwA9FJFNEuuDsJnohpP5vwC0i0j1Q/3Pg3YgijfYiJ9/IqOpVJBWuZvZyGzUYY0xLiHSTewYQD+wBXgWmq2quiPQTkVIR6QegqnOBR4AFwJbA476Q9TwAfIkzClkD/Bd4KOJoT7gO9SZye8o8/jj/G6rsUhnGGNPsIkoMqlqoqheraqKq9lPVVwLlW1U1SVW3hrR9VFV7qGqKqv5AVStD6nyqOkNVO6tqT1X9qapGfknA+M7ImGuY6FtE1b4dvLFsWxO+qjHGmEi0vZ30p/wEqanmV6kLeXL+Biqr/W5HZIwx7UrbSwypA5Bh53NR9QfsKyritaU2ajDGmObU9hIDwLib8Fbt5xfdl/PUgg1U+GzUYIwxzaVtJoZ+46DXaK5hDvkl5bz8+Ra3IzLGtAObN29mxIgRh5TfcMMNrF692oWI3NE2E4MIjLuJ+OJvmdHnW575ZCMHqqrdjsoY00799a9/JTMz0+0wjpm2mRgAMi+G5N78OOYD9pZW8dISGzUYY45edXU11113HVlZWVx22WUcOHCASZMmkZOTA8D06dPJzs5m+PDh3HffwaPx77zzTjIzM8nKyuL22293K/xm0SZu1FMvTwyc9CNSPprJNRnX8udPNnLNKceRFNt2v5IxJuD9O2HXquZdZ8+RcO5vG222bt06nnvuOcaPH8+0adN4+umnw+ofeughUlNT8fv9nHnmmaxcuZL09HTefPNN1q5di4iwf//+5o39GGu7IwaAsdeDN4Fbkz9i3wEfL3622e2IjDFtXN++fRk/fjwA11xzDYsXLw6rf/311znhhBMYM2YMubm5rF69mpSUFOLi4rjhhhuYPXs2CQkJboTebNr25nVCKoy+iq7LX+KSwd/l2YXfcu2440iJ87odmTHmaESwZd9SRKTB15s2beL3v/89X375JV26dOH666+noqICj8fD0qVL+eijj3jttdd48sknmT9//rEOvdm07REDwMnTwe/jzm6fUlTu4/nFm9yOyBjThm3dupUlS5YAzq09TzvttNq64uJiEhMT6dSpE7t37+b9998HnIvvFRUVcd555/H444+3+Rv2tP3E0G0QDDmH7ute5oLju/Dcok3sP1DldlTGmDbq+OOP58UXXyQrK4vCwkKmT59eWzdq1CjGjBnD8OHDmTZtWu0up5KSEqZOnUpWVhYTJ07ksccecyv8ZtG2dyUFjbsJXnyfX/ddybtr+/LXRZu4fcpQt6MyxrQxGRkZ9Z6v8PHHH9cuv/DCC/W+d+nSpS0U1bHX9kcMABmnQc+R9Fr9POeP6MnfPt1EYZmNGowx5ki0j8QgAuNuhr3r+PXQ7ZT7/Px54Ua3ozLGmDapfSQGgOGXQFJPeq9+notG9+Glz7aQX1LZ+PuMMcaEaT+JIXDCG98u4Bej/VT5a3jmExs1GGNMU7WfxACQPQ088aSv/RuXjOnDy59vYXdx5PcBMsYY094SQ0IqjL4SVr7Oz07pgr9GeXrBBrejMsaYNqV9JQaAU2aAv5L0ja/w3ex0Xl26je37y92OyhjTyk2aNIkPPvggrOzxxx9nxowZEb3/3nvvZd68eS0R2jHX/hJDt8EweAos/Qs3T+iLojxlowZjTCOuvPJKXnvttbCy1157jSuvvLLR9/r9fmbNmsVZZ53VUuEdU+0vMQCMmwEH9tJn67tccWI/Xv9yG9sKD7gdlTGmFbvssst49913qax0jmbcvHkzO3bs4JVXXqn3MtsZGRnMmjWL0047jTfeeIPrr7+ef/3rXwDMmjWLE088kREjRnDjjTeiqoAzKrnjjjs46aSTGDJkCIsWLQKcxHL77bczcuRIsrKyeOKJJwBYtmwZEydOZOzYsUyZMoWdO3cek59F+zjzua7+E6HHCFjyFDddvYB/5mzjifnf8Mhlo9yOzBgTgd8t/R1rC9c26zqHpQ7jjpPuaLC+a9eunHTSScydO5eLLrqI1157jcsvv5y77rrrkMtsZ2VlARAXF1d79dW5c+fWruvmm2/m3nvvBeDaa6/l3Xff5YILLgCc+z0sXbqU9957j5kzZzJv3jyeffZZNm3axH//+188Hg+FhYX4fD5uueUW3n77bdLS0vjnP//J3XffzfPPP9+sP5f6RDRiEJFUEXlTRMpEZIuIXHWYtreKyC4RKRKR50UkNqTuYxGpEJHSwGNdc3yJeoJw5hry19CzYAlXn9yPfy/fzua9ZS3yccaY9iF0d1JwN1J9l9kOuvzyy+tdz4IFCzj55JMZOXIk8+fPJzc3t7bukksuAWDs2LFs3rwZgHnz5vGTn/wEj8fZVk9NTWXdunV8/fXXTJ48mdGjR/Pggw+Sl5fXEl/7EJGOGJ4CqoAewGhgjoisUNXc0EYiMgW4EzgD2AG8CcwMlAXdrKp/PdrAGzXyMph3Pyx5iukX/YNXl27ljx99w6OXj27xjzbGHJ3Dbdm3pIsvvpjbbruN5cuXU15eTpcuXeq9zHZQYmLiIeuoqKhgxowZ5OTk0LdvX+6///6w98TGOtvK0dHRVFc7tyRW1UMu962qDB8+vPZKr8dSoyMGEUkELgXuUdVSVV0MvANcW0/z64DnVDVXVfcBDwDXN2O8kfPEOie8bZhH9/LNfH9cBm99tZ0Ne0pdCccY0/olJSUxadIkpk2bxpVXXtngZbYPJ5gEunXrRmlpae28w+GcffbZPPPMM7WJorCwkKFDh5Kfn1+bGHw+X9jIoyVFsitpCOBX1fUhZSuA4fW0HR6oC23XQ0S6hpQ9LCJ7ReRTEZnU0IeKyI0ikiMiOfn5+RGEWY/saeCJg8+f5scTBhDnjeYPH31zZOsyxnQIV155JStWrOCKK65o8DLbh9O5c2d+9KMfMXLkSC6++GJOPPHERt9zww030K9fP7Kyshg1ahSvvPIKMTEx/Otf/+KOO+5g1KhRjB49ms8++6w5vmKjJDhb3mADkdOBN1S1Z0jZj4CrVXVSnbYbgZtUdW7gtRdnF1R/Vd0sIicDqwNlVwBPAqNV9bDXrsjOztbgjbib7J2fwsp/wq25PLJoL3/6ZCNzfzaBoT2Tj2x9xpgWsWbNGo4//ni3w2iz6vv5icgyVc1u6roiGTGUAil1ylKAkgjaBpdLAFT1C1UtUdVKVX0R+BQ4r2khN9EpM6C6AnKe58YJA0iM8fD4vPWNv88YYzqoSBLDesAjIoNDykYB9e3syg3UhbbbraoFDaxbAWmgrnl0HwaDzoKlf6FzjDLttP68//UucncUtejHGmNMW9VoYlDVMmA2MEtEEkVkPHAR8Pd6mr8E/FBEMkWkC/Ab4AUAEeksIlNEJE5EPCJyNTAB+KCe9TSvcTdB2R5Y9S9+eFp/UuI8PPahzTUY09o0tmvb1K+5f26Rnvk8A4gH9gCvAtNVNVdE+gXOR+gXCG4u8AiwANgSeARPFfQCDwL5wF7gFuBiVW2ZcxlCDfgOdM+Ez5+mU5yHH50+gHlrdrMyb3+Lf7QxJjJxcXEUFBRYcmgiVaWgoIC4uLhmW2ejk8+twVFNPgct/zu8czN8/21Keo/n9EcWMKZvZ/72g5OaJ0hjzFHx+Xzk5eWFHfNvIhMXF0d6ejperzes/Egnn9vnJTHqM/K78NFMWPI0yVdP4scTBvK7uWtZtmUfY4/r4nZ0xnR4Xq+X/v37ux2Gob1eRK8+3jg48Qb45gPIX8/3xx1H18QYO0LJGGPq6DiJASD7hxAdC1/8icRYD9MnDWTRN3tZuqnQ7ciMMabV6FiJISkNsr4HX70KBwq5+uTjSEuO5dEPW37+2xhj2oqOlRggcMJbOeQ8T3xMNDdNGsjn3xby2Ya9bkdmjDGtQsdLDD0yYeAZsPQvUF3FFSf1o1enOB79cL0dJmeMMXTExABwyk1QugtyZxPnjeam7wwiZ8s+Fn5jowZjjOmYiWHQmZA2DJY8Cap8L7svfTrH26jBGGPoqIlBBE6ZDrtWwebFxHiiuOWMQazYtp/5a/e4HZ0xxriqYyYGgKzLIaErLHkKgEvHptMvNcFGDcaYDq/jJgZvvHNew/q5ULARb3QUPz1zMLk7ivkgd7fb0RljjGs6bmIA50zoaC98/icALh7dmwHdEnl83npqamzUYIzpmDp2Ykju4VxD6at/wIFCPNFR/OyswazdVcL7X+9yOzpjjHFFx04M4ExC+w7A8hcBmJrVm8Hdk3hs3nr8NmowxnRAlhh6joT+E+GLZ8HvIzpK+PlZQ9iwp5R3V+5wOzpjjDnmLDGAc4e3kh2Q+xYA547oybCeyTw+7xuq/TUuB2eMMceWJQaAQZOh6+DaE96iooRbJw9h094y3vrKRg3GmI7FEgNAVJQz17DzK9i6BICzM3swok8Kf/zoG3w2ajDGdCCWGIJGXQnxXWpPeBMRbps8hK2FB/j3sjyXgzPGmGPHEkNQTAJkT4O1c6DwWwC+M7Q7o/t25on5G6is9rscoDHGHBuWGEKd+COI8sDnzwAHRw3b95fzeo6NGowxHYMlhlApvWDEpfDfl6F8PwCnD+5G9nFdeGr+Bip8NmowxrR/ESUGEUkVkTdFpExEtojIVYdpe6uI7BKRIhF5XkRi62kzWEQqROTlowm+RYybAb6y2hPeRITbzh7CruIKXl261eXgjDGm5UU6YngKqAJ6AFcDfxKR4XUbicgU4E7gTCADGADMbGB9Xx5BvC2v1yjIOL32hDeAUwd245QBqTy1YCPlVTZqMMa0b40mBhFJBC4F7lHVUlVdDLwDXFtP8+uA51Q1V1X3AQ8A19dZ3xXAfuCjo4y95Yy7CYrzYPXbtUW3TR7K3tJKXv58i4uBGWNMy4tkxDAE8Kvq+pCyFcAhI4ZA2Yo67XqISFcAEUkBZgG/aOxDReRGEckRkZz8/PwIwmxGg6dA6kDn0NXAvRlO6p/K6YO78cwnGymrrD628RhjzDEUSWJIAorqlBUByRG0DS4H2z6AM6LY1tiHquqzqpqtqtlpaWkRhNmMgie87VgO276oLb518hAKyqp4ccnmYxuPMcYcQ5EkhlIgpU5ZClASQdvgcomIjAbOAh5rapCuGH0VxHWuPeEN4IR+XfjO0DSeXfgtJRU+F4MzxpiWE0liWA94RGRwSNkoILeetrmButB2u1W1AJiEMyG9VUR2AbcDl4rI8iOIu+XFJEL2D2Dtu7Bvc23xbZOHsv+Aj799urnBtxpjTFvWaGJQ1TJgNjBLRBJFZDxwEfD3epq/BPxQRDJFpAvwG+CFQN2zwEBgdODxDDAHmHK0X6LFnHQjSBR88efaopHpnZgyvAd/+ngjefsOuBicMca0jEgPV50BxAN7gFeB6aqaKyL9RKRURPoBqOpc4BFgAbAl8LgvUHdAVXcFHzi7nSpU9RjPLDdBSm8YfgksfwkqDk6d3HvBcETg3rdzUbWb+Rhj2peIEoOqFqrqxaqaqKr9VPWVQPlWVU1S1a0hbR9V1R6qmqKqP1DVygbWeb+qXtM8X6MFjZsBVaWw/OAAqU/neG6bPIT5a/cwZ9VOF4MzxpjmZ5fEaEzvMXDcePjiGfAfPEz1+lMzGNmnE/e/s5qiAzYRbYxpPywxROKUGVC0Ddb+p7bIEx3Fw5eMpLCskt/OXeticMYY07wsMURi6LnQpX/YoasAI/p04oen9efVpVv5cnOhS8EZY0zzssQQiaho54S3vC9h29KwqlsnD6FP53jumr3K7tlgjGkXLDFEavTVENvpkFFDQoyHBy8ewYY9pfz5k29dCs4YY5qPJYZIxSbB2OtgzTuwL/xCet8Z1p2pWb14cv4GNuaXuhSgMcY0D0sMTXHyjwGBpc8eUnXvBZnEeaO4+81Vdm6DMaZNs8TQFJ3SYfjFzglvleGXiuqeHMdd5x3P598W8sYyuw2oMabtssTQVKfcBJXFzu0/67g8uy8nZnThf99bw97Ses/rM8aYVs8SQ1Olj4V+42DRo1C+L6wqKkp4+JKRlFVW8+C7q10K0Bhjjo4lhiNxzm/hQAF88JtDqgZ1T2b6pEG89dUOFq5vvZeBMsaYhlhiOBK9R8P4n8JXL8PG+YdUz5g0kAHdErn7rVV2j2hjTJtjieFITbwDug6C//wMKsMPUY3zRvO/l4xkW2E5f/joG5cCNMaYI2OJ4Uh54+HCJ2H/Vpj/wCHVpwzoyvey0/nLom9ZvaPYhQCNMebIWGI4GseNgxN/5NzIZ+sXh1T/+rzj6Rzv5a43V+GvsXMbjDFtgyWGo3XWfZDSB965GXwVYVWdE2K494JMVmzbz8ufb2lgBcYY07pYYjhasclwweOwdz0s+v0h1ReO6s3pg7vxyNy17CwqdyFAY4xpGksMzWHwZMi6AhY/BrtWhVWJCA9dPBK/Kve9netSgMYYEzlLDM3lnIchvgu8fVPYnd4A+nVN4OdnDeH/Vu9m7te7XArQGGMiY4mhuSSkwnn/D3augCVPHlL9w9P6M6xnMve/k0tJhd0K1BjTelliaE6ZF8OwqfDxw7B3Q1iVNzqK316axe6SCn7/wTqXAjTGmMZZYmhOInDe7yE6Fv7zU6ipCase3bcz143L4KXPt7B8674GVmKMMe6KKDGISKqIvCkiZSKyRUSuOkzbW0Vkl4gUicjzIhIbUveyiOwUkWIRWS8iNzTHl2hVUnrBlIdgy6ew7PlDqm+fMpSeKXH8evYqfP6aelZgjDHuinTE8BRQBfQArgb+JCLD6zYSkSnAncCZQAYwAJgZ0uRhIENVU4ALgQdFZOwRR99ajbkG+k+ED++D/dvCqpJiPcy8cDhrd5Xwl0V2K1BjTOvTaGIQkUTgUuAeVS1V1cXAO8C19TS/DnhOVXNVdR/wAHB9sDJQHrxRgQYeA4/uK7RCInDBH0Br4N1boc4d3c4e3pMpw3vwh3nfsKWgzKUgjTGmfpGMGIYAflVdH1K2AjhkxBAoW1GnXQ8R6RosEJGnReQAsBbYCbxX34eKyI0ikiMiOfn5bfDy1an94Yx7YMOHsOqNQ6pnXjgCb3QUd7/5td0K1BjTqkSSGJKAojplRUByBG2Dy7VtVXVG4PXpwGyg3ludqeqzqpqtqtlpaWkRhNkKnfxjSD8R3r8DSsOTW89OcfzqnKEs3rCXt77a7lKAxhhzqEgSQymQUqcsBSiJoG1wOaytqvoDu6TSgemRhdoGRUU7V2CtKoX3f3VI9dUnH8eYfp154N017CurciFAY4w5VCSJYT3gEZHBIWWjgPqu75AbqAttt1tVCxpYt4f2OMcQqvswmPBLyJ0Na+eEVUUHbgVaXO7joffWuBSgMcaEazQxqGoZzi6fWSKSKCLjgYuAv9fT/CXghyKSKSJdgN8ALwCISHcRuUJEkkQkOnAE05XAobdAa2/G/xy6D4c5v4Dy/WFVw3qmcOOEAfxrWR6fbdjrUoDGGHNQpIerzgDigT3Aq8B0Vc0VkX4iUioi/QBUdS7wCLAA2BJ43BdYh+LsNsoD9gG/B36uqm8315dptTwxcNGTULobPrz3kOqfnjmY47omcPdbX1Phs1uBGmPcJW3hiJjs7GzNyclxO4yj93/3wGd/hO+/AwMmhlUt/mYv1zz3BbecMYhfnD3UpQCNMe2JiCxT1eymvs8uiXEsTboLUgc4l8uoCj9/4bTB3bhkTB+e+WQj63fXN69vjDHHhiWGYykmAS58AvZthgX/e0j13ecfT1Ksh7tmr6LGbgVqjHGJJYZjLeM0yJ4Gnz8NeeG7x7omxXL3+Zks27KPV7/c6lKAxpiOzhKDG86aCcm94O2boTr8/L5LT+jDqQO78tv317KnuKKBFRhjTMuxxOCGuBSY+hjkr4FFj4ZViQgP/c9IKqtrmPmf1S4FaIzpyCwxuGXIFBj5XVj0/8Hu8HMF+3dL5KdnDGLOqp18tGa3SwEaYzoqSwxuOud3zujh7ZuhJvz8hRsnDGRIjyTufTuXssrqBlZgjDHNzxKDmxK7wrmPwI7lzmR0iBhPFA9fMpLt+8t59MP1DazAGGOanyUGt424FIacC/MfgoKNYVVjj0vl6pP78bdPN7Eqr+4Fbo0xpmVYYnCbCEx9FKK98J+fHXJTn1+dM4yuSbHcOXsl1XYrUGPMMWCJoTVI6Q1nPwCbF8HyF8OqOsV7mXnhcHJ3FPO3Tze7E58xpkOxxNBanHAdZJzuXE+peEdY1bkjenLmsO48+uF6thUecClAY0xHYYmhtQjeJ9rvg3dvC9ulJCLMungEInDP23YrUGNMy7LE0Jp0HQhn3A3r34ev/x1W1adzPL84eygfr8vn3ZU7XQrQGNMRWGJobU6ZAX3GOrcCLQu/8d31p2Ywsk8nZv5nNUUHfC4FaIxp7ywxtDbB+0RXFMPcO8OqgrcC3Xegit/OtVuBGmNahiWG1qhHJpz+C1j1Oqz/IKxqRJ9OTBufwatLt7F0U6FLARpj2jNLDK3V6b+AtOPhPz93Rg8hbp08hD6d4/n1m6uorLZbgRpjmpclhtbKEwMXPQWlu2DefWFVCTEeHvyfEWzYU8ozH3/rUoDGmPbKEkNrlj7WmYzOeR42Lw6r+s7Q7kzN6sVTCzawMb/UpQCNMe2RJYbW7ju/hi4Z8M4tUBV+ctu9F2QS543i17NX2bkNxphmY4mhtYtJhAv+CIXfwscPh1V1T47jrvOO54tNhbyRk+dSgMaY9iaixCAiqSLypoiUicgWEbnqMG1vFZFdIlIkIs+LSGygPFZEngu8v0RE/isi5zbXF2nXBkx0Lpmx5EnYvjys6vLsvpyUkcpD761hb2llAyswxpjIRTpieAqoAnoAVwN/EpHhdRuJyBTgTuBMIAMYAMwMVHuAbcBEoBNwD/C6iGQccfQdyeRZkNQjcJ/oqtriqCjhfy8ZwYGqau789yr2lNh9oo0xR6fRxCAiicClwD2qWqqqi4F3gGvraX4d8Jyq5qrqPuAB4HoAVS1T1ftVdbOq1qjqu8AmYGwzfZf2Lb4znP8o7MmFT/8QVjWoezK3TR7KvDW7GffwfG54MYcPV+/GZ5fpNsYcAU8EbYYAflUNvY3YCpwt/7qGA2/XaddDRLqqatj1HUSkR2Dd4Tc8Ng0bdh4MvwQWPgLHXwDdh9VWTZ80kMmZPXhj2Tb+vWw789bsJi05lktO6MN3x/ZlUPckFwM3xrQlkexKSgLq3j6sCEiOoG1wOaytiHiBfwAvqura+j5URG4UkRwRycnPz48gzA7i3EcgJgneOfQ+0YO6J3HXucez5K4z+Mv3sxndtzN/XeZdxCkAABhMSURBVLSJsx79hMv+9Bmvf7nN7h9tjGlUJImhFEipU5YClETQNrhc21ZEooC/48xZ3NzQh6rqs6qararZaWlpEYTZQSSlwbm/g7wvYemz9TbxRkcxObMHf/l+NkvuOoM7zx1G4YEqfvXvlZz40Dx+9a8VLNtSaIe4GmPqFcmupPWAR0QGq+o3gbJR1L8LKDdQ93pIu93B3UgiIsBzOJPY56mqXSL0SIz8Lqx6Az6aBUPPdc5zaED35Dh+MnEgP54wgGVb9vF6zjbeXbmT13PyGJiWyPey+3LJCemkJcceu/iNMa2aRLLVKCKvAQrcAIwG3gNOVdXcOu3OAV4AzgB2Av8GlqrqnYH6ZwLvP0tVIz5dNzs7W3NyciJt3jEU5cFTJ0N6Nlz7lnOjnwiVVlbz3sqd/DNnG8u27CM6SjhjWHcuz+7LpKFpeKLt9BZj2gMRWaaq2U1+X4SJIRV4HpgMFAB3quorItIPWA1kqurWQNvbgDuAeJzE8BNVrRSR44DNQCUQuqP7x6r6j8N9viWGBnz5V5jzC+cy3SfUd5BY4zbsKeWNnG38e/l29pZWkpYcy6UnpPPd7HQGptmEtTFtWYsmBrdZYmhATQ28OBV2fQ03fQEpvY54VT5/DQvW7uH1nDwWrNuDv0Y5MaML383uy/kje5EYG8leR2NMa2KJoaPauwGeGQ+DzoLLX27SLqWG7CmuYPZ/t/P6l9v4dm8ZiTHRTM3qzfdO7MsJ/TojzfAZxpiWZ4mhI1v8uHNp7u++AMP/p9lWq6os27KPf365jTmrdnKgys+g7kl8Lzud/xljE9bGtHaWGDoyfzX89UzIXwuDJ8OwqTD4bEhIbbaPKK2sZs7KHfzzy20s37ofT2DC+ns2YW06OFWlqNxHUqyn1f0fWGLo6PZvg8WPwbr3oGQnSDQcd6qTJIadB537NdtHbdhTwus5ecxensfe0qraCevvZaczwCasTTvhr1EKSivZU1LJnpIK9hQfXM4vCSwXV5JfWklVdQ3zbpvY6q4wYInBOGpqYOd/Ye0c55EfOLG8Z1YgSZwPPYY3y1yEz1/D/LV7eCNnGwvW5eOvUU7KSOW72emcn9WLhBibsDatT4XPX9ux55dUBJ4rAx1/RaDzr6SgtJKaerrHzgleuifH0j05ju7JsaSlOMsXje5Nt6TWtXvVEoOp394NsG4OrH0Ptn0BqDN6CCaJvqdA9NF34HuKK/j38u28kXNwwvqCUb25dGw6WemdiPVEH/13MaYBqkppZXXtVnxwq752yz5ki7+o/NDzaqMEuiXF0j0lpMNPjg08xwXKnbK29LdsicE0rnQPrHvfGUl8+zH4KyE+1Tl7etj5MOA7EJNwVB+hquQEJ6xX7qTc58cTJQzqnsTxvVLI7JVCZu8Uju+VQmpiTPN8L9OuqCoVvhpKKnwUV1RTXOGjpKLaeV1ezf7yKmcXTknIFn5xJeU+/yHrivFEhXXywU4/mADSAstdE2OJjmp/R9tZYjBNU1kCGz5yksQ3H0BFEXjiYeAZTpIYcg4kdj2qjyitrGbh+nxW7yhm9c5iVu8oZlfxwftF9EyJCySJZDJ7dSKzdwrHpSYQ1Q7/QTuSqmqnU3c680CHHujkSyqqKS73hZUH24UmAJ//8P1SUqznYIefEujsk8O3+Lsnx5ES7+nQh1dbYjBHzu+DLZ8enJco3g4SBf1OdSauh51/2OsxNUVhWRVrAkli9c5i1uws5ps9pfgDO3MTYqIZ1jO5dlSR2SuFYT1TiI9pO8P3tq6mRtl3oIqCsir2lVUd0mkXhzyHd/LOc4Wv8fuAJMV6SI5zHilx3sCyl5R45zm0vPY53nnuFO+1+asIWWIwzUMVdn4VSBLvOTcGAugxwkkQw853JrKbcSuswudnw57S2lFFMGGUVDhXTokS6N8t0UkUvQO7o3qlkJYc26G3Bpuiwudnb2klBaVVB5/LKtlbUkVB2cHyvaVVFJbVP+kaFOuJqu2kk+O8pIR17nU7+vDylDgvSXGedrnbpjWyxGBaRuG3ToJYOwe2fQ5aA536wtDASOK4UyHa2+wfq6rk7SuvTRLBhJG3r7y2TbekmLB5i8xeKfTvltjqjiVvCcFj54Od+cEOv5L80ioKSispKDuYBEobuA9HYkw0XZNi6ZYUU/vcLSmWronO6y4JMbVb8SmBzj7G0/5/vu2FJQbT8sr2wvq5TpLYOB+qKyCuszMfMex8GHQmxCS2aAhF5T7W7jw4Z7FmVzHrd5VSFbiNaawniqE9k8nslVI7whjWM5nkuOZPXs2tstpPYVkVe0ucrfnQzr6gtIr8kC3+wrIqquvZrI8SSE2MoWtiLN2Sneeugc6+ttMPdPzdkmJtF107Z4nBHFtVZU5yWDvHOdKpYj944mDApMDk9bnOTYWOAZ+/ho35pWEji9U7itl34OBhif1SE2pHFkN7JhPjiaLar/hravD5lerAs79GqfYfLKuuUar9gbJAXW1ZyHt8/prasmC9r7ZtSFlNTeBzD9YH31vfUTUAcd6o2g49LenQTj8t2NknxdAlIcZ205halhiMe/zVsHXJwcnroq2AQL9TYMgU6DkSug2FTunNOjdxOKrK7uJKVu8sckYWO0tYvbOYzQVlHOmfvDda8ERF4YkWvNFReKLEeUQHyqKiiI4Sp12g3hsdUhZ4b/A9dcs6xXsPbs0nx9It0PHblW3NkbLEYFoHVdi16mCS2L3qYJ03EboNhrSh0G1I4HkopPZvkXmK+pRVVrNhTyl+Vby1nbwQHXWwIw/tvEM7d2MaVF0FUR6Ial3zL5YYTOtUtte5LEf+Oti7/uBz8faDbaI8kDoQ0oY4iSKYOLoNbvE5C9NB1dRAVanzqCyFqpLAc53XlSWNt6kqBX8VzPgCug9z+5uFOdLEYGNU07ISu0HiaZBxWnh5ZUkgUayHveuc5z1rnCOgNGRfe6d+9Y8yjvLkO9NKqUKN3/kbqKl2loPPwbLqypDOuW7nXd/rejp1X1mEAQnEJkNMEsQmHXxO6Bb+OiYZ4ru06I/mWLLEYNwRmwx9xjqPUNVVULgxMLL4JpA01sGWz6D64KGqJHQNjC6GhD8fw3mMNkHVOXrMVw6+A+CrCDyXhz+HtQl59leFdNDBTrraOWw5uFxf511T7WyV17b3R7YerX8Cvkk88Yd22kk9nFFp8HVsUkiHX7fjD3ntTeiQf0+WGEzr4omB7sc7j1A1NVC0LWR3VGCUsfptKN93sF0rmMeoV43fOcO8phpqfM6Efe2yz6lvqHOubqAz9zXQ3lfuJNFg2ZGIjgVvPETHOD83iYao6MB+9JBnCS4Hy2Oc5dryqIP1Evr+kPdJVJ11NLTu4Gtv/Z14TODRDBeF7OjsJ2jahqgo6HKc8xg8+WC5qjOPERxZBBPH5sWw8p8h7w+Zx+g62OnsaqpDOuvgsi+kE6+7XB3o0OtbrrueOss001xesMP2JtR5joP4znXK4p2t53rbhz7q1HninE7YdFiWGEzbJuKcL5GU1vR5DIl2EkRwq7R22etsdda77HVGNcHlqOiQ5brrOdw662njiQvpoOOswzauscRg2q+G5jFqAhd5a2WHFhrTWlhiMB2PJQRjDiui/xARSRWRN0WkTES2iMhVh2l7q4jsEpEiEXleRGJD6m4WkRwRqRSRF5ohfmOMMc0s0k2np4AqoAdwNfAnERlet5GITAHuBM4EMoABwMyQJjuAB4HnjzxkY4wxLanRxCAiicClwD2qWqqqi4F3gGvraX4d8Jyq5qrqPuAB4PpgparOVtW3gILmCN4YY0zzi2TEMATwq+r6kLIVwCEjhkDZijrteohIk09TFZEbA7udcvLz85v6dmOMMUcoksSQBBTVKSsCkiNoG1yur+1hqeqzqpqtqtlpacfm8s3GGGMiSwylQEqdshSgJIK2weX62hpjjGmFIkkM6wGPiAwOKRsF5NbTNjdQF9put6ranIIxxrQRjSYGVS0DZgOzRCRRRMYDFwF/r6f5S8APRSRTRLoAvwFeCFaKiEdE4oBoIFpE4kTEzqUwxphWJNLDVWcA8cAe4FVguqrmikg/ESkVkX4AqjoXeARYAGwJPO4LWc9vgHKcQ1qvCSz/pjm+iDHGmOZhN+oxxph26khv1GPXBjDGGBPGEoMxxpgwlhiMMcaEscRgjDEmjCUGY4wxYSwxGGOMCWOJwRhjTBhLDMYYY8JYYjDGGBPGEoMxxpgwlhiMMcaEscRwBFSVGq1xOwxjjGkRdsnrCJX5yvh8x+cs3L6QRXmLyC/PJ94TT7wnngRPAgnehLDl+spq2zdQn+BJIDY6FhFx++sa0+7VaA3l1eWUV5dzwHeAA9UHDvt8SNs69X89+69kdMpw+2s1C0sMh7G1eCuf5H3CwryF5OzOobqmmiRvEqf2PpUBnQdQ7iuv/QMJLpdVl5Ffnh/2R1Thr4j4M6Mk6pBkEe+JJ94bKAu8Dk0uwbKkmCRSYlLoHNuZzrGdSY5JJjoqugV/Qsa0PFXFV+Or7YTr7chDloP/i4fr8IP/n5GKkqiD/3+B/8V4Tzxd4rrQx9OHBK+zUddeWGII4fP7WLZnGQvznFHB5uLNAPTv1J+rh13NhPQJjOkxBm+Ut0nr9df4DyaKerZCGtsyKa8up6iiiJ3VO8Pa+Gp8h/1cQUiOSa5NFCmxKfUud4rtRKfYTrWvEzwJNmoxTRbswOv+7R7JcvD/ItjJ+9UfcRyx0bGHbEDFe51OvHaDqoGRfe0GWJ0Nr442ku/wiWFv+V4W5S1i0fZFfLbjM8p8ZXijvJzU8ySuGHYFE9In0De571F9RnRUNEkxSSTFJDVT1A6f3xf2z1TqK2V/5X6KKosoqiw6ZLmgvIBNRZvYX7mfMl9Zg+v1RHnoFNOp3qRxuIQSEx3TrN/PtBxVpcJfQZmvjHJfOWXVZZT5yjjgc0a95b5y53UTOvRyXznVWh1xDB7xHOyUQ0a+aQlpYR17fbtjE72J4SPnkHpPVIfv1o5ah/sJ1mgNqwtWszBvIQvzFpJb4Ny6unt8d87JOIcJ6RM4pdcpJHgTXI60cd5oL52inc65qXx+H0VV9SeQuq/zSvPI3ZvL/sr9VNVUNbjOeE98baLoFOPElRKbQmx0LDFRMXijvXijvMRExzivA8u15VExTl20U+eN9oa1qy0PvO5IHUB1TfXBkWWgMw7tyIPlweVgp163beiul0gPoPCIh3hv/CG7OLvGdaVvct9Dt84bWQ6uxxvdtJG3OXY6xH9WaVUpS3Yuqd1FVFBRgCBkpWVxy5hbmJA+gaFdhnaooaI32ku3+G50i+8W8XtUlfLqcoqriutNIHWfd+/bTXFVMT6/j6qaKqr8VSjNd8fAKImqTSiHJJ3ohsu9UV6Ew/+umzPOSO6SqCiV/sqwTr3MV0Z5tbPlXumvjPjzgh1vojextlNOjUulb3Jfpyykcw+2SfQkEu+Nr60PbeeN8nao/w3TjhPD5qLNtaOCZXuWUV1TTXJMMuN7j2dC+gTG9xlPalyq22G2KSLidCjeBHom9mzy+1UVv/qp8lfhq/Hhq/FR5a+qfV1VU+UkkeBrf5VTVuMLL685+J5g0glNPqHlVf4qZ46msijsMyP6vo0kj9CfS3OIjY6t7ai7xHUJ66TjvfEkegKdeGjnHujUg+XxnniixI5CN0en3SQGn99Hzu6c2mSwtWQrAIM6D+LazGuZ0GcCo7uP7lC7H1obEcEjHvsdGNPKten/0PwD+SzavoiFeQtZsmMJB6oPEBMVw0m9TuKazGuYkD6BPkl93A7TGGPalDaVGGq0hty9ubXnFqwpXANAj4QeTB0wlQnpEzip10nEe+JdjtQYY9quiBKDiKQCzwFnA3uBu1T1lQba3grcAcQD/wamq2plU9cTqriqmLsX383i7YsprCgkSqIYlTaKn53wM07vczpDugyxyTFjjGkmkY4YngKqgB7AaGCOiKxQ1dzQRiIyBbgTOAPYAbwJzAyURbyeuraVbOPjbR8zvs94JqZPZHzv8XSO6xxh6MYYY5pCGjuUTkQSgX3ACFVdHyj7O7BdVe+s0/YVYLOq/jrw+kzgH6rasynrqStzVKau/O9Km7Q0xpgmEJFlqprd1PdFclzbEMAf7MwDVgDD62k7PFAX2q6HiHRt4noQkRtFJEdEcsr2l1lSMMaYYySSxJAEFNUpKwKSI2gbXE5u4npQ1WdVNVtVs9PS0iII0xhjTHOIJDGUAil1ylKAkgjaBpdLmrgeY4wxLokkMawHPCIyOKRsFFDfhHFuoC603W5VLWjieowxxrik0cSgqmXAbGCWiCSKyHjgIuDv9TR/CfihiGSKSBfgN8ALR7AeY4wxLon0oiozcM5L2AO8inNuQq6I9BORUhHpB6Cqc4FHgAXAlsDjvsbW0yzfxBhjTLNo9HDV1iA7O1tzcnLcDsMYY9qUljxc1RhjTAdiicEYY0wYSwzGGGPCtIk5BhEpAda5HUcd3XAuBNiaWEyRa41xWUyRsZgiN1RV6z2J+HDaynUm1h3JBEpLEpEci6lxrTEmaJ1xWUyRsZgiJyJHdNSO7UoyxhgTxhKDMcaYMG0lMTzrdgD1sJgi0xpjgtYZl8UUGYspckcUV5uYfDbGGHPstJURgzHGmGPEEoMxxpgwlhiMMcaEabWJQURuDtzas1JEXnA7HgARiRWR50Rki4iUiMh/ReTcVhDXyyKyU0SKRWS9iNzgdkxBIjJYRCpE5GW3YwEQkY8D8ZQGHq3ixEkRuUJE1ohImYhsFJHTXYyltM7DLyJPuBVPSFwZIvKeiOwTkV0i8qSIuHoulogcLyLzRaRIRDaIyP+4EEODfaWInCkia0XkgIgsEJHjIllnq00MwA7gQeB5twMJ4QG2AROBTsA9wOsikuFiTAAPAxmqmgJcCDwoImNdjinoKeBLt4Oo42ZVTQo8hrodjIhMBn4H/ADnVrcTgG/diifkZ5ME9ADKgTfciifE0ziX7O8FjMb5P5zhVjCBpPQ28C6QCtwIvCwiQ45xKPX2lSLSDeceOPcE4ssB/hnJClttYlDV2ar6FlDgdixBqlqmqver6mZVrVHVd4FNgKudsKrmqmpl8GXgMdDFkABnKxjYD3zkdiyt3Exglqp+Hvi72q6q290OKuAynM54kduBAP2B11W1QlV3AXOB4S7GMwzoDTymqn5VnQ98Clx7LIM4TF95CZCrqm+oagVwPzBKRIY1ts5WmxjaAhHpAQyhFdyeVESeFpEDwFpgJ/Cey/GkALOAX7gZRwMeFpG9IvKpiExyMxARiQaygbTAroi8wC6SeDfjCnEd8JK2juPa/wBcISIJItIHOBcnObhFGigbcawDacBwYEXwReAumhuJIJlaYjhCIuIF/gG8qKpr3Y5HVWfg7IY4HWf4WHn4d7S4B4DnVHWby3HUdQcwAOiDc/LPf0TEzdFVD8CLs2V+Os4ukjE4t8V1VeDOjBOBF92OJeATnE6tGMjD2TXylovxrMUZTf1SRLwicjbOzyvBxZhCJQFFdcqKcPqJw7LEcAREJArnXtVVwM0uh1MrMJxdDKQD092KQ0RGA2cBj7kVQ0NU9QtVLVHVSlV9EWfof56LIZUHnp9Q1Z2quhd41OWYgr4PLFbVTW4HEvif+wBnoycR52qmXXDmZlyhqj7gYuB8YBfO6Ph1nKTVGpQCKXXKUoCSxt5oiaGJRESA53C29C4N/HG0Nh7cnWOYBGQAW0VkF3A7cKmILHcxpoYo9e8SODYfrroPpyNpDbtq6vo+rWe0kAr0BZ4MJPUC4G+4nEBVdaWqTlTVrqo6BWc0utTNmELkAqOCL0QkEadfaHTXd6tNDCLiEZE4IBqIFpE4tw9NC/gTcDxwgaqWN9a4pYlI98ChjkkiEi0iU4ArgfkuhvUszh/g6MDjGWAOMMXFmBCRziIyJfi3JCJX4xwB9IGbceF0cLcEfpddgJ/jHOniGhE5FWd3W2s4GonASGoTMD3wu+uMM/+x4vDvbFkikhX4e0oQkdtxjph64RjH0FBf+SYwQkQuDdTfC6yMaNe3qrbKB84MutZ53O9yTMcF4qjAGaYFH1e7GFMazr7X/Tj7XlcBP3L791fP7/LlVhBHGs6hsyWBn9fnwORWEJcX51DM/Ti7JP4IxLkc05+Bv7v9s6kT02jgY2Afzk1x3gC6uxzT/wvEUwq8DwxyIYYG+0qcXbprcXZZfoxzWHuj67SL6BljjAnTanclGWOMcYclBmOMMWEsMRhjjAljicEYY0wYSwzGGGPCWGIwxhgTxhKDMcaYMJYYjDHGhPn/ASRfQYUwyrdsAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -1756,10 +2240,8 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": { - "collapsed": false - }, + "execution_count": 16, + "metadata": {}, "outputs": [], "source": [ "# Common imports\n", @@ -1810,11 +2292,22 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "# Common imports\n", @@ -1852,11 +2345,24 @@ }, { "cell_type": "code", - "execution_count": 19, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.872\n", + "SVC 0.888\n", + "VotingClassifier 0.896\n", + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.872\n", + "SVC 0.888\n", + "VotingClassifier 0.912\n" + ] + } + ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -1911,11 +2417,22 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", + " ('rf', RandomForestClassifier(random_state=42)),\n", + " ('svc', SVC(random_state=42))])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -1939,11 +2456,20 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.896\n", + "SVC 0.896\n", + "VotingClassifier 0.912\n" + ] + } + ], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -1955,11 +2481,23 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", + " ('rf', RandomForestClassifier(random_state=42)),\n", + " ('svc', SVC(probability=True, random_state=42))],\n", + " voting='soft')" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "log_clf = LogisticRegression(random_state=42)\n", "rnd_clf = RandomForestClassifier(random_state=42)\n", @@ -1973,11 +2511,20 @@ }, { "cell_type": "code", - "execution_count": 23, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.896\n", + "SVC 0.896\n", + "VotingClassifier 0.92\n" + ] + } + ], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2063,11 +2610,83 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "Test set accuracy with Logistic Regression: 0.95\n", + "Test set accuracy with SVM: 0.63\n", + "Test set accuracy with Decision Trees: 0.88\n", + "Test set accuracy Logistic Regression with scaled data: 0.96\n", + "Test set accuracy SVM with scaled data: 0.96\n", + "Test set accuracy with Decision Trees and scaled data: 0.90\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", + "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", + "\n", + "Increase the number of iterations (max_iter) or scale the data as shown in:\n", + " https://scikit-learn.org/stable/modules/preprocessing.html\n", + "Please also refer to the documentation for alternative solver options:\n", + " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", + " n_iter_i = _check_optimize_result(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.93333333 0.8 0.93333333 1. 1. 0.92857143\n", + " 1. 0.92857143 0.92857143 1. ]\n", + "Test set accuracy with Random Forests and scaled data: 0.97\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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pH///iIi8v3330uPHj1EROTKlStSo0YNuXLlily9elVq1KghV69eFRGRDRs2yAsvvGD7A8iitP5ugV2S3c/d7L7QXg9NFLnr1i9cYmKiYBntluOPzCT/APzss89k4MCBIiIyZ84c6d27d4q2wcHBUqVKFRER6d27t8ydOzfT7UdERMizzz4rPj4+4uvrK0uWLEm138WLF0vfvn1FRKRv374ybNgwadWqlbzyyitSrVo1CQsLs7atVauWXLhwQS5duiRPPPGENG7cWBo3bix//vlnqn3fvHnTuu/69evLunXrRETE19dXihQpIv7+/rJx48YUr7lw4YI8/vjj4ufnJ35+frJ58+YU8UZEREjr1q2lQYMG4uPjI8uWLRMRkcjISOnQoYP4+fmJt7e3LFy4UERERo4cKV5eXuLr6yuvvfZaqhhfeukl+e6776zLderUkXPnzqVq16tXL1m/fr11uUuXLtKwYUOpV6+ezJ4927q+ePHiMnr0aGnSpIls2rRJ5s+fLwEBAeLv7y8vvfSSNXkMGDBAGjVqJPXq1ZMxY8ak2l92rV+/PsNE8cgjj8iWLVtExPJFwNXVVRITE+W7776Tl156ydou+fuSkJAg1atXt9kXhzuV04kiKzfcqXtcTEwMISF2mdAwhYSEBNauXcvzzz8PWC473V5EsFatWkRGRnL9+nUOHDjAa6+9lul2x48fj4uLC/v37wewdspn5OjRo6xZswYnJycSExNZunQp/fr1Y/v27VSvXp3y5cvzf//3fwwbNowHHniAkJAQ2rdvz6FDKWcRnjFjBgD79+/n8OHDPPLIIxw9epQVK1bQqVMn9uzZk2rfQ4cOpWXLlixdupSEhAQiIyNTPF+kSBGWLl1KyZIluXz5Ms2aNaNz58788ssvVKpUiVWrVgGWUWpXr15l6dKlHD58GGNMist6t5w9exZ3d3frcpUqVTh79iwVK1ZM0W7z5s3Mnj3buvzll19SpkwZbt68SUBAAN26dcPV1ZUbN27g4+PDuHHjOHToEJMmTWLz5s0UKlSIQYMGsWDBAvr06cN7771HmTJlSEhIoE2bNuzbtw8/P78U+/zggw9YsGBBqpgfeughPvnkkzT/7zKT/HgLFiyIi4sLV65cSfd9AMsAjtq1a7N37958WdhSE4VKV2xsLOHh4fz9998kJiaye/duKleujJubW67e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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -2155,10 +2774,8 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": { - "collapsed": false - }, + "execution_count": 24, + "metadata": {}, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -2168,11 +2785,20 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9790209790209791" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bag_clf.fit(X_train, y_train)\n", "y_pred = bag_clf.predict(X_test)\n", @@ -2712,11 +3338,46 @@ }, { "cell_type": "code", - "execution_count": 27, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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OTmZcuXK4ePjw2233ZbjScLFxYXGjRvj6+vLQw89RGRkpO25ffv20aFDB+688048PT159913SX2BxsqVK2nevDne3t54eXkxYsSIHI3NkXr37k2jRo2YMmWKXe0ddbmxiDB06FDq1atHo0aN2LlzZ6btOnTowOXLlx0SR06YP38+np6eeHp6Mn/+/AzbnDhxgoCAABo1akT79u05deqU7blRo0bh6+uLr68vixYtsq3v1asXhw8fdnj8TiMi+erBnYjKPSEhIZk+d+zYMQkODpaIiAixWCwOi6FUqVK2n/v27SvvvfeeiIjExMRInTp1ZNWqVSIicvXqVencubPMnDlTRET27NkjderUkf3794uISGJiosyaNStHY0tMTMzR7V0TFhYmNWrUuKHXpH6fctIvv/winTt3FovFIlu2bJEWLVpk2O7nn3+WYcOG3dC2k5KSciJEu1y8eFFq164tFy9elIiICKldu7ZERESka/f444/Ll19+KSIia9eulaeeekpErMd33333SWJiokRHR0uzZs0kKipKREQ2bNggzz33XK4dS3Yy+rsFdshNfu7q+QFlFxHBGJPmUbt2bfz8/KhYsSJFihRJ97y9jxvRunVrTp8+DcC3337LXXfdxf333w9AyZIlmTlzJh9++CEAEyZM4I033sDLywsAV1dXBg0alG6b0dHR9O/fn4YNG9KoUSMWL7aWMkv9Df3HH3/k6aefBuDpp5/m5Zdf5t577+XVV1+lVq1aaXo59erV49y5c4SHh9O9e3f8/f3x9/fnr7/+SrfvuLg4276bNGnC+vXrAbj//vs5f/48jRs3ZtOmTWlec+7cObp164afnx9+fn5s3rw53fEEBATQtGlTGjZsyLJlywC4evUqXbp0wc/PL8034tdee40GDRrQqFGjDHtcy5Yto2/fvhhjaNWqFZGRkYSFhaVrt2DBAh555BHb8qOPPkqzZs3w8fHhk08+sa0vXbo0b775Ji1btmTLli188803tGjRgsaNGzNgwACSk5MBGDhwIM2bN8fHx4e33nor3f5u1KpVq+jYsSMVK1akQoUKdOzYkd9++y1du5CQEAICrGfe7733Xtv7FxISQrt27XB1daVUqVL4+fnZXt+2bVvWrFlDUlLSLceZJ91shnHWQ3sUuSskJETi4uLk0KFDgvWy6Bx/ZOfaN+WkpCR5/PHH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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", "\n", @@ -2902,11 +3563,69 @@ }, { "cell_type": "code", - "execution_count": 28, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Max depth: 1\n", + "Error: 0.47355721367673903\n", + "Bias^2: 0.22077011251783993\n", + "Var: 0.25278710115889913\n", + "0.47355721367673903 >= 0.22077011251783993 + 0.25278710115889913 = 0.4735572136767391\n", + "Max depth: 2\n", + "Error: 0.48142907887100067\n", + "Bias^2: 0.22274557848791893\n", + "Var: 0.25868350038308174\n", + "0.48142907887100067 >= 0.22274557848791893 + 0.25868350038308174 = 0.48142907887100067\n", + "Max depth: 3\n", + "Error: 0.48142972227533726\n", + "Bias^2: 0.2227455925200145\n", + "Var: 0.2586841297553228\n", + "0.48142972227533726 >= 0.2227455925200145 + 0.2586841297553228 = 0.4814297222753373\n", + "Max depth: 4\n", + "Error: 0.48142972227533726\n", + "Bias^2: 0.2227455925200145\n", + "Var: 0.2586841297553228\n", + "0.48142972227533726 >= 0.2227455925200145 + 0.2586841297553228 = 0.4814297222753373\n", + "Max depth: 5\n", + "Error: 0.48142972227533726\n", + "Bias^2: 0.2227455925200145\n", + "Var: 0.2586841297553228\n", + "0.48142972227533726 >= 0.2227455925200145 + 0.2586841297553228 = 0.4814297222753373\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -2965,11 +3684,57 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "[1. 0.86666667 0.93333333 1. 1. 0.92857143\n", + " 1. 0.92857143 0.92857143 0.92857143]\n", + "Test set accuracy with Random Forests and scaled data: 0.97\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAATgAAAEWCAYAAADy2YssAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZwU5Z3H8c93QBSRUxA5BE9EMR4RvKJGY7IBj2CixnjgnajxiDnX3USNxmxMolmzWaMSY0wk8Uq8FTExIYqrQURRUUFUUC4BDwREkeG3f1QN9owz010wPT1d8337qpddVU8/z1PdzW+ep6qepxQRmJnlUU2lK2BmVi4OcGaWWw5wZpZbDnBmllsOcGaWWw5wZpZbDnBtgKSJkk5LXx8n6cEWzn9LSSGpY0vmW2LZnSXdI2mppNvWI58W/1wqQdJ4SSdWuh7tRbsIcJJmS3pDUpeCbadJmljBajUqIv4YEf/W2uVKOlbSFEnLJS1I/yHu2wJZHwn0BTaNiKPWNZNyfS6SDkiD/+0Ntu+Sbp9YYj4/lDSuWLqIGBURv1/H6lpG7SLApToC31jfTJTI1ecm6VvAlcB/kQSjQcCvgdEtkP1gYGZErG6BvMplMbCPpE0Ltp0IzGypAvL4u6kKEZH7BZgNnA+8BfRIt50GTCxIsw/wBLA0/f8+BfsmAj8GHgVWAtsCAXwdeAlYBvwI2AZ4DHgXuBXolL6/J3AvyT+kt9PXAxvkf1r6+iRgUvr6e8DyguVD4IZ0X3fgt8ACYB5wKdAh3dcBuBxYArwCnJXWt2Mjn033NO+jmvn8NiQJgPPT5Upgw3TfAcBc4NvAorQ+J6f7LgZWpfVeDpwK/BAYV5D3loV1S4//lfQzfRU4ruHnUuL39aP0+1oGPAj0buLY6up/DXBWwec3F7iQ+r+RXwKvp9/vk8B+6faRDY5zWjO/m8Lv+mrgzwX5/xR4CFCl/83kZal4BVrlIJMA91ngduDSdNvaAAf0Igk8Y0haesek65um+ycCrwHD0v0bpP8o7wa6pds/SH+cW6dB43ngxPT9mwJHABsDXYHbgDsL6lf4o6/3D7kgzRYkweXgdP1O4FqgC7AZMBk4Pd13BvBi+p5ewD9oOsCNBFY3tq8gzSXA42k5fYD/A36U7jsgff8l6edyMPAe0DPd/0PqB7SG61vW1S09lneB7dN9/YBhDT+XEr+vl4EhQOd0/bImju0AkmC2D/CvdNvBwAQ+/kfw+PS77EgS0BcCGzV2XM38bgq/641JWoknAfuR/EEa2NT34CX70t6azBcC50jq02D7IcBLEXFjRKyOiJtIAsRhBWluiIjp6f4P020/jYh3I2I68BzwYES8EhFLgfHAbgAR8WZE/CUi3ouIZSR/1T9daqUldSYJaL+MiPsl9QVGAedFxIqIWAT8N/CV9C1fBq6MiNcj4i3gJ81kvymwJJrvQh4HXBIRiyJiMUnLbEzB/g/T/R9GxP0krZjtSz2+BtYAO0nqHBEL0s+2oVK+r99FxMyIWEnSmt61uUIj4v+AXpK2B04A/tBImnHpd7k6Iq4gadkWO87Gfjd1+b1HEjR/AYwDzomIuUXyswzaVYCLiOdIuofnN9jVH5jTYNscYEDB+uuNZPlGweuVjaxvAiBpY0nXSpoj6V3gYaCHpA4lVv23wIyI+Gm6PpikNbBA0juS3iFpzW1WcDyF9W14bIXeBHoXucLa8POZk25bm0eDAPke6bFnERErgKNJWqALJN0naWgJ9amrU+H3tXAd6nMjcDZwIHBHw52Svi3phfSK8DskLfXeRfJs7HezVkRMJumSiyQQWwtqVwEudRHwVer/Y5hPEjQKDSI5t1VnfaZd+TbJX/o9I6IbsH+6XcXeKOn89L2nFmx+naRL3DsieqRLt4gYlu5fQNI9rTOomSIeA94HDm8mTcPPZ1C6bV2sIOma1dm8cGdETIiIz5F0T18EflNCferqNK+RtFncSHJe9f60dbWWpP2AfydpHfeMiB4k5//qvsOmfh/N/m4knUXSEpxPcs7VWlC7C3ARMQu4BTi3YPP9wJD0VomOko4GdiRp7bWEriQtunck9SIJskVJGpXW8/C0q1V3DAtITpxfIambpBpJ20iq6/beCpwraaCknny8xUpBXktJuu5XSTo8bW1uIGmUpJ+lyW4CfiCpj6Teafqit0Q04Wlgf0mDJHUH/qPgePtK+kJ6O88HJF3d2kbyKMv3FRGvkpw6+H4ju7uSnGtcDHSUdCHJ+dc6bwBbZrlSKmkIycWh40m6/N+T1GxX2rJpdwEudQnJCW0gOUcGHErS0nqT5C/poRGxpIXKu5LkZPcSkpP1D5T4vqNJTuq/kN6ftlzSNem+E4BOJBcz3gb+TNLqgaTVMwGYBkwlubjSpIj4BfAt4Ack/4BfJ+mq3ZkmuRSYAjwDPJvmeWmJx9CwrL+S/IF5huRKZGFQqiH5DuaTXPH+NEmLqmEeZfu+ImJSRDTWOp1Acl51Jkl3+H3qdz/rbmJ+U9LUYuWkpwTGkZzHnRYRLwH/CdwoacP1OQb7iCI84aWZ5VN7bcGZWTvgAGdmueUAZ2a55QBnZrnV6tPnNEcbbBzaqEelq2EZ7Lxdv+KJrM14/bU5vLlkSdH7L5vTodvgiNUriycEYuXiCRExcn3KWx9tK8Bt1IMNd/tqpathGTw0/oJKV8EyOGi/Pdc7j1i9kg23/3JJad9/+qpiIz3Kqk0FODOrBoIqmfnJAc7MshFQU+ow6spygDOz7LRep/FajQOcmWXkLqqZ5ZlbcGaWS8ItODPLK7kFZ2Y55quoZpZPvshgZnkl3EU1sxxzC87M8sldVDPLKwEdfJHBzPLK5+DMLJ/cRTWzPHMLzsxyyy04M8sleaiWmeWZh2qZWT75IoOZ5Zm7qGaWS54Pzszyy11UM8szX2Qws9zyOTgzyyW5i2pmeeYWnJnllRzgzCyPkhnLHeDMLI8kVOMAZ2Y55RacmeWWA5yZ5ZYDnJnlk9KlCjjAmVkmQm7BmVl+1dR4JIOZ5VS1tOCqIwybWduhDEuxrKReku6QtELSHEnHNpFOki6VNE/SUkkTJQ0rlr8DnJllJqmkpQRXAauAvsBxwNVNBK6jgFOA/YBewGPAjcUyd4Azs0zqLjKsb4CT1AU4ArggIpZHxCTgbmBMI8m3AiZFxCsRUQuMA3YsVlcHODPLTDUqaSliCFAbETMLtk0DGmvB3QxsK2mIpA2AE4EHihXgiwxmlo0yXWToLWlKwfrYiBibvt4EWNog/VKgayP5LAAeAWYAtcDrwGeKFe4AZ2aZZQhwSyJieBP7lgPdGmzrBixrJO1FwAhgC2AhcDzwd0nDIuK9pgp3F9XMMmuhiwwzgY6StivYtgswvZG0uwC3RMTciFgdETcAPSlyHs4BzswyaamLDBGxArgduERSF0mfAkbT+NXRJ4CjJPWVVCNpDLABMKu5MtxFNbPsWu4+368D1wOLgDeBMyNiuqRBwPPAjhHxGvBTYDPgaaALSWA7IiLeaS5zBzgzy0YtN1QrIt4CDm9k+2skFyHq1t8HzkqXkjnAmVlm1TJUywHOzLKrjvjmiwzr43N7bMu0cefw3J/O5TvH7fux/T022YhbLv0Kk393Jo9c+1V23GqzevtrasRj153BXy5rdPidlcFDf53AnrsNY8TOQ/nlFT/72P6I4D++cx4jdh7K/nvuxrSnp67dt/Sddzj5uKPZa7ed2PuTn+CJfz3WmlVvU1pwqFZZlTXASRopaYakWZLOL2dZra2mRlz5zUMY/d1x7HbCVRx10CcYOrhPvTTfG7M/02YtZI+Tr+bUH9/B5eeOqrf/7CP3Ysacxa1Z7XattraWf//Wudxy+z08OuUZbr/tZma88Hy9NH978AFeeXkWk6e9wC9+dTXfPe/stfv+83vf5DOf+zcef+o5/vn4kwzZfofWPoQ2odTglusAJ6kDyUDaUST3qhwjqejYsWoxYocBvDzvLWYveJsPV9dy20PPcei+Q+ulGbplHyY++QoAM19bwuDNe7BZzy4ADOjTjZF7D+F39039WN5WHlOnTGarrbdhy622plOnTnzxyKMZf9899dKMv/duvnzM8Uhi+B57sXTpUhYuXMCyd9/lsUcncfyJpwDQqVMnuvfoUYnDaBPafYAD9gBmpYNjV5GMJRtdxvJaVf/e3Zi76KNRJvMWL2VAn/ojTJ6dtZDR+yd/5YfvMIBBfbszoE9y4/bPzxnJ969+kDVrovUq3c4tmD+f/gMHrl3vP2AAC+bPq59mwXwGFKbpn6SZPfsVNu3dm3POOJUD9xnON876GitWrGi1urc1LTQWtezKGeAGkIwXqzM33VaPpK9JmiJpSnzY5IiLNqexP07RIFZd/sdJ9Ojamcd/ewZnfmlPpr20kNW1axi19xAWvb2Cp2YuaJ3KGpCcX2uoYSujqTSrV6/mmaef4uTTTucf/zeFLht34X8aOYfXXlRLC66cV1EbO7qP/XrSgbdjAWq69q+a5sy8xe8ycLPua9cH9OnO/CX1h9Ate+8DTr/szrXrL95yHrMXvMNRB32CQz+1PSP32o4NO3WkW5cNuf4HX+KUS29vtfq3R/0HDGD+3Llr1+fPm8fm/frXT9N/APMK08xP0kii/4CB7D5iTwAOO/wIfvmLdhrgsg22r6hytuDmkgyMrTMQmF/G8lrVlBfns+3AXgzu14MNOnbgqIN24r5HX6yXpvsmG7FBxw4AnHzo7kyaNodl733AhWP/xrZH/oKhR1/JCRf/mYlTX3VwawW77T6CV16exZzZr7Jq1Sru+PMtjDz40HppRh5yGLfeNI6IYMrkx+nWrRubb96Pvn03Z8CAgbw0cwYAD0/8O9sPbacXGUh6MKUslVbOFtwTwHaStgLmAV8BcnM/RG3tGr555f3cc/kYOtTU8Pv7n+KF2Ys57QvJxAnX3T2FoYN7c933v0Rt7RpenLOYMy67q8K1bt86duzIZVf8kqMOP4Q1tbUcO+Ykhu44jN9ddy0AJ592Op/7/Cj+NmE8I3YeSufOnfmfa65b+/6fXHElZ5x6Ah+uWsXgrbbmV1df11RROdc2up+lUGPnHFosc+lg4EqgA3B9RPy4ufQ1XfvHhrt9tWz1sZY3d/wFla6CZXDQfnvy9NQn1ys6bbT5kBh84q9KSjvzZyOfbGa6pLIr60iGiLgfuL+cZZhZK2sj3c9SeKiWmWUikhvdq4EDnJll5hacmeVWtVxkcIAzs2x8Ds7M8kqoxSa8LDcHODPLzC04M8stn4Mzs3zyOTgzy6tkLGp1RDgHODPLrErimwOcmWXnkQxmlk9VNB+cA5yZZVI3H1w1cIAzs4yqZz44Bzgzy6xK4psDnJllJF9kMLOc8n1wZpZrDnBmlltVEt8c4MwsO7fgzCyfPNjezPIqmfCyOiKcA5yZZVZTJU246ph32MzaFKm0pXg+6iXpDkkrJM2RdGwzabeWdK+kZZKWSPpZsfzdgjOzTNSyg+2vAlYBfYFdgfskTYuI6fXLVCfgr2n6o4FaYEixzB3gzCyzljgFJ6kLcASwU0QsByZJuhsYA5zfIPlJwPyI+EXBtmeKldFkgJP0KyCa2h8R5xbL3MzyKcNFht6SphSsj42IsenrIUBtRMws2D8N+HQj+ewFzJY0HhgBPAecExHPNld4cy24Kc3sM7N2SiRXUku0JCKGN7FvE2Bpg21Lga6NpB0IHAh8AXgI+AZwl6ShEbGqqcKbDHAR8fvCdUldImJFU+nNrP1oobtElgPdGmzrBixrJO1KYFJEjAeQdDnwA2AHklZf4/UsVgNJe0t6HnghXd9F0q9Lqr6Z5Y+S+eBKWYqYCXSUtF3Btl2A6Y2kfYZmTpk1pZTbRK4EPg+8CRAR04D9sxZkZvnREreJpD3C24FLJHWR9ClgNHBjI8nHAXtJ+qykDsB5wBLShldTSroPLiJeb7CptpT3mVn+iORG31KWEnwd6AwsAm4CzoyI6ZIGSVouaRBARMwAjgeuAd4mCYRfaO78G5R2m8jrkvYBIr0X5VyKRE0zy7eWGqoVEW8Bhzey/TWSixCF224nafGVrJQW3BnAWcAAYB7JzXhnZSnEzPKj1O5pWxjNVbQFFxFLgONaoS5mViVyMxY1Hf91j6TFkhZJukvS1q1ROTNrm1TiUmmldFH/BNwK9AP6A7eRnAw0s3aqhW4TKbtSApwi4saIWJ0u41iH+1HMLB+Sq6ilLZXW3FjUXunLf0g6H7iZJLAdDdzXCnUzs7ZI+Zjw8kmSgFZ3JKcX7AvgR+WqlJm1bW2h+1mK5saibtWaFTGz6lDXRa0GJc0HJ2knYEdgo7ptEfGHclXKzNq2qm/B1ZF0EXAASYC7HxgFTAIc4MzaqeoIb6VdRT0SOAhYGBEnk4z237CstTKzNkuCDjUqaam0UrqoKyNijaTVkrqRDIr1jb5m7VhuuqjAFEk9gN+QXFldDkwua63MrE2rkvhW0ljUr6cvr5H0ANAtIoo+7MHM8kmUPBVSxTV3o+8nm9sXEVPLUyUza9PayEwhpWiuBXdFM/sC+EwL14XdhvTn0b9f3NLZWhn1HHF2patgGXwwo+Hcteum6s/BRcSBrVkRM6sOAjpUe4AzM2tKG7gDpCQOcGaWmQOcmeVSMh15dUS4Umb0laTjJV2Yrg+StEf5q2ZmbVW1zAdXylCtXwN7A8ek68uAq8pWIzNr83Lz0Blgz4j4pKSnACLi7fTxgWbWDgno2BaiVwlKCXAfpk+SDgBJfYA1Za2VmbVpVRLfSgpw/wPcAWwm6ccks4v8oKy1MrM2S6U/tb7iShmL+kdJT5JMmSTg8Ijwk+3N2rEqiW8lTXg5CHgPuKdwW0S8Vs6KmVnb1RaukJailC7qfXz08JmNgK2AGcCwMtbLzNooQZuYzLIUpXRRP1G4ns4ycnoTyc0s79rIPW6lyDySISKmShpRjsqYWXVQlTyVoZRzcN8qWK0BPgksLluNzKxNy9tjA7sWvF5Nck7uL+WpjplVg1wEuPQG300i4rutVB8zqwLVMti+uSnLO0bE6uamLjez9id5bGCla1Ga5qpZ9+SspyXdLWmMpC/VLa1ROTNrm2rS0QzFlmIk9ZJ0h6QVkuZIOraE9/xdUkgqeoqtlHNwvYA3SZ7BUHc/XAC3l/BeM8uZFr7IcBWwCugL7ArcJ2laRExvtGzpODLc/dFcws3SK6jP8VFgqxOlFmBm+dMSp+AkdQGOAHaKiOXAJEl3A2OA8xtJ3x24CDgBeKyUMpoLcB2ATaDRG14c4MzaLVFT+n1wvSVNKVgfGxFj09dDgNqImFmwfxrw6Sby+i/gamBhqYU3F+AWRMQlpWZkZu2DyNSCWxIRw5vYtwmwtMG2pdS/NS0pUxoOfAr4BjCw1MKbC3DVcR3YzFqXoGPLnIRbDnRrsK0byazhHxUn1ZDMLP6N9M6Okgto7irqQSXnYmbtRl0LrgWmLJ8JdJS0XcG2XYCGFxi6AcOBWyQtBJ5It8+VtF9zBTT34Oe3ilbPzNqllpjwMiJWSLoduETSaSRXUUcD+zRIuhToX7C+BcltbLtTZNioHxtoZpm14ECGrwPXA4tIbkc7MyKmp/NQPg/smM49ufbCgqSN0pdvRMTq5jJ3gDOzTERpj+MrRdpTPLyR7a+RXIRo7D2zKfEagQOcmWWjlumitgYHODPLJBnJ4ABnZjlVHeHNAc7M1kGVNOAc4MwsK1X/fHBmZo1pyauo5eYAZ2aZ+SKDmeWTcjBluZlZY9xFNbNccwvOzHKrOsKbA5yZZSSgg1twZpZXVRLfHODMLCuhKumkOsCZWWZuwZlZLiW3iVRHhHOAM7NsSnveQpvgAGdmmXmolpnlUjLhZaVrURoHODPLzFdRzSy3qqSHWjVjZtukByc8wM7DtmfY0G35+c8u+9j+iOBb553LsKHbMmK3nXlq6tS1+04/7RQG9d+M3XfdqTWr3O59bp8dmHbHBTx310V85+TPfWx/j66dueWKrzL5lv/gkRu/w47b9Fu776xjDmDKbf/Jk3/+Pmcfe0Ar1rrtUYn/VVrZApyk6yUtkvRcucqopNraWs479yzuumc8Tz3zPLfdfBMvPP98vTQTHhjPy7Ne4rkXXuJ/rx7LuWefuXbfmBNP4q57H2jtardrNTXiyvO/zOizf81uR1zKUSN3Z+jWm9dL871TP8+0GXPZ4+ifcOoFN3L5d48EYMdt+nHyl/ZhvzE/Z4+jf8Ko/Xdim0F9KnEYFVd3Dq6UpdLK2YK7ARhZxvwr6onJk9lmm23Zauut6dSpE0cd/RXuveeuemnuvfsujj3+BCSx5157sXTpOyxYsACAfffbn169elWi6u3WiJ225OXXlzB73pt8uLqW2yZM5dADdq6XZujWmzNx8gwAZs5+g8H9e7FZr64M3WpzJj87m5Xvf0ht7RoeeXIWow/cpRKHUXkSNSUulVa2ABcRDwNvlSv/Sps/fx4DB26xdn3AgIHMmzevaJr5DdJY6+m/WXfmvvH22vV5b7zNgD7d66V5duY8Rh+0KwDDhw1mUL9eDOjbg+kvz2ffT25Lr+5d6LzRBozcdxgDN+/ZqvVvS1TiUmkVv8gg6WvA1wC2GDSowrUpXUR8bFvDObJKSWOtp7FzQg2/oct/91cu/+6RPH7z+Ux/aT7TZsxlde0aZrz6Blfc8FfuvfpsVqz8gGdmzmP16trWqXgb4+eiZhARY4GxALvvPvzjEaGNGjBgIHPnvr52fd68ufTv379omn4N0ljrmbfoHQb2/ajVNaBvT+YvXlovzbIV73P6D8etXX/xvouZPe9NAH5/52P8/s7HALj47MOY98Y7rVDrtqk6wpuvoq6z4SNGMGvWS8x+9VVWrVrFbbfczCGHfqFemkMO+wJ/GvcHIoJ/Pf443bp1p1+/fk3kaOU2Zfocth3Uh8H9N2WDjh046vOf5L6Jz9RL032TzmzQsQMAJ39xHyZNncWyFe8D0KfnJgBssXlPRn9mF259YErrHkBbUiV91Iq34KpVx44d+e9f/i+HHfJ5amtrOfGkU9hx2DB+c+01AHz19DMYOepgJoy/n2FDt2Xjzhtz7XW/W/v+E44/hkf+OZElS5awzZYDueDCiznplFMrdTjtQm3tGr7501u559dn0aFG/P6ux3nhlYWcduS+AFz350kM3XpzrvvRGGpr1/DiKws54+I/rn3/TZefRq8eXfhwdS3nXXYr7yxbWalDqbhq6aKqsfNELZKxdBNwANAbeAO4KCJ+29x7dt99eDz6r3b8V7EK9RxxdqWrYBl8MONW1ry3aL2i0w6f2C3+cNfEktLusU2PJyNi+PqUtz7K1oKLiGPKlbeZVVh1NODcRTWzbJLTa9UR4RzgzCwbzwdnZnlWJfHNt4mYWVZCKm0pmpPUS9IdklZImiPp2CbSnSjpSUnvSpor6WeSijbQHODMLDOptKUEVwGrgL7AccDVkoY1km5j4DySuzL2BA4CvlMsc3dRzSyTlrqHV1IX4Ahgp4hYDkySdDcwBji/MG1EXF2wOk/SH4EDi5XhFpyZZdcyIxmGALURMbNg2zSgsRZcQ/sD04slcgvOzDLLcJtIb0mFd++PTcefA2wCLG2QfinQtdmypZOB4cBpxQp3gDOzzDLcJrKkmZEMy4FuDbZ1A5Y1Xa4OBy4DPhsRS4oV7i6qmWVT4gWGEoLgTKCjpO0Ktu1CE11PSSOB3wCHRcSzpVTVAc7MMmuJZzJExArgduASSV0kfQoYDdz4sfKkzwB/BI6IiMml1tMBzswyES16m8jXgc7AIuAm4MyImC5pkKTlkupmwb0A6A7cn25fLml8scx9Ds7MMmupkQwR8RZweCPbXyO5CFG3XvSWkMY4wJlZdlUyVssBzswyq5YJLx3gzCyz6ghvDnBmti6qJMI5wJlZJp7w0szyyxNemlmeVUl8c4Azs6xKm8yyLXCAM7PMqiS+OcCZWTZt5KH1JXGAM7PsqiTCOcCZWWa+TcTMcsvn4MwsnwQ1DnBmll/VEeEc4Mwsk7oJL6uBA5yZZVYl8c0BzsyycwvOzHLLQ7XMLLeqI7w5wJlZRhmemFVxDnBmlplHMphZflVHfHOAM7PsqiS+OcCZWVbyYwPNLJ+qaSRDTaUrYGZWLm7BmVlm1dKCc4Azs8x8m4iZ5ZNv9DWzvKqmiwwOcGaWmbuoZpZbbsGZWW5VSXxzgDOzdVAlEc4BzswyEVTNUC1FRKXrsJakxcCcStejDHoDSypdCcskr9/Z4Ijosz4ZSHqA5PMpxZKIGLk+5a2PNhXg8krSlIgYXul6WOn8neWDx6KaWW45wJlZbjnAtY6xla6AZebvLAd8Ds7McsstODPLLQc4M8stB7gykjRS0gxJsySdX+n6WHGSrpe0SNJzla6LrT8HuDKR1AG4ChgF7AgcI2nHytbKSnADULEbU61lOcCVzx7ArIh4JSJWATcDoytcJysiIh4G3qp0PaxlOMCVzwDg9YL1uek2M2slDnDl09hoZN+TY9aKHODKZy6wRcH6QGB+hepi1i45wJXPE8B2kraS1An4CnB3hetk1q44wJVJRKwGzgYmAC8At0bE9MrWyoqRdBPwGLC9pLmSTq10nWzdeaiWmeWWW3BmllsOcGaWWw5wZpZbDnBmllsOcGaWWw5wVURSraSnJT0n6TZJG69HXjdIOjJ9fV1zEwFIOkDSPutQxmxJH3v6UlPbG6RZnrGsH0r6TtY6Wr45wFWXlRGxa0TsBKwCzijcmc5gkllEnBYRzzeT5AAgc4AzqzQHuOr1CLBt2rr6h6Q/Ac9K6iDp55KekPSMpNMBlPhfSc9Lug/YrC4jSRMlDU9fj5Q0VdI0SQ9J2pIkkH4zbT3uJ6mPpL+kZTwh6VPpezeV9KCkpyRdSwnPP5d0p6QnJU2X9LUG+65I6/KQpD7ptm0kPZC+5xFJQ1viw7R88pPtq5CkjiTzzD2QbtoD2CkiXk2DxNKIGCFpQ+BRSQ8CuwHbA58A+gLPA9c3yLcP8Btg/zSvXhHxlqRrgOURcXma7k/Af0fEJEmDSEZr7ABcBEyKiEskHQLUC1hNOCUtozPwhKS/RMSbQBdgakR8W2So3agAAAHGSURBVNKFad5nkzwM5oyIeEnSnsCvgc+sw8do7YADXHXpLOnp9PUjwG9Juo6TI+LVdPu/ATvXnV8DugPbAfsDN0VELTBf0t8byX8v4OG6vCKiqXnRPgvsKK1toHWT1DUt40vpe++T9HYJx3SupC+mr7dI6/omsAa4Jd0+Drhd0ibp8d5WUPaGJZRh7ZQDXHVZGRG7Fm5I/6GvKNwEnBMRExqkO5ji0zWphDSQnNrYOyJWNlKXksf+STqAJFjuHRHvSZoIbNRE8kjLfafhZ2DWFJ+Dy58JwJmSNgCQNERSF+Bh4CvpObp+wIGNvPcx4NOStkrf2yvdvgzoWpDuQZLuImm6uoDzMHBcum0U0LNIXbsDb6fBbShJC7JODVDXCj2WpOv7LvCqpKPSMiRplyJlWDvmAJc/15GcX5uaPjjlWpKW+h3AS8CzwNXAPxu+MSIWk5w3u13SND7qIt4DfLHuIgNwLjA8vYjxPB9dzb0Y2F/SVJKu8mtF6voA0FHSM8CPgMcL9q0Ahkl6kuQc2yXp9uOAU9P6TcfTwFszPJuImeWWW3BmllsOcGaWWw5wZpZbDnBmllsOcGaWWw5wZpZbDnBmllv/D5RuXA3+U8upAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3038,11 +3803,106 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 0\n", + "Error: 0.27265898772673286\n", + "Bias^2: 0.27265898120693166\n", + "Var: 3.552713678800501e-15\n", + "0.27265898772673286 >= 0.27265898120693166 + 3.552713678800501e-15 = 0.2726589812069352\n", + "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 1\n", + "Error: 0.30539667982909335\n", + "Bias^2: 0.2707146103037183\n", + "Var: 0.03468207269906998\n", + "0.30539667982909335 >= 0.2707146103037183 + 0.03468207269906998 = 0.30539668300278827\n", + "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 2\n", + "Error: 0.3086154634354187\n", + "Bias^2: 0.27120662006386265\n", + "Var: 0.037408843636512756\n", + "0.3086154634354187 >= 0.27120662006386265 + 0.037408843636512756 = 0.3086154637003754\n", + "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 3\n", + "Error: 0.3086162750614561\n", + "Bias^2: 0.27120680244783013\n", + "Var: 0.037409473210573196\n", + "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", + "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 4\n", + "Error: 0.3086162750614561\n", + "Bias^2: 0.27120680244783013\n", + "Var: 0.037409473210573196\n", + "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", + "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 5\n", + "Error: 0.3086162750614561\n", + "Bias^2: 0.27120680244783013\n", + "Var: 0.037409473210573196\n", + "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n" + ] + }, + { + "data": { + "image/png": "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+iPRe+65h+XLl2da/5ZbbuG5557rj9Jy44AwMwMWLVrE2rVrj2pbu3YtixYt6nHd9vZ2Ghsb+fjHP95f5eXCAWFmBlx++eU8+eSTHDx4ECh8edAbb7zBww8/nLy8d319PY2NjZx33nk8+uijXH311Tz22GMANDY2cs455zBt2jSuu+46Igrn+s6dO5cVK1Zw7rnnMmXKFH76058ChYC58cYbmT59OjNmzODrX/86ABs3buT888/n7LPP5uKLL+ZPf/rTQE6JL/dtZoPPP2/4Z17d9WpFx/zw+A+z4twVXT4+YcIEzj33XJ555hnmz5/P2rVrueKKK7jpppuOubz3jBkzAKipqem82uszzzzTOdb111/PLbfcAsDSpUt58sknueyyy4DC901s2LCBp556ittvv53nnnuOVatW8dprr/GrX/2K6upqdu3aRVtbGzfccAM/+MEPqKur43vf+x5f/OIXuf/++ys6L93xHoSZWVHpYaaOw0upy3t3uOKKK5Lj/OhHP2L27NlMnz6dF154gebmd84r/tSnPgXA2WefzdatWwF47rnn+NznPkd1deE9+/jx49m8eTO/+93v+MQnPsGsWbO444472L59e3+87C55D8LMBp3u3un3pwULFvCFL3yBX/7yl+zfv59x48YlL+/doba29pgxDhw4wPLly2lqauKUU07htttuO2qdkSNHAlBVVcXhw4cBiIhjLjMeEUydOrXzyrJ58B6EmVnR6NGjmTt3Ltdccw2LFi3q8vLe3ekIg5NPPpnW1tbOzyW6c9FFF/Gtb32rMzB27drF6aefTktLS2dAtLW1HbUnMhAcEGZmJRYtWsSmTZu48soru7y8d3dOOukkPvvZzzJ9+nQWLFjAOef0fH7wtddey+TJk5kxYwYzZ87k4YcfZsSIETz22GOsWLGCmTNnMmvWLH72s59V4iVmpo5P1wezhoaG6PjCcDP72/T73/+eM844I+8yhqzU/EnaGBENfR3TexBmZpbkgDAzsyQHhJkNGkPhkPdg1F/z5oAws0GhpqaGnTt3OiR6KSLYuXMnNTU1FR/b50GY2aAwadIktm/fTktLS96lDDk1NTVMmjSp4uM6IMxsUBg+fDinnnpq3mVYCR9iMjOzJAeEmZklOSDMzCzJAWFmZkkOCDMzS3JAmJlZUqaAkDRe0uOS9knaJmlxF/2mSXpW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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3103,11 +3963,79 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": { - "collapsed": false - }, - "outputs": [], + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "Test set accuracy with Random Forests and scaled data: 1.00\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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fX3ZtWtXpu1atWrFtWvXbBJHbggKCqJMmTJ06NAh0zZxcXF0796dOnXq0KRJE44fP25978svv8Td3R13d3e+/PJL6/oePXpw5MgRW4ZuXyLiUC/qIirvHDhwINP3jh07JiEhIXL58mVJSkqyWQwlSpSw/ty7d2959913RUQkJiZGatWqJb/88ouIiFy/fl2CgoJkxowZIiKyd+9eqVWrlhw8eFBEROLj42XmzJm5Glt8fHyubu+Ws2fPSrVq1e7oMym/p9z0448/SlBQkCQlJcmWLVskMDAww3Y//PCDvPLKK3e07YSEhNwIMdvWrl0rq1atkvbt22faZubMmTJgwAAREfnmm2+kW7duIiJy6dIlqVmzply6dEkuX74sNWvWlMuXL4uIyIYNG+Sll16y/QFkU0b/b4GdktPfuzn9oL1emijy1q1/cElJSYLlbrdcf91Oyl+An376qQwaNEhERObPny+9evVK1TYsLEyqVq0qIiK9evWSzz777Lbbj4qKkueff168vb3Fx8dHli9fnm6/y5Ytkz59+oiISJ8+fWT48OHSsmVLeeWVV6R69epy5coVa9vatWvLuXPn5MKFC/L0009L48aNpXHjxvLXX3+l2/eNGzes+27QoIH8/vvvIiLi4+MjxYoVEz8/P9m4cWOqz5w7d06eeuop8fX1FV9fX9m0aVOqeKOioqRVq1bSsGFD8fb2lpUrV4qISHR0tDzxxBPi6+srXl5esmTJEhERGTVqlHh6eoqPj4+89tpr6WLs37+/fP3119blunXrypkzZ9K169mzp6xfv9663KlTJ/H395f69evLnDlzrOtLlCghY8aMkcDAQPnzzz/lq6++koCAAPHz85P+/ftbk8fAgQOlUaNGUr9+fRk7dmy6/eXU+vXrs0wUjz32mGzevFlELCcCLi4ukpSUJF9//bX079/f2i7l95KYmCg1atSw2YnDncrtRJGdB+7UPS4uLo7wcLtMaJhKYmIi69at48UXXwQsl53SFhGsXbs20dHRXLt2jX379vHaa6/ddrvvvPMOpUuXZu/evQDWQfmshIaGsnbtWpycnEhKSmLFihX07duXbdu2UaNGDSpWrMj//d//MXz4cB566CHCw8Np164dBw+mnkV45syZAOzdu5dDhw7x2GOPERoayqpVq+jQoQO7d+9Ot+9hw4bRokULVqxYQWJi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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -3162,9 +4090,34 @@ "save_fig(\"xgparams\")\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.3" + } + }, "nbformat": 4, "nbformat_minor": 4 } From 10b7645d075dfcdeab0f3ae1f1c1d78818684ea8 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Fri, 12 Nov 2021 07:44:36 +0100 Subject: [PATCH 04/16] update --- doc/pub/week45/html/._week45-bs000.html | 461 +-- doc/pub/week45/html/._week45-bs001.html | 446 +-- doc/pub/week45/html/._week45-bs002.html | 454 +-- doc/pub/week45/html/._week45-bs003.html | 444 +-- doc/pub/week45/html/._week45-bs004.html | 437 +-- doc/pub/week45/html/._week45-bs005.html | 437 +-- doc/pub/week45/html/._week45-bs006.html | 446 +-- doc/pub/week45/html/._week45-bs007.html | 443 +-- doc/pub/week45/html/._week45-bs008.html | 443 +-- doc/pub/week45/html/._week45-bs009.html | 461 +-- doc/pub/week45/html/._week45-bs010.html | 450 +-- doc/pub/week45/html/._week45-bs011.html | 444 +-- doc/pub/week45/html/._week45-bs012.html | 460 +-- doc/pub/week45/html/._week45-bs013.html | 447 +-- doc/pub/week45/html/._week45-bs014.html | 454 +-- doc/pub/week45/html/._week45-bs015.html | 441 +-- doc/pub/week45/html/._week45-bs016.html | 442 +-- doc/pub/week45/html/._week45-bs017.html | 448 +-- doc/pub/week45/html/._week45-bs018.html | 454 +-- doc/pub/week45/html/._week45-bs019.html | 447 +-- doc/pub/week45/html/._week45-bs020.html | 440 +-- doc/pub/week45/html/._week45-bs021.html | 444 +-- doc/pub/week45/html/._week45-bs022.html | 441 +-- doc/pub/week45/html/._week45-bs023.html | 445 +-- doc/pub/week45/html/._week45-bs024.html | 441 +-- doc/pub/week45/html/._week45-bs025.html | 444 +-- doc/pub/week45/html/._week45-bs026.html | 461 +-- doc/pub/week45/html/._week45-bs027.html | 461 +-- doc/pub/week45/html/._week45-bs028.html | 461 +-- doc/pub/week45/html/._week45-bs029.html | 464 ++-- doc/pub/week45/html/._week45-bs030.html | 465 ++-- doc/pub/week45/html/._week45-bs031.html | 444 +-- doc/pub/week45/html/._week45-bs032.html | 451 +-- doc/pub/week45/html/._week45-bs033.html | 450 +-- doc/pub/week45/html/._week45-bs034.html | 447 +-- doc/pub/week45/html/._week45-bs035.html | 461 +-- doc/pub/week45/html/._week45-bs036.html | 468 ++-- doc/pub/week45/html/._week45-bs037.html | 459 +-- doc/pub/week45/html/._week45-bs038.html | 461 +-- doc/pub/week45/html/._week45-bs039.html | 461 +-- doc/pub/week45/html/._week45-bs040.html | 461 +-- doc/pub/week45/html/._week45-bs041.html | 484 ++-- doc/pub/week45/html/._week45-bs042.html | 484 ++-- doc/pub/week45/html/._week45-bs043.html | 436 +-- doc/pub/week45/html/._week45-bs044.html | 440 +-- doc/pub/week45/html/._week45-bs045.html | 447 +-- doc/pub/week45/html/._week45-bs046.html | 443 +-- doc/pub/week45/html/._week45-bs047.html | 448 +-- doc/pub/week45/html/._week45-bs048.html | 444 +-- doc/pub/week45/html/._week45-bs049.html | 465 ++-- doc/pub/week45/html/._week45-bs050.html | 453 +-- doc/pub/week45/html/._week45-bs051.html | 452 +-- doc/pub/week45/html/._week45-bs052.html | 461 +-- doc/pub/week45/html/._week45-bs053.html | 461 +-- doc/pub/week45/html/._week45-bs054.html | 464 ++-- doc/pub/week45/html/._week45-bs055.html | 530 ++-- doc/pub/week45/html/._week45-bs056.html | 462 +-- doc/pub/week45/html/._week45-bs057.html | 446 +-- doc/pub/week45/html/._week45-bs058.html | 468 ++-- doc/pub/week45/html/._week45-bs059.html | 484 ++-- doc/pub/week45/html/._week45-bs060.html | 444 +-- doc/pub/week45/html/._week45-bs061.html | 462 +-- doc/pub/week45/html/._week45-bs062.html | 445 +-- doc/pub/week45/html/._week45-bs063.html | 467 ++-- doc/pub/week45/html/._week45-bs064.html | 453 +-- doc/pub/week45/html/._week45-bs065.html | 449 +-- doc/pub/week45/html/._week45-bs066.html | 455 +-- doc/pub/week45/html/._week45-bs067.html | 447 +-- doc/pub/week45/html/._week45-bs068.html | 449 +-- doc/pub/week45/html/._week45-bs069.html | 464 ++-- doc/pub/week45/html/._week45-bs070.html | 444 +-- doc/pub/week45/html/._week45-bs071.html | 454 +-- doc/pub/week45/html/._week45-bs072.html | 443 +-- doc/pub/week45/html/._week45-bs073.html | 451 +-- doc/pub/week45/html/._week45-bs074.html | 470 ++-- doc/pub/week45/html/._week45-bs075.html | 461 +-- doc/pub/week45/html/._week45-bs076.html | 447 +-- doc/pub/week45/html/._week45-bs077.html | 470 ++-- doc/pub/week45/html/._week45-bs078.html | 463 ++-- doc/pub/week45/html/week45-bs.html | 461 +-- doc/pub/week45/html/week45-reveal.html | 1928 ++++++++----- doc/pub/week45/html/week45-solarized.html | 2058 ++++++++------ doc/pub/week45/html/week45.html | 2136 ++++++++------ doc/pub/week45/ipynb/ipynb-week45-src.tar.gz | Bin 293595 -> 294340 bytes doc/pub/week45/ipynb/week45.ipynb | 2622 ++++++++---------- doc/src/week45/week45.do.txt | 18 +- 86 files changed, 26157 insertions(+), 18965 deletions(-) diff --git a/doc/pub/week45/html/._week45-bs000.html b/doc/pub/week45/html/._week45-bs000.html index 6fb3409bc..901aa91ec 100644 --- a/doc/pub/week45/html/._week45-bs000.html +++ b/doc/pub/week45/html/._week45-bs000.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -

    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

    -
    -

     

     

     

    - - - -
    -

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 12, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Nov 11, 2021

    -
    -

    Read »

    @@ -360,25 +438,18 @@ MathJax.Hub.Config({
  • »
  • -
    - - -
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week45/html/._week45-bs001.html b/doc/pub/week45/html/._week45-bs001.html index 264e8879f..a381a273e 100644 --- a/doc/pub/week45/html/._week45-bs001.html +++ b/doc/pub/week45/html/._week45-bs001.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - - -

    Overview of week 45

    +

    Overview of week 45

    • Thursday: Basics of Decision Trees, Bagging and Voting
    • - -
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    -
    -

    - +

    1. Video on Decision trees
    2. Video on boosting methods by Hastie.
    3. @@ -337,11 +411,9 @@ MathJax.Hub.Config({
    -

    -

    - +

    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    @@ -349,7 +421,6 @@ MathJax.Hub.Config({
    -

      @@ -370,25 +441,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs002.html b/doc/pub/week45/html/._week45-bs002.html index a90db8f43..53975cdb9 100644 --- a/doc/pub/week45/html/._week45-bs002.html +++ b/doc/pub/week45/html/._week45-bs002.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Decision trees, overarching aims

    -

    Decision trees, overarching aims

    - -

    -We start here with the most basic algorithm, the so-called decision +

    We start here with the most basic algorithm, the so-called decision tree. With this basic algorithm we can in turn build more complex networks, spanning from homogeneous and heterogenous forests (bagging, random forests and more) to one of the most popular supervised algorithms nowadays, the extreme gradient boosting, or just XGBoost. But let us start with the simplest possible ingredient. +

    -

    -Decision trees are supervised learning algorithms used for both, +

    Decision trees are supervised learning algorithms used for both, classification and regression tasks. +

    -

    -The main idea of decision trees +

    The main idea of decision trees is to find those descriptive features which contain the most information regarding the target feature and then split the dataset along the values of these features such that the target feature values for the resulting underlying datasets are as pure as possible. +

    -

    -The descriptive features which reproduce best the target/output features are normally said +

    The descriptive features which reproduce best the target/output features are normally said to be the most informative ones. The process of finding the most informative feature is done until we accomplish a stopping criteria -where we then finally end up in so called leaf nodes. +where we then finally end up in so called leaf nodes. +

    -

      @@ -362,25 +439,18 @@ where we then finally end up in so called leaf nodes.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs003.html b/doc/pub/week45/html/._week45-bs003.html index 0e668130e..a34c4b2da 100644 --- a/doc/pub/week45/html/._week45-bs003.html +++ b/doc/pub/week45/html/._week45-bs003.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Basics of a tree

    -

    Basics of a tree

    - -

    -A decision tree is typically divided into a root node, the interior nodes, +

    A decision tree is typically divided into a root node, the interior nodes, and the final leaf nodes or just leaves. These entities are then connected by so-called branches. +

    -

    -The leaf nodes +

    The leaf nodes contain the predictions we will make for new query instances presented to our trained model. This is possible since the model has learned the underlying structure of the training data and hence can, given some assumptions, make predictions about the target feature value (class) of unseen query instances. +

    -

      @@ -350,25 +427,18 @@ given some assumptions, make predictions about the target feature value
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs004.html b/doc/pub/week45/html/._week45-bs004.html index 394302409..3cd5a9901 100644 --- a/doc/pub/week45/html/._week45-bs004.html +++ b/doc/pub/week45/html/._week45-bs004.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    A Sketch of a Tree, Regression problem

    -

    A Sketch of a Tree, Regression problem

    - -

    -

      @@ -342,25 +418,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs005.html b/doc/pub/week45/html/._week45-bs005.html index 6afc48a68..841e2acbf 100644 --- a/doc/pub/week45/html/._week45-bs005.html +++ b/doc/pub/week45/html/._week45-bs005.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    A Sketch of a Tree, Classification problem

    -

    A Sketch of a Tree, Classification problem

    - -

    -

      @@ -343,25 +419,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs006.html b/doc/pub/week45/html/._week45-bs006.html index 50dda9297..922fc2459 100644 --- a/doc/pub/week45/html/._week45-bs006.html +++ b/doc/pub/week45/html/._week45-bs006.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    +

    +
    +

    +
    +

    -

    -



    +

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    -

    -This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches. - -

      @@ -347,25 +426,18 @@ This tree was produced using the Wisconsin cancer data (discussed here as well,
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs007.html b/doc/pub/week45/html/._week45-bs007.html index 19106a405..ba1f73877 100644 --- a/doc/pub/week45/html/._week45-bs007.html +++ b/doc/pub/week45/html/._week45-bs007.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    General Features

    -

    General Features

    - -

    -The overarching approach to decision trees is a top-down approach. +

    The overarching approach to decision trees is a top-down approach.

    • A leaf provides the classification of a given instance.
    • @@ -324,11 +401,10 @@ The overarching approach to decision trees is a top-down approach.
    • A branch corresponds to a possible values of an attribute.
    • An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.
    - -This process is then repeated for the subtree rooted at the new +

    This process is then repeated for the subtree rooted at the new node. +

    -

      @@ -355,25 +431,18 @@ node.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs008.html b/doc/pub/week45/html/._week45-bs008.html index 03360d14f..d31aad625 100644 --- a/doc/pub/week45/html/._week45-bs008.html +++ b/doc/pub/week45/html/._week45-bs008.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    How do we set it up?

    -

    How do we set it up?

    - -

    -In simplified terms, the process of training a decision tree and +

    In simplified terms, the process of training a decision tree and predicting the target features of query instances is as follows: +

    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. @@ -325,10 +403,8 @@ predicting the target features of query instances is as follows:
    3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    4. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    +

    Then we are essentially done!

    -Then we are essentially done! - -

      @@ -356,25 +432,18 @@ Then we are essentially done!
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs009.html b/doc/pub/week45/html/._week45-bs009.html index cfd2b1713..705f6fbe3 100644 --- a/doc/pub/week45/html/._week45-bs009.html +++ b/doc/pub/week45/html/._week45-bs009.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - - -

    Decision trees and Regression

    -

    +

    Decision trees and Regression

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.preprocessing import PolynomialFeatures
     from sklearn.linear_model import LinearRegression
    @@ -405,8 +487,22 @@ plt.ylabel(&quo
     plt.title("Decision Tree Regression")
     plt.legend()
     plt.show()
    -
    -

    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

      @@ -435,25 +531,18 @@ plt.show()
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs010.html b/doc/pub/week45/html/._week45-bs010.html index 51fead3ea..1db65912e 100644 --- a/doc/pub/week45/html/._week45-bs010.html +++ b/doc/pub/week45/html/._week45-bs010.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Building a tree, regression

    -

    Building a tree, regression

    - -

    -There are mainly two steps - +

    There are mainly two steps

    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    - -How do we construct the regions \( R_1,\dots,R_J \)? In theory, the +

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the regions could have any shape. However, we choose to divide the predictor space into high-dimensional rectangles, or boxes, for simplicity and for ease of interpretation of the resulting predictive model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the MSE, given by +

    $$ \sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, $$ -

    -where \( \overline{y}_{R_j} \) is the mean response for the training observations -within box \( j \). +

    where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +

    -

      @@ -368,25 +443,18 @@ within box \( j \).
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs011.html b/doc/pub/week45/html/._week45-bs011.html index ed0276b43..a4d1b5fd1 100644 --- a/doc/pub/week45/html/._week45-bs011.html +++ b/doc/pub/week45/html/._week45-bs011.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    A top-down approach, recursive binary splitting

    -

    A top-down approach, recursive binary splitting

    - -

    -Unfortunately, it is computationally infeasible to consider every +

    Unfortunately, it is computationally infeasible to consider every possible partition of the feature space into \( J \) boxes. The common strategy is to take a top-down approach +

    -

    -The approach is top-down because it begins at the top of the tree (all +

    The approach is top-down because it begins at the top of the tree (all observations belong to a single region) and then successively splits the predictor space; each split is indicated via two new branches further down on the tree. It is greedy because at each step of the tree-building process, the best split is made at that particular step, rather than looking ahead and picking a split that will lead to a better tree in some future step. +

    -

      @@ -359,25 +436,18 @@ better tree in some future step.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs012.html b/doc/pub/week45/html/._week45-bs012.html index 4ce37b00f..2f44618c0 100644 --- a/doc/pub/week45/html/._week45-bs012.html +++ b/doc/pub/week45/html/._week45-bs012.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Making a tree

    -

    Making a tree

    - -

    -In order to implement the recursive binary splitting we start by selecting +

    In order to implement the recursive binary splitting we start by selecting the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) +

    $$ \left\{X\vert x_j < s\right\}, $$ -and +

    and

    $$ \left\{X\vert x_j \geq s\right\}, $$ -so that we obtain the lowest MSE, that is +

    so that we obtain the lowest MSE, that is

    $$ \sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, $$ -

    -which we want to minimize by considering all predictors +

    which we want to minimize by considering all predictors \( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for each predictor. These values could be determined by randomly assigned numbers or by starting at the midpoint and then proceed till we find an optimal value. +

    -

    -For any \( j \) and \( s \), we define the pair of half-planes where +

    For any \( j \) and \( s \), we define the pair of half-planes where \( \overline{y}_{R_1} \) is the mean response for the training observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean response for the training observations in \( R_2(j,s) \). +

    -

    -Finding the values of \( j \) and \( s \) that minimize the above equation can be +

    Finding the values of \( j \) and \( s \) that minimize the above equation can be done quite quickly, especially when the number of features \( p \) is not too large. +

    -

    -Next, we repeat the process, looking +

    Next, we repeat the process, looking for the best predictor and best cutpoint in order to split the data further so as to minimize the MSE within each of the resulting regions. However, this time, instead of splitting the entire predictor @@ -360,8 +437,8 @@ have three regions. Again, we look to split one of these three regions further, so as to minimize the MSE. The process continues until a stopping criterion is reached; for instance, we may continue until no region contains more than five observations. +

    -

      @@ -391,25 +468,18 @@ region contains more than five observations.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs013.html b/doc/pub/week45/html/._week45-bs013.html index 5bc32e1f5..cc72ac5de 100644 --- a/doc/pub/week45/html/._week45-bs013.html +++ b/doc/pub/week45/html/._week45-bs013.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Pruning the tree

    -

    Pruning the tree

    - -

    -The above procedure is rather straightforward, but leads often to +

    The above procedure is rather straightforward, but leads often to overfitting and unnecessarily large and complicated trees. The basic idea is to grow a large tree \( T_0 \) and then prune it back in order to obtain a subtree. A smaller tree with fewer splits (fewer regions) can lead to smaller variance and better interpretation at the cost of a little more bias. +

    -

    -The so-called Cost complexity pruning algorithm gives us a +

    The so-called Cost complexity pruning algorithm gives us a way to do just this. Rather than considering every possible subtree, we consider a sequence of trees indexed by a nonnegative tuning parameter \( \alpha \). +

    -

    -Read more at the following Scikit-Learn link on pruning. +

    Read more at the following Scikit-Learn link on pruning.

    -

      @@ -362,25 +438,18 @@ Read more at the following »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs014.html b/doc/pub/week45/html/._week45-bs014.html index 28abda8e9..88408fb6b 100644 --- a/doc/pub/week45/html/._week45-bs014.html +++ b/doc/pub/week45/html/._week45-bs014.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Cost complexity pruning

    -

    Cost complexity pruning

    - -

    -For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that +

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    $$ \sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, $$ -is as small as possible. Here \( \overline{T} \) is +

    is as small as possible. Here \( \overline{T} \) is the number of terminal nodes of the tree \( T \) , \( R_m \) is the rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. +

    -

    -The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s complexity and its fit to the training data. When \( \alpha = 0 \), then the subtree \( T \) will simply equal \( T_0 \), because then the above equation just measures the training error. However, as \( \alpha \) increases, there is a price to pay for having a tree with many terminal nodes. The above equation will -tend to be minimized for a smaller subtree. +tend to be minimized for a smaller subtree. +

    -

    -It turns out that as we increase \( \alpha \) from zero +

    It turns out that as we increase \( \alpha \) from zero branches get pruned from the tree in a nested and predictable fashion, so obtaining the whole sequence of subtrees as a function of \( \alpha \) is easy. We can select a value of \( \alpha \) using a validation set or using cross-validation. We then return to the full data set and obtain the -subtree corresponding to \( \alpha \). +subtree corresponding to \( \alpha \). +

    -

      @@ -373,25 +450,18 @@ subtree corresponding to \( \alpha \).
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs015.html b/doc/pub/week45/html/._week45-bs015.html index 1ec7d6e61..d2009c726 100644 --- a/doc/pub/week45/html/._week45-bs015.html +++ b/doc/pub/week45/html/._week45-bs015.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Schematic Regression Procedure

    -

    Schematic Regression Procedure

    - -

    -

    +

    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    3. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    4. -
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      -
    5. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    -

      @@ -367,25 +441,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs016.html b/doc/pub/week45/html/._week45-bs016.html index bb7d44c17..bfabe467e 100644 --- a/doc/pub/week45/html/._week45-bs016.html +++ b/doc/pub/week45/html/._week45-bs016.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    A Classification Tree

    -

    A Classification Tree

    - -

    -A classification tree is very similar to a regression tree, except +

    A classification tree is very similar to a regression tree, except that it is used to predict a qualitative response rather than a quantitative one. Recall that for a regression tree, the predicted response for an observation is given by the mean response of the @@ -327,9 +404,9 @@ in the region to which it belongs. In interpreting the results of a classification tree, we are often interested not only in the class prediction corresponding to a particular terminal node region, but also in the class proportions among the training observations that -fall into that region. +fall into that region. +

    -

      @@ -359,25 +436,18 @@ fall into that region.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs017.html b/doc/pub/week45/html/._week45-bs017.html index 3d648e5c0..9ff761564 100644 --- a/doc/pub/week45/html/._week45-bs017.html +++ b/doc/pub/week45/html/._week45-bs017.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Growing a classification tree

    -

    Growing a classification tree

    - -

    -The task of growing a +

    The task of growing a classification tree is quite similar to the task of growing a regression tree. Just as in the regression setting, we use recursive binary splitting to grow a classification tree. However, in the @@ -326,15 +403,15 @@ error rate. Since we plan to assign an observation in a given region to the most commonly occurring error rate class of training observations in that region, the classification error rate is simply the fraction of the training observations in that region that do not -belong to the most common class. +belong to the most common class. +

    -

    -When building a classification tree, either the Gini index or the +

    When building a classification tree, either the Gini index or the entropy are typically used to evaluate the quality of a particular split, since these two approaches are more sensitive to node purity -than is the classification error rate. +than is the classification error rate. +

    -

      @@ -364,25 +441,18 @@ than is the classification error rate.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs018.html b/doc/pub/week45/html/._week45-bs018.html index ef7dfc4e8..91a4949b7 100644 --- a/doc/pub/week45/html/._week45-bs018.html +++ b/doc/pub/week45/html/._week45-bs018.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Classification tree, how to split nodes

    -

    Classification tree, how to split nodes

    - -

    -If our targets are the outcome of a classification process that takes +

    If our targets are the outcome of a classification process that takes for example \( k=1,2,\dots,K \) values, the only thing we need to think of is to set up the splitting criteria for each node. +

    -

    -We define a PDF \( p_{mk} \) that represents the number of observations of +

    We define a PDF \( p_{mk} \) that represents the number of observations of a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent this likelihood function in terms of the proportion \( I(y_i=k) \) of observations of this class in the region \( R_m \) as +

    $$ p_{mk} = \frac{1}{N_m}\sum_{i\in R_m}I(y_i=k). $$ -

    -We let \( p_{mk} \) represent the majority class of observations in region +

    We let \( p_{mk} \) represent the majority class of observations in region \( m \). The three most common ways of splitting a node are given by +

    • Misclassification error
    - $$ \frac{1}{N_m}\sum_{i\in R_m}I(y_i\ne k) = 1-p_{mk}. $$ -
    • Gini index \( g \)
    - $$ g = \sum_{k\ne k'} p_{mk}p_{mk'}=\sum_{k=1}^K p_{mk}(1-p_{mk}). $$ -
    • Information entropy or just entropy \( s \)
    - $$ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. $$ -

    +

      @@ -390,25 +463,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs019.html b/doc/pub/week45/html/._week45-bs019.html index 726a31a39..9cf90fe45 100644 --- a/doc/pub/week45/html/._week45-bs019.html +++ b/doc/pub/week45/html/._week45-bs019.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Gini Index (or Coefficient or Impurity)

    -

    Gini Index (or Coefficient or Impurity)

    - -

    -The Gini index \( g \) gives us the degree of probability of a specific +

    The Gini index \( g \) gives us the degree of probability of a specific variable that is wrongly classified. +

    -

    -It takes values \( g \in [0,1] \), - +

    It takes values \( g \in [0,1] \),

    1. \( g=0 \) means a pure case where all elements belong to one class only.
    2. A value \( g=1 \) means that all elements are randomly distributed across various classes.
    3. A value \( g=0.5 \) means that the elements in a node are uniformly distributed across classes.
    +

    It favors binary splitting.

    -It favors binary splitting. - -

      @@ -360,25 +434,18 @@ It favors binary splitting.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs020.html b/doc/pub/week45/html/._week45-bs020.html index 108f8bf3a..e8cfabfaf 100644 --- a/doc/pub/week45/html/._week45-bs020.html +++ b/doc/pub/week45/html/._week45-bs020.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - +

    Why binary splits?

    -

    Why binary splits?

    - -

    -It is custom to split to a tree uising binary splits. The reason is +

    It is custom to split to a tree uising binary splits. The reason is that multiway splits fragment the data too quickly, leaving insufficient data at the next level down. Multiway splits can be achieved by a series of binary split and this is normally preferred. +

    -

      @@ -351,25 +428,18 @@ achieved by a series of binary split and this is normally preferred.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs021.html b/doc/pub/week45/html/._week45-bs021.html index f6c5ebf52..446666575 100644 --- a/doc/pub/week45/html/._week45-bs021.html +++ b/doc/pub/week45/html/._week45-bs021.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Computing a Tree using the Gini Index

    -

    Computing a Tree using the Gini Index

    - -

    -Consider the following example with attributes/features and two +

    Consider the following example with attributes/features and two possible outcomes (classes) for each attribute. Assume we wish to find some correlations between the average grade of a student as function of the number of hours studied and hours slept. We want also to correlate the grade in a given course with the general trend, whether the students recently has gotten grades below average or above. +

    -

    -We have three features/attributes - +

    We have three features/attributes

    1. Trend of average grades before present course, classified as either below or above the average grade of the whole class
    2. The number of hours studies, classified again as either higher (more than 3 hours per day) or lower . Here we have used a standard for one \( ECTS \) which is scaled to 25-30 hours of work for a semester which lasts 18 weeks, with 15 weeks of lectures and 3 weeks for exams, assuming a total of 30 ECTS per semester.
    3. The number of hours slept as high for more than \( 8 \) hours and below for less than 8 hours of sleep, classified again as either high or low
    4. The final grade whether it is above or below average
    -

      @@ -362,25 +437,18 @@ We have three features/attributes
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs022.html b/doc/pub/week45/html/._week45-bs022.html index b5c665efb..f78ceea8b 100644 --- a/doc/pub/week45/html/._week45-bs022.html +++ b/doc/pub/week45/html/._week45-bs022.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    The Table

    - -

    +

    The Table

    - +
    @@ -338,7 +414,7 @@ MathJax.Hub.Config({
    Grade Trend Hours slept Hours Studied Grade
    -

    +

      @@ -368,25 +444,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs023.html b/doc/pub/week45/html/._week45-bs023.html index c5ff76402..0017eee72 100644 --- a/doc/pub/week45/html/._week45-bs023.html +++ b/doc/pub/week45/html/._week45-bs023.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Computing the various Gini Indices

    -

    Computing the various Gini Indices

    - -

    -In computations we will translate all classes into numbers. Being +

    In computations we will translate all classes into numbers. Being these binary classes, they can easily be split into ones and zeros. +

    -

    -

    -See handwritten notes for Thursday November 11 + +

    See handwritten notes for Thursday November 11

    -

      @@ -358,25 +434,18 @@ See handwritten notes for Thursday November 11
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs024.html b/doc/pub/week45/html/._week45-bs024.html index 121f93c24..77b337b16 100644 --- a/doc/pub/week45/html/._week45-bs024.html +++ b/doc/pub/week45/html/._week45-bs024.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Computing the various Gini Indices, Hours slept

    -

    Computing the various Gini Indices, Hours slept

    - -

    -

    -See handwritten notes for Thursday November 11 + +

    See handwritten notes for Thursday November 11

    -

      @@ -354,25 +430,18 @@ See handwritten notes for Thursday November 11
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs025.html b/doc/pub/week45/html/._week45-bs025.html index 63cc1f7fe..23a2909ec 100644 --- a/doc/pub/week45/html/._week45-bs025.html +++ b/doc/pub/week45/html/._week45-bs025.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Computing the various Gini Indices, Hours studied

    -

    Computing the various Gini Indices, Hours studied

    - -

    -

    -See handwritten notes for Thursday November 11 + +

    See handwritten notes for Thursday November 11

    -

    -For final tree, see the above handwritten notes +

    For final tree, see the above handwritten notes

    -

      @@ -357,25 +432,18 @@ For final tree, see the above handwritten notes
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs026.html b/doc/pub/week45/html/._week45-bs026.html index 5c73f6d99..fa9dc631c 100644 --- a/doc/pub/week45/html/._week45-bs026.html +++ b/doc/pub/week45/html/._week45-bs026.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    A possible code using Scikit-Learn

    -

    A possible code using Scikit-Learn

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -385,8 +467,22 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/grade.dot -o DataFiles/grades.png'
     os.system(cmd)
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -416,25 +512,18 @@ os.system(cmd)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs027.html b/doc/pub/week45/html/._week45-bs027.html index 8f0758db4..fe7872523 100644 --- a/doc/pub/week45/html/._week45-bs027.html +++ b/doc/pub/week45/html/._week45-bs027.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Visualizing Trees, More examples

    -

    +

    Visualizing Trees, More examples

    -
    import os
    +
    +
    +
    +
    +
    +
    import os
     from sklearn.datasets import load_breast_cancer
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.model_selection import train_test_split
    @@ -350,8 +432,22 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -381,25 +477,18 @@ os.system(cmd)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs028.html b/doc/pub/week45/html/._week45-bs028.html index c581505c6..30bf163d3 100644 --- a/doc/pub/week45/html/._week45-bs028.html +++ b/doc/pub/week45/html/._week45-bs028.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Visualizing the Tree, The Moons

    -

    +

    Visualizing the Tree, The Moons

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.tree import DecisionTreeClassifier
    @@ -341,8 +423,22 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
     os.system(cmd)
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -372,25 +468,18 @@ os.system(cmd)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs029.html b/doc/pub/week45/html/._week45-bs029.html index c46ac0f08..05c540319 100644 --- a/doc/pub/week45/html/._week45-bs029.html +++ b/doc/pub/week45/html/._week45-bs029.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Other ways of visualizing the trees

    -

    Other ways of visualizing the trees

    +

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    -

    -Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data. - -

    -

    from sklearn.datasets import load_iris
    +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
     from sklearn import tree
     X, y = load_iris(return_X_y=True)
     tree_clf = tree.DecisionTreeClassifier()
     tree_clf = tree_clf.fit(X, y)
     # and then plot the tree
     tree.plot_tree(tree_clf) 
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -359,25 +454,18 @@ tree.plot_tree(tree_clf)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs030.html b/doc/pub/week45/html/._week45-bs030.html index b9c15c4bb..c4b42d0a1 100644 --- a/doc/pub/week45/html/._week45-bs030.html +++ b/doc/pub/week45/html/._week45-bs030.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Printing out as text

    -

    Printing out as text

    - -

    -Alternatively, the tree can also be exported in textual format with the function exporttext. +

    Alternatively, the tree can also be exported in textual format with the function exporttext. This method doesn’t require the installation of external libraries and is more compact: +

    -

    -

    from sklearn.datasets import load_iris
    +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.tree import export_text
     iris = load_iris()
    @@ -330,8 +412,22 @@ decision_tree = DecisionTreeClassifier(rando
     decision_tree = decision_tree.fit(iris.data, iris.target)
     r = export_text(decision_tree, feature_names=iris['feature_names'])
     print(r)
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -361,25 +457,18 @@ r = export_text(decision_tree, feature_names
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs031.html b/doc/pub/week45/html/._week45-bs031.html index ef5a3a6b2..fac19847c 100644 --- a/doc/pub/week45/html/._week45-bs031.html +++ b/doc/pub/week45/html/._week45-bs031.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Algorithms for Setting up Decision Trees

    -

    Algorithms for Setting up Decision Trees

    - -

    -Two algorithms stand out in the set up of decision trees: - +

    Two algorithms stand out in the set up of decision trees:

    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. The ID3 algorithm based on the computation of the information gain for classification
    - -We discuss both algorithms with applications here. The popular library +

    We discuss both algorithms with applications here. The popular library Scikit-Learn uses the CART algorithm. For classification problems you can use either the gini index or the entropy to split a tree in two branches. +

    -

      @@ -358,25 +433,18 @@ in two branches.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs032.html b/doc/pub/week45/html/._week45-bs032.html index c00bfa723..97c060217 100644 --- a/doc/pub/week45/html/._week45-bs032.html +++ b/doc/pub/week45/html/._week45-bs032.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    The CART algorithm for Classification

    -

    The CART algorithm for Classification

    - -

    -For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). This could be for example a threshold set by a number below a certain circumference of a malign tumor. +

    -

    -How do we find these two quantities? +

    How do we find these two quantities? We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). The cost function it tries to minimize is then +

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, $$ -where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) +

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) is the number of instances in the left/right subset +

    -

    -Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the \( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), \( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). +

    -

      @@ -367,25 +445,18 @@ hyperparameters control additional stopping conditions such as the \( min\_sampl
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs033.html b/doc/pub/week45/html/._week45-bs033.html index bbc14d948..1ce0995b5 100644 --- a/doc/pub/week45/html/._week45-bs033.html +++ b/doc/pub/week45/html/._week45-bs033.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    The CART algorithm for Regression

    -

    The CART algorithm for Regression

    - -

    -The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now +

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. $$ -Here the MSE for a specific node is defined as +

    Here the MSE for a specific node is defined as

    $$ \mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, $$ -with +

    with

    $$ \overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, $$ -the mean value of all observations in a specific node. +

    the mean value of all observations in a specific node.

    -

    -Without any regularization, the regression task for decision trees, +

    Without any regularization, the regression task for decision trees, just like for classification tasks, is prone to overfitting. +

    -

      @@ -368,25 +445,18 @@ just like for classification tasks, is prone to overfitting.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs034.html b/doc/pub/week45/html/._week45-bs034.html index c11d4ae99..b9ca0528d 100644 --- a/doc/pub/week45/html/._week45-bs034.html +++ b/doc/pub/week45/html/._week45-bs034.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Computing the Gini index

    -

    Computing the Gini index

    - -

    -The example we will look at is a classical one in many Machine +

    The example we will look at is a classical one in many Machine Learning applications. Based on various meteorological features, we have several so-called attributes which decide whether we at the end will do some outdoor activity like skiing, going for a bike ride etc @@ -326,13 +403,12 @@ etc. The table here contains the feautures outlook, temperature, attributes for each feature are then sunny, overcast and rain for the outlook, hot, cold and mild for temperature, high and normal for humidity and weak and strong for wind. +

    -

    -The table here summarizes the various attributes and - +

    The table here summarizes the various attributes and

    - +
    @@ -355,7 +431,7 @@ The table here summarizes the various attributes and
    Day Outlook Temperature Humidity Wind Ride
    -

    +

      @@ -385,25 +461,18 @@ The table here summarizes the various attributes and
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs035.html b/doc/pub/week45/html/._week45-bs035.html index d59952b30..d834fc2e5 100644 --- a/doc/pub/week45/html/._week45-bs035.html +++ b/doc/pub/week45/html/._week45-bs035.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Simple Python Code to read in Data and perform Classification

    -

    Simple Python Code to read in Data and perform Classification

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -385,8 +467,22 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -416,25 +512,18 @@ os.system(cmd)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs036.html b/doc/pub/week45/html/._week45-bs036.html index f710c35d0..d704ceffe 100644 --- a/doc/pub/week45/html/._week45-bs036.html +++ b/doc/pub/week45/html/._week45-bs036.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Computing the Gini Factor

    -

    Computing the Gini Factor

    - -

    -The above functions (gini, entropy and misclassification error) are +

    The above functions (gini, entropy and misclassification error) are important components of the so-called CART algorithm. We will discuss this algorithm below after we have discussed the information gain algorithm ID3. +

    -

    -In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc. +

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    -

    -

    # Split a dataset based on an attribute and an attribute value
    +
    +
    +
    +
    +
    +
    # Split a dataset based on an attribute and an attribute value
     def test_split(index, value, dataset):
     	left, right = list(), list()
     	for row in dataset:
    @@ -387,8 +468,22 @@ dataset = [[0= get_split(dataset)
     print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -418,25 +513,18 @@ split = get_split(dataset)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs037.html b/doc/pub/week45/html/._week45-bs037.html index c68f6235a..8e9de3ab8 100644 --- a/doc/pub/week45/html/._week45-bs037.html +++ b/doc/pub/week45/html/._week45-bs037.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Entropy and the ID3 algorithm

    -

    Entropy and the ID3 algorithm

    - -

    -The ID3 algorithm learns decision trees by constructing +

    The ID3 algorithm learns decision trees by constructing them in a top down way, beginning with the question which attribute should be tested at the root of the tree? +

    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. @@ -327,26 +405,24 @@ them in a top down way, beginning with the question which attribute should be
    3. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    4. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    - -The ID3 algorithm selects which attribute to test at each node in the +

    The ID3 algorithm selects which attribute to test at each node in the tree. +

    -

    -We would like to select the attribute that is most useful for classifying +

    We would like to select the attribute that is most useful for classifying examples. +

    -

    -What is a good quantitative measure of the worth of an attribute? +

    What is a good quantitative measure of the worth of an attribute?

    -

    -Information gain measures how well a given attribute separates the +

    Information gain measures how well a given attribute separates the training examples according to their target classification. +

    -

    -The ID3 algorithm uses this information gain measure to select among the candidate +

    The ID3 algorithm uses this information gain measure to select among the candidate attributes at each step while growing the tree. +

    -

      @@ -376,25 +452,18 @@ attributes at each step while growing the tree.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs038.html b/doc/pub/week45/html/._week45-bs038.html index c2ae0e78c..43f7a5b2d 100644 --- a/doc/pub/week45/html/._week45-bs038.html +++ b/doc/pub/week45/html/._week45-bs038.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Cancer Data again now with Decision Trees and other Methods

    -

    +

    Cancer Data again now with Decision Trees and other Methods

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -358,8 +440,22 @@ svm.fit(X_train_scaled, y_train)
     # Decision Trees
     deep_tree_clf.fit(X_train_scaled, y_train)
     print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -389,25 +485,18 @@ deep_tree_clf.fit(X_train_scaled, y_train)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs039.html b/doc/pub/week45/html/._week45-bs039.html index 7021d9ca6..438a5bf3d 100644 --- a/doc/pub/week45/html/._week45-bs039.html +++ b/doc/pub/week45/html/._week45-bs039.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Another example, the moons again

    -

    +

    Another example, the moons again

    -
    from __future__ import division, print_function, unicode_literals
    +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
     
     # Common imports
     import numpy as np
    @@ -381,8 +463,22 @@ plt.subplot(122
     plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
     plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -412,25 +508,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs040.html b/doc/pub/week45/html/._week45-bs040.html index 9339cd068..6799500af 100644 --- a/doc/pub/week45/html/._week45-bs040.html +++ b/doc/pub/week45/html/._week45-bs040.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Playing around with regions

    -

    +

    Playing around with regions

    -
    np.random.seed(6)
    +
    +
    +
    +
    +
    +
    np.random.seed(6)
     Xs = np.random.rand(100, 2) - 0.5
     ys = (Xs[:, 0] > 0).astype(np.float32) * 2
     
    @@ -337,8 +419,22 @@ plt.subplot(122
     plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
     
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -368,25 +464,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs041.html b/doc/pub/week45/html/._week45-bs041.html index 5689be618..b25099b5c 100644 --- a/doc/pub/week45/html/._week45-bs041.html +++ b/doc/pub/week45/html/._week45-bs041.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Regression trees

    -

    +

    Regression trees

    -
    # Quadratic training set + noise
    +
    +
    +
    +
    +
    +
    # Quadratic training set + noise
     np.random.seed(42)
     m = 200
     X = np.random.rand(m, 1)
     y = 4 * (X - 0.5) ** 2
     y = y + np.random.randn(m, 1) / 10
    -
    -

    - +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
     tree_reg.fit(X, y)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -362,25 +473,18 @@ tree_reg.fit(X, y)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs042.html b/doc/pub/week45/html/._week45-bs042.html index e3a962cc8..5547d35c9 100644 --- a/doc/pub/week45/html/._week45-bs042.html +++ b/doc/pub/week45/html/._week45-bs042.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Final regressor code

    -

    +

    Final regressor code

    -
    from sklearn.tree import DecisionTreeRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
     tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    @@ -355,11 +437,26 @@ plt.text(0.3.title("max_depth=3", fontsize=14)
     
     plt.show()
    -
    -

    - +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    -
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +
    +
    +
    +
    +
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
     tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
     tree_reg1.fit(X, y)
     tree_reg2.fit(X, y)
    @@ -387,8 +484,22 @@ plt.xlabel(&quo
     plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
     
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -418,25 +529,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs043.html b/doc/pub/week45/html/._week45-bs043.html index 34e7bc1a6..cf03d8c4f 100644 --- a/doc/pub/week45/html/._week45-bs043.html +++ b/doc/pub/week45/html/._week45-bs043.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Pros and cons of trees, pros

    +

    Pros and cons of trees, pros

    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • @@ -324,7 +402,6 @@ MathJax.Hub.Config({
    • Can model interactions between the different descriptive features
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    -

      @@ -354,25 +431,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs044.html b/doc/pub/week45/html/._week45-bs044.html index 58531463d..fc1bef8a3 100644 --- a/doc/pub/week45/html/._week45-bs044.html +++ b/doc/pub/week45/html/._week45-bs044.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Disadvantages

    +

    Disadvantages

    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • @@ -324,12 +402,11 @@ MathJax.Hub.Config({
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    - -However, by aggregating many decision trees, using methods like +

    However, by aggregating many decision trees, using methods like bagging, random forests, and boosting, the predictive performance of trees can be substantially improved. +

    -

      @@ -359,25 +436,18 @@ trees can be substantially improved.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs045.html b/doc/pub/week45/html/._week45-bs045.html index 7d99bef41..7e5da7ce7 100644 --- a/doc/pub/week45/html/._week45-bs045.html +++ b/doc/pub/week45/html/._week45-bs045.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    -

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    - -

    -As stated above and seen in many of the examples discussed here about +

    As stated above and seen in many of the examples discussed here about a single decision tree, we often end up overfitting our training data. This normally means that we have a high variance. Can we reduce the variance of a statistical learning method? +

    -

    -This leads us to a set of different methods that can combine different +

    This leads us to a set of different methods that can combine different machine learning algorithms or just use one of them to construct forests and jungles of trees, homogeneous ones or heterogenous ones. These methods are recognized by different names which we will try to explain here. These are +

    1. Voting classifiers
    2. @@ -334,10 +412,8 @@ try to explain here. These are
    3. Random forests
    4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    +

    We discuss these methods here.

    -We discuss these methods here. - -

      @@ -367,25 +443,18 @@ We discuss these methods here.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs046.html b/doc/pub/week45/html/._week45-bs046.html index f49d3fe2c..654698428 100644 --- a/doc/pub/week45/html/._week45-bs046.html +++ b/doc/pub/week45/html/._week45-bs046.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    An Overview of Ensemble Methods

    -

    An Overview of Ensemble Methods

    +

    +
    +

    +
    +

    -

    -



    - -

      @@ -348,25 +428,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs047.html b/doc/pub/week45/html/._week45-bs047.html index 4a4ff3992..5e9725d9f 100644 --- a/doc/pub/week45/html/._week45-bs047.html +++ b/doc/pub/week45/html/._week45-bs047.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Bagging

    -

    Bagging

    - -

    -The plain decision trees suffer from high +

    The plain decision trees suffer from high variance. This means that if we split the training data into two parts at random, and fit a decision tree to both halves, the results that we get could be quite different. In contrast, a procedure with low variance will yield similar results if applied repeatedly to distinct data sets; linear regression tends to have low variance, if the ratio -of \( n \) to \( p \) is moderately large. +of \( n \) to \( p \) is moderately large. +

    -

    -Bootstrap aggregation, or just bagging, is a +

    Bootstrap aggregation, or just bagging, is a general-purpose procedure for reducing the variance of a statistical -learning method. +learning method. +

    -

      @@ -359,25 +436,18 @@ learning method.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs048.html b/doc/pub/week45/html/._week45-bs048.html index 878656ea4..9d05897ca 100644 --- a/doc/pub/week45/html/._week45-bs048.html +++ b/doc/pub/week45/html/._week45-bs048.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    More bagging

    -

    More bagging

    - -

    -Bagging typically results in improved accuracy +

    Bagging typically results in improved accuracy over prediction using a single tree. Unfortunately, however, it can be difficult to interpret the resulting model. Recall that one of the advantages of decision trees is the attractive and easily interpreted diagram that results. +

    -

    -However, when we bag a large number of trees, it is no longer +

    However, when we bag a large number of trees, it is no longer possible to represent the resulting statistical learning procedure using a single tree, and it is no longer clear which variables are most important to the procedure. Thus, bagging improves prediction @@ -338,8 +415,8 @@ trees. A large value indicates an important predictor. Similarly, in the context of bagging classification trees, we can add up the total amount that the Gini index is decreased by splits over a given predictor, averaged over all \( B \) trees. +

    -

      @@ -369,25 +446,18 @@ predictor, averaged over all \( B \) trees.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs049.html b/doc/pub/week45/html/._week45-bs049.html index b95738ba6..0e7964635 100644 --- a/doc/pub/week45/html/._week45-bs049.html +++ b/doc/pub/week45/html/._week45-bs049.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    - -

    -Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    +

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.pipeline import make_pipeline
    @@ -372,8 +454,22 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("baggingboot")
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -403,25 +499,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs050.html b/doc/pub/week45/html/._week45-bs050.html index ff2263d30..746f86b38 100644 --- a/doc/pub/week45/html/._week45-bs050.html +++ b/doc/pub/week45/html/._week45-bs050.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Why Voting?

    -

    Why Voting?

    - -

    -The idea behind boosting, and voting as well can be phrased as follows: +

    The idea behind boosting, and voting as well can be phrased as follows: Can a group of people somehow arrive at highly reasoned decisions, despite the weak judgement of the individual members? +

    -

    -The aim is to create a good classifier by combining several weak classifiers. +

    The aim is to create a good classifier by combining several weak classifiers. A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random. +

    -

    -The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. +

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in -each iteration. +each iteration. +

    -

    -Decision trees play an important role as our weak classifier. They serve as the basic method. +

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    -

      @@ -363,25 +439,18 @@ Decision trees play an important role as our weak classifier. They serve as the
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs051.html b/doc/pub/week45/html/._week45-bs051.html index f9bcbdbad..edee3cf62 100644 --- a/doc/pub/week45/html/._week45-bs051.html +++ b/doc/pub/week45/html/._week45-bs051.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Tossing coins

    -

    Tossing coins

    - -

    -The simplest case is a so-called voting ensemble. To illustrate this, +

    The simplest case is a so-called voting ensemble. To illustrate this, think of yourself tossing coins with a biased outcome of 51 per cent for heads and 49% for tails. With only few tosses, you may not clearly see this distribution for heads and tails. However, after some thousands of tosses, there will be a clear majority of heads. With 2000 tosses you should see approximately 1020 heads and 980 tails. +

    -

    -We can then state that the outcome is a clear majority of heads. If +

    We can then state that the outcome is a clear majority of heads. If you do this ten thousand times, it is easy to see that there is a 97% likelihood of a majority of heads. +

    -

    -Another example would be to collect all polls before an +

    Another example would be to collect all polls before an election. Different polls may show different likelihoods for a candidate winning with say a majority of the popular vote. The majority vote would then consist in many polls indicating that this candidate will actually win. +

    -

    -The example here shows how we can implement the coin tossing case, +

    The example here shows how we can implement the coin tossing case, clealry demostrating that after some tosses we see the law of large numbers kicking in. +

    -

      @@ -370,25 +447,18 @@ numbers kicking in.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs052.html b/doc/pub/week45/html/._week45-bs052.html index 8dda82166..482065ccc 100644 --- a/doc/pub/week45/html/._week45-bs052.html +++ b/doc/pub/week45/html/._week45-bs052.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Standard imports first

    -

    Standard imports first

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -355,8 +437,22 @@ DATA_ID = "
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -386,25 +482,18 @@ DATA_ID = "
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs053.html b/doc/pub/week45/html/._week45-bs053.html index 9e9e47705..45769e468 100644 --- a/doc/pub/week45/html/._week45-bs053.html +++ b/doc/pub/week45/html/._week45-bs053.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Simple Voting Example, head or tail

    -

    +

    Simple Voting Example, head or tail

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -339,8 +421,22 @@ plt.legend(loc=
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -370,25 +466,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs054.html b/doc/pub/week45/html/._week45-bs054.html index a03e2e31d..0164fb968 100644 --- a/doc/pub/week45/html/._week45-bs054.html +++ b/doc/pub/week45/html/._week45-bs054.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Using the Voting Classifier

    -

    Using the Voting Classifier

    - -

    -We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn. -

    +

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    -
    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -362,8 +443,22 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -393,25 +488,18 @@ voting_clf.fit(X_train, y_train)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs055.html b/doc/pub/week45/html/._week45-bs055.html index be6d4888b..dc1ef998b 100644 --- a/doc/pub/week45/html/._week45-bs055.html +++ b/doc/pub/week45/html/._week45-bs055.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Voting and Bagging

    -

    Voting and Bagging

    - -

    -

    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -336,21 +418,51 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='hard')
     voting_clf.fit(X_train, y_train)
    -
    -

    - +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.metrics import accuracy_score
    +
    +
    +
    +
    +
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    log_clf = LogisticRegression(random_state=42)
    +
    +
    +
    +
    +
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -358,18 +470,47 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.metrics import accuracy_score
    +
    +
    +
    +
    +
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -399,25 +540,18 @@ voting_clf.fit(X_train, y_train)
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs056.html b/doc/pub/week45/html/._week45-bs056.html index e1a1509c0..7f069046d 100644 --- a/doc/pub/week45/html/._week45-bs056.html +++ b/doc/pub/week45/html/._week45-bs056.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Random forests

    -

    Random forests

    +

    Random forests provide an improvement over bagged trees by way of a +small tweak that decorrelates the trees. +

    -

    -Random forests provide an improvement over bagged trees by way of a -small tweak that decorrelates the trees. - -

    -As in bagging, we build a +

    As in bagging, we build a number of decision trees on bootstrapped training samples. But when building these decision trees, each time a split in a tree is considered, a random sample of \( m \) predictors is chosen as split candidates from the full set of \( p \) predictors. The split is allowed to -use only one of those \( m \) predictors. +use only one of those \( m \) predictors. +

    -

    -A fresh sample of \( m \) predictors is +

    A fresh sample of \( m \) predictors is taken at each split, and typically we choose +

    $$ m\approx \sqrt{p}. $$ -

    -In building a random forest, at +

    In building a random forest, at each split in the tree, the algorithm is not even allowed to consider -a majority of the available predictors. +a majority of the available predictors. +

    -

    -The reason for this is rather clever. Suppose that there is one very +

    The reason for this is rather clever. Suppose that there is one very strong predictor in the data set, along with a number of other moderately strong predictors. Then in the collection of bagged variable importance random forest trees, most or all of the trees will @@ -353,8 +430,8 @@ lead to as large of a reduction in variance as averaging many uncorrelated quantities. In particular, this means that bagging will not lead to a substantial reduction in variance over a single tree in this setting. +

    -

      @@ -384,25 +461,18 @@ this setting.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs057.html b/doc/pub/week45/html/._week45-bs057.html index 6ad783b5c..cb0021b6f 100644 --- a/doc/pub/week45/html/._week45-bs057.html +++ b/doc/pub/week45/html/._week45-bs057.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Random Forest Algorithm

    +

    The algorithm described here can be applied to both classification and regression problems.

    -

    Random Forest Algorithm

    -The algorithm described here can be applied to both classification and regression problems. - -

    -We will grow of forest of say \( B \) trees. - +

    We will grow of forest of say \( B \) trees.

    1. For \( b=1:B \)
    2. -
      • Draw a bootstrap sample from the training data organized in our \( \boldsymbol{X} \) matrix.
      • We grow then a random forest tree \( T_b \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • -
        1. we select \( m \le p \) variables at random from the \( p \) predictors/features
        2. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        -
      -
    3. Output then the ensemble of trees \( \{T_b\}_1^{B} \) and make predictions for either a regression type of problem or a classification type of problem.
    -

      @@ -366,25 +437,18 @@ We will grow of forest of say \( B \) trees.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs058.html b/doc/pub/week45/html/._week45-bs058.html index 9efaf5668..40dd5f841 100644 --- a/doc/pub/week45/html/._week45-bs058.html +++ b/doc/pub/week45/html/._week45-bs058.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Random Forests Compared with other Methods on the Cancer Data

    -

    +

    Random Forests Compared with other Methods on the Cancer Data

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -383,18 +465,31 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    -Recall that the cumulative gains curve shows the percentage of the +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Recall that the cumulative gains curve shows the percentage of the overall number of cases in a given category gained by targeting a percentage of the total number of cases. +

    -

    -Similarly, the receiver operating characteristic curve, or ROC curve, +

    Similarly, the receiver operating characteristic curve, or ROC curve, displays the diagnostic ability of a binary classifier system as its discrimination threshold is varied. It plots the true positive rate against the false positive rate. +

    -

      @@ -424,25 +519,18 @@ discrimination threshold is varied. It plots the true positive rate against the
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs059.html b/doc/pub/week45/html/._week45-bs059.html index df89c7a1d..fbcbd02ed 100644 --- a/doc/pub/week45/html/._week45-bs059.html +++ b/doc/pub/week45/html/._week45-bs059.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Compare Bagging on Trees with Random Forests

    -

    +

    Compare Bagging on Trees with Random Forests

    -
    bag_clf = BaggingClassifier(
    +
    +
    +
    +
    +
    +
    bag_clf = BaggingClassifier(
         DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
         n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    -
    -

    - +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    -
    bag_clf.fit(X_train, y_train)
    +
    +
    +
    +
    +
    +
    bag_clf.fit(X_train, y_train)
     y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
     rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
     rnd_clf.fit(X_train, y_train)
     y_pred_rf = rnd_clf.predict(X_test)
     np.sum(y_pred == y_pred_rf) / len(y_pred) 
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -362,25 +473,18 @@ np.sum(y_pred =
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs060.html b/doc/pub/week45/html/._week45-bs060.html index b3b184b9e..a56cad14d 100644 --- a/doc/pub/week45/html/._week45-bs060.html +++ b/doc/pub/week45/html/._week45-bs060.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Boosting, a Bird's Eye View

    -

    Boosting, a Bird's Eye View

    - -

    -The basic idea is to combine weak classifiers in order to create a good +

    The basic idea is to combine weak classifiers in order to create a good classifier. With a weak classifier we often intend a classifier which produces results which are only slightly better than we would get by random guesses. +

    -

    -This is done by applying in an iterative way a weak (or a standard +

    This is done by applying in an iterative way a weak (or a standard classifier like decision trees) to modify the data. In each iteration we emphasize those observations which are misclassified by weighting them with a factor. +

    -

      @@ -357,25 +434,18 @@ them with a factor.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs061.html b/doc/pub/week45/html/._week45-bs061.html index 1406ec497..7687916d9 100644 --- a/doc/pub/week45/html/._week45-bs061.html +++ b/doc/pub/week45/html/._week45-bs061.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    What is boosting? Additive Modelling/Iterative Fitting

    -

    What is boosting? Additive Modelling/Iterative Fitting

    - -

    -Boosting is a way of fitting an additive expansion in a set of +

    Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function +

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    -where \( \beta_m \) are the expansion parameters to be determined in a +

    where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). +

    -

    -As an example, consider the Sigmoid function we used in logistic +

    As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function +

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    -where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. +

    -

    -As another example, consider the cost function we defined for linear regression +

    As another example, consider the cost function we defined for linear regression

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -In this case the function \( f(x) \) was replaced by the design matrix +

    In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by +

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    -

      @@ -392,25 +467,18 @@ In iterative fitting or additive modeling, we minimize the cost function with re
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs062.html b/doc/pub/week45/html/._week45-bs062.html index 33e806ee1..c59f6d1fa 100644 --- a/doc/pub/week45/html/._week45-bs062.html +++ b/doc/pub/week45/html/._week45-bs062.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    Iterative Fitting, Regression and Squared-error Cost Function

    - -

    -The way we proceed is as follows (here we specialize to the squared-error cost function) +

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) -
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      -
    - -We could use any of the algorithms we have discussed till now. If we +

    We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. +

    -

      @@ -365,25 +439,18 @@ at the internal nodes, and the predictions at the terminal nodes.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs063.html b/doc/pub/week45/html/._week45-bs063.html index 101af800e..e98cee2b2 100644 --- a/doc/pub/week45/html/._week45-bs063.html +++ b/doc/pub/week45/html/._week45-bs063.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Squared-Error Example and Iterative Fitting

    -

    Squared-Error Example and Iterative Fitting

    +

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    -

    -To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. +

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    -

    -For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). - -

    -This means that for every iteration \( m \), we need to optimize +

    This means that for every iteration \( m \), we need to optimize

    $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    -We start our iteration by simply setting \( f_0(x)=0 \). +

    We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain +

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -and +

    and

    $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) +

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have +

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    -which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    -

    -The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    -

      @@ -388,25 +462,18 @@ The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs064.html b/doc/pub/week45/html/._week45-bs064.html index be7b6b11c..de19e60b3 100644 --- a/doc/pub/week45/html/._week45-bs064.html +++ b/doc/pub/week45/html/._week45-bs064.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Iterative Fitting, Classification and AdaBoost

    -

    Iterative Fitting, Classification and AdaBoost

    - -

    -Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). +

    -

    -The error rate of the training sample is then +

    The error rate of the training sample is then

    $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    -The iterative procedure starts with defining a weak classifier whose +

    The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). +

    -

    -Here we will express our function \( f(x) \) in terms of \( G(x) \). That is +

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -will be a function of +

    will be a function of

    $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ -

    +

      @@ -375,25 +451,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs065.html b/doc/pub/week45/html/._week45-bs065.html index 7604fea82..3ad6d17c8 100644 --- a/doc/pub/week45/html/._week45-bs065.html +++ b/doc/pub/week45/html/._week45-bs065.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Adaptive Boosting, AdaBoost

    -

    Adaptive Boosting, AdaBoost

    - -

    -In our iterative procedure we define thus +

    In our iterative procedure we define thus

    $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    -The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    -We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    -

      @@ -368,25 +444,18 @@ where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs066.html b/doc/pub/week45/html/._week45-bs066.html index e90ad2d7f..82b471882 100644 --- a/doc/pub/week45/html/._week45-bs066.html +++ b/doc/pub/week45/html/._week45-bs066.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Building up AdaBoost

    -

    Building up AdaBoost

    - -

    -First, for any \( \beta > 0 \), we optimize \( G \) by setting +

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -which is the classifier that minimizes the weighted error rate in predicting \( y \). +

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    -

    -We can do this by rewriting +

    We can do this by rewriting

    $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -which can be rewritten as +

    which can be rewritten as

    $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -which leads to +

    which leads to

    $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -where we have redefined the error as +

    where we have redefined the error as

    $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -which leads to an update of +

    which leads to an update of

    $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -This leads to the new weights +

    This leads to the new weights

    $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ -

    +

      @@ -384,25 +460,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs067.html b/doc/pub/week45/html/._week45-bs067.html index 0a059ff03..8feb69494 100644 --- a/doc/pub/week45/html/._week45-bs067.html +++ b/doc/pub/week45/html/._week45-bs067.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    - -

    -The algorithm here is rather straightforward. Assume that our weak +

    The algorithm here is rather straightforward. Assume that our weak classifier is a decision tree and we consider a binary set of outputs with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. Our design matrix is given in terms of the feature/predictor vectors \( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1}] \). Finally, we define also a -classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +

    -

    -We have already defined the misclassification error \( \mathrm{err} \) as +

    We have already defined the misclassification error \( \mathrm{err} \) as

    $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -where the function \( I() \) is one if we misclassify and zero if we classify correctly. +

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    -

      @@ -362,25 +438,18 @@ where the function \( I() \) is one if we misclassify and zero if we classify co
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs068.html b/doc/pub/week45/html/._week45-bs068.html index 1d75e5d15..770b86b48 100644 --- a/doc/pub/week45/html/._week45-bs068.html +++ b/doc/pub/week45/html/._week45-bs068.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Basic Steps of AdaBoost

    -

    Basic Steps of AdaBoost

    - -

    -With the above definitions we are now ready to set up the algorithm for AdaBoost. +

    With the above definitions we are now ready to set up the algorithm for AdaBoost. The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. - +

    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    - $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ -
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. -
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      -
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    - -For the iterations with \( m \le 2 \) the weights are modified +

    For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. +

    -

      @@ -380,25 +452,18 @@ observations that are missed in the previous iterations.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs069.html b/doc/pub/week45/html/._week45-bs069.html index 8a992c2e9..46eb07359 100644 --- a/doc/pub/week45/html/._week45-bs069.html +++ b/doc/pub/week45/html/._week45-bs069.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    AdaBoost Examples

    -

    AdaBoost Examples

    +

    Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here.

    -

    -Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here. - -

    -

    from sklearn.ensemble import AdaBoostClassifier
    +
    +
    +
    +
    +
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -342,8 +423,22 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -371,25 +466,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs070.html b/doc/pub/week45/html/._week45-bs070.html index e129fc405..e523a9c78 100644 --- a/doc/pub/week45/html/._week45-bs070.html +++ b/doc/pub/week45/html/._week45-bs070.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    - -

    -Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. +

    -

    -In order to understand the method, let us illustrate its basics by +

    In order to understand the method, let us illustrate its basics by bringing back the essential steps in linear regression, where our cost function was the least squares function. +

    -

      @@ -352,25 +429,18 @@ function was the least squares function.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs071.html b/doc/pub/week45/html/._week45-bs071.html index 0e918baa2..75d9a0826 100644 --- a/doc/pub/week45/html/._week45-bs071.html +++ b/doc/pub/week45/html/._week45-bs071.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    The Squared-Error again! Steepest Descent

    -

    The Squared-Error again! Steepest Descent

    - -

    -We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize +

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as +

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    -In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as +

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    -With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). +

    -

    -Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have +

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ -

    +

      @@ -371,25 +446,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs072.html b/doc/pub/week45/html/._week45-bs072.html index 6ca85cc88..1dd1e1816 100644 --- a/doc/pub/week45/html/._week45-bs072.html +++ b/doc/pub/week45/html/._week45-bs072.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Steepest Descent Example

    -

    Steepest Descent Example

    - -

    -Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that +

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -We can then proceed and compute +

    We can then proceed and compute

    $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    -

      @@ -353,25 +429,18 @@ and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \(
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs073.html b/doc/pub/week45/html/._week45-bs073.html index 3ed5a4b47..77f000054 100644 --- a/doc/pub/week45/html/._week45-bs073.html +++ b/doc/pub/week45/html/._week45-bs073.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Gradient Boosting, algorithm

    -

    Gradient Boosting, algorithm

    - -

    -Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. +fitting a weak learner to approximate the negative gradient signal. +

    -

    -Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function +

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function

    $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -The way we proceed in an iterative fashion is to - +

    The way we proceed in an iterative fashion is to

    1. Initialize our estimate \( f_0(x) \).
    2. For \( m=1:M \), we -
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at \( f(x) = f_{m-1}(x) \);
      2. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      3. update the estimate \( f_m(x) = f_{m-1}(x)+h_m(u_m,x) \);
      -
    3. The final estimate is then \( f_M(x) = \sum_{m=1}^M h_m(u_m,x) \).
    -

      @@ -365,25 +437,18 @@ The way we proceed in an iterative fashion is to
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs074.html b/doc/pub/week45/html/._week45-bs074.html index fef1961d2..2d0592881 100644 --- a/doc/pub/week45/html/._week45-bs074.html +++ b/doc/pub/week45/html/._week45-bs074.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Gradient Boosting, Examples of Regression

    -

    +

    Gradient Boosting, Examples of Regression

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    -from sklearn.preprocessing import StandardScaler
     import scikitplot as skplt
     from sklearn.metrics import mean_squared_error
     
    @@ -337,15 +418,11 @@ bias = np.= np.zeros(maxdegree)
     polydegree = np.zeros(maxdegree)
     X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    -scaler = StandardScaler()
    -scaler.fit(X_train)
    -X_train_scaled = scaler.transform(X_train)
    -X_test_scaled = scaler.transform(X_test)
     
     for degree in range(1,maxdegree):
         model = GradientBoostingRegressor(max_depth=degree, n_estimators=100, learning_rate=1.0)  
    -    model.fit(X_train_scaled,y_train)
    -    y_pred = model.predict(X_test_scaled)
    +    model.fit(X_train,y_train)
    +    y_pred = model.predict(X_test)
         polydegree[degree] = degree
         error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
         bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
    @@ -363,8 +440,22 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("gdregression")
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -387,25 +478,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs075.html b/doc/pub/week45/html/._week45-bs075.html index 99e0a7595..3c660d539 100644 --- a/doc/pub/week45/html/._week45-bs075.html +++ b/doc/pub/week45/html/._week45-bs075.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - -

    Gradient Boosting, Classification Example

    -

    +

    Gradient Boosting, Classification Example

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -357,8 +439,22 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -380,25 +476,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs076.html b/doc/pub/week45/html/._week45-bs076.html index cabb1c10b..b543dd96f 100644 --- a/doc/pub/week45/html/._week45-bs076.html +++ b/doc/pub/week45/html/._week45-bs076.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost: Extreme Gradient Boosting

    - -

    -XGBoost or Extreme Gradient +

    XGBoost or Extreme Gradient Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many data science problems in a fast and accurate way. See the article by Chen and Guestrin. +

    -

    -The authors design and build a highly scalable end-to-end tree +

    The authors design and build a highly scalable end-to-end tree boosting system. It has a theoretically justified weighted quantile sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. +

    -

    -It is now the algorithm which wins essentially all ML competitions!!! +

    It is now the algorithm which wins essentially all ML competitions!!!

    -

      @@ -352,25 +428,18 @@ It is now the algorithm which wins essentially all ML competitions!!!
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs077.html b/doc/pub/week45/html/._week45-bs077.html index 1d38c90ae..a197627de 100644 --- a/doc/pub/week45/html/._week45-bs077.html +++ b/doc/pub/week45/html/._week45-bs077.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Regression Case

    -

    Regression Case

    - -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    -from sklearn.preprocessing import StandardScaler
     import scikitplot as skplt
     from sklearn.metrics import mean_squared_error
     
    @@ -338,16 +419,12 @@ bias = np.= np.zeros(maxdegree)
     polydegree = np.zeros(maxdegree)
     X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    -scaler = StandardScaler()
    -scaler.fit(X_train)
    -X_train_scaled = scaler.transform(X_train)
    -X_test_scaled = scaler.transform(X_test)
     
     for degree in range(maxdegree):
         model =  xgb.XGBRegressor(objective ='reg:squarederror', colsaobjective ='reg:squarederror', colsample_bytree = 0.3, learning_rate = 0.1,max_depth = degree, alpha = 10, n_estimators = 200)
     
    -    model.fit(X_train_scaled,y_train)
    -    y_pred = model.predict(X_test_scaled)
    +    model.fit(X_train,y_train)
    +    y_pred = model.predict(X_test)
         polydegree[degree] = degree
         error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
         bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
    @@ -364,8 +441,22 @@ plt.plot(polydegree, bias, label.plot(polydegree, variance, label='Variance')
     plt.legend()
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -385,25 +476,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week45/html/._week45-bs078.html b/doc/pub/week45/html/._week45-bs078.html index ebc6718b6..83e55f6a5 100644 --- a/doc/pub/week45/html/._week45-bs078.html +++ b/doc/pub/week45/html/._week45-bs078.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - +

    Xgboost on the Cancer Data

    -

    Xgboost on the Cancer Data

    - -

    -As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. -

    +

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -371,8 +452,21 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + +

    @@ -391,25 +485,18 @@ plt.show()

  • 79
  • - - - -
    - - - diff --git a/doc/pub/week45/html/week45-bs.html b/doc/pub/week45/html/week45-bs.html index 6fb3409bc..901aa91ec 100644 --- a/doc/pub/week45/html/week45-bs.html +++ b/doc/pub/week45/html/week45-bs.html @@ -1,31 +1,28 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - + - - - @@ -202,8 +287,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - - -
    -

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 12, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Nov 11, 2021

    -
    -

    Read »

    @@ -360,25 +438,18 @@ MathJax.Hub.Config({
  • »
  • -
    - - -
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week45/html/week45-reveal.html b/doc/pub/week45/html/week45-reveal.html index 976909ff8..7e558c244 100644 --- a/doc/pub/week45/html/week45-reveal.html +++ b/doc/pub/week45/html/week45-reveal.html @@ -1,19 +1,18 @@ + - + + - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - - - - - - - + @@ -55,36 +54,81 @@ document.getElementsByTagName( 'head' )[0].appendChild( link ); - - - @@ -222,49 +314,41 @@ MathJax.Hub.Config({ - - +
    +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    - - -

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 12, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Nov 11, 2021

    -
    -











    - -

    Overview of week 45

    +

    Overview of week 45

    • Thursday: Basics of Decision Trees, Bagging and Voting
    • - -
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    -
    -Videos. +Videos

    -

    1. Video on Decision trees
    2. Video on boosting methods by Hastie.
    3. @@ -272,98 +356,83 @@ MathJax.Hub.Config({
    -

    -Reading. +Reading

    -

    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    -











    +

    Decision trees, overarching aims

    -

    Decision trees, overarching aims

    - -

    -We start here with the most basic algorithm, the so-called decision +

    We start here with the most basic algorithm, the so-called decision tree. With this basic algorithm we can in turn build more complex networks, spanning from homogeneous and heterogenous forests (bagging, random forests and more) to one of the most popular supervised algorithms nowadays, the extreme gradient boosting, or just XGBoost. But let us start with the simplest possible ingredient. +

    -

    -Decision trees are supervised learning algorithms used for both, +

    Decision trees are supervised learning algorithms used for both, classification and regression tasks. +

    -

    -The main idea of decision trees +

    The main idea of decision trees is to find those descriptive features which contain the most information regarding the target feature and then split the dataset along the values of these features such that the target feature values for the resulting underlying datasets are as pure as possible. +

    -

    -The descriptive features which reproduce best the target/output features are normally said +

    The descriptive features which reproduce best the target/output features are normally said to be the most informative ones. The process of finding the most informative feature is done until we accomplish a stopping criteria -where we then finally end up in so called leaf nodes. +where we then finally end up in so called leaf nodes. +

    -











    +

    Basics of a tree

    -

    Basics of a tree

    - -

    -A decision tree is typically divided into a root node, the interior nodes, +

    A decision tree is typically divided into a root node, the interior nodes, and the final leaf nodes or just leaves. These entities are then connected by so-called branches. +

    -

    -The leaf nodes +

    The leaf nodes contain the predictions we will make for new query instances presented to our trained model. This is possible since the model has learned the underlying structure of the training data and hence can, given some assumptions, make predictions about the target feature value (class) of unseen query instances. +

    -











    +

    A Sketch of a Tree, Regression problem

    -

    A Sketch of a Tree, Regression problem

    - -

    -











    +

    A Sketch of a Tree, Classification problem

    -

    A Sketch of a Tree, Classification problem

    - -

    -











    +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    +

    +
    +

    +
    +

    -

    -



    +

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    -

    -This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches. - -











    +

    General Features

    -

    General Features

    - -

    -The overarching approach to decision trees is a top-down approach. +

    The overarching approach to decision trees is a top-down approach.

    • A leaf provides the classification of a given instance.
    • @@ -371,18 +440,16 @@ The overarching approach to decision trees is a top-down approach.
    • A branch corresponds to a possible values of an attribute.
    • An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.
    - -This process is then repeated for the subtree rooted at the new +

    This process is then repeated for the subtree rooted at the new node. +

    -











    +

    How do we set it up?

    -

    How do we set it up?

    - -

    -In simplified terms, the process of training a decision tree and +

    In simplified terms, the process of training a decision tree and predicting the target features of query instances is as follows: +

    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. @@ -390,17 +457,18 @@ predicting the target features of query instances is as follows:
    3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    4. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    +

    Then we are essentially done!

    -Then we are essentially done! - -











    - -

    Decision trees and Regression

    -

    +

    Decision trees and Regression

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.preprocessing import PolynomialFeatures
     from sklearn.linear_model import LinearRegression
    @@ -438,7 +506,7 @@ c=lin_reg.intercept_
     print ("first power: ", b[0])
     print ("second power: ",b[1])
     
    -z = np.arange(0, steps, .01)
    +z = np.arange(0, steps, .01)
     z_mod=b[1]*z**2+b[0]*z+c
     
     fit_mod=b[1]*X**2+b[0]*X+c
    @@ -488,96 +556,102 @@ plt.ylabel("Darget")
     plt.title("Decision Tree Regression")
     plt.legend()
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Building a tree, regression

    -

    Building a tree, regression

    - -

    -There are mainly two steps - +

    There are mainly two steps

    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    - -How do we construct the regions \( R_1,\dots,R_J \)? In theory, the +

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the regions could have any shape. However, we choose to divide the predictor space into high-dimensional rectangles, or boxes, for simplicity and for ease of interpretation of the resulting predictive model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the MSE, given by +

    $$ \sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, $$ -

    -where \( \overline{y}_{R_j} \) is the mean response for the training observations -within box \( j \). +

    where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +

    -











    +

    A top-down approach, recursive binary splitting

    -

    A top-down approach, recursive binary splitting

    - -

    -Unfortunately, it is computationally infeasible to consider every +

    Unfortunately, it is computationally infeasible to consider every possible partition of the feature space into \( J \) boxes. The common strategy is to take a top-down approach +

    -

    -The approach is top-down because it begins at the top of the tree (all +

    The approach is top-down because it begins at the top of the tree (all observations belong to a single region) and then successively splits the predictor space; each split is indicated via two new branches further down on the tree. It is greedy because at each step of the tree-building process, the best split is made at that particular step, rather than looking ahead and picking a split that will lead to a better tree in some future step. +

    -











    +

    Making a tree

    -

    Making a tree

    - -

    -In order to implement the recursive binary splitting we start by selecting +

    In order to implement the recursive binary splitting we start by selecting the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) +

    $$ \left\{X\vert x_j < s\right\}, $$ -and +

    and

    $$ \left\{X\vert x_j \geq s\right\}, $$ -so that we obtain the lowest MSE, that is +

    so that we obtain the lowest MSE, that is

    $$ \sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, $$ -

    -which we want to minimize by considering all predictors +

    which we want to minimize by considering all predictors \( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for each predictor. These values could be determined by randomly assigned numbers or by starting at the midpoint and then proceed till we find an optimal value. +

    -

    -For any \( j \) and \( s \), we define the pair of half-planes where +

    For any \( j \) and \( s \), we define the pair of half-planes where \( \overline{y}_{R_1} \) is the mean response for the training observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean response for the training observations in \( R_2(j,s) \). +

    -

    -Finding the values of \( j \) and \( s \) that minimize the above equation can be +

    Finding the values of \( j \) and \( s \) that minimize the above equation can be done quite quickly, especially when the number of features \( p \) is not too large. +

    -

    -Next, we repeat the process, looking +

    Next, we repeat the process, looking for the best predictor and best cutpoint in order to split the data further so as to minimize the MSE within each of the resulting regions. However, this time, instead of splitting the entire predictor @@ -586,95 +660,83 @@ have three regions. Again, we look to split one of these three regions further, so as to minimize the MSE. The process continues until a stopping criterion is reached; for instance, we may continue until no region contains more than five observations. +

    -

    +

    Pruning the tree

    -

    Pruning the tree

    - -

    -The above procedure is rather straightforward, but leads often to +

    The above procedure is rather straightforward, but leads often to overfitting and unnecessarily large and complicated trees. The basic idea is to grow a large tree \( T_0 \) and then prune it back in order to obtain a subtree. A smaller tree with fewer splits (fewer regions) can lead to smaller variance and better interpretation at the cost of a little more bias. +

    -

    -The so-called Cost complexity pruning algorithm gives us a +

    The so-called Cost complexity pruning algorithm gives us a way to do just this. Rather than considering every possible subtree, we consider a sequence of trees indexed by a nonnegative tuning parameter \( \alpha \). +

    -

    -Read more at the following Scikit-Learn link on pruning. +

    Read more at the following Scikit-Learn link on pruning.

    -











    +

    Cost complexity pruning

    -

    Cost complexity pruning

    - -

    -For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that +

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    $$ \sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, $$ -is as small as possible. Here \( \overline{T} \) is +

    is as small as possible. Here \( \overline{T} \) is the number of terminal nodes of the tree \( T \) , \( R_m \) is the rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. +

    -

    -The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s complexity and its fit to the training data. When \( \alpha = 0 \), then the subtree \( T \) will simply equal \( T_0 \), because then the above equation just measures the training error. However, as \( \alpha \) increases, there is a price to pay for having a tree with many terminal nodes. The above equation will -tend to be minimized for a smaller subtree. +tend to be minimized for a smaller subtree. +

    -

    -It turns out that as we increase \( \alpha \) from zero +

    It turns out that as we increase \( \alpha \) from zero branches get pruned from the tree in a nested and predictable fashion, so obtaining the whole sequence of subtrees as a function of \( \alpha \) is easy. We can select a value of \( \alpha \) using a validation set or using cross-validation. We then return to the full data set and obtain the -subtree corresponding to \( \alpha \). +subtree corresponding to \( \alpha \). +

    -











    +

    Schematic Regression Procedure

    -

    Schematic Regression Procedure

    - -

    -Building a Regression Tree. +Building a Regression Tree

    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    3. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    4. -
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      -
    5. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    -











    +

    A Classification Tree

    -

    A Classification Tree

    - -

    -A classification tree is very similar to a regression tree, except +

    A classification tree is very similar to a regression tree, except that it is used to predict a qualitative response rather than a quantitative one. Recall that for a regression tree, the predicted response for an observation is given by the mean response of the @@ -685,15 +747,13 @@ in the region to which it belongs. In interpreting the results of a classification tree, we are often interested not only in the class prediction corresponding to a particular terminal node region, but also in the class proportions among the training observations that -fall into that region. +fall into that region. +

    -











    +

    Growing a classification tree

    -

    Growing a classification tree

    - -

    -The task of growing a +

    The task of growing a classification tree is quite similar to the task of growing a regression tree. Just as in the regression setting, we use recursive binary splitting to grow a classification tree. However, in the @@ -703,124 +763,105 @@ error rate. Since we plan to assign an observation in a given region to the most commonly occurring error rate class of training observations in that region, the classification error rate is simply the fraction of the training observations in that region that do not -belong to the most common class. +belong to the most common class. +

    -

    -When building a classification tree, either the Gini index or the +

    When building a classification tree, either the Gini index or the entropy are typically used to evaluate the quality of a particular split, since these two approaches are more sensitive to node purity -than is the classification error rate. +than is the classification error rate. +

    -











    +

    Classification tree, how to split nodes

    -

    Classification tree, how to split nodes

    - -

    -If our targets are the outcome of a classification process that takes +

    If our targets are the outcome of a classification process that takes for example \( k=1,2,\dots,K \) values, the only thing we need to think of is to set up the splitting criteria for each node. +

    -

    -We define a PDF \( p_{mk} \) that represents the number of observations of +

    We define a PDF \( p_{mk} \) that represents the number of observations of a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent this likelihood function in terms of the proportion \( I(y_i=k) \) of observations of this class in the region \( R_m \) as +

    $$ p_{mk} = \frac{1}{N_m}\sum_{i\in R_m}I(y_i=k). $$ -

    -We let \( p_{mk} \) represent the majority class of observations in region +

    We let \( p_{mk} \) represent the majority class of observations in region \( m \). The three most common ways of splitting a node are given by +

    • Misclassification error
    - $$ \frac{1}{N_m}\sum_{i\in R_m}I(y_i\ne k) = 1-p_{mk}. $$ -
    • Gini index \( g \)
    - $$ g = \sum_{k\ne k'} p_{mk}p_{mk'}=\sum_{k=1}^K p_{mk}(1-p_{mk}). $$ -
    • Information entropy or just entropy \( s \)
    - $$ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. $$ -

    +









    +

    Gini Index (or Coefficient or Impurity)

    -

    Gini Index (or Coefficient or Impurity)

    - -

    -The Gini index \( g \) gives us the degree of probability of a specific +

    The Gini index \( g \) gives us the degree of probability of a specific variable that is wrongly classified. +

    -

    -It takes values \( g \in [0,1] \), - +

    It takes values \( g \in [0,1] \),

    1. \( g=0 \) means a pure case where all elements belong to one class only.
    2. A value \( g=1 \) means that all elements are randomly distributed across various classes.
    3. A value \( g=0.5 \) means that the elements in a node are uniformly distributed across classes.
    +

    It favors binary splitting.

    -It favors binary splitting. - -











    +

    Why binary splits?

    -

    Why binary splits?

    - -

    -It is custom to split to a tree uising binary splits. The reason is +

    It is custom to split to a tree uising binary splits. The reason is that multiway splits fragment the data too quickly, leaving insufficient data at the next level down. Multiway splits can be achieved by a series of binary split and this is normally preferred. +

    -











    +

    Computing a Tree using the Gini Index

    -

    Computing a Tree using the Gini Index

    - -

    -Consider the following example with attributes/features and two +

    Consider the following example with attributes/features and two possible outcomes (classes) for each attribute. Assume we wish to find some correlations between the average grade of a student as function of the number of hours studied and hours slept. We want also to correlate the grade in a given course with the general trend, whether the students recently has gotten grades below average or above. +

    -

    -We have three features/attributes - +

    We have three features/attributes

    1. Trend of average grades before present course, classified as either below or above the average grade of the whole class
    2. The number of hours studies, classified again as either higher (more than 3 hours per day) or lower . Here we have used a standard for one \( ECTS \) which is scaled to 25-30 hours of work for a semester which lasts 18 weeks, with 15 weeks of lectures and 3 weeks for exams, assuming a total of 30 ECTS per semester.
    3. The number of hours slept as high for more than \( 8 \) hours and below for less than 8 hours of sleep, classified again as either high or low
    4. The final grade whether it is above or below average
    -









    +

    The Table

    -

    The Table

    - -

    - +
    @@ -837,61 +878,54 @@ We have three features/attributes
    Grade Trend Hours slept Hours Studied Grade
    Above High High Above
    -

    +









    +

    Computing the various Gini Indices

    -

    Computing the various Gini Indices

    - -

    -In computations we will translate all classes into numbers. Being +

    In computations we will translate all classes into numbers. Being these binary classes, they can easily be split into ones and zeros. +

    -

    -Gini index for Average trend. +Gini index for Average trend

    -See handwritten notes for Thursday November 11 +

    See handwritten notes for Thursday November 11

    -











    +

    Computing the various Gini Indices, Hours slept

    -

    Computing the various Gini Indices, Hours slept

    - -

    -Gini index for hour slept. +Gini index for hour slept

    -See handwritten notes for Thursday November 11 +

    See handwritten notes for Thursday November 11

    -











    +

    Computing the various Gini Indices, Hours studied

    -

    Computing the various Gini Indices, Hours studied

    - -

    -Gini index for hour studied. +Gini index for hour studied

    -See handwritten notes for Thursday November 11 +

    See handwritten notes for Thursday November 11

    -

    -For final tree, see the above handwritten notes +

    For final tree, see the above handwritten notes

    -











    +

    A possible code using Scikit-Learn

    -

    A possible code using Scikit-Learn

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -958,15 +992,32 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/grade.dot -o DataFiles/grades.png'
     os.system(cmd)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Visualizing Trees, More examples

    -

    + +









    +

    Visualizing Trees, More examples

    -
    import os
    +
    +
    +
    +
    +
    +
    import os
     from sklearn.datasets import load_breast_cancer
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.model_selection import train_test_split
    @@ -999,15 +1050,32 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Visualizing the Tree, The Moons

    -

    + +









    +

    Visualizing the Tree, The Moons

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.tree import DecisionTreeClassifier
    @@ -1031,39 +1099,72 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
     os.system(cmd)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Other ways of visualizing the trees

    -

    Other ways of visualizing the trees

    +

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    -

    -Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data. - -

    -

    from sklearn.datasets import load_iris
    +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
     from sklearn import tree
     X, y = load_iris(return_X_y=True)
     tree_clf = tree.DecisionTreeClassifier()
     tree_clf = tree_clf.fit(X, y)
     # and then plot the tree
     tree.plot_tree(tree_clf) 
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Printing out as text

    -

    Printing out as text

    - -

    -Alternatively, the tree can also be exported in textual format with the function exporttext. +

    Alternatively, the tree can also be exported in textual format with the function exporttext. This method doesn’t require the installation of external libraries and is more compact: +

    -

    -

    from sklearn.datasets import load_iris
    +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.tree import export_text
     iris = load_iris()
    @@ -1071,87 +1172,92 @@ decision_tree = DecisionTreeClassifier(random_state='feature_names'])
     print(r)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Algorithms for Setting up Decision Trees

    -

    Algorithms for Setting up Decision Trees

    - -

    -Two algorithms stand out in the set up of decision trees: - +

    Two algorithms stand out in the set up of decision trees:

    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. The ID3 algorithm based on the computation of the information gain for classification
    - -We discuss both algorithms with applications here. The popular library +

    We discuss both algorithms with applications here. The popular library Scikit-Learn uses the CART algorithm. For classification problems you can use either the gini index or the entropy to split a tree in two branches. +

    -











    +

    The CART algorithm for Classification

    -

    The CART algorithm for Classification

    - -

    -For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). This could be for example a threshold set by a number below a certain circumference of a malign tumor. +

    -

    -How do we find these two quantities? +

    How do we find these two quantities? We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). The cost function it tries to minimize is then +

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, $$ -where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) +

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) is the number of instances in the left/right subset +

    -

    -Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the \( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), \( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). +

    -











    +

    The CART algorithm for Regression

    -

    The CART algorithm for Regression

    - -

    -The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now +

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. $$ -Here the MSE for a specific node is defined as +

    Here the MSE for a specific node is defined as

    $$ \mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, $$ -with +

    with

    $$ \overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, $$ -the mean value of all observations in a specific node. +

    the mean value of all observations in a specific node.

    -

    -Without any regularization, the regression task for decision trees, +

    Without any regularization, the regression task for decision trees, just like for classification tasks, is prone to overfitting. +

    -











    +

    Computing the Gini index

    -

    Computing the Gini index

    - -

    -The example we will look at is a classical one in many Machine +

    The example we will look at is a classical one in many Machine Learning applications. Based on various meteorological features, we have several so-called attributes which decide whether we at the end will do some outdoor activity like skiing, going for a bike ride etc @@ -1161,10 +1267,10 @@ etc. The table here contains the feautures outlook, temperature, attributes for each feature are then sunny, overcast and rain for the outlook, hot, cold and mild for temperature, high and normal for humidity and weak and strong for wind. +

    -

    -The table here summarizes the various attributes and - +

    The table here summarizes the various attributes and

    +
    @@ -1185,15 +1291,18 @@ The table here summarizes the various attributes and
    Day Outlook Temperature Humidity Wind Ride
    14 Rain Mild High Strong 0
    -

    +









    +

    Simple Python Code to read in Data and perform Classification

    -

    Simple Python Code to read in Data and perform Classification

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -1260,25 +1369,41 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Computing the Gini Factor

    -

    Computing the Gini Factor

    - -

    -The above functions (gini, entropy and misclassification error) are +

    The above functions (gini, entropy and misclassification error) are important components of the so-called CART algorithm. We will discuss this algorithm below after we have discussed the information gain algorithm ID3. +

    -

    -In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc. +

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    -

    -

    # Split a dataset based on an attribute and an attribute value
    +
    +
    +
    +
    +
    +
    # Split a dataset based on an attribute and an attribute value
     def test_split(index, value, dataset):
     	left, right = list(), list()
     	for row in dataset:
    @@ -1338,15 +1463,28 @@ dataset = [[0,0
     
     split = get_split(dataset)
     print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Entropy and the ID3 algorithm

    -

    Entropy and the ID3 algorithm

    - -

    -The ID3 algorithm learns decision trees by constructing +

    The ID3 algorithm learns decision trees by constructing them in a top down way, beginning with the question which attribute should be tested at the root of the tree? +

    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. @@ -1356,33 +1494,34 @@ them in a top down way, beginning with the question which attribute should be
    3. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    4. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    - -The ID3 algorithm selects which attribute to test at each node in the +

    The ID3 algorithm selects which attribute to test at each node in the tree. +

    -

    -We would like to select the attribute that is most useful for classifying +

    We would like to select the attribute that is most useful for classifying examples. +

    -

    -What is a good quantitative measure of the worth of an attribute? +

    What is a good quantitative measure of the worth of an attribute?

    -

    -Information gain measures how well a given attribute separates the +

    Information gain measures how well a given attribute separates the training examples according to their target classification. +

    -

    -The ID3 algorithm uses this information gain measure to select among the candidate +

    The ID3 algorithm uses this information gain measure to select among the candidate attributes at each step while growing the tree. +

    -











    - -

    Cancer Data again now with Decision Trees and other Methods

    -

    +

    Cancer Data again now with Decision Trees and other Methods

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1423,15 +1562,32 @@ svm.fit(X_train_scaled, y_train)
     # Decision Trees
     deep_tree_clf.fit(X_train_scaled, y_train)
     print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Another example, the moons again

    -

    + +









    +

    Another example, the moons again

    -
    from __future__ import division, print_function, unicode_literals
    +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
     
     # Common imports
     import numpy as np
    @@ -1495,15 +1651,32 @@ plt.subplot(122)
     plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
     plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Playing around with regions

    -

    + +









    +

    Playing around with regions

    -
    np.random.seed(6)
    +
    +
    +
    +
    +
    +
    np.random.seed(6)
     Xs = np.random.rand(100, 2) - 0.5
     ys = (Xs[:, 0] > 0).astype(np.float32) * 2
     
    @@ -1523,37 +1696,86 @@ plt.subplot(122)
     plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
     
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Regression trees

    -

    + +









    +

    Regression trees

    -
    # Quadratic training set + noise
    +
    +
    +
    +
    +
    +
    # Quadratic training set + noise
     np.random.seed(42)
     m = 200
     X = np.random.rand(m, 1)
     y = 4 * (X - 0.5) ** 2
     y = y + np.random.randn(m, 1) / 10
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
     tree_reg.fit(X, y)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Final regressor code

    -

    + +









    +

    Final regressor code

    -
    from sklearn.tree import DecisionTreeRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
     tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    @@ -1591,11 +1813,26 @@ plt.text(0.3, 0
     plt.title("max_depth=3", fontsize=14)
     
     plt.show()
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +
    +
    +
    +
    +
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
     tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
     tree_reg1.fit(X, y)
     tree_reg2.fit(X, y)
    @@ -1623,11 +1860,24 @@ plt.xlabel("$x_1$", fontsize="min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
     
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Pros and cons of trees, pros

    + +









    +

    Pros and cons of trees, pros

    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • @@ -1638,10 +1888,8 @@ plt.show()
    • Can model interactions between the different descriptive features
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    -









    - -

    Disadvantages

    +

    Disadvantages

    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • @@ -1652,28 +1900,26 @@ plt.show()
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    - -However, by aggregating many decision trees, using methods like +

    However, by aggregating many decision trees, using methods like bagging, random forests, and boosting, the predictive performance of trees can be substantially improved. +

    -











    +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    -

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    - -

    -As stated above and seen in many of the examples discussed here about +

    As stated above and seen in many of the examples discussed here about a single decision tree, we often end up overfitting our training data. This normally means that we have a high variance. Can we reduce the variance of a statistical learning method? +

    -

    -This leads us to a set of different methods that can combine different +

    This leads us to a set of different methods that can combine different machine learning algorithms or just use one of them to construct forests and jungles of trees, homogeneous ones or heterogenous ones. These methods are recognized by different names which we will try to explain here. These are +

    1. Voting classifiers
    2. @@ -1681,50 +1927,45 @@ try to explain here. These are
    3. Random forests
    4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    +

    We discuss these methods here.

    -We discuss these methods here. - -











    +

    An Overview of Ensemble Methods

    -

    An Overview of Ensemble Methods

    +

    +
    +

    +
    +

    -

    -



    - -











    +

    Bagging

    -

    Bagging

    - -

    -The plain decision trees suffer from high +

    The plain decision trees suffer from high variance. This means that if we split the training data into two parts at random, and fit a decision tree to both halves, the results that we get could be quite different. In contrast, a procedure with low variance will yield similar results if applied repeatedly to distinct data sets; linear regression tends to have low variance, if the ratio -of \( n \) to \( p \) is moderately large. +of \( n \) to \( p \) is moderately large. +

    -

    -Bootstrap aggregation, or just bagging, is a +

    Bootstrap aggregation, or just bagging, is a general-purpose procedure for reducing the variance of a statistical -learning method. +learning method. +

    -











    +

    More bagging

    -

    More bagging

    - -

    -Bagging typically results in improved accuracy +

    Bagging typically results in improved accuracy over prediction using a single tree. Unfortunately, however, it can be difficult to interpret the resulting model. Recall that one of the advantages of decision trees is the attractive and easily interpreted diagram that results. +

    -

    -However, when we bag a large number of trees, it is no longer +

    However, when we bag a large number of trees, it is no longer possible to represent the resulting statistical learning procedure using a single tree, and it is no longer clear which variables are most important to the procedure. Thus, bagging improves prediction @@ -1739,19 +1980,22 @@ trees. A large value indicates an important predictor. Similarly, in the context of bagging classification trees, we can add up the total amount that the Gini index is decreased by splits over a given predictor, averaged over all \( B \) trees. +

    -











    +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    - -

    -Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    +

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.pipeline import make_pipeline
    @@ -1802,69 +2046,81 @@ plt.plot(polydegree, variance, label='Variance&
     plt.legend()
     save_fig("baggingboot")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Why Voting?

    -

    Why Voting?

    - -

    -The idea behind boosting, and voting as well can be phrased as follows: +

    The idea behind boosting, and voting as well can be phrased as follows: Can a group of people somehow arrive at highly reasoned decisions, despite the weak judgement of the individual members? +

    -

    -The aim is to create a good classifier by combining several weak classifiers. +

    The aim is to create a good classifier by combining several weak classifiers. A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random. +

    -

    -The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. +

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in -each iteration. +each iteration. +

    -

    -Decision trees play an important role as our weak classifier. They serve as the basic method. +

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    -











    +

    Tossing coins

    -

    Tossing coins

    - -

    -The simplest case is a so-called voting ensemble. To illustrate this, +

    The simplest case is a so-called voting ensemble. To illustrate this, think of yourself tossing coins with a biased outcome of 51 per cent for heads and 49% for tails. With only few tosses, you may not clearly see this distribution for heads and tails. However, after some thousands of tosses, there will be a clear majority of heads. With 2000 tosses you should see approximately 1020 heads and 980 tails. +

    -

    -We can then state that the outcome is a clear majority of heads. If +

    We can then state that the outcome is a clear majority of heads. If you do this ten thousand times, it is easy to see that there is a 97% likelihood of a majority of heads. +

    -

    -Another example would be to collect all polls before an +

    Another example would be to collect all polls before an election. Different polls may show different likelihoods for a candidate winning with say a majority of the popular vote. The majority vote would then consist in many polls indicating that this candidate will actually win. +

    -

    -The example here shows how we can implement the coin tossing case, +

    The example here shows how we can implement the coin tossing case, clealry demostrating that after some tosses we see the law of large numbers kicking in. +

    -











    +

    Standard imports first

    -

    Standard imports first

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -1901,15 +2157,32 @@ DATA_ID = "DataFiles/"
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Simple Voting Example, head or tail

    -

    + +









    +

    Simple Voting Example, head or tail

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -1931,18 +2204,34 @@ plt.legend(loc="lower right")
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Using the Voting Classifier

    -

    Using the Voting Classifier

    - -

    -We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn. -

    +

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    -
    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -1984,16 +2273,33 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Voting and Bagging

    -

    Voting and Bagging

    - -

    -

    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -2011,21 +2317,51 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='hard')
     voting_clf.fit(X_train, y_train)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.metrics import accuracy_score
    +
    +
    +
    +
    +
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    log_clf = LogisticRegression(random_state=42)
    +
    +
    +
    +
    +
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -2033,49 +2369,76 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.metrics import accuracy_score
    +
    +
    +
    +
    +
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Random forests

    -

    Random forests

    +

    Random forests provide an improvement over bagged trees by way of a +small tweak that decorrelates the trees. +

    -

    -Random forests provide an improvement over bagged trees by way of a -small tweak that decorrelates the trees. - -

    -As in bagging, we build a +

    As in bagging, we build a number of decision trees on bootstrapped training samples. But when building these decision trees, each time a split in a tree is considered, a random sample of \( m \) predictors is chosen as split candidates from the full set of \( p \) predictors. The split is allowed to -use only one of those \( m \) predictors. +use only one of those \( m \) predictors. +

    -

    -A fresh sample of \( m \) predictors is +

    A fresh sample of \( m \) predictors is taken at each split, and typically we choose +

    $$ m\approx \sqrt{p}. $$ -

    -In building a random forest, at +

    In building a random forest, at each split in the tree, the algorithm is not even allowed to consider -a majority of the available predictors. +a majority of the available predictors. +

    -

    -The reason for this is rather clever. Suppose that there is one very +

    The reason for this is rather clever. Suppose that there is one very strong predictor in the data set, along with a number of other moderately strong predictors. Then in the collection of bagged variable importance random forest trees, most or all of the trees will @@ -2087,41 +2450,36 @@ lead to as large of a reduction in variance as averaging many uncorrelated quantities. In particular, this means that bagging will not lead to a substantial reduction in variance over a single tree in this setting. +

    -











    +

    Random Forest Algorithm

    +

    The algorithm described here can be applied to both classification and regression problems.

    -

    Random Forest Algorithm

    -The algorithm described here can be applied to both classification and regression problems. - -

    -We will grow of forest of say \( B \) trees. - +

    We will grow of forest of say \( B \) trees.

    1. For \( b=1:B \)
    2. -
      • Draw a bootstrap sample from the training data organized in our \( \boldsymbol{X} \) matrix.
      • We grow then a random forest tree \( T_b \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • -
        1. we select \( m \le p \) variables at random from the \( p \) predictors/features
        2. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        -
      -
    3. Output then the ensemble of trees \( \{T_b\}_1^{B} \) and make predictions for either a regression type of problem or a classification type of problem.
    -









    - -

    Random Forests Compared with other Methods on the Cancer Data

    -

    +

    Random Forests Compared with other Methods on the Cancer Data

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2187,362 +2545,374 @@ skplt.metrics.plot_roc(y_test, y_probas)
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    -Recall that the cumulative gains curve shows the percentage of the +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Recall that the cumulative gains curve shows the percentage of the overall number of cases in a given category gained by targeting a percentage of the total number of cases. +

    -

    -Similarly, the receiver operating characteristic curve, or ROC curve, +

    Similarly, the receiver operating characteristic curve, or ROC curve, displays the diagnostic ability of a binary classifier system as its discrimination threshold is varied. It plots the true positive rate against the false positive rate. +

    -











    - -

    Compare Bagging on Trees with Random Forests

    -

    +

    Compare Bagging on Trees with Random Forests

    -
    bag_clf = BaggingClassifier(
    +
    +
    +
    +
    +
    +
    bag_clf = BaggingClassifier(
         DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
         n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    bag_clf.fit(X_train, y_train)
    +
    +
    +
    +
    +
    +
    bag_clf.fit(X_train, y_train)
     y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
     rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
     rnd_clf.fit(X_train, y_train)
     y_pred_rf = rnd_clf.predict(X_test)
     np.sum(y_pred == y_pred_rf) / len(y_pred) 
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Boosting, a Bird's Eye View

    -

    Boosting, a Bird's Eye View

    - -

    -The basic idea is to combine weak classifiers in order to create a good +

    The basic idea is to combine weak classifiers in order to create a good classifier. With a weak classifier we often intend a classifier which produces results which are only slightly better than we would get by random guesses. +

    -

    -This is done by applying in an iterative way a weak (or a standard +

    This is done by applying in an iterative way a weak (or a standard classifier like decision trees) to modify the data. In each iteration we emphasize those observations which are misclassified by weighting them with a factor. +

    -











    +

    What is boosting? Additive Modelling/Iterative Fitting

    -

    What is boosting? Additive Modelling/Iterative Fitting

    - -

    -Boosting is a way of fitting an additive expansion in a set of +

    Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function +

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    -where \( \beta_m \) are the expansion parameters to be determined in a +

    where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). +

    -

    -As an example, consider the Sigmoid function we used in logistic +

    As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function +

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    -where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. +

    -

    -As another example, consider the cost function we defined for linear regression +

    As another example, consider the cost function we defined for linear regression

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -In this case the function \( f(x) \) was replaced by the design matrix +

    In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by +

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    -











    +

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    Iterative Fitting, Regression and Squared-error Cost Function

    - -

    -The way we proceed is as follows (here we specialize to the squared-error cost function) +

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) -
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      -
    - -We could use any of the algorithms we have discussed till now. If we +

    We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. +

    -











    +

    Squared-Error Example and Iterative Fitting

    -

    Squared-Error Example and Iterative Fitting

    +

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    -

    -To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. +

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    -

    -For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). - -

    -This means that for every iteration \( m \), we need to optimize +

    This means that for every iteration \( m \), we need to optimize

    $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    -We start our iteration by simply setting \( f_0(x)=0 \). +

    We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain +

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -and +

    and

    $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) +

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have +

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    -which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    -

    -The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    -











    +

    Iterative Fitting, Classification and AdaBoost

    -

    Iterative Fitting, Classification and AdaBoost

    - -

    -Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). +

    -

    -The error rate of the training sample is then +

    The error rate of the training sample is then

    $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    -The iterative procedure starts with defining a weak classifier whose +

    The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). +

    -

    -Here we will express our function \( f(x) \) in terms of \( G(x) \). That is +

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -will be a function of +

    will be a function of

    $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ -

    +









    +

    Adaptive Boosting, AdaBoost

    -

    Adaptive Boosting, AdaBoost

    - -

    -In our iterative procedure we define thus +

    In our iterative procedure we define thus

    $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    -The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    -We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    -











    +

    Building up AdaBoost

    -

    Building up AdaBoost

    - -

    -First, for any \( \beta > 0 \), we optimize \( G \) by setting +

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -which is the classifier that minimizes the weighted error rate in predicting \( y \). +

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    -

    -We can do this by rewriting +

    We can do this by rewriting

    $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -which can be rewritten as +

    which can be rewritten as

    $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -which leads to +

    which leads to

    $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -where we have redefined the error as +

    where we have redefined the error as

    $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -which leads to an update of +

    which leads to an update of

    $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -This leads to the new weights +

    This leads to the new weights

    $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ -

    +









    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    - -

    -The algorithm here is rather straightforward. Assume that our weak +

    The algorithm here is rather straightforward. Assume that our weak classifier is a decision tree and we consider a binary set of outputs with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. Our design matrix is given in terms of the feature/predictor vectors \( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1}] \). Finally, we define also a -classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +

    -

    -We have already defined the misclassification error \( \mathrm{err} \) as +

    We have already defined the misclassification error \( \mathrm{err} \) as

    $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -where the function \( I() \) is one if we misclassify and zero if we classify correctly. +

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    -











    +

    Basic Steps of AdaBoost

    -

    Basic Steps of AdaBoost

    - -

    -With the above definitions we are now ready to set up the algorithm for AdaBoost. +

    With the above definitions we are now ready to set up the algorithm for AdaBoost. The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. - +

    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    - $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ -
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. -
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      -
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    - -For the iterations with \( m \le 2 \) the weights are modified +

    For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. +

    -











    +

    AdaBoost Examples

    -

    AdaBoost Examples

    +

    Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here.

    -

    -Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here. - -

    -

    from sklearn.ensemble import AdaBoostClassifier
    +
    +
    +
    +
    +
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -2563,118 +2933,118 @@ skplt.metrics.plot_roc(y_test, y_probas)
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    - -

    -Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. +

    -

    -In order to understand the method, let us illustrate its basics by +

    In order to understand the method, let us illustrate its basics by bringing back the essential steps in linear regression, where our cost function was the least squares function. +

    -











    +

    The Squared-Error again! Steepest Descent

    -

    The Squared-Error again! Steepest Descent

    - -

    -We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize +

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as +

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    -In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as +

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    -With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). +

    -

    -Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have +

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ -

    +









    +

    Steepest Descent Example

    -

    Steepest Descent Example

    - -

    -Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that +

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -We can then proceed and compute +

    We can then proceed and compute

    $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    -











    +

    Gradient Boosting, algorithm

    -

    Gradient Boosting, algorithm

    - -

    -Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. +fitting a weak learner to approximate the negative gradient signal. +

    -

    -Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function +

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function

    $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -The way we proceed in an iterative fashion is to - +

    The way we proceed in an iterative fashion is to

    1. Initialize our estimate \( f_0(x) \).
    2. For \( m=1:M \), we -
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at \( f(x) = f_{m-1}(x) \);
      2. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      3. update the estimate \( f_m(x) = f_{m-1}(x)+h_m(u_m,x) \);
      -
    3. The final estimate is then \( f_M(x) = \sum_{m=1}^M h_m(u_m,x) \).
    -









    - -

    Gradient Boosting, Examples of Regression

    -

    +

    Gradient Boosting, Examples of Regression

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    -from sklearn.preprocessing import StandardScaler
     import scikitplot as skplt
     from sklearn.metrics import mean_squared_error
     
    @@ -2690,15 +3060,11 @@ bias = np.zeros(maxdegree)
     variance = np.zeros(maxdegree)
     polydegree = np.zeros(maxdegree)
     X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    -scaler = StandardScaler()
    -scaler.fit(X_train)
    -X_train_scaled = scaler.transform(X_train)
    -X_test_scaled = scaler.transform(X_test)
     
     for degree in range(1,maxdegree):
         model = GradientBoostingRegressor(max_depth=degree, n_estimators=100, learning_rate=1.0)  
    -    model.fit(X_train_scaled,y_train)
    -    y_pred = model.predict(X_test_scaled)
    +    model.fit(X_train,y_train)
    +    y_pred = model.predict(X_test)
         polydegree[degree] = degree
         error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
         bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
    @@ -2716,15 +3082,32 @@ plt.plot(polydegree, variance, label='Variance&
     plt.legend()
     save_fig("gdregression")
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Gradient Boosting, Classification Example

    -

    + +









    +

    Gradient Boosting, Classification Example

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2764,41 +3147,54 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost: Extreme Gradient Boosting

    - -

    -XGBoost or Extreme Gradient +

    XGBoost or Extreme Gradient Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many data science problems in a fast and accurate way. See the article by Chen and Guestrin. +

    -

    -The authors design and build a highly scalable end-to-end tree +

    The authors design and build a highly scalable end-to-end tree boosting system. It has a theoretically justified weighted quantile sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. +

    -

    -It is now the algorithm which wins essentially all ML competitions!!! +

    It is now the algorithm which wins essentially all ML competitions!!!

    -











    +

    Regression Case

    -

    Regression Case

    - -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    -from sklearn.preprocessing import StandardScaler
     import scikitplot as skplt
     from sklearn.metrics import mean_squared_error
     
    @@ -2814,16 +3210,12 @@ bias = np.zeros(maxdegree)
     variance = np.zeros(maxdegree)
     polydegree = np.zeros(maxdegree)
     X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    -scaler = StandardScaler()
    -scaler.fit(X_train)
    -X_train_scaled = scaler.transform(X_train)
    -X_test_scaled = scaler.transform(X_test)
     
     for degree in range(maxdegree):
         model =  xgb.XGBRegressor(objective ='reg:squarederror', colsaobjective ='reg:squarederror', colsample_bytree = 0.3, learning_rate = 0.1,max_depth = degree, alpha = 10, n_estimators = 200)
     
    -    model.fit(X_train_scaled,y_train)
    -    y_pred = model.predict(X_test_scaled)
    +    model.fit(X_train,y_train)
    +    y_pred = model.predict(X_test)
         polydegree[degree] = degree
         error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
         bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
    @@ -2840,18 +3232,34 @@ plt.plot(polydegree, bias, label='bias''Variance')
     plt.legend()
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Xgboost on the Cancer Data

    -

    Xgboost on the Cancer Data

    - -

    -As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. -

    +

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2902,18 +3310,26 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + - -
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week45/html/week45.html b/doc/pub/week45/html/week45.html index 000c3c589..758340b6d 100644 --- a/doc/pub/week45/html/week45.html +++ b/doc/pub/week45/html/week45.html @@ -1,36 +1,105 @@ - + - Week 45: Decisions Trees, Random Forests, Bagging and Boosting - - - - @@ -227,49 +391,41 @@ MathJax.Hub.Config({ - - +
    +

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    +
    - - -

    Week 45: Decisions Trees, Random Forests, Bagging and Boosting

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 12, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Nov 11, 2021

    -
    -











    - -

    Overview of week 45

    +

    Overview of week 45

    • Thursday: Basics of Decision Trees, Bagging and Voting
    • - -
    • Friday: More on Bagging, Voting, Random Forests and start Boosting
    -
    -Videos. +Videos

    -

    1. Video on Decision trees
    2. Video on boosting methods by Hastie.
    3. @@ -277,98 +433,83 @@ MathJax.Hub.Config({
    -

    -Reading. +Reading

    -

    1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from STK-IN4300, lecture 7. Chapter 9.2 of Hastie et al contains also a good discussion.
    -











    +

    Decision trees, overarching aims

    -

    Decision trees, overarching aims

    - -

    -We start here with the most basic algorithm, the so-called decision +

    We start here with the most basic algorithm, the so-called decision tree. With this basic algorithm we can in turn build more complex networks, spanning from homogeneous and heterogenous forests (bagging, random forests and more) to one of the most popular supervised algorithms nowadays, the extreme gradient boosting, or just XGBoost. But let us start with the simplest possible ingredient. +

    -

    -Decision trees are supervised learning algorithms used for both, +

    Decision trees are supervised learning algorithms used for both, classification and regression tasks. +

    -

    -The main idea of decision trees +

    The main idea of decision trees is to find those descriptive features which contain the most information regarding the target feature and then split the dataset along the values of these features such that the target feature values for the resulting underlying datasets are as pure as possible. +

    -

    -The descriptive features which reproduce best the target/output features are normally said +

    The descriptive features which reproduce best the target/output features are normally said to be the most informative ones. The process of finding the most informative feature is done until we accomplish a stopping criteria -where we then finally end up in so called leaf nodes. +where we then finally end up in so called leaf nodes. +

    -











    +

    Basics of a tree

    -

    Basics of a tree

    - -

    -A decision tree is typically divided into a root node, the interior nodes, +

    A decision tree is typically divided into a root node, the interior nodes, and the final leaf nodes or just leaves. These entities are then connected by so-called branches. +

    -

    -The leaf nodes +

    The leaf nodes contain the predictions we will make for new query instances presented to our trained model. This is possible since the model has learned the underlying structure of the training data and hence can, given some assumptions, make predictions about the target feature value (class) of unseen query instances. +

    -











    +

    A Sketch of a Tree, Regression problem

    -

    A Sketch of a Tree, Regression problem

    - -

    -











    +

    A Sketch of a Tree, Classification problem

    -

    A Sketch of a Tree, Classification problem

    - -

    -











    +

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    -

    A typical Decision Tree with its pertinent Jargon, Classification Problem

    +

    +
    +

    +
    +

    -

    -



    +

    This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches.

    -

    -This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using Scikit-Learn's decision tree classifier. Here we have used the so-called gini index (see below) to split the various branches. - -











    +

    General Features

    -

    General Features

    - -

    -The overarching approach to decision trees is a top-down approach. +

    The overarching approach to decision trees is a top-down approach.

    • A leaf provides the classification of a given instance.
    • @@ -376,18 +517,16 @@ The overarching approach to decision trees is a top-down approach.
    • A branch corresponds to a possible values of an attribute.
    • An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.
    - -This process is then repeated for the subtree rooted at the new +

    This process is then repeated for the subtree rooted at the new node. +

    -











    +

    How do we set it up?

    -

    How do we set it up?

    - -

    -In simplified terms, the process of training a decision tree and +

    In simplified terms, the process of training a decision tree and predicting the target features of query instances is as follows: +

    1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature
    2. @@ -395,17 +534,18 @@ predicting the target features of query instances is as follows:
    3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the predictions we want to make for new query instances
    4. Show query instances to the tree and run down the tree until we arrive at leaf nodes
    +

    Then we are essentially done!

    -Then we are essentially done! - -











    - -

    Decision trees and Regression

    -

    +

    Decision trees and Regression

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.preprocessing import PolynomialFeatures
     from sklearn.linear_model import LinearRegression
    @@ -493,96 +633,102 @@ plt.ylabel(&quo
     plt.title("Decision Tree Regression")
     plt.legend()
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Building a tree, regression

    -

    Building a tree, regression

    - -

    -There are mainly two steps - +

    There are mainly two steps

    1. We split the predictor space (the set of possible values \( x_1,x_2,\dots, x_p \)) into \( J \) distinct and non-non-overlapping regions, \( R_1,R_2,\dots,R_J \).
    2. For every observation that falls into the region \( R_j \) , we make the same prediction, which is simply the mean of the response values for the training observations in \( R_j \).
    - -How do we construct the regions \( R_1,\dots,R_J \)? In theory, the +

    How do we construct the regions \( R_1,\dots,R_J \)? In theory, the regions could have any shape. However, we choose to divide the predictor space into high-dimensional rectangles, or boxes, for simplicity and for ease of interpretation of the resulting predictive model. The goal is to find boxes \( R_1,\dots,R_J \) that minimize the MSE, given by +

    $$ \sum_{j=1}^J\sum_{i\in R_j}(y_i-\overline{y}_{R_j})^2, $$ -

    -where \( \overline{y}_{R_j} \) is the mean response for the training observations -within box \( j \). +

    where \( \overline{y}_{R_j} \) is the mean response for the training observations +within box \( j \). +

    -











    +

    A top-down approach, recursive binary splitting

    -

    A top-down approach, recursive binary splitting

    - -

    -Unfortunately, it is computationally infeasible to consider every +

    Unfortunately, it is computationally infeasible to consider every possible partition of the feature space into \( J \) boxes. The common strategy is to take a top-down approach +

    -

    -The approach is top-down because it begins at the top of the tree (all +

    The approach is top-down because it begins at the top of the tree (all observations belong to a single region) and then successively splits the predictor space; each split is indicated via two new branches further down on the tree. It is greedy because at each step of the tree-building process, the best split is made at that particular step, rather than looking ahead and picking a split that will lead to a better tree in some future step. +

    -











    +

    Making a tree

    -

    Making a tree

    - -

    -In order to implement the recursive binary splitting we start by selecting +

    In order to implement the recursive binary splitting we start by selecting the predictor \( x_j \) and a cutpoint \( s \) that splits the predictor space into two regions \( R_1 \) and \( R_2 \) +

    $$ \left\{X\vert x_j < s\right\}, $$ -and +

    and

    $$ \left\{X\vert x_j \geq s\right\}, $$ -so that we obtain the lowest MSE, that is +

    so that we obtain the lowest MSE, that is

    $$ \sum_{i:x_i\in R_j}(y_i-\overline{y}_{R_1})^2+\sum_{i:x_i\in R_2}(y_i-\overline{y}_{R_2})^2, $$ -

    -which we want to minimize by considering all predictors +

    which we want to minimize by considering all predictors \( x_1,x_2,\dots,x_p \). We consider also all possible values of \( s \) for each predictor. These values could be determined by randomly assigned numbers or by starting at the midpoint and then proceed till we find an optimal value. +

    -

    -For any \( j \) and \( s \), we define the pair of half-planes where +

    For any \( j \) and \( s \), we define the pair of half-planes where \( \overline{y}_{R_1} \) is the mean response for the training observations in \( R_1(j,s) \), and \( \overline{y}_{R_2} \) is the mean response for the training observations in \( R_2(j,s) \). +

    -

    -Finding the values of \( j \) and \( s \) that minimize the above equation can be +

    Finding the values of \( j \) and \( s \) that minimize the above equation can be done quite quickly, especially when the number of features \( p \) is not too large. +

    -

    -Next, we repeat the process, looking +

    Next, we repeat the process, looking for the best predictor and best cutpoint in order to split the data further so as to minimize the MSE within each of the resulting regions. However, this time, instead of splitting the entire predictor @@ -591,95 +737,83 @@ have three regions. Again, we look to split one of these three regions further, so as to minimize the MSE. The process continues until a stopping criterion is reached; for instance, we may continue until no region contains more than five observations. +

    -

    +

    Pruning the tree

    -

    Pruning the tree

    - -

    -The above procedure is rather straightforward, but leads often to +

    The above procedure is rather straightforward, but leads often to overfitting and unnecessarily large and complicated trees. The basic idea is to grow a large tree \( T_0 \) and then prune it back in order to obtain a subtree. A smaller tree with fewer splits (fewer regions) can lead to smaller variance and better interpretation at the cost of a little more bias. +

    -

    -The so-called Cost complexity pruning algorithm gives us a +

    The so-called Cost complexity pruning algorithm gives us a way to do just this. Rather than considering every possible subtree, we consider a sequence of trees indexed by a nonnegative tuning parameter \( \alpha \). +

    -

    -Read more at the following Scikit-Learn link on pruning. +

    Read more at the following Scikit-Learn link on pruning.

    -











    +

    Cost complexity pruning

    -

    Cost complexity pruning

    - -

    -For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that +

    For each value of \( \alpha \) there corresponds a subtree \( T \in T_0 \) such that

    $$ \sum_{m=1}^{\overline{T}}\sum_{i:x_i\in R_m}(y_i-\overline{y}_{R_m})^2+\alpha\overline{T}, $$ -is as small as possible. Here \( \overline{T} \) is +

    is as small as possible. Here \( \overline{T} \) is the number of terminal nodes of the tree \( T \) , \( R_m \) is the rectangle (i.e. the subset of predictor space) corresponding to the \( m \)-th terminal node. +

    -

    -The tuning parameter \( \alpha \) controls a trade-off between the subtree’s +

    The tuning parameter \( \alpha \) controls a trade-off between the subtree’s complexity and its fit to the training data. When \( \alpha = 0 \), then the subtree \( T \) will simply equal \( T_0 \), because then the above equation just measures the training error. However, as \( \alpha \) increases, there is a price to pay for having a tree with many terminal nodes. The above equation will -tend to be minimized for a smaller subtree. +tend to be minimized for a smaller subtree. +

    -

    -It turns out that as we increase \( \alpha \) from zero +

    It turns out that as we increase \( \alpha \) from zero branches get pruned from the tree in a nested and predictable fashion, so obtaining the whole sequence of subtrees as a function of \( \alpha \) is easy. We can select a value of \( \alpha \) using a validation set or using cross-validation. We then return to the full data set and obtain the -subtree corresponding to \( \alpha \). +subtree corresponding to \( \alpha \). +

    -











    +

    Schematic Regression Procedure

    -

    Schematic Regression Procedure

    - -

    -Building a Regression Tree. +Building a Regression Tree

    1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.
    2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of \( \alpha \).
    3. Use for example \( K \)-fold cross-validation to choose \( \alpha \). Divide the training observations into \( K \) folds. For each \( k=1,2,\dots,K \) we:
    4. -
      • repeat steps 1 and 2 on all but the \( k \)-th fold of the training data.
      • Then we valuate the mean squared prediction error on the data in the left-out \( k \)-th fold, as a function of \( \alpha \).
      • Finally we average the results for each value of \( \alpha \), and pick \( \alpha \) to minimize the average error.
      -
    5. Return the subtree from Step 2 that corresponds to the chosen value of \( \alpha \).
    -











    +

    A Classification Tree

    -

    A Classification Tree

    - -

    -A classification tree is very similar to a regression tree, except +

    A classification tree is very similar to a regression tree, except that it is used to predict a qualitative response rather than a quantitative one. Recall that for a regression tree, the predicted response for an observation is given by the mean response of the @@ -690,15 +824,13 @@ in the region to which it belongs. In interpreting the results of a classification tree, we are often interested not only in the class prediction corresponding to a particular terminal node region, but also in the class proportions among the training observations that -fall into that region. +fall into that region. +

    -











    +

    Growing a classification tree

    -

    Growing a classification tree

    - -

    -The task of growing a +

    The task of growing a classification tree is quite similar to the task of growing a regression tree. Just as in the regression setting, we use recursive binary splitting to grow a classification tree. However, in the @@ -708,124 +840,105 @@ error rate. Since we plan to assign an observation in a given region to the most commonly occurring error rate class of training observations in that region, the classification error rate is simply the fraction of the training observations in that region that do not -belong to the most common class. +belong to the most common class. +

    -

    -When building a classification tree, either the Gini index or the +

    When building a classification tree, either the Gini index or the entropy are typically used to evaluate the quality of a particular split, since these two approaches are more sensitive to node purity -than is the classification error rate. +than is the classification error rate. +

    -











    +

    Classification tree, how to split nodes

    -

    Classification tree, how to split nodes

    - -

    -If our targets are the outcome of a classification process that takes +

    If our targets are the outcome of a classification process that takes for example \( k=1,2,\dots,K \) values, the only thing we need to think of is to set up the splitting criteria for each node. +

    -

    -We define a PDF \( p_{mk} \) that represents the number of observations of +

    We define a PDF \( p_{mk} \) that represents the number of observations of a class \( k \) in a region \( R_m \) with \( N_m \) observations. We represent this likelihood function in terms of the proportion \( I(y_i=k) \) of observations of this class in the region \( R_m \) as +

    $$ p_{mk} = \frac{1}{N_m}\sum_{i\in R_m}I(y_i=k). $$ -

    -We let \( p_{mk} \) represent the majority class of observations in region +

    We let \( p_{mk} \) represent the majority class of observations in region \( m \). The three most common ways of splitting a node are given by +

    • Misclassification error
    - $$ \frac{1}{N_m}\sum_{i\in R_m}I(y_i\ne k) = 1-p_{mk}. $$ -
    • Gini index \( g \)
    - $$ g = \sum_{k\ne k'} p_{mk}p_{mk'}=\sum_{k=1}^K p_{mk}(1-p_{mk}). $$ -
    • Information entropy or just entropy \( s \)
    - $$ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}. $$ -

    +









    +

    Gini Index (or Coefficient or Impurity)

    -

    Gini Index (or Coefficient or Impurity)

    - -

    -The Gini index \( g \) gives us the degree of probability of a specific +

    The Gini index \( g \) gives us the degree of probability of a specific variable that is wrongly classified. +

    -

    -It takes values \( g \in [0,1] \), - +

    It takes values \( g \in [0,1] \),

    1. \( g=0 \) means a pure case where all elements belong to one class only.
    2. A value \( g=1 \) means that all elements are randomly distributed across various classes.
    3. A value \( g=0.5 \) means that the elements in a node are uniformly distributed across classes.
    +

    It favors binary splitting.

    -It favors binary splitting. - -











    +

    Why binary splits?

    -

    Why binary splits?

    - -

    -It is custom to split to a tree uising binary splits. The reason is +

    It is custom to split to a tree uising binary splits. The reason is that multiway splits fragment the data too quickly, leaving insufficient data at the next level down. Multiway splits can be achieved by a series of binary split and this is normally preferred. +

    -











    +

    Computing a Tree using the Gini Index

    -

    Computing a Tree using the Gini Index

    - -

    -Consider the following example with attributes/features and two +

    Consider the following example with attributes/features and two possible outcomes (classes) for each attribute. Assume we wish to find some correlations between the average grade of a student as function of the number of hours studied and hours slept. We want also to correlate the grade in a given course with the general trend, whether the students recently has gotten grades below average or above. +

    -

    -We have three features/attributes - +

    We have three features/attributes

    1. Trend of average grades before present course, classified as either below or above the average grade of the whole class
    2. The number of hours studies, classified again as either higher (more than 3 hours per day) or lower . Here we have used a standard for one \( ECTS \) which is scaled to 25-30 hours of work for a semester which lasts 18 weeks, with 15 weeks of lectures and 3 weeks for exams, assuming a total of 30 ECTS per semester.
    3. The number of hours slept as high for more than \( 8 \) hours and below for less than 8 hours of sleep, classified again as either high or low
    4. The final grade whether it is above or below average
    -









    +

    The Table

    -

    The Table

    - -

    - +
    @@ -842,61 +955,54 @@ We have three features/attributes
    Grade Trend Hours slept Hours Studied Grade
    Above High High Above
    -

    +









    +

    Computing the various Gini Indices

    -

    Computing the various Gini Indices

    - -

    -In computations we will translate all classes into numbers. Being +

    In computations we will translate all classes into numbers. Being these binary classes, they can easily be split into ones and zeros. +

    -

    -Gini index for Average trend. +Gini index for Average trend

    -See handwritten notes for Thursday November 11 +

    See handwritten notes for Thursday November 11

    -











    +

    Computing the various Gini Indices, Hours slept

    -

    Computing the various Gini Indices, Hours slept

    - -

    -Gini index for hour slept. +Gini index for hour slept

    -See handwritten notes for Thursday November 11 +

    See handwritten notes for Thursday November 11

    -











    +

    Computing the various Gini Indices, Hours studied

    -

    Computing the various Gini Indices, Hours studied

    - -

    -Gini index for hour studied. +Gini index for hour studied

    -See handwritten notes for Thursday November 11 +

    See handwritten notes for Thursday November 11

    -

    -For final tree, see the above handwritten notes +

    For final tree, see the above handwritten notes

    -











    +

    A possible code using Scikit-Learn

    -

    A possible code using Scikit-Learn

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -963,15 +1069,32 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/grade.dot -o DataFiles/grades.png'
     os.system(cmd)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Visualizing Trees, More examples

    -

    + +









    +

    Visualizing Trees, More examples

    -
    import os
    +
    +
    +
    +
    +
    +
    import os
     from sklearn.datasets import load_breast_cancer
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.model_selection import train_test_split
    @@ -1004,15 +1127,32 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Visualizing the Tree, The Moons

    -

    + +









    +

    Visualizing the Tree, The Moons

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.tree import DecisionTreeClassifier
    @@ -1036,39 +1176,72 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/moons.dot -o DataFiles/moons.png'
     os.system(cmd)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Other ways of visualizing the trees

    -

    Other ways of visualizing the trees

    +

    Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data.

    -

    -Scikit-Learn has also another way to visualize the trees which is very useful, here with the Iris data. - -

    -

    from sklearn.datasets import load_iris
    +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
     from sklearn import tree
     X, y = load_iris(return_X_y=True)
     tree_clf = tree.DecisionTreeClassifier()
     tree_clf = tree_clf.fit(X, y)
     # and then plot the tree
     tree.plot_tree(tree_clf) 
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Printing out as text

    -

    Printing out as text

    - -

    -Alternatively, the tree can also be exported in textual format with the function exporttext. +

    Alternatively, the tree can also be exported in textual format with the function exporttext. This method doesn’t require the installation of external libraries and is more compact: +

    -

    -

    from sklearn.datasets import load_iris
    +
    +
    +
    +
    +
    +
    from sklearn.datasets import load_iris
     from sklearn.tree import DecisionTreeClassifier
     from sklearn.tree import export_text
     iris = load_iris()
    @@ -1076,87 +1249,92 @@ decision_tree = DecisionTreeClassifier(rando
     decision_tree = decision_tree.fit(iris.data, iris.target)
     r = export_text(decision_tree, feature_names=iris['feature_names'])
     print(r)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Algorithms for Setting up Decision Trees

    -

    Algorithms for Setting up Decision Trees

    - -

    -Two algorithms stand out in the set up of decision trees: - +

    Two algorithms stand out in the set up of decision trees:

    1. The CART (Classification And Regression Tree) algorithm for both classification and regression
    2. The ID3 algorithm based on the computation of the information gain for classification
    - -We discuss both algorithms with applications here. The popular library +

    We discuss both algorithms with applications here. The popular library Scikit-Learn uses the CART algorithm. For classification problems you can use either the gini index or the entropy to split a tree in two branches. +

    -











    +

    The CART algorithm for Classification

    -

    The CART algorithm for Classification

    - -

    -For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). +

    For classification, the CART algorithm splits the data set in two subsets using a single feature \( k \) and a threshold \( t_k \). This could be for example a threshold set by a number below a certain circumference of a malign tumor. +

    -

    -How do we find these two quantities? +

    How do we find these two quantities? We search for the pair \( (k,t_k) \) that produces the purest subset using for example the gini factor \( G \). The cost function it tries to minimize is then +

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}G_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}G_{\mathrm{right}}, $$ -where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) +

    where \( G_{\mathrm{left/right}} \) measures the impurity of the left/right subset and \( m_{\mathrm{left/right}} \) is the number of instances in the left/right subset +

    -

    -Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets +

    Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the \( max\_depth \) hyperparameter), or if it cannot find a split that will reduce impurity. A few other hyperparameters control additional stopping conditions such as the \( min\_samples\_split \), \( min\_samples\_leaf \), \( min\_weight\_fraction\_leaf \), and \( max\_leaf\_nodes \). +

    -











    +

    The CART algorithm for Regression

    -

    The CART algorithm for Regression

    - -

    -The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the +

    The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the training set in a way that minimizes say the gini or entropy impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now +

    $$ C(k,t_k) = \frac{m_{\mathrm{left}}}{m}\mathrm{MSE}_{\mathrm{left}}+ \frac{m_{\mathrm{right}}}{m}\mathrm{MSE}_{\mathrm{right}}. $$ -Here the MSE for a specific node is defined as +

    Here the MSE for a specific node is defined as

    $$ \mathrm{MSE}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}(\overline{y}_{\mathrm{node}}-y_i)^2, $$ -with +

    with

    $$ \overline{y}_{\mathrm{node}}=\frac{1}{m_\mathrm{node}}\sum_{i\in \mathrm{node}}y_i, $$ -the mean value of all observations in a specific node. +

    the mean value of all observations in a specific node.

    -

    -Without any regularization, the regression task for decision trees, +

    Without any regularization, the regression task for decision trees, just like for classification tasks, is prone to overfitting. +

    -











    +

    Computing the Gini index

    -

    Computing the Gini index

    - -

    -The example we will look at is a classical one in many Machine +

    The example we will look at is a classical one in many Machine Learning applications. Based on various meteorological features, we have several so-called attributes which decide whether we at the end will do some outdoor activity like skiing, going for a bike ride etc @@ -1166,10 +1344,10 @@ etc. The table here contains the feautures outlook, temperature, attributes for each feature are then sunny, overcast and rain for the outlook, hot, cold and mild for temperature, high and normal for humidity and weak and strong for wind. +

    -

    -The table here summarizes the various attributes and - +

    The table here summarizes the various attributes and

    +
    @@ -1190,15 +1368,18 @@ The table here summarizes the various attributes and
    Day Outlook Temperature Humidity Wind Ride
    14 Rain Mild High Strong 0
    -

    +









    +

    Simple Python Code to read in Data and perform Classification

    -

    Simple Python Code to read in Data and perform Classification

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -1265,25 +1446,41 @@ export_graphviz(
     )
     cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
     os.system(cmd)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Computing the Gini Factor

    -

    Computing the Gini Factor

    - -

    -The above functions (gini, entropy and misclassification error) are +

    The above functions (gini, entropy and misclassification error) are important components of the so-called CART algorithm. We will discuss this algorithm below after we have discussed the information gain algorithm ID3. +

    -

    -In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc. +

    In the example here we have converted all our attributes into numerical values \( 0,1,2 \) etc.

    -

    -

    # Split a dataset based on an attribute and an attribute value
    +
    +
    +
    +
    +
    +
    # Split a dataset based on an attribute and an attribute value
     def test_split(index, value, dataset):
     	left, right = list(), list()
     	for row in dataset:
    @@ -1343,15 +1540,28 @@ dataset = [[0= get_split(dataset)
     print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Entropy and the ID3 algorithm

    -

    Entropy and the ID3 algorithm

    - -

    -The ID3 algorithm learns decision trees by constructing +

    The ID3 algorithm learns decision trees by constructing them in a top down way, beginning with the question which attribute should be tested at the root of the tree? +

    1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.
    2. @@ -1361,33 +1571,34 @@ them in a top down way, beginning with the question which attribute should be
    3. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.
    4. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices.
    - -The ID3 algorithm selects which attribute to test at each node in the +

    The ID3 algorithm selects which attribute to test at each node in the tree. +

    -

    -We would like to select the attribute that is most useful for classifying +

    We would like to select the attribute that is most useful for classifying examples. +

    -

    -What is a good quantitative measure of the worth of an attribute? +

    What is a good quantitative measure of the worth of an attribute?

    -

    -Information gain measures how well a given attribute separates the +

    Information gain measures how well a given attribute separates the training examples according to their target classification. +

    -

    -The ID3 algorithm uses this information gain measure to select among the candidate +

    The ID3 algorithm uses this information gain measure to select among the candidate attributes at each step while growing the tree. +

    -











    - -

    Cancer Data again now with Decision Trees and other Methods

    -

    +

    Cancer Data again now with Decision Trees and other Methods

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -1428,15 +1639,32 @@ svm.fit(X_train_scaled, y_train)
     # Decision Trees
     deep_tree_clf.fit(X_train_scaled, y_train)
     print("Test set accuracy with Decision Trees and scaled data: {:.2f}".format(deep_tree_clf.score(X_test_scaled,y_test)))
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Another example, the moons again

    -

    + +









    +

    Another example, the moons again

    -
    from __future__ import division, print_function, unicode_literals
    +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
     
     # Common imports
     import numpy as np
    @@ -1500,15 +1728,32 @@ plt.subplot(122
     plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)
     plt.title("min_samples_leaf = {}".format(deep_tree_clf2.min_samples_leaf), fontsize=14)
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Playing around with regions

    -

    + +









    +

    Playing around with regions

    -
    np.random.seed(6)
    +
    +
    +
    +
    +
    +
    np.random.seed(6)
     Xs = np.random.rand(100, 2) - 0.5
     ys = (Xs[:, 0] > 0).astype(np.float32) * 2
     
    @@ -1528,37 +1773,86 @@ plt.subplot(122
     plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)
     
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Regression trees

    -

    + +









    +

    Regression trees

    -
    # Quadratic training set + noise
    +
    +
    +
    +
    +
    +
    # Quadratic training set + noise
     np.random.seed(42)
     m = 200
     X = np.random.rand(m, 1)
     y = 4 * (X - 0.5) ** 2
     y = y + np.random.randn(m, 1) / 10
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.tree import DecisionTreeRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
     tree_reg.fit(X, y)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Final regressor code

    -

    + +









    +

    Final regressor code

    -
    from sklearn.tree import DecisionTreeRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.tree import DecisionTreeRegressor
     
     tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)
     tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)
    @@ -1596,11 +1890,26 @@ plt.text(0.3.title("max_depth=3", fontsize=14)
     
     plt.show()
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    tree_reg1 = DecisionTreeRegressor(random_state=42)
    +
    +
    +
    +
    +
    +
    tree_reg1 = DecisionTreeRegressor(random_state=42)
     tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)
     tree_reg1.fit(X, y)
     tree_reg2.fit(X, y)
    @@ -1628,11 +1937,24 @@ plt.xlabel(&quo
     plt.title("min_samples_leaf={}".format(tree_reg2.min_samples_leaf), fontsize=14)
     
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Pros and cons of trees, pros

    + +









    +

    Pros and cons of trees, pros

    • White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)
    • @@ -1643,10 +1965,8 @@ plt.show()
    • Can model interactions between the different descriptive features
    • Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)
    -









    - -

    Disadvantages

    +

    Disadvantages

    • Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches
    • @@ -1657,28 +1977,26 @@ plt.show()
    • If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data
    • Features with many levels may be preferred over features with less levels since for them it is more easy to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain
    - -However, by aggregating many decision trees, using methods like +

    However, by aggregating many decision trees, using methods like bagging, random forests, and boosting, the predictive performance of trees can be substantially improved. +

    -











    +

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    -

    Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods

    - -

    -As stated above and seen in many of the examples discussed here about +

    As stated above and seen in many of the examples discussed here about a single decision tree, we often end up overfitting our training data. This normally means that we have a high variance. Can we reduce the variance of a statistical learning method? +

    -

    -This leads us to a set of different methods that can combine different +

    This leads us to a set of different methods that can combine different machine learning algorithms or just use one of them to construct forests and jungles of trees, homogeneous ones or heterogenous ones. These methods are recognized by different names which we will try to explain here. These are +

    1. Voting classifiers
    2. @@ -1686,50 +2004,45 @@ try to explain here. These are
    3. Random forests
    4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)
    +

    We discuss these methods here.

    -We discuss these methods here. - -











    +

    An Overview of Ensemble Methods

    -

    An Overview of Ensemble Methods

    +

    +
    +

    +
    +

    -

    -



    - -











    +

    Bagging

    -

    Bagging

    - -

    -The plain decision trees suffer from high +

    The plain decision trees suffer from high variance. This means that if we split the training data into two parts at random, and fit a decision tree to both halves, the results that we get could be quite different. In contrast, a procedure with low variance will yield similar results if applied repeatedly to distinct data sets; linear regression tends to have low variance, if the ratio -of \( n \) to \( p \) is moderately large. +of \( n \) to \( p \) is moderately large. +

    -

    -Bootstrap aggregation, or just bagging, is a +

    Bootstrap aggregation, or just bagging, is a general-purpose procedure for reducing the variance of a statistical -learning method. +learning method. +

    -











    +

    More bagging

    -

    More bagging

    - -

    -Bagging typically results in improved accuracy +

    Bagging typically results in improved accuracy over prediction using a single tree. Unfortunately, however, it can be difficult to interpret the resulting model. Recall that one of the advantages of decision trees is the attractive and easily interpreted diagram that results. +

    -

    -However, when we bag a large number of trees, it is no longer +

    However, when we bag a large number of trees, it is no longer possible to represent the resulting statistical learning procedure using a single tree, and it is no longer clear which variables are most important to the procedure. Thus, bagging improves prediction @@ -1744,19 +2057,22 @@ trees. A large value indicates an important predictor. Similarly, in the context of bagging classification trees, we can add up the total amount that the Gini index is decreased by splits over a given predictor, averaged over all \( B \) trees. +

    -











    +

    Making your own Bootstrap: Changing the Level of the Decision Tree

    -

    Making your own Bootstrap: Changing the Level of the Decision Tree

    - -

    -Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with +

    Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with a decision tree wth different depths and perform a bootstrap aggregate (in this case we perform as many bootstraps as data points \( n \)). -

    +

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.pipeline import make_pipeline
    @@ -1807,69 +2123,81 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("baggingboot")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Why Voting?

    -

    Why Voting?

    - -

    -The idea behind boosting, and voting as well can be phrased as follows: +

    The idea behind boosting, and voting as well can be phrased as follows: Can a group of people somehow arrive at highly reasoned decisions, despite the weak judgement of the individual members? +

    -

    -The aim is to create a good classifier by combining several weak classifiers. +

    The aim is to create a good classifier by combining several weak classifiers. A weak classifier is a classifier which is able to produce results that are only slightly better than guessing at random. +

    -

    -The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. +

    The basic approach is to apply repeatedly (in boosting this is done in an iterative way) a weak classifier to modifications of the data. In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in -each iteration. +each iteration. +

    -

    -Decision trees play an important role as our weak classifier. They serve as the basic method. +

    Decision trees play an important role as our weak classifier. They serve as the basic method.

    -











    +

    Tossing coins

    -

    Tossing coins

    - -

    -The simplest case is a so-called voting ensemble. To illustrate this, +

    The simplest case is a so-called voting ensemble. To illustrate this, think of yourself tossing coins with a biased outcome of 51 per cent for heads and 49% for tails. With only few tosses, you may not clearly see this distribution for heads and tails. However, after some thousands of tosses, there will be a clear majority of heads. With 2000 tosses you should see approximately 1020 heads and 980 tails. +

    -

    -We can then state that the outcome is a clear majority of heads. If +

    We can then state that the outcome is a clear majority of heads. If you do this ten thousand times, it is easy to see that there is a 97% likelihood of a majority of heads. +

    -

    -Another example would be to collect all polls before an +

    Another example would be to collect all polls before an election. Different polls may show different likelihoods for a candidate winning with say a majority of the popular vote. The majority vote would then consist in many polls indicating that this candidate will actually win. +

    -

    -The example here shows how we can implement the coin tossing case, +

    The example here shows how we can implement the coin tossing case, clealry demostrating that after some tosses we see the law of large numbers kicking in. +

    -











    +

    Standard imports first

    -

    Standard imports first

    - -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     from IPython.display import Image 
     from pydot import graph_from_dot_data
     import pandas as pd
    @@ -1906,15 +2234,32 @@ DATA_ID = "
     
     def save_fig(fig_id):
         plt.savefig(image_path(fig_id) + ".png", format='png')
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Simple Voting Example, head or tail

    -

    + +









    +

    Simple Voting Example, head or tail

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import matplotlib
     import matplotlib.pyplot as plt
    @@ -1936,18 +2281,34 @@ plt.legend(loc=
     plt.axis([0, 10000, 0.42, 0.58])
     save_fig("votingsimple")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Using the Voting Classifier

    -

    Using the Voting Classifier

    - -

    -We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn. -

    +

    We can use the voting classifier on other data sets, here the exciting binary case of two distinct objects using the make moons functionality of Scikit-Learn.

    -
    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -1989,16 +2350,33 @@ voting_clf.fit(X_train, y_train)
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Voting and Bagging

    -

    Voting and Bagging

    - -

    -

    from sklearn.model_selection import train_test_split
    +
    +
    +
    +
    +
    +
    from sklearn.model_selection import train_test_split
     from sklearn.datasets import make_moons
     
     X, y = make_moons(n_samples=500, noise=0.30, random_state=42)
    @@ -2016,21 +2394,51 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='hard')
     voting_clf.fit(X_train, y_train)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.metrics import accuracy_score
    +
    +
    +
    +
    +
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    log_clf = LogisticRegression(random_state=42)
    +
    +
    +
    +
    +
    +
    log_clf = LogisticRegression(random_state=42)
     rnd_clf = RandomForestClassifier(random_state=42)
     svm_clf = SVC(probability=True, random_state=42)
     
    @@ -2038,49 +2446,76 @@ voting_clf = VotingClassifier(
         estimators=[('lr', log_clf), ('rf', rnd_clf), ('svc', svm_clf)],
         voting='soft')
     voting_clf.fit(X_train, y_train)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    from sklearn.metrics import accuracy_score
    +
    +
    +
    +
    +
    +
    from sklearn.metrics import accuracy_score
     
     for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
         clf.fit(X_train, y_train)
         y_pred = clf.predict(X_test)
         print(clf.__class__.__name__, accuracy_score(y_test, y_pred))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Random forests

    -

    Random forests

    +

    Random forests provide an improvement over bagged trees by way of a +small tweak that decorrelates the trees. +

    -

    -Random forests provide an improvement over bagged trees by way of a -small tweak that decorrelates the trees. - -

    -As in bagging, we build a +

    As in bagging, we build a number of decision trees on bootstrapped training samples. But when building these decision trees, each time a split in a tree is considered, a random sample of \( m \) predictors is chosen as split candidates from the full set of \( p \) predictors. The split is allowed to -use only one of those \( m \) predictors. +use only one of those \( m \) predictors. +

    -

    -A fresh sample of \( m \) predictors is +

    A fresh sample of \( m \) predictors is taken at each split, and typically we choose +

    $$ m\approx \sqrt{p}. $$ -

    -In building a random forest, at +

    In building a random forest, at each split in the tree, the algorithm is not even allowed to consider -a majority of the available predictors. +a majority of the available predictors. +

    -

    -The reason for this is rather clever. Suppose that there is one very +

    The reason for this is rather clever. Suppose that there is one very strong predictor in the data set, along with a number of other moderately strong predictors. Then in the collection of bagged variable importance random forest trees, most or all of the trees will @@ -2092,41 +2527,36 @@ lead to as large of a reduction in variance as averaging many uncorrelated quantities. In particular, this means that bagging will not lead to a substantial reduction in variance over a single tree in this setting. +

    -











    +

    Random Forest Algorithm

    +

    The algorithm described here can be applied to both classification and regression problems.

    -

    Random Forest Algorithm

    -The algorithm described here can be applied to both classification and regression problems. - -

    -We will grow of forest of say \( B \) trees. - +

    We will grow of forest of say \( B \) trees.

    1. For \( b=1:B \)
    2. -
      • Draw a bootstrap sample from the training data organized in our \( \boldsymbol{X} \) matrix.
      • We grow then a random forest tree \( T_b \) based on the bootstrapped data by repeating the steps outlined till we reach the maximum node size is reached
      • -
        1. we select \( m \le p \) variables at random from the \( p \) predictors/features
        2. pick the best split point among the \( m \) features using for example the CART algorithm and create a new node
        3. split the node into daughter nodes
        -
      -
    3. Output then the ensemble of trees \( \{T_b\}_1^{B} \) and make predictions for either a regression type of problem or a classification type of problem.
    -









    - -

    Random Forests Compared with other Methods on the Cancer Data

    -

    +

    Random Forests Compared with other Methods on the Cancer Data

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2192,362 +2622,374 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    -Recall that the cumulative gains curve shows the percentage of the +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Recall that the cumulative gains curve shows the percentage of the overall number of cases in a given category gained by targeting a percentage of the total number of cases. +

    -

    -Similarly, the receiver operating characteristic curve, or ROC curve, +

    Similarly, the receiver operating characteristic curve, or ROC curve, displays the diagnostic ability of a binary classifier system as its discrimination threshold is varied. It plots the true positive rate against the false positive rate. +

    -











    - -

    Compare Bagging on Trees with Random Forests

    -

    +

    Compare Bagging on Trees with Random Forests

    -
    bag_clf = BaggingClassifier(
    +
    +
    +
    +
    +
    +
    bag_clf = BaggingClassifier(
         DecisionTreeClassifier(splitter="random", max_leaf_nodes=16, random_state=42),
         n_estimators=500, max_samples=1.0, bootstrap=True, n_jobs=-1, random_state=42)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    bag_clf.fit(X_train, y_train)
    +
    +
    +
    +
    +
    +
    bag_clf.fit(X_train, y_train)
     y_pred = bag_clf.predict(X_test)
     from sklearn.ensemble import RandomForestClassifier
     rnd_clf = RandomForestClassifier(n_estimators=500, max_leaf_nodes=16, n_jobs=-1, random_state=42)
     rnd_clf.fit(X_train, y_train)
     y_pred_rf = rnd_clf.predict(X_test)
     np.sum(y_pred == y_pred_rf) / len(y_pred) 
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Boosting, a Bird's Eye View

    -

    Boosting, a Bird's Eye View

    - -

    -The basic idea is to combine weak classifiers in order to create a good +

    The basic idea is to combine weak classifiers in order to create a good classifier. With a weak classifier we often intend a classifier which produces results which are only slightly better than we would get by random guesses. +

    -

    -This is done by applying in an iterative way a weak (or a standard +

    This is done by applying in an iterative way a weak (or a standard classifier like decision trees) to modify the data. In each iteration we emphasize those observations which are misclassified by weighting them with a factor. +

    -











    +

    What is boosting? Additive Modelling/Iterative Fitting

    -

    What is boosting? Additive Modelling/Iterative Fitting

    - -

    -Boosting is a way of fitting an additive expansion in a set of +

    Boosting is a way of fitting an additive expansion in a set of elementary basis functions like for example some simple polynomials. Assume for example that we have a function +

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -

    -where \( \beta_m \) are the expansion parameters to be determined in a +

    where \( \beta_m \) are the expansion parameters to be determined in a minimization process and \( b(x;\gamma_m) \) are some simple functions of the multivariable parameter \( x \) which is characterized by the parameters \( \gamma_m \). +

    -

    -As an example, consider the Sigmoid function we used in logistic +

    As an example, consider the Sigmoid function we used in logistic regression. In that case, we can translate the function \( b(x;\gamma_m) \) into the Sigmoid function +

    $$ \sigma(t) = \frac{1}{1+\exp{(-t)}}, $$ -

    -where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and +

    where \( t=\gamma_0+\gamma_1 x \) and the parameters \( \gamma_0 \) and \( \gamma_1 \) were determined by the Logistic Regression fitting algorithm. +

    -

    -As another example, consider the cost function we defined for linear regression +

    As another example, consider the cost function we defined for linear regression

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -In this case the function \( f(x) \) was replaced by the design matrix +

    In this case the function \( f(x) \) was replaced by the design matrix \( \boldsymbol{X} \) and the unknown linear regression parameters \( \boldsymbol{\beta} \), that is \( \boldsymbol{f}=\boldsymbol{X}\boldsymbol{\beta} \). In linear regression we can simply invert a matrix and obtain the parameters \( \beta \) by +

    $$ \boldsymbol{\beta}=\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \). +

    In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters \( \beta_m \) and \( \gamma_m \).

    -











    +

    Iterative Fitting, Regression and Squared-error Cost Function

    -

    Iterative Fitting, Regression and Squared-error Cost Function

    - -

    -The way we proceed is as follows (here we specialize to the squared-error cost function) +

    The way we proceed is as follows (here we specialize to the squared-error cost function)

    1. Establish a cost function, here \( {\cal C}(\boldsymbol{y},\boldsymbol{f}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-f_M(x_i))^2 \) with \( f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m) \).
    2. Initialize with a guess \( f_0(x) \). It could be one or even zero or some random numbers.
    3. For \( m=1:M \) -
      1. minimize \( \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2 \) wrt \( \gamma \) and \( \beta \)
      2. This gives the optimal values \( \beta_m \) and \( \gamma_m \)
      3. Determine then the new values \( f_m(x)=f_{m-1}(x) +\beta_m b(x;\gamma_m) \)
      -
    - -We could use any of the algorithms we have discussed till now. If we +

    We could use any of the algorithms we have discussed till now. If we use trees, \( \gamma \) parameterizes the split variables and split points at the internal nodes, and the predictions at the terminal nodes. +

    -











    +

    Squared-Error Example and Iterative Fitting

    -

    Squared-Error Example and Iterative Fitting

    +

    To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.

    -

    -To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function. +

    For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \).

    -

    -For simplicity we assume also that our functions \( b(x;\gamma)=1+\gamma x \). - -

    -This means that for every iteration \( m \), we need to optimize +

    This means that for every iteration \( m \), we need to optimize

    $$ (\beta_m,\gamma_m) = \mathrm{argmin}_{\beta,\lambda}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta b(x;\gamma))^2=\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\beta(1+\gamma x_i))^2. $$ -

    -We start our iteration by simply setting \( f_0(x)=0 \). +

    We start our iteration by simply setting \( f_0(x)=0 \). Taking the derivatives with respect to \( \beta \) and \( \gamma \) we obtain +

    $$ \frac{\partial {\cal C}}{\partial \beta} = -2\sum_{i}(1+\gamma x_i)(y_i-\beta(1+\gamma x_i))=0, $$ -and +

    and

    $$ \frac{\partial {\cal C}}{\partial \gamma} =-2\sum_{i}\beta x_i(y_i-\beta(1+\gamma x_i))=0. $$ -We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector) +

    We can then rewrite these equations as (defining \( \boldsymbol{w}=\boldsymbol{e}+\gamma \boldsymbol{x}) \) with \( \boldsymbol{e} \) being the unit vector)

    $$ \gamma \boldsymbol{w}^T(\boldsymbol{y}-\beta\gamma \boldsymbol{w})=0, $$ -which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have +

    which gives us \( \beta = \boldsymbol{w}^T\boldsymbol{y}/(\boldsymbol{w}^T\boldsymbol{w}) \). Similarly we have

    $$ \beta\gamma \boldsymbol{x}^T(\boldsymbol{y}-\beta(1+\gamma \boldsymbol{x}))=0, $$ -

    -which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting -for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    which leads to \( \gamma =(\boldsymbol{x}^T\boldsymbol{y}-\beta\boldsymbol{x}^T\boldsymbol{e})/(\beta\boldsymbol{x}^T\boldsymbol{x}) \). Inserting +for \( \beta \) gives us an equation for \( \gamma \). This is a non-linear equation in the unknown \( \gamma \) and has to be solved numerically. +

    -

    -The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as -\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    The solution to these two equations gives us in turn \( \beta_1 \) and \( \gamma_1 \) leading to the new expression for \( f_1(x) \) as +\( f_1(x) = \beta_1(1+\gamma_1x) \). Doing this \( M \) times results in our final estimate for the function \( f \). +

    -











    +

    Iterative Fitting, Classification and AdaBoost

    -

    Iterative Fitting, Classification and AdaBoost

    - -

    -Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of +

    Let us consider a binary classification problem with two outcomes \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. We define a classification function \( G(x) \) which produces a prediction taking one or the other of the two values \( \{-1,1\} \). +

    -

    -The error rate of the training sample is then +

    The error rate of the training sample is then

    $$ \mathrm{\overline{err}}=\frac{1}{n} \sum_{i=0}^{n-1} I(y_i\ne G(x_i)). $$ -

    -The iterative procedure starts with defining a weak classifier whose +

    The iterative procedure starts with defining a weak classifier whose error rate is barely better than random guessing. The iterative procedure in boosting is to sequentially apply a weak classification algorithm to repeatedly modified versions of the data producing a sequence of weak classifiers \( G_m(x) \). +

    -

    -Here we will express our function \( f(x) \) in terms of \( G(x) \). That is +

    Here we will express our function \( f(x) \) in terms of \( G(x) \). That is

    $$ f_M(x) = \sum_{i=1}^M \beta_m b(x;\gamma_m), $$ -will be a function of +

    will be a function of

    $$ G_M(x) = \mathrm{sign} \sum_{i=1}^M \alpha_m G_m(x). $$ -

    +









    +

    Adaptive Boosting, AdaBoost

    -

    Adaptive Boosting, AdaBoost

    - -

    -In our iterative procedure we define thus +

    In our iterative procedure we define thus

    $$ f_m(x) = f_{m-1}(x)+\beta_mG_m(x). $$ -

    -The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the +

    The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the exponential cost/loss function defined as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}\exp{(-y_i(f_{m-1}(x_i)+\beta G(x_i))}. $$ -

    -We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. +

    We optimize \( \beta \) and \( G \) for each value of \( m=1:M \) as we did in the regression case. This is normally done in two steps. Let us however first rewrite the cost function as +

    $$ C(\boldsymbol{y},\boldsymbol{f}) = \sum_{i=0}^{n-1}w_i^{m}\exp{(-y_i\beta G(x_i))}, $$ -where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \). +

    where we have defined \( w_i^m= \exp{(-y_if_{m-1}(x_i))} \).

    -











    +

    Building up AdaBoost

    -

    Building up AdaBoost

    - -

    -First, for any \( \beta > 0 \), we optimize \( G \) by setting +

    First, for any \( \beta > 0 \), we optimize \( G \) by setting

    $$ G_m(x) = \mathrm{sign} \sum_{i=0}^{n-1} w_i^m I(y_i \ne G_(x_i)), $$ -which is the classifier that minimizes the weighted error rate in predicting \( y \). +

    which is the classifier that minimizes the weighted error rate in predicting \( y \).

    -

    -We can do this by rewriting +

    We can do this by rewriting

    $$ \exp{-(\beta)}\sum_{y_i=G(x_i)}w_i^m+\exp{(\beta)}\sum_{y_i\ne G(x_i)}w_i^m, $$ -which can be rewritten as +

    which can be rewritten as

    $$ (\exp{(\beta)}-\exp{-(\beta)})\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i))+\exp{(-\beta)}\sum_{i=0}^{n-1}w_i^m=0, $$ -which leads to +

    which leads to

    $$ \beta_m = \frac{1}{2}\log{\frac{1-\mathrm{\overline{err}}}{\mathrm{\overline{err}}}}, $$ -where we have redefined the error as +

    where we have redefined the error as

    $$ \mathrm{\overline{err}}_m=\frac{1}{n}\frac{\sum_{i=0}^{n-1}w_i^mI(y_i\ne G(x_i)}{\sum_{i=0}^{n-1}w_i^m}, $$ -which leads to an update of +

    which leads to an update of

    $$ f_m(x) = f_{m-1}(x) +\beta_m G_m(x). $$ -This leads to the new weights +

    This leads to the new weights

    $$ w_i^{m+1} = w_i^m \exp{(-y_i\beta_m G_m(x_i))} $$ -

    +









    +

    Adaptive boosting: AdaBoost, Basic Algorithm

    -

    Adaptive boosting: AdaBoost, Basic Algorithm

    - -

    -The algorithm here is rather straightforward. Assume that our weak +

    The algorithm here is rather straightforward. Assume that our weak classifier is a decision tree and we consider a binary set of outputs with \( y_i \in \{-1,1\} \) and \( i=0,1,2,\dots,n-1 \) as our set of observations. Our design matrix is given in terms of the feature/predictor vectors \( \boldsymbol{X}=[\boldsymbol{x}_0\boldsymbol{x}_1\dots\boldsymbol{x}_{p-1}] \). Finally, we define also a -classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +classifier determined by our data via a function \( G(x) \). This function tells us how well we are able to classify our outputs/targets \( \boldsymbol{y} \). +

    -

    -We have already defined the misclassification error \( \mathrm{err} \) as +

    We have already defined the misclassification error \( \mathrm{err} \) as

    $$ \mathrm{err}=\frac{1}{n}\sum_{i=0}^{n-1}I(y_i\ne G(x_i)), $$ -where the function \( I() \) is one if we misclassify and zero if we classify correctly. +

    where the function \( I() \) is one if we misclassify and zero if we classify correctly.

    -











    +

    Basic Steps of AdaBoost

    -

    Basic Steps of AdaBoost

    - -

    -With the above definitions we are now ready to set up the algorithm for AdaBoost. +

    With the above definitions we are now ready to set up the algorithm for AdaBoost. The basic idea is to set up weights which will be used to scale the correctly classified and the misclassified cases. - +

    1. We start by initializing all weights to \( w_i = 1/n \), with \( i=0,1,2,\dots n-1 \). It is easy to see that we must have \( \sum_{i=0}^{n-1}w_i = 1 \).
    2. We rewrite the misclassification error as
    - $$ \mathrm{\overline{err}}_m=\frac{\sum_{i=0}^{n-1}w_i^m I(y_i\ne G(x_i))}{\sum_{i=0}^{n-1}w_i}, $$ -
    1. Then we start looping over all attempts at classifying, namely we start an iterative process for \( m=1:M \), where \( M \) is the final number of classifications. Our given classifier could for example be a plain decision tree. -
      1. Fit then a given classifier to the training set using the weights \( w_i \).
      2. Compute then \( \mathrm{err} \) and figure out which events are classified properly and which are classified wrongly.
      3. Define a quantity \( \alpha_{m} = \log{(1-\mathrm{\overline{err}}_m)/\mathrm{\overline{err}}_m} \)
      4. Set the new weights to \( w_i = w_i\times \exp{(\alpha_m I(y_i\ne G(x_i)} \).
      -
    2. Compute the new classifier \( G(x)= \sum_{i=0}^{n-1}\alpha_m I(y_i\ne G(x_i) \).
    - -For the iterations with \( m \le 2 \) the weights are modified +

    For the iterations with \( m \le 2 \) the weights are modified individually at each steps. The observations which were misclassified at iteration \( m-1 \) have a weight which is larger than those which were classified properly. As this proceeds, the observations which were difficult to classifiy correctly are given a larger influence. Each new classification step \( m \) is then forced to concentrate on those observations that are missed in the previous iterations. +

    -











    +

    AdaBoost Examples

    -

    AdaBoost Examples

    +

    Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here.

    -

    -Using Scikit-Learn it is easy to apply the adaptive boosting algorithm, as done here. - -

    -

    from sklearn.ensemble import AdaBoostClassifier
    +
    +
    +
    +
    +
    +
    from sklearn.ensemble import AdaBoostClassifier
     
     ada_clf = AdaBoostClassifier(
         DecisionTreeClassifier(max_depth=1), n_estimators=200,
    @@ -2568,118 +3010,118 @@ skplt.metrics.<
     plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    -

    Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent

    - -

    -Gradient boosting is again a similar technique to Adaptive boosting, +

    Gradient boosting is again a similar technique to Adaptive boosting, it combines so-called weak classifiers or regressors into a strong method via a series of iterations. +

    -

    -In order to understand the method, let us illustrate its basics by +

    In order to understand the method, let us illustrate its basics by bringing back the essential steps in linear regression, where our cost function was the least squares function. +

    -











    +

    The Squared-Error again! Steepest Descent

    -

    The Squared-Error again! Steepest Descent

    - -

    -We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize +

    We start again with our cost function \( {\cal C}(\boldsymbol{y}m\boldsymbol{f})=\sum_{i=0}^{n-1}{\cal L}(y_i, f(x_i)) \) where we want to minimize This means that for every iteration, we need to optimize +

    $$ (\hat{\boldsymbol{f}}) = \mathrm{argmin}_{\boldsymbol{f}}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as +

    We define a real function \( h_m(x) \) that defines our final function \( f_M(x) \) as

    $$ f_M(x) = \sum_{m=0}^M h_m(x). $$ -

    -In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as +

    In the steepest decent approach we approximate \( h_m(x) = -\rho_m g_m(x) \), where \( \rho_m \) is a scalar and \( g_m(x) \) the gradient defined as

    $$ g_m(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{m-1}(x_i)}. $$ -

    -With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that +

    With the new gradient we can update \( f_m(x) = f_{m-1}(x) -\rho_m g_m(x) \). Using the above squared-error function we see that the gradient is \( g_m(x_i) = -2(y_i-f(x_i)) \). +

    -

    -Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have +

    Choosing \( f_0(x)=0 \) we obtain \( g_m(x) = -2y_i \) and inserting this into the minimization problem for the cost function we have

    $$ (\rho_1) = \mathrm{argmin}_{\rho}\hspace{0.1cm} \sum_{i=0}^{n-1}(y_i+2\rho y_i)^2. $$ -

    +









    +

    Steepest Descent Example

    -

    Steepest Descent Example

    - -

    -Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that +

    Optimizing with respect to \( \rho \) we obtain (taking the derivative) that \( \rho_1 = -1/2 \). We have then that

    $$ f_1(x) = f_{0}(x) -\rho_1 g_1(x)=-y_i. $$ -We can then proceed and compute +

    We can then proceed and compute

    $$ g_2(x_i) = \left[ \frac{\partial {\cal L}(y_i, f(x_i))}{\partial f(x_i)}\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i, $$ -and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting. +

    and find a new value for \( \rho_2=-1/2 \) and continue till we have reached \( m=M \). We can modify the steepest descent method, or steepest boosting, by introducing what is called gradient boosting.

    -











    +

    Gradient Boosting, algorithm

    -

    Gradient Boosting, algorithm

    - -

    -Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, +

    Steepest descent is however not much used, since it only optimizes \( f \) at a fixed set of \( n \) points, so we do not learn a function that can generalize. However, we can modify the algorithm by -fitting a weak learner to approximate the negative gradient signal. +fitting a weak learner to approximate the negative gradient signal. +

    -

    -Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function +

    Suppose we have a cost function \( C(f)=\sum_{i=0}^{n-1}L(y_i, f(x_i)) \) where \( y_i \) is our target and \( f(x_i) \) the function which is meant to model \( y_i \). The above cost function could be our standard squared-error function

    $$ C(\boldsymbol{y},\boldsymbol{f})=\sum_{i=0}^{n-1}(y_i-f(x_i))^2. $$ -

    -The way we proceed in an iterative fashion is to - +

    The way we proceed in an iterative fashion is to

    1. Initialize our estimate \( f_0(x) \).
    2. For \( m=1:M \), we -
      1. compute the negative gradient vector \( \boldsymbol{u}_m = -\partial C(\boldsymbol{y},\boldsymbol{f})/\partial \boldsymbol{f}(x) \) at \( f(x) = f_{m-1}(x) \);
      2. fit the so-called base-learner to the negative gradient \( h_m(u_m,x) \);
      3. update the estimate \( f_m(x) = f_{m-1}(x)+h_m(u_m,x) \);
      -
    3. The final estimate is then \( f_M(x) = \sum_{m=1}^M h_m(u_m,x) \).
    -









    - -

    Gradient Boosting, Examples of Regression

    -

    +

    Gradient Boosting, Examples of Regression

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     from sklearn.ensemble import GradientBoostingRegressor
    -from sklearn.preprocessing import StandardScaler
     import scikitplot as skplt
     from sklearn.metrics import mean_squared_error
     
    @@ -2695,15 +3137,11 @@ bias = np.= np.zeros(maxdegree)
     polydegree = np.zeros(maxdegree)
     X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    -scaler = StandardScaler()
    -scaler.fit(X_train)
    -X_train_scaled = scaler.transform(X_train)
    -X_test_scaled = scaler.transform(X_test)
     
     for degree in range(1,maxdegree):
         model = GradientBoostingRegressor(max_depth=degree, n_estimators=100, learning_rate=1.0)  
    -    model.fit(X_train_scaled,y_train)
    -    y_pred = model.predict(X_test_scaled)
    +    model.fit(X_train,y_train)
    +    y_pred = model.predict(X_test)
         polydegree[degree] = degree
         error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
         bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
    @@ -2721,15 +3159,32 @@ plt.plot(polydegree, variance, label.legend()
     save_fig("gdregression")
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    Gradient Boosting, Classification Example

    -

    + +









    +

    Gradient Boosting, Classification Example

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2769,41 +3224,54 @@ plt.show()
     skplt.metrics.plot_cumulative_gain(y_test, y_probas)
     save_fig("gdclassiffiercgain")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    XGBoost: Extreme Gradient Boosting

    -

    XGBoost: Extreme Gradient Boosting

    - -

    -XGBoost or Extreme Gradient +

    XGBoost or Extreme Gradient Boosting, is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting that solve many data science problems in a fast and accurate way. See the article by Chen and Guestrin. +

    -

    -The authors design and build a highly scalable end-to-end tree +

    The authors design and build a highly scalable end-to-end tree boosting system. It has a theoretically justified weighted quantile sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning. +

    -

    -It is now the algorithm which wins essentially all ML competitions!!! +

    It is now the algorithm which wins essentially all ML competitions!!!

    -











    +

    Regression Case

    -

    Regression Case

    - -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import train_test_split
     import xgboost as xgb
    -from sklearn.preprocessing import StandardScaler
     import scikitplot as skplt
     from sklearn.metrics import mean_squared_error
     
    @@ -2819,16 +3287,12 @@ bias = np.= np.zeros(maxdegree)
     polydegree = np.zeros(maxdegree)
     X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
    -scaler = StandardScaler()
    -scaler.fit(X_train)
    -X_train_scaled = scaler.transform(X_train)
    -X_test_scaled = scaler.transform(X_test)
     
     for degree in range(maxdegree):
         model =  xgb.XGBRegressor(objective ='reg:squarederror', colsaobjective ='reg:squarederror', colsample_bytree = 0.3, learning_rate = 0.1,max_depth = degree, alpha = 10, n_estimators = 200)
     
    -    model.fit(X_train_scaled,y_train)
    -    y_pred = model.predict(X_test_scaled)
    +    model.fit(X_train,y_train)
    +    y_pred = model.predict(X_test)
         polydegree[degree] = degree
         error[degree] = np.mean( np.mean((y_test - y_pred)**2) )
         bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )
    @@ -2845,18 +3309,34 @@ plt.plot(polydegree, bias, label.plot(polydegree, variance, label='Variance')
     plt.legend()
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Xgboost on the Cancer Data

    -

    Xgboost on the Cancer Data

    - -

    -As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now. -

    +

    As you will see from the confusion matrix below, XGBoots does an excellent job on the Wisconsin cancer data and outperforms essentially all agorithms we have discussed till now.

    -
    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     from sklearn.model_selection import  train_test_split 
     from sklearn.datasets import load_breast_cancer
    @@ -2907,18 +3387,26 @@ xgb.plot_importance(xg_clf)
     plt.rcParams['figure.figsize'] = [5, 5]
     save_fig("xgparams")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + - -
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz b/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz index 4564704e15f665d08329e6b4b3110dfc338655a6..a61052d910ce12b6aa2a84eb7a74dbce51598765 100644 GIT binary patch delta 246915 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

    W^i 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 delta 246216 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ⅆ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 L*F6wn&>AUEBpeFL(={yix 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 YEB}@M%75j*@_$DD2W=%m2LP-D04&zP\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a8e0f520", + "metadata": { + "editable": true + }, "source": [ - "\n", "# Week 45: Decisions Trees, Random Forests, Bagging and Boosting\n", - "\n", - " \n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", - "Date: **Nov 11, 2021**\n", - "\n", - "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", - "\n", - "\n", + "Date: **Nov 12, 2021**\n", "\n", + "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license" + ] + }, + { + "cell_type": "markdown", + "id": "cf7f77b1", + "metadata": { + "editable": true + }, + "source": [ "## Overview of week 45\n", "\n", "* Thursday: Basics of Decision Trees, Bagging and Voting\n", "\n", " * [Video of Lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage)\n", "\n", - "\n", "* Friday: More on Bagging, Voting, Random Forests and start Boosting\n", "\n", "**Videos.**\n", @@ -31,18 +48,20 @@ "\n", "2. [Video on boosting methods by Hastie](https://www.youtube.com/watch?v=wPqtzj5VZus&ab_channel=H2O.ai).\n", "\n", - "\n", - "\n", "**Reading.**\n", "\n", - "1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from [STK-IN4300, lecture 7](https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_7.pdf). Chapter 9.2 of Hastie et al contains also a good discussion.\n", - "\n", - "\n", - "\n", - "\n", + "1. Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. See also lecture from [STK-IN4300, lecture 7](https://www.uio.no/studier/emner/matnat/math/STK-IN4300/h20/slides/lecture_7.pdf). Chapter 9.2 of Hastie et al contains also a good discussion." + ] + }, + { + "cell_type": "markdown", + "id": "ac5d0602", + "metadata": { + "editable": true + }, + "source": [ "## Decision trees, overarching aims\n", "\n", - "\n", "We start here with the most basic algorithm, the so-called decision\n", "tree. With this basic algorithm we can in turn build more complex\n", "networks, spanning from homogeneous and heterogenous forests (bagging,\n", @@ -53,7 +72,6 @@ "Decision trees are supervised learning algorithms used for both,\n", "classification and regression tasks.\n", "\n", - "\n", "The main idea of decision trees\n", "is to find those descriptive features which contain the most\n", "**information** regarding the target feature and then split the dataset\n", @@ -63,8 +81,16 @@ "The descriptive features which reproduce best the target/output features are normally said\n", "to be the most informative ones. The process of finding the **most\n", "informative** feature is done until we accomplish a stopping criteria\n", - "where we then finally end up in so called **leaf nodes**. \n", - "\n", + "where we then finally end up in so called **leaf nodes**." + ] + }, + { + "cell_type": "markdown", + "id": "943bced3", + "metadata": { + "editable": true + }, + "source": [ "## Basics of a tree\n", "\n", "A decision tree is typically divided into a **root node**, the **interior nodes**,\n", @@ -75,35 +101,58 @@ "to our trained model. This is possible since the model has \n", "learned the underlying structure of the training data and hence can,\n", "given some assumptions, make predictions about the target feature value\n", - "(class) of unseen query instances.\n", - "\n", + "(class) of unseen query instances." + ] + }, + { + "cell_type": "markdown", + "id": "6b020673", + "metadata": { + "editable": true + }, + "source": [ "## A Sketch of a Tree, Regression problem\n", "\n", - "\n", - "\n", - "\n", - "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "b644cf30", + "metadata": { + "editable": true + }, + "source": [ "## A Sketch of a Tree, Classification problem\n", "\n", - "\n", - "\n", - "\n", - "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "cd6b2ccd", + "metadata": { + "editable": true + }, + "source": [ "## A typical Decision Tree with its pertinent Jargon, Classification Problem\n", "\n", "\n", "\n", "\n", - "

    \n", - "\n", - "\n", + "

    Figure 1:

    \n", "\n", "\n", - "\n", - "This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using **Scikit-Learn**'s decision tree classifier. Here we have used the so-called **gini** index (see below) to split the various branches.\n", - "\n", - "\n", - "\n", + "This tree was produced using the Wisconsin cancer data (discussed here as well, see code examples below) using **Scikit-Learn**'s decision tree classifier. Here we have used the so-called **gini** index (see below) to split the various branches." + ] + }, + { + "cell_type": "markdown", + "id": "3ec2db23", + "metadata": { + "editable": true + }, + "source": [ "## General Features\n", "\n", "The overarching approach to decision trees is a top-down approach.\n", @@ -117,12 +166,18 @@ "* An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.\n", "\n", "This process is then repeated for the subtree rooted at the new\n", - "node.\n", - "\n", - "\n", + "node." + ] + }, + { + "cell_type": "markdown", + "id": "a70e8806", + "metadata": { + "editable": true + }, + "source": [ "## How do we set it up?\n", "\n", - "\n", "In simplified terms, the process of training a decision tree and\n", "predicting the target features of query instances is as follows:\n", "\n", @@ -134,19 +189,27 @@ "\n", "4. Show query instances to the tree and run down the tree until we arrive at leaf nodes\n", "\n", - "Then we are essentially done!\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "Then we are essentially done!" + ] + }, + { + "cell_type": "markdown", + "id": "ee45f8bf", + "metadata": { + "editable": true + }, + "source": [ "## Decision trees and Regression" ] }, { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "id": "c168b8a8", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "%matplotlib inline\n", @@ -243,7 +306,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c50ab0f4", + "metadata": { + "editable": true + }, "source": [ "## Building a tree, regression\n", "\n", @@ -262,7 +328,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "97ffe3dc", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sum_{j=1}^J\\sum_{i\\in R_j}(y_i-\\overline{y}_{R_j})^2,\n", @@ -271,11 +340,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b9909111", + "metadata": { + "editable": true + }, "source": [ "where $\\overline{y}_{R_j}$ is the mean response for the training observations \n", - "within box $j$. \n", - "\n", + "within box $j$." + ] + }, + { + "cell_type": "markdown", + "id": "0f37fe66", + "metadata": { + "editable": true + }, + "source": [ "## A top-down approach, recursive binary splitting\n", "\n", "Unfortunately, it is computationally infeasible to consider every\n", @@ -288,8 +368,16 @@ "further down on the tree. It is greedy because at each step of the\n", "tree-building process, the best split is made at that particular step,\n", "rather than looking ahead and picking a split that will lead to a\n", - "better tree in some future step.\n", - "\n", + "better tree in some future step." + ] + }, + { + "cell_type": "markdown", + "id": "ab77b1a6", + "metadata": { + "editable": true + }, + "source": [ "## Making a tree\n", "\n", "In order to implement the recursive binary splitting we start by selecting\n", @@ -298,7 +386,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a2482efe", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\left\\{X\\vert x_j < s\\right\\},\n", @@ -307,14 +398,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8a1b0174", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "c37fc8a8", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\left\\{X\\vert x_j \\geq s\\right\\},\n", @@ -323,14 +420,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d34ab632", + "metadata": { + "editable": true + }, "source": [ "so that we obtain the lowest MSE, that is" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "b7e3a485", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sum_{i:x_i\\in R_j}(y_i-\\overline{y}_{R_1})^2+\\sum_{i:x_i\\in R_2}(y_i-\\overline{y}_{R_2})^2,\n", @@ -339,7 +442,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7393edae", + "metadata": { + "editable": true + }, "source": [ "which we want to minimize by considering all predictors\n", "$x_1,x_2,\\dots,x_p$. We consider also all possible values of $s$ for\n", @@ -364,9 +470,16 @@ "have three regions. Again, we look to split one of these three regions\n", "further, so as to minimize the MSE. The process continues until a\n", "stopping criterion is reached; for instance, we may continue until no\n", - "region contains more than five observations.\n", - "\n", - "\n", + "region contains more than five observations." + ] + }, + { + "cell_type": "markdown", + "id": "c1fcad7a", + "metadata": { + "editable": true + }, + "source": [ "## Pruning the tree\n", "\n", "The above procedure is rather straightforward, but leads often to\n", @@ -381,8 +494,16 @@ "we consider a sequence of trees indexed by a nonnegative tuning\n", "parameter $\\alpha$.\n", "\n", - "Read more at the following [Scikit-Learn link on pruning](https://scikit-learn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html#sphx-glr-auto-examples-tree-plot-cost-complexity-pruning-py).\n", - "\n", + "Read more at the following [Scikit-Learn link on pruning](https://scikit-learn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html#sphx-glr-auto-examples-tree-plot-cost-complexity-pruning-py)." + ] + }, + { + "cell_type": "markdown", + "id": "f88e7682", + "metadata": { + "editable": true + }, + "source": [ "## Cost complexity pruning\n", "\n", "For each value of $\\alpha$ there corresponds a subtree $T \\in T_0$ such that" @@ -390,7 +511,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fd949263", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sum_{m=1}^{\\overline{T}}\\sum_{i:x_i\\in R_m}(y_i-\\overline{y}_{R_m})^2+\\alpha\\overline{T},\n", @@ -399,7 +523,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "238c5120", + "metadata": { + "editable": true + }, "source": [ "is as small as possible. Here $\\overline{T}$ is \n", "the number of terminal nodes of the tree $T$ , $R_m$ is the\n", @@ -414,20 +541,25 @@ "having a tree with many terminal nodes. The above equation will\n", "tend to be minimized for a smaller subtree. \n", "\n", - "\n", "It turns out that as we increase $\\alpha$ from zero\n", "branches get pruned from the tree in a nested and predictable fashion,\n", "so obtaining the whole sequence of subtrees as a function of $\\alpha$ is\n", "easy. We can select a value of $\\alpha$ using a validation set or using\n", "cross-validation. We then return to the full data set and obtain the\n", - "subtree corresponding to $\\alpha$. \n", - "\n", - "\n", + "subtree corresponding to $\\alpha$." + ] + }, + { + "cell_type": "markdown", + "id": "968f65d6", + "metadata": { + "editable": true + }, + "source": [ "## Schematic Regression Procedure\n", "\n", "**Building a Regression Tree.**\n", "\n", - "\n", "1. Use recursive binary splitting to grow a large tree on the training data, stopping only when each terminal node has fewer than some minimum number of observations.\n", "\n", "2. Apply cost complexity pruning to the large tree in order to obtain a sequence of best subtrees, as a function of $\\alpha$.\n", @@ -440,12 +572,16 @@ "\n", " * Finally we average the results for each value of $\\alpha$, and pick $\\alpha$ to minimize the average error.\n", "\n", - "\n", - "4. Return the subtree from Step 2 that corresponds to the chosen value of $\\alpha$.\n", - "\n", - "\n", - "\n", - "\n", + "4. Return the subtree from Step 2 that corresponds to the chosen value of $\\alpha$." + ] + }, + { + "cell_type": "markdown", + "id": "9b0aaf6e", + "metadata": { + "editable": true + }, + "source": [ "## A Classification Tree\n", "\n", "A classification tree is very similar to a regression tree, except\n", @@ -459,8 +595,16 @@ "classification tree, we are often interested not only in the class\n", "prediction corresponding to a particular terminal node region, but\n", "also in the class proportions among the training observations that\n", - "fall into that region. \n", - "\n", + "fall into that region." + ] + }, + { + "cell_type": "markdown", + "id": "24d2049f", + "metadata": { + "editable": true + }, + "source": [ "## Growing a classification tree\n", "\n", "The task of growing a\n", @@ -478,9 +622,16 @@ "When building a classification tree, either the Gini index or the\n", "entropy are typically used to evaluate the quality of a particular\n", "split, since these two approaches are more sensitive to node purity\n", - "than is the classification error rate. \n", - "\n", - "\n", + "than is the classification error rate." + ] + }, + { + "cell_type": "markdown", + "id": "ed99fac8", + "metadata": { + "editable": true + }, + "source": [ "## Classification tree, how to split nodes\n", "\n", "If our targets are the outcome of a classification process that takes\n", @@ -495,7 +646,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "dc1cc254", + "metadata": { + "editable": true + }, "source": [ "$$\n", "p_{mk} = \\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i=k).\n", @@ -504,7 +658,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5f088c05", + "metadata": { + "editable": true + }, "source": [ "We let $p_{mk}$ represent the majority class of observations in region\n", "$m$. The three most common ways of splitting a node are given by\n", @@ -514,7 +671,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "055498ee", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i\\ne k) = 1-p_{mk}.\n", @@ -523,14 +683,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6e5afe90", + "metadata": { + "editable": true + }, "source": [ "* Gini index $g$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "cce88a51", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g = \\sum_{k\\ne k'} p_{mk}p_{mk'}=\\sum_{k=1}^K p_{mk}(1-p_{mk}).\n", @@ -539,14 +705,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d4d0b0ad", + "metadata": { + "editable": true + }, "source": [ "* Information entropy or just entropy $s$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "3ae7713b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "s = -\\sum_{k=1}^K p_{mk}\\log{p_{mk}}.\n", @@ -555,7 +727,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "03b6ecc5", + "metadata": { + "editable": true + }, "source": [ "## Gini Index (or Coefficient or Impurity)\n", "\n", @@ -569,16 +744,31 @@ "\n", "3. A value $g=0.5$ means that the elements in a node are uniformly distributed across classes. \n", "\n", - "It favors binary splitting.\n", - "\n", + "It favors binary splitting." + ] + }, + { + "cell_type": "markdown", + "id": "b2e930b9", + "metadata": { + "editable": true + }, + "source": [ "## Why binary splits?\n", "\n", "It is custom to split to a tree uising binary splits. The reason is\n", "that multiway splits fragment the data too quickly, leaving\n", "insufficient data at the next level down. Multiway splits can be\n", - "achieved by a series of binary split and this is normally preferred.\n", - "\n", - "\n", + "achieved by a series of binary split and this is normally preferred." + ] + }, + { + "cell_type": "markdown", + "id": "2ac72645", + "metadata": { + "editable": true + }, + "source": [ "## Computing a Tree using the Gini Index\n", "\n", "Consider the following example with attributes/features and two\n", @@ -595,11 +785,19 @@ "\n", "3. The number of hours slept as high for more than $8$ hours and below for less than 8 hours of sleep, classified again as either high or low\n", "\n", - "4. The final grade whether it is above or below average\n", - "\n", + "4. The final grade whether it is above or below average" + ] + }, + { + "cell_type": "markdown", + "id": "5f2b9a6f", + "metadata": { + "editable": true + }, + "source": [ "## The Table\n", "\n", - "\n", + "
    \n", "\n", "\n", "\n", @@ -615,8 +813,16 @@ "\n", "\n", "\n", - "
    Grade Trend Hours slept Hours Studied Grade
    Above Low Low Below
    Above High High Above
    \n", - "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "822ecc99", + "metadata": { + "editable": true + }, + "source": [ "## Computing the various Gini Indices\n", "\n", "In computations we will translate all classes into numbers. Being\n", @@ -624,92 +830,58 @@ "\n", "**Gini index for Average trend.**\n", "\n", - "See handwritten notes for Thursday November 11\n", - "\n", - "\n", - "\n", - "\n", + "See handwritten notes for Thursday November 11" + ] + }, + { + "cell_type": "markdown", + "id": "de46c0c8", + "metadata": { + "editable": true + }, + "source": [ "## Computing the various Gini Indices, Hours slept\n", "\n", - "\n", "**Gini index for hour slept.**\n", "\n", - "See handwritten notes for Thursday November 11\n", - "\n", - "\n", - "\n", - "\n", + "See handwritten notes for Thursday November 11" + ] + }, + { + "cell_type": "markdown", + "id": "ed71a46f", + "metadata": { + "editable": true + }, + "source": [ "## Computing the various Gini Indices, Hours studied\n", "\n", - "\n", "**Gini index for hour studied.**\n", "\n", "See handwritten notes for Thursday November 11\n", "\n", - "\n", - "\n", - "For final tree, see the above handwritten notes\n", - "\n", - "\n", + "For final tree, see the above handwritten notes" + ] + }, + { + "cell_type": "markdown", + "id": "bfe1cb64", + "metadata": { + "editable": true + }, + "source": [ "## A possible code using Scikit-Learn" ] }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (0, 2)\t1.0\n", - " (0, 5)\t1.0\n", - " (0, 8)\t1.0\n", - " (1, 1)\t1.0\n", - " (1, 3)\t1.0\n", - " (1, 6)\t1.0\n", - " (2, 0)\t1.0\n", - " (2, 4)\t1.0\n", - " (2, 6)\t1.0\n", - " (3, 1)\t1.0\n", - " (3, 3)\t1.0\n", - " (3, 7)\t1.0\n", - " (4, 1)\t1.0\n", - " (4, 4)\t1.0\n", - " (4, 7)\t1.0\n", - " (5, 0)\t1.0\n", - " (5, 3)\t1.0\n", - " (5, 7)\t1.0\n", - " (6, 1)\t1.0\n", - " (6, 3)\t1.0\n", - " (6, 6)\t1.0\n", - " (7, 0)\t1.0\n", - " (7, 4)\t1.0\n", - " (7, 7)\t1.0\n", - " (8, 0)\t1.0\n", - " (8, 3)\t1.0\n", - " (8, 7)\t1.0\n", - " (9, 1)\t1.0\n", - " (9, 3)\t1.0\n", - " (9, 6)\t1.0\n", - " (10, 1)\t1.0\n", - " (10, 4)\t1.0\n", - " (10, 7)\t1.0\n", - "Train set accuracy with Decision Tree: 0.82\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 2, + "id": "9a316ea3", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -782,126 +954,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bd880513", + "metadata": { + "editable": true + }, "source": [ "## Visualizing Trees, More examples" ] }, { "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "0 17.99 10.38 122.80 1001.0 0.11840 \n", - "1 20.57 17.77 132.90 1326.0 0.08474 \n", - "2 19.69 21.25 130.00 1203.0 0.10960 \n", - "3 11.42 20.38 77.58 386.1 0.14250 \n", - "4 20.29 14.34 135.10 1297.0 0.10030 \n", - ".. ... ... ... ... ... \n", - "564 21.56 22.39 142.00 1479.0 0.11100 \n", - "565 20.13 28.25 131.20 1261.0 0.09780 \n", - "566 16.60 28.08 108.30 858.1 0.08455 \n", - "567 20.60 29.33 140.10 1265.0 0.11780 \n", - "568 7.76 24.54 47.92 181.0 0.05263 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "0 0.27760 0.30010 0.14710 0.2419 \n", - "1 0.07864 0.08690 0.07017 0.1812 \n", - "2 0.15990 0.19740 0.12790 0.2069 \n", - "3 0.28390 0.24140 0.10520 0.2597 \n", - "4 0.13280 0.19800 0.10430 0.1809 \n", - ".. ... ... ... ... \n", - "564 0.11590 0.24390 0.13890 0.1726 \n", - "565 0.10340 0.14400 0.09791 0.1752 \n", - "566 0.10230 0.09251 0.05302 0.1590 \n", - "567 0.27700 0.35140 0.15200 0.2397 \n", - "568 0.04362 0.00000 0.00000 0.1587 \n", - "\n", - " mean fractal dimension ... worst radius worst texture \\\n", - "0 0.07871 ... 25.380 17.33 \n", - "1 0.05667 ... 24.990 23.41 \n", - "2 0.05999 ... 23.570 25.53 \n", - "3 0.09744 ... 14.910 26.50 \n", - "4 0.05883 ... 22.540 16.67 \n", - ".. ... ... ... ... \n", - "564 0.05623 ... 25.450 26.40 \n", - "565 0.05533 ... 23.690 38.25 \n", - "566 0.05648 ... 18.980 34.12 \n", - "567 0.07016 ... 25.740 39.42 \n", - "568 0.05884 ... 9.456 30.37 \n", - "\n", - " worst perimeter worst area worst smoothness worst compactness \\\n", - "0 184.60 2019.0 0.16220 0.66560 \n", - "1 158.80 1956.0 0.12380 0.18660 \n", - "2 152.50 1709.0 0.14440 0.42450 \n", - "3 98.87 567.7 0.20980 0.86630 \n", - "4 152.20 1575.0 0.13740 0.20500 \n", - ".. ... ... ... ... \n", - "564 166.10 2027.0 0.14100 0.21130 \n", - "565 155.00 1731.0 0.11660 0.19220 \n", - "566 126.70 1124.0 0.11390 0.30940 \n", - "567 184.60 1821.0 0.16500 0.86810 \n", - "568 59.16 268.6 0.08996 0.06444 \n", - "\n", - " worst concavity worst concave points worst symmetry \\\n", - "0 0.7119 0.2654 0.4601 \n", - "1 0.2416 0.1860 0.2750 \n", - "2 0.4504 0.2430 0.3613 \n", - "3 0.6869 0.2575 0.6638 \n", - "4 0.4000 0.1625 0.2364 \n", - ".. ... ... ... \n", - "564 0.4107 0.2216 0.2060 \n", - "565 0.3215 0.1628 0.2572 \n", - "566 0.3403 0.1418 0.2218 \n", - "567 0.9387 0.2650 0.4087 \n", - "568 0.0000 0.0000 0.2871 \n", - "\n", - " worst fractal dimension \n", - "0 0.11890 \n", - "1 0.08902 \n", - "2 0.08758 \n", - "3 0.17300 \n", - "4 0.07678 \n", - ".. ... \n", - "564 0.07115 \n", - "565 0.06637 \n", - "566 0.07820 \n", - "567 0.12400 \n", - "568 0.07039 \n", - "\n", - "[569 rows x 30 columns]\n", - " malignant benign\n", - "0 1 0\n", - "1 1 0\n", - "2 1 0\n", - "3 1 0\n", - "4 1 0\n", - ".. ... ...\n", - "564 1 0\n", - "565 1 0\n", - "566 1 0\n", - "567 1 0\n", - "568 0 1\n", - "\n", - "[569 rows x 2 columns]\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 3, + "id": "b991bd90", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import os\n", "from sklearn.datasets import load_breast_cancer\n", @@ -940,27 +1009,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d9a6a809", + "metadata": { + "editable": true + }, "source": [ "## Visualizing the Tree, The Moons" ] }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 4, + "id": "6ae9ab50", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -990,7 +1055,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6d7a69fb", + "metadata": { + "editable": true + }, "source": [ "## Other ways of visualizing the trees\n", "\n", @@ -999,48 +1067,13 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Text(167.4, 199.32, 'X[2] <= 2.45\\ngini = 0.667\\nsamples = 150\\nvalue = [50, 50, 50]'),\n", - " Text(141.64615384615385, 163.07999999999998, 'gini = 0.0\\nsamples = 50\\nvalue = [50, 0, 0]'),\n", - " Text(193.15384615384616, 163.07999999999998, 'X[3] <= 1.75\\ngini = 0.5\\nsamples = 100\\nvalue = [0, 50, 50]'),\n", - " Text(103.01538461538462, 126.83999999999999, 'X[2] <= 4.95\\ngini = 0.168\\nsamples = 54\\nvalue = [0, 49, 5]'),\n", - " Text(51.50769230769231, 90.6, 'X[3] <= 1.65\\ngini = 0.041\\nsamples = 48\\nvalue = [0, 47, 1]'),\n", - " Text(25.753846153846155, 54.359999999999985, 'gini = 0.0\\nsamples = 47\\nvalue = [0, 47, 0]'),\n", - " Text(77.26153846153846, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", - " Text(154.52307692307693, 90.6, 'X[3] <= 1.55\\ngini = 0.444\\nsamples = 6\\nvalue = [0, 2, 4]'),\n", - " Text(128.76923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 0, 3]'),\n", - " Text(180.27692307692308, 54.359999999999985, 'X[2] <= 5.45\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 2, 1]'),\n", - " Text(154.52307692307693, 18.119999999999976, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 2, 0]'),\n", - " Text(206.03076923076924, 18.119999999999976, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", - " Text(283.2923076923077, 126.83999999999999, 'X[2] <= 4.85\\ngini = 0.043\\nsamples = 46\\nvalue = [0, 1, 45]'),\n", - " Text(257.53846153846155, 90.6, 'X[1] <= 3.1\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 1, 2]'),\n", - " Text(231.7846153846154, 54.359999999999985, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 0, 2]'),\n", - " Text(283.2923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1, 0]'),\n", - " Text(309.04615384615386, 90.6, 'gini = 0.0\\nsamples = 43\\nvalue = [0, 0, 43]')]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 5, + "id": "d68c173a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn import tree\n", @@ -1053,7 +1086,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4e723908", + "metadata": { + "editable": true + }, "source": [ "## Printing out as text\n", "\n", @@ -1063,24 +1099,13 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "|--- petal width (cm) <= 0.80\n", - "| |--- class: 0\n", - "|--- petal width (cm) > 0.80\n", - "| |--- petal width (cm) <= 1.75\n", - "| | |--- class: 1\n", - "| |--- petal width (cm) > 1.75\n", - "| | |--- class: 2\n", - "\n" - ] - } - ], + "execution_count": 6, + "id": "c469a11c", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn.tree import DecisionTreeClassifier\n", @@ -1094,7 +1119,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fa7f8c24", + "metadata": { + "editable": true + }, "source": [ "## Algorithms for Setting up Decision Trees\n", "\n", @@ -1106,8 +1134,16 @@ "We discuss both algorithms with applications here. The popular library\n", "**Scikit-Learn** uses the CART algorithm. For classification problems\n", "you can use either the **gini** index or the **entropy** to split a tree\n", - "in two branches.\n", - "\n", + "in two branches." + ] + }, + { + "cell_type": "markdown", + "id": "6f5e563d", + "metadata": { + "editable": true + }, + "source": [ "## The CART algorithm for Classification\n", "\n", "For classification, the CART algorithm splits the data set in two subsets using a single feature $k$ and a threshold $t_k$.\n", @@ -1120,7 +1156,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8db201c8", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}G_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}G_{\\mathrm{right}},\n", @@ -1129,7 +1168,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "846bdc51", + "metadata": { + "editable": true + }, "source": [ "where $G_{\\mathrm{left/right}}$ measures the impurity of the left/right subset and $m_{\\mathrm{left/right}}$\n", " is the number of instances in the left/right subset\n", @@ -1138,8 +1180,16 @@ "and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the\n", "$max\\_depth$ hyperparameter), or if it cannot find a split that will reduce impurity. A few other\n", "hyperparameters control additional stopping conditions such as the $min\\_samples\\_split$,\n", - "$min\\_samples\\_leaf$, $min\\_weight\\_fraction\\_leaf$, and $max\\_leaf\\_nodes$.\n", - "\n", + "$min\\_samples\\_leaf$, $min\\_weight\\_fraction\\_leaf$, and $max\\_leaf\\_nodes$." + ] + }, + { + "cell_type": "markdown", + "id": "97d221ac", + "metadata": { + "editable": true + }, + "source": [ "## The CART algorithm for Regression\n", "\n", "The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the\n", @@ -1148,7 +1198,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b5257902", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}\\mathrm{MSE}_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}\\mathrm{MSE}_{\\mathrm{right}}.\n", @@ -1157,14 +1210,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9195395d", + "metadata": { + "editable": true + }, "source": [ "Here the MSE for a specific node is defined as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "c7085776", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{MSE}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}(\\overline{y}_{\\mathrm{node}}-y_i)^2,\n", @@ -1173,14 +1232,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fa97d224", + "metadata": { + "editable": true + }, "source": [ "with" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "3a6d9445", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\overline{y}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}y_i,\n", @@ -1189,14 +1254,24 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "29520145", + "metadata": { + "editable": true + }, "source": [ "the mean value of all observations in a specific node.\n", "\n", "Without any regularization, the regression task for decision trees, \n", - "just like for classification tasks, is prone to overfitting.\n", - "\n", - "\n", + "just like for classification tasks, is prone to overfitting." + ] + }, + { + "cell_type": "markdown", + "id": "161c32c7", + "metadata": { + "editable": true + }, + "source": [ "## Computing the Gini index\n", "\n", "The example we will look at is a classical one in many Machine\n", @@ -1211,7 +1286,7 @@ "humidity and weak and strong for wind.\n", "\n", "The table here summarizes the various attributes and\n", - "\n", + "
    \n", "\n", "\n", "\n", @@ -1231,85 +1306,28 @@ "\n", "\n", "\n", - "
    Day Outlook Temperature Humidity Wind Ride
    13 Overcast Hot Normal Weak 1
    14 Rain Mild High Strong 0
    \n", - "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "ce618e95", + "metadata": { + "editable": true + }, + "source": [ "## Simple Python Code to read in Data and perform Classification" ] }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (0, 0)\t1.0\n", - " (0, 7)\t1.0\n", - " (0, 9)\t1.0\n", - " (0, 13)\t1.0\n", - " (1, 3)\t1.0\n", - " (1, 5)\t1.0\n", - " (1, 8)\t1.0\n", - " (1, 12)\t1.0\n", - " (2, 3)\t1.0\n", - " (2, 5)\t1.0\n", - " (2, 8)\t1.0\n", - " (2, 11)\t1.0\n", - " (3, 1)\t1.0\n", - " (3, 5)\t1.0\n", - " (3, 8)\t1.0\n", - " (3, 12)\t1.0\n", - " (4, 2)\t1.0\n", - " (4, 6)\t1.0\n", - " (4, 8)\t1.0\n", - " (4, 12)\t1.0\n", - " (5, 2)\t1.0\n", - " (5, 4)\t1.0\n", - " (5, 10)\t1.0\n", - " (5, 12)\t1.0\n", - " (6, 2)\t1.0\n", - " :\t:\n", - " (8, 12)\t1.0\n", - " (9, 3)\t1.0\n", - " (9, 4)\t1.0\n", - " (9, 10)\t1.0\n", - " (9, 12)\t1.0\n", - " (10, 2)\t1.0\n", - " (10, 6)\t1.0\n", - " (10, 10)\t1.0\n", - " (10, 12)\t1.0\n", - " (11, 3)\t1.0\n", - " (11, 6)\t1.0\n", - " (11, 10)\t1.0\n", - " (11, 11)\t1.0\n", - " (12, 1)\t1.0\n", - " (12, 6)\t1.0\n", - " (12, 8)\t1.0\n", - " (12, 11)\t1.0\n", - " (13, 1)\t1.0\n", - " (13, 5)\t1.0\n", - " (13, 10)\t1.0\n", - " (13, 12)\t1.0\n", - " (14, 2)\t1.0\n", - " (14, 6)\t1.0\n", - " (14, 8)\t1.0\n", - " (14, 11)\t1.0\n", - "Train set accuracy with Decision Tree: 0.73\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 7, + "id": "074fa8d9", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1382,7 +1400,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a745025b", + "metadata": { + "editable": true + }, "source": [ "## Computing the Gini Factor\n", "\n", @@ -1396,73 +1417,13 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "X1 < 0.000 Gini=0.408\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 1.000 Gini=0.407\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "Split: [X3 < 1.000]\n" - ] - } - ], + "execution_count": 8, + "id": "98d2dd6d", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Split a dataset based on an attribute and an attribute value\n", "def test_split(index, value, dataset):\n", @@ -1528,7 +1489,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "24b51750", + "metadata": { + "editable": true + }, "source": [ "## Entropy and the ID3 algorithm\n", "\n", @@ -1559,46 +1523,28 @@ "training examples according to their target classification.\n", "\n", "The ID3 algorithm uses this information gain measure to select among the candidate\n", - "attributes at each step while growing the tree.\n", - "\n", - "\n", + "attributes at each step while growing the tree." + ] + }, + { + "cell_type": "markdown", + "id": "21273ec4", + "metadata": { + "editable": true + }, + "source": [ "## Cancer Data again now with Decision Trees and other Methods" ] }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy with SVM: 0.63\n", - "Test set accuracy with Decision Trees: 0.90\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "Test set accuracy SVM with scaled data: 0.96\n", - "Test set accuracy with Decision Trees and scaled data: 0.89\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", - "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", - "\n", - "Increase the number of iterations (max_iter) or scale the data as shown in:\n", - " https://scikit-learn.org/stable/modules/preprocessing.html\n", - "Please also refer to the documentation for alternative solver options:\n", - " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", - " n_iter_i = _check_optimize_result(\n" - ] - } - ], + "execution_count": 9, + "id": "7bd0db2a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1645,29 +1591,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "27e24126", + "metadata": { + "editable": true + }, "source": [ "## Another example, the moons again" ] }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 10, + "id": "739898df", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from __future__ import division, print_function, unicode_literals\n", "\n", @@ -1737,29 +1677,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "681cc79f", + "metadata": { + "editable": true + }, "source": [ "## Playing around with regions" ] }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 11, + "id": "026766c4", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "np.random.seed(6)\n", "Xs = np.random.rand(100, 2) - 0.5\n", @@ -1785,15 +1719,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6c0c1428", + "metadata": { + "editable": true + }, "source": [ "## Regression trees" ] }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, + "execution_count": 12, + "id": "9e446f86", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Quadratic training set + noise\n", @@ -1806,20 +1747,13 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "DecisionTreeRegressor(max_depth=2, random_state=42)" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 13, + "id": "02614882", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1829,29 +1763,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e9f36cf0", + "metadata": { + "editable": true + }, "source": [ "## Final regressor code" ] }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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tQOr+6+ZpFVIQDj69OkDwA8//MDTTz/Nd999R69evQCYPn06c+fO5d133+Wkk04CYNy4cYwePbrt+OLiYhYuXMhtt90W9Tx3331328jruHHjgvIQLl261LjhDnBYUzmViZ049boGjlj4Y1idYpvCPpYuXWppHJwp9Qc21H79tFkwADk5UFAAO3Zo+0JfhysTaV9zM2zdytIuXZj4+usRO4dT+7fbcfJ1DdROfwyrU+yzuv+aiW0OqxCiO/AocDqwFZgmpezg6gshfg38FhgC7Ea7gb1NStlshh3r168HwONL5nvkkUcGvd/U1MT333/f9rp///5B7/fv37+tjkhkZGRwwAEHtL3u0qVLwiEBeh1W05aTi4CKVbSGRK+rFd974IiFxxs9DkthDU7RzUBcMcIayNq1uooZ7kOLF8P48SwcPTrmAUo3rcGJugnB2unNcpZ2qhFWffwVaAR6AUcDLwshPpJSfhpSrjNwPfAucADwT+Am4G4zjHj22Wc5+OCDGTp0KABffvllkHMZylqf2B177LFtr3/+858D7U6vUc466yzeeuutiO/PmzePiy66KGjfhg2RHVZ/p+vRo319a6NB6FY7uoroBF5/MPZdWDWpo6QEjs7pgmf/Hu57QDBCtQs7cIRuBjJ27FhDycf92mlV/bGorg7fH0L7nOE+lJkJwJkrVzFqttJOOwj93TLyO2blZLiSEjgmw4toaWbe/3kodlC7MLt/WUoiSVzj3YAuaKI7NGDf34G7dRx7I7AkVrnQ5NejRo2SFRUVba/XrVsn77rrLpmRkSH/7//+T0op5cSJE+UFF1wg169fL6WUcseOHXLx4sWyrq6urY7c3Fz5xhtvyObmZrlw4UKZlZUlv/76aymllK+++qrMy8uTu3btajvPihUrZEZGRpAt06dPl6eeeqo0yqpVsi35dX7G9fLYY38m9+3bJ/cHLCIQmKzY65XS4zGehFgtOmAvocmqs7ONfReWJp8+/nit4upqEyt1F9i0cEAydFOG0c5Y/POf/zRU3ihm1B+oneH6UajmXX11HH3olVekBDlDHK200wZCv8N584z9jlmetL9nT63yLVtMrjgxrO6/gSSqnXZNuhoKtEgpawP2fQQcruPYk4HQ0QQAhBBlQogaIUTNjz/+2OH9iooK8vLyyM/P5+STT+arr75i1apVjB8/HtDyAw4b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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 14, + "id": "78740fb6", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1895,22 +1823,13 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 15, + "id": "2e2456ae", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", @@ -1944,7 +1863,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e02561f0", + "metadata": { + "editable": true + }, "source": [ "## Pros and cons of trees, pros\n", "\n", @@ -1960,8 +1882,16 @@ "\n", "* Can model interactions between the different descriptive features\n", "\n", - "* Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)\n", - "\n", + "* Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)" + ] + }, + { + "cell_type": "markdown", + "id": "191d2c36", + "metadata": { + "editable": true + }, + "source": [ "## Disadvantages\n", "\n", "* Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches\n", @@ -1980,9 +1910,16 @@ "\n", "However, by aggregating many decision trees, using methods like\n", "bagging, random forests, and boosting, the predictive performance of\n", - "trees can be substantially improved.\n", - "\n", - "\n", + "trees can be substantially improved." + ] + }, + { + "cell_type": "markdown", + "id": "e6e385f6", + "metadata": { + "editable": true + }, + "source": [ "## Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods\n", "\n", "As stated above and seen in many of the examples discussed here about\n", @@ -2004,22 +1941,32 @@ "\n", "4. Boosting methods, from adaptive to Extreme Gradient Boosting (XGBoost)\n", "\n", - "We discuss these methods here.\n", - "\n", - "\n", + "We discuss these methods here." + ] + }, + { + "cell_type": "markdown", + "id": "343b2cae", + "metadata": { + "editable": true + }, + "source": [ "## An Overview of Ensemble Methods\n", "\n", "\n", "\n", "\n", - "

    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "

    Figure 1:

    \n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "30f9b44b", + "metadata": { + "editable": true + }, + "source": [ "## Bagging\n", "\n", "The **plain** decision trees suffer from high\n", @@ -2032,9 +1979,16 @@ "\n", "**Bootstrap aggregation**, or just **bagging**, is a\n", "general-purpose procedure for reducing the variance of a statistical\n", - "learning method. \n", - "\n", - "\n", + "learning method." + ] + }, + { + "cell_type": "markdown", + "id": "7566516d", + "metadata": { + "editable": true + }, + "source": [ "## More bagging\n", "\n", "Bagging typically results in improved accuracy\n", @@ -2057,10 +2011,16 @@ "trees. A large value indicates an important predictor. Similarly, in\n", "the context of bagging classification trees, we can add up the total\n", "amount that the Gini index is decreased by splits over a given\n", - "predictor, averaged over all $B$ trees.\n", - "\n", - "\n", - "\n", + "predictor, averaged over all $B$ trees." + ] + }, + { + "cell_type": "markdown", + "id": "8139dd6b", + "metadata": { + "editable": true + }, + "source": [ "## Making your own Bootstrap: Changing the Level of the Decision Tree\n", "\n", "Let us bring up our good old boostrap example from the linear regression lectures. We change the linerar regression algorithm with\n", @@ -2069,74 +2029,13 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Polynomial degree: 1\n", - "Error: 0.061448998019132145\n", - "Bias^2: 0.06105618955900724\n", - "Var: 0.00039280846012491264\n", - "0.061448998019132145 >= 0.06105618955900724 + 0.00039280846012491264 = 0.06144899801913215\n", - "Polynomial degree: 2\n", - "Error: 0.03875741192664723\n", - "Bias^2: 0.034968923076368015\n", - "Var: 0.0037884888502792186\n", - "0.03875741192664723 >= 0.034968923076368015 + 0.0037884888502792186 = 0.03875741192664724\n", - "Polynomial degree: 3\n", - "Error: 0.02041636912454364\n", - "Bias^2: 0.01715994964969937\n", - "Var: 0.003256419474844272\n", - "0.02041636912454364 >= 0.01715994964969937 + 0.003256419474844272 = 0.020416369124543643\n", - "Polynomial degree: 4\n", - "Error: 0.015965748446438426\n", - "Bias^2: 0.013554291046963396\n", - "Var: 0.0024114573994750295\n", - "0.015965748446438426 >= 0.013554291046963396 + 0.0024114573994750295 = 0.015965748446438426\n", - "Polynomial degree: 5\n", - "Error: 0.013812239104124671\n", - "Bias^2: 0.011703251217852149\n", - "Var: 0.002108987886272521\n", - "0.013812239104124671 >= 0.011703251217852149 + 0.002108987886272521 = 0.013812239104124671\n", - "Polynomial degree: 6\n", - "Error: 0.014027604155185338\n", - "Bias^2: 0.011913977762964968\n", - "Var: 0.0021136263922203642\n", - "0.014027604155185338 >= 0.011913977762964968 + 0.0021136263922203642 = 0.014027604155185332\n", - "Polynomial degree: 7\n", - "Error: 0.015038650222479456\n", - "Bias^2: 0.012358926638419723\n", - "Var: 0.0026797235840597265\n", - "0.015038650222479456 >= 0.012358926638419723 + 0.0026797235840597265 = 0.015038650222479449\n", - "Polynomial degree: 8\n", - "Error: 0.01573056551137539\n", - "Bias^2: 0.012523761778720667\n", - "Var: 0.003206803732654721\n", - "0.01573056551137539 >= 0.012523761778720667 + 0.003206803732654721 = 0.01573056551137539\n", - "Polynomial degree: 9\n", - "Error: 0.016856035170026745\n", - "Bias^2: 0.013111698385627429\n", - "Var: 0.003744336784399317\n", - "0.016856035170026745 >= 0.013111698385627429 + 0.003744336784399317 = 0.016856035170026745\n", - "0.5424065596633239\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 16, + "id": "563de8bc", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -2194,7 +2093,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9082768f", + "metadata": { + "editable": true + }, "source": [ "## Why Voting?\n", "\n", @@ -2210,8 +2112,16 @@ "In voting we simply apply the law of large numbers while in boosting we give more weight to misclassified data in\n", "each iteration. \n", "\n", - "Decision trees play an important role as our weak classifier. They serve as the basic method. \n", - "\n", + "Decision trees play an important role as our weak classifier. They serve as the basic method." + ] + }, + { + "cell_type": "markdown", + "id": "c9cd29e3", + "metadata": { + "editable": true + }, + "source": [ "## Tossing coins\n", "\n", "The simplest case is a so-called voting ensemble. To illustrate this,\n", @@ -2233,15 +2143,27 @@ "\n", "The example here shows how we can implement the coin tossing case,\n", "clealry demostrating that after some tosses we see the [law of large](https://en.wikipedia.org/wiki/Law_of_large_numbers)\n", - "numbers kicking in.\n", - "\n", + "numbers kicking in." + ] + }, + { + "cell_type": "markdown", + "id": "766fe680", + "metadata": { + "editable": true + }, + "source": [ "## Standard imports first" ] }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, + "execution_count": 17, + "id": "b9e71382", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Common imports\n", @@ -2285,29 +2207,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "59f2bb75", + "metadata": { + "editable": true + }, "source": [ "## Simple Voting Example, head or tail" ] }, { "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 18, + "id": "f2f89dbb", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "# Common imports\n", @@ -2336,7 +2252,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "55bb71d6", + "metadata": { + "editable": true + }, "source": [ "## Using the Voting Classifier\n", "\n", @@ -2345,24 +2264,13 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.896\n", - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 19, + "id": "686bd591", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2410,29 +2318,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d0e5cdbd", + "metadata": { + "editable": true + }, "source": [ "## Voting and Bagging" ] }, { "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", - " ('rf', RandomForestClassifier(random_state=42)),\n", - " ('svc', SVC(random_state=42))])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 20, + "id": "6b72643f", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2456,20 +2358,13 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.896\n", - "SVC 0.896\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 21, + "id": "7630db00", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2481,23 +2376,13 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", - " ('rf', RandomForestClassifier(random_state=42)),\n", - " ('svc', SVC(probability=True, random_state=42))],\n", - " voting='soft')" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 22, + "id": "e6f81c32", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "log_clf = LogisticRegression(random_state=42)\n", "rnd_clf = RandomForestClassifier(random_state=42)\n", @@ -2511,20 +2396,13 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.896\n", - "SVC 0.896\n", - "VotingClassifier 0.92\n" - ] - } - ], + "execution_count": 23, + "id": "dfb90730", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2536,7 +2414,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5672a91e", + "metadata": { + "editable": true + }, "source": [ "## Random forests\n", "\n", @@ -2556,7 +2437,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "54acf93a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "m\\approx \\sqrt{p}.\n", @@ -2565,7 +2449,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "20c2e5b6", + "metadata": { + "editable": true + }, "source": [ "In building a random forest, at\n", "each split in the tree, the algorithm is not even allowed to consider\n", @@ -2582,9 +2469,16 @@ "lead to as large of a reduction in variance as averaging many\n", "uncorrelated quantities. In particular, this means that bagging will\n", "not lead to a substantial reduction in variance over a single tree in\n", - "this setting.\n", - "\n", - "\n", + "this setting." + ] + }, + { + "cell_type": "markdown", + "id": "1c5f740d", + "metadata": { + "editable": true + }, + "source": [ "## Random Forest Algorithm\n", "The algorithm described here can be applied to both classification and regression problems.\n", "\n", @@ -2601,92 +2495,28 @@ "\n", "3. split the node into daughter nodes\n", "\n", - "\n", - "\n", - "4. Output then the ensemble of trees $\\{T_b\\}_1^{B}$ and make predictions for either a regression type of problem or a classification type of problem. \n", - "\n", + "4. Output then the ensemble of trees $\\{T_b\\}_1^{B}$ and make predictions for either a regression type of problem or a classification type of problem." + ] + }, + { + "cell_type": "markdown", + "id": "ff16fb37", + "metadata": { + "editable": true + }, + "source": [ "## Random Forests Compared with other Methods on the Cancer Data" ] }, { "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy with SVM: 0.63\n", - "Test set accuracy with Decision Trees: 0.88\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "Test set accuracy SVM with scaled data: 0.96\n", - "Test set accuracy with Decision Trees and scaled data: 0.90\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", - "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", - "\n", - "Increase the number of iterations (max_iter) or scale the data as shown in:\n", - " https://scikit-learn.org/stable/modules/preprocessing.html\n", - "Please also refer to the documentation for alternative solver options:\n", - " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", - " n_iter_i = _check_optimize_result(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.93333333 0.8 0.93333333 1. 1. 0.92857143\n", - " 1. 0.92857143 0.92857143 1. ]\n", - "Test set accuracy with Random Forests and scaled data: 0.97\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAATgAAAEWCAYAAADy2YssAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZxU1Z3+8c/T3aLsiAqyiIobm3FDcPm5JSaiEjWjuBs1GveoMSZxZpIY0WQSozNm4h7jmGhco0aNCmZMSIIjAURRcUFUEBpkU1AIBmi+vz/u7bZoeqmSrq6u28/bV72se+6pc8+tqv5yzj33nFJEYGaWRRWlroCZWbE4wJlZZjnAmVlmOcCZWWY5wJlZZjnAmVlmOcC1AZImSDo7fX6KpGdauPztJIWkqpYsN89jd5T0hKTlkh7aiHJa/H0pBUlPSzq91PVoL9pFgJM0W9JCSZ1z0s6WNKGE1WpQRPw2Ir7U2seVdLKkqZJWSFqQ/iH+vxYo+jigN7BFRIz5rIUU632RdHAa/B+pl75bmj4hz3J+KOme5vJFxOER8evPWF0rULsIcKkq4JKNLUSJTL1vki4DbgB+TBKMBgA3A0e3QPHbAjMjYm0LlFUsi4H9JG2Rk3Y6MLOlDpDF701ZiIjMP4DZwBXAB0CPNO1sYEJOnv2AKcDy9P/75eybAPwIeA5YBewIBHAB8BbwMXA1sAPwPPAR8CDQIX395sAfSP6QPkyf969X/tnp8zOAienz7wArch5rgLvSfd2BXwELgGrgGqAy3VcJXAcsAd4BLkzrW9XAe9M9LXtME+/fpiQBcH76uAHYNN13MDAP+BawKK3Pmem+q4DVab1XAGcBPwTuySl7u9y6pef/TvqevgucUv99yfPzujr9vD4GngG2bOTcaut/K3Bhzvs3D/gB639Hfg7MTT/fF4AD0vRR9c5zehPfm9zP+hbgdznl/xR4FlCp/2ay8ih5BVrlJJMAdyjwCHBNmlYX4ICeJIHnNJKW3knp9hbp/gnAe8DQdP8m6R/l40C3NP2f6ZdzYBo0XgNOT1+/BXAs0AnoCjwE/D6nfrlf+vX+kHPybEMSXI5It38P3AZ0BnoBk4Fz033nAW+kr+kJ/JnGA9woYG1D+3LyjAUmpcfZCvg/4Op038Hp68em78sRwD+AzdP9P2T9gFZ/e7vauqXn8hGwS7qvDzC0/vuS5+f1NrAz0DHd/kkj53YwSTDbD/h7mnYEMJ4N/xE8Nf0sq0gC+vvAZg2dVxPfm9zPuhNJK/EM4ACSf5D6N/Y5+FH4o701mX8AfEPSVvXSjwTeioi7I2JtRNxHEiC+nJPnroiYke5fk6b9NCI+iogZwKvAMxHxTkQsB54G9gCIiKUR8XBE/CMiPib5V/2gfCstqSNJQPt5RDwlqTdwOHBpRKyMiEXAfwEnpi85HrghIuZGxAfAfzRR/BbAkmi6C3kKMDYiFkXEYpKW2Wk5+9ek+9dExFMkrZhd8j2/etYBwyR1jIgF6XtbXz6f1/9ExMyIWEXSmt69qYNGxP8BPSXtAnwV+E0Dee5JP8u1EXE9Scu2ufNs6HtTW94/SILmfwL3AN+IiHnNlGcFaFcBLiJeJekeXlFvV19gTr20OUC/nO25DRS5MOf5qga2uwBI6iTpNklzJH0E/BXoIakyz6r/CngzIn6abm9L0hpYIGmZpGUkrbleOeeTW9/655ZrKbBlMyOs9d+fOWlaXRn1AuQ/SM+9EBGxEjiBpAW6QNKTkgblUZ/aOuV+Xu9/hvrcDVwEHAI8Wn+npG9Jej0dEV5G0lLfspkyG/re1ImIySRdcpEEYmtB7SrApa4Evs76fwzzSYJGrgEk17ZqbcyyK98i+Zd+ZER0Aw5M09XcCyVdkb72rJzkuSRd4i0jokf66BYRQ9P9C0i6p7UGNHGI54FPgGOayFP//RmQpn0WK0m6ZrW2zt0ZEeMj4osk3dM3gF/mUZ/aOlU3kLcQd5NcV30qbV3VkXQA8F2S1vHmEdGD5Ppf7WfY2Pejye+NpAtJWoLzSa65WgtqdwEuImYBDwAX5yQ/Beyc3ipRJekEYAhJa68ldCVp0S2T1JMkyDZL0uFpPY9Ju1q157CA5ML59ZK6SaqQtIOk2m7vg8DFkvpL2pwNW6zklLWcpOt+k6Rj0tbmJpIOl3Rtmu0+4HuStpK0ZZq/2VsiGvEScKCkAZK6A/+ac769JR2V3s7zT5Kubk0DZRTl84qId0kuHfx7A7u7klxrXAxUSfoByfXXWguB7QoZKZW0M8ng0KkkXf7vSGqyK22FaXcBLjWW5II2kFwjA0aTtLSWkvxLOjoilrTQ8W4gudi9hORi/bg8X3cCyUX919P701ZIujXd91WgA8lgxofA70haPZC0esYD04FpJIMrjYqI/wQuA75H8gc8l6Sr9vs0yzXAVOBl4JW0zGvyPIf6x/ojyT8wL5OMROYGpQqSz2A+yYj3QSQtqvplFO3zioiJEdFQ63Q8yXXVmSTd4U9Yv/tZexPzUknTmjtOekngHpLruNMj4i3g34C7JW26Medgn1KEF7w0s2xqry04M2sHHODMLLMc4MwssxzgzCyzWn35nKaoqmOoQ9dSV8MKsMfgpm6xs7ZmzpzZLFmypNn7L5tS2W3biLWrms8IxKrF4yNi1MYcb2O0rQDXoSub7nJ8qathBXju7zeWugpWgP1HDt/oMmLtqrz/Tj956abmZnoUVZsKcGZWDgRlsvKTA5yZFUZARb7TqEvLAc7MCqeNuozXahzgzKxA7qKaWZa5BWdmmSTcgjOzrJJbcGaWYR5FNbNs8iCDmWWVcBfVzDLMLTgzyyZ3Uc0sqwRUepDBzLLK1+DMLJvcRTWzLHMLzswyyy04M8skeaqWmWWZp2qZWTZ5kMHMssxdVDPLJK8HZ2bZ5S6qmWWZBxnMLLN8Dc7MMknuoppZlrkFZ2ZZJQc4M8uiZMVyBzgzyyIJVTjAmVlGuQVnZpnlAGdmmeUAZ2bZpPRRBhzgzKwgQm7BmVl2VVSUx0yG8qilmbUpkvJ65FFOT0mPSlopaY6kkxvJJ0nXSKqWtFzSBElDmyvfAc7MCqMCHs27CVgN9AZOAW5pJHCNAb4GHAD0BJ4H7m6ucAc4MytYS7TgJHUGjgW+HxErImIi8DhwWgPZtwcmRsQ7EVED3AMMaa6eDnBmVpDaQYY8A9yWkqbmPM7JKWpnoCYiZuakTQcaasHdD+woaWdJmwCnA+Oaq6sHGcysYAVM1VoSEcMb2dcFWF4vbTnQtYG8C4C/AW8CNcBc4PPNHdwtODMrjFpskGEF0K1eWjfg4wbyXgnsDWwDbAZcBfxJUqemDuAAZ2YFa6EANxOokrRTTtpuwIwG8u4GPBAR8yJibUTcBWxOM9fhHODMrGAtEeAiYiXwCDBWUmdJ+wNH0/Do6BRgjKTekioknQZsAsxq6hi+BmdmBWnhmQwXAHcCi4ClwPkRMUPSAOA1YEhEvAf8FOgFvAR0Jglsx0bEsqYKd4Azs8K1UHyLiA+AYxpIf49kEKJ2+xPgwvSRNwc4MyuMymeqlgOcmRXMk+3NLLvKI755FHVjfHG/wUx/9Pu8+tiVXH7mFzfY36NrRx64/utMfuBf+dvdlzNkhz51+75xyiG88Lt/Z+pD/8av/+MMNu3gf2tawzPjx/G5obswdNCO/Ozan2ywPyK47NKLGTpoR/be43O8OG0aAHPnzuWwQw9h910Hs+duQ7nxv3/e2lVvU1pqsn2xFTXASRol6U1JsyRdUcxjtbaKCnHDFcdz9EU3s8ex1zBm1F4MGrj1enm+c9ZhTH9zHiNO+A/O+v7dXPft4wDou1V3LjjpIPY/5VqGj/kxlRUVjDlsr1KcRrtSU1PDpRdfyGNPPM2LL7/GQ/ffx+uvvbZenvHjnubtWW/x6utvceMtt3PxRecDUFVVxU+uvZ6XXnmdv0ycxG233rTBa9uLfINbpgOcpEqSlQIOJ7kZ7yRJzU6OLRd7D9uOt+cuYXb1UtasreGh8dMYffDn1sszaODWTJj8JgAzZy9k27496dUzmYVSVVlJx003obKygo6bdWDB4vozVqylTZk8mR122JHtBw6kQ4cOjDnhRP7wxGPr5fnD449x8qlfRRIj99mH5cuXsWDBAvr06cMee+4JQNeuXRk0aDDz51eX4jTahHYf4IARwKx09v9qksmyRxfxeK2qb6/uzFv4Yd129cIP6bdV9/XyvDKzmqO/sDsAw4duy4A+PenXuwfzFy/nht88y8ynr+bdP/6Ij1as4tlJb7Rq/duj+fOr6d9/m7rtfv36U11d3Wye+fXyzJk9m5deepG9R4wsboXbMFUor0epFTPA9SOZEFtrXpq2Hknn1K40EGtXFbE6LUsNXGWNetvX/c8f6dG1E5Puv4LzTzyI6W/OY23NOnp07cjog3dl8OgrGfilf6dzxw6ceMTerVPxdiyi/ie04Whgc3lWrFjBSccfy8+uv4Fu3epPo2w/yqUFV8wr2w2d3Qbfnoi4HbgdoKJTrw2/XW1U9aJl9O+9ed12v96bM79eN/PjlZ9w7g/vqdt+48mrmF29lC/uO5jZ85ey5MMVAPz+T9PZZ7ftuf+pKa1T+XaqX7/+zJv36b+51dXz6Nu3b7N5+qR51qxZw0nHH8sJJ53CMV/5l9apdFuk8rlNpJgtuHkkM/9r9QfmF/F4rWrqjDnsOGArtu27BZtUVTLmsD15csLL6+Xp3qUjm1RVAnDmV/Zj4rRZfLzyE+a+/wEjdt2ejpttAsAhI3bhzXcXtvo5tDfD996bWbPeYva777J69WoeeuB+jhx91Hp5jvzyUdx7z2+ICP4+aRLdunWnT58+RATnff0sdhk0mEu+eVmJzqBtECDl9yi1YrbgpgA7SdoeqAZOBBpcb70c1dSs45s/fZAnbr6Qygrx68cm8fo773P2cf8PgDt+N5FBA7fmjqtPo6ZmHW+88z7nXfVbAKa8OodH//dFnr/3u6ytWcf0N+bxq4efK+XptAtVVVX8189v5MtHHkZNTQ2nn/E1hgwdyi9vuxWAr597HqMOP4LxTz/F0EE70qljJ267438A+L/nnuPe397NsGG7MnKv5LrqVdf8mFGHH1Gy8ymdttH9zIcauubQYoVLRwA3AJXAnRHxo6byV3TqFZvucnzR6mMt78MpN5a6ClaA/UcO54UXpm5UdNps651j29N/kVfemdeOeqGJBS+Lrqh3l0bEU8BTxTyGmbWyNtL9zIdvnzezgojkRvdy4ABnZgVzC87MMqtcBhkc4MysML4GZ2ZZJeQFL80su9yCM7PM8jU4M8smX4Mzs6xK5qKWR4RzgDOzgpVJfHOAM7PCeSaDmWVTGa0H5wBnZgWpXQ+uHDjAmVmBymc9OAc4MytYmcQ3BzgzK5A8yGBmGeX74Mws0xzgzCyzyiS+OcCZWeHcgjOzbPJkezPLqmTBy/KIcOWxLKeZtSkVUl6P5kjqKelRSSslzZHU6I/DSxoo6Q+SPpa0RNK1zZXvFpyZFawFu6g3AauB3sDuwJOSpkfEjPWPpw7AH9P8JwA1wM7NFe4AZ2YFUQtNtpfUGTgWGBYRK4CJkh4HTgOuqJf9DGB+RPxnTtrLzR3DXVQzK1iF8nsAW0qamvM4J6eYnYGaiJiZkzYdGNrAIfcBZkt6Ou2eTpC0a3P1bLQFJ+kXQDS2PyIubq5wM8umAgYZlkTE8Eb2dQGW10tbDnRtIG9/4BDgKOBZ4BLgMUmDImJ1Ywdvqos6tYl9ZtZOiWQktQWsALrVS+sGfNxA3lXAxIh4GkDSdcD3gMEkrb4GNRrgIuLXuduSOkfEyvzqbWZZ1kJ3icwEqiTtFBFvpWm7ATMayPsysH+hB2j2GpykfSW9Bryebu8m6eZCD2RmGaFkPbh8Hk1JG0yPAGMldZa0P3A0cHcD2e8B9pF0qKRK4FJgCWlcakw+gww3AIcBS9NKTQcOzON1ZpZRUn6PPFwAdAQWAfcB50fEDEkDJK2QNAAgIt4ETgVuBT4kCYRHNXX9DfK8TSQi5taLxjV5Vd3MMkeQ1028+YiID4BjGkh/j2QQIjftEZIWX97yCXBzJe0HRHqz3cU00yw0s2zL0lSt84ALgX5ANcndxhcWs1Jm1nbl2z1tCxPym23BRcQS4JRWqIuZlYmW6qIWWz6jqAMlPSFpsaRFkh6TNLA1KmdmbZPyfJRaPl3Ue4EHgT5AX+AhktEOM2unWuI2kdaQT4BTRNwdEWvTxz00MYXLzLItGUXNey5qSTU1F7Vn+vTPkq4A7icJbCcAT7ZC3cysLVL5LHjZ1CDDCyQBrfZMzs3ZF8DVxaqUmbVtbaH7mY+m5qJu35oVMbPyUNtFLQd5zWSQNAwYAmxWmxYRvylWpcysbSv7FlwtSVcCB5MEuKeAw4GJgAOcWTtVHuEtv1HU44AvAO9HxJkky5lsWtRamVmbJUFlhfJ6lFo+XdRVEbFO0lpJ3Uhm/ftGX7N2LDNdVGCqpB7AL0lGVlcAk4taKzNr08okvuU1F/WC9OmtksYB3SKi2V+zMbNsEvn95mlb0NSNvns2tS8iphWnSmbWprWRlULy0VQL7vom9gXw+RauC7sPHsDE53/R0sVaEW0+8pJSV8EK8M835rZIOWV/DS4iDmnNiphZeRBQWe4BzsysMW3gDpC8OMCZWcEc4Mwsk5LlyMsjwuWzoq8knSrpB+n2AEkjil81M2urymU9uHymat0M7AuclG5/DNxUtBqZWZuXmR+dAUZGxJ6SXgSIiA/Tnw80s3ZIQFVbiF55yCfArZFUSbpMuaStgHVFrZWZtWllEt/yCnD/DTwK9JL0I5LVRb5X1FqZWZslZWCqVq2I+K2kF0iWTBJwTET4l+3N2rEyiW95LXg5APgH8ERuWkS8V8yKmVnb1RZGSPORTxf1ST798ZnNgO2BN4GhRayXmbVRgjaxmGU+8umi7pq7na4ycm4j2c0s69rIPW75KHgmQ0RMk7R3MSpjZuVBZfKrDPlcg7ssZ7MC2BNYXLQamVmblrWfDeya83wtyTW5h4tTHTMrB5kIcOkNvl0i4tutVB8zKwPlMtm+qSXLqyJibVNLl5tZ+5P8bGCpa5Gfplpwk0mut70k6XHgIWBl7c6IeKTIdTOzNqpcZjLkE4d7AktJfoNhNPDl9P9m1g7VDjK0xHJJknpKelTSSklzJJ2cx2v+JCkkNTuG0FSGXukI6qt8eqNvrWi25maWWS3YgLsJWA30BnYHnpQ0PSJmNHxcnUIBt7c1lbES6AIN3vDiAGfWbomKFrgPTlJn4FhgWESsACaml8NOA65oIH934Ergq8Dz+RyjqQC3ICLGFlxrM8s0UVALbktJU3O2b4+I29PnOwM1ETEzZ/904KBGyvoxcAvwfr4HbyrAlcdVRDNrXYKq/G+EWxIRwxvZ1wVYXi9tOevfe5scUhoO7A9cAvTP9+BNBbgv5FuImbUfBbbgmrIC6FYvrRvJzyJ8ejypguSnEy5Jb13L+wCNjqJGxAf519PM2pOKdNHL5h7NmAlUSdopJ203oP4AQzdgOPCApPeBKWn6PEkHNHUA/2ygmRWsJVpwEbFS0iPAWElnk4yiHg3sVy/rcqBvzvY2JPfp7kUz8+Id4MysICK/G2jzdAFwJ7CI5H7b8yNiRrrQ7mvAkHRx3bqBBUmbpU8XRsTapgp3gDOzwqjlZjKkl8KOaSD9PZJBiIZeM5s8B0Ed4MysIMlMhvK4ycIBzswKVh7hzQHOzD6DMmnAOcCZWaFU/uvBmZk1pIVHUYvKAc7MCuZBBjPLJmVgyXIzs4a4i2pmmeYWnJllVnmENwc4MyuQgEq34Mwsq8okvjnAmVmhhMqkk+oAZ2YFcwvOzDIpuU2kPCKcA5yZFUZuwZlZhnmqlpllUrLgZalrkR8HODMrmEdRzSyzyqSHWjZzZtukZ8aPY/dhg9h18E5c97OfbLA/Irj8mxez6+CdGLHXbrz44jQAPvnkEw7cfyQjh+/O8N2Hcc3YK1u76u3WF/cdxPSH/41Xf/89Lj/j0A329+jakQeuO4vJ93+Xv/36Mobs0AeAnbbtxaR7v133WPiXn3LRSQe1dvXbDOX5X6kVrQUn6U5gNLAoIoYV6zilUlNTw2WXXMQTTz1Dv/79OWC/ERw5+igGDx5Sl2f8uKeZNWsWL782kymT/86l37iAv0ycxKabbspT45+lS5curFmzhkMPOYAvHXY4I0buU8Izyr6KCnHDFWM48oKbqV64jIl3f4s//OUV3nh3YV2e73zti0x/s5oTLv8VO2/Xixu+O4Yjzr+Jt+YsYp+Tf1ZXzttPj+XxP79cqlMpqXK6BlfMFtxdwKgill9SU6dMZuAOO7L9wIF06NCB444/gT888dh6eZ584jFOPvU0JDFi5D4sX7aMBQsWIIkuXZJfRFuzZg1r1qwpm9UZytneQ7fl7bmLmV29lDVra3jomWmMPnjX9fIMGrg1E6bMBGDm7EVs27cnvXp2XS/PISN25t15S3jv/Q9bre5tSp6/at8WRlqLFuAi4q/AB8Uqv9Tmz6+m/zb967b79evPgurqennm07//NnXbffv1Z8H8JE9NTQ377L0H2/Xvzee/cCh7jxjZOhVvx/r26s68hcvqtqsXLqPfVt3Xy/PKzPkcfcjnABg+dAADtt6cfr3WzzPmS3vy4Phpxa9wG6Y8H6VW8mtwks6RNFXS1CVLFpe6OnmLiA3S6rfCmspTWVnJpCkvMvOdubwwdQozZrxanIpanYZayfU/ouvu+iM9unVi0r3f5vwTDmT6m9WsrVlXt3+TqkqOPGgYj/zvS8WubptV+7uo5dCCK/koakTcDtwOsOdewzeMCG1Uv379mTd3Xt12dfU8tu7bt16efsybN7due371PLbus36eHj16cMCBB/HH8eMYOjRzlyrblOqFy+jfu0fddr/ePZi/ZPl6eT5e+U/Overeuu03nvgBs+cvrds+bP/BvPTGPBZ98HHxK9yGlT505afkLbhytdfwvXl71lvMfvddVq9eze8efIAjRx+1Xp4jRx/FvffcTUQw+e+T6Na9O3369GHx4sUsW5Z0lVatWsWf//Qsu+wyqBSn0a5Mfe09dtxmK7bt25NNqioZ86U9efIv67ecu3fpyCZVlQCc+ZV9mTjtbT5e+c+6/ccfthcPjmvf3VOgbPqoJW/Blauqqiquv+EXHD16FDU1NXz1jDMZMmQod9x+KwBnn3Mehx1+BOPHPcWug3eiY6dO3PbLOwF4//0FnHPWGdTU1LBu3TqOPW4Mhx85uoRn0z7U1Kzjm9c+zBM3nk9lZQW/fmwSr7/zPmcfuz8Adzz8HIO2780dY0+lZt063njnfc4be1/d6ztutgmfH7kLF/34gVKdQpvRFrqf+VBD14lapGDpPuBgYEtgIXBlRPyqqdfsudfwmPj8lKLUx4pji30vLXUVrAD/fON+1q1cuFHRafCue8RvHpuQV94RO/R4ISKGb8zxNkbRWnARcVKxyjazEiuPBpy7qGZWmOTyWnlEOAc4MyuM14Mzsywrk/jmAGdmhVLZTC10gDOzgpVJfPONvmZWmHzv8c0nBkrqKelRSSslzZF0ciP5Tpf0gqSPJM2TdK2kZhtoDnBmVriWm8lwE7Aa6A2cAtwiaWgD+ToBl5LcVzsS+AJweXOFu4tqZgVridtEJHUGjgWGRcQKYKKkx4HTgCty80bELTmb1ZJ+CxzS3DEc4MysYAVcg9tS0tSc7dvTBTYAdgZqImJmzv7pQD5LJR8IzGgukwOcmRWmsPvgljQxVasLsLxe2nKgawN5Pz28dCYwHDi7uYM7wJlZwVpoJsMKoFu9tG5Ao2tRSToG+AlwaEQsae4AHmQws4KIpAWXz6MZM4EqSTvlpO1GI11PSaOAXwJfjohX8qmrA5yZFawlBlEjYiXwCDBWUmdJ+wNHA3dvcDzp88BvgWMjYnK+9XSAM7PCtdxtIhcAHYFFwH3A+RExQ9IASSskDUjzfR/oDjyVpq+Q9HRzhfsanJkVrKUWvIyID4BjGkh/j2QQona72VtCGuIAZ2YFK5OZWg5wZvYZlEmEc4Azs4J4wUszyy4veGlmWVYm8c0BzswK5QUvzSzDyiS+OcCZWWHayI/W58UBzswKVyYRzgHOzArm20TMLLN8Dc7MsklQ4QBnZtlVHhHOAc7MClK74GU5cIAzs4KVSXxzgDOzwrkFZ2aZ5alaZpZZ5RHeHODMrEB5/mJWm+AAZ2YF80wGM8uu8ohvDnBmVrgyiW8OcGZWKLXYzwYWmwOcmRWknGYy+JftzSyz3IIzs4KVSwvOAc7MCubbRMwsm3yjr5llVTkNMjjAmVnB3EU1s8xyC87MMqtM4psDnJl9BmUS4RzgzKwggrKZqqWIKHUd6khaDMwpdT2KYEtgSakrYQXJ6me2bURstTEFSBpH8v7kY0lEjNqY422MNhXgskrS1IgYXup6WP78mWWD56KaWWY5wJlZZjnAtY7bS10BK5g/swzwNTgzyyy34MwssxzgzCyzHOCKSNIoSW9KmiXpilLXx5on6U5JiyS9Wuq62MZzgCsSSZXATcDhwBDgJElDSlsry8NdQMluTLWW5QBXPCOAWRHxTkSsBu4Hji5xnawZEfFX4INS18NahgNc8fQD5uZsz0vTzKyVOMAVT0OzkX1PjlkrcoArnnnANjnb/YH5JaqLWbvkAFc8U4CdJG0vqQNwIvB4ietk1q44wBVJRKwFLgLGA68DD0bEjNLWypoj6T7geWAXSfMknVXqOtln56laZpZZbsGZWWY5wJlZZjnAmVlmOcCZWWY5wJlZZjnAlRFJNZJekvSqpIckddqIsu6SdFz6/I6mFgKQdLCk/T7DMWZL2uDXlxpLr5dnRYHH+qGkywuto2WbA1x5WRURu0fEMGA1cF7uznQFk4JFxNkR8VoTWQ4GCg5wZqXmAFe+/gbsmLau/izpXuAVSZWSfiZpiqSXJZ0LoMSNkl6T9CTQq7YgSRMkDU+fj5I0TdJ0Sc9K2o4kkH4zbT0eIGkrSQ+nx5giaf/0tVtIekbSi5JuI4/fP5f0e0kvSJoh6Zx6+65P6/KspK3StB0kjZ/kyPAAAAJASURBVEtf8zdJg1rizbRs8i/blyFJVSTrzI1Lk0YAwyLi3TRILI+IvSVtCjwn6RlgD2AXYFegN/AacGe9crcCfgkcmJbVMyI+kHQrsCIirkvz3Qv8V0RMlDSAZLbGYOBKYGJEjJV0JLBewGrE19JjdASmSHo4IpYCnYFpEfEtST9Iy76I5MdgzouItySNBG4GPv8Z3kZrBxzgyktHSS+lz/8G/Iqk6zg5It5N078EfK72+hrQHdgJOBC4LyJqgPmS/tRA+fsAf60tKyIaWxftUGCIVNdA6yapa3qMf0lf+6SkD/M4p4slfSV9vk1a16XAOuCBNP0e4BFJXdLzfSjn2JvmcQxrpxzgysuqiNg9NyH9Q1+ZmwR8IyLG18t3BM0v16Q88kByaWPfiFjVQF3ynvsn6WCSYLlvRPxD0gRgs0ayR3rcZfXfA7PG+Bpc9owHzpe0CYCknSV1Bv4KnJheo+sDHNLAa58HDpK0ffranmn6x0DXnHzPkHQXSfPVBpy/AqekaYcDmzdT1+7Ah2lwG0TSgqxVAdS2Qk8m6fp+BLwraUx6DEnarZljWDvmAJc9d5BcX5uW/nDKbSQt9UeBt4BXgFuAv9R/YUQsJrlu9oik6XzaRXwC+ErtIANwMTA8HcR4jU9Hc68CDpQ0jaSr/F4zdR0HVEl6GbgamJSzbyUwVNILJNfYxqbppwBnpfWbgZeBtyZ4NREzyyy34MwssxzgzCyzHODMLLMc4MwssxzgzCyzHODMLLMc4Mwss/4/JLeMOr3VrhEAAAAASUVORK5CYII=\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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pH///iIi8v3330uPHj1EROTKlStSo0YNuXLlily9elVq1KghV69eFRGRDRs2yAsvvGD7A8iitP5ugV2S3c/d7L7QXg9NFLnr1i9cYmKiYBntluOPzCT/APzss89k4MCBIiIyZ84c6d27d4q2wcHBUqVKFRER6d27t8ydOzfT7UdERMizzz4rPj4+4uvrK0uWLEm138WLF0vfvn1FRKRv374ybNgwadWqlbzyyitSrVo1CQsLs7atVauWXLhwQS5duiRPPPGENG7cWBo3bix//vlnqn3fvHnTuu/69evLunXrRETE19dXihQpIv7+/rJx48YUr7lw4YI8/vjj4ufnJ35+frJ58+YU8UZEREjr1q2lQYMG4uPjI8uWLRMRkcjISOnQoYP4+fmJt7e3LFy4UERERo4cKV5eXuLr6yuvvfZaqhhfeukl+e6776zLderUkXPnzqVq16tXL1m/fr11uUuXLtKwYUOpV6+ezJ4927q+ePHiMnr0aGnSpIls2rRJ5s+fLwEBAeLv7y8vvfSSNXkMGDBAGjVqJPXq1ZMxY8ak2l92rV+/PsNE8cgjj8iWLVtExPJFwNXVVRITE+W7776Tl156ydou+fuSkJAg1atXt9kXhzuV04kiKzfcqXtcTEwMISF2mdAwhYSEBNauXcvzzz8PWC473V5EsFatWkRGRnL9+nUOHDjAa6+9lul2x48fj4uLC/v37wewdspn5OjRo6xZswYnJycSExNZunQp/fr1Y/v27VSvXp3y5cvzf//3fwwbNowHHniAkJAQ2rdvz6FDKWcRnjFjBgD79+/n8OHDPPLIIxw9epQVK1bQqVMn9uzZk2rfQ4cOpWXLlixdupSEhAQiIyNTPF+kSBGWLl1KyZIluXz5Ms2aNaNz58788ssvVKpUiVWrVgGWUWpXr15l6dKlHD58GGNMist6t5w9exZ3d3frcpUqVTh79iwVK1ZM0W7z5s3Mnj3buvzll19SpkwZbt68SUBAAN26dcPV1ZUbN27g4+PDuHHjOHToEJMmTWLz5s0UKlSIQYMGsWDBAvr06cN7771HmTJlSEhIoE2bNuzbtw8/P78U+/zggw9YsGBBqpgfeughPvnkkzT/7zKT/HgLFiyIi4sLV65cSfd9AMsAjtq1a7N37958WdhSE4VKV2xsLOHh4fz9998kJiaye/duKleujJubW67e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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 24, + "id": "d82fbd4a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -2758,7 +2588,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "06cc37e7", + "metadata": { + "editable": true + }, "source": [ "Recall that the cumulative gains curve shows the percentage of the\n", "overall number of cases in a given category *gained* by targeting a\n", @@ -2766,16 +2599,27 @@ "\n", "Similarly, the receiver operating characteristic curve, or ROC curve,\n", "displays the diagnostic ability of a binary classifier system as its\n", - "discrimination threshold is varied. It plots the true positive rate against the false positive rate.\n", - "\n", - "\n", + "discrimination threshold is varied. It plots the true positive rate against the false positive rate." + ] + }, + { + "cell_type": "markdown", + "id": "ac0605fa", + "metadata": { + "editable": true + }, + "source": [ "## Compare Bagging on Trees with Random Forests" ] }, { "cell_type": "code", - "execution_count": 24, - "metadata": {}, + "execution_count": 25, + "id": "006072ad", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -2785,20 +2629,13 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.9790209790209791" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 26, + "id": "003cf5d0", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "bag_clf.fit(X_train, y_train)\n", "y_pred = bag_clf.predict(X_test)\n", @@ -2811,7 +2648,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9a3dc0e0", + "metadata": { + "editable": true + }, "source": [ "## Boosting, a Bird's Eye View\n", "\n", @@ -2823,9 +2663,16 @@ "This is done by applying in an iterative way a weak (or a standard\n", "classifier like decision trees) to modify the data. In each iteration\n", "we emphasize those observations which are misclassified by weighting\n", - "them with a factor.\n", - "\n", - "\n", + "them with a factor." + ] + }, + { + "cell_type": "markdown", + "id": "bd6778b6", + "metadata": { + "editable": true + }, + "source": [ "## What is boosting? Additive Modelling/Iterative Fitting\n", "\n", "Boosting is a way of fitting an additive expansion in a set of\n", @@ -2835,7 +2682,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c5fcd22e", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -2844,7 +2694,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "78d44b15", + "metadata": { + "editable": true + }, "source": [ "where $\\beta_m$ are the expansion parameters to be determined in a\n", "minimization process and $b(x;\\gamma_m)$ are some simple functions of\n", @@ -2858,7 +2711,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c9996ebd", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sigma(t) = \\frac{1}{1+\\exp{(-t)}},\n", @@ -2867,7 +2723,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "99f44cfa", + "metadata": { + "editable": true + }, "source": [ "where $t=\\gamma_0+\\gamma_1 x$ and the parameters $\\gamma_0$ and\n", "$\\gamma_1$ were determined by the Logistic Regression fitting\n", @@ -2878,7 +2737,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e1f135e6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\frac{1}{n} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -2887,7 +2749,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c478d51f", + "metadata": { + "editable": true + }, "source": [ "In this case the function $f(x)$ was replaced by the design matrix\n", "$\\boldsymbol{X}$ and the unknown linear regression parameters $\\boldsymbol{\\beta}$,\n", @@ -2897,7 +2762,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "eacf1612", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\beta}=\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", @@ -2906,11 +2774,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "46f16b45", + "metadata": { + "editable": true + }, + "source": [ + "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$." + ] + }, + { + "cell_type": "markdown", + "id": "5eb4ac91", + "metadata": { + "editable": true + }, "source": [ - "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$.\n", - "\n", - "\n", "## Iterative Fitting, Regression and Squared-error Cost Function\n", "\n", "The way we proceed is as follows (here we specialize to the squared-error cost function)\n", @@ -2927,12 +2805,18 @@ "\n", "c. Determine then the new values $f_m(x)=f_{m-1}(x) +\\beta_m b(x;\\gamma_m)$\n", "\n", - "\n", "We could use any of the algorithms we have discussed till now. If we\n", "use trees, $\\gamma$ parameterizes the split variables and split points\n", - "at the internal nodes, and the predictions at the terminal nodes.\n", - "\n", - "\n", + "at the internal nodes, and the predictions at the terminal nodes." + ] + }, + { + "cell_type": "markdown", + "id": "400a22f0", + "metadata": { + "editable": true + }, + "source": [ "## Squared-Error Example and Iterative Fitting\n", "\n", "To better understand what happens, let us develop the steps for the iterative fitting using the above squared error function.\n", @@ -2944,7 +2828,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d23b3758", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\beta_m,\\gamma_m) = \\mathrm{argmin}_{\\beta,\\lambda}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta b(x;\\gamma))^2=\\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta(1+\\gamma x_i))^2.\n", @@ -2953,7 +2840,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a5115a58", + "metadata": { + "editable": true + }, "source": [ "We start our iteration by simply setting $f_0(x)=0$. \n", "Taking the derivatives with respect to $\\beta$ and $\\gamma$ we obtain" @@ -2961,7 +2851,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6047081b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\beta} = -2\\sum_{i}(1+\\gamma x_i)(y_i-\\beta(1+\\gamma x_i))=0,\n", @@ -2970,14 +2863,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "984a310e", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "1774c56d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\gamma} =-2\\sum_{i}\\beta x_i(y_i-\\beta(1+\\gamma x_i))=0.\n", @@ -2986,14 +2885,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f013c681", + "metadata": { + "editable": true + }, "source": [ "We can then rewrite these equations as (defining $\\boldsymbol{w}=\\boldsymbol{e}+\\gamma \\boldsymbol{x})$ with $\\boldsymbol{e}$ being the unit vector)" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "44ce61c6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma \\boldsymbol{w}^T(\\boldsymbol{y}-\\beta\\gamma \\boldsymbol{w})=0,\n", @@ -3002,14 +2907,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d2a8fa9a", + "metadata": { + "editable": true + }, "source": [ "which gives us $\\beta = \\boldsymbol{w}^T\\boldsymbol{y}/(\\boldsymbol{w}^T\\boldsymbol{w})$. Similarly we have" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "9ca1e1b4", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta\\gamma \\boldsymbol{x}^T(\\boldsymbol{y}-\\beta(1+\\gamma \\boldsymbol{x}))=0,\n", @@ -3018,16 +2929,25 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2d5f9f2e", + "metadata": { + "editable": true + }, "source": [ "which leads to $\\gamma =(\\boldsymbol{x}^T\\boldsymbol{y}-\\beta\\boldsymbol{x}^T\\boldsymbol{e})/(\\beta\\boldsymbol{x}^T\\boldsymbol{x})$. Inserting\n", "for $\\beta$ gives us an equation for $\\gamma$. This is a non-linear equation in the unknown $\\gamma$ and has to be solved numerically. \n", "\n", "The solution to these two equations gives us in turn $\\beta_1$ and $\\gamma_1$ leading to the new expression for $f_1(x)$ as\n", - "$f_1(x) = \\beta_1(1+\\gamma_1x)$. Doing this $M$ times results in our final estimate for the function $f$. \n", - "\n", - "\n", - "\n", + "$f_1(x) = \\beta_1(1+\\gamma_1x)$. Doing this $M$ times results in our final estimate for the function $f$." + ] + }, + { + "cell_type": "markdown", + "id": "8a47601e", + "metadata": { + "editable": true + }, + "source": [ "## Iterative Fitting, Classification and AdaBoost\n", "\n", "Let us consider a binary classification problem with two outcomes $y_i \\in \\{-1,1\\}$ and $i=0,1,2,\\dots,n-1$ as our set of\n", @@ -3039,7 +2959,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c83405ad", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}=\\frac{1}{n} \\sum_{i=0}^{n-1} I(y_i\\ne G(x_i)).\n", @@ -3048,7 +2971,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "63915200", + "metadata": { + "editable": true + }, "source": [ "The iterative procedure starts with defining a weak classifier whose\n", "error rate is barely better than random guessing. The iterative\n", @@ -3061,7 +2987,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "62d49eea", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -3070,14 +2999,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "355f8ea3", + "metadata": { + "editable": true + }, "source": [ "will be a function of" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "15655aaa", + "metadata": { + "editable": true + }, "source": [ "$$\n", "G_M(x) = \\mathrm{sign} \\sum_{i=1}^M \\alpha_m G_m(x).\n", @@ -3086,7 +3021,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fb3519e7", + "metadata": { + "editable": true + }, "source": [ "## Adaptive Boosting, AdaBoost\n", "\n", @@ -3095,7 +3033,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "514da4e2", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_m(x) = f_{m-1}(x)+\\beta_mG_m(x).\n", @@ -3104,7 +3045,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f453f6d5", + "metadata": { + "editable": true + }, "source": [ "The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the\n", "exponential cost/loss function defined as" @@ -3112,7 +3056,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2ed109d7", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}\\exp{(-y_i(f_{m-1}(x_i)+\\beta G(x_i))}.\n", @@ -3121,7 +3068,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6119016a", + "metadata": { + "editable": true + }, "source": [ "We optimize $\\beta$ and $G$ for each value of $m=1:M$ as we did in the regression case.\n", "This is normally done in two steps. Let us however first rewrite the cost function as" @@ -3129,7 +3079,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cd90e9b4", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}w_i^{m}\\exp{(-y_i\\beta G(x_i))},\n", @@ -3138,10 +3091,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c4beab2f", + "metadata": { + "editable": true + }, + "source": [ + "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$." + ] + }, + { + "cell_type": "markdown", + "id": "a068939c", + "metadata": { + "editable": true + }, "source": [ - "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$.\n", - "\n", "## Building up AdaBoost\n", "\n", "First, for any $\\beta > 0$, we optimize $G$ by setting" @@ -3149,7 +3113,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6f5158db", + "metadata": { + "editable": true + }, "source": [ "$$\n", "G_m(x) = \\mathrm{sign} \\sum_{i=0}^{n-1} w_i^m I(y_i \\ne G_(x_i)),\n", @@ -3158,7 +3125,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e12623d6", + "metadata": { + "editable": true + }, "source": [ "which is the classifier that minimizes the weighted error rate in predicting $y$.\n", "\n", @@ -3167,7 +3137,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cf70dd50", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\exp{-(\\beta)}\\sum_{y_i=G(x_i)}w_i^m+\\exp{(\\beta)}\\sum_{y_i\\ne G(x_i)}w_i^m,\n", @@ -3176,14 +3149,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7d92acf9", + "metadata": { + "editable": true + }, "source": [ "which can be rewritten as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "dae938d4", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\exp{(\\beta)}-\\exp{-(\\beta)})\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i))+\\exp{(-\\beta)}\\sum_{i=0}^{n-1}w_i^m=0,\n", @@ -3192,14 +3171,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c3e02903", + "metadata": { + "editable": true + }, "source": [ "which leads to" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "3dbe4f45", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta_m = \\frac{1}{2}\\log{\\frac{1-\\mathrm{\\overline{err}}}{\\mathrm{\\overline{err}}}},\n", @@ -3208,14 +3193,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "85851689", + "metadata": { + "editable": true + }, "source": [ "where we have redefined the error as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "61cf6c2c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{1}{n}\\frac{\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i)}{\\sum_{i=0}^{n-1}w_i^m},\n", @@ -3224,14 +3215,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5d149194", + "metadata": { + "editable": true + }, "source": [ "which leads to an update of" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "472176ec", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_m(x) = f_{m-1}(x) +\\beta_m G_m(x).\n", @@ -3240,14 +3237,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ad92f969", + "metadata": { + "editable": true + }, "source": [ "This leads to the new weights" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "7947a478", + "metadata": { + "editable": true + }, "source": [ "$$\n", "w_i^{m+1} = w_i^m \\exp{(-y_i\\beta_m G_m(x_i))}\n", @@ -3256,7 +3259,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cb2b0255", + "metadata": { + "editable": true + }, "source": [ "## Adaptive boosting: AdaBoost, Basic Algorithm\n", "\n", @@ -3273,7 +3279,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "698f9a48", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{err}=\\frac{1}{n}\\sum_{i=0}^{n-1}I(y_i\\ne G(x_i)),\n", @@ -3282,10 +3291,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "87386a48", + "metadata": { + "editable": true + }, + "source": [ + "where the function $I()$ is one if we misclassify and zero if we classify correctly." + ] + }, + { + "cell_type": "markdown", + "id": "a462a21c", + "metadata": { + "editable": true + }, "source": [ - "where the function $I()$ is one if we misclassify and zero if we classify correctly. \n", - "\n", "## Basic Steps of AdaBoost\n", "\n", "With the above definitions we are now ready to set up the algorithm for AdaBoost.\n", @@ -3297,7 +3317,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9ca2a24f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{\\sum_{i=0}^{n-1}w_i^m I(y_i\\ne G(x_i))}{\\sum_{i=0}^{n-1}w_i},\n", @@ -3306,7 +3329,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2c24626a", + "metadata": { + "editable": true + }, "source": [ "1. Then we start looping over all attempts at classifying, namely we start an iterative process for $m=1:M$, where $M$ is the final number of classifications. Our given classifier could for example be a plain decision tree.\n", "\n", @@ -3318,7 +3344,6 @@ "\n", "d. Set the new weights to $w_i = w_i\\times \\exp{(\\alpha_m I(y_i\\ne G(x_i)}$.\n", "\n", - "\n", "5. Compute the new classifier $G(x)= \\sum_{i=0}^{n-1}\\alpha_m I(y_i\\ne G(x_i)$.\n", "\n", "For the iterations with $m \\le 2$ the weights are modified\n", @@ -3327,10 +3352,16 @@ "classified properly. As this proceeds, the observations which were\n", "difficult to classifiy correctly are given a larger influence. Each\n", "new classification step $m$ is then forced to concentrate on those\n", - "observations that are missed in the previous iterations.\n", - "\n", - "\n", - "\n", + "observations that are missed in the previous iterations." + ] + }, + { + "cell_type": "markdown", + "id": "a17333be", + "metadata": { + "editable": true + }, + "source": [ "## AdaBoost Examples\n", "\n", "Using **Scikit-Learn** it is easy to apply the adaptive boosting algorithm, as done here." @@ -3338,46 +3369,13 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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OTmZcuXK4ePjw2233ZbjScLFxYXGjRvj6+vLQw89RGRkpO25ffv20aFDB+688048PT159913SX2BxsqVK2nevDne3t54eXkxYsSIHI3NkXr37k2jRo2YMmWKXe0ddbmxiDB06FDq1atHo0aN2LlzZ6btOnTowOXLlx0SR06YP38+np6eeHp6Mn/+/AzbnDhxgoCAABo1akT79u05deqU7blRo0bh6+uLr68vixYtsq3v1asXhw8fdnj8TiMi+erBnYjKPSEhIZk+d+zYMQkODpaIiAixWCwOi6FUqVK2n/v27SvvvfeeiIjExMRInTp1ZNWqVSIicvXqVencubPMnDlTRET27NkjderUkf3794uISGJiosyaNStHY0tMTMzR7V0TFhYmNWrUuKHXpH6fctIvv/winTt3FovFIlu2bJEWLVpk2O7nn3+WYcOG3dC2k5KSciJEu1y8eFFq164tFy9elIiICKldu7ZERESka/f444/Ll19+KSIia9eulaeeekpErMd33333SWJiokRHR0uzZs0kKipKREQ2bNggzz33XK4dS3Yy+rsFdshNfu7q+QFlFxHBGJPmUbt2bfz8/KhYsSJFihRJ97y9jxvRunVrTp8+DcC3337LXXfdxf333w9AyZIlmTlzJh9++CEAEyZM4I033sDLywsAV1dXBg0alG6b0dHR9O/fn4YNG9KoUSMWL7aWMkv9Df3HH3/k6aefBuDpp5/m5Zdf5t577+XVV1+lVq1aaXo59erV49y5c4SHh9O9e3f8/f3x9/fnr7/+SrfvuLg4276bNGnC+vXrAbj//vs5f/48jRs3ZtOmTWlec+7cObp164afnx9+fn5s3rw53fEEBATQtGlTGjZsyLJlywC4evUqXbp0wc/PL8034tdee40GDRrQqFGjDHtcy5Yto2/fvhhjaNWqFZGRkYSFhaVrt2DBAh555BHb8qOPPkqzZs3w8fHhk08+sa0vXbo0b775Ji1btmTLli188803tGjRgsaNGzNgwACSk5MBGDhwIM2bN8fHx4e33nor3f5u1KpVq+jYsSMVK1akQoUKdOzYkd9++y1du5CQEAICrGfe7733Xtv7FxISQrt27XB1daVUqVL4+fnZXt+2bVvWrFlDUlLSLceZJ91shnHWQ3sUuSskJETi4uLk0KFDgvWy6Bx/ZOfaN+WkpCR5/PHH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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 27, + "id": "a8bb9367", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", "\n", @@ -3404,7 +3402,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f530b2c6", + "metadata": { + "editable": true + }, "source": [ "## Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent\n", "\n", @@ -3414,8 +3415,16 @@ "\n", "In order to understand the method, let us illustrate its basics by\n", "bringing back the essential steps in linear regression, where our cost\n", - "function was the least squares function.\n", - "\n", + "function was the least squares function." + ] + }, + { + "cell_type": "markdown", + "id": "58315eae", + "metadata": { + "editable": true + }, + "source": [ "## The Squared-Error again! Steepest Descent\n", "\n", "We start again with our cost function ${\\cal C}(\\boldsymbol{y}m\\boldsymbol{f})=\\sum_{i=0}^{n-1}{\\cal L}(y_i, f(x_i))$ where we want to minimize\n", @@ -3424,7 +3433,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "32d951e0", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\hat{\\boldsymbol{f}}) = \\mathrm{argmin}_{\\boldsymbol{f}}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3433,14 +3445,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fd247a3f", + "metadata": { + "editable": true + }, "source": [ "We define a real function $h_m(x)$ that defines our final function $f_M(x)$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "13bb6ef1", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{m=0}^M h_m(x).\n", @@ -3449,14 +3467,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "15a32911", + "metadata": { + "editable": true + }, "source": [ "In the steepest decent approach we approximate $h_m(x) = -\\rho_m g_m(x)$, where $\\rho_m$ is a scalar and $g_m(x)$ the gradient defined as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "ba097473", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g_m(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{m-1}(x_i)}.\n", @@ -3465,7 +3489,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "65a8a95a", + "metadata": { + "editable": true + }, "source": [ "With the new gradient we can update $f_m(x) = f_{m-1}(x) -\\rho_m g_m(x)$. Using the above squared-error function we see that\n", "the gradient is $g_m(x_i) = -2(y_i-f(x_i))$.\n", @@ -3475,7 +3502,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5b4709cd", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\rho_1) = \\mathrm{argmin}_{\\rho}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i+2\\rho y_i)^2.\n", @@ -3484,7 +3514,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9948cdb8", + "metadata": { + "editable": true + }, "source": [ "## Steepest Descent Example\n", "\n", @@ -3493,7 +3526,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "813dd249", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_1(x) = f_{0}(x) -\\rho_1 g_1(x)=-y_i.\n", @@ -3502,14 +3538,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1d40cfa7", + "metadata": { + "editable": true + }, "source": [ "We can then proceed and compute" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "aa9705f3", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g_2(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i,\n", @@ -3518,10 +3560,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d1de3470", + "metadata": { + "editable": true + }, + "source": [ + "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**." + ] + }, + { + "cell_type": "markdown", + "id": "5ac6239d", + "metadata": { + "editable": true + }, "source": [ - "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**. \n", - "\n", "## Gradient Boosting, algorithm\n", "\n", "Steepest descent is however not much used, since it only optimizes $f$ at a fixed set of $n$ points,\n", @@ -3533,7 +3586,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "63037c4c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f})=\\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3542,7 +3598,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cb6290bf", + "metadata": { + "editable": true + }, "source": [ "The way we proceed in an iterative fashion is to\n", "1. Initialize our estimate $f_0(x)$.\n", @@ -3555,83 +3614,33 @@ "\n", "c. update the estimate $f_m(x) = f_{m-1}(x)+h_m(u_m,x)$;\n", "\n", - "\n", - "4. The final estimate is then $f_M(x) = \\sum_{m=1}^M h_m(u_m,x)$.\n", - "\n", + "4. The final estimate is then $f_M(x) = \\sum_{m=1}^M h_m(u_m,x)$." + ] + }, + { + "cell_type": "markdown", + "id": "1e265de8", + "metadata": { + "editable": true + }, + "source": [ "## Gradient Boosting, Examples of Regression" ] }, { "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Max depth: 1\n", - "Error: 0.47355721367673903\n", - "Bias^2: 0.22077011251783993\n", - "Var: 0.25278710115889913\n", - "0.47355721367673903 >= 0.22077011251783993 + 0.25278710115889913 = 0.4735572136767391\n", - "Max depth: 2\n", - "Error: 0.48142907887100067\n", - "Bias^2: 0.22274557848791893\n", - "Var: 0.25868350038308174\n", - "0.48142907887100067 >= 0.22274557848791893 + 0.25868350038308174 = 0.48142907887100067\n", - "Max depth: 3\n", - "Error: 0.48142972227533726\n", - "Bias^2: 0.2227455925200145\n", - "Var: 0.2586841297553228\n", - "0.48142972227533726 >= 0.2227455925200145 + 0.2586841297553228 = 0.4814297222753373\n", - "Max depth: 4\n", - "Error: 0.48142972227533726\n", - "Bias^2: 0.2227455925200145\n", - "Var: 0.2586841297553228\n", - "0.48142972227533726 >= 0.2227455925200145 + 0.2586841297553228 = 0.4814297222753373\n", - "Max depth: 5\n", - "Error: 0.48142972227533726\n", - "Bias^2: 0.2227455925200145\n", - "Var: 0.2586841297553228\n", - "0.48142972227533726 >= 0.2227455925200145 + 0.2586841297553228 = 0.4814297222753373\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 28, + "id": "d311fcdc", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.ensemble import GradientBoostingRegressor\n", - "from sklearn.preprocessing import StandardScaler\n", "import scikitplot as skplt\n", "from sklearn.metrics import mean_squared_error\n", "\n", @@ -3647,15 +3656,11 @@ "variance = np.zeros(maxdegree)\n", "polydegree = np.zeros(maxdegree)\n", "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", - "scaler = StandardScaler()\n", - "scaler.fit(X_train)\n", - "X_train_scaled = scaler.transform(X_train)\n", - "X_test_scaled = scaler.transform(X_test)\n", "\n", "for degree in range(1,maxdegree):\n", " model = GradientBoostingRegressor(max_depth=degree, n_estimators=100, learning_rate=1.0) \n", - " model.fit(X_train_scaled,y_train)\n", - " y_pred = model.predict(X_test_scaled)\n", + " model.fit(X_train,y_train)\n", + " y_pred = model.predict(X_test)\n", " polydegree[degree] = degree\n", " error[degree] = np.mean( np.mean((y_test - y_pred)**2) )\n", " bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )\n", @@ -3677,64 +3682,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "032d2a60", + "metadata": { + "editable": true + }, "source": [ "## Gradient Boosting, Classification Example" ] }, { "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "[1. 0.86666667 0.93333333 1. 1. 0.92857143\n", - " 1. 0.92857143 0.92857143 0.92857143]\n", - "Test set accuracy with Random Forests and scaled data: 0.97\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEWCAYAAAB42tAoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXhMZ/vA8e8jIUoJIvadkMhmSyxdqKVSlCqlfi2qm6V4q1X6aim6avtWtSittqqllL61lG6UUrt4BY21ltgFEYnIOvfvj4lpIqvIZDJxf65rLjlnnjnnPiOZe855nnM/RkRQSimlslLM0QEopZQq3DRRKKWUypYmCqWUUtnSRKGUUipbmiiUUkplSxOFUkqpbGmiUEoplS1NFMrpGWOOGWOuGWNijTFnjTFzjTF33tCmjTHmd2NMjDEm2hizwhjT+IY2ZY0xHxpjIlK3dTh1uWIW+zXGmJHGmL3GmKvGmJPGmMXGGH97Hq9SBU0ThSoqHhSRO4EmQFPg39efMMa0Bn4FlgHVgLpAGLDRGFMvtU0JYA3gC4QAZYE2wEUgOIt9TgP+BYwEKgANgaVA15sN3hjjerOvUaqgaKJQRYqInAV+wZowrnsXmCci00QkRkQuicirwBZgYmqbAUAtoKeIhIuIRUTOi8jrIrLqxv0YY7yA54B+IvK7iCSISJyIzBeRd1LbrDPGPJ3mNU8YY/5MsyzGmOeMMYeAQ8aYWcaY92/YzzJjzAupP1czxnxvjIk0xhw1xoxM0y7YGLPDGHPFGHPOGPPBLbyNSqWjiUIVKcaYGsADwOHU5VJYzwwWZ9L8O6BT6s8dgZ9FJDaXu+oAnBSRbbcWMQ8BLYHGwAKgrzHGABhjygP3AwuNMcWAFVjPhKqn7v95Y0zn1O1MA6aJSFmgfuqxKZUvNFGoomKpMSYGOAGcB15LXV8B6+/5mUxecwa43v/gkUWbrNxs+6y8nXqGcw3YAAhwT+pzvYHNInIaCAI8RWSyiCSKyBHgM+DR1LZJQANjTEURiRWRLfkQm1KAJgpVdDwkImWAdoA3/ySAKMACVM3kNVWBC6k/X8yiTVZutn1WTlz/QawVOhcC/VJX/R8wP/Xn2kA1Y8zl6w9gHFA59fmnsPaR7DfGbDfGdMuH2JQCNFGoIkZE/gDmAu+nLl8FNgOPZNK8D9YObIDVQGdjTOlc7moNUMMY0yKbNleBUmmWq2QW8g3L3wK9jTG1sV6S+j51/QngqIiUS/MoIyJdAETkkIj0AyoBU4AlN3EsSmVLE4Uqij4EOhljrndovwwMTB3KWsYYU94Y8wbQGpiU2uZrrB/G3xtjvI0xxYwxHsaYccaYLjfuQEQOATOBb40x7YwxJYwxJY0xjxpjXk5ttgt42BhTyhjTAOu3/myJyP+ASGAO8IuIXE59ahtwxRgz1hhzhzHGxRjjZ4wJAjDGPG6M8RQRC3D9NSk386YplRVNFKrIEZFIYB4wPnX5T6Az8DDWfoXjWIfQ3p36gY+IJGDt0N4P/AZcwfrhXBHYmsWuRgLTgRlYP5z/Bnpi7XQGmAokAueAr/jnMlJOvk2NZUGaY0oBHsQ6muso1ktmcwD31CYhwF/GmFisHduPikh8LvenVLaMTlyklFIqO3pGoZRSKluaKJRSSmVLE4VSSqlsaaJQSimVLacrRFaxYkWpU6eOo8NQSimnEhoaekFEPPPyWqdLFHXq1GHHjh2ODkMppZyKMeZ4Xl+rl56UUkplSxOFUkqpbGmiUEoplS1NFEoppbKliUIppVS2NFEopZTKlt2GxxpjvgC6AedFxC+T5w3WKpddgDjgCRHZaa948urPPyOIiUmwLd91Vy3KlnXL0C4q6hpbtpy0LZcrV5LWrWtmus3du89x6tQV27K/f2Vq1CiboZ3FIvzyy2HbsjGGkJAGmW7z+PHLhIdH2pZr1XLH17eSHpMekx6THtMts1v1WGPMvUAs1kntM0sUXYARWBNFS6zz/bbMabstWrSQ/LqPIikphWXLDtCrlw+p0xT/o8Mi2B1JQNRl9qT8U9Y/LGwIAQGV/2kXdh46fsfmpCTaRP/zH9uqVQ02b75h+oEXfoevwxkUE8vchH9+sb74ojuDBjVN39ZzOkkilLh4ybbK1bUYSUnj07ebtxdeXMf0a9cYcTXOtvq554KYPv2GaRT0mPSY9Jhuy2NKfGE1bhdHhYpIdhNtZcluZxQist4YUyebJj2wJhEBthhjyhljqopIfsxDnLV5e5EX1vJLUhIvXo0jPCUFJn0Ldx1I12xHzEs0p1aGlwduDYTIc7blZkdqEsqYDO22RG/GrHk63brZpx7lWe7K0PbJ8Cd5cs2udOuEjzO0S5YkzJr0Ce2ZfW341DZz5j9mnJzBjDVd9Zj0mPSYbvNjaj2vDjGXEzK0vRmO7KOoTpr5goGTqesyMMY8a4zZYYzZERkZmVmTm7IgIZEHrsRYkwTArM6Q6HLL21VKqcKmQqXShKecvaVtOLKEh8lkXabXwUTkU+BTsF56utUddy1RHDfAlmPPVIAurYCN2C7FlVkERHJXcVeqFysGwVWgjBszO+6jbt3y/2ys4nngO8oZQ0jx4lCmBARXxdu7JVM7zEm/45W/A+H4u7oQYikO3hWgehlGdVrC/R3q3xDldAxYtwnQoTYuLoYfO9xw+Kf2AuuoVczF2rb6neDtwYP3d2FYh5Xp2+ox6THpMRX5Y/qkYQQ//vgjQ4cOtR3T0Z+XUC9qEnll1xnuUi89/ZhFH8VsYJ2IfJu6fABol9Olp9z2UYhIxn4HsF2D7HMlhsWJiQAMGtSEL798HIhFZ/xTSjmj5ORkPvroIyZMmMDVq1dZv34999xzj+15Y0zh66PIheXAcGPMQqyd2dH51T+xZ885nm8+h+dL3sGDbiUAMAtHWJ+sDiwEtjWAn5vC+o18+eXp/NitUko5xNatWxk8eDBhYWEA9OrVi3r16uXb9u05PPZboB1Q0RhzEngNKA4gIrOAVVhHPB3GOjx20K3u89Kla4wc+RMLFuxBBEKTY9nh6k4Dl0z6H4IPgxyG9f+s6tKlS8Z2SilVSEVFRTFu3Dhmz56NiFCnTh2mT59O165dc37xTbDnqKeMQwfSPy/Ac7e0k3URMHodjGwGA/y4884SbNx4gutXj6JFePhKDFvKuSM3XosE6ACMu6UIlFLKYSZNmsSsWbNwdXVl9OjRjB8/nlKlSuX7fpxuPgrgnwRx/J8xyV13dWXVxVXQJxDe7Wlb71nMEO5xkTxdmFNKqUImOTkZV1frR/err77K0aNHefPNN/Hzy9AVnG+cs4THDUkCIGhW6hlDh91Q+zzUPcfyMmX4tEESP4w5UvAxKqVUPoqPj2fSpEkEBQWRmDoQp2LFiixbtsyuSQLsPOrJHlq0aCE77n2X2MQU7izhAl+HQ+VSHJEI6n80CToClAVi6NLlAVauXJnDFpVSqnBbs2YNQ4cO5dChQwAsX76cBx988Ka2cSujnpzujCIlRXi1FFT/OpQDLqlJrqQrg59eaGsjEo2IRZOEUsqpnTt3jscff5yOHTty6NAhfHx8WLdu3U0niVvldGcUxlQRSL2RhHDgO+uPq1NXdUTvhVBKOb1vvvmGESNGcPnyZUqWLMmECRN48cUXKVGiRJ6256z3UeRR2pOgxkANrNU/rHSIq1KqKLBYLFy+fJmQkBBmzJiRr/dF3Cynu/RUMs3PlSuXZunS39KdQejlJqWUM4qNjeW3336zLffv35/ffvuNVatWOTRJgBNeeqpdsqqcSXmGpH4boM8muCMx3fOZ3i+hlFKF2NKlSxkxYgSRkZHs3buXBg3sMKfE7dSZ7ZlSnHNlK8LAdRmSRBcPveyklHIex48fp0ePHvTs2ZOTJ0/i7+9PQsKtlQS3Byfso4DyxYrpmYNSymklJSXx4YcfMnHiROLi4ihTpgxvvfUWQ4cOxSWzkkMO5nSJYl/1s7Csj6PDUEqpPBs5ciSzZs0CoE+fPkydOpVq1ao5OKqsOd2lpzi3JAjMfO5apZRyBs8//zw+Pj789NNPLFq0qFAnCXDCzmzTyIgccK6YlVK3LxHhm2++YdWqVSxYsMA2T47FYqFYsYL7rn5bdWYrpZSzOHDgAB06dGDAgAEsXLiQn376yfZcQSaJW+U8kSqllJO4du0aEyZMICAggLVr1+Lh4cHcuXN54IEHHB1anjhdZ7ZSShVmq1evZsiQIfz9998APPXUU0yZMgUPDw8HR5Z3TndGUSqhOISdd3QYSimVqU2bNvH333/j6+vLhg0bmDNnjlMnCXDCMwqfU1Wg43cQOdzRoSilFCkpKRw+fJhGjRoBMHbsWCpWrMjTTz+d5wJ+hY3TnVEopVRh8b///Y82bdpw9913c+nSJQDc3NwYNmxYkUkSoIlCKaVuWkxMDKNGjaJFixZs27YNNzc3W59EUeR0iSKuRCIEeDo6DKXUbUhE+P777/Hx8eHDDz8EYNSoUezbt4+goCAHR2c/esOdUkrl0r/+9S8++ugjAIKCgpg9ezZNmzZ1cFS5ozfcKaVUAejZsyfu7u7MmDGDzZs3O02SuFV6RqGUUln4888/Wbt2LePHj7etu3LlCmXLlnVgVHlzm02FqpRS9nXx4kXGjh3L559/DkCHDh1o06YNgFMmiVuliUIppVKJCPPmzWP06NFcuHCB4sWL8/LLL982l5iyoolCKaWAffv2MXToUP744w8A7rvvPmbOnIm3t7eDI3M8p+vMrhVZHl743dFhKKWKmA8++IA//vgDT09Pvv76a9asWaNJIpXTnVF4xtwJX4fDB+0dHYpSyslFR0fj7u4OwNtvv03p0qWZMGECFSpUcHBkhYvTnVEopdStOn36NH379qVVq1YkJiYCULFiRT788ENNEpnQRKGUum2kpKTw8ccf4+3tzXfffUdERAQ7d+50dFiFntMliuMVL8F/2jk6DKWUkwkNDaVly5aMHDmSmJgYunfvzr59+2jVqpWjQyv07JoojDEhxpgDxpjDxpiXM3ne3RizwhgTZoz5yxgzKKdtXih7FQb42SdgpVSRNHHiRIKDgwkNDaVmzZosXbqUZcuWUatWLUeH5hTsliiMMS7ADOABoDHQzxjT+IZmzwHhIhIItAP+Y4wpOrV5lVKFQr169TDG8OKLLxIeHk6PHj0cHZJTseeop2DgsIgcATDGLAR6AOFp2ghQxhhjgDuBS0CyHWNSSt0Gjhw5wvbt2+nbty8A/fv3p2XLlrbJhdTNseelp+rAiTTLJ1PXpTUd8AFOA3uAf4mI5cYNGWOeNcbsMMbssFewSinnl5iYyFtvvYWvry8DBw7k8OHDABhjNEncAnsmCpPJuhur+XUGdgHVgCbAdGNMhkIqIvKpiLTIa0ErpVTRt379epo0acIrr7xCfHw8vXv3vi3rMtmDPRPFSaBmmuUaWM8c0hoE/FesDgNHAb0VUimVaxcuXGDQoEG0bduWffv24eXlxerVq/nmm2+oVKmSo8MrEuyZKLYDXsaYuqkd1I8Cy29oEwF0ADDGVAYaAUey22jzIzXBc7odwlVKOaMhQ4Ywd+5c3NzcmDRpErt376ZDhw6ODqtIsVtntogkG2OGA78ALsAXIvKXMWZI6vOzgNeBucaYPVgvVY0VkQv2ikkpVTRYLBaKFbN+z33zzTe5du0aH374IV5eXg6OrGhyuomLWhSvJTvKjYHI4Y4ORSlVwOLi4nj99dfZtWsXq1atwjpgUuWGTlyklCryVq5cyfDhwzl27BjGGLZt20bLli0dHdZtwelKeITWO6FnE0rdRk6ePEmvXr3o1q0bx44dIzAwkE2bNmmSKEBOlyiUUrePmTNn4uPjw3//+19Kly7NBx98wI4dO7Q+UwHTS09KqULrwoULxMbG0rNnT6ZNm0bNmjVzfpHKd07XmW0aGZEDzhWzUip3Ll++zP79+21nDAkJCaxdu5aQkBAHR+b8bqUzWy89KaUcTkRYuHAhPj4+dO/enUuXLgHg5uamSaIQ0EShlHKow4cPExISQr9+/Th79ixeXl5ER0c7OiyVhtMliopXSsO8vY4OQyl1ixISEnj99dfx8/Pj119/pXz58nz22Wds2LCBunXrOjo8lUauO7ONMaVF5Ko9g8mN2hcqwIvrdPIipZxc3759WbZsGQADBgzgvffe09pMhVSOZxTGmDbGmHBgX+pyoDFmpt0jU0oVac8//zze3t78/vvvfPXVV5okCrHcnFFMxVoOfDmAiIQZY+61a1RKqSLFYrHwxRdfsG/fPv7zn/8A0K5dO/bu3YuLi4uDo1M5ydWlJxE5cUNNlRT7hJOzyDKx0P/GGVWVUoXVnj17GDJkCJs2bQKsl5kCAwMBNEk4idx0Zp8wxrQBxBhTwhgzmtTLUI4Q4RkFH7R31O6VUrl09epVxowZQ9OmTdm0aRNVqlRh4cKFBAQEODo0dZNyc0YxBJiGdRrTk8CvwDB7BqWUcm4rVqxg+PDhREREYIzhueee480338Td3d3Roak8yE2iaCQij6VdYYy5C9hon5CUUs5u6dKlRERE0LRpU2bPnk1QUJCjQ1K3IMcSHsaYnSLSLKd1BUVLeChV+CQnJ3Pq1Clq164NWGs0LVy4kCFDhuDqqiXlCgO7zEdhjGkNtAE8jTEvpHmqLNYZ65RSii1btjBkyBASEhIICwujRIkSVKxYkeHDdTqAoiK7zuwSwJ1Yk0mZNI8rQG/7h6aUKsyioqIYOnQobdq0ISwsjPj4eI4dO+bosJQd5ObSU20ROV5A8eSocekqEt5qGqzp6+hQlLotiQjffvsto0aN4vz587i6uvLSSy/x6quvUqpUKUeHp7Jg76lQ44wx7wG+QMnrK0XEIWNUSyWWgN2Rjti1Ugp47LHH+PbbbwG45557+OSTT/D19XVwVMqecnMfxXxgP1AXmAQcA7bbMSalVCEWEhKCh4cHX3zxBevWrdMkcRvITaLwEJHPgSQR+UNEngR0HkKlbhOrV69m9uzZtuX+/ftz8OBBBg0aRLFiTleAWuVBbv6Xk1L/PWOM6WqMaQrUsGNM2dpX/Sys7uOo3St12zh37hyPPfYYnTp14l//+hd///03AMYYKlSo4ODoVEHKTR/FG8YYd+BF4GOsw2Oft2tU2YhzS4JArTKplL1YLBY+/fRTXn75ZaKjoylZsiQTJkzQ+apvYzkmChH5MfXHaOA+sN2ZrZQqYsLCwhg8eDBbt24F4IEHHmD69OnUq1fPwZEpR8ruhjsXoA/WGk8/i8heY0w3YBxwB9C0YEJUShWUMWPGsHXrVqpVq8a0adPo1asXN1SOVrehLO+jMMbMBWoC24CWwHGgNfCyiCwtqAAzxKUlPJTKNyJCXFwcpUuXBuDAgQPMmjWLSZMmUbZsWQdHp/LTrdxHkV2i2AsEiIjFGFMSuAA0EJGzeQ/11mmiUCp/HD9+nBEjRnD16lVWr16tZw5F3K0kiuxGPSWKiAVAROKBg45OEgClEopD2HlHh6GU00pKSuLdd9+lcePGrFixgu3bt3Po0CFHh6UKsewShbcxZnfqY0+a5T3GmN0FFeCNfE5VgY7fOWr3Sjm1jRs30qxZM8aOHUtcXBx9+/Zl//79NGzY0NGhqUIsu1FPPgUWhVLK7kaMGMH06dMBqFevHjNmzCAkJMTBUSlnkGWiKEyFAJVSt87T05PixYszduxYxo0bxx133OHokJSTsOv998aYEGPMAWPMYWPMy1m0aWeM2WWM+csY80dO24wrkQgBnvkfrFJFzP79+/n1119ty2PHjmX37t28/vrrmiTUTcmxzHieN2y9D+Mg0AnrXNvbgX4iEp6mTTlgExAiIhHGmEoikm1PtY56Uip7165d46233mLKlCmUK1eO/fv3a8kNZfcy4xhj7gBqiciBm9h2MHBYRI6kbmMh0AMIT9Pm/4D/ikgEQE5JQimVvV9//ZVhw4bZ6jJ1795dh72qW5bjpSdjzIPALuDn1OUmxpjludh2deBEmuWTqevSagiUN8asM8aEGmMG5C5spVRaZ86c4dFHH6Vz5878/fff+Pr6smHDBubMmUP58uUdHZ5ycrk5o5iI9exgHYCI7DLG1MnF6zL7GnPjNSNXoDnQAWtZkM3GmC0icjDdhox5FngWsKYWpVQ6Dz/8MFu2bOGOO+5g4sSJjBo1iuLFizs6LFVE5KYzO1lEovOw7ZNYS4BcVwM4nUmbn0XkqohcANYDgTduSEQ+FZEWeb2+plRRlLZ/8Z133qFbt26Eh4czZswYTRIqX+UmUew1xvwf4GKM8TLGfIy1Azon2wEvY0xdY0wJ4FHgxktWy4B7jDGuxphSWGtK7buJ+JW67cTExDBq1CgGDx5sW9e2bVtWrFhBnTp1HBeYKrJykyhGYJ0vOwFYgLXceI7zUYhIMjAc+AXrh/93IvKXMWaIMWZIapt9WPs+dmMtPjhHRPZmt91akeXhhd9zEbZSRYuI8P333+Pj48OHH37Il19+ybFjxxwdlroN5Dg81hjTVET+V0Dx5KhF8Vqyo9wYiBzu6FCUKjBHjx5l+PDhrFq1CoDg4GBmzZpF06Za7V/ljr2KAl73gTFmvzHmdWOMzqKuVAESEaZMmYKvry+rVq3C3d2dmTNnsmnTJk0SqsDkmChE5D6gHRAJfJpaFPBVewemlLLOT33w4EGuXbtGv3792L9/P0OHDsXFxcXRoanbyE3dmW2M8QfGAH1FpITdosqGZ9U7JXLKFhjg54jdK2V3Fy5c4OzZs/j5+dmW//e//9GpUycHR6acmV0mLkqzcR+gL9AbuAgsBL531F3UWsJDFVUiwldffcXo0aPx9PQkLCyMEiUc8n1MFUH2LuHxJfAtcL+I3HgfhFIqH+zbt48hQ4awfv16AAIDA4mKiqJy5coOjkypXCQKEWlVEIEodTuKi4vjzTff5L333iMpKQlPT08++OADHnvsMa3RpAqNLBOFMeY7EemTOrtd2ms9BhARCbB7dEoVYSJC+/bt2bp1KwCDBw/m7bff1tpMqtDJ7oziX6n/diuIQJS63RhjGDZsGHFxccyePZvWrVs7OiSlMpWbzuwpIjI2p3UFRTuzlbNKSUlh5syZJCUl8cILLwDWs4rk5GStzaTszt433GU2Ju+BvOwsPzQ/UhM8pztq90rlyY4dO2jZsiUjR45k3LhxnD5tHRdijNEkoQq9LBOFMWZoav9EI2PM7jSPo1hrMymlchAdHc2IESMIDg4mNDSUmjVrsmjRIqpVq+bo0JTKtez6KBYAPwFvA2nnu44RkUt2jUopJyciLF68mOeff54zZ87g4uLCqFGjeO2117jzzjsdHZ5SNyW7RCEicswY89yNTxhjKmiyUCp7s2fP5syZM7Rq1YpZs2YRGJhhqhWlnEKWndnGmB9FpFvqpSYh/Yx1IiL1CiLADHFpZ7YqpBISErh8+bLtJrkDBw6wbt06nnnmGYoVy013oFL2Y9cSHoWNJgpVGP3xxx8MGTKEatWqsXr1ar1ZThU6dh31ZIy5yxhTOvXnx40xHxhjauVlZ0oVNZGRkTzxxBO0a9eO/fv3c+LECc6dO+fosJTKV7k5H/4EiDPGBGKtHHsc+NquUSlVyFksFj7//HO8vb356quvcHNzY9KkSezevZsqVao4Ojyl8lVuigImi4gYY3oA00Tkc2PMQHsHplRhJSJ07tyZ1atXA9CxY0dmzpyJl5eXgyNTyj5yc0YRY4z5N9AfWGmMcQH0DiF12zLGcM8991C5cmUWLFjAr7/+qklCFWm5KeFRBfg/YLuIbEjtn2gnIvMKIsAb6cRFyhFWrlxJUlISDz30EGAd4XTt2jXKlSvn4MiUyh27dmaLyFlgPuBujOkGxDsqSQDUvlABXlznqN2r28zJkyfp1asX3bp145lnnuHSJevtQ25ubpok1G0jN6Oe+gDbgEeAPsBWY0xvewemlCMlJyczdepUfHx8+O9//0vp0qUZN24cZcuWdXRoShW43HRmvwIEXZ/61BjjCawGltgzMKUcZdu2bQwePJhdu3YB0LNnT6ZNm0bNmjUdHJlSjpGbRFHshvmxL5K7TnC7iCwTC/0bO2r3qoizWCwMGjSI8PBwatWqxfTp03nwwQcdHZZSDpWbzuz3gACs82YD9AV263wUqqgQERISEihZsiQA69at46effmLChAmULl3awdEplT/sXsLDGPMwcDfWek/rReSHvOwsP2iiUPnp8OHDDBs2jJo1a/L55587Ohyl7MYuicIY4wW8D9QH9gCjReRUnqPMJ5ooVH5ISEhgypQpvPXWWyQkJFChQgUOHjyIh4eHo0NTyi7sNTz2C+BHoBcQCnyclx0oVdj8/vvvBAQE8Nprr5GQkMDAgQPZv3+/JgmlspBdZ3YZEfks9ecDxpidBRGQUvaSkpLCoEGD+Ppra6myRo0aMWvWLNq1a+fYwJQq5LJLFCWNMU35Zx6KO9Iui4gmDuVUXFxccHV1pWTJkrz66quMHj0aNzc3R4elVKGXXR/F2mxeJyLS3j4hZa9x6SoS3moarOnriN0rJ7Nnzx7i4+MJCgoC4OLFi1y+fJn69es7ODKlCtat9FFkeUYhIvflPST7KZVYAnZHOjoMVchdvXqViRMnMnXqVLy8vAgLC6NEiRJ4eHhoX4RSNyk3N9wp5VSWL1/OiBEjiIiIwBhDx44dSUpKokSJEo4OTSmnZNc7rI0xIcaYA8aYw8aYl7NpF2SMSdEaUupWRERE8NBDD9GjRw8iIiJo1qwZ27Zt4+OPP9Yb55S6BXY7o0idt2IG0Ak4CWw3xiwXkfBM2k0BfsnNdvdVPwvL+uR3uMrJpaSk0K5dO44ePUqZMmV44403GDZsGK6uetKs1K3KTfVYkzpX9oTU5VrGmOBcbDsYOCwiR0QkEVgI9Mik3Qjge+B8Js9lEOeWBIGVctNU3QauD8ZwcXFh4sSJ9O7dm3379jFy5EhNEkrlk9xcepoJtAb6pS7HYD1TyEl14ESa5ZOp62yMMdWBnsCs7DZkjHnWGLPDGLMjF/tVt4GoqCiGDBnCW2+9ZVvXv39/Fi9eTPXq1bN5pVLqZuUmUbQUkeeAeAARiQJy0ytoMll341jcD0ooErgAACAASURBVIGxIpKS3YZE5FMRaZHXoV2q6BAR5s+fj7e3N7Nnz2bKlClER0cD1ilKlVL5Lzfn5kmp/QgCtvkoLLl43UkgbQH/GsDpG9q0ABam/oFXBLoYY5JFZGkutq9uMwcPHmTYsGGsWbMGgHvuuYdPPvkEd3d3B0emVNGWmzOKj4AfgErGmDeBP4G3sn8JANsBL2NMXWNMCeBRYHnaBiJSV0TqiEgdrBMhDdMkoW6UnJzMxIkT8ff3Z82aNXh4ePDFF1/wxx9/4Ovr6+jwlCrycjyjEJH5xphQoAPWy0kPici+XLwu2RgzHOtoJhfgCxH5yxgzJPX5bPslslIqoTiEndcO7duIi4sLGzZsIDExkSeffJIpU6ZQsWJFR4el1G0jNxMX1cpsvYhE2CWiHLQoXkt2lBsDkcMdsXtVQM6dO0d8fDy1a9cG4NChQ5w5c4Z7773XwZEp5ZzsVWb8upVYy42vBNYAR4Cf8rIzpXJisViYNWsWjRo14qmnnrINf/Xy8tIkoZSD5ObSk3/aZWNMM2Cw3SJSt61du3YxZMgQtm7dCkCJEiWIjY2lTJkyDo5MqdvbTZfwSC0vHmSHWHIlrkQiBHg6avfKDmJiYnjhhRdo3rw5W7dupVq1aixevJiVK1dqklCqEMhNH8ULaRaLAc0ADxHpbM/AsoxHp0ItUhITE/H19eXw4cMUK1aMESNGMHnyZMqWLevo0JQqUuxSZjyNtF/pkrH2VXyfl50pdaMSJUrQv39/VqxYwaxZs2jevLmjQ1JK3SDbM4rUG+3eEZGXCi6k7OkZhXNLSkpi6tSp1KpVi0cffRSwnlW4uLjg4uLi4OiUKrrsckZhjHFNvReiWd5DU+ofGzduZMiQIezduxdPT0+6devGnXfeqfNEKFXIZXfpaRvW/ohdxpjlwGLg6vUnReS/do5NFRGXLl1i7NixzJkzB4B69eoxc+ZM7rzzTgdHppTKjdz0UVQALgLtsdZ7Mqn/aqJQ2RIRvv76a1588UUuXLhA8eLFGTt2LOPGjeOOO+5wdHhKqVzKso/CGHMS+IB/EkPa0pwiIh/YP7yMaleoIMefWAIftHfE7m87SUlJnDx5kvj4+Jt+rYhw5swZkpKScHNzw8PDg+LFi9shSqXUdSVLlqRGjRoZ/tbsNerJBbiT3JULLzCeMXfC1+GaKArIyZMnKVOmDHXq1MlVGW+LxYLFYrFNGlSzZk0SEhLw8PDQMuBK2ZmIcPHiRU6ePEndunXzbbvZJYozIjI53/aknFJ8fHyuk0R0dDQRERG2xAJQpkwZvWlOqQJijMHDw4PIyMh83W52iUK//ikg5wmBEhMTOXHiBFFRUQAUK1aMlJQUHe6qlAPY48w9u0TRId/3lg+OV7wEU9o5OgyF9TQ3MjKSU6dOkZKSQrFixahWrRqVKlWiWLGbrg6jlCqksvxrFpFLBRlIbl0oexUG+Dk6jNuexWJh//79REREkJKSgru7O76+vlSpUiXfk4SLiwtNmjTBz8+PBx98kMuXL9ue++uvv2jfvj0NGzbEy8uL119/nbQDNH766SdatGiBj48P3t7ejB49Ol9js6d+/foREBDA1KlTc9XeXsONRYSRI0fSoEEDAgIC2LlzZ5bt2rdvz5UrV+wSR34ICQmhXLlydOvWLcs2CQkJ9O3blwYNGtCyZUuOHTtme+6rr77Cy8sLLy8vvvrqK9v6Rx99lEOHDtkzdMcSEad60BBRBSc8PDzL544ePSphYWFy6dIlsVgsdouhdOnStp8HDBggb7zxhoiIxMXFSb169eSXX34REZGrV69KSEiITJ8+XURE9uzZI/Xq1ZN9+/aJiEhSUpLMmDEjX2NLSkrK1+1dd+bMGalVq9ZNvSbt+5SfVq5cKSEhIWKxWGTz5s0SHBycabsff/xRnn/++ZvadnJycn6EmGurV6+W5cuXS9euXbNsM2PGDBk8eLCIiHz77bfSp08fERG5ePGi1K1bVy5evCiXLl2SunXryqVLl0REZN26dfL000/b/wByKbO/W2CH5PVzN68vdNRDE0XBuv4LZ7FYBOtot3x/5CTtB+Ann3wiQ4cOFRGROXPmSP/+/dO1PXz4sNSoUUNERPr37y+ff/55jtuPiYmRJ554Qvz8/MTf31+WLFmSYb+LFy+WgQMHiojIwIEDZdSoUdKuXTt5/vnnpXbt2hIVFWVrW79+fTl79qycP39eHn74YWnRooW0aNFC/vzzzwz7vnbtmm3fTZo0kd9//11ERPz9/aVkyZISGBgo69evT/eas2fPykMPPSQBAQESEBAgGzduTBdvTEyMtG/fXpo2bSp+fn6ydOlSERGJjY2VLl26SEBAgPj6+srChQtFRGTs2LHi4+Mj/v7+8uKLL2aI8dlnn5UFCxbYlhs2bCinT5/O0K5fv36ydu1a23KPHj2kWbNm0rhxY5k9e7ZtfenSpWX8+PESHBwsGzZskK+//lqCgoIkMDBQnn32WVvyGDJkiDRv3lwaN24sEyZMyLC/vFq7dm22ieL++++XTZs2iYj1i4CHh4dYLBZZsGCBPPvss7Z2ad+XlJQUqVOnjt2+ONys/E4UubnhTt3mEhISiIhwyISG6aSkpLBmzRqeeuopwHrZ6cYigvXr1yc2NpYrV66wd+9eXnzxxRy3+/rrr+Pu7s6ePXsAbJ3y2Tl48CCrV6/GxcUFi8XCDz/8wKBBg9i6dSt16tShcuXK/N///R+jRo3i7rvvJiIigs6dO7NvX/pZhGfMmAHAnj172L9/P/fffz8HDx5k+fLldOvWjV27dmXY98iRI2nbti0//PADKSkpxMbGpnu+ZMmS/PDDD5QtW5YLFy7QqlUrunfvzs8//0y1atVYuXIlYB2ldunSJX744Qf279+PMSbdZb3rTp06Rc2aNW3LNWrU4NSpU1StWjVdu40bNzJ79mzb8hdffEGFChW4du0aQUFB9OrVCw8PD65evYqfnx+TJ09m3759TJkyhY0bN1K8eHGGDRvG/PnzGTBgAG+++SYVKlQgJSWFDh06sHv3bgICAtLt87333mP+/PkZYr733nv56KOPMv2/y0na43V1dcXd3Z2LFy9m+T6AdQBHgwYNCAsLK5KFLTVRqCwlJiYSHR3NX3/9hcViYefOnVSvXh1PT88CvSfi2rVrNGnShGPHjtG8eXM6deoEWM+Gs4rjZuJbvXo1CxcutC2XL18+x9c88sgjtlFdffv2ZfLkyQwaNIiFCxfSt29f23bDw8Ntr7ly5QoxMTHphgv/+eefjBgxAgBvb29q167NwYMHsy2z/vvvvzNv3jzA2n/j7u6e7nkRYdy4caxfv55ixYpx6tQpzp07h7+/P6NHj2bs2LF069aNe+65h+TkZEqWLMnTTz9N165dM712L5nclJvZ+3vp0qV0x/bRRx/xww8/AHDixAkOHTqEh4cHLi4u9OrVC4A1a9YQGhpKUJB1iptr165RqVIlAL777js+/fRTkpOTOXPmDOHh4RkSxUsvvcRLL+VvzdKsjjen96FSpUqcPn26SCYKHZqiMrVhwwaaNm3K5cuXsVgsVKhQAT8/PypVqlTgN87dcccd7Nq1i+PHj5OYmGj7Fu7r68uOHTvStT1y5Ah33nknZcqUwdfXl9DQ0By3n1XCSbvuxjvTS5cubfu5devWHD58mMjISJYuXcrDDz8MWDv8N2/ezK5du9i1axenTp3KcE9JZh8+t2r+/PlERkYSGhrKrl27qFy5MvHx8TRs2JDQ0FD8/f3597//zeTJk3F1dWXbtm306tWLpUuXEhISkmF7NWrU4MSJE7blkydPUq1atQztXF1dsVgsAKxbt47Vq1ezefNmwsLCaNq0qe09LFmypC3JiggDBw60vUcHDhxg4sSJHD16lPfff581a9awe/duunbtmml1gPfee48mTZpkeIwcOTLP71/a401OTiY6OpoKFSrk+D7Ex8cX2dI0Tpcomh+pCZ7THR1GkXbt2jV69+5NeHg4rq6uNGzYkHr16jm8/Ia7uzsfffQR77//PklJSTz22GP8+eefrF692hb3yJEjGTNmDGD9tvnWW29x8OBBwPrB/cEHGSvP3H///Uyf/s/v1PVLT5UrV2bfvn22S0tZMcbQs2dPXnjhBXx8fPDw8Mh0u5ldRrr33nttl04OHjxIREQEjRo1yvZ96NChA5988glgvRx34yij6OhoKlWqRPHixVm7di3Hjx8H4PTp05QqVYrHH3+c0aNHs3PnTmJjY4mOjqZLly58+OGHmcbYvXt35s2bh4iwZcsW3N3dM1x2AmjUqBFHjhyxxVC+fHlKlSrF/v372bJlS5bHsmTJEs6fPw9Yz0qOHz/OlStXKF26NO7u7pw7d46ffvop09e/9NJLtiST9pHXy07Xj/f6iKYlS5bQvn17jDF07tyZX3/9laioKKKiovj111/p3Pmf+dsOHjyIr69vnvdbqOW1c8NRj+auNUUqfnyzfTsqBxaLJV1H3DfffCMTJkyQv/76y4FRWd04mqdbt24yb948ERHZvXu3tG3bVho2bCj169eXiRMnphuBtWLFCmnWrJl4e3uLj4+PjB49OsP2Y2JiZMCAAeLr6ysBAQHy/fffi4i1A7tevXrStm1bee6559J1Zi9evDjdNrZv3y6AzJ0717YuMjJS+vTpI/7+/uLj42MbSZPWtWvXZODAgRk6s48ePSq+vr6Zvh9nz56V7t27i5+fnwQGBto6Xq+/T5GRkdKqVStp3ry5PPXUU+Lt7S1Hjx6Vn3/+Wfz9/SUwMFBatGgh27dvl9OnT0tQUJD4+/uLn59fuvivs1gsMmzYMKlXr574+fnJ9u3bM41r8uTJ8tlnn4mISHx8vISEhIi/v7/07t1b2rZta+vovvH/c+HChRIYGCj+/v7SrFkz2bx5s+199vb2li5dukjPnj3lyy+/zHS/N+Puu++WihUrSsmSJaV69ery888/i4jI+PHjZdmyZSJi/T/p3bu31K9fX4KCguTvv/+2vf7zzz+X+vXrS/369eWLL76wrT979qwEBQXdcnz5Jb87s3OcCrWwaVG8luwoNwYihzs6lCIjPDycIUOG0KlTJ8aPH5/uuX379uHj4+OgyJQzOXPmDAMGDOC3335zdCgFburUqZQtW9Y20MLRMvu7vZWigE536Unln7i4OMaNG0dgYCAbNmxgzpw5JCQkODos5aSqVq3KM888U6hvuLOXcuXKMXDgQEeHYTdOlyhC653Qs4l88NNPP+Hn58fbb79NcnIygwcPZteuXbi5uTk6NOXE+vTpk+2IraJq0KBBtorJRVHRPTKVqatXr/LEE0+wZMkSAAICApg1axatW7d2cGRKqcLK6c4o1K0pVaoUly5donTp0rz//vuEhoZqklBKZUvPKG4DO3bsoFy5cjRo0ABjDHPmzMHFxYVatWo5OjSllBPQM4oiLDo6mhEjRhAcHMyQIUNsN3fVrVtXk4RSKtc0URRBIsKiRYvw9vZm+vTpFCtWjGbNmpGcnOzo0PJEy4w7tsz4/v37ad26NW5ubrz//vtZthPRMuNFVl5vwHDUo2KV0iJf7cnDLSi3h8OHD0vnzp1tlVlbt24tYWFhed5edmXGC4qWGc8de5UZP3funGzbtk3GjRsn7733XpbttMy4lhkvNA+9MztrV65ckXLlygkg5cqVk9mzZ0tKSsotbTPtLxyrscsjJ1pm3LFlxq977bXXsk0UWmZcy4zniTEmBJgGuABzROSdG55/DBibuhgLDBWRMHvGVJSVKVOGUaNGcfjwYd5//31bFc6iQsuMWxV0mfHc0jLjWmb8phljXIAZQCfgJLDdGLNcRMLTNDsKtBWRKGPMA8CnQEt7xVTUREZG8tJLL9GhQwf69+8PwPjx4+1W3VU6OKbci5YZT6+gy4znlpYZ1zLjeREMHBaRIyKSCCwEeqRtICKbROT617ctQI2cNhpZJhb6N873YJ2JxWJhzpw5NGrUiK+++opXXnmFpKQk4OY+IJ2Flhm/OfldZjy3tMy4lhnPi+rAiTTLJ1PXZeUpINNawsaYZ40xO4wxOyI8o+CD9vkYpnPZu3cv9957L8888wxRUVF07NiRNWvWOLwEeEHQMuNWBV1mPLe0zLiWGb/5XnJ4BGu/xPXl/sDHWbS9D9gHeOS43dt0zuy4uDgZM2aMuLq6CiCVK1eWBQsWpCupbQ+FbdSTiJYZL+gy42fOnJHq1atLmTJlxN3dXapXry7R0dEZ2mmZcS0zftOMMa2BiSLSOXX536mJ6e0b2gUAPwAPiMjBHLfbyIgccK7S6PkhISGBJk2acODAAYYOHcqbb75JuXLl7L5fLTOuckvLjBfdMuP2HPW0HfAyxtQFTgGPAv+XtoExphbwX6B/bpLE7ebkyZOUKlWKChUq4Obmxty5cwFo2VL7+1Xhk7bM+O1WQbZcuXK2ASVFkd36KEQkGRgO/IL1stJ3IvKXMWaIMWZIarMJgAcw0xizyxizI4vN3VaSk5OZOnUqPj4+6UZ0tGzZUpOEKtS0zHjRZNcjE5FVwKob1s1K8/PTwNP2jMHZbN26lcGDBxMWZr2dJDo6muTk5CL9S6iUKtycrtaTz8nK0GGRo8PId5cvX2bYsGG0bt2asLAwateuzYoVK1iyZIkmCaWUQzndJ1CpxBKwO9LRYeSrqKgoGjduzNmzZ3F1deXFF19k/Pjx6cbqK6WUozhdoiiKypcvzwMPPMDBgwf55JNP8Pf3d3RISill43SXnoqChIQEJk+ezB9//GFbN336dNavX69JIo+WL1/OO++8k3PDIm7u3Ll4enrSpEkTvL29M5Qo//TTT/H29sbb25vg4GD+/PNP23NJSUm8/PLLeHl54efnR3BwcJY3ujnS888/z/r16x0dRpZeeeUVatasmWPZ97fffpsGDRrQqFEjfvnlF9v663fPN2jQgJEjR9ru3p8+fTpffvmlXWPPUl5vwHDUo1Tt4iK7zt3UzSeFyZo1a6Rhw4YCiI+PT4GXWb5ZGW7cqfhx+kdWvtqTvt2oNfYN9CZYLJZbrqp7K+xZYfTLL7+U5557TkRELly4IB4eHhIRESEi/9x8GBkZKSIioaGhUrNmTTlz5oyIWKvIDhgwQOLj40XEehPZokWL8jW+W/19v3jxorRs2fKmXlPQFV03b94sp0+fzrbs+19//SUBAQESHx8vR44ckXr16tnem6CgINm0aZNYLBYJCQmRVatWiYi1jH6TJk1yFUN+33DndGcUcW5JEOh8VVHPnz9P//796dChAwcPHsTb25uZM2faat6ozB07dgxvb2+efvpp/Pz8eOyxx1i9ejV33XUXXl5ebNu2DbB+kx4+fDgA586do2fPngQGBhIYGMimTZs4duwYPj4+DBs2jGbNmnHixAleeukl/Pz88Pf3Z9GizAdIbNu2jTZt2tC0aVPatGnDgQMHAOtQ5b/++svWrl27doSGhnL16lWefPJJgoKCaNq0KcuWLbPF98gjj/Dggw9y//33ExsbS4cOHWjWrBn+/v62dmCtZuvt7U2nTp3o16+fbbKgv//+m5CQEJo3b84999zD/v37s33vPDw8aNCgAWfOnAFgypQpvPfee1SsWBGAZs2aMXDgQGbMmEFcXByfffYZH3/8MW5uboC1hEmfPn0ybHf79u20adOGwMBAgoODiYmJSff+A3Tr1o1169YB1gmVJkyYQMuWLXnrrbfSbXPdunU8+OCDAPz666+0bt2aZs2a8cgjj2SoigvWkhpp61FNnjyZoKAg/Pz8ePbZZ23fvtu1a8e4ceNo27Yt06ZNIzQ0lLZt29K8eXM6d+5se08+++wzgoKCCAwMpFevXsTFxWX7nuZGq1atqFq1arZtli1bxqOPPoqbmxt169alQYMGbNu2jTNnznDlyhVat26NMYYBAwawdOlSwDrffZ06dWy/8wUqrxnGUQ9nK+GRkpIis2fPts0TUbJkSXnjjTckISHB0aHliqPPKI4ePSouLi6ye/duSUlJkWbNmsmgQYPEYrHI0qVLpUePHiKS/pt0nz59ZOrUqSJi/QZ7+fJlOXr0qBhjbOUhlixZIh07dpTk5GQ5e/as1KxZU06fPp1h/9HR0bZvpL/99ps8/PDDIiLywQcf2OZIOH36tHh5eYmIyL///W/5+uuvRUQkKipKvLy8JDY2Vr788kupXr26XLx4UUSs33Kvl8GIjIyU+vXri8Vike3bt0tgYKDExcXJlStXpEGDBrY5INq3by8HDx4UEZEtW7bIfffdlyHetO/D8ePHJTAwUK5duyYiIuXLl5fLly+na7906VLp2bOnhIWF5erbakJCgtStW1e2bduW7v1Ju18Rka5du9pKdgC2M5OkpCSpWbOmxMbGioh1zomvv/5aIiMj5Z577rGtf+edd2TSpEkZ9j9gwABZvny5bfn6+yki8vjjj9uea9u2rW3eksTERGndurWcP39eRKwlQwYNGiQi1rOu61555RX56KOPMuzz999/l8DAwAyP1q1bZ/teZXdG8dxzz9l+T0REnnzySVm8eLFs375dOnToYFu/fv36dHNnvPHGG/L+++9nu18RJ5uPQlnvg3jllVe4fPkynTt3ZsaMGdSvX9/RYTmVunXr2vpufH196dChA8YY/P39001TeV1mZbijoqKoXbs2rVq1Aqzlvfv164eLiwuVK1embdu2bN++ne7du6fbVnR0NAMHDuTQoUMYY2xVevv06UOnTp2YNGkS3333HY888ghg/Va8fPly21lAfHw8ERERAHTq1IkKFSoAWZcC//PPP+nRo4etCun1b9uxsbFs2rTJth+w9nVlZtGiRaxdu5YDBw7w2WefUbJkySzfW5GsS7Vn5sCBA1StWtVWFjw3N9elLSvu6upKSEgIK1asoHfv3qxcuZJ3332XP/74g/DwcO666y4AEhMTad26dYZtnTlzBk9PT9vy2rVreffdd4mLi+PSpUv4+vra3rPr5d4PHDjA3r17beXpU1JSbN/49+7dy6uvvsrly5eJjY1NV+Tvuvvuu++WiiVmRjIpnZTbUuY5nUnagyYKO7h69Squrq64ublRvnx5Zs2aRUpKCo888ojzlwGPHJ5zG4ABftZHPrh+KQSsE8RcXy5WrNhNzQOedrhxZn+QYJ1I6LPPPgNg1apVjB8/nvvuu48ffviBY8eO0a5dOwCqV6+Oh4cHu3fvZtGiRbYJe0SE77//PkMF2K1bt6bbf9pS4MWLF6dOnTrEx8dnGZfFYqFcuXK5+sDq27cv06dPZ/PmzXTt2pUHHniAKlWq0LhxY0JDQ2nf/p/qyzt37qRx48Y0aNCAiIiIDPNl3CirxJK2xDikL8uetqz49fhmzJhBhQoVCAoKokyZMogInTp14ttvv8322O644w7btuPj4xk2bBg7duygZs2aTJw4Md1+r7/fIoKvry+bN2/OsL0nnniCpUuXEhgYyNy5c22Xy9Jau3Yto0aNyrC+VKlSbNq0Kdt4s5JVyfIaNWpw8uTJDOuvc1Qpc6froyjsli9fTuPGjXn33Xdt63r16kWfPn2cP0k4iZzKcIO1vPeiRYtISUkhMjKS9evXExwczHPPPWcrVV2tWjWio6OpXt1aHf96ra3rHn30Ud59912io6NtZzydO3fm448/tn3g/+9//8s0xqxKgd99992sWLGC+Ph4YmNjbbPRlS1blrp167J48WLA+uF3/e79rLRu3Zr+/fszbdo0AMaMGcPYsWO5ePEiYC17PnfuXIYNG0apUqV46qmnGDlyJImJiYD12/s333yTbpve3t6cPn2a7du3AxATE0NycjJ16tRh165dWCwWTpw4ke119Hbt2rFz504+++wz27f+Vq1asXHjRg4fPgxAXFycrTx8Wj4+PrY215NCxYoViY2NZcmSJZnur1GjRkRGRtoSRVJSkq1/KSYmhqpVq5KUlJTpTHnwzxnFjY+8JgmwljJfuHAhCQkJHD16lEOHDhEcHEzVqlUpU6YMW7ZsQUSYN28ePXr8M43PwYMH8fPLny9gN8PpEkWphOIQdt7RYWQQERHBQw89RI8ePYiIiOCXX35J9w1LFZxp06axdu1a/P39ad68ebpO5+t69uxJQEAAgYGBtG/fnnfffZcqVapkaDdmzBj+/e9/c9ddd5GSkpLuud69e7Nw4cJ0nbPjx48nKSmJgIAA/Pz8GD9+fKYxPvbYY+zYsYMWLVowf/58vL29AQgKCqJ79+4EBgby8MMP06JFC9sMdvPnz+fzzz8nMDAQX1/fdB3gWRk7dixffvklMTExdO/enSeffJI2bdrg7e3NM888wzfffGO7DPPGG2/g6elJ48aN8fPz46GHHkp3mQegRIkSLFq0iBEjRhAYGEinTp2Ij4/nrrvusl0iHD16NM2aNcsyJhcXF7p168ZPP/1km1HP09OTuXPn0q9fPwICAmjVqlWml1i6du1q+9Zfrlw5nnnmGfz9/XnooYdsl8NuVKJECZYsWcLYsWMJDAykSZMmtg/5119/nZYtW9KpUyfb/8GtGjNmDDVq1CAuLo4aNWowceJEwPolcsKECYD1EmqfPn1o3LgxISEhzJgxw3bW9cknn/D000/ToEED6tevzwMPPGDb9saNG+nYsWO+xHlT8tq54ahHc9ea2XeiFrDExER57733pFSpUgJImTJlZNq0aYV+2GtuFYb5KG43MTExImIdDtm8eXMJDQ11cESFy1133SVRUVGODqPA7dy5Ux5//PFctdXO7ELkwoULtknfwTqP8tSpU22XKpTKi2effZbw8HDi4+MZOHBgtt/Ob0f/+c9/iIiIKJD5WAqTCxcu8Prrrztk35ooboGHhwcVK1akbt26TJ8+nS5dujg6JFUELFiwwNEhFGq3a6n966O2HMHpEkVciUQI8My5oR2ICPPnzyc4OJiGDRtijOGbb77Bm3JvwQAAFBdJREFU3d2dUqVKOSQmpZSyN6frzN5X4xys6Vvg+z1w4AAdO3akf//+DBs2zDaqpWrVqpoklFJFmtMlioIWHx/Pa6+9RkBAAL///jseHh48/vjjjg5LKaUKjNNdeipIq1evZujQobZx208++STvvvsuHh4eDo5MKaUKjp5RZOHcuXN069aNw4cP07hxY9avX8/nn3+uSUI5jWPHjnHHHXfQpEkTGjduzIABA2wlSMBaxiQ4ONhWdvzTTz9N9/p58+bh5+eHr68vjRs3tpUlKUyWLl3K5MmTHR1GlhYvXoyvry/FihVjx44dWbb7+eefadSoEQ0aNEhXLv/SpUt06tQJLy8vOnXqRFRUFAB79uzhiSeesHf4/8jruFpHPexZFDAlJUUsFottecqUKfL22287TQE/e7hxPDZMTPfIyuzZO9K1e+aZ5Vm2dTRH3vNiz5LnR48eFV9fXxGxHuN9990n33zzjYiInDlzRmrWrGm7RyMyMlKaNWsmP/74o4iIrFq1Spo2bSqnTp0SEZFr167Jp59+mq/x5Uf579atW/9/e+ceHUWV5/HPDwiEAYQcUU4kRMTHJEQSwivK8ggjGx3ACIoCuig+QJABVlZ56JzBw6wTlMfZQQ4gsBxwGImCgo9dR2GVhygahKAYkKc4gWAgmSHRIBDy2z+qutJJujtFSDqd5H7OqdNVXbfu/dWvq+tX91Hf68imB6vMyyErK0sPHDig/fv314yMDJ9piouLtVOnTnrkyBE9f/68xsfH67fffquqqs8++6ympaWpqmpaWppOmzbNOe6OO+7Q48eP+y23PDQkmfGaIjMzk969e5eRLJg2bRozZsygadOmtWhZw8atzLg/OfBLly7xzDPP0KVLF+Lj43nllVcA6NixI7Nnz6ZPnz6sW7eOtWvX0qVLF2699VamT5/u0xZ/0uDTp09n8eLFTroXXniB+fPnAzB37lx69uxJfHw8s2bNcs6pvOT5hAkT6NGjB3FxcU46sPSmYmJi6NOnD5MnT3beZPYnZ+6Pxo0b06tXL06cOAFYmlZjxoxx3tFo27YtL7/8svM0m5aWxrx58xydofDwcMaOHVshX3+S7t4yE/PmzXPeTvaW/37xxRfp2LGjo2BQVFREhw4duHjxoitJ9YMHD9KsWTNHNv29994jKSmJxMREBg4cyI8//uj8HuPGjSMlJYWHH36Y06dPc99999GzZ0969uzJjh07AP/X0JUQGxtbQferPF9++SU33XQTnTp1omnTpowcOdL5Pd955x0eeeQRAB555BFHchwswcj09PQrttEVVY0wtbVER0RU6yQ4BQUF+vTTT2ujRo0U0K5du5apVTR0artG4VZm3J8c+OLFi/Xee+919nlkqa+//np96aWXVFX1xIkT2qFDB83NzdWLFy/qgAEDdMOGDRVs8ScNvnv3bu3Xr5+TLjY2Vo8fP64ffvihjh071qk1DB48WLdu3VpB8tzbruLiYu3fv7/u3btXz507p1FRUXr06FFVVR05cqQjOe1Pzry87zw1inPnzmlycrLu3btXVVWHDRumGzduLJP+n//8p0ZERKiqb0lyX/iTdPeUq6o6d+5cnTVrlqqWlf9WVU1NTdWPP/5YVS3578cff1xV3Umqr1y5UqdOneps5+fnO//d5cuXO/tmzZql3bp106KiIlVVHTVqlG7fvl1VLSn2mJgYVfV/DXlTUFDgU3I8ISHBqQX4IlCNYt26dc55q6q+9tprjmR769aty6Rt06aNs/7pp5/qkCFDfObZ4N/MvqawJfwlCxb8pvLEAVBVNm7cyOTJk8nOzqZRo0ZMmTKF2bNnG/G+EMONzLg/OfDNmzczfvx4mjSxLnWPzDeUylBnZGSQnJzs6Bo99NBDbNu2jaFDh5axQ9W3NHhiYiK5ubmcPHmS06dPExERQXR0NAsXLuSjjz4iMTERsGokhw4dIjo6uozkOcCbb77JsmXLKC4uJicnh6ysLEpKSujUqRM33HADAKNGjXL6EfzJmcfGxpax+ciRI3Tt2pVDhw4xfPhw4uPjnXPxdZ1f7rXvT9I9EB6/e9bfeOMNBgwYQHp6Ok899ZRrSfXykuPZ2dmMGDGCnJwcLly44PgNLBE+j+rq5s2bycrKcvYVFBRQWFjo9xryplWrVkGTHK+Ma6+9lpMnT1arLf6oc4GiOjhz5gyPPvoo77//PgA9evTg1VdfNVIJLlCdVXkiYNy47owb171aynQjM+5PDtzfDRHKylD74osvvuDJJ58ErJnU8vPzfUqDgyUQuH79ek6dOsXIkSOdfGfOnOnk4eH7778vIzl+7Ngx5s2bR0ZGBhEREYwZMyag5Lgnb19y5uW58cYbyczMJCcnh+TkZN59911SU1OJi4tj165dZebf+Oqrr+jcuTNgBeTykuRuCSQ5DmXl3lNTU5k5cyb5+flOeT///LMrSfXmzZtz9uxZZ3vSpElMnTqV1NRUtmzZ4jR3lS+zpKSEzz//vIJc96RJk3xeQ94UFhbSt29fn/a8/vrrjv8uB3+S42DNMpiTk0NkZCQ5OTlce23p7J7BlBxvkH0UrVq14vDhw1x11VUsWrSInTt3miBRx/EnB56SksLSpUudgJKfn1/h2KSkJLZu3cqZM2e4dOkSa9eupX///iQlJTmS0qmpqX6lwcGSHE9PT2f9+vUMHz4csCTHV65c6UzpeeLECXJzKyofFxQU0KJFC1q3bs2PP/7IBx98AFiS3kePHnVqTd7TtbqVM/cQGRnJnDlzSEtLA2DixImsWrXKuRnn5eUxffp0pk2bBsDMmTOZNm0ap06dAqwn+oULF1bI15eke7t27cjNzSUvL4/z5887D2S+aNmyJb169WLKlCkMGTKExo0bu5ZU95Ych7LXwOrVq/2WmZKSwqJFi5xtjw8CScp78NQofC1VCRJgKQYfOnSIY8eOceHCBdLT050Anpqa6pzL6tWra01yvM4FiuNt82F+8mUft2PHDkeHv1mzZqSnp3PgwAEmTpxo5q2uB/iTA3/iiSeIjo52JMV96ShFRkaSlpbGgAEDSEhIoFu3bmX+kB78SYOD9QReWFhI+/btHdnulJQUHnzwQW6//Xa6dOnC8OHDKSwsrJBvQkICiYmJxMXF8dhjjzmzvDVv3pzFixdz11130adPH9q1a+dIjruVM/dm6NChFBUVsX37diIjI1mzZg1jx44lJiaG3r1789hjjzmzww0aNIiJEycycOBA4uLi6N69u89JonxJuoeFhTlzZA8ZMqRS+e4RI0awZs2aMk1SbiTV+/Xrx549e5xg+cILL3D//ffTt29fp4PbFwsXLmTXrl3Ex8fTuXNnli5dCgSWlK8qGzZsICoqyplEyjOD3smTJx1tuCZNmrBo0SLuvPNOYmNjeeCBB4iLiwNgxowZbNq0iZtvvplNmzYxY8YMJ+9PPvmEwYMHV4udlVLVzo3aWi53eOyZM2f0iSeeUKBMh5HBHUZmvHbxSI6XlJTohAkTdMGCBbVsUWgxefJk3bRpU22bEXR++eUXTUpK8jvc1wyPdYmqsnr1amJiYlixYgVhYWFcd911Adt9DYZQY/ny5XTt2pW4uDjOnj1bob+jofPcc89RVFRU22YEnR9++IE5c+Y4gzRqGqlrN075tah+F9jmAwcOMH78eLZu3QpYY7eXLFlSbTNYNST2799fYSSNwWAIbXz9b0XkK1XtUZX86t2op+zsbBISErhw4QJt27Zl/vz5jB492gx5vQI0wMghg8EQWtTEw3+9CxRRUVGMHj2aRo0aMWfOnDLj5g2XT3h4OHl5eVx99dUmWBgMIY6qkpeXR3h4eLXmW+ebnnJycnj66acZP368M+65pKSERo3qbfdLULl48SLZ2dkVxsIbDIbQJDw8nKioKMLCwsp836Canrof7QDXLOLSqQksWbKE559/noKCAg4fPkxGRgYiYoJENRIWFlbmDVeDwdDwqNE7qojcJSLfichhEZnhY7+IyEJ7/9ci4uqtt93Ff+e2225j0qRJFBQUcPfdd/PWW2+ZphGDwWCoAWqs6UlEGgMHgX8FsoEMYJSqZnmlGQRMAgYBScCfVTXgzOntGrXSM/ozJShRUVG88sor3HPPPSZIGAwGQwCupOmpJmsUvYDDqnpUVS8A6UD5113vAV6z3wfZCbQRkchAmeZrEYIwdepU9u/fz9ChQ02QMBgMhhqkJvso2gN/99rOxqo1VJamPZDjnUhExgHj7M3zwL4FCxawYMGCajW4DtIWOFPbRoQIxhelGF+UYnxRSmAFyQDUZKDw9Zhfvp3LTRpUdRmwDEBEdlW1+lTfML4oxfiiFOOLUowvShER/3OxVkJNNj1lAx28tqOA8uLpbtIYDAaDoRapyUCRAdwsIjeISFNgJPBuuTTvAg/bo59uA86qak75jAwGg8FQe9RY05OqFovI74APgcbASlX9VkTG2/uXAv+LNeLpMFAEPOoi62U1ZHJdxPiiFOOLUowvSjG+KKXKvqhzb2YbDAaDIbiYV5gNBoPBEBATKAwGg8EQkJANFDUl/1EXceGLh2wffC0in4lIQm3YGQwq84VXup4icklEhgfTvmDixhcikiwimSLyrYhsDbaNwcLFf6S1iLwnInttX7jpD61ziMhKEckVkX1+9lftvlnVqfFqcsHq/D4CdAKaAnuBzuXSDAI+wHoX4zbgi9q2uxZ90RuIsNd/25B94ZXuY6zBEsNr2+5avC7aAFlAtL19bW3bXYu+eA54yV6/BsgHmta27TXgi35AN2Cfn/1Vum+Gao2iRuQ/6iiV+kJVP1PVf9ibO7HeR6mPuLkuwNIPewvIDaZxQcaNLx4E3lbVHwBUtb76w40vFGgllt5PS6xAURxcM2seVd2GdW7+qNJ9M1QDhT9pj8tNUx+43PN8HOuJoT5SqS9EpD0wDFgaRLtqAzfXxS1AhIhsEZGvROThoFkXXNz4YhEQi/VC7zfAFFUtCY55IUWV7puhOh9Ftcl/1ANcn6eIDMAKFH1q1KLaw40v/guYrqqX6rlYpBtfNAG6A3cAzYHPRWSnqh6saeOCjBtf3AlkAr8BbgQ2ich2VS2oaeNCjCrdN0M1UBj5j1JcnaeIxAMrgN+qal6QbAs2bnzRA0i3g0RbYJCIFKvqxuCYGDTc/kfOqOrPwM8isg1IwJL/r0+48cWjwBy1GuoPi8gxIAb4MjgmhgxVum+GatOTkf8opVJfiEg08DYwuh4+LXpTqS9U9QZV7aiqHYH1wFP1MEiAu//IO0BfEWkiIr/CUm/eH2Q7g4EbX/yAVbNCRNphKakeDaqVoUGV7pshWaPQmpP/qHO49MUfgKuBxfaTdLHWQ8VMl75oELjxharuF5G/AV8DJcAKVfU5bLIu4/K6+COwSkS+wWp+ma6q9U5+XETWAslAWxHJBmYBYXBl900j4WEwGAyGgIRq05PBYDAYQgQTKAwGg8EQEBMoDAaDwRAQEygMBoPBEBATKAwGg8EQEBMoDCGJrfya6bV0DJD2p2oob5WIHLPL2i0it1chjxUi0tlef67cvs+u1EY7H49f9tlqqG0qSd9VRAZVR9mGhosZHmsISUTkJ1VtWd1pA+SxCnhfVdeLSAowT1XjryC/K7apsnxFZDVwUFVfDJB+DNBDVX9X3bYYGg6mRmGoE4hISxH5P/tp/xsRqaAaKyKRIrLN64m7r/19ioh8bh+7TkQqu4FvA26yj51q57VPRP7d/q6FiPyPPbfBPhEZYX+/RUR6iMgcoLltx1/tfT/Zn294P+HbNZn7RKSxiMwVkQyx5gl40oVbPscWdBORXmLNRbLH/vy1/ZbybGCEbcsI2/aVdjl7fPnRYKhAbeunm8UsvhbgEpaIWyawAUtF4Cp7X1usN0s9NeKf7M//AJ631xsDrey024AW9vfTgT/4KG8V9twVwP3AF1iCet8ALbCkqb8FEoH7gOVex7a2P7dgPb07Nnml8dg4DFhtrzfFUvJsDowDfm9/3wzYBdzgw86fvM5vHXCXvX0V0MReHwi8Za+PARZ5Hf8n4N/s9TZYuk8tavv3NktoLyEp4WEwAOdUtatnQ0TCgD+JSD8sOYr2QDvglNcxGcBKO+1GVc0Ukf5AZ2CHLW/SFOtJ3BdzReT3wGksFd47gA1qieohIm8DfYG/AfNE5CWs5qrtl3FeHwALRaQZcBewTVXP2c1d8VI6I19r4GbgWLnjm4tIJtAR+ArY5JV+tYjcjKUGGuan/BQgVUSesbfDgWjqpwaUoZowgcJQV3gIa2ay7qp6UUS+x7rJOajqNjuQDAb+IiJzgX8Am1R1lIsynlXV9Z4NERnoK5GqHhSR7liaOWki8pGqznZzEqr6i4hswZK9HgGs9RQHTFLVDyvJ4pyqdhWR1sD7wERgIZaW0SeqOszu+N/i53gB7lPV79zYazCA6aMw1B1aA7l2kBgAXF8+gYhcb6dZDvw31pSQO4F/ERFPn8OvROQWl2VuA4bax7TAajbaLiLXAUWqugaYZ5dTnot2zcYX6VhibH2xhOywPyd4jhGRW+wyfaKqZ4HJwDP2Ma2BE/buMV5JC7Ga4Dx8CEwSu3olIon+yjAYPJhAYagr/BXoISK7sGoXB3ykSQYyRWQPVj/Cn1X1NNaNc62IfI0VOGLcFKiqu7H6Lr7E6rNYoap7gC7Al3YT0PPAf/o4fBnwtaczuxwfYc1tvFmtqTvBmkskC9gtIvuAV6mkxm/bshdLVvtlrNrNDqz+Cw+fAJ09ndlYNY8w27Z99rbBEBAzPNZgMBgMATE1CoPBYDAExAQKg8FgMATEBAqDwWAwBMQECoPBYDAExAQKg8FgMATEBAqDwWAwBMQECoPBYDAE5P8BcSM+VwVsTBoAAAAASUVORK5CYII=\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 29, + "id": "7ece4ab5", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3780,11 +3744,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6cebb42c", + "metadata": { + "editable": true + }, "source": [ "## XGBoost: Extreme Gradient Boosting\n", "\n", - "\n", "[XGBoost](https://github.com/dmlc/xgboost) or Extreme Gradient\n", "Boosting, is an optimized distributed gradient boosting library\n", "designed to be highly efficient, flexible and portable. It implements\n", @@ -3796,119 +3762,33 @@ "boosting system. It has a theoretically justified weighted quantile\n", "sketch for efficient proposal calculation. It introduces a novel sparsity-aware algorithm for parallel tree learning and an effective cache-aware block structure for out-of-core tree learning.\n", "\n", - "It is now the algorithm which wins essentially all ML competitions!!!\n", - "\n", + "It is now the algorithm which wins essentially all ML competitions!!!" + ] + }, + { + "cell_type": "markdown", + "id": "e0b9375b", + "metadata": { + "editable": true + }, + "source": [ "## Regression Case" ] }, { "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 0\n", - "Error: 0.27265898772673286\n", - "Bias^2: 0.27265898120693166\n", - "Var: 3.552713678800501e-15\n", - "0.27265898772673286 >= 0.27265898120693166 + 3.552713678800501e-15 = 0.2726589812069352\n", - "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 1\n", - "Error: 0.30539667982909335\n", - "Bias^2: 0.2707146103037183\n", - "Var: 0.03468207269906998\n", - "0.30539667982909335 >= 0.2707146103037183 + 0.03468207269906998 = 0.30539668300278827\n", - "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 2\n", - "Error: 0.3086154634354187\n", - "Bias^2: 0.27120662006386265\n", - "Var: 0.037408843636512756\n", - "0.3086154634354187 >= 0.27120662006386265 + 0.037408843636512756 = 0.3086154637003754\n", - "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 3\n", - "Error: 0.3086162750614561\n", - "Bias^2: 0.27120680244783013\n", - "Var: 0.037409473210573196\n", - "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", - "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 4\n", - "Error: 0.3086162750614561\n", - "Bias^2: 0.27120680244783013\n", - "Var: 0.037409473210573196\n", - "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", - "[17:15:53] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 5\n", - "Error: 0.3086162750614561\n", - "Bias^2: 0.27120680244783013\n", - "Var: 0.037409473210573196\n", - "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n" - ] - }, - { - "data": { - "image/png": "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+iPRe+65h+XLl2da/5ZbbuG5557rj9Jy44AwMwMWLVrE2rVrj2pbu3YtixYt6nHd9vZ2Ghsb+fjHP95f5eXCAWFmBlx++eU8+eSTHDx4ECh8edAbb7zBww8/nLy8d319PY2NjZx33nk8+uijXH311Tz22GMANDY2cs455zBt2jSuu+46Igrn+s6dO5cVK1Zw7rnnMmXKFH76058ChYC58cYbmT59OjNmzODrX/86ABs3buT888/n7LPP5uKLL+ZPf/rTQE6JL/dtZoPPP2/4Z17d9WpFx/zw+A+z4twVXT4+YcIEzj33XJ555hnmz5/P2rVrueKKK7jpppuOubz3jBkzAKipqem82uszzzzTOdb111/PLbfcAsDSpUt58sknueyyy4DC901s2LCBp556ittvv53nnnuOVatW8dprr/GrX/2K6upqdu3aRVtbGzfccAM/+MEPqKur43vf+x5f/OIXuf/++ys6L93xHoSZWVHpYaaOw0upy3t3uOKKK5Lj/OhHP2L27NlMnz6dF154gebmd84r/tSnPgXA2WefzdatWwF47rnn+NznPkd1deE9+/jx49m8eTO/+93v+MQnPsGsWbO444472L59e3+87C55D8LMBp3u3un3pwULFvCFL3yBX/7yl+zfv59x48YlL+/doba29pgxDhw4wPLly2lqauKUU07htttuO2qdkSNHAlBVVcXhw4cBiIhjLjMeEUydOrXzyrJ58B6EmVnR6NGjmTt3Ltdccw2LFi3q8vLe3ekIg5NPPpnW1tbOzyW6c9FFF/Gtb32rMzB27drF6aefTktLS2dAtLW1HbUnMhAcEGZmJRYtWsSmTZu48soru7y8d3dOOukkPvvZzzJ9+nQWLFjAOef0fH7wtddey+TJk5kxYwYzZ87k4YcfZsSIETz22GOsWLGCmTNnMmvWLH72s59V4iVmpo5P1wezhoaG6PjCcDP72/T73/+eM844I+8yhqzU/EnaGBENfR3TexBmZpbkgDAzsyQHhJkNGkPhkPdg1F/z5oAws0GhpqaGnTt3OiR6KSLYuXMnNTU1FR/b50GY2aAwadIktm/fTktLS96lDDk1NTVMmjSp4uM6IMxsUBg+fDinnnpq3mVYCR9iMjOzJAeEmZklOSDMzCzJAWFmZkkOCDMzS3JAmJlZUqaAkDRe0uOS9knaJmlxF/2mSXpW0g5Jx5ztknUcMzPLX9Y9iHuBQ8BEYAlwn6SpiX5twCPAZ45zHDMzy1mPASGpFlgI3BwRrRGxHngCWFreNyI2R8Rq4JhvtejNOGZmlr8sexBTgPaI2FLStgno7Tv/Xo0j6TpJTZKafOq9mdnAyxIQo4HdZW27gTG9fK5ejRMRqyKiISIa6urqevlUZmZ2vLIERCswtqxtLLC3l89VqXHMzGwAZAmILUC1pNNK2maS+JxhgMYxM7MB0GNARMQ+YB3QKKlW0hxgPvBQeV8V1AAjiss1kkb2dhwzM8tf1j9zXQ6MAt4G1gDLIqJZ0mRJrZImF/u9H9jPO3sF+4HNPY1znK/BzMz6Qabvg4iIXcCCRPvrFD587ljeCqi345iZ2eDjS22YmVmSA8LMzJIcEGZmluSAMDOzJAeEmZklOSDMzCzJAWFmZkkOCDMzS3JAmJlZkgPCzMySHBBmZpbkgDAzsyQHhJmZJTkgzMwsyQFhZmZJDggzM0tyQJiZWZIDwszMkhwQZmaW5IAwM7MkB4SZmSU5IMzMLClTQEgaL+lxSfskbZO0uJu+n5f0pqTdku6XNLLksRclHZDUWrxtrsSLMDOzysu6B3EvcAiYCCwB7pM0tbyTpIuBlcCFQD3wAeD2sm7XR8To4u30vhZuZmb9q8eAkFQLLARujojWiFgPPAEsTXS/ClgdEc0R8Wfgy8DVFazXzMwGSJY9iClAe0RsKWnbBByzB1Fs21TWb6KkCSVtd0raIeklSXO7elJJ10lqktTU0tKSoUwzM6ukLAExGthd1rYbGJOhb8f9jr4rKBx2eh+wCvihpA+mnjQiVkVEQ0Q01NXVZSjTzMwqKUtAtAJjy9rGAnsz9O24vxcgIn4REXsj4mBEPAi8BMzrXclmZjYQsgTEFqBa0mklbTOB5kTf5uJjpf3eioidXYwdgLIUamZmA6vHgIiIfcA6oFFSraQ5wHzgoUT3fwc+I+lMSeOALwEPAEg6SdLFkmokVUtaAnwMeLZCr8XMzCoo65+5LgdGAW8Da4BlEdEsaXLxfIbJABHxDPBV4EfAtuLt1uIYw4E7gBZgB3ADsCAifC6EmdkgpIjIu4YeNTQ0RFNTU95lmJkNKZI2RkRDX9evrmQx9o6I4PCRw7QdaaPtSFvn/cNHDme63xZttLUX2+Pwsfej2L/0ftnzpJ738JHDeU+NmQ0RQyIg2qOdnft3dr1hTWxA26Lt2A1oYmOaut+XDfoxG+Lo/w1x9bBqhg8bTrWqGV5V+Fk9rOz+sOFUDyvcP6H6BKqGVSH/XYCZZTAkDjGNOnVUfOi2D1V83GM2rCUb097c7+pnb9ft1fOrGskbejPr2rviENN7at/DP83+p95tnDs2/l3d9wbWzKxbQyIgJtRMYNGHF+VdhpnZu4q/D8LMzJIcEGZmluSAMDOzJAeEmZklOSDMzCzJAWFmZkkOCDMzS3JAmJlZkgPCzMySHBBmZpbkgDAzsyQHhJmZJTkgzMwsyQFhZmZJDggzM0tyQJiZWZIDwszMkjIFhKTxkh6XtE/SNkmLu+n7eUlvStot6X5JI/syjpmZ5SvrHsS9wCFgIrAEuE/S1PJOki4GVgIXAvXAB4DbezuOmZnlr8eAkFQLLARujojWiFgPPAEsTXS/ClgdEc0R8Wfgy8DVfRjHzMxylmUPYgrQHhFbSto2Aal3/lOLj5X2myhpQi/HQdJ1kpokNbW0tGQo08zMKilLQIwGdpe17QbGZOjbcX9ML8chIlZFRENENNTV1WUo08zMKilLQLQCY8vaxgJ7M/TtuL+3l+OYmVnOsgTEFqBa0mklbTOB5kTf5uJjpf3eioidvRzHzMxy1mNARMQ+YB3QKKlW0hxgPvBQovu/A5+RdKakccCXgAf6MI6ZmeUs65+5LgdGAW8Da4BlEdEsabKkVkmTASLiGeCrwI+AbcXbrT2NU5FXYmZmFaWIyLuGHjU0NERTU1PeZZiZDSmSNkZEQ1/X96U2zMwsyQFhZmZJDggzM0saEp9BSNoLbM67jgxOBnbkXUQGQ6HOoVAjuM5Kc52VdXpEJE9GzqK6kpX0o83H80HLQJHU5DorYyjUCK6z0lxnZUk6rr/u8SEmMzNLckCYmVnSUAmIVXkXkJHrrJyhUCO4zkpznZV1XHUOiQ+pzcxs4A2VPQgzMxtgDggzM0tyQJiZWdKgCAhJ1xe/XvSgpAd66Pt5SW9K2i3pfkkjB6jMzHVKulpSe/FKtx23uQNU40hJqyVtk7RX0q8kXdpN/1zmszd15jmfxef/jqQ/SdojaYuka7vpm9d8Zqox77ksqeM0SQckfaebPrn9Xy+pods6855PSS8W6+t47i5PKO7LfA6KgADeAO4A7u+uk6SLgZXAhUA98AHg9v4urkSmOot+HhGjS24v9m9pnaqBPwDnAycCNwOPSKov75jzfGausyiv+QS4E6iPiLHAfwHukHR2eaec5zNTjUV5zmWHe4GXu3pwEPxf79BtnUV5z+f1Jc99eqpDX+dzUARERKyLiO8DO3voehWwOiKaI+LPwJeBq/u7vg69qDM3EbEvIm6LiK0RcSQingReA1Ibi9zms5d15qo4Pwc7Fou3Dya65jmfWWvMnaQrgb8Az3fTLdf/65C5zqGiT/M5KAKiF6YCm0qWNwETJU3IqZ7unCVpR3F3/2ZJuVzWRNJEYArpr3YdNPPZQ52Q83xK+qakvwKvAn8Cnkp0y3U+M9YIOc6lpLFAI/Bfe+ia91xmrRPy/79+Z/H5X+rm8Faf5nOoBcRoYHfJcsf9Pl+Mqp/8BJgG/CdgIbAI+G8DXYSk4cB3gQcj4tVEl0ExnxnqzH0+I2I5hXn5zxS+Ovdgoluu85mxxrzn8ssU3sn+oYd+ef9uZq0z7/lcQeFw0fsonBT3Q0mpPcc+zedQC4hWYGzJcsf9vTnU0qWI+I+IeK146OS3FN6JXD6QNUgaRuH7vg8B13fRLff5zFLnYJjPYh3tEbEemAQsS3TJfT57qjHPuZQ0C/g48LUM3XOby97UmffvZkT8IiL2RsTBiHgQeAmYl+jap/kcagHRDMwsWZ4JvBURg/YzgaIANFBPJknAamAisDAi2rromut89qLOcgM6nwnVpI/vD6bfz65qLDeQczmXwgekr0t6E7gRWCjpl4m+ec7lXLLXWS7v382unr9v8xkRud8o/DLXUPhLjIeK96sT/S4B3gTOBMYBLwB3DcI6LwUmFu9/GPgdcOsA1vkt4P8Ao3vol/d8Zq0zt/mkcOjgSgq76FXAxcA+YP5gmc9e1pjnXJ4AvKfkdjfwGFA3WOayD3XmOZ8nFf+ta4rbpiXFf/fTKzWf/f4iMr7Q23jnLy86brcBkynsGk0u6fsF4C1gD/BvwMjBVmfxF+qt4j/Wf1DY7Rw+QDW+v1jXgWJNHbclg2k+e1NnzvNZB/yYwl+z7AF+C3y2+NigmM/e1JjnXCbqvg34zmCay97WOQh+N1+mcJjoLxTebH2ikvPpi/WZmVnSUPsMwszMBogDwszMkhwQZmaW5IAwM7MkB4SZmSU5IMzMLMkBYWZmSQ4IMzNL+v8HB0kYPwAyTgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 30, + "id": "229eceb6", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sklearn.model_selection import train_test_split\n", "import xgboost as xgb\n", - "from sklearn.preprocessing import StandardScaler\n", "import scikitplot as skplt\n", "from sklearn.metrics import mean_squared_error\n", "\n", @@ -3924,16 +3804,12 @@ "variance = np.zeros(maxdegree)\n", "polydegree = np.zeros(maxdegree)\n", "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2)\n", - "scaler = StandardScaler()\n", - "scaler.fit(X_train)\n", - "X_train_scaled = scaler.transform(X_train)\n", - "X_test_scaled = scaler.transform(X_test)\n", "\n", "for degree in range(maxdegree):\n", " model = xgb.XGBRegressor(objective ='reg:squarederror', colsaobjective ='reg:squarederror', colsample_bytree = 0.3, learning_rate = 0.1,max_depth = degree, alpha = 10, n_estimators = 200)\n", "\n", - " model.fit(X_train_scaled,y_train)\n", - " y_pred = model.predict(X_test_scaled)\n", + " model.fit(X_train,y_train)\n", + " y_pred = model.predict(X_test)\n", " polydegree[degree] = degree\n", " error[degree] = np.mean( np.mean((y_test - y_pred)**2) )\n", " bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 )\n", @@ -3954,7 +3830,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1acd0f18", + "metadata": { + "editable": true + }, "source": [ "## Xgboost on the Cancer Data\n", "\n", @@ -3963,79 +3842,13 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Random Forests and scaled data: 1.00\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fX3ZtWtXpu1atWrFtWvXbBJHbggKCqJMmTJ06NAh0zZxcXF0796dOnXq0KRJE44fP25978svv8Td3R13d3e+/PJL6/oePXpw5MgRW4ZuXyLiUC/qIirvHDhwINP3jh07JiEhIXL58mVJSkqyWQwlSpSw/ty7d2959913RUQkJiZGatWqJb/88ouIiFy/fl2CgoJkxowZIiKyd+9eqVWrlhw8eFBEROLj42XmzJm5Glt8fHyubu+Ws2fPSrVq1e7oMym/p9z0448/SlBQkCQlJcmWLVskMDAww3Y//PCDvPLKK3e07YSEhNwIMdvWrl0rq1atkvbt22faZubMmTJgwAAREfnmm2+kW7duIiJy6dIlqVmzply6dEkuX74sNWvWlMuXL4uIyIYNG+Sll16y/QFkU0b/b4GdktPfuzn9oL1emijy1q1/cElJSYLlbrdcf91Oyl+An376qQwaNEhERObPny+9evVK1TYsLEyqVq0qIiK9evWSzz777Lbbj4qKkueff168vb3Fx8dHli9fnm6/y5Ytkz59+oiISJ8+fWT48OHSsmVLeeWVV6R69epy5coVa9vatWvLuXPn5MKFC/L0009L48aNpXHjxvLXX3+l2/eNGzes+27QoIH8/vvvIiLi4+MjxYoVEz8/P9m4cWOqz5w7d06eeuop8fX1FV9fX9m0aVOqeKOioqRVq1bSsGFD8fb2lpUrV4qISHR0tDzxxBPi6+srXl5esmTJEhERGTVqlHh6eoqPj4+89tpr6WLs37+/fP3119blunXrypkzZ9K169mzp6xfv9663KlTJ/H395f69evLnDlzrOtLlCghY8aMkcDAQPnzzz/lq6++koCAAPHz85P+/ftbk8fAgQOlUaNGUr9+fRk7dmy6/eXU+vXrs0wUjz32mGzevFlELCcCLi4ukpSUJF9//bX079/f2i7l95KYmCg1atSw2YnDncrtRJGdB+7UPS4uLo7wcLtMaJhKYmIi69at48UXXwQsl53SFhGsXbs20dHRXLt2jX379vHaa6/ddrvvvPMOpUuXZu/evQDWQfmshIaGsnbtWpycnEhKSmLFihX07duXbdu2UaNGDSpWrMj//d//MXz4cB566CHCw8Np164dBw+mnkV45syZAOzdu5dDhw7x2GOPERoayqpVq+jQoQO7d+9Ot+9hw4bRokULVqxYQWJi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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 31, + "id": "71536eb0", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -4090,34 +3903,9 @@ "save_fig(\"xgparams\")\n", "plt.show()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.3" - } - }, + "metadata": {}, "nbformat": 4, - "nbformat_minor": 4 + "nbformat_minor": 5 } diff --git a/doc/src/week45/week45.do.txt b/doc/src/week45/week45.do.txt index 9280cea04..5371c8aac 100644 --- a/doc/src/week45/week45.do.txt +++ b/doc/src/week45/week45.do.txt @@ -2190,7 +2190,6 @@ import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingRegressor -from sklearn.preprocessing import StandardScaler import scikitplot as skplt from sklearn.metrics import mean_squared_error @@ -2206,15 +2205,11 @@ bias = np.zeros(maxdegree) variance = np.zeros(maxdegree) polydegree = np.zeros(maxdegree) X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) -scaler = StandardScaler() -scaler.fit(X_train) -X_train_scaled = scaler.transform(X_train) -X_test_scaled = scaler.transform(X_test) for degree in range(1,maxdegree): model = GradientBoostingRegressor(max_depth=degree, n_estimators=100, learning_rate=1.0) - model.fit(X_train_scaled,y_train) - y_pred = model.predict(X_test_scaled) + model.fit(X_train,y_train) + y_pred = model.predict(X_test) polydegree[degree] = degree error[degree] = np.mean( np.mean((y_test - y_pred)**2) ) bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 ) @@ -2306,7 +2301,6 @@ import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split import xgboost as xgb -from sklearn.preprocessing import StandardScaler import scikitplot as skplt from sklearn.metrics import mean_squared_error @@ -2322,16 +2316,12 @@ bias = np.zeros(maxdegree) variance = np.zeros(maxdegree) polydegree = np.zeros(maxdegree) X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2) -scaler = StandardScaler() -scaler.fit(X_train) -X_train_scaled = scaler.transform(X_train) -X_test_scaled = scaler.transform(X_test) for degree in range(maxdegree): model = xgb.XGBRegressor(objective ='reg:squarederror', colsaobjective ='reg:squarederror', colsample_bytree = 0.3, learning_rate = 0.1,max_depth = degree, alpha = 10, n_estimators = 200) - model.fit(X_train_scaled,y_train) - y_pred = model.predict(X_test_scaled) + model.fit(X_train,y_train) + y_pred = model.predict(X_test) polydegree[degree] = degree error[degree] = np.mean( np.mean((y_test - y_pred)**2) ) bias[degree] = np.mean( (y_test - np.mean(y_pred))**2 ) From 6643e2886a1bcad282af4473e1befc34fb433ab2 Mon Sep 17 00:00:00 2001 From: mhjensen Date: Fri, 12 Nov 2021 11:37:54 +0100 Subject: [PATCH 05/16] update --- doc/pub/week45/ipynb/DataFiles/cancer.dot | 16 +- doc/pub/week45/ipynb/DataFiles/cancer.png | Bin 248374 -> 250121 bytes .../Results/FigureFiles/gdregression.png | Bin 8148 -> 8281 bytes doc/pub/week45/ipynb/week45.ipynb | 2191 ++++++++++------- 4 files changed, 1316 insertions(+), 891 deletions(-) diff --git a/doc/pub/week45/ipynb/DataFiles/cancer.dot b/doc/pub/week45/ipynb/DataFiles/cancer.dot index be1a64a18..9525ed631 100644 --- a/doc/pub/week45/ipynb/DataFiles/cancer.dot +++ b/doc/pub/week45/ipynb/DataFiles/cancer.dot @@ -6,11 +6,11 @@ edge [fontname=helvetica] ; 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; 2 [label="worst concave points <= 0.135\ngini = 0.031\nsamples = 253\nvalue = [[249, 4]\n[4, 249]]", fillcolor="#e78946"] ; 1 -> 2 ; -3 [label="area error <= 48.975\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e5833c"] ; +3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e5833c"] ; 2 -> 3 ; 4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139"] ; 3 -> 4 ; -5 [label="mean symmetry <= 0.166\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#fdf6f0"] ; +5 [label="mean perimeter <= 78.51\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#fdf6f0"] ; 3 -> 5 ; 6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139"] ; 5 -> 6 ; @@ -22,7 +22,7 @@ edge [fontname=helvetica] ; 8 -> 9 ; 10 [label="gini = 0.0\nsamples = 3\nvalue = [[0, 3]\n[3, 0]]", fillcolor="#e58139"] ; 8 -> 10 ; -11 [label="area error <= 13.475\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#f4caac"] ; +11 [label="worst texture <= 24.785\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#f4caac"] ; 1 -> 11 ; 12 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 11 -> 12 ; @@ -30,11 +30,11 @@ edge [fontname=helvetica] ; 11 -> 13 ; 14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#f0b68c"] ; 0 -> 14 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; -15 [label="worst radius <= 17.74\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#f9e3d4"] ; +15 [label="worst perimeter <= 116.8\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#f9e3d4"] ; 14 -> 15 ; 16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139"] ; 15 -> 16 ; -17 [label="concave points error <= 0.008\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#f6d5bd"] ; +17 [label="worst compactness <= 0.126\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#f6d5bd"] ; 15 -> 17 ; 18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 17 -> 18 ; @@ -48,10 +48,10 @@ edge [fontname=helvetica] ; 21 -> 22 ; 23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139"] ; 21 -> 23 ; -24 [label="worst smoothness <= 0.096\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e6853f"] ; +24 [label="fractal dimension error <= 0.013\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e6853f"] ; 20 -> 24 ; -25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; +25 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139"] ; 24 -> 25 ; -26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139"] ; +26 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139"] ; 24 -> 26 ; } \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/cancer.png b/doc/pub/week45/ipynb/DataFiles/cancer.png index f74fc3c508ff4599733a34bac0d44f9383abea65..1a31a10b2d09720f36c8075a2c3365d02e914e51 100644 GIT binary patch literal 250121 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%0A0Jf;24Wk8U>gK08!qe^dL614;rA_vK!)?Ssg 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�*oi)Tbnt7t09q^ZCcl>{ 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%0DERBUdArwQh}d$tBKg!8QhmJDYkc^ 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 Z>|AY%*U&mW-OQ)8HTABRUb+3?{{SvM1pNR2 literal 248374 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 CiLphMVOX$a`&pbHa+T0CvYoQ|Wz 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 z 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 diff --git a/doc/pub/week45/ipynb/week45.ipynb b/doc/pub/week45/ipynb/week45.ipynb index e3945e0c2..cfd7a1c89 100644 --- a/doc/pub/week45/ipynb/week45.ipynb +++ b/doc/pub/week45/ipynb/week45.ipynb @@ -2,10 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "30c2be4e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", @@ -14,10 +11,7 @@ }, { "cell_type": "markdown", - "id": "a8e0f520", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "# Week 45: Decisions Trees, Random Forests, Bagging and Boosting\n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", @@ -29,10 +23,7 @@ }, { "cell_type": "markdown", - "id": "cf7f77b1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Overview of week 45\n", "\n", @@ -55,10 +46,7 @@ }, { "cell_type": "markdown", - "id": "ac5d0602", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Decision trees, overarching aims\n", "\n", @@ -86,10 +74,7 @@ }, { "cell_type": "markdown", - "id": "943bced3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Basics of a tree\n", "\n", @@ -106,10 +91,7 @@ }, { "cell_type": "markdown", - "id": "6b020673", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A Sketch of a Tree, Regression problem\n", "\n", @@ -118,10 +100,7 @@ }, { "cell_type": "markdown", - "id": "b644cf30", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A Sketch of a Tree, Classification problem\n", "\n", @@ -130,10 +109,7 @@ }, { "cell_type": "markdown", - "id": "cd6b2ccd", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A typical Decision Tree with its pertinent Jargon, Classification Problem\n", "\n", @@ -148,10 +124,7 @@ }, { "cell_type": "markdown", - "id": "3ec2db23", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## General Features\n", "\n", @@ -171,10 +144,7 @@ }, { "cell_type": "markdown", - "id": "a70e8806", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## How do we set it up?\n", "\n", @@ -194,23 +164,51 @@ }, { "cell_type": "markdown", - "id": "ee45f8bf", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Decision trees and Regression" ] }, { "cell_type": "code", - "execution_count": 1, - "id": "c168b8a8", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2nd degree coefficients:\n", + "zero power: -3.3112918771861617\n", + "first power: -0.05496439065605696\n", + "second power: 1.4567975023084221e-05\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "

    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "%matplotlib inline\n", "\n", @@ -306,10 +304,7 @@ }, { "cell_type": "markdown", - "id": "c50ab0f4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Building a tree, regression\n", "\n", @@ -328,10 +323,7 @@ }, { "cell_type": "markdown", - "id": "97ffe3dc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sum_{j=1}^J\\sum_{i\\in R_j}(y_i-\\overline{y}_{R_j})^2,\n", @@ -340,10 +332,7 @@ }, { "cell_type": "markdown", - "id": "b9909111", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $\\overline{y}_{R_j}$ is the mean response for the training observations \n", "within box $j$." @@ -351,10 +340,7 @@ }, { "cell_type": "markdown", - "id": "0f37fe66", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A top-down approach, recursive binary splitting\n", "\n", @@ -373,10 +359,7 @@ }, { "cell_type": "markdown", - "id": "ab77b1a6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Making a tree\n", "\n", @@ -386,10 +369,7 @@ }, { "cell_type": "markdown", - "id": "a2482efe", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\left\\{X\\vert x_j < s\\right\\},\n", @@ -398,20 +378,14 @@ }, { "cell_type": "markdown", - "id": "8a1b0174", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and" ] }, { "cell_type": "markdown", - "id": "c37fc8a8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\left\\{X\\vert x_j \\geq s\\right\\},\n", @@ -420,20 +394,14 @@ }, { "cell_type": "markdown", - "id": "d34ab632", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "so that we obtain the lowest MSE, that is" ] }, { "cell_type": "markdown", - "id": "b7e3a485", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sum_{i:x_i\\in R_j}(y_i-\\overline{y}_{R_1})^2+\\sum_{i:x_i\\in R_2}(y_i-\\overline{y}_{R_2})^2,\n", @@ -442,10 +410,7 @@ }, { "cell_type": "markdown", - "id": "7393edae", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which we want to minimize by considering all predictors\n", "$x_1,x_2,\\dots,x_p$. We consider also all possible values of $s$ for\n", @@ -475,10 +440,7 @@ }, { "cell_type": "markdown", - "id": "c1fcad7a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Pruning the tree\n", "\n", @@ -499,10 +461,7 @@ }, { "cell_type": "markdown", - "id": "f88e7682", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Cost complexity pruning\n", "\n", @@ -511,10 +470,7 @@ }, { "cell_type": "markdown", - "id": "fd949263", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sum_{m=1}^{\\overline{T}}\\sum_{i:x_i\\in R_m}(y_i-\\overline{y}_{R_m})^2+\\alpha\\overline{T},\n", @@ -523,10 +479,7 @@ }, { "cell_type": "markdown", - "id": "238c5120", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "is as small as possible. Here $\\overline{T}$ is \n", "the number of terminal nodes of the tree $T$ , $R_m$ is the\n", @@ -551,10 +504,7 @@ }, { "cell_type": "markdown", - "id": "968f65d6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Schematic Regression Procedure\n", "\n", @@ -577,10 +527,7 @@ }, { "cell_type": "markdown", - "id": "9b0aaf6e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A Classification Tree\n", "\n", @@ -600,10 +547,7 @@ }, { "cell_type": "markdown", - "id": "24d2049f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Growing a classification tree\n", "\n", @@ -627,10 +571,7 @@ }, { "cell_type": "markdown", - "id": "ed99fac8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Classification tree, how to split nodes\n", "\n", @@ -646,10 +587,7 @@ }, { "cell_type": "markdown", - "id": "dc1cc254", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "p_{mk} = \\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i=k).\n", @@ -658,10 +596,7 @@ }, { "cell_type": "markdown", - "id": "5f088c05", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We let $p_{mk}$ represent the majority class of observations in region\n", "$m$. The three most common ways of splitting a node are given by\n", @@ -671,10 +606,7 @@ }, { "cell_type": "markdown", - "id": "055498ee", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i\\ne k) = 1-p_{mk}.\n", @@ -683,20 +615,14 @@ }, { "cell_type": "markdown", - "id": "6e5afe90", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "* Gini index $g$" ] }, { "cell_type": "markdown", - "id": "cce88a51", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "g = \\sum_{k\\ne k'} p_{mk}p_{mk'}=\\sum_{k=1}^K p_{mk}(1-p_{mk}).\n", @@ -705,20 +631,14 @@ }, { "cell_type": "markdown", - "id": "d4d0b0ad", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "* Information entropy or just entropy $s$" ] }, { "cell_type": "markdown", - "id": "3ae7713b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "s = -\\sum_{k=1}^K p_{mk}\\log{p_{mk}}.\n", @@ -727,10 +647,7 @@ }, { "cell_type": "markdown", - "id": "03b6ecc5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gini Index (or Coefficient or Impurity)\n", "\n", @@ -749,10 +666,7 @@ }, { "cell_type": "markdown", - "id": "b2e930b9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Why binary splits?\n", "\n", @@ -764,10 +678,7 @@ }, { "cell_type": "markdown", - "id": "2ac72645", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing a Tree using the Gini Index\n", "\n", @@ -790,10 +701,7 @@ }, { "cell_type": "markdown", - "id": "5f2b9a6f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The Table\n", "\n", @@ -818,10 +726,7 @@ }, { "cell_type": "markdown", - "id": "822ecc99", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the various Gini Indices\n", "\n", @@ -835,10 +740,7 @@ }, { "cell_type": "markdown", - "id": "de46c0c8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the various Gini Indices, Hours slept\n", "\n", @@ -849,10 +751,7 @@ }, { "cell_type": "markdown", - "id": "ed71a46f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the various Gini Indices, Hours studied\n", "\n", @@ -865,23 +764,67 @@ }, { "cell_type": "markdown", - "id": "bfe1cb64", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A possible code using Scikit-Learn" ] }, { "cell_type": "code", - "execution_count": 2, - "id": "9a316ea3", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " (0, 2)\t1.0\n", + " (0, 5)\t1.0\n", + " (0, 8)\t1.0\n", + " (1, 1)\t1.0\n", + " (1, 3)\t1.0\n", + " (1, 6)\t1.0\n", + " (2, 0)\t1.0\n", + " (2, 4)\t1.0\n", + " (2, 6)\t1.0\n", + " (3, 1)\t1.0\n", + " (3, 3)\t1.0\n", + " (3, 7)\t1.0\n", + " (4, 1)\t1.0\n", + " (4, 4)\t1.0\n", + " (4, 7)\t1.0\n", + " (5, 0)\t1.0\n", + " (5, 3)\t1.0\n", + " (5, 7)\t1.0\n", + " (6, 1)\t1.0\n", + " (6, 3)\t1.0\n", + " (6, 6)\t1.0\n", + " (7, 0)\t1.0\n", + " (7, 4)\t1.0\n", + " (7, 7)\t1.0\n", + " (8, 0)\t1.0\n", + " (8, 3)\t1.0\n", + " (8, 7)\t1.0\n", + " (9, 1)\t1.0\n", + " (9, 3)\t1.0\n", + " (9, 6)\t1.0\n", + " (10, 1)\t1.0\n", + " (10, 4)\t1.0\n", + " (10, 7)\t1.0\n", + "Train set accuracy with Decision Tree: 0.82\n" + ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -954,23 +897,126 @@ }, { "cell_type": "markdown", - "id": "bd880513", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Visualizing Trees, More examples" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "b991bd90", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " mean radius mean texture mean perimeter mean area mean smoothness \\\n", + "0 17.99 10.38 122.80 1001.0 0.11840 \n", + "1 20.57 17.77 132.90 1326.0 0.08474 \n", + "2 19.69 21.25 130.00 1203.0 0.10960 \n", + "3 11.42 20.38 77.58 386.1 0.14250 \n", + "4 20.29 14.34 135.10 1297.0 0.10030 \n", + ".. ... ... ... ... ... \n", + "564 21.56 22.39 142.00 1479.0 0.11100 \n", + "565 20.13 28.25 131.20 1261.0 0.09780 \n", + "566 16.60 28.08 108.30 858.1 0.08455 \n", + "567 20.60 29.33 140.10 1265.0 0.11780 \n", + "568 7.76 24.54 47.92 181.0 0.05263 \n", + "\n", + " mean compactness mean concavity mean concave points mean symmetry \\\n", + "0 0.27760 0.30010 0.14710 0.2419 \n", + "1 0.07864 0.08690 0.07017 0.1812 \n", + "2 0.15990 0.19740 0.12790 0.2069 \n", + "3 0.28390 0.24140 0.10520 0.2597 \n", + "4 0.13280 0.19800 0.10430 0.1809 \n", + ".. ... ... ... ... \n", + "564 0.11590 0.24390 0.13890 0.1726 \n", + "565 0.10340 0.14400 0.09791 0.1752 \n", + "566 0.10230 0.09251 0.05302 0.1590 \n", + "567 0.27700 0.35140 0.15200 0.2397 \n", + "568 0.04362 0.00000 0.00000 0.1587 \n", + "\n", + " mean fractal dimension ... worst radius worst texture \\\n", + "0 0.07871 ... 25.380 17.33 \n", + "1 0.05667 ... 24.990 23.41 \n", + "2 0.05999 ... 23.570 25.53 \n", + "3 0.09744 ... 14.910 26.50 \n", + "4 0.05883 ... 22.540 16.67 \n", + ".. ... ... ... ... \n", + "564 0.05623 ... 25.450 26.40 \n", + "565 0.05533 ... 23.690 38.25 \n", + "566 0.05648 ... 18.980 34.12 \n", + "567 0.07016 ... 25.740 39.42 \n", + "568 0.05884 ... 9.456 30.37 \n", + "\n", + " worst perimeter worst area worst smoothness worst compactness \\\n", + "0 184.60 2019.0 0.16220 0.66560 \n", + "1 158.80 1956.0 0.12380 0.18660 \n", + "2 152.50 1709.0 0.14440 0.42450 \n", + "3 98.87 567.7 0.20980 0.86630 \n", + "4 152.20 1575.0 0.13740 0.20500 \n", + ".. ... ... ... ... \n", + "564 166.10 2027.0 0.14100 0.21130 \n", + "565 155.00 1731.0 0.11660 0.19220 \n", + "566 126.70 1124.0 0.11390 0.30940 \n", + "567 184.60 1821.0 0.16500 0.86810 \n", + "568 59.16 268.6 0.08996 0.06444 \n", + "\n", + " worst concavity worst concave points worst symmetry \\\n", + "0 0.7119 0.2654 0.4601 \n", + "1 0.2416 0.1860 0.2750 \n", + "2 0.4504 0.2430 0.3613 \n", + "3 0.6869 0.2575 0.6638 \n", + "4 0.4000 0.1625 0.2364 \n", + ".. ... ... ... \n", + "564 0.4107 0.2216 0.2060 \n", + "565 0.3215 0.1628 0.2572 \n", + "566 0.3403 0.1418 0.2218 \n", + "567 0.9387 0.2650 0.4087 \n", + "568 0.0000 0.0000 0.2871 \n", + "\n", + " worst fractal dimension \n", + "0 0.11890 \n", + "1 0.08902 \n", + "2 0.08758 \n", + "3 0.17300 \n", + "4 0.07678 \n", + ".. ... \n", + "564 0.07115 \n", + "565 0.06637 \n", + "566 0.07820 \n", + "567 0.12400 \n", + "568 0.07039 \n", + "\n", + "[569 rows x 30 columns]\n", + " malignant benign\n", + "0 1 0\n", + "1 1 0\n", + "2 1 0\n", + "3 1 0\n", + "4 1 0\n", + ".. ... ...\n", + "564 1 0\n", + "565 1 0\n", + "566 1 0\n", + "567 1 0\n", + "568 0 1\n", + "\n", + "[569 rows x 2 columns]\n" + ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import os\n", "from sklearn.datasets import load_breast_cancer\n", @@ -1009,23 +1055,27 @@ }, { "cell_type": "markdown", - "id": "d9a6a809", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Visualizing the Tree, The Moons" ] }, { "cell_type": "code", - "execution_count": 4, - "id": "6ae9ab50", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1055,10 +1105,7 @@ }, { "cell_type": "markdown", - "id": "6d7a69fb", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Other ways of visualizing the trees\n", "\n", @@ -1067,13 +1114,48 @@ }, { "cell_type": "code", - "execution_count": 5, - "id": "d68c173a", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Text(167.4, 199.32, 'X[2] <= 2.45\\ngini = 0.667\\nsamples = 150\\nvalue = [50, 50, 50]'),\n", + " Text(141.64615384615385, 163.07999999999998, 'gini = 0.0\\nsamples = 50\\nvalue = [50, 0, 0]'),\n", + " Text(193.15384615384616, 163.07999999999998, 'X[3] <= 1.75\\ngini = 0.5\\nsamples = 100\\nvalue = [0, 50, 50]'),\n", + " Text(103.01538461538462, 126.83999999999999, 'X[2] <= 4.95\\ngini = 0.168\\nsamples = 54\\nvalue = [0, 49, 5]'),\n", + " Text(51.50769230769231, 90.6, 'X[3] <= 1.65\\ngini = 0.041\\nsamples = 48\\nvalue = [0, 47, 1]'),\n", + " Text(25.753846153846155, 54.359999999999985, 'gini = 0.0\\nsamples = 47\\nvalue = [0, 47, 0]'),\n", + " Text(77.26153846153846, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", + " Text(154.52307692307693, 90.6, 'X[3] <= 1.55\\ngini = 0.444\\nsamples = 6\\nvalue = [0, 2, 4]'),\n", + " Text(128.76923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 0, 3]'),\n", + " Text(180.27692307692308, 54.359999999999985, 'X[2] <= 5.45\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 2, 1]'),\n", + " Text(154.52307692307693, 18.119999999999976, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 2, 0]'),\n", + " Text(206.03076923076924, 18.119999999999976, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", + " Text(283.2923076923077, 126.83999999999999, 'X[2] <= 4.85\\ngini = 0.043\\nsamples = 46\\nvalue = [0, 1, 45]'),\n", + " Text(257.53846153846155, 90.6, 'X[1] <= 3.1\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 1, 2]'),\n", + " Text(231.7846153846154, 54.359999999999985, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 0, 2]'),\n", + " Text(283.2923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1, 0]'),\n", + " Text(309.04615384615386, 90.6, 'gini = 0.0\\nsamples = 43\\nvalue = [0, 0, 43]')]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn import tree\n", @@ -1086,10 +1168,7 @@ }, { "cell_type": "markdown", - "id": "4e723908", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Printing out as text\n", "\n", @@ -1099,13 +1178,24 @@ }, { "cell_type": "code", - "execution_count": 6, - "id": "c469a11c", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "|--- petal width (cm) <= 0.80\n", + "| |--- class: 0\n", + "|--- petal width (cm) > 0.80\n", + "| |--- petal width (cm) <= 1.75\n", + "| | |--- class: 1\n", + "| |--- petal width (cm) > 1.75\n", + "| | |--- class: 2\n", + "\n" + ] + } + ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn.tree import DecisionTreeClassifier\n", @@ -1119,10 +1209,7 @@ }, { "cell_type": "markdown", - "id": "fa7f8c24", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Algorithms for Setting up Decision Trees\n", "\n", @@ -1139,10 +1226,7 @@ }, { "cell_type": "markdown", - "id": "6f5e563d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The CART algorithm for Classification\n", "\n", @@ -1156,10 +1240,7 @@ }, { "cell_type": "markdown", - "id": "8db201c8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}G_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}G_{\\mathrm{right}},\n", @@ -1168,10 +1249,7 @@ }, { "cell_type": "markdown", - "id": "846bdc51", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $G_{\\mathrm{left/right}}$ measures the impurity of the left/right subset and $m_{\\mathrm{left/right}}$\n", " is the number of instances in the left/right subset\n", @@ -1185,10 +1263,7 @@ }, { "cell_type": "markdown", - "id": "97d221ac", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The CART algorithm for Regression\n", "\n", @@ -1198,10 +1273,7 @@ }, { "cell_type": "markdown", - "id": "b5257902", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}\\mathrm{MSE}_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}\\mathrm{MSE}_{\\mathrm{right}}.\n", @@ -1210,20 +1282,14 @@ }, { "cell_type": "markdown", - "id": "9195395d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Here the MSE for a specific node is defined as" ] }, { "cell_type": "markdown", - "id": "c7085776", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{MSE}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}(\\overline{y}_{\\mathrm{node}}-y_i)^2,\n", @@ -1232,20 +1298,14 @@ }, { "cell_type": "markdown", - "id": "fa97d224", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "with" ] }, { "cell_type": "markdown", - "id": "3a6d9445", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\overline{y}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}y_i,\n", @@ -1254,10 +1314,7 @@ }, { "cell_type": "markdown", - "id": "29520145", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "the mean value of all observations in a specific node.\n", "\n", @@ -1267,10 +1324,7 @@ }, { "cell_type": "markdown", - "id": "161c32c7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the Gini index\n", "\n", @@ -1311,23 +1365,85 @@ }, { "cell_type": "markdown", - "id": "ce618e95", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Simple Python Code to read in Data and perform Classification" ] }, { "cell_type": "code", - "execution_count": 7, - "id": "074fa8d9", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " (0, 0)\t1.0\n", + " (0, 7)\t1.0\n", + " (0, 9)\t1.0\n", + " (0, 13)\t1.0\n", + " (1, 3)\t1.0\n", + " (1, 5)\t1.0\n", + " (1, 8)\t1.0\n", + " (1, 12)\t1.0\n", + " (2, 3)\t1.0\n", + " (2, 5)\t1.0\n", + " (2, 8)\t1.0\n", + " (2, 11)\t1.0\n", + " (3, 1)\t1.0\n", + " (3, 5)\t1.0\n", + " (3, 8)\t1.0\n", + " (3, 12)\t1.0\n", + " (4, 2)\t1.0\n", + " (4, 6)\t1.0\n", + " (4, 8)\t1.0\n", + " (4, 12)\t1.0\n", + " (5, 2)\t1.0\n", + " (5, 4)\t1.0\n", + " (5, 10)\t1.0\n", + " (5, 12)\t1.0\n", + " (6, 2)\t1.0\n", + " :\t:\n", + " (8, 12)\t1.0\n", + " (9, 3)\t1.0\n", + " (9, 4)\t1.0\n", + " (9, 10)\t1.0\n", + " (9, 12)\t1.0\n", + " (10, 2)\t1.0\n", + " (10, 6)\t1.0\n", + " (10, 10)\t1.0\n", + " (10, 12)\t1.0\n", + " (11, 3)\t1.0\n", + " (11, 6)\t1.0\n", + " (11, 10)\t1.0\n", + " (11, 11)\t1.0\n", + " (12, 1)\t1.0\n", + " (12, 6)\t1.0\n", + " (12, 8)\t1.0\n", + " (12, 11)\t1.0\n", + " (13, 1)\t1.0\n", + " (13, 5)\t1.0\n", + " (13, 10)\t1.0\n", + " (13, 12)\t1.0\n", + " (14, 2)\t1.0\n", + " (14, 6)\t1.0\n", + " (14, 8)\t1.0\n", + " (14, 11)\t1.0\n", + "Train set accuracy with Decision Tree: 0.73\n" + ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1400,10 +1516,7 @@ }, { "cell_type": "markdown", - "id": "a745025b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the Gini Factor\n", "\n", @@ -1417,13 +1530,73 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "98d2dd6d", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X1 < 0.000 Gini=0.408\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 1.000 Gini=0.407\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "Split: [X3 < 1.000]\n" + ] + } + ], "source": [ "# Split a dataset based on an attribute and an attribute value\n", "def test_split(index, value, dataset):\n", @@ -1489,10 +1662,7 @@ }, { "cell_type": "markdown", - "id": "24b51750", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Entropy and the ID3 algorithm\n", "\n", @@ -1528,23 +1698,45 @@ }, { "cell_type": "markdown", - "id": "21273ec4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Cancer Data again now with Decision Trees and other Methods" ] }, { "cell_type": "code", - "execution_count": 9, - "id": "7bd0db2a", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "Test set accuracy with Logistic Regression: 0.95\n", + "Test set accuracy with SVM: 0.63\n", + "Test set accuracy with Decision Trees: 0.90\n", + "Test set accuracy Logistic Regression with scaled data: 0.96\n", + "Test set accuracy SVM with scaled data: 0.96\n", + "Test set accuracy with Decision Trees and scaled data: 0.89\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", + "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", + "\n", + "Increase the number of iterations (max_iter) or scale the data as shown in:\n", + " https://scikit-learn.org/stable/modules/preprocessing.html\n", + "Please also refer to the documentation for alternative solver options:\n", + " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", + " n_iter_i = _check_optimize_result(\n" + ] + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1591,23 +1783,29 @@ }, { "cell_type": "markdown", - "id": "27e24126", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Another example, the moons again" ] }, { "cell_type": "code", - "execution_count": 10, - "id": "739898df", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from __future__ import division, print_function, unicode_literals\n", "\n", @@ -1677,23 +1875,29 @@ }, { "cell_type": "markdown", - "id": "681cc79f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Playing around with regions" ] }, { "cell_type": "code", - "execution_count": 11, - "id": "026766c4", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "np.random.seed(6)\n", "Xs = np.random.rand(100, 2) - 0.5\n", @@ -1719,22 +1923,15 @@ }, { "cell_type": "markdown", - "id": "6c0c1428", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Regression trees" ] }, { "cell_type": "code", - "execution_count": 12, - "id": "9e446f86", - "metadata": { - "collapsed": false, - "editable": true - }, + "execution_count": 42, + "metadata": {}, "outputs": [], "source": [ "# Quadratic training set + noise\n", @@ -1747,13 +1944,20 @@ }, { "cell_type": "code", - "execution_count": 13, - "id": "02614882", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DecisionTreeRegressor(max_depth=2, random_state=42)" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1763,23 +1967,29 @@ }, { "cell_type": "markdown", - "id": "e9f36cf0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Final regressor code" ] }, { "cell_type": "code", - "execution_count": 14, - "id": "78740fb6", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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tQOr+6+ZpFVIQDj69OkDwA8//MDTTz/Nd999R69evQCYPn06c+fO5d133+Wkk04CYNy4cYwePbrt+OLiYhYuXMhtt90W9Tx3331328jruHHjgvIQLl261LjhDnBYUzmViZ049boGjlj4Y1idYpvCPpYuXWppHJwp9Qc21H79tFkwADk5UFAAO3Zo+0JfhysTaV9zM2zdytIuXZj4+usRO4dT+7fbcfJ1DdROfwyrU+yzuv+aiW0OqxCiO/AocDqwFZgmpezg6gshfg38FhgC7Ea7gb1NStlshh3r168HwONL5nvkkUcGvd/U1MT333/f9rp///5B7/fv37+tjkhkZGRwwAEHtL3u0qVLwiEBeh1W05aTi4CKVbSGRK+rFd974IiFxxs9DkthDU7RzUBcMcIayNq1uooZ7kOLF8P48SwcPTrmAUo3rcGJugnB2unNcpZ2qhFWffwVaAR6AUcDLwshPpJSfhpSrjNwPfAucADwT+Am4G4zjHj22Wc5+OCDGTp0KABffvllkHMZylqf2B177LFtr3/+858D7U6vUc466yzeeuutiO/PmzePiy66KGjfhg2RHVZ/p+vRo319a6NB6FY7uoroBF5/MPZdWDWpo6QEjs7pgmf/Hu57QDBCtQs7cIRuBjJ27FhDycf92mlV/bGorg7fH0L7nOE+lJkJwJkrVzFqttJOOwj93TLyO2blZLiSEjgmw4toaWbe/3kodlC7MLt/WUoiSVzj3YAuaKI7NGDf34G7dRx7I7AkVrnQ5NejRo2SFRUVba/XrVsn77rrLpmRkSH/7//+T0op5cSJE+UFF1wg169fL6WUcseOHXLx4sWyrq6urY7c3Fz5xhtvyObmZrlw4UKZlZUlv/76aymllK+++qrMy8uTu3btajvPihUrZEZGRpAt06dPl6eeeqo0yqpVsi35dX7G9fLYY38m9+3bJ/cHLCIQmKzY65XS4zGehFgtOmAvocmqs7ONfReWJp8+/nit4upqEyt1F9i0cEAydFOG0c5Y/POf/zRU3ihm1B+oneH6UajmXX11HH3olVekBDlDHK200wZCv8N584z9jlmetL9nT63yLVtMrjgxrO6/gSSqnXZNuhoKtEgpawP2fQQcruPYk4HQ0QQAhBBlQogaIUTNjz/+2OH9iooK8vLyyM/P5+STT+arr75i1apVjB8/HtDyAw4b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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1823,13 +2033,22 @@ }, { "cell_type": "code", - "execution_count": 15, - "id": "2e2456ae", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", @@ -1863,10 +2082,7 @@ }, { "cell_type": "markdown", - "id": "e02561f0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Pros and cons of trees, pros\n", "\n", @@ -1887,10 +2103,7 @@ }, { "cell_type": "markdown", - "id": "191d2c36", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Disadvantages\n", "\n", @@ -1915,10 +2128,7 @@ }, { "cell_type": "markdown", - "id": "e6e385f6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods\n", "\n", @@ -1946,10 +2156,7 @@ }, { "cell_type": "markdown", - "id": "343b2cae", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## An Overview of Ensemble Methods\n", "\n", @@ -1962,10 +2169,7 @@ }, { "cell_type": "markdown", - "id": "30f9b44b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Bagging\n", "\n", @@ -1984,10 +2188,7 @@ }, { "cell_type": "markdown", - "id": "7566516d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## More bagging\n", "\n", @@ -2016,10 +2217,7 @@ }, { "cell_type": "markdown", - "id": "8139dd6b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Making your own Bootstrap: Changing the Level of the Decision Tree\n", "\n", @@ -2029,13 +2227,74 @@ }, { "cell_type": "code", - "execution_count": 16, - "id": "563de8bc", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Polynomial degree: 1\n", + "Error: 0.061448998019132145\n", + "Bias^2: 0.06105618955900724\n", + "Var: 0.00039280846012491264\n", + "0.061448998019132145 >= 0.06105618955900724 + 0.00039280846012491264 = 0.06144899801913215\n", + "Polynomial degree: 2\n", + "Error: 0.03875741192664723\n", + "Bias^2: 0.034968923076368015\n", + "Var: 0.0037884888502792186\n", + "0.03875741192664723 >= 0.034968923076368015 + 0.0037884888502792186 = 0.03875741192664724\n", + "Polynomial degree: 3\n", + "Error: 0.02041636912454364\n", + "Bias^2: 0.01715994964969937\n", + "Var: 0.003256419474844272\n", + "0.02041636912454364 >= 0.01715994964969937 + 0.003256419474844272 = 0.020416369124543643\n", + "Polynomial degree: 4\n", + "Error: 0.015965748446438426\n", + "Bias^2: 0.013554291046963396\n", + "Var: 0.0024114573994750295\n", + "0.015965748446438426 >= 0.013554291046963396 + 0.0024114573994750295 = 0.015965748446438426\n", + "Polynomial degree: 5\n", + "Error: 0.013812239104124671\n", + "Bias^2: 0.011703251217852149\n", + "Var: 0.002108987886272521\n", + "0.013812239104124671 >= 0.011703251217852149 + 0.002108987886272521 = 0.013812239104124671\n", + "Polynomial degree: 6\n", + "Error: 0.014027604155185338\n", + "Bias^2: 0.011913977762964968\n", + "Var: 0.0021136263922203642\n", + "0.014027604155185338 >= 0.011913977762964968 + 0.0021136263922203642 = 0.014027604155185332\n", + "Polynomial degree: 7\n", + "Error: 0.015038650222479456\n", + "Bias^2: 0.012358926638419723\n", + "Var: 0.0026797235840597265\n", + "0.015038650222479456 >= 0.012358926638419723 + 0.0026797235840597265 = 0.015038650222479449\n", + "Polynomial degree: 8\n", + "Error: 0.01573056551137539\n", + "Bias^2: 0.012523761778720667\n", + "Var: 0.003206803732654721\n", + "0.01573056551137539 >= 0.012523761778720667 + 0.003206803732654721 = 0.01573056551137539\n", + "Polynomial degree: 9\n", + "Error: 0.016856035170026745\n", + "Bias^2: 0.013111698385627429\n", + "Var: 0.003744336784399317\n", + "0.016856035170026745 >= 0.013111698385627429 + 0.003744336784399317 = 0.016856035170026745\n", + "0.5424065596633239\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -2093,10 +2352,7 @@ }, { "cell_type": "markdown", - "id": "9082768f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Why Voting?\n", "\n", @@ -2117,10 +2373,7 @@ }, { "cell_type": "markdown", - "id": "c9cd29e3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Tossing coins\n", "\n", @@ -2148,22 +2401,15 @@ }, { "cell_type": "markdown", - "id": "766fe680", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Standard imports first" ] }, { "cell_type": "code", - "execution_count": 17, - "id": "b9e71382", - "metadata": { - "collapsed": false, - "editable": true - }, + "execution_count": 47, + "metadata": {}, "outputs": [], "source": [ "# Common imports\n", @@ -2207,23 +2453,29 @@ }, { "cell_type": "markdown", - "id": "59f2bb75", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Simple Voting Example, head or tail" ] }, { "cell_type": "code", - "execution_count": 18, - "id": "f2f89dbb", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "# Common imports\n", @@ -2252,10 +2504,7 @@ }, { "cell_type": "markdown", - "id": "55bb71d6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Using the Voting Classifier\n", "\n", @@ -2264,13 +2513,24 @@ }, { "cell_type": "code", - "execution_count": 19, - "id": "686bd591", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.872\n", + "SVC 0.888\n", + "VotingClassifier 0.896\n", + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.872\n", + "SVC 0.888\n", + "VotingClassifier 0.912\n" + ] + } + ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2318,23 +2578,29 @@ }, { "cell_type": "markdown", - "id": "d0e5cdbd", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Voting and Bagging" ] }, { "cell_type": "code", - "execution_count": 20, - "id": "6b72643f", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", + " ('rf', RandomForestClassifier(random_state=42)),\n", + " ('svc', SVC(random_state=42))])" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2358,13 +2624,20 @@ }, { "cell_type": "code", - "execution_count": 21, - "id": "7630db00", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.896\n", + "SVC 0.896\n", + "VotingClassifier 0.912\n" + ] + } + ], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2376,13 +2649,23 @@ }, { "cell_type": "code", - "execution_count": 22, - "id": "e6f81c32", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", + " ('rf', RandomForestClassifier(random_state=42)),\n", + " ('svc', SVC(probability=True, random_state=42))],\n", + " voting='soft')" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "log_clf = LogisticRegression(random_state=42)\n", "rnd_clf = RandomForestClassifier(random_state=42)\n", @@ -2396,13 +2679,20 @@ }, { "cell_type": "code", - "execution_count": 23, - "id": "dfb90730", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.896\n", + "SVC 0.896\n", + "VotingClassifier 0.92\n" + ] + } + ], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2414,10 +2704,7 @@ }, { "cell_type": "markdown", - "id": "5672a91e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Random forests\n", "\n", @@ -2437,10 +2724,7 @@ }, { "cell_type": "markdown", - "id": "54acf93a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "m\\approx \\sqrt{p}.\n", @@ -2449,10 +2733,7 @@ }, { "cell_type": "markdown", - "id": "20c2e5b6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In building a random forest, at\n", "each split in the tree, the algorithm is not even allowed to consider\n", @@ -2474,10 +2755,7 @@ }, { "cell_type": "markdown", - "id": "1c5f740d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Random Forest Algorithm\n", "The algorithm described here can be applied to both classification and regression problems.\n", @@ -2500,23 +2778,90 @@ }, { "cell_type": "markdown", - "id": "ff16fb37", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Random Forests Compared with other Methods on the Cancer Data" ] }, { "cell_type": "code", - "execution_count": 24, - "id": "d82fbd4a", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "Test set accuracy with Logistic Regression: 0.95\n", + "Test set accuracy with SVM: 0.63\n", + "Test set accuracy with Decision Trees: 0.88\n", + "Test set accuracy Logistic Regression with scaled data: 0.96\n", + "Test set accuracy SVM with scaled data: 0.96\n", + "Test set accuracy with Decision Trees and scaled data: 0.90\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", + "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", + "\n", + "Increase the number of iterations (max_iter) or scale the data as shown in:\n", + " https://scikit-learn.org/stable/modules/preprocessing.html\n", + "Please also refer to the documentation for alternative solver options:\n", + " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", + " n_iter_i = _check_optimize_result(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.93333333 0.8 0.93333333 1. 1. 0.92857143\n", + " 1. 0.92857143 0.92857143 1. ]\n", + "Test set accuracy with Random Forests and scaled data: 0.97\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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pH///iIi8v3330uPHj1EROTKlStSo0YNuXLlily9elVq1KghV69eFRGRDRs2yAsvvGD7A8iitP5ugV2S3c/d7L7QXg9NFLnr1i9cYmKiYBntluOPzCT/APzss89k4MCBIiIyZ84c6d27d4q2wcHBUqVKFRER6d27t8ydOzfT7UdERMizzz4rPj4+4uvrK0uWLEm138WLF0vfvn1FRKRv374ybNgwadWqlbzyyitSrVo1CQsLs7atVauWXLhwQS5duiRPPPGENG7cWBo3bix//vlnqn3fvHnTuu/69evLunXrRETE19dXihQpIv7+/rJx48YUr7lw4YI8/vjj4ufnJ35+frJ58+YU8UZEREjr1q2lQYMG4uPjI8uWLRMRkcjISOnQoYP4+fmJt7e3LFy4UERERo4cKV5eXuLr6yuvvfZaqhhfeukl+e6776zLderUkXPnzqVq16tXL1m/fr11uUuXLtKwYUOpV6+ezJ4927q+ePHiMnr0aGnSpIls2rRJ5s+fLwEBAeLv7y8vvfSSNXkMGDBAGjVqJPXq1ZMxY8ak2l92rV+/PsNE8cgjj8iWLVtExPJFwNXVVRITE+W7776Tl156ydou+fuSkJAg1atXt9kXhzuV04kiKzfcqXtcTEwMISF2mdAwhYSEBNauXcvzzz8PWC473V5EsFatWkRGRnL9+nUOHDjAa6+9lul2x48fj4uLC/v37wewdspn5OjRo6xZswYnJycSExNZunQp/fr1Y/v27VSvXp3y5cvzf//3fwwbNowHHniAkJAQ2rdvz6FDKWcRnjFjBgD79+/n8OHDPPLIIxw9epQVK1bQqVMn9uzZk2rfQ4cOpWXLlixdupSEhAQiIyNTPF+kSBGWLl1KyZIluXz5Ms2aNaNz58788ssvVKpUiVWrVgGWUWpXr15l6dKlHD58GGNMist6t5w9exZ3d3frcpUqVTh79iwVK1ZM0W7z5s3Mnj3buvzll19SpkwZbt68SUBAAN26dcPV1ZUbN27g4+PDuHHjOHToEJMmTWLz5s0UKlSIQYMGsWDBAvr06cN7771HmTJlSEhIoE2bNuzbtw8/P78U+/zggw9YsGBBqpgfeughPvnkkzT/7zKT/HgLFiyIi4sLV65cSfd9AMsAjtq1a7N37958WdhSE4VKV2xsLOHh4fz9998kJiaye/duKleujJubW67e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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -2588,10 +2933,7 @@ }, { "cell_type": "markdown", - "id": "06cc37e7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Recall that the cumulative gains curve shows the percentage of the\n", "overall number of cases in a given category *gained* by targeting a\n", @@ -2604,22 +2946,15 @@ }, { "cell_type": "markdown", - "id": "ac0605fa", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Compare Bagging on Trees with Random Forests" ] }, { "cell_type": "code", - "execution_count": 25, - "id": "006072ad", - "metadata": { - "collapsed": false, - "editable": true - }, + "execution_count": 55, + "metadata": {}, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -2629,13 +2964,20 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "003cf5d0", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.9790209790209791" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "bag_clf.fit(X_train, y_train)\n", "y_pred = bag_clf.predict(X_test)\n", @@ -2648,10 +2990,7 @@ }, { "cell_type": "markdown", - "id": "9a3dc0e0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Boosting, a Bird's Eye View\n", "\n", @@ -2668,10 +3007,7 @@ }, { "cell_type": "markdown", - "id": "bd6778b6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## What is boosting? Additive Modelling/Iterative Fitting\n", "\n", @@ -2682,10 +3018,7 @@ }, { "cell_type": "markdown", - "id": "c5fcd22e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -2694,10 +3027,7 @@ }, { "cell_type": "markdown", - "id": "78d44b15", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $\\beta_m$ are the expansion parameters to be determined in a\n", "minimization process and $b(x;\\gamma_m)$ are some simple functions of\n", @@ -2711,10 +3041,7 @@ }, { "cell_type": "markdown", - "id": "c9996ebd", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sigma(t) = \\frac{1}{1+\\exp{(-t)}},\n", @@ -2723,10 +3050,7 @@ }, { "cell_type": "markdown", - "id": "99f44cfa", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $t=\\gamma_0+\\gamma_1 x$ and the parameters $\\gamma_0$ and\n", "$\\gamma_1$ were determined by the Logistic Regression fitting\n", @@ -2737,10 +3061,7 @@ }, { "cell_type": "markdown", - "id": "e1f135e6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\frac{1}{n} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -2749,10 +3070,7 @@ }, { "cell_type": "markdown", - "id": "c478d51f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In this case the function $f(x)$ was replaced by the design matrix\n", "$\\boldsymbol{X}$ and the unknown linear regression parameters $\\boldsymbol{\\beta}$,\n", @@ -2762,10 +3080,7 @@ }, { "cell_type": "markdown", - "id": "eacf1612", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{\\beta}=\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", @@ -2774,20 +3089,14 @@ }, { "cell_type": "markdown", - "id": "46f16b45", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$." ] }, { "cell_type": "markdown", - "id": "5eb4ac91", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Iterative Fitting, Regression and Squared-error Cost Function\n", "\n", @@ -2812,10 +3121,7 @@ }, { "cell_type": "markdown", - "id": "400a22f0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Squared-Error Example and Iterative Fitting\n", "\n", @@ -2828,10 +3134,7 @@ }, { "cell_type": "markdown", - "id": "d23b3758", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\beta_m,\\gamma_m) = \\mathrm{argmin}_{\\beta,\\lambda}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta b(x;\\gamma))^2=\\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta(1+\\gamma x_i))^2.\n", @@ -2840,10 +3143,7 @@ }, { "cell_type": "markdown", - "id": "a5115a58", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We start our iteration by simply setting $f_0(x)=0$. \n", "Taking the derivatives with respect to $\\beta$ and $\\gamma$ we obtain" @@ -2851,10 +3151,7 @@ }, { "cell_type": "markdown", - "id": "6047081b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\beta} = -2\\sum_{i}(1+\\gamma x_i)(y_i-\\beta(1+\\gamma x_i))=0,\n", @@ -2863,20 +3160,14 @@ }, { "cell_type": "markdown", - "id": "984a310e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and" ] }, { "cell_type": "markdown", - "id": "1774c56d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\gamma} =-2\\sum_{i}\\beta x_i(y_i-\\beta(1+\\gamma x_i))=0.\n", @@ -2885,20 +3176,14 @@ }, { "cell_type": "markdown", - "id": "f013c681", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We can then rewrite these equations as (defining $\\boldsymbol{w}=\\boldsymbol{e}+\\gamma \\boldsymbol{x})$ with $\\boldsymbol{e}$ being the unit vector)" ] }, { "cell_type": "markdown", - "id": "44ce61c6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\gamma \\boldsymbol{w}^T(\\boldsymbol{y}-\\beta\\gamma \\boldsymbol{w})=0,\n", @@ -2907,20 +3192,14 @@ }, { "cell_type": "markdown", - "id": "d2a8fa9a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which gives us $\\beta = \\boldsymbol{w}^T\\boldsymbol{y}/(\\boldsymbol{w}^T\\boldsymbol{w})$. Similarly we have" ] }, { "cell_type": "markdown", - "id": "9ca1e1b4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\beta\\gamma \\boldsymbol{x}^T(\\boldsymbol{y}-\\beta(1+\\gamma \\boldsymbol{x}))=0,\n", @@ -2929,10 +3208,7 @@ }, { "cell_type": "markdown", - "id": "2d5f9f2e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which leads to $\\gamma =(\\boldsymbol{x}^T\\boldsymbol{y}-\\beta\\boldsymbol{x}^T\\boldsymbol{e})/(\\beta\\boldsymbol{x}^T\\boldsymbol{x})$. Inserting\n", "for $\\beta$ gives us an equation for $\\gamma$. This is a non-linear equation in the unknown $\\gamma$ and has to be solved numerically. \n", @@ -2943,10 +3219,7 @@ }, { "cell_type": "markdown", - "id": "8a47601e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Iterative Fitting, Classification and AdaBoost\n", "\n", @@ -2959,10 +3232,7 @@ }, { "cell_type": "markdown", - "id": "c83405ad", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{\\overline{err}}=\\frac{1}{n} \\sum_{i=0}^{n-1} I(y_i\\ne G(x_i)).\n", @@ -2971,10 +3241,7 @@ }, { "cell_type": "markdown", - "id": "63915200", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The iterative procedure starts with defining a weak classifier whose\n", "error rate is barely better than random guessing. The iterative\n", @@ -2987,10 +3254,7 @@ }, { "cell_type": "markdown", - "id": "62d49eea", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -2999,20 +3263,14 @@ }, { "cell_type": "markdown", - "id": "355f8ea3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "will be a function of" ] }, { "cell_type": "markdown", - "id": "15655aaa", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "G_M(x) = \\mathrm{sign} \\sum_{i=1}^M \\alpha_m G_m(x).\n", @@ -3021,10 +3279,7 @@ }, { "cell_type": "markdown", - "id": "fb3519e7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Adaptive Boosting, AdaBoost\n", "\n", @@ -3033,10 +3288,7 @@ }, { "cell_type": "markdown", - "id": "514da4e2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_m(x) = f_{m-1}(x)+\\beta_mG_m(x).\n", @@ -3045,10 +3297,7 @@ }, { "cell_type": "markdown", - "id": "f453f6d5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the\n", "exponential cost/loss function defined as" @@ -3056,10 +3305,7 @@ }, { "cell_type": "markdown", - "id": "2ed109d7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}\\exp{(-y_i(f_{m-1}(x_i)+\\beta G(x_i))}.\n", @@ -3068,10 +3314,7 @@ }, { "cell_type": "markdown", - "id": "6119016a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We optimize $\\beta$ and $G$ for each value of $m=1:M$ as we did in the regression case.\n", "This is normally done in two steps. Let us however first rewrite the cost function as" @@ -3079,10 +3322,7 @@ }, { "cell_type": "markdown", - "id": "cd90e9b4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}w_i^{m}\\exp{(-y_i\\beta G(x_i))},\n", @@ -3091,20 +3331,14 @@ }, { "cell_type": "markdown", - "id": "c4beab2f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$." ] }, { "cell_type": "markdown", - "id": "a068939c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Building up AdaBoost\n", "\n", @@ -3113,10 +3347,7 @@ }, { "cell_type": "markdown", - "id": "6f5158db", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "G_m(x) = \\mathrm{sign} \\sum_{i=0}^{n-1} w_i^m I(y_i \\ne G_(x_i)),\n", @@ -3125,10 +3356,7 @@ }, { "cell_type": "markdown", - "id": "e12623d6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which is the classifier that minimizes the weighted error rate in predicting $y$.\n", "\n", @@ -3137,10 +3365,7 @@ }, { "cell_type": "markdown", - "id": "cf70dd50", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\exp{-(\\beta)}\\sum_{y_i=G(x_i)}w_i^m+\\exp{(\\beta)}\\sum_{y_i\\ne G(x_i)}w_i^m,\n", @@ -3149,20 +3374,14 @@ }, { "cell_type": "markdown", - "id": "7d92acf9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which can be rewritten as" ] }, { "cell_type": "markdown", - "id": "dae938d4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\exp{(\\beta)}-\\exp{-(\\beta)})\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i))+\\exp{(-\\beta)}\\sum_{i=0}^{n-1}w_i^m=0,\n", @@ -3171,20 +3390,14 @@ }, { "cell_type": "markdown", - "id": "c3e02903", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which leads to" ] }, { "cell_type": "markdown", - "id": "3dbe4f45", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\beta_m = \\frac{1}{2}\\log{\\frac{1-\\mathrm{\\overline{err}}}{\\mathrm{\\overline{err}}}},\n", @@ -3193,20 +3406,14 @@ }, { "cell_type": "markdown", - "id": "85851689", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where we have redefined the error as" ] }, { "cell_type": "markdown", - "id": "61cf6c2c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{1}{n}\\frac{\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i)}{\\sum_{i=0}^{n-1}w_i^m},\n", @@ -3215,20 +3422,14 @@ }, { "cell_type": "markdown", - "id": "5d149194", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which leads to an update of" ] }, { "cell_type": "markdown", - "id": "472176ec", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_m(x) = f_{m-1}(x) +\\beta_m G_m(x).\n", @@ -3237,20 +3438,14 @@ }, { "cell_type": "markdown", - "id": "ad92f969", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "This leads to the new weights" ] }, { "cell_type": "markdown", - "id": "7947a478", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "w_i^{m+1} = w_i^m \\exp{(-y_i\\beta_m G_m(x_i))}\n", @@ -3259,10 +3454,7 @@ }, { "cell_type": "markdown", - "id": "cb2b0255", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Adaptive boosting: AdaBoost, Basic Algorithm\n", "\n", @@ -3279,10 +3471,7 @@ }, { "cell_type": "markdown", - "id": "698f9a48", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{err}=\\frac{1}{n}\\sum_{i=0}^{n-1}I(y_i\\ne G(x_i)),\n", @@ -3291,20 +3480,14 @@ }, { "cell_type": "markdown", - "id": "87386a48", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where the function $I()$ is one if we misclassify and zero if we classify correctly." ] }, { "cell_type": "markdown", - "id": "a462a21c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Basic Steps of AdaBoost\n", "\n", @@ -3317,10 +3500,7 @@ }, { "cell_type": "markdown", - "id": "9ca2a24f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{\\sum_{i=0}^{n-1}w_i^m I(y_i\\ne G(x_i))}{\\sum_{i=0}^{n-1}w_i},\n", @@ -3329,10 +3509,7 @@ }, { "cell_type": "markdown", - "id": "2c24626a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "1. Then we start looping over all attempts at classifying, namely we start an iterative process for $m=1:M$, where $M$ is the final number of classifications. Our given classifier could for example be a plain decision tree.\n", "\n", @@ -3357,10 +3534,7 @@ }, { "cell_type": "markdown", - "id": "a17333be", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## AdaBoost Examples\n", "\n", @@ -3369,13 +3543,46 @@ }, { "cell_type": "code", - "execution_count": 27, - "id": "a8bb9367", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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OTmZcuXK4ePjw2233ZbjScLFxYXGjRvj6+vLQw89RGRkpO25ffv20aFDB+688048PT159913SX2BxsqVK2nevDne3t54eXkxYsSIHI3NkXr37k2jRo2YMmWKXe0ddbmxiDB06FDq1atHo0aN2LlzZ6btOnTowOXLlx0SR06YP38+np6eeHp6Mn/+/AzbnDhxgoCAABo1akT79u05deqU7blRo0bh6+uLr68vixYtsq3v1asXhw8fdnj8TiMi+erBnYjKPSEhIZk+d+zYMQkODpaIiAixWCwOi6FUqVK2n/v27SvvvfeeiIjExMRInTp1ZNWqVSIicvXqVencubPMnDlTRET27NkjderUkf3794uISGJiosyaNStHY0tMTMzR7V0TFhYmNWrUuKHXpH6fctIvv/winTt3FovFIlu2bJEWLVpk2O7nn3+WYcOG3dC2k5KSciJEu1y8eFFq164tFy9elIiICKldu7ZERESka/f444/Ll19+KSIia9eulaeeekpErMd33333SWJiokRHR0uzZs0kKipKREQ2bNggzz33XK4dS3Yy+rsFdshNfu7q+QFlFxHBGJPmUbt2bfz8/KhYsSJFihRJ97y9jxvRunVrTp8+DcC3337LXXfdxf333w9AyZIlmTlzJh9++CEAEyZM4I033sDLywsAV1dXBg0alG6b0dHR9O/fn4YNG9KoUSMWL7aWMkv9Df3HH3/k6aefBuDpp5/m5Zdf5t577+XVV1+lVq1aaXo59erV49y5c4SHh9O9e3f8/f3x9/fnr7/+SrfvuLg4276bNGnC+vXrAbj//vs5f/48jRs3ZtOmTWlec+7cObp164afnx9+fn5s3rw53fEEBATQtGlTGjZsyLJlywC4evUqXbp0wc/PL8034tdee40GDRrQqFGjDHtcy5Yto2/fvhhjaNWqFZGRkYSFhaVrt2DBAh555BHb8qOPPkqzZs3w8fHhk08+sa0vXbo0b775Ji1btmTLli188803tGjRgsaNGzNgwACSk5MBGDhwIM2bN8fHx4e33nor3f5u1KpVq+jYsSMVK1akQoUKdOzYkd9++y1du5CQEAICrGfe7733Xtv7FxISQrt27XB1daVUqVL4+fnZXt+2bVvWrFlDUlLSLceZJ91shnHWQ3sUuSskJETi4uLk0KFDgvWy6Bx/ZOfaN+WkpCR5/PHH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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", "\n", @@ -3402,10 +3609,7 @@ }, { "cell_type": "markdown", - "id": "f530b2c6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent\n", "\n", @@ -3420,10 +3624,7 @@ }, { "cell_type": "markdown", - "id": "58315eae", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The Squared-Error again! Steepest Descent\n", "\n", @@ -3433,10 +3634,7 @@ }, { "cell_type": "markdown", - "id": "32d951e0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\hat{\\boldsymbol{f}}) = \\mathrm{argmin}_{\\boldsymbol{f}}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3445,20 +3643,14 @@ }, { "cell_type": "markdown", - "id": "fd247a3f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We define a real function $h_m(x)$ that defines our final function $f_M(x)$ as" ] }, { "cell_type": "markdown", - "id": "13bb6ef1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_M(x) = \\sum_{m=0}^M h_m(x).\n", @@ -3467,20 +3659,14 @@ }, { "cell_type": "markdown", - "id": "15a32911", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In the steepest decent approach we approximate $h_m(x) = -\\rho_m g_m(x)$, where $\\rho_m$ is a scalar and $g_m(x)$ the gradient defined as" ] }, { "cell_type": "markdown", - "id": "ba097473", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "g_m(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{m-1}(x_i)}.\n", @@ -3489,10 +3675,7 @@ }, { "cell_type": "markdown", - "id": "65a8a95a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "With the new gradient we can update $f_m(x) = f_{m-1}(x) -\\rho_m g_m(x)$. Using the above squared-error function we see that\n", "the gradient is $g_m(x_i) = -2(y_i-f(x_i))$.\n", @@ -3502,10 +3685,7 @@ }, { "cell_type": "markdown", - "id": "5b4709cd", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\rho_1) = \\mathrm{argmin}_{\\rho}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i+2\\rho y_i)^2.\n", @@ -3514,10 +3694,7 @@ }, { "cell_type": "markdown", - "id": "9948cdb8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Steepest Descent Example\n", "\n", @@ -3526,10 +3703,7 @@ }, { "cell_type": "markdown", - "id": "813dd249", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_1(x) = f_{0}(x) -\\rho_1 g_1(x)=-y_i.\n", @@ -3538,20 +3712,14 @@ }, { "cell_type": "markdown", - "id": "1d40cfa7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We can then proceed and compute" ] }, { "cell_type": "markdown", - "id": "aa9705f3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "g_2(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i,\n", @@ -3560,20 +3728,14 @@ }, { "cell_type": "markdown", - "id": "d1de3470", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**." ] }, { "cell_type": "markdown", - "id": "5ac6239d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient Boosting, algorithm\n", "\n", @@ -3586,10 +3748,7 @@ }, { "cell_type": "markdown", - "id": "63037c4c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f})=\\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3598,10 +3757,7 @@ }, { "cell_type": "markdown", - "id": "cb6290bf", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The way we proceed in an iterative fashion is to\n", "1. Initialize our estimate $f_0(x)$.\n", @@ -3619,23 +3775,76 @@ }, { "cell_type": "markdown", - "id": "1e265de8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient Boosting, Examples of Regression" ] }, { "cell_type": "code", - "execution_count": 28, - "id": "d311fcdc", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n", + "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " return f(**kwargs)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Max depth: 1\n", + "Error: 0.4649152123534192\n", + "Bias^2: 0.22096630093477287\n", + "Var: 0.24394891141864633\n", + "0.4649152123534192 >= 0.22096630093477287 + 0.24394891141864633 = 0.4649152123534192\n", + "Max depth: 2\n", + "Error: 0.479478017184938\n", + "Bias^2: 0.22173886899445688\n", + "Var: 0.25773914819048116\n", + "0.479478017184938 >= 0.22173886899445688 + 0.25773914819048116 = 0.47947801718493804\n", + "Max depth: 3\n", + "Error: 0.4794783817508626\n", + "Bias^2: 0.2217389150411781\n", + "Var: 0.25773946670968456\n", + "0.4794783817508626 >= 0.2217389150411781 + 0.25773946670968456 = 0.47947838175086266\n", + "Max depth: 4\n", + "Error: 0.4794783817508626\n", + "Bias^2: 0.2217389150411781\n", + "Var: 0.25773946670968456\n", + "0.4794783817508626 >= 0.2217389150411781 + 0.25773946670968456 = 0.47947838175086266\n", + "Max depth: 5\n", + "Error: 0.4794783817508626\n", + "Bias^2: 0.2217389150411781\n", + "Var: 0.25773946670968456\n", + "0.4794783817508626 >= 0.2217389150411781 + 0.25773946670968456 = 0.47947838175086266\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3682,23 +3891,64 @@ }, { "cell_type": "markdown", - "id": "032d2a60", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient Boosting, Classification Example" ] }, { "cell_type": "code", - "execution_count": 29, - "id": "7ece4ab5", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "[1. 0.86666667 0.93333333 1. 1. 0.92857143\n", + " 1. 0.92857143 0.92857143 0.92857143]\n", + "Test set accuracy with Random Forests and scaled data: 0.97\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3744,10 +3994,7 @@ }, { "cell_type": "markdown", - "id": "6cebb42c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## XGBoost: Extreme Gradient Boosting\n", "\n", @@ -3767,23 +4014,113 @@ }, { "cell_type": "markdown", - "id": "e0b9375b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Regression Case" ] }, { "cell_type": "code", - "execution_count": 30, - "id": "229eceb6", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 0\n", + "Error: 0.27265898772673286\n", + "Bias^2: 0.27265898120693166\n", + "Var: 3.552713678800501e-15\n", + "0.27265898772673286 >= 0.27265898120693166 + 3.552713678800501e-15 = 0.2726589812069352\n", + "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 1\n", + "Error: 0.30539667982909335\n", + "Bias^2: 0.2707146103037183\n", + "Var: 0.03468207269906998\n", + "0.30539667982909335 >= 0.2707146103037183 + 0.03468207269906998 = 0.30539668300278827\n", + "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 2\n", + "Error: 0.3086154634354187\n", + "Bias^2: 0.27120662006386265\n", + "Var: 0.037408843636512756\n", + "0.3086154634354187 >= 0.27120662006386265 + 0.037408843636512756 = 0.3086154637003754\n", + "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 3\n", + "Error: 0.3086162750614561\n", + "Bias^2: 0.27120680244783013\n", + "Var: 0.037409473210573196\n", + "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", + "[09:16:07] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 4\n", + "Error: 0.3086162750614561\n", + "Bias^2: 0.27120680244783013\n", + "Var: 0.037409473210573196\n", + "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", + "[09:16:07] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", + "Parameters: { colsaobjective } might not be used.\n", + "\n", + " This may not be accurate due to some parameters are only used in language bindings but\n", + " passed down to XGBoost core. Or some parameters are not used but slip through this\n", + " verification. Please open an issue if you find above cases.\n", + "\n", + "\n", + "Max depth: 5\n", + "Error: 0.3086162750614561\n", + "Bias^2: 0.27120680244783013\n", + "Var: 0.037409473210573196\n", + "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n" + ] + }, + { + "data": { + "image/png": "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+iPRe+65h+XLl2da/5ZbbuG5557rj9Jy44AwMwMWLVrE2rVrj2pbu3YtixYt6nHd9vZ2Ghsb+fjHP95f5eXCAWFmBlx++eU8+eSTHDx4ECh8edAbb7zBww8/nLy8d319PY2NjZx33nk8+uijXH311Tz22GMANDY2cs455zBt2jSuu+46Igrn+s6dO5cVK1Zw7rnnMmXKFH76058ChYC58cYbmT59OjNmzODrX/86ABs3buT888/n7LPP5uKLL+ZPf/rTQE6JL/dtZoPPP2/4Z17d9WpFx/zw+A+z4twVXT4+YcIEzj33XJ555hnmz5/P2rVrueKKK7jpppuOubz3jBkzAKipqem82uszzzzTOdb111/PLbfcAsDSpUt58sknueyyy4DC901s2LCBp556ittvv53nnnuOVatW8dprr/GrX/2K6upqdu3aRVtbGzfccAM/+MEPqKur43vf+x5f/OIXuf/++ys6L93xHoSZWVHpYaaOw0upy3t3uOKKK5Lj/OhHP2L27NlMnz6dF154gebmd84r/tSnPgXA2WefzdatWwF47rnn+NznPkd1deE9+/jx49m8eTO/+93v+MQnPsGsWbO444472L59e3+87C55D8LMBp3u3un3pwULFvCFL3yBX/7yl+zfv59x48YlL+/doba29pgxDhw4wPLly2lqauKUU07htttuO2qdkSNHAlBVVcXhw4cBiIhjLjMeEUydOrXzyrJ58B6EmVnR6NGjmTt3Ltdccw2LFi3q8vLe3ekIg5NPPpnW1tbOzyW6c9FFF/Gtb32rMzB27drF6aefTktLS2dAtLW1HbUnMhAcEGZmJRYtWsSmTZu48soru7y8d3dOOukkPvvZzzJ9+nQWLFjAOef0fH7wtddey+TJk5kxYwYzZ87k4YcfZsSIETz22GOsWLGCmTNnMmvWLH72s59V4iVmpo5P1wezhoaG6PjCcDP72/T73/+eM844I+8yhqzU/EnaGBENfR3TexBmZpbkgDAzsyQHhJkNGkPhkPdg1F/z5oAws0GhpqaGnTt3OiR6KSLYuXMnNTU1FR/b50GY2aAwadIktm/fTktLS96lDDk1NTVMmjSp4uM6IMxsUBg+fDinnnpq3mVYCR9iMjOzJAeEmZklOSDMzCzJAWFmZkkOCDMzS3JAmJlZUqaAkDRe0uOS9knaJmlxF/2mSXpW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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3830,10 +4167,7 @@ }, { "cell_type": "markdown", - "id": "1acd0f18", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Xgboost on the Cancer Data\n", "\n", @@ -3842,13 +4176,79 @@ }, { "cell_type": "code", - "execution_count": 31, - "id": "71536eb0", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "Test set accuracy with Random Forests and scaled data: 1.00\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEWCAYAAAB42tAoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXhN5/bA8e8riFJjhBpiDolMhMTQgRoqLaVKDb8W1dZY3GqVXr1UdVBDq2qoqa0qLaWX0upEqdYsrphFaohZTJGIRIb1++PEaWYROTk5sT7Pcx7Z+7xn77UPsva7373Xa0QEpZRSKjOF7B2AUkqp/E0ThVJKqSxpolBKKZUlTRRKKaWypIlCKaVUljRRKKWUypImCqWUUlnSRKEcnjHmuDHmhjEm2hhzzhizwBhzf5o2zY0xvxtjoowxkcaY1caY+mnalDLGfGyMCU/eVljycvlM9muMMcOMMfuMMdeNMaeMMcuMMT62PF6l8pomClVQPCki9wMNgIbAv2+9YYxpBvwKfA9UBmoCIcAmY0yt5DZFgXWAFxAElAKaA5eAwEz2OQ34FzAMKAfUBVYC7e80eGNM4Tv9jFJ5RROFKlBE5BzwC5aEccskYKGITBORKBG5LCL/AbYC45Lb9AaqAZ1F5ICIJInIBRF5R0TWpN2PMcYdeBnoKSK/i0iciMSIyGIR+SC5zQZjzEspPvO8MeavFMtijHnZGHMEOGKMmW2MmZJmP98bY15N/rmyMeY7Y0yEMeaYMWZYinaBxpidxphrxpjzxpiP7uJrVCoVTRSqQDHGVAUeB8KSl4tj6Rksy6D5t0Db5J/bAD+LSHQ2d9UaOCUi2+8uYp4CmgD1ga+B7sYYA2CMKQs8BiwxxhQCVmPpCVVJ3v8rxph2yduZBkwTkVJA7eRjUypXaKJQBcVKY0wUcBK4ALyVvL4cln/nZzP4zFng1viDSyZtMnOn7TMzIbmHcwP4ExDg4eT3ugJbROQMEAC4ish4EbkpIkeBeUCP5LbxQB1jTHkRiRaRrbkQm1KAJgpVcDwlIiWBloAH/ySAK0ASUCmDz1QCLib/fCmTNpm50/aZOXnrB7FU6FwC9Exe9X/A4uSfqwOVjTFXb72A0UDF5PdfxDJGcsgYs8MY0yEXYlMK0EShChgR+QNYAExJXr4ObAGeyaB5NywD2ABrgXbGmBLZ3NU6oKoxpnEWba4DxVMsP5BRyGmWvwG6GmOqY7kk9V3y+pPAMREpk+JVUkSeABCRIyLSE6gATASW38GxKJUlTRSqIPoYaGuMuTWg/QbQJ/lW1pLGmLLGmHeBZsDbyW2+wvLL+DtjjIcxppAxxsUYM9oY80TaHYjIEWAW8I0xpqUxpqgxppgxpocx5o3kZruBp40xxY0xdbCc9WdJRP4HRADzgV9E5GryW9uBa8aYUcaY+4wxTsYYb2NMAIAx5jljjKuIJAG3PpN4J1+aUpnRRKEKHBGJABYCY5KX/wLaAU9jGVc4geUW2oeSf+EjInFYBrQPAb8B17D8ci4PbMtkV8OAGcBMLL+c/wY6Yxl0BpgK3ATOA1/yz2Wk2/kmOZavUxxTIvAklru5jmG5ZDYfKJ3cJAjYb4yJxjKw3UNEYrO5P6WyZHTiIqWUUlnRHoVSSqksaaJQSimVJU0USimlsqSJQimlVJYcrhBZ+fLlpUaNGvYOQymlHEpwcPBFEXHNyWcdLlHUqFGDnTt32jsMpZRyKMaYEzn9rF56UkoplSVNFEoppbKkiUIppVSWNFEopZTKkiYKpZRSWdJEoZRSKks2SxTGmM+NMReMMfsyed8YYz4xxoQZY/YYY/xtFYtSSqmcs+VzFAuwlGBemMn7jwPuya8mwKfJf2YpOPgMxrxtXRZ5C1xnpG4UMYS5c4MZMOAH66p+/fyZ+1BNeG3DP+161YePWtGo0Vx27fpnVsudO/vRaOSfsCfin7ZruxGckEDjxvOsq/z9KxH8+VPQJsX0xL6usK47/fuvZt68XdbVc+Z0oP+hSPjqwD9tP2wJvb1THY8ekx6THpMeU24f081X13I3bNajEJGNwOUsmnQCForFVqCMMeaOp5Y060yG6wYcHJBq3bzT8+ifZt3c0/Mw6wy7ooJTrW+8vTHBadY12t6YxttTT2a2KyqYRmnWBUcFY9YZ5p2el2r9gIMDmJtmXf+DAzKNX49Jj0mPSY8pN46p+cInaXR1Urr2d8KeYxRVSDFfMHAqeV06xpj+xpidxhh9JFsppe5AuQolOJB47q62Yc9EkT4lpp8/2LJSZK6INBaRdPMTS+v0H5HWwhzPOanW9avSj7lp1vWv0g9pLfiXbJRq/c7AnTRKsy44cCc7A1PnKf+SjQhOs65RyUZIa6FflX6p1s/xnEP/NOvmes7JNH49Jj0mPSY9ppwdUySww3pMPwQtIazs2HTt74RNZ7gzxtQAfhAR7wzemwNsEJFvkpcPAy1F5Gzatik1LlJNdpYZCRFDbBCxUko5poSEBD755BPGjh3L9evX2bhxIw8//LD1fWNMcEYn29lhzx7FKqB38t1PTYHI2yUJpZRS6W3bto3GjRvz2muvcf36dbp06UKtWrVybfs2u+vJGPMN0BIob4w5BbwFFAEQkdnAGuAJIAyIAfraKhallCqIrly5wujRo5kzZw4iQo0aNZgxYwbt27fP1f3YLFGISM/bvC/Ay3e63YiS0ZZb1pRS6h739ttvM3v2bAoXLsyIESMYM2YMxYsXz/X92HSMwhZMPSNy2LFiVkqp3JKQkEDhwpZz/IsXL/Liiy/y3nvv4e2dbig4lbsZo9BEoZRSDiA2NpaJEyeycuVKtm3bRtGiRe/o83eTKBxuhjullLrXrFu3jkGDBnHkyBEAfvnlF5588sk8278WBVRKqXzq/PnzPPfcc7Rp04YjR47g6enJhg0b8jRJgCYKpZTKlxYtWoSHhweLFy+mWLFivP/+++zevZsWLVrkeSx66UkppfKhpKQkrl69SlBQEDNnzszV5yLulMP1KDxPVYTWS+0dhlJK5aro6Gh+++0363KvXr347bffWLNmjV2TBDhgoih+s2jq0r5KKeXgVq5ciaenJ08++SRhYWEAGGNo06YNxmRUFi9vOVyiUEqpguLEiRN06tSJzp07c+rUKXx8fIiLi7N3WOloolBKqTwWHx/P5MmTqV+/PqtWraJkyZJMnz6drVu34uXlZe/w0nG4weyDVc7B993sHYZSSuXYsGHDmD17NgDdunVj6tSpVK5c2c5RZc7hehQxzvHgV8HeYSilVI698soreHp68tNPP7F06dJ8nSRAS3gopZRNiQiLFi1izZo1fP3119bB6aSkJAoVyrtzdUedj0IppQq0w4cP07p1a3r37s2SJUv46aefrO/lZZK4W44TqVJKOYgbN24wduxYfH19Wb9+PS4uLixYsIDHH3/c3qHliMMNZiulVH62du1aBg4cyN9//w3Aiy++yMSJE3FxcbFzZDnncD2K4nFFIOSCvcNQSqkMbd68mb///hsvLy/+/PNP5s+f79BJAhywR+F5+gFo8y1EDLF3KEopRWJiImFhYdSrVw+AUaNGUb58eV566aU7njMiv3K4HoVSSuUX//vf/2jevDkPPfQQly9fBsDZ2ZnBgwcXmCQBmiiUUuqORUVFMXz4cBo3bsz27dtxdna2jkkURA6XKGKK3gRfV3uHoZS6B4kI3333HZ6ennz88ccADB8+nIMHDxIQEGDn6GxHH7hTSqls+te//sUnn3wCQEBAAHPmzKFhw4Z2jip79IE7pZTKA507d6Z06dLMnDmTLVu2OEySuFvao1BKqUz89ddfrF+/njFjxljXXbt2jVKlStkxqpy5mx6Fw90eq5RStnbp0iVGjRrFZ599BkDr1q1p3rw5gEMmibuliUIppZKJCAsXLmTEiBFcvHiRIkWK8MYbb9wzl5gyo4lCKaWAgwcPMmjQIP744w8AHn30UWbNmoWHh4edI7M/hxvMrhZRFl793d5hKKUKmI8++og//vgDV1dXvvrqK9atW6dJIpnD9Shco+6Hrw7AR63sHYpSysFFRkZSunRpACZMmECJEiUYO3Ys5cqVs3Nk+YvD9SiUUupunTlzhu7du9O0aVNu3rwJQPny5fn44481SWRAE4VS6p6RmJjI9OnT8fDw4NtvvyU8PJxdu3bZO6x8z+ESxYnyl+HDlvYOQynlYIKDg2nSpAnDhg0jKiqKjh07cvDgQZo2bWrv0PI9myYKY0yQMeawMSbMGPNGBu+XNsasNsaEGGP2G2P63m6bF0tdh97etglYKVUgjRs3jsDAQIKDg3Fzc2PlypV8//33VKtWzd6hOQSbJQpjjBMwE3gcqA/0NMbUT9PsZeCAiPgBLYEPjTEFpzavUipfqFWrFsYYXnvtNQ4cOECnTp3sHZJDseVdT4FAmIgcBTDGLAE6AQdStBGgpDHGAPcDl4EEG8aklLoHHD16lB07dtC9e3cAevXqRZMmTayTC6k7Y8tLT1WAkymWTyWvS2kG4AmcAfYC/xKRpLQbMsb0N8bsNMbstFWwSinHd/PmTd5//328vLzo06cPYWFhABhjNEncBVsmCpPBurTV/NoBu4HKQANghjEmXSEVEZkrIo1zWtBKKVXwbdy4kQYNGvDmm28SGxtL165d78m6TLZgy0RxCnBLsVwVS88hpb7Af8UiDDgG6KOQSqlsu3jxIn379qVFixYcPHgQd3d31q5dy6JFi6hQoYK9wysQbJkodgDuxpiayQPUPYBVadqEA60BjDEVgXrA0aw22uioG7jOsEG4SilHNHDgQBYsWICzszNvv/02e/bsoXXr1vYOq0Cx2WC2iCQYY4YAvwBOwOcist8YMzD5/dnAO8ACY8xeLJeqRonIRVvFpJQqGJKSkihUyHKe+95773Hjxg0+/vhj3N3d7RxZweRwExc1LlJNdpYZCRFD7B2KUiqPxcTE8M4777B7927WrFmD5YZJlR06cZFSqsD78ccfGTJkCMePH8cYw/bt22nSpIm9w7onOFwJj+BaJ7U3odQ95NSpU3Tp0oUOHTpw/Phx/Pz82Lx5syaJPORwiUIpde+YNWsWnp6e/Pe//6VEiRJ89NFH7Ny5U+sz5TG99KSUyrcuXrxIdHQ0nTt3Ztq0abi5ud3+QyrXOdxgtqlnRA47VsxKqey5evUqhw4dsvYY4uLiWL9+PUFBQXaOzPHdzWC2XnpSStmdiLBkyRI8PT3p2LEjly9fBsDZ2VmTRD6giUIpZVdhYWEEBQXRs2dPzp07h7u7O5GRkfYOS6XgcImi/LUSsHCfvcNQSt2luLg43nnnHby9vfn1118pW7Ys8+bN488//6RmzZr2Dk+lkO3BbGNMCRG5bstgsqP6xXLw2gadvEgpB9e9e3e+//57AHr37s3kyZO1NlM+ddsehTGmuTHmAHAwednPGDPL5pEppQq0V155BQ8PD37//Xe+/PJLTRL5WHZ6FFOxlANfBSAiIcaYR2walVKqQElKSuLzzz/n4MGDfPjhhwC0bNmSffv24eTkZOfo1O1k69KTiJxMU1Ml0Tbh3F5EyWjolXZGVaVUfrV3714GDhzI5s2bActlJj8/PwBNEg4iO4PZJ40xzQExxhQ1xowg+TKUPYS7XoGPWtlr90qpbLp+/TojR46kYcOGbN68mQceeIAlS5bg6+tr79DUHcpOj2IgMA3LNKangF+BwbYMSinl2FavXs2QIUMIDw/HGMPLL7/Me++9R+nSpe0dmsqB7CSKeiLybMoVxpgHgU22CUkp5ehWrlxJeHg4DRs2ZM6cOQQEBNg7JHUXblvCwxizS0T8b7cur2gJD6Xyn4SEBE6fPk316tUBS42mJUuWMHDgQAoX1pJy+YFN5qMwxjQDmgOuxphXU7xVCsuMdUopxdatWxk4cCBxcXGEhIRQtGhRypcvz5AhOh1AQZHVYHZR4H4syaRkitc1oKvtQ1NK5WdXrlxh0KBBNG/enJCQEGJjYzl+/Li9w1I2kJ1LT9VF5EQexXNb9Us8IAeaToN13e0dilL3JBHhm2++Yfjw4Vy4cIHChQvz+uuv85///IfixYvbOzyVCVtPhRpjjJkMeAHFbq0UEbvco1r8ZlHYE2GPXSulgGeffZZvvvkGgIcffphPP/0ULy8vO0elbCk7z1EsBg4BNYG3gePADhvGpJTKx4KCgnBxceHzzz9nw4YNmiTuAdlJFC4i8hkQLyJ/iMgLgM5DqNQ9Yu3atcyZM8e63KtXL0JDQ+nbty+FCjlcAWqVA9n5W45P/vOsMaa9MaYhUNWGMWXpYJVzsLabvXav1D3j/PnzPPvss7Rt25Z//etf/P333wAYYyhXrpydo1N5KTtjFO8aY0oDrwHTsdwe+4pNo8pCjHM8+GmVSaVsJSkpiblz5/LGG28QGRlJsWLFGDt2rM5XfQ+7baIQkR+Sf4wEHgXrk9lKqQImJCSEAQMGsG3bNgAef/xxZsyYQa1atewcmbKnrB64cwK6Yanx9LOI7DPGdABGA/cBDfMmRKVUXhk5ciTbtm2jcuXKTJs2jS5dupCmcrS6B2X6HIUxZgHgBmwHmgAngGbAGyKyMq8CTBeXlvBQKteICDExMZQoUQKAw4cPM3v2bN5++21KlSpl5+hUbrqb5yiyShT7AF8RSTLGFAMuAnVE5FzOQ717miiUyh0nTpxg6NChXL9+nbVr12rPoYC7m0SR1V1PN0UkCUBEYoFQeycJgOJxRSDkgr3DUMphxcfHM2nSJOrXr8/q1avZsWMHR44csXdYKh/LKlF4GGP2JL/2pljea4zZk1cBpuV5+gFo8629dq+UQ9u0aRP+/v6MGjWKmJgYunfvzqFDh6hbt669Q1P5WFZ3PXnmWRRKKZsbOnQoM2bMAKBWrVrMnDmToKAgO0elHEGmiSI/FQJUSt09V1dXihQpwqhRoxg9ejT33XefvUNSDsKmz98bY4KMMYeNMWHGmDcyadPSGLPbGLPfGPPH7bYZU/Qm+LrmfrBKFTCHDh3i119/tS6PGjWKPXv28M4772iSUHfktmXGc7xhy3MYoUBbLHNt7wB6isiBFG3KAJuBIBEJN8ZUEJEsR6r1rielsnbjxg3ef/99Jk6cSJkyZTh06JCW3FA2LzOOMeY+oJqIHL6DbQcCYSJyNHkbS4BOwIEUbf4P+K+IhAPcLkkopbL266+/MnjwYGtdpo4dO+ptr+qu3fbSkzHmSWA38HPycgNjzKpsbLsKcDLF8qnkdSnVBcoaYzYYY4KNMb2zF7ZSKqWzZ8/So0cP2rVrx99//42Xlxd//vkn8+fPp2zZsvYOTzm47PQoxmHpHWwAEJHdxpga2fhcRqcxaa8ZFQYaAa2xlAXZYozZKiKhqTZkTH+gP2BJLUqpVJ5++mm2bt3Kfffdx7hx4xg+fDhFihSxd1iqgMjOYHaCiETmYNunsJQAuaUqcCaDNj+LyHURuQhsBPzSbkhE5opI45xeX1OqIEo5vvjBBx/QoUMHDhw4wMiRIzVJqFyVnUSxzxjzf4CTMcbdGDMdywD07ewA3I0xNY0xRYEeQNpLVt8DDxtjChtjimOpKXXwDuJX6p4TFRXF8OHDGTBggHVdixYtWL16NTVq1LBfYKrAyk6iGIplvuw44Gss5cZvOx+FiCQAQ4BfsPzy/1ZE9htjBhpjBia3OYhl7GMPluKD80VkX1bbrRZRFl79PRthK1WwiAjfffcdnp6efPzxx3zxxRccP37c3mGpe8Btb481xjQUkf/lUTy31bhINdlZZiREDLF3KErlmWPHjjFkyBDWrFkDQGBgILNnz6ZhQ632r7LHVkUBb/nIGHPIGPOOMUZnUVcqD4kIEydOxMvLizVr1lC6dGlmzZrF5s2bNUmoPHPbRCEijwItgQhgbnJRwP/YOjCllGV+6tDQUG7cuEHPnj05dOgQgwYNwsnJyd6hqXvIHT2ZbYzxAUYC3UWkqM2iyoJrpfslYuJW6O1tj90rZXMXL17k3LlzeHt7W5f/97//0bZtWztHphyZTSYuSrFxT6A70BW4BCwBvrPXU9RawkMVVCLCl19+yYgRI3B1dSUkJISiRe1yPqYKIFuX8PgC+AZ4TETSPgehlMoFBw8eZODAgWzcuBEAPz8/rly5QsWKFe0cmVLZSBQi0jQvAlHqXhQTE8N7773H5MmTiY+Px9XVlY8++ohnn31WazSpfCPTRGGM+VZEuiXPbpfyWo8BRER8bR6dUgWYiNCqVSu2bdsGwIABA5gwYYLWZlL5TlY9in8l/9khLwJR6l5jjGHw4MHExMQwZ84cmjVrZu+QlMpQdgazJ4rIqNutyys6mK0cVWJiIrNmzSI+Pp5XX30VsPQqEhIStDaTsjlbP3CX0T15j+dkZ7mh0VE3cJ1hr90rlSM7d+6kSZMmDBs2jNGjR3PmjOW+EGOMJgmV72WaKIwxg5LHJ+oZY/akeB3DUptJKXUbkZGRDB06lMDAQIKDg3Fzc2Pp0qVUrlzZ3qEplW1ZjVF8DfwETABSzncdJSKXbRqVUg5ORFi2bBmvvPIKZ8+excnJieHDh/PWW29x//332zs8pe5IVolCROS4MebltG8YY8ppslAqa3PmzOHs2bM0bdqU2bNn4+eXbqoVpRxCpoPZxpgfRKRD8qUmIfWMdSIitfIiwHRx6WC2yqfi4uK4evWq9SG5w4cPs2HDBvr160ehQtkZDlTKdmxawiO/0USh8qM//viDgQMHUrlyZdauXasPy6l8x6Z3PRljHjTGlEj++TljzEfGmGo52ZlSBU1ERATPP/88LVu25NChQ5w8eZLz58/bOyylclV2+sOfAjHGGD8slWNPAF/ZNCql8rmkpCQ+++wzPDw8+PLLL3F2dubtt99mz549PPDAA/YOT6lclZ2igAkiIsaYTsA0EfnMGNPH1oEplV+JCO3atWPt2rUAtGnThlmzZuHu7m7nyJSyjez0KKKMMf8GegE/GmOcAH1CSN2zjDE8/PDDVKxYka+//ppff/1Vk4Qq0LJTwuMB4P+AHSLyZ/L4REsRWZgXAaalExcpe/jxxx+Jj4/nqaeeAix3ON24cYMyZcrYOTKlssemg9kicg5YDJQ2xnQAYu2VJACqXywHr22w1+7VPebUqVN06dKFDh060K9fPy5ftjw+5OzsrElC3TOyc9dTN2A78AzQDdhmjOlq68CUsqeEhASmTp2Kp6cn//3vfylRogSjR4+mVKlS9g5NqTyXncHsN4GAW1OfGmNcgbXAclsGppS9bN++nQEDBrB7924AOnfuzLRp03Bzc7NzZErZR3YSRaE082NfInuD4DYRUTIaetW31+5VAZeUlETfvn05cOAA1apVY8aMGTz55JP2Dkspu8rOYPZkwBfLvNkA3YE9Oh+FKihEhLi4OIoVKwbAhg0b+Omnnxg7diwlSpSwc3RK5Q6bl/AwxjwNPISl3tNGEVmRk53lBk0UKjeFhYUxePBg3Nzc+Oyzz+wdjlI2Y5NEYYxxB6YAtYG9wAgROZ3jKHOJJgqVG+Li4pg4cSLvv/8+cXFxlCtXjtDQUFxcXOwdmlI2YavbYz8HfgC6AMHA9JzsQKn85vfff8fX15e33nqLuLg4+vTpw6FDhzRJKJWJrAazS4rIvOSfDxtjduVFQErZSmJiIn379uWrryylyurVq8fs2bNp2bKlfQNTKp/LKlEUM8Y05J95KO5LuSwimjiUQ3FycqJw4cIUK1aM//znP4wYMQJnZ2d7h6VUvpfVGMX6LD4nItLKNiFlrX6JB+RA02mwrrs9dq8czN69e4mNjSUgIACAS5cucfXqVWrXrm3nyJTKW3czRpFpj0JEHs15SLZT/GZR2BNh7zBUPnf9+nXGjRvH1KlTcXd3JyQkhKJFi+Li4qJjEUrdoew8cKeUQ1m1ahVDhw4lPDwcYwxt2rQhPj6eokWL2js0pRySTZ+wNsYEGWMOG2PCjDFvZNEuwBiTqDWk1N0IDw/nqaeeolOnToSHh+Pv78/27duZPn26Pjin1F2wWY8ied6KmUBb4BSwwxizSkQOZNBuIvBLdrZ7sMo5+L5bboerHFxiYiItW7bk2LFjlCxZknfffZfBgwdTuLB2mpW6W9mpHmuS58oem7xczRgTmI1tBwJhInJURG4CS4BOGbQbCnwHXMjgvXRinOPBr0J2mqp7wK2bMZycnBg3bhxdu3bl4MGDDBs2TJOEUrkkO5eeZgHNgJ7Jy1FYegq3UwU4mWL5VPI6K2NMFaAzMDurDRlj+htjdhpjdmZjv+oecOXKFQYOHMj7779vXderVy+WLVtGlSpVsvikUupOZSdRNBGRl4FYABG5AmRnVNBksC7tvbgfA6NEJDGrDYnIXBFpnNNbu1TBISIsXrwYDw8P5syZw8SJE4mMjAQsU5QqpXJfdvrm8cnjCALW+SiSsvG5U0DKAv5VgTNp2jQGliT/By8PPGGMSRCRldnYvrrHhIaGMnjwYNatWwfAww8/zKeffkrp0qXtHJlSBVt2ehSfACuACsaY94C/gPez/ggAOwB3Y0xNY0xRoAewKmUDEakpIjVEpAaWiZAGa5JQaSUkJDBu3Dh8fHxYt24dLi4ufP755/zxxx94eXnZOzylCrzb9ihEZLExJhhojeVy0lMicjAbn0swxgzBcjeTE/C5iOw3xgxMfj/LcYnMFI8rAiEXdED7HuLk5MSff/7JzZs3eeGFF5g4cSLly5e3d1hK3TOyM3FRtYzWi0i4TSK6jcZFqsnOMiMhYog9dq/yyPnz54mNjaV69eoAHDlyhLNnz/LII4/YOTKlHJOtyozf8iOWcuM/AuuAo8BPOdmZUreTlJTE7NmzqVevHi+++KL19ld3d3dNEkrZSXYuPfmkXDbG+AMDbBaRumft3r2bgQMHsm3bNgCKFi1KdHQ0JUuWtHNkSt3b7riER3J58QAbxJItMUVvgq+rvXavbCAqKopXX32VRo0asW3bNipXrsyyZcv48ccfNUkolQ9kZ4zi1RSLhQB/wEVE2tkysEzj0alQC5SbN2/i5eVFWFgYhQoVYujQoYwfP55SpUrZOzSlChSblBlPIeUpXQKWsYrvcrIzpdIqWrQovS//36UAACAASURBVHr1YvXq1cyePZtGjRrZOySlVBpZ9iiSH7T7QERez7uQsqY9CscWHx/P1KlTqVatGj169AAsvQonJyecnJzsHJ1SBZdNehTGmMLJz0L45zw0pf6xadMmBg4cyL59+3B1daVDhw7cf//9Ok+EUvlcVpeetmMZj9htjFkFLAOu33pTRP5r49hUAXH58mVGjRrF/PnzAahVqxazZs3i/vvvt3NkSqnsyM4YRTngEtAKS70nk/ynJgqVJRHhq6++4rXXXuPixYsUKVKEUaNGMXr0aO677z57h6eUyqZMxyiMMaeAj/gnMaQszSki8pHtw0uverlycuL55fBRK3vs/p4THx/PqVOniI2NvePPighnz54lPj4eZ2dnXFxcKFKkiA2iVErdUqxYMapWrZru/5qt7npyAu4ne+XC84xr1P3w1QFNFHnk1KlTlCxZkho1amSrjHdSUhJJSUnWSYPc3NyIi4vDxcVFy4ArZWMiwqVLlzh16hQ1a9bMte1mlSjOisj4XNuTckixsbHZThKRkZGEh4dbEwtAyZIl9aE5pfKIMQYXFxciIiJydbtZJQo9/VPA7ScEunnzJidPnuTKlSsAFCpUiMTERL3dVSk7sEXPPatE0TrX95YLTpS/DBNb2jsMhaWbGxERwenTp0lMTKRQoUJUrlyZChUqUKjQHVeHUUrlU5n+bxaRy3kZSHZdLHUdenvbO4x7XlJSEocOHSI8PJzExERKly6Nl5cXDzzwQK4nCScnJxo0aIC3tzdPPvkkV69etb63f/9+WrVqRd26dXF3d+edd94h5Q0aP/30E40bN8bT0xMPDw9GjBiRq7HZUs+ePfH19WXq1KnZam+r241FhGHDhlGnTh18fX3ZtWtXpu1atWrFtWvXbBJHbggKCqJMmTJ06NAh0zZxcXF0796dOnXq0KRJE44fP25978svv8Td3R13d3e+/PJL6/oePXpw5MgRW4ZuXyLiUC/qIirvHDhwINP3jh07JiEhIXL58mVJSkqyWQwlSpSw/ty7d2959913RUQkJiZGatWqJb/88ouIiFy/fl2CgoJkxowZIiKyd+9eqVWrlhw8eFBEROLj42XmzJm5Glt8fHyubu+Ws2fPSrVq1e7oMym/p9z0448/SlBQkCQlJcmWLVskMDAww3Y//PCDvPLKK3e07YSEhNwIMdvWrl0rq1atkvbt22faZubMmTJgwAAREfnmm2+kW7duIiJy6dIlqVmzply6dEkuX74sNWvWlMuXL4uIyIYNG+Sll16y/QFkU0b/b4GdktPfuzn9oL1emijy1q1/cElJSYLlbrdcf91Oyl+An376qQwaNEhERObPny+9evVK1TYsLEyqVq0qIiK9evWSzz777Lbbj4qKkueff168vb3Fx8dHli9fnm6/y5Ytkz59+oiISJ8+fWT48OHSsmVLeeWVV6R69epy5coVa9vatWvLuXPn5MKFC/L0009L48aNpXHjxvLXX3+l2/eNGzes+27QoIH8/vvvIiLi4+MjxYoVEz8/P9m4cWOqz5w7d06eeuop8fX1FV9fX9m0aVOqeKOioqRVq1bSsGFD8fb2lpUrV4qISHR0tDzxxBPi6+srXl5esmTJEhERGTVqlHh6eoqPj4+89tpr6WLs37+/fP3119blunXrypkzZ9K169mzp6xfv9663KlTJ/H395f69evLnDlzrOtLlCghY8aMkcDAQPnzzz/lq6++koCAAPHz85P+/ftbk8fAgQOlUaNGUr9+fRk7dmy6/eXU+vXrs0wUjz32mGzevFlELCcCLi4ukpSUJF9//bX079/f2i7l95KYmCg1atSw2YnDncrtRJGdB+7UPS4uLo7wcLtMaJhKYmIi69at48UXXwQsl53SFhGsXbs20dHRXLt2jX379vHaa6/ddrvvvPMOpUuXZu/evQDWQfmshIaGsnbtWpycnEhKSmLFihX07duXbdu2UaNGDSpWrMj//d//MXz4cB566CHCw8Np164dBw+mnkV45syZAOzdu5dDhw7x2GOPERoayqpVq+jQoQO7d+9Ot+9hw4bRokULVqxYQWJi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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -3903,9 +4303,34 @@ "save_fig(\"xgparams\")\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.3" + } + }, "nbformat": 4, "nbformat_minor": 5 } From 2af672e28acab281240a58c077c995cceb499c8c Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Fri, 12 Nov 2021 15:43:21 +0100 Subject: [PATCH 06/16] added lecture video --- README.md | 1 + doc/LectureNotes/schedule.md | 1 + doc/pub/week45/html/._week45-bs001.html | 3 + doc/pub/week45/html/week45-reveal.html | 5 + doc/pub/week45/html/week45-solarized.html | 3 + doc/pub/week45/html/week45.html | 3 + doc/pub/week45/ipynb/ipynb-week45-src.tar.gz | Bin 294340 -> 294340 bytes doc/pub/week45/ipynb/week45.ipynb | 2193 +++++++----------- doc/src/week45/week45.do.txt | 1 + 9 files changed, 902 insertions(+), 1308 deletions(-) diff --git a/README.md b/README.md index 4c047da5e..9da1aeb3e 100644 --- a/README.md +++ b/README.md @@ -387,6 +387,7 @@ Recommended prereading: Chapters 1-2 (linear algebra) and chapter 3 (statistics) - Lecture Thursday: Decision Trees and Ensemble methods, Bagging and Voting - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage - Lecture Friday: Ensemble Methods, Random Forests, Boosting and gradient boosting + - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember12.mp4?vrtx=view-as-webpage - Reading recommendations: - See lecture notes for week 45 at https://compphysics.github.io/MachineLearning/doc/web/course.html. - Decision Trees: Geron's chapter 6 covers decision trees while ensemble models, voting and bagging are discussed in chapter 7. diff --git a/doc/LectureNotes/schedule.md b/doc/LectureNotes/schedule.md index f52eaa0dd..2c066d3aa 100644 --- a/doc/LectureNotes/schedule.md +++ b/doc/LectureNotes/schedule.md @@ -156,6 +156,7 @@ For the reading assignments we use the following abbreviations: - Lecture Thursday: Ensemble methods, bagging and random forests - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage - Lecture Friday: Boosting and gradient boosting + - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember12.mp4?vrtx=view-as-webpage - Reading recommendations: - See lecture notes for week 45 at https://compphysics.github.io/MachineLearning/doc/web/course.html. - Hastie et al chapter 10 diff --git a/doc/pub/week45/html/._week45-bs001.html b/doc/pub/week45/html/._week45-bs001.html index a381a273e..f3e305299 100644 --- a/doc/pub/week45/html/._week45-bs001.html +++ b/doc/pub/week45/html/._week45-bs001.html @@ -399,6 +399,9 @@ MathJax.Hub.Config({
  • Video of Lecture
  • Friday: More on Bagging, Voting, Random Forests and start Boosting
  • +
    diff --git a/doc/pub/week45/html/week45-reveal.html b/doc/pub/week45/html/week45-reveal.html index 7e558c244..170e4bc6c 100644 --- a/doc/pub/week45/html/week45-reveal.html +++ b/doc/pub/week45/html/week45-reveal.html @@ -205,6 +205,11 @@ MathJax.Hub.Config({

  • Friday: More on Bagging, Voting, Random Forests and start Boosting
  • + +

    diff --git a/doc/pub/week45/html/week45-solarized.html b/doc/pub/week45/html/week45-solarized.html index 806b0feab..130e927d3 100644 --- a/doc/pub/week45/html/week45-solarized.html +++ b/doc/pub/week45/html/week45-solarized.html @@ -345,6 +345,9 @@ MathJax.Hub.Config({
  • Video of Lecture
  • Friday: More on Bagging, Voting, Random Forests and start Boosting
  • +
    Videos diff --git a/doc/pub/week45/html/week45.html b/doc/pub/week45/html/week45.html index 758340b6d..265eada00 100644 --- a/doc/pub/week45/html/week45.html +++ b/doc/pub/week45/html/week45.html @@ -422,6 +422,9 @@ MathJax.Hub.Config({
  • Video of Lecture
  • Friday: More on Bagging, Voting, Random Forests and start Boosting
  • +
    Videos diff --git a/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz b/doc/pub/week45/ipynb/ipynb-week45-src.tar.gz index a61052d910ce12b6aa2a84eb7a74dbce51598765..3f9b9d4f1be9abf52a2de5fab3c5abe8ae9e5855 100644 GIT binary patch delta 29 lcmX@|TkyzlK{okr4u<\n", @@ -11,7 +14,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1df06d26", + "metadata": { + "editable": true + }, "source": [ "# Week 45: Decisions Trees, Random Forests, Bagging and Boosting\n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", @@ -23,7 +29,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b7a1161b", + "metadata": { + "editable": true + }, "source": [ "## Overview of week 45\n", "\n", @@ -33,6 +42,8 @@ "\n", "* Friday: More on Bagging, Voting, Random Forests and start Boosting\n", "\n", + " * [Video of Lecture](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember12.mp4?vrtx=view-as-webpage)\n", + "\n", "**Videos.**\n", "\n", "1. [Video on Decision trees](https://www.youtube.com/watch?v=RmajweUFKvM&ab_channel=Simplilearn)\n", @@ -46,7 +57,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "913d58ae", + "metadata": { + "editable": true + }, "source": [ "## Decision trees, overarching aims\n", "\n", @@ -74,7 +88,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d7c78ce6", + "metadata": { + "editable": true + }, "source": [ "## Basics of a tree\n", "\n", @@ -91,7 +108,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "709ddb15", + "metadata": { + "editable": true + }, "source": [ "## A Sketch of a Tree, Regression problem\n", "\n", @@ -100,7 +120,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7263f409", + "metadata": { + "editable": true + }, "source": [ "## A Sketch of a Tree, Classification problem\n", "\n", @@ -109,7 +132,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f3bf9834", + "metadata": { + "editable": true + }, "source": [ "## A typical Decision Tree with its pertinent Jargon, Classification Problem\n", "\n", @@ -124,7 +150,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d94d7df0", + "metadata": { + "editable": true + }, "source": [ "## General Features\n", "\n", @@ -144,7 +173,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8a2e7d0c", + "metadata": { + "editable": true + }, "source": [ "## How do we set it up?\n", "\n", @@ -164,51 +196,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d92b12fb", + "metadata": { + "editable": true + }, "source": [ "## Decision trees and Regression" ] }, { "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2nd degree coefficients:\n", - "zero power: -3.3112918771861617\n", - "first power: -0.05496439065605696\n", - "second power: 1.4567975023084221e-05\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 1, + "id": "523164e5", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "%matplotlib inline\n", "\n", @@ -304,7 +308,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1de5c8b3", + "metadata": { + "editable": true + }, "source": [ "## Building a tree, regression\n", "\n", @@ -323,7 +330,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f1f09db0", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sum_{j=1}^J\\sum_{i\\in R_j}(y_i-\\overline{y}_{R_j})^2,\n", @@ -332,7 +342,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a5a2cc1c", + "metadata": { + "editable": true + }, "source": [ "where $\\overline{y}_{R_j}$ is the mean response for the training observations \n", "within box $j$." @@ -340,7 +353,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "af076102", + "metadata": { + "editable": true + }, "source": [ "## A top-down approach, recursive binary splitting\n", "\n", @@ -359,7 +375,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5eb6d984", + "metadata": { + "editable": true + }, "source": [ "## Making a tree\n", "\n", @@ -369,7 +388,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "45c717a3", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\left\\{X\\vert x_j < s\\right\\},\n", @@ -378,14 +400,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6de48c4a", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "1d7bc7d4", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\left\\{X\\vert x_j \\geq s\\right\\},\n", @@ -394,14 +422,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6626aa85", + "metadata": { + "editable": true + }, "source": [ "so that we obtain the lowest MSE, that is" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "51de015f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sum_{i:x_i\\in R_j}(y_i-\\overline{y}_{R_1})^2+\\sum_{i:x_i\\in R_2}(y_i-\\overline{y}_{R_2})^2,\n", @@ -410,7 +444,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6953c3ae", + "metadata": { + "editable": true + }, "source": [ "which we want to minimize by considering all predictors\n", "$x_1,x_2,\\dots,x_p$. We consider also all possible values of $s$ for\n", @@ -440,7 +477,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7aca88a8", + "metadata": { + "editable": true + }, "source": [ "## Pruning the tree\n", "\n", @@ -461,7 +501,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "019f4cdd", + "metadata": { + "editable": true + }, "source": [ "## Cost complexity pruning\n", "\n", @@ -470,7 +513,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f3ad5e81", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sum_{m=1}^{\\overline{T}}\\sum_{i:x_i\\in R_m}(y_i-\\overline{y}_{R_m})^2+\\alpha\\overline{T},\n", @@ -479,7 +525,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3e3a3e77", + "metadata": { + "editable": true + }, "source": [ "is as small as possible. Here $\\overline{T}$ is \n", "the number of terminal nodes of the tree $T$ , $R_m$ is the\n", @@ -504,7 +553,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e1feb8ab", + "metadata": { + "editable": true + }, "source": [ "## Schematic Regression Procedure\n", "\n", @@ -527,7 +579,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8132c098", + "metadata": { + "editable": true + }, "source": [ "## A Classification Tree\n", "\n", @@ -547,7 +602,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b528637d", + "metadata": { + "editable": true + }, "source": [ "## Growing a classification tree\n", "\n", @@ -571,7 +629,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c0160307", + "metadata": { + "editable": true + }, "source": [ "## Classification tree, how to split nodes\n", "\n", @@ -587,7 +648,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9566f2d5", + "metadata": { + "editable": true + }, "source": [ "$$\n", "p_{mk} = \\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i=k).\n", @@ -596,7 +660,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "295bf58a", + "metadata": { + "editable": true + }, "source": [ "We let $p_{mk}$ represent the majority class of observations in region\n", "$m$. The three most common ways of splitting a node are given by\n", @@ -606,7 +673,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3883a13b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i\\ne k) = 1-p_{mk}.\n", @@ -615,14 +685,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5106f192", + "metadata": { + "editable": true + }, "source": [ "* Gini index $g$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f77521cf", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g = \\sum_{k\\ne k'} p_{mk}p_{mk'}=\\sum_{k=1}^K p_{mk}(1-p_{mk}).\n", @@ -631,14 +707,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "635df28e", + "metadata": { + "editable": true + }, "source": [ "* Information entropy or just entropy $s$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f526ea0a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "s = -\\sum_{k=1}^K p_{mk}\\log{p_{mk}}.\n", @@ -647,7 +729,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "28fb5149", + "metadata": { + "editable": true + }, "source": [ "## Gini Index (or Coefficient or Impurity)\n", "\n", @@ -666,7 +751,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0243971a", + "metadata": { + "editable": true + }, "source": [ "## Why binary splits?\n", "\n", @@ -678,7 +766,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "73268cad", + "metadata": { + "editable": true + }, "source": [ "## Computing a Tree using the Gini Index\n", "\n", @@ -701,7 +792,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "186f184a", + "metadata": { + "editable": true + }, "source": [ "## The Table\n", "\n", @@ -726,7 +820,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9a03c3f0", + "metadata": { + "editable": true + }, "source": [ "## Computing the various Gini Indices\n", "\n", @@ -740,7 +837,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a08a0c21", + "metadata": { + "editable": true + }, "source": [ "## Computing the various Gini Indices, Hours slept\n", "\n", @@ -751,7 +851,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c2bee1e5", + "metadata": { + "editable": true + }, "source": [ "## Computing the various Gini Indices, Hours studied\n", "\n", @@ -764,67 +867,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ed4e4a72", + "metadata": { + "editable": true + }, "source": [ "## A possible code using Scikit-Learn" ] }, { "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (0, 2)\t1.0\n", - " (0, 5)\t1.0\n", - " (0, 8)\t1.0\n", - " (1, 1)\t1.0\n", - " (1, 3)\t1.0\n", - " (1, 6)\t1.0\n", - " (2, 0)\t1.0\n", - " (2, 4)\t1.0\n", - " (2, 6)\t1.0\n", - " (3, 1)\t1.0\n", - " (3, 3)\t1.0\n", - " (3, 7)\t1.0\n", - " (4, 1)\t1.0\n", - " (4, 4)\t1.0\n", - " (4, 7)\t1.0\n", - " (5, 0)\t1.0\n", - " (5, 3)\t1.0\n", - " (5, 7)\t1.0\n", - " (6, 1)\t1.0\n", - " (6, 3)\t1.0\n", - " (6, 6)\t1.0\n", - " (7, 0)\t1.0\n", - " (7, 4)\t1.0\n", - " (7, 7)\t1.0\n", - " (8, 0)\t1.0\n", - " (8, 3)\t1.0\n", - " (8, 7)\t1.0\n", - " (9, 1)\t1.0\n", - " (9, 3)\t1.0\n", - " (9, 6)\t1.0\n", - " (10, 1)\t1.0\n", - " (10, 4)\t1.0\n", - " (10, 7)\t1.0\n", - "Train set accuracy with Decision Tree: 0.82\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 2, + "id": "ab9c3c9e", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -897,126 +956,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "53b32143", + "metadata": { + "editable": true + }, "source": [ "## Visualizing Trees, More examples" ] }, { "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " mean radius mean texture mean perimeter mean area mean smoothness \\\n", - "0 17.99 10.38 122.80 1001.0 0.11840 \n", - "1 20.57 17.77 132.90 1326.0 0.08474 \n", - "2 19.69 21.25 130.00 1203.0 0.10960 \n", - "3 11.42 20.38 77.58 386.1 0.14250 \n", - "4 20.29 14.34 135.10 1297.0 0.10030 \n", - ".. ... ... ... ... ... \n", - "564 21.56 22.39 142.00 1479.0 0.11100 \n", - "565 20.13 28.25 131.20 1261.0 0.09780 \n", - "566 16.60 28.08 108.30 858.1 0.08455 \n", - "567 20.60 29.33 140.10 1265.0 0.11780 \n", - "568 7.76 24.54 47.92 181.0 0.05263 \n", - "\n", - " mean compactness mean concavity mean concave points mean symmetry \\\n", - "0 0.27760 0.30010 0.14710 0.2419 \n", - "1 0.07864 0.08690 0.07017 0.1812 \n", - "2 0.15990 0.19740 0.12790 0.2069 \n", - "3 0.28390 0.24140 0.10520 0.2597 \n", - "4 0.13280 0.19800 0.10430 0.1809 \n", - ".. ... ... ... ... \n", - "564 0.11590 0.24390 0.13890 0.1726 \n", - "565 0.10340 0.14400 0.09791 0.1752 \n", - "566 0.10230 0.09251 0.05302 0.1590 \n", - "567 0.27700 0.35140 0.15200 0.2397 \n", - "568 0.04362 0.00000 0.00000 0.1587 \n", - "\n", - " mean fractal dimension ... worst radius worst texture \\\n", - "0 0.07871 ... 25.380 17.33 \n", - "1 0.05667 ... 24.990 23.41 \n", - "2 0.05999 ... 23.570 25.53 \n", - "3 0.09744 ... 14.910 26.50 \n", - "4 0.05883 ... 22.540 16.67 \n", - ".. ... ... ... ... \n", - "564 0.05623 ... 25.450 26.40 \n", - "565 0.05533 ... 23.690 38.25 \n", - "566 0.05648 ... 18.980 34.12 \n", - "567 0.07016 ... 25.740 39.42 \n", - "568 0.05884 ... 9.456 30.37 \n", - "\n", - " worst perimeter worst area worst smoothness worst compactness \\\n", - "0 184.60 2019.0 0.16220 0.66560 \n", - "1 158.80 1956.0 0.12380 0.18660 \n", - "2 152.50 1709.0 0.14440 0.42450 \n", - "3 98.87 567.7 0.20980 0.86630 \n", - "4 152.20 1575.0 0.13740 0.20500 \n", - ".. ... ... ... ... \n", - "564 166.10 2027.0 0.14100 0.21130 \n", - "565 155.00 1731.0 0.11660 0.19220 \n", - "566 126.70 1124.0 0.11390 0.30940 \n", - "567 184.60 1821.0 0.16500 0.86810 \n", - "568 59.16 268.6 0.08996 0.06444 \n", - "\n", - " worst concavity worst concave points worst symmetry \\\n", - "0 0.7119 0.2654 0.4601 \n", - "1 0.2416 0.1860 0.2750 \n", - "2 0.4504 0.2430 0.3613 \n", - "3 0.6869 0.2575 0.6638 \n", - "4 0.4000 0.1625 0.2364 \n", - ".. ... ... ... \n", - "564 0.4107 0.2216 0.2060 \n", - "565 0.3215 0.1628 0.2572 \n", - "566 0.3403 0.1418 0.2218 \n", - "567 0.9387 0.2650 0.4087 \n", - "568 0.0000 0.0000 0.2871 \n", - "\n", - " worst fractal dimension \n", - "0 0.11890 \n", - "1 0.08902 \n", - "2 0.08758 \n", - "3 0.17300 \n", - "4 0.07678 \n", - ".. ... \n", - "564 0.07115 \n", - "565 0.06637 \n", - "566 0.07820 \n", - "567 0.12400 \n", - "568 0.07039 \n", - "\n", - "[569 rows x 30 columns]\n", - " malignant benign\n", - "0 1 0\n", - "1 1 0\n", - "2 1 0\n", - "3 1 0\n", - "4 1 0\n", - ".. ... ...\n", - "564 1 0\n", - "565 1 0\n", - "566 1 0\n", - "567 1 0\n", - "568 0 1\n", - "\n", - "[569 rows x 2 columns]\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 3, + "id": "97b9b51a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import os\n", "from sklearn.datasets import load_breast_cancer\n", @@ -1055,27 +1011,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "94672c7b", + "metadata": { + "editable": true + }, "source": [ "## Visualizing the Tree, The Moons" ] }, { "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 4, + "id": "d7275b36", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1105,7 +1057,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bbe3f31b", + "metadata": { + "editable": true + }, "source": [ "## Other ways of visualizing the trees\n", "\n", @@ -1114,48 +1069,13 @@ }, { "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Text(167.4, 199.32, 'X[2] <= 2.45\\ngini = 0.667\\nsamples = 150\\nvalue = [50, 50, 50]'),\n", - " Text(141.64615384615385, 163.07999999999998, 'gini = 0.0\\nsamples = 50\\nvalue = [50, 0, 0]'),\n", - " Text(193.15384615384616, 163.07999999999998, 'X[3] <= 1.75\\ngini = 0.5\\nsamples = 100\\nvalue = [0, 50, 50]'),\n", - " Text(103.01538461538462, 126.83999999999999, 'X[2] <= 4.95\\ngini = 0.168\\nsamples = 54\\nvalue = [0, 49, 5]'),\n", - " Text(51.50769230769231, 90.6, 'X[3] <= 1.65\\ngini = 0.041\\nsamples = 48\\nvalue = [0, 47, 1]'),\n", - " Text(25.753846153846155, 54.359999999999985, 'gini = 0.0\\nsamples = 47\\nvalue = [0, 47, 0]'),\n", - " Text(77.26153846153846, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", - " Text(154.52307692307693, 90.6, 'X[3] <= 1.55\\ngini = 0.444\\nsamples = 6\\nvalue = [0, 2, 4]'),\n", - " Text(128.76923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 0, 3]'),\n", - " Text(180.27692307692308, 54.359999999999985, 'X[2] <= 5.45\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 2, 1]'),\n", - " Text(154.52307692307693, 18.119999999999976, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 2, 0]'),\n", - " Text(206.03076923076924, 18.119999999999976, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", - " Text(283.2923076923077, 126.83999999999999, 'X[2] <= 4.85\\ngini = 0.043\\nsamples = 46\\nvalue = [0, 1, 45]'),\n", - " Text(257.53846153846155, 90.6, 'X[1] <= 3.1\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 1, 2]'),\n", - " Text(231.7846153846154, 54.359999999999985, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 0, 2]'),\n", - " Text(283.2923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1, 0]'),\n", - " Text(309.04615384615386, 90.6, 'gini = 0.0\\nsamples = 43\\nvalue = [0, 0, 43]')]" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 5, + "id": "b0df5a5d", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn import tree\n", @@ -1168,7 +1088,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3437610f", + "metadata": { + "editable": true + }, "source": [ "## Printing out as text\n", "\n", @@ -1178,24 +1101,13 @@ }, { "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "|--- petal width (cm) <= 0.80\n", - "| |--- class: 0\n", - "|--- petal width (cm) > 0.80\n", - "| |--- petal width (cm) <= 1.75\n", - "| | |--- class: 1\n", - "| |--- petal width (cm) > 1.75\n", - "| | |--- class: 2\n", - "\n" - ] - } - ], + "execution_count": 6, + "id": "43043846", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn.tree import DecisionTreeClassifier\n", @@ -1209,7 +1121,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ec6a0a6b", + "metadata": { + "editable": true + }, "source": [ "## Algorithms for Setting up Decision Trees\n", "\n", @@ -1226,7 +1141,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c1b10c09", + "metadata": { + "editable": true + }, "source": [ "## The CART algorithm for Classification\n", "\n", @@ -1240,7 +1158,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a49ec55d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}G_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}G_{\\mathrm{right}},\n", @@ -1249,7 +1170,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2e34a49a", + "metadata": { + "editable": true + }, "source": [ "where $G_{\\mathrm{left/right}}$ measures the impurity of the left/right subset and $m_{\\mathrm{left/right}}$\n", " is the number of instances in the left/right subset\n", @@ -1263,7 +1187,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3f121670", + "metadata": { + "editable": true + }, "source": [ "## The CART algorithm for Regression\n", "\n", @@ -1273,7 +1200,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2d433e86", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}\\mathrm{MSE}_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}\\mathrm{MSE}_{\\mathrm{right}}.\n", @@ -1282,14 +1212,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e4792af3", + "metadata": { + "editable": true + }, "source": [ "Here the MSE for a specific node is defined as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "498bb7f5", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{MSE}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}(\\overline{y}_{\\mathrm{node}}-y_i)^2,\n", @@ -1298,14 +1234,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1c9fc558", + "metadata": { + "editable": true + }, "source": [ "with" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "cc97af93", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\overline{y}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}y_i,\n", @@ -1314,7 +1256,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a72479bf", + "metadata": { + "editable": true + }, "source": [ "the mean value of all observations in a specific node.\n", "\n", @@ -1324,7 +1269,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ffd2b1bc", + "metadata": { + "editable": true + }, "source": [ "## Computing the Gini index\n", "\n", @@ -1365,85 +1313,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7b5515fc", + "metadata": { + "editable": true + }, "source": [ "## Simple Python Code to read in Data and perform Classification" ] }, { "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " (0, 0)\t1.0\n", - " (0, 7)\t1.0\n", - " (0, 9)\t1.0\n", - " (0, 13)\t1.0\n", - " (1, 3)\t1.0\n", - " (1, 5)\t1.0\n", - " (1, 8)\t1.0\n", - " (1, 12)\t1.0\n", - " (2, 3)\t1.0\n", - " (2, 5)\t1.0\n", - " (2, 8)\t1.0\n", - " (2, 11)\t1.0\n", - " (3, 1)\t1.0\n", - " (3, 5)\t1.0\n", - " (3, 8)\t1.0\n", - " (3, 12)\t1.0\n", - " (4, 2)\t1.0\n", - " (4, 6)\t1.0\n", - " (4, 8)\t1.0\n", - " (4, 12)\t1.0\n", - " (5, 2)\t1.0\n", - " (5, 4)\t1.0\n", - " (5, 10)\t1.0\n", - " (5, 12)\t1.0\n", - " (6, 2)\t1.0\n", - " :\t:\n", - " (8, 12)\t1.0\n", - " (9, 3)\t1.0\n", - " (9, 4)\t1.0\n", - " (9, 10)\t1.0\n", - " (9, 12)\t1.0\n", - " (10, 2)\t1.0\n", - " (10, 6)\t1.0\n", - " (10, 10)\t1.0\n", - " (10, 12)\t1.0\n", - " (11, 3)\t1.0\n", - " (11, 6)\t1.0\n", - " (11, 10)\t1.0\n", - " (11, 11)\t1.0\n", - " (12, 1)\t1.0\n", - " (12, 6)\t1.0\n", - " (12, 8)\t1.0\n", - " (12, 11)\t1.0\n", - " (13, 1)\t1.0\n", - " (13, 5)\t1.0\n", - " (13, 10)\t1.0\n", - " (13, 12)\t1.0\n", - " (14, 2)\t1.0\n", - " (14, 6)\t1.0\n", - " (14, 8)\t1.0\n", - " (14, 11)\t1.0\n", - "Train set accuracy with Decision Tree: 0.73\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 7, + "id": "1119f5c2", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1516,7 +1402,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bedf0437", + "metadata": { + "editable": true + }, "source": [ "## Computing the Gini Factor\n", "\n", @@ -1530,73 +1419,13 @@ }, { "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "X1 < 0.000 Gini=0.408\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 2.000 Gini=0.394\n", - "X1 < 0.000 Gini=0.408\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 1.000 Gini=0.394\n", - "X1 < 2.000 Gini=0.394\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 2.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 1.000 Gini=0.407\n", - "X2 < 0.000 Gini=0.408\n", - "X2 < 1.000 Gini=0.407\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X3 < 1.000 Gini=0.367\n", - "X3 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 1.000 Gini=0.405\n", - "X4 < 0.000 Gini=0.408\n", - "X4 < 1.000 Gini=0.405\n", - "Split: [X3 < 1.000]\n" - ] - } - ], + "execution_count": 8, + "id": "d2263dc0", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Split a dataset based on an attribute and an attribute value\n", "def test_split(index, value, dataset):\n", @@ -1662,7 +1491,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "019e9ebc", + "metadata": { + "editable": true + }, "source": [ "## Entropy and the ID3 algorithm\n", "\n", @@ -1698,45 +1530,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "81ce1017", + "metadata": { + "editable": true + }, "source": [ "## Cancer Data again now with Decision Trees and other Methods" ] }, { "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy with SVM: 0.63\n", - "Test set accuracy with Decision Trees: 0.90\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "Test set accuracy SVM with scaled data: 0.96\n", - "Test set accuracy with Decision Trees and scaled data: 0.89\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", - "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", - "\n", - "Increase the number of iterations (max_iter) or scale the data as shown in:\n", - " https://scikit-learn.org/stable/modules/preprocessing.html\n", - "Please also refer to the documentation for alternative solver options:\n", - " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", - " n_iter_i = _check_optimize_result(\n" - ] - } - ], + "execution_count": 9, + "id": "954f3552", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1783,29 +1593,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d3514614", + "metadata": { + "editable": true + }, "source": [ "## Another example, the moons again" ] }, { "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 10, + "id": "078ce1b7", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from __future__ import division, print_function, unicode_literals\n", "\n", @@ -1875,29 +1679,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c82a61fc", + "metadata": { + "editable": true + }, "source": [ "## Playing around with regions" ] }, { "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 11, + "id": "0ea9eba1", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "np.random.seed(6)\n", "Xs = np.random.rand(100, 2) - 0.5\n", @@ -1923,15 +1721,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f2903f07", + "metadata": { + "editable": true + }, "source": [ "## Regression trees" ] }, { "cell_type": "code", - "execution_count": 42, - "metadata": {}, + "execution_count": 12, + "id": "cf34aea5", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Quadratic training set + noise\n", @@ -1944,20 +1749,13 @@ }, { "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "DecisionTreeRegressor(max_depth=2, random_state=42)" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 13, + "id": "e96caea7", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1967,29 +1765,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "abb62276", + "metadata": { + "editable": true + }, "source": [ "## Final regressor code" ] }, { "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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tQOr+6+ZpFVIQDj69OkDwA8//MDTTz/Nd999R69evQCYPn06c+fO5d133+Wkk04CYNy4cYwePbrt+OLiYhYuXMhtt90W9Tx3331328jruHHjgvIQLl261LjhDnBYUzmViZ049boGjlj4Y1idYpvCPpYuXWppHJwp9Qc21H79tFkwADk5UFAAO3Zo+0JfhysTaV9zM2zdytIuXZj4+usRO4dT+7fbcfJ1DdROfwyrU+yzuv+aiW0OqxCiO/AocDqwFZgmpezg6gshfg38FhgC7Ea7gb1NStlshh3r168HwONL5nvkkUcGvd/U1MT333/f9rp///5B7/fv37+tjkhkZGRwwAEHtL3u0qVLwiEBeh1W05aTi4CKVbSGRK+rFd974IiFxxs9DkthDU7RzUBcMcIayNq1uooZ7kOLF8P48SwcPTrmAUo3rcGJugnB2unNcpZ2qhFWffwVaAR6AUcDLwshPpJSfhpSrjNwPfAucADwT+Am4G4zjHj22Wc5+OCDGTp0KABffvllkHMZylqf2B177LFtr3/+858D7U6vUc466yzeeuutiO/PmzePiy66KGjfhg2RHVZ/p+vRo319a6NB6FY7uoroBF5/MPZdWDWpo6QEjs7pgmf/Hu57QDBCtQs7cIRuBjJ27FhDycf92mlV/bGorg7fH0L7nOE+lJkJwJkrVzFqttJOOwj93TLyO2blZLiSEjgmw4toaWbe/3kodlC7MLt/WUoiSVzj3YAuaKI7NGDf34G7dRx7I7AkVrnQ5NejRo2SFRUVba/XrVsn77rrLpmRkSH/7//+T0op5cSJE+UFF1wg169fL6WUcseOHXLx4sWyrq6urY7c3Fz5xhtvyObmZrlw4UKZlZUlv/76aymllK+++qrMy8uTu3btajvPihUrZEZGRpAt06dPl6eeeqo0yqpVsi35dX7G9fLYY38m9+3bJ/cHLCIQmKzY65XS4zGehFgtOmAvocmqs7ONfReWJp8+/nit4upqEyt1F9i0cEAydFOG0c5Y/POf/zRU3ihm1B+oneH6UajmXX11HH3olVekBDlDHK200wZCv8N584z9jlmetL9nT63yLVtMrjgxrO6/gSSqnXZNuhoKtEgpawP2fQQcruPYk4HQ0QQAhBBlQogaIUTNjz/+2OH9iooK8vLyyM/P5+STT+arr75i1apVjB8/HtDyAw4b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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 14, + "id": "48922f75", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -2033,22 +1825,13 @@ }, { "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 15, + "id": "02d670bf", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", @@ -2082,7 +1865,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3d0adddc", + "metadata": { + "editable": true + }, "source": [ "## Pros and cons of trees, pros\n", "\n", @@ -2103,7 +1889,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ef1bc9bb", + "metadata": { + "editable": true + }, "source": [ "## Disadvantages\n", "\n", @@ -2128,7 +1917,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "af41a2c0", + "metadata": { + "editable": true + }, "source": [ "## Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods\n", "\n", @@ -2156,7 +1948,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "90461b56", + "metadata": { + "editable": true + }, "source": [ "## An Overview of Ensemble Methods\n", "\n", @@ -2169,7 +1964,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8eaefb2c", + "metadata": { + "editable": true + }, "source": [ "## Bagging\n", "\n", @@ -2188,7 +1986,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e5bdc60e", + "metadata": { + "editable": true + }, "source": [ "## More bagging\n", "\n", @@ -2217,7 +2018,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "32637cbd", + "metadata": { + "editable": true + }, "source": [ "## Making your own Bootstrap: Changing the Level of the Decision Tree\n", "\n", @@ -2227,74 +2031,13 @@ }, { "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Polynomial degree: 1\n", - "Error: 0.061448998019132145\n", - "Bias^2: 0.06105618955900724\n", - "Var: 0.00039280846012491264\n", - "0.061448998019132145 >= 0.06105618955900724 + 0.00039280846012491264 = 0.06144899801913215\n", - "Polynomial degree: 2\n", - "Error: 0.03875741192664723\n", - "Bias^2: 0.034968923076368015\n", - "Var: 0.0037884888502792186\n", - "0.03875741192664723 >= 0.034968923076368015 + 0.0037884888502792186 = 0.03875741192664724\n", - "Polynomial degree: 3\n", - "Error: 0.02041636912454364\n", - "Bias^2: 0.01715994964969937\n", - "Var: 0.003256419474844272\n", - "0.02041636912454364 >= 0.01715994964969937 + 0.003256419474844272 = 0.020416369124543643\n", - "Polynomial degree: 4\n", - "Error: 0.015965748446438426\n", - "Bias^2: 0.013554291046963396\n", - "Var: 0.0024114573994750295\n", - "0.015965748446438426 >= 0.013554291046963396 + 0.0024114573994750295 = 0.015965748446438426\n", - "Polynomial degree: 5\n", - "Error: 0.013812239104124671\n", - "Bias^2: 0.011703251217852149\n", - "Var: 0.002108987886272521\n", - "0.013812239104124671 >= 0.011703251217852149 + 0.002108987886272521 = 0.013812239104124671\n", - "Polynomial degree: 6\n", - "Error: 0.014027604155185338\n", - "Bias^2: 0.011913977762964968\n", - "Var: 0.0021136263922203642\n", - "0.014027604155185338 >= 0.011913977762964968 + 0.0021136263922203642 = 0.014027604155185332\n", - "Polynomial degree: 7\n", - "Error: 0.015038650222479456\n", - "Bias^2: 0.012358926638419723\n", - "Var: 0.0026797235840597265\n", - "0.015038650222479456 >= 0.012358926638419723 + 0.0026797235840597265 = 0.015038650222479449\n", - "Polynomial degree: 8\n", - "Error: 0.01573056551137539\n", - "Bias^2: 0.012523761778720667\n", - "Var: 0.003206803732654721\n", - "0.01573056551137539 >= 0.012523761778720667 + 0.003206803732654721 = 0.01573056551137539\n", - "Polynomial degree: 9\n", - "Error: 0.016856035170026745\n", - "Bias^2: 0.013111698385627429\n", - "Var: 0.003744336784399317\n", - "0.016856035170026745 >= 0.013111698385627429 + 0.003744336784399317 = 0.016856035170026745\n", - "0.5424065596633239\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 16, + "id": "84a0ab7f", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -2352,7 +2095,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "966c5bfa", + "metadata": { + "editable": true + }, "source": [ "## Why Voting?\n", "\n", @@ -2373,7 +2119,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "98617121", + "metadata": { + "editable": true + }, "source": [ "## Tossing coins\n", "\n", @@ -2401,15 +2150,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "22b6b2a6", + "metadata": { + "editable": true + }, "source": [ "## Standard imports first" ] }, { "cell_type": "code", - "execution_count": 47, - "metadata": {}, + "execution_count": 17, + "id": "8780a315", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Common imports\n", @@ -2453,29 +2209,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "53df0b60", + "metadata": { + "editable": true + }, "source": [ "## Simple Voting Example, head or tail" ] }, { "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 18, + "id": "3c252ef9", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "# Common imports\n", @@ -2504,7 +2254,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0fdfbb1c", + "metadata": { + "editable": true + }, "source": [ "## Using the Voting Classifier\n", "\n", @@ -2513,24 +2266,13 @@ }, { "cell_type": "code", - "execution_count": 49, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.896\n", - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.872\n", - "SVC 0.888\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 19, + "id": "65ae1dde", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2578,29 +2320,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ca1f2e17", + "metadata": { + "editable": true + }, "source": [ "## Voting and Bagging" ] }, { "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", - " ('rf', RandomForestClassifier(random_state=42)),\n", - " ('svc', SVC(random_state=42))])" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 20, + "id": "a20648a3", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2624,20 +2360,13 @@ }, { "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.896\n", - "SVC 0.896\n", - "VotingClassifier 0.912\n" - ] - } - ], + "execution_count": 21, + "id": "bb049c2c", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2649,23 +2378,13 @@ }, { "cell_type": "code", - "execution_count": 52, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", - " ('rf', RandomForestClassifier(random_state=42)),\n", - " ('svc', SVC(probability=True, random_state=42))],\n", - " voting='soft')" - ] - }, - "execution_count": 52, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 22, + "id": "0976fbf2", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "log_clf = LogisticRegression(random_state=42)\n", "rnd_clf = RandomForestClassifier(random_state=42)\n", @@ -2679,20 +2398,13 @@ }, { "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LogisticRegression 0.864\n", - "RandomForestClassifier 0.896\n", - "SVC 0.896\n", - "VotingClassifier 0.92\n" - ] - } - ], + "execution_count": 23, + "id": "f9fe3c33", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", @@ -2704,7 +2416,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9a7148c8", + "metadata": { + "editable": true + }, "source": [ "## Random forests\n", "\n", @@ -2724,7 +2439,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "55f61a8d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "m\\approx \\sqrt{p}.\n", @@ -2733,7 +2451,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cf370519", + "metadata": { + "editable": true + }, "source": [ "In building a random forest, at\n", "each split in the tree, the algorithm is not even allowed to consider\n", @@ -2755,7 +2476,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bb7388ae", + "metadata": { + "editable": true + }, "source": [ "## Random Forest Algorithm\n", "The algorithm described here can be applied to both classification and regression problems.\n", @@ -2778,90 +2502,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e3c86a9f", + "metadata": { + "editable": true + }, "source": [ "## Random Forests Compared with other Methods on the Cancer Data" ] }, { "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Logistic Regression: 0.95\n", - "Test set accuracy with SVM: 0.63\n", - "Test set accuracy with Decision Trees: 0.88\n", - "Test set accuracy Logistic Regression with scaled data: 0.96\n", - "Test set accuracy SVM with scaled data: 0.96\n", - "Test set accuracy with Decision Trees and scaled data: 0.90\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:762: ConvergenceWarning: lbfgs failed to converge (status=1):\n", - "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", - "\n", - "Increase the number of iterations (max_iter) or scale the data as shown in:\n", - " https://scikit-learn.org/stable/modules/preprocessing.html\n", - "Please also refer to the documentation for alternative solver options:\n", - " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", - " n_iter_i = _check_optimize_result(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.93333333 0.8 0.93333333 1. 1. 0.92857143\n", - " 1. 0.92857143 0.92857143 1. ]\n", - "Test set accuracy with Random Forests and scaled data: 0.97\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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pH///iIi8v3330uPHj1EROTKlStSo0YNuXLlily9elVq1KghV69eFRGRDRs2yAsvvGD7A8iitP5ugV2S3c/d7L7QXg9NFLnr1i9cYmKiYBntluOPzCT/APzss89k4MCBIiIyZ84c6d27d4q2wcHBUqVKFRER6d27t8ydOzfT7UdERMizzz4rPj4+4uvrK0uWLEm138WLF0vfvn1FRKRv374ybNgwadWqlbzyyitSrVo1CQsLs7atVauWXLhwQS5duiRPPPGENG7cWBo3bix//vlnqn3fvHnTuu/69evLunXrRETE19dXihQpIv7+/rJx48YUr7lw4YI8/vjj4ufnJ35+frJ58+YU8UZEREjr1q2lQYMG4uPjI8uWLRMRkcjISOnQoYP4+fmJt7e3LFy4UERERo4cKV5eXuLr6yuvvfZaqhhfeukl+e6776zLderUkXPnzqVq16tXL1m/fr11uUuXLtKwYUOpV6+ezJ4927q+ePHiMnr0aGnSpIls2rRJ5s+fLwEBAeLv7y8vvfSSNXkMGDBAGjVqJPXq1ZMxY8ak2l92rV+/PsNE8cgjj8iWLVtExPJFwNXVVRITE+W7776Tl156ydou+fuSkJAg1atXt9kXhzuV04kiKzfcqXtcTEwMISF2mdAwhYSEBNauXcvzzz8PWC473V5EsFatWkRGRnL9+nUOHDjAa6+9lul2x48fj4uLC/v37wewdspn5OjRo6xZswYnJycSExNZunQp/fr1Y/v27VSvXp3y5cvzf//3fwwbNowHHniAkJAQ2rdvz6FDKWcRnjFjBgD79+/n8OHDPPLIIxw9epQVK1bQqVMn9uzZk2rfQ4cOpWXLlixdupSEhAQiIyNTPF+kSBGWLl1KyZIluXz5Ms2aNaNz58788ssvVKpUiVWrVgGWUWpXr15l6dKlHD58GGNMist6t5w9exZ3d3frcpUqVTh79iwVK1ZM0W7z5s3Mnj3buvzll19SpkwZbt68SUBAAN26dcPV1ZUbN27g4+PDuHHjOHToEJMmTWLz5s0UKlSIQYMGsWDBAvr06cN7771HmTJlSEhIoE2bNuzbtw8/P78U+/zggw9YsGBBqpgfeughPvnkkzT/7zKT/HgLFiyIi4sLV65cSfd9AMsAjtq1a7N37958WdhSE4VKV2xsLOHh4fz9998kJiaye/duKleujJubW67e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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 24, + "id": "7f5ad325", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -2933,7 +2590,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d813ed8b", + "metadata": { + "editable": true + }, "source": [ "Recall that the cumulative gains curve shows the percentage of the\n", "overall number of cases in a given category *gained* by targeting a\n", @@ -2946,15 +2606,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "736991de", + "metadata": { + "editable": true + }, "source": [ "## Compare Bagging on Trees with Random Forests" ] }, { "cell_type": "code", - "execution_count": 55, - "metadata": {}, + "execution_count": 25, + "id": "fa1fc990", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -2964,20 +2631,13 @@ }, { "cell_type": "code", - "execution_count": 56, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.9790209790209791" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 26, + "id": "048d511a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "bag_clf.fit(X_train, y_train)\n", "y_pred = bag_clf.predict(X_test)\n", @@ -2990,7 +2650,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "da6b5e13", + "metadata": { + "editable": true + }, "source": [ "## Boosting, a Bird's Eye View\n", "\n", @@ -3007,7 +2670,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9257bbbb", + "metadata": { + "editable": true + }, "source": [ "## What is boosting? Additive Modelling/Iterative Fitting\n", "\n", @@ -3018,7 +2684,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4762d537", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -3027,7 +2696,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ab36a813", + "metadata": { + "editable": true + }, "source": [ "where $\\beta_m$ are the expansion parameters to be determined in a\n", "minimization process and $b(x;\\gamma_m)$ are some simple functions of\n", @@ -3041,7 +2713,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "40b63f0f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sigma(t) = \\frac{1}{1+\\exp{(-t)}},\n", @@ -3050,7 +2725,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d5e0cdad", + "metadata": { + "editable": true + }, "source": [ "where $t=\\gamma_0+\\gamma_1 x$ and the parameters $\\gamma_0$ and\n", "$\\gamma_1$ were determined by the Logistic Regression fitting\n", @@ -3061,7 +2739,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "dd3a061c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\frac{1}{n} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3070,7 +2751,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6d53d024", + "metadata": { + "editable": true + }, "source": [ "In this case the function $f(x)$ was replaced by the design matrix\n", "$\\boldsymbol{X}$ and the unknown linear regression parameters $\\boldsymbol{\\beta}$,\n", @@ -3080,7 +2764,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3242ea1d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\beta}=\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", @@ -3089,14 +2776,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "abcb204c", + "metadata": { + "editable": true + }, "source": [ "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$." ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "d7c5c454", + "metadata": { + "editable": true + }, "source": [ "## Iterative Fitting, Regression and Squared-error Cost Function\n", "\n", @@ -3121,7 +2814,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ed7d9340", + "metadata": { + "editable": true + }, "source": [ "## Squared-Error Example and Iterative Fitting\n", "\n", @@ -3134,7 +2830,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e8ba9f4b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\beta_m,\\gamma_m) = \\mathrm{argmin}_{\\beta,\\lambda}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta b(x;\\gamma))^2=\\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta(1+\\gamma x_i))^2.\n", @@ -3143,7 +2842,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4681250b", + "metadata": { + "editable": true + }, "source": [ "We start our iteration by simply setting $f_0(x)=0$. \n", "Taking the derivatives with respect to $\\beta$ and $\\gamma$ we obtain" @@ -3151,7 +2853,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bd8519d8", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\beta} = -2\\sum_{i}(1+\\gamma x_i)(y_i-\\beta(1+\\gamma x_i))=0,\n", @@ -3160,14 +2865,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ba583d71", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "637356c2", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\gamma} =-2\\sum_{i}\\beta x_i(y_i-\\beta(1+\\gamma x_i))=0.\n", @@ -3176,14 +2887,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8c185c05", + "metadata": { + "editable": true + }, "source": [ "We can then rewrite these equations as (defining $\\boldsymbol{w}=\\boldsymbol{e}+\\gamma \\boldsymbol{x})$ with $\\boldsymbol{e}$ being the unit vector)" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "9460a8fa", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma \\boldsymbol{w}^T(\\boldsymbol{y}-\\beta\\gamma \\boldsymbol{w})=0,\n", @@ -3192,14 +2909,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0b07afc4", + "metadata": { + "editable": true + }, "source": [ "which gives us $\\beta = \\boldsymbol{w}^T\\boldsymbol{y}/(\\boldsymbol{w}^T\\boldsymbol{w})$. Similarly we have" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "2eca4e12", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta\\gamma \\boldsymbol{x}^T(\\boldsymbol{y}-\\beta(1+\\gamma \\boldsymbol{x}))=0,\n", @@ -3208,7 +2931,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4e66ed95", + "metadata": { + "editable": true + }, "source": [ "which leads to $\\gamma =(\\boldsymbol{x}^T\\boldsymbol{y}-\\beta\\boldsymbol{x}^T\\boldsymbol{e})/(\\beta\\boldsymbol{x}^T\\boldsymbol{x})$. Inserting\n", "for $\\beta$ gives us an equation for $\\gamma$. This is a non-linear equation in the unknown $\\gamma$ and has to be solved numerically. \n", @@ -3219,7 +2945,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3886e3cd", + "metadata": { + "editable": true + }, "source": [ "## Iterative Fitting, Classification and AdaBoost\n", "\n", @@ -3232,7 +2961,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9340d546", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}=\\frac{1}{n} \\sum_{i=0}^{n-1} I(y_i\\ne G(x_i)).\n", @@ -3241,7 +2973,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4a811fe2", + "metadata": { + "editable": true + }, "source": [ "The iterative procedure starts with defining a weak classifier whose\n", "error rate is barely better than random guessing. The iterative\n", @@ -3254,7 +2989,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "403c01f1", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -3263,14 +3001,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a700a98e", + "metadata": { + "editable": true + }, "source": [ "will be a function of" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "08113929", + "metadata": { + "editable": true + }, "source": [ "$$\n", "G_M(x) = \\mathrm{sign} \\sum_{i=1}^M \\alpha_m G_m(x).\n", @@ -3279,7 +3023,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "85f281cc", + "metadata": { + "editable": true + }, "source": [ "## Adaptive Boosting, AdaBoost\n", "\n", @@ -3288,7 +3035,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "54ffa37f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_m(x) = f_{m-1}(x)+\\beta_mG_m(x).\n", @@ -3297,7 +3047,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6874f147", + "metadata": { + "editable": true + }, "source": [ "The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the\n", "exponential cost/loss function defined as" @@ -3305,7 +3058,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2f7992b0", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}\\exp{(-y_i(f_{m-1}(x_i)+\\beta G(x_i))}.\n", @@ -3314,7 +3070,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "66695c48", + "metadata": { + "editable": true + }, "source": [ "We optimize $\\beta$ and $G$ for each value of $m=1:M$ as we did in the regression case.\n", "This is normally done in two steps. Let us however first rewrite the cost function as" @@ -3322,7 +3081,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "28b55d9c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}w_i^{m}\\exp{(-y_i\\beta G(x_i))},\n", @@ -3331,14 +3093,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e1425728", + "metadata": { + "editable": true + }, "source": [ "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$." ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "06cde447", + "metadata": { + "editable": true + }, "source": [ "## Building up AdaBoost\n", "\n", @@ -3347,7 +3115,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ef0b1ae2", + "metadata": { + "editable": true + }, "source": [ "$$\n", "G_m(x) = \\mathrm{sign} \\sum_{i=0}^{n-1} w_i^m I(y_i \\ne G_(x_i)),\n", @@ -3356,7 +3127,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ccf8cbf3", + "metadata": { + "editable": true + }, "source": [ "which is the classifier that minimizes the weighted error rate in predicting $y$.\n", "\n", @@ -3365,7 +3139,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4234e666", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\exp{-(\\beta)}\\sum_{y_i=G(x_i)}w_i^m+\\exp{(\\beta)}\\sum_{y_i\\ne G(x_i)}w_i^m,\n", @@ -3374,14 +3151,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "178d03b7", + "metadata": { + "editable": true + }, "source": [ "which can be rewritten as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "5fa4d7ad", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\exp{(\\beta)}-\\exp{-(\\beta)})\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i))+\\exp{(-\\beta)}\\sum_{i=0}^{n-1}w_i^m=0,\n", @@ -3390,14 +3173,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e7070480", + "metadata": { + "editable": true + }, "source": [ "which leads to" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "fda49c9c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta_m = \\frac{1}{2}\\log{\\frac{1-\\mathrm{\\overline{err}}}{\\mathrm{\\overline{err}}}},\n", @@ -3406,14 +3195,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d1196c44", + "metadata": { + "editable": true + }, "source": [ "where we have redefined the error as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "7e9e1a54", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{1}{n}\\frac{\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i)}{\\sum_{i=0}^{n-1}w_i^m},\n", @@ -3422,14 +3217,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8606b09a", + "metadata": { + "editable": true + }, "source": [ "which leads to an update of" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "7befd0eb", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_m(x) = f_{m-1}(x) +\\beta_m G_m(x).\n", @@ -3438,14 +3239,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "316aaa41", + "metadata": { + "editable": true + }, "source": [ "This leads to the new weights" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "a6e517c8", + "metadata": { + "editable": true + }, "source": [ "$$\n", "w_i^{m+1} = w_i^m \\exp{(-y_i\\beta_m G_m(x_i))}\n", @@ -3454,7 +3261,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8c964d68", + "metadata": { + "editable": true + }, "source": [ "## Adaptive boosting: AdaBoost, Basic Algorithm\n", "\n", @@ -3471,7 +3281,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c8cca737", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{err}=\\frac{1}{n}\\sum_{i=0}^{n-1}I(y_i\\ne G(x_i)),\n", @@ -3480,14 +3293,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "01ea3b3c", + "metadata": { + "editable": true + }, "source": [ "where the function $I()$ is one if we misclassify and zero if we classify correctly." ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "49af99b4", + "metadata": { + "editable": true + }, "source": [ "## Basic Steps of AdaBoost\n", "\n", @@ -3500,7 +3319,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "13f3c995", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{\\sum_{i=0}^{n-1}w_i^m I(y_i\\ne G(x_i))}{\\sum_{i=0}^{n-1}w_i},\n", @@ -3509,7 +3331,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "066cc378", + "metadata": { + "editable": true + }, "source": [ "1. Then we start looping over all attempts at classifying, namely we start an iterative process for $m=1:M$, where $M$ is the final number of classifications. Our given classifier could for example be a plain decision tree.\n", "\n", @@ -3534,7 +3359,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "31e8b167", + "metadata": { + "editable": true + }, "source": [ "## AdaBoost Examples\n", "\n", @@ -3543,46 +3371,13 @@ }, { "cell_type": "code", - "execution_count": 57, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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OTmZcuXK4ePjw2233ZbjScLFxYXGjRvj6+vLQw89RGRkpO25ffv20aFDB+688048PT159913SX2BxsqVK2nevDne3t54eXkxYsSIHI3NkXr37k2jRo2YMmWKXe0ddbmxiDB06FDq1atHo0aN2LlzZ6btOnTowOXLlx0SR06YP38+np6eeHp6Mn/+/AzbnDhxgoCAABo1akT79u05deqU7blRo0bh6+uLr68vixYtsq3v1asXhw8fdnj8TiMi+erBnYjKPSEhIZk+d+zYMQkODpaIiAixWCwOi6FUqVK2n/v27SvvvfeeiIjExMRInTp1ZNWqVSIicvXqVencubPMnDlTRET27NkjderUkf3794uISGJiosyaNStHY0tMTMzR7V0TFhYmNWrUuKHXpH6fctIvv/winTt3FovFIlu2bJEWLVpk2O7nn3+WYcOG3dC2k5KSciJEu1y8eFFq164tFy9elIiICKldu7ZERESka/f444/Ll19+KSIia9eulaeeekpErMd33333SWJiokRHR0uzZs0kKipKREQ2bNggzz33XK4dS3Yy+rsFdshNfu7q+QFlFxHBGJPmUbt2bfz8/KhYsSJFihRJ97y9jxvRunVrTp8+DcC3337LXXfdxf333w9AyZIlmTlzJh9++CEAEyZM4I033sDLywsAV1dXBg0alG6b0dHR9O/fn4YNG9KoUSMWL7aWMkv9Df3HH3/k6aefBuDpp5/m5Zdf5t577+XVV1+lVq1aaXo59erV49y5c4SHh9O9e3f8/f3x9/fnr7/+SrfvuLg4276bNGnC+vXrAbj//vs5f/48jRs3ZtOmTWlec+7cObp164afnx9+fn5s3rw53fEEBATQtGlTGjZsyLJlywC4evUqXbp0wc/PL8034tdee40GDRrQqFGjDHtcy5Yto2/fvhhjaNWqFZGRkYSFhaVrt2DBAh555BHb8qOPPkqzZs3w8fHhk08+sa0vXbo0b775Ji1btmTLli188803tGjRgsaNGzNgwACSk5MBGDhwIM2bN8fHx4e33nor3f5u1KpVq+jYsSMVK1akQoUKdOzYkd9++y1du5CQEAICrGfe7733Xtv7FxISQrt27XB1daVUqVL4+fnZXt+2bVvWrFlDUlLSLceZJ91shnHWQ3sUuSskJETi4uLk0KFDgvWy6Bx/ZOfaN+WkpCR5/PHH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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 27, + "id": "d21b6e38", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", "\n", @@ -3609,7 +3404,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bd73f19c", + "metadata": { + "editable": true + }, "source": [ "## Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent\n", "\n", @@ -3624,7 +3422,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "91f98ebf", + "metadata": { + "editable": true + }, "source": [ "## The Squared-Error again! Steepest Descent\n", "\n", @@ -3634,7 +3435,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "61ecdf5b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\hat{\\boldsymbol{f}}) = \\mathrm{argmin}_{\\boldsymbol{f}}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3643,14 +3447,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ce82798c", + "metadata": { + "editable": true + }, "source": [ "We define a real function $h_m(x)$ that defines our final function $f_M(x)$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f4671edf", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_M(x) = \\sum_{m=0}^M h_m(x).\n", @@ -3659,14 +3469,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "caa41736", + "metadata": { + "editable": true + }, "source": [ "In the steepest decent approach we approximate $h_m(x) = -\\rho_m g_m(x)$, where $\\rho_m$ is a scalar and $g_m(x)$ the gradient defined as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e3b64ac5", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g_m(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{m-1}(x_i)}.\n", @@ -3675,7 +3491,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ae07957e", + "metadata": { + "editable": true + }, "source": [ "With the new gradient we can update $f_m(x) = f_{m-1}(x) -\\rho_m g_m(x)$. Using the above squared-error function we see that\n", "the gradient is $g_m(x_i) = -2(y_i-f(x_i))$.\n", @@ -3685,7 +3504,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d47eae0d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "(\\rho_1) = \\mathrm{argmin}_{\\rho}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i+2\\rho y_i)^2.\n", @@ -3694,7 +3516,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "df3a4e40", + "metadata": { + "editable": true + }, "source": [ "## Steepest Descent Example\n", "\n", @@ -3703,7 +3528,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ee330688", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f_1(x) = f_{0}(x) -\\rho_1 g_1(x)=-y_i.\n", @@ -3712,14 +3540,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "32fbddf9", + "metadata": { + "editable": true + }, "source": [ "We can then proceed and compute" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "36040e0a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "g_2(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i,\n", @@ -3728,14 +3562,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "22c0ffd0", + "metadata": { + "editable": true + }, "source": [ "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**." ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "ac371de8", + "metadata": { + "editable": true + }, "source": [ "## Gradient Boosting, algorithm\n", "\n", @@ -3748,7 +3588,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a266ee8b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f})=\\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3757,7 +3600,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c516339a", + "metadata": { + "editable": true + }, "source": [ "The way we proceed in an iterative fashion is to\n", "1. Initialize our estimate $f_0(x)$.\n", @@ -3775,76 +3621,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6ffa2c59", + "metadata": { + "editable": true + }, "source": [ "## Gradient Boosting, Examples of Regression" ] }, { "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n", - "/Users/hjensen/opt/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", - " return f(**kwargs)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Max depth: 1\n", - "Error: 0.4649152123534192\n", - "Bias^2: 0.22096630093477287\n", - "Var: 0.24394891141864633\n", - "0.4649152123534192 >= 0.22096630093477287 + 0.24394891141864633 = 0.4649152123534192\n", - "Max depth: 2\n", - "Error: 0.479478017184938\n", - "Bias^2: 0.22173886899445688\n", - "Var: 0.25773914819048116\n", - "0.479478017184938 >= 0.22173886899445688 + 0.25773914819048116 = 0.47947801718493804\n", - "Max depth: 3\n", - "Error: 0.4794783817508626\n", - "Bias^2: 0.2217389150411781\n", - "Var: 0.25773946670968456\n", - "0.4794783817508626 >= 0.2217389150411781 + 0.25773946670968456 = 0.47947838175086266\n", - "Max depth: 4\n", - "Error: 0.4794783817508626\n", - "Bias^2: 0.2217389150411781\n", - "Var: 0.25773946670968456\n", - "0.4794783817508626 >= 0.2217389150411781 + 0.25773946670968456 = 0.47947838175086266\n", - "Max depth: 5\n", - "Error: 0.4794783817508626\n", - "Bias^2: 0.2217389150411781\n", - "Var: 0.25773946670968456\n", - "0.4794783817508626 >= 0.2217389150411781 + 0.25773946670968456 = 0.47947838175086266\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 28, + "id": "a5317ca8", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3891,64 +3684,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "20d58df1", + "metadata": { + "editable": true + }, "source": [ "## Gradient Boosting, Classification Example" ] }, { "cell_type": "code", - "execution_count": 59, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "[1. 0.86666667 0.93333333 1. 1. 0.92857143\n", - " 1. 0.92857143 0.92857143 0.92857143]\n", - "Test set accuracy with Random Forests and scaled data: 0.97\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 29, + "id": "b1a36e5e", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -3994,7 +3746,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a2155c49", + "metadata": { + "editable": true + }, "source": [ "## XGBoost: Extreme Gradient Boosting\n", "\n", @@ -4014,113 +3769,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7856d681", + "metadata": { + "editable": true + }, "source": [ "## Regression Case" ] }, { "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 0\n", - "Error: 0.27265898772673286\n", - "Bias^2: 0.27265898120693166\n", - "Var: 3.552713678800501e-15\n", - "0.27265898772673286 >= 0.27265898120693166 + 3.552713678800501e-15 = 0.2726589812069352\n", - "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 1\n", - "Error: 0.30539667982909335\n", - "Bias^2: 0.2707146103037183\n", - "Var: 0.03468207269906998\n", - "0.30539667982909335 >= 0.2707146103037183 + 0.03468207269906998 = 0.30539668300278827\n", - "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 2\n", - "Error: 0.3086154634354187\n", - "Bias^2: 0.27120662006386265\n", - "Var: 0.037408843636512756\n", - "0.3086154634354187 >= 0.27120662006386265 + 0.037408843636512756 = 0.3086154637003754\n", - "[09:16:06] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 3\n", - "Error: 0.3086162750614561\n", - "Bias^2: 0.27120680244783013\n", - "Var: 0.037409473210573196\n", - "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", - "[09:16:07] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 4\n", - "Error: 0.3086162750614561\n", - "Bias^2: 0.27120680244783013\n", - "Var: 0.037409473210573196\n", - "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n", - "[09:16:07] WARNING: /Users/travis/build/dmlc/xgboost/src/learner.cc:516: \n", - "Parameters: { colsaobjective } might not be used.\n", - "\n", - " This may not be accurate due to some parameters are only used in language bindings but\n", - " passed down to XGBoost core. Or some parameters are not used but slip through this\n", - " verification. Please open an issue if you find above cases.\n", - "\n", - "\n", - "Max depth: 5\n", - "Error: 0.3086162750614561\n", - "Bias^2: 0.27120680244783013\n", - "Var: 0.037409473210573196\n", - "0.3086162750614561 >= 0.27120680244783013 + 0.037409473210573196 = 0.3086162756584033\n" - ] - }, - { - "data": { - "image/png": "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+iPRe+65h+XLl2da/5ZbbuG5557rj9Jy44AwMwMWLVrE2rVrj2pbu3YtixYt6nHd9vZ2Ghsb+fjHP95f5eXCAWFmBlx++eU8+eSTHDx4ECh8edAbb7zBww8/nLy8d319PY2NjZx33nk8+uijXH311Tz22GMANDY2cs455zBt2jSuu+46Igrn+s6dO5cVK1Zw7rnnMmXKFH76058ChYC58cYbmT59OjNmzODrX/86ABs3buT888/n7LPP5uKLL+ZPf/rTQE6JL/dtZoPPP2/4Z17d9WpFx/zw+A+z4twVXT4+YcIEzj33XJ555hnmz5/P2rVrueKKK7jpppuOubz3jBkzAKipqem82uszzzzTOdb111/PLbfcAsDSpUt58sknueyyy4DC901s2LCBp556ittvv53nnnuOVatW8dprr/GrX/2K6upqdu3aRVtbGzfccAM/+MEPqKur43vf+x5f/OIXuf/++ys6L93xHoSZWVHpYaaOw0upy3t3uOKKK5Lj/OhHP2L27NlMnz6dF154gebmd84r/tSnPgXA2WefzdatWwF47rnn+NznPkd1deE9+/jx49m8eTO/+93v+MQnPsGsWbO444472L59e3+87C55D8LMBp3u3un3pwULFvCFL3yBX/7yl+zfv59x48YlL+/doba29pgxDhw4wPLly2lqauKUU07htttuO2qdkSNHAlBVVcXhw4cBiIhjLjMeEUydOrXzyrJ58B6EmVnR6NGjmTt3Ltdccw2LFi3q8vLe3ekIg5NPPpnW1tbOzyW6c9FFF/Gtb32rMzB27drF6aefTktLS2dAtLW1HbUnMhAcEGZmJRYtWsSmTZu48soru7y8d3dOOukkPvvZzzJ9+nQWLFjAOef0fH7wtddey+TJk5kxYwYzZ87k4YcfZsSIETz22GOsWLGCmTNnMmvWLH72s59V4iVmpo5P1wezhoaG6PjCcDP72/T73/+eM844I+8yhqzU/EnaGBENfR3TexBmZpbkgDAzsyQHhJkNGkPhkPdg1F/z5oAws0GhpqaGnTt3OiR6KSLYuXMnNTU1FR/b50GY2aAwadIktm/fTktLS96lDDk1NTVMmjSp4uM6IMxsUBg+fDinnnpq3mVYCR9iMjOzJAeEmZklOSDMzCzJAWFmZkkOCDMzS3JAmJlZUqaAkDRe0uOS9knaJmlxF/2mSXpW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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 30, + "id": "653c1936", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -4167,7 +3832,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f987405e", + "metadata": { + "editable": true + }, "source": [ "## Xgboost on the Cancer Data\n", "\n", @@ -4176,79 +3844,13 @@ }, { "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(426, 30)\n", - "(143, 30)\n", - "Test set accuracy with Random Forests and scaled data: 1.00\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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fX3ZtWtXpu1atWrFtWvXbBJHbggKCqJMmTJ06NAh0zZxcXF0796dOnXq0KRJE44fP25978svv8Td3R13d3e+/PJL6/oePXpw5MgRW4ZuXyLiUC/qIirvHDhwINP3jh07JiEhIXL58mVJSkqyWQwlSpSw/ty7d2959913RUQkJiZGatWqJb/88ouIiFy/fl2CgoJkxowZIiKyd+9eqVWrlhw8eFBEROLj42XmzJm5Glt8fHyubu+Ws2fPSrVq1e7oMym/p9z0448/SlBQkCQlJcmWLVskMDAww3Y//PCDvPLKK3e07YSEhNwIMdvWrl0rq1atkvbt22faZubMmTJgwAAREfnmm2+kW7duIiJy6dIlqVmzply6dEkuX74sNWvWlMuXL4uIyIYNG+Sll16y/QFkU0b/b4GdktPfuzn9oL1emijy1q1/cElJSYLlbrdcf91Oyl+An376qQwaNEhERObPny+9evVK1TYsLEyqVq0qIiK9evWSzz777Lbbj4qKkueff168vb3Fx8dHli9fnm6/y5Ytkz59+oiISJ8+fWT48OHSsmVLeeWVV6R69epy5coVa9vatWvLuXPn5MKFC/L0009L48aNpXHjxvLXX3+l2/eNGzes+27QoIH8/vvvIiLi4+MjxYoVEz8/P9m4cWOqz5w7d06eeuop8fX1FV9fX9m0aVOqeKOioqRVq1bSsGFD8fb2lpUrV4qISHR0tDzxxBPi6+srXl5esmTJEhERGTVqlHh6eoqPj4+89tpr6WLs37+/fP3119blunXrypkzZ9K169mzp6xfv9663KlTJ/H395f69evLnDlzrOtLlCghY8aMkcDAQPnzzz/lq6++koCAAPHz85P+/ftbk8fAgQOlUaNGUr9+fRk7dmy6/eXU+vXrs0wUjz32mGzevFlELCcCLi4ukpSUJF9//bX079/f2i7l95KYmCg1atSw2YnDncrtRJGdB+7UPS4uLo7wcLtMaJhKYmIi69at48UXXwQsl53SFhGsXbs20dHRXLt2jX379vHaa6/ddrvvvPMOpUuXZu/evQDWQfmshIaGsnbtWpycnEhKSmLFihX07duXbdu2UaNGDSpWrMj//d//MXz4cB566CHCw8Np164dBw+mnkV45syZAOzdu5dDhw7x2GOPERoayqpVq+jQoQO7d+9Ot+9hw4bRokULVqxYQWJi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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "execution_count": 31, + "id": "667744e1", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -4303,34 +3905,9 @@ "save_fig(\"xgparams\")\n", "plt.show()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.3" - } - }, + "metadata": {}, "nbformat": 4, "nbformat_minor": 5 } diff --git a/doc/src/week45/week45.do.txt b/doc/src/week45/week45.do.txt index 5371c8aac..752848139 100644 --- a/doc/src/week45/week45.do.txt +++ b/doc/src/week45/week45.do.txt @@ -8,6 +8,7 @@ DATE: today * Thursday: Basics of Decision Trees, Bagging and Voting * "Video of Lecture":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage" * Friday: More on Bagging, Voting, Random Forests and start Boosting + * "Video of Lecture":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember12.mp4?vrtx=view-as-webpage" !bblock Videos o "Video on Decision trees":"https://www.youtube.com/watch?v=RmajweUFKvM&ab_channel=Simplilearn" From 85bc3b66cca6b1efdc08bf66c26681cd29610d6c Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Fri, 12 Nov 2021 15:48:19 +0100 Subject: [PATCH 07/16] Create NotesNovember12.pdf --- doc/HandWrittenNotes/2021/NotesNovember12.pdf | Bin 0 -> 3022360 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/HandWrittenNotes/2021/NotesNovember12.pdf diff --git a/doc/HandWrittenNotes/2021/NotesNovember12.pdf b/doc/HandWrittenNotes/2021/NotesNovember12.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f18c4e16d5360a0bad8c3ed83e7e359805582fff GIT binary patch literal 3022360 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

    -XaWqRj}eaO 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�Y3J4jwmY6T=i3K!t^1j6<6;BulM)+%#TtJz37 z+9~Y@x?;?%^b56vWy6o5V7gXjxe8G%CV4mr0o~9HqP{fMbS$@@$&D^{1;Ko=rdD%r zf?ORMNYxV8PZH@Ee_?$X)azD=PPEk)7QZ$-c{(8{iGS^7%n*#BM8$JbP0s(yE2S zZ<+C0vDObF#L>}-Vc*T!B+FSYU~V&PD8lWgliq44)ua?@LUPnX`zM0C1Zb6Dh#>8g z5H1$oCzPbwZ={|H33AWFm@N;hZm2dFrB%8r@r26RZWUBzC%gD9%tgg~sYpTLx9}W95EPblD!g$aUa);QD3~WB8$H3e6NZ&8 z+yqf3bof>@INJi|#Zt(w~L*p5mIexoeo@%$Pbwas@*my%HC1 zmhWt6jt54V9^sCictQ?M=j^Ux4ZEdhgUGL}8x3)kf;X<}gDg6Y5Ax@3V-$aR(t$A) z5rE|UwL7gAz6^9jlTEKprL${s)y$2v7wccIaJi9A^5CbprXE+=B7gR~!rb+{()h;m z@w_1a=;IHKJE5AQOOB9 zkdZS$ruF9kBs}u-ngk zCeM4PJ%$zzIYY%*rK}PdERQ$eWe}429l144)v#||ajB?!M#ze)%RhFzrTsDvY>z#~ z@~vB@#Oy%Z^IP;Brpj2&dQ;D_(o>J{N?yS z|J>Zx&8QwSdub)(eS4{-tATiSQomWNOID_o?>juq)s#l7Z04c>aEB1DpN9up6k?f_ z5v|+v3IM`SGpFq3LeUO^wV8l4OYY*#)qJOrvhM>fmT!u~B|owwpB^IpVH}s3KWnv% z%$<{{NTfNk_>4Xtm^C3EsjOO|BWN2$=2%EC(!6(R`KFbon9la+6)`EKJ0YN2Rt#9B(^=Y&kKKhOpbbmOoHH}*=A z8#yjrFWbM#OdA3kr~?KkHFMs zAE|u(?ph3-RL@vH!Q@kt4EIBdEA}U6u>BnYX_RD~G_t9>Ntz~l@(Hm$0EhZ|DI>fS z0J}HR^5_VRb-TAf>z3MTpcf?o_>dyJdy*E6JZ|u-Ce+Px2Pu9t@hJQdJu4~go-+}F z?8)}ByrMc_{KUtfkr==ga>cNWGZ2Q6>LtvHsgwIK1x8K9idcXCPmtjbgc$`1AeR&9 zeT#D%0+Dfs;z;zxoEk|l#EMzk>5UeUasd$R9xDc_%4)ExE7#~g#-UYFvzqLA5ZxI1 zlNW1Ua%dM(@260Q06wR@HzJyNqJQiZow2EuKOxp*6+h;D1BZ^c=t zmc)Q;H#RxQO`nls(EyU2{6(t4ciD!07atiPAt3pmGYCQ|v{`E_^^OF>Y$prlmBm_R z7cIrij1|?FfN+VE_wckuVZ0z$p+c7zfvH=e!ASx0N~R4WB%YukeEp9(Uz-_3#eDJk z>-S}*y+YG6#XUy<`D>h(2STljCaNGs2V`$>F@qhCy7@qpAVkReh_LJx_ggIgfXu zmHk!?rJhayq0-`%$AQqUi)Z%l`9bb&2%ok9Aq@!l;b{f^w>f`W2_1;cLZl<0kQZ+{ zFnP_0C+{Px)IAZ|`_9(@d=?{tte!XsW~f`BrUTj?$k#3ULIMR653*1hNN-0uf~MPR zinUs1zL9#qZzC;K7G$@(8~YXH1iLS<1*;yt%`idV3O1kB<$rDAU8)Y7om3`@u`DQT zRzWZ^014H~2Vpwv2XzdWJG?Fo4|&-Rk$pE73yXFxK5KFimx_(;JQdC@zoQi*KU!h0 zG+)#+#je1mXWD`|#^z(#^g+&BC!0P>lsytryH%YjMW`-SWSzSMR~w>nZU&g5q3b8j zmo%{Bvtx3-d?qbSac66jRe6y=_;g6ElUykbO4X2ItJ_I~9 zt*sw6h+Hh@dqC1v7GxeI1f}c|-rT5Q*-*~_h^UNIls9|B>Kdt~tk?h~1reQP#4u53 zNmRTXRXOE@2rnO@|15AVpM2vvgK8s!jwaZf(yw$B#KysXM36Nw!Xq`(jrh$-`pM8UB_K zGI?>f2cmHP&?|2By15s$L-5Cyi)ppG9H%0}m(ZYz6=*umYFMh>u}Y5Gi55DfWOy*7 z=?NML{Zx z@{I7Is(u9LJddd0n1f8M2;mOTyOp)V#(V*kRshoI)3KE+u3vE@>!jjD#v>s1 z6W*IXV-P}T0s*IKLwS6$FH1Tl8|%&cv8|pdtCfgCE3o4ZJ%GqKeU=`-^piI>{L~W4 zP8KN!!TX_w09$fGKX-HPsFrMRnPDj7n4s<>ssVQYa>TNt<&(b2RqF&ruY!;`+&fwkn?AO7OIDo7CY2S-!ejpko99sUcV(Y{(CS57xgQiVw&{}Suse?W&oD=Wvid}LPco=)BzAl>8%&Jk#!}V(hgIR|^8Sq^ zpaGo~?9J@QE2;?B4Y!?h($b0H8j%C>zwK438$=aLm}7>N{AxPF0rrPG2DrnkALR~W zB|CHw*UUTgV(xc(RiE9RR(tP$;THba5^;_Z+6IwYhNwpaaQ(epsy*EjN$Q-0Yl_wN#44L-M zTK(~NWs0)DO;=nkVyPx&R0l#aWZp?$k$E-3aN|4-e%=5G0p`phLlp27iZa7ZXJ#I% zMIqq7y7;Sd3n5w4I6+ugsFX6F)X#HZt27%^T)<-X5B5gVAncfAu2#K55d@DkbP!xt zKMum8EkI>^11N+@cxQjHv4aTf-ik!ewmFL<{T`c@PLS-dmQL6Y^!WoMG1hiA=o;NM zJt$CtcC9`&%PDVnY=|q8g19O)Zqa{#3s8OU)YR=vZu0!z1Ut}Z4lFG@NFmsDW9c}82yME>Kuezu6a&_1*SJR~#}^iv zNf<<+?GA}JNgRs*SW4c8ZB~?v=7^b_^Xv|efESrO_ zNPy=z=3xN9Q{oY!RMH}a;4B{-(uroPW@|QuIanDxI#Jc#DU4Zp($QtkZi!{o>)sQr zh`kFbK_&=Ge*^}`F+CX1!tOwr$;T`kU14ob&M`R|IzM4UaLtXxX+6j# z$7<6}O{buh>tMxHgV`RyKNm#~kS`xZmI0{-sp{{#c}46k6DP9w9mY~VMMgZk6J+Ss ztB7o!vhSY(EIikW>XjsdC263AvdLMxxg521xd67zg>UVkDi)s(XVlsOm>Z zbshEX%{v)`iS3ZHT0!`=nyWGFp89!ORzDagK#uX{p{&Z;k+{ddXzuSn207|YxgKTK zs^nS>2fU8Mdmv(31Z>O-8PTeSX3uPPkJmi{|92%yvY7Ur9!0%!+5g z3I5e6SNR!m6pZ7P2czY!XlH(Eq}&)@IXw`uTRxEUIA3$ZDnD z>$Qr319-6f$GQ~<9c1Mc1C@ddBr?=0jkC}u2=D6V7cV)6qCc?R4Yk;UR(s;FexH?z zjc$75-2A+&v4KW&7VA~bWH@2_5EsqXrP)yF+e=5#1i^%Z#Gl+?!at#uH3MRC#|VlQ zoUMk_okx);J@Id$tAFWHPK)UWag;?3{FS{XFpAbVY)( zWDt>zr;oZFAE6+NtAqFy!j?HD$)NL%bZw~e)4$vZj!OM(S!v)A=2;F$Jf_Pj)(hTT z`EGsyWr0^;#7{owP` zk?Z%Jf>>jtI!yL%GOU5bFI4n{ZUe ztyM2%^oMfdx5*09*NyerlXU}#nS)S`Ldcsdk7mUZ5Y5@%-~x}wE`naI(K&rjKC;KY zHJbQX*xsUO3S?)1@#IdUp2;vHrRY_8>tY!636jm0psV6u3S6| zp;l6Nu&JNO*!5G78c9o!q<3l~991@?-M9{4KQuZc0OQ>yK}hVm$gr~A?GTtHdO_Xu z(l|@b3(6zknMU-84>|1cjCTyQyl(x94X+h8Lk8(?QT)zM)Fj(911J9`fQaL8LM2js zt+AMRA|$n0)Mb$FkqR1FH9iW0V9yXkVLYRawdh%9m%LK!Q__|MILK$_7Du+qTFp%) z`x4{EcJ-r0rtqIC#}*Hh(LlZO6juFX3x!F7T){Pb`(hM=1}ST4BtJMUY6OU&4NV4aC3W5mbe_jmrb<^=`^+PB;BvikCvt2YV5wd>wITVl(_xhpV>(}#z>(|?k zTY-ChH`2*WOJNUQH#wDCdAXHaQ~0(wP4@fAoWwhI@;Whh9f0j7L(iI;b9}E)@qSUw1gJg4RbGAA4U0LvTlSzm!D8>S7?0?&QAxX6V zAS>{&Oj_Z5`Bcm_3p=F(viiL!jD#}})i9^(vx~7wlO;W7BK9qj+l{Kq3Z`*?=^Ugh8Lji>Q5tD?^aoo6wtm$I2kBkD>o?;HWI>yabcxPd$<@C#2=H4~ zXPygTBxm19S+>-0XNNN<`p}~%!a8Ak)jbxiSOn!=f|R}}HrF@I&@QrIQw=Swg`ICy zJe(70eb^`pBjt@F6eu+r1ZNlfhE4Ha;yq1=#OFhR5I(J&rk%79XrxtI5mqV2U%v=) z`WTO0KlCfPH-?(aQxtOySwGgsmI*dvAsE9B&Ot<7j_+A1wg(~>ohBz8zI8IQV}M)d z+K5J`M~fsw!Fr_^f;iRNT~Qk)bir6$H`$fj`Aez$x-kkm0zXuw+U6|sD<9x8-IBZ& zb8IIRg;=#=ighT(RgZrlMFQv@R5cNy$^0j2bCLb7tnElnmdhd+B*yqhPP3yn%(Dk1 zu<%ci`waaeHsb@ZcY!grSt=&T{G|Z*>m6jjliPP}yBZYNloY>)B^<);vfFZE^Dxph5o%vV zzZ(u@TakGEq1sHN7925HLcx3{+I$Bjj&*QTT6H%Y%)rleeD3A<=gyou{kQV#5L zAz=F<2piYBW7sSEjf`+24KgI6`QWq zpIS1~E0qA^d_c6~cA^Ev3uGqd)TTT1Pz*#bSpg7j4#kq|YTRxhrc2$z^}-Od@vmPh zd!-5#Z~9VQjG~8NY6Y``w$k8<6%b+HP!LbNezLze5Epk$r4@}ImFxF# z;+%^&S94Kxp@FW<26bFX>tJW9fOVI6ko5feEfrM1KHhndpIAZJhdUxRtZ>gmmVN>!@J%dZda9x@8zP`NFy9!MKg_LGF1s zi9z;~%2xjJJ|1&8dKS*OLJ*|F#)~rd>cLI3{mT1tA)$nvXVzQ$iiC z>#KJ`R8gE+uy;ofDKK}GAtUIBLvO{J9l{xO6Z+CwC`JDoGeNqdI8yWj39dlU`NB*4_RO|P6%{d z;n+8S=!63}>qw*fNJSJ(x0_LQD}ZS2t-#UzxNbWLR^6CUlSK_`!-(CU%|`yVCN|^I zUGd5#n{0}mV5Byc4n!O)lfG5%p`Kt9V6|dRL}pp2Ijb-rrqP-}q#U<9r0|v6h@v`p zrA&N?@Weu#5vOeF#BGpXFm67|ukzwrdAwPS3=!`MuOKqHoedQ1ax(pa;oz^#4 z^3GkN{QH|uV#NYLWECEyw~%eGy25taP>7%13gSFN3rHgdA#Xbdklq2hevp1kSb5Z1 zrH9t-W@EJz5IRNNuhU+{3O0gjvU2xpRYLS8+o@=i^tgW1_8Y6faIFx}?bcu1@w z5fQPkA2;!BuG=E@W6F?#Rv-pSYz3*tAqewuv>9xUJ{WEJ`t4=K&b%Y9Nxt-m0Ifb$ zP6rk6FaD&B1j!NDU#aFn7GX9FOLi7aBdyjvm_6+T<`MvKk`I-FDA7qFg)`I}Jcb{v z`o;~umuA-Q?G}Nj-s*RJ*K}79TB`8jQUL5mm$<&ok&$1u(ySC|m?Mx9_*wrl zxnYh8oyJKg_?;5GtGYor2%&)8QFT+Rty|VCn`C+SQl$tNV2*7&_@xI zUo4ciPiW<7)i1;yh#zl71R=2(Gm*+{P!Q%%_iBPrX)`^mbX~>-OtKmAf{@M~FG#L3 z>5QpvepdVtna)~zNF#5y;kcx_yqnFIg-XE(*^}2n?yk(q{sNW3BBDWDr#;BHr+%eL z)}~w9b~l|dMAdJbp>(b|(+YY5X>E>nwW$L1^<&GuRh8_ra*rS$4hrTCaOKqL$fra! zs?a7Jh*G?6%jJQnN1_ZG=s#5X+((~cF*QC0$0IyD?v9fnlnfiRs+$5Nj4BH@*pP8j&3qpa}dAlRC&dpZv zGhLHVnW%H*_WA^yh*eZwh5b75En`o{c2B)F%)R&-q_U%%%(7cjCOM~TlkN2r5W@dP zQdAXbR>N$h`Z2+;;24ao4lpIZMj6Xi4)Y|;Ab5OqLVE1;d^dPFA&sskqJU%raiK~+ z*uC|fFwC*Tfx&v`ceLx5Bn@-56dZ-2`veqBieyF173^j+V;~3n2M8(l0FjL#Qu--3 zkpQ?;^dum^42lpyb|bmET>>tcLfeD!;{R;l6_(d1dW!JjIDiwvoRV={5;W7q7dc9$j}9l~#UnK5VF z8MCnNqVW zY__bbZ?@?x-MU+I{hsCG^QLd4WqsQTTkrMjcJM~;UE>YDrzA9zEq~M9)(FRR@!E8~ zuXRf*C5i~u^Pl3H8|JPbX(EbpY(S*!<0uVXO1*CHCOGyJ<=k#}HEA;KE*jSAy2by* zWB|`6bR-}JtT)iu383QZ3#0`AiJVGYEvWh#HEPgEr9724tjW%fih^N>1#QOp&3PJ=izu#}t`YGonf=;T#T52atV)Oj{Gdn+cRH#Lzm)qy{II zj&n+(j+vdw`r*q9;*oMiU)c+6>1G3%C(6hg_IecoRs8oP``yuvLS;z7sd`|3kKOQSxH*U-6KIgG+_Y{I->wZ?f_S!>a zEBqamWH2cn3;`5;#!Y*prsC3K;zh}!gmn}|z!dtL43{N6Gb+2186qi^Ox7YExb%=6 zju^257Kf6;o6l;m?mBykDs&`vk_NEB>(At$G}mZ1BSH2UQ4kmD62nRRvswn5^a_Sm0qEr$ zXvz0=JEvZgdx!0Y+KrT7-4v)q@^IHxtD2C|(Fx>bVB9LHjf1HdBbl^<)HY|`^69tT zGAls@7$-fo5^z5lio&exx9}bosb=&b3z2lh{Dzy)5@K?rSKhT%t#~_jEp!&dG{>yG ztDp1jvmN?XAH7w<{k7tbAEE?+8rw+KExi3(azwMdsbB~k&xX<%*y%R5>~n|62*C2L=z5rhKWSO-d#Mi6`zY5 zR`#vC=NkE(ukHCD-pb}`#aD4IAfh{mIX1?OM=+yjfUraH`C5sO)GD+(j{3<~hp36n zogSEb-ksI>q}^y$k!=v6@el=q-qxnaLfc+L&Gjha`!ym~u2J`{YV#FrvW=!%fcTvd z%)%4O4F`pRiUotv`Ry)6+=@UXoHttzN3#Xu@i+szU6Sx13FZ(kh+}gNoi%ueaCWGz z@Hg6AHttv`Q!#VW;Zek=Hg?6derij)_BYh!J4FTW6$oM|90XAub5tjPblWS|P>^J_ zxmDTK*=~-w&tQ#OkJZsrPf?o>1&i{vhO9^7*rXkK784_uqHRIE>w46R2Y2XT-pslA zgyP}_tyGY`m2-cBFufWHo0NaQ`S@tJzbU*#qT;N^VKq;3idC$k5>Bf z!XV3?j(UT-)=-;b#ohS2`iql4pZ31Fmliua8Y7kKJ$ZpZ?+9Xa|W+|xM1I6;i zZh{Dd+DxNo0I4mpg1IqP@N9T6_kph!c@kPmC;I+OyV+BCK^RW$#g4BGMV(G#J&LV7 za*+I<&PwP!_J|-RBC-?S{*0AAm_X=OP_1C%XpsqUD>w^!M$w3@%}AO~qj6-8K?O!S z^^_IcBSgv79)w#v!+NZ?xOfRsw#Sez+iIkSOmZgycW*36HwHszN7_(CMVYP+9koWm zAeacmVQ<-uqk7|Lg*h2XgH-_-ZT1TFAiQ|9fgqMhnsXS{=ogvC6@$5IKEhW7bN!~x z*bSEmvfF#Jv|iqCstvuHBn@)zJj8c9FhH?rn~f9CK>=go-U+BAiK~lcJ{2(46XZYb zm02;;;z;?#G_Lw*Rt(rB)-nP*bO1h8$7!RLybO|+)gnZkcP_P(3EaZs${I=8Un7{u z#2~AC)=R0v1h?`5V)6tFkyEz}a0qJb^x2OfK8eslrO_`Q6^uQ4u-Pm@P5`1YXx~V> zb#~}q?zHo)l|1f)p>cq{KU^bP6B%ykmR&FO@p^41Kt({>2_<;MD{yxZ!HU#dw(%n6 zwNg)X3un`YI1aBw&sxRr-s|pI_Pg4rOj-6KS^Gd;0cLws`B}tP zZ=YjXa7JrY8wifrIJ13{J=)2%o&$_Liqu7@q3tQty$2(==5)5(92d+UM1kn3ZgqX9 zBgAXEo|puoF>OUFjB)aVFF`s5SvX&t;xCy!5klQ>qxgY{-P5?w<|Lb;Hrf^{8j=O&Ts#O{=Vrl`IX(5yJIO*sOj`@yI zE|Ok9dWWs4)r%uc2WLrjx{?Z=E|%;uz|PKmCEG^@U00_uEN}KcTcc0$D5;?=CK^%$ z)SiAM$II(5BoI4@z~_V$r^%vzD32#`CuPFwQaC!ZJ$F>GQD#8-!!b|F3Sk7;=lXKh z5dIXWA4jSF>8_D5H=}8$uOE5=B8XU8MCgZJrD=_-FD|_62X!OYilJ$@Rd^(@`(e7L z#`h@v^_zJJ7Cra3-E?jpDXl@GZ_`6zOt67c$^9_x;0LrHx}9@~r8{@Err+=8*C%aJW z!p$g;*Lz`GJlFxyAk@qeZYiLqL!V1!BW4Cgi=r@=|BZQO$^>CSkDV~VcrMt=3AF0= z-TK{oa}I@CIl$RTj*j*4rbFHh1;I1t41_4-On5G%+5#METnN8i*}G-F8<${I|FvS_ zZ6uyX=aOE_tFK>9%g=uCYG;-GQLB5QJmSY6g9vzRB(BZzTw~2<*KgSq{cQ8rDF}G| zSOz!W6{j>5C-kcL?4{|jcnYTlh!}+y26PqfgG8h)6YOsPX_fK}qBNtzYsgE}Y@{pC z4sv0vjlPPxjehgJYfiNqx#m(S9J`SoyMhs=)}U37f!*ja{vfviqW?9icJE=cg!mfG z$+qDYP_`L?X5*l-eTxEMH(Rb73p(LX5*0?T6*dYhiF4VpAongmK*eznDNRzNJ@U3i zUKk!ElW%Bh-nFTygc=ETC8!TJTH#I<3mv4Ao!S800?H%Ybi_SAYfa&|Mri@t1u5+x zWUsYsC&eB0!#JxQYr_Tk0&HaT+}8m1dv_d%BPwemEGKUWZ~$r$-q87I4xk61Zmy9t zz`aE>*r&22n!=lbW@DZ(!p4a@farM!OZ{Ze?gThB zk_I4Ag*)SkO!1*iBFJ3!QR6O}f=prD?!+&~V_^L2PL3SjWq0vKUQQ!nknmi@5nG%L zBf1>$U~-bJ3Ci|WKCOt%_G^GHH`Px_W_Dsjl$vV|6j~CQ@T?#>h@i~%s|F;1i|Hq# zVfxaxX)CI+Zo-3Y&k_3w@c zx8~wtxrnrK9$pS8(o(3KTAXA?(-Q!>$Wk(wY5>AvFbN>>SR&sEh~(!I9cQx z+c;?73e0jark6=9iajUr5=kSL1)o@bVk5_SpC-vR?8<(vB#)JXWKv!|FG!yY34#Mo zMDOu&%j_X5(IfrfHJ2<%pNblvb)$9wHY9lwjWIQ@8(ZUcr+n8b=w|E=y~sqI4sxXe zbj3?00%4b7PIXk9v!s==$4E5jAZ)hBcZq;zvtiiUxj3oTR8`W>K=3Lo!6gCP(Mc>t zRvkfZ!7LN78MKb|d~1Le3ovmxa1nI*D6U-H>|_WJRt;!oFUzi0wu?3LiIW&0dpa(N@X7g+ zVE0&KzU2)LRV^Uv2N~84M}|xqyk1+=jKa=of#H_D#~J`?J4f#lqJ&}&^4#XV){xqY z57;p-v?%={iZds`@-`2Wm~X-r;ML~JaaxqDUg3bMYVzZGf0FfC9h3#{3x6E}zhl_6lc|oaFI^je|-P{9ko*?AX zLDT}+v!N;)nU;u-vN=Gw+qYkZDG&_8;%L9l#Rgg>7iR%hAkK7qA!z8Ekv+a`ItpMm zfZd4*&R7ceWl7wcX_+8Jd&W{TSwRGNGsMt8<#f{_nz3u4{C0vdbwaeh^cW;N18&hZ z%{GRDNlbsRy(m3=V|lIYNNPwoV&evq&Fww1I{{Hd+l_A$@wKv;>xVTFeULpP-hHT~ z|Mlau*9yBTSigReDuCF|P4|y3DFrc|Wo{^T`N2?Ch-=|nWhEGn&36*szR;;#B#N)x2FdXh9?(ONQ_bJJ#u6t8MSh^FLD5Gy)aUwPTK2WMSm zYzaLqXHkB*PjDiT9=aG>_Dq_E6OPx<%=g|HSc&pl;nF)j;j%-N3mT1Gn+rUJ;$AO2 z*w`FNWrYV}qeKTF_i!r+dhGO4Kt(MZDwPt1FLmVe|H!(Rtj%sB3&Z^!1w+6FY%?C# zs$R{%ThF^gC&5&s3jaGL9bMucA$=;+Z<@$_O7HvWrOn=UAym}s9A&0v_V5w;v^Zv?pHN|_rsnF0k{YRx{QRESlaqp3 zOQSp2J;wwQsqXBS>^@!AMcrc{0^LSwphDxksrb7z5!pOZ}xIg%D0Q+1AL`5F{bJ zRTM(wkAlK}W+NrWYs7wTg`%)iOAv(x?MuPwv+sNG@OVBlNanI;hb@{kq+5Cpy*5p?NWMBdkAdao(M zB;+ zsqrmkSLO6mM0PXp!Jv)Ap}nm{oXf%4k}km4jfL>@z!7-}Ew-WglVe6$0jCY+D!~o@ z6{wLb_k9mi#Rv}W3NLQ(#CBMvW1D5qn1?U}-Vv-+IpoZ|zV`E~Yh^NZlkL22)0rVB z$92opA$@~Z8y;lquG?AYg(pye-*4Y!%VknMI8^=;k>e8!+jw8+YltxyE*MnTSm3*R3Za>h{Z% z43eiE<}8g9|0w4tIq%oPbQ6lZ1ExWa3|(+(y-rFfuH)Ro$o{S`pEr=GBwjf7hv4+O z5JG~5Yr~`7fhVe3b^Xw!D#FBBzePDjqshFU;TS;4^tlPff`oNTW}-T_0qPu*UQFmF z(arD$ypr=$>m^Zs`-?43TS?jlDFHf&Vf#B|7gBz?Mk(G9HE_TGs2f4rVTMV)|6Qy6 zEt6QQF2jaMZ~QW3Hh2g}wl&vE@W)V184UzfR6c-AI-sP_ke{7g5^YL)Ip{T#TD;Hm z=YRRpID%Kdzt5AB_p$D})U60iZM;iz0Q2!7O`|4~D>T@RCQXxm?2b^Fh-0G@AMC*ZHBAk~N~ts?gv)kkpaP{Bs7Rlz ziC#hzf}(xRIagkZ-W@726yjaRIFWTnUSq(p-QwpFa4_U2LUzxTah4%|{W!p*X6^(l zyIJP0b_O~0Wp#)6u2@>?xCxw>+Zn*nOhds?))3r%K;`>2;d`yY`I>wqL}YV@B~nBB zS#NV>USt)9c=zJ<%jfH3ZOQvqVst>NXx&oJAu2<%8_HJTwg_iK{%g<0*dar_QAyHgh#2dA%*_56y(up^>Jo`U3w7gX zkzQtmOaYOSHn$1_c}U{;HiS)>sMLxg&?`@R$!#R+#m- zvEPnVY0=+GVzz4>o#tEue#D)thwrYFkvnWyxHRGTdQ4i>BY+Kl^l#)!mcw=t zc;D)&^N{`E(h$+_Axa9q844oY$M_-9zjfr1L?q%Gw?n^|mK-woXG2x7vB5J3x36VI zMqAl#wb@gtA?jj28lmTJC^5J@+kS^+-TKw824aexoZK5*k4ThB+PF#6J6b`7*Dr;* ze#wxviIA?}>bP$7*Q#HEzmd{*^&^dMO5$^$R3M5!Ud}k^pt>iwk%}{g=zAmirQQ?F z;$YRA)CvnUdU2G;xeF*Jmn z241Rokqyo_`&%?Qr1C0WT+!@ng4)kEp#>^us1bX`;6>lNgc5=X&!(vaVE~WqY2y7` z7(3k2rFbi?9g^=FB7N}&st&~&z)0>pX-KU2ruIySF8{wD0O3Lbl>}H zcU|fy!;>|{Qt1+N$c&M`XES29?On0RTFG(UsfcAcJIJ1ts*PxEafN-41G;{~m1kHm z!v^r!ZlFIIma{h5sSBWE(en8PyCrjqj`YQ_)VSAADM7Q^O@vl6quw02jA^_%-{F&@eVmT1EUS>-&#>7wOYCL5G1*g6kENKDtxl$-zIbIv3@dT zb_U`Sz|G3%P%y;yAEE%eKv}#1z?HnQa%~J7i)Dd~d4OZvWZhz%z|GCvIW9^19(*{%YJvLOOjA2x4{m^1o zJm-Tsj_?2uzRz)*Qpa>{ZbmgC$u_6a;snXMu|Bqr&i6_!CJfjQdi6D4crQYPNip`d z5JlcmCx+>BA&nf3+S9Mw)J9C4wyn`4J7ag2fR8d2X?&epm_CBJYqDCDKCTY)A*V$l z7sF^EVfwyr+M}*TjE}_e+I`%KoSajyI5|_dTPs1?x(I*@%o|3ypc$Hn5-%&w^{~?B z*ms|{5f-`4mI6w$BjFt4@j%z+uipYKof_*WGm+j(t{yUOa(orbU%%%&CcQq9M0=bpp^dz zr^p(mSR=3UoxH-I?PVdsC!O&A9d}t@i)xmvJz#_syMe0KcNlkeTswwJeAzw2 z&VbfCDX{A%I~8ns9ABAM{hVFwrJFgOuu?quy2&)JMNit+ge*8p$sCX2>NbV6aWeQI za<0em>i(|H>Z0G*<}5W-T3Z zGTkDMy+YQ>=fd=K3rq|L1)06-EvtrzSR(}pfrIiz#N{XMY`Rir@}RC8PakxlcR=MJ zA-E9%Y2pH2mX(R*}Gew^G z%pP|=Ft&_8rOKNDIZ|2R?J=DlmepFIMzBZ)as6_3OHm3!+xyg1Q%g^d|(Xwu=?Izbw z(bu>LBHi1((PBnB0BdH7@e57AULpY9caA|l&}Zk0ubI}qf&zc~|x(8e#VJ;$C9R#T~5bkM7=e|_S_mM!4W%djp8KuJlqFCbhGSD?gH{w0!TEeXDmi)& z;PSE=4OcXEYc$fWhEesw#3?hm@i zp@_vPlDHrnh96{45bsiFVXpn9lyaq>4YZqM@i^o23=<_on`Qj#%#Bq^hJTEEC2JGN zn0B@k7Q>?_kS}Z<*NJe%;%H`s0g?S3^O7Sd4xpgNaI^1#nn41jV(ZDKst(p_hJn?sRw0C`b4rQu?WR$fn6E>i5=h|$ z-zc+vGL<<_kU0bGW(Qm3(cFcfqUfxZiDUod;;fN;uVdW$Dq%Xx90Mi6s(+BuMd>`icG~W&T@hO_#OFm6}h|2pZ-mb$~~n@mw|= z#BL{h5`;;p+H8Et?s>Gy@-EXZu*E$)LL^Z?!seIs21KarNY)RAjbvf2=^e>#?82Xq zVc3Hy36#XY9>Ln55o}l`M9m4-kwWO84~Y~Z-7Xzbcjc^EcBB(PS!M|-$co%I%YLR{ z+NEFE4EgMBs^h|jRPG`vq_s-I_!B$H#{E!gpGN~gEEOpFTH8}OM;LXC`TPe*y?IkJ zi?I6-dA0Z&EoX)~QUB?BR{gj@3+DO{WK%1_i%Ku-C*iu)*{}jveUC6l;97|>q=G0q z5w&=|e`zzP`qp5-om!`YtMw6dNd*r$*J|O@2ecp7e4(xSTwt*{ti1+Qb+kd!z5Pw9 z9Pqq>I^}Xr{dVve+Te+(q8wnMT zo$QdOb*|qY_i11Ci$*dQivHRCJ(hYq#sF4R%oT^U zc`J?zLzK;m$wL5YrC*#AP$@zHuXdIT%%YltJ)7wOVIsB(c(;sDpW`MSA_#l^SP}gS zWv$4VKIasA3qM2=<}H|&{6?~X+m-z))IQf6811i$s7T7BR3j?`$Q})d8S4}?S1B2S zu98$pt%}GUO21wcqFl2>$+<(?_!O28+lh;px8He7Py5l$H^nY}L^*Ee&yX+=Po33` zeO5lG15jj;SwzgFd_wr=A45Iv&ccjNnt!IFF&)lgF3Ojt#LG(7dRB7QnumL?c(;;#c>C+FTo=(a2e5Zg}whN9(oU+qH z*ga<#fmO17Y<>}DNBu&)NMnWXquz<)sE*pyFCU`#bskH&Hf>$8pnW8o^CsI3shPMTL7JDZ4mEr277({&oAGzmTH%be1P=U1;Zj zVeQBa1v*`g(vJ|_(orz)ssIR)gl}5p?x|bBs?)Mzj1j+`4WYl91r^23+eqS!F&5&z z>%kkVag%@zK%O-FEJU!p@0Bz)m1a(@w>}82ty^~Ckt~x_s?U}`Ey#-XtMZV3(?o{ zJx394U?U`N26uETkuewd>6&MD=PmjaQci8$wm$Ji#9v<_jV%+@x` zi@4#AlE$nZC*K~i(0dHLwJ}HASxChZZ6wWgS?7!=i;N1-hQ^FN_v-m4yFN+UwZ_aH z7v>B-laEnU0)~ntYEBj~oNcXp{YwC}km}~s#tZ8GU?!}_t4zBI)4ou^q+eeZj zEm@qZYq8`amljkaXGoU;Mx=$zhn!tP;E)SnzsjuEs%wgCr8;0lQ37+o?X{uLz`emI z?UP+?Ky$jltVxcxn^JaEL$i>JDXm}c*$gWQzJ3*Hg*BW%wUZ;|W1EKVXU2CZ-6W{dbZQ7Q z$eFx5(+TX_!jkC(hFvR&rnk<0`L$x%mxZoBG*+v2s zs=bf7N_PvP`0uZQZ6p8YW-tCV(b3#l_ERbCC-SO?Ab#HDQ@Ye`NSxaW_<0 z6k*%d9<9;ok3_;9wbvPrvkAW=WE|Zq`SC5$@CZU+)ncXF@q^mkJ2rMKrX}o(Hu(IE$#jEn}%|`i*{Y z1X?8>wwFEcaQ$r9oxuXAHH!3hC_Rp|M#U&QIr-)`zyu@=CQAyTY<0z8(o_hCN2F0E ztn&>>hYWGx$EIz8)@=#}9ebJX4MeM^pNDjzc2p@Gvsq>a&6-y-+lv>qVzEcN-S!}S z`<|lCkTe}>+Uoe^%Z9?#f!s8m=81(pP&MXJbg7?hO`sdf>h26kJlkR*C%x|{z2Bx7 z{d#>zfSoG|ZJ_-q!Wi79I)V&sB0B_Kw*duG>7_dYY;c(9SzpTynh{JcCr(2$>^9Oa z2V6hnb)4l7va_`MMGk8SF?Off@4XySdc1zP-IZ8l5l)f>L+JMFha>LHsg@28ZwYC= zeqy5cJsW+yVlQ(}7!m@sMsluY7y;9UPu*%Se zMvZsrZV-KAC^_s7w84uo1eBxO-(AoxUhF5#C!A{2FBUI`+#^iaYmRja)r+@poNL4E zpW58m3*iz|{FUohn5U7Z|E@{12IREAkrL3LvG&HEM+B+rWk4B}^{URzac-oMl#zPf zIHbopEtVaUw=iVhYDj6C*RQ9AYo+$&7Uz1%&B?VqLd{6-6p7wyLrH&|vez!cika33 z&qdQBAq9qqtnfOdXzYE?UAT=TD3y*zS;+6Yp`$~3A!`Gb^t*06kj}|aB?Rk-*zhLA z;%=5J=B!DD@z+gYIevi^7>?j1E8pU}Pc#xNySsr@XQeeG%TZ-Su&?Rnh3YjDNNIP6 z+)+aAz+o4&wRDmN~j1*((rc5w~(wu?p1?zbW(c z2v&vwBV#@$Nbq6;0<-VYu_X%uif=Hmp@`569f?qsJPVPBJTA1}P9+EJ^`rmqbEM&y z$L{BJHj*Gf)%u^ z)#8HmFUIV>$Zm5$PfO8J!K(;}Nx41;bIadi|p)x+sa|bE}%_ z@a7ys{w$y;w!0Tpax48}R{ahJey@hLSqhh_?qZ@hj~++s9t#h|L| z*F7RGd|qIaH+U79Aq>xCO%#hrOg^k6`mk!308&7$zlNj{L(njqs?B`8kV@uWKOW@9 zvZJrxvA|@jaWml4jMCM-?p9a* zBss_=)vQ-f9 z$SZ6=cY?tSZyoz%3={;}FHp6=cyN3SLqYFA!)oP$`sTz?DO@;YiXXCcYqQjZvz-*?2I_NldSbF41YI>T}6U)>`_Ec<3jP)d@`_F@Fy zj>|7ODaNRsJ6d5XgcQlVz3e;-^MgZ(_B%-eT4*bzBKfRZhSv3>I_gDoCtT~6+4ott==TRoxAM98 z1gECk6qoE^R`^CHS0WTbpxqwHI^jA9wg^d*o+aY4ji7v!O#X>cxKhVj zd)FGIxk%uUizsBPUMSF5`(c#Mm+4h2qo0*t5I>s+f?9H9&;ZG^O|d^kpu&VcZ=PLC z&1_eqd8^wmldehjW_xL+E*5Mk?^j2>8C=iX;cp;;+AJJi+~s13p#6|RtJ`&%8Zk@T zOpz?!g(C=gJHVJd9*0#xyH>qFTr1Y>QL3a^>xFdndSlB~M`4Y1SyU9XTAND$&k#PK1cU_2XlfBa^-9Kl`tKJA?PNK zRjQ3R%Crf`2zv}7rk3D~$!M=TJfg4rIw8c(EsxImC{ZBCS;ZSEkhNM!7SdxbHPE~Sop6NaygNAC)<6ZDDc}wl2LY1A=RJ1bJ$I2%?;+0-K#}PH@-upi zwP(Fhf>+5ptVe&Qk9x-?gc*aKXd@L#F%QDool3~kHaANnAWKFE53|K3%xAt}W?WLW@LK*I(CfBfbz&03UOz(esp^d$p5p#W}EdQgixhs)O)Wsv(0*-=CiS;c!#_r zwn+x7TMw#EOQ+h*0mes*rqrL2F+UU$w08&eD;EKh$89iLxwnId8T2q=>$Tbi?*>vR zVG|mNa>EFau7LEp80Ws`hRHQzJtrQ-UqmLNnkgVP5amu=AZeJ^W?d+%iy1p|+tjoR;^f`?~W`aRh z*7o|H48wuVrB<>nEiUqir5d}NJttF0j<4V3vsOJ^TPsA{@|aWIbRN=!A4BeC$YD-# zV^wt2@^~4YfC=2hu|%(!tXq+=+e|^98{AnOIUUtEO&7{{2vY6!OR=1P<)oyhTTB8u z$HFQ6(VH+KyuYSNP&~PgQIPW;La%w&NGaUyN-UY7WNd&p@)+6IL<((O(7SmB#p}jM zwkbWpH-naM{n{(HlmGRL)U9YI|B!zi##H$jy9> zu51fk^jb<^BLiX-#?3u193~pm3D5&Y)H;)us-zHB?XXkIrWmPKa?%mxDOJGhNK%PsjcvYlhhg5P^sQX`@$62rF#vEN%3n<+WCyB$vv4u|}WDwZqPH)uuE-doEo!o`PZL zc3s52^5=d3?E3PZk$p3&@U=En%IF8?CiIQvHA*{Et1A`OYS!t0AtTpeNg9o0de@B) zdlTUAG1fF89U`E@fuaev*kV|MM+gMO?SYK*A$!Qih1k-v*N;4}FaXh#-;sy0M3^0^ zS9RWf9VAudqiBk$Oo(XHb5!-i;8#To;{*LrWO9~yBk?5gup-=dLtglVBeQsA zz1PVF0Z7p44a%O7HBv@N#Mm*E+Ur|F_jh-II{`tKn3GUR>ibmp7_K~CO19l~i}cfEluMpq$h!wBXi(m%ekRoKGqoe# zY7(l+Z)|IAQ9q9tvcPo+qjVbyvq`saf{qS6qz9fSk5Cu_GyO}uvgA^sea=|C#!C0o#LN8d#eCyrw}lxwIur545m_D#)gr$${b zoY`eZDK?8`hV{Ni+wWC@PFtH-iQtTgy7r$q%Pj7+B|U2ub!OG0i0`tWC}>yKM@qSG zHFEJOA%>fJP_=~+JBh<|#=Pl7z5mefs<$;_-EyNywLJbJc?egw#F;>pTO1Sm&6$ss z#Vng;adJ+`sB~9J$!w9YsLj0Z9=`!zT}>3|*Mmq_{6FoE2`P6YLFDY>iXt;sFoYb~ z@&s#FAWDG>t#zvIlKp#fhK2r4e5HJrN+kd^NH(rX+a)QsmHo4)DSr%xD%Jj zlNVCzrhkp7pN_7$b-^Oj{<97_%|eM^`F!>#`b)E5b{>d%#Q<3bkiYiORER4TA^pdA zTH|hRGBS$U-dsOaZNEstxYOmc6ITHgQ*|u&D>kQP2G4dvr{)rZxxFVICe7iXN zR8(m9(_E~h$mhFO8A-#s*K42||8!f*UV1;IfvRsI9n8`avQf6fs=9szoY6(qpt!a8 zsS$s#^0!{?KtWL>`G#X?D|*mvNY6H{4WIX&ClU1e70FnuqWAS%usHjT>u3)-*@=`t``!2I^lLh^aGTZE#|A7*S{E>b5MHR?4AyKO1O~Et~RU{ljL% zW@Z&%ZKNxqEXmR802iDoRA*B*5*zqt;9g~4vrSzInD8Z>)=hfriQ@`w?+BC@wROf8 zMKTgXQ4}%6A+#wmb-{UUJOVi?hgm}3gUy?S>`G#QcSzRFkHQ=$(8pgl{16pPMc{nh z&KM2AxC0h--#|x~HTrVov*p(6EzZ|kT%Vsmf(Cmw;hp$ZFtTCi?%6p%Q*}!bCMDMr z%oiwT``#;zVcuJ-6@I92I^@+-5c^%Kjlz{_v;p+^y)+W$oZ>p{6J>|Ezt~8Edu4Ej z^u%?DFx*jQsfXuFvD!NX$ZffPiy4Jf+q{wPM;g{@mq!~b=Okn&v>7B=130sf?azP= z>+O2e`7VkkmdAR@Ufz4p2}|v&e*njN(SC0BtihQ zfXrHb$DP4drQ}GR=7qlkrR^nS}~!BqB3n)JwwcO!Oj6;j4?S1J07ogBWqyXQ-H~e z$>5Im-&mDkh^8ReSE52?!QNW z{ibTo^ZvZME_EUxZgB>Ty29*fQ&K(XBmuoHusNcxYZB*QH-%icHgU|`fqnpQt?=9R z6NgL4mX~;ID?_(_jO8qYNSADGwee|-CA7p>0847!Ed85Mu%VFtyictt+UA`uV_A#` z`n8|dc&Ruj(FYB;x9i4uB#@f+Op~mJ)G^BiJ*O@hE<2@189@CMRx^!$N=Iu zR|W8igiF+iR8ZCtT{W5SbTMS-+Kt;fm5=PG$z9&|rl*Qrsd2>z+f|#n=xtR6-xU{T z_zWQh0(U#smT{{iM|*dd+x72}!jLXkj*Q>)*OS1)Nj`^sQqdvr2^g%_rPyZ4@;r7_ zMR#mNY4gL3MQ~;2)asR}GpUxgKx}e;jm`2aiGJ+nJ@*rW3T%!`S#HHfS%WDq-QK-a zre}`FbrWK53b4e}bpJCdIO!&4BMACh2jRaV!7P}$VmzgLM`3cEU4Q~ zm?sd7mGRdh0E{$X4`mLyQbZE-B}^OqoELo7?U`E17(LP1#ikHOXq;nvUfcmDl2xlV zaeB}IQYJ&V8z){Aqc`z{!6mIbD=$RA==6+~&X_bkWDnlRe8u3WzcKhuAy2NzZ48DI zv(V)0pD!$~ZGR_4r>u*go)}87^#eL}+ZtwDUw|4C9c6a#e6xk>hh?1}OoiDA3xu0d z5lc)~qSB%Y0AjKIMab2x)s0VwCO6ayi1LBcNn{jQaezq@_gNG$leVTrG%?ty)QYvouMySREXNlxf~5y`$Wx?3SgCHRU6k5ag~nXtV-K z2+4XM_bB3-mB_NUvu~(kf?BZ-&b?#wV~l9&UiQEty_?+kPJglrz6$>5>iIbfqyzs0P|8hz|Jq zsblFEutr66jgc@*@9Y$K_;XmJV22+^W`LlF>d=&n^w2M=IAs~eQ1rXzRfLkLoPntq7z>*oQ}L;S*5vmcffQ!CU>Dc6dPZlrVw z;v6#J8gk~`^~+MMU#dTZ0JUm}dXGb-#j!PHKa%vmH?bU+BfpVW+7D5O#7<}i)mLw% ze4FbhCb6Napt?q#K#dmFTemBla$KbWzt6p)7$&zo-Z!#pqjK}=CuZ4pqIoIjuix%V zHhK~2T44jircLiz{17Ujl(*x%z*iWj=8gu5Uq40MZB+ek0(Pg>4Va15;Qnz#Rix86 ze#H8|wqGzG^0yt7uXTapR>zJ)dJR>5NF>GMJj88^fBYD-dW~k;s~^{oMb_TIqVToK zr61BogduTuP4b~`q<-OcP;z^7%5Vr_QoO|p3k?w={r1v#Z!KE?{v*W$fS!oz(wil_|8$I=7=2|btmRY*JEaE-sPF41LbglR^ zxg!LB&oYEOwUjC_QuEaO3wi$>oo9NZuh8LU{+{UMe&6?ObzIWu%m1_s;z9{7Dxxq& zJH`EKB-EQY?|USqvdyi}>~25r9!9OlcYMUvP)y?9uCTAhigt>I>#WG^xpDM@=z3qj zqGS6_W2ehDqkCamK}^?whp<-7h*YXFF2p)g-pL!$^_%0KtSMd*@$@ljyl(Lok-E=! zV{ZDS2FiU66>_KyMbDHT7*$+wGVh|T&3hw} z*6lhOvCL&i8G&f>-D|`tp1rYD>`{mzdLaF7LxkVilCUV3QBf;WzE(wRc8;5DTZ{Pw zXSV-%VBhCVov=i>id8hqpS0~G$!f$)Qg{pNh$Ok0b&6H(->)W>228^jQz{e_BCDU& zL$;;qI{@dV1`d`Q-vLz79hpq1Q?wltpRbV|(!T|YZV42$$J;a#8d_i-LJhXL2xd&d zUGaMGJW?2|ztLe`CasnAH*-AT8qg4VhvpeF!*gP8@3w~Z^EU}c8(cp#Xj=lR#R`zb z-{FPb>q?mq*6^opuKb+5{#yll_2W*C!t`4DRrwfmLS>&9&Etn7e0lqRL$-CnUt5Q>Kv4FM1nzBWb>zpoL^Hd57ij$3?QOv~vxu*jsq&Vsl> zEXA9oU5>(YT{G{Rb^KeCL_*spN3pGh$vCxfj;TjIYQ^L}#L8o_(qJVqwRz$RBw^Ps zIk&2QMJmXy5_&$T%ArYWz3b5-Jtt--<6m{%cLFhTg5awaWV*H^3k%=(bN<`^Xr{a5PpE6V-3CwJE>sYxDnT8Rejif${e3N){RU?u)JmB2cA#Gf7*PJcCW;-tNs39{Pz-LiM&0)N4{c@F zMczQVDc4}tzqQ$(x4V@v)aXi3w6Zy5U<1i|j7kXfkKyFGPE_=Q)^)SW2B%BDSx%Zo zfVAK(j^7lOz$(nC-xM-nFU@w6$>j|+xqRLqWAYR?BFa7{t&u9FnvuXTjUGqOB|}2~ z+An)V^Xd$&FDvceoMD4%#phMn_4+OGNFy>nZ|qld&viY9VyQ+ejDo_bee5JtK+*3w zMPu9xVRP>|S86+Z8dd>Ot&|WD;6ATjHTETIQiCC6$IJwnm0T;{C)*{YBv!4|#@zSJ z!kI((FSF>iqEhQ;Q_}mJRrR$Y4irnp)Z8Xrua_rc6%f*)%z(=a-Yy8C?C; z?)~He3fY}vBN^b5B95`&Hx!&jbsYiP6rOINl-dq7t!QX;023E}>=`TlO|77%C;8Cy z(lyA)u5W#C@+?EGo^&wuZx)OCpP|mo z8$$)%Z$sG0ayV;L3DnF3S66S2mkYOj<+l2CO1(+Zr&^Jxi;_JrvIB~IGpx!`t zPm0{j65Hnpi=C$*bGd$)^{aOrt+u>g@Uj>@9<6PkdIM|pR2^#5WTy&~j1N}J7e$pj zj#uSpjtg;P+*1hKKk23sL-*93%psBrA*ZfYA?zV5Y_1=3)Bjb6m3 zk?w8O*{)rB8}{$-b;PwQYG1$NECa+;4mj_-HcJt2=GV!JkLv|ckAJA9TP~Yml&Kp# z!Ok^w1>}v*dbw5@=s1z7bZ!BAX$r7bMZ@dILwWs{RDtkh-uJ3=uML0a6MR%vHlO)c z#^3j7<>;Qk5d0b9Rq@;2zm`9Ln{xInSyXL*{Zyi*H3^X(A`D>|rz0T=v+H*^G{drE z6ErW|jU0-_)X&Aocq+u$*KgMSungnm)7^m5sE2Ad5I1a}Q#Lfl+u(a_W`nmp{jT(= zX=c)eTrpJ0kywLI;Wl^{RgJ!gN3$G>ans@!ZE(t)rJTe^DXC%*JAPeWTwrH|VvB z5%;~MQzJ2H5tuYb7oNOx02LdlQi!4J?g5YB)EVWRkg5d1PS#3*&h|l^Y@@N;2!=^S z@g!dgN`A=)isUXYS-6G;yk7TG5Q-|cZOumV{81}Ji)zHM5O?*nGxuwkA+%F7lDF#` ze*I)zPK;y}j;Trq%*yEXgY=u9_$5S+U3QbCe&UFj*I2l#5TlY*hny`I%lh4nzsTQU zpwG+_KWTNa{diweGWW{g3bBlxi0mO_S7Y@ukqO(ZqO}5iMzjzZr{BR<@{P6wRtFV8178!#>xqlX z@~@1DXs=dht#Tf=BUN?|d0Ql~JtEglM*A8`3Ed?5d68lA>Mc!h4QpoD`0U$}D+Fcw z7p>e*UOB&WD`2s`W-Swu_P@tRj1|9pr*v1YP)-Te`iUo=-EdExyQ-Z@Ak!}Um*;vUiNAJ`g+lm zA(-{P_M%GFl7F5H)@mul{bl}bu%VLiYN- zg8PV2ZACjmQIG;!r7z!Iz$~Ut%>zp<-Z!qqi8#h<>sB?z&aJ@e6isC_NkXL_q;7Nr zQ4WPDK`w(dr;HJc17Mjp+c;e&U>Gp!ciJt4n_IWVd~YelJtZk6ql&IMO}{mgpa%`S zk*MwKXD|1YLPlpq*@F6YrsZ_-4i&PoZG8y3*~!87lvEhXZC0~#n*lkUR@mw;fi+RS z6pji7S*B*?!&UUzCfc;+X*7XiFRyyg$X&~fQ^|q5{sUtgA};z=E@#~qitp%DOy4X; zL+{ANc28-ihY8;ZLzU!f#WOb&8J>o3fBDn*Jv(*xN+^$BDvmIPZSJII2Lfo?gh1Py zTsIW6K0ZN(YNmAJv{j@QlB=ae$q`Pdn`|$hSQ~8D?D2_2Z3+v}10HdX`>k;WPvXih zcXi=}0@CSW`uJ4#xUZ4&OBN9eDuU{lqFvpR@2=KmtDSpI9TGhqfE|fbQlfeHF-5nf z10=RT$^3i2;k+P_FwFL!Ot7@#J7urq0p%a|vA9q!Zs*3(NGlDSr3#U=MkPiU_v<9n zcwZP**nIu=;?m7QW;?l93M7MCKkBd(v2KcIh(%2M!z6ugF)GHcmFQyUZC87=dHrnK z5Ta)4ztQiuFVCZxdaVTIJGz)Q8wKK>u8x=Ie%Cz5_xGly<{2BvQmo@7qgtxEkz2yd z6O|q)-sdKc6`B$sxTAjPtJ80AVH{h@M&!n}C4^+r zkP!Y|Jdlj%ck7oWdG{U6E}{z|otqVEDB{u3_q=2QuU#7pb8jL3qWcs0Gg0~xr%r&s zauYYk>D}GoXqxykTTUZN1)%_lqay*O1uftgw@ybVi)u3Hsi?UT10vN-#G@gs=C_$+mox8DXk zVTVvo?ipZ6dEJ!sMLe^}zO@x!f#7T$rqlaTcPE!59>NI11&}B9BKdXVig#`#`^)5W zZ|+O|xcs`P(t2O=w011mz%D}7t3cU9;+!GRBp2NIPK~a3t+G)!p}XB7N=X&oO7F%= zam%0kp#b#0M{{>Zc;{3oJvL5-IL7v@fFAygN}R;`Wn|O@ze}I{X*4Xrth8Ki*-BYs zianpG+dncswmgEL6~TEUJQVL4T=R1uaq+!Tq9Kc2un1B}n-`n1qB^sHy>e~hZSe&N zCEE6}Tt=%91GQOIIPn^;-#@Qb8kYM#OJaVtfj%>7&kNMeeUouiLoM{yP~_7lCCJsp z>z6fG8}(C%l!5Paw9|#1w8}vPEFiOPz3Lkxu~$4ji|ePIds|Q$b>D9V?p~^ zE?sw~atQ$vsKuedGZZwp<%jH1z?xURwKi8O4RI@OXOK$U=na}!!(oain!$heJ0%4v zJ%8U*@qWaw!Y0Z{b34TPiHV`bq`qAnqPYEA-`(;|tIy~}@t@Z*Urq?9xcvFLl+zij zXg*6irjaov*R;B~L~{6&J+@b2N2g+2%jPvpn85lBDp~Umf%SM-#Z#}PP9fMi0l6U1 zkxG%lnc@zw1W#+3M$kyS4_g7Gm0PYOf2s_I$eX3Z?}@%0)ujQdH5e6;mFR43I>iow ztX9C;M&aiQl9f4R3?=8(p;b_!YNUUf;W<)gn|o^Cop#Si~)px_N)yRCL65bi=)Um-*Z@M;Pd~ zNx@>O5ynapAmsx(gGYrzj$MW7?3~Majo7u?nVlvn=QMHRiUXVm>*e-|^|ICZ$GfE? zTDMGIyW`j0eILmrm1MdR=J8m+TRA?kmpw;00$cH|v3Una&l2TzW4hmO2eDKN65lK< z%SkVx>zps7bMapXy>cW}A+U9AdflO3EZ@63MwgdI3n5#OPP)8n@Y_mW!8E6c#Jn0` z`L541%A*sacj*iNLSbP8h{-1T3X-3T7*>|0&t|mN=t_U0;?zK2V-bFP!pd%zB*Ahq z*2J+q2_nmKrJCHb4&37IW?;e5i{^B4M4lr7&uUMd{(S(iv;AxiDi3SY4+#V; zre_~n1U4f?{meggvKtJ12u>+;6>>j~f>SRK(>PvrNk{pQlIJ0h=@4=6U4{_q?US8n zaaeDd^4JEiUQxtyh;*=#$ih6UA(AHA6g!@|Hf+UYVf6KDHEBVZmRP=i73FCouojIU zHr9X!vLRo=h}dyN7iOiAJ)%n?g_v&?O|VxyxPEs7JgMw}>*r9avx$LQ zdH}J0Dno7MA5OqBtDk8g)phA3*;>BcOb&cox@pMWwxDwg+6-BBk$vh8%fAfOUM$Cv zJ5LV|p{EUw5vr8$bAp=9dm19EAk6P!oWOEj>-SB{(S5yvgHS(4-JVb#^t3vX+p2brU0pv#3paVrb~|GvA?GbnjH8JX zY~L0aizyZW6PxWw6L#%!5+<7_gdo-r;x1{`t-~4$M4xwlsa#(xUeFDw04kz!m}FLY zot%r01!bJoi2BHz!{4RphwRsGAiFhp{X|Ti1I*=|cu2nwD7HMnG1kH`37;G3zOTu( zd7r2Basg{HeNPJtqkMB@!1b*OnmYh~R7(pP2QRSf;2?BWB5Q}TNM9I&8R9Z=b27R+ z$U92f!y!QgA&*!KP0T4Ysb0vB1i1Z<*IFLy7ktdWf*_?^T{dC99E>&7F=aVMznw|W z@8*;pwKm1~Z=USjI|F&;gjhlNNX|&|=Qk3ad^4c%zx8z`eT~rc2G{xqC%igw1MP;2 zaqd-=K}qWyJ5EHqU+jtcIYj38KBm;<`xu+FoDxDwz1NSHyRYrVH}%=YU&!-yp8O#7%)yrVHcbeV({i=R;=5_~;=}bTByg?9wAL95 zypgVr;Mg={W2rRXSR$I(7;-j@(edm7(+U99|2t5PNb3$X>%e!f+vI_6;)z?YZ0_v} zXLVfM=enY?em&w+zZt?qDo*YccI~L|b52un649v_obo zF^p1Ra~?s2{dHraca|*U*+QBy3w29t-IJy3))P@--fJRmO@P~NDa?o7Pj1>mmX@E@ zaVeA5D}7{en2X!D10)pc&4d~YSEy5TJ4C2=B4dRzv+LLf1w`A*D;(uybiXpd88uL5 z+L<(AtV%;U`5us2t9#~){aoN@16_*Fnf4N9beU|PJITVFv~5y?=thc-Me|yURkdF9 z+%dPAZP1pCdM6(sv;^waN(`d?B}3$RHYb$2@7dvdnggNrpdR8*K{q(dr#zjFEO^y! z+7+sPpJV6T8*TQk_jvf5eB+tvtg;GYL&)^+6#P@u+)9y{qmnLabOK8n*rYmZlL}Er z-ga`ydmH2WQ40|QViR&+E6!#kF@*AHo2S>+8YzFw*!5#bp4}=|QnEP2i&i(%-hOJu z`vHZGRMe$@c45U1eQ(qfa>f|-TP$`X<=Zt+ZF~EkqGrO`pX-I_*GDiI&B8txT>EvJ!UwmiKdiUL{r(hlPejI$ot3zV@I9L$v%gG zN~YM(uycOHa7YNr5OI`bbI3zPG_IdwqA3&ouE0aT>!q5u#SywyG1u$#9YoY;hY)7B zZtTQYt=x7wWP5+e;s{A*^nSA}6n~@l3k7R6(>j-TtZpE5=nU{nj@avVSs&OZS?Iv~ zoTO09Uq6Om{rLQ+6Vl{2Qr9NN!gq4B zpFF&$C}YkuTOIF8bVe2hkVY1jIEt8z?%hU&OzO!^)b45L8(OjyESfq-#Fwr~lWFRztm7aR{4cIk_m+;uc9A zBJ4T)f)94wGyPP*?6#3%Ifu&H()rRG8%dpSZQ9Jo2ZZ0%Bh&fG^hUpzEjt8%4Uv#& z!#O=&V{CoaT;L&0+Uxd(`O;3wKUF(Xn?Ku`vp(fEza+FAZI@3}3lO{oQ_}pUS3~5*9l1hzkdHQIyKa+&K}Fr%dl%s`)$qo z^?p(G_(@X#mFIdBQ@mQRv0_Ec|Px?R=kmD7E-)9-3;6{gHqT>k8Id-E}lb*OiCtA;pcv`?!9#<+{;cYgCRB zg3PRWG}3Gqi!TYHe{G>Cto3?2vL$%p;XR#A^8j;yGwTccr7;;|2Jkpw%rKWhoG_C`Mmrjd<(iX|c4N{& zRSfib>Zr|WlJw73l0la(3s44>LUYgsq=xtM#&@B8R50?x|HC5BkWF{2p7bt@6O=dU=>CxRKu_t*?$ zrI+z>kAIq~XGk3(C>Pp8ug;h;>uYMk2#O~}DBK@{mR!q>VkgX>>{wKOiT58F7}3yb zzc5K6%i+!GP`-pW)2L{z6c1jkNV33M?E$d!WBEZa5Z&Q0F#0_MYR`d zYQ=PL1O{5>F@#BX%9A`Em4_u3)~W<@t$x2iUL^_{xDZx#L9LK8K456+V7sEYTLOpFm+X@686KaJCr?4hXz=%tqli% zrRbJF&Ue5v%gHhEm;!e@@+-G2=pQ+2sBOm#RNCTkP59ADb?*N?!tnfI#1_1n)%#Jv&5Mk0~Njr177ntOz@R!-wazt;^y`h~R)@8>o5ND{Y9VTedarf>-FeT*l6NeD({#KQsy0y(k?N32fK%(;9L&PS{(|MWfB(!wL) zNOIFWpUWl(w0${68Z#pN4IbymcK$BPR4;~YYqNQ)xBs%WfwFW zk_c*O!Pk*WgY&asg&KvCYBd{A5R{DF6g};6Evj+pW37yWsndS*HDr;}PKk3!@Wr+AkMHGdkD85sS5U0D>y7Kj3>rU8h76fm;(L(EqQ+WT z<}ebYdAe88p5x8s`|P;PT85Y%ucG3e-uklsnb48NpzV%FM~5gb{7*AKe#vCsO0<6T2@Om zekvIk*-XeDfovp)fyBHHbYu~dBr+5}eECM~gjWEx!W*aC*C7Rs_kHqa1m?X_?#Ip2 zy9zA@Lhnv%x}Sqo*XAYr_EuGk)2cUDTCh0heUE2+f&lZk-c^F-+6az!OR#=1P^LZx z5)nOlJpUsW1<=BW(z3HohIg_v><{$(LE!~TUJAS#L$k=%I|ZOsMVnRyZ7!dVl5ln}p75ko#q1fofaYn`Eh)-!8jF)^&0 z6MODsJ3;e1Dyp@^W83x=eKQv_ZJQu}#0jnCUXlw#bUDxI-Sk1o{k{##sP-qsd#-Iu z!jB7g^F)3pG#6|)O#-sdu>eG>cLuv}AE_pMua|vo2E^ZVDiDOJy>Q#4{2Gy5~3uv3VL0%I$a> zWloih@g7&x_nkUctY);4L}+g$eAoB#FX^JzSF7huI+;!ZauHgFLM3uT6hz%fwA)yy zey_O0=&i5dUDP^BQwS`?z40M?Nc4SA$HRn+tgnimCz5w5eaQJX#RSfuHCAN@4UQ%w zMefc;>TFA|Xb$0jPmFP(?)d2V?}yNqYHm^_d4iO&{~ZiTd=uZ3UXP z5Fwg9gAI|8KcYsYEv0PiX;_2Ogm(;K+OBwBw`d2z+3RaLYscpm%gvXBF%X(0WWhaivVo2O!UaCFV2*mT6d(Bto%yBB za-TcyRDpm}AcS?SXm^UK*Dpt6k9*j-F5iR*0Y^`H;rkvPe7a10Iw$sag_*cUdlI2- z@^5$I-7T1vhewVGB_z+rL53@hjV^lkuPv9VILo&iN{6H_Mmzl59fDTN1J|#bjq8`i z7*e&{kk6`isp+#&|D#_?mcBPTfEHe5TfjZ?2YIR_?A~`Xc$aS0&9$L@PJsI%JrUjn zE{e3FGX_H{XRH@J4X|;FaNZmfbP&q%v%}oJybWi^i974YB64(EsSoKeA>HE)al`go z+v7S|YQ0wb)rVRUbq93sxN+_kkBxK@bJ(bm`Y2tzP8_}UdO_~4q@BJqH2b3HL0I)L zA!n^YdV=nd(xJ5}Jr|v5wRa{CdvkI+H`4N|+N_vk{q8DRRas|xeMl2zwA`H@ z2urtJgr)tbja~M(*O2cLy^2dK148j5ch1yrCM3E{fDVp#*+}1#SxcFhPO)$w>u-L zzHxwUA)q>JjKlOYtL)k3J*rIGxuxcYP^-M%%`-L~QwnKCsGXd|OZ=4!!9ELFP0El< zC=42VX++Yk*GZ0It+@*uXQZsjDzP_`($shmM*d!_>KsB8D7}$L&>^qcb zmDc;-axrs;-uKQWhh%Pb3i@5#!02&m^S&BQHbZ1IL=Jf}=nFS&>L$P*Dd=AtqUW<1 za<(C~+{vj@@Aoa9@q--2<|tl!XM%&T8}*UaWgS%ac>VTcn#11M;^x=pn2%^ zl_@s6DUov#J!h;a`^K4@7qVO4eeE8(s+BC)IlaV0!0X=}vr-Kt zQupoS3l9@O){3@Xs6|ZcItf#Kj;|{W$IaaHlWr1eZ3xYrm`ef)abg`qIX~Hxu>d{Z z(xT~XMob}}9zuXEOA+f-`rSr~prlW6oGb!$4kBNe z?Z-4Izx=OZGGJ$m(a@ULstA7@zF;mbx}ZHhw7>d9>h-B;ar>rh;BSbt2JtyFfBDgR8RF?|unzBRv+ETgbmytDoLW$&(@b^$q>} z(Qz7Sb!8A$r{6qRhudK(UBKO1J(Hz$Ob!ubuN*WdW?%w44FAUXpA-5EO8P{oKstJd zSb1kWRVRw@~>pz)6rEY7`)Vbs!Xoyfwo|27dD;Qj$##6dRV zh}s6Hq_b=01fz1Xg&3%>WEn#K#I0{D|52&iwim|A1}_2-#Lv~MfO&6*I~|gX}!F(cbLqYTW?o(cD%wI5258p7J^7`p9)^z z%+$`o? z4cE}6&igTG>pS}fA|abd-lq5S?+NZ|XCU;?3b4u6++riKQz|#AvTQ&1QorK3 z5H?$eUB9b!RiD)V0(pK{ODF&2-qtQy)G5N6Pv=+`{OQ-XuDB3E@0kI=BPK_Hd-Q8! zb#s~*^U5Xed?9(R*J!qsU+r=#_PfvBk5jT~(cuE;iK7fkh|+{wE%Gyfma&x<;?WJC z6Gf=ov>QvW+MEzTb7JXLEf7M3rAW#KE!5nkuAr1HGGp_vj9hP@O}mLl-`+CR{YOM! zZ2e9^`Q7oMsC=!=vIte@OUNHb_oEXpd+Z`e!Q!=`qRtGdF1etaUMSl?YQyI}M1@TAhDZTu zO>Wg%;GzP zpZ6q76V#~dDO;_`)e)E|WXGf%`|o=FyewRN_sT%C#s_{k_VLw8#DG`NJ>UM_jInBN1*7^1mtS1cP zY-Ax35RyFKPf8=S?k3eusG{H3OZwg=n67E=i3yUH#6vL<1^+&m*twkL1f($DtPq}< z0VXnQu9Zg&H6QW}Rw0KIwFGNHleOAQthJ&^Zlqlv36cJ|@8#Sz&jd0@fBmw%LcAJr zt*F8S&P`=wDteg2jJp?LfH~{65~;X>R`=0Bl(FM5@fGsj=k7N#!{)BkYAL0VqB`q$ zZ{vqhh1X9N;v0R{`1;-B0{S_1lG2tl3rrZ&!?Sgxi*6-*;*}o5g&hjTy|*U_URB4= z5JGcIG&pf$%Dxrjiyb28U3DbXagiyKM7wJWpaoC0QqCj31kp0s><#%wt#RQVNysKq zb7#bK`_qwW@)^)D4J;9IzrsdkEyoeiTYbCWOQMWdVTrP^dlW>g>7v5hlYe#VPWGA< zOtB#wYH3B?mhXe0{dhIox8Th!7q!UTy5G$YJf9 zp-W#6I14vJW(uSp6L z+V4|xYrww_<=%O-7T9XgE2n`K^CL#1u>1h*6PBnp$SyPZK z5JM4gm*z{4TpOyfjVW6ZJ+8^Pz8KJ%5{)#YUaOTH0i;HXqn8uR+J#UsF*u~JHc8kO z?^#N+4M6`G4JZIS9}NsFv2?W9qtP<(QId1+h6gldc%DVtoK7^mfEXB(BN~l+w3D`#HCD zTA6Ps26wSInZh7lXaWt&S5 zK@?FyPI@MDKS*{zN|Vp1K&*a+?&q{NK#Lplv<%H`fJ08FNQ`e&uHOcC9gBhmnD;fJ zXzfYJ9>7ap2wiNNKDR9lTRFOEUPV7WH{Jp8)+3Xeysx2{qj@v$K?a$m&i59#I0xV! zH`erpKu|n$E8%3rJ{G{bdfB);Z&bCPI)RwukqJiq`DWY#2nNCv9aPrR?_@CqGuv*6 zQ~LUGAMQAP;TVkav?mVO&s9Opl3(joGnA!Vb_5i}>Vshzt;IRRdw+=4zpG+4g$-Fh zqQ2zc9UWGU3enN3dHWH*E4xqZWJdT!qk934%(((B)*cmGD0FslYOo(yy9;TxN^JFm zWXwAH5b^?1Fh+a*7{=YM=1yaSX{2Oh6b2D`xi-R(+m?Qd={=n+33A=c?bafMhf@0C z7`FC?7J?q7z+O1p6c#55>6y1CB{lExAtE)6#JI?SvnxJ#AqWC#Aq4ZDPEBu8#BX(e z=1MmRYjlS|%-)Y}P)GC2?2|*dMm_Jpy}Ub^X{-wY_j8GN!Z0q__`qvwCRd=M@O`K0 z;w!2%OMbva*vNO53-gyS#rU*jH}Y%c3~>}hQO9j2W}13WvAM&b6+^r?pHgB{1BZw~ z_%IP7fzS*RhI=e4jFsL_IqO9>LUI!j{;Hl6JSDpV6tTLyS51 zjFwrF_qGS((SRL!yx8-H3pmUgwFk_&KF7dwePu%ITulhW^2sozCTpW?tsNH+N;+$z z3cy$W_!iP@k`k2_X2%9O8C}SM+4$(04cw5M(ww4@&zzs}d;Kc0t`Q@suhs2mRI@-$ zL-%-H0z@F=)>dkDStfMV|0d=x5tj(*c3THNL&;|IOl+m0CY~Y!hY};($$wX!E-3kH zTr}pvwEZZjNm3eeiDsEW-S5Qs648}-Oj^wTrj0lQ*G47DOx$!=Q)zh97VouEZ1v0fxfhN; zwYmEzbz_5DVo)ygx=lHU^!UXPd;DW5Hm#r1*Qs#>LJHg6n_M=h6u9gS#Wj?o?ch1WXv-T=;f zmfp$u)5`HMC@r_DhE==T3I4x+KSaPtiO$nkL})FprD>M!?ZtcD#PZ3AK8FXoIS^7YL%^P93&=11 z5u%E8dszx#4>7@%eW5T2-yW}*fiAN-WPzKIOu+k`hqHdvh`DiJlcx6lAr8E8X4VGu zNcZd2rH?gApWfJ=ukVYsJA(QN=?qa_5f2YrsH++DqF)GEbN$@ZbC@BOC2V!{Vtmk8 zl`Re{>?cOT`nyJ?THOE>N86@3ZecPm*R6^hlfq;Pm>T8M4dB~91ZVcOI5DDID|>O> zzBc!`>LA5=VtS;jQlNp*^_5tL>DJ3m&==aus+wugKl5+NfBf$QgSn9^pwTTZ=qk#FD$)~O&Zk(n zvaq~OwqUcQIi>&^^Jdan3I-9Ecz`aZCWlaQktO*lBz4HudxxQ>8%c!hT6HIOt@;Mz zx81tMvd6NH!&Ye3=PFwbxL;#zWu>l%q|*S@{|UXkrY;`ZNKbsUeBD--nQSge6v8rj z2M{-XUz?0Ar|P_#wjeAIy@N}2hOo7owl*SR>&L2WonfmVsg?JEI`B-n*N^Gn>Ifu8 z%wG7i6iCOM*8`4p|hBoM#65+OEFG11{g)_gO)A;!GQ+`sjkw)11;Xxu7V;{e>pr zKN{KplqhVDxeWPnVZDMD>t0ankUvPF?Dc62ZE}9}i|Hq;v|1%u2swBHg&~zdVIOcm zHui30)Q|Y6zPRt%XGacEdz$>DRSN2csP5M2eX+;pC0+8f=lVVlw7s6OlE1*me z?iUpFVd{AkUp9P+atI?Y`5C7amWLF2Xp+^eHY0*G-A83)Tbeb5h;MCl zOIzB6u<@i9OgNvlJ$1oJs}=1MtK=9>Hg`%bq_aE^xX;a|$2(^a0cJy|)dW~irKt93 zEAe_s?qJ;$^N2?Z^{9?zu`(xI6wC8lJECMt@~^>P`+ zh@XYxnCufw(xlOO0XBA}2PA`qb%1d%#zToKa!H;r4Dn8lTltnb#=3tCX{) zla`}h=YOZ!ydzzy;dsY^Pc~;m>?IgP!LPalrzjTtLru0sKXVi0%D*seANNhu9GUV= zC%iJ1q|1(&Q`7kp7o9=y0uLB2<7uUZ5VSFa6lUr5gH;w$E8bM2TUiOH5LFd10mN^t z!V2wWDXc|n!g}9r7{f0jD9$z;fk{VI29U&QQS9GkX;W_kd+;(Q8y3tuFcjLD^rwDT9Q>R<|h><VebtgfR#aBMBi0&q&3S_(hIMn-KQ^pU zazGo(?1sjewAd!a4TyhgrTGSzVmxGaqki7*IzCi!H=za-EVBNW8Le}ZAxd{X@Fz?xGg@T@fQfB}ps$oVRe>qb2H;8xmTWkG~x=iKL< zsgRX6c(Oa0A$-~sy%ZDKGQCnMXpO{Z;=4?5#@Qj+WDwERpWRlN4Ws2Edi_l3TH#6D z1R3|#?>|1bY{&XB%-3qZLan?*G=vRl2Zo5rz2)uk{`yt*+&-NQg{X4LBuOgIcEm^L zVifkB5V2F9`KH>7#Qs)#*=~x(MFpsD@6_3F?!W|%*w!AG>0l_mNUYFPnFWYNaRda? z{=N&1=t3}LrvURFi$;-3V>2!0y`a?6H38W2h$7~-v>@SxvA9FOUQ3=BMX0S_JhT-r zhS1*Y2HPWCFwx96_7Np+YJvs7rwMTGRYZqT4oBd7#VEwvqDS7o7W0-j&*?OB1)l9c zjBGzj74e8w^kYA4LwJHWOBQhbP;-}5>$hA@i~(clZdO7(ho~^QkvK#*Hram%V4ka| z>Hw&)jikcyxF>OYBkk^bZL03O?=8-~gDXwY4EDQTYcz2QSkZHcg5vRbpDT$0Gxh7X ze+*d!vw;v@97fESBf7J@f)=#n_j9Qbr+GiU36aoA^r5A*u&J4dM&n%{s7A{EIP6W;lIFrEK_n<1BZ1ZBD!j_Fx(61EK7%F`^L|AR?Lw9%WIIJHd z&K>j~NP{Dz+`2i4^Ti;lw9gkp#(T&E#>UJ0MG|a>^^;I^>O*o6jOE%ylDP+Jbz6F%0p&YL6i!a$;(Ac_GZ7^(&X!?~=oIQVF#^ zw*io^jq_N`i!(z+rN3?$z)WUz&9qjW=BC-P=I21()}3j>lFg>X02sY~>=`NgG!f7PwCWUBoUTY3jre zTXX|;jFVAI*qSAsHh0rVBHJgCm~Ut-WIqX_mE_EmS|<}BT}A0&&_*}sq89eZ$(p^R z2Ux9lO?*W{ttQzO*Uj9T6C&$QRINm+TM8v}pR*~e!hy`3(1`LT6AYD=$!1DG*w*%h z4CuwL5SiarB4$;@wa*oK9Qjc2UQCBHyMFC4F6%~pNY6BnJ1P331JY`~1|H^EG&()E z2nWRLcx^9aIn9t~Ylki44`T{lKUUU_{sGb|cAzGu8JlL^dTb%ASj9B%e&!A$1JHtt zr%oFA+*8!LE%m4ot=b6}ic74RHvQr-0dAQd(l3GC*BDDT14Oo7daR9GS4m&)_JXm- z5gM~48)*-$HuNk9jl>`lq8eqh)lH$z$+^`p-^WxM+ytt6sS$etm)FgqUAHrDAZhH^ zZK2OvRUB2nRgMCB$FO6&8f^zj8C0yl!|lS`4!0i?ivTW9-f^ERK+KN3>zCVGzi~_x z$1*}6Rtt&0`aHe9CN$cu&Fd&f%!RbHL9dmqjgq>l8ls>gYO^CtAche9w=y!hGYZNw z)yT#FHj;6aHJDzbgW9y^(r%9P$zSHGUl^*@E(_OcH*1IN=iW>kbKN9!r1!mOD^E*5 zCdZwCEX#clxx7Ql$!(r}FO$Qb2s1WMvsyd}!bXa9a3gPI%#{Cm%iA3x8hH<7w<%)Z z#>SRNQYSoV&~Yvg?nsiTJGU+az^%ZzSuDF&5qaI%;d5G(Ce?QKF=C;M|49=OqiBg{ z_d_obUzskV;R_Z7_;s=4ZrF@4P}hg+g-IP;jjALKN#zf?i`|1fJ+P7Z-<`K^yJ)JL zfcqPWrFZ@Moy(gfOYe;}54nE4l#R4d!bbYK#qF7+dEkKm z`HL(}u1r0nc=Y+d!BW^Hh_5z`hA$EM5WK9k#9$jDhQ=x(Mtk%<=0seUSmZE-+&c&QjdAN&w74rL=0M~eFsmu{5qPK~tC5om}y3M#!DG z`&I}HCTV9S-4#G`)9mWCtQKsJWk=@p@Di>oj_ORQ7zFW3&!j~LmvvN`X2 z459X|@U>`WZBT!EltJM?n&tkfy`_~ViD0O)k;u`ih*}*Ujp*C><{b^nGD1?@)6!uq z)@TRK-4S5T9y183aBSS$tCw-TYt<+CQdUlNvcV+-t*ZWOnmsmKmaTJIohe|2Sa)=) zt_%gEP>)VApjV9W_k|bLEb6SI9#AmYRuA^2q2X)ofzUPW_mbjTHGlF(YVtZT1Xh z8@w=PjIW<0kmY6K?t3`0{8#4!?Z`>r^8;GW_%;mn94DT`mO1ivF1Hz7ywIV~T^*j0 zW}ld)Vm(p8RtJeC-S@KtPxj-Had5Tsh|W-z@3ftY*+|@0r(X%2kbAtx=X!#=uN7=r z9M!}n9{W^PjhuLeV#poZ!i)j{5n!H2B}{3?_{u3&b8vd1a^NLJGI{xq=wY zoRTGL0MrOsHXxaX0%T`x+K6j5kospajf>n+%>PH$y=3in6I&Xt?^a|J4%o)HJ&cj1 zr2o}?-WggO>{9{n`Ab^5#63d#{)ps$$tHQ2{m>C|_bx~<3}v|x{&AT{l-@;1-w)$l zk#odU{2sF3y9ptE8VQ*!9~<(F5||fGiV^3pr6H6Sn`m-XtIF719}y%-i$GM$?N}k@p^?3jLU zR2pfOTb)zEkZck^?V)@*grF^d#@0l;lXLtOfg5|`*C_VHF40@`0g$Tg>YhX3h}sg` zgrOIeIF{<$>Smw6M8Rqd+2aY-lLMvQwV^~V4bygv?^a?tP0 z^Id*a3hU(Ga|9$wR!!-g~v@za(1xM6*S$fl*-)VJWPWEniE}n>(61kd8+F> zxkt653az|nd#f2;hd8~HdY=d1uG@xmF58q72d^%O#N#|MsISmw{Nk=_4=~G5cC(k~kjY zfgwNZHFcjI99{0Mf0QZ`d9#dp8k_pgZ-|_qNTc@m^$~y0FSB+VSvk&vy6tj8Pah)E z)<$;)VM11=9C2RpV~}!~V_m*5X=Xl1(Ee-X*p73A&Fn1XUO8?VDQXZ2Q#Ln7+0~93 z?a7X@0C#*-RNS$JWg6{{Sf^EJ-W3@RSYpASgfVYhpfEUk#~`9z#Lz|Kd-DXOm@^HVKZC-q}WGs#85{nzqA&%f7A>^ zI^>{UN+#O?2e|uKC{DPsbF;Lua!9vVnk3$fa|gwh00vzPDP!j=ha`m{E(G4^67E@F ziFn8-YE8AgR&~7p8geGnz^$JF!=etbQ_f#<+vley8 zYHC(9`t7rOepnvTE&CH^2?{%al?c5FG#|OGW3il&C5W0ht{<y&Is((yJOGN_yqn`)A&15TuWxi#{p)a23A^R1e(IxlCNH|oe_>nUs zAp(Q-%6R0wha>>|y}AH~NfOQ>($0O&I@wiYOqIKRjR4v&(U=o^>LJ_9xFB2a`thoh z)=_wZ&*0qhR>xcw;)3Ab0xH{qo^7rlJ9&5N9Z*@V7N_#3gUSgQ^Dtxu$%nAHrs(>L zTdJ@kx|yj_c$Nl0B+>WvS2J)FCZc?rfbzu0Bf6Z+Y!5dNJ1BptNIk*pS2Js4w%ODs zNj&#p-MaPEYyfNQD5nC&zx!D;bY`&#XNtF8*m%!V#XZ$V%s`qS*sQyP6>?7zn5~rG zCJ8H3V&e)*ZBD718C#Y;>1+ZnEOc`G{Nk{EkF?o!tQ~l6kk#$hZ33xZcuhOHW)S5d zp?-I|ZVVBxA;SDePDF z`8e#+Wuc&iBhAf>9BUFd5o%%@*Vc{K)&!ivxNaCCYViD$Nge|&N)!!|DjR7}aMb30 zfT~$~BId1_W4>9kyPCkN4mwRMSwfT5yE^~zI9+heqcX5Y7^7N@c!d>{Y#>R>vF{A3 zkh{%%ZeN;40a9l$9WchIDlDz7hUM5m4rc7rdG48Z%(6F#qaFv`3HuKwJM)@2-(9}e zRIRY@`C&e>x`^BfMF-e9F?@_5fD>ZEyHIHf(pTdjMn8W%0qLwwRI36Axkib;SuS^3 z^B72sV)Jy((*qFJ+~SiHc`NQBonRF*Lv{blUz!(HW$3i4nNHF0qF}-(CrK4xAW(>v zHG8cVc2Wo`XM2d$;LOg-MHd*+YF9KEnjQ1)Rxj%{P`Upx5g}r$R7Rp7AG4t*Y-6gG z+;3$;$SzY4xk8_^z_(=Buej&Qv5lS8WSk_0k!V-yc3v6+F>-;NcgEDMo5v|b4I zyKX%mF~gI6a=W5cQNbOrirwpXmq->=5wSY_L3=)CgQ2XW55CMigwbqf1>wqDFeF_NaIsjrzX#%c4aA&C<@(!BD&)#lA&U}(L<9K= zNbvPS6Ni=E*f3M(Iyt8whqR0acBAy`);15zDA>qCPXTV>-xOu$l53D|wV|&KK9e@* zCC5?$t&O*DT1iUSBW+O74NY9`1j5c#SoO$nMw))Td3(hXp+JUt{c`GV$GK*SG|5hbEi;L{93EO?ez^?5ek@k1mUwlfcJ2H#DpSTq*oH&4Ch^rUbb*T~29@|Nlms<}Z zHJ=XXjoG6{(j&r-2op9++L2|{Hut{o%_FU!kKEI}|OmGT5%MoML>ZU96WHThfxQ&z`++09E3FCu#r;BLkm(eVxsA|Ktn6Z0ou z!}fq+9A1#VR+NG{*%an&BgJ6ZFOEev<_LPK@ec3l92B_{{dDsjDC^~FCxa?^c&m#L zIu}8UB^2ODG`l}`+SFxmonkRlaXPau;3+ib_Q4q4oCYb_Ym6e-d;&I zc$6c$<3N;Pj5pk>yYH<|bR0B;vuS2kMJsU-GkP>#wSNdNie>HP=5r~3hn zj+DxbV8axzL><0ef-B^%ub8Pf1R4lZez|$lJ72%$y29Li`sG@EW!zZ&pBrhcGx>AR z$u<_>@{vcsH0ZHOlshk(YOQK2gwC5f!ZO|~w#SOtm_*5q8EUmc&KxjgEw?d zxEIs4t7$n&!f~em0kVB(Hi(DgkE&(v3Ix4eAhoY?50>do0(E>Uh+NaYuNOLYrc8W6 z$-eF{*UMI%XNS6Tu-LXvc)1mOS%zKNr=#o4?RQEl^05$}9R)-wRyfHO%yN$#arJWF z+U!<*2sSy^8@n)-+@4A1H!!cTtElZ`S2!}uVY`*mAtmT$Z0_0R&XJs` zjm>%qHxyuH9VK$HxlugTet;Lce}ypp_c)jXQ2ms`RU%hD;s^(S{08B^inSEhZfR2`vRlPc4VG7)bFja3(qMbKV5wZ=G?znD(6d65* z_{r7=qDCSoNENt4x*710?{j{|HlbH56m$K)ZUp#%MC)I=G4J0L(pt5m>~0St{s1wH z15ho|JUZF4U@5z$3P#QoIuNuQ_u%k7CxZg zMqn9T)9&%u&pZkKwmQgN%EZ#$>oAh=>aqrjy?)5XZjM_gR2Uy51cWaB3WdE%dC2{& zK(diFJ}xi3=d33$t0$-*ahGBvOGcVQUfvgF?i7Yy8-tru@#H0WSwY}ImD?O>t^@)f+A&?szkQU$OX zVA>kp(_>Ak!k`dYJ_HtWDebn>&EOPlnKDN+*BE%&VsHH{7JO1{AjbP`+y zscA=DGl0qOegddHF@w8PPRO=}A>tiRI0`xsVOQNqOwHTNEQ1}elg@#ypVGtn?M5Vk zQmeE*K>g26Qf#CU^c;ws;ttapcI3WWlzGzfuJ;(g<&YhD`fdBmKg!&R<=)FbMOSFp z2ve4-39v&NGEzyg#?M@XNG3~~S8-xcE+|VDLwo^jT4F)%jN(Nqu@qsK<;HyIrf*y~ z$Ci;M-0zs!e+AaE+d56#6XbZgb?m>+tDp#KJku7ZGz=4q)T>*TJy+PS3X zK9bk$t7Y>;#3EW7N+{Zw_(JqOFcNYJm~7G_KmavdZ<3W>T{o_M1wh5aNtRl9Kov)m z4HqM{{2~x`ZJOmx^1LqodsXVKjmD1Tu?PKVwbB3LSEX3g z>`&DDTnP(2psOSq&N&=Y><+aQM~L5$jN~B&0yB!Qa;kx`VpfX+LEa@z z6UgVyQRDD5tN8oiW+i}Ox;+B zy;4$Z$d3+LXeUInu73VwJ6xix9mbvQ0=})0u`?8T&E0F-q@)>%BD>iG9U-5tt;}vl zFK7-kV6|ekiF)cqcXkFL%!#Zkv{rTMukZ#<{{BZF**W2m^ITuxBRT*U}Zu3Dv%Sf_D%n)>~lf zcR9Xd6X^K*@l($|CJhm=$yD@PenVm`k%e~2~iYy`y_hNdP%ygPH(5Aw+ESS2aI8tZfc-1sG=MAU>DYX zuEMCMNy%N2r2kOD3NdDdR9kNjE;Up1qbZS#g(2$4K*(eZ6K`u$>^p@LS~>mO7X9|V zCU8^6d%O5ln7qJvMjsPxoKu1w*ziU zHh~(mo|`6YiNRqz^SEs8zSFBJv^GD34GG=rwjVOy-~ukk2>TVQj+0}$Zau}e&*^{D zbO@K$Wd{{qX>eY8dzY3{4L9Tqi6Gp!wDoUh8)V?2iQom@tu zVeGSFH*L^tiwqGsIq8V@Zf$+ziN56=Yvr^^ zBpR_A3#Nx)ZYQ2n%(cF?ePwKt#f{yp5n7G>xO9RR|CbM%O6nfzoj7;@)FQF?$l@-D zF*G8>w$clO*H5lK+a=~?QYNx!u6*(714Y!3tfBbl>7OCfKhsKjisZE%D#fN3AoT^& z-4Dyxf#4;_mq;wPdC2nExwkgHn=I=N)JRt}R6t^UonTqIE@Z~gG~9(FVOGIG z%O&$Q|6l2|pchfGn{#$y8?4a$)vQzcRe-S=y6e*EWh^is$YOh*5QC_j+j+vIX;T4Q zny%e&OtKL=z8uJ$>z-(xq=D>Jerxkcs{napiF{Qs7h;!+4M9YPA>|LI&5N*~WP|Z? zZdR-7t(5~w<(fecs}0!;<`5ao`I}m;LT=PCXA08&P5tajH-PHLI(bM$a`WUQRJnl8 zZZlC{#kCTZ^g^!K@&y-NWKhczL;kyo2GNT%LKG;Iq4Zb_Z$U6?Ah#y`cI_kd(0?u=N_xY?nJ{c z5p1$(zf_UQ&$fn`>S;Oq7*B`z$&)sV$&@*67Sl;1Vli7B|09HRccf1gnMGsYBc(_` z_q2Yt<^pxF0t9Py2}G6^acU%Ot~{fD$m8|9tatqqUX5Oiv{_XjG@w}XfLtSnRE_p4 z5piGor)mCC469bmt)^LMX+A6yrT2I5b9)uAR>DRCIW6ys)h)OX$B?VMgY-_=ZA&zC zqc7Ic=y$o*<}pGylCW!Z&Ahx;29rERD_PD`2gnle${TQ0B zRi^U#Wwo^9`^kjH?ghNJE5)VX_n1;9E}wDzWbvCpGAL=PpEstipGcy?HY??DjUJmv zWVI?_ioHmx*y#G*>7j^adzwQGS!Lf6!T@aOI3cw84aCK4mdd;c=$n(7ps0`pWMiw2 z!jMDWAvm5H>tV|T)@q^lkdnUjGhMSBGLtCeG?pox(^f0Wf0I(Jj56{p3&A!`Uh^UD z#2yRfoji=NZ8!6CUPw{>2WzJ)_Pc&U{p7uM3WT5k+356f9K*+3;=uQ0)f!2-uu#iZ z%mql`I2p~4TErg!V=IUIkw7HfGB^5mF<;OaQ@Gv@9h z`xn52DF-_C5TuAf3*9bI;Lz=hksx~p%hvsatl08kNnw!qM5{AUm7Uwo-dNq|-UirI zv)r5r*vQA0r=>>t6@`Tmz_(5N5l{1{+mAA-MZTg&xgzZeok5<>oECP&#C#p2ZhVktNYvpcppdKbS~LuF>8H`EmYK$JQSF=7*_pDDGK ze2kUmg!MF82gh(MSO!_77oyDZzNc2@zDEh(<>BH6qZ8IFlWU`|47QPo%&R;!(4+&5 z-_!b>VUKA<&Jv-wEo4#abE=h+v}F<#7qYl}s2#Q-t^kr~-nx6a`OV!R6GWE6~uv2<2=aLiay$u@7c z9d%JZYbg_+HQANk0Q7o*SB*^@;x*Eciafqv3Wo2ZVsCkInOWnD%#Tk*L)xAcZ$46j?Z z(#C$VWoq|BiiS4wU3;$8y*JpD+K{?&GiRr}Y>g8`X0!U(bD4wA{MBun4UzD@Il7K` zU$e$re<9b@idIoEICa!$zP)Rn%Xz;t{O)c5pt@ff6mV#|>-b}kB zNUH1SR?2MM6rB2vPTSt-!a)?2a`7R%8O1VP&4A@z8^^OC{4k{5tcV{6KZHk9KL}UWX{HJn zJxgC>jSf$R$6iM_mYidwLp~~)nr>HSE&Kk3{F{M7q*j+i9A%o*6;xA=<^DFyyY|wn z8c4LS#lf?R3hr^|L)6bU?@|qEM2Mhshk)pR!=pD#EYXT7?CcbCQjA(7rcbt82+nkr zMN*z@cHj%8!%$yibEVHJVWP%JA$MV0(zAKQCxB|6K1#3K2P{?#K#bTi2va*8n543iKQ#^YM2BjdG zl>%X@y*3q1(VakhIu!zu3ry_T zt^x<0fH4cNF8a}hkCQ1gB~06+Jw`&iyG&x)n^FBx?~HQ`Uy?V3scBM>>@qUdZZ;vb z)E<#wFih9iV9MIoiiMj5(@Pu%veZlSwkH=P0x3a1XjhSHgiH#CAj__f4UsNiHxn9< zYjt<%wc-q6O$hONdXxuqh!WZotEAjB#2bB1hJ#<71VE)-YZFQ8qCo?3Bl=tVZI_^4k66pnqT6l2@ zQh-foA?7dg6H!nBRm(@q<`_*T_Z@sXL=-4HAdE%-c8++vkquw{-!6~4)4!oewKsTX zc-_j`Y~H&)5z>{#H_OO1sIvAQ-7Z~1#D7R0ySp;_+6c1GSe4(V0UDeLXs6XwP4D(* zjx;Q~Qz(xrvL3Y^2OEkNeUG{jGes3b@RkWo2B+#3_EmA z_|4=o(2_B;u%gBmH|c*2DjL!j5Q3yx+{t2UlgL2zoS57RsD@d$Vwv>NL~Xb71wRWQ z9UuZapuF7;R7G1~!*N(@L-BHMFLw?6=9FHsmkhh)44S_;FTyTrNk`_vu2B!3w*x4( zBgl)J@LlNp=qs1>?9knBu95!DGAASLXXIBa$`mJdk{B>TsKr%fQdj^Y9&~0tWqaJ( zd&rZacYih7G2fdLwSVL#ta1Ttbr3CAn~T!ol!_&ezWC>zCUPp8x6j?vGdal(WJXK- z5s>06JxAACmIMiYBU7ZEW1R4^AsOy-e3Hv&`NNP*djPAJc_f!t7}5o(=!?=i z8j#vMLW$jVV}c5Ik%ZcItPUU>;hEZ6KXoe zsm({2v`obch5GPO%M-Zuz1Xe*^T?@{CwI84pQNQ+k{}l00*O{Ok3&4ECL-VWvNoe$ zZMqrrPJ!w_jLL5p^134ym+pir>PI8s#EnFA-};!o%QhH`$#bM3tB5v2x-svH5xeot ziOjxvGGxfzjkSm1YNe#iuIr~VGCF`PZ~!6tj`L=QG%I@TR6-_EzhMZ`t$F%hr77E~ zeDlbqFzHlDs(!M)nRm(wtt^|ZZ|n(4ut5xQht!xBlWs%yrwQn*7?s{s8 z(!A9WTkQmKPc~4qfZYRC6vQJLv8m(_&PZeTIYr-*l^92Ivu@Vvmad^H$P|H!WJF;j zQT=*lFe>IZT)(^a2P^XZjb1=Cgh3fu>DSxXS$&P~saIl@BP`f%^x$JVcOOVTlNOh&mnIlsjm8EjLsV`yk*F~S3YOGcJ-xyW0fSO zHp|{ZWa*O<5S5VE$pUUl=o*J;#Iv|=#8QhRlrBwcLe+L(KU;s36rbZNb+O z`1fomALDUNcEbqBCg51|bQ)V0;vMk9Xb=&OC=9DQmG`xb!=R;JH%TtTA-y>e;*$w) zMEIh$Fe>@z!UG{Kg;U>C)g#{(u5<$T*5rx;#*WU(;kTDefED3Dgy%a;t$J;^vqYUY zabj`o2*aU=u_)1Dtrj0QEB;gqPI|}Kkm>d|(;TW_>s$y6`~qQOM42e8d#IcF6et3F ziE)i~&!)~tdZ!@8Yw^-;Bhm-o<`o|62`$LI|7jY z?^|yx@8nE6AN{7-nV9qKhdxVX8)bfraYciU!Ab45qbSQf8G@@T7`Gh~Qa2y912J4) zRRuXV&7<&bETk-32zz`21$MW$VBU~y8=rr+ei7#oHODtnSLyD1c>ah9qaQKN+pixv z)oNp|48I|S1N zx5qq|JkdTZm2SbT?&!uyS?B<6?i;A;Ylcq*x1fSX^Q;m~_d7=r#$^4dOfLTh+7pbe zj(A?t6_V#H3bzr2eC$T2YFG4}E~9jZ&>WxTBQ|wfMD8IWUSuZCrC;01I5F{ih#>8A zNsENI$j(|(EGZ3w{_HWW6b?XA2YGo$Vizu;p3+#BXjrF^V)318wIVObpS9iTKvHlQ z|Ji7^@O;4$e6uIxSH_**MKO?+Dbl_~KEJFd<7`x$Fji$5RKgk1>$hl(`97!C&apL` zw~fB%?AlGSro;Bz6z#Z@l!uU=I~UbzWk`(u3AL2uIMG;nES+9q@;7>gHBNZ@osGi= z=rjw`_cPwv)=S``mF0ax5`fX1%7TVT!TOIQaR(J)R5PCsMuZD1COuMS&Jv(Z>42{6 z)vE|E0?pP&m$55hcZMb&UE)mXEZ)90o>MVNL&0_-qqqvysUPHOrzU=4>Dr74V~3eD z! z%$AmWL2k&{kd!)WJTZRZ-L}bX!OdyDmF>obx7}009RNMuLJGzpjduVSS1GhuKuRk? z_a=!Z1dVK)e)-2CB=V`SqHcM?FxFDX8}p4TVvh#u;EH5M>dOEcO5EXl;(&eKo+LG9 zjTF!#i9#+8!Ltyr{S>?GK#O54(e@(?5vmwT=yeLr_gB*h5Y;;qi9v#i=A-nge*)}E zq*$+A?Fe8NWssS5&!x2|sq9ICSmAmt1vlbO%hlvA!R0re>ke{vB0om=`7G_*<%>*1 z6hODah^9ke|fi4yxruvR=vv_LM{INkR7+ZNrGHAp^~Ov@`>zeQbMZ7 zmU$9e9Kvh2G5j+H81Z|K3gk~UvZ$4@K$uad`MR8G-wH--b#3n!HHzy!s%e?Mkm8)= zW=;m7=98qNgh$N@A1SU*(=_@XBEIYw5#6(TA(*#`C$tf2r+^${wJ@3TTIJ{7;429v za{ygHqQCzn%k}!dc8Wn(9%@9`z0iNd(ta%MFgK(+8SHjJU4$XVS-ln_QH zcUsh7@8yNii#Lh=DMaZ*Z3-D7+xn5F_p@YCFm0^`$vd0JkU67_a^hXDs5KKv^^FBD z#%%>{UdXwrN#b(sAwJQ^7^emH>PLdzbt2Na*uaoc51<<`1J2r;H&Wf)VQA!pI)OE0 z@y-S><~HP#bd7|gU%zuhV9Fru9D#XH44Y=9rbGPR*Tz=5kYPA1;@Z?J2H0Zmx2Rdn zj6Wl_yf-IV^t9Oe#m@EPNVS(*okd{pqMspmyF)1#>ceHXZMmKW<9JJTSLVjNfv~GmJTiwwL%V4~?Ew~5! zkg=7wal&Aa(Q6!nSYv~@^ifzLxykjBb9-qE7e0?MN}qjfht2I*Y<*GxiBx?J8Ly3spV7QPOg-EIb~ z+9NsPsXI$4*W|xrN|0dW$fs#11`)8%8`P zEJ*iV*@Nu0I5$a<;A3a+IgTv54{|r%oJ&mC1%kVKIEpv%O8S*rpIVy7=h{KJ3-S zfR}CcL>^%c_@0FkGn#Gyd1~gkOGG*5*67~U$_rB5zj0>&WyodRZKVBby-nkrHbI}x zeo3b)3%IW{Q99aehHqUA_h_UTW@l?%tXm5uluG^t;P!eE&zBMpV_P&wG9?)nLTf?f zD0iuI2u_wHH+`>DZ1?T;y@rm1igwrPF0RK?$bG*kN#`^hY23@vU$rHr( z*)SP8eeZt9HCN+|>CItt&#Zq;hN3$Kt06)+lBh;2CbcUNx_NTYYnAEGSZj3WnXuH4 z%Q@uk;UwdWdTuCU_co86aot489>O$SH>t`uft+ zRD6GZ>-P+c4doX?9aS2$x55*m9w#;u#QQKucEXsakIg()*%SzN#KP(6sgMAQCz}OL zXF`WaoPXWq4%#}I>+-j?5~jM%WCvQ^knxoDeqL9to@!CecCD1WHM-L*#aX{s_81*5 zWZl#`S52Mv{XNQnFey$!>eBKSChAytJw5Ap+ae~>=&a!zoxNH5e~19vY%&3m>nC@1 zHc|TG8i}^v;QX1_s7vwN@jqG4{ost~K6SQK%8cK?=i0(tIcxIt%gD2Wtkc`RQvgg2 z8GmlHNW6Em!sKB^`73Im>FgCiV8lQW7X2ZL5*;6;-z}?`I7W{_EY&F9`ojeyOU?$8 zY7_%-#t{7Jup~Pr2}VJL@umc#hw%{LuKz=?h3ZQ=7gg}}T1FKT#TDfZ3 zytyYiP9aOl52*~SX%@mOpH!k| zt?%hKP0@l&cHQ?F_3acY?za_cwL*}P_BlYl=bE@>Sjlfw$3XOe4KC=t&9ui3lQ6CT zZ^x@I#Li~`*G*7}B7jv{!c5s=5>$}F0uC|cb4BD%Zjv%ww5CP`XCZ1vOb){-hW)7C z5Y8@6&pJ2V`y2~2ZDmt3xHfn%#l)cQpR`=mR8?5Wd(S%zqg)uzrN)jJgBD;MvsdC6 zLZ&uSAxlhgyMm*S*#&-%G@Mx>q>eLT9vS$Tei$3|UN=Smw>)8j29JxEQ(|UEG(+w( zEe~8F^g9GDTAMIG{RaQ-lD}10>=Ycwz4=pWVgz#4FJMk=@GfZ77j zUbd9t#y-+K8SlG@>_quwov~F-F=d0Kiq-W}f325vyt1G$E_5pLG-5BDR>l!IGbyC-lFW9zNdxCxax`hzJ_r342 z+FCFkyo->vV&+E)Bxa6Q%ez;JAp07LeYa%&n}*vVcvZpRBYXwFP}j9W2Qyju$)8jXWlYFqBt zEytoeNN);Sp?7?KtHlSg2w&tiAPDSaq&-cwDY9SyEZXC81q6*^`RD&7-o9R(woZwV zNWj;Kvw34nD_%EY+N)d;KmGbKQSVH=gJAvjyL3NhtITr9g#%H*U9A|l%f69LhpQX& zv4N0Rk9>wu`b~h$=ZS7{)acn>csq*%7m0J$&9<`$EEkJn-ywO~w0u4<{ zHZ-I{@{r>k`t8LM>@}-C;e^rRh3)=1{1|0cPv?PHM(sIieQX?X(`E?0ZfZERLhm!0 z*XAAUe%JNuH|eNV_ueoKo{a>lU%IC>-PZ~- zp7{DjC*z#Sh3hv?CEG597&fUc;z@RIq+QO8Q}6lRW?peb-(#uz!PxtrO*AWKE^m5B z?oh~nL34AWtgjpM>4X(BI5FTQ;3woV6YJ)e&Wn}!T;*V|-)?do<`f!y#s48$xa)V4 zACd$A^;`0anQf-DTpYh>wrV>Rh8PaH+N>mD^_c)X)ys_kdO8A0S+ zlAi~@x9&2FN+HD?R8IX0t6kU@CX5q_6^+Z9sZ~#+gs7Z-BcWs@Mk-dM)9S=QDn1Uw zcpViR?(G-3O6ucM}M9!W3i*R1ln z@*BFafkw@WKq*%i;%U0J)0}#v;7)$Y|iIN6w6@8b#y9IX-F*A2>MYS!jMl*AfyzX<+NI{`& z?;cwlk|!Flh+|Fm@(D!n;ge&i^jf*zkbuawh+3K6LS}EEoz#YQi|l=FztIsW*YE{D#oHUq7bKP0F)7k2KucT0fC1 zc7c&-^Y+Pc+O_vRrEWJVDfyce`AckSrS9lPLOwUPOB3JnD1qz82#++fzKEK-O>8@! z5o^Fb?$!(@SAu$nrcMHNR4#;p77Z9?MPVVCaqVSBTU>QR)yhD7g$c47XgIU#T4uDIR5JGjQ_#tng3n|lQ>EO{St7DTCp)Z#{- zWYy+=uzc7#K(MOThFoR2)y~1(NQ)^zUNY0ng;d%&OHx>LqhFjzD*im}6GgTe!$j7R4^Ls2Eo-%ErVuIOrc{>Bf!oYH zjFEI=8mBXv5Mr;4B=!pQ1>? zAqZ(8=C!r(3L^oQS|I@`|MG^7qfNG7tII<*;bDt4LqrA}TdNY;5!3s%9U@EUB}%cE zSMAE&AQn41JAY0vAxJGkn4End<-a_g->BfV-9C~3jg6(wL@l*b45eST5Y$5QTFma=vazzi#J$pn-mz?z;8b$hb#3tZ7!IH~T-zym^xgkHqU=H(LL~ z1rc=VwMgzrH4gcOBR3*k4yY<$`r!JBKQ^f%@mOlRa&PMJKN5H$yHTo%aIaY!iU)JK zLOX_CG)mTw>V?$0p%|hZ=!_1mHKDy90(d-5)e+GUu2ct%d{+JyMx!_EV+>%o@k%ov@CD?9dAlAV# zfv~#mhKNwaa+DoE8Nw{yFW^}lX}kD%HaF{4D?a3G5Qu8fMq-T2Ofb@2AV8oPNWtcZKVQXR9s>vCsmVopAw`cuL`0eqB)74z*`JYYLlx6-0mxpwwd774DLJ3V z+`N05qJA0m$!XZ)f|8fdGJ)`3T3!6RHhHYxPu343p++oX@65_>#>vHbb}Z>NC0P#7 zRCd78VEr84a+i)+RO62yLzdcuxPSBe+MvP4&OMkHQmb7+_{FM9nFcTlo4D)=5jjLK zB)UN9_p>rhY6J^XGDgvQhup2eHeGHGpE^C^8k?+Ykw7A87dOW}r2fxKuW`mAS?#quKGPN4wz(xROnE4zOFqvuC<#!CZ3WbHZy zJHXpAQmX3B(5 z?Mg!t+HdT31+rgMxj7w>HrOO9X1#7i?qSquTYx?HjDc<{*>1URvfeB`&o&an3F>*m zP*!1}cw^P(x-ITFjw8suO5!XB?ZxgyHz#&5BWcR6uig_|f!LlWT(@cY34zNuTo0 zoiP^Ta5gIlRXbipTFt=N`M$oFo?4ctIiz?(RR6V8y#0#tLIhTB=2)+oyy|4~r)gSe zOdK#b6F_NQFFwre=8;O$VQ+wTo)zK6z&*HzR#8KiR%>%Bs?#LtE=$o4aNSNKCX3?M zl~ZaXs(IYXI=U7Nk0UVqUClh>E@P$>H|Gciz#R2&Cn=|LKn!~1EGc7Q8lkzrk1AXW zwvLc0=%S^CibK3Hnys7GpzrT%u9%sVOORI{Y?e7ZKSI=pw~vV_=9PXh5w4TazZKJ7 ztHpZbgCbmw%^Nz-H1z2o-@_3RuZTm7o7!q{LZ;uEYno|g$kWQx)w@vKwrmpa!qL?* zr4EO&{T-hBIBE><7|^bNlD*9!-)oE!RLZ(dDD+Sp&n*Agru1slM(zAHU{_wJBw>Oe zEM-+A=l%A(nxYWa;337Vqqbr143;xnzsTJ{dx~wqGOrNKzr(ECesUtry;Vm5Spg7) z3D!zYAVmY9AHG=%F<32(7VAuO%Nzy}U)PKG&f;mDNbpTEjXEr&wQd~p+gCpG4RrNC z`t_4_*UjP5AwfGzw@^8SubapMU(psvsJ35fVM@%{4D#43%e>P6>z?{&hpm7VT?YI$x{RT!vH#6yi7jj%If4uEm-8k`h|& zcMjVV%yaW5AC6Ac23$Xm-?u65rql`%7ZVu?E@_P|=)#uA##qWPkzT=a-z#!aeN{AH zP&tIqY451$g0n+d zg{4Pe{GT^8Hok3n@+$F}Hgf5l&w1Y?Ws(+z#9kXT5=&zJTyjWN87rN|Y!o&8EH#3l zz?M;rL@7)|wktn`Ksg>I+3cMtjy-q#OTB5IOII@9LflWRn-Ye*L=v_@SQvlSq}=l$ z0v~CXXbF+cK4vLqWOX2N%isuz>4aDyWbyGd53vdGbC?pNde0M#UBi58{Y=x|tzUa* zBp0)|8E{CkvlP_-pBa%^n@HW%g`qPU>-LV9w(Hk8L5Lf*@hVGgR*LAX}esw~n& zK529oPp#(SH5Njy5%-6e8|U>4lOa#l(h8@?KrZe^&`kNBldTc`66aH2-gJf_tn-j~ zDyTL_fYHiPE5oOJZbX2dVj%k!2S#C%b&YLEgYOKAdrjLrYL1bulWFuVtx(Y^m1Z|R zMm4wLae`0p;-^-UWWGma++%DklB(r!LWeh7yqJlNt{?v1o1)n*+jEHGp-5WHpjSf_ z7|@YT(+a9ONRF|+b`b)`;E(ZqrPj3)U`e(^;-oQp1^#``mv?6cGg?cNGSY6(#fnw6 zhU}qNfMc%H+>3UuphrF;gvHU&xrDP4qWRL39p;r^wl;Rx(Gv$S(Q38xtI)tKxAx=; zjv?xdJ_Xd3n=y+Vl5XgtNNv25c@#iL9y0%^S>{|MkhKzlt5q5y?=NOyPFZXQTbtBK zpXHKeoWB6`sye#RN`W@vU`~oVngDsTI|j{?6+2N2>;6Nn6a!o9(;(<)*)E* zM7vo%6GR|ubK*WmsVKZW`RJrbLx^nQCyPj)RvbD0QDh=9Gk2)PWETTm)^6SznvE3q zMA$wgo+-{qufi*c}OOq45 z8%gQP&0CJ=b>oihYYg=#E%uUeL(eEM5^L~=rpDr4NI!xx@`}0vOz$H>Hqo{gRv=TG zb5;C%=DuxA)!QEm{_Qk_`N@eDUf1dTsU$}kt`I8!`Uz?!t4YdA+1kaFc3x0x724bG zKWU1N+tqZ%b=qy_>!ieiDA8#zY1U}@=WYEYeur9lzb2DXuiM_09QO3ky`9rQB{AMW zHy=lM+tFCP(^0=1puV=iYTZgkT(@LPNI#_YKDR8y24_6iYERVy%2?c5|C<_Tk#{0b zZegPyUg?nB9qUL0b=X83iULfUl0?XUV{y2W=Sfa{)D(&nArTONJFSk8SD%n{EA1WP zS;x*FvWHiW*cRt^Nd)tEZWnw5l1D+0W@ptM|vev`x-(kzL3`0i#GJQZQY&}oWi$uDsMs) zB0-SJBynNk{j+O4edUL<`UTS6Rd6gSiTp}bzn54T7r=#Sj*2qc)UYHTB@m*Fvm+-Z zsuu|Hk25>&>i?iQ&l+*(no?UC*D^)g(gFKzm5@~CeJ!TkPzpTmYbqw**K*_6uL%CW z-;cS!ek(|CtS-T?6%oIYIMaSHxe2V+TpKZ?pWmBJ8rELaiWzvLv)FIqO59T?cA$LB zeeX^@j4Zou9TZ?Md<{8O6*6T#Oa^U3&9ezX^Vd%Z&yS!%Xts<-L*I?WFvtE5A?od< z)IOfsxcq77OPb%|DRhi5!-&k27hWQ$pNNNI*iiTz{F9Lksm_Ch!NxQ{W zE8KP@PJuo4>sJ_W;vY|753@?YzIh^L3w8l+4`I9qUMn&3 zAvWb9WZ6bi<1*H(-{;GVSvM<45tK&a&;CSip6`bAH~PlnG`v<7o!3t+>wS+z8*(o| zuiNL8yHIzVXXB56{YKw!KiU>{(1}PF#ENI#c8)Y0Lxxj`0BXcp#v|s32w6Yms@B66 zl+dQ%`t9F-UM@)v87qdIwbwZ8nERT<`WuN)zBw%iSkZ>q{Q8NgAE$c|rdj#pUM5H}mzsV^BZZ**j$y5`7E|9Gh7jC-Bk_#m zj{JT4um4}_0CFEKxCsQxTr+&yw zzvPQxE{WDbhSds6h$bP<98d@m>+{Z9+k9*a~ z9vy%46(8c=4vQrh_7fb8Ob7GnEM`8Yfa%thh}2c+Kp19iWHN4sU{2KDgb5>eGY;!l zw-TXa924L|4q*grM&@zSD}nSh7UL_XgnW@#*5m6|bz>`Glguh=@GrR{tJLcH+$@mn zq_H<+sNejmpX+kp>V&6GI&*#m?QQd^$+=zZoB>Fj}vD_c8dl|fGk&w<$Gj=B-7yQ=@IdY+<2?JbKc zwqPOWJk6Z#o^FV0ogKJSaR(_E0#=G31NRD!L#mGtQCAXUn(kA^Fn)862AjMqGc$|@ z$~G&M-dQ5>3O8HID<}+eDD`VKb9J;@tTb0AdR#vlI3uC7dp}~M=Vpc}dud--PUj-o z=q?F_P=#$B^&(le?Ic1JWN)lpp{SK7%khs^k_LURJ$Mlvw&%AmGOKYJ)*mC-PiA3c zk2xcm_FM}4IMI-I>Sbf6j}40Xv?AfUuMkCP9r+*VR>K>&Uwt2gBlYV+qWlY6 z;x0?^8N`-|z_RlN4B0JxNM+0uZT^M@lMo5(j@RF+aCCi}L_ z)shXlz&$$QpZqvv5fn&eudmfA$KE#CFfv)eku+x-?cd=5UedPtHyKEW4WH zkfVyu>tf6`7)|k=bk2H{3CXx!x$4{(W zCx`nMCh!*pvo*<(zJv3hDp(sTX;FX*!WMT<5LxmQ4M^9Ji(Ku!nxFr7O-fH4TLl-b!iTMiM4X_^=~n=nLjl_`XN)gR&Q!C3;w_ zy!|4YCWtPh)vlIwZkFk-8F0~2ehtKrvL<*lThdVwi)-F2=4kEuNeCmKM(@p_wNh|1 zWGZ-T+J3Wh+rhfoF{agKSpvbvM4axpnkN^axEbx z*IKYP@9?gsVw<-zDSt#s3~Q5-=RQg#6L4&&n61+CN(#2T*6u4EUO$WmsmP0S*#7d) zTQHeBcb73(bU?S5;$on-tmj0=LD5snr^CcZO8)IzjQq|3C%V3HrV1vF?+|p|lh0nA z3b8g;$oPK0{nXbO^o!}ooO##Aq}l5x$t|eyBLO1nShqwdVyIiuo)Qf(9&D3b?#!fq z%}5(LFS)U-S(uPt{p`HQHYOjbrfX$|rb#O4|3fJSNp4)1=l@w~r$+Gfevbx5H=h*8t#y+x zC=cFxMH3sE$SihpyVB3f_!D2DJt3SbN0@3|#IWry(2)8Ss2n*vD7Oqd-}rt48u3!j z6SQ*xlc_1|JMpu@lB=_c1Ocj29O3MTkbOi#JSM=Sd3l)@Ow{gQk18ubiJIKiv^Kn9HKmQsOyBdK<|=#eP*2?jg0&oR<21EzanGWc zC~8hlULtSsNZG?-`v&y|EU} zuisIxeoN&I`EOrj9tuvvq#Xlt?VZ# z^Y6Xr09h_7U=KP;2*&>FFo*`@{60SBU7DU*$tb-!@8YN&o4UKq?u1n^2Uw=8oQ7!#LbF41IsV@w~;OrX89@C z`ekVD9QpY@%=`a_i88&hCJMDWk66bjeci4$$l&+WS;Hnk^WclmHFh$x8CXGUVK(i` zts|1D{OtMaw6$_<%XVs|fTwM7v`L+SFPkpMa0{;72XEJ?c>L^n;pihaN)U_N0@qDy zgF`EOx{Xq!6X6o&`NeCc*lCDBpOj(!dT?*NDoFnIJ6VWBdMIVB_Cvl#lDD`G77w|8 zE;SXNYVNYSEpNVC{V0Q7piUHhyNL@=J~GwcELZNQjVl_=m=5@>ydd1}`+oc8Bq1|m zVkZ{t{iR9Te(`a<)E%_Gj|>=m+StvTCD-EgT0yY4D+2EJe67;{G4oP}Arw+cTkL+LzE4y7yfNe`q*ijMq*lQs9j3k z*r)3l3l%(VlB=_7+U?Sv-JXvK${endilCo6kn3saE`4tOS4AAA0RBzE=(m)s?VJ04 zdnriVzA;mo*pI+yw!{8jHUoVTwGFOO&rFB>7n9H61*s^wukm&gVO_S$e=+ZF@vj?( zJUJk;byk{Ile!LW0olf`z@u*b;mo$a_FPYufuFN4A=KwEes2_PmZ)?H4fnXbh<$Cy z%R9Pxgi^eP&6Wws0F77MAU zHiRC;tRdyHtPR$k&Yb14DLwC*;LobX$~hz zWLl#V`s7j*)B#V#NLlUUG5fvU9kP)i_loaY-PNwnvY1P)_CBxC$#tqNWRDf5M7rx3 zRl+VzV65p|h^G-^d@8Ej3bnD`n8kmvHaokp-RFf7Lana}&&>Cy#oaLf+bkiG zdx$+LzA0oWZC!zHcC1_8Klf|-eQ0VK%LOQ6&Z)?Qjx<+x$dWnE; zv99sn32ctn=){+9{PE^U>UE8xeiTe{K!h(oOrLD-8pM$OFkfGj=6ff= zqP>0+R#8R$3bL&g5q|yr$Ia4r?|bgKAEqFVE=Nu7^EN4Q!-YxEAm!fJG}Eh}gSiwP zZx*3VyP{t4yA&ri?Wm1}p6^-$0)4@h(fFJgqN-pS;2!bCPeM-}9%1D3{>^y36X$Ie z4$2BtW>c?1N7QG5-BlVj>vAyxe5E^a*aA#2HQUWG-kDzsSs4VRVBh*l%io?f-C6!x zWx}*`%Enr)&&3TPJo%m~?6xK^plhDkd z@xcOVAuNugF#5E4ibcLMi*8`gcw|eYW0<8l@)Q3hh(o0OY+S`m%+XGqX4%zD8!VU* zJwdJ*2G{k|)ay1!hk?+WXLa+jy(c2}Bcy&);;p5Rh`W9{r|sn+wM_}Y?+nBXIu}qb zZ;b@|+5t${@F(La>>(~DenGw3UUpLvT-R5{YQP)#+E#I^r!=V^R#5SrWMfGha<$DeEPj$_3PqD$N&-rHK5d zSx78jD^V!+xx*B=^*xA6iYcGSU`91Ng-v-1~PM#8|Ql|vMm9Eq_3kif8= zV&_6q+RjEVCl=y3Y$wDm%bVw`klU=k8=IhQ zPFTaWrOi@e_JrEr&TLn59&&z&5Yfm^feCygF{4U#v~zw!wDq#1Z=Kb;ct5X>Zj; zE$)$8-?aP06N2bL=WGD+&_*(q!fNITljZ4q_G*bl$f>(pt%{-dPZM9Y5t-lm_6A%} zh``)rXjc7k0zz}M9&!h>IXTb1XEMFb+&qPp?PmyXFp{ZE<%Q(_hw!VSas)`2>k zW>NFn@Yau7ntG;R7$v<{DnM@H?zmw`{V`RSJ$X&(VNsvgQj_FW72%iVxT!UZ)_FHDd&*Cqzl5B6^I>9-3Fy*Y8-OIkGt z72@tod?gvz4ek1w@=8@UE8d4_5pitLZ3`tjq|E#fRj!+-Ry{5;te|^4H zHx6_2`eQbUotYDJOEd{X&Rdg1>*}J;Ao^#vD zku=rMuT{?&%!YVhuh?PdU76n)qf7U`g(^f38p*D85h}{@*6G`|%Hc;}=NQ_v+}HXQ zHJS8@?buOAsG{eMB;DY9g{ZhA`(Er?za#pCvei;9+})ez8vPgdG>}!+?I({N2KmW{ z|AjnmeaK{n=RpKzZd*7Tzb7+be(f-l-YU!@WDko&R4H}71n^h#Cl)Z33iF$`w>6Z3 za07&)bW0@iJFCKJc_)pOZZ-R`JyzV-^q@$HobQb!(H{94X>iTl#jyC*% z{T2%GHI{$^g4+~f$Hi%EPTsb%Pa1zg) z@X|(7MBI!ZuO`Ci5(zE0Od*b}pF(cu25|-Q=Ixb=YvX#t416=6SBTQOm9lftHHM>03*9g}rmt}+Bwl?({HxiTM?a3=r)QVSdR|UjtB0=_6Y4^@) z?{tQIdARqB&YPr~a*bG(UAf*?I{qOvRnn2=SwZ*g%*w`F9PuE#c9h!BWQ@F?cE4&g zM7d`Kh-)6SEin>D0*iR!V(i`E05!oBP;QmGuOwP}Z0itqk1o>|UOxa0n zm~cmjML{pY)CQl2&gq};4Uu)C z_l~L~b3`(r=SDZp)_I>3&FT0|eHmHZ2>D|f#f#A$Wbd46<3W^3(gwdfv9M(=LuRnm zYE_SryE*3|PNf%|#Z0G{Q-hX*dk0mOJ z3LBfRx+crJ>*bLnG0B25_`1M}NT}B1Pf6-si}S{j;@m_{I{BiSp01&>kHkt1DZ6EX zEJ}mIRD1sjQ56(#h(`6gO`n5xtivi(4_OUL2z%#{dy*oAG0+jzFXCRmWa#=)6+@Wt zHl>kPd|bbB%h!(_I)Q}Y2{Nq&Ur!*B0rn}Rr<5975cHd;4Ey5_v$!uEyHH|o1Y|Xv zLwc+A?Mii<8+_%XT8R#{7X5PJ>L=H6Z8#Q_D~;|6`)id`$B0Bn8G`Fqd29%C=OOnw zP@eiVD#=u%5kX($KnytTQcOKvvegMs+(@bb`dXQl8G@{}@)MDv=t4u!pc+9(ns*hh zuefNhw1hO8932_;Jr3L~Dm!?#amdBZ*cWoM4#B8&f817SOpB|_ z?tD)Jk_jJ|moCF~!UEUJR91!$Qv`kNvj^I0C8Kl5dz=q)y-c^Mtxd!q6<+;aO;Vcx z?sZdyrvDS^m5pm3_6qH)gPZs4! z-nwV|Z>(t%j8B5!_lg*feY0gZgO61hcgL(a;$FOn$yE5%3MXfVV6tV-AsoU(SZC8d zG5&%-TJ2X=PRw-TG{w?tPKDFc&SiYqf;+i?I)t^_3!ITEiVLAN^HCAS-Oq_x{nSX^ zdTdO3+feqt5T}w2+q2a<)m*ySX0tdtX3Dm1mg3nUV~+|OJb5+R2~j8;qO$3=Nio*1 zhDoK z#RL7l%U*3s)oP>O(#LI^OhMyhyI=aDt>kwZi?h;A$y)7>Mu-?sCIO@fP)N5>?*xdl z1_ybP_!{NHUpGJh_qs*S+N9E7zaG69R{iDsT$3_^s(^=_);0lZ;hF5eayf4F5?O0S zeYO_1Q6vz>kD9Hn^}f$7fNgN^XmkP*-;RK5REhJDQurIGi#D&{3LF}}N0Msw(*(&_ z-AGEaTMFr*F7WGjWwbe7^JFr$rXra$)t5DrK+v5+fqS|RgjH@R_HvUdATbH5TgGQd zx6SuC0rxv}gJ0S7k3xi@(FFw4 zY;|GJELyGVrnx%~T6remcGDXscP>h%zuiRfja39M$r^2{S~n^7jU?cZ3-3nt@3kS` zqn8p+^vHfjiF9e)Jq8xX=7#>&>&+JyII+Sp9{v_24{@fYU%*Dy9&^g*IXrNTz1SlOONvZXOZ zZFt4?OUh2*4-=9&EHf!2+qJ<(p4%1OPE{L-d50l~Wjk$f$>MMDJJaQ#YI84a_*%EG z>V}Q@)$8Uke)-Whz48lcskcgKD;xIIl4HMJku*kao0KF|vlL>z_atJKDL4glds39- zR$F%J8kQS3OQe7i%P2$q^peW3hg^WMD4ObF0-#oB$C4N5r_c2}4O3JFZUXoXM;7+| zn(7{jw57*!MU6ki$Knfj+n{@9f_D!u%uBv7Hkayuo>Db))`CsZm&W zGuz9U{(X(cX-_8QTCK6Wp&P;jYTqzIr9<_jh!L`(cxYMsYA`Hrj9tc%?isSutjc7@ z#p`xFg}J(N6v7{FmRO7EwOoc@zi=0_#}w{!1@>Jd6KnM`)0Q|ygl+?=k8hk@&LnB~ zgGyoj%ShI{H?G`K^O#jju_r4$?@C)ma$}zacK7w@l4ApgM6~1PiBhQ=wG}6QFt`l(WV9O%0e>CHcn|WB0s?SNl5`tb9prcspmbvTp1x4AC#U#9l+i zEf13}h!XNPz0l%9e0s#Wz?I{%`kfIrbvy~&1cUV zXQT3T`uAt!`uc0pMV6LzK@e@&qqqB#j7KA6;H(0l=UkK4wJK8Dgc#nf-q?F35W>-E z%j|1D{T;T7>eg>#D(!D&5>=6e0X`z}z4|p3;n))ZhY_&Mi~% zMk*o`Q4$_Ul;|6sM$7c*O+c>%MP5v%nXR+~ZA)0sF&e56tF4=`Hkwum2>cm)2_!X5 zJe;JcpVKJ5JXY;C&KUCyO~!lyqsg2(+!WsBGJ~$nU&6G^`GB*HB~`gNhb-t~kr;OR zL$Cg}+C0a-UWMQWyivOOy?=LGqZ#USx91GhD;!;XkAo2Ctv@QmwyM z)yb~aJv$7kW^str&yBReW{^C~O+lC;9apSp@~xF%m&vJqZE@4Q>d;9l)VHA=>d7wZ z{k7@>XorN|-*PK)ZkoJ-QM_sH_lzc%7^_^a=IsJXX?;z21m-iBv@yAqQ~j77w`RH^UJSv@ z_*Fj=rTr`h*6&y{Z6+eG-_KI`RCSG52z5jLJ#8`M{68Y8vwq#mp|)gX6Sc${tbh<3 z*zzE&-+@@u=@2UG!opZzi?vb#f157N7XKJ>EavzTWM7M0N9Sw?L5~?k3A0XE+_cXC zNkF#0|HYccKWtp-AO?_j3TS%wkcnG{sM4$;(Gl~6r~q~h)e9Ap(IubJTB^I*L#{!T zN+Y4W{K*jWzHTmmqkIVa=enu-nz_TNIxF5#e5pTvC~HM6aRbEGV@HTGQgjZ9^Q;)e z|L=2Da}`n{b^~El=UBu=xl}f2mFbXdoBBDu8Sr7C_!rBx#QeAT1|WY+>BM2_a> z3A67VAhF#&pj!D#%;4CwSo&VKf8$t`GKtuv7C|w~?(FikGl8PI&TdHd_j6%5y<-l$ za=FRKMa6|fK$~|-!?8q=+c}fiNG3E{sudz_mgpdVa{YQ?U{dlMNx=7zy-U!pFfWd= zl^K=v=baLY3uNU5;q0$}Yh+n_Vf1+%7QNFFZM*M<^)1miUB{kx#9ajm@HKn+p z9=E*MQ8hM<0coy3Vp)lT`Vk0)GefkCVUE+s{=eaMxw(OV>&J)jKWyGY4Y|pG|KZ_Q zGi}!)D-{Z11)~LsXG=E;7)pOkN;jDzP(h-`cwwVJOD(AjC*B z%1X`lhV1Rm5U%9c51Ep#Hi4sWd43IhZ;G@lr7HulQqzHmb?kFEbteppVYN||(7x4% z91BrgaR;{tjGClm@uZgfDzZxVD@JuKpFM^)l_WBdHOPE&r%TR zO#cwo3h5*?SOr3)gKfHt5w;(G8`2$v5E&(^qc#_Jhjgv;_1nu>sK0WMYqZc^18H=~ zw7zbU_3KuN+YO#FGkA9lHmOORAu3YVMzzeuVN;mWZ{`TEMiqQE4txH_p<5oJ7_t*+ z>^v5YrjWF~{G0#iRy+Hf9(x|SV&40d?Yex0KlU3EYxPw!W7PZiQ@|%*8s{DuYryT< z)c2cCVe!rQa;yHt0(lc8`EIY-B)2X$SBSZHQ@+!-^iHVb;{vs?{Mp6&m;#In3{M~a z%&V11AN%b(RYLm3Y2vQ^$_e4K3`7LD5Em0TTVjN4zea6z(XkDS@G7#)?nGM(-TZ`U zs)syfchD3FNXyJb#{OGIoWbzJdVR`ToT&ETe)`AQ{SKPS`ooJwKWMygnJNVlQ3 zQC=fyBuBqwMLVVJD9AFSNhhGlq1B=7T-{D?mBk@b**>>eb0wQ(btb^ynf{V*t=G}h`m;2_O9QKQ$P07jkN2D zjdax!YxR|op|IB1_h$c?XAfx(xxzO>*YQ0OD?ZY;n0vPX)~a9b3K0&!6(i(pP=YR@7kqf&RB)92cr$DplZ!pxj`C|;_>SFkkzCQ*_j*r zEFdFQD)@RG-;3`yOKq-#z&KVn+RTzJ=FvzMKeRfVfBjhW?F!!f;+3*W^F5-C^Il0y zFEE*t&A8{w63)|?7LZQb*u8aqtjEgkd&Qx|rs_v@+-{O@t*(tOT%wI2-Fz0aV(>@P zCNtthWXEV(@NYA*ZrjA1?Ctzm&yw%O78r*k00Bl(*_@MMq*Fv1vLH*dWGNoMH28K? zT$kz~v-kqN@srKq-p=45(i}w(*c_67e5>+0IT=qi#2?5lVwJr}Sn6-7BMHEfaWL zzDd2$m5Hm>yLO!sT^a@=K+t~EWVuQAJz3S0zsg9C3k`ki8?cum>-O6?swmAjNgRDcqsyZw8tFcNt`H(r z!Cd-?*HY0~lSHi5@Pv8Ou&u)fCkoh}C$yRK)#60ZadzFf{N0WUDrCiSaog^A1qmTJ z_6-JkQtsuivUx63LlRX%nf0_EO^kp;ylJHL0h;x-48ALuOH7eBv$`s?sTI2G zdv@)92^u0TIySlWl*&^VZ?v;aZ*QW+b(XApcz zTVe_>_21`~6o9-agPpb3zeX4qckqtIvz{}yF`l>stQU^P1HEnG=Sy+Nj8{ZWKmG_| z#`qc;B*-*H3)?N~Fitbpso(6<{GKAHy_%8Xmz*T0X7|HLo%pigZz{}8%om0_SWd9D^|Vw5IlnA z8;F{F{q9ORj0X8yB`Qpy`ycnY$MdS_M&XTq5pjm#o6^pyUKOa_*V;-zKUe)eb~)_U zmUG@P6=T;*X_fQbz;od3Qa=Lt^?U0T%)2Qq&g)G0*|)Y|OM!PvWZ+rTay9s@pt9bC+6mK=&&I#z<3G8}d{feF%2&;a|+4m>W zaDm#pHgj%et0VWbAJa{wMH3JY++($nr&8iW<*aMe<65ztbFWv9M%fOCWMAAwJ3rF{ z_MXk4d2>Q*b>R>4yHrzvqRx0AiGHFmtlOJmnNaaN(bgK0C(@mdAj&O_d3gF_Oa(B9gH0iCY|p8|y+;3={!H zvQfCg6@j(-qcerr?t!L83t_;Y%cMBe(u ztjn5)iJzAQqLKtK*GhKy6Ufm4 zhNZqvXD~%S5iMSS0@+TV+S;qW2J-UlN$76NG_q2cPe3E(_9-_j%hA~CQ*RuU*x4S;V-#cct8>nMBkz}SDaQ)a!mO1M%Kbm6Is880q+^R17o_#%wFT?StuDziQQgoyB5 z8wt))dDyvrD5`7ZwYq|C;rq(KL>Lg}-2IYDHo@Gx%(!(?#3=+#Aq^}5nBW0M)StJ^-QT^o_YuiG-o>zAO` zijX{~#g5KgmJCESRU1oZmhd#WFmq_kWIWLX2K&_%!^28G zY`;qq1c?n69{>>CiH?|1LST;t_8sHuu_k2Ude2u@#8n*DRwZr|N&xEIPq9<0lM@xv zRer|P!5xtZ$O;qCk^wUsO1Iz5F~_4-XfqZIGs+4R(O;uOkyn@QUa9rCt2GkoB_@#! zZA{B%T`TOW&@7sRh`PyobY@wH&NnUvyYwdIx`F`^j_yNA;%(FIbGwk_d{3u1jJxFy zUn@|s$fUi|6TM@2M|z*f)26$t&4=#2qP7#*r&dD2y#-A6bdzySW_#q}5^mRv+0)ou z(D_e>p6vte0+tvnz$B2p<;q?!iKE+ZA>$ee%}0=!u5Td*aq-$|Ly{;QOm3)!tbo`Z z352SMVj2)Cy#pbgSK0z1h;+6JgTm06X_Yf+$i4iI51HR*79bCN4EK1^5LvVH#*t^E-R9w~`=_;LVdpT}nQnp9XLHV*Hx0Sug=$UvMeeQYlO_rv#3)VN?UWsY} zcd0iRSMr<{(Tr>5@tniT1tU78OT%|4XU2gspJPn0%1S#+9z$diWJV4paF)Tp^`pS6 zM!se0RYBQO%G&%b9Y8BdxP!;n{Q|E z%xm0tYDRFlMV0AKIHZbxauX@A=7YpN0i#vfS`ac_@yF&5_=J$f|L`Mc%;fcn=pe_R1Z`8K=V0VHP#4Ojw0ZrS22^2RU zt0+qXQiO0@IH@mTJqW2^V1LzlLrU5$mq%&a!U5eNAYgLt8^X-+6L0*z-dCTU%tDyBsVm5mT_^r`a2C>;xlr|;8Zm#zj zkde{Cj==rEaN-CpQok(bHwM20A$^zAK^@f&isCm@Lo5H z>{JpMefMjS`$#fKl|4c1^TaAgegTPHc799X8<0dGs?$=qDAhs0yN-^yur%>FBARc6p@8Bj$Y^pPzCA$-C4VCUGx}eaxsc}*48d*)af!t z1sgAZzJW%iV5zMQefJgfShC$~a}J*M^k(gwY^CwmjgIWpDJ`bVm?U+G3^KLLqO69e+431?p|Eq~8i02dlf4gfJ6F{nEjtKde2d&SM+e(2 z4vXB2w;hQx{)9=1@AMLg`_5xhuuIP{S2vreO&`gu&1{)^iH|p%L&}D4Hge`JW9*m) zUxCQ1&*WLfo&qE3=N+HaQqaXEeGIUAiPh)h}t;NV^U@NO|ysonKJDn5&X|^O!{JMd##tI#%{wraKrQjkOW233idyIE7 zoPFQhElDh@t&z%LToWgC1}S^wDs3`b)u%lhrriZ8S^Nk6d7ljfd4W5yr73E~?u}n5 z?0cu0cj#V$k(^$yjU1ml;g*RKmS)KAoI#X!{EGex&eUz+&^=YCe|pYP_n-x_w6_32 zV6|nELOmR?1>9=~S*f_A>6muCR36G%u4hQ`+m2)07D^nIYb{R3C}u&QtcBRVvyz4kg8`?WPCb8P)K(hG1eo2jDKj9i-hU$MAG|I1by-d2qpppSyy-b4-Bud!F5i=UX_9i>)P zQ#X(p+@Tx!+!0U&dq%BRcTSaW6e(Z7xxMW>c)y^Z#QotQwhTP-3E532-NU ziV|>cg2)6vNcL?IDcV>eo6}Z^e5F!j{=7{01$Mn55Y||DsFO zM0CfusWBx--^}?>nibRwlw{A<@6uhr-IhWCAi`kw`dbl-F#<@JO6tWpn!?jc=;`mj z1`%OhzkO9Rh_j42a`Ep3g2g}}jZ_W1$t*V-pV8nQ*WHXXVAe7Yz!2XMq1`y3HsUF7ZgSt8H{xJygbY!B8 zF|1@U%=tFrtfeS`8xiS7ixU2iN{)GyP&ZJn!V4n^E*+JKKNBtb86fkgR${MlAqeqj zB#=wo&{dD=f)#43mDhB_Ij3WxI?O7%8S#MJr+GlCl5Ts!?6^jy2LkNy8_1p<3y53( zH?%B8=0uxeKqbJm@+yHvA^EQ+*V7k~!GaV|5S6K_AHnenH9wj!CGpb76-*fkk5&$w z{9xU!U!?IR&=FF^lK;Kjr2~p;cnZX}(y7>2&L*EIn42!Gq2zXG>D%QO<#e8Xb}vYG z9y(wZeme!vkM!mG!DM!R5m6!mWhyj^v;#2cj&>Z+q_a0FJTnrtN(1Fe5V3~5Mrge? zlDEs{2+ma8&=QHzOX?$@f>A*rVQWT&O{UjjZF~JDa{w2{CRY%O$s|J}6dp+#)gZi% zP6Pl9#c5!yVr zXh$S77|b6%x9JWwL=REKQ^HAPWHjw z_jvbz_XthgN(96hw3wUJAc*ag*`NABZSh)4!WEddM{OWWRjj1ZDN2HbSq{B(ShBD4_pP&sdxkwQmY-Gi zw$80!Ub0hQCySn(WUz|zTeF?-mB*~pjH#^Y`5^!qCjkUh+e&Il%<;OBHpy_XUJzV2 zUictfgm0kS=GwTx^Yy#9Em+gk53SrtvcGLFm*_be%f$||Z(kT`LDu!UM<4k{?Q)P= zq1w2~W44X-rC|69uhFiTz*7HRud3Tau1mUyN-Me`p0PV$3lh#aRm7S`1EJ*AP^zUI z6SV5gfEg{l+EF9d0@{BVbxecIngvn+IQy%?&j4%8SQA9jJ$&m|Y4jisIfyXE!=(5_ zDq1UnSi7~{S#ouQ(RJJV7#j#i@8Ea~w@mzTixQW4%jC~ozub?vfasDNYY^4BEdpg0 z=-|c%tJ*A>cWTTDLcc@?{^*)@5Z3Dj!*4S$j_C!sPyB3>4#Zw6K-*@>OH!@0^E=zW{v9gIC!3v^8*k-V`Z~&_S#IBOQ zT#ma-5bVMSK=?(sDfJ{|en|ub;=QDk2D?#hq-r)hnZ_O`i0unbg<^{=L+!I%MaM#B z1{URGl}g1Frq#+Hogb@D5!(e^i_^|7JWJ8PbV;>dG3Ab+=s)=qLlItQ(ayq&R2s=o_la zO!gBoLtRCek_?eR*55=}1`Jv{y5z##vAFgMDK)>!*^Um$N@G+xd&etgJrkr8+xOHR zx!_InWt3DP1OnyJPGY~8fkAeaw)ui3GzX(X)=z%n`bpIuWEX=Q=_+;CulEr)dI7Ok zHFr#-NvMAJVpT1;xa0lS6w?KQhwDUm4>HYCuOwAXl&@Vcu(Jvb-DfPe#*-`6%jRd) z@9Mbl9NQ%V3wGyQtx{Hq`3(>aq!S%|5Q@FCE8xO(csMx;1>?Tqg`xc8os@okrX$F5 zd>iSmRB!ZdkPcR1W)NxI2kDF7L6)1leoH_G6S6txl-qm#;+wVV!-N~@!gVHQT5W&* zIZCvxEZ}xbfHxm8dTMbV!7H-bTZSwtJ&&TbVH7l zG9XN?qe0fDtr@C(LO3$5cn&HA5mq}0r`%>i*rFeoBiZI74|6le=0Xfcvbv?Ajl^fG zACcEf2(?+PcOd1KCmr?)&Kk)IT4s&9I~7Fq|D;YI^=vl#oYK;0R}+GG8Vr?y@Hs;h zNRM*1Uo|$jO5C&OccGvtaZl_0F+DM?4bMY!OJlEH$lLAcy86Z%a4)X$%J2Ein^Ta`cNNrB{nZlwD< zagYK9^~0)n%f}zdh(W4mcmak7krqA33oh61M)yYs%JqBQO0&O#zHw#&tk*cRURc#4 z#UeTae@q{2LEmJLP&DqE%T_cStZtYZ#3mPQ4Rub0p4JL>wGVLWO>l@KDqc7R7rwn-`CEsB)9wUls7STS#mq_Fghig%t#Btu_szE5 zz2$i)Pz*#b5rj}8fL3%f2*KESm&%<;4{~-X7$(T#2{sPPoO~m#bf0e&`sLf9iiIZS4ih6jEPw=)%YihS)GZ;PU;z}i1E%&rRf{#1>>}$WN)3~IBl<^erSOo zP9g{*ZftZVPWT<(y{HD(#jjRH^@W5Ezffb4ub(GxrpdunKipXReqpUJTjC)_m97Pm zw`!gKc+>UQjV&lnk84AHUmMxhM?90^dfnTAHTr6q6q_9x@|=z_Nua}SZ&y1^yf$SRfz$=Z2AS`bNI5pph^`!6uvT8T%L<_IDu^10VcXEfG0sm9c5keZ zU_EbGE6jehx^KJ>ay3wh=k9d1yS@Umu^hosrd;5o)wDouyn%YgIrr)$U;I)~h5nUs zKGdal1Bl67H<{;_nTpor2|hQlY_D`^-YmM9UI;RC9YDGug62w8LRUAF%pK&T%9RYD z0;sX+JY_=8GF|HkX9M2TT)}ART4k9|)ld*vV-OL7woCg~XEa?`$gSzXCe>1Z8S4N% z2Ln-&+>Mr9O6e*4y(oR%JcxxXYbD5JQ4RETB%3^4m$F}U+t}4iz3Ea`>sLMVT3tOo z^Zd4_-zXj+1MYRp&ECp;19;tftakgYeE$|Op_1kD>=Z-E1U?+hP7xsZ@Z=qfxF?_K zniL~?o4fkO41qj5Z9M6Gid;ovq{>S9vT9++%E@;Z24*jsjHHoq`M_2cpChvj|6w z#XtpS3$kTLAU%Z3{^PMfscw*3yHOA1O+r`t~G+%U8`M&A2zztx=+Anhwl`m(QVLNCCJZ z7IJN^CnJKqE24``j7q?W`zRMqyAjr+aR14ZIM?s4femT9=@mlghAU5nnbG95=`@ie zS*qE9g0ROWvX47}5GiY9EDmSMk(>uHTk~fXXJK^!qBO_y`<7Spbto0fY2_7bqzjV# z?su%vZ=oXF4}x=dZ26sw(u4KA$67Jnua!u_jYB0t?)5u=4y(_=4wliMKeNZGYDKh0 z%}n-tk%+G!-XgEu{@nBnL+p4!DPa3Lh#)>M--I(pQK8d$nv#+og#5DY@f_fW=|{D59q}xizJZ0eMVWy z-U}L}v)Lim3FbUcuSSOb-Ze<;h9^2D2vM+|(Ec|Y*xg{axDvCqg2ab|3Os|n#A6XM z#M*56Ju`rydV!jPbGh>!IqD0WMX{1Z&R!U78p|C?0fHl77m3lm%*cXZ1X&jA*mw7E zi8f;KdJ#NdwFtwUbPPFrx2RT?^ag?0l6?Qx&nmAL#ptdOX$9jeywqy7#6gxCZj~Zi zCsc|NbaxNz%99WT91=#O<07;moSY-^$*E{%;^9PwB2J7K#Q&To>7Q{C zdpW+%SZ+Yb9gI_b?8qH(5+I8Ej21@YrXUQf`bl*gxq&ulsW4doK)({s~FM7>tM230@D z8R^SaLi9#bjN6is-o0tL!@KOg2#~$P|qaboPhtAxFXO62@CaJxH$UaT)auQNH9yj9!?>8H14A~24-!r&>?+x1; z(Qx%*98`4~q_ow9A`w0z1vagaryaBRdnKBBUHMp$yIfIx?S#}|&r6~xVuaExT;0vq zeTzX>s%IoLe|vkm{94fz*Gdq&HIW|`&};==#;6T5ccQz|3yB0{ayK82sCJ=#yx|AA zH=D@fXuLC*@uw!%iqCtk-sh_ItFo&$`*6=jy7KVB1oyTo#`hb&OZhin7II@>fNCq4 z@NS*os}eZj_9ypo!GSlQ6xG#6>sK(Obuzzlnj780G#{6*jRxW6G!h71v(po=o%Mr$ zl;XFl>Ylew)Kfw|hyw5S$3%@40=!6`Wil6AlriV_f_Ouwftt7cLQ!6!hw@ijxWEOwjqLkpYyW+b$&r#V_8W>KvR)l|8 z(JJ3-SjpnwKzI4CQ-9QH@OwrRhS@VXs7laz6NNXnfLJ~;4Zm#i!{+2k^HJgpjJCad zO^Y}17h0S`cyI6PqgB(?JOsZ94P3q^RmAg79Yi7BuOJej9RdrZM;ojH?Cy7J-RmR)?uBLpCV%ThJnZB|(B{#B z32olpCJYEqAPy*2wD&G3+FX~*c z?ro1QGAh^TOPDjED1c_W3Mz_=@sm;l+mk%?bJe54DZy_f*8-bAt9bfcn^!;GefU$0 z6}mzjcHb>TjbacbvVHaIZ-59!iO+A|6h45zHC@>t}kr^ zrgZUO^tlrNp$ZS8{@1!|a{*3AS#Zqmf^j~K)fU3aT5Y~aAU6-BOJ!@)<-zMFWEkz_ ze<+uz(FI=s`ZihXmd(5-WeMw*C$oqy&Z=OO(G7xL8pne@x_KtSv)>Vg>3ij*Bapbd z_qSSYv7X)$_;Qz*uXY69&j?K%P8p^3vv373#+nC)%^fD$83&;YUlAJQbXmunyViVC zGJ7!@jBV0pK z4uX6ch??x#iVgIkGZ#0Vl=#W-uGP{7gDfN99@Q?DZF~448UvG?IHY^2-!XvfT0^ZU zea8Tzy7^Wh2)JW!tSho{e2W7HxvU6C)?k2a@jGFn_NJqEB7BXyeNwBHTM?#w|oixFg6phh)wk16mFO*er2#kPoFVn6S6W4DmKbV(eVpv?Y2n!u7g5g*| z78U^@776IFr$^Fa53uS8V_1&(LC7qp(xXFOV!7#xn3xVsrEq%@HK&b?L{sizh?eP+ z>DpY}k&zz)>z4B0;AV-!^s3}JuHI)IZ{V3hiM1IM$r+Pr6uYKHdJ$%~Pb250f_stX zzF)-hSn7F*V~!;Kvov6E$lYsMAgTg7IeWX8le0lZKtrYZ_Bpm%%>eJ@$jXg$mkB_~ z>KH2TQAD7Agu&CxdwVp1+(fc~(bNkbBb_}SWZ^uoId58#Y^TatM#pxqiVQie6e$8b zTPY9dM>>efg%;E!U5YOJ<9$4Xx=j-W$wwT1r^|1dr@31d{Wkq>4Oe)RF<0gQCwQ9A z$ylj6jbl!h(6QpG#EqrZ-6z(HZGpx>jQI{req$pEyhSSb<|QcOvo9vCM(TJ`DV@az!tzKeLKP6-j@~t5I<$adY$X#fDuo$+8&nbL{fgNHAu-Qf0=rLZ z8f*C@t=LkXLCt3`HNYN~Xh`@DCtw#h1?xN2gRBa=e$(HznN?Sl#~sjw1aDE5|J4oa z-NLnw@R^HM)olTJ{7n}(&QUSIF+&!_o**I1=C@ zH)A0C1(1JkoEYy^F4)PoU}>yc2`D0-35{H?AX8jH&Rac@^BibYuhFdUbxTccpiXm; zDD#G@2Z|T@`Bk?Fs8c;LwtC3cHRX>jU>qmCn z8fMA6Q~n}s*dOV1$9zEx*rqP0Tfmr7gccYLWGg}XOjQv2?)q_Rq8*Z}hhQyIE6MmW zvWbu)h(Yd^u4xVw7UTpX2r~Qn^-SjavAowx$oh>`o}|qQem}wUQW#*EJK>r^P{JY< zEWQgu;~p}*+_yCu@sPsnyGI2nj1r-Y2s<9*q0HsXP^Q#NtXLh7t#=4zq$<5c(ITX+ zO2m=>8126N`aDksc`KdJVE zA+1Ko&MI@vC$zr1e;^8pZY1P?f+a8dnJ3DA8eJ5iPv6wfWuQ2g7jy|IE9l#B&Bp}s z{KZzqUT(f35p1CPah6h`2AE)JL<_%eKkwBLQIKA@{GZSwe3fQo0u>hs(v{rnX1ymL z;IM9l$1dDBy}kDnp4g?a8GYs7V<9l_q8#B9lI_JY_L-Af5eunZoK9E<5TZXZ2Gk{o z!FmW_jhIkprKcQ%{8=+wW<<8=6|O?Le@|N@VyAapB}IG$%b+_ygw5xOwLuY&iOTXD z3k(UQiXQu&R8q~DG&QiQFR8#O<=?WiCKAx-+A(t}`;(E*_>W_~a(ShfL&7*h4i zFv_dLRw@n;k^`4Wq^eQ|HL}{c3T-irK&YMtuR!uo0uVo^UP?jPLKGz&-)sV^97Wru zmKM?j!Hdm?4xg_Jh8ZJiu&l58?V#$mYPkUS2s#LDHp2&OpNp^Ctm}1~RX&}E2nLzV zu%vtT^k8#d^1mx%)ruF>!kOTcc0ppwZSQ5=8td8V#|i+PwL^+3sDu{Cmty4G%{FK# zF|!*yk7%t{XWn#~xm!TIyan_yPiGEy`}X=4l|X{>1yScG-0x~N*NKy`PEPLJAi}F$ zLkF&`;HIZcMkj*7cizuY>OGchvd&uyAgUC@?aol-wZ{nluC%A?D22a%&W2{uUE>vYm(^%FT+E2`|Z znyl9by01;Q=$kE`nLUbE`vzbGxx}9BnG7s)6XXIu>87(i!MFmE9NC#ztkwHWCPW0F8?{P&t%{GXVdWj8mx7|_Q(NjiiB=S> z2J#?+Bh3f-S8j^R;koJ1?F=!d-RwSqdrqR-jB;uX!*F~@aGKl^kcW44f}$ZDLH7;M z4p;^4AqmYNBZv#$BB65kAuv+0&EebNx`A|QD99|I1` zE($0NcaaZ*O$7GTq%&x6Yxy1yrecERK0n1-=p{XZJkpp6c6)1ce1=I28lngM11Jn? zBaFZ*Z`&N$LFAn~UBA1DQX717qSr$Rr!ipm4$h7~4XpL+XE)#2i3TId*4;=w81ZJi zI9bkPcH!1E#>{aW)9W{`Y}tYoubW!G4J8Horn@_~lpTWII2XXk8Ga0Ir2FJ5SfvfM z5-a=En0r`*+~MX+JO;PBdpQAYcjPH4+dUkRFo)b}x$q=Oeo8X8?b*gI4>TWjcXv>= zTBTd+?%rq{tin_v0m}0xMrX@yK=Z+4Qd4@d(|LzZgkft$$aA#$elPX_A zSdQyt5y5^6fn_1hU{w;R_pU1gvTSkQ&%0jtqpoCehz1>g#|a3@rLt?BmS&OoZCS|#b5O;jU~8-$fA zA*R~cU+2_GPj6f>^pnhL^U_a9+~AqAdHGlcTK zfAw>O0x5e>_a9m$W3nOVHz52VmxKVJ9UFxx{M;1J&qA=Fii8n=R9Eu%+PYSDrTrBENo&{KJ3%Y-*{osOp0$!(*j1dRwU9eee#1^j0uOyr)HE!2+`IY>d#TPJfgdC)QXYWi9|-N694Zi?woD|mV}Zmbal*3pGpnk#X*!MnK&`h-KzRwDlvJC zK>nong1Cs(!c#Tz4aiSI#U;RP56le?jR?fOqyq5O8B}$Gd;wU-YoZ8ahY)NA3puo> z3?S3gu+y?w z{7bje!rMjP(>L8d3@23GPXcLcaR!nwk%|ROmh7BXGm+o=SV$e#y=rKh1uJ^LWugr( zSE$W>rw-?G@thq~M{eZ==#D@fDSpwP^mqvsT6fUg3a12gifn@hVl)Ix|sN*LE| ze((A*#^5araY|{hmk%u?w!vB0H;~B8gLt!I19{GJ!l=P<#D*e+GzWPfE-ge7c5X@6 zPx9*eg}P^wGpa%zSxM^NNRcCeYodpxo*@sFj-?9O7Cuvgl`sM?4&oj)=X;7`QR*WtRp(?~khP;=CxX9IsM9@q=)fj8#Wb0>DJMzjkqf~U=XVCig z(QcYxayw>HAB@b7o+97EWLl9a-x;*sDg&0PmvBlXgkNO}yF1eJeY_DzAo$3BF;G{6 z7NyF2JyFyXbCYho&gBw&g>L#J$Fy7c2&fvA_Mr*2KQ_qgo_H$CREAZnI|2jBD-D2Y zS|yXPy4Q}J`+Gs(oYq(q0-2&3QKeZa$O}8_-t~tp$|DrPqeg;>1?(V>*APlTvIJmO z(A|Illk$guc)PI~0LFA~a@6ev!On07QE7IlwCa4m1d%v!@d9PqyY33|77zxt4sc)8 zK_)qI*X=5qlDx}qYDH3ZCeFRZMP2uH9o5xiumD{^qQAFFhT1W-2cn`uYN-#5#sz=x z4Yufnb&uXM0CE{dCZ37Y8pu_VHmCK9ctEh4T_PN^6?TGrbdp4A!(iMq917#ERvRFQ z;DmmWkof^@d-@nizT+A(B^n%Z?wUHL-2!UEOB>I>r+R87+7`x>#S?P~wOwLWOEQc3 z)&7K~cKN0&I`Zy)2yJVwm4rnDF*KJlv^&fn6XJf%K4gZmv0TyLu~_VMN5C(EH;wNp zkol+Y1n%)X2gi7{BnS7dP35A88~RGPv@@ak_Fki*1Vt-`NQ=tQcXFuON(YG-X-Abb zoh?VLAgS}tj>(?EOcIc=P0eFr)9QPmbVbMA*j-|PEf;~LB@BqJa1D%I< zZ)rF?L&rSIy|SA01G}MCdu}!Wey}CgXpwG^1wR2qsb(?&v3%nluuNfOLPWz2fcwMN z)_ckebAh-6e)42xW{s^sx&spl_y0LqWp(Mfv@C{MeS`ZcOb=*S|)S95KNYU zh{etz;kakmD2p>4X6U52KrH?a0bfj6RYiLzC&Bw8rMsH?Lh?BHx74U zysuT(%$Xioe*J_sn#HjQ*7_rBEjPYjOd|Y$-Y} z3In^$l2zU-ZpeYYGGYP2Mbb@Mx&6d%@r?R0XzzT!69ef%TL09ku3zE$zQ>I|-kpJP zKt|)OBv~~?kv&6NKak_djMTF)dMy18FSE^AjT4B?P@Yl$*i{)|i2hGDkNL69K#OO6h4ELOQ;QLl?)EXmv8ME_0X}AI3+id zJ={ocJYJh#>bQQMTe;mB%Q(<1b*#5v^cA%jp0`HbfkiN)MFJXgD zz32#p-E6GZTP3;vyEW-nKKJm;06qw99%N~i`qhdX6pYpOaJO`3XGOSdcPb;+M1*am zxizsf>*jq0wAohnvN4GA+_$+EN(Slv{XcG~@{IK(3~n>j$SsOg{|;fuEao+1w$Z1y z>PIO3eIrTGzJ8lt1n4M?lQ0U?>7IV9Q@6_+W?}pdQzm{8((KCW3dX#XTS}vTC5>yf z!jtu5j)I`MDnV{Rb0354wfwsE*mD5(YvhE)vycXP6sM4U(m^As>PIKte6G=5_jJDE z06R)KlWVd|&bLVAK}T{<;CJ0H^{z$fCfa<aw0DtfKk-c6~^_DVVB zppO8HXEz!3R2ge9Ns|sqKE?|t?M%%}Oi>e57G$4Fx^A+5MXJ6S ztmH;o+5PRU^vmRqgzp*=lXtpaSwH-%%YBkBWvm2O&3*mZ7pC#><(M$UewYKDzCO?Ej~Drj0^#5zaDkISc>%h4G7FSppEvZ3!U! z9XkPW+5qG>Ju?7LYDfw>a5>mMo>426AabO-c`FU))~4`B`762iiL+qImud{lt*z0@ zoq}{}Fo>vn^OKZplgKStN@1|_4+lwf)T%1FL3Yz0ga-PSiR5oS=S*5}^u&Tz0zoa4 z5@L`H!u%ZX4hO4z?Cg`)Af;>9tupHX2p;XWfIeK?GHn#`2XZ3UrmBSiyZOFeW$*?m z4_B|b4c!ZYxvC=v$wYd%yhBmgR=?U1Sl15~+|gmsTa#pFcU6)dP|!%~#BU^lqp2b= zH4)^1bR_${R?s`Hlf%SVhhBAe?JnEk7z1q~17oSmB}Zz7HurQy<9g zbL%t&)rX^Cp=^DSiI(^m&9s6bkMBvw3EqP>7Rg__f2~{zAD633j#%oq`7#LzvYU@c zKbg+JYgL#t)2ETtriEesh>?v%z1``7RUlp~2YRD3{}W;zQG#AS=6EvHIrQw`&DZD~ z%VS|{L>Gl98_uJt8~#7E?D@j$CX$wf&?-TtFrPg(nE|4@2eoECMu)YjlBj;1;V#1- zI@8D?oSNI7XhsV!p8Y`x3Nj;*vtF;>7!2S}@LSV2KYt*^q2GTY6Pey#n3(m0rmnYX zB%(&p0m!LeH))|`JbHZ36^6NzWKo8HYak~@N?t#wIJ|MhK3Y*J98z#)$)ip8nVl|b z9(wz#U6Quk)1i{`>okd%${pI=zL9&44nUZ+e*^bE`e9PM;P9rX>M%(xT`S^(O=cj< zyV)$eM*y#1_mhXpB2qQtW*l;bFQT}xJyaIAbGV(rWOPGuphooBXes2bh~;&Kq}gbF zWVq`>O-2#86QPkm@}1+>iqP<8l5&_7>8{2ozGrh!wP?j%OpH2#Cm-qIlXFFr8fTwn zPZp_cnpqrdMrp97U8}u)1tQWFlIq7xS-;-GZk6kIATq*c0fukg1Q>4Fi)Yl0rGK=n z)jppStTe*)TZspXA9ZaYn>9|+&NmsIxY<^>yIx&(+-7^Z=f+tvL!7hd$y-x`wz1RE zR#_H%{cy)^ZrQX(de0lI-(){bR{t2Fobu3}{StuHn|dHRdX4o~DI^oV37u@hgt6Ah z1cVPjZG+6&8H7hOT}SP9GjFhr@mdj^C;S-&VF{#2>)I5sZa#y)p+{V1Ejd;b@9148 zPw#}blmch@I!OdyKg9-7Zu`F3`)J92^S#&0oytBRGuUZ%BlWq4Ac*WX%a^>ZkqU31 zc=Gitv(yTt?*9sLX6u>#K^S5K{JV+r*)0XY2r2Ag7GAWDDRi(R=FF>B&{d8asVhjF zg3NUSA*pV^PQFJCYh?$KfEC0J#5x<}x(N$*r9v9yf}1tM=$$|?vkX%6gS>9lkRO0O z@s31v>bCDS)oMApAgd}Fq%hF+^WNW0w|6Yo55_i*yk4p^JGvBqcwU6qj9fC{{)sMKj>BI*z zyMw*K_gG|%F?ES{_hFm>-7vded**Z8Q}Qm;RdGr?(JH;ih@SuEw`lwsjw0SCEeoCJ zn$l!sduS`@lA2GIb?G;VXyB}OHsr$h!5C)tMwgXC3&3E-_5^}gaNDey|8tH=X=Sa~ z%DX|oWKJzDec9Ej2`jD9hE;>C_QBp7A#pocmr4~QacwNAMq>+qSVr}ngY4XtK9+y} zTEQd;on-!6m6Q)+*$yd4mHws!!#p=scPawV1*lCULF*ul;=SH&Y4pZ$S=se`$Y7Ch zt!Uw>!Upp)Kdrm&W zVbME-7G7Cy5T5F+4=}RuV3H%kc_2z0PFRSVV>$cOFZw3aY&@jc`X^M~0qMl8WpOi& zX>|kXk1F>wN4nPX2*~)Y{#2{iICui00Pp^P6K(mO-T!+m1Nttgi zO8^Jyc1W8;&o>)fRFN30vZxmMzsCgqi{#%(r;J@q6d}(1v$@61JA+-383r~Ea?G3w zN%AC(j4yifn)wHY`;Np3?xPg$-aE{lWw@Og5%VCuqc3%-?H6pqYbTID6(pHA0F(}J zrTBxTO|DypT=T~?K}7Z=9gu9(Ai@YoC}34z4Hg++tKyVe?WXXJG&xw%mdA95BGlL~i^8Htm^M&6(V<}R zDrGH`h7iQ7Uxw4OiQIJSSYpGcjNC`)cpH-Vs2_dQm5RYWC3@z7Mp+M2kQJG%3Da=X zQIJ_82b20+tFBTV8o!)dGHkB&*RHtP1lp z`myaG`QkxV&l^M$)sG|O7&ewTQ5FzKY@hOR3IcftaSP#2Z?8(U%p9nx#OQARIiF%N zW&PZZz=_(ZOT2#Sus%&r93Kxa6~EnlQVjt+_4fB~=CebPnc`}qk~*e|&Zd^oEb$Sj zAY{I$H}yNJG8&{w5EeiXIvpkLK=V*%92XgwXSqmG3nc^=v2LW@&j1m9xTRNSIZ-2` zK_@s-s1ll#?BC3 zuQT4PvhVyIWE4dTrer!8V^1qvc<;{zkV`%kNOgr@3sR)9?XEEVbz8R1hH1bX9Q{RQ z&~)LYE;UWugXFSYKZ%q>9a|%>QIIVoas4vNgNU)`R_J$kM+Q@ba;>U}->P=?qgJ;) zhj%Vg^F2BjIuM1rv3k)uYLOa=&a2;;=T4bsr3FDV=YzA{_Sh>J{RHVr8wTM6FX^f`^)kxM$|E|7?VlTppvVDaE4R*)!;DQ3pDPnv-*iu-m_=4SC_PdNLpG| zMrd5yNIrE=M1Y8g4xeB$y#<*_RoP*!3Qc9R5_3f;6N>yi8}7-6u5mS;)fM~>CcW6P zv(qkICq>RVLao_pix(Q`IeZp8_Anbw9x2u>YZOGRv{f2ZC+h~tfv z(W+I#XR~#s&hO7!YUpJ+vL7(OI#po0PCYL%$jr43gDP$^=(^Kn=ytv_{%|t;;YOlx z@KpUOwyGZqvoB46QQFbHKlmhD)UM^GsZ@U+Q==TcqTZ1bm*Pa`<&$7tWn2d$!{oV& zBR70C35KN?9KEx#5iGVc#mLl;&cEeMZA8qObc1>0?&MXkY@&%G&818A!$hqh2vauZ zA;C`;fqjgx+AU^XBCu8UPwr?0xukr=QK8e#CmDN8PBF6#tW)YY2<|Itw3Yw6T>rRx5<;S~->$L7eQfx*)o} zO?TyBiLKtZxWx-M(=JY+2Okbuehp%;hh(v)>(@*9U%v%F^;4P@9auqFYoy&a8)Wy8 zgM8{ms~Emk5>nUiJYnnP19Z%V^K%ngxj(-B<<|_hOnt3pme((Ohf)rG%8xyc<#%*ts zh8xvwg8-5;xGEuZtPfJ2rf!)R^!8fyA(gmF@cZ@477xN*J&4@k$x-xNh3cl`jg3FM zP%wa)`DBj@o5aD0Y^zL;xKBQqU`nhW|GhGna`1x)8C*ZFK%EWDrkESjX7Uy4Cog@( z!cQK6g?0$=O7E=_ueh~ky0WG`nxyT%k~c_Vce`6REZ)aMLJEmiU3QHmh-*ZrkS+%) z4l-miJ0MP*=kzdvE%NoN++wCy+26G~WTN)VUszJ{pgVGUt@BKiFE%^n8JLos#5Y$R>u~wxHN2~uSS!P@cE~pW_(b!tQ{UUF`Y~To{0=PW1a~G^i z8sH{?kHWD_>DPv55Pt;Q4Z`$AE~SxDj?cQ~_%)J4E6r0IOS^tEtsbn*L#^B@hhD9e z!u-`pcxYm>ex=Bp4>eXfvY~7tz%eKY^>ou!2e1`!Bey&9Yv22}az$P3C5aZoZLZe` z4#0K_qF5y(>R@@PVDcS*9E9P9Tyb17sx~a1a0ycB{Ppw3;EfI`ziAbPOpFM_BrJpU z%_bueXzBCYoM%m%&xvI_51Dz=9bMV)0DhcZH}kq~*~ew_V`u2?Fqv9)6BMoFCgKwEU3iEV}u!Hi@Vk zYRTGB_$`u5YA4aR#v6G8vL-WQ1My35puN2t-k>%yh6xNvNET3xyhYfmB5jQY+uDEO zxRGEXg`G&DK}H};2sdu}yi+-O-IQCi3_`%HIH#+WyIX4kXkfDeupPn(9dqw7z}d55 zz{KAF=T{I3*4BhmqTC>h93Nx{0Q6%t?^)LxxzyOY>jo74FHX9leRkVx}OySJ_D2b_gk8NdHV?-buT|a(j77E0W?ynu8R*&?>q#!Q&w8X?32^Ykp^XX&KD4x98`tZm=P=DPPoLINF*B|S+x}WP+ zk=Kn>ozP}Gzp>dOlIA~Sb&wNzt!aA$tM02-fWUC zVP4klB_eUys04uQKN3k-kN%-p~ z9({*xz@tYDq>gW6Nv++Q-uvaKwhThkE$jo0VyCw?ytx;Oz+65|nC6^6V^(GllY;Ei zL->lV_??=Xgs@MDc8zkU)*+AkG9ZIUB}8qdqp^L$oO~+g7T*ez$J`vw) zfs@thj6WF!)^0FJRqoes*1LYyMjwQZ*hr+|WY9*xeygxqt5R>ZVmf{OW}lT-_*tiV z$7@A*{k~P1COWj6Dr+{N=C)jN<`0Ywj!~{BvI*v%zNw+69!Y@z(E8N01X8>yH&e@$PdNY9EaL~#LmtF(6puWw@@t58-du8^qrZ8b_5NxVQ zma&@fSykOQ4c$ai7!hl@ir^0NF*&ANL^h(V{2;su6W5PykIsV-H?0~Px?|nJO?Dph zRDlyfLhOv@J+d|k19#mx8DBTr^DbaeH3H_(IyNOv1=HhSl*p}+Ms&YQn; zqqy74K}KF6g-*X!zP(hjj7%)^VxK#}w}5l2?e}gg-&n)lH1**?B;@vs5+XP*P@19@ zkcvlNM(-JoU?(z>CDCw3Q%`kRXNJ`?F1h;UGlMC`Je*4ecX~NWa|4l3FK7l)P4Y&% zbW^Y^#f;9pz8^qU^OLLjP(e8K$E$e#&|>gU9`}6F4Sv<@C{zS^BMEbyND<g&dh+NJ=G8+cTy+T4-iH06I;$Ng5gs5IC`VCR7 z%{37%+L7MiAqGEK=QZl%?LkD4zizt=rp=XgZ&4?dNPBK^BW3snVdUL>MEZ;a zFi&`%m~iD9UAu80e|(z}OsyXgR-~no_!(0#-7qXXda&e_TM2SI=jk}I))|#d0$Yc!(6xOjNB=~x@(gFW^mBl5)Fe0_MGifoN7@6E_G7OYYoaALL2KVeI4XNwivQt zOQwsOs&4ZQB~{E0vL{NRt)lbm)~D1%FTk4{I zR+;nIF|k6zKtwrv5yX{>?T)wJG3B&5ulhyI?Ijr-!UOE-J`hD*homk8wUZ^r+8t5Z z=S2o9hQ1N5Nb>(-MpgV8AK z^+cgaaGR|ciLn;XwF$Pu&2}RGwN{GPI$lRGP1bJDtpmyMzS*#>q3ky+BD$gNIsxZ9 z)$Q7-%IX%xYQ3*MM1!ko2*xakDyh5O)B!&F}+mXDZPQT<8=_jo+^_fbU$SrK!~E z?v{f_j7SziSEP4k6-2yGljK##`v7LITP9+0mBEs3gy9~w4KVX6rRR(#&dnAp*Uf69 z`(O(2PBpU2u>^>?w&~nTW?+U!_GyN_e%(|S+1Yj_?CfQCmz_hcXeP&2zupQ6g6=k7 zupY=sF3W>;YzFnvq>*T!9#swUXANGcUr7#UXp-4k^g0l|4(9a~gGF+=EQVJhk)wk! zH#~@Xy2q-SjV)fc)x*UZ-B}1CM{}HkjoS`6jb@G1F`nBPtQgT?-8H143NyAvRNS{m zIU+f{v3MT-j37aE)4c0MOv(D;yK|&CME&7>$-sz^HFa5EH44P^xQqxa%c&I0Nz9Ir zGbofCgpt#da63z??SbX848{_55?u)0ldxLB-Gi(i&DmhqE(EOA=b3x_g6Pwa-FPQ2 zrHVQl>5I@)!xI?hQ%3gAS(t3AVn7~5fB`z~Wi>3L1vuC-jGQbpx=f07O~0H*o2ghW zfc)UmMmHimJGB$H02^Ke55^U?M^c>9E>g1S$lytJTA{}U>ero!oo5 zdZ>{qDxXV~faVm|kC8MCq-<*Ap!eY|1WmICft!o-(ktB(sTT~Ms7d=cCIA=wL!545 zV32(p0fY#hLC_7 zG20#YecjGMDy&5SbWAL%6YCiI4uAm@M8G3kq1haYLK;Ka`O;}NhrDAaELxhoL!lu< z0P9xA^~+h9j%ImviEtQ4XcM=4<2EM1U*;oPrFn)F%yT7rg;U328Hg#UN#x=wc#e`a z9mxMc)8kcz9Tt_8W)EmZ+m_;OQQYu&4rEpWfn2Q6?ts*kY{Nc;!~OtZf`)MVqs!mT z#^gUVkpkn?NfbtO_*JgbY$Q=Z&iJCL5r=8t=NmD8J*)AMq9moU9Np4)P={4o0m-@W z4fLuxZ{61BSVv)WV1d?P9PChTfEn+ZAO*hA0N1pk(Q_tDXD42Cp;PoMN^Md8sP-yS zrJd{dpK4^v<*%7x6PZcviWEgAi}y^7Gp}HZdOE8U9rYYa5PAJp$-=b4AvlL=u{TzX z9n=VW-1ZzEsxueXzB~nudm|(rEBF3Zgaa=6BQtb zMq+gco9IW}6-=rh^{*CtFb0}s`UJAU8=a(H__MDofA{=%_eDS7B$hR3={Qij{TE9e z3Z`7AQ6baUhUt}~)<>*99BeImO?hBMAKTqSdqKn{tkMU0{WxQdX|y8%dmk9I++M3z z-0)R1_@kh55Zb!2$=CZ%eK1NofkB$~a+5pHtdgHFR$>)|0eJlwqQfQ_A`S-zUA`a) z|70Vvdv7EbbX*xFbC(jL%k0zP8*h<6AXxee(+DnhBuZtnL164-l{)|+ z;qj)+Ovt7_j|vQH4g@Ua$&+2kTX=L2~GVNEtoIrMgn7r`_v!am!!| z5ZA9b;O5J!c_T$&=BviE?dkW8t_a8}fJh_6h}P+ZZ=_`kbjvyay3Kk5TUbap_&XWu znSxv9UN8#*6t*4~1u9{q7)>@hM8qVWg4K^Qu5lKx9XX z7k!Bkdp5cGeEF3_agGxEJQDVgBE(vm7-51Grkj6@rLy1Z=O15)SrC{Y2cY>*hHxzG z7i8b48Am5CuAA+(1U#Jzt(9v9;SPk8d=Nt&gg{P4*9uV|EPrW`m$+k_wYvn}8)z|I z-B#X}QOgVwTf#yhZtcJ6G6RBG?=8u?r?S}5EL2%SpjwsmhWg2 z>?-(xdN83z?1D%d#O1$(e6D$SXK+xBvLe=~%MXKG^dM_G8n4Z2&znDA@^&Y_{07I) zH_~~4O_yV%ALfjMKm^ZTKiat65l9Q{X~kPQh&?B2U~^Ybw83O2HJ$mr3Pg2vtADhz z`>LppixSmks*d+*=-VDbJr*)^L9bxDY!T;?TCKn|nQQ-B*ndiKL9>%9EXCq}HIg|< zuE=KhX`>)i)Ad6VUX;E2VgPgTb)c11m_TInJl-&{yD1Ke+1oI9Wfxx}-ck|?X~+30f+)uj z4wZYjMkBGF*bd|Z(2n_e4Pc9v#RvSnWKWdxRJUh6uirE4O*-zWmpWC8Oi1i_^~$Rb z(xbB*=AK7udX;eY*3i2H|AwXPbV(XR;2SjC&_=f&7aPOEMZ1VOtu-(MB+z4=&1uT^!y>(~1x>sJleAQ6gj zqL^EyM~fe9X;)*P_tBDOtOTGg*X@-MtkDhBGfoYxfaselr3JEYC$3li@|$cT6!&MI zYeQR~M1$u$I4SE}j!WcQVnn$Y9xPkvA$E51z3iQ+5YS9%(ncrID6g#64lZ*h{8M$+ zC&m@B$DM9w4Qd?2?ZO?1nzo5q*7@R`v6CW7*k-{?40PV?qQX>GL%J{gTBhf!O?U$$ zv5k%|C1Q9VX|_o;TDJ<={0bF6$IPD8nm_?#6V{K#QQm&u$F3`aFfNH%ZCKE2LX8fW zfmqN7>!XWn^i{M2z|*=t3(F~w#e-csm20=SG>AH>aBjNU1hwHs9HfVMU^CcgNw;ol z1Ynd-o{{NJym3x?*a*J9PDJbt{YTO8^}0+D!{wrZjq|)V?7TE|WA|`vOWJksn|_rZ zr2NVdo9@icoa(cM>vzd&7{-#@#91P0{s|+tr{BXbI=xgBJKDQ_2a(mXY>Kj|Mr{Ok)5Suh zQRDUVVfEHTy%w3Ql_20jEH@oCi4sK6_0?vAaRIIvQuZ<>!mGc`YLUJ)J;+NTfV?OV zbB9A3Yamsj5v`aX{?)43`6X9_2w&cOFVhFaJbR$7(XCsq;09VvTLWE$(m;1hdP7|> z8LV3}K^S$R#R3x8e*Y|}T7{5eq+Q0XjR-iAUD|YV06(p&Hb{0r<9Nd81ii5?aUO3L zkE_)reJSPweF2=tcDpL0n~uG9Ly2E?b_PPe1}A7!OY3(xFF-OOUq3==WAU>Om-kkI ze(8m}`5NdQCb@YANW0t08BPnGYenuv^x0URE3Kd8U)Ti^L3`7=ZFq~~QAR4%$F7{$ zs(YS6_*`ipkgWaw~Eg>@VD*JF&f7qe7;{&Bmr%2f&LFnJB zR4SNvQ4c(Qu`pc2al!UN?H41(rNb`!SjkJ%d5sncVY5_gv=Bh{g3PZYNMcVELg7U^lf{nk`c

    BQ{ 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

    b~Z_qTul2IEYo{mX$cXxPU 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°=A(J8pLp0K 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�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

    +
    +

     

     

     

    + + +
    +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

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

    Nov 13, 2021

    +
    +
    + + +
    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    + +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    +
      +
    1. Kaggle
    2. +
    3. The University of California at Irvine (UCI) with its machine learning repository.
    4. +
    +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    +
      +
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    +

    For Boosting, feel also free to write your own codes.

    + +
      +
    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. +
    3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
    4. +
    5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
    6. +
    7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    8. +
    9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    10. +
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    + +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    + +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    + +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    + +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    + +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    + +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    + +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    + +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    + +

    For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

    + +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    + +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    + +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

    + +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

    with initial conditions, i.e., the conditions at \( t=0 \),

    +$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

    with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

    + +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    + +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    +$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    + +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    + +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    + +

    Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

    +

    Part d) Solving eigenvalue problems

    + +

    Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    + +

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

    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Format for electronic delivery of report and programs

    + +

    The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:

    + +
      +
    • Use Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • +
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them.
    • +
    • In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.
    • +
    +

    Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. +

    +

    Software and needed installations

    + +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via pip as +

    +
      +
    1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
    2. +
    +

    For Python3, replace pip with pip3.

    + +

    See below for a discussion of tensorflow and scikit-learn.

    + +

    For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +for a seamless installation of additional software via for example +

    +
      +
    1. brew install python3
    2. +
    +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use pip as well and simply install Python as +

    +
      +
    1. sudo apt-get install python3 (or python for python2.7)
    2. +
    +

    etc etc.

    + +

    If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely

    +
      +
    1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
    2. +
    3. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
    4. +
    +

    Popular software packages written in Python for ML are

    + + +

    These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. +

    + +

    + +

      +
    • 1
    • +
    + +
    + + + + +
    + © 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license +
    + + + diff --git a/doc/Projects/2020/Project3/html/Project3-bs.html b/doc/Projects/2020/Project3/html/Project3-bs.html index 85eb0aa16..47e28dced 100644 --- a/doc/Projects/2020/Project3/html/Project3-bs.html +++ b/doc/Projects/2020/Project3/html/Project3-bs.html @@ -1,31 +1,28 @@ - + - - -Project 3 on Machine Learning, deadline December 16 - + +Project 3 on Machine Learning, deadline December 17, 2021 + - - - @@ -87,8 +100,6 @@ MathJax.Hub.Config({ - -
    -
    -

     

     

     

    - - - -
    -

    Project 3 on Machine Learning, deadline December 16

    +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

    +
    -

    -

    Data Analysis and Machine Learning FYS-STK3155/FYS4155
    - -

    +

    +Department of Physics, University of Oslo, Norway +
    +
    +
    +

    Nov 13, 2021

    +
    +
    + -
    Department of Physics, University of Oslo, Norway
    -
    -

    -

    Dec 11, 2020

    -
    -

    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    -

    Paths for project 3

    - -

    Defining the data sets to analyze yourself

    - -

    -For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say - +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    1. Kaggle
    2. The University of California at Irvine (UCI) with its machine learning repository.
    - -The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: - +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    - -For Boosting, feel also free to write your own codes. +

    For Boosting, feel also free to write your own codes.

    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. @@ -188,66 +186,47 @@ For Boosting, feel also free to write your own codes.
    3. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    4. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    -All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    -

    -We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    -

    -This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al. +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    -

    The basic structure of your project

    +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    -

    -Here follows a set up on how to structure your report and analyze the data you have opted for. +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    -

    Part a)

    +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    -

    -The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context. +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    -

    Part b)

    +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    -

    -You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. - -

    Part c)

    - -

    -Then describe your algorithm and its implementation and tests you have performed. - -

    Part d)

    - -

    -Then presents your results and findings, link with existing literature and more. - -

    Part e)

    - -

    -Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. - -

    Solving partial differential equations with neural networks

    - -

    -For this variant of project 3, we will assume that you have some +

    For this variant of project 3, we will assume that you have some background in the solution of partial differential equations using finite difference schemes. We will study the solution of the diffusion equation in one dimension using a standard explicit scheme and neural networks to solve the same equations. +

    -

    -For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended. +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    -

    -For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras.. +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    -

    Part a), setting up the problem

    - -

    -The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). We are looking at a one-dimensional problem +

    $$ \begin{equation*} @@ -255,7 +234,7 @@ $$ \end{equation*} $$ -or +

    or

    $$ \begin{equation*} @@ -263,15 +242,16 @@ u_{xx} = u_t, \end{equation*} $$ -with initial conditions, i.e., the conditions at \( t=0 \), +

    with initial conditions, i.e., the conditions at \( t=0 \),

    $$ \begin{equation*} u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, \end{equation*} $$ -with \( L=1 \) the length of the \( x \)-region of interest. The +

    with \( L=1 \) the length of the \( x \)-region of interest. The boundary conditions are +

    $$ \begin{equation*} @@ -279,7 +259,7 @@ u(0,t)= 0 \hspace{0.5cm} t \ge 0, \end{equation*} $$ -and +

    and

    $$ \begin{equation*} @@ -287,18 +267,18 @@ u(L,t)= 0 \hspace{0.5cm} t \ge 0. \end{equation*} $$ -The function \( u(x,t) \) can be the temperature gradient of a rod. -As time increases, the velocity approaches a linear variation with \( x \). +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    -

    -We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    $$ \begin{equation*} u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} \end{equation*} $$ -and +

    and

    $$ \begin{equation*} @@ -306,7 +286,7 @@ u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, \end{equation*} $$ -or +

    or

    $$ \begin{equation*} @@ -314,49 +294,43 @@ u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta \end{equation*} $$ -

    -Write down the algorithm and the equations you need to implement. -Find also the analytical solution to the problem. +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    -

    Part b)

    +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    -

    -Implement the explicit scheme algorithm and perform tests of the solution -for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). - -

    -Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    -

    Part c) Neural networks

    - -

    -Study now the lecture notes on solving ODEs and PDEs with neural +

    Study now the lecture notes on solving ODEs and PDEs with neural network and use either your own code from project 2 or the functionality of tensorflow/keras to solve the same equation as in part b). Discuss your results and compare them with the standard explicit scheme. Include also the analytical solution and compare with that. +

    +

    Part d) Solving eigenvalue problems

    -

    Part d) Solving eigenvalue problems

    - -

    -Follow the discussion in the work of Yi et al. in the article from +

    Follow the discussion in the work of Yi et al. in the article from Computers and Mathematics with Applications 47, 1155 (2004), and use your differential equation solver with neural networks, set up a simple square, real and symmetric \( 6\times 6 \) matrix and find the eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    -

    Part e)

    +

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

    +

    Introduction to numerical projects

    -

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

    Introduction to numerical projects

    - -

    -Here follows a brief recipe and recommendation on how to write a report for each +

    Here follows a brief recipe and recommendation on how to write a report for each project. +

    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • @@ -369,12 +343,11 @@ project.
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    +

    Introduction to numerical projects

    -

    Introduction to numerical projects

    - -

    -Here follows a brief recipe and recommendation on how to write a report for each +

    Here follows a brief recipe and recommendation on how to write a report for each project. +

    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • @@ -387,63 +360,51 @@ project.
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    +

    Format for electronic delivery of report and programs

    -

    Format for electronic delivery of report and programs

    - -

    -The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: +

    The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:

    • Use Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them.
    • In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.
    - -Finally, +

    Finally, we encourage you to collaborate. Optimal working groups consist of -2-3 students. You can then hand in a common report. +2-3 students. You can then hand in a common report. +

    +

    Software and needed installations

    -

    Software and needed installations

    - -

    -If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as - +

    1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
    +

    For Python3, replace pip with pip3.

    -For Python3, replace pip with pip3. +

    See below for a discussion of tensorflow and scikit-learn.

    -

    -See below for a discussion of tensorflow and scikit-learn. - -

    -For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +

    For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example - +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution you can use pip as well and simply install Python as - +

    1. sudo apt-get install python3 (or python for python2.7)
    +

    etc etc.

    -etc etc. - -

    -If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely - +

    If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely

    1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
    2. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
    - -Popular software packages written in Python for ML are +

    Popular software packages written in Python for ML are

    - -These are all freely available at their respective GitHub sites. They +

    These are all freely available at their respective GitHub sites. They encompass communities of developers in the thousands or more. And the number of code developers and contributors keeps increasing. - -

    +

    @@ -464,25 +423,18 @@ of code developers and contributors keeps increasing.

  • 1
  • -
    - - -
    - © 1999-2020, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/Projects/2020/Project3/html/Project3.html b/doc/Projects/2020/Project3/html/Project3.html index 02711eb55..de797d882 100644 --- a/doc/Projects/2020/Project3/html/Project3.html +++ b/doc/Projects/2020/Project3/html/Project3.html @@ -1,72 +1,164 @@ - + - - -Project 3 on Machine Learning, deadline December 16 - - + +Project 3 on Machine Learning, deadline December 17, 2021 - - @@ -86,49 +178,37 @@ MathJax.Hub.Config({ - - +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

    +
    - - -

    Project 3 on Machine Learning, deadline December 16

    - -

    -

    Data Analysis and Machine Learning FYS-STK3155/FYS4155
    - -

    - -

    Department of Physics, University of Oslo, Norway
    +
    +Department of Physics, University of Oslo, Norway +

    -

    -

    Dec 11, 2020

    +
    +

    Nov 13, 2021

    +

    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    -

    Paths for project 3

    - -

    Defining the data sets to analyze yourself

    - -

    -For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say - +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    1. Kaggle
    2. The University of California at Irvine (UCI) with its machine learning repository.
    - -The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: - +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    - -For Boosting, feel also free to write your own codes. +

    For Boosting, feel also free to write your own codes.

    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. @@ -137,66 +217,47 @@ For Boosting, feel also free to write your own codes.
    3. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    4. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    -All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    -

    -We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    -

    -This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al. +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    -

    The basic structure of your project

    +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    -

    -Here follows a set up on how to structure your report and analyze the data you have opted for. +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    -

    Part a)

    +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    -

    -The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context. +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    -

    Part b)

    +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    -

    -You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. - -

    Part c)

    - -

    -Then describe your algorithm and its implementation and tests you have performed. - -

    Part d)

    - -

    -Then presents your results and findings, link with existing literature and more. - -

    Part e)

    - -

    -Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. - -

    Solving partial differential equations with neural networks

    - -

    -For this variant of project 3, we will assume that you have some +

    For this variant of project 3, we will assume that you have some background in the solution of partial differential equations using finite difference schemes. We will study the solution of the diffusion equation in one dimension using a standard explicit scheme and neural networks to solve the same equations. +

    -

    -For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended. +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    -

    -For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras.. +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    -

    Part a), setting up the problem

    - -

    -The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). We are looking at a one-dimensional problem +

    $$ \begin{equation*} @@ -204,7 +265,7 @@ $$ \end{equation*} $$ -or +

    or

    $$ \begin{equation*} @@ -212,15 +273,16 @@ u_{xx} = u_t, \end{equation*} $$ -with initial conditions, i.e., the conditions at \( t=0 \), +

    with initial conditions, i.e., the conditions at \( t=0 \),

    $$ \begin{equation*} u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, \end{equation*} $$ -with \( L=1 \) the length of the \( x \)-region of interest. The +

    with \( L=1 \) the length of the \( x \)-region of interest. The boundary conditions are +

    $$ \begin{equation*} @@ -228,7 +290,7 @@ u(0,t)= 0 \hspace{0.5cm} t \ge 0, \end{equation*} $$ -and +

    and

    $$ \begin{equation*} @@ -236,18 +298,18 @@ u(L,t)= 0 \hspace{0.5cm} t \ge 0. \end{equation*} $$ -The function \( u(x,t) \) can be the temperature gradient of a rod. -As time increases, the velocity approaches a linear variation with \( x \). +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    -

    -We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    $$ \begin{equation*} u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} \end{equation*} $$ -and +

    and

    $$ \begin{equation*} @@ -255,7 +317,7 @@ u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, \end{equation*} $$ -or +

    or

    $$ \begin{equation*} @@ -263,49 +325,43 @@ u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta \end{equation*} $$ -

    -Write down the algorithm and the equations you need to implement. -Find also the analytical solution to the problem. +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    -

    Part b)

    +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    -

    -Implement the explicit scheme algorithm and perform tests of the solution -for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). - -

    -Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    -

    Part c) Neural networks

    - -

    -Study now the lecture notes on solving ODEs and PDEs with neural +

    Study now the lecture notes on solving ODEs and PDEs with neural network and use either your own code from project 2 or the functionality of tensorflow/keras to solve the same equation as in part b). Discuss your results and compare them with the standard explicit scheme. Include also the analytical solution and compare with that. +

    +

    Part d) Solving eigenvalue problems

    -

    Part d) Solving eigenvalue problems

    - -

    -Follow the discussion in the work of Yi et al. in the article from +

    Follow the discussion in the work of Yi et al. in the article from Computers and Mathematics with Applications 47, 1155 (2004), and use your differential equation solver with neural networks, set up a simple square, real and symmetric \( 6\times 6 \) matrix and find the eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    -

    Part e)

    +

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

    +

    Introduction to numerical projects

    -

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

    Introduction to numerical projects

    - -

    -Here follows a brief recipe and recommendation on how to write a report for each +

    Here follows a brief recipe and recommendation on how to write a report for each project. +

    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • @@ -318,12 +374,11 @@ project.
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    +

    Introduction to numerical projects

    -

    Introduction to numerical projects

    - -

    -Here follows a brief recipe and recommendation on how to write a report for each +

    Here follows a brief recipe and recommendation on how to write a report for each project. +

    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • @@ -336,63 +391,51 @@ project.
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    +

    Format for electronic delivery of report and programs

    -

    Format for electronic delivery of report and programs

    - -

    -The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: +

    The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:

    • Use Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them.
    • In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.
    - -Finally, +

    Finally, we encourage you to collaborate. Optimal working groups consist of -2-3 students. You can then hand in a common report. +2-3 students. You can then hand in a common report. +

    +

    Software and needed installations

    -

    Software and needed installations

    - -

    -If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as - +

    1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
    +

    For Python3, replace pip with pip3.

    -For Python3, replace pip with pip3. +

    See below for a discussion of tensorflow and scikit-learn.

    -

    -See below for a discussion of tensorflow and scikit-learn. - -

    -For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +

    For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example - +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution you can use pip as well and simply install Python as - +

    1. sudo apt-get install python3 (or python for python2.7)
    +

    etc etc.

    -etc etc. - -

    -If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely - +

    If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely

    1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
    2. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
    - -Popular software packages written in Python for ML are +

    Popular software packages written in Python for ML are

    - -These are all freely available at their respective GitHub sites. They +

    These are all freely available at their respective GitHub sites. They encompass communities of developers in the thousands or more. And the number of code developers and contributors keeps increasing. - -

    +

    - -
    - © 1999-2020, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/Projects/2020/Project3/ipynb/Project3.ipynb b/doc/Projects/2020/Project3/ipynb/Project3.ipynb index a84d561d2..87b64320c 100644 --- a/doc/Projects/2020/Project3/ipynb/Project3.ipynb +++ b/doc/Projects/2020/Project3/ipynb/Project3.ipynb @@ -2,23 +2,48 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "id": "4eefd1b6", + "metadata": { + "editable": true + }, "source": [ - "\n", - "# Project 3 on Machine Learning, deadline December 16\n", - "\n", - " \n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "60bedd95", + "metadata": { + "editable": true + }, + "source": [ + "# Project 3 on Machine Learning, deadline December 17, 2021\n", "**[Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html)**, Department of Physics, University of Oslo, Norway\n", "\n", - "Date: **Dec 11, 2020**\n", - "\n", - "Copyright 1999-2020, [Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html). Released under CC Attribution-NonCommercial 4.0 license\n", - "\n", - "\n", - "\n", - "\n", - "# Paths for project 3\n", + "Date: **Nov 13, 2021**\n", "\n", + "Copyright 1999-2021, [Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html). Released under CC Attribution-NonCommercial 4.0 license" + ] + }, + { + "cell_type": "markdown", + "id": "4c0f2617", + "metadata": { + "editable": true + }, + "source": [ + "# Paths for project 3" + ] + }, + { + "cell_type": "markdown", + "id": "6d6a33a8", + "metadata": { + "editable": true + }, + "source": [ "## Defining the data sets to analyze yourself\n", "\n", "For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say\n", @@ -45,33 +70,88 @@ "\n", "We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. \n", "\n", - "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150).\n", - "\n", + "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150)." + ] + }, + { + "cell_type": "markdown", + "id": "93851dd6", + "metadata": { + "editable": true + }, + "source": [ "## The basic structure of your project\n", "\n", - "Here follows a set up on how to structure your report and analyze the data you have opted for.\n", - "\n", + "Here follows a set up on how to structure your report and analyze the data you have opted for." + ] + }, + { + "cell_type": "markdown", + "id": "d43e8960", + "metadata": { + "editable": true + }, + "source": [ "### Part a)\n", "\n", - "The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.\n", - "\n", + "The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context." + ] + }, + { + "cell_type": "markdown", + "id": "e8204f03", + "metadata": { + "editable": true + }, + "source": [ "### Part b)\n", "\n", - "You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.\n", - "\n", - "\n", + "You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part." + ] + }, + { + "cell_type": "markdown", + "id": "dbc59b86", + "metadata": { + "editable": true + }, + "source": [ "### Part c)\n", "\n", - "Then describe your algorithm and its implementation and tests you have performed.\n", - "\n", + "Then describe your algorithm and its implementation and tests you have performed." + ] + }, + { + "cell_type": "markdown", + "id": "dcff5b58", + "metadata": { + "editable": true + }, + "source": [ "### Part d)\n", "\n", - "Then presents your results and findings, link with existing literature and more.\n", - "\n", + "Then presents your results and findings, link with existing literature and more." + ] + }, + { + "cell_type": "markdown", + "id": "70e05a5c", + "metadata": { + "editable": true + }, + "source": [ "### Part e)\n", "\n", - "Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. \n", - "\n", + "Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature." + ] + }, + { + "cell_type": "markdown", + "id": "7899934c", + "metadata": { + "editable": true + }, + "source": [ "## Solving partial differential equations with neural networks\n", "\n", "For this variant of project 3, we will assume that you have some\n", @@ -82,8 +162,16 @@ "\n", "For the explicit scheme, you can study for example chapter 10 of the lecture notes in [Computational Physics](https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf) or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by [Kristine Baluka Hein](https://compphysics.github.io/MachineLearning/doc/pub/odenn/html/odenn-bs.html) at this course are highly recommended.\n", "\n", - "For the machine learning part you can use your own code from project 2 or the functionality of for example **Tensorflow/Keras**.. \n", - "\n", + "For the machine learning part you can use your own code from project 2 or the functionality of for example **Tensorflow/Keras**.." + ] + }, + { + "cell_type": "markdown", + "id": "054d1255", + "metadata": { + "editable": true + }, + "source": [ "### Part a), setting up the problem\n", "\n", "The physical problem can be that of the temperature gradient in a rod of length $L=1$ at $x=0$ and $x=1$.\n", @@ -93,7 +181,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f0a14045", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial^2 u(x,t)}{\\partial x^2} =\\frac{\\partial u(x,t)}{\\partial t}, t> 0, x\\in [0,L]\n", @@ -102,14 +193,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c115bb19", + "metadata": { + "editable": true + }, "source": [ "or" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6f297b9e", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_{xx} = u_t,\n", @@ -118,14 +215,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b7eecb41", + "metadata": { + "editable": true + }, "source": [ "with initial conditions, i.e., the conditions at $t=0$," ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "b7ae63ad", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u(x,0)= \\sin{(\\pi x)} \\hspace{0.5cm} 0 < x < L,\n", @@ -134,7 +237,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1536c36b", + "metadata": { + "editable": true + }, "source": [ "with $L=1$ the length of the $x$-region of interest. The \n", "boundary conditions are" @@ -142,7 +248,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a4b5e85c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u(0,t)= 0 \\hspace{0.5cm} t \\ge 0,\n", @@ -151,14 +260,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "017a9c0e", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "47b0930b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u(L,t)= 0 \\hspace{0.5cm} t \\ge 0.\n", @@ -167,7 +282,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5d12978d", + "metadata": { + "editable": true + }, "source": [ "The function $u(x,t)$ can be the temperature gradient of a rod.\n", "As time increases, the velocity approaches a linear variation with $x$. \n", @@ -177,7 +295,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "99a443e1", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_t\\approx \\frac{u(x,t+\\Delta t)-u(x,t)}{\\Delta t}=\\frac{u(x_i,t_j+\\Delta t)-u(x_i,t_j)}{\\Delta t}\n", @@ -186,14 +307,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "efb9d4ad", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e4701f46", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_{xx}\\approx \\frac{u(x+\\Delta x,t)-2u(x,t)+u(x-\\Delta x,t)}{\\Delta x^2},\n", @@ -202,14 +329,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7a568111", + "metadata": { + "editable": true + }, "source": [ "or" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "4ae11074", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u_{xx}\\approx \\frac{u(x_i+\\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\\Delta x,t_j)}{\\Delta x^2}.\n", @@ -218,20 +351,38 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3b111fdd", + "metadata": { + "editable": true + }, "source": [ "Write down the algorithm and the equations you need to implement.\n", - "Find also the analytical solution to the problem. \n", - "\n", + "Find also the analytical solution to the problem." + ] + }, + { + "cell_type": "markdown", + "id": "b107a067", + "metadata": { + "editable": true + }, + "source": [ "### Part b)\n", "\n", "Implement the explicit scheme algorithm and perform tests of the solution \n", "for $\\Delta x=1/10$, $\\Delta x=1/100$ using $\\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\\Delta t/\\Delta x^2 \\leq 1/2$. \n", "\n", "Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved\n", - "and $u(x,t_2)$ is almost linear, close to the stationary state.\n", - "\n", - "\n", + "and $u(x,t_2)$ is almost linear, close to the stationary state." + ] + }, + { + "cell_type": "markdown", + "id": "7e62077c", + "metadata": { + "editable": true + }, + "source": [ "### Part c) Neural networks\n", "\n", "Study now the lecture notes on solving ODEs and PDEs with neural\n", @@ -239,22 +390,44 @@ "functionality of tensorflow/keras to solve the same equation as in\n", "part b). Discuss your results and compare them with the standard\n", "explicit scheme. Include also the analytical solution and compare with\n", - "that.\n", - "\n", - "\n", + "that." + ] + }, + { + "cell_type": "markdown", + "id": "2176774a", + "metadata": { + "editable": true + }, + "source": [ "### Part d) Solving eigenvalue problems\n", "\n", "Follow the discussion in the work of Yi *et al.* in the article from\n", "[Computers and Mathematics with Applications 47, 1155 (2004)](https://www.sciencedirect.com/science/article/pii/S0898122104901101), and\n", "use your differential equation solver with neural networks, set up a\n", "simple square, real and symmetric $6\\times 6$ matrix and find the\n", - "eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra.\n", - "\n", + "eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra." + ] + }, + { + "cell_type": "markdown", + "id": "9b623633", + "metadata": { + "editable": true + }, + "source": [ "### Part e)\n", "\n", - "Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. \n", - "\n", - "\n", + "Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods." + ] + }, + { + "cell_type": "markdown", + "id": "30a12295", + "metadata": { + "editable": true + }, + "source": [ "## Introduction to numerical projects\n", "\n", "Here follows a brief recipe and recommendation on how to write a report for each\n", @@ -276,8 +449,16 @@ "\n", " * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.\n", "\n", - " * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.\n", - "\n", + " * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning." + ] + }, + { + "cell_type": "markdown", + "id": "46f47751", + "metadata": { + "editable": true + }, + "source": [ "## Introduction to numerical projects\n", "\n", "Here follows a brief recipe and recommendation on how to write a report for each\n", @@ -299,8 +480,16 @@ "\n", " * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.\n", "\n", - " * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.\n", - "\n", + " * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning." + ] + }, + { + "cell_type": "markdown", + "id": "e0329054", + "metadata": { + "editable": true + }, + "source": [ "## Format for electronic delivery of report and programs\n", "\n", "The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:\n", @@ -313,10 +502,16 @@ "\n", "Finally, \n", "we encourage you to collaborate. Optimal working groups consist of \n", - "2-3 students. You can then hand in a common report. \n", - "\n", - "\n", - "\n", + "2-3 students. You can then hand in a common report." + ] + }, + { + "cell_type": "markdown", + "id": "e3f10246", + "metadata": { + "editable": true + }, + "source": [ "## Software and needed installations\n", "\n", "If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, \n", @@ -360,5 +555,5 @@ ], "metadata": {}, "nbformat": 4, - "nbformat_minor": 4 + "nbformat_minor": 5 } diff --git a/doc/Projects/2020/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2020/Project3/ipynb/ipynb-Project3-src.tar.gz index 9e8559144e2e630f97cd4e83047c20d2ba8cd7cd..cc3e00964e1a65e2f40cc52bc25b83edd503f714 100644 GIT binary patch literal 193 zcmV;y06za8iwFSg&yQgM1MSbv3c@f92k@Qu6nTQtx^6uSdhj3&@dY~9xlY&2wgdO} z?gR9sco`z}cli?%LUP!yH~Vem?k-piAtYrC#^h--C0Wh&gi;QaQ5JK?c@hJmal%*t zWVw@GI_rcPPHC!IYAf}-xnZmB?Lz-!S00;m8O0if6 literal 192 zcmV;x06+g9iwFSni_>2K1MSbv3c@f92k@Qu6nTQt+HE}x?%+Wf;tO=HbDi4EwgdO} z?gR9sco`z}cli?%LbA`+n_U*Uy9*XW2ub4@#^h--C0Wh&gi;Qa@igWn;pqwpWsK7R z$Z{vWbk+$ooKiPZTdCj94P#aHVbA;uJo8T+YGq-Y_pU|_8l5Z<&yX8z?>JD%rx-j^QN8&j142mk=hUs~V* diff --git a/doc/Projects/2020/Project3/pdf/Project3.p.tex b/doc/Projects/2020/Project3/pdf/Project3.p.tex index 6a1f7637e..044cbbf02 100644 --- a/doc/Projects/2020/Project3/pdf/Project3.p.tex +++ b/doc/Projects/2020/Project3/pdf/Project3.p.tex @@ -1,12 +1,12 @@ %% %% Automatically generated file from DocOnce source -%% (https://github.com/hplgit/doconce/) -%% +%% (https://github.com/doconce/doconce/) +%% doconce format latex Project3.do.txt --print_latex_style=trac --latex_admon=paragraph %% % #ifdef PTEX2TEX_EXPLANATION %% %% The file follows the ptex2tex extended LaTeX format, see -%% ptex2tex: http://code.google.com/p/ptex2tex/ +%% ptex2tex: https://code.google.com/p/ptex2tex/ %% %% Run %% ptex2tex myfile @@ -14,7 +14,7 @@ %% doconce ptex2tex myfile %% %% to turn myfile.p.tex into an ordinary LaTeX file myfile.tex. -%% (The ptex2tex program: http://code.google.com/p/ptex2tex) +%% (The ptex2tex program: https://code.google.com/p/ptex2tex) %% Many preprocess options can be added to ptex2tex or doconce ptex2tex %% %% ptex2tex -DMINTED myfile @@ -79,14 +79,14 @@ final, % draft: marks overfull hboxes, figures with paths % Ensure copyright on titlepage (article style) and chapter pages (book style) \fancypagestyle{plain}{ \fancyhf{} - \fancyfoot[C]{{\footnotesize \copyright\ 1999-2020, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} % \renewcommand{\footrulewidth}{0mm} \renewcommand{\headrulewidth}{0mm} } % Ensure copyright on titlepages with \thispagestyle{empty} \fancypagestyle{empty}{ \fancyhf{} - \fancyfoot[C]{{\footnotesize \copyright\ 1999-2020, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} + \fancyfoot[C]{{\footnotesize \copyright\ 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license}} \renewcommand{\footrulewidth}{0mm} \renewcommand{\headrulewidth}{0mm} } @@ -129,7 +129,7 @@ final, % draft: marks overfull hboxes, figures with paths \begin{center} {\LARGE\bf \begin{spacing}{1.25} -Project 3 on Machine Learning, deadline December 16 +Project 3 on Machine Learning, deadline December 17, 2021 \end{spacing} } \end{center} @@ -149,7 +149,7 @@ Project 3 on Machine Learning, deadline December 16 % --- begin date --- \begin{center} -Dec 11, 2020 +Nov 13, 2021 \end{center} % --- end date --- @@ -205,7 +205,6 @@ The first part deals with structuring and reading the data, much along the same \paragraph{Part b).} You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. - \paragraph{Part c).} Then describe your algorithm and its implementation and tests you have performed. @@ -283,7 +282,6 @@ for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stabi Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved and $u(x,t_2)$ is almost linear, close to the stationary state. - \paragraph{Part c) Neural networks.} Study now the lecture notes on solving ODEs and PDEs with neural network and use either your own code from project 2 or the @@ -292,7 +290,6 @@ part b). Discuss your results and compare them with the standard explicit scheme. Include also the analytical solution and compare with that. - \paragraph{Part d) Solving eigenvalue problems.} Follow the discussion in the work of Yi \emph{et al.} in the article from \href{{https://www.sciencedirect.com/science/article/pii/S0898122104901101}}{Computers and Mathematics with Applications 47, 1155 (2004)}, and @@ -303,7 +300,6 @@ eigenvalues. Compare with the solution from numerical diagonalization with stand \paragraph{Part e).} Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. - \subsection{Introduction to numerical projects} Here follows a brief recipe and recommendation on how to write a report for each @@ -373,8 +369,6 @@ Finally, we encourage you to collaborate. Optimal working groups consist of 2-3 students. You can then hand in a common report. - - \subsection{Software and needed installations} If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, @@ -430,9 +424,6 @@ encompass communities of developers in the thousands or more. And the number of code developers and contributors keeps increasing. - - - % ------------------- end of main content --------------- % #ifdef PREAMBLE diff --git a/doc/Projects/2020/Project3/pdf/Project3.pdf b/doc/Projects/2020/Project3/pdf/Project3.pdf index 54358200b2b33e9ae8e4acd2bb3bac6aec176351..4353dafc012a5b5606fec2ea257db9c5d77b10b8 100644 GIT binary patch delta 115276 zcmZUaQ+J>Zu&iTaV%wS6wry)Bwv9KoIk9a_Y}>Z2iJkN9weQaEtNH=GRz0h#JGT;P zHw!7A9E_7SZ4LpP8c5O7cHZDZ^_!_RIx;P%g(pQa@XYjBDZeynpxI#UC^sRpfNS8& z7sHZ%T{Y}6EEJYW#-LKIK+R})xkAi){+B7NQ)Z;;7rlj+eXE)7Fndzx}h?wKE%}oMGre4Frk;z5! z3T0urOv2uH2!}_!^K8gY2~@Ns;wP41JbyCfMt8lWKO(z(r_+&uHOxmFdOaqsd{A4Yn2Z%K^QHdW z6JAGlIUhM19s$QsJHhI5w1Si^oac}3>g)2EX8om(zOzWc)%BpH;?{UUU{VbelkckO zsN`y2gkYUc9RCz#8%sK?zKIBL{f-d73AUJ0Lnp2V*gItr$rR%*lr0p`G410U6F6hez6c(8`kgvNa+U{0U_`te;58~n zJJAaX7+AP%YGZCVer4;t+3G)}TFysHyr$&VBk=e_MUt_ zU-7SC%o-MQy?uW0p`XCg`sM z&NH7zAq_?Pc=1=k6O2qizF}RB5D($c4+sjDWe51PG|Wc%2VRFDQ$)Pjk=*_Imj#&W z$tk#$r~Z`XEl<@Luyk3Sx06f=$hEzSyUuN|C;h5QLD#{-+!1(6HO?Kl>nlbHDOSWG z>RU>Tu$m~$nk%0;olfJ=={tc?7i7)^@X!WCLUuaOw>y6vy_qEEB1n=KDEN|odE5T# zOFh_+K-do+4s%WPU)^%-h|3MkT;3+#>KG?jN6)@8X{~}sP$8j@^2>r)vbX9G24z)d zaUz!`S{7rh7*D{OUm5K4rCrJ2+FU}U>V9`yg15DenojDf^sEt5ftHNM%kw7%euFQy zH8AjAJ4$8}>0|j&UwNmhYhJe_^_ix1n$}x#DaShW1<+E)ia}sdR{U_GS--K$HtQ#M zl4<}aD~*u7u+m-bC>G3~zirUj)*(E)1^oxwY_E6SX-;|>Puf9JsD;3M8n@0)QKPzz7g5r1 zvYtOf;L;vHE0EQ_UdL2NjDC;M+lgAnZlxgH1Sx-v;^1Eu7Kb5cUE75Qx;0UWxcrdP z^scVUgg~pC6}G8Aj8nXr93%nuf<1?#I58RRl-FBoCO?DZX_GUy${|xJ<^NWSrud_H4F+5|p_9A{v z>YG%m)e&CwOezGf6K#bL=mxhTnnhnBaR{)tznEn~55N~0Zjv(Y2 z$t3^YtO@RF_{3!pT8uSMJ1BrgF)(vtgc z1<|;AkH`Wi3#z+NNc+@|p>7@x_zFAp=G5MNJdDr^z0u@50jb&@t!igiMMC>!-HpdG zy;e`u0D8|^dT@d5Tt^z+sGVlOy^kGI#h#g9g&Pgu{8HfF9 zqTe!wgzJ7R!%YYHf+^%flliJrYORASFBM7POd6edLNHWCDz)_SXP}|}EFKXyXbKXN zdyf7+7If8OdcrvK)B0ks!h~M+QnB}7*sv5g^wb&O*3-pBzuiImyw=iwWb~gR6B?5E z7Q3neq2hw_tVWl4PmlO~@IM(D(c-XQ&1j`0*Lxeou;K4O6&T0@3{B%dmTE1G!G9zV z$Ar(@y9TUK4^hZ6HGAzsA%Q8b6a#O8`)Xnx7nd&Jn}KaXjM&{J$&>D{olloH&syVH zU=QQPU zN*8kS!IkG?=qCH`+6WaDQJL%RwQd`U@Dm<@+k2Hk4a_h(sW7EnQ73Jsy}F=ab}b7Q z?Nf~dqbC(D*tlGV>XQ4O_qmt?e%=$BKPKu+t+fu2eAl{1`r@;qbr3!A)X^^1;7b#` z4R_BbC7vTO-<5r)_D7F2-)UF;`{PL+aRnmp&!=8q2077FnrF_;nRqPr5T(x*5sxq- zpUd!oC>4x|{)5<{J^U#)5s&`Vn18hXlw+Jj_pwiR29badX@O9;-~D=**3;)!=FtA$ zp7145Az_m#zH)$SvJtXn^RI{I&32AaLy@3*h)|1wvEpi8py5W!brXvc|LRHO_Biv6 zJv*`-46H=A=+Wx3PI%(*mHV&b%S1HNLwB{^<{ta^s?AL1)Nr%u(Kt)Veoe2Keu~4< z1I-!HO6?bNNk(rgoT;6Ovx}4IFWdi7_DM{zIAF}||I0!#+S>Mq9H@S|hWV20yUS8V zNavOb5J~)XeNZ^yQAUZ-+P~ecs|(YThp#{0)aoNu44)2% zE!{lF5ea-zkLN{?>mBwTFi6eQ(Js)9Hj<*Uz!PTf%2F3h-Nb$CxIs#z!($H#qmrjb z-t9;CKz{)vLEAP9(`V&-Ppa!0X#sWt3VzF-jh}D9H=ot#OO|7cY_+sA%TX5)E>+>VOJ=W`)4q zxz})qSv*T3>Al-(3{(;K7|p7m;a~7kc~)3BNb9c?=z=8Z-rcY^$+ykElG;;~Q=q^F zZx6svHS;K1^AT4#NjO23sH=9|ks`>&sot8moQZ`)!Z;+2FcGHuY#-aL(BHWIRV=4` zI5M}Z#d89_HVrv4rclCzs@g#Y^-{6KR)v5Zea!|lEre=d+78!kOIpw*wTmT3$t7}x zf!3PRuHl#^W;ss#wfSVLnSR}*oZeVAIRIoYJN!eU(r#tdS+Kx8!@@F*+p_qBBpJ-b zdc~zns>V)B6j6pid3~I3P*NUcMb4>1WVv`Y?thq1@WgpOY;0Z;t)f0(pWUV;S(JNp zkk>^<4(Gt5v>G7oa?2)0l}#Nn>jkM@Uh=oAJOgw2(cgf1ZdhVNC+XTg#M*m=Fa+pi zlYFyvHu1zU^^|#jqiPM3YP^;D`fdBZC|qYFo>L=@hQlo3y$?u)XV|5M0hEiZV*=TGDe?x?}T{+GDtG617@Ep zW?;s3;@ldDGCfx#2>L5@k=@MZ%?HU+>1-IBNq zOe^YJBTq^Q2KoJi9md(UziG8sxX$$L*fx)dhFd*}eJ1b$K~f3AS#R%0ASI^P;i|h@ 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 z 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 VeGXCvfQ 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 + + + + + + +Project 3 on Machine Learning, deadline December 17, 2021 + + + + + + + + + + + + + + + + + + + +
    +
    +

     

     

     

    + + +
    +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

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

    Nov 13, 2021

    +
    +
    + + +
    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    + +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    +
      +
    1. Kaggle
    2. +
    3. The University of California at Irvine (UCI) with its machine learning repository.
    4. +
    +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    +
      +
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    +

    For Boosting, feel also free to write your own codes.

    + +
      +
    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. +
    3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
    4. +
    5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
    6. +
    7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    8. +
    9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    10. +
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    + +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    + +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    + +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    + +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    + +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    + +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    + +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    + +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    + +

    For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

    + +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    + +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    + +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

    + +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

    with initial conditions, i.e., the conditions at \( t=0 \),

    +$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

    with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

    + +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    + +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    +$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    + +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    + +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    + +

    Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

    +

    Part d) Solving eigenvalue problems

    + +

    Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    + +

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

    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Format for electronic delivery of report and programs

    + +

    The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:

    + +
      +
    • Use Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • +
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them.
    • +
    • In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.
    • +
    +

    Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. +

    +

    Software and needed installations

    + +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via pip as +

    +
      +
    1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
    2. +
    +

    For Python3, replace pip with pip3.

    + +

    See below for a discussion of tensorflow and scikit-learn.

    + +

    For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +for a seamless installation of additional software via for example +

    +
      +
    1. brew install python3
    2. +
    +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use pip as well and simply install Python as +

    +
      +
    1. sudo apt-get install python3 (or python for python2.7)
    2. +
    +

    etc etc.

    + +

    If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely

    +
      +
    1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
    2. +
    3. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
    4. +
    +

    Popular software packages written in Python for ML are

    + + +

    These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. +

    + +

    + +

      +
    • 1
    • +
    + +
    + + + + +
    + © 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license +
    + + + diff --git a/doc/Projects/2021/Project3/html/Project3-bs.html b/doc/Projects/2021/Project3/html/Project3-bs.html new file mode 100644 index 000000000..47e28dced --- /dev/null +++ b/doc/Projects/2021/Project3/html/Project3-bs.html @@ -0,0 +1,440 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 17, 2021 + + + + + + + + + + + + + + + + + + + +
    +
    +

     

     

     

    + + +
    +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

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

    Nov 13, 2021

    +
    +
    + + +
    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    + +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    +
      +
    1. Kaggle
    2. +
    3. The University of California at Irvine (UCI) with its machine learning repository.
    4. +
    +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    +
      +
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    +

    For Boosting, feel also free to write your own codes.

    + +
      +
    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. +
    3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
    4. +
    5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
    6. +
    7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    8. +
    9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    10. +
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    + +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    + +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    + +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    + +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    + +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    + +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    + +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    + +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    + +

    For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

    + +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    + +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    + +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

    + +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

    with initial conditions, i.e., the conditions at \( t=0 \),

    +$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

    with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

    + +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    + +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    +$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    + +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    + +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    + +

    Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

    +

    Part d) Solving eigenvalue problems

    + +

    Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    + +

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

    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Format for electronic delivery of report and programs

    + +

    The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:

    + +
      +
    • Use Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • +
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them.
    • +
    • In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.
    • +
    +

    Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. +

    +

    Software and needed installations

    + +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via pip as +

    +
      +
    1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
    2. +
    +

    For Python3, replace pip with pip3.

    + +

    See below for a discussion of tensorflow and scikit-learn.

    + +

    For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +for a seamless installation of additional software via for example +

    +
      +
    1. brew install python3
    2. +
    +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use pip as well and simply install Python as +

    +
      +
    1. sudo apt-get install python3 (or python for python2.7)
    2. +
    +

    etc etc.

    + +

    If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely

    +
      +
    1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
    2. +
    3. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
    4. +
    +

    Popular software packages written in Python for ML are

    + + +

    These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. +

    + +

    + +

      +
    • 1
    • +
    + +
    + + + + +
    + © 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license +
    + + + diff --git a/doc/Projects/2021/Project3/html/Project3.html b/doc/Projects/2021/Project3/html/Project3.html new file mode 100644 index 000000000..de797d882 --- /dev/null +++ b/doc/Projects/2021/Project3/html/Project3.html @@ -0,0 +1,457 @@ + + + + + + + +Project 3 on Machine Learning, deadline December 17, 2021 + + + + + + + + + + + + + + +
    +

    Project 3 on Machine Learning, deadline December 17, 2021

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

    Nov 13, 2021

    +
    +
    +

    Paths for project 3

    +

    Defining the data sets to analyze yourself

    + +

    For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say

    +
      +
    1. Kaggle
    2. +
    3. The University of California at Irvine (UCI) with its machine learning repository.
    4. +
    +

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

    +
      +
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    +

    For Boosting, feel also free to write your own codes.

    + +
      +
    1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of Scikit-Learn, Tensorflow, etc.
    2. +
    3. The estimates you used and tested in projects 1 and 2 should also be included, that is the \( R2 \)-score, MSE, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.
    4. +
    5. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.
    6. +
    7. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
    8. +
    9. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
    10. +
    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    + +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    + +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    The basic structure of your project

    + +

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    +

    Part a)

    + +

    The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context.

    +

    Part b)

    + +

    You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part.

    +

    Part c)

    + +

    Then describe your algorithm and its implementation and tests you have performed.

    +

    Part d)

    + +

    Then presents your results and findings, link with existing literature and more.

    +

    Part e)

    + +

    Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature.

    +

    Solving partial differential equations with neural networks

    + +

    For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. +

    + +

    For the explicit scheme, you can study for example chapter 10 of the lecture notes in Computational Physics or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by Kristine Baluka Hein at this course are highly recommended.

    + +

    For the machine learning part you can use your own code from project 2 or the functionality of for example Tensorflow/Keras..

    +

    Part a), setting up the problem

    + +

    The physical problem can be that of the temperature gradient in a rod of length \( L=1 \) at \( x=0 \) and \( x=1 \). +We are looking at a one-dimensional +problem +

    + +$$ +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +$$ + +

    with initial conditions, i.e., the conditions at \( t=0 \),

    +$$ +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +$$ + +

    with \( L=1 \) the length of the \( x \)-region of interest. The +boundary conditions are +

    + +$$ +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +$$ + +

    The function \( u(x,t) \) can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with \( x \). +

    + +

    We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in

    +$$ +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +$$ + +

    and

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +$$ + +

    or

    + +$$ +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +$$ + +

    Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. +

    +

    Part b)

    + +

    Implement the explicit scheme algorithm and perform tests of the solution +for \( \Delta x=1/10 \), \( \Delta x=1/100 \) using \( \Delta t \) as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that \( \Delta t/\Delta x^2 \leq 1/2 \). +

    + +

    Study the solutions at two time points \( t_1 \) and \( t_2 \) where \( u(x,t_1) \) is smooth but still significantly curved +and \( u(x,t_2) \) is almost linear, close to the stationary state. +

    +

    Part c) Neural networks

    + +

    Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. +

    +

    Part d) Solving eigenvalue problems

    + +

    Follow the discussion in the work of Yi et al. in the article from +Computers and Mathematics with Applications 47, 1155 (2004), and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric \( 6\times 6 \) matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. +

    +

    Part e)

    + +

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

    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Introduction to numerical projects

    + +

    Here follows a brief recipe and recommendation on how to write a report for each +project. +

    + +
      +
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • +
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • +
    • Include the source code of your program. Comment your program properly.
    • +
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • +
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • +
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • +
    • Try to give an interpretation of you results in your answers to the problems.
    • +
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • +
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • +
    +

    Format for electronic delivery of report and programs

    + +

    The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:

    + +
      +
    • Use Canvas to hand in your projects, log in at https://www.uio.no/english/services/it/education/canvas/ with your normal UiO username and password.
    • +
    • Upload only the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them.
    • +
    • In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.
    • +
    +

    Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. +

    +

    Software and needed installations

    + +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via pip as +

    +
      +
    1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow
    2. +
    +

    For Python3, replace pip with pip3.

    + +

    See below for a discussion of tensorflow and scikit-learn.

    + +

    For OSX users we recommend also, after having installed Xcode, to install brew. Brew allows +for a seamless installation of additional software via for example +

    +
      +
    1. brew install python3
    2. +
    +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use pip as well and simply install Python as +

    +
      +
    1. sudo apt-get install python3 (or python for python2.7)
    2. +
    +

    etc etc.

    + +

    If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely

    +
      +
    1. Anaconda Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda
    2. +
    3. Enthought canopy is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.
    4. +
    +

    Popular software packages written in Python for ML are

    + + +

    These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. +

    + + +
    + © 1999-2021, "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html". Released under CC Attribution-NonCommercial 4.0 license +
    + + + diff --git a/doc/Projects/2021/Project3/ipynb/Project3.ipynb b/doc/Projects/2021/Project3/ipynb/Project3.ipynb new file mode 100644 index 000000000..6d4f81e43 --- /dev/null +++ b/doc/Projects/2021/Project3/ipynb/Project3.ipynb @@ -0,0 +1,559 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cf42a5c7", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "dfe8ff79", + "metadata": { + "editable": true + }, + "source": [ + "# Project 3 on Machine Learning, deadline December 17, 2021\n", + "**[Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html)**, Department of Physics, University of Oslo, Norway\n", + "\n", + "Date: **Nov 13, 2021**\n", + "\n", + "Copyright 1999-2021, [Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html). Released under CC Attribution-NonCommercial 4.0 license" + ] + }, + { + "cell_type": "markdown", + "id": "a5296ee5", + "metadata": { + "editable": true + }, + "source": [ + "# Paths for project 3" + ] + }, + { + "cell_type": "markdown", + "id": "764e1db6", + "metadata": { + "editable": true + }, + "source": [ + "## Defining the data sets to analyze yourself\n", + "\n", + "For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say\n", + "1. [Kaggle](https://www.kaggle.com/datasets) \n", + "\n", + "2. The [University of California at Irvine (UCI) with its machine learning repository](https://archive.ics.uci.edu/ml/index.php).\n", + "\n", + "The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:\n", + "1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among **linear regression (including Ridge and Lasso)**, **Logistic Regression**, **Neural Networks**, **Convolution Neural Networks**, **Recurrent Neural Networks**, **Support Vector Machines** and **Decision Trees, Random Forests**, **Bagging and Boosting**. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into **convolutional neural networks** or **recurrent neural networks**, or extensions of neural networkds, feel free to do so. \n", + "\n", + "For Boosting, feel also free to write your own codes.\n", + "\n", + "1. For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of **Scikit-Learn**, **Tensorflow**, etc. \n", + "\n", + "2. The estimates you used and tested in projects 1 and 2 should also be included, that is the $R2$-score, **MSE**, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant.\n", + "\n", + "3. Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches.\n", + "\n", + "4. If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article? \n", + "\n", + "5. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.\n", + "\n", + "All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. \n", + "\n", + "We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. \n", + "\n", + "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150)." + ] + }, + { + "cell_type": "markdown", + "id": "6e4780c7", + "metadata": { + "editable": true + }, + "source": [ + "## The basic structure of your project\n", + "\n", + "Here follows a set up on how to structure your report and analyze the data you have opted for." + ] + }, + { + "cell_type": "markdown", + "id": "32262397", + "metadata": { + "editable": true + }, + "source": [ + "### Part a)\n", + "\n", + "The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context." + ] + }, + { + "cell_type": "markdown", + "id": "e9b71dac", + "metadata": { + "editable": true + }, + "source": [ + "### Part b)\n", + "\n", + "You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part." + ] + }, + { + "cell_type": "markdown", + "id": "fbbbee47", + "metadata": { + "editable": true + }, + "source": [ + "### Part c)\n", + "\n", + "Then describe your algorithm and its implementation and tests you have performed." + ] + }, + { + "cell_type": "markdown", + "id": "69a7f204", + "metadata": { + "editable": true + }, + "source": [ + "### Part d)\n", + "\n", + "Then presents your results and findings, link with existing literature and more." + ] + }, + { + "cell_type": "markdown", + "id": "887f0521", + "metadata": { + "editable": true + }, + "source": [ + "### Part e)\n", + "\n", + "Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature." + ] + }, + { + "cell_type": "markdown", + "id": "f33bb254", + "metadata": { + "editable": true + }, + "source": [ + "## Solving partial differential equations with neural networks\n", + "\n", + "For this variant of project 3, we will assume that you have some\n", + "background in the solution of partial differential equations using\n", + "finite difference schemes. We will study the solution of the diffusion\n", + "equation in one dimension using a standard explicit scheme and neural\n", + "networks to solve the same equations.\n", + "\n", + "For the explicit scheme, you can study for example chapter 10 of the lecture notes in [Computational Physics](https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf) or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by [Kristine Baluka Hein](https://compphysics.github.io/MachineLearning/doc/pub/odenn/html/odenn-bs.html) at this course are highly recommended.\n", + "\n", + "For the machine learning part you can use your own code from project 2 or the functionality of for example **Tensorflow/Keras**.." + ] + }, + { + "cell_type": "markdown", + "id": "d25629a1", + "metadata": { + "editable": true + }, + "source": [ + "### Part a), setting up the problem\n", + "\n", + "The physical problem can be that of the temperature gradient in a rod of length $L=1$ at $x=0$ and $x=1$.\n", + "We are looking at a one-dimensional\n", + "problem" + ] + }, + { + "cell_type": "markdown", + "id": "4ce8d9b6", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial^2 u(x,t)}{\\partial x^2} =\\frac{\\partial u(x,t)}{\\partial t}, t> 0, x\\in [0,L]\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "a6e88e9e", + "metadata": { + "editable": true + }, + "source": [ + "or" + ] + }, + { + "cell_type": "markdown", + "id": "81e3dedd", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_{xx} = u_t,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "feb89d8f", + "metadata": { + "editable": true + }, + "source": [ + "with initial conditions, i.e., the conditions at $t=0$," + ] + }, + { + "cell_type": "markdown", + "id": "0bca56c5", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(x,0)= \\sin{(\\pi x)} \\hspace{0.5cm} 0 < x < L,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ab7915c8", + "metadata": { + "editable": true + }, + "source": [ + "with $L=1$ the length of the $x$-region of interest. The \n", + "boundary conditions are" + ] + }, + { + "cell_type": "markdown", + "id": "c0d1ba71", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(0,t)= 0 \\hspace{0.5cm} t \\ge 0,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "d2aabdac", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "790e9a57", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u(L,t)= 0 \\hspace{0.5cm} t \\ge 0.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b452336c", + "metadata": { + "editable": true + }, + "source": [ + "The function $u(x,t)$ can be the temperature gradient of a rod.\n", + "As time increases, the velocity approaches a linear variation with $x$. \n", + "\n", + "We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in" + ] + }, + { + "cell_type": "markdown", + "id": "3679ddef", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_t\\approx \\frac{u(x,t+\\Delta t)-u(x,t)}{\\Delta t}=\\frac{u(x_i,t_j+\\Delta t)-u(x_i,t_j)}{\\Delta t}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "3ed1a00e", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "bd6f8da3", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_{xx}\\approx \\frac{u(x+\\Delta x,t)-2u(x,t)+u(x-\\Delta x,t)}{\\Delta x^2},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "dbd173d2", + "metadata": { + "editable": true + }, + "source": [ + "or" + ] + }, + { + "cell_type": "markdown", + "id": "a03aedf7", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "u_{xx}\\approx \\frac{u(x_i+\\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\\Delta x,t_j)}{\\Delta x^2}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ef63b2da", + "metadata": { + "editable": true + }, + "source": [ + "Write down the algorithm and the equations you need to implement.\n", + "Find also the analytical solution to the problem." + ] + }, + { + "cell_type": "markdown", + "id": "744b0c7f", + "metadata": { + "editable": true + }, + "source": [ + "### Part b)\n", + "\n", + "Implement the explicit scheme algorithm and perform tests of the solution \n", + "for $\\Delta x=1/10$, $\\Delta x=1/100$ using $\\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\\Delta t/\\Delta x^2 \\leq 1/2$. \n", + "\n", + "Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved\n", + "and $u(x,t_2)$ is almost linear, close to the stationary state." + ] + }, + { + "cell_type": "markdown", + "id": "00a3534d", + "metadata": { + "editable": true + }, + "source": [ + "### Part c) Neural networks\n", + "\n", + "Study now the lecture notes on solving ODEs and PDEs with neural\n", + "network and use either your own code from project 2 or the\n", + "functionality of tensorflow/keras to solve the same equation as in\n", + "part b). Discuss your results and compare them with the standard\n", + "explicit scheme. Include also the analytical solution and compare with\n", + "that." + ] + }, + { + "cell_type": "markdown", + "id": "836da33c", + "metadata": { + "editable": true + }, + "source": [ + "### Part d) Solving eigenvalue problems\n", + "\n", + "Follow the discussion in the work of Yi *et al.* in the article from\n", + "[Computers and Mathematics with Applications 47, 1155 (2004)](https://www.sciencedirect.com/science/article/pii/S0898122104901101), and\n", + "use your differential equation solver with neural networks, set up a\n", + "simple square, real and symmetric $6\\times 6$ matrix and find the\n", + "eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra." + ] + }, + { + "cell_type": "markdown", + "id": "ff03dd04", + "metadata": { + "editable": true + }, + "source": [ + "### Part e)\n", + "\n", + "Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods." + ] + }, + { + "cell_type": "markdown", + "id": "24c8d749", + "metadata": { + "editable": true + }, + "source": [ + "## Introduction to numerical projects\n", + "\n", + "Here follows a brief recipe and recommendation on how to write a report for each\n", + "project.\n", + "\n", + " * Give a short description of the nature of the problem and the eventual numerical methods you have used.\n", + "\n", + " * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.\n", + "\n", + " * Include the source code of your program. Comment your program properly.\n", + "\n", + " * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.\n", + "\n", + " * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.\n", + "\n", + " * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.\n", + "\n", + " * Try to give an interpretation of you results in your answers to the problems.\n", + "\n", + " * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.\n", + "\n", + " * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning." + ] + }, + { + "cell_type": "markdown", + "id": "af15f3f3", + "metadata": { + "editable": true + }, + "source": [ + "## Introduction to numerical projects\n", + "\n", + "Here follows a brief recipe and recommendation on how to write a report for each\n", + "project.\n", + "\n", + " * Give a short description of the nature of the problem and the eventual numerical methods you have used.\n", + "\n", + " * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.\n", + "\n", + " * Include the source code of your program. Comment your program properly.\n", + "\n", + " * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.\n", + "\n", + " * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.\n", + "\n", + " * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.\n", + "\n", + " * Try to give an interpretation of you results in your answers to the problems.\n", + "\n", + " * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.\n", + "\n", + " * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning." + ] + }, + { + "cell_type": "markdown", + "id": "e7455835", + "metadata": { + "editable": true + }, + "source": [ + "## Format for electronic delivery of report and programs\n", + "\n", + "The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report:\n", + "\n", + " * Use Canvas to hand in your projects, log in at with your normal UiO username and password.\n", + "\n", + " * Upload **only** the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them.\n", + "\n", + " * In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters.\n", + "\n", + "Finally, \n", + "we encourage you to collaborate. Optimal working groups consist of \n", + "2-3 students. You can then hand in a common report." + ] + }, + { + "cell_type": "markdown", + "id": "fa5082d0", + "metadata": { + "editable": true + }, + "source": [ + "## Software and needed installations\n", + "\n", + "If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, \n", + "we recommend that you install the following Python packages via **pip** as\n", + "1. pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow\n", + "\n", + "For Python3, replace **pip** with **pip3**.\n", + "\n", + "See below for a discussion of **tensorflow** and **scikit-learn**. \n", + "\n", + "For OSX users we recommend also, after having installed Xcode, to install **brew**. Brew allows \n", + "for a seamless installation of additional software via for example\n", + "1. brew install python3\n", + "\n", + "For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution\n", + "you can use **pip** as well and simply install Python as \n", + "1. sudo apt-get install python3 (or python for python2.7)\n", + "\n", + "etc etc. \n", + "\n", + "If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely\n", + "1. [Anaconda](https://docs.anaconda.com/) Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system **conda**\n", + "\n", + "2. [Enthought canopy](https://www.enthought.com/product/canopy/) is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license.\n", + "\n", + "Popular software packages written in Python for ML are\n", + "\n", + "* [Scikit-learn](http://scikit-learn.org/stable/), \n", + "\n", + "* [Tensorflow](https://www.tensorflow.org/),\n", + "\n", + "* [PyTorch](http://pytorch.org/) and \n", + "\n", + "* [Keras](https://keras.io/).\n", + "\n", + "These are all freely available at their respective GitHub sites. They \n", + "encompass communities of developers in the thousands or more. And the number\n", + "of code developers and contributors keeps increasing." + ] + } + ], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4853468b6a882e73526d8aca1a441cd0ffab1335 GIT binary patch literal 192 zcmV;x06+g9iwFP*(2rpN1MSaE3WG2Z1z^{nVoo55MqL-`qKkr*ULe+3V{67H5$f&h z545Y6Zlo0QZ60ABVdju+w)-rwck8W&5RxzkQ>IBgCkdDLjM5Y+qby3}sRD#XahP~O z)?4YNH;_dp uiNZ`n(BjrhEr6>5cv(s-QSqzaX*_G*n!x|{IgaBv&X*pj$&6V52mk 0, x\in [0,L] +\end{equation*} +or + +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +with initial conditions, i.e., the conditions at $t=0$, +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +with $L=1$ the length of the $x$-region of interest. The +boundary conditions are + +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +and + +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +The function $u(x,t)$ can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with $x$. + +We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +and + +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +or + +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} + +Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. + +\paragraph{Part b).} +Implement the explicit scheme algorithm and perform tests of the solution +for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\Delta t/\Delta x^2 \leq 1/2$. + +Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved +and $u(x,t_2)$ is almost linear, close to the stationary state. + +\paragraph{Part c) Neural networks.} +Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. + +\paragraph{Part d) Solving eigenvalue problems.} +Follow the discussion in the work of Yi \emph{et al.} in the article from +\href{{https://www.sciencedirect.com/science/article/pii/S0898122104901101}}{Computers and Mathematics with Applications 47, 1155 (2004)}, and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric $6\times 6$ matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. + +\paragraph{Part e).} +Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. + +\subsection{Introduction to numerical projects} + +Here follows a brief recipe and recommendation on how to write a report for each +project. + +\begin{itemize} + \item Give a short description of the nature of the problem and the eventual numerical methods you have used. + + \item Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + \item Include the source code of your program. Comment your program properly. + + \item If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + \item Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + \item Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + \item Try to give an interpretation of you results in your answers to the problems. + + \item Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + \item Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. +\end{itemize} + +\noindent +\subsection{Introduction to numerical projects} + +Here follows a brief recipe and recommendation on how to write a report for each +project. + +\begin{itemize} + \item Give a short description of the nature of the problem and the eventual numerical methods you have used. + + \item Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + \item Include the source code of your program. Comment your program properly. + + \item If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + \item Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + \item Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + \item Try to give an interpretation of you results in your answers to the problems. + + \item Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + \item Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. +\end{itemize} + +\noindent +\subsection{Format for electronic delivery of report and programs} + +The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + +\begin{itemize} + \item Use Canvas to hand in your projects, log in at \href{{https://www.uio.no/english/services/it/education/canvas/}}{\nolinkurl{https://www.uio.no/english/services/it/education/canvas/}} with your normal UiO username and password. + + \item Upload \textbf{only} the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. + + \item In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. +\end{itemize} + +\noindent +Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. + +\subsection{Software and needed installations} + +If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via \textbf{pip} as +\begin{enumerate} +\item pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow +\end{enumerate} + +\noindent +For Python3, replace \textbf{pip} with \textbf{pip3}. + +See below for a discussion of \textbf{tensorflow} and \textbf{scikit-learn}. + +For OSX users we recommend also, after having installed Xcode, to install \textbf{brew}. Brew allows +for a seamless installation of additional software via for example +\begin{enumerate} +\item brew install python3 +\end{enumerate} + +\noindent +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use \textbf{pip} as well and simply install Python as +\begin{enumerate} +\item sudo apt-get install python3 (or python for python2.7) +\end{enumerate} + +\noindent +etc etc. + +If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +\begin{enumerate} +\item \href{{https://docs.anaconda.com/}}{Anaconda} Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system \textbf{conda} + +\item \href{{https://www.enthought.com/product/canopy/}}{Enthought canopy} is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +\end{enumerate} + +\noindent +Popular software packages written in Python for ML are + +\begin{itemize} +\item \href{{http://scikit-learn.org/stable/}}{Scikit-learn}, + +\item \href{{https://www.tensorflow.org/}}{Tensorflow}, + +\item \href{{http://pytorch.org/}}{PyTorch} and + +\item \href{{https://keras.io/}}{Keras}. +\end{itemize} + +\noindent +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + + +% ------------------- end of main content --------------- + +% #ifdef PREAMBLE +\end{document} +% #endif + diff --git a/doc/Projects/2021/Project3/pdf/Project3.pdf b/doc/Projects/2021/Project3/pdf/Project3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ea63e0fa6cd7e2d84b2f12b191f8d42cc2ed661b GIT binary patch literal 233056 zcma&t!?Gw)(go;a;~v|#ZQHhO+qP}nwr$(Ct*-9q*vJhBeOj!%zoXJ`q<%?(8-ZDMQYY>v;!$i{^K|2-%=Q44El6GwbHQELNd6JZl0 zJ7W_lUS23CXGaqQ8z}e96m<=!Ep|lTxjOw5lL|^`LO5NIEcdmFYvV?WEvBvtV?1-H zM)m?>G>MOOy*|An0m)<(GNnqy%=S-PZ+_%$FopYDmFJ+>o0qDQkXYahC=w$i?Ycnm z(k{1T-{JPz-dk+06!2N|~UJNMT7!E{1EJ zg;%VuoC}JRkQdP~k+JkdO!7O2pBB>&gT$2Ir36WEj zUtwO_PnR)U9hTh%H`>KxbPEPTn{A~??%17Ngy}H$6jS=WHF2yvl3bC!{>_T+=nzR$Ydn2!wco4S~R72~_lQ^sC^ZSHsj1f{T1G9DV%N0MBt@ z%Bg-(U31rM4b&}%-yE%Z=TuMW^XsquFb!~)OMawJmxDH28=dD=i^XWsJadj@3{z)_ zjYRdjjtH@976t@Dm$2 z%N16v+%1%0FU*JlWkE$rabt;VAIcGh=G@7<{VDF)!uz$u*Vb0DqAWp?Q;37?HkHHh zmhjOIYjV}L(M7k$`c=*uIV!d0muo@`aqah{=%5zrJtPZl^g-@#R0`UYYW zc7>Vr^8D4AT3yB-%gauJDPHN04-uDz-OVI}>J(&64Aec|*Hojtp~ry|gpd+B47`Dr z#0bl&qU?o=sq@)1p4@>m5EVX#EG(oU!H~V~%iZpOC!fa2c`#zcg|a?`zg{*51F1)c z5ip0rqhT(I{_8sqU2%DVS*yE*J6)4Fo5(pg#_iS6Fp2~;QNGzAD|VJ$0)R{kjE=-o zc&oy6m6Hi*i)+IJK9p+(JKHO;WW8UmE6_GJQL{-sRUWncir`|=So!{hhQKQwjkH|1 z4q{n&I%wYHH(seKYPX$m114$RCJh$s3bFPB0hFY%!XPN5mH(V6Ht#HROb3Y_#T$W% z$|9t$EVWj{!cJ2y zT_?8b-UR!`cl~{=6Z?jD|HVr`U1Y|&vf)j}ERVfPBO-|HKHDfHMRTM+gAC)I*ID$r zkP-82OH%;XJYATU3FlBRA_N>>6gsJca^K+ymb>w?09Y0bLtY%uiI*`^G*bUsEndK| zYfN4gN@?A0qN>0~e?@5TMXjQ@li+RxRJ=s7@~jJpKoB!+?1T5JA>y(7!lh~7+?MkL z*0jp*l7Abe5}8fqGUOYN*X&Td0Y@~CPS8G0{3a{%jfY9+qf4V6Y%0KVV1=wTaf=XY zg|#_!Y8%S!qv6%nexpo%wppxIElC6(% zA#Y=%?%x&GdZ;#i`VJD^Ao>Y2dG}M$6Gk(G81M7K6A93~!4+XG?Nj4~yule4Jef8_ z-He_&4}%Lc<*Q_S65rV01NMFB_|t`cN5qwkeB>BE$meRC>&u9O5wzt!tic-99N?K_ zWP|k<@oSvh($+5``Td3+d$DP3zZ^%Xhu*1ip8-_wk5_lHD8V5aSoLBt&Tcf|H3B}d zl^tE7JC&0oRD{Kt97Rs`P$6pnm0xC%g9aW!jX%#R^Rs|yQ#)!$!DF!8ObuG35U@W@ zWV&kpLKJZ$N&Z&Lx7R~elnExVC5=zL!ssc%m05WE(^8QCl#B`JHV5%bzeO8P1l_cm zoYBouSzR4e8q+9U%k>|P>Xl)Jo;zXNcsM)jblPiN)>+t%jX%iIBf*L6uqf%`$}K6( ztM-`n^@%J7KS)Xnm4q3zB9#%`9&C+5hJRH90W3jKG(9lZsG|%&5ImpazU}VoGJ!ou z!AsU2bn=G;rnry{eFh#X3wK>zI|FYAb_CI(_m(D4yM1)OUf;c`Poe=mPd4bM8=XX> zGA?`_O_)@09<4GOzg%!42YTN{cu%{bE(;Tz-{vHIaYpY_NxvVp#qx#6!JrMH()Yy5)%rLN*8xiR@tfW@#WMpqEWuq+S7TEQ36d$ zXDY3@9e7;|%VOuhBKe~tzSmi4CO@_x5Wah_sUJm8y>@j9H~LV-?m|5=i;LunF81VH zD5q-^7C7#U{C&Twz^;Mhr~hc@XA36Vhv>O2b% z+d-eB<8kWDO!!CZ%s9l^_nvz9X5#UB6BhFK`aW&;sK5T~WQ`mi90*)jidtuhtQ{d5 zZ-wkwKlD+2+APqi%Hh^#3}Ek>kIBiG_jXe+5&FhKAiSE23|nUV#|P{;GH}+@(bVND@!|02l^v zlzt+(hM}8PO;K9%=1R_PpCaJkC{LwZ; z#pSj5GTFLLFeaV-+qS)4!TI`)yqi-|R@jUxss=kwC8Q`v_Q)ZfVs>^MAL^mD3ALgz zBch1|!6Vw?+zH2@Cse|i0>xAmO<=3G=83mdY|;~smR6i7-#qWfYOkV*gr`Sm9`>v{}W zF~UBowIC?-_Vu5_tc9Scll>_CRUfx$(JQp)=M2cB-j+@rJjE>{-GY zqG)}M!=5-!9!Aa1qQzV+6dcMiVT7>&*-z)hex=UVy+Mhz!tvO`zB=a_@Ww3Y*o15; zC!$gp5!id>3Uf6KeDp0d#4JCeu1P0UuMJ^gv-m!mG%35_2?|nsN~fwrwy?z{UuVoLDeB(+#^8p)w04UPL(z>FsHO zZfQl7B{7>Op2hOTr2laN&MVvHsF7J^w4%ylLr#ahSaIITQGO2*F_b;0{Ca?d^F6aL zSq^!`yeFteMQKYw$X40))h?UnEZb&z?*r$z?u?L2UhveHQS$mLp z)4lkwq0QH_K)tm{Zmk3o2K`t;0%oS`&Al{{w2Uo4tvW;9XmCVPnk(nLcwcL4j{KUf zW&al?FdCJRsXb7axTEVH>+ zwUP4(qw$1TQ6DFK@6}s8!jt2J7b{ptQ5?_=RM0(v8}F=~jurg0C|{881LP>izTI8B zo$PIvPuH$lL^Ra;S?n8*HvpVs5XNTbAPgZsjV62j&DuE7W;>DWA{&e+4-PpGYbyD1 z)%bRE5)gR<%Cny_%gpA7#~V<*Qr0$%6Q-^=Q8p}a8$8+4+{<&-iHgWb zVGs*2h}4zuy%uB2UMac zF#6FEpLwK64+l7#+>8eB`sEyd9)hsfkUVWLFxTt)clYun1@@yli_HSYvMiA6JA4sj zr(+g%B;w>KK&FFb#ZG{%Uq4+SMF_kF#O`%>QileO5GtRIZ~l*dGK7OfeDMKJW_R08 zZ!5CQ&MkmB1L6{GuAZ)d@S@=(B}JJ1;MUDJ{FWb~JQHnkoHE>LeF!7*(Gg}{U{m$$ zgx&R^9IPFJzSmoHeQ(`Q-l#`ZH}dcS^T@RoT9t7Tj4MijzMfN`V)1$M!Q+VVcwvo! zaCoIS_?rey?+wsq^U>TL!^|wzCxLO2NBc~K6`q-`HgCaH4`M{x$sAluS4P3`Td0j~ z*4-+M4p^HTJI?zT{uNJVBeq+)Gk=yh-z=`a9@kB7kTe3cY%jWS|9`$9)K9A&Dwq+` zu=;ZI^{=Q6{HS4j8j=H|z~#^P#}$r>d2goK;G)b{Bm=d>1|WjmXD9&VsGQJ(`gr&M z9FoCI@!k*U zn(XZL9Y04Q1Mb#h0`JYyPdLiN; z75plzqgsG`7Wiv2VC&emhVCqg2=-<}O=(ep2TBgNe$irlja&kB++-);!%A_>?^VzR z({}m@Ir;4{r^P-=&Zttch2S_D-!=+P9wiOUMalUYpyF|_`X?jxOT?7v^+BW@u@QT$ zwm~YPm=kV!q2EfvUwj(;Wc!}m4 zJHd~1c%jC3fB-+)5z`nw(<=>nov%af?X`A@ z56aE^sWr=Ss1d%q{W`Gn#n%UPn0cO45G6GE{#;?=Guz#lbotw@czTqcqv?wgOmTx$ z)`M!+W2z*tUDS2PC?`Cl+)Ud%5_*41*(QllFcYE~`ig9y;bI;I7I6p+gM2Z=y%iV4yfi=voKPu!HD!QT^B3D%J2G_5_eMh z`xm&ccB0PaRN=Qfmz5wigfr@0Km;q~wRG=0pl4?@O`AeSE@ZRA^_$&&a0#|s1(C(` zIl_kx9Eglxz!aX*g!RQ22`8sMD#8&@8u;`u*7&{lI@vyIK0gWhp*-Fke;xd;U*sz6 zKel^}ay0bCJHM#rNZ@ZAXLwi5zW3tpdAU4=0;%}YAPe@4M{0ovzI7M%tHch5eLgG3 zs^wb+)AUsApU@!8MKwD9Q1A|YsHjF2@&Zf2yws`#$uBa=a3iYS;@BEShfDu^LlHRr zlHdv;E--X>f!Y*W*X3Ce?@odNI1{GmRb>0+gMywa8-w=)k})YV|Gz|JX8kWjWMyOc zUx~P*IhVB6iqd3nF6iMMEK=2`EPPoilktpFwA;r6xm<^>?0 zpeerV{-3^x3}Jt0Xz0y1NU~5SS(tB|`1h@=D+{fzI0A+#W4y2nUSTjg)jds^`%tlw zdr6_xk+eAS)^#E4{VW98Vc|8ZgqfRmk2JDrq^qm1$DM@saUsxw*X*g%GP2WG+Z<&t zP-XJSW+V0X!ht}#o3B%#Z3pkF#fz8PeLGcWgE~0Yi%o4_4zX^tvQAaxhODdhx)TQ> zGr<0D;OBK~k!B<1$F)yAaHX>diGOjaL&dO=T1DEN?2gFB!X(k6TW7wPFph75x*>`2 z_VcKda?Mtr*-A`PE#HQ>Gr(+-6Epi*{VfM;TkU5Rf#ZW-g;!Zej|GdZvZ~iQ>UTXA z*A{<*gGmxHtWBO&Gcwx(Hev1GN1D&i1kId^xBnz1G(6bVr41p;y)7!DfArId-B@AW ztIS!bE-5$5Ndr!JW@DMkn=$woDp^o05Lmwk;q0|I#!#ZLC$PG?CVVdCP)5}(kB=rf z=u>56=>5%3u?o&9Jk14FoF9$aZw&F#1OT2wn(b|GWq`*GSbgwOEw(F#=h%6|cnvE< zPfisg(~htDW3T$c_n1r^yFw%EkF+vwB8I0AN zu<6e^?oY(yMuekZ;lve-g!Cf+dVo1S4O?Ys$xJ)QtY=}VQsCHVOeEQ^g}@x~(PGf< z%YA#H4t%atd6mkF*H|+pF?M#4$6hj7RqGs&!j2Za4WH{S+FLHDw#DJ)uE3te3P+8`QwlGuzVu3yL-*QIZGB6(#(zY~6p9@kFzVV^Tf;%JrNlNen_*k+# zN|(?L2AAvzAj7cC{qT?G$-!Dw{t;$x2)@(8a*2VU`*N0#9#94IO0hz9JHcUai9%OI z=$PNPJyK5tv)|4g+}Q4*aQ)KqoEGABLzQZd-W_6+o`6}wUSa4ytg7#$uWS+y;YFmi zR|b|-B-!(1?&tzcs^x|cdWw@THHd72*Ut48OQVvMzaYCAtvkC1b>if{ZU1f=(Vyg8 zA$e%fm>~j8EaQ6r&}KHrM)t~MeEx7b)Z7`*0%-}%jshMZ z>g~svqw+39?@N+z{p%!I1ji-ELZP!#XB+YTx( zy*zz;?sh#ldv1WXHP72708oDzCGwdf+pdvPbC1?k^UG!(VSWj z_ZWaoL(aB=K%{vH^ZH#)DIrxov=Hf!!6%d7w17$p_!v)g0`w^uOQbn;BB+yz*UCZy zPb2Xnb24zh*G0lNgwwxA>ZkAmZTAL+6lt}rfj=MJ7e+}gL1p>q5G55z{=>++6L){t z4daCAGPEoU6s1ZC5~&2->VydTsf@}kQ;-V`{*{Ivgkk@J?&CqwCDesD=efOs<0i*r zfGB}P4F{($4^O|kvi5AjuoZmiC0-%M0%BFWve@nt&12k>Er=bzdP=rM7|kkf1h3B1 zviiDg-AGg8F<y=%df-jV@=fSEk}09J9cf zz_dxXLIFx`maeS`r)SLYS0Mu%JmH2DNw|B!8W5xh-GKgSUF6HALIDX%#SN2l4_e^< zQP_i_w@HsO5erPQcs3Kw%~vt2DKY0u^Eg6PEa7v;f!N`@+xKOkw3cVzzHwGdB}50` z0VSAH$P*N(g{N|xi9(58SjIYG35q3<+{*(R9eJM?c4TvKb(|xn7G*+FL5I8}R_pK(fbU~bTR+%#7UA`^!A z%x!5LornDSZ(UGeH9>zP70XSG(UBCsp2R{ThA>l1w5AqQ()>cosI$ir$7UROGu~Qi z_(T}gXzJw|Pm$VRaYMr$h681>LEgzI1Ko5U@gVGbTfvOL_q5z@fbSYHDczN#;C=~G zkQIVdGs0uLSH1&k8A8+-upJHCmwWHZDud62^8=6nEe=g{R01bQ5hI--AlzbXJgH%) zcahfq`GSzi35?*r%nNhU*0A?9kav`jQb5bGcdlj9x-rkcRGV#NHDp+Ih`BGvjYD4C#OXsZsl!&Y=VW|y6bs|8sUx(7q z_1Q#@7XC*iRUAYqG_LKO^3|>47ggsp-u}$i<%ULC4Q_4X`DR!L@Xkzaz}cyzSPDMY zy3v(sY05wbP3+B?=$x*{<@=|>HLc4-`#*6IC3FYIu>B!~mWRFLO4@_Dssf(#veLJm zx?NS&g7&1V{0Ax&TRA!%dTRo!6TDf_SJ6BdQslB|DGtqR^#QfBkr>f6n! zQ%l(O;nsAAO)zxWVVZH86vyBk;76`{^4yeV*S@swn+L59p83T*b&bZ7drnv3a;BiD z&rQ%svJ_GqFV{I(rvj=g3pJU#lKTj6&n=Lbnwam58K9&?6{)a<<+H2BJ3zRAl&Rmt zFZWnI@_whwi64eR0H`*ZNZqrFI8>B8aZ2;h?WGd&v);diT+)CMus<*u!P!U^UPdqS zsp?~ym*=u|??Mmz2^=zA!KW<1is&<2{g!2EHkx2LXg&I{rq7l7sB!h_XFd7Hu)bnu zAg3^P>7ftZ0pAL0@QM9)AU>6014R1~H{B0%Gwk#umR<2tZJn06pht#ZfcjMV^DF{m zk=(gnGM(`=1d1?$0U7&c_b2Aa^ndxv!uDVI%Ff32Kl4>%%kj7s!DmhF-l4Sn5Rpyy z@KNZnXSi1K&{!o!vgU_>Mjo*TJ9c_XGOKRRg1Mi7B35*xv~c4w#EWZcd=l?0#w!h z(8eAIIN7IiGQo9x&?LVij}gM`yL)08L$U-r3m2}EM5OWD{^vA$>St=nyhl7|ngb%H zMf}S;Fo}la99j|kw0m}FP}g{#>w$o!^ue@Wf7^XALy?1a#uI@)t`$%pC~|y zQs0jp!IBd;UzTWud-uJVx5NNm-+YQ5WN2R$+j1e>w2{GkGL0{w^=~Z!r;vI?36PU? zYKZ2f7y@gEmC7ebFpCDVsK%on|2lIM1gqdWA2oh81X00uU_c(~lr-XyDuVVk{dwM% za&2ZK)#{lfY1NHy%wAV!?xKp@QRma8CwxH`&fD3GE2;eV>X}YQo!0H2VAHjiuNqni z+TN32M^{Z`i~3DuCPMT!YW;}E$|AEQ$BpC=u5_xJ zUZ-P{+V;wARW6KU;u3~byl6yXaVc&oD#h5hmr^4Ym&qwd-RNTqS06)UJ~FTpk)%n8yWJ1 z_&}T^=Q)?ASEr|R#;`#;A)DEeEP2x8>49;4II62RBNUv>inUIiY=z=E+NlOy^0);? z$((ckfGo+}n;sCH=`_<%nty$T`)ywm+_ZGLA`8xHn~9H)U|u4CZwB{Ngrw>IQPa+) zta>^Byb+61a$7ddmgCY%P6&_w!pWxKA#%VbZ67t2F^A%6Pt~N(1_J=Ce*8T90^{n? zg!Q+zX&{Daf3%LkIA+vJNSasvN;PZnZ;X_)5z>!^(~}eMIbBwv4%n@DsHoN1LY8+0 z`e0}VvoD<3d1@dntV|+Llm#}AhYEVorHt&ZMMwA{H9MZf54J>)@~H^eth3Pn)&>pxYg%WY?Yf zgFzGB2ZR-#3|&20f^^I|YImI=@FGj8+u=i!N(J$9MEYztQv|zdbU`GOR|LajFarZQ zKE4&>(~isna$H7I$$8d?X~b3>@`ZTV6M@)zFM4RP0kxR}eP2O1UfJehuuA`cayYnY z&bnX?fR$$}UJ3M&Yug$5l`XfK#M!?hBx)Is@Q!N=dl!&ws;WtrsjE(5mpZom2u3Xz z6wp4@Dw#chWuMaXR&m&kF(WZj(qJ}H%&(Itb9$vx!swPvIL-zw#FNlfCK0(E8Yalq zB3Fv|a&?|&DQY~gFb9B^;puJLx2SEko7bAHfd4dV-5w+GS(baK+s(?^zjjc4Dy@#= zS#(ii;jt0b?fv*0hY`g(R_c-7*$u8V&z3_etSo<;&#)^n%e7Il!?)*Vd)|Wf&1B^~ z3WPC0R)tpmYvw9W93${>)(4q}OD{49BK(UT7IFIDz|nk2OAYXTUQew&qma!YMJX46 zZ?h_hHNKutsnTa*T+5K#mC#sst^AE~xZ6lw>f}>!PS37g^Gf>O3-)JdUjLqNFXSl% zt%V{oYg^^z@2{#%`;Jg8X|hK83^%B0;%LPIgb~lgq=cj2urSrqd+OL&HAS((?5Obw z7Xm2~nJeo!-zHHuj<;}_H9AdhwjJ8GGz6Jz2bm<} zJhRxeP)iaWgm(y~b`-^+(-dV)7Iz(;LNx6veYupgp;_3_wt0(jm$z%FRgAt;+AtS| z!Q+Y_4<-k-P{|CC$>1sNm8rF6O)P!UAHm>7JYw|u2fjRHf=e%Se9G6@&JWnT5O{XP6r zznh17$MxJP=r%W1MfM#dkB`^HcpV)H*8aLf!z-?LLYI_GLD2x0pj0lT%dAXL!BM)8 z+v^CLRYw!@X#al5CAT8F5p*^yxH={xz${?qIgKVr?Vq|j}E&k9U| z>J#n$YurN72@2LJc33Fzk4*r5SoU|nK$?svr%dLLnE*i6e@rH{&R34|#2vn%AC+$~ zFAe%9D&xVYMT@|@=L$%TO{x#fTNfjsnGJu=^VSQHwnp3jS?DtV^W$#}{a$rFAd_$a zY{U*iV6^he1r;#5rzjd;|GkN8`X|bKkb>uy?&be1(jO}yWy-td;ZUKceK%_eW{Q?~ z>pQq%a)%vW+TmSZJJCBusyAq27{K%+Y^!1lrmhN?8l#IcMk_kD^p7odNn?tI=!QaNYdtBETX5)KDT(bl?K9dD`!d-b+7`o{E*cS33EIMtB~0LI@L>i z_i0FGR+l);K@M6}4RylDqJ@wBMV{RaNqJ#XryHC2BpiJ6 z1GOLG=P1jK2LAJ`VHYimfLH+8?TMLpnW)9tXhtq>F=_bO$>+6dFu6OGKZEU%eC|FfPW}bY!;2_WghM9dfV{W#KsQK`F}ix~*c-`f!{f8X23$cmgi>-n5gkK<%BfxuB8X!~Xh-{!@4lObJX}{sq{mt_X zfOLbHtnuF7IIwf)%aolZo*ezGkSveBe?~u_93jMM;QJYWse^xq*x0$_e?UOP42=H( zFzR?-t)X>|TKZaM^I3AO;&s#5Jg?DY#`{&)u`zmXhF2Pwoq*hkt>}+qUF=?8#_98= zJl;t~t+txjk(iygTSfX#936-JwDjX!7zl+M1iQLl*=~yo?Q8;KEJ$e!uJE_Ia^9U8 z+|Oe*sr+Jko-t%OI;+X{(Cf0c`))Q1J2Syx%tL{!#KOrXWzrHo37=jMuldxFEVTbG z###T%x&Z?R$N!FTb*ZH7R)pRwwdt8`N}4qHe;`gxIpYek6*ZD2huH1JrlF{KMuE$o ze?FZHu(L*HG*S{ABzmU)qg8tEpTJEszDYK|?nyd7esA}uzd7-aN~I+Urcd=-5IJQf zvuvbviWQGDLQNlPk44BEuY2%*T4=j{NhceH)HF2XO)=}?+oh%KT6;sEZ$djXFt^db zF#~52v?8)P&uV6po+k^b_=LR*`IHkV1x~#uaR_G^J#ONfUhW1sOOzd9SmSov;&QyC z8a+HmLuF4BK=@20;bA8#3odidT1yf5T&K2UgU(8hgqwI_h&m4}@Ez7(Z>}xMaSoS9 zWxV&t&p7ys6v(CooM@&;$GKHF#2%0L_4%FYZSS4!ySm;s}p`* z{`Md>?n+y0IT1fF%-WbfUq61?J33!% z=<&c1&hP&))(n(6KqswYTrx06dXJ1@@zohK)3MAA@u}9L*^)Cw9-kBgSXZ_eNlqFH zI?9w;*#qcbMyg9+UJf<9&VydrfMM0msJq;H-VNrM*7&Cx+|=&!nQCNr7yk)CP&Cd1 z^)u4PAy|t&&F9riIaAbTU(JaVK8=hgMiJ6Dc9AOJCW>n!C5mqnZq&^RQLwX!YjsN6 z0QcZ6JI-v?g6kDxYjyJrR2J6nC;8i~}b7=Em zXJY4T-CBl{B7^b|t}xAr#03ZU6x7TpY1uRH(AfrRUGCPV(4c~#ycEpN0>bc1=|*y? z$rKw`FY{ajw8XPnW2rgd-ihwE-4IAe_lX?Js`i%J7vTGB^aS%^K8B*Kj5m#%_=VRB zLYl3zIRj06Rvw_P*_i`2yo-luG3gA6IztV@#aH>^TaT91@ZDcOsQ3UnNe#jM{$sWm zW5$Uy=V`HoXm(q!HLXnoM{PbvU{i7NCusx(s~0t>I|>m_yVkgz-#x29B1S=b3mUrS zQZ(z(>2c02$%rrh^QcG1A*g)1Q|xXA60vsB=_c0k{&rJ$>_lC7;ZKbGjU8|q??_=r zzwb8#dK|q5^OIo(5bR817X#X+W|39Fe(S&cjGx zP1JelVCE0JX#TRLbxa*h#8g4fjyPcbd0}ICVS^}2 zW-P?!ZUnfc@+2a_H#j}vV?8#KgfIU=AGGN7NFyD<`4kCRxm=Nqos@7fTrplBns7k` zYYxB@VreJsPm%_TnRhKXr&XTJV)MU6PqPnT{c%|KeiOOxlRx;4ETpTgtNp@Zzq0YrMQ!LVym#-- z)yi`B?d(s6Ma{eItye)9lvdEL|JFPPSC?v3`;06~+HR-NfCL#Cr(f>9Uuyq$yEky8 z1#o=Y0kco!V%fa24anBif&c8mXN^K%4@pFvXj%~wQyv&$9}tWxI;)Nq9?ShlR^F03 z>xt5oEC~(ZL*kr?VogLQV;dA;v=-w&mdiasUqPT4r*!2?EHEl9Jg|Tc$Q=VBZHvL;za;HQJ&tA&Novf95|}itf<6BZ1ILDp^9UJB0<5|% z0TErVrwvp*qp09W^K+mK4cjpnY^FmGks0&!vW&YSL{DNI6A^-fDa1ktC{+Gs$PFN! zAHPiYmuI>j3{9`1W_;B~S3hha^|~G*7*T- zmpEBGDU6B7M{42DIOFWf17{W)VQjuLsk6|UP)e8E!t2?_tn6a-X$5rdAB#aKnZCS) z^q3J>-u=`(6CxGvAJE)!e=&0m_`Rs%5b|*Ls~X9-dcO3ou@Shi(PjJACzpks6lSP^3On?nism)>@Q=Jfk`f69k@5OVo{alpp%Uz$2*4*LJKscX^DvfJ)N z_|NgiIxh~5Y&A*+R!SRd#T+Q8qdYr#WGQ^3@Ll7o2|R_zmERu5tbCW|R+-H_p??~- zE;IJ5_Y-WA^=p>#(@@v(nJ z^2F<%8y_9CTU%qNHZmFF@r0K{ zfy-e(bUC~HR+`n?811gX)4Yr>&;GWVS$ZpeOqy+@-x--rlBgrcK~OBfYZiyAF#mTw0H4F%p|llQ&TD%!)Nk* zr5(ihVw@{qK+oFTwV;Sa3d7FalfHtvHXWN1#!DV|8EK`n#4Jmql{TGPny~jY$Y_Du zQ4@}Olux6A+EYd#vqvIgsu?eegB_>2YfBG51K9-|BC>huX9-PExq&1H4ogMTfpaC40}hK0K+}Qh*4bK2{Iat? z1ZTSb6k58%;`J~z{*{Sa3t9IIiFWx!v8UKxe%P)5g!pc}&sI&&TsFjh2S1=pZZP*5 z+sohBYuf=@hFyL#dJCBhyLInQ4;3h@BH|}74I>r9^`G>T@d31t3WohYXPFn{=JXw8 zw`8$jkX7n>9jyZLCdXqZ0h8TvmoH@M=P#>Rdl0mXR@P~UyYac;)K!FkjtCOH`%iwk z)(L9D87LfE-%U*!S_f<8{JxbxWfGX+rZslXY9|8W`LUd4&EmJ>iYqS7Eo9XS_?QHs z*|NZ9_n;l`wChRG$i4A=jdRI<&j63mvJA)#;3a9)iil3)u>X-Mp zE{i&k%;^BYi4Rrmg*AKUfIJEhOWNzM#yZjyzjt2cQiwU~mq6PqmEnZlk;-nn9=oKX zruduYyVrR=*LmRs$P6UFxB`n9$kym2LR8*ILckYNC$8~jUq6rj8yJ(VPr^W zC&5^?x4Gbn^GD&wPo0ZB=07=K@}s-aT&;6FPa;bwF=?hcN(&7=XNLBiQ0CoLg|EO< z69Fu0eWsaclUzpHRP%F#D;@8*u&Pr4&%6>Dmk8aV>Z?Hq7BNxE-RPedi004=`3!D3 zB-vJA(R1h1&7#MZ9^}Y@FYO-=LF-QlH%vf{w{d9w2}V$R_RlX)C(HT{3wDE!%p#YY zrGjL@PahlExj`SRLacM7;d&dRqGfDu7n@W&3YT&O*A)0d z2ftZlK|#?Zzsse$S3zVUvJe3l&@qpj%tzr+Jd@S~YD^E4N>#QaCpygR8D`*jdCjkS zN~Hm@7~3S}*X&b)N2raCT?rHM*7ftt?CA0CDB>NI3`wV=krc+`XAMD|fTT~wLKkkB z5&!e~{7xV)@;QjK4{emsYNkA5q`UYR5GPmLa2if&0-4vZFqVfO6z8z#hwVGFu*XR=lj#JSA)-m?o<0D`gur!f{Cb z3PS&|7Fs9tc|7!_Dbir^cO_;`PLYn+Fv>sgpMYD~1+0w9)&BE0G6Bk#VTJU)XSw~jETo(sz_ zR677(%qZr2u($?3KLRBPH;h>xyFe-K7BY}oBxcV{jF({6dNWN1um}M6H1~@+;2F$!n*mbC+~so#Bk&A?@XkIb%)%lieqZnp$+yHQJ;Laq_wu+~Y$- zE0%#94>4T#7o}2f{-BGgdp``|x#?u7NO}1TCecnz^7-#L{|QS3;3xYnF%$gD_X~w* zim`X|$1!K6ph({E3(@>)lHVmW(Ay`hIi1r@L9AoXAU~uw8C;5f-UW0xKX(}NFunVb zPSxfm0yY5G6e+GTM1^50A2sbXS09%X95%@q=e@tAz zgm$jQ9k+bNywT~^h@_*_=adwHX12!NraUr5C|t77_8^RB6Q6vC1JFgKgA~+V5Gy$T zNVr*r=`BC|0%poV?HdiVgvs-qL+uU^jKo225?uRWlj!%+`XWrM_%g#U8KyJW%Dx|e zZj5|&&5rX9vM-AjkbLl{65lPZThvn^JriSN1B{k05dU+EH@HZmWufB>Gx_x$P$vik zHe(pNB)sRLxj%;%*8?Yyr#c~0j8Hel5HW7Zd>rd?`vW>+&M^MJ5@i2xXT0>x|MSXW zkGfXf5i8t(u2K@(T>Oz%QjfQcpq)F@Xj{*-L7|*q1;`W}gB`4g98a15dW*$5VvlUh zq73yAcSI8K_!4E=%49k}ZgnRA_PG1L{_~O8G)OPG)3VNvNR=d$MOr8x6~)s%d98hA zd7Z}`sv3`B{igNXxKvIfEZ~>TYk1UcyH?{$EvC;qSMC0uzTfJ0r#zLSI^#vy^@nAfv-UU@T;UgW%i`XIKN&<+xgst$aT z-q#PZ4l$)1=}cyu%Tca=*I8uRU=P6_k~5#HlSwNm6C+LexP(Ym-AGkC6AZzKg4k<2l>?sr;kb1TFCeL`T?dXC#wC&{e0ddus;uP_Q_bwRX6gbrH{ByVVtmO zkp3~93v)5e4&Tas!8z-af=_9U*=mBb!{;^?hKte8nNUP#|J<3>+w~y<^+Q%Z`lhYl zLg|q1?VsZKgXji}lP9ss`2+&V&gZqAZmZ8VJpl+40l;edva@5ez}^j&hn^K$l2@*% z>^EOzvP@1lalgy`Tm3bh^)W&lCKgep<#v(K<-2=iCV>V0-d)Gk;iE@**G}~p5}T%W zshJWK{{hIT6z_E-$kg^NumylaS1r?s7N(CZX7{x8+dbXa2x>Aq=0}I|4Dz#Yao}(D z>X284FN*m>7D9ZEeYh--pC2ek!nC{9$2#m&UVeEb2mxcG$p8v^a{DQP98f};=+mPO zs278=uGF3s3R2TX5X8G)$HMKw_grJQCk+Ywmo7lxmu8rPa@NKFTHU)RJgrmjmdGF_ zo20+aH9wsKc1NU$adeHj>r5M>=-7D(FF2zIhf^^1d~|C(2EKi9jCzbbV@QiKG=)QM z@#DZchDAUe+#PA|ONs;Tz;$Z@%`6Ne+=4HZGpMh+!zj2--&8LRr}Ks83)n$N5G)Gh zF;K{r2NaG5;eh;in6?q4Ibpl5vX9^2aFm8i4T$`{+UjNYGlaEnU0Dgh7P-4`V+Y1m z2(Rq%7)*AI6fvbJOANP&V{W`HnhU?2ErJJ?w7<|z%{~OmL$E%wbiP#uUFT6!J0|UV zT*LDNJ~F=&1A3C21h>XtKFMgTb-?0;gC84&c?&3zd7@m*V)pv`2iZ<8K>2LSZe#c) zCi^uhf>=_oNnwR}ceQ%WHC~jeo1gEVaVj|H@k!PR@C(x!;HIz!UJc_lmF`4<3dgjY zAe?9qqL4Fbnm$>0Wi}B9PaY9yH4aZ)RE*cTq(6K1uf#-wB*sDx4S-nt%7U0Yy)-mw z=c7lUb|fGO1GZI?8w}H>F)aQ3pF$Y`dkD+)fWaI0;B#I1YD?lh>yK1^ZG^~P>C zR~(0icwwrdU~L5xOThm_*g3=s!$a$O+qR8w+qP}nwr$(CZQHhO+t&GWlQTMlJ8RQH zn>0-q-u0|xr17f^E2@AL9Db(z5oP^^0CD`Fvv<~%j(GyY^?17E@x82Wz1-G#FPa-Q z3mWHHtQR%D%_qt9K?3B<>3#gTa^2xF-295gW0e$Yi?naWx( zmG^w%JOPL>MP*t8poP$5mw8zBjqt?)Jc2W3Y#@d)1cLHb{DeO7{nZmJr=%p@nS1%p znK>%i35*Vo9>|3Q^=_fWPRQSAm*`Z#UMv{#K2zDtnxS2I7hr6$ zsX?7q_(4a*SAXBRRrLe3{^=4PY95F^Mla|>e_|OWdH^FPEd&g1`ta}d|5{D`rE-0h z@^N#V&M^G~`RCOA!y1vMheG@$Qcm!bYd)8ZzYad7^T63r-66s#1E2nCTKv`xGR9@| zz>I18S#A@azAbxt0OPQd*H0!8nc;U=?GYk!HKw_d)8ZJg94N~SlFr=w-~kgNG1K2? zWBhu$<+r*PJ`p%1QH~^w;y(c!Fz$#UOQtf(lrrKO3K|(LES}0OeufVo%&$< zLQIy$cT!eFVgfFrA-d_m+U{51E3KP&;Y-E-=))G1m5CG-Dx=Pm0otH`33#*}Z=JdI z0hQ(VPyJs*f`Q@x7B4UmFfuW7{4XAak>Ec(2qWA7PMHYk|942h$j-{a{{Mnc|9@~u zbBBpC&iW!tG`QOu-0dyG_Rda$1D2bc+uJ_v03_`|P?wNBG!l1w-1PRD>23AfU7Kgi zH79A;rE<3jkw4 zdF(&Xzy2% zYJgD!CV!YBZesp{-5(iq(EL_#KxzNf(biJ{FDHL2dFcFF%GyGxcx44;HN_GGZ>Q?Z z%YFU3XMEbiO3TZ{X8;BRP!`>@TdijJh79X&vRgaDOFhs2{?T-YfwkPz-WO|yGYtm z+S*xwqCR6gxqQr(J&*tZ1vT=rJ%-~yyNQcFgWtH$@EY@O`CR|t@FtqmZ*Cb!=nGu8Y)m2Tk-<1_s0x!4t zx4x27RRX4`Jry=57kx!=4USHrl9At{FS5Wt;wFGjfOJ59F@X7@<-`lO@;=U!w)B&> z_ZpDiUAR{`04F0Yv;4Xgj{6(f-K~vvSO|LuN6=5tKc@pfL~dyG{^`l(lbVS=FwkGR zyF~&gFMzqdLpHL%w&%Q?vR^B4i(RtiX*}aANP6JRAts9Tu5K3Kmp?wH*E)5i+SXR6 zQCI%UKbrHtmgt*mYo0%~J3Y$G{ypW2Km1YEStM0FekM{Xbfu}js?Rp<&5`$-ix2^{ z*8Vo!52@n+!UNWOSg$wp4WB-yfEeoQ9DgmZt5Kz_1o=%&{!eyH`&zKSBX2eLeH%dO zB+UPPjm_u3E3|$T5kb;7Gu8ZP0IG1Z{tZb<4dmQUTJZIb_5j@)yP6v?=MQR00O=S4 zue5e#0N`rqdj1_f$lrG{$HxHlkbh`DG39PuPS_e*Ya6`MxjyC?=sJWeXn=dMm55 z;|4#Z4P^R8C+GKIe`fd)|DLAsB=6l$rRmwZ9whL$;DM~^6Wm*B^z^?K>@C0kHs|YK z{!}*BKl_nK(cNFUdNv)edA|0h?gW?jrf<_L{cqRLO`sW_UvZ6J;vcWvKPq3UKH&L@ z$zS{uLl3DN{D`LRlY{TEeHvIZEhDojzkl5y??(woH1Sa-$oF~QyVlx&fP0E=U;k}7 z_5*M1)AaTY{d>nx@zX2u%lR+kPkP<2cD=8@GAgMDR(@&n`sQkcPx&}TC%c;4Ib%*$a7;!h4Bk`MfuuUbU-nx`9ceXlb)ASDdAfAFI>hsO!Z4L6v z73CZM*JlO5pC3M-;(M~Nhe9vh#ZyW>B+q@pnUon6{z!wR)jw65XjyXAnH;coeN0C& zU*ADri=Wk`p(h)qu2;{Jpjos-}>Xk zf6`Vl()UfUI*#EMUAG{Ii4tZAFD<~~{7PV@K#ES8$+}X9n=vS&;)*5GmM+y~Y-zLY`-!=@s~Zv~RqEmlqeH7o*T$Aj*dr z`)0V;{-GQ)P0yMjGDsb=GYnyu0{FRMF%=+YOw=fLFGI}p1kQpwIbA>48pVm#PjsFvC2q) zJd*e8zR26c-3+VsrwV0KRBvVo&1(96mRz~g#%2cjU|?#O%iWk7MHvQY3^$^_7lO)@`7CrT4JO-YmLR8E&Q|y!XtXnVP!-?F7$hqo2AC1c`sZo~2 z1;^Ynv9JXh4E+w@jD)K)p6uQH{j@421&&H|2g(>`EVas>04c^~P5G7e?rp4m54)Lx zf%kHTw5_<2?zR`H#x*3lJ88u*8d>YVoP6`EqQ48--n zYO5)uAS<_kW+aR{=3d2@7*^iiN{9_K3|Y$wTg~i$hCi+Z?BA*B`fL4>7Xs*nsP}=6Pm%(q%i%JC`+D{7e$6dXQ-CYkuF-ZNb;{M(BQ`9 za5=V6Lr7HWs#WW+Bv&5}LfUb*qS0f>tr~M&=E4@(Dtyr!6_HhkeiyX!zC9Z5pSP9w zF3HrjyJdljp#(|ZOm;;h7Jie~e}rZ6p=9hw0!lrrapv*VOF3(ui0=y}#?%4R1Epe+bI(L2+zJx`T1sO|R;i1TbjXQshDA ztU=&oVXXfZDU22iYZgk3#v~)>xnPPS9UhX$!>G}{(3?R8yP-X1nei>lKTnVxjF|-9 zHUnTRJ`^w#bkt~MO3*p023aUebGD*KCqCEjh(B%%m>ROx8*u`(Z_Y-clYuG?qB-a5Y)qRAE5JARm^W zlG1{I0&)?)G*MZJ5fChz9{8HMJSXi!5WNZwh%UJsW(0N}cS5N-gs?u1A z=G+;jbxv*pIZkdLY9^IGcry26A16FG>7i4lDx3Ts(=ISa5y~wrq7ibVUVEysnREo= zy+&>IG$O2P#)W>`Ds9bCFuvMpB)Z9wl(0Eyh&KrUO1dk$^qfXH<_z4aaD%czVN_6U z4an-it!iS7eR29{OYavUAgR_O+g$w?f);AEJN$4PZYubYzMkgCp!lyL)&R~3{C?8; zQZJdkP4S)>zSfmK2~w=xNAeJKM6-XohHKXOEUhDt9*&IG9F>4`lyNCM7%mn@I3e7B zh{ACJn)s~qe%c!#rrMXK`L|AJy`>UVi_gT^{2_q7!$G2?h+JG)|Lgi3iJ4P+-u@M zLw0mmzpm*wC`VhISlTYsmXd=c=gN|VXw3y(kaIG|TF00X>aCT@VsTkS#9dk>kCwP_ zg>6+A-6)yl<;)Gu8WKf-LO6DsZx|#ckOw`X9#boBgI^D=T8e!d(b2bWoWlE2 ziahPdZ;lOv&3sbbc~vnNZF%(REca_Tw8%a#5^wm;rA%TZuMoE2=Ds!WPWXn*Qo!K7 zU0s$~3mXl1HR+B&S7eP~99-^Nde!={I0qlNlhINIu0!`=!^;L=qjx)qm-SR)li;z3R+D9Qxc$9ymRy|Ep?f&J# zBbH%NJRP?~rwXxmuFt&xC;9a;sB`fGVRi4seJ*mIg@wG;!)iFFw76^H+>yfVxu3h8 zde8@I??##Uu<-)ROcN`8lH9i!+I1{%W$P-V!_>!@T1#Yv{b6rI5H%Dt%OO6Q@w@hut)2 zYdD>OgD&HP#8*z-5iy2qPkn<4EE`A+v&9|hzmR&aQk>rf{|DY=K6|rY(*7J_j%TyP z9I6ze<&sX0VA(mT9-n(p87&v~z1(M6f2?a;KahaD{83+u#m;iz5G1Oah^~05-Rwan z?cM#c9J1U@wk85xbt%5N#L@Oo*i5QUGLS7w*uq_z5-4di10wIsU<@%&2!DRX4O6-V zLjUVx*EtS3ixf zQjG$DYY)>qQm^%lkqYpyWsPtx6`q33cy=_FrK+iv_AJ?yYbq%LR!)|2^vypv6^(r& z6es_>c)@Q~FoTNcUm7nCVSHr;@(oPgg|K(`xk9Oq?fEW+7YonRq@^J!OqIT{4_dg3 zs!uIdVBfoSzd@n*8|8F>@b?m0BUuJ1LlMloeBIJNkERD<`ym9nDD#~*k)?i=0$c_F zVBEIh-(QCaFPn;-TncESMeTy*g$!NS+V`IY)Vd<7w}2ji*ceR7$D~qjt`V@$)BnhK zawtqrIulDDASB$9G*gIA;u~dS*RI%AQc~Go&?PJ}yjIHgvpN#?ry2Z-0N#8Nc55sv zR;IF;;p?oR(xT*|l#s}^!-_vdgE4Re|Im_H@ylPVxnkkMtjVApi0L$z$Mf+HX9C6B z23Zu2j~)I=%V(YDPE>z{h6bvgweqNKh+vvU1`VlFsvguJcwj1(SHjql2q#33d$cI& zu_oFo&a$ddyKzTE6dmW5-xAh!bl_9|)KAI*UBLlVV-_NmwaeqT6X1T%x8l8s7jMR` z;c-;%oEy}r(25-aI2pSmicGmVqJlYxiu`LBzYM33BzHh#k!vN{Q@=iU)EVSYQQ&C{ z0&czdnPzU<O>B3M;<;7qd>>;6=^B9mqm?y483sCw})3K{j2wg#-* z_qH;yX88nOL-quaS$Bon9fkYy*PTM9Ltpknx`wCyk}Rs!_a5gpZ6T;3Q$f$TuKNLc zDZDsY(H6-|79OwKT3~u8CA=*rGU2ZT5M-42@V#oO#;na)DipR#RA2zo8M;MVTP$gLazrQj)~JhcC&n#d*L{?KRL~f zjfQi$`;Lx`3RcxIS>AZn8!mr?635F7#%)GMninCwsx3n-^lo8Jh}pR=e0tphjj?l@ zDP@?kFGKLGqFbbVgkW}?bNB8rIYkz-vhB-l!g2r%< z^kJJ*Y!Q?WGzMR#n_`~HzRl}&VK9t|0B?N}!%26a5lpoIQTM&+Chav_UKsOEUz=)V z=4159cH}6ah8*}|S6wA-coNyG(gP4Je1dLQLDMx5o-Cuozm9chG?o4V6BsL!sOfD@ zG(Af@=<0}d+92L-^d^It)1})OiF~4NSAMWDHYzy>a6(b=wRdnOLQL>6m&Jd7OxOUG zXD>2+LjBFu6<&E^Nguz)nqv^y7?GSZuEA(QLSC_3zsm!vI&QocUl~h2C)4)b9`Bhb zic`p+Llq*h<-FNCq45{Mh=|aVwqeB&$e(7zdbW?;{Q5jnf(6-ZbEC);Wz&N?pw%fZ ze0}rl*a#I~z5)X&^zi)!P-fxqxT<`n*2>;w5#8n`$AUm=VkDc!iF7qS=hPWk#WQnM zMME5s^Z8(|q^>2^Vu+=S*-+F~9xXk>7G1sZDoS2Ngw!@7aqgD1h>cPU-uv=*SA%jnlC%G@{w(NjAGS693ymq8cofH)47PYocQL*#d``IHmCFe2mOoO_k+9f%V ze=~>$6It5oWESYj=UCCUXqHxD;cODiCTf8fo;%H5-LpF=$0?a}e9+Omn0*c67#o%M zAl!2)K8s{!dgitZ-{DakMEv&mc50t7}|d9c!U)x2J2;VBAaoc zy_x+3)PvI(R-|jcgox{Yx+bX$^l0k|I3aNl{uBF1*FMSb{W(d-!>%BFT|RTJsIu2W z>pTF}X^C0U5c#T|l+xWm24xjYc}K4SOO?kQca}@^j*}YXmEff1yVEDiZK|4tQ?9$x zr0r-fVEmf<1<$nD4vir*B>AJC3!JZmRCz5h`id~CH38RK)sl``jh3$|>5sVT;hkYW z&HKE;8do)=;?#{CNf*)KvpHn6@%L*+}rP^;KRB0!+sV+1aZ9tUy}ES zB;2WD<-;L*CE#S-5WaM}Q3FfW#Ypn!x@q7?0mB|eF<&z_P|wTd3y<-#fJ2w=B?fzV zW4YN8SCJ_=3!W;CsC&=SnnP59K0?uhF-nH2lFyY6N#J5E3$5#x6xUC*~Im z&kTK^e?&^N8RcFizP%UV)(N0D@18bHTpo(oH|RU`{=WrCV_0d5NQ?FtDcRZ-<;CJG z@?uPX^plrIq~q36p|1+0UI!-zp~d*)7hfKbFy>II=(m9*pHtBi#oF9;X{;n!C7+3A zcPTPg!S;_TwdMcV6_K#HV9$A_tF$N0aj487Vh(WXV`i3Fm9Rs0HeT87eE?BN|?H=0gyOpm7Wt& z0g5-j9vd0c?bLWFm~A(_g&e4%S}TXaqT%^mk3o;*q>q7&4}%^2KQI*t*Y6i^$koas z_blBPp>Mj%p%@?RK+5w|R^i(1 zPW!*+UpJQn$Gx=TA_eAC#&3K&gcPpsLN_!dwO!Z?ZP~ z>wc>J!$+TPIHybweMfXU0}Z=G(j(M_5U_Aq4LiVYO+LFyU0i!o6#z*WBfdejbU-dC zLl@ZiF_3*OSVjH~HzM?;^HpFv&zB?5>*H)KE?(-dz+CCZq!TbBZ_l9ZiQQyM8*e$T zyhiq#^6P-806Kaq_e=GOw&uR2@;!DxNmu?cKx(BI2u&d zJNL@qonT1+*is%A$zGq(l>DQ>gJtc`a1TuXW9_;)n={8MyB0=z86C6c9?`NLkn+8c zJumhzFFzDep&{y&r(+|pLc%MVr?g9uoY>o!uB+VC=G0n)6w4xN%K%DuMf>LbT8N(j zm6)oM)O(Dx?Z2Ws$R6Er$dy>U%A7J5rXIEVqF>l>B<~p++1ZV z*$ilSJ1j-jk+(w%bjH#);ioMw$W3#>xHB;0?@f@%q}KV^GK-*ZAxdObK~$25YU1PXp-@M+6@RYR@L_@$auu5-DCU=xb}lYyC$q z(Cto}&st1rc84b9MlM2)MRCS_&-w=u%2nOIxK?QGw_pR%6_VchChomgxi9$Uh+s-V zI5-#HwS|io=3gYVJW!ThJ%c1D-ZwC)L1poX=@GmQDHU5$`Pz)c_L^|0{q&A#O`wxvG)dYn~*jxVppC;CEK6z zmUs0oH$M#&QqLPV_cc;Fr>QqFA%7$2&-Xn$aY-WORIHPNKiDT6NF#LEclQa}HqYMf zaL+xCVlc?(q-@7Clb@u?24q#}grfhRaGbyQd2HH~B9FvEU;~YEba|JHDr!gqe$H;? zF6*Nex?_KRVH9e$4H^n=pJ&iVPf6Y~#dkQji0tJpK(!{bcgE`tcnA(YtAbNV83m#O zt>}fQz-qb_@aaarZM^OH20PZ;Iul;rZF!CSy6ZHRt#AGf5NgWBm3V|l{JeOsJdK3R zdpdnmLI`q&?y!#t;z31PF202ihpb9|#H!|_Unve1#ZXK!JLSmcm#_{*o)wNq9Vdp! z#n{RxX+AGoaNxW>$39guz+3Y@+bmSC*2|4@%vL{b)-RMQF-7vDC|@M*KepJ*X26%h zH`b7&9i?H&et`&x<)P^I6eVciaRwX*o4fl?> zQ3;_s{9RkYbIgcy={@~cBo5*$t=o&Nxv)BcV6}V~iiewPGn0uxAVKi`^$Ob=8T89<@P0lDJG*-=F=FTZK^+-uFZf2U(u&L>1fw#u~hA3dM1_^g) z4s@R%@Cbp!da^-DsvH{R`7_ZdVqny^z&~EW5#caZn*o|q87_6fw~j#qCtH&U_SC6( z7DBv>GPet6eE@za;ZWD%DsolPf(Q&hM8mi;tggu1SGwyeoqfagdg``ciMMD($Uiov z$CHRzR|KHuE(Com+>k?H^Ns92)nX`!pqeSGQuo9 zYks`%I-Vp%lWs*hcHo&lHlfJhCWoz-*Y$d|5c9aUgio+XN!C~5Zk#w8zE^XegRgM3 z3cJ0>ODX;img*~NYQ!E8XBV>itaQZPYFbn#Y@!Z~84GbH@(#J&rHpCXnH-PVGyUeY zXk!uf9bO^boa2~gxSU`bY)=!^Waq4wl<=>%&9TqgfG?LPo>t`@Y@C3@_290HAUF zdUaiUiv0NBQU^9=&C3|@Y6JaVuq4ev$b{Gq?poI@kx4U##e~9K4`vhx&I#yb>!NMN z^#n(ND^vouoNnXVQWQ z`b-k>D@taxq{icq9pjSiVFY_dRB^H|yXC7**#27+G^vUMO-r>ZFazp@eA=f<@VrJ?E z@VSID-i!#zXAB|Z$gV&sYPv#POPw^HUY)H=Hcs~qipR&?HFvAXtVA#j*U^_HGA8+? zluf=(uem+sKfCCu2)<)4JP+dMi%Vl>TuU8vE_z`+|5@sxEkR<>eEMPJS^420AE3KZ z)+Q@kN%yo)b(vAxj~k%{qc^#l)kAi`B=G=X!K%^}0l$Rfz&Tqbpck?D#$7t|iI1Zx zgs#Om4jEHLJkJtqdpnX1dJUd`dJ`3UeaGC;8OIdT`M%t&JuXG7=*xTf|1{)>rj0L*?_v&jVM`x{51ZhdEJ5D}E{N@Rca=+6pUBWRLv1a_QjQ`C4AHL3xPe(gb!vEUJT# z1&e+sTJiSURJ}%&YlIEUV5II;rzj{?!Q|u$ki@5jNBc`!r1@RYH6(MeFm+(6Y(GqVN?*At`yp>kFH~#!D|$D zK}2lI6&`_ML;V?q*;=}3I~@gbcY;&fh}3CsXEfv)ss&#N^X{_3D6DNw-v(qEng3bM z`8%8kE4V)S8T!`-j(;Fzma^4z+GzN>cx`5LSj)}& zKMUR0goYXCo3J|NR9ZirF>NcHz3Ti$(UDEnKM?=%n>f5JJUo5~rG2?~en{ChqhRNT zXjV)%y(Mq9{Zoq8=wh~A&Hn}fChz4fRLHc%?O8npml;nJ;=B-ro`ujaq#zgJ6?lWo zovfB#d!CN*3-8%R_Bth%s%Rv@{pelkA~JO!pttp_1AQy!Rtj3hd!r~oTSjt*Pf#V7 zsgE>V+=I0B5XZt{@a`JBuAdP$v%}>J8peX2ROL?e1|sfB=+1^vWtLmzdW@Y1Dwh#Q z7#N^B1Tm1rh&~Gl%-GJiu5Q%Dr`m;83eGTN!!+rU3loL=VOzz&FdDtcy_^p=BUCXz zW1p4pa{?FReFSLG@y8y;^Y@*6_}J~Bw(}h#76eK@!6D_3=KTVxI&&XZKS;{gC%I>4 zOCauLyy{(aTMmLq`~zrCctdUJD&z?8+}(Dcik_{c|B^n|{i$13RFDbvqKBT+Jd(^P zoTeL1Ax=z=fSaq_Ag`#Q)jD^0^yoqyEl=u*WAD-mGIdJs*Ga0j3n1U)ltaviIZnUi zNm4+;FlTsr`9=C8HMKf2FNO!zT_F`{dk3qx6jn;MF*{7Xya22-+ji0j%+$l(6K@|N zdFxj^V|uJgPnS2yk8-S8=^*&7dth7zhDV4MSmV7l-oK;yQe2UXCZMhmy^`!EXS*~S zzI&CSVT^fT;htg|@T~Zv$_<3&q#M-G|0>|6`g;G>n-%W-X!GS(hH9R zKC^Vq`MA3nt5gG);|FluC*B%s($RcjJ|@XM3%dohD9p%!Y9g@IK*lN9TC&o)C@7#a~MBlcm&JfkgU>V%;+{(_U(`rR?=ET`nKl@Cl8==$WI#w_|(;{>cEN>xxdjI z9YS$rJjU}TS@7Ui+;ym|jtcO4*8^ubtM8N?lJY4mO}|Xy9=_~$`oh9$aSDdB!l#6O z%J{;WRo4$<5{SFT>Ps6C&PDrs)VBgYmE2^=^1Ltw#@J&mMouYL_)TK&_G4O=6agXp za*|B^7LeoWzdt-N7WRu4wYo!vTk_ESn>U{a9M<+~E?I__NWbodM&#Pohen55Uui{Tk~k$_oZu{*l{>?f{QPLqdd#zNarD~89Ibgkj+>0mTM&ans)CFn^oz-Rqt76?S3Lif2d##-RX}?E{Or!W+x@^s+XSzw^`Mn) z-XK6l1MBPx7U>1<;u8Dbli^i-W6+HPLip7f4i#glLB@0vHBy!38nEoF%Naf{8I8x= zJvE+a3tc163k5MMmg3uusfQl?wbu#-Eixrfb@!JPi;P;KcgBxr6C9tra&QF#|NaF@ zNURo`mLzN$m@c_9&l%#@OYCD7Ld&V4hv~_3v_OC&Y!df2f(6)v!f9$(;UVO`RKT<4 zw0V@W!QlL|0C*YGOz>}5S$~)0h5i=@;*}oqvS-TdQVr9;!ToOuZmu2FUZ(=A0k59> zV!xlEWqYK=uvc6uFxTNrrh{m^-fyV5@WhV~5Xu*_I2H^S;+UMBRiqnA7WWUfVmbML zMWdnOBe27|#ANAU_&})K_Mw{_j847f?z6+#u|)rV3}gN6-R9@FkR|oa8y!pKThtiC z4w`$n#6q>18Ivc%HBk1#fw3R@(e4hVv8^fEJrS7cmDP<5RxT49|bmc~!!AQlIXHWPH2G*sG zf3{KJi}}W~DogYFo46h_jO~a0@cH5?pwK8EVg4>S!##WS5wY zb&rVaQ!da`cp=ZaV!AVqGp~F%kRrmxKRh9HbMz{|rBuNT|GDE!Z2=KT`#_!3m{$!q zUFJ?DLsgeBp-VQ(!dl%(-FGh68~K&a?w9GJH+t9E!v>j-J|l^eHQk{y=JiKK4;$R? z*Ur6c=Cuc(84EfQ6L_Yr1Hn>mwJt%05O+fd?t&62;YehyxB!<_(ON1`^EUD<;S?eq za5v$bE)aoay97r^yg2AcD0#0j_X(4z0iAhn!>e`VTwmgtzFt?q&DRZ-3HT&`2G=UK zF-;yy?vxNtzZ6yTEGv7^ z8if@`qjgQ!Ni1OF*#M0n>p2jj!x7g#9>LAMq#H%$UBBx1gbES*sVGIwuRwR-5rsWd zQ~^9>@oAC!g%C{|{#_WnFj*L;YHnQV@P?*8$sDkKYnbMT75Uo^#7#{h3B2Q}G-6_@1J95h z__6;-AEvPYeq(mMd#3Btso@>&qRZzI&#wM>PIJ7w68DZOa_$>&>(4g6@;kn73c-4J z<8sESinz4)j?;cSb!YgE>#Lo6sh`|~Al3IrA0xuqr`xs=QsE}?VxfM?=eDH64*pV3Sb14Hk0 z4?s2(N9OfozD_c1A;&gfp8F~ht=dLDz#}kU!b@X864a45lM}WFs|yJN{a^pW80r-2 zw7JT&;KTQN_waq{RHSGtf=lWr*0`I-d%Pl9%#@d`Ba4Y}si7F+e@}?jjo7Sukx7>& z&gS9DZt-o7cCEK4p;gWFl;k$vC56eiism*hFfy(901U^uYq=aL7#a}

    fmYj8yja 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�lA6x zlopG)0upC(D%oz3C@CSqb>OUoXfK-5%@N`UX?dkE9|(N3e(alBvKQ~k84q|q!4`J0Ae|G~SHqi$YyVd>8P zt6ZS`gZ79Cd>#C*+0zfJSUn8ro39PUV-V$FV{UMQxl5N#T8cbvo-RD>nkN;M+ZU<4&7ddHA8RN4L~ zsz1-AtV%Txk@#~;wF}yAe58D%y{}ZsX>K*Ne4k@j04p<-3+|!rkyFF-s$iE??TKE$ z^EXiA*e`zI4yR4f<;%~$55zB$Z^sP9>4NBUJK>Acy$!B`Zl7Q@a<5Nq*{6_=ye4Eq zeEP03av-X&SnQ4S^o)+C9|`U|Z5T2nwUr_=z?;;s?D{>uzHEtnLK7Z}fUwO#F*#a- zK|DBQ@m?|ZA_(ob2Zj4s4nH0tDu1(=RSg#+;%ZRB=ll81mmnU3Y0^E?0f#~WS1j&m zA`kMIc2`Iim$O<+;OO4B=8;nPs`9f~EU;0TN{b9lBRBb&i30WuN@opcMBBYzJRkQEy`w|WR5x;sH+6!E1!InUCXdz#NfR*i8R@p( z58~CaDg-MN@ihV!v!w?wvF6Z5uI4}pUG zcvkG+Ed<)N^C?A+95Ze!bVI_KhSDEhlBnPzViqkMd^ClSZ%6soGof;9P`=|| z>_q%_)46IK#9g<4*!jz_Ln*_>2s@tKlZ^d8hJiQ&!e8^9C2sIQi@T|BH!!lE&;1Z7@~O%X86za2KZ z)O?~KE^9E9=re@?rs?*L!|UK`o<%;+Pd@}IA#J81doCoZz0K-*7=j*UZcQIj&KYfp z2)-9v{feI~pGB<|r5C^Ki3dqZMURYkTpF-!rBOXOr6jVlokN$_f8wv2n8j&)7RBp) zZ<3H~0y|8Cui9FQ$20LXGY1)~dS>lRM2s3aGfzZPXZzrFp}w+EMLR_aa{o=@=PAV? zu@sB;8wPKZ+>BaLcQ;UJBHQ-&9GT$IeDh{iBQyWh63?UiAKOIU7RbMhyh!0$ z(oCEWb63XEn8PYEo$EWqvXB|#ORdzkp-VYN^fl!DD;YzzL?YKCFH!eL4FE#9SO?h2 zQ%r|9T6l$XaE<5t%USJOtie+OV|QGlRkG4f|XKfJy~tDSq$%c zGnLI0acemR`NOQhPTvh!i*?OFI>@Ft{kjyVt|+-Nc2O7M#e)Fm2Vk7D0Zl7JvMl|~ z>!mdz-wXItxP%CDuQmE>kL*1wss$QJY^q4vR6AXpQJ+;mj*u~&J4fkK>HfFbW?zm( zUXD$eMzr3lT`YUAUDgFrLFk%dDxg5Af_oA}*FN2BESv7~Z6+ zryI9!9o~^VNMxA7YC8$)N5R&$71`plL6sngd!ckkg`lA0eLPQs&GSS;+&s3HG{Y;F z(qARKO!}Pp?hlCg1yMFAs&Qc+EyyP>`hbA?+3JE*0qI&&c_xoBAT1uCIfIL!oG4+VAwbm2t#;S&k#U1aKeG zy~YheT-UQ@67TxPD6bX{|C92II7_%F+egU?0ev;_{1pU>&}1t#P%d|!v=IuAs*zv| zr$u9KD@hf__yjlU7&Q$MZ^NxRa9uC{7t3QdXnYr0^~7{eOiJi?KNi`pgxTxSj{cZ< z4K$XZ(h&}A%+U*lfXnap>AjZfbYSL{8)InEKP7{bn)9AWTCdJMmvY#y#UTWcFF4!o zb|8gom+Wrq&H};sbhA0+-T_36_mr}nYvQe_9?!-EcJR4t+w!8i%V-y- zj(>JsJoxlj+C6P7K#L6JxxH7cqmhF-wk29r(%`GBot+ww3Z2)9f?UtalnY<#xx@Zy zF4}gFo#DBS7FM!wHSP1<4$o4B-@2v_;WT%=p5ZEA4N}5W4#r>n!2{3 z{s3Cc^QDfj;_I{^B|n7>xnJ~yoTcd;ADBt(rmX`dRnkiK_?K^(s~-?wPhI(A08H6v z0lFdqXns7hS9K!TIZ@|jaL>C{?jylGG}GWeXcA-Mb?X2{gQ}-F8_$a)%{$4X?@>)) z^1|D(#N$4dhGFcSP;6A98V!uy`1!*)S?U_U&?PFBKTeo6F*;wzrgIG50)tHA0&%lo zS3L}v4!yMw+eY9ht;w{Q$oYsm%B`h?Y#W!>2gs@V7 zi99mnEH4;TvA1g)frRwVlD5FQSu45zI1%wyFTv4NI9~tk!qBjOb;qdI_HS@!AbwGY{7T8w1#!6abuCXv^H?ltGK44L zV2x`2NlVYS4)NEk{s1rI#Vu3aU4OEdFhTNg7@K@&H$i6KZVjSSm_HvWg$d|LW0Mbm z_M>;(Cp5DTb+7Rhg^?F4@&KPb+w%jUp+e(S&oGdUH3lFBKoE?w6b8P08*3dV5mt zkT!p!Nb0Vik7$g3ZoUu>5x+Z>6f{v+^X)Y9bY4vDJmjOPboKppQUmK;vP4sbiUcZ1 zON?a)6@?tN@nhnlSI!2e=E73?1IBrYcgix;6aBXF%T}*h0MYwc(*YPijGZ%-FiN;( z+qP}nwr$(CZQHhO+qP~0ZM)x1X4V8Rn50%!R7oYZzH|0ohBO^%wK^q?6xPugChR#F zNH5ka?9F(SHqfKIar~f{ZcH;mJh6TGx<95dYhaExWn0s%A*C=d2QqPOzXb=ACoS|h z4THx##ujYXj~S^A39bxWK`Ach3??mef_J1K0qJI)IQP-&Ns3G}}=2xsTzp`^sJvXqTJ@V&QrBd1cL zr{Dawow^hW=wP9aNb3P5OPn*G2#U7hB06~)o=(e;aC#%%0~|+*rq83>QYHN zj^fSeLMuYsl|yAR7l2ZxX~wGn$&C>^Q>_l&zm+oMhkwJP;`{}eoO-8%b@TdlOWK{F z7k#RUYB?kPPkv-3d;R!)-LrHE(0>lU3;;tim17tE-HI&*##Uk-q5wJkY7|rTd$*c zIJ{y<{VdIU{d6%PBBs7z>!CyR)*D7r*~awG)zLjY*Y0L`)A8|56H(6B*3b6ng5UYV z#^d*lW&2N0MX}T+=bl9;K4+(qdz`apo8eQ=ZRH~cGZ&Fck)--txLZYXqRSKDqsnj6 zFxALE$luGGPH5LZ)4wo9-rW>0+bBqzinj_wp8Ld*vwl0gFwqXQ?f|DcP*l{XT^5MG z7Vf3UDG{FJJ#wzlS3pG5o4`Mo4J6rT%g1DWC1dIR55x#8_v0-VWSn;@P z`|e$!DdW>!E>mz)sCe&P`A6bs^60VrL~Mi}hEsuvzJ%}3wXXORG$f^==T^_Z!bQ*J zE2n^JZ^h)mRL~^c&iLZEQ*N?@*&hu4m+((~7;~MDS_!E3GOVQm_78->2UbtPSW2b{7Jv7(MT%5u2rdWx;YmE!LO-2m z>ngG3dgC;fs-UtQ2>3vs?7sPlg~mdF3$08k({Xwl49$Sy_9OU?nIv5iaWgoU4iib1 zO<;-(r;V|`6pPs0=ia^p=U$bFo3aXO=t|PhCuMNG@30=xuArd=w6`ZFj-HGq0i>Rn z(lqqjYMhSa62SXfyF5E2MY1$RIavYZ?>k-_D@W*sg$w3j!LBuDUCDq{)p#OSQ#uWu zd?027M7w^Png%93BRg_EK`m|d4OS^YUCsL?B>nobI8n^wmdnTcf;E5wc`P5QmnIHo zeK-Na*m7ByPYZ&FGg%s0)HIMw1e0+Kg9MNiA5z^0h;R8=ol7dYUKJ>GD-nZ7-c^Rd zXAabM218Nvo7Yxpi3s|9zF6@}S6leUzwwj_*7vmSNBwhMP@ks-}I=}l!;iXLS?^(BKVm$6xy`5q3BRvta)dUjL&51d&K52(fSeT~yqkTW(D8`_{1pdtbSo+*u7C7iXsv2Zlluj(6G&yT# zt%79~OV?%-9~hZ$R)YlG#-s3fxg;6@>bbM{24S$Wp(x^{ERgO`3hC`z>Mp$8KH-Vo zmJ846dQX|wQI0&o;}^l>thrxkyQ2Wm=Ne3huqV!U0S$?mf`!F?N%dZ^w)JO;i%I5^%$OR-m!Y@hX|IYe12J7E#V1Y>^c zJ8*==Ak!dnfknEbxEPYy@el&h2PPRCx^ahnLEvTVZ}J#0$>>Z^I*b$ zHJip+*B{<6+cV~5$*j_j>>BMEU)0;gJvY_69r?eGF%TGcHgMbOxY6r06Md^6o&)OXg|yV}?e$FgjdH#<7rbm+m?*WV z-!wTShz5Yr3x*4WFLF-4lwIC?;KX`MD>@CV(bQD=v1vTTa$yuhur9O_0*J$4_o}9S ztjIyR=JBO*5Do0*$dw@(F<{p}%Vt@OTjXx1yC&HBD2hK6gx#ONne6%L5)cgp? ztOG3yvAf?5WI7G~n}$e_{@F4+zJs(%byjRf@bV|&b4ShyI%n)rbeqTzvIIj;ivkA9 z90n2r5eHy@sR#ZzgR&De&FiCG!gA0N!e)kwAI){X# zY(AsCbO90_wDZY!bBO5l=>=cZ=>POq6%(x_WlRG1JimVp>BzPI#foHm^C(7yjKuEX zDMoHAls!OlV=L4={BJxUj{k)R#Kg?X`hTcDOax3E%#8o{`2X^Nm^j%Png4%zKy9Wf zI@@imQQRP~NF@&L>jxn2?vy!HCHDY>ydB-r4iL9^JG#jSw`l|7ubpq#zH`3*`qg5n zz83kuah&T#Wa^6MXw3lGfTe>35X{`r*#H89im=xPP)EjUz*?PK*{tA;%@AY&Vd;~ zH33XCQZxai4BXa>VFTb|fG_}SWp8N%4Wt3U7QhK8>q^Pu5)_x!R2Iq2KWb_0t}Y^8 zfAi~*tgy0}W&k7^Nnt4g6rdpsh$-tH&$ojiJWuUMK^BxeT>UMdv);>h6{Un_gw;i% zaR19^1=s+z6EH{5=C}Qe#-62S9@t;eQ>M)wg!5+wSkM$Ehy$vrxxKxmQLCdvKx=45 zjV}Jt|7NMN)d9FQFy|ilSI@kF_nyvBM-Z*fNw_xPkNVzB2>^=iOfUiZPA-Y{OQLwWgE{}2G3;GTa=BfIN6wYs3F2*81%6;LpMKsn*VnqUOw=n9D8 zWBTz4Fddx{-Xa? zq$Cvt!25;=!1cEdK-)TDDv+i`04|Q6W_Q7NqWsdCDmlc)X7bD5Oe-$LHQeKGzne66 zLg*>}DXk8!CaWNuT%CaC}UC|{_^Aa%rjx8H}2Zix*~02&oLqVuIcVC4jhk1pENfb*KG11_5*+h z>aSS6D$3t~OUiHTI|o3Gl|Qi@K=tQ-1oS}F1N#wp!__bLL;o7f4|eYw%NKU9Sk@o5 zWB=#O;A?%?UwvrwzxdI?!#f|hJbubQym|lZO}%xC2lxp%1JGaKKBxBY?s;l=Y3%m? zpB?`l1NC!%lAbV)AK<>nhTrVf>Y%l}xHW+Vej+_vw!eV??Z!CU+#2o z)dB_Ulb_*#sl4xZZuOG~e-8aiuHV}~UBPhz=Ggc9)8{^=|4yL%da-7I1%rN8KjTT8 z`kCB5x~Hfi(Y=+?|M`RTp#5qa-m1$XSeqa4t9a{zj^KXBhpc1O{dZl@?q3*A{UP3e z+ZUccyT7V*^o0-o(cdSQ%5TrCZ&$^pAK#webH*=pwQ!E$n}97gwEB9CKL|yZP>yYn zi{{=vr|bIH_4&VF^LKpMiod>szeHL(xYv8LGcVrE8Juq%0JpkzMnBZN?Q?#o*}s>O zuYX~_z2Lv-f1W!40Rr#^oKufL8#)XVY^97PGwM|aRXBNB`KKL6wGnYTI6F?CDqq|{ zlRI}P18>cm~8Uh%93=| zXsGenkfCD5D2rv%Mn;7j_d2r7E`A{Hx5Q9V}SpN`%L`TA@>BF zu}_!L9_=Kd>BpYw+$8!;NOgnxiFM4(@2XKTi83h{m%i)HWYNoOfi7@oe6F;<>J!19 z#yYt|!$0o%hNtSHiWgs&&XZW}UNZ}qP0?AR_k z@R`kUNq&c#fz^gkLj%CjZwm8_MC5jP5t4pr z$bHwk;K(B^B&XLY(yYw^Psar#oXI4?T#HP8Hf-OxIvNi2E#$wMp|7hbG~ja8Z%9QFg=X`cc6syAhq9tDBVlQTx8qG_ ze;iCvJtMKkCNksmpy^9Ae3bl$cellz4D8}g>H}x^UZL+W#oS|Je6+YDGHA+(*Qt5m z=nQM0&CsftgrtaMMkV_8v`T08huXrjqR^g=qz1u#*s~jV)HVy_r!B`|;lr>M>Z+YP z`elw9PS~_7Jk?KWG}BueQzjYK5$D>kyJ6V&(`da6%@_dEb_;v3-tC=zTP2OHMmctX zseOY%C1gL0YqM_|D01I}ZZhi37cI-yX06luE9lAoGswb*esq7L+|^E0Sp>2t>!E&E6(8@E_Ym@z%%Yxrz?cKDo7p{9bJv-$L{W8bje9Nk>>MY z(L;s1x;clDCrhOTUSpoqp!q9*24znY2bN^JKRdK+$YhmB#L4fklK|#t>KO8FK zJclQ6y*D*d@lun8_L|cqa>g)3816+I7yOw2NgcuzN4Gs5f)nFntTYn8k)f+^Wr6Ue zOu5sNrmyVkH#=Qu(c)8O;SePYWax2*cy3Oe!Ewu9@8ys-9Aucmd~-1F$h`RNSaU_1 z&&@v=!$DPjJ-cG3AHQU;f~T}l4&-}|oI?yGM`WN0`RMv&nz;LQwpGe6At1j$i3zxd ztgF%Ce9sT3O@}QQ{OFW0dIkc;$6E!%T71;-czqOftB@U$`<4OE)87&E1}POI5B}T%0cmD^Q zm_2<1RO8Qe0W@-=z~)<08O;KD$GyjOOyA6Ov3(5{SyQwpry!PK1x-~asf(RAI2?E& zFkE8Ju!f$*IWU}7jPGK6XVeB_xNuK&3t4vAtb<GI>jgdV9uj8A*^jpV|sL*;A68 z&!$NyvY?UNc?Ou@v~a{evkxBY`@`Ae36txR0GNcin>Xu)Ee1t*Mp=zHuRJM*6$wGd zJ=09#(zKqX_6KHFJc&p%dcjd9>^>V4b38;eQG-%W^IT!KR?fSI9sCl+*_N zb=tpdM(%Ejisr9SgC(7Y%W&PVn0|fQAwV5~48IGr+Lht8<`*XSYPA-C)ze^_uiX!e z)QCK+ndykWl9)8X2vvNQbO8(~Gu?BW^|I~`)ItguF3>Ekl z^-^iUVDM5K@Q%a_%R+QrMq;zkV0R^c*p7wlgj)RSGD;g{X5O-0osh?opM>$Svdt&W z<~7L26`;v|^PY#Q5M)Z94sKopnnukh)rIPQ&*og>0eJVC0aXR0VtPY=xKgUO&F*(e z{l|=ikDo{dd`T}*EUYiDGWq-PKnR-GPePIA~PDd;i_iqHL zi;y?K{hSi#dCtJ)?91p|XpyrJW?@NluS`gCT`y?cTus#df1oi(Y&S<$VQ48`yV6Zd z)aUqNh_bRqCU>lOTgn80n?X{R{pJPA_DT?Z5h)f#n<&G!nQ#kYvqDI{rULyZw#}^_B?#={WHEVi5U@2t422!d8fgC8kcvH` zAK9+wCU;-Z#aw? ze_}DyG?(Y^bf8~}5ch|5sAT;}njUf}9~{pcz+X+O`{){6TCuXOqY;H8jI0q-mDhZR z_Tvl64ebxH=6Y8K2bJ=-Q?htkbBCE(XoM6#Ks@dVfZv9Zyrs4VSTlGxzXyS zhf`ZXhDaLjbc}wavBV0eUfKdR@=wHeFTa*&0)kxkRSbnwQ&aE)e=?(YX{N1)wH?iX09Z@}4=Qdew#D8QO{ltblyw^Y*<7ia*ZU z-Yj>UN1qqiRXN}Y$Z%$|8iBFOb$c(UzP{*%_z!9!MiB1aCWbz=GQR2anHv!XYO)^g zS%@dTotI)W2IQRNDL%^@x`Bm)VMpe#7wsvtzLj`q#gEVAZoL%{g}RhFZW21Ovq!=n*># z-mP9ye#OzsfXP{YQ0PwWB&(uTb0&&D-Ip0wI86YP>M)>tYLteB)sW!R$L!oNV9Edb zP*t9)3*^eeZ3=zaYeY_q!YIXrz55=dIz|tW!3@-sT@=~32Ns?`=!qsYq>))Wj6sPL z)xQwZBZ-RrVZmDx#=&WmQCuSEQL=c%9m%|aJ?oM-WmuW?)PhO0rTxd6hwX=!BA($) zR9oCB#kG>F4a7Ea3ul)s9ceHaQd7wYN|)%?U`!|9B|`;P)4YBNK-qF{R^x^&4zD3Z zFJsAH-3A1O7Z^s==KG9^>yKL^wZaf*_vVrTHisY1`dUjHUaHH-BWMVEKPoC^`HGvd zN;yUxci67v)-=&=kQb`o^h8aI8Dym?L}Vc@vzs=?iE8SoVeH!OXd7auMEZ?jeY0X& zPfQG0dpXlIavVg$ut~CC*Z2gu9aT2xK}r_D>V4EH%6gd!>2{(Rszdm^&$CT$%HNdp zWJ0|>cN<1H77f=rDj;u`MXaoZ)J%M-YTa|R!aPv4>J#GGFK}caKjGNNs=Hk zjvpXtn|+y>VY%%sThP8pZ8gj}D6W+sQJML+qMKgSQ@E0p1}uSbqYxnFzZ~LnEGuQt zqnmP8=o!OJHofTy@3xx@THw)s>DA1&W3jRr`c&|8JD7w+lF^Y;R11Uc%b53A5hVSp zkyo|(+BLmR*AI}z-M>9(gEjU+ZBN+Dx#%wKTsAuuXgrl(j%hh&>t(;4;*5Q_neTyg zG=Xo2bnfB}Q-bYenfMNpq&QuFiDxw1f?X9m!`CmM#cIs4f1CM7iTqDfbx}%~jK53} z-;!R!kY979=syFkb4bs3mP|NRv=<87{D$+ULt>Mxo(uUx&G~Ka-$8SiShw2kQD$lY z%Sb7U4yiwQIn|#TPZG}<0?mxMM~hweqosHd?aS!Ye?&QO#+}sx7`|tv*RiesGj%#b zerI*o=bn|#b>4^;3<7*iLW2=qxy^owZSOic=N**xowQkks4(x>>29k)*acx=fqwl4 zgB}JO@Gp@bQ)H5{RZW&0sIK3lgrFILpg%U>x5jAxwV75Qf6M0rBg7y^B64N4Z{KZ^ z+MZB!CUScp@Ypnl_s7+H*~07Z?2q^NL@u>Qv9>$qr#JUW?cPDwT*+pD{e8~d)+GYh zwfO)GVt!+%+|O8>?>m((TPoCs=sVPWx`GuC?hQ^Qkv(u)7N#|x)M_m4zYMgF4e|T! zdJ;#o#oB;PXx(p6*w^}FF$)RMNln*@$W=@a}8RYi%qnQC|$j!6M4)x zJP$oUyW~#_-Lo*sKm=3WgXwro5lp-ke{`~$det7n6^^mn(V@<)|&Tqr??If+b zz|gb`;FB9L7G`#vN>*LCEPZH5CYseW>1cw>_{ykcO4%v?|5pf0BPBb~w}>(dwa| z+5?_0KKCYbDvO=J=L8-Icj}MZZ1Ivk@hpCy;wKk4J7)2)tE0k!Kh7>(W$TJO?T}yY zOk2Y;`a?~RL$<+rPu(c7etK*-oX(WvtRKrZ)+|TOzX#2`a209q4I?0vnqEj3CP`1n zX#8bkOE@j}KVd&qbghLM1Oud|0b8Ms8fP>vG{+!+L`tRbX{acYIpZ*=RHf9$z>E>{KGv&xj1V~{!#&+Yt0!Ehsvb@Oe+62K!jf>lZR>?&R)3{a`+CL1Nm6T>lwzY z@a`VV>SAjR2WoZ)o*LdFp0+#HxnTff%YS` z8@RBt&ktK!SmWrIMHNBi>E}=n= z!)Elga!B4zuH3hc;fc4s%_Lq7`%6-6+EZN;e!Q~}JhVz%;$v`xKOG|$oSy%}V+?i9-9TR7;#@t45L_2h%X z7@z(@a+9ryXn&E*Gq)KQcjx0`IZM4W*ApG}Vxo^4?0)CIF!8qY=>o8IJzuy)1{qPb zLWi{dz?E}fN!E`5(PwB<1f!>KfqA1YE-o65oYftx5z6&07uwH8eA@@}O}EdsPYD5( zHs3FCpw7Nhg;p}9Y5UNZmy+RC8=YVOfSx6eLAR4v**q^Psi-X2X}R4Kky+s}VA3$Q zS!vMfoD=;M)|ScgHV%-`w`rJ>-bi@9SUMFgamGQ6iCl-iY?};;3vk~Ie|PT>+$#!2 z=@td(Xp_m8%yokmKL7Pz<`C_cM@vGw{X@ctX&l zBR@j)E1a7*4QR1&sraL&e)<&ZI1Ns;^pI79%Bi2l>BG5Rsz@20WvKlevWZ!CntQtt z*2*!cCD!Pnf647EkRXx;Ta8Kf9I?8puzEt^;rvJ&x`VakKU@=0V5jyhrgAjP&dVkc%p4RrrLGV$J$Ja-#TJ5-p1(y9tt zm*HGX9?8YSR5NBMmVRY5Ydz;`b*NpE7ex)1+$#qd%fV8NPs++dQ;rzze(p5gp5ov* zDcY=Zblq(-yv?kzI>i&T3Au>PT0>)oog)^{`tq^6m{$Vqic~HRg)h~exC@C@QuBdI zco(>-)4f4jTwVl?^s)1o;n(K1$YMz~JjexzSB>|T*@*0(PzWlD%c#{y<2Ifd`*(L0 zrn+P&<(O&;_9tU3vjs+-fA^~5v$)9wX}ZVjuL-8M%{yJt>&oWbJj7>5&Xpp4stJ~p!$g}d_HT-`NVjHOg>mDsluUm8S*0Ma;s`R z*FCV&;mg8#q?UCn3>>5quPA?BXMjhRngY~B=HP`hR|*9;2FhH_(wFi0GP)-?fRn( zBK_N{nL!;0!rKS}5YulpzKjdutx_yqxW0WIJ`7ErFZ+D8|7{%>gYRHGiNsq^5l~n80EgN>-48w^NTRvO1TSM(9^xDbE+E-U2Ifpbc9Zfa>P zu~80=Ug!CbNH;A$8SdM}=~F4+xLcux(x$dV6GXOY5fM>yCps{U`qa`{_g0a2C(Zw- z;R^3v72U>q45y$oJ^hfji|LNQdzJo|XDjf_Kmi=~f!DJ$&O%7+rDxaG%bD21Ii#bx zn^f)?gO;-2UO9!ZX9Z3ws}P{JRe8@#m&r!G;_?cD{bzm zZLST&fn2E=G6*5`CQZ>^9{a#|z=P#1cRgK9krcaHvM>qXr^#N)emW0KT&D5#unsb% zpJfVNV^jP9OZo<}K)k1UXb4)1b-woD_kDQiexyMxIP|2MdRlx1P^*#7zwF?qdL(MY zv0F@utUcO zck2lO?i((M=Br1#ABvT)(2K~za5@q}x=%p7jO~8h(%^~&_j3;h)9f>DJ1>XC!hX6! zY@5(h%I~`k@dX-6IN2tAQ(ebb4ls1znDc(%VTJd=IzI5)>&U>;`RaH7AXvuO3sa9J z+IW+8u#`J7@dSCQ{H8m))ObMAIS0seN z21LWw>hC>-AT@^edjBAIsGF$q9QfVm>RVBh$lnU{@;I_L`L?!1KlErx(a*WS#Rj4S zLuF47CbryQ^?e{sr+TVnw8+y4?!sU1l{Y9(M5kA+MGgo;{BQvpm{gRHg}JsKmCuVm zeebeZ^z7i<*&*>zGzDsf4X$&&r&%00$AUs;IfktdROeBQg(OyCS&oqV{r)Y1a?$uN zpEvaSa}lUcDlV-Rh`;C`Vhd$@EP4UEp31H|sISFW8ruwMuIw+Sp2=E0ZZTY)kJwKr z^O;8b;B`zh*9Xzg(!-lOgxk2p^LfRy7dhzfzFdj$!zbTP#Up=-dw}{lQV3@7^tWH1 zq;o;+`MC!^P{kI6a7P}Tz2XTiJ!|9B<|88RjYphP8lcS9 zSr?|z{r1wMr&4vYVh=)I={0Pa|9r({l$Ds)m zD>Bgx)KjM($@%h_nVYTj9~TrB64+#X6+ zeDoHbgYk63gzS$@w@9VVVM`UwQQ+nTYZRU+cQRdxPsz%;R9!E2#Qe0iyjO(*TLNQi z5~g*a#!1im%B3%u0@ur?WX|i&&j4TlTgzsK_iSu=6>$I|b!VgReK$s*8-6ihU+OE} zRXE=h=v{3WJn~+!9@jF>rhw+{+*$-Fo!`Lj>bM)!Y2!OmgVVE;EW}de2^EmE9dZXg zXlE=VrymY>cAITzmg4U;X0qjhkUQ?nTVeNP=+JXw32NAtyB}OIa~hIm!gpZ=vK|PK zP;1$Du<=T1GRdqB@Ae`Kxdgds4}Tcm_&juK@nu%ClO(Y5ROkg{)O}>*~b|fsnhikEy67o!QZ7YZm~5w_$T1j)t>hkaGGQ6f>fLlo7tDC)jjuq= zJ5GB*tZ9DY(4syr5%BX4h#1V8DR2M&u!Fy_hR8fm-9Q^YerwdR*7Y0pAeQK+^^8M% z`UhD^8vpqByQt^-b9*0@t%v^8?Xy-f^Y-Q{>5$`OO`iENkR53@oY#~_8~PND6yqwn zGq-NABS_~}H|B#zC|Qx+UX^3^-1Df}KHg!sSaqE(pHzKBkmlG|=uK3Rw}ysIE`&`I zlGZ5r5lkUsAinyDMy2lE>;Y2eHeGS5UX%KeV6wbrl6YS@wlMAj4It397V%754vUtP zTbS>&A1tR{e14wI^Lc;Pr&sz&rP!YzVw(>S0kc=57iHHCm--f4(-*5J}DFjEC1lp7;m?=|yB2 zJ{YC2zfVE1s*}eWdw%4NM{dIvL-d+G(Jj^54N9SPoAyVb^O11sWu%^$U(jSq0h`j4 z0^)LV3tb@v)<+18?0WLKg4P}S}!zgKjaXM$YNRO=44 zoj%}z<0c;$#XA~&zn2x_uvOVDjNN zC3}C=r8$(UY?WI3rS- zW}mSVjAGOz1|&8Th~VbnZRe28ch(?-oBy<>Yh9OZu@#7!)ssaK+|GjQhE)>R&BkFK zBS0T5unvXtGafW0a_1bP?(1D}xky~ZX#;sNJ%qS#;_L-eB!;~4y||QwxwPDik{~L$ zQPo1`rmJ^{9@_tTVh~Vwi3_WOSEe0Nn7=)sZAQ2EvGU7(^T*GJD&?1-EG;n_;3GbE zhV`xOlG^uYK6O^1wlF;OhMcTrcUg>P`9mRbrw#J;@dH&}R!MrbBTk|ms|6@OHD%9> zl!mR%xRgXe&kBqu)VRGI*o)3?MFts->zgaBi4tv`kp5PYLFp6#SH_#XM|*_bu+;31 z`#pMNMo;@VaXxFR;E+;L zx-{_yigEP-G(_F<@a;M7tsxwmot3r>EM@5%351lzycq^}pBoP`#_ov7j#5Gl5wg^GTi%FH~2_77Wl%8y&Q+BMv~; z_%c?yY~xaI?It?J)7?8D9?4xU|1ud{pz~fe%D=XH`aytoKj|K}Dz}|hCV=uH6YwS+ zg4MPC)R0A|`44qT)asm3X(XzBfqgWs(L$fdECM;lT1F==$w&mD;P2&R$3^Otq=Rnm z@|73kHwP7NUBo2I(iZqqZRqJTlUhgX^-|3?O_ETnI;DhL!s`)eF><)qVV?C8eR;I| zZ0rHm6hclZwvib5jqe~-YhKaL_acRf531g_@W@TU3Ch=m>2?Scu?jik(fr2 z`w7kM^qAx3pW2jXv>#6+na!%-%h4!BR@+x{sRcXsvh5z$?ZCE#2#wFCJG&Trah!qX z?y0fDC+z-cu-&1BUj$x9Z%5x-Z?v1yQ~6tV4wSY9;oYTUp*Z&INs-X_Ul8XHLoQP-?1aT#+`Y8A*8Kh-|F-r0Pa$`nF9=DADRxXE;ZuP z*lv>Y-uFPJo#0!Ry5)J=nbkkzZtog!2}6Y|)4h>E%JV3uHs0Y*dq)Cb=MOW2>yNz`-PL`T$IuCD43YNK5bN{j~zoUpikXG z!*y?MXa+kUd6LyW7IGfx#j4&PLcnXozjPdYYSQuhFi&zGHiP@l#s|PUlj9ZIZ9;bm zEJh;W(cz*I+ktLYhb-{{;$RIHG%W`^4%yc(*7KJ-OLmB1VPh4r@Uf@M=~1#T77jB0 z%WXng&_ivW?6_J`@cFC_%wM)HEYnmj4Hn1No(NZ3EJ_rwoiqnDi%g$NWt6U8Z^&^) zuIry!nS~F|J%&J&A^NY*85KKP(~nWfAb5hgK`EUFcskT1$IbR5x{230dO|&H;Z64Z zH$J~=uB49e^t#b|NPX^9LLvhI3^4XOpjg^8%JlD?|EiuPi7q}h*5#*%pxUFyN0%^K z4@l}YP&niw$eA|OLwh>C)>Au^`Cse_@ln8?7@OCgM_nZh;T3%j95k$cc{dSo@2PsV z*r;rdndTPZ%SEXB)IW=#bXw1}u1eqyKWUK|%RJ{`%=}LA--}FNGN!N4IS%?uxl^F`2wO^MX&viY z{FWVvLcT5FENk}|0g<*-n~$C@9kp{lpyiDb|CIcXl6?5V5WiHna@8TOmI3Q@A3?e% zf(-y>YiTaUA|f&7I%LYE@r@%rK7F)TfI=u`rkVG;7q&@ahs$0uE48_b9vtYe{Fl_v ziZF3@%mjxH@$V9p26+!M5L7tF=L5{tFBifFqJ0F1(p`_N~yml#_DM$i~856bn91W`13KJV5bCx{WLD#z(W{5 zmC17HPBfp-w_GwVD}*lZb6*TcXHSe0lk~q`e#4iiHYCz+n+usw}_=PIoHYDRa!F+e{n@T4l{lx(b}Ks1 z)-E?EEwwxL9-pOx$wZ_uW2`)^Eug+kwM1;o`^uMtqbx(RCkF5K@st zyLVglgySZ{IMnFtMS~eQfde!(U&TEAClL((F9Pr=!VhwNR^HIBa=RKPR38%7;8TcE zk%Lb7?1EI3g^M<-nT-1#bT0a=t#iNYdM&RA)7|Ng+QPVP)DDYyrwPp&Yo{F+HQUi# zG~Q;eC3c&%9mY4CV?p6{%||S(nI}bzT~4q+L6U7#LDEYuc0< zet$qY59R-AgHiG|=8zh_deMBvKvy&Fq-GnBs$1I4nu5$~WEKm=iH?#(Jms4}_dv!+ zvcB1Z`l4f|@}SGlIjGSyKYbl!iFe=+lml)t-wWx_{5(vNA(&kC9X5Um!V3XC_z*n7 zEa&a)_8v?vcLMu+;DC&sD$jvV*I3wp6~GW$z>Lt%k|yh%hivZZHO!aeJ{X7I{=xB7 z=VW*5NQ^F{Kym)hcaCeWicS6g5yTYtCvCEx#nRR#at%o#+VBqgD`$OdjL|#AmHb%r z{>4 zZCEubf}7cVjTuAr5nIB=5S1>U2+&+*wpUw4bGGg;^Cae=bKoaW34|QTdL}0yNWIf(5}yU#;r$Nm@Gq>wG;phcuA4kGdsg;hNbUpy(b6 zLyo9Ht38k4&aD|4w(Qaw?b`#PLfDM4=@?o&(z30=8RtbTJzb(Z`ohIdXp|Q%Fn1PF zu=+?QiIp0H8Q87lu?YNw`pN|ZTXeGZwq)kUb~Kk?Im35Ib<1fGJ_oewL^QXm4o=f@ zs!g8O!hwlHZ5y1Yx_LG-ix_jh=8K#K08q@1u<%*o43?GA#e4bqu*b6VpEC1n^Sl=b z>|+}q&_0w@^g^?!=(-L2Ft2xb&heB{X)(dQ2jv}#-{TeHX~HY*ffxdKadq~Wz_}?6 z5m<~wIouQcI!>yeDP2OMj96+5bZQ6AD=I~Slotl?yS}(+LwF>3H@@Qk5T&cz(= z_Lud3mT(m(UzKzHttVohV)L$1-X`eclkMi|waL8>rfz++$AN%I;QG0q1yucuwH06v zR~>i-Yw;OIdvlx_mu(;5+8dZT1PWOk68h}d`Fa~Hp#F%9Gm_0dTLvpMwSlA`m7AOY znG}V1#@e`h9bWkam`3-32sFBou!J*j8~(E*6%D%3#;s0o5&uqglIz}*O6Z%qRkP-#?*cEn?ML{TsL{OZ zOgQ$b_lO9JZLW~JPa4&8eTG)|t~kNmeVB-l z?bXkf1t~IlFAmL}+KXG+NlSW5hkh1Wi@4tRGT9L8Sl+pZIUBH=2@R}CThj=_Bl+u( ztn9eL%>e8xb9hm9vsUQ01#dqZ8-e zuY?mn_I*k+&xl+5O{A-*zwdELY5XJ+()Y6K4@R;#fXbi6L?Rm$^i#9X zUDyoGARM>RrqE*<*^~)?wUYg0thAqg1gssE(TY3N3BxqyJH#}Gfus6nw*531Vuj`l zviZl{6a(f6hP3}Ud7Y_yu&D)%`9^yz4?l~dQf6an1GPUPcpG&;DQasS-Miq?N*F{N z27HAN7A>cs^nxUXy4h{=X|pp>c#KRT{KKk8+a1r-J-*+jq+88;cswKfM%5(XoOR7{ z6&aScCwXbz(G0N6_I}yh3oYf(op%0cjhT6(*9}tkD`HHOJKhii!ST3WvjxmyvJE80 z3h2f#Gq@Y{L+?4;3&YwiPoVmu;1(3_44Z_4#t=Qhpa}_IV9^|A1AMpp0M&edV}=wA z;zdTBY5yk~lk>~TzUT{ERdy#qHKly_6J_6G?B4~C*yu;&-mzs=hM^w~cxLlujLN&4 zzW9l+B+_`KTDD%-L8KQ56HlI-1&u0(m{nwnj&(IVt32No0Ru$kU{M4W+YuU@%E5b| zQr=gZAo-#J6|F?FvXrGJm)(@B1Zkb^JjGbe1CQR6-W7~Ezv7Jn8+qRuMww+8S z)*Vi4+qP}n#y)y07y(4wvQfk=-2U%9>a9#=qasy^G}q^UxLs z9_&V7;7IERM$n}0N}=%Enx?8&)op-NU%$)Glz3Gxq)A7n!+tjgC4W^xsFTU)AKCIVVoWPa)q7{SPlC-cP@=V>`RZ zrP`0jexO2qu)iQ(WIzO>IslLOEw;ka3&ywF2$oqz=7{e%x0!f4t5nd>Axbo7VBLwrC=`Amv;4TfTV~&ehES6E6m7cSd0P8Yt>k2;GLA{ zVXaNZ!Slx+A#|^JXHli+<)Zn0&PYi;yx0T@45Q9r({5&B9yAMLH6pKBn1-xQii zc@Md(JJ<06K&^WZ*Dc~GRkdjOo>&kQ)&Vem9ou<>v|u{}dD!na18=IAO$q|Ez34Qf z^nvA2KsX%JVx=kt3MTEPnky$8(|2po2OV`Ktpu+6S1al|V^VX-%Ly3A0>@W!-RaUu zaIUh`zYHce*OMrf|9Mqo{){G{(vg^t!9B`g8B0p{+aXNynhJRSW)N z`!EdUiEDM|P^0Jljfms-PRP}ReX4{RANgojaG%*Z;tnIZ(zfHRh{fEzhG%mKW|n0* zbZ_`#(p`2UX->)i*YX{OJ0#9j>kFYuCz~W>xOSh-s%lCkZ<313G46$KbfCh&266K^ zPJbAt@b1u~RLSvYbj1t%i05Be(ap=CGJ)?L*Xd*)ViQ%Wfzj2bcD{Dr)tt)2VM|8n zDhMgsO}@`(tQ%CQ$kZgc>u>yST`GSoK)8OXZc~!wyx-0V3v)bnem@4zvoLV1)b~K( z<&zp~`-1v_`ikCwAAx3;p*4#;Xos%}RWM^>%5AuAM6PN;=F8M_3Pyih;aqt=s!~0~ z7;kAl3=C|NPnoo`$x!rj5L~gl=l*fs2j2!!mT{KFdD~xFV?fbcDv>Ua7HwB_jl!LY zOZL%kI@CV&q^Szr2IT<~6r0wTv)K-h(Z%7i>F~E-IS<;K1w-L2SoQ1Ny#QoQ=0u#V zJbCJXIypKZ!MMTT+?OjrkN!=Wr9k@Bin-|-yz66YOGO8n(q2gxJ7wG5S8$Jgfa$@| zifuo9S;CBIhdr7s&ar^_Vb|GPr@m8=YkLd5rtoNS0scKtiG}xL`&fRo6k>zh%JdLy z^;2}KU5H`&Km-oi>mfdmSvl^yu$;O-LY*<+3n9#ui=a*d&=4ueW^Y&?SG4)I>!cP@ zI3*r(7?-;*(ot`RJAH>ZxvONADHENWv(xPO#o9ShvcNJJka^LrznG?FML-j*$E`K@ z61Pxx@bYPM4x>3u@BCup;8g0wZh@Wz@tm(3s?a#?>J(fS3&CE*Yn>yLpsmKEF*}NjGi)cRr&!;Jfx>{=KG4UJ zWZnPYw^oJa9eh__VF1{p(HyP8@$lFS7Uioi^)^bw*CufzM%qzkExgSfhIdk{PedKN z*3TF0mF1vZ*=3Hyz8A9c%3wcqEf_r>I%=h#-eMEo%Ha)$xuRoo5sqSK<8*m~Va7P+ z)%<8zeTH7LH8%-TDX1(34U`UCXOR+zfx+2zr65jZfrrdlw+|2~ZNTq?1!P!i5Q}(q zZ7l*I3`8<~^7kcT!#Yt1DMtkzUVvbw{i3-gp;IWU`c3|{rd~%bh|B_)thSO90Q5^Y zQ^r^P?AmY_jZJ>#&oo5CP_@*+IC^B~AOB5szo3zTkJLZ8y_G)X8*^nmfMC`|W~ziJ zLOPKc6*4@`*AFy#xrhhxx>T+J+MJVPS>jfJIo-=6A%y=PLDJT!)T!8#bhON@zYtrP zk))2lb!VW!^h!jmZAcs=oY#J>Zx3yA%rH5x;Zvk|*+F?s?jfQrHyL}}aaol}sO+;H zloeXNGhtjb-xyAeDaJ(pCFoYY|awAmjj$|{&NPVM4c-;{`TO(#d9#wPp z!6f2HdR9E95niBfMT`@4h9qznBUR*gd5Yx=*1J2D_OgyUCuYo&_Pdou2GOH(Xp?|< zQ=N^II|r8xPrKQHrkasXb?Iqoa>I!k9kL7=_X;X&o-X!NEKigP+GAD}u2Bv`WH4?0 zzT1c6_~$uGDpTxiv5}nQHyzg$wti95o`ID+zF6m{T_9agb&gE<1Ue;+>f_TG>uELP zn3^t7Z6ir}V-%78SLujW=!oCUDNXZaMd1Oxvu#r{>}As2do~1dVi9>}&S>kuiUJB} zu&NUF7gG1I`iH3q#mTX{yX2ynS^@v<)pu!WLHtmkHgGtN^CrTu+`kRU0?nGD4O#no z)VuSVHV~$?{w+?w?Xu75zza1wvdPFJQV?r!#t&B1ckCn}m-1E}jsEKy!M8?6Nisb- ze$m^Y)AV}BU>Za+zIWU(yE@DqDzAmv$v6d)?gq`G{Yp${oxke3?xz;Z1*TOta+{@k zcGSy-C8yc#aJ;tE#tMlmI^~Y@J?)Q%^|{Fn*5NLdj$!FvFNl`#8leszA1K)mrVLxQ z4}(XM^0BMgK@$lK#_?M$2wGB{v^RzYc%&cu<2j<%(`^XbQE9+T>ot~fn3zV_N_>4~ z0BDN`nkYcN4e?JF zv)~7qFV^*%>^GYKo0|47)&G0fq2Dz1MZveT_JMwE#;VE6c5}v8zpjxqYkg4E89ZMD z9eKUbquvoXNkdLi?TKi)Tu-okQo5A0;}8YYj?O7Q=j+8BJt?Ek@4^*2i);m$CogjD zHlG+dRFUIK+(WDt$r9oH{=+O8g$05zIr#)8{7b}jLX$@1!l>n-+8~Trd0)?sA)9lC z7|t|(e4FgMw#YU++O@&lE$ap>Q}|%(vP*ff$vzvEuE;GG8Lzzb@AF&?PSJSS@aLf+ z!okKYOi!0Sd3)SjS|lZ1WreuHZcUY7*{Z_$Oe^NO9$a^@QMnw#m^y+?ym}$88v^+PZfQ9 zTQ3TrsTW$&v${IY=PqqH50WE`?jJW!m1Xe4IAO2*Vut|k5!0{uRsYCcuWl1WqJ23 zFyTYxnDlYnnycyxT0BM@JGjgG48T{ViC85kJc39CLdFdUy0?uSAgcDFi3Ro-U=o#F z%^7rTHYNH>)*WETzy!iewrfKPHMTMnfv)0ztgNmeS_1YR<^B5!UhW9MnA_mgn!}=L zz7k^oxPpfb%7Pny+N4ZKXS*|#^zvq4JR>P)H4>OI7V1~X)2S`cs|(T$R+!Zy70z>I z6T*u7?hoxQ6kl$37_X^D*qR=l@yKGLN1Z_B%glgh6L2}4l z%tgqZ{tN4u!4k&J&r#~@uPifLmYrXzRA(XXWu=umAR7=NYyQkK;IS9C7=jzE;Z~_Pd3f|&~9jW!!D#S{mujUx}`r&>S=zKs6<%3?sK3WToznr1y^?Uv7+Ts zBqo+-z!eaz7dEXnF&OlE&_RBZ7R^EH2f-6_^`NE{s$Z)t+|Jdqd3}k~VUuaKVqkzf zFbhX>>e8Atni*qR;}X)%9&-NzlpW4r;8Dif0knS&=wu$DL$$$44w5E!C<1-zC4b$t znL-)rm>i#49PvqHxdqZakuVuDc6Ww{MSi?}zY1J7H_s2MWKM665p<|oy7wNGhR4XI z9okh`#VTL1SEef)-{K$MQ6kPk6eQsk!;}XU>24{zs&;cR)?~#>~Z5LRR_qb1?q*nk-w?fWT>MfZ@Ts~PQJ{gw30v=~GT ztxxCX&P4586)AZ~vd0m=|0k+AI_2t}Q;5gxPc##Id;0d#c8bcmJbk#ixxNYVrpKG+!Nut;&PXcF3Q-pHSqwEfjQ2mXXGWa1pN#5nj`w)Ya zVa_SvwXZlzCZwv!tul)2?WIi1Em@x%G7M&WJ@_6ZcvZWrrPEFKGDxg0;D zKv3BG@0D*qi(+qm*JT&ekVvh|X<9ha(W`-Z0xYv(%zP;rPZcF6j%d1|Fl1nX@5plW zO_%%6za9fe&^m&F19x7yxffa<=hKNbnUBRhG)fwibzZJ$&Hkrb@J#o?0;!D*B>L9C zj6Ouli4uKw=GXn<1yDFMTnfieuett^p1Yg%F_m8y+(OA36SLT-eaKnv@d;YJV!W9} z)v8xvCccTg1xIn1T#;JMtM&cbh%KbyFiC9T!adp4=IfwvP^%<)k%@}(ywazE9sok$ zks8a5Ra+zG_)#$8kw#$I=BPY}dlLkBWg5O&=lNsJzV-P28c*=$uPs`+I%ZQN&uf_- zznSsu@}HfzLZR6KMPuMdG(U&5|MaTP|LYvmil(Ev5y@zSH;*5hD#nW3dcUOLcVt>YhtMeFW3$me~n5b zUWLuBdLg0}L^($gRU`!VrEsNUo1_HAhJ3`NA9fUmh%W;|a~z-VmoHK4ZgDXp4|BJI zSSMP>pXm`-P_ zuxu531s|}Q`cr_<410OAd@|uGN{?{pp#XLGe}5T_nnfFNYaYW023O_m;;Svl)UO-<<}<#=AlFY0E0SEl#OHF*QW3ag74_=5nT{s!EX* zi`Jfdc4}eQtaXEQELS}_$58 zHl^cyr>sMm)hPkv1NYqxr6SecBzfVDRb|)MN+eM8#H9R}27XnSD;YNWI~H_fodH-W z6%I0JZU;y$pOA7CEhb1jJzbz_QX0%y8&5$Bnr+e@Jr$7to|EL|@LgN9r$JtR7(5;m zp=D^yV-^Ap61v4 z*6Q(J)g`ZtKf~<~GF{uge z1@7XCIs~4l!_g)PmnO@LHQbV!;(fz%R zm6`!kE)S2&FVKh&W_^|`OUd9-8>gPVW)v^4HLWY&U6{TU>rt{Pe1g&EWI$4y*9`|L!H;x}> z?kqHIJwBit_?2Y%zL-4o?ogmq9a}h|WyJN!cwX^H^3BuI-ij2`al=b+x%0yeI3}S6 zKJG@o`p=y<;gra?a=B>M zHNFIiz%H3YT^5gX`&eZABQ(5IAy0D&TAuAR4w#5%y7K-*)f~f7MbES)>}tsp=k~_v zUI)n~ex-Psv}Q$RG;J1iy{gqRI>oi9rQn&+642q&Bm~bASQqePf=m4rfYUMLEP!it z6sKXGTl}C!4!znkz_1Q6=74xkVML9?o=dsX8pEfQb}uPF2|LHHTqV3PkTSNsQ8rL& zZvUY-OU{aTwi^CPd{qtNet4n}6In$=QJfx*;!pTeMDeKlT{0YpQB#q2!nW>^ONWBJMH1KF2|tx zno^rPtOejB30vwHc8J}j+(ULmV5}guIX{p~6}sl?MvUp0Cl@QFBMXvK%@o8G0(}`z z{Xg;nLDWLZQP5!~#J)=hrG}+jR*8KZwS48uy{(782u(u$WF>%l#LUT%FuxJO>ntZ` z|GTYahJggVZQdv~t~xh!b_nrgGtQN=PYH0P1qHfr3N`L2Pjq)^5ISQEymn9jVPM*S zmmeO{4*TLw+8EXxrAJ3`uhhz32U0+O!{wKZRtGKaJ$Z_`RieH;h=T;SlriM{c3^_f}*B z&2KO~td5&}9*<|Rr1YJAA+T&lyP_1jh*(P@G?@$iH>s*N=qc~s)V8=}XDW_=#ubtj zV{xOc7+(Z&yd0#Z$yW#Hnxj6BNJj#?5r#59uTiwSY%Vm5>b_jj%9DQ_I2+UY{q&wX z*DjmKrDfzrw_u$YjmIxxRFM!+$mF)%g%P#-C;2#ujiSzGBmw=?m_DKU(Q^8xvH}{S zYu6O6gh$y{b0?`baG)-=d34Qg2O7!+Dh!2ubv;2$g_qi&>`+o@88w&mhL;`AXKw`Z zeLwV$>0I46g&zZUNpQrdqh7tnXai?nIJ~ZZEv7x-wq%R84fBGHJ*bSZGSa81G=eWz zK%-+$D|LUlW%E$~bV9oR8;)aj)>lhY{L0QgD^O%7xW@G9FPl=&2ggAEPP`L;8F2k{ zh9Q$Jgz}r~SVZ}c&AZWxTS1oEiOwhKzELs(wDGXgC*jdt#J=2aI-Bb^b1v-6B0fO+ z{4a~d8cx(QkhWVJqM;h=fW@Sz9reP&e-~qG`M_-c@BtC%nL5RQJG@sq_^@z#=icOy zWOKv#pLbk~c4pd6;|y_dd5y>7Xm3+AA-3@H?2qEYMD2Y{tBT6IWagN9`FMQm7+2~Y zB8{}e_hC$(!F*f$&gzjp7FjRxsOO;hqiUTaJJ=`PywEt@UGTES@*5v5e_C2hPuKAK zKcn0lh}W1!{{k1oUgq)luG#|JuF8+TqE|)R@srLm59{g)*debnGmKBd7KutFj}&nQ z;>1|Vcpwu@Q@i%3JRMeyD2!%%D4oMoGb84@lMo_d!LF7Ku?qc(Bv1?@CTM0qlfDKQ zt1K>wj=4W6g^(2!vCreE~E?{19e3gFK(p_T>iB5@>jHHh^6Cpjy$&hA=|B}wW z>jFVVtt)REYDD)kXrUB`%#^|$z9d;68{pFYufIF;dB>T3-u#!k26+9P%oKxzC0kRobyUHKn<68!(S#LJjrS zm;{|3S-w^LAt$=EXp@bqC$zu!g}B$kilOZMjOGich36KTbbN$epJN}7NgAG;SMu%d z<=W4Ehb+k>1n%|=f(%2_0oHLhs0A6@43+D9;f`e% z=`HGlXAcL;_0At2307dSz^w@eS2{_{Gk(ZhH?2}5MvX!tKg zQKmeH$v{e~<+ZBXus;ZBwWcT7sWJheo5o?nq(|*f0bW~|Z>O$K^ZjWE6M7vPx;Vyv zJMT5E7sZh|M*X_@kQchD9-~VV%oMJB^nm=)m(<; zf#m|GMpqPX#OvvkQs?4W(OX!uuKJQg`W`MZ*8WY`E%K?kN?9=4Mij$w->$n<9eh5* zV`Um|or@X7AamBOtyXF|&iAF`O$^0aMv@YnZ`?Hyih3*PGIU~=2YI>xXsGzIeQuk3 z`;8yLvXfca!|mL{ib_}sFkZJHy_^EZE^mKJ5UypWFfg(?J?VFoyu1+M6A5EX&v9Fv-WIF<=C@cxI!Ik`C9vuswXnYX)o!X36s;R*GlTMRGr}^yH(*4|uDBP5nQd zpi2nZW-|xfgfjH9=F)xy=b*OgVGob|r@T=)!FJNeZw!Z^hsGTNG9?ZwyDR+KZy!_L zUl^f`&lTI|mjyb`?zq>{R6+gc?*>aY(Zk8yE5l6XPAh+1$Ls zHUA-i{4;ZRBPLvrNvE`i9L8VQO)NC2^&+X-@Uu(e5T*IzuNx*QPSCd{b0XV-S(p3B zRP}FA_*FJdj*SP1lkZTARLt#Bn_19434ranS>j#jzSQ#1Urkj?5o!tVQei zUXB-FwWS$yS^)xkD0v_AjR%5*z;^8;Xy8*TN7HeqRa57XW7lnweqQM)i1xT2(UfM-$BwOEcD^dsWY`n_uH!hG*!t91M?-^MpYN4wc%C9I zD@=u?b!~d}e!a84Kq$SeR2kc(k7DH0aFxUu(6EM>C^IKtKNT^5<6CNb0S7e`B%Q`TlL16Klc{J)8YwMusLa7^ac#^ z9dThk6{)UPzQlLK}*Va4vWS;sA-i9r|K~y9uuatzbmNm0CB`? z%pQaEe+>%;j5&XMzN;0nZiyZO=X)ZA?yTo`_k5YIX?}&#GZDMU7R1y&BA~$fZ9K3X zkMCcCkFxwNI4dL|DKcs-d^JS32aRJHZ*WKP{0Ax-gnzLp&a5B|0ilRKhft%-Kl(zQvh*&fK-*P6L zu;!>(Ra#8IcVUbq&ntTQ6%d?fVupdmB{bmqNFK;nP;@T9i%TE3qPwME)SEYoE4!YR zZ4v_D2?r4fiu+=;p-kooI}SW;bqzpmisUTI_}1mpG*-s_D=`d5DWh#gp_iyTaT)o; z^BhO#NMaIW=}IJ?L1d3!XOFcc4kqhTq`CTf-fb>_=C_A|VYHxQ4rfp;vP4Zt_OO4` z5kIn3l&sSL9GMRS0RG`oQ`u9QxB|eoGnNFWsJPcNFoX7uMms0F)ULJQ7C&~wm2KIW zh_^JthJOve!MG@M-btfGzAF)~UVZnp&>xE#C-ZPmoEzox;_gd)FwqO1NjY4}9)L?Q z*?mi0lKjiEZljVflDO9GumA|QVR4PbL3Sm!@ekh9hx0LD;m5@fA8-#~udN9gos^fD zf&RkM1Fk^@9nZl_9u)&b6)lOaA zkAlfI=nD-iV+#9>bCq;@bVM2M4B8pK>|w@I5fPaG<9T1Zz`CJcG&z1UaDADI=NtRP z(*uE3MRgp!Y#ErCzpS@Hv=t0+{U`e54UX-rmyk|d-7-3#`0JDiUdP||{#f(uFNhQ* zAz+R%=&;EHeuQN?)+U`PSBz{{x|4N*!BoH(rz)N}s_97GP$jr0f5IUxB%rVC_Gq(E z&kW@n!S(W ztTGzsnKaaLzIT_F>>G(wjB8lMhoDjq!BbQsoY;6kO9qEL%Nv7fFM4{vs(DPx7 zIWQy^8pnU;^bfWVeJ}MM|1)KB;dzAv;C}sT*XGNqw2JRAd(GY zkk2pGHG~s{x%+faE{rFNWLJKQmLfvp@H5#$ zPbm{mVLXF8-6BpQq>++PeCa!Z&n+b~X%e=J{G=bZWjp7C>9@;B8r8M5g*)UYN5wiH zTp~oW^h66oZeV-IS*&esOZiYe^eU| z)9%dLa9LW0{v{~UHWi}MC1?sUuUBX37RQ@Bm6%^M)DCA2BbAIOeka%d$8D2saZ|cT zuM9ZKcG0X!3_F&-UrLvmEs84qOucn@hp4&DXY&^uZWU=q*%#61MiqaOk-3{KNJiRR zXSe#bqU=uCSU~DA2J%h+d81_i0mfUv-$Z`gr^73LG)}%sGlAr;MKv>Y_#TlJwu1Hk zt)JGbh78OK=7sDb?!8u}MTBSPV)yn%Q^#*o>Ch+^gI#KSA(CspjcmIV1cGDg4$hdT zArg3+BNVtcH{cF`$|{@hIJoDrPH5Vce7_T_7eQUCS@{`P`BYdF5hJaA+ zweq8F8+ISVKYrJs3a<7OlxNqCu@iO0)0!HA19ZRE|J4rayL5Dz$r zVa9A$eX7sX%rTTFl_AIs?XMwY{^95wn%Y-@3O$BT-cip-w}~+fjzKm}+xKBLv|WrZ z^rCtUph|2vE!y6(@H4f>wPTNbLY2jM#K5QzyZS&wY>9F?XeK?N&~=D5Rc(BG@6^Eq z>NH%omL^g3!OM^%FjzTkMw#k-Q9KuD7L>YZbRMjQjnf1O6`3#Jr+mTGs#ER6scDgS zi5MOEv`=*CaG{~_d_#TK5&xM1eQ;G+lVqEf=9FkUI&JXg!J;IHDp|gPD(b#%$?Ug^ z9Yi!{#AnljCVenKRpcm_e>iqk5n)9(P5{CGLa%QIKMI+C3KIEKb=3#@$*jzP^DYv( z=K*5j=a5Sne99gX%}&V zekOA5c2&NaMzi&Pm(FM+sZBuQkap#Wl2lp1y;d#AMk?e28@yNTd`scXXpe#Qzr9yh+?URLH8km=Z_{1s;(5=V?%_OXdVQ{&gE6N zaORuxa^_2WjG^wzzjK+>^l%Z8>YsMpK|S3MYCcxUb186YxhLx z=yOCDu|cf!KzC9wVUJ*cUL|S38FQ_8__0J8YhLl|tb-!1ZGk|*3tiWx&XpGtKTv5N zY?Q%XC>#Sax5au(q3>fKwV+(rBywLIc)+ANjNi9vUcdR;HJS6ygt1!P5lYbSKbkb= zdE>jSQ=oJwr_SSPnk$bPZ(O4w)gmQ(T*2n$$l~1v|NlJUzrp*Un!r+DrN7Q=o zA!`1YtW-%fzdWdTNPG6VVL4Dmd6smj3oU(Ts7}c3n#Y(@N~tYUFFH5lkxt}{Z2)J; z7U|FOPT-K^G$&t=v7_ z-a(&1&f$Q&Sfzdvt3%l5X;^{==raw;Wa+&_ZfLVBLNhITYj6tGC978Ghvu6{5K-ls zU0ueP2_uYw_IP4N=|rcUq?{a5hyJz_3i%jt4>n%?hkuOIo~AuHuarm?+~ph8LGW*{ z7|dZ%b&d!u`nW5E~{x-V&oc*kN zsHF;HJuxORoSK7oT1MOm16U1R!L5E#cqn{_;9De?*Yz?u44|9Ci;riO;Gx+)=u9DU9zB^biklP5HPGxWWwt>61)6z@ZVpdJbTkyleu!IA zFcTr9F0Ru7k+knd+-xC4(E4}R$+BtCSFFB+C}1hfXwlG*ve+-{w^Luvc4y3H?Z(@en4OS1yo4 z>><+ZVn21gqV=pSTsZ683Cn`Y!D)@1L|yT%RIsZm+k=h{NxxE492(3wXuoN$_HC}< zsX-ZTXCg+Uf*67w#P)?ZxvyzDH$X;R&z<|@_a(2V!_WFAemH&!LK#FllFR-5Kc{ed zv@}-S+B%%36=6Xhw7b)WG>^IG64PdDMQXb>hWE9i0T$yOp9J=`TnvtM)=+*vw^qvr zO?qhjE5ewF##`)&p|K<5f5P{SUpPE}=@x&?@({4lXKPMRn7XjqrK}@gReix2?S}i0 z!ZH?zzM4#2QiUbA$vm;m9!*1H(wU3y&Ajh21bifn+zIKqKNfrOb;#b*{~??a;(7VJ zobR%k5S59?<-f>_U~io>-2*9iv5apbP%%a;IFGpC9HE;<#IXPxQVR+C*UbP^r!^kr z$9`*@E5Xi5yDy0Gxp|;z+P_%gW-Q>L$=WNbO&#}c#`5^2xr^4YN>}r`lQO8<3k35# zeq4(REibZ|L4UbVL2aT&U8xB(=vcCwUH8c6fE7WA1)p0wxNW6!z!TiirEk_d_UbhW zhx)JuF#_Oi=!b^tL{?JMvrO~?Wodhm=e&om6(z=kPn zf7+nT)wt=~)b_T4>kE)G2x6gbLy}TX#7fu_;=mzAB}&?51TZZwyYR$Nckxmjeq#KA zekQ*v2vBjJgEi;47oXzv#9g>jYa zuHYD$Yn0KhzJTJ=V59|>s9%@Xjr@S2dx;#&Hlq%FEqOt;H5Id;;>OJV2MrU?B5UUR zEtA+)l7zT5*Ka*KDr$0u{{YpIcV_zLj(%^BI2O+pgYZ*kNW_>UYj*v#lnG3bZ(2SzQJqWlKgwc&(zV#^YgBplL>=#xXT0bOqGuhkV;$X)%z|Oj{xA_9?FgMX`I}`> zaBe${VaL#cZ=Agd)|#G$O-23}R!b2Ec^v1Pqm8XIK?zj(==%yj?q5A{-x~EhFz2Kl z7m3-&rrS2kX3W`Wuft+eP~r)&H^lX<#@H%qM8ve(9;GXK@?8E6rOI@^ikBA*`@yJD zDFc4}?edqd`L1&YQni^{)(dW1VH*r`p7p*ZYE_IEOmr#E0xYhv~qUoZ)?!l?Jd<6A-)j z=xY~su`egu@%~+uFkMQt(FqZvzpzjI3BHpY+GAy2b)moJS1V4GD#J4vF)5K3FaH1= zK)dku-VfismIjj2GiWKa=RbF{w~UhKDqYrL1h4!tvn;P4hm0>gR6Z|Y8O?HSo=X^H zRpPW5u|F*=1(zcB5?cav=_T9z9Jp0l(F^RB(RUcXaM_E;T^9L#jc{c*bTF^OHh)#u z_@K;xSBL;-J0_pi3M4`rYBFDm=C&07IQ&*0uuZxN{iJpdF^(2?Iq|l(K3z=g7Rvji zi#si(t_JjiD)d9Z&n;U8KgJ={?q%3QX)jRDjO&EeU!z0)#_zBeZHO$*kUbWp)(YP{ z%H!nYNBT@49JT^QNVs_7mu&9Qe5iqehB_PSbsB;uJ(d@U_}(BHDA>3a6rxmS9g$+j z&6%z4X4rIn-HTotpv?aeXV+@=Mz|X)reO5U`$MOAD@x$07(0YaDs~g<`@$|>=1+Bp zGWN0$)rZmEQrMq?`5R`a#HsWFX%A5L-BZkQ$%N@~{&jcGE(PmAjA+p}!+TeNz6Eqgjzwlp z?0PvZO-<5kz4Kz~o> zGbJ7IQm8kUd>iO=m6k4$>on=lux=(SW^>jz5=LhFzciUi!|WoN=vJoX*GT+she5XT zz0*W$lP7QqAhpTzFy#tQh^n3e4Q3-SW1WKP0k3OXpvO8QLjodVX>(#f@Fp{6raNMp zCCg8kbQxMr!9N92WO$Be!)wz6gjua&_R{b z%1n*#OX5@FIt}GHRriab%9uhqVHpE@ zOe!FBR;sI|(TR@xq`i?Ka|0M=X5CFnGA_W}$lfO*YC*S9-|MF8}`f zP3jJqo%E_ggeg@%{5F{Dw2f@tD890-L7}2?GWF`yQNQ>UIn^!UM=>XJoDHY$GEzYWday0#F&Yoo zke(7!9T3_9AMd}28D$-wKTA;=4e-0Wva_5l;%O@FzlFct@njToFI#OkzhmIZSr)aC z{^M~5IJ%ZZZI5`Sa~-F|D7|de>rneXTA3Fc`wKZKNK9e|TFeME#IJrs@DvA5TAJ*W zeXmHZfMbfWG;M}-H)PL=uZP#gPCT<0-RG8W8h$ZgSv9695Y49sRMio^FD;)Fr?V$t zYR*IR*z=jl^RUkP=b|Zj-Wb*x$0RgbY4s5<(n#{=uG=XzQjULKt0WsAOT|Q$*=qif zlTqX|2_xWVeevs1U=nYsO5Nfy@>G18iV7dC(g24o-!5HW>-REeeQ@#h$7W1Eu80B; zgS0`KX(ebKS?;W`>BZXKZuS#=KGLN~gbuLCju+2#3@4is7?@c6durl|R9UAzD=AU& z`x_4oT-*~o3Sh~*J*ITdVWb)V+Fdea%Yaq^LDl%A@9Wp zdP$2h|0%fIZ9rMc=@OKF-1>^sd;5*GA&%BG6ytN$xkPI}L1IlfM5`Ab)vsFnUz z1N9%E($@2`zHfQ&W0CW+RZT&yX3fbLHqy9~TS2MgL$F|cD4d0v6twKwN_uKw{A`rR zPPN6nU*x#J)TOYJ_SwR8O;So1$;lVN}wSJ%(Z7C?jy{BW}iIAi{Kk zF<8Ww=pf^Li3LSKxpKw0+)eSGjjrfBbT$7~ZSr5Eh9HQ{-SyCpT4ad6KFvi` z&wSJ0Hx{RCw@~JO1aAIl?U3irjz7Q`G!;nH>eX0Rgm_hJhZzdSkOm&B)HmmDH{#cT zDrQuqUP2|7kmrb^4YJc!!^!%8nMm1~xmf|NojuJ$z5=sfa+D>j8k-NP+)BXBo62lVwF57pacXH2qmPhttO32QcY1) z4wRFAsjIDz>FUZk5Nv{>t0;|L01<;YQWFCe;=l`REw3NX)5HW`MfkJf1!j*&{2Hfj}?t57|%bH*??jh6R)x6f;O55(u!P zj^~TGy{G*sA>%ILtq?)L;2H1?qAF_p3z!f_b9(@Gab$K12f@wP4)UK+^7>T~Vqz4D zxsDm|ZS|O79Q0-DF0HG|2XZ1fNi6ey^lk~S^vO~Bmsr)t#M1T(lo>R$e|}<(Cx9Jd z=qHcogNcy^+t!vx6rW@$Anmc|0KuNV^7l9SeGl1UP(Y)~=o-&Dj?PcoOuzJGKcQ8D z(Vm^%cS8U70OOh6>)c0hv&C|6g8bV=(Ys}KrQrMX!DZd6s~e~lZU*kp#LL{DVU1>? zU%x=uMhqEuC2_xHZ~qqnK|sF0NA3T}1<=bW3oFTJQ2(!<`72D+*4WO(!qyDH#L5OR zbaXWIfMxh-1SVEifEVLOPn!VU|LPO~J)Nzc^G6E6-o@DmU~1-snN!Rz*K$n-(v@fZBhO;q@Ei2XI64FBHMf1d7tVP$7WJ1d~Ng~`V! z+uuTD4V@h=+_f1#hKupT{_*(NJKg^vApQ5b@V9IsAv&04)$)_Qe z0KS|t-HC%GlDk6$a7FYh9vJeJDI*DPU~&1_F-#|Nm6p9phyc0a{1O}?XCrx59sx3A?v zxE0MYwxBy&qq;94V}Hk4n*I*z{QiU<7j4)lxJ>oaAU_myTnf^@w;OE_G`fiYcNE25 zCf6gHD8-Y*#)|4Oly-#EcQ{-SJUk0;oP{BsYC(s znR%yD_0O^#6PYx3E{|KU^+#GZn&Yr$|I2MA| zaaM;)gNZ9@dAEdRK5ce_A#F#E zR+~J?EjW6esDeh#TlHG4(&9OCxL6KU5~PxUZ4pB(W^GlUK>Kk>w9NDV6%_Lh?j=;J zxM`|F99Pc>lcBljMD=aUC4Mc$F+`vaZJ*|(N)UCTf|wj7=5;VxJG$Thid7NHFpYbS+ya zSq+5XW3TWK8A)Ume`n5PhD*~Stj%)Ah+;js5JC)ICal*kp~Gc9L0mykQN9D$)z%2n zeP+F1}SoVcD0y|Ay zfQ_mT%#-)Md)_HC=haC*~>&M9j4`dJ^sG1*m+yu5F9fAWcu;5JBkJZ^!Gd|)?M zw@9)P&KmaTinJzTwiC+lBWpMLc#lW_onw}4h1r04bV|`g@No`L)=eeHvdSCP7P?Cu zyo_Q3-PmJaVb$;!$#M4r$jEPTMT7m)b>uC<`|jqK>^QgGsr3}5u)&1y^{ztl(>Zgz z&O=QC@f(SfgBAIVyww3Fd`w#@i&{42<;7#{yvk^*Ni*Z!lueGh+yolmIQR;TAAGvs z9*uq^O@`X&&tin??z0x-7JDZ&e$&X64To{KPo?sCK;`#kY8osy9EPPi2sgvEL#`_J z0aLCKEf6bam_w{RwQxFWpY9Ru^{0VptqbDNGxQaj&nUVP)IGo$78h482-|zNN{6}* zhh9shZ&qFt3Gsx%C_h(3exG7_Y92H>tT2ReKK^5q2Rrg>rO@vsl!xII8$#68 z3`T$;cHjxpwubvWb5hUnyc-T;wz+2QfqKFNLvMjbkZ`&D+#9ZKVk=4iexRIg0v{a<4of){l3Q29Nc*l{svl&^aJ;g7wie2w{ z>a^smBJf&EV?{ZNa|goYBrNG+WAxZw+_{YBUPgoIXgbLOB>-zyd`>v(<}IgsK}vP; z+j`ysu+UdyX#IrQLk-^?WQgnRTtfBKz{nKCf;S&a=!uXAeMl3v0sDR;Bj*Kpr?Sdx z!gO8<7ZJh(5$Q5jj8HmfLDea=XOeN3w_*+`p(A9g?(4>#>uA_8Y3RP4LEEB{N20+5 zK@^cm$1N)X{KKgOO>~Y30W2s=m}w}cMFL~fI3a@+xDXf23LA&LS|k8Xr)OYxTLW5K zUWd;W9s{dNJ7hKC1*Thx@+HDFNWfi1HAow6lf3~2Q<}k)E-4x$H6aes^T7qzqqGDmGhu55k{QmYb_wtMrts6VS-Z@ZqYXp?pM4{!Q#xn=ZGaPHQs#3ZX$I2; z40)I2GP-I37g>B>V2||0up8|d^1FHnFK|^{PUbZ2r2Gi!gjM}F<*7kAsoUyzb(2`m zI4uZr#iDw$Z~>g<*U7RnCE&%)R6gl z;8oexNtF(ASCy{@e`fDm-3fP0$w(W~djyNt1%Cn>pn}D_k~19Q%{903CpwE0VU(@n zBVE^n)!~mQ|0Lg*7R>OVO!zc#q7}pF?jA1BV)WA%NG+n zmC0et(NOm$Ia@Adjz|J^G6$ix0jR75Em=^1zqN2ajACH`w3DA;Rm?VmP)lh7B&0n8 zcI&pQ(erDU)8qY9vcgGoDi4%io-~8TDCt^Dk7v$YDo@#0Ywy!}y(U{B6~^4sgXs4X z|IITT+8y8anf3}uUKxnW1vn8nX$%LON~)5%lhfd1S7E_&e~~(8yLP-aS$(2%CwIw^^abr`^pQNe{7YB%X1)aa z40-w<(ZI19vfBILl<Kr@>jnLdjmNjVPS#)jJOKF*RD_ zsXY2H^Kq{AF$J;JhoIq*z0WHu+>F@d=#VEklKG)8%Oi5WXyq0d5d5;0M16wt)7cweg}uC5pr`P!MurK`eZlqt*|(lN4*qEZg`GryST-Hu~>e&Jke%YZn2WW-I@ zz~*&ry9rzTQVXI?Tn{^+IWI1N@La_H18=E;kSYJLw~hNMzjx|k;31>w(=yg6G6S4~ z=NCs2jQCU1t5z>fGw4bj0K_D?{u17$xqtG?EZfC87L^!>+Ya%A}GT04ONHE!(M z?`jL`lMXcM$*k(Kz;otYMv%e8Z+~S7tArrfw?dRNqh92VAsam`xR%m_~A)DfL#P<;V4t$H;lD{}ayy)-yyj$cf-lOeP9Kk&juDBiU$md8Isb4jI z&+~fxihg#RMp6@eyp-1k_joRF?34~kP8ALy&}(SrRC^%<8|=`^75Wj^Q_2~!G00r< z!$Kq$W~# zal;rD)Kn#3zdXSHodJc=jz99A6o@hwLb8lX4%ESR z7Osz!&Tj}P{&m0eN)(I=SChV3eBq(jA8~ScLj76NX5>0DuZbqE|Lhz`AexTZF2f=2 zM*h&+fNlsHWX2-WT?_8WH{C3A#_W{65_WD*7E$_{W8|oqQ>g4Icb17Jil=*X{j!C_ z%jvM>1TO$uLhOF3~EzmDd?gK#SP=B8nzv&chr#E_LSaJ zGcf`qF$Zi_@7mJ$1d$(EoGWX#%?WF41+eW{nKuw!jgcxuW46LFZwK^{kg6NAU#eZA zv{c!Ts_=@|oiaKQ<9188#{-B6bgYBd(qB~BzL;4AmAF&wH4%WAIu9BUzT9R~6 z6Pv8F8adL*GW2QsfeU7`tYEiWbrwIqrw%o5bFVi|zBaYtCK<$DhK(BJ*fGlc;qFMy zX|HwQmSjHZ`Q$C;u)4&4V0}h!i-R3kJ<+Pl-R-0)S6dbTC-0ZMmokrcuL{Vz3c^YV z%rh4d>a(KKJcq) zmw0@Nf+z(lZgmhF^liG#)da?>{k;uhLYOf1_oUM2kr|HVEq5K)j0(JfDsq7m+j4?OT3ZyWhrXHfPRqPlx{hk&(Augm9%n;fM-ewHy4_y8COSgZ+-Qmr{w4PJuzOA2Kv!nzZ;eJtKu!`f2n%7RbK5;2T5eV6xl4S`E97WJC|HmaSh zJigiLPc2grBEwQC_Y+j{-pic+7DY}eQmuI4EgI^B1TraEVludO4n#o%RBqMo&TaO4 z&hilx8@Jj5RzqfKgP8PU%^gXgVh}Kis9fZBEI}3Vi>Dr?z9wdK@M6DfHOTXgmc&#t ztD88(+&xEY93M@Gp}LRpeEjK~^#x3uIUwvTyh^iVyWcu7%xz0}3UM&ambjMLql=Uw zN2a4--E#O04NA0#VVLemw7$`qRWY#fa9Tp+!xHLTpNE2Q?5mGqzw2`nQIFg}fNC6W z_KMZidoz9a+<%4eK$^z2G%GJ7qFY&(Gsa@-1SyaHAb=rXwa>!D z7bq>Q@^>!(ZV7pUvWG+Ri2(?5P<4e%KK zA6Np;E7a<$Gf8`V;blv9+g6@ z4!jCxXmXg@(D-dfR4_P~zM69+)IJQF#5z=RE^V>HeFzTCkm>eXgtl3>l13yI$?*+| z6_3YR0dXIc2C5U<0^z*$PI2Wc7~=2(o6F@H_$KR`q?_0L3^50`;=1rqqpkubK@zg{&EKzpRG%`9*1{A~HS47Ys68oVASQO`%Ua_Hwi#x?(r9+ukV1 z9sD|cg!GQoCdeTq5F&)!95GvKHM_QzVTkgO3uq$alFcB< zYOJ(eCRr8)-Kh!LyTWR2@%r3$&_Wh9MJ>Bh13Tgx4BPB#?MMBD<2f2XFKE~yE<{XGkJ6A(akA87)!b2$!lhiMx z46@7#w|eZ3{lhHf9)z?XB!dX0((wN6({$IV2N{8dKAs|vKMK{@4@2`;lo{(%mARzR zR~H=9tF;B7bZzOqtSYp6^)&D|D5Di&+hN+ zU$C(cjQ{#7R%F5)`2~N3XTAzC{GQbg|Gp9W^Vxzx6aD>AqR93GAZO(2s?Uuy2)gG? zUwAFCA#f?Oy~DNJ4nfemN{k===H6@6t;57tqzTD zJF`yw_6HvwzET?g;C@~x&fY51pgM033KLiTB}7TB_>_7&)t4e5yklo`EQ(^hcJp)y z1~mAh@Byn6_g2>G>+j5fs%A3K!a$So1BNNew%QSz1_{#abqP{Hsidg_#W~r2z6MXU zr|c)#*fU!H-)04nGX^jGf*2K+Q;*i#5Pt2E;ye${oQ`pRYe>yOnp|LZ5mMq`IQw^J zn%pJ|*VEP&>@ptQ8%rytoqwu534XnBu$bRrSv!4`SZi9dD(7hAfB<-Hhx-g0kaQ{f zP7QkS)eWeQMpS*0+i0OjjMq2}%R)X0ITRG6y(N&*d~2<~!XKWIkj7mEtDxaieCMdtZ_J`p-RqLc`afk-UNrNdNw20%%CU+NkTzD1+Uj1Z5O zwtsBzeeoOpg8!KVaMD^d=P_rC()3wO&ZqC__O`V%x>k;!pR1U?=})9m0EVMmH30@PF8U2dKOk)6ARz~ z5#N;NN3y-+Y#R0WMy`*r>Xo$G>a|pnAMxsLCIQ$u#v?6b)ELhv$3a z_WPWAdScCR*ZqsPZ#(Dd1fQKjVm-cGIlv{rV?wU)qI??~_hgPxcnrZH01LXqiiIiL zZtWp{*rm75=!a=L8W(ZwLlR2xDy#*pB6V+uGQ26nb<=VjH717TEyW*A*xrz?Rm&cc zLLPdAsuu!o%M(uqeme479%r^P?v<+a*&z_Tb`S!y+h=rTLrz$ zD5ARL=hO$^1PHu15xBJ;hX-eZLb*C6!O(o?du`F5a{cI8{0o^2JNTI>ew1UAwVb?tN3D?P*rmnNFX*sN8< zXKEH%sW;xSD@c7uMzN|%#R=Q8GbxEbDix6XB-)y19@mcMXxwZ7#V`F-0O!i7hi&;+J$Y6rh`H}PH5v?*WX?YoVSE{vm}Qk-HdDp2SB=i z{wA_f$U@pO;)_SpFPAM`rPgkxouHGiX&5xY4!;9k-lv7gbc0xR4FTs+l1=ptt*K3iRPT2HEpW3I^-hm77j-0>@Hr#RRdF!4i;NzISj!TZ#I@p+-4E` z*;$bdVDYFms2)uw&S`q;_m=|Yql z5qB{{+w%C&lU1T|p0ZyLh(9r_y2mvFV>&X3K2Kc@?5ZlkdBPa&!&AKvO(zU$?r6?Z zP^Uz%m!2Dg0aM<8F_ok>AA#kTWmS~=6lg0`k6{iXcQ=jiufe`Bm34Ogc&4P^=#wyQ`GQqKuONxJpCJy4EjlC!`v++=r zeIdgOBwh&MP2nB|$M9rxBmx&@4J)Mp&ZT+N%(gjO7eS(K(Q?l4`x%)Sc471gh6U$t zUmszR6mcdE+#q^L>lbD|D}#|iL~3-*!+G8C34EHcd^IPBW?5WM!wDCBH3)tYV)^G7 zlrBFO2W)@{(+Z)B>v9-w_B=JEGlMMBDb^7<4vLgE!aEwYqM?Qh0zP(m{)bs6M(cl>cyH?w;PD9*fao2#m^_dF(28lU>7 z@HkQVu6obPT6y-}Ka0Jeyi1v`jX^ZhXS&iq#%q`3SO#w`@hpjWC7LMJ+(TcezUeW! zv6uPP=^j&+>@K9V`B=wb`{u~hPlgAEe_NosI#A(lTAEHeT@?F;AYp$lGC-m(X1{H( zQIZ~4AXOFZzQRU?jqc^^wm%5+%9&YS5P>M4yi&>=-kJH3g+#Agf;blbcpNFs1EB*N z$Rix=D2g@qHN56Qr*$4b<&wA{qy`23GoN9B0mOC!#dUex^*%W}Z;b>m{MkzERc_!Y z??NABfPQz~XCa<=Ztxb%i+v)d z`+^9w5u5J)tg~J5O@jdo$40xT`SVrx;RN4Jr`ZYHvvB+|Nh38uL83SBp6KMW9j6K&Scb z!Nw1&uZ@9KPu*qhK%NrZ%q3a~-$gDyp)XsPpJ^Pcj+v(_6lGaj z);KkWet(3u-8)c=BHH{t`1HR%*hwv6`g(5la#<6SbO}y-P(uoAhGq-iHTRWS;eqg2 z6yCPNiIo=_xN$A7Uz7Jy8F5VTH@u+wu>EEy{kZ_z64YQ%t?(M&hU^rI7k&q)3JlJh zS#}jAH%kymyiTuVJYdr%av?=-I^NUWU zg=!QhApvjS&u32GjigcWerm)yHiqi5ULjdqJAgVE@)sI!Dg1$!%NQB4&C~w(n|{uB z>_q7{L){Lu&`lswW6kZHZIpr>U8G~^_c`oAqv{py-o}ztEs`BW**e8xDC2rFWAZaX z+O9{WG~mQ{6TxyUtY};?)v7pIxw9-*H&XbB&1h$b<+JYF6(`ZCl^n*a@cHjuHAcS> z*#;dR4p;?CduHI_Qk%ejnYn@%s1x>Ih3p$Oj*5rCeVj)TuZbYw1y?3o;fO^x_{!N2u_cOiAOTB~$6C*fh-t^}S zUv=qFQrEi^NqxobhEjw0^BT7TiwF7w{VA*nJRKODX@pD?6-sV6j~k+_^JGLBq#ov| z6{S2CYVtr?l17Ps2|1OuOlvRKR9<#aSec0UhFN`|wpUC;C9eINnDwYHk$sszTh|lj zGJmAd;J)5I7VY!i?}=+>7iD*5kIUomW9QK@X?`C4@fMBnlhp|j>}8EtpRz3m7}f%m z1B+MCf5SzshYF#CG=5XxuZ~+k*R{7jy);g0tfyw`PcY`nv=XcunVu=uIxy4es8aW; zvG@vMZWaPjaa3zwj(w9$G}nrU3uC-7N(yhl!YSUf4AOCbPrvd&)or+6Ci~fxOr5sg zu5i%w(Av4FPaYr?GOJ_Lzv^!s3YoZ6h$MK7%CR@CnvIoMMb)4b>lcFSV%i>nDT!qs z={~OhfBa^Bx02!R=>E>5^`>s995goAXveSse2$PpH zc+X;_cm(_Ptr*Ls^Euw9M3GBZs||vjv`M?Ha;~}XIN0i2RN(&b3$o3P*$62vM8PL0 zN#>M*F7?IdaZS1$e38r5eSgktf@sb`4lLe}1JmJr9O5i7pP1LzBJi_- zf~=v5`C)fZQqiF8s#po1BOYA67TD1j?7#e)?87}7VdKoLIO9H;+@XK@sY2(06E=rt z2?3eJ458|BL9H~q$yUYf$i8|+%&^%y+N;w*oSwwTzaZa&hl9*R#@qrT2?y&x2kJvA zTg=DAk()=t#}@ExCN=^i6M;3kYQ)$Kb-$;VkWZWoHX zY6Tvy;T-}ET5i-zJprj<2L@{Pa#PiCLymlEa7ZgJEJsxm`Frhp2HHI8-DbR>Tql z+fF+W-;ha+LLt+USaEt1(BhP$z`SQPk9$?2bD@PH(goeCtZybEB6;=uu9zf@hW8qB z&eP+5^O}SWyH%3XHb$6TxFA6Ihj=}7zZeqznyloi~{)Vu+vPY z!7Ql9CEAEV=|q=*U8uGjURGKt5a2$_WGj5TPgWgmLA7o&btYiV1ma0(GO@wExU?Xn zq?+d$KK8j9iYfthky+7T3es9_z~!{OAm3%t3?|mjXR_$fA{|Syr`i*qHTH7U*{$&m z!7Q(H2_G%7lvtJ*PGvjqvyVA}b3bB2m({*@n9CnoY3xMisM#0gW3MS{LivCxVQqtl zU&?j_H4Hm5T>uCKN4N?3Iyw=pBiTL&BgbK_^8K)gv~(8k)1kz9Sj!;xs`Xh@HSSA02!{e7*v?(I*an;nCeGsiYM3hRG?aCU8=ekwDwaYc4! z-;f#Z&z`s-;zDR`bCVrdToYmlR9UBtK5A5e(9eEkF05<9SA*2*zC>obsE7r>_Q??& z5av#YgRM9F8RVy2yYaPig@pAc*?jH+6j-|I#plmt*D>akpqf~QrKOpvA9}@Buc$R8 zs~pmf8Y9~2or2CS-X7%OlzL~BzozufGdF!QquU@j8=)|bphS0&cX&5@ep6Q)JO`%8 zF-4%5tXogUWwA}jPB4SWV$+A%zTIoX|xM7$+zF+5J3TQRPl3=ypMt7gBzf7hbBF!k!8Xyn!?!Gl{*4niAfV2 zJqfc@&(FF)BQU%)D2)^G$4ELYBB|?g2;9)G$e}Cyc!zFFC)umzI#1RqIvEZ`g>4VN z5Dl`EHnLpxSb@47yK8tC5I>Mh0EEelO5h<($f7SXXZ64jKm2u_#>Z5H`rRt5@ESsa z>~yx{;m5LK3e(#o_1hC4(jQ@xweBwdR0c_VP^H9Ojjx>vl9$XSelIN;sJJ}d+zmPP z@>!TQS#odt_}6Jo_Ygmpb*=rRy$?CE)Ob+{Gs68qL%1%}6upwgKxTJ-`}iWaivYeb zF~5j0zttLKD#rcl)e#J93MSMX`2yXdMMw>wGkXn{pqqb%C^qHLqvf4|O1kJLKt^tW z<@4O%Zxkkic$3tUEgSSuZ+qKM0DeWn@uN4H+x>8Pjxnz(SIVhIDrksXw#KV9%NHGq zE{<#+gy+YMj94m4*UqH}SeS73ka76ZDaDy>!V5 z$@S15-^U-*ZJkQ#_Wicqk9wQsX!&-L?9hDF4N}+w|N6_4(`C zpsG11=BjOnje@aZt_3FW^RTqZNmN8-T$mEh|M4f^v2B_FyF0e`vu9Q#v#zpb4m9pYKay6eikwDba*ksUix-eZl)0-n?BH$ZM)aV1`nx7f0%FztR~is zRNR?(aF9(pu5RMd_feobadSgs11)-Qud(YE;z-1F(1&MYKu`c*#hK+mC$M$?0f*K^ z)Cme1tRh=i3e7wngolKqf2DwpZ)L?w)TAG27$d69jaF8E{oPsU=hp^d+%;ov{VG6y z_DwW;$xi|(QDB~2Gfc_~%b7{%WZt@NKz{PXi7ISx9J4kjC_?*HJrC6R-ih`ZRjCrm zLtlm&0T^Lo6NPwZ;EyC986P)nhe}M*i+(u@fBCW@EN8fC5%E?lfASQIzo^r_~DCl zTilY5FMa)Ay4sc$g3Ae8u^-t>;1Vep?^|Q@A<%C`xuCBi;uv0%!x@5_-uWW}O3%^e z!4KM@nA@M)zv7W9-Ollm)6EI-tuXoHA!dwk|6cX={xoYCu*RuWWG+*#IpEFw(6H^< z`j!)lg#m*jAK+DuSw(LKwco=7EThzzr8d43EE-Ao*7Cl0&ve3< z_dh#@ebJ7ru`6fj^w~TnzO)$(P5?C{5M!@4B(b^MA`!3#WtvT4Aon+i4b~tHJvgc^ z0BcqU`Kgezi@Ug)P+oQ6fW%h?j2_1PO2Ns`FGxyYDH_+ zL!rC0mZ?xCs(^!1wlM$vBaD(W$@=X4TTRJmV5EOo$hlZOKsR&jBxL1jvrb;&C1S3E zYbjO0IrDKsjnU(KMJ`LUSoaozIm_JfXmL?Bh8)2mf=HUxDB7=CFFp)#G{~30HmAK{ zbKVybMV2yueStb(L${$y7X(w9lnB<|vpSHK^-8})!s1LEM<@z2#asDB{w{6kY@CeL zx0`*&fZ>UJm+DJunj0M`CU=Z9<=v+N`|?=FWer2Lj*ZDx!NltH1WC_CN~o;?+T3`B zYiK(-6E3-k1BRz$%z8~v@W2h8)}jiikRf--xB72|*EmmnRSmM}7qv&Vk#!6h^*#{p zkOBRj6d*AE9AftZgm?rfQujkmQu7pxHPuoSp?BwPB+-X8!pX)4%euOi@i5OsBcj?BK-V+@17xiiNXQJlFeDpjN|V9=$%SfXdnp-8I~E#h0XH61mi`L&lXQeo-ymVes& z1OqH3xQ4jM5gE?|Sw}vn%=1FaLqr4oxI;rX@Av=dzzhn zti)n)g`8&P&N;XkEOs0idQ_p^IaoTtxU|^aU4-J6^n&nfdEaC}Zj?z#ei&-)0Ercv zh<&JdY{owxppi$Z8CtNp3|?BIb8po;fOf1`+Puznuw;9>94SP?u>_5`ck13-rt@~U zz@!|A9cqU*nF1bDpJ5p%?UaooO(VJBHMxeRWNuw6xD6*GJ{ksO13|_S*-2u|5@r}0;fH-O< zyHfB5y3Sx0$vy<46E@L{W$3DPmjY(MClm>4$<=a<_WG&TL1m;h$c%gfG464zCN#vu~N4tjX47x{zBr zHxczJaKNldwxr`h0l!aevtteCefBHQo{w)Pn736`m|T{I^88HNeVM3j(mk% zHpL||uD5e9tXSGa?Q_>HP#!aO&!7W}q-#FC|qX6cKK z7C43JS~Add^I~kLKdw#rR-;AP*sj0gbB_0vt<2Z{Zc$tCZPi7Lt7k ze)#1H@pr_*gG2uF7_A`Shan$c zy_3L2%DzAzH^73@cf^r}-X-8(1+eeJsQ-NZgvKjA-m_I%M-N<8V_4feFWt{&AYekE z(BL2PNp3TkXr$$t9|?rMs`6Qy8!o!OWd-)RS`hB@`BOJ$DzGm~S+%VgNf1NI!VA8} z@)T%se7&E|K7|8A@&LOux*91BIS*e9PtX95ZH=PG!qRp>xpgqZ0)f@{r5!Duz=TusOtx`wo`MwzE5$9$G6#rF6>RtEZypNIO<^ZQ>uYS{vB^;y zA}Jbiy$13U>wbYsmX6b6xUZCSCtQhHWckhii|c2Y(lnhY3`(1Gc`GU`Sc9(4i?bmP zQPuL{r#|IUac|q$`TRU&3-XeF#+>_1JST-T-%9xb!+}@zXY!;igu>ll;(TEKZ*=3%_Zy;les$yK1 z@y%SWE=z-5&s`n_gJIw*p0;T|URGw{_|&DOn@>}X^|mQcu8PqN)xG>9eJz+i)i^7M zjlZ;IW^8DzyLW!jI44yiF}Me&r;d^k52}{5hb@MMbHt>QwM8P|@+Y4z<*z79P)8Ij zuX5GgUmoLcjxRyCr^ot}i!F1d6Ge;ePJ)_QahZF&#`K9ceKj3sn8-^i*gu5O;?*)u zvVKt-E60ZgZAV1+Epp<;t%TBrpA$^(j3?X9=M@{}6={-jG-*2g6umZ9+?#+8_G3&C z-{H1ZZ-D0&^PS}F)Ve(O$UINd>}iEk{|xqKoyP)pjJ7xGbo;uh0auvX(<=O--cD7^ z1-Jc?b|DWUyjk3xc{*l&J=eFE1F=n+vgtAyO)a9%X5mX2xZqBw;2y^KnW$KFJzyuq zX5p^Rx`ZBi%t(V&D3#EJ^a4gGVX1#WcvcQiva5RQvv{A9;II~-ge=P0w{Zx^3R6Gk zH~Vbf)pK1ki|ih)lYQ){Gbv|s)L(Fz#U3$c2Fq{zN-6xT zOdfTsS;y0cbNO)RC)YISCMM$nDlSwEC@XEa&!@tdA!P8q479OT=%ZjW)qb4RF?-9y$7L(cYZ>Q#MXCVsU~XVA2 z#-Ms?&h$i#3rf6K#?%E3{)lB}CsDUWSKS-RH;d-B?c+~E8F3u}X@*p9-qjp=-zg(D zjxR+0)k?_n@Z+l3k{vvlC?8d0-i=Ug7UzpzKt#8)F^%D#U4?@rFow1>?@i;BWqz

    f1OlSxdhr3PGm$j)HJOK`Jv@VvaF9vq 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

      @64qCa?%72 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 0, x\in [0,L] +\end{equation*} +or + +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +with initial conditions, i.e., the conditions at $t=0$, +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +with $L=1$ the length of the $x$-region of interest. The +boundary conditions are + +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +and + +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +The function $u(x,t)$ can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with $x$. + +We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +and + +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +or + +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} + +Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. + +\paragraph{Part b).} +Implement the explicit scheme algorithm and perform tests of the solution +for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\Delta t/\Delta x^2 \leq 1/2$. + +Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved +and $u(x,t_2)$ is almost linear, close to the stationary state. + +\paragraph{Part c) Neural networks.} +Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. + +\paragraph{Part d) Solving eigenvalue problems.} +Follow the discussion in the work of Yi \emph{et al.} in the article from +\href{{https://www.sciencedirect.com/science/article/pii/S0898122104901101}}{Computers and Mathematics with Applications 47, 1155 (2004)}, and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric $6\times 6$ matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. + +\paragraph{Part e).} +Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. + +\subsection*{Introduction to numerical projects} + +Here follows a brief recipe and recommendation on how to write a report for each +project. + +\begin{itemize} + \item Give a short description of the nature of the problem and the eventual numerical methods you have used. + + \item Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + \item Include the source code of your program. Comment your program properly. + + \item If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + \item Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + \item Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + \item Try to give an interpretation of you results in your answers to the problems. + + \item Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + \item Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. +\end{itemize} + +\noindent +\subsection*{Introduction to numerical projects} + +Here follows a brief recipe and recommendation on how to write a report for each +project. + +\begin{itemize} + \item Give a short description of the nature of the problem and the eventual numerical methods you have used. + + \item Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + \item Include the source code of your program. Comment your program properly. + + \item If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + \item Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + \item Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + \item Try to give an interpretation of you results in your answers to the problems. + + \item Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + \item Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. +\end{itemize} + +\noindent +\subsection*{Format for electronic delivery of report and programs} + +The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + +\begin{itemize} + \item Use Canvas to hand in your projects, log in at \href{{https://www.uio.no/english/services/it/education/canvas/}}{\nolinkurl{https://www.uio.no/english/services/it/education/canvas/}} with your normal UiO username and password. + + \item Upload \textbf{only} the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. + + \item In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. +\end{itemize} + +\noindent +Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. + +\subsection*{Software and needed installations} + +If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via \textbf{pip} as +\begin{enumerate} +\item pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow +\end{enumerate} + +\noindent +For Python3, replace \textbf{pip} with \textbf{pip3}. + +See below for a discussion of \textbf{tensorflow} and \textbf{scikit-learn}. + +For OSX users we recommend also, after having installed Xcode, to install \textbf{brew}. Brew allows +for a seamless installation of additional software via for example +\begin{enumerate} +\item brew install python3 +\end{enumerate} + +\noindent +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use \textbf{pip} as well and simply install Python as +\begin{enumerate} +\item sudo apt-get install python3 (or python for python2.7) +\end{enumerate} + +\noindent +etc etc. + +If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +\begin{enumerate} +\item \href{{https://docs.anaconda.com/}}{Anaconda} Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system \textbf{conda} + +\item \href{{https://www.enthought.com/product/canopy/}}{Enthought canopy} is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +\end{enumerate} + +\noindent +Popular software packages written in Python for ML are + +\begin{itemize} +\item \href{{http://scikit-learn.org/stable/}}{Scikit-learn}, + +\item \href{{https://www.tensorflow.org/}}{Tensorflow}, + +\item \href{{http://pytorch.org/}}{PyTorch} and + +\item \href{{https://keras.io/}}{Keras}. +\end{itemize} + +\noindent +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + + +% ------------------- end of main content --------------- + +\end{document} + diff --git a/doc/src/Projects/2021/Project3/Project2.do.txt b/doc/src/Projects/2021/Project3/Project2.do.txt new file mode 100644 index 000000000..bfc55d13f --- /dev/null +++ b/doc/src/Projects/2021/Project3/Project2.do.txt @@ -0,0 +1,255 @@ +TITLE: Project 2 on Machine Learning, deadline November 13 (Midnight) +AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html" {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo, Norway +DATE: today + + +===== Classification and Regression, from linear and logistic regression to neural networks ===== + +The main aim of this project is to study both classification and +regression problems by developing our own feed-forward neural network (FFNN) code. We can reuse the regression algorithms studied +in project 1. We will also include logistic regression for classification +problems and write our own FFNN code for studying +both regression and classification problems. The codes developed in +project 1, including bootstrap and/or cross-validation as well as the +computation of the mean-squared error and/or the $R2$ or the accuracy score (classification problems) functions can +also be utilized in the present analysis. + + +The data sets that we propose here are (the default sets) + +* Regression (fitting a continuous function). In this part you will need to bring back your results from project 1 and compare these with what you get from your Neural Network code to be developed here. The data sets could be + o Either the Franke function or the terrain data from project 1, or data sets your propose. +* Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called "MNIST":"https://en.wikipedia.org/wiki/MNIST_database" data set of images representing hand-written numbers from zero to nine. These are discussed intensively in the lecture notes on neural networks, see for example the slides from "week 41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html" + +However, if you would like to study other data sets, feel free to +propose other sets. What we listed here are mere suggestions from our +side. If you opt for another data set, consider using a set which +has been studied in the scientific literature. This makes it easier +for you to compare and analyze your results. Comparing with existing results from the scientific literature is also an essential +element of the scientific discussion. + +In particular, when developing your own Neural Network and Logistic Regression codes for classification problems, the so-called Wisconsin Cancer data (which is a binary problem, benign or malignant tumors) may be studied. You can find more information about this at the "Scikit-Learn site":"https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html" or at the "University of California at Irvine":"https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)". + +We will start with a regression problem and we will reuse our codes from project 1 starting with writing our own Stochastic Gradient Descent (SGD) code. + +=== Part a): Write your own Stochastic Gradient Descent code, first step === + +In order to get started, we will now replace in our standard ordinary +least squares (OLS) and Ridge regression codes (from project 1) the matrix inversion +algorithm with our own SGD code. You can choose whether you want to +add the momentum SGD optionality or other SGD variants such as RMSprop +or ADAgrad. The lecture notes from "week 40 contain more +details":"https://compphysics.github.io/MachineLearning/doc/pub/week40/html/week40.html" + +Perform an analysis of the results for OLS and Ridge regression as +function of the chosen learning rates, the number of mini-batches and +epochs as well as algorithm for scaling the learning rate. You can +also compare your own results with those that can be obtained using +for example _Scikit-Learn_'s various SGD options. Discuss your +results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\lambda$ and +the learning rate $\gamma$. Discuss your results. + +You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. + +=== Part b): Writing your own Neural Network code === + +Your aim now, and this is the central part of this project, is to +write your own Feed Forward Neural Network code implementing the back +propagation algorithm discussed in the lecture slides from "week 41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html". + +We will focus on a regression problem first and study either the +Franke function or terrain data (or both or other data sets) from +project 1. Discuss again your choice of cost function. + +Write an FFNN code for regression with a flexible number of hidden +layers and nodes using the Sigmoid function as activation function for +the hidden layers. Initialize the weights using a normal +distribution. How would you initialize the biases? And which +activation function would you select for the final output layer? + +Train your network and compare the results with those from your OLS and Ridge Regression codes from project 1. +You should test your results against a similar code using _Scikit-Learn_ (see the examples in the above lecture notes from week 41) or _tensorflow/keras_. + +Comment your results and give a critical discussion of the results +obtained with the Linear Regression code and your own Neural Network +code. Compare the results with those from project 1. +Make an analysis of the regularization parameters and the learning rates employed to find the optimal MSE and $R2$ scores. + +A useful reference on the back progagation algorithm is "Nielsen's +book":"http://neuralnetworksanddeeplearning.com/". It is an excellent +read. + + + +=== Part c): Testing different activation functions === + +You should now also test different activation functions for the hidden layers. Try out the Sigmoid, the RELU and the Leaky RELU functions and discuss your results. You may also study the way you initialize your weights and biases. + +=== Part d): Classification analysis using neural networks === + + + +With a well-written code it should now be easy to change the +activation function for the output layer. + +Here we will change the cost function for our neural network code +developed in parts b) and c) in order to perform a classification analysis. + +We will here study the MNIST data set of hand-written numbers as +discussed in the lecture notes from "week +41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html". Use +the _Softmax_ function as activation function. Your code should +however also be able to use a binary activation function as well. + +To measure the performance of our classification problem we use the +so-called *accuracy* score. The accuracy is as you would expect just +the number of correctly guessed targets $t_i$ divided by the total +number of targets, that is + + +!bt +\[ +\text{Accuracy} = \frac{\sum_{i=1}^n I(t_i = y_i)}{n} , +\] +!et + +where $I$ is the indicator function, $1$ if $t_i = y_i$ and $0$ +otherwise if we have a binary classification problem. Here $t_i$ +represents the target and $y_i$ the outputs of your FFNN code and $n$ is simply the number of targets $t_i$. + +Discuss your results and give a critical analysis of the various parameters, including hyper-parameters like the learning rates and the regularization parameter $\lambda$ (as you did in Ridge Regression), various activation functions, number of hidden layers and nodes and activation functions. + + +As stated in the introduction, it can also be useful to study other +datasets. In particular, the so-called Wisconsin Cancer +data (which is a binary problem, benign or malignant tumors) may be +studied. You find more information about this at the "Scikit-Learn +site":"https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html" or at the "University of California +at Irvine":"https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)". + + + + +Again, we strongly recommend that you compare your own neural Network +code for classification and pertinent results against a similar code using _Scikit-Learn_ or _tensorflow/keras_ or _pytorch_. + + + + + +=== Part e): Write your Logistic Regression code, final step === + +Finally, we want to compare the FFNN code we have developed with +Logistic regression, that is we wish to compare our neural network +classification results with the results we can obtain with another +method. + +Define your cost function and the design matrix before you start writing your code. +Write thereafter a Logistic regression code using your SGD algorithm. Study the results as functions of the chosen learning rates. +Add also an $l_2$ regularization parameter $\lambda$. Compare your results with those from your FFNN code as well as those obtained using _Scikit-Learn_'s logistic regression functionality. + +The weblink here URL:"https://medium.com/ai-in-plain-english/comparison-between-logistic-regression-and-neural-networks-in-classifying-digits-dc5e85cd93c3"compares logistic regression and FFNN using the MNIST data set. You may find several useful hints and ideas from this article. + + +=== Part f) Critical evaluation of the various algorithms === + +After all these glorious calculations, you should now summarize the +various algorithms and come with a critical evaluation of their pros +and cons. Which algorithm works best for the regression case and which +is best for the classification case. These codes can also be part of +your final project 3, but now applied to other data sets. + + + + +===== Background literature ===== + +o The text of Michael Nielsen is highly recommended, see "Nielsen's book":"http://neuralnetworksanddeeplearning.com/". It is an excellent read. + +o The textbook of "Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer":"https://www.springer.com/gp/book/9780387848570", chapters 3 and 7 are the most relevant ones for the analysis here. + +o "Mehta et al, arXiv 1803.08823":"https://arxiv.org/abs/1803.08823", *A high-bias, low-variance introduction to Machine Learning for physicists*, ArXiv:1803.08823. + + + + +===== Introduction to numerical projects ===== + +Here follows a brief recipe and recommendation on how to write a report for each +project. + + * Give a short description of the nature of the problem and the eventual numerical methods you have used. + + * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + * Include the source code of your program. Comment your program properly. + + * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + * Try to give an interpretation of you results in your answers to the problems. + + * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. + + + + + + +===== Format for electronic delivery of report and programs ===== + +The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + + * Use Canvas to hand in your projects, log in at URL:"https://www.uio.no/english/services/it/education/canvas/" with your normal UiO username and password. + + * Upload _only_ the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. + + * In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. + + +Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. + + + +===== Software and needed installations ===== + +If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via _pip_ as +o pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow +For Python3, replace _pip_ with _pip3_. + +See below for a discussion of _tensorflow_ and _scikit-learn_. + +For OSX users we recommend also, after having installed Xcode, to install _brew_. Brew allows +for a seamless installation of additional software via for example +o brew install python3 + +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use _pip_ as well and simply install Python as +o sudo apt-get install python3 (or python for python2.7) +etc etc. + +If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +o "Anaconda":"https://docs.anaconda.com/" Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system _conda_ +o "Enthought canopy":"https://www.enthought.com/product/canopy/" is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. + +Popular software packages written in Python for ML are + +* "Scikit-learn":"http://scikit-learn.org/stable/", +* "Tensorflow":"https://www.tensorflow.org/", +* "PyTorch":"http://pytorch.org/" and +* "Keras":"https://keras.io/". +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + + + + diff --git a/doc/src/Projects/2021/Project3/Project3.do.txt b/doc/src/Projects/2021/Project3/Project3.do.txt new file mode 100644 index 000000000..f49e264d4 --- /dev/null +++ b/doc/src/Projects/2021/Project3/Project3.do.txt @@ -0,0 +1,279 @@ +TITLE: Project 3 on Machine Learning, deadline December 17, 2021 +AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html" {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo, Norway +DATE: today + + +======= Paths for project 3 ======= + +===== Defining the data sets to analyze yourself ===== + +For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say +o "Kaggle":"https://www.kaggle.com/datasets" +o The "University of California at Irvine (UCI) with its machine learning repository":"https://archive.ics.uci.edu/ml/index.php". + + +The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: +o Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among _linear regression (including Ridge and Lasso)_, _Logistic Regression_, _Neural Networks_, _Convolution Neural Networks_, _Recurrent Neural Networks_, _Support Vector Machines_ and _Decision Trees, Random Forests_, _Bagging and Boosting_. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into _convolutional neural networks_ or _recurrent neural networks_, or extensions of neural networkds, feel free to do so. + +For Boosting, feel also free to write your own codes. + +o For project 3, you should feel free to use your own codes from projects 1 and 2, eventually write your own for SVMs and/or Decision trees/random forests/bagging/boosting' or use the available functionality of _Scikit-Learn_, _Tensorflow_, etc. + +o The estimates you used and tested in projects 1 and 2 should also be included, that is the $R2$-score, _MSE_, confusion matrix, accuracy score, information gain, ROC and Cumulative gains curves and other, cross-validation and/or bootstrap if these are relevant. + +o Similarly, feel free to explore various activations functions in deep learning and various approachs to stochastic gradient descent approaches. + +o If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article? + +o A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include. + +All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. + +We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. + +This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides "from week 43":"https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html" and/or the textbook by "Yadav et al":"https://www.springer.com/gp/book/9789401798150". + +===== The basic structure of your project ===== + +Here follows a set up on how to structure your report and analyze the data you have opted for. + +=== Part a) === + +The first part deals with structuring and reading the data, much along the same lines as done in projects 1 and 2. Explain how the data are produced and place them in a proper context. + +=== Part b) === + +You need to include at least two central algorithms, or as an alternative explore methods from decisions tree to bagging, random forests and boosting. Explain the basics of the methods you have chosen to work with. This would be your theory part. + + +=== Part c) === + +Then describe your algorithm and its implementation and tests you have performed. + +=== Part d) === + +Then presents your results and findings, link with existing literature and more. + +=== Part e) === + +Finally, here you should present a critical assessment of the methods you have studied and link your results with the existing literature. + +===== Solving partial differential equations with neural networks ===== + +For this variant of project 3, we will assume that you have some +background in the solution of partial differential equations using +finite difference schemes. We will study the solution of the diffusion +equation in one dimension using a standard explicit scheme and neural +networks to solve the same equations. + +For the explicit scheme, you can study for example chapter 10 of the lecture notes in "Computational Physics":"https://github.com/CompPhysics/ComputationalPhysics/blob/master/doc/Lectures/lectures2015.pdf" or alternative sources. For the solution of ordinary and partial differential equations using neural networks, the lectures by "Kristine Baluka Hein":"https://compphysics.github.io/MachineLearning/doc/pub/odenn/html/odenn-bs.html" at this course are highly recommended. + +For the machine learning part you can use your own code from project 2 or the functionality of for example _Tensorflow/Keras_.. + +=== Part a), setting up the problem === + +The physical problem can be that of the temperature gradient in a rod of length $L=1$ at $x=0$ and $x=1$. +We are looking at a one-dimensional +problem + +!bt +\begin{equation*} + \frac{\partial^2 u(x,t)}{\partial x^2} =\frac{\partial u(x,t)}{\partial t}, t> 0, x\in [0,L] +\end{equation*} +!et +or + +!bt +\begin{equation*} +u_{xx} = u_t, +\end{equation*} +!et +with initial conditions, i.e., the conditions at $t=0$, +!bt +\begin{equation*} +u(x,0)= \sin{(\pi x)} \hspace{0.5cm} 0 < x < L, +\end{equation*} +!et +with $L=1$ the length of the $x$-region of interest. The +boundary conditions are + +!bt +\begin{equation*} +u(0,t)= 0 \hspace{0.5cm} t \ge 0, +\end{equation*} +!et +and + +!bt +\begin{equation*} +u(L,t)= 0 \hspace{0.5cm} t \ge 0. +\end{equation*} +!et +The function $u(x,t)$ can be the temperature gradient of a rod. +As time increases, the velocity approaches a linear variation with $x$. + +We will limit ourselves to the so-called explicit forward Euler algorithm with discretized versions of time given by a forward formula and a centered difference in space resulting in +!bt +\begin{equation*} +u_t\approx \frac{u(x,t+\Delta t)-u(x,t)}{\Delta t}=\frac{u(x_i,t_j+\Delta t)-u(x_i,t_j)}{\Delta t} +\end{equation*} +!et +and + +!bt +\begin{equation*} +u_{xx}\approx \frac{u(x+\Delta x,t)-2u(x,t)+u(x-\Delta x,t)}{\Delta x^2}, +\end{equation*} +!et +or + +!bt +\begin{equation*} +u_{xx}\approx \frac{u(x_i+\Delta x,t_j)-2u(x_i,t_j)+u(x_i-\Delta x,t_j)}{\Delta x^2}. +\end{equation*} +!et + +Write down the algorithm and the equations you need to implement. +Find also the analytical solution to the problem. + +=== Part b) === + +Implement the explicit scheme algorithm and perform tests of the solution +for $\Delta x=1/10$, $\Delta x=1/100$ using $\Delta t$ as dictated by the stability limit of the explicit scheme. The stability criterion for the explicit scheme requires that $\Delta t/\Delta x^2 \leq 1/2$. + +Study the solutions at two time points $t_1$ and $t_2$ where $u(x,t_1)$ is smooth but still significantly curved +and $u(x,t_2)$ is almost linear, close to the stationary state. + + +=== Part c) Neural networks === + +Study now the lecture notes on solving ODEs and PDEs with neural +network and use either your own code from project 2 or the +functionality of tensorflow/keras to solve the same equation as in +part b). Discuss your results and compare them with the standard +explicit scheme. Include also the analytical solution and compare with +that. + + +=== Part d) Solving eigenvalue problems === + +Follow the discussion in the work of Yi *et al.* in the article from +"Computers and Mathematics with Applications 47, 1155 (2004)":"https://www.sciencedirect.com/science/article/pii/S0898122104901101", and +use your differential equation solver with neural networks, set up a +simple square, real and symmetric $6\times 6$ matrix and find the +eigenvalues. Compare with the solution from numerical diagonalization with standard eigenvalue solvers from linear algebra. + +=== Part e) === + +Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. + + +===== Introduction to numerical projects ===== + +Here follows a brief recipe and recommendation on how to write a report for each +project. + + * Give a short description of the nature of the problem and the eventual numerical methods you have used. + + * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + * Include the source code of your program. Comment your program properly. + + * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + * Try to give an interpretation of you results in your answers to the problems. + + * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. + + + + + + + +===== Introduction to numerical projects ===== + +Here follows a brief recipe and recommendation on how to write a report for each +project. + + * Give a short description of the nature of the problem and the eventual numerical methods you have used. + + * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. + + * Include the source code of your program. Comment your program properly. + + * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. + + * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. + + * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. + + * Try to give an interpretation of you results in your answers to the problems. + + * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. + + * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. + + + + + + +===== Format for electronic delivery of report and programs ===== + +The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: + + * Use Canvas to hand in your projects, log in at URL:"https://www.uio.no/english/services/it/education/canvas/" with your normal UiO username and password. + + * Upload _only_ the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. + + * In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. + + +Finally, +we encourage you to collaborate. Optimal working groups consist of +2-3 students. You can then hand in a common report. + + + +===== Software and needed installations ===== + +If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, +we recommend that you install the following Python packages via _pip_ as +o pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow +For Python3, replace _pip_ with _pip3_. + +See below for a discussion of _tensorflow_ and _scikit-learn_. + +For OSX users we recommend also, after having installed Xcode, to install _brew_. Brew allows +for a seamless installation of additional software via for example +o brew install python3 + +For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution +you can use _pip_ as well and simply install Python as +o sudo apt-get install python3 (or python for python2.7) +etc etc. + +If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +o "Anaconda":"https://docs.anaconda.com/" Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system _conda_ +o "Enthought canopy":"https://www.enthought.com/product/canopy/" is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. + +Popular software packages written in Python for ML are + +* "Scikit-learn":"http://scikit-learn.org/stable/", +* "Tensorflow":"https://www.tensorflow.org/", +* "PyTorch":"http://pytorch.org/" and +* "Keras":"https://keras.io/". +These are all freely available at their respective GitHub sites. They +encompass communities of developers in the thousands or more. And the number +of code developers and contributors keeps increasing. + + + + diff --git a/doc/src/Projects/2021/Project3/clean.sh b/doc/src/Projects/2021/Project3/clean.sh new file mode 100755 index 000000000..2e5da2c72 --- /dev/null +++ b/doc/src/Projects/2021/Project3/clean.sh @@ -0,0 +1,3 @@ +#!/bin/sh +doconce clean +rm -rf *.pdf *.tex ipynb*.tar.gz *.html ._*.html *~ reveal.js Trash README.txt diff --git a/doc/src/Projects/2021/Project3/make.sh b/doc/src/Projects/2021/Project3/make.sh new file mode 100755 index 000000000..3b48fe3c7 --- /dev/null +++ b/doc/src/Projects/2021/Project3/make.sh @@ -0,0 +1,87 @@ +#!/bin/sh +set -x + +function system { + "$@" + if [ $? -ne 0 ]; then + echo "make.sh: unsuccessful command $@" + echo "abort!" + exit 1 + fi +} + +if [ $# -eq 0 ]; then +echo 'bash make.sh slides1|slides2' +exit 1 +fi + +name=$1 +rm -f *.tar.gz + +opt="--encoding=utf-8" +opt= + +rm -f *.aux + + + +# Plain HTML documents +html=${name} +system doconce format html $name --pygments_html_style=default --html_style=bloodish --html_links_in_new_window --html_output=$html $opt +system doconce split_html $html.html --method=space10 + +# Bootstrap style +html=${name}-bs +system doconce format html $name --html_style=bootstrap --pygments_html_style=default --html_admon=bootstrap_panel --html_output=$html $opt +system doconce split_html $html.html --method=split --pagination --nav_button=bottom + +# IPython notebook +system doconce format ipynb $name $opt + + +# Ordinary plain LaTeX document +system doconce format pdflatex $name --print_latex_style=trac --latex_admon=paragraph $opt +system doconce ptex2tex $name envir=verbatim +# Add special packages +doconce subst "% Add user's preamble" "\g<1>\n\\usepackage{simplewick}" $name.tex +doconce replace 'section{' 'section*{' $name.tex +pdflatex -shell-escape $name +pdflatex -shell-escape $name +mv -f $name.pdf ${name}.pdf +cp $name.tex ${name}.tex + +# Publish +dest=../../../../Projects/2021 +if [ ! -d $dest/$name ]; then +mkdir $dest/$name +mkdir $dest/$name/pdf +mkdir $dest/$name/html +mkdir $dest/$name/ipynb +fi +cp ${name}*.tex $dest/$name/pdf +cp ${name}*.pdf $dest/$name/pdf +cp -r ${name}*.html ._${name}*.html $dest/$name/html + +# Figures: cannot just copy link, need to physically copy the files +if [ -d fig-${name} ]; then +if [ ! -d $dest/$name/html/fig-$name ]; then +mkdir $dest/$name/html/fig-$name +fi +cp -r fig-${name}/* $dest/$name/html/fig-$name +fi + +cp ${name}.ipynb $dest/$name/ipynb +ipynb_tarfile=ipynb-${name}-src.tar.gz +if [ ! -f ${ipynb_tarfile} ]; then +cat > README.txt < Date: Sat, 13 Nov 2021 16:02:04 +0100 Subject: [PATCH 09/16] updating course site --- doc/web/course.dlog | 3 +++ doc/web/course.do.txt | 4 ++-- doc/web/course.html | 12 ++++++------ doc/web/tmp_mako__course.do.txt | 4 ++-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/doc/web/course.dlog b/doc/web/course.dlog index cd441dd40..ef9845192 100644 --- a/doc/web/course.dlog +++ b/doc/web/course.dlog @@ -201,3 +201,6 @@ output in course.html running mako on course.do.txt to make tmp_mako__course.do.txt Translating doconce text in tmp_mako__course.do.txt to html output in course.html +running mako on course.do.txt to make tmp_mako__course.do.txt +Translating doconce text in tmp_mako__course.do.txt to html +output in course.html diff --git a/doc/web/course.do.txt b/doc/web/course.do.txt index 23eb0c313..a2e132e76 100644 --- a/doc/web/course.do.txt +++ b/doc/web/course.do.txt @@ -76,7 +76,7 @@ ${text_types(ch)} * Jupyter notebook: * "ipynb file": "http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project1/ipynb/Project1.ipynb" -=== Project 2, Deadline November 15 (available October 12) === +=== Project 2, Deadline November 20 (available October 12) === * LaTeX and PDF: * "Latex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project2/pdf/Project2.tex" * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project2/pdf/Project2.pdf" @@ -87,7 +87,7 @@ ${text_types(ch)} * "ipynb file": "http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project2/ipynb/Project2.ipynb" -=== Project 3, Deadline December 13 (available November 12) === +=== Project 3, Deadline December 17 (available November 13) === * LaTeX and PDF: * "LaTex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project3/pdf/Project3.tex" * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project3/pdf/Project3.pdf" diff --git a/doc/web/course.html b/doc/web/course.html index 18572782e..a7b15a37a 100644 --- a/doc/web/course.html +++ b/doc/web/course.html @@ -198,14 +198,14 @@ div.toc p,a { 3, None, 'project-1-deadline-october-11-available-september-10'), - ('Project 2, Deadline November 15 (available October 12)', + ('Project 2, Deadline November 20 (available October 12)', 3, None, - 'project-2-deadline-november-15-available-october-12'), - ('Project 3, Deadline December 13 (available November 12)', + 'project-2-deadline-november-20-available-october-12'), + ('Project 3, Deadline December 17 (available November 13)', 3, None, - 'project-3-deadline-december-13-available-november-12')]} + 'project-3-deadline-december-17-available-november-13')]} end of tocinfo --> @@ -455,7 +455,7 @@ end of tocinfo -->

    1. ipynb file
    2. -

      Project 2, Deadline November 15 (available October 12)

      +

      Project 2, Deadline November 20 (available October 12)

      • LaTeX and PDF:
        • @@ -472,7 +472,7 @@ end of tocinfo -->
        • ipynb file
      -

      Project 3, Deadline December 13 (available November 12)

      +

      Project 3, Deadline December 17 (available November 13)

      • LaTeX and PDF:
        • diff --git a/doc/web/tmp_mako__course.do.txt b/doc/web/tmp_mako__course.do.txt index c2c7edfc5..2a1238eae 100644 --- a/doc/web/tmp_mako__course.do.txt +++ b/doc/web/tmp_mako__course.do.txt @@ -209,7 +209,7 @@ The teaching material is produced in various formats for running codes (jupyter * Jupyter notebook: * "ipynb file": "http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project1/ipynb/Project1.ipynb" -=== Project 2, Deadline November 15 (available October 12) === +=== Project 2, Deadline November 20 (available October 12) === * LaTeX and PDF: * "Latex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project2/pdf/Project2.tex" * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project2/pdf/Project2.pdf" @@ -220,7 +220,7 @@ The teaching material is produced in various formats for running codes (jupyter * "ipynb file": "http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project2/ipynb/Project2.ipynb" -=== Project 3, Deadline December 13 (available November 12) === +=== Project 3, Deadline December 17 (available November 13) === * LaTeX and PDF: * "LaTex file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project3/pdf/Project3.tex" * "PDF file":"http://compphysics.github.io/MachineLearning/doc/Projects/2021/Project3/pdf/Project3.pdf" From b8cfe7fe3a1ae90cbc22e2671196b8ec9f7ecad7 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sat, 13 Nov 2021 16:03:42 +0100 Subject: [PATCH 10/16] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9da1aeb3e..9801cc5cb 100644 --- a/README.md +++ b/README.md @@ -383,7 +383,7 @@ Recommended prereading: Chapters 1-2 (linear algebra) and chapter 3 (statistics) - Hastie et al sections 9.1 and 9.2. Geron's text chapter 6 (Decision trees) and chapter 8 on PCA and Clustering ### Week 45 November 8-12 -- Lab Wednesday: Work on project 2, project 3 available Friday 12th. Deadline project 2 is November 15. +- Lab Wednesday: Work on project 2, project 3 available Friday 12th. Deadline project 2 is November 20. - Lecture Thursday: Decision Trees and Ensemble methods, Bagging and Voting - Video of Lecture at https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h21/forelesningsvideoer/LectureNovember11.mp4?vrtx=view-as-webpage - Lecture Friday: Ensemble Methods, Random Forests, Boosting and gradient boosting @@ -396,8 +396,8 @@ Recommended prereading: Chapters 1-2 (linear algebra) and chapter 3 (statistics) ### Week 46 November 15-19 - Lab Wednesday: Work on project 3 -- Lecture Thursday: Ensemble Methods, Random Forests, Boosting and gradient boosting -- Lecture Friday: Support Vector machines +- Lecture Thursday: Support Vector machines. Summary Ensemble Methods, Random Forests, Boosting and gradient boosting +- Lecture Friday: Workshop on project 3 - Reading recommendations: - See lecture notes for week 46 at https://compphysics.github.io/MachineLearning/doc/web/course.html. - Hastie et al chapter 12 From 71b494ca474fe6bf9681a36ad60d9fdf56b88884 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sat, 13 Nov 2021 16:05:16 +0100 Subject: [PATCH 11/16] updated deadlines --- doc/pub/week34/html/._week34-bs000.html | 57 +- doc/pub/week34/html/._week34-bs001.html | 34 +- doc/pub/week34/html/._week34-bs002.html | 39 +- doc/pub/week34/html/._week34-bs003.html | 42 +- doc/pub/week34/html/._week34-bs004.html | 34 +- doc/pub/week34/html/._week34-bs005.html | 33 +- doc/pub/week34/html/._week34-bs006.html | 30 +- doc/pub/week34/html/._week34-bs007.html | 36 +- doc/pub/week34/html/._week34-bs008.html | 41 +- doc/pub/week34/html/._week34-bs009.html | 42 +- doc/pub/week34/html/._week34-bs010.html | 36 +- doc/pub/week34/html/._week34-bs011.html | 34 +- doc/pub/week34/html/._week34-bs012.html | 37 +- doc/pub/week34/html/._week34-bs013.html | 43 +- doc/pub/week34/html/._week34-bs014.html | 41 +- doc/pub/week34/html/._week34-bs015.html | 34 +- doc/pub/week34/html/._week34-bs016.html | 33 +- doc/pub/week34/html/._week34-bs017.html | 52 +- doc/pub/week34/html/._week34-bs018.html | 56 +- doc/pub/week34/html/._week34-bs019.html | 38 +- doc/pub/week34/html/._week34-bs020.html | 36 +- doc/pub/week34/html/._week34-bs021.html | 33 +- doc/pub/week34/html/._week34-bs022.html | 42 +- doc/pub/week34/html/._week34-bs023.html | 50 +- doc/pub/week34/html/._week34-bs024.html | 41 +- doc/pub/week34/html/._week34-bs025.html | 52 +- doc/pub/week34/html/._week34-bs026.html | 46 +- doc/pub/week34/html/._week34-bs027.html | 32 +- doc/pub/week34/html/._week34-bs028.html | 38 +- doc/pub/week34/html/._week34-bs029.html | 73 +- doc/pub/week34/html/._week34-bs030.html | 34 +- doc/pub/week34/html/._week34-bs031.html | 40 +- doc/pub/week34/html/._week34-bs032.html | 30 +- doc/pub/week34/html/._week34-bs033.html | 35 +- doc/pub/week34/html/._week34-bs034.html | 250 +- doc/pub/week34/html/._week34-bs035.html | 254 +- doc/pub/week34/html/._week34-bs036.html | 243 +- doc/pub/week34/html/._week34-bs037.html | 36 +- doc/pub/week34/html/._week34-bs038.html | 591 ++- doc/pub/week34/html/._week34-bs039.html | 38 +- doc/pub/week34/html/._week34-bs040.html | 45 +- doc/pub/week34/html/._week34-bs041.html | 47 +- doc/pub/week34/html/._week34-bs042.html | 52 +- doc/pub/week34/html/._week34-bs043.html | 41 +- doc/pub/week34/html/._week34-bs044.html | 34 +- doc/pub/week34/html/._week34-bs045.html | 44 +- doc/pub/week34/html/._week34-bs046.html | 38 +- doc/pub/week34/html/._week34-bs047.html | 38 +- doc/pub/week34/html/._week34-bs048.html | 40 +- doc/pub/week34/html/._week34-bs049.html | 65 +- doc/pub/week34/html/._week34-bs050.html | 46 +- doc/pub/week34/html/._week34-bs051.html | 53 +- doc/pub/week34/html/._week34-bs052.html | 49 +- doc/pub/week34/html/._week34-bs053.html | 33 +- doc/pub/week34/html/._week34-bs054.html | 45 +- doc/pub/week34/html/._week34-bs055.html | 113 +- doc/pub/week34/html/._week34-bs056.html | 140 +- doc/pub/week34/html/._week34-bs057.html | 44 +- doc/pub/week34/html/._week34-bs058.html | 41 +- doc/pub/week34/html/._week34-bs059.html | 39 +- doc/pub/week34/html/._week34-bs060.html | 41 +- doc/pub/week34/html/._week34-bs061.html | 38 +- doc/pub/week34/html/._week34-bs062.html | 45 +- doc/pub/week34/html/._week34-bs063.html | 42 +- doc/pub/week34/html/._week34-bs064.html | 64 +- doc/pub/week34/html/._week34-bs065.html | 59 +- doc/pub/week34/html/._week34-bs066.html | 283 +- doc/pub/week34/html/week34-bs.html | 57 +- doc/pub/week34/html/week34-reveal.html | 2673 +++++++++----- doc/pub/week34/html/week34-solarized.html | 2486 ++++++++----- doc/pub/week34/html/week34.html | 2570 ++++++++----- doc/pub/week34/ipynb/ipynb-week34-src.tar.gz | Bin 103349 -> 103516 bytes doc/pub/week34/ipynb/week34.ipynb | 3369 +++++++++--------- doc/src/week34/week34.do.txt | 4 +- 74 files changed, 8759 insertions(+), 6805 deletions(-) diff --git a/doc/pub/week34/html/._week34-bs000.html b/doc/pub/week34/html/._week34-bs000.html index 743aee240..6c35019c1 100644 --- a/doc/pub/week34/html/._week34-bs000.html +++ b/doc/pub/week34/html/._week34-bs000.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - - - -
    -

    Week 34: Introduction to the course, Logistics and Practicalities

    +
    +

    Week 34: Introduction to the course, Logistics and Practicalities

    +
    -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 13, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Oct 12, 2021

    -
    -

    Read »

    @@ -412,25 +400,18 @@ MathJax.Hub.Config({
  • »
  • -
    - - -
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week34/html/._week34-bs001.html b/doc/pub/week34/html/._week34-bs001.html index 43fdb5828..efd6035d5 100644 --- a/doc/pub/week34/html/._week34-bs001.html +++ b/doc/pub/week34/html/._week34-bs001.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Overview of first week

    -

    -

    - +

    • Wednesday August 25: Introduction to software and repetition of Python Programming
    • Thursday August 26: First lecture: Presentation of the course, aims and content
    • @@ -383,7 +369,6 @@ MathJax.Hub.Config({
    -

      @@ -404,25 +389,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs002.html b/doc/pub/week34/html/._week34-bs002.html index 6000b6d5c..0b781483c 100644 --- a/doc/pub/week34/html/._week34-bs002.html +++ b/doc/pub/week34/html/._week34-bs002.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Reading Recommendations

    -

    -

    -For the reading assignments we use the following abbreviations: - + +

    For the reading assignments we use the following abbreviations:

    • GBC: Goodfellow, Bengio, and Courville, Deep Learning
    • CMB: Christopher M. Bishop, Pattern Recognition and Machine Learning
    • HTF: Hastie, Tibshirani, and Friedman, The Elements of Statistical Learning
    • AG: Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow
    - -Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at https://compphysics.github.io/MachineLearning/doc/web/course.html +

    Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at https://compphysics.github.io/MachineLearning/doc/web/course.html

    -

      @@ -407,25 +391,18 @@ Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs003.html b/doc/pub/week34/html/._week34-bs003.html index 2ec093d3b..8175eb6be 100644 --- a/doc/pub/week34/html/._week34-bs003.html +++ b/doc/pub/week34/html/._week34-bs003.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Thursday August 26

    -

    -The lectures will be recorded and updated videos will be posted after the lectures. +

    The lectures will be recorded and updated videos will be posted after the lectures.

    -

    -"Video of Lecture August 26, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage +

    "Video of Lecture August 26, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage

    -

    -Zoom link for lectures: https://msu.zoom.us/j/93311529525?pwd=a1VXSzY4aTFWVy9Rb05mNDJTZ09lZz09 +

    Zoom link for lectures: https://msu.zoom.us/j/93311529525?pwd=a1VXSzY4aTFWVy9Rb05mNDJTZ09lZz09

    • Meeting ID: 933 1152 9525
    • Passcode: 646102
    +

    Video of Lecture from Fall Semester 2020.

    -Video of Lecture from Fall Semester 2020. - -

      @@ -406,25 +389,18 @@ The lectures will be recorded and updated videos will be posted after the lectur
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs004.html b/doc/pub/week34/html/._week34-bs004.html index 51c8ce86b..1461a98a2 100644 --- a/doc/pub/week34/html/._week34-bs004.html +++ b/doc/pub/week34/html/._week34-bs004.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Lectures and ComputerLab

    -

    -

    - +

    • Lectures: Thursday (12.15pm-2pm and Friday (12.15pm-2pm).
    • Weekly reading assignments and videos needed to solve projects and exercises.
    • @@ -384,7 +370,6 @@ MathJax.Hub.Config({
    -

      @@ -408,25 +393,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs005.html b/doc/pub/week34/html/._week34-bs005.html index 7ddfd8d99..61272e1e0 100644 --- a/doc/pub/week34/html/._week34-bs005.html +++ b/doc/pub/week34/html/._week34-bs005.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Announcement

    -

    -NORA AI competetion: See the link here https://www.nora.ai/Competition/image-segmentation.html +

    NORA AI competetion: See the link here https://www.nora.ai/Competition/image-segmentation.html

    -

      @@ -395,25 +381,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs006.html b/doc/pub/week34/html/._week34-bs006.html index ba15ac7bc..5ddc25613 100644 --- a/doc/pub/week34/html/._week34-bs006.html +++ b/doc/pub/week34/html/._week34-bs006.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Communication channels

    -

      @@ -398,25 +385,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs007.html b/doc/pub/week34/html/._week34-bs007.html index 54b32c5ca..06097d02c 100644 --- a/doc/pub/week34/html/._week34-bs007.html +++ b/doc/pub/week34/html/._week34-bs007.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Course Format

    -

    -

    - +

    • Three compulsory projects. Electronic reports only using Canvas to hand in projects and git as version control software and GitHub for repository (or GitLab) of all your material.
    • Evaluation and grading: The three projects are graded and each counts 1/3 of the final mark. No final written or oral exam. -
      1. For the last project each group/participant submits a proposal or works with suggested (by us) proposals for the project.
      2. If possible, we would like to organize the last project as a workshop where each group makes a poster and presents this to all other participants of the course
      3. Poster session where all participants can study and discuss the other proposals.
      4. Based on feedback etc, each group finalizes the report and submits for grading.
      -
    • Python is the default programming language, but feel free to use C/C++ and/or Fortran or other programming languages. All source codes discussed during the lectures can be found at the webpage and github address of the course.
    -

      @@ -416,25 +399,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs008.html b/doc/pub/week34/html/._week34-bs008.html index 056781ad4..b8618eb6f 100644 --- a/doc/pub/week34/html/._week34-bs008.html +++ b/doc/pub/week34/html/._week34-bs008.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Teachers

    -

    -

    + -

    Teachers : -

    • Morten Hjorth-Jensen, morten.hjorth-jensen@fys.uio.no
    • -
      • Phone: +47-48257387
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ470
      • Office hours: Anytime! Individual or group office hours can be arranged either in person or via zoom. Feel free to send an email for planning.
      -
    • Øyvind Sigmundson Schøyen, oyvinssc@student.matnat.uio.no
    • -
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ452
      -
    • Stian Dysthe Bilek stian.bilek@fys.uio.no
    • -
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ450
      -
    • Linus Ekstrøm, linueks@gmail.com, linus.ekstrom@fys.uio.no
    • Nicholas Karlsen, nicholaskarlsen1102@gmail.com, nicholas.karlsen@fys.uio.no
    • Bendik Steinsvåg Dalen, b.s.dalen@fys.uio.no
    • @@ -405,7 +384,6 @@ MathJax.Hub.Config({
    -

      @@ -433,25 +411,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs009.html b/doc/pub/week34/html/._week34-bs009.html index de2868328..2cbbba9e2 100644 --- a/doc/pub/week34/html/._week34-bs009.html +++ b/doc/pub/week34/html/._week34-bs009.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Deadlines for projects (tentative)

    -

    -

    +

    1. Project 1: October 11 (available September 10) graded with feedback)
    2. -
    3. Project 2: November 15 (available October 12, graded with feedback)
    4. -
    5. Project 3: December 13 (available November 8, graded with feedback)
    6. +
    7. Project 2: November 20 (available October 12, graded with feedback)
    8. +
    9. Project 3: December 17 (available November 13, graded with feedback)
    - -Projects are handed in using Canvas. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via Canvas. - -

    +

    Projects are handed in using Canvas. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via Canvas.

    -

      @@ -414,25 +397,18 @@ Projects are handed in using Canvas. We use Github as repository for code
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs010.html b/doc/pub/week34/html/._week34-bs010.html index a998fc406..5a9b808e9 100644 --- a/doc/pub/week34/html/._week34-bs010.html +++ b/doc/pub/week34/html/._week34-bs010.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -
    1. The lecture notes are collected as a jupyter-book at https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/intro.html.
    - -In addition to the lecture notes, we recommend the books of Bishop and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these two texts. The text by Hastie et al is also widely used in the Machine Learning community. Finally, we also recommend the hands-on text by Geron, see below. +

    In addition to the lecture notes, we recommend the books of Bishop and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these two texts. The text by Hastie et al is also widely used in the Machine Learning community. Finally, we also recommend the hands-on text by Geron, see below.

    1. Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer, https://www.springer.com/gp/book/9780387310732.
    2. Ian Goodfellow, Yoshua Bengio, and Aaron Courville. The different chapters are available for free at https://www.deeplearningbook.org/. Chapters 2-14 are highly recommended. The lectures follow to a larg extent this text. The weekly plans will include reading suggestions from these two textbooks.
    - -Additional textbooks: +

    Additional textbooks:

    1. Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer, https://www.springer.com/gp/book/9780387848570. This is a well-known text and serves as additional literature.
    2. Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly, https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/. This text is very useful since it contains many code examples and hands-on applications of all algorithms discussed in this course.
    -

      @@ -414,25 +399,18 @@ Additional textbooks:
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs011.html b/doc/pub/week34/html/._week34-bs011.html index 1729fd337..2d034cd1e 100644 --- a/doc/pub/week34/html/._week34-bs011.html +++ b/doc/pub/week34/html/._week34-bs011.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Prerequisites

    -

    -Basic knowledge in programming and mathematics, with an emphasis on +

    Basic knowledge in programming and mathematics, with an emphasis on linear algebra. Knowledge of Python or/and C++ as programming languages is strongly recommended and experience with Jupiter notebook is recommended. Required courses are the equivalents to the University @@ -377,8 +364,8 @@ of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1100. Most universities offer nowadays a basic programming course (often compulsory) where Python is the recurring programming language. +

    -

      @@ -408,25 +395,18 @@ Python is the recurring programming language.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs012.html b/doc/pub/week34/html/._week34-bs012.html index de101ca39..a298b76d1 100644 --- a/doc/pub/week34/html/._week34-bs012.html +++ b/doc/pub/week34/html/._week34-bs012.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Learning outcomes

    -

    -

    + -

    -This course aims at giving you insights and knowledge about many of +

    This course aims at giving you insights and knowledge about many of the central algorithms used in Data Analysis and Machine Learning. The course is project based and through various numerical projects, normally three, you will be exposed to fundamental research problems @@ -386,6 +372,7 @@ Learning is applied to, get acquainted with computing facilities and learn to handle large scientific projects. A good scientific and ethical conduct is emphasized throughout the course. More specifically, after this course you will +

    • Learn about basic data analysis, statistical analysis, Bayesian statistics, Monte Carlo sampling, data optimization and machine learning;
    • @@ -403,7 +390,6 @@ specifically, after this course you will
    -

      @@ -433,25 +419,18 @@ specifically, after this course you will
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs013.html b/doc/pub/week34/html/._week34-bs013.html index 8a599a544..6313d674f 100644 --- a/doc/pub/week34/html/._week34-bs013.html +++ b/doc/pub/week34/html/._week34-bs013.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Topics covered in this course: Statistical analysis and optimization of data

    -

    -The course has two central parts +

    The course has two central parts

    1. Statistical analysis and optimization of data
    2. Machine learning
    +

    These topics will be scattered thorughout the course and may not necessarily be taught separately. Rather, we will often take an approach (during the lectures and project/exercise sessions) where say elements from statistical data analysis are mixed with specific Machine Learning algorithms

    -These topics will be scattered thorughout the course and may not necessarily be taught separately. Rather, we will often take an approach (during the lectures and project/exercise sessions) where say elements from statistical data analysis are mixed with specific Machine Learning algorithms - -

    -

    - -

    -We plan to cover the following topics: + +

    We plan to cover the following topics:

    • Basic concepts, expectation values, variance, covariance, correlation functions and errors;
    • Simpler models, binomial distribution, the Poisson distribution, simple and multivariate normal distributions;
    • @@ -398,7 +381,6 @@ We plan to cover the following topics:
    -

      @@ -428,25 +410,18 @@ We plan to cover the following topics:
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs014.html b/doc/pub/week34/html/._week34-bs014.html index 19af70aae..7e9caf178 100644 --- a/doc/pub/week34/html/._week34-bs014.html +++ b/doc/pub/week34/html/._week34-bs014.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Topics covered in this course: Machine Learning

    -

    -

    -The following topics will be covered - + +

    The following topics will be covered

    • Linear Regression and Logistic Regression;
    • Neural networks and deep learning, including convolutional and recurrent neural networks
    • @@ -382,15 +368,11 @@ The following topics will be covered
    • Boltzmann Machines
    • Unsupervised learning Dimensionality reduction, from PCA to clustering
    - -Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics. - -

    +

    Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics.

    -

      @@ -420,25 +402,18 @@ Hands-on demonstrations, exercises and projects aim at deepening your understand
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs015.html b/doc/pub/week34/html/._week34-bs015.html index 3969f450f..8e96e427b 100644 --- a/doc/pub/week34/html/._week34-bs015.html +++ b/doc/pub/week34/html/._week34-bs015.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - - -

    -

    - +

    -

      @@ -410,25 +395,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs016.html b/doc/pub/week34/html/._week34-bs016.html index b58c3db49..1be4e5258 100644 --- a/doc/pub/week34/html/._week34-bs016.html +++ b/doc/pub/week34/html/._week34-bs016.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Other courses on Data science and Machine Learning at UiO

    -

    -The link here https://www.mn.uio.no/english/research/about/centre-focus/innovation/data-science/studies/ gives an excellent overview of courses on Machine learning at UiO. +

    The link here https://www.mn.uio.no/english/research/about/centre-focus/innovation/data-science/studies/ gives an excellent overview of courses on Machine learning at UiO.

    1. STK2100 Machine learning and statistical methods for prediction and classification.
    2. @@ -383,7 +370,6 @@ The link here STK4051 Computational Statistics
    3. STK4021 Applied Bayesian Analysis and Numerical Methods
    -

      @@ -413,25 +399,18 @@ The link here »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs017.html b/doc/pub/week34/html/._week34-bs017.html index 667a4b4e7..85017794f 100644 --- a/doc/pub/week34/html/._week34-bs017.html +++ b/doc/pub/week34/html/._week34-bs017.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Introduction

    -

    -Our emphasis throughout this series of lectures +

    Our emphasis throughout this series of lectures is on understanding the mathematical aspects of -different algorithms used in the fields of data analysis and machine learning. +different algorithms used in the fields of data analysis and machine learning. +

    -

    -However, where possible we will emphasize the +

    However, where possible we will emphasize the importance of using available software. We start thus with a hands-on and top-down approach to machine learning. The aim is thus to start with relevant data or data we have produced @@ -387,24 +374,24 @@ the data and predictions. We move thereafter to more interesting cases such as data from say experiments (below we will look at experimental nuclear binding energies as an example). These are examples where we can easily set up the data and then use machine learning algorithms included in for example -Scikit-Learn. +Scikit-Learn. +

    -

    -These examples will serve us the purpose of getting +

    These examples will serve us the purpose of getting started. Furthermore, they allow us to catch more than two birds with a stone. They will allow us to bring in some programming specific topics and tools as well as showing the power of various Python -libraries for machine learning and statistical data analysis. +libraries for machine learning and statistical data analysis. +

    -

    -Here, we will mainly focus on two +

    Here, we will mainly focus on two specific Python packages for Machine Learning, Scikit-Learn and Tensorflow (see below for links etc). Moreover, the examples we introduce will serve as inputs to many of our discussions later, as well as allowing you to set up models and produce your own data and get started with programming. +

    -

      @@ -434,25 +421,18 @@ get started with programming.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs018.html b/doc/pub/week34/html/._week34-bs018.html index f9551796b..ebd53f0fe 100644 --- a/doc/pub/week34/html/._week34-bs018.html +++ b/doc/pub/week34/html/._week34-bs018.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    What is Machine Learning?

    -

    -Statistics, data science and machine learning form important fields of +

    Statistics, data science and machine learning form important fields of research in modern science. They describe how to learn and make predictions from data, as well as allowing us to extract important correlations about physical process and the underlying laws of motion in large data sets. The latter, big data sets, appear frequently in essentially all disciplines, from the traditional Science, Technology, Mathematics and Engineering fields to Life Science, Law, education -research, the Humanities and the Social Sciences. +research, the Humanities and the Social Sciences. +

    -

    -It has become more +

    It has become more and more common to see research projects on big data in for example the Social Sciences where extracting patterns from complicated survey data is one of many research directions. Having a solid grasp of data @@ -393,17 +380,17 @@ in the private or the public sector. This author has had several students or met students who have been hired recently based on their skills and competences in scientific computing and data science, often with marginal knowledge of machine learning. +

    -

    -Machine learning is a subfield of computer science, and is closely +

    Machine learning is a subfield of computer science, and is closely related to computational statistics. It evolved from the study of pattern recognition in artificial intelligence (AI) research, and has made contributions to AI tasks like computer vision, natural language processing and speech recognition. Many of the methods we will study are also -strongly rooted in basic mathematics and physics research. +strongly rooted in basic mathematics and physics research. +

    -

    -Ideally, machine learning represents the science of giving computers +

    Ideally, machine learning represents the science of giving computers the ability to learn without being explicitly programmed. The idea is that there exist generic algorithms which can be used to find patterns in a broad class of data sets without having to write code @@ -411,10 +398,10 @@ specifically for each problem. The algorithm will build its own logic based on the data. You should however always keep in mind that machines and algorithms are to a large extent developed by humans. The insights and knowledge we have about a specific system, play a central -role when we develop a specific machine learning algorithm. +role when we develop a specific machine learning algorithm. +

    -

    -Machine learning is an extremely rich field, in spite of its young +

    Machine learning is an extremely rich field, in spite of its young age. The increases we have seen during the last three decades in computational capabilities have been followed by developments of methods and techniques for analyzing and handling large date sets, @@ -434,8 +421,8 @@ solid command of linear algebra, multivariate theory, probability theory, statistical data analysis, understanding errors and Monte Carlo methods are central elements in a proper understanding of many of algorithms and methods we will discuss. +

    -

      @@ -465,25 +452,18 @@ of algorithms and methods we will discuss.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs019.html b/doc/pub/week34/html/._week34-bs019.html index 396cf0f11..19187ff53 100644 --- a/doc/pub/week34/html/._week34-bs019.html +++ b/doc/pub/week34/html/._week34-bs019.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Types of Machine Learning

    -

    -The approaches to machine learning are many, but are often split into +

    The approaches to machine learning are many, but are often split into two main categories. In supervised learning we know the answer to a problem, and let the computer deduce the logic behind it. On the other hand, unsupervised learning is a method for finding patterns and @@ -377,17 +364,17 @@ Some authours also operate with a third category, namely reinforcement learning. This is a paradigm of learning inspired by behavioral psychology, where learning is achieved by trial-and-error, solely from rewards and punishment. +

    -

    -Another way to categorize machine learning tasks is to consider the +

    Another way to categorize machine learning tasks is to consider the desired output of a system. Some of the most common tasks are: +

    • Classification: Outputs are divided into two or more classes. The goal is to produce a model that assigns inputs into one of these classes. An example is to identify digits based on pictures of hand-written ones. Classification is typically supervised learning.
    • Regression: Finding a functional relationship between an input data set and a reference data set. The goal is to construct a function that maps input data to continuous output values.
    • Clustering: Data are divided into groups with certain common traits, without knowing the different groups beforehand. It is thus a form of unsupervised learning.
    -

      @@ -417,25 +404,18 @@ desired output of a system. Some of the most common tasks are:
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs020.html b/doc/pub/week34/html/._week34-bs020.html index c5eb1da2a..f04c01518 100644 --- a/doc/pub/week34/html/._week34-bs020.html +++ b/doc/pub/week34/html/._week34-bs020.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Essential elements of ML

    -

    -The methods we cover have three main topics in common, irrespective of +

    The methods we cover have three main topics in common, irrespective of whether we deal with supervised or unsupervised learning. +

    -
    • The first ingredient is normally our data set (which can be subdivided into training, validation and test data). Many find the most difficult part of using Machine Learning to be the set up of your data in a meaningful way.
    • The second item is a model which is normally a function of some parameters. The model reflects our knowledge of the system (or lack thereof). As an example, if we know that our data show a behavior similar to what would be predicted by a polynomial, fitting our data to a polynomial of some degree would then determin our model.
    • The last ingredient is a so-called cost/loss function (or error or risk function) which allows us to present an estimate on how good our model is in reproducing the data it is supposed to train.
    - -

      @@ -410,25 +395,18 @@ whether we deal with supervised or unsupervised learning.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs021.html b/doc/pub/week34/html/._week34-bs021.html index fd7a96690..657a546a2 100644 --- a/doc/pub/week34/html/._week34-bs021.html +++ b/doc/pub/week34/html/._week34-bs021.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    An optimization/minimization problem

    -

    -At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called gradient methods. +

    At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called gradient methods.

    -

      @@ -400,25 +386,18 @@ At the heart of basically all Machine Learning algorithms we will encounter so-c
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs022.html b/doc/pub/week34/html/._week34-bs022.html index d494a2bd5..142c167a8 100644 --- a/doc/pub/week34/html/._week34-bs022.html +++ b/doc/pub/week34/html/._week34-bs022.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    A Frequentist approach to data analysis

    -

    -When you hear phrases like predictions and estimations and +

    When you hear phrases like predictions and estimations and correlations and causations, what do you think of? May be you think of the difference between classifying new data points and generating new data points. @@ -376,9 +363,9 @@ Or perhaps you consider that correlations represent some kind of symmetric state if \( A \) is correlated with \( B \), then \( B \) is correlated with \( A \). Causation on the other hand is directional, that is if \( A \) causes \( B \), \( B \) does not necessarily cause \( A \). +

    -

    -These concepts are in some sense the difference between machine +

    These concepts are in some sense the difference between machine learning and statistics. In machine learning and prediction based tasks, we are often interested in developing algorithms that are capable of learning patterns from given data in an automated fashion, @@ -387,15 +374,15 @@ assessments of newly given data. In many cases, our primary concern is the quality of the predictions or assessments, and we are less concerned about the underlying patterns that were learned in order to make these predictions. +

    -

    -In machine learning we normally use a so-called frequentist approach, +

    In machine learning we normally use a so-called frequentist approach, where the aim is to make predictions and find correlations. We focus less on for example extracting a probability distribution function (PDF). The PDF can be used in turn to make estimations and find causations such as given \( A \) what is the likelihood of finding \( B \). +

    -

      @@ -425,25 +412,18 @@ what is the likelihood of finding \( B \).
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs023.html b/doc/pub/week34/html/._week34-bs023.html index 222050c89..f6bcf30f7 100644 --- a/doc/pub/week34/html/._week34-bs023.html +++ b/doc/pub/week34/html/._week34-bs023.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    What is a good model?

    -

    -In science and engineering we often end up in situations where we want to infer (or learn) a +

    In science and engineering we often end up in situations where we want to infer (or learn) a quantitative model \( M \) for a given set of sample points \( \boldsymbol{X} \in [x_1, x_2,\dots x_N] \). +

    -

    -As we will see repeatedely in these lectures, we could try to fit these data points to a model given by a +

    As we will see repeatedely in these lectures, we could try to fit these data points to a model given by a straight line, or if we wish to be more sophisticated to a more complex function. +

    -

    -The reason for inferring such a model is that it +

    The reason for inferring such a model is that it serves many useful purposes. On the one hand, the model can reveal information encoded in the data or underlying mechanisms from which the data were generated. For instance, we could discover important corelations that relate interesting physics interpretations. +

    -

    -In addition, it can simplify the representation of the given data set and help +

    In addition, it can simplify the representation of the given data set and help us in making predictions about future data samples. +

    -

    -A first important consideration to keep in mind is that inferring the correct model +

    A first important consideration to keep in mind is that inferring the correct model for a given data set is an elusive, if not impossible, task. The fundamental difficulty is that if we are not specific about what we mean by a correct model, there could easily be many different models that fit the given data set equally well. +

    -

      @@ -422,25 +409,18 @@ could easily be many different models that fit the given data set equally we
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs024.html b/doc/pub/week34/html/._week34-bs024.html index ef90cd140..745e53e90 100644 --- a/doc/pub/week34/html/._week34-bs024.html +++ b/doc/pub/week34/html/._week34-bs024.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    What is a good model? Can we define it?

    -

    -The central question is this: what leads us to say that a model is correct or +

    The central question is this: what leads us to say that a model is correct or optimal for a given data set? To make the model inference problem well posed, i.e., to guarantee that there is a unique optimal model for the given data, we need to impose additional assumptions or restrictions on the class of models considered. To @@ -381,17 +368,16 @@ with the simplest possible class of models that is just necessary to describe th or solve the problem at hand. More precisely, the model class should be rich enough to contain at least one model that can fit the data to a desired accuracy and yet be restricted enough that it is relatively simple to find the best model for the given data. +

    -

    -Thus, the most popular strategy is to start from the +

    Thus, the most popular strategy is to start from the simplest class of models and increase the complexity of the models only when the simpler models become inadequate. For instance, if we work with a regression problem to fit a set of sample points, one may first try the simplest class of models, namely linear models, followed obviously by more complex models. +

    -

    -How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures. +

    How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures.

    -

      @@ -421,25 +407,18 @@ How to evaluate which model fits best the data is something we will come back to
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs025.html b/doc/pub/week34/html/._week34-bs025.html index 741df9dbe..7d93894f6 100644 --- a/doc/pub/week34/html/._week34-bs025.html +++ b/doc/pub/week34/html/._week34-bs025.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Software and needed installations

    -

    -We will make extensive use of Python as programming language and its +

    We will make extensive use of Python as programming language and its myriad of available libraries. You will find Jupyter notebooks invaluable in your work. You can run R codes in the Jupyter/IPython notebooks, with the immediate benefit of visualizing your data. You can also use compiled languages like C++, Rust, Julia, Fortran etc if you prefer. The focus in these lectures will be on Python. +

    -

    -If you have Python installed (we strongly recommend Python3) and you feel +

    If you have Python installed (we strongly recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as +

    1. pip install numpy scipy matplotlib ipython scikit-learn mglearn sympy pandas pillow
    +

    For Python3, replace pip with pip3.

    -For Python3, replace pip with pip3. - -

    -For OSX users we recommend, after having installed Xcode, to +

    For OSX users we recommend, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, you can use pip as well and simply install Python as +

    1. sudo apt-get install python3 (or python for pyhton2.7)
    +

    etc etc.

    -etc etc. - -

      @@ -435,25 +420,18 @@ etc etc.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs026.html b/doc/pub/week34/html/._week34-bs026.html index bcd75fb81..405515819 100644 --- a/doc/pub/week34/html/._week34-bs026.html +++ b/doc/pub/week34/html/._week34-bs026.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Python installers

    -

    -If you don't want to perform these operations separately and venture +

    If you don't want to perform these operations separately and venture into the hassle of exploring how to set up dependencies and paths, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +

    - -which is an open source +

    which is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda. +

    - -is a Python +

    is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +

    -

    -Furthermore, Google's Colab is a free Jupyter notebook environment that requires +

    Furthermore, Google's Colab is a free Jupyter notebook environment that requires no setup and runs entirely in the cloud. Try it out! +

    -

      @@ -426,25 +413,18 @@ no setup and runs entirely in the cloud. Try it out!
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs027.html b/doc/pub/week34/html/._week34-bs027.html index d89241da8..7154383d6 100644 --- a/doc/pub/week34/html/._week34-bs027.html +++ b/doc/pub/week34/html/._week34-bs027.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Useful Python libraries

    -Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there) +

    Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there)

    • NumPy is a highly popular library for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays
    • @@ -381,7 +369,6 @@ Here we list several useful Python libraries we strongly recommend (if you use a
    • Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano
    • And many more such as pytorch, Theano etc
    -

      @@ -411,25 +398,18 @@ Here we list several useful Python libraries we strongly recommend (if you use a
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs028.html b/doc/pub/week34/html/._week34-bs028.html index f061e80db..cba01d955 100644 --- a/doc/pub/week34/html/._week34-bs028.html +++ b/doc/pub/week34/html/._week34-bs028.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Installing R, C++, cython or Julia

    -

    -You will also find it convenient to utilize R. We will mainly +

    You will also find it convenient to utilize R. We will mainly use Python during our lectures and in various projects and exercises. Those of you already familiar with R should feel free to continue using R, keeping @@ -378,12 +365,12 @@ notebook allows you to run R codes interactively in your browser. The software library R is really tailored for statistical data analysis and allows for an easy usage of the tools and algorithms we will discuss in these lectures. +

    -

    -To install R with Jupyter notebook +

    To install R with Jupyter notebook follow the link here +

    -

      @@ -413,25 +400,18 @@ To install R with Jupyter notebook
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs029.html b/doc/pub/week34/html/._week34-bs029.html index a0a21c458..7bc0becfd 100644 --- a/doc/pub/week34/html/._week34-bs029.html +++ b/doc/pub/week34/html/._week34-bs029.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Installing R, C++, cython, Numba etc

    -

    -For the C++ aficionados, Jupyter/IPython notebook allows you also to +

    For the C++ aficionados, Jupyter/IPython notebook allows you also to install C++ and run codes written in this language interactively in the browser. Since we will emphasize writing many of the algorithms yourself, you can thus opt for either Python or C++ (or Fortran or other compiled languages) as programming languages. +

    -

    -To add more entropy, cython can also be used when running your +

    To add more entropy, cython can also be used when running your notebooks. It means that Python with the jupyter notebook setup allows you to integrate widely popular softwares and tools for scientific computing. Similarly, the @@ -384,22 +371,39 @@ capabilities with minimal rewrites of your codes. With its versatility, including symbolic operations, Python offers a unique computational environment. Your jupyter notebook can easily be converted into a nicely rendered PDF file or a Latex file for -further processing. For example, convert to latex as +further processing. For example, convert to latex as +

    -

    - -

    pycod jupyter nbconvert filename.ipynb --to latex 
    -
    -

    -And to add more versatility, the Python package SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) and is entirely written in Python. + +

    +
    +
    +
    +
    +
    pycod jupyter nbconvert filename.ipynb --to latex 
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -

    -Finally, if you wish to use the light mark-up language +

    And to add more versatility, the Python package SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) and is entirely written in Python.

    + +

    Finally, if you wish to use the light mark-up language doconce you can convert a standard ascii text file into various HTML formats, ipython notebooks, latex files, pdf files etc with minimal edits. These lectures were generated using doconce. +

    -

      @@ -429,25 +433,18 @@ formats, ipython notebooks, latex files, pdf files etc with minimal edits. These
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs030.html b/doc/pub/week34/html/._week34-bs030.html index ced6ad896..71571162a 100644 --- a/doc/pub/week34/html/._week34-bs030.html +++ b/doc/pub/week34/html/._week34-bs030.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Numpy examples and Important Matrix and vector handling packages

    -

    -There are several central software libraries for linear algebra and eigenvalue problems. Several of the more +

    There are several central software libraries for linear algebra and eigenvalue problems. Several of the more popular ones have been wrapped into ofter software packages like those from the widely used text Numerical Recipes. The original source codes in many of the available packages are often taken from the widely used software package LAPACK, which follows two other popular packages developed in the 1970s, namely EISPACK and LINPACK. We describe them shortly here. +

    • LINPACK: package for linear equations and least square problems.
    • LAPACK:package for solving symmetric, unsymmetric and generalized eigenvalue problems. From LAPACK's website http://www.netlib.org it is possible to download for free all source codes from this library. Both C/C++ and Fortran versions are available.
    • BLAS (I, II and III): (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. Blas I is vector operations, II vector-matrix operations and III matrix-matrix operations. Highly parallelized and efficient codes, all available for download from http://www.netlib.org.
    -

      @@ -408,25 +395,18 @@ developed in the 1970s, namely EISPACK and LINPACK. We describe them shortly he
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs031.html b/doc/pub/week34/html/._week34-bs031.html index cb513eadb..51dfd6fb5 100644 --- a/doc/pub/week34/html/._week34-bs031.html +++ b/doc/pub/week34/html/._week34-bs031.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Basic Matrix Features

    -

    -

    + $$ \mathbf{A} = \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ @@ -386,18 +373,16 @@ $$ \end{bmatrix} $$ -

    -The inverse of a matrix is defined by +

    The inverse of a matrix is defined by

    $$ \mathbf{A}^{-1} \cdot \mathbf{A} = I $$ -

    - +
    @@ -411,12 +396,10 @@ $$
    Relations Name matrix elements
    -

    -

      @@ -446,25 +429,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs032.html b/doc/pub/week34/html/._week34-bs032.html index f00965c04..e565e738a 100644 --- a/doc/pub/week34/html/._week34-bs032.html +++ b/doc/pub/week34/html/._week34-bs032.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Some famous Matrices

      @@ -378,7 +366,6 @@ MathJax.Hub.Config({
    • Upper banded with bandwidth \( p \): \( a_{ij}=0 \) for \( i < j+p \)
    • Banded, block upper triangular, block lower triangular....
    -

      @@ -408,25 +395,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs033.html b/doc/pub/week34/html/._week34-bs033.html index cd42cfe65..a72e0ae5e 100644 --- a/doc/pub/week34/html/._week34-bs033.html +++ b/doc/pub/week34/html/._week34-bs033.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    More Basic Matrix Features

    -

    -

    -For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all equivalent + +

    For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all equivalent

    • If the inverse of \( \mathbf{A} \) exists, \( \mathbf{A} \) is nonsingular.
    • @@ -385,7 +372,6 @@ For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all
    -

      @@ -415,25 +401,18 @@ For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs034.html b/doc/pub/week34/html/._week34-bs034.html index 8c7e2149e..6f4ed5e73 100644 --- a/doc/pub/week34/html/._week34-bs034.html +++ b/doc/pub/week34/html/._week34-bs034.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Numpy and arrays

    -Numpy provides an easy way to handle arrays in Python. The standard way to import this library is as +

    Numpy provides an easy way to handle arrays in Python. The standard way to import this library is as

    -

    -

    import numpy as np
    -
    -

    -Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution, -

    +

    +
    +
    +
    +
    +
    import numpy as np
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution,

    -
    n = 10
    +
    +
    +
    +
    +
    +
    n = 10
     x = np.random.normal(size=n)
     print(x)
    -
    -

    -We defined a vector \( x \) with \( n=10 \) elements with its values given by the Normal distribution \( N(0,1) \). +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We defined a vector \( x \) with \( n=10 \) elements with its values given by the Normal distribution \( N(0,1) \). Another alternative is to declare a vector as follows -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.array([1, 2, 3])
     print(x)
    -
    -

    -Here we have defined a vector with three elements, with \( x_0=1 \), \( x_1=2 \) and \( x_2=3 \). Note that both Python and C++ +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Here we have defined a vector with three elements, with \( x_0=1 \), \( x_1=2 \) and \( x_2=3 \). Note that both Python and C++ start numbering array elements from \( 0 \) and on. This means that a vector with \( n \) elements has a sequence of entities \( x_0, x_1, x_2, \dots, x_{n-1} \). We could also let (recommended) Numpy to compute the logarithms of a specific array as -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4, 7, 8]))
     print(x)
    -
    -

    -In the last example we used Numpy's unary function \( np.log \). This function is +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In the last example we used Numpy's unary function \( np.log \). This function is highly tuned to compute array elements since the code is vectorized and does not require looping. We normaly recommend that you use the Numpy intrinsic functions instead of the corresponding log function from Python's math module. The looping is done explicitely by the np.log function. The alternative, and slower way to compute the logarithms of a vector would be to write +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     from math import log
     x = np.array([4, 7, 8])
     for i in range(0, len(x)):
         x[i] = log(x[i])
     print(x)
    -
    -

    -We note that our code is much longer already and we need to import the log function from the math module. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We note that our code is much longer already and we need to import the log function from the math module. The attentive reader will also notice that the output is \( [1, 1, 2] \). Python interprets automagically our numbers as integers (like the automatic keyword in C++). To change this we could define our array elements to be double precision numbers as -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4, 7, 8], dtype = np.float64))
     print(x)
    -
    -

    -or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4.0, 7.0, 8.0]))
     print(x)
    -
    -

    -To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the itemsize functionality (the array \( x \) is actually an object which inherits the functionalities defined in Numpy) as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the itemsize functionality (the array \( x \) is actually an object which inherits the functionalities defined in Numpy) as

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4.0, 7.0, 8.0]))
     print(x.itemsize)
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -479,25 +608,18 @@ x = np.l
    • »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs035.html b/doc/pub/week34/html/._week34-bs035.html index 190e60cef..904bd965d 100644 --- a/doc/pub/week34/html/._week34-bs035.html +++ b/doc/pub/week34/html/._week34-bs035.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Matrices in Python

    -

    -Having defined vectors, we are now ready to try out matrices. We can +

    Having defined vectors, we are now ready to try out matrices. We can define a \( 3 \times 3 \) real matrix \( \boldsymbol{A} \) as (recall that we user lowercase letters for vectors and uppercase letters for matrices) +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     print(A)
    -
    -

    -If we use the shape function we would get \( (3, 3) \) as output, that is verifying that our matrix is a \( 3\times 3 \) matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    If we use the shape function we would get \( (3, 3) \) as output, that is verifying that our matrix is a \( 3\times 3 \) matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     # print the first column, row-major order and elements start with 0
     print(A[:,0]) 
    -
    -

    -We can continue this was by printing out other columns or rows. The example here prints out the second column -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We can continue this was by printing out other columns or rows. The example here prints out the second column

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     # print the first column, row-major order and elements start with 0
     print(A[1,:]) 
    -
    -

    -Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the Numpy website for more details. Useful functions when defining a matrix are the np.zeros function which declares a matrix of a given dimension and sets all elements to zero -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the Numpy website for more details. Useful functions when defining a matrix are the np.zeros function which declares a matrix of a given dimension and sets all elements to zero

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to zero
     A = np.zeros( (n, n) )
     print(A) 
    -
    -

    -or initializing all elements to -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or initializing all elements to

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to one
     A = np.ones( (n, n) )
     print(A) 
    -
    -

    -or as unitarily distributed random numbers (see the material on random number generators in the statistics part) -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or as unitarily distributed random numbers (see the material on random number generators in the statistics part)

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to random numbers with x \in [0, 1]
     A = np.random.rand(n, n)
     print(A) 
    -
    -

    -As we will see throughout these lectures, there are several extremely useful functionalities in Numpy. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    As we will see throughout these lectures, there are several extremely useful functionalities in Numpy. As an example, consider the discussion of the covariance matrix. Suppose we have defined three vectors \( \boldsymbol{x}, \boldsymbol{y}, \boldsymbol{z} \) with \( n \) elements each. The covariance matrix is defined as +

    $$ \boldsymbol{\Sigma} = \begin{bmatrix} \sigma_{xx} & \sigma_{xy} & \sigma_{xz} \\ \sigma_{yx} & \sigma_{yy} & \sigma_{yz} \\ @@ -443,13 +534,14 @@ $$ \end{bmatrix}, $$ -where for example +

    where for example

    $$ \sigma_{xy} =\frac{1}{n} \sum_{i=0}^{n-1}(x_i- \overline{x})(y_i- \overline{y}). $$ -The Numpy function np.cov calculates the covariance elements using the factor \( 1/(n-1) \) instead of \( 1/n \) since it assumes we do not have the exact mean values. +

    The Numpy function np.cov calculates the covariance elements using the factor \( 1/(n-1) \) instead of \( 1/n \) since it assumes we do not have the exact mean values. The following simple function uses the np.vstack function which takes each vector of dimension \( 1\times n \) and produces a \( 3\times n \) matrix \( \boldsymbol{W} \) +

    $$ \boldsymbol{W} = \begin{bmatrix} x_0 & x_1 & x_2 & \dots & x_{n-2} & x_{n-1} \\ y_0 & y_1 & y_2 & \dots & y_{n-2} & y_{n-1} \\ @@ -457,17 +549,21 @@ $$ \end{bmatrix}, $$ -

    -which in turn is converted into into the \( 3\times 3 \) covariance matrix +

    which in turn is converted into into the \( 3\times 3 \) covariance matrix \( \boldsymbol{\Sigma} \) via the Numpy function np.cov(). We note that we can also calculate the mean value of each set of samples \( \boldsymbol{x} \) etc using the Numpy function np.mean(x). We can also extract the eigenvalues of the covariance matrix through the np.linalg.eig() function. +

    -

    -

    # Importing various packages
    +
    +
    +
    +
    +
    +
    # Importing various packages
     import numpy as np
     
     n = 100
    @@ -482,11 +578,26 @@ Sigma = np.print(Sigma)
     Eigvals, Eigvecs = np.linalg.eig(Sigma)
     print(Eigvals)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from scipy import sparse
     eye = np.eye(4)
    @@ -497,8 +608,22 @@ x = np.l
     y = np.sin(x)
     plt.plot(x,y,marker='x')
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -528,25 +653,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs036.html b/doc/pub/week34/html/._week34-bs036.html index d8797b3ed..a5e61ece4 100644 --- a/doc/pub/week34/html/._week34-bs036.html +++ b/doc/pub/week34/html/._week34-bs036.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Meet the Pandas

    -

    -



    +

    +
    +

    +
    +

    -

    -Another useful Python package is +

    Another useful Python package is pandas, which is an open source library providing high-performance, easy-to-use data structures and data analysis tools for Python. pandas stands for panel data, a term borrowed from econometrics and is an efficient library for data analysis with an emphasis on tabular data. pandas has two major classes, the DataFrame class with two-dimensional data objects and tabular data organized in columns and the class Series with a focus on one-dimensional data objects. Both classes allow you to index data easily as we will see in the examples below. -pandas allows you also to perform mathematical operations on the data, spanning from simple reshapings of vectors and matrices to statistical operations. +pandas allows you also to perform mathematical operations on the data, spanning from simple reshapings of vectors and matrices to statistical operations. +

    -

    -The following simple example shows how we can, in an easy way make tables of our data. Here we define a data set which includes names, place of birth and date of birth, and displays the data in an easy to read way. We will see repeated use of pandas, in particular in connection with classification of data. +

    The following simple example shows how we can, in an easy way make tables of our data. Here we define a data set which includes names, place of birth and date of birth, and displays the data in an easy to read way. We will see repeated use of pandas, in particular in connection with classification of data.

    -

    -

    import pandas as pd
    +
    +
    +
    +
    +
    +
    import pandas as pd
     from IPython.display import display
     data = {'First Name': ["Frodo", "Bilbo", "Aragorn II", "Samwise"],
             'Last Name': ["Baggins", "Baggins","Elessar","Gamgee"],
    @@ -393,45 +387,115 @@ data = {'Fi
             }
     data_pandas = pd.DataFrame(data)
     display(data_pandas)
    -
    -

    -In the above we have imported pandas with the shorthand pd, the latter has become the standard way we import pandas. We make then a list of various variables +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In the above we have imported pandas with the shorthand pd, the latter has become the standard way we import pandas. We make then a list of various variables and reorganize the aboves lists into a DataFrame and then print out a neat table with specific column labels as Name, place of birth and date of birth. Displaying these results, we see that the indices are given by the default numbers from zero to three. pandas is extremely flexible and we can easily change the above indices by defining a new type of indexing as -

    +

    -
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
    +
    +
    +
    +
    +
    +
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
     display(data_pandas)
    -
    -

    -Thereafter we display the content of the row which begins with the index Aragorn -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Thereafter we display the content of the row which begins with the index Aragorn

    -
    display(data_pandas.loc['Aragorn'])
    -
    -

    -We can easily append data to this, for example -

    +

    +
    +
    +
    +
    +
    display(data_pandas.loc['Aragorn'])
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    We can easily append data to this, for example

    -
    new_hobbit = {'First Name': ["Peregrin"],
    +
    +
    +
    +
    +
    +
    new_hobbit = {'First Name': ["Peregrin"],
                   'Last Name': ["Took"],
                   'Place of birth': ["Shire"],
                   'Date of Birth T.A.': [2990]
                   }
     data_pandas=data_pandas.append(pd.DataFrame(new_hobbit, index=['Pippin']))
     display(data_pandas)
    -
    -

    -Here are other examples where we use the DataFrame functionality to handle arrays, now with more interesting features for us, namely numbers. We set up a matrix +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Here are other examples where we use the DataFrame functionality to handle arrays, now with more interesting features for us, namely numbers. We set up a matrix of dimensionality \( 10\times 5 \) and compute the mean value and standard deviation of each column. Similarly, we can perform mathematial operations like squaring the matrix elements and many other operations. -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import pandas as pd
     from IPython.display import display
     np.random.seed(100)
    @@ -444,13 +508,30 @@ display(df)
     print(df.mean())
     print(df.std())
     display(df**2)
    -
    -

    -Thereafter we can select specific columns only and plot final results -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Thereafter we can select specific columns only and plot final results

    -
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
    +
    +
    +
    +
    +
    +
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
     df.index = np.arange(10)
     
     display(df)
    @@ -468,29 +549,58 @@ plt.show()
     
     df.plot.bar(figsize=(10,6), rot=15)
     plt.show()
    -
    -

    -We can produce a \( 4\times 4 \) matrix -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We can produce a \( 4\times 4 \) matrix

    -
    b = np.arange(16).reshape((4,4))
    +
    +
    +
    +
    +
    +
    b = np.arange(16).reshape((4,4))
     print(b)
     df1 = pd.DataFrame(b)
     print(df1)
    -
    -

    -and many other operations. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    -The Series class is another important class included in +

    and many other operations.

    + +

    The Series class is another important class included in pandas. You can view it as a specialization of DataFrame but where we have just a single column of data. It shares many of the same features as _DataFrame. As with DataFrame, most operations are vectorized, achieving thereby a high performance when dealing with computations of arrays, in particular labeled arrays. As we will see below it leads also to a very concice code close to the mathematical operations we may be interested in. -For multidimensional arrays, we recommend strongly xarray. xarray has much of the same flexibility as pandas, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both pandas and xarray. +For multidimensional arrays, we recommend strongly xarray. xarray has much of the same flexibility as pandas, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both pandas and xarray. +

    -

      @@ -520,25 +630,18 @@ For multidimensional arrays, we recommend strongly »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs037.html b/doc/pub/week34/html/._week34-bs037.html index 637028baf..f26a487d1 100644 --- a/doc/pub/week34/html/._week34-bs037.html +++ b/doc/pub/week34/html/._week34-bs037.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Friday August 27

    -

    -"Video of Lecture August 27, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage +

    "Video of Lecture August 27, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage

    -

    -Video of Lecture from fall 2020 and Handwritten notes +

    Video of Lecture from fall 2020 and Handwritten notes

    -

      @@ -403,25 +388,18 @@ MathJax.Hub.Config({
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs038.html b/doc/pub/week34/html/._week34-bs038.html index e3e6109ac..9fe805d82 100644 --- a/doc/pub/week34/html/._week34-bs038.html +++ b/doc/pub/week34/html/._week34-bs038.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - +

    Simple linear regression model using scikit-learn

    -

    Simple linear regression model using scikit-learn

    +

    We start with perhaps our simplest possible example, using Scikit-Learn to perform linear regression analysis on a data set produced by us.

    -

    -We start with perhaps our simplest possible example, using Scikit-Learn to perform linear regression analysis on a data set produced by us. - -

    -What follows is a simple Python code where we have defined a function +

    What follows is a simple Python code where we have defined a function \( y \) in terms of the variable \( x \). Both are defined as vectors with \( 100 \) entries. The numbers in the vector \( \boldsymbol{x} \) are given by random numbers generated with a uniform distribution with entries @@ -379,9 +365,9 @@ by random numbers generated with a uniform distribution with entries later). These values are then used to define a function \( y(x) \) (tabulated again as a vector) with a linear dependence on \( x \) plus a random noise added via the normal distribution. +

    -

    -The Numpy functions are imported used the import numpy as np +

    The Numpy functions are imported used the import numpy as np statement and the random number generator for the uniform distribution is called using the function np.random.rand(), where we specificy that we want \( 100 \) random variables. Using Numpy we define @@ -390,13 +376,13 @@ our case. With the Numpy function randn() we can compute random numbers with the normal distribution (mean value \( \mu \) equal to zero and variance \( \sigma^2 \) set to one) and produce the values of \( y \) assuming a linear dependence as function of \( x \) +

    $$ y = 2x+N(0,1), $$ -

    -where \( N(0,1) \) represents random numbers generated by the normal +

    where \( N(0,1) \) represents random numbers generated by the normal distribution. From Scikit-Learn we import then the LinearRegression functionality and make a prediction \( \tilde{y} = \alpha + \beta x \) using the function fit(x,y). We call the set of @@ -404,22 +390,26 @@ data \( (\boldsymbol{x},\boldsymbol{y}) \) for our training data. The Python pac scikit-learn has also a functionality which extracts the above fitting parameters \( \alpha \) and \( \beta \) (see below). Later we will distinguish between training data and test data. +

    -

    -For plotting we use the Python package +

    For plotting we use the Python package matplotlib which produces publication quality figures. Feel free to explore the extensive gallery of examples. In this example we plot our original values of \( x \) and \( y \) as well as the prediction ypredict (\( \tilde{y} \)), which attempts at fitting our data with a straight line. +

    -

    -The Python code follows here. -

    +

    The Python code follows here.

    -
    # Importing various packages
    +
    +
    +
    +
    +
    +
    # Importing various packages
     import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.linear_model import LinearRegression
    @@ -438,9 +428,22 @@ plt.xlabel(r
     plt.ylabel(r'$y$')
     plt.title(r'Simple Linear Regression')
     plt.show()
    -
    -

    -This example serves several aims. It allows us to demonstrate several +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    This example serves several aims. It allows us to demonstrate several aspects of data analysis and later machine learning algorithms. The immediate visualization shows that our linear fit is not impressive. It goes through the data points, but there are many @@ -448,38 +451,38 @@ outliers which are not reproduced by our linear regression. We could now play around with this small program and change for example the factor in front of \( x \) and the normal distribution. Try to change the function \( y \) to +

    $$ y = 10x+0.01 \times N(0,1), $$ -

    -where \( x \) is defined as before. Does the fit look better? Indeed, by +

    where \( x \) is defined as before. Does the fit look better? Indeed, by reducing the role of the noise given by the normal distribution we see immediately that our linear prediction seemingly reproduces better the training set. However, this testing 'by the eye' is obviouly not satisfactory in the long run. Here we have only defined the training data and our model, and have not discussed a more rigorous approach to the cost function. +

    -

    -We need more rigorous criteria in defining whether we have succeeded or +

    We need more rigorous criteria in defining whether we have succeeded or not in modeling our training data. You will be surprised to see that many scientists seldomly venture beyond this 'by the eye' approach. A standard approach for the cost function is the so-called \( \chi^2 \) function (a variant of the mean-squared error (MSE)) +

    $$ \chi^2 = \frac{1}{n} \sum_{i=0}^{n-1}\frac{(y_i-\tilde{y}_i)^2}{\sigma_i^2}, $$ -

    -where \( \sigma_i^2 \) is the variance (to be defined later) of the entry +

    where \( \sigma_i^2 \) is the variance (to be defined later) of the entry \( y_i \). We may not know the explicit value of \( \sigma_i^2 \), it serves however the aim of scaling the equations and make the cost function -dimensionless. +dimensionless. +

    -

    -Minimizing the cost function is a central aspect of +

    Minimizing the cost function is a central aspect of our discussions to come. Finding its minima as function of the model parameters (\( \alpha \) and \( \beta \) in our case) will be a recurring theme in these series of lectures. Essentially all machine learning @@ -492,30 +495,34 @@ employed are various variants of gradient methods. These will be discussed in more detail later. Again, you'll be surprised to hear that many practitioners minimize the above function ''by the eye', popularly dubbed as 'chi by the eye'. That is, change a parameter and see (visually and numerically) that -the \( \chi^2 \) function becomes smaller. +the \( \chi^2 \) function becomes smaller. +

    -

    -There are many ways to define the cost function. A simpler approach is to look at the relative difference between the training data and the predicted data, that is we define +

    There are many ways to define the cost function. A simpler approach is to look at the relative difference between the training data and the predicted data, that is we define the relative error (why would we prefer the MSE instead of the relative error?) as +

    $$ \epsilon_{\mathrm{relative}}= \frac{\vert \boldsymbol{y} -\boldsymbol{\tilde{y}}\vert}{\vert \boldsymbol{y}\vert}. $$ -

    -The squared cost function results in an arithmetic mean-unbiased +

    The squared cost function results in an arithmetic mean-unbiased estimator, and the absolute-value cost function results in a median-unbiased estimator (in the one-dimensional case, and a geometric median-unbiased estimator for the multi-dimensional case). The squared cost function has the disadvantage that it has the tendency to be dominated by outliers. +

    -

    -We can modify easily the above Python code and plot the relative error instead -

    +

    We can modify easily the above Python code and plot the relative error instead

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.linear_model import LinearRegression
     
    @@ -531,26 +538,44 @@ plt.xlabel(r
     plt.ylabel(r'$\epsilon_{\mathrm{relative}}$')
     plt.title(r'Relative error')
     plt.show()
    -
    -

    -Depending on the parameter in front of the normal distribution, we may +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Depending on the parameter in front of the normal distribution, we may have a small or larger relative error. Try to play around with different training data sets and study (graphically) the value of the relative error. +

    -

    -As mentioned above, Scikit-Learn has an impressive functionality. +

    As mentioned above, Scikit-Learn has an impressive functionality. We can for example extract the values of \( \alpha \) and \( \beta \) and their error estimates, or the variance and standard deviation and many -other properties from the statistical data analysis. +other properties from the statistical data analysis. +

    -

    -Here we show an +

    Here we show an example of the functionality of Scikit-Learn. -

    +

    -
    import numpy as np 
    +
    +
    +
    +
    +
    +
    import numpy as np 
     import matplotlib.pyplot as plt 
     from sklearn.linear_model import LinearRegression 
     from sklearn.metrics import mean_squared_error, r2_score, mean_squared_log_error, mean_absolute_error
    @@ -577,84 +602,101 @@ plt.xlabel(r
     plt.ylabel(r'$y$')
     plt.title(r'Linear Regression fit ')
     plt.show()
    -
    -

    -The function coef gives us the parameter \( \beta \) of our fit while intercept yields +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The function coef gives us the parameter \( \beta \) of our fit while intercept yields \( \alpha \). Depending on the constant in front of the normal distribution, we get values near or far from \( \alpha =2 \) and \( \beta =5 \). Try to play around with different parameters in front of the normal distribution. The function meansquarederror gives us the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error or loss defined as +

    $$ MSE(\boldsymbol{y},\boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, $$ -

    -The smaller the value, the better the fit. Ideally we would like to +

    The smaller the value, the better the fit. Ideally we would like to have an MSE equal zero. The attentive reader has probably recognized this function as being similar to the \( \chi^2 \) function defined above. +

    -

    -The r2score function computes \( R^2 \), the coefficient of +

    The r2score function computes \( R^2 \), the coefficient of determination. It provides a measure of how well future samples are likely to be predicted by the model. Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of \( \boldsymbol{y} \), disregarding the input features, would get a \( R^2 \) score of \( 0.0 \). +

    -

    -If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as +

    If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as

    $$ R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, $$ -where we have defined the mean value of \( \boldsymbol{y} \) as +

    where we have defined the mean value of \( \boldsymbol{y} \) as

    $$ \bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. $$ -Another quantity taht we will meet again in our discussions of regression analysis is +

    Another quantity taht we will meet again in our discussions of regression analysis is the mean absolute error (MAE), a risk metric corresponding to the expected value of the absolute error loss or what we call the \( l1 \)-norm loss. In our discussion above we presented the relative error. The MAE is defined as follows +

    $$ \text{MAE}(\boldsymbol{y}, \boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1} \left| y_i - \tilde{y}_i \right|. $$ -We present the +

    We present the squared logarithmic (quadratic) error +

    $$ \text{MSLE}(\boldsymbol{y}, \boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n - 1} (\log_e (1 + y_i) - \log_e (1 + \tilde{y}_i) )^2, $$ -

    -where \( \log_e (x) \) stands for the natural logarithm of \( x \). This error +

    where \( \log_e (x) \) stands for the natural logarithm of \( x \). This error estimate is best to use when targets having exponential growth, such as population counts, average sales of a commodity over a span of -years etc. +years etc. +

    -

    -Finally, another cost function is the Huber cost function used in robust regression. +

    Finally, another cost function is the Huber cost function used in robust regression.

    -

    -The rationale behind this possible cost function is its reduced +

    The rationale behind this possible cost function is its reduced sensitivity to outliers in the data set. In our discussions on dimensionality reduction and normalization of data we will meet other ways of dealing with outliers. +

    -

    -The Huber cost function is defined as +

    The Huber cost function is defined as

    $$ H_{\delta}(\boldsymbol{a})=\left\{\begin{array}{cc}\frac{1}{2} \boldsymbol{a}^{2}& \text{for }|\boldsymbol{a}|\leq \delta\\ \delta (|\boldsymbol{a}|-\frac{1}{2}\delta ),&\text{otherwise}.\end{array}\right. $$ -Here \( \boldsymbol{a}=\boldsymbol{y} - \boldsymbol{\tilde{y}} \). +

    Here \( \boldsymbol{a}=\boldsymbol{y} - \boldsymbol{\tilde{y}} \).

    -

    -We will discuss in more detail these and other functions in the +

    We will discuss in more detail these and other functions in the various lectures. We conclude this part with another example. Instead of a linear \( x \)-dependence we study now a cubic polynomial and use the polynomial regression analysis tools of scikit-learn. +

    -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     import random
     from sklearn.linear_model import Ridge
    @@ -684,74 +726,85 @@ plt.show()
         return abs(np.sum(err))/len(err)
     
     print (error(y))
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    To our real data: nuclear binding energies. Brief reminder on masses and binding energies

    -

    -Let us now dive into nuclear physics and remind ourselves briefly about some basic features about binding +

    Let us now dive into nuclear physics and remind ourselves briefly about some basic features about binding energies. A basic quantity which can be measured for the ground states of nuclei is the atomic mass \( M(N, Z) \) of the neutral atom with -atomic mass number \( A \) and charge \( Z \). The number of neutrons is \( N \). There are indeed several sophisticated experiments worldwide which allow us to measure this quantity to high precision (parts per million even). +atomic mass number \( A \) and charge \( Z \). The number of neutrons is \( N \). There are indeed several sophisticated experiments worldwide which allow us to measure this quantity to high precision (parts per million even). +

    -

    -Atomic masses are usually tabulated in terms of the mass excess defined by +

    Atomic masses are usually tabulated in terms of the mass excess defined by

    $$ \Delta M(N, Z) = M(N, Z) - uA, $$ -where \( u \) is the Atomic Mass Unit +

    where \( u \) is the Atomic Mass Unit

    $$ u = M(^{12}\mathrm{C})/12 = 931.4940954(57) \hspace{0.1cm} \mathrm{MeV}/c^2. $$ -The nucleon masses are +

    The nucleon masses are

    $$ m_p = 1.00727646693(9)u, $$ -and +

    and

    $$ m_n = 939.56536(8)\hspace{0.1cm} \mathrm{MeV}/c^2 = 1.0086649156(6)u. $$ -

    -In the 2016 mass evaluation of by W.J.Huang, G.Audi, M.Wang, F.G.Kondev, S.Naimi and X.Xu +

    In the 2016 mass evaluation of by W.J.Huang, G.Audi, M.Wang, F.G.Kondev, S.Naimi and X.Xu there are data on masses and decays of 3437 nuclei. +

    -

    -The nuclear binding energy is defined as the energy required to break +

    The nuclear binding energy is defined as the energy required to break up a given nucleus into its constituent parts of \( N \) neutrons and \( Z \) protons. In terms of the atomic masses \( M(N, Z) \) the binding energy is defined by +

    $$ BE(N, Z) = ZM_H c^2 + Nm_n c^2 - M(N, Z)c^2 , $$ -where \( M_H \) is the mass of the hydrogen atom and \( m_n \) is the mass of the neutron. +

    where \( M_H \) is the mass of the hydrogen atom and \( m_n \) is the mass of the neutron. In terms of the mass excess the binding energy is given by +

    $$ BE(N, Z) = Z\Delta_H c^2 + N\Delta_n c^2 -\Delta(N, Z)c^2 , $$ -where \( \Delta_H c^2 = 7.2890 \) MeV and \( \Delta_n c^2 = 8.0713 \) MeV. +

    where \( \Delta_H c^2 = 7.2890 \) MeV and \( \Delta_n c^2 = 8.0713 \) MeV.

    -

    -A popular and physically intuitive model which can be used to parametrize +

    A popular and physically intuitive model which can be used to parametrize the experimental binding energies as function of \( A \), is the so-called liquid drop model. The ansatz is based on the following expression +

    $$ BE(N,Z) = a_1A-a_2A^{2/3}-a_3\frac{Z^2}{A^{1/3}}-a_4\frac{(N-Z)^2}{A}, $$ -

    -where \( A \) stands for the number of nucleons and the $a_i$s are parameters which are determined by a fit -to the experimental data. +

    where \( A \) stands for the number of nucleons and the $a_i$s are parameters which are determined by a fit +to the experimental data. +

    -

    -To arrive at the above expression we have assumed that we can make the following assumptions: +

    To arrive at the above expression we have assumed that we can make the following assumptions:

    • There is a volume term \( a_1A \) proportional with the number of nucleons (the energy is also an extensive quantity). When an assembly of nucleons of the same size is packed together into the smallest volume, each interior nucleon has a certain number of other nucleons in contact with it. This contribution is proportional to the volume.
    • @@ -759,24 +812,26 @@ To arrive at the above expression we have assumed that we can make the following
    • There is a Coulomb energy term \( a_3\frac{Z^2}{A^{1/3}} \). The electric repulsion between each pair of protons in a nucleus yields less binding.
    • There is an asymmetry term \( a_4\frac{(N-Z)^2}{A} \). This term is associated with the Pauli exclusion principle and reflects the fact that the proton-neutron interaction is more attractive on the average than the neutron-neutron and proton-proton interactions.
    - -We could also add a so-called pairing term, which is a correction term that +

    We could also add a so-called pairing term, which is a correction term that arises from the tendency of proton pairs and neutron pairs to -occur. An even number of particles is more stable than an odd number. - +occur. An even number of particles is more stable than an odd number. +

    Organizing our data

    -

    -Let us start with reading and organizing our data. +

    Let us start with reading and organizing our data. We start with the compilation of masses and binding energies from 2016. After having downloaded this file to our own computer, we are now ready to read the file and start structuring our data. +

    -

    -We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of scikit-learn. -

    +

    We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of scikit-learn.

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -809,13 +864,30 @@ DATA_ID = "
         plt.savefig(image_path(fig_id) + ".png", format='png')
     
     infile = open(data_path("MassEval2016.dat"),'r')
    -
    -

    -Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various matplotlib commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function. -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various matplotlib commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function.

    -
    from pylab import plt, mpl
    +
    +
    +
    +
    +
    +
    from pylab import plt, mpl
     plt.style.use('seaborn')
     mpl.rcParams['font.family'] = 'serif'
     
    @@ -826,20 +898,37 @@ mpl.rcParams[&#
             plt.xlabel(axlabels[0])
             plt.ylabel(axlabels[1])
         plt.legend(loc=0)
    -
    -

    -Our next step is to read the data on experimental binding energies and +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Our next step is to read the data on experimental binding energies and reorganize them as functions of the mass number \( A \), the number of protons \( Z \) and neutrons \( N \) using pandas. Before we do this it is always useful (unless you have a binary file or other types of compressed data) to actually open the file and simply take a look at it! +

    -

    -In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with pandas. The file begins with some basic format information. -

    +

    In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with pandas. The file begins with some basic format information.

    -
    """                                                                                                                         
    +
    +
    +
    +
    +
    +
    """                                                                                                                         
     This is taken from the data file of the mass 2016 evaluation.                                                               
     All files are 3436 lines long with 124 character per line.                                                                  
            Headers are 39 lines long.                                                                                           
    @@ -849,17 +938,35 @@ In particular, the program that outputs the final nuclear masses is written in F
        widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),                                                            
        Pandas has also a variable header, with length 39 in this case.                                                          
     """
    -
    -

    -The data we are interested in are in columns 2, 3, 4 and 11, giving us +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The data we are interested in are in columns 2, 3, 4 and 11, giving us the number of neutrons, protons, mass numbers and binding energies, respectively. We add also for the sake of completeness the element name. The data are in fixed-width formatted lines and we will covert them into the pandas DataFrame structure. +

    -

    -

    # Read the experimental data with Pandas
    +
    +
    +
    +
    +
    +
    # Read the experimental data with Pandas
     Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),
                   names=('N', 'Z', 'A', 'Element', 'Ebinding'),
                   widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),
    @@ -877,58 +984,129 @@ Masses['Ebinding'] = Masses.groupby('A')
     # Find the rows of the grouped DataFrame with the maximum binding energy.
     Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])
    -
    -

    -We have now read in the data, grouped them according to the variables we are interested in. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We have now read in the data, grouped them according to the variables we are interested in. We see how easy it is to reorganize the data using pandas. If we were to do these operations in C/C++ or Fortran, we would have had to write various functions/subroutines which perform the above reorganizations for us. Having reorganized the data, we can now start to make some simple fits using both the functionalities in numpy and -Scikit-Learn afterwards. +Scikit-Learn afterwards. +

    -

    -Now we define five variables which contain +

    Now we define five variables which contain the number of nucleons \( A \), the number of protons \( Z \) and the number of neutrons \( N \), the element name and finally the energies themselves. -

    +

    -
    A = Masses['A']
    +
    +
    +
    +
    +
    +
    A = Masses['A']
     Z = Masses['Z']
     N = Masses['N']
     Element = Masses['Element']
     Energies = Masses['Ebinding']
     print(Masses)
    -
    -

    -The next step, and we will define this mathematically later, is to set up the so-called design matrix. We will throughout call this matrix \( \boldsymbol{X} \). +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The next step, and we will define this mathematically later, is to set up the so-called design matrix. We will throughout call this matrix \( \boldsymbol{X} \). It has dimensionality \( p\times n \), where \( n \) is the number of data points and \( p \) are the so-called predictors. In our case here they are given by the number of polynomials in \( A \) we wish to include in the fit. -

    +

    -
    # Now we set up the design matrix X
    +
    +
    +
    +
    +
    +
    # Now we set up the design matrix X
     X = np.zeros((len(A),5))
     X[:,0] = 1
     X[:,1] = A
     X[:,2] = A**(2.0/3.0)
     X[:,3] = A**(-1.0/3.0)
     X[:,4] = A**(-1.0)
    -
    -

    -With scikitlearn we are now ready to use linear regression and fit our data. -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    With scikitlearn we are now ready to use linear regression and fit our data.

    -
    clf = skl.LinearRegression().fit(X, Energies)
    +
    +
    +
    +
    +
    +
    clf = skl.LinearRegression().fit(X, Energies)
     fity = clf.predict(X)
    -
    -

    -Pretty simple! +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Pretty simple! Now we can print measures of how our fit is doing, the coefficients from the fits and plot the final fit together with our data. -

    +

    -
    # The mean squared error                               
    +
    +
    +
    +
    +
    +
    # The mean squared error                               
     print("Mean squared error: %.2f" % mean_squared_error(Energies, fity))
     # Explained variance score: 1 is perfect prediction                                 
     print('Variance score: %.2f' % r2_score(Energies, fity))
    @@ -948,17 +1126,32 @@ ax.plot(Masses[
     ax.legend()
     save_fig("Masses2016")
     plt.show()
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    Seeing the wood for the trees

    -

    -As a teaser, let us now see how we can do this with decision trees using scikit-learn. Later we will switch to so-called random forests! +

    As a teaser, let us now see how we can do this with decision trees using scikit-learn. Later we will switch to so-called random forests!

    -

    -

    #Decision Tree Regression
    +
    +
    +
    +
    +
    +
    #Decision Tree Regression
     from sklearn.tree import DecisionTreeRegressor
     regr_1=DecisionTreeRegressor(max_depth=5)
     regr_2=DecisionTreeRegressor(max_depth=7)
    @@ -987,16 +1180,32 @@ save_fig("Masses2016Trees")
     plt.show()
     print(Masses)
     print(np.mean( (Energies-y_1)**2))
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    And what about using neural networks?

    - -The seaborn package allows us to visualize data in an efficient way. Note that we use scikit-learn's multi-layer perceptron (or feed forward neural network) +

    The seaborn package allows us to visualize data in an efficient way. Note that we use scikit-learn's multi-layer perceptron (or feed forward neural network) functionality. -

    +

    -
    from sklearn.neural_network import MLPRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.neural_network import MLPRegressor
     from sklearn.metrics import accuracy_score
     import seaborn as sns
     
    @@ -1025,23 +1234,34 @@ ax.set_title(&q
     ax.set_ylabel("$\eta$")
     ax.set_xlabel("$\lambda$")
     plt.show()
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    A first summary

    -

    -The aim behind these introductory words was to present to you various +

    The aim behind these introductory words was to present to you various Python libraries and their functionalities, in particular libraries like numpy, pandas, xarray and matplotlib and other that make our life much easier -in handling various data sets and visualizing data. +in handling various data sets and visualizing data. +

    -

    -Furthermore, +

    Furthermore, Scikit-Learn allows us with few lines of code to implement popular Machine Learning algorithms for supervised learning. Later we will meet Tensorflow, a powerful library for deep learning. Now it is time to dive more into the details of various methods. We will start with linear regression and try to take a deeper look at what it entails. +

    -

      @@ -1071,25 +1291,18 @@ Now it is time to dive more into the details of various methods. We will start w
    • »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs039.html b/doc/pub/week34/html/._week34-bs039.html index 38629b795..bfbed2761 100644 --- a/doc/pub/week34/html/._week34-bs039.html +++ b/doc/pub/week34/html/._week34-bs039.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Why Linear Regression (aka Ordinary Least Squares and family)

    -

    -Fitting a continuous function with linear parameterization in terms of the parameters \( \boldsymbol{\beta} \). - +

    Fitting a continuous function with linear parameterization in terms of the parameters \( \boldsymbol{\beta} \).

    • Method of choice for fitting a continuous function!
    • Gives an excellent introduction to central Machine Learning features with understandable pedagogical links to other methods like Neural Networks, Support Vector Machines etc
    • @@ -381,11 +367,10 @@ Fitting a continuous function with linear parameterization in terms of the param
    • Allows for easy hands-on understanding of gradient descent methods
    • and many more features
    - -For more discussions of Ridge and Lasso regression, Wessel van Wieringen's article is highly recommended. +

    For more discussions of Ridge and Lasso regression, Wessel van Wieringen's article is highly recommended. Similarly, Mehta et al's article is also recommended. +

    -

    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs040.html b/doc/pub/week34/html/._week34-bs040.html index f219f314b..aa803551e 100644 --- a/doc/pub/week34/html/._week34-bs040.html +++ b/doc/pub/week34/html/._week34-bs040.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Regression analysis, overarching aims

    -

    + -

    -Regression modeling deals with the description of the sampling distribution of a given random variable \( y \) and how it varies as function of another variable or a set of such variables \( \boldsymbol{x} =[x_0, x_1,\dots, x_{n-1}]^T \). -The first variable is called the dependent, the outcome or the response variable while the set of variables \( \boldsymbol{x} \) is called the independent variable, or the predictor variable or the explanatory variable. - -

    -A regression model aims at finding a likelihood function \( p(\boldsymbol{y}\vert \boldsymbol{x}) \), that is the conditional distribution for \( \boldsymbol{y} \) with a given \( \boldsymbol{x} \). The estimation of \( p(\boldsymbol{y}\vert \boldsymbol{x}) \) is made using a data set with +

    Regression modeling deals with the description of the sampling distribution of a given random variable \( y \) and how it varies as function of another variable or a set of such variables \( \boldsymbol{x} =[x_0, x_1,\dots, x_{n-1}]^T \). +The first variable is called the dependent, the outcome or the response variable while the set of variables \( \boldsymbol{x} \) is called the independent variable, or the predictor variable or the explanatory variable. +

    +

    A regression model aims at finding a likelihood function \( p(\boldsymbol{y}\vert \boldsymbol{x}) \), that is the conditional distribution for \( \boldsymbol{y} \) with a given \( \boldsymbol{x} \). The estimation of \( p(\boldsymbol{y}\vert \boldsymbol{x}) \) is made using a data set with

    • \( n \) cases \( i = 0, 1, 2, \dots, n-1 \)
    • Response (target, dependent or outcome) variable \( y_i \) with \( i = 0, 1, 2, \dots, n-1 \)
    • \( p \) so-called explanatory (independent or predictor) variables \( \boldsymbol{x}_i=[x_{i0}, x_{i1}, \dots, x_{ip-1}] \) with \( i = 0, 1, 2, \dots, n-1 \) and explanatory variables running from \( 0 \) to \( p-1 \). See below for more explicit examples.
    - - The goal of the regression analysis is to extract/exploit relationship between \( \boldsymbol{y} \) and \( \boldsymbol{x} \) in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things. +

    The goal of the regression analysis is to extract/exploit relationship between \( \boldsymbol{y} \) and \( \boldsymbol{x} \) in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things.

    -

      @@ -418,25 +402,18 @@ A regression model aims at finding a likelihood function \( p(\boldsymbol{y}\ver
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs041.html b/doc/pub/week34/html/._week34-bs041.html index c32d013fd..dac785e3f 100644 --- a/doc/pub/week34/html/._week34-bs041.html +++ b/doc/pub/week34/html/._week34-bs041.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Regression analysis, overarching aims II

    -

    + -

    -Consider an experiment in which \( p \) characteristics of \( n \) samples are +

    Consider an experiment in which \( p \) characteristics of \( n \) samples are measured. The data from this experiment, for various explanatory variables \( p \) are normally represented by a matrix \( \mathbf{X} \). +

    -

    -The matrix \( \mathbf{X} \) is called the design +

    The matrix \( \mathbf{X} \) is called the design matrix. Additional information of the samples is available in the form of \( \boldsymbol{y} \) (also as above). The variable \( \boldsymbol{y} \) is generally referred to as the response variable. The aim of @@ -386,17 +373,14 @@ f(\mathbf{X}_{i,\ast}) \). When no prior knowledge on the form of \( f(\cdot) \) is available, it is common to assume a linear relationship between \( \boldsymbol{X} \) and \( \boldsymbol{y} \). This assumption gives rise to the linear regression model where \( \boldsymbol{\beta} = [\beta_0, \ldots, -\beta_{p-1}]^{T} \) are the regression parameters. +\beta_{p-1}]^{T} \) are the regression parameters. +

    -

    -Linear regression gives us a set of analytical equations for the parameters \( \beta_j \). - -

    +

    Linear regression gives us a set of analytical equations for the parameters \( \beta_j \).

    -

      @@ -426,25 +410,18 @@ Linear regression gives us a set of analytical equations for the parameters \( \
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs042.html b/doc/pub/week34/html/._week34-bs042.html index 9b8aa7edf..bdfea39d0 100644 --- a/doc/pub/week34/html/._week34-bs042.html +++ b/doc/pub/week34/html/._week34-bs042.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Examples

    -

    -In order to understand the relation among the predictors \( p \), the set of data \( n \) and the target (outcome, output etc) \( \boldsymbol{y} \), -consider the model we discussed for describing nuclear binding energies. + +

    In order to understand the relation among the predictors \( p \), the set of data \( n \) and the target (outcome, output etc) \( \boldsymbol{y} \), +consider the model we discussed for describing nuclear binding energies. +

    -

    -There we assumed that we could parametrize the data using a polynomial approximation based on the liquid drop model. +

    There we assumed that we could parametrize the data using a polynomial approximation based on the liquid drop model. Assuming +

    $$ BE(A) = a_0+a_1A+a_2A^{2/3}+a_3A^{-1/3}+a_4A^{-1}, $$ -we have five predictors, that is the intercept, the \( A \) dependent term, the \( A^{2/3} \) term and the \( A^{-1/3} \) and \( A^{-1} \) terms. +

    we have five predictors, that is the intercept, the \( A \) dependent term, the \( A^{2/3} \) term and the \( A^{-1/3} \) and \( A^{-1} \) terms. This gives \( p=0,1,2,3,4 \). Furthermore we have \( n \) entries for each predictor. It means that our design matrix is a \( p\times n \) matrix \( \boldsymbol{X} \). +

    -

    -Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the -so-called credit card default data from Taiwan. The data set contains data on \( n=30000 \) credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are \( 24 \) such predictors or attributes leading to a design matrix of dimensionality \( 24 \times 30000 \). This is however a classification problem and we will come back to it when we discuss Logistic Regression. - -

    +

    Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the +so-called credit card default data from Taiwan. The data set contains data on \( n=30000 \) credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are \( 24 \) such predictors or attributes leading to a design matrix of dimensionality \( 24 \times 30000 \). This is however a classification problem and we will come back to it when we discuss Logistic Regression. +

    -

      @@ -422,25 +409,18 @@ so-called »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs043.html b/doc/pub/week34/html/._week34-bs043.html index 2e89cbcaf..b5347c89b 100644 --- a/doc/pub/week34/html/._week34-bs043.html +++ b/doc/pub/week34/html/._week34-bs043.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    General linear models

    -

    -Before we proceed let us study a case from linear algebra where we aim at fitting a set of data \( \boldsymbol{y}=[y_0,y_1,\dots,y_{n-1}] \). We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables \( \boldsymbol{x}=[x_0,x_1,\dots,x_{n-1}] \), that is \( y_i = y(x_i) \) with \( i=0,1,2,\dots,n-1 \). The variables \( x_i \) could represent physical quantities like time, temperature, position etc. We assume that \( y(x) \) is a smooth function. + +

    Before we proceed let us study a case from linear algebra where we aim at fitting a set of data \( \boldsymbol{y}=[y_0,y_1,\dots,y_{n-1}] \). We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables \( \boldsymbol{x}=[x_0,x_1,\dots,x_{n-1}] \), that is \( y_i = y(x_i) \) with \( i=0,1,2,\dots,n-1 \). The variables \( x_i \) could represent physical quantities like time, temperature, position etc. We assume that \( y(x) \) is a smooth function.

    -

    -Since obtaining these data points may not be trivial, we want to use these data to fit a function which can allow us to make predictions for values of \( y \) which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree \( n-1 \) with \( n \) points, that is +

    Since obtaining these data points may not be trivial, we want to use these data to fit a function which can allow us to make predictions for values of \( y \) which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree \( n-1 \) with \( n \) points, that is

    $$ y=y(x) \rightarrow y(x_i)=\tilde{y}_i+\epsilon_i=\sum_{j=0}^{n-1} \beta_j x_i^j+\epsilon_i, $$ -where \( \epsilon_i \) is the error in our approximation. - -

    +

    where \( \epsilon_i \) is the error in our approximation.

    -

      @@ -414,25 +398,18 @@ where \( \epsilon_i \) is the error in our approximation.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs044.html b/doc/pub/week34/html/._week34-bs044.html index 6fd784d16..f42350a19 100644 --- a/doc/pub/week34/html/._week34-bs044.html +++ b/doc/pub/week34/html/._week34-bs044.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Rewriting the fitting procedure as a linear algebra problem

    -

    -For every set of values \( y_i,x_i \) we have thus the corresponding set of equations + +

    For every set of values \( y_i,x_i \) we have thus the corresponding set of equations

    $$ \begin{align*} y_0&=\beta_0+\beta_1x_0^1+\beta_2x_0^2+\dots+\beta_{n-1}x_0^{n-1}+\epsilon_0\\ @@ -383,7 +371,6 @@ $$
    -

      @@ -413,25 +400,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs045.html b/doc/pub/week34/html/._week34-bs045.html index a59a14d5c..f1458b329 100644 --- a/doc/pub/week34/html/._week34-bs045.html +++ b/doc/pub/week34/html/._week34-bs045.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    Rewriting the fitting procedure as a linear algebra problem, more details

    -

    -Defining the vectors + +

    Defining the vectors

    $$ \boldsymbol{y} = [y_0,y_1, y_2,\dots, y_{n-1}]^T, $$ -and +

    and

    $$ \boldsymbol{\beta} = [\beta_0,\beta_1, \beta_2,\dots, \beta_{n-1}]^T, $$ -and +

    and

    $$ \boldsymbol{\epsilon} = [\epsilon_0,\epsilon_1, \epsilon_2,\dots, \epsilon_{n-1}]^T, $$ -and the design matrix +

    and the design matrix

    $$ \boldsymbol{X}= \begin{bmatrix} @@ -396,17 +384,16 @@ $$ \end{bmatrix} $$ -we can rewrite our equations as +

    we can rewrite our equations as

    $$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. $$ -The above design matrix is called a Vandermonde matrix. +

    The above design matrix is called a Vandermonde matrix.

    -

      @@ -436,25 +423,18 @@ The above design matrix is called a »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs046.html b/doc/pub/week34/html/._week34-bs046.html index 5b7e7f34e..554cc0651 100644 --- a/doc/pub/week34/html/._week34-bs046.html +++ b/doc/pub/week34/html/._week34-bs046.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Generalizing the fitting procedure as a linear algebra problem

    -

    + -

    -We are obviously not limited to the above polynomial expansions. We +

    We are obviously not limited to the above polynomial expansions. We could replace the various powers of \( x \) with elements of Fourier series or instead of \( x_i^j \) we could have \( \cos{(j x_i)} \) or \( \sin{(j x_i)} \), or time series or other orthogonal functions. For every set of values \( y_i,x_i \) we can then generalize the equations to +

    $$ \begin{align*} @@ -389,13 +377,12 @@ y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{ \end{align*} $$ -

    + Note that we have \( p=n \) here. The matrix is symmetric. This is generally not the case!

    -

      @@ -425,25 +412,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs047.html b/doc/pub/week34/html/._week34-bs047.html index 716a17993..01c7d0179 100644 --- a/doc/pub/week34/html/._week34-bs047.html +++ b/doc/pub/week34/html/._week34-bs047.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Generalizing the fitting procedure as a linear algebra problem

    -

    -We redefine in turn the matrix \( \boldsymbol{X} \) as + +

    We redefine in turn the matrix \( \boldsymbol{X} \) as

    $$ \boldsymbol{X}= \begin{bmatrix} @@ -381,17 +369,16 @@ x_{n-1,0}& x_{n-1,1} &x_{n-1,2}& \dots & \dots &x_{n-1,n-1}\\ \end{bmatrix} $$ -and without loss of generality we rewrite again our equations as +

    and without loss of generality we rewrite again our equations as

    $$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. $$ -The left-hand side of this equation is kwown. Our error vector \( \boldsymbol{\epsilon} \) and the parameter vector \( \boldsymbol{\beta} \) are our unknow quantities. How can we obtain the optimal set of \( \beta_i \) values? +

    The left-hand side of this equation is kwown. Our error vector \( \boldsymbol{\epsilon} \) and the parameter vector \( \boldsymbol{\beta} \) are our unknow quantities. How can we obtain the optimal set of \( \beta_i \) values?

    -

      @@ -421,25 +408,18 @@ The left-hand side of this equation is kwown. Our error vector \( \boldsymbol{\e
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs048.html b/doc/pub/week34/html/._week34-bs048.html index 85b77e0e5..81f4e8937 100644 --- a/doc/pub/week34/html/._week34-bs048.html +++ b/doc/pub/week34/html/._week34-bs048.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Optimizing our parameters

    -

    -We have defined the matrix \( \boldsymbol{X} \) via the equations + +

    We have defined the matrix \( \boldsymbol{X} \) via the equations

    $$ \begin{align*} y_0&=\beta_0x_{00}+\beta_1x_{01}+\beta_2x_{02}+\dots+\beta_{n-1}x_{0n-1}+\epsilon_0\\ @@ -382,17 +370,14 @@ y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{ \end{align*} $$ -

    -As we noted above, we stayed with a system with the design matrix +

    As we noted above, we stayed with a system with the design matrix \( \boldsymbol{X}\in {\mathbb{R}}^{n\times n} \), that is we have \( p=n \). For reasons to come later (algorithmic arguments) we will hereafter define our matrix as \( \boldsymbol{X}\in {\mathbb{R}}^{n\times p} \), with the predictors refering to the column numbers and the entries \( n \) being the row elements. - -

    +

    -

      @@ -422,25 +407,18 @@ our matrix as \( \boldsymbol{X}\in {\mathbb{R}}^{n\times p} \), with the predict
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs049.html b/doc/pub/week34/html/._week34-bs049.html index ee0cb5cc3..a2853801d 100644 --- a/doc/pub/week34/html/._week34-bs049.html +++ b/doc/pub/week34/html/._week34-bs049.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Our model for the nuclear binding energies

    -

    -In our introductory notes we looked at the so-called liquid drop model. Let us remind ourselves about what we did by looking at the code. +

    In our introductory notes we looked at the so-called liquid drop model. Let us remind ourselves about what we did by looking at the code.

    -

    -We restate the parts of the code we are most interested in. -

    +

    We restate the parts of the code we are most interested in.

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -444,16 +434,28 @@ DesignMatrix = pd.index = A
     DesignMatrix.columns = ['1', 'A', 'A^(2/3)', 'A^(-1/3)', '1/A']
     display(DesignMatrix)
    -
    -

    -With \( \boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1} \), it means that we will hereafter write our equations for the approximation as +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    With \( \boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1} \), it means that we will hereafter write our equations for the approximation as

    $$ \boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, $$ -throughout these lectures. +

    throughout these lectures.

    -

      @@ -483,25 +485,18 @@ throughout these lectures.
    • »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs050.html b/doc/pub/week34/html/._week34-bs050.html index ea8a5eaa4..c928b64f4 100644 --- a/doc/pub/week34/html/._week34-bs050.html +++ b/doc/pub/week34/html/._week34-bs050.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Optimizing our parameters, more details

    -

    -With the above we use the design matrix to define the approximation \( \boldsymbol{\tilde{y}} \) via the unknown quantity \( \boldsymbol{\beta} \) as + +

    With the above we use the design matrix to define the approximation \( \boldsymbol{\tilde{y}} \) via the unknown quantity \( \boldsymbol{\beta} \) as

    $$ \boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, $$ -and in order to find the optimal parameters \( \beta_i \) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \( y_i \) (which represent hopefully the exact values) and the parameterized values \( \tilde{y}_i \), namely +

    and in order to find the optimal parameters \( \beta_i \) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \( y_i \) (which represent hopefully the exact values) and the parameterized values \( \tilde{y}_i \), namely

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, $$ -or using the matrix \( \boldsymbol{X} \) and in a more compact matrix-vector notation as +

    or using the matrix \( \boldsymbol{X} \) and in a more compact matrix-vector notation as

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}. $$ -This function is one possible way to define the so-called cost function. +

    This function is one possible way to define the so-called cost function.

    -

    -It is also common to define +

    It is also common to define the function \( C \) as +

    $$ C(\boldsymbol{\beta})=\frac{1}{2n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2, $$ -since when taking the first derivative with respect to the unknown parameters \( \beta \), the factor of \( 2 \) cancels out. +

    since when taking the first derivative with respect to the unknown parameters \( \beta \), the factor of \( 2 \) cancels out.

    -

      @@ -429,25 +416,18 @@ since when taking the first derivative with respect to the unknown parameters \(
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs051.html b/doc/pub/week34/html/._week34-bs051.html index df9fedcd3..c63a221ca 100644 --- a/doc/pub/week34/html/._week34-bs051.html +++ b/doc/pub/week34/html/._week34-bs051.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Interpretations and optimizing our parameters

    -

    + -

    -The function +

    The function

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}, $$ -can be linked to the variance of the quantity \( y_i \) if we interpret the latter as the mean value. +

    can be linked to the variance of the quantity \( y_i \) if we interpret the latter as the mean value. When linking (see the discussion below) with the maximum likelihood approach below, we will indeed interpret \( y_i \) as a mean value +

    $$ y_{i}=\langle y_i \rangle = \beta_0x_{i,0}+\beta_1x_{i,1}+\beta_2x_{i,2}+\dots+\beta_{n-1}x_{i,n-1}+\epsilon_i, $$ -

    -where \( \langle y_i \rangle \) is the mean value. Keep in mind also that +

    where \( \langle y_i \rangle \) is the mean value. Keep in mind also that till now we have treated \( y_i \) as the exact value. Normally, the response (dependent or outcome) variable \( y_i \) the outcome of a numerical experiment or another type of experiment and is thus only an @@ -391,35 +378,32 @@ approximation to the true value. It is then always accompanied by an error estimate, often limited to a statistical error estimate given by the standard deviation discussed earlier. In the discussion here we will treat \( y_i \) as our exact value for the response variable. +

    -

    -In order to find the parameters \( \beta_i \) we will then minimize the spread of \( C(\boldsymbol{\beta}) \), that is we are going to solve the problem +

    In order to find the parameters \( \beta_i \) we will then minimize the spread of \( C(\boldsymbol{\beta}) \), that is we are going to solve the problem

    $$ {\displaystyle \min_{\boldsymbol{\beta}\in {\mathbb{R}}^{p}}}\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}. $$ -In practical terms it means we will require +

    In practical terms it means we will require

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)^2\right]=0, $$ -which results in +

    which results in

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_{ij}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)\right]=0, $$ -or in a matrix-vector form as +

    or in a matrix-vector form as

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right). $$ - -

    -

      @@ -449,25 +433,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs052.html b/doc/pub/week34/html/._week34-bs052.html index 9a2307409..ba5fc44ff 100644 --- a/doc/pub/week34/html/._week34-bs052.html +++ b/doc/pub/week34/html/._week34-bs052.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Interpretations and optimizing our parameters

    -

    -We can rewrite + +

    We can rewrite

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right), $$ -as +

    as

    $$ \boldsymbol{X}^T\boldsymbol{y} = \boldsymbol{X}^T\boldsymbol{X}\boldsymbol{\beta}, $$ -and if the matrix \( \boldsymbol{X}^T\boldsymbol{X} \) is invertible we have the solution +

    and if the matrix \( \boldsymbol{X}^T\boldsymbol{X} \) is invertible we have the solution

    $$ \boldsymbol{\beta} =\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -We note also that since our design matrix is defined as \( \boldsymbol{X}\in +

    We note also that since our design matrix is defined as \( \boldsymbol{X}\in {\mathbb{R}}^{n\times p} \), the product \( \boldsymbol{X}^T\boldsymbol{X} \in {\mathbb{R}}^{p\times p} \). In the above case we have that \( p \ll n \), in our case \( p=5 \) meaning that we end up with inverting a small @@ -394,21 +381,20 @@ matrices to invert. The methods discussed here and for many other supervised learning algorithms like classification with logistic regression or support vector machines, exhibit dimensionalities which allow for the usage of direct linear algebra methods such as LU decomposition or Singular Value Decomposition (SVD) for finding the inverse of the matrix -\( \boldsymbol{X}^T\boldsymbol{X} \). +\( \boldsymbol{X}^T\boldsymbol{X} \). +

    -

    -

    -Small question: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix \( \boldsymbol{X}^T\boldsymbol{X} \)? What kind of problems can we expect? + +

    Small question: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix \( \boldsymbol{X}^T\boldsymbol{X} \)? What kind of problems can we expect?

    -

      @@ -438,25 +424,18 @@ allow for the usage of direct linear algebra methods such as LU decomposi
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs053.html b/doc/pub/week34/html/._week34-bs053.html index a2df0c125..50e57ea0e 100644 --- a/doc/pub/week34/html/._week34-bs053.html +++ b/doc/pub/week34/html/._week34-bs053.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Some useful matrix and vector expressions

    -

    -The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and +

    The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and matrices as upper case boldfaced letters. +

    $$ \frac{\partial (\boldsymbol{b}^T\boldsymbol{a})}{\partial \boldsymbol{a}} = \boldsymbol{b}, @@ -416,25 +404,18 @@ $$
  • »
  • -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs054.html b/doc/pub/week34/html/._week34-bs054.html index 01d9fd676..2742315b5 100644 --- a/doc/pub/week34/html/._week34-bs054.html +++ b/doc/pub/week34/html/._week34-bs054.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Interpretations and optimizing our parameters

    -

    -The residuals \( \boldsymbol{\epsilon} \) are in turn given by + +

    The residuals \( \boldsymbol{\epsilon} \) are in turn given by

    $$ \boldsymbol{\epsilon} = \boldsymbol{y}-\boldsymbol{\tilde{y}} = \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}, $$ -and with +

    and with

    $$ \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, $$ -we have +

    we have

    $$ \boldsymbol{X}^T\boldsymbol{\epsilon}=\boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, $$ -meaning that the solution for \( \boldsymbol{\beta} \) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach. - -

    +

    meaning that the solution for \( \boldsymbol{\beta} \) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.

    -

    -Let us now return to our nuclear binding energies and simply code the above equations. +

    Let us now return to our nuclear binding energies and simply code the above equations.

    -

      @@ -424,25 +408,18 @@ Let us now return to our nuclear binding energies and simply code the above equa
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs055.html b/doc/pub/week34/html/._week34-bs055.html index c2cbb0de2..2e2e7e49f 100644 --- a/doc/pub/week34/html/._week34-bs055.html +++ b/doc/pub/week34/html/._week34-bs055.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Own code for Ordinary Least Squares

    -

    -It is rather straightforward to implement the matrix inversion and obtain the parameters \( \boldsymbol{\beta} \). After having defined the matrix \( \boldsymbol{X} \) we simply need to +

    It is rather straightforward to implement the matrix inversion and obtain the parameters \( \boldsymbol{\beta} \). After having defined the matrix \( \boldsymbol{X} \) we simply need to write -

    +

    -
    # matrix inversion to find beta
    +
    +
    +
    +
    +
    +
    # matrix inversion to find beta
     beta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(Energies)
     # and then make the prediction
     ytilde = X @ beta
    -
    -

    -Alternatively, you can use the least squares functionality in Numpy as -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Alternatively, you can use the least squares functionality in Numpy as

    -
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
    +
    +
    +
    +
    +
    +
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
     ytildenp = np.dot(fit,X.T)
    -
    -

    -And finally we plot our fit with and compare with data -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    And finally we plot our fit with and compare with data

    -
    Masses['Eapprox']  = ytilde
    +
    +
    +
    +
    +
    +
    Masses['Eapprox']  = ytilde
     # Generate a plot comparing the experimental with the fitted values values.
     fig, ax = plt.subplots()
     ax.set_xlabel(r'$A = N + Z$')
    @@ -403,8 +429,22 @@ ax.plot(Masses[
     ax.legend()
     save_fig("Masses2016OLS")
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -434,25 +474,18 @@ plt.show()
    • »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs056.html b/doc/pub/week34/html/._week34-bs056.html index 22aefbc89..ba562cbd3 100644 --- a/doc/pub/week34/html/._week34-bs056.html +++ b/doc/pub/week34/html/._week34-bs056.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Adding error analysis and training set up

    -

    -We can easily test our fit by computing the \( R2 \) score that we discussed in connection with the functionality of Scikit-Learn in the introductory slides. +

    We can easily test our fit by computing the \( R2 \) score that we discussed in connection with the functionality of Scikit-Learn in the introductory slides. Since we are not using Scikit-Learn here we can define our own \( R2 \) function as -

    +

    -
    def R2(y_data, y_model):
    +
    +
    +
    +
    +
    +
    def R2(y_data, y_model):
         return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)
    -
    -

    -and we would be using it as -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    and we would be using it as

    -
    print(R2(Energies,ytilde))
    -
    -

    -We can easily add our MSE score as -

    +

    +
    +
    +
    +
    +
    print(R2(Energies,ytilde))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    We can easily add our MSE score as

    -
    def MSE(y_data,y_model):
    +
    +
    +
    +
    +
    +
    def MSE(y_data,y_model):
         n = np.size(y_model)
         return np.sum((y_data-y_model)**2)/n
     
     print(MSE(Energies,ytilde))
    -
    -

    -and finally the relative error as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    and finally the relative error as

    -
    def RelativeError(y_data,y_model):
    +
    +
    +
    +
    +
    +
    def RelativeError(y_data,y_model):
         return abs((y_data-y_model)/y_data)
     print(RelativeError(Energies, ytilde))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -433,25 +490,18 @@ and finally the relative error as
    • »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs057.html b/doc/pub/week34/html/._week34-bs057.html index f1c4d9a28..090db4663 100644 --- a/doc/pub/week34/html/._week34-bs057.html +++ b/doc/pub/week34/html/._week34-bs057.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    The \( \chi^2 \) function

    -

    + -

    -Normally, the response (dependent or outcome) variable \( y_i \) is the +

    Normally, the response (dependent or outcome) variable \( y_i \) is the outcome of a numerical experiment or another type of experiment and is thus only an approximation to the true value. It is then always accompanied by an error estimate, often limited to a statistical error estimate given by the standard deviation discussed earlier. In the discussion here we will treat \( y_i \) as our exact value for the response variable. +

    -

    -Introducing the standard deviation \( \sigma_i \) for each measurement +

    Introducing the standard deviation \( \sigma_i \) for each measurement \( y_i \), we define now the \( \chi^2 \) function (omitting the \( 1/n \) term) as +

    $$ \chi^2(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\frac{\left(y_i-\tilde{y}_i\right)^2}{\sigma_i^2}=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\frac{1}{\boldsymbol{\Sigma^2}}\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, $$ -where the matrix \( \boldsymbol{\Sigma} \) is a diagonal matrix with \( \sigma_i \) as matrix elements. - -

    +

    where the matrix \( \boldsymbol{\Sigma} \) is a diagonal matrix with \( \sigma_i \) as matrix elements.

    -

      @@ -423,25 +408,18 @@ where the matrix \( \boldsymbol{\Sigma} \) is a diagonal matrix with \( \sigma_i
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs058.html b/doc/pub/week34/html/._week34-bs058.html index 687481d4c..4905d159c 100644 --- a/doc/pub/week34/html/._week34-bs058.html +++ b/doc/pub/week34/html/._week34-bs058.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    The \( \chi^2 \) function

    -

    + -

    -In order to find the parameters \( \beta_i \) we will then minimize the spread of \( \chi^2(\boldsymbol{\beta}) \) by requiring +

    In order to find the parameters \( \beta_i \) we will then minimize the spread of \( \chi^2(\boldsymbol{\beta}) \) by requiring

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)^2\right]=0, $$ -which results in +

    which results in

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}\frac{x_{ij}}{\sigma_i}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)\right]=0, $$ -or in a matrix-vector form as +

    or in a matrix-vector form as

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right). $$ -where we have defined the matrix \( \boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\Sigma} \) with matrix elements \( a_{ij} = x_{ij}/\sigma_i \) and the vector \( \boldsymbol{b} \) with elements \( b_i = y_i/\sigma_i \). +

    where we have defined the matrix \( \boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\Sigma} \) with matrix elements \( a_{ij} = x_{ij}/\sigma_i \) and the vector \( \boldsymbol{b} \) with elements \( b_i = y_i/\sigma_i \).

    -

      @@ -418,25 +404,18 @@ where we have defined the matrix \( \boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs059.html b/doc/pub/week34/html/._week34-bs059.html index 2d27878b7..ea546ff3f 100644 --- a/doc/pub/week34/html/._week34-bs059.html +++ b/doc/pub/week34/html/._week34-bs059.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    The \( \chi^2 \) function

    -

    + -

    -We can rewrite +

    We can rewrite

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right), $$ -as +

    as

    $$ \boldsymbol{A}^T\boldsymbol{b} = \boldsymbol{A}^T\boldsymbol{A}\boldsymbol{\beta}, $$ -and if the matrix \( \boldsymbol{A}^T\boldsymbol{A} \) is invertible we have the solution +

    and if the matrix \( \boldsymbol{A}^T\boldsymbol{A} \) is invertible we have the solution

    $$ \boldsymbol{\beta} =\left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}\boldsymbol{A}^T\boldsymbol{b}. $$ @@ -389,7 +376,6 @@ $$
    -

      @@ -415,25 +401,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs060.html b/doc/pub/week34/html/._week34-bs060.html index 89ed92a16..cf8f8636e 100644 --- a/doc/pub/week34/html/._week34-bs060.html +++ b/doc/pub/week34/html/._week34-bs060.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    The \( \chi^2 \) function

    -

    + -

    -If we then introduce the matrix +

    If we then introduce the matrix

    $$ \boldsymbol{H} = \left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}, $$ -we have then the following expression for the parameters \( \beta_j \) (the matrix elements of \( \boldsymbol{H} \) are \( h_{ij} \)) +

    we have then the following expression for the parameters \( \beta_j \) (the matrix elements of \( \boldsymbol{H} \) are \( h_{ij} \))

    $$ \beta_j = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}\frac{y_i}{\sigma_i}\frac{x_{ik}}{\sigma_i} = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}b_ia_{ik} $$ -We state without proof the expression for the uncertainty in the parameters \( \beta_j \) as (we leave this as an exercise) +

    We state without proof the expression for the uncertainty in the parameters \( \beta_j \) as (we leave this as an exercise)

    $$ \sigma^2(\beta_j) = \sum_{i=0}^{n-1}\sigma_i^2\left( \frac{\partial \beta_j}{\partial y_i}\right)^2, $$ -resulting in +

    resulting in

    $$ \sigma^2(\beta_j) = \left(\sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}a_{ik}\right)\left(\sum_{l=0}^{p-1}h_{jl}\sum_{m=0}^{n-1}a_{ml}\right) = h_{jj}! $$ @@ -394,7 +381,6 @@ $$
    -

      @@ -419,25 +405,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs061.html b/doc/pub/week34/html/._week34-bs061.html index a441e73aa..977c28b8e 100644 --- a/doc/pub/week34/html/._week34-bs061.html +++ b/doc/pub/week34/html/._week34-bs061.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    The \( \chi^2 \) function

    -

    -The first step here is to approximate the function \( y \) with a first-order polynomial, that is we write + +

    The first step here is to approximate the function \( y \) with a first-order polynomial, that is we write

    $$ y=y(x) \rightarrow y(x_i) \approx \beta_0+\beta_1 x_i. $$ -By computing the derivatives of \( \chi^2 \) with respect to \( \beta_0 \) and \( \beta_1 \) show that these are given by +

    By computing the derivatives of \( \chi^2 \) with respect to \( \beta_0 \) and \( \beta_1 \) show that these are given by

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_0} = -2\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0, $$ -and +

    and

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_1} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_i\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0. $$ @@ -387,7 +375,6 @@ $$
    -

      @@ -411,25 +398,18 @@ $$
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs062.html b/doc/pub/week34/html/._week34-bs062.html index 59eb611c3..ed6ff4c81 100644 --- a/doc/pub/week34/html/._week34-bs062.html +++ b/doc/pub/week34/html/._week34-bs062.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - -
    -
    -

     

     

     

    - -

    The \( \chi^2 \) function

    -

    + -

    -For a linear fit (a first-order polynomial) we don't need to invert a matrix!! +

    For a linear fit (a first-order polynomial) we don't need to invert a matrix!! Defining +

    $$ \gamma = \sum_{i=0}^{n-1}\frac{1}{\sigma_i^2}, $$ @@ -397,8 +385,7 @@ $$ \gamma_{xy} = \sum_{i=0}^{n-1}\frac{y_ix_{i}}{\sigma_i^2}, $$ -

    -we obtain +

    we obtain

    $$ \beta_0 = \frac{\gamma_{xx}\gamma_y-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}, @@ -409,18 +396,15 @@ $$ \beta_1 = \frac{\gamma_{xy}\gamma-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}. $$ -

    -This approach (different linear and non-linear regression) suffers +

    This approach (different linear and non-linear regression) suffers often from both being underdetermined and overdetermined in the unknown coefficients \( \beta_i \). A better approach is to use the Singular Value Decomposition (SVD) method discussed next week. - -

    +

    -

      @@ -443,25 +427,18 @@ Singular Value Decomposition (SVD) method discussed next week.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs063.html b/doc/pub/week34/html/._week34-bs063.html index 68d6518e8..b9fa86611 100644 --- a/doc/pub/week34/html/._week34-bs063.html +++ b/doc/pub/week34/html/._week34-bs063.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Fitting an Equation of State for Dense Nuclear Matter

    -

    -Before we continue, let us introduce yet another example. We are going to fit the +

    Before we continue, let us introduce yet another example. We are going to fit the nuclear equation of state using results from many-body calculations. The equation of state we have made available here, as function of density, has been derived using modern nucleon-nucleon potentials with the addition of three-body forces. This time the file is presented as a standard csv file. +

    -

    -The beginning of the Python code here is similar to what you have seen +

    The beginning of the Python code here is similar to what you have seen before, with the same initializations and declarations. We use also pandas again, rather extensively in order to organize our data. +

    -

    -The difference now is that we use Scikit-Learn's regression tools +

    The difference now is that we use Scikit-Learn's regression tools instead of our own matrix inversion implementation. Furthermore, we sneak in Ridge regression (to be discussed below) which includes a hyperparameter \( \lambda \), also to be explained below. +

    -

      @@ -409,25 +396,18 @@ hyperparameter \( \lambda \), also to be explained below.
    • »
    -
    - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs064.html b/doc/pub/week34/html/._week34-bs064.html index 5e17d02d8..fe2f6ba81 100644 --- a/doc/pub/week34/html/._week34-bs064.html +++ b/doc/pub/week34/html/._week34-bs064.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    The code

    -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import os
     import numpy as np
     import pandas as pd
    @@ -455,17 +447,30 @@ ax.plot(EoS[
     ax.legend()
     save_fig("EoSfitting")
     plt.show()
    -
    -

    -The above simple polynomial in density \( \rho \) gives an excellent fit -to the data. +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    -We note also that there is a small deviation between the +

    The above simple polynomial in density \( \rho \) gives an excellent fit +to the data. +

    + +

    We note also that there is a small deviation between the standard OLS and the Ridge regression at higher densities. We discuss this in more detail below. +

    -

      @@ -486,25 +491,18 @@ below.
    • »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs065.html b/doc/pub/week34/html/._week34-bs065.html index 1d03cd0e8..15c5fd644 100644 --- a/doc/pub/week34/html/._week34-bs065.html +++ b/doc/pub/week34/html/._week34-bs065.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Splitting our Data in Training and Test data

    -

    -It is normal in essentially all Machine Learning studies to split the +

    It is normal in essentially all Machine Learning studies to split the data in a training set and a test set (sometimes also an additional validation set). Scikit-Learn has an own function for this. There is no explicit recipe for how much data should be included as training @@ -378,11 +365,16 @@ postpone a discussion of this splitting to the end of these notes and our discussion of the so-called bias-variance tradeoff. Here we limit ourselves to repeat the above equation of state fitting example but now splitting the data into a training set and a test set. +

    -

    -

    import os
    +
    +
    +
    +
    +
    +
    import os
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -446,8 +438,22 @@ ypredict = X_test print(R2(y_test,ypredict))
     print("Test MSE")
     print(MSE(y_test,ypredict))
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

      @@ -467,25 +473,18 @@ ypredict = X_test »
    - - - -
    - - - diff --git a/doc/pub/week34/html/._week34-bs066.html b/doc/pub/week34/html/._week34-bs066.html index 931375977..3c0ddfddc 100644 --- a/doc/pub/week34/html/._week34-bs066.html +++ b/doc/pub/week34/html/._week34-bs066.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - -

    Exercises for week 35

    -Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1. +

    Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1.

    -

    -

    Exercise 1: Setting up various Python environments

    -

    -The first exercise here is of a mere technical art. We want you to have - +

    The first exercise here is of a mere technical art. We want you to have

    • git as a version control software and to establish a user account on a provider like GitHub. Other providers like GitLab etc are equally fine. You can also use the University of Oslo GitHub facilities.
    • Install various Python packages
    - -We will make extensive use of Python as programming language and its +

    We will make extensive use of Python as programming language and its myriad of available libraries. You will find IPython/Jupyter notebooks invaluable in your work. You can run R codes in the Jupyter/IPython notebooks, with the immediate benefit of visualizing your data. You can also use compiled languages like C++, Rust, Fortran etc if you prefer. The focus in these lectures will be on Python. +

    -

    -If you have Python installed (we recommend Python3) and you feel +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as +

    1. pip install numpy scipy matplotlib ipython scikit-learn sympy pandas pillow
    - -For Tensorflow, we recommend following the instructions in the text of +

    For Tensorflow, we recommend following the instructions in the text of Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly +

    -

    -We will come back to tensorflow later. +

    We will come back to tensorflow later.

    -

    -For Python3, replace pip with pip3. +

    For Python3, replace pip with pip3.

    -

    -For OSX users we recommend, after having installed Xcode, to +

    For OSX users we recommend, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, you can use pip as well and simply install Python as +

    1. sudo apt-get install python3 (or python for Python2.7)
    - -If you don't want to perform these operations separately and venture +

    If you don't want to perform these operations separately and venture into the hassle of exploring how to set up dependencies and paths, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +

    - -which is an open source +

    which is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda. +

    - -is a Python +

    is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +

    -

    -We recommend using Anaconda if you are not too familiar with setting paths in a terminal environment. +

    We recommend using Anaconda if you are not too familiar with setting paths in a terminal environment.

    -

    -

    -

    Exercise 2: making your own data and exploring scikit-learn

    -

    -We will generate our own dataset for a function \( y(x) \) where \( x \in [0,1] \) and defined by random numbers computed with the uniform distribution. The function \( y \) is a quadratic polynomial in \( x \) with added stochastic noise according to the normal distribution \( \cal {N}(0,1) \). +

    We will generate our own dataset for a function \( y(x) \) where \( x \in [0,1] \) and defined by random numbers computed with the uniform distribution. The function \( y \) is a quadratic polynomial in \( x \) with added stochastic noise according to the normal distribution \( \cal {N}(0,1) \). The following simple Python instructions define our \( x \) and \( y \) values (with 100 data points). -

    +

    -
    x = np.random.rand(100,1)
    +
    +
    +
    +
    +
    +
    x = np.random.rand(100,1)
     y = 2.0+5*x*x+0.1*np.random.randn(100,1)
    -
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +
    1. Write your own code (following the examples under the regression notes) for computing the parametrization of the data set fitting a second-order polynomial.
    2. Use thereafter scikit-learn (see again the examples in the regression slides) and compare with your own code.
    3. Using scikit-learn, compute also the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error defined as
    - $$ MSE(\boldsymbol{y},\boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, $$ -and the \( R^2 \) score function. +

    and the \( R^2 \) score function. If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as +

    $$ R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, $$ -where we have defined the mean value of \( \boldsymbol{y} \) as +

    where we have defined the mean value of \( \boldsymbol{y} \) as

    $$ \bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. $$ -You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. +

    You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. Discuss the meaning of these results. Try also to vary the coefficient in front of the added stochastic noise term and discuss the quality of the fits. +

    -

    - +

    +

    Solution. +

    -

    -The code here is an example of where we define our own design matrix and fit parameters \( \beta \). -

    +

    The code here is an example of where we define our own design matrix and fit parameters \( \beta \).

    -
    import os
    +
    +
    +
    +
    +
    +
    import os
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -548,31 +551,40 @@ ypredict = X_test print(R2(y_test,ypredict))
     print("Test MSE")
     print(MSE(y_test,ypredict))
    -
    -

    +

    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    -

    -

    -

    -

    Exercise 3: Normalizing our data

    -

    -A much used approach before starting to train the data is to preprocess our +

    A much used approach before starting to train the data is to preprocess our data. Normally the data may need a rescaling and/or may be sensitive to extreme values. Scaling the data renders our inputs much more suitable for the algorithms we want to employ. +

    -

    -Scikit-Learn has several functions which allow us to rescale the +

    Scikit-Learn has several functions which allow us to rescale the data, normally resulting in much better results in terms of various accuracy scores. The StandardScaler function in Scikit-Learn ensures that for each feature/predictor we study the mean value is @@ -581,18 +593,18 @@ matrix). This scaling has the drawback that it does not ensure that we have a particular maximum or minimum in our data set. Another function included in Scikit-Learn is the MinMaxScaler which ensures that all features are exactly between \( 0 \) and \( 1 \). The +

    -

    -The Normalizer scales each data +

    The Normalizer scales each data point such that the feature vector has a euclidean length of one. In other words, it projects a data point on the circle (or sphere in the case of higher dimensions) with a radius of 1. This means every data point is scaled by a different number (by the inverse of it’s length). This normalization is often used when only the direction (or angle) of the data matters, not the length of the feature vector. +

    -

    -The RobustScaler works similarly to the StandardScaler in that it +

    The RobustScaler works similarly to the StandardScaler in that it ensures statistical properties for each feature that guarantee that they are on the same scale. However, the RobustScaler uses the median and quartiles, instead of mean and variance. This makes the @@ -600,65 +612,127 @@ RobustScaler ignore data points that are very different from the rest (like measurement errors). These odd data points are also called outliers, and might often lead to trouble for other scaling techniques. +

    -

    -It also common to split the data in a training set and a testing set. A typical split is to use \( 80\% \) of the data for training and the rest +

    It also common to split the data in a training set and a testing set. A typical split is to use \( 80\% \) of the data for training and the rest for testing. This can be done as follows with our design matrix \( \boldsymbol{X} \) and data \( \boldsymbol{y} \) (remember to import scikit-learn) -

    +

    -
    # split in training and test data
    +
    +
    +
    +
    +
    +
    # split in training and test data
     X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
    -
    -

    -Then we can use the standard scaler to scale our data as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Then we can use the standard scaler to scale our data as

    -
    scaler = StandardScaler()
    +
    +
    +
    +
    +
    +
    scaler = StandardScaler()
     scaler.fit(X_train)
     X_train_scaled = scaler.transform(X_train)
     X_test_scaled = scaler.transform(X_test)
    -
    -

    -In this exercise we want you to to compute the MSE for the training +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In this exercise we want you to to compute the MSE for the training data and the test data as function of the complexity of a polynomial, -that is the degree of a given polynomial. We want you also to compute the \( R2 \) score as function of the complexity of the model for both training data and test data. You should also run the calculation with and without scaling. +that is the degree of a given polynomial. We want you also to compute the \( R2 \) score as function of the complexity of the model for both training data and test data. You should also run the calculation with and without scaling. +

    -

    -One of +

    One of the aims is to reproduce Figure 2.11 of Hastie et al. +

    -

    -Our data is defined by \( x\in [-3,3] \) with a total of for example \( 100 \) data points. -

    +

    Our data is defined by \( x\in [-3,3] \) with a total of for example \( 100 \) data points.

    -
    np.random.seed()
    +
    +
    +
    +
    +
    +
    np.random.seed()
     n = 100
     maxdegree = 14
     # Make data set.
     x = np.linspace(-3, 3, n).reshape(-1, 1)
     y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    -
    -

    -where \( y \) is the function we want to fit with a given polynomial. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + +

    where \( y \) is the function we want to fit with a given polynomial.

    + +

    a) Write a first code which sets up a design matrix \( X \) defined by a fifth-order polynomial. Scale your data and split it in training and test data. +

    + + +

    b) Perform an ordinary least squares and compute the means squared error and the \( R2 \) factor for the training data and the test data, with and without scaling. +

    + + +

    c) Add now a model which allows you to make polynomials up to degree \( 15 \). Perform a standard OLS fitting of the training data and compute the MSE and \( R2 \) for the training and test data and plot both test and training data MSE and \( R2 \) as functions of the polynomial degree. Compare what you see with Figure 2.11 of Hastie et al. Comment your results. For which polynomial degree do you find an optimal MSE (smallest value)? +

    + + -

    -

      @@ -676,25 +750,18 @@ Add now a model which allows you to make polynomials up to degree \( 15 \). Per
    • 67
    - - - -
    - - - diff --git a/doc/pub/week34/html/week34-bs.html b/doc/pub/week34/html/week34-bs.html index 743aee240..6c35019c1 100644 --- a/doc/pub/week34/html/week34-bs.html +++ b/doc/pub/week34/html/week34-bs.html @@ -1,6 +1,7 @@ @@ -8,24 +9,20 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - + - - - -
    -

     

     

     

    - - - -
    -

    Week 34: Introduction to the course, Logistics and Practicalities

    +
    +

    Week 34: Introduction to the course, Logistics and Practicalities

    +
    -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 13, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Oct 12, 2021

    -
    -

    Read »

    @@ -412,25 +400,18 @@ MathJax.Hub.Config({
  • »
  • -
    - - -
    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week34/html/week34-reveal.html b/doc/pub/week34/html/week34-reveal.html index 8b78adb7a..a4a4913c9 100644 --- a/doc/pub/week34/html/week34-reveal.html +++ b/doc/pub/week34/html/week34-reveal.html @@ -1,18 +1,17 @@ + - + + - Week 34: Introduction to the course, Logistics and Practicalities - - - - - - @@ -55,36 +54,81 @@ document.getElementsByTagName( 'head' )[0].appendChild( link ); - - - +
    +

    Week 34: Introduction to the course, Logistics and Practicalities

    +
    - - -

    Week 34: Introduction to the course, Logistics and Practicalities

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 13, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Oct 12, 2021

    -
    -











    -

    Overview of first week

    -

    -

    • Wednesday August 25: Introduction to software and repetition of Python Programming
    • Thursday August 26: First lecture: Presentation of the course, aims and content
    • @@ -322,59 +318,44 @@ MathJax.Hub.Config({
    -











    -

    Reading Recommendations

    -

    -For the reading assignments we use the following abbreviations: - +

    For the reading assignments we use the following abbreviations:

    • GBC: Goodfellow, Bengio, and Courville, Deep Learning
    • CMB: Christopher M. Bishop, Pattern Recognition and Machine Learning
    • HTF: Hastie, Tibshirani, and Friedman, The Elements of Statistical Learning
    • AG: Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow
    - -Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at https://compphysics.github.io/MachineLearning/doc/web/course.html +

    Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at https://compphysics.github.io/MachineLearning/doc/web/course.html

    -











    -

    Thursday August 26

    -

    -The lectures will be recorded and updated videos will be posted after the lectures. +

    The lectures will be recorded and updated videos will be posted after the lectures.

    -

    -"Video of Lecture August 26, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage +

    "Video of Lecture August 26, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage

    -

    -Zoom link for lectures: https://msu.zoom.us/j/93311529525?pwd=a1VXSzY4aTFWVy9Rb05mNDJTZ09lZz09 +

    Zoom link for lectures: https://msu.zoom.us/j/93311529525?pwd=a1VXSzY4aTFWVy9Rb05mNDJTZ09lZz09

    • Meeting ID: 933 1152 9525
    • Passcode: 646102
    +

    Video of Lecture from Fall Semester 2020.

    -Video of Lecture from Fall Semester 2020. - -











    -

    Lectures and ComputerLab

    -

    -

    • Lectures: Thursday (12.15pm-2pm and Friday (12.15pm-2pm).
    • Weekly reading assignments and videos needed to solve projects and exercises.
    • @@ -386,17 +367,12 @@ The lectures will be recorded and updated videos will be posted after the lectur
    -











    -

    Announcement

    -

    -NORA AI competetion: See the link here https://www.nora.ai/Competition/image-segmentation.html +

    NORA AI competetion: See the link here https://www.nora.ai/Competition/image-segmentation.html

    -











    -

    Communication channels

    -









    -

    Course Format

    -

    -

    • Three compulsory projects. Electronic reports only using Canvas to hand in projects and git as version control software and GitHub for repository (or GitLab) of all your material.
    • Evaluation and grading: The three projects are graded and each counts 1/3 of the final mark. No final written or oral exam. -
      1. For the last project each group/participant submits a proposal or works with suggested (by us) proposals for the project.
      2. If possible, we would like to organize the last project as a workshop where each group makes a poster and presents this to all other participants of the course
      3. Poster session where all participants can study and discuss the other proposals.
      4. Based on feedback etc, each group finalizes the report and submits for grading.
      -
    • Python is the default programming language, but feel free to use C/C++ and/or Fortran or other programming languages. All source codes discussed during the lectures can be found at the webpage and github address of the course.
    -











    -

    Teachers

    -

    -

    Teachers : -

    • Morten Hjorth-Jensen, morten.hjorth-jensen@fys.uio.no
    • -
      • Phone: +47-48257387
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ470
      • Office hours: Anytime! Individual or group office hours can be arranged either in person or via zoom. Feel free to send an email for planning.
      -
    • Øyvind Sigmundson Schøyen, oyvinssc@student.matnat.uio.no
    • -
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ452
      -
    • Stian Dysthe Bilek stian.bilek@fys.uio.no
    • -
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ450
      -
    • Linus Ekstrøm, linueks@gmail.com, linus.ekstrom@fys.uio.no
    • Nicholas Karlsen, nicholaskarlsen1102@gmail.com, nicholas.karlsen@fys.uio.no
    • Bendik Steinsvåg Dalen, b.s.dalen@fys.uio.no
    • @@ -472,57 +431,44 @@ The lectures will be recorded and updated videos will be posted after the lectur
    -











    -

    Deadlines for projects (tentative)

    -

    1. Project 1: October 11 (available September 10) graded with feedback)
    2. -
    3. Project 2: November 15 (available October 12, graded with feedback)
    4. -
    5. Project 3: December 13 (available November 8, graded with feedback)
    6. +
    7. Project 2: November 20 (available October 12, graded with feedback)
    8. +
    9. Project 3: December 17 (available November 13, graded with feedback)
    - -Projects are handed in using Canvas. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via Canvas. - - +

    Projects are handed in using Canvas. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via Canvas.

    -











    -

    1. The lecture notes are collected as a jupyter-book at https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/intro.html.
    - -In addition to the lecture notes, we recommend the books of Bishop and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these two texts. The text by Hastie et al is also widely used in the Machine Learning community. Finally, we also recommend the hands-on text by Geron, see below. +

    In addition to the lecture notes, we recommend the books of Bishop and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these two texts. The text by Hastie et al is also widely used in the Machine Learning community. Finally, we also recommend the hands-on text by Geron, see below.

    1. Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer, https://www.springer.com/gp/book/9780387310732.
    2. Ian Goodfellow, Yoshua Bengio, and Aaron Courville. The different chapters are available for free at https://www.deeplearningbook.org/. Chapters 2-14 are highly recommended. The lectures follow to a larg extent this text. The weekly plans will include reading suggestions from these two textbooks.
    - -Additional textbooks: +

    Additional textbooks:

    1. Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer, https://www.springer.com/gp/book/9780387848570. This is a well-known text and serves as additional literature.
    2. Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly, https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/. This text is very useful since it contains many code examples and hands-on applications of all algorithms discussed in this course.
    -









    -

    Prerequisites

    -

    -Basic knowledge in programming and mathematics, with an emphasis on +

    Basic knowledge in programming and mathematics, with an emphasis on linear algebra. Knowledge of Python or/and C++ as programming languages is strongly recommended and experience with Jupiter notebook is recommended. Required courses are the equivalents to the University @@ -531,19 +477,16 @@ of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1100. Most universities offer nowadays a basic programming course (often compulsory) where Python is the recurring programming language. +

    -











    -

    Learning outcomes

    -

    -

    -This course aims at giving you insights and knowledge about many of +

    This course aims at giving you insights and knowledge about many of the central algorithms used in Data Analysis and Machine Learning. The course is project based and through various numerical projects, normally three, you will be exposed to fundamental research problems @@ -556,6 +499,7 @@ Learning is applied to, get acquainted with computing facilities and learn to handle large scientific projects. A good scientific and ethical conduct is emphasized throughout the course. More specifically, after this course you will +

    • Learn about basic data analysis, statistical analysis, Bayesian statistics, Monte Carlo sampling, data optimization and machine learning;
    • @@ -572,29 +516,22 @@ specifically, after this course you will
    -











    -

    Topics covered in this course: Statistical analysis and optimization of data

    -

    -The course has two central parts +

    The course has two central parts

    1. Statistical analysis and optimization of data
    2. Machine learning
    +

    These topics will be scattered thorughout the course and may not necessarily be taught separately. Rather, we will often take an approach (during the lectures and project/exercise sessions) where say elements from statistical data analysis are mixed with specific Machine Learning algorithms

    -These topics will be scattered thorughout the course and may not necessarily be taught separately. Rather, we will often take an approach (during the lectures and project/exercise sessions) where say elements from statistical data analysis are mixed with specific Machine Learning algorithms - -

    Statistical analysis and optimization of data

    -

    -We plan to cover the following topics: - +

    We plan to cover the following topics:

    • Basic concepts, expectation values, variance, covariance, correlation functions and errors;
    • Simpler models, binomial distribution, the Poisson distribution, simple and multivariate normal distributions;
    • @@ -607,17 +544,13 @@ We plan to cover the following topics:
    -











    -

    Topics covered in this course: Machine Learning

    -

    -The following topics will be covered - +

    The following topics will be covered

    • Linear Regression and Logistic Regression;
    • Neural networks and deep learning, including convolutional and recurrent neural networks
    • @@ -627,23 +560,16 @@ The following topics will be covered
    • Boltzmann Machines
    • Unsupervised learning Dimensionality reduction, from PCA to clustering
    - -Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics. - - +

    Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics.

    -











    -

    -

    and discussed at the lab sessions

    -

    • GIT for version control, and GitHub or GitLab as repositories, highly recommended. This will be discussed during the first exercise session
    • Anaconda and other Python environments, see intro slides and links to programming resources at https://computationalscienceuio.github.io/RefreshProgrammingSkills/intro.html
    • @@ -651,13 +577,10 @@ Hands-on demonstrations, exercises and projects aim at deepening your understand
    -











    -

    Other courses on Data science and Machine Learning at UiO

    -

    -The link here https://www.mn.uio.no/english/research/about/centre-focus/innovation/data-science/studies/ gives an excellent overview of courses on Machine learning at UiO. +

    The link here https://www.mn.uio.no/english/research/about/centre-focus/innovation/data-science/studies/ gives an excellent overview of courses on Machine learning at UiO.

    1. STK2100 Machine learning and statistical methods for prediction and classification.
    2. @@ -672,18 +595,15 @@ The link here STK4051 Computational Statistics
    3. STK4021 Applied Bayesian Analysis and Numerical Methods
    -









    -

    Introduction

    -

    -Our emphasis throughout this series of lectures +

    Our emphasis throughout this series of lectures is on understanding the mathematical aspects of -different algorithms used in the fields of data analysis and machine learning. +different algorithms used in the fields of data analysis and machine learning. +

    -

    -However, where possible we will emphasize the +

    However, where possible we will emphasize the importance of using available software. We start thus with a hands-on and top-down approach to machine learning. The aim is thus to start with relevant data or data we have produced @@ -697,40 +617,38 @@ the data and predictions. We move thereafter to more interesting cases such as data from say experiments (below we will look at experimental nuclear binding energies as an example). These are examples where we can easily set up the data and then use machine learning algorithms included in for example -Scikit-Learn. +Scikit-Learn. +

    -

    -These examples will serve us the purpose of getting +

    These examples will serve us the purpose of getting started. Furthermore, they allow us to catch more than two birds with a stone. They will allow us to bring in some programming specific topics and tools as well as showing the power of various Python -libraries for machine learning and statistical data analysis. +libraries for machine learning and statistical data analysis. +

    -

    -Here, we will mainly focus on two +

    Here, we will mainly focus on two specific Python packages for Machine Learning, Scikit-Learn and Tensorflow (see below for links etc). Moreover, the examples we introduce will serve as inputs to many of our discussions later, as well as allowing you to set up models and produce your own data and get started with programming. +

    -











    -

    What is Machine Learning?

    -

    -Statistics, data science and machine learning form important fields of +

    Statistics, data science and machine learning form important fields of research in modern science. They describe how to learn and make predictions from data, as well as allowing us to extract important correlations about physical process and the underlying laws of motion in large data sets. The latter, big data sets, appear frequently in essentially all disciplines, from the traditional Science, Technology, Mathematics and Engineering fields to Life Science, Law, education -research, the Humanities and the Social Sciences. +research, the Humanities and the Social Sciences. +

    -

    -It has become more +

    It has become more and more common to see research projects on big data in for example the Social Sciences where extracting patterns from complicated survey data is one of many research directions. Having a solid grasp of data @@ -745,17 +663,17 @@ in the private or the public sector. This author has had several students or met students who have been hired recently based on their skills and competences in scientific computing and data science, often with marginal knowledge of machine learning. +

    -

    -Machine learning is a subfield of computer science, and is closely +

    Machine learning is a subfield of computer science, and is closely related to computational statistics. It evolved from the study of pattern recognition in artificial intelligence (AI) research, and has made contributions to AI tasks like computer vision, natural language processing and speech recognition. Many of the methods we will study are also -strongly rooted in basic mathematics and physics research. +strongly rooted in basic mathematics and physics research. +

    -

    -Ideally, machine learning represents the science of giving computers +

    Ideally, machine learning represents the science of giving computers the ability to learn without being explicitly programmed. The idea is that there exist generic algorithms which can be used to find patterns in a broad class of data sets without having to write code @@ -763,10 +681,10 @@ specifically for each problem. The algorithm will build its own logic based on the data. You should however always keep in mind that machines and algorithms are to a large extent developed by humans. The insights and knowledge we have about a specific system, play a central -role when we develop a specific machine learning algorithm. +role when we develop a specific machine learning algorithm. +

    -

    -Machine learning is an extremely rich field, in spite of its young +

    Machine learning is an extremely rich field, in spite of its young age. The increases we have seen during the last three decades in computational capabilities have been followed by developments of methods and techniques for analyzing and handling large date sets, @@ -786,14 +704,12 @@ solid command of linear algebra, multivariate theory, probability theory, statistical data analysis, understanding errors and Monte Carlo methods are central elements in a proper understanding of many of algorithms and methods we will discuss. +

    -











    -

    Types of Machine Learning

    -

    -The approaches to machine learning are many, but are often split into +

    The approaches to machine learning are many, but are often split into two main categories. In supervised learning we know the answer to a problem, and let the computer deduce the logic behind it. On the other hand, unsupervised learning is a method for finding patterns and @@ -802,49 +718,40 @@ Some authours also operate with a third category, namely reinforcement learning. This is a paradigm of learning inspired by behavioral psychology, where learning is achieved by trial-and-error, solely from rewards and punishment. +

    -

    -Another way to categorize machine learning tasks is to consider the +

    Another way to categorize machine learning tasks is to consider the desired output of a system. Some of the most common tasks are: +

    • Classification: Outputs are divided into two or more classes. The goal is to produce a model that assigns inputs into one of these classes. An example is to identify digits based on pictures of hand-written ones. Classification is typically supervised learning.
    • Regression: Finding a functional relationship between an input data set and a reference data set. The goal is to construct a function that maps input data to continuous output values.
    • Clustering: Data are divided into groups with certain common traits, without knowing the different groups beforehand. It is thus a form of unsupervised learning.
    -









    -

    Essential elements of ML

    -

    -The methods we cover have three main topics in common, irrespective of +

    The methods we cover have three main topics in common, irrespective of whether we deal with supervised or unsupervised learning. +

    -
    • The first ingredient is normally our data set (which can be subdivided into training, validation and test data). Many find the most difficult part of using Machine Learning to be the set up of your data in a meaningful way.
    • The second item is a model which is normally a function of some parameters. The model reflects our knowledge of the system (or lack thereof). As an example, if we know that our data show a behavior similar to what would be predicted by a polynomial, fitting our data to a polynomial of some degree would then determin our model.
    • The last ingredient is a so-called cost/loss function (or error or risk function) which allows us to present an estimate on how good our model is in reproducing the data it is supposed to train.
    - -











    -

    An optimization/minimization problem

    -

    -At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called gradient methods. +

    At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called gradient methods.

    -











    -

    A Frequentist approach to data analysis

    -

    -When you hear phrases like predictions and estimations and +

    When you hear phrases like predictions and estimations and correlations and causations, what do you think of? May be you think of the difference between classifying new data points and generating new data points. @@ -852,9 +759,9 @@ Or perhaps you consider that correlations represent some kind of symmetric state if \( A \) is correlated with \( B \), then \( B \) is correlated with \( A \). Causation on the other hand is directional, that is if \( A \) causes \( B \), \( B \) does not necessarily cause \( A \). +

    -

    -These concepts are in some sense the difference between machine +

    These concepts are in some sense the difference between machine learning and statistics. In machine learning and prediction based tasks, we are often interested in developing algorithms that are capable of learning patterns from given data in an automated fashion, @@ -863,51 +770,47 @@ assessments of newly given data. In many cases, our primary concern is the quality of the predictions or assessments, and we are less concerned about the underlying patterns that were learned in order to make these predictions. +

    -

    -In machine learning we normally use a so-called frequentist approach, +

    In machine learning we normally use a so-called frequentist approach, where the aim is to make predictions and find correlations. We focus less on for example extracting a probability distribution function (PDF). The PDF can be used in turn to make estimations and find causations such as given \( A \) what is the likelihood of finding \( B \). +

    -











    -

    What is a good model?

    -

    -In science and engineering we often end up in situations where we want to infer (or learn) a +

    In science and engineering we often end up in situations where we want to infer (or learn) a quantitative model \( M \) for a given set of sample points \( \boldsymbol{X} \in [x_1, x_2,\dots x_N] \). +

    -

    -As we will see repeatedely in these lectures, we could try to fit these data points to a model given by a +

    As we will see repeatedely in these lectures, we could try to fit these data points to a model given by a straight line, or if we wish to be more sophisticated to a more complex function. +

    -

    -The reason for inferring such a model is that it +

    The reason for inferring such a model is that it serves many useful purposes. On the one hand, the model can reveal information encoded in the data or underlying mechanisms from which the data were generated. For instance, we could discover important corelations that relate interesting physics interpretations. +

    -

    -In addition, it can simplify the representation of the given data set and help +

    In addition, it can simplify the representation of the given data set and help us in making predictions about future data samples. +

    -

    -A first important consideration to keep in mind is that inferring the correct model +

    A first important consideration to keep in mind is that inferring the correct model for a given data set is an elusive, if not impossible, task. The fundamental difficulty is that if we are not specific about what we mean by a correct model, there could easily be many different models that fit the given data set equally well. +

    -











    -

    What is a good model? Can we define it?

    -

    -The central question is this: what leads us to say that a model is correct or +

    The central question is this: what leads us to say that a model is correct or optimal for a given data set? To make the model inference problem well posed, i.e., to guarantee that there is a unique optimal model for the given data, we need to impose additional assumptions or restrictions on the class of models considered. To @@ -920,98 +823,90 @@ with the simplest possible class of models that is just necessary to describe th or solve the problem at hand. More precisely, the model class should be rich enough to contain at least one model that can fit the data to a desired accuracy and yet be restricted enough that it is relatively simple to find the best model for the given data. +

    -

    -Thus, the most popular strategy is to start from the +

    Thus, the most popular strategy is to start from the simplest class of models and increase the complexity of the models only when the simpler models become inadequate. For instance, if we work with a regression problem to fit a set of sample points, one may first try the simplest class of models, namely linear models, followed obviously by more complex models. +

    -

    -How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures. +

    How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures.

    -











    -

    Software and needed installations

    -

    -We will make extensive use of Python as programming language and its +

    We will make extensive use of Python as programming language and its myriad of available libraries. You will find Jupyter notebooks invaluable in your work. You can run R codes in the Jupyter/IPython notebooks, with the immediate benefit of visualizing your data. You can also use compiled languages like C++, Rust, Julia, Fortran etc if you prefer. The focus in these lectures will be on Python. +

    -

    -If you have Python installed (we strongly recommend Python3) and you feel +

    If you have Python installed (we strongly recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as +

    1. pip install numpy scipy matplotlib ipython scikit-learn mglearn sympy pandas pillow
    +

    For Python3, replace pip with pip3.

    -For Python3, replace pip with pip3. - -

    -For OSX users we recommend, after having installed Xcode, to +

    For OSX users we recommend, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, you can use pip as well and simply install Python as +

    1. sudo apt-get install python3 (or python for pyhton2.7)
    +

    etc etc.

    -etc etc. - -











    -

    Python installers

    -

    -If you don't want to perform these operations separately and venture +

    If you don't want to perform these operations separately and venture into the hassle of exploring how to set up dependencies and paths, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +

    - -which is an open source +

    which is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda. +

    - -is a Python +

    is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +

    -

    -Furthermore, Google's Colab is a free Jupyter notebook environment that requires +

    Furthermore, Google's Colab is a free Jupyter notebook environment that requires no setup and runs entirely in the cloud. Try it out! +

    -











    -

    Useful Python libraries

    -Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there) +

    Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there)

    • NumPy is a highly popular library for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays
    • @@ -1026,13 +921,10 @@ Here we list several useful Python libraries we strongly recommend (if you use a
    • Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano
    • And many more such as pytorch, Theano etc
    -









    -

    Installing R, C++, cython or Julia

    -

    -You will also find it convenient to utilize R. We will mainly +

    You will also find it convenient to utilize R. We will mainly use Python during our lectures and in various projects and exercises. Those of you already familiar with R should feel free to continue using R, keeping @@ -1042,25 +934,23 @@ notebook allows you to run R codes interactively in your browser. The software library R is really tailored for statistical data analysis and allows for an easy usage of the tools and algorithms we will discuss in these lectures. +

    -

    -To install R with Jupyter notebook +

    To install R with Jupyter notebook follow the link here +

    -











    -

    Installing R, C++, cython, Numba etc

    -

    -For the C++ aficionados, Jupyter/IPython notebook allows you also to +

    For the C++ aficionados, Jupyter/IPython notebook allows you also to install C++ and run codes written in this language interactively in the browser. Since we will emphasize writing many of the algorithms yourself, you can thus opt for either Python or C++ (or Fortran or other compiled languages) as programming languages. +

    -

    -To add more entropy, cython can also be used when running your +

    To add more entropy, cython can also be used when running your notebooks. It means that Python with the jupyter notebook setup allows you to integrate widely popular softwares and tools for scientific computing. Similarly, the @@ -1069,43 +959,56 @@ capabilities with minimal rewrites of your codes. With its versatility, including symbolic operations, Python offers a unique computational environment. Your jupyter notebook can easily be converted into a nicely rendered PDF file or a Latex file for -further processing. For example, convert to latex as +further processing. For example, convert to latex as +

    -

    - -

    pycod jupyter nbconvert filename.ipynb --to latex 
    -
    -

    -And to add more versatility, the Python package SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) and is entirely written in Python. + +

    +
    +
    +
    +
    +
    pycod jupyter nbconvert filename.ipynb --to latex 
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -

    -Finally, if you wish to use the light mark-up language +

    And to add more versatility, the Python package SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) and is entirely written in Python.

    + +

    Finally, if you wish to use the light mark-up language doconce you can convert a standard ascii text file into various HTML formats, ipython notebooks, latex files, pdf files etc with minimal edits. These lectures were generated using doconce. +

    -











    -

    Numpy examples and Important Matrix and vector handling packages

    -

    -There are several central software libraries for linear algebra and eigenvalue problems. Several of the more +

    There are several central software libraries for linear algebra and eigenvalue problems. Several of the more popular ones have been wrapped into ofter software packages like those from the widely used text Numerical Recipes. The original source codes in many of the available packages are often taken from the widely used software package LAPACK, which follows two other popular packages developed in the 1970s, namely EISPACK and LINPACK. We describe them shortly here. +

    • LINPACK: package for linear equations and least square problems.
    • LAPACK:package for solving symmetric, unsymmetric and generalized eigenvalue problems. From LAPACK's website http://www.netlib.org it is possible to download for free all source codes from this library. Both C/C++ and Fortran versions are available.
    • BLAS (I, II and III): (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. Blas I is vector operations, II vector-matrix operations and III matrix-matrix operations. Highly parallelized and efficient codes, all available for download from http://www.netlib.org.
    -









    -

    Basic Matrix Features

    -

    Matrix properties reminder

    @@ -1124,15 +1027,14 @@ $$ \end{bmatrix} $$ -

    -The inverse of a matrix is defined by +

    The inverse of a matrix is defined by

    $$ \mathbf{A}^{-1} \cdot \mathbf{A} = I $$ -

    - + +
    @@ -1144,13 +1046,10 @@ $$
    Relations Name matrix elements
    \( A=\left(A^{\dagger}\right )^{-1} \) unitary \( \sum_k a_{ik}a_{jk}^{ < em>}=\sum_k a_{ki}^{ < /em> } a_{kj}=\delta_{ij} \)
    -

    -











    -

    Some famous Matrices

      @@ -1164,16 +1063,13 @@ $$
    • Upper banded with bandwidth \( p \): \( a_{ij}=0 \) for \( i < j+p \)
    • Banded, block upper triangular, block lower triangular....
    -









    -

    More Basic Matrix Features

    -

    Some Equivalent Statements

    -For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all equivalent +

    For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all equivalent

    • If the inverse of \( \mathbf{A} \) exists, \( \mathbf{A} \) is nonsingular.
    • @@ -1186,167 +1082,408 @@ For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all
    -











    -

    Numpy and arrays

    -Numpy provides an easy way to handle arrays in Python. The standard way to import this library is as +

    Numpy provides an easy way to handle arrays in Python. The standard way to import this library is as

    -

    -

    import numpy as np
    -
    -

    -Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution, -

    +

    +
    +
    +
    +
    +
    import numpy as np
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution,

    -
    n = 10
    +
    +
    +
    +
    +
    +
    n = 10
     x = np.random.normal(size=n)
     print(x)
    -
    -

    -We defined a vector \( x \) with \( n=10 \) elements with its values given by the Normal distribution \( N(0,1) \). +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We defined a vector \( x \) with \( n=10 \) elements with its values given by the Normal distribution \( N(0,1) \). Another alternative is to declare a vector as follows -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.array([1, 2, 3])
     print(x)
    -
    -

    -Here we have defined a vector with three elements, with \( x_0=1 \), \( x_1=2 \) and \( x_2=3 \). Note that both Python and C++ +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Here we have defined a vector with three elements, with \( x_0=1 \), \( x_1=2 \) and \( x_2=3 \). Note that both Python and C++ start numbering array elements from \( 0 \) and on. This means that a vector with \( n \) elements has a sequence of entities \( x_0, x_1, x_2, \dots, x_{n-1} \). We could also let (recommended) Numpy to compute the logarithms of a specific array as -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4, 7, 8]))
     print(x)
    -
    -

    -In the last example we used Numpy's unary function \( np.log \). This function is +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In the last example we used Numpy's unary function \( np.log \). This function is highly tuned to compute array elements since the code is vectorized and does not require looping. We normaly recommend that you use the Numpy intrinsic functions instead of the corresponding log function from Python's math module. The looping is done explicitely by the np.log function. The alternative, and slower way to compute the logarithms of a vector would be to write +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     from math import log
     x = np.array([4, 7, 8])
     for i in range(0, len(x)):
         x[i] = log(x[i])
     print(x)
    -
    -

    -We note that our code is much longer already and we need to import the log function from the math module. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We note that our code is much longer already and we need to import the log function from the math module. The attentive reader will also notice that the output is \( [1, 1, 2] \). Python interprets automagically our numbers as integers (like the automatic keyword in C++). To change this we could define our array elements to be double precision numbers as -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4, 7, 8], dtype = np.float64))
     print(x)
    -
    -

    -or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4.0, 7.0, 8.0]))
     print(x)
    -
    -

    -To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the itemsize functionality (the array \( x \) is actually an object which inherits the functionalities defined in Numpy) as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the itemsize functionality (the array \( x \) is actually an object which inherits the functionalities defined in Numpy) as

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4.0, 7.0, 8.0]))
     print(x.itemsize)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    Matrices in Python

    -

    -Having defined vectors, we are now ready to try out matrices. We can +

    Having defined vectors, we are now ready to try out matrices. We can define a \( 3 \times 3 \) real matrix \( \boldsymbol{A} \) as (recall that we user lowercase letters for vectors and uppercase letters for matrices) +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     print(A)
    -
    -

    -If we use the shape function we would get \( (3, 3) \) as output, that is verifying that our matrix is a \( 3\times 3 \) matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    If we use the shape function we would get \( (3, 3) \) as output, that is verifying that our matrix is a \( 3\times 3 \) matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     # print the first column, row-major order and elements start with 0
     print(A[:,0]) 
    -
    -

    -We can continue this was by printing out other columns or rows. The example here prints out the second column -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We can continue this was by printing out other columns or rows. The example here prints out the second column

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     # print the first column, row-major order and elements start with 0
     print(A[1,:]) 
    -
    -

    -Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the Numpy website for more details. Useful functions when defining a matrix are the np.zeros function which declares a matrix of a given dimension and sets all elements to zero -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the Numpy website for more details. Useful functions when defining a matrix are the np.zeros function which declares a matrix of a given dimension and sets all elements to zero

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to zero
     A = np.zeros( (n, n) )
     print(A) 
    -
    -

    -or initializing all elements to -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or initializing all elements to

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to one
     A = np.ones( (n, n) )
     print(A) 
    -
    -

    -or as unitarily distributed random numbers (see the material on random number generators in the statistics part) -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or as unitarily distributed random numbers (see the material on random number generators in the statistics part)

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to random numbers with x \in [0, 1]
     A = np.random.rand(n, n)
     print(A) 
    -
    -

    -As we will see throughout these lectures, there are several extremely useful functionalities in Numpy. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    As we will see throughout these lectures, there are several extremely useful functionalities in Numpy. As an example, consider the discussion of the covariance matrix. Suppose we have defined three vectors \( \boldsymbol{x}, \boldsymbol{y}, \boldsymbol{z} \) with \( n \) elements each. The covariance matrix is defined as +

    $$ \boldsymbol{\Sigma} = \begin{bmatrix} \sigma_{xx} & \sigma_{xy} & \sigma_{xz} \\ \sigma_{yx} & \sigma_{yy} & \sigma_{yz} \\ @@ -1354,13 +1491,14 @@ $$ \end{bmatrix}, $$ -where for example +

    where for example

    $$ \sigma_{xy} =\frac{1}{n} \sum_{i=0}^{n-1}(x_i- \overline{x})(y_i- \overline{y}). $$ -The Numpy function np.cov calculates the covariance elements using the factor \( 1/(n-1) \) instead of \( 1/n \) since it assumes we do not have the exact mean values. +

    The Numpy function np.cov calculates the covariance elements using the factor \( 1/(n-1) \) instead of \( 1/n \) since it assumes we do not have the exact mean values. The following simple function uses the np.vstack function which takes each vector of dimension \( 1\times n \) and produces a \( 3\times n \) matrix \( \boldsymbol{W} \) +

    $$ \boldsymbol{W} = \begin{bmatrix} x_0 & x_1 & x_2 & \dots & x_{n-2} & x_{n-1} \\ y_0 & y_1 & y_2 & \dots & y_{n-2} & y_{n-1} \\ @@ -1368,17 +1506,21 @@ $$ \end{bmatrix}, $$ -

    -which in turn is converted into into the \( 3\times 3 \) covariance matrix +

    which in turn is converted into into the \( 3\times 3 \) covariance matrix \( \boldsymbol{\Sigma} \) via the Numpy function np.cov(). We note that we can also calculate the mean value of each set of samples \( \boldsymbol{x} \) etc using the Numpy function np.mean(x). We can also extract the eigenvalues of the covariance matrix through the np.linalg.eig() function. +

    -

    -

    # Importing various packages
    +
    +
    +
    +
    +
    +
    # Importing various packages
     import numpy as np
     
     n = 100
    @@ -1393,11 +1535,26 @@ Sigma = np.cov(W)
     print(Sigma)
     Eigvals, Eigvecs = np.linalg.eig(Sigma)
     print(Eigvals)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from scipy import sparse
     eye = np.eye(4)
    @@ -1408,30 +1565,49 @@ x = np.linspace(-10,'x')
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    Meet the Pandas

    -

    -



    +

    +
    +

    +
    +

    -

    -Another useful Python package is +

    Another useful Python package is pandas, which is an open source library providing high-performance, easy-to-use data structures and data analysis tools for Python. pandas stands for panel data, a term borrowed from econometrics and is an efficient library for data analysis with an emphasis on tabular data. pandas has two major classes, the DataFrame class with two-dimensional data objects and tabular data organized in columns and the class Series with a focus on one-dimensional data objects. Both classes allow you to index data easily as we will see in the examples below. -pandas allows you also to perform mathematical operations on the data, spanning from simple reshapings of vectors and matrices to statistical operations. +pandas allows you also to perform mathematical operations on the data, spanning from simple reshapings of vectors and matrices to statistical operations. +

    -

    -The following simple example shows how we can, in an easy way make tables of our data. Here we define a data set which includes names, place of birth and date of birth, and displays the data in an easy to read way. We will see repeated use of pandas, in particular in connection with classification of data. +

    The following simple example shows how we can, in an easy way make tables of our data. Here we define a data set which includes names, place of birth and date of birth, and displays the data in an easy to read way. We will see repeated use of pandas, in particular in connection with classification of data.

    -

    -

    import pandas as pd
    +
    +
    +
    +
    +
    +
    import pandas as pd
     from IPython.display import display
     data = {'First Name': ["Frodo", "Bilbo", "Aragorn II", "Samwise"],
             'Last Name': ["Baggins", "Baggins","Elessar","Gamgee"],
    @@ -1440,45 +1616,115 @@ data = {'First Name': [
    +    
    +
    +
    +
    +
    +
    +
    +
    + +

    In the above we have imported pandas with the shorthand pd, the latter has become the standard way we import pandas. We make then a list of various variables and reorganize the aboves lists into a DataFrame and then print out a neat table with specific column labels as Name, place of birth and date of birth. Displaying these results, we see that the indices are given by the default numbers from zero to three. pandas is extremely flexible and we can easily change the above indices by defining a new type of indexing as -

    +

    -
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
    +
    +
    +
    +
    +
    +
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
     display(data_pandas)
    -
    -

    -Thereafter we display the content of the row which begins with the index Aragorn -

    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    Thereafter we display the content of the row which begins with the index Aragorn

    -
    display(data_pandas.loc['Aragorn'])
    -
    -

    -We can easily append data to this, for example -

    +

    +
    +
    +
    +
    +
    display(data_pandas.loc['Aragorn'])
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    We can easily append data to this, for example

    -
    new_hobbit = {'First Name': ["Peregrin"],
    +
    +
    +
    +
    +
    +
    new_hobbit = {'First Name': ["Peregrin"],
                   'Last Name': ["Took"],
                   'Place of birth': ["Shire"],
                   'Date of Birth T.A.': [2990]
                   }
     data_pandas=data_pandas.append(pd.DataFrame(new_hobbit, index=['Pippin']))
     display(data_pandas)
    -
    -

    -Here are other examples where we use the DataFrame functionality to handle arrays, now with more interesting features for us, namely numbers. We set up a matrix +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Here are other examples where we use the DataFrame functionality to handle arrays, now with more interesting features for us, namely numbers. We set up a matrix of dimensionality \( 10\times 5 \) and compute the mean value and standard deviation of each column. Similarly, we can perform mathematial operations like squaring the matrix elements and many other operations. -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import pandas as pd
     from IPython.display import display
     np.random.seed(100)
    @@ -1491,13 +1737,30 @@ display(df)
     print(df.mean())
     print(df.std())
     display(df**2)
    -
    -

    -Thereafter we can select specific columns only and plot final results -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Thereafter we can select specific columns only and plot final results

    -
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
    +
    +
    +
    +
    +
    +
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
     df.index = np.arange(10)
     
     display(df)
    @@ -1515,49 +1778,71 @@ plt.show()
     
     df.plot.bar(figsize=(10,6), rot=15)
     plt.show()
    -
    -

    -We can produce a \( 4\times 4 \) matrix -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We can produce a \( 4\times 4 \) matrix

    -
    b = np.arange(16).reshape((4,4))
    +
    +
    +
    +
    +
    +
    b = np.arange(16).reshape((4,4))
     print(b)
     df1 = pd.DataFrame(b)
     print(df1)
    -
    -

    -and many other operations. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    -The Series class is another important class included in +

    and many other operations.

    + +

    The Series class is another important class included in pandas. You can view it as a specialization of DataFrame but where we have just a single column of data. It shares many of the same features as _DataFrame. As with DataFrame, most operations are vectorized, achieving thereby a high performance when dealing with computations of arrays, in particular labeled arrays. As we will see below it leads also to a very concice code close to the mathematical operations we may be interested in. -For multidimensional arrays, we recommend strongly xarray. xarray has much of the same flexibility as pandas, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both pandas and xarray. +For multidimensional arrays, we recommend strongly xarray. xarray has much of the same flexibility as pandas, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both pandas and xarray. +

    -











    -

    Friday August 27

    -

    -"Video of Lecture August 27, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage +

    "Video of Lecture August 27, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage

    -

    -Video of Lecture from fall 2020 and Handwritten notes +

    Video of Lecture from fall 2020 and Handwritten notes

    -











    +

    Simple linear regression model using scikit-learn

    -

    Simple linear regression model using scikit-learn

    +

    We start with perhaps our simplest possible example, using Scikit-Learn to perform linear regression analysis on a data set produced by us.

    -

    -We start with perhaps our simplest possible example, using Scikit-Learn to perform linear regression analysis on a data set produced by us. - -

    -What follows is a simple Python code where we have defined a function +

    What follows is a simple Python code where we have defined a function \( y \) in terms of the variable \( x \). Both are defined as vectors with \( 100 \) entries. The numbers in the vector \( \boldsymbol{x} \) are given by random numbers generated with a uniform distribution with entries @@ -1565,9 +1850,9 @@ by random numbers generated with a uniform distribution with entries later). These values are then used to define a function \( y(x) \) (tabulated again as a vector) with a linear dependence on \( x \) plus a random noise added via the normal distribution. +

    -

    -The Numpy functions are imported used the import numpy as np +

    The Numpy functions are imported used the import numpy as np statement and the random number generator for the uniform distribution is called using the function np.random.rand(), where we specificy that we want \( 100 \) random variables. Using Numpy we define @@ -1576,13 +1861,13 @@ our case. With the Numpy function randn() we can compute random numbers with the normal distribution (mean value \( \mu \) equal to zero and variance \( \sigma^2 \) set to one) and produce the values of \( y \) assuming a linear dependence as function of \( x \) +

    $$ y = 2x+N(0,1), $$ -

    -where \( N(0,1) \) represents random numbers generated by the normal +

    where \( N(0,1) \) represents random numbers generated by the normal distribution. From Scikit-Learn we import then the LinearRegression functionality and make a prediction \( \tilde{y} = \alpha + \beta x \) using the function fit(x,y). We call the set of @@ -1590,22 +1875,26 @@ data \( (\boldsymbol{x},\boldsymbol{y}) \) for our training data. The Python pac scikit-learn has also a functionality which extracts the above fitting parameters \( \alpha \) and \( \beta \) (see below). Later we will distinguish between training data and test data. +

    -

    -For plotting we use the Python package +

    For plotting we use the Python package matplotlib which produces publication quality figures. Feel free to explore the extensive gallery of examples. In this example we plot our original values of \( x \) and \( y \) as well as the prediction ypredict (\( \tilde{y} \)), which attempts at fitting our data with a straight line. +

    -

    -The Python code follows here. -

    +

    The Python code follows here.

    -
    # Importing various packages
    +
    +
    +
    +
    +
    +
    # Importing various packages
     import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.linear_model import LinearRegression
    @@ -1624,9 +1913,22 @@ plt.xlabel(r'$x$')
     plt.ylabel(r'$y$')
     plt.title(r'Simple Linear Regression')
     plt.show()
    -
    -

    -This example serves several aims. It allows us to demonstrate several +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    This example serves several aims. It allows us to demonstrate several aspects of data analysis and later machine learning algorithms. The immediate visualization shows that our linear fit is not impressive. It goes through the data points, but there are many @@ -1634,38 +1936,38 @@ outliers which are not reproduced by our linear regression. We could now play around with this small program and change for example the factor in front of \( x \) and the normal distribution. Try to change the function \( y \) to +

    $$ y = 10x+0.01 \times N(0,1), $$ -

    -where \( x \) is defined as before. Does the fit look better? Indeed, by +

    where \( x \) is defined as before. Does the fit look better? Indeed, by reducing the role of the noise given by the normal distribution we see immediately that our linear prediction seemingly reproduces better the training set. However, this testing 'by the eye' is obviouly not satisfactory in the long run. Here we have only defined the training data and our model, and have not discussed a more rigorous approach to the cost function. +

    -

    -We need more rigorous criteria in defining whether we have succeeded or +

    We need more rigorous criteria in defining whether we have succeeded or not in modeling our training data. You will be surprised to see that many scientists seldomly venture beyond this 'by the eye' approach. A standard approach for the cost function is the so-called \( \chi^2 \) function (a variant of the mean-squared error (MSE)) +

    $$ \chi^2 = \frac{1}{n} \sum_{i=0}^{n-1}\frac{(y_i-\tilde{y}_i)^2}{\sigma_i^2}, $$ -

    -where \( \sigma_i^2 \) is the variance (to be defined later) of the entry +

    where \( \sigma_i^2 \) is the variance (to be defined later) of the entry \( y_i \). We may not know the explicit value of \( \sigma_i^2 \), it serves however the aim of scaling the equations and make the cost function -dimensionless. +dimensionless. +

    -

    -Minimizing the cost function is a central aspect of +

    Minimizing the cost function is a central aspect of our discussions to come. Finding its minima as function of the model parameters (\( \alpha \) and \( \beta \) in our case) will be a recurring theme in these series of lectures. Essentially all machine learning @@ -1678,30 +1980,34 @@ employed are various variants of gradient methods. These will be discussed in more detail later. Again, you'll be surprised to hear that many practitioners minimize the above function ''by the eye', popularly dubbed as 'chi by the eye'. That is, change a parameter and see (visually and numerically) that -the \( \chi^2 \) function becomes smaller. +the \( \chi^2 \) function becomes smaller. +

    -

    -There are many ways to define the cost function. A simpler approach is to look at the relative difference between the training data and the predicted data, that is we define +

    There are many ways to define the cost function. A simpler approach is to look at the relative difference between the training data and the predicted data, that is we define the relative error (why would we prefer the MSE instead of the relative error?) as +

    $$ \epsilon_{\mathrm{relative}}= \frac{\vert \boldsymbol{y} -\boldsymbol{\tilde{y}}\vert}{\vert \boldsymbol{y}\vert}. $$ -

    -The squared cost function results in an arithmetic mean-unbiased +

    The squared cost function results in an arithmetic mean-unbiased estimator, and the absolute-value cost function results in a median-unbiased estimator (in the one-dimensional case, and a geometric median-unbiased estimator for the multi-dimensional case). The squared cost function has the disadvantage that it has the tendency to be dominated by outliers. +

    -

    -We can modify easily the above Python code and plot the relative error instead -

    +

    We can modify easily the above Python code and plot the relative error instead

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.linear_model import LinearRegression
     
    @@ -1717,26 +2023,44 @@ plt.xlabel(r'$x$')
     plt.ylabel(r'$\epsilon_{\mathrm{relative}}$')
     plt.title(r'Relative error')
     plt.show()
    -
    -

    -Depending on the parameter in front of the normal distribution, we may +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Depending on the parameter in front of the normal distribution, we may have a small or larger relative error. Try to play around with different training data sets and study (graphically) the value of the relative error. +

    -

    -As mentioned above, Scikit-Learn has an impressive functionality. +

    As mentioned above, Scikit-Learn has an impressive functionality. We can for example extract the values of \( \alpha \) and \( \beta \) and their error estimates, or the variance and standard deviation and many -other properties from the statistical data analysis. +other properties from the statistical data analysis. +

    -

    -Here we show an +

    Here we show an example of the functionality of Scikit-Learn. -

    +

    -
    import numpy as np 
    +
    +
    +
    +
    +
    +
    import numpy as np 
     import matplotlib.pyplot as plt 
     from sklearn.linear_model import LinearRegression 
     from sklearn.metrics import mean_squared_error, r2_score, mean_squared_log_error, mean_absolute_error
    @@ -1763,84 +2087,101 @@ plt.xlabel(r'$x$')
     plt.ylabel(r'$y$')
     plt.title(r'Linear Regression fit ')
     plt.show()
    -
    -

    -The function coef gives us the parameter \( \beta \) of our fit while intercept yields +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The function coef gives us the parameter \( \beta \) of our fit while intercept yields \( \alpha \). Depending on the constant in front of the normal distribution, we get values near or far from \( \alpha =2 \) and \( \beta =5 \). Try to play around with different parameters in front of the normal distribution. The function meansquarederror gives us the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error or loss defined as +

    $$ MSE(\boldsymbol{y},\boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, $$ -

    -The smaller the value, the better the fit. Ideally we would like to +

    The smaller the value, the better the fit. Ideally we would like to have an MSE equal zero. The attentive reader has probably recognized this function as being similar to the \( \chi^2 \) function defined above. +

    -

    -The r2score function computes \( R^2 \), the coefficient of +

    The r2score function computes \( R^2 \), the coefficient of determination. It provides a measure of how well future samples are likely to be predicted by the model. Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of \( \boldsymbol{y} \), disregarding the input features, would get a \( R^2 \) score of \( 0.0 \). +

    -

    -If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as +

    If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as

    $$ R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, $$ -where we have defined the mean value of \( \boldsymbol{y} \) as +

    where we have defined the mean value of \( \boldsymbol{y} \) as

    $$ \bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. $$ -Another quantity taht we will meet again in our discussions of regression analysis is +

    Another quantity taht we will meet again in our discussions of regression analysis is the mean absolute error (MAE), a risk metric corresponding to the expected value of the absolute error loss or what we call the \( l1 \)-norm loss. In our discussion above we presented the relative error. The MAE is defined as follows +

    $$ \text{MAE}(\boldsymbol{y}, \boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1} \left| y_i - \tilde{y}_i \right|. $$ -We present the +

    We present the squared logarithmic (quadratic) error +

    $$ \text{MSLE}(\boldsymbol{y}, \boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n - 1} (\log_e (1 + y_i) - \log_e (1 + \tilde{y}_i) )^2, $$ -

    -where \( \log_e (x) \) stands for the natural logarithm of \( x \). This error +

    where \( \log_e (x) \) stands for the natural logarithm of \( x \). This error estimate is best to use when targets having exponential growth, such as population counts, average sales of a commodity over a span of -years etc. +years etc. +

    -

    -Finally, another cost function is the Huber cost function used in robust regression. +

    Finally, another cost function is the Huber cost function used in robust regression.

    -

    -The rationale behind this possible cost function is its reduced +

    The rationale behind this possible cost function is its reduced sensitivity to outliers in the data set. In our discussions on dimensionality reduction and normalization of data we will meet other ways of dealing with outliers. +

    -

    -The Huber cost function is defined as +

    The Huber cost function is defined as

    $$ H_{\delta}(\boldsymbol{a})=\left\{\begin{array}{cc}\frac{1}{2} \boldsymbol{a}^{2}& \text{for }|\boldsymbol{a}|\leq \delta\\ \delta (|\boldsymbol{a}|-\frac{1}{2}\delta ),&\text{otherwise}.\end{array}\right. $$ -Here \( \boldsymbol{a}=\boldsymbol{y} - \boldsymbol{\tilde{y}} \). +

    Here \( \boldsymbol{a}=\boldsymbol{y} - \boldsymbol{\tilde{y}} \).

    -

    -We will discuss in more detail these and other functions in the +

    We will discuss in more detail these and other functions in the various lectures. We conclude this part with another example. Instead of a linear \( x \)-dependence we study now a cubic polynomial and use the polynomial regression analysis tools of scikit-learn. +

    -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     import random
     from sklearn.linear_model import Ridge
    @@ -1870,74 +2211,85 @@ plt.show()
         return abs(np.sum(err))/len(err)
     
     print (error(y))
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    To our real data: nuclear binding energies. Brief reminder on masses and binding energies

    -

    -Let us now dive into nuclear physics and remind ourselves briefly about some basic features about binding +

    Let us now dive into nuclear physics and remind ourselves briefly about some basic features about binding energies. A basic quantity which can be measured for the ground states of nuclei is the atomic mass \( M(N, Z) \) of the neutral atom with -atomic mass number \( A \) and charge \( Z \). The number of neutrons is \( N \). There are indeed several sophisticated experiments worldwide which allow us to measure this quantity to high precision (parts per million even). +atomic mass number \( A \) and charge \( Z \). The number of neutrons is \( N \). There are indeed several sophisticated experiments worldwide which allow us to measure this quantity to high precision (parts per million even). +

    -

    -Atomic masses are usually tabulated in terms of the mass excess defined by +

    Atomic masses are usually tabulated in terms of the mass excess defined by

    $$ \Delta M(N, Z) = M(N, Z) - uA, $$ -where \( u \) is the Atomic Mass Unit +

    where \( u \) is the Atomic Mass Unit

    $$ u = M(^{12}\mathrm{C})/12 = 931.4940954(57) \hspace{0.1cm} \mathrm{MeV}/c^2. $$ -The nucleon masses are +

    The nucleon masses are

    $$ m_p = 1.00727646693(9)u, $$ -and +

    and

    $$ m_n = 939.56536(8)\hspace{0.1cm} \mathrm{MeV}/c^2 = 1.0086649156(6)u. $$ -

    -In the 2016 mass evaluation of by W.J.Huang, G.Audi, M.Wang, F.G.Kondev, S.Naimi and X.Xu +

    In the 2016 mass evaluation of by W.J.Huang, G.Audi, M.Wang, F.G.Kondev, S.Naimi and X.Xu there are data on masses and decays of 3437 nuclei. +

    -

    -The nuclear binding energy is defined as the energy required to break +

    The nuclear binding energy is defined as the energy required to break up a given nucleus into its constituent parts of \( N \) neutrons and \( Z \) protons. In terms of the atomic masses \( M(N, Z) \) the binding energy is defined by +

    $$ BE(N, Z) = ZM_H c^2 + Nm_n c^2 - M(N, Z)c^2 , $$ -where \( M_H \) is the mass of the hydrogen atom and \( m_n \) is the mass of the neutron. +

    where \( M_H \) is the mass of the hydrogen atom and \( m_n \) is the mass of the neutron. In terms of the mass excess the binding energy is given by +

    $$ BE(N, Z) = Z\Delta_H c^2 + N\Delta_n c^2 -\Delta(N, Z)c^2 , $$ -where \( \Delta_H c^2 = 7.2890 \) MeV and \( \Delta_n c^2 = 8.0713 \) MeV. +

    where \( \Delta_H c^2 = 7.2890 \) MeV and \( \Delta_n c^2 = 8.0713 \) MeV.

    -

    -A popular and physically intuitive model which can be used to parametrize +

    A popular and physically intuitive model which can be used to parametrize the experimental binding energies as function of \( A \), is the so-called liquid drop model. The ansatz is based on the following expression +

    $$ BE(N,Z) = a_1A-a_2A^{2/3}-a_3\frac{Z^2}{A^{1/3}}-a_4\frac{(N-Z)^2}{A}, $$ -

    -where \( A \) stands for the number of nucleons and the $a_i$s are parameters which are determined by a fit -to the experimental data. +

    where \( A \) stands for the number of nucleons and the $a_i$s are parameters which are determined by a fit +to the experimental data. +

    -

    -To arrive at the above expression we have assumed that we can make the following assumptions: +

    To arrive at the above expression we have assumed that we can make the following assumptions:

    • There is a volume term \( a_1A \) proportional with the number of nucleons (the energy is also an extensive quantity). When an assembly of nucleons of the same size is packed together into the smallest volume, each interior nucleon has a certain number of other nucleons in contact with it. This contribution is proportional to the volume.
    • @@ -1945,24 +2297,26 @@ To arrive at the above expression we have assumed that we can make the following
    • There is a Coulomb energy term \( a_3\frac{Z^2}{A^{1/3}} \). The electric repulsion between each pair of protons in a nucleus yields less binding.
    • There is an asymmetry term \( a_4\frac{(N-Z)^2}{A} \). This term is associated with the Pauli exclusion principle and reflects the fact that the proton-neutron interaction is more attractive on the average than the neutron-neutron and proton-proton interactions.
    - -We could also add a so-called pairing term, which is a correction term that +

    We could also add a so-called pairing term, which is a correction term that arises from the tendency of proton pairs and neutron pairs to -occur. An even number of particles is more stable than an odd number. - +occur. An even number of particles is more stable than an odd number. +

    Organizing our data

    -

    -Let us start with reading and organizing our data. +

    Let us start with reading and organizing our data. We start with the compilation of masses and binding energies from 2016. After having downloaded this file to our own computer, we are now ready to read the file and start structuring our data. +

    -

    -We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of scikit-learn. -

    +

    We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of scikit-learn.

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -1995,13 +2349,30 @@ DATA_ID = "DataFiles/"
         plt.savefig(image_path(fig_id) + ".png", format='png')
     
     infile = open(data_path("MassEval2016.dat"),'r')
    -
    -

    -Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various matplotlib commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function. -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various matplotlib commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function.

    -
    from pylab import plt, mpl
    +
    +
    +
    +
    +
    +
    from pylab import plt, mpl
     plt.style.use('seaborn')
     mpl.rcParams['font.family'] = 'serif'
     
    @@ -2012,20 +2383,37 @@ mpl.rcParams['font.family'] = 0])
             plt.ylabel(axlabels[1])
         plt.legend(loc=0)
    -
    -

    -Our next step is to read the data on experimental binding energies and +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Our next step is to read the data on experimental binding energies and reorganize them as functions of the mass number \( A \), the number of protons \( Z \) and neutrons \( N \) using pandas. Before we do this it is always useful (unless you have a binary file or other types of compressed data) to actually open the file and simply take a look at it! +

    -

    -In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with pandas. The file begins with some basic format information. -

    +

    In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with pandas. The file begins with some basic format information.

    -
    """                                                                                                                         
    +
    +
    +
    +
    +
    +
    """                                                                                                                         
     This is taken from the data file of the mass 2016 evaluation.                                                               
     All files are 3436 lines long with 124 character per line.                                                                  
            Headers are 39 lines long.                                                                                           
    @@ -2035,17 +2423,35 @@ In particular, the program that outputs the final nuclear masses is written in F
        widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),                                                            
        Pandas has also a variable header, with length 39 in this case.                                                          
     """
    -
    -

    -The data we are interested in are in columns 2, 3, 4 and 11, giving us +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The data we are interested in are in columns 2, 3, 4 and 11, giving us the number of neutrons, protons, mass numbers and binding energies, respectively. We add also for the sake of completeness the element name. The data are in fixed-width formatted lines and we will covert them into the pandas DataFrame structure. +

    -

    -

    # Read the experimental data with Pandas
    +
    +
    +
    +
    +
    +
    # Read the experimental data with Pandas
     Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),
                   names=('N', 'Z', 'A', 'Element', 'Ebinding'),
                   widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),
    @@ -2063,58 +2469,129 @@ Masses['Ebinding'] /= 'A')
     # Find the rows of the grouped DataFrame with the maximum binding energy.
     Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])
    -
    -

    -We have now read in the data, grouped them according to the variables we are interested in. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We have now read in the data, grouped them according to the variables we are interested in. We see how easy it is to reorganize the data using pandas. If we were to do these operations in C/C++ or Fortran, we would have had to write various functions/subroutines which perform the above reorganizations for us. Having reorganized the data, we can now start to make some simple fits using both the functionalities in numpy and -Scikit-Learn afterwards. +Scikit-Learn afterwards. +

    -

    -Now we define five variables which contain +

    Now we define five variables which contain the number of nucleons \( A \), the number of protons \( Z \) and the number of neutrons \( N \), the element name and finally the energies themselves. -

    +

    -
    A = Masses['A']
    +
    +
    +
    +
    +
    +
    A = Masses['A']
     Z = Masses['Z']
     N = Masses['N']
     Element = Masses['Element']
     Energies = Masses['Ebinding']
     print(Masses)
    -
    -

    -The next step, and we will define this mathematically later, is to set up the so-called design matrix. We will throughout call this matrix \( \boldsymbol{X} \). +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The next step, and we will define this mathematically later, is to set up the so-called design matrix. We will throughout call this matrix \( \boldsymbol{X} \). It has dimensionality \( p\times n \), where \( n \) is the number of data points and \( p \) are the so-called predictors. In our case here they are given by the number of polynomials in \( A \) we wish to include in the fit. -

    +

    -
    # Now we set up the design matrix X
    +
    +
    +
    +
    +
    +
    # Now we set up the design matrix X
     X = np.zeros((len(A),5))
     X[:,0] = 1
     X[:,1] = A
     X[:,2] = A**(2.0/3.0)
     X[:,3] = A**(-1.0/3.0)
     X[:,4] = A**(-1.0)
    -
    -

    -With scikitlearn we are now ready to use linear regression and fit our data. -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    With scikitlearn we are now ready to use linear regression and fit our data.

    -
    clf = skl.LinearRegression().fit(X, Energies)
    +
    +
    +
    +
    +
    +
    clf = skl.LinearRegression().fit(X, Energies)
     fity = clf.predict(X)
    -
    -

    -Pretty simple! +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Pretty simple! Now we can print measures of how our fit is doing, the coefficients from the fits and plot the final fit together with our data. -

    +

    -
    # The mean squared error                               
    +
    +
    +
    +
    +
    +
    # The mean squared error                               
     print("Mean squared error: %.2f" % mean_squared_error(Energies, fity))
     # Explained variance score: 1 is perfect prediction                                 
     print('Variance score: %.2f' % r2_score(Energies, fity))
    @@ -2134,17 +2611,32 @@ ax.plot(Masses['A'], Masses["Masses2016")
     plt.show()
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    Seeing the wood for the trees

    -

    -As a teaser, let us now see how we can do this with decision trees using scikit-learn. Later we will switch to so-called random forests! +

    As a teaser, let us now see how we can do this with decision trees using scikit-learn. Later we will switch to so-called random forests!

    -

    -

    #Decision Tree Regression
    +
    +
    +
    +
    +
    +
    #Decision Tree Regression
     from sklearn.tree import DecisionTreeRegressor
     regr_1=DecisionTreeRegressor(max_depth=5)
     regr_2=DecisionTreeRegressor(max_depth=7)
    @@ -2173,16 +2665,32 @@ save_fig("Masses2016Trees")
     plt.show()
     print(Masses)
     print(np.mean( (Energies-y_1)**2))
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    And what about using neural networks?

    - -The seaborn package allows us to visualize data in an efficient way. Note that we use scikit-learn's multi-layer perceptron (or feed forward neural network) +

    The seaborn package allows us to visualize data in an efficient way. Note that we use scikit-learn's multi-layer perceptron (or feed forward neural network) functionality. -

    +

    -
    from sklearn.neural_network import MLPRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.neural_network import MLPRegressor
     from sklearn.metrics import accuracy_score
     import seaborn as sns
     
    @@ -2211,30 +2719,38 @@ ax.set_title("Training Accuracy")
     ax.set_ylabel("$\eta$")
     ax.set_xlabel("$\lambda$")
     plt.show()
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    A first summary

    -

    -The aim behind these introductory words was to present to you various +

    The aim behind these introductory words was to present to you various Python libraries and their functionalities, in particular libraries like numpy, pandas, xarray and matplotlib and other that make our life much easier -in handling various data sets and visualizing data. +in handling various data sets and visualizing data. +

    -

    -Furthermore, +

    Furthermore, Scikit-Learn allows us with few lines of code to implement popular Machine Learning algorithms for supervised learning. Later we will meet Tensorflow, a powerful library for deep learning. Now it is time to dive more into the details of various methods. We will start with linear regression and try to take a deeper look at what it entails. +

    -











    -

    Why Linear Regression (aka Ordinary Least Squares and family)

    -

    -Fitting a continuous function with linear parameterization in terms of the parameters \( \boldsymbol{\beta} \). - +

    Fitting a continuous function with linear parameterization in terms of the parameters \( \boldsymbol{\beta} \).

    • Method of choice for fitting a continuous function!
    • Gives an excellent introduction to central Machine Learning features with understandable pedagogical links to other methods like Neural Networks, Support Vector Machines etc
    • @@ -2246,50 +2762,42 @@ Fitting a continuous function with linear parameterization in terms of the param
    • Allows for easy hands-on understanding of gradient descent methods
    • and many more features
    - -For more discussions of Ridge and Lasso regression, Wessel van Wieringen's article is highly recommended. +

    For more discussions of Ridge and Lasso regression, Wessel van Wieringen's article is highly recommended. Similarly, Mehta et al's article is also recommended. +

    -











    -

    Regression analysis, overarching aims

    -

    -Regression modeling deals with the description of the sampling distribution of a given random variable \( y \) and how it varies as function of another variable or a set of such variables \( \boldsymbol{x} =[x_0, x_1,\dots, x_{n-1}]^T \). -The first variable is called the dependent, the outcome or the response variable while the set of variables \( \boldsymbol{x} \) is called the independent variable, or the predictor variable or the explanatory variable. - -

    -A regression model aims at finding a likelihood function \( p(\boldsymbol{y}\vert \boldsymbol{x}) \), that is the conditional distribution for \( \boldsymbol{y} \) with a given \( \boldsymbol{x} \). The estimation of \( p(\boldsymbol{y}\vert \boldsymbol{x}) \) is made using a data set with +

    Regression modeling deals with the description of the sampling distribution of a given random variable \( y \) and how it varies as function of another variable or a set of such variables \( \boldsymbol{x} =[x_0, x_1,\dots, x_{n-1}]^T \). +The first variable is called the dependent, the outcome or the response variable while the set of variables \( \boldsymbol{x} \) is called the independent variable, or the predictor variable or the explanatory variable. +

    +

    A regression model aims at finding a likelihood function \( p(\boldsymbol{y}\vert \boldsymbol{x}) \), that is the conditional distribution for \( \boldsymbol{y} \) with a given \( \boldsymbol{x} \). The estimation of \( p(\boldsymbol{y}\vert \boldsymbol{x}) \) is made using a data set with

    • \( n \) cases \( i = 0, 1, 2, \dots, n-1 \)
    • Response (target, dependent or outcome) variable \( y_i \) with \( i = 0, 1, 2, \dots, n-1 \)
    • \( p \) so-called explanatory (independent or predictor) variables \( \boldsymbol{x}_i=[x_{i0}, x_{i1}, \dots, x_{ip-1}] \) with \( i = 0, 1, 2, \dots, n-1 \) and explanatory variables running from \( 0 \) to \( p-1 \). See below for more explicit examples.
    - - The goal of the regression analysis is to extract/exploit relationship between \( \boldsymbol{y} \) and \( \boldsymbol{x} \) in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things. +

    The goal of the regression analysis is to extract/exploit relationship between \( \boldsymbol{y} \) and \( \boldsymbol{x} \) in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things.

    -











    -

    Regression analysis, overarching aims II

    -

    -Consider an experiment in which \( p \) characteristics of \( n \) samples are +

    Consider an experiment in which \( p \) characteristics of \( n \) samples are measured. The data from this experiment, for various explanatory variables \( p \) are normally represented by a matrix \( \mathbf{X} \). +

    -

    -The matrix \( \mathbf{X} \) is called the design +

    The matrix \( \mathbf{X} \) is called the design matrix. Additional information of the samples is available in the form of \( \boldsymbol{y} \) (also as above). The variable \( \boldsymbol{y} \) is generally referred to as the response variable. The aim of @@ -2299,73 +2807,62 @@ f(\mathbf{X}_{i,\ast}) \). When no prior knowledge on the form of \( f(\cdot) \) is available, it is common to assume a linear relationship between \( \boldsymbol{X} \) and \( \boldsymbol{y} \). This assumption gives rise to the linear regression model where \( \boldsymbol{\beta} = [\beta_0, \ldots, -\beta_{p-1}]^{T} \) are the regression parameters. - -

    -Linear regression gives us a set of analytical equations for the parameters \( \beta_j \). - +\beta_{p-1}]^{T} \) are the regression parameters. +

    +

    Linear regression gives us a set of analytical equations for the parameters \( \beta_j \).

    -











    -

    Examples

    -In order to understand the relation among the predictors \( p \), the set of data \( n \) and the target (outcome, output etc) \( \boldsymbol{y} \), -consider the model we discussed for describing nuclear binding energies. +

    In order to understand the relation among the predictors \( p \), the set of data \( n \) and the target (outcome, output etc) \( \boldsymbol{y} \), +consider the model we discussed for describing nuclear binding energies. +

    -

    -There we assumed that we could parametrize the data using a polynomial approximation based on the liquid drop model. +

    There we assumed that we could parametrize the data using a polynomial approximation based on the liquid drop model. Assuming +

    $$ BE(A) = a_0+a_1A+a_2A^{2/3}+a_3A^{-1/3}+a_4A^{-1}, $$ -we have five predictors, that is the intercept, the \( A \) dependent term, the \( A^{2/3} \) term and the \( A^{-1/3} \) and \( A^{-1} \) terms. +

    we have five predictors, that is the intercept, the \( A \) dependent term, the \( A^{2/3} \) term and the \( A^{-1/3} \) and \( A^{-1} \) terms. This gives \( p=0,1,2,3,4 \). Furthermore we have \( n \) entries for each predictor. It means that our design matrix is a \( p\times n \) matrix \( \boldsymbol{X} \). +

    -

    -Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the -so-called credit card default data from Taiwan. The data set contains data on \( n=30000 \) credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are \( 24 \) such predictors or attributes leading to a design matrix of dimensionality \( 24 \times 30000 \). This is however a classification problem and we will come back to it when we discuss Logistic Regression. - - +

    Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the +so-called credit card default data from Taiwan. The data set contains data on \( n=30000 \) credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are \( 24 \) such predictors or attributes leading to a design matrix of dimensionality \( 24 \times 30000 \). This is however a classification problem and we will come back to it when we discuss Logistic Regression. +

    -











    -

    General linear models

    -Before we proceed let us study a case from linear algebra where we aim at fitting a set of data \( \boldsymbol{y}=[y_0,y_1,\dots,y_{n-1}] \). We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables \( \boldsymbol{x}=[x_0,x_1,\dots,x_{n-1}] \), that is \( y_i = y(x_i) \) with \( i=0,1,2,\dots,n-1 \). The variables \( x_i \) could represent physical quantities like time, temperature, position etc. We assume that \( y(x) \) is a smooth function. +

    Before we proceed let us study a case from linear algebra where we aim at fitting a set of data \( \boldsymbol{y}=[y_0,y_1,\dots,y_{n-1}] \). We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables \( \boldsymbol{x}=[x_0,x_1,\dots,x_{n-1}] \), that is \( y_i = y(x_i) \) with \( i=0,1,2,\dots,n-1 \). The variables \( x_i \) could represent physical quantities like time, temperature, position etc. We assume that \( y(x) \) is a smooth function.

    -

    -Since obtaining these data points may not be trivial, we want to use these data to fit a function which can allow us to make predictions for values of \( y \) which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree \( n-1 \) with \( n \) points, that is +

    Since obtaining these data points may not be trivial, we want to use these data to fit a function which can allow us to make predictions for values of \( y \) which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree \( n-1 \) with \( n \) points, that is

    $$ y=y(x) \rightarrow y(x_i)=\tilde{y}_i+\epsilon_i=\sum_{j=0}^{n-1} \beta_j x_i^j+\epsilon_i, $$ -where \( \epsilon_i \) is the error in our approximation. - - +

    where \( \epsilon_i \) is the error in our approximation.

    -











    -

    Rewriting the fitting procedure as a linear algebra problem

    -For every set of values \( y_i,x_i \) we have thus the corresponding set of equations +

    For every set of values \( y_i,x_i \) we have thus the corresponding set of equations

    $$ \begin{align*} y_0&=\beta_0+\beta_1x_0^1+\beta_2x_0^2+\dots+\beta_{n-1}x_0^{n-1}+\epsilon_0\\ @@ -2378,29 +2875,27 @@ $$
    -











    -

    Rewriting the fitting procedure as a linear algebra problem, more details

    -Defining the vectors +

    Defining the vectors

    $$ \boldsymbol{y} = [y_0,y_1, y_2,\dots, y_{n-1}]^T, $$ -and +

    and

    $$ \boldsymbol{\beta} = [\beta_0,\beta_1, \beta_2,\dots, \beta_{n-1}]^T, $$ -and +

    and

    $$ \boldsymbol{\epsilon} = [\epsilon_0,\epsilon_1, \epsilon_2,\dots, \epsilon_{n-1}]^T, $$ -and the design matrix +

    and the design matrix

    $$ \boldsymbol{X}= \begin{bmatrix} @@ -2412,29 +2907,27 @@ $$ \end{bmatrix} $$ -we can rewrite our equations as +

    we can rewrite our equations as

    $$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. $$ -The above design matrix is called a Vandermonde matrix. +

    The above design matrix is called a Vandermonde matrix.

    -











    -

    Generalizing the fitting procedure as a linear algebra problem

    -

    -We are obviously not limited to the above polynomial expansions. We +

    We are obviously not limited to the above polynomial expansions. We could replace the various powers of \( x \) with elements of Fourier series or instead of \( x_i^j \) we could have \( \cos{(j x_i)} \) or \( \sin{(j x_i)} \), or time series or other orthogonal functions. For every set of values \( y_i,x_i \) we can then generalize the equations to +

    $$ \begin{align*} @@ -2448,19 +2941,17 @@ y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{ \end{align*} $$ -

    + Note that we have \( p=n \) here. The matrix is symmetric. This is generally not the case!

    -











    -

    Generalizing the fitting procedure as a linear algebra problem

    -We redefine in turn the matrix \( \boldsymbol{X} \) as +

    We redefine in turn the matrix \( \boldsymbol{X} \) as

    $$ \boldsymbol{X}= \begin{bmatrix} @@ -2472,23 +2963,21 @@ x_{n-1,0}& x_{n-1,1} &x_{n-1,2}& \dots & \dots &x_{n-1,n-1}\\ \end{bmatrix} $$ -and without loss of generality we rewrite again our equations as +

    and without loss of generality we rewrite again our equations as

    $$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. $$ -The left-hand side of this equation is kwown. Our error vector \( \boldsymbol{\epsilon} \) and the parameter vector \( \boldsymbol{\beta} \) are our unknow quantities. How can we obtain the optimal set of \( \beta_i \) values? +

    The left-hand side of this equation is kwown. Our error vector \( \boldsymbol{\epsilon} \) and the parameter vector \( \boldsymbol{\beta} \) are our unknow quantities. How can we obtain the optimal set of \( \beta_i \) values?

    -











    -

    Optimizing our parameters

    -We have defined the matrix \( \boldsymbol{X} \) via the equations +

    We have defined the matrix \( \boldsymbol{X} \) via the equations

    $$ \begin{align*} y_0&=\beta_0x_{00}+\beta_1x_{01}+\beta_2x_{02}+\dots+\beta_{n-1}x_{0n-1}+\epsilon_0\\ @@ -2501,29 +2990,27 @@ y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{ \end{align*} $$ -

    -As we noted above, we stayed with a system with the design matrix +

    As we noted above, we stayed with a system with the design matrix \( \boldsymbol{X}\in {\mathbb{R}}^{n\times n} \), that is we have \( p=n \). For reasons to come later (algorithmic arguments) we will hereafter define our matrix as \( \boldsymbol{X}\in {\mathbb{R}}^{n\times p} \), with the predictors refering to the column numbers and the entries \( n \) being the row elements. - - +

    -











    -

    Our model for the nuclear binding energies

    -

    -In our introductory notes we looked at the so-called liquid drop model. Let us remind ourselves about what we did by looking at the code. +

    In our introductory notes we looked at the so-called liquid drop model. Let us remind ourselves about what we did by looking at the code.

    -

    -We restate the parts of the code we are most interested in. -

    +

    We restate the parts of the code we are most interested in.

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -2592,73 +3079,81 @@ DesignMatrix = pd.DataFrame(X)
     DesignMatrix.index = A
     DesignMatrix.columns = ['1', 'A', 'A^(2/3)', 'A^(-1/3)', '1/A']
     display(DesignMatrix)
    -
    -

    -With \( \boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1} \), it means that we will hereafter write our equations for the approximation as +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    With \( \boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1} \), it means that we will hereafter write our equations for the approximation as

    $$ \boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, $$ -throughout these lectures. +

    throughout these lectures.

    -











    -

    Optimizing our parameters, more details

    -With the above we use the design matrix to define the approximation \( \boldsymbol{\tilde{y}} \) via the unknown quantity \( \boldsymbol{\beta} \) as +

    With the above we use the design matrix to define the approximation \( \boldsymbol{\tilde{y}} \) via the unknown quantity \( \boldsymbol{\beta} \) as

    $$ \boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, $$ -and in order to find the optimal parameters \( \beta_i \) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \( y_i \) (which represent hopefully the exact values) and the parameterized values \( \tilde{y}_i \), namely +

    and in order to find the optimal parameters \( \beta_i \) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \( y_i \) (which represent hopefully the exact values) and the parameterized values \( \tilde{y}_i \), namely

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, $$ -or using the matrix \( \boldsymbol{X} \) and in a more compact matrix-vector notation as +

    or using the matrix \( \boldsymbol{X} \) and in a more compact matrix-vector notation as

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}. $$ -This function is one possible way to define the so-called cost function. +

    This function is one possible way to define the so-called cost function.

    -

    -It is also common to define +

    It is also common to define the function \( C \) as +

    $$ C(\boldsymbol{\beta})=\frac{1}{2n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2, $$ -since when taking the first derivative with respect to the unknown parameters \( \beta \), the factor of \( 2 \) cancels out. +

    since when taking the first derivative with respect to the unknown parameters \( \beta \), the factor of \( 2 \) cancels out.

    -











    -

    Interpretations and optimizing our parameters

    -

    -The function +

    The function

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}, $$ -can be linked to the variance of the quantity \( y_i \) if we interpret the latter as the mean value. +

    can be linked to the variance of the quantity \( y_i \) if we interpret the latter as the mean value. When linking (see the discussion below) with the maximum likelihood approach below, we will indeed interpret \( y_i \) as a mean value +

    $$ y_{i}=\langle y_i \rangle = \beta_0x_{i,0}+\beta_1x_{i,1}+\beta_2x_{i,2}+\dots+\beta_{n-1}x_{i,n-1}+\epsilon_i, $$ -

    -where \( \langle y_i \rangle \) is the mean value. Keep in mind also that +

    where \( \langle y_i \rangle \) is the mean value. Keep in mind also that till now we have treated \( y_i \) as the exact value. Normally, the response (dependent or outcome) variable \( y_i \) the outcome of a numerical experiment or another type of experiment and is thus only an @@ -2666,57 +3161,52 @@ approximation to the true value. It is then always accompanied by an error estimate, often limited to a statistical error estimate given by the standard deviation discussed earlier. In the discussion here we will treat \( y_i \) as our exact value for the response variable. +

    -

    -In order to find the parameters \( \beta_i \) we will then minimize the spread of \( C(\boldsymbol{\beta}) \), that is we are going to solve the problem +

    In order to find the parameters \( \beta_i \) we will then minimize the spread of \( C(\boldsymbol{\beta}) \), that is we are going to solve the problem

    $$ {\displaystyle \min_{\boldsymbol{\beta}\in {\mathbb{R}}^{p}}}\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}. $$ -In practical terms it means we will require +

    In practical terms it means we will require

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)^2\right]=0, $$ -which results in +

    which results in

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_{ij}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)\right]=0, $$ -or in a matrix-vector form as +

    or in a matrix-vector form as

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right). $$ - -
    -











    -

    Interpretations and optimizing our parameters

    -We can rewrite +

    We can rewrite

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right), $$ -as +

    as

    $$ \boldsymbol{X}^T\boldsymbol{y} = \boldsymbol{X}^T\boldsymbol{X}\boldsymbol{\beta}, $$ -and if the matrix \( \boldsymbol{X}^T\boldsymbol{X} \) is invertible we have the solution +

    and if the matrix \( \boldsymbol{X}^T\boldsymbol{X} \) is invertible we have the solution

    $$ \boldsymbol{\beta} =\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -We note also that since our design matrix is defined as \( \boldsymbol{X}\in +

    We note also that since our design matrix is defined as \( \boldsymbol{X}\in {\mathbb{R}}^{n\times p} \), the product \( \boldsymbol{X}^T\boldsymbol{X} \in {\mathbb{R}}^{p\times p} \). In the above case we have that \( p \ll n \), in our case \( p=5 \) meaning that we end up with inverting a small @@ -2725,26 +3215,24 @@ matrices to invert. The methods discussed here and for many other supervised learning algorithms like classification with logistic regression or support vector machines, exhibit dimensionalities which allow for the usage of direct linear algebra methods such as LU decomposition or Singular Value Decomposition (SVD) for finding the inverse of the matrix -\( \boldsymbol{X}^T\boldsymbol{X} \). +\( \boldsymbol{X}^T\boldsymbol{X} \). +

    -

    -Small question: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix \( \boldsymbol{X}^T\boldsymbol{X} \)? What kind of problems can we expect? +

    Small question: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix \( \boldsymbol{X}^T\boldsymbol{X} \)? What kind of problems can we expect?

    -











    -

    Some useful matrix and vector expressions

    -

    -The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and +

    The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and matrices as upper case boldfaced letters. +

    $$ \frac{\partial (\boldsymbol{b}^T\boldsymbol{a})}{\partial \boldsymbol{a}} = \boldsymbol{b}, @@ -2763,65 +3251,97 @@ $$ $$









    -

    Interpretations and optimizing our parameters

    -The residuals \( \boldsymbol{\epsilon} \) are in turn given by +

    The residuals \( \boldsymbol{\epsilon} \) are in turn given by

    $$ \boldsymbol{\epsilon} = \boldsymbol{y}-\boldsymbol{\tilde{y}} = \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}, $$ -and with +

    and with

    $$ \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, $$ -we have +

    we have

    $$ \boldsymbol{X}^T\boldsymbol{\epsilon}=\boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, $$ -meaning that the solution for \( \boldsymbol{\beta} \) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach. - - +

    meaning that the solution for \( \boldsymbol{\beta} \) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.

    -

    -Let us now return to our nuclear binding energies and simply code the above equations. +

    Let us now return to our nuclear binding energies and simply code the above equations.

    -











    -

    Own code for Ordinary Least Squares

    -

    -It is rather straightforward to implement the matrix inversion and obtain the parameters \( \boldsymbol{\beta} \). After having defined the matrix \( \boldsymbol{X} \) we simply need to +

    It is rather straightforward to implement the matrix inversion and obtain the parameters \( \boldsymbol{\beta} \). After having defined the matrix \( \boldsymbol{X} \) we simply need to write -

    +

    -
    # matrix inversion to find beta
    +
    +
    +
    +
    +
    +
    # matrix inversion to find beta
     beta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(Energies)
     # and then make the prediction
     ytilde = X @ beta
    -
    -

    -Alternatively, you can use the least squares functionality in Numpy as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Alternatively, you can use the least squares functionality in Numpy as

    -
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
    +
    +
    +
    +
    +
    +
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
     ytildenp = np.dot(fit,X.T)
    -
    -

    -And finally we plot our fit with and compare with data -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    And finally we plot our fit with and compare with data

    -
    Masses['Eapprox']  = ytilde
    +
    +
    +
    +
    +
    +
    Masses['Eapprox']  = ytilde
     # Generate a plot comparing the experimental with the fitted values values.
     fig, ax = plt.subplots()
     ax.set_xlabel(r'$A = N + Z$')
    @@ -2833,200 +3353,266 @@ ax.plot(Masses['A'], Masses["Masses2016OLS")
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    Adding error analysis and training set up

    -

    -We can easily test our fit by computing the \( R2 \) score that we discussed in connection with the functionality of Scikit-Learn in the introductory slides. +

    We can easily test our fit by computing the \( R2 \) score that we discussed in connection with the functionality of Scikit-Learn in the introductory slides. Since we are not using Scikit-Learn here we can define our own \( R2 \) function as -

    +

    -
    def R2(y_data, y_model):
    +
    +
    +
    +
    +
    +
    def R2(y_data, y_model):
         return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)
    -
    -

    -and we would be using it as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    and we would be using it as

    -
    print(R2(Energies,ytilde))
    -
    -

    -We can easily add our MSE score as -

    +

    +
    +
    +
    +
    +
    print(R2(Energies,ytilde))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    We can easily add our MSE score as

    -
    def MSE(y_data,y_model):
    +
    +
    +
    +
    +
    +
    def MSE(y_data,y_model):
         n = np.size(y_model)
         return np.sum((y_data-y_model)**2)/n
     
     print(MSE(Energies,ytilde))
    -
    -

    -and finally the relative error as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    and finally the relative error as

    -
    def RelativeError(y_data,y_model):
    +
    +
    +
    +
    +
    +
    def RelativeError(y_data,y_model):
         return abs((y_data-y_model)/y_data)
     print(RelativeError(Energies, ytilde))
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    The \( \chi^2 \) function

    -

    -Normally, the response (dependent or outcome) variable \( y_i \) is the +

    Normally, the response (dependent or outcome) variable \( y_i \) is the outcome of a numerical experiment or another type of experiment and is thus only an approximation to the true value. It is then always accompanied by an error estimate, often limited to a statistical error estimate given by the standard deviation discussed earlier. In the discussion here we will treat \( y_i \) as our exact value for the response variable. +

    -

    -Introducing the standard deviation \( \sigma_i \) for each measurement +

    Introducing the standard deviation \( \sigma_i \) for each measurement \( y_i \), we define now the \( \chi^2 \) function (omitting the \( 1/n \) term) as +

    $$ \chi^2(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\frac{\left(y_i-\tilde{y}_i\right)^2}{\sigma_i^2}=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\frac{1}{\boldsymbol{\Sigma^2}}\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, $$ -where the matrix \( \boldsymbol{\Sigma} \) is a diagonal matrix with \( \sigma_i \) as matrix elements. - - +

    where the matrix \( \boldsymbol{\Sigma} \) is a diagonal matrix with \( \sigma_i \) as matrix elements.

    -











    -

    The \( \chi^2 \) function

    -

    -In order to find the parameters \( \beta_i \) we will then minimize the spread of \( \chi^2(\boldsymbol{\beta}) \) by requiring +

    In order to find the parameters \( \beta_i \) we will then minimize the spread of \( \chi^2(\boldsymbol{\beta}) \) by requiring

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)^2\right]=0, $$ -which results in +

    which results in

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}\frac{x_{ij}}{\sigma_i}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)\right]=0, $$ -or in a matrix-vector form as +

    or in a matrix-vector form as

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right). $$ -where we have defined the matrix \( \boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\Sigma} \) with matrix elements \( a_{ij} = x_{ij}/\sigma_i \) and the vector \( \boldsymbol{b} \) with elements \( b_i = y_i/\sigma_i \). +

    where we have defined the matrix \( \boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\Sigma} \) with matrix elements \( a_{ij} = x_{ij}/\sigma_i \) and the vector \( \boldsymbol{b} \) with elements \( b_i = y_i/\sigma_i \).

    -











    -

    The \( \chi^2 \) function

    -

    -We can rewrite +

    We can rewrite

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right), $$ -as +

    as

    $$ \boldsymbol{A}^T\boldsymbol{b} = \boldsymbol{A}^T\boldsymbol{A}\boldsymbol{\beta}, $$ -and if the matrix \( \boldsymbol{A}^T\boldsymbol{A} \) is invertible we have the solution +

    and if the matrix \( \boldsymbol{A}^T\boldsymbol{A} \) is invertible we have the solution

    $$ \boldsymbol{\beta} =\left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}\boldsymbol{A}^T\boldsymbol{b}. $$
    -











    -

    The \( \chi^2 \) function

    -

    -If we then introduce the matrix +

    If we then introduce the matrix

    $$ \boldsymbol{H} = \left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}, $$ -we have then the following expression for the parameters \( \beta_j \) (the matrix elements of \( \boldsymbol{H} \) are \( h_{ij} \)) +

    we have then the following expression for the parameters \( \beta_j \) (the matrix elements of \( \boldsymbol{H} \) are \( h_{ij} \))

    $$ \beta_j = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}\frac{y_i}{\sigma_i}\frac{x_{ik}}{\sigma_i} = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}b_ia_{ik} $$ -We state without proof the expression for the uncertainty in the parameters \( \beta_j \) as (we leave this as an exercise) +

    We state without proof the expression for the uncertainty in the parameters \( \beta_j \) as (we leave this as an exercise)

    $$ \sigma^2(\beta_j) = \sum_{i=0}^{n-1}\sigma_i^2\left( \frac{\partial \beta_j}{\partial y_i}\right)^2, $$ -resulting in +

    resulting in

    $$ \sigma^2(\beta_j) = \left(\sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}a_{ik}\right)\left(\sum_{l=0}^{p-1}h_{jl}\sum_{m=0}^{n-1}a_{ml}\right) = h_{jj}! $$
    -











    -

    The \( \chi^2 \) function

    -The first step here is to approximate the function \( y \) with a first-order polynomial, that is we write +

    The first step here is to approximate the function \( y \) with a first-order polynomial, that is we write

    $$ y=y(x) \rightarrow y(x_i) \approx \beta_0+\beta_1 x_i. $$ -By computing the derivatives of \( \chi^2 \) with respect to \( \beta_0 \) and \( \beta_1 \) show that these are given by +

    By computing the derivatives of \( \chi^2 \) with respect to \( \beta_0 \) and \( \beta_1 \) show that these are given by

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_0} = -2\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0, $$ -and +

    and

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_1} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_i\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0. $$
    -











    -

    The \( \chi^2 \) function

    -

    -For a linear fit (a first-order polynomial) we don't need to invert a matrix!! +

    For a linear fit (a first-order polynomial) we don't need to invert a matrix!! Defining +

    $$ \gamma = \sum_{i=0}^{n-1}\frac{1}{\sigma_i^2}, $$ @@ -3051,8 +3637,7 @@ $$ \gamma_{xy} = \sum_{i=0}^{n-1}\frac{y_ix_{i}}{\sigma_i^2}, $$ -

    -we obtain +

    we obtain

    $$ \beta_0 = \frac{\gamma_{xx}\gamma_y-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}, @@ -3063,50 +3648,48 @@ $$ \beta_1 = \frac{\gamma_{xy}\gamma-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}. $$ -

    -This approach (different linear and non-linear regression) suffers +

    This approach (different linear and non-linear regression) suffers often from both being underdetermined and overdetermined in the unknown coefficients \( \beta_i \). A better approach is to use the Singular Value Decomposition (SVD) method discussed next week. - - +

    -











    -

    Fitting an Equation of State for Dense Nuclear Matter

    -

    -Before we continue, let us introduce yet another example. We are going to fit the +

    Before we continue, let us introduce yet another example. We are going to fit the nuclear equation of state using results from many-body calculations. The equation of state we have made available here, as function of density, has been derived using modern nucleon-nucleon potentials with the addition of three-body forces. This time the file is presented as a standard csv file. +

    -

    -The beginning of the Python code here is similar to what you have seen +

    The beginning of the Python code here is similar to what you have seen before, with the same initializations and declarations. We use also pandas again, rather extensively in order to organize our data. +

    -

    -The difference now is that we use Scikit-Learn's regression tools +

    The difference now is that we use Scikit-Learn's regression tools instead of our own matrix inversion implementation. Furthermore, we sneak in Ridge regression (to be discussed below) which includes a hyperparameter \( \lambda \), also to be explained below. +

    -











    -

    The code

    -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import os
     import numpy as np
     import pandas as pd
    @@ -3191,23 +3774,34 @@ ax.plot(EoS['Density'], EoS["EoSfitting")
     plt.show()
    -
    -

    -The above simple polynomial in density \( \rho \) gives an excellent fit -to the data. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    -We note also that there is a small deviation between the +

    The above simple polynomial in density \( \rho \) gives an excellent fit +to the data. +

    + +

    We note also that there is a small deviation between the standard OLS and the Ridge regression at higher densities. We discuss this in more detail below. +

    -











    -

    Splitting our Data in Training and Test data

    -

    -It is normal in essentially all Machine Learning studies to split the +

    It is normal in essentially all Machine Learning studies to split the data in a training set and a test set (sometimes also an additional validation set). Scikit-Learn has an own function for this. There is no explicit recipe for how much data should be included as training @@ -3217,11 +3811,16 @@ postpone a discussion of this splitting to the end of these notes and our discussion of the so-called bias-variance tradeoff. Here we limit ourselves to repeat the above equation of state fitting example but now splitting the data into a training set and a test set. +

    -

    -

    import os
    +
    +
    +
    +
    +
    +
    import os
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -3285,144 +3884,172 @@ ypredict = X_test @ beta
     print(R2(y_test,ypredict))
     print("Test MSE")
     print(MSE(y_test,ypredict))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    -

    Exercises for week 35

    -Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1. +

    Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1.

    -

    -

    Exercise 1: Setting up various Python environments

    -

    -The first exercise here is of a mere technical art. We want you to have - +

    The first exercise here is of a mere technical art. We want you to have

    • git as a version control software and to establish a user account on a provider like GitHub. Other providers like GitLab etc are equally fine. You can also use the University of Oslo GitHub facilities.
    • Install various Python packages
    - -We will make extensive use of Python as programming language and its +

    We will make extensive use of Python as programming language and its myriad of available libraries. You will find IPython/Jupyter notebooks invaluable in your work. You can run R codes in the Jupyter/IPython notebooks, with the immediate benefit of visualizing your data. You can also use compiled languages like C++, Rust, Fortran etc if you prefer. The focus in these lectures will be on Python. +

    -

    -If you have Python installed (we recommend Python3) and you feel +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as +

    1. pip install numpy scipy matplotlib ipython scikit-learn sympy pandas pillow
    - -For Tensorflow, we recommend following the instructions in the text of +

    For Tensorflow, we recommend following the instructions in the text of Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly +

    -

    -We will come back to tensorflow later. +

    We will come back to tensorflow later.

    -

    -For Python3, replace pip with pip3. +

    For Python3, replace pip with pip3.

    -

    -For OSX users we recommend, after having installed Xcode, to +

    For OSX users we recommend, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, you can use pip as well and simply install Python as +

    1. sudo apt-get install python3 (or python for Python2.7)
    - -If you don't want to perform these operations separately and venture +

    If you don't want to perform these operations separately and venture into the hassle of exploring how to set up dependencies and paths, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +

    - -which is an open source +

    which is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda. +

    - -is a Python +

    is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +

    -

    -We recommend using Anaconda if you are not too familiar with setting paths in a terminal environment. +

    We recommend using Anaconda if you are not too familiar with setting paths in a terminal environment.

    -

    -

    -

    Exercise 2: making your own data and exploring scikit-learn

    -

    -We will generate our own dataset for a function \( y(x) \) where \( x \in [0,1] \) and defined by random numbers computed with the uniform distribution. The function \( y \) is a quadratic polynomial in \( x \) with added stochastic noise according to the normal distribution \( \cal {N}(0,1) \). +

    We will generate our own dataset for a function \( y(x) \) where \( x \in [0,1] \) and defined by random numbers computed with the uniform distribution. The function \( y \) is a quadratic polynomial in \( x \) with added stochastic noise according to the normal distribution \( \cal {N}(0,1) \). The following simple Python instructions define our \( x \) and \( y \) values (with 100 data points). -

    +

    -
    x = np.random.rand(100,1)
    +
    +
    +
    +
    +
    +
    x = np.random.rand(100,1)
     y = 2.0+5*x*x+0.1*np.random.randn(100,1)
    -
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +
    1. Write your own code (following the examples under the regression notes) for computing the parametrization of the data set fitting a second-order polynomial.
    2. Use thereafter scikit-learn (see again the examples in the regression slides) and compare with your own code.
    3. Using scikit-learn, compute also the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error defined as
    - $$ MSE(\boldsymbol{y},\boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, $$ -and the \( R^2 \) score function. +

    and the \( R^2 \) score function. If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as +

    $$ R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, $$ -where we have defined the mean value of \( \boldsymbol{y} \) as +

    where we have defined the mean value of \( \boldsymbol{y} \) as

    $$ \bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. $$ -You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. +

    You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. Discuss the meaning of these results. Try also to vary the coefficient in front of the added stochastic noise term and discuss the quality of the fits. +

    -

    +

    Solution. The code here is an example of where we define our own design matrix and fit parameters \( \beta \). -

    +

    -
    import os
    +
    +
    +
    +
    +
    +
    import os
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -3462,26 +4089,36 @@ ypredict = X_test @ beta
     print(R2(y_test,ypredict))
     print("Test MSE")
     print(MSE(y_test,ypredict))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + + -

    -

    -

    Exercise 3: Normalizing our data

    -

    -A much used approach before starting to train the data is to preprocess our +

    A much used approach before starting to train the data is to preprocess our data. Normally the data may need a rescaling and/or may be sensitive to extreme values. Scaling the data renders our inputs much more suitable for the algorithms we want to employ. +

    -

    -Scikit-Learn has several functions which allow us to rescale the +

    Scikit-Learn has several functions which allow us to rescale the data, normally resulting in much better results in terms of various accuracy scores. The StandardScaler function in Scikit-Learn ensures that for each feature/predictor we study the mean value is @@ -3490,18 +4127,18 @@ matrix). This scaling has the drawback that it does not ensure that we have a particular maximum or minimum in our data set. Another function included in Scikit-Learn is the MinMaxScaler which ensures that all features are exactly between \( 0 \) and \( 1 \). The +

    -

    -The Normalizer scales each data +

    The Normalizer scales each data point such that the feature vector has a euclidean length of one. In other words, it projects a data point on the circle (or sphere in the case of higher dimensions) with a radius of 1. This means every data point is scaled by a different number (by the inverse of it’s length). This normalization is often used when only the direction (or angle) of the data matters, not the length of the feature vector. +

    -

    -The RobustScaler works similarly to the StandardScaler in that it +

    The RobustScaler works similarly to the StandardScaler in that it ensures statistical properties for each feature that guarantee that they are on the same scale. However, the RobustScaler uses the median and quartiles, instead of mean and variance. This makes the @@ -3509,74 +4146,131 @@ RobustScaler ignore data points that are very different from the rest (like measurement errors). These odd data points are also called outliers, and might often lead to trouble for other scaling techniques. +

    -

    -It also common to split the data in a training set and a testing set. A typical split is to use \( 80\% \) of the data for training and the rest +

    It also common to split the data in a training set and a testing set. A typical split is to use \( 80\% \) of the data for training and the rest for testing. This can be done as follows with our design matrix \( \boldsymbol{X} \) and data \( \boldsymbol{y} \) (remember to import scikit-learn) -

    +

    -
    # split in training and test data
    +
    +
    +
    +
    +
    +
    # split in training and test data
     X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
    -
    -

    -Then we can use the standard scaler to scale our data as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Then we can use the standard scaler to scale our data as

    -
    scaler = StandardScaler()
    +
    +
    +
    +
    +
    +
    scaler = StandardScaler()
     scaler.fit(X_train)
     X_train_scaled = scaler.transform(X_train)
     X_test_scaled = scaler.transform(X_test)
    -
    -

    -In this exercise we want you to to compute the MSE for the training +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In this exercise we want you to to compute the MSE for the training data and the test data as function of the complexity of a polynomial, -that is the degree of a given polynomial. We want you also to compute the \( R2 \) score as function of the complexity of the model for both training data and test data. You should also run the calculation with and without scaling. +that is the degree of a given polynomial. We want you also to compute the \( R2 \) score as function of the complexity of the model for both training data and test data. You should also run the calculation with and without scaling. +

    -

    -One of +

    One of the aims is to reproduce Figure 2.11 of Hastie et al. +

    -

    -Our data is defined by \( x\in [-3,3] \) with a total of for example \( 100 \) data points. -

    +

    Our data is defined by \( x\in [-3,3] \) with a total of for example \( 100 \) data points.

    -
    np.random.seed()
    +
    +
    +
    +
    +
    +
    np.random.seed()
     n = 100
     maxdegree = 14
     # Make data set.
     x = np.linspace(-3, 3, n).reshape(-1, 1)
     y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    -
    -

    -where \( y \) is the function we want to fit with a given polynomial. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + +

    where \( y \) is the function we want to fit with a given polynomial.

    + +

    a) Write a first code which sets up a design matrix \( X \) defined by a fifth-order polynomial. Scale your data and split it in training and test data. +

    + + +

    b) Perform an ordinary least squares and compute the means squared error and the \( R2 \) factor for the training data and the test data, with and without scaling. +

    + + +

    c) Add now a model which allows you to make polynomials up to degree \( 15 \). Perform a standard OLS fitting of the training data and compute the MSE and \( R2 \) for the training and test data and plot both test and training data MSE and \( R2 \) as functions of the polynomial degree. Compare what you see with Figure 2.11 of Hastie et al. Comment your results. For which polynomial degree do you find an optimal MSE (smallest value)? +

    + + -

    - - -

    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week34/html/week34.html b/doc/pub/week34/html/week34.html index 56bc5348d..ba58ee8f7 100644 --- a/doc/pub/week34/html/week34.html +++ b/doc/pub/week34/html/week34.html @@ -1,6 +1,7 @@ @@ -8,29 +9,97 @@ Automatically generated HTML file from DocOnce source - Week 34: Introduction to the course, Logistics and Practicalities - - - - +
    +

    Week 34: Introduction to the course, Logistics and Practicalities

    +
    - - -

    Week 34: Introduction to the course, Logistics and Practicalities

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 13, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Oct 12, 2021

    -
    -











    -

    Overview of first week

    -

    -

    • Wednesday August 25: Introduction to software and repetition of Python Programming
    • Thursday August 26: First lecture: Presentation of the course, aims and content
    • @@ -327,59 +395,44 @@ MathJax.Hub.Config({
    -











    -

    Reading Recommendations

    -

    -For the reading assignments we use the following abbreviations: - +

    For the reading assignments we use the following abbreviations:

    • GBC: Goodfellow, Bengio, and Courville, Deep Learning
    • CMB: Christopher M. Bishop, Pattern Recognition and Machine Learning
    • HTF: Hastie, Tibshirani, and Friedman, The Elements of Statistical Learning
    • AG: Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow
    - -Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at https://compphysics.github.io/MachineLearning/doc/web/course.html +

    Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at https://compphysics.github.io/MachineLearning/doc/web/course.html

    -











    -

    Thursday August 26

    -

    -The lectures will be recorded and updated videos will be posted after the lectures. +

    The lectures will be recorded and updated videos will be posted after the lectures.

    -

    -"Video of Lecture August 26, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage +

    "Video of Lecture August 26, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage

    -

    -Zoom link for lectures: https://msu.zoom.us/j/93311529525?pwd=a1VXSzY4aTFWVy9Rb05mNDJTZ09lZz09 +

    Zoom link for lectures: https://msu.zoom.us/j/93311529525?pwd=a1VXSzY4aTFWVy9Rb05mNDJTZ09lZz09

    • Meeting ID: 933 1152 9525
    • Passcode: 646102
    +

    Video of Lecture from Fall Semester 2020.

    -Video of Lecture from Fall Semester 2020. - -











    -

    Lectures and ComputerLab

    -

    -

    • Lectures: Thursday (12.15pm-2pm and Friday (12.15pm-2pm).
    • Weekly reading assignments and videos needed to solve projects and exercises.
    • @@ -391,17 +444,12 @@ The lectures will be recorded and updated videos will be posted after the lectur
    -











    -

    Announcement

    -

    -NORA AI competetion: See the link here https://www.nora.ai/Competition/image-segmentation.html +

    NORA AI competetion: See the link here https://www.nora.ai/Competition/image-segmentation.html

    -











    -

    Communication channels

    -









    -

    Course Format

    -

    -

    • Three compulsory projects. Electronic reports only using Canvas to hand in projects and git as version control software and GitHub for repository (or GitLab) of all your material.
    • Evaluation and grading: The three projects are graded and each counts 1/3 of the final mark. No final written or oral exam. -
      1. For the last project each group/participant submits a proposal or works with suggested (by us) proposals for the project.
      2. If possible, we would like to organize the last project as a workshop where each group makes a poster and presents this to all other participants of the course
      3. Poster session where all participants can study and discuss the other proposals.
      4. Based on feedback etc, each group finalizes the report and submits for grading.
      -
    • Python is the default programming language, but feel free to use C/C++ and/or Fortran or other programming languages. All source codes discussed during the lectures can be found at the webpage and github address of the course.
    -











    -

    Teachers

    -

    -

    Teachers : -

    • Morten Hjorth-Jensen, morten.hjorth-jensen@fys.uio.no
    • -
      • Phone: +47-48257387
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ470
      • Office hours: Anytime! Individual or group office hours can be arranged either in person or via zoom. Feel free to send an email for planning.
      -
    • Øyvind Sigmundson Schøyen, oyvinssc@student.matnat.uio.no
    • -
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ452
      -
    • Stian Dysthe Bilek stian.bilek@fys.uio.no
    • -
      • Office: Department of Physics, University of Oslo, Eastern wing, room FØ450
      -
    • Linus Ekstrøm, linueks@gmail.com, linus.ekstrom@fys.uio.no
    • Nicholas Karlsen, nicholaskarlsen1102@gmail.com, nicholas.karlsen@fys.uio.no
    • Bendik Steinsvåg Dalen, b.s.dalen@fys.uio.no
    • @@ -477,57 +508,44 @@ The lectures will be recorded and updated videos will be posted after the lectur
    -











    -

    Deadlines for projects (tentative)

    -

    1. Project 1: October 11 (available September 10) graded with feedback)
    2. -
    3. Project 2: November 15 (available October 12, graded with feedback)
    4. -
    5. Project 3: December 13 (available November 8, graded with feedback)
    6. +
    7. Project 2: November 20 (available October 12, graded with feedback)
    8. +
    9. Project 3: December 17 (available November 13, graded with feedback)
    - -Projects are handed in using Canvas. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via Canvas. - - +

    Projects are handed in using Canvas. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via Canvas.

    -











    -

    1. The lecture notes are collected as a jupyter-book at https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/intro.html.
    - -In addition to the lecture notes, we recommend the books of Bishop and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these two texts. The text by Hastie et al is also widely used in the Machine Learning community. Finally, we also recommend the hands-on text by Geron, see below. +

    In addition to the lecture notes, we recommend the books of Bishop and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these two texts. The text by Hastie et al is also widely used in the Machine Learning community. Finally, we also recommend the hands-on text by Geron, see below.

    1. Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer, https://www.springer.com/gp/book/9780387310732.
    2. Ian Goodfellow, Yoshua Bengio, and Aaron Courville. The different chapters are available for free at https://www.deeplearningbook.org/. Chapters 2-14 are highly recommended. The lectures follow to a larg extent this text. The weekly plans will include reading suggestions from these two textbooks.
    - -Additional textbooks: +

    Additional textbooks:

    1. Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer, https://www.springer.com/gp/book/9780387848570. This is a well-known text and serves as additional literature.
    2. Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly, https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/. This text is very useful since it contains many code examples and hands-on applications of all algorithms discussed in this course.
    -









    -

    Prerequisites

    -

    -Basic knowledge in programming and mathematics, with an emphasis on +

    Basic knowledge in programming and mathematics, with an emphasis on linear algebra. Knowledge of Python or/and C++ as programming languages is strongly recommended and experience with Jupiter notebook is recommended. Required courses are the equivalents to the University @@ -536,19 +554,16 @@ of the corresponding computing and programming courses INF1000/INF1110 or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1100. Most universities offer nowadays a basic programming course (often compulsory) where Python is the recurring programming language. +

    -











    -

    Learning outcomes

    -

    -

    -This course aims at giving you insights and knowledge about many of +

    This course aims at giving you insights and knowledge about many of the central algorithms used in Data Analysis and Machine Learning. The course is project based and through various numerical projects, normally three, you will be exposed to fundamental research problems @@ -561,6 +576,7 @@ Learning is applied to, get acquainted with computing facilities and learn to handle large scientific projects. A good scientific and ethical conduct is emphasized throughout the course. More specifically, after this course you will +

    • Learn about basic data analysis, statistical analysis, Bayesian statistics, Monte Carlo sampling, data optimization and machine learning;
    • @@ -577,29 +593,22 @@ specifically, after this course you will
    -











    -

    Topics covered in this course: Statistical analysis and optimization of data

    -

    -The course has two central parts +

    The course has two central parts

    1. Statistical analysis and optimization of data
    2. Machine learning
    +

    These topics will be scattered thorughout the course and may not necessarily be taught separately. Rather, we will often take an approach (during the lectures and project/exercise sessions) where say elements from statistical data analysis are mixed with specific Machine Learning algorithms

    -These topics will be scattered thorughout the course and may not necessarily be taught separately. Rather, we will often take an approach (during the lectures and project/exercise sessions) where say elements from statistical data analysis are mixed with specific Machine Learning algorithms - -

    Statistical analysis and optimization of data

    -

    -We plan to cover the following topics: - +

    We plan to cover the following topics:

    • Basic concepts, expectation values, variance, covariance, correlation functions and errors;
    • Simpler models, binomial distribution, the Poisson distribution, simple and multivariate normal distributions;
    • @@ -612,17 +621,13 @@ We plan to cover the following topics:
    -











    -

    Topics covered in this course: Machine Learning

    -

    -The following topics will be covered - +

    The following topics will be covered

    • Linear Regression and Logistic Regression;
    • Neural networks and deep learning, including convolutional and recurrent neural networks
    • @@ -632,23 +637,16 @@ The following topics will be covered
    • Boltzmann Machines
    • Unsupervised learning Dimensionality reduction, from PCA to clustering
    - -Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics. - - +

    Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics.

    -











    -

    -

    and discussed at the lab sessions

    -

    • GIT for version control, and GitHub or GitLab as repositories, highly recommended. This will be discussed during the first exercise session
    • Anaconda and other Python environments, see intro slides and links to programming resources at https://computationalscienceuio.github.io/RefreshProgrammingSkills/intro.html
    • @@ -656,13 +654,10 @@ Hands-on demonstrations, exercises and projects aim at deepening your understand
    -











    -

    Other courses on Data science and Machine Learning at UiO

    -

    -The link here https://www.mn.uio.no/english/research/about/centre-focus/innovation/data-science/studies/ gives an excellent overview of courses on Machine learning at UiO. +

    The link here https://www.mn.uio.no/english/research/about/centre-focus/innovation/data-science/studies/ gives an excellent overview of courses on Machine learning at UiO.

    1. STK2100 Machine learning and statistical methods for prediction and classification.
    2. @@ -677,18 +672,15 @@ The link here STK4051 Computational Statistics
    3. STK4021 Applied Bayesian Analysis and Numerical Methods
    -









    -

    Introduction

    -

    -Our emphasis throughout this series of lectures +

    Our emphasis throughout this series of lectures is on understanding the mathematical aspects of -different algorithms used in the fields of data analysis and machine learning. +different algorithms used in the fields of data analysis and machine learning. +

    -

    -However, where possible we will emphasize the +

    However, where possible we will emphasize the importance of using available software. We start thus with a hands-on and top-down approach to machine learning. The aim is thus to start with relevant data or data we have produced @@ -702,40 +694,38 @@ the data and predictions. We move thereafter to more interesting cases such as data from say experiments (below we will look at experimental nuclear binding energies as an example). These are examples where we can easily set up the data and then use machine learning algorithms included in for example -Scikit-Learn. +Scikit-Learn. +

    -

    -These examples will serve us the purpose of getting +

    These examples will serve us the purpose of getting started. Furthermore, they allow us to catch more than two birds with a stone. They will allow us to bring in some programming specific topics and tools as well as showing the power of various Python -libraries for machine learning and statistical data analysis. +libraries for machine learning and statistical data analysis. +

    -

    -Here, we will mainly focus on two +

    Here, we will mainly focus on two specific Python packages for Machine Learning, Scikit-Learn and Tensorflow (see below for links etc). Moreover, the examples we introduce will serve as inputs to many of our discussions later, as well as allowing you to set up models and produce your own data and get started with programming. +

    -











    -

    What is Machine Learning?

    -

    -Statistics, data science and machine learning form important fields of +

    Statistics, data science and machine learning form important fields of research in modern science. They describe how to learn and make predictions from data, as well as allowing us to extract important correlations about physical process and the underlying laws of motion in large data sets. The latter, big data sets, appear frequently in essentially all disciplines, from the traditional Science, Technology, Mathematics and Engineering fields to Life Science, Law, education -research, the Humanities and the Social Sciences. +research, the Humanities and the Social Sciences. +

    -

    -It has become more +

    It has become more and more common to see research projects on big data in for example the Social Sciences where extracting patterns from complicated survey data is one of many research directions. Having a solid grasp of data @@ -750,17 +740,17 @@ in the private or the public sector. This author has had several students or met students who have been hired recently based on their skills and competences in scientific computing and data science, often with marginal knowledge of machine learning. +

    -

    -Machine learning is a subfield of computer science, and is closely +

    Machine learning is a subfield of computer science, and is closely related to computational statistics. It evolved from the study of pattern recognition in artificial intelligence (AI) research, and has made contributions to AI tasks like computer vision, natural language processing and speech recognition. Many of the methods we will study are also -strongly rooted in basic mathematics and physics research. +strongly rooted in basic mathematics and physics research. +

    -

    -Ideally, machine learning represents the science of giving computers +

    Ideally, machine learning represents the science of giving computers the ability to learn without being explicitly programmed. The idea is that there exist generic algorithms which can be used to find patterns in a broad class of data sets without having to write code @@ -768,10 +758,10 @@ specifically for each problem. The algorithm will build its own logic based on the data. You should however always keep in mind that machines and algorithms are to a large extent developed by humans. The insights and knowledge we have about a specific system, play a central -role when we develop a specific machine learning algorithm. +role when we develop a specific machine learning algorithm. +

    -

    -Machine learning is an extremely rich field, in spite of its young +

    Machine learning is an extremely rich field, in spite of its young age. The increases we have seen during the last three decades in computational capabilities have been followed by developments of methods and techniques for analyzing and handling large date sets, @@ -791,14 +781,12 @@ solid command of linear algebra, multivariate theory, probability theory, statistical data analysis, understanding errors and Monte Carlo methods are central elements in a proper understanding of many of algorithms and methods we will discuss. +

    -











    -

    Types of Machine Learning

    -

    -The approaches to machine learning are many, but are often split into +

    The approaches to machine learning are many, but are often split into two main categories. In supervised learning we know the answer to a problem, and let the computer deduce the logic behind it. On the other hand, unsupervised learning is a method for finding patterns and @@ -807,49 +795,40 @@ Some authours also operate with a third category, namely reinforcement learning. This is a paradigm of learning inspired by behavioral psychology, where learning is achieved by trial-and-error, solely from rewards and punishment. +

    -

    -Another way to categorize machine learning tasks is to consider the +

    Another way to categorize machine learning tasks is to consider the desired output of a system. Some of the most common tasks are: +

    • Classification: Outputs are divided into two or more classes. The goal is to produce a model that assigns inputs into one of these classes. An example is to identify digits based on pictures of hand-written ones. Classification is typically supervised learning.
    • Regression: Finding a functional relationship between an input data set and a reference data set. The goal is to construct a function that maps input data to continuous output values.
    • Clustering: Data are divided into groups with certain common traits, without knowing the different groups beforehand. It is thus a form of unsupervised learning.
    -









    -

    Essential elements of ML

    -

    -The methods we cover have three main topics in common, irrespective of +

    The methods we cover have three main topics in common, irrespective of whether we deal with supervised or unsupervised learning. +

    -
    • The first ingredient is normally our data set (which can be subdivided into training, validation and test data). Many find the most difficult part of using Machine Learning to be the set up of your data in a meaningful way.
    • The second item is a model which is normally a function of some parameters. The model reflects our knowledge of the system (or lack thereof). As an example, if we know that our data show a behavior similar to what would be predicted by a polynomial, fitting our data to a polynomial of some degree would then determin our model.
    • The last ingredient is a so-called cost/loss function (or error or risk function) which allows us to present an estimate on how good our model is in reproducing the data it is supposed to train.
    - -











    -

    An optimization/minimization problem

    -

    -At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called gradient methods. +

    At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called gradient methods.

    -











    -

    A Frequentist approach to data analysis

    -

    -When you hear phrases like predictions and estimations and +

    When you hear phrases like predictions and estimations and correlations and causations, what do you think of? May be you think of the difference between classifying new data points and generating new data points. @@ -857,9 +836,9 @@ Or perhaps you consider that correlations represent some kind of symmetric state if \( A \) is correlated with \( B \), then \( B \) is correlated with \( A \). Causation on the other hand is directional, that is if \( A \) causes \( B \), \( B \) does not necessarily cause \( A \). +

    -

    -These concepts are in some sense the difference between machine +

    These concepts are in some sense the difference between machine learning and statistics. In machine learning and prediction based tasks, we are often interested in developing algorithms that are capable of learning patterns from given data in an automated fashion, @@ -868,51 +847,47 @@ assessments of newly given data. In many cases, our primary concern is the quality of the predictions or assessments, and we are less concerned about the underlying patterns that were learned in order to make these predictions. +

    -

    -In machine learning we normally use a so-called frequentist approach, +

    In machine learning we normally use a so-called frequentist approach, where the aim is to make predictions and find correlations. We focus less on for example extracting a probability distribution function (PDF). The PDF can be used in turn to make estimations and find causations such as given \( A \) what is the likelihood of finding \( B \). +

    -











    -

    What is a good model?

    -

    -In science and engineering we often end up in situations where we want to infer (or learn) a +

    In science and engineering we often end up in situations where we want to infer (or learn) a quantitative model \( M \) for a given set of sample points \( \boldsymbol{X} \in [x_1, x_2,\dots x_N] \). +

    -

    -As we will see repeatedely in these lectures, we could try to fit these data points to a model given by a +

    As we will see repeatedely in these lectures, we could try to fit these data points to a model given by a straight line, or if we wish to be more sophisticated to a more complex function. +

    -

    -The reason for inferring such a model is that it +

    The reason for inferring such a model is that it serves many useful purposes. On the one hand, the model can reveal information encoded in the data or underlying mechanisms from which the data were generated. For instance, we could discover important corelations that relate interesting physics interpretations. +

    -

    -In addition, it can simplify the representation of the given data set and help +

    In addition, it can simplify the representation of the given data set and help us in making predictions about future data samples. +

    -

    -A first important consideration to keep in mind is that inferring the correct model +

    A first important consideration to keep in mind is that inferring the correct model for a given data set is an elusive, if not impossible, task. The fundamental difficulty is that if we are not specific about what we mean by a correct model, there could easily be many different models that fit the given data set equally well. +

    -











    -

    What is a good model? Can we define it?

    -

    -The central question is this: what leads us to say that a model is correct or +

    The central question is this: what leads us to say that a model is correct or optimal for a given data set? To make the model inference problem well posed, i.e., to guarantee that there is a unique optimal model for the given data, we need to impose additional assumptions or restrictions on the class of models considered. To @@ -925,98 +900,90 @@ with the simplest possible class of models that is just necessary to describe th or solve the problem at hand. More precisely, the model class should be rich enough to contain at least one model that can fit the data to a desired accuracy and yet be restricted enough that it is relatively simple to find the best model for the given data. +

    -

    -Thus, the most popular strategy is to start from the +

    Thus, the most popular strategy is to start from the simplest class of models and increase the complexity of the models only when the simpler models become inadequate. For instance, if we work with a regression problem to fit a set of sample points, one may first try the simplest class of models, namely linear models, followed obviously by more complex models. +

    -

    -How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures. +

    How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures.

    -











    -

    Software and needed installations

    -

    -We will make extensive use of Python as programming language and its +

    We will make extensive use of Python as programming language and its myriad of available libraries. You will find Jupyter notebooks invaluable in your work. You can run R codes in the Jupyter/IPython notebooks, with the immediate benefit of visualizing your data. You can also use compiled languages like C++, Rust, Julia, Fortran etc if you prefer. The focus in these lectures will be on Python. +

    -

    -If you have Python installed (we strongly recommend Python3) and you feel +

    If you have Python installed (we strongly recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as +

    1. pip install numpy scipy matplotlib ipython scikit-learn mglearn sympy pandas pillow
    +

    For Python3, replace pip with pip3.

    -For Python3, replace pip with pip3. - -

    -For OSX users we recommend, after having installed Xcode, to +

    For OSX users we recommend, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, you can use pip as well and simply install Python as +

    1. sudo apt-get install python3 (or python for pyhton2.7)
    +

    etc etc.

    -etc etc. - -











    -

    Python installers

    -

    -If you don't want to perform these operations separately and venture +

    If you don't want to perform these operations separately and venture into the hassle of exploring how to set up dependencies and paths, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +

    - -which is an open source +

    which is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda. +

    - -is a Python +

    is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +

    -

    -Furthermore, Google's Colab is a free Jupyter notebook environment that requires +

    Furthermore, Google's Colab is a free Jupyter notebook environment that requires no setup and runs entirely in the cloud. Try it out! +

    -











    -

    Useful Python libraries

    -Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there) +

    Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there)

    • NumPy is a highly popular library for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays
    • @@ -1031,13 +998,10 @@ Here we list several useful Python libraries we strongly recommend (if you use a
    • Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano
    • And many more such as pytorch, Theano etc
    -









    -

    Installing R, C++, cython or Julia

    -

    -You will also find it convenient to utilize R. We will mainly +

    You will also find it convenient to utilize R. We will mainly use Python during our lectures and in various projects and exercises. Those of you already familiar with R should feel free to continue using R, keeping @@ -1047,25 +1011,23 @@ notebook allows you to run R codes interactively in your browser. The software library R is really tailored for statistical data analysis and allows for an easy usage of the tools and algorithms we will discuss in these lectures. +

    -

    -To install R with Jupyter notebook +

    To install R with Jupyter notebook follow the link here +

    -











    -

    Installing R, C++, cython, Numba etc

    -

    -For the C++ aficionados, Jupyter/IPython notebook allows you also to +

    For the C++ aficionados, Jupyter/IPython notebook allows you also to install C++ and run codes written in this language interactively in the browser. Since we will emphasize writing many of the algorithms yourself, you can thus opt for either Python or C++ (or Fortran or other compiled languages) as programming languages. +

    -

    -To add more entropy, cython can also be used when running your +

    To add more entropy, cython can also be used when running your notebooks. It means that Python with the jupyter notebook setup allows you to integrate widely popular softwares and tools for scientific computing. Similarly, the @@ -1074,43 +1036,56 @@ capabilities with minimal rewrites of your codes. With its versatility, including symbolic operations, Python offers a unique computational environment. Your jupyter notebook can easily be converted into a nicely rendered PDF file or a Latex file for -further processing. For example, convert to latex as +further processing. For example, convert to latex as +

    -

    - -

    pycod jupyter nbconvert filename.ipynb --to latex 
    -
    -

    -And to add more versatility, the Python package SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) and is entirely written in Python. + +

    +
    +
    +
    +
    +
    pycod jupyter nbconvert filename.ipynb --to latex 
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -

    -Finally, if you wish to use the light mark-up language +

    And to add more versatility, the Python package SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) and is entirely written in Python.

    + +

    Finally, if you wish to use the light mark-up language doconce you can convert a standard ascii text file into various HTML formats, ipython notebooks, latex files, pdf files etc with minimal edits. These lectures were generated using doconce. +

    -











    -

    Numpy examples and Important Matrix and vector handling packages

    -

    -There are several central software libraries for linear algebra and eigenvalue problems. Several of the more +

    There are several central software libraries for linear algebra and eigenvalue problems. Several of the more popular ones have been wrapped into ofter software packages like those from the widely used text Numerical Recipes. The original source codes in many of the available packages are often taken from the widely used software package LAPACK, which follows two other popular packages developed in the 1970s, namely EISPACK and LINPACK. We describe them shortly here. +

    • LINPACK: package for linear equations and least square problems.
    • LAPACK:package for solving symmetric, unsymmetric and generalized eigenvalue problems. From LAPACK's website http://www.netlib.org it is possible to download for free all source codes from this library. Both C/C++ and Fortran versions are available.
    • BLAS (I, II and III): (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. Blas I is vector operations, II vector-matrix operations and III matrix-matrix operations. Highly parallelized and efficient codes, all available for download from http://www.netlib.org.
    -









    -

    Basic Matrix Features

    -

    Matrix properties reminder

    @@ -1129,15 +1104,14 @@ $$ \end{bmatrix} $$ -

    -The inverse of a matrix is defined by +

    The inverse of a matrix is defined by

    $$ \mathbf{A}^{-1} \cdot \mathbf{A} = I $$ -

    - + +
    @@ -1149,13 +1123,10 @@ $$
    Relations Name matrix elements
    \( A=\left(A^{\dagger}\right )^{-1} \) unitary \( \sum_k a_{ik}a_{jk}^{ < em>}=\sum_k a_{ki}^{ < /em> } a_{kj}=\delta_{ij} \)
    -

    -











    -

    Some famous Matrices

      @@ -1169,16 +1140,13 @@ $$
    • Upper banded with bandwidth \( p \): \( a_{ij}=0 \) for \( i < j+p \)
    • Banded, block upper triangular, block lower triangular....
    -









    -

    More Basic Matrix Features

    -

    Some Equivalent Statements

    -For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all equivalent +

    For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all equivalent

    • If the inverse of \( \mathbf{A} \) exists, \( \mathbf{A} \) is nonsingular.
    • @@ -1191,167 +1159,408 @@ For an \( N\times N \) matrix \( \mathbf{A} \) the following properties are all
    -











    -

    Numpy and arrays

    -Numpy provides an easy way to handle arrays in Python. The standard way to import this library is as +

    Numpy provides an easy way to handle arrays in Python. The standard way to import this library is as

    -

    -

    import numpy as np
    -
    -

    -Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution, -

    +

    +
    +
    +
    +
    +
    import numpy as np
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    Here follows a simple example where we set up an array of ten elements, all determined by random numbers drawn according to the normal distribution,

    -
    n = 10
    +
    +
    +
    +
    +
    +
    n = 10
     x = np.random.normal(size=n)
     print(x)
    -
    -

    -We defined a vector \( x \) with \( n=10 \) elements with its values given by the Normal distribution \( N(0,1) \). +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We defined a vector \( x \) with \( n=10 \) elements with its values given by the Normal distribution \( N(0,1) \). Another alternative is to declare a vector as follows -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.array([1, 2, 3])
     print(x)
    -
    -

    -Here we have defined a vector with three elements, with \( x_0=1 \), \( x_1=2 \) and \( x_2=3 \). Note that both Python and C++ +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Here we have defined a vector with three elements, with \( x_0=1 \), \( x_1=2 \) and \( x_2=3 \). Note that both Python and C++ start numbering array elements from \( 0 \) and on. This means that a vector with \( n \) elements has a sequence of entities \( x_0, x_1, x_2, \dots, x_{n-1} \). We could also let (recommended) Numpy to compute the logarithms of a specific array as -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4, 7, 8]))
     print(x)
    -
    -

    -In the last example we used Numpy's unary function \( np.log \). This function is +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In the last example we used Numpy's unary function \( np.log \). This function is highly tuned to compute array elements since the code is vectorized and does not require looping. We normaly recommend that you use the Numpy intrinsic functions instead of the corresponding log function from Python's math module. The looping is done explicitely by the np.log function. The alternative, and slower way to compute the logarithms of a vector would be to write +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     from math import log
     x = np.array([4, 7, 8])
     for i in range(0, len(x)):
         x[i] = log(x[i])
     print(x)
    -
    -

    -We note that our code is much longer already and we need to import the log function from the math module. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We note that our code is much longer already and we need to import the log function from the math module. The attentive reader will also notice that the output is \( [1, 1, 2] \). Python interprets automagically our numbers as integers (like the automatic keyword in C++). To change this we could define our array elements to be double precision numbers as -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4, 7, 8], dtype = np.float64))
     print(x)
    -
    -

    -or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or simply write them as double precision numbers (Python uses 64 bits as default for floating point type variables), that is

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4.0, 7.0, 8.0]))
     print(x)
    -
    -

    -To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the itemsize functionality (the array \( x \) is actually an object which inherits the functionalities defined in Numpy) as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    To check the number of bytes (remember that one byte contains eight bits for double precision variables), you can use simple use the itemsize functionality (the array \( x \) is actually an object which inherits the functionalities defined in Numpy) as

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     x = np.log(np.array([4.0, 7.0, 8.0]))
     print(x.itemsize)
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    Matrices in Python

    -

    -Having defined vectors, we are now ready to try out matrices. We can +

    Having defined vectors, we are now ready to try out matrices. We can define a \( 3 \times 3 \) real matrix \( \boldsymbol{A} \) as (recall that we user lowercase letters for vectors and uppercase letters for matrices) +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     print(A)
    -
    -

    -If we use the shape function we would get \( (3, 3) \) as output, that is verifying that our matrix is a \( 3\times 3 \) matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    If we use the shape function we would get \( (3, 3) \) as output, that is verifying that our matrix is a \( 3\times 3 \) matrix. We can slice the matrix and print for example the first column (Python organized matrix elements in a row-major order, see below) as

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     # print the first column, row-major order and elements start with 0
     print(A[:,0]) 
    -
    -

    -We can continue this was by printing out other columns or rows. The example here prints out the second column -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We can continue this was by printing out other columns or rows. The example here prints out the second column

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     A = np.log(np.array([ [4.0, 7.0, 8.0], [3.0, 10.0, 11.0], [4.0, 5.0, 7.0] ]))
     # print the first column, row-major order and elements start with 0
     print(A[1,:]) 
    -
    -

    -Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the Numpy website for more details. Useful functions when defining a matrix are the np.zeros function which declares a matrix of a given dimension and sets all elements to zero -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Numpy contains many other functionalities that allow us to slice, subdivide etc etc arrays. We strongly recommend that you look up the Numpy website for more details. Useful functions when defining a matrix are the np.zeros function which declares a matrix of a given dimension and sets all elements to zero

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to zero
     A = np.zeros( (n, n) )
     print(A) 
    -
    -

    -or initializing all elements to -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or initializing all elements to

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to one
     A = np.ones( (n, n) )
     print(A) 
    -
    -

    -or as unitarily distributed random numbers (see the material on random number generators in the statistics part) -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    or as unitarily distributed random numbers (see the material on random number generators in the statistics part)

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     n = 10
     # define a matrix of dimension 10 x 10 and set all elements to random numbers with x \in [0, 1]
     A = np.random.rand(n, n)
     print(A) 
    -
    -

    -As we will see throughout these lectures, there are several extremely useful functionalities in Numpy. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    As we will see throughout these lectures, there are several extremely useful functionalities in Numpy. As an example, consider the discussion of the covariance matrix. Suppose we have defined three vectors \( \boldsymbol{x}, \boldsymbol{y}, \boldsymbol{z} \) with \( n \) elements each. The covariance matrix is defined as +

    $$ \boldsymbol{\Sigma} = \begin{bmatrix} \sigma_{xx} & \sigma_{xy} & \sigma_{xz} \\ \sigma_{yx} & \sigma_{yy} & \sigma_{yz} \\ @@ -1359,13 +1568,14 @@ $$ \end{bmatrix}, $$ -where for example +

    where for example

    $$ \sigma_{xy} =\frac{1}{n} \sum_{i=0}^{n-1}(x_i- \overline{x})(y_i- \overline{y}). $$ -The Numpy function np.cov calculates the covariance elements using the factor \( 1/(n-1) \) instead of \( 1/n \) since it assumes we do not have the exact mean values. +

    The Numpy function np.cov calculates the covariance elements using the factor \( 1/(n-1) \) instead of \( 1/n \) since it assumes we do not have the exact mean values. The following simple function uses the np.vstack function which takes each vector of dimension \( 1\times n \) and produces a \( 3\times n \) matrix \( \boldsymbol{W} \) +

    $$ \boldsymbol{W} = \begin{bmatrix} x_0 & x_1 & x_2 & \dots & x_{n-2} & x_{n-1} \\ y_0 & y_1 & y_2 & \dots & y_{n-2} & y_{n-1} \\ @@ -1373,17 +1583,21 @@ $$ \end{bmatrix}, $$ -

    -which in turn is converted into into the \( 3\times 3 \) covariance matrix +

    which in turn is converted into into the \( 3\times 3 \) covariance matrix \( \boldsymbol{\Sigma} \) via the Numpy function np.cov(). We note that we can also calculate the mean value of each set of samples \( \boldsymbol{x} \) etc using the Numpy function np.mean(x). We can also extract the eigenvalues of the covariance matrix through the np.linalg.eig() function. +

    -

    -

    # Importing various packages
    +
    +
    +
    +
    +
    +
    # Importing various packages
     import numpy as np
     
     n = 100
    @@ -1398,11 +1612,26 @@ Sigma = np.print(Sigma)
     Eigvals, Eigvecs = np.linalg.eig(Sigma)
     print(Eigvals)
    -
    -

    - +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from scipy import sparse
     eye = np.eye(4)
    @@ -1413,30 +1642,49 @@ x = np.l
     y = np.sin(x)
     plt.plot(x,y,marker='x')
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    Meet the Pandas

    -

    -



    +

    +
    +

    +
    +

    -

    -Another useful Python package is +

    Another useful Python package is pandas, which is an open source library providing high-performance, easy-to-use data structures and data analysis tools for Python. pandas stands for panel data, a term borrowed from econometrics and is an efficient library for data analysis with an emphasis on tabular data. pandas has two major classes, the DataFrame class with two-dimensional data objects and tabular data organized in columns and the class Series with a focus on one-dimensional data objects. Both classes allow you to index data easily as we will see in the examples below. -pandas allows you also to perform mathematical operations on the data, spanning from simple reshapings of vectors and matrices to statistical operations. +pandas allows you also to perform mathematical operations on the data, spanning from simple reshapings of vectors and matrices to statistical operations. +

    -

    -The following simple example shows how we can, in an easy way make tables of our data. Here we define a data set which includes names, place of birth and date of birth, and displays the data in an easy to read way. We will see repeated use of pandas, in particular in connection with classification of data. +

    The following simple example shows how we can, in an easy way make tables of our data. Here we define a data set which includes names, place of birth and date of birth, and displays the data in an easy to read way. We will see repeated use of pandas, in particular in connection with classification of data.

    -

    -

    import pandas as pd
    +
    +
    +
    +
    +
    +
    import pandas as pd
     from IPython.display import display
     data = {'First Name': ["Frodo", "Bilbo", "Aragorn II", "Samwise"],
             'Last Name': ["Baggins", "Baggins","Elessar","Gamgee"],
    @@ -1445,45 +1693,115 @@ data = {'Fi
             }
     data_pandas = pd.DataFrame(data)
     display(data_pandas)
    -
    -

    -In the above we have imported pandas with the shorthand pd, the latter has become the standard way we import pandas. We make then a list of various variables +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In the above we have imported pandas with the shorthand pd, the latter has become the standard way we import pandas. We make then a list of various variables and reorganize the aboves lists into a DataFrame and then print out a neat table with specific column labels as Name, place of birth and date of birth. Displaying these results, we see that the indices are given by the default numbers from zero to three. pandas is extremely flexible and we can easily change the above indices by defining a new type of indexing as -

    +

    -
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
    +
    +
    +
    +
    +
    +
    data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])
     display(data_pandas)
    -
    -

    -Thereafter we display the content of the row which begins with the index Aragorn -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Thereafter we display the content of the row which begins with the index Aragorn

    -
    display(data_pandas.loc['Aragorn'])
    -
    -

    -We can easily append data to this, for example -

    +

    +
    +
    +
    +
    +
    display(data_pandas.loc['Aragorn'])
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    We can easily append data to this, for example

    -
    new_hobbit = {'First Name': ["Peregrin"],
    +
    +
    +
    +
    +
    +
    new_hobbit = {'First Name': ["Peregrin"],
                   'Last Name': ["Took"],
                   'Place of birth': ["Shire"],
                   'Date of Birth T.A.': [2990]
                   }
     data_pandas=data_pandas.append(pd.DataFrame(new_hobbit, index=['Pippin']))
     display(data_pandas)
    -
    -

    -Here are other examples where we use the DataFrame functionality to handle arrays, now with more interesting features for us, namely numbers. We set up a matrix +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Here are other examples where we use the DataFrame functionality to handle arrays, now with more interesting features for us, namely numbers. We set up a matrix of dimensionality \( 10\times 5 \) and compute the mean value and standard deviation of each column. Similarly, we can perform mathematial operations like squaring the matrix elements and many other operations. -

    +

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import pandas as pd
     from IPython.display import display
     np.random.seed(100)
    @@ -1496,13 +1814,30 @@ display(df)
     print(df.mean())
     print(df.std())
     display(df**2)
    -
    -

    -Thereafter we can select specific columns only and plot final results -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Thereafter we can select specific columns only and plot final results

    -
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
    +
    +
    +
    +
    +
    +
    df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']
     df.index = np.arange(10)
     
     display(df)
    @@ -1520,49 +1855,71 @@ plt.show()
     
     df.plot.bar(figsize=(10,6), rot=15)
     plt.show()
    -
    -

    -We can produce a \( 4\times 4 \) matrix -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We can produce a \( 4\times 4 \) matrix

    -
    b = np.arange(16).reshape((4,4))
    +
    +
    +
    +
    +
    +
    b = np.arange(16).reshape((4,4))
     print(b)
     df1 = pd.DataFrame(b)
     print(df1)
    -
    -

    -and many other operations. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    -The Series class is another important class included in +

    and many other operations.

    + +

    The Series class is another important class included in pandas. You can view it as a specialization of DataFrame but where we have just a single column of data. It shares many of the same features as _DataFrame. As with DataFrame, most operations are vectorized, achieving thereby a high performance when dealing with computations of arrays, in particular labeled arrays. As we will see below it leads also to a very concice code close to the mathematical operations we may be interested in. -For multidimensional arrays, we recommend strongly xarray. xarray has much of the same flexibility as pandas, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both pandas and xarray. +For multidimensional arrays, we recommend strongly xarray. xarray has much of the same flexibility as pandas, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both pandas and xarray. +

    -











    -

    Friday August 27

    -

    -"Video of Lecture August 27, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage +

    "Video of Lecture August 27, 2021":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage

    -

    -Video of Lecture from fall 2020 and Handwritten notes +

    Video of Lecture from fall 2020 and Handwritten notes

    -











    +

    Simple linear regression model using scikit-learn

    -

    Simple linear regression model using scikit-learn

    +

    We start with perhaps our simplest possible example, using Scikit-Learn to perform linear regression analysis on a data set produced by us.

    -

    -We start with perhaps our simplest possible example, using Scikit-Learn to perform linear regression analysis on a data set produced by us. - -

    -What follows is a simple Python code where we have defined a function +

    What follows is a simple Python code where we have defined a function \( y \) in terms of the variable \( x \). Both are defined as vectors with \( 100 \) entries. The numbers in the vector \( \boldsymbol{x} \) are given by random numbers generated with a uniform distribution with entries @@ -1570,9 +1927,9 @@ by random numbers generated with a uniform distribution with entries later). These values are then used to define a function \( y(x) \) (tabulated again as a vector) with a linear dependence on \( x \) plus a random noise added via the normal distribution. +

    -

    -The Numpy functions are imported used the import numpy as np +

    The Numpy functions are imported used the import numpy as np statement and the random number generator for the uniform distribution is called using the function np.random.rand(), where we specificy that we want \( 100 \) random variables. Using Numpy we define @@ -1581,13 +1938,13 @@ our case. With the Numpy function randn() we can compute random numbers with the normal distribution (mean value \( \mu \) equal to zero and variance \( \sigma^2 \) set to one) and produce the values of \( y \) assuming a linear dependence as function of \( x \) +

    $$ y = 2x+N(0,1), $$ -

    -where \( N(0,1) \) represents random numbers generated by the normal +

    where \( N(0,1) \) represents random numbers generated by the normal distribution. From Scikit-Learn we import then the LinearRegression functionality and make a prediction \( \tilde{y} = \alpha + \beta x \) using the function fit(x,y). We call the set of @@ -1595,22 +1952,26 @@ data \( (\boldsymbol{x},\boldsymbol{y}) \) for our training data. The Python pac scikit-learn has also a functionality which extracts the above fitting parameters \( \alpha \) and \( \beta \) (see below). Later we will distinguish between training data and test data. +

    -

    -For plotting we use the Python package +

    For plotting we use the Python package matplotlib which produces publication quality figures. Feel free to explore the extensive gallery of examples. In this example we plot our original values of \( x \) and \( y \) as well as the prediction ypredict (\( \tilde{y} \)), which attempts at fitting our data with a straight line. +

    -

    -The Python code follows here. -

    +

    The Python code follows here.

    -
    # Importing various packages
    +
    +
    +
    +
    +
    +
    # Importing various packages
     import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.linear_model import LinearRegression
    @@ -1629,9 +1990,22 @@ plt.xlabel(r
     plt.ylabel(r'$y$')
     plt.title(r'Simple Linear Regression')
     plt.show()
    -
    -

    -This example serves several aims. It allows us to demonstrate several +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    This example serves several aims. It allows us to demonstrate several aspects of data analysis and later machine learning algorithms. The immediate visualization shows that our linear fit is not impressive. It goes through the data points, but there are many @@ -1639,38 +2013,38 @@ outliers which are not reproduced by our linear regression. We could now play around with this small program and change for example the factor in front of \( x \) and the normal distribution. Try to change the function \( y \) to +

    $$ y = 10x+0.01 \times N(0,1), $$ -

    -where \( x \) is defined as before. Does the fit look better? Indeed, by +

    where \( x \) is defined as before. Does the fit look better? Indeed, by reducing the role of the noise given by the normal distribution we see immediately that our linear prediction seemingly reproduces better the training set. However, this testing 'by the eye' is obviouly not satisfactory in the long run. Here we have only defined the training data and our model, and have not discussed a more rigorous approach to the cost function. +

    -

    -We need more rigorous criteria in defining whether we have succeeded or +

    We need more rigorous criteria in defining whether we have succeeded or not in modeling our training data. You will be surprised to see that many scientists seldomly venture beyond this 'by the eye' approach. A standard approach for the cost function is the so-called \( \chi^2 \) function (a variant of the mean-squared error (MSE)) +

    $$ \chi^2 = \frac{1}{n} \sum_{i=0}^{n-1}\frac{(y_i-\tilde{y}_i)^2}{\sigma_i^2}, $$ -

    -where \( \sigma_i^2 \) is the variance (to be defined later) of the entry +

    where \( \sigma_i^2 \) is the variance (to be defined later) of the entry \( y_i \). We may not know the explicit value of \( \sigma_i^2 \), it serves however the aim of scaling the equations and make the cost function -dimensionless. +dimensionless. +

    -

    -Minimizing the cost function is a central aspect of +

    Minimizing the cost function is a central aspect of our discussions to come. Finding its minima as function of the model parameters (\( \alpha \) and \( \beta \) in our case) will be a recurring theme in these series of lectures. Essentially all machine learning @@ -1683,30 +2057,34 @@ employed are various variants of gradient methods. These will be discussed in more detail later. Again, you'll be surprised to hear that many practitioners minimize the above function ''by the eye', popularly dubbed as 'chi by the eye'. That is, change a parameter and see (visually and numerically) that -the \( \chi^2 \) function becomes smaller. +the \( \chi^2 \) function becomes smaller. +

    -

    -There are many ways to define the cost function. A simpler approach is to look at the relative difference between the training data and the predicted data, that is we define +

    There are many ways to define the cost function. A simpler approach is to look at the relative difference between the training data and the predicted data, that is we define the relative error (why would we prefer the MSE instead of the relative error?) as +

    $$ \epsilon_{\mathrm{relative}}= \frac{\vert \boldsymbol{y} -\boldsymbol{\tilde{y}}\vert}{\vert \boldsymbol{y}\vert}. $$ -

    -The squared cost function results in an arithmetic mean-unbiased +

    The squared cost function results in an arithmetic mean-unbiased estimator, and the absolute-value cost function results in a median-unbiased estimator (in the one-dimensional case, and a geometric median-unbiased estimator for the multi-dimensional case). The squared cost function has the disadvantage that it has the tendency to be dominated by outliers. +

    -

    -We can modify easily the above Python code and plot the relative error instead -

    +

    We can modify easily the above Python code and plot the relative error instead

    -
    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import matplotlib.pyplot as plt
     from sklearn.linear_model import LinearRegression
     
    @@ -1722,26 +2100,44 @@ plt.xlabel(r
     plt.ylabel(r'$\epsilon_{\mathrm{relative}}$')
     plt.title(r'Relative error')
     plt.show()
    -
    -

    -Depending on the parameter in front of the normal distribution, we may +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Depending on the parameter in front of the normal distribution, we may have a small or larger relative error. Try to play around with different training data sets and study (graphically) the value of the relative error. +

    -

    -As mentioned above, Scikit-Learn has an impressive functionality. +

    As mentioned above, Scikit-Learn has an impressive functionality. We can for example extract the values of \( \alpha \) and \( \beta \) and their error estimates, or the variance and standard deviation and many -other properties from the statistical data analysis. +other properties from the statistical data analysis. +

    -

    -Here we show an +

    Here we show an example of the functionality of Scikit-Learn. -

    +

    -
    import numpy as np 
    +
    +
    +
    +
    +
    +
    import numpy as np 
     import matplotlib.pyplot as plt 
     from sklearn.linear_model import LinearRegression 
     from sklearn.metrics import mean_squared_error, r2_score, mean_squared_log_error, mean_absolute_error
    @@ -1768,84 +2164,101 @@ plt.xlabel(r
     plt.ylabel(r'$y$')
     plt.title(r'Linear Regression fit ')
     plt.show()
    -
    -

    -The function coef gives us the parameter \( \beta \) of our fit while intercept yields +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The function coef gives us the parameter \( \beta \) of our fit while intercept yields \( \alpha \). Depending on the constant in front of the normal distribution, we get values near or far from \( \alpha =2 \) and \( \beta =5 \). Try to play around with different parameters in front of the normal distribution. The function meansquarederror gives us the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error or loss defined as +

    $$ MSE(\boldsymbol{y},\boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, $$ -

    -The smaller the value, the better the fit. Ideally we would like to +

    The smaller the value, the better the fit. Ideally we would like to have an MSE equal zero. The attentive reader has probably recognized this function as being similar to the \( \chi^2 \) function defined above. +

    -

    -The r2score function computes \( R^2 \), the coefficient of +

    The r2score function computes \( R^2 \), the coefficient of determination. It provides a measure of how well future samples are likely to be predicted by the model. Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of \( \boldsymbol{y} \), disregarding the input features, would get a \( R^2 \) score of \( 0.0 \). +

    -

    -If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as +

    If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as

    $$ R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, $$ -where we have defined the mean value of \( \boldsymbol{y} \) as +

    where we have defined the mean value of \( \boldsymbol{y} \) as

    $$ \bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. $$ -Another quantity taht we will meet again in our discussions of regression analysis is +

    Another quantity taht we will meet again in our discussions of regression analysis is the mean absolute error (MAE), a risk metric corresponding to the expected value of the absolute error loss or what we call the \( l1 \)-norm loss. In our discussion above we presented the relative error. The MAE is defined as follows +

    $$ \text{MAE}(\boldsymbol{y}, \boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1} \left| y_i - \tilde{y}_i \right|. $$ -We present the +

    We present the squared logarithmic (quadratic) error +

    $$ \text{MSLE}(\boldsymbol{y}, \boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n - 1} (\log_e (1 + y_i) - \log_e (1 + \tilde{y}_i) )^2, $$ -

    -where \( \log_e (x) \) stands for the natural logarithm of \( x \). This error +

    where \( \log_e (x) \) stands for the natural logarithm of \( x \). This error estimate is best to use when targets having exponential growth, such as population counts, average sales of a commodity over a span of -years etc. +years etc. +

    -

    -Finally, another cost function is the Huber cost function used in robust regression. +

    Finally, another cost function is the Huber cost function used in robust regression.

    -

    -The rationale behind this possible cost function is its reduced +

    The rationale behind this possible cost function is its reduced sensitivity to outliers in the data set. In our discussions on dimensionality reduction and normalization of data we will meet other ways of dealing with outliers. +

    -

    -The Huber cost function is defined as +

    The Huber cost function is defined as

    $$ H_{\delta}(\boldsymbol{a})=\left\{\begin{array}{cc}\frac{1}{2} \boldsymbol{a}^{2}& \text{for }|\boldsymbol{a}|\leq \delta\\ \delta (|\boldsymbol{a}|-\frac{1}{2}\delta ),&\text{otherwise}.\end{array}\right. $$ -Here \( \boldsymbol{a}=\boldsymbol{y} - \boldsymbol{\tilde{y}} \). +

    Here \( \boldsymbol{a}=\boldsymbol{y} - \boldsymbol{\tilde{y}} \).

    -

    -We will discuss in more detail these and other functions in the +

    We will discuss in more detail these and other functions in the various lectures. We conclude this part with another example. Instead of a linear \( x \)-dependence we study now a cubic polynomial and use the polynomial regression analysis tools of scikit-learn. +

    -

    -

    import matplotlib.pyplot as plt
    +
    +
    +
    +
    +
    +
    import matplotlib.pyplot as plt
     import numpy as np
     import random
     from sklearn.linear_model import Ridge
    @@ -1875,74 +2288,85 @@ plt.show()
         return abs(np.sum(err))/len(err)
     
     print (error(y))
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    To our real data: nuclear binding energies. Brief reminder on masses and binding energies

    -

    -Let us now dive into nuclear physics and remind ourselves briefly about some basic features about binding +

    Let us now dive into nuclear physics and remind ourselves briefly about some basic features about binding energies. A basic quantity which can be measured for the ground states of nuclei is the atomic mass \( M(N, Z) \) of the neutral atom with -atomic mass number \( A \) and charge \( Z \). The number of neutrons is \( N \). There are indeed several sophisticated experiments worldwide which allow us to measure this quantity to high precision (parts per million even). +atomic mass number \( A \) and charge \( Z \). The number of neutrons is \( N \). There are indeed several sophisticated experiments worldwide which allow us to measure this quantity to high precision (parts per million even). +

    -

    -Atomic masses are usually tabulated in terms of the mass excess defined by +

    Atomic masses are usually tabulated in terms of the mass excess defined by

    $$ \Delta M(N, Z) = M(N, Z) - uA, $$ -where \( u \) is the Atomic Mass Unit +

    where \( u \) is the Atomic Mass Unit

    $$ u = M(^{12}\mathrm{C})/12 = 931.4940954(57) \hspace{0.1cm} \mathrm{MeV}/c^2. $$ -The nucleon masses are +

    The nucleon masses are

    $$ m_p = 1.00727646693(9)u, $$ -and +

    and

    $$ m_n = 939.56536(8)\hspace{0.1cm} \mathrm{MeV}/c^2 = 1.0086649156(6)u. $$ -

    -In the 2016 mass evaluation of by W.J.Huang, G.Audi, M.Wang, F.G.Kondev, S.Naimi and X.Xu +

    In the 2016 mass evaluation of by W.J.Huang, G.Audi, M.Wang, F.G.Kondev, S.Naimi and X.Xu there are data on masses and decays of 3437 nuclei. +

    -

    -The nuclear binding energy is defined as the energy required to break +

    The nuclear binding energy is defined as the energy required to break up a given nucleus into its constituent parts of \( N \) neutrons and \( Z \) protons. In terms of the atomic masses \( M(N, Z) \) the binding energy is defined by +

    $$ BE(N, Z) = ZM_H c^2 + Nm_n c^2 - M(N, Z)c^2 , $$ -where \( M_H \) is the mass of the hydrogen atom and \( m_n \) is the mass of the neutron. +

    where \( M_H \) is the mass of the hydrogen atom and \( m_n \) is the mass of the neutron. In terms of the mass excess the binding energy is given by +

    $$ BE(N, Z) = Z\Delta_H c^2 + N\Delta_n c^2 -\Delta(N, Z)c^2 , $$ -where \( \Delta_H c^2 = 7.2890 \) MeV and \( \Delta_n c^2 = 8.0713 \) MeV. +

    where \( \Delta_H c^2 = 7.2890 \) MeV and \( \Delta_n c^2 = 8.0713 \) MeV.

    -

    -A popular and physically intuitive model which can be used to parametrize +

    A popular and physically intuitive model which can be used to parametrize the experimental binding energies as function of \( A \), is the so-called liquid drop model. The ansatz is based on the following expression +

    $$ BE(N,Z) = a_1A-a_2A^{2/3}-a_3\frac{Z^2}{A^{1/3}}-a_4\frac{(N-Z)^2}{A}, $$ -

    -where \( A \) stands for the number of nucleons and the $a_i$s are parameters which are determined by a fit -to the experimental data. +

    where \( A \) stands for the number of nucleons and the $a_i$s are parameters which are determined by a fit +to the experimental data. +

    -

    -To arrive at the above expression we have assumed that we can make the following assumptions: +

    To arrive at the above expression we have assumed that we can make the following assumptions:

    • There is a volume term \( a_1A \) proportional with the number of nucleons (the energy is also an extensive quantity). When an assembly of nucleons of the same size is packed together into the smallest volume, each interior nucleon has a certain number of other nucleons in contact with it. This contribution is proportional to the volume.
    • @@ -1950,24 +2374,26 @@ To arrive at the above expression we have assumed that we can make the following
    • There is a Coulomb energy term \( a_3\frac{Z^2}{A^{1/3}} \). The electric repulsion between each pair of protons in a nucleus yields less binding.
    • There is an asymmetry term \( a_4\frac{(N-Z)^2}{A} \). This term is associated with the Pauli exclusion principle and reflects the fact that the proton-neutron interaction is more attractive on the average than the neutron-neutron and proton-proton interactions.
    - -We could also add a so-called pairing term, which is a correction term that +

    We could also add a so-called pairing term, which is a correction term that arises from the tendency of proton pairs and neutron pairs to -occur. An even number of particles is more stable than an odd number. - +occur. An even number of particles is more stable than an odd number. +

    Organizing our data

    -

    -Let us start with reading and organizing our data. +

    Let us start with reading and organizing our data. We start with the compilation of masses and binding energies from 2016. After having downloaded this file to our own computer, we are now ready to read the file and start structuring our data. +

    -

    -We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of scikit-learn. -

    +

    We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of scikit-learn.

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -2000,13 +2426,30 @@ DATA_ID = "
         plt.savefig(image_path(fig_id) + ".png", format='png')
     
     infile = open(data_path("MassEval2016.dat"),'r')
    -
    -

    -Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various matplotlib commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function. -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various matplotlib commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function.

    -
    from pylab import plt, mpl
    +
    +
    +
    +
    +
    +
    from pylab import plt, mpl
     plt.style.use('seaborn')
     mpl.rcParams['font.family'] = 'serif'
     
    @@ -2017,20 +2460,37 @@ mpl.rcParams[&#
             plt.xlabel(axlabels[0])
             plt.ylabel(axlabels[1])
         plt.legend(loc=0)
    -
    -

    -Our next step is to read the data on experimental binding energies and +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Our next step is to read the data on experimental binding energies and reorganize them as functions of the mass number \( A \), the number of protons \( Z \) and neutrons \( N \) using pandas. Before we do this it is always useful (unless you have a binary file or other types of compressed data) to actually open the file and simply take a look at it! +

    -

    -In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with pandas. The file begins with some basic format information. -

    +

    In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with pandas. The file begins with some basic format information.

    -
    """                                                                                                                         
    +
    +
    +
    +
    +
    +
    """                                                                                                                         
     This is taken from the data file of the mass 2016 evaluation.                                                               
     All files are 3436 lines long with 124 character per line.                                                                  
            Headers are 39 lines long.                                                                                           
    @@ -2040,17 +2500,35 @@ In particular, the program that outputs the final nuclear masses is written in F
        widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),                                                            
        Pandas has also a variable header, with length 39 in this case.                                                          
     """
    -
    -

    -The data we are interested in are in columns 2, 3, 4 and 11, giving us +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The data we are interested in are in columns 2, 3, 4 and 11, giving us the number of neutrons, protons, mass numbers and binding energies, respectively. We add also for the sake of completeness the element name. The data are in fixed-width formatted lines and we will covert them into the pandas DataFrame structure. +

    -

    -

    # Read the experimental data with Pandas
    +
    +
    +
    +
    +
    +
    # Read the experimental data with Pandas
     Masses = pd.read_fwf(infile, usecols=(2,3,4,6,11),
                   names=('N', 'Z', 'A', 'Element', 'Ebinding'),
                   widths=(1,3,5,5,5,1,3,4,1,13,11,11,9,1,2,11,9,1,3,1,12,11,1),
    @@ -2068,58 +2546,129 @@ Masses['Ebinding'] = Masses.groupby('A')
     # Find the rows of the grouped DataFrame with the maximum binding energy.
     Masses = Masses.apply(lambda t: t[t.Ebinding==t.Ebinding.max()])
    -
    -

    -We have now read in the data, grouped them according to the variables we are interested in. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    We have now read in the data, grouped them according to the variables we are interested in. We see how easy it is to reorganize the data using pandas. If we were to do these operations in C/C++ or Fortran, we would have had to write various functions/subroutines which perform the above reorganizations for us. Having reorganized the data, we can now start to make some simple fits using both the functionalities in numpy and -Scikit-Learn afterwards. +Scikit-Learn afterwards. +

    -

    -Now we define five variables which contain +

    Now we define five variables which contain the number of nucleons \( A \), the number of protons \( Z \) and the number of neutrons \( N \), the element name and finally the energies themselves. -

    +

    -
    A = Masses['A']
    +
    +
    +
    +
    +
    +
    A = Masses['A']
     Z = Masses['Z']
     N = Masses['N']
     Element = Masses['Element']
     Energies = Masses['Ebinding']
     print(Masses)
    -
    -

    -The next step, and we will define this mathematically later, is to set up the so-called design matrix. We will throughout call this matrix \( \boldsymbol{X} \). +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    The next step, and we will define this mathematically later, is to set up the so-called design matrix. We will throughout call this matrix \( \boldsymbol{X} \). It has dimensionality \( p\times n \), where \( n \) is the number of data points and \( p \) are the so-called predictors. In our case here they are given by the number of polynomials in \( A \) we wish to include in the fit. -

    +

    -
    # Now we set up the design matrix X
    +
    +
    +
    +
    +
    +
    # Now we set up the design matrix X
     X = np.zeros((len(A),5))
     X[:,0] = 1
     X[:,1] = A
     X[:,2] = A**(2.0/3.0)
     X[:,3] = A**(-1.0/3.0)
     X[:,4] = A**(-1.0)
    -
    -

    -With scikitlearn we are now ready to use linear regression and fit our data. -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    With scikitlearn we are now ready to use linear regression and fit our data.

    -
    clf = skl.LinearRegression().fit(X, Energies)
    +
    +
    +
    +
    +
    +
    clf = skl.LinearRegression().fit(X, Energies)
     fity = clf.predict(X)
    -
    -

    -Pretty simple! +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Pretty simple! Now we can print measures of how our fit is doing, the coefficients from the fits and plot the final fit together with our data. -

    +

    -
    # The mean squared error                               
    +
    +
    +
    +
    +
    +
    # The mean squared error                               
     print("Mean squared error: %.2f" % mean_squared_error(Energies, fity))
     # Explained variance score: 1 is perfect prediction                                 
     print('Variance score: %.2f' % r2_score(Energies, fity))
    @@ -2139,17 +2688,32 @@ ax.plot(Masses[
     ax.legend()
     save_fig("Masses2016")
     plt.show()
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    Seeing the wood for the trees

    -

    -As a teaser, let us now see how we can do this with decision trees using scikit-learn. Later we will switch to so-called random forests! +

    As a teaser, let us now see how we can do this with decision trees using scikit-learn. Later we will switch to so-called random forests!

    -

    -

    #Decision Tree Regression
    +
    +
    +
    +
    +
    +
    #Decision Tree Regression
     from sklearn.tree import DecisionTreeRegressor
     regr_1=DecisionTreeRegressor(max_depth=5)
     regr_2=DecisionTreeRegressor(max_depth=7)
    @@ -2178,16 +2742,32 @@ save_fig("Masses2016Trees")
     plt.show()
     print(Masses)
     print(np.mean( (Energies-y_1)**2))
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    And what about using neural networks?

    - -The seaborn package allows us to visualize data in an efficient way. Note that we use scikit-learn's multi-layer perceptron (or feed forward neural network) +

    The seaborn package allows us to visualize data in an efficient way. Note that we use scikit-learn's multi-layer perceptron (or feed forward neural network) functionality. -

    +

    -
    from sklearn.neural_network import MLPRegressor
    +
    +
    +
    +
    +
    +
    from sklearn.neural_network import MLPRegressor
     from sklearn.metrics import accuracy_score
     import seaborn as sns
     
    @@ -2216,30 +2796,38 @@ ax.set_title(&q
     ax.set_ylabel("$\eta$")
     ax.set_xlabel("$\lambda$")
     plt.show()
    -
    - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +

    A first summary

    -

    -The aim behind these introductory words was to present to you various +

    The aim behind these introductory words was to present to you various Python libraries and their functionalities, in particular libraries like numpy, pandas, xarray and matplotlib and other that make our life much easier -in handling various data sets and visualizing data. +in handling various data sets and visualizing data. +

    -

    -Furthermore, +

    Furthermore, Scikit-Learn allows us with few lines of code to implement popular Machine Learning algorithms for supervised learning. Later we will meet Tensorflow, a powerful library for deep learning. Now it is time to dive more into the details of various methods. We will start with linear regression and try to take a deeper look at what it entails. +

    -











    -

    Why Linear Regression (aka Ordinary Least Squares and family)

    -

    -Fitting a continuous function with linear parameterization in terms of the parameters \( \boldsymbol{\beta} \). - +

    Fitting a continuous function with linear parameterization in terms of the parameters \( \boldsymbol{\beta} \).

    • Method of choice for fitting a continuous function!
    • Gives an excellent introduction to central Machine Learning features with understandable pedagogical links to other methods like Neural Networks, Support Vector Machines etc
    • @@ -2251,50 +2839,42 @@ Fitting a continuous function with linear parameterization in terms of the param
    • Allows for easy hands-on understanding of gradient descent methods
    • and many more features
    - -For more discussions of Ridge and Lasso regression, Wessel van Wieringen's article is highly recommended. +

    For more discussions of Ridge and Lasso regression, Wessel van Wieringen's article is highly recommended. Similarly, Mehta et al's article is also recommended. +

    -











    -

    Regression analysis, overarching aims

    -

    -Regression modeling deals with the description of the sampling distribution of a given random variable \( y \) and how it varies as function of another variable or a set of such variables \( \boldsymbol{x} =[x_0, x_1,\dots, x_{n-1}]^T \). -The first variable is called the dependent, the outcome or the response variable while the set of variables \( \boldsymbol{x} \) is called the independent variable, or the predictor variable or the explanatory variable. - -

    -A regression model aims at finding a likelihood function \( p(\boldsymbol{y}\vert \boldsymbol{x}) \), that is the conditional distribution for \( \boldsymbol{y} \) with a given \( \boldsymbol{x} \). The estimation of \( p(\boldsymbol{y}\vert \boldsymbol{x}) \) is made using a data set with +

    Regression modeling deals with the description of the sampling distribution of a given random variable \( y \) and how it varies as function of another variable or a set of such variables \( \boldsymbol{x} =[x_0, x_1,\dots, x_{n-1}]^T \). +The first variable is called the dependent, the outcome or the response variable while the set of variables \( \boldsymbol{x} \) is called the independent variable, or the predictor variable or the explanatory variable. +

    +

    A regression model aims at finding a likelihood function \( p(\boldsymbol{y}\vert \boldsymbol{x}) \), that is the conditional distribution for \( \boldsymbol{y} \) with a given \( \boldsymbol{x} \). The estimation of \( p(\boldsymbol{y}\vert \boldsymbol{x}) \) is made using a data set with

    • \( n \) cases \( i = 0, 1, 2, \dots, n-1 \)
    • Response (target, dependent or outcome) variable \( y_i \) with \( i = 0, 1, 2, \dots, n-1 \)
    • \( p \) so-called explanatory (independent or predictor) variables \( \boldsymbol{x}_i=[x_{i0}, x_{i1}, \dots, x_{ip-1}] \) with \( i = 0, 1, 2, \dots, n-1 \) and explanatory variables running from \( 0 \) to \( p-1 \). See below for more explicit examples.
    - - The goal of the regression analysis is to extract/exploit relationship between \( \boldsymbol{y} \) and \( \boldsymbol{x} \) in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things. +

    The goal of the regression analysis is to extract/exploit relationship between \( \boldsymbol{y} \) and \( \boldsymbol{x} \) in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things.

    -











    -

    Regression analysis, overarching aims II

    -

    -Consider an experiment in which \( p \) characteristics of \( n \) samples are +

    Consider an experiment in which \( p \) characteristics of \( n \) samples are measured. The data from this experiment, for various explanatory variables \( p \) are normally represented by a matrix \( \mathbf{X} \). +

    -

    -The matrix \( \mathbf{X} \) is called the design +

    The matrix \( \mathbf{X} \) is called the design matrix. Additional information of the samples is available in the form of \( \boldsymbol{y} \) (also as above). The variable \( \boldsymbol{y} \) is generally referred to as the response variable. The aim of @@ -2304,73 +2884,62 @@ f(\mathbf{X}_{i,\ast}) \). When no prior knowledge on the form of \( f(\cdot) \) is available, it is common to assume a linear relationship between \( \boldsymbol{X} \) and \( \boldsymbol{y} \). This assumption gives rise to the linear regression model where \( \boldsymbol{\beta} = [\beta_0, \ldots, -\beta_{p-1}]^{T} \) are the regression parameters. - -

    -Linear regression gives us a set of analytical equations for the parameters \( \beta_j \). - +\beta_{p-1}]^{T} \) are the regression parameters. +

    +

    Linear regression gives us a set of analytical equations for the parameters \( \beta_j \).

    -











    -

    Examples

    -In order to understand the relation among the predictors \( p \), the set of data \( n \) and the target (outcome, output etc) \( \boldsymbol{y} \), -consider the model we discussed for describing nuclear binding energies. +

    In order to understand the relation among the predictors \( p \), the set of data \( n \) and the target (outcome, output etc) \( \boldsymbol{y} \), +consider the model we discussed for describing nuclear binding energies. +

    -

    -There we assumed that we could parametrize the data using a polynomial approximation based on the liquid drop model. +

    There we assumed that we could parametrize the data using a polynomial approximation based on the liquid drop model. Assuming +

    $$ BE(A) = a_0+a_1A+a_2A^{2/3}+a_3A^{-1/3}+a_4A^{-1}, $$ -we have five predictors, that is the intercept, the \( A \) dependent term, the \( A^{2/3} \) term and the \( A^{-1/3} \) and \( A^{-1} \) terms. +

    we have five predictors, that is the intercept, the \( A \) dependent term, the \( A^{2/3} \) term and the \( A^{-1/3} \) and \( A^{-1} \) terms. This gives \( p=0,1,2,3,4 \). Furthermore we have \( n \) entries for each predictor. It means that our design matrix is a \( p\times n \) matrix \( \boldsymbol{X} \). +

    -

    -Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the -so-called credit card default data from Taiwan. The data set contains data on \( n=30000 \) credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are \( 24 \) such predictors or attributes leading to a design matrix of dimensionality \( 24 \times 30000 \). This is however a classification problem and we will come back to it when we discuss Logistic Regression. - - +

    Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the +so-called credit card default data from Taiwan. The data set contains data on \( n=30000 \) credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are \( 24 \) such predictors or attributes leading to a design matrix of dimensionality \( 24 \times 30000 \). This is however a classification problem and we will come back to it when we discuss Logistic Regression. +

    -











    -

    General linear models

    -Before we proceed let us study a case from linear algebra where we aim at fitting a set of data \( \boldsymbol{y}=[y_0,y_1,\dots,y_{n-1}] \). We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables \( \boldsymbol{x}=[x_0,x_1,\dots,x_{n-1}] \), that is \( y_i = y(x_i) \) with \( i=0,1,2,\dots,n-1 \). The variables \( x_i \) could represent physical quantities like time, temperature, position etc. We assume that \( y(x) \) is a smooth function. +

    Before we proceed let us study a case from linear algebra where we aim at fitting a set of data \( \boldsymbol{y}=[y_0,y_1,\dots,y_{n-1}] \). We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables \( \boldsymbol{x}=[x_0,x_1,\dots,x_{n-1}] \), that is \( y_i = y(x_i) \) with \( i=0,1,2,\dots,n-1 \). The variables \( x_i \) could represent physical quantities like time, temperature, position etc. We assume that \( y(x) \) is a smooth function.

    -

    -Since obtaining these data points may not be trivial, we want to use these data to fit a function which can allow us to make predictions for values of \( y \) which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree \( n-1 \) with \( n \) points, that is +

    Since obtaining these data points may not be trivial, we want to use these data to fit a function which can allow us to make predictions for values of \( y \) which are not in the present set. The perhaps simplest approach is to assume we can parametrize our function in terms of a polynomial of degree \( n-1 \) with \( n \) points, that is

    $$ y=y(x) \rightarrow y(x_i)=\tilde{y}_i+\epsilon_i=\sum_{j=0}^{n-1} \beta_j x_i^j+\epsilon_i, $$ -where \( \epsilon_i \) is the error in our approximation. - - +

    where \( \epsilon_i \) is the error in our approximation.

    -











    -

    Rewriting the fitting procedure as a linear algebra problem

    -For every set of values \( y_i,x_i \) we have thus the corresponding set of equations +

    For every set of values \( y_i,x_i \) we have thus the corresponding set of equations

    $$ \begin{align*} y_0&=\beta_0+\beta_1x_0^1+\beta_2x_0^2+\dots+\beta_{n-1}x_0^{n-1}+\epsilon_0\\ @@ -2383,29 +2952,27 @@ $$
    -











    -

    Rewriting the fitting procedure as a linear algebra problem, more details

    -Defining the vectors +

    Defining the vectors

    $$ \boldsymbol{y} = [y_0,y_1, y_2,\dots, y_{n-1}]^T, $$ -and +

    and

    $$ \boldsymbol{\beta} = [\beta_0,\beta_1, \beta_2,\dots, \beta_{n-1}]^T, $$ -and +

    and

    $$ \boldsymbol{\epsilon} = [\epsilon_0,\epsilon_1, \epsilon_2,\dots, \epsilon_{n-1}]^T, $$ -and the design matrix +

    and the design matrix

    $$ \boldsymbol{X}= \begin{bmatrix} @@ -2417,29 +2984,27 @@ $$ \end{bmatrix} $$ -we can rewrite our equations as +

    we can rewrite our equations as

    $$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. $$ -The above design matrix is called a Vandermonde matrix. +

    The above design matrix is called a Vandermonde matrix.

    -











    -

    Generalizing the fitting procedure as a linear algebra problem

    -

    -We are obviously not limited to the above polynomial expansions. We +

    We are obviously not limited to the above polynomial expansions. We could replace the various powers of \( x \) with elements of Fourier series or instead of \( x_i^j \) we could have \( \cos{(j x_i)} \) or \( \sin{(j x_i)} \), or time series or other orthogonal functions. For every set of values \( y_i,x_i \) we can then generalize the equations to +

    $$ \begin{align*} @@ -2453,19 +3018,17 @@ y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{ \end{align*} $$ -

    + Note that we have \( p=n \) here. The matrix is symmetric. This is generally not the case!

    -











    -

    Generalizing the fitting procedure as a linear algebra problem

    -We redefine in turn the matrix \( \boldsymbol{X} \) as +

    We redefine in turn the matrix \( \boldsymbol{X} \) as

    $$ \boldsymbol{X}= \begin{bmatrix} @@ -2477,23 +3040,21 @@ x_{n-1,0}& x_{n-1,1} &x_{n-1,2}& \dots & \dots &x_{n-1,n-1}\\ \end{bmatrix} $$ -and without loss of generality we rewrite again our equations as +

    and without loss of generality we rewrite again our equations as

    $$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta}+\boldsymbol{\epsilon}. $$ -The left-hand side of this equation is kwown. Our error vector \( \boldsymbol{\epsilon} \) and the parameter vector \( \boldsymbol{\beta} \) are our unknow quantities. How can we obtain the optimal set of \( \beta_i \) values? +

    The left-hand side of this equation is kwown. Our error vector \( \boldsymbol{\epsilon} \) and the parameter vector \( \boldsymbol{\beta} \) are our unknow quantities. How can we obtain the optimal set of \( \beta_i \) values?

    -











    -

    Optimizing our parameters

    -We have defined the matrix \( \boldsymbol{X} \) via the equations +

    We have defined the matrix \( \boldsymbol{X} \) via the equations

    $$ \begin{align*} y_0&=\beta_0x_{00}+\beta_1x_{01}+\beta_2x_{02}+\dots+\beta_{n-1}x_{0n-1}+\epsilon_0\\ @@ -2506,29 +3067,27 @@ y_{n-1}&=\beta_0x_{n-1,0}+\beta_1x_{n-1,2}+\beta_2x_{n-1,2}+\dots+\beta_{n-1}x_{ \end{align*} $$ -

    -As we noted above, we stayed with a system with the design matrix +

    As we noted above, we stayed with a system with the design matrix \( \boldsymbol{X}\in {\mathbb{R}}^{n\times n} \), that is we have \( p=n \). For reasons to come later (algorithmic arguments) we will hereafter define our matrix as \( \boldsymbol{X}\in {\mathbb{R}}^{n\times p} \), with the predictors refering to the column numbers and the entries \( n \) being the row elements. - - +

    -











    -

    Our model for the nuclear binding energies

    -

    -In our introductory notes we looked at the so-called liquid drop model. Let us remind ourselves about what we did by looking at the code. +

    In our introductory notes we looked at the so-called liquid drop model. Let us remind ourselves about what we did by looking at the code.

    -

    -We restate the parts of the code we are most interested in. -

    +

    We restate the parts of the code we are most interested in.

    -
    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -2597,73 +3156,81 @@ DesignMatrix = pd.index = A
     DesignMatrix.columns = ['1', 'A', 'A^(2/3)', 'A^(-1/3)', '1/A']
     display(DesignMatrix)
    -
    -

    -With \( \boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1} \), it means that we will hereafter write our equations for the approximation as +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    With \( \boldsymbol{\beta}\in {\mathbb{R}}^{p\times 1} \), it means that we will hereafter write our equations for the approximation as

    $$ \boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, $$ -throughout these lectures. +

    throughout these lectures.

    -











    -

    Optimizing our parameters, more details

    -With the above we use the design matrix to define the approximation \( \boldsymbol{\tilde{y}} \) via the unknown quantity \( \boldsymbol{\beta} \) as +

    With the above we use the design matrix to define the approximation \( \boldsymbol{\tilde{y}} \) via the unknown quantity \( \boldsymbol{\beta} \) as

    $$ \boldsymbol{\tilde{y}}= \boldsymbol{X}\boldsymbol{\beta}, $$ -and in order to find the optimal parameters \( \beta_i \) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \( y_i \) (which represent hopefully the exact values) and the parameterized values \( \tilde{y}_i \), namely +

    and in order to find the optimal parameters \( \beta_i \) instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values \( y_i \) (which represent hopefully the exact values) and the parameterized values \( \tilde{y}_i \), namely

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, $$ -or using the matrix \( \boldsymbol{X} \) and in a more compact matrix-vector notation as +

    or using the matrix \( \boldsymbol{X} \) and in a more compact matrix-vector notation as

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}. $$ -This function is one possible way to define the so-called cost function. +

    This function is one possible way to define the so-called cost function.

    -

    -It is also common to define +

    It is also common to define the function \( C \) as +

    $$ C(\boldsymbol{\beta})=\frac{1}{2n}\sum_{i=0}^{n-1}\left(y_i-\tilde{y}_i\right)^2, $$ -since when taking the first derivative with respect to the unknown parameters \( \beta \), the factor of \( 2 \) cancels out. +

    since when taking the first derivative with respect to the unknown parameters \( \beta \), the factor of \( 2 \) cancels out.

    -











    -

    Interpretations and optimizing our parameters

    -

    -The function +

    The function

    $$ C(\boldsymbol{\beta})=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}, $$ -can be linked to the variance of the quantity \( y_i \) if we interpret the latter as the mean value. +

    can be linked to the variance of the quantity \( y_i \) if we interpret the latter as the mean value. When linking (see the discussion below) with the maximum likelihood approach below, we will indeed interpret \( y_i \) as a mean value +

    $$ y_{i}=\langle y_i \rangle = \beta_0x_{i,0}+\beta_1x_{i,1}+\beta_2x_{i,2}+\dots+\beta_{n-1}x_{i,n-1}+\epsilon_i, $$ -

    -where \( \langle y_i \rangle \) is the mean value. Keep in mind also that +

    where \( \langle y_i \rangle \) is the mean value. Keep in mind also that till now we have treated \( y_i \) as the exact value. Normally, the response (dependent or outcome) variable \( y_i \) the outcome of a numerical experiment or another type of experiment and is thus only an @@ -2671,57 +3238,52 @@ approximation to the true value. It is then always accompanied by an error estimate, often limited to a statistical error estimate given by the standard deviation discussed earlier. In the discussion here we will treat \( y_i \) as our exact value for the response variable. +

    -

    -In order to find the parameters \( \beta_i \) we will then minimize the spread of \( C(\boldsymbol{\beta}) \), that is we are going to solve the problem +

    In order to find the parameters \( \beta_i \) we will then minimize the spread of \( C(\boldsymbol{\beta}) \), that is we are going to solve the problem

    $$ {\displaystyle \min_{\boldsymbol{\beta}\in {\mathbb{R}}^{p}}}\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)^T\left(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)\right\}. $$ -In practical terms it means we will require +

    In practical terms it means we will require

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)^2\right]=0, $$ -which results in +

    which results in

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_{ij}\left(y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}\right)\right]=0, $$ -or in a matrix-vector form as +

    or in a matrix-vector form as

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right). $$ - -
    -











    -

    Interpretations and optimizing our parameters

    -We can rewrite +

    We can rewrite

    $$ \frac{\partial C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right), $$ -as +

    as

    $$ \boldsymbol{X}^T\boldsymbol{y} = \boldsymbol{X}^T\boldsymbol{X}\boldsymbol{\beta}, $$ -and if the matrix \( \boldsymbol{X}^T\boldsymbol{X} \) is invertible we have the solution +

    and if the matrix \( \boldsymbol{X}^T\boldsymbol{X} \) is invertible we have the solution

    $$ \boldsymbol{\beta} =\left(\boldsymbol{X}^T\boldsymbol{X}\right)^{-1}\boldsymbol{X}^T\boldsymbol{y}. $$ -

    -We note also that since our design matrix is defined as \( \boldsymbol{X}\in +

    We note also that since our design matrix is defined as \( \boldsymbol{X}\in {\mathbb{R}}^{n\times p} \), the product \( \boldsymbol{X}^T\boldsymbol{X} \in {\mathbb{R}}^{p\times p} \). In the above case we have that \( p \ll n \), in our case \( p=5 \) meaning that we end up with inverting a small @@ -2730,26 +3292,24 @@ matrices to invert. The methods discussed here and for many other supervised learning algorithms like classification with logistic regression or support vector machines, exhibit dimensionalities which allow for the usage of direct linear algebra methods such as LU decomposition or Singular Value Decomposition (SVD) for finding the inverse of the matrix -\( \boldsymbol{X}^T\boldsymbol{X} \). +\( \boldsymbol{X}^T\boldsymbol{X} \). +

    -

    -Small question: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix \( \boldsymbol{X}^T\boldsymbol{X} \)? What kind of problems can we expect? +

    Small question: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix \( \boldsymbol{X}^T\boldsymbol{X} \)? What kind of problems can we expect?

    -











    -

    Some useful matrix and vector expressions

    -

    -The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and +

    The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and matrices as upper case boldfaced letters. +

    $$ \frac{\partial (\boldsymbol{b}^T\boldsymbol{a})}{\partial \boldsymbol{a}} = \boldsymbol{b}, @@ -2768,65 +3328,97 @@ $$ $$









    -

    Interpretations and optimizing our parameters

    -The residuals \( \boldsymbol{\epsilon} \) are in turn given by +

    The residuals \( \boldsymbol{\epsilon} \) are in turn given by

    $$ \boldsymbol{\epsilon} = \boldsymbol{y}-\boldsymbol{\tilde{y}} = \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}, $$ -and with +

    and with

    $$ \boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, $$ -we have +

    we have

    $$ \boldsymbol{X}^T\boldsymbol{\epsilon}=\boldsymbol{X}^T\left( \boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta}\right)= 0, $$ -meaning that the solution for \( \boldsymbol{\beta} \) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach. - - +

    meaning that the solution for \( \boldsymbol{\beta} \) is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.

    -

    -Let us now return to our nuclear binding energies and simply code the above equations. +

    Let us now return to our nuclear binding energies and simply code the above equations.

    -











    -

    Own code for Ordinary Least Squares

    -

    -It is rather straightforward to implement the matrix inversion and obtain the parameters \( \boldsymbol{\beta} \). After having defined the matrix \( \boldsymbol{X} \) we simply need to +

    It is rather straightforward to implement the matrix inversion and obtain the parameters \( \boldsymbol{\beta} \). After having defined the matrix \( \boldsymbol{X} \) we simply need to write -

    +

    -
    # matrix inversion to find beta
    +
    +
    +
    +
    +
    +
    # matrix inversion to find beta
     beta = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(Energies)
     # and then make the prediction
     ytilde = X @ beta
    -
    -

    -Alternatively, you can use the least squares functionality in Numpy as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Alternatively, you can use the least squares functionality in Numpy as

    -
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
    +
    +
    +
    +
    +
    +
    fit = np.linalg.lstsq(X, Energies, rcond =None)[0]
     ytildenp = np.dot(fit,X.T)
    -
    -

    -And finally we plot our fit with and compare with data -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    And finally we plot our fit with and compare with data

    -
    Masses['Eapprox']  = ytilde
    +
    +
    +
    +
    +
    +
    Masses['Eapprox']  = ytilde
     # Generate a plot comparing the experimental with the fitted values values.
     fig, ax = plt.subplots()
     ax.set_xlabel(r'$A = N + Z$')
    @@ -2838,200 +3430,266 @@ ax.plot(Masses[
     ax.legend()
     save_fig("Masses2016OLS")
     plt.show()
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    Adding error analysis and training set up

    -

    -We can easily test our fit by computing the \( R2 \) score that we discussed in connection with the functionality of Scikit-Learn in the introductory slides. +

    We can easily test our fit by computing the \( R2 \) score that we discussed in connection with the functionality of Scikit-Learn in the introductory slides. Since we are not using Scikit-Learn here we can define our own \( R2 \) function as -

    +

    -
    def R2(y_data, y_model):
    +
    +
    +
    +
    +
    +
    def R2(y_data, y_model):
         return 1 - np.sum((y_data - y_model) ** 2) / np.sum((y_data - np.mean(y_data)) ** 2)
    -
    -

    -and we would be using it as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    and we would be using it as

    -
    print(R2(Energies,ytilde))
    -
    -

    -We can easily add our MSE score as -

    +

    +
    +
    +
    +
    +
    print(R2(Energies,ytilde))
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    We can easily add our MSE score as

    -
    def MSE(y_data,y_model):
    +
    +
    +
    +
    +
    +
    def MSE(y_data,y_model):
         n = np.size(y_model)
         return np.sum((y_data-y_model)**2)/n
     
     print(MSE(Energies,ytilde))
    -
    -

    -and finally the relative error as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    and finally the relative error as

    -
    def RelativeError(y_data,y_model):
    +
    +
    +
    +
    +
    +
    def RelativeError(y_data,y_model):
         return abs((y_data-y_model)/y_data)
     print(RelativeError(Energies, ytilde))
    -
    -

    -









    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    The \( \chi^2 \) function

    -

    -Normally, the response (dependent or outcome) variable \( y_i \) is the +

    Normally, the response (dependent or outcome) variable \( y_i \) is the outcome of a numerical experiment or another type of experiment and is thus only an approximation to the true value. It is then always accompanied by an error estimate, often limited to a statistical error estimate given by the standard deviation discussed earlier. In the discussion here we will treat \( y_i \) as our exact value for the response variable. +

    -

    -Introducing the standard deviation \( \sigma_i \) for each measurement +

    Introducing the standard deviation \( \sigma_i \) for each measurement \( y_i \), we define now the \( \chi^2 \) function (omitting the \( 1/n \) term) as +

    $$ \chi^2(\boldsymbol{\beta})=\frac{1}{n}\sum_{i=0}^{n-1}\frac{\left(y_i-\tilde{y}_i\right)^2}{\sigma_i^2}=\frac{1}{n}\left\{\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)^T\frac{1}{\boldsymbol{\Sigma^2}}\left(\boldsymbol{y}-\boldsymbol{\tilde{y}}\right)\right\}, $$ -where the matrix \( \boldsymbol{\Sigma} \) is a diagonal matrix with \( \sigma_i \) as matrix elements. - - +

    where the matrix \( \boldsymbol{\Sigma} \) is a diagonal matrix with \( \sigma_i \) as matrix elements.

    -











    -

    The \( \chi^2 \) function

    -

    -In order to find the parameters \( \beta_i \) we will then minimize the spread of \( \chi^2(\boldsymbol{\beta}) \) by requiring +

    In order to find the parameters \( \beta_i \) we will then minimize the spread of \( \chi^2(\boldsymbol{\beta}) \) by requiring

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = \frac{\partial }{\partial \beta_j}\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)^2\right]=0, $$ -which results in +

    which results in

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_j} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}\frac{x_{ij}}{\sigma_i}\left(\frac{y_i-\beta_0x_{i,0}-\beta_1x_{i,1}-\beta_2x_{i,2}-\dots-\beta_{n-1}x_{i,n-1}}{\sigma_i}\right)\right]=0, $$ -or in a matrix-vector form as +

    or in a matrix-vector form as

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right). $$ -where we have defined the matrix \( \boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\Sigma} \) with matrix elements \( a_{ij} = x_{ij}/\sigma_i \) and the vector \( \boldsymbol{b} \) with elements \( b_i = y_i/\sigma_i \). +

    where we have defined the matrix \( \boldsymbol{A} =\boldsymbol{X}/\boldsymbol{\Sigma} \) with matrix elements \( a_{ij} = x_{ij}/\sigma_i \) and the vector \( \boldsymbol{b} \) with elements \( b_i = y_i/\sigma_i \).

    -











    -

    The \( \chi^2 \) function

    -

    -We can rewrite +

    We can rewrite

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} = 0 = \boldsymbol{A}^T\left( \boldsymbol{b}-\boldsymbol{A}\boldsymbol{\beta}\right), $$ -as +

    as

    $$ \boldsymbol{A}^T\boldsymbol{b} = \boldsymbol{A}^T\boldsymbol{A}\boldsymbol{\beta}, $$ -and if the matrix \( \boldsymbol{A}^T\boldsymbol{A} \) is invertible we have the solution +

    and if the matrix \( \boldsymbol{A}^T\boldsymbol{A} \) is invertible we have the solution

    $$ \boldsymbol{\beta} =\left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}\boldsymbol{A}^T\boldsymbol{b}. $$
    -











    -

    The \( \chi^2 \) function

    -

    -If we then introduce the matrix +

    If we then introduce the matrix

    $$ \boldsymbol{H} = \left(\boldsymbol{A}^T\boldsymbol{A}\right)^{-1}, $$ -we have then the following expression for the parameters \( \beta_j \) (the matrix elements of \( \boldsymbol{H} \) are \( h_{ij} \)) +

    we have then the following expression for the parameters \( \beta_j \) (the matrix elements of \( \boldsymbol{H} \) are \( h_{ij} \))

    $$ \beta_j = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}\frac{y_i}{\sigma_i}\frac{x_{ik}}{\sigma_i} = \sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}b_ia_{ik} $$ -We state without proof the expression for the uncertainty in the parameters \( \beta_j \) as (we leave this as an exercise) +

    We state without proof the expression for the uncertainty in the parameters \( \beta_j \) as (we leave this as an exercise)

    $$ \sigma^2(\beta_j) = \sum_{i=0}^{n-1}\sigma_i^2\left( \frac{\partial \beta_j}{\partial y_i}\right)^2, $$ -resulting in +

    resulting in

    $$ \sigma^2(\beta_j) = \left(\sum_{k=0}^{p-1}h_{jk}\sum_{i=0}^{n-1}a_{ik}\right)\left(\sum_{l=0}^{p-1}h_{jl}\sum_{m=0}^{n-1}a_{ml}\right) = h_{jj}! $$
    -











    -

    The \( \chi^2 \) function

    -The first step here is to approximate the function \( y \) with a first-order polynomial, that is we write +

    The first step here is to approximate the function \( y \) with a first-order polynomial, that is we write

    $$ y=y(x) \rightarrow y(x_i) \approx \beta_0+\beta_1 x_i. $$ -By computing the derivatives of \( \chi^2 \) with respect to \( \beta_0 \) and \( \beta_1 \) show that these are given by +

    By computing the derivatives of \( \chi^2 \) with respect to \( \beta_0 \) and \( \beta_1 \) show that these are given by

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_0} = -2\left[ \frac{1}{n}\sum_{i=0}^{n-1}\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0, $$ -and +

    and

    $$ \frac{\partial \chi^2(\boldsymbol{\beta})}{\partial \beta_1} = -\frac{2}{n}\left[ \sum_{i=0}^{n-1}x_i\left(\frac{y_i-\beta_0-\beta_1x_{i}}{\sigma_i^2}\right)\right]=0. $$
    -











    -

    The \( \chi^2 \) function

    -

    -For a linear fit (a first-order polynomial) we don't need to invert a matrix!! +

    For a linear fit (a first-order polynomial) we don't need to invert a matrix!! Defining +

    $$ \gamma = \sum_{i=0}^{n-1}\frac{1}{\sigma_i^2}, $$ @@ -3056,8 +3714,7 @@ $$ \gamma_{xy} = \sum_{i=0}^{n-1}\frac{y_ix_{i}}{\sigma_i^2}, $$ -

    -we obtain +

    we obtain

    $$ \beta_0 = \frac{\gamma_{xx}\gamma_y-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}, @@ -3068,50 +3725,48 @@ $$ \beta_1 = \frac{\gamma_{xy}\gamma-\gamma_x\gamma_y}{\gamma\gamma_{xx}-\gamma_x^2}. $$ -

    -This approach (different linear and non-linear regression) suffers +

    This approach (different linear and non-linear regression) suffers often from both being underdetermined and overdetermined in the unknown coefficients \( \beta_i \). A better approach is to use the Singular Value Decomposition (SVD) method discussed next week. - - +

    -











    -

    Fitting an Equation of State for Dense Nuclear Matter

    -

    -Before we continue, let us introduce yet another example. We are going to fit the +

    Before we continue, let us introduce yet another example. We are going to fit the nuclear equation of state using results from many-body calculations. The equation of state we have made available here, as function of density, has been derived using modern nucleon-nucleon potentials with the addition of three-body forces. This time the file is presented as a standard csv file. +

    -

    -The beginning of the Python code here is similar to what you have seen +

    The beginning of the Python code here is similar to what you have seen before, with the same initializations and declarations. We use also pandas again, rather extensively in order to organize our data. +

    -

    -The difference now is that we use Scikit-Learn's regression tools +

    The difference now is that we use Scikit-Learn's regression tools instead of our own matrix inversion implementation. Furthermore, we sneak in Ridge regression (to be discussed below) which includes a hyperparameter \( \lambda \), also to be explained below. +

    -











    -

    The code

    -

    -

    # Common imports
    +
    +
    +
    +
    +
    +
    # Common imports
     import os
     import numpy as np
     import pandas as pd
    @@ -3196,23 +3851,34 @@ ax.plot(EoS[
     ax.legend()
     save_fig("EoSfitting")
     plt.show()
    -
    -

    -The above simple polynomial in density \( \rho \) gives an excellent fit -to the data. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + -

    -We note also that there is a small deviation between the +

    The above simple polynomial in density \( \rho \) gives an excellent fit +to the data. +

    + +

    We note also that there is a small deviation between the standard OLS and the Ridge regression at higher densities. We discuss this in more detail below. +

    -











    -

    Splitting our Data in Training and Test data

    -

    -It is normal in essentially all Machine Learning studies to split the +

    It is normal in essentially all Machine Learning studies to split the data in a training set and a test set (sometimes also an additional validation set). Scikit-Learn has an own function for this. There is no explicit recipe for how much data should be included as training @@ -3222,11 +3888,16 @@ postpone a discussion of this splitting to the end of these notes and our discussion of the so-called bias-variance tradeoff. Here we limit ourselves to repeat the above equation of state fitting example but now splitting the data into a training set and a test set. +

    -

    -

    import os
    +
    +
    +
    +
    +
    +
    import os
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -3290,144 +3961,172 @@ ypredict = X_test print(R2(y_test,ypredict))
     print("Test MSE")
     print(MSE(y_test,ypredict))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    -

    Exercises for week 35

    -Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1. +

    Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1.

    -

    -

    Exercise 1: Setting up various Python environments

    -

    -The first exercise here is of a mere technical art. We want you to have - +

    The first exercise here is of a mere technical art. We want you to have

    • git as a version control software and to establish a user account on a provider like GitHub. Other providers like GitLab etc are equally fine. You can also use the University of Oslo GitHub facilities.
    • Install various Python packages
    - -We will make extensive use of Python as programming language and its +

    We will make extensive use of Python as programming language and its myriad of available libraries. You will find IPython/Jupyter notebooks invaluable in your work. You can run R codes in the Jupyter/IPython notebooks, with the immediate benefit of visualizing your data. You can also use compiled languages like C++, Rust, Fortran etc if you prefer. The focus in these lectures will be on Python. +

    -

    -If you have Python installed (we recommend Python3) and you feel +

    If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, we recommend that you install the following Python packages via pip as +

    1. pip install numpy scipy matplotlib ipython scikit-learn sympy pandas pillow
    - -For Tensorflow, we recommend following the instructions in the text of +

    For Tensorflow, we recommend following the instructions in the text of Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly +

    -

    -We will come back to tensorflow later. +

    We will come back to tensorflow later.

    -

    -For Python3, replace pip with pip3. +

    For Python3, replace pip with pip3.

    -

    -For OSX users we recommend, after having installed Xcode, to +

    For OSX users we recommend, after having installed Xcode, to install brew. Brew allows for a seamless installation of additional software via for example +

    1. brew install python3
    - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, +

    For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution, you can use pip as well and simply install Python as +

    1. sudo apt-get install python3 (or python for Python2.7)
    - -If you don't want to perform these operations separately and venture +

    If you don't want to perform these operations separately and venture into the hassle of exploring how to set up dependencies and paths, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely +

    - -which is an open source +

    which is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system conda. +

    - -is a Python +

    is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. +

    -

    -We recommend using Anaconda if you are not too familiar with setting paths in a terminal environment. +

    We recommend using Anaconda if you are not too familiar with setting paths in a terminal environment.

    -

    -

    -

    Exercise 2: making your own data and exploring scikit-learn

    -

    -We will generate our own dataset for a function \( y(x) \) where \( x \in [0,1] \) and defined by random numbers computed with the uniform distribution. The function \( y \) is a quadratic polynomial in \( x \) with added stochastic noise according to the normal distribution \( \cal {N}(0,1) \). +

    We will generate our own dataset for a function \( y(x) \) where \( x \in [0,1] \) and defined by random numbers computed with the uniform distribution. The function \( y \) is a quadratic polynomial in \( x \) with added stochastic noise according to the normal distribution \( \cal {N}(0,1) \). The following simple Python instructions define our \( x \) and \( y \) values (with 100 data points). -

    +

    -
    x = np.random.rand(100,1)
    +
    +
    +
    +
    +
    +
    x = np.random.rand(100,1)
     y = 2.0+5*x*x+0.1*np.random.randn(100,1)
    -
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +
    1. Write your own code (following the examples under the regression notes) for computing the parametrization of the data set fitting a second-order polynomial.
    2. Use thereafter scikit-learn (see again the examples in the regression slides) and compare with your own code.
    3. Using scikit-learn, compute also the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error defined as
    - $$ MSE(\boldsymbol{y},\boldsymbol{\tilde{y}}) = \frac{1}{n} \sum_{i=0}^{n-1}(y_i-\tilde{y}_i)^2, $$ -and the \( R^2 \) score function. +

    and the \( R^2 \) score function. If \( \tilde{\boldsymbol{y}}_i \) is the predicted value of the \( i-th \) sample and \( y_i \) is the corresponding true value, then the score \( R^2 \) is defined as +

    $$ R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i - \tilde{y}_i)^2}{\sum_{i=0}^{n - 1} (y_i - \bar{y})^2}, $$ -where we have defined the mean value of \( \boldsymbol{y} \) as +

    where we have defined the mean value of \( \boldsymbol{y} \) as

    $$ \bar{y} = \frac{1}{n} \sum_{i=0}^{n - 1} y_i. $$ -You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. +

    You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. Discuss the meaning of these results. Try also to vary the coefficient in front of the added stochastic noise term and discuss the quality of the fits. +

    -

    +

    Solution. The code here is an example of where we define our own design matrix and fit parameters \( \beta \). -

    +

    -
    import os
    +
    +
    +
    +
    +
    +
    import os
     import numpy as np
     import pandas as pd
     import matplotlib.pyplot as plt
    @@ -3467,26 +4166,36 @@ ypredict = X_test print(R2(y_test,ypredict))
     print("Test MSE")
     print(MSE(y_test,ypredict))
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + + -

    -

    -

    Exercise 3: Normalizing our data

    -

    -A much used approach before starting to train the data is to preprocess our +

    A much used approach before starting to train the data is to preprocess our data. Normally the data may need a rescaling and/or may be sensitive to extreme values. Scaling the data renders our inputs much more suitable for the algorithms we want to employ. +

    -

    -Scikit-Learn has several functions which allow us to rescale the +

    Scikit-Learn has several functions which allow us to rescale the data, normally resulting in much better results in terms of various accuracy scores. The StandardScaler function in Scikit-Learn ensures that for each feature/predictor we study the mean value is @@ -3495,18 +4204,18 @@ matrix). This scaling has the drawback that it does not ensure that we have a particular maximum or minimum in our data set. Another function included in Scikit-Learn is the MinMaxScaler which ensures that all features are exactly between \( 0 \) and \( 1 \). The +

    -

    -The Normalizer scales each data +

    The Normalizer scales each data point such that the feature vector has a euclidean length of one. In other words, it projects a data point on the circle (or sphere in the case of higher dimensions) with a radius of 1. This means every data point is scaled by a different number (by the inverse of it’s length). This normalization is often used when only the direction (or angle) of the data matters, not the length of the feature vector. +

    -

    -The RobustScaler works similarly to the StandardScaler in that it +

    The RobustScaler works similarly to the StandardScaler in that it ensures statistical properties for each feature that guarantee that they are on the same scale. However, the RobustScaler uses the median and quartiles, instead of mean and variance. This makes the @@ -3514,74 +4223,131 @@ RobustScaler ignore data points that are very different from the rest (like measurement errors). These odd data points are also called outliers, and might often lead to trouble for other scaling techniques. +

    -

    -It also common to split the data in a training set and a testing set. A typical split is to use \( 80\% \) of the data for training and the rest +

    It also common to split the data in a training set and a testing set. A typical split is to use \( 80\% \) of the data for training and the rest for testing. This can be done as follows with our design matrix \( \boldsymbol{X} \) and data \( \boldsymbol{y} \) (remember to import scikit-learn) -

    +

    -
    # split in training and test data
    +
    +
    +
    +
    +
    +
    # split in training and test data
     X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2)
    -
    -

    -Then we can use the standard scaler to scale our data as -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    Then we can use the standard scaler to scale our data as

    -
    scaler = StandardScaler()
    +
    +
    +
    +
    +
    +
    scaler = StandardScaler()
     scaler.fit(X_train)
     X_train_scaled = scaler.transform(X_train)
     X_test_scaled = scaler.transform(X_test)
    -
    -

    -In this exercise we want you to to compute the MSE for the training +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    In this exercise we want you to to compute the MSE for the training data and the test data as function of the complexity of a polynomial, -that is the degree of a given polynomial. We want you also to compute the \( R2 \) score as function of the complexity of the model for both training data and test data. You should also run the calculation with and without scaling. +that is the degree of a given polynomial. We want you also to compute the \( R2 \) score as function of the complexity of the model for both training data and test data. You should also run the calculation with and without scaling. +

    -

    -One of +

    One of the aims is to reproduce Figure 2.11 of Hastie et al. +

    -

    -Our data is defined by \( x\in [-3,3] \) with a total of for example \( 100 \) data points. -

    +

    Our data is defined by \( x\in [-3,3] \) with a total of for example \( 100 \) data points.

    -
    np.random.seed()
    +
    +
    +
    +
    +
    +
    np.random.seed()
     n = 100
     maxdegree = 14
     # Make data set.
     x = np.linspace(-3, 3, n).reshape(-1, 1)
     y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)
    -
    -

    -where \( y \) is the function we want to fit with a given polynomial. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + +

    where \( y \) is the function we want to fit with a given polynomial.

    + +

    a) Write a first code which sets up a design matrix \( X \) defined by a fifth-order polynomial. Scale your data and split it in training and test data. +

    + + +

    b) Perform an ordinary least squares and compute the means squared error and the \( R2 \) factor for the training data and the test data, with and without scaling. +

    + + +

    c) Add now a model which allows you to make polynomials up to degree \( 15 \). Perform a standard OLS fitting of the training data and compute the MSE and \( R2 \) for the training and test data and plot both test and training data MSE and \( R2 \) as functions of the polynomial degree. Compare what you see with Figure 2.11 of Hastie et al. Comment your results. For which polynomial degree do you find an optimal MSE (smallest value)? +

    + + -

    - - -

    © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week34/ipynb/ipynb-week34-src.tar.gz b/doc/pub/week34/ipynb/ipynb-week34-src.tar.gz index c9c5818ce762911df938ce7a46455a7f530d41bf..fb3386a2fec4e270573c9bf1683df18bd90cb24c 100644 GIT binary patch delta 54664 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 delta 54498 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�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 b2E^$4zq5S*`Okm;^Z)68eH5#m0G\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a6b35c1f", + "metadata": { + "editable": true + }, "source": [ - "\n", "# Week 34: Introduction to the course, Logistics and Practicalities\n", - "\n", - " \n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", - "Date: **Oct 12, 2021**\n", - "\n", - "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "Date: **Nov 13, 2021**\n", "\n", + "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license" + ] + }, + { + "cell_type": "markdown", + "id": "fc8efbd6", + "metadata": { + "editable": true + }, + "source": [ "## Overview of first week\n", "\n", " * Wednesday August 25: Introduction to software and repetition of Python Programming\n", @@ -31,10 +44,16 @@ "\n", " * Friday August 27: Linear regression \n", "\n", - " * Computer lab: Wednesdays, 8am-6pm. First time: Wednesday August 25.\n", - "\n", - "\n", - "\n", + " * Computer lab: Wednesdays, 8am-6pm. First time: Wednesday August 25." + ] + }, + { + "cell_type": "markdown", + "id": "4e83c342", + "metadata": { + "editable": true + }, + "source": [ "## Reading Recommendations\n", "\n", "For the reading assignments we use the following abbreviations:\n", @@ -46,32 +65,38 @@ "\n", "* AG: Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow\n", "\n", - "Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at \n", - "\n", - "\n", - "\n", - "\n", + "Reading recommendations this week: Refresh linear algebra, GBC chapters 1 and 2. CMB sections 1.1 and 3.1. HTF chapters 2 and 3. Install scikit-learn. See lecture notes for week 34 at " + ] + }, + { + "cell_type": "markdown", + "id": "fcee1694", + "metadata": { + "editable": true + }, + "source": [ "## Thursday August 26\n", "\n", - "\n", - "\n", - "\n", "The lectures will be recorded and updated videos will be posted after the lectures. \n", "\n", "\"Video of Lecture August 26, 2021\":\"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust26.mp4?vrtx=view-as-webpage\n", "\n", - "\n", "**Zoom link for lectures**: \n", "\n", "* Meeting ID: 933 1152 9525\n", "\n", "* Passcode: 646102\n", "\n", - "[Video of Lecture from Fall Semester 2020](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/zoom_0.mp4?vrtx=view-as-webpage).\n", - "\n", - "\n", - "\n", - "\n", + "[Video of Lecture from Fall Semester 2020](https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/zoom_0.mp4?vrtx=view-as-webpage)." + ] + }, + { + "cell_type": "markdown", + "id": "e9c0ae5d", + "metadata": { + "editable": true + }, + "source": [ "## Lectures and ComputerLab\n", "\n", " * Lectures: Thursday (12.15pm-2pm and Friday (12.15pm-2pm). \n", @@ -84,24 +109,44 @@ "\n", " * Weekly plans and all other information are on the official webpage.\n", "\n", - " * No final exam, three projects that are graded and have to be approved.\n", - "\n", - "\n", - "\n", - "\n", + " * No final exam, three projects that are graded and have to be approved." + ] + }, + { + "cell_type": "markdown", + "id": "e862726a", + "metadata": { + "editable": true + }, + "source": [ "## Announcement\n", "\n", - "**NORA AI competetion:** See the link here \n", - "\n", - "\n", + "**NORA AI competetion:** See the link here " + ] + }, + { + "cell_type": "markdown", + "id": "b7e9a904", + "metadata": { + "editable": true + }, + "source": [ "## Communication channels\n", "\n", "* Chat and communications via , GDPR safe\n", "\n", "* **Slack** channel: machinelearninguio.slack.com\n", "\n", - "* **Piazza** : enlist at \n", - "\n", + "* **Piazza** : enlist at " + ] + }, + { + "cell_type": "markdown", + "id": "cb950912", + "metadata": { + "editable": true + }, + "source": [ "## Course Format\n", "\n", " * Three compulsory projects. Electronic reports only using [Canvas](https://www.uio.no/english/services/it/education/canvas/) to hand in projects and [git](https://git-scm.com/) as version control software and [GitHub](https://github.com/) for repository (or [GitLab](https://about.gitlab.com/)) of all your material.\n", @@ -116,17 +161,18 @@ "\n", "d. Based on feedback etc, each group finalizes the report and submits for grading. \n", "\n", - "\n", - " * Python is the default programming language, but feel free to use C/C++ and/or Fortran or other programming languages. All source codes discussed during the lectures can be found at the webpage and [github address](https://github.com/CompPhysics/MachineLearning/tree/master/doc/Programs) of the course.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + " * Python is the default programming language, but feel free to use C/C++ and/or Fortran or other programming languages. All source codes discussed during the lectures can be found at the webpage and [github address](https://github.com/CompPhysics/MachineLearning/tree/master/doc/Programs) of the course." + ] + }, + { + "cell_type": "markdown", + "id": "4f4f5449", + "metadata": { + "editable": true + }, + "source": [ "## Teachers\n", "\n", - "\n", "**Teachers :**\n", "* Morten Hjorth-Jensen, morten.hjorth-jensen@fys.uio.no\n", "\n", @@ -136,44 +182,50 @@ "\n", " * **Office hours**: *Anytime*! Individual or group office hours can be arranged either in person or via zoom. Feel free to send an email for planning. \n", "\n", - "\n", "* Øyvind Sigmundson Schøyen, oyvinssc@student.matnat.uio.no\n", "\n", " * **Office**: Department of Physics, University of Oslo, Eastern wing, room FØ452\n", "\n", - "\n", "* Stian Dysthe Bilek stian.bilek@fys.uio.no\n", "\n", " * **Office**: Department of Physics, University of Oslo, Eastern wing, room FØ450\n", "\n", - "\n", "* Linus Ekstrøm, linueks@gmail.com, linus.ekstrom@fys.uio.no\n", "\n", "* Nicholas Karlsen, nicholaskarlsen1102@gmail.com, nicholas.karlsen@fys.uio.no\n", "\n", "* Bendik Steinsvåg Dalen, b.s.dalen@fys.uio.no\n", "\n", - "* Philip Karim Sørli Niane, p.k.s.niane@fys.uio.no\n", - "\n", - "\n", - "\n", + "* Philip Karim Sørli Niane, p.k.s.niane@fys.uio.no" + ] + }, + { + "cell_type": "markdown", + "id": "0de9f263", + "metadata": { + "editable": true + }, + "source": [ "## Deadlines for projects (tentative)\n", "\n", - "\n", "1. Project 1: October 11 (available September 10) graded with feedback)\n", "\n", - "2. Project 2: November 15 (available October 12, graded with feedback)\n", - "\n", - "3. Project 3: December 13 (available November 8, graded with feedback)\n", - "\n", - "Projects are handed in using **Canvas**. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via **Canvas**.\n", - "\n", - "\n", + "2. Project 2: November 20 (available October 12, graded with feedback)\n", "\n", + "3. Project 3: December 17 (available November 13, graded with feedback)\n", "\n", + "Projects are handed in using **Canvas**. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via **Canvas**." + ] + }, + { + "cell_type": "markdown", + "id": "39cb9d48", + "metadata": { + "editable": true + }, + "source": [ "## Recommended textbooks\n", "\n", - "\n", "1. The lecture notes are collected as a jupyter-book at \n", "\n", "In addition to the lecture notes, we recommend the books of Bishop and Goodfellow et al. We will follow these texts closely and the weekly reading assignments refer to these two texts. The text by Hastie et al is also widely used in the Machine Learning community. Finally, we also recommend the hands-on text by Geron, see below.\n", @@ -186,8 +238,16 @@ "\n", "1. Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer, This is a well-known text and serves as additional literature.\n", "\n", - "2. Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly, This text is very useful since it contains many code examples and hands-on applications of all algorithms discussed in this course.\n", - "\n", + "2. Aurelien Geron, Hands‑On Machine Learning with Scikit‑Learn and TensorFlow, O'Reilly, This text is very useful since it contains many code examples and hands-on applications of all algorithms discussed in this course." + ] + }, + { + "cell_type": "markdown", + "id": "45351170", + "metadata": { + "editable": true + }, + "source": [ "## Prerequisites\n", "\n", "Basic knowledge in programming and mathematics, with an emphasis on\n", @@ -198,14 +258,18 @@ "of the corresponding computing and programming courses INF1000/INF1110\n", "or MAT-INF1100/MAT-INF1100L/BIOS1100/KJM-INF1100. Most universities\n", "offer nowadays a basic programming course (often compulsory) where\n", - "Python is the recurring programming language.\n", - "\n", - "\n", - "\n", + "Python is the recurring programming language." + ] + }, + { + "cell_type": "markdown", + "id": "071161a1", + "metadata": { + "editable": true + }, + "source": [ "## Learning outcomes\n", "\n", - "\n", - "\n", "This course aims at giving you insights and knowledge about many of\n", "the central algorithms used in Data Analysis and Machine Learning.\n", "The course is project based and through various numerical projects,\n", @@ -238,10 +302,16 @@ "\n", "* Autoencoders and Reinforcement Learning;\n", "\n", - "* Work on numerical projects to illustrate the theory. The projects play a central role and you are expected to know modern programming languages like Python or C++ and/or Fortran (Fortran2003 or later) or Julia or other.\n", - "\n", - "\n", - "\n", + "* Work on numerical projects to illustrate the theory. The projects play a central role and you are expected to know modern programming languages like Python or C++ and/or Fortran (Fortran2003 or later) or Julia or other." + ] + }, + { + "cell_type": "markdown", + "id": "638641fd", + "metadata": { + "editable": true + }, + "source": [ "## Topics covered in this course: Statistical analysis and optimization of data\n", "\n", "The course has two central parts\n", @@ -254,7 +324,6 @@ "\n", "**Statistical analysis and optimization of data.**\n", "\n", - "\n", "We plan to cover the following topics:\n", "* Basic concepts, expectation values, variance, covariance, correlation functions and errors;\n", "\n", @@ -268,11 +337,16 @@ "\n", "* Estimation of errors and resampling techniques such as the cross-validation, blocking, bootstrapping and jackknife methods;\n", "\n", - "* Principal Component Analysis (PCA) and its mathematical foundation\n", - "\n", - "\n", - "\n", - "\n", + "* Principal Component Analysis (PCA) and its mathematical foundation" + ] + }, + { + "cell_type": "markdown", + "id": "4d686486", + "metadata": { + "editable": true + }, + "source": [ "## Topics covered in this course: Machine Learning\n", "\n", "The following topics will be covered\n", @@ -290,25 +364,32 @@ "\n", "* Unsupervised learning Dimensionality reduction, from PCA to clustering\n", "\n", - "Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics.\n", - "\n", - "\n", - "\n", - "\n", + "Hands-on demonstrations, exercises and projects aim at deepening your understanding of these topics." + ] + }, + { + "cell_type": "markdown", + "id": "448b469d", + "metadata": { + "editable": true + }, + "source": [ "## Extremely useful tools, strongly recommended\n", "\n", "**and discussed at the lab sessions.**\n", "\n", " * GIT for version control, and GitHub or GitLab as repositories, highly recommended. This will be discussed during the first exercise session\n", "\n", - " * Anaconda and other Python environments, see intro slides and links to programming resources at \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + " * Anaconda and other Python environments, see intro slides and links to programming resources at " + ] + }, + { + "cell_type": "markdown", + "id": "6fa4bed1", + "metadata": { + "editable": true + }, + "source": [ "## Other courses on Data science and Machine Learning at UiO\n", "\n", "The link here gives an excellent overview of courses on Machine learning at UiO.\n", @@ -333,8 +414,16 @@ "\n", "10. [STK4051 Computational Statistics](https://www.uio.no/studier/emner/matnat/math/STK4051/index-eng.html)\n", "\n", - "11. [STK4021 Applied Bayesian Analysis and Numerical Methods](https://www.uio.no/studier/emner/matnat/math/STK4021/index-eng.html)\n", - "\n", + "11. [STK4021 Applied Bayesian Analysis and Numerical Methods](https://www.uio.no/studier/emner/matnat/math/STK4021/index-eng.html)" + ] + }, + { + "cell_type": "markdown", + "id": "f2061698", + "metadata": { + "editable": true + }, + "source": [ "## Introduction\n", "\n", "Our emphasis throughout this series of lectures \n", @@ -368,9 +457,16 @@ "Tensorflow (see below for links etc). Moreover, the examples we\n", "introduce will serve as inputs to many of our discussions later, as\n", "well as allowing you to set up models and produce your own data and\n", - "get started with programming.\n", - "\n", - "\n", + "get started with programming." + ] + }, + { + "cell_type": "markdown", + "id": "80ee1e31", + "metadata": { + "editable": true + }, + "source": [ "## What is Machine Learning?\n", "\n", "Statistics, data science and machine learning form important fields of\n", @@ -434,12 +530,18 @@ "solid command of linear algebra, multivariate theory, probability\n", "theory, statistical data analysis, understanding errors and Monte\n", "Carlo methods are central elements in a proper understanding of many\n", - "of algorithms and methods we will discuss.\n", - "\n", - "\n", + "of algorithms and methods we will discuss." + ] + }, + { + "cell_type": "markdown", + "id": "aaddb93e", + "metadata": { + "editable": true + }, + "source": [ "## Types of Machine Learning\n", "\n", - "\n", "The approaches to machine learning are many, but are often split into\n", "two main categories. In *supervised learning* we know the answer to a\n", "problem, and let the computer deduce the logic behind it. On the other\n", @@ -457,8 +559,16 @@ "\n", " * Regression: Finding a functional relationship between an input data set and a reference data set. The goal is to construct a function that maps input data to continuous output values.\n", "\n", - " * Clustering: Data are divided into groups with certain common traits, without knowing the different groups beforehand. It is thus a form of unsupervised learning.\n", - "\n", + " * Clustering: Data are divided into groups with certain common traits, without knowing the different groups beforehand. It is thus a form of unsupervised learning." + ] + }, + { + "cell_type": "markdown", + "id": "2260de85", + "metadata": { + "editable": true + }, + "source": [ "## Essential elements of ML\n", "\n", "The methods we cover have three main topics in common, irrespective of\n", @@ -467,16 +577,28 @@ "\n", "* The second item is a model which is normally a function of some parameters. The model reflects our knowledge of the system (or lack thereof). As an example, if we know that our data show a behavior similar to what would be predicted by a polynomial, fitting our data to a polynomial of some degree would then determin our model. \n", "\n", - "* The last ingredient is a so-called **cost/loss** function (or error or risk function) which allows us to present an estimate on how good our model is in reproducing the data it is supposed to train. \n", - "\n", - "\n", - "\n", - "\n", - "\n", + "* The last ingredient is a so-called **cost/loss** function (or error or risk function) which allows us to present an estimate on how good our model is in reproducing the data it is supposed to train." + ] + }, + { + "cell_type": "markdown", + "id": "f559e833", + "metadata": { + "editable": true + }, + "source": [ "## An optimization/minimization problem\n", "\n", - "At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called **gradient methods**.\n", - "\n", + "At the heart of basically all Machine Learning algorithms we will encounter so-called minimization or optimization algorithms. A large family of such methods are so-called **gradient methods**." + ] + }, + { + "cell_type": "markdown", + "id": "97d9dee8", + "metadata": { + "editable": true + }, + "source": [ "## A Frequentist approach to data analysis\n", "\n", "When you hear phrases like **predictions and estimations** and\n", @@ -502,9 +624,16 @@ "where the aim is to make predictions and find correlations. We focus\n", "less on for example extracting a probability distribution function (PDF). The PDF can be\n", "used in turn to make estimations and find causations such as given $A$\n", - "what is the likelihood of finding $B$.\n", - "\n", - "\n", + "what is the likelihood of finding $B$." + ] + }, + { + "cell_type": "markdown", + "id": "d3c059e8", + "metadata": { + "editable": true + }, + "source": [ "## What is a good model?\n", "\n", "In science and engineering we often end up in situations where we want to infer (or learn) a\n", @@ -525,12 +654,18 @@ "A first important consideration to keep in mind is that inferring the *correct* model\n", "for a given data set is an elusive, if not impossible, task. The fundamental difficulty\n", "is that if we are not specific about what we mean by a *correct* model, there\n", - "could easily be many different models that fit the given data set *equally well*.\n", - "\n", - "\n", + "could easily be many different models that fit the given data set *equally well*." + ] + }, + { + "cell_type": "markdown", + "id": "0bdeab16", + "metadata": { + "editable": true + }, + "source": [ "## What is a good model? Can we define it?\n", "\n", - "\n", "The central question is this: what leads us to say that a model is correct or\n", "optimal for a given data set? To make the model inference problem well posed, i.e.,\n", "to guarantee that there is a unique optimal model for the given data, we need to\n", @@ -550,15 +685,16 @@ "simpler models become inadequate. For instance, if we work with a regression problem to fit a set of sample points, one\n", "may first try the simplest class of models, namely linear models, followed obviously by more complex models.\n", "\n", - "How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "How to evaluate which model fits best the data is something we will come back to over and over again in these sets of lectures." + ] + }, + { + "cell_type": "markdown", + "id": "1c060598", + "metadata": { + "editable": true + }, + "source": [ "## Software and needed installations\n", "\n", "We will make extensive use of Python as programming language and its\n", @@ -569,7 +705,6 @@ "Rust, Julia, Fortran etc if you prefer. The focus in these lectures will be\n", "on Python.\n", "\n", - "\n", "If you have Python installed (we strongly recommend Python3) and you feel\n", "pretty familiar with installing different packages, we recommend that\n", "you install the following Python packages via **pip** as \n", @@ -589,9 +724,16 @@ "\n", "1. sudo apt-get install python3 (or python for pyhton2.7)\n", "\n", - "etc etc. \n", - "\n", - "\n", + "etc etc." + ] + }, + { + "cell_type": "markdown", + "id": "6cc9ab21", + "metadata": { + "editable": true + }, + "source": [ "## Python installers\n", "\n", "If you don't want to perform these operations separately and venture\n", @@ -615,8 +757,16 @@ "license.\n", "\n", "Furthermore, [Google's Colab](https://colab.research.google.com/notebooks/welcome.ipynb) is a free Jupyter notebook environment that requires \n", - "no setup and runs entirely in the cloud. Try it out!\n", - "\n", + "no setup and runs entirely in the cloud. Try it out!" + ] + }, + { + "cell_type": "markdown", + "id": "b4220192", + "metadata": { + "editable": true + }, + "source": [ "## Useful Python libraries\n", "Here we list several useful Python libraries we strongly recommend (if you use anaconda many of these are already there)\n", "\n", @@ -640,8 +790,16 @@ "\n", "* [Keras](https://keras.io/) is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano\n", "\n", - "* And many more such as [pytorch](https://pytorch.org/), [Theano](https://pypi.org/project/Theano/) etc \n", - "\n", + "* And many more such as [pytorch](https://pytorch.org/), [Theano](https://pypi.org/project/Theano/) etc" + ] + }, + { + "cell_type": "markdown", + "id": "601d504c", + "metadata": { + "editable": true + }, + "source": [ "## Installing R, C++, cython or Julia\n", "\n", "You will also find it convenient to utilize **R**. We will mainly\n", @@ -656,13 +814,18 @@ "lectures.\n", "\n", "To install **R** with Jupyter notebook \n", - "[follow the link here](https://mpacer.org/maths/r-kernel-for-ipython-notebook)\n", - "\n", - "\n", - "\n", + "[follow the link here](https://mpacer.org/maths/r-kernel-for-ipython-notebook)" + ] + }, + { + "cell_type": "markdown", + "id": "a4beb747", + "metadata": { + "editable": true + }, + "source": [ "## Installing R, C++, cython, Numba etc\n", "\n", - "\n", "For the C++ aficionados, Jupyter/IPython notebook allows you also to\n", "install C++ and run codes written in this language interactively in\n", "the browser. Since we will emphasize writing many of the algorithms\n", @@ -683,22 +846,35 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "87030410", + "metadata": { + "editable": true + }, "source": [ " pycod jupyter nbconvert filename.ipynb --to latex \n" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "973375a2", + "metadata": { + "editable": true + }, "source": [ "And to add more versatility, the Python package [SymPy](http://www.sympy.org/en/index.html) is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) and is entirely written in Python. \n", "\n", "Finally, if you wish to use the light mark-up language \n", "[doconce](https://github.com/hplgit/doconce) you can convert a standard ascii text file into various HTML \n", - "formats, ipython notebooks, latex files, pdf files etc with minimal edits. These lectures were generated using **doconce**.\n", - "\n", - "\n", + "formats, ipython notebooks, latex files, pdf files etc with minimal edits. These lectures were generated using **doconce**." + ] + }, + { + "cell_type": "markdown", + "id": "bbd99efa", + "metadata": { + "editable": true + }, + "source": [ "## Numpy examples and Important Matrix and vector handling packages\n", "\n", "There are several central software libraries for linear algebra and eigenvalue problems. Several of the more\n", @@ -710,8 +886,16 @@ "\n", " * LAPACK:package for solving symmetric, unsymmetric and generalized eigenvalue problems. From LAPACK's website it is possible to download for free all source codes from this library. Both C/C++ and Fortran versions are available.\n", "\n", - " * BLAS (I, II and III): (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. Blas I is vector operations, II vector-matrix operations and III matrix-matrix operations. Highly parallelized and efficient codes, all available for download from .\n", - "\n", + " * BLAS (I, II and III): (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. Blas I is vector operations, II vector-matrix operations and III matrix-matrix operations. Highly parallelized and efficient codes, all available for download from ." + ] + }, + { + "cell_type": "markdown", + "id": "3b716073", + "metadata": { + "editable": true + }, + "source": [ "## Basic Matrix Features\n", "\n", "**Matrix properties reminder.**" @@ -719,7 +903,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "02ae660b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathbf{A} =\n", @@ -739,14 +926,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7950a446", + "metadata": { + "editable": true + }, "source": [ "The inverse of a matrix is defined by" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "1bd26546", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\mathbf{A}^{-1} \\cdot \\mathbf{A} = I\n", @@ -755,9 +948,12 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c9631af0", + "metadata": { + "editable": true + }, "source": [ - "\n", + "
    \n", "\n", "\n", "\n", @@ -768,10 +964,16 @@ "\n", "\n", "\n", - "
    Relations Name matrix elements
    $A=A^{\\dagger}$ hermitian $a_{ij}=a_{ji}^{*}$
    $A=\\left(A^{\\dagger}\\right )^{-1}$ unitary $\\sum_k a_{ik}a_{jk}^{*}=\\sum_k a_{ki}^{ * } a_{kj}=\\delta_{ij}$
    \n", - "\n", - "\n", - "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a47420ee", + "metadata": { + "editable": true + }, + "source": [ "### Some famous Matrices\n", "\n", " * Diagonal if $a_{ij}=0$ for $i\\ne j$\n", @@ -790,8 +992,16 @@ "\n", " * Upper banded with bandwidth $p$: $a_{ij}=0$ for $i\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mscipy\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0msparse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0meye\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meye\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meye\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'scipy'" - ] - } - ], + "id": "f10c8b39", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "%matplotlib inline\n", "\n", @@ -1367,15 +1537,18 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "646fca17", + "metadata": { + "editable": true + }, "source": [ "## Meet the Pandas\n", "\n", - "\n", "\n", "\n", - "

    Figure 1:

    \n", "\n", + "

    Figure 1:

    \n", + "\n", "\n", "Another useful Python package is\n", "[pandas](https://pandas.pydata.org/), which is an open source library\n", @@ -1390,80 +1563,12 @@ { "cell_type": "code", "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    First NameLast NamePlace of birthDate of Birth T.A.
    0FrodoBagginsShire2968
    1BilboBagginsShire2890
    2Aragorn IIElessarEriador2931
    3SamwiseGamgeeShire2980
    \n", - "
    " - ], - "text/plain": [ - " First Name Last Name Place of birth Date of Birth T.A.\n", - "0 Frodo Baggins Shire 2968\n", - "1 Bilbo Baggins Shire 2890\n", - "2 Aragorn II Elessar Eriador 2931\n", - "3 Samwise Gamgee Shire 2980" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "id": "95d49d4c", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import pandas as pd\n", "from IPython.display import display\n", @@ -1478,7 +1583,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "38790248", + "metadata": { + "editable": true + }, "source": [ "In the above we have imported **pandas** with the shorthand **pd**, the latter has become the standard way we import **pandas**. We make then a list of various variables\n", "and reorganize the aboves lists into a **DataFrame** and then print out a neat table with specific column labels as *Name*, *place of birth* and *date of birth*.\n", @@ -1489,80 +1597,12 @@ { "cell_type": "code", "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    First NameLast NamePlace of birthDate of Birth T.A.
    FrodoFrodoBagginsShire2968
    BilboBilboBagginsShire2890
    AragornAragorn IIElessarEriador2931
    SamSamwiseGamgeeShire2980
    \n", - "
    " - ], - "text/plain": [ - " First Name Last Name Place of birth Date of Birth T.A.\n", - "Frodo Frodo Baggins Shire 2968\n", - "Bilbo Bilbo Baggins Shire 2890\n", - "Aragorn Aragorn II Elessar Eriador 2931\n", - "Sam Samwise Gamgee Shire 2980" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "id": "e630cc31", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "data_pandas = pd.DataFrame(data,index=['Frodo','Bilbo','Aragorn','Sam'])\n", "display(data_pandas)" @@ -1570,7 +1610,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d0d27d68", + "metadata": { + "editable": true + }, "source": [ "Thereafter we display the content of the row which begins with the index **Aragorn**" ] @@ -1578,29 +1621,22 @@ { "cell_type": "code", "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "First Name Aragorn II\n", - "Last Name Elessar\n", - "Place of birth Eriador\n", - "Date of Birth T.A. 2931\n", - "Name: Aragorn, dtype: object" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "id": "2591ed5d", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "display(data_pandas.loc['Aragorn'])" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "85bf5f70", + "metadata": { + "editable": true + }, "source": [ "We can easily append data to this, for example" ] @@ -1608,88 +1644,12 @@ { "cell_type": "code", "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    First NameLast NamePlace of birthDate of Birth T.A.
    FrodoFrodoBagginsShire2968
    BilboBilboBagginsShire2890
    AragornAragorn IIElessarEriador2931
    SamSamwiseGamgeeShire2980
    PippinPeregrinTookShire2990
    \n", - "
    " - ], - "text/plain": [ - " First Name Last Name Place of birth Date of Birth T.A.\n", - "Frodo Frodo Baggins Shire 2968\n", - "Bilbo Bilbo Baggins Shire 2890\n", - "Aragorn Aragorn II Elessar Eriador 2931\n", - "Sam Samwise Gamgee Shire 2980\n", - "Pippin Peregrin Took Shire 2990" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "id": "9bbe0db8", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "new_hobbit = {'First Name': [\"Peregrin\"],\n", " 'Last Name': [\"Took\"],\n", @@ -1702,7 +1662,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d9ebb24b", + "metadata": { + "editable": true + }, "source": [ "Here are other examples where we use the **DataFrame** functionality to handle arrays, now with more interesting features for us, namely numbers. We set up a matrix \n", "of dimensionality $10\\times 5$ and compute the mean value and standard deviation of each column. Similarly, we can perform mathematial operations like squaring the matrix elements and many other operations." @@ -1711,287 +1674,12 @@ { "cell_type": "code", "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    01234
    0-1.7497650.3426801.153036-0.2524360.981321
    10.5142190.221180-1.070043-0.1894960.255001
    2-0.4580270.435163-0.5835950.8168470.672721
    3-0.104411-0.5312801.029733-0.438136-1.118318
    41.6189821.541605-0.251879-0.8424360.184519
    50.9370820.7310001.361556-0.3262380.055676
    60.222400-1.443217-0.7563520.8164540.750445
    7-0.4559471.189622-1.690617-1.356399-1.232435
    8-0.544439-0.6681720.007315-0.6129391.299748
    9-1.733096-0.9833100.357508-1.6135791.470714
    \n", - "
    " - ], - "text/plain": [ - " 0 1 2 3 4\n", - "0 -1.749765 0.342680 1.153036 -0.252436 0.981321\n", - "1 0.514219 0.221180 -1.070043 -0.189496 0.255001\n", - "2 -0.458027 0.435163 -0.583595 0.816847 0.672721\n", - "3 -0.104411 -0.531280 1.029733 -0.438136 -1.118318\n", - "4 1.618982 1.541605 -0.251879 -0.842436 0.184519\n", - "5 0.937082 0.731000 1.361556 -0.326238 0.055676\n", - "6 0.222400 -1.443217 -0.756352 0.816454 0.750445\n", - "7 -0.455947 1.189622 -1.690617 -1.356399 -1.232435\n", - "8 -0.544439 -0.668172 0.007315 -0.612939 1.299748\n", - "9 -1.733096 -0.983310 0.357508 -1.613579 1.470714" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0 -0.175300\n", - "1 0.083527\n", - "2 -0.044334\n", - "3 -0.399836\n", - "4 0.331939\n", - "dtype: float64\n", - "0 1.069584\n", - "1 0.965548\n", - "2 1.018232\n", - "3 0.793167\n", - "4 0.918992\n", - "dtype: float64\n" - ] - }, - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    01234
    03.0616790.1174301.3294920.0637240.962990
    10.2644210.0489201.1449930.0359090.065026
    20.2097890.1893670.3405830.6672390.452553
    30.0109020.2822591.0603490.1919631.250636
    42.6211022.3765470.0634430.7096980.034047
    50.8781230.5343621.8538350.1064310.003100
    60.0494622.0828750.5720690.6665970.563167
    70.2078881.4152012.8581851.8398181.518895
    80.2964140.4464530.0000540.3756941.689345
    93.0036200.9668990.1278122.6036362.162999
    \n", - "
    " - ], - "text/plain": [ - " 0 1 2 3 4\n", - "0 3.061679 0.117430 1.329492 0.063724 0.962990\n", - "1 0.264421 0.048920 1.144993 0.035909 0.065026\n", - "2 0.209789 0.189367 0.340583 0.667239 0.452553\n", - "3 0.010902 0.282259 1.060349 0.191963 1.250636\n", - "4 2.621102 2.376547 0.063443 0.709698 0.034047\n", - "5 0.878123 0.534362 1.853835 0.106431 0.003100\n", - "6 0.049462 2.082875 0.572069 0.666597 0.563167\n", - "7 0.207888 1.415201 2.858185 1.839818 1.518895\n", - "8 0.296414 0.446453 0.000054 0.375694 1.689345\n", - "9 3.003620 0.966899 0.127812 2.603636 2.162999" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "id": "f5f4acfb", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", @@ -2010,7 +1698,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0b4ef9f6", + "metadata": { + "editable": true + }, "source": [ "Thereafter we can select specific columns only and plot final results" ] @@ -2018,188 +1709,12 @@ { "cell_type": "code", "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    FirstSecondThirdFourthFifth
    0-1.7497650.3426801.153036-0.2524360.981321
    10.5142190.221180-1.070043-0.1894960.255001
    2-0.4580270.435163-0.5835950.8168470.672721
    3-0.104411-0.5312801.029733-0.438136-1.118318
    41.6189821.541605-0.251879-0.8424360.184519
    50.9370820.7310001.361556-0.3262380.055676
    60.222400-1.443217-0.7563520.8164540.750445
    7-0.4559471.189622-1.690617-1.356399-1.232435
    8-0.544439-0.6681720.007315-0.6129391.299748
    9-1.733096-0.9833100.357508-1.6135791.470714
    \n", - "
    " - ], - "text/plain": [ - " First Second Third Fourth Fifth\n", - "0 -1.749765 0.342680 1.153036 -0.252436 0.981321\n", - "1 0.514219 0.221180 -1.070043 -0.189496 0.255001\n", - "2 -0.458027 0.435163 -0.583595 0.816847 0.672721\n", - "3 -0.104411 -0.531280 1.029733 -0.438136 -1.118318\n", - "4 1.618982 1.541605 -0.251879 -0.842436 0.184519\n", - "5 0.937082 0.731000 1.361556 -0.326238 0.055676\n", - "6 0.222400 -1.443217 -0.756352 0.816454 0.750445\n", - "7 -0.455947 1.189622 -1.690617 -1.356399 -1.232435\n", - "8 -0.544439 -0.668172 0.007315 -0.612939 1.299748\n", - "9 -1.733096 -0.983310 0.357508 -1.613579 1.470714" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.08352721390288316\n", - "\n", - "Int64Index: 10 entries, 0 to 9\n", - "Data columns (total 5 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 First 10 non-null float64\n", - " 1 Second 10 non-null float64\n", - " 2 Third 10 non-null float64\n", - " 3 Fourth 10 non-null float64\n", - " 4 Fifth 10 non-null float64\n", - "dtypes: float64(5)\n", - "memory usage: 480.0 bytes\n", - "None\n", - " First Second Third Fourth Fifth\n", - "count 10.000000 10.000000 10.000000 10.000000 10.000000\n", - "mean -0.175300 0.083527 -0.044334 -0.399836 0.331939\n", - "std 1.069584 0.965548 1.018232 0.793167 0.918992\n", - "min -1.749765 -1.443217 -1.690617 -1.613579 -1.232435\n", - "25% -0.522836 -0.633949 -0.713163 -0.785061 0.087887\n", - "50% -0.280179 0.281930 -0.122282 -0.382187 0.463861\n", - "75% 0.441264 0.657041 0.861676 -0.205231 0.923602\n", - "max 1.618982 1.541605 1.361556 0.816847 1.470714\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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vWXHjh06dOiQevbsqWeffdbTZbmFzWbTN998oxMnTujIkSOWe2+x2Wzas2ePsrKyVFBQoFGjRsnPz8+jNdX7la2///3vysjIUGJionbv3q333ntPNpvN02W5RX5+vlJSUvT8888rLy/PUkHr7NmzmjVrlk6cOKG+fftq3bp1+vjjjz1dllu98MILjqB88eJFvfvuuyovL/d0WW6Tnp6ukydPKjMzU3l5eZ4ux+0mT56sw4cP65e//KVmzZrl6XLcbv/+/crNzVVycrKmTJmiqKgoT5fkNmfPntWvf/1rfffddxowYICSkpLUv39/T5flNitWrFB6erp69eql3NxcvffeeyouLvZ0WW6zevVqHTlyRD179tSBAwe0cuVKff/99x6tqd6Hrbffflvt2rVT27ZtNWTIEP3rX//Szp07PV2WW5w4cUJDhw7Vbbfdpm+++UaS55dS3WnYsGG69957lZCQoI4dOyojI8PTJbnVkCFDNGDAALVv317NmzeX3W6Xr6/3v2QvPwfT0tLUvXt3+fj46NixY5JkqTA5ZMgQ9enTR4WFhfrnP/+pzMxMT5fkVu+9954qKip07Ngxbd261VL9hYWFad68efqP//gP9evXTxUVFcrOzvZ0WW6zadMmtW7dWu3bt1ebNm0kSYGBgZb4+2C32/Xll18qISFBbdu21d13361du3bpu+++82hd3v/O7YKysjJ16NBBhw4dkiTFxcUpJCREe/fu9XBl7hEfH69OnTopOjpaX375pSTrhK1bbrlFd955pwICAiRJLVu2VGxsrIercq+hQ4eqcePG+tvf/qb9+/erbdu2stvtni7LZT4+Pjp48KAiIiI0fPhw+fj4aO/evcrJybFEmLysadOmSk1NVUREhMrLyzVz5kwdPnzY02W5RXl5uaKiorRp0yY1bdpUMTExWrlypdavX+/p0twiICBAt956qySpoKBAYWFhio6O9nBV7jN48GBt2rRJy5Yt07Fjx1ReXq7s7GxLfPpRUlKitm3batu2bZKkZs2aKSsrSwcPHvRoXdZ5Z7sBPj4+atasmeN/ZGFhYWrcuLHjD7i38/X11U033aROnTpp//79jjEruPJNISMjQ0ePHtWwYcNUUFDgwarcr7y8XDExMZo8ebI2b96sJUuWeLokt7hw4YIyMzOVnp6uY8eOadOmTUpLS/N0WW7Vr18/jR07VvHx8brnnnuUkJCgv/3tb54uyy0uv/4yMjIUGxurfv36qWfPnvryyy8t8x+6y3x9fbV9+3Z17tzZ06W4zahRo9S2bVs1adJEY8aM0YULFzR//nxLPHZBQUG65557tGfPHn366afau3evevXqpaCgII/WZY2/vDfI19dXPXv21MGDB3Xx4kUFBATo5MmTjmVVK/D19dWtt96qsrIy5ebmerocI/bt26cxY8YoPz9fqampKikp8XRJbmO325WQkKCEhAR1795dJSUllvjVV2Zmppo1a6bw8HAlJSUpJiZGsbGxlnizvywwMFCBgYGSJH9/fxUVFSkiIsLDVbmHj4+P+vTpo8DAQNlsNvn6+qqkpETt2rVTaWmpp8tzq4CAADVt2lQ5OTmeLsVtsrOz9f777+vBBx9U27Zt1aFDB0VGRlrmP6t9+vTRrFmzdMstt2jkyJHy8/NTfHy8R2uq979GvO2225SYmKiVK1cqNDRUwcHBat26tafLcqvS0lLl5eVpypQpmjhxojp16uTpktxm8+bNWrFihf7xj3/o8OHDuvPOO1VaWqqbbrrJ06W5LD8/X5s2bVJRUZGCg4O1c+dODR482OO/qnGHESNGOFZHPv30U+3Zs0ebNm1SeHi4mjRp4uHq3KOgoEDvv/++ysrKFBoaquLiYku99rp166bOnTtr+fLluuWWW5SZmakhQ4ZY4rV3pc8++0wxMTGKiIiwzC+6b775ZnXt2lWvv/66YmJitHPnTt17772W+kViVlaWjhw5olOnTikqKkoxMTEercenwkr/lbxBdrtdGRkZKisrU8eOHeXn52eZF5Xdbtfnn3+u06dPq2vXrkpMTLREX5ctX75cWVlZevjhh5WQkGC5N/rNmzfr9OnT6tevn2JiYiwRtK5ks9mUnZ2tmJgY+ftb7/9+X3zxhbKysnT77berVatWlnv8CgoKlJGRoYCAAMXFxVnqvfOyzMxMVVRUqG3btp4uxa0yMzP17bff6tZbb1WbNm0s99z88ssvtXPnTg0YMEBt2rTx+FdoCFsAAAAG1evvbAEAAJhG2AIAADCIsAUAAGAQYQsAAMAgwhYAAIBBhC0AAACDCFsAAAAG/X8idFJ0xKGYiQAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "id": "f70279c1", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "df.columns = ['First', 'Second', 'Third', 'Fourth', 'Fifth']\n", "df.index = np.arange(10)\n", @@ -2223,7 +1738,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "963e3f64", + "metadata": { + "editable": true + }, "source": [ "We can produce a $4\\times 4$ matrix" ] @@ -2231,24 +1749,12 @@ { "cell_type": "code", "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[ 0 1 2 3]\n", - " [ 4 5 6 7]\n", - " [ 8 9 10 11]\n", - " [12 13 14 15]]\n", - " 0 1 2 3\n", - "0 0 1 2 3\n", - "1 4 5 6 7\n", - "2 8 9 10 11\n", - "3 12 13 14 15\n" - ] - } - ], + "id": "8f579fb1", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "b = np.arange(16).reshape((4,4))\n", "print(b)\n", @@ -2258,7 +1764,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "970a7544", + "metadata": { + "editable": true + }, "source": [ "and many other operations. \n", "\n", @@ -2267,21 +1776,30 @@ "we have just a single column of data. It shares many of the same features as _DataFrame. As with **DataFrame**,\n", "most operations are vectorized, achieving thereby a high performance when dealing with computations of arrays, in particular labeled arrays.\n", "As we will see below it leads also to a very concice code close to the mathematical operations we may be interested in.\n", - "For multidimensional arrays, we recommend strongly [xarray](http://xarray.pydata.org/en/stable/). **xarray** has much of the same flexibility as **pandas**, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both **pandas** and **xarray**. \n", - "\n", - "\n", + "For multidimensional arrays, we recommend strongly [xarray](http://xarray.pydata.org/en/stable/). **xarray** has much of the same flexibility as **pandas**, but allows for the extension to higher dimensions than two. We will see examples later of the usage of both **pandas** and **xarray**." + ] + }, + { + "cell_type": "markdown", + "id": "691ca1d1", + "metadata": { + "editable": true + }, + "source": [ "## Friday August 27\n", "\n", - "\n", "\"Video of Lecture August 27, 2021\":\"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h21/forelesningsvideoer/LectureThursdayAugust27.mp4?vrtx=view-as-webpage\n", "\n", - "\n", - "\n", - "[Video of Lecture from fall 2020](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h20/forelesningsvideoer/LectureAug21.mp4?vrtx=view-as-webpage) and [Handwritten notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/NotesAugust21.pdf)\n", - "\n", - "\n", - "\n", - "\n", + "[Video of Lecture from fall 2020](https://www.uio.no/studier/emner/matnat/fys/FYS-STK3155/h20/forelesningsvideoer/LectureAug21.mp4?vrtx=view-as-webpage) and [Handwritten notes](https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/NotesAugust21.pdf)" + ] + }, + { + "cell_type": "markdown", + "id": "d378c442", + "metadata": { + "editable": true + }, + "source": [ "### Simple linear regression model using **scikit-learn**\n", "\n", "We start with perhaps our simplest possible example, using **Scikit-Learn** to perform linear regression analysis on a data set produced by us. \n", @@ -2295,7 +1813,6 @@ "(tabulated again as a vector) with a linear dependence on $x$ plus a\n", "random noise added via the normal distribution.\n", "\n", - "\n", "The Numpy functions are imported used the **import numpy as np**\n", "statement and the random number generator for the uniform distribution\n", "is called using the function **np.random.rand()**, where we specificy\n", @@ -2309,7 +1826,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e5ab3567", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y = 2x+N(0,1),\n", @@ -2318,7 +1838,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "48638276", + "metadata": { + "editable": true + }, "source": [ "where $N(0,1)$ represents random numbers generated by the normal\n", "distribution. From **Scikit-Learn** we import then the\n", @@ -2343,20 +1866,12 @@ { "cell_type": "code", "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'sklearn'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_12115/2268754013.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinear_model\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mLinearRegression\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrand\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'sklearn'" - ] - } - ], + "id": "5d268e23", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], "source": [ "# Importing various packages\n", "import numpy as np\n", @@ -2381,7 +1896,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a0bc9fe7", + "metadata": { + "editable": true + }, "source": [ "This example serves several aims. It allows us to demonstrate several\n", "aspects of data analysis and later machine learning algorithms. The\n", @@ -2395,7 +1913,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2fa1f5fd", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y = 10x+0.01 \\times N(0,1),\n", @@ -2404,7 +1925,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "69c2a007", + "metadata": { + "editable": true + }, "source": [ "where $x$ is defined as before. Does the fit look better? Indeed, by\n", "reducing the role of the noise given by the normal distribution we see immediately that\n", @@ -2422,7 +1946,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c946d217", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\chi^2 = \\frac{1}{n}\n", @@ -2432,7 +1959,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "88362352", + "metadata": { + "editable": true + }, "source": [ "where $\\sigma_i^2$ is the variance (to be defined later) of the entry\n", "$y_i$. We may not know the explicit value of $\\sigma_i^2$, it serves\n", @@ -2460,7 +1990,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cf70f181", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\epsilon_{\\mathrm{relative}}= \\frac{\\vert \\boldsymbol{y} -\\boldsymbol{\\tilde{y}}\\vert}{\\vert \\boldsymbol{y}\\vert}.\n", @@ -2469,7 +2002,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "45b3e51a", + "metadata": { + "editable": true + }, "source": [ "The squared cost function results in an arithmetic mean-unbiased\n", "estimator, and the absolute-value cost function results in a\n", @@ -2483,8 +2019,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 25, + "id": "acbb097e", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "import numpy as np\n", @@ -2507,7 +2047,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "906ec623", + "metadata": { + "editable": true + }, "source": [ "Depending on the parameter in front of the normal distribution, we may\n", "have a small or larger relative error. Try to play around with\n", @@ -2525,8 +2068,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 26, + "id": "ae576654", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "import numpy as np \n", @@ -2560,7 +2107,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4fa873c4", + "metadata": { + "editable": true + }, "source": [ "The function **coef** gives us the parameter $\\beta$ of our fit while **intercept** yields \n", "$\\alpha$. Depending on the constant in front of the normal distribution, we get values near or far from $\\alpha =2$ and $\\beta =5$. Try to play around with different parameters in front of the normal distribution. The function **meansquarederror** gives us the mean square error, a risk metric corresponding to the expected value of the squared (quadratic) error or loss defined as" @@ -2568,7 +2118,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "28e7c10c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "MSE(\\boldsymbol{y},\\boldsymbol{\\tilde{y}}) = \\frac{1}{n}\n", @@ -2578,7 +2131,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f7dc1729", + "metadata": { + "editable": true + }, "source": [ "The smaller the value, the better the fit. Ideally we would like to\n", "have an MSE equal zero. The attentive reader has probably recognized\n", @@ -2596,7 +2152,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8a05b954", + "metadata": { + "editable": true + }, "source": [ "$$\n", "R^2(\\boldsymbol{y}, \\tilde{\\boldsymbol{y}}) = 1 - \\frac{\\sum_{i=0}^{n - 1} (y_i - \\tilde{y}_i)^2}{\\sum_{i=0}^{n - 1} (y_i - \\bar{y})^2},\n", @@ -2605,14 +2164,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e580bea2", + "metadata": { + "editable": true + }, "source": [ "where we have defined the mean value of $\\boldsymbol{y}$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "0c51facd", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\bar{y} = \\frac{1}{n} \\sum_{i=0}^{n - 1} y_i.\n", @@ -2621,7 +2186,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "62a0f4f7", + "metadata": { + "editable": true + }, "source": [ "Another quantity taht we will meet again in our discussions of regression analysis is \n", " the mean absolute error (MAE), a risk metric corresponding to the expected value of the absolute error loss or what we call the $l1$-norm loss. In our discussion above we presented the relative error.\n", @@ -2630,7 +2198,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f785e614", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\text{MAE}(\\boldsymbol{y}, \\boldsymbol{\\tilde{y}}) = \\frac{1}{n} \\sum_{i=0}^{n-1} \\left| y_i - \\tilde{y}_i \\right|.\n", @@ -2639,7 +2210,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bf583443", + "metadata": { + "editable": true + }, "source": [ "We present the \n", "squared logarithmic (quadratic) error" @@ -2647,7 +2221,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "724378dc", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\text{MSLE}(\\boldsymbol{y}, \\boldsymbol{\\tilde{y}}) = \\frac{1}{n} \\sum_{i=0}^{n - 1} (\\log_e (1 + y_i) - \\log_e (1 + \\tilde{y}_i) )^2,\n", @@ -2656,14 +2233,16 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0f2058ae", + "metadata": { + "editable": true + }, "source": [ "where $\\log_e (x)$ stands for the natural logarithm of $x$. This error\n", "estimate is best to use when targets having exponential growth, such\n", "as population counts, average sales of a commodity over a span of\n", "years etc. \n", "\n", - "\n", "Finally, another cost function is the Huber cost function used in robust regression.\n", "\n", "The rationale behind this possible cost function is its reduced\n", @@ -2676,7 +2255,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e7caa601", + "metadata": { + "editable": true + }, "source": [ "$$\n", "H_{\\delta}(\\boldsymbol{a})=\\left\\{\\begin{array}{cc}\\frac{1}{2} \\boldsymbol{a}^{2}& \\text{for }|\\boldsymbol{a}|\\leq \\delta\\\\ \\delta (|\\boldsymbol{a}|-\\frac{1}{2}\\delta ),&\\text{otherwise}.\\end{array}\\right.\n", @@ -2685,11 +2267,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0fe54ee3", + "metadata": { + "editable": true + }, "source": [ "Here $\\boldsymbol{a}=\\boldsymbol{y} - \\boldsymbol{\\tilde{y}}$.\n", "\n", - "\n", "We will discuss in more detail these and other functions in the\n", "various lectures. We conclude this part with another example. Instead\n", "of a linear $x$-dependence we study now a cubic polynomial and use the\n", @@ -2698,8 +2282,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 27, + "id": "07b7f404", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -2736,7 +2324,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2a3e7169", + "metadata": { + "editable": true + }, "source": [ "### To our real data: nuclear binding energies. Brief reminder on masses and binding energies\n", "\n", @@ -2750,7 +2341,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ffb61b21", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\Delta M(N, Z) = M(N, Z) - uA,\n", @@ -2759,14 +2353,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "dae62975", + "metadata": { + "editable": true + }, "source": [ "where $u$ is the Atomic Mass Unit" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "47c55cae", + "metadata": { + "editable": true + }, "source": [ "$$\n", "u = M(^{12}\\mathrm{C})/12 = 931.4940954(57) \\hspace{0.1cm} \\mathrm{MeV}/c^2.\n", @@ -2775,14 +2375,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ba0c4ef5", + "metadata": { + "editable": true + }, "source": [ "The nucleon masses are" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "d44a78b4", + "metadata": { + "editable": true + }, "source": [ "$$\n", "m_p = 1.00727646693(9)u,\n", @@ -2791,14 +2397,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e478b442", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "bc08de2b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "m_n = 939.56536(8)\\hspace{0.1cm} \\mathrm{MeV}/c^2 = 1.0086649156(6)u.\n", @@ -2807,7 +2419,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e5e9dae9", + "metadata": { + "editable": true + }, "source": [ "In the [2016 mass evaluation of by W.J.Huang, G.Audi, M.Wang, F.G.Kondev, S.Naimi and X.Xu](http://nuclearmasses.org/resources_folder/Wang_2017_Chinese_Phys_C_41_030003.pdf)\n", "there are data on masses and decays of 3437 nuclei.\n", @@ -2820,7 +2435,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "55a50874", + "metadata": { + "editable": true + }, "source": [ "$$\n", "BE(N, Z) = ZM_H c^2 + Nm_n c^2 - M(N, Z)c^2 ,\n", @@ -2829,7 +2447,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0722bdc3", + "metadata": { + "editable": true + }, "source": [ "where $M_H$ is the mass of the hydrogen atom and $m_n$ is the mass of the neutron.\n", "In terms of the mass excess the binding energy is given by" @@ -2837,7 +2458,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1ad2c13d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "BE(N, Z) = Z\\Delta_H c^2 + N\\Delta_n c^2 -\\Delta(N, Z)c^2 ,\n", @@ -2846,11 +2470,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b55ccbf6", + "metadata": { + "editable": true + }, "source": [ "where $\\Delta_H c^2 = 7.2890$ MeV and $\\Delta_n c^2 = 8.0713$ MeV.\n", "\n", - "\n", "A popular and physically intuitive model which can be used to parametrize \n", "the experimental binding energies as function of $A$, is the so-called \n", "**liquid drop model**. The ansatz is based on the following expression" @@ -2858,7 +2484,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e9bc1ac6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "BE(N,Z) = a_1A-a_2A^{2/3}-a_3\\frac{Z^2}{A^{1/3}}-a_4\\frac{(N-Z)^2}{A},\n", @@ -2867,14 +2496,14 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "47174561", + "metadata": { + "editable": true + }, "source": [ "where $A$ stands for the number of nucleons and the $a_i$s are parameters which are determined by a fit \n", "to the experimental data. \n", "\n", - "\n", - "\n", - "\n", "To arrive at the above expression we have assumed that we can make the following assumptions:\n", "\n", " * There is a volume term $a_1A$ proportional with the number of nucleons (the energy is also an extensive quantity). When an assembly of nucleons of the same size is packed together into the smallest volume, each interior nucleon has a certain number of other nucleons in contact with it. This contribution is proportional to the volume.\n", @@ -2887,23 +2516,33 @@ "\n", "We could also add a so-called pairing term, which is a correction term that\n", "arises from the tendency of proton pairs and neutron pairs to\n", - "occur. An even number of particles is more stable than an odd number. \n", - "\n", - "\n", + "occur. An even number of particles is more stable than an odd number." + ] + }, + { + "cell_type": "markdown", + "id": "3a54d55d", + "metadata": { + "editable": true + }, + "source": [ "### Organizing our data\n", "\n", "Let us start with reading and organizing our data. \n", "We start with the compilation of masses and binding energies from 2016.\n", "After having downloaded this file to our own computer, we are now ready to read the file and start structuring our data.\n", "\n", - "\n", "We start with preparing folders for storing our calculations and the data file over masses and binding energies. We import also various modules that we will find useful in order to present various Machine Learning methods. Here we focus mainly on the functionality of **scikit-learn**." ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 28, + "id": "6a858ae6", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Common imports\n", @@ -2943,15 +2582,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "37694bf4", + "metadata": { + "editable": true + }, "source": [ "Before we proceed, we define also a function for making our plots. You can obviously avoid this and simply set up various **matplotlib** commands every time you need them. You may however find it convenient to collect all such commands in one function and simply call this function." ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 29, + "id": "0d909cb1", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "from pylab import plt, mpl\n", @@ -2969,7 +2615,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "476a0da3", + "metadata": { + "editable": true + }, "source": [ "Our next step is to read the data on experimental binding energies and\n", "reorganize them as functions of the mass number $A$, the number of\n", @@ -2977,14 +2626,17 @@ "always useful (unless you have a binary file or other types of compressed\n", "data) to actually open the file and simply take a look at it!\n", "\n", - "\n", "In particular, the program that outputs the final nuclear masses is written in Fortran with a specific format. It means that we need to figure out the format and which columns contain the data we are interested in. Pandas comes with a function that reads formatted output. After having admired the file, we are now ready to start massaging it with **pandas**. The file begins with some basic format information." ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 30, + "id": "808a944d", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "\"\"\" \n", @@ -3001,7 +2653,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f13998e8", + "metadata": { + "editable": true + }, "source": [ "The data we are interested in are in columns 2, 3, 4 and 11, giving us\n", "the number of neutrons, protons, mass numbers and binding energies,\n", @@ -3011,8 +2666,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 31, + "id": "87734ea5", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Read the experimental data with Pandas\n", @@ -3037,7 +2696,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c5cd7bf2", + "metadata": { + "editable": true + }, "source": [ "We have now read in the data, grouped them according to the variables we are interested in. \n", "We see how easy it is to reorganize the data using **pandas**. If we\n", @@ -3053,8 +2715,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 32, + "id": "135551a3", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "A = Masses['A']\n", @@ -3067,7 +2733,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9f4a6509", + "metadata": { + "editable": true + }, "source": [ "The next step, and we will define this mathematically later, is to set up the so-called **design matrix**. We will throughout call this matrix $\\boldsymbol{X}$.\n", "It has dimensionality $p\\times n$, where $n$ is the number of data points and $p$ are the so-called predictors. In our case here they are given by the number of polynomials in $A$ we wish to include in the fit." @@ -3075,8 +2744,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 33, + "id": "02c2d4c3", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Now we set up the design matrix X\n", @@ -3090,15 +2763,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "10be1594", + "metadata": { + "editable": true + }, "source": [ "With **scikitlearn** we are now ready to use linear regression and fit our data." ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 34, + "id": "65a53863", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "clf = skl.LinearRegression().fit(X, Energies)\n", @@ -3107,7 +2787,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "86f51dcf", + "metadata": { + "editable": true + }, "source": [ "Pretty simple! \n", "Now we can print measures of how our fit is doing, the coefficients from the fits and plot the final fit together with our data." @@ -3115,8 +2798,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 35, + "id": "b13eba7f", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# The mean squared error \n", @@ -3143,7 +2830,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "279b2fb0", + "metadata": { + "editable": true + }, "source": [ "### Seeing the wood for the trees\n", "\n", @@ -3152,8 +2842,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 36, + "id": "84d1e91b", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "\n", @@ -3190,7 +2884,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8bead0b5", + "metadata": { + "editable": true + }, "source": [ "### And what about using neural networks?\n", "\n", @@ -3200,8 +2897,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 37, + "id": "96646081", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "from sklearn.neural_network import MLPRegressor\n", @@ -3237,7 +2938,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "93ebbcd3", + "metadata": { + "editable": true + }, "source": [ "## A first summary\n", "\n", @@ -3249,9 +2953,16 @@ "Furthermore,\n", "**Scikit-Learn** allows us with few lines of code to implement popular\n", "Machine Learning algorithms for supervised learning. Later we will meet **Tensorflow**, a powerful library for deep learning. \n", - "Now it is time to dive more into the details of various methods. We will start with linear regression and try to take a deeper look at what it entails.\n", - "\n", - "\n", + "Now it is time to dive more into the details of various methods. We will start with linear regression and try to take a deeper look at what it entails." + ] + }, + { + "cell_type": "markdown", + "id": "129b1e89", + "metadata": { + "editable": true + }, + "source": [ "## Why Linear Regression (aka Ordinary Least Squares and family)\n", "\n", "Fitting a continuous function with linear parameterization in terms of the parameters $\\boldsymbol{\\beta}$.\n", @@ -3274,9 +2985,16 @@ "* and many more features\n", "\n", "For more discussions of Ridge and Lasso regression, [Wessel van Wieringen's](https://arxiv.org/abs/1509.09169) article is highly recommended.\n", - "Similarly, [Mehta et al's article](https://arxiv.org/abs/1803.08823) is also recommended.\n", - "\n", - "\n", + "Similarly, [Mehta et al's article](https://arxiv.org/abs/1803.08823) is also recommended." + ] + }, + { + "cell_type": "markdown", + "id": "465172ea", + "metadata": { + "editable": true + }, + "source": [ "## Regression analysis, overarching aims\n", "\n", "Regression modeling deals with the description of the sampling distribution of a given random variable $y$ and how it varies as function of another variable or a set of such variables $\\boldsymbol{x} =[x_0, x_1,\\dots, x_{n-1}]^T$. \n", @@ -3289,13 +3007,18 @@ "\n", "* $p$ so-called explanatory (independent or predictor) variables $\\boldsymbol{x}_i=[x_{i0}, x_{i1}, \\dots, x_{ip-1}]$ with $i = 0, 1, 2, \\dots, n-1$ and explanatory variables running from $0$ to $p-1$. See below for more explicit examples. \n", "\n", - " The goal of the regression analysis is to extract/exploit relationship between $\\boldsymbol{y}$ and $\\boldsymbol{x}$ in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things.\n", - "\n", - "\n", - "\n", + " The goal of the regression analysis is to extract/exploit relationship between $\\boldsymbol{y}$ and $\\boldsymbol{x}$ in or to infer causal dependencies, approximations to the likelihood functions, functional relationships and to make predictions, making fits and many other things." + ] + }, + { + "cell_type": "markdown", + "id": "b7cf94d8", + "metadata": { + "editable": true + }, + "source": [ "## Regression analysis, overarching aims II\n", "\n", - "\n", "Consider an experiment in which $p$ characteristics of $n$ samples are\n", "measured. The data from this experiment, for various explanatory variables $p$ are normally represented by a matrix \n", "$\\mathbf{X}$.\n", @@ -3312,12 +3035,16 @@ "the *linear regression model* where $\\boldsymbol{\\beta} = [\\beta_0, \\ldots,\n", "\\beta_{p-1}]^{T}$ are the *regression parameters*. \n", "\n", - "Linear regression gives us a set of analytical equations for the parameters $\\beta_j$.\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "Linear regression gives us a set of analytical equations for the parameters $\\beta_j$." + ] + }, + { + "cell_type": "markdown", + "id": "3b98d102", + "metadata": { + "editable": true + }, + "source": [ "## Examples\n", "In order to understand the relation among the predictors $p$, the set of data $n$ and the target (outcome, output etc) $\\boldsymbol{y}$,\n", "consider the model we discussed for describing nuclear binding energies. \n", @@ -3328,7 +3055,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a3814cbf", + "metadata": { + "editable": true + }, "source": [ "$$\n", "BE(A) = a_0+a_1A+a_2A^{2/3}+a_3A^{-1/3}+a_4A^{-1},\n", @@ -3337,21 +3067,26 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "34db7d71", + "metadata": { + "editable": true + }, "source": [ "we have five predictors, that is the intercept, the $A$ dependent term, the $A^{2/3}$ term and the $A^{-1/3}$ and $A^{-1}$ terms.\n", "This gives $p=0,1,2,3,4$. Furthermore we have $n$ entries for each predictor. It means that our design matrix is a \n", "$p\\times n$ matrix $\\boldsymbol{X}$.\n", "\n", "Here the predictors are based on a model we have made. A popular data set which is widely encountered in ML applications is the\n", - "so-called [credit card default data from Taiwan](https://www.sciencedirect.com/science/article/pii/S0957417407006719?via%3Dihub). The data set contains data on $n=30000$ credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are $24$ such predictors or attributes leading to a design matrix of dimensionality $24 \\times 30000$. This is however a classification problem and we will come back to it when we discuss Logistic Regression.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "so-called [credit card default data from Taiwan](https://www.sciencedirect.com/science/article/pii/S0957417407006719?via%3Dihub). The data set contains data on $n=30000$ credit card holders with predictors like gender, marital status, age, profession, education, etc. In total there are $24$ such predictors or attributes leading to a design matrix of dimensionality $24 \\times 30000$. This is however a classification problem and we will come back to it when we discuss Logistic Regression." + ] + }, + { + "cell_type": "markdown", + "id": "0f3d34aa", + "metadata": { + "editable": true + }, + "source": [ "## General linear models\n", "Before we proceed let us study a case from linear algebra where we aim at fitting a set of data $\\boldsymbol{y}=[y_0,y_1,\\dots,y_{n-1}]$. We could think of these data as a result of an experiment or a complicated numerical experiment. These data are functions of a series of variables $\\boldsymbol{x}=[x_0,x_1,\\dots,x_{n-1}]$, that is $y_i = y(x_i)$ with $i=0,1,2,\\dots,n-1$. The variables $x_i$ could represent physical quantities like time, temperature, position etc. We assume that $y(x)$ is a smooth function. \n", "\n", @@ -3360,7 +3095,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3ae8a917", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y=y(x) \\rightarrow y(x_i)=\\tilde{y}_i+\\epsilon_i=\\sum_{j=0}^{n-1} \\beta_j x_i^j+\\epsilon_i,\n", @@ -3369,20 +3107,31 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "85b75da7", + "metadata": { + "editable": true + }, + "source": [ + "where $\\epsilon_i$ is the error in our approximation." + ] + }, + { + "cell_type": "markdown", + "id": "b1ad5988", + "metadata": { + "editable": true + }, "source": [ - "where $\\epsilon_i$ is the error in our approximation.\n", - "\n", - "\n", - "\n", - "\n", "## Rewriting the fitting procedure as a linear algebra problem\n", "For every set of values $y_i,x_i$ we have thus the corresponding set of equations" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "d31fc0eb", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{align*}\n", @@ -3397,7 +3146,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f0c96fe6", + "metadata": { + "editable": true + }, "source": [ "## Rewriting the fitting procedure as a linear algebra problem, more details\n", "Defining the vectors" @@ -3405,7 +3157,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e05fb474", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{y} = [y_0,y_1, y_2,\\dots, y_{n-1}]^T,\n", @@ -3414,14 +3169,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "832b4a52", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "2a04c6b0", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\beta} = [\\beta_0,\\beta_1, \\beta_2,\\dots, \\beta_{n-1}]^T,\n", @@ -3430,14 +3191,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "95feb9c7", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "9388dae6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\epsilon} = [\\epsilon_0,\\epsilon_1, \\epsilon_2,\\dots, \\epsilon_{n-1}]^T,\n", @@ -3446,14 +3213,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4b407da6", + "metadata": { + "editable": true + }, "source": [ "and the design matrix" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "d6f77716", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{X}=\n", @@ -3469,14 +3242,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7ac4ebe7", + "metadata": { + "editable": true + }, "source": [ "we can rewrite our equations as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "666e3761", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta}+\\boldsymbol{\\epsilon}.\n", @@ -3485,13 +3264,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7281f3db", + "metadata": { + "editable": true + }, + "source": [ + "The above design matrix is called a [Vandermonde matrix](https://en.wikipedia.org/wiki/Vandermonde_matrix)." + ] + }, + { + "cell_type": "markdown", + "id": "b6402b93", + "metadata": { + "editable": true + }, "source": [ - "The above design matrix is called a [Vandermonde matrix](https://en.wikipedia.org/wiki/Vandermonde_matrix).\n", - "\n", - "\n", - "\n", - "\n", "## Generalizing the fitting procedure as a linear algebra problem\n", "\n", "We are obviously not limited to the above polynomial expansions. We\n", @@ -3503,7 +3290,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "be28ea6a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{align*}\n", @@ -3520,20 +3310,31 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d6ff0add", + "metadata": { + "editable": true + }, + "source": [ + "**Note that we have $p=n$ here. The matrix is symmetric. This is generally not the case!**" + ] + }, + { + "cell_type": "markdown", + "id": "10f87413", + "metadata": { + "editable": true + }, "source": [ - "**Note that we have $p=n$ here. The matrix is symmetric. This is generally not the case!**\n", - "\n", - "\n", - "\n", - "\n", "## Generalizing the fitting procedure as a linear algebra problem\n", "We redefine in turn the matrix $\\boldsymbol{X}$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "2fc2d589", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{X}=\n", @@ -3549,14 +3350,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "49448051", + "metadata": { + "editable": true + }, "source": [ "and without loss of generality we rewrite again our equations as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "c96a1d13", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{y} = \\boldsymbol{X}\\boldsymbol{\\beta}+\\boldsymbol{\\epsilon}.\n", @@ -3565,20 +3372,31 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "34f05f37", + "metadata": { + "editable": true + }, + "source": [ + "The left-hand side of this equation is kwown. Our error vector $\\boldsymbol{\\epsilon}$ and the parameter vector $\\boldsymbol{\\beta}$ are our unknow quantities. How can we obtain the optimal set of $\\beta_i$ values?" + ] + }, + { + "cell_type": "markdown", + "id": "e6ff72db", + "metadata": { + "editable": true + }, "source": [ - "The left-hand side of this equation is kwown. Our error vector $\\boldsymbol{\\epsilon}$ and the parameter vector $\\boldsymbol{\\beta}$ are our unknow quantities. How can we obtain the optimal set of $\\beta_i$ values?\n", - "\n", - "\n", - "\n", - "\n", "## Optimizing our parameters\n", "We have defined the matrix $\\boldsymbol{X}$ via the equations" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "39aef328", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{align*}\n", @@ -3595,15 +3413,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0a4e3a65", + "metadata": { + "editable": true + }, "source": [ "As we noted above, we stayed with a system with the design matrix \n", " $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times n}$, that is we have $p=n$. For reasons to come later (algorithmic arguments) we will hereafter define \n", - "our matrix as $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$, with the predictors refering to the column numbers and the entries $n$ being the row elements.\n", - "\n", - "\n", - "\n", - "\n", + "our matrix as $\\boldsymbol{X}\\in {\\mathbb{R}}^{n\\times p}$, with the predictors refering to the column numbers and the entries $n$ being the row elements." + ] + }, + { + "cell_type": "markdown", + "id": "523fbdc7", + "metadata": { + "editable": true + }, + "source": [ "## Our model for the nuclear binding energies\n", "\n", "In our [introductory notes](https://compphysics.github.io/MachineLearning/doc/pub/How2ReadData/html/How2ReadData.html) we looked at the so-called [liquid drop model](https://en.wikipedia.org/wiki/Semi-empirical_mass_formula). Let us remind ourselves about what we did by looking at the code.\n", @@ -3613,8 +3439,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 38, + "id": "65375fc3", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Common imports\n", @@ -3690,14 +3520,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a6b35fe6", + "metadata": { + "editable": true + }, "source": [ "With $\\boldsymbol{\\beta}\\in {\\mathbb{R}}^{p\\times 1}$, it means that we will hereafter write our equations for the approximation as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "b4a0e652", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\beta},\n", @@ -3706,18 +3542,31 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "040adc2c", + "metadata": { + "editable": true + }, + "source": [ + "throughout these lectures." + ] + }, + { + "cell_type": "markdown", + "id": "8cb88980", + "metadata": { + "editable": true + }, "source": [ - "throughout these lectures. \n", - "\n", - "\n", "## Optimizing our parameters, more details\n", "With the above we use the design matrix to define the approximation $\\boldsymbol{\\tilde{y}}$ via the unknown quantity $\\boldsymbol{\\beta}$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "fc947e4c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\tilde{y}}= \\boldsymbol{X}\\boldsymbol{\\beta},\n", @@ -3726,14 +3575,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c54ed44f", + "metadata": { + "editable": true + }, "source": [ "and in order to find the optimal parameters $\\beta_i$ instead of solving the above linear algebra problem, we define a function which gives a measure of the spread between the values $y_i$ (which represent hopefully the exact values) and the parameterized values $\\tilde{y}_i$, namely" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "9700bc2a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n", @@ -3742,14 +3597,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "6486ad4b", + "metadata": { + "editable": true + }, "source": [ "or using the matrix $\\boldsymbol{X}$ and in a more compact matrix-vector notation as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "b17f3473", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\}.\n", @@ -3758,19 +3619,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "511ef4cd", + "metadata": { + "editable": true + }, "source": [ "This function is one possible way to define the so-called cost function.\n", "\n", - "\n", - "\n", "It is also common to define\n", "the function $C$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "15a9cc37", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{\\beta})=\\frac{1}{2n}\\sum_{i=0}^{n-1}\\left(y_i-\\tilde{y}_i\\right)^2,\n", @@ -3779,13 +3644,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "367d1bd9", + "metadata": { + "editable": true + }, + "source": [ + "since when taking the first derivative with respect to the unknown parameters $\\beta$, the factor of $2$ cancels out." + ] + }, + { + "cell_type": "markdown", + "id": "300db0a3", + "metadata": { + "editable": true + }, "source": [ - "since when taking the first derivative with respect to the unknown parameters $\\beta$, the factor of $2$ cancels out.\n", - "\n", - "\n", - "\n", - "\n", "## Interpretations and optimizing our parameters\n", "\n", "The function" @@ -3793,7 +3666,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "78ad2d59", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{\\beta})=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)^T\\left(\\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)\\right\\},\n", @@ -3802,7 +3678,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "adb62030", + "metadata": { + "editable": true + }, "source": [ "can be linked to the variance of the quantity $y_i$ if we interpret the latter as the mean value. \n", "When linking (see the discussion below) with the maximum likelihood approach below, we will indeed interpret $y_i$ as a mean value" @@ -3810,7 +3689,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4cb086a5", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_{i}=\\langle y_i \\rangle = \\beta_0x_{i,0}+\\beta_1x_{i,1}+\\beta_2x_{i,2}+\\dots+\\beta_{n-1}x_{i,n-1}+\\epsilon_i,\n", @@ -3819,7 +3701,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f5164d25", + "metadata": { + "editable": true + }, "source": [ "where $\\langle y_i \\rangle$ is the mean value. Keep in mind also that\n", "till now we have treated $y_i$ as the exact value. Normally, the\n", @@ -3835,7 +3720,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "171787e6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\displaystyle \\min_{\\boldsymbol{\\beta}\\in\n", @@ -3845,14 +3733,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bc2e0510", + "metadata": { + "editable": true + }, "source": [ "In practical terms it means we will require" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e5649cfc", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = \\frac{\\partial }{\\partial \\beta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)^2\\right]=0,\n", @@ -3861,14 +3755,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "134777d3", + "metadata": { + "editable": true + }, "source": [ "which results in" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "18b005f8", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\beta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_{ij}\\left(y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}\\right)\\right]=0,\n", @@ -3877,14 +3777,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b34ed0d9", + "metadata": { + "editable": true + }, "source": [ "or in a matrix-vector form as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "7cc13452", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right).\n", @@ -3893,7 +3799,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "31f0b7c2", + "metadata": { + "editable": true + }, "source": [ "## Interpretations and optimizing our parameters\n", "We can rewrite" @@ -3901,7 +3810,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "feb09e6a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial C(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right),\n", @@ -3910,14 +3822,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4c1fbe44", + "metadata": { + "editable": true + }, "source": [ "as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "12a694e5", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{X}^T\\boldsymbol{y} = \\boldsymbol{X}^T\\boldsymbol{X}\\boldsymbol{\\beta},\n", @@ -3926,14 +3844,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ba26ca19", + "metadata": { + "editable": true + }, "source": [ "and if the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$ is invertible we have the solution" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "39958365", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\beta} =\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", @@ -3942,7 +3866,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bcc1b272", + "metadata": { + "editable": true + }, "source": [ "We note also that since our design matrix is defined as $\\boldsymbol{X}\\in\n", "{\\mathbb{R}}^{n\\times p}$, the product $\\boldsymbol{X}^T\\boldsymbol{X} \\in\n", @@ -3955,12 +3882,16 @@ "allow for the usage of direct linear algebra methods such as **LU** decomposition or **Singular Value Decomposition** (SVD) for finding the inverse of the matrix\n", "$\\boldsymbol{X}^T\\boldsymbol{X}$.\n", "\n", - "\n", - "\n", - "**Small question**: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$? What kind of problems can we expect?\n", - "\n", - "\n", - "\n", + "**Small question**: Do you think the example we have at hand here (the nuclear binding energies) can lead to problems in inverting the matrix $\\boldsymbol{X}^T\\boldsymbol{X}$? What kind of problems can we expect?" + ] + }, + { + "cell_type": "markdown", + "id": "5dc4f920", + "metadata": { + "editable": true + }, + "source": [ "## Some useful matrix and vector expressions\n", "\n", "The following matrix and vector relation will be useful here and for the rest of the course. Vectors are always written as boldfaced lower case letters and \n", @@ -3969,79 +3900,46 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f341bf32", + "metadata": { + "editable": true + }, "source": [ - "4\n", - "8\n", - " \n", - "<\n", - "<\n", - "<\n", - "!\n", - "!\n", - "M\n", - "A\n", - "T\n", - "H\n", - "_\n", - "B\n", - "L\n", - "O\n", - "C\n", - "K" + "$$\n", + "\\frac{\\partial (\\boldsymbol{b}^T\\boldsymbol{a})}{\\partial \\boldsymbol{a}} = \\boldsymbol{b},\n", + "$$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e5aa6d33", + "metadata": { + "editable": true + }, "source": [ - "4\n", - "9\n", - " \n", - "<\n", - "<\n", - "<\n", - "!\n", - "!\n", - "M\n", - "A\n", - "T\n", - "H\n", - "_\n", - "B\n", - "L\n", - "O\n", - "C\n", - "K" + "$$\n", + "\\frac{\\partial (\\boldsymbol{a}^T\\boldsymbol{A}\\boldsymbol{a})}{\\partial \\boldsymbol{a}} = (\\boldsymbol{A}+\\boldsymbol{A}^T)\\boldsymbol{a},\n", + "$$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e0163aef", + "metadata": { + "editable": true + }, "source": [ - "5\n", - "0\n", - " \n", - "<\n", - "<\n", - "<\n", - "!\n", - "!\n", - "M\n", - "A\n", - "T\n", - "H\n", - "_\n", - "B\n", - "L\n", - "O\n", - "C\n", - "K" + "$$\n", + "\\frac{\\partial tr(\\boldsymbol{B}\\boldsymbol{A})}{\\partial \\boldsymbol{A}} = \\boldsymbol{B}^T,\n", + "$$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f3d8529d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial \\log{\\vert\\boldsymbol{A}\\vert}}{\\partial \\boldsymbol{A}} = (\\boldsymbol{A}^{-1})^T.\n", @@ -4050,7 +3948,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "926fae33", + "metadata": { + "editable": true + }, "source": [ "## Interpretations and optimizing our parameters\n", "The residuals $\\boldsymbol{\\epsilon}$ are in turn given by" @@ -4058,7 +3959,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "459363f3", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\epsilon} = \\boldsymbol{y}-\\boldsymbol{\\tilde{y}} = \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta},\n", @@ -4067,14 +3971,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c1ae7c6c", + "metadata": { + "editable": true + }, "source": [ "and with" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "52de9181", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n", @@ -4083,14 +3993,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b4619337", + "metadata": { + "editable": true + }, "source": [ "we have" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e384b941", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{X}^T\\boldsymbol{\\epsilon}=\\boldsymbol{X}^T\\left( \\boldsymbol{y}-\\boldsymbol{X}\\boldsymbol{\\beta}\\right)= 0,\n", @@ -4099,15 +4015,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4123b6f6", + "metadata": { + "editable": true + }, "source": [ "meaning that the solution for $\\boldsymbol{\\beta}$ is the one which minimizes the residuals. Later we will link this with the maximum likelihood approach.\n", "\n", - "\n", - "\n", - "\n", - "Let us now return to our nuclear binding energies and simply code the above equations. \n", - "\n", + "Let us now return to our nuclear binding energies and simply code the above equations." + ] + }, + { + "cell_type": "markdown", + "id": "8f1c0df4", + "metadata": { + "editable": true + }, + "source": [ "## Own code for Ordinary Least Squares\n", "\n", "It is rather straightforward to implement the matrix inversion and obtain the parameters $\\boldsymbol{\\beta}$. After having defined the matrix $\\boldsymbol{X}$ we simply need to \n", @@ -4116,8 +4040,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 39, + "id": "f06d4256", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# matrix inversion to find beta\n", @@ -4128,15 +4056,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cdf3d845", + "metadata": { + "editable": true + }, "source": [ "Alternatively, you can use the least squares functionality in **Numpy** as" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 40, + "id": "bff161d1", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "fit = np.linalg.lstsq(X, Energies, rcond =None)[0]\n", @@ -4145,15 +4080,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1ba8de37", + "metadata": { + "editable": true + }, "source": [ "And finally we plot our fit with and compare with data" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 41, + "id": "ff3cb363", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "Masses['Eapprox'] = ytilde\n", @@ -4172,7 +4114,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "367e150e", + "metadata": { + "editable": true + }, "source": [ "## Adding error analysis and training set up\n", "\n", @@ -4182,8 +4127,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 42, + "id": "e75d549e", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "def R2(y_data, y_model):\n", @@ -4192,15 +4141,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "5937c2eb", + "metadata": { + "editable": true + }, "source": [ "and we would be using it as" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 43, + "id": "6e4a7267", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "print(R2(Energies,ytilde))" @@ -4208,15 +4164,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "af9b5785", + "metadata": { + "editable": true + }, "source": [ "We can easily add our **MSE** score as" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 44, + "id": "1eda8437", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "def MSE(y_data,y_model):\n", @@ -4228,15 +4191,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b5d3d853", + "metadata": { + "editable": true + }, "source": [ "and finally the relative error as" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 45, + "id": "5166df6e", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "def RelativeError(y_data,y_model):\n", @@ -4246,7 +4216,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "236c30eb", + "metadata": { + "editable": true + }, "source": [ "## The $\\chi^2$ function\n", "\n", @@ -4265,7 +4238,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "50a6a65f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\chi^2(\\boldsymbol{\\beta})=\\frac{1}{n}\\sum_{i=0}^{n-1}\\frac{\\left(y_i-\\tilde{y}_i\\right)^2}{\\sigma_i^2}=\\frac{1}{n}\\left\\{\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)^T\\frac{1}{\\boldsymbol{\\Sigma^2}}\\left(\\boldsymbol{y}-\\boldsymbol{\\tilde{y}}\\right)\\right\\},\n", @@ -4274,12 +4250,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1f7a0ed2", + "metadata": { + "editable": true + }, + "source": [ + "where the matrix $\\boldsymbol{\\Sigma}$ is a diagonal matrix with $\\sigma_i$ as matrix elements." + ] + }, + { + "cell_type": "markdown", + "id": "254e32f6", + "metadata": { + "editable": true + }, "source": [ - "where the matrix $\\boldsymbol{\\Sigma}$ is a diagonal matrix with $\\sigma_i$ as matrix elements.\n", - "\n", - "\n", - "\n", "## The $\\chi^2$ function\n", "\n", "In order to find the parameters $\\beta_i$ we will then minimize the spread of $\\chi^2(\\boldsymbol{\\beta})$ by requiring" @@ -4287,7 +4272,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "309cb707", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_j} = \\frac{\\partial }{\\partial \\beta_j}\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)^2\\right]=0,\n", @@ -4296,14 +4284,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ed0d9230", + "metadata": { + "editable": true + }, "source": [ "which results in" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6e729fff", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_j} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}\\frac{x_{ij}}{\\sigma_i}\\left(\\frac{y_i-\\beta_0x_{i,0}-\\beta_1x_{i,1}-\\beta_2x_{i,2}-\\dots-\\beta_{n-1}x_{i,n-1}}{\\sigma_i}\\right)\\right]=0,\n", @@ -4312,14 +4306,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4b8c3db8", + "metadata": { + "editable": true + }, "source": [ "or in a matrix-vector form as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "0f38e855", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\beta}\\right).\n", @@ -4328,12 +4328,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e9810355", + "metadata": { + "editable": true + }, + "source": [ + "where we have defined the matrix $\\boldsymbol{A} =\\boldsymbol{X}/\\boldsymbol{\\Sigma}$ with matrix elements $a_{ij} = x_{ij}/\\sigma_i$ and the vector $\\boldsymbol{b}$ with elements $b_i = y_i/\\sigma_i$." + ] + }, + { + "cell_type": "markdown", + "id": "d64064a7", + "metadata": { + "editable": true + }, "source": [ - "where we have defined the matrix $\\boldsymbol{A} =\\boldsymbol{X}/\\boldsymbol{\\Sigma}$ with matrix elements $a_{ij} = x_{ij}/\\sigma_i$ and the vector $\\boldsymbol{b}$ with elements $b_i = y_i/\\sigma_i$.\n", - "\n", - "\n", - "\n", "## The $\\chi^2$ function\n", "\n", "We can rewrite" @@ -4341,7 +4350,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ca671f7b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\boldsymbol{\\beta}} = 0 = \\boldsymbol{A}^T\\left( \\boldsymbol{b}-\\boldsymbol{A}\\boldsymbol{\\beta}\\right),\n", @@ -4350,14 +4362,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "857dac9b", + "metadata": { + "editable": true + }, "source": [ "as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6f16b544", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{A}^T\\boldsymbol{b} = \\boldsymbol{A}^T\\boldsymbol{A}\\boldsymbol{\\beta},\n", @@ -4366,14 +4384,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7152f392", + "metadata": { + "editable": true + }, "source": [ "and if the matrix $\\boldsymbol{A}^T\\boldsymbol{A}$ is invertible we have the solution" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "0d6ac746", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{\\beta} =\\left(\\boldsymbol{A}^T\\boldsymbol{A}\\right)^{-1}\\boldsymbol{A}^T\\boldsymbol{b}.\n", @@ -4382,7 +4406,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "62cc38ae", + "metadata": { + "editable": true + }, "source": [ "## The $\\chi^2$ function\n", "\n", @@ -4391,7 +4418,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "eeb7f574", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{H} = \\left(\\boldsymbol{A}^T\\boldsymbol{A}\\right)^{-1},\n", @@ -4400,14 +4430,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9963ae15", + "metadata": { + "editable": true + }, "source": [ "we have then the following expression for the parameters $\\beta_j$ (the matrix elements of $\\boldsymbol{H}$ are $h_{ij}$)" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "4e816631", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta_j = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}\\frac{y_i}{\\sigma_i}\\frac{x_{ik}}{\\sigma_i} = \\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}b_ia_{ik}\n", @@ -4416,14 +4452,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "75595bb9", + "metadata": { + "editable": true + }, "source": [ "We state without proof the expression for the uncertainty in the parameters $\\beta_j$ as (we leave this as an exercise)" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "278292fc", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sigma^2(\\beta_j) = \\sum_{i=0}^{n-1}\\sigma_i^2\\left( \\frac{\\partial \\beta_j}{\\partial y_i}\\right)^2,\n", @@ -4432,14 +4474,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "82c2439c", + "metadata": { + "editable": true + }, "source": [ "resulting in" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "59ff6249", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\sigma^2(\\beta_j) = \\left(\\sum_{k=0}^{p-1}h_{jk}\\sum_{i=0}^{n-1}a_{ik}\\right)\\left(\\sum_{l=0}^{p-1}h_{jl}\\sum_{m=0}^{n-1}a_{ml}\\right) = h_{jj}!\n", @@ -4448,7 +4496,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "eb2dc41e", + "metadata": { + "editable": true + }, "source": [ "## The $\\chi^2$ function\n", "The first step here is to approximate the function $y$ with a first-order polynomial, that is we write" @@ -4456,7 +4507,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "723aa239", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y=y(x) \\rightarrow y(x_i) \\approx \\beta_0+\\beta_1 x_i.\n", @@ -4465,14 +4519,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b513b90f", + "metadata": { + "editable": true + }, "source": [ "By computing the derivatives of $\\chi^2$ with respect to $\\beta_0$ and $\\beta_1$ show that these are given by" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "62903cbc", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_0} = -2\\left[ \\frac{1}{n}\\sum_{i=0}^{n-1}\\left(\\frac{y_i-\\beta_0-\\beta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0,\n", @@ -4481,14 +4541,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "207584d4", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6c910491", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial \\chi^2(\\boldsymbol{\\beta})}{\\partial \\beta_1} = -\\frac{2}{n}\\left[ \\sum_{i=0}^{n-1}x_i\\left(\\frac{y_i-\\beta_0-\\beta_1x_{i}}{\\sigma_i^2}\\right)\\right]=0.\n", @@ -4497,7 +4563,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1bc61f61", + "metadata": { + "editable": true + }, "source": [ "## The $\\chi^2$ function\n", "\n", @@ -4507,7 +4576,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d573377f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma = \\sum_{i=0}^{n-1}\\frac{1}{\\sigma_i^2},\n", @@ -4516,7 +4588,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3cbeb35c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma_x = \\sum_{i=0}^{n-1}\\frac{x_{i}}{\\sigma_i^2},\n", @@ -4525,7 +4600,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c91cb43e", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma_y = \\sum_{i=0}^{n-1}\\left(\\frac{y_i}{\\sigma_i^2}\\right),\n", @@ -4534,7 +4612,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e20a004b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma_{xx} = \\sum_{i=0}^{n-1}\\frac{x_ix_{i}}{\\sigma_i^2},\n", @@ -4543,7 +4624,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a116dd64", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma_{xy} = \\sum_{i=0}^{n-1}\\frac{y_ix_{i}}{\\sigma_i^2},\n", @@ -4552,14 +4636,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f1fa634c", + "metadata": { + "editable": true + }, "source": [ "we obtain" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "d83177be", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta_0 = \\frac{\\gamma_{xx}\\gamma_y-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2},\n", @@ -4568,7 +4658,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ff3efe3f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\beta_1 = \\frac{\\gamma_{xy}\\gamma-\\gamma_x\\gamma_y}{\\gamma\\gamma_{xx}-\\gamma_x^2}.\n", @@ -4577,16 +4670,24 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b94950d4", + "metadata": { + "editable": true + }, "source": [ "This approach (different linear and non-linear regression) suffers\n", "often from both being underdetermined and overdetermined in the\n", "unknown coefficients $\\beta_i$. A better approach is to use the\n", - "Singular Value Decomposition (SVD) method discussed next week.\n", - "\n", - "\n", - "\n", - "\n", + "Singular Value Decomposition (SVD) method discussed next week." + ] + }, + { + "cell_type": "markdown", + "id": "8889337c", + "metadata": { + "editable": true + }, + "source": [ "## Fitting an Equation of State for Dense Nuclear Matter\n", "\n", "Before we continue, let us introduce yet another example. We are going to fit the\n", @@ -4604,15 +4705,27 @@ "The difference now is that we use **Scikit-Learn's** regression tools\n", "instead of our own matrix inversion implementation. Furthermore, we\n", "sneak in **Ridge** regression (to be discussed below) which includes a\n", - "hyperparameter $\\lambda$, also to be explained below.\n", - "\n", + "hyperparameter $\\lambda$, also to be explained below." + ] + }, + { + "cell_type": "markdown", + "id": "79eeb561", + "metadata": { + "editable": true + }, + "source": [ "## The code" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 46, + "id": "194a1d1a", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# Common imports\n", @@ -4704,16 +4817,26 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a8dcc692", + "metadata": { + "editable": true + }, "source": [ "The above simple polynomial in density $\\rho$ gives an excellent fit\n", "to the data. \n", "\n", "We note also that there is a small deviation between the\n", "standard OLS and the Ridge regression at higher densities. We discuss this in more detail\n", - "below.\n", - "\n", - "\n", + "below." + ] + }, + { + "cell_type": "markdown", + "id": "12a0253c", + "metadata": { + "editable": true + }, + "source": [ "## Splitting our Data in Training and Test data\n", "\n", "It is normal in essentially all Machine Learning studies to split the\n", @@ -4730,8 +4853,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 47, + "id": "5ff33c4e", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "import os\n", @@ -4802,16 +4929,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4befc696", + "metadata": { + "editable": true + }, "source": [ "## Exercises for week 35\n", - "Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "Here are three possible exercises for week 35 and the lab sessions of Wednesday September 1." + ] + }, + { + "cell_type": "markdown", + "id": "f833fa2b", + "metadata": { + "editable": true + }, + "source": [ "## Exercise 1: Setting up various Python environments\n", "\n", "The first exercise here is of a mere technical art. We want you to have \n", @@ -4871,15 +5004,16 @@ "analysis environment, available for free and under a commercial\n", "license.\n", "\n", - "We recommend using **Anaconda** if you are not too familiar with setting paths in a terminal environment.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "We recommend using **Anaconda** if you are not too familiar with setting paths in a terminal environment." + ] + }, + { + "cell_type": "markdown", + "id": "21b7c11f", + "metadata": { + "editable": true + }, + "source": [ "## Exercise 2: making your own data and exploring scikit-learn\n", "\n", "We will generate our own dataset for a function $y(x)$ where $x \\in [0,1]$ and defined by random numbers computed with the uniform distribution. The function $y$ is a quadratic polynomial in $x$ with added stochastic noise according to the normal distribution $\\cal {N}(0,1)$.\n", @@ -4888,8 +5022,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 48, + "id": "9213ce7d", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "x = np.random.rand(100,1)\n", @@ -4898,7 +5036,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0166974f", + "metadata": { + "editable": true + }, "source": [ "1. Write your own code (following the examples under the [regression notes](https://compphysics.github.io/MachineLearning/doc/LectureNotes/_build/html/chapter1.html)) for computing the parametrization of the data set fitting a second-order polynomial. \n", "\n", @@ -4909,7 +5050,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "982d42cb", + "metadata": { + "editable": true + }, "source": [ "$$\n", "MSE(\\boldsymbol{y},\\boldsymbol{\\tilde{y}}) = \\frac{1}{n}\n", @@ -4919,7 +5063,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9d32cf1a", + "metadata": { + "editable": true + }, "source": [ "and the $R^2$ score function.\n", "If $\\tilde{\\boldsymbol{y}}_i$ is the predicted value of the $i-th$ sample and $y_i$ is the corresponding true value, then the score $R^2$ is defined as" @@ -4927,7 +5074,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f07e5904", + "metadata": { + "editable": true + }, "source": [ "$$\n", "R^2(\\boldsymbol{y}, \\tilde{\\boldsymbol{y}}) = 1 - \\frac{\\sum_{i=0}^{n - 1} (y_i - \\tilde{y}_i)^2}{\\sum_{i=0}^{n - 1} (y_i - \\bar{y})^2},\n", @@ -4936,14 +5086,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3c91a4d7", + "metadata": { + "editable": true + }, "source": [ "where we have defined the mean value of $\\boldsymbol{y}$ as" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "22dce6cd", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\bar{y} = \\frac{1}{n} \\sum_{i=0}^{n - 1} y_i.\n", @@ -4952,12 +5108,14 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "63dbfea2", + "metadata": { + "editable": true + }, "source": [ "You can use the functionality included in scikit-learn. If you feel for it, you can use your own program and define functions which compute the above two functions. \n", "Discuss the meaning of these results. Try also to vary the coefficient in front of the added stochastic noise term and discuss the quality of the fits.\n", "\n", - "\n", "\n", "**Solution.**\n", "The code here is an example of where we define our own design matrix and fit parameters $\\beta$." @@ -4965,8 +5123,12 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 49, + "id": "c007a8f7", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "import os\n", @@ -5013,17 +5175,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "093a802e", + "metadata": { + "editable": true + }, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "id": "a4fd1970", + "metadata": { + "editable": true + }, "source": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", "## Exercise 3: Normalizing our data\n", "\n", "A much used approach before starting to train the data is to preprocess our\n", @@ -5041,7 +5207,6 @@ "function included in **Scikit-Learn** is the **MinMaxScaler** which\n", "ensures that all features are exactly between $0$ and $1$. The\n", "\n", - "\n", "The **Normalizer** scales each data\n", "point such that the feature vector has a euclidean length of one. In other words, it\n", "projects a data point on the circle (or sphere in the case of higher dimensions) with a\n", @@ -5059,15 +5224,18 @@ "outliers, and might often lead to trouble for other scaling\n", "techniques.\n", "\n", - "\n", "It also common to split the data in a **training** set and a **testing** set. A typical split is to use $80\\%$ of the data for training and the rest\n", "for testing. This can be done as follows with our design matrix $\\boldsymbol{X}$ and data $\\boldsymbol{y}$ (remember to import **scikit-learn**)" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 50, + "id": "27b4f807", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "# split in training and test data\n", @@ -5076,15 +5244,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "78154d99", + "metadata": { + "editable": true + }, "source": [ "Then we can use the standard scaler to scale our data as" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 51, + "id": "709a18d0", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "scaler = StandardScaler()\n", @@ -5095,7 +5270,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2362e332", + "metadata": { + "editable": true + }, "source": [ "In this exercise we want you to to compute the MSE for the training\n", "data and the test data as function of the complexity of a polynomial,\n", @@ -5104,15 +5282,17 @@ "One of \n", "the aims is to reproduce Figure 2.11 of [Hastie et al](https://github.com/CompPhysics/MLErasmus/blob/master/doc/Textbooks/elementsstat.pdf).\n", "\n", - "\n", - "\n", "Our data is defined by $x\\in [-3,3]$ with a total of for example $100$ data points." ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, + "execution_count": 52, + "id": "47021865", + "metadata": { + "collapsed": false, + "editable": true + }, "outputs": [], "source": [ "np.random.seed()\n", @@ -5125,44 +5305,49 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "eb6cf432", + "metadata": { + "editable": true + }, + "source": [ + "where $y$ is the function we want to fit with a given polynomial." + ] + }, + { + "cell_type": "markdown", + "id": "b61a59b9", + "metadata": { + "editable": true + }, "source": [ - "where $y$ is the function we want to fit with a given polynomial.\n", - "\n", - "\n", "**a)**\n", - "Write a first code which sets up a design matrix $X$ defined by a fifth-order polynomial. Scale your data and split it in training and test data.\n", - "\n", + "Write a first code which sets up a design matrix $X$ defined by a fifth-order polynomial. Scale your data and split it in training and test data." + ] + }, + { + "cell_type": "markdown", + "id": "c334b79a", + "metadata": { + "editable": true + }, + "source": [ "**b)**\n", - "Perform an ordinary least squares and compute the means squared error and the $R2$ factor for the training data and the test data, with and without scaling.\n", - "\n", + "Perform an ordinary least squares and compute the means squared error and the $R2$ factor for the training data and the test data, with and without scaling." + ] + }, + { + "cell_type": "markdown", + "id": "5164c62c", + "metadata": { + "editable": true + }, + "source": [ "**c)**\n", - "Add now a model which allows you to make polynomials up to degree $15$. Perform a standard OLS fitting of the training data and compute the MSE and $R2$ for the training and test data and plot both test and training data MSE and $R2$ as functions of the polynomial degree. Compare what you see with Figure 2.11 of Hastie et al. Comment your results. For which polynomial degree do you find an optimal MSE (smallest value)?\n", - "\n", - "\n", - "" + "Add now a model which allows you to make polynomials up to degree $15$. Perform a standard OLS fitting of the training data and compute the MSE and $R2$ for the training and test data and plot both test and training data MSE and $R2$ as functions of the polynomial degree. Compare what you see with Figure 2.11 of Hastie et al. Comment your results. For which polynomial degree do you find an optimal MSE (smallest value)?" ] } ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, + "metadata": {}, "nbformat": 4, - "nbformat_minor": 4 + "nbformat_minor": 5 } diff --git a/doc/src/week34/week34.do.txt b/doc/src/week34/week34.do.txt index 524fcd24e..8cf5cc504 100644 --- a/doc/src/week34/week34.do.txt +++ b/doc/src/week34/week34.do.txt @@ -124,8 +124,8 @@ _Teachers :_ !bblock o Project 1: October 11 (available September 10) graded with feedback) -o Project 2: November 15 (available October 12, graded with feedback) -o Project 3: December 13 (available November 8, graded with feedback) +o Project 2: November 20 (available October 12, graded with feedback) +o Project 3: December 17 (available November 13, graded with feedback) Projects are handed in using _Canvas_. We use Github as repository for codes, benchmark calculations etc. Comments and feedback on projects only via _Canvas_. From 06f73888248de956b064d1974a873e544c14b11f Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sun, 14 Nov 2021 13:57:46 +0100 Subject: [PATCH 12/16] update week46 --- README.md | 1 + doc/pub/week46/html/._week46-bs000.html | 233 ++++ doc/pub/week46/html/._week46-bs001.html | 239 ++++ doc/pub/week46/html/._week46-bs002.html | 227 ++++ doc/pub/week46/html/._week46-bs003.html | 238 ++++ doc/pub/week46/html/._week46-bs004.html | 312 +++++ doc/pub/week46/html/._week46-bs005.html | 238 ++++ doc/pub/week46/html/._week46-bs006.html | 251 ++++ doc/pub/week46/html/._week46-bs007.html | 236 ++++ doc/pub/week46/html/._week46-bs008.html | 230 ++++ doc/pub/week46/html/._week46-bs009.html | 236 ++++ doc/pub/week46/html/._week46-bs010.html | 229 ++++ doc/pub/week46/html/._week46-bs011.html | 245 ++++ doc/pub/week46/html/._week46-bs012.html | 228 ++++ doc/pub/week46/html/._week46-bs013.html | 254 +++++ doc/pub/week46/html/._week46-bs014.html | 264 +++++ doc/pub/week46/html/._week46-bs015.html | 255 +++++ doc/pub/week46/html/._week46-bs016.html | 251 ++++ doc/pub/week46/html/._week46-bs017.html | 236 ++++ doc/pub/week46/html/._week46-bs018.html | 246 ++++ doc/pub/week46/html/._week46-bs019.html | 247 ++++ doc/pub/week46/html/._week46-bs020.html | 264 +++++ doc/pub/week46/html/._week46-bs021.html | 301 +++++ doc/pub/week46/html/._week46-bs022.html | 252 ++++ doc/pub/week46/html/._week46-bs023.html | 244 ++++ doc/pub/week46/html/._week46-bs024.html | 241 ++++ doc/pub/week46/html/._week46-bs025.html | 420 +++++++ doc/pub/week46/html/._week46-bs026.html | 228 ++++ doc/pub/week46/html/._week46-bs027.html | 245 ++++ doc/pub/week46/html/._week46-bs028.html | 288 +++++ doc/pub/week46/html/._week46-bs029.html | 222 ++++ doc/pub/week46/html/week46-bs.html | 211 ++-- doc/pub/week46/html/week46-reveal.html | 980 +++++++++------- doc/pub/week46/html/week46-solarized.html | 880 +++++++------- doc/pub/week46/html/week46.html | 960 +++++++++------- doc/pub/week46/ipynb/ipynb-week46-src.tar.gz | Bin 191 -> 192 bytes doc/pub/week46/ipynb/week46.ipynb | 1073 ++++++++++++++---- doc/src/week46/week46.do.txt | 51 +- 38 files changed, 10201 insertions(+), 1555 deletions(-) create mode 100644 doc/pub/week46/html/._week46-bs000.html create mode 100644 doc/pub/week46/html/._week46-bs001.html create mode 100644 doc/pub/week46/html/._week46-bs002.html create mode 100644 doc/pub/week46/html/._week46-bs003.html create mode 100644 doc/pub/week46/html/._week46-bs004.html create mode 100644 doc/pub/week46/html/._week46-bs005.html create mode 100644 doc/pub/week46/html/._week46-bs006.html create mode 100644 doc/pub/week46/html/._week46-bs007.html create mode 100644 doc/pub/week46/html/._week46-bs008.html create mode 100644 doc/pub/week46/html/._week46-bs009.html create mode 100644 doc/pub/week46/html/._week46-bs010.html create mode 100644 doc/pub/week46/html/._week46-bs011.html create mode 100644 doc/pub/week46/html/._week46-bs012.html create mode 100644 doc/pub/week46/html/._week46-bs013.html create mode 100644 doc/pub/week46/html/._week46-bs014.html create mode 100644 doc/pub/week46/html/._week46-bs015.html create mode 100644 doc/pub/week46/html/._week46-bs016.html create mode 100644 doc/pub/week46/html/._week46-bs017.html create mode 100644 doc/pub/week46/html/._week46-bs018.html create mode 100644 doc/pub/week46/html/._week46-bs019.html create mode 100644 doc/pub/week46/html/._week46-bs020.html create mode 100644 doc/pub/week46/html/._week46-bs021.html create mode 100644 doc/pub/week46/html/._week46-bs022.html create mode 100644 doc/pub/week46/html/._week46-bs023.html create mode 100644 doc/pub/week46/html/._week46-bs024.html create mode 100644 doc/pub/week46/html/._week46-bs025.html create mode 100644 doc/pub/week46/html/._week46-bs026.html create mode 100644 doc/pub/week46/html/._week46-bs027.html create mode 100644 doc/pub/week46/html/._week46-bs028.html create mode 100644 doc/pub/week46/html/._week46-bs029.html diff --git a/README.md b/README.md index 9801cc5cb..c02ab72a6 100644 --- a/README.md +++ b/README.md @@ -401,6 +401,7 @@ Recommended prereading: Chapters 1-2 (linear algebra) and chapter 3 (statistics) - Reading recommendations: - See lecture notes for week 46 at https://compphysics.github.io/MachineLearning/doc/web/course.html. - Hastie et al chapter 12 + - Bishop chapter 7.1 and 7.2 ### Week 47 November 22-26 - Lab Wednesday: Work on project 3 diff --git a/doc/pub/week46/html/._week46-bs000.html b/doc/pub/week46/html/._week46-bs000.html new file mode 100644 index 000000000..7ec107313 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs000.html @@ -0,0 +1,233 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +
    +
    +

    Week 46: Support Vector Machines and Project 3

    +
    + + +
    +Morten Hjorth-Jensen [1, 2] +
    + +
    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 14, 2021

    +
    +
    + + + +

    Read »

    + + +
    + +

    + +

    + +
    + + + + +
    + © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license +
    + + + diff --git a/doc/pub/week46/html/._week46-bs001.html b/doc/pub/week46/html/._week46-bs001.html new file mode 100644 index 000000000..88b474104 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs001.html @@ -0,0 +1,239 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Overview of week 46

    + +
      +
    • Thursday: Summary of Gradient Boosting with selected examples. Start support Vector Machines
    • +
    • Friday: Eventual Workshop on project 3. Discussion of project 3.
    • +
    +Note that on Thursday we will have only one lecture, from 1215pm to 1pm. There is no session 115pm-2pm. + +
    +
    + +

    Reading recommendations:

    +
      +
    1. See lecture notes for week 46 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
    2. +
    3. Hastie et al chapter 12
    4. +
    5. Bishop chapter 7.1 and 7.2
    6. +
    +
    +
    + + + + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs002.html b/doc/pub/week46/html/._week46-bs002.html new file mode 100644 index 000000000..da878a229 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs002.html @@ -0,0 +1,227 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Friday

    + +

    Last year we had a very interesting workshop with many presentations. These were (program 2020)

    + +
      +
    • Maria Emine Nylund: Lego Bricks Classifier
    • +
    • Fabio Rodrigues Pereira: Financial Machine Learning
    • +
    • Markus Borud Pettersen: Machine Learning and Brain Grid Cells
    • +
    • Jing Sun and Endrias Getachew Asgedom: Machine learning-based approaches to denoising microseismic data
    • +
    • Felicia Jacobsen: Analysis of Breast Cancer Data
    • +
    • Simon Elias Schrader: Predicting atomization energies of molecules
    • +
    • Varvara Bazilova and Sergio Andres Diaz Mesa: Glacier Mapping and Machine Learning
    • +
    • Gert Werner Kluge, Hanna Alida Fossen Hardersen and Sushma Sharma Adhikari: Gamma ray signals stemming from dark matter in the galactic center
    • +
    +

    We wish to organize something similar this coming Friday. The presentation last typically 5-10 minutes (some 3-5 slides) with time for questions afterwards. +Feel free to suggest topics. +

    + +

    The program will be available asap. It depends on input from you!

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs003.html b/doc/pub/week46/html/._week46-bs003.html new file mode 100644 index 000000000..f8f9ae8c8 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs003.html @@ -0,0 +1,238 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Support Vector Machines, overarching aims

    + +

    A Support Vector Machine (SVM) is a very powerful and versatile +Machine Learning method, capable of performing linear or nonlinear +classification, regression, and even outlier detection. It is one of +the most popular models in Machine Learning, and anyone interested in +Machine Learning should have it in their toolbox. SVMs are +particularly well suited for classification of complex but small-sized or +medium-sized datasets. +

    + +

    The case with two well-separated classes only can be understood in an +intuitive way in terms of lines in a two-dimensional space separating +the two classes (see figure below). +

    + +

    The basic mathematics behind the SVM is however less familiar to most of us. +It relies on the definition of hyperplanes and the +definition of a margin which separates classes (in case of +classification problems) of variables. It is also used for regression +problems. +

    + +

    With SVMs we distinguish between hard margin and soft margins. The +latter introduces a so-called softening parameter to be discussed +below. We distinguish also between linear and non-linear +approaches. The latter are the most frequent ones since it is rather +unlikely that we can separate classes easily by say straight lines. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs004.html b/doc/pub/week46/html/._week46-bs004.html new file mode 100644 index 000000000..dc8633f90 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs004.html @@ -0,0 +1,312 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Hyperplanes and all that

    + +

    The theory behind support vector machines (SVM hereafter) is based on +the mathematical description of so-called hyperplanes. Let us start +with a two-dimensional case. This will also allow us to introduce our +first SVM examples. These will be tailored to the case of two specific +classes, as displayed in the figure here based on the usage of the petal data. +

    + +

    We assume here that our data set can be well separated into two +domains, where a straight line does the job in the separating the two +classes. Here the two classes are represented by either squares or +circles. +

    + + +
    +
    +
    +
    +
    +
    from sklearn import datasets
    +from sklearn.svm import SVC, LinearSVC
    +from sklearn.linear_model import SGDClassifier
    +from sklearn.preprocessing import StandardScaler
    +import matplotlib
    +import matplotlib.pyplot as plt
    +plt.rcParams['axes.labelsize'] = 14
    +plt.rcParams['xtick.labelsize'] = 12
    +plt.rcParams['ytick.labelsize'] = 12
    +
    +
    +iris = datasets.load_iris()
    +X = iris["data"][:, (2, 3)]  # petal length, petal width
    +y = iris["target"]
    +
    +setosa_or_versicolor = (y == 0) | (y == 1)
    +X = X[setosa_or_versicolor]
    +y = y[setosa_or_versicolor]
    +
    +
    +
    +C = 5
    +alpha = 1 / (C * len(X))
    +
    +lin_clf = LinearSVC(loss="hinge", C=C, random_state=42)
    +svm_clf = SVC(kernel="linear", C=C)
    +sgd_clf = SGDClassifier(loss="hinge", learning_rate="constant", eta0=0.001, alpha=alpha,
    +                        max_iter=100000, random_state=42)
    +
    +scaler = StandardScaler()
    +X_scaled = scaler.fit_transform(X)
    +
    +lin_clf.fit(X_scaled, y)
    +svm_clf.fit(X_scaled, y)
    +sgd_clf.fit(X_scaled, y)
    +
    +print("LinearSVC:                   ", lin_clf.intercept_, lin_clf.coef_)
    +print("SVC:                         ", svm_clf.intercept_, svm_clf.coef_)
    +print("SGDClassifier(alpha={:.5f}):".format(sgd_clf.alpha), sgd_clf.intercept_, sgd_clf.coef_)
    +
    +# Compute the slope and bias of each decision boundary
    +w1 = -lin_clf.coef_[0, 0]/lin_clf.coef_[0, 1]
    +b1 = -lin_clf.intercept_[0]/lin_clf.coef_[0, 1]
    +w2 = -svm_clf.coef_[0, 0]/svm_clf.coef_[0, 1]
    +b2 = -svm_clf.intercept_[0]/svm_clf.coef_[0, 1]
    +w3 = -sgd_clf.coef_[0, 0]/sgd_clf.coef_[0, 1]
    +b3 = -sgd_clf.intercept_[0]/sgd_clf.coef_[0, 1]
    +
    +# Transform the decision boundary lines back to the original scale
    +line1 = scaler.inverse_transform([[-10, -10 * w1 + b1], [10, 10 * w1 + b1]])
    +line2 = scaler.inverse_transform([[-10, -10 * w2 + b2], [10, 10 * w2 + b2]])
    +line3 = scaler.inverse_transform([[-10, -10 * w3 + b3], [10, 10 * w3 + b3]])
    +
    +# Plot all three decision boundaries
    +plt.figure(figsize=(11, 4))
    +plt.plot(line1[:, 0], line1[:, 1], "k:", label="LinearSVC")
    +plt.plot(line2[:, 0], line2[:, 1], "b--", linewidth=2, label="SVC")
    +plt.plot(line3[:, 0], line3[:, 1], "r-", label="SGDClassifier")
    +plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs") # label="Iris-Versicolor"
    +plt.plot(X[:, 0][y==0], X[:, 1][y==0], "yo") # label="Iris-Setosa"
    +plt.xlabel("Petal length", fontsize=14)
    +plt.ylabel("Petal width", fontsize=14)
    +plt.legend(loc="upper center", fontsize=14)
    +plt.axis([0, 5.5, 0, 2])
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs005.html b/doc/pub/week46/html/._week46-bs005.html new file mode 100644 index 000000000..eb0008270 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs005.html @@ -0,0 +1,238 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    What is a hyperplane?

    + +

    The aim of the SVM algorithm is to find a hyperplane in a +\( p \)-dimensional space, where \( p \) is the number of features that +distinctly classifies the data points. +

    + +

    In a \( p \)-dimensional space, a hyperplane is what we call an affine subspace of dimension of \( p-1 \). +As an example, in two dimension, a hyperplane is simply as straight line while in three dimensions it is +a two-dimensional subspace, or stated simply, a plane. +

    + +

    In two dimensions, with the variables \( x_1 \) and \( x_2 \), the hyperplane is defined as

    +$$ +b+w_1x_1+w_2x_2=0, +$$ + +

    where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line +\( b+w_1x_1+w_2x_2=0 \). +In two dimensions we define the vectors \( \boldsymbol{x} =[x1,x2] \) and \( \boldsymbol{w}=[w1,w2] \). +We can then rewrite the above equation as +

    + +$$ +\boldsymbol{x}^T\boldsymbol{w}+b=0. +$$ + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs006.html b/doc/pub/week46/html/._week46-bs006.html new file mode 100644 index 000000000..12cb78e12 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs006.html @@ -0,0 +1,251 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    A \( p \)-dimensional space of features

    + +

    We limit ourselves to two classes of outputs \( y_i \) and assign these classes the values \( y_i = \pm 1 \). +In a \( p \)-dimensional space of say \( p \) features we have a hyperplane defines as +

    +$$ +b+wx_1+w_2x_2+\dots +w_px_p=0. +$$ + +

    If we define a +matrix \( \boldsymbol{X}=\left[\boldsymbol{x}_1,\boldsymbol{x}_2,\dots, \boldsymbol{x}_p\right] \) +of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \boldsymbol{X} \), +

    +$$ +\boldsymbol{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. +$$ + +

    If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have

    +$$ +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} >0, +$$ + +

    if our output \( y_i=1 \). +In this case we say that \( \boldsymbol{x}_i \) lies on one of the sides of the hyperplane and if +

    +$$ +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, +$$ + +

    for the class of observations \( y_i=-1 \), +then \( \boldsymbol{x}_i \) lies on the other side. +

    + +

    Equivalently, for the two classes of observations we have

    +$$ +y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. +$$ + +

    When we try to separate hyperplanes, if it exists, we can use it to construct a natural classifier: a test observation is assigned a given class depending on which side of the hyperplane it is located.

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs007.html b/doc/pub/week46/html/._week46-bs007.html new file mode 100644 index 000000000..bac666519 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs007.html @@ -0,0 +1,236 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    The two-dimensional case

    + +

    Let us try to develop our intuition about SVMs by limiting ourselves to a two-dimensional +plane. To separate the two classes of data points, there are many +possible lines (hyperplanes if you prefer a more strict naming) +that could be chosen. Our objective is to find a +plane that has the maximum margin, i.e the maximum distance between +data points of both classes. Maximizing the margin distance provides +some reinforcement so that future data points can be classified with +more confidence. +

    + +

    What a linear classifier attempts to accomplish is to split the +feature space into two half spaces by placing a hyperplane between the +data points. This hyperplane will be our decision boundary. All +points on one side of the plane will belong to class one and all points +on the other side of the plane will belong to the second class two. +

    + +

    Unfortunately there are many ways in which we can place a hyperplane +to divide the data. Below is an example of two candidate hyperplanes +for our data sample. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs008.html b/doc/pub/week46/html/._week46-bs008.html new file mode 100644 index 000000000..af1b460a8 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs008.html @@ -0,0 +1,230 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Getting into the details

    + +

    Let us define the function

    +$$ +f(x) = \boldsymbol{w}^T\boldsymbol{x}+b = 0, +$$ + +

    as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.

    + +

    Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \).

    + +

    The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then

    +$$ +\delta = \frac{1}{\vert\vert \boldsymbol{w}\vert\vert}(\boldsymbol{w}^T\boldsymbol{x}+b). +$$ + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs009.html b/doc/pub/week46/html/._week46-bs009.html new file mode 100644 index 000000000..0999dc24f --- /dev/null +++ b/doc/pub/week46/html/._week46-bs009.html @@ -0,0 +1,236 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    First attempt at a minimization approach

    + +

    How do we find the parameter \( b \) and the vector \( \boldsymbol{w} \)? What we could +do is to define a cost function which now contains the set of all +misclassified points \( M \) and attempt to minimize this function +

    + +$$ +C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b). +$$ + +

    We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldsymbol{w}^T\boldsymbol{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us

    +$$ +\frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, +$$ + +

    and

    +$$ +\frac{\partial C}{\partial \boldsymbol{w}} = -\sum_{i\in M} y_ix_i. +$$ + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs010.html b/doc/pub/week46/html/._week46-bs010.html new file mode 100644 index 000000000..99dfadce0 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs010.html @@ -0,0 +1,229 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Solving the equations

    + +

    We can now use the Newton-Raphson method or different variants of the gradient descent family (from plain gradient descent to various stochastic gradient descent approaches) to solve the equations

    +$$ +b \leftarrow b +\eta \frac{\partial C}{\partial b}, +$$ + +

    and

    +$$ +\boldsymbol{w} \leftarrow \boldsymbol{w} +\eta \frac{\partial C}{\partial \boldsymbol{w}}, +$$ + +

    where \( \eta \) is our by now well-known learning rate.

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs011.html b/doc/pub/week46/html/._week46-bs011.html new file mode 100644 index 000000000..fc7df67aa --- /dev/null +++ b/doc/pub/week46/html/._week46-bs011.html @@ -0,0 +1,245 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Code Example

    + +

    The equations we discussed above can be coded rather easily (the +framework is similar to what we developed for logistic +regression). We are going to set up a simple case with two classes only and we want to find a line which separates them the best possible way. +

    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs012.html b/doc/pub/week46/html/._week46-bs012.html new file mode 100644 index 000000000..45cd4b4af --- /dev/null +++ b/doc/pub/week46/html/._week46-bs012.html @@ -0,0 +1,228 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Problems with the Simpler Approach

    + +

    There are however problems with this approach, although it looks +pretty straightforward to implement. When running the above code, we see that we can easily end up with many diffeent lines which separate the two classes. +

    + +

    For small +gaps between the entries, we may also end up needing many iterations +before the solutions converge and if the data cannot be separated +properly into two distinct classes, we may not experience a converge +at all. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs013.html b/doc/pub/week46/html/._week46-bs013.html new file mode 100644 index 000000000..d170402b3 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs013.html @@ -0,0 +1,254 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    A better approach

    + +

    A better approach is rather to try to define a large margin between +the two classes (if they are well separated from the beginning). +

    + +

    Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to +\( \vert\vert \boldsymbol{w}\vert\vert =1 \) subject to the condition +

    + +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +$$ + +

    All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line.

    + +

    We seek thus the largest value \( M \) defined by

    +$$ +\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +$$ + +

    or just

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. +$$ + +

    If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of +\( \boldsymbol{w}^T\boldsymbol{w}=\vert \vert \boldsymbol{w}\vert\vert \) (the norm) subject to the condition +

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. +$$ + +

    We have thus defined our margin as the invers of the norm of +\( \boldsymbol{w} \). We want to minimize the norm in order to have a as large as +possible margin \( M \). Before we proceed, we need to remind ourselves +about Lagrangian multipliers. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs014.html b/doc/pub/week46/html/._week46-bs014.html new file mode 100644 index 000000000..81625e9ed --- /dev/null +++ b/doc/pub/week46/html/._week46-bs014.html @@ -0,0 +1,264 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    A quick Reminder on Lagrangian Multipliers

    + +

    Consider a function of three independent variables \( f(x,y,z) \) . For the function \( f \) to be an +extreme we have +

    +$$ +df=0. +$$ + +

    A necessary and sufficient condition is

    +$$ +\frac{\partial f}{\partial x} =\frac{\partial f}{\partial y}=\frac{\partial f}{\partial z}=0, +$$ + +

    due to

    +$$ +df = \frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy+\frac{\partial f}{\partial z}dz. +$$ + +

    In many problems the variables \( x,y,z \) are often subject to constraints (such as those above for the margin) +so that they are no longer all independent. It is possible at least in principle to use each +constraint to eliminate one variable +and to proceed with a new and smaller set of independent varables. +

    + +

    The use of so-called Lagrangian multipliers is an alternative technique when the elimination +of variables is incovenient or undesirable. Assume that we have an equation of constraint on +the variables \( x,y,z \) +

    +$$ +\phi(x,y,z) = 0, +$$ + +

    resulting in

    +$$ +d\phi = \frac{\partial \phi}{\partial x}dx+\frac{\partial \phi}{\partial y}dy+\frac{\partial \phi}{\partial z}dz =0. +$$ + +

    Now we cannot set anymore

    +$$ +\frac{\partial f}{\partial x} =\frac{\partial f}{\partial y}=\frac{\partial f}{\partial z}=0, +$$ + +

    if \( df=0 \) is wanted +because there are now only two independent variables! Assume \( x \) and \( y \) are the independent +variables. +Then \( dz \) is no longer arbitrary. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs015.html b/doc/pub/week46/html/._week46-bs015.html new file mode 100644 index 000000000..cb264dab7 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs015.html @@ -0,0 +1,255 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Adding the Multiplier

    + +

    However, we can add to

    +$$ +df = \frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy+\frac{\partial f}{\partial z}dz, +$$ + +

    a multiplum of \( d\phi \), viz. \( \lambda d\phi \), resulting in

    +$$ +df+\lambda d\phi = (\frac{\partial f}{\partial z}+\lambda +\frac{\partial \phi}{\partial x})dx+(\frac{\partial f}{\partial y}+\lambda\frac{\partial \phi}{\partial y})dy+ +(\frac{\partial f}{\partial z}+\lambda\frac{\partial \phi}{\partial z})dz =0. +$$ + +

    Our multiplier is chosen so that

    +$$ +\frac{\partial f}{\partial z}+\lambda\frac{\partial \phi}{\partial z} =0. +$$ + +

    We need to remember that we took \( dx \) and \( dy \) to be arbitrary and thus we must have

    +$$ +\frac{\partial f}{\partial x}+\lambda\frac{\partial \phi}{\partial x} =0, +$$ + +

    and

    +$$ +\frac{\partial f}{\partial y}+\lambda\frac{\partial \phi}{\partial y} =0. +$$ + +

    When all these equations are satisfied, \( df=0 \). We have four unknowns, \( x,y,z \) and +\( \lambda \). Actually we want only \( x,y,z \), \( \lambda \) needs not to be determined, +it is therefore often called +Lagrange's undetermined multiplier. +If we have a set of constraints \( \phi_k \) we have the equations +

    +$$ +\frac{\partial f}{\partial x_i}+\sum_k\lambda_k\frac{\partial \phi_k}{\partial x_i} =0. +$$ + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs016.html b/doc/pub/week46/html/._week46-bs016.html new file mode 100644 index 000000000..fa58a569f --- /dev/null +++ b/doc/pub/week46/html/._week46-bs016.html @@ -0,0 +1,251 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Setting up the Problem

    +

    In order to solve the above problem, we define the following Lagrangian function to be minimized

    +$$ +{\cal L}(\lambda,b,\boldsymbol{w})=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)-1\right], +$$ + +

    where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \).

    + +

    Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain

    +$$ +\frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, +$$ + +

    and

    +$$ +\frac{\partial {\cal L}}{\partial \boldsymbol{w}} = 0 = \boldsymbol{w}-\sum_{i} \lambda_iy_i\boldsymbol{x}_i. +$$ + +

    Inserting these constraints into the equation for \( {\cal L} \) we obtain

    +$$ +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, +$$ + +

    subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). +We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition +

    +$$ +\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -1\right] \hspace{0.1cm}\forall i. +$$ + +
      +
    1. If \( \lambda_i > 0 \), then \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
    2. +
    3. If \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
    4. +
    +

    When \( \lambda_i > 0 \), the vectors \( \boldsymbol{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \).

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs017.html b/doc/pub/week46/html/._week46-bs017.html new file mode 100644 index 000000000..9829adefe --- /dev/null +++ b/doc/pub/week46/html/._week46-bs017.html @@ -0,0 +1,236 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    The problem to solve

    + +

    We can rewrite

    +$$ +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, +$$ + +

    and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem

    +$$ +\frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1\boldsymbol{x}_1^T\boldsymbol{x}_1 & y_1y_2\boldsymbol{x}_1^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_1^T\boldsymbol{x}_n \\ +y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +\dots & \dots & \dots & \dots & \dots \\ +\dots & \dots & \dots & \dots & \dots \\ +y_ny_1\boldsymbol{x}_n^T\boldsymbol{x}_1 & y_ny_2\boldsymbol{x}_n^T\boldsymbol{x}_2 & \dots & \dots & y_ny_n\boldsymbol{x}_n^T\boldsymbol{x}_n \\ +\end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, +$$ + +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs018.html b/doc/pub/week46/html/._week46-bs018.html new file mode 100644 index 000000000..39c0c924a --- /dev/null +++ b/doc/pub/week46/html/._week46-bs018.html @@ -0,0 +1,246 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    The last steps

    + +

    Solving the above problem, yields the values of \( \lambda_i \). +To find the coefficients of your hyperplane we need simply to compute +

    +$$ +\boldsymbol{w}=\sum_{i} \lambda_iy_i\boldsymbol{x}_i. +$$ + +

    With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, +$$ + +

    resulting in

    +$$ +b = \frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x}_i, +$$ + +

    or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have

    +$$ +b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldsymbol{x}_i^T\boldsymbol{x}_j\right). +$$ + +

    With our hyperplane coefficients we can use our classifier to assign any observation by simply using

    +$$ +y_i = \mathrm{sign}(\boldsymbol{w}^T\boldsymbol{x}_i+b). +$$ + +

    Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier.

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs019.html b/doc/pub/week46/html/._week46-bs019.html new file mode 100644 index 000000000..40dcea620 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs019.html @@ -0,0 +1,247 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    A soft classifier

    + +

    Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.

    + +

    Suppose now that classes overlap in feature space, as shown in the +figure here. One way to deal with this problem before we define the +so-called kernel approach, is to allow a kind of slack in the sense +that we allow some points to be on the wrong side of the margin. +

    + +

    We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and +modify our previous equation +

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, +$$ + +

    to

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i, +$$ + +

    with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). +The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction +\( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +we bound the total amount by which predictions fall on the wrong side of their margins. +

    + +

    Misclassifications occur when \( \xi_i > 1 \). Thus bounding the total sum by some value \( C \) bounds in turn the total number of +misclassifications. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs020.html b/doc/pub/week46/html/._week46-bs020.html new file mode 100644 index 000000000..fc0960e18 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs020.html @@ -0,0 +1,264 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Soft optmization problem

    + +

    This has in turn the consequences that we change our optmization problem to finding the minimum of

    +$$ +{\cal L}=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, +$$ + +

    subject to

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +$$ + +

    with the requirement \( \xi_i\geq 0 \).

    + +

    Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain

    +$$ +\frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, +$$ + +

    and

    +$$ +\frac{\partial {\cal L}}{\partial \boldsymbol{w}} = 0 = \boldsymbol{w}-\sum_{i} \lambda_iy_i\boldsymbol{x}_i, +$$ + +

    and

    +$$ +\lambda_i = C-\gamma_i \hspace{0.1cm}\forall i. +$$ + +

    Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before

    +$$ +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, +$$ + +

    but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). +We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads +

    +$$ +\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +$$ + +$$ +\gamma_i\xi_i = 0, +$$ + +

    and

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +$$ + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs021.html b/doc/pub/week46/html/._week46-bs021.html new file mode 100644 index 000000000..96aad1691 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs021.html @@ -0,0 +1,301 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Kernels and non-linearity

    + +

    The cases we have studied till now, were all characterized by two classes +with a close to linear separability. The classifiers we have described +so far find linear boundaries in our input feature space. It is +possible to make our procedure more flexible by exploring the feature +space using other basis expansions such as higher-order polynomials, +wavelets, splines etc. +

    + +

    If our feature space is not easy to separate, as shown in the figure +here, we can achieve a better separation by introducing more complex +basis functions. The ideal would be, as shown in the next figure, to, via a specific transformation to +obtain a separation between the classes which is almost linear. +

    + +

    The change of basis, from \( x\rightarrow z=\phi(x) \) leads to the same type of equations to be solved, except that +we need to introduce for example a polynomial transformation to a two-dimensional training set. +

    + + + +
    +
    +
    +
    +
    +
    import numpy as np
    +import os
    +
    +np.random.seed(42)
    +
    +# To plot pretty figures
    +import matplotlib
    +import matplotlib.pyplot as plt
    +plt.rcParams['axes.labelsize'] = 14
    +plt.rcParams['xtick.labelsize'] = 12
    +plt.rcParams['ytick.labelsize'] = 12
    +
    +
    +from sklearn.svm import SVC
    +from sklearn import datasets
    +
    +
    +
    +X1D = np.linspace(-4, 4, 9).reshape(-1, 1)
    +X2D = np.c_[X1D, X1D**2]
    +y = np.array([0, 0, 1, 1, 1, 1, 1, 0, 0])
    +
    +plt.figure(figsize=(11, 4))
    +
    +plt.subplot(121)
    +plt.grid(True, which='both')
    +plt.axhline(y=0, color='k')
    +plt.plot(X1D[:, 0][y==0], np.zeros(4), "bs")
    +plt.plot(X1D[:, 0][y==1], np.zeros(5), "g^")
    +plt.gca().get_yaxis().set_ticks([])
    +plt.xlabel(r"$x_1$", fontsize=20)
    +plt.axis([-4.5, 4.5, -0.2, 0.2])
    +
    +plt.subplot(122)
    +plt.grid(True, which='both')
    +plt.axhline(y=0, color='k')
    +plt.axvline(x=0, color='k')
    +plt.plot(X2D[:, 0][y==0], X2D[:, 1][y==0], "bs")
    +plt.plot(X2D[:, 0][y==1], X2D[:, 1][y==1], "g^")
    +plt.xlabel(r"$x_1$", fontsize=20)
    +plt.ylabel(r"$x_2$", fontsize=20, rotation=0)
    +plt.gca().get_yaxis().set_ticks([0, 4, 8, 12, 16])
    +plt.plot([-4.5, 4.5], [6.5, 6.5], "r--", linewidth=3)
    +plt.axis([-4.5, 4.5, -1, 17])
    +plt.subplots_adjust(right=1)
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs022.html b/doc/pub/week46/html/._week46-bs022.html new file mode 100644 index 000000000..99fa9d815 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs022.html @@ -0,0 +1,252 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    The equations

    + +

    Suppose we define a polynomial transformation of degree two only (we continue to live in a plane with \( x_i \) and \( y_i \) as variables)

    +$$ +z = \phi(x_i) =\left(x_i^2, y_i^2, \sqrt{2}x_iy_i\right). +$$ + +

    With our new basis, the equations we solved earlier are basically the same, that is we have now (without the slack option for simplicity)

    +$$ +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{z}_i^T\boldsymbol{z}_j, +$$ + +

    subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \), and for the support vectors

    +$$ +y_i(\boldsymbol{w}^T\boldsymbol{z}_i+b)= 1 \hspace{0.1cm}\forall i, +$$ + +

    from which we also find \( b \). +To compute \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we define the kernel \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as +

    +$$ +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). +$$ + +

    For the above example, the kernel reads

    +$$ +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. +$$ + +

    We note that this is nothing but the dot product of the two original +vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the +product in the Lagrangian of \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we simply compute +the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). +

    + +

    This leads to the so-called +kernel trick and the result leads to the same as if we went through +the trouble of performing the transformation +\( \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs023.html b/doc/pub/week46/html/._week46-bs023.html new file mode 100644 index 000000000..3a9551131 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs023.html @@ -0,0 +1,244 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    The problem to solve

    +

    Using our definition of the kernel We can rewrite again the Lagrangian

    +$$ +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{z}_j, +$$ + +

    subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem

    +$$ +\frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ +\dots & \dots & \dots & \dots & \dots \\ +\dots & \dots & \dots & \dots & \dots \\ +y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ +\end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, +$$ + +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). +If we add the slack constants this leads to the additional constraint \( 0\leq \lambda_i \leq C \). +

    + +

    We can rewrite this (see the solutions below) in terms of a convex optimization problem of the type

    +$$ +\begin{align*} + &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. +\end{align*} +$$ + +

    Below we discuss how to solve these equations. Here we note that the matrix \( \boldsymbol{P} \) has matrix elements \( p_{ij}=y_iy_jK(\boldsymbol{x}_i,\boldsymbol{x}_j) \). +Given a kernel \( K \) and the targets \( y_i \) this matrix is easy to set up. The constraint \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \) leads to \( f=0 \) and \( \boldsymbol{A}=\boldsymbol{y} \). How to set up the matrix \( \boldsymbol{G} \) is discussed later. Here note that the inequalities \( 0\leq \lambda_i \leq C \) can be split up into +\( 0\leq \lambda_i \) and \( \lambda_i \leq C \). These two inequalities define then the matrix \( \boldsymbol{G} \) and the vector \( \boldsymbol{h} \). +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs024.html b/doc/pub/week46/html/._week46-bs024.html new file mode 100644 index 000000000..ce78f31f4 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs024.html @@ -0,0 +1,241 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Different kernels and Mercer's theorem

    + +

    There are several popular kernels being used. These are

    +
      +
    1. Linear: \( K(\boldsymbol{x},\boldsymbol{y})=\boldsymbol{x}^T\boldsymbol{y} \),
    2. +
    3. Polynomial: \( K(\boldsymbol{x},\boldsymbol{y})=(\boldsymbol{x}^T\boldsymbol{y}+\gamma)^d \),
    4. +
    5. Gaussian Radial Basis Function: \( K(\boldsymbol{x},\boldsymbol{y})=\exp{\left(-\gamma\vert\vert\boldsymbol{x}-\boldsymbol{y}\vert\vert^2\right)} \),
    6. +
    7. Tanh: \( K(\boldsymbol{x},\boldsymbol{y})=\tanh{(\boldsymbol{x}^T\boldsymbol{y}+\gamma)} \),
    8. +
    +

    and many other ones.

    + +

    An important theorem for us is Mercer's +theorem. The +theorem states that if a kernel function \( K \) is symmetric, continuous +and leads to a positive semi-definite matrix \( \boldsymbol{P} \) then there +exists a function \( \phi \) that maps \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_j \) into +another space (possibly with much higher dimensions) such that +

    + +$$ +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). +$$ + +

    So you can use \( K \) as a kernel since you know \( \phi \) exists, even if +you don’t know what \( \phi \) is. +

    + +

    Note that some frequently used kernels (such as the Sigmoid kernel) +don’t respect all of Mercer’s conditions, yet they generally work well +in practice. +

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs025.html b/doc/pub/week46/html/._week46-bs025.html new file mode 100644 index 000000000..a29620c79 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs025.html @@ -0,0 +1,420 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    The moons example

    + + +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
    +
    +import numpy as np
    +np.random.seed(42)
    +
    +import matplotlib
    +import matplotlib.pyplot as plt
    +plt.rcParams['axes.labelsize'] = 14
    +plt.rcParams['xtick.labelsize'] = 12
    +plt.rcParams['ytick.labelsize'] = 12
    +
    +
    +from sklearn.svm import SVC
    +from sklearn import datasets
    +
    +
    +
    +from sklearn.pipeline import Pipeline
    +from sklearn.preprocessing import StandardScaler
    +from sklearn.svm import LinearSVC
    +
    +
    +from sklearn.datasets import make_moons
    +X, y = make_moons(n_samples=100, noise=0.15, random_state=42)
    +
    +def plot_dataset(X, y, axes):
    +    plt.plot(X[:, 0][y==0], X[:, 1][y==0], "bs")
    +    plt.plot(X[:, 0][y==1], X[:, 1][y==1], "g^")
    +    plt.axis(axes)
    +    plt.grid(True, which='both')
    +    plt.xlabel(r"$x_1$", fontsize=20)
    +    plt.ylabel(r"$x_2$", fontsize=20, rotation=0)
    +
    +plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
    +plt.show()
    +
    +from sklearn.datasets import make_moons
    +from sklearn.pipeline import Pipeline
    +from sklearn.preprocessing import PolynomialFeatures
    +
    +polynomial_svm_clf = Pipeline([
    +        ("poly_features", PolynomialFeatures(degree=3)),
    +        ("scaler", StandardScaler()),
    +        ("svm_clf", LinearSVC(C=10, loss="hinge", random_state=42))
    +    ])
    +
    +polynomial_svm_clf.fit(X, y)
    +
    +def plot_predictions(clf, axes):
    +    x0s = np.linspace(axes[0], axes[1], 100)
    +    x1s = np.linspace(axes[2], axes[3], 100)
    +    x0, x1 = np.meshgrid(x0s, x1s)
    +    X = np.c_[x0.ravel(), x1.ravel()]
    +    y_pred = clf.predict(X).reshape(x0.shape)
    +    y_decision = clf.decision_function(X).reshape(x0.shape)
    +    plt.contourf(x0, x1, y_pred, cmap=plt.cm.brg, alpha=0.2)
    +    plt.contourf(x0, x1, y_decision, cmap=plt.cm.brg, alpha=0.1)
    +
    +plot_predictions(polynomial_svm_clf, [-1.5, 2.5, -1, 1.5])
    +plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
    +
    +plt.show()
    +
    +
    +from sklearn.svm import SVC
    +
    +poly_kernel_svm_clf = Pipeline([
    +        ("scaler", StandardScaler()),
    +        ("svm_clf", SVC(kernel="poly", degree=3, coef0=1, C=5))
    +    ])
    +poly_kernel_svm_clf.fit(X, y)
    +
    +poly100_kernel_svm_clf = Pipeline([
    +        ("scaler", StandardScaler()),
    +        ("svm_clf", SVC(kernel="poly", degree=10, coef0=100, C=5))
    +    ])
    +poly100_kernel_svm_clf.fit(X, y)
    +
    +plt.figure(figsize=(11, 4))
    +
    +plt.subplot(121)
    +plot_predictions(poly_kernel_svm_clf, [-1.5, 2.5, -1, 1.5])
    +plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
    +plt.title(r"$d=3, r=1, C=5$", fontsize=18)
    +
    +plt.subplot(122)
    +plot_predictions(poly100_kernel_svm_clf, [-1.5, 2.5, -1, 1.5])
    +plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
    +plt.title(r"$d=10, r=100, C=5$", fontsize=18)
    +
    +plt.show()
    +
    +def gaussian_rbf(x, landmark, gamma):
    +    return np.exp(-gamma * np.linalg.norm(x - landmark, axis=1)**2)
    +
    +gamma = 0.3
    +
    +x1s = np.linspace(-4.5, 4.5, 200).reshape(-1, 1)
    +x2s = gaussian_rbf(x1s, -2, gamma)
    +x3s = gaussian_rbf(x1s, 1, gamma)
    +
    +XK = np.c_[gaussian_rbf(X1D, -2, gamma), gaussian_rbf(X1D, 1, gamma)]
    +yk = np.array([0, 0, 1, 1, 1, 1, 1, 0, 0])
    +
    +plt.figure(figsize=(11, 4))
    +
    +plt.subplot(121)
    +plt.grid(True, which='both')
    +plt.axhline(y=0, color='k')
    +plt.scatter(x=[-2, 1], y=[0, 0], s=150, alpha=0.5, c="red")
    +plt.plot(X1D[:, 0][yk==0], np.zeros(4), "bs")
    +plt.plot(X1D[:, 0][yk==1], np.zeros(5), "g^")
    +plt.plot(x1s, x2s, "g--")
    +plt.plot(x1s, x3s, "b:")
    +plt.gca().get_yaxis().set_ticks([0, 0.25, 0.5, 0.75, 1])
    +plt.xlabel(r"$x_1$", fontsize=20)
    +plt.ylabel(r"Similarity", fontsize=14)
    +plt.annotate(r'$\mathbf{x}$',
    +             xy=(X1D[3, 0], 0),
    +             xytext=(-0.5, 0.20),
    +             ha="center",
    +             arrowprops=dict(facecolor='black', shrink=0.1),
    +             fontsize=18,
    +            )
    +plt.text(-2, 0.9, "$x_2$", ha="center", fontsize=20)
    +plt.text(1, 0.9, "$x_3$", ha="center", fontsize=20)
    +plt.axis([-4.5, 4.5, -0.1, 1.1])
    +
    +plt.subplot(122)
    +plt.grid(True, which='both')
    +plt.axhline(y=0, color='k')
    +plt.axvline(x=0, color='k')
    +plt.plot(XK[:, 0][yk==0], XK[:, 1][yk==0], "bs")
    +plt.plot(XK[:, 0][yk==1], XK[:, 1][yk==1], "g^")
    +plt.xlabel(r"$x_2$", fontsize=20)
    +plt.ylabel(r"$x_3$  ", fontsize=20, rotation=0)
    +plt.annotate(r'$\phi\left(\mathbf{x}\right)$',
    +             xy=(XK[3, 0], XK[3, 1]),
    +             xytext=(0.65, 0.50),
    +             ha="center",
    +             arrowprops=dict(facecolor='black', shrink=0.1),
    +             fontsize=18,
    +            )
    +plt.plot([-0.1, 1.1], [0.57, -0.1], "r--", linewidth=3)
    +plt.axis([-0.1, 1.1, -0.1, 1.1])
    +    
    +plt.subplots_adjust(right=1)
    +
    +plt.show()
    +
    +
    +x1_example = X1D[3, 0]
    +for landmark in (-2, 1):
    +    k = gaussian_rbf(np.array([[x1_example]]), np.array([[landmark]]), gamma)
    +    print("Phi({}, {}) = {}".format(x1_example, landmark, k))
    +
    +rbf_kernel_svm_clf = Pipeline([
    +        ("scaler", StandardScaler()),
    +        ("svm_clf", SVC(kernel="rbf", gamma=5, C=0.001))
    +    ])
    +rbf_kernel_svm_clf.fit(X, y)
    +
    +
    +from sklearn.svm import SVC
    +
    +gamma1, gamma2 = 0.1, 5
    +C1, C2 = 0.001, 1000
    +hyperparams = (gamma1, C1), (gamma1, C2), (gamma2, C1), (gamma2, C2)
    +
    +svm_clfs = []
    +for gamma, C in hyperparams:
    +    rbf_kernel_svm_clf = Pipeline([
    +            ("scaler", StandardScaler()),
    +            ("svm_clf", SVC(kernel="rbf", gamma=gamma, C=C))
    +        ])
    +    rbf_kernel_svm_clf.fit(X, y)
    +    svm_clfs.append(rbf_kernel_svm_clf)
    +
    +plt.figure(figsize=(11, 7))
    +
    +for i, svm_clf in enumerate(svm_clfs):
    +    plt.subplot(221 + i)
    +    plot_predictions(svm_clf, [-1.5, 2.5, -1, 1.5])
    +    plot_dataset(X, y, [-1.5, 2.5, -1, 1.5])
    +    gamma, C = hyperparams[i]
    +    plt.title(r"$\gamma = {}, C = {}$".format(gamma, C), fontsize=16)
    +
    +plt.show()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs026.html b/doc/pub/week46/html/._week46-bs026.html new file mode 100644 index 000000000..26d44604d --- /dev/null +++ b/doc/pub/week46/html/._week46-bs026.html @@ -0,0 +1,228 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Mathematical optimization of convex functions

    + +

    A mathematical (quadratic) optimization problem, or just optimization problem, has the form

    +$$ +\begin{align*} + &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. +\end{align*} +$$ + +

    subject to some constraints for say a selected set \( i=1,2,\dots, n \). +In our case we are optimizing with respect to the Lagrangian multipliers \( \lambda_i \), and the +vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the optimization variable we are dealing with. +

    + +

    In our case we are particularly interested in a class of optimization problems called convex optmization problems. +In our discussion on gradient descent methods we discussed at length the definition of a convex function. +

    + +

    Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics.

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs027.html b/doc/pub/week46/html/._week46-bs027.html new file mode 100644 index 000000000..6660e728f --- /dev/null +++ b/doc/pub/week46/html/._week46-bs027.html @@ -0,0 +1,245 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    How do we solve these problems?

    + +

    If we use Python as programming language and wish to venture beyond +scikit-learn, tensorflow and similar software which makes our +lives so much easier, we need to dive into the wonderful world of +quadratic programming. We can, if we wish, solve the minimization +problem using say standard gradient methods or conjugate gradient +methods. However, these methods tend to exhibit a rather slow +converge. So, welcome to the promised land of quadratic programming. +

    + +

    The functions we need are contained in the quadratic programming package CVXOPT and we need to import it together with numpy as

    + + + +
    +
    +
    +
    +
    +
    import numpy
    +import cvxopt
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    This will make our life much easier. You don't need t write your own optimizer.

    + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs028.html b/doc/pub/week46/html/._week46-bs028.html new file mode 100644 index 000000000..5e81fc122 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs028.html @@ -0,0 +1,288 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    A simple example

    + +

    We remind ourselves about the general problem we want to solve

    +$$ +\begin{align*} + &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\boldsymbol{x}^T\boldsymbol{P}\boldsymbol{x}+\boldsymbol{q}^T\boldsymbol{x},\\ \nonumber + &\mathrm{subject\hspace{0.1cm} to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{x}=f. +\end{align*} +$$ + +

    Let us show how to perform the optmization using a simple case. Assume we want to optimize the following problem

    +$$ +\begin{align*} + &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}x^2+5x+3y \\ \nonumber + &\mathrm{subject to} \\ \nonumber + &x, y \geq 0 \\ \nonumber + &x+3y \geq 15 \\ \nonumber + &2x+5y \leq 100 \\ \nonumber + &3x+4y \leq 80. \\ \nonumber +\end{align*} +$$ + +

    The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns)

    +$$ +\frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. +$$ + +

    Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation

    +$$ +\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. +$$ + +

    We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix

    +$$ +\boldsymbol{P} =\begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} +$$ + +

    is clearly positive semi-definite (all eigenvalues larger or equal zero). +Finally, the vector \( \boldsymbol{h} \) is defined as +

    +$$ +\boldsymbol{h} = \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. +$$ + +

    Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero +The following code solves the equations for us +

    + + +
    +
    +
    +
    +
    +
    # Import the necessary packages
    +import numpy
    +from cvxopt import matrix
    +from cvxopt import solvers
    +P = matrix(numpy.diag([1,0]), tc=’d’)
    +q = matrix(numpy.array([3,4]), tc=’d’)
    +G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’)
    +h = matrix(numpy.array([0,0,-15,100,80]), tc=’d’)
    +# Construct the QP, invoke solver
    +sol = solvers.qp(P,q,G,h)
    +# Extract optimal value and solution
    +sol[’x’] 
    +sol[’primal objective’]
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/._week46-bs029.html b/doc/pub/week46/html/._week46-bs029.html new file mode 100644 index 000000000..f1bde7d95 --- /dev/null +++ b/doc/pub/week46/html/._week46-bs029.html @@ -0,0 +1,222 @@ + + + + + + + +Week 46: Support Vector Machines and Project 3 + + + + + + + + + + + + + + + + + + + + +
    +

     

     

     

    + + +

    Back to the more realistic cases

    + +

    We are now ready to return to our setup of the optmization problem for a more realistic case. Introducing the slack parameter \( C \) we have

    +$$ +\frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2K(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ +\dots & \dots & \dots & \dots & \dots \\ +\dots & \dots & \dots & \dots & \dots \\ +y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ +\end{bmatrix}\boldsymbol{\lambda}-\mathbb{I}\boldsymbol{\lambda}, +$$ + +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). +With the slack constants this leads to the additional constraint \( 0\leq \lambda_i \leq C \). +

    + +code will be added + +

    + +

    + +
    + + + + +
    + +
    + + + diff --git a/doc/pub/week46/html/week46-bs.html b/doc/pub/week46/html/week46-bs.html index 2cf13cca3..7ec107313 100644 --- a/doc/pub/week46/html/week46-bs.html +++ b/doc/pub/week46/html/week46-bs.html @@ -1,31 +1,28 @@ - + - - -Week 46: Gradient Boosting Summary and Support Vector Machines - + +Week 46: Support Vector Machines and Project 3 + - - - @@ -96,8 +114,6 @@ MathJax.Hub.Config({ - - -
    -

     

     

     

    - - - -
    -

    Week 46: Gradient Boosting Summary and Support Vector Machines

    +
    +

    Week 46: Support Vector Machines and Project 3

    +
    -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 14, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Nov 12, 2020

    -
    -

    Read »

    @@ -202,29 +212,22 @@ MathJax.Hub.Config({
  • 9
  • 10
  • ...
  • -
  • 31
  • +
  • 30
  • »
  • -
    - - -
    - © 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week46/html/week46-reveal.html b/doc/pub/week46/html/week46-reveal.html index 5a822c55f..9cc5480e1 100644 --- a/doc/pub/week46/html/week46-reveal.html +++ b/doc/pub/week46/html/week46-reveal.html @@ -1,19 +1,18 @@ + - + + - + - + +Week 46: Support Vector Machines and Project 3 -Week 46: Gradient Boosting Summary and Support Vector Machines - - - - - - - - + @@ -55,36 +54,81 @@ document.getElementsByTagName( 'head' )[0].appendChild( link ); - - - @@ -90,118 +141,135 @@ MathJax.Hub.Config({ - - +
    +

    Week 46: Support Vector Machines and Project 3

    +
    - - -

    Week 46: Gradient Boosting Summary and Support Vector Machines

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 14, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Nov 12, 2020

    -
    -











    - -

    Overview of week 46

    +

    Overview of week 46

      -
    • Thursday: Summary of Gradient Boosting and further examples of applications, from the physical sciences to the social sciences. Guest lecture by John M. Aiken on Gradient Boosting and XGboost.
    • -
    • Friday: Support Vector Machines, classification and regression.
    • +
    • Thursday: Summary of Gradient Boosting with selected examples. Start support Vector Machines
    • +
    • Friday: Eventual Workshop on project 3. Discussion of project 3.
    +Note that on Thursday we will have only one lecture, from 1215pm to 1pm. There is no session 115pm-2pm. -Geron's chapter 5. Chapter 12 (sections 12.1-12.3 are the most relevant ones) of Hastie et al contains also a good discussion. - +
    +Reading

    -See overview video on Support Vector Machines. See also this video. +

    Reading recommendations:

    +
      +
    1. See lecture notes for week 46 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
    2. +
    3. Hastie et al chapter 12
    4. +
    5. Bishop chapter 7.1 and 7.2
    6. +
    +
    + + + +









    +

    Friday

    -

    Thursday

    +

    Last year we had a very interesting workshop with many presentations. These were (program 2020)

    -

    -The first lecture on Thursday is devoted to a summary from last week, with additional examples. This material is included in the lectures from week 45, see also Hastie et al. chapter 10.1-10.10. +

      +
    • Maria Emine Nylund: Lego Bricks Classifier
    • +
    • Fabio Rodrigues Pereira: Financial Machine Learning
    • +
    • Markus Borud Pettersen: Machine Learning and Brain Grid Cells
    • +
    • Jing Sun and Endrias Getachew Asgedom: Machine learning-based approaches to denoising microseismic data
    • +
    • Felicia Jacobsen: Analysis of Breast Cancer Data
    • +
    • Simon Elias Schrader: Predicting atomization energies of molecules
    • +
    • Varvara Bazilova and Sergio Andres Diaz Mesa: Glacier Mapping and Machine Learning
    • +
    • Gert Werner Kluge, Hanna Alida Fossen Hardersen and Sushma Sharma Adhikari: Gamma ray signals stemming from dark matter in the galactic center
    • +
    +

    We wish to organize something similar this coming Friday. The presentation last typically 5-10 minutes (some 3-5 slides) with time for questions afterwards. +Feel free to suggest topics. +

    -

    -The second letter will be given by John M. Aiken, who recently defended his thesis on machine learning, and in particular using boosting methods, to data from the social sciences and science education. +

    The program will be available asap. It depends on input from you!

    -











    +

    Support Vector Machines, overarching aims

    -

    Friday

    - -

    -We start with a new topic and second-last topic covered in this course, support vector machines (SVM). - -

    -









    - -

    Support Vector Machines, overarching aims

    - -

    -A Support Vector Machine (SVM) is a very powerful and versatile +

    A Support Vector Machine (SVM) is a very powerful and versatile Machine Learning method, capable of performing linear or nonlinear classification, regression, and even outlier detection. It is one of the most popular models in Machine Learning, and anyone interested in Machine Learning should have it in their toolbox. SVMs are particularly well suited for classification of complex but small-sized or -medium-sized datasets. +medium-sized datasets. +

    -

    -The case with two well-separated classes only can be understood in an +

    The case with two well-separated classes only can be understood in an intuitive way in terms of lines in a two-dimensional space separating the two classes (see figure below). +

    -

    -The basic mathematics behind the SVM is however less familiar to most of us. +

    The basic mathematics behind the SVM is however less familiar to most of us. It relies on the definition of hyperplanes and the definition of a margin which separates classes (in case of classification problems) of variables. It is also used for regression problems. +

    -

    -With SVMs we distinguish between hard margin and soft margins. The +

    With SVMs we distinguish between hard margin and soft margins. The latter introduces a so-called softening parameter to be discussed below. We distinguish also between linear and non-linear approaches. The latter are the most frequent ones since it is rather unlikely that we can separate classes easily by say straight lines. +

    -











    +

    Hyperplanes and all that

    -

    Hyperplanes and all that

    - -

    -The theory behind support vector machines (SVM hereafter) is based on +

    The theory behind support vector machines (SVM hereafter) is based on the mathematical description of so-called hyperplanes. Let us start with a two-dimensional case. This will also allow us to introduce our first SVM examples. These will be tailored to the case of two specific classes, as displayed in the figure here based on the usage of the petal data. +

    -

    -We assume here that our data set can be well separated into two +

    We assume here that our data set can be well separated into two domains, where a straight line does the job in the separating the two classes. Here the two classes are represented by either squares or circles. -

    +

    -
    from sklearn import datasets
    +
    +
    +
    +
    +
    +
    from sklearn import datasets
     from sklearn.svm import SVC, LinearSVC
     from sklearn.linear_model import SGDClassifier
     from sklearn.preprocessing import StandardScaler
    @@ -267,87 +335,96 @@ plt.legend(loc="upper center", fon
     plt.axis([0, 5.5, 0, 2])
     
     plt.show()
    -
    -

    +

    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    What is a hyperplane?

    -

    What is a hyperplane?

    - -

    -The aim of the SVM algorithm is to find a hyperplane in a +

    The aim of the SVM algorithm is to find a hyperplane in a \( p \)-dimensional space, where \( p \) is the number of features that distinctly classifies the data points. +

    -

    -In a \( p \)-dimensional space, a hyperplane is what we call an affine subspace of dimension of \( p-1 \). +

    In a \( p \)-dimensional space, a hyperplane is what we call an affine subspace of dimension of \( p-1 \). As an example, in two dimension, a hyperplane is simply as straight line while in three dimensions it is -a two-dimensional subspace, or stated simply, a plane. +a two-dimensional subspace, or stated simply, a plane. +

    -

    -In two dimensions, with the variables \( x_1 \) and \( x_2 \), the hyperplane is defined as +

    In two dimensions, with the variables \( x_1 \) and \( x_2 \), the hyperplane is defined as

    $$ b+w_1x_1+w_2x_2=0, $$ -

    -where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line +

    where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line \( b+w_1x_1+w_2x_2=0 \). In two dimensions we define the vectors \( \boldsymbol{x} =[x1,x2] \) and \( \boldsymbol{w}=[w1,w2] \). We can then rewrite the above equation as +

    $$ \boldsymbol{x}^T\boldsymbol{w}+b=0. $$ -

    +









    +

    A \( p \)-dimensional space of features

    -

    A \( p \)-dimensional space of features

    - -

    -We limit ourselves to two classes of outputs \( y_i \) and assign these classes the values \( y_i = \pm 1 \). +

    We limit ourselves to two classes of outputs \( y_i \) and assign these classes the values \( y_i = \pm 1 \). In a \( p \)-dimensional space of say \( p \) features we have a hyperplane defines as +

    $$ b+wx_1+w_2x_2+\dots +w_px_p=0. $$ -If we define a +

    If we define a matrix \( \boldsymbol{X}=\left[\boldsymbol{x}_1,\boldsymbol{x}_2,\dots, \boldsymbol{x}_p\right] \) of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \boldsymbol{X} \), +

    $$ \boldsymbol{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. $$ -If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have +

    If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have

    $$ b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} >0, $$ -if our output \( y_i=1 \). +

    if our output \( y_i=1 \). In this case we say that \( \boldsymbol{x}_i \) lies on one of the sides of the hyperplane and if +

    $$ b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, $$ -for the class of observations \( y_i=-1 \), -then \( \boldsymbol{x}_i \) lies on the other side. +

    for the class of observations \( y_i=-1 \), +then \( \boldsymbol{x}_i \) lies on the other side. +

    -

    -Equivalently, for the two classes of observations we have +

    Equivalently, for the two classes of observations we have

    $$ y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. $$ -

    -When we try to separate hyperplanes, if it exists, we can use it to construct a natural classifier: a test observation is assigned a given class depending on which side of the hyperplane it is located. +

    When we try to separate hyperplanes, if it exists, we can use it to construct a natural classifier: a test observation is assigned a given class depending on which side of the hyperplane it is located.

    -

    +

    The two-dimensional case

    -

    The two-dimensional case

    - -

    -Let us try to develop our intuition about SVMs by limiting ourselves to a two-dimensional +

    Let us try to develop our intuition about SVMs by limiting ourselves to a two-dimensional plane. To separate the two classes of data points, there are many possible lines (hyperplanes if you prefer a more strict naming) that could be chosen. Our objective is to find a @@ -355,302 +432,298 @@ plane that has the maximum margin, i.e the maximum distance between data points of both classes. Maximizing the margin distance provides some reinforcement so that future data points can be classified with more confidence. +

    -

    -What a linear classifier attempts to accomplish is to split the +

    What a linear classifier attempts to accomplish is to split the feature space into two half spaces by placing a hyperplane between the data points. This hyperplane will be our decision boundary. All points on one side of the plane will belong to class one and all points on the other side of the plane will belong to the second class two. +

    -

    -Unfortunately there are many ways in which we can place a hyperplane +

    Unfortunately there are many ways in which we can place a hyperplane to divide the data. Below is an example of two candidate hyperplanes for our data sample. +

    -











    +

    Getting into the details

    -

    Getting into the details

    - -

    -Let us define the function +

    Let us define the function

    $$ f(x) = \boldsymbol{w}^T\boldsymbol{x}+b = 0, $$ -as the function that determines the line \( L \) that separates two classes (our two features), see the figure here. +

    as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.

    -

    -Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \). +

    Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \).

    -

    -The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then +

    The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then

    $$ \delta = \frac{1}{\vert\vert \boldsymbol{w}\vert\vert}(\boldsymbol{w}^T\boldsymbol{x}+b). $$ -

    +









    +

    First attempt at a minimization approach

    -

    First attempt at a minimization approach

    - -

    -How do we find the parameter \( b \) and the vector \( \boldsymbol{w} \)? What we could +

    How do we find the parameter \( b \) and the vector \( \boldsymbol{w} \)? What we could do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function +

    $$ C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b). $$ -

    -We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldsymbol{w}^T\boldsymbol{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us +

    We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldsymbol{w}^T\boldsymbol{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us

    $$ \frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, $$ -and +

    and

    $$ \frac{\partial C}{\partial \boldsymbol{w}} = -\sum_{i\in M} y_ix_i. $$ -

    +









    +

    Solving the equations

    -

    Solving the equations

    - -

    -We can now use the Newton-Raphson method or different variants of the gradient descent family (from plain gradient descent to various stochastic gradient descent approaches) to solve the equations +

    We can now use the Newton-Raphson method or different variants of the gradient descent family (from plain gradient descent to various stochastic gradient descent approaches) to solve the equations

    $$ b \leftarrow b +\eta \frac{\partial C}{\partial b}, $$ -and +

    and

    $$ \boldsymbol{w} \leftarrow \boldsymbol{w} +\eta \frac{\partial C}{\partial \boldsymbol{w}}, $$ -where \( \eta \) is our by now well-known learning rate. +

    where \( \eta \) is our by now well-known learning rate.

    -











    +

    Code Example

    -

    Code Example

    - -

    -The equations we discussed above can be coded rather easily (the +

    The equations we discussed above can be coded rather easily (the framework is similar to what we developed for logistic regression). We are going to set up a simple case with two classes only and we want to find a line which separates them the best possible way. -

    +

    -
    
    -
    -

    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +









    +

    Problems with the Simpler Approach

    -

    Problems with the Simpler Approach

    - -

    -There are however problems with this approach, although it looks +

    There are however problems with this approach, although it looks pretty straightforward to implement. When running the above code, we see that we can easily end up with many diffeent lines which separate the two classes. +

    -

    -For small +

    For small gaps between the entries, we may also end up needing many iterations before the solutions converge and if the data cannot be separated properly into two distinct classes, we may not experience a converge at all. +

    -











    +

    A better approach

    -

    A better approach

    - -

    -A better approach is rather to try to define a large margin between +

    A better approach is rather to try to define a large margin between the two classes (if they are well separated from the beginning). +

    -

    -Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to +

    Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to \( \vert\vert \boldsymbol{w}\vert\vert =1 \) subject to the condition +

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ -All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. +

    All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line.

    -

    -We seek thus the largest value \( M \) defined by +

    We seek thus the largest value \( M \) defined by

    $$ \frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ -or just +

    or just

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. $$ -If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of +

    If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of \( \boldsymbol{w}^T\boldsymbol{w}=\vert \vert \boldsymbol{w}\vert\vert \) (the norm) subject to the condition +

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$ -

    -We have thus defined our margin as the invers of the norm of +

    We have thus defined our margin as the invers of the norm of \( \boldsymbol{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers. +

    -











    +

    A quick Reminder on Lagrangian Multipliers

    -

    A quick Reminder on Lagrangian Multipliers

    - -

    -Consider a function of three independent variables \( f(x,y,z) \) . For the function \( f \) to be an +

    Consider a function of three independent variables \( f(x,y,z) \) . For the function \( f \) to be an extreme we have +

    $$ df=0. $$ -A necessary and sufficient condition is +

    A necessary and sufficient condition is

    $$ \frac{\partial f}{\partial x} =\frac{\partial f}{\partial y}=\frac{\partial f}{\partial z}=0, $$ -due to +

    due to

    $$ df = \frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy+\frac{\partial f}{\partial z}dz. $$ -In many problems the variables \( x,y,z \) are often subject to constraints (such as those above for the margin) +

    In many problems the variables \( x,y,z \) are often subject to constraints (such as those above for the margin) so that they are no longer all independent. It is possible at least in principle to use each constraint to eliminate one variable and to proceed with a new and smaller set of independent varables. +

    -

    -The use of so-called Lagrangian multipliers is an alternative technique when the elimination +

    The use of so-called Lagrangian multipliers is an alternative technique when the elimination of variables is incovenient or undesirable. Assume that we have an equation of constraint on the variables \( x,y,z \) +

    $$ \phi(x,y,z) = 0, $$ - resulting in +

    resulting in

    $$ d\phi = \frac{\partial \phi}{\partial x}dx+\frac{\partial \phi}{\partial y}dy+\frac{\partial \phi}{\partial z}dz =0. $$ -Now we cannot set anymore +

    Now we cannot set anymore

    $$ \frac{\partial f}{\partial x} =\frac{\partial f}{\partial y}=\frac{\partial f}{\partial z}=0, $$ -if \( df=0 \) is wanted +

    if \( df=0 \) is wanted because there are now only two independent variables! Assume \( x \) and \( y \) are the independent variables. Then \( dz \) is no longer arbitrary. +

    -











    +

    Adding the Multiplier

    -

    Adding the Multiplier

    - -

    -However, we can add to +

    However, we can add to

    $$ df = \frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy+\frac{\partial f}{\partial z}dz, $$ -a multiplum of \( d\phi \), viz. \( \lambda d\phi \), resulting in +

    a multiplum of \( d\phi \), viz. \( \lambda d\phi \), resulting in

    $$ df+\lambda d\phi = (\frac{\partial f}{\partial z}+\lambda \frac{\partial \phi}{\partial x})dx+(\frac{\partial f}{\partial y}+\lambda\frac{\partial \phi}{\partial y})dy+ (\frac{\partial f}{\partial z}+\lambda\frac{\partial \phi}{\partial z})dz =0. $$ -Our multiplier is chosen so that +

    Our multiplier is chosen so that

    $$ \frac{\partial f}{\partial z}+\lambda\frac{\partial \phi}{\partial z} =0. $$ -

    -We need to remember that we took \( dx \) and \( dy \) to be arbitrary and thus we must have +

    We need to remember that we took \( dx \) and \( dy \) to be arbitrary and thus we must have

    $$ \frac{\partial f}{\partial x}+\lambda\frac{\partial \phi}{\partial x} =0, $$ -and +

    and

    $$ \frac{\partial f}{\partial y}+\lambda\frac{\partial \phi}{\partial y} =0. $$ -When all these equations are satisfied, \( df=0 \). We have four unknowns, \( x,y,z \) and +

    When all these equations are satisfied, \( df=0 \). We have four unknowns, \( x,y,z \) and \( \lambda \). Actually we want only \( x,y,z \), \( \lambda \) needs not to be determined, it is therefore often called Lagrange's undetermined multiplier. If we have a set of constraints \( \phi_k \) we have the equations +

    $$ \frac{\partial f}{\partial x_i}+\sum_k\lambda_k\frac{\partial \phi_k}{\partial x_i} =0. $$ -

    -









    -

    Setting up the Problem

    -In order to solve the above problem, we define the following Lagrangian function to be minimized +









    +

    Setting up the Problem

    +

    In order to solve the above problem, we define the following Lagrangian function to be minimized

    $$ {\cal L}(\lambda,b,\boldsymbol{w})=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)-1\right], $$ -where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \). +

    where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \).

    -

    -Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain +

    Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain

    $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ -and +

    and

    $$ \frac{\partial {\cal L}}{\partial \boldsymbol{w}} = 0 = \boldsymbol{w}-\sum_{i} \lambda_iy_i\boldsymbol{x}_i. $$ -Inserting these constraints into the equation for \( {\cal L} \) we obtain +

    Inserting these constraints into the equation for \( {\cal L} \) we obtain

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, $$ -subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). +

    subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition +

    $$ \lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -1\right] \hspace{0.1cm}\forall i. $$ -
    1. If \( \lambda_i > 0 \), then \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
    2. If \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
    +

    When \( \lambda_i > 0 \), the vectors \( \boldsymbol{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \).

    -When \( \lambda_i > 0 \), the vectors \( \boldsymbol{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). - -











    +

    The problem to solve

    -

    The problem to solve

    - -

    -We can rewrite +

    We can rewrite

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, $$ -and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem +

    and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem

    $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1\boldsymbol{x}_1^T\boldsymbol{x}_1 & y_1y_2\boldsymbol{x}_1^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_1^T\boldsymbol{x}_n \\ y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ @@ -660,119 +733,113 @@ y_ny_1\boldsymbol{x}_n^T\boldsymbol{x}_1 & y_ny_2\boldsymbol{x}_n^T\boldsymbol{x \end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$ -subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and -\( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). +

    -











    +

    The last steps

    -

    The last steps

    - -

    -Solving the above problem, yields the values of \( \lambda_i \). +

    Solving the above problem, yields the values of \( \lambda_i \). To find the coefficients of your hyperplane we need simply to compute +

    $$ \boldsymbol{w}=\sum_{i} \lambda_iy_i\boldsymbol{x}_i. $$ -With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via +

    With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, $$ -resulting in +

    resulting in

    $$ b = \frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x}_i, $$ -or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have +

    or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have

    $$ b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldsymbol{x}_i^T\boldsymbol{x}_j\right). $$ -With our hyperplane coefficients we can use our classifier to assign any observation by simply using +

    With our hyperplane coefficients we can use our classifier to assign any observation by simply using

    $$ y_i = \mathrm{sign}(\boldsymbol{w}^T\boldsymbol{x}_i+b). $$ -Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier. +

    Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier.

    -











    +

    A soft classifier

    -

    A soft classifier

    +

    Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.

    -

    -Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined. - -

    -Suppose now that classes overlap in feature space, as shown in the +

    Suppose now that classes overlap in feature space, as shown in the figure here. One way to deal with this problem before we define the so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin. +

    -

    -We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and +

    We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation +

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, $$ -to +

    to

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i, $$ -with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). +

    with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins. +

    -

    -Misclassifications occur when \( \xi_i > 1 \). Thus bounding the total sum by some value \( C \) bounds in turn the total number of +

    Misclassifications occur when \( \xi_i > 1 \). Thus bounding the total sum by some value \( C \) bounds in turn the total number of misclassifications. +

    -











    +

    Soft optmization problem

    -

    Soft optmization problem

    - -

    -This has in turn the consequences that we change our optmization problem to finding the minimum of +

    This has in turn the consequences that we change our optmization problem to finding the minimum of

    $$ {\cal L}=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, $$ -subject to +

    subject to

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, $$ -with the requirement \( \xi_i\geq 0 \). +

    with the requirement \( \xi_i\geq 0 \).

    -

    -Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain +

    Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain

    $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ -and +

    and

    $$ \frac{\partial {\cal L}}{\partial \boldsymbol{w}} = 0 = \boldsymbol{w}-\sum_{i} \lambda_iy_i\boldsymbol{x}_i, $$ -and +

    and

    $$ \lambda_i = C-\gamma_i \hspace{0.1cm}\forall i. $$ -Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before +

    Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, $$ -but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). +

    but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads +

    $$ \lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$ @@ -781,38 +848,41 @@ $$ \gamma_i\xi_i = 0, $$ -and +

    and

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$ -

    +









    +

    Kernels and non-linearity

    -

    Kernels and non-linearity

    - -

    -The cases we have studied till now, were all characterized by two classes +

    The cases we have studied till now, were all characterized by two classes with a close to linear separability. The classifiers we have described so far find linear boundaries in our input feature space. It is possible to make our procedure more flexible by exploring the feature space using other basis expansions such as higher-order polynomials, wavelets, splines etc. +

    -

    -If our feature space is not easy to separate, as shown in the figure +

    If our feature space is not easy to separate, as shown in the figure here, we can achieve a better separation by introducing more complex basis functions. The ideal would be, as shown in the next figure, to, via a specific transformation to -obtain a separation between the classes which is almost linear. +obtain a separation between the classes which is almost linear. +

    -

    -The change of basis, from \( x\rightarrow z=\phi(x) \) leads to the same type of equations to be solved, except that +

    The change of basis, from \( x\rightarrow z=\phi(x) \) leads to the same type of equations to be solved, except that we need to introduce for example a polynomial transformation to a two-dimensional training set. +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import os
     
     np.random.seed(42)
    @@ -858,62 +928,72 @@ plt.plot([-4.5, 4.5, 4.5, -1, 17])
     plt.subplots_adjust(right=1)
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    The equations

    -

    The equations

    - -

    -Suppose we define a polynomial transformation of degree two only (we continue to live in a plane with \( x_i \) and \( y_i \) as variables) +

    Suppose we define a polynomial transformation of degree two only (we continue to live in a plane with \( x_i \) and \( y_i \) as variables)

    $$ z = \phi(x_i) =\left(x_i^2, y_i^2, \sqrt{2}x_iy_i\right). $$ -

    -With our new basis, the equations we solved earlier are basically the same, that is we have now (without the slack option for simplicity) +

    With our new basis, the equations we solved earlier are basically the same, that is we have now (without the slack option for simplicity)

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{z}_i^T\boldsymbol{z}_j, $$ -subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \), and for the support vectors +

    subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \), and for the support vectors

    $$ y_i(\boldsymbol{w}^T\boldsymbol{z}_i+b)= 1 \hspace{0.1cm}\forall i, $$ -from which we also find \( b \). +

    from which we also find \( b \). To compute \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we define the kernel \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as +

    $$ K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$ -For the above example, the kernel reads +

    For the above example, the kernel reads

    $$ K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. $$ -

    -We note that this is nothing but the dot product of the two original +

    We note that this is nothing but the dot product of the two original vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the product in the Lagrangian of \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we simply compute the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). +

    -

    -This leads to the so-called +

    This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation \( \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. +

    -











    - -

    The problem to solve

    -Using our definition of the kernel We can rewrite again the Lagrangian +

    The problem to solve

    +

    Using our definition of the kernel We can rewrite again the Lagrangian

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{z}_j, $$ -subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem +

    subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem

    $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ @@ -923,12 +1003,12 @@ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol \end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$ -subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and \( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). If we add the slack constants this leads to the additional constraint \( 0\leq \lambda_i \leq C \). +

    -

    -We can rewrite this (see the solutions below) in terms of a convex optimization problem of the type +

    We can rewrite this (see the solutions below) in terms of a convex optimization problem of the type

    $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber @@ -936,56 +1016,54 @@ $$ \end{align*} $$ -Below we discuss how to solve these equations. Here we note that the matrix \( \boldsymbol{P} \) has matrix elements \( p_{ij}=y_iy_jK(\boldsymbol{x}_i,\boldsymbol{x}_j) \). +

    Below we discuss how to solve these equations. Here we note that the matrix \( \boldsymbol{P} \) has matrix elements \( p_{ij}=y_iy_jK(\boldsymbol{x}_i,\boldsymbol{x}_j) \). Given a kernel \( K \) and the targets \( y_i \) this matrix is easy to set up. The constraint \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \) leads to \( f=0 \) and \( \boldsymbol{A}=\boldsymbol{y} \). How to set up the matrix \( \boldsymbol{G} \) is discussed later. Here note that the inequalities \( 0\leq \lambda_i \leq C \) can be split up into \( 0\leq \lambda_i \) and \( \lambda_i \leq C \). These two inequalities define then the matrix \( \boldsymbol{G} \) and the vector \( \boldsymbol{h} \). +

    -











    +

    Different kernels and Mercer's theorem

    -

    Different kernels and Mercer's theorem

    - -

    -There are several popular kernels being used. These are - +

    There are several popular kernels being used. These are

    1. Linear: \( K(\boldsymbol{x},\boldsymbol{y})=\boldsymbol{x}^T\boldsymbol{y} \),
    2. Polynomial: \( K(\boldsymbol{x},\boldsymbol{y})=(\boldsymbol{x}^T\boldsymbol{y}+\gamma)^d \),
    3. Gaussian Radial Basis Function: \( K(\boldsymbol{x},\boldsymbol{y})=\exp{\left(-\gamma\vert\vert\boldsymbol{x}-\boldsymbol{y}\vert\vert^2\right)} \),
    4. Tanh: \( K(\boldsymbol{x},\boldsymbol{y})=\tanh{(\boldsymbol{x}^T\boldsymbol{y}+\gamma)} \),
    +

    and many other ones.

    -and many other ones. - -

    -An important theorem for us is Mercer's +

    An important theorem for us is Mercer's theorem. The theorem states that if a kernel function \( K \) is symmetric, continuous and leads to a positive semi-definite matrix \( \boldsymbol{P} \) then there exists a function \( \phi \) that maps \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_j \) into another space (possibly with much higher dimensions) such that +

    $$ K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$ -

    -So you can use \( K \) as a kernel since you know \( \phi \) exists, even if -you don’t know what \( \phi \) is. +

    So you can use \( K \) as a kernel since you know \( \phi \) exists, even if +you don’t know what \( \phi \) is. +

    -

    -Note that some frequently used kernels (such as the Sigmoid kernel) +

    Note that some frequently used kernels (such as the Sigmoid kernel) don’t respect all of Mercer’s conditions, yet they generally work well in practice. +

    -











    - -

    The moons example

    -

    +

    The moons example

    -
    from __future__ import division, print_function, unicode_literals
    +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
     
     import numpy as np
     np.random.seed(42)
    @@ -1173,14 +1251,26 @@ plt.figure(figsize=(11, r"$\gamma = {}, C = {}$".format(gamma, C), fontsize=16)
     
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Mathematical optimization of convex functions

    -

    Mathematical optimization of convex functions

    - -

    -A mathematical (quadratic) optimization problem, or just optimization problem, has the form +

    A mathematical (quadratic) optimization problem, or just optimization problem, has the form

    $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber @@ -1188,50 +1278,61 @@ $$ \end{align*} $$ -subject to some constraints for say a selected set \( i=1,2,\dots, n \). +

    subject to some constraints for say a selected set \( i=1,2,\dots, n \). In our case we are optimizing with respect to the Lagrangian multipliers \( \lambda_i \), and the vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the optimization variable we are dealing with. +

    -

    -In our case we are particularly interested in a class of optimization problems called convex optmization problems. -In our discussion on gradient descent methods we discussed at length the definition of a convex function. +

    In our case we are particularly interested in a class of optimization problems called convex optmization problems. +In our discussion on gradient descent methods we discussed at length the definition of a convex function. +

    -

    -Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics. +

    Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics.

    -











    +

    How do we solve these problems?

    -

    How do we solve these problems?

    - -

    -If we use Python as programming language and wish to venture beyond +

    If we use Python as programming language and wish to venture beyond scikit-learn, tensorflow and similar software which makes our lives so much easier, we need to dive into the wonderful world of quadratic programming. We can, if we wish, solve the minimization problem using say standard gradient methods or conjugate gradient methods. However, these methods tend to exhibit a rather slow converge. So, welcome to the promised land of quadratic programming. +

    -

    -The functions we need are contained in the quadratic programming package CVXOPT and we need to import it together with numpy as +

    The functions we need are contained in the quadratic programming package CVXOPT and we need to import it together with numpy as

    -

    -

    import numpy
    +
    +
    +
    +
    +
    +
    import numpy
     import cvxopt
    -
    -

    -This will make our life much easier. You don't need t write your own optimizer. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    This will make our life much easier. You don't need t write your own optimizer.

    -











    +

    A simple example

    -

    A simple example

    - -

    -We remind ourselves about the general problem we want to solve +

    We remind ourselves about the general problem we want to solve

    $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\boldsymbol{x}^T\boldsymbol{P}\boldsymbol{x}+\boldsymbol{q}^T\boldsymbol{x},\\ \nonumber @@ -1239,8 +1340,7 @@ $$ \end{align*} $$ -

    -Let us show how to perform the optmization using a simple case. Assume we want to optimize the following problem +

    Let us show how to perform the optmization using a simple case. Assume we want to optimize the following problem

    $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}x^2+5x+3y \\ \nonumber @@ -1252,34 +1352,39 @@ $$ \end{align*} $$ -The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns) +

    The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns)

    $$ \frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. $$ -Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation +

    Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation

    $$ \begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$ -We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix +

    We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix

    $$ \boldsymbol{P} =\begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} $$ -is clearly positive semi-definite (all eigenvalues larger or equal zero). +

    is clearly positive semi-definite (all eigenvalues larger or equal zero). Finally, the vector \( \boldsymbol{h} \) is defined as +

    $$ \boldsymbol{h} = \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$ -

    -Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero +

    Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero The following code solves the equations for us -

    +

    -
    # Import the necessary packages
    +
    +
    +
    +
    +
    +
    # Import the necessary packages
     import numpy
     from cvxopt import matrix
     from cvxopt import solvers
    @@ -1292,14 +1397,26 @@ sol = solvers.qp(P,q,G,h)
     # Extract optimal value and solution
     sol[’x’] 
     sol[’primal objective’]
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Back to the more realistic cases

    -

    Back to the more realistic cases

    - -

    -We are now ready to return to our setup of the optmization problem for a more realistic case. Introducing the slack parameter \( C \) we have +

    We are now ready to return to our setup of the optmization problem for a more realistic case. Introducing the slack parameter \( C \) we have

    $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2K(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ @@ -1309,24 +1426,17 @@ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol \end{bmatrix}\boldsymbol{\lambda}-\mathbb{I}\boldsymbol{\lambda}, $$ -subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and \( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). With the slack constants this leads to the additional constraint \( 0\leq \lambda_i \leq C \). +

    -

    code will be added -

    - - -

    - © 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week46/html/week46.html b/doc/pub/week46/html/week46.html index 0110087bd..96ed4fddf 100644 --- a/doc/pub/week46/html/week46.html +++ b/doc/pub/week46/html/week46.html @@ -1,81 +1,204 @@ - + - - -Week 46: Gradient Boosting Summary and Support Vector Machines - - + +Week 46: Support Vector Machines and Project 3 - - @@ -95,118 +218,135 @@ MathJax.Hub.Config({ - - +
    +

    Week 46: Support Vector Machines and Project 3

    +
    - - -

    Week 46: Gradient Boosting Summary and Support Vector Machines

    - -

    -

    Morten Hjorth-Jensen [1, 2]
    - -

    +

    +[1] Department of Physics, University of Oslo +
    +
    +[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University +
    +
    +
    +

    Nov 14, 2021

    +
    +
    -
    [1] Department of Physics, University of Oslo
    -
    [2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
    -
    -

    -

    Nov 12, 2020

    -
    -











    - -

    Overview of week 46

    +

    Overview of week 46

      -
    • Thursday: Summary of Gradient Boosting and further examples of applications, from the physical sciences to the social sciences. Guest lecture by John M. Aiken on Gradient Boosting and XGboost.
    • -
    • Friday: Support Vector Machines, classification and regression.
    • +
    • Thursday: Summary of Gradient Boosting with selected examples. Start support Vector Machines
    • +
    • Friday: Eventual Workshop on project 3. Discussion of project 3.
    +Note that on Thursday we will have only one lecture, from 1215pm to 1pm. There is no session 115pm-2pm. -Geron's chapter 5. Chapter 12 (sections 12.1-12.3 are the most relevant ones) of Hastie et al contains also a good discussion. - +
    +Reading

    -See overview video on Support Vector Machines. See also this video. +

    Reading recommendations:

    +
      +
    1. See lecture notes for week 46 at https://compphysics.github.io/MachineLearning/doc/web/course.html.
    2. +
    3. Hastie et al chapter 12
    4. +
    5. Bishop chapter 7.1 and 7.2
    6. +
    +
    + + + +









    +

    Friday

    -

    Thursday

    +

    Last year we had a very interesting workshop with many presentations. These were (program 2020)

    -

    -The first lecture on Thursday is devoted to a summary from last week, with additional examples. This material is included in the lectures from week 45, see also Hastie et al. chapter 10.1-10.10. +

      +
    • Maria Emine Nylund: Lego Bricks Classifier
    • +
    • Fabio Rodrigues Pereira: Financial Machine Learning
    • +
    • Markus Borud Pettersen: Machine Learning and Brain Grid Cells
    • +
    • Jing Sun and Endrias Getachew Asgedom: Machine learning-based approaches to denoising microseismic data
    • +
    • Felicia Jacobsen: Analysis of Breast Cancer Data
    • +
    • Simon Elias Schrader: Predicting atomization energies of molecules
    • +
    • Varvara Bazilova and Sergio Andres Diaz Mesa: Glacier Mapping and Machine Learning
    • +
    • Gert Werner Kluge, Hanna Alida Fossen Hardersen and Sushma Sharma Adhikari: Gamma ray signals stemming from dark matter in the galactic center
    • +
    +

    We wish to organize something similar this coming Friday. The presentation last typically 5-10 minutes (some 3-5 slides) with time for questions afterwards. +Feel free to suggest topics. +

    -

    -The second letter will be given by John M. Aiken, who recently defended his thesis on machine learning, and in particular using boosting methods, to data from the social sciences and science education. +

    The program will be available asap. It depends on input from you!

    -











    +

    Support Vector Machines, overarching aims

    -

    Friday

    - -

    -We start with a new topic and second-last topic covered in this course, support vector machines (SVM). - -

    -









    - -

    Support Vector Machines, overarching aims

    - -

    -A Support Vector Machine (SVM) is a very powerful and versatile +

    A Support Vector Machine (SVM) is a very powerful and versatile Machine Learning method, capable of performing linear or nonlinear classification, regression, and even outlier detection. It is one of the most popular models in Machine Learning, and anyone interested in Machine Learning should have it in their toolbox. SVMs are particularly well suited for classification of complex but small-sized or -medium-sized datasets. +medium-sized datasets. +

    -

    -The case with two well-separated classes only can be understood in an +

    The case with two well-separated classes only can be understood in an intuitive way in terms of lines in a two-dimensional space separating the two classes (see figure below). +

    -

    -The basic mathematics behind the SVM is however less familiar to most of us. +

    The basic mathematics behind the SVM is however less familiar to most of us. It relies on the definition of hyperplanes and the definition of a margin which separates classes (in case of classification problems) of variables. It is also used for regression problems. +

    -

    -With SVMs we distinguish between hard margin and soft margins. The +

    With SVMs we distinguish between hard margin and soft margins. The latter introduces a so-called softening parameter to be discussed below. We distinguish also between linear and non-linear approaches. The latter are the most frequent ones since it is rather unlikely that we can separate classes easily by say straight lines. +

    -











    +

    Hyperplanes and all that

    -

    Hyperplanes and all that

    - -

    -The theory behind support vector machines (SVM hereafter) is based on +

    The theory behind support vector machines (SVM hereafter) is based on the mathematical description of so-called hyperplanes. Let us start with a two-dimensional case. This will also allow us to introduce our first SVM examples. These will be tailored to the case of two specific classes, as displayed in the figure here based on the usage of the petal data. +

    -

    -We assume here that our data set can be well separated into two +

    We assume here that our data set can be well separated into two domains, where a straight line does the job in the separating the two classes. Here the two classes are represented by either squares or circles. -

    +

    -
    from sklearn import datasets
    +
    +
    +
    +
    +
    +
    from sklearn import datasets
     from sklearn.svm import SVC, LinearSVC
     from sklearn.linear_model import SGDClassifier
     from sklearn.preprocessing import StandardScaler
    @@ -272,87 +412,96 @@ plt.legend(loc=
     plt.axis([0, 5.5, 0, 2])
     
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    What is a hyperplane?

    -

    What is a hyperplane?

    - -

    -The aim of the SVM algorithm is to find a hyperplane in a +

    The aim of the SVM algorithm is to find a hyperplane in a \( p \)-dimensional space, where \( p \) is the number of features that distinctly classifies the data points. +

    -

    -In a \( p \)-dimensional space, a hyperplane is what we call an affine subspace of dimension of \( p-1 \). +

    In a \( p \)-dimensional space, a hyperplane is what we call an affine subspace of dimension of \( p-1 \). As an example, in two dimension, a hyperplane is simply as straight line while in three dimensions it is -a two-dimensional subspace, or stated simply, a plane. +a two-dimensional subspace, or stated simply, a plane. +

    -

    -In two dimensions, with the variables \( x_1 \) and \( x_2 \), the hyperplane is defined as +

    In two dimensions, with the variables \( x_1 \) and \( x_2 \), the hyperplane is defined as

    $$ b+w_1x_1+w_2x_2=0, $$ -

    -where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line +

    where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line \( b+w_1x_1+w_2x_2=0 \). In two dimensions we define the vectors \( \boldsymbol{x} =[x1,x2] \) and \( \boldsymbol{w}=[w1,w2] \). We can then rewrite the above equation as +

    $$ \boldsymbol{x}^T\boldsymbol{w}+b=0. $$ -

    +









    +

    A \( p \)-dimensional space of features

    -

    A \( p \)-dimensional space of features

    - -

    -We limit ourselves to two classes of outputs \( y_i \) and assign these classes the values \( y_i = \pm 1 \). +

    We limit ourselves to two classes of outputs \( y_i \) and assign these classes the values \( y_i = \pm 1 \). In a \( p \)-dimensional space of say \( p \) features we have a hyperplane defines as +

    $$ b+wx_1+w_2x_2+\dots +w_px_p=0. $$ -If we define a +

    If we define a matrix \( \boldsymbol{X}=\left[\boldsymbol{x}_1,\boldsymbol{x}_2,\dots, \boldsymbol{x}_p\right] \) of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \boldsymbol{X} \), +

    $$ \boldsymbol{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. $$ -If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have +

    If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have

    $$ b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} >0, $$ -if our output \( y_i=1 \). +

    if our output \( y_i=1 \). In this case we say that \( \boldsymbol{x}_i \) lies on one of the sides of the hyperplane and if +

    $$ b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, $$ -for the class of observations \( y_i=-1 \), -then \( \boldsymbol{x}_i \) lies on the other side. +

    for the class of observations \( y_i=-1 \), +then \( \boldsymbol{x}_i \) lies on the other side. +

    -

    -Equivalently, for the two classes of observations we have +

    Equivalently, for the two classes of observations we have

    $$ y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. $$ -

    -When we try to separate hyperplanes, if it exists, we can use it to construct a natural classifier: a test observation is assigned a given class depending on which side of the hyperplane it is located. +

    When we try to separate hyperplanes, if it exists, we can use it to construct a natural classifier: a test observation is assigned a given class depending on which side of the hyperplane it is located.

    -

    +

    The two-dimensional case

    -

    The two-dimensional case

    - -

    -Let us try to develop our intuition about SVMs by limiting ourselves to a two-dimensional +

    Let us try to develop our intuition about SVMs by limiting ourselves to a two-dimensional plane. To separate the two classes of data points, there are many possible lines (hyperplanes if you prefer a more strict naming) that could be chosen. Our objective is to find a @@ -360,302 +509,298 @@ plane that has the maximum margin, i.e the maximum distance between data points of both classes. Maximizing the margin distance provides some reinforcement so that future data points can be classified with more confidence. +

    -

    -What a linear classifier attempts to accomplish is to split the +

    What a linear classifier attempts to accomplish is to split the feature space into two half spaces by placing a hyperplane between the data points. This hyperplane will be our decision boundary. All points on one side of the plane will belong to class one and all points on the other side of the plane will belong to the second class two. +

    -

    -Unfortunately there are many ways in which we can place a hyperplane +

    Unfortunately there are many ways in which we can place a hyperplane to divide the data. Below is an example of two candidate hyperplanes for our data sample. +

    -











    +

    Getting into the details

    -

    Getting into the details

    - -

    -Let us define the function +

    Let us define the function

    $$ f(x) = \boldsymbol{w}^T\boldsymbol{x}+b = 0, $$ -as the function that determines the line \( L \) that separates two classes (our two features), see the figure here. +

    as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.

    -

    -Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \). +

    Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \).

    -

    -The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then +

    The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then

    $$ \delta = \frac{1}{\vert\vert \boldsymbol{w}\vert\vert}(\boldsymbol{w}^T\boldsymbol{x}+b). $$ -

    +









    +

    First attempt at a minimization approach

    -

    First attempt at a minimization approach

    - -

    -How do we find the parameter \( b \) and the vector \( \boldsymbol{w} \)? What we could +

    How do we find the parameter \( b \) and the vector \( \boldsymbol{w} \)? What we could do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function +

    $$ C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b). $$ -

    -We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldsymbol{w}^T\boldsymbol{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us +

    We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldsymbol{w}^T\boldsymbol{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us

    $$ \frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, $$ -and +

    and

    $$ \frac{\partial C}{\partial \boldsymbol{w}} = -\sum_{i\in M} y_ix_i. $$ -

    +









    +

    Solving the equations

    -

    Solving the equations

    - -

    -We can now use the Newton-Raphson method or different variants of the gradient descent family (from plain gradient descent to various stochastic gradient descent approaches) to solve the equations +

    We can now use the Newton-Raphson method or different variants of the gradient descent family (from plain gradient descent to various stochastic gradient descent approaches) to solve the equations

    $$ b \leftarrow b +\eta \frac{\partial C}{\partial b}, $$ -and +

    and

    $$ \boldsymbol{w} \leftarrow \boldsymbol{w} +\eta \frac{\partial C}{\partial \boldsymbol{w}}, $$ -where \( \eta \) is our by now well-known learning rate. +

    where \( \eta \) is our by now well-known learning rate.

    -











    +

    Code Example

    -

    Code Example

    - -

    -The equations we discussed above can be coded rather easily (the +

    The equations we discussed above can be coded rather easily (the framework is similar to what we developed for logistic regression). We are going to set up a simple case with two classes only and we want to find a line which separates them the best possible way. -

    +

    -
    
    -
    -

    +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +









    +

    Problems with the Simpler Approach

    -

    Problems with the Simpler Approach

    - -

    -There are however problems with this approach, although it looks +

    There are however problems with this approach, although it looks pretty straightforward to implement. When running the above code, we see that we can easily end up with many diffeent lines which separate the two classes. +

    -

    -For small +

    For small gaps between the entries, we may also end up needing many iterations before the solutions converge and if the data cannot be separated properly into two distinct classes, we may not experience a converge at all. +

    -











    +

    A better approach

    -

    A better approach

    - -

    -A better approach is rather to try to define a large margin between +

    A better approach is rather to try to define a large margin between the two classes (if they are well separated from the beginning). +

    -

    -Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to +

    Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to \( \vert\vert \boldsymbol{w}\vert\vert =1 \) subject to the condition +

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ -All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. +

    All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line.

    -

    -We seek thus the largest value \( M \) defined by +

    We seek thus the largest value \( M \) defined by

    $$ \frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ -or just +

    or just

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. $$ -If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of +

    If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of \( \boldsymbol{w}^T\boldsymbol{w}=\vert \vert \boldsymbol{w}\vert\vert \) (the norm) subject to the condition +

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$ -

    -We have thus defined our margin as the invers of the norm of +

    We have thus defined our margin as the invers of the norm of \( \boldsymbol{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers. +

    -











    +

    A quick Reminder on Lagrangian Multipliers

    -

    A quick Reminder on Lagrangian Multipliers

    - -

    -Consider a function of three independent variables \( f(x,y,z) \) . For the function \( f \) to be an +

    Consider a function of three independent variables \( f(x,y,z) \) . For the function \( f \) to be an extreme we have +

    $$ df=0. $$ -A necessary and sufficient condition is +

    A necessary and sufficient condition is

    $$ \frac{\partial f}{\partial x} =\frac{\partial f}{\partial y}=\frac{\partial f}{\partial z}=0, $$ -due to +

    due to

    $$ df = \frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy+\frac{\partial f}{\partial z}dz. $$ -In many problems the variables \( x,y,z \) are often subject to constraints (such as those above for the margin) +

    In many problems the variables \( x,y,z \) are often subject to constraints (such as those above for the margin) so that they are no longer all independent. It is possible at least in principle to use each constraint to eliminate one variable and to proceed with a new and smaller set of independent varables. +

    -

    -The use of so-called Lagrangian multipliers is an alternative technique when the elimination +

    The use of so-called Lagrangian multipliers is an alternative technique when the elimination of variables is incovenient or undesirable. Assume that we have an equation of constraint on the variables \( x,y,z \) +

    $$ \phi(x,y,z) = 0, $$ - resulting in +

    resulting in

    $$ d\phi = \frac{\partial \phi}{\partial x}dx+\frac{\partial \phi}{\partial y}dy+\frac{\partial \phi}{\partial z}dz =0. $$ -Now we cannot set anymore +

    Now we cannot set anymore

    $$ \frac{\partial f}{\partial x} =\frac{\partial f}{\partial y}=\frac{\partial f}{\partial z}=0, $$ -if \( df=0 \) is wanted +

    if \( df=0 \) is wanted because there are now only two independent variables! Assume \( x \) and \( y \) are the independent variables. Then \( dz \) is no longer arbitrary. +

    -











    +

    Adding the Multiplier

    -

    Adding the Multiplier

    - -

    -However, we can add to +

    However, we can add to

    $$ df = \frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy+\frac{\partial f}{\partial z}dz, $$ -a multiplum of \( d\phi \), viz. \( \lambda d\phi \), resulting in +

    a multiplum of \( d\phi \), viz. \( \lambda d\phi \), resulting in

    $$ df+\lambda d\phi = (\frac{\partial f}{\partial z}+\lambda \frac{\partial \phi}{\partial x})dx+(\frac{\partial f}{\partial y}+\lambda\frac{\partial \phi}{\partial y})dy+ (\frac{\partial f}{\partial z}+\lambda\frac{\partial \phi}{\partial z})dz =0. $$ -Our multiplier is chosen so that +

    Our multiplier is chosen so that

    $$ \frac{\partial f}{\partial z}+\lambda\frac{\partial \phi}{\partial z} =0. $$ -

    -We need to remember that we took \( dx \) and \( dy \) to be arbitrary and thus we must have +

    We need to remember that we took \( dx \) and \( dy \) to be arbitrary and thus we must have

    $$ \frac{\partial f}{\partial x}+\lambda\frac{\partial \phi}{\partial x} =0, $$ -and +

    and

    $$ \frac{\partial f}{\partial y}+\lambda\frac{\partial \phi}{\partial y} =0. $$ -When all these equations are satisfied, \( df=0 \). We have four unknowns, \( x,y,z \) and +

    When all these equations are satisfied, \( df=0 \). We have four unknowns, \( x,y,z \) and \( \lambda \). Actually we want only \( x,y,z \), \( \lambda \) needs not to be determined, it is therefore often called Lagrange's undetermined multiplier. If we have a set of constraints \( \phi_k \) we have the equations +

    $$ \frac{\partial f}{\partial x_i}+\sum_k\lambda_k\frac{\partial \phi_k}{\partial x_i} =0. $$ -

    -









    -

    Setting up the Problem

    -In order to solve the above problem, we define the following Lagrangian function to be minimized +









    +

    Setting up the Problem

    +

    In order to solve the above problem, we define the following Lagrangian function to be minimized

    $$ {\cal L}(\lambda,b,\boldsymbol{w})=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)-1\right], $$ -where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \). +

    where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \).

    -

    -Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain +

    Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain

    $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ -and +

    and

    $$ \frac{\partial {\cal L}}{\partial \boldsymbol{w}} = 0 = \boldsymbol{w}-\sum_{i} \lambda_iy_i\boldsymbol{x}_i. $$ -Inserting these constraints into the equation for \( {\cal L} \) we obtain +

    Inserting these constraints into the equation for \( {\cal L} \) we obtain

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, $$ -subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). +

    subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition +

    $$ \lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -1\right] \hspace{0.1cm}\forall i. $$ -
    1. If \( \lambda_i > 0 \), then \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
    2. If \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
    +

    When \( \lambda_i > 0 \), the vectors \( \boldsymbol{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \).

    -When \( \lambda_i > 0 \), the vectors \( \boldsymbol{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). - -











    +

    The problem to solve

    -

    The problem to solve

    - -

    -We can rewrite +

    We can rewrite

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, $$ -and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem +

    and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem

    $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1\boldsymbol{x}_1^T\boldsymbol{x}_1 & y_1y_2\boldsymbol{x}_1^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_1^T\boldsymbol{x}_n \\ y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ @@ -665,119 +810,113 @@ y_ny_1\boldsymbol{x}_n^T\boldsymbol{x}_1 & y_ny_2\boldsymbol{x}_n^T\boldsymbol{x \end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$ -subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and -\( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). +

    -











    +

    The last steps

    -

    The last steps

    - -

    -Solving the above problem, yields the values of \( \lambda_i \). +

    Solving the above problem, yields the values of \( \lambda_i \). To find the coefficients of your hyperplane we need simply to compute +

    $$ \boldsymbol{w}=\sum_{i} \lambda_iy_i\boldsymbol{x}_i. $$ -With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via +

    With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, $$ -resulting in +

    resulting in

    $$ b = \frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x}_i, $$ -or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have +

    or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have

    $$ b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldsymbol{x}_i^T\boldsymbol{x}_j\right). $$ -With our hyperplane coefficients we can use our classifier to assign any observation by simply using +

    With our hyperplane coefficients we can use our classifier to assign any observation by simply using

    $$ y_i = \mathrm{sign}(\boldsymbol{w}^T\boldsymbol{x}_i+b). $$ -Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier. +

    Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier.

    -











    +

    A soft classifier

    -

    A soft classifier

    +

    Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.

    -

    -Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined. - -

    -Suppose now that classes overlap in feature space, as shown in the +

    Suppose now that classes overlap in feature space, as shown in the figure here. One way to deal with this problem before we define the so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin. +

    -

    -We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and +

    We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation +

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, $$ -to +

    to

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i, $$ -with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). +

    with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction \( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins. +

    -

    -Misclassifications occur when \( \xi_i > 1 \). Thus bounding the total sum by some value \( C \) bounds in turn the total number of +

    Misclassifications occur when \( \xi_i > 1 \). Thus bounding the total sum by some value \( C \) bounds in turn the total number of misclassifications. +

    -











    +

    Soft optmization problem

    -

    Soft optmization problem

    - -

    -This has in turn the consequences that we change our optmization problem to finding the minimum of +

    This has in turn the consequences that we change our optmization problem to finding the minimum of

    $$ {\cal L}=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, $$ -subject to +

    subject to

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, $$ -with the requirement \( \xi_i\geq 0 \). +

    with the requirement \( \xi_i\geq 0 \).

    -

    -Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain +

    Taking the derivatives with respect to \( b \) and \( \boldsymbol{w} \) we obtain

    $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ -and +

    and

    $$ \frac{\partial {\cal L}}{\partial \boldsymbol{w}} = 0 = \boldsymbol{w}-\sum_{i} \lambda_iy_i\boldsymbol{x}_i, $$ -and +

    and

    $$ \lambda_i = C-\gamma_i \hspace{0.1cm}\forall i. $$ -Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before +

    Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j, $$ -but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). +

    but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads +

    $$ \lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$ @@ -786,38 +925,41 @@ $$ \gamma_i\xi_i = 0, $$ -and +

    and

    $$ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$ -

    +









    +

    Kernels and non-linearity

    -

    Kernels and non-linearity

    - -

    -The cases we have studied till now, were all characterized by two classes +

    The cases we have studied till now, were all characterized by two classes with a close to linear separability. The classifiers we have described so far find linear boundaries in our input feature space. It is possible to make our procedure more flexible by exploring the feature space using other basis expansions such as higher-order polynomials, wavelets, splines etc. +

    -

    -If our feature space is not easy to separate, as shown in the figure +

    If our feature space is not easy to separate, as shown in the figure here, we can achieve a better separation by introducing more complex basis functions. The ideal would be, as shown in the next figure, to, via a specific transformation to -obtain a separation between the classes which is almost linear. +obtain a separation between the classes which is almost linear. +

    -

    -The change of basis, from \( x\rightarrow z=\phi(x) \) leads to the same type of equations to be solved, except that +

    The change of basis, from \( x\rightarrow z=\phi(x) \) leads to the same type of equations to be solved, except that we need to introduce for example a polynomial transformation to a two-dimensional training set. +

    -

    -

    import numpy as np
    +
    +
    +
    +
    +
    +
    import numpy as np
     import os
     
     np.random.seed(42)
    @@ -863,62 +1005,72 @@ plt.plot([-4.5<
     plt.axis([-4.5, 4.5, -1, 17])
     plt.subplots_adjust(right=1)
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    The equations

    -

    The equations

    - -

    -Suppose we define a polynomial transformation of degree two only (we continue to live in a plane with \( x_i \) and \( y_i \) as variables) +

    Suppose we define a polynomial transformation of degree two only (we continue to live in a plane with \( x_i \) and \( y_i \) as variables)

    $$ z = \phi(x_i) =\left(x_i^2, y_i^2, \sqrt{2}x_iy_i\right). $$ -

    -With our new basis, the equations we solved earlier are basically the same, that is we have now (without the slack option for simplicity) +

    With our new basis, the equations we solved earlier are basically the same, that is we have now (without the slack option for simplicity)

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{z}_i^T\boldsymbol{z}_j, $$ -subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \), and for the support vectors +

    subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \), and for the support vectors

    $$ y_i(\boldsymbol{w}^T\boldsymbol{z}_i+b)= 1 \hspace{0.1cm}\forall i, $$ -from which we also find \( b \). +

    from which we also find \( b \). To compute \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we define the kernel \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as +

    $$ K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$ -For the above example, the kernel reads +

    For the above example, the kernel reads

    $$ K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. $$ -

    -We note that this is nothing but the dot product of the two original +

    We note that this is nothing but the dot product of the two original vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the product in the Lagrangian of \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we simply compute the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). +

    -

    -This leads to the so-called +

    This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation \( \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. +

    -











    - -

    The problem to solve

    -Using our definition of the kernel We can rewrite again the Lagrangian +

    The problem to solve

    +

    Using our definition of the kernel We can rewrite again the Lagrangian

    $$ {\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{z}_j, $$ -subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem +

    subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem

    $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ @@ -928,12 +1080,12 @@ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol \end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$ -subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and \( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). If we add the slack constants this leads to the additional constraint \( 0\leq \lambda_i \leq C \). +

    -

    -We can rewrite this (see the solutions below) in terms of a convex optimization problem of the type +

    We can rewrite this (see the solutions below) in terms of a convex optimization problem of the type

    $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber @@ -941,56 +1093,54 @@ $$ \end{align*} $$ -Below we discuss how to solve these equations. Here we note that the matrix \( \boldsymbol{P} \) has matrix elements \( p_{ij}=y_iy_jK(\boldsymbol{x}_i,\boldsymbol{x}_j) \). +

    Below we discuss how to solve these equations. Here we note that the matrix \( \boldsymbol{P} \) has matrix elements \( p_{ij}=y_iy_jK(\boldsymbol{x}_i,\boldsymbol{x}_j) \). Given a kernel \( K \) and the targets \( y_i \) this matrix is easy to set up. The constraint \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \) leads to \( f=0 \) and \( \boldsymbol{A}=\boldsymbol{y} \). How to set up the matrix \( \boldsymbol{G} \) is discussed later. Here note that the inequalities \( 0\leq \lambda_i \leq C \) can be split up into \( 0\leq \lambda_i \) and \( \lambda_i \leq C \). These two inequalities define then the matrix \( \boldsymbol{G} \) and the vector \( \boldsymbol{h} \). +

    -











    +

    Different kernels and Mercer's theorem

    -

    Different kernels and Mercer's theorem

    - -

    -There are several popular kernels being used. These are - +

    There are several popular kernels being used. These are

    1. Linear: \( K(\boldsymbol{x},\boldsymbol{y})=\boldsymbol{x}^T\boldsymbol{y} \),
    2. Polynomial: \( K(\boldsymbol{x},\boldsymbol{y})=(\boldsymbol{x}^T\boldsymbol{y}+\gamma)^d \),
    3. Gaussian Radial Basis Function: \( K(\boldsymbol{x},\boldsymbol{y})=\exp{\left(-\gamma\vert\vert\boldsymbol{x}-\boldsymbol{y}\vert\vert^2\right)} \),
    4. Tanh: \( K(\boldsymbol{x},\boldsymbol{y})=\tanh{(\boldsymbol{x}^T\boldsymbol{y}+\gamma)} \),
    +

    and many other ones.

    -and many other ones. - -

    -An important theorem for us is Mercer's +

    An important theorem for us is Mercer's theorem. The theorem states that if a kernel function \( K \) is symmetric, continuous and leads to a positive semi-definite matrix \( \boldsymbol{P} \) then there exists a function \( \phi \) that maps \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_j \) into another space (possibly with much higher dimensions) such that +

    $$ K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$ -

    -So you can use \( K \) as a kernel since you know \( \phi \) exists, even if -you don’t know what \( \phi \) is. +

    So you can use \( K \) as a kernel since you know \( \phi \) exists, even if +you don’t know what \( \phi \) is. +

    -

    -Note that some frequently used kernels (such as the Sigmoid kernel) +

    Note that some frequently used kernels (such as the Sigmoid kernel) don’t respect all of Mercer’s conditions, yet they generally work well in practice. +

    -











    - -

    The moons example

    -

    +

    The moons example

    -
    from __future__ import division, print_function, unicode_literals
    +
    +
    +
    +
    +
    +
    from __future__ import division, print_function, unicode_literals
     
     import numpy as np
     np.random.seed(42)
    @@ -1178,14 +1328,26 @@ plt.figure(figsize.title(r"$\gamma = {}, C = {}$".format(gamma, C), fontsize=16)
     
     plt.show()
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Mathematical optimization of convex functions

    -

    Mathematical optimization of convex functions

    - -

    -A mathematical (quadratic) optimization problem, or just optimization problem, has the form +

    A mathematical (quadratic) optimization problem, or just optimization problem, has the form

    $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber @@ -1193,50 +1355,61 @@ $$ \end{align*} $$ -subject to some constraints for say a selected set \( i=1,2,\dots, n \). +

    subject to some constraints for say a selected set \( i=1,2,\dots, n \). In our case we are optimizing with respect to the Lagrangian multipliers \( \lambda_i \), and the vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the optimization variable we are dealing with. +

    -

    -In our case we are particularly interested in a class of optimization problems called convex optmization problems. -In our discussion on gradient descent methods we discussed at length the definition of a convex function. +

    In our case we are particularly interested in a class of optimization problems called convex optmization problems. +In our discussion on gradient descent methods we discussed at length the definition of a convex function. +

    -

    -Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics. +

    Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics.

    -











    +

    How do we solve these problems?

    -

    How do we solve these problems?

    - -

    -If we use Python as programming language and wish to venture beyond +

    If we use Python as programming language and wish to venture beyond scikit-learn, tensorflow and similar software which makes our lives so much easier, we need to dive into the wonderful world of quadratic programming. We can, if we wish, solve the minimization problem using say standard gradient methods or conjugate gradient methods. However, these methods tend to exhibit a rather slow converge. So, welcome to the promised land of quadratic programming. +

    -

    -The functions we need are contained in the quadratic programming package CVXOPT and we need to import it together with numpy as +

    The functions we need are contained in the quadratic programming package CVXOPT and we need to import it together with numpy as

    -

    -

    import numpy
    +
    +
    +
    +
    +
    +
    import numpy
     import cvxopt
    -
    -

    -This will make our life much easier. You don't need t write your own optimizer. +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +

    This will make our life much easier. You don't need t write your own optimizer.

    -











    +

    A simple example

    -

    A simple example

    - -

    -We remind ourselves about the general problem we want to solve +

    We remind ourselves about the general problem we want to solve

    $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\boldsymbol{x}^T\boldsymbol{P}\boldsymbol{x}+\boldsymbol{q}^T\boldsymbol{x},\\ \nonumber @@ -1244,8 +1417,7 @@ $$ \end{align*} $$ -

    -Let us show how to perform the optmization using a simple case. Assume we want to optimize the following problem +

    Let us show how to perform the optmization using a simple case. Assume we want to optimize the following problem

    $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}x^2+5x+3y \\ \nonumber @@ -1257,34 +1429,39 @@ $$ \end{align*} $$ -The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns) +

    The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns)

    $$ \frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. $$ -Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation +

    Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation

    $$ \begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$ -We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix +

    We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix

    $$ \boldsymbol{P} =\begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} $$ -is clearly positive semi-definite (all eigenvalues larger or equal zero). +

    is clearly positive semi-definite (all eigenvalues larger or equal zero). Finally, the vector \( \boldsymbol{h} \) is defined as +

    $$ \boldsymbol{h} = \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$ -

    -Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero +

    Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero The following code solves the equations for us -

    +

    -
    # Import the necessary packages
    +
    +
    +
    +
    +
    +
    # Import the necessary packages
     import numpy
     from cvxopt import matrix
     from cvxopt import solvers
    @@ -1297,14 +1474,26 @@ sol = solvers.<
     # Extract optimal value and solution
     sol[’x’] 
     sol[’primal objective’]
    -
    -

    +

    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +









    +

    Back to the more realistic cases

    -

    Back to the more realistic cases

    - -

    -We are now ready to return to our setup of the optmization problem for a more realistic case. Introducing the slack parameter \( C \) we have +

    We are now ready to return to our setup of the optmization problem for a more realistic case. Introducing the slack parameter \( C \) we have

    $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2K(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ @@ -1314,24 +1503,17 @@ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol \end{bmatrix}\boldsymbol{\lambda}-\mathbb{I}\boldsymbol{\lambda}, $$ -subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +

    subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and \( \boldsymbol{y}=[y_1,y_2,\dots,y_n] \). With the slack constants this leads to the additional constraint \( 0\leq \lambda_i \leq C \). +

    -

    code will be added -

    - - -

    - © 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license + © 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license
    - - - diff --git a/doc/pub/week46/ipynb/ipynb-week46-src.tar.gz b/doc/pub/week46/ipynb/ipynb-week46-src.tar.gz index 2afac239a73296c8b784f1d77380862e8d0db2c7..376b07b9c1f6fe570d547eb138e9e2a2edeeae39 100644 GIT binary patch literal 192 zcmV;x06+g9iwFRl2a#a_1MSbv3c@f92k@Qu6nTQtuH8Hf?%+WX@dY}TxjNU*wnO*! z?gR9sco`z}cli?%LUPE~n_U*Uy9*XW2uV4IF;{6aC5h*HLTLh&Q_f?;QpSK#mc%Ro zvfN28opr(tr!>_Wl|}V#ZWt@e4}0cU;F*8oSV;@peeWu*Kxv1$)-~J^Yo123?Ntti uMmx5^;I)$mL8u-?QAj7X5|^+w`ea07qwv?yc%J8ZUwZ%rvRsM)2mk;^#8=+{ literal 191 zcmV;w06_mAiwFQ05UpPT1MSaC3c@fD2H>uHia9|^nn%}yUAPcLyg*7*8>>l8Qna_X z573q3rihSl^E1pa%R#hMN%&)*R|HPqI4mP{q*G7XjUKYkQaFep3JW*}03n-0r tV+*XjcFIZ+x(88~$}6MAIc}{vT5)kn{Of0eAP9o5Jph1;rnmqI008@vT7m!o diff --git a/doc/pub/week46/ipynb/week46.ipynb b/doc/pub/week46/ipynb/week46.ipynb index a549ae9b4..9e903a6ef 100644 --- a/doc/pub/week46/ipynb/week46.ipynb +++ b/doc/pub/week46/ipynb/week46.ipynb @@ -2,41 +2,104 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "id": "ca41afe6", + "metadata": { + "editable": true + }, "source": [ - "\n", - "# Week 46: Gradient Boosting Summary and Support Vector Machines\n", - "\n", - " \n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "76653449", + "metadata": { + "editable": true + }, + "source": [ + "# Week 46: Support Vector Machines and Project 3\n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", - "Date: **Nov 12, 2020**\n", - "\n", - "Copyright 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", - "\n", - "\n", + "Date: **Nov 14, 2021**\n", "\n", + "Copyright 1999-2021, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license" + ] + }, + { + "cell_type": "markdown", + "id": "d5ad9927", + "metadata": { + "editable": true + }, + "source": [ "## Overview of week 46\n", "\n", - "* **Thursday**: Summary of Gradient Boosting and further examples of applications, from the physical sciences to the social sciences. [Guest lecture by John M. Aiken on Gradient Boosting and XGboost](https://www.mn.uio.no/fysikk/english/people/johnmai/).\n", + "* **Thursday**: Summary of Gradient Boosting with selected examples. Start support Vector Machines\n", "\n", - "* **Friday**: Support Vector Machines, classification and regression.\n", + "* **Friday**: Eventual Workshop on project 3. Discussion of project 3.\n", "\n", - "Geron's chapter 5. Chapter 12 (sections 12.1-12.3 are the most relevant ones) of Hastie et al contains also a good discussion.\n", + "**Note that on Thursday we will have only one lecture, from 1215pm to 1pm. There is no session 115pm-2pm.**\n", "\n", - "[See overview video on Support Vector Machines](https://www.youtube.com/watch?v=efR1C6CvhmE&ab_channel=StatQuestwithJoshStarmer). See also [this video](https://www.youtube.com/watch?v=N1vOgolbjSc&ab_channel=AliceZhao).\n", + "**Reading.**\n", "\n", + "Reading recommendations:\n", + "1. See lecture notes for week 46 at \n", "\n", - "## Thursday\n", + "2. Hastie et al chapter 12\n", "\n", - "The first lecture on Thursday is devoted to a summary from last week, with additional examples. This material is included in the lectures from week 45, see also Hastie *et al.* chapter 10.1-10.10.\n", + "3. Bishop chapter 7.1 and 7.2\n", "\n", - "The second letter will be given by John M. Aiken, who recently defended his thesis on machine learning, and in particular using boosting methods, to data from the social sciences and science education.\n", + "**Videos.**\n", "\n", + "1. [Overview video on Support Vector Machines](https://www.youtube.com/watch?v=efR1C6CvhmE&ab_channel=StatQuestwithJoshStarmer)\n", + "\n", + "2. See also [this video](https://www.youtube.com/watch?v=N1vOgolbjSc&ab_channel=AliceZhao).\n", + "\n", + "3. [Excellent videos on Gradient Boosting](https://www.youtube.com/watch?v=3CC4N4z3GJc&ab_channel=StatQuestwithJoshStarmer)" + ] + }, + { + "cell_type": "markdown", + "id": "dcd53965", + "metadata": { + "editable": true + }, + "source": [ "## Friday\n", "\n", - "We start with a new topic and second-last topic covered in this course, support vector machines (SVM). \n", + "Last year we had a very interesting workshop with many presentations. These were (program 2020)\n", "\n", + "* Maria Emine Nylund: **Lego Bricks Classifier**\n", + "\n", + "* Fabio Rodrigues Pereira: **Financial Machine Learning**\n", + "\n", + "* Markus Borud Pettersen: **Machine Learning and Brain Grid Cells**\n", + "\n", + "* Jing Sun and Endrias Getachew Asgedom: **Machine learning-based approaches to denoising microseismic data**\n", + "\n", + "* Felicia Jacobsen: **Analysis of Breast Cancer Data**\n", + "\n", + "* Simon Elias Schrader: **Predicting atomization energies of molecules**\n", + "\n", + "* Varvara Bazilova and Sergio Andres Diaz Mesa: **Glacier Mapping and Machine Learning**\n", + "\n", + "* Gert Werner Kluge, Hanna Alida Fossen Hardersen and Sushma Sharma Adhikari: **Gamma ray signals stemming from dark matter in the galactic center**\n", + "\n", + "We wish to organize something similar this coming Friday. The presentation last typically 5-10 minutes (some 3-5 slides) with time for questions afterwards.\n", + "Feel free to suggest topics.\n", + "\n", + "The program will be available asap. It depends on input from you!" + ] + }, + { + "cell_type": "markdown", + "id": "3907d65e", + "metadata": { + "editable": true + }, + "source": [ "## Support Vector Machines, overarching aims\n", "\n", "A Support Vector Machine (SVM) is a very powerful and versatile\n", @@ -61,8 +124,16 @@ "latter introduces a so-called softening parameter to be discussed\n", "below. We distinguish also between linear and non-linear\n", "approaches. The latter are the most frequent ones since it is rather\n", - "unlikely that we can separate classes easily by say straight lines.\n", - "\n", + "unlikely that we can separate classes easily by say straight lines." + ] + }, + { + "cell_type": "markdown", + "id": "45cb9d11", + "metadata": { + "editable": true + }, + "source": [ "## Hyperplanes and all that\n", "\n", "The theory behind support vector machines (SVM hereafter) is based on\n", @@ -80,8 +151,10 @@ { "cell_type": "code", "execution_count": 1, + "id": "0a43c290", "metadata": { - "collapsed": false + "collapsed": false, + "editable": true }, "outputs": [], "source": [ @@ -157,7 +230,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "895a58c0", + "metadata": { + "editable": true + }, "source": [ "## What is a hyperplane?\n", "\n", @@ -174,7 +250,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e867a95a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "b+w_1x_1+w_2x_2=0,\n", @@ -183,7 +262,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b3886486", + "metadata": { + "editable": true + }, "source": [ "where $b$ is the intercept and $w_1$ and $w_2$ define the elements of a vector orthogonal to the line \n", "$b+w_1x_1+w_2x_2=0$. \n", @@ -193,7 +275,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1e5d6245", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{x}^T\\boldsymbol{w}+b=0.\n", @@ -202,7 +287,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "edef7b5c", + "metadata": { + "editable": true + }, "source": [ "## A $p$-dimensional space of features\n", "\n", @@ -212,7 +300,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e8ed4acb", + "metadata": { + "editable": true + }, "source": [ "$$\n", "b+wx_1+w_2x_2+\\dots +w_px_p=0.\n", @@ -221,7 +312,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cb26d5ed", + "metadata": { + "editable": true + }, "source": [ "If we define a \n", "matrix $\\boldsymbol{X}=\\left[\\boldsymbol{x}_1,\\boldsymbol{x}_2,\\dots, \\boldsymbol{x}_p\\right]$\n", @@ -230,7 +324,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c33d6e36", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{x}_i = \\begin{bmatrix} x_{i1} \\\\ x_{i2} \\\\ \\dots \\\\ \\dots \\\\ x_{ip} \\end{bmatrix}.\n", @@ -239,14 +336,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c2343029", + "metadata": { + "editable": true + }, "source": [ "If the above condition is not met for a given vector $\\boldsymbol{x}_i$ we have" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "7ebc7145", + "metadata": { + "editable": true + }, "source": [ "$$\n", "b+w_1x_{i1}+w_2x_{i2}+\\dots +w_px_{ip} >0,\n", @@ -255,7 +358,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0a2a521a", + "metadata": { + "editable": true + }, "source": [ "if our output $y_i=1$.\n", "In this case we say that $\\boldsymbol{x}_i$ lies on one of the sides of the hyperplane and if" @@ -263,7 +369,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0e0173dc", + "metadata": { + "editable": true + }, "source": [ "$$\n", "b+w_1x_{i1}+w_2x_{i2}+\\dots +w_px_{ip} < 0,\n", @@ -272,7 +381,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cd85fb81", + "metadata": { + "editable": true + }, "source": [ "for the class of observations $y_i=-1$, \n", "then $\\boldsymbol{x}_i$ lies on the other side. \n", @@ -282,7 +394,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8e1c4d91", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i\\left(b+w_1x_{i1}+w_2x_{i2}+\\dots +w_px_{ip}\\right) > 0.\n", @@ -291,11 +406,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2aad42a6", + "metadata": { + "editable": true + }, + "source": [ + "When we try to separate hyperplanes, if it exists, we can use it to construct a natural classifier: a test observation is assigned a given class depending on which side of the hyperplane it is located." + ] + }, + { + "cell_type": "markdown", + "id": "819d3711", + "metadata": { + "editable": true + }, "source": [ - "When we try to separate hyperplanes, if it exists, we can use it to construct a natural classifier: a test observation is assigned a given class depending on which side of the hyperplane it is located.\n", - "\n", - "\n", "## The two-dimensional case\n", "\n", "Let us try to develop our intuition about SVMs by limiting ourselves to a two-dimensional\n", @@ -315,8 +440,16 @@ "\n", "Unfortunately there are many ways in which we can place a hyperplane\n", "to divide the data. Below is an example of two candidate hyperplanes\n", - "for our data sample.\n", - "\n", + "for our data sample." + ] + }, + { + "cell_type": "markdown", + "id": "8b9ef6f2", + "metadata": { + "editable": true + }, + "source": [ "## Getting into the details\n", "\n", "Let us define the function" @@ -324,7 +457,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f66d130f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "f(x) = \\boldsymbol{w}^T\\boldsymbol{x}+b = 0,\n", @@ -333,11 +469,13 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "3da89dc5", + "metadata": { + "editable": true + }, "source": [ "as the function that determines the line $L$ that separates two classes (our two features), see the figure here. \n", "\n", - "\n", "Any point defined by $\\boldsymbol{x}_i$ and $\\boldsymbol{x}_2$ on the line $L$ will satisfy $\\boldsymbol{w}^T(\\boldsymbol{x}_1-\\boldsymbol{x}_2)=0$. \n", "\n", "The signed distance $\\delta$ from any point defined by a vector $\\boldsymbol{x}$ and a point $\\boldsymbol{x}_0$ on the line $L$ is then" @@ -345,7 +483,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f87588b9", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\delta = \\frac{1}{\\vert\\vert \\boldsymbol{w}\\vert\\vert}(\\boldsymbol{w}^T\\boldsymbol{x}+b).\n", @@ -354,7 +495,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9a097c0e", + "metadata": { + "editable": true + }, "source": [ "## First attempt at a minimization approach\n", "\n", @@ -365,7 +509,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7d9e3e4a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "C(\\boldsymbol{w},b) = -\\sum_{i\\in M} y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b).\n", @@ -374,14 +521,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f57a8e66", + "metadata": { + "editable": true + }, "source": [ "We could now for example define all values $y_i =1$ as misclassified in case we have $\\boldsymbol{w}^T\\boldsymbol{x}_i+b < 0$ and the opposite if we have $y_i=-1$. Taking the derivatives gives us" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f45210a5", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial C}{\\partial b} = -\\sum_{i\\in M} y_i,\n", @@ -390,14 +543,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8ebfcdad", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "077fb0d6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial C}{\\partial \\boldsymbol{w}} = -\\sum_{i\\in M} y_ix_i.\n", @@ -406,7 +565,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0e092b3b", + "metadata": { + "editable": true + }, "source": [ "## Solving the equations\n", "\n", @@ -415,7 +577,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c2b2886c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "b \\leftarrow b +\\eta \\frac{\\partial C}{\\partial b},\n", @@ -424,14 +589,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9cd095ef", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "8adb2387", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{w} \\leftarrow \\boldsymbol{w} +\\eta \\frac{\\partial C}{\\partial \\boldsymbol{w}},\n", @@ -440,11 +611,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9b209c51", + "metadata": { + "editable": true + }, + "source": [ + "where $\\eta$ is our by now well-known learning rate." + ] + }, + { + "cell_type": "markdown", + "id": "4daf1a65", + "metadata": { + "editable": true + }, "source": [ - "where $\\eta$ is our by now well-known learning rate. \n", - "\n", - "\n", "## Code Example\n", "\n", "The equations we discussed above can be coded rather easily (the\n", @@ -454,21 +635,30 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b3a923b4", + "metadata": { + "editable": true + }, "source": [ "## Problems with the Simpler Approach\n", "\n", - "\n", "There are however problems with this approach, although it looks\n", "pretty straightforward to implement. When running the above code, we see that we can easily end up with many diffeent lines which separate the two classes.\n", "\n", - "\n", "For small\n", "gaps between the entries, we may also end up needing many iterations\n", "before the solutions converge and if the data cannot be separated\n", "properly into two distinct classes, we may not experience a converge\n", - "at all.\n", - "\n", + "at all." + ] + }, + { + "cell_type": "markdown", + "id": "2164baad", + "metadata": { + "editable": true + }, + "source": [ "## A better approach\n", "\n", "A better approach is rather to try to define a large margin between\n", @@ -480,7 +670,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ddfe0bdb", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b) \\geq M \\hspace{0.1cm}\\forall i=1,2,\\dots, p.\n", @@ -489,7 +682,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "425f573c", + "metadata": { + "editable": true + }, "source": [ "All points are thus at a signed distance from the decision boundary defined by the line $L$. The parameters $b$ and $w_1$ and $w_2$ define this line. \n", "\n", @@ -498,7 +694,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e70a947d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{1}{\\vert \\vert \\boldsymbol{w}\\vert\\vert}y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b) \\geq M \\hspace{0.1cm}\\forall i=1,2,\\dots, n,\n", @@ -507,14 +706,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0a7b2b1f", + "metadata": { + "editable": true + }, "source": [ "or just" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "b5894840", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b) \\geq M\\vert \\vert \\boldsymbol{w}\\vert\\vert \\hspace{0.1cm}\\forall i.\n", @@ -523,7 +728,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "433b338f", + "metadata": { + "editable": true + }, "source": [ "If we scale the equation so that $\\vert \\vert \\boldsymbol{w}\\vert\\vert = 1/M$, we have to find the minimum of \n", "$\\boldsymbol{w}^T\\boldsymbol{w}=\\vert \\vert \\boldsymbol{w}\\vert\\vert$ (the norm) subject to the condition" @@ -531,7 +739,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "13d32ff2", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b) \\geq 1 \\hspace{0.1cm}\\forall i.\n", @@ -540,13 +751,24 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "912b65d5", + "metadata": { + "editable": true + }, "source": [ "We have thus defined our margin as the invers of the norm of\n", "$\\boldsymbol{w}$. We want to minimize the norm in order to have a as large as\n", "possible margin $M$. Before we proceed, we need to remind ourselves\n", - "about Lagrangian multipliers.\n", - "\n", + "about Lagrangian multipliers." + ] + }, + { + "cell_type": "markdown", + "id": "63b8fac0", + "metadata": { + "editable": true + }, + "source": [ "## A quick Reminder on Lagrangian Multipliers\n", "\n", "Consider a function of three independent variables $f(x,y,z)$ . For the function $f$ to be an\n", @@ -555,7 +777,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e71e686d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "df=0.\n", @@ -564,14 +789,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "37356bff", + "metadata": { + "editable": true + }, "source": [ "A necessary and sufficient condition is" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e82a1518", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial f}{\\partial x} =\\frac{\\partial f}{\\partial y}=\\frac{\\partial f}{\\partial z}=0,\n", @@ -580,14 +811,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "dc39c058", + "metadata": { + "editable": true + }, "source": [ "due to" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "c8e9fabd", + "metadata": { + "editable": true + }, "source": [ "$$\n", "df = \\frac{\\partial f}{\\partial x}dx+\\frac{\\partial f}{\\partial y}dy+\\frac{\\partial f}{\\partial z}dz.\n", @@ -596,7 +833,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "06155d66", + "metadata": { + "editable": true + }, "source": [ "In many problems the variables $x,y,z$ are often subject to constraints (such as those above for the margin)\n", "so that they are no longer all independent. It is possible at least in principle to use each \n", @@ -610,7 +850,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8cf223be", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\phi(x,y,z) = 0,\n", @@ -619,14 +862,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a7a2ca1c", + "metadata": { + "editable": true + }, "source": [ "resulting in" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "4fb63460", + "metadata": { + "editable": true + }, "source": [ "$$\n", "d\\phi = \\frac{\\partial \\phi}{\\partial x}dx+\\frac{\\partial \\phi}{\\partial y}dy+\\frac{\\partial \\phi}{\\partial z}dz =0.\n", @@ -635,14 +884,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a593f86a", + "metadata": { + "editable": true + }, "source": [ "Now we cannot set anymore" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "c89d8514", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial f}{\\partial x} =\\frac{\\partial f}{\\partial y}=\\frac{\\partial f}{\\partial z}=0,\n", @@ -651,13 +906,24 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4c533230", + "metadata": { + "editable": true + }, "source": [ "if $df=0$ is wanted\n", "because there are now only two independent variables! Assume $x$ and $y$ are the independent \n", "variables.\n", - "Then $dz$ is no longer arbitrary.\n", - "\n", + "Then $dz$ is no longer arbitrary." + ] + }, + { + "cell_type": "markdown", + "id": "3fdee740", + "metadata": { + "editable": true + }, + "source": [ "## Adding the Multiplier\n", "\n", "However, we can add to" @@ -665,7 +931,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fbf28cd8", + "metadata": { + "editable": true + }, "source": [ "$$\n", "df = \\frac{\\partial f}{\\partial x}dx+\\frac{\\partial f}{\\partial y}dy+\\frac{\\partial f}{\\partial z}dz,\n", @@ -674,14 +943,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8d1407a2", + "metadata": { + "editable": true + }, "source": [ "a multiplum of $d\\phi$, viz. $\\lambda d\\phi$, resulting in" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "95355989", + "metadata": { + "editable": true + }, "source": [ "$$\n", "df+\\lambda d\\phi = (\\frac{\\partial f}{\\partial z}+\\lambda\n", @@ -692,14 +967,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "39fae3a7", + "metadata": { + "editable": true + }, "source": [ "Our multiplier is chosen so that" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "dd18c177", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial f}{\\partial z}+\\lambda\\frac{\\partial \\phi}{\\partial z} =0.\n", @@ -708,14 +989,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8a7e3275", + "metadata": { + "editable": true + }, "source": [ "We need to remember that we took $dx$ and $dy$ to be arbitrary and thus we must have" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6b7c1824", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial f}{\\partial x}+\\lambda\\frac{\\partial \\phi}{\\partial x} =0,\n", @@ -724,14 +1011,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "2328ce76", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f697d679", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial f}{\\partial y}+\\lambda\\frac{\\partial \\phi}{\\partial y} =0.\n", @@ -740,7 +1033,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f679867d", + "metadata": { + "editable": true + }, "source": [ "When all these equations are satisfied, $df=0$. We have four unknowns, $x,y,z$ and\n", "$\\lambda$. Actually we want only $x,y,z$, $\\lambda$ needs not to be determined, \n", @@ -751,7 +1047,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0835ef08", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial f}{\\partial x_i}+\\sum_k\\lambda_k\\frac{\\partial \\phi_k}{\\partial x_i} =0.\n", @@ -760,7 +1059,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b19ddb22", + "metadata": { + "editable": true + }, "source": [ "## Setting up the Problem\n", "In order to solve the above problem, we define the following Lagrangian function to be minimized" @@ -768,7 +1070,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "89c349fa", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\cal L}(\\lambda,b,\\boldsymbol{w})=\\frac{1}{2}\\boldsymbol{w}^T\\boldsymbol{w}-\\sum_{i=1}^n\\lambda_i\\left[y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)-1\\right],\n", @@ -777,7 +1082,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fdc1c959", + "metadata": { + "editable": true + }, "source": [ "where $\\lambda_i$ is a so-called Lagrange multiplier subject to the condition $\\lambda_i \\geq 0$.\n", "\n", @@ -786,7 +1094,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7e2a5ab1", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal L}}{\\partial b} = -\\sum_{i} \\lambda_iy_i=0,\n", @@ -795,14 +1106,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "672fb202", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "c27c399f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal L}}{\\partial \\boldsymbol{w}} = 0 = \\boldsymbol{w}-\\sum_{i} \\lambda_iy_i\\boldsymbol{x}_i.\n", @@ -811,14 +1128,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e520cc36", + "metadata": { + "editable": true + }, "source": [ "Inserting these constraints into the equation for ${\\cal L}$ we obtain" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "44c167ae", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\boldsymbol{x}_i^T\\boldsymbol{x}_j,\n", @@ -827,7 +1150,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "549ed5b7", + "metadata": { + "editable": true + }, "source": [ "subject to the constraints $\\lambda_i\\geq 0$ and $\\sum_i\\lambda_iy_i=0$. \n", "We must in addition satisfy the [Karush-Kuhn-Tucker](https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions) (KKT) condition" @@ -835,7 +1161,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a8e62b1b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\lambda_i\\left[y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b) -1\\right] \\hspace{0.1cm}\\forall i.\n", @@ -844,14 +1173,25 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a3add0b2", + "metadata": { + "editable": true + }, "source": [ "1. If $\\lambda_i > 0$, then $y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)=1$ and we say that $x_i$ is on the boundary.\n", "\n", "2. If $y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)> 1$, we say $x_i$ is not on the boundary and we set $\\lambda_i=0$. \n", "\n", - "When $\\lambda_i > 0$, the vectors $\\boldsymbol{x}_i$ are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin $M$. \n", - "\n", + "When $\\lambda_i > 0$, the vectors $\\boldsymbol{x}_i$ are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin $M$." + ] + }, + { + "cell_type": "markdown", + "id": "ead680eb", + "metadata": { + "editable": true + }, + "source": [ "## The problem to solve\n", "\n", "We can rewrite" @@ -859,7 +1199,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f7020a4d", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\boldsymbol{x}_i^T\\boldsymbol{x}_j,\n", @@ -868,14 +1211,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "0b5c51e7", + "metadata": { + "editable": true + }, "source": [ "and its constraints in terms of a matrix-vector problem where we minimize w.r.t. $\\lambda$ the following problem" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "cb605175", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{1}{2} \\boldsymbol{\\lambda}^T\\begin{bmatrix} y_1y_1\\boldsymbol{x}_1^T\\boldsymbol{x}_1 & y_1y_2\\boldsymbol{x}_1^T\\boldsymbol{x}_2 & \\dots & \\dots & y_1y_n\\boldsymbol{x}_1^T\\boldsymbol{x}_n \\\\\n", @@ -889,12 +1238,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "33844a80", + "metadata": { + "editable": true + }, "source": [ "subject to $\\boldsymbol{y}^T\\boldsymbol{\\lambda}=0$. Here we defined the vectors $\\boldsymbol{\\lambda} =[\\lambda_1,\\lambda_2,\\dots,\\lambda_n]$ and \n", - "$\\boldsymbol{y}=[y_1,y_2,\\dots,y_n]$. \n", - "\n", - "\n", + "$\\boldsymbol{y}=[y_1,y_2,\\dots,y_n]$." + ] + }, + { + "cell_type": "markdown", + "id": "451a8c5b", + "metadata": { + "editable": true + }, + "source": [ "## The last steps\n", "\n", "Solving the above problem, yields the values of $\\lambda_i$.\n", @@ -903,7 +1262,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "25f2ac38", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{w}=\\sum_{i} \\lambda_iy_i\\boldsymbol{x}_i.\n", @@ -912,14 +1274,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "e0cf57ee", + "metadata": { + "editable": true + }, "source": [ "With our vector $\\boldsymbol{w}$ we can in turn find the value of the intercept $b$ (here in two dimensions) via" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "c43f8ca4", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)=1,\n", @@ -928,14 +1296,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "588af6e2", + "metadata": { + "editable": true + }, "source": [ "resulting in" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "ba6b6192", + "metadata": { + "editable": true + }, "source": [ "$$\n", "b = \\frac{1}{y_i}-\\boldsymbol{w}^T\\boldsymbol{x}_i,\n", @@ -944,14 +1318,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "881046e1", + "metadata": { + "editable": true + }, "source": [ "or if we write it out in terms of the support vectors only, with $N_s$ being their number, we have" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "cb4d46ee", + "metadata": { + "editable": true + }, "source": [ "$$\n", "b = \\frac{1}{N_s}\\sum_{j\\in N_s}\\left(y_j-\\sum_{i=1}^n\\lambda_iy_i\\boldsymbol{x}_i^T\\boldsymbol{x}_j\\right).\n", @@ -960,14 +1340,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "78d32f35", + "metadata": { + "editable": true + }, "source": [ "With our hyperplane coefficients we can use our classifier to assign any observation by simply using" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "04214828", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i = \\mathrm{sign}(\\boldsymbol{w}^T\\boldsymbol{x}_i+b).\n", @@ -976,10 +1362,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "bc8b07f9", + "metadata": { + "editable": true + }, + "source": [ + "Below we discuss how to find the optimal values of $\\lambda_i$. Before we proceed however, we discuss now the so-called soft classifier." + ] + }, + { + "cell_type": "markdown", + "id": "473f10c3", + "metadata": { + "editable": true + }, "source": [ - "Below we discuss how to find the optimal values of $\\lambda_i$. Before we proceed however, we discuss now the so-called soft classifier. \n", - "\n", "## A soft classifier\n", "\n", "Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.\n", @@ -995,7 +1392,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7167ce20", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)=1,\n", @@ -1004,14 +1404,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "60959b50", + "metadata": { + "editable": true + }, "source": [ "to" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "bc99f000", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)=1-\\xi_i,\n", @@ -1020,7 +1426,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "539bcb31", + "metadata": { + "editable": true + }, "source": [ "with the requirement $\\xi_i\\geq 0$. The total violation is now $\\sum_i\\xi$. \n", "The value $\\xi_i$ in the constraint the last constraint corresponds to the amount by which the prediction\n", @@ -1028,17 +1437,27 @@ "we bound the total amount by which predictions fall on the wrong side of their margins.\n", "\n", "Misclassifications occur when $\\xi_i > 1$. Thus bounding the total sum by some value $C$ bounds in turn the total number of\n", - "misclassifications.\n", - "\n", + "misclassifications." + ] + }, + { + "cell_type": "markdown", + "id": "48c0687a", + "metadata": { + "editable": true + }, + "source": [ "## Soft optmization problem\n", "\n", - "\n", "This has in turn the consequences that we change our optmization problem to finding the minimum of" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "8b7a0d6b", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\cal L}=\\frac{1}{2}\\boldsymbol{w}^T\\boldsymbol{w}-\\sum_{i=1}^n\\lambda_i\\left[y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)-(1-\\xi_)\\right]+C\\sum_{i=1}^n\\xi_i-\\sum_{i=1}^n\\gamma_i\\xi_i,\n", @@ -1047,14 +1466,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4fd2533e", + "metadata": { + "editable": true + }, "source": [ "subject to" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "8e6e09f7", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b)=1-\\xi_i \\hspace{0.1cm}\\forall i,\n", @@ -1063,7 +1488,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f01eb1a3", + "metadata": { + "editable": true + }, "source": [ "with the requirement $\\xi_i\\geq 0$.\n", "\n", @@ -1072,7 +1500,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fd747ad1", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal L}}{\\partial b} = -\\sum_{i} \\lambda_iy_i=0,\n", @@ -1081,14 +1512,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "67d9d052", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "59ab3f2e", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{\\partial {\\cal L}}{\\partial \\boldsymbol{w}} = 0 = \\boldsymbol{w}-\\sum_{i} \\lambda_iy_i\\boldsymbol{x}_i,\n", @@ -1097,14 +1534,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "47018d28", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "5abbf4ed", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\lambda_i = C-\\gamma_i \\hspace{0.1cm}\\forall i.\n", @@ -1113,14 +1556,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9aa83777", + "metadata": { + "editable": true + }, "source": [ "Inserting these constraints into the equation for ${\\cal L}$ we obtain the same equation as before" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "0ae64fa7", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\boldsymbol{x}_i^T\\boldsymbol{x}_j,\n", @@ -1129,7 +1578,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "04456e07", + "metadata": { + "editable": true + }, "source": [ "but now subject to the constraints $\\lambda_i\\geq 0$, $\\sum_i\\lambda_iy_i=0$ and $0\\leq\\lambda_i \\leq C$. \n", "We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads" @@ -1137,31 +1589,22 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7373cfc9", + "metadata": { + "editable": true + }, "source": [ - "5\n", - "0\n", - " \n", - "<\n", - "<\n", - "<\n", - "!\n", - "!\n", - "M\n", - "A\n", - "T\n", - "H\n", - "_\n", - "B\n", - "L\n", - "O\n", - "C\n", - "K" + "$$\n", + "\\lambda_i\\left[y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b) -(1-\\xi_)\\right]=0 \\hspace{0.1cm}\\forall i,\n", + "$$" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "e372a295", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\gamma_i\\xi_i = 0,\n", @@ -1170,14 +1613,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4d08ba31", + "metadata": { + "editable": true + }, "source": [ "and" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "1380e190", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{x}_i+b) -(1-\\xi_) \\geq 0 \\hspace{0.1cm}\\forall i.\n", @@ -1186,7 +1635,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f641737d", + "metadata": { + "editable": true + }, "source": [ "## Kernels and non-linearity\n", "\n", @@ -1209,8 +1661,10 @@ { "cell_type": "code", "execution_count": 2, + "id": "8b69717e", "metadata": { - "collapsed": false + "collapsed": false, + "editable": true }, "outputs": [], "source": [ @@ -1264,7 +1718,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "8936ee34", + "metadata": { + "editable": true + }, "source": [ "## The equations\n", "\n", @@ -1273,7 +1730,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "4f0a7095", + "metadata": { + "editable": true + }, "source": [ "$$\n", "z = \\phi(x_i) =\\left(x_i^2, y_i^2, \\sqrt{2}x_iy_i\\right).\n", @@ -1282,14 +1742,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "86b3e715", + "metadata": { + "editable": true + }, "source": [ "With our new basis, the equations we solved earlier are basically the same, that is we have now (without the slack option for simplicity)" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "536a8b13", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\boldsymbol{z}_i^T\\boldsymbol{z}_j,\n", @@ -1298,14 +1764,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "20322a0f", + "metadata": { + "editable": true + }, "source": [ "subject to the constraints $\\lambda_i\\geq 0$, $\\sum_i\\lambda_iy_i=0$, and for the support vectors" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "4ce193c6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "y_i(\\boldsymbol{w}^T\\boldsymbol{z}_i+b)= 1 \\hspace{0.1cm}\\forall i,\n", @@ -1314,7 +1786,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "a2dd5169", + "metadata": { + "editable": true + }, "source": [ "from which we also find $b$.\n", "To compute $\\boldsymbol{z}_i^T\\boldsymbol{z}_j$ we define the kernel $K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)$ as" @@ -1322,7 +1797,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "401ba6d9", + "metadata": { + "editable": true + }, "source": [ "$$\n", "K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)=\\boldsymbol{z}_i^T\\boldsymbol{z}_j= \\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j).\n", @@ -1331,14 +1809,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "c536d48f", + "metadata": { + "editable": true + }, "source": [ "For the above example, the kernel reads" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "95a4784c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)=[x_i^2, y_i^2, \\sqrt{2}x_iy_i]^T\\begin{bmatrix} x_j^2 \\\\ y_j^2 \\\\ \\sqrt{2}x_jy_j \\end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2.\n", @@ -1347,27 +1831,39 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "172682a3", + "metadata": { + "editable": true + }, "source": [ "We note that this is nothing but the dot product of the two original\n", "vectors $(\\boldsymbol{x}_i^T\\boldsymbol{x}_j)^2$. Instead of thus computing the\n", "product in the Lagrangian of $\\boldsymbol{z}_i^T\\boldsymbol{z}_j$ we simply compute\n", "the dot product $(\\boldsymbol{x}_i^T\\boldsymbol{x}_j)^2$.\n", "\n", - "\n", "This leads to the so-called\n", "kernel trick and the result leads to the same as if we went through\n", "the trouble of performing the transformation\n", - "$\\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j)$ during the SVM calculations.\n", - "\n", - "\n", + "$\\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j)$ during the SVM calculations." + ] + }, + { + "cell_type": "markdown", + "id": "65e8f650", + "metadata": { + "editable": true + }, + "source": [ "## The problem to solve\n", "Using our definition of the kernel We can rewrite again the Lagrangian" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "fdd71f61", + "metadata": { + "editable": true + }, "source": [ "$$\n", "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\boldsymbol{x}_i^T\\boldsymbol{z}_j,\n", @@ -1376,14 +1872,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "f286f2d9", + "metadata": { + "editable": true + }, "source": [ "subject to the constraints $\\lambda_i\\geq 0$, $\\sum_i\\lambda_iy_i=0$ in terms of a convex optimization problem" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "f1a5d7e6", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{1}{2} \\boldsymbol{\\lambda}^T\\begin{bmatrix} y_1y_1K(\\boldsymbol{x}_1,\\boldsymbol{x}_1) & y_1y_2K(\\boldsymbol{x}_1,\\boldsymbol{x}_2) & \\dots & \\dots & y_1y_nK(\\boldsymbol{x}_1,\\boldsymbol{x}_n) \\\\\n", @@ -1397,7 +1899,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "d32d9e3b", + "metadata": { + "editable": true + }, "source": [ "subject to $\\boldsymbol{y}^T\\boldsymbol{\\lambda}=0$. Here we defined the vectors $\\boldsymbol{\\lambda} =[\\lambda_1,\\lambda_2,\\dots,\\lambda_n]$ and \n", "$\\boldsymbol{y}=[y_1,y_2,\\dots,y_n]$. \n", @@ -1408,7 +1913,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "fd0f61b7", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{align*}\n", @@ -1420,13 +1928,23 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "1f55d7a0", + "metadata": { + "editable": true + }, "source": [ "Below we discuss how to solve these equations. Here we note that the matrix $\\boldsymbol{P}$ has matrix elements $p_{ij}=y_iy_jK(\\boldsymbol{x}_i,\\boldsymbol{x}_j)$.\n", "Given a kernel $K$ and the targets $y_i$ this matrix is easy to set up. The constraint $\\boldsymbol{y}^T\\boldsymbol{\\lambda}=0$ leads to $f=0$ and $\\boldsymbol{A}=\\boldsymbol{y}$. How to set up the matrix $\\boldsymbol{G}$ is discussed later. Here note that the inequalities $0\\leq \\lambda_i \\leq C$ can be split up into\n", - "$0\\leq \\lambda_i$ and $\\lambda_i \\leq C$. These two inequalities define then the matrix $\\boldsymbol{G}$ and the vector $\\boldsymbol{h}$.\n", - "\n", - "\n", + "$0\\leq \\lambda_i$ and $\\lambda_i \\leq C$. These two inequalities define then the matrix $\\boldsymbol{G}$ and the vector $\\boldsymbol{h}$." + ] + }, + { + "cell_type": "markdown", + "id": "a50a3478", + "metadata": { + "editable": true + }, + "source": [ "## Different kernels and Mercer's theorem\n", "\n", "There are several popular kernels being used. These are\n", @@ -1450,7 +1968,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "10b2c6f8", + "metadata": { + "editable": true + }, "source": [ "$$\n", "K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)=\\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j).\n", @@ -1459,24 +1980,36 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "b866e8a0", + "metadata": { + "editable": true + }, "source": [ "So you can use $K$ as a kernel since you know $\\phi$ exists, even if\n", "you don’t know what $\\phi$ is. \n", "\n", "Note that some frequently used kernels (such as the Sigmoid kernel)\n", "don’t respect all of Mercer’s conditions, yet they generally work well\n", - "in practice.\n", - "\n", - "\n", + "in practice." + ] + }, + { + "cell_type": "markdown", + "id": "2e83aafb", + "metadata": { + "editable": true + }, + "source": [ "## The moons example" ] }, { "cell_type": "code", "execution_count": 3, + "id": "92363579", "metadata": { - "collapsed": false + "collapsed": false, + "editable": true }, "outputs": [], "source": [ @@ -1672,7 +2205,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "70fb0bce", + "metadata": { + "editable": true + }, "source": [ "## Mathematical optimization of convex functions\n", "\n", @@ -1681,7 +2217,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "140dc96a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{align*}\n", @@ -1693,7 +2232,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ad0c0ee0", + "metadata": { + "editable": true + }, "source": [ "subject to some constraints for say a selected set $i=1,2,\\dots, n$.\n", "In our case we are optimizing with respect to the Lagrangian multipliers $\\lambda_i$, and the\n", @@ -1702,10 +2244,16 @@ "In our case we are particularly interested in a class of optimization problems called convex optmization problems. \n", "In our discussion on gradient descent methods we discussed at length the definition of a convex function. \n", "\n", - "Convex optimization problems play a central role in applied mathematics and we recommend strongly [Boyd and Vandenberghe's text on the topics](http://web.stanford.edu/~boyd/cvxbook/).\n", - "\n", - "\n", - "\n", + "Convex optimization problems play a central role in applied mathematics and we recommend strongly [Boyd and Vandenberghe's text on the topics](http://web.stanford.edu/~boyd/cvxbook/)." + ] + }, + { + "cell_type": "markdown", + "id": "8bdecd3e", + "metadata": { + "editable": true + }, + "source": [ "## How do we solve these problems?\n", "\n", "If we use Python as programming language and wish to venture beyond\n", @@ -1722,8 +2270,10 @@ { "cell_type": "code", "execution_count": 4, + "id": "1ce25f94", "metadata": { - "collapsed": false + "collapsed": false, + "editable": true }, "outputs": [], "source": [ @@ -1733,11 +2283,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7ec6416c", + "metadata": { + "editable": true + }, + "source": [ + "This will make our life much easier. You don't need t write your own optimizer." + ] + }, + { + "cell_type": "markdown", + "id": "6c9e8166", + "metadata": { + "editable": true + }, "source": [ - "This will make our life much easier. You don't need t write your own optimizer.\n", - "\n", - "\n", "## A simple example\n", "\n", "We remind ourselves about the general problem we want to solve" @@ -1745,7 +2305,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "cc70c995", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{align*}\n", @@ -1757,14 +2320,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "67f4203f", + "metadata": { + "editable": true + }, "source": [ "Let us show how to perform the optmization using a simple case. Assume we want to optimize the following problem" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "512e384c", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{align*}\n", @@ -1780,14 +2349,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "64f068fd", + "metadata": { + "editable": true + }, "source": [ "The minimization problem can be rewritten in terms of vectors and matrices as (with $x$ and $y$ being the unknowns)" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "8ed41caf", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{1}{2}\\begin{bmatrix} x\\\\ y \\end{bmatrix}^T \\begin{bmatrix} 1 & 0\\\\ 0 & 0 \\end{bmatrix} \\begin{bmatrix} x \\\\ y \\end{bmatrix} + \\begin{bmatrix}3\\\\ 4 \\end{bmatrix}^T \\begin{bmatrix}x \\\\ y \\end{bmatrix}.\n", @@ -1796,14 +2371,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "26ac4c8e", + "metadata": { + "editable": true + }, "source": [ "Similarly, we can now set up the inequalities (we need to change $\\geq$ to $\\leq$ by multiplying with $-1$ on bot sides) as the following matrix-vector equation" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "6f912005", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\begin{bmatrix} -1 & 0 \\\\ 0 & -1 \\\\ -1 & -3 \\\\ 2 & 5 \\\\ 3 & 4\\end{bmatrix}\\begin{bmatrix} x \\\\ y\\end{bmatrix} \\preceq \\begin{bmatrix}0 \\\\ 0\\\\ -15 \\\\ 100 \\\\ 80\\end{bmatrix}.\n", @@ -1812,14 +2393,20 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "ace44062", + "metadata": { + "editable": true + }, "source": [ "We have collapsed all the inequalities into a single matrix $\\boldsymbol{G}$. We see also that our matrix" ] }, { "cell_type": "markdown", - "metadata": {}, + "id": "bec0945a", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{P} =\\begin{bmatrix} 1 & 0\\\\ 0 & 0 \\end{bmatrix}\n", @@ -1828,7 +2415,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "aea163b1", + "metadata": { + "editable": true + }, "source": [ "is clearly positive semi-definite (all eigenvalues larger or equal zero). \n", "Finally, the vector $\\boldsymbol{h}$ is defined as" @@ -1836,7 +2426,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "31d35d0f", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\boldsymbol{h} = \\begin{bmatrix}0 \\\\ 0\\\\ -15 \\\\ 100 \\\\ 80\\end{bmatrix}.\n", @@ -1845,7 +2438,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "9738a887", + "metadata": { + "editable": true + }, "source": [ "Since we don't have any equalities the matrix $\\boldsymbol{A}$ is set to zero\n", "The following code solves the equations for us" @@ -1854,8 +2450,10 @@ { "cell_type": "code", "execution_count": 5, + "id": "78e54b3b", "metadata": { - "collapsed": false + "collapsed": false, + "editable": true }, "outputs": [], "source": [ @@ -1876,7 +2474,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "16699496", + "metadata": { + "editable": true + }, "source": [ "## Back to the more realistic cases\n", "\n", @@ -1885,7 +2486,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "667e4ebd", + "metadata": { + "editable": true + }, "source": [ "$$\n", "\\frac{1}{2} \\boldsymbol{\\lambda}^T\\begin{bmatrix} y_1y_1K(\\boldsymbol{x}_1,\\boldsymbol{x}_1) & y_1y_2K(\\boldsymbol{x}_1,\\boldsymbol{x}_2) & \\dots & \\dots & y_1y_nK(\\boldsymbol{x}_1,\\boldsymbol{x}_n) \\\\\n", @@ -1899,7 +2503,10 @@ }, { "cell_type": "markdown", - "metadata": {}, + "id": "7986d8fd", + "metadata": { + "editable": true + }, "source": [ "subject to $\\boldsymbol{y}^T\\boldsymbol{\\lambda}=0$. Here we defined the vectors $\\boldsymbol{\\lambda} =[\\lambda_1,\\lambda_2,\\dots,\\lambda_n]$ and \n", "$\\boldsymbol{y}=[y_1,y_2,\\dots,y_n]$. \n", @@ -1911,5 +2518,5 @@ ], "metadata": {}, "nbformat": 4, - "nbformat_minor": 4 + "nbformat_minor": 5 } diff --git a/doc/src/week46/week46.do.txt b/doc/src/week46/week46.do.txt index 73dc2c685..f27583c07 100644 --- a/doc/src/week46/week46.do.txt +++ b/doc/src/week46/week46.do.txt @@ -1,30 +1,53 @@ -TITLE: Week 46: Gradient Boosting Summary and Support Vector Machines +TITLE: Week 46: Support Vector Machines and Project 3 AUTHOR: Morten Hjorth-Jensen {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo & Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University DATE: today !split ===== Overview of week 46 ===== -* _Thursday_: Summary of Gradient Boosting and further examples of applications, from the physical sciences to the social sciences. "Guest lecture by John M. Aiken on Gradient Boosting and XGboost":"https://www.mn.uio.no/fysikk/english/people/johnmai/". "Video of lectures.":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember12.mp4?vrtx=view-as-webpage" -* _Friday_: Support Vector Machines, classification and regression. "Video of lectures.":"https://www.uio.no/studier/emner/matnat/fys/FYS-STK4155/h20/forelesningsvideoer/LectureNovember13.mp4?vrtx=view-as-webpage" +* _Thursday_: Summary of Gradient Boosting with selected examples. Start support Vector Machines +* _Friday_: Eventual Workshop on project 3. Discussion of project 3. + +_Note that on Thursday we will have only one lecture, from 1215pm to 1pm. There is no session 115pm-2pm._ + +!bblock Reading +Reading recommendations: + o See lecture notes for week 46 at https://compphysics.github.io/MachineLearning/doc/web/course.html. + o Hastie et al chapter 12 + o Bishop chapter 7.1 and 7.2 +!eblock -Geron's chapter 5. Chapter 12 (sections 12.1-12.3 are the most relevant ones) of Hastie et al contains also a good discussion. +!bblock Videos +o "Overview video on Support Vector Machines":"https://www.youtube.com/watch?v=efR1C6CvhmE&ab_channel=StatQuestwithJoshStarmer" +o See also "this video":"https://www.youtube.com/watch?v=N1vOgolbjSc&ab_channel=AliceZhao". +o "Excellent videos on Gradient Boosting":"https://www.youtube.com/watch?v=3CC4N4z3GJc&ab_channel=StatQuestwithJoshStarmer" +!eblock -"See overview video on Support Vector Machines":"https://www.youtube.com/watch?v=efR1C6CvhmE&ab_channel=StatQuestwithJoshStarmer". See also "this video":"https://www.youtube.com/watch?v=N1vOgolbjSc&ab_channel=AliceZhao". - - -!split -===== Thursday ===== - -The first lecture on Thursday is devoted to a summary from last week, with additional examples. This material is included in the lectures from week 45, see also Hastie *et al.* chapter 10.1-10.10. - -The second letter will be given by John M. Aiken, who recently defended his thesis on machine learning, and in particular using boosting methods, to data from the social sciences and science education. !split ===== Friday ===== -We start with a new topic and the second-last topic covered in this course, support vector machines (SVM). +Last year we had a very interesting workshop with many presentations. These were (program 2020) + +* Maria Emine Nylund: _Lego Bricks Classifier_ +* Fabio Rodrigues Pereira: _Financial Machine Learning_ +* Markus Borud Pettersen: _Machine Learning and Brain Grid Cells_ +* Jing Sun and Endrias Getachew Asgedom: _Machine learning-based approaches to denoising microseismic data_ +* Felicia Jacobsen: _Analysis of Breast Cancer Data_ +* Simon Elias Schrader: _Predicting atomization energies of molecules_ +* Varvara Bazilova and Sergio Andres Diaz Mesa: _Glacier Mapping and Machine Learning_ +* Gert Werner Kluge, Hanna Alida Fossen Hardersen and Sushma Sharma Adhikari: _Gamma ray signals stemming from dark matter in the galactic center_ + +We wish to organize something similar this coming Friday. The presentation last typically 5-10 minutes (some 3-5 slides) with time for questions afterwards. +Feel free to suggest topics. + +The program will be available asap. It depends on input from you! + + + + + !split ===== Support Vector Machines, overarching aims ===== From d8ba00749cc6aa6ad6ace0d342849a48cb128fff Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sun, 14 Nov 2021 15:59:46 +0100 Subject: [PATCH 13/16] Delete Project2.do.txt --- .../Projects/2021/Project3/Project2.do.txt | 255 ------------------ 1 file changed, 255 deletions(-) delete mode 100644 doc/src/Projects/2021/Project3/Project2.do.txt diff --git a/doc/src/Projects/2021/Project3/Project2.do.txt b/doc/src/Projects/2021/Project3/Project2.do.txt deleted file mode 100644 index bfc55d13f..000000000 --- a/doc/src/Projects/2021/Project3/Project2.do.txt +++ /dev/null @@ -1,255 +0,0 @@ -TITLE: Project 2 on Machine Learning, deadline November 13 (Midnight) -AUTHOR: "Data Analysis and Machine Learning FYS-STK3155/FYS4155":"http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html" {copyright, 1999-present|CC BY-NC} at Department of Physics, University of Oslo, Norway -DATE: today - - -===== Classification and Regression, from linear and logistic regression to neural networks ===== - -The main aim of this project is to study both classification and -regression problems by developing our own feed-forward neural network (FFNN) code. We can reuse the regression algorithms studied -in project 1. We will also include logistic regression for classification -problems and write our own FFNN code for studying -both regression and classification problems. The codes developed in -project 1, including bootstrap and/or cross-validation as well as the -computation of the mean-squared error and/or the $R2$ or the accuracy score (classification problems) functions can -also be utilized in the present analysis. - - -The data sets that we propose here are (the default sets) - -* Regression (fitting a continuous function). In this part you will need to bring back your results from project 1 and compare these with what you get from your Neural Network code to be developed here. The data sets could be - o Either the Franke function or the terrain data from project 1, or data sets your propose. -* Classification. Here you will also need to develop a Logistic regression code that you will use to compare with the Neural Network code. The data set we propose are the so-called "MNIST":"https://en.wikipedia.org/wiki/MNIST_database" data set of images representing hand-written numbers from zero to nine. These are discussed intensively in the lecture notes on neural networks, see for example the slides from "week 41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html" - -However, if you would like to study other data sets, feel free to -propose other sets. What we listed here are mere suggestions from our -side. If you opt for another data set, consider using a set which -has been studied in the scientific literature. This makes it easier -for you to compare and analyze your results. Comparing with existing results from the scientific literature is also an essential -element of the scientific discussion. - -In particular, when developing your own Neural Network and Logistic Regression codes for classification problems, the so-called Wisconsin Cancer data (which is a binary problem, benign or malignant tumors) may be studied. You can find more information about this at the "Scikit-Learn site":"https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html" or at the "University of California at Irvine":"https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)". - -We will start with a regression problem and we will reuse our codes from project 1 starting with writing our own Stochastic Gradient Descent (SGD) code. - -=== Part a): Write your own Stochastic Gradient Descent code, first step === - -In order to get started, we will now replace in our standard ordinary -least squares (OLS) and Ridge regression codes (from project 1) the matrix inversion -algorithm with our own SGD code. You can choose whether you want to -add the momentum SGD optionality or other SGD variants such as RMSprop -or ADAgrad. The lecture notes from "week 40 contain more -details":"https://compphysics.github.io/MachineLearning/doc/pub/week40/html/week40.html" - -Perform an analysis of the results for OLS and Ridge regression as -function of the chosen learning rates, the number of mini-batches and -epochs as well as algorithm for scaling the learning rate. You can -also compare your own results with those that can be obtained using -for example _Scikit-Learn_'s various SGD options. Discuss your -results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\lambda$ and -the learning rate $\gamma$. Discuss your results. - -You will need your SGD code for the setup of the Neural Network and Logistic Regression codes. - -=== Part b): Writing your own Neural Network code === - -Your aim now, and this is the central part of this project, is to -write your own Feed Forward Neural Network code implementing the back -propagation algorithm discussed in the lecture slides from "week 41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html". - -We will focus on a regression problem first and study either the -Franke function or terrain data (or both or other data sets) from -project 1. Discuss again your choice of cost function. - -Write an FFNN code for regression with a flexible number of hidden -layers and nodes using the Sigmoid function as activation function for -the hidden layers. Initialize the weights using a normal -distribution. How would you initialize the biases? And which -activation function would you select for the final output layer? - -Train your network and compare the results with those from your OLS and Ridge Regression codes from project 1. -You should test your results against a similar code using _Scikit-Learn_ (see the examples in the above lecture notes from week 41) or _tensorflow/keras_. - -Comment your results and give a critical discussion of the results -obtained with the Linear Regression code and your own Neural Network -code. Compare the results with those from project 1. -Make an analysis of the regularization parameters and the learning rates employed to find the optimal MSE and $R2$ scores. - -A useful reference on the back progagation algorithm is "Nielsen's -book":"http://neuralnetworksanddeeplearning.com/". It is an excellent -read. - - - -=== Part c): Testing different activation functions === - -You should now also test different activation functions for the hidden layers. Try out the Sigmoid, the RELU and the Leaky RELU functions and discuss your results. You may also study the way you initialize your weights and biases. - -=== Part d): Classification analysis using neural networks === - - - -With a well-written code it should now be easy to change the -activation function for the output layer. - -Here we will change the cost function for our neural network code -developed in parts b) and c) in order to perform a classification analysis. - -We will here study the MNIST data set of hand-written numbers as -discussed in the lecture notes from "week -41":"https://compphysics.github.io/MachineLearning/doc/pub/week41/html/week41.html". Use -the _Softmax_ function as activation function. Your code should -however also be able to use a binary activation function as well. - -To measure the performance of our classification problem we use the -so-called *accuracy* score. The accuracy is as you would expect just -the number of correctly guessed targets $t_i$ divided by the total -number of targets, that is - - -!bt -\[ -\text{Accuracy} = \frac{\sum_{i=1}^n I(t_i = y_i)}{n} , -\] -!et - -where $I$ is the indicator function, $1$ if $t_i = y_i$ and $0$ -otherwise if we have a binary classification problem. Here $t_i$ -represents the target and $y_i$ the outputs of your FFNN code and $n$ is simply the number of targets $t_i$. - -Discuss your results and give a critical analysis of the various parameters, including hyper-parameters like the learning rates and the regularization parameter $\lambda$ (as you did in Ridge Regression), various activation functions, number of hidden layers and nodes and activation functions. - - -As stated in the introduction, it can also be useful to study other -datasets. In particular, the so-called Wisconsin Cancer -data (which is a binary problem, benign or malignant tumors) may be -studied. You find more information about this at the "Scikit-Learn -site":"https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html" or at the "University of California -at Irvine":"https://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+(original)". - - - - -Again, we strongly recommend that you compare your own neural Network -code for classification and pertinent results against a similar code using _Scikit-Learn_ or _tensorflow/keras_ or _pytorch_. - - - - - -=== Part e): Write your Logistic Regression code, final step === - -Finally, we want to compare the FFNN code we have developed with -Logistic regression, that is we wish to compare our neural network -classification results with the results we can obtain with another -method. - -Define your cost function and the design matrix before you start writing your code. -Write thereafter a Logistic regression code using your SGD algorithm. Study the results as functions of the chosen learning rates. -Add also an $l_2$ regularization parameter $\lambda$. Compare your results with those from your FFNN code as well as those obtained using _Scikit-Learn_'s logistic regression functionality. - -The weblink here URL:"https://medium.com/ai-in-plain-english/comparison-between-logistic-regression-and-neural-networks-in-classifying-digits-dc5e85cd93c3"compares logistic regression and FFNN using the MNIST data set. You may find several useful hints and ideas from this article. - - -=== Part f) Critical evaluation of the various algorithms === - -After all these glorious calculations, you should now summarize the -various algorithms and come with a critical evaluation of their pros -and cons. Which algorithm works best for the regression case and which -is best for the classification case. These codes can also be part of -your final project 3, but now applied to other data sets. - - - - -===== Background literature ===== - -o The text of Michael Nielsen is highly recommended, see "Nielsen's book":"http://neuralnetworksanddeeplearning.com/". It is an excellent read. - -o The textbook of "Trevor Hastie, Robert Tibshirani, Jerome H. Friedman, The Elements of Statistical Learning, Springer":"https://www.springer.com/gp/book/9780387848570", chapters 3 and 7 are the most relevant ones for the analysis here. - -o "Mehta et al, arXiv 1803.08823":"https://arxiv.org/abs/1803.08823", *A high-bias, low-variance introduction to Machine Learning for physicists*, ArXiv:1803.08823. - - - - -===== Introduction to numerical projects ===== - -Here follows a brief recipe and recommendation on how to write a report for each -project. - - * Give a short description of the nature of the problem and the eventual numerical methods you have used. - - * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. - - * Include the source code of your program. Comment your program properly. - - * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. - - * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. - - * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. - - * Try to give an interpretation of you results in your answers to the problems. - - * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. - - * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. - - - - - - -===== Format for electronic delivery of report and programs ===== - -The preferred format for the report is a PDF file. You can also use DOC or postscript formats or as an ipython notebook file. As programming language we prefer that you choose between C/C++, Fortran2008 or Python. The following prescription should be followed when preparing the report: - - * Use Canvas to hand in your projects, log in at URL:"https://www.uio.no/english/services/it/education/canvas/" with your normal UiO username and password. - - * Upload _only_ the report file or the link to your GitHub/GitLab or similar typo of repos! For the source code file(s) you have developed please provide us with your link to your GitHub/GitLab or similar domain. The report file should include all of your discussions and a list of the codes you have developed. Do not include library files which are available at the course homepage, unless you have made specific changes to them. - - * In your GitHub/GitLab or similar repository, please include a folder which contains selected results. These can be in the form of output from your code for a selected set of runs and input parameters. - - -Finally, -we encourage you to collaborate. Optimal working groups consist of -2-3 students. You can then hand in a common report. - - - -===== Software and needed installations ===== - -If you have Python installed (we recommend Python3) and you feel pretty familiar with installing different packages, -we recommend that you install the following Python packages via _pip_ as -o pip install numpy scipy matplotlib ipython scikit-learn tensorflow sympy pandas pillow -For Python3, replace _pip_ with _pip3_. - -See below for a discussion of _tensorflow_ and _scikit-learn_. - -For OSX users we recommend also, after having installed Xcode, to install _brew_. Brew allows -for a seamless installation of additional software via for example -o brew install python3 - -For Linux users, with its variety of distributions like for example the widely popular Ubuntu distribution -you can use _pip_ as well and simply install Python as -o sudo apt-get install python3 (or python for python2.7) -etc etc. - -If you don't want to install various Python packages with their dependencies separately, we recommend two widely used distrubutions which set up all relevant dependencies for Python, namely -o "Anaconda":"https://docs.anaconda.com/" Anaconda is an open source distribution of the Python and R programming languages for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment. Package versions are managed by the package management system _conda_ -o "Enthought canopy":"https://www.enthought.com/product/canopy/" is a Python distribution for scientific and analytic computing distribution and analysis environment, available for free and under a commercial license. - -Popular software packages written in Python for ML are - -* "Scikit-learn":"http://scikit-learn.org/stable/", -* "Tensorflow":"https://www.tensorflow.org/", -* "PyTorch":"http://pytorch.org/" and -* "Keras":"https://keras.io/". -These are all freely available at their respective GitHub sites. They -encompass communities of developers in the thousands or more. And the number -of code developers and contributors keeps increasing. - - - - From 00def199d3d3ec1926d1c297fffc2e1bf964f638 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sun, 14 Nov 2021 16:25:43 +0100 Subject: [PATCH 14/16] updating p3 --- .../2021/Project3/html/._Project3-bs000.html | 44 ++++++- .../2021/Project3/html/Project3-bs.html | 44 ++++++- doc/Projects/2021/Project3/html/Project3.html | 43 ++++++- .../2021/Project3/ipynb/Project3.ipynb | 117 ++++++++++++------ .../Project3/ipynb/ipynb-Project3-src.tar.gz | Bin 192 -> 194 bytes doc/Projects/2021/Project3/pdf/Project3.p.tex | 37 +++++- doc/Projects/2021/Project3/pdf/Project3.pdf | Bin 233056 -> 236062 bytes doc/Projects/2021/Project3/pdf/Project3.tex | 37 +++++- .../Projects/2021/Project3/Project3.do.txt | 39 +++++- 9 files changed, 290 insertions(+), 71 deletions(-) diff --git a/doc/Projects/2021/Project3/html/._Project3-bs000.html b/doc/Projects/2021/Project3/html/._Project3-bs000.html index 47e28dced..c79df5535 100644 --- a/doc/Projects/2021/Project3/html/._Project3-bs000.html +++ b/doc/Projects/2021/Project3/html/._Project3-bs000.html @@ -65,6 +65,11 @@ doconce format html Project3.do.txt --html_style=bootstrap --pygments_html_style None, 'part-d-solving-eigenvalue-problems'), ('Part e)', 3, None, 'part-e'), + ('Additonal (optional) exercise, adding 30 more points to final ' + 'score', + 2, + None, + 'additonal-optional-exercise-adding-30-more-points-to-final-score'), ('Introduction to numerical projects', 2, None, @@ -129,6 +134,7 @@ MathJax.Hub.Config({
  •       Part c) Neural networks
  •       Part d) Solving eigenvalue problems
  •       Part e)
  • +
  •    Additonal (optional) exercise, adding 30 more points to final score
  •    Introduction to numerical projects
  •    Introduction to numerical projects
  •    Format for electronic delivery of report and programs
  • @@ -159,7 +165,7 @@ MathJax.Hub.Config({
    -

    Nov 13, 2021

    +

    Nov 14, 2021


    @@ -172,10 +178,11 @@ MathJax.Hub.Config({
    1. Kaggle
    2. The University of California at Irvine (UCI) with its machine learning repository.
    3. +
    4. Or other sources.

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

      -
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    3. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Adversarial Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so. You can also study unsupervised methods, although we in this course have mainly paid attendtion to supervised learning. The methods we have explored as Principal Component Analysis and k-means Clustering.

    For Boosting, feel also free to write your own codes.

    @@ -186,11 +193,13 @@ MathJax.Hub.Config({
  • If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
  • A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
  • -

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    -

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.

    -

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    + +

    Note: Project 3 has an additional exercise which can give you an additional score of 30 (thirty) points. These are added to the total score from all projects. See below for the additional exercise.

    The basic structure of your project

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    @@ -326,6 +335,31 @@ eigenvalues. Compare with the solution from numerical diagonalization with stand

    Part e)

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

    +

    Additonal (optional) exercise, adding 30 more points to final score

    + +

    This exercise can be done independently of the other tasks. Here you +can also choose the data set you want to use. Furthermore, you can use +your codes from projects 1 and 2 as well as the codes here or simply use +libraries like Scikit-Learn, Tensorflow or similar. +

    + +

    Your task is to perform an analysis of the bias-variance tradeoff +using at least three of the main sets algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). You +are free to choose between bootstrap for resampling (recommended) or +cross-validation in order to get the best possible estimates. The +methods you could study are Linear Regression (OLS, Ridge and Lasso), +deep learning (feed forward neural networks and/or recurrent neural +networks), Ensemble methods (decision trees, bagging, random forests +and boosting) and support vector machines. +

    + +

    Study the bias-variance tradeoff for at least three of these sets of +algorithms for a data set of your choice as function of the complexity +of your model. Comment and discuss the results. Discuss the pros and +cons of the various methods. Are there some methods which provide both +low variance and low bias? +

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/html/Project3-bs.html b/doc/Projects/2021/Project3/html/Project3-bs.html index 47e28dced..c79df5535 100644 --- a/doc/Projects/2021/Project3/html/Project3-bs.html +++ b/doc/Projects/2021/Project3/html/Project3-bs.html @@ -65,6 +65,11 @@ doconce format html Project3.do.txt --html_style=bootstrap --pygments_html_style None, 'part-d-solving-eigenvalue-problems'), ('Part e)', 3, None, 'part-e'), + ('Additonal (optional) exercise, adding 30 more points to final ' + 'score', + 2, + None, + 'additonal-optional-exercise-adding-30-more-points-to-final-score'), ('Introduction to numerical projects', 2, None, @@ -129,6 +134,7 @@ MathJax.Hub.Config({

  •       Part c) Neural networks
  •       Part d) Solving eigenvalue problems
  •       Part e)
  • +
  •    Additonal (optional) exercise, adding 30 more points to final score
  •    Introduction to numerical projects
  •    Introduction to numerical projects
  •    Format for electronic delivery of report and programs
  • @@ -159,7 +165,7 @@ MathJax.Hub.Config({
    -

    Nov 13, 2021

    +

    Nov 14, 2021


    @@ -172,10 +178,11 @@ MathJax.Hub.Config({
    1. Kaggle
    2. The University of California at Irvine (UCI) with its machine learning repository.
    3. +
    4. Or other sources.

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

      -
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    3. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Adversarial Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so. You can also study unsupervised methods, although we in this course have mainly paid attendtion to supervised learning. The methods we have explored as Principal Component Analysis and k-means Clustering.

    For Boosting, feel also free to write your own codes.

    @@ -186,11 +193,13 @@ MathJax.Hub.Config({
  • If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
  • A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
  • -

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    -

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.

    -

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    + +

    Note: Project 3 has an additional exercise which can give you an additional score of 30 (thirty) points. These are added to the total score from all projects. See below for the additional exercise.

    The basic structure of your project

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    @@ -326,6 +335,31 @@ eigenvalues. Compare with the solution from numerical diagonalization with stand

    Part e)

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

    +

    Additonal (optional) exercise, adding 30 more points to final score

    + +

    This exercise can be done independently of the other tasks. Here you +can also choose the data set you want to use. Furthermore, you can use +your codes from projects 1 and 2 as well as the codes here or simply use +libraries like Scikit-Learn, Tensorflow or similar. +

    + +

    Your task is to perform an analysis of the bias-variance tradeoff +using at least three of the main sets algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). You +are free to choose between bootstrap for resampling (recommended) or +cross-validation in order to get the best possible estimates. The +methods you could study are Linear Regression (OLS, Ridge and Lasso), +deep learning (feed forward neural networks and/or recurrent neural +networks), Ensemble methods (decision trees, bagging, random forests +and boosting) and support vector machines. +

    + +

    Study the bias-variance tradeoff for at least three of these sets of +algorithms for a data set of your choice as function of the complexity +of your model. Comment and discuss the results. Discuss the pros and +cons of the various methods. Are there some methods which provide both +low variance and low bias? +

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/html/Project3.html b/doc/Projects/2021/Project3/html/Project3.html index de797d882..6e029085f 100644 --- a/doc/Projects/2021/Project3/html/Project3.html +++ b/doc/Projects/2021/Project3/html/Project3.html @@ -143,6 +143,11 @@ div.toc p,a { None, 'part-d-solving-eigenvalue-problems'), ('Part e)', 3, None, 'part-e'), + ('Additonal (optional) exercise, adding 30 more points to final ' + 'score', + 2, + None, + 'additonal-optional-exercise-adding-30-more-points-to-final-score'), ('Introduction to numerical projects', 2, None, @@ -193,7 +198,7 @@ MathJax.Hub.Config({

    -

    Nov 13, 2021

    +

    Nov 14, 2021


    Paths for project 3

    @@ -203,10 +208,11 @@ MathJax.Hub.Config({
    1. Kaggle
    2. The University of California at Irvine (UCI) with its machine learning repository.
    3. +
    4. Or other sources.

    The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:

      -
    1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so.
    2. +
    3. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among linear regression (including Ridge and Lasso), Logistic Regression, Neural Networks, Convolution Neural Networks, Recurrent Neural Networks, Adversarial Neural Networks, Support Vector Machines and Decision Trees, Random Forests, Bagging and Boosting. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into convolutional neural networks or recurrent neural networks, or extensions of neural networkds, feel free to do so. You can also study unsupervised methods, although we in this course have mainly paid attendtion to supervised learning. The methods we have explored as Principal Component Analysis and k-means Clustering.

    For Boosting, feel also free to write your own codes.

    @@ -217,11 +223,13 @@ MathJax.Hub.Config({
  • If possible, you should link the data sets with exisiting research and analyses thereof. Scientific articles which have used Machine Learning algorithms to analyze the data are highly welcome. Perhaps you can improve previous analyses and even publish a new article?
  • A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.
  • -

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    +

    All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..

    -

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks..

    +

    We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.

    -

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    +

    This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides from week 43 and/or the textbook by Yadav et al.

    + +

    Note: Project 3 has an additional exercise which can give you an additional score of 30 (thirty) points. These are added to the total score from all projects. See below for the additional exercise.

    The basic structure of your project

    Here follows a set up on how to structure your report and analyze the data you have opted for.

    @@ -357,6 +365,31 @@ eigenvalues. Compare with the solution from numerical diagonalization with stand

    Part e)

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

    +

    Additonal (optional) exercise, adding 30 more points to final score

    + +

    This exercise can be done independently of the other tasks. Here you +can also choose the data set you want to use. Furthermore, you can use +your codes from projects 1 and 2 as well as the codes here or simply use +libraries like Scikit-Learn, Tensorflow or similar. +

    + +

    Your task is to perform an analysis of the bias-variance tradeoff +using at least three of the main sets algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). You +are free to choose between bootstrap for resampling (recommended) or +cross-validation in order to get the best possible estimates. The +methods you could study are Linear Regression (OLS, Ridge and Lasso), +deep learning (feed forward neural networks and/or recurrent neural +networks), Ensemble methods (decision trees, bagging, random forests +and boosting) and support vector machines. +

    + +

    Study the bias-variance tradeoff for at least three of these sets of +algorithms for a data set of your choice as function of the complexity +of your model. Comment and discuss the results. Discuss the pros and +cons of the various methods. Are there some methods which provide both +low variance and low bias? +

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/ipynb/Project3.ipynb b/doc/Projects/2021/Project3/ipynb/Project3.ipynb index 6d4f81e43..6be6167c4 100644 --- a/doc/Projects/2021/Project3/ipynb/Project3.ipynb +++ b/doc/Projects/2021/Project3/ipynb/Project3.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "cf42a5c7", + "id": "92499fce", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "dfe8ff79", + "id": "56cf5579", "metadata": { "editable": true }, @@ -22,14 +22,14 @@ "# Project 3 on Machine Learning, deadline December 17, 2021\n", "**[Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html)**, Department of Physics, University of Oslo, Norway\n", "\n", - "Date: **Nov 13, 2021**\n", + "Date: **Nov 14, 2021**\n", "\n", "Copyright 1999-2021, [Data Analysis and Machine Learning FYS-STK3155/FYS4155](http://www.uio.no/studier/emner/matnat/fys/FYS3155/index-eng.html). Released under CC Attribution-NonCommercial 4.0 license" ] }, { "cell_type": "markdown", - "id": "a5296ee5", + "id": "b787f690", "metadata": { "editable": true }, @@ -39,7 +39,7 @@ }, { "cell_type": "markdown", - "id": "764e1db6", + "id": "7a40125d", "metadata": { "editable": true }, @@ -51,8 +51,10 @@ "\n", "2. The [University of California at Irvine (UCI) with its machine learning repository](https://archive.ics.uci.edu/ml/index.php).\n", "\n", + "3. Or other sources.\n", + "\n", "The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is:\n", - "1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among **linear regression (including Ridge and Lasso)**, **Logistic Regression**, **Neural Networks**, **Convolution Neural Networks**, **Recurrent Neural Networks**, **Support Vector Machines** and **Decision Trees, Random Forests**, **Bagging and Boosting**. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into **convolutional neural networks** or **recurrent neural networks**, or extensions of neural networkds, feel free to do so. \n", + "1. Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among **linear regression (including Ridge and Lasso)**, **Logistic Regression**, **Neural Networks**, **Convolution Neural Networks**, **Recurrent Neural Networks**, **Adversarial Neural Networks**, **Support Vector Machines** and **Decision Trees, Random Forests, Bagging and Boosting**. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into **convolutional neural networks** or **recurrent neural networks**, or extensions of neural networkds, feel free to do so. You can also study unsupervised methods, although we in this course have mainly paid attendtion to supervised learning. The methods we have explored as **Principal Component Analysis** and **k-means Clustering**.\n", "\n", "For Boosting, feel also free to write your own codes.\n", "\n", @@ -66,16 +68,18 @@ "\n", "5. A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include.\n", "\n", - "All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. \n", + "All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc..\n", "\n", - "We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. \n", + "We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.\n", "\n", - "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150)." + "This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides [from week 43](https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week42.html) and/or the textbook by [Yadav et al](https://www.springer.com/gp/book/9789401798150).\n", + "\n", + "**Note**: Project 3 has an additional exercise which can give you an additional score of 30 (thirty) points. These are added to the total score from all projects. See below for the additional exercise." ] }, { "cell_type": "markdown", - "id": "6e4780c7", + "id": "8c7b1223", "metadata": { "editable": true }, @@ -87,7 +91,7 @@ }, { "cell_type": "markdown", - "id": "32262397", + "id": "f5f567df", "metadata": { "editable": true }, @@ -99,7 +103,7 @@ }, { "cell_type": "markdown", - "id": "e9b71dac", + "id": "daee2ad3", "metadata": { "editable": true }, @@ -111,7 +115,7 @@ }, { "cell_type": "markdown", - "id": "fbbbee47", + "id": "07b5058f", "metadata": { "editable": true }, @@ -123,7 +127,7 @@ }, { "cell_type": "markdown", - "id": "69a7f204", + "id": "7dc2abb4", "metadata": { "editable": true }, @@ -135,7 +139,7 @@ }, { "cell_type": "markdown", - "id": "887f0521", + "id": "af965f2e", "metadata": { "editable": true }, @@ -147,7 +151,7 @@ }, { "cell_type": "markdown", - "id": "f33bb254", + "id": "adf60f4b", "metadata": { "editable": true }, @@ -167,7 +171,7 @@ }, { "cell_type": "markdown", - "id": "d25629a1", + "id": "4b7d456d", "metadata": { "editable": true }, @@ -181,7 +185,7 @@ }, { "cell_type": "markdown", - "id": "4ce8d9b6", + "id": "c8eabc08", "metadata": { "editable": true }, @@ -193,7 +197,7 @@ }, { "cell_type": "markdown", - "id": "a6e88e9e", + "id": "1c3ff570", "metadata": { "editable": true }, @@ -203,7 +207,7 @@ }, { "cell_type": "markdown", - "id": "81e3dedd", + "id": "c98d31df", "metadata": { "editable": true }, @@ -215,7 +219,7 @@ }, { "cell_type": "markdown", - "id": "feb89d8f", + "id": "1c27b732", "metadata": { "editable": true }, @@ -225,7 +229,7 @@ }, { "cell_type": "markdown", - "id": "0bca56c5", + "id": "4f88e787", "metadata": { "editable": true }, @@ -237,7 +241,7 @@ }, { "cell_type": "markdown", - "id": "ab7915c8", + "id": "b4fa9a6c", "metadata": { "editable": true }, @@ -248,7 +252,7 @@ }, { "cell_type": "markdown", - "id": "c0d1ba71", + "id": "0787e8d0", "metadata": { "editable": true }, @@ -260,7 +264,7 @@ }, { "cell_type": "markdown", - "id": "d2aabdac", + "id": "f1389cd4", "metadata": { "editable": true }, @@ -270,7 +274,7 @@ }, { "cell_type": "markdown", - "id": "790e9a57", + "id": "08aa1c31", "metadata": { "editable": true }, @@ -282,7 +286,7 @@ }, { "cell_type": "markdown", - "id": "b452336c", + "id": "7b04313a", "metadata": { "editable": true }, @@ -295,7 +299,7 @@ }, { "cell_type": "markdown", - "id": "3679ddef", + "id": "aebe353a", "metadata": { "editable": true }, @@ -307,7 +311,7 @@ }, { "cell_type": "markdown", - "id": "3ed1a00e", + "id": "cd4094b4", "metadata": { "editable": true }, @@ -317,7 +321,7 @@ }, { "cell_type": "markdown", - "id": "bd6f8da3", + "id": "8f948136", "metadata": { "editable": true }, @@ -329,7 +333,7 @@ }, { "cell_type": "markdown", - "id": "dbd173d2", + "id": "57d23faf", "metadata": { "editable": true }, @@ -339,7 +343,7 @@ }, { "cell_type": "markdown", - "id": "a03aedf7", + "id": "a62549c5", "metadata": { "editable": true }, @@ -351,7 +355,7 @@ }, { "cell_type": "markdown", - "id": "ef63b2da", + "id": "0ee71a0b", "metadata": { "editable": true }, @@ -362,7 +366,7 @@ }, { "cell_type": "markdown", - "id": "744b0c7f", + "id": "1d1bf187", "metadata": { "editable": true }, @@ -378,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "00a3534d", + "id": "c18bb4b3", "metadata": { "editable": true }, @@ -395,7 +399,7 @@ }, { "cell_type": "markdown", - "id": "836da33c", + "id": "1855e33d", "metadata": { "editable": true }, @@ -411,7 +415,7 @@ }, { "cell_type": "markdown", - "id": "ff03dd04", + "id": "98d1de62", "metadata": { "editable": true }, @@ -423,7 +427,38 @@ }, { "cell_type": "markdown", - "id": "24c8d749", + "id": "78f42475", + "metadata": { + "editable": true + }, + "source": [ + "## Additonal (optional) exercise, adding 30 more points to final score\n", + "\n", + "This exercise can be done independently of the other tasks. Here you\n", + "can also choose the data set you want to use. Furthermore, you can use\n", + "your codes from projects 1 and 2 as well as the codes here or simply use\n", + "libraries like **Scikit-Learn**, **Tensorflow** or similar.\n", + "\n", + "Your task is to perform an analysis of the bias-variance tradeoff\n", + "using at least three of the main sets algorithms we have discussed in this\n", + "course. We will limit ourselves to a regression problem (fitting). You\n", + "are free to choose between bootstrap for resampling (recommended) or\n", + "cross-validation in order to get the best possible estimates. The\n", + "methods you could study are Linear Regression (OLS, Ridge and Lasso),\n", + "deep learning (feed forward neural networks and/or recurrent neural\n", + "networks), Ensemble methods (decision trees, bagging, random forests\n", + "and boosting) and support vector machines.\n", + "\n", + "Study the bias-variance tradeoff for at least three of these sets of\n", + "algorithms for a data set of your choice as function of the complexity\n", + "of your model. Comment and discuss the results. Discuss the pros and\n", + "cons of the various methods. Are there some methods which provide both\n", + "low variance and low bias?" + ] + }, + { + "cell_type": "markdown", + "id": "29edad50", "metadata": { "editable": true }, @@ -454,7 +489,7 @@ }, { "cell_type": "markdown", - "id": "af15f3f3", + "id": "27d5016f", "metadata": { "editable": true }, @@ -485,7 +520,7 @@ }, { "cell_type": "markdown", - "id": "e7455835", + "id": "441c4d7b", "metadata": { "editable": true }, @@ -507,7 +542,7 @@ }, { "cell_type": "markdown", - "id": "fa5082d0", + "id": "b3744fce", "metadata": { "editable": true }, diff --git a/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz index 4853468b6a882e73526d8aca1a441cd0ffab1335..45f4f92c4b427cb4448f0988ca32d36e85c05428 100644 GIT binary patch literal 194 zcmV;z06qU7iwFR0Dv@CT1MSaC3c@fD2H>uHia9|^(xhDrcHu%O;ssKh+Ekm=Bn5kW z`v6@jZi)!`Hb27*!^|PuZ1-8@?k-pjLMWjWrc4tyCn8Hd!#D*@F{Oks%qSonGm-{? z);sB?w~m|fl(ue!vO>L^8^@~Z!=B|8c;=rt*3!Z*A6%^!DD6a{^#yXH8*y@RB)dTs wP-*cp8`ytPsI>vufQ^Sm!T0EJm4asUVb0GEwbA^-pY literal 192 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 delta 50292 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�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 diff --git a/doc/Projects/2021/Project3/pdf/Project3.tex b/doc/Projects/2021/Project3/pdf/Project3.tex index 599d6f39f..76f4a7b73 100644 --- a/doc/Projects/2021/Project3/pdf/Project3.tex +++ b/doc/Projects/2021/Project3/pdf/Project3.tex @@ -123,7 +123,7 @@ Project 3 on Machine Learning, deadline December 17, 2021 % --- begin date --- \begin{center} -Nov 13, 2021 +Nov 14, 2021 \end{center} % --- end date --- @@ -139,12 +139,14 @@ For project 3, you can propose own data sets that relate to your research intere \item \href{{https://www.kaggle.com/datasets}}{Kaggle} \item The \href{{https://archive.ics.uci.edu/ml/index.php}}{University of California at Irvine (UCI) with its machine learning repository}. + +\item Or other sources. \end{enumerate} \noindent The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: \begin{enumerate} -\item Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among \textbf{linear regression (including Ridge and Lasso)}, \textbf{Logistic Regression}, \textbf{Neural Networks}, \textbf{Convolution Neural Networks}, \textbf{Recurrent Neural Networks}, \textbf{Support Vector Machines} and \textbf{Decision Trees, Random Forests}, \textbf{Bagging and Boosting}. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into \textbf{convolutional neural networks} or \textbf{recurrent neural networks}, or extensions of neural networkds, feel free to do so. +\item Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among \textbf{linear regression (including Ridge and Lasso)}, \textbf{Logistic Regression}, \textbf{Neural Networks}, \textbf{Convolution Neural Networks}, \textbf{Recurrent Neural Networks}, \textbf{Adversarial Neural Networks}, \textbf{Support Vector Machines} and \textbf{Decision Trees, Random Forests, Bagging and Boosting}. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into \textbf{convolutional neural networks} or \textbf{recurrent neural networks}, or extensions of neural networkds, feel free to do so. You can also study unsupervised methods, although we in this course have mainly paid attendtion to supervised learning. The methods we have explored as \textbf{Principal Component Analysis} and \textbf{k-means Clustering}. \end{enumerate} \noindent @@ -163,11 +165,13 @@ For Boosting, feel also free to write your own codes. \end{enumerate} \noindent -All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. +All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. -We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. +We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks. -This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides \href{{https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html}}{from week 43} and/or the textbook by \href{{https://www.springer.com/gp/book/9789401798150}}{Yadav et al}. +This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides \href{{https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week42.html}}{from week 43} and/or the textbook by \href{{https://www.springer.com/gp/book/9789401798150}}{Yadav et al}. + +\textbf{Note}: Project 3 has an additional exercise which can give you an additional score of 30 (thirty) points. These are added to the total score from all projects. See below for the additional exercise. \subsection*{The basic structure of your project} @@ -274,6 +278,29 @@ eigenvalues. Compare with the solution from numerical diagonalization with stand \paragraph{Part e).} Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. +\subsection*{Additonal (optional) exercise, adding 30 more points to final score} + +This exercise can be done independently of the other tasks. Here you +can also choose the data set you want to use. Furthermore, you can use +your codes from projects 1 and 2 as well as the codes here or simply use +libraries like \textbf{Scikit-Learn}, \textbf{Tensorflow} or similar. + +Your task is to perform an analysis of the bias-variance tradeoff +using at least three of the main sets algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). You +are free to choose between bootstrap for resampling (recommended) or +cross-validation in order to get the best possible estimates. The +methods you could study are Linear Regression (OLS, Ridge and Lasso), +deep learning (feed forward neural networks and/or recurrent neural +networks), Ensemble methods (decision trees, bagging, random forests +and boosting) and support vector machines. + +Study the bias-variance tradeoff for at least three of these sets of +algorithms for a data set of your choice as function of the complexity +of your model. Comment and discuss the results. Discuss the pros and +cons of the various methods. Are there some methods which provide both +low variance and low bias? + \subsection*{Introduction to numerical projects} Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/src/Projects/2021/Project3/Project3.do.txt b/doc/src/Projects/2021/Project3/Project3.do.txt index f49e264d4..c3c1b8811 100644 --- a/doc/src/Projects/2021/Project3/Project3.do.txt +++ b/doc/src/Projects/2021/Project3/Project3.do.txt @@ -10,10 +10,10 @@ DATE: today For project 3, you can propose own data sets that relate to your research interests or just use existing data sets from say o "Kaggle":"https://www.kaggle.com/datasets" o The "University of California at Irvine (UCI) with its machine learning repository":"https://archive.ics.uci.edu/ml/index.php". - +o Or other sources. The approach to the analysis of these new data sets should follow to a large extent what you did in projects 1 and 2. That is: -o Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among _linear regression (including Ridge and Lasso)_, _Logistic Regression_, _Neural Networks_, _Convolution Neural Networks_, _Recurrent Neural Networks_, _Support Vector Machines_ and _Decision Trees, Random Forests_, _Bagging and Boosting_. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into _convolutional neural networks_ or _recurrent neural networks_, or extensions of neural networkds, feel free to do so. +o Whether you end up with a regression or a classification problem, you should employ at least two of the methods we have discussed among _linear regression (including Ridge and Lasso)_, _Logistic Regression_, _Neural Networks_, _Convolution Neural Networks_, _Recurrent Neural Networks_, _Adversarial Neural Networks_, _Support Vector Machines_ and _Decision Trees, Random Forests, Bagging and Boosting_. You could for example explore all of the approaches from decision trees, via bagging and voting classifiers, to random forests, boosting and finally XGboost. If you wish to venture into _convolutional neural networks_ or _recurrent neural networks_, or extensions of neural networkds, feel free to do so. You can also study unsupervised methods, although we in this course have mainly paid attendtion to supervised learning. The methods we have explored as _Principal Component Analysis_ and _k-means Clustering_. For Boosting, feel also free to write your own codes. @@ -27,11 +27,14 @@ o If possible, you should link the data sets with exisiting research and analyse o A critical assessment of the methods with ditto perspectives and recommendations is also something you need to include. -All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. +All in all, the report should follow the same pattern as the two previous ones, with abstract, introduction, methods, code, results, conclusions etc.. -We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks.. +We propose also an alternative to the above. This is a project on using machine learning methods (neural networks mainly) to the solution of ordinary differential equations and partial differential equations, with a final twist on how to diagonalize a symmetric matrix with neural networks. -This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides "from week 43":"https://compphysics.github.io/MachineLearning/doc/pub/week43/html/week43.html" and/or the textbook by "Yadav et al":"https://www.springer.com/gp/book/9789401798150". +This is a field with a large interest recently, spanning from studies of turbulence in fluid mechanics and meteorology to the solution of quantum mechanical systems. As reading background you can use the slides "from week 43":"https://compphysics.github.io/MachineLearning/doc/pub/week42/html/week42.html" and/or the textbook by "Yadav et al":"https://www.springer.com/gp/book/9789401798150". + + +_Note_: Project 3 has an additional exercise which can give you an additional score of 30 (thirty) points. These are added to the total score from all projects. See below for the additional exercise. ===== The basic structure of your project ===== @@ -168,6 +171,32 @@ eigenvalues. Compare with the solution from numerical diagonalization with stand Finally, present a critical assessment of the methods you have studied and discuss the potential for the solving differential equations and eigenvalue problems with machine learning methods. +===== Additonal (optional) exercise, adding 30 more points to final score ===== + +This exercise can be done independently of the other tasks. Here you +can also choose the data set you want to use. Furthermore, you can use +your codes from projects 1 and 2 as well as the codes here or simply use +libraries like _Scikit-Learn_, _Tensorflow_ or similar. + +Your task is to perform an analysis of the bias-variance tradeoff +using at least three of the main sets algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). You +are free to choose between bootstrap for resampling (recommended) or +cross-validation in order to get the best possible estimates. The +methods you could study are Linear Regression (OLS, Ridge and Lasso), +deep learning (feed forward neural networks and/or recurrent neural +networks), Ensemble methods (decision trees, bagging, random forests +and boosting) and support vector machines. + +Study the bias-variance tradeoff for at least three of these sets of +algorithms for a data set of your choice as function of the complexity +of your model. Comment and discuss the results. Discuss the pros and +cons of the various methods. Are there some methods which provide both +low variance and low bias? + + + + ===== Introduction to numerical projects ===== Here follows a brief recipe and recommendation on how to write a report for each From c64a22ebf06d6a4b937f23c80d15b86df1831de7 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sun, 14 Nov 2021 16:37:50 +0100 Subject: [PATCH 15/16] added text --- .../2021/Project3/html/._Project3-bs000.html | 29 +---- .../2021/Project3/html/Project3-bs.html | 29 +---- doc/Projects/2021/Project3/html/Project3.html | 28 +---- .../2021/Project3/ipynb/Project3.ipynb | 113 +++++++----------- .../Project3/ipynb/ipynb-Project3-src.tar.gz | Bin 194 -> 194 bytes doc/Projects/2021/Project3/pdf/Project3.p.tex | 32 +---- doc/Projects/2021/Project3/pdf/Project3.pdf | Bin 236062 -> 234551 bytes doc/Projects/2021/Project3/pdf/Project3.tex | 32 +---- .../Projects/2021/Project3/Project3.do.txt | 35 +----- 9 files changed, 76 insertions(+), 222 deletions(-) diff --git a/doc/Projects/2021/Project3/html/._Project3-bs000.html b/doc/Projects/2021/Project3/html/._Project3-bs000.html index c79df5535..1144eb817 100644 --- a/doc/Projects/2021/Project3/html/._Project3-bs000.html +++ b/doc/Projects/2021/Project3/html/._Project3-bs000.html @@ -74,10 +74,6 @@ doconce format html Project3.do.txt --html_style=bootstrap --pygments_html_style 2, None, 'introduction-to-numerical-projects'), - ('Introduction to numerical projects', - 2, - None, - 'introduction-to-numerical-projects'), ('Format for electronic delivery of report and programs', 2, None, @@ -136,7 +132,6 @@ MathJax.Hub.Config({

  •       Part e)
  •    Additonal (optional) exercise, adding 30 more points to final score
  •    Introduction to numerical projects
  • -
  •    Introduction to numerical projects
  •    Format for electronic delivery of report and programs
  •    Software and needed installations
  • @@ -344,8 +339,11 @@ libraries like Scikit-Learn, Tensorflow or similar.

    Your task is to perform an analysis of the bias-variance tradeoff -using at least three of the main sets algorithms we have discussed in this -course. We will limit ourselves to a regression problem (fitting). You +using at least three of the main sets of algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). However, feel free to venture into a classification problem. +

    + +

    You are free to choose between bootstrap for resampling (recommended) or cross-validation in order to get the best possible estimates. The methods you could study are Linear Regression (OLS, Ridge and Lasso), @@ -360,23 +358,8 @@ of your model. Comment and discuss the results. Discuss the pros and cons of the various methods. Are there some methods which provide both low variance and low bias?

    -

    Introduction to numerical projects

    -

    Here follows a brief recipe and recommendation on how to write a report for each -project. -

    - -
      -
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • -
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • -
    • Include the source code of your program. Comment your program properly.
    • -
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • -
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • -
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • -
    • Try to give an interpretation of you results in your answers to the problems.
    • -
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • -
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • -
    +

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree.

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/html/Project3-bs.html b/doc/Projects/2021/Project3/html/Project3-bs.html index c79df5535..1144eb817 100644 --- a/doc/Projects/2021/Project3/html/Project3-bs.html +++ b/doc/Projects/2021/Project3/html/Project3-bs.html @@ -74,10 +74,6 @@ doconce format html Project3.do.txt --html_style=bootstrap --pygments_html_style 2, None, 'introduction-to-numerical-projects'), - ('Introduction to numerical projects', - 2, - None, - 'introduction-to-numerical-projects'), ('Format for electronic delivery of report and programs', 2, None, @@ -136,7 +132,6 @@ MathJax.Hub.Config({

  •       Part e)
  •    Additonal (optional) exercise, adding 30 more points to final score
  •    Introduction to numerical projects
  • -
  •    Introduction to numerical projects
  •    Format for electronic delivery of report and programs
  •    Software and needed installations
  • @@ -344,8 +339,11 @@ libraries like Scikit-Learn, Tensorflow or similar.

    Your task is to perform an analysis of the bias-variance tradeoff -using at least three of the main sets algorithms we have discussed in this -course. We will limit ourselves to a regression problem (fitting). You +using at least three of the main sets of algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). However, feel free to venture into a classification problem. +

    + +

    You are free to choose between bootstrap for resampling (recommended) or cross-validation in order to get the best possible estimates. The methods you could study are Linear Regression (OLS, Ridge and Lasso), @@ -360,23 +358,8 @@ of your model. Comment and discuss the results. Discuss the pros and cons of the various methods. Are there some methods which provide both low variance and low bias?

    -

    Introduction to numerical projects

    -

    Here follows a brief recipe and recommendation on how to write a report for each -project. -

    - -
      -
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • -
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • -
    • Include the source code of your program. Comment your program properly.
    • -
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • -
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • -
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • -
    • Try to give an interpretation of you results in your answers to the problems.
    • -
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • -
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • -
    +

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree.

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/html/Project3.html b/doc/Projects/2021/Project3/html/Project3.html index 6e029085f..2e06fadd8 100644 --- a/doc/Projects/2021/Project3/html/Project3.html +++ b/doc/Projects/2021/Project3/html/Project3.html @@ -152,10 +152,6 @@ div.toc p,a { 2, None, 'introduction-to-numerical-projects'), - ('Introduction to numerical projects', - 2, - None, - 'introduction-to-numerical-projects'), ('Format for electronic delivery of report and programs', 2, None, @@ -374,8 +370,11 @@ libraries like Scikit-Learn, Tensorflow or similar.

    Your task is to perform an analysis of the bias-variance tradeoff -using at least three of the main sets algorithms we have discussed in this -course. We will limit ourselves to a regression problem (fitting). You +using at least three of the main sets of algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). However, feel free to venture into a classification problem. +

    + +

    You are free to choose between bootstrap for resampling (recommended) or cross-validation in order to get the best possible estimates. The methods you could study are Linear Regression (OLS, Ridge and Lasso), @@ -390,23 +389,8 @@ of your model. Comment and discuss the results. Discuss the pros and cons of the various methods. Are there some methods which provide both low variance and low bias?

    -

    Introduction to numerical projects

    -

    Here follows a brief recipe and recommendation on how to write a report for each -project. -

    - -
      -
    • Give a short description of the nature of the problem and the eventual numerical methods you have used.
    • -
    • Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.
    • -
    • Include the source code of your program. Comment your program properly.
    • -
    • If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.
    • -
    • Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.
    • -
    • Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.
    • -
    • Try to give an interpretation of you results in your answers to the problems.
    • -
    • Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.
    • -
    • Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning.
    • -
    +

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree.

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/ipynb/Project3.ipynb b/doc/Projects/2021/Project3/ipynb/Project3.ipynb index 6be6167c4..7d98fd7d5 100644 --- a/doc/Projects/2021/Project3/ipynb/Project3.ipynb +++ b/doc/Projects/2021/Project3/ipynb/Project3.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "92499fce", + "id": "26d52fd9", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "56cf5579", + "id": "236f6cfd", "metadata": { "editable": true }, @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "b787f690", + "id": "1d3c512a", "metadata": { "editable": true }, @@ -39,7 +39,7 @@ }, { "cell_type": "markdown", - "id": "7a40125d", + "id": "4f7124c2", "metadata": { "editable": true }, @@ -79,7 +79,7 @@ }, { "cell_type": "markdown", - "id": "8c7b1223", + "id": "ae4474c6", "metadata": { "editable": true }, @@ -91,7 +91,7 @@ }, { "cell_type": "markdown", - "id": "f5f567df", + "id": "657d3638", "metadata": { "editable": true }, @@ -103,7 +103,7 @@ }, { "cell_type": "markdown", - "id": "daee2ad3", + "id": "cd7e6b5c", "metadata": { "editable": true }, @@ -115,7 +115,7 @@ }, { "cell_type": "markdown", - "id": "07b5058f", + "id": "05c0260c", "metadata": { "editable": true }, @@ -127,7 +127,7 @@ }, { "cell_type": "markdown", - "id": "7dc2abb4", + "id": "9108ddbb", "metadata": { "editable": true }, @@ -139,7 +139,7 @@ }, { "cell_type": "markdown", - "id": "af965f2e", + "id": "4e2b05cf", "metadata": { "editable": true }, @@ -151,7 +151,7 @@ }, { "cell_type": "markdown", - "id": "adf60f4b", + "id": "e45fc3b7", "metadata": { "editable": true }, @@ -171,7 +171,7 @@ }, { "cell_type": "markdown", - "id": "4b7d456d", + "id": "f036e12d", "metadata": { "editable": true }, @@ -185,7 +185,7 @@ }, { "cell_type": "markdown", - "id": "c8eabc08", + "id": "52660f41", "metadata": { "editable": true }, @@ -197,7 +197,7 @@ }, { "cell_type": "markdown", - "id": "1c3ff570", + "id": "c1fe35cf", "metadata": { "editable": true }, @@ -207,7 +207,7 @@ }, { "cell_type": "markdown", - "id": "c98d31df", + "id": "a1395ad8", "metadata": { "editable": true }, @@ -219,7 +219,7 @@ }, { "cell_type": "markdown", - "id": "1c27b732", + "id": "aa6df14a", "metadata": { "editable": true }, @@ -229,7 +229,7 @@ }, { "cell_type": "markdown", - "id": "4f88e787", + "id": "09d87b1d", "metadata": { "editable": true }, @@ -241,7 +241,7 @@ }, { "cell_type": "markdown", - "id": "b4fa9a6c", + "id": "1dc28a4b", "metadata": { "editable": true }, @@ -252,7 +252,7 @@ }, { "cell_type": "markdown", - "id": "0787e8d0", + "id": "9e6804ed", "metadata": { "editable": true }, @@ -264,7 +264,7 @@ }, { "cell_type": "markdown", - "id": "f1389cd4", + "id": "004eed40", "metadata": { "editable": true }, @@ -274,7 +274,7 @@ }, { "cell_type": "markdown", - "id": "08aa1c31", + "id": "877b7ed0", "metadata": { "editable": true }, @@ -286,7 +286,7 @@ }, { "cell_type": "markdown", - "id": "7b04313a", + "id": "cb45cb03", "metadata": { "editable": true }, @@ -299,7 +299,7 @@ }, { "cell_type": "markdown", - "id": "aebe353a", + "id": "fe999d48", "metadata": { "editable": true }, @@ -311,7 +311,7 @@ }, { "cell_type": "markdown", - "id": "cd4094b4", + "id": "f6ff7ece", "metadata": { "editable": true }, @@ -321,7 +321,7 @@ }, { "cell_type": "markdown", - "id": "8f948136", + "id": "40735cb1", "metadata": { "editable": true }, @@ -333,7 +333,7 @@ }, { "cell_type": "markdown", - "id": "57d23faf", + "id": "1464be77", "metadata": { "editable": true }, @@ -343,7 +343,7 @@ }, { "cell_type": "markdown", - "id": "a62549c5", + "id": "ed9d7c03", "metadata": { "editable": true }, @@ -355,7 +355,7 @@ }, { "cell_type": "markdown", - "id": "0ee71a0b", + "id": "588fde58", "metadata": { "editable": true }, @@ -366,7 +366,7 @@ }, { "cell_type": "markdown", - "id": "1d1bf187", + "id": "4fe15315", "metadata": { "editable": true }, @@ -382,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "c18bb4b3", + "id": "7fcf0aab", "metadata": { "editable": true }, @@ -399,7 +399,7 @@ }, { "cell_type": "markdown", - "id": "1855e33d", + "id": "3f519e6a", "metadata": { "editable": true }, @@ -415,7 +415,7 @@ }, { "cell_type": "markdown", - "id": "98d1de62", + "id": "f1037588", "metadata": { "editable": true }, @@ -427,7 +427,7 @@ }, { "cell_type": "markdown", - "id": "78f42475", + "id": "3a26e170", "metadata": { "editable": true }, @@ -440,8 +440,10 @@ "libraries like **Scikit-Learn**, **Tensorflow** or similar.\n", "\n", "Your task is to perform an analysis of the bias-variance tradeoff\n", - "using at least three of the main sets algorithms we have discussed in this\n", - "course. We will limit ourselves to a regression problem (fitting). You\n", + "using at least three of the main sets of algorithms we have discussed in this\n", + "course. We will limit ourselves to a regression problem (fitting). However, feel free to venture into a classification problem.\n", + "\n", + "You\n", "are free to choose between bootstrap for resampling (recommended) or\n", "cross-validation in order to get the best possible estimates. The\n", "methods you could study are Linear Regression (OLS, Ridge and Lasso),\n", @@ -453,12 +455,14 @@ "algorithms for a data set of your choice as function of the complexity\n", "of your model. Comment and discuss the results. Discuss the pros and\n", "cons of the various methods. Are there some methods which provide both\n", - "low variance and low bias?" + "low variance and low bias?\n", + "\n", + "**Hint**: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree." ] }, { "cell_type": "markdown", - "id": "29edad50", + "id": "4c14d063", "metadata": { "editable": true }, @@ -489,38 +493,7 @@ }, { "cell_type": "markdown", - "id": "27d5016f", - "metadata": { - "editable": true - }, - "source": [ - "## Introduction to numerical projects\n", - "\n", - "Here follows a brief recipe and recommendation on how to write a report for each\n", - "project.\n", - "\n", - " * Give a short description of the nature of the problem and the eventual numerical methods you have used.\n", - "\n", - " * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself.\n", - "\n", - " * Include the source code of your program. Comment your program properly.\n", - "\n", - " * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code.\n", - "\n", - " * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes.\n", - "\n", - " * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc.\n", - "\n", - " * Try to give an interpretation of you results in your answers to the problems.\n", - "\n", - " * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it.\n", - "\n", - " * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning." - ] - }, - { - "cell_type": "markdown", - "id": "441c4d7b", + "id": "f565fe9e", "metadata": { "editable": true }, @@ -542,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "b3744fce", + "id": "a762ce82", "metadata": { "editable": true }, diff --git a/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz index 45f4f92c4b427cb4448f0988ca32d36e85c05428..857624d163b7acd67e3fa759b84023922d63d2f1 100644 GIT binary patch delta 160 zcmV;R0AK&Y0m1Q3_M0ESVFL zrJiA&0;ZT!LRf-gKsZha3jnQm(o1h0H{&U7-3VocdN((YRn><*%Pa8AKXI(3gqwv@7c%J8Z OUwQyIs$$Xr2mk;f21Nq^ delta 160 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 Tg}~17bzPhYR8*46QV9PA#Z(uZ delta 44299 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 diff --git a/doc/Projects/2021/Project3/pdf/Project3.tex b/doc/Projects/2021/Project3/pdf/Project3.tex index 76f4a7b73..b9caeb691 100644 --- a/doc/Projects/2021/Project3/pdf/Project3.tex +++ b/doc/Projects/2021/Project3/pdf/Project3.tex @@ -286,8 +286,10 @@ your codes from projects 1 and 2 as well as the codes here or simply use libraries like \textbf{Scikit-Learn}, \textbf{Tensorflow} or similar. Your task is to perform an analysis of the bias-variance tradeoff -using at least three of the main sets algorithms we have discussed in this -course. We will limit ourselves to a regression problem (fitting). You +using at least three of the main sets of algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). However, feel free to venture into a classification problem. + +You are free to choose between bootstrap for resampling (recommended) or cross-validation in order to get the best possible estimates. The methods you could study are Linear Regression (OLS, Ridge and Lasso), @@ -301,32 +303,8 @@ of your model. Comment and discuss the results. Discuss the pros and cons of the various methods. Are there some methods which provide both low variance and low bias? -\subsection*{Introduction to numerical projects} +\textbf{Hint}: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree. -Here follows a brief recipe and recommendation on how to write a report for each -project. - -\begin{itemize} - \item Give a short description of the nature of the problem and the eventual numerical methods you have used. - - \item Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. - - \item Include the source code of your program. Comment your program properly. - - \item If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. - - \item Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. - - \item Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. - - \item Try to give an interpretation of you results in your answers to the problems. - - \item Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. - - \item Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. -\end{itemize} - -\noindent \subsection*{Introduction to numerical projects} Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/src/Projects/2021/Project3/Project3.do.txt b/doc/src/Projects/2021/Project3/Project3.do.txt index c3c1b8811..86512bdd8 100644 --- a/doc/src/Projects/2021/Project3/Project3.do.txt +++ b/doc/src/Projects/2021/Project3/Project3.do.txt @@ -179,8 +179,10 @@ your codes from projects 1 and 2 as well as the codes here or simply use libraries like _Scikit-Learn_, _Tensorflow_ or similar. Your task is to perform an analysis of the bias-variance tradeoff -using at least three of the main sets algorithms we have discussed in this -course. We will limit ourselves to a regression problem (fitting). You +using at least three of the main sets of algorithms we have discussed in this +course. We will limit ourselves to a regression problem (fitting). However, feel free to venture into a classification problem. + +You are free to choose between bootstrap for resampling (recommended) or cross-validation in order to get the best possible estimates. The methods you could study are Linear Regression (OLS, Ridge and Lasso), @@ -194,34 +196,7 @@ of your model. Comment and discuss the results. Discuss the pros and cons of the various methods. Are there some methods which provide both low variance and low bias? - - - -===== Introduction to numerical projects ===== - -Here follows a brief recipe and recommendation on how to write a report for each -project. - - * Give a short description of the nature of the problem and the eventual numerical methods you have used. - - * Describe the algorithm you have used and/or developed. Here you may find it convenient to use pseudocoding. In many cases you can describe the algorithm in the program itself. - - * Include the source code of your program. Comment your program properly. - - * If possible, try to find analytic solutions, or known limits in order to test your program when developing the code. - - * Include your results either in figure form or in a table. Remember to label your results. All tables and figures should have relevant captions and labels on the axes. - - * Try to evaluate the reliabilty and numerical stability/precision of your results. If possible, include a qualitative and/or quantitative discussion of the numerical stability, eventual loss of precision etc. - - * Try to give an interpretation of you results in your answers to the problems. - - * Critique: if possible include your comments and reflections about the exercise, whether you felt you learnt something, ideas for improvements and other thoughts you've made when solving the exercise. We wish to keep this course at the interactive level and your comments can help us improve it. - - * Try to establish a practice where you log your work at the computerlab. You may find such a logbook very handy at later stages in your work, especially when you don't properly remember what a previous test version of your program did. Here you could also record the time spent on solving the exercise, various algorithms you may have tested or other topics which you feel worthy of mentioning. - - - +_Hint_: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree. From 6e6a5c152c3f30dc18b12384198cdca878013a84 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sun, 14 Nov 2021 16:39:11 +0100 Subject: [PATCH 16/16] minor update --- .../2021/Project3/html/._Project3-bs000.html | 2 +- .../2021/Project3/html/Project3-bs.html | 2 +- doc/Projects/2021/Project3/html/Project3.html | 2 +- .../2021/Project3/ipynb/Project3.ipynb | 74 +++++++++--------- .../Project3/ipynb/ipynb-Project3-src.tar.gz | Bin 194 -> 194 bytes doc/Projects/2021/Project3/pdf/Project3.p.tex | 2 +- doc/Projects/2021/Project3/pdf/Project3.pdf | Bin 234551 -> 234572 bytes doc/Projects/2021/Project3/pdf/Project3.tex | 2 +- .../Projects/2021/Project3/Project3.do.txt | 2 +- 9 files changed, 43 insertions(+), 43 deletions(-) diff --git a/doc/Projects/2021/Project3/html/._Project3-bs000.html b/doc/Projects/2021/Project3/html/._Project3-bs000.html index 1144eb817..dccf24e20 100644 --- a/doc/Projects/2021/Project3/html/._Project3-bs000.html +++ b/doc/Projects/2021/Project3/html/._Project3-bs000.html @@ -359,7 +359,7 @@ cons of the various methods. Are there some methods which provide both low variance and low bias?

    -

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree.

    +

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For example, when using decision trees you may represent the complexity of your model by the depth of the tree.

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/html/Project3-bs.html b/doc/Projects/2021/Project3/html/Project3-bs.html index 1144eb817..dccf24e20 100644 --- a/doc/Projects/2021/Project3/html/Project3-bs.html +++ b/doc/Projects/2021/Project3/html/Project3-bs.html @@ -359,7 +359,7 @@ cons of the various methods. Are there some methods which provide both low variance and low bias?

    -

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree.

    +

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For example, when using decision trees you may represent the complexity of your model by the depth of the tree.

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/html/Project3.html b/doc/Projects/2021/Project3/html/Project3.html index 2e06fadd8..5fe0f289b 100644 --- a/doc/Projects/2021/Project3/html/Project3.html +++ b/doc/Projects/2021/Project3/html/Project3.html @@ -390,7 +390,7 @@ cons of the various methods. Are there some methods which provide both low variance and low bias?

    -

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree.

    +

    Hint: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For example, when using decision trees you may represent the complexity of your model by the depth of the tree.

    Introduction to numerical projects

    Here follows a brief recipe and recommendation on how to write a report for each diff --git a/doc/Projects/2021/Project3/ipynb/Project3.ipynb b/doc/Projects/2021/Project3/ipynb/Project3.ipynb index 7d98fd7d5..3fb613d09 100644 --- a/doc/Projects/2021/Project3/ipynb/Project3.ipynb +++ b/doc/Projects/2021/Project3/ipynb/Project3.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "26d52fd9", + "id": "e6c08da8", "metadata": { "editable": true }, @@ -14,7 +14,7 @@ }, { "cell_type": "markdown", - "id": "236f6cfd", + "id": "0309e266", "metadata": { "editable": true }, @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "1d3c512a", + "id": "cedebbe4", "metadata": { "editable": true }, @@ -39,7 +39,7 @@ }, { "cell_type": "markdown", - "id": "4f7124c2", + "id": "9038e49a", "metadata": { "editable": true }, @@ -79,7 +79,7 @@ }, { "cell_type": "markdown", - "id": "ae4474c6", + "id": "89190c80", "metadata": { "editable": true }, @@ -91,7 +91,7 @@ }, { "cell_type": "markdown", - "id": "657d3638", + "id": "b2944795", "metadata": { "editable": true }, @@ -103,7 +103,7 @@ }, { "cell_type": "markdown", - "id": "cd7e6b5c", + "id": "5d7f5f66", "metadata": { "editable": true }, @@ -115,7 +115,7 @@ }, { "cell_type": "markdown", - "id": "05c0260c", + "id": "55083a27", "metadata": { "editable": true }, @@ -127,7 +127,7 @@ }, { "cell_type": "markdown", - "id": "9108ddbb", + "id": "26bb3996", "metadata": { "editable": true }, @@ -139,7 +139,7 @@ }, { "cell_type": "markdown", - "id": "4e2b05cf", + "id": "99cbbdf4", "metadata": { "editable": true }, @@ -151,7 +151,7 @@ }, { "cell_type": "markdown", - "id": "e45fc3b7", + "id": "1cf8305f", "metadata": { "editable": true }, @@ -171,7 +171,7 @@ }, { "cell_type": "markdown", - "id": "f036e12d", + "id": "c76618e8", "metadata": { "editable": true }, @@ -185,7 +185,7 @@ }, { "cell_type": "markdown", - "id": "52660f41", + "id": "ac2c5732", "metadata": { "editable": true }, @@ -197,7 +197,7 @@ }, { "cell_type": "markdown", - "id": "c1fe35cf", + "id": "ead9d520", "metadata": { "editable": true }, @@ -207,7 +207,7 @@ }, { "cell_type": "markdown", - "id": "a1395ad8", + "id": "8db95bf3", "metadata": { "editable": true }, @@ -219,7 +219,7 @@ }, { "cell_type": "markdown", - "id": "aa6df14a", + "id": "2f93712e", "metadata": { "editable": true }, @@ -229,7 +229,7 @@ }, { "cell_type": "markdown", - "id": "09d87b1d", + "id": "62a0980a", "metadata": { "editable": true }, @@ -241,7 +241,7 @@ }, { "cell_type": "markdown", - "id": "1dc28a4b", + "id": "28f54a78", "metadata": { "editable": true }, @@ -252,7 +252,7 @@ }, { "cell_type": "markdown", - "id": "9e6804ed", + "id": "e0068e8b", "metadata": { "editable": true }, @@ -264,7 +264,7 @@ }, { "cell_type": "markdown", - "id": "004eed40", + "id": "f9ae2916", "metadata": { "editable": true }, @@ -274,7 +274,7 @@ }, { "cell_type": "markdown", - "id": "877b7ed0", + "id": "88e71606", "metadata": { "editable": true }, @@ -286,7 +286,7 @@ }, { "cell_type": "markdown", - "id": "cb45cb03", + "id": "69bc12e7", "metadata": { "editable": true }, @@ -299,7 +299,7 @@ }, { "cell_type": "markdown", - "id": "fe999d48", + "id": "fa2123d5", "metadata": { "editable": true }, @@ -311,7 +311,7 @@ }, { "cell_type": "markdown", - "id": "f6ff7ece", + "id": "27474b17", "metadata": { "editable": true }, @@ -321,7 +321,7 @@ }, { "cell_type": "markdown", - "id": "40735cb1", + "id": "1c4da408", "metadata": { "editable": true }, @@ -333,7 +333,7 @@ }, { "cell_type": "markdown", - "id": "1464be77", + "id": "06021617", "metadata": { "editable": true }, @@ -343,7 +343,7 @@ }, { "cell_type": "markdown", - "id": "ed9d7c03", + "id": "b845d906", "metadata": { "editable": true }, @@ -355,7 +355,7 @@ }, { "cell_type": "markdown", - "id": "588fde58", + "id": "6c3956bc", "metadata": { "editable": true }, @@ -366,7 +366,7 @@ }, { "cell_type": "markdown", - "id": "4fe15315", + "id": "15d51aa1", "metadata": { "editable": true }, @@ -382,7 +382,7 @@ }, { "cell_type": "markdown", - "id": "7fcf0aab", + "id": "356b0ce1", "metadata": { "editable": true }, @@ -399,7 +399,7 @@ }, { "cell_type": "markdown", - "id": "3f519e6a", + "id": "5254f0ec", "metadata": { "editable": true }, @@ -415,7 +415,7 @@ }, { "cell_type": "markdown", - "id": "f1037588", + "id": "fb586020", "metadata": { "editable": true }, @@ -427,7 +427,7 @@ }, { "cell_type": "markdown", - "id": "3a26e170", + "id": "8f43137a", "metadata": { "editable": true }, @@ -457,12 +457,12 @@ "cons of the various methods. Are there some methods which provide both\n", "low variance and low bias?\n", "\n", - "**Hint**: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For for example decision trees, this is represented by the depth of the tree." + "**Hint**: when you use different methods, pay attention to how you represent (and understand) the complexity of the model. For example, when using decision trees you may represent the complexity of your model by the depth of the tree." ] }, { "cell_type": "markdown", - "id": "4c14d063", + "id": "5efcf1de", "metadata": { "editable": true }, @@ -493,7 +493,7 @@ }, { "cell_type": "markdown", - "id": "f565fe9e", + "id": "e53cd89a", "metadata": { "editable": true }, @@ -515,7 +515,7 @@ }, { "cell_type": "markdown", - "id": "a762ce82", + "id": "f1b49648", "metadata": { "editable": true }, diff --git a/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz b/doc/Projects/2021/Project3/ipynb/ipynb-Project3-src.tar.gz index 857624d163b7acd67e3fa759b84023922d63d2f1..c9332ae714d7c1812cea0dd320136e2463097e64 100644 GIT binary patch delta 151 zcmV;I0BHZh0m1 delta 151 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 delta 3263 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 x2NvHv1`1_vWOH

    XK#*`Fj+ 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