{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 机器学习练习 7 - K-means 和PCA(主成分分析)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "本章代码涵盖了基于Python的解决方案,用于Coursera机器学习课程的第六个编程练习。 请参考[练习文本](ex7.pdf)了解详细的说明和公式。\n", "\n", "代码修改并注释:黄海广,haiguang2000@qq.com" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "在本练习中,我们将实现K-means聚类,并使用它来压缩图像。 我们将从一个简单的2D数据集开始,以了解K-means是如何工作的,然后我们将其应用于图像压缩。 我们还将对主成分分析进行实验,并了解如何使用它来找到面部图像的低维表示。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## K-means 聚类" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我们将实施和应用K-means到一个简单的二维数据集,以获得一些直观的工作原理。 K-means是一个迭代的,无监督的聚类算法,将类似的实例组合成簇。 该算法通过猜测每个簇的初始聚类中心开始,然后重复将实例分配给最近的簇,并重新计算该簇的聚类中心。 我们要实现的第一部分是找到数据中每个实例最接近的聚类中心的函数。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sb\n", "from scipy.io import loadmat\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def find_closest_centroids(X, centroids):\n", " m = X.shape[0]\n", " k = centroids.shape[0]\n", " idx = np.zeros(m)\n", " \n", " for i in range(m):\n", " min_dist = 1000000\n", " for j in range(k):\n", " dist = np.sum((X[i,:] - centroids[j,:]) ** 2)\n", " if dist < min_dist:\n", " min_dist = dist\n", " idx[i] = j\n", " \n", " return idx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "让我们来测试这个函数,以确保它的工作正常。 我们将使用练习中提供的测试用例。" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([ 0., 2., 1.])" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = loadmat('data/ex7data2.mat')\n", "X = data['X']\n", "initial_centroids = initial_centroids = np.array([[3, 3], [6, 2], [8, 5]])\n", "\n", "idx = find_closest_centroids(X, initial_centroids)\n", "idx[0:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "输出与文本中的预期值匹配(记住我们的数组是从零开始索引的,而不是从一开始索引的,所以值比练习中的值低一个)。 接下来,我们需要一个函数来计算簇的聚类中心。 聚类中心只是当前分配给簇的所有样本的平均值。" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
X1X2
01.8420804.607572
15.6585834.799964
26.3525793.290854
32.9040174.612204
43.2319794.939894
\n", "
" ], "text/plain": [ " X1 X2\n", "0 1.842080 4.607572\n", "1 5.658583 4.799964\n", "2 6.352579 3.290854\n", "3 2.904017 4.612204\n", "4 3.231979 4.939894" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data2 = pd.DataFrame(data.get('X'), columns=['X1', 'X2'])\n", "data2.head()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n71w2MTGBu+66C7t27cKtt95a7+HUhe9+97vYv38/9u3bh/e///145JFHsHLlynoPyzOuvPJK/PKX\nvyhNOJsAAAH/SURBVISmabhw4QLm5+fR3d1d72F5SiwWw7JlywAAXV1dkGXZbJzlFW0R5lXSuawV\nefbZZ5FIJPD000/j6aefBgB861vfasvFo3bluuuuw29+8xvceuut0DQNe/bsabtc/p/92Z9h9+7d\n+PSnPw1JkvDFL34RkUjE0zGwlwIhhHhEW6QUCCGkEaDgEkKIR1BwCSHEIyi4hBDiERRcQgjxCAou\naTleeeUVXHPNNZicnDSP/fM//zP+6q/+yvz+iSeewJNPPlmP4ZE2hoJLWo4/+IM/wA033ICvfvWr\nAPRil+9///v4+7//e8zOzmL37t349re/XedRknaEPlzSkmSzWezYsQOf/OQnsX//fjzyyCP40Ic+\nhB//+McYHx9HKpWCz+ezRb2EuE1bVJqR9iMYDOLrX/86brrpJvzFX/wFPvShDwEAPvGJTwAA0wmk\nLjClQFqWo0ePYvny5Xj55Zchy3K9h0MIBZe0Ju+88w6efPJJPPfccwgGg3jmmWfqPSRCKLik9chk\nMvjiF7+IXbt24ZJLLsHDDz+M/fv347XXXqv30EibQ8ElLcdDDz2EjRs34qabbgIArFq1Cl/5ylew\na9cuW19kQryGLgVCCPEIRriEEOIRFFxCCPEICi4hhHgEBZcQQjyCgksIIR5BwSWEEI+g4BJCiEdQ\ncAkhxCP+P2L2y38M5H+9AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sb.set(context=\"notebook\", style=\"white\")\n", "sb.lmplot('X1', 'X2', data=data2, fit_reg=False)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def compute_centroids(X, idx, k):\n", " m, n = X.shape\n", " centroids = np.zeros((k, n))\n", " \n", " for i in range(k):\n", " indices = np.where(idx == i)\n", " centroids[i,:] = (np.sum(X[indices,:], axis=1) / len(indices[0])).ravel()\n", " \n", " return centroids" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 2.42830111, 3.15792418],\n", " [ 5.81350331, 2.63365645],\n", " [ 7.11938687, 3.6166844 ]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "compute_centroids(X, idx, 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "此输出也符合练习中的预期值。 \n", "下一部分涉及实际运行该算法的一些迭代次数和可视化结果。 \n", "这个步骤是由于并不复杂,我将从头开始构建它。 为了运行算法,我们只需要在将样本分配给最近的簇并重新计算簇的聚类中心。" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def run_k_means(X, initial_centroids, max_iters):\n", " m, n = X.shape\n", " k = initial_centroids.shape[0]\n", " idx = np.zeros(m)\n", " centroids = initial_centroids\n", " \n", " for i in range(max_iters):\n", " idx = find_closest_centroids(X, centroids)\n", " centroids = compute_centroids(X, idx, k)\n", " \n", " return idx, centroids" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "idx, centroids = run_k_means(X, initial_centroids, 10)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nCJT/B+Vrokit1HwWAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cluster1 = X[np.where(idx == 0)[0],:]\n", "cluster2 = X[np.where(idx == 1)[0],:]\n", "cluster3 = X[np.where(idx == 2)[0],:]\n", "\n", "fig, ax = plt.subplots(figsize=(12,8))\n", "ax.scatter(cluster1[:,0], cluster1[:,1], s=30, color='r', label='Cluster 1')\n", "ax.scatter(cluster2[:,0], cluster2[:,1], s=30, color='g', label='Cluster 2')\n", "ax.scatter(cluster3[:,0], cluster3[:,1], s=30, color='b', label='Cluster 3')\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我们跳过的一个步骤是初始化聚类中心的过程。 这可以影响算法的收敛。 我们的任务是创建一个选择随机样本并将其用作初始聚类中心的函数。" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def init_centroids(X, k):\n", " m, n = X.shape\n", " centroids = np.zeros((k, n))\n", " idx = np.random.randint(0, m, k)\n", " \n", " for i in range(k):\n", " centroids[i,:] = X[idx[i],:]\n", " \n", " return centroids" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 6.03762833, 2.68303512],\n", " [ 1.96547974, 1.2173076 ],\n", " [ 3.16109021, 1.29422893]])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "init_centroids(X, 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我们的下一个任务是将K-means应用于图像压缩。 从下面的演示可以看到,我们可以使用聚类来找到最具代表性的少数颜色,并使用聚类分配将原始的24位颜色映射到较低维的颜色空间。 \n", "\n", "下面是我们要压缩的图像。" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n5qbsym6/6T/1pLXfj55W/abfbga5ONq//3j9r3/hw2b+7Nx06J6drJ6/vPrmVa9++9T/8Lu3tddm\nKe/efBi34/rx6ejsKvvT/noj83nHzACLyDT7ZxLAidjdgwiNRIRryAQzfAaHpx44Jw62ad8kmEpo\nrRY6xX2Q5C4nBhCc8+S5gZsHc+MId26TuDEzCXKQOhECBpiYRCA4UQIskweZI3IIJzaPTGG5EQxR\nJSJlxFh3T3v75W/rzZsdqF8uBhTbPZXdtjw9XW+210+7p/u9Pq5p/dg9PIgzdyevZt2FrU62nz7u\ntr9rTxanL5/l7ujo+GR/uHNkHaxNirD+Zj/8cPu43vNpR1x3m950PtiYTrt2sbz5m99td9tdNMuL\nq916Z/eHxXy+eHV22O4+3d/3jjmlzcP649sPm/cfl13LR/T+ze3Fiwsad9LN2glfE4aBmIJo0mR5\nBLsFyJjgblP/XoSypAiLiAyJIGYOZ2JTs8EszOHIiVNOxORuYRZVVdU8GOxgGBFMhAkgZAulgHIw\nOZMwGxOEQCQjMNlmE2dwBknmqJzdM8cQ8HBThCUxHT3IR333WK7fHjrGYsbr+/H+fvewu3982j9t\nytNt3N4ND0/Z8ioLJSzX9fDw8fuHu/dj1cXJFdfUNV2FHnaHYX8g2Mnll/PVl9vvHva3D6q6WRzl\n08X+eh+l721fhySLbnW68kOkpls+u+K2G/Pi6Wl9/+n9u1/+bns3InXzi+OmkRJl2TQnL5/Nzs5/\n8c/+6sXlxfxsntwiUiWIEzVEGgASEwW7ogQ7IkWxiPjMVRK5awSEokI/S7USyARwJiYOFgailBoI\nJhDIKDLCHaMrhYOTExucScy1YRSv5BOXTo7E7kYQsszJCeZIlFKWKKUfhFswvI6UE82a46Kgskfm\nYmrBCycd4+k+3dzyw/XdZndf2UukEk055N31wam0VZ307vFXYyO37z/Yw769PO2un/iqs83t4eZj\ne7xaHB93aN5+/2+SZmzc0FQqXbGHm33pmiDL9WgYN8d2+fLi9OTnP97udu1q5YO+fzw87Kh/96iH\noTlLMQ7j00PX5hgrHx09rXfdOLYm60+788vzJCkFk4BS0BTpyUHgYGKJFizuWryGgdgdTOTwIBEK\n8oCGZQpQAnuSliKYiECqKsndLDxAlAJBQjx5MIWYEwnRpEI0VU5C08uUw9VYSSQIDDDaEEvu7lEc\n4iEUVqJpyMKLBp7afLbIS0UPrq9W/M2P5PUXS8n1t7/+7WEciudCDD4aNqi7TV96qVb7x3F8Up1v\nD4fhZs/tnMf+ace0Wp13rWSqh8Hm57P5F+08jZut0sM4PHVnz5evLvG42a3HdSy8lPb4OM1k8ZPL\nJjVXpxcG3W8P61/+ur/fllpw3KSTRbtsv/uX/4bcckPNWZWcv3j1+vFHF2fnq9AxISg7GbuyIChx\nCgQjErF9JsQiHISAf/7HJCFzC08sBPLqBoSRdUxg0jARauctItVaTYuZIswQEkyEYBATwimYKRFU\niZXHlpoEBMyVJYPgAvjErUTrQUQhknIlY5UKEVC0TlHsITA7ma9O5vSHf1q+vGr7fdl8uEuSTKSa\nOprd9nBYb33cWg3wwXrZFTw97nTwpps1WXwTIqj9OM7ncvw8QdDMDmpW3Es1d03t0etXSohhz6z7\n7d2yO0qrVebm5t3Dq1eXT3d3p5dXH28fmgTdD8UQFXOzzePDUPZlu22FyvXvyBfHJ6uf/jvfni47\nKXvpZjPiEAE+F277tO6yUJLWqtXfC5KFJ/ssBT4/yeB/+wNhdg8Pm+6PyektbUpT5Zgbg4gAJuIU\nJC0LkyiCyRhBQSINuakSESUiZwARMJAzQqEcoEiIcI8gJXCQs0RI6uCS8+VKSkbtcdjukZsqzWGk\nfqTN5rC/eSqbNUg4e82rm4e4fxp321nbuflEmGdlE7fUCjuN+9rvHnf39/NuNqN2/f6uGOF42Wvt\nspQPTwXkViQlL8atmNvtu5v94157XaxO62DD+nB0fpqX8v7vfrW5eSShtltoLRb9uNOLr152rYTM\nZLbohDMEkODpaBBumCmnENFaXCt9dq5SMDCBEeQEIp6om4mwBJFPQ1IEVdcIF+ZWGpE0lWeBOE38\negRhEu+4eSRGBJOHwYPAHBoWFB5wc1gEmAGoKwJUyF2Jp2EVFMmSSDTzspjLrkc59NGQo61DLT1v\nHmz7cL/oFucvX169/OLi1bd29NWHm379sG7JFUCIOh0frVZHx8ojgfL8jJq0O/Trx+Gwr8uTq/F+\noNlSFgklfs+zxmiVutbCXnzzxf72IHPGwVhIJM9PZ32/I0mb/ebp7pZZ2mbBmQbdMZr9dn355cvZ\nYn57v5PZYtGklpiTJJYs3BK1ImmqPoS6m09ebI8QSTzZmJxZQJCI8IiJxwTJVFphCIYwWD2UwY2I\nZIDhHgALEdjglY2cgCAiBCeRGp8TTFmCiZLknIQ5T+QGOHXIIiSUORInTx6AhBWlYK/7QUcL1dAh\nHw7YHFwtL+ft19/86Of/8C9//g/+vaNXX1Xq1uvh/cc3D4/bRiRASlHCd4cijSyP5+RJ0pw7psjb\nwYrZ6fKsXD+kNjm3VnvSunx27EH7mOeWt2OxcTi5PEVgcXoms+bp4THlZn60isD92+ugtFjOQ7wf\nNv2AcSzdrJG0ePHq2S/+xW9SThkcLDmTBPs08zkIYVZrnRQEQUwECZo8hggBB4LIIyDMPm224Uog\nDycwHAEKaAHACcHEBUQgN4Cm4GSLkCCDs4i7CwenJOBo24ZSmwjE5pBJWggmt2CLkSyRoWpxBkeb\nSU12e6befDdm5pVESs3RfPHtT5/92Z9/8/yrZ5FyGUodtdhYvWqtwpSSupCrBEGdPn64L4fZxemC\nTT3OW+LjkxOzEofNfDWfXZ5V5zbT7Kh53O6vDzvPx9u7T6Z4qNuTy4vV6rTouH9Yj7t+2NWYZS2D\nqMNs7FUtUHPHnI9mgyKqV1Ufa2JihwuxUWBizFmIydXqqG4+IUCOEGJ3nQSKSpFABGFySgyEqCib\nE5PT58vTnEkY7lqCWbVEKEjgxOxwDuKAxuTUZhKEcOYsliwIYTqaE7tFTUFOkZmNJIgMSOKGnAWC\n5Ek7sFMkl3AO0Mb9lOLq8ujbP/7m7MWVVdg4BmKEIqq7STQCYoaEiXTBlUMEzbCzR6wdp8vL5fmz\n432/OTzU3e7p6OSVIlPZ1m62uenvbtabT7u02OSmS7VHltub99S0VOvTZm06DutxD1+ulq9+8uLj\nxw8f3r1nmi9WswhqV215ejw6mc1mi2HcJsCAhChVIwPE5EyhrmN19cBE2QooKIKDfTINEwUgBOdE\nRJIiUfIArBLTlGwcgE+3a5CQ1Jhs8+rB+KxCIhAl5pQJzE4SEu4ag43kTJZYPBhBLCQSCVmSjJA5\nwrm20rp5E7k6BdVA48EcLIGRIrpYXa3aRefq7u42SWvcEEzKHQXnojrjRI3COxJaNXCVUOiur+M2\n8kWutjjqDpvRHh6OznM3X+63+9tfXdewxby931yvFlfMbMXvf/iwX4/Hpxeq+vjxneroaVXni9nr\ns/PQ0SKaZtal/WY89Nuv/+jHX/70a6/74WmT3D1JkBM7KCWnMDXU6qYTOBQxzUdAUJKkgMdUjM7F\nR3DTROIIbpg9Rxg5BZFCEwFgp5AwUwoHAkIICkMIE7kDRBAKmYBY8iCIIIWQUNC0o0dUBBtFuIOd\nzSm8sGYXaYtTy2BqwsWiBOmgxByLLjezPNTSD2NiqFV3sRoWiSQgQpndmiGqhzY8W6RILQbWsDQK\nHp/uV5uL08W8UtkPOeqwO+ytOQFyID88bI6P6+VXr7Vn9zo83qOX/d37p7On5arlnKKOLD4cNvcP\nmdvVPO967evI1NLJ6tny5Ly3WN/9rpZDmsYYJc8pG6BV3arZRMEQPKZDH8HMMAJxuLqIMLk5EK6h\njecgzokRiooalaa5FswCEUgiDmROFFGKUkRMTHMEf5bxIyEhFFCAxBkT+xnTzBVBriCYMKiQErHa\nzEUtSTbWJJlZpIMNzCo5uq7hlM3qoH0n2cMsItTbaCXNQHnwyBRq3NQGjSEReabkTDxPs0ztZnO7\nmr0gkhqH1clZ0xyXnlnTF9/+6PCvbb3Z0mxMRyt93IZlmmcx8sPBF3l5chFjcuNxu3/8oV9cPUdO\nh4dNbTtXtY5mP5nBDn/zr37DZmka6lNIMLQUrYUIEc4ghHnAAZnU3tPja5GlJQogsVC4JhZzdXCT\nokmd+iieIyozmACkICI0mcm4mjpIEkNBFDSp8CgMVRqqlQIUhFAndzQsDHIEu08ypULOQtOvAQcL\nkeAtJfLoRJRmmXOT0UgHmg+j7w5DTk7ZHADVWuFVYU0AFjKqd6HBHdWB2zYxOmkRzWx59PLVS6XR\nQ7LMHJu7w/5ck40+W556S4vjztzXH+6WsyNuZBRrPbhtmJuq9eik85bLemdc+rGqeptbSKM66mCk\n24A01dc3D3ropVstEqTCyqAws5iS+QjEEcETPUnCJAR4KHN2YmIkGALCBGeiYGLPkhIzNYJEwszC\nADFNcBA5OcKrGkViFiZzApODhby6M3ng87bmTkIJRGZmNHn4OZjCmIMn9wwFBxjxeUhQeIRy5URt\nSgsjDSnSRE4OcytBRYd+PJTh6bD/8PHdfj305kAsMqQBcayOFueLM7RG2Y9OzhdHR1odIBpNzVKY\nr3f56IyzNxb7ccfIg9b58oiJCiL6gSiN93sNz4t5/7QJ9FpHHtu9Duen89XRkSR1ibPnq+3Dp8P3\n17JYymy58AgrBeEATRKR6a/iSbXuBCamNIEIDhJwoFKa+g/ZJoSaFMxdYmPOGTmxEiHg1YgFSE7m\n6pQDGa4UcCbzQBZogJGCyJkkEEaIyFNnHxyIFKLwgAUsIuyzeU+mUBiLIu4mDIVBzbVidB/qbmCx\n5VySe5Sh9NqPdhgPw+Fwf/Nw/3ggQ2EXwKMeJxHR5niel8cBJKKWabN5LNhrPZhry01Th2FAez63\nqh3n9kRC+PjF1fbddQw7t1GaxC2OLk8e7568Dt57rYM21QadLVY20stvXiXGanny9vtP90/rcRyl\n63IYmAgUFZMUnEBM5DHZ55mZiIMSh7ELM+DMEGoYJGAQBQUIIokop88XLYWlcJhbBIKK2mhhZEpg\nuDgpowkYIBUmQe6egj5vIhJKEQhiC4IjmEODgpOQw5lZnKqRSkApS6gSalhyN3JXNVNzaK1tU+eS\ndfSDat/bcBh2/fbm6XG7LXBGjAdLbc5VDZDjxdGCQSxOZljXYa9B7hZVW2Fwrdu7gTvPzeJoFZta\ndppS6sfeldjbnBMz5cXs9oc3iZSqaw2fbrvZ6vruI43pxYuXq7PTX/2Lv9rtey2jtF3HQgi3CAYI\npIFJJigiRPLZHcACgnMEyCWl1GaOYuZE2VNlZAk4VQd9zg9QsGk1jzpdIDmzcKNOiRoLIxhTAhGF\nZckAM0MjnAhJEAnuTBGROVhIIkTAAq9T/BClgHoQG4MYUAtPTizs4RYCJw+vI5N30ukYqrX24+7Q\nj/v+6X6z3TyZhmVvnb26N5LLGHXwebOysj2MFW6HcTPUGp4zLZt2vpDU7Pf9ekjnl77TGVPbpkxx\n/vxFx9VoP5hRUMPSDetkXBA7NOp09dXrgD/efnj9xVfnX149bh6//+tf9nbwrpFZN0Ow0PRdUwAp\nJbhNzvigKVJR0mcBLzfSSIOmlXAnRKLkQsKTQSUTkJnNOZDFXK2EI3NOSTJnN69V3X0aOhMDhIR2\nNM0MhBNxkJO7EBEREzMigpwgEA9HTJnsAiUmgILI2QSgTAKAw7NnQCMA0sRhpA2jYY2q1mOsw7oc\n1o9lsx/zZKZRTxQc0jA2w1AP5fzouE1pb4/CqeEVELnJo8V+f9OGxHZ43NnR1XHV8ez1sy6oPT1a\nLZfzswtRmm22TcfLs5OU1Ie7RSPnV18phqe7jy+vXp/++NV6vfnul3/Tf3oaQ/ZO0i4Wiad8MQsw\nRUyBZURiAQ8HIxhMSVichdkJmMIjUubgSDInd1GyMHVN4U2CWg0PZnJ299GnODpCBIIsiHnCVSES\nCUzgCPcgZ/osTyJSm+TCQQaOcOIgEkRxIMgiqRsIqF44E4cLgYk9NIlEiDuRMFHqMkeM2zpsbLcf\nymMf6+0WB9NC7Eu0FQAAAGlJREFU5qZiZKKBA8ZZ0K7apvTdab44+vL07KumzaWndjZnhfc9FZ1J\n2u4/7GJ1dHSmNsBi0Wa6XA7Xu9XJ/PT5i5Ovv+oL5qvLk+evupPzIG+adHp+vLxsrh+ub37z5un+\nbm02aJQo/z+Yw/IkyVx2YQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image(filename='data/bird_small.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The raw pixel data has been pre-loaded for us so let's pull it in." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'A': array([[[219, 180, 103],\n", " [230, 185, 116],\n", " [226, 186, 110],\n", " ..., \n", " [ 14, 15, 13],\n", " [ 13, 15, 12],\n", " [ 12, 14, 12]],\n", " \n", " [[230, 193, 119],\n", " [224, 192, 120],\n", " [226, 192, 124],\n", " ..., \n", " [ 16, 16, 13],\n", " [ 14, 15, 10],\n", " [ 11, 14, 9]],\n", " \n", " [[228, 191, 123],\n", " [228, 191, 121],\n", " [220, 185, 118],\n", " ..., \n", " [ 14, 16, 13],\n", " [ 13, 13, 11],\n", " [ 11, 15, 10]],\n", " \n", " ..., \n", " [[ 15, 18, 16],\n", " [ 18, 21, 18],\n", " [ 18, 19, 16],\n", " ..., \n", " [ 81, 45, 45],\n", " [ 70, 43, 35],\n", " [ 72, 51, 43]],\n", " \n", " [[ 16, 17, 17],\n", " [ 17, 18, 19],\n", " [ 20, 19, 20],\n", " ..., \n", " [ 80, 38, 40],\n", " [ 68, 39, 40],\n", " [ 59, 43, 42]],\n", " \n", " [[ 15, 19, 19],\n", " [ 20, 20, 18],\n", " [ 18, 19, 17],\n", " ..., \n", " [ 65, 43, 39],\n", " [ 58, 37, 38],\n", " [ 52, 39, 34]]], dtype=uint8),\n", " '__globals__': [],\n", " '__header__': b'MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Tue Jun 5 04:06:24 2012',\n", " '__version__': '1.0'}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "image_data = loadmat('data/bird_small.mat')\n", "image_data" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(128, 128, 3)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = image_data['A']\n", "A.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "现在我们需要对数据应用一些预处理,并将其提供给K-means算法。" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(16384, 3)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# normalize value ranges\n", "A = A / 255.\n", "\n", "# reshape the array\n", "X = np.reshape(A, (A.shape[0] * A.shape[1], A.shape[2]))\n", "X.shape" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(16384, 3)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# randomly initialize the centroids\n", "initial_centroids = init_centroids(X, 16)\n", "\n", "# run the algorithm\n", "idx, centroids = run_k_means(X, initial_centroids, 10)\n", "\n", "# get the closest centroids one last time\n", "idx = find_closest_centroids(X, centroids)\n", "\n", "# map each pixel to the centroid value\n", "X_recovered = centroids[idx.astype(int),:]\n", "X_recovered.shape" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(128, 128, 3)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# reshape to the original dimensions\n", "X_recovered = np.reshape(X_recovered, (A.shape[0], A.shape[1], A.shape[2]))\n", "X_recovered.shape" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(X_recovered)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "您可以看到我们对图像进行了压缩,但图像的主要特征仍然存在。 这就是K-means。 下面我们来用scikit-learn来实现K-means。" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from skimage import io\n", "\n", "# cast to float, you need to do this otherwise the color would be weird after clustring\n", "pic = io.imread('data/bird_small.png') / 255.\n", "io.imshow(pic)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(128, 128, 3)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pic.shape" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# serialize data\n", "data = pic.reshape(128*128, 3)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(16384, 3)" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.shape" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.cluster import KMeans#导入kmeans库\n", "\n", "model = KMeans(n_clusters=16, n_init=100, n_jobs=-1)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,\n", " n_clusters=16, n_init=100, n_jobs=-1, precompute_distances='auto',\n", " random_state=None, tol=0.0001, verbose=0)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.fit(data)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(16, 3)\n", "(16384,)\n" ] } ], "source": [ "centroids = model.cluster_centers_\n", "print(centroids.shape)\n", "\n", "C = model.predict(data)\n", "print(C.shape)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(16384, 3)" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "centroids[C].shape" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": true }, "outputs": [], "source": [ "compressed_pic = centroids[C].reshape((128,128,3))" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2)\n", "ax[0].imshow(pic)\n", "ax[1].imshow(compressed_pic)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Principal component analysis(主成分分析)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "PCA是在数据集中找到“主成分”或最大方差方向的线性变换。 它可以用于降维。 在本练习中,我们首先负责实现PCA并将其应用于一个简单的二维数据集,以了解它是如何工作的。 我们从加载和可视化数据集开始。" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'X': array([[ 3.38156267, 3.38911268],\n", " [ 4.52787538, 5.8541781 ],\n", " [ 2.65568187, 4.41199472],\n", " [ 2.76523467, 3.71541365],\n", " [ 2.84656011, 4.17550645],\n", " [ 3.89067196, 6.48838087],\n", " [ 3.47580524, 3.63284876],\n", " [ 5.91129845, 6.68076853],\n", " [ 3.92889397, 5.09844661],\n", " [ 4.56183537, 5.62329929],\n", " [ 4.57407171, 5.39765069],\n", " [ 4.37173356, 5.46116549],\n", " [ 4.19169388, 4.95469359],\n", " [ 5.24408518, 4.66148767],\n", " [ 2.8358402 , 3.76801716],\n", " [ 5.63526969, 6.31211438],\n", " [ 4.68632968, 5.6652411 ],\n", " [ 2.85051337, 4.62645627],\n", " [ 5.1101573 , 7.36319662],\n", " [ 5.18256377, 4.64650909],\n", " [ 5.70732809, 6.68103995],\n", " [ 3.57968458, 4.80278074],\n", " [ 5.63937773, 6.12043594],\n", " [ 4.26346851, 4.68942896],\n", " [ 2.53651693, 3.88449078],\n", " [ 3.22382902, 4.94255585],\n", " [ 4.92948801, 5.95501971],\n", " [ 5.79295774, 5.10839305],\n", " [ 2.81684824, 4.81895769],\n", " [ 3.88882414, 5.10036564],\n", " [ 3.34323419, 5.89301345],\n", " [ 5.87973414, 5.52141664],\n", " [ 3.10391912, 3.85710242],\n", " [ 5.33150572, 4.68074235],\n", " [ 3.37542687, 4.56537852],\n", " [ 4.77667888, 6.25435039],\n", " [ 2.6757463 , 3.73096988],\n", " [ 5.50027665, 5.67948113],\n", " [ 1.79709714, 3.24753885],\n", " [ 4.3225147 , 5.11110472],\n", " [ 4.42100445, 6.02563978],\n", " [ 3.17929886, 4.43686032],\n", " [ 3.03354125, 3.97879278],\n", " [ 4.6093482 , 5.879792 ],\n", " [ 2.96378859, 3.30024835],\n", " [ 3.97176248, 5.40773735],\n", " [ 1.18023321, 2.87869409],\n", " [ 1.91895045, 5.07107848],\n", " [ 3.95524687, 4.5053271 ],\n", " [ 5.11795499, 6.08507386]]),\n", " '__globals__': [],\n", " '__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Mon Nov 14 22:41:44 2011',\n", " '__version__': '1.0'}" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = loadmat('data/ex7data1.mat')\n", "data" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = data['X']\n", "\n", "fig, ax = plt.subplots(figsize=(12,8))\n", "ax.scatter(X[:, 0], X[:, 1])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "PCA的算法相当简单。 在确保数据被归一化之后,输出仅仅是原始数据的协方差矩阵的奇异值分解。" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def pca(X):\n", " # normalize the features\n", " X = (X - X.mean()) / X.std()\n", " \n", " # compute the covariance matrix\n", " X = np.matrix(X)\n", " cov = (X.T * X) / X.shape[0]\n", " \n", " # perform SVD\n", " U, S, V = np.linalg.svd(cov)\n", " \n", " return U, S, V" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(matrix([[-0.01640988, -0.04222849, -0.0421747 , ..., 0.00078787,\n", " 0.00059301, 0.00069988],\n", " [-0.01692408, -0.04109658, -0.04413594, ..., -0.0014743 ,\n", " -0.00159743, -0.00183183],\n", " [-0.01714767, -0.03963341, -0.04577663, ..., 0.00796443,\n", " 0.00053733, 0.00152458],\n", " ..., \n", " [-0.0085838 , -0.05826306, 0.04851035, ..., -0.00294466,\n", " 0.00394326, 0.00497121],\n", " [-0.00680308, -0.06081527, 0.04664601, ..., 0.00038729,\n", " -0.00186067, -0.00185365],\n", " [-0.005765 , -0.06173977, 0.04483153, ..., 0.00228049,\n", " 0.00058499, 0.00071138]]),\n", " array([ 2.62189504e+02, 1.86275072e+02, 1.17780320e+02, ...,\n", " 1.76409446e-04, 1.66475262e-04, 1.60785895e-04]),\n", " matrix([[-0.01640988, -0.01692408, -0.01714767, ..., -0.0085838 ,\n", " -0.00680308, -0.005765 ],\n", " [-0.04222849, -0.04109658, -0.03963341, ..., -0.05826306,\n", " -0.06081527, -0.06173977],\n", " [-0.0421747 , -0.04413594, -0.04577663, ..., 0.04851035,\n", " 0.04664601, 0.04483153],\n", " ..., \n", " [ 0.00078787, -0.0014743 , 0.00796443, ..., -0.00294466,\n", " 0.00038729, 0.00228049],\n", " [ 0.00059301, -0.00159743, 0.00053733, ..., 0.00394326,\n", " -0.00186067, 0.00058499],\n", " [ 0.00069988, -0.00183183, 0.00152458, ..., 0.00497121,\n", " -0.00185365, 0.00071138]]))" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "U, S, V = pca(X)\n", "U, S, V" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "现在我们有主成分(矩阵U),我们可以用这些来将原始数据投影到一个较低维的空间中。 对于这个任务,我们将实现一个计算投影并且仅选择顶部K个分量的函数,有效地减少了维数。" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def project_data(X, U, k):\n", " U_reduced = U[:,:k]\n", " return np.dot(X, U_reduced)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "matrix([[ 526.09608833],\n", " [ 304.5906028 ],\n", " [ -389.99893833],\n", " ..., \n", " [ 487.55926046],\n", " [ 1358.99575656],\n", " [ 372.01599145]])" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Z = project_data(X, U, 1)\n", "Z" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我们也可以通过反向转换步骤来恢复原始数据。" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def recover_data(Z, U, k):\n", " U_reduced = U[:,:k]\n", " return np.dot(Z, U_reduced.T)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "matrix([[ -8.6331713 , -8.903694 , -9.02132266, ..., -4.51590133,\n", " -3.57907304, -3.0329432 ],\n", " [ -4.99829386, -5.15491672, -5.22301946, ..., -2.6145435 ,\n", " -2.07215381, -1.75596439],\n", " [ 6.39983401, 6.6003745 , 6.6875735 , ..., 3.3476712 ,\n", " 2.65319343, 2.24834333],\n", " ..., \n", " [ -8.00078675, -8.25149351, -8.36050581, ..., -4.18510907,\n", " -3.31690397, -2.81077844],\n", " [-22.30095114, -22.99975732, -23.30361218, ..., -11.66534191,\n", " -9.24535495, -7.83460861],\n", " [ -6.10473609, -6.29602961, -6.37920784, ..., -3.19330926,\n", " -2.53085403, -2.14467166]])" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_recovered = recover_data(Z, U, 1)\n", "X_recovered" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nUXmtEfUAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(12,8))\n", "ax.scatter(list(X_recovered[:, 0]), list(X_recovered[:, 1]))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "请注意,第一主成分的投影轴基本上是数据集中的对角线。 当我们将数据减少到一个维度时,我们失去了该对角线周围的变化,所以在我们的再现中,一切都沿着该对角线。\n", "\n", "我们在此练习中的最后一个任务是将PCA应用于脸部图像。 通过使用相同的降维技术,我们可以使用比原始图像少得多的数据来捕获图像的“本质”。" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5000, 1024)" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "faces = loadmat('data/ex7faces.mat')\n", "X = faces['X']\n", "X.shape" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def plot_n_image(X, n):\n", " \"\"\" plot first n images\n", " n has to be a square number\n", " \"\"\"\n", " pic_size = int(np.sqrt(X.shape[1]))\n", " grid_size = int(np.sqrt(n))\n", "\n", " first_n_images = X[:n, :]\n", "\n", " fig, ax_array = plt.subplots(nrows=grid_size, ncols=grid_size,\n", " sharey=True, sharex=True, figsize=(8, 8))\n", "\n", " for r in range(grid_size):\n", " for c in range(grid_size):\n", " ax_array[r, c].imshow(first_n_images[grid_size * r + c].reshape((pic_size, pic_size)))\n", " plt.xticks(np.array([]))\n", " plt.yticks(np.array([]))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "练习代码包括一个将渲染数据集中的前100张脸的函数。 而不是尝试在这里重新生成,您可以在练习文本中查看他们的样子。 我们至少可以很容易地渲染一个图像。" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": true }, "outputs": [], "source": [ "face = np.reshape(X[3,:], (32, 32))" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUsAAAFJCAYAAAASfw+VAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3WtwVdX9PvDngIRLIIQkXA2XhDuJFiiFWjX2BRHqGJEO\nagGhGoYi0taUQgMhiDQpwkDVloJYhqmj6CADreJMrRdGhiLIFOVigqBiFBKuAUJICCSB/X/BuP87\nJ2ed9XByOEn8PZ9XZ6+s7LWyzs43J3t/11o+x3EciIhIUC0auwMiIs2BgqWICEHBUkSEoGApIkJQ\nsBQRIShYiogQbolEI+fOnatXFhMTg/Lycve4uLiYOhdTr7Ky0lqnqqqKau/06dP1yh577DG8/PLL\n7vGZM2fC0icAuHbtmrXOLbfY37ZBgwYFLH/kkUfwxhtvuMfdunWznuvLL7+01mnRgvu727JlS6qe\nv6lTp+KVV15xj5lxAoBLly5Z61y5coU6V1RUlLVObW1tvbJf//rX+Nvf/uYeM+8fwI0VMw5t27al\n2ouLi6tX9vOf/xz//Oc/3WPm92/fvn1Ue1999ZW1zvHjx611Ll68WK9s7969GDZsGNUPr+rqauPX\nQgqW165dwzPPPIPDhw8jKioK+fn56N279w2dg71gmqKEhITG7kLI4uPjG7sLIWnOY961a9fG7kLI\nOnXq1NhdCElKSkrYzxnSv+EffPABqqur8cYbb+D3v/89li5dGu5+iYg0KSEFy08++QR33303AGDo\n0KEoKCgIa6dERJoaXyjTHRcsWIB7770X99xzDwDgpz/9KT744APjv9a1tbXN+t9uEZGQIlj79u3r\nPLC4du1a0GDofZDznbi4uDoPfprTA545c+ZgxYoV7nFzesDz5JNPYvXq1e5xc3nAM3v2bDz33HPu\ncXN6wJOXl4eFCxe6x83pAc+0adOwbt0697i5POCprq6m3q9A32cS0r/hw4cPx/bt2wFcH5gBAwaE\nchoRkWYjpE+W6enp+Oijj/CLX/wCjuNgyZIl4e6XiEiTElKwbNGiBf74xz+Guy8iIk1WRJ66BHpa\nnpaWVqd89+7d1LlKS0utdXw+n7VORUUF1V6g+60AcODAAff11atXredp37491V67du2sdW699VZr\nnUD3nwJ97ciRI1S/bEzj5K+mpibkNrz3j1u1akV9T+vWra112FxC5lmo6R6i9/1n+x4uzBgA5r57\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(face)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "看起来很糟糕。 这些只有32 x 32灰度的图像(它也是侧面渲染,但我们现在可以忽略)。 我们的下一步是在面数据集上运行PCA,并取得前100个主要特征。" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": true }, "outputs": [], "source": [ "U, S, V = pca(X)\n", "Z = project_data(X, U, 100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "现在我们可以尝试恢复原来的结构并再次渲染。" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nTKO2tlazZ8/Wrl27VFNTo8mTJ+uiiy5q8v2ert29evVqFn1+8uRJFRcXa/v27UokEnriiSfUunXr\n7Pd5Msdx3qRaAAADWUlEQVTeeuut5IwZM5LJZDL58ccfJ++///5cN6Fejh07lhwzZkxjN6NOfv3r\nXydvuumm5G233ZZMJpPJ++67L/nhhx8mk8lkcu7cucm//e1vjdm8jFLbvmrVquRLL73UyK2K99pr\nryUXLFiQTCaTyYMHDyavueaaZtHv6drdXPr87bffTs6cOTOZTCaTH374YfL+++8/K32e839vH330\nka6++mpJ0mWXXabNmzfnugn1snXrVh09elRFRUWaOHGiNmzY0NhNitWnTx+VlpYGx81pv/fUtm/e\nvFnvvfee7rrrLs2ePdvacbIxXH/99Xr44YclfbMyd4sWLZpFv6drd3Pp82uvvTbYQXb37t3q2LHj\nWenznAfLqqqq4Kus9M0y9e6WC42pTZs2mjRpkl566SU98cQTmjZtWpNv96hRo07bUiCZTAZbFbRr\n106HDx9urKbFSm37pZdeqkcffVS///3v1bt3b/3qV79qxNZFa9eundq3b6+qqio99NBDmjJlSrPo\n93Ttbi59Ln2zdcaMGTNUUlKi0aNHn5U+z3mwbN++vaqrq4PjU6dOZXXv47Olf//+uvnmm5VIJNS/\nf3/l5eVp//79jd2sOgnfs3H2e29KCgsLVVBQEDzesmVLI7co2p49ezRx4kSNGTNGo0ePbjb9ntru\n5tTnkrR48WK99dZbmjt3ro4fPx6UZ6vPcx4shw0bFmx+vmHDBl188cW5bkK9vPbaa3rqqackSXv3\n7lVVVZW6devWyK2qmyFDhjTb/d4nTZqkTZs2SZLWrVunoUOHNnKL0isvL1dRUZGmT5+usWPHSmoe\n/Z6u3c2lz19//XW98MILkqS2bdsqkUiooKAg632e84U0vh0N//TTT5VMJrVo0SINHDgwl02ol5qa\nGs2aNUu7d+9WIpHQtGnTNGzYsMZuVqydO3dq6tSpWrVqlbZv3665c+eqtrZWAwYM0IIFC6zd+hpL\nuO1lZWUqKSlRy5Yt1bVrV5WUlJx2O6epWLBggd58800NGDAgKJszZ44WLFjQpPs9XbunTJmiJUuW\nNPk+P3LkiGbNmqXy8nKdOHFC9957rwYOHJj19zqrDgGAoWklewFAE0WwBAADwRIADARLADAQLAHA\nQLAEAAPBEgAMBEsAMPwfZwIqhGpz20gAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X_recovered = recover_data(Z, U, 100)\n", "face = np.reshape(X_recovered[3,:], (32, 32))\n", "plt.imshow(face)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "请注意,我们失去了一些细节,尽管没有像您预期的维度数量减少10倍。\n", "\n", "最后练习7.在最后的练习中,我们将实现异常检测算法,并使用协同过滤构建推荐系统。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.2" } }, "nbformat": 4, "nbformat_minor": 1 }