{ "cells": [ { "cell_type": "code", "execution_count": 275, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy\n", "from scipy.special import comb" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# On the corners of the hypercube\n", "The *curse of dimensionality*™ refers to counter-intuitive phenomenons happening in high dimensions. It is often illustrated by the fact that for the hypercube $[0,1]^d$ of dimension $d$, most of the volume is next to the borders. Another way to see it is: for a point $X$ drawn uniformly at random from this cube, at least one coordinate of $X$ will be $\\varepsilon$ close from $0$ or $1$ with probability $1-(1-2\\varepsilon)^d$.\n", "\n", "In truth, most of the volume of the hypercube is in the corners. But which corner exactly? We computed the probability that $X$ lands $\\varepsilon$ close from a $(d-1)$-face, eg an hyperplane closing the hypercube. We could also compute the probability that $X$ lands $\\varepsilon$ close from a $(d-k)$-face of the hypercube, eg an affine subspace of dimension $d-k$ closing the hypercube. Let's call this volume/probability $V(\\varepsilon, k , d)$. For example, in 3d, we can wonder what is the probability that $X$ lands next to an edge $V(\\varepsilon,k=2,d=3)$. We detail how to calculate this volume below.\n", "\n", "* It is in fact easier to estimate the volume that is at least $\\varepsilon$ far from all $(d-k)$ face: $1-V(\\varepsilon, k , d)$.\n", "* To define a $(d-k)$-faces, one needs to set $k$ coordinates to $0$ or $1$, so the number of such faces is $2^k \\binom{d}{k}$.\n", "* For each face of dimension $d-j > d-k$, we add the volume that is $\\varepsilon$ close from its center of area $(1-2\\varepsilon)^{d-j}$, meaning $\\varepsilon^j (1-2\\varepsilon)^{d-j}$.\n", "* The resulting formula is the partial binomial sum:\n", "$$ 1-V(\\varepsilon, k , d) = \\sum_{j=0}^{k-1}\\binom{d}{j} (2\\varepsilon)^{j} (1-2\\varepsilon)^{d-j}$$\n", "* One can verify that this formula recovers the whole volume $1$ when $k=d+1$ (there is no face of dimension $-1$) and that it gives the right formulas for $k=1$ and $k=d$.\n", "\n", "Let us study the behavior of this formula. For a given $\\varepsilon$, we would like to know what is the dimension of the faces around which most of the volume is concentrated. As we will see, in high dimensions, there is a quick phase transition around a precise value of $k$." ] }, { "cell_type": "code", "execution_count": 302, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "extremities of a line [1. 0.2]\n", "corners of a square [1. 0.36 0.04]\n", "vertex of a cube [1. 0.488 0.104 0.008]\n" ] } ], "source": [ "def face(eps , d):\n", " \"\"\"Return the probability that a point sampled uniformly at random\n", " from the d dimensional hypercube lands eps-close from a (d-k)-face\n", " for all values of k.\n", " \"\"\"\n", " inds = np.arange(d)\n", " binomials = np.zeros(d)\n", " for j in range(d):\n", " binomials[j]=comb(d,j)\n", " terms = (2*eps)**inds * (1-2*eps)**(d - inds) * binomials\n", " terms = np.concatenate([[0],terms])\n", " probas = 1 - np.cumsum(terms)\n", " return probas\n", "\n", "print('extremities of a line ', face(0.1, 1))\n", "print('corners of a square ', face(0.1, 2))\n", "print('vertex of a cube ', face(0.1, 3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a three dimensional real valued function. I want to understand its behavior. Three d plots are hard to understand so I will fix dimensions one by one." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Phase transition (fixed epsilon)\n", "Plot the evolution of the probability as a function of $k$ when $d$ increases. The goal is to observe the phase transition happen for higher dimensions. The dimension for which this phenomenon starts to happen also depends on epsilon. Understanding the relationship between this critical dimension $d$, the critical $k$ and $\\varepsilon$ could be interesting." ] }, { "cell_type": "code", "execution_count": 310, "metadata": {}, "outputs": [], "source": [ "eps = 0.22\n", "ds = np.concatenate([np.arange(1,5),\n", " [10,20,50, 100, 200, 1000]])" ] }, { "cell_type": "code", "execution_count": 311, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0,0.5,'$P(\\\\varepsilon=0.22,k,d)$')" ] }, "execution_count": 311, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nf2VbcQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for d in ds:\n", " probs = face(eps, d)\n", " plt.plot(np.linspace(0,1,d+1), probs, label=d)\n", "plt.legend()\n", "plt.xlabel('ratio k/d')\n", "plt.ylabel(r'$P(\\varepsilon={},k,d)$'.format(eps))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fixed dimension\n", "For a given dimension, plot the probability as a function of k and epsilon" ] }, { "cell_type": "code", "execution_count": 321, "metadata": {}, "outputs": [], "source": [ "resolution = 200\n", "d = 100\n", "epsilons = np.linspace(0,0.5, resolution)" ] }, { "cell_type": "code", "execution_count": 322, "metadata": {}, "outputs": [], "source": [ "probs = np.zeros([d+1, resolution])\n", "for i, eps in enumerate(epsilons):\n", " probs[:,i] = face(eps,d)" ] }, { "cell_type": "code", "execution_count": 323, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.pcolormesh(epsilons, np.arange(d+1), probs, alpha=1, cmap='seismic')\n", "plt.colorbar()\n", "plt.ylabel('dimension k')\n", "plt.xlabel(r'size $\\varepsilon$')\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The phase transition happens on the line $k/d = 2\\varepsilon$, for all dimensions. This is verified for all dimensions $d$. Is this phenomenon simple to deduce from the formula? YES\n", "\n", "Such a phase transition means that some coefficients of the sum $\\sum_{j=0}^{k-1}\\binom{d}{j} (2\\varepsilon)^{j} (1-2\\varepsilon)^{d-j}$ are much larger than the others. We can show that the maximum of these coeffecients happen asymptotically for $\\alpha=2\\varepsilon$. But first let us introduce a helpful lemma.\n", "\n", "**Lemma:** Define $d\\in \\mathbb{N}$ and $\\mathbf{a} = (a_1,\\dots, a_n) \\in [0,1]^n$ such that $\\sum_i a_i = 1$ and $a_1 d, \\dots, a_n d \\in \\mathbb{N}$. $\\mathbf{a}$ is probabilty vector whose coordinates are fractions of $d$. The multinomial coefficient $\\binom{d}{a_1 d, \\dots, a_n d}$ has the following asymptotic class when $d$ grows to infinity:\n", "$$ \\log \\binom{d}{a_1 d, \\dots, a_n d} = d H(\\mathbf{a}) + O(\\log d)$$\n", "where $H(\\mathbf{a}) = -\\sum_i a_i \\log(a_i)$ is the entropy of the probability vector $\\mathbf{a}$.\n", "\n", "*Proof of the lemma:* Write the definition \n", "$$\\binom{d}{a_1 d, \\dots, a_n d} = \\frac{d!}{(a_1 d)! \\dots (a_n d)!}$$\n", "and use the stirling formula $\\log(d!) = d(\\log(d) - 1) + O(\\log d)$.\n", "\n", "*Back to the topic.* We take $j= ad$ some fraction $a\\in[0,1]$ of $d$.\n", "$$\\begin{align}\n", "\\log\\left( \\binom{d}{j} (2\\varepsilon)^{j} (1-2\\varepsilon)^{d-j} \\right) \n", "&= \\log\\left( \\binom{d}{ad} (2\\varepsilon)^{ad} (1-2\\varepsilon)^{(1-a)d} \\right) \\\\\n", "&= d \\left( a\\log(2\\varepsilon) + (1-a)\\log(1- 2\\varepsilon) + H(a) \\right) + O(\\log d) \\\\\n", "&= - d \\text{KL}(a || 2\\varepsilon) + O(\\log d)\n", "\\end{align}$$\n", "where the Kullback-Leibler divergence between two Bernoullis appear.\n", "This coefficient is approximately maximized when the divergence is minimized, eg when $a=k/d = 2\\varepsilon$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "deep (3.6)", "language": "python", "name": "deep" }, "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.3" } }, "nbformat": 4, "nbformat_minor": 2 }