{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "<p style=\"text-align:center\">\n", " <a href=\"https://nbviewer.jupyter.org/github/twMr7/Python-Machine-Learning/blob/master/19-Practical_Autoencoders.ipynb\">\n", " Open In Jupyter nbviewer\n", " <img style=\"float: center;\" src=\"https://nbviewer.jupyter.org/static/img/nav_logo.svg\" width=\"120\" />\n", " </a>\n", "</p>" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[](https://colab.research.google.com/github/twMr7/Python-Machine-Learning/blob/master/19-Practical_Autoencoders.ipynb)\n", "\n", "# 19. Practical Autoencoders\n", "\n", "+ [**19.1 認識自編碼器**](#whatis-autoencoder)\n", "+ [**19.2 淺層自編碼器 Shallow Autoencoder**](#shallow-autoencoder)\n", "+ [**19.3 深層自編碼器 Deep Autoencoder**](#deep-autoencoder)\n", "+ [**19.4 稀疏自編碼器 Sparse Autoencoder**](#sparse-autoencoder)\n", "+ [**19.5 去雜訊自編碼器 Denoising Autoencoder**](#denoising-autoencoder)\n", "+ [**19.6 自編碼器應用 - 異常偵測 Anomaly Detection**](#anomaly-detection)\n", " - [**19.6.1 不平衡分類的評估 Evaluting the Imbalanced Classification**](#evaluating-imbalanced-classification)\n", "+ [**參考資料**](#references)" ] }, { "attachments": { "Autoencoder_schema.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"whatis-autoencdoer\"></a>\n", "\n", "## 19.1 認識自編碼器\n", "\n", "Autoencoder 是一種特殊的 Feedforward 類神經網路(沒有 Recurrent Neural Network 的回溯連結),有一個隱藏層 $h$ 內含某種編碼(code),網路被訓練來盡可能把輸入重現到輸出,訓練的方法一樣使用倒傳遞及梯度下降的演算法。 Autoencoder 的結構可以看成包含兩個部分:\n", "+ **Encoder** - 編碼函數 $h = f(x)$ 將輸入 $x$ 編碼成 $h$。\n", "+ **Decoder** - 解碼函數 $x' = g(h)$ 由編碼 $h$ 重建成 $x'$。\n", "\n", "乍看之下,把輸入一對一直接複製到輸出 $x \\to x$ 完全沒有誤差,這樣就搞定了啊? 這樣可以做什麼? 看起來一點用處都沒有。 但事實上 Autoencoder 是會經過設計以避免完美複製輸入的,也正因為刻意經過調節的部分才會被複製到輸出,所以往往可以從輸入資料學習到有用的特質。 由於是從樣本中自動學習資料的特質,這讓針對特定輸入要訓練一個特定的演算模型變得容易,不需要額外的標籤標註,只需要蒐集適合的輸入資料,所以 Autoencoder 的學習比較屬於是非監督式(unsupervised)的,或跟精確地說是自監督式(self-supervised)的學習。\n", "\n", "\n", "\n", "Autoencoder 有一種基本萃取特徵的方法,就是限制編碼 $h$ 的維度小於輸入 $x$,稱為 **undercomplete**。 已知若不加其他限制,增加隱藏層數(增強非線性編碼能力)、使用編碼層與輸入相同維度的結構、或編碼層維度高於輸入的結構(**overcomplete**),都會導致 decoder 學習將輸入複製到輸出,而沒有真正學習到輸入資料的分布特性。\n", "\n", "經過多年的發展,Autoencoder 衍生出了一些不同的結構,也在一些應用上展現了有趣又有用的成效。 經典的應用如特徵學習特徵學習、降低特徵維度、去雜訊、以及異常偵測,近年來熱門的則是將 Autoencoder 用在生成模型(Generative Model)。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# 基本環境設定\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.style.use('seaborn-darkgrid')\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "import tensorflow as tf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"shallow-autoencoder\"></a>\n", "\n", "## 19.2 淺層自編碼器 Shallow Autoencoder\n", "\n", "### 載入 MNIST 資料集\n", "\n", "使用常用的 MNIST 手寫數字資料集,Keras 有內建方便的載入工具。" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x_train: shape=(60000, 28, 28), dtype=uint8\n", "x_test: shape=(10000, 28, 28), dtype=uint8\n" ] } ], "source": [ "mnist = tf.keras.datasets.mnist\n", "\n", "# 利用 keras 內建的函式庫載入 mnist 資料集,標籤 y_train 及 y_test 用不到\n", "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n", "\n", "# 檢視維度、大小、以及資料型態\n", "print('x_train: shape={}, dtype={}'.format(x_train.shape, x_train.dtype))\n", "print('x_test: shape={}, dtype={}'.format(x_test.shape, x_test.dtype))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x_train: shape=(60000, 784), dtype=float64\n", "x_test: shape=(10000, 784), dtype=float64\n" ] } ], "source": [ "# 將影像正規化在 [0,1] 範圍\n", "x_train = x_train.astype('float') / 255.\n", "x_test = x_test.astype('float') / 255.\n", "\n", "# 第一維樣本數不變,影像從二維 28x28 調整為 784 的一維向量\n", "x_train = x_train.reshape(x_train.shape[0], np.prod(x_train.shape[1:]))\n", "x_test = x_test.reshape(x_test.shape[0], np.prod(x_test.shape[1:]))\n", "\n", "# 檢視調整後的維度、大小、以及資料型態\n", "print('x_train: shape={}, dtype={}'.format(x_train.shape, x_train.dtype))\n", "print('x_test: shape={}, dtype={}'.format(x_test.shape, x_test.dtype))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 建構自編碼器\n", "\n", "首先示範建構一個非常淺層、簡單的、降低特徵維度的、壓縮編碼的 Autoencoder 來學習手寫數字的特徵。 另外,這個 Autoencoder 模型中的編碼器及解碼器也刻意擷取出來,以方便觀察及比較。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "Input = tf.keras.layers.Input\n", "Dense = tf.keras.layers.Dense\n", "Model = tf.keras.models.Model\n", "\n", "def shallow_autoencoder(input_size=784, code_size=32):\n", " '''建立淺層自編碼器模型\n", " 自編碼器的 input size = output size\n", " 預設參數由 784 -> 32 壓縮比為 24.5\n", " '''\n", " # 輸入層\n", " inputs = Input(shape=(input_size,))\n", " # \"encoded\" 是編碼後的輸入\n", " encoded = Dense(code_size, activation='relu')(inputs)\n", " # \"decoded\" 是有損失重建的輸入\n", " decoded = Dense(input_size, activation='sigmoid')(encoded)\n", "\n", " # 建立輸入對應到解碼輸出的模型\n", " autoencoder = Model(inputs=inputs, outputs=decoded)\n", "\n", " # 指定訓練過程採用的最佳化演算法及每個像素的損失函數\n", " autoencoder.compile(optimizer='nadam', loss='binary_crossentropy')\n", " \n", " # 除了自編碼器模型外,也返回 encoder 以方便觀察編碼結果\n", " # 建立編碼器模型對應到 autoencoder 編碼結果\n", " encoder = Model(inputs=inputs, outputs=encoded)\n", " \n", " return autoencoder, encoder" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 訓練自編碼器模型\n", "\n", "注意 Autoencoder 訓練的方式,原本是 y_train 的地方要改傳入 x_train。 所以會說 Autoencoder 不完全是非監督式學習,只是因為要比對的答案就是輸入資料本身,所以不需要額外的標籤。" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From C:\\RnD\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\ops\\resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Colocations handled automatically by placer.\n", "Train on 60000 samples, validate on 10000 samples\n", "WARNING:tensorflow:From C:\\RnD\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\ops\\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.cast instead.\n", "Epoch 1/25\n", "60000/60000 [==============================] - 5s 90us/sample - loss: 0.2262 - val_loss: 0.1573\n", "Epoch 2/25\n", "60000/60000 [==============================] - 4s 70us/sample - loss: 0.1393 - val_loss: 0.1245\n", "Epoch 3/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.1173 - val_loss: 0.1102\n", "Epoch 4/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1073 - val_loss: 0.1027\n", "Epoch 5/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1023 - val_loss: 0.1024\n", "Epoch 6/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0997 - val_loss: 0.0965\n", "Epoch 7/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0973 - val_loss: 0.0959\n", "Epoch 8/25\n", "60000/60000 [==============================] - 4s 70us/sample - loss: 0.0965 - val_loss: 0.0949\n", "Epoch 9/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0956 - val_loss: 0.0938\n", "Epoch 10/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0948 - val_loss: 0.0936\n", "Epoch 11/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0947 - val_loss: 0.0932\n", "Epoch 12/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0943 - val_loss: 0.0930\n", "Epoch 13/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0939 - val_loss: 0.0927\n", "Epoch 14/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0939 - val_loss: 0.0927\n", "Epoch 15/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0936 - val_loss: 0.0928\n", "Epoch 16/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0937 - val_loss: 0.0929\n", "Epoch 17/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0934 - val_loss: 0.0930\n", "Epoch 18/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0932 - val_loss: 0.0935\n", "Epoch 19/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0933 - val_loss: 0.0922\n", "Epoch 20/25\n", "60000/60000 [==============================] - 4s 70us/sample - loss: 0.0932 - val_loss: 0.0922\n", "Epoch 21/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0931 - val_loss: 0.0919\n", "Epoch 22/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0931 - val_loss: 0.0928\n", "Epoch 23/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0930 - val_loss: 0.0920\n", "Epoch 24/25\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.0929 - val_loss: 0.0921\n", "Epoch 25/25\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.0930 - val_loss: 0.0921\n" ] }, { "data": { "text/plain": [ "<tensorflow.python.keras.callbacks.History at 0x24200189748>" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shallow_ae, shallow_ae_encdoer = shallow_autoencoder(input_size=784, code_size=32)\n", "\n", "# 訓練時,原本是 y_train 的地方,改傳入 x_train\n", "shallow_ae.fit(x_train,\n", " x_train,\n", " epochs=25,\n", " batch_size=256,\n", " shuffle=True,\n", " validation_data=(x_test, x_test))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 繪圖工具函式\n", "\n", "在畫面顯示原始影像,以及經過 Autoencoder 編碼、解碼重建的結果。" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import random\n", "\n", "def plot_autoencoder_outputs(original_imgs, encoded_imgs, decoded_imgs, n_imgs=9):\n", " fig, ax = plt.subplots(nrows=3, ncols=n_imgs, figsize=(20, 6))\n", "\n", " for n,k in enumerate(random.sample(range(original_imgs.shape[0]), k=n_imgs)):\n", " # 上面列顯示原始影像\n", " ax[0,n].imshow(original_imgs[k].reshape(28,28), cmap='gray')\n", " ax[0,n].get_xaxis().set_visible(False)\n", " ax[0,n].get_yaxis().set_visible(False)\n", " if n == n_imgs//2:\n", " ax[0,n].set_title('Original Images', fontsize=16)\n", " \n", " # 中間列顯示編碼後影像\n", " ax[1,n].imshow(encoded_imgs[k].reshape(4,8), cmap='gray')\n", " ax[1,n].get_xaxis().set_visible(False)\n", " ax[1,n].get_yaxis().set_visible(False)\n", " if n == n_imgs//2:\n", " ax[1,n].set_title('Encoded Images', fontsize=16)\n", "\n", " # 下面列顯示自編碼器解碼重建的影像 \n", " ax[2,n].imshow(decoded_imgs[k].reshape(28,28), cmap='gray')\n", " ax[2,n].get_xaxis().set_visible(False)\n", " ax[2,n].get_yaxis().set_visible(False)\n", " if n == n_imgs//2:\n", " ax[2,n].set_title('Reconstructed Images', fontsize=16)\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 檢視訓練結果" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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ypUrU9eRpJtuuil1neHDh6euU8g9/8QTT6SuI0n16tVLXWfEiBGVet379euX+rr/5z//SX2eU045JXUdSTrkkENS13nzzTdT15k2bVrqOrNnz05dRyrs2dKlS5dKf9aXlJSkvvY333xz6vP88MMPqetI0uTJk1PX6dSpU+o67733Xuo6Y8aMSV1Hkh599NHUdQ488MBKvfa///3vU1/3M888M/V52rRpk7qOJHXo0CF1nV133TV1nR9//DF1nV69eqWuI0ktWrRIXadNmzaVet0HDhyY+roX8t0kXm4+tYYNG6aus8UWW6Su069fv9R1mjVrlrqOJDVq1Ch1nTvvvDMTz/q777479XlmzJiRuo4kbbLJJqnrXHbZZanrPPPMM6nrjB8/PnUdSWrZsmXqOv369avUa3/KKaekvu7bb7996vO0a9cudR2psO+SXbp0SV2nkL8Fvvzyy9R1JOmggw5KXWfAgAHlXnd61AAAAAAAAGQEiRoAAAAAAICMIFEDAAAAAACQESRqAAAAAAAAMoJEDQAAAAAAQEaQqAEAAAAAAMgIEjUAAAAAAAAZQaIGAAAAAAAgI0jUAAAAAAAAZASJGgAAAAAAgIwgUQMAAAAAAJARJGoAAAAAAAAyom6+wosuuij1AadMmZK6TosWLVLXkaSBAwemrnPYYYelrnPSSSelrrN8+fLUdSTplVdeKaheZZs4cWLqOqNHj05dZ9KkSanrSFLDhg1T17nnnntS16lTp07qOi+99FLqOoWeq7JNmzYtdZ1BgwalrvO3v/0tdR1J+uijj1LXufnmm1PXOeecc1LX6dq1a+o6knTbbbcVVK8yPfnkk6nrFPJcfPPNN1PXkaSNN944dZ1NN900dZ1C7sE///nPqetI0qefflpQvcrWsmXL1HXuvvvu1HW233771HWkwr5T7LPPPqnrjB8/PnWd2bNnp64jSb17905d58ADDyzoXLkceeSRqetMnTo1dZ3TTz89dR1J6tChQ+o61trUdVauXJm6zpgxY1LXkaQhQ4akrlNaWlrQuXKZNWtW6joXXnhh6jqDBw9OXUeS9tprr9R1CvluV8j91Lx589R1JGnhwoUF1ats3bp1S11n2bJlqeusv/76qetIhT2DJ0yYkLpOIc+WY489NnUdSbrgggtS1+nXr19B58qlkHtq5syZqesU8p1QktZdd93UdV588cXUddq3b5+6Tv369VPXkaT77rsvdZ0BAwaU+3N61AAAAAAAAGQEiRoAAAAAAICMIFEDAAAAAACQESRqAAAAAAAAMoJEDQAAAAAAQEaQqAEAAAAAAMgIEjUAAAAAAAAZQaIGAAAAAAAgI0jUAAAAAAAAZASJGgAAAAAAgIwgUQMAAAAAAJARJGoAAAAAAAAyom6+wj59+qQ+YNeuXVPXmTJlSuo6kjR+/PjUdYYPH566zldffZW6zuuvv566jiQtXbq0oHqVrWnTpqnr3HDDDanrFPL7Ikn9+/dPXef5559PXWfrrbdOXadbt26p60jS3nvvXVC9ytS2bdvUdaZPn566zsYbb5y6jiQdfvjhqes0adIkdZ26dfM+GstV6D1///33F1SvMv3000+p6xx55JGp6wwePDh1HUkaPXp06jrdu3dPXWezzTZLXef9999PXUeSxo4dm7rOmWeeWdC58rn88stT1xkzZkzqOg0aNEhdR5K22GKL1HUK+Zw/6qijUtc55JBDUteRpE022aSgepVp2bJlqeucfvrpqesU8j1Nkt55553Udc4+++zUdQr5vfz+++9T15EK+x2rbIV83uy3336p6zRr1ix1HUm69957U9c59dRTU9cpLS1NXWfu3Lmp60jSnDlzCqpX2Z599tnUdQq5jh07dkxdR5Luuuuu1HX233//1HVee+211HVmzJiRuo5U2Pekyta3b9/UdQr5fJg6dWrqOpK0/fbbp66zevXq1HVGjhyZus6CBQtS15Gku+++u6B65aFHDQAAAAAAQEaQqAEAAAAAAMgIEjUAAAAAAAAZQaIGAAAAAAAgI0jUAAAAAAAAZASJGgAAAAAAgIwgUQMAAAAAAJARJGoAAAAAAAAygkQNAAAAAABARpCoAQAAAAAAyAgSNQAAAAAAABlBogYAAAAAACAjSNQAAAAAAABkRN18haNGjUp9wM8++yx1nTPOOCN1HUm6/vrrU9eZNm1a6jpff/116jpdu3ZNXUeSOnbsmLrOyy+/XNC58vnmm29S15kzZ07qOk899VTqOpJ0ww03pK5z3XXXpa5z4IEHpq4zZMiQ1HUkacWKFQXVq0wXX3xx6jr//Oc/U9c599xzU9eRpHXWSZ9bvvXWW1PXadKkSeo6f/rTn1LXkaQlS5YUVK8yPfDAA6nr7LHHHqnrzJs3L3UdSbrzzjtT1+nZs2fqOj169Ehd54ILLkhdZ03qVbY333wzdZ1PPvkkdZ1C74+SkpLUdd56663UdebPn5+6jjEmdR1J6ty5c0H1KpO1NnWdQu6pQp4TktSoUaPUddq2bZu6zi233JK6zgknnJC6jlTYd+rK9sgjj6Su061bt9R1xo4dm7qOJB1zzDGp67z99tup69SrVy91nZ122il1HUnq169fQfUq21VXXZW6TiF/0/373/9OXUeSunfvnrrOwQcfnLrO+PHjU9fZYIMNUteRpHXXXbegepXpqKOOSl3nmWeeSV1n2LBhqetIhf2+PP/886nrLF++PHWdQv+e22ijjQqqVx561AAAAAAAAGQEiRoAAAAAAICMIFEDAAAAAACQESRqAAAAAAAAMoJEDQAAAAAAQEaQqAEAAAAAAMgIEjUAAAAAAAAZQaIGAAAAAAAgI0jUAAAAAAAAZASJGgAAAAAAgIwgUQMAAAAAAJARJGoAAAAAAAAyoqS0tLSm2wAAAAAAAADRowYAAAAAACAzSNQAAAAAAABkBIkaAAAAAACAjCBRAwAAAAAAkBEkagAAAAAAADKCRA0AAAAAAEBGkKgBAAAAAADICBI1AAAAAAAAGUGiBgAAAAAAICNI1AAAAAAAAGQEiRoAAAAAAICMIFEDAAAAAACQESRqAAAAAAAAMoJEDQAAAAAAQEaQqAEAAAAAAMgIEjUAAAAAAAAZQaIGAAAAAAAgI0jUAAAAAAAAZASJGgAAAAAAgIwgUQMAAAAAAJARJGoAAAAAAAAygkQNAACoFsaYkrXxXAAAAJWpbk03AAAA/MwY87KkDokfr5L0raTJki6z1n5Y3e1aU8aYAyT1ktS1Gs51lqStJPVbw+MMkHSJtbZxnn1mSnrGWnvBmpwLAACgDD1qAADInlcl7ef910nSNZIOkPScMaZhDbatUGdKMtV0rsslNa2mcwEAAFQqetQAAJA9i6y1UxI/m2CMWS7pX5IOkTS2+psFAACAqkaiBgCA2mNJ8gfGmO0k3aio180qSaMl9bLWLvD26Sjpakm7S1ok6TFJl1trV8TlB0kaKKmtpOWSnpDU21q7LC5/WdL0uOwMSRtIek7Sn621c+J9jKSbFfUAWkfRMK1LrbXvGmPul3RavF+ppIMlbR23+3pJl0laKKmdpO8k/dVae6PX/qckNbXWdoy3141fz0mKes68q2hI2CvxUKStJJ1vjDnfWlsS19lD0g1x+76T9Ghc53vvPJdI+ouk5pJGSJqT+1KUL359Z0j6naTDJS1W1BtqlKIk28GSvpR0kbX22bhOiaQLFfU62l7SSklTJF1srX3PO/afJV0saXNFva6GSbpf0jbW2pnxPr9VdC3bxO/pvZKustauistzXqe0rxUAAFQNhj4BAJA9JcaYut5/jeNky7WSPpc0UZKMMS0lTVKUmDhV0rmK/gB/zhhTP95nb0n/UZQw6C7pSkUJgZvj8iMkvSTpK6/8JEljjDH+94QekvaJ/z1PUcJhiFf+lKL/AdRd0omKkh1jjDF1FCUqxkr6NG7f9LhOU0mnS/qDosTR96qYRyWdrSjxcqykuZKejZNWx0n6WtK/43PJGLNT/J6VSjpBUWKou6THyw4YJ2muU5T46CqpvqI5dQoxRNLHko6S9Jqk2yQ9ryi50k3RtXjYGNMo3v//FCWs7pbUWVGyaKe4LWXtOzs+zsj4Nf9P0p3+SY0xnSQ9K+mz+H34W3zsW7zd8l0nAACQAfSoAQAge7oo6lXhW67oj/2Ly3q6SOopqaGk35b1oDHGvK4oSXCipAcl9VH0h/uxXq+KdSWdFv9xPlDSG9ba7mUnMsZ8Jmmcol4ho+Mfr5J0pNcLZzdJZ8VxC0mtJV1trR0f/+xzSSdLamyt/Z8xZr6krcqGdEUdO1RHUv+yOhURn/doSadaa4fFP5so6S1J+1trHzDG/CBprjd87ApFyZzfWWt/iOt8LGli3JtokqLkzV3W2ivj8vGS3pa0bUXb5plsre0dH2e2pOMlvWatHRT/bIWia7lDfI5Wkq6x1g6N608wxmwo6SZjTOP4eveX9KC19q/xPuONMZtJOtI770BJU6y1J8bb44wx30i63xjzN0U9iXJeJ0UJJAAAUMNI1AAAkD2T9HNvjl0k/V3RH/anliUaYgcr6rGxyBhT9pn+haT3FQ2FelBSe0mPlCVpJMlae5uk24wxjRUNN7rEP7m1drwx5ltFq0+VJWreKUvSxL6UtF4cL5T0kaS7jDGHKuo9M95a27cCr/X9Cuzjax//W9YuWWt/lLRznjoHK+pJssp7n15TNJSsk6T5inqWPOsds9QYM0LSX5XeG148N/53mvezhfG/TeNzXSQFCa/WinrjSFIDY8ymioY7PZU4zxOKEzVx75y9JV3uvUYpSrito+g9eECFXycAAFBNGPoEAED2LLbWTov/u1/RcJluku5K7NdM0TwoKxP/7Spp03ifjSTNy3GeppJK9HMywTdP0Vw0ZZLDklbHdWWtXS3pUEVz3xyraNjRPGPMVfH8K/nkalsuG0laaa1dlKJOM0nn6Jfv0waK3qcN4/0WJOp9nbJtZZaW87Ocw7qMMa2NMa8oei/GKRoO9mNcXKIoiSRFCSWff902VPS9brDC11j2/m66htcJAABUExI1AABknLX2RUn3SDrFGHOUV7RYUS+Qvcr57y/ePi384xljNoonnV2iaN6WluWcdhP93POjIm38wlp7Rnyu/RXNI9Nf0ZwwaSW/nzT24sWS6hljmvg7GGP2M8a0znG8xYom1S3vfRqkn1/nxol6zdI3PZ14HqDRkuopSrCtb61tr2jy4TJlkxq3SFT3t8smmh6o8l/n/VKlXycAAFAFSNQAAFA79FGUcLipbKJgRUOkWkt6r6wHjqQZkgZIOiDeZ7KkIxITA3eX9IyiJM3binrrOMaYzpKaKJr89lcZY9oYY74yxuxurV1trZ2saP6anyRtGe+2KvcRAkskbeYdu5Gi4VllJsf/HuntU1/RxMCn5jhX2fv0pvc+faFo8uBdFA0HmqNoLhnfERVs85poIWk7Sf+y1s6Ie71IUU8pKepR84WkmYrm5vEdUxZYa5dKekfStl5vrGmKeuYMltSqgtcJAADUMOaoAQCgFrDWLjDGDFK0OtCFipa2vklRcuJZY8xQRUNd/k/Rakf94qqDJL0i6d/GmH8pmrj2Wkm3WWuXGmOulPS0MeYxSfcp+oN9kKI5XNycLb/ifUUJlgeNMQMkfaNoOe7VksbE+yyStEXck2daeQeJPSvpdGPMdEXDdi5VlFAqex+mG2OekXSrMWYDSZ8oWu1qPf28CtIiSXvEEwW/omjVqcmSHjfG3KtoAuYr4vfirXg+mv6K5m6Zq2iVrBMk7amKJ5gKYq2dG0/o2zM+9ypF711ZIqqRtXa+MeaauH3zJL2gaMLp4+J9ypI7/SU9ZYxZrGh1qOaKetislvSeoqTNr10nAABQw+hRAwBA7TFUUc+KfsaYFtbazxX1nPle0kOKhrGsI+lQa+3bkhSvfHSYorlYnlKUwLlFUu+4fLSi+Uq2k/S0pKskPSKpsz8BcT7W2p8UJQ4+lnSHoj/6WytaJapssuA7Fc2p8kzcnlx6KVou/J+Khuu8pGgSXF93ScMULSU+UtG8NZ2stbPi8kHx6xknaXNr7ZuSDlHUe+VJRcPIZkvqaK2dHb+GexQt+X1c/D60VJTQqg7HS1qmqFfQfZIaKZpLRoqXGLfW3qto0ueTFL2HOytKwiiuK2vtKEW9bPZUNHTqZkUJt4Ottd9X8DoBAIAaVlJaWvrrewEAAKDGGGNOVrTE92fezwZJOsdaW+Vz6QAAgOrD0CcAAIDs6yGpTzxkaYGiCYJ7SvpbTTYKAABUPhI1AAAA2fdHSTdI+oeiZdVnKppn56YabBMAAKgCDH0CAAAAAADICCYTBgAAAAAAyAgSNQAAAAAAABmReo6akpISxkrVoNLS0pKaOC/XvWbV1HWXuPY1jXu+OHHdixPP+uLFPV+cuO7FiWd98Upz7elRAwAAAAAAkBEkagAAAAAAADKCRA0AAAAAAEBGkKgBAAAAAADICBI1AAAAAAAAGUGiBgAAAAAAICNI1AAAAAAAAGQEiRoAAAAAAICMIFEDAAAAAACQESRqAAAAAAAAMoJEDQAAAAAAQEaQqAEAAAAAAMgIEjUAAAAAAAAZUbemG1CokpKSYHvdddd1cevWrYOyDh06uHjevHkuHjVqVLDf0qVLK7OJKNA664T5w4YNG7q4SZMmQVn9+vVdvHLlyqDMv57Lly938U8//VQp7UR2JJ8HderUKXe/VatWBdulpaVV1iYAtVPyM6hevXrlxnXrhl+h/OeQ/5kjSStWrKjMJq7Vks9zfzt5bfxtf7/Vq1cH+/nP/mQZgNon1/c8Kfxux/2eLf5zOt+zPlmW65pWxff4fO3wVcfvFj1qAAAAAAAAMoJEDQAAAAAAQEbUyNCnfN2IKlpvvfXWC8ratWvn4r59+wZlu+++u4u/+eYbF8+ePTvYb+LEiS6mq1zV87ss+0PXNt1002C/9u3bu/jkk08OytZff30X+13SJemHH35w8fTp01384IMPBvu99957Lv7xxx8r1HZUD/+eb9GiRVDWqVMnF59wwglBmX/P+8+K5H397rvvuvicc84JymbOnOni5JApAGsuzXeByu7e7A+blaT999/fxd27dw/KdthhBxd/9913Lv7qq6+C/ebMmePil156KSjzP2f8Y0jhZ1Wx8r8PNGjQICjzr1VyuIO/7Q9FS34f8Ic8L1y4MCjzP/cZDptNyWdFriFvyf38z3w+x2sH/9omv/f16NHDxYceeqiLk8+FTz75xMUvvPBCULZkyRIX+9/zJGnu3LkuXrRokYsZNp+Ofx8mr43/nE5OZ9G4cWMX+38XJut9/fXXLl6wYEGwX6HTW/ht9j9z/L8zpXCajWXLlgVlVfGMoUcNAAAAAABARpCoAQAAAAAAyAgSNQAAAAAAABlRbXPU5Buv5o9H9Md3JccA+sdIlu28884u9uenkKSNNtrIxf58FVtvvXWw34QJE3K2H5XPH2/ojwH056SRpI4dO7p48803D8qaNWvm4uScA/7xd9xxRxf741ol6aqrrnLxyJEjg7Lkkt+oXv5cBUcddVRQ1r9/fxcn5zXyr32+eTD8eW78+Wok6ZprrnHx0KFDg7Lk0rvIHv+6J8c6++PemzZtGpT581ck57Lw5xJhHrOqVegcAGwblQ4AAB17SURBVLnmPpOkXXfd1cX+c18KP3eSc+D5bfF/B5Lj0f25Zzp37hyUPffccy5OPk+KcY6a5PdA//M7ed38ezn5mexv+9fNGBPst80227jYn7NOCp/9zFNXc5K/E/78FXvvvXdQ5n92t2nTxsWbbLJJsN/8+fNd/PDDDwdlTz75pIuXLl0alDEHSfVJXvdWrVq52P8eJklHHnmkixs1auTi5H274YYbujg5x4hfL/n5/8Ybb7h42LBhLrbWBvv5z+zk70qx/u7437v97+7J99gv23jjjYMy/zm93XbbBWX+vf3ll1+6+JFHHgn2mzVrlovTXAt/Xz9O/m5V9/dAetQAAAAAAABkBIkaAAAAAACAjMjc8ty5uh4lJbsi+UtkJbvG5urC5C/vVVn8btd0hwvlW17Rj5PDDfyl1vwlTqWwe2OyC5o/TMofIrXFFlsE+/ldK/3l26VwiVWWdqx6ftdJSTrppJNc3Lt376Bss802y3kc/z73nwfJ4XG5lnaVpD//+c8u/uyzz4Kyp556ysXFOGyhJvnPiuQ1858Hfnd4f0lPSdp3331d3LBhw6DMX3L5uuuuC8rGjh3rYn+YS7E/2wtVWe+b35XdX2b77LPPDvbzfyeSwyX9YTPJzyr/GbJixYpyYyn8rEou3e3v+/3335fzKtZ++ZZR9u/r5DPVf1/zDUf2y5LDKQ4++GAX+78vUjisgaFP1ct/hm+11VZB2Y033uhi/5kthdfQ//1IXnf/+56/9K8U3pOjRo0Kyvx7lOf7mst3v/tDYaTwGe5PW5A0e/ZsFyeHtd1zzz0uTi6h3KVLFxdfdNFFQdlvf/tbF/uf8bfffnuwn78kdPJvD/+1rs1DpJPX1L/3kvehz//O5S+BLoVDEJNl/vPBH9qaHBbp/14UOn2F/0zxfw+k8JpWx7OBHjUAAAAAAAAZQaIGAAAAAAAgI6pt6JPfPSjZFSxfWa79kt2ZJk6c6OJPP/00KNtggw1c7K/WkpyJOt+qUvn49XKtYIVfvqf+NfS7Eb766qvBfh9++GHOY/hd45IrRbRr187F55xzjov9VaSkcJbxhx56KCi74IILXJzsGpurSx3dZNPx75/kql79+vVzcbJbtP+s8H9/JOn+++938QMPPODi5Gou/tCq5Cot/jCas846KyibO3eui6dOneri5GpQFR3KiZD/HE1eM/93JLkSmH/P+/X8e1wKn/3J54bfDXvbbbcNyriG2eB/pkvSzTff7OJjjz3Wxcmu2X4X+MWLFwdl3377rYs/+uijoMwf8vbFF1+4uF69ejmP/8477wRl8+bNc3FyyFSxyPddL98qKhXtau5/50o+N/yV3vyh0OW1pRCFfn8sdv6z+O9//3tQ5g9XSw6P8acuePTRR12c/P7vrxyVHCrr/774q8NK4RA4fxgE1za/fFNb+Pz3MTlMxl/Rxx/GIoXfsa6++moXv/jii8F++f7+GjFihIu7desWlPnDaLp27eriTz75JNjPXzEs3/e+tVm+v+n8eyb5/vjf1/3velJ47ZOfof4UBLvttpuLk89z//tBcjqLil6bfN/dq/v60qMGAAAAAAAgI0jUAAAAAAAAZASJGgAAAAAAgIyokeW5K2PuluQYMX9s+Ntvvx2U7bDDDi72x6gm5zd4+eWXXTx//vygrKJtZk6KivPfUz9Ozv2yZMmSnMfw3+PknAOvvPKKi/0l/g466KBgP398rD+OXZKuvfZaF0+bNi0o8+cqWJuX4Ktq/jKbl156aVDWqlUrFyfHMfu/M3fddVdQNmjQIBf7Y82T96S/3HtyjLO/HONOO+0UlJ1xxhku9n9fp0+fHuznnzvf3FzFLjl3gL/0oj8OXZLat2/v4uR4+FmzZrl45syZLn7//feD/fz5MJLz0Pjzh8yYMSNnGdevevlLel5xxRVB2Yknnuhify4Lf7y7FM5l489rp/9v795jpaquOI4vY4uhIhJKAcVqQVABRfHZIKIUFdMmNbUvG4xvpY3R+IqhWhtT67OviI8/jMYHaJrQqvSiFqtURUTBq4giBRREBAUvKqDW2D/av7r6W0vndGaYuffcO9/PX+tmH+ZeZp+zz5nJXmuZ2YYNGzzevHlzGKtUj6yo5Wx+ZuB8iWpZD6t973QdyWu21hPKdUzqacldbS0ORLkmhdaayC249VrO9Sq0fsg777zjcT5X9Pdp3TkzszFjxniszxpmsT23Pltq7Q18Xj01QHLNLq092dbWFsb0Hq/1LGv5XKnreW693KtXL48HDBjgca5Hptd/Xgtada2v9DmoaG6K1lG9Bs1ivRlt433YYYeF47TO0PLly8OY1pfU50Czzm+7XS121AAAAAAAAJQEX9QAAAAAAACURJekPjWDbl3Vds5mcQuTtu3KKTDf+c53PL7vvvvCWNHWrWrbi6M6tbRCK9o2p/9OW0DmNo+6Nbbod+Xt0WXdJtcd6Lxp+0xNUTMrnhvdgtze3h7GitKdlF7XucWfbnvV7bBmZkcccYTHs2fP9jhvj9W/I2/51lSuerbed3f6fuyxxx5h7Pbbb/dYt7GaxfdNU17N4rbov/zlLx7n1KopU6Z4nNNaNO1l1apVYYz1vfPkOTv++OM9Pv3008OYrum6PfqCCy4Ixz366KMe53mvZw0vaiON2tR7D9V7ybBhwzz+7ne/G47TdSNvh682bYJ0h+2X3zdd+/OYpiPqmm32+bTGSormRe8tOS3qoYce8lhTmklpbLz8nmqqWS5DoSkv9b73AwcO9FjXjEzvJfpsYVb9MyaK1ZLyqu+5lqn4wQ9+EI772c9+5nE+f/7whz94rM+IZuVNbWdHDQAAAAAAQEnwRQ0AAAAAAEBJ8EUNAAAAAABASfSYGjXaZiu3VNW8ca0h0b9//3Dc4MGDPa63BV+Z8tp6olznQ+sY5Pog2m5R6xHl2gdFbQJvvPFGjzdt2lTx36E2+t5pnZH8Hut1nevEaFvF3GavWlqH5rrrrgtjffr0+cK/1yzm0r/00kse//Of/wzHVVsfpxXp9Tp16tQwdvDBB3ucr1ddz999990w9sADD3is9WXGjx8fjhs+fLjHOs9msTVoroHDNd9cRXWLfvrTn3qc1wKtV3HhhRd6PGfOnHBcq19zPZG2bZ82bZrH++23Xzhu6dKlHud6E9XWFqJGzfbL71vv3r09zvf/WbNmefzmm2/W9fv0/Pj5z38exk455RSP81qv58sLL7xQ1+9GfbRu4T777BPGBg0a5LHWq8n15HSt19qkZnHe9RnQzKyjo8Pju+++2+P8uVI/IxY9H7IuNI4+C/7kJz/xeOzYsRWPGzJkSBjTZ8GHH3640X9iU7CjBgAAAAAAoCT4ogYAAAAAAKAkuiT1qailsqply5huQ1u/fn0Y0y1w+rtzGk3RVjZ0nnx+aOvV3Epv77339vgb3/hGGJs0aZLHug06p6ds3LjR48svvzyM/fnPf/aYbfPN8cknn3h8yy23hDFto5hbd2/dutVjbZdtFrcq6/bYvAX2zjvv9Hj33Xev+Dfm1KprrrnGY92SnbfQt8I6Um8KQL9+/Tw+7rjjwpimReXX0/NlzZo1YUxTYvSaP/roo8Nxun1at8abxTa++rvQePke/NWvftVj3Z5uFtf3vM1d050WLlzoMWt291H0XKhjOcX57LPP9vj73/++x/nc0hbL2na33r8rr0utsNY3Qp4XXW+1HbeZ2bJlyyr+u0rzktfzyy67zGNt22sWzyVNpTaLLdz5bNBcOf34W9/6lse59XKl1Ke5c+eG4z744AOPc+t1TavVdcHM7PHHH/d49uzZHmtKtFnxeVBtKiWK5WtcP+/p57t8T9B/l+di/vz5Hufn+rJe2+yoAQAAAAAAKAm+qAEAAAAAACgJvqgBAAAAAAAoiS6pUZPzwDRHVdVS70HHcl2Bzz77zGPNXcu/V2sa5DFy3TtPbser9Su0NoiZ2dChQz3WWjbZv/71L48XL14cxrTt68qVK8MYuabNp/nfCxYsCGM/+tGPPD7nnHPCmNYjOOOMM8LYxIkTPda2iscee2w4TnNecz6snjP5vJs5c6bHrA3V0/dY1+V8TWoeeq5NoHULNN/YzOytt97yWM+rnIus63ued71/1Nv2HZXp+53rSRxyyCEeH3PMMWFMr0e9/szMFi1a5HG112Oe96KWqmXNXe9JiuoH7rzzzh6ffvrpYezqq6/2WFs95+fAv/71rx7ruVQvng3qk9+3t99+22OtO2dmdsABB3isbZPNzNatW+ex1iY799xzw3FTp071OK83n376qcf3339/GNMaNVz/jaf3YF33zcxOO+00j/VzmVmca5VrGOrzxdq1a8OYznVbW1sY05qDWs8yrxlF5wTtuaNq60vlY3Pr9N/85jce77LLLhVfT9eY9vb2MPa3v/3NY31GLDN21AAAAAAAAJQEX9QAAAAAAACURJekPhXRbU+1bD/Wsdx68bXXXvNYU2VyetOECRM8zq16descW9maS7cvm5mdeuqpHudtkLktWyW6HV5b7pmZrV692mO2M3etfG3pduc77rgjjI0dO9bjESNGhDFtvzh+/HiPi7Zg5pQJbfd44403hrHusmWyM9S7Hn700Uce59SyGTNmeKxbmM3MNm3a5HFumalb2XWu87kzefJkj/O22SVLlnjciBQJVJbTVQ877DCPtR23WTwPcnvuetbtPO9Fzx6kNzZe0fb3fF7oGn7eeeeFsdza97/yc6CmV9Z7n+fZb/vl937FihUer1mzJoztv//+Xxibxet18ODBHo8aNSoc95WvfMXjfN+eN2+ex5pWYRbTXpj37Zc/b+n6fuaZZ4YxfX7LpRAqrRv59TVF6vXXXw9j9957r8e5Jbyu9TrvtZwDnC/x+tTUVbOYgrjrrruGMf2Md9ZZZ4UxLWlQdL/WOc0lE3J6pap0bnX1fLKjBgAAAAAAoCT4ogYAAAAAAKAkSp36VO9247xdXas8f/vb3/Y4b3PSCtPDhw8PY9pNpKu3QfVEOhe508pjjz3m8dFHHx3G+vfv73FOa9Etttu2bfP4gw8+CMfp1sq8NZZUqPL4+OOPw8/a1UO3N5vFOS26XnV+N2/eHMauuuoqj0mBaQydC73W1q9fH47LP9fz+rqmaCcHs5hS995774Wx6dOne0zKS3Pl9VZTWXNaq3Z5OOWUU8KYzu8bb7zhcVHXLtKbug9Nccxb13Vt1mcAfW4w+3wqVD149tt++ZlKn63vu+++MKapkIceemgY22233TzW1KecOq/X9QsvvBDGtFvkli1bwhhzvf30OWz06NFhTLtx6fyZxU5g+bleUx31HpHna+PGjR6ff/75YYzPc81RqaNjLiWy5557epxTnLXbY+78WKnjV36O+O1vf+txUZp0tZ0fu/ocYUcNAAAAAABASfBFDQAAAAAAQEnwRQ0AAAAAAEBJlKJGTaU6IEXtG4vkfLKnnnrK46K6FprvmMe6Oketp9P3N9cVuOuuuzzWekNmZocffrjHmvdoFnOTNVd23bp14biRI0d6nOuU6M+5Rgr1a5pP14AxY8aEMc1fzdennkPasjnTtoG5heDxxx/v8csvvxzGaM+9/Zq9puq5881vfjOM6Vxri1Yzs9WrV3tc7TVedK/i3hEVrfU6FyeccEIY01x2XbPNzC655BKPtcXvgw8+GI7TNq35dzNPnSu/3/pzXrOXLFnisdYOMzO74oorPNbr+rbbbgvHNeJaRuNpG+xly5aFsZUrV3o8a9asMKbrgdak0No1ZmafffaZx7feemsY07pFXP+Np62Wc/vzQYMGebx48eIwdsMNN3is9WrMzI444giPr732Wo9zTTM9J/JrMNfNoWun1orK9d+0flCu/6jr9Ne//vUwdsghh3isNXBy/bEnnnjiC1/PrHIdQ7NYD6lMn+/YUQMAAAAAAFASfFEDAAAAAABQEqVIfVK63ahR29O0HbO2dszpTSqnwLBVrjp5K1nRNrNq31NNM8ltdvXnHXfcMYzpVkjdEq3t/czMxo4d67Gmu5iZPfvssx63t7eHMU2jK9M2uZ5E09nuvffeMDZw4ECPc2vNO+64w2NNd9AUCTOzfffd1+Oc+nTiiSd6fNNNN4UxUp/KqVKq3PXXX1/xuJkzZ4YxbQXMut9c+TrS9rm/+MUvwtiPf/xjj/faa68wduSRR3r8ve99z+Px48eH47Std1Hr7kao936Hz2+V1/QYTYMyM5s/f77H+gyQU5yL3n/d8p7njXt7c+m85PVAf87pcOvXr/e4X79+Huf502fEnOaazzNsP70GL730Uo+1TIGZ2bvvvuvxjBkzwtgzzzzjcb7+1q5d6/FRRx3l8YABA8Jxf/rTnzxmnjuHXnt67XZ0dITjdD3Pc7Nw4UKP82cuTV3UNKic+vTOO+94XLTuF63tZbpfs6MGAAAAAACgJPiiBgAAAAAAoCT4ogYAAAAAAKAkSlGjRnPBNGcs55rqzzl/TMc03zgfq636il6DnMbGKGp1WTSf9civoW3ftO6E1ikyM9t11109HjduXBg7++yzPc41jbR+zbZt2zwmp71+uY3yI4884vEuu+wSxrRGUG67+bvf/c5jzV+/8sorw3F5rVCDBw/2mPWgnHJdqhEjRnjc1tbmcc5f11oFTz/9dBhrxPVbpvzmMqh0H8jvk17T2mLTLLZwnTJlShj75S9/6bGuE6NGjQrHDR061ONm16HjHGiO3XffPfysLVz1WtZ78v+j52ctz53oPPlerfVJ9t57b4+1/oWZ2e9//3uPN23aFMaYz8bT52StE6ftlM3ie5/rThU9b+nY8uXLPc5tnrU2KfPc+fQ6zO+/1q/JYzq/Wo/ILF6/epzWpDGLzxG1KOtnN3bUAAAAAAAAlARf1AAAAAAAAJREKVKflG6Dylsd9eeiLUp5TF/zS1/63385v75uox8+fHgYe/7557/w9Yq0YnvOonSyZrwfup1S23Gbxa13utUunx8bN270WLdqmsX2zbvttlsY062VunVT0+u+6Pch6t27t8fTp08PY5q2lN/HNWvWeJxTn3QOevXq5XHfvn0r/h35fHzyySc9zttqUQ6atmhmds8993is7dtz+8bzzjvP47xVvh6tsLZvj0rpI/l9K3oft2zZ4rG2djUz69Onj8d6H9dr3yyuNfosYBavceazXHbaaSePJ0+eHMY0RVXT43L79aI51bGidG10na997Wvh56uuuspjnbMHHnggHHf//fd7nNt/o/F0LnQtztfjqlWrPP7444+rfn393LZs2TKP8z0+t3NH8+kzer33eZVT4PR+rs/4K1asCMflz2DdHTtqAAAAAAAASoIvagAAAAAAAEqCL2oAAAAAAABKonQ1alRRvZNq843NYq6itu7MuciaT6ltXmv53ZX+zf/7G3uqoppDleT3TesK5DoxEydO9HjlypVhbOHChV/4mrmlr7aEHjt2bBjLLaGV1jF69dVXPe5p+ZHNpnWGit7vfM0sXbrU45133jmM6Ryff/75HucaNfqa2sLdzOyKK67wmDpD5aHryEknnRTGtB2zXoczZ84Mx61bt65Jfx3MPr+Ga/0wzTuvpWaEvobWGDKL9wiV23RqXbGia7oV68uVSX7/hwwZ4vGxxx4bxnTdfv311z2uZc3W+S2qcYjOpdf85ZdfHsaGDRvmsbbnveGGG8JxuTYKmkvXdH1Gy2v93//+d49ruVa1thi1pcqlqC5NPa+R647mOlX/VdTOvSdgRw0AAAAAAEBJ8EUNAAAAAABASZQu9alou1S925uqba1btI1OUylq2TKN/8nzV+m9yqlJgwYN8jhveT/ggAM8Xr58eRhbu3atx1u3bvVYt8yamf3617/2WNtB578xt/HVVCvdXstW6dpoa8Z//OMfYUznKqfOTZgwweM777wzjOmxmtpW9LvzuaXbqVEe2pL7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\n", "text/plain": [ "<Figure size 1440x432 with 27 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 拿測試集影像輸入編碼器\n", "encoded_imgs = shallow_ae_encdoer.predict(x_test)\n", "# 編碼結果再輸入解碼器\n", "decoded_imgs = shallow_ae.predict(x_test)\n", "# 劃出編碼解碼的比較圖\n", "plot_autoencoder_outputs(x_test, encoded_imgs, decoded_imgs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"deep-autoencoder\"></a>\n", "\n", "## 19.3 深層自編碼器 Deep Autoencoder\n", "\n", "將隱藏層加深、節點增廣,可以很明顯看到自編碼器的學習力增強,但要注意是否學習能力過強,導致輸入直接複製到輸出而沒有學到任何有用的特徵。 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 建構深層自編碼器" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "Input = tf.keras.layers.Input\n", "Dense = tf.keras.layers.Dense\n", "Model = tf.keras.models.Model\n", "\n", "def deep_autoencoder(input_size=784, hidden_units=[128, 64], code_size=32):\n", " '''建立深層自編碼器模型\n", " 自編碼器的 input size = output size\n", " 隱藏層節點數順序為: hidden_units[0], hidden_units[1], code, hidden_units[1], hidden_units[0]\n", " '''\n", " # 輸入層\n", " inputs = Input(shape=(input_size,))\n", " # 編碼層\n", " encoded = Dense(hidden_units[0], activation='relu')(inputs)\n", " encoded = Dense(hidden_units[1], activation='relu')(encoded)\n", " encoded = Dense(code_size, activation='relu')(encoded)\n", " # 解碼層\n", " decoded = Dense(hidden_units[1], activation='relu')(encoded)\n", " decoded = Dense(hidden_units[0], activation='relu')(decoded)\n", " decoded = Dense(input_size, activation='sigmoid')(decoded)\n", " \n", " # 建立輸入對應到解碼輸出的模型\n", " autoencoder = Model(inputs=inputs, outputs=decoded)\n", " # 指定訓練過程採用的最佳化演算法及每個像素的損失函數\n", " autoencoder.compile(optimizer='nadam', loss='binary_crossentropy')\n", " \n", " # 編碼器\n", " encoder = Model(inputs=inputs, outputs=encoded)\n", " \n", " return autoencoder, encoder" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 訓練深層自編碼器\n", "\n", "同樣的 epochs 迭代訓練次數下,已經可以看出淺層與深層的差異,再給深層網路多訓練幾個 epochs 的話 loss 會更小。 不過還是要記得,一比一的精確度不是自編碼器要學習的目標。" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 60000 samples, validate on 10000 samples\n", "Epoch 1/25\n", "60000/60000 [==============================] - 6s 107us/sample - loss: 0.2174 - val_loss: 0.1653\n", "Epoch 2/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1523 - val_loss: 0.1406\n", "Epoch 3/25\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1379 - val_loss: 0.1351\n", "Epoch 4/25\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1293 - val_loss: 0.1281\n", "Epoch 5/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1230 - val_loss: 0.1176\n", "Epoch 6/25\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1180 - val_loss: 0.1160\n", "Epoch 7/25\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1143 - val_loss: 0.1097\n", "Epoch 8/25\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1112 - val_loss: 0.1106\n", "Epoch 9/25\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1086 - val_loss: 0.1091\n", "Epoch 10/25\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1066 - val_loss: 0.1040\n", "Epoch 11/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1048 - val_loss: 0.1030\n", "Epoch 12/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1032 - val_loss: 0.1014\n", "Epoch 13/25\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1017 - val_loss: 0.1009\n", "Epoch 14/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1006 - val_loss: 0.0993\n", "Epoch 15/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.0992 - val_loss: 0.0962\n", "Epoch 16/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.0981 - val_loss: 0.0972\n", "Epoch 17/25\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.0971 - val_loss: 0.0960\n", "Epoch 18/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.0963 - val_loss: 0.0944\n", "Epoch 19/25\n", "60000/60000 [==============================] - 6s 101us/sample - loss: 0.0955 - val_loss: 0.0958\n", "Epoch 20/25\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.0946 - val_loss: 0.0954\n", "Epoch 21/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.0939 - val_loss: 0.0931\n", "Epoch 22/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.0934 - val_loss: 0.0927\n", "Epoch 23/25\n", "60000/60000 [==============================] - 6s 104us/sample - loss: 0.0928 - val_loss: 0.0918\n", "Epoch 24/25\n", "60000/60000 [==============================] - 6s 104us/sample - loss: 0.0923 - val_loss: 0.0910\n", "Epoch 25/25\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.0917 - val_loss: 0.0934\n" ] }, { "data": { "text/plain": [ "<tensorflow.python.keras.callbacks.History at 0x2425f4584e0>" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deep_ae, deep_ae_encdoer = deep_autoencoder(input_size=784, hidden_units=[128, 64], code_size=32)\n", "\n", "# 深層網路可能多訓練幾個 epochs 會更好\n", "deep_ae.fit(x_train,\n", " x_train,\n", " epochs=25,\n", " batch_size=256,\n", " shuffle=True,\n", " validation_data=(x_test, x_test))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 檢視訓練結果" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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unj58uUuvvzyy7MaB6I6d+4cOY6XO/n81/imVOqE/9WxY8eMbfEcgP97YGMsd8oVM2oAAAAAAABSgkQNAAAAAABASpCoAQAAAAAASIlUbM/9wAMPuNivJ/3oo48i5x166KEbfK/rrrvOxT179oy0xbeI9Q0ZMsTFFblGzca2jd8NN9zg4pJ+vkcddZSL33rrrayv/84777i4YcOGkbZM9ytpm+34Gjv+mkl/+ctfMvabMWNGxnGUBrbxy52/zba/JWTcCSecEDkeN25cmY0piY3tNZ+L+Jpg06ZNy3iuvz33xx9/HGk78MADs7qf/x4Qr3X218AZM2ZMVtcrC/nw3EtSuXLlyLG/fW58nZLq1au7eOXKlS7215aTpDvuuMPF8e2b0yJf3+v9ZzhlypRIW40aNVy81157Rdp++eWXYq/n95GiW3LH10Lx18T69ddfsxxx6cvH17y/VpS/JbYkLVq0yMX77bdfpC3Tdt3NmzePHI8aNcrF8b8TJfHfR/wxjh49OutrZGtTfe7bbLONi+OfvVq0aOHi+JbnTZo0cXGm1/emIF/f6/31YYcPHx5pq1atmou7d+8eaRs6dGjZDqwcsT03AAAAAADARohEDQAAAAAAQEqkYntuf3qjb9WqVZHjk08+2cVffvllxuvtvvvukeOzzz7bxccff7yL58yZEznPnwIfn2a57bbburhKleiPLa1TqNOgpK10/fIDv0zp559/LtMxJfH222+7OF765Pvqq6/KYzjIgf++ETdp0iQXv//+++UwGhRn/vz5kWP/uRxwwAGRNn9r5njpbs2aNYu9/uLFizPeO75l68iRI108derUSNshhxyS8TpIbqeddoocn3XWWS6Ob9vZtGnTrK7plym/+uqrkbZ169YlHSLKif8Zq0GDBpG2++67z8XZlkJcdtllkeP69eu7eODAgZG2iix3yncTJkxwcXwrZv9z4ZFHHhlpe/7554u9XnzJhIceesjF1157bcZx/P7775Hj008/3cUvv/xyxn7I7Morr3SxX+oU17dv38jxplzuBOmkk05y8dZbb53xvGxfd37ZrBQteT7xxBMjbcuXL3fxa6+9Fmnzyykff/xxFy9cuDCrcZQVZtQAAAAAAACkBIkaAAAAAACAlCBRAwAAAAAAkBKp2J67du3aLp4+fbqLM603kJRfezpx4kQX+1t1StJuu+3m4v/85z8Zr+evkSBl3iawLGyq2/ilRXw9DH/ruHr16kXa/Hrqdu3audjfMry05Os2frm67rrrXOyvkxTfmt1v6927d9kPLAf5/prfddddI8eHHXaYi1944YWMbb7JkydnvH68j78FZHwr4IsuusjFjz76aMZrloZ8eO433XRT5PiGG25wcXyNOr+ePL7mUOfOnV1ctWpVF8c/37zxxhsuvv766yNt/pbQFbmWTb6+1/ufA2fOnBlp++STT1zsrzMoRbdR3nHHHV0c3/LXX0twzz33jLSlZV28fHjNl6RNmzaR45deesnF8TVkWrdu7WL/s9gtt9wSOc9fayb++3/atGku9j8zSNKYMWOyHfYG21Sfu7/eW3ytEN+zzz4bOfafS9ysWbNc7K87Fee3xdcz8q8fXyPVX8OkrOXre72/Jpj/+zouvoadv1bMqaee6uL4Z/fGjRu7OGmOo4i/Zm2vXr0ibU899VRO1/SxPTcAAAAAAMBGiEQNAAAAAABASqSi9Mnnb4F84IEHRtouueSSrK7x7bffRo79Eqd33303Yz9/iiSlT1FpmRpbFho1auTi0aNHR9rq1q3r4vi02e7du7vYL5coC/k6RTJbderUiRz75Wf+Vq/xkga//OH2228vo9FtGF7z5cvf1vfOO++MtPnbiPvvDWUhH567vyWzJB166KEujm+tnS1/609/erQULZHafPPNI21+GVa8fKI88V4v/etf/4ocn3322S4eNmxYpO3GG28s9jy/jE6KbgHcp0+fUhlnacuH13wSfsnKKaecEmlbsmSJi/3yt3i5hG/s2LGR47POOsvF8XLK8rSpPne/1PToo48uy1vlLF5m5b+HfPrpp2V673x9r8+29Mnf3l2Kfj7wl5uoVq1a5Dz/32oTJkyItH333XcZ7+eX33bo0MHFfhmUJLVq1crF1tqM1ysJpU8AAAAAAAAbIRI1AAAAAAAAKVGlogcQ5081i087K+vyEuQnv4QhvrOTr1KlaF7zrbfeKqshIaH49Em/3MkXfw9Ja7kTKs4PP/xQ0UPIG7/88kvkONdyJ5+/04gfS9HS57vuuivS5pc+xd/r47tToWz5ZUqStP3227vYL1+TortAVany50faNWvWRM7zdxDCxmHgwIEujpc+ZbsrrF8q17Vr19IZGLJy8sknFxvHdenSJXLsl6X65VOSNG/ePBf7O4H55TRSdAc4f0kNSerWrZuL/R2CJKlFixYuLuvSJ5Rs0KBBWZ0X37mrY8eOLv7ggw8ibf7uf3Fbbrmli9977z0Xx3cDbt68uYtzLX1Kghk1AAAAAAAAKUGiBgAAAAAAICVI1AAAAAAAAKRE6taoAcpafB2a/v37u7ik7eqfeOKJyHFJ27yh7Pk1yI8++mjG8/x1L/ytl4HiHHXUUS72t3ks7hgbl4ceesjFo0aNirRNnTrVxZdffnmkzX/vnzNnTpmMDX+aOXNm5NjfitVfH0CS3nzzzWKvMX78+Mgx602k33bbbRc5fuWVV7Lq578vx9ee6tmz54YPDDlZtmyZi//1r39lPK+kttIQv76/zo2/DhLKx7hx41zcqVOnrPvNnj3bxQ8//LCLH3zwwch5v/32W1bX23333SPHV111lYv9dWnWrVsXOe+nn37K6vqlhRk1AAAAAAAAKUGiBgAAAAAAICUofULeGT16dOS4YcOGGc/1p9Tdf//9kbb49p8oX36JyrHHHpvxvBUrVhQbo+ztvffekeOddtrJxZlKFspbfIz+VqHxUsiSSuywcfn+++8jx3fccYeLb7/99kibvwW0Xz6F8vf1119ndV78d8I555zj4rIutUD2qlev7uKRI0dG2vxSqPjnrU8++cTFBx10kIubNGkSOa9y5couXrt27YYNFpsEf1tvlL9s38Pjbr31VhcPGTIkp2tcffXVLr700ksjbTvvvHOxfeLLXsTLpssaM2oAAAAAAABSgkQNAAAAAABASpCoAQAAAAAASAnWqEHeadSoUeS4pC25rbUunj59epmNCckdd9xxWZ03YcKEMh4JMolvt/r888+7uGPHji5+9913y21Mcf/3f/8XOY6P2de3b9+yHg4qyNixY10cX6Pm1FNPdTFr1FSsU045JWPb/PnzXeyvfSJF1yOIr4WydOnSUhod1if+/uqvGXj44Ydn7HfZZZdFjv3teYcNG+bi0047LXLeFVdc4eJBgwYlGyw2SbvssktFDyGvHXLIITn169Wrl4vr1Knj4viaY926dXNx+/btI23+elb++lVSdBtuf10a/74VgRk1AAAAAAAAKUGiBgAAAAAAICUofcImq0GDBi72S5gqVYrmJ/3pbvEt3+67774yGh02VOfOnbM6zy+3Qfn68ccfI8fvv/++i19++WUXx7fS/fjjj8t0XL1793bxeeedl/G8eFkUNl01atTI2LZ69epyHAlKEt9+uaCgwMXHHHOMi/3tuCXpxhtvdPHWW28daaP0qfzEy5uOOOKIjOfecsstLi5pS/Vx48a5uEuXLpE2v2yB0qfytdNOO7k4XmYyb968chvH6aefHjm+5pprXPzLL79E2vzPKCgdRx11VOTYf59Ool69ei7u169fsbEU/Tee/++7uLVr10aO0/pewYwaAAAAAACAlCBRAwAAAAAAkBIkagAAAAAAAFKCNWo8F154Yca2F1980cU///xzeQwHCdWuXTtyfPfdd7vY34I7XrO4cOFCF/tbPmLj5a9b4K9VMHDgwIoYTt6aM2dO5Piqq65y8auvvuriN954I3LeSSed5OLPPvss0rZo0aKs7l21alUXP/vss5E2f8vG+PvB0KFDXfzII49kdS9sfLbccsvIsb9uQRzrXKXH0UcfHTn2f7f7n82++eabjNfYfvvtI8fluV5GvuvatWvk2H9+H374YaStf//+Ll61alXGa/q/S2bNmhVp22OPPVwcXwvttddey2LEyJW/xtu5554badt3331dHF8npjT06NHDxX369Im0+evl3HPPPZG2yZMnl/pY8t3ee+8dOfZ//v5ahZL0/fffuzi+ztjmm2+e1f3895QpU6ZE2vz3ivHjx0fa3nnnnayuX96YUQMAAAAAAJASJGoAAAAAAABSgtInT3w6rM/fvvGPP/4oj+EgoUcffTRy3KZNm2LPi2/F6U/JLOttgVE+/KmPJW3rifL19ddfu7hVq1Yujk9BnzhxoovjZQnnn3++i3/99ddIm78d6JVXXunipk2bRs5buXKli/0tYCXKnTZlW2yxhYv9LdolqV27di6O/46fOnVq2Q4MWYuXrPk6duzoYn+rVUmaMWOGi0sqi0LZ8suS48d+GbpUcrmTzy+diX++8z8LLFiwIOtxYsM1aNDAxbvsskukzVrrYv93uiT99ttvLp40aVKkrVatWi72S9lat24dOa979+4u9v8OSNLo0aNdHP89gNIXLz33l6X4z3/+E2kbNmyYi/3PgZLUvHlzF3/66acZ7+e/H8TLm5YvX57FiNOFGTUAAAAAAAApQaIGAAAAAAAgJSh9wkbN3wHiyCOPzKqPPz1akt56661SHRMq3ogRI1wcL49BOvhlUG3bto20jRkzxsW77rprpG3s2LEujk+jj09xzuTSSy918WOPPZZVH5S+KlWiH0H857d27doNvn6jRo0ix0888YSLDz744Ejb77//7uL4dPj//ve/GzwWlL3HH3/cxX55oyR16NDBxWWxywyyM3PmzIxthx9+eOTYL19ZsWJFxn7+Z78mTZpE2vwyxmnTpmU9Tmy4kp71Djvs4GL/85oU/T2wevXqSFulSn/OL/BLWeP8a8R/x990000Z+6H0xT+DV6tWLat+/m7LxR3nC2bUAAAAAAAApASJGgAAAAAAgJQgUQMAAAAAAJASeb1GzZ577hk59rd9Qzr5a9JI0a3tcx8rAAAgAElEQVT71q1bF2nzt2n016VhTZpNg7/t9iWXXBJp85/3Ntts4+KS6txRceJrBxx00EEu3n///SNtJ5xwgot79uwZafvhhx9c7G/zOGTIkMh506dPz32wKDXxbVm7du3qYn/NmCT8dYtatmwZafPXvXn33XcjbRdffLGLP/vss5zujbIXf+362/7OmjXLxf76JhK/99PCX39Mir4H7LjjjpG2Rx55xMUlrUfmt8V/xw8YMCD3wWKD+Nswx/991aNHDxf7687EbbXVVlndK761e7du3Vwc3+bZX7cISDtm1AAAAAAAAKQEiRoAAAAAAICUKMh2O1PXoaAgWYcUi2/TXNLWX/7U+fh07fJUWFhYsP6zSl9anvvgwYMjx/42u/G/y6NGjXJxp06dynZgZayinruUnmefr/L9NZ+v8uG577bbbpHj+++/38Xt27fP+jpvv/22i+fPn+/iKVOmRM7zt4GdM2dO1tcvT7zX5698eM3H+UsQxD+T+yWwp59+esZrzJgxw8VPPfVUpK1fv34bOsQylw/PvXLlypHjM88808UtWrSItPnbbteuXTvSNm/ePBf77+fx0sYlS5bkPthywnt9/kry7JlRAwAAAAAAkBIkagAAAAAAAFKCRA0AAAAAAEBK5PX23Ni0PfzwwxU9BABABnPnzo0cd+jQoYJGAqAifPPNNy6+4447Mp7XtWvX8hgOysjatWsjx08++WSxMYAoZtQAAAAAAACkBIkaAAAAAACAlMjr0qeRI0dGjh955BEXr1mzJtLWp0+fchkTSjZ8+PDI8cyZMzOeO3369LIeDgAAAAAApYoZNQAAAAAAAClBogYAAAAAACAlSNQAAAAAAACkREFhYWGyDgUFyTqgVBUWFhZUxH157hWrop67xLOvaLzm8xPPPT/xXp+/eM3nJ557fuK9Pn8lefbMqAEAAAAAAEgJEjUAAAAAAAApkbj0CQAAAAAAAGWDGTUAAAAAAAApQaIGAAAAAAAgJUjUAAAAAAAApASJGgAAAAAAgJQgUQMAAAAAAJASJGoAAAAAAABSgkQNAAAAAABASpCoAQAAAAAASAkSNQAAAAAAAClBogYAAAAAACAlSNQAAAAAAACkBIkaAAAAAACAlCBRAwAAAAAAkBIkagAAAAAAAFKCRA0AAAAAAEBKkKgBAAAAAABICRI1AAAAAAAAKUGiBgAAAAAAICVI1AAAAAAAAKQEiRoAAAAAAICUIFEDAAAAAACQEiRqAAAAAAAAUqJKRQ8AAACUHWPMJElHl3DKddba28ppOMUyxpwraaik2tbanzfgOk9IOtha27iEcwolXWWtHZTrfQAAAMoSiRoAADZ970q6MkPbd+U5EAAAAJSMRA0AAJu+pdbayRU9CAAAAKwfiRoAAFBUfjRIUhdJd0hqKGmWpGuttaO88/aXdLukZpJWSHpZ0pXW2sWx9qZhl6L2Bd41zpZ0vaTdJb0h6bVixtNaUj9J+0taJOlxSTdba9eG7VXC9nMlVZX0mKTKCb/nepJmS+oo6RJJR0j6UcHso+mSHpZ0kCQr6QJr7Ydhv80k3SDpDEl1JS0Pv4+/W2vnhudUknSjpPMlbSdprKR3JN1prS3wxnCGpF6S9pI0X9Jga+29XntTSQMlHShpTfizutJa+22S7xUAAGw8WEwYAIBNX4Expkpx/8XO20ZBQuR+Se0l/SzpWWPMdpJkjKmrINlQXdLZki6TdJyk/4Ttf5E0WdLmks6R9HdJR0l60xhTLTyns6R/SZoo6WRJ30i61R+EMeZYBYmNoiTKQEn/kHSPd9rg8P63KUiYHKAgyZSLIZImSOogaZ6kJyW9JGmYpK6StpX0tHf+XZIuDe99nIKk07HhmIr0C7/+gKRTwq/Fv89zFPzs3gzv/S9Jdxljrgrbq0p6RUEC5yQFSZ8m4bgAAMAmihk1AABs+k5QMBvjfxhjtrLWrgwPN1ew0O5zYdsCSf+V1ELSi5Iul7RW0vHW2l/Cc1ZIGmSMqaVgBslPktpaa1eH7R9L+lzS3yTdK+k6SeOstZeE9xxvjNld0onesPpJmmytPT08HmeMWSzpCWPMQEm/SOoh6Xpr7eDwPq9JynWWyXPW2gHhdSpLGifp39ba+8Ov1ZL0mDGmhrV2qaTaCma1PB72f9MYYySdGZ6/jaSekvpba/uHXxsn6VMFM4SKZtz0D+9T9LOYEC52fKMx5gFJjRTMxrnHWvt+2O9nSS2NMZWstety/H4BAECKkagBAGDT946kKzK0rYod+2vZzAv/rBb+eYSkN4uSNJIUlkWNkiRjzFGSnilK0oTtXxpjPpN0tDFmiKS/KEj4+F5UmKgJZ5EcKun62IyfcQpmArdQUJ5UWcGsm6L7rDTGvCLpkAzfZ0mmeHFRidZH3tcWhX/WULDeT5dwrDtL2kdBmVhzSVuE5x0WxiO88RUaY15UmKiRtLeknSW9HPs+x0q6RcHP4CNJiyWNNsYMU1BG9rq19s0cvkcAALCRIFEDAMCmb5m19qP1nyYpWG+lSNGMjaJS6e0UzLDJpKb+THT4FigoH6ohqUBBSZXvx9g1KikoE7pV/2sn/ZlcKuk6SfxazNeWF/M1SZIx5ghJDypIuiyT9ImC9XqK1p7ZPvzzp1hX/2dTK/zzP+F/cTtZa38Nk1+9FZSSXSxpqTGml7X2wczfDgAA2JiRqAEAANlapqDsxzHGbCGppaT3Fcz+2KGYfjtK+krSEkmFkurE2mt5cdFsnX6SRhZzre8l7RfGdcLj4q5TJowx1SWNUTBL6RRr7czw6wMUzBYqGqMU/Kzme939n92y8M+LFZ3RU2S2JFlrv5DUxRizuaQjFaz784AxZqq19oMN/44AAEDasJgwAADI1nsKSpi29r7WUsGCt3UUJC9OCpMKkiRjTEMFiZV3rbUrFJRWdYxd94SiwFr7q4JZO/WttR8V/SdptYIZNrspSAqtktTJu08VSa1L6xstwT4KZv0M9pI0lcJ7F82o+VTBLJ0Osb7+8XQFJVW7xr7PWpL6SqpujDneGLPQGFPbWrvaWvuagkWMpWDHLAAAsAliRg0AAJu+GsaYwzK0LbPWfpXlde5SUILzsjFmkKStFWzFPdxa+7Ux5p8KkjljjTF3Kdgdqp+kOQp2NJKkPgoWBx6qYPeilvrfxE1vSSOMMcsU7L60fXiddZI+t9YuDxcVvtYYs1LSVEkXKZi5MyvL7yVX0xUkYW4MFx7eSsGsmAMkFRpjCqy1y4wxgyX1MsasUpC4OUvBVt+FkmSt/cMYc5OkO4N1iPWapD0UJKNmKJhRs1RB8me4MeZ2Bcmqy8Ovv1HG3ycAAKggzKgBAGDT10zBLJTi/rs324tYa2dLOlpBwuBZSXcoWDD3nLD9YwWJl80kPS/pbklvS2oWzpSRtXaigpkwBysobTpC0lWx+4xSsB31wQoWKh4cjrWFtbZo7Zjekm6S9H8KFiNeJumRbL+XXFlrlynYbrtmOLb7FayV01nB56qm4ak3S7pTwSLOLynYUesBSb9517pPwe5VHRTMSrpFwc+tnbW20Fq7WNLxklZKeiq8zpaSWllr4+vzAACATURBYWFhRY8BAABgkxGWfnWRNMFau8D7+n8k7WOtbVJhgwMAAKlHogYAAKCUGWNmSPpB0gBJv0tqJelaSd2ttUMrcmwAACDdKH0CAAAofe0ULBY8VEFZUztJfyNJAwAA1ocZNQAAAAAAACnBjBoAAAAAAICUKHF77p49eyaebnPnnXcmHkTXrl0T95GkZ555Jqd+SbVu3Tpxnw4dOuR0r/r16yfu07Zt24KcblaCq6++OvGzHzBgQOL7dO7cOXEfSVq2bFniPhMnTkzc57bbbkvcp3v37on7SFLfvn0T9xk8eHCpPvu5c+cmfu5PPfVU4vuceOKJiftI0n777Ze4T0FB8h/RWWedlbjPG2/ktlNuq1atEvcZOnRoqT73Cy64IPFz//XXX0tzCCX65ptvEveZMmVK4j65zDBt0aJF4j6SVLNmzcR9hg8fXurv9ddcc03ib7pXr16J73PzzTcn7iNJH374YeI+77zzTuI+999/f+I+jz76aOI+klSvXr3EfV566aVSffaFOfxl79OnT+L7HHPMMYn7SNIDDzyQuM+LL76YuE/btm0T9/n8888T95Gk3r17J+5z/vnnl+pzP/744xM/92uuuSbxfZYsWZK4jyQNHZq8KnDMmDGJ+0ydOjVxn6pVqybuI0nvvfde4j7dunUr9ff6ww47LPGzP+SQQxLfZ9GiRYn7SLn9/h02bFjiPq+//nriPi1btkzcR8rt3zjPPfdcqT77xx57LPEPdsiQIYnvc/TRRyfuI0kHHHBA4j655A0GDRqUuE8u/+aQcvv9NWLEiGKfOzNqAAAAAAAAUoJEDQAAAAAAQEqQqAEAAAAAAEgJEjUAAAAAAAApQaIGAAAAAAAgJUjUAAAAAAAApASJGgAAAAAAgJQgUQMAAAAAAJASJGoAAAAAAABSgkQNAAAAAABASpCoAQAAAAAASAkSNQAAAAAAAClRpaTGPfbYI/EFCwoKEvc5++yzE/eRpLPOOitxn6eeeipxnzPPPDNxn/vuuy9xH0mqX79+4j5t27bN6V4lOeOMMxL3yeXZr1mzJnEfSTruuONy6pfU/PnzE/e55JJLcrrX7rvvnlO/0jRw4MDEfR588MHEfSZOnJi4jyQdeOCBOfVLas8990zc548//sjpXjNmzMipX2n66aefEvcZMWJE4j4333xz4j6SNG3atJz6JfXYY48l7rNw4cKc7nX88cfn1K+0DRs2LHGfp59+OnGf6667LnEfSXrppZdy6pdULq+BwYMH53SvXN//StOsWbMS9+nbt2/iPp999lniPpLUtGnTxH1efPHFxH1OO+20xH123nnnxH0k6ccff8ypX2nK5fVes2bNxH1uv/32xH0k6a9//WviPmPGjEncJ5fn3qxZs8R9pNx+x3fr1i2ne5WkV69eifucdNJJiftMmDAhcR9Jev3113Pql9Snn36auE+uv79y/TdOaapbt27iPpMnT07cp0aNGon7SFLr1q1z6pfUqlWrEvf5/PPPc7pXgwYNcupXHGbUAAAAAAAApASJGgAAAAAAgJQgUQMAAAAAAJASJGoAAAAAAABSgkQNAAAAAABASpCoAQAAAAAASAkSNQAAAAAAAClBogYAAAAAACAlSNQAAAAAAACkBIkaAAAAAACAlCBRAwAAAAAAkBIkagAAAAAAAFKiSkmNH3zwQeIL1q5dO3Gfe+65J3EfSapRo0biPvvss0/iPieccELiPjNnzkzcR5Lq1KmTU7/S9tprryXu06dPn8R95s6dm7iPJL3xxhuJ+5x55pmJ+1SvXj1xn4kTJybuI0kvvPBC4j633357TvfKJJfXx1133ZW4z5gxYxL3yfVeTZo0SdynS5cuifuce+65iftI0uLFi3PqV5oOOOCAxH0222yzxH123HHHxH0kadq0aYn71KtXL3GfDz/8MHGf2bNnJ+4j5fYauOaaa3K6V0maNWuWuM+WW26ZuM/SpUsT95GkOXPmJO7z0ksvJe5z8sknJ+5zxhlnJO4j5fZ6K21PP/104j6FhYWJ+zRt2jRxH0nq1atXudxr5cqViftss802iftI0siRIxP3ufHGG3O6VyY9evRI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\n", "text/plain": [ "<Figure size 1440x432 with 27 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 拿測試集影像輸入編碼器\n", "deep_encoded_imgs = deep_ae_encdoer.predict(x_test)\n", "# 編碼結果再輸入解碼器\n", "deep_decoded_imgs = deep_ae.predict(x_test)\n", "# 劃出編碼解碼的比較圖\n", "plot_autoencoder_outputs(x_test, deep_encoded_imgs, deep_decoded_imgs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"sparse-autoencoder\"></a>\n", "\n", "## 19.4 稀疏自編碼器 Sparse Autoencoder\n", "\n", "另外一種用來約束編碼,使得盡可能壓縮得很精簡的方法,就是鼓勵激活的神經元稀疏化,叫做 Sparse Autoencoder。 跟訓練 DNN 時用的 regularization 方式一樣,就是在 loss function 加上懲罰項,以 L1 regularizer 的稀疏化效果比較好。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 建構稀疏自編碼器" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "Input = tf.keras.layers.Input\n", "Dense = tf.keras.layers.Dense\n", "Model = tf.keras.models.Model\n", "L1 = tf.keras.regularizers.l1\n", "\n", "def sparse_autoencoder(input_size=784, hidden_units=[128, 64], code_size=32):\n", " '''建立稀疏的深層自編碼器模型\n", " 自編碼器的 input size = output size\n", " 隱藏層節點數順序為: hidden_units[0], hidden_units[1], code, hidden_units[1], hidden_units[0]\n", " '''\n", " # 輸入層\n", " inputs = Input(shape=(input_size,))\n", " # 編碼層多加了 L1 regularizer\n", " encoded = Dense(hidden_units[0], activation='relu', activity_regularizer=L1(1e-3))(inputs)\n", " encoded = Dense(hidden_units[1], activation='relu', activity_regularizer=L1(1e-4))(encoded)\n", " encoded = Dense(code_size, activation='relu')(encoded)\n", " # 解碼層\n", " decoded = Dense(hidden_units[1], activation='relu')(encoded)\n", " decoded = Dense(hidden_units[0], activation='relu')(decoded)\n", " decoded = Dense(input_size, activation='sigmoid')(decoded)\n", " \n", " # 建立輸入對應到解碼輸出的模型\n", " autoencoder = Model(inputs=inputs, outputs=decoded)\n", " # 指定訓練過程採用的最佳化演算法及每個像素的損失函數\n", " autoencoder.compile(optimizer='nadam', loss='binary_crossentropy')\n", " \n", " # 編碼器\n", " encoder = Model(inputs=inputs, outputs=encoded)\n", " \n", " return autoencoder, encoder" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 訓練稀疏深層自編碼器" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 60000 samples, validate on 10000 samples\n", "Epoch 1/35\n", "60000/60000 [==============================] - 7s 109us/sample - loss: 0.2443 - val_loss: 0.1928\n", "Epoch 2/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1784 - val_loss: 0.1695\n", "Epoch 3/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1659 - val_loss: 0.1612\n", "Epoch 4/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1585 - val_loss: 0.1538\n", "Epoch 5/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1527 - val_loss: 0.1524\n", "Epoch 6/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1481 - val_loss: 0.1517\n", "Epoch 7/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1440 - val_loss: 0.1431\n", "Epoch 8/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1407 - val_loss: 0.1387\n", "Epoch 9/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1377 - val_loss: 0.1381\n", "Epoch 10/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1352 - val_loss: 0.1325\n", "Epoch 11/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1328 - val_loss: 0.1333\n", "Epoch 12/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1304 - val_loss: 0.1286\n", "Epoch 13/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1286 - val_loss: 0.1299\n", "Epoch 14/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1268 - val_loss: 0.1247\n", "Epoch 15/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1254 - val_loss: 0.1256\n", "Epoch 16/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1239 - val_loss: 0.1216\n", "Epoch 17/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1226 - val_loss: 0.1235\n", "Epoch 18/35\n", "60000/60000 [==============================] - 6s 99us/sample - loss: 0.1214 - val_loss: 0.1200\n", "Epoch 19/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1204 - val_loss: 0.1185\n", "Epoch 20/35\n", "60000/60000 [==============================] - 6s 99us/sample - loss: 0.1194 - val_loss: 0.1188\n", "Epoch 21/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1185 - val_loss: 0.1176\n", "Epoch 22/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1175 - val_loss: 0.1206\n", "Epoch 23/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1166 - val_loss: 0.1161\n", "Epoch 24/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1159 - val_loss: 0.1150\n", "Epoch 25/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1152 - val_loss: 0.1151\n", "Epoch 26/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1146 - val_loss: 0.1135\n", "Epoch 27/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1138 - val_loss: 0.1148\n", "Epoch 28/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1132 - val_loss: 0.1127\n", "Epoch 29/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1126 - val_loss: 0.1155\n", "Epoch 30/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1119 - val_loss: 0.1115\n", "Epoch 31/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1114 - val_loss: 0.1120\n", "Epoch 32/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1108 - val_loss: 0.1097\n", "Epoch 33/35\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1104 - val_loss: 0.1096\n", "Epoch 34/35\n", "60000/60000 [==============================] - 6s 99us/sample - loss: 0.1098 - val_loss: 0.1112\n", "Epoch 35/35\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1094 - val_loss: 0.1120\n" ] }, { "data": { "text/plain": [ "<tensorflow.python.keras.callbacks.History at 0x242008f2c88>" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sparse_ae, sparse_ae_encdoer = sparse_autoencoder(input_size=784, hidden_units=[128, 64], code_size=32)\n", "\n", "# 稀疏深層自編碼器需要再多訓練幾個 epochs\n", "sparse_ae.fit(x_train,\n", " x_train,\n", " epochs=35,\n", " batch_size=256,\n", " shuffle=True,\n", " validation_data=(x_test, x_test))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 檢視訓練結果" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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taugnsBXvXr0I4i/btwJJ5wQaTv88MNdfOCBB0baMq0rdM8990SO+/fv7+Jff/01UV8BAOnRpEkTF9988815ueZuu+3mYn+tmU8//TRynr+WSo8ePSJtEyZMyEtfKov4uqMjRoxwsf88lgf/8V555ZVIm79+zdixY8utT2vCiBoAAAAAAICUoFADAAAAAACQElVu6lP9+vVdvOOOO1ZgT5BJfBih7/vvvy/HniBNatWqFTkePnx4Xq/vT7uQpKZNm7p4p512irTVqFHDxf72gn379o2c99NPP+Wzi8jRwIEDI8f+z5K/BackzZs3r1z6BKlly5aR42ynssanOmXajvP000+PHO+yyy4u7tq1a6SN12p+PPHEE5HjY4891sXXXnutiy+55JJy6xPWDTvssEPk+P7773fxXnvtFWmbNGmSizt37uzirbfeOnJe48aNM17jq6++cnF8i2X/PX/atGkunjVrVuZvAAXnLz3hf9465JBDCvq48Z8r3+OPPx45rlevXkH7sq658MILI8cdO3Ys6OMtX77cxfFpV7542wMPPOBi//dL/HdDeWNEDQAAAAAAQEpQqAEAAAAAAEiJKjf1adSoUS6OD4Msy6JFi1ycaYcJ5EemYeyS9M477xT0sf0V36XosO3JkydH2jbeeGMXT5kyxcW//PJLgXpXta1atSpyvGzZMhefccYZkTb/3hSC/zvgxBNPdPFTTz0VOe/pp58uaD+QnW222SZj28yZMyPHzz//fKG7g9Bll12W9bmzZ892sf8+Lknvvvuui7t37+7i+O+F/fff38Xx4erHHXeci5kGlbsXXnghcuwPcz///PNdHN/d8bzzzitsx/LMnxorSWeddZaL49O/mOaVWbNmzVwcf78sa3mCI444wsX+dKT4e3+jRo2y6kd8N1f/c+jSpUtd7H8mlKSJEydmdX3kh798hb9LT0Vil6eyrbfeeuX6eP369XNx/DNGWVPYyruf2WJEDQAAAAAAQEpQqAEAAAAAAEgJCjUAAAAAAAApUSXWqPG30o2vQZJJfD2MQw891MW//fZbfjoGx58bGN+G+ffff3fxxx9/vNaPVadOncixv1ZBp06dIm3+POVLL7004zW/+eYbFw8bNizSdvfdd7v4jz/+SNZZOPFtlC+66CIX+8+/FN2Ssyxnn322i2vWrJl1X/yfC3/rwWeeeSbra6Cw/O06y1rr4KqrriqP7iB0xx13uNhfZ0KKvq7Gjh0babv44otdHH+9+9566y0X//zzz5G2QYMGubhdu3aRNn87XtaoyZ2/pbIkff755y7216iJP/+5rg3lry1S1vp2mXJyzSsrJ74dLWvU/OX000+PHI8ePXqtr7nzzjuv9TXKup9169Z18c033xxpi69VhMLq0qVLVud98cUXGdu23357F69YsSLS9tJLL7n4o48+cnF8bRN/3dIbb7wxqz6hMF599dXI8ZNPPunic845J9JW1ho1acWIGgAAAAAAgJSgUAMAAAAAAJASVWLq0/HHH+/i5s2bZ5Xz4osvRo5nzJiR1z4hyt8qPT4k2p86tHDhwrV+LH/4tRTdPvTNN9+MtPnbbMaHUu65554u7tGjh4tvueWWyHn+lJqbbrophx5jTW699daszvO3dpSi2zuWNfXJH+YqST179nQx2zmnR7Vqf/2/B3+qYvXq0bc6/+dl3Lhxhe9YFdemTRsX+9vZ+/dLkq699loX52O6yNVXXx05HjBggIvjU2D9xzvmmGMibfGp0Mjea6+9Vmocf59v0aJFVteLb498wAEHrEXvCiO+PXdV16pVKxfffvvtebmm/578wQcfuPi6666LnPf222+72J/eKElz5sxx8d577x1pi28zj4oRf72PHDmy1PPi02inTp2a8Zr+VLb4lPrvv/8+aRexBv7vfSl6r7L9vS9Jy5cvd/HMmTNd3Llz58h5/nIZ8c8YZXn//fddvGzZsqzzCo0RNQAAAAAAAClBoQYAAAAAACAlKNQAAAAAAACkRJVYo2bo0KGJc15++eUC9ASZDBw40MXxrTP9rdZy5W/LHt+O11+Xpm3btllf87nnnnOxv234Qw89FDnPX5NhzJgxkTa2gS28Jk2auDj+s+TPVS5LfNtt1qVJp9atW7u4rNeyv+ZItlvzInfXX3+9i/21YeJrjuVr/YpM/K2AzzvvvEjb4Ycf7uLNN9880lbWduDITXzdgvhxJtmuR5aEvzaS/1mkLF999VXk+L777nPxkCFD8tOxdVjjxo1d/Mgjj7i4Ro0aWV/Df47j79133nmniz/77LOsrlfW561sP/vNnj07q/OQO39No9tuuy3StuGGG7r4t99+c/HXX38dOW/x4sUZr19WG/Jv4sSJkWN/LZj4+jJl8bdOnz9/fsbzrrnmGhfvsssuWV+/d+/eLvZ/tioaI2oAAAAAAABSgkINAAAAAABASlTKqU9nnHFG5HirrbbKKs/fls0fxorCOPfcc13sb9d21113Rc6bNGnSWj+Wv8XfkiVLIm29evVa6+s//vjjLo4Poe3Tp4+LW7ZsGWmLDwlE/vlTHPxpUGvy8MMPuzgfPyMoPH/6SllefPHFAvcE2bj//vsjx2mZYnT55ZdHjv1prkx7XPfFt3Du27dvVnn+0PuLL7440uZvEV0VnXXWWZHjO+64I6u8pUuXuth/z5Wi9yk+tSXfunXrltV58Z8drL3q1aN/ig4fPtzFm266acY8f9py+/btI23+1usrV65c2y4ij3744QcX33vvvXm/frNmzfJ+zYrEiBoAAAAAAICUoFADAAAAAACQEhRqAAAAAAAAUqJSrlHjb8UsSdWqZVePuvHGG13sz5tFftSqVStyfMkll7jYv0f+Vo75sscee7h42bJlkbZZs2bl9bFWrFiRsc1fi0dijZpCOeqoo1zcoUOHrHL87T4l6YorrnDxn3/+mZ+OIa822GCDyHGmLVb9OdGS9O677xasT8heeW9jXNb23L7TTz89cnzqqae6+IUXXnBx165d89g75FPNmjUjxxdccIGL41tw+2td/PHHH5E2/3PhpZdems8uViplrfOzatUqF0+fPj3SdtJJJ7m40OvQxPmPvdNOO0Xa/J+JyZMnu/jtt98ufMeqmPj7cbZrjNStW9fFI0eOjLT564zF10G57LLLXOz/bGLd5H/el/6+XlEm3333XeTYX6c2TRhRAwAAAAAAkBIUagAAAAAAAFKi0kx98ocm9+7dO6uczz//PHL8n//8J699QtQBBxwQOW7UqJGLp06d6uIpU6bk/bH33HPPvF8zF/Xr16/oLlRK22yzTeT4+uuvd/H222+fMc8fxnzllVdG2n766ac89Q6Fsu2220aOW7duXep5t956a+T4559/LlSXUIqioqJS419//bVc+/Hbb7+V2o818bePLWu7WKSHP9VJyn6anT/VSWK6U678aQVPPfWUi88555yK6I4kacMNN4wc+/fWn+oU97///c/Fq1evzn/HqqBWrVq5uKzPaLlq2LChi+NTHf33/2HDhuX9sVF49erVc7H/+pTKXqrAX9YkvizCV199lafe5RcjagAAAAAAAFKCQg0AAAAAAEBKVJqpT/7QubKGNJc17DqtKz5XFj169Igc+/eiT58+BX1sf2pVpukR+RL/+fOPp02bVtDHrkr86QgPPPBApG3nnXcuNefDDz+MHB922GEu/uWXX/LXOZSL+O48mTz55JMF7gnK4k8r8OP4lNR33nknp+v7r/cGDRq4uFevXpHz/GlLZU11iFu5cqWLx4wZk0sXUQ7mzJnj4h122CHjefH3gTvuuMPF8d3/kJ399tsvcuxPESrvKY6ZPPbYY5HjJk2aZDx33LhxLr777rsL1qeqqn///i6uXbt2hT32LbfcEmkra9dWVCx/uQx/OmV8qlNZ7+3+Lr/W2jz2rnAYUQMAAAAAAJASFGoAAAAAAABSgkINAAAAAABASqyza9Ssv/76keOOHTtmlefPXVu1alVe+4SyxecNJlkjYG198cUXLj700EMjbfvss4+Lp0+fvtaPFd+Ce8mSJS725z0jmVq1akWOn3jiCRfHt373+VvyXnXVVZE21qVZt/lbcMb5r3nuc8W64YYbXOyv8fLGG29Ezps5c2ZW14uvA7bjjju62F+jpqy8JO8/P/zwg4vvuuuurPOQf02bNo0cn3LKKS7+xz/+4eL4/f3kk09cHN+WdeHChfnsYpW0aNGiiu5CqRo3buzi/fffP+s8f10zf40q5Me1117r4o8++ijjef7nPCnzWqLHHXdc5Lhr164u7tSpU6Rtk002cXG1aoxXqEhHH3105NhfhyauRYsWLo6viZVJfB2aLl26JOhdOvATCgAAAAAAkBIUagAAAAAAAFJinZ36VLNmzchxq1atEl/jkksuyVd3sJbiU9ny7YUXXnDxBRdcEGkbNWqUi/fee++cru9Py+ncuXOk7e2333bxV199ldP1ITVv3jxyfPjhh2eV9/HHH7v46aefzmufUP423HBDF+++++4Zz/Pv+4IFCwraJ5TNf92dcMIJLn722Wcj5/nTUMsSn/qU7TQmf2rVHnvskVWOJPXu3Tvrc5F/W221lYsvvPDCSNvJJ5/sYv/n4P3334+c50+FYKpT5eW/P0jSa6+95uK6detmzIt/Lrz33nvz2zFE+K/P+Gs1F6NHj44c/+9//3NxpulSKBx/Wnrbtm0jbZdddpmL/elMUv6nosWnV3/33Xd5vX55YEQNAAAAAABASlCoAQAAAAAASAkKNQAAAAAAACmxzq5Rg3XPyy+/HDnu0aOHiwcMGODi+DZ7+eCvTTB58uRIW/v27V28/fbbR9r8LX7L4m/7HN9eLtstZ/F3/to/8W0ayzJ8+HAXDxkyJK99QsXaYostXLzrrrtmPG/SpEnl0R0k5K8XVr9+/UjbGWec4eKWLVtG2vzj+O9U//iRRx5xcXw+ur9989y5czP28aabbsrYZxRefAtu//nfZpttMub5W3D7a9JIrA9XmdWoUcPFw4YNi7T5r/m4QYMGuTj+mgdQtvjaov76nHfeeaeL69WrV259ijvooIMix/46eNOnTy/v7uSEETUAAAAAAAApQaEGAAAAAAAgJdbZqU/xLb2QfhMnTowcL1myxMX+Vss9e/aMnPfggw+u9WP/+uuvLj7llFMibfPnz3fx66+/Hmnzh2AvXrw40uZvE+rHb731VuS86667LoceQ4r+XJQ15P3HH3+MHPvTpJYuXZr/jqHcVK8efZvyt92Mmz17tosfffTRgvUJ+eH/XpbKd/pBfEvvn376ycX+duIof/H36MaNG2c898MPP3Rxhw4dXMwW3FWHP83i1FNPzXjem2++GTm+9dZbC9anqmLatGmR45EjR7p43LhxLo5/fvb505klab311st4rv93w4oVK1zcp0+fyHldunTJeA3kx5Zbbhk5Hjt2bAX1JLP4chZTpkxx8Ysvvhhp69Wrl4v9zwMVjRE1AAAAAAAAKUGhBgAAAAAAICUo1AAAAAAAAKTEOrtGzaJFiyq6C0jIXwtGim6jeMkll7j4vvvui5znb/nmb7ssSfPmzct4/Uzic9dHjBjh4vPPPz/S1q1bNxfH58n7W4r769Kcc845kfN++eWXrPoFaeONN44c9+vXL6u8M888M3I8Y8aMvPUJFatatej/T9h5550znuu/tlmjAvGflf79+2c896677nJxfC0LFN62227r4pNOOinS9ttvv7n43HPPjbQ9//zzLuY1X3X461mVtS6Nvw6W/3lOkn7++ef8d6yK2XfffSPH/joln332mYs/+uijjNfo1KlT5Di+7bPPWuvi77//3sUHHHDAmjsbevnll128cuXKrPNQsVavXu1i/2+u1157LXKe/zdj/DNAzZo1XXzUUUdF2tq1a+fi22+/3cXffvtt5Lx77rmn1D4VCiNqAAAAAAAAUoJCDQAAAAAAQEoUxbeoXGNCUVGyhALZaKONIsfZToUaP368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2ybOef/99xPnPPbYY4lzJOmhhx5KnNOjR4+83vett9468X3P5ftt0KBB4hxJuuiiixLnrFixInHOpZdemjgnl/cUSXr66acT53Tp0iXvv+v79u2b+N7ffPPNiR9n//33T5wjSWeeeWbinIMPPjhxzsCBAxPnjB07NnGOJB100EGJc15++eW83vuZM2cmvu/t27dP/DjdunVLnCNJc+fOTZzTpEmTxDnbbbdd4pwLLrggcY6U22vgjTfeyOt9v+uuuxLf9zvvvDPx42y++eaJcySpVatWiXO+/fbbxDkffvhh4pwZM2YkzslVcXFx3n/X33DDDYnvffPmzRM/zoMPPpg4R5I++uijxDm77rpr4pyvv/46cc6bb76ZOEeS+vfvnzhn+PDheb33p512WuL7Pn369MSPs2TJksQ5knTaaaclzikqSv4UPfLII4lzrLWJcyRp8eLFiXM22mijUr8pRtQAAAAAAACkBIUaAAAAAACAlKBQAwAAAAAAkBIUagAAAAAAAFKCQg0AAAAAAEBKUKgBAAAAAABICQo1AAAAAAAAKUGhBgAAAAAAICUo1AAAAAAAAKQEhRoAAAAAAICUoFADAAAAAACQEhRqAAAAAAAAUqJ6WY2rV69OfMHBgwcn70T1MruRUZMmTRLndOvWLXHOE088kTjn6quvTpwjSRdffHHinNGjR+f0WGU5/vjjE+f06tUrcc7KlSsT50jStGnTEucUFRUlzrnxxhsT56y//vqJcyTpwAMPzCkvn+bOnZs4Z86cOYlzzjvvvMQ5Um73MJfvqXbt2olzcnnNSNIhhxySU14+/fOf/0ycc+KJJybO6dGjR+IcSWratGninNatWyfOOeWUUxLnjBw5MnGOJD377LOJc7p06ZLTY5VlxYoViXNuuOGGxDn9+/dPnCNJNWvWTJxz/fXXJ845/PDDE+d07949cY4knXHGGTnl5dNDDz2UOGebbbZJnNOyZcvEOZI0bNiwxDk9e/ZMnPPqq68mzunatWviHEl66qmncsrLp//+97+Jc4444ojEObNnz06cI0lHHXVU4pzevXsnztl6660T5zRq1ChxjiS9+OKLOeXl2+LFixPn3HzzzYlz9txzz8Q5Um6fgXN5/x06dGjinFzvfa5/4+TTFVdckThnxIgRiXNyeR1KUocOHRLntGnTJnFO3bp1E+eceuqpiXMk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4403LvV6e+21V+T4yCOPdPHUqVMjbbfffruL49Oi/L8F04QRNQAAAAAAAClBoQYAAAAAACAlKNQAAAAAAACkRJVbo6ZGjRouPvDAAyNt/ro08XmL33//vYv/+OOPwnSuivHXkPDnhcbXjKhe/a8f02+//TbS5s8x9LdQl6LrSyxbtszF8XVo/DmkuW7d7ecl2caP+avZK+t5jcvHffN/Jv3t46Xoz+jixYtd7M9NlqJzXrnXFWeLLbaIHNepU8fF8XVM3nnnnXLpE/7+mmvYsKGLL7jggkjbaaed5uL4GnL++/Xvv//u4s8//zxyXvfu3V1src2hx1iT+D31P3P598n/uhT9XBXfNpW14wBI0XVG/b8N/FiKfmbbZZddIm3+mnU77bRTpK1FixYu3nnnnTNef/ny5S4ePnx4pO3BBx908bqyBXQh+fdMiq73E3/u/C24/c9pUi5CcW4AAB5tSURBVPT9w39PKGudobZt20ba/M/r8+fPj7TNmzfPxWn6vM6IGgAAAAAAgJSgUAMAAAAAAJASVWLqkz8Ud6ONNnJxs2bNIuf5Q9vi23Q988wzLl69enW+u1gl+UPL/KHs8akIS5cudfHkyZMjba+++qqLf/jhh0hbLlutlTW9Jj68zj/2h/bFh3T7Q/HjffKH76VpqF1a+K9J/7UrSZtuuqmL469l/1x/S9749rx169Z18Q477BBp23vvvV3ctGnTSJt/nQkTJrj41ltvjZznb9sY/73BcP7C8l+f/naNUnRI7Zw5cyJtCxcuLGzH4PivYUl6+OGHXdyuXbtIm/97tawpqv59j7+mb7vtNhd37do10uZvt4pk/PsRH67euHFjF++3334u/umnnyLn+a87fwi6JP34448ujk89z/R7NP5+6h8n+d2b6TNA/POA//ud3+3Z89/j49vv+p8LN9hgg0ibf19q165daixF37vjnxH9rXvjP1f+Zzr//d7/PCoxvbnQ4lOOmjRp4uJevXq5OL6UhT+9Kf5a9e9h/DO5/z6z/vrrZ+zHL7/84uL458P4VJ+qyH/O/W3OJal///4uPvjggyNt/us8/j7v/171f9/Gp5f592rLLbeMtB133HEu/u233yJtgwcPdrG/XEZFY0QNAAAAAABASlCoAQAAAAAASIkqN/WpefPmLt5mm20ynudPV5GkN998s0C9q7r8Iar+cMP41KePP/7YxfH74A8/LGtKWlk7BJU1nNkfwugPg5SiQ/T84d7xKTr+kO74cO/40LuqLv78+yv3d+rUKdL273//28X+MFcp+vPkv5aXLFkSOc8fIhnfScZ/7PhQVv+++fc+fn2GRVecRo0aubhz586RNn9XgEmTJkXamNpaWLVq1XLxlVdeGWnzd2goa1egRYsWRdr83QD939PxIdf++78//FqSrrvuOhf7O3pgzfx7tfvuu0fadt1111Lb/GmnUvQ5j09R8cWnKvivc38KbHwajT995a233oq0vffeey6OT4Hxp25tu+22Lo7v8Dd69GgXz507N2Ofq/q0KP/1L0ldunRxcb9+/SJt/q478bxMu77En1+/Lf57Y/r06S6OT4H1768fT5kyJXKev7Mc7x354X9ej08ruv76613cunVrF8envPnXiE959+9T/He9P43G/10Q/7maPXu2i+O/T9jpKfo+3KpVq0jb/vvv72L/s1hc/PXk30f/vsXfE/xdWeNTJv2dJf1dICVp7NixLv7ggw9cXNGf3RlRAwAAAAAAkBIUagAAAAAAAFKCQg0AAAAAAEBKVIk1avy5rf6ctAYNGkTO8+c0xteaYMvWtRdfJyY+d7CEv6WxFJ0rGN9CNdO2rFJ0/ZFMcbxf8TZ//ZH4GjX+WjT77LOPi/fcc8/Ief78/TFjxkTaJk6c6OKKngeZBvGfEf859+e1StH1AuJryPjr0nz33XcZz/PXsIhvK1vWvHd/raFnn33WxfE58NzT8uX//Oy7774u9texkKL3079/KAz/vuyxxx4uPuywwzLmxNeM8NezmTx5cqTNn6/ub8c5aNCgyHl77723i+NrXn3zzTcuvvfeeyNtVX1dkSTi79H+Wl/++gDxtdz8z2n++6n09/XDfP5aNP5nivjnAf8e+mufSNIJJ5zw/9u711ipyuuP44ukGmtV2sqlgogIIuANiQQEClovUGxFo9aUeMFaWtN7bTQasdGQtNpo6yUiLaRWhNYYbRWhILR4IQgIclEKakGKlIuIBlCx9Y3/F/909bcWzO454xzOnjPfz6s1efYZhtl7P3vvybPW8jhf57X2RVEdQ/3MudbK6tWr9/s5GoXWofjBD34QxvQcLaozkum1tVJsVlxnRI+5fEzocVWpFbhZnCuoOVgber7fddddYUzbc2vNklzb8plnnvF43bp1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pq26dDnTm2++GbbT9JjmtAYt0xKpMuvatWt4rWk/ujTu1VdfDdtpu7Zql5lqq87c5lGXMOclek09DvQYyH9TlN60adOmJr0/9k2n0FSFgw46KIxdccUVHl977bUVt9Nj7de//nUYy8siUT45jXHEiBH73S637sznOWorz4GasqpzZV6yrClHeayadt0nnHBCeD1hwgSPtX17/lw5jeNrX/uax3o90naeZvG4KlN7z7ZMrwt6/Nx9991hu+OPP95jbd1rFlMhfvnLX4YxvXcoagmdUzsaTW5JruUDNM73cLfffrvHOUW11ufQZz/72fBa0/Hz/tO224888ojHmraBpsupiHpfpiUS/hfdT5renO/tunfv7vGll14axjQF9s477wxj2n6dZ7vayN9jtWmjuu913tc0S7OY+pTPa51TZs+eHcaWLVtW1edqaayoAQAAAAAAKAl+qAEAAAAAACiJuk19ysuZBgwY4HHfvn0rbqvLnmbOnBm20yXNqA1d8pb3mb7W716XGptVv0xO/219j7wMr2g5cxH9/FpZ/Jxzzqn4/nlp7wcffNDkf68RafpD7pil5/y3v/3tMPalL33JY+0gkJdna6eAfP6z7LX8TjvttPC6Y8eOHusS+9/97ndhO/Zty8ppSitWrPBY04hyOuNFF13k8UMPPRTGVq9eXfH9Nb359NNP91hTncxiKlROSdX37Ny5cxgbPny4x6+88orH+Vr11ltveUzqU/NUWtaeX2vKq5nZWWed5fFvf/tbj3Oai6al5fQV7QqTU6OruT+oRceyeqD/z7fffjuMTZkyxWNNSc3pgosWLfK4JdKNdW647bbbwtjRRx/tcd5H27dv91jTounyVJ1DDjkkvNbvcc+ePWFMz/fchUn3i96z5TlD3/+II44IY4MHD/b4hz/8YRjTjpDvv/++4ZPL86Gek3m/6T1/Hmvfvr3Hev9/5ZVXhu20g1s+X5cvX+7x+PHjw1hZyx2wogYAAAAAAKAk+KEGAAAAAACgJPihBgAAAAAAoCTqtkZNzi//0Y9+5HFu9ab5cZqDNn/+/LAdOeW1p993boeueaNbtmzx+F//+leLfqZa1ajRXHltC6qxWcypXblyZRjTtpXYl7Z0vPjii8OYtnfs06dPGNO2jXoM/vznPw/bvfjiix5X0/4XB57mLY8ZMyaM6fGitSbWr1/f8h8MLs+jf/3rXz1+5513PO7UqVPY7gtf+ILHDz/8cBh74oknPM5551pz4LjjjvP43XffDdvpv51bu+uckekxp8dY/n+21VokLSHXLdDvP9/faQ24IUOGhLH777/f489//vMe5/lc7z+03bJZrDuU6xRUs08b5TjQ7zifa3/84x89njNnjsf5+9U22LW4BufjatSoUR5fddVVYUyPuVyP5NZbb/VYa0+h6XRfaI0os1gXKp+PWsco14zSuo56vOR6JlqbMNcw/PGPf+zxySefHMb0+ZEaNdXTOjRaC8rMbODAgR736NEjjOm1/Zhjjglj/fv33+/f5Wu5zr9r1qwJYzfffLPHuTZSWbGiBgAAAAAAoCT4oQYAAAAAAKAk6jb1qXfv3uH1SSed5LG29zKLy6B0eeZrr73WQp8O/6Hf/axZs8KYtszetGmTx7rM2Sy2VC5KT8tLXvU40LG8vLapy5TzcaXL+c477zyP8xJ6XfabW85W23q8rcrLV3v27OnxueeeG8Z0WeRBBx0UxvQ4Wbx4sccPPPBA2I7vv/5o6slXv/rVitstWbLE45ZOp0SxV1991eP77rvP47wk/cgjj/Q4L2fW879ombu2Ap87d27YrlevXh4PHTo0jOl8osu2zWI75+eff97jnO5B+nQxvQ7n77ioZaveE1x44YVhTPe9LpvXNqxmce6fPXt2GNu7d6/H1aYtNUq6k9L/c76WatqIpqsUvUct5GeDqVOneqzXDrOYhjVx4sQwpuk4jbhvmyrfd+trvWfO9906N+frczX3Zfn99blh8+bNYUznl6IUTDSPloMYO3asx9/97nfDdp07d674Hnovr+9nFlNidR/m81P3vaa1msV5KV+DKqVetvb5z4oaAAAAAACAkuCHGgAAAAAAgJLghxoAAAAAAICSqKsaNZpLmPPXc0vuSrQdV27xidrTHOCcF677UHNZO3ToELbbuXOnx7nFn+YU5hoyRXVpKm2X30PzILt06RLGtNVjv379PM6tgP/whz94rK26zVo/97EMiuoW6DHSsWPHMKb5q/m40H3wzW9+02NtBWrG91+Pzj77bI9zrrPWCJk2bZrHtF5vXXodmDRpkscvvvhi2E7bdubWqNpeObfV1BoHWo8gX+P79u3rca5FoPNQnie0VfjSpUs9zvMOiuV6EEqvvYccckgY0xpwuT231pfRVt3Tp08P2+nxk2ticB1oWS39/erx8vTTT4exfN+gfvWrX3l811131f6DtVF6X9ypU6cwpvOqzqO5TpGegy1RK1CPiSuvvDKMaa2TXN9Q6xjpfMUcsa/83Q0bNszj66+/3uNu3bqF7fT4yftev/P8/npsFdXH0mPtqKOOCmNa606vHWZmW7Zs8ViPz3z/qK+rrXnaHKyoAQAAAAAAKAl+qAEAAAAAACiJukp90iVFb7zxRhjTJUzt27ev+He6TCkvq2KZW+3p95hTgrT9Yf/+/T3OaW2aClXUZjcvq9ZjQlMiivZ7bt+oS/ZyW1BtCb9x40aPtR23WWztmpfUIy55z+euHhd5CWNRCz5dxqzLGTmv609u1astnfM5r2kvixYt8pj9Xh67d+/2eMGCBWHsmWeeqfh3RftQ5xA9JnSJu1lMkc7Xkh07dnis7cTNzBYuXOixpnGheXQf5v2p++orX/lKGLvmmms8zmnuM2bM8PgXv/iFxznVgvTHtkXP+Yceesjjo48+uuLfLFu2LLy++eaba//BGsDhhx/u8fDhw8PY4MGDPV6zZo3HeW7X+zK9Pzer7nqd7901rU0/U/73NCXSzOzdd9/9RJ+jkeT79XHjxnmsz065pIGmKuXrqZY0yKUodA7X93j77bfDdv/4xz8qvr8+U/Ts2TOM6bPahg0bPN62bVvYbtOmTR7nNGy97uTjulqsqAEAAAAAACgJfqgBAAAAAAAoCX6oAQAAAAAAKIm6qlGjck6atnDOLVs1Z11btmkunFnMh6tVbhn+K7cyXbt2rcdbt271OLdy69Gjh8ddu3YNY7179/Y456RrHSPd1/k9NKc5j2mL2NzqdfHixR5r/m2ul1LU5g3x/DziiCPC2BlnnOFxri2kx8/kyZPD2MqVKz3WXFZyjuuP1qgyMxswYIDHuS3jrFmzPNYaRiinfD5We37qvKr58PleQOsp6LXDzOydd97xePbs2WFs+/btn/gzonK9QLO4P6677rowpi2AtT6Amdndd9/tsd4DcK1tW3I9srFjx3o8ZsyYitvpveUXv/jFMMa53DS5Voiej+PHjw9j/fr18/icc87xONeymTdvnsdaU8QsXtd37doVxg477DCPzzzzTI+/9a1vhe26d+/ucd7PWoMs/50+S2JfeiycfPLJYWzIkCEe6/16rjOYz1Gl2+bncK07+vrrr3v85z//OWyn14H8THfcccd5fMIJJ4SxQYMGeaz3AzqHmJnNnz/f4/y8p/cK//znP60WWFEDAAAAAABQEvxQAwAAAAAAUBJ1m/qUl0RpizVdemcWl1lpnN+DpbItKy8/1FQibYmXU4xOPPFEjzXtwSy23cvLM7UN7JFHHulxbu+pf5eXWS5ZssTjJ598Mozp0ruiz6/HVV7yx9LbuETy9NNPD2N9+/b1OO9fXb760ksvhTHd93l/oL6MHj06vNalz++9914Y0zatpK82Dp1Htc2zLsU2Mxs2bJjH2mLWLKao6vJls31T7FAdncNzmuvll1/ucZcuXcKYfv/5Orx582aPuYdrW/R+adSoUWHsnnvu8ViPqx07doTtTj31VI+5F6hOvk/V666WBzCLbbJ1js1t07/85S9XfP/czlnpOa4lDXTeNzP78MMPPV66dGkY07S5XEYDxTQ1qU+fPmFMn7P0vj4/9xSVGdH9sXHjxjCmKUd6HdBW72bxHlGfH83MLrvsMo+1rIZZLI2iadP5+NQUypxa9eijj3pcq+c9VtQAAAAAAACUBD/UAAAAAAAAlETdpj5luhwuL3/V5UdvvfWWx7m6N2koB5Z+37r8bc+ePWG7l19+2ePc+UdTXHJlcV0K2bFjx/3+jVmsOL9u3bowpt2DcheZpnYTKqpw3qh06aOms40bNy5sp8sP83577rnnPM7nMqkK9e3ggw/2+MILLwxjRcvc//73v7fsB0Mp6RyrHUm+8Y1vhO00lTLP2dq5L8/1pNRUT/eNLjXPnZ0uueQSj/O1fMGCBR7fe++9Yeyjjz6qyedE68v3d2eddZbHU6dODWOaOqf3BtppyCympaM6ea7U56iJEydW3FZT2XPqur7WlBOzmPqU7+W0e6ymqy5fvjxsN2HCBI+1hIEZ8/knofs3d0PSc02fv/K+1+8/p68//fTTHv/mN78JY1ruQFPbMk1xzOlTf/nLXyq+R69evfb7mXN6lr6/ngtm8XjN17Fqn0tYUQMAAAAAAFAS/FADAAAAAABQEvxQAwAAAAAAUBJ1W6Mm53rNnTvX4549e1b8u8mTJ3v8wQcf1P6DoSqV6tWYxRzGhQsXhjFty5zzAZW28cs57ZqnmMeqafFb1JKNOkj/r3379h5fccUVHvfr1y9sp7VKcq6p1i7SvGUzvud6py0+NQ/dLLZvfPDBB8MYc3pj0vNda1focWQWrwO5dsXatWs9Lsp/R/NUmutHjhwZttN9s2HDhjB22223eUzNkfqW74/0fL322mvD2E033eRxPpf1unDrrbd6rOcxWobWGFmxYkUYu/TSSz3WfdulS5ewnbZQ1tjMbO/evR5v3749jFVqDZ7vE7gHbBn6TPTss8+GsZ/+9KcejxgxwuNu3bqF7bT+i9akya/zPb8eF7p/85yivw/kOobaqn3Xrl1hTI9RfZ7M9wP6nvlapXV7alUrkxU1AAAAAAAAJcEPNQAAAAAAACXRrrnLw9q1a1fK9WS69CkvkdQxXcJUjy18P/7441bp9VzW/d4oWmu/m7XMvtc2eLfffrvHp512WthOl0jecccdYWzatGke56WJbWnZa6Of87l1p7Zw1aWwZtWlKpZVo+/3an3uc5/zeNKkSWFs6NChHq9cuTKM3XLLLR6vWbMmjB3Idq71PtfnZei9e/f2eMqUKR736dMnbKdzvaY6mcWUdW2N2tY0wjmfU9QHDhzo8cyZM8NYhw4dPM7X9FWrVnk8ZMgQj3MadD1ohP2OfdX7XF+P9PpU1DJet8v3lUXlLJr67NGcfc+KGgAAAAAAgJLghxoAAAAAAICS4IcaAAAAAACAkqjb9tyZ5oVpyzYA5aMtFx977DGPc37n3/72N4/nzp0bxrQdY1uqSYMot93MrwGlLTfvueeeMLZu3TqPp0+fHsY2bdrk8YGsSdPWaa6/1g/Zs2dP2G7OnDkea/0xs7Zdl6YR6DGQa45pvbpcM0L3e65H9pOf/MTjeqxLA+DA02eFXHumrDUOWVEDAAAAAABQEvxQAwAAAAAAUBJtJvUJQP3QZcyLFy/2+M033wzbrV+/3uOdO3eGMdITAGS6tHnJkiVhLL9Gy9NURU15zWkuK1as8Pijjz5q+Q+GA0bPyZympKUKtm3bFsZ2797t8c9+9rMwpvcNANBWsaIGAAAAAACgJPihBgAAAAAAoCT4oQYAAAAAAKAk2jW3rW27du3og9uKPv7443b/e6vaY7+3rtba72bs+9bGOd+Y2O+Nqa3N9VqL5lOf+m9ZxE9/+tNhO23FrNuZxTombbk2Ged8pMdOflZp7rNLmbHfG1Nbm+vRdM3Z96yoAQAAAAAAKAl+qAEAAAAAACiJZqc+AQAAAAAAoGWwogYAAAAAAKAk+KEGAAAAAACgJPihBgAAAAAAoCT4oQYAAAAAAKAk+KEGAAAAAACgJPihBgAAAAAAoCT+D40LNUdo9187AAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 1440x432 with 27 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 測試稀疏編碼及解碼重建\n", "sparse_encoded_imgs = sparse_ae_encdoer.predict(x_test)\n", "sparse_decoded_imgs = sparse_ae.predict(x_test)\n", "# 劃出編碼解碼的比較圖\n", "plot_autoencoder_outputs(x_test, sparse_encoded_imgs, sparse_decoded_imgs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 稀疏編碼的比較\n", "\n", "上述範例中的 `deep_autoencoder()` 與 `sparse_autoencoder()` 只差別在編碼層多加了 L1 regularization。 由於 Sparse Autoencoder 在 loss 多增加了懲罰項,所以無法從 loss 數值比較訓練結果是否達到相同水準。 但從視覺觀察的結果,上面兩種自編碼器的解碼重建結果差不多。 若觀察編碼結果的數值分布狀況,可以發現 Sparse Autoencoder 的編碼結果相對較多接近 0 的數值。" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "deep 編碼平均 = 5.110195\n", "sparse 編碼平均 = 1.068651\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "sns.distplot(deep_encoded_imgs.reshape(-1), hist=False, label='deep encode')\n", "sns.distplot(sparse_encoded_imgs.reshape(-1), hist=False, label='sparse encode')\n", "\n", "print('deep 編碼平均 =', deep_encoded_imgs.mean())\n", "print('sparse 編碼平均 =', sparse_encoded_imgs.mean())" ] }, { "attachments": { "denoising_autoencoder.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"denoising-autoencoder\"></a>\n", "\n", "## 19.5 去雜訊自編碼器 Denoising Autoencoder\n", "\n", "還有一種有趣的手法可以讓自編碼器學習有用的特徵,那就是刻意在輸入加上雜訊,但學習重建的目標仍然是原始資料。 這樣一來就強迫自編碼器不能直接複製輸入到輸出,所以在訓練過程,自編碼器就會學習去除雜訊下的有用的資訊。\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 產生帶雜訊的訓練資料" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# 將雜訊加入訓練資料\n", "noise_factor = 0.4\n", "x_train_noisy = x_train + noise_factor * np.random.normal(size=x_train.shape) \n", "x_test_noisy = x_test + noise_factor * np.random.normal(size=x_test.shape)\n", "\n", "x_train_noisy = np.clip(x_train_noisy, 0.0, 1.0)\n", "x_test_noisy = np.clip(x_test_noisy, 0.0, 1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 輸入雜訊資料比對原始資料\n", "\n", "由於部分原始資料已經被破壞,要由帶雜訊的資料中學習原來的特徵,會需要更長的訓練時間。" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 60000 samples, validate on 10000 samples\n", "Epoch 1/50\n", "60000/60000 [==============================] - 7s 110us/sample - loss: 0.2389 - val_loss: 0.1840\n", "Epoch 2/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1723 - val_loss: 0.1587\n", "Epoch 3/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1574 - val_loss: 0.1537\n", "Epoch 4/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1486 - val_loss: 0.1451\n", "Epoch 5/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1426 - val_loss: 0.1390\n", "Epoch 6/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1381 - val_loss: 0.1376\n", "Epoch 7/50\n", "60000/60000 [==============================] - 6s 99us/sample - loss: 0.1344 - val_loss: 0.1322\n", "Epoch 8/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1313 - val_loss: 0.1336\n", "Epoch 9/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1287 - val_loss: 0.1289\n", "Epoch 10/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1263 - val_loss: 0.1267\n", "Epoch 11/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1244 - val_loss: 0.1256\n", "Epoch 12/50\n", "60000/60000 [==============================] - 6s 100us/sample - loss: 0.1225 - val_loss: 0.1224\n", "Epoch 13/50\n", "60000/60000 [==============================] - 6s 99us/sample - loss: 0.1212 - val_loss: 0.1197\n", "Epoch 14/50\n", "60000/60000 [==============================] - 6s 100us/sample - loss: 0.1196 - val_loss: 0.1216\n", "Epoch 15/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1184 - val_loss: 0.1184\n", "Epoch 16/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1173 - val_loss: 0.1175\n", "Epoch 17/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1161 - val_loss: 0.1176\n", "Epoch 18/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1152 - val_loss: 0.1231\n", "Epoch 19/50\n", "60000/60000 [==============================] - 6s 99us/sample - loss: 0.1143 - val_loss: 0.1160\n", "Epoch 20/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1137 - val_loss: 0.1141\n", "Epoch 21/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1130 - val_loss: 0.1139\n", "Epoch 22/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1122 - val_loss: 0.1128\n", "Epoch 23/50\n", "60000/60000 [==============================] - 6s 99us/sample - loss: 0.1118 - val_loss: 0.1142\n", "Epoch 24/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1111 - val_loss: 0.1131\n", "Epoch 25/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1107 - val_loss: 0.1140\n", "Epoch 26/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1102 - val_loss: 0.1113\n", "Epoch 27/50\n", "60000/60000 [==============================] - 6s 98us/sample - loss: 0.1099 - val_loss: 0.1123\n", "Epoch 28/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1095 - val_loss: 0.1126\n", "Epoch 29/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1091 - val_loss: 0.1134\n", "Epoch 30/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1088 - val_loss: 0.1117\n", "Epoch 31/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1084 - val_loss: 0.1109\n", "Epoch 32/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1081 - val_loss: 0.1101\n", "Epoch 33/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1078 - val_loss: 0.1102\n", "Epoch 34/50\n", "60000/60000 [==============================] - 6s 95us/sample - loss: 0.1077 - val_loss: 0.1117\n", "Epoch 35/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1073 - val_loss: 0.1114\n", "Epoch 36/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1071 - val_loss: 0.1091\n", "Epoch 37/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1069 - val_loss: 0.1118\n", "Epoch 38/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1066 - val_loss: 0.1121\n", "Epoch 39/50\n", "60000/60000 [==============================] - 6s 95us/sample - loss: 0.1065 - val_loss: 0.1097\n", "Epoch 40/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1062 - val_loss: 0.1091\n", "Epoch 41/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1061 - val_loss: 0.1084\n", "Epoch 42/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1058 - val_loss: 0.1092\n", "Epoch 43/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1057 - val_loss: 0.1086\n", "Epoch 44/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1056 - val_loss: 0.1085\n", "Epoch 45/50\n", "60000/60000 [==============================] - 6s 97us/sample - loss: 0.1053 - val_loss: 0.1083\n", "Epoch 46/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1052 - val_loss: 0.1114\n", "Epoch 47/50\n", "60000/60000 [==============================] - 6s 95us/sample - loss: 0.1051 - val_loss: 0.1085\n", "Epoch 48/50\n", "60000/60000 [==============================] - 6s 95us/sample - loss: 0.1049 - val_loss: 0.1083\n", "Epoch 49/50\n", "60000/60000 [==============================] - 6s 96us/sample - loss: 0.1048 - val_loss: 0.1086\n", "Epoch 50/50\n", "60000/60000 [==============================] - 6s 95us/sample - loss: 0.1047 - val_loss: 0.1081\n" ] }, { "data": { "text/plain": [ "<tensorflow.python.keras.callbacks.History at 0x24267ae9828>" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 用 deep autoencoder 的模型來訓練\n", "denoising_ae, denoising_ae_encdoer = deep_autoencoder(input_size=784, hidden_units=[128, 64], code_size=32)\n", "\n", "# 輸入 X 是有雜訊的訓練資料,比對 Y 是沒有雜訊的訓練資料\n", "denoising_ae.fit(x_train_noisy,\n", " x_train,\n", " epochs=50,\n", " batch_size=256,\n", " shuffle=True,\n", " validation_data=(x_test_noisy, x_test))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import random\n", "\n", "def plot_denoising_outputs(original_imgs, noisy_imgs, denoising_imgs, decoded_imgs, n_imgs=9):\n", " fig, ax = plt.subplots(nrows=4, ncols=n_imgs, figsize=(20, 10))\n", "\n", " for n,k in enumerate(random.sample(range(original_imgs.shape[0]), k=n_imgs)):\n", " # 上面列顯示原始影像\n", " ax[0,n].imshow(original_imgs[k].reshape(28,28), cmap='gray')\n", " ax[0,n].get_xaxis().set_visible(False)\n", " ax[0,n].get_yaxis().set_visible(False)\n", " if n == n_imgs//2:\n", " ax[0,n].set_title('Original Images', fontsize=16)\n", " \n", " # 顯示有雜訊的影像\n", " ax[1,n].imshow(noisy_imgs[k].reshape(28,28), cmap='gray')\n", " ax[1,n].get_xaxis().set_visible(False)\n", " ax[1,n].get_yaxis().set_visible(False)\n", " if n == n_imgs//2:\n", " ax[1,n].set_title('Noisy Inputs', fontsize=16)\n", "\n", " # 顯示雜訊重建後的影像\n", " ax[2,n].imshow(denoising_imgs[k].reshape(28,28), cmap='gray')\n", " ax[2,n].get_xaxis().set_visible(False)\n", " ax[2,n].get_yaxis().set_visible(False)\n", " if n == n_imgs//2:\n", " ax[2,n].set_title('Reconstructed Noisy Images', fontsize=16)\n", "\n", " # 下面列顯示原始自編碼器解碼重建的影像 \n", " ax[3,n].imshow(decoded_imgs[k].reshape(28,28), cmap='gray')\n", " ax[3,n].get_xaxis().set_visible(False)\n", " ax[3,n].get_yaxis().set_visible(False)\n", " if n == n_imgs//2:\n", " ax[3,n].set_title('Reconstructed Original Images', fontsize=16)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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UQMAAAAAAFDguFADAAAAAABQILhQAwAAAAAAUCBWq+wBAMujTp06SXuXXXbJ6blhTRpJuuWWW5K2z3X3ec3//ve/c3ovlB9fk+aFF14wcS41aS699FITz5s3r+wDQ97Vq1cvafs6UYWyrfw85OcKP+4jjjii3Me0srnvvvtMnK0mjZ/Ps9UyQeFYuHBh0vb1xnzsrbaaPcU9+OCDl9mWpPXXX9/EhVKrBMX52kS+vtB2221n4nB/33vvvU2fPw+cMWOGiTnXA8qHn5/DffHaa681fdnOkw4//HATh/XI/v777zKOsDBwRw0AAAAAAECB4EINAAAAAABAgeBCDQAAAAAAQIGgRk2KSy65pLKHAKdv374mbtu2bdLeYostyu19P/roo3J7beRulVX+/xrzHXfcYfoaNGiQ02tdfPHFSXvw4MGmb9GiRWUYHfLFb8vbb789aY8aNcr0XXfddRUyJs/XR7n77rtN7GvWPProo+U+ppXRWmutlbTD2mSlEX5vJOn333/Py5hQ/q6//vpltksjPE5I0v7775+0Bw0aZPp8TYSff/7ZxPfff39O7438WWONNUwc1hOUitek8cftc845J2kfcsghpq9du3YmPu2000xMjZplq1atmonPOuuspH3MMceYvpkzZ5p47bXXNnH9+vVN/PLLL5f4vo8//riJf/rpJxO3aNHCxK+99lrSjuPY9PnjyLffflvi+2L5+f24f//+Jg73Uy9bXTl/PvjSSy8l7Y4dO5o+/50pdNxRAwAAAAAAUCC4UAMAAAAAAFAgSH1CQQlvb5ek6dOnm9gvoZnL0su5CJd2k6SpU6eWy/ugbC677LKk3bp169THzpkzx8QPPPCAicNb4JcsWZKH0aGs9tlnHxP7ZVdr166dtN98880KGVM23bt3N/EBBxxg4i+//NLE/fr1K/cxrYyOPPLIpO2X1M3msccey/dwsALw8/m4ceOS9vvvv2/6dt99dxPvt99+Jib1qWKts846Sdvvv0cddZSJX3nlFRO3b9/exGHqTZgKs6zX2mmnnUxcs2bNpP3bb79lGXXV8fDDD5v45JNPzttr16tXr8S+8847L6fX+u6775L2F198Yfp22203E/sUrG+++San94JVvXp1E998880mTkt1Wl7hct0+5e2www4z8XvvvVdu48gH7qgBAAAAAAAoEFyoAQAAAAAAKBBcqAEAAAAAACgQ1KhJceKJJ1b2EKocn+daq1atShmHz22ndknl8stvduvWrdTP9cs5XnrppXkZE5af365+Wc6wPoAkzZ07N2n7WgMV6d57703anTp1Sn0sNWkyfD0xXwti8uTJJvZLeeayz3/00UepMfD333+n9vvvHypWuL83a9bM9DVv3tzEY8aMMfHixYtLfF1fZ+bHH380sa+T6JehRkbjxo3z9lp+OfVsSzGH/Pbx8WabbZa0N99889TXCmtYSVKvXr2SdnjMR+n06NHDxLnWF8qXGjVqmPjWW2818QUXXGDiQjtf4I4aAAAAAACAAsGFGgAAAAAAgALBhRoAAAAAAIACsULUqNlyyy1N7GtOTJgwIWmXZ/2JESNGlNtro/x99913Jt5ggw1MvO666ybtTTbZJPWxs2fPzvPoEPK1iR544AET++0R+vbbb03ct2/f/A0My8Xn/991110m9jVpvA4dOiRtX8+mPIXvK0nt27dP2j4nfvz48Sb2392qyteN8DVpvNVXX93Ee++9d6nfy8/12eqRoGo455xzkvZxxx2X+thJkyaV93CQYq+99kraF110kekbPXp0mV93vfXWM/GGG25o4nnz5pX5tasSX3/E1wHJxXPPPWfimTNnlvq5/pwirEkjSeeee27S7tKlS+pr+Ro2nTt3TtrUqMndjjvuWGHv9fXXX5s4/B2w5pprmr5GjRqZ+MILLzRxx44d8zu45cQdNQAAAAAAAAWCCzUAAAAAAAAFggs1AAAAAAAABaIga9T4PMIBAwaY2NeKue222/L23g0bNiyxL6yFg/KxaNGiMj934cKFJh41apSJr776ahP7vNiwRo3Pt/V5sNSoKV/9+vUz8UEHHWTipUuXLrMtSb169TLxl19+mefRIRcbbbRR0va1BXbffffU5/p9tqLqRqy2mj00Hn744SX2f/HFF6Zv0KBBJvbzEkqnVatWpX6s/4ypSwWp+H57zTXXJO2NN97Y9I0cOdLE9913X/kNDFkdf/zxSdvXt/LOPPNME++xxx4lPnafffYxsa9317t3bxP/9ttvqe9dVT322GOVPQRJ0vz5803sj8cLFiwo82sPGzaszM9F7sL6fv432G677WZiv52bNm1q4rBGjf/99sILL5h42223zX2wFYg7agAAAAAAAAoEF2oAAAAAAAAKBBdqAAAAAAAACkRB1Kjp37+/iS+55BITh7lmktS6detyG4uvhxOiRk35e+ihh0x8zjnnmHjNNdc0cRzHSfvmm282fe+9956Jfc7jGmusUeI45s2bZ+LlyXNFdj5vvF27dib2dWjCnPWuXbuavvvvvz+n9w7zV1u2bGn6Dj30UBN/8803Jg5zXT/66KOc3ndlVa9ePRMPHTo0aWerSXPFFVeY2B8bstUqyBdfnyKtXspNN91k4scff7xcxrSy8/Ox3xfTDBw40MQTJ0408VlnnWXiq666KmlXr1499bXnzp1r4p49eybthx9+uNRjRNk0b948aVerVs30+foifj897rjjTBw+39eSuvTSS01MbanKFX7+vsaEPy6cccYZJvY1xtL4cwtfk8b3o7BtueWWJm7fvn2ZX2vIkCHLORqk+eGHH0x8+umnJ+0//vjD9Pnf/c8++2zqa4V8HaNffvnFxC1atDBx+PujEGoxcUcNAAAAAABAgeBCDQAAAAAAQIGotNSn8DambKlOW221VYWMSZIaNWpUYt93331XYeNAxn777Ze31/K3x2+22WYmDtOdwlvjJZZoLG/+tvNs6Qjdu3dP2n67ZhNFkYlHjBiRtHfdddecXitcPvrFF180feFtnJI0Z86cnF57RRWmKkjpc6pPU/PbsqJSndq2bWvibOm14VK+r7zyiuk78cQTTRx+v1CyI4880sTHHntsqZ9bq1YtE99yyy0mvuiii8o8rg033NDE4dLfY8aMMX0zZswo8/tUFX4pVJ+C5I/5YXqTT33K1ZIlS5L2o48+avpIdSpcfvnts88+O2+vHabPS8Xnc6xYOnXqZOJNN9201M/1KTE+7RW5+eSTT0x8wgknmHj99dc3cXgeNm7cONM3ePDgMo+jcePGJt5mm21MvM4665j48ssvT9p+PvDfkYrAHTUAAAAAAAAFggs1AAAAAAAABYILNQAAAAAAAAWiWtrSc9WqVSu3demmT5+etP1yan6JbF+/ojxl+TwqbBy5WLp0ad4HVp7bvqL42gLjx483sV9G+Ouvv07a2223XbmNK5/yve0rars3aNDAxBMmTPDjMLFfLj2sM/P999+nvlezZs1MPGrUKBOvskr5XK/2f6NfLn55FPJ2f+2110zcpEmTEh/rl2RetGhRvoaRVbh93nzzTdPnx+VNmzYtadepU8f0+fooffr0KesQi1mZ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ABSIgqhRU6i+++67yh7CSqlr165JO1s9ke7du5u4WbNmJvY1RHLh68z07t07aV944YWmb8011zTx+uuvX+b3/fPPP03s8yd//vnnMr/2iuKhhx4ycZcuXUy83nrrmfjBBx8st7GES2znk18SGNJff/1l4jAXOFeNGzc28ZVXXpn6+F9++cXExxxzTNL+7bffyjwOVIwhQ4aU+rG+xlXfvn1NHNYq8DUQfM2KcFlwSTriiCOSdlWYq1cmYa25TTbZpBJHsmLyNQS32morE+ezbmN4npRrTZpwmV9J6tGjR9L2c8NXX31l4uHDh+f0Xihf9evXN3Hnzp1zev7YsWOT9pgxY/IxJJTRjjvuaOJca8qmue2220w8ePDgpO1r2Pm6oIMGDTLxnnvumbRr1apl+qhRAwAAAAAAUIVxoQYAAAAAAKBAcKEGAAAAAACgQFCjBhWuTZs2pX5skyZNTJxWk2bBggUmbtWqlYl9nZONN97YxGFtgnzmry9evNjEPse2KuZEv/HGGyY+9thjTbzttttW5HDy4vPPPzfxI488UkkjWXkddNBBSfvZZ581fb5u1Ndff21in+s+e/bs/A4O5WrXXXctsW/vvfc2ca9evUzcokWLEp/ra9LEcWxifxz5/vvvU8eJwhXWDTvwwANN3++//27id955p0LGVMg22GADE7/66qsmnj9/vokbNWqUtP/+++/yG1gWvl5Fx44dk7Yf18knn1whY0LZ7Lzzzsv1/N133z1p+7qUixYtWq7XRm423HBDE9euXbvEx44ePdrEAwcOTH3t//znP6Uex+TJk01cmXNVaXBHDQAAAAAAQIHgQg0AAAAAAECB4EINAAAAAABAgaBGDSpcWP/F1wfw0moLSNLUqVOT9pVXXmn6Ro0aZeKddtrJxHfddZeJjz766BLHtfbaa5u4WrVqJl6yZEnS/vjjj03f8ccfb+Lp06erqnv++edN/Mcff5h46NChJt5iiy3KfUzL4rfV+PHjTfzcc88l7SeeeKJCxlSV9e3bN2n7mjT+O9SpUycTU5NmxdalS5ekfcEFF5i+VVZZJTVO42tJdevWzcQzZ84s9WshO1937t577zWxn3PDGkG//fZb6muvvvrqJr7oootMfN5555X4XH+cnjhxYup7VQV+P1pvvfVMvOOOO5o43C9vv/120+fPqXKpD+LPt+rWrWti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Jvb1itq2bZu0n376adOXLR815HPO/Ti8mjVrmjj8blx//fWmL/yuS1LLli0rLX89mxo1apg4zNeeNWtW6nP998LPAWF9AZ/fG9YakorXD9hjjz1M7GuGhPyc52uX5MLPkb7uQ1gvy383vXznMNetW9dsd5/Duzzat2+ftH29losuuij1uYsWLTJxuG/cfffdpu+WW24x8TfffGNiXzcs5I9PYb0xqXjtmLAuWvXq1U2fr0V06aWXlvi+kq0L4HOpX331VROXR42aXPZ5/zn5+cjXALjhhhuStq/9sPPOO5vY58Ivoz5P0h49erTp8/uWrxFy1llnlfjeYa09qXjuuz/epn1nfb2Vww8/3MT+XGfJkiVJ2+fvd+3a1cRfffVVuc71fs4Nj9PZjmkPPPCAia+55pqkna0WjD+2hnVkJDsH+POBLbfc0sR+P50/f76Jw7ppvs7OggULTBzWoZKK1z3JF1/XaPDgwSYu79pE/pz5pZdeStp+H/T78CeffGLisJaar6sWnl9JxetX+JoeYZ2SrbbayvRttNFGJp40aZKJ/VwSPt/Xo/BzxfTp000czs8jR45UmmznFmFNm7RaYFL5zPWNGzc2297PMX5+TxPWVpPs/BzWpVsW/7vT71s333xzqcfhzyl8Tc/7778/aYd1SyTpqKOOMrGviRl+z/w81a9fPxP774avJRrO737eevzxx02c723funVr84H7mpBhTbHLLrvM9PnzqqOPPtrEL7zwQonv67ezr2Hjz6fD/WV568bUrVs3afv5wNdV9PNc2t/k/35fw87PTeGx0h+/evXqZeKrrrqKGjUAAAAAAACFjAs1AAAAAAAABYILNQAAAAAAAAUitUbN8ccfbzp9Pnoutt56axOH9QOuvvpq0+fztvwY11lnHRMfe+yxSfvss882fT4n0edh+9zAMC87zJGViucVhmvPS9K8efNUkgMOOMDEu+22m4lff/11E4e1CsK/z/dJ0rRp08q9boEfw3PPPVfic32eq89Rf/fdd5N2WLdEks4//3wT+/zI2267zcThNvE5pD5X0Ncn6tSpk4nDXFYvW42aJk2aJG3/N/m6BVdeeaWJ+/fvb+IwVz583WUZM2ZMueav+7zxsLaUr+Xga0v5GiGrr7560r799ttNn8/Tz1bDJtz3xo4da/p8jYMzzjjDxNddd52Jr7322tT3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Z3vde++9+X4vv5fzuOzYDvjMwddff93VXX311YmflTTHZHg+Foah0zZHirPzeCznXETOr7BZRZw7x2NnUYz1fJ+fOnVqvsd37rnnbvb3ZMrq4ezDpLlinz59nObfCAxnb9mMGp5/cFYOY+cMPG+090UgPWOQP7swY2a2257H+r/9za/RsPf8pDog/Tq2817ONcqUjcPXqb1e+Frisb9y5cpOc0aNzQbM1M58HHaOy/m6fM3z+fn111+dnjBhQlzmrKann37a6enTp+fZ7lpRI4QQQgghhBBCCJEj6EGNEEIIIYQQQgghRI6gBzVCCCGEEEIIIYQQOUJiRk3VqlVdpfV8AT5Xgn2EvE/8v//9b6e7desWl9mvuNtuuzl98803O81e9yTef/99pzk7hv3onTp1issdO3Z0dX/++afTBxxwgNO33XZbXG7SpImrY/8cw1ksnNVgefnll53u3Llz1r2stWrVcm3PHmCbAcC+XYb3u//+++/j8gMPPODq2NuaCesnHjBggKt77LHHnD7wwAOd5oyaXXfdNS7bfgCktx+3r81AuOKKK1zdscce6zTnJ3A/s55xzoRgsu1lrV69umt3zgB49dVX4/LZZ5/t6tjDy5ktFvajz5kzx2n2NHNmTd26dePyO++84+pOPPFEp21/A4CGDRs6PXDgwLjMbcdwjszjjz8el1977TVX17VrV6dXr17tdKVKlZy2fY6zcJii9jAPHjzY1VuffiY4u8tmbdSrV8/VzZo1y2m+Jrlt2VOfBOdZcbvbjJQ2bdq4umuuucZpzuGymR3c7zPBx2H7PmfSnH766U6/8cYbWR/rO3bs6Nr+v//9b9Y+2/YF9qvzfYGz51asWOG0baM777zT1RWmfzIffPCB0zxHYGx2Saa8hExY332mvJWivub5nHJOm2XkyJFOc86MvR/ytbXffvs5/eCDDzp97bXXOm0znzingLNLmDvuuMNpm2tw6aWXurpM2XH2urD3QSA9d4fh3L4xY8bk+9oXX3zR6XPPPXerZhNZdt99d6fHjRvntM3/APwci/tzpnNks7oAf7+sVauWq+O8D84js/lKgM8yvO+++1xdjRo1Eo8rCZ5TclYWY/v6VVdd5er4d9DEiROzPtZz2zdr1szVlyxZMi7bTDAAqFChgtOc1WHzC/v16+fqMv1G4Kyv888/Py7zb1TO+SjM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W2+91Wm+prt37x6XuS+zh95mmgDAu+++6zRnJFg4r+3AAw8s8rGesT59zlrjzINly5Y5bbO9+N7M2TicXcI5Hz/++GNc5v65cuXKPI99E5yZx3OMJDifxWZrjBs3ztXxdVqmTBmnW7du7bT11U+ePNnVvfDCC04feuihRTrWc9vadmcOP/xwp21WHODvtXzf5T5jc02A9Jw0e1/m7CzOHuB25bHKjh+cA5EpW8/e79q2bevqHn74Yaf/+usvFJStPdbXrl3btfu8efMK/F7OAeMsRnttcP/h/sVzqvvuu89pm03E940vv/zSac4f5Ky5du3axWXuu7fddpvTPA7Z/BvOEOOxu0KFCk5zRqbtY/aYAOD99993uijm9aNHj3ZtzxktnMOSBN/37X2OMz94Hsn3yBkzZjh9ySWXxOUPP/zQ1dnfD0D6MX/00UdOd+zYMS7b+zaQnpPEx2V/t3EWyVlnneX0ZZddhmyR7bbnsf7666939XfffXc2vy6mWrVqTmcany38bIJzwHh85t/Utn9ybiDPxbnt7NyD+8wzzzzj9HXXXec0/01HHHFEXOZ5JH/vvHnz8mx3ragRQgghhBBCCCGEyBH0oEYIIYQQQgghhBAiR9CDGiGEEEIIIYQQQogcYefML/kfnEtivcPsRbN+ciDdB5vki2U/eSZsrozNUgDSM2o434b1iSeeGJc5H4CzBmwmDcOZNI899pjTnPfD5++KK66Iy/369cv3e4oK9tlx2/fp0ycuf/75566OM2luuukmp2+55Za4nClzhutr1qzpdK1ateIyZ6TccccdTvM5Z89jEuzN5uOyvmbOpClXrpzTBx54oNNjx4512not//jjD1f39ttvF+yAN5MzzjjDaZtJAwD169ePy4sXL3Z1u+yyS+JnW88p5wEwNrsB8GMNY48JAGbOnOk0X6fchy6++OLEY7FccMEFTtu242uY/enso086X5xTwDkG2Yb7GedEHHnkkXF52LBhro5zZAYOHOi07e821wxIzx/jDA/mgQceiMtXXnmlq2PPMo87TPPmzeMy5ynxcV544YVO9+3bN9/PtTkYAPDnn386zXlu1kPPDB8+3GkeO7IBH89FF13ktM1145wJzqRhJk6cGJfLly/v6jLl23DGmM0B4XsxY+8LQHqeXFJGjT1mADjssMPyfS3n1/C4xbk8nENh/e6c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8aVbt26mz//m8uLfkv7365LAjBoAAAAAAICcYKAGAAAAAAAgJxioAQAAAAAAyImyq1Hj61UUu1Vyu3btGmSZGhuf49+/f38Tx+vA56ePGDHCxL5GyH//+9+i71VffI6zj+szf52aCJX5W6Oec845Jj733HOzts839fUrSt0OPY65pfaS5W/H7etGxLUK/K1jTz/9dBOzX+WbXz89evQw8Q033GDiPn36ZG2/z/ttYdSoUSa+8MILTRzfGph9vv7F69bXmfO3Zd90001NvO6665p4o402ytr77LOP6attraK4Lk3Pnj1Nn69xVa7i86WvC/Hmm2+aeLXVVjNxvO7iGjNS5XpCq6++uon9sT/ex/2x4ocffjCx39/jWzJL0oMPPljtc7Hk+Xokxx577CK/1vPPP29iXxcFS44/Hn/44Ycm/uabb7L2KqusYvp8zas777zTxL5OVfz73de4KlabVpKGDx+eteMalksKM2oAAAAAAABygoEaAAAAAACAnGCgBgAAAAAAICeaFMvPbtKkSaNL3vZ5syNHjjRxnOd22mmnmb57773XxPVZp6QuFi5cWDxRexEsznUf56Muv/zyps/nCvqYegJWfa/7xrjPN0aNdb2vt956Jn7rrbdM3KZNm6w9ZswY07f99tubePbs2fW8dEve0nasr09xDYtS540FCxaYuDGcN5bWfd7XA1h55ZVN3L17dxPHtYgkaYsttqj2uX69f/XVVyZ+5JFHTHzfffdl7alTp5q+vG4jeVrvvjZUq1atTLzNNttk7cMPP9z0devWzcSl1mVcp27IkCGmz9cu/OSTT0w8b948E+d13RZTTsf6jh07mnjcuHFZ2x/rPf877KijjjLxP/7xj6y9tGwHedrnF6fWrVub+Iwzzsjaxx13nOlr3769iX1NGl/nqFj9Mr/NjB8/3sQHHHBA1v7oo4+qfZ36Vt16Z0YNAAAAAABATjBQAwAAAAAAkBMM1AAAAAAAAOTEcqUf0rhMmTLFxM8995yJV1111azt6yOgfsT5gd9///0SXBIAS5LPK27Xrp2Jp02bZuJJkyZl7Ztvvtn0zZkzp56XDnny448/VtlGvvm6EL521NNPP100jvm6A0tLzYnGolgdGUl64YUXqmwDxey3334m9rVqHbbgAAAB7klEQVSQipkxY4aJX3vtNRNzjMivmTNnmvimm26qtu+cc84xsa9ZE9ewk+zvzFmzZpk+v42cffbZJvY1a5Y0ZtQAAAAAAADkBAM1AAAAAAAAOcFADQAAAAAAQE40KZa/l9d7r9cnXxNhlVVWydpffvml6VuwYEGDLFNtVXfv9booh3XfGNT3ume9Lx0a63pv27atibfeemsTT548OWuPGjXK9M2fP3/xLVhOcKwvX411n0dxrPfyVE7H+t/97ncmHjhwYNZefvnlTZ+vk3THHXeY+MwzzzTx0ljPjH2+sqZNm5q4ZcuWJvZ1jeLtxNcv9LVR81LHqLr1zowaAAAAAACAnGCgBgAAAAAAICfKPvWpMSinKZKwmCJZnljv5Yljffliny9PrPfyVM7H+nXWWSdrd+7c2fSNHj3axBMnTjRxfFvmpRX7fHki9QkAAAAAACDnGKgBAAAAAADICQZqAAAAAAAAcoIaNY1AOeeyljtyWcsT6708cawvX+zz5Yn1Xp441pcv9vnyRI0aAAAAAACAnGOgBgAAAAAAICcYqAEAAAAAAMiJojVqAAAAAAAA0HCYUQMAAAAAAJATDNQAAAAAAADkBAM1AAAAAAAAOcFADQAAAAAAQE4wUAMAAAAAAJATDNQAAAAAAADkxP8HzWy9JTuAu4AAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 1440x720 with 36 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 原始的輸入重建\n", "decoded_imgs = denoising_ae.predict(x_test)\n", "# 測試去雜訊重建\n", "denoising_imgs = denoising_ae.predict(x_test_noisy)\n", "# 畫出比較圖\n", "plot_denoising_outputs(x_test, x_test_noisy, denoising_imgs, decoded_imgs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"anomaly-detection\"></a>\n", "\n", "## 19.6 自編碼器應用 - 異常偵測 Anomaly Detection\n", "\n", "真實世界中不論是哪個領域,工業、商業、醫學 ... 等領域都是,有需要異常偵測的應用,通常可以取得的異常資料就是特別的少。 以下的範例採用的資料是來自 [Kaggle](https://www.kaggle.com/mlg-ulb/creditcardfraud/data) 的信用卡詐騙交易資料集。\n", "\n", "這個資料集包含了歐洲的持卡人在 2013 年 9 月的某兩天中的交易記錄,共有 284,807 筆交易記錄,其中只有 492 筆(0.172%)是詐騙交易。 總共 30 個特徵欄位,欄位 ***V1***, ***V2***, ... ***V28*** 全部是轉換自原始數據的 PCA 主成分而來的,原始的背景資料基於保護隱私所以不提供。 只有 ***Time*** 和 ***Amount*** 兩個欄位沒有經過 PCA 的轉換,*Time* 是由記錄的第一筆交易開始所經過的秒數,*Amount* 則是交易的金額。 標籤欄位 ***Class*** 標示每一筆交易是正常(0)還是異常(1)。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 載入資料集與基本檢視\n", "\n", "由 Kaggle 下載的資料集檔案為 \"creditcardfraud.zip\",解壓縮後使用 `read_csv()` 讀取 \"creditcard.csv\" 檔案。" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "from zipfile import ZipFile\n", "\n", "with ZipFile('./dataset/FraudDetection/creditcardfraud.zip', 'r') as cardzip:\n", " cardzip.extractall('./dataset/FraudDetection/')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "dfcard = pd.read_csv('./dataset/FraudDetection/creditcard.csv')\n", "\n", "# 檔案相當大,讀取後 .cvs 檔就不需要了\n", "from pathlib import Path\n", "Path('./dataset/FraudDetection/creditcard.csv').unlink()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'pandas.core.frame.DataFrame'>\n", "RangeIndex: 284807 entries, 0 to 284806\n", "Data columns (total 31 columns):\n", "Time 284807 non-null float64\n", "V1 284807 non-null float64\n", "V2 284807 non-null float64\n", "V3 284807 non-null float64\n", "V4 284807 non-null float64\n", "V5 284807 non-null float64\n", "V6 284807 non-null float64\n", "V7 284807 non-null float64\n", "V8 284807 non-null float64\n", "V9 284807 non-null float64\n", "V10 284807 non-null float64\n", "V11 284807 non-null float64\n", "V12 284807 non-null float64\n", "V13 284807 non-null float64\n", "V14 284807 non-null float64\n", "V15 284807 non-null float64\n", "V16 284807 non-null float64\n", "V17 284807 non-null float64\n", "V18 284807 non-null float64\n", "V19 284807 non-null float64\n", "V20 284807 non-null float64\n", "V21 284807 non-null float64\n", "V22 284807 non-null float64\n", "V23 284807 non-null float64\n", "V24 284807 non-null float64\n", "V25 284807 non-null float64\n", "V26 284807 non-null float64\n", "V27 284807 non-null float64\n", "V28 284807 non-null float64\n", "Amount 284807 non-null float64\n", "Class 284807 non-null int64\n", "dtypes: float64(30), int64(1)\n", "memory usage: 67.4 MB\n" ] } ], "source": [ "# 資料欄位基本檢視\n", "dfcard.info()\n", "\n", "# 284807 筆,沒有 NaN 漏失數據" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Time</th>\n", " <th>V1</th>\n", " <th>V2</th>\n", " <th>V3</th>\n", " <th>V4</th>\n", " <th>V5</th>\n", " <th>V6</th>\n", " <th>V7</th>\n", " <th>V8</th>\n", " <th>V9</th>\n", " <th>...</th>\n", " <th>V21</th>\n", " <th>V22</th>\n", " <th>V23</th>\n", " <th>V24</th>\n", " <th>V25</th>\n", " <th>V26</th>\n", " <th>V27</th>\n", " <th>V28</th>\n", " <th>Amount</th>\n", " <th>Class</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>0.0</td>\n", " <td>-1.359807</td>\n", " <td>-0.072781</td>\n", " <td>2.536347</td>\n", " <td>1.378155</td>\n", " <td>-0.338321</td>\n", " <td>0.462388</td>\n", " <td>0.239599</td>\n", " <td>0.098698</td>\n", " <td>0.363787</td>\n", " <td>...</td>\n", " <td>-0.018307</td>\n", " <td>0.277838</td>\n", " <td>-0.110474</td>\n", " <td>0.066928</td>\n", " <td>0.128539</td>\n", " <td>-0.189115</td>\n", " <td>0.133558</td>\n", " <td>-0.021053</td>\n", " <td>149.62</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>0.0</td>\n", " <td>1.191857</td>\n", " <td>0.266151</td>\n", " <td>0.166480</td>\n", " <td>0.448154</td>\n", " <td>0.060018</td>\n", " <td>-0.082361</td>\n", " <td>-0.078803</td>\n", " <td>0.085102</td>\n", " <td>-0.255425</td>\n", " <td>...</td>\n", " <td>-0.225775</td>\n", " <td>-0.638672</td>\n", " <td>0.101288</td>\n", " <td>-0.339846</td>\n", " <td>0.167170</td>\n", " <td>0.125895</td>\n", " <td>-0.008983</td>\n", " <td>0.014724</td>\n", " <td>2.69</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.0</td>\n", " <td>-1.358354</td>\n", " <td>-1.340163</td>\n", " <td>1.773209</td>\n", " <td>0.379780</td>\n", " <td>-0.503198</td>\n", " <td>1.800499</td>\n", " <td>0.791461</td>\n", " <td>0.247676</td>\n", " <td>-1.514654</td>\n", " <td>...</td>\n", " <td>0.247998</td>\n", " <td>0.771679</td>\n", " <td>0.909412</td>\n", " <td>-0.689281</td>\n", " <td>-0.327642</td>\n", " <td>-0.139097</td>\n", " <td>-0.055353</td>\n", " <td>-0.059752</td>\n", " <td>378.66</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.0</td>\n", " <td>-0.966272</td>\n", " <td>-0.185226</td>\n", " <td>1.792993</td>\n", " <td>-0.863291</td>\n", " <td>-0.010309</td>\n", " <td>1.247203</td>\n", " <td>0.237609</td>\n", " <td>0.377436</td>\n", " <td>-1.387024</td>\n", " <td>...</td>\n", " <td>-0.108300</td>\n", " <td>0.005274</td>\n", " <td>-0.190321</td>\n", " <td>-1.175575</td>\n", " <td>0.647376</td>\n", " <td>-0.221929</td>\n", " <td>0.062723</td>\n", " <td>0.061458</td>\n", " <td>123.50</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>2.0</td>\n", " <td>-1.158233</td>\n", " <td>0.877737</td>\n", " <td>1.548718</td>\n", " <td>0.403034</td>\n", " <td>-0.407193</td>\n", " <td>0.095921</td>\n", " <td>0.592941</td>\n", " <td>-0.270533</td>\n", " <td>0.817739</td>\n", " <td>...</td>\n", " <td>-0.009431</td>\n", " <td>0.798278</td>\n", " <td>-0.137458</td>\n", " <td>0.141267</td>\n", " <td>-0.206010</td>\n", " <td>0.502292</td>\n", " <td>0.219422</td>\n", " <td>0.215153</td>\n", " <td>69.99</td>\n", " <td>0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>5 rows × 31 columns</p>\n", "</div>" ], "text/plain": [ " Time V1 V2 V3 V4 V5 V6 V7 \\\n", "0 0.0 -1.359807 -0.072781 2.536347 1.378155 -0.338321 0.462388 0.239599 \n", "1 0.0 1.191857 0.266151 0.166480 0.448154 0.060018 -0.082361 -0.078803 \n", "2 1.0 -1.358354 -1.340163 1.773209 0.379780 -0.503198 1.800499 0.791461 \n", "3 1.0 -0.966272 -0.185226 1.792993 -0.863291 -0.010309 1.247203 0.237609 \n", "4 2.0 -1.158233 0.877737 1.548718 0.403034 -0.407193 0.095921 0.592941 \n", "\n", " V8 V9 ... V21 V22 V23 V24 V25 \\\n", "0 0.098698 0.363787 ... -0.018307 0.277838 -0.110474 0.066928 0.128539 \n", "1 0.085102 -0.255425 ... -0.225775 -0.638672 0.101288 -0.339846 0.167170 \n", "2 0.247676 -1.514654 ... 0.247998 0.771679 0.909412 -0.689281 -0.327642 \n", "3 0.377436 -1.387024 ... -0.108300 0.005274 -0.190321 -1.175575 0.647376 \n", "4 -0.270533 0.817739 ... -0.009431 0.798278 -0.137458 0.141267 -0.206010 \n", "\n", " V26 V27 V28 Amount Class \n", "0 -0.189115 0.133558 -0.021053 149.62 0 \n", "1 0.125895 -0.008983 0.014724 2.69 0 \n", "2 -0.139097 -0.055353 -0.059752 378.66 0 \n", "3 -0.221929 0.062723 0.061458 123.50 0 \n", "4 0.502292 0.219422 0.215153 69.99 0 \n", "\n", "[5 rows x 31 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 檢視前幾筆數據\n", "dfcard.head()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Time</th>\n", " <th>V1</th>\n", " <th>V2</th>\n", " <th>V3</th>\n", " <th>V4</th>\n", " <th>V5</th>\n", " <th>V6</th>\n", " <th>V7</th>\n", " <th>V8</th>\n", " <th>V9</th>\n", " <th>...</th>\n", " <th>V21</th>\n", " <th>V22</th>\n", " <th>V23</th>\n", " <th>V24</th>\n", " <th>V25</th>\n", " <th>V26</th>\n", " <th>V27</th>\n", " <th>V28</th>\n", " <th>Amount</th>\n", " <th>Class</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>count</th>\n", " <td>284807.000000</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>...</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>2.848070e+05</td>\n", " <td>284807.000000</td>\n", " <td>284807.000000</td>\n", " </tr>\n", " <tr>\n", " <th>mean</th>\n", " <td>94813.859575</td>\n", " <td>3.919560e-15</td>\n", " <td>5.688174e-16</td>\n", " <td>-8.769071e-15</td>\n", " <td>2.782312e-15</td>\n", " <td>-1.552563e-15</td>\n", " <td>2.010663e-15</td>\n", " <td>-1.694249e-15</td>\n", " <td>-1.927028e-16</td>\n", " <td>-3.137024e-15</td>\n", " <td>...</td>\n", " <td>1.537294e-16</td>\n", " <td>7.959909e-16</td>\n", " <td>5.367590e-16</td>\n", " <td>4.458112e-15</td>\n", " <td>1.453003e-15</td>\n", " <td>1.699104e-15</td>\n", " <td>-3.660161e-16</td>\n", " <td>-1.206049e-16</td>\n", " <td>88.349619</td>\n", " <td>0.001727</td>\n", " </tr>\n", " <tr>\n", " <th>std</th>\n", " <td>47488.145955</td>\n", " <td>1.958696e+00</td>\n", " <td>1.651309e+00</td>\n", " <td>1.516255e+00</td>\n", " <td>1.415869e+00</td>\n", " <td>1.380247e+00</td>\n", " <td>1.332271e+00</td>\n", " <td>1.237094e+00</td>\n", " <td>1.194353e+00</td>\n", " <td>1.098632e+00</td>\n", " <td>...</td>\n", " <td>7.345240e-01</td>\n", " <td>7.257016e-01</td>\n", " <td>6.244603e-01</td>\n", " <td>6.056471e-01</td>\n", " <td>5.212781e-01</td>\n", " <td>4.822270e-01</td>\n", " <td>4.036325e-01</td>\n", " <td>3.300833e-01</td>\n", " <td>250.120109</td>\n", " <td>0.041527</td>\n", " </tr>\n", " <tr>\n", " <th>min</th>\n", " <td>0.000000</td>\n", " <td>-5.640751e+01</td>\n", " <td>-7.271573e+01</td>\n", " <td>-4.832559e+01</td>\n", " <td>-5.683171e+00</td>\n", " <td>-1.137433e+02</td>\n", " <td>-2.616051e+01</td>\n", " <td>-4.355724e+01</td>\n", " <td>-7.321672e+01</td>\n", " <td>-1.343407e+01</td>\n", " <td>...</td>\n", " <td>-3.483038e+01</td>\n", " <td>-1.093314e+01</td>\n", " <td>-4.480774e+01</td>\n", " <td>-2.836627e+00</td>\n", " <td>-1.029540e+01</td>\n", " <td>-2.604551e+00</td>\n", " <td>-2.256568e+01</td>\n", " <td>-1.543008e+01</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " </tr>\n", " <tr>\n", " <th>25%</th>\n", " <td>54201.500000</td>\n", " <td>-9.203734e-01</td>\n", " <td>-5.985499e-01</td>\n", " <td>-8.903648e-01</td>\n", " <td>-8.486401e-01</td>\n", " <td>-6.915971e-01</td>\n", " <td>-7.682956e-01</td>\n", " <td>-5.540759e-01</td>\n", " <td>-2.086297e-01</td>\n", " <td>-6.430976e-01</td>\n", " <td>...</td>\n", " <td>-2.283949e-01</td>\n", " <td>-5.423504e-01</td>\n", " <td>-1.618463e-01</td>\n", " <td>-3.545861e-01</td>\n", " <td>-3.171451e-01</td>\n", " <td>-3.269839e-01</td>\n", " <td>-7.083953e-02</td>\n", " <td>-5.295979e-02</td>\n", " <td>5.600000</td>\n", " <td>0.000000</td>\n", " </tr>\n", " <tr>\n", " <th>50%</th>\n", " <td>84692.000000</td>\n", " <td>1.810880e-02</td>\n", " <td>6.548556e-02</td>\n", " <td>1.798463e-01</td>\n", " <td>-1.984653e-02</td>\n", " <td>-5.433583e-02</td>\n", " <td>-2.741871e-01</td>\n", " <td>4.010308e-02</td>\n", " <td>2.235804e-02</td>\n", " <td>-5.142873e-02</td>\n", " <td>...</td>\n", " <td>-2.945017e-02</td>\n", " <td>6.781943e-03</td>\n", " <td>-1.119293e-02</td>\n", " <td>4.097606e-02</td>\n", " <td>1.659350e-02</td>\n", " <td>-5.213911e-02</td>\n", " <td>1.342146e-03</td>\n", " <td>1.124383e-02</td>\n", " <td>22.000000</td>\n", " <td>0.000000</td>\n", " </tr>\n", " <tr>\n", " <th>75%</th>\n", " <td>139320.500000</td>\n", " <td>1.315642e+00</td>\n", " <td>8.037239e-01</td>\n", " <td>1.027196e+00</td>\n", " <td>7.433413e-01</td>\n", " <td>6.119264e-01</td>\n", " <td>3.985649e-01</td>\n", " <td>5.704361e-01</td>\n", " <td>3.273459e-01</td>\n", " <td>5.971390e-01</td>\n", " <td>...</td>\n", " <td>1.863772e-01</td>\n", " <td>5.285536e-01</td>\n", " <td>1.476421e-01</td>\n", " <td>4.395266e-01</td>\n", " <td>3.507156e-01</td>\n", " <td>2.409522e-01</td>\n", " <td>9.104512e-02</td>\n", " <td>7.827995e-02</td>\n", " <td>77.165000</td>\n", " <td>0.000000</td>\n", " </tr>\n", " <tr>\n", " <th>max</th>\n", " <td>172792.000000</td>\n", " <td>2.454930e+00</td>\n", " <td>2.205773e+01</td>\n", " <td>9.382558e+00</td>\n", " <td>1.687534e+01</td>\n", " <td>3.480167e+01</td>\n", " <td>7.330163e+01</td>\n", " <td>1.205895e+02</td>\n", " <td>2.000721e+01</td>\n", " <td>1.559499e+01</td>\n", " <td>...</td>\n", " <td>2.720284e+01</td>\n", " <td>1.050309e+01</td>\n", " <td>2.252841e+01</td>\n", " <td>4.584549e+00</td>\n", " <td>7.519589e+00</td>\n", " <td>3.517346e+00</td>\n", " <td>3.161220e+01</td>\n", " <td>3.384781e+01</td>\n", " <td>25691.160000</td>\n", " <td>1.000000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>8 rows × 31 columns</p>\n", "</div>" ], "text/plain": [ " Time V1 V2 V3 V4 \\\n", "count 284807.000000 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean 94813.859575 3.919560e-15 5.688174e-16 -8.769071e-15 2.782312e-15 \n", "std 47488.145955 1.958696e+00 1.651309e+00 1.516255e+00 1.415869e+00 \n", "min 0.000000 -5.640751e+01 -7.271573e+01 -4.832559e+01 -5.683171e+00 \n", "25% 54201.500000 -9.203734e-01 -5.985499e-01 -8.903648e-01 -8.486401e-01 \n", "50% 84692.000000 1.810880e-02 6.548556e-02 1.798463e-01 -1.984653e-02 \n", "75% 139320.500000 1.315642e+00 8.037239e-01 1.027196e+00 7.433413e-01 \n", "max 172792.000000 2.454930e+00 2.205773e+01 9.382558e+00 1.687534e+01 \n", "\n", " V5 V6 V7 V8 V9 \\\n", "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean -1.552563e-15 2.010663e-15 -1.694249e-15 -1.927028e-16 -3.137024e-15 \n", "std 1.380247e+00 1.332271e+00 1.237094e+00 1.194353e+00 1.098632e+00 \n", "min -1.137433e+02 -2.616051e+01 -4.355724e+01 -7.321672e+01 -1.343407e+01 \n", "25% -6.915971e-01 -7.682956e-01 -5.540759e-01 -2.086297e-01 -6.430976e-01 \n", "50% -5.433583e-02 -2.741871e-01 4.010308e-02 2.235804e-02 -5.142873e-02 \n", "75% 6.119264e-01 3.985649e-01 5.704361e-01 3.273459e-01 5.971390e-01 \n", "max 3.480167e+01 7.330163e+01 1.205895e+02 2.000721e+01 1.559499e+01 \n", "\n", " ... V21 V22 V23 V24 \\\n", "count ... 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 \n", "mean ... 1.537294e-16 7.959909e-16 5.367590e-16 4.458112e-15 \n", "std ... 7.345240e-01 7.257016e-01 6.244603e-01 6.056471e-01 \n", "min ... -3.483038e+01 -1.093314e+01 -4.480774e+01 -2.836627e+00 \n", "25% ... -2.283949e-01 -5.423504e-01 -1.618463e-01 -3.545861e-01 \n", "50% ... -2.945017e-02 6.781943e-03 -1.119293e-02 4.097606e-02 \n", "75% ... 1.863772e-01 5.285536e-01 1.476421e-01 4.395266e-01 \n", "max ... 2.720284e+01 1.050309e+01 2.252841e+01 4.584549e+00 \n", "\n", " V25 V26 V27 V28 Amount \\\n", "count 2.848070e+05 2.848070e+05 2.848070e+05 2.848070e+05 284807.000000 \n", "mean 1.453003e-15 1.699104e-15 -3.660161e-16 -1.206049e-16 88.349619 \n", "std 5.212781e-01 4.822270e-01 4.036325e-01 3.300833e-01 250.120109 \n", "min -1.029540e+01 -2.604551e+00 -2.256568e+01 -1.543008e+01 0.000000 \n", "25% -3.171451e-01 -3.269839e-01 -7.083953e-02 -5.295979e-02 5.600000 \n", "50% 1.659350e-02 -5.213911e-02 1.342146e-03 1.124383e-02 22.000000 \n", "75% 3.507156e-01 2.409522e-01 9.104512e-02 7.827995e-02 77.165000 \n", "max 7.519589e+00 3.517346e+00 3.161220e+01 3.384781e+01 25691.160000 \n", "\n", " Class \n", "count 284807.000000 \n", "mean 0.001727 \n", "std 0.041527 \n", "min 0.000000 \n", "25% 0.000000 \n", "50% 0.000000 \n", "75% 0.000000 \n", "max 1.000000 \n", "\n", "[8 rows x 31 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 檢視基本統計分布狀況\n", "dfcard.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "欄位 *V1*, *V2*, ... *V28* 轉換自原始數據的 PCA 主成分,所以數值尺度的差異不會太大,*Time* 和 *Amount* 欄位的尺度就與其他欄位的差異較大,要使用這兩個特徵欄位的話,就需要做正規化以調整尺度。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Imbalanced Classification\n", "\n", "檢視正常與異常類別的分布狀況,在*Class* 欄位中,正常為 0 ,異常為 1。 交易樣本總數為 **284,807**,數量分別為正常 **284,315** 筆;異常 **492** 筆。 " ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 284315\n", "1 492\n", "Name: Class, dtype: int64" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 檢視正常與異常類別的分布狀況\n", "# 正常: 0\n", "# 異常: 1\n", "dfcard['Class'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "這種類別數量分佈極度不平衡的狀況,分析預測結果時需要特別注意。 針對這個信用卡的資料集,如果建了一個模型,預測準確度(accuracy)達到 99%,這個模型是好還是不好? \n", "\n", "因為這個資料集的類別數量分佈極度不平衡的原因,只要全部猜正常,結果就可以達到 99.83% (284315/284807) 的正確率了,有這麼高的正確率,但希望抓出來的異常類別全部預測錯誤,這當然不是個好模型。\n", "\n", "從另外一個角度來看,如果建了一個模型的正確率 93.83%,異常類別全部都正確預測出來,但也有一萬多筆正常的被誤判為異常的,那這是個好模型嗎? 可能也不是,不過視應用而定,看是處理一兩件異常的成本較高,還是處理大量誤判的成本較高。 但不管是哪一種情形,評估不平衡類別分佈的模型好壞,不能看正確率這個指標。 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 圖表檢視數據分佈\n", "\n", "由於只有知道 *Time* 與 *Amount* 兩個欄位的資料意義,可以先看看這兩個欄位的數據分佈,在正常與異常的類別是否有特別之處。" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 284315.000000\n", "mean 88.291022\n", "std 250.105092\n", "min 0.000000\n", "25% 5.650000\n", "50% 22.000000\n", "75% 77.050000\n", "max 25691.160000\n", "Name: Amount, dtype: float64" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 正常的交易金額\n", "dfcard.Amount[dfcard.Class == 0].describe()" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 492.000000\n", "mean 122.211321\n", "std 256.683288\n", "min 0.000000\n", "25% 1.000000\n", "50% 9.250000\n", "75% 105.890000\n", "max 2125.870000\n", "Name: Amount, dtype: float64" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 異常的交易金額\n", "dfcard.Amount[dfcard.Class == 1].describe()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 1296x720 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def plot_amount_compare():\n", " fig, ax = plt.subplots(2, 1, figsize=(18,10))\n", " fig.suptitle('Amount per transaction by class', fontsize=16)\n", " bins = 50\n", " ax[0].hist(dfcard.Amount[dfcard.Class == 0], bins=bins, alpha=0.7)\n", " ax[0].set_title('Normal', fontsize=14)\n", " ax[0].set_yscale('log')\n", " ax[0].set_ylabel('Number of Transactions', fontsize=14)\n", " ax[1].hist(dfcard.Amount[dfcard.Class == 1], bins=bins, alpha=0.7)\n", " ax[1].set_title('Fraud', fontsize=14)\n", " ax[1].set_xlabel('Amount', fontsize=14)\n", " ax[1].set_ylabel('Number of Transactions', fontsize=14)\n", " plt.show()\n", "\n", "plot_amount_compare()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "觀察特定時間的交易金額,是否可看出正常與異常交易?" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 1152x576 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def plot_time_amount():\n", " fig, ax = plt.subplots(figsize=(16, 8))\n", " ax.scatter(dfcard.Time[dfcard.Class == 0]/3600, dfcard.Amount[dfcard.Class == 0], alpha=0.6, label='Normal')\n", " ax.scatter(dfcard.Time[dfcard.Class == 1]/3600, dfcard.Amount[dfcard.Class == 1], alpha=0.9, label='Fraud')\n", " ax.set_title('Hours vs Amount by class', fontsize=16)\n", " ax.set_xlabel('Time (hours)', fontsize=14)\n", " ax.set_ylabel('Amount', fontsize=14)\n", " ax.legend()\n", " plt.show()\n", "\n", "plot_time_amount()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Autoencoder 怎麼做異常偵測?\n", "\n", "大部分異常偵測都是用相同的概念 - 訓練模型認識足夠多的正常數據,只要碰到不認識的數據,預測結果一定很差,所以預測得很糟糕的那筆輸入就是異常。\n", "\n", "基於這樣的概念,只要有足夠多的正常數據,所有學過的的機器學習模型都可以用來做異常偵測,所以我們可以試著建立一個深度自編碼器來訓練看看。 為了方便取一個門檻值來區分好與差的預測,loss function 最好分改成較容易理解的均方差(mean squared error)或絕對差(mean absolute error)。" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "Input = tf.keras.layers.Input\n", "Dense = tf.keras.layers.Dense\n", "Activation = tf.keras.layers.Activation\n", "BatchNormalization = tf.keras.layers.BatchNormalization\n", "Model = tf.keras.models.Model\n", "\n", "def fraud_detect_autoencoder(input_size=30, hidden_units=[24, 12], code_size=6):\n", " '''建立詐騙偵測自編碼器模型\n", " '''\n", " # 輸入層\n", " inputs = Input(shape=(input_size,))\n", " # 編碼層\n", " encoded = Dense(hidden_units[0], activation='tanh')(inputs)\n", " encoded = BatchNormalization()(encoded)\n", " encoded = Dense(hidden_units[1], activation='tanh')(encoded)\n", " encoded = BatchNormalization()(encoded)\n", " encoded = Dense(code_size, activation='tanh')(encoded)\n", " encoded = BatchNormalization()(encoded)\n", " # 解碼層\n", " decoded = Dense(hidden_units[1], activation='tanh')(encoded)\n", " decoded = BatchNormalization()(decoded)\n", " decoded = Dense(hidden_units[0], activation='tanh')(decoded)\n", " decoded = BatchNormalization()(decoded)\n", " decoded = Dense(input_size, activation='linear')(decoded)\n", " \n", " # 建立輸入對應到解碼輸出的模型\n", " autoencoder = Model(inputs=inputs, outputs=decoded)\n", " # 損失函數改成 mean squared error\n", " autoencoder.compile(optimizer='nadam', loss='mean_squared_error')\n", "\n", " return autoencoder" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 分離訓練資料\n", "\n", "異常交易看起來與交易時間 *Time* 比較無關,異常交易金額都集中在小額交易,但最多的正常交易也是小額度的,所以也很難以金額區分,著兩個從特徵欄位抽離應該影響不大。\n", "\n", "資料先切割為訓練集與測試集,然後從訓練集將正常與異常的數據分離,我們只需要正常的數據來訓練自編碼器,但在測試集保留正常與異常數據,因為偵測異常是這個應用的目的,測試集會在模型訓練後用來評估預測的效能。" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "X_train shape = (256326, 29)\n", "X_test shape = (28481, 29)\n" ] } ], "source": [ "# 抽離不需要的欄位\n", "card_X = dfcard.drop(columns=['Time','Amount']).copy()\n", "\n", "# 分離訓練集與測試集\n", "from sklearn.model_selection import train_test_split\n", "# 資料集夠大,10% 的測試集已經夠了,遠比異常數據來得多\n", "X_train, X_test = train_test_split(card_X,\n", " test_size=0.1,\n", " train_size=0.9,\n", " random_state=1,\n", " shuffle=True,\n", " stratify=card_X['Class'])\n", "\n", "print('X_train shape =', X_train.shape)\n", "print('X_test shape =', X_test.shape)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "X_train_normal shape = (255883, 28)\n", "X_test shape = (28924, 28)\n", "Y_test shape = (28924,)\n" ] } ], "source": [ "# 正常數據訓練集\n", "X_train_normal = X_train.loc[X_train.Class == 0,:]\n", "# 原本訓練集的異常數據合併到測試集\n", "X_test = pd.concat([X_test, X_train.loc[X_train.Class == 1,:]], axis=0, ignore_index=True)\n", "\n", "# X, Y 分離\n", "X_train_normal = X_train_normal.drop(columns=['Class'])\n", "Y_test = X_test['Class']\n", "X_test = X_test.drop(columns=['Class'])\n", "\n", "print('X_train_normal shape =', X_train_normal.shape)\n", "print('X_test shape =', X_test.shape)\n", "print('Y_test shape =', Y_test.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 訓練詐騙偵測自編碼器模型\n", "\n", "要注意的是,以下範例使用 `fit()` 函式內建的 `validation_split` 參數,在訓練時保留一小部分當驗證集。 在資料集夠大時,是可以不用將全部訓練資料切割成 k-fold 做 k 次驗證,不過實際應用時仍然建議再多做個 2-3 次不同部分的驗證,比較能確認實際模型的最終結果。" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 230294 samples, validate on 25589 samples\n", "Epoch 1/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.7188\n", "Epoch 00001: val_loss improved from inf to 0.85348, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 12s 50us/sample - loss: 0.7185 - val_loss: 0.8535\n", "Epoch 2/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.4717\n", "Epoch 00002: val_loss improved from 0.85348 to 0.51919, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.4709 - val_loss: 0.5192\n", "Epoch 3/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.3859\n", "Epoch 00003: val_loss improved from 0.51919 to 0.39809, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.3855 - val_loss: 0.3981\n", "Epoch 4/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.3557\n", "Epoch 00004: val_loss did not improve from 0.39809\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.3557 - val_loss: 0.4288\n", "Epoch 5/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.3402\n", "Epoch 00005: val_loss improved from 0.39809 to 0.38135, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.3399 - val_loss: 0.3813\n", "Epoch 6/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.3325\n", "Epoch 00006: val_loss improved from 0.38135 to 0.33546, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.3323 - val_loss: 0.3355\n", "Epoch 7/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.3193\n", "Epoch 00007: val_loss improved from 0.33546 to 0.31122, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.3192 - val_loss: 0.3112\n", "Epoch 8/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.3167\n", "Epoch 00008: val_loss did not improve from 0.31122\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.3166 - val_loss: 0.3143\n", "Epoch 9/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.3071\n", "Epoch 00009: val_loss did not improve from 0.31122\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.3071 - val_loss: 0.3160\n", "Epoch 10/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.3023\n", "Epoch 00010: val_loss did not improve from 0.31122\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.3024 - val_loss: 0.3116\n", "Epoch 11/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2985\n", "Epoch 00011: val_loss improved from 0.31122 to 0.29785, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2985 - val_loss: 0.2978\n", "Epoch 12/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2979\n", "Epoch 00012: val_loss improved from 0.29785 to 0.28301, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2979 - val_loss: 0.2830\n", "Epoch 13/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2918\n", "Epoch 00013: val_loss did not improve from 0.28301\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2917 - val_loss: 0.2953\n", "Epoch 14/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2894\n", "Epoch 00014: val_loss did not improve from 0.28301\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2892 - val_loss: 0.2852\n", "Epoch 15/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2843\n", "Epoch 00015: val_loss did not improve from 0.28301\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2843 - val_loss: 0.3244\n", "Epoch 16/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2833\n", "Epoch 00016: val_loss did not improve from 0.28301\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2831 - val_loss: 0.2836\n", "Epoch 17/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2740\n", "Epoch 00017: val_loss did not improve from 0.28301\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2739 - val_loss: 0.3342\n", "Epoch 18/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2703\n", "Epoch 00018: val_loss improved from 0.28301 to 0.27043, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2703 - val_loss: 0.2704\n", "Epoch 19/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2636\n", "Epoch 00019: val_loss improved from 0.27043 to 0.26491, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2636 - val_loss: 0.2649\n", "Epoch 20/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2612\n", "Epoch 00020: val_loss did not improve from 0.26491\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2612 - val_loss: 0.2834\n", "Epoch 21/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2570\n", "Epoch 00021: val_loss did not improve from 0.26491\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2570 - val_loss: 0.2776\n", "Epoch 22/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2629\n", "Epoch 00022: val_loss did not improve from 0.26491\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2630 - val_loss: 0.2691\n", "Epoch 23/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2548\n", "Epoch 00023: val_loss improved from 0.26491 to 0.26038, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2547 - val_loss: 0.2604\n", "Epoch 24/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2522\n", "Epoch 00024: val_loss improved from 0.26038 to 0.25304, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2522 - val_loss: 0.2530\n", "Epoch 25/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2438\n", "Epoch 00025: val_loss did not improve from 0.25304\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2437 - val_loss: 0.3147\n", "Epoch 26/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2422\n", "Epoch 00026: val_loss did not improve from 0.25304\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2421 - val_loss: 0.2591\n", "Epoch 27/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2419\n", "Epoch 00027: val_loss improved from 0.25304 to 0.24364, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2419 - val_loss: 0.2436\n", "Epoch 28/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2486\n", "Epoch 00028: val_loss did not improve from 0.24364\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2483 - val_loss: 0.2462\n", "Epoch 29/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2433\n", "Epoch 00029: val_loss improved from 0.24364 to 0.23411, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2434 - val_loss: 0.2341\n", "Epoch 30/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2343\n", "Epoch 00030: val_loss did not improve from 0.23411\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2343 - val_loss: 0.2485\n", "Epoch 31/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2340\n", "Epoch 00031: val_loss did not improve from 0.23411\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2339 - val_loss: 0.2566\n", "Epoch 32/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2302\n", "Epoch 00032: val_loss did not improve from 0.23411\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2302 - val_loss: 0.2578\n", "Epoch 33/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2355\n", "Epoch 00033: val_loss did not improve from 0.23411\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2353 - val_loss: 0.2448\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 34/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2426\n", "Epoch 00034: val_loss did not improve from 0.23411\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2424 - val_loss: 0.2479\n", "Epoch 35/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2335\n", "Epoch 00035: val_loss did not improve from 0.23411\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2335 - val_loss: 0.2758\n", "Epoch 36/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2306\n", "Epoch 00036: val_loss did not improve from 0.23411\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2306 - val_loss: 0.2392\n", "Epoch 37/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2282\n", "Epoch 00037: val_loss improved from 0.23411 to 0.23000, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2282 - val_loss: 0.2300\n", "Epoch 38/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2316\n", "Epoch 00038: val_loss did not improve from 0.23000\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2314 - val_loss: 0.2477\n", "Epoch 39/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2302\n", "Epoch 00039: val_loss did not improve from 0.23000\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2303 - val_loss: 0.2423\n", "Epoch 40/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2254\n", "Epoch 00040: val_loss did not improve from 0.23000\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2257 - val_loss: 0.2656\n", "Epoch 41/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2241\n", "Epoch 00041: val_loss did not improve from 0.23000\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2240 - val_loss: 0.2462\n", "Epoch 42/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2257\n", "Epoch 00042: val_loss did not improve from 0.23000\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2257 - val_loss: 0.2947\n", "Epoch 43/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2272\n", "Epoch 00043: val_loss did not improve from 0.23000\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2272 - val_loss: 0.2491\n", "Epoch 44/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2245\n", "Epoch 00044: val_loss improved from 0.23000 to 0.22870, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2244 - val_loss: 0.2287\n", "Epoch 45/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2238\n", "Epoch 00045: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2238 - val_loss: 0.2730\n", "Epoch 46/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2249\n", "Epoch 00046: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2252 - val_loss: 0.2344\n", "Epoch 47/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2236\n", "Epoch 00047: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2238 - val_loss: 0.2335\n", "Epoch 48/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2206\n", "Epoch 00048: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2207 - val_loss: 0.6144\n", "Epoch 49/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2254\n", "Epoch 00049: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2252 - val_loss: 0.2664\n", "Epoch 50/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2190\n", "Epoch 00050: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2189 - val_loss: 0.2353\n", "Epoch 51/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2138\n", "Epoch 00051: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2139 - val_loss: 0.2578\n", "Epoch 52/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2173\n", "Epoch 00052: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2172 - val_loss: 0.2812\n", "Epoch 53/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2220\n", "Epoch 00053: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2219 - val_loss: 0.2522\n", "Epoch 54/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2156\n", "Epoch 00054: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2156 - val_loss: 0.2395\n", "Epoch 55/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2128\n", "Epoch 00055: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2128 - val_loss: 0.2359\n", "Epoch 56/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2223\n", "Epoch 00056: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2223 - val_loss: 0.2740\n", "Epoch 57/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2196\n", "Epoch 00057: val_loss did not improve from 0.22870\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2193 - val_loss: 0.2386\n", "Epoch 58/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2165\n", "Epoch 00058: val_loss improved from 0.22870 to 0.22756, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2165 - val_loss: 0.2276\n", "Epoch 59/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2157\n", "Epoch 00059: val_loss did not improve from 0.22756\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2157 - val_loss: 0.3016\n", "Epoch 60/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2179\n", "Epoch 00060: val_loss did not improve from 0.22756\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2177 - val_loss: 0.2416\n", "Epoch 61/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2167\n", "Epoch 00061: val_loss did not improve from 0.22756\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2167 - val_loss: 0.3237\n", "Epoch 62/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2140\n", "Epoch 00062: val_loss improved from 0.22756 to 0.21655, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2143 - val_loss: 0.2166\n", "Epoch 63/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2141\n", "Epoch 00063: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2140 - val_loss: 0.2336\n", "Epoch 64/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2120\n", "Epoch 00064: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2120 - val_loss: 0.2407\n", "Epoch 65/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2165\n", "Epoch 00065: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2165 - val_loss: 0.2406\n", "Epoch 66/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2098\n", "Epoch 00066: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2096 - val_loss: 0.2765\n", "Epoch 67/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2179\n", "Epoch 00067: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 26us/sample - loss: 0.2175 - val_loss: 0.2215\n", "Epoch 68/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2122\n", "Epoch 00068: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2121 - val_loss: 0.2787\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 69/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2098\n", "Epoch 00069: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2098 - val_loss: 0.2411\n", "Epoch 70/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2093\n", "Epoch 00070: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2092 - val_loss: 0.3942\n", "Epoch 71/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2151\n", "Epoch 00071: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2151 - val_loss: 0.2195\n", "Epoch 72/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2105\n", "Epoch 00072: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2105 - val_loss: 0.2223\n", "Epoch 73/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2106- ETA: 0s \n", "Epoch 00073: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2107 - val_loss: 0.2909\n", "Epoch 74/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2097\n", "Epoch 00074: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2095 - val_loss: 0.2193\n", "Epoch 75/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2104\n", "Epoch 00075: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2110 - val_loss: 0.2571\n", "Epoch 76/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2101\n", "Epoch 00076: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2105 - val_loss: 0.2459\n", "Epoch 77/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2092\n", "Epoch 00077: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2092 - val_loss: 0.2611\n", "Epoch 78/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2054\n", "Epoch 00078: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2053 - val_loss: 0.2195\n", "Epoch 79/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2053\n", "Epoch 00079: val_loss did not improve from 0.21655\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2054 - val_loss: 0.2313\n", "Epoch 80/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2107\n", "Epoch 00080: val_loss improved from 0.21655 to 0.21450, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2107 - val_loss: 0.2145\n", "Epoch 81/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2093\n", "Epoch 00081: val_loss did not improve from 0.21450\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2092 - val_loss: 0.2278\n", "Epoch 82/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2082\n", "Epoch 00082: val_loss did not improve from 0.21450\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2082 - val_loss: 0.2430\n", "Epoch 83/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2051\n", "Epoch 00083: val_loss did not improve from 0.21450\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2050 - val_loss: 0.4529\n", "Epoch 84/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2155\n", "Epoch 00084: val_loss improved from 0.21450 to 0.20401, saving model to fraudet_model.h5\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2153 - val_loss: 0.2040\n", "Epoch 85/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2095\n", "Epoch 00085: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2093 - val_loss: 0.3046\n", "Epoch 86/100\n", "229376/230294 [============================>.] - ETA: 0s - loss: 0.2077\n", "Epoch 00086: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2076 - val_loss: 0.2330\n", "Epoch 87/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2070\n", "Epoch 00087: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2070 - val_loss: 0.2995\n", "Epoch 88/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2066\n", "Epoch 00088: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2069 - val_loss: 0.6321\n", "Epoch 89/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2091\n", "Epoch 00089: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2089 - val_loss: 0.2945\n", "Epoch 90/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2045\n", "Epoch 00090: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2053 - val_loss: 0.5462\n", "Epoch 91/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2146\n", "Epoch 00091: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2145 - val_loss: 0.2179\n", "Epoch 92/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2069\n", "Epoch 00092: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2070 - val_loss: 0.2180\n", "Epoch 93/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2085\n", "Epoch 00093: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2085 - val_loss: 0.2319\n", "Epoch 94/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2033\n", "Epoch 00094: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2033 - val_loss: 0.2361\n", "Epoch 95/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2061\n", "Epoch 00095: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2059 - val_loss: 0.2225\n", "Epoch 96/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2004\n", "Epoch 00096: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2007 - val_loss: 0.2648\n", "Epoch 97/100\n", "228864/230294 [============================>.] - ETA: 0s - loss: 0.2041\n", "Epoch 00097: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2045 - val_loss: 0.5081\n", "Epoch 98/100\n", "229888/230294 [============================>.] - ETA: 0s - loss: 0.2133\n", "Epoch 00098: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 25us/sample - loss: 0.2132 - val_loss: 0.2252\n", "Epoch 99/100\n", "227840/230294 [============================>.] - ETA: 0s - loss: 0.2061\n", "Epoch 00099: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2060 - val_loss: 0.2446\n", "Epoch 100/100\n", "228352/230294 [============================>.] - ETA: 0s - loss: 0.2064\n", "Epoch 00100: val_loss did not improve from 0.20401\n", "230294/230294 [==============================] - 6s 24us/sample - loss: 0.2063 - val_loss: 0.2602\n" ] } ], "source": [ "fraudet_ae = fraud_detect_autoencoder(input_size=X_train_normal.shape[1], hidden_units=[20, 12], code_size=6)\n", "\n", "# 要注意,validation\n", "checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=\"fraudet_model.h5\",\n", " monitor='val_loss',\n", " verbose=1,\n", " save_best_only=True)\n", "\n", "# 詐騙偵測自編碼器也是深層網路,可能多訓練幾個 epochs 會更好\n", "history = fraudet_ae.fit(X_train_normal,\n", " X_train_normal,\n", " epochs=100,\n", " batch_size=512,\n", " shuffle=True,\n", " validation_split=0.1,\n", " callbacks=[checkpoint],\n", " verbose=1)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "# 載入儲存的最佳模型\n", "fraudet_ae_model = tf.keras.models.load_model('fraudet_model.h5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 觀察訓練記錄" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "def plot_history(history):\n", " fig, ax = plt.subplots(figsize=(16, 7))\n", " ax.set_title('Training vs Validating', fontsize=14)\n", " ax.plot(history.history['loss'], label='training loss')\n", " ax.plot(history.history['val_loss'], label='validating loss')\n", " ax.set_ylabel('Loss', fontsize=14)\n", " ax.legend()\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 1152x504 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_history(history)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 檢視重建及預測誤差\n" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>normal_mse</th>\n", " <th>fraud_mse</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>count</th>\n", " <td>28432.000000</td>\n", " <td>492.000000</td>\n", " </tr>\n", " <tr>\n", " <th>mean</th>\n", " <td>0.200177</td>\n", " <td>21.911359</td>\n", " </tr>\n", " <tr>\n", " <th>std</th>\n", " <td>0.837981</td>\n", " <td>27.835350</td>\n", " </tr>\n", " <tr>\n", " <th>min</th>\n", " <td>0.007800</td>\n", " <td>0.017112</td>\n", " </tr>\n", " <tr>\n", " <th>25%</th>\n", " <td>0.063026</td>\n", " <td>4.517878</td>\n", " </tr>\n", " <tr>\n", " <th>50%</th>\n", " <td>0.104816</td>\n", " <td>9.351678</td>\n", " </tr>\n", " <tr>\n", " <th>75%</th>\n", " <td>0.195246</td>\n", " <td>26.080348</td>\n", " </tr>\n", " <tr>\n", " <th>max</th>\n", " <td>81.094747</td>\n", " <td>162.912717</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " normal_mse fraud_mse\n", "count 28432.000000 492.000000\n", "mean 0.200177 21.911359\n", "std 0.837981 27.835350\n", "min 0.007800 0.017112\n", "25% 0.063026 4.517878\n", "50% 0.104816 9.351678\n", "75% 0.195246 26.080348\n", "max 81.094747 162.912717" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 預測測試集\n", "predicts = fraudet_ae_model.predict(X_test)\n", "\n", "# 計算 MSE 預測誤差\n", "mse = np.mean(np.power(X_test - predicts, 2), axis=1)\n", "\n", "# 檢視預測誤差的數值分佈狀況\n", "df_test_error = pd.DataFrame({'normal_mse': mse[Y_test == 0], 'fraud_mse': mse[Y_test == 1]})\n", "df_test_error.describe()" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.axes._subplots.AxesSubplot at 0x2429ed3ba90>" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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EUccNRpIW63WnNzfmCy814b2WYjnznw+prl4T8K6JO8qpfxDku1JNiR5TpK/SvLXpZSjktyeJE3T9JdSTknylVLK1iS7+/nBdyX5q1LKWUl2JnlP0zR3lVJuSHJrKWWf4fq+v5vzAMwbxx9/YrZs2ZxTTnlTLr30Q/n+97+f5z734CmvfJ155jl597vPy0EHPSut1uJk3AdqDSbpmfRq5cg8RxxxVK644lOjz++999757d/+vXzmM5fn1FPfnKuu+lzWrDkvV1/958Nv1Vmc0057a6688vLhMYc+DXXk8T/903dz331b8uSTO7LPPvtkzZpzc801V+e4407MS17ya3nf+y7KmjXnjavhd3/39/PZz346p5zyplx55eWjy5ONv2HD99LT0zPueM4885xceOH5o1cfR8YdexVx7PLEHkz3+ema7vzT3X/qdYNTPP7J7O5xd/t8c23q12b2nH762bn00v86Z1cbRyy014b2WYjnznw9pp6ZfvjAQvXAA490XSMuvPD8tFqL5+QexwsOe3jWxhzx/jsOTJI5GXshe/8dB2bRc/69exzd47jbRu5xnO65pOedoe/tp+edoe/tp+edsZD6ftBBB0z56xfm5i7o3VBK2TvJtZOsapqmeVO76wEAANjTdV1wbJpmR4buVQQAAKALzOaH4wAAALAACY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUCY4AAABUtTpdAFNbtWp19ttv706XAcwTq1at7nQJAMACJTh2sRUrVmXp0v2ybdvjnS4FmAdWrFjV6RIAgAXKW1UBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwBAACoEhwB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\n", "text/plain": [ "<Figure size 1080x504 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 圖表觀察\n", "plt.subplots(figsize=(15,7))\n", "sns.boxplot(data=df_test_error, orient='h')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 誤差門檻與分類\n", "\n", "所訓練的模型如果夠精準,那應該可以很容易從預測誤差中看出正常與異常交易的差別。 理想狀況就是取個 MSE 的門檻值,可以一刀切開一群是正常的交易(Negative,陰性),一群是異常的交易(Positive,陽性)。" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "若取門檻值 = 3\n", "正常交易高於門檻值(FP)= 86 筆\n", "異常交易不高於門檻值(FN)= 99 筆\n" ] } ], "source": [ "threshold = 3\n", "# False Positive (FP) 與 False Negative (FN) 的數量\n", "n_FP = (df_test_error['normal_mse'] > threshold).sum()\n", "n_FN = (df_test_error['fraud_mse'] <= threshold).sum()\n", "print('若取門檻值 =', threshold)\n", "print('正常交易高於門檻值(FP)= {} 筆'.format(n_FP))\n", "print('異常交易不高於門檻值(FN)= {} 筆'.format(n_FN))" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "若取門檻值 = 0.3\n", "正常交易高於門檻值(FP)= 4002 筆\n", "異常交易不高於門檻值(FN)= 60 筆\n" ] } ], "source": [ "threshold = 0.3\n", "# False Positive (FP) 與 False Negative (FN) 的數量\n", "n_FP = (df_test_error['normal_mse'] > threshold).sum()\n", "n_FN = (df_test_error['fraud_mse'] <= threshold).sum()\n", "print('若取門檻值 =', threshold)\n", "print('正常交易高於門檻值(FP)= {} 筆'.format(n_FP))\n", "print('異常交易不高於門檻值(FN)= {} 筆'.format(n_FN))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "從預測的 MSE 誤差分佈看起來,異常交易的平均與標準差的確有顯著高於正常的交易。 但要從模型的預測誤差中,選一個門檻值來區分正常與異常交易,似乎也沒有想像中那麼容易,不同的應用會有不同成本的考量,門檻值的選擇也會有所差異。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"evaluating-imbalanced-classification\"></a>\n", "\n", "### 19.6.1 不平衡分類的評估 Evaluting the Imbalanced Classification\n", "\n", "一般評估一個二元分類模型的效能,都會看 [**Confusion Matrix**](https://en.wikipedia.org/wiki/Confusion_matrix) 及 [**ROC curve**](https://en.wikipedia.org/wiki/Receiver_operating_characteristic)。 但是異常偵測的資料集跟一般的不一樣,有著極度不平衡的類別分佈。 就這個範例比較小的測試集來說,正常 28,442 筆,異常 492 筆,光是全部預測正常就有 98% 的準確率。 " ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 576x576 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.metrics import roc_curve, auc\n", "\n", "def plot_roc_curve():\n", " plt.figure(figsize=(8,8))\n", " fpr, tpr, thresholds = roc_curve(Y_test, mse)\n", " roc_auc = auc(fpr, tpr)\n", "\n", " plt.title('Receiver Operating Characteristic (ROC)', fontsize=16)\n", " plt.plot(fpr, tpr, label='AUC = {:0.4f}'.format(roc_auc))\n", " plt.legend(loc='lower right', fontsize=14)\n", " plt.plot([0,1],[0,1],'r--')\n", " plt.xlim([-0.001, 1])\n", " plt.ylim([0, 1.001])\n", " plt.ylabel('True Positive Rate (Recall)', fontsize=14)\n", " plt.xlabel('False Positive Rate', fontsize=14)\n", " plt.show();\n", "\n", "plot_roc_curve()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 觀察 Precision 與 Recall\n", "\n", "- ***TP*** - True Positive 真陽性\n", "- ***FP*** - False Positive 偽陽性\n", "- ***TN*** - True Negative 真陰性\n", "- ***FN*** - False Negative 偽陰性\n", "\n", "\\begin{equation}\n", " \\textbf{Precision} = \\frac{TP}{TP + FP}\n", "\\end{equation}\n", "\n", "\\begin{equation}\n", " \\textbf{Recall} = \\frac{TP}{TP + FN}\n", "\\end{equation}\n", "\n", "+ **Precision** 精確度 - 是所有預測為陽性的樣本中,真的是陽性的比例。\n", "+ **Recall** 召回率 - **True Positive Rate**,又稱為 **Sensitivity** 敏感度,是所有實際陽性的樣本中,有被正確預測為陽性的比例。\n", "\n", "*Low Precision*: 表示所有預測是陽性的樣本中,很多都猜錯(*High FP*)。 *Low Recall*: 表示所有實際是陽性的樣本中,有很多誤認為是陰性(*High FN*)。 若沒有其他成本考量,通常門檻值會選擇一個讓 *Precision* 和 *Recall* 都可以達到最高的值。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### F-Measures\n", "\n", "當有兩種模型做比較,一個模型的 Precision 比較好,另外一個模型的 Recall 比較好,這時候該怎麼選擇? 有一個常用的 **F1 score** 可以幫助你做決定。\n", "\n", "\\begin{equation}\n", " \\mathbf{F_{1}} = \\frac{2}{ \\frac{1}{Precision} + \\frac{1}{Recall}} = \\frac{2\\cdot(Precision \\cdot Recall)}{Precision + Recall}\n", "\\end{equation}\n", "\n", "*F1 score* 計算 Precision 和 Recall 的調和平均數(harmonic mean),兩者視為同樣重要,最佳分數是 1,最差是 0。\n", "\n", "*F-measures* 的一般形式是:\n", "\n", "\\begin{equation}\n", " \\mathbf{F_{\\beta}} = (1 + \\beta^{2}) \\cdot \\frac{Precision \\cdot Recall}{(\\beta^{2} \\cdot Precision) + Recall}\n", "\\end{equation}\n", "\n", "- 當 $\\beta = 1$ 時就是 *F1 score*\n", "- 當 $\\beta > 1$時,偏好 Recall 比較重要。\n", "- 當 $\\beta < 1$時,偏好 Precision 比較重要。" ] }, { "attachments": { "Precision_Recall.png": { "image/png": "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bGxgY7OIyAMAGIbjONkl2AgG2QX0rLm5ef/+/YWFhXQ6/bHHHpszZw6LxcrIyPj777/fe+89hNC+ffsuXrz4xRdfcDictLS08+fPv/322x2XsG7dujFjxty4caO8vNzb2/uFF15IS0tLSkrCcXzatGkJCQkIobNnz168eLGpqcnOzi4mJmbatGn6eYcPH15QUNDS0sJisZ555hlPT8+kpKT09HT9WoqLi7du3bp582Y2m91xvWfPnk1KSmpra2OxWOPGjZs6dSpCSKFQHDlyJDs7W61Wh4aGLly40M7OrtNb7m6atra2P/74Izs7u7293cXF5fnnn09KSqqurt6/f/8ff/wRGhr6n//8p7t5pVLpnj177t275+DgEBcXZ4pvyjJZ7/azbt26oUOH5uXlyWSyZ555xsfHp29bzrlz5zIyMv773//qV/fll19++umnbDb7kcrev39/p43NyF+VWVhB5G3fvl0sFn/00UcKheLbb789dOjQU089FRIS8uOPP7a0tAgEgtzcXCcnp4KCgkGDBuXl5YWGhj68kCtXrrz00kuOjo7ff//9Z599NmLEiI0bN5aUlHzxxRdDhgwRi8Uikei1115zdHSsqKjYul/f16cAABr0SURBVHWrq6vr0KFDdfPeunXr9ddf5/F4J0+e/O233958883o6Ojff/+9qqrKw8MDIXTp0qXhw4d32l5ra2uPHTv27rvvuri4tLe3SyQS3fM7d+6k0+nvvvsum83et2/f7t27X3311U7VdjfNjz/+iGHYW2+9JRQKKysrORzOggULCgsLp0yZMnz4cMPzfv/9956eni+//LJMJtu2bZsxvyHLZqXbj86NGzfeeOMNgUBAEMS3337bty1nxIgRR44cqa2tdXV1RQilpqZGRUXpVvdIZT+8sVkjS2nYnjlz5o0OWlpadM/X1tYWFxcnJiay2WyhUPjEE0+kpqYSBCEQCDw9PfPz85uamtrb2+Pj43U3Qu1ukx03bpybmxuLxRoxYkRra+vMmTOZTGZwcLCzs3NFRQVCaNiwYWKxGMMwb2/vkSNH5ufn6+eNj4/n8XgIocGDB5eWliKEeDxeVFTU5cuXEUJKpTIzM3PMmDGd1kin03EcLy8vVygUXC7X29sbISSRSLKzs5966ik7Ozsmkzl37lzdLlvHGbubRiKR3Llz5+mnnxaJRBiGeXl5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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 576x576 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "threhsold shape = (28496,) precision shape= (28497,) recall shape = (28497,)\n" ] } ], "source": [ "from sklearn.metrics import precision_recall_curve\n", "\n", "def plot_precision_recall_curve():\n", " plt.figure(figsize=(8,8))\n", " precision, recall, th = precision_recall_curve(Y_test, mse)\n", " plt.plot(recall, precision, 'b', label='Precision-Recall curve')\n", " plt.title('Precision-Recall curve', fontsize=16)\n", " plt.xlabel('Recall', fontsize=14)\n", " plt.ylabel('Precision', fontsize=14)\n", " plt.show()\n", " return precision, recall, th\n", "\n", "precision, recall, th = plot_precision_recall_curve()\n", "print('threhsold shape =', th.shape, 'precision shape=', precision.shape, 'recall shape =', recall.shape)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA64AAAHwCAYAAACmHTLcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XmYHFW9//F37z0zPVsmk30jJDlJIARFwmKUVWRTEVGvuFxQEVHgp3gVvNeLu7iwqAhyuagoyCIKF1RQFEFF9jVkOySQhOzLZPal1/r9UT2TzmQmmUm6q2uSz+t58sx0dXWdb/fpgf70OXUq4DgOIiIiIiIiIn4VLHcBIiIiIiIiIruj4CoiIiIiIiK+puAqIiIiIiIivqbgKiIiIiIiIr6m4CoiIiIiIiK+puAqIiIiIiIivhYudwEiIiORMWY1MLVgUwZYC9xsrf1uCdo7D/iWtXbSHvY7HngUiFhrM8WuoxiMMbcC/95vcyewBPiitfYfJW7/ePKvETAJWAXMtNauLGW7+8oY8y1gobX2+P7vB2PMO4FfADXA0cDEwtvW2sUe13oO8Li1dtMA90WB8621/5O//Vh+3694UNetQNha+5G9eOw0dvNeMcZ8EviKtXbaPpbZ/7i3spc1i4jsTzTiKiKy974AjM//mw58HfiWMeajJWjrbuBNQ9jvCWC8X0Nrgd+x47UbD7wdaAbuN8bUlLOwEaL/++F7wJ+AQ4HlA9z2jDFmKnAPkBhklw8B/+1dRSIisj/QiKuIyN5r6zei9EtjzIeA9wG3FbMha2030D2E/VLALqNcPtTT77XbZIz5BLAOOAG4vzxljQwDvB9qgSettasBjDE73fZYYB/vFxER2YWCq4hIcWWAJPRNgVwMnApUAPOBOPAT4B1AE3AHcGU+cGKMORn4LjAXd1riFdba3w8wNfQbwCeABuBF4DJr7ZP9pwobYyYB1wInAzngLuA/rLU9+WN+EngYuCRf+935Y+UKn5Qx5lTgPqDRWtuR33YU8E9gLO6U2xuAI4B24NfA5cMc+U0WvIYYYwLAfwEX4Y7ePQlcYq1dkb+/AfgxcGb+sXfkn1vGGDMbuA5YiDsl+DngQmvtkmHUw2CvH5DCnRr+VWvtLQX7LwVusNbeYIxZmH/sPOB14LvW2tvy+92KG+AOAyYDJ1hrX+nX9lzgZuDNwL+AlQX3nUf+/WCMcfKbbzbGfBg4rvB2fmrxIcD1wDHAeuCnwLXWWscY87V8G9XA4bgjoo/ijtp+GHd21iO4r/3mgimz5+T3aQT+DnzcWrstfx/ACmPM+dbaWwvqPh53CjP5ug/K3zXeGPMgcCLwRr6tPxfs9y3g08DL1tqT9/DaTs6/bm/FfS/dnz9eR76tamPMr4GzcP8G/6vgsXHga/nnPQr4G3CxtXYN/RhjJgA/w50tsAz4c/998vsF2fN75XzgS8DBQBvuiPUl/f9+8n11srV2YcG21bjvhVuG8DdzDvAN3Bkia4HvWGt/MVDdIiJ+o6nCIiJFYIyJGGPOBk4BHii463zgPOA9uB+S78OdEnsE7ofjM4Gr8seYDTwI/B435N4M3GOMmd6vrfcCF+cfPwd4Afht/gNy4X5R3A/eCeB44P3AacA1BbstwA3Jb8P9wHsJ8M4BnuJfgQ7gjIJt7wf+bK1tBm7HnZI6D/gA8FHcYD0kxpg63DC1BTcMk3+OH8sf6yjc4PaIMaYyf/99wDTcsHMW8F7g8vyH9weANbhB7FggBPxgqPXkaxr09csH+3twR9d79z8UmIXbF+Nw+/LXuK/JN4DrjTHvKmjiI/ntp+Ge31vYdgz4I24IfHP+uV4wSKnjcUeqvwCc3f+2MaYCd9rwU7hB+RLgc7ivb6934U7fPg43JH8HN+Semd8WBP6Qf217fRn3Pfgu3P75Yn77gvzPY3C/CCn0RL7tjfk61+a3fzTf/iHAs8Bt/d7P78H9EuL/DeG1/QmQBt6C+wXRMbjv7V7vxv1CaV6+vluMMaPy992E26cfwz1XOAw8YIwJsavf4r6vFuC+ty4dYB+G8F5ZCNyYr3EmbkA/H7cvh2vQvxljzBjcL3euAwxuH9+S/++OiIjvacRVRGTv/cQY88P87xVAF3CdtfbXBfs8ZK19HMAYcxLuSMfR1tossNwY81ngYWPM5bhB7xlr7dfzj/2RMaaaXc8VnIb7wXyNtXaVMeYK4F52/TLyVNyR0KOttdvzNXwWN4D8Z36fMO5IZGu+nouBI4GHCg+UH8X8Le6H794wcg47AsE03KC1xlr7ujHmNNygPpgPGmPOyv8eAKLA48A7rLVt+e1fAi611v4tX/slwOnA+4wxL+CG7b6Fcowxn8YNQ5XALcCNBaPDtwK9z3mo9vT63Qn80xhTm3/93g88mh+V/Gb+9x/lj7UyHxA+h/vFBMCL1tr7Bmn7ZNyRzIvyz2G5MeZEYHT/Ha21m4wxWdyp67119t3OT8Hebq3tff4rjDFfAa7EHYUFaLLW/iT/2ErcAHS0tfbF/LaP4vbnQnaEza9ba5/O3/9r3PcNwNb8z235Kc2FtaaMMa1ArnequDEG4P+stT/L3/4+cC5uX67PP/Rma63N37+n13YasAhYnW/vbKB3VBrgWWtt75dF38IdQZ+THwH9KHCmtfbR/P0fzj/fUyn4ciE/gn0McFB+OvYSY8yRuH8TA9nde2US8Alr7b35fdcYY76AG+KHa9C/GdywHgHW50eQf2GMWQNs3ot2REQ8p+AqIrL3vo47kgLQA2zMB9JCqwt+nwPUAa35D+uwI7RNxR35fL7wwdbabwEYY95csPnXuKO4rxljnsUdXfxZPlwWPnwOsLI3zOQ9gTtKNDN/e1v+g3SvNtwPtwO5Cze0xXFH7saw41zUL+OGoE8ZYx4C7rLWPj/wYQA35P5HvpYPAxcC37TWLso/3wRuaPy1MaZw2nIcd6SqBzeY9U2ftdb2hW1jzI3AR40xbwFm445a7i5ID2S3r5+19mljzDrcEcfbccPINQWPPc0Y01Hw2DA7Qh3s/N7oby7wWsH0VnCnO586zOfQW8sh/WoJArH8qHL/Wqbjvif/2e/91Pva9wbX1wru2937ZigKj9X7fowXbCusb0+v7ZW4X668xxjzMO5IbuHIb19b1trev8Xe5xYEni64f7sxxubbLBwVn4v7/ius6zkGCa67e69Ya583xnQbY76OG1bn4f59PjLQsQYzhL+Z23FHXP9ojHkNN+Tfmp8xISLiewquIiJ7b+sQLqHSU/B7GFiBO/2yv7W4503ukbV2izHmCOAk3Km7FwKfzYe0wdruFer3c6A2B1s85x+4oeKduCNvf+wNVtbaG40xf8Cd0nkG7urA37LWfm2QY3UUvHZX5qcx/p8x5rB8GOj9/9O/AUv7PbYF9/zFAeU/wD8LbAf+D3e0azZwxWCPGcRQXr+7cEeAXwRm4I58k6//TuCb/R5f+MXGQMcv1L8f0nvYfzBh4DHcKaj99Z5D2f99Cu4U4dadd2crUJ//vf97Z18WXer/hU//4/Wvb9DX1lp7f/4817Nwp2H/Avc9e94e2hqsP0Ls6O/B6oM998+A7xXjXsrofuBXuFO6v447dXggzgDbwv1+Dvg3Y611gA8bY67BnS79buAzxph3WWsf3kPtIiJlp3NcRUS8Y3EX4mmy1q7MB7dxuOe4BnFD7U6XvDHG/MUYc0G/bWfgTu/9s7X2Utzz1apxp84WWgbMKDh/D9zpjVkKFvoZcvHuB9/f4I4avQf3gzjGmLgx5keAY6293lp7Ku4CNx8cxuG/hLuo00/zbbXgnu86vuC1WoV7Xt583NeqxhhzcO8BjDGfMMb8Dfd81MnA8dbaH1hr/wpMYfjBaiiv312451F+kB3n+4Lb17N6a8/X/07cxbCGYnG+7fqCbUO5HNJALO6I2+qCWg7HXTwrN8D+r+E+x9EF+2/FXQxp6gD79zdQuBrO/Xuy29c2P/13krX2f621Z+e3D+W9uBI3yB/Vu8G4C4DNzLdZaDHuIk+FQ9J76p/B3isXAL+01n4qv3jTMtxFmgZ6v6Zwr83bW18V7syHPf7NGGNmG2Outda+YK39mrX2zbjnk793D3WLiPiCRlxFRLzzMO4KqL82xnyZHedivmzdVX5/irv4zBW4C7+cgbuw0IW4K5f2CgI/MMZsxp2eeBLudMCXcM8L7PVX4FXchW6+jLtK6o9xp/E29ZsGOlR34i5Y5OBO9yVf+0Jgar6dMO5I1+6mCu/EWttmjPki7mvzHmvt/bhB6Zv557kYd/GfdwCfs9ZuMMb8FXdxmc/hBvf/xg2+Tbiv7dnGmKdxzxe9GPcc5OHY7euXr3tR/jzBz7PziOaNwKXGmKuAn+OG7e/jTo8eattrgJ8bY/4Ld6Ggc3AXWBqu23G/SLjFGPM9dqwAfetAO1tr240x/4t7DveFwAbcla4Pw/3CYOwe2uudwjvfGLOp33Tn3vtrjTGzcP8ehmtPr+2cfO29ff4+hvBetNZ2GmNuAn5sjPkUsA131eT1uCOh4wr2XZb/kuTnxpjP4K6O/BncKdODHX+w90oTcIwx5jDcLwy+jPt3HBvgMM8C3zHGfAR3SvNX2XkEedC/GdxVsS80xrQBv8Q9F/gw8l9AiYj4nUZcRUQ8kj//9d24HzSfwD3H7J/kR4qstatwRz8+jPuh83zgLGvt6/2O83vgK7grmVrc1WM/1Lt4TcF+Odzpkg5u4PlNvs2hjvoN9Byexb1O7P3W2sKplR/EDc9P4S6ytAp39drhHPsO3Nfjuvx5tFfjrvJ6A+5iO4cC77TWbsg/5KO404GfwA36dwJXW2ufxJ1ueX3+cefjhooGY8yUYdQz1NfvTtyppPcXPHYN7pTwk3H78hrcy6H8dIhtp3EX1anBDV2fYvDpo3s6VjvuubHTcFeg/iVuaP2vwR/FZbiXd7kbNyxVAKf0X2xpkPaa8se/g4FXlv4b7grUi3BD57AM4bW9CDdsPoL7fMO4iz0NxZdwn/dvcd9XSeDEfu/1Xh/AXdjoCeDbuF9q7Mku7xXcLxU24l665q+4o6o3MPAI7iO4f/fX5/dfjrsKdK9B/2byi2GdjTtbYinuFxo/xb2kj4iI7wUcZ19n7IiIiIiIiIiUjkZcRURERERExNcUXEVERERERMTXFFxFRERERETE1xRcRURERERExNdG1OVwtm5t9/VKUolEjI6OZLnLkDz1h3+oL/xF/eEv6g//UF/4i/rDX9Qf/rE/90VjY/Wg11zXiGsRhcOhcpcgBdQf/qG+8Bf1h7+oP/xDfeEv6g9/UX/4x4HaFwquIiIiIiIi4msKriIiIiIiIuJrCq4iIiIiIiLiawquIiIiIiIi4msKriIiIiIiIuJrCq4iIiIiIiLiawquIiIiIiIi4msKriIiIiIiIuJrCq4iIiIiIiLiawquIiIiIiIi4msKriIiIiIiIuJrCq4iIiIiIiLiawquIiIiIiIi4msKriIiIiIiIuJrCq4iIiIiIiLia54GV2PMUcaYxwbY/i5jzLPGmCeNMRd4WZOIiIiIiIj4m2fB1RjzJeAWIN5vewS4DjgFOA74lDFmnFd1iYiIiIiIiL+FPWzrNeBs4LZ+2+cAK621zQDGmMeBtwH3eFibiIiILyze2Mafl28tdxkHpFgsTDKZKXcZkqf+8Bf1h3/sbV8EA3DO/AlMrq8oQVWl51lwtdb+zhgzbYC7aoDWgtvtQO1Ax0gkYoTDoRJUt+8Cq/5O6KkHqHvn1RAIlLscAUKhIHV1leUuQ1Bf+I36w1/698cP736ZJRvaqIj68/93IiIyMoUCAd5uxjJvhH4G8HLEdTBtQHXB7WqgZaAdOzqSnhS0NxIv3kV42d20LPgqBP3wskpdXSUtLV3lLkNQX/iN+sNfCvtjzfYuXl7XyqVvP4iPHjm5zJUdePS34S/qD39Rf/jHvvaFn/uxsbF60Pv8kLCWATONMaOADuDtwNXlLWn4srUHub/k0gquIiKyVx5atoUAcOqcMeUuRURExFfKlrCMMecCCWvtzcaYy4A/4y4W9XNr7fpy1bXXghEAArkMTplLERHvdaezvL6tk6auNPFwkHgkREUkSDyc/xkJEQsHCQYCBAMQ0CkF0o/jODy0bAtHTqmjMRErdzkiIiK+4mlwtdauBo7O/35HwfbfA7/3spai6x1lzemkdZH9Wc5x2NjWw8qtnazI/1u5rZO1zd3D/tKqN8AGAxAMBAiQ/5m/XXh/3092c1+/Y0VCQRKxEIlYmPqKCBNq48QjIaqrYqR60oSCgR3/AhAKBggHg9TEw9RVRKiriJCIhRSyPbJoQxsbWnv41DFTy12KiIiI72hOa5E4IXfElWy6vIWISNF0JDO8ts0Npr0h9bVtnXSmsoAbIifVxZnRmODU2WOY0VjFmESUZDZHTzpHTzpLTyZHdzpLTzpHMpMj5zg4jhuAc7ijbDlnx8/C+/t+kt/f2d3+4LDzfalMjo5Uhs3tSZo607TvxQqEoWCAUZUR6isijKqKUh0LE8yH3FAgQDAYIJz/PREP01AZYe64auaOqyaowDssDy3bQjwc5ISZo8tdioiIiO8ouBZJIB9YA9keTRUWKbGc4xQ1FGVzDutbe1ixtcMdQd3ayYptnWxo7enbJxELMXN0FafPHcuMxipmNVYxvaGKyhGy8qvjOHSmsqSzOaqq42xv7iLrOGRz7vPv/ZfK5mhLZmjtTtPSnWZ7V5rmrhTbu9zfN7b2kHMcso77uJyz47HtyQy5/H8AxySinDBzNB9+yyTGVscUYvcglcnxF7uV42Y0jJj3lIiIiJcUXIvECcfdX3LZ8hYisp/76eOruPWZtVRGQ8TDIeIF55HGIiH3/NK+7UEqIiEi4SBjE1HG18apq4jQnc6yYosbTlfmR1F7MjnAnb47tb6SQ8ZVc9a8ccwYXcXMxirGVsdG9JTZQCBAIub+J7+uOk40myt6G9mcQ3NXimfeaOGRV7dx94sbuPvFDQQDcOj4GuaMTVATDzOrMcGY6hhTR1VQFdX/hgD+tWo7bT0ZTp87ttyliIiI+JI+MRSJE60BIJDTVGGRUulMZbj7xQ1Ux8KcNnds31TcnvxU3J5Mlm09GXoyvbfdabrJzMAhrTYeZuaYBO89bDwzGt2AetCoSuIRjXjtjVAwwOhEjNPnjuX0uWN5bVsnz7zRwsvrW1m6qZ1VTV07TVcOBWDqqErG18QZVxOjJh6mOhYmEXN/VsfCJOJhxiaijN7PFyt6aNkWRlVGWDC1vtyliIiI+JKCa5H0neOqxZlE9shxHLrSWZq70rR2p2nuTlMVDXPYhBpCwcFHNR9auoXOVJaff+hw5k2oGXJ7nakMWztSfdNfI6EgMxurGF0VHdGjqH538OgqDh5dxYfePLFvW3tPhlXbu9jSnuSVje5iRBvbkizZ1E57T5rsAOdaBAPwwTdN5H3zxzN11Mi8aPrutHanefz1Js6ZP4Hwbt7/IiIiBzIF12LpvRxOpmcPO4rsfzI5h5Z8KGztTtPc5f7enL/dkcmxtbWn73ZLd5rUAAklANRXRqivjDCqMsqo/M/6yggVkRD3vLSBOWMTHDp+8ItTD6QqGqZqlP5z5wfVcfcLCoCTTeNO9zmOQ3c6R3syQ0f+X1tPhoftVn7z4np+89IGPn3sVE6dM2bET90u9NDiTaSzDqfP1bVbRUREBqNPcsWSH2kN9jSXuRCRfTPQaGhLXxjN0NKdoqU7497f427f3Wq1iViIhqoYNbEQ46pjzB6ToL4y0ne5ld5/a1u6eaO5m+auNNu7UjR1plmyqZ3tnWm60jvOHf/G6Wa/CSyys0AgQGU0RGU0xNjqHVOD33ZwA59dOI3vPbKSGx5fzQ2Pr6auIsLsMQnM2ASzxyRYMLWOmnikjNXvvftf3sBBoyoxYxLlLkVERMS3FFyLJFfRAIAT1LlxMrC2njQPLN5MLucQDQeJ9fsXDRX8Hg4SxL1oZ+81OQMB+q7v6d7uve6ne2fvNT4D/a4HGghAdzrnjogWjIQW3i4cHW3uTpMeaL4mEA4Gdgqd42oS1PeGz/z2vtsV7rVAw6EgdXWVtLR07fb12d3U31QmR1c6Syabo6Equpc9ICPZuJo41733UOyWDhZtaMNu7mDZ5nZuf24d2ZxDPBxkwdR6GhNRRldFGVMdY87YBNMbqnY7/bzc1rd289yaZj6zcJq+kBEREdkNBddiyZ/jGtB1XGUATZ0pLvndK6zY2lnuUnZSHQvnA2aUcfkP+oWjoP1HRquiobJ8uI7mw7yIGZPYaWQylcnx5Ort3LdoExvbeli0oY2W7h3/Ha6Khpg7rpp5E2o4fGIN88bX9K2u7Ad/WrYFgFPnaJqwiIjI7vjn/94jnBPsXZxJwdULLV1pnnmjmUAgQDgYIBR0fxb+XteRoqczRSgUIBwIEA7tfH80HPTkUhyb2nr47G9fYUt7kuvfdyiHT6ylJ5MjlcmR7P2XzZHMZHfaBpBzwMHBccBx3OuXOrjTeR0HcgCOk99v5+29vztALBwsGAnNj47Gw4RDCoMyskXDQY6bMZrjZozu25bO5tjYlmTxxjYWbWjjlQ1t3Pr0G+Qcd4bCrMYEh0+qZf6EGmaPTTChNl6W68w6jsODS7ewYFo942vinrcvIiIykii4FkvQfSkDWlXYE7c9t45fPbt2n44RDMD0hioWTK1jTCJGVf7cukl1FUyuq6AqFtrrD7PJTI7v/XUFFZEQ/3itiY5Uhp+cM4/5E2sBdLkVkRKKhIJMqa9gSn1F33VRO1MZFm9o58X1rby8vpX7Fm3krhfWA+6o7OyxCU6bM4aTZjV6NiK7dFM7bzR38+njDvakPRERkZFMwbVY8sE12LW1zIXsvx5evoXXm7qYXFfBi+taqYgEufXDbyKTdcjkHLI592cmlyObc4hVRGlt6yHrOP32yZHJOaze3s2DSzdzx/PrB2wvAFRGQ9TGw7x1egPHzWigviJCbUWE2niYWDg44LRZx3H43l9X8Pslm4mFg1RFQ9z0/vmYsVp4RaRcqqJhjppWz1HT3OukprM5Vm7rxG7u4NWtnTy3toVvPbyCbz28gtFVUSbXxZmY/xLriMm1fV86FdNDy7YQDQV459yx5JKarSMiIrI7Cq5F4gTcETQnUlXmSvZfP/jbazuduwbuiOlghrIg0JdOmkEm59CdytKZytCRyrJmexeb2pJ0JDO0JzM88uo27nlpA/e8tGGnx46rjmHGJKiIhkhEQxw5pY7pDVX8a9V2fr9kM588egrnHTWFUABNyRXxmUgoyJyx1cwZ615ayXEcXl7fxovrW1nb3M261h6eXtPMH5ZsBtzVrA+bUMOEmnhRzvPOZHM8vHwrbz+4gZqKCC0KriIiIrul4Fos4fz5SZoqXBRvNHfzrT9bcg40VEWpiIZo6U7z6bdO5aRZjSzd1E6oSOekhYMBquNhquPun8OM0TuH4f84cQZbO5K80dxNa3ea1p4M2zpTPL+2hfWtPXSns7R0p/ntyxv7HnPMtHouOHZqWc6bE5HhCwQCHD6plsMn7Tyy+tiKbVz50HKufNACMKoywiHj3MDbeymexkR02GH2qTXNNHenOXXO2KI9BxERkf2ZgmuROKH8JTpyqfIWsh/oSWe5/IGlbOlIMquxilVNXaza7o6cHjKummmjKpk2qtLTmhoTMRoTsZ22XXDM1L7fM9kcyzZ38M/Xm1jf0sOX3zFToVVkP3D8zNH87eC38tq2ThZvdBd6WrKpncdf307vRaNGVUaYMbqKgxoqmd5QybSGSqaPqqKucvDryj64dAu18TDHHlTvzRMREREZ4RRciyWoy+HsyYbWHp59o5kzDhlHeIDrKq5t7uYHf1tJc1ea17Z18qP3Hcox00YB7mq6G1p7mFjrz5U3w6Eg8ybU7PZapCIyMoWDgb7L8Lxv/gQAulJZVmztwG7pYNnmDl7b1skDizfRnc71Pa6uIsL0hkpmj00we2yCOWOqmTKqgq5Uln+81sS7Dx1HRKcRiIiIDImCa5E4+eu4BjsGXujnQLaqqYvqWIir/rKCp9Y086tn13HlO2cxd1z1Th/abn9uHc+tbWFyXQVfOOHgvtAKEAwEmFRXUY7yRUR2URkNMX/izos25RyHLe1JXm/qYvX2Ll5v6uK1bZ387uWNfZe4qoqGGJOIkczkOE3XbhURERkyBddiyY+4OvEDd9rXto4kv3x2HfFwkPE1MQ5qqGJCbZx/++Vz5Jwd+23vSvHJu14mFnYvWVFbEaEuHuFfq5o4dfYYrjzVlO9JiIjspWAgwLiaOONq4hx70I4v3jI5h1VNnSzb3MHyzR0s39zOwumjOHR8dRmrFRERGVkUXIslEMQhcEAuzrR4YxvVsTBf/sMyXm9yz0XNFiZV4PgZDWxo7WH22ASXvG06z69r4eX1baxr6aa1J8OrWzuojUc494hJ5XgKIiIlEw4GmNmYYGZjgncfWu5qRERERiYF12IKhgnksuWuomgcx6GtJ8M/XmtiYl2cwybU7nJu6gvrWrjw7kV9t3909qEcNbWerR1JFm9s528rtvEXu5WPHjmZwwrO/zxpViMnzWr07LmIiIiIiMjIpeBaTMEwOPvHiOsPH3udBxZvoj254/kc1FDJ54+fzmETaqiKhkllcn2h9dwjJvKmibV90+N6p8udbBr5yimzqIyGyvI8RERERERk5FNwLaZgCPaTEddfP79up9tfO9Vw7WOvcenvFhMKgBlbTTzsLqz0b2+eyOePP3jQYym0ioiIiIjIvlBwLaZgeMSf43rvoo28tK4VgLceNIp/XzCZRRvaOOOQsZw4azSL1rfxwroWXljXygv5/c6aN66cJYuIiIiIyH5OwbWYAgFCravLXcVee6O5m6v+sqLv9hdOOJjJ9RW8aZJ7uYeKSIijptVz1DR35eTVTV0s2tjG9IbKstQrIiIiIiIHBgXXIgp0N+PEave8Yxm90dxNOBhgQm28b9u6lm5u+tdq/rx8KwCXnzSDwyfVMrl+99dNndZQyTSFVhERERERKTEF1yJyRs0AnD3uVy7PrGnms799BYCzDxtPMpPlj0u37LTPuUdM5L0p+HMJAAAgAElEQVSHjSfUb/VgERERERGRclFwLSYfL870v0+s4eYn1/Tdvn/xpp2utTpjdBXnHzWZk00jwYBCq4iIiIiI+IeCazEFQwR8cjmcZCbHNY+uZHJdBafMHtMXWifUxvnluW+iO5Plhn+u4vS5Y5k7zl0hOB7R6r8iIiIiIuI/Cq7FFPDHiGtzV4rv/GUFj61sAuDH/1gFwKffOpXzj5pCMBCgjgjfOmNOOcsUEREREREZEgXXInKCYXDKG1xXbO3g3F+90Hf7Mwun8adlWwgHA5y3YIqmAYuIiIiIyIij4FpMgSCBMo24vtHcze3PreW+RZsAd0rw+Qsmc9Zh4zn/qCllqUlERERERKQYFFyLKRguy3VcH1y6ma8+ZPtuX3HyDN43f4LndYiIiIiIiJSCgmsRBTq3ko3XedpmW0+ap9c0AzCqMsL33jWXwyf5+1qyIiIiIiIiw6HgWkTO6FkEtr/hWXsdyQyn3vQU6azDnLEJfvWRN3vWtoiIiIiIiFeC5S5gvxKKQi7lWXPLN3eQzjpEQwE++KaJnrUrIiIiIiLiJY24FlM4RqhllWfNXXTPIgCuPetQjppW71m7IiIiIiIiXtKIazF1N+NEE540lc7m+n7XOa0iIiIiIrI/U3AtIqdhJuQynrS1ZGM7ANNGVRALqxtFRERERGT/pcRTTOEKgulOT5r649LNAHz9tNmetCciIiIiIlIuCq7FlA+tgWRbyZv6v1c2ATC9obLkbYmIiIiIiJSTgmsROY1zAAikOkrazvLN7jThKfUVxCOhkrYlIiIiIiJSbgquxRStAiC03Za0madWNwPw8w8dXtJ2RERERERE/EDBtZjqpgEQal9XsiZyjsMvn11LMAC1FZGStSMiIiIiIuIXCq5F5IyeCUBkw1Mla2PF1k46kllyTsmaEBERERER8ZVwuQvYr8RqAAhkkyU5/Csb2vjOX1YAcPZh40vShoiIiIiIiN8ouBZZesx8Apmeoh2vpTvNf/9xOSu3dbKtM9W3/W0HjypaGyIiIiIiIn6m4FpkTjhOeMuioh3v2w+/ylNrmnfZPm98TdHaEBERERER8TMF1yILZJIEe7YT6N6OU7Fvo6Kfv28xj7++ve/2uOoYN//bfCojIS3MJCIiIiIiBwwF1yLrnvfvRB55iVDL62T2Ibhmsrm+0Hrj++dx5JT6YpUoIiIiIiIyomhV4SLLVY4BINjdtE/HWbGtE4DjZzQotIqIiIiIyAFNwbXIsqPcS+LE7T37dJxfPrMWgPOOmrLPNYmIiIiIiIxkCq5FlktMACDUsmqfjrNsUzsnzRrNIeOqi1GWiIiIiIjIiKXgWgLJaScT3m7Bcfbq8auautjQlmRmY1WRKxMRERERERl5FFxLIFvjTu8Nb35hrx7/F7sFgCMm1RWtJhERERERkZFKwbUEkjPeBUB46+K9evxf7TbeMqWOwyfVFrMsERERERGREUnBtQQyDXMBiGx5ediP3d6VYtX2Lg6fUFPsskREREREREYkBddSiFaRi9cTXfPIsB963WOvA+j8VhERERERkTwF1xLJVTQQSHUM+3FLNrYBcPzM0cUuSUREREREZERScC2R5Mz3EMgmIZsa8mNyjsPalh4CQDAQKF1xIiIiIiIiI4iCa4k4Uff6q5XP/2TIj3m9qQuATx07tSQ1iYiIiIiIjEQKriXSPfdcACpeuXXIj/nQL58H4PgZmiYsIiIiIiLSS8G1VCKVpCYeQ7BnO6S7hvXQg0dXlqgoERERERGRkUfBtYSSs94LwKjb3wa57G73fWr1dgBOMY0EdH6riIiIiIhIHwXXEuox7ycXqyXUtZnKZ6/b7b6X/G4xAB87crIXpYmIiIiIiIwYCq6lFIqw/dy/AxBb9fCguz2xanvf72ZsouRliYiIiIiIjCQKriXmVI6mZ9Z7CTctperxbwy4z/X/WAXAf79zlpeliYiIiIiIjAgKrh7oPvRjAFS+fDM4zi73N3WmeNchY3n3oeO8Lk1ERERERMT3FFw9kBl/ZN/lcSLr/rnTfT3pLM3daSbXV5SjNBEREREREd9TcPVI15s/A0DFS/+70/ZP/2YRAGMSMc9rEhERERERGQkUXD2Sq5kCQOyNR3e6NM6STe0AvMM0lqUuERERERERv1Nw9UogSPe88wBIPP5VwhufI7f2aeYFXuf46XVEw+oKERERERGRgYTLXcCBpHPBF6h45da+fwC/j8GDqU8Ch5W1NhEREREREb/yLLgaY4LAjcB8IAl80lq7suD+/wA+BOSA71hr7/OqNq848Xq2n/sYwfb1ACzb1Moxz36G07fdwtbsf0IoWuYKRURERERE/MfL+alnAXFr7THAFcA1vXcYY+qAS4FjgFOAH3pYl6ey9TNITzmO9JTjWF61gF9nTgKg6plry1yZiIiIiIiIP3k5VXgh8CcAa+1Txpi3FNzXCawBqvL/cgMdIJGIEQ6HSl3nXguFgtTVVQ55/84sfCNzPudGHqXyhZ8QOfkKiAz98bJ7w+0PKR31hb+oP/xF/eEf6gt/UX/4i/rDPw7UvvAyuNYArQW3s8aYsLU2k7+9FlgKhICrBjpAR0eytBXuo7q6Slpauoa8//qmTiqjEboP/xSVL95E2/pV5OoOKmGFB5bh9oeUjvrCX9Qf/qL+8A/1hb+oP/xF/eEf+3NfNDZWD3qfl1OF24DCSoIFofU0YDxwEDAFOMsYs8DD2sqiqTNFQ1WU1NQTAYivuL/MFYmIiIiIiPiPl8H1X8DpAMaYo4FXCu5rBrqBpLW2B2gB6jysrSyaulI0VEZITziaXHwU8SW3gTPgLGkREREREZEDlpfB9T6gxxjzBHAd8HljzGXGmHdba/8JPAs8ZYx5EngV+IuHtXku5zi80dxNYyIGgSAdC79GqHMzkY3PlLs0ERERERERX/HsHFdrbQ74dL/Nywvu/yrwVa/qKbc127vZ2pFiwVR3YDnTMBuAqqe+T8vZ95azNBEREREREV/xcsRVCqzY2gHAIeNqAMg2zCEXrdZUYRERERERkX4UXMukpdtdl2pUVcTdEAiQNGcTalqm8CoiIiIiIlJAwbVM2nrSANTEdszWzoyaTTDdSdUT3y5XWSIiIiIiIr6j4FomLd1pqqIhwqEdXZCccSYAlS/9D2RT5SpNRERERETEVxRcy2RbZ4rRVdGdtjnxejreeiUAtQ9+HFKd5ShNRERERETEVxRcy2RrR4rGRHSX7cmD3okTriD6xmM0/OooAp1bylCdiIiIiIiIfyi4lsm2jiSjE7Fdtudqp7LtU5bUpLcRTLYQW/O3MlQnIiIiIiLiHwquZeA4Dls7U4wZYMQVgECQ1jN/hROMEH3tj94WJyIiIiIi4jMKrmXQ2p0hnXUGHHHtE4qQHn8k4eaV3hUmIiIiIiLiQwquZbC1MwlAY9UgI6552dqDCGR6vChJRERERETEtxRcy2Brh3upm4EWZyrkhKIEu7dCLutFWSIiIiIiIr6k4FoGW9rzI667myoMZOumA1B339klr0lERERERMSvFFzLYE1zN9FQgLHVuw+uPXP/DYDIpucJpDq8KE1ERERERMR3FFzLYFtnitGJGKFgYPc7hitoP+4qAEKtq0tfmIiIiIiIiA8puHosm3N4cV0r42t2P9raKz1+AQChltdLWZaIiIiIiIhvKbh6bFtnis3tSU6c2Tik/Z1oAoBAurOUZYmIiIiIiPiWgqvHlmxsA2BmY9WQ9nditQAEu7aUrCYRERERERE/U3D12LbONABT6iuGtL8TTZCtmUqoaXkpyxIREREREfEtBVePdaYyACRi4SE/Jlc1hmB3U6lKEhERERER8TUFV4+192SIhgLEwkN/6XPxUQquIiIiIiJywFJw9VhHKjOs0VaAXEWDgquIiIiIiBywFFw91t6ToXrYwXU0gZ5mcHIlqkpERERERMS/FFw91tKTobYiMqzHOBWjCDhZAsnWElUlIiIiIiLiXwquHmvtTlMbH+aIa7QagPDWJaUoSURERERExNcUXD3W2p0e9ohrtm46AIFMVylKEhERERER8TUFV4+19mSojQ9zqnCsFoBApqcUJYmIiIiIiPiagquHetJZkpkcdRXDnCpcOQaHAKHWVSWqTERERERExL8UXD3U0p0GGP7iTPE6sg1ziGx4uhRliYiIiIiI+JqCq4daezLA8IMrQLbuIIIdG4pdkoiIiIiIiO8puHqotXfEdZirCgNkExMJta2FbLLYZYmIiIiIiPiagquH9mXENTNmHoFsklDL6iJXJSIiIiIi4m8Krh5qT7rBtTo2/BHXXNU4AEJtbxS1JhEREREREb9TcPXQoyu2AVAVDQ37sdmaqQBE1zxS1JpERERERET8TsHVQ0+tbgb2Lrjmqie4vwSHP1orIiIiIiIykikFeehNE2sIBAIEAoG9enwuPoromkeLXJWIiIiIiIi/acTVQ6msQzS8Dy95LkMumiheQSIiIiIiIiOAgquHUtkcsdDev+TpiccQcLJFrEhERERERMT/FFw9lMrk9mnE1QlXEEh1FLEiERERERER/1Nw9VBPJkdsH4JrtnYawfb1kE0WsSoRERERERF/U3D1UGt3mpr43q+Hla2bTgCHUKuu5SoiIiIiIgcOBVePJDM5ejI56ioie30MJ14HQCDVVqyyREREREREfE/B1SOt3WkAavcluIbjAAQyPUWpSUREREREZCRQcPVIa48bXOv2YaqwE4oBENA5riIiIiIicgBRcPVIa3cG2NcR1wr3F424ioiIiIjIAUTB1SMtvVOF4/sQXCNVAIQ6NhalJhERERERkZFAwdUjvVOFayv2fqpwrmYK6dGHEF96BzhOsUoTERERERHxNQVXj/RNFd6HEVcCAZIz30N4u9XKwiIiIiIicsBQcPVIW0+GWDhINLxvL7kTqwUgkO4sRlkiIiIiIiK+p+DqkY5UhkRs76cJ93KiCQACPS37fCwREREREZGRQMHVI53JLIloaJ+P40Tc4BpuWrrPxxIRERERERkJFFw9UqwR1/T4IwEIdm3b52OJiIiIiIiMBAquHulMZkjEijDiGqshF60m2L6+CFWJiIiIiIj4n4KrRzqS2aKMuALkKkYTX34Pge6mohxPRERERETEzxRcPdKRylBVhHNcAbK10wimO6h8/vqiHE9ERERERMTPFFw90pEszjmuAG2n3UyuooHI+ieLcjwRERERERE/U3D1QCbn0J3OkYgWJ7gSrqBnzoeIbFtCeMvLxTmmiIiIiIiITym4eqAzmQGgqgiLM/VKTX4bAJUv3Fi0Y4qIiIiIiPiRgqsHutJZgOKNuALpSW8FINixoWjHFBERERER8SMFVw8k0zkAYuHivtzJaScT6Gkp6jFFRERERET8RsHVA8lMaYJrrnoiwZ7tRT2miIiIiIiI3yi4eqAn404VjkWKHFxj9QSSbZDLFvW4IiIiIiIifqLg6oGOpBssq4t0OZxeuYpRBHAIJFuLelwRERERERE/UXD1QHt+VeFiLs4E4MTrATRdWERERERE9msKrh7oya8qHC/2VOH4KAAia/9Z1OOKiIiIiIj4iYKrB3oXZ4qHi3cdV4D0+CMBCLW8XtTjioiIiIiI+ImCqwf6VhUu8ogrkUpSE48h/uq9hLe+Utxji4iIiIiI+ISCqweau9PEwkHiRb4cDkD7idcAUPPgx4t+bBERERERET9QcPVARzJDIhYmEAgU/di5mimkJx5LqGMjwZZVRT++iIiIiIhIuSm4eqA7naWi2NOEC3S8/Zs4wTCVz/+kZG2IiIiIiIiUi4KrB5KZHBWR4i7MVChXNY5M4zzi9h7IpkvWjoiIiIiISDkouHqgO50tyfmthVJTTyLg5AhkukvajoiIiIiIiNfCXjVkjAkCNwLzgSTwSWvtyoL7TwO+mr/5AvBZa63jVX2l1JPOES/hiCtAtm46AKHW1WTGHFbStkRERERERLzk5YjrWUDcWnsMcAVwTe8dxphq4AfAmdbao4HVwGgPayuprnSWyhIH10z9DABi9reaLiwiIiIiIvsVz0ZcgYXAnwCstU8ZY95ScN+xwCvANcaY6cAt1tqt/Q+QSMQIh0sbAPdFKBSkrq5yl+3dmRx1idiA9xVNzZvITVpA5aKfU7H5OTLn/g4qG0rX3ggwWH+I99QX/qL+8Bf1h3+oL/xF/eEv6g//OFD7wsvgWgO0FtzOGmPC1toM7ujqCcDhQAfwT2PMk9baVwsP0NGR9KzYvVFXV0lLS9cu2zt6MoRxBryvqM64g8TjX6diyW0kn7md7sMvKG17PjdYf4j31Bf+ov7wF/WHf6gv/EX94S/qD//Yn/uisbF60Pu8nCrcBhRWEsyHVoAm4Flr7SZrbQfwD9wQu1/oTGWoinowUhyO03Hct8lWjSO24v7StyciIiIiIuIBL4Prv4DTAYwxR+NODe71PHCoMWa0MSYMHA0s9bC2kklnc6SzDpVeBFeAQJCeQz5CZMtLBDs2eNOmiIiIiIhICXkZXO8DeowxTwDXAZ83xlxmjHl3/nzWLwN/Bp4G7rXWLvawtpLpSLqDyomod7Oye8z7cIJhKl75lWdtioiIiIiIlIpnacpamwM+3W/z8oL77wLu8qoer3QkswAkYt4F11zNZDJjDie28gE6F1wGoahnbYuIiIiIiBSblyOuB6SOVH7E1cPgCtA1/5OE2t4gsul5T9sVEREREREpNgXXEuubKhzz9jI+6clvwwkEib16r6ftioiIiIiIFJuCa4l1pdypwp6sKlzAidXSfdgnqFh6J6GtSzxtW0REREREpJgUXEusK+0G14qIt8EVoHu+ex3XyKbnPG9bRERERESkWBRcS6w7nQPw7nI4BXJVYwAIdm/zvG0REREREZFiUXAtse5U+UZcCYbJxesJdjd537aIiIiIiEiRKLiWWDmnCgPkKscQ7NhUlrZFRERERESKQcG1xHrSWWLhIKFgoCztZ0bNIrxtMeQyZWlfRERERERkXym4llhXKlu20VaA1EGnEOrYQOKxK8pWg4iIiIiIyL5QcC2xnkyOeLh8L3Ny1nvpmf0BKpbdRajl9bLVISIiIiIisrcUXEsslckRK2NwBeiZfQ4AkQ1Pl7UOERERERGRvaHgWmKpbI5omYNresLR5CIJwptfKGsdIiIiIiIie0PBtcSSPhhxJRAkdfBpxJf9hvCm58tbi4iIiIiIyDApuJZYKpsjGir/y9zxtm/iRKqIL7mj3KWIiIiIiIgMS/kT1X4ulSn/VGEAJ5ogNe0kYmv+Co5T7nJERERERESGrPyJaj+XzOSI+WDEFdxzXYPdTQRbV5e7FBERERERkSHzR6Laj/lhcaZemVEGgLAuiyMiIiIiIiOIPxLVfswvU4UBsrXTAIi99ofyFiIiIiIicoA755x3sXDhW/r+HXfcUbz//e/htttuLXpbDz74e9773tP3uN8LLzzHwoVvIZPJFL2GfRUudwH7u2TW8c1UYadyNADBri1lrkRERERERC6++HO84x2nApDJZHjhhef47ne/SWNjI6eeekbR2jnppHdwzDEL97jfvHnzuf/+PxEO+y8m+iNR7cf8NOIK0DXvfCLrnyKQ6ih3KSIiIiIiB7SqqgQNDaNpaBjN2LHjOO20MzniiAX8/e9/K2o7sVic+vr6Pe4XiURoaBhd1LaLxT+Jaj+VzGR9cTmcXqkZZxDIJomueaTcpYiIiIiISD/hcIhIJMrFF3+Ka6/9Hh/84FmcddZptLS0sGXLZi699GJOPnkhZ599Bj/96fWk0+m+xz777NN84hMf5aST3spHPvIBHn/8H8CuU4VvueUmzjrrNE488VguvPB8Fi9eBOw6VXjLls38939fwWmnncgZZ5zEtdd+j2Qy2XfMiy76BL/4xf9y5pkn8573vJMf/egacrlcaV6XkhxVAHAch1TWIRYOlLuUPukxhwMQal5Z5kpERERERErjj0s288DiTZ62+e5Dx3HGIWP3+vGZTIZ//esfPPPMU/znf36VBx64jwcf/D3XXPMTYrEotbW1XHDBvzN79ix+9rPbaWlp5uqrryKTyXDJJZ9nzZrVfPGL/4+PfezjfO1r3+bJJ//FlVdewW23/Wandv7+90f53e9+w7e//X3GjRvPnXfezle+cjn33vvHnfZLp9NceulFTJo0ieuv/x/a2lr57ne/iePAF75wOQDLli1hzJgx3HDDLbzyyst8//vfZsGCoznmmLfu9eswGAXXEkpl3eulRnw04ko4TrpxHtE1j9K14AvlrkZERERE5IB13XXf58c/vgaAZDJJLBbnAx84l1NOOY0HHriPo48+lvnz3YGn5557hg0b1nP33XfT3p5k6tRpXHbZ5Vx22cVcdNEl/OEP9zNnziF8/OOfAmDy5Cl0dXXS3d29U5ubNm0gHA4zbtx4JkyYyEUXXcxxx52wy0jp008/wdatm7n55l9QU1MLwGWXXc7ll3+eCy/8LADZbJYvfvG/SCQSTJ06jXvv/Q3Lly8tf3A1xpwBfB6YARwHXAC8Ya29ueiV7QdSGbfzYz46xxUgPfFYKhb9nGDranL5lYZFRERERPYXZxwydp9GP71y/vkXcMIJJwMQjUZpaBhNKBTqu3/cuAl9v69Zs4qOjnaOPnpB3zbHcUin02zevInVq1/HmDk7Hf+88z4JwKuvLu/bdsopp/Hgg3/ggx88i9mz57Jw4ds588z37LIg0+rVq5g0aXJfaAWYN+8wstks69a9AUBtbR2JRKLv/srKqpKtSDzk4GqM+QjwY+CHwLFACNgIXGuMqbLWXleSCkewZNYNrn46xxWge/4nqHzpf4it/APdR1xc7nJERERERA5IdXX1TJo0edD7o9Fo3+/ZbJZJkyZz00030dbWs9N+Y8aMJRyODKnN+vpR/Oxnt/H888/y5JOPc//993Lvvffws5/d1q/t2C6PzebzTe/PSGTXNh3HGVIdwzWcRHU5cKG19htAFsBaewNwHnBp8Usb+XpHXP20qjBALjGBbNU4ws0ryl2KiIiIiIgMweTJU9myZTO1tXVMmjSZSZMm09TUxE03/YRcLsfkyZNZscLu9JjPfe4zPPDAfTtte+IJN6weddQxfO5zX+TOO39HV1cXL7/84k77TZt2EOvWraWtrbVv25IliwiFQkyaNKl0T3QQw0lUBwPPDbD9JWBcccrZv/RNFfbZiCtAtn6mFmgSERERERkhFiw4mgkTJnLFFV9ixYpXWbx4Ed/73jcJBoPEYjHOOuscli5dzG233cq6dWv5zW/uZPHiRRxxxJE7HSeXy3HjjT/i0Uf/ysaNG/jLX/5EKpVk5sxZO+33lrcsYPLkqXzzm1eycuUKXnjhOX74w6s56aRTqK2t8/KpA8M7x/UV4AzgJ/nbvWPAHwcWFbOo/UXfVGGfjbgCZEbNpGLpXeA4EPDPqsciIiIiIrKrUCjEd797LTfccB0XXfRxYrEYb3/7CVxyyecBmDBhIt/5zg/46U+v5xe/uJkpU6Zx1VVXM3HipJ1GUxcufDsXXHARN974Y7Zt28rEiZP42te+zZQp09i2bVvffsFgkKuuuprrrvs+F154HhUVlZxyyqlceGF5TjUMDHUOsjFmIfBH4G/A6cAdwCzgcOBMa+2jpSqy19at7aWZMF0kdXWVtLR09d1+ZUMbH7/zJX549qG89aBRZaxsV/FXbqX6H1+h6bznyFXtnwPm/ftDykd94S/qD39Rf/iH+sJf1B/+ov7wj/25LxobqwcdURvyUKC19nHcoPoK8ABQB/wTmONFaB2JUln/ThXOjH0TADV/OK+8hYiIiIiIiOzBcFYVvhK42lp7Zb/tNcaYq621/1H06ka4pE8XZwLIjJlPtmYKkW2LCbZvIFc9Yc8PEhERERERKYPdBldjzFx2LLz0VWCxMaal326HABcBCq79+HlxJoCWd9/BqF8fR3zJ7XQd/aVylyMiIiIiIjKgPY24jgH+WnD7twPs0wFcXbSK9iN/Xr4F2DFl2G9ytdPIVY0h3PJauUsREREREREZ1G6Dq7X2MfLnwRpjVgFHWmu37e4xssPk+oqdfvpRasqJxF+9j1DL62Trppe7HBERERERkV0MZ3GmgwYLrcYY769AOwJURd3vBeI+PMe1V/f8T+AEgtTfcQLB1tXlLkdERERERGQXw1mcaQ7wA9xzWkP5zQEgBjQUbJO8lI8XZ+qVHTWLtjNvpe6+c4gvv4euo75Y7pJERERERER2MpxEdTNQD1wF/P/27jxMrqrO//i7tt63rBAISVgPe0RAIOyoIKCCIgqKCwyO6yjijKOIDiLquP1UBp1RAcdd3BgQBXFDZVEB2ZcbkCXshOyd9FJV9/7+qOqk0+kEAlV9q7vfr+fpp6ruPXXrW3XSST51zj13OvBZ4IdAO3Bq7Usb/wbLMblshmxmo5cjagjFrfanNGVH8ksXpl2KJEmSJG1gc4LrPsB7oij6BvB34J4oij4EvB94ez2KG+/6imVaC4072jpc3DadbO/jaZchSZIkSRvYnFRVBIYuhXMvsFf1/m+APWpZ1ESxerBMW2F8zKAubr2AwtO3kX/6trRLkSRJkia8173uVRx00D5rfw4+eF+OPvoIPvzhM3nqqSfr+toXXfR13vWufwLgV7/6Ba95zTF1fb1a2Jzgei3wbyGENuAm4PgQQhbYDxioR3HjXV+xTFvT+AiupRl7AtD1y9NSrkSSJEmaHN773jO47LKruOyyq/j5z3/Jued+mgce+Aef+tQ5aZfWcDYnuJ4JvAx4N/BdKue5Lgd+AFxQ+9LGv4FSTEt+fATXwbmH07/jceTWPEXT/VekXY4kSZI04bW3dzBt2nSmTZvOjBkz2Xff/Tn99Hfy97/fRG9vb9rlNZTnFFxDCJ3AoiiKAvC1KIpWUznn9WTgEGDn+pU4fg2U4sHj2g4AACAASURBVIZeUXg9mSy9h5xH3DqNzt9/kEzf0rQrkiRJkiadQqEAQDabpbe3l/PO+w+OOupQXv3qo/jsZz/F6tWr17ZduPBe3vvef+alLz2QE088jiuuuGztvuuu+zOnnfYmjjhiAUcddSgf//hHWL16/IbhTV4Op3p91v8FDq8+vhJ4M7AG6Ad2Bc6mcv6rRiiWY5pyjb2i8HBJyxRWvuLr9Fz6Opoe/j0DO78u7ZIkSZKkzdZ8709puedHY/qa/buc9IL///zII4u46KKvs99+C2hra+OjH/03BgcH+epXL6RUKnHBBV/iox89i3PO+QzLly/n/e9/N0cc8TI+9KGziKJ7+fSnP8E228xlxowZnH32hzjjjH/jJS/Zn0ceWcS5557N//3fz3jTm95ao3c8tp7tOq4XAPOohNVB4BPAl0IIZwOXAfOBi4Cz6ljjuDVQimlrK6RdxmYpbrkPxem70fW7M1gyewFxx1ZplyRJkiRNSF/60uc4//wvAlAul8nnCxx88CG8730f5LHHHuVPf7qGX/7yt3R1dQNw9tmf4HWvexXvetf7ufbaP9HW1saZZ/47uVyOOXPmsXLlCuK4TLlc5v3v/yDHHfdaAGbN2oq9934JDz74QGrv9YV6tuB6MPD6KIp+BxBCuI3Kwky7Azlg/yiKbqpvieNXsZzQlBsnU4WHZPP0vfi9FK5+F92Xv5Flb7wm7YokSZKkzTKw8+vGxezBU099O4cf/jL6+tZw8cXf5KmnnuDtb38P3d093HnnHSRJwgknvHKD5z3yyCIeeuhBdtxxJ3K5dWvqnHDCG9beLxSa+Pa3L+KBB/7BQw89wIMPPsDLXnbUmLyveni24NoD3D30IIqi+0IITcDDwElRFDlFeBMGy/H4C67AwI6vonTTl8ktXUh25SLirjlplyRJkiRNOD09U5g9exsAzj33M5x++ls466wP8o1vfJtyuUxrayvf+tYP1ntOV1cLhUIH11//540e9777FvLud/8TCxYczPz5e3HSSW/ixz/+YV3fS709W6rKAOUR20rAJwytz25cLc40wopXfQ+yedpu+XrapUiSJEkTXqFQ4MMfPpv777+PH/3oe8yZM5e+vj7iuMzs2dusDbif+9znWL16NbNnz+H+++8jjuO1x/j0pz/BhRf+D7/+9a/YY4/5fOITn+a1rz2RXXbZjUcfXUSSJGm9vRfs+aaq8bsc1RgqlmOax2lwjTtmMbDTa2i598cwjv+AS5IkSePFLrvsxrHHHse3v30x7e3t7LffAj75yY9z1113ct99CznvvP9gyZJnmD59OkceeTR9fWs4//z/x6JFD/Ob31zFb3/7a/bb7wC6u7t54IF/cNddd/LII4v4r//6EvfcczfF4mDab/F5e7apwgAnhxBWDXucA04MISwe3iiKootrWtkEMFCKKYzDqcJDSlO2p6XUB6U+KLSlXY4kSZI04b3jHe/hmmt+xwUXfJmPfexcvvKVL3Dmme8hk8mwzz77cc45Hwego6ODz33uK3zlK1/g8st/zsyZW/LhD3+cPfaYzw477MTChREf+MB7aGoqMH/+Xpx66tu5+uorU353z19mU8PFIYSHgOcy3JZEUbRdjWraqMWLVzX00F9PTxvLl69Z+3jBl//MyS+ezb8csm2KVT1/zff9gq6r38Wy115Kada+aZez2Ub2h9JjXzQW+6Ox2B+Nw75oLPZHY7E/GsdE7osZMzo3ei3RTY64RlE0r+bVTBJJklAsJzTnx891XEcanH0gAIWnbhmXwVWSJEnSxDB+57E2uMFyZXB4PE8VTlqnErdOJ7c0SrsUSZIkSZPY+E1VDW6wVFnda7wuzjSkNHVH8ksXpl2GJEmSpElsfKeqBjZYrgTX8TziClCeuhOFp24h//TtaZciSZIkaZIa36mqgQ0F1+ZxHlz7d349cctUen76SnKL70q7HEmSJEmT0PhOVQ1s2ZoiAIuW96VcyQtTmjmfFa/+PpkkpumRP6VdjiRJkqRJyOBaJ5nqYsI7z+xIt5AaKE3fneKWe9N83/+lXYokSZKkScjgWicDxcpU4c7mTV5xaHzIZCjN2J3cqkfTrkSSJEnSJGRwrZOhc1ybxvmqwkPKHVuTHVhBZrA37VIkSZIkTTITI1U1oGL1Oq5NuUzKldRG3LkNALll96VciSRJkqTJxuBaJwMT5HI4Qwa33h+AwuN/S7kSSZIkSZPNxEhVDag0waYKJ63TKLdvSUv0UzIDK9MuR5IkSdIkMjFSVQMaXDviOjGmCpPJ0nvYZ8ktu4+uX54KSZJ2RZIkSZImCYNrnQyd41rITpyPeHDeS+k95FM0PfFXmh7+fdrlSJIkSZokJk6qajDFiTbiWtW/8+spt82k/fpPQbEv7XIkSZIkTQIG1zpZO+I6QRZnWitXoPeQT5JftpDmB36VdjWSJEmSJoEJlqoaRymuBNd8dmKNuAIMzjmC0pQd6Pz9B8k9c3fa5UiSJEma4AyudVKcYJfDWU+hlZXHXEwmLpFffEfa1UiSJEma4CZgqmoMxTghA+Qm4IgrQLl9S5JMltzKRWmXIkmSJGmCM7jWSamcTLiFmdZTaKM080U0Lfpj2pVIkiRJmuAMrnVSiuOJOU14mMG5h1N4+laa7r/C67pKkiRJqpsxS1YhhGwI4X9CCDeEEK4JIeywkTZXhhDeOVZ11UuxnEzIhZmG69/xeAC6f/1OmhdemnI1kiRJkiaqsRwSPB5oiaLoAODDwBdHaXMeMHUMa6qbUhyTn+AjrnHPtiw/7hIAWm+7EJI45YokSZIkTUT5MXytg4CrAKIo+ksIYZ/hO0MIrwNi4MqNHaCjo5l8PlfXIl+IXC5LT08bAJlcjub8uscTVs/LKcVfo/CLdzNlyQ0kO7w87YrWGt4fSpd90Vjsj8ZifzQO+6Kx2B+Nxf5oHJO1L8YyuHYBK4Y9LocQ8lEUlUIIuwNvBF4HfHxjB+jtHahziS9MT08by5evAWB13yDZDGsfT2hbv4Lp+Tbyl7yBctdcVh32GYrbHJJ2Vev1h9JlXzQW+6Ox2B+Nw75oLPZHY7E/GsdE7osZMzo3um8s57KuBIZXko2iqFS9/xZga+D3wNuAM0MIrxjD2mquHCcUshN7qvBauSZWHfYZ+nZ7M0muie5fvJnOq99DbunCtCuTJEmSNAGM5YjrdcCrgB+HEPYH7hjaEUXRh4buhxDOAZ6MouiqMayt5orlhPxEvhzOCAPhBAbCCWT6l9N283/RcvcPKDx1K0vffF3apUmSJEka58ZySPBSoD+EcD3wJeADIYQzQwivHsMaxkwpnvirCo8maelh9YEfY80+Z5Bb+TDZVY+nXZIkSZKkcW7MRlyjKIqBkZe5uXeUdueMSUF1VixP/Ou4bsrgvJeS/O3zdP/yrax41feI27dIuyRJkiRJ49TkTVZ1VowTCpNoqvBI5Sk7sOKYi8mteJjOX7877XIkSZIkjWMG1zoplSfR4kwbUdzmEPp2O4XC07d6jVdJkiRJz9vkTlZ1VIrjSbU408aUe+aRKQ+QXf1U2qVIkiRJGqcMrnVSLE/OxZlGilunA5DtW5JyJZIkSZLGK4NrnZTiyb0405Byz/YAFB75c8qVSJIkSRqvTFZ14ohrRXnqTgzMPYL2v36Wlru+n3Y5kiRJksYhg2udVC6HY3Alk2HVkV+lOGtfOv78cSgX065IkiRJ0jhjcK2TUpw4VbgqaepkzV7vJlMeoOWeS9IuR5IkSdI4Y7Kqk1LsVOHhinMOI27upulRz3WVJEmStHkMrnVSLMfkJ/l1XNeTyVDunkfTg1dDkqRdjSRJkqRxxGRVJ6U48TquIxRnH0QmLkK5P+1SJEmSJI0jBtc6Kbmq8AaKW7wYgKZF16RbiCRJkqRxxeBaB+U4IQGD6wiD2xwCQOHJm1OuRJIkSdJ4YnCtg1JcOYczZ3BdX6GVgXlH0nLndyEup12NJEmSpHHC4FoHpTgGHHEdzeC8I8gWV5PtfSLtUiRJkiSNEwbXOiiVKyOuea/juoFy97YA5FY8mHIlkiRJksYLk1UdlKuXe8llHHEdqdxjcJUkSZK0eQyudTBYqkwVbs4bXEeK27ckLnTQ9Mif0i5FkiRJ0jhhcK2DwepU4YJThTeUydK31ztpfuCqyiJNkiRJkvQsTFZ1UCxXRlwNrqNbs/e/MDD3pXT86WzyT9yYdjmSJEmSGpzJqg6GLodTcFXh0WVzrDryq8St0+m+8p9pv/48cs/cnXZVkiRJkhqUwbUOStUR13zO4LoxSVMHK4/+BsWZe9B624VMveRIOq75MM33XQal/rTLkyRJktRA8mkXMBGtG3H1e4FNKW25Nytf+R0y/ctou/HLtN5+Ma13fY9y5zYMzjmUJNfEwPavpDRrX3CFZkmSJGnSMrjWQXHtdVwNW89F0jKF1Qd/gjX7nkH+6dto/+sXaH7gKjLF1bTdfjGDs/Zj5TEXkbT0pF2qJEmSpBQYXOugFFenCnuO62ZJWqZQnHMYy+ccVtlQ7KPlnh/Scd0n6b7izax8xdeJO7ZKtUZJkiRJY8+5rHWwbsTVj/cFKbTSv+dprDzyq+SXRHRffgrEpbSrkiRJkjTGTFZ14KrCtTW4/TGsOuw/yS9bSNtN56ddjiRJkqQxZnCtg6KrCtfc4OyDiFun037j/zO8SpIkSZOMwbUOhkZc864qXDNJ+0yWvPWvDGx/LG03fon8U7emXZIkSZKkMWKyqoO1U4Udca2tXDOrDvkUcfuWdP3qNDJ9S9OuSJIkSdIYMLjWQansqsL1krRNZ8UxF5HtW0LbTV9JuxxJkiRJY8DL4dRBqZJbyRlc66I8fVcGtz2SttsvIlNcTdyxFXHHVpQ7q7cdW0GhLe0yJUmSJNWIwbUOykllqnAuY3Ctl77d3kS293GaHv49uTVPb7A/bu4m0zGT7qapJG3TiFtnELdOI26bTtxa/emcTdzpdWElSZKkRmdwrYNy9RxXR1zrpzjnMJbPOazyoDxIdvWT5HofJ7vqcbK9j5Nb/STNpeWw4klyS++jsOZ6sgPLNzjO0jdcTXn6rmNbvCRJkqTNYnCtg3jtqsIG1zGRayLumkPcNWe9zfmeNlYsX7NuQ7lItn8JmTVLKCy+nc4//BuFJ/5mcJUkSZIanIsz1cHaqcIG18aSKxC3b0l5xm707/x6yh1b0X7jV8isWZx2ZZIkSZI2weBaByWnCje+bI5VR3yBbN9iCk/fnnY1kiRJkjbB4FoH5TghA2RdnKmhxa3TAciuehTicsrVSJIkSdoYz3Gtg3KckHW0teHFrdNJyND5p4/Scf15lKbvRnHGHvS9+F3EHa42LEmSJDUKg2sdlOLEhZnGgaR9Jkvf9CcKT95MfvEdFBbfQdsd34JCK6sPOCvt8iRJkiRVGVzroGxwHTfinm0Z6NmWgZ1fB0D35W+k5Z5L6NvzNOL2LVOuTpIkSRJ4jmtdOOI6fvUuOJtMsY+p31lAz8+Op/36T1F47Pq0y5IkSZImNYNrHZTjxBWFx6ny9F1Z/tqf0zf/NCCh9bYL6fm/15N/4sa0S5MkSZImLacK10Epjh1xHcdKM3anNGN3ADIDK5h+4W40PXY9pVn7plyZJEmSNDk54loHnuM6cSRNXZTbtiDvtV4lSZKk1Bhc66DkVOGJI5Ohf5c30Pzgr8mueDjtaiRJkqRJyeBaB5URVz/aiWJoxeHOP32U7MpHU65GkiRJmnxMV3XgiOvEUu7ZjlWH/SeFR69l6vcW0HXVOyqLNSVJ2qVJkiRJk4LBtQ68HM7E07/bKSw95Xr6XvQOCo9ey5Sfv4bO37w37bIkSZKkScHgWgeOuE5McedWrF7wUZa89Ub6dz6R5vsuJ9O3NO2yJEmSpAnP4FoHrio8wRXa6N/xeDIkTPvfF9Pzs+Npu/HLUOpLuzJJkiRpQjK41oEjrhNfcZtDWH7cJfS96J0Ql2j/2xdou/UbaZclSZIkTUj5tAuYiMpxQkve7wQmtEyG4uwDKc4+EICuK95C663foNy5DQM7HgfZXMoFSpIkSROH6aoOHHGdfFYvOJu4fUu6fvs+Ov/wr2mXI0mSJE0oBtc68BzXyac8dSeWnfQb+nY7heboZ1D0fFdJkiSpVpwqXAdlR1wnp0yW8pQdyCQxXb87gyTXTN/80ynN3DPtyiRJkqRxzeBaB6U4dsR1kirOfBGlKTuSe+YucqufIrdyEctfeylk/PMgSZIkPV8G1zpwxHXyKs3ah2Vv/AMALbd/i84/f4yWu75HadrOlQbZAqWpAQqtKVYpSZIkjS8G1zooxQn5nKcPT3b9u55My70/pvOPH1lve5LNU5q+O8VZ+zI496UUZy+AjH9eJEmSpI0xuNZBseziTALyLSx/zc8oPHkzkACQKa6m8NQt5J+4mdY7v0Pbbd+k1L0tg9sdRWnaLpSm7UJ5yg6Qa0q3dkmSJKmBGFzroFiOKRhcBVBoo7jNwettGtzu6MqdUj/N//glLXf9gNbbLiITF4HKiGy5ex5JUydJvpWk0Fa5zbdBoYUk37b+9uot+VaSQuuo+8nmgRT/TJaLlZ9NyeY9F1iSJEmjMrjWgVOF9ZzkWxgIJzAQToBykdzyB8gvuYf8knvJLf8HmdIaMsU+MqufIlNcQ6bUt+62PJB29ZttxrPsL03blWWvvxKyuTGpR5IkSeOHwbUOSl7HVZsrV6A8LVCeFnhOkTQukyn1wfAwO3Rb6iNT7IPSsO1xqd7vYJNaWgr09298xLXwxF9pWvRH8k/9ndKsfcewMkmSJI0HBtc6MLiq7rI5kqYOaOqonj3b2Jp62lizfM1G9+eWP8DU7x9CfulCg6skSZI24HzWGkuShLLBVdos5c7ZlLvm0n7dueSW/SPtciRJktRgDK41Voor419NeT9a6TnLNbHild8hW1xN52/eS27pwrQrkiRJUgMxXdVYsVwJro64SpunPGV7ehecTW75g0y55BU0/eOXaZckSZKkBmFwrbFiOQag4KrC0mbr2+udLH3zdZRm7E73Ve+g408fJbf0vrTLkiRJUspMVzVWjB1xlV6IpHUay4+/hL7d30LLnd9l6g8Pp+fHx9B624Vk1ixOuzxJkiSlwOBaY6W1I64GV+l5y7fSe+inWfLWm+g96BwgoePac5j+rb2Y/rW59FzyCrKrn0q5SEmSJI0VL4dTY0PnuDpVWHrhkvaZ9M0/nb75p5NbupCmB68mO7iS1tu/xdTvHcjAdkfTv/OJFLc+ELK5tMuVJElSnYxZcA0hZIGvAfOBAeD0KIruH7b/A8BJ1Ye/iqLoE2NVWy2VnCos1UV56k70Td0JgP6dXkvrnd+h+b7LaFl4KeWOWQzsdAL9O59Iecr2KVcqSZKkWhvLYcHjgZYoig4APgx8cWhHCGE74E3AAuAA4MgQwp5jWFvNDC3OlHfEVaqb8rSdK1OJ33YzK4/8b0rTdqH1lq8x9QeH0vPTV9N8z4+h1Jd2mZIkSaqRsZwqfBBwFUAURX8JIewzbN8jwCuiKCoDhBAKQP/IA3R0NJPPN+50wFwuS2t7MwA9XS309LSlXNHklstl7YMGUb++aIPpb4B930Bp1ZNk7/oJ+Vu/R9fvzyS5/lziPU8m3vs0mOoo7HD+bjQW+6Nx2BeNxf5oLPZH45isfTGWwbULWDHscTmEkI+iqBRFURF4JoSQAT4P3BJF0cKRB+jtHRijUp+fnp42li5fA8BA3yDLq/eVjp6eNvugQYxNX3TBzv8E4TQKj99Ayx3fofmmb5K98ev07fE2Vi84G3JNda5hfPB3o7HYH43Dvmgs9kdjsT8ax0TuixkzOje6byyD60pgeCXZKIpKQw9CCC3AxcAq4N1jWFdNDZ3jWsg6VVhKRSZDcesFFLdewOrVT9F+/Xm03X4x5e559O95WtrVSZIk6XkYy3R1HXAMQAhhf+COoR3VkdbLgNuiKHrH0JTh8ahUdnEmqVHE7Vuw6vDPU+6YRcd1n6T1lv+BeNz+9SJJkjRpjeWI66XAy0MI1wMZ4NQQwpnA/UAOOBRoDiEcXW3/kSiKbhjD+mpi7Yir13GVGkO+hWUnXknnNf9Ox/Xn0fTQb+k9+FzIt9Tl5eLW6STNXXU5tiRJ0mQ1ZsE1iqIYeOeIzfcOu1+f/0WOsbWrCjtVWGoYSdt0Vh59Ic3RT+n841lMveTIur1WXOhg9UEfp3+XkyHjF1iSJEm1MJYjrpNCsTrimnPEVWosmQwDO59IcdZLKDx5c51eJKHlnkvo/MOHaP7HL1l12OeJO7eq02tJkiRNHgbXGivFlRHXJq/jKjWkuHsuA91z63b8gZ1eQ8ud36Xj+k8x5UcvZfWBH6d/l5McfZUkSXoBTFc1VnRxJmlyy2Tp3+OtLD35t5Rm7E7nH/6N7itOIbvq8bQrkyRJGrcMrjXm4kySAOKuOaw47hJWHXIehcdvZMqPXkrrbRdSePQ68ovvJLvyETIDKyCJ0y5VkiSp4TlVuMZK1cWZvI6rpMro69sYnHM4nX/4VzquPWeDJgkZkuYukqYu4ubuyv3mbuLmLpKmbuLOrShN3ZnStJ1J2qaP+VuQJElqBAbXGls7VdgRV0lVcfdcVhx3CbmlEdn+ZWQGVpIZWEG2epsZWEF2cN227PIHyA+sIDuwgkypb91xWqdRmrYLpZl7UtxiL0pb7EXcvmWK70ySJGlsGFxrbGiqsOe4SlpPJkt52i6UN/dpaxaTXxKRX3ovuSX3kH/mHlpv/SZtcRGActtM4s7ZlDu3Ju7Yqnq7NXHn1pS755E0ddT+vUiSJI0xg2uNDV3HteCqwpJqIGmbQbFtBsVtDlq3sdRP/pm7KDx1C7ln7iHX+xj5xXeSe/BqMuWBdc/NNjE493D6wwkMbne0KxtLkqRxy+BaY8U4IZuBnCOukuol30Jpy70pbbn3+tuThEzfEnK9j5Fd9SiFJ26k+b5f0P3gr1l1yHn07/G2VMqVJEl6oRwWrLFSOXGasKR0ZDIkbdMpzZzP4PbHsvqgc1j61r8xOGs/Wm+7KO3qJEmSnjeDa42V4thpwpIaRzbHwI6vJr/iQfJP3Jh2NZIkSc+LCavGio64SmowAzseB0Dr7d8i//TtsPIxKA+mXJUkSdJz5zmuNVaKY/KOuEpqIElLD6v3OYP2m75My/2XAzADiJt7iNtmErdNJ26bQdw2g9LM+Qzs9Jp0C5YkSRrB4FpjxXJCwRFXSQ1mzX7/ysD2x5Bb+QjtrGBgyWNk1zxDds3TZPueIf/0beRXPATA0pnzKfdsl27BkiRJwxhca6wUJxRyBldJjac8fVfK03elraeNNcvXbLA/2/s4U374UrqufDsrjv0WcdecFKqUJEnakHNaa6xUjsln/VgljT9xx1asPPpCsqufZMqPj6bpwd+kXZIkSRJgcK25Yjkh74irpHGqOPtAlp34K8pdc+j+1am0X/8pF3KSJEmpM7jWWNHL4Uga5+LuuSx/7aX07fom2m75b6b85JXknrk77bIkSdIkZsKqscFyQpMjrpLGu3wLvYd/lhXHXEx2zWKm/OQYmh68Ou2qJEnSJGVwrbHBkiOukiaOwW2PZOkbf0+5ezs6/ngWhUevI7PmGUiStEuTJEmTiKsK11ixHNPZ7McqaeJIWqaw6uVfoeuKt9Jz2Rsq23LNlDu3Ju6cvfa2f8fjibvnplytJEmaiExYNTZYjr0cjqQJpzRjD5ad/DsKT9xIdtWj5FY9Rm7Vo2RXPUbzM/eQ7VtM6y3/w6qXfonB7V6RdrmSJGmCMbjWWLGc0ORUYUkTUNIyhcFtjxx1X3blI3T9+p10X3k6qw79DP27v3mMq5MkSROZCavGBksxhbwfq6TJJe7ahuWv/TmDs/aj7aavQFxKuyRJkjSBmLBqrBgnFLJOFZY0CeWa6Zv/T+RWP0nh8b+mXY0kSZpADK41VizHThWWNGkVtz6AJN9Cx7WfgFJ/2uVIkqQJwoRVY14OR9JklrRMYdUhnya/5G4Kj92QdjmSJGmCMGHVWLEc05R3qrCkyWtw2yMpt29Bx3Xnpl2KJEmaIAyuNVSOE8oJFLJ+rJImr6Slh749TyO/7D6yq59KuxxJkjQBmLBqqFiOAbyOq6RJr7jNoQBOF5YkSTVhcK2hwVIluDZ5ORxJk1y5ey5JJkduaZR2KZIkaQIwYdXQ0Ihr3qnCkia5pKmT4qx9aL3re7Te8nUorkm7JEmSNI6ZsGposBpcm5wqLEn0HvxJSlMDHdd/kva/fDbtciRJ0jhmcK0hpwpL0jrl6buy4jU/pThzPk2PXU9u8V2QJGmXJUmSxiETVg0NVINrs8FVktYqzj6Y/JJ7mPrjo5j6nZeQf+rWtEuSJEnjjAmrhoaCa1POj1WShqw+4MM887a/s+rwL5DrfYLuy0+m9Zavk1nzTNqlSZKkccKEVUP9xTLgiKskjZS0z6R/15NYcey3KfdsT8f1n6Tn8pMhidMuTZIkjQMmrBpyqrAkbdrgvJey/MQr6D3gLPJL7qHnp6+i6eHfG2AlSdIm5dMuYCIZcHEmSXpO+vZ6F3HHLNpv+DTdV7yFUs/2FLdeQGnmHpRm7EFpaoBcU9plSpKkBmFwraFBz3GVpOcmk2Fgp9cwsP2xNN//C1ru/QnN911G613fBSDJNlHc6iUMzj2CgW2PJO6el269kiQpVQbXGvIcV0naTLkmBsIJDIQTIInJrlxEfvGdFJ66haZF19Bx3bm0/+WzLD35d4ZXSZImMRNWDXmOqyS9AJkscfc8Bnd4JasP/BjLTv4dS0/6HcRFWu75cdrVSZKkFJmwamigVBlxdaqwJNVGeVpgcNujaLvlvyk8/pe0y5EkSSkxYdWQI66SVHurDv885e65dP3qdDKDvWmXI0mSUmDCqqGBYiW4FhxxlaSaSVp66D3kU2QHltO88P/SLkeSJKXAxer6GQAAF3tJREFUhFVDfcUyzfksuWwm7VIkaUIpbn0Ag1sfQPv1nyT/xE1plyNJksaYwbWG+qvBVZJUY5ksq474EuTbmPLz4+m+7CSaHvodJHHalUmSpDFgyqqhvmKZFoOrJNVF3DWbJadcS+8BHyW39D66f/lWpnz/UFpuvxgGV6ddniRJqiNTVg31Fcu0FHJplyFJE1dTO30vfhdL33IDK19+AUlLD51//jhTfvZqsr2PQ5KkXaEkSaqDfNoFTCT9xdipwpI0FnJNDOx0PAM7HU/r379Gxw2fZtq3X0LcOo3S9N0ozdiTgR2OpTR9d8i47oAkSeOdwbWG+otlWvKOuErSWOrb610Ut9qP/NO3k3/mTvKL76L11q/T9vcLKE0N9IfXMrDTa4g7tkq7VEmS9DwZXGuov1imueCIqySNqUyG0pZ7U9py73Wb+pfT/I8raIl+RscNn6H9hv+kOPtA+sPrGNjuaGhqT7FgSZK0uQyuNdRXjJna6kcqSWlLWnro3+0U+nc7heyKh2iJfk5L9DO6fncGyR8/wsB2RzOw0/EMbrU/FNrSLleSJD0LU1YN9RfLtHQ2p12GJGmYuHsea15yJmv2/QD5J2+i5d6fVkZjF/6cJJunNPNFDM4+kP7dTiHumJV2uZIkaRQG1xrqc6qwJDWuTIbSrH3pnbUvvQd/gsLjf6HpsRsoPHYDbTdfQNst/8PAtkdSnrYzpZ7tKU/ZgXLPtpDzC0lJktJmcK2hNYNl2r0cjiQ1vnwLxTmHUZxzGADZlYtou/kCmhb9kZb7f7G2WZLJMrjNoax81XdTKlSSJIHBtabWDJZobTK4StJ4E3fNoffwz1UeFNeQX/4AuWX303bT+TQv+gNTv3MAxS32ojRzPqUZu1OaGkjapqdbtCRJk4jBtUaK5ZhiOaHNEVdJGt8KbZVwOmN3BuccRsvdP6Dw9K0UnryZlvsvX9ssbplKaepOlKcGyj3bUe6eS7lrDuXObaDQmuIbkCRp4jG41khfsQzgiKskTSBJSw99L343fdXHmTWLyT9zN/mlC8ktjcgvu4/mhT8nO7hqveeV22YSd82pBNnqT9xdvW3fEjKuhyBJ0uYwuNbImsFKcG1zcSZJmrCSthkU5xxKcc6hwzYmZPqWkFv5MLmVi8itfIRs9X7h8b/SvPBSMiTrmmebiNumAxkAstkMU+Nk/dfJNZG0TiVumUbcOoWkdVr1/lSSlqnErZX7cfsWLh4lSZoUDK410leMAWh1qrAkTS6ZDEnbdEpt0yltufeG+8uDZFc9Vg21i8itfJhs39K1u5uachSrX36uVeon27+U3KpHyS++jWzfUjJxcYNDJ9k8pWm7UtriRRRnzifunkfc3EXS1E3S3EVSaIdMptbvWJKkMWdwrZE11anCbU4VliQNl2si7tmWuGdbNoye0NPTxqrlazZ9jCQhU+wl07eEbN9Ssv1LyfQtIb/8QfJP30rzwktpvfM7Gz4tkyNp6iRp7q4G2i6S5q7K/eaeyv22GcTtW1LumEXcPoukuduwK0lqOAbXGumrflvuiKskqeYymUoAbeok7p63dvPA0J0kJrf8AbK9T5AZWEF2cCWZgcpPdnDFsPsryS5/gPzACrIDK8iU+jZ4qSTfSrl9S+KOWZS7t6W41X4Ut96fuGOrMXmrkiSNxuBaI6sHS4AjrpKkFGSylKfsQHnKDpv3vPIg2TWLyfY+Qa73CbKrnyDb+wTZ1U+S632C5vt/Qevd36807ZrL4Fb7U9x6f4pb7VdZZCrXVIc3I0nShgyuNXLnE5UVJbM4vUqSNE7kmog7tybu3JrSaPvjMvkl91B4/C8UHruB5gd/Teu9l6zdnWTzJIV2knwrSaGNJN9WOa+2sP7jpNBavb/hY/ItJNkmklwz5JpIck3V22bIFSqPs01OX5akSc7gWiNT2yvfOs/s9NtnSdIEkc2tvaZt3/zTK1OSl0YUnri5cp5tcQ2U1pApVn+G7vcvI7vq8erj1ZVt5YFnf71NqITbpmHhtrmy+vLIbdnCJtpUw3G2CbJ5kmwOsnnI5CCTI9PRRnN/GTK5yr5MvtIuk620y+aq+6rPWW9f9X6m0m5dmxxJJg/Z7NrjGcIlafMZXGtk2ZpBWgpZeloLaZciSVJ9ZLKUp+1Cedoum//cuEym1EemuBqKa9bez5QGKqE2HiRTHoTyYOVxufK4sm2gchsX13u8rn1122Dv2u2VYxY3PCbJJsvsep4fzeaoBNzhoXZYIK7eXz8gD93PVgPysHajhOS4dRrFbQ6muPUBJE2dY/COJKn+DK41cuyuW3DgTjPJ+C2qJEkbyuZImjpImjrSqyFJIC5VAmxSgrgMSZlMXLnf1dnEqhW9lTZJmUxcXnufuDziOeX124083trnlEc93obPGbZv6Dkjnr/B8cqDEJfIrD1eZV+u93Ha7vhW9XJJu1DunkfcNZdyd/Wnax5xx5aVICxJ44TBtUbmTm1jfk8by5/tkgaSJCkdmQzkCpVzZ4dtXnu/p41yZgL8O14eoPDkzTQt+iP5xXdSePp2sg9cWQnUVUmumXLXnGqQrQTaSridR7lrNuSaU3wDkrQhg6skSdJEkmumuPUCilsvWLctLpFd9Ri5lQ+TW/EwuRUPrb3f9Oj1ZErrAntChrhjq2EjtJVAG1fvJ81jMaFaktZncJUkSZrosnni7rnE3XMpbjNiX5KQ6XumEmhXPlQNtg+TW/kwzQ/+hmzfM+s1j1umrB2lTQrtaxe+WrcydPU2P8q2oXb55nULbq1t11xdRbrgAlaSNjBmwTWEkAW+Bsyncs3006Moun/Y/rcD7wBKwHlRFF0xVrVJkiRNWpkMSdsMSm0zKM3aZ8Pdg71kVy6qjNJWA21uxcPkn76NTLGPTLm6wFZ5gEwSv+ByEjKVawTnm5mWra4MnW8eFmgzlQWuyFQerz1Xt3q/2oZMtnKsDNU2mVHaZKpt1n/e0Ocy9Lz12ww73gZtMiOOM/Q8NqybEccb7b0x4njV5yWbqGPdcUZ/v8Nff/02DKtp2PuqvqdMewtNawZHaVP5rEZ9b+t9zhupY9jzkpGfyahtRmwb8Rmv6/cNP5MN/2yM/HyrC6f5xUlDGssR1+OBliiKDggh7A98ETgOIISwJfA+YB+gBbg2hPCbKIpe2Nr5kiRJekGSpg7K03elPH3XZ288tPjV2jA7SKY0tEp0//qrRA/fVhpYtxp09bnN+ZjBNWuGrTI9UFlgC6q3cfU2qQbmpHLC8tr7w9okMZlq26HHlftxJe8M25ZZ79gjjrdem2Tt66/fZmRNw/YPHW/UNtVjDR0vSZ51Feyx1p12AWNkvUtbVVfsHn3l79yG7aqrfCfDV/7ODF/5+7m1W7tvg3Z5sm2ttAyUGbn6+EZrGrp8V7ZAaeb8yrZxaCyD60HAVQBRFP0lhDD8K72XANdVg+pACOF+YE/gxjGsT5IkSS/E0DVtC20vOHIVetroddHL9cPxBkGZavgerc36QX39Now4zrCgPFrAJ6Gzo5lVK/uqbTYdyjOMqGOUgL9udH5j723YFwTrtVm//sxonwnrH2/DLxpGvHeo1JPEjLaC97rHldXA163ivf5q4xuu/F1kaNXwtauNb2zF8aHtw9oNX1BtpOd7oatVh5xH/x5ve57PTtdYBtcuYMWwx+UQQj6KotIo+1Yxypc6HR3N5PON+w1BLpelp6ct7TJUZX80DvuisdgfjcX+aBz2RWOxPxpLLpelc4sXPhV8shr5Rc5z/mIniddeHmvoNpdNKBcHhwXmYfur7YdflmvtPhJa5iygJddU2zc3RsYyuK5k/S8HstXQOtq+TmD5yAP09jb2zOEeL4fTUOyPxmFfNBb7o7HYH43Dvmgs9kdjsT8aQQ7IVfqib1hfZNbuenarSlSWFGpMM2ZsfCx5LK88fR1wDED1HNc7hu37G3BwCKElhNAN7ALcOYa1SZIkSZIa1FiOuF4KvDyEcD2V7wVODSGcCdwfRdHlIYTzgT9TCdMfjaKofwxrkyRJkiQ1qDELrlEUxcA7R2y+d9j+bwLfHKt6JEmSJEnjw1hOFZYkSZIkabMZXCVJkiRJDc3gKkmSJElqaAZXSZIkSVJDM7hKkiRJkhqawVWSJEmS1NAMrpIkSZKkhmZwlSRJkiQ1NIOrJEmSJKmhGVwlSZIkSQ3N4CpJkiRJamgGV0mSJElSQzO4SpIkSZIamsFVkiRJktTQMkmSpF2DJEmSJEkb5YirJEmSJKmhGVwlSZIkSQ3N4CpJkiRJamgGV0mSJElSQ8unXcBEEELIAl8D5gMDwOlRFN2fblWTRwihAFwMzAOagfOAu4H/BRLgTuA9URTFKZU4KYUQZgI3Ay8HStgfqQkhfAR4NdBE5e+qP2J/jLnq31XfpvJ3VRl4O/5upCKEsB/w2SiKDgsh7MAofRBC+A/gWCp9dEYURX9LreAJbkR/vAj4Lyq/IwPAW6IoeiqE8HbgHVT647woiq5Ir+KJa3hfDNv2RuBfoig6oPrYvhgjI343ZgLfBKYAOSq/G/+YTP3hiGttHA+0VH+hPwx8MeV6JptTgCVRFB0MHA1cAPw/4OzqtgxwXIr1TTrV/6B/HeirbrI/UhJCOAxYABwIHApsg/2RlmOAfBRFC4BzgU9hX4y5EMKHgAuBluqmDfoghPBiKr8v+wEnAV9No9bJYJT++AqVkHQY8HPg30MIWwLvo/L32FHAZ0IIzSmUO6GN0hdUv0j4Jyq/G9gXY2eU/vgc8P0oig4BzgZ2nmz9YXCtjYOAqwCiKPoLsE+65Uw6PwE+NuxxCdibyqgSwJXAy8a6qEnuC8D/AI9XH9sf6TkKuAO4FPgFcAX2R1oWAvnqLJ0uoIh9kYZ/AK8d9ni0PjgIuDqKoiSKokVU+m3G2JY5aYzsj5OiKLq1ej8P9AMvAa6LomggiqIVwP3AnmNb5qSwXl+EEKYB/wmcMayNfTF2Rv5uHAjMDiH8FngTcA2TrD8MrrXRBawY9rgcQnAa9hiJoqg3iqJVIYRO4KdUvoXKRFE0dJHiVUB3agVOMiGEtwGLoyj69bDN9kd6plP5Mu1E4J3A94Gs/ZGKXirThO+lMt3rfPzdGHNRFP2MypcGQ0brg5H/rts3dTKyP6IoegIghLAAeC/wJeyPMTG8L0IIOeAi4ANUPu8h9sUYGeXvqnnAsiiKXgYsAv6dSdYfBtfaWAl0DnucjaKolFYxk1EIYRvgD8B3oyj6ATD8HLFOYHkqhU1OpwEvDyFcA7wI+A4wc9h++2NsLQF+HUXRYBRFEZXRi+H/qNkfY+cDVPpiJyprInybynnHQ+yLdIz278XIf9ftmzEUQngDlVk7x0ZRtBj7Iw17AzsC/w38CNg1hPBl7Is0LQEur97/BZUvpSdVfxhca+M6KucuEULYn8q0PI2REMIWwNXAv0dRdHF18y3Vc/ugct7rn9OobTKKouiQKIoOrZ6fdCvwFuBK+yM11wKvCCFkQghbAe3A7+yPVCxj3TfjS4EC/l3VCEbrg+uAo0II2RDCHCpfSD+TVoGTSQjhFCojrYdFUfRAdfPfgINDCC0hhG5gFyoLaalOoij6WxRFu1X/LT8JuDuKojOwL9J0LdW8ARwC3MUk6w+ns9bGpVRGmK6ncvL6qSnXM9mcRWWFtY+FEIbOdX0/cH4IoQm4h8oUYqXng8A37Y+xF0XRFSGEQ6j845YF3gM8iP2Rhi8BF4cQ/kxlpPUs4Cbsi7Rt8PdTFEXlaj/dwLrfG9VZdXrq+VSmQf48hADwxyiK/iOEcD6VLxWywEejKOpPr9LJK4qiJ+2L1HwQuDCE8C4qX4K+MYqiZZOpPzJJkjx7K0mSJEmSUuJUYUmSJElSQzO4SpIkSZIamsFVkiRJktTQDK6SJEmSpIZmcJUkSZIkNTQvhyNJmhBCCP8LvHUTTU4F5gEvi6LooDGo523AeVEUzX6ez3+o+vwLR9m3A3AfsG0URQ9t5PnTgd8B+wH7A38AFkVRNHeUtj8C3gC8PIqi31a3HQGcA+wNlIGbgU9GUfT76v55VC6ttDFTgD7gL8BRURQ9/SxvWZKkjXLEVZI0UbwfmFX9eX1126xhP5ekVFda/hP42ohr+s0KIcwf3qh6/dKjRmx7EXAF8BPgRVSC71+Aq0II+4x4nQNY/3Me+lkRRdEA8F/A52r1piRJk5MjrpKkCSGKohVULspOCGFZdduTw9uEEFKobOyFELYBXge8d8SuPwGvBm4btu0I4B4qAXTIm4HfR1H0X8O2fSSEcCBwOnDTsO3PjPycR/ge8IUQwtwoih7evHciSVKFwVWSNNkUQgjnU5lWPAB8PoqizwOEEK4B7gReAbQC84EW4ALg5cAS4AfAx6MoGgwhFIDzgROADuA64L1RFEVDLxZC+BjwPqAAXAT8axRFSXXf24APAdsCdwMfjKLompEFV1/nS8ApwCrgs8/yHv8Z+O2I0VaAy6iE0k8O23Y8cCnrB9cE2COEsOWIUHoyUHqW115P9XP6DfAO4KzNea4kSUOcKixJmmxeUr19MfBp4HMhhD2G7T8VeBtwHJWgeimwjMq5nm8CXgl8ptr2vcCRwLHAnlRC5f8OO9bWwO7AQVSC2weqbYdC61epTOmdD1wN/CqEMGeUmj9Rfd1XU5kG/S/P8h6PBn4zyvbLgb1DCLOqNWSAVwH/N6LdRcBU4KEQwi9DCGeGEHaJouixKIqeepbXHs1vqjVJkvS8GFwlSZPNk8AZURT9I4qiLwPLqYTOIVdGUXRtFEU3UZlGux1wehRF90ZR9GfgPcB7Qwh5Kos99QEPRVF0P/Au4N+GHasEvD2quITKFN2hc0zfB1wQRdF3oihaGEXRR6r71wul1XB5OnBOFEV/iqLoBuCDG3tzIYQclfNS7xll92PA36mEYKiE+GVRFN03vFEURfcA+wA/onJ+6xeBu0MIV1UXfRruthBC74ifH45oczewZ/V8WkmSNptThSVJk81DURTFwx6voDIdeO3+Yfd3AXqAFcPOj80ATcBcKlOIXwM8HkK4lspU3G8Ne/4zURSt3Mhr7QKcN6K2G6rbh5sOzGD981JvYuOmATngmY3sv4zKyO03WTdNeAPV6c5vqwbhfYETgXdXn/eaYU1fBSwa8fTeEY+XUPmyfDrw+CZqlyRpVAZXSdJkUx5lW2bY/eHnheapXHbmlWzoker5mztRmQZ7LPBR4J9DCHs/h9fqG2VfrvozmuE1FjfSBirnp8LGZ1VdBpwVQmijMh36lJENQghfAH4URdFNURSVqawo/JcQwoNUpjYPt6g62rwpQ+9ptM9DkqRn5VRhSZI2LgK2AZZEUXR/NaBtSeUc12wI4S3A8VEUXRpF0enAXlRGTPfc6BHXuZfKNVaH27/6msM9AzxFZdRzyF6bOO4zVKYoj5zSW3lDUXQH8ATwTqA9iqK/j9LsSCrTk0daDizexGtvzDQgZuOjwJIkbZIjrpIkbdzVwAPA90MIHwHagAuB26Io6g8hdANnhxCWAguprNjbW70/csrvSF8Evh1CuIvKiOapVM5NPW14oyiKkhDCV4FzQggPUAmPX9zYQavtb6USnq/ZSLPLgXOAizey/1zgkhDCGuA7wGoq57x+lg2nN08PIYycGgyVc2cHqvfnA7dUR28lSdpsjrhKkrQR1aD1aipTXK8HfgH8mXWjkV+lck7rt6iMoB4HvDKKomXP4dg/Az5MJSTeDhwOvDyKortGaf4pKqsV/wi4AvjGsxz+SuDgTey/DOhkw9WEh2r7KZX3/WIq4fcO4N+Bs6Mo+u8RzW+gMoI78uflw9ocBPzyWWqWJGmjMkmSPHsrSZI0boQQ5lEJw1tHUbQq5Vo6gEeB+VEUPZxmLZKk8csRV0mSJpgoih6islrwW1IuBSrTpy83tEqSXgiDqyRJE9OHgHeGEFqetWWdhBCaqVxC50Np1SBJmhicKixJkiRJamiOuEqSJEmSGprBVZIkSZLU0AyukiRJkqSGZnCVJEmSJDU0g6skSZIkqaH9f8QLTe8jLFurAAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 1152x576 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def plot_precisionrecall_over_thresholds():\n", " fig, ax = plt.subplots(figsize=(16,8))\n", " ax.plot(th, precision[1:], label='Precision')\n", " ax.plot(th, recall[1:], label='Recall')\n", " ax.set_title('Precision vs Recall over different threshold values', fontsize=14)\n", " ax.set_ylabel('Rate', fontsize=14)\n", " ax.set_xlabel('Threshold (MSE)', fontsize=14)\n", " ax.legend(fontsize=14)\n", " plt.show()\n", "\n", "plot_precisionrecall_over_thresholds()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "用不同的門檻值觀察 Precision-Recall 曲線,可以很清楚看到,錯誤率取越高預測異常交易的 Precision 就越精準;但相對的實際異常交易 Recall 率就越低。 通常從兩條曲線的交點,我們可以取得一個 Precision-Recall 均衡的取捨點。 但還是要看實際應用情境:\n", "- 若 *FP* 成本比較高,例如異常事件的假警報需要動用許多人力查驗來排除,那這裡的 MSE 錯誤率的門檻值就稍微取高一點,讓 Precision 較高。\n", "- 若 *FN* 成本比較高,例如一個異常事件的損失就比動用人力查驗1000個假警報來得大,那 MSE 錯誤率門檻值就稍微取低一點,讓 Recall 較高。" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Precision-Recall 曲線交點 #28023, 差率 0.0\n", "MSE Threshold 取 2.713246365707054 時,Precision=0.806910569105691,Recall=0.806910569105691\n" ] } ], "source": [ "# 取 (Precision - Recall) 絕對誤差最小的地方\n", "pr_absdiff = np.absolute(precision - recall)\n", "index_min = np.argmin(pr_absdiff)\n", "print('Precision-Recall 曲線交點 #{}, 差率 {}'.format(index_min, np.amin(pr_absdiff)))\n", "\n", "# 均衡取捨的門檻值\n", "threshold = th[index_min - 1]\n", "print('MSE Threshold 取 {} 時,Precision={},Recall={}'.format(threshold, precision[index_min], recall[index_min]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "雖然不平衡的資料類別不適合用 confusion matrix 來評估,不過還是可以用來觀察一下預測結果還哪裡可以有改進的空間。" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Precision = 0.806910569105691\n", "Recall = 0.806910569105691\n", "F1 score = 0.806910569105691\n", "F100 score = 0.806910569105691\n", "F0.01 score = 0.806910569105691\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 576x432 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.metrics import confusion_matrix, precision_score, recall_score, fbeta_score\n", "\n", "# 工具函式: 畫出分類的混淆矩陣\n", "def plot_confusion_matrix(y, y_pred):\n", " n_classes = np.unique(y)\n", " class_labels = ['Class'+str(int(n)) for n in reversed(n_classes)]\n", " confusion_table = pd.DataFrame(np.fliplr(np.rot90(confusion_matrix(y, y_pred))),\n", " index=class_labels,\n", " columns=class_labels) \n", " plt.figure(figsize=(8, 6))\n", " ax = sns.heatmap(confusion_table, annot=True, fmt='d', cmap='RdYlBu', alpha=0.9, vmin=0) \n", " ax.set_title('True label', fontsize=14)\n", " ax.set_ylabel('Predicted label', fontsize=14)\n", "\n", "Y_predict = [1 if e > threshold else 0 for e in mse]\n", "plot_confusion_matrix(Y_test, Y_predict)\n", "\n", "# show scores\n", "print('Precision =', precision_score(Y_test, Y_predict))\n", "print('Recall =', recall_score(Y_test, Y_predict))\n", "print('F1 score =', fbeta_score(Y_test, Y_predict, beta=1))\n", "print('F100 score =', fbeta_score(Y_test, Y_predict, beta=100))\n", "print('F0.01 score =', fbeta_score(Y_test, Y_predict, beta=0.01))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "看起來沒被抓出來的異常交易有點高,如果按照一個異常交易的損失差不多是查驗100個假警報的成本,我們降低 MSE 門檻值,讓 Recall 大一點看看。" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MSE Threshold 取 0.23312392874465185 時,Precision=0.07179150958859204,Recall=0.8902439024390244\n" ] } ], "source": [ "# 偏好 Recall 的門檻值\n", "index_prefer_recall = index_min - 5600\n", "threshold_prefer_recall = th[index_prefer_recall - 1]\n", "print('MSE Threshold 取 {} 時,Precision={},Recall={}'.format(\n", " threshold_prefer_recall, precision[index_prefer_recall], recall[index_prefer_recall]))" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Precision = 0.07179150958859204\n", "Recall = 0.8902439024390244\n", "F1 score = 0.13286819353860155\n", "F100 score = 0.889230245177677\n", "F0.01 score = 0.0717981097415179\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdcAAAFyCAYAAACnVZCcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XmYY1W5qPE3qaoegB4YGkFAJvEDFRAVUGmaGURE1KsIiigog4KKegUVUPQi00E8B/GAooiogFccOKAok0DLLAKKwpLRiaYbGnoeakjuHzvdFHWrihTZGTp5f8+zn05WVrK/rUW+rGGvVSiXy0iSpPwUmx2AJEntxuQqSVLOTK6SJOXM5CpJUs5MrpIk5czkKklSzrqbHYBUbxFxMfChUaocllK6uM4xnALsmVKaXkXdi4HulNIhL+E8mwCPA1uklB4Z6/sl5cOWqzrBp4D1K8eBlbL1Bx0/aVJcktqULVe1vZTSfGA+QEQ8Vyl7qqlBSWprJleJld22rwcmAa8DDgYuAE5NKX23UmdX4HdAT0qpPyI2BM4D9gLmApcCX0op9VZxvsOA44HNgQXAT4FPpJT6K1UmRcTPgbcBjwCHp5Tuqrx3PHAm8AGy3qcbKu+dXeP/DJJyYrew9Lz9gZ8BuwC3jlYxIgrAL4DngDeQJbq3A6e/2EkiYjrw38CJwBbA0cBhwLsHVXsH8BeyRP9b4PqIWLPy2mnAmyvn24Xsv+OrKzFJagG2XKXnzU0pnbfiSUSMVnd3YDPgTSmlAeChiDgGuDYiThjUAh3OUuAjKaWfV57/PSI+C7xmUJ0/ppROrsTxOeCdwAci4iLg2Mp57628/kGylvN04J/VX66kejG5Ss97Ygx1twKmAvMHJeECMA7YGHh0pDemlO6JiKUR8RWyhLo1WQv2hkHV7h5UvxQR91XOuVnlHDOHJP8JwKswuUotweQqPW/ZkOdDt4zqHvL4YbKu2aFGTXARsQ9wJXAJ8BvgK2TdxIOVhjwvAr2DYtiFyiStQZ4G1kRS0znmKo2sF5g86Plmgx4nYCOyruRHKveUrkc25vpi/10dAfwgpXRkZbLUg2QTmwaPmW694kFEdJNNtnqQrEU8AKwz6LxPA+eQtZgltQBbrtLI7gaOjohrgbWBzwx67VrgMeDHEfEFYDXgu8D9KaWhLeCh5gJvjohtyBLlF8jutx0/qM5bIuJkslnEnyTrCv5xSmlxRFwInBcRRwFPAmcA25C1pF9WywVLyoctV2lkJ5Elr3uAb1aeA1CZxPQOsuR4G3AVMBP4aBWfewowC7gduJ6shfwtYLtBdS4G3gLcB+wA7JdSWlx57TNkM4h/QvYDYCKwd0pp6dgvUVI9FMrlocNKkiSpFrZcJUnKmclVkqScmVwlScqZyVWSpJyZXCVJylnL3ud69cY7OY1Zq7wZh69Dz7S1mx2GVLOJH7+oLhtD7Lnv92v6rr/+msNacsOKlk2ukqT299y8F1tzZdVkcpUkNU2h2JINz5qZXCVJTWNylSQpZ2uutVqzQ6gLk6skqWmem9+eS2KbXCVJTWO3sCRJOTO5SpKUs7XWmtjsEOrC5CpJaprn5i9vdgh1YXKVJDWP3cKSJOWr0GVylSQpV05okiQpZ2uu6YQmSZJyNW+BC/dLkpQru4UlScpbV7HZEdSFyVWS1DS2XCVJytmaUyc0O4S6MLlKkppm3kJXaJIkKVd2C0uSlDNXaJIkKWdTJ7uIhCRJuZq3yDFXSZJy5ZirJEk5c8xVkqSc2XKVJClnUye7iIQkSbmat7i32SHUhclVktQ0dgtLkpQzJzRJkpQzW66SJOVs6qTxzQ6hLkyukqSmmb/ECU2SJOWqUCw2O4S6MLlKkpqm6JirJEn5WnONcbl+XkT0ABcBmwDjgVOBvwIXA2XgAeCYlFIpIr4M7Af0A8ellO6KiFdWW3e0OEyukqSmmb+kL++PPASYm1L6YESsDdwL3AeclFK6KSIuAA6IiL8DuwA7AhsBPwO2B84ZQ90RmVwlSU1Th/tcfwpcMeh5P/AG4ObK82uAvYEEXJtSKgP/iIjuiJg2lroppadHCsLkKklqmrzHXFNKiwAiYhJZkj0JOLuSGAEWAlOAycDcQW9dUV4YQ90Rk2t7TtOSJK0SisVCTcdwImIj4HfAD1NKlwKlQS9PAuYBCyqPh5aPpe6IbLlKkppm6uq5T2h6GXAtcGxK6YZK8b0RsWtK6SZgX7LE+whwVkScDWwIFFNKz0RE1XVHi8PkKklqmgVLc5/Q9EVgTeDkiDi5UvYp4NyIGAc8CFyRUhqIiJnA7WS9uMdU6n4WuLDKuiMqlMvlF6vTFFdvvFNrBiaNwYzD16Fn2trNDkOq2cSPX1SXG1Lfe/qNNX3X//QLu7fkjbK2XCVJTVN0VxxJkvI1ZbV8x1xbhclVktQ0C5flPubaEkyukqSmcT9XSZJy5sL9kiTlzOQqSVLOpqzW0+wQ6sLkKklqmoXL+5sdQl2YXCVJTWO3sCRJOSsW23P/GJOrJKlpCgVbrpIk5WryRCc0SZKUq0W9TmiSJClXTmiSJClnJldJknI2aWJ7pqH2vCpJ0iph8fKBZodQFyZXSVLT2C0sSVLOCi4iIUlSvopdtlwlScrVpAntmYba86okSauExb1OaJIkKVdOaJIkKWcmV0mSclZ0VxxJkvK1xvj2TEPteVWSpFXCkj4nNEmSlKsux1wlScqXE5okScrZ6uO6mh1CXZhcJUlNs7Sv1OwQ6sLkKklqGruFJUnKmclVq6xxa09l56sv4o5DjqNQLLLN6cdDocCCBx/hgS99A0olNjvyYF7+jj2hVOaRb13CU7+9pdlhS4x/75cp9y4FoLzgGfrvuZqeXQ6Fri4Y6Kf32gtg+WK6Yie6X7sbFIoMPH4v/fdcBRMnM26vI6HYTXnJfPpu/B709zb5ijRUm+44Z3Jtd4XuLrY57XgGli0HYMvPHcVDZ32bZ++6n23PPpH19prOM7f/kU0//B5u3OV9dE+cyM7XXGxyVfN1ZV9PvVeetbJo3Ds+R9+dP6M8+zGKm72B4tT1KC9dQPdrd2P5L8+EgX66d3gnFLvoef1+DKTbGEi30b39AXS9ehcG/nRds65GI1i9xwlNWgW9+sRj+fuPf8krP/5BAP5w9IlQKlHo6Wb8tLVY/syzDCxZypJ/z6Z74kS6VpsA5facYKBVS2HtV0D3eMbt/xkodNF/588pTJxE1yavo/im91Ca8zj9d1xB11YzKM15gp49PkphtSn033M1lAbou/UyoAAUKKyxFuV5TzX7kjSMZf3t+X3Tpg1yAWz4nrex/Nl5PH3LXc8XlkpM3OBl7Hrdjxi31lQWPfoPAJbNms0uN/yInX/1fR7//hVNilgapH85/ff9ht6rzqHv5kvo2etIimtvSOmff6X3yrMoTFiDrtiJwsRJFF/+Kvp+9316f/stenb+AIybmH1Gscj4g/4PxZdvSWnWI829Hg2rWCzUdLSqhrRcI2LcSK+llBwEqZONDtwPymWm7fRGJr96C7Y752Tu/ugJLP33bH6360FsdND+vPrkT/LUNTcxft11uHH6ewHY8ZJzeO4Pf2Le/Q82+QrUycrzZjMwf072eP5sWLYIJk+j9ORDAAw8cT9dG72a0tx/Ufr3Q9C3DPqWUX7uSQpT16M853EoDbD88pMobvhqevb4KL1XntnMS9IwWjlB1qJR3cIPAOsCz5L105QH/btZg2LoOLcfeMzKx2++/Jv86cT/YOvTT+DBU7/J4if+Rf+iJVAq0Td/IaVlyyktz37n9C1YRPfkSc0KWwKga6vpFNfekL5bfgSrTYWeCZTmPEFx/S0ozXqYrpe/itKzT1Ka9TDdr909G6MtFCms+XLK8+fQM+MQBh75A6UnH6Lcuwxoz+7HVZ274tRmJ+C3wB4ppecadE4N49Hzf8i2Xz+RUl8/A0uX8acTzmD5nLnMu/+N7PTL70C5zLN3/4lnZt714h8m1dHAgzMp7v4Rxr3rC1Au0/e7iyj39dIz4xAKhSKlhc8wcPtPoTRA/4MzGf+uL0KhkM0UXr6Y/j9dn80sZv/s/bf8qNmXpGFMbNMJTYVyudyQE0XE3sBASumGaupfvfFOjQlMqqMZh69Dz7S1mx2GVLOJH7+oLk3M8257vKbv+mPfsmlLNn0bNls4pXRto84lSVo1OOaag4h4DTCZbPDjNOC0aluykqT245Zz+bgA+BTwFeBE4CzA5CpJHWpid3veEdro5NoH/AUYl1K6IyJcxEKSOtiygfacXtPo5FYGLgV+HREHAosbfH5JUgtxzDUf7wN2AK4Bdqk8lyR1qHZNro3u7O4BngC2AD4IvKLB55cktRCXP8zHJWSzhI8BrgC+AezW4BgkSS1iYld7Tmhq9FV1A7cAU1NKlwPtuTSHJKkqy0vlmo5W1eiW6zjgHOCWiNitCeeXJLWQenXtRsSOwJkppV0jYl3gQmBNskbdoSmlRyPiCOAooB84NaV0dUSsQzbxdiLwJHBYSmnJcHVHva66XNXIPgwk4ExgGnBIg88vSWohXcVCTcdwIuJ44LvAhErRWcCPU0ozgJOALSNiPeCTZGvf7wOcHhHjgS8Bl6aUdgbuBY4ape6IGp1cHycLdkdgduVfSVKHKhYKNR0jeBR496DnOwEbRsT1wAeAm8juXLk1pbQ8pTQfeATYBpgO/KbyvmuAPUepO6JGd8v+nKxreAOypvmTwGUNjkGS1CImdOXfLZxS+llEbDKoaBPguZTSnhHxJeAE4G/A/EF1FgJTyJbonT9K2eDyETW65TolpfRW4E7gDTzfZJckdaDecm1HleYC/1N5fBXwRmABMHjj6knAvCHlw5UNLh9Ro5NrX+Xf1VNKS8lasZKkDlUs1nZU6ffA2yqPZ5Atw3sXsHNETIiIKcBWwAPArYPq7gvMHKXuyNdV/f8EufhFpUl+f0TcQda0liR1qDqNuQ71WeDQiLgNeCvZjmxPAeeSJc8bgRNTSsuAU4GDIuJW4M3AeaPUHVHDNksfKiK2Bh4eKUA3S1c7cLN0tYt6bZb+68eerum7/m2bTWvJZZoaMqEpIi4jW7R/OO9vRAySpNbT16bNqEbNFv42EMBjQC9Zn/fTwEMNOr8kqQWNoWt3ldKoMdddgb3I7hO6GfghsDdZkpUkdagGjbk2XKOS677Ae1NKSwBSSk+QbTe3f4POL0lqQcVCbUeralS38OKU0gt61lNKfRHhbGFJ6mDjWzlD1qBRLdclEbHZ4ILK8zYdypYkVaO/XNvRqhrVcj0B+GVE3EA2qekVZIsff6hB55cktaA2bbg2puWaUvoLsGKHgdWBPwI7pZTubcT5JUmtqV0nNDVs4f7KTgKXNOp8kqTW18oJshZuVi5Jappx7ZlbTa6SpObpb3YAdWJylSQ1jd3CkiTlrF1nC5tcJUlN02PLVZKkfA00O4A6MblKkpqm48ZcI+Lwaj8kpXRRPuFIkjpJJ465nlzlZ5QBk6skacw6LrmmlDZtZCCSpM7TrmOTVV9XRLwM+CiwBXA82QboD6aU/lyf0CRJ7a7UpmOuVS3cHxFvBP4G7AEcDKwB7AbcFRF71y88SVI7a9fN0qvdFecc4IyU0u5AL0BK6WPAGZVDkqQx6yoUajpaVbXJdTvg/w5T/kNgy/zCkSR1ku4aj1ZVbWxzgK2AR4eUTweezDUiSVLHKLRw67MW1SbXM4ELI+IMstbuXhHxCuCTwOfrFZwkqb2V2zO3VpdcU0rfiYhZwOeAJWTjrAn4SEppuO5iSZJeVMet0DRUSukq4Ko6xiJJ6jCtPOO3FmO5z3V34Giysdde4EHg6ymle+sUmySpzXU1O4A6qfY+18OBXwOLgG8DP6i8dHtEHFSn2CRJba5cKNR0tKpqW65fBY5MKV0yuDAiZgKnA5fnHZgkqf1Vez/oqqba5DoJuHuY8t8D6+QXjiSpkxQoNTuEuqj2R8O5wJkRseaKgohYDTiFrJtYkqQxKxRKNR2tarT9XP9Jtp0cQAHYAHgyIh4HSsCmwHjACU2SpJekWG7dBFmL0bqFT2pYFJKkzlQov3idVdBo+7n+YKTXBouI8fmFI0nqJK3ctVuLqiY0RcT6wInAa3j+tqQCWbdwAFPqEp0kqa11+oSmi4A9gduBNwG3ArOA15MlXUmSxqxAuaajVVWbXHcGDkspfRG4H7g6pXQgWWJ9e72CkyS1uUK5tqNFVZtcC8C/K4//StZihWyP1+3zDkqS1BmKDNR0tKpqk+s9wKGVx/cB+1Qeb557RJKkjtFx97kOcQJwdUQsIVtX+HMR8SDZva8/rFdwkqT21tETmlJKtwMbAz9OKc0F3gicBxwJfKJ+4UmStOoZbYWmoYl3CbCkUv4UcH49A5Mktb9W7tqtxWjdwv1Q9Tzndt2ST5JUR+3aLTxact2tYVFIkjpSsdNarimlmxsZiCSp87Rry7Vd96mVJKlpqr0VR5Kk3BUKrbsQRC1MrpKkpmnXbmGTqySpaep1K05E7AicmVLaNSJeB3wTGACWA4emlGZHxBHAUWR3x5yaUro6ItYBLgUmAk+Srau/ZLi6o51/tPtcS1R5K05KyVtxJEljVy7k/pERcTzwQWBxpei/gE+klO6LiKOAEyLiLOCTZIsiTQB+HxHXAV8CLk0pXRwRnweOiojLhqubUlo+UgyjtVz3GvT49cBngFOBPwB9lbKTgHPHeN2SJAF1G3N9FHg3zy/Pe1BKaVblcTewDNgBuLWSIJdHxCPANsB04LRK3Wsqjx8doe7dIwUw2q04N6x4HBHnkTWjrxtU5Y8R8SjwPeCc6q5XkqTn1WPMNaX0s4jYZNDzWQAR8RbgWGAG2QY08we9bSEwBZg8qHy4ssHlI6r2VpwNgDnDlC8B1qryMyRJeoFG7YoTEe8DLgD2Syk9DSwAJg2qMgmYN6R8uLLB5SOqdkLTr4CLIuI44E9k+7tuT9aP/X+r/AxJkl6gEXuyRsQhZJORdk0pPVspvgv4WkRMAMYDWwEPALcCbwMuBvYFZo5Sd0TVtlyPBBJwI/AsMBe4GrgNd8WRJL1kxRqP0UVEF9ncoEnAzyPipoj4SkrpqUr5TLLcdmJKaRnZ3KKDIuJW4M3AeaPUHVGhXK52bX6IiMnAqypPU0ppYdVvHqOrN96p+sCkFjXj8HXombZ2s8OQajbx4xflP60X6B24q6bv+nFdO9QlrlpVvfxhRLyMrJV6LPAPYN+I2LpegUmS2l+BUk1Hq6oquUbEG4G/AXsABwNrkO2ac1dE7F2/8CRJ7axRE5oardqW6znAGSml3YFegJTSx4AzKockSWNWYKCmo1VVm1y3Y/hZwT8EtswvHElSJymXu2o6WlW1t+LMIZt6/OiQ8ulkay/mbuG/n33xSlKLe/uV72T85J5mhyHV7LqP1+dzi8W++nxwk1WbXM8ELoyIM8hau3tFxCvI1lr8fD0C61nHtSnUBgoFyhNHXchF6miFco3jpi05V7jK5JpS+k5EzAI+R7Yq0xlk971+JKXkIhKSpJem1uTaoqpKrhExA7gmpXTVkPLxEXFASunKukQnSWprpVJt46ZdLTrsOmpyjYgiWaP7d8AGETF0feFtgMvJ9r2TJGlMioUOG3Ot7Hl3PtmergXg3yNUvbYOcUmSOsEYVglclYy25dy3I+JBsglMNwLvIVtXeIUysAj4c10jlCS1r04cc00p3QIQEZuSJdYpKaV/Vcr2Bu5NKbVnm16SVH+l9kyu1S4isT7wONm6wit8A0gR8brco5IkdYRSqbumo1VVm1z/E/gu8IUVBSml15Ct0PTNOsQlSeoAxUJvTUerqja5bg18J6U0dOT5O8Dr8w1JktQxyqXajhZVbXJ9HNhrmPJdgVm5RSNJ6ixtmlyr7bA+FbgkInYC7qmUbQe8DziyHoFJkjpAm05oqnb5w8sj4mngKOAIsm3nHgb2SCndVsf4JEltrFQeV9P7W3SBpqpbrqSUbgBuqGMskqQOU2R5s0Ooi9FWaLoEOCaltLDyeEQppUNzj0yS1P5aeNy0FqO1XAdGeCxJUj46LbmmlA4b7rEkSXkZKPfU9P5WXUZitG7hL1X7ISmlr+YTjiSpk3TcmCsvvK+1CLwZeAq4H+gj225uA+A3dYtOktTeOu1WnJTSziseR8R/ku1+c2xKqb9SViRbX3itegcpSWpTbTrmWu0KTR8BzlmRWAFSSiXgW8C76xGYJKkDlMu1HS2q2rHgJ4G3An8bUn4g8FiuEUmSOkaJ2haRqLaF2GjVJtfPAz+JiHeSjbkWgO3JlkDcv06xSZLaXLG8rNkh1EVVST+l9AvgdWTrCm8BvBKYCWxTWblJkqSx6/CF+0kp/TUiTgA2Bv4FFFJKrbuZniSp9XXabOHBIqIHOA34ROU9rwLOiIh+4IiU0uL6hShJalst3PqsRbVjwV8F9qkcKzrIzyUbc/16HeKSJHWAEuNrOlpVtcn1YOBjKaWbgTJASun3wOF4K44k6SUqlpfWdLSqasdc1wHmDFO+GJiYXziSpI7Swveq1qLaluv1wAkRUag8L0fEFOB04Ma6RCZJan+lUm1Hi6q25XoM8Auy1utE4FfARmQLSLyjPqFJktpdreOmq/oiEktTSjtExB7AlpX3JeDayjKIkiSNWZHWHTetRbXJ9f6IOKCyYISLRkiS8tHCXbu1qDa5LoMWnvMsSVo1dXhy/Q1wbURcAzzB8/e6ApBSqnpjdUmSVurw5Ppa4A/AtMoxWHvOo5Yk1V2JCTW9f5We0JRS2q3egUiSOk+xtKTZIdTFqMk1Ij4A/C9gOXBlSunyhkQlSeoMnbaIRGUHnIvJ7mtdA/hBRJzWoLgkSZ2gTReRGK27+kjgIymlfVNK+5OtL3zMoFWaJEmqTZsm19G6hTfihfe0/g+wOrA+8GQ9g5IkdYZSjcvTr4oTmrqBvhVPUkr9EbEUapzaJUlSRbHUntuBV3srjiRJ+Wvhrt1avFhyPTgiFg563gW8NyKeHlwppXRR7pFJktpfqT1nC4+WXP8BHDekbDZw9JCyMmBylSSNWamQ75hrRPQAPwA2AQaAI4B+srtfysADwDEppVJEfBnYr/L6cSmluyLilcPVHWtcIybXlNImY/0wSZLGojiQ+5jr24DulNJbImIv4GtAD3BSSummiLgAOCAi/g7sAuxINoH3Z8D2wDlD65JtuTomrTrRSpLUCUrl2o7/39+A7ogoApPJJua+Abi58vo1wJ7AdLJtU8sppX9U3jNthLpj5oQmSVLz5D+haRFZl/BDwDrA24EZKaUVmXghMIUs8c4d9L4V5YVh6o6ZLVdJUtOUy6WajmF8GvhtSulVwLZk46/jBr0+CZgHLKg8HlpeGqZszEyukqSmKRcm1nQM4zlgfuXxs2TjrfdGxK6Vsn2BmcCtwD4RUYyIVwDFlNIzI9QdM7uFJUlNU8h/QtM3gIsiYiZZi/WLZFumXhgR44AHgStSSgOVOreTNTSPqbz/s0PrvpQgTK6SpObJecw1pbQIOHCYl3YZpu4pwClDyv42XN2xMrlKkpqnAxeRkCSprsrF1ZodQl2YXCVJTVPoX9TsEOrC5CpJap4OXbhfkqT6MblKkpQzk6skSfkqdzmhSZKkXBX6nNAkSVK+7BaWJClnLiIhSVLObLlKkpSvctfqzQ6hLkyukqSmKfQtbHYIdWFylSQ1j93CkiTlqzzghCZJknJV7l6j2SHUhclVktQ0hV7HXCVJypfdwpIk5avsIhKSJOXMlqskSflyQpMkSTkrLF/Q7BDqwuQqSWoax1wlScqbY65a1e1x3ffpX5htTLz4H7P4w3GnAbDlpw5lylabc+fRX25meBJdXQX+96ens97L1qCnp4sfX3Y/c55ezLEf25FSqUxfX4kzzr6FtddajY8ftcPK92215TS+/NUb+fMDs/nUsW9mvfXWoLu7i/POv4P0t2fYc/fNOfA9r2Xx4l5+e90j/Obah5t4lXoBW65alRXHjwPg5nd/4gXl6+3+Jtbb/U0snfV0M8KSXmDP3TdnwcLlnHn2TCZPGs8F572DWbMXcd75d/LoY8+y377BQe/dmgsuvJvPnvAbAGZM34S5c5dw9z3/5tAPvI7H//4cZ359Jptusiabb7YWs55ayGGHvp6jj72SRYt7Oeu0t3LvfbOYPWdRk69WAKWeSc0OoS5Mrh1i6qtfSffECex8+TcodHfxwGnfZvmz89j0gwfw17MvYtMP7N/sECVunvkEt/z+iZXPBwbKfO30m3j2uaVA1rLt7R1Y+fqE8d186IPb8enP/RqAN75hA2665XHOOHVvFi/p5ZvfuoP115vEo489y8JFvQCkh59hq62mmVxbRGGZE5pqEhE9wDbAFGAe8EBKqbdR5+90/UuX8bfzL+XxH1/FGpttxPRLv86Sf87izo+dwuRXbdLs8CQAli3rB2DixG6+dOJufP+SP65MrK/eal0O2H8rPnP8r1fWf+s+W3DzzMdZsGA5AJMnT2CNNcbx+ZOuZa89Nueoj27Pt759JxtvPJWpUyewdGkf2227Pv/61/zGX5yG5644L11E7AecDjwMLAImAVtGxBdTSr9sRAydbtFj/2TRE/9a+bg8MMBqG63Pm77zVXomT2LCeusQxx5COu9HTY5UnW7aOqtzysm7c9WvHuLGmx4DYNcZm/L+g7bhpC9fx/z5y1fW3WO3zfnq13638vnChcu4/Y5/AnD7nf/koAO3YdGiXs7/zl2cctLuPP3MYh55dO7KZKwW4ISmmpwITE8prWz/R8QU4HrA5NoAmxy8H1O22px7P/91JrxsHcqlMtfOOJjywADT3rIdmx36ThOrmm7q1Amc8bW9Oe/8O7j3vlkA7LHbZrz9bcFnj79mZdcuwOqr9dDTU+TpZxavLPvzX+aww/Yb8vAjc9nmtevxxN+fo1gssNWW0/j0535NV1eRs07bh+9dfE/Dr03DK42f3OwQ6qJRybUHWDKkbCnQnj9ZWtDjl17N9v91Irte+d9Qhns+fRrlgYEXf6PUQO9/37ZMWmMchxy8LYccvC3FYoFNNl6T2XMWccrJuwNw/5+f4pIf3ceGG05h9uwXjptedvn9fOZYU42qAAAIWklEQVS46Zx7zn7095c48+yZlEpl+vtKnP/Nd9DbO8BPf/6ALdcWUljanl30hXK5/vktIo4APgH8HpgPTAamA+emlL433HuuWG8nE69Weedu8C7Grbt2s8OQanb9NYcV6vG5y856d03f9ROO/3ld4qpVQ1quKaULI+J/gB3IEusC4CsppTmNOL8kqUW16ZhrsVEnSinNBh6rHE8Dl0XEHo06vySp9ZRL5ZqOVtXo+1wvAD4FfIVsktNZwA0NjkGS1CLK411EIg99wF+AcSmlOyLCRSwkqYMVlrTnhKZGJ7cycCnw64g4EFj8IvUlSW2slbt2a9Ho5Po+sklN1wC7VJ5LkjqVE5py0QM8AWwBfBB4RYPPL0lqJaVybUeLanTL9RLgNOAY4ArgG8BuDY5BktQiShOmNDuEumh0cu0GbgFOTCldHhEfb/D5JUktpLB4XrNDqItGJ9dxwDnALRGxWxPOL0lqJS3ctVuLRo+5fhhIwJnANOCQBp9fktRKSqXajhbV6Jbj48C9wI7A7Mq/jzU4BklSiyhNdMw1Dz8n6xreAOgCngQua3AMkqQWUVjUnmOuje4WnpJSeitwJ/AGYEKDzy9JaiVteitOo5NrX+Xf1VNKS8lasZKkDuXC/fn4RUR8Cbg/Iu4AFjb4/JKkFlJu0xWaGppcU0rfWvE4In4FPNzI80uSWkt5tanNDqEuGpJcI+IyskX7h/P+RsQgSWpBi55rdgR10aiW67eBILvtpheYQbZh+kMNOr8kqQWV6tQtHBHrAvcAewH9wMVkjbwHgGNSSqWI+DKwX+X141JKd0XEK4erO9bzN2pC065kF3hrSulm4IfA3mRJVpLUoeoxoSkiesgadUsrRecAJ6WUdgYKwAER8Xqy3dl2BA4CvjVS3ZdyXY1KrvsC700pLQFIKT1Btt3c/g06vySpBZVLpZqOEZwNXEC2lgJkt37eXHl8DbAnMB24NqVUTin9A+iOiGkj1B2zRnULL04pveAnRkqpLyKcLSxJHSzvCU0R8WHg6ZTSbyPiC5XiwqActBCYAkwG5g5664ry4eqOWaOS65KI2CyltHKpw4jYjJEnOUmSOsHC3Cc0HQ6UI2JP4HVkW52uO+j1ScA8YEHl8dDy0jBlY9ao5HoC8MuIuIFsUtMrgH2ADzXo/JKkFpT3QhAppZVzeSLiJuBo4D8iYteU0k1kw5S/Ax4BzoqIs4ENgWJK6ZmIuHeYumPWkDHXlNJfgJ3JFu1fHfgjsFNK6d5GnF+S1JrKA+Wajip9FvhKRNxOtjLgFSmle4CZwO3Az4BjRqr7Uq6rUC63Zs/sFevt1JqBSWNw7gbvYty6azc7DKlm119zWKEenzvniP1q+q5f98Jf1SWuWrlZuSSpacoLXERCkqRclVp48f1amFwlSU3jwv2SJOWslbeNq4XJVZLUPGus2ewI6sLkKklqmvKCZ5sdQl2YXCVJTeOYqyRJORtl8f1VmslVktQ8tlwlScrZZCc0SZKUq9I8JzRJkpQr73OVJClnzhaWJClvk9dqdgR1YXKVJDVNed7cZodQFyZXSVLT2C0sSVLOnNAkSVLOTK6SJOXNCU2SJOWr/JwTmiRJylWbrttvcpUkNY/JVZKknJlcJUnK21QnNEmSlKvSs+6KI0lSrtr0NleTqySpeRxzlSQpZ4U1HXOVJClXA3Mdc5UkKVd2C0uSlDOTqyRJOTO5SpKUs6ITmiRJyle/E5okScqX3cKSJOWsVG7PJZpMrpKkpulayzFXSZJy1f+MY66SJOXKMVdJknJmcpUkKWduOSdJUs6c0CRJUs76nNAkSVK+HHOVJClnJldJknJmcpUkKWfdazuhSZKkXPU6oUmSpHzZLSxJUs7yTq4RUQT+G9gWWA58NKX0SL5neXEmV0lS09RhzPWdwISU0psj4k3A14ED8j7JizG5SpKapvfp3MdcpwO/AUgp3RERb8z7BNVo2eT6nqduLTQ7BqlW72l2AFKLO6jvwby/6ycD8wc9H4iI7pRSf87nGVWxkSeTJKnOFgCTBj0vNjqxgslVktRebgXeBlAZc/1zM4Jo2W5hSZJegl8Ae0XEbUABOKwZQRTK5TbdTK+DRMRrgLOA1YA1gF8DNwFHpZQOyukc04DbgK1TSsvy+ExpqHr/LUfEEcBRQD9wakrp6lo/UxqO3cKruIiYClwOHJdS2g14E7A1EDmeYx/gWuBleX2mNFS9/5YjYj3gk8BOwD7A6RExPo/PloayW3jVdwBwY0rpYYCU0kBEHAq8BdgVICKOBd4N9JDNons3sAlwMdBH9iv+UKAX+AnZj64e4OiU0p+BErAncE+Drkmdqa5/y8CmwK0ppeXA8oh4BNgGuLshV6eOYst11fdy4LHBBSmlRWRfLitWK1kb2DOltDPZF832wF5kyXJP4GvAmsAOZF9Y+5L9wp9c+bzrUkpzG3Ex6mj1/lseeovGQmBK/S5Hnczkuur7O7DR4IKI2BSYAZBSKpF9OV0WEd8DNiT7Uvoe8AzZzdbHkv3ivwa4GbgS+CpZi1VqlHr/LQ+9RWMSMK9+l6NOZnJd9V0NvDUiNgeIiB7gHLIvGyJiG+CdKaX3AZ8g+/+8QNYFNzOltAfwU+AEsq63WSmlvYFTgdMaeynqcPX+W74L2DkiJkTEFGAr4IHGXZ46ibOF20BEvAH4D7Ivm0nAVWS/2o8CDif70ppMtoj1crJf+ncAPyL7lV8CPk3WcvgJsDowAHw1pXTtoPM8AWzpbGHVS73/liuzhY+sfP5pKaWfNezi1FFMrpIk5cxuYUmScmZylSQpZyZXSZJyZnKVJClnJldJknJmcpUkKWcmV0mScmZylSQpZ/8Plqzst1/ejUcAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 576x432 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 劃出新門檻值的 confusion matrix\n", "Y_predict_prefer_recall = [1 if e > threshold_prefer_recall else 0 for e in mse]\n", "plot_confusion_matrix(Y_test, Y_predict_prefer_recall)\n", "\n", "# show scores\n", "print('Precision =', precision_score(Y_test, Y_predict_prefer_recall))\n", "print('Recall =', recall_score(Y_test, Y_predict_prefer_recall))\n", "print('F1 score =', fbeta_score(Y_test, Y_predict_prefer_recall, beta=1))\n", "print('F100 score =', fbeta_score(Y_test, Y_predict_prefer_recall, beta=100))\n", "print('F0.01 score =', fbeta_score(Y_test, Y_predict_prefer_recall, beta=0.01))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 結論\n", "\n", "我們用深度自編碼器示範了一個可以用來偵測異常的預測模型,結果顯然還有待改進。 但以上範例只是個展示概念可行的雛形,要建立一個實用的預測模型,還需要加入一些模型訓練的技巧,例如可以加入另外一個分類的網路,在每次迭代訓練評估 loss 時就一起評估分類結果的得分,而且在做交叉驗證時,也應該就用包含正常及異常類別的資料集來做驗證。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<a id=\"references\"></a>\n", "\n", "## References:\n", "\n", "+ Ian Goodfellow and Yoshua Bengio and Aaron Courville, *\"Deep Learning\"*, MIT Press, 2016. [[link]](http://www.deeplearningbook.org)\n", "+ Wikipedia contributors, *\"Autoencoder\"*, Wikipedia, The Free Encyclopedia. [[link]](https://en.wikipedia.org/w/index.php?title=Autoencoder&oldid=905990949).\n", "+ Francois Chollet, *\"Building Autoencoders in Keras\"*, The Keras Blog, 2016. [[link]](https://blog.keras.io/building-autoencoders-in-keras.html)\n", "+ Venelin Valkov, *\"Credit Card Fraud Detection using Autoencoders in Keras\"*, Curiousily, 2017. [[link]](https://www.curiousily.com/posts/credit-card-fraud-detection-using-autoencoders-in-keras/)\n", "+ Jason Brownlee, *\"How and When to Use ROC Curves and Precision-Recall Curves for Classification in Python\"*, Machine Learning Mastery, 2018. [[link]](https://machinelearningmastery.com/roc-curves-and-precision-recall-curves-for-classification-in-python/)\n", "+ Wikipedia contributors, *\"F1 score\"*, Wikipedia, The Free Encyclopedia. [[link]](https://en.wikipedia.org/w/index.php?title=F1_score&oldid=907526484)." ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }