{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Logistic Regression\n", "\n", "逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。本节主要详述逻辑回归模型的基础。\n", "\n", "\n", "## 1 逻辑回归模型\n", "回归是一种比较容易理解的模型,就相当于$y=f(x)$,表明自变量$x$与因变量$y$的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量$x$,即特征数据,判断是否生病就相当于获取因变量$y$,即预测分类。\n", "\n", "最简单的回归是线性回归,在此借用Andrew NG的讲义,有如图所示,$X$为数据点——肿瘤的大小,$Y$为观测值——是否是恶性肿瘤。通过构建线性回归模型,如$h_\\theta(x)$所示,构建线性回归模型后,即可以根据肿瘤大小,预测是否为恶性肿瘤$h_\\theta(x)) \\ge 0.5$为恶性,$h_\\theta(x) \\lt 0.5$为良性。\n", "\n", "![LinearRegression](images/fig1.gif)\n", "\n", "然而线性回归的鲁棒性很差,例如在上图的数据集上建立回归,因最右边噪点的存在,使回归模型在训练集上表现都很差。这主要是由于线性回归在整个实数域内敏感度一致,而分类范围,需要在$[0,1]$。\n", "\n", "逻辑回归就是一种减小预测范围,将预测值限定为$[0,1]$间的一种回归模型,其回归方程与回归曲线如图2所示。逻辑曲线在$z=0$时,十分敏感,在$z>>0$或$z<<0$处,都不敏感,将预测值限定为$(0,1)$。\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "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": [ "### 逻辑回归表达式\n", "\n", "这个函数称为Logistic函数(logistic function),也称为Sigmoid函数(sigmoid function)。函数公式如下:\n", "\n", "$$\n", "g(z) = \\frac{1}{1+e^{-z}}\n", "$$\n", "\n", "Logistic函数当z趋近于无穷大时,g(z)趋近于1;当z趋近于无穷小时,g(z)趋近于0。Logistic函数的图形如上图所示。Logistic函数求导时有一个特性,这个特性将在下面的推导中用到,这个特性为:\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": 3, "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": [ "逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数$g(z)$将最为假设函数来预测。$g(z)$可以将连续值映射到0到1之间。线性回归模型的表达式带入$g(z)$,就得到逻辑回归的表达式:\n", "\n", "$$\n", "h_\\theta(x) = g(\\theta^T x) = \\frac{1}{1+e^{-\\theta^T x}}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 逻辑回归的软分类\n", "\n", "现在我们将y的取值$h_\\theta(x)$通过Logistic函数归一化到(0,1)间,$y$的取值有特殊的含义,它表示结果取1的概率,因此对于输入$x$分类结果为类别1和类别0的概率分别为:\n", "\n", "$$\n", "P(y=1|x,\\theta) = h_\\theta(x) \\\\\n", "P(y=0|x,\\theta) = 1 - h_\\theta(x)\n", "$$\n", "\n", "对上面的表达式合并一下就是:\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": [ "### 梯度上升\n", "\n", "得到了逻辑回归的表达式,下一步跟线性回归类似,构建似然函数,然后最大似然估计,最终推导出$\\theta$的迭代更新表达式。只不过这里用的不是梯度下降,而是梯度上升,因为这里是最大化似然函数。\n", "\n", "我们假设训练样本相互独立,那么似然函数表达式为:\n", "![Loss](images/eq_loss.png)\n", "\n", "同样对似然函数取log,转换为:\n", "![LogLoss](images/eq_logloss.png)\n", "\n", "转换后的似然函数对$\\theta$求偏导,在这里我们以只有一个训练样本的情况为例:\n", "![LogLossDiff](images/eq_logloss_diff.png)\n", "\n", "这个求偏导过程中:\n", "* 第一步是对$\\theta$偏导的转化,依据偏导公式:$y=lnx$, $y'=1/x$。\n", "* 第二步是根据g(z)求导的特性g'(z) = g(z)(1 - g(z)) 。\n", "* 第三步就是普通的变换。\n", "\n", "这样我们就得到了梯度上升每次迭代的更新方向,那么$\\theta$的迭代表达式为:\n", "$$\n", "\\theta_j := \\theta_j + \\alpha(y^i - h_\\theta(x^i)) x_j^i\n", "$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Program" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "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": 2, "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": 2, "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": 3, "metadata": {}, "outputs": [], "source": [ "def plot_decision_boundary(predict_func, data, label):\n", " \"\"\"画出结果图\n", " Args:\n", " pred_func (callable): 预测函数\n", " data (numpy.ndarray): 训练数据集合\n", " label (numpy.ndarray): 训练数据标签\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": 4, "metadata": {}, "outputs": [], "source": [ "def sigmoid(x):\n", " return 1.0 / (1 + np.exp(-x))\n", "\n", "class Logistic(object):\n", " \"\"\"logistic回归模型\"\"\"\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", " \"\"\"随机梯度上升算法\n", " Args:\n", " data (numpy.ndarray): 训练数据集\n", " labels (numpy.ndarray): 训练标签\n", " num_iteration (int): 迭代次数\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", " # 学习速率\n", " alpha = 0.01\n", " rand_index = int(np.random.uniform(0, len(data_index)))\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", " \"\"\"预测函数\"\"\"\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": 5, "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)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How to use sklearn to resolve the problem\n" ] }, { "cell_type": "code", "execution_count": 6, "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": [ "## Multi-class recognition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load & show the data" ] }, { "cell_type": "code", "execution_count": 7, "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": [ "### Visualizing the Data\n", "\n", "A good first-step for many problems is to visualize the data using one of the Dimensionality Reduction techniques we saw earlier. We'll start with the most straightforward one, Principal Component Analysis (PCA).\n", "\n", "PCA seeks orthogonal linear combinations of the features which show the greatest variance, and as such, can help give you a good idea of the structure of the data set. Here we'll use RandomizedPCA, because it's faster for large N." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "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": [ "A weakness of PCA is that it produces a linear dimensionality reduction:\n", "this may miss some interesting relationships in the data. If we want to\n", "see a nonlinear mapping of the data, we can use one of the several\n", "methods in the `manifold` module. Here we'll use [Isomap](https://blog.csdn.net/VictoriaW/article/details/78497316) (a concatenation\n", "of Isometric Mapping) which is a manifold learning method based on\n", "graph theory:" ] }, { "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.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": [ "## Program" ] }, { "cell_type": "code", "execution_count": 10, "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", "# 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": 21, "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": [ "## Exercise - How to draw mis-classfied data?\n", "\n", "1. How to obtain the mis-classified index?\n", "2. How to draw them?" ] }, { "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.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }