{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Gaussian Mixture Model with ADVI" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, we describe how to use ADVI for inference of Gaussian mixture model. First, we will show that inference with ADVI does not need to modify the stochastic model, just call a function. Then, we will show how to use mini-batch, which is useful for large dataset. In this case, where the model should be slightly changed. \n", "\n", "First, create artificial data from a mixuture of two Gaussian components. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "env: THEANO_FLAGS=device=cpu,floatX=float32\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "%env THEANO_FLAGS=device=cpu,floatX=float32\n", "import theano\n", "\n", "import pymc3 as pm\n", "from pymc3 import Normal, Metropolis, sample, MvNormal, Dirichlet, \\\n", " DensityDist, find_MAP, NUTS, Slice\n", "import theano.tensor as tt\n", "from theano.tensor.nlinalg import det\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "n_samples = 100\n", "rng = np.random.RandomState(123)\n", "ms = np.array([[-1, -1.5], [1, 1]])\n", "ps = np.array([0.2, 0.8])\n", "\n", "zs = np.array([rng.multinomial(1, ps) for _ in range(n_samples)]).T\n", "xs = [z[:, np.newaxis] * rng.multivariate_normal(m, np.eye(2), size=n_samples)\n", " for z, m in zip(zs, ms)]\n", "data = np.sum(np.dstack(xs), axis=2)\n", "\n", "plt.figure(figsize=(5, 5))\n", "plt.scatter(data[:, 0], data[:, 1], c='g', alpha=0.5)\n", "plt.scatter(ms[0, 0], ms[0, 1], c='r', s=100)\n", "plt.scatter(ms[1, 0], ms[1, 1], c='b', s=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Gaussian mixture models are usually constructed with categorical random variables. However, any discrete rvs does not fit ADVI. Here, class assignment variables are marginalized out, giving weighted sum of the probability for the gaussian components. The log likelihood of the total probability is calculated using logsumexp, which is a standard technique for making this kind of calculation stable. \n", "\n", "In the below code, DensityDist class is used as the likelihood term. The second argument, logp_gmix(mus, pi, np.eye(2)), is a python function which recieves observations (denoted by 'value') and returns the tensor representation of the log-likelihood. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from pymc3.math import logsumexp\n", "\n", "# Log likelihood of normal distribution\n", "def logp_normal(mu, tau, value):\n", " # log probability of individual samples\n", " k = tau.shape[0]\n", " delta = lambda mu: value - mu\n", " return (-1 / 2.) * (k * tt.log(2 * np.pi) + tt.log(1./det(tau)) +\n", " (delta(mu).dot(tau) * delta(mu)).sum(axis=1))\n", "\n", "# Log likelihood of Gaussian mixture distribution\n", "def logp_gmix(mus, pi, tau):\n", " def logp_(value): \n", " logps = [tt.log(pi[i]) + logp_normal(mu, tau, value)\n", " for i, mu in enumerate(mus)]\n", " \n", " return tt.sum(logsumexp(tt.stacklists(logps)[:, :n_samples], axis=0))\n", "\n", " return logp_\n", "\n", "with pm.Model() as model:\n", " mus = [MvNormal('mu_%d' % i, \n", " mu=pm.floatX(np.zeros(2)), \n", " tau=pm.floatX(0.1 * np.eye(2)), \n", " shape=(2,))\n", " for i in range(2)]\n", " pi = Dirichlet('pi', a=pm.floatX(0.1 * np.ones(2)), shape=(2,))\n", " xs = DensityDist('x', logp_gmix(mus, pi, np.eye(2)), observed=data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For comparison with ADVI, run MCMC. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: Desired error not necessarily achieved due to precision loss.\n", " Current function value: 347.140019\n", " Iterations: 2\n", " Function evaluations: 63\n", " Gradient evaluations: 52\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1500/1500 [00:02<00:00, 639.74it/s]\n" ] } ], "source": [ "with model:\n", " start = find_MAP()\n", " step = Metropolis()\n", " trace = sample(1000, step, start=start)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check posterior of component means and weights. We can see that the MCMC samples of the component mean for the lower-left component varied more than the upper-right due to the difference of the sample size of these clusters. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-6, 6)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5, 5))\n", "plt.scatter(data[:, 0], data[:, 1], alpha=0.5, c='g')\n", "mu_0, mu_1 = trace['mu_0'], trace['mu_1']\n", "plt.scatter(mu_0[-500:, 0], mu_0[-500:, 1], c=\"r\", s=10)\n", "plt.scatter(mu_1[-500:, 0], mu_1[-500:, 1], c=\"b\", s=10)\n", "plt.xlim(-6, 6)\n", "plt.ylim(-6, 6)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.barplot([1, 2], np.mean(trace['pi'][-5000:], axis=0), \n", " palette=['red', 'blue'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the same model with ADVI as follows. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Average Loss = 323.94: 100%|██████████| 4500/4500 [00:01<00:00, 3200.80it/s]\n", "Finished [100%]: Average Loss = 323.94\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 4.96 s, sys: 567 ms, total: 5.52 s\n", "Wall time: 10.6 s\n" ] } ], "source": [ "with pm.Model() as model:\n", " mus = [MvNormal('mu_%d' % i, mu=pm.floatX(np.zeros(2)), tau=pm.floatX(0.1 * np.eye(2)), shape=(2,))\n", " for i in range(2)]\n", " pi = Dirichlet('pi', a=pm.floatX(0.1 * np.ones(2)), shape=(2,))\n", " xs = DensityDist('x', logp_gmix(mus, pi, np.eye(2)), observed=data)\n", "\n", "with model:\n", " %time approx = pm.fit(n=4500, obj_optimizer=pm.adagrad(learning_rate=1e-1))\n", " \n", "means = approx.bij.rmap(approx.mean.eval())\n", "cov = approx.cov.eval()\n", "sds = approx.bij.rmap(np.diag(cov)**.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The function returns three variables. 'means' and 'sds' are the mean and standart deviations of the variational posterior. Note that these values are in the transformed space, not in the original space. For random variables in the real line, e.g., means of the Gaussian components, no transformation is applied. Then we can see the variational posterior in the original space. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-6, 6)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAToAAAExCAYAAADshW6fAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0m+WdJ/Dv8756JUuWYsuJk5A45GY7gZAb6XBrA01p\nJtmUBkopoS2dw9Jpp8C2pbQwU5amtAuhnMKe9syWAN0NZRi2ZdOBIadDM6Wlp0BoIQ3OlVxsJ0Cc\nxJf4EluyLL1632f/kKVItqybJUt6/f2ck0Ni6/I4OF8/198jpJQSREQWphS7AUREhcagIyLLY9AR\nkeUx6IjI8hh0RGR5DDoisjxbrk986qmn8Nprr0HXdXz+85/H5z73uXy2i4gob3IKurfffhtNTU34\n5S9/iUAggG3btuW7XUREeSNy2TD8+OOPQwiB5uZm+Hw+3HfffVi6dGkh2kdENG459eh6e3tx+vRp\nPPnkk2hra8Mdd9yBnTt3Qggx5nOklCk/T0RUKDkFXXV1NRYsWAC73Y4FCxbA4XCgp6cHU6dOHfM5\nQgh0dQ3k3NBiqa31lGW7gfJte7m2Gyjftpdru4FI29PJadV11apVeOONNyClREdHBwKBAKqrq3N5\nKSKigsupR7dmzRrs3r0bN910E6SU2Lx5M1RVzXfbiIjyIuftJffdd18+20FEVDDcMExElsegIyLL\nY9ARkeUx6IjI8hh0RGR5DDoisjwGHRFZHoOOiCyPQUdElsegIyLLY9ARkeUx6IjI8hh0RGR5DDoi\nsjwGHRFZHoOOiCyPQUdElsegIyLLY9ARkeUx6IjI8hh0RGR5DDoisjwGHRFZHoOOiCyPQUdElseg\nIyLLY9ARkeUx6IjI8hh0RGR5DDoisjwGHRFZHoOOiCyPQUdElsegIyLLY9ARkeUx6IjI8hh0RGR5\n4wq67u5uXHPNNWhtbc1Xe4iI8i7noNN1HZs3b0ZFRUU+20NElHc5B92jjz6KW265BdOnT89ne4iI\n8s6Wy5NefPFF1NTUYPXq1Xj66aczfl5trSeXtyu6cm03UL5tL9d2A+Xb9nJtdyaElFJm+6QvfvGL\nEEJACIHDhw9j3rx52Lp1K2pra1M+r6trIOeGFkttracs2w2Ub9vLtd1A+ba9XNsNZBbQOfXonn/+\n+djvv/SlL+HBBx9MG3JERMXC7SVEZHk59ejiPffcc/loBxFRwbBHR0SWx6AjIstj0BGR5THoiMjy\nGHREZHkMOiKyPAYdEVkeg46ILI9BR0SWx6AjIstj0BGR5THoiMjyGHREZHkMOio5uqGjd6gHuqEX\nuylkEeMu00SUL6Y0sfPEK3j/0DF0neuFS3NhydSlWD9/AxRRvJ/JuqHDpw/ArXmgqVrR2kG5Y9BR\nydh54hXs62zCFI8LTpsTUkrs62wCAGxYcN2EtycavIe6D2BQHyyZ4KXs8f8WlQTd0HGo+wBURU34\nuKqoONR9oCjD2GjwSikTgnfniVcmvC00Pgw6Kgk+fQCD+mDSzw3qg/DpE3txSykGL+WOQUclwa15\n4NJcST/n0lxwaxN7FV+pBS+ND4OOSoKmalgydSkM00j4uGEaWDJ16YQvApRa8NL4MOioZFx74Vos\n9NbDlCYC4QCEEFg+fSXWz98w4W0pteCl8eGqK02YsbZpjFzdrPFMwUU1S3B9/WfgsDmK1t5owMav\nuhYreGl8GHRUcOm2aURXN1VFhdPmhKIoaO1rxh8+fLUo20qiFKFgw4LrsHbuOu6jK3MculLBpdqm\nUQ6rm5qqwVtRw5ArYww6Kqh0QdYb7OHqJhUcg44KKt02DUhRlNVNnqedXDhHRwUV3aYhpRz1OZfm\ngrfCiyVTl8bm6KIM08Dy6SvzOlzUDR39oX7sOvUGjvYe5rGuSYRBRwUV3aaRKshGrm66UZHX1c34\nxZBDXQfQM9SD6ZUz0VDdUPTztDQxGHRUcOm2aYxc3Zw/axb6eoby9v7RxRAhBPpCfRBCoMN/BgDQ\n6G2MzReunbuOCw4WxaCjgst0m4amavCq0dXN/ATdYGgQf21/B3bVjpARhG7osCk2KELB2cEOLKxa\nCFVRYwsfXrUmL+9LpYVBRxMmGmQTITpc/WvHO9h16g04NSemVkyDTTn/LR8ydYTMEJyKk8e6LI6z\nr5OU1Vcdo8NVTWhw2iogpUTXYCcMacQWRuyKBrti57GuSYA9uklmMhSTHLl3b5prBjr8Z6AIBSpU\n1Dpr0RnoRLXDC5tqi339ub4XT02UPgbdJDPyuJUVVx2je/ecNicAoKG6AQBwdrADgfAQLpwyD9fX\n34irZn8MU+xVOQXUWD8wvjRtU16/FsoPBt0kku6UglVWHUfu3RNCoNHbiIVVC6FLHd9Z9U9w2ZNv\nUs7UWD8wqo468dGp1+bjy6A8ssZYhTIyWYpJjlViCQA+MuOycYdcqh8Y+9r3WXbes5wx6CaRyVRM\ncv38DVg+fSWEEHmvbZfqB0Z/sB9tvpMMuxLDoeskkskpBasoZImlZMfawkYYR3sPw28MIBDQ4ba7\nLbfIU85yCjpd13H//ffj1KlTCIVCuOOOO3DttZyXKAeTrZhkIfbuxf/AUISC5r5mHO0+hHPBfkx1\n1+C07xTqvQ2WW+QpZzkF3Y4dO1BdXY0f//jH6Ovrww033MCgKxMsJpkf0R8MLzX/G9r6P8BgeBBV\nFVWY6pyKDn87AKDB22ipRZ5yllPQrV+/HuvWrQMASCmhqmqaZ1CpmchTCqUkX/veFKFg7dx12N+1\nF7XOadjb+S401Q4hBIQQ6Ap0YmF1PYLhII+WlYCcgq6yshIA4PP58I1vfAN33313Rs+rrS3Pye5y\nbTdQvm3Pd7tNaWLH0R3Y174Pft2PSq0SS2qX4OPzP44qR2576XoCPVAdEjNdtagcOL/IY7fbImdq\nHcAUzYv5s2aVRY+uXL9XMpHzYsSZM2dw11134Qtf+AI+/elPZ/Scrq7y275QW+spy3YD5dv2ke2O\n9sIcSgV84QFACngrvFmFxyvHfxNbhJFQ0NSxHzuP/Q7b/voLXFK7LKeFA90AoNswFAqjyjYVHf4z\nqHDYEQqFIYSC4JCBi6c0DldiyV81lkIo1+8VILOAzinozp49i9tvvx2bN2/GlVdemctLkAUU+vhT\n9PTBwbP7cajrAI73tyJsGvBWeFHnrsPG+huxYcF1acNp5L63lt5mdPjbIYTAuWAfwkY4p4WD+EWJ\n6OmLc+Fu6EYIdZ45WDl9lWUXecpNTkH35JNPor+/H0888QSeeOIJAMDPf/5zVFRU5LVxVJrydV42\nPigBJPweOH/64Pi5VrT2tcAf9gMA+kMq2v3teKn517HFlVShG9335lAdCIQD6BiMhBwQV8HE5sxp\n4SB+FXuOZw6We5ZghjYH19d/BopQcC7YxwWfEpBT0D3wwAN44IEH8t0WKhPjPS8bH5R+3Y/TA22Q\nEJjtno0KWwVWzLkEH5v2SRzqPhApkjnYjsHwIIQQkJDwhQbgdXjRPXQW+7qaEDbDKUuju2yVODVw\nEp2BTgT0SNC57R5MrZgaq2ACIKeadNFFiY/M/BtACjTOuRA93YOWL5xQbrhhmLKSj/Oy8UF5aqAN\nHf52SEic9rVBU2x4q/11/Er7fwCA+dULEAwHYUgDISOIkKHDlJGjXS6bC/u79mFID6DS7h4zdP/w\n4aswpAHDNOCwOaAIBf6QD1JKXDR1SexryfZ0SLKe7VVDl6G3z48DXfssXTih3PDHC2VlvOdl44PS\nlCa6Ap0QQqA32IvTvlMwpAmHzYGeYA+6h7pxsv9DOGwOBM0gQkYIAKAIFQICg+FBnBz4EBXDVUqi\n4u+Ejb5fo3cxZlReAAUCFWoFAAEhgVmuC2CYRk416ZLdV/tO2zt4ueWlkr6ndjJi0FFWxnteNj4o\no6XNpZQY1P0wpQljuLdmmAamVtSgM9CJaRXTAAlETlxJ2JVIGFWoThimEZtvizcQGkCb72Ts3tho\nBZPLL7gKa+etxwWVM+EL+7DrzJt4u/3PCMsw/nbe+oz/Hsbq2RrSwGlfW9KCAlYqnFBuGHSUlehK\nY8gIIRAOxP5BZ9ojig9Ku+qApmqRYaU0oAoVqlBj77Oo5mJ4HV7MdF8Aj30KHKodNmGDXXWg0u7B\nxdMinw8ZwdjrSylxrPcY9nftxbb9T+OJpn/Gyf4PYudSVUXFKd8pqIoNF06Zi4/NvhpXXHAVbMKG\n372/M+O/h7F6tnY1Mt8XMkOjPme1wgnlhHN0lBVTmjCliQ/738cp3ykAwCx3Ha6v/0xGWylGFhao\ndU7HGf9pKFBQqbmgCAWmNFHrnA5VUXFJ7TJ8demdqLA5oUBByAxBSKDC5oSqqFCFBjXuHojmvmac\n8Z2CEAIHuvdDN3ScC/bhtP80rqlbA1OaODvYAQGBGa6ZqNQim98hkNWq61j31aqKitnu2bHAjsql\ncAKrF+cPg46ysvPEKzjQtQ/13kYsqK5HyAhCHb5VK9MVxfgtGbM9dRAAIIGwGYYQArM8s1DnnBcL\nh6qKKnxkxmXY19kEt+aOvY5hGrFtHIe6D2AgNICzw3N+AgJSStgUG6Y6p6F7qBvHeo9hums6dDOM\nWe7ZqPc2JLQrm1XX+MAWQiBkBGFXHTBMAxvrb4y1KZfCCZOh3P1EY9BRxkbOSylCiS0EZNMbSlZY\nwJQmXm59Ecf7WqE6JKArWDp9eSwcUlVdiW7xaPOdxLb9T+NA9/5RPa0p9imo89Thq8vvwHOHfpE0\nMFyaCw6lAr1DPRn1ov523nrs6diNPe27EdADcGpOrJ7/UayfvwE2xZZz4YTftO7AnvZ3UGFzctU2\nTxh0lLGRdzHEy6Y3pBs6eoM9o45y3bzo89ANHRVVwNA5JIRDuqormqqhzj0HmmqP3d0az65okJBw\n2VxYVrtiVE2+sBGGAQM/2/fTjHtRv3t/J2zChstnXomQGYJdsUNTNPzu/Z3YsOC6rAsnmNLEf7Tu\nwLaDTyNkhGBXNExzzUBDdYPlyt1PNAYdZWyseSkgs4l2U5p45fhv8HLLSzjtawMAzHbPTjjKpaka\napwedPmSr06mCg9N1bBy+qV4p/0vCJvh2DyZbuqY5Z4Fj90Dt+ZJ2js0EFkMid8qkqoXNbJ361Qi\n4T+eQIreQ6sbOjRFgwTQ4T8DAGj0NvKS7XFg0FHGxluheOeJV/BS83Z0DnbGelwjj3KNhylNCKEA\nUqJt4EMMGUMQQoXXXg2bsOFCzzz0h85hir0qoXfoUCrws30/jQW4Kc3YnNtYoZWv3m1UNDidNhc0\nVYu1RREKzg52YGHVQq7ajgNnNikrud7FoBs69nftRXfgbMJQUAiB7qGz2N+1N6vNtMku4I4ulKye\n83HMdtehQnXCLjSoqg1SSPy14x3c88ev4yfvPoZXjv8GqqLCW1GDoDmEQX0QEhLNvcfwlzNv4e0z\nf8FfzryFQ10H0B/qH/X+qfYTOlQHBvUAOgc7Mv6aosGpCAW1zukJveaQqWMoHOAl2+PAHh1lJX6u\nrHeoFxASXkdN2tVAnz6Ac8FzCJmRYVm8yBaQcxn1gsZakby67uN4+8yfYcgw7l39Q/z9R74JAJAA\nJEwIKBAAvvzy50ZVK4mG1rGeo7GqJjbFBikleoZ6sOvUG9hYf0NCO5L1biUkDnUewoc9J/FG258A\nnN96k67KSvy0QHQ1uCvQCd3QYVftWDXzMlZCGQcGHWXNlCZe/eA/s9r+4NY8qHJUDS8KJNJUDVWO\nqoyGZSMLCpimiV8f+xV++tfHcby/BW/ctj/S0wQQCkZez+HwIXp44n9fvx0/+8ujo6qVLPZehDfa\n/pRwysKUJmZUXoCjvYehG58a1ZsaOdd3auAkOoPtEFCgKpG/h3b/abzUvD3l0Dy6X26R9yIcOhuZ\n92vwNmJhdT0C4UF8ZMZl+PSIoKXsMOgoa7lUL9FUDctqV6C59yg6BztjgSilxDRnLZbVrkg7LEt2\n7Kq5rxnHeo7i3za9OjzcE9CHA665J3KsbNFUD6Lx5awI4Fsf/R6efPuxhLm0q2Z/DL8+9gLOBfsQ\nMnXYFQ0zKi9AQ3XDmHNuI3u3Pz+wFb3d3ZBGOOEx3YHI0HzkXN/I3qnT5kRYhqFCRSAcgEtz4fIL\nrmJPLg8YdJSV8VQvWT9/Q2S/XJJV10z+MY9cADBMA12D7Xhx0++HFyIEQkHPcMAZeKctckTrnTY/\nLqurxKKpHgSCLthdYdxx+Xfw5DuPx3qRU+xVuKR2GcJGOLZVJNOqJpqqQVNt8IV8w3NyiWdvQ2by\nofnIHxgAYBM2XFRzMT5WdzVPROQRg46yMp7VRkUouG7hRqyb91+S7qNLZ+T2liFjCD7dHxsKR0Pu\nLycHYEoTB97vgxxeiTWlCQBYPG0KgMjc3X+74p+gGZFQip9zi//aMl1Rjg7NNVVDKK5HB0T28I0c\nmqf6gXGk9zDWzx89VKbccdWVsjLe6iVAJFSmu2ZgeuX0rP4xR8MobIbR3HsMTZ17cDbQBTkcYsD5\ns7j7T/SgubkTrS1dEAAOvt+Hd9r8ONbtw7lBGzRFg8PmSHj9ay9ci4XeepjSzGpFOdq2ZbUrML0y\nccXUlCamOqdhWe0KAIitFI+33BVlhz06ysp499KN1/r5G7CnYzc6/O0IyzCmaJ7I3rm4JY4D7/eh\npeUselqaIQC0QKC+YUbs8wICFbbzZf9HzpU5VAcuqlmC6+s/MyoMx6IbOi6/4Eo43Sp+2fRCQsGD\nTy+8HqY08ZN3H4st3izyXpS0VwywykkhMOgoa6nOnRaaYRqosFXgylkfRcgMQRMa7IqGsEwcLjY0\n1KIFEt0trcMROPo0R1SyubLWvmb84cNX025iHhmStVVefHrhDfibmVdAUQS8jhq8+sF/jlq8OXT2\nAMIyDJuwFeUHxmTDoKOspTt3Ol7RzcCpLrpx2pyxY1c2xQYVNkSr0i2b58WB93vR0DADgEB9Qy2W\nzvPi8jo3Fk31jHqv8ZSGH7UCDYmDZw9AVWyxS3vGen0VKi6quRhH4u67mKgfGJMNg45ylu2h9XSi\nvaP3Dx1D17nepPvzxjpva8gwABWKUHDFnEiY7X+/F/UN07FsnjdSumn4cp2p7vOrouNZXMkkJFO9\nfiAcwMfqrsb6+Z9i3bkC42IE5U2yY1nZiN3BgMSD9TtPvBJ7THSOML5U+f/686MwTROVriAap7oh\nhMAVczz4yuo5+MrqObh8jhtXzPGgsaYSlc4hhM1I+XYRDI5rcSUaYqY0MRQOxFZ2gfMhmcnra6oG\nb0UNQ66A2KOjcTOlid+07sDerncRNsPw2D0ZFYocea9rpkPIkXOEQgh8e+dX8c+f+gWqXGE0IlKc\nM77XJxDZLGyagC7CONffHguXXBdX4q9R1A0dmqphjnc26pzzEkKsmIs3FMGgo3ExpYmH//ID7D7z\nNsIyHKuhpocjvbpkk/nJzqvO9cyHX/fDZRvd+xk5hEw4kRDsgW6E8dx7z2Dr24/hjsu/gypXGBLA\nUDgAAKPKmt/+8k34vxt+HftzqsWVVOXM469RjJ6NPT1wGoOBID7bePOYwcy5uInHoKNx+Y/WHdjd\n/jaEENBEYg01zaYlncxPdoTsWO8RnB5oQ723cdR7JBtCjjxv2zbQBlMaeOLtH+POy+9FZJVVYOQF\nYbf9+2dRM1yxxIVIqCZbXFEVNWU58/hrFIVQcXawI3J0TDihCBXXXrg29p6FXryh9Bh0lDPd0NHU\n+W6sRxMVraE2yz1r1GT+WBP4dtUOCQHd1AGc37s21hBvZFjWV9fjWO8RtPY243/u+h9wqA609LYA\nkDgb6Ew4v9robUw69xa/uPLK8d+kPM8bv8jQ6G3EwqqFCJkheD0e9A4MYDDsH7UHb+TiDS+/mTgM\nOsqZTx+AIY2EQpFRITNSznxkoKRahZztno0GbyPOhs/EDrUnG+IlC0shBBbVXARTmrj9kq/CW+GN\n7V9bWF0fO79qSAPzpixI+XVlspo6cvVXVVQ4lcjNZNEe6FhBxstvJh6DjsaUrsfh1jxw2pyoslej\nO3A2IRhswoYVtZeOel6qcuyV9kp8pv4m1NZ6cOL06THfN1VYBo0gNNUGTdUS5saCRhDHzx2HgERY\nhvHBuyfGDJeMtpxU1Iy5yHBRzZKUZaxyqf5C48Ogo1Ey6XFE58iO97Wgc7A9crhemnDZKmG32XH5\nBVfiuoUbE143Wd21qPghanS7xVgyubsi+l5r567D2rnr8FLLryOvPVz0M1W4ZHo3RrJFhlWzVqG3\nzz9mkK2du25cG5QpNww6GiWTHkf0MQu9DTAhcbTnCPpD/dBNHUurlmPl9FWx18uk7lo2q5Cptmws\nrV0+qje1yHsR3j93YlRl42i4fLzuEwiaQ7EeZKZbQpItMtTWevDf//P7YwbZR2b+TV7vmqDMMOgo\nQSbzU0DinjcBgWpHNabYp8CmqFhYVY8DXftiQVCIumvxvamB0ABsSmSoDGBUSO9pfwcf9L+Pi6dd\nkvAaEhLvdR3EY3t+BCllQs81my0h8YsMA6HUw15IMa6b1Cg3DDpKkMn8VPT3TpsTpjTRFYhUDFaE\nAt3UETJDsVLlH6/7REHqrilCwfr5G2CY4djK73vdB9Ha14r66vqEx1bYnOgL9cGUZsJ8XEtvM3qG\nerBIaFBVdVTPNZctIR576mGvt8LLDcRFwCUeSpDJkaX4x4SMYMKRL7uiwa7YAUTCsCPQXrC6aztP\nvIKDZw+gwlaBSq0SISOItoEP0dzXnPA4VVFRZa9CIHy+HaY00THYjumVMxMCJ9pzjX5N2R7PSnZE\nDYgEWfQWr1xvUqPcsUdHCTKdn4o+xq46YttLopfJxJcgn+GcWZChWrIhtl11wGFzxO5Bjf/ckmlL\nEyqFCAh4HV40VDeMeu1c72X16QOoNirSDnu5gXjiMeholEzmp+IfU22vRs9QT+wyGeB8MLrsrpyH\naqm2tyQbYkfvRD01cDIyfFbO3y2xfPpKbFhwHdYbn0p6aXW8bAJ4VD26Vi/mORuxfv6GtEGW7+ov\nNDYGHY2SSY8j/jH9oX7sOvUGjo5RVy3bs56mNPHK8d+k3N4y1haQem8DBCKXSCdb0Y0Pl3zMlSWr\nRxc/z5dtkPG0RGEImexHWoF0dZVfHfzaWk9ZthuY+Lan+0ea6T/iXd1/wOvNbyUNoPg9b/HHtEY+\nLpNh4XhOKERKUvVi28GnEx5bWemA3x+EEAJ3X/qdjMOq2Kclyv37PJ2ce3SmaeLBBx/E0aNHYbfb\n8dBDD2Hu3Lm5vhxZQLqhWCZDNd3Qsa99X07lmuJ7b4pQ0r5XLnNl8YHUE+jB/q69uMA9Gw3VDQmX\nX2c7z8fTEoWVc9D9/ve/RygUwgsvvIC9e/fiRz/6EbZu3ZrPttEk5NMH4Nf9ANRRnxsIDaDNdxJ1\n7jnQVC0vk/rZDhXjAyl6vWG0WktjXOWVbOb5xlvOndLLOej27NmD1atXAwBWrFiBgwcP5q1RVD7y\nPafk1jyo1CrhCw3FPialRHNfM84GOvGLg/8Hbrs7YViXy6T+WEPFay9ci8GwP+nXMzKQoosfHf72\n2EovkP0833jKuVNmcg46n88Ht9sd+7OqqgiHw7DZxn7JTMbSpahc2w0Uru2mNLHj6A7sa98Hv+5H\npVaJ5TOXY+OijeOeU1retxx7Tu+JBcqRs0fQHerAHG8dpldH/sG3+N/Dn3ucuGHxDTm9x78f+Xe0\n+N+Dy2WHC3ZIKfEfH76E3558GRdWXZj06+kJ9ABaGJVx+wyXuy7B0W4NJ8+dhK4GIFCJqxuuyurv\nodqoQG2rFzLJTWVuVGD+rFkT0qMr5+/zdHIOOrfbDb/fH/uzaZopQw7gYsREK2TbExcCVPhCQ3i9\n+S2cOxcY95zSxkUbce5cIHa862TvKdQ6Z6DOOQ9+fzD2uLeOv4PLqq/Oabj61vF3hldsI9ckNvce\nQ4e/HYoQmOW4MOnXoxsAdBv8oWDC681xzsfsirm4fclX0Fg3F309Q+g+60c25jkbx1xY6esZAjA0\n9pPzoNy/z9PJ+UfvpZdeitdffx0AsHfvXjQ2jq4MS9aUbk4p18txoqJzb3df+h3810v+HstrV6LB\n2wiBxHLBuZ6s8OkDGAgNIBAOwDCN2DE2IQRCw0fYkn09qU49LKtdgemuGTn3vHhaorBy7tGtXbsW\nu3btwi233AIpJbZs2ZLPdlERZDrfNlFzSpqqoc49B267e8yNvQ6lYsw7YJMxpYk3217H/q69CBkh\n2BUN1Y5qhMIhaKqWcIQt2ddTqPsfeFqisHIOOkVR8MMf/jCfbaEiyXYPV6b12vJl7pR5aO49llBm\nKWyGYUgDP9v306z2nUXPx0YXESSAs0PdGND7Ua14E46wJft6Ch1IPC1RGDwZQVnv4ZqIK/ziw9cf\n8uOU7xQEJGZ56lCpVcKQBlREKo5E29zUuQc+fQCfqb9pzA3L0SF3vTdyVK0r0AlpSggITHNOSzj7\nmurrYSCVFwbdJJfrHq5CX+EXH74uzYUGbwNCRgiN3sW4bsHGhHOqEhItvc3oCnTirVNv4nhfK5bV\nrhjVu4sfcgsINHgbI/dJGMFIdZFpy/DBwAleSWhBDLpJLtf5tkIO4VLdFPbBwAn4dF9Cm1t6m9Hh\nb4cQAhISQSOYtEeabMitCAUVNieEEPhMw2cBgHNkFsR6dJNcJvXnUsm2XlsmolV6kxnUBwEhY22O\nXzEFztfDS7YCnEmtuEJ8PVR8DLpJLpN//BMtWqU3GZfmgtdRE2tzfOFPU5qY5poR6wkm235SzG0c\nkUIAPePefkPZ49CVCj7flq1MFjuibdvftRcAIICEenhA8h5p/JC7d6gXEBJeR01BK4QUuzIJMegI\npbmHK5sqvQuq6nGs9wjs6vn9b6lWTKNXNU5U8LAySfEx6CimlLZMZBq+mqrhpkU3j+oxpeqRFip4\ndENHT6AHuoFYW1mZpDQw6ErcZK84m0n4ZtMjLUTwxA9NoYUB3RbrIbIySWlg0JWocpnXKaUgziQU\nCxE88T3ESs0Ff+j89pa1c9fxHtcSUDr/YihB9B9P/M7/fZ1N2HnilWI3DV70wSv74Ap3oNLowHTF\nj0qjA67TJFrtAAAQ9klEQVRwB7yyr9jNS2m822lGStdDBFByq9qTEYOuBBW6Osh4eBEJsqARhG5G\n2hGtKqKbOoJGMPaYUpTv7TTRHmIy0R4iK5MUH4euJahU5nXGDCwJhE19RNGkyBaPsKnDIR3witHP\n7UV13tuYi3xup8mkwEEprmpPNgy6EjTR1UGSSdUrkzAhIUfVh4t8TkLChEgyWPCiryTCLp/Bk02B\ng1Ja1Z5sOHQtQcU+rZBu6CmgJA25yOdE0pDL9LUnUr6Oe8UPTQf1QQ5NSxB7dCWqWKcVMgoiAdgU\nDfqI4asEIjXjkmdgwnuUQs8uX+J7iBVVwNA5cGhaYhh0JaoY8zrZ9LYcqgNAZE4uOozVFC328Uze\ny0phB0TCrcbpQZevPO9esDIGXYmbiHmdbAJOnGqO/b4i9juJkd04ObsB6cSHXfx+PKJ8Y9BNcpmG\nXHzAyaTrrfF/krHHpws8r+zD8yfeTBiiX7XgMlxZs6akNkZTeeN3EqUVC61IhKV9fPzj4gMymaAR\nxPV1KxI2Ru85vackNkaTdbBHR2OKD7iY5r2ZPblhxaiwG9W7G2M/Hg+8U76xR0dJpQo5qWgpf8U/\nNv41Rvbuovvxksn1zlaiZNijm8TSzc/FQi4u4AAAh5pSP2/JSgCAiIbdcO9OQELK4c3EInE/3gMr\n/g4P7f2X2GvwwDvlE3t0k1SqkBOnmpOH3KGmWMhJhwvS4YL+Xiv091pjfwYQe1x8727ICGJA90Oc\nboZf9yEYDgKI7MeL9ukeWPF3AHjgnfKPPTpKkDC8HBlyiARcuOnAqOfFf8y2cilEcDASdktWQhih\nhM3FlV2n4KudDSDJfjwhsGrWKlxZsyZtW0upRBSVNgYdjRI/Lxcfcvp7rbGPdxzuSPrcGRfNiIWe\ndvFC4FATBhob4D7RDP/8Bvj0ANya83wBANUBh80Bh3RAwsTdl34Hs2bWoKtr7Pm5cqnVR6WD3xUU\nk6w3F9+TAwDT5YmFnJxSDTmlGuaUahieKgCRADRdnoTnRBccKk+cf/3KrlOxAgCRNweEUDLqmZVy\nrT4qTQw6SjCqN4fzw1XT5UHXnhYAQEuHD63NbWg9dhKtxz7E8eaTaG7vh4RE154WmC5P5Dl2J9zH\nmuEzQ7HX9ekBAOkLACRTyrX6qHQx6CahtKchRuyViw5Fu/a0QE6pRkuHDwAQmlIJv8eBgKcCAU/k\nQFhL+wAClc5YIBp7D0IASbeR2JIUAEjXtkwKXRKNxKCbZDI98hWdm4sOP6PD1dbmNgCA8NbgYFsX\njp7uw5HhX9Gwa2uNPDY2hLW74Bnu1UWHrwJizAIAsvvUmO3Kdyl0mhwYdARgxJaSMcgpkQP4wluD\ndz+MhFGoyolQVaQScnzYGZ6qWK8OQgAQqNTcECLyX0BAnE59PCyZYtfqo/LEoKOURm0lkRJ+3Qcp\nJXxuFWEzDACxsIsSYnRoirj/ZnJmdiy8g4Gyxe0llFZkCNqB1mMn4fc4cPR0H0JVTihmGKY0EDYB\nm2JDqMqJI6f7cKnHiePNbaif4Y4tSmgXL8xbe3gHA2WLPTrKmISEa2AIAGA/F4BNsUERKkwZObNq\nPxeIDFOFwMKGOgCAMpj/xQHd0NE71AMAeSmFTtbHHh2lZFu5dHj4KjFjnhcd7/di8axqHDkdWdSw\nKTZISDhtLkgRxKoLZ8Ps7Rn1GggmXynNBjcKU64YdBQjhouij/VZz5CO+PMQ9nOB2O+liJxdjYac\n6E93wY7MqApxvOhGYVVREzYKA8CGBddl9Vo0ufDH4CQz1j0NI0NHRC+nHu6J1a6qByAwc14NnAND\nWDyrGotnDb+WEFh14WysujByfjU6bI085/xrRF8zHTF19qiPcaMwjUdOQTcwMICvfe1ruPXWW7Fp\n0yY0NaUu20OlJe2lNA0rIv8dLrcERObaBATcQ5FAcQ4MwTkwhEvqamPD1ZG9uYT5uehrRV87y7Zx\nozCNR05B98wzz+CKK67Av/7rv+KRRx7BD3/4w3y3i0pIdMV0xkUzICDQMHMKFjTMgRAK7P1+yOGA\nW9hQh/oZ7thj4587XtwoTOOR0xzdbbfdBrvdDgAwDAMOR2ZX3FHpi5+nE6YeKaJ5qCm2KDHjohno\nONwBdeBcLNRi+vtQu6oeymA/AAnbymWRRYglKyPD1uHeXC7zc9GNwtE5uijDNLB8+kquvFJKQkqZ\nvJb1sO3bt+PZZ59N+NiWLVuwbNkydHV14Stf+Qruv/9+XHbZZQVtKOXXWMesZNtRYDhI5JF3h/97\nMPLJikqE9uyPPVa4p5x/HgDpOwcMfzuFli6E2xRQlq4CwpED/WLxpZEHmwZE3aKk759sfi7KlCZ2\nHN2Bfe374Nf9qNQqsXzmcmxctJGrrpRS2qAby9GjR3HPPffgvvvuwzXXXJPRc1LVGCtVtbWesmw3\nkLrt2VQYHllCPVnxTQkJSIngJQvglpHQ8TU2YIriiOyty7A314vqtH/npVxws1y/X8q13UCk7enk\nNHRtaWnBN7/5TfzkJz/B4sWLc3kJKnGxIWzDitjdD9FhrAgOQrt44fl6c8PHwtxSgTb8Y9Pf2AiP\nYo/ULGlYATH8mvkwEZd6k7XkFHSPP/44QqEQHn74YQCA2+3G1q1b89owKqxeVI/Zq5OzGyBONSeE\nHZr3np+zA2KBB0TOrrqH17X8jY0AALcSmcP1za9HJUwowz3EdL05okLIKegYataQa9gB52/6AiLz\nc349UqMuGnAA4J/fAAFAZchRkfFkBI0padgNE3HFOQUQG6b6558PMwlgyvCWkFjIych9rtErD4km\nAoOOUooPOyCuvNKIjb8SQNAIAsO3eXk01/CdrSIScjLy+dhtXxCwKVqk+CYDjwqMQTfJpRq+RkV7\nY0kDb5gAUKE6IFQ7IrEnEoaqQSMYu/Iwemm1PjwMHrTNyMvXQjQWbj6ijOfH5OyG2C8BmfRX5PON\nifNxMnK14ciOmwDwg6ZtPKdKBcceHQHIrGcXL5uTDRJmbLga76G9/4JAOACfPsDtIlRQ7NFZlG7o\n6An0ZNVbKtTKp4CSNOQAnlOlicEencXEF6eEFgZ0W1bFKbPt2WVERK42jM7RRUOO51RporBHZzHx\nt9i7NFdOt9gXomfnUB3QFA0P73uOF9rQhGOPzkLSFadcO3ddxr2nvPfsRGR19e5Lv1Oy51TJuhh0\nFhItTum0OUd9LlqcMptJ/7F6dukCMFWPkOdUqRg4dLWA6K1YDqViQopTpgoyHuWiUsQeXRlLdivW\nUHgIKlTY1PP/awsx6c9Ao3LCHl0Zi194iN6KpQoVBgwIITCoD3LSnwjs0ZWtsRYebIoNmtBw1/Jv\nwlOjYegcOOlPkx57dGUq3a1YQXMINU7eYk8EMOjKFm/FIsocg65MRW/FMkwj4eOGaWDJ1KXsyRHF\nYdCVsfXzN2D59JUQQvC0AVEKXIwoY4pQsGHBdVg7dx1PGxClwKCzAJ42IEqNQ1cisjwGHRFZHoOO\niCyPQUdElsegIyLLY9DRhIqWlOLNXzSRuL2EJkSyklLZ3GVBNB78DqMJkaykVLZ3WRDlikFHBZfu\nLgsOY6nQGHRUcOlKSvn0gQluEU02DDoqOJaUomJj0FHBsaQUFRuDjiYES0pRMXF7CU0IlpSiYmLQ\n0YRiSSkqBg5dicjyGHREZHkMOiKyvHEFXWtrK1atWoVgMJiv9hAR5V3OQefz+fDoo4/Cbrfnsz1E\nRHknpJQy2ydJKXHPPffgH/7hH3DnnXfit7/9LRwORyHaR0Q0bmm3l2zfvh3PPvtswsdmzZqFDRs2\nYPHixVm9WVdX+Z1prK31lGW7gfJte7m2Gyjftpdru4FI29PJqUe3du1azJw5EwCwd+9eLFu2DM8/\n/3za55XjX2S5fwOUY9vLtd1A+ba9XNsNZBZ0OW0YfvXVV2O//8QnPoFt27bl8jJERBOC20uIyPLG\nfQTstddey0c7iIgKhj06IrI8Bh0RWR6Djogsj0FHRJbHoCMiy2PQEZHlMeiIyPIYdERkeQw6IrI8\nBh0RWR6Djogsj0FHRJbHoCMiy2PQEZHlMeiIyPIYdERkeQw6IrI8Bh0RWR6Djogsj0FHRJbHoCMi\ny2PQEZHlMeiIyPIYdERkeQw6IrI8Bh0RWR6Djogsj0FHRJbHoCMiy2PQEZHlMeiIyPIYdERkeQw6\nIrI8Bh0RWR6Djogsj0FHRJbHoCMiy7Pl8iTDMPDII4/g4MGDCIVC+PrXv441a9bku21ERHmRU9C9\n/PLLCIfD+NWvfoWOjg789re/zXe7iIjyJqege/PNN9HQ0ICvfvWrkFLie9/7Xr7bRUSUN0JKKVM9\nYPv27Xj22WcTPub1elFXV4ctW7Zg9+7d+OlPf4rnn3++oA0lIspV2qBL5lvf+hbWr1+PdevWAQA+\n+tGPYteuXXlvHBFRPuS06rpq1Sr86U9/AgAcOXIEF1xwQV4bRUSUTzn16EKhEL7//e+jtbUVUko8\n+OCDWLJkSSHaR0Q0bjkFHRFROeGGYSKyPAYdEVnehASdYRh46KGHcMstt+DGG2/EH//4x4l427xq\nbW3FqlWrEAwGi92UjAwMDOBrX/sabr31VmzatAlNTU3FblJapmli8+bN2LRpE770pS/hgw8+KHaT\nMqLrOu6991584QtfwE033YQ//OEPxW5S1rq7u3HNNdegtbW12E3J2FNPPYVNmzbhxhtvxPbt21M+\nNqcNw9kq95MUPp8Pjz76KOx2e7GbkrFnnnkGV1xxBW677TYcP34c3/72t/HSSy8Vu1kp/f73v0co\nFMILL7yAvXv34kc/+hG2bt1a7GaltWPHDlRXV+PHP/4x+vr6cMMNN+Daa68tdrMypus6Nm/ejIqK\nimI3JWNvv/02mpqa8Mtf/hKBQADbtm1L+fgJCbpyPkkRbe8999yDO++8s9jNydhtt90WC2bDMOBw\nOIrcovT27NmD1atXAwBWrFiBgwcPFrlFmYnfUyqlhKqqRW5Rdh599FHccsstePrpp4vdlIy9+eab\naGxsxF133QWfz4f77rsv5ePzHnRjnaRwOBx46qmnsHv3bnz3u98tyZMUydo+a9YsbNiwAYsXLy5S\nq9JL1u4tW7Zg2bJl6Orqwr333ov777+/SK3LnM/ng9vtjv1ZVVWEw2HYbBPy8zhnlZWVACLt/8Y3\nvoG77767yC3K3IsvvoiamhqsXr26rIKut7cXp0+fxpNPPom2tjbccccd2LlzJ4QQSR8/IdtLyvkk\nxdq1azFz5kwAwN69e7Fs2bKSDOlkjh49invuuQf33XcfrrnmmmI3J61HHnkEy5cvx4YNGwAAV199\nNV5//fUityozZ86cwV133RWbpysXX/ziFyGEgBAChw8fxrx587B161bU1tYWu2kpPfbYY6ipqcHt\nt98OANi4cSOeeeYZTJ06NfkT5AR47rnn5He/+10ppZSHDx+Wn/3sZyfibfNuzZo1cmhoqNjNyEhz\nc7Nct26dPHz4cLGbkrGdO3fKf/zHf5RSStnU1CS//OUvF7lFmenq6pLr16+Xb731VrGbMi633nqr\nbGlpKXYzMvLaa6/J2267TZqmKdvb2+UnP/lJGQ6Hx3z8hIwJbr75Znz/+9/HzTffDCklfvCDH0zE\n205qjz/+OEKhEB5++GEAgNvtLvmJ/bVr12LXrl245ZZbIKXEli1bit2kjDz55JPo7+/HE088gSee\neAIA8POf/7ysJvfLzZo1a7B7927cdNNNkFJi8+bNKedGeTKCiCyPG4aJyPIYdERkeQw6IrI8Bh0R\nWR6Djogsj0FHRJbHoCMiy2PQEZHl/X/K9LUiCQsAJQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from copy import deepcopy\n", "\n", "mu_0, sd_0 = means['mu_0'], sds['mu_0']\n", "mu_1, sd_1 = means['mu_1'], sds['mu_1']\n", "\n", "def logp_normal_np(mu, tau, value):\n", " # log probability of individual samples\n", " k = tau.shape[0]\n", " delta = lambda mu: value - mu\n", " return (-1 / 2.) * (k * np.log(2 * np.pi) + np.log(1./np.linalg.det(tau)) +\n", " (delta(mu).dot(tau) * delta(mu)).sum(axis=1))\n", "\n", "def threshold(zz): \n", " zz_ = deepcopy(zz)\n", " zz_[zz < np.max(zz) * 1e-2] = None\n", " return zz_\n", "\n", "def plot_logp_normal(ax, mu, sd, cmap):\n", " f = lambda value: np.exp(logp_normal_np(mu, np.diag(1 / sd**2), value))\n", " g = lambda mu, sd: np.arange(mu - 3, mu + 3, .1)\n", " xx, yy = np.meshgrid(g(mu[0], sd[0]), g(mu[1], sd[1]))\n", " zz = f(np.vstack((xx.reshape(-1), yy.reshape(-1))).T).reshape(xx.shape)\n", " ax.contourf(xx, yy, threshold(zz), cmap=cmap, alpha=0.9)\n", " \n", "fig, ax = plt.subplots(figsize=(5, 5))\n", "plt.scatter(data[:, 0], data[:, 1], alpha=0.5, c='g')\n", "plot_logp_normal(ax, mu_0, sd_0, cmap='Reds')\n", "plot_logp_normal(ax, mu_1, sd_1, cmap='Blues')\n", "plt.xlim(-6, 6)\n", "plt.ylim(-6, 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "TODO: We need to backward-transform 'pi', which is transformed by 'stick_breaking'. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "'elbos' contains the trace of ELBO, showing stochastic convergence of the algorithm. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\niiIEQQAABAQEoLKy0qy+m++3dCyZCwgIgFKpRFVVFZ566ik888wzrOdOIpfLkZKSgnXr1mHWrFms\n506wc+dOhIaGGhpFAL83OkoSgaxUKqHRaAy39Xq9SahQxxmP5Wg0GgQGBprVt0ajgUqlsngsWXbt\n2jU8+uijuP/++zFr1izWcydKTU3FF198gdWrV0Or1RruZz07RkZGBg4dOoTk5GScO3cOKSkpKC0t\nNTzOerafJAJ5xIgR2L9/PwDg5MmTiI2NdXGJpOP222/H0aNHAQD79+/HqFGjMGLECBw8eBB6vR4F\nBQXQ6/UIDQ21eCyZKy4uxvz58/H888/jwQcfBMB67gy7du3CW2+9BQDw8/ODIAgYPHgw69nBtm/f\njm3btiEtLQ1xcXFITU3FpEmTWM8dIImLSzTPsr5w4QJEUcQrr7yCfv36ubpYHuvq1at49tlnsWPH\nDuTm5mL16tWor69HdHQ01q9fDy8vL7zxxhvYv38/9Ho9li9fjlGjRrV5LJlav349PvvsM0RHRxvu\nW7lyJdavX896dqDq6mosX74cxcXFaGhowOOPP45+/frx77kTJScnY82aNZDJZKznDpBEIBMREXk6\nSXRZExEReToGMhERkRtgIBMREbkBBjIREZEbYCATERG5AQYyERGRG2AgExERuQEGMhERkRv4/0JH\nEgikYAYCAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(approx.hist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To demonstrate that ADVI works for large dataset with mini-batch, let's create 100,000 samples from the same mixture distribution. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-6, 6)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_samples = 100000\n", "\n", "zs = np.array([rng.multinomial(1, ps) for _ in range(n_samples)]).T\n", "xs = [z[:, np.newaxis] * rng.multivariate_normal(m, np.eye(2), size=n_samples)\n", " for z, m in zip(zs, ms)]\n", "data = np.sum(np.dstack(xs), axis=2)\n", "\n", "plt.figure(figsize=(5, 5))\n", "plt.scatter(data[:, 0], data[:, 1], c='g', alpha=0.5)\n", "plt.scatter(ms[0, 0], ms[0, 1], c='r', s=100)\n", "plt.scatter(ms[1, 0], ms[1, 1], c='b', s=100)\n", "plt.xlim(-6, 6)\n", "plt.ylim(-6, 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "MCMC took 55 seconds, 20 times longer than the small dataset. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: Desired error not necessarily achieved due to precision loss.\n", " Current function value: 365347.054715\n", " Iterations: 4\n", " Function evaluations: 71\n", " Gradient evaluations: 59\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1500/1500 [02:00<00:00, 12.44it/s]\n" ] } ], "source": [ "with pm.Model() as model:\n", " mus = [MvNormal('mu_%d' % i, mu=pm.floatX(np.zeros(2)), tau=pm.floatX(0.1 * np.eye(2)), shape=(2,))\n", " for i in range(2)]\n", " pi = Dirichlet('pi', a=pm.floatX(0.1 * np.ones(2)), shape=(2,))\n", " xs = DensityDist('x', logp_gmix(mus, pi, np.eye(2)), observed=data)\n", " \n", " start = find_MAP()\n", " step = Metropolis()\n", " trace = sample(1000, step, start=start)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Posterior samples are concentrated on the true means, so looks like single point for each component. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-6, 6)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nSYX7yyaSm60AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5, 5))\n", "plt.scatter(data[:, 0], data[:, 1], alpha=0.5, c='g')\n", "mu_0, mu_1 = trace['mu_0'], trace['mu_1']\n", "plt.scatter(mu_0[-500:, 0], mu_0[-500:, 1], c=\"r\", s=50)\n", "plt.scatter(mu_1[-500:, 0], mu_1[-500:, 1], c=\"b\", s=50)\n", "plt.xlim(-6, 6)\n", "plt.ylim(-6, 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For ADVI with mini-batch, put theano tensor on the observed variable of the ObservedRV. The tensor will be replaced with mini-batches. Because of the difference of the size of mini-batch and whole samples, the log-likelihood term should be appropriately scaled. To tell the log-likelihood term, we need to give ObservedRV objects ('minibatch_RVs' below) where mini-batch is put. Also we should keep the tensor ('minibatch_tensors'). " ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "minibatch_size = 200\n", "# In memory Minibatches for better speed\n", "data_t = pm.Minibatch(data, minibatch_size)\n", "\n", "with pm.Model() as model:\n", " mus = [MvNormal('mu_%d' % i, mu=pm.floatX(np.zeros(2)), tau=pm.floatX(0.1 * np.eye(2)), shape=(2,))\n", " for i in range(2)]\n", " pi = Dirichlet('pi', a=pm.floatX(0.1 * np.ones(2)), shape=(2,))\n", " xs = DensityDist('x', logp_gmix(mus, pi, np.eye(2)), observed=data_t, total_size=len(data))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run ADVI. It's much faster than MCMC, though the problem here is simple and it's not a fair comparison. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Average Loss = 3.2686e+05: 100%|██████████| 1500/1500 [00:00<00:00, 2433.03it/s]\n", "Finished [100%]: Average Loss = 3.2678e+05\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 4.85 s, sys: 544 ms, total: 5.4 s\n", "Wall time: 11.4 s\n" ] } ], "source": [ "# Used only to write the function call in single line for using %time\n", "# is there more smart way?\n", "def f():\n", " approx = pm.fit(n=1500, obj_optimizer=pm.adagrad(learning_rate=1e-1), model=model)\n", " means = approx.bij.rmap(approx.mean.eval())\n", " sds = approx.bij.rmap(approx.std.eval())\n", " return means, sds, approx.hist\n", "\n", "%time means, sds, elbos = f()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is almost the same. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-6, 6)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from copy import deepcopy\n", "\n", "mu_0, sd_0 = means['mu_0'], sds['mu_0']\n", "mu_1, sd_1 = means['mu_1'], sds['mu_1']\n", "\n", "fig, ax = plt.subplots(figsize=(5, 5))\n", "plt.scatter(data[:, 0], data[:, 1], alpha=0.5, c='g')\n", "plt.scatter(mu_0[0], mu_0[1], c=\"r\", s=50)\n", "plt.scatter(mu_1[0], mu_1[1], c=\"b\", s=50)\n", "plt.xlim(-6, 6)\n", "plt.ylim(-6, 6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The variance of the trace of ELBO is larger than without mini-batch because of the subsampling from the whole samples. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(elbos);" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" }, "latex_envs": { "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 0 }, "nav_menu": {}, "toc": { "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 6, "toc_cell": false, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }