$29.99
Homework 3: Stochastic Gradient Descent and Logistic Regression
Your solutions to theoretical questions should be done in Markdown/MathJax directly below the associated question. Your solutions to computational questions should include any specified Python code and results as well as written commentary on your conclusions. Remember that you are encouraged to discuss the problems with your instructors and classmates, but **you must write all code and solutions on your own**. For a refresher on the course
\n",
"\n",
"**NOTES**: \n",
"\n",
"- Do **NOT** load or use any Python packages that are not available in Anaconda 3.6. \n",
"- Some problems with code may be autograded. If we provide a function API **do not** change it. If we do not provide a function API then you're free to structure your code however you like. \n",
"- Submit only this Jupyter notebook to Moodle. Do not compress it using tar, rar, zip, etc. "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"import pickle, gzip\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pylab as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### [25 points] Problem 1 - MLE and SGD for the Exponential Distribution Rate Parameter\n",
"***\n",
"\n",
"Suppose you're given $n$ numbers $x_1, x_2, \\ldots, x_n$ (think training data) and told that they're samples from the exponential distribution $Exp(\\lambda)$ where the rate parameter $\\lambda$ is unknown. Recall that the probability density function for $Exp(\\lambda)$ is given by \n",
"\n",
"$$\n",
"f_\\lambda(x) = \\left\\{\n",
"\\begin{array}{rl}\n",
"0 & \\textrm{if } x < 0 \\\\\n",
"\\lambda e^{-\\lambda x} & \\textrm{if } x \\geq 0\n",
"\\end{array}\n",
"\\right.\n",
"$$\n",
"\n",
"In this problem we'll use Maximum Likelihood Estimation to estimate the rate parameter by hand and with Stochastic Gradient Descent. \n",
"\n",
"**Part A**: Write down the likelihood function $L(\\lambda)$ for the data set $x_1, x_2, \\ldots, x_n$. "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"###### Our likelihood function $L(\\lambda)$ can be written as follows: \n",
"$$L(\\lambda \\ | \\ x_{1} . . . x_{n}) = \\prod_{i=1}^{n} f_{\\lambda}(x_{i} \\ | \\ \\lambda)$$\n",
"\n",
"$$ =\\prod_{i=1}^{n} \\lambda e^{-\\lambda x_{i}} $$\n",
"\n",
"$$ \\boxed{= \\lambda^n e^{-\\lambda \\cdot \\sum_{i=1}^{n} x_{i}}}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part B**: Write down the associated Negative Log-Likelihood $\\textrm{NLL}(\\lambda)$ and simplify it algebraically. "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"$$NLL(\\lambda) = -log(\\lambda^n e^{-\\lambda \\sum_{i=1}^{n} x_{i}})$$\n",
"\n",
"Simplifying using log properties:\n",
"\n",
"$$= -log(\\lambda^n) - log(e^{-\\lambda \\sum_{i=1}^{n} x_{i}})$$\n",
"\n",
"$$\\boxed{ = -n \\cdot log(\\lambda) + \\lambda \\sum_{i=1}^{n} x_{i}}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part C**: Find a formula for the MLE of the rate parameter $\\lambda$ by taking the derivative of $\\textrm{NLL}(\\lambda)$, setting it equal to zero, and solving for $\\hat{\\lambda}$. "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"$$\\frac{dNLL(\\lambda)}{d\\lambda} = \\frac{-n}{\\lambda} + \\sum_{i=1}^{n}x_{i}$$\n",
"\n",
"$$\\frac{-n}{\\lambda} + \\sum_{i=1}^{n}x_{i} = 0$$\n",
"\n",
"$$\\sum_{i=1}^{n}x_{i} = \\frac{n}{\\lambda}$$\n",
"\n",
"$$\\boxed{\\hat{\\lambda} = \\frac{n}{\\sum_{i=1}^{n}x_{i}}}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part D**: Use the formula you found in **Part C** to estimate the rate parameter $\\lambda$ for the following training data. "
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"lam = 3.0; x_train = np.random.exponential(1/lam, size=10) # Note: numpy's exponential sampler expects 1 over rate parameter"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MLE for Lambda = 3.747\n"
]
}
],
"source": [
"lamhat = x_train.shape[0] / np.sum(x_train)\n",
"print(\"MLE for Lambda = {:.3f}\".format(lamhat))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part E**: Describe a **Stochastic** Gradient Descent algorithm based on the $\\textrm{NLL}$ you found in **Part B**. **Hint**: Think of what the loss function would be if the training set contained just a single point. "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"##### We can use an SGD update algorithm that can be defined as:$$\\hat{\\lambda} \\leftarrow \\hat{\\lambda} - \\eta \\cdot \\frac{dNLL}{d\\lambda}$$$$\\hat{\\lambda} \\leftarrow \\hat{\\lambda} - \\eta \\cdot (-\\frac{1}{\\lambda} + x_{i})$$where $\\hat{\\lambda}$ is initially a random guess.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part F**: Implement the scheme described in **Part E** and run it on your training set. Does it converge to the MLE that you found in **Part D**? "
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.749911647444503\n"
]
}
],
"source": [
"eta = 0.03\n",
"lam_hat = 4\n",
"epoch = 5000\n",
"for e in range(epoch):\n",
" for ii in x_train:\n",
" lam_hat -= eta*((-1/lam_hat) + ii)\n",
"print(lam_hat)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### [20 points] Problem 2 - Regularized Logistic Regression Intuition \n",
"***\n",
"\n",
"Consider the training set shown below where red dots correspond to training examples with label $y=1$ and blue dots correspond to training examples with label $y = 0$. Suppose you fit a logistic regression model of the form \n",
"\n",
"$$\n",
"p(y = 1 \\mid {\\bf x}) = \\textrm{sigm}(\\beta_0 + \\beta_1 x_1 + \\beta_2 x_2) = \\dfrac{1}{1 + \\exp(-\\boldsymbol{\\beta}^T{\\bf x})}\n",
"$$\n",
"\n",
"where here in $\\boldsymbol{\\beta}^T{\\bf x}$ the vector ${\\bf x}$ has had a $1$ prepended so that it looks like ${\\bf x} = (1, x_1, x_2)$. "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x113470d68"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X = np.array([[1,2,1], [1,1,5], [1,2,5], [1,3,5], [1,1,6], [1,2,6], [1,5,1], [1,6,1], [1,7,1], [1,6,2], [1,7,2], [1,5,5]], dtype=float)\n",
"y = np.array([1 if ii < 6 else 0 for ii in range(X.shape[0])], dtype=float)\n",
"fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(5,5))\n",
"\n",
"xvals = np.linspace(0,8)\n",
"part_b = lambda x: -7 + (15/5)*x\n",
"part_c = lambda x: 0 + (8/6)*x\n",
"part_d = lambda x: 3.5 + 0*x\n",
"part_e = lambda x: 0 + (x-4)*100000\n",
"\n",
"ax.scatter(X[:,1], X[:,2], color=[\"#a76c6e\" if ii < 6 else \"steelblue\" for ii in range(X.shape[0])], s=250)\n",
"ax.plot(xvals, part_b(xvals), lw=3, label=\"part B\") # no restrictions / regularization\n",
"ax.plot(xvals, part_c(xvals), lw=3, label=\"part C\") # beta_0 is zero\n",
"ax.plot(xvals, part_d(xvals), lw=3, label=\"part D\") # beta_1 is zero\n",
"ax.plot(xvals, part_e(xvals), lw=3, label=\"part E\") # beta_0 and beta_1 both approach infinity\n",
"ax.grid(alpha=0.25); ax.set_xlim([0,8]); ax.set_ylim([0,8]); ax.set_xlabel(r\"$x_1$\", fontsize=16); ax.set_ylabel(r\"$x_2$\", fontsize=16)\n",
"ax.legend(loc=\"upper right\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part A**: Suppose you use the the standard Logistic Regression decision rule such that a query point ${\\bf x}$ is predicted to be $\\hat{y} = 1$ if $p(y = 1 \\mid {\\bf x}) \\geq 0.5$ and $\\hat{y} = 0$ otherwise. Describe the decision boundary of such a classifier. How could you plot the decision boundary in a 2D feature space like the one shown above? "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"###### The general formula for a decision boundary in a 2d feature space is: $$x_{2} = \\frac{-\\beta_{0}}{\\beta_{2}} - \\frac{\\beta_{1}}{\\beta_{2}} \\cdot x_{1}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part B**: Suppose you learn a Logistic Regression classifier from this training set by minimizing the negative log-likelihood \n",
"\n",
"$$\n",
"NLL(\\boldsymbol{\\beta}) = -\\displaystyle\\sum_{i=1}^n \\left[y_i \\log \\textrm{sigm}(\\boldsymbol{\\beta}^T{\\bf x}) + (1-y_i)\\log(1 - \\textrm{sigm}(\\boldsymbol{\\beta}^T{\\bf x}))\\right]\n",
"$$\n",
"\n",
"Describe a possible decision boundary that you could learn as a result. Plot the decision boundary on the graph above and label it \"part B\". How many training examples does your learned decision boundary misclassify? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### A possible decision boundary could be one that splits the points with a linear line like shown above (where none of the points are misclassified). This is where our linear line has our learned $\\beta$ values after learning our Logistic Regression classifier.\n",
"##### A possible equation is: $$x_{2} = -7 + \\frac{15}{5} x_{1}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part C**: Suppose you learn a Logistic Regression classifier from this training set by minimizing the negative log-likelihood with the parameter $\\beta_0$ so strongly regularized that it approaches zero, and the other parameters unregularized. \n",
"\n",
"$$\n",
"\\textrm{Loss}(\\boldsymbol{\\beta}) = NLL(\\boldsymbol{\\beta})+ \\lambda \\beta_0^2\n",
"$$\n",
"\n",
"Describe a possible decision boundary that you could learn as a result. Plot the decision boundary on the graph above and label it \"part C\". How many training examples does your learned decision boundary misclassify? "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"##### Since $\\beta_{0}$ is now zero, there is no y-intercept on our graph and our decision boundary line must intersect the origin. Our slope may still vary and can look like the line on our graph. Notice one of our red points has been misclassified.\n",
"##### A possible equation is: $$x_{2} = 0 + \\frac{8}{6} x_{1}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part D**: Suppose you learn a Logistic Regression classifier from this training set by minimizing the negative log-likelihood with the parameter $\\beta_1$ so strongly regularized that it approaches zero, and the other parameters unregularized. \n",
"\n",
"$$\n",
"\\textrm{Loss}(\\boldsymbol{\\beta}) = NLL(\\boldsymbol{\\beta})+ \\lambda \\beta_1^2\n",
"$$\n",
"\n",
"Describe a possible decision boundary that you could learn as a result. Plot the decision boundary on the graph above and label it \"part D\". How many training examples does your learned decision boundary misclassify? "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"##### Now that $\\beta_{1}$ is zero, this means our decision boundary has a slope of zero. However, our y-intercept can be shifted along the y-axis and look like the example on our graph. Notice two points are miscliassifed . . . one red and one blue point.\n",
"##### A possible equation is: $$x_{2} = 3.5 + 0 \\cdot x_{1}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part E**: Suppose you learn a Logistic Regression classifier from this training set by minimizing the negative log-likelihood with the parameter $\\beta_2$ so strongly regularized that it approaches zero, and the other parameters unregularized. \n",
"\n",
"$$\n",
"\\textrm{Loss}(\\boldsymbol{\\beta}) = NLL(\\boldsymbol{\\beta})+ \\lambda \\beta_2^2\n",
"$$\n",
"\n",
"Describe a possible decision boundary that you could learn as a result. Plot the decision boundary on the graph above and label it \"part E\". How many training examples does your learned decision boundary misclassify? "
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"###### If $\\beta_{2}$ is approaching zero, our $\\beta_{0}$ and $\\beta_{1}$ are going to blow up to $+\\infty$. This will give us a veritcal decision boundary line. Notice that no points are misclassfied for this line.\n",
"##### A possible equation is: $$x_{2} = 0 + 10000 \\cdot (x_{1} - 4)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### [30 points] Problem 3: SGD for Regularized Logistic Regression \n",
"***\n",
"\n",
"In this problem you'll implement a Logistic Regression class that trains a classifier using Stochastic Gradient Descent with $\\ell_2$-Regularization. In Problem 4 you'll use this class to do document classification. Here your job will be to implement the following methods: \n",
"\n",
"- `train`: Takes in learning rate, regularization strength, and number of epochs to do, and learns model parameters using SGD \n",
"- `predict`: Takes in a matrix of examples and predicts binary labels in $\\{0,1\\}$\n",
"- `accuracy`: Takes in a matrix of examples and true labels, makes predictions, and returns accuracy as value in $[0,1]$ \n",
"\n",
"Note that you should assume that all features have been prepended with a $1$ so that each example is the same length as the parameter vector `beta`. \n",
"\n",
"There are some optional methods that you may implement if you like which might make your life easier in later problems. These will not be unit-tested or graded though. They are \n",
"\n",
"- `predict_proba`: Takes in a matrix of examples and estimates $p(y=1 \\mid {\\bf x})$ for each example. \n",
"- `mean_loss`: Takes in a matrix of examples and true labels and evaluates the negative log-likelihood \n",
"\n",
"Finally, the method `best_text_features` will not be needed until **Problem 4**. \n",
"\n",
"The section below the class skeleton contains more details as well as unit tests. Note that the unit tests are based on a subset of the toy data in **Problem 2**. "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"class LogReg:\n",
" \"\"\"\n",
" Class to train a logistic regression classifier on the training data\n",
" \"\"\"\n",
" \n",
" def __init__(self, X_train, y_train, X_valid=None, y_valid=None):\n",
" \"\"\"\n",
" Initialize classifier \n",
" \n",
" :param X_train: ndarray of training features (with column of 1s prepended)\n",
" :param y_train: ndarray of training labels {0,1}\n",
" :param X_valid: ndarray of validation features (with column of 1s prepended)\n",
" :param y_valid: ndarray of validation labels {0,1}\n",
" \"\"\"\n",
" \n",
" self.X_train = X_train \n",
" self.y_train = y_train \n",
" \n",
" self.X_valid = X_valid \n",
" self.y_valid = y_valid \n",
" \n",
" # Array of logistic regression weights \n",
" self.beta = np.random.randn(self.X_train.shape[1])\n",
" \n",
" # list for storing loss function histories \n",
" self.train_history = [] \n",
" self.valid_history = [] \n",
" \n",
" @staticmethod\n",
" def sigmoid(z, threshold=20):\n",
" \"\"\"\n",
" Evaluate the sigmoid function \n",
" :param z: argument of sigmoid function \n",
" :param threshold: threshold parameter to prevent over/underflow \n",
" \"\"\"\n",
" \n",
" if np.abs(z) threshold:\n",
" z = np.sign(z) * threshold\n",
" \n",
" return 1.0 / (1 + np.exp(-z))\n",
" \n",
" def train(self, eta=0.01, lam=0.0, num_epochs=10):\n",
" \"\"\"\n",
" train LogReg model using SGD with regularization \n",
" \n",
" :param eta: the learning rate \n",
" :param lam: the regularization strength\n",
" :param num_epochs: number of epochs to perform in training \n",
" :return : returns nothing, just updates weights\n",
" \"\"\"\n",
" \n",
" for ee in range(0, num_epochs): # Loop through all epochs\n",
" \n",
" shuffled_inds = list(range(self.X_train.shape[0]))\n",
" np.random.shuffle(shuffled_inds)\n",
" \n",
" counter = 0\n",
" for ii in shuffled_inds: # Loop through shuffeled training data indices\n",
" counter += 1\n",
" if counter % 50 == 0: # every 50 training examples, get the accuracy\n",
" self.train_history.append(self.accuracy(self.X_train, self.y_train))\n",
" self.valid_history.append(self.accuracy(self.X_valid, self.y_valid))\n",
" sigII = self.sigmoid(np.dot(self.beta, self.X_train[ii])) - self.y_train[ii]\n",
" for k in range(0, self.beta.shape[0]): # Loop through each feature\n",
" if k == 0:\n",
" self.beta[0] -= eta * sigII\n",
" else:\n",
" self.beta[k] -= eta * (sigII * self.X_train[ii, k] + (2*lam*self.beta[k]))\n",
" \n",
" def predict_proba(self, X):\n",
" \"\"\"\n",
" predict probability p(y = 1 | x) for each row of X (this function is optional)\n",
" \n",
" :param X: ndarray of features \n",
" :return : ndarray of probabilities \n",
" \"\"\"\n",
" probs = np.zeros(X.shape[0])\n",
" for i,v in enumerate(X):\n",
" probs[i] = self.sigmoid(np.dot(self.beta, v))\n",
" return probs\n",
" \n",
" def predict(self, X):\n",
" \"\"\"\n",
" predict binary labels {0,1} for each row of X\n",
" \n",
" :param X: ndarray of features \n",
" :return: ndarray of binary labels {0,1}\n",
" \"\"\"\n",
" probs = self.predict_proba(X)\n",
" labels = [1 if prob = 0.5 else 0 for prob in probs]\n",
" return labels\n",
" \n",
" def accuracy(self, X, y):\n",
" \"\"\"\n",
" report accuracy of prediction\n",
" \n",
" :param X: ndarray of features \n",
" :param y: associated true labels\n",
" :return: accuracy as a float in [0.0,1.0]\n",
" \"\"\"\n",
" correct = 0.0\n",
" predict_labels = self.predict(X)\n",
" for ii in range(0,len(y)):\n",
" if predict_labels[ii] == y[ii]:\n",
" correct += 1.0\n",
" return correct / len(y)\n",
" \n",
" def mean_loss(self, X, y):\n",
" \"\"\"\n",
" report mean log-likelihood (this function is optional)\n",
" \n",
" :param X: ndarray of features \n",
" :param y: associated true labels\n",
" :return: average log-likelihood\n",
" \"\"\"\n",
" from sklearn.metrics import log_loss\n",
" return 0.0\n",
" \n",
" def best_text_features(self, vocab):\n",
" \"\"\"\n",
" Print 10 best features for each class \n",
" \n",
" :param vocab: list of vocab words\n",
" :return: returns nothing \n",
" \"\"\"\n",
" class0 = self.beta.argsort()[:10] # Sort self.beta to get min values\n",
" class1 = np.argpartition(self.beta, -10)[-10:] # Sort self.beta to get max values\n",
" print(\"\\nbest words for class 0\")\n",
" print(\"----------------------\")\n",
" for ind in class0:\n",
" print(vocab[ind])\n",
"\n",
" print(\"\\nbest words for class 1\")\n",
" print(\"----------------------\")\n",
" for ind in class1:\n",
" print(vocab[ind])\n",
" \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part A**: Implement the `train` method so that it performs **unregularized** SGD updates of the model parameters by minimizing the negative log-likelihood loss function discussed in lecture: \n",
"\n",
"$$\n",
"\\textrm{NLL}({\\bf \\beta}) = -\\displaystyle\\sum_{i=1}^n \\left[y_i \\log \\textrm{sigm}(\\boldsymbol{\\beta}^T{\\bf x}) + (1-y_i)\\log(1 - \\textrm{sigm}(\\boldsymbol{\\beta}^T{\\bf x}))\\right] \n",
"$$\n",
"\n",
"\n",
"Note that your SGD updates should be vectorized, utilize Numpy routines as much as possible, and not make any assumptions about the number of features. When you think you're done, execute the following code cell to perform three unit tests. "
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"testPosUnregUpdate (__main__.TestLogReg) ... ok\n",
"testNegUnregUpdate (__main__.TestLogReg) ... ok\n",
"testShuffelUnregUpdate (__main__.TestLogReg) ... ok\n",
"\n",
"----------------------------------------------------------------------\n",
"Ran 3 tests in 0.006s\n",
"\n",
"OK\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x114a061d0"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%run -i tests/new_tests.py \"prob 3A\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part B**: Update your implementation of the `train` method so that it performs **regularized** SGD updates of the model parameters to minimize the regularized loss function discussed in lecture\n",
"\n",
"$$\n",
"\\textrm{Loss}({\\bf \\beta}) = -\\displaystyle\\sum_{i=1}^n \\left[y_i \\log \\textrm{sigm}(\\boldsymbol{\\beta}^T{\\bf x}) + (1-y_i)\\log(1 - \\textrm{sigm}(\\boldsymbol{\\beta}^T{\\bf x}))\\right] + \\lambda\\displaystyle\\sum_{k=1}^p \\beta_k^2\n",
"$$\n",
"\n",
"Note that you should **NOT** regularize the bias parameter $\\beta_0$. When you think you're done, execute the following code cell to perform two unit tests. "
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"testPosRegUpdate (__main__.TestLogReg) ... ok\n",
"testNegRegUpdate (__main__.TestLogReg) ... ok\n",
"\n",
"----------------------------------------------------------------------\n",
"Ran 2 tests in 0.002s\n",
"\n",
"OK\n"
]
}
],
"source": [
"%run -i tests/new_tests.py \"prob 3B\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part C**: Implement the `predict` function to take a matrix of examples and use the learned parameters to return a vector of predictions of $\\{0,1\\}$ for each example. When you think you're done, execute the following code cell to perform one unit test. \n"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"testPredict (__main__.TestLogReg) ... ok\n",
"\n",
"----------------------------------------------------------------------\n",
"Ran 1 test in 0.001s\n",
"\n",
"OK\n"
]
}
],
"source": [
"%run -i tests/new_tests.py \"prob 3C\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part D**: Implement the `accuracy` method to take a matrix of examples and a vector of true labels, make predictions, and return the accuracy of those predictions as a decimal value in $[0,1]$. Execute the following code cell to perform one final unit tests. \n"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"testAccuracy (__main__.TestLogReg) ... ok\n",
"\n",
"----------------------------------------------------------------------\n",
"Ran 1 test in 0.001s\n",
"\n",
"OK\n"
]
}
],
"source": [
"%run -i tests/new_tests.py \"prob 3D\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### [25 points] Problem 4: Baseball vs Hockey \n",
"***\n",
"\n",
"In this problem you will train a Logistic Regression classifier to determine if a document is talking about baseball or hockey. The following code cell will load training and validation sets, as well as a list that encodes the map from feature index to particular words. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"f = gzip.open(\"data/baseball_hockey.pklz\", 'rb')\n",
"X_train, y_train, X_valid, y_valid, vocab = pickle.load(f)\n",
"f.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part A**: Look at the encoded features in `X_train` or `X_valid`. Which of the text models discussed in class do these features represent? Briefly justify your response. "
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\n",
" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n"
]
}
],
"source": [
"print(X_valid[:,1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### The `X_valid` data looks like it is a sparse matrix where the entries are 0 or 1. These values represent booleans and if a word is present, then a value of 1 is placed in the matrix. Else the entry will be zero."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part B**: There are two additional files in the data directory called `positive_raw` and `negative_raw`. These are a subset of the actual documents that were cleaned and featurized to obtain our training and validation data. The documents in `positive_raw` correspond to examples with true label $y=1$ and the documents in `negative_raw` correspond to examples with true label $y=0$. Inspect some of the documents and decide which label corresponds to documents about baseball and which label corresponds to documents about hockey. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### After inspecting the `positive_raw` document, it is clear that this document corresponds to the label $y=1$ which is talking about Hockey. The `negative_raw` document is referring to the label $y=0$ which is talking about Baseball."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part C**: Use the class you wrote in **Problem 3** to train a logistic regression classifier to predict baseball vs hockey and report accuracy on the training and validation set. Do you see any signs of overfitting? \n",
"\n",
"**Hint**: You won't need to run very many epochs before convergence on this data. "
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114a197f0"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 99.58228905597326% and Valid Accuracy: 86.18090452261306%\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114ab4320"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 99.83291562238931% and Valid Accuracy: 88.81909547738694%\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEWCAYAAACXGLsWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4XGXZ+PHvnT1pkyZNuqd7SzdIFyIgLVBAS5GlgAgUkEWxgoKKywv4IiKi8lNfFwQXFGSnILIpZSmbBWmhLd03urdJtzTNvk6S+/fHc6aZpJNkkmYy0+T+XNdcmbPOc85Mzn2e5TyPqCrGGGNMa2IinQBjjDHRz4KFMcaYNlmwMMYY0yYLFsYYY9pkwcIYY0ybLFgYY4xpkwWLY5iIxIpIuYgM68x1uyMRiRMRFZERkU6LMcciCxZdyLtY+18NIlIVMH1Ve/enqvWq2ltVd3Xmuu0lIveKiK/Z8R3s7M/p7rzzqCJyYqTTEikBQb2i2e/puyLyt4Dp2ma/uX8F7CPN2/5frX1WG+nIFJGXvf3sEJHLW1k32O+/292UxUU6AT2Jqvb2vxeRHcANqvpWS+uLSJyq1nVF2jrBU6p6XaQTcawSEQG+DBwCrgGWd+FnxwCoakNr87rYJFXdEWT+DeAu0EB2C7+5LwHVwGwR6a+qBzrw+X8GKoD+QC7wLxFZpaobW1i/2//+LWcRRbw7lGdF5BkRKQOuFpHPisgSESkWkb0icr+IxHvrNylaEZEnveWviUiZiCwWkZHtXddbfq6IfCoiJSLyBxH5r4hc14FjOk1ECkRkiDc9TUSKRGSsN32niGzz0rBORC4M2PYGEfmPl85iEdkiIieLyFdFZLeI7BeRqwPWf1JEHhSRt739vSsiQ1tIV5KI/CZgP38UkSRvWX8RWeB95iERWdTCPv4qIvc1m/eqiHzLe/9DEdkjIqUislFEZrZyqs4EsoDvAFf6v+OA/X7d20eZiKwVkcne/OEi8pJ3jg+KyO+9+feKyKMB248REQ2Y/kBEfioii3EXxWEtzLtBRDZ4n7tVRG5olq5LRGSld4xbRGSWiMwVkY+arfc/IvLPVo6/M10LPABsAK5s78YikgZcBNypqhWq+h/gVeDq1rfs5lTVXhF4ATuAzzWbdy9QC1yAC+TJwGeAk3G5wFHAp8DN3vpxgAIjvOkngYO4O6F44FngyQ6s2x8oA+Z4y74L+IDrWjiWe4FHWznW/wcsBFKA9cCNAcsuAwZ5x3slUA4M8Jbd4H3ul4FY4D5gJ3A/kAh8ASgBUgKOqQSY7i1/EHivheP/A/AikAGkAQuAn3rLfoW72MQDCcDpLRzXWd73KN50JlAFDAAmeWkd6C0bCYxq5Rw9BjztpbsYmBOwbC6wGzgREOA4YKh3TGuBXwO9vN/L9GDfCTAG0IDpD7y0T/COM66FeRfgfnfiHW8VkOPt41QvrWd7399QYJyXjmJgbMDnrQk8plbOQ5PvqZX1gv7mvLQ2eOfoNmBFs+WveWkL9nrJW+czQFmz7W4HXmwlLSW4XOFa4OuRvr6E4xXxBPTUFy0Hi3fa2O77wD+898ECwJ8D1r0QWNuBdb8CvB+wTIC9tB4sapv94y0MWJ4ArPQuGK+2cXxrgfO89zcAGwKWTfWOITNgXglwfMAxPRmwrI934RgUePzeha0aGB6w7mnAZu/9z4EXgNFtpDUGyAdO9aZvAt703o8D9uMupHFt7Kc3Lkie700/DPwzYPnbwDeDbHcasA+IbeE7eTRgOliwuKvZNkfMC7Lff/vT4qXzVy2s91fgJ977Kbgbk/gQ/i/831Nps9/T2a0dX8D8u4Fl3vth3vd/Qjv/N88E8prNuwl4q4X1J3m/sVhghve9f6k9n3ksvKwYKvrsDpwQkfFe0cY+ESkF7sEVV7RkX8D7StyFqL3rDg5Mh7r/iLw20v20qqYHvD4fsH0t7s75eNxd8GEicp2IrPKKfIqB8TQ9vv0B76uAelUtbDYv8BgD012CCyaDm6V1IO4OPvBz/43LUUFjDuZtr+jlB8EOWF15/rO4O39wOaOnvGWbgO/hvq8DXtHiwGD7Ab6IC15veNNPAeeLSF9veiiwNch2Q4Edqlrfwn7bsruteSJyvoh85BXHFQOzaPx+WkoXuO/b32jjauBZVfW1I205zX5Pb7e1gYgIrr7H/x3swgXAa9vxueACd1qzeWm43PYRVHWdqu5V14jkA1yu9dJ2fmbUs2ARfZp3A/wX3N32GFVNA+7C3emH014g2z/h/RMO6ejOxLUMuRN4FPiNNNa5jAL+hLtry1TVdGAjR3d8h+soRKQPLnexp9k6+3E5oXEBF6M+qtoHQFVLVfVWVR2BK7u+TUTOaOHzngG+5NX3TMPlSPD286SqTscVQcUCv2hhH9fiLka7RWSft88EGoPQbmB0kO12A8NFJDbIsgpcsZ9fsEAVrMvpwHqNZOB5L90DvO/nTRq/n5bShXfRRESm44LoE8HW62Sn4c71j7ybq324orur/OdIRN6Upq2WAl/+1lObgGQJqMMDJgPrQkyHEv7/0S5nwSL6peLujitEZALw9S74zH8D00TkAhGJA74N9OvIjrxA8yiudclXcOW6P/EW98b9YxV4q34Nl7M4GheIaxSQiCuqeF9V9wau4N2J/w34nYj0EydbRGZ5ab5AREZ7aS8B6nHFGUdQ1aW4IpOHgAWqWubtY4KInOmlo8p7HbEPERkOzATOxRXXTMFdmP4Pd5eMl9b/EZGpXlrHiqu4XwwUAj8XkRQRSfYuzuCK/c4QkaEiko4rc2+vRFzQKgDqReR8XLGa38PADd5xxnjncFzA8idwNwPlqrok4JhvEJEtHUhPW64FXgcm0nguT8AF4lkAqjpLXRPyYK8LvHVKgZeBn3rn9TTgPFwx5xFE5CIRSfe+m5OBm73tuxULFtHve7h/gjJcLuPZcH+gqu4HLgd+g7sYjQZWADWtbHZVkDu1TFzleAZwt1ecdR0wT0ROVdXVuCz7x7jczDjgoxb2H6oncUHiIJBD4wW3ue/hipo+xgWEN4Gx3rJxwDu44oj/Ar9X1fdb+cxngM/hKqj9EoFfeunYhzsH/xtk2y8DS1X1bVXd538BvwdOFJHxqvoMrpHAs7jA9AKQoa5Z9fm4CundwC4aiz9ex1Xgr/GO8ZVW0h+UqhYDt3r7OeTt+98Byz8EvoZrcFACvEtAzg54HFf02DxXMRR3Xluzrtlv6f9aW1lEUnBNZu8PPI+qug1XLNXeoqgbcUGmAPebmqdes1kRmekVyfldCWzD/Y8+Btyrqk+18/Oinr8VhzEt8rLwe4BL27hoRpSIPAlsUdW7I50WAyLSCziAa4CwPWD+28BNqvppxBJn2s0eyjNBichsYAmu+OQOXBPWjyOaKHOs+Sbw38BAAaCqZ7ewvoliFixMS2bgilXicBV7F6tqa8VQxhwmInm4G4w5kU6L6RxWDGWMMaZNVsFtjDGmTd2mGCorK0tHjBgR6WQYY8wxZfny5QdVtc2m8d0mWIwYMYJly5ZFOhnGGHNMEZGdoaxnxVDGGGPaZMHCGGNMmyxYGGOMaZMFC2OMMW0KW7AQkUdE5ICIrG1huYgbAW2LiKwWkWkBy64Vkc3eq719uhhjjOlk4cxZPArMbmX5ubiO28YC83C9U+L14f9j3OhwJwE/FpGMMKbTGGNMG8IWLFR1Ea6nypbMAR5XZwmQLiKDgHNwo6wdUtUi3HCcrQUdY4wxYRbJ5yyG0HRUrjxvXkvzjyAi83C5EoYNGxaeVJqoV+2rpyGg25r8oioWbT7IxEFp5GT3QUIchqZB4ePthazcXQJtdIMTFxvD9DFZjB+Yenj/9Q3K4q2FrM0v6eihGNMhA/skc+XJ4b0GHtMP5anqQ7hBZ8jNzbVOrqJEfYPyt/e3kV9cxYRBaVyeO5Sy6jrKanysySth3Z5SThmVyab9ZewsrDhi+5SEOM6e0J/B6cmtfo6vroHfvfUpL61sPhDe0WsrwKjCbxa23MN2qAHKmM4wZWh6tw4W+TQdKCXbm5ePGzkscP57XZYq0yFbC8r596q9VPnq2VtSxcsr95CWFMfji3fyx/e2kFdU1eRm/YF33UBpfZLjiWl2YS2vqePP/2lpaOemYmOE66ePYGBa0uF5qUnxzBiTxer8YvKLqtp1HGP69+a0sf1IiGu9hLas2sfbGw6wv7S6yfzxg9KYPjqTuFhraGi6l0gGi1eAm0VkPq4yu0RV94rIG7hhIv2V2rNw4ymYLtDQoGw+UM5xA3pTUuVj3Z5SEuNimDw0nXjvAqiqfLKrmH+t2sPWgnIKymrYuK8MEYiLEXz1ync+N5Zvnz2WZ5fu5oUV+Vw8ZQjZGSkMTk/mhOw+fLStkNH9ezO6X+8j0lBW7eP9zQcpr65rM705Q/swfmBa0GXDMlOCzu8MqUnxXDS1w8OSG3PMCVsX5SLyDC6HkAXsx7VwigdQ1T974xs/gKu8rgSuV9Vl3rZfAX7o7epnqvr3tj4vNzdXrW+o9qtvUJZsKyQnuw+9E+P44YtreebjXcwYk8X6vaUcqqgFID0lnuwMVyxUWF7L3pJqEuJimDgojV6JsZw1fgDn5wwiKS6WLQVlTBuWgVhZjDFRT0SWq2pum+t1l/EsLFh0zEOLtvLzBRtJiIuhb0oC+0qrOXt8f97fcpAx/XrzP7PHUe2r5831+ymp9AGQFB/LmeP7c86kAaQmxUf4CIwxRyPUYHFMV3Cb0NXWNfCfTwtQVU4dk8V1j3zMsMwUFq7bzymj+nL84D4cqqzlhCF9uO7UERRX+khNijtc9j77+EERPgJjTCRZsOgBqmrrOf8P77O1wLU8mjgojQ37SvlkVxExIvzs4hOOqDvI6JUQiaQaY6KUBYturNpXT1VtPU8s2cnWggp+/aXJvL52L29tOMAtZ41h1sSBFFXWBq1kNsaYQBYsupGKmjrW7y2lqKKW19fu4411+6j01RMrwrnHD+TSE7O5YPIgPtxSyGljs6x5pzEmZBYsjjHFlbX8z/OrOX5IHwrKaqjy1XPvRcezcncx33tuFfnF7rmCtKQ4zs8ZzIC0RFbmlfC/500AIDHOVU4bY0x7WLA4xry76QBvrt/Pm+v3kxgXQ219Ayt3F7O1oJwRmb3489XT6NsrkclD+5AYFxvp5BpjugkLFseYFbuK6ZUQyzvfn0mvxDheXpnPj15ay9yThnHneRNISbCv1BjT+ezKcoz5ZFcRk4emM8Dr3uKqk4dzydRskhMsF2GMCR+r4TyGVNXWs2FvGVOHpTeZb4HCGBNulrM4BjQ0KA+8u4XC8hrqG5Rpw2wsKGNM17JgEeWqffX87NUNPLFk5+F5U4amt7KFMcZ0PgsWUeypj3Zy34KNlNXUMe/0UQztm8K+kioyeydGOmnGmB7GgkWUeuqjnfzvi2uZPiaTm84Yw/QxmdaLqzEmYixYRBlffQO3Pb+aF1bkc/px/fjrNSfa8xLGmIizYBFlXl+7jxdW5PONmaP57uePsy45jDFRwYJFlHl5ZT4D05L43qxxxDYfb9QYYyLEblu7yN6SKv675SBbDpS3uM6hilre21TAhVMGW6AwxkQVy1l0kav+9hHbCipIiIvhv7edRXlNHb0SY+mfmnR4nVdX76GuQbloio3tbIyJLpaz6AJ5RZVsK6jgi9Oyqa1r4C//2cqcBz7gFws2NlnvpZV7GDcglQmDUiOUUmOMCS6swUJEZovIJhHZIiK3B1k+XETeFpHVIvKeiGQHLKsXkZXe65VwpjMclmwrZG1+CQAfbikEYN7pozh1dCZ/+2A7pdV17C+tPrz+rsJKlu8s4qKpQ6yJrDEm6oQtWIhILPAgcC4wEZgrIhObrfZr4HFVzQHuAX4RsKxKVad4rwvDlc5wqK1r4MYnl3PDY8uorK3jv1sPktU7keMG9ObqU4YfXq+40nf4/Usr8wGYM2Vwl6fXGGPaEs6cxUnAFlXdpqq1wHxgTrN1JgLveO/fDbL8mPTepgMUV/rYV1rNb978lA+3FnLqaPdQ3TmTBvLLS3OYPWkgJVWNwWLBmr2cNLIvg9OTI5hyY4wJLpzBYgiwO2A6z5sXaBVwiff+YiBVRDK96SQRWSYiS0TkomAfICLzvHWWFRQUdGbaj8rLK/eQ2SuBL5wwkL99sJ2CshpmjM0CIDZGuCx3KEMykimqrAVAVdlZWMnxg/tEMtnGGNOiSLeG+j7wgIhcBywC8oF6b9lwVc0XkVHAOyKyRlW3Bm6sqg8BDwHk5uZq1yW7ZaXVPhZu2M+VJw3j9nPHc+HkAmKEI4YyzUiJp7K2npq6eqprG6jy1TM4PamFvRpjTGSFM1jkA0MDprO9eYep6h68nIWI9Aa+qKrF3rJ87+82EXkPmAo0CRbR6MVP8qmta+CL07JJio9l9vEDg67XJyUBgJJKH4e8HMbAPhYsjDHRKZzFUEuBsSIyUkQSgCuAJq2aRCRLRPxpuAN4xJufISKJ/nWA6cD6MKa1U6gqTy7ZyeTsPpyQ3XqRUnpyPADFVT72lrhWUYMsWBhjolTYgoWq1gE3A28AG4DnVHWdiNwjIv7WTTOBTSLyKTAA+Jk3fwKwTERW4Sq+71PVqA8WH28/xOYD5VwV0OKpJRlezqK40sfeYhcsBvaxym1jTHQKa52Fqi4AFjSbd1fA++eB54Ns9yFwQjjTFg5vrNtPUnwMF+S03fw1PcXlLIoqa9lXUkWMQP9UG6fCGBOd7AnuTrRidxE5Q9JDGhO7j1cMVVLpiqH6pSYSbz3MGmOilF2dOklNXT3r8kuZOiy0IU8zennFUFW17CuttiIoY0xUs2DRSdbtKaW2voGpwzJCWr9XQixxMUKRl7MYlGaV28aY6GXBopN8srMIIOSchYiQnhJPcWUte4urGGTPWBhjolikH8o75qkqj324gxc+yWdIejID2pFDSE9JYPehKipq663ZrDEmqlmwOEpbC8q5+1+uVe9XZ4xs17bpyfGs3eN6prU6C2NMNLNgcZT2ldQAMH/eKZwyKrONtZtyxVA+EmJjmD66fdsaY0xXsjqLo3SgzD1Q15FnJNK9B/O+cMJAMnvbMxbGmOhlweIoHShzOYv+HWjN5O/y4+oQnvg2xphIsmKoo3SgtIZeCbH0Tmz/qbxwymCSE2I5cXhozW2NMSZSLFgcpf1l1R3KVQDkZKeTkx1aU1tjjIkkK4Y6SgWlNdankzGm27NgcZQOHEXOwnShhoZIp8CYY5oFi6Ogquzv6pyFKuz4wC5+oSovgNfvgF8Mgf/+vmP7qKuFja/C6n9AYReMv1VbCetfhjXPQ+Wh8H+eiW4Fn7rf3qbXob4ODm6B/V0/YoPVWRyF8po6qnz1XRssdn8Ej54H5/0GPvPVrvvcYDYvhJVPQ0IvmHYt5C+DmnKXrpS+wbc5tA0++gtMuwb6T4RPX3fBb8pV0H8CbFoAOz+EmXdAYu+207BnJSz5owuiky6GceeCCFQVw+IHYPEfoa4a+o2HhXdBfAqc9DW3/sd/hV5ZcPwlR+638pDbb+FWd1zFu9x8iYWpV8EZt0Gf7Mb1ywtg6V+hd3+Y+mWoLoElf4KhJ8O42a2cw7dg1dMuPQCoO/7y/W4ycwxc/5rbb3v5qmDZI5C3DHoPgLPudOe0aCcsfhCmXg2Dctq/32hVUQhLHoRD25vOH3YKnHgdxAX8n+5eCutegPHnwYgZsOsjWP8STLgAhp/apckGXAD44DfuOwtUUwpb3ga830fqICjb56bHnee+0wETuySJohoVQ1cftdzcXF22bFmXfubWgnLO/r//8LvLp3DR1CFd86FLH4ZXvwvpw+CWFRAbEO9rK6DiIGR4TXGrS2DRr2Hdi3DB72DIie5inj7U/TjTBsG+NfDctW7bs+6Ek+bBgfXuQh7TSsazeDc8eDLEJ0N9rftR+yWlw9X/hOzcxnmFW90F78kvuoAHEJfkLuR+gdMjToPTvx/8s5MzYGCOS/tj57t5sYlQccDtQ2JcmhrqYNIlcOYPIWMEPHeNC0az7oWKAi+nIXDOz2DAJHfXtuIJFwTrqkEbIHO0u9Ce+i13zj95HJY97PYdF1D8WFcD6g0fH5sADfVuOiYOJl8BGxc0HlvaEJj+LRcgXv0eJKe7c+aXPtR9Xr0P/nGt+xsb3/QcxCe7i/3eVbD74+Dnqd4HDT537EU74JRvwDk/h0fPh50fePtJCb5tMDHxcOYd7qL71t1u/y1JzoBTboKB3rA0e1bAkj+738nAHDjrf93v8dmr3bkb9ll38R55OtSUwadvuPMPMHganHKju5Au+RMkprrfaWJvl4ZPHncX1LpqQKHvKEC8c1DjAn1sgvsu/HyVje/jkqGuqum0SNvnIy4Jcq93aQZ3I/ThH7yLeRDxKfCZG2D4Z5vOr6uBf33HnZvUQU2XSQwcd467mSrc7P7/B012N2gf/sFtE5/iztH1r7ad5iBEZLmq5ra5ngWLjvlkVxHLdxTxswUbePqGkzl1TFbXfPBrt8FHf3bvL34IJl9+5LJJF8OFD7igsvo5d7GrLnH/LLVlMHiq++cdNAVqy92PtU825C93d+brX3b/0Gff5X68n74OJ98Ie1fChn+7z9r9ERRshG8sgaQ+sOYfLsAkp8P8q6DqEEyeC4gLPtv/Awm93eed8wv3T1xZCP0mwNjPw4on3Tb9vbukl77B4bupYAbmwIENLgBd/xqkDXbHWrDBLY+Jc4Ei8M7ZVw3PXAHb3nXTk+dC6R6XNr+E3nDCl9zFLucyl9tprni3S6+vonFebKILCsW7YNt77uI04Xz493fduZ5wgQviqu7z9q1x2w2aDNf+y53DYPKXu2Df3KHtsPHfkJIFJ1x6ZDABQNyFZsQMl47lf4fx58OGV+DzPwXUBc1Q7V3deK6GT4ch01pZdxVsX9R03uizXA5v/ctQmg+9+kPlQejVz+Wksj/jcoqx8e7cJ6a6AL7uRSj3LsB9R7tgUnGgcb8JqZDjfWcnXAb9xzcuU3Xfx9Z3aPJ7Sh3sPmPdi1C8E9Ky3Xlc+wKU7ArtfBTtgA3/ajpv8FR3voMp3OpuVoJJSofrXoWBx4f22eByv5885v6P+gyFk78e+rYBLFiE2Rd+/z7r97q76be+ezpj+qeG9wOrS90d3dOXu4tqfZ27c71pcWMO4M8zXHFI+T747M2umGXal+GM2+HZq1zQ6DvK/WCHT3d30Q118OUXYcAJ8EAuVBfD8ZdC3lL3T+Q3aLK7OEuMuzDGxMLn73H7b65opwsY/qKbxFRX7LRrsfuHvvSRtu/cCrc2FsU0t3cVLH/M3aGdcRukDgz9PNb73MU7JhYGTXXnMP+TxlxBv/EtF6F1RG2lu7BljGic19AAe1e4upDBU1wuoSNK8l1wTujV9rrVJfDEJXBwM4w5G774cOs5x2DqauHlb7ibi0v+CvFtNOzYv859Lrjv3R94fdUud7b0YTj9BzDpIhe00oe5329MbNPvoLYS9q12RYCDp7pc495VHL74d/Z31h6Bv9P4ZHcD1tpv++CWpoHOL3NMx4oaO4EFi3B/3r0LOVheiwis+vEs0pKC3dl1kvo6+MM0GH2mK+MeMR3GzoJ/fhUuf8rdwdZWwi+yYcat7q518xtu23n/cRekYLa87e6O/HUf2xe5gHDSPHdRXfmUC0zJGe7OdMDxcN2/3LQxplsINViEtYJbRGYDvwdigb+p6n3Nlg8HHgH6AYeAq1U1z1t2LXCnt+q9qvpYONPaHnX1DRRW1HLlycP4/IQBHQsUH/wW0ocHr1w9sNGVp48522WNt77j7vLXvuDKKLOOg4kXwTv3uv1MON/deWm9qycYO8sFiwEnuBxBS8ac3XR65OmN5a9xCa481m9IritGaam4xBjTrYUtWIhILPAg8HkgD1gqIq+oamCbr18Dj6vqYyJyFvAL4Msi0hf4MZCLy2su97YtCld62+NQZS2qMGFgKmeO72DWccmfXQVf82BxaDv85TSX1d7xvit3X/kkII2VyP3GuYrt3OtdC5+SfNfiBVxFV+oAl70fekpoFXWh6E6tZowx7RbO5yxOArao6jZVrQXmA3OarTMReMd7/27A8nOAhap6yAsQC4FW2h92rQKv88B+HW0y21Dvyi0DWxD57VrsAsWM70LJblj1jGtJc+J1jS1Xso5zf8d8zv3d9q6rCO0z1AUKcC2bxn6uY+kzxphmwhkshgC7A6bzvHmBVgH+W+uLgVQRyQxxW0RknogsE5FlBQXtaNVxlA6W1wKQ1Z5uxf95A7z9U/e+stA1CwwWLPaudkHh9B+4FhIvf8NVbH/2ZldsFBPnNQ3EtRzqPQA2veba5rfWOsUYY45CpJ/g/j5whoisAM4A8oH6UDdW1YdUNVdVc/v16xeuNB6hQzmLzW/Cmufce3/riZqyI9fbt9q1+U9Ice3o45Lgymcha4xrfXTZ443NJEVg1JmuCWX5Psj9ylEclTHGtCycwSIfGBowne3NO0xV96jqJao6Ffhfb15xKNtGkj9YhJyzqCp2TQiLd7n6hbIWgkVDg2vJNNCrH/j8PfDdDY3ttvuOck+cBhp9lvs7eS6MmtnuYzHGmFCEM1gsBcaKyEgRSQCuAF4JXEFEskTEn4Y7cC2jAN4AZolIhohkALO8eVHhYHkNKQmx9Ap1DIvigId8di1uzFlUNyuGKt7hiqb8lcnN25sHM+EC96zB7F+ElhZjjOmAsAULVa0DbsZd5DcAz6nqOhG5R0Qu9FabCWwSkU+BAcDPvG0PAT/FBZylwD3evKhQUFbTviKowIfbAvv9qa9xDzj5+Z/qHdiOlkcJKa47C3v2wRgTRmF9zkJVFwALms27K+D988DzLWz7CI05jahSUFZDv/ZUbvtzFoOmuJyF/1kGcH01xSXCjv+65yZiE4J3MWGMMREU6QruY9LB8pr2tYQq2un6rxl/nusnqWBj47IarzuEl25yHaVd9kTHu38wxpgwsWDRAQXlIRRDHdre2Ptk8S739LO/6+Pt7zeuV1Pm+twp3gVTrmy9O2tjjIkQCxbtVFvXQHGlr/VgoQqPz3Gd/qm6Oov0Ye6J7Zh41y1HL6+pb00ZlOYB6rooFAy6AAAgAElEQVT/MMaYKGTBop0KK1yFdGbvhJZX2rvSBYi9K2Hr2y7XkD7MFS/5H5zLHOv+Vpe6Yipw6xhjTBSyYNFOJVVuwJeMlFaCxYZ/u668ew9wY0zUljfmGoZ5A59kjXF/a8oaW0tlWM7CGBOdLFi0U1l1HQCpSa00JNv4bzdexFk/coPrJPVxw2tCY71Fpj9YlLqch8S6AVmMMSYK2Rjc7VTq5Sxa7JZ872rX2in3K25goOaDA42aCdO/7QYYWniXCxZFO91IdbH2dRhjopNdndqptNoFiyNyFosfBMSNMJeQ6oZsDCYu0XXjAe6ZipqyxjoNY4yJUm0GCxHJVNXCrkjMscBfDJWW3CxnsfRvbsB2gOnfCe2J6sRUV8FdvNONQ22MMVEqlDqLJSLyDxH5gkhnjaRz7PIXQx2RsygvgPhern7ilG+EtrPEVDeuRfl+azZrjIlqoQSL44CHgC8Dm0Xk5yJyXHiTFT3qG5Sfvbqe3YcqAZezSIyLITEutnGl2kqoLYPTv+d6ifUPQNSWxLTG/qAsWBhjolibwUKdhao6F/gacC3wsYj8R0Q+G/YURtimfWX89f3tPPLf7YCrsziiCKrigPvbewAk9Ap954lpULTDvR9y4tEn1hhjwqTNYCEimSLybRFZhhus6BYgC/ge8HSY0xdx2w6WA/DG2n2oKqVVdaQFK4IC6NXO8bgTU93fPsMgc/RRptQYY8InlNZQi4EngItUNS9g/jIR+XN4khU9thdUALCnpJo1+SWUVvtIbd5s9nDOop2j9SWlub+jz3Sj3hljTJQKJViMU1UNtkBV/18npyfqbDtYQXpKPGXVdby+dh+l1XX0aV4MVe4Fi47mLEafefQJNcaYMAqlgvtNEUn3T3ij10XNqHXhtq2gnEmD05g6NJ2lOw5RVuUL0hLKHyzambNIyXRPbo88o3MSa4wxYRJKsOjnjYsNgKoWAe28hT42qSrbDlYwKqs3I7J6sftQFaXVdUc+vV1xwD1XEddKf1HBnPR1uO7VtodONcaYCAulGKpeRIap6i4AERkOBC2W6m4OltdSVl3HqH69KK2qY19pNXExQlpykJxFe4ugAHplQq9u36DMGNMNhJKz+F/gAxF5QkSeBBYBd4SycxGZLSKbRGSLiNweZPkwEXlXRFaIyGoR+YI3f4SIVInISu8VkYr0bQWuJdTIrF4My3Sj19U1aJCcRQH07hGZLWNMD9VmzkJVXxeRacAp3qzvqOrBtrYTkVjgQeDzQB6wVEReUdX1AavdCTynqn8SkYm48bpHeMu2quqU0A+l82076FpCje7Xm/2l1YfnH9l0dj8MntqVSTPGmC4VakeC9cABIAmYKCKo6qI2tjkJ2KKq2wBEZD4wBwgMFgp47UfpA+wJNeFdYemOQ2SkxDMkPZmEuMZM2BEP5ZUXdKwYyhhjjhGhdCR4A/BtIBtYicthLAbOamPTIcDugOk84ORm69yNa211C9AL+FzAspEisgIoBe5U1ffpQqrKh1sKOXV0FjExQr/eiSTGxVBT19C0NVTRTtfVR3ufsTDGmGNIKHUW3wY+A+xU1TOBqUBx65uEbC7wqKpmA18AnhCRGGAvMExVpwLfBZ4WkbTmG4vIPBFZJiLLCgoKOilJzvaDFewrrebUMZkAxMQI2Rmu3iItKR4aGuDlm+H3OW6DtCGd+vnGGBNNQgkW1apaDSAiiaq6ERgXwnb5wNCA6WxvXqCvAs8BqOpiXDFXlqrW+LtFV9XlwFZch4ZNqOpDqpqrqrn9+nXunf1/t7pe2U8dnXV43tC+KQDuCe73fg4rnoDPfA0u+StMnNOpn2+MMdEklDqLPO+hvJeAhSJSBOwMYbulwFgRGYkLElcAVzZbZxdwNvCoiEzABYsCEekHHFLVehEZBYwFtoV0RJ1k8daDDO6TxIjMlMPzhnnBIi05zo2zPWomfOFX1lWHMabbC6U11MXe27tF5F1cRfTrIWxXJyI3A28AscAjqrpORO4BlqnqK7jOCP8qIrfiKruvU1UVkdOBe0TEBzQAN6rqoY4cYEet2l3CtOEZBA7hcfzgPqQmxpGRkgBVRTD0MxYojDE9QqvBwmv+uk5VxwOo6n/as3NVXYBrDhs4766A9+uB6UG2+yfwz/Z8VmcqrfaRX1zFlSc3Her00hOzOWfSQJLiYlywCGU0PGOM6QZarbNQ1Xpgk4j0qAGiN+0rA2DCoNQm82NihD4p8eCrgvoaCxbGmB4jlDqLDGCdiHwMVPhnquqFYUtVhG3cWwrA+IFHNMByqorcXwsWxpgeIpRg8aOwpyLKbNxXRlpSHIP6JAVfwYKFMaaHCaXO4m7v+YoeY+O+MsYPSmtSud3E4WBhvcUaY3qGUOosGkSkTxelJ+IaGpRN+8qYMDC15ZWqvIZZlrMwxvQQoRRDlQNrRGQhTessvhW2VEXQgbIaymvqGDOgtWBhxVDGmJ4llGDxgvfqEQ6W1wDQr3diyytZsDDG9DChPJT3WFckJFoUVtQCkNm7lVHvqoogNhHik7soVcYYE1mh9Dq7nSAj46nqqLCkKMKKvGDRt1cbwSI5w57eNsb0GKEUQ+UGvE8CvgR022ZAh3MWoQQLY4zpIdrsdVZVCwNe+ar6O+C8LkhbRByqqCE2Ro4cOjVQVbEFC2NMjxJKMdS0gMkYXE4j1BH2jjmHKmrJSEkgJqaVIqaqIkgf3nWJMsaYCAvlov9/Ae/rgO3AZeFJTuQVlte2XgQFLlgMiujw4MYY06VCaQ3Vo57ePlRR23rlNnh1FuldkyBjjIkCbdZZiMjPvcGP/NMZInJveJMVOYcqaunbWrNZXzX4Kq3OwhjTo4QyrOq5qnp4zG1VLcKNl90tFVa0UQxV7Z0KCxbGmB4klGARKyKHH2cWkWSglcebj12++gZKqnxtP2MBFiyMMT1KKBXcTwFvi8jfvenrgW75VHdRZYjPWACkdNtHTYwx5gihVHD/PxFZBXzOm/VTVX0jvMmKjEOHn95uJeNUaT3OGmN6nlAquEcC76nq91X1+8AiERkRys5FZLaIbBKRLSJye5Dlw0TkXRFZISKrReQLAcvu8LbbJCLnhH5IHXeoPMSuPsCChTGmRwmlzuIfQEPAdL03r1XewEkPAucCE4G5IjKx2Wp3As+p6lTgCuCP3rYTvelJwGzgj97+wirkTgTBgoUxpkcJJVjEqWqtf8J738aDCACcBGxR1W3eNvOBOc3WUcA/0HUfYI/3fg4wX1VrVHU7sMXbX1gVe3UWGSltBIuYOEjoHe7kGGNM1AglWBSIyIX+CRGZAxwMYbshwO6A6TxvXqC7gatFJA9YANzSjm0RkXkiskxElhUUFISQpNZV1NYD0CuxlUyM9ThrjOmBQgkWNwI/FJFdIrIbuA34eid9/lzgUVXNxj278YSIhJImAFT1IVXNVdXcfv36HXViqn0uWCTFhRAsjDGmBwmlNdRW4BQR6e1Nl4vIgBD2nQ8MDZjO9uYF+iquTgJVXSwiSUBWiNt2umpfAwlxMW13ImjBwhjTw4R8F48LLJeLyNvAihDWXwqMFZGRIpKAq7B+pdk6u4CzAURkAm68jAJvvStEJNFrjTUW+Lgdae2Qal89SXFBTsn6l6G61L23YGGM6YFaDRYikiwiV4jIK8AaXA+0P8Xd6bdKVeuAm4E3gA24Vk/rROSegDqQ7wFf857jeAa4Tp11wHPAeuB14JuqWt+xQwxdta+e5IRmRVDFu+G5a+AdrzssG8vCGNMDtVgMJSJPA6cBbwJ/AN7BtW56L9Sdq+oCXMV14Ly7At6vB6a3sO3PgJ+F+lmdocpXT1J8s2BRccD9/eQxOP0HlrMwxvRIreUsJgJFuFzBBu/O/oixuLuTal89yUcEi0L3t64aPrwfasssWBhjepwWg4WqTsENcpQKvCUiHwCpIVZuH5OqfQ0kNg8WlV6wyBwDK59y7y1YGGN6mFbrLFR1o6r+WFXHA9/GdSC4VEQ+7JLUdbGqYBXc/mAx4cLG9xYsjDE9THueaVju9Q01HDiin6fuoCZYBXflQYiJh+MCuqeyUfKMMT1Me5rOAuC1VloUjsREmstZBCmGSsmEwdMgLsnNS7buyY0xPUu7g0V3Vu1rODJnUeEFi7gEGJLr5lkxlDGmh7FgEaDaV09SfJA6C/9ARyOmg8TYwEfGmB4n5GAhIqeIyOsi8p6IXBTOREVK0Ocs/MVQAKfeAte8DEl9uj5xxhgTQa09lDdQVfcFzPoucDEgwEfAS2FOW5er8TUECRYHoVeWe5+YCiNP7/qEGWNMhLXWkeCfReQT4JeqWg0UA5fiBkIq7YrEdaX6BqW2vqFpBXd9nevew5+zMMaYHqq1h/IuwnUY+G8RuQb4DpAIZALdrhjK3z15ckLAKakuBtSChTGmx2vrobx/AefgRrF7EfhUVe9X1aMfaSjKVPnHsggshqrwxniyYGGM6eFaDBYicqGIvIvr9XUtcDkwR0Tmi8jorkpgV6kOFiz8T2xbsDDG9HCt1Vncixv3Ohl4Q1VPAr4nImNxvcFe0QXp6zLVvgbAgoUxxgTTWrAoAS4BUoAD/pmqupluFiggcEjVgMxWiTcMuL81lDHG9FCt1VlcjKvMjgOu7JrkRE5jBbeXs9j1kRvwaOAJ0LvbdrRrjDEhaTFnoaoHcYMe9QhHVHAv/BGkZMHVL0BMbCtbGmNM92fdfXj8dRaHBz86uBnGnA29+0cwVcYYEx0sWHgaW0PFQHUJVB2CviMjnCpjjIkOYQ0WIjJbRDaJyBYROWIMDBH5rYis9F6fikhxwLL6gGWvhDOd0FgMlRgXC4e2u5kZFiyMMQZabw11VEQkFngQ+DyQhxth7xVVXe9fR1VvDVj/FmBqwC6qvKFdu0RNYAX3Xi9YWM7CGGOA8OYsTgK2qOo2Va0F5gNzWll/LvBMGNPTqiYV3IdzFiMilRxjjIkq4QwWQ4DdAdN53rwjiMhwYCTwTsDsJBFZJiJLWuoSXUTmeessKyg4uh5IDj+UFxcDRdtdS6jE1KPapzHGdBfRUsF9BfC8qtYHzBuuqrm4Zzx+F6yLEVV9SFVzVTW3X79+R5WAal898bFCXGyMy1lYEZQxxhwWzmCRDwwNmM725gVzBc2KoFQ13/u7DXiPpvUZna7J+NtFO6xy2xhjAoQzWCwFxorISBFJwAWEI1o1ich4IANYHDAvQ0QSvfdZwHRgffNtO1O1r4GkhFioq4GSPMtZGGNMgLC1hlLVOhG5GXgDiAUeUdV1InIPsExV/YHjCmC+qmrA5hOAv4hIAy6g3RfYiiocDo+/fWgboNC323Wsa4wxHRa2YAGgqguABc3m3dVs+u4g230InBDOtDVX7at3T28f8GJS/wld+fHGGBPVoqWCO+JcziIWDmwAiYWs4yKdJGOMiRoWLDyHK7j3r4fM0RCfFOkkGWNM1LBg4SmrriM1Kc4VQ/WfGOnkGGNMVLFg4Smt9pGVWOeazVqwMMaYJixYeEqr6hhNHqBWuW2MMc1YsAAaGpTSah/D6ne5GZazMMaYJixYAOW1dahCBmVuRqoNo2qMMYEsWAClVT4AesW4v8QlRzA1xhgTfSxYACVesEgWH8TEQWxYn1U0xphjjgULXOU2QLLUQnxKhFNjjDHRx4IFrtksQBI1EGcP4xljTHMWLGgshkqkFuKtvsIYY5qzYEFjBXdCQ40FC2OMCcKCBVBaXYcIxDVYMZQxxgRjwQKXs0hNjEPqqqyC2xhjgrBggQsWacnx4Kuy3maNMSYICxa41lB9kuOhrtpyFsYYE4QFC1xrqLSkePBVWp2FMcYEYcEC91BeWnIc+KqtGMoYY4IIa7AQkdkisklEtojI7UGW/1ZEVnqvT0WkOGDZtSKy2XtdG850NhZDWQW3McYEE7ZOkEQkFngQ+DyQBywVkVdUdb1/HVW9NWD9W4Cp3vu+wI+BXECB5d62ReFIa2MxVJUVQxljTBDhzFmcBGxR1W2qWgvMB+a0sv5c4Bnv/TnAQlU95AWIhcDscCTSV99AZW09aUmxVsFtjDEtCGewGALsDpjO8+YdQUSGAyOBd9qzrYjME5FlIrKsoKCgQ4n0P73dN7HBzbA6C2OMOUK0VHBfATyvqvXt2UhVH1LVXFXN7devX4c+OCUhjvvnTmXGiF5uho1lYYwxRwhnsMgHhgZMZ3vzgrmCxiKo9m57VJITYrlw8mBGpMW6GdY3lDHGHCGcwWIpMFZERopIAi4gvNJ8JREZD2QAiwNmvwHMEpEMEckAZnnzwsdX5f5asDDGmCOErTWUqtaJyM24i3ws8IiqrhORe4BlquoPHFcA81VVA7Y9JCI/xQUcgHtU9VC40gq4ZrNgraGMOQo+n4+8vDyqq6sjnRTTTFJSEtnZ2cTHx3do+7COH6qqC4AFzebd1Wz67ha2fQR4JGyJa87n/bitNZQxHZaXl0dqaiojRoxARCKdHONRVQoLC8nLy2PkyJEd2ke0VHBHnq/S/bXWUMZ0WHV1NZmZmRYoooyIkJmZeVQ5PgsWfnX+nIXVWRhzNCxQRKej/V4sWPj5cxbWdNYYY45gwcLvcJ2FFUMZc6wqLCxkypQpTJkyhYEDBzJkyJDD07W1tSHt4/rrr2fTpk2trvPggw/y1FNPdUaSmTFjBuPGjSMnJ4fx48dzyy23UFJS0uo2DQ0N3HfffZ3y+aGyYOHnbw1lFdzGHLMyMzNZuXIlK1eu5MYbb+TWW289PJ2QkAC4yt6GhoYW9/H3v/+dcePGtfo53/zmN7nqqqs6Ld3PPvssq1evZvXq1cTGxnLJJZe0un4kgkVYW0MdU3zWdNaYzvSTf61j/Z7STt3nxMFp/PiCSe3ebsuWLVx44YVMnTqVFStWsHDhQn7yk5/wySefUFVVxeWXX85dd7mGmjNmzOCBBx7g+OOPJysrixtvvJHXXnuNlJQUXn75Zfr378+dd95JVlYW3/nOd5gxYwYzZszgnXfeoaSkhL///e+ceuqpVFRUcM0117BhwwYmTpzIjh07+Nvf/saUKVNaTGdCQgK//vWvGTVqFOvWrWPSpElccMEF7Nmzh+rqam699VZuuOEGbr/9dsrKypgyZQo5OTk8/vjjQdfrTJaz8PNZzsKY7mzjxo3ceuutrF+/niFDhnDfffexbNkyVq1axcKFC1m/fv0R25SUlHDGGWewatUqPvvZz/LII8Fb86sqH3/8Mb/61a+45557APjDH/7AwIEDWb9+PT/60Y9YsWJFSOmMi4sjJyeHjRs3AvDYY4+xfPlyli5dym9+8xuKioq47777SE1NZeXKlTz++OMtrteZLGfh56sCiYHYjj2wYoxpqiM5gHAaPXo0ubm5h6efeeYZHn74Yerq6tizZw/r169n4sSJTbZJTk7m3HPPBeDEE0/k/fffD7pvf7HRiSeeyI4dOwD44IMPuO222wCYPHkykyaFfj4CnlHmt7/9La+84p5hzsvLY+vWrUFzJ8HWCzzeo2XBwq+u2rWEsmZ/xnRLvXr1Ovx+8+bN/P73v+fjjz8mPT2dq6++OugzCP56DoDY2Fjq6uqC7jsxMbHNdUJVV1fH2rVrmTBhAm+99RaLFi1iyZIlJCcnM2PGjKDpDHW9o2HFUH6+KnvGwpgeorS0lNTUVNLS0ti7dy9vvNH5Xc9Nnz6d5557DoA1a9YELeZqrra2lttuu40xY8YwceJESkpK6Nu3L8nJyaxbt46lS10PSHFx7j7fH5haWq8zWc7Cz4KFMT3GtGnTmDhxIuPHj2f48OFMnz690z/jlltu4ZprrmHixImHX3369Am67uWXX05iYiI1NTXMmjWLF154AYDzzjuPhx56iIkTJzJu3DhOPvnkw9t89atfJScnh9zcXB566KEW1+ssElg2dizLzc3VZcuWdXwH/7gO9q+Dmzs/IhvTU2zYsIEJEyZEOhlRoa6ujrq6OpKSkti8eTOzZs1i8+bNh3MFkRDs+xGR5araZuWG5Sz8bPxtY0wnKi8v5+yzz6aurg5V5S9/+UtEA8XROnZT3tmsGMoY04nS09NZvnx5pJPRaayC26/qECSlRzoVxhgTlSxY+JXkQ58hkU6FMcZEJQsW4Iqgqg5B2uBIp8QYY6KSBQuA0j3ub1p2ZNNhjDFRKqzBQkRmi8gmEdkiIre3sM5lIrJeRNaJyNMB8+tFZKX3eiXYtp2mJM/9tWIoY45pZ5555hEP2P3ud7/jpptuanW73r17A7Bnzx4uvfTSoOvMnDmTYM3zZ86c2aSL8Ztvvpni4uI20/rzn/+8zXWiSdiChYjEAg8C5wITgbkiMrHZOmOBO4DpqjoJ+E7A4ipVneK9LgxXOoGAnIUFC2OOZXPnzmX+/PlN5s2fP5+5c+eGtP3gwYN5/vnn2/25Tz311OEuxhMTE5kzZ06b2xxrwSKcTWdPArao6jYAEZkPzAECn3n/GvCgqhYBqOqBMKanZaVezsLqLIzpPK/dDvvWdO4+B54A57Y8jsOll17KnXfeSW1tLQkJCezYsYM9e/Zw2mmnUV5ezpw5cygqKsLn83HvvfcecVHfsWMH559/PmvXrqWqqorrr7+eVatWMX78eKqqqtpMXkJCAr/85S8ZM2YMq1atYvLkyVx00UXs3r2b6upqvv3tbzNv3jxuv/12qqqqmDJlCpMmTeKpp54Kul40CWewGALsDpjOA5o/g34cgIj8F4gF7lbV171lSSKyDKgD7lPVl5p/gIjMA+YBDBs2rOMpLcmHlEx7zsKYY1zfvn056aSTeO2115gzZw7z58/nsssuQ0RISkrixRdfJC0tjYMHD3LKKadw4YUXtjg29Z/+9CdSUlLYsGEDq1evZtq0aSGlITY2lsmTJ7Nx40YmT57MI488Qt++famqquIzn/kMX/ziF7nvvvt44IEHWLly5eHtgq2XmZnZKeelM0T6obw4YCwwE8gGFonICapaDAxX1XwRGQW8IyJrVHVr4Maq+hDwELjuPjqcitJ8K4IyprO1kgMIJ39RlD9YPPzww4Dr9vuHP/whixYtIiYmhvz8fPbv38/AgQOD7mfRokV861vfAiAnJ4ecnJyQ0xDYjdL999/Piy++CMDu3bvZvHlz0CAQ6nqREs5gkQ8MDZjO9uYFygM+UlUfsF1EPsUFj6Wqmg+gqttE5D1gKrCVcCjdA+lHkTMxxkSNOXPmcOutt/LJJ59QWVnJiSeeCLh6hYKCApYvX058fDwjRozo9G68Aerr61mzZg0TJkzgvffe46233mLx4sWkpKQwc+bMoJ8Z6nqRFM7WUEuBsSIyUkQSgCuA5q2aXsLlKhCRLFyx1DYRyRCRxID502la19G5SvIsZ2FMN9G7d2/OPPNMvvKVrzSp2C4pKaF///7Ex8fz7rvvsnPnzlb3c/rpp/P0066B5tq1a1m9enWbn+3z+bjjjjsYOnQoOTk5lJSUkJGRQUpKChs3bmTJkiWH142Pj8fn8x1OW0vrRYuwBQtVrQNuBt4ANgDPqeo6EblHRPytm94ACkVkPfAu8ANVLQQmAMtEZJU3/z5VDU+wqK2A6mKr3DamG5k7dy6rVq1qEiyuuuoqli1bxgknnMDjjz/O+PHjW93HTTfdRHl5ORMmTOCuu+46nEMJ5qqrriInJ4fjjz+eiooKXn75ZQBmz55NXV0dEyZM4Pbbb+eUU045vM28efPIycnhqquuanW9aGFdlFcUwms/gKlXw+izOj9hxvQg1kV5dLMuyo9Gr0y4NPgg7MYYYxzr7sMYY0ybLFgYYzpVdyna7m6O9nuxYGGM6TRJSUkUFhZawIgyqkphYSFJSR0fDdTqLIwxnSY7O5u8vDwKCgoinRTTTFJSEtnZHe9Z24KFMabTxMfHM3LkyEgnw4SBFUMZY4xpkwULY4wxbbJgYYwxpk3d5gluESkAWu/sJbgs4GAnJ+dYZefCsfPQyM6F053Pw3BV7dfWSt0mWHSUiCwL5VH3nsDOhWPnoZGdC8fOgxVDGWOMCYEFC2OMMW2yYOGNtGcAOxd+dh4a2blwevx56PF1FsYYY9pmOQtjjDFtsmBhjDGmTT06WIjIbBHZJCJbROT2SKenK4nIDhFZIyIrRWSZN6+viCwUkc3e34xIpzMcROQRETkgImsD5gU9dnHu934jq0VkWuRS3rlaOA93i0i+97tYKSJfCFh2h3ceNonIOZFJdecTkaEi8q6IrBeRdSLybW9+j/tNtKbHBgsRiQUeBM4FJgJzRWRiZFPV5c5U1SkB7cdvB95W1bHA2950d/QoMLvZvJaO/VxgrPeaB/ypi9LYFR7lyPMA8FvvdzFFVRcAeP8bVwCTvG3+6P0PdQd1wPdUdSJwCvBN73h74m+iRT02WAAnAVtUdZuq1gLzgTkRTlOkzQEe894/BlwUwbSEjaouAg41m93Ssc8BHldnCZAuIoO6JqXh1cJ5aMkcYL6q1qjqdmAL7n/omKeqe1X1E+99GbABGEIP/E20picHiyHA7oDpPG9eT6HAmyKyXETmefMGqOpe7/0+YEBkkhYRLR17T/yd3OwVrzwSUBTZI86DiIwApgIfYb+JJnpysOjpZqjqNFyW+psicnrgQnVtqntku+qefOy4IpXRwBRgL/B/kU1O1xGR3sA/ge+oamngsh7+mwB6drDIB4YGTGd783oEVc33/h4AXsQVKez3Z6e9vwcil8Iu19Kx96jfiaruV9V6VW0A/kpjUVO3Pg8iEo8LFE+p6gvebPtNBOjJwWIpMFZERopIAq7y7pUIp6lLiEgvEUn1vwdmAWtxx3+tt9q1wMuRSWFEtHTsrwDXeC1gTgFKAoomup1mZe8X434X4M7DFSKSKCIjcZW7H3d1+sJBRAR4GNigqr8JWGS/iQA9dlhVVa0TkZuBN4BY4BFVXRfhZHWVAcCL7n+EOOBpVX1dRJYCz4nIV3HdvV8WwTSGjYg8AxE3nKEAAAJvSURBVMwEskQkD/gxcB/Bj30B8AVchW4lcH2XJzhMWjgPM0VkCq7IZQfwdQBVXScizwHrca2Hvqmq9ZFIdxhMB74MrBGRld68H9IDfxOtse4+jDHGtKknF0MZY4wJkQULY4wxbbJgYYwxpk0WLIwxxrTJgoUxxpg2WbAwpg0iUh/QC+vKzuyhWERGBPb6aky06rHPWRjTDlWqOiXSiTAmkixnYUwHeWOC/NIbF+RjERnjzR8hIu94nfG9LSLDvPkDRORFEVnlvU71dhUrIn/1xlJ4U0SSvfW/5Y2xsFpE5kfoMI0BLFgYE4rkZsVQlwcsK1HVE4AHgN958/4APKaqOcBTwP3e/PuB/6jqZGAa4O8xYCzwoKpOAoqBL3rzbwemevu5MVwHZ0wo7AluY9ogIuWq2jvI/B3AWaq6zeuIbp+qZorIQWCQqvq8+XtVNUtECoBsVa0J2McIYKE3wA4ichsQr6r3isjrQDnwEvCSqpaH+VCNadH/b++OcRoGgjAKv4EqVcQBuATiFjkAijgBBaJC3CNlmjQ5RJqIIlIo6LhGKGgpoqHYRbGErFUSIM37Gq9cWHb1ezzWrJWFdJzsWe/js7Pesusljii7OV4BrxFhj1EnY1hIx7npHF/qek2ZYgxwC6zqegncQdnWNyKGfReNiDPgMjOfgSdgCPyobqT/4puK1DboTCMFWGTm9++zFxHxRqkOxvXcPTCLiEdgw24q6QMwrVNMt5Tg6BttfQ7Ma6AEMMnMj197ImlP9iykA9WexXVmvp/6XqS/5mcoSVKTlYUkqcnKQpLUZFhIkpoMC0lSk2EhSWoyLCRJTV/Mq1FSVmIMSQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114a62b38"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 99.83291562238931% and Valid Accuracy: 91.20603015075378%\n"
]
},
{
"data": {
"image/png": "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tXEPyfGxLLvr1OjclFeYC4mtXX0yuB/Qnwe6f/yy/a6qIOB3xdjULu6f60fvRr59VVci+f55908e8LnqgVPucvXe+Vvdic5fBs+c6a5Cl79JRb3x8b+Ck26r3N6aD10R+qq3off40PsUgZmXwoq3XP13cF2+qju5r54DbXu7ABGfDA+PcXkryoPioCqPU+5yJ9HN38AvV0BsnAueEutKB8+c5QJCt5HuRA/upL7te/d5NeDSdhvp8hWb4KrYhp7nSgMLnochZ0HGuW551pPw9i/h/CfcifbTB1zJ57LX3HF6dwac9gCkdT3wc2evhBcvhD0b3L4R+NVqV11U03eTvcLVme/b7qqJJs5wJ04RdyL+9AE46lrof+KB67/3W5j7MEy+H8ZdF3ofNfnmMfCXuIAaKl+fPgBFu933fzDtFzXZv9sd3yNOc43AEtP02qpUXR4HToJBp1XWRTe1fFZjwaKB/Oezddw7ezlXHduHp7/aAFDxvneHFD79VYh/1kOlCn/PdNUsF7/oira717nGsatmu/rMEq8o3H2MqyL55l/w642u6Lv4Vbd88BmubjtYWZFbvvlrFyjG3wTH3ex6XnzxIKCuDnjVu5VXhgDXfAAf3e3aK+ISofNQuPiFyuVf/wve/TXcssa1SdSkMMdte/gl4XvClCuv6ul7Aky6G+bcARs+h59/7078r1wBl/8/V33x6LHuRBYT707+l78GHQdV3d7mb90VYEycKxWUX13XprTQXXWXB6yMKS6g1XTCr66s2FX95G92pacjL4hsvYOxfzcsegWOuubgGs1NixJpsLAG7kP0zpLtZHRN4wdDOlcEix7tkklvnRC9xu1cr2953ib46+DKRrAOA11VUZ9qV+5xifDVQy5obJrremCAu7q89sPKk3fAD69eAyvfdtOjr4If3OmujCbOcHXkH9wBK2bDUT92jXIAyW2h51HuqtpX5KoidiyumoecVa4ao7arzVbpB/YOCmf8Te5Krutwl89LXob8Le4qu1VHSEiFJf9zgWP3Wldtk7cRrnjjwEABro6+59jI918uoRVcM8d9N2ndXHVLXcQnwdgf132/ByOlfd1LFOawZ8HiEOzIL+a7TXncMukIBnRqXTE/vXUiJw/uTPd2deiDXbofCne5K9HaGuw2fO7+Hnsj7FoBIy91jZBDzwld5O01zhXbv/grbPrG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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114a62908"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 99.74937343358395% and Valid Accuracy: 92.71356783919597%\n"
]
}
],
"source": [
"etas = [0.1, 0.2, 0.5, 0.43]\n",
"for ee in etas:\n",
" eta_textModel = LogReg(X_train, y_train, X_valid, y_valid)\n",
" eta_textModel.train(eta=ee, lam=0.0, num_epochs=10)\n",
" train_acc = eta_textModel.accuracy(X_train, y_train)\n",
" valid_acc = eta_textModel.accuracy(X_valid, y_valid)\n",
"\n",
" plt.plot(range(1, len(eta_textModel.train_history)+1), eta_textModel.train_history, label='Training Data')\n",
" plt.plot(range(1, len(eta_textModel.valid_history)+1), eta_textModel.valid_history, label='Valid Data')\n",
" plt.ylabel('% Accurracy')\n",
" plt.xlabel('Epochs')\n",
" plt.title('Training Examples vs Accurracy, ETA=' + str(ee))\n",
" plt.legend()\n",
" plt.show()\n",
" print('Training Accuracy ' + str(train_acc*100) + '% and Valid Accuracy: ' + str(valid_acc*100) +'%')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part D**: Modify your code so that it periodically records accuracy on the training and validation sets throughout the training process (try recording after every $50$ training examples). Experiment with the learning rate `eta` and produce plots like we showed in lecture. Which value of `eta` appears to give the best-ish convergence? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### The best learning rate for `eta` overall was equal to `0.43`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part E**: Once you've found a reasonable learning rate, experiment with the regularization strength. Show plots of accuracy over the training process for a few different values of `lam`. Which seems to work the best-ish and why? \n",
"\n",
"**Hint**: For this type of text data, you'll want to look at very small values of `lam` (like `lam=1e-3` or maybe even smaller). \n",
"\n",
"Report your final accuracy on the training and validation sets after you've tuned your model in **Parts D** and **E**. "
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114a15be0"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 96.82539682539682% and Valid Accuracy: 90.45226130653266%\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x103fa27b8"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 99.83291562238931% and Valid Accuracy: 91.4572864321608%\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x115316d30"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 99.83291562238931% and Valid Accuracy: 91.95979899497488%\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEWCAYAAACXGLsWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VPX1+PH3yWQPYd8JqyCbskaqQhW1Kq64tRVxX6j+1KpdaWvVWr+ttXbRamup4l5xqQtarOKCiKIssu+RRcJOIIGQdWbO74/PHTKESTIJmUxIzut55sncdc69M7nnfpZ7r6gqxhhjTHUS4h2AMcaYxs+ShTHGmBpZsjDGGFMjSxbGGGNqZMnCGGNMjSxZGGOMqZEli0ZORHwiUigiPepz3qZIRBJFREWkV7xjMVWz7+noZMminnkH69ArKCLFYcMTa7s+VQ2oagtV/aY+560tEXlARMorbd/u+v6cps7bjyoiI+MdS3MmIt1E5G0R2eZ9H1lHuL7eIvKJiBSJyCoROS1s2pOV/m9KRWTvkW9Fw7JkUc+8g3ULVW0BfANcEDbuxcrzi0hiw0dZZy+Gb5+qto93QEcTERHgKmAPcHUDf3aCiCTUNK4ZCQIzgMvqaX2vAF8CbYF7gddFpB2Aqt5Y6bjwqvc6qjTXH0rceGeWL4vISyKyH7hSRE4SkS9EJN8703lURJK8+Q8psovIC970d0Vkv4jMFZHetZ3Xm36OiKwVkQIR+ZuIfCYi19Zhm74tIrtEpJs3PEJE9opIP2/4bhFZ78WwQkQuDFv2Ru+M7FFv+3NE5FsicoOIbBaRHSJyZdj8L4jI4yLyobe+j0WkexVxpYrIn8PW83cRSfWmdRSRGd5n7hGR2VWs418i8mClcf8VkR96738pIltFZJ+IrBaRsdXsqtOA9sCdwBWh7zhsvT/w1rFfRJaLyFBvfE8RedPbx7tF5BFv/AMi8kzY8n1FRMOG54jIb0VkLnAA6FHFuBu9s+H9IvK1iNxYKa5LRGSxt405InKWiEwQkS8rzfczEflPNdsfkYhcGLb+b0Tk15W3SUSuFZFc77u6yfuNLPO+v0dq+5mquk1V/wEsrCKm1iLytPf/mCsi90sViVVEBgHHAb9R1RJVfQVYDVwcYd5Mb/yztY057lTVXjF6ARuB71Qa9wBQBlyAS9ZpwAnAt4BEoA+wFrjNmz8RUKCXN/wCsBvIBpKAl4EX6jBvR2A/MN6b9iOgHLi2im15AHimmm39AzATSAdWAjeHTfse0MXb3iuAQqCTN+1G73OvAnzAg8Am4FEgBTgXKADSw7apABjtTX8cmFXF9v8NeANoA7TEnUn+1pv2R+Axb9uTgVOq2K7Tve9RvOF2QDHQCRjsxdrZm9Yb6FPNPnoW+LcXdz4wPmzaBGAzMBIQ4Figu7dNy4GHgQzv9zI60ncC9AU0bHiOF/tAbzsTqxh3Ae53J972FgNDvHWc7MV6hvf9dQf6e3HkA/3CPm9Z+DZVsx8qf0+ne/syARiK+82eH75N3ncV+j0Ue99rByALyAvbJ6d6cVX1OrFSLKne+rMqjX8b+Dvu99wJl1RuqGJ7vgssqzTuCeAvEea9HlgX72NTnY5n8Q6gKb+oOll8VMNyPwFe9d5HSgBPhM17IbC8DvNeD3waNk2AbVSfLMoq/ePNDJueDCz2Dhj/rWH7lgPnee9vBFaFTRvubUO7sHEFwHFh2/RC2LRWuCqFLuHb7x14SoCeYfN+O/SPCvwOeB04poZYE4AtwMne8C3A+977/sAO3IE0sYb1tMAlydBB8CngP2HTPwRujbDct4HtgK+K7+SZsOFIyeKeSsscNi7Cet8JxeLF+ccq5vsX7mwaYBjuIJ8Uxf/FIb/TCNMfC30mFcmiU6Xfw6Vhw2/hnVzV4X/0sGQBdMMlpJSwcVeF/94rreM6YE6lcX8Anoww7yfA3XWJNd4vq4aKj83hAyIywKva2C4i+4D7cdUVVdke9r4IdyCq7bxdw+NQ90vOrSHuf6tq67DXmWHLl+HOnI/DnQUf5FUhLPGqDPKBARy6fTvC3hcDAVXNqzQufBvD4y7AHTy6Voq1M+5MNPxz38GVqKCiBPOhV/Xy00gbrKpBXIlsgjfqCuBFb9oa4Me472unuKrFzpHWA1yKS17vecMvAueLSFtvuDvwdYTlugMbVTVQxXprsrmmcSJyvoh86VXx5ANnUfH9VBUXuO871GnjSuBlVS2vbYDiqmFnedVsBbgTiEN+/6pa+TdSebi6/4Ha6on77ewI++08jithICJrpKKx+iTcSUDLSutoiSu5HySuCngM8Hw9xtpgLFnER+Vb/f4Td7bdV1VbAvfgzvRjaRuuCA8cbHztVteVieuuezfwDPBnqWhz6QP8A3dG3k5VW+Pqc49k+w62UYhIK1zpYmuleXbgSkL9w5JbK1VtBaCq+1T1LlXtBVwE/FxETq3i814Cvuv9s4/AlUjw1vOCqo7GVUH5gN9XsY5rcAeQzSKy3VtnMhVJaDNwTITlNgM9RcQXYdoBXDVJSKREFem20uHtGmnAa17cnbzv530qvp+q4kJV53jrGI1LonU9CE4D/gN0976fJ6nj70NExsqhPY8qv06KYjWbcSdWbcN+Oy1VdQiAqvbXigbrucAKoK+IhH8XQ73x4a4GPlHVTXXZtnizZNE4ZOLOjg+IyEDgBw3wme8AI0TkAnE9su7A1QHXmpdonsHV016P6+3zG29yC9zBaZc36024ksWRuMA7G03BVcV8qqrbwmfwzsSfBP4qIh3EyRKRs7yYLxCRY7zYC4AArjrrMKo6H9gHTAFmqOp+bx0DReQ0L45i73XYOkSkJzAWOAdXXTMMdzD5ExW9op4EfiYiw71Y+4lruJ+Lq5P/nYiki0iad3AGV+13qoh0F5HWwORa7kdwZ9DJuO8nICLn46rVQp4CbvS2M8Hbh/3Dpj+POxkoVNUvwrb5RhHJiTKGTGCPqpaIyInA5XXYDgBUdZYe2mOv8mtuWIypuO0HSPG+R1R1M6666GERaeltd18ROaWKz1yJSwz3iOtUcRmuTeiNsM8S3Hf9TF23Ld4sWTQOP8adee7HlTJejvUHesX67wN/xh2MjgEWAaXVLDYxwplaO1zjeBvgPq8661pgkoicrKpLcQ3N83Clmf64LoZH4gVcktgNDKHqbqg/xlU1zcMlhPeBft60/sBHuCqEz4BHVPXTaj7zJeA7uAbqkBTgIS+O7bh98KsIy14FzFfVD1V1e+gFPAKMFJEBqvoSrp77ZVxieh1oo6p+4HzcwWczrjt2qLvn/3AHpGXeNk6vJv6IVDUfuMtbzx5v3e+ETf8cuAnX4aAA+Jiwkh3wHK7qsXKpojtuv0bjFuD34noH/hLXDTWmvBOkYlzbG0AOrqQWciWuQ8FKYC+uq2tVVYzg/pdO8ub9La5NJbwqdQyuCrTWvcUai1APD9PMedUcW4HLajhoxpWIvADkqOp98Y7FgIhkADtxHRA2hI3/ELhFVdfGLThTr46mC8JMPRORccAXuDOsX+C6sM6La1DmaHMr8Fl4ogBQ1TOqmN8cpSxZNG9jcNUqibg614tVtbpqKGMOEpFc3AnG+HjHYmLPqqGMMcbUyBq4jTHG1KjJVEO1b99ee/XqFe8wjDHmqLJw4cLdqlpjt/kmkyx69erFggUL4h2GMcYcVUQkqosErRrKGGNMjSxZGGOMqZElC2OMMTWyZGGMMaZGMUsWIjJVRHaKyPIqpou4p6PliMhSERkRNu0aEVnnva6JVYzGGGOiE8uSxTPAuGqmn4O7qVs/YBLuzpV49/e/F/fkuFHAvSLSJoZxGmOMqUHMkoWqzsbdxbIq44Hn1PkCaC0iXYCzcU+k2qOqe3GP6qwu6RhjjImxeF5n0Y1Dn9iV642ravxhRGQSrlRCjx49YhOlqXcl5QH8wUNvM5MgkJ5c8XMs9QcoD8T3VjSBoDJ/wx6WbimAKG+Lc2znTLq1TuOznN2U+SM+HuMw7TNTyO7Zlvkb95BXGJtbc6Um+zitf0e6t02veeYIduwr4aNVO9lfUusH4ZkG0LlVGld8K7bHwKP6ojxVnYJ7IA3Z2dl2k6ujwN9n5fDwe2sIRvi2BnTOZHiPNuzcV8Kn63ZTFojuYNsQJIrntlXOJ9EsU3m5aJepLVV46H9rjng9sYrPHJlh3Vs36WSxhUMfopLljduCe6pY+PhZDRaVqVYwqKzcto/9JX7m5OwiZ2chaUk+ThvQkaw2lc9alRVb9/HF+jwCQaW4PMjstbs4c1AnRvVqe8icJeUBZq3dxcyVO8hI8THxxB50bZXWcBtWhb4dWzC6b3uSE2uusQ0ElS835LFjXwmn9e9I6/TkqD4jZ2chCzbuYVTvtvTpUJ+Pkq6QV1jKh6t2UlBct5JBeoqP0wd0pEsj+E5MfMT0rrMi0gt4R1WPizDtPOA24FxcY/ajqjrKa+BeiHvWMcBXwEhVra79g+zsbLXbfdTOi19u4vOcPE4b0JH0ZB9zcnazr7ic0/p3JDM1keOzWh1ycMjZuZ9fv7mCuevdA8B8CcIxHTLYW1TOrv1VV590b5tGhlfFNKp3W+45fxCJPuu1bUxjICILVTW7pvliVrIQkZdwJYT23n3v7wWSAFT1CWAGLlHk4B6Ofp03bY+I/BaY763q/poShYnO5j1FPP3ZRhZu2kP3tum8s3QbaUk+/rvMPb46PdlHenIi7yyteJx1j7bp+BKEMn+QLfnFZCT7uO+CQfTp0ILBXVvSrkUKwaCydEtBxLPWrq1S6dcps8G20RgTG03meRZWsqjeht0H+P4/55JfVM6gri1ZsbWAsf078rcJw9mUV0R5IEifDhmkJPrI2VlIUZmfz3J2s3ZHIeDqqo/v1ooLh3WlY2ZqnLfGGFNf4l6yMI1HQVE5Vz75Jf6g8s4Px3Bsp0yKyvykJvpISBD6dz70zD80PLyHXd5ijHEsWTRxqsrk15eyY18Jr958Esd6VULh3VSNMaYm1sp4lMsrLOXOaYvYml9McVmAT9bu4vOc3ZSUB9iaX8wtL3zFu8u385Oz+1tJwRhTZ3Z6eZR7bu4m3ly8leLyAHmFZSzYtBeAtCQfJf4ASQkJ/OKcAUw6pU+cIzXGHM0sWRxlAkFlxrJtnHJsB9KTfbw07xvSkny8t2IHAPecP4jeHTL4ePVO2mWkcPHwbvRoV7erdo0xJsSSxVHmnaVbuWPaYrq0SmVU77bs3F/K3yeO4NEP13FCr7ZcP6Y3AKf17xjnSI0xTYkli0Zuz4Eynp+7ievG9KJlahJvLNpCh8wUWqcn896K7Qzr3pqzB3dm3ODOJCTYvRiMMbFhyaIRC3V5XbltHy3TEjl/SFc+XbebH5zSh5+NGxDv8IwxzYgli0Zqf0k5V0/9kpydhbTNSOaj1TsJBJVAULlkRMSb8BpjTMxYsmhkygNBnv18Iy/N+4ZNeUX848qRfLE+j+fnbiJnZyHZPdvQt6PdPsMY07DsOos4mbNuNyu2FhwyLhBU7np5MQ/8dxUtUhKZcvVIzhzUidMHdKQsEGRbQQm3nd43ThEbY5ozK1nEgapy58uLyWqTxpu3jj44fsrs9byzdBu/OGcAPzj1mIPjT+jVlhYpifRun8Gpx3aIR8jGmGbOkkUc7Nxfyu5C99pWUHzwNuDvLt/G8B6tD0kUAMmJCTx93Ql0zExB7Okzxpg4sGqoOFi+paL66b3l2wHYub+EpbkFnDEg8vURJ/RqS892GQ0SnzHGVGbJIg6Wb9mHiHtWxLtesvhkzS4AxtrFdMaYRsiSRRys2FpA7/YZXDYyi3kb97A0N5+PVu+kY2YKg7u2jHd4xhhzGEsWcbBi6z4Gd23FtaN70S4jmZufX8i7y7dz3pAu1iZhjGmULFk0sL0HytiSX8xxXVvSMjWJn509gK0FJZx6bAcmn2NXZRtjGifrDdXAFm12txAfktUagO9mZ5HVJo0RPduQkuiLZ2jGGFOlmJYsRGSciKwRkRwRmRxhek8R+VBElorILBHJCpsWEJHF3mt6LONsSF9u2EOSTxjewyULEeHkvu1JTbJEYYxpvGJWshARH/A4cCaQC8wXkemqujJstoeB51T1WRE5Hfg9cJU3rVhVh8Uqvoa2eHM+rdKSmLdhD0OzWltyMMYcVWJZDTUKyFHV9QAiMg0YD4Qni0HAj7z3HwNvxjCeuMkvKmPiv76gVVoSO/eX2lPrjDFHnVhWQ3UDNocN53rjwi0BLvHeXwxkikg7bzhVRBaIyBciclGkDxCRSd48C3bt2lWfsderpz/byIGyAFsLSvAHlVG928Y7JGOMqZV494b6CXCqiCwCTgW2AAFvWk9VzQauAP4qIsdUXlhVp6hqtqpmd+jQOO+ZdKDUz9OfbeDswZ047/guJPsSGNmzTbzDMsaYWollNdQWoHvYcJY37iBV3YpXshCRFsClqprvTdvi/V0vIrOA4cDXMYw3JuZt3MO+Ej9XndiL4T1aszHvAJmpSfEOyxhjaiWWJYv5QD8R6S0iycDlwCG9mkSkvYiEYvgFMNUb30ZEUkLzAKM5tK3jqLFo014SBIb3aE1GSiKDu7aKd0jGGFNrMUsWquoHbgPeA1YBr6jqChG5X0Qu9GYbC6wRkbVAJ+D/vPEDgQUisgTX8P1gpV5UR42vvslnQOeWZKTYJS3GmKNXTI9gqjoDmFFp3D1h718DXouw3OfA8bGMrSEEgsqib/ZysT0G1RhzlIt3A3eTtnbHfg6UBRjRwxq0jTFHN0sWMfTJWted13o/GWOOdpYsYuT9Fdv543trOPmYdvRomx7vcIwx5ohYsoiRh95bQ7+OLZhydbbddtwYc9SzZBEDqsrmPUWM6dueFtYLyhjTBFiyqEfrduzn0Q/XkXegjFJ/kG5t0uIdkjHG1As77a1H0+Zv5qk5GxjYxT0aNauNtVUYY5oGK1nUo5ydhQDMWrMTgG6trWRhjGkaLFnUo4pk4brMWjWUMaapsGRRTw6U+tmSXwzAlvxiMlMSaZVmNww0xjQNlizqyfpdBw4ZtlKFMaYpsWRRT9bt3A9UXK3dYO0VqvD1x+5v4U7YuqhhPrcxCe2D0sJDx+9eB/mbIy9jjKkV6w1VT3J2FpKYIJwxsCMLN+1tuJLFps/g+YtgwjRY/Q4sfRXuWAItu1S/nKp7hZQfgPlPwjdfQkomnPcnSG0Zu7hDny/iXkeyng/uhc8ege4nwvCJsG0pdBkKM34CXYfD9f+r3TqDwYr3CXY+ZQxYsqg3a3fsp1f7DAZ2dgfYBitZ7Fzl/m7+EjbPg0ApzH0Mzv4/KN0P62dBamvoNcYdlP2lsPAZ+PTPULj98PW16wd566D3KTDiqvqP118Knz8Knz8GJfnQ/lg47Zcw+OKal8372iWG3AUw4mroOBCWvgJrZsAxp7tt3fwFJCRC0A/ic/ulOB/SWle93mAANnwCxXth8b8h54OKaSfd5vZlvBTugv3boMuQ+MVQG6HvaPN8uOJl6DqsbusJfSeh0mJGB+hxovu9p7Wp+WTI1DtLFkdof0k5D7yzig9W7WTCqB4c160VrdKSGN5Qd5rN8x4e+PVHsHstJKbBgqlw4i3w6nWQO89NH/cHaNsH3rkL9uVCr29D9vUV6xGBPmMh6wR4ZAismh6bZDHzHvjyCTj2HHf2v+ptePVatx2n/KTq5Ur2wTPnQ1mhKy188gc3PqUlnP5rGPMjd3Dxl0L3UbDidcjoCK9c5cYPGn/4OoNBWPkmzPq923fgDkQn3w7JmZAzExa/CN/5Dfji8K9SkAtPnwP530DfM2HsZNi+1JX+ktIg+zq3DxuLkoKK7ygp3ZV4r38fOhwb/ToWvQAbPoWtX1V8JyFtesPeDZDZBa6b4b6r+U9Cl+HQ7zv1uy3mMKLhVRFHsezsbF2wYEGDfubXuwq5Zuo8tuYXc/Opx3DHd/qRkuhr0Bh44TJ3UAs592GYea87uJUUuCSx7n34Zi4EyqFDf3em3Gds1et871cwbwr8NAdSKz3ZL1AOezZUHAAqD4ds+hw+/h1sXQwpLWDUJGjZFd64GU64Ec572M0XDMCbt8DSlyG5BSDuM4df6UoKO1a44TY93Tbc8AFkjXQH0JJ90LpH1dVlgXJ4qI8rtVz4KBzIgx3L3bQDu2DOX2HHMugwEE79mSvltOnl4gVYOd0lm6vfqthfgXJXWgl6j4rvdJw7aK18E2Y/7OKqrNMguHaG+078pa4EqEGXoLuNhOSMw5cpK4Ipp8L+7XDCDa40WLzXTcvsCqX73EE5OdPFfPLtbv9mnQBJqZH3R2V71ruEGtreuijc6UpxmV3cichXz7rvKL0tPHmGO8Df8D5IAmxb7L6zDv0hs/Ph69q3FR4Z6qpB2/SCk26F9v3dtNx5sGSaK1189bwrNQMEy90Jw61fuu2PRnG+S7qhY1/n41284YIBV4L1l0ReR6ssaHdMdJ/XyInIQlXNrmk+K1kcgefnbmLX/lJe+cFJZPdqW/MCtbV1MeTOdwfXJS+5f7JuIw+dJy8HfCmu+gng+O+66pkXLnNno9/6AQw4F/5+MnTu7w58lRNAZQMvcFVZq2fAsAluXDAAy15zZ+F7N8ANM6G8GN7+IezdCNe8A74kWP467F7jDvQtOsGwK1yMH/7GradVd/jOvRWfleCD8X93/7D7trlxO5bDJw9CyyzXBrFzJWyY7aqEsrztb92j5v3nS3LVaTkfQtEeeGIM7N9aMb1tH7jkSTjuEhdHZX2/486QV71dkSxeu96VukKSMtyBY/ca6DDAK42FtcEU7XaJcMUbcPxl8NLlrhQY0uk4uOZt9/kLnnYHzNbdXcP87rVw1ZtwzGkw5i5Y8rKLue8Z7kTgq2ddMsn5AN6Y5NaXNQquet0dcKuzbQn863SX6Mb8yJUyq0oym+fBxjkw5HtuW0N258Az57p923EAbF926Hc07g/w+o3wytUuOW/+0vteUlwCD/8dprdziTYYgJs+dicH4TofV1ESHjrBlfgkwbVTvXY9TJvoEiW4kuXgi93v86tnYe+mivUESt13UVJQMS45E4672JXKAVBXutm1qvp9OOB8aBn2YLOkNBh+FbTvWzEuGHCft3ne4csnp8OIa6Btb9jyFSz/jzsZCUlp4aZX3hfgqvk2fur+31t3rz7OemIliyMw/rE5pCT5eOUHJ9XvivO+dj15Xr/JnUF2GwlbFrqzwNvmuX9wAH8Z/F8nV8Wy4g13ZnzbfDdt/3Y3X2JKxXBq6+jOOoNB+PuJrq780ifdGewnD8Gu1dDpeJcs+p/jSg++ZDe9dQ938AiUuvrlUZNckkv2bnmyczUU5bmz7LQoquj2bnRnq6H4d+e4f6pIB/XqrHjDVXO16OQOWJc+CS06u0TSdbj7W52Xr3KJ6rw/uQPMf38EJ/8Qjh0HgTJY9Lw7Qz/x/8Fxlx4eXzAIT4x2JYnhV8H7v4JTJ7sklv8NvH2H+04CftfJILVVxYFsxNVw4d9q3sZgwB1sdiyH//7YlbSSKpVWkjNg1E3eAVXd5+7b5k4sNnwCKa0qEkz7fnDs2e6AfCCvIsH6kt1vMKR4rztA9j/HfX72dTDyuooqO1V3MrFyujtzP/H/ud/oslfciYiGdSQo3eeGh02Ei/5e8zaH++o5+OA+tx+Cfvd7TG/n/j/K9ntJKSyB9xztJcc0V3L46ln3HYcfC1tludJaq0gHYq/33aLnXUkxpOyA24bMsPYUf7H73SdnHv7bKPPaY1p0gn1bXBJNSqs0Xdz0Qz4+WPGdJCS56V2GwISXottflURbsohpshCRccAjgA94UlUfrDS9JzAV6ADsAa5U1Vxv2jXA3d6sD6jqs9V9VkMni5LyAMfd+x43ndKHn48bUH8r3jwfnvLqX1v3dGe0Xz3rSglff+QSw/jH3UF411p4/AS46AnXFtD/HFfdUh/yN8PT50KBV60SaogeOB7eucP9gwJc+R/YsRJm/tr92G/5/NAzq8Zg9h/howfcP/9ZD9Ru2e3L3Znr7jVuuPMQd+ZbmzaMZa/Bf25w73uc5KqkQr2sNnwKS6dBYqpLDl2GQu5C17NtzJ01lwIrWzcTVrx5+Pjdayvar0K++ywMvsgdKJe95g62GnQllQM7XamnyzBXauh7Jix+AYr2VizvS4Rv3ewSzpHavc51Lhg16cgar0PtUF9/6A6kw65wJY2GULgTvvynOzELEeCYM2DQRYf3rNu3Deb903ViaHeMO7kKr1It2OKmH8g7/LM6HOtOWBa94Ep2bXrBqT+tU9hxTxYi4gPWAmcCucB8YIKqrgyb51XgHVV9VkROB65T1atEpC2wAMgGFFgIjFTVvZU/J6Shk8X8jXv47hNz+dfV2Zw5qFPNC0Trzf8HK9+CS6a4A0taG1fX23mIO+jN+j2ktXVnL216up5AN37kztzS2lTf66e2ivbAN1+4xNTr2xVnRqGE1nW4O3CWHXDVEcOvcmevjdH2ZdBxUO1LJuAOohvnuO3sNbr2B3BVd/ZeXuz245G0EdSVqiudFrr7lpHZ6fAqzZCyAy65dB5qXYebgcbQZjEKyFHV9V5A04DxwMqweQYBP/LefwyETonOBmaq6h5v2ZnAOKBu5awYWLjJ5a3hPerx4Fyyr6Jue8B5FeO7Dnd/x052B5uFz7iqoDUz3Ph2faKr2qmt9LauvaOyrGw45aeuR5OIO/j9YHb9f3596nx83ZdN8EGfU+u+fKinWTyJuO8tGskZFb85YzyxTBbdgPDLZ3OBb1WaZwlwCa6q6mIgU0TaVbFst0rLIiKTgEkAPXpE0eBZT8r8QWat2Umvdum0b5FS9xWpumJ/6Gx3xRtQXgTDr656mV6j3SvUi2jb0tgkiuqIwOl31zyfMabJiHcZ8yfAqSKyCDgV2AIEol1YVaeoaraqZnfo0CFWMR6ipDzAZU98zhfr9/C9E+rQC0EV1n3gGsbm/Bn+clxFI1nOB9CqR3RngAk+V1V1y+e1j8EYY2opliWLLUD40TTLG3eQqm7FlSwQkRbApaqaLyJbgLGVlp0Vw1ijNmfdbpbmFvCHS4/n+yfUoTSzfRm8eKm7jmDl21Ba4LqZ9jvL9S7qd2ZEJzLyAAAgAElEQVTtbn9hdcrGmAYQyyPNfKCfiPQWkWTgcmB6+Awi0l5EQjH8AtczCuA94CwRaSMibYCzvHFx99GanWQk+7ho+GG1YtHZ5fWqWfSCSxSJqa7f/u51rk9+z5PrL1hjjKknMStZqKpfRG7DHeR9wFRVXSEi9wMLVHU6rvTwexFRYDZwq7fsHhH5LS7hANwfauyOJ1Vl1uqdjO7bvu5XauflAOIupOkyzF1HsHqGew+uD7gxxjQyMb2CW1VnADMqjbsn7P1rwGtVLDuVipJGo7B2RyFbC0r44Rn96r6SvBx3Adv/+8Jd5LRmBix71V30ltHRXaFrjDGNjFV418Lcr3cDcMqxR9CYnpcD7fq6axd8ie5CupHXuas8jzn9yG7XbYwxMWL3hqqF/GJ335ZOLaO8UVtlqu5WHt3DehD7kuCCv8LYX0S+oZwxxjQClixqoagsQGpSAr6EOpz953xQca+adhFuh5FZj1eBG2NMPbNkUQtFZX7Sk+uwy8oOwCvXugvuoMnc2tgY03xYsqiFotIA6cl16AW14k1XogiJVLIwxphGzBq4a+FAmb9uyWLR8+5xpaff7XpChT8TwBhjjgKWLGqhqCxQ+2qo3evcE96GX+luvnfH0rrd+dQYY+LIqqFqoagsQEZKlAf6+U+5xz1uXwric0/3Ausaa4w5KlmyqIWisgBt0pOjm/mzv8L+He56imPHWW8nY8xRrcZqKO+W4QbXGyqqkkUw6J6CFSh1j54ccVXsgzPGmBiKpmTxhYgsBp4G3tWm8tDuOjhQGmWbRVEeBMuhz2nuoru+Z8Y+OGOMiaFoGriPBaYAVwHrROR3InJsbMNqnIpr6g21dyPMf9I9fB3ghBtg4qu1e16zMcY0QjUmC3VmquoE4CbgGmCeiHwiIifFPMJGIhhUisoDZFSXLOb8Bf77Y9i2xA237NowwRljTIzVeMrrtVlciStZ7ABuxz2XYhjwKtA7lgE2FiX+AKqQnlLFLlOFnI/c+/Wz3N9MSxbGmKYhmvqRucDzwEWqmhs2foGIPBGbsBqfojL3tNcqq6HycqDgG/d+/SzXXbZFx4YJzhhjYiyaZNG/qkZtVf1DPcfTaBWVhpJFFbss50P3NyERivdAy2528Z0xpsmIpoH7fRFpHRrwHnXaKB5x2pCKyv0AVbdZfP2Re3BR5yFuOLNLA0VmjDGxF02y6KCq+aEBVd0LNLv6lQNeySKtqmSxfal7TkWH/m7YGreNMU1INMkiICI9QgMi0hOI6loLERknImtEJEdEJkeY3kNEPhaRRSKyVETO9cb3EpFiEVnsveLeNlJU5pUsIjVwlxbC/m3ubrLtvV7FliyMMU1ING0WvwLmiMgngADfBibVtJCI+IDHgTOBXGC+iExX1ZVhs90NvKKq/xCRQbjndffypn2tqsOi3pIYmDpnA1M/28BHPx5bfQP3nq/d3/b9ICHJvbdkYYxpQmpMFqr6PxEZAZzojbpTVXdHse5RQI6qrgcQkWnAeCA8WSjQ0nvfCtgabeCxll9Uxv3vrDz4vqjMTy/ZRtfFj0DnuyEhrFCWl+P+tusLqa3BlwwdB8chamOMiY1ob1EeAHYC+4BBInJKFMt0AzaHDed648LdB1wpIrm4UsXtYdN6e9VTn4jItyN9gIhMEpEFIrJg165dUW5KdB79MOfg+8JSPwdKA5ybMI828/4Eq6YfOnOeV7Jo2wdadYOfrIO+Z9RrPMYYE0/R3EjwRmA28B7wG+/vffX0+ROAZ1Q1CzgXeF5EEoBtQA9VHQ78CPi3iLSsvLCqTlHVbFXN7tChQz2F5MzJqUg+RWUBissCtJBiN+LTh91FeCF5OdCqOySlueG01nYrcmNMkxJNyeIO4ARgk6qeBgwH8qtfBIAtQPew4SxvXLgbgFcAVHUukAq0V9VSVc3zxi8Evsbdo6rBbM0voX+nTMArWZT5ycBLFtuXwbr3Ye178OyFsHWxPVfbGNOkRdPAXaKqJSKCiKSo6moR6R/FcvOBfiLSG5ckLgeuqDTPN8AZwDMiMhCXLHaJSAdgj6oGRKQP0A9YH+1GHal9JeUUlvrp16kFa3bsp6jMT3FZgF4Jpe76iYQk+OQhd/vxUON274g1ZcYY0yREU7LI9S7KexOYKSJvAZtqWkhV/cBtuGqrVbheTytE5H4RudCb7cfATSKyBHgJuNa7WvwUYKl3a/TXgJtVdU9tN66utua7EkS/jqGSRYADZX5aJpRAWhsYcydsWeASRbeRbqF2fRsqPGOMaXDR9Ia62Ht7n4h8jOu19L9oVq6qM3AN1+Hj7gl7vxIYHWG5/wD/ieYzYuFgsujUAoCiUj9FpQGXLJJbwLCJMPuPkNoKrnkbZv0eBl4Qr3CNMSbmqk0W3rUSK1R1AICqftIgUcXZlvwSAPp1dMmisNRPUVmAFlICKe0hKRWu/a/rIpucAWc9EM9wjTEm5qpNFl6bwRoR6aGq3zRUUPG2Nb+YJJ/Qs10G4HpDHWzgTnFVU9agbYxpTqJp4G4DrBCRecCB0EhVvbDqRY5u2/KL6dwqleTEBFISEzhQ5koW6RRDcma8wzPGmAYXTbL4dcyjaGS25pfQpZW7ZiIjJZEDpX4KistJ02JIaRHn6IwxpuFF02Zxn3d9RbOxJb+YUb3bApCR4qOoNMDewlJSg8WugdsYY5qZarvOqmoACIpIqwaKJ+4CQWX7vhK6tk4FICM5kf2lfkpLCkkgWNFmYYwxzUg01VCFwDIRmcmhbRY/jFlUcbRzfwmBoNK1tauGSk/2sb2ghLSgd/W2VUMZY5qhaJLF696rWfgmrwiA7m3SAddmsXxLAa1C94WyBm5jTDMUzUV5zzZEII3FN3tcsujR1ksWyYnsLSqnq7hrL6xkYYxpjmpMFiKygQhPxlPVPjGJKM427y0mQThYDRV6Ml7mwZKFJQtjTPMTTTVUdtj7VOC7QNvYhBN/m/cU0aVVGsmJru0/I8U9Ge/gHWetgdsY0wzVeCNBVc0Le21R1b8C5zVAbHHxzZ6ig1VQAOnJLp9mEKqGsmRhjGl+oqmGGhE2mIAraURTIjkqfbOniNP6VzxIqYVXsmiZ4CULq4YyxjRD0Rz0/xT23g9sAL4Xm3Diq7gswK79pRFLFh2SyyGINXAbY5qlaHpDNZurtzfv9brNhiWLFl4Dd9ukMigFkjLiEZoxxsRVNM/g/p338KPQcBsRaZL35A5dY3FIycKrhmqbWOqusUiI5nlRxhjTtERz5DtHVQ8+c1tV9wLnxi6k+NlW4Ho8dWuTdnBchlcN1Sqh1KqgjDHNVjTJwiciKaEBEUkDUqqZ/6h1oCwAQGZKEqhCzof0Wf8CQMVT8owxphmKpoH7ReBDEXnaG74OaJJXdZeUu2SRkpgA7/4M5k2hJ9CGJ8gQuz25Mab5iuY6iz8ADwADvddvVfWhaFYuIuO8J+3liMjkCNN7iMjHIrJIRJaKyLlh037hLbdGRM6OfpPqrrg8QHJigru77JJpB+8DlSElZKiVLIwxzVc011n0Bmap6v+84TQR6aWqG2tYzgc8DpwJ5ALzRWS6qq4Mm+1u4BVV/YeIDAJmAL2895cDg4GuwAcicqx3y/SYKS0PkpqYADuWQ+k+GHgBrHqbE7ok04oSSOkay483xphGK5o2i1dxVxiEBLxxNRkF5KjqelUtA6YB4yvNo0BL730rYKv3fjwwTVVLVXUDkOOtL6ZKygOkJvlg0+duRN8zAfjLRX1JCxZZNZQxptmKJlkkegd7ALz3yVEs1w3YHDac640Ldx9wpYjk4koVt9diWURkkogsEJEFu3btiiKk6pWUB0hL9sGmz6B1D+jQ300oK3Qvq4YyxjRT0SSLXSJyYWhARMYDu+vp8ycAz6hqFq477vMiEvWFDKo6RVWzVTW7Q4cONS9Qg5LyIKm+BNg0F3qOrkgOZYVQWmglC2NMsxVNb6ibgRdF5DFAcGf8V0ex3Bage9hwljcu3A3AOABVnSsiqUD7KJetd8XlAY5N2AxFu6HnyZDsXa1dvBcCpfbgI2NMsxVNb6ivVfVEYBAwUFVPBvZHse75QD8R6S0iybgG6+mV5vkGOANARAbiboG+y5vvchFJ8RrY+wHzotymOispD3BCYLEbOOb0ipLF/h3ur91x1hjTTNXm7rGJwKUicgWuC221XYNU1S8itwHvAT5gqqquEJH7gQWqOh34MfAvEbkL19h9raoqsEJEXgFW4m5eeGuse0IBlPiDDC9fCO37Q6ssKPeeYVG43f21aihjTDNVbbLwrtYeD1wBDAcygYuA2dGsXFVn4Bquw8fdE/Z+JTC6imX/D/i/aD6nvmhZEQNKl8Gwm9yIxFSQBNjvJQtr4DbGNFNVVkOJyL+BtbjrJP4G9AL2quosVQ1WtdzRrH/JMpK03FVBAYi4dor9VrIwxjRv1bVZDAL2AquAVV410GHP4m5Kuvq/cW+6jawYmZwRVrKwNgtjTPNUZbJQ1WG4hxxl4q6gngNkikinhgquofkCoafhhT2zIjkDCq2B2xjTvFXbG0pVV6vqvao6ALgDdwPB+SLyeYNE18ASgyUESQBf2DWHKS0g1LZu1VDGmGYq6t5QqroQWCgiPwW+HbuQ4kNVSQqW4k9MIVmkYkJ4o7Y1cBtjmqnadJ0FwOvaGlVvqKNJqT9IGqUEfKmHTghPEFYNZYxppuwZoZ7isgCpUh4hWXjtF4mp4Etq+MCMMaYRsGThKfEHSI1YsvCShVVBGWOasaiThYicKCL/E5FZInJRLIOKh5LyIKmUoYmVkkWo6skat40xzViVbRYi0llVt4eN+hFwMe5mgl8Cb8Y4tgZVUh4gjTKCiWmHTjhYsrD2CmNM81VdA/cTIvIV8JCqlgD5wGW4ByHta4jgGlJJeYBUKYPEVodOCCULK1kYY5qx6i7KuwhYBLwjIlcDdwIpQDvc/aGalGKvZEFS+qETQm0V1hPKGNOM1XRR3tvA2bhHnr4BrFXVR1X1yB9L18iUlgdJoQxJqqLrrDVwG2OasepuJHihiHwM/A9YDnwfGC8i00TkmIYKsKGUlAdIk1IkuVLJIlT9ZNVQxphmrLo2iweAUUAa8J6qjgJ+LCL9cLcOv7wB4mswrutsGQmVk4U1cBtjTLXJogC4BEgHdoZGquo6mliiANd1No0ygoclCytZGGNMdW0WF+MasxNxDz9q0opL/aRJGb4Ua+A2xpjKqixZqOpu3EOPmoXysiKAw5NFWhv3N71dA0dkjDGNR0xv9yEi40RkjYjkiMjkCNP/IiKLvddaEckPmxYImzY9lnECBEpdskisnCwyO8G1M2DwJbEOwRhjGq1a33U2WiLiAx7HPZY1F/ccjOnec7cBUNW7wua/Hfec75Bi7wFMDSJYVuziSEo7fGKviI8JN8aYZiOWJYtRQI6qrlfVMmAaML6a+ScAL8UwnmoFSw+4N5UvyjPGGBPTZNEN2Bw2nOuNO4yI9AR6Ax+FjU4VkQUi8kVVNy4UkUnePAt27Tqy6wQDXsmCyjcSNMYY02huUX458Jpq6PmlAPRU1WxcT6y/RroQUFWnqGq2qmZ36NDhiALQci9ZWMnCGGMOE8tksQXoHjac5Y2L5HIqVUGp6hbv73pgFoe2Z9S7imRhJQtjjKkslsliPtBPRHqLSDIuIRzWq0lEBgBtgLlh49qISIr3vj0wGlhZedn6JP5QsojQwG2MMc1czHpDqapfRG4D3gN8wFRVXSEi9wMLVDWUOC4HpnnP9g4ZCPxTRIK4hPZgeC+qmAiVLCo/z8IYY0zskgWAqs4AZlQad0+l4fsiLPc5cHwsY6sswUoWxhhTpcbSwB134i9xb6yB2xhjDmPJwuMLhJKFNXAbY0xlliw8iQErWRhjTFUsWXh8wRKC+MCXFO9QjDGm0bFk4UkMlFCekBLvMIwxplGyZAEEgkqyluH3WXuFMcZEYskCKPUHSJVSApYsjDEmIksWuEeqplJG0JKFMcZEZMkCKCkPuOdvW7IwxpiILFkAxeUBUilD7RoLY4yJyJIFrmSRKmWoz271YYwxkViywLVZJOOHxOR4h2KMMY2SJQugtDxAMuVIol1nYYwxkViyAEr8AVIoR6zNwhhjIrJkARSXBUkWPwlJVrIwxphILFngGriTKcdnJQtjjIkopg8/OlpYNZQxxlTPkgWh3lDlBC1ZGGNMRDGthhKRcSKyRkRyRGRyhOl/EZHF3mutiOSHTbtGRNZ5r2tiGWdJWTnJEsCXbMnCGGMiiVnJQkR8wOPAmUAuMF9EpqvqytA8qnpX2Py3A8O9922Be4FsQIGF3rJ7YxGrv9Q9fzvRkoUxxkQUy5LFKCBHVderahkwDRhfzfwTgJe892cDM1V1j5cgZgLjYhVoeZl7Sp4kWrIwxphIYpksugGbw4ZzvXGHEZGeQG/go9osKyKTRGSBiCzYtWtXnQMNeMnCruA2xpjIGkvX2cuB11Q1UJuFVHWKqmaranaHDh3q/OH+ULLw2XUWxhgTSSyTxRage9hwljcuksupqIKq7bJHLOAvdW+sGsoYYyKKZbKYD/QTkd4ikoxLCNMrzyQiA4A2wNyw0e8BZ4lIGxFpA5zljYuJYJlr4LZqKGOMiSxmvaFU1S8it+EO8j5gqqquEJH7gQWqGkoclwPTVFXDlt0jIr/FJRyA+1V1T6xiDZZbycIYY6oT04vyVHUGMKPSuHsqDd9XxbJTgakxCy78s/yhNgsrWRhjTCSNpYE7rvRgycIauI0xJhK73QegfksWxtSH8vJycnNzKSkpiXcoppLU1FSysrJISkqq0/KWLAACXrKwrrPGHJHc3FwyMzPp1asXIhLvcIxHVcnLyyM3N5fevXvXaR1WDQXgL3N/rYHbmCNSUlJCu3btLFE0MiJCu3btjqjEZ8kCSAiVLKzrrDFHzBJF43Sk34slCyAhaNVQxhhTnWafLPyBIL5guRuwBm5jjmp5eXkMGzaMYcOG0blzZ7p163ZwuKysLKp1XHfddaxZs6baeR5//HFefPHF+giZMWPG0L9/f4YMGcKAAQO4/fbbKSgoqHaZYDDIgw8+WC+fH61mnyxK/EFSsGRhTFPQrl07Fi9ezOLFi7n55pu56667Dg4nJ7tqZlUlGAxWuY6nn36a/v37V/s5t956KxMnTqy3uF9++WWWLl3K0qVL8fl8XHLJJdXOH49k0ex7Q4Wevw1YNZQx9eg3b69g5dZ99brOQV1bcu8Fg2u9XE5ODhdeeCHDhw9n0aJFzJw5k9/85jd89dVXFBcX8/3vf5977nHXC48ZM4bHHnuM4447jvbt23PzzTfz7rvvkp6ezltvvUXHjh25++67ad++PXfeeSdjxoxhzJgxfPTRRxQUFPD0009z8sknc+DAAa6++mpWrVrFoEGD2LhxI08++STDhg2rMs7k5GQefvhh+vTpw4oVKxg8eDAXXHABW7dupaSkhLvuuosbb7yRyZMns3//foYNG8aQIUN47rnnIs5Xn5p9yaJFSiKXDO2AJiRBQrPfHcY0WatXr+auu+5i5cqVdOvWjQcffJAFCxawZMkSZs6cycqVKw9bpqCggFNPPZUlS5Zw0kknMXVq5JtKqCrz5s3jj3/8I/fffz8Af/vb3+jcuTMrV67k17/+NYsWLYoqzsTERIYMGcLq1asBePbZZ1m4cCHz58/nz3/+M3v37uXBBx8kMzOTxYsX89xzz1U5X31q9iWL1CQfPVv6rArKmHpWlxJALB1zzDFkZ2cfHH7ppZd46qmn8Pv9bN26lZUrVzJo0KBDlklLS+Occ84BYOTIkXz66acR1x2qNho5ciQbN24EYM6cOfz85z8HYOjQoQweHP3+CLtVHn/5y1+YPt3dSi83N5evv/46Yukk0nzh23ukmn2yANxFeZYsjGnSMjIyDr5ft24djzzyCPPmzaN169ZceeWVEa9BCLVzAPh8Pvx+f8R1p6Sk1DhPtPx+P8uXL2fgwIF88MEHzJ49my+++IK0tDTGjBkTMc5o5zsSVu8C4C+19gpjmpF9+/aRmZlJy5Yt2bZtG++9V/9PQBg9ejSvvPIKAMuWLYtYzVVZWVkZP//5z+nbty+DBg2ioKCAtm3bkpaWxooVK5g/392IOzHRneeHElNV89UnK1mASxZ2QZ4xzcaIESMYNGgQAwYMoGfPnowePbreP+P222/n6quvZtCgQQdfrVq1ijjv97//fVJSUigtLeWss87i9ddfB+C8885jypQpDBo0iP79+/Otb33r4DI33HADQ4YMITs7mylTplQ5X32R8Lqxo1l2drYuWLCgbgu/cjXsWgO3flm/QRnTzKxatYqBAwfGO4xGwe/34/f7SU1NZd26dZx11lmsW7fuYKkgHiJ9PyKyUFVrbNywkgV41VBWsjDG1J/CwkLOOOMM/H4/qso///nPuCaKI3X0Rl6f/KV2E0FjTL1q3bo1CxcujHcY9cYauAECZdYbyhhjqmHJAsBfYtVQxhhTjZgmCxEZJyJrRCRHRCZXMc/3RGSliKwQkX+HjQ+IyGLvNT2WceIvs2ooY4ypRszaLETEBzwOnAnkAvNFZLqqrgybpx/wC2C0qu4VkY5hqyhW1apvolKfAtZ11hhjqhPLksUoIEdV16tqGTANGF9pnpuAx1V1L4Cq7oxhPFXzl1jJwpgm4LTTTjvsAru//vWv3HLLLdUu16JFCwC2bt3KZZddFnGesWPHEql7/tixYw+5xfhtt91Gfn5+jbH+7ne/q3GexiSWyaIbsDlsONcbF+5Y4FgR+UxEvhCRcWHTUkVkgTf+okgfICKTvHkW7Nq1q+6R+suszcKYJmDChAlMmzbtkHHTpk1jwoQJUS3ftWtXXnvttVp/7osvvnjwFuMpKSmMH1/5vPhwR1uyiHfX2USgHzAWyAJmi8jxqpoP9FTVLSLSB/hIRJap6tfhC6vqFGAKuIvy6hyFv8R6QxlT396dDNuX1e86Ox8P51T9HIfLLruMu+++m7KyMpKTk9m4cSNbt27l29/+NoWFhYwfP569e/dSXl7OAw88cNhBfePGjZx//vksX76c4uJirrvuOpYsWcKAAQMoLi6uMbzk5GQeeugh+vbty5IlSxg6dCgXXXQRmzdvpqSkhDvuuINJkyYxefJkiouLGTZsGIMHD+bFF1+MOF9jEstksQXoHjac5Y0Llwt8qarlwAYRWYtLHvNVdQuAqq4XkVnAcOBrYsG6zhrTJLRt25ZRo0bx7rvvMn78eKZNm8b3vvc9RITU1FTeeOMNWrZsye7duznxxBO58MILq3w29T/+8Q/S09NZtWoVS5cuZcSIEVHF4PP5GDp0KKtXr2bo0KFMnTqVtm3bUlxczAknnMCll17Kgw8+yGOPPcbixYsPLhdpvnbt2tXLfqkPsUwW84F+ItIblyQuB66oNM+bwATgaRFpj6uWWi8ibYAiVS31xo8GHopZpHYjQWPqXzUlgFgKVUWFksVTTz0FuNt+//KXv2T27NkkJCSwZcsWduzYQefOnSOuZ/bs2fzwhz8EYMiQIQwZMiTqGMJvo/Too4/yxhtvALB582bWrVsXMQlEO1+8xCxZqKpfRG4D3gN8wFRVXSEi9wMLVHW6N+0sEVkJBICfqmqeiJwM/FNEgrh2lQfDe1HVq4AfNGAN3MY0EePHj+euu+7iq6++oqioiJEjRwKuXWHXrl0sXLiQpKQkevXqVe+38QYIBAIsW7aMgQMHMmvWLD744APmzp1Leno6Y8eOjfiZ0c4XTzFts1DVGcCMSuPuCXuvwI+8V/g8nwPHxzK2gwKl7q91nTWmSWjRogWnnXYa119//SEN2wUFBXTs2JGkpCQ+/vhjNm3aVO16TjnlFP79739z+umns3z5cpYuXVrjZ5eXl/OrX/2K7t27M2TIEN566y3atGlDeno6q1ev5osvvjg4b1JSEuXl5SQlJVFQUFDlfI2FXcHt95KFVUMZ02RMmDCBJUuWHJIsJk6cyIIFCzj++ON57rnnGDBgQLXruOWWWygsLGTgwIHcc889B0sokUycOJEhQ4Zw3HHHceDAAd566y0Axo0bh9/vZ+DAgUyePJkTTzzx4DKTJk1iyJAhTJw4sdr5Ggu7RXlxPrxzJwy/Evp+p/4DM6YZsVuUN252i/IjkdYavvtMvKMwxphGzaqhjDHG1MiShTGmXjWVqu2m5ki/F0sWxph6k5qaSl5eniWMRkZVycvLIzW17pcIWJuFMabeZGVlkZubyxHdq83ERGpqKllZWXVe3pKFMabeJCUl0bt373iHYWLAqqGMMcbUyJKFMcaYGlmyMMYYU6MmcwW3iOwCqr/ZS2Ttgd31HM7RyvaFY/uhgu0Lpynvh56q2qGmmZpMsqgrEVkQzaXuzYHtC8f2QwXbF47tB6uGMsYYEwVLFsYYY2pkycJ7hrcBbF+E2H6oYPvCafb7odm3WRhjjKmZlSyMMcbUyJKFMcaYGjXrZCEi40RkjYjkiMjkeMfTkERko4gsE5HFIrLAG9dWRGaKyDrvb5t4xxkLIjJVRHaKyPKwcRG3XZxHvd/IUhEZEb/I61cV++E+Edni/S4Wi8i5YdN+4e2HNSJydnyirn8i0l1EPhaRlSKyQkTu8MY3u99EdZptshARH/A4cA4wCJggIoPiG1WDO01Vh4X1H58MfKiq/YAPveGm6BlgXKVxVW37OUA/7zUJ+EcDxdgQnuHw/QDwF+93MUxVZwB4/xuXA4O9Zf7u/Q81BX7gx6o6CDgRuNXb3ub4m6hSs00WwCggR1XXq2oZMA0YH+eY4m088Kz3/lngojjGEjOqOhvYU2l0Vds+HnhOnS+A1iLSpWEija0q9kNVxgPTVLVUVTcAObj/oaOeqm5T1a+89/uBVUA3muFvojrNOVl0AzaHDed645oLBd4XkYUiMskb10lVt3nvtwOd4hNaXFS17c3xd3KbV70yNYXGyNcAAAOWSURBVKwqslnsBxHpBQwHvsR+E4dozsmiuRujqiNwRepbReSU8Inq+lQ3y37VzXnbcVUqxwDDgG3An+IbTsMRkRbAf4A7VXVf+LRm/psAmney2AJ0DxvO8sY1C6q6xfu7E3gDV6WwI1Sc9v7ujF+EDa6qbW9WvxNV3aGqAVUNAv+ioqqpSe8HEUnCJYoXVfV1b7T9JsI052QxH+gnIr1FJBnXeDc9zjE1CBHJEJHM0HvgLGA5bvuv8Wa7BngrPhHGRVXbPh242usBcyJQEFY10eRUqnu/GPe7ALcfLheRFBHpjWvcndfQ8cWCiAjwFLBKVf8cNsl+E2Ga7WNVVdUvIrcB7wE+YKqqrohzWA2lE/CG+x8hEfi3qv5PROYDr4jIDbjbvX8vjjHGjIi8BIwF2otILnAv8CCRt30GcC6uQbcIuK7BA46RKvbDWBEZhqty2Qj8AEBVV4jIK8BKXO+hW/9/e/cTInMYx3H8/SGHLSVRUmgPnOTf5sTN1dFBkjsHnLRydnLS4sJBinLjKFqSorj4c5cbxYHa0qbp6zDPthPWb3dZo/b9qmmevjM9/Z6a+s7ze2a+36rqDeO6l8B+4BjwJsnLFjvHMvxM/I7lPiRJnZbzbShJ0jyZLCRJnUwWkqROJgtJUieThSSpk8lC6pCkN1CF9eXfrFCcZHSw6qv0v1q2/7OQFuBrVe0e9kVIw+TOQlqk1hPkQusL8jzJ1hYfTfKwFeObTLKlxTckuZPkVXvsa1OtTHKt9VK4n2Skvf9U67HwOsntIS1TAkwW0nyM/HAb6vDAa1+qagdwGbjYYpeAG1W1E7gFTLT4BPC4qnYBY8BMxYBtwJWq2g58Bg61+FlgT5vn+FItTpoP/8EtdUgyVVWrfxF/BxyoqretEN2HqlqX5BOwsaq+tfj7qlqf5COwqaqmB+YYBR60BjskGQdWVdX5JPeAKeAucLeqppZ4qdKc3FlIf6bmGC/E9MC4x+xZ4kH63RzHgBdJPGPU0JgspD9zeOD5WRs/pV/FGOAo8KSNJ4ET0G/rm2TNXJMmWQFsrqpHwDiwBvhpdyP9K35TkbqNDFQjBbhXVTM/n12b5DX93cGRFjsJXE9yBvjIbFXS08DVVsW0Rz9xzFXaeiVwsyWUABNV9fmvrUhaIM8spEVqZxZ7q+rTsK9FWmrehpIkdXJnIUnq5M5CktTJZCFJ6mSykCR1MllIkjqZLCRJnb4D5IM8V8fstWUAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11498b2b0"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Accuracy 99.83291562238931% and Valid Accuracy: 90.7035175879397%\n"
]
}
],
"source": [
"lams = [1e-3, 1e-8, 1e-6, 1e-7]\n",
"for lam in lams:\n",
" textModel2 = LogReg(X_train, y_train, X_valid, y_valid)\n",
" textModel2.train(eta=0.43, lam=lam, num_epochs=10)\n",
" train_acc2 = textModel2.accuracy(X_train, y_train)\n",
" valid_acc2 = textModel2.accuracy(X_valid, y_valid)\n",
"\n",
" plt.plot(range(1, len(textModel2.train_history)+1), textModel2.train_history, label='Training Data')\n",
" plt.plot(range(1, len(textModel2.valid_history)+1), textModel2.valid_history, label='Valid Data')\n",
" plt.ylabel('% Accurracy')\n",
" plt.xlabel('Epochs')\n",
" plt.title('Training Examples vs Accurracy, lam=' + str(lam))\n",
" plt.legend()\n",
" plt.show()\n",
" print('Training Accuracy ' + str(train_acc2*100) + '% and Valid Accuracy: ' + str(valid_acc2*100) +'%')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### The best `lambda` value ended up being equal to `1e-6` "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part F**: Finally, go back to your LogReg class and complete the `best_text_features` function to print the 10 best predictive words for each class. Show your results here and also **briefly** explain mathematically how you arrived at them. Do they seem to make sense given what you know about baseball and hockey? "
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"best words for class 0\n",
"----------------------\n",
"pitching\n",
"morris\n",
"runs\n",
"cubs\n",
"better\n",
"clemens\n",
"yankees\n",
"prime\n",
"hit\n",
"majors\n",
"\n",
"best words for class 1\n",
"----------------------\n",
"biggest\n",
"whos\n",
"sanderson\n",
"playoffs\n",
"nhl\n",
"ice\n",
"playoff\n",
"leafs\n",
"penguins\n",
"hockey\n"
]
}
],
"source": [
"bestWords = LogReg(X_train, y_train, X_valid, y_valid)\n",
"bestWords.train(eta=0.43, lam=1e-6, num_epochs=10)\n",
"bestWords.best_text_features(vocab)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Since our betas represent our learned weights as we train over the data, we know that our heighest beta values correlate to how strong that word is against the prediction of it being $y=1$ or correlated with Hockey. We also know that our smallest beta values correlate to how strong words are against being correlated to Baseball or $y=0$"
]
},
{
"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.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}