{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Sparse PCA" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[sklearn.decomposition.SparsePCA](http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.SparsePCA.html)\n", "\n", "Principal component analysis (PCA) has the disadvantage that the components extracted by this method have exclusively dense expressions, i.e. they have non-zero coefficients when expressed as linear combinations of the original variables. This can make interpretation difficult. In many cases, the real underlying components can be more naturally imagined as sparse vectors; for example in face recognition, components might naturally map to parts of faces.\n", "\n", "Sparse principal components yields a more parsimonious, interpretable representation, clearly emphasizing which of the original features contribute to the differences between samples.\n", "\n", "Usable examples: [Faces dataset decompositions](http://scikit-learn.org/stable/auto_examples/decomposition/plot_faces_decomposition.html)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ":0: FutureWarning: IPython widgets are experimental and may change in the future.\n" ] } ], "source": [ "%matplotlib inline\n", "%load_ext autoreload\n", "%autoreload 2\n", "import os, sys\n", "import numpy as np\n", "from skimage import io\n", "import matplotlib.pylab as plt\n", "sys.path += [os.path.abspath('.'), os.path.abspath('..')] # Add path to root\n", "import notebooks.notebook_utils as uts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## load datset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loading dataset: (True) exists -> /mnt/30C0201EC01FE8BC/TEMP/atomicPatternDictionary_v0/datasetFuzzy_raw\nloading (True) <- /mnt/30C0201EC01FE8BC/TEMP/atomicPatternDictionary_v0/dictionary/atlas.png\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p_dataset = os.path.join(uts.DEFAULT_PATH, uts.SYNTH_DATASETS_FUZZY[0])\n", "print ('loading dataset: ({}) exists -> {}'.format(os.path.exists(p_dataset), p_dataset))\n", "\n", "p_atlas = os.path.join(uts.DEFAULT_PATH, 'dictionary/atlas.png')\n", "atlas_gt = io.imread(p_atlas)\n", "nb_patterns = len(np.unique(atlas_gt))\n", "print ('loading ({}) <- {}'.format(os.path.exists(p_atlas), p_atlas))\n", "plt.imshow(atlas_gt, interpolation='nearest')\n", "_ = plt.title('Atlas; unique %i' % nb_patterns)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loaded # images: 800\nimage shape: (64, 64)\n" ] } ], "source": [ "list_imgs = uts.load_dataset(p_dataset)\n", "print ('loaded # images: ', len(list_imgs))\n", "img_shape = list_imgs[0].shape\n", "print ('image shape:', img_shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pre-Processing" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input data shape: (800, 4096)\n" ] }, { "data": { "image/png": "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\nevBwFgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.array([im.ravel() for im in list_imgs]) # - 0.5\n", "print ('input data shape:', X.shape)\n", "\n", "plt.figure(figsize=(7, 3))\n", "_= plt.imshow(X, aspect='auto'), plt.xlabel('features'), plt.ylabel('samples'), plt.colorbar()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "uts.show_sample_data_as_imgs(X, img_shape, nb_rows=1, nb_cols=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SparsePCA" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "fitting parameters: {'n_jobs': -1, 'verbose': False, 'ridge_alpha': 0.01, 'max_iter': 999, 'V_init': None, 'U_init': None, 'random_state': None, 'n_components': 7, 'tol': 1e-08, 'alpha': 1, 'method': 'lars'}\nnumber of iteration: 46\n" ] } ], "source": [ "from sklearn.decomposition import SparsePCA\n", "spca = SparsePCA(n_components=nb_patterns, max_iter=999, n_jobs=-1)\n", "\n", "X_new = spca.fit_transform(X[:1200,:])\n", "print ('fitting parameters:', spca.get_params())\n", "print ('number of iteration:', spca.n_iter_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**show the estimated components - dictionary**" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "estimated component matrix: (7, 4096)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "comp = spca.components_\n", "coefs = np.sum(np.abs(X_new), axis=0)\n", "# print 'used coeficients:', coefs.tolist()\n", "print ('estimated component matrix:', comp.shape)\n", "\n", "compSorted = [c[0] for c in sorted(zip(comp, coefs), key=lambda x: x[1], reverse=True) ]\n", "uts.show_sample_data_as_imgs(np.array(compSorted), img_shape, nb_cols=nb_patterns, bool_clr=True)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ptn_used = np.sum(np.abs(X_new), axis=0) > 0\n", "atlas_ptns = comp[ptn_used, :].reshape((-1, ) + list_imgs[0].shape)\n", "\n", "atlas_ptns = comp.reshape((-1, ) + list_imgs[0].shape)\n", "atlas_estim = np.argmax(atlas_ptns, axis=0) + 1\n", "atlas_sum = np.sum(np.abs(atlas_ptns), axis=0)\n", "atlas_estim[atlas_sum < 1e-1] = 0\n", "_ = plt.imshow(atlas_estim, interpolation='nearest'), plt.colorbar()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "l_idx = [30, 40]\n", "fig, axr = plt.subplots(len(l_idx), 2, figsize=(10, 2.5 * len(l_idx)))\n", "for i, idx in enumerate(l_idx):\n", " axr[i, 0].plot(atlas_ptns[:,:,idx].T), axr[i, 0].set_xlim([0, 63])\n", " axr[i, 0].set_title('col: {}'.format(idx))\n", " axr[i, 1].plot(np.abs(atlas_ptns[:,:,idx].T)), axr[i, 1].set_xlim([0, 63])\n", " axr[i, 1].set_title('abs over comp.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**particular coding of each sample**" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(6, 3))\n", "plt.imshow(X_new[:20,:], interpolation='nearest', aspect='auto'), plt.colorbar()\n", "_= plt.xlabel('components'), plt.ylabel('samples')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**backword reconstruction from encoding and dictionary**" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "model applies by reverting the unmixing (800, 4096)\n" ] } ], "source": [ "res = np.dot(X_new, comp)\n", "print ('model applies by reverting the unmixing', res.shape)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "uts.show_sample_data_as_imgs(res, img_shape, nb_rows=2, nb_cols=3, bool_clr=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "" ] } ], "metadata": { "signature": "sha256:18bf5511bac6f35a7a840ff6d9cb0cb31a12a102abf2ff3461ff081aad59342c" }, "nbformat": 4, "nbformat_minor": 0 }