{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Inference in Mixture of Gaussians Model \n", "\n", "Our purpose here is to look at various ways of doing inference in mixture of Gaussians models. We would like to understand how each method compares with others in terms of effectiveness and efficiency.\n", "\n", "Let us generate some data to test methods." ] }, { "cell_type": "code", "execution_count": 208, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import scipy.stats as stat\n", "\n", "seed = 123\n", "\n", "# generate data\n", "m1 = [0., 0.]\n", "m2 = [4., -4.]\n", "m3 = [-4., 4.]\n", "x1 = stat.multivariate_normal.rvs(m1, size=100, random_state=seed)\n", "x2 = stat.multivariate_normal.rvs(m2, size=100, random_state=seed)\n", "x3 = stat.multivariate_normal.rvs(m3, size=100, random_state=seed)\n", "x = np.vstack([x1, x2, x3])\n", "y = np.zeros(300, dtype=np.int8)\n", "y[100:200] = 1\n", "y[200:300] = 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gradient Ascent\n", "\n", "First, we apply gradient ascent." ] }, { "cell_type": "code", "execution_count": 209, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 209, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "plt.scatter(x[:, 0], x[:, 1], c=y)" ] }, { "cell_type": "code", "execution_count": 210, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def calc_grads(x, pk, m):\n", " nx = np.zeros((300, 3))\n", " for i in range(3):\n", " nx[:, i] = stat.multivariate_normal.pdf(x, mean=m[i], cov=1)\n", "\n", " pxk = nx*pk\n", " px = np.sum(pxk, axis=1)\n", " pk_x = pxk / px[:, np.newaxis]\n", "\n", " dpk = np.sum(nx / px[:, np.newaxis], axis=0) / x.shape[0]\n", " dm = np.zeros((3, 2))\n", " for i in range(3):\n", " dm[i] = np.sum(pk_x[:, i:(i+1)] * (x - m[i]), axis=0) / 2.\n", " \n", " return dpk, dm, pk_x" ] }, { "cell_type": "code", "execution_count": 211, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.33294643 0.33365479 0.33339879]\n", "[[-3.87222539 3.88031092]\n", " [ 4.12539766 -4.11834281]\n", " [ 0.12229863 -0.11471626]]\n", "Complete in 143 iterations\n" ] } ], "source": [ "# randomly initialize parameters\n", "pk = np.random.rand(3)\n", "pk /= np.sum(pk)\n", "\n", "m = np.zeros((3, 2))\n", "m[0, :] = x[np.random.randint(x.shape[0])]\n", "m[1, :] = x[np.random.randint(x.shape[0])]\n", "m[2, :] = x[np.random.randint(x.shape[0])]\n", "\n", "# gradient ascent\n", "lr = 1e-2\n", "\n", "i = 0\n", "while True:\n", " i = i + 1\n", " dpk, dm, pk_x = calc_grads(x, pk, m)\n", " m += lr * dm\n", " pk += lr * dpk\n", " pk /= np.sum(pk)\n", " if np.sum(np.square(dm)) < 1e-9:\n", " break\n", "\n", "print pk\n", "print m\n", "print \"Complete in {0:d} iterations\".format(i)" ] }, { "cell_type": "code", "execution_count": 212, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 212, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "yp = np.argmax(pk_x, axis=1)\n", "plt.scatter(x[:, 0], x[:, 1], c=yp)\n", "plt.scatter(m[:, 0], m[:, 1], s=50, c='red', marker='o')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Expectation Maximization\n", "\n", "As our second method, we look at expectation maximization." ] }, { "cell_type": "code", "execution_count": 222, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def e_step(x, pk, m):\n", " nx = np.zeros((300, 3))\n", " for i in range(3):\n", " nx[:, i] = stat.multivariate_normal.pdf(x, mean=m[i], cov=1)\n", "\n", " pxk = nx*pk\n", " px = np.sum(pxk, axis=1)\n", " pk_x = pxk / px[:, np.newaxis]\n", "\n", " return pk_x\n", "\n", "def m_step(x, pk_x):\n", " pk = np.sum(pk_x, axis=0) / np.sum(pk_x)\n", " m = np.zeros((3, 2))\n", " for i in range(3):\n", " m[i] = np.sum(pk_x[:, i:(i+1)] * x, axis=0) / np.sum(pk_x[:, i:(i+1)])\n", " return pk, m" ] }, { "cell_type": "code", "execution_count": 227, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.333326 0.33262147 0.33405253]\n", "[[ 0.12228373 -0.11469982]\n", " [-3.87222982 3.88031706]\n", " [ 4.12538546 -4.11833386]]\n", "Complete in 13 iterations\n" ] } ], "source": [ "# randomly initialize parameters\n", "pk = np.random.rand(3)\n", "pk /= np.sum(pk)\n", "\n", "m = np.zeros((3, 2))\n", "m[0, :] = x[np.random.randint(x.shape[0])]\n", "m[1, :] = x[np.random.randint(x.shape[0])]\n", "m[2, :] = x[np.random.randint(x.shape[0])]\n", "\n", "\n", "i = 0\n", "while True:\n", " i = i + 1\n", " old_m = m\n", " pk_x = e_step(x, pk, m)\n", " pk, m = m_step(x, pk_x)\n", " if np.sum(np.square(m - old_m)) < 1e-9:\n", " break\n", " \n", "print pk\n", "print m\n", "print \"Complete in {0:d} iterations\".format(i)" ] }, { "cell_type": "code", "execution_count": 228, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 228, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pk_x = e_step(x, pk, m)\n", "yp = np.argmax(pk_x, axis=1)\n", "plt.scatter(x[:, 0], x[:, 1], c=yp)\n", "plt.scatter(m[:, 0], m[:, 1], s=50, c='red', marker='o')" ] } ], "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.12" } }, "nbformat": 4, "nbformat_minor": 0 }