Last active
July 11, 2025 00:14
-
-
Save ekellbuch/0cb751f72784ddad976ccc14ba618ebc to your computer and use it in GitHub Desktop.
Reliability_diagram_binary_classification.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "nbformat": 4, | |
| "nbformat_minor": 0, | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.6.8" | |
| }, | |
| "colab": { | |
| "name": "Reliability_diagram_binary_classification.ipynb", | |
| "provenance": [], | |
| "collapsed_sections": [], | |
| "include_colab_link": true | |
| } | |
| }, | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/ekellbuch/0cb751f72784ddad976ccc14ba618ebc/reliability_diagram_gmm.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "Nic_o9BZdAwi" | |
| }, | |
| "source": [ | |
| "## Plot a reliability Diagram for a Binary classifier\n", | |
| "see [Gaussian Naive Bayes Classifier](https://en.wikipedia.org/wiki/Naive_Bayes_classifier)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "Wnr9zdaZFsn8" | |
| }, | |
| "source": [ | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "from scipy.stats import norm" | |
| ], | |
| "execution_count": null, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "GzNHP5BojsI_" | |
| }, | |
| "source": [ | |
| "Consider a dataset $D=\\{(x_i, y_i)\\}_{i=1}^n$, where $x_i \\in \\mathbb{R}$ are the samples and $y_i \\in \\{0,1\\}$ the classes assignments. The target $y_i=1$ denotes class $z_1$, and $y_i=0$ denotes class $z_0$. The prior probability $p(z_1)=\\pi$, so $p(z_0)=1-\\pi$.\n", | |
| "\\begin{aligned}\n", | |
| "%& \\text{prior class probability} &z &\\sim Bern(\\pi) &\\\\\n", | |
| "%& \\text{Samples} &x_i,y_i|z=k &\\sim \\mathcal{N}(\\mu_k, \\sigma_k)& \\quad n=1,\\dots,n\n", | |
| "\\end{aligned}" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "63SBqYJXFsn_" | |
| }, | |
| "source": [ | |
| "# Class assignments for the binary classifier\n", | |
| "# Here we assume p_i = 0.3 for all i.\n", | |
| "pz1 = 0.7 # p(z=0)= 0.7\n", | |
| "pz2 = 1-pz1 # p(z=1)= 0.3\n", | |
| "\n", | |
| "p_z12 = np.asarray([pz1, pz2])\n", | |
| "\n", | |
| "# The class parameters for each class {(\\mu_k, \\sigma_k)} are\n", | |
| "mu1, sigma1 = 0, 1 #for z=0\n", | |
| "mu2, sigma2 = 2, 2 #for z=1\n", | |
| "\n", | |
| "# The class distributions x_i|z_i=k\n", | |
| "c1 = norm(mu1, sigma1)\n", | |
| "c2 = norm(mu2, sigma2)" | |
| ], | |
| "execution_count": null, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "4UsfgkgX6cAm" | |
| }, | |
| "source": [ | |
| "### Estimate the corresponding class of a sample.\n", | |
| "We assume that the data is iid. Say we observe some samples $x$, and we want to find out which class they came from. We can assign the classes by solving following optimization problem:\n", | |
| "\\begin{aligned}\n", | |
| "%\\hat{z}_k=\\underset{k={1,\\dots,K}}{\\arg \\max}~p(z_k)\\prod_i^n p(x_i|z_k) \n", | |
| "\\hat{z}_k=\\underset{k={1,\\dots,K}}{\\arg \\max}~p(z_k|x) \n", | |
| "\\end{aligned}\n", | |
| "We can calculate these conditional probabilities using Bayes rule:\n", | |
| "\\begin{aligned} \n", | |
| "% &p(z|x)&=& \\frac{p(x,z)}{p(x)}&\\\\\n", | |
| "&p(z|x)&=& \\frac{p(z)p(x|z)}{p(x)}&\\\\\n", | |
| "&p(z|x)&=& \\frac{p(z)p(x|z)}{\\sum_z p(z)p(x|z)}&\\\\\n", | |
| "%&p(z=k|x)&=& \\frac{p(z=0)p(x|z=0)}{p(z=0)p(x|z=0)+ p(z=1)p(x|z=1)}& \n", | |
| "%&p(z=0|x)&=& \\frac{p(z=0)p(x|z=0)}{p(z=0)p(x|z=0)+ p(z=1)p(x|z=1)}& \n", | |
| "\\end{aligned}\n", | |
| "\n", | |
| "In our binary classification example:\n", | |
| "\\begin{aligned} \n", | |
| "&&p(z=0|x)=\\frac{p(z=0)p(x|z=0)}{p(z=0)p(x|z=0)+ p(z=1)p(x|z=1)}& \n", | |
| "\\end{aligned}" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "CeEC-p0oFsoC", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "outputId": "1548fe26-e1a3-499e-f938-57f75e1d0581" | |
| }, | |
| "source": [ | |
| "# Say we observe a sample x_i, and we want to find out which class it came from.\n", | |
| "xi = 2\n", | |
| "# Given the pdfs, we first compute the likelihoods p(x|z=k)\n", | |
| "# Calculate p(x|z=0) =c1.pdf(xi)\n", | |
| "p_xi_z1 = c1.pdf(xi)\n", | |
| "# Calculate p(x|z=1) =c2.pdf(xi)\n", | |
| "p_xi_z2 = c2.pdf(xi)\n", | |
| "print('p(x|z=0)={:.3f}\\np(x|z=1)={:.3f}'.format(p_xi_z1, p_xi_z2))" | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "text": [ | |
| "p(x|z=0)=0.054\n", | |
| "p(x|z=1)=0.199\n" | |
| ], | |
| "name": "stdout" | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "MbiDgNBZFsoG", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "outputId": "f110be57-56fa-4191-ca04-ae0cdbbe0346" | |
| }, | |
| "source": [ | |
| "# Calculate p_x = p(z=0)p(x|z=0) + p(z=1)*p(x|z=1)\n", | |
| "p_xi = (pz1*p_xi_z1 + pz2*p_xi_z2)\n", | |
| "# Calculate the class probability p(z=k|x)\n", | |
| "p_z1_xi = (pz1*p_xi_z1)/p_xi\n", | |
| "p_z2_xi = (pz2*p_xi_z2)/p_xi\n", | |
| "print('Given two classes,\\nz=0: N({},{})\\t z=1: N({},{})'.format(mu1, sigma1,mu2, sigma2))\n", | |
| "print('p(z=0|x={})={:.3f}, p(z=1|x={})={:.3f}'.format(xi,p_z1_xi,xi, p_z2_xi))\n", | |
| "print('The sample x={}, most likely came from class z={}'.format(xi, np.argmax(np.asarray([p_z1_xi, p_z2_xi]))))" | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "text": [ | |
| "Given two classes,\n", | |
| "z=0: N(0,1)\t z=1: N(2,2)\n", | |
| "p(z=0|x=2)=0.387, p(z=1|x=2)=0.613\n", | |
| "The sample x=2, most likely came from class z=1\n" | |
| ], | |
| "name": "stdout" | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "-FVMVo-SGAF9" | |
| }, | |
| "source": [ | |
| "### Estimate the classes of multiple samples" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "SJMY2IawFsoI" | |
| }, | |
| "source": [ | |
| "# Generate T samples from x | z ~ Normal(u_z, sigma_z) for z={0,1}\n", | |
| "T = 1000\n", | |
| "t1 = int(T*pz1) # number of samples from class z=0\n", | |
| "t2 = T - t1 # number of samples from class z=1\n", | |
| "\n", | |
| "# samples from each class\n", | |
| "s1 = c1.rvs(t1)\n", | |
| "s2 = c2.rvs(t2)\n", | |
| "\n", | |
| "# labels z corresponding to each sample\n", | |
| "y1 = np.zeros(t1)\n", | |
| "y2 = np.ones(t2)\n", | |
| "\n", | |
| "# merge samples and corresponding labels into a single vector\n", | |
| "x = np.concatenate((s1, s2))\n", | |
| "y = np.concatenate((y1, y2))" | |
| ], | |
| "execution_count": null, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "Q4zw5-9oFsoK" | |
| }, | |
| "source": [ | |
| "# Calculate p(x|z_k)\n", | |
| "p_x_z1 = c1.pdf(x)\n", | |
| "p_x_z2 = c2.pdf(x)\n", | |
| "# Calculate p(x)\n", | |
| "p_x = (pz1*p_x_z1 + pz2*p_x_z2)\n", | |
| "# Calculate p(z_k|x)\n", | |
| "p_z1_x = (pz1*p_x_z1)/p_x\n", | |
| "p_z2_x = (pz2*p_x_z2)/p_x\n", | |
| "# Calculate p(z|x)\n", | |
| "p_z12_x = np.asarray((p_z1_x, p_z2_x))\n", | |
| "# Class predictions: argmax_z p(z|x)\n", | |
| "predictions = np.argmax(p_z12_x,0)\n", | |
| "# Class confidences: max_z p(z|x)\n", | |
| "confidences = np.max(p_z12_x, 0)\n", | |
| "# Accuracies: y' = y\n", | |
| "accuracies = predictions == y" | |
| ], | |
| "execution_count": null, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "mmVxfWhkFsoM", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 295 | |
| }, | |
| "outputId": "72d4dc7d-a9c3-4e3c-9ead-1f67a2ac1734" | |
| }, | |
| "source": [ | |
| "plt.title('p(x)')\n", | |
| "plt.hist(x, density=True, label='binned',histtype='stepfilled', alpha=0.3)\n", | |
| "plt.plot(x, p_x,'.', label='empirical')\n", | |
| "plt.xlabel('x')\n", | |
| "plt.legend()\n", | |
| "plt.show()" | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [], | |
| "needs_background": "light" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "Td091F02FsoO", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 295 | |
| }, | |
| "outputId": "92a43737-4e8a-4377-807f-3908499a2d39" | |
| }, | |
| "source": [ | |
| "plt.title('p(x|z)')\n", | |
| "plt.plot(x, p_x_z1,'.', label=r'p(x|z=0)')\n", | |
| "plt.plot(x, p_x_z2,'.', label=r'p(x|z=1)')\n", | |
| "plt.xlabel('x')\n", | |
| "plt.legend();" | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [], | |
| "needs_background": "light" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "WxoPiWS8cvMR", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 295 | |
| }, | |
| "outputId": "927af5c5-9d50-4232-feee-5bb4506924a8" | |
| }, | |
| "source": [ | |
| "plt.title('p(z|x)')\n", | |
| "plt.plot(x, p_z1_x,':o', label='p(z=0|x)')\n", | |
| "plt.plot(x, p_z2_x,':o', label='p(z=1|x)')\n", | |
| "plt.xlabel('x')\n", | |
| "plt.legend()\n", | |
| "plt.show()" | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [], | |
| "needs_background": "light" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "7-AKYDypGMTo" | |
| }, | |
| "source": [ | |
| "### Plot Reliability Diagram" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "LeaJa00BFsod" | |
| }, | |
| "source": [ | |
| "# Now we will plot a reliability diagram\n", | |
| "# First define the bins in the range (0, 1]\n", | |
| "num_bins = 10\n", | |
| "bins = np.linspace(0,1, num_bins + 1)\n", | |
| "bins[-1] = 1.0001\n", | |
| "\n", | |
| "# recall confidence = max_z p(z|x)\n", | |
| "# in this case we use the max value of p(z|x)\n", | |
| "confidences_idx = np.digitize(confidences, bins) -1\n", | |
| "assert confidences_idx.min() > 0\n", | |
| "assert confidences_idx.max() <= num_bins - 1" | |
| ], | |
| "execution_count": null, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "pzBCSGvTFsof" | |
| }, | |
| "source": [ | |
| "# the average accuracy per bin\n", | |
| "# Accuracy = (TP+TN)/(TP+TN+FP+FN)\n", | |
| "accuracy_bin = np.zeros(num_bins)\n", | |
| "# The average confidence per bin\n", | |
| "# confidence = argmax_z p(z|x)\n", | |
| "confidence_bin = np.zeros(num_bins)\n", | |
| "# Expected calibration error\n", | |
| "# average (expected accuracy - expected confidence)* (TP+TN)/num_samples\n", | |
| "ece = 0\n", | |
| "\n", | |
| "# For each bin:\n", | |
| "for bi in range(num_bins):\n", | |
| " # mask of confidence values \"bi\" in bin\n", | |
| " in_bin = confidences_idx == bi\n", | |
| " # if there are any values in the bin\n", | |
| " if in_bin.sum() > 0:\n", | |
| " # set of indices of samples with prediction confidences in the\n", | |
| " # interval Im = ((m-1)/M, m/M] for m in M\n", | |
| " #bm = np.argwhere(in_bin).flatten()\n", | |
| "\n", | |
| " # (len(bm)/T) = (TP+TN)/T, where T is the total # samples\n", | |
| " prop_in_bin = in_bin.mean() \n", | |
| "\n", | |
| " # accuracy = 1/|Bm| sum_i in BM 1(hat_y_i = y_i)\n", | |
| " avg_accuracy_in_bin = accuracies[in_bin].mean()\n", | |
| "\n", | |
| " # confidence = 1/|Bm| sum_i in BM p_im\n", | |
| " avg_confidence_in_bin = confidences[in_bin].mean()\n", | |
| "\n", | |
| " # Expected calibration error\n", | |
| " ece += np.abs(avg_accuracy_in_bin - avg_confidence_in_bin) * prop_in_bin\n", | |
| "\n", | |
| " # store vals\n", | |
| " accuracy_bin[bi] = avg_accuracy_in_bin\n", | |
| " confidence_bin[bi] = avg_confidence_in_bin" | |
| ], | |
| "execution_count": null, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "-oyMWBimpyaY", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 297 | |
| }, | |
| "outputId": "6e19421e-f5cd-46af-dd4b-dba46630bed7" | |
| }, | |
| "source": [ | |
| "# Perfect calibration: ECE =0, or acc(Bm) == conf(Bm)\n", | |
| "# https://gist.github.com/gpleiss/0b17bc4bd118b49050056cfcd5446c71\n", | |
| "fig, rel_ax = plt.subplots(1,1)\n", | |
| "width = bins[1] - bins[0]\n", | |
| "confs = rel_ax.bar(bins[:-1], accuracy_bin, width=width, color='b', edgecolor='k', align='edge')\n", | |
| "gaps = rel_ax.bar(bins[:-1], (confidence_bin - accuracy_bin), bottom=accuracy_bin, color=[1, 0.7, 0.7], alpha=0.5, width=width, hatch='//', edgecolor='r', align='edge')\n", | |
| "rel_ax.plot([0, 1], [0, 1], '--', color='gray')\n", | |
| "rel_ax.legend([confs, gaps], ['Outputs', 'gap'], loc='best', fontsize='small')\n", | |
| "rel_ax.set_ylabel('Accuracy')\n", | |
| "rel_ax.set_xlabel('Confidence')\n", | |
| "rel_ax.set_xlim([0, 1])\n", | |
| "rel_ax.set_ylim([0, 1])\n", | |
| "rel_ax.set_title('Reliability Diagram')\n", | |
| "fig.tight_layout()" | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de3xV9Z3v/9eH3BPEEMItEAgKXqoQLgGp9RIuchhaxGoV1F60Wqf9jfRMp3bOdHp+Y+t0OjM601M7Wiu0KlVBbWuVM3JXEVsFgQrIpSqVWyDkAkQJZBMSPuePvUM3IZedkJ29s/N+Ph48zF77u9b+rCXsd9Z3re93mbsjIiISb3rEugAREZGmKKBERCQuKaBERCQuKaBERCQuKaBERCQuKaBERCQuKaAk4ZnZajO7O/Tz7Wa2IsL1vm9mz7Tw/jYzK27c1syGmFm1mSV1QPkRMbOlZvaVzvo8kc6ggJIuwcx2m1lN6Iv/oJk9ZWY927odd3/W3ad1RE3ufpm7r25i+V537+nu9XBmQLaHmbmZHQvt+yEze9XMZjf6zL9y9wXt/QyReKSAkq5kprv3BEYDY4DvxriezlQY2veLgaeAR8zs/mh/qJklR/szRJqjgJIux90PAssJBhUAZjbRzN4ysyoz29zQ9daYmd1hZr8Pe/2wme0zs0/MbKOZXd1olXQze97MjprZH82sMGzd3WY2tYnPKAid9SSb2b8AVxMMlGoze8TMHjWz/2y0zmIz+1YE+17p7k8D3wC+a2Z9QuuHd2NeaGavhc62Ks3sWTPLDvussWb2bmiffh3avx+G3is2sxIz+19mdhB40sx6m9l/m1mFmR0J/Tw4bHurzeyHoeNfbWb/18z6hD73EzNbb2YFre2bSGMKKOlyQl+OfwXsDL0eBLwC/BDIAe4DfmtmfSPY3HqCQZcDLAR+bWbpYe/PAn4d9v5LZpYSaa3u/j3gTeDeULffvcAC4FYz6xGqPxeYGtp+pF4GkoEJTbxnwL8CecClQD7w/dBnpQK/I3gWlgMsAj7faP0BofeGAvcQ/J54MvR6CFADPNJonTnAl4BBwIXA26F1coAdQNTP9iTxKKCkK3nJzI4C+4By/vKl90VgibsvcfdT7r4S2ADMaG2D7v6Mux9y9zp3/08gjWA3WoON7v4bdz8J/BhIByaey064+zvAx8CU0KI5wGp3L2vDNk4ClQQDoPF7O919pbufcPeKUN3Xht6eSDDYfuruJ939ReCdRps4BdwfWr8mdHx+6+7H3f0o8C9h22vwpLv/2d0/BpYCf3b3Ve5eRzDgx0S6byINFFDSldzg7ucBxcAlQG5o+VDg5lD3XpWZVQFXAQNb26CZ3WdmO8zs49B654dtF4JhCIC7nwJKCJ6ZnKsFBIOV0H+fbsvKobO4vsDhJt7rb2bPmdl+M/sEeIa/7FMesN/PnCV6X6NNVLh7IGx7mWb2uJntCW1vDZDd6C7F8HCtaeJ1m29oEVFASZfj7m8Q7KL6j9CifcDT7p4d9ifL3f+tpe2Erjf9PXAL0Nvdswme2VhYs/yw9j2AwcCBtpbcxLJngFmha1qXAi+1cZuzgDrOPvsB+FHoM0e6ey+CAdiwT6XAIDNrch+bqffbBM8qrwht75rQckMkihRQ0lX9BLgu9AX/DDDTzP6HmSWZWXroYv/gVrZxHsEv+Qog2cz+CejVqM04M7sxdDfb3wIngLVtrLUMuCB8gbuXELz+9TTwW3eviWRDZpZjZrcDjwL/7u6Hmmh2HlANfBy6PvedsPfeBuqBe0M3ccyi6etYjbdXA1SZWQ66niSdRAElXVLo2sqvgH9y930Ezyj+kWDY7CP4pdza3+/lwDLgA2APEODs7q6XgdnAEYI3AdwYuv7TFg8DXwjdAffTsOULgJFE1r232cyqCd4YcjfwLXf/p2ba/gAYS/Bs8BXgxYY33L0WuBG4C6gieHb13wSDtzk/ATIIXvNaS/CYiUSd6YGFIrFhZtcQPPsb6jH8h2hm64Cfu/uTsapBpCk6gxKJgdBNDv8T+EVnh5OZXWtmA0JdfF8BRqGzIolDUQsoM3vCzMrNbGsz75uZ/dTMdprZFjMbG61aROKJmV1KsHttIMHus852MbA5VMO3gS+4e2kM6hBpUdS6+ELdF9XAr9z98ibenwHMJThW5QrgYXe/IirFiIhIlxO1Myh3X0MTYzTCzCIYXu7uawmOq2h13IqIiHQPsZwIchBn3jFVElp2VleDmd1DcMoVsrKyxl1yySWdUqCIiLTPyZMn+fjjj+nRowe7du2qdPdIph47Q5eYqdjd5wHzAIqKinzDhg0xrkhERJpSU1PDa6+9xsaNG8nMzGTq1KmMGTNmT3u2FcuA2s+ZI9gHh5aJiEgX5O786le/oqysjPHjxzNp0iTS09NbX7EZsQyoxQRHsz9H8CaJj3UnkYhI13Pw4EFyc3NJTk5m2rRpZGRkMGDAgHPebtQCyswWEZzUM9fMSghOj5IC4O4/B5YQvINvJ3AcuDNatYiISMcL786bOnUqV155JcOGDeuw7UctoNz91lbed+BvzvVzqqqqqKys5OTJts4+0/WlpKSQm5tLdnZ2641FRDqIu7Np0yZWrVpFTU0N48ePZ+zYjh/K2iVukmhJaWkpBQUFpKenc+YEzYnN3QkEAuzevVsBJSKd6pVXXmHjxo3k5+czY8aMDunOa0qXDyiAjIyMWJfQ6cysW+63iMRGTU1wwv2MjAzGjBnD4MGDKSwsjOqJQUIElIiIREd4d94ll1zCzJkzGTRoEIMGDYr6ZyfcZLEDBhRgZu3+M2BAQYvbX716NVdffTXXXnstc+bM4ciRI0222717NytWrGhz/e1dT0Sko5WWlvLEE0+wePFi+vTpw/jx4zv18xMuoMrK9hB8IGj7/gTXb9rhw4f55je/yYsvvsgbb7zBrFmzmDt3bpNtFVAi0pW9++67zJ8/n8OHDzNr1izuvPPOqF1rak7CBVQ0vfLKK3z+85+nb9/gjB233nora9eu5ctf/jJbtwYnbb/vvvtYvXo1jz32GM8//zzFxcUcPnyYSy65hFtvvZWioiIWLlwIwB133NHqesXFxUyaNIlZs2bFZqdFpNtw99PXmi644AImTJjA3LlzGT16dExuQtM1qDY4cOAAeXl5Zyzr27cvFRUVZ7X9xje+QX5+Pv/xH/8BQElJCW+99RZZWVlcccUVzJ49u8nPCF/v1VdfZcKECTz44IOcOnWq43dIRBLPP/4jVFdDJDM4BAJQWQm5uZRmZrIkNZVU4IuBAOcD0wFee63J9m3afjspoNpg4MCB/PnPfz5jWXl5OeGT1zb3+JJhw4aRk5MDQH5+PpWVlWf8RtLUetdeey2///3vuf322xkzZgz33XdfR+yGiCSy6mr4mwiGmJaUwLJl1HzlK7x+6BAbdu4kIzWV6woLYdgwaHzGFGrPXXfB4MERb5+77oJFi9q1KwqoNvjsZz9LcXEx9957L3379mXRokVMnDiR3r17U1JSwuWXX86WLVuYOXMmKSkp1NfXn1539+7dHDlyhMzMTPbt20dubm6r6508eZL7778fgGnTpnHLLbcwZMiQmOy7iHQNP37hRXKee67FNqnuZNfVcTAvj/09enAqPZ3ztm4le906NtXWsqmZ9lXJydQuWNBqDW1t35yEC6j+/YdSVtb+vtL+/Yc2+16fPn14+OGHufHGG0N3/A3gscceY//+/XzpS19i/vz5ZGZmAjBy5Ei++93vcvPNNzN//nzy8/P55je/yY4dO7jvvvtISkrijjvuaHG9uXPn8r3vfY8ePXowePBgBkfyW4uIdGvfLttP8Kav5iUl1VFfn0zq8RN8fs9LvPHGtRw8GM0bINr3nRy1J+pGS+PHbezYsYNLL700hhVFpqioiGg8JqSr7L+IdI7gpYOmv9fT02uYPPl1hg7dw7x591Bfn9RZVW1096K2rpVwZ1AiInImM6ewcBPXXbeKjIwa1q8vokeP+k4MqPZRQHUSPWRRRGIhK6uaOXOeJz+/hL1781myZEaUu/M6jgJKRCQBmTnuxvHjmZw4kcbvfjeLLVsKce86k2oroEREEoiZUVj4Llde+TZPPnknNTUZPPPMF2NdVrsooEREEkRpaSlf/epXyc9fzN69+aSnB6ip6bpPPUi8gPrRj6CqqvV2zY2Izs2Fv//76NUnItLBTp06xbJly9iwYQM5OTm89NIsNm/uWt15TUm8gKqqCo5cbklLI6J/+cvo1SYiEgU9evTg6NGjFBUVcdNNNxEIPBjrkjpE4gVUaxrCafr0yKbrCFNXV8ecOXOoqqri4osv5tixY+Tk5LBx40ZqamqYN28eo0ePpri4mJEjR7J582bGjBnDww8/HKWdEZHuqrS0lBUrVvC5z32OPn36cMstt2BmBAKBWJfWYbrXbObnEE4AL730EhdddBGrVq2isLAQgB/+8Ie88cYbPP744zz00EOn286cOZM1a9ZQVlbGH//4xw7bBRHp3gKBAEuWLGH+/PmUl5dTFbqkEYvZxqOt+5xBnWM4AezcuZNx48YBMG7cON566y0eeughVq1aBUBy8l8OZ0O78ePH8+GHHzJ27Nhz3AER6e42b97MihUrqKmpoaioiEmTJpGR0XVvgmhN9ziD6oBwAhg+fDjvvvsuEHyY16FDh1i5ciVvvvkmP/nJT86Ykbyh3YYNGxg+fPi51S8iQrBbLycnh6997WvMmDEjocMJEvEMKjf3zBsdwu/WW7689fWzs5t964YbbuC5555jypQpXHDBBQwYMAAzo7i4mIkTJ57RdunSpTzwwAMUFhaePpsSEWmLQCDA66+/zqWXXkpBQQFTp04lKSkpIbvzmpJ4ARXFW8STk5NZtGgRKSkpzJs3jyNHjjB//vwm2/7gBz+gZ8+eUatFROLEgw82/VC+9j7cLzcXT09nc3Iyq1JTOQ6c/+abFNTVnfmF3cz2f9CzJ/dXn+tOxYfEC6gomzVrFtXV1aSlpfH888/HuhwRibXKyrOHtpzDw/0OZmWxZONG9lVWMrhPH75YVMSA3r0j3v6Qp54CBVT3tGTJklbbrF69OvqFiEh8aus170btd7//PoeOHmXWhAkUDht2dndeB11T7woSIqBqampIT0/vNv2yEHxEfCKNdxBJCO0IJ1+2jM1jxpBy6hSXARNGjKBw2DAyUlPPfftdXJd/YGFVVRWVlZWcPHkyhlXFRkpKCrm5uWS3cGOHiETXjwcMJudU7ZmPOY/gl+VUd1J79+bPkycTGDiQjI8+ot/SpS22j2T7e2tquL/6aLv2JXq66QMLs7Oz9QUtIjETySPWG0tPDzBp0muMH7+BmpoMVr50XQfOnZc4PUldPqBERLqaIUP2Mn78BtavL+L11ycRCCT2eKb2UkCJiHSCAQMO0r//QTZvHs0HH1zEI4/cy+HDObEuK64poEREoii8O+/o0fPYuvVy6uuTFU4RUECJiESBmVNYuJnrrltJRkYNGzYU8dprk6iv19dupHSkRESioE+fSq6/fjH79w/ilVdmcPDgwFiX1OUooEREOkh6eoCLLvqALVtGUVnZlyee+Cr79w/q8k+2jZWoBpSZTQceBpKAX7j7vzV6fwiwAMgOtfkHd299qgYRkThi5owatZnrrltFZuZx9u7Np6qqNyUliT+YNpqiFlBmlgQ8ClwHlADrzWyxu28Pa/a/gRfc/TEz+xSwBCiIVk0iIh2tf//+fPazTzJkyD727RvMM8/cTlVV79ZXlFZF8wxqArDT3T8CMLPngFlAeEA50Cv08/nAgSjWIyLSoWpra7njjjs4deoQL710PZs3j1Z3XgeKZkANAvaFvS4BrmjU5vvACjObC2QBU5vakJndA9wDMGTIkA4vVEQkUu7Ohx9+yIgRI0hNTeWFF16gtHSbBttGQayfqHsr8JS7DwZmAE+b2Vk1ufs8dy9y96K+fft2epEiIgAHDx7kySefZNGiRXzwwQcA7Nq1S+EUJdE8g9oP5Ie9HhxaFu4uYDqAu79tZulALlAexbpERNqk4cm269evJyMjg+uvv56LLroo1mUlvGgG1HpghJkNIxhMc4DbGrXZC0wBnjKzS4F0oCKKNYmItIm78/TTT1NaWkpRURGTJk0iI0NnTJ0hagHl7nVmdi+wnOAt5E+4+zYzewDY4O6LgW8D883sWwRvmLjDu9rzP0QkIZWVldGnTx+Sk5OZOnUq6enpDByowbadqcs/D0pEpCOFd+dNnjyZq666qsX2wQelxtP3aLzVA932eVAiIh3B3dm8eTOrVq3i+PHjFBUVMW7cuFiX1a0poESky2h4em1L2vNk2+y6Oj6YPJmPR40irbSUAWvWUP7IIzwfwfZ/0LMn91e3c4ekRQooEekyck7Vsnvqm82+n11dwmV7l7FtyHSqerY+zdD5Nbu5uGQVHwycTlWvTCitIvDJMA6M/lbE2y9YdTUooKJCASUiCaFt4eRkpv6RmqHvs2nwhdQeGgwngBPNP6OpreEn504BJSJdxt6aGgpW/fKs5akeILuukorkXLIPLCe7hW3U9unBkWuSqclLIf1gPdlrdpNWcfY2I93+3pqa9u2MtEoBJSJdxv3V1VD9YLvXLyzczKxZL1NTk8Gql6eyaVNHzJ330DmuL81RQIlIgnPS0wMEAhns2jWMd94ZzxtvFFNTo8G28U4BJSIJq3//g8yYsZRTp3qwYMGX+eSTXixb9lexLksipIASkYSTnh6guPh1JkxYH+zOW9XkgxIkzimgRCShDBx4gNtvX0hW1jHWry/i9dcnqzuvi1JAiUhCSEqqo74+mUOHctm7dwhvvnkVpaV5sS5LzoECSkSa9HD/QYyoPd7mGRmi2f7/ZGbyreNnLm/ozrvwwo/4+c//mtraVF544ZZWtyfxTwElIk0aUXucD67+TUSDUts6iLW97dn/FJwOKKewcAvXXbeSrKxjbNhQRFJSPfX1+lpLFPo/KSJNqkpOjqtw2jZkOtkHFgCQmXmM2bNfYOjQvZSUDOLZZ29Td14CUkCJSJMi6XbrzHCq6jmY80PLa2oyqK1N5eWXr++gwbYSjxRQItIunRtOg6DXLkpvvZXMXxzn+PFMnn329o7YDYljCigRabNODac+WdDvVSyzEjtYS3p6gOPHMztiNyTO9Yh1ASLStXRWOG0d8j+ouqAchq6A1KN46QQG/Pa3HD7c/Izjklh0BiUiEevMM6ePew6GpL1QdSFUjoRTaehKU/eigBKRiHRGOBVUrWDdlEHUHeoFtUDplaBY6rYUUCLSqmiH0/nHd5N5/ho2j83E62vgk2qo7YXCqXtTQIlIi6IdTpkpf6Tm0j/xSVoqXjX8dHeeiAJKRJrVGd16Wb22UlbXBz/46RYfuQ7B6Y6k+1BAiUiTUt2jE049aqHPVnpWpnLZ3rVsHTqNulP5tNadl11dQnZdXRv3QroyBZSINCm7rq6Dw8mh127ouxlLCtCn9ETwbr2syLdfkayvrO5E46BEpEkdOhdfWhXkv4oNXEdyIIVRq4/zcWBKm7cfyfRLkjgUUCLSpA6diy+jAlKPkrF7OBNWlrKn17SoXNOSxKLzZRFp0t6aGgpW/bLZ91M9QHZdJRXJuWQfWE522HsOHLsoGTvlZO2sxw2SU07Q59gWKptoH+n299bUdMCeSVehgBKRJt1fXQ3VD7Z5vf79y5gxYwlDh+7lgw9GsPDt2zqwqoc6cFsS7xRQItIh0tICTJq0mgkT3qGmJoOXX57Jpk1jYl2WdGEKKBHpEPn5JVxxxTo2bCjitdcmU1OTEeuSpItTQIlIu/XvX8bAgQfYtGkMO3cO57/+a65mG5cOo4ASkTYL786rru7J1q2XU1eXonCSDqWAEpE2cEaN2sK0aSvJyjp2ujuvri4l1oVJAlJAiUjE+vQ5zA03vMyBA3ksXHgbBw7kxbokSWBRHahrZtPN7H0z22lm/9BMm1vMbLuZbTOzhdGsR0TaLi0tQGHhZgAOHerDE098lV/+8i6Fk0Rd1M6gzCwJeBS4DigB1pvZYnffHtZmBPBd4DPufsTM+kWrHhFpu1GjNjNt2koyM4+zb18+hw/nUFKiGR2kc0Szi28CsNPdPwIws+eAWcD2sDZfAx519yMA7l4exXpEJEJlZWXceeedDB36EiUlg1i48DbdACGdLpoBNQjYF/a6BLiiUZuLAMzsD0AS8H13X9Z4Q2Z2D3APwJAhQ6JSrIgEnTx5kgULFtC3b9/Tg23dNUmrdL5Y3ySRDIwAioHBwBozG+nuVeGN3H0eMA+gqKhITywT6WDuzocffsiIESNISUnh5ptv5rLLLqOm5t9jXZp0Y63eJGFmM82sPTdT7Afyw14PDi0LVwIsdveT7r4L+IBgYIlIJykrK+Opp55i0aJF/OlPfwJg2LBh1GhiVomxSIJnNvChmT1oZpe0YdvrgRFmNszMUoE5wOJGbV4iePaEmeUS7PL7qA2fISLtFAgEWLZsGY8//jgVFRXMnDmTSy5pyz9xkehqtYvP3b9oZr2AW4GnzMyBJ4FF7n60hfXqzOxeYDnB60tPuPs2M3sA2ODui0PvTTOz7UA98B13P3TuuyUirVm4cCH79u1j3LhxTJkyhYwMzZ0n8cXcI7ukY2Z9gC8BfwvsAIYDP3X3/4peeWcrKiryDRs2dOZHiiSM8vJyevfuTUpKCnv27CElJYW8vKbHM5kZwSc7xRPV1Lp4qwfANrp7UVvXavUMysyuB+4kGEi/Aia4e7mZZRK8ZbxTA0pE2i4QCLB69WreeecdiouLueaaaxg6dGisyxJpUSR38d0E/B93XxO+0N2Pm9ld0SlLRDqCu/Pee++xYsUKjh07xrhx4xg/fnysyxKJSCQB9X2gtOGFmWUA/d19t7u/Gq3CROTcLV++nHXr1jFo0CBuu+22ZrvzROJRJAH1a+DKsNf1oWX6NUykI/3oR7B1K+TmQnp66+0DAaisPKt9ADgFZAKje/SgX48ejPngA2zLlibbN+dfsrL43rF2743IOYskoJLdvbbhhbvXhm4bF5GOtHUr3HUXDI5grruSEli27Iz27s57e/awYtMmhg8YwA0TJzIAGNBM+9a2P3r+/HPZG5FzFklAVZjZ9aHbwjGzWUBldMsS6YZyc9sWTtOnn25fVlXFko0b2VtRQV5ODhMuuqjF9pFsvyo51hPNSHcXyd/ArwPPmtkjBO9f3Ad8OapViXRHkXTrNRE2W3bv5qV160hPSWHm+PGMueCC0C3iTbePdPu1Cxacw86InLtIBur+GZhoZj1Dr6ujXpWInC0sPHzQIAK1tWSkpjKsf3+Khg+n+PLLyUxLa7J9e8/MRGIponN4M/sscBmQ3vCbmbs/EMW6RCRcWHiU9ezJ0tdew925Y8oUzsvIYMa4cc22VzhJVxXJQN2fE7whaBLwC+ALwDtRrktEGoTCIzB1KqvLy3nnD38gPSWFKYWFLbZXOElXF8kZ1JXuPsrMtrj7D8zsP4Gl0S5MRDgdHqVXXcXCTZuoDgQYd+GFTB416szuvEbtFU6SCCIJqEDov8fNLA84BAyMXkkiAkBJCXXLlpE8fTq5AwaQX1nJVZ/6FHk5zTzZVuEkCSaSgPq/ZpYNPAT8keAshBogIRJFJ3bvZvWaNXzYty9fHziQlKQkbrnqquZXUDhJAmoxoEIPKnw19ITb35rZfwPp7v5xp1Qn0s24O++9+y4r//QnqlNTGZeXR/2pUyQnJTW/ksJJElSLAeXup8zsUWBM6PUJ4ERnFCbS3RwHXli6lD2ffEJer17ceuWVzXfnNVA4SQKLpIvvVTO7CXjRI314lIhEzN0xMzICAdIOH+Zzl1zC2HHj/jLYtjlRDqdU/XOXGIvkke9/TXBy2BNm9omZHTWzT6Jcl0jCc3e2bNnCz372M44dO4ZVVnJrcTHjiopiHk6UlJBdVxfZjohESSQzSZzXGYWIdCdlZWUsWbKEvXv3kpeXRyAQIOsc5uKLRnvNxSexFslA3WuaWt74AYYi0jp3Z/ny5bzzzjukp6czc+ZMxowZEzxjaudcfNFqr7n4JNYi+RXpO2E/pwMTgI3A5KhUJJLAzIxjx44xduxYJk+eTGZmZuQrd2I46QYKiQeRdPHNDH9tZvnAT6JWkUiCKSsrY/ny5UyfPp1+/fpx4403tn6NqTGFk3RD1tYb8yz4L2ubu38qOiW1rKioyDds2BCLjxZpk0AgwOrVq093591www1cFP6cpkZ+PGAwOadqz1qe6k52XR1VycnURhBsHdV+b00N91cfbXX9zmUE5wqIJ/FWU7zVA2Ab3b2orWtFcg3qv/jL3vYARhOcUUJEmrF161aWL19OdXU1Y8eOZcqUKa125327bD/x9cXSxrM8kQ4WyTWo8NOVOmCRu/8hSvWIJISDBw/Sq1cv5syZw6BBg2JdjkiX1GoXn5llAQF3rw+9TgLS3P14J9R3FnXxSTw6ceIEq1evZvjw4Vx44YXU1dXRo0cPevSIZKhhULD3PN7OoOKpHlBNkYi3eiBqXXzAq8BUoOFJuhnACuDKtn6YSKJxd9577z1WrlxJdXU1GRkZXHjhhSRrDJHIOYvkX1F6+GPe3b3azNpwb6xIYiovL2fJkiXs2bOHvLw8deeJdLBIAuqYmY119z8CmNk4oCa6ZYnEv3379lFeXs7nPvc5xowZ06buPBFpXSQB9bfAr83sAMHOzQHA7KhWJRKHGrrzAEaNGsXYsWP51Kc+RUZGRowrE0lMkQzUXW9mlwAXhxa97+4no1uWSHwJ78678MILGTlyZHAGcoWTSNREMg7qb4Bn3X1r6HVvM7vV3X8W9epEYqzh7rx169aRnp5+ujuvzTNBiEibRdLF9zV3f7ThhbsfMbOvAQooSXj79+9n7dq1EQ+2FZGOE0lAJZmZNTysMDQOKjW6ZYnETnl5OSUlJYwdO5YLLriAuXPnktPak21FpMNFElDLgOfN7PHQ678GlkavJJHYCO/Oy8rK4vLLLyc1NVXhJBIjkQTU/wLuAb4eer2F4J18Igmh8WDbhu681FR1FIjEUqsDN9z9FLAO2E3wWVCTgR2RbNzMppvZ+2a208z+oa1TYkgAABF1SURBVIV2N5mZm1mbp8IQOVdVVVW8/PLL9OrVi7vvvpuZM2fqWpNIHGj2DMrMLgJuDf2pBJ4HcPdJkWw4dK3qUeA6oARYb2aL3X17o3bnAf+TYAiKdIoTJ06wY8cORo8eTe/evbnzzjvJy8vTYFuRONJSF9+fgDeBz7n7TgAz+1Ybtj0B2OnuH4XWfQ6YBWxv1O6fgX/nzCf3ikSFu7N161ZWrFhBdXU1gwcPJjc3l8F6SJ9I3Gnp18UbgVLgdTObb2ZTaNsDYgYB+8Jel4SWnWZmY4F8d3+lpQ2Z2T1mtsHMNlRUVLShBJG/KC8vZ8GCBbz44ounu/Nyc3NjXZaINKPZMyh3fwl4KfS4jVkEpzzqZ2aPAb9z9xXn8sFm1gP4MXBHa23dfR4wD4KP2ziXz5Xuqa6ujgULFuDumjtPpIuIZKqjY8BCYKGZ9QZuJnhnX2sBtR/ID3s9OLSswXnA5cDq0Kj8AcBiM7ve3fXAJzln7s6HH37IiBEjSE5O5uabb6Zfv366AUKki2jTr5DufsTd57n7lAiarwdGmNkwM0sF5gCLw7b1sbvnunuBuxcAawGFk3SIhu68RYsWsX178LJnQUGBwkmkC4naU9Xcvc7M7gWWA0nAE+6+zcweADa4++KWtyDSdk3NnXfppZfGuiwRaYeoPvbT3ZcASxot+6dm2hZHsxbpHhYtWsSePXs0d55IAtBzqaXLKy8vJzs7m9TUVCZPnkxSUpKebCuSABRQ0mWFd+ddc801FBcXM2TIkFiXJSIdRAElXU7jwbZjx45lwoQJsS5LRDqYAkq6nJUrV/L222+Tl5fHnDlz1J0nkqAUUNIlnDhxgvr6ejIzMxk9ejR9+vTRYFuRBKeAkrgW3p1XUFDATTfdRL9+/ejXr1+sSxORKFNASdwqLy9nyZIl7Nmzh7y8PCZOnBjrkkSkEymgJC5t3bqVF198kfT0dD772c8yduxYdeeJdDMKKIkb7k4gECAjI4OCggKKioooLi7WYFuRbkoBJXGhoTuvvr6er371q/Ts2ZMZM2bEuiwRiSEFlMTUiRMneOONN1i3bh1paWlMnjw51iWJSJxQQEnMlJWV8eyzz3L06FHNnSciZ1FASaerq6sjOTmZnJwcBg8ezJVXXqlHrovIWRRQ0mkauvPef/99vv71r5OSksItt9wS67JEJE4poCTqGgbbrly58nR3Xn19PSkpKbEuTUTimAJKoqqmpoYXXniB3bt3k5eXx+zZszV3nohERAElUeHumBnp6emkpaVpsK2ItJkCSjpUQ3femjVr+MpXvkLPnj2ZM2dOrMsSkS5IASUdpry8nKVLl57uzgsEAvTs2TPWZYlIF6WAknPm7qxcufL0YFt154lIR1BAyTkzM44dO8bo0aM12FZEOowCStqlvLyc5cuXM23aNPr3788NN9yAmcW6LBFJIAooaZPwufNSU1Opqqqif//+CicR6XAKKInYtm3bWLZsGdXV1YwZM4apU6eqO09EokYBJRErKyvjvPPOY/bs2Zo7T0SiTgElzWrozhs2bBgjRozgmmuuobi4WHfniUinUEDJWdydbdu2sWLFCo4ePUpqaiojRowgOVl/XUSk8+gbR85QUVHBkiVL2L17NwMHDuSWW25Rd56IxIQCSs5QUlLCwYMHNdhWRGJOAdXNNXTn1dfXU1hYyOjRo7n44ot1d56IxJwCqhsLnztv2LBhjBo1CjNTOIlIXFBAdUONB9s2dOdpsK2IxBMFVDdUWlrK22+/rcG2IhLXFFDdRHl5Ofv27WPcuHEUFBQwd+5ccnJyYl2WiEizFFAJLrw7LyMjg5EjR5KamqpwEpG4F9WAMrPpwMNAEvALd/+3Ru//HXA3UAdUAF919z3RrKm7aDzYtqE7LzU1NdaliYhEJGoBZWZJwKPAdUAJsN7MFrv79rBm7wJF7n7czL4BPAjMjlZN3cnHH3/M7373O/r376/BtiLSJUXzDGoCsNPdPwIws+eAWcDpgHL318ParwW+GMV6Et6JEyfYsWMHo0ePJjs7mzvvvJO8vDwNthWRLimaATUI2Bf2ugS4ooX2dwFLm3rDzO4B7gEYMmRIR9WXMBp35+Xl5dGvXz+dNYlIlxYXN0mY2ReBIuDapt5393nAPICioiLvxNLiXvhg24a58/r16xfrskREzlk0A2o/kB/2enBo2RnMbCrwPeBadz8RxXoSTl1dHU8//TR1dXXMmDGDcePGqTtPRBJGNANqPTDCzIYRDKY5wG3hDcxsDPA4MN3dy6NYS8Jwdz788EOGDx9OcnIyN910E3379iUrKyvWpYmIdKio/brt7nXAvcByYAfwgrtvM7MHzOz6ULOHgJ7Ar81sk5ktjlY9iaCiooKnn36aRYsWsW3bNgAKCgoUTiKSkKJ6DcrdlwBLGi37p7Cfp0bz8xNF47nzZsyYwWWXXRbrskREoioubpKQlj3//PPs2rWLMWPGMGXKFJ0xiUi3oICKUxUVFZx//vmkpqYyadIkJk+erNvGRaRbUUDFmfDuvM985jNMnjyZ/Pz81lcUEUkwCqg40dTceVdc0dK4ZhGRxKaAihOvvvoqf/jDH04PtlV3noh0dwqoGDpx4gR1dXVkZWVRWFjI+eefr8G2IiIhCqgYCO/Oy8/P5+abb6Zv37707ds31qWJiMQNBVQnq6ioYOnSpezatYsBAwbw6U9/OtYliYjEJQVUJ9q+fTu//e1vTw+2VXeeiEjzFFBR5u4EAgEyMjIYOnQo48aN49prr9VgWxGRViigoqihO+/EiRPcfffdZGVlMWPGjFiXJSLSJSigoqC2tpY33niDtWvXkpqayuTJk3F3zCzWpYmIdBkKqA5WXl7OM888w9GjRxk9ejRTp05Vd56ISDsooDpIXV0dycnJ5OTkkJ+fz8SJEzVFkYjIOdAtZOeotraWlStX8rOf/Yza2lqSk5O5+eabFU4iIudIZ1Dt5O5s376d5cuXn+7OO3XqVKzLEhFJGAqodggEArzwwgunB9vqjElEpOMpoNqg4U68tLQ00tLSNNhWRCSKFFARaOjOW716NV/60pfo1asXs2fPjnVZIiIJTQHVisZz5wUCAXr16hXrskREEp4Cqhnuzquvvsrbb7+tufNERGJAAdUMM+PYsWOMGjVKg21FRGJAARWmoqKC5cuXM2XKFAYOHMj111+v6YlERGJEAcXZc+dVVVUxcOBAhZOISAx1+4DasWMHS5cu1dx5IiJxptsHVFlZGVlZWRpsKyISZ7pdQNXW1rJmzRry8/O5+OKLufrqq7nmmmt0d56ISJzpNgHVMNh2xYoVfPLJJ1x99dVcfPHFJCUlxbo0ERFpQrcIqMrKSpYuXcpHH33EgAED+MIXvqDuPBGRONctAmr//v0cOHBAg21FRLqQhAyohu68kydPMnr0aEaNGsWIESPIzMyMdWkiIhKhhAuoyspKlixZwq5duxg6dCiFhYWYmcJJRKSLSZiAajzYtqE7T4NtRUS6poQJqNLSUt566y0NthURSRBdOqAqKyvZvXs3RUVFDB06lLlz55KTkxPrskREpANENaDMbDrwMJAE/MLd/63R+2nAr4BxwCFgtrvvbm274d15aWlpjBw5krS0NIWTiEgCiVpAmVkS8ChwHVACrDezxe6+PazZXcARdx9uZnOAfwdafFRtTU0NjzzyyBlz56WlpUVrN0REJEaieQY1Adjp7h8BmNlzwCwgPKBmAd8P/fwb4BEzM3f35jZaVVWlufNERLqBaAbUIGBf2OsS4Irm2rh7nZl9DPQBKsMbmdk9wD2hlye+/vWvb41KxYkjl0bHUM4Sp8coru46zQXTMWpdHB6nuDtGF7dnpS5xk4S7zwPmAZjZBncvinFJcU3HqHU6Rq3TMYqMjlPrzGxDe9aL5pw/+4HwPrjBoWVNtjGzZOB8gjdLiIhINxfNgFoPjDCzYWaWCswBFjdqsxj4SujnLwCvtXT9SUREuo+odfGFrindCywneJv5E+6+zcweADa4+2Lgl8DTZrYTOEwwxFozL1o1JxAdo9bpGLVOxygyOk6ta9cxMp2wiIhIPNJzJ0REJC4poEREJC7FbUCZ2XQze9/MdprZPzTxfpqZPR96f52ZFXR+lbEVwTH6OzPbbmZbzOxVMxsaizpjqbVjFNbuJjNzM+t2twtHcozM7JbQ36VtZraws2uMtQj+rQ0xs9fN7N3Qv7cZsagzlszsCTMrN7Mmx6la0E9Dx3CLmY1tdaPuHnd/CN5U8WfgAiAV2Ax8qlGb/w/4eejnOcDzsa47Do/RJCAz9PM3dIzOPkahducBa4C1QFGs6463YwSMAN4Feode94t13XF4jOYB3wj9/Clgd6zrjsFxugYYC2xt5v0ZwFKCo4gnAuta22a8nkGdnibJ3WuBhmmSws0CFoR+/g0wxbrXw59aPUbu/rq7Hw+9XEtwLFp3EsnfI4B/JjgPZKAzi4sTkRyjrwGPuvsRAHcv7+QaYy2SY+RAr9DP5wMHOrG+uODuawjejd2cWcCvPGgtkG1mA1vaZrwGVFPTJA1qro271wEN0yR1F5Eco3B3EfztpTtp9RiFuhny3f2VziwsjkTy9+gi4CIz+4OZrQ09paA7ieQYfR/4opmVAEuAuZ1TWpfS1u+srjHVkZwbM/siUARcG+ta4omZ9QB+DNwR41LiXTLBbr5igmfha8xspLtXxbSq+HIr8JS7/6eZfZrg+M7L3f1UrAvryuL1DErTJLUukmOEmU0Fvgdc7+4nOqm2eNHaMToPuBxYbWa7CfaLL+5mN0pE8veoBFjs7ifdfRfwAcHA6i4iOUZ3AS8AuPvbQDrBCYnlLyL6zgoXrwGlaZJa1+oxMrMxwOMEw6m7XTeAVo6Ru3/s7rnuXuDuBQSv013v7u2a2LKLiuTf2ksEz54ws1yCXX4fdWaRMRbJMdoLTAEws0sJBlRFp1YZ/xYDXw7dzTcR+NjdS1taIS67+Dx60yQljAiP0UNAT+DXoftH9rr79TErupNFeIy6tQiP0XJgmpltB+qB77h7t+mtiPAYfRuYb2bfInjDxB3d7BdmzGwRwV9kckPX4u4HUgDc/ecEr83NAHYCx4E7W91mNzuGIiLSRcRrF5+IiHRzCigREYlLCigREYlLCigREYlLCigREYlLCiiRFpjZADN7zsz+bGYbzWyJmV3Uju1cHZoJfJOZDTKz3zTTbnU3Gygs0iwFlEgzQpMP/w5Y7e4Xuvs44LtA/3Zs7nbgX919tLvvd/cvdGStIolIASXSvEnAydAgQwDcfTPwezN7yMy2mtl7ZjYbwMyKQ2dAvzGzP5nZs6FR83cDtwD/HFpW0PDMHDPLCJ2h7TCz3wEZDZ9lZtPM7G0z+6OZ/drMeoaW7zazH4SWv2dml4SW9zSzJ0PLtpjZTS1tRyTeKaBEmnc5sLGJ5TcCo4FCYCrwUNhjA8YAf0vwmUAXAJ9x918QnOblO+5+e6NtfQM47u6XEhx5Pw5OTyn0v4Gp7j4W2AD8Xdh6laHljwH3hZb9/wSnjxnp7qOA1yLYjkjcisupjkTi3FXAInevB8rM7A1gPPAJ8I67lwCY2SagAPh9C9u6BvgpgLtvMbMtoeUTCYbcH0LTVKUCb4et92LovxsJBiYEw/L0lF/ufsTMPtfKdkTilgJKpHnbCE5E3BbhM8bX0/5/YwasdPdbW/mc1j6jte2IxC118Yk07zUgzczuaVhgZqOAKmC2mSWZWV+CZ0HvtPMz1gC3hbZ9OTAqtHwt8BkzGx56LyuCuwdXAn8TVmvvdm5HJC4ooESaEZqN+vPA1NBt5tuAfwUWAluAzQRD7O/d/WA7P+YxoKeZ7QAeIHTNy90rCD5IcVGo2+9t4JJWtvVDoHfo5o3NwKR2bkckLmg2cxERiUs6gxIRkbikgBIRkbikgBIRkbikgBIRkbikgBIRkbikgBIRkbikgBIRkbj0/wAcyL427oRSBQAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [], | |
| "needs_background": "light" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "3vB_xF5lw_9f", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "outputId": "a3eeb193-d9a6-436d-c7d4-5d5f9482081a" | |
| }, | |
| "source": [ | |
| "# Maximum Calibration error\n", | |
| "mce = max(np.abs(accuracy_bin - confidence_bin))\n", | |
| "print('Expected Calibration error {:.3f}'.format(ece))\n", | |
| "print('Maximum Calibration error {:.3f}'.format(mce))\n", | |
| "# when classes are well separated confidence in range(0.6, 1.0)." | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "text": [ | |
| "Expected Calibration error 0.023\n", | |
| "Maximum Calibration error 0.082\n" | |
| ], | |
| "name": "stdout" | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "eJ_QcRwfezqN" | |
| }, | |
| "source": [ | |
| "### Log Likelihood\n", | |
| "To calculate the likelihood function consider that for one data point $x_i$ from class $z_1$, then $y_i=1$ and\n", | |
| "\\begin{aligned} \n", | |
| "p(x_i, z_1) = p(z_1)p(x_i|z_1)= \\pi \\mathcal{N}(x_i~;\\mu_1, \\sigma_1)\n", | |
| "\\end{aligned}\n", | |
| "Similarly, for class $z_0$, then $y_i=0$ and\n", | |
| "\\begin{aligned} \n", | |
| "p(x_i, z_0) = p(z_0)p(x_i|z_0)= (1-\\pi) \\mathcal{N}(x_i~;\\mu_0, \\sigma_0)\n", | |
| "\\end{aligned}\n", | |
| "\n", | |
| "Thus the likelihood is given by:\n", | |
| "\\begin{aligned} \n", | |
| "& p(x,y~|\\pi, \\mu_1, \\mu_0, \\sigma1, \\sigma_0)&=& \\prod_{i=1}^n [\\pi \\mathcal{N}(x_i~;\\mu_1, \\sigma_1)]^{y_i} [(1-\\pi) \\mathcal{N}(x_i~;\\mu_0, \\sigma_0)]^{1-y_i} \\\\\n", | |
| "\\end{aligned}\n", | |
| "\n", | |
| "and the log likelihood is given by:\n", | |
| "\\begin{aligned} \n", | |
| "& \\log p(x,y~|\\pi, \\mu_1, \\mu_0, \\sigma1, \\sigma_0)&=& \\sum_{i=1}^n y_i \\log [\\pi \\mathcal{N}(x_i~;\\mu_1, \\sigma_1)] + \\sum_{i=1}^n (1-y_i) \\log [(1-\\pi) \\mathcal{N}(x_i~;\\mu_0, \\sigma_0)] \\\\\n", | |
| "\\end{aligned}\n", | |
| "\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "mgLlnDH_I5qi", | |
| "outputId": "e5ede8eb-609c-4fb0-e48e-789a470987b4" | |
| }, | |
| "source": [ | |
| "log_likelihood = (predictions*np.log(pz1*p_x_z1)).sum()+((1-predictions)*np.log(pz2*p_x_z2)).sum()\n", | |
| "print('NLL {}'.format(-1*log_likelihood))" | |
| ], | |
| "execution_count": null, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "text": [ | |
| "NLL 4213.0723400273455\n" | |
| ], | |
| "name": "stdout" | |
| } | |
| ] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment