{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Logistic Regression\n", "\n", "Logistic Regression model is actually apply a logical function at the basis of linear regression. Beacause this method is simple and effective, it has become a shining star at the field of machine learning and the core of computational advertising. This chapter is mainly introducing the basis of logistic regression. \n", "\n", "\n", "## 1. Logestic regression model\n", "Logestic is a model which can be understood easily, which is equal to $y=f(x)$, shows the relationship between independent variable $x$ and dependent variable $y$. The most common questions are like the doctor's observation, hearing, asking and cutting during treatment, and then determining whether the patient is ill or what kind of disease he has. The observation, hearing and cutting is to obtain the independent variable $x$, that is, the characteristic data, while the determination of whether the patient is ill is equivalent to the acquisition of the dependent variable $y$, that is, the prediction classification.\n", "\n", "The most simple regression is linear regression. Using Andrew NG's handout, as shown in the figure, $X$ is number point -- tumor size, $Y$ is the observed value -- whether a malignant tumor or not. By building a linear regression model, as shown in $h_\\theta(x)$, we can predict whether $h_\\theta(x)) \\ge 0.5$ is malignant and $h_\\theta(x) \\lt 0.5$ is benign according to the size of the tumor.\n", "\n", "![LinearRegression](images/fig1.gif)\n", "\n", "However the linear regression have poor robust, for example if we want to built regression in upper graph, the regression model perform badly in the training set because of the noise point on the right. This is mainly because that the linear regression have a same sensitivity in the whole real number field, however for the range for sort is in $[0,1]$.\n", "\n", "Logestic regression is a kind of regression model which decrease the predict range and limit the prediction value to $[0,1]$, the regression function and curve is shown in graph 2. When the logestic curve is in $z=0$, it is very sensitive, while at $z>>0$ or $z<<0$, the result is not sensitive, we set the predict value to $(0,1)$.\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "plt.figure()\n", "plt.axis([-10,10,0,1])\n", "plt.grid(True)\n", "X=np.arange(-10,10,0.1)\n", "y=1/(1+np.e**(-X))\n", "plt.plot(X,y,'b-')\n", "plt.title(\"Logistic function\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1 Logestic regression expression\n", "\n", "The function of logestic function, which is also called sigmoid function. The formula of function is defined as:\n", "\n", "$$\n", "g(z) = \\frac{1}{1+e^{-z}}\n", "$$\n", "\n", "For logistic function, when $z$ is approach infinity, $g(z)$ is approach to 1. While $z$ is approach minus infinity, $g(z)$ is approach to 0. The graph for logestic function is shown as upper figure. Logistic funciton has an attribute when doing derivative which will be used in the following derivation, the characteristic is:\n", "\n", "$$\n", "g'(z) = \\frac{d}{dz} \\frac{1}{1+e^{-z}} \\\\\n", " = \\frac{1}{(1+e^{-z})^2}(e^{-z}) \\\\\n", " = \\frac{1}{(1+e^{-z})} (1 - \\frac{1}{(1+e^{-z})}) \\\\\n", " = g(z)(1-g(z))\n", "$$\n", "\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEICAYAAAC3Y/QeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZQU5dn+8e8tyCLIoqCibCKgEldA1KhvQIgCRnGLwaP81IhEE6JJjAlqYgh6kqgn8dUXFxT3BZyojKNBFMxgQhRFXAiLICouyBJZBZEB5v798RShGXtmmpnurl6uzzl1pqvr6epriubumqeqnjJ3R0REistucQcQEZHsU/EXESlCKv4iIkVIxV9EpAip+IuIFCEVfxGRIqTiL3nBzO4xs9/W4XUdzWyDmTWow2tvMrMvzGz5rr62Pur6u4rsCtN5/pJuZrYEGO7u0/L1vc2sI7AQ6OTuK9ORrZr3uZiQ98RMvYdIMtrzF0muI7Aqk4VfJE4q/pI1ZtbYzP7XzD6Ppv81s8YJy39lZsuiZcPNzM2sa7TsITO7KXrcxsyeN7O1ZrbazP5pZruZ2aOEov1c1NXzKzPrHK2nYfTavczsweg91phZaZKcA4CpwP7Reh4ys75m9lmVdkuitpjZaDMrMbNHzOxLM5tnZr0T2nYws2fM7D9mtsrMxprZocA9wPHR+6yt+rtG85eZ2eLody0zs/0TlrmZXW5m70fb404zs/r/a0mhU/GXbLoeOA44CjgS6AP8BsDMBgK/AAYAXYG+NaznauAzoC2wL3Ad4O4+DPgEON3dm7v7LUle+yiwB/AtYB/gtqoNoi6jQcDn0XouTvH3OwOYCLQCyoCx0e/WAHge+BjoDBwATHT3BcDlwGvR+7SqukIzOxn4I3Ae0C5ax8Qqzb4HHAMcEbU7NcW8UsRU/CWbLgDGuPtKd/8P8HtgWLTsPOBBd5/n7l8Bo2tYzxZCIezk7lvc/Z+ewsErM2tHKOqXu/ua6LWv1OcXqmKGu092922EL5kjo+f7APsD17j7Rnf/2t1npLjOC4AH3P0td98MXEv4S6FzQps/uftad/8EKCd8uYrUSMVfsml/wp7rdh9Hz21f9mnCssTHVd0KLAZeMrMPzWxUiu/fAVjt7mtSbL+rEs8K+gpoEnU3dQA+dvetdVjnTtvM3TcAqwh/PVT3vs3r8D5SZFT8JZs+BzolzHeMngNYBrRPWNahupW4+5fufrW7dyF0tfzCzPpvX1zD+38K7GVm3+heScFGQncR8N+unLYpvvZToOP24w5V1PYXy07bzMyaAXsDS1N8b5GkVPwlU3Y3syYJU0NgAvAbM2trZm2AG4DHovYlwCVmdqiZ7QFUe567mX3PzLpGBzbXAduAymjxCqBLste5+zLgBeAuM2ttZrub2f+k+PssIuzJn2ZmuxOOVTSu5TXbvUH4cvuTmTWLtscJCXnbm1mjal47gbBdjooOjv8BeN3dl6T43iJJqfhLpkwGNiVMo4GbgDeBOcC/gbei53D3F4A7CH3Wi4GZ0Xo2J1l3N2AasAF4DbjL3cujZX8kfMGsNbNfJnntMMIxg/eAlcDPUvll3H0d8GNgPGGveyPhoHMqr90GnE44kP1J9LofRIv/DswDlpvZF0leO43wRfg04QvkIGBoKu8rUhNd5CU5KToNci7QuI595SJSA+35S84ws7OiawFaAzcDz6nwi2RGrcXfzB4ws5VmNrea5WZmd0QXocwxs57pjylF4keErpgPCP34V8QbR6Rw1drtEx0Q2wA84u6HJVk+GPgpMBg4Frjd3Y/NQFYREUmTWvf83f0fwOoamgwhfDG4u88EWkUX04iISI5Kdt7xrjqAnS/I+Sx6blnVhmY2AhgB0KRJk14dO3ZMw9tnVmVlJbvtlvuHRpQzffIhI+RXTrPd2LZtN7ZuNSorobLSEibYtm3H48pKwx3cw89vzofHxcbM6dZtA4sWLfrC3VO9xqRa6Sj+KXP3e4F7AQ4++GBfuHBhNt++TqZPn07fvn3jjlEr5UyffMgIuZHTHVasgI8/DtOSJeHn8uXh+ZUrYdmyrWzcWHOpadwYWrQIU7Nm0KQJNG2688+qjxs3hoYNU5saNNh5frfdwmS24+c777xNr15HY7bz8zU9rm1Z4hB7VYfb29VlZtCxI5jZx6RBOor/Una+GrM9uvpQpKC4w0cfwb//DQsWwPz5YVqwAL76aue2rVrBAQfAPvtAz55w+OHL6dmzPfvsE55r1WpHod8+NU71crmMWsdJJ8WdIXvSUfzLgJFmNpFwwHdddCWliOSpL7+EWbNg5kx47bXw84uES9Dat4cePeCyy6BbN+jUacfUosXO65o+fTF9+7ZHckutxd/MJhCG120TjWf+O2B3AHe/h3Al52DCVZlfAZdkKqyIZIY7vP02TJkSptdeg63RFRaHHALf+x4cdxwcfXSYr1rgJf/UWvzd/fxaljvwk7QlEpGscIc334SSkjB98kl4/uij4Ze/hL59oU8faN061piSIVk94Csi8Vu9Gh5+GMaNg4ULYffd4ZRT4Pe/h0GDYN99404o2aDiL1IkFiyAW26BCRNg82b49rfh/vvhrLO0d1+MVPxFCtycOXDTTfDUU+FUyUsugcsvhyOPrP21UrhU/EUK1LJl8Otfw6OPwp57wqhR8POfQ9t6Xx4khUDFX6TAVFTA7bfDmDHh8a9/Db/6Fey1V9zJJJeo+IsUkDlz4IILYO7ccHrmbbdB165xp5JclPsDg4hIrSor4c9/hmOOCRdjlZXBc8+p8Ev1tOcvkuf+8x84/3x4+WU480y4917160vtVPxF8ti8eXD66eHg7n33waWXfnOQMJFk1O0jkqdef30vjj8eNm2CV16B4cNV+CV1Kv4ieej+++G66w7noIPCAGx9+sSdSPKNir9Inhk3Luzl9+69mhkzwgibIrtKxV8kj9x9d7g697TT4MYb59KsWdyJJF+p+Ivkibvvhh//OBzgffppaNTI444keUxn+4jkgbIy+MlPwoVbTz0FjRrFnUjynfb8RXLc7NnhPP7eveHJJ1X4JT1U/EVy2Kefhm6eNm3C3v8ee8SdSAqFun1EctTGjaHwb9wI//oX7Ldf3ImkkKj4i+Soq64KA7VNngyHHRZ3Gik06vYRyUETJoQLua69FgYOjDuNFCIVf5Ec88EH8KMfhdssjh4ddxopVCr+IjmkoiKc2dOgATzxRLi5ukgmqM9fJIfceGMYq+epp6BTp7jTSCHTnr9Ijpg7F/70J7jwQjjnnLjTSKFT8RfJAZWVMGIEtGwJf/lL3GmkGKjbRyQHjBsHr70GDz+su3BJdmjPXyRmS5fCqFHQvz8MGxZ3GikWKv4iMfvZz8JZPvfcoztxSfao+IvE6J//DGf2XHcddO0adxopJir+IjFxh2uugf33h6uvjjuNFBsd8BWJyVNPweuvh2EcNFqnZJv2/EViUFERxu05/HC46KK400gx0p6/SAzuvjuM4fPCC2EoB5Fs056/SJatWwdjxsCAAXDqqXGnkWKl4i+SZWPHwurVcPPNOrVT4pNS8TezgWa20MwWm9moJMs7mlm5mb1tZnPMbHD6o4rkvw0b4Lbbwo3Ye/aMO40Us1qLv5k1AO4EBgE9gPPNrEeVZr8BStz9aGAocFe6g4oUgnHjYNUquP76uJNIsUtlz78PsNjdP3T3CmAiMKRKGwdaRI9bAp+nL6JIYdi0CW69NfT1H3dc3Gmk2Jm719zA7FxgoLsPj+aHAce6+8iENu2Al4DWQDNggLvPTrKuEcAIgLZt2/YqKSlJ1++RMRs2bKB58+Zxx6iVcqZPpjJOmnQAd9zRjdtue5ujjlpX7/Xlw7YE5Uy3fv36zXb33vVekbvXOAHnAuMT5ocBY6u0+QVwdfT4eGA+sFtN6+3evbvng/Ly8rgjpEQ50ycTGTdvdm/f3v3EE90rK9OzznzYlu7KmW7Am15L3U5lSuU8/6VAh4T59tFziS4FBkZfJq+ZWROgDbCybl9JIoXl0Ufhs89g/Hid4SO5IZU+/1lANzM70MwaEQ7ollVp8wnQH8DMDgWaAP9JZ1CRfOUezvA56ig45ZS404gEte75u/tWMxsJvAg0AB5w93lmNobw50cZcDVwn5n9nHDw9+LozxORovfyyzBvHjz4oPb6JXekNLyDu08GJld57oaEx/OBE9IbTaQw3HFHuDvX0KFxJxHZQVf4imTQBx/A88/D5ZdDkyZxpxHZQcVfJIP+7/+gYUO44oq4k4jsTMVfJEPWr4cHHoDzzoN27eJOI7IzFX+RDHnoIfjyS7jqqriTiHyTir9IBrjDnXeGYRyOOSbuNCLfpJu5iGTAP/4BixbBI4/EnUQkOe35i2TA+PHQsiWcc07cSUSSU/EXSbM1a8LN2S+4QDdml9yl4i+SZo8/Dl9/DcOHx51EpHoq/iJp5A733Qe9esHRR8edRqR6Kv4iaTR7NsyZo71+yX0q/iJpNH48NG0K558fdxKRmqn4i6TJxo3wxBPhit6WLeNOI1IzFX+RNJk0KVzRe+mlcScRqZ2Kv0iaPPoodO4MJ54YdxKR2qn4i6TBsmUwbRpceKFu2CL5QcVfJA0mToTKynBhl0g+UPEXSYPHHoPeveGQQ+JOIpIaFX+Repo/H956K3T5iOQLFX+RenrsMWjQQPfolfyi4i9SD5WVYSyf734X9t037jQiqVPxF6mHGTPgk09g2LC4k4jsGhV/kXp4/HFo1gyGDIk7iciuUfEXqaOtW+Hpp+H008MXgEg+UfEXqaPycli1Cn7wg7iTiOw6FX+ROnrySWjeHAYOjDuJyK5T8Repgy1b4JlnQl9/kyZxpxHZdSr+InXw8svhXr3nnRd3EpG6UfEXqYOSEmjRAk49Ne4kInWj4i+yiyoqwtj9Z54JjRvHnUakblT8RXbRtGmwdq26fCS/qfiL7KKSEmjVKgzpIJKvVPxFdkFFBZSWhi6fRo3iTiNSdyr+IrvglVdg3To4++y4k4jUT0rF38wGmtlCM1tsZqOqaXOemc03s3lm9kR6Y4rkhtJS2GMPGDAg7iQi9dOwtgZm1gC4E/gu8Bkwy8zK3H1+QptuwLXACe6+xsz2yVRgkbhUVsKzz4Yreps2jTuNSP2ksuffB1js7h+6ewUwEag6huFlwJ3uvgbA3VemN6ZI/GbPhqVLQ3+/SL4zd6+5gdm5wEB3Hx7NDwOOdfeRCW1KgUXACUADYLS7T0myrhHACIC2bdv2KikpSdfvkTEbNmygefPmcceolXKmT3UZx48/kAkTOjJp0r9o0WJrDMl2lg/bEpQz3fr16zfb3XvXe0XuXuMEnAuMT5gfBoyt0uZ5YBKwO3Ag8CnQqqb1du/e3fNBeXl53BFSopzpU13GHj3cTz45u1lqkg/b0l050w1402up26lMqXT7LAU6JMy3j55L9BlQ5u5b3P0jwl8B3er6hSSSaxYtCjdqV5ePFIpUiv8soJuZHWhmjYChQFmVNqVAXwAzawN0Bz5MY06RWJWWhp+6Y5cUilqLv7tvBUYCLwILgBJ3n2dmY8zsjKjZi8AqM5sPlAPXuPuqTIUWybbSUujZEzp2jDuJSHrUeqongLtPBiZXee6GhMcO/CKaRArKsmUwcyb8/vdxJxFJH13hK1KL554Dd/X3S2FR8RepRWkpHHQQHHZY3ElE0kfFX6QG69eHu3adeSaYxZ1GJH1U/EVqMGVKGMlTXT5SaFT8RWpQWgpt28Lxx8edRCS9VPxFqlFRAX/7G5xxBjRoEHcakfRS8RepxvTpoc9fXT5SiFT8RapRWgrNmkH//nEnEUk/FX+RJCorQ/HX2P1SqFT8RZKYNStc2asuHylUKv4iSZSWhoO8p50WdxKRzFDxF0mitBT69oXWreNOIpIZKv4iVXzyyR689566fKSwqfiLVPGvf+0NaOx+KWwq/iJVzJjRhl69oEOH2tuK5CsVf5EEy5bB/Pkt1eUjBU/FXyRBWXSD0rPOijeHSKap+IskKC2FAw74ih494k4iklkq/iKR7WP3n3jiFxq7Xwqeir9IZPJk2LIFTjjhi7ijiGScir9IpLQU9tkHevRYH3cUkYxT8RcBNm8Oe/4au1+KhYq/CFBeDl9+qat6pXio+Iugsful+Kj4S9GrrIRnn4VBg6BJk7jTiGSHir8UvTfegOXL1eUjxUXFX4peaSk0bAiDB8edRCR7VPylqLnDM89o7H4pPir+UtTmz4f334ezz447iUh2qfhLUZs0KfzU2P1SbFT8pag98wwcfzzsv3/cSUSyS8VfitaSJfD22xq+WYqTir8Ure1dPir+UoxU/KVoTZoEhx8OXbvGnUQk+1T8pSitWAEzZugsHyleKRV/MxtoZgvNbLGZjaqh3Tlm5mbWO30RRdKvrCyc468uHylWtRZ/M2sA3AkMAnoA55vZN25yZ2Z7AlcBr6c7pEi6TZoEXbrAEUfEnUQkHqns+fcBFrv7h+5eAUwEkp0VfSNwM/B1GvOJpN26dTBtWtjr1+0apVg1TKHNAcCnCfOfAccmNjCznkAHd/+bmV1T3YrMbAQwAqBt27ZMnz59lwNn24YNG5QzjXIh58sv78OWLT3o1Oktpk//5l27ciFjKpQzvfIlZ9q4e40TcC4wPmF+GDA2YX43YDrQOZqfDvSubb3du3f3fFBeXh53hJQoZ+rOPdd9v/3ct21LvjwXMqZCOdMrX3ICb3ot9TWVKZVun6VAh4T59tFz2+0JHAZMN7MlwHFAmQ76Si7atAleeCEM57CbznWTIpbKx38W0M3MDjSzRsBQoGz7Qndf5+5t3L2zu3cGZgJnuPubGUksUg9Tp8LGjTrFU6TW4u/uW4GRwIvAAqDE3eeZ2RgzOyPTAUXS6ZlnoGXLMISzSDFL5YAv7j4ZmFzluRuqadu3/rFE0q+iIty45cwzoVGjuNOIxEu9nlI0pk4Np3med17cSUTip+IvRePJJ6FVKxgwIO4kIvFT8Zei8PXX8Oyz4cIudfmIqPhLkXjpJVi/Xl0+Itup+EtRKCmBvfaC/v3jTiKSG1T8peBt2hS6fM4+G3bfPe40IrlBxV8K3pQpsGGDunxEEqn4S8ErKYG994Z+/eJOIpI7VPyloG3cCM89F7p8GqZ0SaNIcVDxl4L27LPhC+CCC+JOIpJbVPyloD32GHToACedFHcSkdyi4i8Fa8WKcH7/BRdo+GaRqvRfQgrWk0/Ctm0wbFjcSURyj4q/FKzHHoOjj4YePeJOIpJ7VPylIC1cCLNmwYUXxp1EJDep+EtBevzx0M9//vlxJxHJTSr+UnDcQ5fPgAHQrl3caURyk4q/FJxXX4WPPlKXj0hNVPyl4DzwADRvHsbuF5HkVPyloKxfDxMnhr7+5s3jTiOSu1T8paBMnAhffQXDh8edRCS3qfhLQRk/Hg4/HI45Ju4kIrlNxV8KxrvvhnP7hw8Hs7jTiOQ2FX8pGOPHQ+PGOstHJBUq/lIQNm0K5/afc064V6+I1EzFXwrCM8/A2rU60CuSKhV/KQj33AMHHQTf+U7cSUTyg4q/5L233oIZM+AnP9G4/SKp0n8VyXu33w7NmsEPfxh3EpH8oeIveW3FinBh18UXQ8uWcacRyR8q/pLXxo2Digr46U/jTiKSX1T8JW9VVMDdd8OgQXDwwXGnEckvKv6St0pKYPlyuOqquJOI5B8Vf8lL7uFA7yGHwCmnxJ1GJP+kVPzNbKCZLTSzxWY2KsnyX5jZfDObY2Yvm1mn9EcV2WH6dHjzTbjySo3jI1IXtRZ/M2sA3AkMAnoA55tZjyrN3gZ6u/sRwFPALekOKpLopptgv/3gkkviTiKSn1LZ8+8DLHb3D929ApgIDEls4O7l7v5VNDsTaJ/emCI7vPoq/P3vcM010KRJ3GlE8pO5e80NzM4FBrr78Gh+GHCsu4+spv1YYLm735Rk2QhgBEDbtm17lZSU1DN+5m3YsIHmeXBLqGLKOWrU4bz33p5MmDCTpk0r05Rsh2LaltmgnOnVr1+/2e7eu94rcvcaJ+BcYHzC/DBgbDVtLyTs+Teubb3du3f3fFBeXh53hJQUS87Zs93B/Q9/SE+eZIplW2aLcqYX8KbXUl9TmRqm8P2wFOiQMN8+em4nZjYAuB74jrtvrsf3kUi1broJWrUK4/iISN2l0uc/C+hmZgeaWSNgKFCW2MDMjgbGAWe4+8r0xxSBuXNh0qRwhk+LFnGnEclvtRZ/d98KjAReBBYAJe4+z8zGmNkZUbNbgebAX83sHTMrq2Z1InV23XWh6F95ZdxJRPJfKt0+uPtkYHKV525IeDwgzblEdvLKK/Dcc/DHP8Lee8edRiT/6QpfyXmVlfDLX0KHDhrKQSRdUtrzF4nTk0+Gq3kffhiaNo07jUhh0J6/5LTNm0Nf/1FHwYUXxp1GpHBoz19y2tixsGQJTJ2qWzSKpJP+O0nO+vRTGD06jNc/QKcUiKSVir/kJHcYORK2bQt7/yKSXur2kZw0aRKUlcEtt0CXLnGnESk82vOXnLNuXdjrP+oo+PnP404jUpi05y8559prYcUKePZZaKhPqEhGaM9fcsrUqeGm7CNHwjHHxJ1GpHCp+EvOWLEChg2DQw8NwziISOboj2rJCZWVcNFFob9/6lTYY4+4E4kUNhV/yQl/+Qu8+GLo8jn88LjTiBQ+dftI7GbODAd5zzkHfvSjuNOIFAcVf4nVkiUwZAh07Aj33QdmcScSKQ4q/hKbdevgtNOgogL+9jdo3TruRCLFQ33+EostW+D734dFi0Jf/yGHxJ1IpLio+EvWVVaGvv2pU+GBB+Dkk+NOJFJ81O0jWVVZCSNGwIMPwu9+B5dcEncikeKkPX/JmspKuPXWg5kyBX7721D8RSQe2vOXrNi6FS69FKZMacfvfgdjxujMHpE4qfhLxq1dG87qeeghuPjijxg9Ou5EIqJuH8moxYvh9NPDz/Hj4aCDPgYOjDuWSNHTnr9kzEsvwbHHwsqVMG1a6PYRkdyg4i9pt2kTXHUVnHoqtGsHb7wB3/lO3KlEJJGKv6TVO++EcfjvuAOuvBJmzYKDDoo7lYhUpeIvabF6Nfz0p9CrV3g8ZQrcfjs0bRp3MhFJRsVf6mXLFhg3Drp3h7vugiuugLlzQ5ePiOQuFX+pk4qKMArnwQfD5ZfDt74Fb70FY8fCXnvFnU5EaqPiL7tk1Sr485+ha9cwTEObNlBWBtOnw5FHxp1ORFKl8/ylVpWVMGNG2NP/619h82Y46aQwf8opulJXJB+p+EtS27aFO2yVlMBTT8Hnn0OLFnDZZWFEzsMOizuhiNSHir8A4B7uqlVeHsbXnzoV1qyBxo1h8GA477xwpW6zZnEnFZF0UPEvUitXwpw58O678Npr8OqrsGxZWNauXbi14sCBMGhQ2OMXkcKi4l/ANm+Gjz+GDz6ADz8MP+fODUV/xYod7Tp3hn794IQTQl/+YYepH1+k0KVU/M1sIHA70AAY7+5/qrK8MfAI0AtYBfzA3ZekN6q4w4YN4d63a9eG6Ysvwh77zJmdeeIJWL48zC9bFvrp3Xe8vmlTOPTQ0I1zxBE7pjZt4vudRCQetRZ/M2sA3Al8F/gMmGVmZe4+P6HZpcAad+9qZkOBm4EfpDPo9iLmvmOqOp9Km119zerVjf7bHVJZGQ6Ebt2685Tsueqer6gIY98kTl9/Xf1z69fvKPTr1oV1JmPWibZtQ5fNfvuFvfdOnaBLlzC8Qpcu4Xnt0YsIpLbn3wdY7O4fApjZRGAIkFj8hwCjo8dPAWPNzNwT9zt39v77e9KkSWoFOF7fzvg7NGkS9sq3T4nz7dqFvfVWrcLUsuWOx61ahQuq2rWDBQv+Qf/+Gj1NRFKTSvE/APg0Yf4z4Njq2rj7VjNbB+wNfJHYyMxGACOi2c2bN9vcuoTOsjZU+T3S7euvw7RmTb1Wk/GcaZIPOfMhIyhnuuVLzoPTsZKsHvB193uBewHM7E13753N968L5UyvfMiZDxlBOdMtn3KmYz2pDO+wFOiQMN8+ei5pGzNrCLQkHPgVEZEclErxnwV0M7MDzawRMBQoq9KmDLgoenwu8Pea+vtFRCRetXb7RH34I4EXCad6PuDu88xsDPCmu5cB9wOPmtliYDXhC6I299YjdzYpZ3rlQ858yAjKmW5FldO0gy4iUnw0pLOISBFS8RcRKUIZLf5m9n0zm2dmlWbWu8qya81ssZktNLOkN/2LDjK/HrV7MjrgnFHR+7wTTUvM7J1q2i0xs39H7dJy6tUu5hxtZksTsg6upt3AaBsvNrNRMeS81czeM7M5ZjbJzFpV0y7r27O2bWNmjaPPw+Loc9g5G7mqZOhgZuVmNj/6v3RVkjZ9zWxdwmfhhmznjHLU+G9owR3R9pxjZj1jyHhwwnZ6x8zWm9nPqrSJZXua2QNmttJsx/VPZraXmU01s/ejn62ree1FUZv3zeyiZG2+wd0zNgGHEi5ImA70Tni+B/Au0Bg4EPgAaJDk9SXA0OjxPcAVmcyb5P3/DNxQzbIlQJts5qny/qOBX9bSpkG0bbsAjaJt3iPLOU8BGkaPbwZuzoXtmcq2AX4M3BM9Hgo8GcO/czugZ/R4T2BRkpx9geeznW1X/w2BwcALgAHHAa/HnLcBsBzolAvbE/gfoCcwN+G5W4BR0eNRyf7/AHsBH0Y/W0ePW9f2fhnd83f3Be6+MMmiIcBEd9/s7h8BiwnDSPyXmRlwMmG4CICHgTMzmTfJ+58HTMjWe2bAf4fmcPcKYPvQHFnj7i+5+9ZodibhOpFckMq2GUL43EH4HPaPPhdZ4+7L3P2t6PGXwALCFfX5aAjwiAczgVZm1i7GPP2BD9z94xgz/Je7/4NwtmSixM9gdTXwVGCqu6929zXAVGBgbe8XV59/siEjqn6g9wbWJhSOZG0y6SRghbu/X81yB14ys9nRsBVxGBn9+fxANX8OprKds+mHhD2/ZLK9PVPZNjsNWwJsH7YkFlG309HA60kWH29m75rZC2b2rawG26G2f8Nc+zwOpfqdu1zYngD7uns0tCTLgX2TtKnTdq338A5mNg3YL8mi69392fquPxNSzHw+NezrmJ8AAAKmSURBVO/1n+juS81sH2Cqmb0XfXNnJSdwN3Aj4T/cjYQuqh+m8/1Tlcr2NLPrga3A49WsJuPbM5+ZWXPgaeBn7r6+yuK3CF0XG6JjP6VAt2xnJI/+DaPjh2cA1yZZnCvbcyfu7maWtnPz61383X1AHV6WypARqwh/FjaM9rqStamT2jJbGKLibML9Capbx9Lo50ozm0ToRkjrBz3VbWtm9wHPJ1mUynautxS258XA94D+HnVSJllHxrdnFbsybMlnFuOwJWa2O6HwP+7uz1Rdnvhl4O6TzewuM2vj7lkdpCyFf8OsfB5TNAh4y91XVF2QK9szssLM2rn7sqiLbGWSNksJxym2a084zlqjuLp9yoCh0dkUBxK+Vd9IbBAViXLCcBEQho/I1l8SA4D33P2zZAvNrJmZ7bn9MeGgZlZHKK3SV3pWNe+fytAcGWXhRkC/As5w96+qaRPH9syLYUuiYwz3Awvc/S/VtNlv+7EIM+tD+H+d1S+pFP8Ny4D/F531cxywLqFLI9uq/cs+F7ZngsTPYHU18EXgFDNrHXX/nhI9V7MMH70+i9D/tBlYAbyYsOx6wtkWC4FBCc9PBvaPHnchfCksBv4KNM5k3oQMDwGXV3luf2ByQq53o2keoXsj22cGPAr8G5gTfUDaVc0ZzQ8mnCHyQUw5FxP6I9+Jpnuq5oxreybbNsAYwhcVQJPoc7c4+hx2iWH7nUjo2puTsA0HA5dv/4wCI6Pt9i7hoPq3Y8iZ9N+wSk4j3Bjqg+iz2zvbOaMczQjFvGXCc7FvT8KX0TJgS1Q3LyUcY3oZeB+YBuwVte1NuKvi9tf+MPqcLgYuSeX9NLyDiEgR0hW+IiJFSMVfRKQIqfiLiBQhFX8RkSKk4i8iUoRU/EVEipCKv4hIEfr//XMmciIu/UMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "plt.figure()\n", "plt.axis([-10,10,0,1])\n", "plt.grid(True)\n", "X=np.arange(-10,10,0.1)\n", "y=1/(1+np.e**(-X))\n", "plt.plot(X,y,'b-')\n", "plt.title(\"Logistic function\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Logistic regression is essentially linear regression, only add a layer of function map in the mapping from characteristic and result, which is add linear characteristic first and then use function $g(z)$ as the hypothesis function to predict. $g(z)$ can map continuous value between 0 and 1. We put the expression of logestic model into $g(z)$ to get the expression of logestic regression\n", "\n", "$$\n", "h_\\theta(x) = g(\\theta^T x) = \\frac{1}{1+e^{-\\theta^T x}}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2 Soft classification of logestic regression\n", "\n", "Now we normalize the value of y $h_\\theta(x)$ to between (0,1) by Logistic function. The value of $y$ have special meaning, which represent the probability that the result getting 1. Therefore the probabilities of input $x$ classification result as category 1 and category 0 are respectively:\n", "\n", "$$\n", "P(y=1|x,\\theta) = h_\\theta(x) \\\\\n", "P(y=0|x,\\theta) = 1 - h_\\theta(x)\n", "$$\n", "\n", "We merge the upper function can get:\n", "\n", "$$\n", "p(y|x,\\theta) = (h_\\theta(x))^y (1 - h_\\theta(x))^{1-y}\n", "$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3 Gradient rise\n", "\n", "When we get the expression for logestic regression, the next step is similar to linear regerssion. We bulid likelihood function then do the maximum likelihood estimation to derive the iteration udate expression for $\\theta$. However we use gradient rise rather than gradient descent beacuse this is maximum likelihood function.\n", "\n", "We assume that the training sample are independent with each other, so that the linkelihood function expression is:\n", "![Loss](images/eq_loss.png)\n", "\n", "Similarly, take the log of likelihood function, we can get:\n", "\n", "![LogLoss](images/eq_logloss.png)\n", "\n", "Takes the partial derivative of $\\theta$ to converted likelihood function, we take a case where there is only one training sample:\n", "\n", "![LogLossDiff](images/eq_logloss_diff.png)\n", "\n", "In the process of getting patial derivative:\n", "* The first step is to convert the partial derivative of $\\theta$, according to the partial formula: $y= LNX $, $y'=1/x$.\n", "* The second step is to use the characteristic of $g(z)$ when doing derivative: $g'(z) = g(z)(1 - g(z))$ \n", "* The third step was normal translation.\n", "\n", "In this way, we get the update direction of graient rise in every iteration, so that the iteration expression of $\\theta$ is: \n", "\n", "$$\n", "\\theta_j := \\theta_j + \\alpha(y^i - h_\\theta(x^i)) x_j^i\n", "$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.4 The sample program" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "from __future__ import division\n", "import numpy as np\n", "import sklearn.datasets\n", "import matplotlib.pyplot as plt\n", "\n", "np.random.seed(0)\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "data = [[ 0.694565 0.42666408]\n", " [ 1.68353008 -0.80016643]\n", " [-0.25046823 0.24392224]\n", " [-1.13337973 -0.6112787 ]\n", " [ 1.76905577 -0.31025439]\n", " [ 2.00225511 -0.18592 ]\n", " [ 0.91169861 0.46995543]\n", " [ 0.88211794 -0.46701178]\n", " [ 0.75006972 0.33995342]\n", " [ 1.30208867 -0.72334923]]\n", "label = [0 1 1 0 1 1 0 1 0 1]\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Original Data')" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# load sample data\n", "data, label = sklearn.datasets.make_moons(200, noise=0.30)\n", "\n", "print(\"data = \", data[:10, :])\n", "print(\"label = \", label[:10])\n", "\n", "plt.scatter(data[:,0], data[:,1], c=label)\n", "plt.title(\"Original Data\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def plot_decision_boundary(predict_func, data, label):\n", " \"\"\"Draw result\n", " Args:\n", " pred_func (callable): Predict function\n", " data (numpy.ndarray): Training data set\n", " label (numpy.ndarray): Training data label\n", " ravel() split the data, without changing the original data\n", " \"\"\"\n", " x_min, x_max = data[:, 0].min() - .5, data[:, 0].max() + .5\n", " y_min, y_max = data[:, 1].min() - .5, data[:, 1].max() + .5\n", " h = 0.01\n", "\n", " xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n", "\n", " Z = predict_func(np.c_[xx.ravel(), yy.ravel()])\n", " Z = Z.reshape(xx.shape)\n", "\n", " plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral)\n", " plt.scatter(data[:, 0], data[:, 1], c=label, cmap=plt.cm.Spectral)\n", " plt.show()\n", "\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "def sigmoid(x):\n", " return 1.0 / (1 + np.exp(-x))\n", "\n", "class Logistic(object):\n", " \"\"\"logestic regression model\"\"\"\n", " def __init__(self, data, label):\n", " self.data = data\n", " self.label = label\n", "\n", " self.data_num, n = np.shape(data)\n", " self.weights = np.ones(n)\n", " self.b = 1\n", "\n", " def train(self, num_iteration=150):\n", " \"\"\"Random gradient rise algorithm\n", " Args:\n", " data (numpy.ndarray): Training data set\n", " labels (numpy.ndarray): Training label\n", " num_iteration (int): Iteration times\n", " \"\"\"\n", " for j in range(num_iteration):\n", " data_index = list(range(self.data_num))\n", " for i in range(self.data_num):\n", " # learning rate\n", " alpha = 0.01\n", " rand_index = int(np.random.uniform(0, len(data_index))) #Choose trianing radomly\n", " error = self.label[rand_index] - sigmoid(sum(self.data[rand_index] * self.weights + self.b))\n", " self.weights += alpha * error * self.data[rand_index]\n", " self.b += alpha * error\n", " del(data_index[rand_index]) \n", "\n", " def predict(self, predict_data):\n", " \"\"\"Predict function\"\"\"\n", " result = list(map(lambda x: 1 if sum(self.weights * x + self.b) > 0 else 0,\n", " predict_data))\n", " return np.array(result)\n" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "logistic = Logistic(data, label)\n", "logistic.train(200)\n", "plot_decision_boundary(lambda x:logistic.predict(x) , data, label) #lambda generate callable function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. How to use sklearn solve logestic regression?" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "accuracy train = 0.825000\n", "accuracy test = 0.900000\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.linear_model.logistic import LogisticRegression\n", "from sklearn.metrics import confusion_matrix\n", "from sklearn.metrics import accuracy_score\n", "import matplotlib.pyplot as plt\n", "\n", "# calculate train/test data number\n", "N = len(data)\n", "N_train = int(N*0.8)\n", "N_test = N - N_train\n", "\n", "# split train/test data\n", "x_train = data[:N_train, :]\n", "y_train = label[:N_train]\n", "x_test = data[N_train:, :]\n", "y_test = label[N_train:]\n", "\n", "# do logistic regression\n", "lr=LogisticRegression()\n", "lr.fit(x_train,y_train)\n", "\n", "pred_train = lr.predict(x_train)\n", "pred_test = lr.predict(x_test)\n", "\n", "# calculate train/test accuracy\n", "acc_train = accuracy_score(y_train, pred_train)\n", "acc_test = accuracy_score(y_test, pred_test)\n", "print(\"accuracy train = %f\" % acc_train)\n", "print(\"accuracy test = %f\" % acc_test)\n", "\n", "# plot confusion matrix\n", "cm = confusion_matrix(y_test,pred_test)\n", "\n", "plt.matshow(cm)\n", "plt.title(u'Confusion Matrix')\n", "plt.colorbar()\n", "plt.ylabel(u'Groundtruth')\n", "plt.xlabel(u'Predict')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Multiple recognition problem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 Load display data" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt \n", "from sklearn.datasets import load_digits\n", "\n", "# load data\n", "digits = load_digits()\n", "\n", "# copied from notebook 02_sklearn_data.ipynb\n", "fig = plt.figure(figsize=(6, 6)) # figure size in inches\n", "fig.subplots_adjust(left=0, right=1, bottom=0, top=1, hspace=0.05, wspace=0.05)\n", "\n", "# plot the digits: each image is 8x8 pixels\n", "for i in range(64):\n", " ax = fig.add_subplot(8, 8, i + 1, xticks=[], yticks=[])\n", " ax.imshow(digits.images[i], cmap=plt.cm.binary)\n", " \n", " # label the image with the target value\n", " ax.text(0, 7, str(digits.target[i]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 Visual characteristics\n", "\n", "For the problem in machine learing, one good way is to reduce original high dimension to 2-3 dimension by dimension reduction and visual processing. In this way, we can have a preliminary understanding of the data to be processed. The simplist dimension reduction method Principal Component Analysisi(PCA) is introduced.\n", "\n", "PCA seeks orthogonal linear combinations of features with maximum variance so that we can better understand the structure of the data. At here, we will use Randomized PCA, because it will ahcieve a better computational effenciency when the data number $N$ is relatively large.\n", "\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.decomposition import PCA\n", "pca = PCA(n_components=2, svd_solver=\"randomized\")\n", "proj = pca.fit_transform(digits.data)\n", "\n", "plt.scatter(proj[:, 0], proj[:, 1], c=digits.target)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One disadvantage of PCA is that it may loss some interesting interconnections. We can use some manifold module method to see the nolinear dimension reduction and mapping.\n", "Here we will use[Isomap](https://blog.csdn.net/VictoriaW/article/details/78497316)(Series isometric mapping) which is a manifold dimension redution method based on graph theory." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.manifold import Isomap\n", "iso = Isomap(n_neighbors=5, n_components=2)\n", "proj = iso.fit_transform(digits.data)\n", "\n", "plt.scatter(proj[:, 0], proj[:, 1], c=digits.target)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.3 The sample program" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1797, 64)\n", "accuracy train = 0.998608, accuracy_test = 0.897222\n", "score_train = 0.998608, score_test = 0.897222\n" ] } ], "source": [ "from sklearn.datasets import load_digits\n", "from sklearn.linear_model.logistic import LogisticRegression\n", "from sklearn.metrics import accuracy_score\n", "\n", "import matplotlib.pyplot as plt \n", "\n", "# load digital data\n", "digits, dig_label = load_digits(return_X_y=True)\n", "print(digits.shape)\n", "\n", "# calculate train/test data number\n", "N = len(digits)\n", "N_train = int(N*0.8)\n", "N_test = N - N_train\n", "\n", "# split train/test data\n", "x_train = digits[:N_train, :]\n", "y_train = dig_label[:N_train]\n", "x_test = digits[N_train:, :]\n", "y_test = dig_label[N_train:]\n", "\n", "# FIXME: need to use Isomap to transform data\n", "\n", "# do logistic regression\n", "lr=LogisticRegression()\n", "lr.fit(x_train,y_train)\n", "\n", "pred_train = lr.predict(x_train)\n", "pred_test = lr.predict(x_test)\n", "\n", "# calculate train/test accuracy\n", "acc_train = accuracy_score(y_train, pred_train)\n", "acc_test = accuracy_score(y_test, pred_test)\n", "print(\"accuracy train = %f, accuracy_test = %f\" % (acc_train, acc_test))\n", "\n", "score_train = lr.score(x_train, y_train)\n", "score_test = lr.score(x_test, y_test)\n", "print(\"score_train = %f, score_test = %f\" % (score_train, score_test))\n", "\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.metrics import confusion_matrix\n", "\n", "# plot confusion matrix\n", "cm = confusion_matrix(y_test,pred_test)\n", "\n", "plt.matshow(cm)\n", "plt.title(u'Confusion Matrix')\n", "plt.colorbar()\n", "plt.ylabel(u'Groundtruth')\n", "plt.xlabel(u'Predict')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Pratice-How to draw misclassified data?\n", "\n", "1. How to get the index of misclassified data?\n", "2. How to do visiualizaion to these misclassified data according to their index?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "* [逻辑回归模型(Logistic Regression, LR)基础](https://www.cnblogs.com/sparkwen/p/3441197.html)\n", "* [逻辑回归(Logistic Regression)](http://www.cnblogs.com/BYRans/p/4713624.html)" ] } ], "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.9" } }, "nbformat": 4, "nbformat_minor": 2 }