-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adds maximum loglikelihood estimation note and other notes
- Loading branch information
Showing
10 changed files
with
2,866 additions
and
5 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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": "iVBORw0KGgoAAAANSUhEUgAAAewAAAJPCAYAAAC+Sue9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHBlJREFUeJzt3W2MpWd93/Hff7FApklx7TQusjHjuLiUkMpbRY7RSGHS\nkAZ7K5xKVokTKS0vKguBgkRlpWWR2EidqNVIjesSRF3TCKMiikjDQwcUUsgBsVWdCHaLAyY27pg4\nLliNzGG7GEUO+++LHW9n1zPeMXO8Zy6fz0ca+Txcc1+Xjsb73fth7q3uDgCwvx2Y9wIAgPMTbAAY\ngGADwAAEGwAGINgAMADBBoABzCzYVXWgqr5UVR/f4f07q+rBqjpeVdfNal4AWASz3MN+W5KvbvdG\nVd2Y5JrufkWS25K8d4bzAsDz3kyCXVVXJrkpyd07DLk5yT1J0t33JnlJVV0+i7kBYBHMag/7N5Pc\nnmSn26ZdkeSRLc8f3XwNANiFPQe7qg4leay7jyepzS8AYIYumsE2lpO8oapuSnJxkh+uqnu6+1e2\njHk0ycu2PL9y87WnqSo3NwdgoXT3eXd297yH3d3v6O6ruvvHkvxiks+eE+sk+XiSX0mSqrohybS7\nH3uGbfo6z9e73vWuua9hhC+fk8/K5+Sz2u9fuzWLPextVdVtp9vbd3X3J6vqpqr6epLvJnnTczUv\nADwfzTTY3f25JJ/bfPzvz3nvrbOcCwAWiTudDWplZWXeSxiCz2n3fFa743PaPZ/VbNWzOX5+IVRV\n77c1AcBzparSF+KiMwDguSfYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADB\nBuCCWV9fz3Q6Peu16XSa9fX1Oa1oHIINwAWzvLycw4cPn4n2dDrN4cOHs7y8POeV7X/+8Q8ALqin\nIn377bdnbW0tq6urueSSS+a9rLnZ7T/+IdgAXHAPP/xwrr766mxsbGRpaWney5kr/1oXAPvSdDrN\n2tpaNjY2sra29rRz2mxPsAG4YJ46HL66upqlpaWsrq6edU6bnTkkDsAFs76+nuXl5bPOWU+n0xw9\nejSHDh2a48rmxzlsABiAc9gA8Dwi2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABiDY\nADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0AAxBs\nABiAYAPAAAQbAAYg2AAwAMEGgAEINgD7xvr6eqbT6VmvTafTrK+vz2lF+4dgA7BvLC8v5/Dhw2ei\nPZ1Oc/jw4SwvL895ZfNX3T3vNZylqnq/rQmAC+epSN9+++1ZW1vL6upqLrnkknkv6zlTVenuOu+4\n/RZHwQbg4YcfztVXX52NjY0sLS3NeznPqd0G2yFxAPaV6XSatbW1bGxsZG1t7WnntBeVYAOwbzx1\nOHx1dTVLS0tZXV0965z2ItvzIfGqelGSzyd54ebXx7r7HeeMeW2SjyX5X5sv/Zfu/pc7bM8hcYAF\ntb6+nuXl5bPOWU+n0xw9ejSHDh2a48qeOxf0HHZVvbi7n6iqFyQ5muSfdffRLe+/dvO1N+xiW4IN\nwMK4oOewu/uJzYcv2tzmt7db0yzmAoBFNJNgV9WBqjqW5FtJJt391W2GvaaqjlfVelW9ahbzAsCi\nmNUe9qnuPpjkyiQ/vXkIfKsvJrmqu69L8u4kH53FvACwKC6a5ca6+0RVrSf5ySSf2/L6yS2PP1VV\n76mqS7v78e22c+TIkTOPV1ZWsrKyMstlAsDcTCaTTCaTZ/19s7hK/EeSPNnd36mqi5P8XpJf7+7P\nbBlzeXc/tvn4+iQf7u6lHbbnojMAFsZuLzqbxR72S5O8v6oqpw+xf6C7P1NVtyXp7r4ryS1V9eYk\nTyb5XpI3zmBeAFgYbk0KAHPk1qQA8Dwi2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsA\nBiDYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0A\nAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABiDYADAAwQaA\nAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0AAxBsABiAYAPA\nAAQbAAYg2AAwAMEGgAEINgAMQLABYAB7DnZVvaiq7q2qY1X1lar6jR3G3VlVD1bV8aq6bq/zAsAi\nuWivG+juv6iqn+nuJ6rqBUmOVtVydx99akxV3Zjkmu5+RVX9VJL3Jrlhr3MDwKKYySHx7n5i8+GL\nNrf57XOG3Jzkns2x9yZ5SVVdPou5AWARzCTYVXWgqo4l+VaSSXd/9ZwhVyR5ZMvzRzdfAwB2YVZ7\n2Ke6+2CSK5P8dFW9dhbbBQBO2/M57K26+0RVrSf5ySSf2/LWo0letuX5lZuvbevIkSNnHq+srGRl\nZWWWywSAuZlMJplMJs/6+6q79zRxVf1Ikie7+ztVdXGS30vy6939mS1jbkrylu4+VFU3JLmju7e9\n6Kyqeq9rAoBRVFW6u843bhZ72C9N8v6qqpw+xP6B7v5MVd2WpLv7ru7+ZFXdVFVfT/LdJG+awbwA\nsDD2vIc9a/awAVgku93DdqczABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBg\nA8AABBsABiDYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECw\nAWAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLAB9oH19fVMp9OzXptOp1lfX5/Tithv\nBBtgH1heXs7hw4fPRHs6nebw4cNZXl6e88rYL6q7572Gs1RV77c1AVwIT0X69ttvz9raWlZXV3PJ\nJZfMe1k8x6oq3V3nHbff4ijYwCJ7+OGHc/XVV2djYyNLS0vzXg4XwG6D7ZA4wD4xnU6ztraWjY2N\nrK2tPe2cNotNsAH2gacOh6+urmZpaSmrq6tnndMGh8QB9oH19fUsLy+fdc56Op3m6NGjOXTo0BxX\nxnPNOWwAGIBz2ADwPCLYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoAB\nCDYADECwAWAAgg0AAxBsABjAnoNdVVdW1Wer6itVdV9V/eo2Y15bVdOq+tLm1zv3Oi8ALJKLZrCN\nv0zy9u4+XlU/lOSLVfXp7v7aOeM+391vmMF8ALBw9ryH3d3f6u7jm49PJrk/yRXbDK29zgUAi2qm\n57CrainJdUnu3ebt11TV8apar6pXzXJeAHi+m8Uh8STJ5uHwjyR52+ae9lZfTHJVdz9RVTcm+WiS\na2c1NwA8380k2FV1UU7H+gPd/bFz398a8O7+VFW9p6ou7e7Ht9vekSNHzjxeWVnJysrKLJYJAHM3\nmUwymUye9fdVd+958qq6J8mfd/fbd3j/8u5+bPPx9Uk+3N1LO4ztWawJAEZQVenu817ntec97Kpa\nTvLLSe6rqmNJOsk7krw8SXf3XUluqao3J3kyyfeSvHGv8wLAIpnJHvYs2cMGYJHsdg/bnc4AYACC\nDQADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADB\nBoABCDYADECwAWAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBg\nA8AABBsABiDYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECw\nAWAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABrDn\nYFfVlVX12ar6SlXdV1W/usO4O6vqwao6XlXX7XVeAFgkF81gG3+Z5O3dfbyqfijJF6vq0939tacG\nVNWNSa7p7ldU1U8leW+SG2YwNwAshD3vYXf3t7r7+Objk0nuT3LFOcNuTnLP5ph7k7ykqi7f69wA\nsChmeg67qpaSXJfk3nPeuiLJI1ueP5qnRx0A2MHMgr15OPwjSd62uacNAMzILM5hp6ouyulYf6C7\nP7bNkEeTvGzL8ys3X9vWkSNHzjxeWVnJysrKLJYJAHM3mUwymUye9fdVd+958qq6J8mfd/fbd3j/\npiRv6e5DVXVDkju6e9uLzqqqZ7EmABhBVaW767zj9hrHqlpO8vkk9yXpza93JHl5ku7uuzbHvTvJ\n65N8N8mbuvtLO2xPsAFYGBcs2LMm2AAskt0G253OAGAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEG\ngAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGAD\nwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLAB\nYACCDQADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgA\nMADBBoABCDYADECwAWAAgg0AAxBsABiAYAPAAAQbAAYwk2BX1fuq6rGq+vIO77+2qqZV9aXNr3fO\nYl4AWBQXzWg7v53k3yW55xnGfL673zCj+QBgocxkD7u7v5Dk2+cZVrOYCwAW0YU8h/2aqjpeVetV\n9aoLOC8ADG9Wh8TP54tJruruJ6rqxiQfTXLtBZobAIZ3QYLd3Se3PP5UVb2nqi7t7se3G3/kyJEz\nj1dWVrKysvKcrxEALoTJZJLJZPKsv6+6eyYLqKqlJJ/o7p/Y5r3Lu/uxzcfXJ/lwdy/tsJ2e1ZoA\nYL+rqnT3ea/zmskedlV9MMlKksuq6k+TvCvJC5N0d9+V5JaqenOSJ5N8L8kbZzEvACyKme1hz4o9\nbAAWyW73sN3pDAAGINgAMADBBoABCDYADECwAWAAgg0AAxBsABjAhbqX+NBOnTqVY8eOJUkOHjyY\nAwf8PQeAC8uNU87jvXfemS/ffXde99BDSZLJtdfm1jvuyOMnT+bQoUNzXh0Ao9vtjVME+xmcOnUq\nb73uurz7vvvOnDs4leSWyy7L3Q88kEsvvXSeywPgecCdzmbg2LFjed1DD531IR1I8ktPPJGNjY15\nLQuABSTYP4Cq8/5FCABmSrCfwcGDBzO59tqc2vLaqSSfueaaHDx4cF7LAmABCfYzOHDgQG69447c\nctll+cjFF+d3XvzivOXVr86JV74yJ06cmPfyAFggfq3rPB4/eTJ3P/DAmXPWv3XwYE6cOJGjR4+6\nShyAC8ZV4gAwR64SB4DnEcEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2\nAAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0AAxBsABiAYAPAAAQb\nAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2AAxAsAFgAIIN\nAAOYSbCr6n1V9VhVffkZxtxZVQ9W1fGqum4W8wLAopjVHvZvJ/n5nd6sqhuTXNPdr0hyW5L3zmhe\nAFgIMwl2d38hybefYcjNSe7ZHHtvkpdU1eWzmBsAFsGFOod9RZJHtjx/dPM1AGAXXHQGAAO46ALN\n82iSl215fuXma9s6cuTImccrKytZWVl5rtYFABfUZDLJZDJ51t9X3T2TBVTVUpJPdPdPbPPeTUne\n0t2HquqGJHd09w07bKdntSYA2O+qKt1d5xs3kz3sqvpgkpUkl1XVnyZ5V5IXJunuvqu7P1lVN1XV\n15N8N8mbZjEvACyKme1hz4o9bAAWyW73sF10BgADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2AAxA\nsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0AAxBsABiAYAPAAAQbAAYg\n2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2AAxAsAFgAIINAAMQ\nbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEI\nNgAMQLABYACCDQADEGwAGIBgA8AABBsABiDYADCAmQS7ql5fVV+rqgeq6te2ef+1VTWtqi9tfr1z\nFvMCwKK4aK8bqKoDSd6d5GeT/O8kf1RVH+vur50z9PPd/Ya9zgcAi2gWe9jXJ3mwu7/R3U8m+VCS\nm7cZVzOYCwAW0iyCfUWSR7Y8/7PN1871mqo6XlXrVfWqGcwLAAtjz4fEd+mLSa7q7ieq6sYkH01y\n7QWaGwCGN4tgP5rkqi3Pr9x87YzuPrnl8aeq6j1VdWl3P77dBo8cOXLm8crKSlZWVmawTACYv8lk\nkslk8qy/r7p7TxNX1QuS/ElOX3T2zSR/mOTW7r5/y5jLu/uxzcfXJ/lwdy/tsL3e65oAYBRVle4+\n73Vee97D7u7vV9Vbk3w6p8+Jv6+776+q206/3XcluaWq3pzkySTfS/LGvc4LAItkz3vYs2YPG4BF\nsts9bHc6A4ABCDYADECwAWAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQAD\nEGwAGIBgA8AABBsABiDYADAAwQaAAQg2/ADW19cznU7Pem06nWZ9fX1OKwKe7wQbfgDLy8s5fPjw\nmWhPp9McPnw4y8vLc14Z8HxV3T3vNZylqnq/rQm281Skb7/99qytrWV1dTWXXHLJvJcFDKaq0t11\n3nH7LY6CzUgefvjhXH311dnY2MjS0tK8lwMMaLfBdkgcfkDT6TRra2vZ2NjI2tra085pA8ySYMMP\n4KnD4aurq1laWsrq6upZ57QBZs0hcfgBrK+vZ3l5+axz1tPpNEePHs2hQ4fmuDJgNM5hA8AAnMMG\ngOcRwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0AAxBs\nABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsABiDYADAAwQaAAQg2\nAAxAsAFgADMJdlW9vqq+VlUPVNWv7TDmzqp6sKqOV9V1s5gXABbFnoNdVQeSvDvJzyf58SS3VtUr\nzxlzY5JruvsVSW5L8t69zgsAi2QWe9jXJ3mwu7/R3U8m+VCSm88Zc3OSe5Kku+9N8pKqunwGcwPA\nQphFsK9I8siW53+2+dozjXl0mzEAwA5cdAYAA7hoBtt4NMlVW55fufnauWNedp4xZxw5cuTM45WV\nlaysrOx1jQCwL0wmk0wmk2f9fdXde5q4ql6Q5E+S/GySbyb5wyS3dvf9W8bclOQt3X2oqm5Ickd3\n37DD9nqvawKAUVRVurvON27Pe9jd/f2qemuST+f0Ifb3dff9VXXb6bf7ru7+ZFXdVFVfT/LdJG/a\n67wAsEj2vIc9a/awAVgku93DdtEZAAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYA\nDECwAWAAgg0AAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AABBsA\nBiDYADAAwQaAAQg2AAxAsAFgAIINAAMQbAAYgGADwAAEGwAGINgAMADBBoABCDYADECwAWAAgg0A\nAxBsABiAYAPAAAQbAAYg2AAwAMEGgAEINgAMQLABYACCDQADEGwAGIBgA8AALpr3AlgMp06dyrFj\nx5IkBw8ezIED/q4I8GxUd897DWepqt5va2Jv3nvnnfny3XfndQ89lCSZXHttbr3jjjx+8mQOHTo0\n59UBzFdVpbvrvOP2WxwF+/nl1KlTeet11+Xd99135vzLqSS3XHZZ7n7ggVx66aXzXB7A3O022I5L\n8pw6duxYXvfQQ2f9oB1I8ktPPJGNjY15LQtgOILNXFSd9y+TAGwh2DynDh48mMm11+bUltdOJfnM\nNdfk4MGD81oWwHAEm+fUgQMHcusdd+SWyy7LRy6+OL/z4hfnLa9+dU688pU5ceLEvJcHMAy/1sVz\n7vGTJ3P3Aw+cOWf9WwcP5sSJEzl69KirxAF2aU9XiVfVX0vyn5O8PMnDSf5Rd39nm3EPJ/lOTh8N\nfbK7r3+GbbpKHICFcaGuEv/nSf5bd/+tJJ9N8i92GHcqyUp3H3ymWLN7k8lk3ksYgs9p93xWu+Nz\n2j2f1WztNdg3J3n/5uP3J/mFHcbVDOZiC/8j7I7Pafd8Vrvjc9o9n9Vs7TWiP9rdjyVJd38ryY/u\nMK6T/H5V/VFV/dM9zgkAC+e8F51V1e8nuXzrSzkd4HduM3ynk8/L3f3NqvrrOR3u+7v7C896tQCw\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": [ | ||
"<matplotlib.figure.Figure at 0x10e26d550>" | ||
] | ||
}, | ||
"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 | ||
} |
Oops, something went wrong.