Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`DecisionFork` holds the attribute, which is tested at that node, and a dict of branches. The branches store the child nodes, one for each of the attribute's values. Calling an object of this class as a function with input tuple as an argument returns the next node in the classification path based on the result of the attribute test."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource DecisionLeaf"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The leaf node stores the class label in `result`. All input tuples' classification paths end on a `DecisionLeaf` whose `result` attribute decide their class."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource DecisionTreeLearner"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The implementation of `DecisionTreeLearner` provided in [learning.py](https://github.com/aimacode/aima-python/blob/master/learning.py) uses information gain as the metric for selecting which attribute to test for splitting. The function builds the tree top-down in a recursive manner. Based on the input it makes one of the four choices:\n",
"<ol>\n",
"<li>If the input at the current step has no training data we return the mode of classes of input data recieved in the parent step (previous level of recursion).</li>\n",
"<li>If all values in training data belongs to the same class it returns a `DecisionLeaf` whose class label is the class which all the data belongs to.</li>\n",
"<li>If the data has no attributes that can be tested we return prurality value of class of training data.</li>\n",
"<li>We choose the attribute which gives highest amount of entropy gain and return a `DecisionFork` which splits based of this attribute. Each branch recursively calls `decision_tree_learning` to constructs the sub-tree.</li>\n",
"</ol>"
]
},
"## NAIVE BAYES LEARNER\n",
"\n",
"### Overview\n",
"\n",
"The Naive Bayes algorithm is a probabilistic classifier, making use of [Bayes' Theorem](https://en.wikipedia.org/wiki/Bayes%27_theorem). The theorem states that the conditional probability of **A** given **B** equals the conditional probability of **B** given **A** multiplied by the probability of **A**, divided by the probability of **B**.\n",
"$$P(A|B) = \\dfrac{P(B|A)*P(A)}{P(B)}$$\n",
"From the theory of Probabilities we have the Multiplication Rule, if the events *X* are independent the following is true:\n",
"\n",
"$$P(X_{1} \\cap X_{2} \\cap ... \\cap X_{n}) = P(X_{1})*P(X_{2})*...*P(X_{n})$$\n",
"\n",
"For conditional probabilities this becomes:\n",
"\n",
"$$P(X_{1}, X_{2}, ..., X_{n}|Y) = P(X_{1}|Y)*P(X_{2}|Y)*...*P(X_{n}|Y)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
"#### Classifying an Item\n",
"\n",
"How can we use the above to classify an item though?\n",
"\n",
"We have a dataset with a set of classes (**C**) and we want to classify an item with a set of features (**F**). Essentially what we want to do is predict the class of an item given the features.\n",
"\n",
"For a specific class, **Class**, we will find the conditional probability given the item features:\n",
"\n",
"$$P(Class|F) = \\dfrac{P(F|Class)*P(Class)}{P(F)}$$\n",
"\n",
"We will do this for every class and we will pick the maximum. This will be the class the item is classified in.\n",
"\n",
"The features though are a vector with many elements. We need to break the probabilities up using the multiplication rule. Thus the above equation becomes:\n",
"\n",
"$$P(Class|F) = \\dfrac{P(Class)*P(F_{1}|Class)*P(F_{2}|Class)*...*P(F_{n}|Class)}{P(F_{1})*P(F_{2})*...*P(F_{n})}$$\n",
"\n",
"The calculation of the conditional probability then depends on the calculation of the following:\n",
"\n",
"*a)* The probability of **Class** in the dataset.\n",
"\n",
"*b)* The conditional probability of each feature occuring in an item classified in **Class**.\n",
"\n",
"*c)* The probabilities of each individual feature.\n",
"\n",
"For *a)*, we will count how many times **Class** occurs in the dataset (aka how many items are classified in a particular class).\n",
"\n",
"For *b)*, if the feature values are discrete ('Blue', '3', 'Tall', etc.), we will count how many times a feature value occurs in items of each class. If the feature values are not discrete, we will go a different route. We will use a distribution function to calculate the probability of values for a given class and feature. If we know the distribution function of the dataset, then great, we will use it to compute the probabilities. If we don't know the function, we can assume the dataset follows the normal (Gaussian) distribution without much loss of accuracy. In fact, it can be proven that any distribution tends to the Gaussian the larger the population gets (see [Central Limit Theorem](https://en.wikipedia.org/wiki/Central_limit_theorem)).\n",
"\n",
"*NOTE:* If the values are continuous but use the discrete approach, there might be issues if we are not lucky. For one, if we have two values, '5.0 and 5.1', with the discrete approach they will be two completely different values, despite being so close. Second, if we are trying to classify an item with a feature value of '5.15', if the value does not appear for the feature, its probability will be 0. This might lead to misclassification. Generally, the continuous approach is more accurate and more useful, despite the overhead of calculating the distribution function.\n",
"\n",
"The last one, *c)*, is tricky. If feature values are discrete, we can count how many times they occur in the dataset. But what if the feature values are continuous? Imagine a dataset with a height feature. Is it worth it to count how many times each value occurs? Most of the time it is not, since there can be miscellaneous differences in the values (for example, 1.7 meters and 1.700001 meters are practically equal, but they count as different values).\n",
"\n",
"So as we cannot calculate the feature value probabilities, what are we going to do?\n",
"\n",
"Let's take a step back and rethink exactly what we are doing. We are essentially comparing conditional probabilities of all the classes. For two classes, **A** and **B**, we want to know which one is greater:\n",
"\n",
"$$\\dfrac{P(F|A)*P(A)}{P(F)} vs. \\dfrac{P(F|B)*P(B)}{P(F)}$$\n",
"\n",
"Wait, **P(F)** is the same for both the classes! In fact, it is the same for every combination of classes. That is because **P(F)** does not depend on a class, thus being independent of the classes.\n",
"\n",
"So, for *c)*, we actually don't need to calculate it at all."
]
},
{
"cell_type": "markdown",
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
"metadata": {},
"source": [
"#### Wrapping It Up\n",
"\n",
"Classifying an item to a class then becomes a matter of calculating the conditional probabilities of feature values and the probabilities of classes. This is something very desirable and computationally delicious.\n",
"\n",
"Remember though that all the above are true because we made the assumption that the features are independent. In most real-world cases that is not true though. Is that an issue here? Fret not, for the the algorithm is very efficient even with that assumption. That is why the algorithm is called **Naive** Bayes Classifier. We (naively) assume that the features are independent to make computations easier."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"The implementation of the Naive Bayes Classifier is split in two; Discrete and Continuous. The user can choose between them with the argument `continuous`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Discrete\n",
"\n",
"The implementation for discrete values counts how many times each feature value occurs for each class, and how many times each class occurs. The results are stored in a `CountinProbDist` object."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With the below code you can see the probabilities of the class \"Setosa\" appearing in the dataset and the probability of the first feature (at index 0) of the same class having a value of 5. Notice that the second probability is relatively small, even though if we observe the dataset we will find that a lot of values are around 5. The issue arises because the features in the Iris dataset are continuous, and we are assuming they are discrete. If the features were discrete (for example, \"Tall\", \"3\", etc.) this probably wouldn't have been the case and we would see a much nicer probability distribution."
]
},
{
"cell_type": "code",
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.3333333333333333\n",
"0.10588235294117647\n"
]
}
],
"source": [
"dataset = iris\n",
"\n",
"target_vals = dataset.values[dataset.target]\n",
"target_dist = CountingProbDist(target_vals)\n",
"attr_dists = {(gv, attr): CountingProbDist(dataset.values[attr])\n",
" for gv in target_vals\n",
" for attr in dataset.inputs}\n",
"for example in dataset.examples:\n",
" targetval = example[dataset.target]\n",
" target_dist.add(targetval)\n",
" for attr in dataset.inputs:\n",
" attr_dists[targetval, attr].add(example[attr])\n",
"\n",
"\n",
"print(target_dist['setosa'])\n",
"print(attr_dists['setosa', 0][5.0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First we found the different values for the classes (called targets here) and calculated their distribution. Next we initialized a dictionary of `CountingProbDist` objects, one for each class and feature. Finally, we iterated through the examples in the dataset and calculated the needed probabilites.\n",
"\n",
"Having calculated the different probabilities, we will move on to the predicting function. It will receive as input an item and output the most likely class. Using the above formula, it will multiply the probability of the class appearing, with the probability of each feature value appearing in the class. It will return the max result."
]
},
{
"cell_type": "code",
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"setosa\n"
]
}
],
"source": [
"def predict(example):\n",
" def class_probability(targetval):\n",
" return (target_dist[targetval] *\n",
" product(attr_dists[targetval, attr][example[attr]]\n",
" for attr in dataset.inputs))\n",
" return argmax(target_vals, key=class_probability)\n",
"\n",
"\n",
"print(predict([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can view the complete code by executing the next line:"
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource NaiveBayesDiscrete"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Continuous\n",
"\n",
"In the implementation we use the Gaussian/Normal distribution function. To make it work, we need to find the means and standard deviations of features for each class. We make use of the `find_means_and_deviations` Dataset function. On top of that, we will also calculate the class probabilities as we did with the Discrete approach."
]
},
{
"cell_type": "code",
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[5.006, 3.418, 1.464, 0.244]\n",
"[0.5161711470638634, 0.3137983233784114, 0.46991097723995795, 0.19775268000454405]\n"
]
}
],
"source": [
"means, deviations = dataset.find_means_and_deviations()\n",
"\n",
"target_vals = dataset.values[dataset.target]\n",
"target_dist = CountingProbDist(target_vals)\n",
"\n",
"\n",
"print(means[\"setosa\"])\n",
"print(deviations[\"versicolor\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see the means of the features for the \"Setosa\" class and the deviations for \"Versicolor\".\n",
"\n",
"The prediction function will work similarly to the Discrete algorithm. It will multiply the probability of the class occuring with the conditional probabilities of the feature values for the class.\n",
"\n",
"Since we are using the Gaussian distribution, we will input the value for each feature into the Gaussian function, together with the mean and deviation of the feature. This will return the probability of the particular feature value for the given class. We will repeat for each class and pick the max value."
]
},
{
"cell_type": "code",
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"setosa\n"
]
}
],
"source": [
"def predict(example):\n",
" def class_probability(targetval):\n",
" prob = target_dist[targetval]\n",
" for attr in dataset.inputs:\n",
" prob *= gaussian(means[targetval][attr], deviations[targetval][attr], example[attr])\n",
" return prob\n",
"\n",
" return argmax(target_vals, key=class_probability)\n",
"\n",
"\n",
"print(predict([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The complete code of the continuous algorithm:"
]
},
{
"cell_type": "code",
"outputs": [],
"source": [
"%psource NaiveBayesContinuous"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Examples\n",
"\n",
"We will now use the Naive Bayes Classifier (Discrete and Continuous) to classify items:"
]
},
{
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
"print(\"Discrete Classifier\")\n",
"print(nBD([5, 3, 1, 0.1]))\n",
"print(nBD([6, 5, 3, 1.5]))\n",
"print(nBD([7, 3, 6.5, 2]))\n",
"\n",
"\n",
"nBC = NaiveBayesLearner(iris, continuous=True)\n",
"print(\"\\nContinuous Classifier\")\n",
"print(nBC([5, 3, 1, 0.1]))\n",
"print(nBC([6, 5, 3, 1.5]))\n",
"print(nBC([7, 3, 6.5, 2]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice how the Discrete Classifier misclassified the second item, while the Continuous one had no problem."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## PERCEPTRON CLASSIFIER\n",
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
"\n",
"### Overview\n",
"\n",
"The Perceptron is a linear classifier. It works the same way as a neural network with no hidden layers (just input and output). First it trains its weights given a dataset and then it can classify a new item by running it through the network.\n",
"\n",
"Its input layer consists of the the item features, while the output layer consists of nodes (also called neurons). Each node in the output layer has *n* synapses (for every item feature), each with its own weight. Then, the nodes find the dot product of the item features and the synapse weights. These values then pass through an activation function (usually a sigmoid). Finally, we pick the largest of the values and we return its index.\n",
"\n",
"Note that in classification problems each node represents a class. The final classification is the class/node with the max output value.\n",
"\n",
"Below you can see a single node/neuron in the outer layer. With *f* we denote the item features, with *w* the synapse weights, then inside the node we have the dot product and the activation function, *g*."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"First, we train (calculate) the weights given a dataset, using the `BackPropagationLearner` function of `learning.py`. We then return a function, `predict`, which we will use in the future to classify a new item. The function computes the (algebraic) dot product of the item with the calculated weights for each node in the outer layer. Then it picks the greatest value and classifies the item in the corresponding class."
]
},
{
"cell_type": "code",
},
"outputs": [],
"source": [
"%psource PerceptronLearner"
]
},
{
"cell_type": "markdown",
"Note that the Perceptron is a one-layer neural network, without any hidden layers. So, in `BackPropagationLearner`, we will pass no hidden layers. From that function we get our network, which is just one layer, with the weights calculated.\n",
"That function `predict` passes the input/example through the network, calculating the dot product of the input and the weights for each node and returns the class with the max dot product."
]
},
{
"cell_type": "markdown",
"source": [
"### Example\n",
"\n",
"We will train the Perceptron on the iris dataset. Because though the `BackPropagationLearner` works with integer indexes and not strings, we need to convert class names to integers. Then, we will try and classify the item/flower with measurements of 5, 3, 1, 0.1."
]
},
{
"cell_type": "code",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n"
]
}
],
"source": [
"iris = DataSet(name=\"iris\")\n",
"iris.classes_to_numbers()\n",
"\n",
"perceptron = PerceptronLearner(iris)\n",
"print(perceptron([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
"The correct output is 0, which means the item belongs in the first class, \"setosa\". Note that the Perceptron algorithm is not perfect and may produce false classifications."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## NEURAL NETWORK\n",
"\n",
"### Overview\n",
"\n",
"Although the Perceptron may seem like a good way to make classifications, it is a linear classifier (which, roughly, means it can only draw straight lines to divide spaces) and therefore it can be stumped by more complex problems. We can extend Perceptron to solve this issue, by employing multiple layers of its functionality. The construct we are left with is called a Neural Network, or a Multi-Layer Perceptron, and it is a non-linear classifier. It achieves that by combining the results of linear functions on each layer of the network.\n",
"\n",
"Similar to the Perceptron, this network also has an input and output layer. However it can also have a number of hidden layers. These hidden layers are responsible for the non-linearity of the network. The layers are comprised of nodes. Each node in a layer (excluding the input one), holds some values, called *weights*, and takes as input the output values of the previous layer. The node then calculates the dot product of its inputs and its weights and then activates it with an *activation function* (sometimes a sigmoid). Its output is fed to the nodes of the next layer. Note that sometimes the output layer does not use an activation function, or uses a different one from the rest of the network. The process of passing the outputs down the layer is called *feed-forward*.\n",
"\n",
"After the input values are fed-forward into the network, the resulting output can be used for classification. The problem at hand now is how to train the network (ie. adjust the weights in the nodes). To accomplish that we utilize the *Backpropagation* algorithm. In short, it does the opposite of what we were doing up to now. Instead of feeding the input forward, it will feed the error backwards. So, after we make a classification, we check whether it is correct or not, and how far off we were. We then take this error and propagate it backwards in the network, adjusting the weights of the nodes accordingly. We will run the algorithm on the given input/dataset for a fixed amount of time, or until we are satisfied with the results. The number of times we will iterate over the dataset is called *epochs*. In a later section we take a detailed look at how this algorithm works.\n",
"\n",
"NOTE: Sometimes we add to the input of each layer another node, called *bias*. This is a constant value that will be fed to the next layer, usually set to 1. The bias generally helps us \"shift\" the computed function to the left or right."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"The `NeuralNetLearner` function takes as input a dataset to train upon, the learning rate (in (0, 1]), the number of epochs and finally the size of the hidden layers. This last argument is a list, with each element corresponding to one hidden layer.\n",
"\n",
"After that we will create our neural network in the `network` function. This function will make the necessary connections between the input layer, hidden layer and output layer. With the network ready, we will use the `BackPropagationLearner` to train the weights of our network for the examples provided in the dataset.\n",
"\n",
"The NeuralNetLearner returns the `predict` function, which can receive an example and feed-forward it into our network to generate a prediction."
]
},
{
"cell_type": "code",
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource NeuralNetLearner"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Backpropagation\n",
"\n",
"In both the Perceptron and the Neural Network, we are using the Backpropagation algorithm to train our weights. Basically it achieves that by propagating the errors from our last layer into our first layer, this is why it is called Backpropagation. In order to use Backpropagation, we need a cost function. This function is responsible for indicating how good our neural network is for a given example. One common cost function is the *Mean Squared Error* (MSE). This cost function has the following format:\n",
"\n",
"$$MSE=\\frac{1}{2} \\sum_{i=1}^{n}(y - \\hat{y})^{2}$$\n",
"\n",
"Where `n` is the number of training examples, $\\hat{y}$ is our prediction and $y$ is the correct prediction for the example.\n",
"\n",
"The algorithm combines the concept of partial derivatives and the chain rule to generate the gradient for each weight in the network based on the cost function.\n",
"\n",
"For example, if we are using a Neural Network with three layers, the sigmoid function as our activation function and the MSE cost function, we want to find the gradient for the a given weight $w_{j}$, we can compute it like this:\n",
"\n",
"$$\\frac{\\partial MSE(\\hat{y}, y)}{\\partial w_{j}} = \\frac{\\partial MSE(\\hat{y}, y)}{\\partial \\hat{y}}\\times\\frac{\\partial\\hat{y}(in_{j})}{\\partial in_{j}}\\times\\frac{\\partial in_{j}}{\\partial w_{j}}$$\n",
"\n",
"Solving this equation, we have:\n",
"\n",
"$$\\frac{\\partial MSE(\\hat{y}, y)}{\\partial w_{j}} = (\\hat{y} - y)\\times{\\hat{y}}'(in_{j})\\times a_{j}$$\n",
"\n",
"Remember that $\\hat{y}$ is the activation function applied to a neuron in our hidden layer, therefore $$\\hat{y} = sigmoid(\\sum_{i=1}^{num\\_neurons}w_{i}\\times a_{i})$$\n",
"\n",
"Also $a$ is the input generated by feeding the input layer variables into the hidden layer.\n",
"\n",
"We can use the same technique for the weights in the input layer as well. After we have the gradients for both weights, we use gradient descent to update the weights of the network."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"First, we feed-forward the examples in our neural network. After that, we calculate the gradient for each layer weights. Once that is complete, we update all the weights using gradient descent. After running these for a given number of epochs, the function returns the trained Neural Network."
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource BackPropagationLearner"
]
},
{
"cell_type": "code",
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n"
]
}
],
"source": [
"iris = DataSet(name=\"iris\")\n",
"iris.classes_to_numbers()\n",
"\n",
"nNL = NeuralNetLearner(iris)\n",
"print(nNL([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The output should be 0, which means the item should get classified in the first class, \"setosa\". Note that since the algorithm is non-deterministic (because of the random initial weights) the classification might be wrong. Usually though it should be correct.\n",
"\n",
"To increase accuracy, you can (most of the time) add more layers and nodes. Unfortunately the more layers and nodes you have, the greater the computation cost."
]
},
{
"cell_type": "markdown",
"## LEARNER EVALUATION\n",
"In this section we will evaluate and compare algorithm performance. The dataset we will use will again be the iris one."
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"iris = DataSet(name=\"iris\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Naive Bayes\n",
"First up we have the Naive Bayes algorithm. First we will test how well the Discrete Naive Bayes works, and then how the Continuous fares."
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error ratio for Discrete: 0.033333333333333326\n",
"Error ratio for Continuous: 0.040000000000000036\n"
]
}
],
"source": [
"nBD = NaiveBayesLearner(iris, continuous=False)\n",
"print(\"Error ratio for Discrete:\", err_ratio(nBD, iris))\n",
"nBC = NaiveBayesLearner(iris, continuous=True)\n",
"print(\"Error ratio for Continuous:\", err_ratio(nBC, iris))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The error for the Naive Bayes algorithm is very, very low; close to 0. There is also very little difference between the discrete and continuous version of the algorithm."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## k-Nearest Neighbors\n",
"Now we will take a look at kNN, for different values of *k*. Note that *k* should have odd values, to break any ties between two classes."
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error ratio for k=1: 0.0\n",
"Error ratio for k=3: 0.06000000000000005\n",
"Error ratio for k=5: 0.1266666666666667\n",
"Error ratio for k=7: 0.19999999999999996\n"
]
}
],
"source": [
"kNN_1 = NearestNeighborLearner(iris, k=1)\n",
"kNN_3 = NearestNeighborLearner(iris, k=3)\n",
"kNN_5 = NearestNeighborLearner(iris, k=5)\n",
"kNN_7 = NearestNeighborLearner(iris, k=7)\n",
"print(\"Error ratio for k=1:\", err_ratio(kNN_1, iris))\n",
"print(\"Error ratio for k=3:\", err_ratio(kNN_3, iris))\n",
"print(\"Error ratio for k=5:\", err_ratio(kNN_5, iris))\n",
"print(\"Error ratio for k=7:\", err_ratio(kNN_7, iris))"
]
},
{
"cell_type": "markdown",
"source": [
"Notice how the error became larger and larger as *k* increased. This is generally the case with datasets where classes are spaced out, as is the case with the iris dataset. If items from different classes were closer together, classification would be more difficult. Usually a value of 1, 3 or 5 for *k* suffices.\n",
"Also note that since the training set is also the testing set, for *k* equal to 1 we get a perfect score, since the item we want to classify each time is already in the dataset and its closest neighbor is itself."
]
},
{
"cell_type": "markdown",
"metadata": {},
"### Perceptron\n",
"For the Perceptron, we first need to convert class names to integers. Let's see how it performs in the dataset."
]
},
{
"cell_type": "code",
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error ratio for Perceptron: 0.31999999999999995\n"
]
}
],
"source": [
"iris2 = DataSet(name=\"iris\")\n",
"iris2.classes_to_numbers()\n",
"\n",
"perceptron = PerceptronLearner(iris2)\n",
"print(\"Error ratio for Perceptron:\", err_ratio(perceptron, iris2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"The Perceptron didn't fare very well mainly because the dataset is not linearly separated. On simpler datasets the algorithm performs much better, but unfortunately such datasets are rare in real life scenarios."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## MNIST HANDWRITTEN DIGITS CLASSIFICATION\n",
"\n",
"The MNIST database, available from [this page](http://yann.lecun.com/exdb/mnist/), is a large database of handwritten digits that is commonly used for training and testing/validating in Machine learning.\n",
"\n",
"The dataset has **60,000 training images** each of size 28x28 pixels with labels and **10,000 testing images** of size 28x28 pixels with labels.\n",
"\n",
"In this section, we will use this database to compare performances of different learning algorithms.\n",
"\n",
"It is estimated that humans have an error rate of about **0.2%** on this problem. Let's see how our algorithms perform!\n",
"\n",
"NOTE: We will be using external libraries to load and visualize the dataset smoothly ([numpy](http://www.numpy.org/) for loading and [matplotlib](http://matplotlib.org/) for visualization). You do not need previous experience of the libraries to follow along."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Loading MNIST digits data\n",
"\n",
"Let's start by loading MNIST data into numpy arrays."
]
},
{
"cell_type": "markdown",
"The function `load_MNIST()` loads MNIST data from files saved in `aima-data/MNIST`. It returns four numpy arrays that we are going to use to train and classify hand-written digits in various learning approaches."
]
},
{
"cell_type": "code",
"metadata": {
},
"outputs": [],
"source": [
"train_img, train_lbl, test_img, test_lbl = load_MNIST()"
]
},
{
"cell_type": "markdown",
"source": [
"Check the shape of these NumPy arrays to make sure we have loaded the database correctly.\n",
"\n",
"Each 28x28 pixel image is flattened to a 784x1 array and we should have 60,000 of them in training data. Similarly, we should have 10,000 of those 784x1 arrays in testing data."
]
},
{
"cell_type": "code",
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training images size: (60000, 784)\n",
"Training labels size: (60000,)\n",
"Testing images size: (10000, 784)\n",
"Training labels size: (10000,)\n"
]
}
],
"source": [
"print(\"Training images size:\", train_img.shape)\n",
"print(\"Training labels size:\", train_lbl.shape)\n",
"print(\"Testing images size:\", test_img.shape)\n",
"print(\"Training labels size:\", test_lbl.shape)"
]
},
{
"cell_type": "markdown",
"### Visualizing MNIST digits data\n",
"To get a better understanding of the dataset, let's visualize some random images for each class from training and testing datasets."
]
},
{
"cell_type": "code",
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAAKoCAYAAABUXzFLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xm8TWX7x/GPzEOZI6FZUooSUpSEBkLznAZTVBpEUcZK\ng8YnjUqIFE+UDA2kUikapXlSaUCZmzz2749+173ufc4+2znb2dPa3/fr1cuy1j773O7WHta6rvu6\nSkQikQgiIiIiIiIhsUO6ByAiIiIiIlKcdJEjIiIiIiKhooscEREREREJFV3kiIiIiIhIqOgiR0RE\nREREQkUXOSIiIiIiEiq6yBERERERkVDRRY6IiIiIiISKLnJERERERCRUdJHj2bhxI/3796dOnTqU\nK1eOJk2a8OSTT6Z7WBlvw4YNXHPNNXTo0IGaNWtSokQJhg0blu5hZYX58+dz4YUX0rBhQypWrMiu\nu+5Kly5dWLp0abqHltHef/99TjjhBOrXr0/58uWpVq0ahx12GJMmTUr30LLSI488QokSJahUqVK6\nh5LRXnnlFUqUKBHzv7feeivdw8sKr7/+OscffzxVq1alfPny7LPPPowcOTLdw8po3bt3L/C807kX\n33vvvUfXrl2pU6cOFSpUoGHDhowYMYLNmzene2gZ7+2336Zjx47suOOOVKpUibZt27Jo0aJ0D6tI\nSqV7AJnkpJNO4p133mH06NE0aNCAyZMnc+aZZ7J161bOOuusdA8vY61Zs4aHHnqIgw46iK5du/LI\nI4+ke0hZ4/7772fNmjVcfvnlNGrUiFWrVjFmzBhatmzJvHnzOProo9M9xIy0du1a6tWrx5lnnsmu\nu+7Kpk2beOKJJzj33HP59ttvGTJkSLqHmDV+/PFHrr76aurUqcO6devSPZyscNNNN9G2bduofQcc\ncECaRpM9Jk+ezLnnnstpp53GhAkTqFSpEl999RUrV65M99Ay2vXXX0/v3r3z7e/cuTNly5bl0EMP\nTcOoMt/y5ctp1aoV++67L3fddRc1atTg1VdfZcSIESxdupSZM2eme4gZ65133qFNmzY0b96ciRMn\nEolEuPXWW2nXrh0LFizgsMMOS/cQCycikUgkEnn++ecjQGTy5MlR+9u3bx+pU6dOZMuWLWkaWebb\nunVrZOvWrZFIJBJZtWpVBIgMHTo0vYPKEr/88ku+fRs2bIjUqlUr0q5duzSMKLu1aNEiUq9evXQP\nI6t06tQp0rlz58j5558fqVixYrqHk9EWLFgQASJPP/10uoeSdX744YdIxYoVI3369En3UELhlVde\niQCRIUOGpHsoGWvw4MERIPLll19G7e/Zs2cEiPz2229pGlnm69ixY6RWrVqRTZs2uX3r16+P1KhR\nI9KqVas0jqxolK72/5555hkqVarEqaeeGrX/ggsuYOXKlSxevDhNI8t8FjKXott5553z7atUqRKN\nGjXi+++/T8OIsluNGjUoVUoB6sKaNGkSCxcuZOzYsekeioTcI488wqZNmxg4cGC6hxIK48aNo0SJ\nElx44YXpHkrGKl26NACVK1eO2l+lShV22GEHypQpk45hZYVFixZx1FFHUaFCBbdvxx13pE2bNrzx\nxhv89NNPaRxd4eki5/8tW7aM/fbbL98XpAMPPNAdF0mFdevW8e6777L//vuneygZb+vWrWzZsoVV\nq1YxduxY5s2bpy9RhfTrr7/Sv39/Ro8eTd26ddM9nKzSt29fSpUqxU477UTHjh15/fXX0z2kjPfq\nq69SrVo1Pv30U5o0aUKpUqXYeeed6d27N+vXr0/38LLKunXrmDZtGu3atWOPPfZI93Ay1vnnn0+V\nKlXo06cPX3/9NRs2bGDWrFk8+OCD9O3bl4oVK6Z7iBnr77//pmzZsvn2276PPvoo1UNKiC5y/t+a\nNWuoVq1avv22b82aNakekuSovn37smnTJgYPHpzuoWS8Sy65hNKlS7PzzjtzxRVXcM8999CrV690\nDysrXHLJJey777706dMn3UPJGpUrV+byyy/nwQcfZMGCBdx99918//33HHXUUcybNy/dw8toP/74\nI5s3b+bUU0/l9NNP56WXXmLAgAFMmDCB448/nkgkku4hZo0pU6bwxx9/cNFFF6V7KBlt99135803\n32TZsmXstdde7LTTTnTu3Jnzzz+fu+++O93Dy2iNGjXirbfeYuvWrW7fli1bXFZTtnwnVl6HJ17K\nldKxJBWuv/56nnjiCe69914OOeSQdA8n41133XVcfPHF/Prrrzz33HP069ePTZs2cfXVV6d7aBlt\n+vTpPPfcc7z33nt6byuCpk2b0rRpU/f31q1b061bNxo3bsw111xDx44d0zi6zLZ161b+/PNPhg4d\nyqBBgwA46qijKFOmDP379+fll1/mmGOOSfMos8O4ceOoXr063bp1S/dQMtq3335L586dqVWrFtOm\nTaNmzZosXryYUaNGsXHjRsaNG5fuIWasSy+9lIsuuoh+/foxePBgtm7dyvDhw/nuu+8A2GGH7IiR\nZMcoU6B69eoxr0x/++03gJhRHpHiNHz4cEaNGsWNN95Iv3790j2crFC/fn2aNWvG8ccfz/3330/P\nnj259tprWbVqVbqHlrE2btxI3759ufTSS6lTpw5r165l7dq1/P3338C/les2bdqU5lFmjypVqtCp\nUyc+/PBD/vjjj3QPJ2NVr14dIN+F4HHHHQfAu+++m/IxZaMPP/yQJUuWcM4558RMJ5LAoEGDWL9+\nPfPmzePkk0+mTZs2DBgwgLvuuotHH32UhQsXpnuIGevCCy9k9OjRTJw4kbp161K/fn2WL1/ubiDu\nuuuuaR5h4egi5/81btyYTz75hC1btkTtt7xDlQeVZBo+fDjDhg1j2LBhXHfddekeTtZq3rw5W7Zs\n4euvv073UDLW6tWr+eWXXxgzZgxVq1Z1/02ZMoVNmzZRtWpVzj777HQPM6tYqpWiYgWz9a152dxl\ny53hdLPow8UXX5zmkWS+999/n0aNGuVbe2Mlt7XWOr6BAweyevVqPvroI7799lveeOMNfv/9dypW\nrJg1mSZ6V/l/3bp1Y+PGjUyfPj1q/+OPP06dOnVo0aJFmkYmYTdy5EiGDRvGkCFDGDp0aLqHk9UW\nLFjADjvswJ577pnuoWSs2rVrs2DBgnz/dezYkXLlyrFgwQJGjRqV7mFmjd9//51Zs2bRpEkTypUr\nl+7hZKyTTz4ZgDlz5kTtnz17NgAtW7ZM+ZiyzV9//cWkSZNo3ry5brwWQp06dfj444/ZuHFj1P43\n33wTQAVXCqFs2bIccMAB7LbbbqxYsYKpU6fSo0cPypcvn+6hFYrW5Py/4447jvbt29OnTx/Wr1/P\n3nvvzZQpU5g7dy6TJk2iZMmS6R5iRpszZw6bNm1iw4YNwL9NuKZNmwbA8ccfH1WGUAJjxozhhhtu\n4Nhjj+WEE07I17laH/yx9ezZk5122onmzZtTq1YtVq9ezdNPP83UqVMZMGAANWvWTPcQM1a5cuU4\n6qij8u0fP348JUuWjHlM/nXWWWe5FMkaNWrwxRdfMGbMGH755RfGjx+f7uFltA4dOtC5c2dGjBjB\n1q1badmyJUuWLGH48OF06tSJI444It1DzHgzZszgt99+UxSnkPr370/Xrl1p3749V1xxBTVq1OCt\nt97i5ptvplGjRi5VUvJbtmwZ06dPp1mzZpQtW5YPPviA0aNHs88++zBy5Mh0D6/w0tynJ6Ns2LAh\nctlll0Vq164dKVOmTOTAAw+MTJkyJd3Dygq77bZbBIj53zfffJPu4WWsI488ssB508uzYI8++mik\ndevWkRo1akRKlSoVqVKlSuTII4+MTJw4Md1Dy1pqBrptN998c6RJkyaRypUrR0qWLBmpWbNmpFu3\nbpG333473UPLCps3b44MHDgwUq9evUipUqUi9evXj1x77bWRP//8M91Dywrt27ePVKxYMbJ+/fp0\nDyVrzJ8/P9KhQ4dI7dq1I+XLl480aNAgctVVV0VWr16d7qFltM8++yzSpk2bSLVq1SJlypSJ7L33\n3pEhQ4ZENm7cmO6hFUmJSER1G0VEREREJDy0JkdEREREREJFFzkiIiIiIhIqusgREREREZFQ0UWO\niIiIiIiEii5yREREREQkVHSRIyIiIiIioaKLHBERERERCZVS6R5ALCVKlEj3EDJCIi2MNHf/0twl\nTnOXuKLOnebtXzrnEqe5S5zmLnGau8Rp7hJX1LlTJEdEREREREJFFzkiIiIiIhIqusgREREREZFQ\n0UWOiIiIiIiEii5yREREREQkVHSRIyIiIiIioZKRJaRFREQk/O655x63femllwJQpUoVANatW5eW\nMYlIOCiSIyIiIiIioaJIDlC9enW33bBhw6hjDzzwgNvu3bs3AJ988gkAv/32WwpGl738pk1bt24F\noGTJkukaTlqceOKJbrts2bIFPu6VV14BYNWqVckeUlYqX748AAMHDgRg6NCh7pidW/HssMMO+R47\nbdo0AAYPHgzAl19+WTyDlZxz3nnnue2TTjoJgG+//RaA/v37p2NIWaNr165u+4UXXgBg06ZN6RqO\niISIIjkiIiIiIhIqusgREREREZFQyel0tR49egDQqlUrt89POwAoUaKE23711VcBePzxxwH49NNP\n8z3n7NmzAVi2bFnxDjaLXHHFFUB0alBhUoqy3SmnnOK2r7vuOgAaN27s9vnnUt6/r127FoCXX34Z\ngJ49e+Y7livq168PQJMmTdy+q6++Ggheq/75tGLFCgB+//13ACZMmOCOrV69Ouq5a9as6bYt5e2P\nP/4AoHv37sUy/jC49dZbAbjwwgsBaNCggTumNF2oUaMGAPfffz8Axx9/vDtWrlw5AO69997UDyyL\n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\nEiq6yBERERERkVDRRY6IiIiIiISKLnJERERERCRUdJEjIiIiIiKhooscEREREREJFV3kiIiIiIhI\nqOgiR0REREREQkUXOSIiIiIiEiq6yBERERERkVDRRY6IiIiIiISKLnJERERERCRUSqV7ALGUKFEi\n3UPICJFIpMg/o7n7l+YucZq7xBV17jRv/9I5lzjNXeI0d4nT3CVOc5e4os6dIjkiIiIiIhIqusgR\nEREREZFQ0UWOiIiIiIiESkauyRERERExF110EQA33ngjAP369XPHpk2blpYxiUhmUyRHRERERERC\nRZEcEclqnTt3BqBly5b5jv3www8ATJo0Kd+xTZs2AbB169Ykjk5EikPXrl0B2HnnnQEoW7ZsOocj\nIllAkRwREREREQmVEpFECnYnmeqB/yuMtdT33ntvAL744gu3b/To0QBce+21xfZ7wjh3qZJtc9ep\nUycAZs6cWaSfu+aaawB4+OGHAVi/fv12j0V9chKTbedcJgnz3NWtW9dtv/feewD8+uuvALRo0cId\n27hxY0LPH+a5S7ZMnLvZs2cDcOyxx+b7ffb+Xq9evai/p0Mmzl22UJ8cERERERHJabrIERERERGR\nUFHhgW2oUKGC2z777LMLfFyHDh0AOPDAA4EgBQvgscceS9Losk+lSpWA6MXerVq1Stdw0sLC5bEW\nyhs/ne/9999P+piy2fz584GgxGwse+65Z77H3HrrrQB0794dgGbNmrljf/31V3EPU8Qtlq9atSoQ\nfc7dcMMNABxyyCFu3++//w5AmzZtAFi+fHlKxpkprr76arddrVo1AJ599lkg8RQ1CZcjjjjCbR91\n1FFAkNLkpzbZdw9LTz799NNTNEJJJ0VyREREREQkVBTJyWOXXXYBgjKV/fv3d8fOO++8Qj/PQw89\n5LZ79eoFwDnnnOP2ffnll9s1zmx16aWX5tv322+/pWEkqTdo0CAAzj//fAD22WefAh/7yy+/uG1b\nUD9w4EAANmzYkKwhZqXNmzcDMH78+G0+9qmnnnLbr7zyCgCNGjUCoFSp4O0wWyI5dncb4LTTTgPg\n3XffdfvefvvtpP1ui3JPnDjR7Wvfvj0QHZ1dtmxZ0saQyQ466CAAjjvuOLfv6KOPjvrT97///Q+A\nl156ye2zKONPP/2UrGFmJLs737t373zHbHF52JUuXRqAzz77zO2bNWsWAJdddlmRnqt8+fJA8B5n\n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\nIiIioZKRa3JEREQkvGLl1rdt2xaAV155JcWjEZEwUiRHRERERERCRZEckSR45513AKhYsaLbd+65\n5xb657/77ju3vXr16uIbmIhIGh111FHbPKZIjogUB0VyREREREQkVBTJyWPHHXcE4Oyzz853bOzY\nsQBceumlANx3332pG1gWWrBggdv+7bffADj//PMB2LhxY1rGlCqWb96gQQO378033yzw8Tvs8O/9\nhq1btwIwefJkd+yNN94A4KGHHir2cWaK3Xff3W337NkTgJNPPtnt++OPPwBYsmQJAE888YQ7tnTp\nUgDWr1+f7GGK56mnnsq377TTTkvDSCTT+Z8F8SI5IiLFSZEcEREREREJFV3kiIiIiIhIqChdLY8n\nn3wSgGOPPbbAx9xxxx0AVK9e3e0bMWJEcgeWRWzuGjdu7PZVrlwZgH333RcIUozC6qabbgKgRo0a\nbt8RRxwBwFlnnbXNn/cfY9s1a9YE4MYbbyy2cabb3nvvDUSns9SpUweAEiVKuH2bNm0CgvPnggsu\ncMdWrFgBQNOmTQFYu3ZtEkcs9erVA+DUU09N80hS6/DDD3fbQ4cOBeCYY44Bos9VS1V9/vnnAZg5\nc6Y7Nm7cuKjHhJ29rpWiJungf0ezZQb2Odq7d+9CPUenTp0AmDNnTjGPTlJBkRwREREREQmVEpEM\nvKXk3xVLpkMOOQSAwYMHu30nnHACAKVK5Q9y2bhsyr7//nt3zKIXn376abGNL5H/Namau3i6d+8O\nwMMPP5zv2MKFC4HgDmiyZOLcWVSnbt26AEycONEd22+//YCg8EAsf/31FwCffPKJ22cRoxkzZhTb\nOFM5d126dAHgv//9r9v32muvAUHEFODLL78EoFGjRkB0NMuiQb///jsQ3HkDeOuttxIaV6KKOneZ\n8HotKiuEcdhhhwFw5ZVXumN33nlnQs+Zia9XY5Grjz76yO2rVKkSELwmfVZEpGzZsgD873//c8fs\n3Jw3b16xjS8T527YsGFAEPHyWXlo+yzwy0WnunR0Js5dtsjkuTvggAOA6POpSpUqUWMo7PjtNd6h\nQwcAFi1atN3jy+S5Kwz7HAY47rjjAGjSpAkQu2iXefTRR912r169gOj3x8Io6twpkiMiIiIiIqGS\n05GcuXPnAsEVOsS/Sox3B2DlypVAcNevOGTr1b5FFwYMGJDvWC5HcorCjy4OGjQICBqLxor2NGvW\n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\n0RTJibG43CkpRxq76DR20SmSE42Oueg0dtGV69gpklPeSjF2fiTaL86Tqnfv3kBQrCduFMkRERER\nEZGKpkhOjOlOSXQau+g0dtEpkhONjrnoNHbRlevYWTnz+vXru33Dhg0D4IYbbgDg8ccfr9E+lOvY\nxYHGLjpFckREREREpKLpIkdERERERBJF6WoxppBmdBq76DR20SldLRodc9Fp7KLT2EWnsYtOYxed\n0tVERERERKSixTKSIyIiIiIiEpUiOSIiIiIikii6yBERERERkUTRRY6IiIiIiCSKLnJERERERCRR\ndJEjIiIiIiKJooscERERERFJFF3kiIiIiIhIougiR0REREREEkUXOSIiIiIikii6yBERERERkUTR\nRY6IiIiIiCSKLnJERERERCRRli91BzJZZpllSt2FWFiyZEnez9HY/UtjF53GLrp8x07j9i8dc9Fp\n7KLT2EWnsYtOYxddvmOnSI6IiIiIiCSKLnJERERERCRRdJEjIiIiIiKJooscERERERFJlFgWHhAR\nEZHy1rp1awDuu+8+t2+jjTYCYKeddgJg+vTpxe+YiFQERXJERERERCRRFMkRiYG11loLgObNmwPw\n8MMPu7bVVlsNgH/++QeAjz76yLV16NABgM8//7wo/RQRWZpu3boBcO+996a1de/eHVAER0RqniI5\nIiIiIiKSKMssibIqUQ0r5aJHu+yyCwC9evUC4Oijj057zBFHHAHAuHHjarQv5bZg1AknnAAEY2c5\n16VQDmO30korue3HHnsMgN122y3tcQsWLACgXr16aW0W1dljjz0AmD9/frX7VQ5jF1eVtBio3ZE/\n44wz3L4ddtgh0mvpmIsuLmNnc20Apk6dGmqzyA7EK4ITl7ErR5Uyduuvvz4ALVu2BKBTp06ubeDA\ngQAsWrQor9eslLGrCVoMVEREREREKpouckREREREJFEqsvDA8sv/+2dvuOGGAGy++eau7bbbbgOg\nfv36QDDZ2zd8+HAAvv32W7dv8uTJNdPZMtKjRw8gnIYlVVt33XXdtqWp3XTTTUA4FdLS1Y455hgg\nSAsEaNKkCQAPPvggEJRsFakpyy77770xS5H8/vvvS9md2LL0rWHDhqW12XeP/Qtw//33A3Dttde6\nfZ999llNdrGg/L/T/nYVGZBysuqqqwLhFFz73vU/q8ZS1+x3I8CVV15Zk12UPCmSIyIiIiIiiVKR\nkRy7IvdL8eZj9dVXB6B3795unyI5QcShcePGJe5JebDxAthkk00A+PrrrwFYvHhx2uMvvPBCAOrW\nrev29enTB4AWLVoAsM8++7i2iRMnFrbDBbTCCisA2Seq+5Eu/++qynrrrZf22NmzZwPw2muvAUHE\nC+Chhx7Ko8dirKT5scceC8CUKVNK2Z2S6tevHxAusmLRVH8ifi5OP/10AF555RW3rxwiOfZ3Hnzw\nwW7fyy+/DIQXAZVomjVr5rbts2aFHQYMGODa3nvvveJ2LEEsk8K+E+wcB8GEf/u+tkwggEaNGgGw\nzTbbFKWfxbDccssB0LVrV7fvoIMOAmDllVcGgt8bALNmzQLglltuAcLLX2T6HVNsiuSIiIiIiEii\nVEwkp3379m7bv/sB4Zzyt99+GwjugmfLr9x///3dts3rsavaSmRX+2+99VaJe1Ie/vrrL7edz2Ke\nL774otvu27cvENxdsjstcWTRGwjmtR1//PFVPt4vmZlL2Uh7vP9Ym7Nk/x522GGurVil4JPm8ssv\nB+D3338HYPDgwaXsTtH4kRmbf+JHL4xFX66++mogHJkx8+bNA+CLL75w+zbYYAOg/OavnHbaaWn7\n/HlFUj133323215jjTWAIFrtLytgv1VsbpeErbnmmgCceOKJALRr1861WWTCIjh33nmnaxszZgwA\n7777LhCOTrZt2xYI5vKUMyuVfccddwCw++67pz1m4cKFQLB4uf88+409cuRI1+ZnO5WKIjkiIiIi\nIpIousgREREREZFEqZh0tWeeecZtp5aFPuWUU9y2hYaPPPLIvF5/woQJAOy3334AfPjhh1G6mQjb\nbrstAM2bN3f73nnnnVJ1J3H8dCzbtjBynFNdGjRo4LYPOeSQgr3up59+CsB3330X+m+AHXfcEQhC\n6j5LW33kkUcA+PnnnwvWpySzYhfTpk0D4Mknnyxld2pct27dALjqqqvcPktds9Q0ewxE/wyWQ5GB\nTPItsCC52WqrrUL/QjCR21JF/QngdnxaWpZNBK9kNokegnS+o48+usrHW6rWcccd5/bZmNvvGSuh\n7/Mn25eTDh06uO3Ro0cDwfIpL7zwgmuz1NtXX30VCBfDsG17jJ/KFgeK5IiIiIiISKIkMpLj37W1\nSWL+1bfdsbWJx/7EULt63XXXXYHMi4FmYhObDzzwQKByJuNmksskcSms3377DcivgEGx+REWuyNk\nd4FtQi0EhQC++eYbt2/8+PEA/PDDD2mv+8cffwBBIQe7kwnB3czOnTunPW+LLbYAggnfSY6+2h07\nW5wRggm4uZT53GWXXdy2Pf78888vZBdjx8pD2x1KP9Ji5Z6vueaa4ncsZqxcdKYiDBLdmWeembbv\n/fffB4ICKk899ZRrs3PpkCFDAGjatKlrmzFjRuh13njjjbTXTKJNN93UbWeL4Nh3jpXF//PPP12b\nLYlx4403ArDzzju7NstQee655wrU4+JIXXwcggjO0KFDgaDADMCPP/4Yev5XX33ltq0QkkUV58yZ\nUwM9jk6RHBERERERSRRd5IiIiIiISKIkMl1t1KhRbttWovbTzj744AMgmHBs67v4j7fwnD0WYObM\nmUCQ5paJTWaeP3++22d11pPuscceA3JbnV7yZ+HkCy64IK1txIgRxe5O3vwUgE6dOoXa1ltvPbft\nh8LzYSs0W7gdwsUOUlkKnK1ZkkS27oOtS+RPxPW3l8YmpQJ8++23QPmlaOTCLyCQmqZWiOICSeSv\n9SPVZ+n2vXr1SmuztCpbj89f6+WKK64Agt8zmdYvsrXEFi1a5PZZoaByLXyRTaY0ZeOvd2OFBv7+\n+28AevTo4dqsYIGtSeSvb2cpcJ988klhOlwklmbbqFEjt8/S8c477zwgGIulsfTls88+GwiP3cUX\nXwwEaze999571el2JIrkiIiIiIhIoiQykuNPuDNvvfWW2/Yn30IwUc9n0RqL9gAMHDhwqe9dq1Yt\nIPsd5KSyEr7Gn/SnEtLVZ8ekX1LUXHrppcXuTkHlGr3ZfPPNgXAkyIp9WLGQbIUvLHoDlTFReuzY\nsUBQZMGffGvFKrLZY489ANhkk03cPr8IQdLce++9afvsLqSiN5klORJaCva5tAiZFUaBcIEWgLlz\n57rtnj17AkEE0i9KsMoqq4Se50ffrBx1EvklklNddNFFbtsi3laMJVO2xPfffw9A//793b4333yz\nEN0sCj8Dycph//LLL26fRXJyjeCk+vLLLwE45phj3D773rHfxRbtKSZFckREREREJFESFcmxHFT/\nzofp2LGj27arV8tL9B9vua5+BCcKf4HRkSNHAsnPXbZ8X/u3YcOGpexOYqy00kpAcFfdj1Tcdttt\nJelToS2/fHAqsruVftTBxsDKqq666qppr2Hj4o+Pza076aSTAHjwwQcL2e1Y8hdntLKeb7/9NpD/\n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\nFzkiIiIiIpIoyyzJlE9TYtkmeubL0lX8MLalUWWacGwypat98sknQDBhfOTIka6tJlI+ovyvKeTY\n5cImxQO88MILQDBmfv8ffvhhIFipvaYVc+xsoqifVmCv9dhjj7l9kyZNAmDEiBEA/P3332mvZcUz\nzjrrLLevbdu2QJDmZu8HNbMyfTkcd7Vr13bb9nm2cvEHHniga7OCF5b+4rM+2/8HSzmF6Olq+Y5d\nscbN0h/HjBnj9nXv3h0IJnSXUhyPOeuTFSDwxyk1dcqK0UDxyx7HcezKRSnGzk9FtnRjvx9WaMBP\n1Yujmho7K+QDwe8qv4BANlaU4oorrgAypwHGQbl9Zjt27AjAE088AWQ+XouVppvv2CmSIyIiIiIi\niZL4SE4me+21FwDrrbceECzOmIkfrXn77bdD/9a0crva33PPPYHgLqdf+vKiiy4qal/KbezipNRj\n16BBAyBcCt5YkYctt9zS7WvcuHGoD7n23xa/fOihh4DCFBuIayTHStr7d0Rt4m5NRAPzVepjLpNh\nw4YB4QVCU1k0rJQT3uM4duWimGNnC1X6pa8tm+S9995z+2xy/U8//RTpfYqlGGNnUR0/upPKogsA\nr732GhAU8omrcvvMWqGV1q1bA8ESGRAU8LECBDVNkRwREREREalousgREREREZFEqch0tXJRbiHN\nONHYRVfqsevatSsQnuidS58ypavZiunPP/88EF43YfLkyUCwzlYhxDVdLe5KfcxlY6lo/kTwOKSp\nmTiPXdwVY+w222wzAGbMmAEE6/QBjBo1CgjWHwGYPXt23n0qBR130ZXD2K2xxhpu29aetHTn//3v\nf66tUaNGRe2X0tVERERERKSiLV/qDoiI+KxghV9+O9vEU3ucTd61UtsAs2bNAmDRokUF76dUhmKV\nRpVksnOXRXBuvfVW13bJJZcA8Z8oL5XHCtNAeMkGKEyRnmJRJEdERERERBJFc3JirBzyNuNKYxed\nxi46zcmJRsdcdBq76DR20WnsotPYRac5OSIiIiIiUtF0kSMiIiIiIomiixwREREREUkUXeSIiIiI\niEiixLLwgIiIiIiISFSK5IiIiIiISKLoIkdERERERBJFFzkiIiIiIpIousgREREREZFE0UWOiIiI\niIgkii5yREREREQkUXSRIyIiIiIiiaKLHBERERERSRRd5IiIiIiISKLoIkdERERERBJFFzkiIiIi\n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\nfMuj3nTTTUB4nCwVy5x44olu21Iz/RSuuLMJ761btwZg2LBhrm3KlCkA3H333Tm9VocOHapssxSr\nuK1eHVfZ0qH98+CGG25YjO7UGJvQ7ad95uuYY44J/Zuv559/HginFlYaW2rATxsyVn575syZbl+5\nj9Xpp58OQNeuXd2+TGlqqfxiA3FLoypnK6ywQtq+X3/9tQQ9WTpFckREREREJFESFcmxQgB+QYDa\ntWsD4YXusl1x2mTcTp06AdClSxfXZneibSE4v3RhXK9ic2WLfN5www1un921szHMlUUOXn75ZbfP\nXxAvqdZYYw23bZEri6bUNCsyYKWCIZisb5PVIfMdmJpik/79xf6MRU+mTp0KBMU8oPqLnj766KNu\nOzWS42vQoEGoL+XE7syecMIJkV/j8MMPD/33okWL3LYtZClBGVq/qIe/MGg+bOG8cmXnlD59+rh9\nFkEtFj96Waks0pqpYI1FqK1QEpT/0g32m25p0Rgr9GNZKH7myF9//VVDvas8/fr1K3UXcqZIjoiI\niIiIJEqiIjmZFgNt2rQpAOeee67bN27cuNDz/DzPc845BwgiP/5rWQTH5t+Ue/TGZzn+lvsK2Rdg\ntJK0mRaxtNKgv/32WwF7GH9+vn2+0S9jd9NtXgrAqquuCgTjevnll6c9z6IR/p0r64PNjYHizrHY\ncccdq2yzSJf9e+ihh7o2O6beeuutSO9rizguzeLFiyO9flL5pbRtwcZKZgvI2nnfIpMAL730Uuix\nuc61Oe2004DCLrRcTBbxHzFiRFpbISM6FnnwF9W2c0Sun+8kW3vttYHM848tG6Pcozc++zv9xT1t\nDqItkAxw2WWXAcFxaouDSmFYdLB+/fppbRMmTCh2d3KiSI6IiIiIiCSKLnJERERERCRREpWuNm/e\nPABmzJjh9lk6zIABA9y+8847DwhCoH6hAttnpQd79uzp2vzQedLUrVsXWPrEWBtbK8hgq80LtGrV\nym37IfRUlv6SadVzm4Dvl1Zu164dEITnc/XTTz/l9fhCs8+QlZv1UyH9FeIhPF72PP/xd955Z87v\nm7rifFUWLFiQ82smhV/q3lJybUJuOU0mLQZLi7rooouAcGnuHj16RHpNv4R5ObN0IID77rsPCBf5\n6Nu3b+jxlmoLMHr06Cpf11Ks7r//fiCcjuWn8FY6/zeLsRRI+32TJL///jsAN954o9tnRXa22GIL\nt++oo44C4LbbbgNg2rRpxepiRdhggw2AcOqu8ZdUiRNFckREREREJFGWWVLIlTMLJNO76fXfAAAg\nAElEQVRdinzYpDwI7oz7paDt9e1Pt6t+gIceeggILyJVKlH+10Qdu/79+wOZJ7X7jjvuOABuv/32\nSO9TLMUcu6SpqbGzAgoQREgHDhwIhBcKzdSP6667DghHd0yzZs2AYIFRu9uUyVVXXeW27Y5nIUuL\n5jt2xT7m2rZt67YnT54MBGXF7bMN2e+214Ry+Lz26tXLbVt0ctttt13q8/y7ybaI4w8//FCwfpXD\n2MVVuY3dwQcfDASLTWcqsjRnzpyi9KWYY7fHHnsAQdQQMi+E+tprrwGw0047RXqfYim3487sv//+\nADz88MNpbXZsjh8/vkb7kO/YKZIjIiIiIiKJooscERERERFJlESmqyVFqdPVbM0Vf2X0uXPnAvD1\n119Hep9iKddwcBxo7KKLe7qa7/HHHwdgt912A6B9+/auLVNRjJpUbsdcnTp1AOjWrRsAw4YNS2sz\n/vnTL15QKOU2dnFSDmO33HLLuW1LE9pnn30A+Oyzz1zbdtttBwRrrdW0UoydX7DGCqf4Pv74YyC8\n5lcclcNxl0m2dLWpU6cCsOuuu9ZoH5SuJiIiIiIiFU2RnBgr16v9ONDYRaexi66cIjlxomMuOo1d\ndOUwdmuttZbbtgwK64NfNOn4448var/KYeziqlzHbssttwRgyJAhbp9FFffaay8AnnrqqRrtgyI5\nIiIiIiJS0RTJibFyvdqPA41ddBq76BTJiUbHXHQau+jKYexWXHFFt33HHXcA0KZNGyC8EKa/gHQx\nlMPYxZXGLjpFckREREREpKLpIkdERERERBJF6WoxppBmdBq76DR20SldLRodc9Fp7KLT2EWnsYtO\nYxed0tVERERERKSixTKSIyIiIiIiEpUiOSIiIiIikii6yBERERERkUTRRY6IiIiIiCSKLnJERERE\nRCRRdJEjIiIiIiKJooscERERERFJFF3kiIiIiIhIougiR0REREREEkUXOSIiIiIikii6yBERERER\nkUTRRY6IiIiIiCSKLnJERERERCRRli91BzJZZpllSt2FWFiyZEnez9HY/UtjF53GLrp8x07j9i8d\nc9Fp7KLT2EWnsYtOYxddvmOnSI6IiIiIiCSKLnJERERERCRRdJEjIiIiIiKJooscERERERFJFF3k\niIiIiIhIougiR0REREREEiWWJaRFKlXr1q0BOP74492+ww47DIDlllsOgMGDB7u22267DYB58+YV\nq4siItW2wgorAPDss8+6fbvsskvoMTfffLPbPv/88wFYuHBhEXonIkmgSI6IiIiIiCTKMkuirEpU\nw7To0b/KYcGotm3buu3jjjsOgJ49exa1D5mUw9itssoqbtvGbPjw4QCsuOKKOb3GoEGDALjwwgsL\n1q9yGLu40mKg0ZTbMdelSxcATjrpJADWW28913bjjTcCMG7cOAB++umnGu1LuY1d48aNAXjyyScB\naNCgQZWP/euvv9y2Rbdvv/32gvWl3MYuTjR20WnsotNioCIiIiIiUtF0kSMiIiIiIomidDXCqUEr\nrbQSAO3btwdgp512cm377rsvAFtvvXXaa8ydOxcIJk4uWLCg2v0qh5Bm79693fawYcMAaNWqFQCz\nZs0qal98cR47O8aGDBni9p1yyikA/PnnnwBcddVVrs0m5tpxOnHiRNf25ZdfArDNNtsA8M0331S7\nf8UYu2bNmgFw3XXXAUHqis9PAVq0aBEQpAD57LMXB5WQrtaxY0cAJkyYAIRTJa+88spIrxnnz6vZ\ne++93bZ9BrP1247LnXfe2e37+uuvC96vchi7zTbbzG0//vjjAGyyySZpj3vjjTeA4HM+e/bstOcV\nUjmMXVxp7KLT2EWndDUREREREaloFV1CukOHDgBccMEFbt+uu+4KBFfNma4aM+3bdNNNAWjYsCFQ\nmEhOualduzYQnlAv6WyyskVvILiDuc8++wCZ7/jaMfnAAw+4fQcffDAAbdq0AeCRRx6pgR4X3nvv\nvQcE0RoroLA0AwcOTNuXeld95syZrs1KbH/yySeR+yqw7LLB/bCTTz4ZCCKSfoQjaiSnHHTt2jVt\n34MPPggEUS0IjuVGjRoB8Mwzz7i2HXbYAYDffvutxvoZB8sv/+9Pi6222gqA8ePHu7bUCM7rr7/u\ntvfff38AvvrqqxruoSTZ5ptvDoQj/y1atFjq8yyTwr5PIXx8VoJu3boBcOqpp7p9Nh6WYfLaa6+5\nNvve/eyzzwCYPn16UfqZK0VyREREREQkUSoykrPXXnsBcN999wFQp06dgr32HXfcAQSLOkLN5GHH\nkV3Rb7HFFgC8+eabpexObP3+++8A/PHHH26flaTNdqzY+PqRRNvu3LkzUD6RHGN3ve1z4/PvwtmY\n2d9Zr14912Zz5Wws7L8BunfvDgSf+Y8//rhgfY+bddZZBwgfVz/++GNBXnvLLbd02/74AjzxxBMF\neY+4yxSdv+eee4BwpOLll18G4NxzzwXgyCOPdG2WNTBgwICa6mYsbLvttgC88soraW12fL766qsA\nHHLIIa4tyRGc+vXrA0G0HoJIc7769esHwJQpU9y+du3aAbD66qsD4QwVi8TOmDEjrQ9Jyjq56aab\ngOCY8n+D2PIM5sMPP3TbFp22CJAfbayUSI4dUxat+eeff1ybbZ922mlAOLJvbfPnzweC71yIR1RH\nkRwREREREUkUXeSIiIiIiEiiVEy6mj859q677gIKm6ZmLMzZq1cvt2/o0KEFf584sonxVkY7U7lf\nCVIU/HLPX3zxRbVes1wn1lu6z+LFi90+C38//PDDbp+lotWqVQuAli1bura2bdsCsOGGGwJw7LHH\nujb7PI4aNQoIUjqSyEqN+6kWVgLfCj1EZePne+mll4BkFxuAoAT0eeed5/YtXLgQgOeeey7t8XPm\nzAGC1A47PiHZZWCbNm3qtu1znYkVYthvv/1qvE9xsvHGGwNwww03uH22HIV9liA419nn2ArV+Oxc\n9/3337t9lqaW+joQnFObN28OBAUeAG655ZY8/5J4WXvttd22TZq3dFBLX8vET7mydHFLV/OdeOKJ\nQFASviZKmRebTaewwkUQnK/sHOWPT+o+/zxm+zbaaCMgXKBF6WoiIiIiIiIFlvjFQC2Cc+edd7p9\ndevWzbkP/iRem2C75pprAkHEIpNLL73UbWcqe5uLclgwyr+LYpNGX3zxRSBYULUUymHs8mWluf3J\n5HYXxUo8FuLOSbmP3dtvv+22rYStTYD2F2asCaVcDPSvv/5Ke00rk58p4pALK2bgT+C1u8g2sf6K\nK66I9Nq+OB9zVrRi0qRJbt/o0aOBcNSwKiuvvHLavkKWkC712K2wwgoA3H333W7fAQccEHqMFRkA\nOPDAA4F4THgv5thZBolFG6p6zVz6lG2Ji1web8UxIFg2I1+lPu6MHzmwxaWbNGkCwK+//lrl8+y4\nheA71cri+wWA7PNrmQV+lk5UpR47i7T6kRyL9tlvCr/wgP2uuPbaa4GgaNfSnuePcaFoMVARERER\nEalousgREREREZFESWThAb/IgKWpZUpR+/zzz4HwxLuePXsCwSRKP0RoEyY//fRTIHu6WqZ1P5Lo\n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\nk9YnWxrDlgmAoPhMHIoMlMNxd9ddd7ltiyZasQZbXBbgwAMPBODNN98E8l+INV/lMHbZ/P33327b\nIo8W0fGjPOPHjy/4e+c7dorkiIiIiIhIougiR0REREREEiVRhQcyeeedd4DwGgc2WXTgwIFA5rr9\nU6ZMAWDy5Mlu3/DhwwEVGcjVBRdcUOouSBnz19awCcw9evQA4K233nJtFsbPNLneCg7Yuh3+5OWa\nTiOKgy5dugBB6p+fLhqHNLU4s/Tkli1blrgnkiT+eS3buiyWTuun2kt+rEgUBMVCzjvvvLTH2Zp1\nNrFesvNT51R4QEREREREpIgSX3ignJX75LRS0thFp7GLLm6FB8qFjrnoNHbRlWLsVlllFbd99913\nA0ExI4BJkyYBQcEBK0AQN+Vw3K288spue8CAAUCQFdCkSRPXZlkA2ZZyKKRyGLtshg4d6rZPO+00\nQIUHREREREREikKRnBgr96v9UtLYRaexi06RnGh0zEWnsYuu1GN31VVXAdCvXz+3b+ONNwbgiy++\nKNj71IRSj10509hFp0iOiIiIiIhUNF3kiIiIiIhIoihdLcYU0oxOYxedxi46patFo2MuOo1ddBq7\n6DR20WnsolO6moiIiIiIVLRYRnJERERERESiUiRHREREREQSRRc5IiIiIiKSKLrIERERERGRRNFF\njoiIiIiIJIouckREREREJFF0kSMiIiIiIomiixwREREREUkUXeSIiIiIiEii6CJHREREREQSRRc5\nIiIiIiKSKLrIERERERGRRNFFjoiIiIiIJMrype5AJssss0ypuxALS5Ysyfs5Grt/aeyi09hFl+/Y\nadz+pWMuOo1ddBq76DR20Wnsost37BTJERERERGRRNFFjoiIiIiIJIouckREREREJFF0kSMiIiIi\nIokSy8IDIiIiUj66dOnitkeOHAnAjjvuCMCcOXNK0icRqWyK5IiIiIiISKIokiMiIiKRbLvttgCM\nHTvW7atduzYAG2ywAaBIjoiUhiI5IiIiIiKSKIrkABdddJHbHjhwYJWPe/755wGYMmVK6L9TtyVd\n27ZtgWCctt9+e9f25ptvlqJL1bbSSisB0L17dwC22mor19a5c+e0x48bNw6A3377DYAxY8a4tp9+\n+gmAv//+u2Y6mxAdO3YEoFu3bmltXbt2BWD11Vev8vmjRo1y2+effz4AX375ZSG7KAljx9Pvv//u\n9q266qoALL/8v1+h/kJ9W2yxBQBPPfUUAA888IBrs3PdP//8A8CNN97o2uy8UG723HNPAFZZZRW3\nb968eQB8+umnJemTiAgokiMiIiIiIgmjixwREREREUmUZZYsWbKk1J1I5Yf+a5KlqWVLUcvVxRdf\nHHrNQojyv6ZYY5eLddZZx21PmjQJgBYtWgDQqlUr11YT6WrFGLsRI0YAcMwxx+T9XqmefvppAI4+\n+mgAPvvss2q/ZlRxOe789JchQ4YAcPzxxwOw3HLLpb13Lv32+zl37lwATj75ZAAef/zxavY4/7GL\n0+c1m5kzZ7ptS8eycfNTrqKKyzGXye233w7A1KlT3b5+/foB0LhxYwCWXTa4X2ipaOa7775z25df\nfnno8bNmzXJtUY+/Uozd5ptv7rYnT54MBEUGAJo2bQrAxx9/XK33qWlxPu7iLo5jd+ihhwJBanim\n97Z+jx8/3rXZ7zdLM99rr71c2y677AJAu3btAJg+fXq1+xnHsSsX+Y6dIjkiIiIiIpIoiY/ktG/f\nHghHa6xwQD5FBny5PG+33XbLs6fpyv1qv2XLlm771VdfBYIIhV944Ntvvy34exdj7KxYgE1C/vPP\nP13bDz/8UOXzbCLzCiuskNb24YcfAnD22We7fY888khe/aquuBx3a6+9ttv+6quvqnzchAkTgOz9\nbtCgAQDbbbed22ePt2PT7tQBLF68OEKPix/JOeecc9x23bp1ARg0aJDbZ8dodfmRHLuLv++++wKl\niYBB8SM5hx12WJWPeeaZZ9x2aiTn2WefddvDhg0rbOcozdj534EXXHBBWrsVZIi7OB93HTp0AMLn\n/3fffReAAw44AIAFCxbk9FprrrkmAPXq1QPgk08+cW2//PJLpP7FcewsknPnnXcW/LWnTZsGBAVF\nAC655JJIrxXHsTOtW7cGYKeddnL7/G2Agw8+OO15p59+OgDXXHNNDfZOkRwREREREalwiY/kPPfc\nc0AQ0SlkX/zXtDtbts8vKR01qhPnq/1cXHrppW773HPPBYK7foMHD67R9y7G2FlU6q+//gLC87H8\n8tCp2rRpAwR3nQBOOumk0GP8UtKbbLIJAJ9//nle/YsqLsddpkjORx99BECXLl1cmz+voSq1atUC\nYP78+W5faqnpdddd120vXLgwQo+LF8mxY+Ktt95y++rUqQNAo0aN3D7/jm0Udkfej+TYPBSbg1GI\n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\ni78wqi1qbN+tK1ascMdKNRIY1dy5c932PvvsAwSL1/br188dUwSnfHbdddeN3qfQyuIrkiMiIiIi\nIrGiixwREREREYmV2K+TU8yKtZZ6IVDfRae+iy4u6+RMnz4dCNKy/vnPf7pjlVHEQedcdOq76Aql\n7/r27eu2bZ0la1u3bt3csREjRmT9taPKd99tvvkfsy1uvfVWt69Xr14ADBs2DIDJkye7Y7bu0IYN\nGxJu8yHffReVFWs47bTTUo7Z+oh33XVXpbZB6+SIiIiIiEhJUySngBXr1X4hUN9Fp76LLi6RnFzT\nORed+i66fPdd06ZNgcQiRltttRUQFFRp0qSJO1ZIE+Tz3XfFrFj7bsCAAUAQtQEYN24cAKeffnpO\n2qBIjoiIiIiIlDRFcgpYsV7tFwL1XXTqu+gUyYlG51x06rvo1HfRqe+iU99Fp0iOiIiIiIiUNF3k\niIiIiIhIrOgiR0REREREYkUXOSIiIiIiEisFWXhAREREREQkKkVyREREREQkVnSRIyIiIiIisaKL\nHBERERERiRVd5IiIiIiISKzoIkdERERERGJFFzkiIiIiIhIrusgREREREZFY0UWOiIiIiIjEii5y\nREREREQkVnSRIyIiIiIisaKLHBERERERiRVd5IiIiIiISKxsnu8GhNlkk03y3YSC8Pvvv2f8GPXd\nH9R30anvosu079Rvf9A5F536Ljr1XXTqu+jUd9Fl2neK5IiIiIiISKzoIkdERERERGJFFzkiIiIi\nIhIrBTknR0REROJvypQpbvsvf/kLAGeeeSYAY8eOzUubRCQeFMkREREREZFY2eT3KGUeKlkhVJGo\nX78+ADfffLPbN2vWLAAGDhwIwG+//VapbVAFjujUd9Gp76JTdbVodM5FV2x9t+WWWwLw1FNPAdCu\nXTt3zP6WX375BYCDDjrIHfv444+z3pZi67tCor6LTn0XnaqriYiIiIhISdOcnDLsu+++AJx++ulu\nn23vv//+AFx99dXu2LfffpvD1kkx+sc//gFAv379ABg3bpw7Nnfu3HI/zwMPPOC2V6xYkaXWiYhU\nvhtuuAGAE044ocz7bL75Hz9NNHotubT99tsDMGnSJLevcePGANx7770p958/fz4Ao0aNykHrJApF\nckREREREJFZ0kSMiIiIiIrGiwgNJrODAK6+8AsCuu+5a5n0bNGjgthctWpT1thTb5LTLLrsMgEGD\nBgHQvXt3d2zEiBEA/PzzzzlpS777zkqgXnPNNW6fnS+bbbZZRm1J/lvWrVvntnv37g3A0KFDozc2\nSb77rpiVeuGBo446CoD//Oc/bt9rr70GwNFHH13m43TORVcMfdeqVSu3bQUHtttuu5S22N9y6623\nAtC3b1937Keffsp6u4qh7wpVsffdbrvt5rYPO+wwAMaMGQNAlSpVyvUc//3vf4HEaQ1z5swB4Ndf\nfy3zccXed/mkwgMiIiIiIlLSVHiAoKQlwMUXXwykj+BIOLvCtls/umCjGv6k+bi55ZZb3HavXr2A\nYAJtNm299dZu+/bbbwfgvffeA+CNN97I+uvlywEHHOC29957byBYLNDXqVMnAGrWrAmkH+mxiaIQ\njBY/++yzAKxdu7aCLZa//vWvQOL/wcSJE/PVnLTsPQrB5OJp06a5fcuWLQPg1VdfBeDHH3+s1Pa0\nbdsWgLPOOsvts++hs88+G4ClS5dWahuyrU2bNgA89thjbp9FcNKxSd6VEb0pdBbxtNt//etfKfex\nyJgfMU1+vP+4G2+8scz7l4p69eoB0LVrVwAuuOACd8y+O4y/PIgVCrL3nv0bYM899wSC7xIISqKn\ni+QUg5133tltV61aFYBtt90WgM6dO6fc336D1KlTx+0bOXIkAMuXL6+sZm6UIjkiIiIiIhIrJR3J\n2WqrrYDEq/AePXok3Gf69Olue8aMGQBcfvnlKY+76KKLAJX0LYsfLYurJk2auO2wCM53330HBCPD\nvsmTJwPw9ttvl/n8Nk9sp512cvvsHLZy5u3bt8+02Xll0ZqGDRu6fWeccQYQRAWgfHm4yZHEdK8H\nweiyjUC1bt3aHVu1atVGX68YWGlTmyPWs2dPd8zmzlXUFVdc4bbts3HTTYPxs0Itr3/llVe67dq1\nawPQvHlzt89Gfr/55hsgfPHnr776CoCpU6dm9No22utHNWrUqAEkfoeccsopQPFFcPbbbz8gmOOw\nww47lHnfmTNnuu0333wTKL3vUX++mn3Op2P3SRfJCdtXavM67DwEGDJkCBB8ztv7GmDKlCkJj/O/\no/v3759wzI9U/POf/wQSz1f/s6/Q+X/LwQcfDAS/ZY844gh3zN6/dv6Ud16MzcuePXs2kBgpHz16\nNAArV66M1PbyKp7/DRERERERkXLQRY6IiIiIiMRKSaerXXvttUBiusX69euBIBXt/vvvd8cs7cLC\nazaZD+D1118HYPDgwZXY4uK177775rsJlc6fMHz33XcDsOOOO7p9Fi63ie6ZOu644wCYMGGC21e3\nbl0AWrZsmXAL4WlxhcImLlrhhOSJn5mwNEBLP7D3MARlQtOly9ikc78ohl8StNicfPLJbju5EEBl\nvA/D0gr9iaZ+ym8hsBRPP63E0j3vu+8+t2+vvfYCgvQWv6ysrYwe9m+7v5VKDmPpqWGFDuwWElNq\niomlvPiff8bS/uzz0E+hLFV+2lm6IgFWTMA+2/3P+3Ql2kvNgQceCATfLxC8Ly2F0lLNICgFHaZa\ntWoAdOnSBUj8vWhpqv5E/MouUBKV30ZLl7XS2ZBYUjsT9nvEvofDWLq0vS7A+++/D5QvPbMiFMkR\nEREREZFYKclIjk0QP//881OO2eKK6SIyNhHNf7yNHEg4f1J+XPkTrG3kIpvmzp0LwLBhw9y+2267\nDQhGm8pTnrUQnHPOOUD5Izj2t7/00ksAzJo1yx178cUXAfj+++9THmej9ieeeCKQOGrcrFmzhPv6\nhQdq1aoFFNdIurXZL2Vu5ca/+OILIHH0sqIsYmQLgEIwSv/555+7ff52IbDRb+svCCYer1mzxu2b\nN29ewq2kd/jhh7vtU089tcz7WaRKEZxwN9xwQ5nH0pWAtselKzldKjp06ADAscce6/ZZpMG+M9NF\nb3y2bMHAgQMB+PLLL90xO4cLMXpjvwUGDBgAhJd99q1evRqAO+64I+WYFeexhZ39wgMbNmwAwguz\nWPTbov1bbLGFO5arheEVyRERERERkVjRRY6IiIiIiMRKyaSr7bLLLm776aefBoLVpP0J2o8//nik\n57eQpk1ATTcJK66shnrybfK2VMzixYvLPOan4BS7m2++2W3bBNK1a9dm9ByWRmCTwP/85z+7Y8np\nav5aTvbZUEzpao8++iiQWFzA0goszSAba9bYOWbpG36agr2ev4aYlAYrtgKJ628AfP311277+OOP\nz1mbSolfhCBZujS3OPKLAxhb02r+/PkbfbyfMmgFqixNzX7rAXz44YcVaWbWNWrUyG3/+9//BhJ/\n+5pFixYBwbpUAHfddRdQ8fTc+vXru+2HHnoICAr/+KlwVqyrsimSIyIiIiIisVIykRwr/wfBKK2N\nCvfp08cd80ufbszYsWPdtk3otclddlVcStKtOJ+unKpkj604DzBixIg8tiS9Cy+8EAhGyfxSltdd\ndx0AzzzzTIVf5+yzzwaC9+fee+/tjiVHF60tEEy0LHTjx493223btgUS/y4r32yFHrLBIt977LFH\nma83ceLErL1eIatevToA9erVSzlm0fxCK7yQD1aiG8o3ki4V5y9xUWo23zyzn7ZVq1YFgu+ASy+9\n1B377LPPAGjfvj0AH330UTaaWCmsKBakRnD8Qh+jR48GYMWKFRV+TVvawm79IhcNGzYEgsJBFv3P\nJUVyREREREQkVmIfyalduzYAXbt2TTl2/fXXA4l5iZnwF46z5w8b0SsV22yzTZnHmjdvDgTlDEvR\nZpttBgTlnk877TR3bL/99gOgb9++APz000/umJVojBPLCQ4r4x7VIYccAiTmY1spWytdGRZltPv7\n7+dCZ+dL2EKc/rybbJXp9aPdNuenMl+vkFjEys/Tt3PNIjm2cKjPIjn/+9//3L7hw4cDwSLTuSqj\nWpnsfPBHji26ZyPFtvBfedmSDFb6HYKSv34GRanzFwBNXgy01Obh+Oy8s+9aCJYTsOiCv8yDlcE/\n8sgjAejevbs7du+991ZuY7PIL5ltn8/2meP/Hf7vi0xYWernn3/e7bPlQez3jT9Hc+TIkUAQIcvH\nHFdFckREREREJFZ0kSMiIiIiIrESy3Q1K1cHMGnSJCCxpKVNJBs1alSFXsdWboZ4phRlyibmhXnl\nlVdy2JL8sxSoHXfc0e3beeedgfSTwO1xM2bMcPss7cAmw6dbvfrFF1+M1uAiYf3ph+VPOukkIChN\na2kJPksLWrVqldtnZY4tTa0YUofq1q0LBJP/w0qzW5EFgNmzZ1fo9ayfb7rpJrcv+TWz+Xr51qZN\nG7dtqY7HHHMMkFha1ZYhsO+AdGXdLQUGgtXWGzduDCSuTr906dIKtT1fnnjiCSAxXc1SZax4SFgh\nj8MPPxyAXr16uX1WPMPSS/338q+//goE/eQv/VCq0n2vlnK6mqVHWqopBFMJFixYACSmLr/88stA\n8F1i5Zfj4J577gGip6j5bErCxx9/7PZtvfXWQDDtw09ls9/fm276RzzFCgFBsKzBkiVLKtyudBTJ\nERERERGRWIllJOeAAw5w235pWmPl7LKxMJ6IefDBB922lRKPygo1QDDiWR5WwreYWYn3pk2bun1n\nnHEGEExE9hfuNBZh8EfobJTIRt79UeNi1KJFCyCIVvt/q21PmDChwq9jhQ0eeeSRlNdJfr2FCxdW\n+PXyzQqitG7d2u2zEV+bsGsL0mbqpZdectuTJ08Ggv8jf5JuWHGcYhD2dl7LGgAADHNJREFUXjTP\nPvssEIz2Apx11llAsDCgFW+A8PPM2MRmW57BL7qhMt2BUi4dbWbOnAnACSeckHLMzrE33njD7evW\nrRsQFMSJkx49egCJ5aWj/p1WROXcc8/N6HFW5MuP+ttnof8+rgyK5IiIiIiISKzEMpLTsWPHlH12\nJQkwdOjQrLxOu3bt3LbNtyhlNpKefJu8HTdWJtHPN003Ivncc88BwdwwCEZDbdFaf4Q33XMla9as\nmdu26EUhs0XY/LKwVpIyLMc/HSvZ6z+Xjb5/8cUXFW9sAbBSnGHvMVuA0z8PrbxvOieffDIAtWrV\ncvusv8OiY+vWrQOCuWWvv/56hn9F4dlnn32AoDQ0BIv+rV+/Pmuv8+677wLByLGf+//AAw8k3CcO\nbOS2U6dObp/NdYrK5jP5/1elFsnxy5lncizuLAJt50gY+0yz72GITwTn4YcfdtsWbTnvvPOA4HMe\nYNCgQUCwZEU2+b+FbWFvW/w7HxTJERERERGRWNFFjoiIiIiIxEos09XC+GXqLK2lomrWrOm2reRl\nKbOUlnSTlOOoQ4cOQHhKnh8StzKqVrrYLztuJRYtfNyyZUt3zNLhynOOWQlqCFZ0/vHHH90+C1nP\nnz9/o8+VC1dffTWQuLK5SZfi6Bd5mDNnDlBcK1NHZZP8GzRokHLMJnD6aQnp0s6S94UVMQj7t6Wp\nWXpcHFhqR1ip48owdepUAN566y23z9K4ii1d7dNPPwXCUyMPPvjghNsw/nfzJ598AgSl8P0S237x\nglLn94sptZLRe+65J5D4edezZ08gKF4TJs6/Rfzv/xUrVgBw2WWXAbD99tu7Y1acwi9SMXz4cCA8\nPdc+F+02rLCSpZ77qWnJff3444+7bfvur2yK5IiIiIiISKyUTCSnMlx88cUp+0phNFn+YCMWYSOM\ntmCdjSxB+smNVmjAHucvqvjLL78A5YvkbL558Ja2ifv2eAgmWBdKJCdd9C/sfuaII45w2xYRO+20\n04DEEc1vvvkmG80sGGPGjAGCBSqrVauWcp+wCFh59qW7jx+1KfYIjkVK/JLQuV7E1Bae/eGHH9w+\nfyJ9MTn//POBxMU5y1PwwsrR+guwWlTIJksLHH300W473eKfpVA62hb0hKA0+1577ZVyvxdeeAFI\nLMuevOhkJkszFIvVq1e77auuugoIipv4kRMrzFC7dm237+9///tGn98yTvzCSMnSHZs2bZrbzlUx\nIEVyREREREQkVhTJicDyYf2RN8s1tLKjEn+2IKONbvjeeecdIHppSn8BQct1DbNy5UogmJfSqFEj\nd2zbbbcFgvx2KLxR+HvuuQdIXLStPCPa+++/f8p29+7dAVi1apU79v333wNBaU0/gjV+/PiIrc4f\n+/+zRY4rMk/Bctl79+6dcswiZ/Z6Ng8nDixX/ZprrslzSxKjZ/7ihMXEoqVr1qzJ6HH23rzzzjvd\nPjvvLFJZpUqVlMe9+eabAMyYMSPzxhahsPk3xo9ax3lOjn3X+uXxwyI4tvjsKaecAiSeP7a474EH\nHghA/fr1U57fPhvixM4L//zYfffdAahRo4bbZ1kgYRlK5TFs2DAAbrnlFrfv2GOPBYJsknz8PlYk\nR0REREREYkUXOSIiIiIiEislk67mrwJsoTN/ZfSyWJlCCCaRX3TRRQBsttlm7phNuvz1118r2lSJ\ngSOPPBJInICbHKrdcsst3XbTpk0BuP7664HEEpjJk+79FeZ79OgBBKUdLRQPQSi6kNNgLD3AT1ez\ntLOjjjrK7bM+sPdj3bp1y3xOPwRv27byum/EiBFAkLbkp7kVug8//DDS42rVquW2+/TpA6SWmQaY\nPn06UPHV6ePAJjsvXrw4a89ZvXp1ICgEAjBq1KisPX8xaNiwIZD4mZVu0rKxz8hly5ZVTsOKSCkU\nG4AgtTYsde/jjz9221YMyAp7+IV4LLXbPu8snRvC0yLjzCb9h03+90tAR+EXPzC2jIX/2yVXFMkR\nEREREZFYiWUkxyZ9QxB18SepPfroowBce+21QOJIgF1p2v39RY+22WabhNfp1auX27ZR4VJmI8HJ\ntxBMFo0Tm7jepUsXAPbYYw93zEbMbTIepEYK/NEjm2ibjo2Q3HHHHW5f8uKFhVIaOlN+qWc/6prM\n+tWPSBh7r++9995uX9u2bct8Lvt/s9HjqBMui4H1l784bXL5boveQGLp81LXrl07AAYPHpy157TF\nR/2IpC30KgG//P37778PBAuGxp2Vi/ZLSJtWrVrluDX5YUV37LPa99lnnwGJffHVV18BwXfA0KFD\n3TG/0AAkRjHCog8SjZXvBujYsSMQZD3ttNNO7tjy5ctz0h5FckREREREJFY2+X1jq/DlQdiidJnw\ncy379+8PQLdu3Sr0nBCMIFmJvNGjR7tj5cklzlSU/5qK9l1FvPXWW0Awv8QfHbG5FFY2tLLlsu8s\n2nf//fe7ff58rSj8ttiCgQ8++CBQ+aPsxXbelYdFykaOHOn22WKp9t696aab3LGoue6Z9l2u+q1v\n375AEL32X9uiaC1btnTHos75iaoQz7kmTZoA0Lx5cwCGDBmStee2CKyfHZA80lxehdJ3Fp2CYL6X\njaiPGzfOHfvggw+AYG6NX4I/+XvUj676n6/ZUih9FyZd2wrh8zYXfWfzVm1By9atW6fcxxa9BDj+\n+OMBaNCgAZA4t9XYHFV/nmauy28X8nlXUf4iq8nzgf35PvZ7JlOZ9p0iOSIiIiIiEiu6yBERERER\nkViJZeEBPyXKytH6qSi2mryVrgwLf1lxgpdfftnte+yxx4DEyZBSthdffNFt5ypNLR8efvhhIPE8\nsnQNf2JxeVLYrNSinaMQrAiej/KLcTFlyhQgKCMKUKdOHSD4f1u0aFHuG1bJrPSqpamFfdbZKuK5\nTlErdLYKerpy5ZmyFcAbN24MZCeNulA88sgjodtlKZXyx5kKKzSQzIqzpCvSEge2JIctNRDGL8ST\nbP369W7bphdYMYJ58+Zlo4mS5Msvv3TbS5YsAYLPUD9d2pZdqezvXUVyREREREQkVmJZeCAuimFy\nmj+xz0p82gKMzZo1c8dmzZqV03YVSt/5k3EPPfRQIFgI0Cbg+mx04+233856W8qrUPoum/bbbz8g\ncYKplVVesGABAEcccYQ7tnbt2kivU2iFB2yi53333Qckts8mflshlXwqxHPOJtBOmzYNgN69e7tj\nmZSTtugNBAt+2si0RXQgiOJmqhD7rlgUYt+lKx2dqzaURy77zn5nXHLJJW5fp06dgMSlG2bPng0E\nmRD23gWYOnVqpNeuDIV43lUGKzxi/y9+oRX7Lr788svdvvIsgaHCAyIiIiIiUtJ0kSMiIiIiIrGi\ndLUCVmwhzbFjxwLBui5hqxTnSrH1XSGJU99Z6qRNMvXTK63NgwYNAqBXr14Vfr1CTVe79957AVi4\ncKE7dtBBB1Xqa2eikM+5gQMHAompp/369Utow5/+9KeUx22//fZAYhrk3XffDQTpg8uWLatw+wq5\n7wpdIfZdedpUCP9/hdh3xaLU+q5Vq1ZAYmpavXr1AJgwYYLbV55CGkpXExERERGRkqZITgErtav9\nbFLfRVfsfeevHP/kk08C0KhRo5T7TZo0CQhKKEctNuArtEhOsSiGc+6CCy5w2507dwaC0ch0k5r9\nggVLly7NeruKoe8KVSH2nbXJJmZbMRoorJLRhdh3xUJ9F2RZrF69OqPHKZIjIiIiIiIlTZGcAqar\n/ejUd9Gp76JTJCcanXPRqe+iU99Fp76LTn0XnSI5IiIiIiJS0nSRIyIiIiIisaKLHBERERERiRVd\n5IiIiIiISKwUZOEBERERERGRqBTJERERERGRWNFFjoiIiIiIxIouckREREREJFZ0kSMiIiIiIrGi\nixwREREREYkVXeSIiIiIiEis6CJHRERERERiRRc5IiIiIiISK7rIERERERGRWNFFjoiIiIiIxIou\nckREREREJFZ0kSMiIiIiIrGiixwREREREYkVXeSIiIiIiEis6CJHRERERERiRRc5IiIiIiISK7rI\nERERERGRWNFFjoiIiIiIxIouckREREREJFZ0kSMiIiIiIrGiixwREREREYkVXeSIiIiIiEis6CJH\nRERERERiRRc5IiIiIiISK7rIERERERGRWNFFjoiIiIiIxIouckREREREJFZ0kSMiIiIiIrGiixwR\nEREREYkVXeSIiIiIiEis6CJHRERERERiRRc5IiIiIiISK7rIERERERGRWPl/EGcKITs7ZsQAAAAA\nSUVORK5CYII=\n",
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# takes 5-10 seconds to execute this\n",
"show_MNIST(train_lbl, train_img)"
]
},
{
"cell_type": "code",
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAAKoCAYAAABUXzFLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xe4E9XWx/EvinQFpFcrgiiCDdsF8dKkKcWOvSCICipY\nKIpiwYIKKIiCIiqogA0bNpDXXgBRsILYRUSRZkPy/uFdMzsnOSEJKZM5v8/z3Me5s3OSfTaT5Mxe\na69dKhKJRBAREREREQmJbfLdARERERERkUzSTY6IiIiIiISKbnJERERERCRUdJMjIiIiIiKhopsc\nEREREREJFd3kiIiIiIhIqOgmR0REREREQkU3OSIiIiIiEiq6yRERERERkVDRTY5j/fr1DBw4kLp1\n61KuXDlatGjBww8/nO9uBd66deu49NJL6dChAzVq1KBUqVKMGDEi390qCK+88gpnnnkmTZo0oWLF\nitSrV4+jjz6a999/P99dC7RFixbRpUsXGjZsSPny5dlxxx055JBDePDBB/PdtYI0adIkSpUqRaVK\nlfLdlUCbN28epUqVivu/t956K9/dKwivvfYanTt3pmrVqpQvX55GjRoxcuTIfHcr0E4//fRirztd\ne4ktXLiQ7t27U7duXSpUqECTJk245ppr2LhxY767FnjvvPMOHTt2ZPvtt6dSpUocccQRvP766/nu\nVkpK57sDQdKzZ0/effddRo0axR577MG0adM48cQT2bx5MyeddFK+uxdYq1ev5u6776Z58+Z0796d\nSZMm5btLBWPChAmsXr2aAQMG0LRpU1atWsXo0aM5+OCDmTNnDv/973/z3cVAWrNmDQ0aNODEE0+k\nXr16bNiwgYceeohTTjmFFStWMGzYsHx3sWB89913DBo0iLp16/Lbb7/luzsF4frrr+eII46IOrf3\n3nvnqTeFY9q0aZxyyikcd9xxTJ06lUqVKrFs2TK+//77fHct0IYPH07fvn1jznfr1o2yZcty4IEH\n5qFXwbd06VIOPfRQGjduzO2330716tWZP38+11xzDe+//z5PPvlkvrsYWO+++y6tW7emZcuWPPDA\nA0QiEW666Sbatm3L3LlzOeSQQ/LdxeREJBKJRCLPPPNMBIhMmzYt6nz79u0jdevWjWzatClPPQu+\nzZs3RzZv3hyJRCKRVatWRYDIVVddld9OFYiVK1fGnFu3bl2kVq1akbZt2+ahR4XtoIMOijRo0CDf\n3SgoXbt2jXTr1i1y2mmnRSpWrJjv7gTa3LlzI0BkxowZ+e5Kwfn2228jFStWjPTr1y/fXQmFefPm\nRYDIsGHD8t2VwBo6dGgEiHzxxRdR5/v06RMBIr/88kueehZ8HTt2jNSqVSuyYcMG79zatWsj1atX\njxx66KF57FlqlK72P48//jiVKlXi2GOPjTp/xhln8P333/P222/nqWfBZyFzSV3NmjVjzlWqVImm\nTZvyzTff5KFHha169eqULq0AdbIefPBBXn31VcaPH5/vrkjITZo0iQ0bNnDZZZfluyuhMHnyZEqV\nKsWZZ56Z764E1nbbbQdA5cqVo85XqVKFbbbZhjJlyuSjWwXh9ddfp02bNlSoUME7t/3229O6dWve\neOMNfvjhhzz2Lnm6yfmfjz76iD333DPmD6R99tnHaxfJhd9++40FCxaw11575bsrgbd582Y2bdrE\nqlWrGD9+PHPmzNEfUUn66aefGDhwIKNGjaJ+/fr57k5B6d+/P6VLl2aHHXagY8eOvPbaa/nuUuDN\nnz+fHXfckU8++YQWLVpQunRpatasSd++fVm7dm2+u1dQfvvtN2bOnEnbtm3ZZZdd8t2dwDrttNOo\nUqUK/fr1Y/ny5axbt46nn36aiRMn0r9/fypWrJjvLgbWX3/9RdmyZWPO27kPP/ww111Ki25y/mf1\n6tXsuOOOMeft3OrVq3PdJSmh+vfvz4YNGxg6dGi+uxJ45513Httttx01a9bkoosuYuzYsZx77rn5\n7lZBOO+882jcuDH9+vXLd1cKRuXKlRkwYAATJ05k7ty5jBkzhm+++YY2bdowZ86cfHcv0L777js2\nbtzIsccey/HHH89LL73E4MGDmTp1Kp07dyYSieS7iwVj+vTp/P7775x11ln57kqg7bzzzrz55pt8\n9NFH7Lbbbuywww5069aN0047jTFjxuS7e4HWtGlT3nrrLTZv3uyd27Rpk5fVVCh/Eyuvw5Eo5Urp\nWJILw4cP56GHHmLcuHHsv//++e5O4A0ZMoSzzz6bn376idmzZ3P++eezYcMGBg0alO+uBdqsWbOY\nPXs2Cxcu1GdbCvbdd1/23Xdf7/+3atWKHj160KxZMy699FI6duyYx94F2+bNm/njjz+46qqruPzy\nywFo06YNZcqUYeDAgbz88su0a9cuz70sDJMnT6ZatWr06NEj310JtBUrVtCtWzdq1arFzJkzqVGj\nBm+//TbXXnst69evZ/LkyfnuYmBdcMEFnHXWWZx//vkMHTqUzZs3c/XVV/PVV18BsM02hREjKYxe\n5kC1atXi3pn+8ssvAHGjPCKZdPXVV3Pttddy3XXXcf755+e7OwWhYcOGHHDAAXTu3JkJEybQp08f\nrrjiClatWpXvrgXW+vXr6d+/PxdccAF169ZlzZo1rFmzhr/++gv4t3Ldhg0b8tzLwlGlShW6du3K\n4sWL+f333/PdncCqVq0aQMyNYKdOnQBYsGBBzvtUiBYvXsx7773HySefHDedSHyXX345a9euZc6c\nOfTq1YvWrVszePBgbr/9du69915effXVfHcxsM4880xGjRrFAw88QP369WnYsCFLly71JhDr1auX\n5x4mRzc5/9OsWTM+/vhjNm3aFHXe8g5VHlSy6eqrr2bEiBGMGDGCIUOG5Ls7Batly5Zs2rSJ5cuX\n57srgfXzzz+zcuVKRo8eTdWqVb3/TZ8+nQ0bNlC1alV69+6d724WFEu1UlSseLa+tSgbu0KZGc43\niz6cffbZee5J8C1atIimTZvGrL2xkttaa53YZZddxs8//8yHH37IihUreOONN/j111+pWLFiwWSa\n6FPlf3r06MH69euZNWtW1Pn777+funXrctBBB+WpZxJ2I0eOZMSIEQwbNoyrrroq390paHPnzmWb\nbbZh1113zXdXAqt27drMnTs35n8dO3akXLlyzJ07l2uvvTbf3SwYv/76K08//TQtWrSgXLly+e5O\nYPXq1QuA5557Lur8s88+C8DBBx+c8z4Vmj///JMHH3yQli1bauI1CXXr1mXJkiWsX78+6vybb74J\noIIrSShbtix77703O+20E19//TWPPPII55xzDuXLl89315KiNTn/06lTJ9q3b0+/fv1Yu3Ytu+++\nO9OnT+f555/nwQcfZNttt813FwPtueeeY8OGDaxbtw74dxOumTNnAtC5c+eoMoTiGz16NFdeeSVH\nHnkkXbp0idm5Wl/88fXp04cddtiBli1bUqtWLX7++WdmzJjBI488wuDBg6lRo0a+uxhY5cqVo02b\nNjHnp0yZwrbbbhu3Tf510kkneSmS1atX5/PPP2f06NGsXLmSKVOm5Lt7gdahQwe6devGNddcw+bN\nmzn44IN57733uPrqq+natSv/+c9/8t3FwHviiSf45ZdfFMVJ0sCBA+nevTvt27fnoosuonr16rz1\n1lvccMMNNG3a1EuVlFgfffQRs2bN4oADDqBs2bJ88MEHjBo1ikaNGjFy5Mh8dy95ed6nJ1DWrVsX\nufDCCyO1a9eOlClTJrLPPvtEpk+fnu9uFYSddtopAsT935dffpnv7gXW4YcfXuy46e1ZvHvvvTfS\nqlWrSPXq1SOlS5eOVKlSJXL44YdHHnjggXx3rWBpM9Atu+GGGyItWrSIVK5cObLttttGatSoEenR\no0fknXfeyXfXCsLGjRsjl112WaRBgwaR0qVLRxo2bBi54oorIn/88Ue+u1YQ2rdvH6lYsWJk7dq1\n+e5KwXjllVciHTp0iNSuXTtSvnz5yB577BG55JJLIj///HO+uxZon376aaR169aRHXfcMVKmTJnI\n7rvvHhk2bFhk/fr1+e5aSkpFIqrbKCIiIiIi4aE1OSIiIiIiEiq6yRERERERkVDRTY6IiIiIiISK\nbnJERERERCRUdJMjIiIiIiKhopscEREREREJFd3kiIiIiIhIqJTOdwfiKVWqVL67EAjpbGGksfuX\nxi59Grv0pTp2Grd/6ZpLn8YufRq79Gns0qexS1+qY6dIjoiIiIiIhIpuckREREREJFR0kyMiIiIi\nIqGimxwREREREQkV3eSIiIiIiEio6CZHRERERERCRTc5IiIiIiISKrrJERERERGRUAnkZqAiJU3F\nihUBaNmyJQDPPfec11a2bFkAZs2aBcCJJ57otf3999+56qJIaNWtWxeASy65JKatUaNGAHTp0sU7\nt802/84Pzp49G4AhQ4Z4bR999FHW+ikiIslTJEdEREREREJFNzkiIiIiIhIqpSKRSCTfnSiqVKlS\n+e5CQm3atAHgqquuijl3xBFHADBv3rytfp10/mmCMHbbb789AE8++aR37vXXXwfg8ccfB2DBggVZ\n7UMQx27HHXcEYM899wTguOOO89pOPvlkACpXrlxsv+x3mj59utd2yimnZLyfQRy7QpHq2OVz3Oy1\nLQ2yR48eXludOnUA+PHHH3PSl1xec/b51LNnT+/cHXfcAUDp0n4G93vvvVfsc5QrVw6AfffdF4Bv\nv/3Wa9t///0BWL16dVr9S5Xer+nT2KVPY5c+jV36Uh07RXJERERERCRUFMnZAovQgB+5cc8VxyI6\nkH5Up1Dv9keOHAnAFVdcEdNmi3IPOugg79yff/6Z8T7kY+zcWeD99tsPgHPPPdc7165dOwDq1auX\n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\nPolIuCiSIyIiIiIioaJIjoiIiOTU7NmzAdhvv/28c1999RWgSI6IZIYiOSIiIiIiEiqK5Ehe1KtX\nzzt+6aWXotquueYa73j69Ok561O2NWzYEIDWrVsD0LJly2IfW6dOHe/477//BuCYY44BYOXKlV7b\n448/DsCYMWMAWLZsWQZ7HFw2FgC77747AHvttRcAvXv3Lvbn7rvvPu947NixAHzwwQfZ6KKIxHH0\n0UcD0KJFizz3REqSatWqAXDIIYcA0KlTJ6+tb9++AMycORPwI4quq6++GoANGzZktZ+SWYrkiIiI\niIhIqOgmR0REREREQqVUJBKJ5LsTRZUqVSqnr9etWzfveO+9945qe/PNN73jefPm5apLAKTzT5Pr\nsUuXLTqF6LAxwO+//+4dt2vXDoC33347pefP99jZ7zRgwADv3IEHHghAlSpViv25v/76C4D33nvP\nO3fooYcCsGLFCgB23nnnmJ/7448/ADjzzDO9c4888kgaPc//2CUyePBgAEaMGOGdK1++fFrPZal9\njRo12up+mVTHLpPj9sMPPwDR6Yxt27YFYPXq1Rl7nWwI8jWXqgYNGkT9/40bN3rH2fh3KISxs1Rd\ngHfeeQeAWrVqxTzO0m4HDhyYk34VwtgFVRDH7sILLwRg//33j2nr0qUL4H//un1J5ne55ZZbALj8\n8su3up9BHLtCkerYKZIjIiIiIiKhUiILD9gMUr9+/QC44oorvLbSpaOHZNOmTd5x165dAXjxxRez\n3cXQ6tWrF+BHNeJxZ+YfffRRwF8sCPD9999nqXdb5l4fdmzXUc+ePb22gw46KOZnP/30UwDuvfde\nILrggrX9888/AKxatcprq127NgDr1q0DYM899/TabBGvzXy6EY4XXngBgF9//TXJ3y74qlevDiSO\n3rhRvx9//BHwZ5L33Xdfr81m3K0AhM0wFyqb4cp2cN6ilBY5WrRoUVZfLygOPvhg77joTLFbBvn0\n008H/H+Hb7/9Nubngh5ZyzS3yErRCI77+XTHHXfkrE8SDscee6x3fNtttwHxPwMtK2f9+vUAzJ8/\n32uzLIlTTz0ViP57o1KlSoCfleH+/ffyyy9vdf8LnX2PWjEg99+jfv36QHQkN9cUyRERERERkVAp\nkZGcHj16ADB8+PAtPna77bbzjmfNmgX4a3Os3CD4M8Y2ey7RbK3T7bffDvgz8vG4szCPPfYYEL3O\nIB/69+8PwGWXXeadc8tggz8b5D7u2Wef9c5ZtCZV7vMCvPbaazHHzZo1A6B9+/Zem82o3H333Wm9\nbhBZzr4bKbOy0E8//TTgR7zAz7++6aabgOhIjpXm/uWXX7LY49xr3ry5d2zvs62NHLjrwJ588knA\nH2db9wOFH9VxozX2e3Xu3DmmLYBLWQOpcuXKQOLNPW2dHcAXX3yR9T4F0R577OEdW6ni4447LuZx\nVvbevl9sDWc8devW9Y4t28C+S6ZMmeK1WfZAoTryyCOLbbPfG+DBBx8Eotf8FmVbVti2BACtWrUC\n4OKLLwZg0qRJXtuJJ54IwFtvvZVqtwuae21aFokb/SrKoj3ffPNNdjsWhyI5IiIiIiISKrrJERER\nERGRUCkx6Wq2gB1iSxYnq2LFioBfitD+C36ZUFvcZukxEL3AvCTZZ599vGNLJapTp84Wf84tuXrR\nRRdlvmNpsAWxbtEDS1+cMGECEJ2qk+vF/tdeey0Qna6211575bQPuWDj36ZNm2If446B/dvsuuuu\nMY+bMWMGUHJTZFLhpmpZwY2qVasCcPjhh3tthZqu9sQTTwDRqXfplia3xc9WmMFNDSppBQcsXSje\nWNrn5+TJk3PapyCyawagY8eOgF98xk2Zv+CCCwB4//33AT8FK56TTz7ZO3aLK7k/D4X7njXx/p6z\nsZs7d653LlGaWlHud4IdW8EfS1sD2H777VPrbIGyv8NuvfXWtH7eUtouueSSjPUpWYrkiIiIiIhI\nqIQykuNGC2zxtbs4rUKFChl/TXtOmwk87LDDvDabRbFFgyXFGWec4R27iyC3JN1NLLPJFh+7ZYaD\nNCvrlqktaayQiJXw7t27d7GPff31173joEQJt0aTJk2843QjD8lwo9bmzz//BGDJkiVZe91ssM9q\n93PGtgfYvHlzsT83bdo073jBggUAfP7554AfqZZo7oL6oq655poc9iSYdtppJyB6E3LLZLBotRuR\nt2vQooPbbrut12bX4G677QbAueeeG/N6Vjb566+/zkT3A8EtBX388ccDULNmTSB67LY2Yn/XXXcB\ncM4553jnEhV+KFQWtbespHjcNotsWeGBeNEey5rIB0VyREREREQkVHSTIyIiIiIioRLKdDV34bG7\noC+XypUr5x2PGjUKiK5Hf+edd+a8T7lie8qcffbZKf3c0qVLARg6dGjG+7S1nnvuuXx3QfDTHm0v\n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\nazhVJSGS06lTJwCefPJJIHom1dhMKsB77723xecM4jVn7PvhlFNO8c6de+65ADRs2HCLP++u9frk\nk7h8O2UAACAASURBVE+A6DVl5ocffgDgrbfeSql/QR47Y+tZwX9/2sy4RcXyoRDGLqjyPXa2tmv4\n8OHeuWS28Eg18v/rr78C0L9/fwAeeeSRlPoZT77HLp7mzZsDfqbIMccc47VZ5oT1wf371tYKjxs3\nDghelo4iOSIiIiIiEiq6yRERERERkVApMSWkbUEawH333Qf4ZX6zwS0baoulTzjhBO/c66+/nrXX\nzrd46SuSOQcddJB33KtXL8AvhxxWxx13HADnnXceAAcffLDXZulQ1maFGuJxU46saEP9+vUz29kQ\nqlGjhnc8YsQIIP773FI53n///Zz0K9Pq1KnjHZ9++ukAnH322QDsvPPOxf7cqlWrvGNLm7TCK19+\n+aXXtmLFigz1tDCUL18e8FMbwb+W5s2bl48uBV6ZMmUA2HPPPYt9TNeuXQG/IMuWWElk+4y0Ihfg\nL7YvBG6JevsccosLWCrTunXrgOgCKH/++ScAzzzzDAB33nmn1/bss88CcMABBwDRfy/aZ4I93n4e\n/O0dCo2NY/fu3b1z9957LxC9pYr55ptvAGjQoAEQXSzEUgRtWYab6h2vTHeuKZIjIiIiIiKhEvpI\njt2R/9///Z93LtWF38l44403ADj00ENj2urWrQvA/PnzvXNW4CBMqlSpAsTf7NL93cNm8uTJwJYL\nDxTlzm7adVqtWrUt/pw702Kb0IbdnDlzov7bokULr+3jjz8G/Jm6RNxZv6IRHFtgWqh23313wJ9R\ng8xtxOmW195vv/2i2txIxciRI4H0y3nni83Wuu/J/fffv9jHW3EAmyleuHCh11bSojWJ9O3bF4iO\nBC5duhSIX3q8KItqgF/kwUpsuwVGgsyi0Ml+P9gsuW2Wmkl2nf7000/euZ49ewL+3zBBZhEXgDZt\n2sS02zYLFoW1Qh/xHHHEEcW21apVyzu2giBVq1YF4L///a/X5paaLiT2Hpo2bVpM29y5cwG46aab\nvHNvv/02ED+6aBu723XuFpyy7Rnc6FeuKZIjIiIiIiKhopscEREREREJlVCmq7l7h1iRATdFrWi6\nmrt/je3ifdhhhwFw1llnxTy/pcfcfPPN3rmiYTl3p/uSwurWW3re6tWrvbbPP/88L33KhYceegiI\n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\n0D59+gDxCwqkOjNud+9uKcFcL+AuhLt9RXIywzYHtNlN93q1GVI3QlGUlbcslJlhK+05fPhwAJo3\nb+61WXQn1de2ggUWvQE4/vjjgdwtqlck5//Zu/N4q6b/j+OvDJlFShqQIVOIDKUSZUpllmQmQypf\niTInmVOmjBWFb4QmKSHxiyhTX1OZCQ1IxlBIvz88Pmuvfe+5p3v2PcM++7yf/9j2OvecdVf7nHP3\n+nzWZ0UT5/ervY5fKOSWW26p9M/7G4Xa9ZjNjS3jPHZxF5ex+/nnn92xff7Z6/jFQnI9S56JuIxd\nOv52Ivbesz6k6r99h/jv9bKFrbKhGMYunVSRHCu+YgWAIHoRoXQUyRERERERkZKmmxwREREREUmU\not0nx2eFB+y/kj+2ezBAu3btCtiT4jZt2jQAjj/++HJtFhq2Bah++oLJRppaPtl+GPZff7GtpZ8e\nc8wx7pxfpKEs23/oqquuAuDFF1/MbmelpFl6xJAhQ9w5e78dfPDBQPj6ff/990OP8QtuFNv7VPLP\nUmutiIxdT5K5rl27uuMvvvgCCArUWLEfCMbYvlvT7eskqTVt2hQIFwXzi2YUiiI5IiIiIiKSKIko\nPJBUxb44rZA0dtFp7KJT4YFodM1Fp7GLLi5j17hxY3e8YsUKIFyWPI7iMnbFqNjHzqJhANdee22o\nzQqAAdx///1Zf20VHhARERERkZKmSE6MFfvdfiFp7KLT2EWnSE40uuai09hFp7GLTmMXXbGP3brr\nruuOrUz37rvvDgTbYQB8+umnWX9tRXJERERERKSk6SZHREREREQSRelqMVbsIc1C0thFp7GLTulq\n0eiai05jF53GLjqNXXQau+iUriYiIiIiIiUtlpEcERERERGRqBTJERERERGRRNFNjoiIiIiIJIpu\nckREREREJFF0kyMiIiIiIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSRTc5IiIiIiKSKLrJ\nERERERGRRNFNjoiIiIiIJIpuckREREREJFF0kyMiIiIiIomyRqE7kEq1atUK3YVYWLlyZcY/o7H7\nl8YuOo1ddJmOncbtX7rmotPYRaexi05jF53GLrpMx06RHBERERERSZRYRnJEREQkeYYMGQLAscce\nC8CWW27p2v7888+C9ElEkkmRHBERERERSRTd5IiIiIiISKIoXU1ERERyZo01gj819t13XwBq1qwJ\naEG1iOSOIjkiIiIiIpIoiuSswvTp092xzUDNmTMHgLZt27q2xYsX57djIiIiRaBLly7ueNdddwXg\n0ksvBWD58uUF6ZOIJJ8iOSIiIiIikiiK5JRhZS1PPvlkAB5//HHXtt566wGw++67AzBlyhTX1q1b\nNwDefPPNvPSzGPibNv3vf/8DoEOHDgAsWrSoIH2S+FtrrbWA4P0G0KJFCwBatWpV7vH169cH4MQT\nTwTCOf52Dc6YMQMIv2dvuOGGbHZbRCpg0Rvfd999V4CeiEgpUSRHREREREQSRTc5IiIiIiKSKNVW\n+jlFMZHvkpJWyhKCtJa///4bCIfZ119/fQAuv/xyAHr37u3avv76ayBIq8lGKD7KP02cynGuWLHC\nHdvv0qNHDwDuu+++nL52XMZugw02cMd169YF4IADDgBgxx13dG2WonX22WeXew77XVL179VXXwVg\n4sSJANx2222uLeqC3nyO3dprrw1Anz593Ln9998/9N9s+u2339yxpbdNmzYNgN9//73Kz5/p2FVm\n3Oy6AWjWrBkAl112GQDXX3+9a5s6dSoQ/h2LRVzer8UozmNn7+833njDnbM0VPuu/Oabb/LSl1Ti\nPHZxF+exa9KkCQDt27d352wpgi03SJXW/NFHHwEwa9Ys1/bWW28BMHLkSACWLl1a5f7FeewqY+ON\nN3bH1113HQCdOnUC4IknnnBt559/PgB//fVX1l4707FTJEdERERERBKlpCM59jp2twkwePBgAG68\n8UYgiNqk0q9fP3d8ySWXAMFMgJWbhuh3/sV6t2/jecstt7hz9rvMnDkTCI9PLhR67CwCaLMcEJ5V\nypUrrrjCHUddWJ+rsfM3BLTy6xdffDFQ+aiNzQi9/fbb7tz8+fMBGDVqVIU/Z8/fs2fPcm0WVeze\nvXul+pBOLiI5Rx55pDseN25chY+z33GTTTZx58aPH59Rfwql0O/XYhbnsWvTpg0QREshiELad2wh\nxXns4i6OY3fXXXcBcNpppwFBJHFVfanM7/L0008DcNhhh1Whh5V/vbIKed2tu+66AOyzzz4A3HPP\nPa5t2223rfDn7O+g999/P2t9USRHRERERERKWkmXkN5mm22AIHoD8OOPPwLBjEA6AwYMcMfz5s0D\nYMSIEUB4VnjgwIFV7msx2XzzzQvdhYJYffXV3bHNdDRv3tyd++eff4AgB3306NGu7c8//wRg2LBh\n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\nqvr27evOde3atQq9yx/7d/ePyy7srogtArUFx5laf/31V/kYPz3Brlt/UW9c+Qv9v/76ayC8OU3P\nTwAAIABJREFUmP36668HUpcYP/fcc4EgldQvxWrlk60kdFJKlK+Kvxh5zTXXDLWlKoVtC/FtnCFI\nhzF+gRK79rfddlsgXOyhXbt2QHZK0RerddddFwh2rE/F0gBLhf/eGzFiBAA9evQo9zj7fLzxxhvz\n07EC69SpExBOWyxbDKt58+bueKuttgKC9DZLk4fgezSu2wcokiMiIiIiIomSyEhO79693bEtjLfN\nEgEef/zxnPehY8eO7thmB222MKnKllX1o1kWxUr6gr6obBbUSjp2797dtdnspF3XL730Up57Vxj+\nosWqbkxmC8ttRgqCWSybZbZyy3HjFzGxzeossrUqVS16YpvkpSsB7M/g+wtZ486f5bVrINOyxLbZ\n7LfffuvO2SJmW/RcKpEcv/DHzjvvHGr77rvv3LFFou+8804A1llnHddmkRv7jvYjD7bhav/+/QFo\n27ZtudeeN29elX6HYmYLx+0967OoZal9//rRiGOPPbbCx1n2z9ixYwFo1KhRbjtWYLbBqV8syjKc\nLHPE3/LEtid44okngPA1VrNmzdx2tooUyRERERERkURJVCSnfv36QOpc+wceeMAd//jjjznviz9j\nbJssbb755u5cEqM6fvlVgH/++ccdv/POO/nuTlE56aSTAPjPf/5Trs0257rrrrvy2aWC8zfutGiW\nHzUwtuHbTTfdBMD8+fPLPaZ169ZAeD2TrQWwzd6sLDAEpVbj5t577wWCWUm//G423X///QD89NNP\nOXn+uIm6saT9nL+Z41lnnQUE/za2VgKSvbFgOv4mq7aWxiI4/noxy/V/5ZVXgPD7vWyEwv98KLUI\nRSpXXnklkHrzWtsoudRcfPHF7nizzTYLtdk6YYDddtsNCKIYt956q2uzbUiSxEr9+39v2NYDtvbN\noloQvB/t5/wsHdvWwX7Ooj1xoUiOiIiIiIgkim5yREREREQkURKVrmaLqOrVq+fOLV68GIAxY8bk\n9LWtZOYtt9wCQK1atVybpc8lMUWtYcOGlXqc7TYswbWy9957u3NW6tfSsixFDaBbt27561yMTJs2\nzR137twZgKZNmwLh1D1LqVq+fHmFz2WpLX4o3RZHW1ECS9ECmDlzJhC/hcyvvfYaEKTuTJ06NaOf\n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\njRo13PHYsWMBaNOmzSp/zspNQ7BI3sYsbmNXjJ91Vp61cePGQLiYyKhRowAYMmSIO2dR8XTics0V\nI41ddMUwdn4fbRsLs+WWW7rj+fPn561PUPixs2IWzzzzjDuXycbOb775pjs+/fTTgfAmoLlU6LFL\npWbNmkCwFYtllUBQZMu2fCikTMdOkRwREREREUkU3eSIiIiIiEiiKF0txuIY0iwWhR67OnXqAEFx\nC4COHTsC0KJFCyBIwYKg/rx54okn3PHMmTOBYBfxXCv02BWzUkhX69KlCxCkpv3444+uLWoxAl1z\n0Wnsoovz2FmRFb/gkfXXvhP8vV7++OOPvPSrbF8ykYux22CDDdzx9ddfD0D37t3LPc4Wzw8cOBCA\nRx99NOt9qay4jJ3P0uIPPfRQIPg7BWDWrFk5fe1MKF1NRERERERKmiI5MRbHu/1iobGLTmMXXSlE\ncnJB11x0Grvo4jx2F1xwAQCDBg1y56y/FrHo169fXvqSSpzHLu40dtEpkiMiIiIiIiUtkZuBioiI\niBSr2bNnlztnazf9MvkiUjFFckREREREJFF0kyMiIiIiIomiwgMxpsVp0WnsotPYRafCA9HomotO\nYxedxi46jV10GrvoVHhARERERERKWiwjOSIiIiIiIlEpkiMiIiIiIomimxwREREREUkU3eSIiIiI\niEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFNjoiIiIiIJIpuckREREREJFF0kyMiIiIi\nIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSZY1CdyCVatWqFboLsbBy5cqMf0Zj9y+NXXQa\nu+gyHTuN2790zUWnsYtOYxedxi46jV10mY6dIjkiIiIiIpIouskREREREZFE0U2OiIiIiIgkSizX\n5IiIiEhxa9asGQBPPvmkO7fHHnsAsGDBgoL0SURKhyI5IiIiIiKSKIrkZODEE08E4KyzzgKge/fu\nrm3u3Lmhx9aqVcsd24xVmzZt3LlXX301Z/0UEREptIYNGwLw119/uXP+sYhILimSIyIiIiIiiaJI\nTgW23HJLAC666CJ3ziI3Vq+8cePGrq1sJMe35pprAtCyZUt3TpEcESlG06ZNA2DdddcFYJ999ilk\ndwri8MMPB+DII48EYPPNN3dtBx54IAB///03AMccc4xrmzhxYr66GCsLFy50x999910BeyIipUSR\nHBERERERSRTd5IiIiIiISKIoXa0MWyj5zDPPALDddtuVe8ycOXMAGD9+fN76lRS77bYbAFOnTnXn\nXnjhBQBOOeUUAJYvX57/jsVYgwYNAFi6dCkAm2yyiWv77LPPCtKnONtss83c8V577QVAx44dgaBo\nCMDHH38MwAEHHACopG0qa6zx71eEn7ZrBVQmT55ckD7lkp+C3LZtWwA6dOgAQKNGjVybpTOvtlr5\necKVK1cCsPrqqwNw0kknubZSSVerUaMGAAMHDgTgm2++KWR3RNLaZpttADj00EMBuOOOO8o9xv4u\nOeqoo9w5+ztR4kuRHBERERERSRRFcgju3gFGjx4NwAYbbFDucTZzed111wHBwlJZtW233RaAIUOG\nAOES2zbbvvbaawPJj+TsvPPOABx77LHunM0Mb7XVVgCMGDHCtV111VVAUMDCvzZtEa/NHj/yyCOu\n7aabbgJg2bJl2f0FYqB27drueNdddwWgdevWQDhaU6dOndDP2ThBMDPfrVs3AK688srcdDbP7L0G\n8P333wPw008/RXoum5G3zzzfWmutFek548zemwC33377Kh//7rvvAnDbbbe5c02bNgWCDTDff//9\nbHaxKFhRCivI8MUXXxSyO1Ki/M9Ci6iefvrpQFBACmDDDTcEgu/WX3/91bUtWbIECL6jn3jiCddm\n30NJ/I6trFatWgFw9NFHA9CpUyfXVr16dQBOO+00AKZMmZLfzqFIjoiIiIiIJExJR3JsJn3AgAHu\nXNkIzr333uuOL7jgAiD5kYZc6NmzJxDc9fsz6n379gXg559/zn/HcsRmhvbbbz93zkrJ2kyHRa58\nNru07777unM2q/TPP/8A4c30bKbKxrNfv36u7bDDDgu9LsCXX34Z6feJC4vW+JGFFi1aAMHY+ddW\nOk8//TQAd955Zza7WDDt2rUDgt8L4NlnnwWCNUkrVqzI6DltJi6VF198MdMuxpa9jyz66bP32+uv\nv+7O2TUzZswYIDyuI0eOzFU3i8ZBBx0U+v9U41oZtoYTgjVOb731VvSOSaLZd4Cto7P3JwSZEJaB\n40dy7NqaPXs2ACeffLJrs+9pu+4sSln2OZLMPh9tGxU/WlOvXj0g9fpEM3z4cCD8fl68eHHW+5mK\nIjkiIiIiIpIouskREREREZFEKcl0ta233hoIygT6JWfNPffcA8CFF17ozkVNU/vtt98AGDp0aKSf\n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\nrbxvpp+j2VSIsbNiSAD9+vUDwtsD+O0VueaaawDo379/lfpSFXG57vxiDFby3ooBPfXUU67NSsH7\nJbkLRZuBioiIiIhISdNNjoiIiIiIJIrS1WKs0CFN27PAf07bydrSh+Kq0GNXzHI1dqeddpo7tsIV\n5u6773bHkyZNAuCjjz5y56wASNx3rS6mdLU40fs1Oo1ddHEeu1NOOQWAkSNHunMLFiwAglTTb7/9\nNi99SSUuYzdgwAB37KeuQTg99JxzzgHgpZdeAgq710tcxq5ly5bu2NJs7Xu3cePGri1O37tKVxMR\nERERkZKmSE6MxeVuvxhp7KLT2EWnSE40uuai09hFF8ex23///QF46KGHAGjQoIFrs2i4tRVSHMeu\nWMRl7I466ih3PG7cOABuv/12AHr16pX118sGRXJERERERKSkKZITY3G52y9GGrvoNHbRKZITja65\n6DR20cVl7PyNeZ9//nkA9tprLwAmT57s2mxTxn/++SfrfchUXMauGGnsolMkR0RERERESppuckRE\nREREJFGUrhZjCmlGp7GLTmMXndLVotE1F53GLrq4jN0WW2zhjufNmwfAwIEDAbjkkkuy/nrZEJex\nK0Yau+iUriYiIiIiIiUtlpEcERERERGRqBTJERERERGRRNFNjoiIiIiIJIpuckREREREJFF0kyMi\nIiIiIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFNjoiI\niIiIJIpuckREREREJFF0kyMiIiIiIomyRqE7kEq1atUK3YVYWLlyZcY/o7H7l8YuOo1ddJmOncbt\nX7rmotPYRaexi05jF53GLrpMx06RHBERERERSRTd5IiIiIiISKLoJkdERERERBJFNzkiIiIiIpIo\nsSw8ICIiIqVlp512AqB///4AdOrUybWtWLECgGHDhgFw7rnn5rdzIlJ0FMkREREREZFEUSRHRERE\nCqJx48bu+JlnngGgXr16APz555+urWvXrgD897//zWPvRKSYKZIjIiIiIiKJokiOZKROnToA/N//\n/R8AO+ywg2u79tprAbjyyivz3q9istpq/84tnHTSSe6cP5sJ0KxZM3f82muvAcGs5q233uraLE/9\n559/zk1nY2aDDTYAYOLEie7c/vvvD8A///xT7vE//fQTEFybs2fPdm3Tp0/PVTdj64ILLnDH3bt3\nB6B169YALFq0qCB9ktK05ZZbAvDUU0+5cxbBMd26dXPHiuCIb5111gHghBNOcOdOPPFEAF555RUA\ndtttN9f26aefArB06VIAXn75Zdf23HPP5bazUjCK5IiIiIiISKLoJkdERERERBKl2sqVK1cWuhNl\nVatWrdBdiIUo/zS5Hjsr8WkpVOuuu65rmz9/PgD77bcfAPPmzctpX9Ip9NhZWpWl9wGcf/75AIwa\nNQqAV199tcKft/GFICVw4cKFAHz77beubddddwXg9ttvB+Dmm292bcuWLYvU90KPXTpDhw4F4Iwz\nzij32pXp92+//eaOt99+ewC++eabrPUv07HL17ideeaZANx9993u3Bpr/JutbCkd7777bl76kkqc\nr7m4K7axa9iwIQB9+vQB4PDDD3dtlq72zjvvAHDggQe6th9++CHrfSm2sYuTQoydfWYBjB07FoAO\nHTqUe5x9zltqOASpy8ZPb54wYQIQpEFPmzatSv1cFV130WU6dorkiIiIiIhIoqjwgGRk7ty5ALRq\n1QoIRxwaNGgAwM477wzAggULXNtff/2Vry7m3frrrw8EUS4Iii+kmmXq0aMHAG+88YY798gjjwCw\n9dZbAzBnzhzXNmvWLCCYabeF4hAsxm3ZsiUAdevWdW29e/cGokd04ujHH3+ssO2tt94CYK211nLn\n7Fo09m8F0KtXLwAuueSSbHYxVixaddVVVwHhmVCbtSxkBKdY2Qyxf62ZWrVqATBo0CAAvvvuO9dm\n79Pdd9+93M+NHj0agAcffNCdsxnlYv/89MfpvPPOA8JFBYwtBr/mmmuA3ERvpHhZFBBSf7e+9NJL\nAFx00UVAUJwAgmIEZs0113TH55xzDgAPPPAAAM8//7xrs0I/77//flW6nihW7AeC7xb/nLECVW3a\ntMlDr1JTJEdERERERBKlJNfkNG/eHIB+/foBUKNGjUr1pexQ+TmeNvNks+7ZUAx5m375z/bt24fa\nWrRo4Y79iE8+5HPs9t57b2DV//bWp/HjxwPQs2dP1xZ1XYitUTnmmGMA2HjjjV1bo0aNAPjss88y\nes44X3e2BqzstQYwefJkAJo0aeLOzZgxI/QYv58dO3YEYMqUKVnrXxzW5FSvXt0d28z4XnvtVe5x\nBxxwAAAvvvhi1vuQqThfcxtttBEAhxxyiDtn5bctUpbKpptuWuXXnjp1arnXLivOY2fR/Xvuuced\n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\nJCcaXXPRaeyiK7axs7VjP/74IwCDBg1ybX379s1rX4pt7OJEYxedIjkiIiIiIlLSdJMjIiIiIiKJ\nskahOyAiIiIi6f38888ArLaa5qdFKkPvFBERERERSZRYFh4QERERERGJSpEcERERERFJFN3kiIiI\niIhIougmR0REREREEkU3OSIiIiIikii6yRERERERkUTRTY6IiIiIiCSKbnJERERERCRRdJMjIiIi\nIiKJopscERERERFJFN3kiIiIiIhIougmR0REREREEkU3OSIiIiIikihrFLoDqVSrVq3QXYiFlStX\nZvwzGrt/aeyi09hFl+nYadz+pWsuOo1ddBq76DR20Wnsost07BTJERERERGRRNFNjoiIiIiIJIpu\nckREREREJFF0kyMiIiIiIomimxwREREREUkU3eSIiIiIiEiixLKEtIiIiJS2jh07uuMLL7wQgP33\n3x+Af/75x7W1bNkSgFmzZuWvcyISe4rkiIiIiIhIoiiSswobbrihO959990BaN++PQDLly93bf36\n9ctvxyQ2evbsCcCQIUPcuZkzZwIwYsSISj3H4YcfDkCDBg0A+PXXX13bww8/DMCjjz4KwNKlS6vY\nYxGR+Nl8880BGDVqFBB85wKss846QBDB8TcFjLK5oojZc889ARg0aBAAO+64o2urXbs2ACeccAIA\no0ePznPvpCoUyRERERERkUTRTY6IiIiIiCSK0tUqYOHLSZMmuXObbrpp6DF///23O37//feBYOHj\nV199lesuxsJqqwX3yVOnTgWgbdu2AHzyySeubb/99gNg0aJFeexdbh155JEAXH/99UB4IWyzZs1C\n/60KW1R77rnnAuG0uGeffRaAhQsXVvl14mzLLbcEoFatWgC0bt3atW2//fahxx511FHu2FINLJ1l\nxowZru3kk08GSue9KtnXqVMnAI455pgKH2NpVhCkpT711FOh/y9lXbp0cceW9t2oUaNV/twLL7zg\njufMmZP9jkki2XfCDTfc4M6ddNJJAFSvXh2A6dOnV/hzUlwUyRERERERkUSptjKGK/aqVatWsNfe\ne++9AZgwYQIAm222WbnHvP322wA0adLEnbM+W/TiiCOOcG0ffvhhpL5E+afJ99g1b97cHb/yyisV\nPm6PPfYAgrHLtXyMXePGjYEg2rfFFltk/JpVZQslL7744qw9Z6GvO4vS7LDDDu7cNddcA8Amm2xS\n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\ndixOwZBzzjkHCAWhutZiWo3ZmkdNWcaPHw/kV0rX2kMpUlpenGqm7ZNPPjnbp/OTcuqe1ab27dsD\n+RTTu+66q1LDqTpan26//fYrOKbPEivdAw88kG137twZqN51ER3JMTMzMzOzpEz2TxXeflVrK7py\nK+VX43P3L5+70rXWuVt44YWzbTUXUKHna6+9lh1Tc4F4tfONNtoIKB7BqSYTe+4qec0dd9xxQCi6\njSNtH3/8cVnH4tdr6XzuSldr565t27YAPPfccwB8+umn2bGVV165rGOptXNXTWr93HXo0CHbVkOW\nTz75BIDFFlusVX/2xJ47R3LMzMzMzCwpjuRUsVq/268kn7vS+dyVrpYiOdXE11zpfO5KV2vnTpGc\nG264AQiz5xAWuyyXWjt31SSlc3fbbbcB8MMPPwBhce7W4kiOmZmZmZnVNd/kmJmZmZlZUpyuVsVS\nCmmWm89d6XzuSud0tdL4miudz13pfO5K53NXOp+70jldzczMzMzM6lpVRnLMzMzMzMxK5UiOmZmZ\nmZklxTc5ZmZmZmaWFN/kmJmZmZlZUnyTY2ZmZmZmSfFNjpmZmZmZJcU3OWZmZmZmlhTf5JiZmZmZ\nWVJ8k2NmZmZmZknxTY6ZmZmZmSXFNzlmZmZmZpYU3+SYmZmZmVlSfJNjZmZmZmZJ8U2OmZmZmZkl\nxTc5ZmZmZmaWFN/kmJmZmZlZUnyTY2ZmZmZmSfFNjpmZmZmZJcU3OWZmZmZmlhTf5JiZmZmZWVJ8\nk2NmZmZmZknxTY6ZmZmZmSXFNzlmZmZmZpYU3+SYmZmZmVlSfJNjZmZmZmZJ8U2OmZmZmZklxTc5\nZmZmZmaWFN/kmJmZmZlZUnyTY2ZmZmZmSfFNjpmZmZmZJcU3OWZmZmZmlhTf5JiZmZmZWVJ8k2Nm\nZmZmZknxTY6ZmZmZmSXl/wFqvyq3rYL31gAAAABJRU5ErkJggg==\n",
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# takes 5-10 seconds to execute this\n",
"show_MNIST(test_lbl, test_img)"
]
},
{
"cell_type": "markdown",
"Let's have a look at the average of all the images of training and testing data."
]
},
{
"cell_type": "code",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Average of all images in training dataset.\n",
"Digit 0 : 5923 images.\n",
"Digit 1 : 6742 images.\n",
"Digit 2 : 5958 images.\n",
"Digit 3 : 6131 images.\n",
"Digit 4 : 5842 images.\n",
"Digit 5 : 5421 images.\n",
"Digit 6 : 5918 images.\n",
"Digit 7 : 6265 images.\n",
"Digit 8 : 5851 images.\n",
"Digit 9 : 5949 images.\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAACBCAYAAADjY3ScAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJztnXmsVdXZxh8EGQSZp4LgBIoXUYyKQypiLVJRUqmxjbbG\nVq0V0Yqp81BB/SppQqJtorFRYxWlRk3baGtJW1HjgIgjiDOiOBQBleHiUHrP94c+Zz933dfj5Ubu\n3mf7/BJyD3ufYe13v2utvd5pdahUKhUYY4wxxhhjTEnYJu8GGGOMMcYYY8zXiRc5xhhjjDHGmFLh\nRY4xxhhjjDGmVHiRY4wxxhhjjCkVXuQYY4wxxhhjSoUXOcYYY4wxxphS4UWOMcYYY4wxplR4kWOM\nMcYYY4wpFV7kGGOMMcYYY0qFFznCxo0bMWPGDAwZMgRdu3bF2LFj8ac//SnvZhWeDRs24Pzzz8cR\nRxyBAQMGoEOHDpg5c2bezaoLHnjgAZx88skYNWoUunfvjqFDh+L73/8+nnrqqbybVnieffZZHHXU\nURg+fDi6deuGvn374qCDDsLcuXPzblrdceONN6JDhw7o0aNH3k0pNA8++CA6dOgQ/lu4cGHezasL\nHnnkEUyePBl9+vRBt27dMHLkSFx55ZV5N6vQ/PSnP/1SvbPu1eaZZ57BMcccgyFDhmC77bbDqFGj\ncMUVV2DTpk15N63wLFq0CJMmTcL222+PHj164LDDDsOjjz6ad7O2iE55N6BI/OAHP8CTTz6J2bNn\nY7fddsMdd9yB448/Hk1NTTjhhBPybl5hWbt2Lf7whz9g7733xjHHHIMbb7wx7ybVDddffz3Wrl2L\ns88+Gw0NDVi9ejXmzJmDAw88EPPnz8d3vvOdvJtYWD766CMMGzYMxx9/PIYOHYrGxkbcfvvtOPHE\nE7FixQpceumleTexLnjnnXdw7rnnYsiQIVi3bl3ezakLfvOb3+Cwww5rdmzPPffMqTX1wx133IET\nTzwRP/zhD3HrrbeiR48eeP311/Huu+/m3bRCc9lll+H0009vcXzKlCno0qUL9t9//xxaVXyWLVuG\ngw8+GLvvvjuuueYa9O/fHw8//DCuuOIKPPXUU/jrX/+adxMLy5NPPonx48dj3LhxuO2221CpVPDb\n3/4Whx9+OBYsWICDDjoo7ya2joqpVCqVyt/+9rcKgModd9zR7PjEiRMrQ4YMqWzevDmnlhWfpqam\nSlNTU6VSqVRWr15dAVC5/PLL821UnbBq1aoWxzZs2FAZNGhQ5fDDD8+hRfXPAQccUBk2bFjezagb\njj766MqUKVMqJ510UqV79+55N6fQLFiwoAKgctddd+XdlLrj7bffrnTv3r0ybdq0vJtSCh588MEK\ngMqll16ad1MKyyWXXFIBUHnttdeaHT/ttNMqACoffPBBTi0rPpMmTaoMGjSo0tjYWD22fv36Sv/+\n/SsHH3xwji3bMhyu9gV//vOf0aNHDxx33HHNjv/sZz/Du+++iyeeeCKnlhUfuszNljNw4MAWx3r0\n6IGGhgasXLkyhxbVP/3790enTnZSt4a5c+fioYcewnXXXZd3U0zJufHGG9HY2IgLLrgg76aUgptu\nugkdOnTAySefnHdTCsu2224LAOjVq1ez471798Y222yDzp0759GsuuDRRx/FhAkTsN1221WPbb/9\n9hg/fjwee+wxvPfeezm2rvV4kfMFS5cuxR577NHi4WivvfaqnjemPVi3bh2efvppjB49Ou+m1AVN\nTU3YvHkzVq9ejeuuuw7z58/3g1QreP/99zFjxgzMnj0bO+ywQ97NqSumT5+OTp06oWfPnpg0aRIe\neeSRvJtUeB5++GH07dsXL730EsaOHYtOnTph4MCBOP3007F+/fq8m1dXrFu3DnfffTcOP/xw7Lzz\nznk3p7CcdNJJ6N27N6ZNm4bly5djw4YNuO+++3DDDTdg+vTp6N69e95NLCyfffYZunTp0uI4jy1Z\nsqS9m9QmvMj5grVr16Jv374tjvPY2rVr27tJ5hvK9OnT0djYiEsuuSTvptQFZ5xxBrbddlsMHDgQ\n55xzDn73u9/hF7/4Rd7NKjxnnHEGdt99d0ybNi3vptQNvXr1wtlnn40bbrgBCxYswLXXXouVK1di\nwoQJmD9/ft7NKzTvvPMONm3ahOOOOw4/+tGP8K9//QvnnXcebr31VkyePBmVSiXvJtYN8+bNw8cf\nf4xTTjkl76YUmp122gmPP/44li5dil133RU9e/bElClTcNJJJ+Haa6/Nu3mFpqGhAQsXLkRTU1P1\n2ObNm6tRTfXyTOyYDqFWyJXDsUx7cNlll+H222/H73//e+y77755N6cuuPjii3Hqqafi/fffx733\n3oszzzwTjY2NOPfcc/NuWmG55557cO+99+KZZ57x2LYF7LPPPthnn32q/z/kkEMwdepUjBkzBuef\n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\n",
"text/plain": [
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Average of all images in testing dataset.\n",
"Digit 0 : 980 images.\n",
"Digit 1 : 1135 images.\n",
"Digit 2 : 1032 images.\n",
"Digit 3 : 1010 images.\n",
"Digit 4 : 982 images.\n",
"Digit 5 : 892 images.\n",
"Digit 6 : 958 images.\n",
"Digit 7 : 1028 images.\n",
"Digit 8 : 974 images.\n",
"Digit 9 : 1009 images.\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAACBCAYAAADjY3ScAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJztnXmMVtX9xh8WWRxk3zoIuLCJiLghmp+ItUhFSaXGNtoa\nW7VWRCum7mIFtZU0IdE20diosYpSo6ZttLUkrahRBBVBAcENUVzKKssMLqVzf3/o895nzhxehikz\n977X55OQebn3Xc793u85557vdlolSZLAGGOMMcYYYwpC66wbYIwxxhhjjDF7Ey9yjDHGGGOMMYXC\nixxjjDHGGGNMofAixxhjjDHGGFMovMgxxhhjjDHGFAovcowxxhhjjDGFwoscY4wxxhhjTKHwIscY\nY4wxxhhTKLzIMcYYY4wxxhQKL3KEmpoaTJs2DdXV1ejQoQNGjRqFP/3pT1k3K/ds374dV199NU45\n5RT06tULrVq1wowZM7JuVkXw9NNP4/zzz8ewYcNQVVWFfv364Xvf+x4WL16cddNyz9KlS3Haaadh\nwIAB6NixI7p3747jjjsOc+bMybppFcc999yDVq1aoVOnTlk3Jdc888wzaNWqVfTfwoULs25eRfD8\n889j4sSJ6NatGzp27IjBgwfjlltuybpZueYnP/nJLvXOuleeJUuW4IwzzkB1dTX23XdfDBs2DDff\nfDN27NiRddNyz0svvYQJEyZgv/32Q6dOnXDSSSfhhRdeyLpZe0TbrBuQJ77//e/j5ZdfxqxZszBk\nyBA8/PDDOPvss1FXV4dzzjkn6+bllk2bNuEPf/gDDj/8cJxxxhm45557sm5SxXDXXXdh06ZNuPzy\nyzF8+HBs2LABs2fPxpgxYzBv3jx8+9vfzrqJuWXLli3o378/zj77bPTr1w+1tbV46KGHcO6552LN\nmjWYPn161k2sCD766CNceeWVqK6uxtatW7NuTkXwm9/8BieddFK9YyNGjMioNZXDww8/jHPPPRc/\n+MEP8MADD6BTp05499138fHHH2fdtFxz44034uKLL25wfNKkSWjfvj2OOeaYDFqVf9544w0cf/zx\nGDp0KG6//Xb07NkTzz33HG6++WYsXrwYf/3rX7NuYm55+eWXMXbsWIwePRoPPvggkiTBb3/7W5x8\n8smYP38+jjvuuKyb2DgSkyRJkvztb39LACQPP/xwvePjx49Pqqurk507d2bUsvxTV1eX1NXVJUmS\n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\nJA/kAAAAAElFTkSuQmCC\n",
"text/plain": [
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"Average of all images in training dataset.\")\n",
"show_ave_MNIST(train_lbl, train_img)\n",
"\n",
"print(\"Average of all images in testing dataset.\")\n",
"show_ave_MNIST(test_lbl, test_img)"
]
},
{
"cell_type": "markdown",
"Now, let us convert this raw data into `DataSet.examples` to run our algorithms defined in `learning.py`. Every image is represented by 784 numbers (28x28 pixels) and we append them with its label or class to make them work with our implementations in learning module."
]
},
{
"cell_type": "code",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(60000, 784) (60000,)\n",
"(60000, 785)\n"
]
}
],
"source": [
"print(train_img.shape, train_lbl.shape)\n",
"temp_train_lbl = train_lbl.reshape((60000,1))\n",
"training_examples = np.hstack((train_img, temp_train_lbl))\n",
"print(training_examples.shape)"
]
},
{
"cell_type": "markdown",
"source": [
"Now, we will initialize a DataSet with our training examples, so we can use it in our algorithms."
]
},
{
"cell_type": "code",
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# takes ~10 seconds to execute this\n",
"MNIST_DataSet = DataSet(examples=training_examples, distance=manhattan_distance)"
]
},
{
"source": [
"Moving forward we can use `MNIST_DataSet` to test our algorithms."
]
},
{
"cell_type": "markdown",
"source": [
"### Plurality Learner\n",
"\n",
"The Plurality Learner always returns the class with the most training samples. In this case, `1`."
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]