From 20501ae86ff6727245fc087bc717f97cac359e68 Mon Sep 17 00:00:00 2001 From: muatik Date: Sat, 19 Nov 2016 00:55:41 +0200 Subject: [PATCH] adds maximum loglikelihood estimation note and other notes --- ALS.ipynb | 317 ++++++++++++++++++++++++ KNN_movie_genre.ipynb | 505 +++++++++++++++++++++++++++++++++++++++ Kmeans.ipynb | 244 +++++++++++++++++++ Kmeans2.ipynb | 318 +++++++++++++++++++++++++ PCA.ipynb | 47 ++++ Perceptron.ipynb | 335 ++++++++++++++++++++++++++ SVD.ipynb | 529 +++++++++++++++++++++++++++++++++++++++++ Vectors.ipynb | 10 +- expedia.ipynb | 119 +++++++++ maxloglikelihood.ipynb | 447 ++++++++++++++++++++++++++++++++++ 10 files changed, 2866 insertions(+), 5 deletions(-) create mode 100644 ALS.ipynb create mode 100644 KNN_movie_genre.ipynb create mode 100644 Kmeans.ipynb create mode 100644 Kmeans2.ipynb create mode 100644 PCA.ipynb create mode 100644 Perceptron.ipynb create mode 100644 SVD.ipynb create mode 100644 expedia.ipynb create mode 100755 maxloglikelihood.ipynb diff --git a/ALS.ipynb b/ALS.ipynb new file mode 100644 index 0000000..a77a7a0 --- /dev/null +++ b/ALS.ipynb @@ -0,0 +1,317 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Aternating Least Squares" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from matplotlib import pylab as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-0.74999998 -0.05000765]\n", + " [ 0.78267947 0.74945032]\n", + " [-0.79017803 0.31069952]]\n", + "[[-0.76619522 1.24072827 0.80256836 -1.44095286 0.88351898]\n", + " [ 1.70313438 -2.10460196 1.57452137 -0.70528595 -0.87542303]]\n" + ] + } + ], + "source": [ + "## Y = A*B\n", + "\n", + "M = 3\n", + "N = 5\n", + "K = 2\n", + "\n", + "A_true = np.mat(np.random.randn(M, K))\n", + "B_true = np.mat(np.random.randn(K, N))\n", + "print A_true\n", + "print B_true" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Y = A_true*B_true + 0.01 * np.random.randn(M, N)\n", + "\n", + "U,S,VT = np.linalg.svd(Y)\n", + "\n", + "plt.plot(S)" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-0.74646574 1.2404609 0.80147564 -1.43755358 0.88762876]\n", + " [ 1.6909715 -2.11632333 1.58069405 -0.68904013 -0.88817398]]\n", + "[[-0.76619522 1.24072827 0.80256836 -1.44095286 0.88351898]\n", + " [ 1.70313438 -2.10460196 1.57452137 -0.70528595 -0.87542303]]\n" + ] + } + ], + "source": [ + "B = np.linalg.pinv(A_true)*Y\n", + "print(B)\n", + "print(B_true)" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0.75468432 0.09570988]\n", + " [ 1.2271405 -0.89352063]\n", + " [ 1.0929551 -0.13919028]]\n", + "[[ 1.93657925 1.25404367 -0.18884194 -0.21987335 -0.69236316]\n", + " [ 1.02234524 -1.07801519 -0.36108822 -0.24760247 -0.46300585]]\n" + ] + } + ], + "source": [ + "A = np.mat(np.random.randn(M, K))\n", + "B = np.mat(np.random.randn(K, N))\n", + "print A\n", + "print B" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "0.iteration\n", + "error 34.0132382171\n", + "error 0.364141221241\n", + "error 0.000247868162967\n", + "\n", + "1.iteration\n", + "error 0.000247868162967\n", + "error 0.000235472189778\n", + "error 0.000235471778204\n", + "\n", + "2.iteration\n", + "error 0.000235471778204\n", + "error 0.00023547177819\n", + "error 0.00023547177819\n" + ] + } + ], + "source": [ + "def calcError(A, B, Y):\n", + " Y_est = A * B\n", + " E = Y - Y_est\n", + " err = np.sum(np.power(np.array(E), 2))\n", + " return err\n", + "\n", + "for e in range(3):\n", + " print(\"\\n{}.iteration\".format(e))\n", + " err = calcError(A, B, Y)\n", + " print(\"error {}\".format(err))\n", + " \n", + " B = np.linalg.pinv(A) * Y\n", + " \n", + " err = calcError(A, B, Y)\n", + " print(\"error {}\".format(err))\n", + " \n", + " A = (np.linalg.pinv(B.T) * Y.T).T\n", + "\n", + " err = calcError(A, B, Y)\n", + " print(\"error {}\".format(err))" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 1.49271901 0.09591168]\n", + " [ 2.09648248 1.1766208 ]\n", + " [-0.30242095 -0.70817388]]\n", + "[[-0.2627704 -0.89251764 -1.7932561 0.24007537 -1.60292735]\n", + " [-0.96798084 0.84358299 0.06379516 -1.01190793 -0.42444443]]\n", + "\n", + "0.iteration\n", + "error 66.5609466777\n", + "error 3.6454822564\n", + "error 0.000534182173417\n", + "\n", + "1.iteration\n", + "error 0.000534182173417\n", + "error 0.000235482602798\n", + "error 0.000235471778584\n", + "\n", + "2.iteration\n", + "error 0.000235471778584\n", + "error 0.00023547177819\n", + "error 0.00023547177819\n" + ] + } + ], + "source": [ + "A = np.mat(np.random.randn(M, K))\n", + "B = np.mat(np.random.randn(K, N))\n", + "print A\n", + "print B\n", + "\n", + "def calcError(A, B, Y):\n", + " Y_est = A * B\n", + " E = Y - Y_est\n", + " err = np.sum(np.power(np.array(E), 2))\n", + " return err\n", + "\n", + "for e in range(3):\n", + " print(\"\\n{}.iteration\".format(e))\n", + " err = calcError(A, B, Y)\n", + " print(\"error {}\".format(err))\n", + " \n", + " B = np.linalg.pinv(A) * Y\n", + " \n", + " err = calcError(A, B, Y)\n", + " print(\"error {}\".format(err))\n", + " \n", + "# A = Y * B.I\n", + " A = (np.linalg.pinv(B.T) * Y.T).T\n", + "\n", + " err = calcError(A, B, Y)\n", + " print(\"error {}\".format(err))" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1 3]\n", + " [2 7]]\n", + "[[1]\n", + " [2]]\n", + "[[ 7]\n", + " [16]]\n" + ] + } + ], + "source": [ + "A = np.mat(([1, 3], [2, 7]))\n", + "B = np.mat(([1], [2]))\n", + "W = A * B\n", + "print A\n", + "print B\n", + "print W" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/KNN_movie_genre.ipynb b/KNN_movie_genre.ipynb new file mode 100644 index 0000000..2f00594 --- /dev/null +++ b/KNN_movie_genre.ipynb @@ -0,0 +1,505 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 357, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "from matplotlib import pylab as plt\n", + "import operator\n", + "import pandas as pd\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 572, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "df = pd.read_csv(\"data/datingTestSet.txt\", delimiter=\"\\t\", header=None)\n", + "X = np.array(df.iloc[:, :3])\n", + "Y = np.array(df.iloc[:, 3:])" + ] + }, + { + "cell_type": "code", + "execution_count": 573, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [], + "source": [ + "class KNN(object):\n", + " def __init__(self):\n", + " super(KNN, self).__init()\n", + "\n", + " @classmethod\n", + " def normalize(cls, features):\n", + " fmax = features.max(axis=0)\n", + " fmin = features.min(axis=0)\n", + " features = (features - fmin) / (fmax - fmin)\n", + " return features, fmin, fmax\n", + " \n", + " @classmethod\n", + " def classify(cls, features, labels, x, k=5):\n", + " datesize = features.shape\n", + " distances = np.tile(x, (datesize[0], 1)) - features\n", + " distances = np.power(distances, 2)\n", + "\n", + " minDistanceIDs = distances.sum(axis=1).argsort()[:k]\n", + " neighbors = {}\n", + "\n", + " for i in minDistanceIDs:\n", + " label = np.asscalar(labels[i])\n", + " neighbors[label] = neighbors.get(label, 0) + 1\n", + " #print neighbors\n", + " sortedClassCount = sorted(\n", + " neighbors.iteritems(), key=operator.itemgetter(1), reverse=True)\n", + " return sortedClassCount[0][0]" + ] + }, + { + "cell_type": "code", + "execution_count": 564, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'didntLike'" + ] + }, + "execution_count": 564, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "q = np.array([7.00960000e+04,1.09659260e+01, 1.21232800e+00])\n", + "KNN.classify(X, Y, q, k=6)" + ] + }, + { + "cell_type": "code", + "execution_count": 620, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "error rate: 0.115\n" + ] + } + ], + "source": [ + "def test(features, labels):\n", + " tp = 0\n", + " tp2 = 0\n", + " datasize = features.shape\n", + " features, fmin, fmax = KNN.normalize(features)\n", + " testNumber = 200\n", + " \n", + " for i in range(testNumber):\n", + " predicted = KNN.classify(\n", + " training_x[:-testNumber], \n", + " training_y[:-testNumber], \n", + " training_x[testNumber+i], \n", + " k=3)\n", + " \n", + " y = training_y[testNumber+i]\n", + " \n", + " if predicted != y:\n", + " tp += 1 \n", + "\n", + " return float(tp) / testNumber\n", + "\n", + "print \"error rate: \", test(X, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 623, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [], + "source": [ + "def readDigits(path, sampleSize=10):\n", + " # (number of digit * sample size, feature size=width*height)\n", + " X = np.ndarray((10 * sampleSize, 32 * 32)) \n", + " Y = np.ndarray((10 * sampleSize, 1))\n", + " for i in range(10):\n", + " for s in range(sampleSize):\n", + " with open(\"{}{}_{}.txt\".format(path, i, s)) as f:\n", + " for c, line in enumerate(f):\n", + " colPos = c * 32\n", + " X[i+s, colPos:colPos + 32] = list(line.strip())\n", + " Y[i*sampleSize: (i+1) * sampleSize] = i\n", + "\n", + " return X, Y\n", + "\n", + "X, Y = readDigits(\"data/trainingDigits/\", 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 675, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "error rate: 0.8\n" + ] + } + ], + "source": [ + "def testDigits():\n", + " X, Y = readDigits(\"data/trainingDigits/\", 150)\n", + " test_X, test_Y = readDigits(\"data/testDigits/\", 3)\n", + " tp = 0\n", + " datasize = X.shape\n", + " \n", + " for test_x, test_y in zip(test_X, test_Y):\n", + " predicted = KNN.classify(X, Y, test_x, k=5)\n", + " #print test_y[0], predicted\n", + " if predicted != test_y:\n", + " tp += 1\n", + "\n", + " return float(tp) / len(test_X)\n", + "\n", + "print \"error rate: \", testDigits()" + ] + }, + { + "cell_type": "code", + "execution_count": 686, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "error rate: [[ 0.]\n", + " [ 0.]\n", + " [ 1.]\n", + " [ 1.]\n", + " [ 2.]\n", + " [ 2.]\n", + " [ 3.]\n", + " [ 3.]\n", + " [ 4.]\n", + " [ 4.]\n", + " [ 5.]\n", + " [ 5.]\n", + " [ 6.]\n", + " [ 6.]\n", + " [ 7.]\n", + " [ 7.]\n", + " [ 8.]\n", + " [ 8.]\n", + " [ 9.]\n", + " [ 9.]]\n", + "(array([[ 12.40967365, 12.52996409],\n", + " [ 14.10673598, 14.28285686],\n", + " [ 14.10673598, 14.56021978],\n", + " [ 12.08304597, 12.16552506],\n", + " [ 10.77032961, 10.90871211],\n", + " [ 11.83215957, 12.68857754],\n", + " [ 13.49073756, 14.86606875],\n", + " [ 13.03840481, 13.15294644],\n", + " [ 11.61895004, 12.64911064],\n", + " [ 9.64365076, 10.04987562],\n", + " [ 11.04536102, 11.18033989],\n", + " [ 9.89949494, 11.18033989],\n", + " [ 0. , 0. ],\n", + " [ 0. , 0. ],\n", + " [ 0. , 0. ],\n", + " [ 0. , 0. ],\n", + " [ 0. , 0. ],\n", + " [ 0. , 0. ],\n", + " [ 0. , 0. ],\n", + " [ 0. , 0. ]]), array([[ 0, 6],\n", + " [ 1, 45],\n", + " [ 2, 43],\n", + " [ 27, 3],\n", + " [ 31, 11],\n", + " [ 5, 28],\n", + " [ 6, 8],\n", + " [ 22, 21],\n", + " [ 8, 6],\n", + " [ 13, 15],\n", + " [ 16, 11],\n", + " [ 16, 34],\n", + " [198, 97],\n", + " [198, 97],\n", + " [198, 97],\n", + " [198, 97],\n", + " [198, 97],\n", + " [198, 97],\n", + " [198, 97],\n", + " [198, 97]]))\n", + "None\n" + ] + } + ], + "source": [ + "def testDigits():\n", + " X, Y = readDigits(\"data/trainingDigits/\", 40)\n", + " test_X, test_Y = readDigits(\"data/testDigits/\", 2)\n", + " from sklearn.neighbors import NearestNeighbors\n", + " nbrs = NearestNeighbors(n_neighbors=2, algorithm='ball_tree').fit(X, Y)\n", + " print test_Y\n", + " print nbrs.kneighbors(test_X)\n", + "print \"error rate: \", testDigits()" + ] + }, + { + "cell_type": "code", + "execution_count": 704, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-0.99308301 0.11026755 -0.03899004 -0.01034343]\n", + " [-0.05833671 -0.74906615 -0.52732983 -0.39676186]\n", + " [-0.08961563 -0.52119915 0.84024944 -0.11958829]\n", + " [-0.04849752 -0.39381773 -0.1199329 0.91003939]]\n", + "[ 53.32030733 22.47097741]\n", + "[[-0.99784741 -0.06557862]\n", + " [ 0.06557862 -0.99784741]]\n" + ] + } + ], + "source": [ + "a = np.array([\n", + " [53, 1],\n", + " [2, 17],\n", + " [4, 12],\n", + " [2, 9]\n", + " ])\n", + "\n", + "U, S, VT = np.linalg.svd(a,full_matrices=True)\n", + "print U\n", + "print S\n", + "print VT" + ] + }, + { + "cell_type": "code", + "execution_count": 733, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-0.48552086 0.30425039 -0.7530737 -0.32339017]\n", + " [-0.75301257 0.32710408 0.49684413 0.28128438]\n", + " [-0.37295365 -0.68251946 0.21788421 -0.58957547]\n", + " [-0.2411372 -0.57844775 -0.37222626 0.68461571]]\n", + "[ 34.2353521 6.84438172 4.66426921 0.58283658]\n", + "[[-0.60176255 -0.73821769 -0.13428175 -0.27365103]\n", + " [ 0.77798126 -0.61137578 0.09583771 -0.10853543]\n", + " [-0.09936173 -0.28428032 0.07008324 0.95099963]\n", + " [-0.15084505 -0.02095235 0.9838048 -0.09452452]]\n" + ] + } + ], + "source": [ + "a = np.array([\n", + " [12, 12, 2, 1],\n", + " [17, 17, 4, 9],\n", + " [4, 12, 1, 5],\n", + " [2, 9, 1, 1]\n", + " ])\n", + "\n", + "U, S, VT = np.linalg.svd(a,full_matrices=True)\n", + "print U\n", + "print S\n", + "print VT" + ] + }, + { + "cell_type": "code", + "execution_count": 737, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[ 12., 12., 2., 1.],\n", + " [ 17., 17., 4., 9.],\n", + " [ 4., 12., 1., 5.],\n", + " [ 2., 9., 1., 1.]])" + ] + }, + "execution_count": 737, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "k = 4\n", + "U[:,:k] * np.mat(np.diag(S)[:k, :k]) * VT[:k,:]" + ] + }, + { + "cell_type": "code", + "execution_count": 738, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.48552086, 0.30425039, -0.7530737 , -0.32339017],\n", + " [-0.75301257, 0.32710408, 0.49684413, 0.28128438],\n", + " [-0.37295365, -0.68251946, 0.21788421, -0.58957547],\n", + " [-0.2411372 , -0.57844775, -0.37222626, 0.68461571]])" + ] + }, + "execution_count": 738, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U[:,:k]" + ] + }, + { + "cell_type": "code", + "execution_count": 739, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.60176255, -0.73821769, -0.13428175, -0.27365103],\n", + " [ 0.77798126, -0.61137578, 0.09583771, -0.10853543],\n", + " [-0.09936173, -0.28428032, 0.07008324, 0.95099963],\n", + " [-0.15084505, -0.02095235, 0.9838048 , -0.09452452]])" + ] + }, + "execution_count": 739, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "VT[:k,:]" + ] + }, + { + "cell_type": "code", + "execution_count": 729, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 32.63308966, 0. ],\n", + " [ 0. , 6.78833256]])" + ] + }, + "execution_count": 729, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.diag(S)[:k, :k]" + ] + }, + { + "cell_type": "code", + "execution_count": 746, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ -5.82625026],\n", + " [-12.80121364],\n", + " [ -1.49181458],\n", + " [ -0.48227441]])" + ] + }, + "execution_count": 746, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "U[:,:1] * a[:, :1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Kmeans.ipynb b/Kmeans.ipynb new file mode 100644 index 0000000..d41cc8d --- /dev/null +++ b/Kmeans.ipynb @@ -0,0 +1,244 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import pandas as pd\n", + "from IPython import display\n", + "import matplotlib.pylab as plt\n", + "import time\n", + "from IPython import display\n" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a: [0 1 0 1 1 1]\n", + "\n", + "mu, c 0 0\n", + "[[ 0.18709855 0. ]\n", + " [-0.12785456 0. ]]\n", + "\n", + "mu, c 1 1\n", + "[[ 0.18709855 -0.14170366]\n", + " [-0.12785456 0.41424891]]\n", + "\n", + "mu, c 0 2\n", + "[[ 0.52861541 -0.14170366]\n", + " [ 0.00111371 0.41424891]]\n", + "\n", + "mu, c 1 3\n", + "[[ 0.52861541 0.89944324]\n", + " [ 0.00111371 1.09908324]]\n", + "\n", + "mu, c 1 4\n", + "[[ 5.28615411e-01 1.89455526e+00]\n", + " [ 1.11371268e-03 1.83856955e+00]]\n", + "\n", + "mu, c 1 5\n", + "[[ 5.28615411e-01 2.55948263e+00]\n", + " [ 1.11371268e-03 2.44099325e+00]]\n" + ] + }, + { + "data": { + "image/png": "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\noPZ60dn9OX1u+rGq+htJ/qC7//Z5vuddSf5vd/+bHd53xRkAC2U3F53t9de6Pp7knyT510n+cZKP\nnTugql6c5EB3n6yqv5Lk7yf59Z02uJtFA8Ci2ese9qVJPpzkZUm+kdO/1jWtqpcm+Q/d/Q+q6uok\nv5vTh8svSvKfuvtf7X3pALA49t2/1gUAPN2++1Wrqrqlqv64qr5fVX933uvZb6rq9VX1tap6oKp+\nbd7r2a+q6n1V9VhVfXnea9nPqurKqvpsVX2lqu6rql+d95r2q6p6UVXdW1XHNj+v35j3mvazqjpQ\nVV+qqo/Pey37WVU9XFX/c/Pn6g+faey+C3aS+5L8wySfm/dC9puqOpDk3Ul+PsmPJ7m1ql4531Xt\nW7+d058Tz+wvk7y9u388yWuSvMXP1Pa6+y+S/Ex3H0zyd5L8vapanvOy9rO3JfnqvBcxgF3fWGzf\nBbu7/6S7H8zpXx/jbNcnebC7v9HdTyb5UE7fvIZzbP7a4LfnvY79rru/1d3HNx+fTHJ/kivmu6r9\nq7uf2Hz4opz+89PP2Daq6sokNyW5e95rGcCubyy274LNM7oiySNbnv9Z/OHKjFTVUpLrktw735Xs\nX5uHeY8l+VaSSXfbg9zebya5PTvfm4P/b9c3FpvLv9b1DDdjOdzdn5jHmmCRVdUPJflIkrdt7mmz\nje4+leRgVf3VJJ+uqtd2t9N3W1TVoSSPdffxqlqJo6Xns+sbi80l2N39c/OY93ng0SRXbXl+5eZr\n8AOrqotyOtYf6O6n3UuBp+vuE1W1nuQn43qbcy0neUNV3ZTk4iQ/XFX3dPevzHld+1J3f3Pzv/+n\nqn43p099bhvs/X5I3N/MzvZHSf5mVb28ql6Y5Bdz+uY1bK/iZ2g3/mOSr3b3v533QvazqvqRqnrJ\n5uOLk/xckuPzXdX+093v6O6ruvvHcvrPqM+K9faq6sWbR7ey5cZif7zT+H0X7Kr6hap6JMkNSf5r\nVX1q3mvaL7r7+0nemuTTSb6S5EPdff98V7U/VdUHk/z3JNdW1Z9W1Zvmvab9aPMq51/O6Suej23+\nGs7r572ufeqlSf5g8xz2/0jy8e7+zJzXxNguT/KFLT9Tn+juT+802I1TAGAA+24PGwB4OsEGgAEI\nNgAMQLABYACCDQADEGwAGIBgA8AABBsABvD/ANY5r1eBfVAEAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "N = 6\n", + "D = 2\n", + "X1 = np.random.randn(D,N/2)\n", + "X2 = 0.8*np.random.randn(D,N/2) + 3*np.ones((D, N/2))\n", + "\n", + "X = np.hstack((np.mat(X1), np.mat(X2)))\n", + "\n", + "#plt.plot(X[0,:], X[1,:],'x')\n", + "#plt.show()\n", + "\n", + "K = 2;\n", + "\n", + "W = np.mat('[3,0;0,1]')\n", + "mu = X[:,0:K]\n", + "#plt.plot(mu[0,:],mu[1,:],'ro')\n", + "\n", + "EP = 200\n", + "\n", + "fig = plt.figure(figsize=(8,10))\n", + "plt.plot(X[0,:], X[1,:],'kx')\n", + "\n", + "ax = fig.gca()\n", + "ln = plt.Line2D(xdata=mu[0,:], ydata=mu[1,:], marker='o', color='r',linestyle=None,linewidth=0)\n", + "ax.add_line(ln)\n", + "\n", + "eta = 0.3\n", + "#print X\n", + "#print mu\n", + "\n", + "dist = np.zeros((N,K))\n", + "for i in range(N):\n", + " for c in range(K):\n", + " err = X[:,i]-mu[:,c]\n", + " dist[i,c] = float(err.T*W.I*err)\n", + "# print\n", + "# print \"i, c\", i, c\n", + "# print dist\n", + "\n", + "a = np.argmin(dist, axis=1)\n", + "print \"a: \", a\n", + "\n", + "mu = np.mat(np.zeros((D,K)))\n", + "count = np.zeros((K))\n", + "for i,c in enumerate(a):\n", + " # count[c] += 1\n", + " #mu[:,c] = (count[c]-1)/count[c]*mu[:,c] + 1/count[c]*X[:,i]\n", + " mu[:,c] = (1-eta)*mu[:,c] + eta*X[:,i]\n", + " print \"\\nmu, c\", c, i\n", + " print mu\n", + "\n", + "# ------------\n", + "\n", + "for e in range(0):\n", + " \n", + " dist = np.zeros((N,K))\n", + " for i in range(N):\n", + " for c in range(K):\n", + " err = X[:,i]-mu[:,c]\n", + " dist[i,c] = float(err.T*W.I*err)\n", + " \n", + " # Assignments\n", + " a = np.argmin(dist, axis=1)\n", + " \n", + " mu = np.mat(np.zeros((D,K)))\n", + " count = np.zeros((K))\n", + " for i,c in enumerate(a):\n", + " count[c] += 1\n", + " #mu[:,c] = (count[c]-1)/count[c]*mu[:,c] + 1/count[c]*X[:,i]\n", + " mu[:,c] = (1-eta)*mu[:,c] + eta*X[:,i]\n", + " \n", + " ln.set_xdata(mu[0,:])\n", + " ln.set_ydata(mu[1,:])\n", + " \n", + " #plt.subplot(EP,1,e+1)\n", + " display.clear_output(wait=True)\n", + " display.display(plt.gcf())\n", + " time.sleep(0.1)\n", + " plt.plot(X[0,:], X[1,:],'kx')\n", + " #plt.plot(mu[0,:],mu[1,:],'ro')\n", + "\n", + "plt.show()\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[4, 2, 7],\n", + " [0, 7, 1],\n", + " [9, 3, 2]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = np.mat([ [4, 2, 7], [0, 7, 1], [9, 3, 2] ])\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[1],\n", + " [0],\n", + " [2]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.argmin(a, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Kmeans2.ipynb b/Kmeans2.ipynb new file mode 100644 index 0000000..63a82dd --- /dev/null +++ b/Kmeans2.ipynb @@ -0,0 +1,318 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "from matplotlib import pylab as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 313, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "N = 100\n", + "D = 2\n", + "K = 4\n", + "\n", + "# prepare random data\n", + "X = np.random.randn(N, D)\n", + "#X[N/5:] += np.random.randn(N/5, D) + 6\n", + "X[25:,1] += 5\n", + "X[50:,1] -= 5\n", + "X[50:,0] += 5\n", + "X[70:,1] -= 6\n", + "X[70:,0] += 6\n", + "#X[N/2:] += np.random.randn(N/3, D) + 6\n", + "#X[N/(K - 1):] += np.random.randn(N/(K - 1), D) + 12" + ] + }, + { + "cell_type": "code", + "execution_count": 314, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.60675919, -0.96691754],\n", + " [-0.03743275, 0.13516574],\n", + " [-0.20377114, 0.07645437]])" + ] + }, + "execution_count": 314, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X[:3]" + ] + }, + { + "cell_type": "code", + "execution_count": 315, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def chooseK(k):\n", + " return X[:k]\n", + "\n", + "clusters = chooseK(K)\n", + "clusters\n", + "plot(X, clusters)" + ] + }, + { + "cell_type": "code", + "execution_count": 316, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plot(X, clusters):\n", + " plt.plot(X[:, 0], X[:,1], \"bo\")\n", + " plt.plot(clusters[:,0], clusters[:,1], \"ro\")\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 317, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nPEHRNSKgAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nchvqbwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEACAYAAACwB81wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X90XHd55/H3M3EcaQqkLTmELcZxEiRH6yaSIgIUEmeA\nZgm/EucH4FCHJWoce9sYm7KU8qONCKclhAJ2u22wEyvYToJxbGiBTWiThYmBLTUajZzEcSSTFttJ\n23TpD3JaO7Y88+wfM5JmpJE0v+7MnZnP65w5lu7cuffrkfTc7zzf5/u95u6IiEjzi9S7ASIiUhsK\n+CIiLUIBX0SkRSjgi4i0CAV8EZEWoYAvItIiAg/4ZvZxMztgZo+b2f1mtjDoc4qIyEyBBnwzOwdY\nDfS6+0XAAmBlkOcUEZHCFgR8/BeAk8AvmFkaiAL/EPA5RUSkgEB7+O7+b8AXgCPAc8C/u/ujQZ5T\nREQKCzqlcx7wYeAc4FeAl5jZ+4M8p4iIFBZ0Sue1wA/d/V8BzOzrwBuBByZ2MDMt5iMiUgZ3t1L2\nD7pKZxR4g5m1mZkBbwUOTt/J3UP3uO222+reBrVJbWrFdqlNxT3KEXQOfz+wHUgA+wEDtgR5ThER\nKSzolA7u/nng80GfR0RE5qaZtrOIxWL1bsIMalNx1KbihbFdalNwrNxcUNUaYOb1boOISKMxMzxk\ng7YiIhISCvgiIi1CAV9EpEUo4IuItAgFfBGRFqGALyLSIhTwRURahAK+iEiLUMAXEWkRga+lI40h\nnU6TTCYB6O3tJRJRX0Ck2eivuoml02kSiQSJRIJ0Oj3rfsnkAfr6NrB8+WGWLz9MX98GkskDNWyp\niNSC1tJpUsnkAfr7NzM2FgOgszPO4OAaenuX5e2XTqfp69vAyMhGpq7/aXp6NpBIbFRPXySkyllL\nRwG/CZUSxBOJBMuXH+bYsWvzjhGN7mHv3iX09fXVruEiUjQtniYAJJPJbM8+98cbYWzs8sk8vYi0\nnsADvpmdaWYPmtlBMztgZq8P+pxSvN7eXjo740Bujj9NZ+dj9Pb21qdRIhKIWvTwNwEPuXsX0E2B\ne9pKdZUSxCORCIODa+jp2UA0uododA/d3esZHFyj/L1Ikwk0h29mLwOS7n7+HPsohx+AqUHbywHo\n6Ihz771rZwzaTlBZpkhjCd2grZl1k7lp+VNkevdDwHp3P56zjwJ+QBTERZpXOQE/6IlXC4CLgd92\n9yEz2wj8HnBb7k4DAwOTX8disaa5f2S9RSIRVdmINIl4PE48Hq/oGEH38M8G/sbdz8t+fynwMXd/\nd84+6uE3KX3CEAlO6Moy3f154KiZdWY3vZVMeqcpFDuTtRVp9q5I+AQ+8Sqbx78HOB34O+Amd/95\nzvMN2cMvdiZrvdWjl63ZuyLBC92gbVENaMCA3ygBrV4XJc3eFQle6FI6zaoRZrKm02n6+zczMrKR\nY8eu5dixaxkZ2Uh//2aln0RalAJ+iFRzTKCeFyXN3hUJJwX8MpQS0Bp9ieJyLkKavSsSUu5e10em\nCY1nePhJ7+lZ59Hobo9Gd3t3960+PPzkLPvs8fb2B72j473+mc981vft2+epVGpyv1Qq5T096xxS\nDp59ZLalUilPpVI+NDTkQ0NDea+by3zHLO3/uMej0T3e07Nuxv9xvjaU2m4RKU42dpYUbzVoW4G5\nKmDyB3YPAp/LPvMuzFJ0dHyPnTvX09u7bM5Bzi1bUvzxH/+grIHX+ZZXKL794R2YFmlVqtIJkakg\nvgJYn926idzg2d29nuHhTSSTyQIBP01b2+d5xSv+D0eOPJR9XRJIc9FF20gm/6SooDtbUJ+vgkeV\nNiLhpiqdUEoCi4E3M30AdXT0MpLJZIExgQPAek6cWMyRIzezgBu5lP/KdpaznRhnPv4tvvDZzxd1\n9onlFfr6+iaDvSp4RFqTevgBmUqJ3AjEgfOB/N5yW9su7r77JF1dXcBCbr75bkZHL+PFF7+F+1fI\nXCDSXMrFPMb+nM8G8LaFv8jD//n/WLBg5nJIE736ieAdiUTyevfF9N6V0hEJN/XwQ2SiUqW7ezvw\nOPA9plf1wE5uuaWN5csPc/PNd3PPPavZsuUEZ5zxbqZ+NElu4dC0zwZw48lj7Ny5c8Z5J6p9Lr30\n73n963/C61//p7zpTT8suepHlTYiTajUUd5qP2jQKp1ipFIp37dvn3/mM3f42Wdf7bDKYafDfQ5v\nd/jGjAqaffv2eTS6J2f7kG8n6jkb3MG3sdB37Ngx43yFKnNgncN4XtVPsRU8qrQRCSfKqNJRVy0g\nEz3tWOwon/3sa/j5zyPAO4FxoBP4JvBdpnr9kclqmvx8fi9b6Jjx2eC+9pexcuXKaecsPNkKLgf2\nT066KqX3XmgMQEQaU9Dr4ddVvZbnzR0UnQq+1wAbgNxtl5MZ1J2qeJkIxv39GyYvAP/48nN52/NH\nuPHkfwJwX9tLWbP1roL5+2JlykE35rw/mxTQRZpc0wb8mWWH22q2muXcPe3cAJ87WD0xU/caIpHI\ntGC8h3Q6PZmzf2jlyslgn3tR6+7uprNzGyMjKyBviPcx4Go6O7fR23vNVIt0gxSRltKUVTq1qjCZ\n7RPEbFUwsBs4l0zAT9Pefj1wA2aRee85W0ihWvrf/d1f5847H+Xppy/jxIlx4GEWLnwtF1zwk5KP\nLyLhpYlXWbWYNDTXxKXZLjjTA/zWrbcAJ4HSU05zXdR+/OMvsn///lnLMkWk8YXxnrZNqVCOfmRk\nBf39U58gpufhMwH+00wF+Mpy5nOthrl//36lakRkhsADvplFgCHgWXe/KujzwcRqljNz2RM58krN\nt/RwX19fSYOi1RxcTqdTZc2W1f1nRZpfLf6q11Pj+9iGZdJQMSWN5S6LPNsSzSdOfJvVq7eXNMkq\nrEszi0iVlVq4X8oDWAQ8AsSAb86yT7XnI0wKatJQNZYersZxhoef9O7uW93sfocHHW51eLKkY1Tr\n/yIitUUIJ159Cfgo+fWHNRPUpKFqfYKo9K5Uvb3LuPvuD3DGGc+Rqf7ZBCwr6RiNcLtGEamOwHL4\nZvZO4Hl3HzGzGDDraPLAwMDk17FYjFgsFlSzqiYsE5cikQiRyPlMlHpCAgB3rXop0kzi8TjxeLyi\nYwRWlmlmfwSsAk4B7cBLga+7+wem7edBtSHsqjFfYOoYq4G7yWTPnPb2+/n+9z9NX9+FgbdBRGov\ntHX4ZnY58BEvUKXTygEf5r8rVTESiSe47LLbOH58N+UE7Wq0QURqSwG/QVVaEpmZaPZTjh27Lm97\nKRPNVJYp0lhCO/HK3R8js6CLFFCdNW1K+rkH1AYRCTN145rAbDX5mYlmvfVplIiETlOupdOKlIcX\naS2hzeHP2QAF/KpRHl6kdSjgi4i0CN3EXEREZqWALyLSIhTwRURahAK+iEiLUMAXEWkRusWhyBxU\n6irNRL+9IrPQncCk2agOX6QALRstYac6fJEq0Z3ApBkp4IuItAgFfJECtAKpNCPl8EVmoRVIJcxC\nt3iamS0CtgNnk+kq3e3ufzJtHwV8CS2VZUpYhTHgvxJ4pbuPmNlLgARwtbs/nbOPAr6ISIlCV6Xj\n7v/k7iPZr/8DOAi8KshziohIYTWbaWtmS4Ae4G9rdU6ZSSkKkdZVk4CfTefsBtZne/p5BgYGJr+O\nxWLEYrFaNKvlTA1CxgDo7NzG4OAaDUKKNIB4PE48Hq/oGIFX6ZjZAuDbwMPuvqnA88rh14BmjhZH\nn4CkUYQuh581CDxVKNhL7SQSCZ5++tVAkqnacs0czaW1c6TZBRrwzexNwG8AbzGzpJkNm9mVQZ5T\nZkomD7Bq1WZefPEc4DCwAVAgy5VOp+nv38zIyEaOHbuWY8euZWRkI/39m0mn0/MfQKQBBJrDd/cf\nAqcFeY5WUW6qYSKQjY1tYer6voJM0P9iduboNUE0uaHMt3ZOX19fnVomUj1KUDaASlINswUyeBMd\nHb/B4OAa5alFWoT+0kMuqFRDW5tx//3/UxU6WVo7R1qBAn7IVbpM72yB7IILftB0aYp0Ok0ikSCR\nSJR8MYxEIgwOrqGnZwPR6B6i0T10d6/XJyBpKrrFYYDCUOI3Ecj6+zfkLQI2OLg2lIGs3PcsmTzA\nTTd9mdHRxQAsXfqVkhc66+1dRiKxMef8m0L5HomUS6tlBmTmJKd4WZOcqlU/H4aLz3zKfc/S6TRd\nXR9kbOxM4M3Zrd+js/PnHDz4lVD+X0UqVU4dPu5e10emCc0llUp5T886h5SDZx+ZbalUquTjDQ8/\n6T096zwa3e3R6G7v7r7Vh4efDKDl9VPJe7Zv3z43u3HGa81u9H379tXofyBSW9nYWVK8VdcnAOXk\n3efKP0+kGvbuXcLevUsYHt7UdIOtlYxVjI6O4v6uGa91fyejo6PVb6xIg1LAD0zxaapiyi4jkQh9\nfX309fUpRTFNR0cHcKrAM6eyz4kIKOAHZCHu91NMiZ9meGZUUhYZiUQw+9aM15p9u2kujpVUIIlM\naI6/hhBJp9PcfPPdHD/+aTKzWfcAu2lru4577lk9IwBVWnbZLCopi4xEIixc+GvAemBX9vEhFi58\nQ9kBP0wBVmv8SLUo4FfZVAC/ENgILAHOxez9wMk6tiz8yh2r6O3tpavrJ8CXgPOzj410dT1T1qSp\nMAVYfQKUalLAD1QE6AP6MCv8VmuGZ75yxiqmPh38DtHoT4lGf0p394eLnjSV25s/depUqAKsPgFK\nNWniVZVlAvg2RkZWkFs3P9siZeVOjGqEuvpaKnfS1PTa/0WL7uLw4YvQImrSlEqt46z2gyaswy+n\nbj6VSvnQ0JAPDQ1N1p0X2pZ//D0eje7xnp51TVeXX02zvY+z1f7PrOl3j0Z3+9DQUF3aXs05HdI8\nKKMOXwG/CkoJ1sWaLagrAJRmaOhx7+x8n7e13ent7Q/mXRyHhoY8Gt0z+R7CUPaxw2FfaN7fVph4\nJ6ULZcAHrgSeBsaAjxV4PrA3pBaC6G3PFdT37duXE6Tq3wMNs6Ghx729/RqH3Q57HNY5PD4ZvCcC\n/gKG/VJ6fDtR307UL2Oxv/qVsVAF2Eo7ENJ8QhfwySRCfwKcA5wOjAAXTNsnwLckWEH1tvN7nlOP\n9vav+dq1a33hwjtCk3Kop7mCYCqV8s7O35zxs4F13t6+a/I1F130234p3Z7KeTNT4Fe0neU/+tGP\nFGAltMoJ+EGP9L0OOOTuh919HNgJXB3wOWumlhUUC0jy2uMf5Y1f3so9Jz/JpVzMAibO0bhVPeXW\nu89XOplMJjly5G3MvPHL5bj/fea7SIT3vOfV3MKTM/Za9eILHDp0SDObpakE/Zv8KuBozvfPZrc1\nNfc0Bw8eLHvSzsxSzTRv4CbiHOFGxrmRFI+xn19jBe3tuxp23fZy692LqU1/+ulnOHGi0HILzuLF\nw5MXxyVLXkWpd+EM06QskZKU+pGglAdwHbAl5/tVwJ9M2yegDzzBK5zSyeSNM/nf8nP6uQN1Cxd+\n1rdzmk/P8WzjdL/99tsLphxy0x3j4+Ohy/9Wkg6bLeU1kdZKpVLe3X2rw60zjt/Wdo0PDT0+eazx\n8XG/ov2smSmd9rN8fHx8xrnDWiGlHH/roYyUTtB1+M8Bi3O+X5TdlmdgYGDy61gsRiwWC7hZ1TG9\nht49jftXOX58NxMfnkZGVtDfX9ra9ZBfV/7QQ0/BH5wGpIp6bW5teSr1LJHIH+L+fiKRCJ2d28pa\nl7/agrxpeDKZ5NChNwNLySxvsZzM2jp72LLlffT1XTi574IFC1iz9S6u/M3/warjLwBwX9tLWbP1\nLhYsyP/zyP1kUenPt5pm3kcgHD9jqa54PE48Hq/sIKVeIUp5kPmsPDFou5DMoG3XtH0CvAbWxkTv\naseOHR6N7q56Bc1svdDLOMfb23fl9TLze86pbGVK+Eo45+ulz2W+TwezlVtODNYWMj4+7jt27PAd\nO3YU7NlX2uagqEy3dRG2QVt3TwG3An8NHAB2uvvBIM9ZDxPLAXR1dQGl3YCmGJO90Paz2M5CtnMa\nl9PN3/ANjh9/T17+Or/nnAQmvp5sbSim5Ve6OuZcC63lH3tieYteli79/qzHXrBgAatWrWLVqlUz\nevZhpqUXpBSBfwZ19++4+1J373D3O4I+Xz0FuS7OdTdcz0Mv/COHb/8Uqxf+IT9gmFNMHLPx/sAr\nvWn4XAutBXVDcq17JA2v1I8E1X7QBCmdXEHPiixmwLIRUjoTghxsDOLYYZv1qpRO66KMlI5uYh6A\n+RY2q2Ths/ybmkMmbZOmu3s7w8ObAPjqV3dz++1f5+jR60in/wGzx4AbiEQidHTEuffetRrQq0DY\nFq6bGrS9HEA/4xZRzk3MFfBrLJk8wE03fZnR0eUALF26t+Q/zmTyACtXfo5Dh8D9XZil6Oj4HgMD\n7+LOOx/N5nSdRYse5g/+4G28733XkEwmGR0dZenSpZpM1ITCdhGS4Cngh1w6naaray1jY18mf+nk\ntRw8+OWi/0jT6TQXX7ye/fs35R2nvf16jh/fxdSq12l6ejawZctvsmrVZzlypA+zc1m6dK/K9kQa\nXDkBX92AGkokEtn68PyKikOHYiQSiaKPM1Vnnn+c48ffB+zP23bw4HlceunvMzb2Hl588XyOH9/L\nyMjqom/ooVml1aX3U+pJAb+GRkdHcZ85jd/9NEZHRwM4Y5qTJ4c5efIvyEx6vpbMbRfvZnT0snmr\nesJ0q79moPdT6k0Bv4aWLl2K2beZXtZn9r9ZunRp0ceZrTywvf1rQHfOtgTwduZaQGw2updqden9\nlDBQwK+hvr4+OjoA1gN7so8P0dFBSUsJzFZnvnXrB7P3dc1s6+j4Y8444/QCR8hfQKwQTeiZW6mp\nGb2fEgYK+DUUiUTYufNjdHdDW9sztLU9w0UXwc6dHyu5qqLQxKMbbrgqb9tTT93PBRfsZfongba2\nB3jggU+qkqNMSs1Iwyq1cL/aD5ps4lUxarmy4dREoQe9re1r3tHRn7da5Fxt1ISemcp9X/R+SrWh\niVdSSLk12s08oafc9ySRSLB8+WGOHbs2b3s0uoe9e5fMmZpr5vdTak91+FJ1zTihZ+ZywvGi5yVU\nEvChOd9PqQ8FfJF55C9NMTVpraenuDXtK329SLVo4pXIPCqtlglqJU6RWmichb9FQiL3bmSZ7zcp\n2EtDUEpHWopSMtIsQpXDN7M7gXcDJ4BngJvc/YUC+yngV0gDgaVRtYw0g7AF/F8HvuvuaTO7g0zN\n6McL7KeAX4FKKk5amS6S0uhCFfDzTmK2ArjO3W8s8JwCfpmUnhBpXWGu0ukHHq7RuVqG1mcRkVJU\nVKVjZo8AZ+duAhz4pLt/K7vPJ4Fxd3+gknOJ1JvSQNLoKgr47n7FXM+b2QeBdwBvmWu/gYGBya9j\nsRixWKySZrWMzDLJ2xgZWUH+HbQeo7f3mno2renMHCvZprESqal4PE48Hq/oGEEO2l4JfAFY7u7/\nMsd+yuFXQBUnwdNYiYRRqAZtzewQsBCYCPY/cvffKrCfAn6FlGoIVqXr54gEoZyAH9hMW3fvCOrY\nki8SiSjoiMi81BUUmcdst5TMjJXMftcwkbDR0goiRdBYiYRNqHL4RTdAAV8ahMZKJEwU8EVEWkSY\nZ9qKiEidKeCLiLQIBXwRkRahgC8i0iIU8EVEWoQCvohIi1DAFxFpEQr4IiItQgFfRKRFKOCLiLQI\nBXwRkRahgC8i0iICD/hm9hEzS5vZLwd9LhERmV2gAd/MFgFXAIeDPI+IiMwv6B7+l4CPBnwOEREp\nQmAB38yuAo66+xNBnUNERIpX0U3MzewR4OzcTYADnwI+QSadk/tcQQMDA5Nfx2IxYrFYJc0SEWk6\n8XiceDxe0TECueOVmf0q8ChwjEygXwQ8B7zO3f952r6645VIC9AtIqsrNHe8cvcn3f2V7n6eu58L\nPAv0Tg/2ItIakskD9PVtYPnywyxffpi+vg0kkwfq3ayypdNpEokEiUSCdDpd7+YUrSb3tDWzvwNe\n6+7/WuA59fBFmlg6naavbwMjIxuZ6mOm6enZQCKxseF6+snkAfr7NzM2FgOgszPO4OAaenuX1bQd\nuom5iIROIpFg+fLDHDt2bd72aHQPe/cuoa+vr04tK12YLl6hSemIiDSjZDKZ7dnnhs4IY2OXT45P\nhJkCvogEqre3l87OOJCb607T2fkYvb29VT9fo+bXa0EBX0QCFYlEGBxcQ0/PBqLRPUSje+juXs/g\n4JqCKZBKAnbQg8O1vnhVm3L4IlITxZRlVjIgeurUKZYtW8vY2Bam59d//OMvsn///jnPXaypNl4O\nQEdHnHvvXatB26IaoIAvIlQ2IJpMHmDlys8wNnYt8N6859raHmTx4j08+2xmezWqasIwp0ABX0Tq\nptIgWG41z9SF4kbgKJD/erMHcO8ALpl4RcOWhOZSlY6I1EU9JlZN5PofeOABRkeXA31AHDgFJLKP\nU8B3ss9NaJyqmmpTwBeRiqTTafr7NzMyspFjx67l2LFrGRnZSH//5pIGXUsZEM29wKxefQYvvvhN\n4CDw62RSOs8Az3D66ddx2mmLUajLqGjxNBGR+WrTi51YNVHN09+/IW9AdHBwbV7qJfcCM3XO64AP\nkVm6a/fk9vHx62lvv55Tp04xFe4mLiLXlPk/blwK+CISGr29y0gkNuaMBWyakWef7QID/wU4f8Z2\n9xvo7FzFs8++Byh8EWkVCvgiUpFMKmYbIyMryK2uKbcXHYlEylpuoa1tAel0hJMnZx7vvvs+Mhng\nC11EZhOGapxqauzWi0jdlTqxqlKz5fqXLn2Wrq7vz9je0RHPe22xbWq2FT5BZZkiUiW16g2n02m+\n+tXd3H771zl69DoAFi3azW23XccFF3Rx8813T44BLFr0HeAEzz67Aii+Bj9Mi6TNRnX4ItLU8mfi\nOi9/+dcwa+NnP7saMDo749xzz2rgJOl0mtWrt7N//yZKDdqNsMJnOQFfOXwRaQgzq3PSHDsWB6YC\n+sjICm6+ecPkwO+hQ2+m0uqhZlL/zyUiIkWYWZ2TBGYP6JVo9EXSZhNowDezdWZ20MyeMLM7gjyX\niLSKNJlZtAfJD8j5KgnatR6IrpXAcvhmFgM+AbzD3U+Z2Vnu/rMC+ymHLyLzSqfTdHV9kLGxM8n0\n7B24H/g0cOHEXnk5+kpXtgxzWWaoBm3N7GvAZnf/7jz7KeCLyJwm1s25/vo/5ciRr5A7CLtw4XWc\ndtr7MYsUDOhhDtqVCFvATwJ/CVwJHAc+6u5DBfZTwBdpQcUG4ole+tNPv5oXXzyH6csfR6O72bz5\nRbq6urjwwgvZtWsXACtXrmTBgtnrUhr9QlDzKh0zewQ4O3cTmc9Zn8oe+5fc/Q1mdgmwCziv0HEG\nBgYmv47FYsRisUqaJSIhN/NGJ9sK1sfnV+YkgcMFjmZ0dXXx07G/5+OXXcmNx18A4B23fJg1W+/i\nuhuuL/n8YbwYxONx4vF4ZQdx90AewEPA5Tnf/wR4eYH9XERaRyqV8p6edQ4pB8/+u887O9/n4+Pj\nefsODQ15NLonZ7/c12W29fSs8xMnTvgV7Wd5auoJT4Ff0X7WjGPOPP/UcVKplA8PP+k9Pes8Gt3j\n0ege7+lZ58PDT+a9fmhoyIeGhjyVStXkPSskGztListBXrb+AngLgJl1Aqe7+78EeD4RaQD55ZUH\ngA3AUcbGrmXZsrVzLF8QAdZk9/8abW27Jitndu3axY3HX5ixnNqq4y+wc+fOOc4/tffY2OUkEok5\nl3pu9OUWggz49wLnmdkTwAPABwI8l4g0nDSwGdhI5i5V72VsbEveOvozSyuXAV+ks/Mb7N17LsPD\nm6p6L9nR0dGyLwaNILCA7+7j7n6ju1/o7q9198eCOpeINI6pIJ4AYsw1capwPfyH2bnz97nkkksm\nc+srV65kR/vLplXcw33tL2PlypWznH9mff7SpUtnbfdcF4NGuXtW/UciRKSlTATxzs4vkLkF4dwm\n1sjfu3cJe/cuKdirX7BgAWu23sWV7WexnYVsZyFXtr2cNVvvmlGpM9ekqr6+vuyCa/kXg0WL/mrO\niwFMlY4mEonQ9vi1eJqI1MWpU6dYtmwtY2NbqNaKlKdOnZrM2ZdTlpk/uSuW3fN7dHa+wIEDg1xy\nye8UXEHznntWZ1fpzLym2FU5KxGqOvyiG6CAL9KyKp0JW21Tq2SuIFMGCtBLNPoN9u5dQiTSNqO9\nW7fews03313zpZS1WqaINJRibmlYHxFg5mqahdpbrXv61oICvojUVbm3NITqT5Aq5naNlbS33sJw\nKRURKVkQNfHlrJLZSEspK4cvIg0n6FsQlvrJoR5jERq0FZGWEMZbENZ6/R0N2opIQwrjYmWlaoTc\nfuO9qyLSVMrJxc+XN2+ESVD1oJSOiNRNJbn42fLmwLSlj4OfBFUPyuGLSEOpNBc/PRUEBDqYGybl\nBPzm+d+LSMuZyJv39fVl72E79ySoVqeALyJ100g17M1AAV9E6qaUiU7FDMTqAjI35fBFpO7mK8uc\neQ/a2Qdiw7YgW1BCNWibvXH5nwGnA+PAb7n7UIH9FPBFZFblVPI0Q13/fMI2aHsn8Cl37wVuAz4f\n4LlEpEmVMxAbiUQmUzjJZLLkWvxmreMPMuD/I3Bm9utfBJ4L8FwiIpMqWVit0W9UPpcgUzqLgR8C\nDhjwRnc/WmA/pXREZFKltfWVTOYKelG2aqr5Wjpm9ghwdu4mMgH+U8A6YJ27/4WZXQ8MAlcUOs7A\nwMDk17FYjFgsVkmzRKRBzRyc3cbg4BoGB9fQ378hbyB2cHBtwQBcyQ1Jwnwzk3g8Tjwer+gYQfbw\nX3D3l+V8/3N3P7PAfurhi8i8vWugqIHYSmbvhnEVztmEbdD2kJldDmBmbwXGAjyXiDS4+XrX02fV\nzqaSWvxmr+MPcnnkNcCfmdlC4EXglgDPJSICTE3mKjYFVK3XNgJNvBKRUKj2gOl8tfhzPd8Idfyh\nmnhVdAMU8EUkq1azZEuZuRtWCvgi0vCC7l03UunlXBTwRUTm0UiVOHMJW5WOiIiEiAK+iLSUZi+9\nnItSOiIzzz9nAAAFR0lEQVTScpphCWXl8EVEitQIpZdzUcAXEWkRGrQVEZFZKeCLiLQIBXwRkRah\ngC8i0iIU8EVEWoQCvohIi1DAFxFpERUFfDO73syeNLOUmV087bmPm9khMztoZv+tsmaKiEilKu3h\nPwFcAzyWu9HMuoD3Al3A24E/N7OSJgjUW6U3Cw6C2lQctal4YWyX2hScigK+u4+6+yFgejC/Gtjp\n7qfc/afAIeB1lZyr1sL4A1abiqM2FS+M7VKbghNUDv9VwNGc75/LbhMRkTqZ9ybmZvYIcHbuJsCB\nT7r7t4JqmIiIVFdVFk8zs+8BH3H34ez3vwe4u38u+/13gNvc/W8LvFYrp4mIlKHUxdPm7eGXIPfE\n3wTuN7MvkUnlvAbYV+hFpTZYRETKU2lZ5gozOwq8Afi2mT0M4O5PAbuAp4CHgN/SGsgiIvVV9/Xw\nRUSkNkI109bMPmJmaTP75RC05c7spLERM9tjZi+rY1uuNLOnzWzMzD5Wr3bktGeRmX3XzA6Y2RNm\n9qF6t2mCmUXMbNjMvlnvtkwwszPN7MHs79MBM3t9CNr08WxbHjez+81sYR3asNXMnjezx3O2/ZKZ\n/bWZjZrZX5nZmSFpV13jQaE25TxXdNwMTcA3s0XAFcDhercl66+BZe7eQ2Yewcfr0QgziwD/C3gb\nsAy4wcwuqEdbcpwCfsfdlwG/Bvx2CNo0YT2ZVGKYbAIecvcuoBs4WM/GmNk5wGqg190vIjOWt7IO\nTbmXzO91rt8DHnX3pcB3qc/fXaF21TseFGpTyXEzNAEf+BLw0Xo3YoK7P+ruE7e1/xGwqE5NeR1w\nyN0Pu/s4sJPMxLa6cfd/cveR7Nf/QSaA1X2eRfaX/x3APfVuy4RsT/Ayd78XIDsZ8YU6N+sF4CTw\nC2a2AIgC/1DrRrj7D4B/m7b5amBb9uttwIqaNorC7ap3PJjlvYIS42YoAr6ZXQUcdfcn6t2WWfQD\nD9fp3NMnsT1LCILrBDNbAvQAM0pu62Dilz9MA1PnAj8zs3uzqaYtZtZezwa5+78BXwCOkJkU+e/u\n/mg925TjFe7+PGQ6FsAr6tyeQuoZDyaVEzdrFvDN7JFsvnDi8UT236uATwC35e5e5za9O2efTwLj\n7v5ALdrUSMzsJcBuYH22p1/PtrwTeD77ycOo0e9QERYAFwN/5u4XA8fIpC3qxszOAz4MnAP8CvAS\nM3t/Pds0hzBdvEMTD7KdhpLjZjXr8Ofk7lcU2m5mvwosAfZnF1hbBCTM7HXu/s/1aFNO2z5IJkXw\nliDbMY/ngMU53y/KbqurbCpgN7DD3f+y3u0B3gRcZWbvANqBl5rZdnf/QJ3b9SyZXthQ9vvdQL0H\n3l8L/NDd/xXAzL4OvBEIQ6fmeTM7292fN7NXAoHGgFKEJB5MOJ8y4mbdUzru/qS7v9Ldz3P3c8n8\ngfQGHeznY2ZXkkkPXOXuJ+rYlB8DrzGzc7KVFCvJTGyrt0HgKXffVO+GALj7J9x9sbufR+Y9+m4I\ngj3Z9MRRM+vMbnor9R9UHgXeYGZt2WDxVuo3kDz909g3gQ9mv/7vQL06E3ntCkk8mGxTuXGz7gG/\nACccH8f/FHgJ8Eg29/rn9WiEu6eAW8lUCRwgswppvas83gT8BvAWM0tm358r69mmkPsQmZnnI2Sq\ndP6ono1x9/3AdiAB7Cfz97al1u0wsweA/wt0mtkRM7sJuAO4wsxGyVyI7ghJu+oaD2ZpU66i4qYm\nXomItIgw9vBFRCQACvgiIi1CAV9EpEUo4IuItAgFfBGRFqGALyLSIhTwRURahAK+iEiL+P/65OfE\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEACAYAAACwB81wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X90XHd55/H3M3EcaQqkLTmELcZxEiRH6yaSIgIUEmeA\nZgm/EucH4FCHJWoce9sYm7KU8qONCKclhAJ2u22wEyvYToJxbGiBTWiThYmBLTUajZzEcSSTFttJ\n23TpD3JaO7Y88+wfM5JmpJE0v+7MnZnP65w5lu7cuffrkfTc7zzf5/u95u6IiEjzi9S7ASIiUhsK\n+CIiLUIBX0SkRSjgi4i0CAV8EZEWoYAvItIiAg/4ZvZxMztgZo+b2f1mtjDoc4qIyEyBBnwzOwdY\nDfS6+0XAAmBlkOcUEZHCFgR8/BeAk8AvmFkaiAL/EPA5RUSkgEB7+O7+b8AXgCPAc8C/u/ujQZ5T\nREQKCzqlcx7wYeAc4FeAl5jZ+4M8p4iIFBZ0Sue1wA/d/V8BzOzrwBuBByZ2MDMt5iMiUgZ3t1L2\nD7pKZxR4g5m1mZkBbwUOTt/J3UP3uO222+reBrVJbWrFdqlNxT3KEXQOfz+wHUgA+wEDtgR5ThER\nKSzolA7u/nng80GfR0RE5qaZtrOIxWL1bsIMalNx1KbihbFdalNwrNxcUNUaYOb1boOISKMxMzxk\ng7YiIhISCvgiIi1CAV9EpEUo4IuItAgFfBGRFqGALyLSIhTwRURahAK+iEiLUMAXEWkRga+lI40h\nnU6TTCYB6O3tJRJRX0Ck2eivuoml02kSiQSJRIJ0Oj3rfsnkAfr6NrB8+WGWLz9MX98GkskDNWyp\niNSC1tJpUsnkAfr7NzM2FgOgszPO4OAaenuX5e2XTqfp69vAyMhGpq7/aXp6NpBIbFRPXySkyllL\nRwG/CZUSxBOJBMuXH+bYsWvzjhGN7mHv3iX09fXVruEiUjQtniYAJJPJbM8+98cbYWzs8sk8vYi0\nnsADvpmdaWYPmtlBMztgZq8P+pxSvN7eXjo740Bujj9NZ+dj9Pb21qdRIhKIWvTwNwEPuXsX0E2B\ne9pKdZUSxCORCIODa+jp2UA0uododA/d3esZHFyj/L1Ikwk0h29mLwOS7n7+HPsohx+AqUHbywHo\n6Ihz771rZwzaTlBZpkhjCd2grZl1k7lp+VNkevdDwHp3P56zjwJ+QBTERZpXOQE/6IlXC4CLgd92\n9yEz2wj8HnBb7k4DAwOTX8disaa5f2S9RSIRVdmINIl4PE48Hq/oGEH38M8G/sbdz8t+fynwMXd/\nd84+6uE3KX3CEAlO6Moy3f154KiZdWY3vZVMeqcpFDuTtRVp9q5I+AQ+8Sqbx78HOB34O+Amd/95\nzvMN2cMvdiZrvdWjl63ZuyLBC92gbVENaMCA3ygBrV4XJc3eFQle6FI6zaoRZrKm02n6+zczMrKR\nY8eu5dixaxkZ2Uh//2aln0RalAJ+iFRzTKCeFyXN3hUJJwX8MpQS0Bp9ieJyLkKavSsSUu5e10em\nCY1nePhJ7+lZ59Hobo9Gd3t3960+PPzkLPvs8fb2B72j473+mc981vft2+epVGpyv1Qq5T096xxS\nDp59ZLalUilPpVI+NDTkQ0NDea+by3zHLO3/uMej0T3e07Nuxv9xvjaU2m4RKU42dpYUbzVoW4G5\nKmDyB3YPAp/LPvMuzFJ0dHyPnTvX09u7bM5Bzi1bUvzxH/+grIHX+ZZXKL794R2YFmlVqtIJkakg\nvgJYn926idzg2d29nuHhTSSTyQIBP01b2+d5xSv+D0eOPJR9XRJIc9FF20gm/6SooDtbUJ+vgkeV\nNiLhpiqdUEoCi4E3M30AdXT0MpLJZIExgQPAek6cWMyRIzezgBu5lP/KdpaznRhnPv4tvvDZzxd1\n9onlFfr6+iaDvSp4RFqTevgBmUqJ3AjEgfOB/N5yW9su7r77JF1dXcBCbr75bkZHL+PFF7+F+1fI\nXCDSXMrFPMb+nM8G8LaFv8jD//n/WLBg5nJIE736ieAdiUTyevfF9N6V0hEJN/XwQ2SiUqW7ezvw\nOPA9plf1wE5uuaWN5csPc/PNd3PPPavZsuUEZ5zxbqZ+NElu4dC0zwZw48lj7Ny5c8Z5J6p9Lr30\n73n963/C61//p7zpTT8suepHlTYiTajUUd5qP2jQKp1ipFIp37dvn3/mM3f42Wdf7bDKYafDfQ5v\nd/jGjAqaffv2eTS6J2f7kG8n6jkb3MG3sdB37Ngx43yFKnNgncN4XtVPsRU8qrQRCSfKqNJRVy0g\nEz3tWOwon/3sa/j5zyPAO4FxoBP4JvBdpnr9kclqmvx8fi9b6Jjx2eC+9pexcuXKaecsPNkKLgf2\nT066KqX3XmgMQEQaU9Dr4ddVvZbnzR0UnQq+1wAbgNxtl5MZ1J2qeJkIxv39GyYvAP/48nN52/NH\nuPHkfwJwX9tLWbP1roL5+2JlykE35rw/mxTQRZpc0wb8mWWH22q2muXcPe3cAJ87WD0xU/caIpHI\ntGC8h3Q6PZmzf2jlyslgn3tR6+7uprNzGyMjKyBviPcx4Go6O7fR23vNVIt0gxSRltKUVTq1qjCZ\n7RPEbFUwsBs4l0zAT9Pefj1wA2aRee85W0ihWvrf/d1f5847H+Xppy/jxIlx4GEWLnwtF1zwk5KP\nLyLhpYlXWbWYNDTXxKXZLjjTA/zWrbcAJ4HSU05zXdR+/OMvsn///lnLMkWk8YXxnrZNqVCOfmRk\nBf39U58gpufhMwH+00wF+Mpy5nOthrl//36lakRkhsADvplFgCHgWXe/KujzwcRqljNz2RM58krN\nt/RwX19fSYOi1RxcTqdTZc2W1f1nRZpfLf6q11Pj+9iGZdJQMSWN5S6LPNsSzSdOfJvVq7eXNMkq\nrEszi0iVlVq4X8oDWAQ8AsSAb86yT7XnI0wKatJQNZYersZxhoef9O7uW93sfocHHW51eLKkY1Tr\n/yIitUUIJ159Cfgo+fWHNRPUpKFqfYKo9K5Uvb3LuPvuD3DGGc+Rqf7ZBCwr6RiNcLtGEamOwHL4\nZvZO4Hl3HzGzGDDraPLAwMDk17FYjFgsFlSzqiYsE5cikQiRyPlMlHpCAgB3rXop0kzi8TjxeLyi\nYwRWlmlmfwSsAk4B7cBLga+7+wem7edBtSHsqjFfYOoYq4G7yWTPnPb2+/n+9z9NX9+FgbdBRGov\ntHX4ZnY58BEvUKXTygEf5r8rVTESiSe47LLbOH58N+UE7Wq0QURqSwG/QVVaEpmZaPZTjh27Lm97\nKRPNVJYp0lhCO/HK3R8js6CLFFCdNW1K+rkH1AYRCTN145rAbDX5mYlmvfVplIiETlOupdOKlIcX\naS2hzeHP2QAF/KpRHl6kdSjgi4i0CN3EXEREZqWALyLSIhTwRURahAK+iEiLUMAXEWkRusWhyBxU\n6irNRL+9IrPQncCk2agOX6QALRstYac6fJEq0Z3ApBkp4IuItAgFfJECtAKpNCPl8EVmoRVIJcxC\nt3iamS0CtgNnk+kq3e3ufzJtHwV8CS2VZUpYhTHgvxJ4pbuPmNlLgARwtbs/nbOPAr6ISIlCV6Xj\n7v/k7iPZr/8DOAi8KshziohIYTWbaWtmS4Ae4G9rdU6ZSSkKkdZVk4CfTefsBtZne/p5BgYGJr+O\nxWLEYrFaNKvlTA1CxgDo7NzG4OAaDUKKNIB4PE48Hq/oGIFX6ZjZAuDbwMPuvqnA88rh14BmjhZH\nn4CkUYQuh581CDxVKNhL7SQSCZ5++tVAkqnacs0czaW1c6TZBRrwzexNwG8AbzGzpJkNm9mVQZ5T\nZkomD7Bq1WZefPEc4DCwAVAgy5VOp+nv38zIyEaOHbuWY8euZWRkI/39m0mn0/MfQKQBBJrDd/cf\nAqcFeY5WUW6qYSKQjY1tYer6voJM0P9iduboNUE0uaHMt3ZOX19fnVomUj1KUDaASlINswUyeBMd\nHb/B4OAa5alFWoT+0kMuqFRDW5tx//3/UxU6WVo7R1qBAn7IVbpM72yB7IILftB0aYp0Ok0ikSCR\nSJR8MYxEIgwOrqGnZwPR6B6i0T10d6/XJyBpKrrFYYDCUOI3Ecj6+zfkLQI2OLg2lIGs3PcsmTzA\nTTd9mdHRxQAsXfqVkhc66+1dRiKxMef8m0L5HomUS6tlBmTmJKd4WZOcqlU/H4aLz3zKfc/S6TRd\nXR9kbOxM4M3Zrd+js/PnHDz4lVD+X0UqVU4dPu5e10emCc0llUp5T886h5SDZx+ZbalUquTjDQ8/\n6T096zwa3e3R6G7v7r7Vh4efDKDl9VPJe7Zv3z43u3HGa81u9H379tXofyBSW9nYWVK8VdcnAOXk\n3efKP0+kGvbuXcLevUsYHt7UdIOtlYxVjI6O4v6uGa91fyejo6PVb6xIg1LAD0zxaapiyi4jkQh9\nfX309fUpRTFNR0cHcKrAM6eyz4kIKOAHZCHu91NMiZ9meGZUUhYZiUQw+9aM15p9u2kujpVUIIlM\naI6/hhBJp9PcfPPdHD/+aTKzWfcAu2lru4577lk9IwBVWnbZLCopi4xEIixc+GvAemBX9vEhFi58\nQ9kBP0wBVmv8SLUo4FfZVAC/ENgILAHOxez9wMk6tiz8yh2r6O3tpavrJ8CXgPOzj410dT1T1qSp\nMAVYfQKUalLAD1QE6AP6MCv8VmuGZ75yxiqmPh38DtHoT4lGf0p394eLnjSV25s/depUqAKsPgFK\nNWniVZVlAvg2RkZWkFs3P9siZeVOjGqEuvpaKnfS1PTa/0WL7uLw4YvQImrSlEqt46z2gyaswy+n\nbj6VSvnQ0JAPDQ1N1p0X2pZ//D0eje7xnp51TVeXX02zvY+z1f7PrOl3j0Z3+9DQUF3aXs05HdI8\nKKMOXwG/CkoJ1sWaLagrAJRmaOhx7+x8n7e13ent7Q/mXRyHhoY8Gt0z+R7CUPaxw2FfaN7fVph4\nJ6ULZcAHrgSeBsaAjxV4PrA3pBaC6G3PFdT37duXE6Tq3wMNs6Ghx729/RqH3Q57HNY5PD4ZvCcC\n/gKG/VJ6fDtR307UL2Oxv/qVsVAF2Eo7ENJ8QhfwySRCfwKcA5wOjAAXTNsnwLckWEH1tvN7nlOP\n9vav+dq1a33hwjtCk3Kop7mCYCqV8s7O35zxs4F13t6+a/I1F130234p3Z7KeTNT4Fe0neU/+tGP\nFGAltMoJ+EGP9L0OOOTuh919HNgJXB3wOWumlhUUC0jy2uMf5Y1f3so9Jz/JpVzMAibO0bhVPeXW\nu89XOplMJjly5G3MvPHL5bj/fea7SIT3vOfV3MKTM/Za9eILHDp0SDObpakE/Zv8KuBozvfPZrc1\nNfc0Bw8eLHvSzsxSzTRv4CbiHOFGxrmRFI+xn19jBe3tuxp23fZy692LqU1/+ulnOHGi0HILzuLF\nw5MXxyVLXkWpd+EM06QskZKU+pGglAdwHbAl5/tVwJ9M2yegDzzBK5zSyeSNM/nf8nP6uQN1Cxd+\n1rdzmk/P8WzjdL/99tsLphxy0x3j4+Ohy/9Wkg6bLeU1kdZKpVLe3X2rw60zjt/Wdo0PDT0+eazx\n8XG/ov2smSmd9rN8fHx8xrnDWiGlHH/roYyUTtB1+M8Bi3O+X5TdlmdgYGDy61gsRiwWC7hZ1TG9\nht49jftXOX58NxMfnkZGVtDfX9ra9ZBfV/7QQ0/BH5wGpIp6bW5teSr1LJHIH+L+fiKRCJ2d28pa\nl7/agrxpeDKZ5NChNwNLySxvsZzM2jp72LLlffT1XTi574IFC1iz9S6u/M3/warjLwBwX9tLWbP1\nLhYsyP/zyP1kUenPt5pm3kcgHD9jqa54PE48Hq/sIKVeIUp5kPmsPDFou5DMoG3XtH0CvAbWxkTv\naseOHR6N7q56Bc1svdDLOMfb23fl9TLze86pbGVK+Eo45+ulz2W+TwezlVtODNYWMj4+7jt27PAd\nO3YU7NlX2uagqEy3dRG2QVt3TwG3An8NHAB2uvvBIM9ZDxPLAXR1dQGl3YCmGJO90Paz2M5CtnMa\nl9PN3/ANjh9/T17+Or/nnAQmvp5sbSim5Ve6OuZcC63lH3tieYteli79/qzHXrBgAatWrWLVqlUz\nevZhpqUXpBSBfwZ19++4+1J373D3O4I+Xz0FuS7OdTdcz0Mv/COHb/8Uqxf+IT9gmFNMHLPx/sAr\nvWn4XAutBXVDcq17JA2v1I8E1X7QBCmdXEHPiixmwLIRUjoTghxsDOLYYZv1qpRO66KMlI5uYh6A\n+RY2q2Ths/ybmkMmbZOmu3s7w8ObAPjqV3dz++1f5+jR60in/wGzx4AbiEQidHTEuffetRrQq0DY\nFq6bGrS9HEA/4xZRzk3MFfBrLJk8wE03fZnR0eUALF26t+Q/zmTyACtXfo5Dh8D9XZil6Oj4HgMD\n7+LOOx/N5nSdRYse5g/+4G28733XkEwmGR0dZenSpZpM1ITCdhGS4Cngh1w6naaray1jY18mf+nk\ntRw8+OWi/0jT6TQXX7ye/fs35R2nvf16jh/fxdSq12l6ejawZctvsmrVZzlypA+zc1m6dK/K9kQa\nXDkBX92AGkokEtn68PyKikOHYiQSiaKPM1Vnnn+c48ffB+zP23bw4HlceunvMzb2Hl588XyOH9/L\nyMjqom/ooVml1aX3U+pJAb+GRkdHcZ85jd/9NEZHRwM4Y5qTJ4c5efIvyEx6vpbMbRfvZnT0snmr\nesJ0q79moPdT6k0Bv4aWLl2K2beZXtZn9r9ZunRp0ceZrTywvf1rQHfOtgTwduZaQGw2updqden9\nlDBQwK+hvr4+OjoA1gN7so8P0dFBSUsJzFZnvnXrB7P3dc1s6+j4Y8444/QCR8hfQKwQTeiZW6mp\nGb2fEgYK+DUUiUTYufNjdHdDW9sztLU9w0UXwc6dHyu5qqLQxKMbbrgqb9tTT93PBRfsZfongba2\nB3jggU+qkqNMSs1Iwyq1cL/aD5ps4lUxarmy4dREoQe9re1r3tHRn7da5Fxt1ISemcp9X/R+SrWh\niVdSSLk12s08oafc9ySRSLB8+WGOHbs2b3s0uoe9e5fMmZpr5vdTak91+FJ1zTihZ+ZywvGi5yVU\nEvChOd9PqQ8FfJF55C9NMTVpraenuDXtK329SLVo4pXIPCqtlglqJU6RWmichb9FQiL3bmSZ7zcp\n2EtDUEpHWopSMtIsQpXDN7M7gXcDJ4BngJvc/YUC+yngV0gDgaVRtYw0g7AF/F8HvuvuaTO7g0zN\n6McL7KeAX4FKKk5amS6S0uhCFfDzTmK2ArjO3W8s8JwCfpmUnhBpXWGu0ukHHq7RuVqG1mcRkVJU\nVKVjZo8AZ+duAhz4pLt/K7vPJ4Fxd3+gknOJ1JvSQNLoKgr47n7FXM+b2QeBdwBvmWu/gYGBya9j\nsRixWKySZrWMzDLJ2xgZWUH+HbQeo7f3mno2renMHCvZprESqal4PE48Hq/oGEEO2l4JfAFY7u7/\nMsd+yuFXQBUnwdNYiYRRqAZtzewQsBCYCPY/cvffKrCfAn6FlGoIVqXr54gEoZyAH9hMW3fvCOrY\nki8SiSjoiMi81BUUmcdst5TMjJXMftcwkbDR0goiRdBYiYRNqHL4RTdAAV8ahMZKJEwU8EVEWkSY\nZ9qKiEidKeCLiLQIBXwRkRahgC8i0iIU8EVEWoQCvohIi1DAFxFpEQr4IiItQgFfRKRFKOCLiLQI\nBXwRkRahgC8i0iICD/hm9hEzS5vZLwd9LhERmV2gAd/MFgFXAIeDPI+IiMwv6B7+l4CPBnwOEREp\nQmAB38yuAo66+xNBnUNERIpX0U3MzewR4OzcTYADnwI+QSadk/tcQQMDA5Nfx2IxYrFYJc0SEWk6\n8XiceDxe0TECueOVmf0q8ChwjEygXwQ8B7zO3f952r6645VIC9AtIqsrNHe8cvcn3f2V7n6eu58L\nPAv0Tg/2ItIakskD9PVtYPnywyxffpi+vg0kkwfq3ayypdNpEokEiUSCdDpd7+YUrSb3tDWzvwNe\n6+7/WuA59fBFmlg6naavbwMjIxuZ6mOm6enZQCKxseF6+snkAfr7NzM2FgOgszPO4OAaenuX1bQd\nuom5iIROIpFg+fLDHDt2bd72aHQPe/cuoa+vr04tK12YLl6hSemIiDSjZDKZ7dnnhs4IY2OXT45P\nhJkCvogEqre3l87OOJCb607T2fkYvb29VT9fo+bXa0EBX0QCFYlEGBxcQ0/PBqLRPUSje+juXs/g\n4JqCKZBKAnbQg8O1vnhVm3L4IlITxZRlVjIgeurUKZYtW8vY2Bam59d//OMvsn///jnPXaypNl4O\nQEdHnHvvXatB26IaoIAvIlQ2IJpMHmDlys8wNnYt8N6859raHmTx4j08+2xmezWqasIwp0ABX0Tq\nptIgWG41z9SF4kbgKJD/erMHcO8ALpl4RcOWhOZSlY6I1EU9JlZN5PofeOABRkeXA31AHDgFJLKP\nU8B3ss9NaJyqmmpTwBeRiqTTafr7NzMyspFjx67l2LFrGRnZSH//5pIGXUsZEM29wKxefQYvvvhN\n4CDw62RSOs8Az3D66ddx2mmLUajLqGjxNBGR+WrTi51YNVHN09+/IW9AdHBwbV7qJfcCM3XO64AP\nkVm6a/fk9vHx62lvv55Tp04xFe4mLiLXlPk/blwK+CISGr29y0gkNuaMBWyakWef7QID/wU4f8Z2\n9xvo7FzFs8++Byh8EWkVCvgiUpFMKmYbIyMryK2uKbcXHYlEylpuoa1tAel0hJMnZx7vvvs+Mhng\nC11EZhOGapxqauzWi0jdlTqxqlKz5fqXLn2Wrq7vz9je0RHPe22xbWq2FT5BZZkiUiW16g2n02m+\n+tXd3H771zl69DoAFi3azW23XccFF3Rx8813T44BLFr0HeAEzz67Aii+Bj9Mi6TNRnX4ItLU8mfi\nOi9/+dcwa+NnP7saMDo749xzz2rgJOl0mtWrt7N//yZKDdqNsMJnOQFfOXwRaQgzq3PSHDsWB6YC\n+sjICm6+ecPkwO+hQ2+m0uqhZlL/zyUiIkWYWZ2TBGYP6JVo9EXSZhNowDezdWZ20MyeMLM7gjyX\niLSKNJlZtAfJD8j5KgnatR6IrpXAcvhmFgM+AbzD3U+Z2Vnu/rMC+ymHLyLzSqfTdHV9kLGxM8n0\n7B24H/g0cOHEXnk5+kpXtgxzWWaoBm3N7GvAZnf/7jz7KeCLyJwm1s25/vo/5ciRr5A7CLtw4XWc\ndtr7MYsUDOhhDtqVCFvATwJ/CVwJHAc+6u5DBfZTwBdpQcUG4ole+tNPv5oXXzyH6csfR6O72bz5\nRbq6urjwwgvZtWsXACtXrmTBgtnrUhr9QlDzKh0zewQ4O3cTmc9Zn8oe+5fc/Q1mdgmwCziv0HEG\nBgYmv47FYsRisUqaJSIhN/NGJ9sK1sfnV+YkgcMFjmZ0dXXx07G/5+OXXcmNx18A4B23fJg1W+/i\nuhuuL/n8YbwYxONx4vF4ZQdx90AewEPA5Tnf/wR4eYH9XERaRyqV8p6edQ4pB8/+u887O9/n4+Pj\nefsODQ15NLonZ7/c12W29fSs8xMnTvgV7Wd5auoJT4Ff0X7WjGPOPP/UcVKplA8PP+k9Pes8Gt3j\n0ege7+lZ58PDT+a9fmhoyIeGhjyVStXkPSskGztListBXrb+AngLgJl1Aqe7+78EeD4RaQD55ZUH\ngA3AUcbGrmXZsrVzLF8QAdZk9/8abW27Jitndu3axY3HX5ixnNqq4y+wc+fOOc4/tffY2OUkEok5\nl3pu9OUWggz49wLnmdkTwAPABwI8l4g0nDSwGdhI5i5V72VsbEveOvozSyuXAV+ks/Mb7N17LsPD\nm6p6L9nR0dGyLwaNILCA7+7j7n6ju1/o7q9198eCOpeINI6pIJ4AYsw1capwPfyH2bnz97nkkksm\nc+srV65kR/vLplXcw33tL2PlypWznH9mff7SpUtnbfdcF4NGuXtW/UciRKSlTATxzs4vkLkF4dwm\n1sjfu3cJe/cuKdirX7BgAWu23sWV7WexnYVsZyFXtr2cNVvvmlGpM9ekqr6+vuyCa/kXg0WL/mrO\niwFMlY4mEonQ9vi1eJqI1MWpU6dYtmwtY2NbqNaKlKdOnZrM2ZdTlpk/uSuW3fN7dHa+wIEDg1xy\nye8UXEHznntWZ1fpzLym2FU5KxGqOvyiG6CAL9KyKp0JW21Tq2SuIFMGCtBLNPoN9u5dQiTSNqO9\nW7fews03313zpZS1WqaINJRibmlYHxFg5mqahdpbrXv61oICvojUVbm3NITqT5Aq5naNlbS33sJw\nKRURKVkQNfHlrJLZSEspK4cvIg0n6FsQlvrJoR5jERq0FZGWEMZbENZ6/R0N2opIQwrjYmWlaoTc\nfuO9qyLSVMrJxc+XN2+ESVD1oJSOiNRNJbn42fLmwLSlj4OfBFUPyuGLSEOpNBc/PRUEBDqYGybl\nBPzm+d+LSMuZyJv39fVl72E79ySoVqeALyJ100g17M1AAV9E6qaUiU7FDMTqAjI35fBFpO7mK8uc\neQ/a2Qdiw7YgW1BCNWibvXH5nwGnA+PAb7n7UIH9FPBFZFblVPI0Q13/fMI2aHsn8Cl37wVuAz4f\n4LlEpEmVMxAbiUQmUzjJZLLkWvxmreMPMuD/I3Bm9utfBJ4L8FwiIpMqWVit0W9UPpcgUzqLgR8C\nDhjwRnc/WmA/pXREZFKltfWVTOYKelG2aqr5Wjpm9ghwdu4mMgH+U8A6YJ27/4WZXQ8MAlcUOs7A\nwMDk17FYjFgsVkmzRKRBzRyc3cbg4BoGB9fQ378hbyB2cHBtwQBcyQ1Jwnwzk3g8Tjwer+gYQfbw\nX3D3l+V8/3N3P7PAfurhi8i8vWugqIHYSmbvhnEVztmEbdD2kJldDmBmbwXGAjyXiDS4+XrX02fV\nzqaSWvxmr+MPcnnkNcCfmdlC4EXglgDPJSICTE3mKjYFVK3XNgJNvBKRUKj2gOl8tfhzPd8Idfyh\nmnhVdAMU8EUkq1azZEuZuRtWCvgi0vCC7l03UunlXBTwRUTm0UiVOHMJW5WOiIiEiAK+iLSUZi+9\nnItSOiIzzz9nAAAFR0lEQVTScpphCWXl8EVEitQIpZdzUcAXEWkRGrQVEZFZKeCLiLQIBXwRkRah\ngC8i0iIU8EVEWoQCvohIi1DAFxFpERUFfDO73syeNLOUmV087bmPm9khMztoZv+tsmaKiEilKu3h\nPwFcAzyWu9HMuoD3Al3A24E/N7OSJgjUW6U3Cw6C2lQctal4YWyX2hScigK+u4+6+yFgejC/Gtjp\n7qfc/afAIeB1lZyr1sL4A1abiqM2FS+M7VKbghNUDv9VwNGc75/LbhMRkTqZ9ybmZvYIcHbuJsCB\nT7r7t4JqmIiIVFdVFk8zs+8BH3H34ez3vwe4u38u+/13gNvc/W8LvFYrp4mIlKHUxdPm7eGXIPfE\n3wTuN7MvkUnlvAbYV+hFpTZYRETKU2lZ5gozOwq8Afi2mT0M4O5PAbuAp4CHgN/SGsgiIvVV9/Xw\nRUSkNkI109bMPmJmaTP75RC05c7spLERM9tjZi+rY1uuNLOnzWzMzD5Wr3bktGeRmX3XzA6Y2RNm\n9qF6t2mCmUXMbNjMvlnvtkwwszPN7MHs79MBM3t9CNr08WxbHjez+81sYR3asNXMnjezx3O2/ZKZ\n/bWZjZrZX5nZmSFpV13jQaE25TxXdNwMTcA3s0XAFcDhercl66+BZe7eQ2Yewcfr0QgziwD/C3gb\nsAy4wcwuqEdbcpwCfsfdlwG/Bvx2CNo0YT2ZVGKYbAIecvcuoBs4WM/GmNk5wGqg190vIjOWt7IO\nTbmXzO91rt8DHnX3pcB3qc/fXaF21TseFGpTyXEzNAEf+BLw0Xo3YoK7P+ruE7e1/xGwqE5NeR1w\nyN0Pu/s4sJPMxLa6cfd/cveR7Nf/QSaA1X2eRfaX/x3APfVuy4RsT/Ayd78XIDsZ8YU6N+sF4CTw\nC2a2AIgC/1DrRrj7D4B/m7b5amBb9uttwIqaNorC7ap3PJjlvYIS42YoAr6ZXQUcdfcn6t2WWfQD\nD9fp3NMnsT1LCILrBDNbAvQAM0pu62Dilz9MA1PnAj8zs3uzqaYtZtZezwa5+78BXwCOkJkU+e/u\n/mg925TjFe7+PGQ6FsAr6tyeQuoZDyaVEzdrFvDN7JFsvnDi8UT236uATwC35e5e5za9O2efTwLj\n7v5ALdrUSMzsJcBuYH22p1/PtrwTeD77ycOo0e9QERYAFwN/5u4XA8fIpC3qxszOAz4MnAP8CvAS\nM3t/Pds0hzBdvEMTD7KdhpLjZjXr8Ofk7lcU2m5mvwosAfZnF1hbBCTM7HXu/s/1aFNO2z5IJkXw\nliDbMY/ngMU53y/KbqurbCpgN7DD3f+y3u0B3gRcZWbvANqBl5rZdnf/QJ3b9SyZXthQ9vvdQL0H\n3l8L/NDd/xXAzL4OvBEIQ6fmeTM7292fN7NXAoHGgFKEJB5MOJ8y4mbdUzru/qS7v9Ldz3P3c8n8\ngfQGHeznY2ZXkkkPXOXuJ+rYlB8DrzGzc7KVFCvJTGyrt0HgKXffVO+GALj7J9x9sbufR+Y9+m4I\ngj3Z9MRRM+vMbnor9R9UHgXeYGZt2WDxVuo3kDz909g3gQ9mv/7vQL06E3ntCkk8mGxTuXGz7gG/\nACccH8f/FHgJ8Eg29/rn9WiEu6eAW8lUCRwgswppvas83gT8BvAWM0tm358r69mmkPsQmZnnI2Sq\ndP6ono1x9/3AdiAB7Cfz97al1u0wsweA/wt0mtkRM7sJuAO4wsxGyVyI7ghJu+oaD2ZpU66i4qYm\nXomItIgw9vBFRCQACvgiIi1CAV9EpEUo4IuItAgFfBGRFqGALyLSIhTwRURahAK+iEiL+P/65OfE\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nbjcQ0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for i in range(15):\n", + " errors = np.zeros((N, K))\n", + " for i, x in enumerate(X):\n", + " for j, c in enumerate(clusters):\n", + " e = np.sum(np.power(x - c, 2))\n", + " errors[i][j] = e\n", + " #print\n", + " #print errors\n", + " #print \"e,c,e\", x, c, e\n", + "\n", + " assignments = np.argmin(errors, axis=1)\n", + "# print assignments\n", + "# print \"c\", clusters, assignments\n", + " for j, c in enumerate(clusters):\n", + " members = X[j == assignments]\n", + " if members.sum(axis=0)[0]:\n", + " clusters[j] = members.sum(axis=0) / float(len(members))\n", + " #clusters[j] = 2\n", + "# print members.sum(axis=0) / float(len(members))\n", + "# print \"c\", clusters\n", + " plot(X, clusters)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/PCA.ipynb b/PCA.ipynb new file mode 100644 index 0000000..aaf5485 --- /dev/null +++ b/PCA.ipynb @@ -0,0 +1,47 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "from matplotlib import pylab as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Perceptron.ipynb b/Perceptron.ipynb new file mode 100644 index 0000000..d84d972 --- /dev/null +++ b/Perceptron.ipynb @@ -0,0 +1,335 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "<__main__.Perceptron at 0x1092357d0>" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class Perceptron(object):\n", + " def __init(self):\n", + " super(Perceptron, object).__init(self)\n", + " \n", + " def fit(self, X, Y, eta=0.001, iterations=100):\n", + " self.w_ = np.zeros(1 + X.shape[1])\n", + " \n", + " self.errors_ = []\n", + " for _ in range(iterations):\n", + " errors = 0\n", + " for xi, target in zip(X, y):\n", + " \n", + " update = eta * (target - self.predict(xi))\n", + "# if iterations % 20 == 0:\n", + "# print \"w: {}, xi: {}, target: {}, update: {}\".format(\n", + "# self.w_, xi, target, update)\n", + " self.w_[1:] += update * xi\n", + " self.w_[0] += update\n", + " errors += float(update != 0.0)\n", + " #print \"errors: \", errors\n", + " self.errors_.append(errors)\n", + " return self\n", + " \n", + " def net_input(self, X):\n", + " \"\"\"Calculate net input\"\"\"\n", + "# print \"net input:\"\n", + "# print X, self.w_[1:]\n", + "# print \"end of net input\"\n", + " return np.dot(X, self.w_[1:]) + self.w_[0]\n", + " \n", + " def predict(self, X):\n", + " return np.where(self.net_input(X) >= 0.0, 1, -1)\n", + "\n", + " \n", + "p = Perceptron()\n", + "p.fit(x, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
slswplpwc
736.12.84.71.22
175.13.51.40.31
836.02.75.11.62
55.43.91.70.41
224.63.61.00.21
\n", + "
" + ], + "text/plain": [ + " sl sw pl pw c\n", + "73 6.1 2.8 4.7 1.2 2\n", + "17 5.1 3.5 1.4 0.3 1\n", + "83 6.0 2.7 5.1 1.6 2\n", + "5 5.4 3.9 1.7 0.4 1\n", + "22 4.6 3.6 1.0 0.2 1" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv(\"data/iris.txt\", delimiter=\" \")\n", + "df.sample(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([[ 1.4, 0.2],\n", + " [ 1.4, 0.2],\n", + " [ 1.3, 0.2],\n", + " [ 1.5, 0.2],\n", + " [ 1.4, 0.2],\n", + " [ 1.7, 0.4],\n", + " [ 1.4, 0.3],\n", + " [ 1.5, 0.2],\n", + " [ 1.4, 0.2],\n", + " [ 1.5, 0.1],\n", + " [ 1.5, 0.2],\n", + " [ 1.6, 0.2],\n", + " [ 1.4, 0.1],\n", + " [ 1.1, 0.1],\n", + " [ 1.2, 0.2],\n", + " [ 1.5, 0.4],\n", + " [ 1.3, 0.4],\n", + " [ 1.4, 0.3],\n", + " [ 1.7, 0.3],\n", + " [ 1.5, 0.3],\n", + " [ 1.7, 0.2],\n", + " [ 1.5, 0.4],\n", + " [ 1. , 0.2],\n", + " [ 1.7, 0.5],\n", + " [ 1.9, 0.2],\n", + " [ 1.6, 0.2],\n", + " [ 1.6, 0.4],\n", + " [ 1.5, 0.2],\n", + " [ 1.4, 0.2],\n", + " [ 1.6, 0.2],\n", + " [ 1.6, 0.2],\n", + " [ 1.5, 0.4],\n", + " [ 1.5, 0.1],\n", + " [ 1.4, 0.2],\n", + " [ 1.5, 0.1],\n", + " [ 1.2, 0.2],\n", + " [ 1.3, 0.2],\n", + " [ 1.5, 0.1],\n", + " [ 1.3, 0.2],\n", + " [ 1.5, 0.2],\n", + " [ 1.3, 0.3],\n", + " [ 1.3, 0.3],\n", + " [ 1.3, 0.2],\n", + " [ 1.6, 0.6],\n", + " [ 1.9, 0.4],\n", + " [ 1.4, 0.3],\n", + " [ 1.6, 0.2],\n", + " [ 1.4, 0.2],\n", + " [ 1.5, 0.2],\n", + " [ 1.4, 0.2],\n", + " [ 4.7, 1.4],\n", + " [ 4.5, 1.5],\n", + " [ 4.9, 1.5],\n", + " [ 4. , 1.3],\n", + " [ 4.6, 1.5],\n", + " [ 4.5, 1.3],\n", + " [ 4.7, 1.6],\n", + " [ 3.3, 1. ],\n", + " [ 4.6, 1.3],\n", + " [ 3.9, 1.4],\n", + " [ 3.5, 1. ],\n", + " [ 4.2, 1.5],\n", + " [ 4. , 1. ],\n", + " [ 4.7, 1.4],\n", + " [ 3.6, 1.3],\n", + " [ 4.4, 1.4],\n", + " [ 4.5, 1.5],\n", + " [ 4.1, 1. ],\n", + " [ 4.5, 1.5],\n", + " [ 3.9, 1.1],\n", + " [ 4.8, 1.8],\n", + " [ 4. , 1.3],\n", + " [ 4.9, 1.5],\n", + " [ 4.7, 1.2],\n", + " [ 4.3, 1.3],\n", + " [ 4.4, 1.4],\n", + " [ 4.8, 1.4],\n", + " [ 5. , 1.7],\n", + " [ 4.5, 1.5],\n", + " [ 3.5, 1. ],\n", + " [ 3.8, 1.1],\n", + " [ 3.7, 1. ],\n", + " [ 3.9, 1.2],\n", + " [ 5.1, 1.6],\n", + " [ 4.5, 1.5],\n", + " [ 4.5, 1.6],\n", + " [ 4.7, 1.5],\n", + " [ 4.4, 1.3],\n", + " [ 4.1, 1.3],\n", + " [ 4. , 1.3],\n", + " [ 4.4, 1.2],\n", + " [ 4.6, 1.4],\n", + " [ 4. , 1.2],\n", + " [ 3.3, 1. ],\n", + " [ 4.2, 1.3],\n", + " [ 4.2, 1.2],\n", + " [ 4.2, 1.3],\n", + " [ 4.3, 1.3],\n", + " [ 3. , 1.1],\n", + " [ 4.1, 1.3]]),\n", + " array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", + " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", + " 2, 2, 2, 2, 2, 2, 2, 2]))" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y = df.iloc[0:100, 4].values\n", + "x = df.iloc[0:100, [2, 3]].values\n", + "x, y" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/SVD.ipynb b/SVD.ipynb new file mode 100644 index 0000000..d350391 --- /dev/null +++ b/SVD.ipynb @@ -0,0 +1,529 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from matplotlib import pylab as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "D = 4\n", + "N = 180\n", + "\n", + "X = np.mat(np.random.randn(D/2,N))\n", + "X = np.vstack([X, X + 4])" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "U,Sig,V = np.linalg.svd(X, full_matrices=True)\n", + "# print(X)\n", + "# print(U)\n", + "# print(np.diag(Sig))\n", + "# print(V)" + ] + }, + { + "cell_type": "code", + "execution_count": 181, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# a = U[:,0]\n", + "# print U[:,0]\n", + "# print \"s\", Sig[0]\n", + "# print 'V',V[0,:]\n", + "# w = Sig[0] * V[0,:]\n", + "# print 'w', w\n", + "\n", + "# Xhat = U[:,:2] * Sig[0:2] * V[0:2,:]\n", + "# print Xhat\n", + "\n", + "# plt.plot(X[0,:], X[1,:],'x')\n", + "# plt.plot(Xhat[0,:], Xhat[1,:],'o')\n", + "# ax = plt.gca()\n", + "# ax.set_aspect(1)\n", + "# plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 185, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(150, 4)\n" + ] + } + ], + "source": [ + "df = pd.read_csv(\"data/iris.txt\", delimiter=\" \")\n", + "X = np.mat(df.iloc[:, [0, 1 ,2, 3]])\n", + "print X.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 186, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "U: (150, 150)\n", + "S: (4, 4)\n", + "V: (4, 4)\n" + ] + } + ], + "source": [ + "U, S, V = np.linalg.svd(X, full_matrices=True)\n", + "S = np.diag(S)\n", + "print \"U: \", U.shape\n", + "print \"S: \", S.shape\n", + "print \"V: \", V.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X_hat: (150, 4)\n", + "[[ 5.09945346 3.50050812 1.40094556 0.19840569]\n", + " [ 4.74974728 3.19172985 1.46006954 0.25494146]\n", + " [ 4.69047924 3.2108907 1.30863935 0.1915549 ]\n", + " [ 4.61834831 3.08439659 1.46266616 0.26731753]\n", + " [ 5.07896131 3.5005194 1.36352353 0.18323972]\n", + " [ 5.5300156 3.7270409 1.67511126 0.28560814]\n", + " [ 4.73513024 3.22346842 1.36171979 0.21173807]\n", + " [ 5.0090388 3.3931523 1.47838624 0.24111369]\n", + " [ 4.38266777 2.92709982 1.38778914 0.25356965]\n", + " [ 4.80937785 3.22911564 1.48446275 0.26088223]\n", + " [ 5.39972928 3.70190802 1.49410632 0.21490986]\n", + " [ 4.89813198 3.28580776 1.5184049 0.26865573]\n", + " [ 4.68239571 3.1600364 1.40873117 0.23748098]\n", + " [ 4.3045681 2.99693565 1.08755409 0.12453562]\n", + " [ 5.73556855 4.0680786 1.28006801 0.08954214]\n", + " [ 5.90774958 4.11819888 1.48109876 0.16571941]\n", + " [ 5.45688065 3.80359406 1.36876673 0.15338963]\n", + " [ 5.10220976 3.48809845 1.43400019 0.21310987]\n", + " [ 5.67694201 3.82764554 1.71604614 0.29158251]\n", + " [ 5.25280287 3.60130338 1.45317145 0.20893548]\n", + " [ 5.30398738 3.53128822 1.70469346 0.31824813]\n", + " [ 5.21145604 3.5447793 1.50536436 0.23604934]\n", + " [ 4.74744524 3.40066007 0.98404405 0.03999603]\n", + " [ 5.07436731 3.31763542 1.76814442 0.36650147]\n", + " [ 4.95298319 3.22839289 1.74816329 0.36781961]\n", + " [ 4.85091003 3.19755639 1.63152554 0.32380701]\n", + " [ 5.03283513 3.34919467 1.62108163 0.30357669]\n", + " [ 5.18233248 3.52547296 1.49581543 0.23421661]\n", + " [ 5.11994561 3.50049684 1.43836759 0.21357166]\n", + " [ 4.74533045 3.15347583 1.53839774 0.29071878]\n", + " [ 4.7658226 3.15346455 1.57581977 0.30588474]\n", + " [ 5.2729325 3.54474546 1.61763045 0.28154725]\n", + " [ 5.44419493 3.80256906 1.34793106 0.14505439]\n", + " [ 5.66655645 3.98572146 1.34011248 0.12256316]\n", + " [ 4.80937785 3.22911564 1.48446275 0.26088223]\n", + " [ 4.86598133 3.36233837 1.28690443 0.16676916]\n", + " [ 5.33955083 3.69605891 1.39749438 0.17637624]\n", + " [ 4.80937785 3.22911564 1.48446275 0.26088223]\n", + " [ 4.40848715 2.99035252 1.29206472 0.20810535]\n", + " [ 5.07363407 3.43725543 1.49666998 0.24386999]\n", + " [ 5.01933074 3.46313362 1.33913032 0.17729895]\n", + " [ 4.16711685 2.71324513 1.47737112 0.31243354]\n", + " [ 4.4966934 3.07858133 1.25378813 0.18328601]\n", + " [ 5.08245084 3.36848973 1.66805259 0.32057539]\n", + " [ 5.32869412 3.51234054 1.7925706 0.35585818]\n", + " [ 4.6879083 3.13521705 1.47484043 0.26688935]\n", + " [ 5.26833031 3.59457476 1.49670295 0.22728592]\n", + " [ 4.6441677 3.14764929 1.36694174 0.22185323]\n", + " [ 5.335134 3.65780489 1.47582259 0.21215356]\n", + " [ 4.94665193 3.36817619 1.4209384 0.22046874]\n", + " [ 6.83089327 3.42564462 4.72974932 1.55525724]\n", + " [ 6.40951042 3.18689278 4.49992925 1.4873144 ]\n", + " [ 6.76151864 3.28674083 4.91683076 1.64572406]\n", + " [ 5.33429352 2.51344581 4.05858032 1.37951329]\n", + " [ 6.31597694 3.03539999 4.67135229 1.57276401]\n", + " [ 5.77541839 2.72653263 4.382387 1.48825065]\n", + " [ 6.42834204 3.1362178 4.64873411 1.55296187]\n", + " [ 4.85456992 2.46413852 3.2944728 1.07507089]\n", + " [ 6.41916275 3.14843687 4.60438848 1.53370227]\n", + " [ 5.30139274 2.56432267 3.88364443 1.30325527]\n", + " [ 4.77932018 2.29350744 3.54248196 1.19357513]\n", + " [ 5.94347657 2.93556321 4.21702875 1.39918839]\n", + " [ 5.60489789 2.72707604 4.06997342 1.36159188]\n", + " [ 6.11722639 2.89637328 4.62261055 1.5676796 ]\n", + " [ 5.59037259 2.89878852 3.65568978 1.17559304]\n", + " [ 6.5381531 3.30663571 4.464278 1.46023415]\n", + " [ 5.80454195 2.74583897 4.39193593 1.49008338]\n", + " [ 5.7145067 2.84030353 4.01430062 1.32708555]\n", + " [ 5.83928862 2.65754248 4.65474469 1.60589854]\n", + " [ 5.46329871 2.68973538 3.89589209 1.29498724]\n", + " [ 6.14965413 2.87173326 4.73743284 1.61680936]\n", + " [ 5.94238081 2.99863658 4.07259129 1.3340027 ]\n", + " [ 6.10932822 2.75743565 4.92195808 1.70364432]\n", + " [ 6.06761068 2.87707822 4.57563958 1.5506809 ]\n", + " [ 6.23512098 3.11764549 4.33806261 1.42902579]\n", + " [ 6.42945469 3.21841818 4.46513255 1.46988752]\n", + " [ 6.54357395 3.14184246 4.84632114 1.63243797]\n", + " [ 6.61202129 3.11046254 5.04209696 1.71508414]\n", + " [ 6.01881994 2.87813706 4.48420917 1.51351824]\n", + " [ 5.49610587 2.86691574 3.55563838 1.13841117]\n", + " [ 5.33631657 2.62065614 3.82016051 1.27158599]\n", + " [ 5.31527654 2.6522041 3.71051975 1.22382718]\n", + " [ 5.68345182 2.85376076 3.92723761 1.29038467]\n", + " [ 6.04307241 2.66266883 5.01505717 1.75136953]\n", + " [ 5.67535139 2.65763272 4.35536845 1.48457079]\n", + " [ 6.24209186 3.08629941 4.42157235 1.46617406]\n", + " [ 6.59576061 3.23681116 4.72709102 1.57410221]\n", + " [ 5.92419069 2.78971764 4.51119475 1.53378216]\n", + " [ 5.72589441 2.84721148 4.01948215 1.3284565 ]\n", + " [ 5.42249977 2.60167462 4.02030373 1.35469394]\n", + " [ 5.53698155 2.58164553 4.27445534 1.45979859]\n", + " [ 6.14304578 2.95962597 4.52688613 1.5222153 ]\n", + " [ 5.65763243 2.79050807 4.02296203 1.33584897]\n", + " [ 4.87506207 2.46412724 3.33189482 1.09023686]\n", + " [ 5.61186877 2.69572997 4.15348315 1.39874015]\n", + " [ 5.80601713 2.88458598 4.08129739 1.34956324]\n", + " [ 5.7646703 2.8280619 4.13349031 1.3766771 ]\n", + " [ 6.10593042 3.02943924 4.30149513 1.4235132 ]\n", + " [ 4.97576868 2.64146437 3.11519821 0.98371412]\n", + " [ 5.70228343 2.80308579 4.07604247 1.35603214]\n", + " [ 6.6908373 2.77573297 5.94184547 2.1150097 ]\n", + " [ 5.92215074 2.53723357 5.07765358 1.7899695 ]\n", + " [ 7.04598122 3.06499173 5.9367256 2.08241771]\n", + " [ 6.42199578 2.76269622 5.48067171 1.92950058]\n", + " [ 6.64288211 2.8071016 5.78349167 2.04752949]\n", + " [ 7.49694378 3.15153932 6.56424721 2.32758158]\n", + " [ 5.13737197 2.19172572 4.42575047 1.56224605]\n", + " [ 7.19593472 3.06975943 6.19961202 2.18844592]\n", + " [ 6.54053186 2.72437452 5.78353209 2.0562737 ]\n", + " [ 7.42278791 3.28586602 6.12557037 2.13564197]\n", + " [ 6.59758961 3.05411779 5.14300292 1.76191939]\n", + " [ 6.34628988 2.76357573 5.34052827 1.87261652]\n", + " [ 6.77906044 3.00923552 5.57552986 1.94193031]\n", + " [ 5.75382177 2.41163025 5.05411491 1.7936821 ]\n", + " [ 5.98003535 2.51929961 5.22378842 1.85108075]\n", + " [ 6.57783069 2.93450907 5.37705532 1.8693849 ]\n", + " [ 6.57700572 2.91415517 5.42151477 1.88954887]\n", + " [ 7.93540409 3.51700972 6.53906539 2.2788193 ]\n", + " [ 7.44549036 2.93695061 6.95495176 2.50854881]\n", + " [ 5.80151675 2.47364477 5.00110787 1.76565908]\n", + " [ 6.97394203 3.07847153 5.77481854 2.01538489]\n", + " [ 5.80325213 2.51900863 4.90183017 1.72064216]\n", + " [ 7.48886025 3.10068502 6.66433904 2.37350766]\n", + " [ 6.20580336 2.80843545 4.98284538 1.72293753]\n", + " [ 6.88334201 3.05919903 5.65300352 1.96805425]\n", + " [ 7.2087976 3.2154144 5.89415501 2.04929673]\n", + " [ 6.16702747 2.82758502 4.86883722 1.67471694]\n", + " [ 6.20892218 2.85257241 4.88886303 1.68019592]\n", + " [ 6.45075682 2.72545592 5.61725762 1.9887791 ]\n", + " [ 7.07851128 3.19028151 5.71315008 1.97859845]\n", + " [ 7.18261569 3.09561506 6.11691641 2.15220682]\n", + " [ 8.00423084 3.68745019 6.27976521 2.15575964]\n", + " [ 6.45351311 2.71304625 5.65031225 2.00348329]\n", + " [ 6.27820507 2.85150229 5.01771547 1.73252456]\n", + " [ 6.14947066 2.59178545 5.3693006 1.90240026]\n", + " [ 7.47563296 3.26651456 6.26570955 2.19447311]\n", + " [ 6.65904917 2.90881021 5.58330802 1.95567733]\n", + " [ 6.55651356 2.91416645 5.38409274 1.8743829 ]\n", + " [ 6.12604316 2.82760758 4.79399316 1.644385 ]\n", + " [ 6.8694751 3.11659134 5.49808918 1.89922231]\n", + " [ 6.78512091 2.95287949 5.71385785 2.00393153]\n", + " [ 6.82013648 3.14918687 5.33444004 1.8294668 ]\n", + " [ 5.92215074 2.53723357 5.07765358 1.7899695 ]\n", + " [ 6.94591423 2.99609182 5.90970706 2.07873785]\n", + " [ 6.89436719 3.00956034 5.78522202 2.026871 ]\n", + " [ 6.66512654 2.99772792 5.39359699 1.86941851]\n", + " [ 6.13863714 2.68865867 5.13076272 1.79551569]\n", + " [ 6.52766709 2.94675069 5.25786563 1.81979336]\n", + " [ 6.55513012 2.91539334 5.3787974 1.87210759]\n", + " [ 6.1162991 2.72608958 5.00546781 1.74079259]]\n" + ] + } + ], + "source": [ + "K = 2 # number of reduced dimentions\n", + "X_hat = U[:,:k] * S[:K,:K] * V[:K,]\n", + "print \"X_hat: \", X_hat.shape\n", + "print X_hat" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 193, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(X[0,:], X[1,:], \"x\")\n", + "plt.plot(X_hat[0,:], X_hat[1,:], \"ko\")" + ] + }, + { + "cell_type": "code", + "execution_count": 191, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[ 5.09945346, 3.50050812, 1.40094556, 0.19840569],\n", + " [ 4.74974728, 3.19172985, 1.46006954, 0.25494146],\n", + " [ 4.69047924, 3.2108907 , 1.30863935, 0.1915549 ],\n", + " [ 4.61834831, 3.08439659, 1.46266616, 0.26731753],\n", + " [ 5.07896131, 3.5005194 , 1.36352353, 0.18323972],\n", + " [ 5.5300156 , 3.7270409 , 1.67511126, 0.28560814],\n", + " [ 4.73513024, 3.22346842, 1.36171979, 0.21173807],\n", + " [ 5.0090388 , 3.3931523 , 1.47838624, 0.24111369],\n", + " [ 4.38266777, 2.92709982, 1.38778914, 0.25356965],\n", + " [ 4.80937785, 3.22911564, 1.48446275, 0.26088223],\n", + " [ 5.39972928, 3.70190802, 1.49410632, 0.21490986],\n", + " [ 4.89813198, 3.28580776, 1.5184049 , 0.26865573],\n", + " [ 4.68239571, 3.1600364 , 1.40873117, 0.23748098],\n", + " [ 4.3045681 , 2.99693565, 1.08755409, 0.12453562],\n", + " [ 5.73556855, 4.0680786 , 1.28006801, 0.08954214],\n", + " [ 5.90774958, 4.11819888, 1.48109876, 0.16571941],\n", + " [ 5.45688065, 3.80359406, 1.36876673, 0.15338963],\n", + " [ 5.10220976, 3.48809845, 1.43400019, 0.21310987],\n", + " [ 5.67694201, 3.82764554, 1.71604614, 0.29158251],\n", + " [ 5.25280287, 3.60130338, 1.45317145, 0.20893548],\n", + " [ 5.30398738, 3.53128822, 1.70469346, 0.31824813],\n", + " [ 5.21145604, 3.5447793 , 1.50536436, 0.23604934],\n", + " [ 4.74744524, 3.40066007, 0.98404405, 0.03999603],\n", + " [ 5.07436731, 3.31763542, 1.76814442, 0.36650147],\n", + " [ 4.95298319, 3.22839289, 1.74816329, 0.36781961],\n", + " [ 4.85091003, 3.19755639, 1.63152554, 0.32380701],\n", + " [ 5.03283513, 3.34919467, 1.62108163, 0.30357669],\n", + " [ 5.18233248, 3.52547296, 1.49581543, 0.23421661],\n", + " [ 5.11994561, 3.50049684, 1.43836759, 0.21357166],\n", + " [ 4.74533045, 3.15347583, 1.53839774, 0.29071878],\n", + " [ 4.7658226 , 3.15346455, 1.57581977, 0.30588474],\n", + " [ 5.2729325 , 3.54474546, 1.61763045, 0.28154725],\n", + " [ 5.44419493, 3.80256906, 1.34793106, 0.14505439],\n", + " [ 5.66655645, 3.98572146, 1.34011248, 0.12256316],\n", + " [ 4.80937785, 3.22911564, 1.48446275, 0.26088223],\n", + " [ 4.86598133, 3.36233837, 1.28690443, 0.16676916],\n", + " [ 5.33955083, 3.69605891, 1.39749438, 0.17637624],\n", + " [ 4.80937785, 3.22911564, 1.48446275, 0.26088223],\n", + " [ 4.40848715, 2.99035252, 1.29206472, 0.20810535],\n", + " [ 5.07363407, 3.43725543, 1.49666998, 0.24386999],\n", + " [ 5.01933074, 3.46313362, 1.33913032, 0.17729895],\n", + " [ 4.16711685, 2.71324513, 1.47737112, 0.31243354],\n", + " [ 4.4966934 , 3.07858133, 1.25378813, 0.18328601],\n", + " [ 5.08245084, 3.36848973, 1.66805259, 0.32057539],\n", + " [ 5.32869412, 3.51234054, 1.7925706 , 0.35585818],\n", + " [ 4.6879083 , 3.13521705, 1.47484043, 0.26688935],\n", + " [ 5.26833031, 3.59457476, 1.49670295, 0.22728592],\n", + " [ 4.6441677 , 3.14764929, 1.36694174, 0.22185323],\n", + " [ 5.335134 , 3.65780489, 1.47582259, 0.21215356],\n", + " [ 4.94665193, 3.36817619, 1.4209384 , 0.22046874],\n", + " [ 6.83089327, 3.42564462, 4.72974932, 1.55525724],\n", + " [ 6.40951042, 3.18689278, 4.49992925, 1.4873144 ],\n", + " [ 6.76151864, 3.28674083, 4.91683076, 1.64572406],\n", + " [ 5.33429352, 2.51344581, 4.05858032, 1.37951329],\n", + " [ 6.31597694, 3.03539999, 4.67135229, 1.57276401],\n", + " [ 5.77541839, 2.72653263, 4.382387 , 1.48825065],\n", + " [ 6.42834204, 3.1362178 , 4.64873411, 1.55296187],\n", + " [ 4.85456992, 2.46413852, 3.2944728 , 1.07507089],\n", + " [ 6.41916275, 3.14843687, 4.60438848, 1.53370227],\n", + " [ 5.30139274, 2.56432267, 3.88364443, 1.30325527],\n", + " [ 4.77932018, 2.29350744, 3.54248196, 1.19357513],\n", + " [ 5.94347657, 2.93556321, 4.21702875, 1.39918839],\n", + " [ 5.60489789, 2.72707604, 4.06997342, 1.36159188],\n", + " [ 6.11722639, 2.89637328, 4.62261055, 1.5676796 ],\n", + " [ 5.59037259, 2.89878852, 3.65568978, 1.17559304],\n", + " [ 6.5381531 , 3.30663571, 4.464278 , 1.46023415],\n", + " [ 5.80454195, 2.74583897, 4.39193593, 1.49008338],\n", + " [ 5.7145067 , 2.84030353, 4.01430062, 1.32708555],\n", + " [ 5.83928862, 2.65754248, 4.65474469, 1.60589854],\n", + " [ 5.46329871, 2.68973538, 3.89589209, 1.29498724],\n", + " [ 6.14965413, 2.87173326, 4.73743284, 1.61680936],\n", + " [ 5.94238081, 2.99863658, 4.07259129, 1.3340027 ],\n", + " [ 6.10932822, 2.75743565, 4.92195808, 1.70364432],\n", + " [ 6.06761068, 2.87707822, 4.57563958, 1.5506809 ],\n", + " [ 6.23512098, 3.11764549, 4.33806261, 1.42902579],\n", + " [ 6.42945469, 3.21841818, 4.46513255, 1.46988752],\n", + " [ 6.54357395, 3.14184246, 4.84632114, 1.63243797],\n", + " [ 6.61202129, 3.11046254, 5.04209696, 1.71508414],\n", + " [ 6.01881994, 2.87813706, 4.48420917, 1.51351824],\n", + " [ 5.49610587, 2.86691574, 3.55563838, 1.13841117],\n", + " [ 5.33631657, 2.62065614, 3.82016051, 1.27158599],\n", + " [ 5.31527654, 2.6522041 , 3.71051975, 1.22382718],\n", + " [ 5.68345182, 2.85376076, 3.92723761, 1.29038467],\n", + " [ 6.04307241, 2.66266883, 5.01505717, 1.75136953],\n", + " [ 5.67535139, 2.65763272, 4.35536845, 1.48457079],\n", + " [ 6.24209186, 3.08629941, 4.42157235, 1.46617406],\n", + " [ 6.59576061, 3.23681116, 4.72709102, 1.57410221],\n", + " [ 5.92419069, 2.78971764, 4.51119475, 1.53378216],\n", + " [ 5.72589441, 2.84721148, 4.01948215, 1.3284565 ],\n", + " [ 5.42249977, 2.60167462, 4.02030373, 1.35469394],\n", + " [ 5.53698155, 2.58164553, 4.27445534, 1.45979859],\n", + " [ 6.14304578, 2.95962597, 4.52688613, 1.5222153 ],\n", + " [ 5.65763243, 2.79050807, 4.02296203, 1.33584897],\n", + " [ 4.87506207, 2.46412724, 3.33189482, 1.09023686],\n", + " [ 5.61186877, 2.69572997, 4.15348315, 1.39874015],\n", + " [ 5.80601713, 2.88458598, 4.08129739, 1.34956324],\n", + " [ 5.7646703 , 2.8280619 , 4.13349031, 1.3766771 ],\n", + " [ 6.10593042, 3.02943924, 4.30149513, 1.4235132 ],\n", + " [ 4.97576868, 2.64146437, 3.11519821, 0.98371412],\n", + " [ 5.70228343, 2.80308579, 4.07604247, 1.35603214],\n", + " [ 6.6908373 , 2.77573297, 5.94184547, 2.1150097 ],\n", + " [ 5.92215074, 2.53723357, 5.07765358, 1.7899695 ],\n", + " [ 7.04598122, 3.06499173, 5.9367256 , 2.08241771],\n", + " [ 6.42199578, 2.76269622, 5.48067171, 1.92950058],\n", + " [ 6.64288211, 2.8071016 , 5.78349167, 2.04752949],\n", + " [ 7.49694378, 3.15153932, 6.56424721, 2.32758158],\n", + " [ 5.13737197, 2.19172572, 4.42575047, 1.56224605],\n", + " [ 7.19593472, 3.06975943, 6.19961202, 2.18844592],\n", + " [ 6.54053186, 2.72437452, 5.78353209, 2.0562737 ],\n", + " [ 7.42278791, 3.28586602, 6.12557037, 2.13564197],\n", + " [ 6.59758961, 3.05411779, 5.14300292, 1.76191939],\n", + " [ 6.34628988, 2.76357573, 5.34052827, 1.87261652],\n", + " [ 6.77906044, 3.00923552, 5.57552986, 1.94193031],\n", + " [ 5.75382177, 2.41163025, 5.05411491, 1.7936821 ],\n", + " [ 5.98003535, 2.51929961, 5.22378842, 1.85108075],\n", + " [ 6.57783069, 2.93450907, 5.37705532, 1.8693849 ],\n", + " [ 6.57700572, 2.91415517, 5.42151477, 1.88954887],\n", + " [ 7.93540409, 3.51700972, 6.53906539, 2.2788193 ],\n", + " [ 7.44549036, 2.93695061, 6.95495176, 2.50854881],\n", + " [ 5.80151675, 2.47364477, 5.00110787, 1.76565908],\n", + " [ 6.97394203, 3.07847153, 5.77481854, 2.01538489],\n", + " [ 5.80325213, 2.51900863, 4.90183017, 1.72064216],\n", + " [ 7.48886025, 3.10068502, 6.66433904, 2.37350766],\n", + " [ 6.20580336, 2.80843545, 4.98284538, 1.72293753],\n", + " [ 6.88334201, 3.05919903, 5.65300352, 1.96805425],\n", + " [ 7.2087976 , 3.2154144 , 5.89415501, 2.04929673],\n", + " [ 6.16702747, 2.82758502, 4.86883722, 1.67471694],\n", + " [ 6.20892218, 2.85257241, 4.88886303, 1.68019592],\n", + " [ 6.45075682, 2.72545592, 5.61725762, 1.9887791 ],\n", + " [ 7.07851128, 3.19028151, 5.71315008, 1.97859845],\n", + " [ 7.18261569, 3.09561506, 6.11691641, 2.15220682],\n", + " [ 8.00423084, 3.68745019, 6.27976521, 2.15575964],\n", + " [ 6.45351311, 2.71304625, 5.65031225, 2.00348329],\n", + " [ 6.27820507, 2.85150229, 5.01771547, 1.73252456],\n", + " [ 6.14947066, 2.59178545, 5.3693006 , 1.90240026],\n", + " [ 7.47563296, 3.26651456, 6.26570955, 2.19447311],\n", + " [ 6.65904917, 2.90881021, 5.58330802, 1.95567733],\n", + " [ 6.55651356, 2.91416645, 5.38409274, 1.8743829 ],\n", + " [ 6.12604316, 2.82760758, 4.79399316, 1.644385 ],\n", + " [ 6.8694751 , 3.11659134, 5.49808918, 1.89922231],\n", + " [ 6.78512091, 2.95287949, 5.71385785, 2.00393153],\n", + " [ 6.82013648, 3.14918687, 5.33444004, 1.8294668 ],\n", + " [ 5.92215074, 2.53723357, 5.07765358, 1.7899695 ],\n", + " [ 6.94591423, 2.99609182, 5.90970706, 2.07873785],\n", + " [ 6.89436719, 3.00956034, 5.78522202, 2.026871 ],\n", + " [ 6.66512654, 2.99772792, 5.39359699, 1.86941851],\n", + " [ 6.13863714, 2.68865867, 5.13076272, 1.79551569],\n", + " [ 6.52766709, 2.94675069, 5.25786563, 1.81979336],\n", + " [ 6.55513012, 2.91539334, 5.3787974 , 1.87210759],\n", + " [ 6.1162991 , 2.72608958, 5.00546781, 1.74079259]])" + ] + }, + "execution_count": 191, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "k = 2 # choose K dimention, k <= N\n", + "U[:,:k] * (S[0:k,:k] * V[0:k,:])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Vectors.ipynb b/Vectors.ipynb index 5cdc11c..f92b0ea 100644 --- a/Vectors.ipynb +++ b/Vectors.ipynb @@ -442,21 +442,21 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 2", + "display_name": "Python 3", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.10" + "pygments_lexer": "ipython3", + "version": "3.5.2" } }, "nbformat": 4, diff --git a/expedia.ipynb b/expedia.ipynb new file mode 100644 index 0000000..2f01adf --- /dev/null +++ b/expedia.ipynb @@ -0,0 +1,119 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import seaborn as sns\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "df = pd.read_csv(\"data/expedia/train.csv\", nrows=1000 * 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index([u'date_time', u'site_name', u'posa_continent', u'user_location_country',\n", + " u'user_location_region', u'user_location_city',\n", + " u'orig_destination_distance', u'user_id', u'is_mobile', u'is_package',\n", + " u'channel', u'srch_ci', u'srch_co', u'srch_adults_cnt',\n", + " u'srch_children_cnt', u'srch_rm_cnt', u'srch_destination_id',\n", + " u'srch_destination_type_id', u'is_booking', u'cnt', u'hotel_continent',\n", + " u'hotel_country', u'hotel_market', u'hotel_cluster'],\n", + " dtype='object')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.FacetGrid(df, hue=\"is_booking\", size=6).map(sns.kdeplot, \"cnt\").add_legend()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/maxloglikelihood.ipynb b/maxloglikelihood.ipynb new file mode 100755 index 0000000..403aa35 --- /dev/null +++ b/maxloglikelihood.ipynb @@ -0,0 +1,447 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Maximum Likelihood Estimation" + ] + }, + { + "cell_type": "code", + "execution_count": 231, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from math import factorial as fac\n", + "from numpy import math\n", + "import numpy as np\n", + "import random\n", + "from collections import Counter\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 308, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "n = 1000\n", + "experiments = []\n", + "\n", + "for i in range(n):\n", + " a = random.randint(1, 6)\n", + " # key = \"{}-{}\".format(a, b)\n", + " # experiments[key] = experiments.get(key, 0) + 1\n", + " experiments.append(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 309, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 310, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgkAAAFkCAYAAACq4KjhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAFHFJREFUeJzt3X+w5XV93/HXWxE2kALW5YdG16hEepO2VtZEaAWdIZFE\nU9LoTOrqTquOHXGogzvNjLVNhvijU6ujOP4gdUwm/lggw2BVrMhajNGCCHFRG+tlnVrMVZSVK2Rh\noKuwfPrHOTe5uftZds/Ze+65Px6PmTPLfs/3nH3fM8ye536+3/M91VoLAMBSj5n2AADA6iQSAIAu\nkQAAdIkEAKBLJAAAXSIBAOgSCQBAl0gAALpEAgDQJRIAgK6RIqGq3lRVt1bVfVW1t6o+UVXPXLLP\ncVX1gaqar6r7q+qaqjp1yT5PqarPVNUDVXVXVb2jqgQLAKwio74xn5vkfUmem+RXkzwuyeeq6mcW\n7fOeJC9O8tIk5yV5UpKPL9w5jIHrkhyT5Owk/zrJK5O8ZayfAACYiDqaL3iqqs1JfpTkvNbajVV1\nYpK7k7ystfaJ4T5nJplNcnZr7daq+o0k1yZ5YmttfrjPa5O8PckprbWHj+onAgCWxdEu8Z+cpCW5\nZ/j7rRmsEHx+YYfW2p4kc0nOGW46O8lfLgTC0K4kJyX5paOcBwBYJseM+8CqqgwOLdzYWvvWcPPp\nSX7aWrtvye57h/ct7LO3c//Cfd/o/FlPSHJBku8m2T/uzACwAW1K8vNJdrXWfjzKA8eOhCSXJ/nF\nJM87gn0rgxWHwznUPhckueII5wIADvaKJFeO8oCxIqGq3p/kRUnOba39YNFddyU5tqpOXLKacGr+\ndrXgriS/vOQpTxv+unSFYcF3k2Tnzp2ZmZkZZ2TGsGPHjlx22WXTHmND8ZqvPK/5yvOar6zZ2dls\n3749Gb6XjmLkSBgGwm8leX5rbW7J3buTPJzk/CQLJy4+M8mWJF8e7nNzkv9QVZsXnZfwwiT7knwr\nffuTZGZmJmedddaoIzOmk046yeu9wrzmK89rvvK85lMz8uH6kSKhqi5Psi3JhUkeqKqFFYB9rbX9\nrbX7quqPk7y7qu5Ncn+S9ya5qbX2F8N9P5dBDHysqt6Y5IlJ3prk/a21h0b9AQCAyRh1JeGiDM4b\n+PMl21+V5KPD/96R5ECSa5Icl+T6JBcv7Nhae6SqfjPJH2awuvBAkg8nuXTEWQCACRopElprh/3I\nZGvtJ0leP7wdap/vJfnNUf5sAGBluRQyh7Rt27Zpj7DheM1Xntd85XnN146juuLiSqmqs5Ls3r17\nt5NdAGAEt912W7Zu3ZokW1trt43yWCsJAECXSAAAukQCANAlEgCALpEAAHSJBACgSyQAAF0iAQDo\nEgkAQJdIAAC6RAIA0CUSAIAukQAAdIkEAKBLJAAAXSIBAOgSCQBAl0gAALpEAgDQJRIAgC6RAAB0\nHTPtAQBgLZibm8v8/Py0xxjZ7Ozs2I8VCQBwGHNzcznzzJns3//gtEdZUSIBAA5jfn5+GAg7k8xM\ne5wRXZfk98d6pEjgkNbq0trmzZuzZcuWaY8BrEszSc6a9hAjcriBZbaWl9Y2bTo+e/bMCgWAoyQS\n6Fq7S2uz2b9/e+bn50UCwFESCRzGWlxaA2A5uE4CANAlEgCALpEAAHSJBACgy4mLAKyotXgNlqO5\ntPFaJhIAWDFr+RosG5FIAGDFrN1rsIx/aeO1TCQAMAVr7RosG/NwgxMXAYAukQAAdIkEAKBLJAAA\nXSIBAOjy6QZgQ1uLF/ZJks2bN/s6dCZOJAAb1lq+sM+mTcdnz55ZocBEiQRgw1q7F/aZzf792zM/\nPy8SmCiRALDmLuwDK8OJiwBAl0gAALpEAgDQJRIAgC6RAAB0iQQAoEskAABdIgEA6BIJAECXSAAA\nukQCANAlEgCALpEAAHStqW+BfNvb3pbNmzdPe4yRzMzM5A1veEOqatqjAMBI1lQkXHvtnlR9f9pj\nHLHW9uXAgQ/lJS95SZ761KdOexwAGMmaioQDBz6WtfWd7zck+bW01qY9CACMzDkJAECXSAAAukQC\nANA1ciRU1blVdW1V3VlVj1TVhUvu/5Ph9sW365bs8/iquqKq9lXVvVX1R1V1wtH+MADA8hlnJeGE\nJF9PcnGSQ52R99kkpyU5fXjbtuT+K5PMJDk/yYuTnJfkg2PMAgBMyMifbmitXZ/k+iSpQ3/4/yet\ntbt7d1TVP0hyQZKtrbWvDbe9Pslnqup3W2t3jToTALD8JnVOwguqam9V3V5Vl1fV31903zlJ7l0I\nhKEbMliVeO6E5gEARjSJ6yR8NsnHk9yR5BlJ/nOS66rqnDa4YMDpSX60+AGttQNVdc/wPgBgFVj2\nSGitXb3ot/+7qv4yyXeSvCDJFx7loZVDn+MAAKywiV9xsbV2R1XNJzkjg0i4K8mpi/epqscmeXyS\nvY/+bDuSnLRk27YcfF4kAGxEVw1vi43/dQYTj4SqenKSJyT54XDTzUlOrqpnLzov4fwMVhJuefRn\nuyxr67LMALCSev9wviLJ9rGebeRIGF7P4IwM3tST5OlV9awk9wxvl2ZwTsJdw/3+S5JvJ9mVJK21\n26tqV5IPVdXrkhyb5H1JrvLJBgBYPcb5dMNzknwtye4MziF4V5Lbkrw5yYEk/zjJp5LsSfKhJH+R\n5LzW2kOLnuPlSW7P4FMN/z3Jl5K8drwfAQCYhHGuk/DFPHpc/PoRPMdfZ9y1DwBgRfjuBgCgSyQA\nAF0iAQDoEgkAQJdIAAC6RAIA0CUSAIAukQAAdE38uxuAIzc3N5f5+flpjzGyzZs3Z8uWLdMeA1hm\nIgFWibm5uZx55kz2739w2qOMbNOm47Nnz6xQgHVGJMAqMT8/PwyEnUlmpj3OCGazf//2zM/PiwRY\nZ0QCrDoz8ZXowGrgxEUAoEskAABdIgEA6BIJAECXSAAAukQCANAlEgCALpEAAHSJBACgSyQAAF0i\nAQDoEgkAQJdIAAC6RAIA0CUSAIAukQAAdIkEAKBLJAAAXSIBAOgSCQBAl0gAALpEAgDQJRIAgC6R\nAAB0iQQAoEskAABdIgEA6BIJAECXSAAAukQCANAlEgCALpEAAHSJBACgSyQAAF0iAQDoEgkAQJdI\nAAC6RAIA0CUSAIAukQAAdIkEAKBLJAAAXSIBAOgSCQBAl0gAALpEAgDQJRIAgC6RAAB0iQQAoEsk\nAABdIgEA6BIJAECXSAAAukQCANAlEgCArpEjoarOraprq+rOqnqkqi7s7POWqvpBVT1YVf+jqs5Y\ncv/jq+qKqtpXVfdW1R9V1QlH84MAAMtrnJWEE5J8PcnFSdrSO6vqjUn+bZLXJvmVJA8k2VVVxy7a\n7cokM0nOT/LiJOcl+eAYswAAE3LMqA9orV2f5Pokqarq7HJJkre21j493OdfJdmb5F8kubqqZpJc\nkGRra+1rw31en+QzVfW7rbW7xvpJAIBltaznJFTV05KcnuTzC9taa/cluSXJOcNNZye5dyEQhm7I\nYFXiucs5DwAwvuU+cfH0DN7s9y7Zvnd438I+P1p8Z2vtQJJ7Fu0DAEzZyIcbxlTpnL8w+j47kpy0\nZNu24Q0ANrqrhrfFvj/2sy13JNyVwZv9afm7qwmnJvnaon1OXfygqnpsksfn4BWIJS5LctbyTAoA\n607vH85XJNk+1rMt6+GG1todGUTA+QvbqurEDM41+PJw081JTq6qZy966PkZxMUtyzkPADC+kVcS\nhtczOCODN/UkeXpVPSvJPa217yV5T5Lfq6r/k+S7Sd6awVrHp5KktXZ7Ve1K8qGqel2SY5O8L8lV\nPtkAAKvHOIcbnpPkCxmcP9CSvGu4/SNJXt1ae0dVHZ/BdQ9OTvI/k/xGa+2ni57j5Unen8GnGh5J\nck0GH50EAFaJca6T8MUc5jBFa+0PkvzBo9z/1xn3AAkAsCJ8dwMA0CUSAIAukQAAdIkEAKBLJAAA\nXSIBAOgSCQBAl0gAALpEAgDQJRIAgC6RAAB0iQQAoEskAABdIgEA6BIJAECXSAAAukQCANAlEgCA\nLpEAAHSJBACgSyQAAF0iAQDoEgkAQJdIAAC6RAIA0CUSAIAukQAAdIkEAKBLJAAAXSIBAOgSCQBA\nl0gAALpEAgDQJRIAgC6RAAB0iQQAoEskAABdIgEA6BIJAECXSAAAukQCANAlEgCALpEAAHSJBACg\nSyQAAF0iAQDoEgkAQJdIAAC6RAIA0CUSAIAukQAAdIkEAKBLJAAAXSIBAOgSCQBAl0gAALpEAgDQ\nJRIAgC6RAAB0iQQAoEskAABdIgEA6BIJAECXSAAAukQCANAlEgCALpEAAHQteyRU1aVV9ciS27cW\n3X9cVX2gquar6v6quqaqTl3uOQCAozOplYRvJjktyenD2/MW3feeJC9O8tIk5yV5UpKPT2gOAGBM\nx0zoeR9urd29dGNVnZjk1Ule1lr74nDbq5LMVtWvtNZundA8AMCIJrWS8AtVdWdVfaeqdlbVU4bb\nt2YQJp9f2LG1tifJXJJzJjQLADCGSUTCV5K8MskFSS5K8rQkX6qqEzI49PDT1tp9Sx6zd3gfALBK\nLPvhhtbarkW//WZV3Zrkr5L8TpL9h3hYJWmHf/YdSU5asm3b8AYAG91Vw9ti3x/72SZ1TsLfaK3t\nq6pvJzkjyQ1Jjq2qE5esJpyawWrCYVyW5KxJjAkA60DvH85XJNk+1rNN/DoJVfWzSZ6R5AdJdid5\nOMn5i+5/ZpItSW6e9CwAwJFb9pWEqnpnkk9ncIjh55K8OYMw+NPW2n1V9cdJ3l1V9ya5P8l7k9zk\nkw0AsLpM4nDDk5NcmeQJSe5OcmOSs1trPx7evyPJgSTXJDkuyfVJLp7AHADAUZjEiYuPehZha+0n\nSV4/vAEAq5TvbgAAukQCANAlEgCALpEAAHSJBACgSyQAAF0iAQDoEgkAQJdIAAC6RAIA0CUSAIAu\nkQAAdIkEAKBLJAAAXSIBAOgSCQBAl0gAALpEAgDQJRIAgC6RAAB0iQQAoEskAABdIgEA6BIJAECX\nSAAAukQCANAlEgCALpEAAHSJBACgSyQAAF0iAQDoEgkAQJdIAAC6RAIA0CUSAIAukQAAdIkEAKBL\nJAAAXSIBAOgSCQBAl0gAALpEAgDQJRIAgC6RAAB0iQQAoEskAABdIgEA6BIJAECXSAAAukQCANAl\nEgCALpEAAHSJBACgSyQAAF0iAQDoEgkAQJdIAAC6RAIA0CUSAIAukQAAdIkEAKBLJAAAXSIBAOgS\nCQBAl0gAALpEAgDQNbVIqKqLq+qOqvp/VfWVqvrlac0CABxsKpFQVf8yybuSXJrk2Um+kWRXVW2e\nxjwAwMGmtZKwI8kHW2sfba3dnuSiJA8mefWU5gEAlljxSKiqxyXZmuTzC9taay3JDUnOWel5AIC+\nY6bwZ25O8tgke5ds35vkzEM8ZtPgl/+W5KuTmmsCZpMkn/zkJ3PKKadMeZbR3HHHHcP/ui4LP8fa\nMJj7uuuuy+zsWprbaz4NXvOVt3Zf85uGv661uZO/nX3hvfTI1eAf8Sunqp6Y5M4k57TWblm0/R1J\nntda+6edx7w8yRUrNyUArDuvaK1dOcoDprGSMJ/kQJLTlmw/NQevLizYleQVSb6bZP/EJgOA9WdT\nkp/P4L10JCu+kpAkVfWVJLe01i4Z/r6SzCV5b2vtnSs+EABwkGmsJCTJu5N8pKp2J7k1g087HJ/k\nw1OaBwBYYiqR0Fq7enhNhLdkcNjh60kuaK3dPY15AICDTeVwAwCw+vnuBgCgSyQAAF2rOhKq6tyq\nuraq7qyqR6rqwmnPtN5V1Zuq6taquq+q9lbVJ6rqmdOeaz2rqouq6htVtW94+3JV/fq059oohv/P\nP1JV7572LOtZVV06fJ0X37417bnWs6p6UlV9rKrmq+rB4d8zZ43yHKs6EpKckMFJjRcncfLEyjg3\nyfuSPDfJryZ5XJLPVdXPTHWq9e17Sd6YweXKtyb5sySfqqqZqU61AQy/ffbfZPAlc0zeNzM4Wf30\n4e150x1n/aqqkzO41OJPklyQZCbJv0ty7yjPM62PQB6R1tr1Sa5P/uZaCkxYa+1Fi39fVa9M8qMM\n3rxunMZM611r7TNLNv1eVb0uydlZe9d/XTOq6meT7EzymiS/P+VxNoqHfYptxfz7JHOttdcs2vZX\noz7Jal9JYPpOzmAV555pD7IRVNVjquplGVw35OZpz7POfSDJp1trfzbtQTaQXxgePv5OVe2sqqdM\ne6B17J8n+WpVXT08dHxbVb3msI9aQiRwSMPVm/ckubG15tjhBFXVP6yq+zNYGrw8yW8Pv0adCRiG\n2D9J8qZpz7KBfCXJKzNY+r4oydOSfKmqTpjmUOvY05O8LsmeJC9M8l+TvLeqto/yJKv6cANTd3mS\nX0zyz6Y9yAZwe5JnZbBy89IkH62q84TC8quqJ2cQv7/WWnto2vNsFK21xd8b8M2qujWD5e/fSfIn\n05lqXXtMkltbawuH0r5RVb+UQTjsHOVJ4CBV9f4kL0rygtbaD6c9z3rXWnu4tfZ/W2u3tdb+YwYn\n0l0y7bnWqa1JTkmyu6oeqqqHkjw/ySVV9VPnP62M1tq+JN9Ocsa0Z1mnfpiDz2maTbJllCexksBB\nhoHwW0me31qbm/Y8G9Rjkhw37SHWqRuS/KMl2z6cwV+gb28uQ7sihieOPiPJR6c9yzp1U5Izl2w7\nMyOevLiqI2F4rOqMJAtl//SqelaSe1pr35veZOtXVV2eZFuSC5M8UFULX+m9r7Xma7onoKr+U5LP\nZvBRyL+XwdeiPz+D44gss9baA0n+zjk2VfVAkh+31nyaZEKq6p1JPp3Bm9TPJXlzkoeTXDXNudax\ny5LcVFVvSnJ1Bh9rf00GH/k9Yqs6EpI8J8kXMji7viV513D7R5K8elpDrXMXZfBa//mS7a+K4p+U\n0zJ4bZ+YZF+S/5Xkhc66X1FWDybvyUmuTPKEJHdn8JHqs1trP57qVOtUa+2rVfXbSd6ewUd870hy\nSWvtT0d5Hl/wBAB0OXERAOgSCQBAl0gAALpEAgDQJRIAgC6RAAB0iQQAoEskAABdIgEA6BIJAECX\nSAAAuv4/6nVLW1b1GsMAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = experiments\n", + "plt.hist(x)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 315, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "100.0\n" + ] + } + ], + "source": [ + "A = [1, 2, 3, 4, 5, 6]\n", + "n4 = 10\n", + "experiments = [1] * 22 + [2] * 16 + [3] * 21 + [4] * n4 + [5] * 19 + [6] * 12\n", + "n = len(experiments) * 1.0\n", + "print(n)" + ] + }, + { + "cell_type": "code", + "execution_count": 316, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "lh = []\n", + "for i in range(1, 100):\n", + " P4 = 1.0/i\n", + " lh.append(math.factorial(n) / math.factorial(n4) * math.factorial(n-n4) * ( (P4**n4) * ((1-P4) ** (n-n4)) ))" + ] + }, + { + "cell_type": "code", + "execution_count": 317, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\njiS3ttbsq1ugqvqbVfVgxpvqrkvyi5OfyWYBJpH1t5NcM/QsHflMkssy3hR9RZIXJflUVZ0+5FDb\n3DlJfi3JoSSvTfIfkryzqvYd7xMMtguAwV2X5CeS/OzQg3TgS0nOy3iLyy8lub6qLhQB81dVL8w4\nbP9Oa+27Q8/Ti9ba+uvQ31VVt2e8OfqXk7x3mKm2vVOS3N5aO7aL6/NV9TcyjoL9x/sEdKaq3p3k\n4iSvaq3dM/Q8211r7dHW2v9prR1srf2rjA9Ku2roubapvUn+apI7quq7VfXdJBcluaqqHnG80dZo\nrR1N8uUk5w49yzZ2T37wOKKVJLuO9wlsAejM5MP/9Ukuaq2tDj1Pp05J8uyhh9imPprkb21Y9ocZ\n/4/x95tLn26JyUGYL05y/dCzbGOfTrJ7w7LdmeJAwMECYLJv6Nwkx4r8nKo6L8n9rbWvDzXXdlZV\n1yVZTnJJkoeq6thPNh9trfkp5gWoqt9N8uGMTwf84Yx/+vqijPfZMWettYeSPO6Ylqp6KMl9rTVn\nXSxIVb01yYcy/vD5a0n+TZJHkxwYcq5t7tokn66qa5LcmPHp3ZdnfOrrcRlyC8BLk3w846PQW5K3\nTZa/L8mbhhpqm7si4/f6ExuWvzFKfVHOyvi9fUGSo0n+IslrHZ2+pXzrX7wXJnl/kucluTfj04pf\n0Vq7b9CptrHW2mer6heT/H7Gp7oeTnJVa+2Pjvc5/BgQAHTIQYAA0CEBAAAdEgAA0CEBAAAdEgAA\n0CEBAAAdEgAA0CEBAAAdEgAA0CEBAAAdEgAA0KH/D7jG4L4faSwDAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(experiments)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 318, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 318, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg0AAAFsCAYAAABPWIr2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3Xuc3GV99//XJ0eSQAI0QggkQIhyKAjJqjQqJxH5VVvA\n0ooLtnpjVcTet42/3rbe1Z+t3lWrD4m2lXqsNxRdfx4qQquiaMGCHCoR9AfhJGcCkQTYDTkRstfv\nj2umGSa7m5nZmfnO4fV8POYxme98v/P97Hdh973XdX2vK1JKSJIk7c6UoguQJEndwdAgSZJqYmiQ\nJEk1MTRIkqSaGBokSVJNDA2SJKkmhgZJklQTQ4MkSaqJoUGSJNXE0CBJkmrS0aEhIk6IiCsi4tGI\nGI2IM+o8/qSIuDwi1kbEMxGxOiLOrdrn30ufXf24smKfL4/x/neb9XVKktQNphVdwG7MAW4F/gn4\nVgPHvxy4DfgYsA74HeDSiBhOKf1baZ/XAzMqjplfOubrVZ/1PeAtQJReb2ugHkmSulZHh4aU0veB\n7wNERFS/HxEzgI8AbwT2Bn4J/EVK6drS8R+tOuTvI+J0clD4t9I+T1d95rnAJuCbVcduSyk9Mdmv\nSZKkbtXR3RM1+AxwPPAG4BjgG8D3IuKwCY6ZBzw5wfvnA0MppS1V20+OiHURcWdEXBwR+06mcEmS\nuk10y9LYETEKnJVSuqL0ehFwH7AopfR4xX4/BG5KKb1/jM94A3AJsCyldOcY778MuAF4WUrplqrj\nNgP3A4cBHwU2AitSt1xASZImqaO7J3bjGGAqcHdV18UMYH31zhFxCnlsxB+PFRhK3gr8f5WBASCl\nVDm+4faI+CXwK+Bk4N8b/gokSeoi3Rwa9gSeA5YDo1XvPVP5IiJOAr4DvDul9JWxPiwiZgHnALu0\nUFRLKd0fEeuBpRgaJEl9optDw8/JLQ37p5SuH2+niDgZuBL4nymlL03weeeQWynGDBVVn3kQ8BvA\nY/UULElSN6trIGREXBARt0XEcOnx04j4v3ZzzB9ExJqI2FI69rfrON+ciDg2Io4rbVpSer0opXQP\n8FXyLZSvj4hDIuJlEfEX5XOUAsO/Ap8Gvh0R+5ce+4xxurcCl6eUnhqjho9HxPERcXBEnApcDtwN\nXFXr1yJJUrerayBkRLwO2AHcW9r0FuB/AsellNaMsf8K4CfAn5NvcTwX+AvyQMQ7ajjfSeTm/+oi\nL0kpnR8RU8ndCX8EHAhsIA9k/GBK6faI+HLpvWrXppReVXGeFwJ3AqellH5cVcMe5JBwHPm2zrXk\nsPD/eAumJKmfTPruiYjYAPxZSunLY7z3NWB2SumMim03AD9PKV04qRNLkqS2aniehoiYEhFvBGaT\n/7ofywrg6qptV5W2S5KkLlL3QMiIOJocEvYgz1Xw+gluYVxAnr650rrS9onO8RvA6cADwNZ6a5Qk\nqY/tARwCXJVS2tDMD27k7ok7gWPJ/ftnkwcinjhBcKgW7DpGodrp1HAXgyRJGtd55BsGmqbu0JBS\neo48EyPA6tIsiu8G3jnG7o8D+1dt249dWx+qPQBw2WWXceSRR9Zbohq0cuVKVq1aVXQZfcVr3n5e\n8/bzmrfXmjVreNOb3gSl36XN1Ix5GqYAM8d57wbgVODvKradxvhjIMq2Ahx55JEsX7580gWqNvPm\nzfN6t5nXvP285u3nNS9M07v36woNEfE35CWiHwb2Ijd9nAS8pvT+pcAjKaX/VTrk08C1EfEe8i2X\ng8AA8LamVC9Jktqm3paG/YFLgQOAYeAXwGsq5jY4iDy1MwAppRsiYhD4m9LjHuDMWuZokCRJnaWu\n0JBS+uPdvP+qMbZ9C/hWnXVJkqQO0/A8Deo9g4ODRZfQd7zm7ec1bz+vee+Y9IyQrRARy4Fbbrnl\nFgfPSJJUh9WrVzMwMAAwkFJa3czPtqVBkiTVxNDQoJtuggMOgHW7m3FCkqQeYWho0BVXwOOPw7e/\nXXQlkiS1h6GhQddck5+/+c1Cy5AkqW0MDQ3YvBn+8z/h2GNzeNjQ1OVAJEnqTIaGBtxwA2zfDp/8\nJIyOwne+U3RFkiS1nqGhAddcA/PnwymnwAkn2EUhSeoPhoYGXHstnHgiTJkCv//7cPXV8PTTRVcl\nSVJrGRrqtGVLvt3y5JPz69/7vdxVceWVhZYlSVLLGRrqdOON8OyzcNJJ+fWBB8KKFfAtV9eQJPU4\nQ0OdrrkG9t0Xjj5657azz4bvfx82biysLEmSWs7QUKfK8QxlZ58N27bBd79bXF2SJLWaoaEOW7fm\n7oly10TZIYfAwIB3UUiSepuhoQ433ZRbFMqDICudfXZuadi8ue1lSZLUFoaGOlx7Ley9NxxzzK7v\nnX12DgxXXdX+uiRJagdDQx2uuSZP5jR16q7vvehFOUx4F4UkqVcZGmq0bVuePnqsromyk0+G1avb\nVZEkSe1laKjRf/5nHghZPQiy0tKlcN99eT0KSZJ6jaGhRtdcA3PnwnHHjb/P0qW5ReLRR9tWliRJ\nbWNoqNG1144/nqFs6dL8fO+97alJkqR2MjTU6Oab4eUvn3ifQw7Jkz4ZGiRJvcjQUIOtW2FkJK8z\nMZEZM2DxYkODJKk3GRpqsGFDfp4/f/f7Ll1qaJAk9SZDQw3qDQ2/+lVr65EkqQiGhhqsX5+f62lp\nSKm1NUmS1G6GhhrUGxo2bYJ161pbkyRJ7WZoqMH69TBtWp6nYXe87VKS1KsMDTVYvx5+4zcgYvf7\nLlmSnw0NkqReY2iowYYNtXVNAMyalW/NNDRIknqNoaEG69fXHhrA2y4lSb3J0FCDRkKDt11KknqN\noaEGjYSGe+7xtktJUm8xNNSgPBCyVkuXwvAwPPlk62qSJKndDA01qGcgJHjbpSSpNxkadmPLljxZ\nUz2h4bDD8rOhQZLUSwwNu1HPuhNle+0F++1naJAk9RZDw27UM4V0Je+gkCT1GkPDbkwmNNjSIEnq\nJYaG3SiHhnrungBDgySp99QVGiLifRFxc0SMRMS6iPh2RLxoN8e8OSJGI2JH6Xk0IjZPruz22bAB\npk/P4xTqsXQpPPFEvvVSkqReUG9LwwnA3wPHA68GpgM/iIhZuzluGFhQ8Ti4zvMWpjyxUy2LVVUq\n30HhuAZJUq+YVs/OKaXXVr6OiLcAvwYGgOsmPjQ9UXd1HaDe2SDLKudqWL68uTVJklSEyY5p2BtI\nwO7mPtwzIh6IiIci4vKIOGqS522bRkPDvvvCPvvY0iBJ6h0Nh4aICOBTwHUppTsm2PUu4HzgDOC8\n0jl/GhEHNnrudmo0NICDISVJvaWu7okqFwNHAa+YaKeU0o3AjeXXEXEDsAZ4O/DBiY5duXIl8+bN\ne962wcFBBgcHGyy5fhs27OxqqJehQZLUSkNDQwwNDT1v23ALR+A3FBoi4h+A1wInpJQeq+fYlNJz\nEfFzYLe/iletWsXyggcETLal4dprm1uPJEllY/0hvXr1agYGBlpyvrq7J0qB4UzglJTSQw0cPwU4\nGqgrbBRlMqHhsMNg7dq8doUkSd2u3nkaLiaPSzgX2BQR+5cee1Tsc0lEfKTi9Qci4rSIODQilgFf\nId9y+cXmfAmts3lzXrBqMi0NAPfd17yaJEkqSr0tDRcAc4FrgLUVjzdU7LOIPBdD2T7A54E7gH8D\n9gRWpJTubKzk9ml0Cukyl8iWJPWSeudp2G3ISCm9qur1e4D31FlXR2hkhctK++0Hs2fD/fc3ryZJ\nkori2hMTaHTdibIIWLwYHn64eTVJklQUQ8MEJts9AbBoETxU93BRSZI6j6FhAuvXw8yZMGdO459h\nS4MkqVcYGibQ6GJVlWxpkCT1CkPDBDZsmFzXBOSWhnXrYNu25tQkSVJRDA0TmMzETmWLFuXnRx6Z\nfD2SJBXJ0DCB9esbv3OibPHi/GwXhSSp2xkaJtCMloaDDsrPDoaUJHU7Q8MEmhEaZs/On2FLgySp\n2xkaxpFScwZCgrddSpJ6g6FhHJs3w9atzQkN3nYpSeoFhoZxNGM2yDJbGiRJvcDQMI7JrjtRadEi\nePDB3OUhSVK3MjSMo9ktDc88A8PDk/8sSZKKYmgYRzNDQ3mCJ7soJEndzNAwjg0bYNasfMvkZDnB\nkySpFxgaxtGMORrKDjgApk61pUGS1N0MDeNoZmiYOhUOPNCWBklSdzM0jKMZ605UWrTIlgZJUncz\nNIyjmS0NkMc12NIgSepmhoZxNGsK6TJbGiRJ3c7QMI5WtDQ88gjs2NG8z5QkqZ0MDWNIqTWhYft2\nWLeueZ8pSVI7GRrG8Mwz8Oyzze+eALsoJEndy9AwhmauO1HmBE+SpG5naBjDhg35uZktDfvsk2eX\ntKVBktStDA1jaOa6E2UR3nYpSepuhoYxtKJ7ArztUpLU3QwNY1i/HubMyQtWNZMtDZKkbmZoGEOz\nb7css6VBktTNDA1j2LAB9t23+Z+7eHGep2Hr1uZ/tiRJrWZoGMPICMyb1/zPLc/V8Mgjzf9sSZJa\nzdAwho0bYa+9mv+55bka7KKQJHUjQ8MYWhUaDjooPzsYUpLUjQwNY2hVaJg9Ow+wtKVBktSNDA1j\nGBmBuXNb89nedilJ6laGhjG0qqUBvO1SktS9DA1jaGVosKVBktStDA1VRkdh06bWtjQ89BCk1JrP\nlySpVQwNVZ55Jj+3sqXhmWfg6adb8/mSJLWKoaHKyEh+buVASHBcgySp+9QVGiLifRFxc0SMRMS6\niPh2RLyohuP+ICLWRMSWiLgtIn678ZJba+PG/NzKlgZwXIMkqfvU29JwAvD3wPHAq4HpwA8iYtz1\nICNiBfBV4AvAccDlwOURcVRDFbdYq0PDggUwbZqhQZLUfabVs3NK6bWVryPiLcCvgQHgunEOezfw\nvZTSRaXXH4yI1wB/AlxYV7Vt0OrQMHUqHHig3ROSpO4z2TENewMJeHKCfVYAV1dtu6q0veO0ekwD\neNulJKk7NRwaIiKATwHXpZTumGDXBcC6qm3rSts7TqtbGsDQIEnqTnV1T1S5GDgKeEUDxwa5hWJC\nK1euZF7VGtWDg4MMDg42cMrabNwIM2bkR6ssXgz/8R+t+3xJUn8YGhpiaGjoeduGh4dbdr6GQkNE\n/APwWuCElNJju9n9cWD/qm37sWvrwy5WrVrF8uXLGymxYa2cDbJs8WJ49FF47rk8KFKSpEaM9Yf0\n6tWrGRgYaMn56u6eKAWGM4FTUkq1NLLfAJxate200vaOMzLSntCwYwc8tru4JUlSB6l3noaLgfOA\nc4FNEbF/6bFHxT6XRMRHKg77NPDbEfGeiDg8Iv6KfLfFP0y+/ObbuLG1gyDBuRokSd2p3paGC4C5\nwDXA2orHGyr2WUTFIMeU0g3AIPB24Fbg94AzdzN4sjDt6p4AQ4MkqbvUO0/DbkNGSulVY2z7FvCt\nes5VlHaEhrlzYd48Q4Mkqbu49kSVdoQGyK0NTvAkSeomhoYq7RgICc7VIEnqPoaGKu0YCAmwaJGh\nQZLUXQwNVdrZPWFokCR1E0NDlXaGhqee2jlttSRJnc7QUCGl9o5pAAdDSpK6h6GhwpYtMDranjEN\nztUgSeo2hoYK7VjhsmzhQpgyxdAgSeoehoYK7QwN06fn4GBokCR1C0NDhXaGBnCCJ0lSdzE0VBgZ\nyc/tDA22NEiSuoWhoUK5paEdAyHB0CBJ6i6GhgpFdU+MjrbnfJIkTYahocLGjfmOhtmz23O+RYtg\n+3ZYt64955MkaTIMDRVGRmDPPSGiPedzrgZJUjcxNFRo1xTSZYYGSVI3MTRUaNcKl2X77ANz5hga\nJEndwdBQod0tDRHO1SBJ6h6GhgrtDg3gbZeSpO5haKjQrhUuKxkaJEndwtBQod1jGsDQIEnqHoaG\nCkV1TzzxRF6WW5KkTmZoqFBUaAAHQ0qSOp+hoUJRYxrALgpJUuczNFQooqXhwAPzs6FBktTpDA0l\n27fDtm3tHwg5cyYsWGBokCR1PkNDSbtXuKzkBE+SpG5gaCgpMjQcfDA88ED7zytJUj0MDSUjI/m5\niNBw6KFw//3tP68kSfUwNJSUWxraPaYBYMmSPKbhuefaf25JkmplaCgpsnvi0ENhxw7HNUiSOpuh\noaTI0LBkSX6+7772n1uSpFoZGkrKYxr23LP95168OC+T7bgGSVInMzSUbNwIs2bBtGntP/eMGbBo\nkS0NkqTOZmgoKWKFy0reQSFJ6nSGhpIippCutGSJLQ2SpM5maCgpYrGqSrY0SJI6naGhpBNaGp54\nAp55prgaJEmaiKGhpOjQcOih+dnWBklSpzI0lBQ9ENK5GiRJna7u0BARJ0TEFRHxaESMRsQZu9n/\npNJ+lY8dEbFf42U3X9EtDfvvn2/5tKVBktSpGmlpmAPcCrwLSDUek4AXAgtKjwNSSr9u4NwtU/RA\nyIjcRWFLgySpU9U9lVFK6fvA9wEiIuo49ImU0ki952uXolsawDsoJEmdrV1jGgK4NSLWRsQPIuLl\nbTpvzYoe0wDO1SBJ6mztCA2PAe8AzgZ+D3gYuCYijmvDuWsyOppvdeyUloZUa6ePJElt1PKVFlJK\ndwN3V2y6MSIOA1YCb57o2JUrVzJv3rznbRscHGRwcLCpNZbnRig6NCxZAlu2wLp1sGBBsbVIkjrf\n0NAQQ0NDz9s2PDzcsvMVsDwTADcDr9jdTqtWrWL58uUtL6bIZbErVc7VYGiQJO3OWH9Ir169moGB\ngZacr6h5Go4jd1t0hE4LDY5rkCR1orpbGiJiDrCUPLgRYElEHAs8mVJ6OCI+CixMKb25tP+7gfuB\n24E9gLcBpwCnNaH+piiHhqIHQu61F8yf7x0UkqTO1Ej3xEuAfyfPvZCAT5a2XwKcT56HYVHF/jNK\n+ywENgO/AE5NKf2kwZqbrlNaGsA7KCRJnauReRquZYJujZTSf6t6/QngE/WX1j4jpdkjOiE0OFeD\nJKlTufYEtjRIklQLQwM5NEyfDjNnFl1Jbml45BF49tmiK5Ek6fkMDeycQrquSbFbZMmSPNnUQw8V\nXYkkSc9naKD4xaoqedulJKlTGRrojMWqyhYtgqlTHQwpSeo8hgY6KzRMn56Dgy0NkqROY2igM1a4\nrLRkiS0NkqTOY2igs1oaII9rsKVBktRpDA101kBIsKVBktSZDA10ZkvDk09CC1c3lSSpboYGOi80\nLFmSn21tkCR1EkMDnTcQsjxXw69+VWwdkiRV6vvQkFLnjWl4wQtg3jy4556iK5Ekaae+Dw1bt8KO\nHZ0VGiLgiCPgzjuLrkSSpJ36PjR00gqXlQwNkqROY2gohYZOGtMAO0NDSkVXIklS1vehYWQkP3da\nS8Phh+dbLn/966IrkSQp6/vQ0MndE2AXhSSpc/R9aCi3NHRa98Rhh+XVLg0NkqROYWgohYZ584qt\no9qMGTk4GBokSZ3C0DCS/6KfNavoSnblHRSSpE7S96FheDh3TUQUXcmuDA2SpE7S96FhZKTzuibK\njjgCHnwQtmwpuhJJkgwNjIx03iDIsiOOyPM0OJ20JKkT9H1oKHdPdKLDD8/PdlFIkjpB34eGTu6e\n2HffvHiVoUGS1AkMDR3cPQEOhpQkdY6+Dw2d3D0BhgZJUufo+9DQyd0TkEPDXXfB6GjRlUiS+p2h\noQu6JzZvhkcfLboSSVK/6/vQ0A3dE2AXhSSpeH0dGrZty49O7p44+GCYOdPQIEkqXl+HhvKy2J3c\n0jB1KrzwhYYGSVLx+jo0DA/n504ODeAdFJKkztDXoaFTl8WuZmiQJHUCQwPd0dKwdu3OeiVJKkJf\nh4Zu6p4AuPvuYuuQJPW3vg4N3dI94cJVkqRO0PehYfr0fEtjJ9tzTzjwQEODJKlYfR0ayhM7RRRd\nye45GFKSVLS+Dg2dvu5EJUODJKlodYeGiDghIq6IiEcjYjQizqjhmJMj4paI2BoRd0fEmxsrt7k6\nfd2JSkccAffcA9u3F12JJKlfNdLSMAe4FXgXkHa3c0QcAvwr8CPgWODTwBcj4rQGzt1Unb7uRKUX\nvxiefdbWBklScabVe0BK6fvA9wEiahoN8E7gvpTSe0uv74qIVwIrgR/We/5m6qbuieOOy88//zkc\nc0yxtUiS+lM7xjT8FnB11bargBVtOPeEuql7Yu5cWLo0hwZJkorQjtCwAFhXtW0dMDciCr3ZsZu6\nJwCWLYPVq4uuQpLUr+runmiScrfGhGMiVq5cybyq/oPBwUEGBwebUkQ3dU9ADg0f+xiMjsKUvr7v\nRZIEMDQ0xNDQ0PO2DZenO26BdoSGx4H9q7btB4yklJ6d6MBVq1axfPnylhXWTd0TAMuX55rvvx8O\nO6zoaiRJRRvrD+nVq1czMDDQkvO14+/VG4BTq7a9prS9MCl1Z/cEOK5BklSMRuZpmBMRx0ZEaTw/\nS0qvF5Xe/2hEXFJxyGeBwyLibyPi8Ii4EPh94KJJVz8J27blOQ+6qXtiv/1g4ULHNUiSitFIS8NL\ngJ8Dt5DHJHwSWA38den9BcCi8s4ppQeA1wGvJs/vsBJ4a0qp+o6KtuqWZbGrLVtmS4MkqRiNzNNw\nLROEjZTSfxvnmNZ0sDSoW5bFrrZ8OXz+80VXIUnqR307Br9blsWutmwZrFsHjz1WdCWSpH7T96Gh\n21oaHAwpSSpK34aGbu2eOPhg2GcfB0NKktqvb0NDt7Y0RDgYUpJUjL4ODTNn5ke3MTRIkorQt6Gh\n2yZ2qrRsWZ4V8qmniq5EktRP+jY0dNu6E5XKgyFvvbXYOiRJ/aWvQ0O3tjQcfjjMmmUXhSSpvfo2\nNHRz98TUqXDssYYGSVJ79W1o6ObuCXAwpCSp/fo6NHRrSwPk0LBmDWzeXHQlkqR+0behoZu7JyCv\nQTE6Cr/8ZdGVSJL6Rd+Ghm7vnjj6aJg2zS4KSVL79HVo6OaWhpkz4aijnE5aktQ+fRkaUur+7gmA\n3/otuP76oquQJPWLvgwNW7bAjh3d3T0BcNJJcMcd8MQTRVciSeoHfRkaunWxqmonnJCfr7uu2Dok\nSf2hL0NDty6LXW3RIjj0ULj22qIrkST1g74MDeWWhm7vnoDcRfGTnxRdhSSpH/R1aOj2lgaAE0/M\nC1eVW08kSWqVvgwNvdI9ATk0pORdFJKk1uvL0NBLLQ1LlsDChY5rkCS1Xt+GhlmzYPr0oiuZvAjH\nNUiS2qMvQ0MvTOxU6cQT4Wc/g02biq5EktTL+jI0dPu6E9VOPBGeew5uuKHoSiRJvaxvQ0MvtTQc\neSTMn28XhSSptQwNPSAitzYYGiRJrdSXoWF4uLe6JyCHhhtvhG3biq5EktSr+jI09FpLA+TQsG0b\n3Hxz0ZVIknqVoaFHvPjFufXELgpJUqv0ZWjoxe6JqVPhla80NEiSWqcvQ0MvtjRA7qK4/vp8+6Uk\nSc3Wd6Ehpd4ODZs2wS23FF2JJKkX9V1o2LQJRkd7r3sCYGAA9t4bvvvdoiuRJPWivgsNvbRYVbXp\n0+F3fgcuv7zoSiRJvcjQ0GPOOgt+8Qu4776iK5Ek9Zq+Cw3Dw/m5F7snAE4/HWbOhO98p+hKJEm9\npu9CQ6+3NOy5J5x2ml0UkqTmMzT0oLPOguuugyeeKLoSSVIv6bvQUO6e6OXQ8Lu/m28t/dd/LboS\nSVIv6bvQMDICc+bkGRR71X77wSteYReFJKm5GgoNEfGuiLg/IrZExI0R8dIJ9n1zRIxGxI7S82hE\nbG685Mnp1Ymdqp11FvzgB3leCkmSmqHu0BAR5wCfBD4ILANuA66KiPkTHDYMLKh4HFx/qc3Ri+tO\njOXMM2Hr1hwcJElqhkZaGlYCn0spXZpSuhO4ANgMnD/BMSml9ERK6delR2FD9PqlpWHpUvjN37SL\nQpLUPHWFhoiYDgwAPypvSykl4GpgxQSH7hkRD0TEQxFxeUQc1VC1TdAvoQFyF8WVV7qAlSSpOept\naZgPTAXWVW1fR+52GMtd5FaIM4DzSuf8aUQcWOe5m6Jfuicgh4annoL/+I+iK5Ek9YJpTfqcANJY\nb6SUbgRu/K8dI24A1gBvJ4+LGNfKlSuZV/UbfnBwkMHBwYYLHRmBhQsbPryrDAzAgQfmLopTTim6\nGklSsw0NDTE0NPS8bcPluQVaoN7QsB7YAexftX0/dm19GFNK6bmI+DmwdHf7rlq1iuXLl9dZ4sT6\nqXsiIrc2fPvbsGoVTOm7G2wlqbeN9Yf06tWrGRgYaMn56vo1klLaDtwCnFreFhFRev3TWj4jIqYA\nRwOP1XPuZnn66f7pngA491x4+GG4+uqiK5EkdbtG/va8CHh7RPxRRBwBfBaYDfwfgIi4NCI+Ut45\nIj4QEadFxKERsQz4CvmWyy9Ouvo67dgBjz/eP90TACtWwDHHwGc/W3QlkqRuV/eYhpTS10tzMnyI\n3E1xK3B6xW2UBwGV4/X3AT5PHij5FLmlYkXpds22euyxHBwWLWr3mYsTARdcAP/jf8Datf0VmCRJ\nzdVQL3dK6eKU0iEppVkppRUppZ9VvPeqlNL5Fa/fk1I6tLTvwpTS76aUftGM4uv18MP5uZ9CA8B5\n5+Xlsr/0paIrkSR1s74aGlcODQcdVGwd7TZvXh7b8IUv5JYWSZIa0XehYc4c2Hvvoitpv3e8I3/9\n3/te0ZVIkrpV34WGRYtyP3+/eclL8rwNDoiUJDWqr0LDI4/033iGShdcAN/9Ljz4YNGVSJK6UV+F\nhnJLQ7964xthzz3hi22/2VWS1AsMDX1kzz3hD/8wh4bt24uuRpLUbfomNDz7bJ7YqZ9DA+QBkY8/\nnle/lCSpHn0TGtauhZQMDS9+MbzylfC3f5uvhyRJteqb0NCvEzuN5a//Gm6+Oa9+KUlSrQwNfehV\nr4JXvxre/34ne5Ik1a6vQsPee+fBgIKPfATuuAMuu6zoSiRJ3aKvQoOtDDu99KVw9tnwwQ/Ctm1F\nVyNJ6gaGhj724Q/n6/K5zxVdiSSpGxga+tiRR8Kb3wz/+3/DM88UXY0kqdP1VWjot9Uta/FXfwXD\nw/CpTxVdiSSp0/VFaNiyBdavt6VhLIsXwzvfCZ/4RL5GkiSNpy9Cw6OP5mdDw9j+8i9h6lS48EIn\nfJIkja/EyhVxAAAL5ElEQVQvQoNzNEzsBS+Af/xH+MY3YGio6GokSZ2qr0KDYxrGd845MDgI73pX\nXkJckqRqfRMa5s+HWbOKrqSzfeYzMHs2nH8+jI4WXY0kqdP0TWiwa2L39tkHvvxl+OEP4eKLi65G\nktRpDA16nte8JndRvPe9cNddRVcjSeokhgbt4uMfz9frvPNg06aiq5EkdQpDg3YxezZ87Wu5peGc\nc2D79qIrkiR1gp4PDc88A08/bWio17Jl8C//Aj/4Abztbc7fIEnqg9DgHA2NO+00uOSS/Hjf+4qu\nRpJUtGlFF9BqhobJGRyEdetg5UpYsAD+9E+LrkiSVJS+CA0RsHBh0ZV0rz/9U3jssRwc5s7N8zhI\nkvpPX4SG/feHGTOKrqS7fexjeTXMt74VfvUr+PCHYUrPd25Jkir1fGh45BG7JpohIq9PsXTpzjkc\nLr0032khSeoPPf+3ordbNk8E/Nmf5bsqvvc9OOmk3G0hSeoPhgbV7ayz4LrrcmB46UvhRz8quiJJ\nUjv0dGhIydDQKsuWwc035+6KV786z+Xw9NNFVyVJaqWeDg3Dw3lyJ0NDayxcCD/+MXz2s/D1r8NR\nR8HllxddlSSpVXo6NDhHQ+tNmQLveAfcfjsMDMDrX58fv/xl0ZVJkprN0KCmOOgguOIKGBqCW2+F\nF78Yzj4bbrut6MokSc3S86Fh6lQ44ICiK+kPEfDGN8Ldd8OXvpTDw3HH5ZaH665z/QpJ6nY9HRpu\nvz33u0+dWnQl/WX69Dxr5J13wpe/nL8PJ5wAhx+eJ4lau7boCiVJjejZ0HD33fC5z8Ef/mHRlfSv\n6dPhLW/J4eHHP4bjj4cPfSh3F732tfD5z8OjjxZdpSSpVj0ZGlKCd74z97O///1FV9M9hoaGWvK5\nU6bAKafAP/9zntvhH/8x39VS/h4tXw4f+ABcfz1s3dqSEjpWq665xuc1bz+vee9oKDRExLsi4v6I\n2BIRN0bES3ez/x9ExJrS/rdFxG83Vm5tLrss/2V78cUwa1Yrz9Rb2vE/9rx58Pa3w09+Ak88AV/9\nKhx5JHzmM/DKV+b3X/7ynTNPPvhgb4+F8Idp+3nN289r3jvqXnsiIs4BPgm8HbgZWAlcFREvSimt\nH2P/FcBXgT8H/g04F7g8IpallO6YTPFj2bAB3vOevKTz6ac3+9PVTPvum79Pg4Pw3HPwi1/k1oaf\n/jTP+/DJT+b95s6FY47Jj6OPhhe+ME8qtXgxTOv51VMkqXM08iN3JfC5lNKlABFxAfA64Hzg42Ps\n/27geymli0qvPxgRrwH+BLiwgfNP6L3vhe3b4aKLdr+vOse0abmbYvly+O//PW975JF8y+Yvf5kD\nxXXXwRe/mANG+ZhDDoFDD83dHAcdBAcemB8LFuTVTV/wAthjj8K+LEnqKXWFhoiYDgwAHylvSyml\niLgaWDHOYSvILROVrgLOrOfctfjJT+Cf/inPULhgQbM/Xe1WDgKve93Obc89Bw89BPfem5fovvfe\n/HrNGvjhD/OdGaOjz/+cvfbK4WHffWGfffJj331zV8jcufmx1175ec6cXR977JG7ufbYI99WKkn9\nqt6WhvnAVGBd1fZ1wOHjHLNgnP0n+rW+B8C//MsafvazsXdIKbcobN6cH1u2wNe+lpuwBwZg9erd\nfCXaxfDwMKu75MLNn58fxx///O3PPQdPPrnz8dRTO/+9cSOMjMD99+cWjGeegU2b8mP79trOO2PG\nzsf06flR+e9p03Y+T5uWb/ctP5cf06blwaFTp8Lq1cO86U2rmTo1bytvj9j1ufw+7Px3xM73yoFm\nrNeVj/G2VW6v/nf59UTPlWp5b7zXY6nlc2r9rAceGOazn23ff+fdEjRbWeeDDw7z+c93x8+WTjdl\nSm6RnciaNWvK/2x6O2ukOkaZRcQBwKPAipTSTRXbPw68MqX08jGO2Qb8UUrp/63YdiHw/pTSwnHO\ncy7wlZoLkyRJ1c5LKX21mR9Yb0vDemAHsH/V9v3YtTWh7PE694fcfXEe8ADQZzfhSZI0KXsAh5B/\nlzZVXS0NABFxI3BTSundpdcBPAT8XUrpE2Ps/zVgVkrpzIpt1wO3pZSaPhBSkiS1RiN3T1wEXBIR\nt7DzlsvZwP8BiIhLgUdSSv+rtP+ngWsj4j3kWy4HyYMp3za50iVJUjvVHRpSSl+PiPnAh8jdDrcC\np6eUnijtchDwXMX+N0TEIPA3pcc9wJmtmKNBkiS1Tt3dE5IkqT/15NoTkiSp+QwNkiSpJh0XGupd\nDEu1i4j3RcTNETESEesi4tsR8aKqfWZGxGciYn1EbIyIb0bEfkXV3EtK1380Ii6q2Ob1boGIWBgR\n/1y6rptLC+Utr9rnQxGxtvT+DyNiaVH1druImBIRH46I+0rX896I2GWNYa954yLihIi4IiIeLf0c\nOWOMfSa8vhGxT0R8JSKGI+KpiPhiRMypp46OCg0Vi2F9EFgG3EZeDGt+oYX1jhOAvweOB14NTAd+\nEBGVa4F+iryWyNnAicBC4FttrrPnlMLv28j/TVfyejdZROwNXA9sA04HjgT+b+Cpin3+nLz+zTuA\nlwGbyD9rZrS94N7wF+RreSFwBPBe4L0R8SflHbzmkzaHfOPBu4BdBiPWeH2/Sv7/4VTyz50Tgc/V\nVUVKqWMewI3ApyteB/AI8N6ia+vFB3la8FHybJ4Ac8k/aF9fsc/hpX1eVnS93foA9gTuAl4F/Dtw\nkde7pdf7Y8C1u9lnLbCy4vVcYAvwhqLr78YHcCXwhapt3wQu9Zq35HqPAmdUbZvw+pbCwiiwrGKf\n08l3Oy6o9dwd09JQsRjWj8rbUv6qJloMS5OzNzmxPll6PUC+Dbfye3AXefIuvweN+wxwZUrpx1Xb\nX4LXuxV+F/hZRHy91A23OiL+uPxmRBxKXvum8rqPADfhdW/UT4FTI+KFABFxLPAK4Lul117zFqrx\n+v4W8FRK6ecVh15N/h1QtYrP+BqZ3KlVGlkMSw0qzeT5KeC6tHPOjAXAs6X/2CrtboExjSMi3ggc\nRw4I1fbH690KS4B3krs6/4b8A/HvImJrSuky8rVN1L+Qnsb3MfJftndGxA5y1/dfppS+Vnrfa95a\ntVzfBcCvK99MKe2IiCep43vQSaFhPMEY/TeatIuBo4BX1rCv34MGRMRB5GB2WkqpxnU086F4vSdj\nCnBzSukDpde3RcRvkoPEZRMc53Vv3DnAucAbgTvIQfnTEbE2pfTPExznNW+tWq5vXd+DjumeoLHF\nsNSAiPgH4LXAySmltRVvPQ7MiIi5VYf4PWjMAPAC4JaI2B4R24GTgHdHxLPkazrT6910jwFrqrat\nARaX/v04+QelP2ua5+PAR1NK30gp3Z5S+gqwCnhf6X2veWvVcn0fL73+LxExFdiHOr4HHRMaSn+J\n3UIe1Qn8VxP6qeT+MjVBKTCcCZySUnqo6u1byINiKr8HLyL/sL2hbUX2jquBY8h/dR1bevyM/Ndu\n+d/b8Xo32/Xs2qV5OPAgQErpfvIP0MrrPpfcjeHPmsbMZte/Vkcp/Y7xmrdWjdf3BmDviFhWceip\n5LBxU63n6rTuiQkXw9LkRMTF5AXDzgA2RUQ5lQ6nlLamlEYi4kvARRHxFLAR+Dvg+pTSzcVU3b1S\nSpvITbX/JSI2ARtSSmtKr73ezbcKuD4i3gd8nfyD8495/iJ5nwLeHxH3Ag8AHybfqfWd9pbaM64E\n/jIiHgZuB5aTf35/sWIfr/kklOZTWEr+JQ+wpDTg9MmU0sPs5vqmlO6MiKuAL0TEO4EZ5Fvwh1JK\nj9dcSNG3joxxK8mFpS94CzkZvaTomnrlQU7+O8Z4/FHFPjNL/yGtJ/8S+wawX9G198oD+DGlWy69\n3i29zq8FfgFsJv8SO3+Mff6KfJvaZuAqYGnRdXfrgzyHwEXA/eT5Ae4B/hqY5jVv2jU+aZyf4f9U\n6/Ul3zF3GTBMnrfkC8DseupwwSpJklSTjhnTIEmSOpuhQZIk1cTQIEmSamJokCRJNTE0SJKkmhga\nJElSTQwNkiSpJoYGSZJUE0ODJEmqiaFBkiTVxNAgSZJq8v8D7UtLEEziXvMAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(lh)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Best parameter for n4" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.1" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n4/n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### after removing the constant part" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\njSknbgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "lh = []\n", + "for i in range(1, 100):\n", + " P4 = 1.0/i\n", + " lh.append( (P4**n4) * ((1-P4) ** (n-n4)) )\n", + "plt.plot(lh)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Coin example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Setup problem" + ] + }, + { + "cell_type": "code", + "execution_count": 285, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 0, 0, 0, 0, 0, 0, 0, 1, 1] 10\n" + ] + } + ], + "source": [ + "# denoting tails by 0 and heads by 1\n", + "TAIL = 0\n", + "HEAD = 1\n", + "\n", + "# tossing coint N times\n", + "N = 10\n", + "\n", + "# 8 of N times tail occurs\n", + "TAIL_COUNT = 8\n", + "\n", + "experiments = [TAIL] * TAIL_COUNT + [HEAD] * (N - TAIL_COUNT)\n", + "print(experiments, N)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the experient shown above, we can easily predict that the probability of TAIL is 6/10, that is higher than the probability of HEAD 4/10.\n", + "\n", + "It is easy to calculate the probabilities in this setup without getting involved in Maximum likelihood. However, there are other problems which are not so obvious as this coin tossing. So, we are now going to calculate this probabilities with a more methodological way." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> Probability\n", + ">> Knowing parameters -> Prediction of outcome\n", + "> \n", + "> Likelihood\n", + ">> Observation of data -> Estimation of parameters" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Bernoulli distribution\n", + "\n", + "$$p(X=r; N, p) = \\frac{N!}{r! (N-r)!} p^r * (1-p)^{N-r} $$\n", + "Applying the formula to the coing tossing problem, we end up with the following expression:\n", + "$$\n", + "\\frac{N!}{TAILS\\_COUNT! (N-TAILS\\_COUNT)!} P\\_TAIL^{TAILS\\_COUNT} * P\\_HEAD^{HEADS\\_COUNT} \n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\\begin{eqnarray}\n", + "{\\cal L}(\\theta |\\pi_1\\cdots \\pi_n) & = & \\prod_{n=1}^{N} f(x_{n};\\theta ) \n", + "\\\\\n", + "& = & \\prod_{n=1}^{N} \\theta^{x_{n}} (1-\\theta)^{1-x_{n}}\n", + "\\\\\n", + "log{\\cal L}(\\theta) & = & \\sum_{n=1}^N x^{(n)} \\log (\\theta) + \\sum_{n=1}^N (1- x^{(n)}) \\log (1 - \\theta)\n", + "\\\\\n", + "& = & \\log (\\theta) \\sum_{n=1}^N x^{(n)} + \\log (1 - \\theta) \\sum_{n=1}^N (1- x^{(n)}) \n", + "\\end{eqnarray}\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The likelihood function is simply the joint probability of observing the data." + ] + }, + { + "cell_type": "code", + "execution_count": 288, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 288, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nMwe9qXkLAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "PROBABILITY_SCALE = 100\n", + "likelihoods = []\n", + "for i in range(1, PROBABILITY_SCALE + 1):\n", + " P_TAIL = float(i) / PROBABILITY_SCALE\n", + " constant_part = (\n", + " math.factorial(N) / \n", + " (math.factorial(TAIL_COUNT) * math.factorial(N-TAIL_COUNT)))\n", + " likelihood = (\n", + " constant_part * \n", + " np.power(P_TAIL, TAIL_COUNT) * \n", + " np.power(1 - P_TAIL, N - TAIL_COUNT))\n", + " \n", + " likelihoods.append((P_TAIL, likelihood))\n", + "plt.grid(True)\n", + "plt.plot(np.array(likelihoods)[:,0], np.array(likelihoods)[:,1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This binomial distribution figure illustrates the probability of TAIL is maximized around 6/10. It could also be other values such as 5/10 or 7/10, but the aim here is to find the parameter which makes the observed data most likely. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> Beyond parameter estimation, the likelihood framework allows us to make tests of parameter values. For example, we might want to ask whether or not the estimated p differs significantly from 0.5 or not. This test is essentially asking: is there evidence that the coin is biased? We will see how such tests can be performed when we introduce the concept of a likelihood ratio test below.\n", + "\n", + "> We will learn that especially for large samples, the maximum likelihood estimators have many desirable properties. However, especially for high dimensional data, the likelihood can have many local maxima. Thus, finding the global maximum can be a major computational challenge." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}