diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..abe33cf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# files
+.idea
+
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..debf80d
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/lihang-code.iml b/.idea/lihang-code.iml
new file mode 100644
index 0000000..d0876a7
--- /dev/null
+++ b/.idea/lihang-code.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..7966d0c
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..423e47e
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\347\254\25401\347\253\240 \347\273\237\350\256\241\345\255\246\344\271\240\346\226\271\346\263\225\346\246\202\350\256\272/.ipynb_checkpoints/1.Introduction_to_statistical_learning_methods-checkpoint.ipynb" "b/\347\254\25401\347\253\240 \347\273\237\350\256\241\345\255\246\344\271\240\346\226\271\346\263\225\346\246\202\350\256\272/.ipynb_checkpoints/1.Introduction_to_statistical_learning_methods-checkpoint.ipynb"
new file mode 100644
index 0000000..f4b6929
--- /dev/null
+++ "b/\347\254\25401\347\253\240 \347\273\237\350\256\241\345\255\246\344\271\240\346\226\271\346\263\225\346\246\202\350\256\272/.ipynb_checkpoints/1.Introduction_to_statistical_learning_methods-checkpoint.ipynb"
@@ -0,0 +1,511 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 第1章 统计学习方法概论"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "1.统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行分析与预测的一门学科。统计学习包括监督学习、非监督学习、半监督学习和强化学习。\n",
+ "\n",
+ "2.统计学习方法三要素——模型、策略、算法,对理解统计学习方法起到提纲挈领的作用。\n",
+ "\n",
+ "3.本书主要讨论监督学习,监督学习可以概括如下:从给定有限的训练数据出发, 假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一评价准则,从假设空间中选取一个最优的模型,使它对已给训练数据及未知测试数据在给定评价标准意义下有最准确的预测。\n",
+ "\n",
+ "4.统计学习中,进行模型选择或者说提高学习的泛化能力是一个重要问题。如果只考虑减少训练误差,就可能产生过拟合现象。模型选择的方法有正则化与交叉验证。学习方法泛化能力的分析是统计学习理论研究的重要课题。\n",
+ "\n",
+ "5.分类问题、标注问题和回归问题都是监督学习的重要问题。本书中介绍的统计学习方法包括感知机、$k$近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM算法、隐马尔可夫模型和条件随机场。这些方法是主要的分类、标注以及回归方法。它们又可以归类为生成方法与判别方法。\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 使用最小二乘法拟和曲线\n",
+ "\n",
+ "高斯于1823年在误差$e_1,…,e_n$独立同分布的假定下,证明了最小二乘方法的一个最优性质: 在所有无偏的线性估计类中,最小二乘方法是其中方差最小的!\n",
+ "对于数据$(x_i, y_i) (i=1, 2, 3...,m)$\n",
+ "\n",
+ "拟合出函数$h(x)$\n",
+ "\n",
+ "有误差,即残差:$r_i=h(x_i)-y_i$\n",
+ "\n",
+ "此时$L2$范数(残差平方和)最小时,$h(x)$ 和 $y$ 相似度最高,更拟合"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "一般的$H(x)$为$n$次的多项式,$H(x)=w_0+w_1x+w_2x^2+...w_nx^n$\n",
+ "\n",
+ "$w(w_0,w_1,w_2,...,w_n)$为参数\n",
+ "\n",
+ "最小二乘法就是要找到一组 $w(w_0,w_1,w_2,...,w_n)$ ,使得$\\sum_{i=1}^n(h(x_i)-y_i)^2$ (残差平方和) 最小\n",
+ "\n",
+ "即,求 $min\\sum_{i=1}^n(h(x_i)-y_i)^2$\n",
+ "\n",
+ "----"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "举例:我们用目标函数$y=sin2{\\pi}x$, 加上一个正态分布的噪音干扰,用多项式去拟合【例1.1 11页】"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import scipy as sp\n",
+ "from scipy.optimize import leastsq\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "* ps: numpy.poly1d([1,2,3]) 生成 $1x^2+2x^1+3x^0$*"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 目标函数\n",
+ "def real_func(x):\n",
+ " return np.sin(2*np.pi*x)\n",
+ "\n",
+ "# 多项式\n",
+ "def fit_func(p, x):\n",
+ " f = np.poly1d(p)\n",
+ " return f(x)\n",
+ "\n",
+ "# 残差\n",
+ "def residuals_func(p, x, y):\n",
+ " ret = fit_func(p, x) - y\n",
+ " return ret"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556\n",
+ " 0.66666667 0.77777778 0.88888889 1. ] [-0.13279908173173613, 0.7367746341452334, 1.0045132782564739, 1.0297101571118858, 0.41600828736613554, -0.26374521862130107, -0.8323785925492532, -1.0074937559168053, -0.8772043052086325, 0.03821360535661758]\n"
+ ]
+ }
+ ],
+ "source": [
+ "# 十个点\n",
+ "x = np.linspace(0, 1, 10)\n",
+ "x_points = np.linspace(0, 1, 1000)\n",
+ "# 加上正态分布噪音的目标函数的值\n",
+ "y_ = real_func(x)\n",
+ "y = [np.random.normal(0, 0.1) + y1 for y1 in y_]\n",
+ "print(x,y)\n",
+ "\n",
+ "def fitting(M=0):\n",
+ " \"\"\"\n",
+ " M 为 多项式的次数\n",
+ " \"\"\"\n",
+ " # 随机初始化多项式参数\n",
+ " p_init = np.random.rand(M + 1)\n",
+ " print(\"parameters initialization: \", p_init)\n",
+ " # 最小二乘法\n",
+ " p_lsq = leastsq(residuals_func, p_init, args=(x, y))\n",
+ " print('Fitting Parameters:', p_lsq[0])\n",
+ "\n",
+ " # 可视化\n",
+ " plt.plot(x_points, real_func(x_points), label='real')\n",
+ " plt.plot(x_points, fit_func(p_lsq[0], x_points), label='fitted curve')\n",
+ " plt.plot(x, y, 'bo', label='noise')\n",
+ " plt.legend()\n",
+ " return p_lsq"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### M=0"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "parameters initialization: [0.51134405]\n",
+ "Fitting Parameters: [0.0111599]\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# M=0\n",
+ "p_lsq_0 = fitting(M=0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### M=1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "parameters initialization: [0.33798747 0.7429498 ]\n",
+ "Fitting Parameters: [-1.42280691 0.72256336]\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# M=1\n",
+ "p_lsq_1 = fitting(M=1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### M=3 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "parameters initialization: [0.80748537 0.26355156 0.15225828 0.69983347]\n",
+ "Fitting Parameters: [ 23.51836106 -35.90542618 12.59021898 -0.18343697]\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABDQUlEQVR4nO3dd1xV5R/A8c/DFlQQwclyIi5wj9TcqJlmpjkqG2r90naWZcOG7WnDsnJUNK3U3Gm5994oKsMNKEP2eH5/HEwxVJDLPXD5vl8vXtx7nnPP+R7gfjn3Oc/5PkprjRBCCNtnZ3YAQgghrEMSvhBClBOS8IUQopyQhC+EEOWEJHwhhCgnHMwO4Gq8vLx0QECA2WEIIUSZsm3btjittXdBbaU24QcEBLB161azwxBCiDJFKRV1tTbp0hFCiHJCEr4QQpQTkvCFEKKcKLV9+EKIsiMrK4vjx4+Tnp5udijlhouLCz4+Pjg6Ohb6NZLwhRDFdvz4cSpVqkRAQABKKbPDsXlaa+Lj4zl+/Dh16tQp9OukS0cIUWzp6elUrVpVkr2VKKWoWrVqkT9RScIXQliEJHvrupGft3Tp2KL0JDi7H5JOQPIZyEo1ltvZg5s3VKwBVeuCRwDYyf98IcoLSfi2IDMVjq6EQ4shch2cO1K41zlXhprBULcr1O8BNYLlH4Aoty7e7Onl5WV2KCVGEn5ZdmoXbPkG9syBrBQjgQd0hpDhRvL28IWK1cGporF+bhakxELyaYgNh9O7IWYz/P2a8eXhB82HGa/3rGvusQlRDFprtNbYyQlMPpLwy6KLSfrYanCoAM0GQ7Mh4NcRHJyu8UIncHKDKgHg1/7S4gtnIWI57P4FVr9rfDW6BW56DHzblvTRCGERkZGRhIaG0q5dO7Zt28bQoUNZsGABGRkZDBo0iFdeeQWA2267jZiYGNLT03nssccYO3asyZFbjyT8suR8JCyeaHTduHlD7ynQ4i6o4FG87VasBiEjjK/EE7B1Bmz5Gg4uMD4x9HoVare0xBGIcuCVP/ex/2SSRbfZuFZlXr61yXXXO3z4MLNnzyYpKYk5c+awefNmtNYMGDCA1atX06VLF2bMmIGnpydpaWm0adOGwYMHU7VqVYvGW1rJ552yICcb1k2Fz9obZ/U9XoJHd0LH8cVP9ldyrw09XoQn90Oft+DsAfiqG8x5ABKP39Amw8IgIMC4PBAQYDwXoiT4+/vTvn17li1bxrJly2jRogUtW7bk4MGDHD58GICpU6cSHBxM+/btiYmJ+Xd5eSBn+KVd4gn47QGI3gCB/aDfu+DuU/L7dXKD9v+DkJGwfiqs/xQOLTH+2bQZbYz4KYSwMBg7FlLzBgpFRRnPAUaOLKHYhakKcyZeUtzc3ACjD/+5557jwQcfzNe+cuVKli9fzoYNG3B1daVr167l6u5gi5zhK6VmKKXOKqX2XqVdKaWmKqUilFK7lVLSP1AYh/+CLzrB6T0waDoM+6FIyd4iZ9YulaH7CzBuk9Hvv/gZ+KY3xBduJNCkSZeS/UWpqcZyIUpKaGgoM2bM4MKFCwCcOHGCs2fPkpiYSJUqVXB1deXgwYNs3LjR5Eity1JdOrOAPtdo7ws0yPsaC0yz0H5t18YvIGwIVK4NY1dB8J1QhBstLp5ZR0WB1pfOrG+4O6WKP4ycA7d/bQz7/KIz7PzR2Pg1REcXbbkQltC7d29GjBhBhw4daNasGXfccQfJycn06dOH7OxsgoKCmDhxIu3bt7/+xmyI0td5wxZ6Q0oFAAu01k0LaPsSWKm1/jHveTjQVWt96mrba926tS6XE6Dk5sCS52Dzl9CoP9z+FTi5FnkzAQFGkr+Svz8cOao5mZDG8fNppGRkk5qVg6Odws3ZAQ9XR/yruuFe4RoFmRJPwO9jIWqtMTqo/0fgXLHIcURGFvmwRCl14MABgoKCzA6j3Cno566U2qa1bl3Q+tbqw68NxFz2/HjesnwJXyk1FuMTAH5+flYKrRTJyYa5/4M9v0D7cdD7tUL3lV/pamfQUVGaRi8uJivn2v/oq7o50czHnbZ1PLmpnhfNfdwv3crtXhtGzYc178PKN+HMfhj+gzHc8wpTpuTvwwdwdTWWCyGsq1RdtNVaTwemg3GGb3I41pWTDb+PgX2/Q/cXocvTxdqcr68mOvq/XUBunpk80Kkudbxc8aniSkVnB1yd7MnO1aRkZBOfkklkXApHYi+wPTqBleHhQDi1PSrQv3lNhrbxpZ53ReMf0c3PGMM159wP07vB0NlQp0u+/V28MDtpkvFPyM/PSPZywVYI67NWwj8B+F723CdvmQDIzYU/xhrJvterxg1PNygxNYuZ649h3zYDdTIInX3pV+zqqvlyqjMj+zYq9PbiL2TwT3gsi/acYsa6Y3y5+ig3N/RmTOe63FS/Kqp+TxjzD/w4HL69DQZMNe4NuMzIkZLghSgNrJXw5wPjlVI/Ae2AxGv135crWsOSZ2Hvb9Bz8g0n+5SMbGatj+TLVUdISs+mWz9vhrdL4ftPKhMTo/LOrFWRE2/Vis7c0cqHO1r5EJucwY+bo/l+YxR3fbOJdnU8mRAaSOuAejB6OfxyD8wbZ9y52+mJIl1kFkKUPIskfKXUj0BXwEspdRx4GXAE0Fp/ASwC+gERQCpwnyX2axPWvA+bp0OH8UaSLCKtNYv3nuaVP/dxJimDHo2q8WTvhjSp5Q7AlOL1DOXjXcmZR3s04MGb6/LT5hg++TuCO77YwMCQWrxwS2O8R/xiXINY8YqR9EPfkGJsQpQiFkn4Wuvh12nXwDhL7Mum7P3NqInT/E7o9VqRX34iIY0X5+7l74NnaVyzMp+PbEkrf88SCDQ/Zwd7RnUMYEhrH75YdZQvVh7h74Nnea5vEMNvn46qWA02fg5p5+G2z2/4wrMQwrLk9Mssp3bD3HHg1wEGfFrkM+GFu0/R56PVbDwazwu3BDF//E1WSfaXc3Vy4MleDVn8eGea1Xbn+T/2MPrb7cTf9DJ0ewF2/wR/PGhckBaihE2dOpWgoCBGjhzJ/PnzeeuttwCYO3cu+/fv/3e9WbNmcfLkySJtOzIykqZN/zPivMwpVaN0yo2UOPhpJFSoAkO/vU6Fy/zSMnN45c99/LQlhhBfD6YOa4Ff1aKP07eket4VCRvdjlnrI3lz0UH6TF3Lx3feR8cedrDiVeM6xaAvwV7+3ETJ+fzzz1m+fDk+Psbd6AMGDACMhN+/f38aN24MGAm/adOm1KpVy7RYAbKzs3FwsO57Qs7wrS03B+bcBxfOwLAwo1JlIZ1KTGPolxv4eWsMD3etx68PdTA92V+klOK+m+owb/xNuFdw5K5vNvGNuh3d42XYO8cYhZSbY3aYwkY99NBDHD16lL59+/Lhhx8ya9Ysxo8fz/r165k/fz4TJkwgJCSEt99+m61btzJy5EhCQkJIS0tj27Zt3HzzzbRq1YrQ0FBOnTLGk2zbto3g4GCCg4P57LPPrrrvt99+m2bNmhEcHMzEiRMB6Nq1KxdvHI2LiyMgIAAw/tkMGDCA7t2706NHD4YNG8bChQv/3da9997LnDlzyMnJYcKECbRp04bmzZvz5ZdfWuTnJKdc1rb2A6Pi5YBPi1RyeFvUeR78bhvpWTl8fU9regRVL8Egb1xQzcrMHXcTT/68k9cW7OdAqx681R0c/n4FnCsZd+XK6B3btniiUf/Jkmo0g75vXbX5iy++YMmSJfzzzz94eXkxa9YsADp27MiAAQPo378/d9xxhxHe4sW89957tG7dmqysLB555BHmzZuHt7c3P//8M5MmTWLGjBncd999fPrpp3Tp0oUJEyYUfKiLFzNv3jw2bdqEq6sr586du+6hbN++nd27d+Pp6ckff/zBL7/8wi233EJmZiYrVqxg2rRpfPPNN7i7u7NlyxYyMjK46aab6N27N3Xq1Cn6z+4ykvCtKWYz/PMmNB38n7Hq17J032ke+XEHNd1d+HFMOxpUr1SCQRZfRWcHvrirFR+tOMzUFYc5Ubcjs9o/hvPGj6GCJ/R82ewQhQAgPDycvXv30qtXLwBycnKoWbMmCQkJJCQk0KWLcSPh3XffzeLFi//z+uXLl3Pffffh6mp80vb0vP51tF69ev27Xt++fXnsscfIyMhgyZIldOnShQoVKrBs2TJ2797NnDlzAEhMTOTw4cOS8MuM9ESjzLF7bej/YaHPcn/ZGsPE33YT7OvBjFFtqOJW+P5+M9nZKZ7s1ZA6Xq5M+HU3g9N78mvzc1RY+wG4ekLHR8wOUZSUa5yJlzZaa5o0acKGDRvyLU9ISCjWdh0cHMjNzQX4T/nliyWcAVxcXOjatStLly7l559/ZtiwYf/G9cknnxAaGlqsOK4kffjWsugZo+jY4G/Axb1QL5m++gjPzNlNpwbehI1uV2aS/eUGtfDhq3taExGbQv8jg0it3x+WvQA7fzA7NFFOVKpUieTk5AKfBwYGEhsb+2/Cz8rKYt++fXh4eODh4cHatWsBCLtKmdlevXoxc+ZMUvOKRV3s0gkICGDbtm0A/56lX82dd97JzJkzWbNmDX36GEWHQ0NDmTZtGllZWQAcOnSIlJSUGzr+y0nCt4ZDy4whip2fLPQcsZ/9E8Ebiw7Sv3lNvr6nNa5OZffDWLdG1Qgb3Y7YlGz6n7iHDN/OMP8R41qGECVs2LBhvPvuu7Ro0YIjR45w77338tBDDxESEkJOTg5z5szh2WefJTg4mJCQENavXw/AzJkzGTduHCEhIVytqnCfPn0YMGAArVu3JiQkhPfeew+Ap59+mmnTptGiRQvi4uKuGV/v3r1ZtWoVPXv2xMnJOKkbPXo0jRs3pmXLljRt2pQHH3yQ7OziD2+2WHlkS7OZ8sjpSfB5e+OC5YOrwcH5ui/5es1RXl94gIEhtfhgaAj2drZxkXP38QRGfrUJP7dM5rq8hmPqaRi9ArwamB2aKCYpj2yOopZHljP8kvbXS5B8CgZ+VqhkP3t9JK8vPMAtzWry/pBgm0n2AM19PJj9QFuiUpwYlf4UucrBmOQlJd7s0IQoFyThl6TIdbBtJrR/GHwK/Iebzx87jvPy/H30alydj4aF4GBve7+eln5VmHVfG3ZecOcph4nopJPw0wjIKj/zigphFtvLKKVFThYseho8/KDb9SdwXXs4jgm/7qZD3ap8OqIFjjaY7C9qHeDJF3e14s94Hz5xfwpiNsKCx687XaIQonhsN6uYbcvXcHY/9HnrulMU7juZyEPfb6N+tYp8eU8rnB1sv9hYl4bevD24OR+cbMpir3th149G1VAhRIkpu0M/SrMLZ+GfN6B+Twjsd81VTySkcd/MLVRycWDmfW2o7HKNuWRtzOBWPpxOSufhpbksq3GEBkueg+pNIeAms0MTwibJGX5JWD4ZstKgz9vXvMEqNTOb0bO3kpaVw6z72lLTvYL1YiwlHu5ajxHtArj99CiSXX3h11HG/QpCCIuThG9pJ7bBzjDoOB686l91Na01E37dTfjpJD4Z3oLAGqW7XEJJUUoxeUATmtb1ZWjiI+RkpsIvd8tFXFHiXnrpJZYvX252GFYlCd+StIa/Xibs4H0EPPASdnYQEAAF3aT3+cojLNxzimf7NKJrYOErZtoiR3s7PhvZkuRKdXlOjzP+aS551uywRAkKCzPeG9d6j5S0V199lZ49e1p/xyaShG9Jh/8i7M/qjJ33LlHRdmgNUVEwdmz+P+jl+8/w3rJwBobUYmyXuubFW4p4ujnx9ajWLMhsxW8VhsC2WbDn2reki7IpLMx4T0RFcdX3yI2IjIwkKCiIMWPG0KRJE3r37k1aWho7d+6kffv2NG/enEGDBnH+/HngUiligIkTJ9K4cWOaN2/O008b84LGxsYyePBg2rRpQ5s2bVi3bl3xAiwNtNal8qtVq1a6TMnJ1vqz9tq/yglt/Bnn//L3N1aLjLugm760RN8ydbVOy8w2NeTSaPGek7res3N15DudtJ5SS+vYw2aHJAph//79hV7X3/+/74/L3yM36tixY9re3l7v2LFDa631kCFD9HfffaebNWumV65cqbXW+sUXX9SPPfaY1lrrUaNG6V9//VXHxcXphg0b6tzcXK211ufPn9daaz18+HC9Zs0arbXWUVFRulGjRsULsAQU9HMHtuqr5FU5w7eUXT/C2f1EJ9QssDk6GjKycxj3w3aUgmkjW+HiaPvDL4uqT9Oa3Ne5AcPix5CJA/x6r/Tn25jo6KItL4o6deoQEhICQKtWrThy5AgJCQncfPPNAIwaNYrVq/PXcHJ3d8fFxYUHHniA33///d9Sx8uXL2f8+PGEhIQwYMAAkpKSuHDhQvGDNJEkfEvIzjCGYdZuhZ9vwav4+cEbCw+w90QS7w0JxtezdMxUVRo906cRNf3q8VjGQ3BmDyx9zuyQhAX5+RVteVE4O18qX2Jvb1+oMscODg5s3ryZO+64gwULFvxbsTI3N5eNGzeyc+dOdu7cyYkTJ6hYsWLxgzSRJHxL2PEdJJ2A7i8w5Q2F6xW53NUVhjx0ntkbonigUx16N6lhTpxlhKO9HZ+OaMkG+1b86jwYts6Q/nwbMmUKBb5Hpkyx/L7c3d2pUqUKa9asAeC7777792z/ogsXLpCYmEi/fv348MMP2bVrF2BUsfzkk0/+XW/nzp2WD9DK5Mar4srOgDUfgE9bqNuNkfWMxZMmGR9R/fzgiefS+frkZkJ8PXi2TyNz4y0janlU4MOhIYyZlUZbz0P4L3gCfNpAFX+zQxPFNHKk8f3y98iUKZeWW9rs2bN56KGHSE1NpW7dusycOTNfe3JyMgMHDiQ9PR2tNR988AEAU6dOZdy4cTRv3pzs7Gy6dOnCF198UTJBWomURy6uLd/Awifhrt+hfo//NGfn5HLHFxs4GnuBRY91xqeKdOUUxZuLD7Bw9SZWuj2PQ61guHcB2Mm1j9JGyiObQ8ojW9PlZ/f1uhe4ymf/HGFnTAJTBjWTZH8DnuoViHvNeryScz9Er4e1H5odkhBlliT84tjxPSQdh64TCyyhsCsmgal/H+a2kFrcGlzLhADLPicHOz66M4RfsjqyybUreuWbcGK72WEJUSZJwr9ROVnG2aZPmwLP7lMzs3ni551Uq+TMKwObmhCg7WhQvRIT+wYx5twIUp284PcxkFn8+T2FZZXW7mFbdSM/b0n4N2rfH5AYA52fKvDs/o1FBzgal8L7Q4Jxr1B+KmCWlFEdAghuEMDDKWPQ8Udg6fXnGBDW4+LiQnx8vCR9K9FaEx8fj4uLS5FeJ6N0boTWsG4qeAVCg9D/NK8MP8v3G6MZ3akOHet7mRCg7bGzU7x7RzChHyUy1+V2Bm2bCQ16Q6Nrl58W1uHj48Px48eJjY01O5Ryw8XFBR8fnyK9RhL+jTj6j3FD0IBPjepPl0lOz+K53/fQoFpFng4NNClA21TD3YXXbmvK0z8OoLPXXrz+fBR824FbVbNDK/ccHR2pU6eO2WGI65AunRuxbipUrAHNh/6n6a3FBzmdlM7bdzSX0gkl4NbmNekS5MP9Cfej0xJg8QSzQxKizJCEX1Sndhtn+O0eBAfnfE0bjsQTtima+2+qQ0u/KiYFaNuUUkwZ1JRjDnX4xXUY7P0N9s83OywhygRJ+EW1/hNwqgit78+3OC0zh4m/78bP05Wne0tXTkmqXtmFF/s3ZlJcL+IrB8GCJyAlzuywhCj1JOEXRdIp2Pc7tLwHKnjka/rgr3Ci4lN5a3AzKjhJV05JG9LKhw4NavBAwv3o9ERY9LTZIQlR6knCL4ptsyA3B9qOybd4Z0wC36w9xvC2fnSsJ6NyrEEpxZu3N+MwfsypNNIYJrvvD7PDEqJUk4RfWNmZcHEooOelWaqycnKZ+NtuqlVy4bl+UhjNmnyquDIhNJCJZ3qQ4NEEFj4FF2RYoBBXIwm/sA7MhwtnoO3YfItnrYvk4OlkXhnYhMoucoOVtd3dIYDGtT158MJodEYyLHrK7JCEKLUskvCVUn2UUuFKqQil1MQC2u9VSsUqpXbmfY22xH6tavN048z+sjIKJxPS+HD5IXo0qkbvxtVNDK78srczRu1sTqnOimr3wv55cGCB2WEJUSoVO+ErpeyBz4C+QGNguFKqcQGr/qy1Dsn7+rq4+7WqkzshZhO0GZPvRqvXFuwnV2smD2iCKqC8grCO5j4e3NPen/9FdiLNM8i4gJueaHZYQpQ6ljjDbwtEaK2Paq0zgZ+AgRbYbumx5StwdIWQEf8u+if8LIv3nuaR7g1kusJS4KnQQDwqujEpezT6whlY/orZIQlR6lgi4dcGYi57fjxv2ZUGK6V2K6XmKKUKnPlVKTVWKbVVKbW11NTkSDtvTK/XbMi/QzHTs3J4ed4+6nm7MaZz3Wu/XlhFZRdHXurfmN/P1mS/73DY+g1EbTA7LCFKFWtdtP0TCNBaNwf+AmYXtJLWerrWurXWurW3t7eVQruOPXMgOz3fjVaf/RNB9LlUXrutKU4Oct27tOjfvCadG3hxb1QoOZV94c9HjUlqhBCAZRL+CeDyM3afvGX/0lrHa60vvvO+BlpZYL8lT2vYNhtqNIdaIQAcib3Al6uOcltILRlzX8oopXhtYFMSc5z4qvJ4iDsEa943OywhSg1LJPwtQAOlVB2llBMwDMhX3EQpVfOypwOAAxbYb8k7tdOoitnyHsCoQT15/j6cHe14/haZv7M0CvByY2znurwV4Ut83YHGFJRny8afmxAlrdgJX2udDYwHlmIk8l+01vuUUq8qpQbkrfaoUmqfUmoX8Chwb3H3axXbvwWHCkb/PbDiwFnWHI7jiZ4NqVapaBMPCOt5uFs9alR24ZHzQ9HOlWD+I8Yd0kKUcxbpgNZaL9JaN9Ra19NaT8lb9pLWen7e4+e01k201sFa625a64OW2G+Jykwx+u+b3AYVPMjIzuG1hfupX60id3fwNzs6cQ2uTg48168R608pNjZ8Go5vgS3fEBYGAQHGyNqAAAgLMztSIaxLrjhezf55kJH0b3fOjLWRRMWn8lL/xjjay4+ttBsQXIs2AVUYt6cBWQFdCXt/N2PH5BIVZVyaiYqCsWMl6YvyRTLX1Wz/FqrWB78OnE1K59O/D9MzqDpdGpaS0UPimpRSTB7QhIS0LKa5/o9Jy54lNS3/n3tqKkySqXFFOSIJvyDxRyB6A7S4G5Ti7SXhZOVoXpALtWVKk1ruDG/rx8c7c4lOKnjuz+hoKwclhIkk4Rdk98+AguZD2RmTwG/bj3N/pzoEeLmZHZkooqd6B1LR2QHXKgWPx/fzs3JAQphIEv6VtDYSft2bya1Yk8nz9+FdyZnx3eubHZm4AZ5uTjzVuyEuHQ/g4pydr83VFaZMMSkwIUwgCf9KMZvhfCQ0H8bcnSfYGZPAs30aUdHZwezIxA0a0daPFt2SCBgUjp9XHIpc/H2ymD4dRo40OzohrEey2JV2/wQOFUit14e3P9lGsI87t7coqDSQKCsc7O14vl8Q953dwls/XWD4phDwbQsjfgOkyqkoP+QM/3LZmbD3dwjqz9eb4ziTlMGL/RtjZydJoazrGuhNp/pevL0ukbROE+HICtg/1+ywhLAqSfiXO7wM0hNIaHA7X6w6Qp8mNWgd4Gl2VMIClFI83y+IxLQsPkjsAjWawZLnID3J7NCEsBpJ+Jfb/RO4VeO9iJpkZufybF+Zo9aWNK5VmSGtfJi18TinOr8Jyadh5ZtmhyWE1UjCvyjtPBxayvl6A/hhy0nuau9PHRmGaXOe6h2Ig50dr+10hVb3wqYv4NRus8MSwiok4V+0fz7kZDI1tiVuzg482qOB2RGJElC9sgsP3lyXRXtOs6PhY1ChCiyaYAzHFcLGScK/aN8fpFUKYOYxd8Z3q4+nm5PZEYkSMrZLXapXdmby8pPk9ngZYjbm3WwnhG2ThA+QEoc+tpp5We2o7eHKqI4BZkckSpCrkwNP9Q5kV0wCf9p1h1otYdmLcgFX2DxJ+AAH/kTpHGYltuCZPoG4ONqbHZEoYYNb+hBUszLvLD1MRug7kBILq942OywhSpQkfCBn7x9EqVo41WrKrc1rmR2OsAJ7O8WkfkGcSEjju+iqRhnsjdNkdixh0yThX4hFRa5hXlZbnr9FbrIqTzo18KJzAy8+/SeC5E7Pg3MlWPyMXMAVNqvcJ/wLO3/Djlzi/W+hfd2qZocjrOzZPo1ISM3iiy0J0P0FOLZa7sAVNqvcJ/zYjT8TkVuLuwf0NTsUYYKmtd0ZGFKLb9Ye40zDEcYduEsnGVNcCmFjynXCPxETiX/yDiJr9KZ+9UpmhyNM8lSvQHJyNR/9fRT6vQdJJ2DN+2aHJYTFleuEv3HhTOyUJjj0XrNDESbyq+rKyHb+/LI1hgiXptB8GKz/xJj5TAgbUm4TfvjpZGqdXEacSwDe9VqYHY4w2fju9XFxsOO9peHQ6xWwd4bFz8oFXGFTym3C/3zRZtraHaBii0FmhyJKAa+KzoztUo8l+06z/bwzdJ0IEX/BoSVmhyaExZTLhL8t6hwOEcuwR+PSdIDZ4YhSYnTnOnhVdOKtxQfRbceCV6Bxlp+VbnZoQlhEuUv4WmveXhxOf+ft5FaqCbWkO0cY3JwdeKxHAzYfO8fKiATo9w4kRMG6j80OTQiLKHcJf2V4LLsjT9FZ7cauUX9QcqOVuGRYWz8Cqrry9pKD5ATcDI1vg7UfQEK02aEJUWzlKuHn5mreXnKQ290P4ZCbDo1uMTskUco42tvxdGggB08nM3fHCej9OqCMsflClHHlKuH/ufskB08n81D1A+DsDgGdzA5JlEL9mtakWW13PvjrEOlutaDzU3BgPhxdaXZoQhRLuUn4mdm5vL/sEE1quOEbuxoahoK9o9lhiVLIzk4xsW8jTiSk8f3GKOj4CFQJgEXPQE6W2eEJccPKTcL/aUs00edSeb1VMirtnHTniGu6qb5RWO2zfyJIyrGH0DchLhw2Tzc7NCFuWLlI+CkZ2UxdEUG7Op6EXFhn3FRTv4fZYYlS7pnQRpxPzeKr1UchsC/U7wkr34ILZ80OTYgbUi4S/sx1x4i7kMEzoYGo8IVQt6tRCleIa2jm484tzWvy9ZpjnL2QAX3ehqw0WD7Z7NCEuCE2n/DPp2Ty5aqj9GpcnVYVThnD6xr1MzssUUY83TuQrJxcPlkRAV71ocPDsDMMYraYHZoQRWbzCf/zlRGkZGYzITQQDi8zFjbobW5Qosyo4+XGnW18+XFzNFHxKdBlAlSsAYsnQG6u2eEJUSQ2nfBPJqQxe0MUt7f0oWH1SnBomVHvvLJMYygK77EeDXCwV7y/7JDRFdj7NTi5A3Z8Z3ZowsaEhUFAANjZGd/Dwiy7fZtO+B8vPwwaHu/ZANLOQ8wmaBBqdliijKlW2YX7b6rD/F0n2XsiEZoNAb8OsOIVSEswOzxhI8LCYOxYiIoyirRGRRnPLZn0bTbhR5y9wK/bYrirvT8+VVzhyN+gc6Q7R9yQB2+uh3sFR95dGm6U4+j7jnESsfJNs0MTNmLSJEhNzb8sNdVYbikWSfhKqT5KqXClVIRSamIB7c5KqZ/z2jcppQIssd9reW9pOK5ODozrVs9YcGgZVPAEn9YlvWthg9wrODKuWz1WHYplw5F4qNkcWt0Hm7+CM/vNDk/YgOirlGu62vIbUeyEr5SyBz4D+gKNgeFKqcZXrPYAcF5rXR/4EHi7uPu9lp0xCSzZd5oxnetStaIz5OYYtc3r9wQ7+5LctbBh93QIoKa7C28tOYjW2pj03KUyLH5GJkoRxebnV7TlN8ISZ/htgQit9VGtdSbwEzDwinUGArPzHs8BeihVMmUqjfLHB6nq5sQDnesYC0/ugNR46c4RxeLiaM/jPRuwKyaBpftOg6sndH8RItfAvj/MDk+UcVOmgGuF/CcOrq7GckuxRMKvDcRc9vx43rIC19FaZwOJQNUrN6SUGquU2qqU2hobG3tDwRyLS2Fr1DnGd69PRWcHY+GhpaDs5O5aUWyDW/pQz9uNd5eGk52TC63uNUZ+LXsBMlPMDk+UYSNHwucvbMTfPRrQ+Plppk83lltKqbpoq7WerrVurbVu7e3tfUPbqOtdkb+f6sqIdpd9Djq8FHzaGGdkQhSDg70dE0IDORKbwm/bjxtdhH3fhaQTsOYDs8MTZdxNnh+z7bGOrDl4lqgoZdFkD5ZJ+CcA38ue++QtK3AdpZQD4A7EW2DfBfL1dMXZIa+vPvk0nNol3TnCYkKb1CDE14MP/zpMelYO+HeAZkNh/VQ4d9Ts8EQZdSEtHe/Ta9jn1p5OgdVLZB+WSPhbgAZKqTpKKSdgGDD/inXmA6PyHt8B/K21la5yRSw3vkvCFxailOLZPo04nZTOtxsijYW9XgV7J1jyvKmxibJr8aK5uHMB3/a3l9g+ip3w8/rkxwNLgQPAL1rrfUqpV5VSF2cI/waoqpSKAJ4E/jN0s8RErICK1Y1+ViEspEO9qnRp6M1n/xwhMS0LKtc0yi4cWgyH/zI7PFHGxF/IIHn3ArJxoE7b/iW2H4v04WutF2mtG2qt62mtp+Qte0lrPT/vcbrWeojWur7Wuq3W2jqfe3NzjVmK6nWXuWuFxT0TGkhiWhZfrjpiLGj/MFStD4ufhewMc4MTZcrnK4/QRW8j06ejMdS3hJSqi7YWd3oXpJ2Dut3MjkTYoKa13RkQXIsZ645xNikdHJyMEsrnjsDGz80OT5QRJxLSWL1hI/XtTuLatGQnZrLthH/kb+N73a6mhiFs15O9GpKdo/l4xWFjQYOeENgPVr0LSSfNDU6UCR8vP0Qvu7xy2yVcut3GE/4/UL0ZVCqZK95CBHi5MbytHz9tieFYXN44/NA3IDcb/nrJ3OBEqRdxNpk5244zovJuqBkMHha8rbYAtpvwM1MgeiPU62p2JMLGPdKjPk72dry3LNxY4FkHbnoU9vwKUevNDU6Uau8tPYSfYyI+KXsh6NYS35/NJfx/60m7uBLwwXbC9g03OyRh46pVcmF05zos3H2KPccTjYWdnoTKPrDoGaOWkxBX2JVX8+ulBseMBY0k4RdJ/nrSiqhEP8a+0NjikwgIcaUxXepSxdWRd5YeNBY4uULo63BmD2ydYW5wolR6Z+lBPN2c6JKzyRjd5R1Y4vu0qYRfcD1pZdF60kIUpLKLI+O61WfN4TjWRcQZCxvfBgGd4e/XIaXEbiwXZdDaw3Gsi4jniU7eOEStNbpzrDB03KYSvjXqSQtxNXe196eWuwtvXyyfrBT0excykuHv18wOT5QSWmveWXqQ2h4VuLPyPmNiJit054CNJXxr1JMW4mpcHO15vFdDdh9PZPHe08bCakHQdixsm2XUdBLl3pK9p9l9PJHHezbA6dBCqFwbarWwyr5tKuFPmWLUj76cpetJC3Etg1v60KBaRd67WD4ZoOtEcK1qXMCViVLKteycXN5bFk79ahW5vWkVOLICGt1izFpuBTaV8EeOhOlf5uLvcRylNP7+WLyetBDXYm+nmBAayNG4FH7ddtxYWMEDek6GmI2w+xczwxMm+337CY7EpvB070Dsj/4N2elWGY55kU0lfICRt8QQObETuTt+JjJSkr2wvl6Nq9PSz4OPlh8iLTNvSGbISKjdyrgZKyPZ3ACFKdIyc/jgr0OE+HoQ2qQ67J9rzLPt19FqMdhcwqeKP0w4Ak1KrsSoENdysXzymaQMZq2PNBba2RkTpVw4DaveMTU+YY6Z649xOimd5/o2QmWlQvhiaDwQ7B2sFoPtJXwwZiFycDI7ClGOtatblW6B3kxbGUFiapax0KcVtLgLNk6DuMPmBiis6lxKJtP+OULPoGq0q1vVmHY1KxWaDrZqHLaZ8IUoBSaENiI5I5tpF8snA/SYDI6uRglluYBbbnz6dwQpmdk826eRsWDvb8Y8Hf7W684BSfhClJjGtSozMLgWM9cd43RiurGwojd0e84YnRG+yNwAhVXEnEvlu42RDG3tS4PqlSA9yZgkp8kgozfCiiThC1GCnuwVSK7WfLzi0L/Lwg6PIWDqQeyC+hLgnyulP2zcu0vDsbdTPNGrobEgfBHkZJhynVESvhAlyK+qKyPa+vHL1uMcib1g1Ht6yIGo8zXR2BEVbcfYsUjSt1F7jicyf9dJHuhUh+qVXYyFe38Dd1/waWP1eCThC1HCxndvgLODHe8vC79KvSek3pMN0lrz5uIDeLo58eDN9YyFqeeMiZmaDLLazVaXk4QvRAnzruTM6M51WbTnNNHRBV+olXpPtmfVoVjWH4nnke71qeziaCw88KcxOU5Tc4aNS8IXwgrGdK6Dp5sTFapkFtjuVzPdyhGJkpSTq3lr8UH8PF0Z2c7/UsPe38CzLtQMMSUuSfhCWEGlvPLJFTrux9kl/1m+q2MaU3pNgZwsk6ITljZ3xwkOnk5mQmggTg55aTbpJBxbDU3vsEop5IJIwhfCSu5q70fgTecJGhKOn59GKYx6T1MOMjJgKmz+yuwQhQWkZ+Xw/rJwmvu4c0uzmpcadv8CaAgeZlpskvCFsBJnB3ue7NWQ87WOMHXeSXJzMeo9PR0C9XrAyjch+YzZYYpimrHuGCcT05nYtxF2dnln8lrDrh/Btx1UrWdabJLwhbCi21rUpnHNyry9+CDpWXmF1S5OlJKdAUufMzdAUSxnk9P5/J8j9AyqTsd6XpcaTu2C2IOmnt2DJHwhrMreTvFi/8acTEznq9VHLzVUrQednzIu6kUsNy9AUSwfLDtERnYOk24Jyt+w60ewdzKGY5pIEr4QVtahXlVCm1Rn2qojnEm6bHROp8ehagNY8CRkpl719aJ02n8yiZ+3xnBPhwDqeLldasjJgj2/QmBfqFDFvACRhC+EKZ7vF0RWTi7vLg2/tNDBGW79CBKiYPW7psUmik5rzesL9+NRwZFHuzfI3xixHFLjIXi4OcFdRhK+ECbwr+rGfTfV4bftx9lzPPFSQ0AnY7KU9VPhzH7zAhRFsvzAWdYfiefxng1xd3XM37jrR3D1gvo9zQnuMpLwhTDJ+O718XR14rUF+9GXl0ru9Ro4V4YFj0NurmnxicLJzM5lysL91PN2Y0Q7v/yNKfHGRCfNhoC9Y8EbsCJJ+EKYpLKLI0/2bsjmyHMs2Xv6UoNbVQidAjGbYMe35gUoCuXbDZFExqfyQv/GONpfkVJ3/Qg5mdDyHnOCu4IkfCFMdGdrXwKrV+KNxQfIyM651BA8HAI6G3PgXjhrXoDims6nZDJ1xWG6NPSmW2C1/I1aw7ZZ4NMWqjc2Jb4rScIXwkQO9na80D+ImHNpzFwXealBKbjlA8hKg6XPmxafuLYPlx8iJTOHF64chgkQvQHiD0OrUdYP7Cok4Qthss4NvOnRqBqf/h3B2eTLhml6N4ROTxpD+iJWmBegKND+k0l8vzGKEW39aFi90n9X2DbLuBZj8tj7y0nCF6IUeKF/YzKzc3lr0cH8DZ2egKr1YcETkJliTnDiP7TWvDx/Lx6uTjzVu+F/V0g7D/vnGRdrndz+224SSfhClAJ1vNwY06UOv+84wZbIc5caHF3g1qnG2Py/XzcvQJHPvJ0n2RJ5nmdCA/FwdfrvCrt/gex0aHWv1WO7Fkn4QpQS47rVp5a7Cy/O3Ut2zmXDMQNugjajYeM0iNlsXoACgOT0LKYsOkCwjztDW/v+d4WLF2trtYCaza0e37UUK+ErpTyVUn8ppQ7nfS/wvmGlVI5Samfe1/zi7FMIW+Xq5MCL/Rtz8HQy32+Myt/YczK4+8C88ZAlk6WYaeqKw8RdyODVgU0vVcO8XNQ6OLsfWt1n/eCuo7hn+BOBFVrrBsCKvOcFSdNah+R9DSjmPoWwWX2a1qBzAy/eX3aI2OSMSw3OlYyyC3HhsPod0+Ir7w6fSWbmukiGtfEl2Nej4JU2fWnUzGk2xKqxFUZxE/5AYHbe49nAbcXcnhDlmlKKyQOakJ6dw1uLr7iAW7+nUXZh7UdGuV1hVcaF2n24OTswIbRRwSslxMDBBdByFDi5WjfAQihuwq+utT6V9/g0UP0q67kopbYqpTYqpW672saUUmPz1tsaGxtbzNCEKJvqeVdkdOe6/Lb9ONuizuVvDJ0Cbl4wb5xMiWhli/acZv2ReJ4ODcTTrYALtQBbvja+t3nAeoEVwXUTvlJquVJqbwFfAy9fTxvFQPRVNuOvtW4NjAA+UkoVOOWL1nq61rq11rq1t7d3UY9FCJvxSPf61HR34YW5+/JfwK1QBW55H07vgXUfmRZfeZOUnsUrf+6jSa3KjGjrV/BKWWmwfTY0ugU8rrKOya6b8LXWPbXWTQv4mgecUUrVBMj7XuA94FrrE3nfjwIrgRYWOwIhbJCrkwMv39qYA6eS+GbtsfyNQbcaN/OsegfOHix4A8Ki3l0STtyFDN68vRn2BV2oBeMGubTz0PZB6wZXBMXt0pkPXLxveBQw78oVlFJVlFLOeY+9gJsAqfsqxHWENqlBr8bV+XD5IaLjr5gQpe+74FQR5j4kXTslbFvUeb7fFMWojgE09/EoeCWtYdN0qNbEKHFdShU34b8F9FJKHQZ65j1HKdVaKZXXmUUQsFUptQv4B3hLay0JX4jrUErx6sAmONjZMWnunvwllCt6Q/8P4eQOWPOBeUHauKycXJ7/fQ81KrvwVO/Aq6949B84swfaP2TUQSqlipXwtdbxWuseWusGeV0/5/KWb9Vaj857vF5r3UxrHZz3/RtLBC5EeVDTvQLP9AlkzeE45u48kb+xyW3QbKgxTPPEdlPis3VfrTlK+JlkXh3YlIrODldfce1HULEGNL/TarHdCLnTVohSbmQ7f1r4efDaggOcS8nM39jvHXCrBn88ZFw0FBYTFZ/Cx8sP0yeva+2qTu6AY6ug/f+MaSpLMUn4QpRy9naKt25vTlJaFq8vvKI3tEIVuO0z44asFa+aE6AN0loz6Y+9ONrbMXlAk2uvvPYjoypm69J3Z+2VJOELUQYE1qjEQzfX4/ftJ1hz+Ip7VOp1hzZjYOPncGy1OQHamJ+2xLA2Io5n+zaihrvL1VeMPwIH5kPr+8HF3XoB3iBJ+EKUEeO716eutxsTf9tDcvoVI3N6vQKe9WDuw5CeWPAGRKEcP5/K6wv207FeVUZebcz9RRs+BTsHozunDJCEL0QZ4eJoz3tDgjmVmMbrCw7kb3Ryg0FfQtIJWPysOQHaAK01E3/bA8Dbg5sXXBztouTTsCPMmI6yUg0rRVg8kvCFKENa+lXhwZvr8fPWGP4+eCZ/o28b6DLBmDh79y/mBFjG/bA5mrURcTx/SxC+ntephbP2Q9A5xiQ1ZYQkfCHKmMd7NiCweiUm/raHhNQrRu10eQZ828OCJ+HcUXMCLKNizqXyxsIDdKrvdfXyCRclnYStM42ze8861gnQAiThC1HGODvY8/7QYM6lZDJ5/r78jfYOMPgrsLODOfdDdmbBGxH55OZqnpmzG6UUbw1uhrrezVMXz+67TLBOgBYiCV+IMqhpbXfGd6/P3J0nWbznVP5GDz8Y8KkxPvzv18wJsIyZvuYoG47G82L/IHyqXKcrJ/G4MaNVyEio4m+V+CxFEr4QZdS4bvVp7uPOxN/3cDLhipuuGg8whgqunwoRy80JsIzYczyR95eF07dpjYKnLLzSmg+M2jldni754CxMEr4QZZSjvR1Th7UgOyeXx3/aSU7uFdXJQ98A7yDjLtzkMwVvpJxLzczmsZ924FXRmTdvL0RXTvwRowRyy3tKbQnka5GEL0QZFuDlxmu3NWVz5Dk+/Tsif6NjBRgyEzIuGP35OdnmBFmKvbZgP8fiU/hgaAgerleZ1ORyyyeDgwt0vdpsrqWbJHwhyrjbW/owqEVtPl5xiK2RV8yQVS0Ibv0YotbCismmxFdaLd5zih83x/DQzfXoUK/q9V8Qvcm4q/amx6BitZIPsARIwhfCBrw6sAm+nq489tPO/w7VDL4TWj8A6z+B/f+ZsqJcOhaXwjNzdhPs68ETPRte/wVaw18vQsXq0GFcyQdYQiThC2EDKrk48snwFsQmZ/BYQf35fd6E2q1g7jiIO2xOkKVEWmYO//t+Gw72is9HtsTJoRBp8MCfELMJuj1v3NVcRknCF8JGNPfxYPKAJqw6FMvHyw/lb3RwhqHfgoMT/Hw3ZKaYE6TJtNZMmruH8DPJfDSsBbU9Klz/RZmpsHSScQE85K6SD7IEScIXwoYMb+vLkFY+TP07guX7rxiZ4+4Dg78xSinPfdjopihnftwcw+/bT/Bo9wbc3NC7cC9a+yEkRsMt7xk3tpVhkvCFsCFKKV67rSlNa1fmiV92Ehl3xZl8vW7QczLsnwur3jYjRNNsjz7P5Pn76NLQm0d7NCjci+KPwLqPodmQUj1XbWFJwhfCxrg42jNtZCvs7RRjv9tK0pWllDs+CsEjYOWbsO8Pc4K0shMJaYz9dhs13F34+M4Q7K9VBfMirWHJRLB3gl62cceyJHwhbJCvpyufjWjJ0dgUxoVtJzsn91KjUnDrR0aRtT/+Z5RgsGEpGdk8MGsLGVk5zLi3NVXcCjHeHowLtYeXGWPuK9cs2SCtRBK+EDbqpvpeTBnUlDWH43h5/j705X32Ds5w5/fg5g0/DoekU1ffUBmWk6t57KedHDqTzKcjW1K/WqXCvTD1HCx8Cmo0h3YPlmyQViQJXwgbdmcbPx66uR5hm6L5Zu2x/I0VvWH4j5CeBD8MNb7bEK01UxYeYPmBM7x8a5PCX6QFoysn7Rzc9jnYO5ZckFYmCV8IG/dMaCB9m9ZgyqIDzN918t/lYWEQ0L4pdi+eIGDiD4Q9Nh2yM0yM1LKmrTrCjHXHuLdjAPd0KEJVy/AlsPtn6Pw01GhWcgGaoGyPMRJCXJedneLDO0OIn7GZJ3/eSSVnB05uq8bYsZCaCqCISvRl7MyHwWUWIz8cY9TTL8N+3hLNO0vCGRBci5f6N75+UbSLUs/BgsehWhPo/FSJxmiGsv1bFUIUioujPd+Mak1Qzco89P02nn4mJy/ZX5Ka5cqk2X1h2aQyPUZ/yd7TPPf7Hro09Oa9IcHXnpf2clrDvHGQEgeDphk3qdkYSfhClBOVXByZfX9bfD1dOX2y4Ld+dJIvbPwc1n5g5egsY8ne04z/YTvBvh5MK2zZhIs2fwXhi6DXq1AzuOSCNJEkfCHKEU83J75/oB3OHukFtvv5As2GwopXjWJrZciSvacY/8N2mvm48+39bXFzLnyPddjn0QSE9sXulfMEDPsfYWElGKiJJOELUc7UcHfh/XftsXPMybfc1RWmvKHgtmnQZBAsewE2TjMpyqJZsPsk43/YQfO8ZF/JpfAja8JmXmDs495EJfqisSMqWjF2LDaZ9CXhC1EOjRvtxGfTcnGpkg5oqtXMZvp0GDkSo17M7V9B0ABjeOLmr8wO95pmrTvGIz/uoIWfB7OLmOzJzWHShFRSs/IXUUtNhUmTLBxoKSAJX4hy6qEHHDkZY8eAT9bhOmop6f7HLt2cZe9oFFoL7AeLnob1n5obbAFyczVvLj7A5D/30yuoOt890K5oyR5gxStEx3sV2BQdbYEgSxlJ+EKUY1XcnPhpbAdCG9fgtQX7eWnevktlGBycYMgsaDzQGLmz4rVSM3onNTObR37awZerjnJXez+m3dUKF0f7om1k+7ew7mP8vBMKbPYre1PWXpckfCHKuQpO9nw+siUP3lyX7zZGcc+MzZxNzruo6+AMd8w0Ju1e855RbiA399obLGGRcSkM+mw9i/ecYmLfRrw2sGnhiqFd7uAi+PMxqN+TKe9XxtU1f7OrK0yZYrmYSwtJ+EII7OwUz/UN4r0hwWyPPk+/j9eyPiIur9Eebp0KNz0OW7+BX+8xbQKVRXtOceunazmTnM7s+9vy0M31Cn9T1UVRG2DOfVCrBQyZzci7HZg+Hfz9jbpy/v5cup5hY5QuJR/RrtS6dWu9detWs8MQotwJP53Mw2HbOBaXwujOdXmyV8NL3SUbPje6d6o3heE/gXttq8SUmJbFy/P2MnfnSYJ93Pl0REt8PV2v/8IrRW2AsDugUk24fym4FWLy8jJGKbVNa926wDZJ+EKIK6VkZPP6wgP8uDmagKquvDW4Oe3r5iXHQ8tgzv3g5ArDfgCfAnOLRWitWbTnNK8v3M/Z5Awe6V6fcd3q42h/A50TkWshbChUrgWj/rSZksdXulbCly4dIcR/uDk78ObtzfhhdDtytGbY9I08HLbNmEGrYW8Y/Rc4uMDMvrDpyxK5mBt+OpmRX29i3A/bca/gyO//68jjPRveWLI/uBC+v8OY5vHehTab7K9HzvCFENeUmpnNl6uOMn31UbJzc7mzjS9jOtfFv0IGzP0fHFoCjfrDwE+hQpVi7+/g6SQ++TuCRXtOUdnFkad7N2R4Wz8cbiTRg3Hz2JLnoHZLGP6zURbahpVYl45SaggwGQgC2mqtC8zQSqk+wMeAPfC11vqt621bEr4QpcvZpHQ+WnGYX7fGkJ2rCW1cgzvb+NAl/lfsV0yGitWg/0fGJ4AiyszO5a/9Z/hxczRrI+Ko6OzAqI7+jO5Ut/AzVF0pKw0WP2MMv2zU37iZzOkG+v3LmJJM+EFALvAl8HRBCV8pZQ8cAnoBx4EtwHCt9f5rbVsSvhCl05mkdGavj+SHzdEkpGZR1c2J+wLOMers21RKPgLN74TQN695QVRrzYmEND6Yls7XH1YkOc4R+8pp1O1zjEfGOnF3B388XItRrTL2EPw6Cs7uh05PQvcXjNFG5cC1En6x6uFrrQ/k7eBaq7UFIrTWR/PW/QkYCFwz4QshSqfqlV14pk8jHu/ZkJXhZ5m38yRfHsplasZLjHOYx7jdc0jbu5gV1e7joM8QKri4kJObS0ZOLrHJGZxMSCPi7AUiN3lxbkkzdLaRhnKSXDmxoDGeAxQeN3oinpMFGz6FlW+BkxuM/A0a9LTcwZdxFunDV0qt5Opn+HcAfbTWo/Oe3w2001qPL2DdscBYAD8/v1ZRUVHFjk0IUfKyc3LZfSKRLcfOkRS1i94xHxGctYtjugbvZQ1lcW5bHOwd8K7kTE13F/yrujH70SbEn/nvOae/P0RG3kAQx1bDkufhzB6jC6ffe+Xy4myxzvCVUsuBGgU0TdJazytucJfTWk8HpoPRpWPJbQshSo6DvR0t/arQ0q8KUA/0IDi8jIBlL/JZ3FR0lTqojo9A8DDjzBv4cFjB2ypSDRutIXqDcUZ/bBVUrm1Mzh50a7GPyRZdN+FrrYv7eegE4HvZc5+8ZUIIW6UUNAxF1e8JBxeg1n4EC5+Ev14yavMED8PPtzNR0f/tDi5UDZsLsXBgHmydCWf2gqsXhL4BrR8ARxeLH46tsMactluABkqpOhiJfhgwwgr7FUKYzc7eSPBBA4wz8Z1hsG8e7AxjSru7GXv6fVIznf9d3dVVM2XKFf8EcrLhwmk4vQdO7oCjqyBmE6CNScb7fwTNh/77yUFcXXFH6QwCPgG8gQRgp9Y6VClVC2P4Zb+89foBH2EMy5yhtb5uWSIZpSOEjcpMhYi/IGIFYb9UYNKCcUQn+uDnfpwpPV5nZMfVRtE2MIZWpsSCzivYpuyMJB/YDwL7Qo3mxqcJ8S8prSCEKL1S4oyz99hwuHAGLpyF3CyjzcHZqHtTqQZUa2wkezmTv6YSG5YphBDF5uYF9boZX6JESS0dIYQoJyThCyFEOSEJXwghyglJ+EIIUU5IwhdCiHJCEr4QQpQTkvCFEKKckIQvhBDlRKm901YpFQsUpz6yFxBnoXDKivJ2zOXteEGOubwozjH7a60LnMex1Cb84lJKbb3a7cW2qrwdc3k7XpBjLi9K6pilS0cIIcoJSfhCCFFO2HLCn252ACYob8dc3o4X5JjLixI5ZpvtwxdCCJGfLZ/hCyGEuIwkfCGEKCfKdMJXSvVRSoUrpSKUUhMLaHdWSv2c175JKRVgQpgWVYhjflIptV8ptVsptUIp5W9GnJZ0vWO+bL3BSimtlCrzQ/gKc8xKqaF5v+t9SqkfrB2jpRXib9tPKfWPUmpH3t93PzPitBSl1Ayl1Fml1N6rtCul1NS8n8dupVTLYu9Ua10mvzDmxz0C1AWcgF1A4yvWeRj4Iu/xMOBns+O2wjF3A1zzHv+vPBxz3nqVgNXARqC12XFb4ffcANgBVMl7Xs3suK1wzNOB/+U9bgxEmh13MY+5C9AS2HuV9n7AYkAB7YFNxd1nWT7DbwtEaK2Paq0zgZ+AgVesMxCYnfd4DtBDqTI94/F1j1lr/Y/WOjXv6UbAx8oxWlphfs8ArwFvA+nWDK6EFOaYxwCfaa3PA2itz1o5RksrzDFroHLeY3fgpBXjszit9Wrg3DVWGQh8qw0bAQ+lVM3i7LMsJ/zaQMxlz4/nLStwHa11NpAIVLVKdCWjMMd8uQcwzhDKsusec95HXV+t9UJrBlaCCvN7bgg0VEqtU0ptVEr1sVp0JaMwxzwZuEspdRxYBDxindBMU9T3+3XJJOY2Sil1F9AauNnsWEqSUsoO+AC41+RQrM0Bo1unK8anuNVKqWZa6wQzgyphw4FZWuv3lVIdgO+UUk211rlmB1ZWlOUz/BOA72XPffKWFbiOUsoB42NgvFWiKxmFOWaUUj2BScAArXWGlWIrKdc75kpAU2ClUioSo69zfhm/cFuY3/NxYL7WOktrfQw4hPEPoKwqzDE/APwCoLXeALhgFBmzVYV6vxdFWU74W4AGSqk6SiknjIuy869YZz4wKu/xHcDfOu9qSBl13WNWSrUAvsRI9mW9Xxeuc8xa60SttZfWOkBrHYBx3WKA1nqrOeFaRGH+tudinN2jlPLC6OI5asUYLa0wxxwN9ABQSgVhJPxYq0ZpXfOBe/JG67QHErXWp4qzwTLbpaO1zlZKjQeWYlzhn6G13qeUehXYqrWeD3yD8bEvAuPiyDDzIi6+Qh7zu0BF4Ne869PRWusBpgVdTIU8ZptSyGNeCvRWSu0HcoAJWusy++m1kMf8FPCVUuoJjAu495blEzil1I8Y/7S98q5LvAw4Amitv8C4TtEPiABSgfuKvc8y/PMSQghRBGW5S0cIIUQRSMIXQohyQhK+EEKUE5LwhRCinJCEL4QQ5YQkfCGEKCck4QshRDnxf/tZBhO+vNgPAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# M=3\n",
+ "p_lsq_3 = fitting(M=3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### M=9"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "parameters initialization: [0.91227185 0.61186299 0.8670106 0.46130526 0.24519055 0.66403862\n",
+ " 0.80093522 0.93778575 0.87814087 0.20415735]\n",
+ "Fitting Parameters: [ 1.39123363e+04 -6.39746319e+04 1.24383137e+05 -1.32914986e+05\n",
+ " 8.47957513e+04 -3.27261066e+04 7.35983355e+03 -8.84389244e+02\n",
+ " 4.92269900e+01 -1.32799082e-01]\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# M=9\n",
+ "p_lsq_9 = fitting(M=9)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "当M=9时,多项式曲线通过了每个数据点,但是造成了过拟合"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 正则化"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "结果显示过拟合, 引入正则化项(regularizer),降低过拟合\n",
+ "\n",
+ "$Q(x)=\\sum_{i=1}^n(h(x_i)-y_i)^2+\\frac{\\lambda}{2}||w||^2$。\n",
+ "\n",
+ "回归问题中,损失函数是平方损失,正则化可以是参数向量的L2范数,也可以是L1范数。\n",
+ "\n",
+ "- L1: regularization \\* abs(p)\n",
+ "\n",
+ "- L2: regularization \\* np.sqrt(np.square(p))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "regularization = 0.0001\n",
+ "\n",
+ "\n",
+ "def residuals_func_regularization(p, x, y):\n",
+ " ret = fit_func(p, x) - y\n",
+ " ret = np.append(ret,\n",
+ " 0.5 * regularization * np.square(p)) # L2范数的平方作为正则化项,前面需要乘以0.5\n",
+ " return ret"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 最小二乘法,加正则化项\n",
+ "p_init = np.random.rand(9 + 1)\n",
+ "p_lsq_regularization = leastsq(\n",
+ " residuals_func_regularization, p_init, args=(x, y))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.plot(x_points, real_func(x_points), label='real')\n",
+ "plt.plot(x_points, fit_func(p_lsq_9[0], x_points), label='fitted curve')\n",
+ "plt.plot(\n",
+ " x_points,\n",
+ " fit_func(p_lsq_regularization[0], x_points),\n",
+ " label='regularization')\n",
+ "plt.plot(x, y, 'bo', label='noise')\n",
+ "plt.legend()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 第1章统计学习方法概论-习题\n",
+ "**撰写人:**胡锐锋-天国之影-Relph\n",
+ "\n",
+ "**github地址:**https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
+ "\n",
+ "### 习题1.1\n",
+ " 说明伯努利模型的极大似然估计以及贝叶斯估计中的统计学习方法三要素。伯努利模型是定义在取值为0与1的随机变量上的概率分布。假设观测到伯努利模型$n$次独立的数据生成结果,其中$k$次的结果为1,这时可以用极大似然估计或贝叶斯估计来估计结果为1的概率。\n",
+ "\n",
+ "**解答:**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "伯努利模型的极大似然估计以及贝叶斯估计中的**统计学习方法三要素**如下: \n",
+ "1. **极大似然估计** \n",
+ "**模型:** $\\mathcal{F}=\\{f|f_p(x)=p^x(1-p)^{(1-x)}\\}$ \n",
+ "**策略:** 最大化似然函数 \n",
+ "**算法:** $\\displaystyle \\mathop{\\arg\\min}_{p} L(p)= \\mathop{\\arg\\min}_{p} \\binom{n}{k}p^k(1-p)^{(n-k)}$\n",
+ "2. **贝叶斯估计** \n",
+ "**模型:** $\\mathcal{F}=\\{f|f_p(x)=p^x(1-p)^{(1-x)}\\}$ \n",
+ "**策略:** 求参数期望 \n",
+ "**算法:**\n",
+ "$$\\begin{aligned} E_\\pi\\big[p \\big| y_1,\\cdots,y_n\\big]\n",
+ "& = {\\int_0^1}p\\pi (p|y_1,\\cdots,y_n) dp \\\\\n",
+ "& = {\\int_0^1} p\\frac{f_D(y_1,\\cdots,y_n|p)\\pi(p)}{\\int_{\\Omega}f_D(y_1,\\cdots,y_n|p)\\pi(p)dp}dp \\\\\n",
+ "& = {\\int_0^1}\\frac{p^{k+1}(1-p)^{(n-k)}}{\\int_0^1 p^k(1-p)^{(n-k)}dp}dp\n",
+ "\\end{aligned}$$\n",
+ "\n",
+ "**伯努利模型的极大似然估计:** \n",
+ "定义$P(Y=1)$概率为$p$,可得似然函数为:$$L(p)=f_D(y_1,y_2,\\cdots,y_n|\\theta)=\\binom{n}{k}p^k(1-p)^{(n-k)}$$方程两边同时对$p$求导,则:$$\\begin{aligned}\n",
+ "0 & = \\binom{n}{k}[kp^{k-1}(1-p)^{(n-k)}-(n-k)p^k(1-p)^{(n-k-1)}]\\\\\n",
+ "& = \\binom{n}{k}[p^{(k-1)}(1-p)^{(n-k-1)}(m-kp)]\n",
+ "\\end{aligned}$$可解出$p$的值为$p=0,p=1,p=k/n$,显然$\\displaystyle P(Y=1)=p=\\frac{k}{n}$ \n",
+ "\n",
+ "**伯努利模型的贝叶斯估计:** \n",
+ "定义$P(Y=1)$概率为$p$,$p$在$[0,1]$之间的取值是等概率的,因此先验概率密度函数$\\pi(p) = 1$,可得似然函数为: $$L(p)=f_D(y_1,y_2,\\cdots,y_n|\\theta)=\\binom{n}{k}p^k(1-p)^{(n-k)}$$ \n",
+ "根据似然函数和先验概率密度函数,可以求解$p$的条件概率密度函数:$$\\begin{aligned}\\pi(p|y_1,\\cdots,y_n)&=\\frac{f_D(y_1,\\cdots,y_n|p)\\pi(p)}{\\int_{\\Omega}f_D(y_1,\\cdots,y_n|p)\\pi(p)dp}\\\\\n",
+ "&=\\frac{p^k(1-p)^{(n-k)}}{\\int_0^1p^k(1-p)^{(n-k)}dp}\\\\\n",
+ "&=\\frac{p^k(1-p)^{(n-k)}}{B(k+1,n-k+1)}\n",
+ "\\end{aligned}$$所以$p$的期望为:$$\\begin{aligned}\n",
+ "E_\\pi[p|y_1,\\cdots,y_n]&={\\int}p\\pi(p|y_1,\\cdots,y_n)dp \\\\\n",
+ "& = {\\int_0^1}\\frac{p^{(k+1)}(1-p)^{(n-k)}}{B(k+1,n-k+1)}dp \\\\\n",
+ "& = \\frac{B(k+2,n-k+1)}{B(k+1,n-k+1)}\\\\\n",
+ "& = \\frac{k+1}{n+2}\n",
+ "\\end{aligned}$$\n",
+ "$\\therefore \\displaystyle P(Y=1)=\\frac{k+1}{n+2}$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 习题1.2\n",
+ " 通过经验风险最小化推导极大似然估计。证明模型是条件概率分布,当损失函数是对数损失函数时,经验风险最小化等价于极大似然估计。\n",
+ "\n",
+ "**解答:**\n",
+ "\n",
+ "假设模型的条件概率分布是$P_{\\theta}(Y|X)$,现推导当损失函数是对数损失函数时,极大似然估计等价于经验风险最小化。\n",
+ "极大似然估计的似然函数为:$$L(\\theta)=\\prod_D P_{\\theta}(Y|X)$$两边取对数:$$\\ln L(\\theta) = \\sum_D \\ln P_{\\theta}(Y|X) \\\\ \n",
+ "\\mathop{\\arg \\max}_{\\theta} \\sum_D \\ln P_{\\theta}(Y|X) = \\mathop{\\arg \\min}_{\\theta} \\sum_D (- \\ln P_{\\theta}(Y|X))$$ \n",
+ "反之,经验风险最小化等价于极大似然估计,亦可通过经验风险最小化推导极大似然估计。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "----\n",
+ "参考代码:https://github.com/wzyonggege/statistical-learning-method\n",
+ "\n",
+ "本文代码更新地址:https://github.com/fengdu78/lihang-code\n",
+ "\n",
+ "习题解答:https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
+ "\n",
+ "配置环境:python 3.8+\n",
+ "\n",
+ "代码全部测试通过。"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "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.8.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git "a/\347\254\25401\347\253\240 \347\273\237\350\256\241\345\255\246\344\271\240\346\226\271\346\263\225\346\246\202\350\256\272/1.Introduction_to_statistical_learning_methods.ipynb" "b/\347\254\25401\347\253\240 \347\273\237\350\256\241\345\255\246\344\271\240\346\226\271\346\263\225\346\246\202\350\256\272/1.Introduction_to_statistical_learning_methods.ipynb"
index f66c3a5..f4b6929 100644
--- "a/\347\254\25401\347\253\240 \347\273\237\350\256\241\345\255\246\344\271\240\346\226\271\346\263\225\346\246\202\350\256\272/1.Introduction_to_statistical_learning_methods.ipynb"
+++ "b/\347\254\25401\347\253\240 \347\273\237\350\256\241\345\255\246\344\271\240\346\226\271\346\263\225\346\246\202\350\256\272/1.Introduction_to_statistical_learning_methods.ipynb"
@@ -103,9 +103,18 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 17,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556\n",
+ " 0.66666667 0.77777778 0.88888889 1. ] [-0.13279908173173613, 0.7367746341452334, 1.0045132782564739, 1.0297101571118858, 0.41600828736613554, -0.26374521862130107, -0.8323785925492532, -1.0074937559168053, -0.8772043052086325, 0.03821360535661758]\n"
+ ]
+ }
+ ],
"source": [
"# 十个点\n",
"x = np.linspace(0, 1, 10)\n",
@@ -113,7 +122,7 @@
"# 加上正态分布噪音的目标函数的值\n",
"y_ = real_func(x)\n",
"y = [np.random.normal(0, 0.1) + y1 for y1 in y_]\n",
- "\n",
+ "print(x,y)\n",
"\n",
"def fitting(M=0):\n",
" \"\"\"\n",
@@ -121,6 +130,7 @@
" \"\"\"\n",
" # 随机初始化多项式参数\n",
" p_init = np.random.rand(M + 1)\n",
+ " print(\"parameters initialization: \", p_init)\n",
" # 最小二乘法\n",
" p_lsq = leastsq(residuals_func, p_init, args=(x, y))\n",
" print('Fitting Parameters:', p_lsq[0])\n",
@@ -142,24 +152,27 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "Fitting Parameters: [0.02515259]\n"
+ "parameters initialization: [0.51134405]\n",
+ "Fitting Parameters: [0.0111599]\n"
]
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {},
+ "metadata": {
+ "needs_background": "light"
+ },
"output_type": "display_data"
}
],
@@ -177,24 +190,27 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "Fitting Parameters: [-1.50626624 0.77828571]\n"
+ "parameters initialization: [0.33798747 0.7429498 ]\n",
+ "Fitting Parameters: [-1.42280691 0.72256336]\n"
]
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {},
+ "metadata": {
+ "needs_background": "light"
+ },
"output_type": "display_data"
}
],
@@ -212,24 +228,27 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "Fitting Parameters: [ 2.21147559e+01 -3.34560175e+01 1.13639167e+01 -2.82318048e-02]\n"
+ "parameters initialization: [0.80748537 0.26355156 0.15225828 0.69983347]\n",
+ "Fitting Parameters: [ 23.51836106 -35.90542618 12.59021898 -0.18343697]\n"
]
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABDQUlEQVR4nO3dd1xV5R/A8c/DFlQQwclyIi5wj9TcqJlmpjkqG2r90naWZcOG7WnDsnJUNK3U3Gm5994oKsMNKEP2eH5/HEwxVJDLPXD5vl8vXtx7nnPP+R7gfjn3Oc/5PkprjRBCCNtnZ3YAQgghrEMSvhBClBOS8IUQopyQhC+EEOWEJHwhhCgnHMwO4Gq8vLx0QECA2WEIIUSZsm3btjittXdBbaU24QcEBLB161azwxBCiDJFKRV1tTbp0hFCiHJCEr4QQpQTkvCFEKKcKLV9+EKIsiMrK4vjx4+Tnp5udijlhouLCz4+Pjg6Ohb6NZLwhRDFdvz4cSpVqkRAQABKKbPDsXlaa+Lj4zl+/Dh16tQp9OukS0cIUWzp6elUrVpVkr2VKKWoWrVqkT9RScIXQliEJHvrupGft3Tp2KL0JDi7H5JOQPIZyEo1ltvZg5s3VKwBVeuCRwDYyf98IcoLSfi2IDMVjq6EQ4shch2cO1K41zlXhprBULcr1O8BNYLlH4Aoty7e7Onl5WV2KCVGEn5ZdmoXbPkG9syBrBQjgQd0hpDhRvL28IWK1cGporF+bhakxELyaYgNh9O7IWYz/P2a8eXhB82HGa/3rGvusQlRDFprtNbYyQlMPpLwy6KLSfrYanCoAM0GQ7Mh4NcRHJyu8UIncHKDKgHg1/7S4gtnIWI57P4FVr9rfDW6BW56DHzblvTRCGERkZGRhIaG0q5dO7Zt28bQoUNZsGABGRkZDBo0iFdeeQWA2267jZiYGNLT03nssccYO3asyZFbjyT8suR8JCyeaHTduHlD7ynQ4i6o4FG87VasBiEjjK/EE7B1Bmz5Gg4uMD4x9HoVare0xBGIcuCVP/ex/2SSRbfZuFZlXr61yXXXO3z4MLNnzyYpKYk5c+awefNmtNYMGDCA1atX06VLF2bMmIGnpydpaWm0adOGwYMHU7VqVYvGW1rJ552yICcb1k2Fz9obZ/U9XoJHd0LH8cVP9ldyrw09XoQn90Oft+DsAfiqG8x5ABKP39Amw8IgIMC4PBAQYDwXoiT4+/vTvn17li1bxrJly2jRogUtW7bk4MGDHD58GICpU6cSHBxM+/btiYmJ+Xd5eSBn+KVd4gn47QGI3gCB/aDfu+DuU/L7dXKD9v+DkJGwfiqs/xQOLTH+2bQZbYz4KYSwMBg7FlLzBgpFRRnPAUaOLKHYhakKcyZeUtzc3ACjD/+5557jwQcfzNe+cuVKli9fzoYNG3B1daVr167l6u5gi5zhK6VmKKXOKqX2XqVdKaWmKqUilFK7lVLSP1AYh/+CLzrB6T0waDoM+6FIyd4iZ9YulaH7CzBuk9Hvv/gZ+KY3xBduJNCkSZeS/UWpqcZyIUpKaGgoM2bM4MKFCwCcOHGCs2fPkpiYSJUqVXB1deXgwYNs3LjR5Eity1JdOrOAPtdo7ws0yPsaC0yz0H5t18YvIGwIVK4NY1dB8J1QhBstLp5ZR0WB1pfOrG+4O6WKP4ycA7d/bQz7/KIz7PzR2Pg1REcXbbkQltC7d29GjBhBhw4daNasGXfccQfJycn06dOH7OxsgoKCmDhxIu3bt7/+xmyI0td5wxZ6Q0oFAAu01k0LaPsSWKm1/jHveTjQVWt96mrba926tS6XE6Dk5sCS52Dzl9CoP9z+FTi5FnkzAQFGkr+Svz8cOao5mZDG8fNppGRkk5qVg6Odws3ZAQ9XR/yruuFe4RoFmRJPwO9jIWqtMTqo/0fgXLHIcURGFvmwRCl14MABgoKCzA6j3Cno566U2qa1bl3Q+tbqw68NxFz2/HjesnwJXyk1FuMTAH5+flYKrRTJyYa5/4M9v0D7cdD7tUL3lV/pamfQUVGaRi8uJivn2v/oq7o50czHnbZ1PLmpnhfNfdwv3crtXhtGzYc178PKN+HMfhj+gzHc8wpTpuTvwwdwdTWWCyGsq1RdtNVaTwemg3GGb3I41pWTDb+PgX2/Q/cXocvTxdqcr68mOvq/XUBunpk80Kkudbxc8aniSkVnB1yd7MnO1aRkZBOfkklkXApHYi+wPTqBleHhQDi1PSrQv3lNhrbxpZ53ReMf0c3PGMM159wP07vB0NlQp0u+/V28MDtpkvFPyM/PSPZywVYI67NWwj8B+F723CdvmQDIzYU/xhrJvterxg1PNygxNYuZ649h3zYDdTIInX3pV+zqqvlyqjMj+zYq9PbiL2TwT3gsi/acYsa6Y3y5+ig3N/RmTOe63FS/Kqp+TxjzD/w4HL69DQZMNe4NuMzIkZLghSgNrJXw5wPjlVI/Ae2AxGv135crWsOSZ2Hvb9Bz8g0n+5SMbGatj+TLVUdISs+mWz9vhrdL4ftPKhMTo/LOrFWRE2/Vis7c0cqHO1r5EJucwY+bo/l+YxR3fbOJdnU8mRAaSOuAejB6OfxyD8wbZ9y52+mJIl1kFkKUPIskfKXUj0BXwEspdRx4GXAE0Fp/ASwC+gERQCpwnyX2axPWvA+bp0OH8UaSLCKtNYv3nuaVP/dxJimDHo2q8WTvhjSp5Q7AlOL1DOXjXcmZR3s04MGb6/LT5hg++TuCO77YwMCQWrxwS2O8R/xiXINY8YqR9EPfkGJsQpQiFkn4Wuvh12nXwDhL7Mum7P3NqInT/E7o9VqRX34iIY0X5+7l74NnaVyzMp+PbEkrf88SCDQ/Zwd7RnUMYEhrH75YdZQvVh7h74Nnea5vEMNvn46qWA02fg5p5+G2z2/4wrMQwrLk9Mssp3bD3HHg1wEGfFrkM+GFu0/R56PVbDwazwu3BDF//E1WSfaXc3Vy4MleDVn8eGea1Xbn+T/2MPrb7cTf9DJ0ewF2/wR/PGhckBaihE2dOpWgoCBGjhzJ/PnzeeuttwCYO3cu+/fv/3e9WbNmcfLkySJtOzIykqZN/zPivMwpVaN0yo2UOPhpJFSoAkO/vU6Fy/zSMnN45c99/LQlhhBfD6YOa4Ff1aKP07eket4VCRvdjlnrI3lz0UH6TF3Lx3feR8cedrDiVeM6xaAvwV7+3ETJ+fzzz1m+fDk+Psbd6AMGDACMhN+/f38aN24MGAm/adOm1KpVy7RYAbKzs3FwsO57Qs7wrS03B+bcBxfOwLAwo1JlIZ1KTGPolxv4eWsMD3etx68PdTA92V+klOK+m+owb/xNuFdw5K5vNvGNuh3d42XYO8cYhZSbY3aYwkY99NBDHD16lL59+/Lhhx8ya9Ysxo8fz/r165k/fz4TJkwgJCSEt99+m61btzJy5EhCQkJIS0tj27Zt3HzzzbRq1YrQ0FBOnTLGk2zbto3g4GCCg4P57LPPrrrvt99+m2bNmhEcHMzEiRMB6Nq1KxdvHI2LiyMgIAAw/tkMGDCA7t2706NHD4YNG8bChQv/3da9997LnDlzyMnJYcKECbRp04bmzZvz5ZdfWuTnJKdc1rb2A6Pi5YBPi1RyeFvUeR78bhvpWTl8fU9regRVL8Egb1xQzcrMHXcTT/68k9cW7OdAqx681R0c/n4FnCsZd+XK6B3btniiUf/Jkmo0g75vXbX5iy++YMmSJfzzzz94eXkxa9YsADp27MiAAQPo378/d9xxhxHe4sW89957tG7dmqysLB555BHmzZuHt7c3P//8M5MmTWLGjBncd999fPrpp3Tp0oUJEyYUfKiLFzNv3jw2bdqEq6sr586du+6hbN++nd27d+Pp6ckff/zBL7/8wi233EJmZiYrVqxg2rRpfPPNN7i7u7NlyxYyMjK46aab6N27N3Xq1Cn6z+4ykvCtKWYz/PMmNB38n7Hq17J032ke+XEHNd1d+HFMOxpUr1SCQRZfRWcHvrirFR+tOMzUFYc5Ubcjs9o/hvPGj6GCJ/R82ewQhQAgPDycvXv30qtXLwBycnKoWbMmCQkJJCQk0KWLcSPh3XffzeLFi//z+uXLl3Pffffh6mp80vb0vP51tF69ev27Xt++fXnsscfIyMhgyZIldOnShQoVKrBs2TJ2797NnDlzAEhMTOTw4cOS8MuM9ESjzLF7bej/YaHPcn/ZGsPE33YT7OvBjFFtqOJW+P5+M9nZKZ7s1ZA6Xq5M+HU3g9N78mvzc1RY+wG4ekLHR8wOUZSUa5yJlzZaa5o0acKGDRvyLU9ISCjWdh0cHMjNzQX4T/nliyWcAVxcXOjatStLly7l559/ZtiwYf/G9cknnxAaGlqsOK4kffjWsugZo+jY4G/Axb1QL5m++gjPzNlNpwbehI1uV2aS/eUGtfDhq3taExGbQv8jg0it3x+WvQA7fzA7NFFOVKpUieTk5AKfBwYGEhsb+2/Cz8rKYt++fXh4eODh4cHatWsBCLtKmdlevXoxc+ZMUvOKRV3s0gkICGDbtm0A/56lX82dd97JzJkzWbNmDX36GEWHQ0NDmTZtGllZWQAcOnSIlJSUGzr+y0nCt4ZDy4whip2fLPQcsZ/9E8Ebiw7Sv3lNvr6nNa5OZffDWLdG1Qgb3Y7YlGz6n7iHDN/OMP8R41qGECVs2LBhvPvuu7Ro0YIjR45w77338tBDDxESEkJOTg5z5szh2WefJTg4mJCQENavXw/AzJkzGTduHCEhIVytqnCfPn0YMGAArVu3JiQkhPfeew+Ap59+mmnTptGiRQvi4uKuGV/v3r1ZtWoVPXv2xMnJOKkbPXo0jRs3pmXLljRt2pQHH3yQ7OziD2+2WHlkS7OZ8sjpSfB5e+OC5YOrwcH5ui/5es1RXl94gIEhtfhgaAj2drZxkXP38QRGfrUJP7dM5rq8hmPqaRi9ArwamB2aKCYpj2yOopZHljP8kvbXS5B8CgZ+VqhkP3t9JK8vPMAtzWry/pBgm0n2AM19PJj9QFuiUpwYlf4UucrBmOQlJd7s0IQoFyThl6TIdbBtJrR/GHwK/Iebzx87jvPy/H30alydj4aF4GBve7+eln5VmHVfG3ZecOcph4nopJPw0wjIKj/zigphFtvLKKVFThYseho8/KDb9SdwXXs4jgm/7qZD3ap8OqIFjjaY7C9qHeDJF3e14s94Hz5xfwpiNsKCx687XaIQonhsN6uYbcvXcHY/9HnrulMU7juZyEPfb6N+tYp8eU8rnB1sv9hYl4bevD24OR+cbMpir3th149G1VAhRIkpu0M/SrMLZ+GfN6B+Twjsd81VTySkcd/MLVRycWDmfW2o7HKNuWRtzOBWPpxOSufhpbksq3GEBkueg+pNIeAms0MTwibJGX5JWD4ZstKgz9vXvMEqNTOb0bO3kpaVw6z72lLTvYL1YiwlHu5ajxHtArj99CiSXX3h11HG/QpCCIuThG9pJ7bBzjDoOB686l91Na01E37dTfjpJD4Z3oLAGqW7XEJJUUoxeUATmtb1ZWjiI+RkpsIvd8tFXFHiXnrpJZYvX252GFYlCd+StIa/Xibs4H0EPPASdnYQEAAF3aT3+cojLNxzimf7NKJrYOErZtoiR3s7PhvZkuRKdXlOjzP+aS551uywRAkKCzPeG9d6j5S0V199lZ49e1p/xyaShG9Jh/8i7M/qjJ33LlHRdmgNUVEwdmz+P+jl+8/w3rJwBobUYmyXuubFW4p4ujnx9ajWLMhsxW8VhsC2WbDn2reki7IpLMx4T0RFcdX3yI2IjIwkKCiIMWPG0KRJE3r37k1aWho7d+6kffv2NG/enEGDBnH+/HngUiligIkTJ9K4cWOaN2/O008b84LGxsYyePBg2rRpQ5s2bVi3bl3xAiwNtNal8qtVq1a6TMnJ1vqz9tq/yglt/Bnn//L3N1aLjLugm760RN8ydbVOy8w2NeTSaPGek7res3N15DudtJ5SS+vYw2aHJAph//79hV7X3/+/74/L3yM36tixY9re3l7v2LFDa631kCFD9HfffaebNWumV65cqbXW+sUXX9SPPfaY1lrrUaNG6V9//VXHxcXphg0b6tzcXK211ufPn9daaz18+HC9Zs0arbXWUVFRulGjRsULsAQU9HMHtuqr5FU5w7eUXT/C2f1EJ9QssDk6GjKycxj3w3aUgmkjW+HiaPvDL4uqT9Oa3Ne5AcPix5CJA/x6r/Tn25jo6KItL4o6deoQEhICQKtWrThy5AgJCQncfPPNAIwaNYrVq/PXcHJ3d8fFxYUHHniA33///d9Sx8uXL2f8+PGEhIQwYMAAkpKSuHDhQvGDNJEkfEvIzjCGYdZuhZ9vwav4+cEbCw+w90QS7w0JxtezdMxUVRo906cRNf3q8VjGQ3BmDyx9zuyQhAX5+RVteVE4O18qX2Jvb1+oMscODg5s3ryZO+64gwULFvxbsTI3N5eNGzeyc+dOdu7cyYkTJ6hYsWLxgzSRJHxL2PEdJJ2A7i8w5Q2F6xW53NUVhjx0ntkbonigUx16N6lhTpxlhKO9HZ+OaMkG+1b86jwYts6Q/nwbMmUKBb5Hpkyx/L7c3d2pUqUKa9asAeC7777792z/ogsXLpCYmEi/fv348MMP2bVrF2BUsfzkk0/+XW/nzp2WD9DK5Mar4srOgDUfgE9bqNuNkfWMxZMmGR9R/fzgiefS+frkZkJ8PXi2TyNz4y0janlU4MOhIYyZlUZbz0P4L3gCfNpAFX+zQxPFNHKk8f3y98iUKZeWW9rs2bN56KGHSE1NpW7dusycOTNfe3JyMgMHDiQ9PR2tNR988AEAU6dOZdy4cTRv3pzs7Gy6dOnCF198UTJBWomURy6uLd/Awifhrt+hfo//NGfn5HLHFxs4GnuBRY91xqeKdOUUxZuLD7Bw9SZWuj2PQ61guHcB2Mm1j9JGyiObQ8ojW9PlZ/f1uhe4ymf/HGFnTAJTBjWTZH8DnuoViHvNeryScz9Er4e1H5odkhBlliT84tjxPSQdh64TCyyhsCsmgal/H+a2kFrcGlzLhADLPicHOz66M4RfsjqyybUreuWbcGK72WEJUSZJwr9ROVnG2aZPmwLP7lMzs3ni551Uq+TMKwObmhCg7WhQvRIT+wYx5twIUp284PcxkFn8+T2FZZXW7mFbdSM/b0n4N2rfH5AYA52fKvDs/o1FBzgal8L7Q4Jxr1B+KmCWlFEdAghuEMDDKWPQ8Udg6fXnGBDW4+LiQnx8vCR9K9FaEx8fj4uLS5FeJ6N0boTWsG4qeAVCg9D/NK8MP8v3G6MZ3akOHet7mRCg7bGzU7x7RzChHyUy1+V2Bm2bCQ16Q6Nrl58W1uHj48Px48eJjY01O5Ryw8XFBR8fnyK9RhL+jTj6j3FD0IBPjepPl0lOz+K53/fQoFpFng4NNClA21TD3YXXbmvK0z8OoLPXXrz+fBR824FbVbNDK/ccHR2pU6eO2WGI65AunRuxbipUrAHNh/6n6a3FBzmdlM7bdzSX0gkl4NbmNekS5MP9Cfej0xJg8QSzQxKizJCEX1Sndhtn+O0eBAfnfE0bjsQTtima+2+qQ0u/KiYFaNuUUkwZ1JRjDnX4xXUY7P0N9s83OywhygRJ+EW1/hNwqgit78+3OC0zh4m/78bP05Wne0tXTkmqXtmFF/s3ZlJcL+IrB8GCJyAlzuywhCj1JOEXRdIp2Pc7tLwHKnjka/rgr3Ci4lN5a3AzKjhJV05JG9LKhw4NavBAwv3o9ERY9LTZIQlR6knCL4ptsyA3B9qOybd4Z0wC36w9xvC2fnSsJ6NyrEEpxZu3N+MwfsypNNIYJrvvD7PDEqJUk4RfWNmZcHEooOelWaqycnKZ+NtuqlVy4bl+UhjNmnyquDIhNJCJZ3qQ4NEEFj4FF2RYoBBXIwm/sA7MhwtnoO3YfItnrYvk4OlkXhnYhMoucoOVtd3dIYDGtT158MJodEYyLHrK7JCEKLUskvCVUn2UUuFKqQil1MQC2u9VSsUqpXbmfY22xH6tavN048z+sjIKJxPS+HD5IXo0qkbvxtVNDK78srczRu1sTqnOimr3wv55cGCB2WEJUSoVO+ErpeyBz4C+QGNguFKqcQGr/qy1Dsn7+rq4+7WqkzshZhO0GZPvRqvXFuwnV2smD2iCKqC8grCO5j4e3NPen/9FdiLNM8i4gJueaHZYQpQ6ljjDbwtEaK2Paq0zgZ+AgRbYbumx5StwdIWQEf8u+if8LIv3nuaR7g1kusJS4KnQQDwqujEpezT6whlY/orZIQlR6lgi4dcGYi57fjxv2ZUGK6V2K6XmKKUKnPlVKTVWKbVVKbW11NTkSDtvTK/XbMi/QzHTs3J4ed4+6nm7MaZz3Wu/XlhFZRdHXurfmN/P1mS/73DY+g1EbTA7LCFKFWtdtP0TCNBaNwf+AmYXtJLWerrWurXWurW3t7eVQruOPXMgOz3fjVaf/RNB9LlUXrutKU4Oct27tOjfvCadG3hxb1QoOZV94c9HjUlqhBCAZRL+CeDyM3afvGX/0lrHa60vvvO+BlpZYL8lT2vYNhtqNIdaIQAcib3Al6uOcltILRlzX8oopXhtYFMSc5z4qvJ4iDsEa943OywhSg1LJPwtQAOlVB2llBMwDMhX3EQpVfOypwOAAxbYb8k7tdOoitnyHsCoQT15/j6cHe14/haZv7M0CvByY2znurwV4Ut83YHGFJRny8afmxAlrdgJX2udDYwHlmIk8l+01vuUUq8qpQbkrfaoUmqfUmoX8Chwb3H3axXbvwWHCkb/PbDiwFnWHI7jiZ4NqVapaBMPCOt5uFs9alR24ZHzQ9HOlWD+I8Yd0kKUcxbpgNZaL9JaN9Ra19NaT8lb9pLWen7e4+e01k201sFa625a64OW2G+Jykwx+u+b3AYVPMjIzuG1hfupX60id3fwNzs6cQ2uTg48168R608pNjZ8Go5vgS3fEBYGAQHGyNqAAAgLMztSIaxLrjhezf55kJH0b3fOjLWRRMWn8lL/xjjay4+ttBsQXIs2AVUYt6cBWQFdCXt/N2PH5BIVZVyaiYqCsWMl6YvyRTLX1Wz/FqrWB78OnE1K59O/D9MzqDpdGpaS0UPimpRSTB7QhIS0LKa5/o9Jy54lNS3/n3tqKkySqXFFOSIJvyDxRyB6A7S4G5Ti7SXhZOVoXpALtWVKk1ruDG/rx8c7c4lOKnjuz+hoKwclhIkk4Rdk98+AguZD2RmTwG/bj3N/pzoEeLmZHZkooqd6B1LR2QHXKgWPx/fzs3JAQphIEv6VtDYSft2bya1Yk8nz9+FdyZnx3eubHZm4AZ5uTjzVuyEuHQ/g4pydr83VFaZMMSkwIUwgCf9KMZvhfCQ0H8bcnSfYGZPAs30aUdHZwezIxA0a0daPFt2SCBgUjp9XHIpc/H2ymD4dRo40OzohrEey2JV2/wQOFUit14e3P9lGsI87t7coqDSQKCsc7O14vl8Q953dwls/XWD4phDwbQsjfgOkyqkoP+QM/3LZmbD3dwjqz9eb4ziTlMGL/RtjZydJoazrGuhNp/pevL0ukbROE+HICtg/1+ywhLAqSfiXO7wM0hNIaHA7X6w6Qp8mNWgd4Gl2VMIClFI83y+IxLQsPkjsAjWawZLnID3J7NCEsBpJ+Jfb/RO4VeO9iJpkZufybF+Zo9aWNK5VmSGtfJi18TinOr8Jyadh5ZtmhyWE1UjCvyjtPBxayvl6A/hhy0nuau9PHRmGaXOe6h2Ig50dr+10hVb3wqYv4NRus8MSwiok4V+0fz7kZDI1tiVuzg482qOB2RGJElC9sgsP3lyXRXtOs6PhY1ChCiyaYAzHFcLGScK/aN8fpFUKYOYxd8Z3q4+nm5PZEYkSMrZLXapXdmby8pPk9ngZYjbm3WwnhG2ThA+QEoc+tpp5We2o7eHKqI4BZkckSpCrkwNP9Q5kV0wCf9p1h1otYdmLcgFX2DxJ+AAH/kTpHGYltuCZPoG4ONqbHZEoYYNb+hBUszLvLD1MRug7kBILq942OywhSpQkfCBn7x9EqVo41WrKrc1rmR2OsAJ7O8WkfkGcSEjju+iqRhnsjdNkdixh0yThX4hFRa5hXlZbnr9FbrIqTzo18KJzAy8+/SeC5E7Pg3MlWPyMXMAVNqvcJ/wLO3/Djlzi/W+hfd2qZocjrOzZPo1ISM3iiy0J0P0FOLZa7sAVNqvcJ/zYjT8TkVuLuwf0NTsUYYKmtd0ZGFKLb9Ye40zDEcYduEsnGVNcCmFjynXCPxETiX/yDiJr9KZ+9UpmhyNM8lSvQHJyNR/9fRT6vQdJJ2DN+2aHJYTFleuEv3HhTOyUJjj0XrNDESbyq+rKyHb+/LI1hgiXptB8GKz/xJj5TAgbUm4TfvjpZGqdXEacSwDe9VqYHY4w2fju9XFxsOO9peHQ6xWwd4bFz8oFXGFTym3C/3zRZtraHaBii0FmhyJKAa+KzoztUo8l+06z/bwzdJ0IEX/BoSVmhyaExZTLhL8t6hwOEcuwR+PSdIDZ4YhSYnTnOnhVdOKtxQfRbceCV6Bxlp+VbnZoQlhEuUv4WmveXhxOf+ft5FaqCbWkO0cY3JwdeKxHAzYfO8fKiATo9w4kRMG6j80OTQiLKHcJf2V4LLsjT9FZ7cauUX9QcqOVuGRYWz8Cqrry9pKD5ATcDI1vg7UfQEK02aEJUWzlKuHn5mreXnKQ290P4ZCbDo1uMTskUco42tvxdGggB08nM3fHCej9OqCMsflClHHlKuH/ufskB08n81D1A+DsDgGdzA5JlEL9mtakWW13PvjrEOlutaDzU3BgPhxdaXZoQhRLuUn4mdm5vL/sEE1quOEbuxoahoK9o9lhiVLIzk4xsW8jTiSk8f3GKOj4CFQJgEXPQE6W2eEJccPKTcL/aUs00edSeb1VMirtnHTniGu6qb5RWO2zfyJIyrGH0DchLhw2Tzc7NCFuWLlI+CkZ2UxdEUG7Op6EXFhn3FRTv4fZYYlS7pnQRpxPzeKr1UchsC/U7wkr34ILZ80OTYgbUi4S/sx1x4i7kMEzoYGo8IVQt6tRCleIa2jm484tzWvy9ZpjnL2QAX3ehqw0WD7Z7NCEuCE2n/DPp2Ty5aqj9GpcnVYVThnD6xr1MzssUUY83TuQrJxcPlkRAV71ocPDsDMMYraYHZoQRWbzCf/zlRGkZGYzITQQDi8zFjbobW5Qosyo4+XGnW18+XFzNFHxKdBlAlSsAYsnQG6u2eEJUSQ2nfBPJqQxe0MUt7f0oWH1SnBomVHvvLJMYygK77EeDXCwV7y/7JDRFdj7NTi5A3Z8Z3ZowsaEhUFAANjZGd/Dwiy7fZtO+B8vPwwaHu/ZANLOQ8wmaBBqdliijKlW2YX7b6rD/F0n2XsiEZoNAb8OsOIVSEswOzxhI8LCYOxYiIoyirRGRRnPLZn0bTbhR5y9wK/bYrirvT8+VVzhyN+gc6Q7R9yQB2+uh3sFR95dGm6U4+j7jnESsfJNs0MTNmLSJEhNzb8sNdVYbikWSfhKqT5KqXClVIRSamIB7c5KqZ/z2jcppQIssd9reW9pOK5ODozrVs9YcGgZVPAEn9YlvWthg9wrODKuWz1WHYplw5F4qNkcWt0Hm7+CM/vNDk/YgOirlGu62vIbUeyEr5SyBz4D+gKNgeFKqcZXrPYAcF5rXR/4EHi7uPu9lp0xCSzZd5oxnetStaIz5OYYtc3r9wQ7+5LctbBh93QIoKa7C28tOYjW2pj03KUyLH5GJkoRxebnV7TlN8ISZ/htgQit9VGtdSbwEzDwinUGArPzHs8BeihVMmUqjfLHB6nq5sQDnesYC0/ugNR46c4RxeLiaM/jPRuwKyaBpftOg6sndH8RItfAvj/MDk+UcVOmgGuF/CcOrq7GckuxRMKvDcRc9vx43rIC19FaZwOJQNUrN6SUGquU2qqU2hobG3tDwRyLS2Fr1DnGd69PRWcHY+GhpaDs5O5aUWyDW/pQz9uNd5eGk52TC63uNUZ+LXsBMlPMDk+UYSNHwucvbMTfPRrQ+Plppk83lltKqbpoq7WerrVurbVu7e3tfUPbqOtdkb+f6sqIdpd9Djq8FHzaGGdkQhSDg70dE0IDORKbwm/bjxtdhH3fhaQTsOYDs8MTZdxNnh+z7bGOrDl4lqgoZdFkD5ZJ+CcA38ue++QtK3AdpZQD4A7EW2DfBfL1dMXZIa+vPvk0nNol3TnCYkKb1CDE14MP/zpMelYO+HeAZkNh/VQ4d9Ts8EQZdSEtHe/Ta9jn1p5OgdVLZB+WSPhbgAZKqTpKKSdgGDD/inXmA6PyHt8B/K21la5yRSw3vkvCFxailOLZPo04nZTOtxsijYW9XgV7J1jyvKmxibJr8aK5uHMB3/a3l9g+ip3w8/rkxwNLgQPAL1rrfUqpV5VSF2cI/waoqpSKAJ4E/jN0s8RErICK1Y1+ViEspEO9qnRp6M1n/xwhMS0LKtc0yi4cWgyH/zI7PFHGxF/IIHn3ArJxoE7b/iW2H4v04WutF2mtG2qt62mtp+Qte0lrPT/vcbrWeojWur7Wuq3W2jqfe3NzjVmK6nWXuWuFxT0TGkhiWhZfrjpiLGj/MFStD4ufhewMc4MTZcrnK4/QRW8j06ejMdS3hJSqi7YWd3oXpJ2Dut3MjkTYoKa13RkQXIsZ645xNikdHJyMEsrnjsDGz80OT5QRJxLSWL1hI/XtTuLatGQnZrLthH/kb+N73a6mhiFs15O9GpKdo/l4xWFjQYOeENgPVr0LSSfNDU6UCR8vP0Qvu7xy2yVcut3GE/4/UL0ZVCqZK95CBHi5MbytHz9tieFYXN44/NA3IDcb/nrJ3OBEqRdxNpk5244zovJuqBkMHha8rbYAtpvwM1MgeiPU62p2JMLGPdKjPk72dry3LNxY4FkHbnoU9vwKUevNDU6Uau8tPYSfYyI+KXsh6NYS35/NJfx/60m7uBLwwXbC9g03OyRh46pVcmF05zos3H2KPccTjYWdnoTKPrDoGaOWkxBX2JVX8+ulBseMBY0k4RdJ/nrSiqhEP8a+0NjikwgIcaUxXepSxdWRd5YeNBY4uULo63BmD2ydYW5wolR6Z+lBPN2c6JKzyRjd5R1Y4vu0qYRfcD1pZdF60kIUpLKLI+O61WfN4TjWRcQZCxvfBgGd4e/XIaXEbiwXZdDaw3Gsi4jniU7eOEStNbpzrDB03KYSvjXqSQtxNXe196eWuwtvXyyfrBT0excykuHv18wOT5QSWmveWXqQ2h4VuLPyPmNiJit054CNJXxr1JMW4mpcHO15vFdDdh9PZPHe08bCakHQdixsm2XUdBLl3pK9p9l9PJHHezbA6dBCqFwbarWwyr5tKuFPmWLUj76cpetJC3Etg1v60KBaRd67WD4ZoOtEcK1qXMCViVLKteycXN5bFk79ahW5vWkVOLICGt1izFpuBTaV8EeOhOlf5uLvcRylNP7+WLyetBDXYm+nmBAayNG4FH7ddtxYWMEDek6GmI2w+xczwxMm+337CY7EpvB070Dsj/4N2elWGY55kU0lfICRt8QQObETuTt+JjJSkr2wvl6Nq9PSz4OPlh8iLTNvSGbISKjdyrgZKyPZ3ACFKdIyc/jgr0OE+HoQ2qQ67J9rzLPt19FqMdhcwqeKP0w4Ak1KrsSoENdysXzymaQMZq2PNBba2RkTpVw4DaveMTU+YY6Z649xOimd5/o2QmWlQvhiaDwQ7B2sFoPtJXwwZiFycDI7ClGOtatblW6B3kxbGUFiapax0KcVtLgLNk6DuMPmBiis6lxKJtP+OULPoGq0q1vVmHY1KxWaDrZqHLaZ8IUoBSaENiI5I5tpF8snA/SYDI6uRglluYBbbnz6dwQpmdk826eRsWDvb8Y8Hf7W684BSfhClJjGtSozMLgWM9cd43RiurGwojd0e84YnRG+yNwAhVXEnEvlu42RDG3tS4PqlSA9yZgkp8kgozfCiiThC1GCnuwVSK7WfLzi0L/Lwg6PIWDqQeyC+hLgnyulP2zcu0vDsbdTPNGrobEgfBHkZJhynVESvhAlyK+qKyPa+vHL1uMcib1g1Ht6yIGo8zXR2BEVbcfYsUjSt1F7jicyf9dJHuhUh+qVXYyFe38Dd1/waWP1eCThC1HCxndvgLODHe8vC79KvSek3pMN0lrz5uIDeLo58eDN9YyFqeeMiZmaDLLazVaXk4QvRAnzruTM6M51WbTnNNHRBV+olXpPtmfVoVjWH4nnke71qeziaCw88KcxOU5Tc4aNS8IXwgrGdK6Dp5sTFapkFtjuVzPdyhGJkpSTq3lr8UH8PF0Z2c7/UsPe38CzLtQMMSUuSfhCWEGlvPLJFTrux9kl/1m+q2MaU3pNgZwsk6ITljZ3xwkOnk5mQmggTg55aTbpJBxbDU3vsEop5IJIwhfCSu5q70fgTecJGhKOn59GKYx6T1MOMjJgKmz+yuwQhQWkZ+Xw/rJwmvu4c0uzmpcadv8CaAgeZlpskvCFsBJnB3ue7NWQ87WOMHXeSXJzMeo9PR0C9XrAyjch+YzZYYpimrHuGCcT05nYtxF2dnln8lrDrh/Btx1UrWdabJLwhbCi21rUpnHNyry9+CDpWXmF1S5OlJKdAUufMzdAUSxnk9P5/J8j9AyqTsd6XpcaTu2C2IOmnt2DJHwhrMreTvFi/8acTEznq9VHLzVUrQednzIu6kUsNy9AUSwfLDtERnYOk24Jyt+w60ewdzKGY5pIEr4QVtahXlVCm1Rn2qojnEm6bHROp8ehagNY8CRkpl719aJ02n8yiZ+3xnBPhwDqeLldasjJgj2/QmBfqFDFvACRhC+EKZ7vF0RWTi7vLg2/tNDBGW79CBKiYPW7psUmik5rzesL9+NRwZFHuzfI3xixHFLjIXi4OcFdRhK+ECbwr+rGfTfV4bftx9lzPPFSQ0AnY7KU9VPhzH7zAhRFsvzAWdYfiefxng1xd3XM37jrR3D1gvo9zQnuMpLwhTDJ+O718XR14rUF+9GXl0ru9Ro4V4YFj0NurmnxicLJzM5lysL91PN2Y0Q7v/yNKfHGRCfNhoC9Y8EbsCJJ+EKYpLKLI0/2bsjmyHMs2Xv6UoNbVQidAjGbYMe35gUoCuXbDZFExqfyQv/GONpfkVJ3/Qg5mdDyHnOCu4IkfCFMdGdrXwKrV+KNxQfIyM651BA8HAI6G3PgXjhrXoDims6nZDJ1xWG6NPSmW2C1/I1aw7ZZ4NMWqjc2Jb4rScIXwkQO9na80D+ImHNpzFwXealBKbjlA8hKg6XPmxafuLYPlx8iJTOHF64chgkQvQHiD0OrUdYP7Cok4Qthss4NvOnRqBqf/h3B2eTLhml6N4ROTxpD+iJWmBegKND+k0l8vzGKEW39aFi90n9X2DbLuBZj8tj7y0nCF6IUeKF/YzKzc3lr0cH8DZ2egKr1YcETkJliTnDiP7TWvDx/Lx6uTjzVu+F/V0g7D/vnGRdrndz+224SSfhClAJ1vNwY06UOv+84wZbIc5caHF3g1qnG2Py/XzcvQJHPvJ0n2RJ5nmdCA/FwdfrvCrt/gex0aHWv1WO7Fkn4QpQS47rVp5a7Cy/O3Ut2zmXDMQNugjajYeM0iNlsXoACgOT0LKYsOkCwjztDW/v+d4WLF2trtYCaza0e37UUK+ErpTyVUn8ppQ7nfS/wvmGlVI5Samfe1/zi7FMIW+Xq5MCL/Rtz8HQy32+Myt/YczK4+8C88ZAlk6WYaeqKw8RdyODVgU0vVcO8XNQ6OLsfWt1n/eCuo7hn+BOBFVrrBsCKvOcFSdNah+R9DSjmPoWwWX2a1qBzAy/eX3aI2OSMSw3OlYyyC3HhsPod0+Ir7w6fSWbmukiGtfEl2Nej4JU2fWnUzGk2xKqxFUZxE/5AYHbe49nAbcXcnhDlmlKKyQOakJ6dw1uLr7iAW7+nUXZh7UdGuV1hVcaF2n24OTswIbRRwSslxMDBBdByFDi5WjfAQihuwq+utT6V9/g0UP0q67kopbYqpTYqpW672saUUmPz1tsaGxtbzNCEKJvqeVdkdOe6/Lb9ONuizuVvDJ0Cbl4wb5xMiWhli/acZv2ReJ4ODcTTrYALtQBbvja+t3nAeoEVwXUTvlJquVJqbwFfAy9fTxvFQPRVNuOvtW4NjAA+UkoVOOWL1nq61rq11rq1t7d3UY9FCJvxSPf61HR34YW5+/JfwK1QBW55H07vgXUfmRZfeZOUnsUrf+6jSa3KjGjrV/BKWWmwfTY0ugU8rrKOya6b8LXWPbXWTQv4mgecUUrVBMj7XuA94FrrE3nfjwIrgRYWOwIhbJCrkwMv39qYA6eS+GbtsfyNQbcaN/OsegfOHix4A8Ki3l0STtyFDN68vRn2BV2oBeMGubTz0PZB6wZXBMXt0pkPXLxveBQw78oVlFJVlFLOeY+9gJsAqfsqxHWENqlBr8bV+XD5IaLjr5gQpe+74FQR5j4kXTslbFvUeb7fFMWojgE09/EoeCWtYdN0qNbEKHFdShU34b8F9FJKHQZ65j1HKdVaKZXXmUUQsFUptQv4B3hLay0JX4jrUErx6sAmONjZMWnunvwllCt6Q/8P4eQOWPOBeUHauKycXJ7/fQ81KrvwVO/Aq6949B84swfaP2TUQSqlipXwtdbxWuseWusGeV0/5/KWb9Vaj857vF5r3UxrHZz3/RtLBC5EeVDTvQLP9AlkzeE45u48kb+xyW3QbKgxTPPEdlPis3VfrTlK+JlkXh3YlIrODldfce1HULEGNL/TarHdCLnTVohSbmQ7f1r4efDaggOcS8nM39jvHXCrBn88ZFw0FBYTFZ/Cx8sP0yeva+2qTu6AY6ug/f+MaSpLMUn4QpRy9naKt25vTlJaFq8vvKI3tEIVuO0z44asFa+aE6AN0loz6Y+9ONrbMXlAk2uvvPYjoypm69J3Z+2VJOELUQYE1qjEQzfX4/ftJ1hz+Ip7VOp1hzZjYOPncGy1OQHamJ+2xLA2Io5n+zaihrvL1VeMPwIH5kPr+8HF3XoB3iBJ+EKUEeO716eutxsTf9tDcvoVI3N6vQKe9WDuw5CeWPAGRKEcP5/K6wv207FeVUZebcz9RRs+BTsHozunDJCEL0QZ4eJoz3tDgjmVmMbrCw7kb3Ryg0FfQtIJWPysOQHaAK01E3/bA8Dbg5sXXBztouTTsCPMmI6yUg0rRVg8kvCFKENa+lXhwZvr8fPWGP4+eCZ/o28b6DLBmDh79y/mBFjG/bA5mrURcTx/SxC+ntephbP2Q9A5xiQ1ZYQkfCHKmMd7NiCweiUm/raHhNQrRu10eQZ828OCJ+HcUXMCLKNizqXyxsIDdKrvdfXyCRclnYStM42ze8861gnQAiThC1HGODvY8/7QYM6lZDJ5/r78jfYOMPgrsLODOfdDdmbBGxH55OZqnpmzG6UUbw1uhrrezVMXz+67TLBOgBYiCV+IMqhpbXfGd6/P3J0nWbznVP5GDz8Y8KkxPvzv18wJsIyZvuYoG47G82L/IHyqXKcrJ/G4MaNVyEio4m+V+CxFEr4QZdS4bvVp7uPOxN/3cDLhipuuGg8whgqunwoRy80JsIzYczyR95eF07dpjYKnLLzSmg+M2jldni754CxMEr4QZZSjvR1Th7UgOyeXx3/aSU7uFdXJQ98A7yDjLtzkMwVvpJxLzczmsZ924FXRmTdvL0RXTvwRowRyy3tKbQnka5GEL0QZFuDlxmu3NWVz5Dk+/Tsif6NjBRgyEzIuGP35OdnmBFmKvbZgP8fiU/hgaAgerleZ1ORyyyeDgwt0vdpsrqWbJHwhyrjbW/owqEVtPl5xiK2RV8yQVS0Ibv0YotbCismmxFdaLd5zih83x/DQzfXoUK/q9V8Qvcm4q/amx6BitZIPsARIwhfCBrw6sAm+nq489tPO/w7VDL4TWj8A6z+B/f+ZsqJcOhaXwjNzdhPs68ETPRte/wVaw18vQsXq0GFcyQdYQiThC2EDKrk48snwFsQmZ/BYQf35fd6E2q1g7jiIO2xOkKVEWmYO//t+Gw72is9HtsTJoRBp8MCfELMJuj1v3NVcRknCF8JGNPfxYPKAJqw6FMvHyw/lb3RwhqHfgoMT/Hw3ZKaYE6TJtNZMmruH8DPJfDSsBbU9Klz/RZmpsHSScQE85K6SD7IEScIXwoYMb+vLkFY+TP07guX7rxiZ4+4Dg78xSinPfdjopihnftwcw+/bT/Bo9wbc3NC7cC9a+yEkRsMt7xk3tpVhkvCFsCFKKV67rSlNa1fmiV92Ehl3xZl8vW7QczLsnwur3jYjRNNsjz7P5Pn76NLQm0d7NCjci+KPwLqPodmQUj1XbWFJwhfCxrg42jNtZCvs7RRjv9tK0pWllDs+CsEjYOWbsO8Pc4K0shMJaYz9dhs13F34+M4Q7K9VBfMirWHJRLB3gl62cceyJHwhbJCvpyufjWjJ0dgUxoVtJzsn91KjUnDrR0aRtT/+Z5RgsGEpGdk8MGsLGVk5zLi3NVXcCjHeHowLtYeXGWPuK9cs2SCtRBK+EDbqpvpeTBnUlDWH43h5/j705X32Ds5w5/fg5g0/DoekU1ffUBmWk6t57KedHDqTzKcjW1K/WqXCvTD1HCx8Cmo0h3YPlmyQViQJXwgbdmcbPx66uR5hm6L5Zu2x/I0VvWH4j5CeBD8MNb7bEK01UxYeYPmBM7x8a5PCX6QFoysn7Rzc9jnYO5ZckFYmCV8IG/dMaCB9m9ZgyqIDzN918t/lYWEQ0L4pdi+eIGDiD4Q9Nh2yM0yM1LKmrTrCjHXHuLdjAPd0KEJVy/AlsPtn6Pw01GhWcgGaoGyPMRJCXJedneLDO0OIn7GZJ3/eSSVnB05uq8bYsZCaCqCISvRl7MyHwWUWIz8cY9TTL8N+3hLNO0vCGRBci5f6N75+UbSLUs/BgsehWhPo/FSJxmiGsv1bFUIUioujPd+Mak1Qzco89P02nn4mJy/ZX5Ka5cqk2X1h2aQyPUZ/yd7TPPf7Hro09Oa9IcHXnpf2clrDvHGQEgeDphk3qdkYSfhClBOVXByZfX9bfD1dOX2y4Ld+dJIvbPwc1n5g5egsY8ne04z/YTvBvh5MK2zZhIs2fwXhi6DXq1AzuOSCNJEkfCHKEU83J75/oB3OHukFtvv5As2GwopXjWJrZciSvacY/8N2mvm48+39bXFzLnyPddjn0QSE9sXulfMEDPsfYWElGKiJJOELUc7UcHfh/XftsXPMybfc1RWmvKHgtmnQZBAsewE2TjMpyqJZsPsk43/YQfO8ZF/JpfAja8JmXmDs495EJfqisSMqWjF2LDaZ9CXhC1EOjRvtxGfTcnGpkg5oqtXMZvp0GDkSo17M7V9B0ABjeOLmr8wO95pmrTvGIz/uoIWfB7OLmOzJzWHShFRSs/IXUUtNhUmTLBxoKSAJX4hy6qEHHDkZY8eAT9bhOmop6f7HLt2cZe9oFFoL7AeLnob1n5obbAFyczVvLj7A5D/30yuoOt890K5oyR5gxStEx3sV2BQdbYEgSxlJ+EKUY1XcnPhpbAdCG9fgtQX7eWnevktlGBycYMgsaDzQGLmz4rVSM3onNTObR37awZerjnJXez+m3dUKF0f7om1k+7ew7mP8vBMKbPYre1PWXpckfCHKuQpO9nw+siUP3lyX7zZGcc+MzZxNzruo6+AMd8w0Ju1e855RbiA399obLGGRcSkM+mw9i/ecYmLfRrw2sGnhiqFd7uAi+PMxqN+TKe9XxtU1f7OrK0yZYrmYSwtJ+EII7OwUz/UN4r0hwWyPPk+/j9eyPiIur9Eebp0KNz0OW7+BX+8xbQKVRXtOceunazmTnM7s+9vy0M31Cn9T1UVRG2DOfVCrBQyZzci7HZg+Hfz9jbpy/v5cup5hY5QuJR/RrtS6dWu9detWs8MQotwJP53Mw2HbOBaXwujOdXmyV8NL3SUbPje6d6o3heE/gXttq8SUmJbFy/P2MnfnSYJ93Pl0REt8PV2v/8IrRW2AsDugUk24fym4FWLy8jJGKbVNa926wDZJ+EKIK6VkZPP6wgP8uDmagKquvDW4Oe3r5iXHQ8tgzv3g5ArDfgCfAnOLRWitWbTnNK8v3M/Z5Awe6V6fcd3q42h/A50TkWshbChUrgWj/rSZksdXulbCly4dIcR/uDk78ObtzfhhdDtytGbY9I08HLbNmEGrYW8Y/Rc4uMDMvrDpyxK5mBt+OpmRX29i3A/bca/gyO//68jjPRveWLI/uBC+v8OY5vHehTab7K9HzvCFENeUmpnNl6uOMn31UbJzc7mzjS9jOtfFv0IGzP0fHFoCjfrDwE+hQpVi7+/g6SQ++TuCRXtOUdnFkad7N2R4Wz8cbiTRg3Hz2JLnoHZLGP6zURbahpVYl45SaggwGQgC2mqtC8zQSqk+wMeAPfC11vqt621bEr4QpcvZpHQ+WnGYX7fGkJ2rCW1cgzvb+NAl/lfsV0yGitWg/0fGJ4AiyszO5a/9Z/hxczRrI+Ko6OzAqI7+jO5Ut/AzVF0pKw0WP2MMv2zU37iZzOkG+v3LmJJM+EFALvAl8HRBCV8pZQ8cAnoBx4EtwHCt9f5rbVsSvhCl05mkdGavj+SHzdEkpGZR1c2J+wLOMers21RKPgLN74TQN695QVRrzYmEND6Yls7XH1YkOc4R+8pp1O1zjEfGOnF3B388XItRrTL2EPw6Cs7uh05PQvcXjNFG5cC1En6x6uFrrQ/k7eBaq7UFIrTWR/PW/QkYCFwz4QshSqfqlV14pk8jHu/ZkJXhZ5m38yRfHsplasZLjHOYx7jdc0jbu5gV1e7joM8QKri4kJObS0ZOLrHJGZxMSCPi7AUiN3lxbkkzdLaRhnKSXDmxoDGeAxQeN3oinpMFGz6FlW+BkxuM/A0a9LTcwZdxFunDV0qt5Opn+HcAfbTWo/Oe3w2001qPL2DdscBYAD8/v1ZRUVHFjk0IUfKyc3LZfSKRLcfOkRS1i94xHxGctYtjugbvZQ1lcW5bHOwd8K7kTE13F/yrujH70SbEn/nvOae/P0RG3kAQx1bDkufhzB6jC6ffe+Xy4myxzvCVUsuBGgU0TdJazytucJfTWk8HpoPRpWPJbQshSo6DvR0t/arQ0q8KUA/0IDi8jIBlL/JZ3FR0lTqojo9A8DDjzBv4cFjB2ypSDRutIXqDcUZ/bBVUrm1Mzh50a7GPyRZdN+FrrYv7eegE4HvZc5+8ZUIIW6UUNAxF1e8JBxeg1n4EC5+Ev14yavMED8PPtzNR0f/tDi5UDZsLsXBgHmydCWf2gqsXhL4BrR8ARxeLH46tsMactluABkqpOhiJfhgwwgr7FUKYzc7eSPBBA4wz8Z1hsG8e7AxjSru7GXv6fVIznf9d3dVVM2XKFf8EcrLhwmk4vQdO7oCjqyBmE6CNScb7fwTNh/77yUFcXXFH6QwCPgG8gQRgp9Y6VClVC2P4Zb+89foBH2EMy5yhtb5uWSIZpSOEjcpMhYi/IGIFYb9UYNKCcUQn+uDnfpwpPV5nZMfVRtE2MIZWpsSCzivYpuyMJB/YDwL7Qo3mxqcJ8S8prSCEKL1S4oyz99hwuHAGLpyF3CyjzcHZqHtTqQZUa2wkezmTv6YSG5YphBDF5uYF9boZX6JESS0dIYQoJyThCyFEOSEJXwghyglJ+EIIUU5IwhdCiHJCEr4QQpQTkvCFEKKckIQvhBDlRKm901YpFQsUpz6yFxBnoXDKivJ2zOXteEGOubwozjH7a60LnMex1Cb84lJKbb3a7cW2qrwdc3k7XpBjLi9K6pilS0cIIcoJSfhCCFFO2HLCn252ACYob8dc3o4X5JjLixI5ZpvtwxdCCJGfLZ/hCyGEuIwkfCGEKCfKdMJXSvVRSoUrpSKUUhMLaHdWSv2c175JKRVgQpgWVYhjflIptV8ptVsptUIp5W9GnJZ0vWO+bL3BSimtlCrzQ/gKc8xKqaF5v+t9SqkfrB2jpRXib9tPKfWPUmpH3t93PzPitBSl1Ayl1Fml1N6rtCul1NS8n8dupVTLYu9Ua10mvzDmxz0C1AWcgF1A4yvWeRj4Iu/xMOBns+O2wjF3A1zzHv+vPBxz3nqVgNXARqC12XFb4ffcANgBVMl7Xs3suK1wzNOB/+U9bgxEmh13MY+5C9AS2HuV9n7AYkAB7YFNxd1nWT7DbwtEaK2Paq0zgZ+AgVesMxCYnfd4DtBDqTI94/F1j1lr/Y/WOjXv6UbAx8oxWlphfs8ArwFvA+nWDK6EFOaYxwCfaa3PA2itz1o5RksrzDFroHLeY3fgpBXjszit9Wrg3DVWGQh8qw0bAQ+lVM3i7LMsJ/zaQMxlz4/nLStwHa11NpAIVLVKdCWjMMd8uQcwzhDKsusec95HXV+t9UJrBlaCCvN7bgg0VEqtU0ptVEr1sVp0JaMwxzwZuEspdRxYBDxindBMU9T3+3XJJOY2Sil1F9AauNnsWEqSUsoO+AC41+RQrM0Bo1unK8anuNVKqWZa6wQzgyphw4FZWuv3lVIdgO+UUk211rlmB1ZWlOUz/BOA72XPffKWFbiOUsoB42NgvFWiKxmFOWaUUj2BScAArXWGlWIrKdc75kpAU2ClUioSo69zfhm/cFuY3/NxYL7WOktrfQw4hPEPoKwqzDE/APwCoLXeALhgFBmzVYV6vxdFWU74W4AGSqk6SiknjIuy869YZz4wKu/xHcDfOu9qSBl13WNWSrUAvsRI9mW9Xxeuc8xa60SttZfWOkBrHYBx3WKA1nqrOeFaRGH+tudinN2jlPLC6OI5asUYLa0wxxwN9ABQSgVhJPxYq0ZpXfOBe/JG67QHErXWp4qzwTLbpaO1zlZKjQeWYlzhn6G13qeUehXYqrWeD3yD8bEvAuPiyDDzIi6+Qh7zu0BF4Ne869PRWusBpgVdTIU8ZptSyGNeCvRWSu0HcoAJWusy++m1kMf8FPCVUuoJjAu495blEzil1I8Y/7S98q5LvAw4Amitv8C4TtEPiABSgfuKvc8y/PMSQghRBGW5S0cIIUQRSMIXQohyQhK+EEKUE5LwhRCinJCEL4QQ5YQkfCGEKCck4QshRDnxf/tZBhO+vNgPAAAAAElFTkSuQmCC\n",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {},
+ "metadata": {
+ "needs_background": "light"
+ },
"output_type": "display_data"
}
],
@@ -247,26 +266,30 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "Fitting Parameters: [-1.70872086e+04 7.01364939e+04 -1.18382087e+05 1.06032494e+05\n",
- " -5.43222991e+04 1.60701108e+04 -2.65984526e+03 2.12318870e+02\n",
- " -7.15931412e-02 3.53804263e-02]\n"
+ "parameters initialization: [0.91227185 0.61186299 0.8670106 0.46130526 0.24519055 0.66403862\n",
+ " 0.80093522 0.93778575 0.87814087 0.20415735]\n",
+ "Fitting Parameters: [ 1.39123363e+04 -6.39746319e+04 1.24383137e+05 -1.32914986e+05\n",
+ " 8.47957513e+04 -3.27261066e+04 7.35983355e+03 -8.84389244e+02\n",
+ " 4.92269900e+01 -1.32799082e-01]\n"
]
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {},
+ "metadata": {
+ "needs_background": "light"
+ },
"output_type": "display_data"
}
],
@@ -295,18 +318,18 @@
"source": [
"结果显示过拟合, 引入正则化项(regularizer),降低过拟合\n",
"\n",
- "$Q(x)=\\sum_{i=1}^n(h(x_i)-y_i)^2+\\lambda||w||^2$。\n",
+ "$Q(x)=\\sum_{i=1}^n(h(x_i)-y_i)^2+\\frac{\\lambda}{2}||w||^2$。\n",
"\n",
"回归问题中,损失函数是平方损失,正则化可以是参数向量的L2范数,也可以是L1范数。\n",
"\n",
- "- L1: regularization\\*abs(p)\n",
+ "- L1: regularization \\* abs(p)\n",
"\n",
- "- L2: 0.5 \\* regularization \\* np.square(p)"
+ "- L2: regularization \\* np.sqrt(np.square(p))"
]
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
@@ -316,13 +339,13 @@
"def residuals_func_regularization(p, x, y):\n",
" ret = fit_func(p, x) - y\n",
" ret = np.append(ret,\n",
- " np.sqrt(0.5 * regularization * np.square(p))) # L2范数作为正则化项\n",
+ " 0.5 * regularization * np.square(p)) # L2范数的平方作为正则化项,前面需要乘以0.5\n",
" return ret"
]
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
@@ -334,27 +357,29 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 11,
+ "execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {},
+ "metadata": {
+ "needs_background": "light"
+ },
"output_type": "display_data"
}
],
@@ -449,13 +474,17 @@
"\n",
"习题解答:https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
"\n",
- "中文注释制作:机器学习初学者公众号:ID:ai-start-com\n",
+ "配置环境:python 3.8+\n",
"\n",
- "配置环境:python 3.5+\n",
- "\n",
- "代码全部测试通过。\n",
- "![gongzhong](../gongzhong.jpg)"
+ "代码全部测试通过。"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
@@ -474,7 +503,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.6"
+ "version": "3.8.3"
}
},
"nbformat": 4,
diff --git "a/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/.ipynb_checkpoints/2.Perceptron-checkpoint.ipynb" "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/.ipynb_checkpoints/2.Perceptron-checkpoint.ipynb"
new file mode 100644
index 0000000..b2ec2b1
--- /dev/null
+++ "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/.ipynb_checkpoints/2.Perceptron-checkpoint.ipynb"
@@ -0,0 +1,625 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 第2章 感知机"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "1.感知机是根据输入实例的特征向量$x$对其进行二类分类的线性分类模型:\n",
+ "\n",
+ "$$\n",
+ "f(x)=\\operatorname{sign}(w \\cdot x+b)\n",
+ "$$\n",
+ "\n",
+ "感知机模型对应于输入空间(特征空间)中的分离超平面$w \\cdot x+b=0$。\n",
+ "\n",
+ "2.感知机学习的策略是极小化损失函数:\n",
+ "\n",
+ "$$\n",
+ "\\min _{w, b} L(w, b)=-\\sum_{x_{i} \\in M} y_{i}\\left(w \\cdot x_{i}+b\\right)\n",
+ "$$\n",
+ "\n",
+ "损失函数对应于误分类点到分离超平面的总距离。\n",
+ "\n",
+ "3.感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。算法简单且易于实现。原始形式中,首先任意选取一个超平面,然后用梯度下降法不断极小化目标函数。在这个过程中一次随机选取一个误分类点使其梯度下降。\n",
+ " \n",
+ "4.当训练数据集线性可分时,感知机学习算法是收敛的。感知机算法在训练数据集上的误分类次数$k$满足不等式:\n",
+ "\n",
+ "$$\n",
+ "k \\leqslant\\left(\\frac{R}{\\gamma}\\right)^{2}\n",
+ "$$\n",
+ "\n",
+ "当训练数据集线性可分时,感知机学习算法存在无穷多个解,其解由于不同的初值或不同的迭代顺序而可能有所不同。\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 二分类模型\n",
+ "$f(x) = sign(w\\cdot x + b)$\n",
+ "\n",
+ "$\\operatorname{sign}(x)=\\left\\{\\begin{array}{ll}{+1,} & {x \\geqslant 0} \\\\ {-1,} & {x<0}\\end{array}\\right.$\n",
+ "\n",
+ "给定训练集:\n",
+ "\n",
+ "$T=\\left\\{\\left(x_{1}, y_{1}\\right),\\left(x_{2}, y_{2}\\right), \\cdots,\\left(x_{N}, y_{N}\\right)\\right\\}$\n",
+ "\n",
+ "定义感知机的损失函数 \n",
+ "\n",
+ "$L(w, b)=-\\sum_{x_{i} \\in M} y_{i}\\left(w \\cdot x_{i}+b\\right)$\n",
+ "\n",
+ "---\n",
+ "#### 算法\n",
+ "\n",
+ "随机梯度下降法 Stochastic Gradient Descent\n",
+ "\n",
+ "随机抽取一个误分类点使其梯度下降。\n",
+ "\n",
+ "$w = w + \\eta y_{i}x_{i}$\n",
+ "\n",
+ "$b = b + \\eta y_{i}$\n",
+ "\n",
+ "当实例点被误分类,即位于分离超平面的错误侧,则调整$w$, $b$的值,使分离超平面向该无分类点的一侧移动,直至误分类点被正确分类"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "拿出iris数据集中两个分类的数据和[sepal length,sepal width]作为特征"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "from sklearn.datasets import load_iris\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# load data\n",
+ "iris = load_iris()\n",
+ "df = pd.DataFrame(iris.data, columns=iris.feature_names)\n",
+ "df['label'] = iris.target"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " sepal length sepal width petal length petal width label\n",
+ "0 5.1 3.5 1.4 0.2 0\n",
+ "1 4.9 3.0 1.4 0.2 0\n",
+ "2 4.7 3.2 1.3 0.2 0\n",
+ "3 4.6 3.1 1.5 0.2 0\n",
+ "4 5.0 3.6 1.4 0.2 0\n",
+ ".. ... ... ... ... ...\n",
+ "145 6.7 3.0 5.2 2.3 2\n",
+ "146 6.3 2.5 5.0 1.9 2\n",
+ "147 6.5 3.0 5.2 2.0 2\n",
+ "148 6.2 3.4 5.4 2.3 2\n",
+ "149 5.9 3.0 5.1 1.8 2\n",
+ "\n",
+ "[150 rows x 5 columns]\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "0 50\n",
+ "1 50\n",
+ "2 50\n",
+ "Name: label, dtype: int64"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.columns = [\n",
+ " 'sepal length', 'sepal width', 'petal length', 'petal width', 'label'\n",
+ "]\n",
+ "print(df)\n",
+ "df.label.value_counts()"
+ ]
+ },
+ {
+ "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": [
+ "plt.scatter(df[:50]['sepal length'], df[:50]['sepal width'], label='0')\n",
+ "plt.scatter(df[50:100]['sepal length'], df[50:100]['sepal width'], label='1')\n",
+ "plt.xlabel('sepal length')\n",
+ "plt.ylabel('sepal width')\n",
+ "plt.legend()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data = np.array(df.iloc[:100, [0, 1, -1]])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X, y = data[:,:-1], data[:,-1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "y = np.array([1 if i == 1 else -1 for i in y])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Perceptron"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 数据线性可分,二分类数据\n",
+ "# 此处为一元一次线性方程\n",
+ "class Model:\n",
+ " def __init__(self):\n",
+ " self.w = np.ones(len(data[0]) - 1, dtype=np.float32)\n",
+ " self.b = 0\n",
+ " self.l_rate = 0.1\n",
+ " # self.data = data\n",
+ "\n",
+ " def sign(self, x, w, b):\n",
+ " y = np.dot(x, w) + b\n",
+ " return y\n",
+ "\n",
+ " # 随机梯度下降法\n",
+ " def fit(self, X_train, y_train):\n",
+ " is_wrong = False\n",
+ " while not is_wrong:\n",
+ " wrong_count = 0\n",
+ " # 遍历所有实例\n",
+ " for d in range(len(X_train)):\n",
+ " X = X_train[d]\n",
+ " y = y_train[d]\n",
+ " # 如果抽取到一个误分类点,使其梯度下降\n",
+ " if y * self.sign(X, self.w, self.b) <= 0:\n",
+ " self.w = self.w + self.l_rate * np.dot(y, X)\n",
+ " self.b = self.b + self.l_rate * y\n",
+ " wrong_count += 1\n",
+ " # 如果有一个实例被分错了,则重新遍历\n",
+ " if wrong_count == 0:\n",
+ " is_wrong = True\n",
+ " return 'Perceptron Model!'\n",
+ "\n",
+ " def score(self):\n",
+ " pass"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'Perceptron Model!'"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "perceptron = Model()\n",
+ "perceptron.fit(X, y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "x_points = np.linspace(4, 7, 10)\n",
+ "y_ = -(perceptron.w[0] * x_points + perceptron.b) / perceptron.w[1]\n",
+ "plt.plot(x_points, y_)\n",
+ "\n",
+ "plt.scatter(data[:50, 0], data[:50, 1], color='b', label='0')\n",
+ "plt.scatter(data[50:100, 0], data[50:100, 1], color='orange', label='1')\n",
+ "plt.xlabel('sepal length')\n",
+ "plt.ylabel('sepal width')\n",
+ "plt.legend()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### scikit-learn实例"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import sklearn\n",
+ "from sklearn.linear_model import Perceptron"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'0.23.1'"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sklearn.__version__"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Perceptron()"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf = Perceptron(fit_intercept=True, \n",
+ " max_iter=1000, \n",
+ " shuffle=True)\n",
+ "clf.fit(X, y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[ 23.2 -38.7]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Weights assigned to the features.\n",
+ "print(clf.coef_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[-5.]\n"
+ ]
+ }
+ ],
+ "source": [
+ "# 截距 Constants in decision function.\n",
+ "print(clf.intercept_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAJNCAYAAAB5m6IGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABdxUlEQVR4nO3dd3hUVeLG8fdkEghDlSJISUJXWhIIRRS7a8cuYHZX1hKVFXDXgrvYfiq6lnVFXHGzuu6qQxMRsa9rV1RMSEKRIpBCEylSQyDl/P64QSAmkMDM3Cnfz/PkGe6ZknfOTJKXO2fuGGutAAAAEFwxbgcAAACIRpQwAAAAF1DCAAAAXEAJAwAAcAElDAAAwAWUMAAAABfEBvobGGM8krIkrbXWXljlvJGSHpe0tnLoGWvt84e6vZYtW9qkpKQAJAUAAPCv7OzsTdbaVtWdF/ASJmmspCWSmtRw/nRr7S21vbGkpCRlZWX5JRgAAEAgGWMKazovoC9HGmPaS7pA0iH3bgEAAESbQK8Je0rSnZIqDnGZy40xC4wxM40xHQKcBwAAICQErIQZYy6U9KO1NvsQF3tTUpK1to+kDyT9p4bbyjDGZBljsjZu3BiAtAAAAMFlAvXZkcaYRyT9RlKZpHg5a8JmWWt/XcPlPZK2WGubHup209LSLGvCAADRqrS0VGvWrFFJSYnbUXCA+Ph4tW/fXnFxcQeNG2OyrbVp1V0nYAvzrbV/kvSnygCnSbq9agEzxhxnrV1fuTlUzgJ+AABQgzVr1qhx48ZKSkqSMcbtOJBkrdXmzZu1Zs0adezYsdbXC/pxwowxDxhjhlZujjHGLDbG5EkaI2lksPMAABBOSkpK1KJFCwpYCDHGqEWLFnXeOxmMQ1TIWvuJpE8q/33vAeM/7y0DAAC1QwELPUfymHDEfAAAUCeNGjWq8bzBgwcH7Ps+/PDDAbttN1DCAADAUSsrK5MkzZ07N2DfgxIGAAAg6ZNPPtGQIUM0dOhQ9ejRQ9L+vWTr16/XKaecopSUFPXq1Uuff/75L66/ePFiDRgwQCkpKerTp4++//57SdIrr7zy8/iNN96o8vJy3XXXXdq9e7dSUlKUnp4uSXryySfVq1cv9erVS0899ZQkadeuXbrggguUnJysXr16afr06ZKkBx54QP3791evXr2UkZGhQB0doi4oYQAARDCfT0pKkmJinFOfz7+3P3/+fE2cOFHLly8/aHzKlCk655xzlJubq7y8PKWkpPzius8995zGjh2r3NxcZWVlqX379lqyZImmT5+uL7/8Urm5ufJ4PPL5fPrLX/6iBg0aKDc3Vz6fT9nZ2XrxxRf1zTff6Ouvv9Y///lP5eTk6L333lPbtm2Vl5enRYsW6dxzz5Uk3XLLLfr222+1aNEi7d69W2+99ZZ/J+IIBGVhPgAACD6fT8rIkIqLne3CQmdbkip3Jh21AQMGVHtYhv79++vaa69VaWmpLrnkkmpL2IknnqgJEyZozZo1uuyyy9S1a1d9+OGHys7OVv/+/SVJu3fv1rHHHvuL637xxRe69NJL1bBhQ0nSZZddps8//1znnnuubrvtNo0bN04XXnihhgwZIkn6+OOP9dhjj6m4uFhbtmxRz549ddFFF/lnEo4Qe8IAAIhQ48fvL2D7FBc74/6yrwRVdcopp+izzz5Tu3btNHLkSL300kt6/fXXlZKSopSUFGVlZenqq6/WnDlz1KBBA51//vn66KOPZK3VNddco9zcXOXm5mrZsmW6//77a52nW7dumj9/vnr37q27775bDzzwgEpKSjRq1CjNnDlTCxcu1A033BASB7ulhAEAEKGKiuo27k+FhYVq3bq1brjhBl1//fWaP3++Lr300p/LVVpamlatWqVOnTppzJgxuvjii7VgwQKdeeaZmjlzpn788UdJ0pYtW1RYWChJiouLU2lpqSRpyJAhmj17toqLi7Vr1y69/vrrGjJkiNatWyev16tf//rXuuOOOzR//vyfC1fLli21c+dOzZw5M/ATUAu8HAkAQIRKSHBegqxuPNA++eQTPf7444qLi1OjRo300ksv/eIyM2bM0Msvv6y4uDi1adNGf/7zn9W8eXM99NBD+tWvfqWKigrFxcXp73//uxITE5WRkaE+ffqob9++8vl8GjlypAYMGCBJuv7665Wamqr3339fd9xxh2JiYhQXF6fJkyerWbNmuuGGG9SrVy+1adPm55c63Rawz44MFD47EgAQzZYsWaITTjihVpetuiZMkrxeKTPTf2vCsF91j82hPjuSlyMBAIhQ6elO4UpMlIxxTilgoYOXIwEAiGDp6ZSuUMWeMAAAABdQwgAAAFxACQOAEBDoo5oDCD2sCQMAlwXjqOYAQg97wgDAZcE4qjngT/s+pLs6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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# 画布大小\n",
+ "plt.figure(figsize=(10,10))\n",
+ "\n",
+ "# 标题\n",
+ "plt.rcParams['font.sans-serif']=['SimHei']\n",
+ "plt.rcParams['axes.unicode_minus'] = False\n",
+ "plt.title('Perceptron for iris dataset')\n",
+ "\n",
+ "plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n",
+ "plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n",
+ "\n",
+ "# 画感知机的线\n",
+ "x_ponits = np.arange(4, 8)\n",
+ "y_ = -(clf.coef_[0][0]*x_ponits + clf.intercept_)/clf.coef_[0][1]\n",
+ "plt.plot(x_ponits, y_)\n",
+ "\n",
+ "# 其他部分\n",
+ "plt.legend() # 显示图例\n",
+ "plt.grid(False) # 不显示网格\n",
+ "plt.xlabel('sepal length')\n",
+ "plt.ylabel('sepal width')\n",
+ "plt.legend()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**注意 !**\n",
+ "\n",
+ "在上图中,有一个位于左下角的蓝点没有被正确分类,这是因为 SKlearn 的 Perceptron 实例中有一个`tol`参数。\n",
+ "\n",
+ "`tol` 参数规定了如果本次迭代的损失和上次迭代的损失之差小于一个特定值时,停止迭代。所以我们需要设置 `tol=None` 使之可以继续迭代:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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VVzs9HRNmBD6gfVSO4GOnTGmwFobMIFqjJeIiEiMycxU0IpVOtUoIiIiEiEKXiIiIiIRouAlIiIiEiEKXiIiIiIRouAlIuICt++1JxJItNwkuy7OppbBgweHrpBaUvASEYmwynvtFRWBtSfvtafwJbW2yQevpsGsBGe6KbJvnnDfJLsuoqmW2lDwEhGJsEjea0/i0CYf5GVBSRFgnWleVljC1+DBg/nZz37Gd77zna+1Vzp69Cg33HADgwYN4uabb6asrCzguiZMmMCrr74KwNNPP83cuXMpKSlhyJAhDBo0iPvuuy/o61b3GqfWUlpayh133MGVV17JDTfcQElJCceOHePOO+/kqquuIjMzk+PHjwesL9hywfbBmVLwEhGJsEjea0/i0LJHoLxKci8vcdpDLJQ3yR46dChvvfUWAB999BHXX399wJtkB3rdQK8RSE5ODj179uSTTz7h1ltvZeXKlQFvsB1IsOVqsw/qQhdQFRGJsJQU5/RioHaRGpUESejB2s9CKG+SDbB582YOHjxIixYtaNy4cdCbZFd93UCvEciaNWu49dZbARg5ciQA06dP/9oNtgMJdCPu2u6DulCPl4hIhEXbvfYkxniDJPRg7WchlDfJBujfvz/PPvssP/jBDwCC3iS76uvW9jUuueQSFi1aBMCvf/1rJk+eHPAG24EEW642+6AuFLxERCIsMxNyciA1FYxxpjk5ugWM1FLPCeCpktw9XqfdBbW9STbA0KFDefbZZ7nhhhsAgt4k+0xfY+zYsSxevJjBgwezePFihg8fHvAG24HUdrmzpZtki4iIuKyuN8lmk88Z01VS7PR09ZwAnZTc3aCbZIuIiMS7TpkKWjFKpxpFRESiQCycgZLTnckxU/ASERFxWXJyMnv27FH4iiHWWvbs2UNycnKdnqdTjSIiIi7r2LEjmzdvZteuXW6XInWQnJxMx44d6/QcBS8RERGXJSUl0alTJ7fLkAjQqUYRERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGJe7sOHXO7BEDBS0REROLcnEVf8o1n3qegaK/bpSh4iYiISPya/PFGHvzncvqlteLS9s3cLkf3ahQREZH4Y63lj++u57n31vPdbufy7B29aJjocbssBS8RERGJLxUV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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "clf = Perceptron(fit_intercept=True, \n",
+ " max_iter=1000,\n",
+ " tol=None,\n",
+ " shuffle=True)\n",
+ "clf.fit(X, y)\n",
+ "\n",
+ "# 画布大小\n",
+ "plt.figure(figsize=(10,10))\n",
+ "\n",
+ "# 中文标题\n",
+ "plt.rcParams['font.sans-serif']=['SimHei']\n",
+ "plt.rcParams['axes.unicode_minus'] = False\n",
+ "plt.title('鸢尾花线性数据示例')\n",
+ "\n",
+ "plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n",
+ "plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n",
+ "\n",
+ "# 画感知机的线\n",
+ "x_ponits = np.arange(4, 8)\n",
+ "y_ = -(clf.coef_[0][0]*x_ponits + clf.intercept_)/clf.coef_[0][1]\n",
+ "plt.plot(x_ponits, y_)\n",
+ "\n",
+ "# 其他部分\n",
+ "plt.legend() # 显示图例\n",
+ "plt.grid(False) # 不显示网格\n",
+ "plt.xlabel('sepal length')\n",
+ "plt.ylabel('sepal width')\n",
+ "plt.legend()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "现在可以看到,所有的两种鸢尾花都被正确分类了。\n",
+ "\n",
+ "----"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 第2章感知机-习题\n",
+ "\n",
+ "### 习题2.1\n",
+ " Minsky 与 Papert 指出:感知机因为是线性模型,所以不能表示复杂的函数,如异或 (XOR)。验证感知机为什么不能表示异或。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ "\n",
+ "对于异或函数XOR,全部的输入与对应的输出如下: \n",
+ "\n",
+ "|$x^{(1)}$
|$x^{(2)}$
|$y$|\n",
+ "|:-: | :-: | :-: | \n",
+ "| 1 | 1 |-1 | \n",
+ "| 1 | -1 | 1 | \n",
+ "|-1 | 1 | 1 | \n",
+ "|-1 | -1 |-1 | "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "参考代码:https://github.com/wzyonggege/statistical-learning-method\n",
+ "\n",
+ "本文代码更新地址:https://github.com/fengdu78/lihang-code\n",
+ "\n",
+ "习题解答:https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
+ "\n",
+ "中文注释制作:机器学习初学者公众号:ID:ai-start-com\n",
+ "\n",
+ "配置环境:python 3.5+\n",
+ "\n",
+ "代码全部测试通过。\n",
+ "![gongzhong](../gongzhong.jpg)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "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.8.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git "a/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb" "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb"
index 70fc961..dcc9bc1 100644
--- "a/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb"
+++ "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb"
@@ -58,7 +58,7 @@
"---\n",
"#### 算法\n",
"\n",
- "随即梯度下降法 Stochastic Gradient Descent\n",
+ "随机梯度下降法 Stochastic Gradient Descent\n",
"\n",
"随机抽取一个误分类点使其梯度下降。\n",
"\n",
@@ -91,7 +91,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
@@ -103,19 +103,39 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 7,
"metadata": {},
"outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " sepal length sepal width petal length petal width label\n",
+ "0 5.1 3.5 1.4 0.2 0\n",
+ "1 4.9 3.0 1.4 0.2 0\n",
+ "2 4.7 3.2 1.3 0.2 0\n",
+ "3 4.6 3.1 1.5 0.2 0\n",
+ "4 5.0 3.6 1.4 0.2 0\n",
+ ".. ... ... ... ... ...\n",
+ "145 6.7 3.0 5.2 2.3 2\n",
+ "146 6.3 2.5 5.0 1.9 2\n",
+ "147 6.5 3.0 5.2 2.0 2\n",
+ "148 6.2 3.4 5.4 2.3 2\n",
+ "149 5.9 3.0 5.1 1.8 2\n",
+ "\n",
+ "[150 rows x 5 columns]\n"
+ ]
+ },
{
"data": {
"text/plain": [
- "2 50\n",
- "1 50\n",
"0 50\n",
+ "1 50\n",
+ "2 50\n",
"Name: label, dtype: int64"
]
},
- "execution_count": 3,
+ "execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
@@ -124,27 +144,28 @@
"df.columns = [\n",
" 'sepal length', 'sepal width', 'petal length', 'petal width', 'label'\n",
"]\n",
+ "print(df)\n",
"df.label.value_counts()"
]
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 4,
+ "execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
""
]
@@ -165,7 +186,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
@@ -174,7 +195,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
@@ -183,7 +204,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
@@ -199,7 +220,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
@@ -221,13 +242,16 @@
" is_wrong = False\n",
" while not is_wrong:\n",
" wrong_count = 0\n",
+ " # 遍历所有实例\n",
" for d in range(len(X_train)):\n",
" X = X_train[d]\n",
" y = y_train[d]\n",
+ " # 如果抽取到一个误分类点,使其梯度下降\n",
" if y * self.sign(X, self.w, self.b) <= 0:\n",
" self.w = self.w + self.l_rate * np.dot(y, X)\n",
" self.b = self.b + self.l_rate * y\n",
" wrong_count += 1\n",
+ " # 如果有一个实例被分错了,则重新遍历\n",
" if wrong_count == 0:\n",
" is_wrong = True\n",
" return 'Perceptron Model!'\n",
@@ -238,7 +262,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 20,
"metadata": {},
"outputs": [
{
@@ -247,7 +271,7 @@
"'Perceptron Model!'"
]
},
- "execution_count": 9,
+ "execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
@@ -259,22 +283,22 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 10,
+ "execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
""
]
@@ -290,8 +314,8 @@
"y_ = -(perceptron.w[0] * x_points + perceptron.b) / perceptron.w[1]\n",
"plt.plot(x_points, y_)\n",
"\n",
- "plt.plot(data[:50, 0], data[:50, 1], 'bo', color='blue', label='0')\n",
- "plt.plot(data[50:100, 0], data[50:100, 1], 'bo', color='orange', label='1')\n",
+ "plt.scatter(data[:50, 0], data[:50, 1], color='b', label='0')\n",
+ "plt.scatter(data[50:100, 0], data[50:100, 1], color='orange', label='1')\n",
"plt.xlabel('sepal length')\n",
"plt.ylabel('sepal width')\n",
"plt.legend()"
@@ -306,7 +330,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
@@ -316,7 +340,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 30,
"metadata": {},
"outputs": [
{
@@ -325,7 +349,7 @@
"'0.23.1'"
]
},
- "execution_count": 12,
+ "execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
@@ -336,7 +360,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 31,
"metadata": {},
"outputs": [
{
@@ -345,7 +369,7 @@
"Perceptron()"
]
},
- "execution_count": 13,
+ "execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
@@ -359,7 +383,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 32,
"metadata": {},
"outputs": [
{
@@ -377,7 +401,7 @@
},
{
"cell_type": "code",
- "execution_count": 15,
+ "execution_count": 33,
"metadata": {},
"outputs": [
{
@@ -395,22 +419,22 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 16,
+ "execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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oyqHeBpnXN4vxphncC6BfgQsxbmsWcK+l03PBRYYY7b7bzvYWruzFq+TqvcjIgfB7Dv0QETk0BljUoB8nE8VlrlcjohIWNKZMBEREREXKISJiIiIuECXI0VERERcoDNhIiIiIi6IuC+ZbdmypU1JSXG7DBEREZEDysnJ2WCtbVXdtqCHMP+8ONk4s0BfWGXbUOAf7J0g8Vlr7Uv7O15KSgrZ2dnBKFVEREQkoIwxVb+d41ehOBM2CmdenCY1bJ9srb0lBHWIiIiIhI2gjgnzz658AbDfs1siIiIisSbYA/OfwpmJurqv59jjcmPMXGPMVGNMu+p2MMZkGmOyjTHZ69evD0adIiIiIiEVtMuRxpgLgZ+ttTnGmFNr2O1dYKK1dpcx5ibgVeD0qjtZa7OALID09HTNqSEiIjGrtLSUVatWUVJS4nYpUkliYiJt27YlISGh1rcJ5piwE4GBxpjzgUSgiTFmvLX2mj07+L+/bY+XgMeCWI+IiEjEW7VqFY0bNyYlJQVjjNvlCGCtZePGjaxatYr27dvX+nZBuxxprf2LtbattTYFGAx8VjmAARhjjqy0OhBnAL+IiIjUoKSkhBYtWiiAhRFjDC1atKjz2cmQzxNmjHkAyLbWTgdGGmMGAmXAJmBoqOsRERGJNApg4edgnpOQhDBr7RfAF/7f763U/hfgL6GoQURERCSc6GuLREREpE4aNWpU47b+/fsH7X4ffvjhoB3bDQphIiIicsjKysoAmDlzZtDuQyFMREREIobPBykpEBfnLH2+wB37iy++YMCAAQwcOJAuXboAe8+SrV27lpNPPpm0tDS6devG119//ZvbL1iwgD59+pCWlkaPHj348ccfARg/fvyv7TfddBPl5eXcdddd7Ny5k7S0NDIyMgB48skn6datG926deOpp54CYMeOHVxwwQWkpqbSrVs3Jk+eDMADDzxA79696datG5mZmVgbBjNeWWsj6qdXr15WREQkVi1cuLDW+44fb63Xay3s/fF6nfZD0bBhQ2uttZ9//rn1er12xYoVv9n2+OOP24ceeshaa21ZWZndunXrb45zyy232PH+Ynbt2mWLi4vtwoUL7YUXXmh3795trbV22LBh9tVXX93n2NZam52dbbt162a3b99ut23bZrt06WJnz55tp06dam+44YZf99u8ebO11tqNGzf+2nbNNdfY6dOnH1onVKO65wbnw4jVZhqdCRMREYlSY8ZAcfG+bcXFTnug9OnTp9q5sXr37s0rr7zC/fffz7x582jcuPFv9jnhhBN4+OGHefTRRyksLKRBgwZ8+umn5OTk0Lt3b9LS0vj0009ZsWLFb247Y8YMLr30Uho2bEijRo247LLL+Prrr+nevTuffPIJd955J19//TVNmzYF4PPPP6dv3750796dzz77jAULFgSuEw6SQpiIiEiUKiqqW/vBaNiwYbXtJ598Ml999RVt2rRh6NChvPbaa7z99tukpaWRlpZGdnY2V199NdOnT6dBgwacf/75fPbZZ1hrufbaa5kzZw5z5sxhyZIl3H///bWup1OnTsyePZvu3btz991388ADD1BSUsLw4cOZOnUq8+bN48YbbwyLbxxQCBMREYlSSUl1aw+kwsJCWrduzY033sgNN9zA7NmzufTSS38NV+np6axYsYKjjz6akSNHcvHFFzN37lzOOOMMpk6dys8//wzApk2bKCwsBCAhIYHS0lIABgwYwLRp0yguLmbHjh28/fbbDBgwgDVr1uD1ernmmmu4/fbbmT179q+Bq2XLlmzfvp2pU6cGvwNqIeSTtYqIiEhojB0LmZn7XpL0ep32YPviiy/4xz/+QUJCAo0aNeK11177zT5Tpkzh9ddfJyEhgSOOOIK//vWvNG/enIceeoizzz6biooKEhIS+Ne//kVycjKZmZn06NGD448/Hp/Px9ChQ+nTpw8AN9xwAz179uTjjz/m9ttvJy4ujoSEBJ5//nmaNWvGjTfeSLdu3TjiiCPo3bt38DugFowNh08H1EF6errNzs52uwwRERFXLFq0iOOOO67W+/t8zhiwoiLnDNjYseD/cKEEWHXPjTEmx1qbXt3+OhMmIiISxTIyFLrClcaEiYiIiLhAIUxERETEBQphIiJhIJizmotIeNKYMBERl/l8+36CrbDQWQeN5RGJZjoTJiLislDMai4i4UchTETEZaGY1VwkkPZ8SXd1+vfvH8JKfmvNmjVcccUVB3XbU089lVBOg6UQJiLiMjdnNRcJlLKyMgBmzpwZ0vur6qijjgrZjPjl5eWHdHuFMBERl40d68xiXlmoZjWXGJDvg2kpMCHOWeYH7lMfX3zxBQMGDGDgwIF06dIF2HuWbO3atZx88smkpaXRrVs3vv76631uu2XLFpKTk6moqABgx44dtGvXjtLSUpYvX865555Lr169GDBgAIsXLwZg6NCh3HzzzfTt25c77riDL7/88tfvouzZsyfbtm2joKCAbt26AU5Iuu222+jWrRs9evRg3LhxAHz66af07NmT7t27c91117Fr167fPLaJEyfSvXt3unXrxp133vlre6NGjbj11ltJTU3l22+/PaT+08B8ERGX7Rl8r1nNJeDyfTArE8r9gw6LC511gPaBeYHNnj2b+fPn0759+33aJ0yYwDnnnMOYMWMoLy+nuMrAx6ZNm5KWlsaXX37Jaaedxnvvvcc555xDQkICmZmZvPDCCxxzzDF8//33DB8+nM8++wyAVatWMXPmTDweDxdddBH/+te/OPHEE9m+fTuJiYn73EdWVhYFBQXMmTOH+Ph4Nm3aRElJCUOHDuXTTz+lU6dO/P73v+f5559n9OjRv95uzZo13HnnneTk5HDYYYdx9tlnM23aNC655BJ27NhB3759eeKJJw6573QmTEQkDGRkQEEBVFQ4SwUwCYi8MXsD2B7lxU57gPTp0+c3AQygd+/evPLKK9x///3MmzePxo0b/2afQYMGMXnyZAAmTZrEoEGD2L59OzNnzuTKK68kLS2Nm266ibVr1/56myuvvBKPxwPAiSeeyJ///GeeeeYZNm/eTHz8vueW/ve//3HTTTf92t68eXOWLFlC+/bt6dSpEwDXXnstX3311T63++GHHzj11FNp1aoV8fHxZGRk/LqPx+Ph8ssvP9ju2odCmIiISLQqruHTHTW1H4SGDRtW237yySfz1Vdf0aZNG4YOHcprr73G22+//evlw+zsbAYOHMhHH33Epk2byMnJ4fTTT6eiooJmzZoxZ86cX38WLVpU7f3dddddvPTSS+zcuZMTTzzx18uWwZSYmPhrCDxUCmEiIiLRylvDpztqag+gwsJCWrduzY033sgNN9zA7NmzufTSS38NVunp6TRq1IjevXszatQoLrzwQjweD02aNKF9+/a88cYbAFhrycvLq/Y+li9fTvfu3bnzzjvp3bv3b0LYWWedxYsvvvjrIP5NmzbRuXNnCgoKWLZsGQCvv/46p5xyyj6369OnD19++SUbNmygvLyciRMn/mafQFAIExERiVapY8FT5VMfHq/THmRffPEFqamp9OzZk8mTJzNq1Khq9xs0aBDjx49n0KBBv7b5fD5efvllUlNT6dq1K++88061t33qqad+HXSfkJDAeeedt8/2G264gaSkJHr06EFqaioTJkwgMTGRV155hSuvvJLu3bsTFxfHzTffvM/tjjzySP7+979z2mmnkZqaSq9evbj44osPsUd+y1hrA37QYEpPT7ehnMNDREQknCxatIjjjjuu9jfI9zljwIqLnDNgqWMDNihf9lXdc2OMybHWple3vz4dKSIiEs3aZyh0hSldjhQRERFxgUKYiIhIhIm0oUSx4GCeE4UwERGRCJKYmMjGjRsVxMKItZaNGzf+ZrLYA9GYMBERkQjStm1bVq1axfr1690uRSpJTEykbdu2dbqNQpiIiEgESUhIqHaGeok8uhwpIiIi4gKFMBEREREXKISJiIiIuEAhTERERMQFCmEiIiIiLlAIExEREXGBQpiIiIiICxTCRERERFygECYiIiLiAoUwERERERcohImIiIi4QCFMRERExAUKYSIiIiIuUAgTERERcYFCmIiIiIgLFMJEREREXKAQJiIiIuIChTARERERFyiEiYiIiLhAIUxERETEBQphIiIiIi5QCBMRERFxgUKYiIiIiAsUwkQkpvl8kJICcXHO0udzuyIRiRXxbhcgIuIWnw8yM6G42FkvLHTWATIy3KtLRGKDzoSJSMwaM2ZvANujuNhpFxEJNoUwEYlZRUV1axcRCSSFMBGJWUlJdWsXEQkkhTARiVljx4LXu2+b1+u0i4gEm0KYiMSsjAzIyoLkZDDGWWZlaVC+iISGPh0pIjEtI0OhS0TcoTNhIiIiIi5QCBMRERFxgUKYiIiIiAsUwkRERERcoBAmIiIi4gKFMBEREREXKISJiIiIuEAhTERERMQFCmEiIiIiLlAIExEREXGBQpiIiIiICxTCRERERFygECYiIiLiAoUwEakznw9SUiAuzln6fG5XJCISeeLdLkBEIovPB5mZUFzsrBcWOusAGRnu1SUiEml0JkxE6mTMmL0BbI/iYqddRERqTyFMROqkqKhu7SIiUj2FMBGpk6SkurWLiEj1FMJEpE7GjgWvd982r9dpFxGR2lMIE5E6yciArCxITgZjnGVWlgbli4jUlT4dKSJ1lpGh0CUicqh0JkxERERizsxlGyjcuMPVGhTCREREJGaUllfwj48Xk/Hy9zz5yVJXa9HlSBEREYkJKzcVM2pSLrOLNjMo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sda6XUOdpKen2+zsbFdr2LRjN3dMzeN/i37mzOMO57ErUmnesJ6rNYWjlBQneFWVnAwFBaGuJkpMS3HeDKryJsMlBaGuJvKpP6Umem1IgBhjcqy16dVt05mwOvp2+UZGT87llx2l3HdRF4b2T9HcXzUoKqpbu9RCcQ2dV1O77J/6U2qi14aEgMaE1VJZuTP319UvfUfDevG8Nbw/fzixvQLYfiQl1a1dasFbQ+fV1C77p/6Umui1ISGgEFYLqzfvZHDWd4z7bBlXHN+Wd0ecRLc2Td0uK+yNHQte775tXq/TLgcpdSx4qnSqx+u0S92pP6Umem1ICOhy5AF8NH8td0ydS4WFpwencXFaG7dLihh7Bt+PGeNcgkxKcgKYBuUfgj0DgvPGOJdFvEnOm4IGCh8c9afURK8NCQENzK9BSWk5D763EN/3RaS2bcozQ3qS3KJh0O9XREREoocG5tfR0nXbGDEhlyXrtnHTyUdz69mdqRevK7ciIiISOAphVeQUbiLjpe9pVD+eV6/rwymdWrldkoiIiEQhhbAqurVpyuDeSQw/rQOHN050uxwRERGJUgphVdSP93D/wK5ulyEiIiJRTgOdRERERFygECYiIiLiAoUwERERERcohImIiIi4QCFMRERExAUKYSIiIiIuUAgTERERcYFCmIiIiIgLFMJEREREXKAQJiIigZXvg2kpMCHOWeb7YrsOkRroa4tERCRw8n0wKxPKi5314kJnHaB9RuzVIbIfOhMmIiKBkzdmb/DZo7zYaY/FOkT2QyFMREQCp7iobu3RXofIfiiEiYhI4HiT6tYe7XWI7IdCmIiIBE7qWPB4923zeJ32WKxDZD8UwkREJHDaZ0CfLPAmA8ZZ9skK/WD4cKlDZD+MtdbtGuokPT3dZmdnu12GiIiIyAEZY3KstenVbdOZMBEREREXKISJiIiIuEAhTERERMQFCmEiIiIiLlAIExEREXGBQpiIiIiICxTCRERERFygECYiIiLiAoUwERERERcohImIiIi4QCFMRERExAUKYSIiIiIuUAgTERERcYFCmIiIiIgLFMJEREREXKAQJiIiIuIChTARERERFyiEiYiIiLhAIUxERETEBQphIiIiIi5QCBMRERFxgUKYiIiIiAsUwkRERERcoBAmIiIi4gKFMBEREREXKISJiIiIuEAhTERERMQFCmEiIiIiLlAIExEREXGBQpiIiIiICxTCRERERFygECYiIiLiAoUwERERERcELYQZY9oZYz43xiw0xiwwxoyqZh9jjHnGGLPMGDPXGHN8sOoRiRr5PpiWAhPinGW+z+2KRETkIMQH8dhlwK3W2tnGmMZAjjHmE2vtwkr7nAcc4//pCzzvX4pIdfJ9MCsTyoud9eJCZx2gfYZ7dYmISJ0F7UyYtXattXa2//dtwCKgTZXdLgZes47vgGbGmCODVZNIxMsbszeA7VFe7LSLiEhECcmYMGNMCtAT+L7KpjbAykrrq/htUMMYk2mMyTbGZK9fvz5odYqEveKiurWLiEjYCnoIM8Y0At4ERltrtx7MMay1WdbadGtteqtWrQJboEgk8SbVrV1ERMJWUEOYMSYBJ4D5rLVvVbPLaqBdpfW2/jYRqU7qWPB4923zeJ12ERGJKMH8dKQBXgYWWWufrGG36cDv/Z+S7AdssdauDVZNIhGvfQb0yQJvMmCcZZ8sDcoXEYlAwfx05InA74B5xpg5/ra/AkkA1toXgA+A84FlQDHwhyDWIxId2mcodImIRIGghTBr7QzAHGAfC/wxWDWIiIiIhCvNmC8iIiLiAoUwERERERcohImIiIi4QCFMRERExAUKYSIiIiIuUAgTERERcYFCmIiIiIgLFMJEREREXKAQJiIiIuIChTARERERFyiEiYiIiLhAIUxERETEBQphIiIiIi5QCBMRERFxgUKYiIiIiAsUwkRERERcoBAmIiIi4gKFMBEREREXKISJiIiIuMBYa92uoU6MMeuBwhDcVUtgQwjuJ1aoPwNPfRpY6s/AU58Glvoz8ELRp8nW2lbVbYi4EBYqxphsa22623VEC/Vn4KlPA0v9GXjq08BSfwae232qy5EiIiIiLlAIExEREXGBQljNstwuIMqoPwNPfRpY6s/AU58Glvoz8FztU40JExEREXGBzoSJiIiIuEAhTERERMQFMR/CjDEeY0yuMea9arbVN8ZMNsYsM8Z8b4xJcaHEiHOAPh1qjFlvjJnj/7nBjRojiTGmwBgzz99f2dVsN8aYZ/yv07nGmOPdqDNS1KI/TzXGbKn0Gr3XjTojiTGmmTFmqjFmsTFmkTHmhCrb9Rqtg1r0p16jdWCM6Vypr+YYY7YaY0ZX2ceV12h8KO4kzI0CFgFNqtl2PfCLtbajMWYw8CgwKJTFRaj99SnAZGvtLSGsJxqcZq2taULB84Bj/D99gef9S6nZ/voT4Gtr7YUhqybyPQ18ZK29whhTD/BW2a7XaN0cqD9Br9Fas9YuAdLAOUkArAberrKbK6/RmD4TZoxpC1wAvFTDLhcDr/p/nwqcYYwxoagtUtWiTyXwLgZes47vgGbGmCPdLkpigzGmKXAy8DKAtXa3tXZzld30Gq2lWvanHLwzgOXW2qrfvOPKazSmQxjwFHAHUFHD9jbASgBrbRmwBWgRksoi11Psv08BLvef7p1qjGkXmrIimgX+a4zJMcZkVrP919ep3yp/m1TvQP0JcIIxJs8Y86Expmsoi4tA7YH1wCv+YQgvGWMaVtlHr9Haq01/gl6jB2swMLGadldeozEbwowxFwI/W2tz3K4lWtSyT98FUqy1PYBP2HumUWp2krX2eJzT5X80xpzsdkER7kD9ORvnu95SgXHAtBDXF2nigeOB5621PYEdwF3ulhTRatOfeo0eBP+l3YHAG27XskfMhjDgRGCgMaYAmAScbowZX2Wf1UA7AGNMPNAU2BjKIiPMAfvUWrvRWrvLv/oS0Cu0JUYea+1q//JnnHEMfars8uvr1K+tv02qcaD+tNZutdZu9//+AZBgjGkZ8kIjxypglbX2e//6VJwQUZleo7V3wP7Ua/SgnQfMttauq2abK6/RmA1h1tq/WGvbWmtTcE5PfmatvabKbtOBa/2/X+HfR7Pb1qA2fVrlGvtAnAH8UgNjTENjTOM9vwNnA/Or7DYd+L3/0z39gC3W2rUhLjUi1KY/jTFH7Bn7aYzpg/N3Uv/5qoG19idgpTGms7/pDGBhld30Gq2l2vSnXqMHbQjVX4oEl16j+nRkFcaYB4Bsa+10nIGRrxtjlgGbcIKF1FGVPh1pjBkIlOH06VA3a4sArYG3/X9v44EJ1tqPjDE3A1hrXwA+AM4HlgHFwB9cqjUS1KY/rwCGGWPKgJ3AYP3n64BGAD7/5Z4VwB/0Gj0kB+pPvUbryP+frrOAmyq1uf4a1dcWiYiIiLggZi9HioiIiLhJIUxERETEBQphIiIiIi5QCBMRERFxgUKYiIiIiAsUwkQkZhhjTjXGvFfb9gDc3yXGmC6V1r8wxqQH+n5EJDIphImIBM8lQJcD7SQisUkhTETChn9G+/f9X0w83xgzyN/eyxjzpf9Ltz/e880L/jNLTxtj5vj37+Nv72OM+db/BcgzK80+Xtsa/m2MmeW//cX+9qHGmLeMMR8ZY340xjxW6TbXG2OW+m/zf8aYZ40x/XG+FeIf/vo6+He/0r/fUmPMgAB1nYhEIM2YLyLh5FxgjbX2AgBjTFNjTALOlxRfbK1d7w9mY4Hr/LfxWmvT/F/E/W+gG7AYGGCtLTPGnAk8DFxeyxrG4Hzl1nXGmGbALGPM//zb0oCewC5giTFmHFAO3IPz/X7bgM+APGvtTGPMdOA9a+1U/+MBiLfW9jHGnA/cB5xZ924SkWigECYi4WQe8IQx5lGc8PK1MaYbTrD6xB9iPEDl73SbCGCt/coY08QfnBoDrxpjjgEskFCHGs7G+SL62/zriUCS//dPrbVbAIwxC4FkoCXwpbV2k7/9DaDTfo7/ln+ZA6TUoS4RiTIKYSISNqy1S40xx+N8h9tDxphPgbeBBdbaE2q6WTXrDwKfW2svNcakAF/UoQwDXG6tXbJPozF9cc6A7VHOwf0N3XOMg729iEQJjQkTkbBhjDkKKLbWjgf+gXOJbwnQyhhzgn+fBGNM10o32zNu7CRgi/9MVVNgtX/70DqW8TEwwvhPuxljeh5g/x+AU4wxhxlj4tn3suc2nLNyIiK/oRAmIuGkO84YrDk446UestbuBq4AHjXG5AFzgP6VblNijMkFXgCu97c9Bjzib6/r2aYHcS5fzjXGLPCv18hauxpnzNks4BugANji3zwJuN0/wL9D9UcQkVhlrK16Jl9EJDIYY74AbrPWZrtcRyNr7Xb/mbC3gX9ba992syYRCX86EyYicuju95+9mw/kA9NcrUZEIoLOhImIiIi4QGfCRERERFygECYiIiLiAoUwERERERcohImIiIi4QCFMRERExAX/D8Df6mQZD44eAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
@@ -425,10 +449,10 @@
"# 画布大小\n",
"plt.figure(figsize=(10,10))\n",
"\n",
- "# 中文标题\n",
+ "# 标题\n",
"plt.rcParams['font.sans-serif']=['SimHei']\n",
"plt.rcParams['axes.unicode_minus'] = False\n",
- "plt.title('鸢尾花线性数据示例')\n",
+ "plt.title('Perceptron for iris dataset')\n",
"\n",
"plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n",
"plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n",
@@ -459,22 +483,22 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 17,
+ "execution_count": 40,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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VVzs9HRNmBD6gfVSO4GOnTGmwFobMIFqjJeIiEiMycxU0IpVOtUoIiIiEiEKXiIiIiIRouAlIiIiEiEKXiIiIiIRouAlIuICt++1JxJItNwkuy7OppbBgweHrpBaUvASEYmwynvtFRWBtSfvtafwJbW2yQevpsGsBGe6KbJvnnDfJLsuoqmW2lDwEhGJsEjea0/i0CYf5GVBSRFgnWleVljC1+DBg/nZz37Gd77zna+1Vzp69Cg33HADgwYN4uabb6asrCzguiZMmMCrr74KwNNPP83cuXMpKSlhyJAhDBo0iPvuuy/o61b3GqfWUlpayh133MGVV17JDTfcQElJCceOHePOO+/kqquuIjMzk+PHjwesL9hywfbBmVLwEhGJsEjea0/i0LJHoLxKci8vcdpDLJQ3yR46dChvvfUWAB999BHXX399wJtkB3rdQK8RSE5ODj179uSTTz7h1ltvZeXKlQFvsB1IsOVqsw/qQhdQFRGJsJQU5/RioHaRGpUESejB2s9CKG+SDbB582YOHjxIixYtaNy4cdCbZFd93UCvEciaNWu49dZbARg5ciQA06dP/9oNtgMJdCPu2u6DulCPl4hIhEXbvfYkxniDJPRg7WchlDfJBujfvz/PPvssP/jBDwCC3iS76uvW9jUuueQSFi1aBMCvf/1rJk+eHPAG24EEW642+6AuFLxERCIsMxNyciA1FYxxpjk5ugWM1FLPCeCpktw9XqfdBbW9STbA0KFDefbZZ7nhhhsAgt4k+0xfY+zYsSxevJjBgwezePFihg8fHvAG24HUdrmzpZtki4iIuKyuN8lmk88Z01VS7PR09ZwAnZTc3aCbZIuIiMS7TpkKWjFKpxpFRESiQCycgZLTnckxU/ASERFxWXJyMnv27FH4iiHWWvbs2UNycnKdnqdTjSIiIi7r2LEjmzdvZteuXW6XInWQnJxMx44d6/QcBS8RERGXJSUl0alTJ7fLkAjQqUYRERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGJe7sOHXO7BEDBS0REROLcnEVf8o1n3qegaK/bpSh4iYiISPya/PFGHvzncvqlteLS9s3cLkf3ahQREZH4Y63lj++u57n31vPdbufy7B29aJjocbssBS8RERGJLxUV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\n",
+ "image/png": "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aCRMREQkTj30EBQVHdpWVOS1V5f09PRyz43Vs2dPRo8ezSOPPMKcOXNo0OD7523v3bs3jz/+OH/6058oLCykbt26vPfeexQUFNCzZ0+6du3Ke++9x5IlS753308//ZRrr72WevXqUb9+fa677jo++eQTOnXqxDvvvMMDDzzAJ598QqNGjQD44IMPyMjIoFOnTrz//vvMmzev+jrhKKkIExERiVPLl1et/WjUq1ev3PbzzjuPjz/+mJNOOomBAwcybtw4XnnlFbp27UrXrl3Jz8/n1ltv5bXXXqNu3bpcfvnlvP/++zjnGDBgADNnzmTmzJksXLiQRx55pNJ5Tj31VKZPn06nTp349a9/zaOPPsru3bsZNmwYU6ZMYc6cOdx+++1RccUBFWEiIiJxqqIr/UXiCoCFhYW0aNGC22+/nSFDhjB9+nSuvfba74qrtLQ0lixZwsknn8zdd9/N1VdfzezZs/nBD37AlClTWL9+PQCbN2+msLAQgOTkZPbt2wfAueeey9SpUykqKmLnzp288sornHvuuaxevZpAIEDfvn257777mD59+ncFV7NmzdixYwdTpkwJfwdUQsTPEyYiIiKRMXw4ZGUd+pFkIOC1h9uHH37In//8Z5KTk6lfvz7jxo373j6TJ09m/PjxJCcn07JlS371q1/RpEkTHnvsMS699FJKS0tJTk7mX//6FykpKWRlZdG5c2e6d+9OMBhk4MCBpKenAzBkyBC6devG22+/zX333UdCQgLJyck888wzNG7cmNtvv52OHTvSsmVLevbsGf4OqARz0fDtgCpIS0tz+fn5fscQERHxxfz58znjjDMqvX8w6M0BW77cGwEbPhxCXy6Ualbea2NmBc65tPL210iYiIhIHMvMVNEVrTQnTERERMQHKsJEREREfKAiTEQkCoTzrOYiEp00J0xExGfB4KHfYCss9NZBc3lE4plGwkREfBaJs5qLSPRRESYi4rNInNVcpDrtv0h3ec4666wIJvm+1atXc8MNNxzVfS+44AIieRosFWEiIj7z86zmItWluLgYgM8//zyij1fWiSeeGLEz4peUlBzT/VWEiYj4bPhw7yzmB4vUWc2lBlgahKmpMCHBWy6tvm99fPjhh5x77rlcddVVdOjQATgwSrZmzRrOO+88unbtSseOHfnkk08Oue/WrVtJSUmhtLQUgJ07d9K6dWv27dvH4sWLueyyy+jRowfnnnsuCxYsAGDgwIHccccdZGRkcP/99/PRRx99dy3Kbt26sX37dpYtW0bHjh0Br0j6xS9+QceOHencuTP/+Mc/AHjvvffo1q0bnTp14rbbbmPPnj3fe24TJ06kU6dOdOzYkQceeOC79vr16/Pzn/+cLl268MUXXxxT/2livoiIz/ZPvtdZzaXaLQ1CXhaUhCYdFhV66wBtq+cNNn36dObOnUvbtm0PaZ8wYQI//OEPeeihhygpKaGozMTHRo0a0bVrVz766CMuvPBCXn/9dX74wx+SnJxMVlYWzz77LO3btyc3N5dhw4bx/vvvA7By5Uo+//xzEhMT+fGPf8y//vUvzj77bHbs2EGdOnUOeYzs7GyWLVvGzJkzSUpKYvPmzezevZuBAwfy3nvvceqpp9K/f3+eeeYZ7r333u/ut3r1ah544AEKCgo47rjjuPTSS5k6dSrXXHMNO3fuJCMjg7/+9a/H3HcaCRMRiQKZmbBsGZSWeksVYFItZj10oADbr6TIa68m6enp3yvAAHr27Mno0aN55JFHmDNnDg0aNPjePn369GHSpEkAvPjii/Tp04cdO3bw+eefc+ONN9K1a1eGDh3KmjVrvrvPjTfeSGJiIgBnn302P/vZz3j66afZsmULSUmHji29++67DB069Lv2Jk2asHDhQtq2bcupp54KwIABA/j4448Pud+0adO44IILaN68OUlJSWRmZn63T2JiItdff/3RdtchVISJiIjEq6IKvt1RUftRqFevXrnt5513Hh9//DEnnXQSAwcOZNy4cbzyyivffXyYn5/PVVddxVtvvcXmzZspKCjgoosuorS0lMaNGzNz5szvbvPnzy/38R588EFGjhzJrl27OPvss7/72DKc6tSp810ReKxUhImIiMSrQAXf7qiovRoVFhbSokULbr/9doYMGcL06dO59tprvyus0tLSqF+/Pj179uSee+7hyiuvJDExkYYNG9K2bVteeuklAJxzzJo1q9zHWLx4MZ06deKBBx6gZ8+e3yvCLrnkEp577rnvJvFv3ryZ0047jWXLlrFo0SIAxo8fz/nnn3/I/dLT0/noo4/YuHEjJSUlTJw48Xv7VAcVYSIiIvGqy3BILPOtj8SA1x5mH374IV26dKFbt25MmjSJe+65p9z9+vTpQ05ODn369PmuLRgM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\n",
"text/plain": [
""
]
@@ -495,10 +519,10 @@
"# 画布大小\n",
"plt.figure(figsize=(10,10))\n",
"\n",
- "# 中文标题\n",
+ "# 标题\n",
"plt.rcParams['font.sans-serif']=['SimHei']\n",
"plt.rcParams['axes.unicode_minus'] = False\n",
- "plt.title('鸢尾花线性数据示例')\n",
+ "plt.title('Perceptron for iris dataset')\n",
"\n",
"plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n",
"plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n",
@@ -563,10 +587,9 @@
"\n",
"中文注释制作:机器学习初学者公众号:ID:ai-start-com\n",
"\n",
- "配置环境:python 3.5+\n",
+ "配置环境:python 3.8+\n",
"\n",
- "代码全部测试通过。\n",
- "![gongzhong](../gongzhong.jpg)"
+ "代码全部测试通过。"
]
},
{
@@ -593,7 +616,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.6"
+ "version": "3.8.3"
}
},
"nbformat": 4,
diff --git "a/\347\254\25403\347\253\240 k\350\277\221\351\202\273\346\263\225/.ipynb_checkpoints/3.KNearestNeighbors-checkpoint.ipynb" "b/\347\254\25403\347\253\240 k\350\277\221\351\202\273\346\263\225/.ipynb_checkpoints/3.KNearestNeighbors-checkpoint.ipynb"
new file mode 100644
index 0000000..a2ac61a
--- /dev/null
+++ "b/\347\254\25403\347\253\240 k\350\277\221\351\202\273\346\263\225/.ipynb_checkpoints/3.KNearestNeighbors-checkpoint.ipynb"
@@ -0,0 +1,1113 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 第3章 k近邻法"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "1.$k$近邻法是基本且简单的分类与回归方法。$k$近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的$k$个最近邻训练实例点,然后利用这$k$个训练实例点的类的多数来预测输入实例点的类。\n",
+ "\n",
+ "2.$k$近邻模型对应于基于训练数据集对特征空间的一个划分。$k$近邻法中,当训练集、距离度量、$k$值及分类决策规则确定后,其结果唯一确定。\n",
+ "\n",
+ "3.$k$近邻法三要素:距离度量、$k$值的选择和分类决策规则。常用的距离度量是欧氏距离及更一般的**pL**距离。$k$值小时,$k$近邻模型更复杂;$k$值大时,$k$近邻模型更简单。$k$值的选择反映了对近似误差与估计误差之间的权衡,通常由交叉验证选择最优的$k$。\n",
+ "\n",
+ "常用的分类决策规则是多数表决,对应于经验风险最小化。\n",
+ "\n",
+ "4.$k$近邻法的实现需要考虑如何快速搜索k个最近邻点。**kd**树是一种便于对k维空间中的数据进行快速检索的数据结构。kd树是二叉树,表示对$k$维空间的一个划分,其每个结点对应于$k$维空间划分中的一个超矩形区域。利用**kd**树可以省去对大部分数据点的搜索, 从而减少搜索的计算量。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 距离度量"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "设特征空间$x$是$n$维实数向量空间 ,$x_{i}, x_{j} \\in \\mathcal{X}$,$x_{i}=\\left(x_{i}^{(1)}, x_{i}^{(2)}, \\cdots, x_{i}^{(n)}\\right)^{\\mathrm{T}}$,$x_{j}=\\left(x_{j}^{(1)}, x_{j}^{(2)}, \\cdots, x_{j}^{(n)}\\right)^{\\mathrm{T}}$\n",
+ ",则:$x_i$,$x_j$的$L_p$距离定义为:\n",
+ "\n",
+ "\n",
+ "$L_{p}\\left(x_{i}, x_{j}\\right)=\\left(\\sum_{i=1}^{n}\\left|x_{i}^{(i)}-x_{j}^{(l)}\\right|^{p}\\right)^{\\frac{1}{p}}$\n",
+ "\n",
+ "- $p= 1$ 曼哈顿距离\n",
+ "- $p= 2$ 欧氏距离\n",
+ "- $p= \\infty$ 切比雪夫距离"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import math\n",
+ "from itertools import combinations"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def L(x, y, p=2):\n",
+ " # x1 = [1, 1], x2 = [5,1]\n",
+ " if len(x) == len(y) and len(x) > 1:\n",
+ " sum = 0\n",
+ " for i in range(len(x)):\n",
+ " sum += math.pow(abs(x[i] - y[i]), p)\n",
+ " return math.pow(sum, 1 / p)\n",
+ " else:\n",
+ " return 0"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 课本例3.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x1 = [1, 1]\n",
+ "x2 = [5, 1]\n",
+ "x3 = [4, 4]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(4.0, '1-[5, 1]')\n",
+ "(4.0, '1-[5, 1]')\n",
+ "(3.7797631496846193, '1-[4, 4]')\n",
+ "(3.5676213450081633, '1-[4, 4]')\n"
+ ]
+ }
+ ],
+ "source": [
+ "# x1, x2\n",
+ "for i in range(1, 5):\n",
+ " r = {'1-{}'.format(c): L(x1, c, p=i) for c in [x2, x3]}\n",
+ " print(min(zip(r.values(), r.keys())))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "python实现,遍历所有数据点,找出$n$个距离最近的点的分类情况,少数服从多数"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "\n",
+ "from sklearn.datasets import load_iris\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from collections import Counter"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# data\n",
+ "iris = load_iris()\n",
+ "df = pd.DataFrame(iris.data, columns=iris.feature_names)\n",
+ "df['label'] = iris.target\n",
+ "df.columns = ['sepal length', 'sepal width', 'petal length', 'petal width', 'label']\n",
+ "# data = np.array(df.iloc[:100, [0, 1, -1]])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " sepal length | \n",
+ " sepal width | \n",
+ " petal length | \n",
+ " petal width | \n",
+ " label | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 5.1 | \n",
+ " 3.5 | \n",
+ " 1.4 | \n",
+ " 0.2 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 4.9 | \n",
+ " 3.0 | \n",
+ " 1.4 | \n",
+ " 0.2 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 4.7 | \n",
+ " 3.2 | \n",
+ " 1.3 | \n",
+ " 0.2 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 4.6 | \n",
+ " 3.1 | \n",
+ " 1.5 | \n",
+ " 0.2 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 5.0 | \n",
+ " 3.6 | \n",
+ " 1.4 | \n",
+ " 0.2 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 145 | \n",
+ " 6.7 | \n",
+ " 3.0 | \n",
+ " 5.2 | \n",
+ " 2.3 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 146 | \n",
+ " 6.3 | \n",
+ " 2.5 | \n",
+ " 5.0 | \n",
+ " 1.9 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 147 | \n",
+ " 6.5 | \n",
+ " 3.0 | \n",
+ " 5.2 | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 148 | \n",
+ " 6.2 | \n",
+ " 3.4 | \n",
+ " 5.4 | \n",
+ " 2.3 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 149 | \n",
+ " 5.9 | \n",
+ " 3.0 | \n",
+ " 5.1 | \n",
+ " 1.8 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
150 rows × 5 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " sepal length sepal width petal length petal width label\n",
+ "0 5.1 3.5 1.4 0.2 0\n",
+ "1 4.9 3.0 1.4 0.2 0\n",
+ "2 4.7 3.2 1.3 0.2 0\n",
+ "3 4.6 3.1 1.5 0.2 0\n",
+ "4 5.0 3.6 1.4 0.2 0\n",
+ ".. ... ... ... ... ...\n",
+ "145 6.7 3.0 5.2 2.3 2\n",
+ "146 6.3 2.5 5.0 1.9 2\n",
+ "147 6.5 3.0 5.2 2.0 2\n",
+ "148 6.2 3.4 5.4 2.3 2\n",
+ "149 5.9 3.0 5.1 1.8 2\n",
+ "\n",
+ "[150 rows x 5 columns]"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "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": [
+ "plt.scatter(df[:50]['sepal length'], df[:50]['sepal width'], label='0')\n",
+ "plt.scatter(df[50:100]['sepal length'], df[50:100]['sepal width'], label='1')\n",
+ "plt.xlabel('sepal length')\n",
+ "plt.ylabel('sepal width')\n",
+ "plt.legend()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 选取label为0和1的实例\n",
+ "data = np.array(df.iloc[:100, [0, 1, -1]])\n",
+ "X, y = data[:,:-1], data[:,-1]\n",
+ "# 使用交叉验证,训练集:测试集=8:2\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "class KNN:\n",
+ " def __init__(self, X_train, y_train, n_neighbors=3, p=2):\n",
+ " \"\"\"\n",
+ " parameter: n_neighbors 临近点个数\n",
+ " parameter: p 距离度量\n",
+ " \"\"\"\n",
+ " self.n = n_neighbors\n",
+ " self.p = p\n",
+ " self.X_train = X_train\n",
+ " self.y_train = y_train\n",
+ "\n",
+ " def predict(self, X):\n",
+ " # 取出n个点\n",
+ " knn_list = []\n",
+ " for i in range(self.n):\n",
+ " # 计算p范数距离\n",
+ " dist = np.linalg.norm(X - self.X_train[i], ord=self.p)\n",
+ " # 存入距离和实例类别\n",
+ " knn_list.append((dist, self.y_train[i]))\n",
+ " \n",
+ " # 遍历所有训练实例点\n",
+ " for i in range(self.n, len(self.X_train)):\n",
+ " # 找到n个点中距离最远的一个点\n",
+ " max_index = knn_list.index(max(knn_list, key=lambda x: x[0]))\n",
+ " # 计算p范数距离\n",
+ " dist = np.linalg.norm(X - self.X_train[i], ord=self.p)\n",
+ " # 如果knn_list最远的点比这个点还要远,则替换成这个点\n",
+ " if knn_list[max_index][0] > dist:\n",
+ " knn_list[max_index] = (dist, self.y_train[i])\n",
+ "\n",
+ " # 统计n个点的类别\n",
+ " knn = [k[-1] for k in knn_list]\n",
+ " count_pairs = Counter(knn)\n",
+ "# max_count = sorted(count_pairs, key=lambda x: x)[-1]\n",
+ " # 选出最多的类别\n",
+ " max_count = sorted(count_pairs.items(), key=lambda x: x[1])[-1][0]\n",
+ " return max_count\n",
+ "\n",
+ " def score(self, X_test, y_test):\n",
+ " right_count = 0\n",
+ " n = 10\n",
+ " for X, y in zip(X_test, y_test):\n",
+ " label = self.predict(X)\n",
+ " if label == y:\n",
+ " right_count += 1\n",
+ " # 返回预测label正确的比例\n",
+ " return right_count / len(X_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "clf = KNN(X_train, y_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1.0"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf.score(X_test, y_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Test Point: 1.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "test_point = [6.0, 3.0]\n",
+ "print('Test Point: {}'.format(clf.predict(test_point)))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.scatter(df[:50]['sepal length'], df[:50]['sepal width'], label='0')\n",
+ "plt.scatter(df[50:100]['sepal length'], df[50:100]['sepal width'], label='1')\n",
+ "plt.scatter(test_point[0], test_point[1], label='test_point')\n",
+ "plt.xlabel('sepal length')\n",
+ "plt.ylabel('sepal width')\n",
+ "plt.legend()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### scikit-learn实例"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.neighbors import KNeighborsClassifier"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "KNeighborsClassifier()"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf_sk = KNeighborsClassifier()\n",
+ "clf_sk.fit(X_train, y_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1.0"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf_sk.score(X_test, y_test)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "### sklearn.neighbors.KNeighborsClassifier\n",
+ "\n",
+ "- n_neighbors: 临近点个数, default=5\n",
+ "- p: 距离度量, default=2\n",
+ "- algorithm: 近邻算法,可选{'auto', 'ball_tree', 'kd_tree', 'brute'}, default=’auto’\n",
+ "- weights: 确定近邻的权重, default=’uniform’\n",
+ "\n",
+ " Weight function used in prediction. Possible values:\n",
+ " \n",
+ " ‘uniform’ : uniform weights. All points in each neighborhood are weighted equally.\n",
+ " \n",
+ " ‘distance’ : weight points by the inverse of their distance. in this case, closer neighbors of a query point will have a greater influence than neighbors which are further away."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### kd树"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**kd**树是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。\n",
+ "\n",
+ "**kd**树是二叉树,表示对$k$维空间的一个划分(partition)。构造**kd**树相当于不断地用垂直于坐标轴的超平面将$k$维空间切分,构成一系列的k维超矩形区域。kd树的每个结点对应于一个$k$维超矩形区域。\n",
+ "\n",
+ "构造**kd**树的方法如下:\n",
+ "\n",
+ "构造根结点,使根结点对应于$k$维空间中包含所有实例点的超矩形区域;通过下面的递归方法,不断地对$k$维空间进行切分,生成子结点。在超矩形区域(结点)上选择一个坐标轴和在此坐标轴上的一个切分点,确定一个超平面,这个超平面通过选定的切分点并垂直于选定的坐标轴,将当前超矩形区域切分为左右两个子区域\n",
+ "(子结点);这时,实例被分到两个子区域。这个过程直到子区域内没有实例时终止(终止时的结点为叶结点)。在此过程中,将实例保存在相应的结点上。\n",
+ "\n",
+ "通常,依次选择坐标轴对空间切分,选择训练实例点在选定坐标轴上的中位数\n",
+ "(median)为切分点,这样得到的**kd**树是平衡的。注意,平衡的**kd**树搜索时的效率未必是最优的。\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 构造平衡kd树算法\n",
+ "输入:$k$维空间数据集$T=\\{x_1,x_2,…,x_N\\}$,\n",
+ "\n",
+ "其中$x_{i}=\\left(x_{i}^{(1)}, x_{i}^{(2)}, \\cdots, x_{i}^{(k)}\\right)^{\\mathrm{T}}$ ,$i=1,2,…,N$;\n",
+ "\n",
+ "输出:**kd**树。\n",
+ "\n",
+ "(1)开始:构造根结点,根结点对应于包含$T$的$k$维空间的超矩形区域。\n",
+ "\n",
+ "选择$x^{(1)}$为坐标轴,以T中所有实例的$x^{(1)}$坐标的中位数为切分点,将根结点对应的超矩形区域切分为两个子区域。切分由通过切分点并与坐标轴$x^{(1)}$垂直的超平面实现。\n",
+ "\n",
+ "由根结点生成深度为1的左、右子结点:左子结点对应坐标$x^{(1)}$小于切分点的子区域, 右子结点对应于坐标$x^{(1)}$大于切分点的子区域。\n",
+ "\n",
+ "将落在切分超平面上的实例点保存在根结点。\n",
+ "\n",
+ "(2)重复:对深度为$j$的结点,选择$x^{(1)}$为切分的坐标轴,$l=j(modk)+1$,以该结点的区域中所有实例的$x^{(1)}$坐标的中位数为切分点,将该结点对应的超矩形区域切分为两个子区域。切分由通过切分点并与坐标轴$x^{(1)}$垂直的超平面实现。\n",
+ "\n",
+ "由该结点生成深度为$j+1$的左、右子结点:左子结点对应坐标$x^{(1)}$小于切分点的子区域,右子结点对应坐标$x^{(1)}$大于切分点的子区域。\n",
+ "\n",
+ "将落在切分超平面上的实例点保存在该结点。\n",
+ "\n",
+ "(3)直到两个子区域没有实例存在时停止。从而形成**kd**树的区域划分。"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# kd-tree每个结点中主要包含的数据结构如下\n",
+ "class KdNode(object):\n",
+ " def __init__(self, dom_elt, split, left, right):\n",
+ " self.dom_elt = dom_elt # k维向量节点(k维空间中的一个样本点)\n",
+ " self.split = split # 整数(进行分割维度的序号)\n",
+ " self.left = left # 该结点分割超平面左子空间构成的kd-tree\n",
+ " self.right = right # 该结点分割超平面右子空间构成的kd-tree\n",
+ "\n",
+ "\n",
+ "class KdTree(object):\n",
+ " def __init__(self, data):\n",
+ " k = len(data[0]) # 数据维度\n",
+ "\n",
+ " def CreateNode(split, data_set): # 按第split维划分数据集exset创建KdNode\n",
+ " if not data_set: # 数据集为空\n",
+ " return None\n",
+ " # key参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较\n",
+ " # operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为需要获取的数据在对象中的序号\n",
+ " # data_set.sort(key=itemgetter(split)) # 按要进行分割的那一维数据排序\n",
+ " data_set.sort(key=lambda x: x[split])\n",
+ " split_pos = len(data_set) // 2 # //为Python中的整数除法\n",
+ " median = data_set[split_pos] # 中位数分割点\n",
+ " split_next = (split + 1) % k # cycle coordinates\n",
+ "\n",
+ " # 递归的创建kd树\n",
+ " return KdNode(\n",
+ " median,\n",
+ " split,\n",
+ " CreateNode(split_next, data_set[:split_pos]), # 创建左子树\n",
+ " CreateNode(split_next, data_set[split_pos + 1:])) # 创建右子树\n",
+ "\n",
+ " self.root = CreateNode(0, data) # 从第0维分量开始构建kd树,返回根节点\n",
+ "\n",
+ "\n",
+ "# KDTree的前序遍历\n",
+ "def preorder(root):\n",
+ " print(root.dom_elt)\n",
+ " if root.left: # 节点不为空\n",
+ " preorder(root.left)\n",
+ " if root.right:\n",
+ " preorder(root.right)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 对构建好的kd树进行搜索,寻找与目标点最近的样本点:\n",
+ "from math import sqrt\n",
+ "from collections import namedtuple\n",
+ "\n",
+ "# 定义一个namedtuple,分别存放最近坐标点、最近距离和访问过的节点数\n",
+ "result = namedtuple(\"Result_tuple\",\n",
+ " \"nearest_point nearest_dist nodes_visited\")\n",
+ "\n",
+ "\n",
+ "def find_nearest(tree, point):\n",
+ " k = len(point) # 数据维度\n",
+ "\n",
+ " def travel(kd_node, target, max_dist):\n",
+ " if kd_node is None:\n",
+ " return result([0] * k, float(\"inf\"),\n",
+ " 0) # python中用float(\"inf\")和float(\"-inf\")表示正负无穷\n",
+ "\n",
+ " nodes_visited = 1\n",
+ "\n",
+ " s = kd_node.split # 进行分割的维度\n",
+ " pivot = kd_node.dom_elt # 进行分割的“轴”\n",
+ "\n",
+ " if target[s] <= pivot[s]: # 如果目标点第s维小于分割轴的对应值(目标离左子树更近)\n",
+ " nearer_node = kd_node.left # 下一个访问节点为左子树根节点\n",
+ " further_node = kd_node.right # 同时记录下右子树\n",
+ " else: # 目标离右子树更近\n",
+ " nearer_node = kd_node.right # 下一个访问节点为右子树根节点\n",
+ " further_node = kd_node.left\n",
+ "\n",
+ " temp1 = travel(nearer_node, target, max_dist) # 进行遍历找到包含目标点的区域\n",
+ "\n",
+ " nearest = temp1.nearest_point # 以此叶结点作为“当前最近点”\n",
+ " dist = temp1.nearest_dist # 更新最近距离\n",
+ "\n",
+ " nodes_visited += temp1.nodes_visited\n",
+ "\n",
+ " if dist < max_dist:\n",
+ " max_dist = dist # 最近点将在以目标点为球心,max_dist为半径的超球体内\n",
+ "\n",
+ " temp_dist = abs(pivot[s] - target[s]) # 第s维上目标点与分割超平面的距离\n",
+ " if max_dist < temp_dist: # 判断超球体是否与超平面相交\n",
+ " return result(nearest, dist, nodes_visited) # 不相交则可以直接返回,不用继续判断\n",
+ "\n",
+ " #----------------------------------------------------------------------\n",
+ " # 计算目标点与分割点的欧氏距离\n",
+ " temp_dist = sqrt(sum((p1 - p2)**2 for p1, p2 in zip(pivot, target)))\n",
+ "\n",
+ " if temp_dist < dist: # 如果“更近”\n",
+ " nearest = pivot # 更新最近点\n",
+ " dist = temp_dist # 更新最近距离\n",
+ " max_dist = dist # 更新超球体半径\n",
+ "\n",
+ " # 检查另一个子结点对应的区域是否有更近的点\n",
+ " temp2 = travel(further_node, target, max_dist)\n",
+ "\n",
+ " nodes_visited += temp2.nodes_visited\n",
+ " if temp2.nearest_dist < dist: # 如果另一个子结点内存在更近距离\n",
+ " nearest = temp2.nearest_point # 更新最近点\n",
+ " dist = temp2.nearest_dist # 更新最近距离\n",
+ "\n",
+ " return result(nearest, dist, nodes_visited)\n",
+ "\n",
+ " return travel(tree.root, point, float(\"inf\")) # 从根节点开始递归"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 例3.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[7, 2]\n",
+ "[5, 4]\n",
+ "[2, 3]\n",
+ "[4, 7]\n",
+ "[9, 6]\n",
+ "[8, 1]\n"
+ ]
+ }
+ ],
+ "source": [
+ "data = [[2,3],[5,4],[9,6],[4,7],[8,1],[7,2]]\n",
+ "kd = KdTree(data)\n",
+ "preorder(kd.root)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import time\n",
+ "from random import random\n",
+ "\n",
+ "# 产生一个k维随机向量,每维分量值在0~1之间\n",
+ "def random_point(k):\n",
+ " return [random() for _ in range(k)]\n",
+ " \n",
+ "# 产生n个k维随机向量 \n",
+ "def random_points(k, n):\n",
+ " return [random_point(k) for _ in range(n)] "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Result_tuple(nearest_point=[2, 3], nearest_dist=1.8027756377319946, nodes_visited=4)\n"
+ ]
+ }
+ ],
+ "source": [
+ "ret = find_nearest(kd, [3,4.5])\n",
+ "print (ret)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "time: 5.403439998626709 s\n",
+ "Result_tuple(nearest_point=[0.09910258486020529, 0.5042390385455003, 0.8050068418001802], nearest_dist=0.006621424811579601, nodes_visited=86)\n"
+ ]
+ }
+ ],
+ "source": [
+ "N = 400000\n",
+ "t0 = time.time()\n",
+ "kd2 = KdTree(random_points(3, N)) # 构建包含四十万个3维空间样本点的kd树\n",
+ "ret2 = find_nearest(kd2, [0.1,0.5,0.8]) # 四十万个样本点中寻找离目标最近的点\n",
+ "t1 = time.time()\n",
+ "print (\"time: \",t1-t0, \"s\")\n",
+ "print (ret2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 第3章 k近邻法-习题\n",
+ "\n",
+ "### 习题3.1\n",
+ " 参照图3.1,在二维空间中给出实例点,画出$k$为1和2时的$k$近邻法构成的空间划分,并对其进行比较,体会$k$值选择与模型复杂度及预测准确率的关系。\n",
+ "\n",
+ "**解答:**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from sklearn.neighbors import KNeighborsClassifier\n",
+ "import matplotlib.pyplot as plt\n",
+ "from matplotlib.colors import ListedColormap\n",
+ "\n",
+ "data = np.array([[5, 12, 1], [6, 21, 0], [14, 5, 0], [16, 10, 0], [13, 19, 0],\n",
+ " [13, 32, 1], [17, 27, 1], [18, 24, 1], [20, 20,\n",
+ " 0], [23, 14, 1],\n",
+ " [23, 25, 1], [23, 31, 1], [26, 8, 0], [30, 17, 1],\n",
+ " [30, 26, 1], [34, 8, 0], [34, 19, 1], [37, 28, 1]])\n",
+ "X_train = data[:, 0:2]\n",
+ "y_train = data[:, 2]\n",
+ "\n",
+ "models = (KNeighborsClassifier(n_neighbors=1, n_jobs=-1),\n",
+ " KNeighborsClassifier(n_neighbors=2, n_jobs=-1))\n",
+ "models = (clf.fit(X_train, y_train) for clf in models)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "titles = ('K Neighbors with k=1', 'K Neighbors with k=2')\n",
+ "\n",
+ "fig = plt.figure(figsize=(15, 5))\n",
+ "plt.subplots_adjust(wspace=0.4, hspace=0.4)\n",
+ "\n",
+ "X0, X1 = X_train[:, 0], X_train[:, 1]\n",
+ "\n",
+ "x_min, x_max = X0.min() - 1, X0.max() + 1\n",
+ "y_min, y_max = X1.min() - 1, X1.max() + 1\n",
+ "xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.2),\n",
+ " np.arange(y_min, y_max, 0.2))\n",
+ "\n",
+ "for clf, title, ax in zip(models, titles, fig.subplots(1, 2).flatten()):\n",
+ " Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n",
+ " Z = Z.reshape(xx.shape)\n",
+ " colors = ('red', 'green', 'lightgreen', 'gray', 'cyan')\n",
+ " cmap = ListedColormap(colors[:len(np.unique(Z))])\n",
+ " ax.contourf(xx, yy, Z, cmap=cmap, alpha=0.5)\n",
+ " ax.scatter(X0, X1, c=y_train, s=50, edgecolors='k', cmap=cmap, alpha=0.5)\n",
+ " ax.set_title(title)\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 习题3.2\n",
+ " 利用例题3.2构造的$kd$树求点$x=(3,4.5)^T$的最近邻点。\n",
+ "\n",
+ "**解答:**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x点的最近邻点是(2, 3)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "from sklearn.neighbors import KDTree\n",
+ "\n",
+ "train_data = np.array([(2, 3), (5, 4), (9, 6), (4, 7), (8, 1), (7, 2)])\n",
+ "tree = KDTree(train_data, leaf_size=2)\n",
+ "dist, ind = tree.query(np.array([(3, 4.5)]), k=1)\n",
+ "x1 = train_data[ind[0]][0][0]\n",
+ "x2 = train_data[ind[0]][0][1]\n",
+ "\n",
+ "print(\"x点的最近邻点是({0}, {1})\".format(x1, x2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 习题3.3\n",
+ " 参照算法3.3,写出输出为$x$的$k$近邻的算法。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ "**算法:用kd树的$k$近邻搜索** \n",
+ "输入:已构造的kd树;目标点$x$; \n",
+ "输出:$x$的最近邻 \n",
+ "1. 在$kd$树中找出包含目标点$x$的叶结点:从根结点出发,递归地向下访问树。若目标点$x$当前维的坐标小于切分点的坐标,则移动到左子结点,否则移动到右子结点,直到子结点为叶结点为止; \n",
+ "2. 如果“当前$k$近邻点集”元素数量小于$k$或者叶节点距离小于“当前$k$近邻点集”中最远点距离,那么将叶节点插入“当前k近邻点集”; \n",
+ "3. 递归地向上回退,在每个结点进行以下操作: \n",
+ "(a)如果“当前$k$近邻点集”元素数量小于$k$或者当前节点距离小于“当前$k$近邻点集”中最远点距离,那么将该节点插入“当前$k$近邻点集”。 \n",
+ "(b)检查另一子结点对应的区域是否与以目标点为球心、以目标点与于“当前$k$近邻点集”中最远点间的距离为半径的超球体相交。如果相交,可能在另一个子结点对应的区域内存在距目标点更近的点,移动到另一个子结点,接着,递归地进行最近邻搜索;如果不相交,向上回退;\n",
+ "4. 当回退到根结点时,搜索结束,最后的“当前$k$近邻点集”即为$x$的最近邻点。"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 构建kd树,搜索待预测点所属区域\n",
+ "from collections import namedtuple\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "# 建立节点类\n",
+ "class Node(namedtuple(\"Node\", \"location left_child right_child\")):\n",
+ " def __repr__(self):\n",
+ " return str(tuple(self))\n",
+ "\n",
+ "\n",
+ "# kd tree类\n",
+ "class KdTree():\n",
+ " def __init__(self, k=1):\n",
+ " self.k = k\n",
+ " self.kdtree = None\n",
+ "\n",
+ " # 构建kd tree\n",
+ " def _fit(self, X, depth=0):\n",
+ " try:\n",
+ " k = self.k\n",
+ " except IndexError as e:\n",
+ " return None\n",
+ " # 这里可以展开,通过方差选择axis\n",
+ " axis = depth % k\n",
+ " X = X[X[:, axis].argsort()]\n",
+ " median = X.shape[0] // 2\n",
+ " try:\n",
+ " X[median]\n",
+ " except IndexError:\n",
+ " return None\n",
+ " return Node(location=X[median],\n",
+ " left_child=self._fit(X[:median], depth + 1),\n",
+ " right_child=self._fit(X[median + 1:], depth + 1))\n",
+ "\n",
+ " def _search(self, point, tree=None, depth=0, best=None):\n",
+ " if tree is None:\n",
+ " return best\n",
+ " k = self.k\n",
+ " # 更新 branch\n",
+ " if point[0][depth % k] < tree.location[depth % k]:\n",
+ " next_branch = tree.left_child\n",
+ " else:\n",
+ " next_branch = tree.right_child\n",
+ " if not next_branch is None:\n",
+ " best = next_branch.location\n",
+ " return self._search(point,\n",
+ " tree=next_branch,\n",
+ " depth=depth + 1,\n",
+ " best=best)\n",
+ "\n",
+ " def fit(self, X):\n",
+ " self.kdtree = self._fit(X)\n",
+ " return self.kdtree\n",
+ "\n",
+ " def predict(self, X):\n",
+ " res = self._search(X, self.kdtree)\n",
+ " return res"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "x点的最近邻点是(2, 3)\n"
+ ]
+ }
+ ],
+ "source": [
+ "KNN = KdTree()\n",
+ "X_train = np.array([[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]])\n",
+ "KNN.fit(X_train)\n",
+ "X_new = np.array([[3, 4.5]])\n",
+ "res = KNN.predict(X_new)\n",
+ "\n",
+ "x1 = res[0]\n",
+ "x2 = res[1]\n",
+ "\n",
+ "print(\"x点的最近邻点是({0}, {1})\".format(x1, x2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "----\n",
+ "参考代码:https://github.com/wzyonggege/statistical-learning-method\n",
+ "\n",
+ "本文代码更新地址:https://github.com/fengdu78/lihang-code\n",
+ "\n",
+ "习题解答:https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
+ "\n",
+ "中文注释制作:机器学习初学者公众号:ID:ai-start-com\n",
+ "\n",
+ "配置环境:python 3.5+\n",
+ "\n",
+ "代码全部测试通过。\n",
+ "![gongzhong](../gongzhong.jpg)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "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.8.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git "a/\347\254\25403\347\253\240 k\350\277\221\351\202\273\346\263\225/3.KNearestNeighbors.ipynb" "b/\347\254\25403\347\253\240 k\350\277\221\351\202\273\346\263\225/3.KNearestNeighbors.ipynb"
index a07d4fd..10e5296 100644
--- "a/\347\254\25403\347\253\240 k\350\277\221\351\202\273\346\263\225/3.KNearestNeighbors.ipynb"
+++ "b/\347\254\25403\347\253\240 k\350\277\221\351\202\273\346\263\225/3.KNearestNeighbors.ipynb"
@@ -80,7 +80,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
@@ -91,7 +91,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 5,
"metadata": {},
"outputs": [
{
@@ -121,7 +121,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
@@ -137,7 +137,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
@@ -151,7 +151,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 8,
"metadata": {},
"outputs": [
{
@@ -293,7 +293,7 @@
"[150 rows x 5 columns]"
]
},
- "execution_count": 7,
+ "execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
@@ -304,22 +304,22 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 8,
+ "execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
""
]
@@ -340,18 +340,20 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
+ "# 选取label为0和1的实例\n",
"data = np.array(df.iloc[:100, [0, 1, -1]])\n",
"X, y = data[:,:-1], data[:,-1]\n",
+ "# 使用交叉验证,训练集:测试集=8:2\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)"
]
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
@@ -370,19 +372,26 @@
" # 取出n个点\n",
" knn_list = []\n",
" for i in range(self.n):\n",
+ " # 计算p范数距离\n",
" dist = np.linalg.norm(X - self.X_train[i], ord=self.p)\n",
+ " # 存入距离和实例类别\n",
" knn_list.append((dist, self.y_train[i]))\n",
- "\n",
+ " \n",
+ " # 遍历所有训练实例点\n",
" for i in range(self.n, len(self.X_train)):\n",
+ " # 找到n个点中距离最远的一个点\n",
" max_index = knn_list.index(max(knn_list, key=lambda x: x[0]))\n",
+ " # 计算p范数距离\n",
" dist = np.linalg.norm(X - self.X_train[i], ord=self.p)\n",
+ " # 如果knn_list最远的点比这个点还要远,则替换成这个点\n",
" if knn_list[max_index][0] > dist:\n",
" knn_list[max_index] = (dist, self.y_train[i])\n",
"\n",
- " # 统计\n",
+ " # 统计n个点的类别\n",
" knn = [k[-1] for k in knn_list]\n",
" count_pairs = Counter(knn)\n",
- "# max_count = sorted(count_pairs, key=lambda x: x)[-1]\n",
+ "# max_count = sorted(count_pairs, key=lambda x: x)[-1]\n",
+ " # 选出最多的类别\n",
" max_count = sorted(count_pairs.items(), key=lambda x: x[1])[-1][0]\n",
" return max_count\n",
"\n",
@@ -393,12 +402,13 @@
" label = self.predict(X)\n",
" if label == y:\n",
" right_count += 1\n",
+ " # 返回预测label正确的比例\n",
" return right_count / len(X_test)"
]
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
@@ -407,7 +417,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 20,
"metadata": {},
"outputs": [
{
@@ -416,7 +426,7 @@
"1.0"
]
},
- "execution_count": 12,
+ "execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
@@ -427,7 +437,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 21,
"metadata": {},
"outputs": [
{
@@ -445,22 +455,22 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 14,
+ "execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEHCAYAAACjh0HiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3df5xVdb3v8dfHcY6AIhTSOcKg44/yYQLJD3+FZqYd/EH+IDVNTlHeOHrsaJmUZMcflKnhTa95s4NmmSJKHMIflVoqqZl4BxhBJRNLZQbvlShQBD2An/vHWgPDds/MXrP3d++11n4/H4957Nlrr73ms9bW/WGt9fl8v+buiIhI/dqh1gGIiEhtKRGIiNQ5JQIRkTqnRCAiUueUCERE6pwSgYhIndsx9B8wswagBWh39wkFr00GZgDt8aIb3f2W7ra32267eXNzc4BIRUTya9GiRX9198HFXgueCIALgOXArl28fre7f7nUjTU3N9PS0lKRwERE6oWZvdLVa0EvDZlZE3AC0O2/8kVEpHZC3yO4Hvg68G4363zazJaa2VwzG1ZsBTObYmYtZtayevXqIIGKiNSrYInAzCYAr7v7om5Wuw9odveRwG+B24qt5O4z3X2su48dPLjoJS4REemlkPcIxgEnmtnxQB9gVzO7w90ndazg7ms6rX8zcE3AeEQkhTZt2kRbWxtvv/12rUPJhT59+tDU1ERjY2PJ7wmWCNx9GjANwMw+DlzUOQnEy3d399fipycS3VQWkTrS1tZG//79aW5uxsxqHU6muTtr1qyhra2Nvfbaq+T3Vb2PwMymm9mJ8dPzzew5M3sGOB+YXO14RKS23n77bQYNGqQkUAFmxqBBgxKfXVWjfBR3XwAsiH+/tNPyrWcNInkzf0k7Mx58gVVrNzJkYF+mjt+Pk0cNrXVYqaQkUDm9OZZVSQQi9Wb+knamzVvGxk1bAGhfu5Fp85YBKBlI6miICZEAZjz4wtYk0GHjpi3MePCFGkUk0jUlApEAVq3dmGi5lG7WLGhuhh12iB5nzSpve2vXruWHP/xhr957/fXXs2HDhvICKHDppZfy29/+ttt1FixYwJNPPlmxv6lEIBLAkIF9Ey2X0syaBVOmwCuvgHv0OGVKeckgbYlg+vTpHHPMMd2uo0QgkgFTx+9H38aG7Zb1bWxg6vj9ahRRPlxyCRR+727YEC3vrYsvvpiXXnqJAw88kKlTpzJjxgwOOuggRo4cyWWXXQbAW2+9xQknnMBHPvIRhg8fzt13380NN9zAqlWrOOqoozjqqKO63P4uu+zC1772NUaPHs3RRx9Nx+gIra2tHHrooYwcOZJTTjmFv//97wBMnjyZuXPnAtHYapdddhmjR49mxIgR/PGPf+Tll1/mRz/6Eddddx0HHnggjz/+eO93PqZEIBLAyaOGctXEEQwd2BcDhg7sy1UTR+hGcZlefTXZ8lJcffXV7LPPPrS2tvLJT36SF198kaeffprW1lYWLVrEY489xgMPPMCQIUN45plnePbZZzn22GM5//zzGTJkCI8++iiPPvpol9t/6623GD16NIsXL+bII4/kiiuuAOBzn/sc11xzDUuXLmXEiBFblxfabbfdWLx4Meeeey7XXnstzc3NnHPOOXz1q1+ltbWVI444ovc7H1PVkEggJ48aqi/+Cttjj+hyULHllfDQQw/x0EMPMWrUKADWr1/Piy++yBFHHMFFF13EN77xDSZMmJDoy3eHHXbgM5/5DACTJk1i4sSJrFu3jrVr13LkkUcC8PnPf57TTjut6PsnTpwIwJgxY5g3b145u9d1jEG2KiISwJVXQr9+2y/r1y9aXgnuzrRp02htbaW1tZUVK1Zw9tln86EPfYhFixYxYsQIpk2bxvTp03v9N5LW+e+0004ANDQ0sHnz5l7/3e4oEYhIZpx1FsycCXvuCWbR48yZ0fLe6t+/P2+++SYA48eP59Zbb2X9+vUAtLe38/rrr7Nq1Sr69evHpEmTuOiii1i8ePF73tuVd999d+s1/zvvvJPDDz+cAQMG8L73vW/r9f3bb79969lB0pgrQZeGRCRTzjqrvC/+QoMGDWLcuHEMHz6c4447js9+9rMcdthhQHSj94477mDFihVMnTqVHXbYgcbGRm666SYApkyZwnHHHcfuu+/e5X2CnXfemeeee44xY8YwYMAA7r77bgBuu+02zjnnHDZs2MDee+/NT37yk5Jj/tSnPsWpp57KPffcww9+8IOy7xOYu5e1gWobO3asa4YykfxYvnw5+++/f63DCGaXXXbZeoZRLcWOqZktcvexxdbXpSERkTqnS0MiIhVwyCGH8M4772y37Pbbb6/62UBvKBGIiFTAwoULax1Cr+nSkIhI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\n",
+ "image/png": "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\n",
"text/plain": [
""
]
@@ -474,7 +484,7 @@
"source": [
"plt.scatter(df[:50]['sepal length'], df[:50]['sepal width'], label='0')\n",
"plt.scatter(df[50:100]['sepal length'], df[50:100]['sepal width'], label='1')\n",
- "plt.plot(test_point[0], test_point[1], 'bo', label='test_point')\n",
+ "plt.scatter(test_point[0], test_point[1], label='test_point')\n",
"plt.xlabel('sepal length')\n",
"plt.ylabel('sepal width')\n",
"plt.legend()"
@@ -489,7 +499,7 @@
},
{
"cell_type": "code",
- "execution_count": 15,
+ "execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
@@ -498,7 +508,7 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": 26,
"metadata": {},
"outputs": [
{
@@ -507,7 +517,7 @@
"KNeighborsClassifier()"
]
},
- "execution_count": 16,
+ "execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
@@ -519,7 +529,7 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 27,
"metadata": {},
"outputs": [
{
@@ -528,7 +538,7 @@
"1.0"
]
},
- "execution_count": 17,
+ "execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
@@ -545,10 +555,20 @@
"source": [
"### sklearn.neighbors.KNeighborsClassifier\n",
"\n",
- "- n_neighbors: 临近点个数\n",
- "- p: 距离度量\n",
- "- algorithm: 近邻算法,可选{'auto', 'ball_tree', 'kd_tree', 'brute'}\n",
- "- weights: 确定近邻的权重"
+ "- n_neighbors: 临近点个数, default=5\n",
+ "- p: 距离度量, default=2\n",
+ "- algorithm: 近邻算法,可选{'auto', 'ball_tree', 'kd_tree', 'brute'}, default=’auto’\n",
+ "- weights: 确定近邻的权重, default=’uniform’\n",
+ "\n",
+ " Weight function used in prediction. Possible values:\n",
+ " \n",
+ " ‘uniform’ : uniform weights. All points in each neighborhood are weighted equally.\n",
+ " \n",
+ " ‘distance’ : weight points by the inverse of their distance. in this case, closer neighbors of a query point will have a greater influence than neighbors which are further away.\n",
+ "\n",
+ "- n_jobsint, default=None \n",
+ "\n",
+ " The number of parallel jobs to run for neighbors search. None means 1 unless in a joblib.parallel_backend context. -1 means using all processors. See Glossary for more details. Doesn’t affect fit method."
]
},
{
@@ -605,7 +625,7 @@
},
{
"cell_type": "code",
- "execution_count": 18,
+ "execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
@@ -627,7 +647,7 @@
" return None\n",
" # key参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较\n",
" # operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为需要获取的数据在对象中的序号\n",
- " #data_set.sort(key=itemgetter(split)) # 按要进行分割的那一维数据排序\n",
+ " # data_set.sort(key=itemgetter(split)) # 按要进行分割的那一维数据排序\n",
" data_set.sort(key=lambda x: x[split])\n",
" split_pos = len(data_set) // 2 # //为Python中的整数除法\n",
" median = data_set[split_pos] # 中位数分割点\n",
@@ -654,7 +674,7 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
@@ -732,7 +752,7 @@
},
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 30,
"metadata": {},
"outputs": [
{
@@ -756,11 +776,11 @@
},
{
"cell_type": "code",
- "execution_count": 21,
+ "execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
- "from time import clock\n",
+ "import time\n",
"from random import random\n",
"\n",
"# 产生一个k维随机向量,每维分量值在0~1之间\n",
@@ -774,7 +794,7 @@
},
{
"cell_type": "code",
- "execution_count": 22,
+ "execution_count": 37,
"metadata": {},
"outputs": [
{
@@ -792,40 +812,24 @@
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": 40,
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead\n",
- " \n"
- ]
- },
{
"name": "stdout",
"output_type": "stream",
"text": [
- "time: 5.170202400000001 s\n",
- "Result_tuple(nearest_point=[0.09916902877403755, 0.5005978535517558, 0.7997848590100571], nearest_dist=0.0010460533893058112, nodes_visited=38)\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:5: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead\n",
- " \"\"\"\n"
+ "time: 5.403439998626709 s\n",
+ "Result_tuple(nearest_point=[0.09910258486020529, 0.5042390385455003, 0.8050068418001802], nearest_dist=0.006621424811579601, nodes_visited=86)\n"
]
}
],
"source": [
"N = 400000\n",
- "t0 = clock()\n",
+ "t0 = time.time()\n",
"kd2 = KdTree(random_points(3, N)) # 构建包含四十万个3维空间样本点的kd树\n",
"ret2 = find_nearest(kd2, [0.1,0.5,0.8]) # 四十万个样本点中寻找离目标最近的点\n",
- "t1 = clock()\n",
+ "t1 = time.time()\n",
"print (\"time: \",t1-t0, \"s\")\n",
"print (ret2)"
]
@@ -844,7 +848,7 @@
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
@@ -869,12 +873,12 @@
},
{
"cell_type": "code",
- "execution_count": 25,
+ "execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "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\n",
+ "image/png": "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\n",
"text/plain": [
""
]
@@ -922,7 +926,7 @@
},
{
"cell_type": "code",
- "execution_count": 26,
+ "execution_count": 43,
"metadata": {},
"outputs": [
{
@@ -946,6 +950,21 @@
"print(\"x点的最近邻点是({0}, {1})\".format(x1, x2))"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## sklearn.neighbors.KDTree\n",
+ "- leaf_size positive int, default=40\n",
+ "\n",
+ "Number of points at which to switch to brute-force. Changing leaf_size will not affect the results of a query, but can significantly impact the speed of a query and the memory required to store the constructed tree. The amount of memory needed to store the tree scales as approximately n_samples / leaf_size. For a specified leaf_size, a leaf node is guaranteed to satisfy leaf_size <= n_points <= 2 * leaf_size, except in the case that n_samples < leaf_size.\n",
+ "\n",
+ "- metric str or DistanceMetric64 object, default=’minkowski’\n",
+ "\n",
+ "Metric to use for distance computation. Default is “minkowski”, which results in the standard Euclidean distance when p = 2. A list of valid metrics for KDTree is given by KDTree.valid_metrics. See the documentation of scipy.spatial.distance and the metrics listed in distance_metrics for more information on any distance metric.\n",
+ "\n"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -972,7 +991,7 @@
},
{
"cell_type": "code",
- "execution_count": 27,
+ "execution_count": 45,
"metadata": {},
"outputs": [],
"source": [
@@ -1038,7 +1057,7 @@
},
{
"cell_type": "code",
- "execution_count": 28,
+ "execution_count": 50,
"metadata": {},
"outputs": [
{
@@ -1073,12 +1092,9 @@
"\n",
"习题解答:https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
"\n",
- "中文注释制作:机器学习初学者公众号:ID:ai-start-com\n",
- "\n",
- "配置环境:python 3.5+\n",
+ "配置环境:python 3.8+\n",
"\n",
- "代码全部测试通过。\n",
- "![gongzhong](../gongzhong.jpg)"
+ "代码全部测试通过。"
]
},
{
@@ -1105,7 +1121,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.6"
+ "version": "3.8.3"
}
},
"nbformat": 4,
diff --git "a/\347\254\25404\347\253\240 \346\234\264\347\264\240\350\264\235\345\217\266\346\226\257/.ipynb_checkpoints/4.NaiveBayes-checkpoint.ipynb" "b/\347\254\25404\347\253\240 \346\234\264\347\264\240\350\264\235\345\217\266\346\226\257/.ipynb_checkpoints/4.NaiveBayes-checkpoint.ipynb"
new file mode 100644
index 0000000..876bad9
--- /dev/null
+++ "b/\347\254\25404\347\253\240 \346\234\264\347\264\240\350\264\235\345\217\266\346\226\257/.ipynb_checkpoints/4.NaiveBayes-checkpoint.ipynb"
@@ -0,0 +1,594 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 第4章 朴素贝叶斯"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "1.朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布\n",
+ "$P(X,Y)$,然后求得后验概率分布$P(Y|X)$。具体来说,利用训练数据学习$P(X|Y)$和$P(Y)$的估计,得到联合概率分布:\n",
+ "\n",
+ "$$P(X,Y)=P(Y)P(X|Y)$$\n",
+ "\n",
+ "概率估计方法可以是极大似然估计或贝叶斯估计。\n",
+ "\n",
+ "2.朴素贝叶斯法的基本假设是条件独立性,\n",
+ "\n",
+ "$$\\begin{aligned} P(X&=x | Y=c_{k} )=P\\left(X^{(1)}=x^{(1)}, \\cdots, X^{(n)}=x^{(n)} | Y=c_{k}\\right) \\\\ &=\\prod_{j=1}^{n} P\\left(X^{(j)}=x^{(j)} | Y=c_{k}\\right) \\end{aligned}$$\n",
+ "\n",
+ "\n",
+ "这是一个较强的假设。由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效,且易于实现。其缺点是分类的性能不一定很高。\n",
+ "\n",
+ "3.朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。\n",
+ "\n",
+ "$$P(Y | X)=\\frac{P(X, Y)}{P(X)}=\\frac{P(Y) P(X | Y)}{\\sum_{Y} P(Y) P(X | Y)}$$\n",
+ " \n",
+ "将输入$x$分到后验概率最大的类$y$。\n",
+ "\n",
+ "$$y=\\arg \\max _{c_{k}} P\\left(Y=c_{k}\\right) \\prod_{j=1}^{n} P\\left(X_{j}=x^{(j)} | Y=c_{k}\\right)$$\n",
+ "\n",
+ "后验概率最大等价于0-1损失函数时的期望风险最小化。\n",
+ "\n",
+ "\n",
+ "模型:\n",
+ "\n",
+ "- 高斯模型\n",
+ "- 多项式模型\n",
+ "- 伯努利模型"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "\n",
+ "from sklearn.datasets import load_iris\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "\n",
+ "from collections import Counter\n",
+ "import math"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# data\n",
+ "def create_data():\n",
+ " iris = load_iris()\n",
+ " df = pd.DataFrame(iris.data, columns=iris.feature_names)\n",
+ " df['label'] = iris.target\n",
+ " df.columns = [\n",
+ " 'sepal length', 'sepal width', 'petal length', 'petal width', 'label'\n",
+ " ]\n",
+ " data = np.array(df.iloc[:100, :])\n",
+ " print(data)\n",
+ " return data[:, :-1], data[:, -1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[5.1 3.5 1.4 0.2 0. ]\n",
+ " [4.9 3. 1.4 0.2 0. ]\n",
+ " [4.7 3.2 1.3 0.2 0. ]\n",
+ " [4.6 3.1 1.5 0.2 0. ]\n",
+ " [5. 3.6 1.4 0.2 0. ]\n",
+ " [5.4 3.9 1.7 0.4 0. ]\n",
+ " [4.6 3.4 1.4 0.3 0. ]\n",
+ " [5. 3.4 1.5 0.2 0. ]\n",
+ " [4.4 2.9 1.4 0.2 0. ]\n",
+ " [4.9 3.1 1.5 0.1 0. ]\n",
+ " [5.4 3.7 1.5 0.2 0. ]\n",
+ " [4.8 3.4 1.6 0.2 0. ]\n",
+ " [4.8 3. 1.4 0.1 0. ]\n",
+ " [4.3 3. 1.1 0.1 0. ]\n",
+ " [5.8 4. 1.2 0.2 0. ]\n",
+ " [5.7 4.4 1.5 0.4 0. ]\n",
+ " [5.4 3.9 1.3 0.4 0. ]\n",
+ " [5.1 3.5 1.4 0.3 0. ]\n",
+ " [5.7 3.8 1.7 0.3 0. ]\n",
+ " [5.1 3.8 1.5 0.3 0. ]\n",
+ " [5.4 3.4 1.7 0.2 0. ]\n",
+ " [5.1 3.7 1.5 0.4 0. ]\n",
+ " [4.6 3.6 1. 0.2 0. ]\n",
+ " [5.1 3.3 1.7 0.5 0. ]\n",
+ " [4.8 3.4 1.9 0.2 0. ]\n",
+ " [5. 3. 1.6 0.2 0. ]\n",
+ " [5. 3.4 1.6 0.4 0. ]\n",
+ " [5.2 3.5 1.5 0.2 0. ]\n",
+ " [5.2 3.4 1.4 0.2 0. ]\n",
+ " [4.7 3.2 1.6 0.2 0. ]\n",
+ " [4.8 3.1 1.6 0.2 0. ]\n",
+ " [5.4 3.4 1.5 0.4 0. ]\n",
+ " [5.2 4.1 1.5 0.1 0. ]\n",
+ " [5.5 4.2 1.4 0.2 0. ]\n",
+ " [4.9 3.1 1.5 0.2 0. ]\n",
+ " [5. 3.2 1.2 0.2 0. ]\n",
+ " [5.5 3.5 1.3 0.2 0. ]\n",
+ " [4.9 3.6 1.4 0.1 0. ]\n",
+ " [4.4 3. 1.3 0.2 0. ]\n",
+ " [5.1 3.4 1.5 0.2 0. ]\n",
+ " [5. 3.5 1.3 0.3 0. ]\n",
+ " [4.5 2.3 1.3 0.3 0. ]\n",
+ " [4.4 3.2 1.3 0.2 0. ]\n",
+ " [5. 3.5 1.6 0.6 0. ]\n",
+ " [5.1 3.8 1.9 0.4 0. ]\n",
+ " [4.8 3. 1.4 0.3 0. ]\n",
+ " [5.1 3.8 1.6 0.2 0. ]\n",
+ " [4.6 3.2 1.4 0.2 0. ]\n",
+ " [5.3 3.7 1.5 0.2 0. ]\n",
+ " [5. 3.3 1.4 0.2 0. ]\n",
+ " [7. 3.2 4.7 1.4 1. ]\n",
+ " [6.4 3.2 4.5 1.5 1. ]\n",
+ " [6.9 3.1 4.9 1.5 1. ]\n",
+ " [5.5 2.3 4. 1.3 1. ]\n",
+ " [6.5 2.8 4.6 1.5 1. ]\n",
+ " [5.7 2.8 4.5 1.3 1. ]\n",
+ " [6.3 3.3 4.7 1.6 1. ]\n",
+ " [4.9 2.4 3.3 1. 1. ]\n",
+ " [6.6 2.9 4.6 1.3 1. ]\n",
+ " [5.2 2.7 3.9 1.4 1. ]\n",
+ " [5. 2. 3.5 1. 1. ]\n",
+ " [5.9 3. 4.2 1.5 1. ]\n",
+ " [6. 2.2 4. 1. 1. ]\n",
+ " [6.1 2.9 4.7 1.4 1. ]\n",
+ " [5.6 2.9 3.6 1.3 1. ]\n",
+ " [6.7 3.1 4.4 1.4 1. ]\n",
+ " [5.6 3. 4.5 1.5 1. ]\n",
+ " [5.8 2.7 4.1 1. 1. ]\n",
+ " [6.2 2.2 4.5 1.5 1. ]\n",
+ " [5.6 2.5 3.9 1.1 1. ]\n",
+ " [5.9 3.2 4.8 1.8 1. ]\n",
+ " [6.1 2.8 4. 1.3 1. ]\n",
+ " [6.3 2.5 4.9 1.5 1. ]\n",
+ " [6.1 2.8 4.7 1.2 1. ]\n",
+ " [6.4 2.9 4.3 1.3 1. ]\n",
+ " [6.6 3. 4.4 1.4 1. ]\n",
+ " [6.8 2.8 4.8 1.4 1. ]\n",
+ " [6.7 3. 5. 1.7 1. ]\n",
+ " [6. 2.9 4.5 1.5 1. ]\n",
+ " [5.7 2.6 3.5 1. 1. ]\n",
+ " [5.5 2.4 3.8 1.1 1. ]\n",
+ " [5.5 2.4 3.7 1. 1. ]\n",
+ " [5.8 2.7 3.9 1.2 1. ]\n",
+ " [6. 2.7 5.1 1.6 1. ]\n",
+ " [5.4 3. 4.5 1.5 1. ]\n",
+ " [6. 3.4 4.5 1.6 1. ]\n",
+ " [6.7 3.1 4.7 1.5 1. ]\n",
+ " [6.3 2.3 4.4 1.3 1. ]\n",
+ " [5.6 3. 4.1 1.3 1. ]\n",
+ " [5.5 2.5 4. 1.3 1. ]\n",
+ " [5.5 2.6 4.4 1.2 1. ]\n",
+ " [6.1 3. 4.6 1.4 1. ]\n",
+ " [5.8 2.6 4. 1.2 1. ]\n",
+ " [5. 2.3 3.3 1. 1. ]\n",
+ " [5.6 2.7 4.2 1.3 1. ]\n",
+ " [5.7 3. 4.2 1.2 1. ]\n",
+ " [5.7 2.9 4.2 1.3 1. ]\n",
+ " [6.2 2.9 4.3 1.3 1. ]\n",
+ " [5.1 2.5 3. 1.1 1. ]\n",
+ " [5.7 2.8 4.1 1.3 1. ]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "X, y = create_data()\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(array([5. , 3.4, 1.5, 0.2]), 0.0)"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_test[0], y_test[0]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "参考:https://machinelearningmastery.com/naive-bayes-classifier-scratch-python/\n",
+ "http://www.zhangzhenhu.com/probability_model/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%86%E7%B1%BB%E5%99%A8.html#id5\n",
+ "\n",
+ "## GaussianNB 高斯朴素贝叶斯\n",
+ "朴素贝叶斯模型中,假设所有所有特征变量都是离散变量,然而实际应用场景是复杂多变的,很多时候是无法满足这样的强假设的。如果特征变量$X$是连续值怎么办?我们可以通过离散化的手段把连续值转换成离散变量后,再应用朴素贝叶斯模型进行处理。但这样做显然不够优雅,事实上,贝叶斯分类器并没有约束变量服从何种概率分布,理论上任何概率分布都是支持的,无论是标签变量Y ,还是特征变量$X$都可以是任意类型的分布。假设特征变量$X$是高斯分布,标签变量$Y$仍然是离散(类别)变量的分类模型, 这类模型有个名字,称之为高斯判别分析(Gaussian Discriminant Analysis,GDA),或者高斯朴素贝叶斯(GaussianNB)\n",
+ "\n",
+ "特征变量$x$中每个特征都为高斯概率密度函数(完全条件独立):\n",
+ "$$P(x_i | y_k)=\\frac{1}{\\sqrt{2\\pi\\sigma^2_{yk}}}exp(-\\frac{(x_i-\\mu_{yk})^2}{2\\sigma^2_{yk}})$$\n",
+ "\n",
+ "数学期望(mean):$\\mu$\n",
+ "\n",
+ "方差:$\\sigma^2=\\frac{\\sum(X-\\mu)^2}{N}$\n",
+ "\n",
+ "类似于朴素贝叶斯模型的参数估计过程,可以把观测样本集按照Y的值划分成两份,用每一份数据分别去估计上述两个高斯分布的参数即可。\n",
+ ">将输入$x$分到后验概率最大的类$y$。\n",
+ "$$y=\\arg \\max _{yk} P\\left(Y=yk\\right) \\prod_{i=1}^{n} \\frac{1}{\\sqrt{2\\pi\\sigma^2_{yk}}}exp(-\\frac{(x_i-\\mu_{yk})^2}{2\\sigma^2_{yk}})$$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "class NaiveBayes:\n",
+ " def __init__(self):\n",
+ " self.model = None\n",
+ "\n",
+ " # 数学期望\n",
+ " @staticmethod\n",
+ " def mean(X):\n",
+ " return sum(X) / float(len(X))\n",
+ "\n",
+ " # 标准差(方差)\n",
+ " def stdev(self, X):\n",
+ " avg = self.mean(X)\n",
+ " return math.sqrt(sum([pow(x - avg, 2) for x in X]) / float(len(X)))\n",
+ "\n",
+ " # 高斯概率密度函数\n",
+ " def gaussian_probability(self, x, mean, stdev):\n",
+ " exponent = math.exp(-(math.pow(x - mean, 2) /\n",
+ " (2 * math.pow(stdev, 2))))\n",
+ " return (1 / (math.sqrt(2 * math.pi) * stdev)) * exponent\n",
+ "\n",
+ " # 处理X_train\n",
+ " def summarize(self, train_data):\n",
+ " summaries = [(self.mean(i), self.stdev(i)) for i in zip(*train_data)]\n",
+ " return summaries\n",
+ "\n",
+ " # 分类别求出数学期望和标准差\n",
+ " def fit(self, X, y):\n",
+ " # 所有labels类型\n",
+ " labels = list(set(y))\n",
+ " # 创建label与[特征期望,特征标准差]的字典映射\n",
+ " data = {label: [] for label in labels}\n",
+ " for f, label in zip(X, y):\n",
+ " data[label].append(f)\n",
+ " # value为X的多(n)维特征,生成n个[特征期望,特征标准差]\n",
+ " self.model = {\n",
+ " label: self.summarize(value)\n",
+ " for label, value in data.items()\n",
+ " }\n",
+ " print(self.model)\n",
+ " return 'gaussianNB train done!'\n",
+ "\n",
+ " # 计算概率\n",
+ " def calculate_probabilities(self, input_data):\n",
+ " # summaries:{0.0: [(5.0, 0.37),(3.42, 0.40)], 1.0: [(5.8, 0.449),(2.7, 0.27)]}\n",
+ " # input_data:[1.1, 2.2]\n",
+ " probabilities = {}\n",
+ " for label, value in self.model.items():\n",
+ " probabilities[label] = 1\n",
+ " for i in range(len(value)):\n",
+ " mean, stdev = value[i]\n",
+ " probabilities[label] *= self.gaussian_probability(\n",
+ " input_data[i], mean, stdev)\n",
+ " return probabilities\n",
+ "\n",
+ " # 类别\n",
+ " def predict(self, X_test):\n",
+ " # {0.0: 2.9680340789325763e-27, 1.0: 3.5749783019849535e-26}\n",
+ " label = sorted(\n",
+ " self.calculate_probabilities(X_test).items(),\n",
+ " key=lambda x: x[-1])[-1][0]\n",
+ " return label\n",
+ "\n",
+ " def score(self, X_test, y_test):\n",
+ " right = 0\n",
+ " for X, y in zip(X_test, y_test):\n",
+ " label = self.predict(X)\n",
+ " if label == y:\n",
+ " right += 1\n",
+ "\n",
+ " return right / float(len(X_test))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "model = NaiveBayes()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{0.0: [(5.042424242424242, 0.3709368181357421), (3.4818181818181815, 0.3545843024560018), (1.4484848484848483, 0.17077579155885297), (0.2424242424242425, 0.08886592908251627)], 1.0: [(5.932432432432432, 0.4644404096149176), (2.7540540540540546, 0.31928517677021306), (4.232432432432433, 0.4702236696389048), (1.3135135135135134, 0.19194898275205088)]}\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "'gaussianNB train done!'"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model.fit(X_train, y_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(model.predict([4.4, 3.2, 1.3, 0.2]))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1.0"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model.score(X_test, y_test)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "### scikit-learn实例"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.naive_bayes import GaussianNB"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "GaussianNB()"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf = GaussianNB()\n",
+ "clf.fit(X_train, y_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1.0"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf.score(X_test, y_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([0.])"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf.predict([[4.4, 3.2, 1.3, 0.2]])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.naive_bayes import BernoulliNB, MultinomialNB # 伯努利模型和多项式模型"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 第4章朴素贝叶斯法-习题\n",
+ "\n",
+ "### 习题4.1\n",
+ " 用极大似然估计法推出朴素贝叶斯法中的概率估计公式(4.8)及公式 (4.9)。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ "**第1步:**证明公式(4.8):$\\displaystyle P(Y=c_k) = \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k)}{N}$ \n",
+ "由于朴素贝叶斯法假设$Y$是定义在输出空间$\\mathcal{Y}$上的随机变量,因此可以定义$P(Y=c_k)$概率为$p$。 \n",
+ "令$\\displaystyle m=\\sum_{i=1}^NI(y_i=c_k)$,得出似然函数:$$L(p)=f_D(y_1,y_2,\\cdots,y_n|\\theta)=\\binom{N}{m}p^m(1-p)^{(N-m)}$$使用微分求极值,两边同时对$p$求微分:$$\\begin{aligned}\n",
+ "0 &= \\binom{N}{m}\\left[mp^{(m-1)}(1-p)^{(N-m)}-(N-m)p^m(1-p)^{(N-m-1)}\\right] \\\\\n",
+ "& = \\binom{N}{m}\\left[p^{(m-1)}(1-p)^{(N-m-1)}(m-Np)\\right]\n",
+ "\\end{aligned}$$可求解得到$\\displaystyle p=0,p=1,p=\\frac{m}{N}$ \n",
+ "显然$\\displaystyle P(Y=c_k)=p=\\frac{m}{N}=\\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k)}{N}$,公式(4.8)得证。\n",
+ "\n",
+ "----\n",
+ "\n",
+ "**第2步:**证明公式(4.9):$\\displaystyle P(X^{(j)}=a_{jl}|Y=c_k) = \\frac{\\displaystyle \\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\\displaystyle \\sum_{i=1}^N I(y_i=c_k)}$ \n",
+ "令$P(X^{(j)}=a_{jl}|Y=c_k)=p$,令$\\displaystyle m=\\sum_{i=1}^N I(y_i=c_k), q=\\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)$,得出似然函数:$$L(p)=\\binom{m}{q}p^q(i-p)^{m-q}$$使用微分求极值,两边同时对$p$求微分:$$\\begin{aligned}\n",
+ "0 &= \\binom{m}{q}\\left[qp^{(q-1)}(1-p)^{(m-q)}-(m-q)p^q(1-p)^{(m-q-1)}\\right] \\\\\n",
+ "& = \\binom{m}{q}\\left[p^{(q-1)}(1-p)^{(m-q-1)}(q-mp)\\right]\n",
+ "\\end{aligned}$$可求解得到$\\displaystyle p=0,p=1,p=\\frac{q}{m}$ \n",
+ "显然$\\displaystyle P(X^{(j)}=a_{jl}|Y=c_k)=p=\\frac{q}{m}=\\frac{\\displaystyle \\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\\displaystyle \\sum_{i=1}^N I(y_i=c_k)}$,公式(4.9)得证。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 习题4.2\n",
+ " 用贝叶斯估计法推出朴素贝叶斯法中的概率估计公式(4.10)及公式(4.11)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ "**第1步:**证明公式(4.11):$\\displaystyle P(Y=c_k) = \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k) + \\lambda}{N+K \\lambda}$ \n",
+ "加入先验概率,在没有任何信息的情况下,可以假设先验概率为均匀概率(即每个事件的概率是相同的)。 \n",
+ "可得$\\displaystyle p=\\frac{1}{K} \\Leftrightarrow pK-1=0\\quad(1)$ \n",
+ "根据习题4.1得出先验概率的极大似然估计是$\\displaystyle pN - \\sum_{i=1}^N I(y_i=c_k) = 0\\quad(2)$ \n",
+ "存在参数$\\lambda$使得$(1) \\cdot \\lambda + (2) = 0$ \n",
+ "所以有$$\\lambda(pK-1) + pN - \\sum_{i=1}^N I(y_i=c_k) = 0$$可得$\\displaystyle P(Y=c_k) = \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k) + \\lambda}{N+K \\lambda}$,公式(4.11)得证。 \n",
+ "\n",
+ "----\n",
+ "\n",
+ "**第2步:**证明公式(4.10):$\\displaystyle P_{\\lambda}(X^{(j)}=a_{jl} | Y = c_k) = \\frac{\\displaystyle \\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k) + \\lambda}{\\displaystyle \\sum_{i=1}^N I(y_i=c_k) + S_j \\lambda}$ \n",
+ "根据第1步,可同理得到$$\n",
+ "P(Y=c_k, x^{(j)}=a_{j l})=\\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\\lambda}{N+K S_j \\lambda}$$ \n",
+ "$$\\begin{aligned} \n",
+ "P(x^{(j)}=a_{jl} | Y=c_k)\n",
+ "&= \\frac{P(Y=c_k, x^{(j)}=a_{j l})}{P(y_i=c_k)} \\\\\n",
+ "&= \\frac{\\displaystyle \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\\lambda}{N+K S_j \\lambda}}{\\displaystyle \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k) + \\lambda}{N+K \\lambda}} \\\\\n",
+ "&= (\\lambda可以任意取值,于是取\\lambda = S_j \\lambda) \\\\\n",
+ "&= \\frac{\\displaystyle \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\\lambda}{N+K S_j \\lambda}}{\\displaystyle \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k) + \\lambda}{N+K S_j \\lambda}} \\\\ \n",
+ "&= \\frac{\\displaystyle \\sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\\lambda}{\\displaystyle \\sum_{i=1}^N I(y_i=c_k) + \\lambda} (其中\\lambda = S_j \\lambda)\\\\\n",
+ "&= \\frac{\\displaystyle \\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k) + \\lambda}{\\displaystyle \\sum_{i=1}^N I(y_i=c_k) + S_j \\lambda}\n",
+ "\\end{aligned} $$ \n",
+ "公式(4.11)得证。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "----\n",
+ "参考代码:https://github.com/wzyonggege/statistical-learning-method\n",
+ "\n",
+ "本文代码更新地址:https://github.com/fengdu78/lihang-code\n",
+ "\n",
+ "习题解答:https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
+ "\n",
+ "中文注释制作:机器学习初学者公众号:ID:ai-start-com\n",
+ "\n",
+ "配置环境:python 3.5+\n",
+ "\n",
+ "代码全部测试通过。\n",
+ "![gongzhong](../gongzhong.jpg)"
+ ]
+ }
+ ],
+ "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.8.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git "a/\347\254\25404\347\253\240 \346\234\264\347\264\240\350\264\235\345\217\266\346\226\257/4.NaiveBayes.ipynb" "b/\347\254\25404\347\253\240 \346\234\264\347\264\240\350\264\235\345\217\266\346\226\257/4.NaiveBayes.ipynb"
index a64ec2b..876bad9 100644
--- "a/\347\254\25404\347\253\240 \346\234\264\347\264\240\350\264\235\345\217\266\346\226\257/4.NaiveBayes.ipynb"
+++ "b/\347\254\25404\347\253\240 \346\234\264\347\264\240\350\264\235\345\217\266\346\226\257/4.NaiveBayes.ipynb"
@@ -45,7 +45,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
@@ -63,7 +63,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
@@ -76,15 +76,122 @@
" 'sepal length', 'sepal width', 'petal length', 'petal width', 'label'\n",
" ]\n",
" data = np.array(df.iloc[:100, :])\n",
- " # print(data)\n",
+ " print(data)\n",
" return data[:, :-1], data[:, -1]"
]
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 6,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[5.1 3.5 1.4 0.2 0. ]\n",
+ " [4.9 3. 1.4 0.2 0. ]\n",
+ " [4.7 3.2 1.3 0.2 0. ]\n",
+ " [4.6 3.1 1.5 0.2 0. ]\n",
+ " [5. 3.6 1.4 0.2 0. ]\n",
+ " [5.4 3.9 1.7 0.4 0. ]\n",
+ " [4.6 3.4 1.4 0.3 0. ]\n",
+ " [5. 3.4 1.5 0.2 0. ]\n",
+ " [4.4 2.9 1.4 0.2 0. ]\n",
+ " [4.9 3.1 1.5 0.1 0. ]\n",
+ " [5.4 3.7 1.5 0.2 0. ]\n",
+ " [4.8 3.4 1.6 0.2 0. ]\n",
+ " [4.8 3. 1.4 0.1 0. ]\n",
+ " [4.3 3. 1.1 0.1 0. ]\n",
+ " [5.8 4. 1.2 0.2 0. ]\n",
+ " [5.7 4.4 1.5 0.4 0. ]\n",
+ " [5.4 3.9 1.3 0.4 0. ]\n",
+ " [5.1 3.5 1.4 0.3 0. ]\n",
+ " [5.7 3.8 1.7 0.3 0. ]\n",
+ " [5.1 3.8 1.5 0.3 0. ]\n",
+ " [5.4 3.4 1.7 0.2 0. ]\n",
+ " [5.1 3.7 1.5 0.4 0. ]\n",
+ " [4.6 3.6 1. 0.2 0. ]\n",
+ " [5.1 3.3 1.7 0.5 0. ]\n",
+ " [4.8 3.4 1.9 0.2 0. ]\n",
+ " [5. 3. 1.6 0.2 0. ]\n",
+ " [5. 3.4 1.6 0.4 0. ]\n",
+ " [5.2 3.5 1.5 0.2 0. ]\n",
+ " [5.2 3.4 1.4 0.2 0. ]\n",
+ " [4.7 3.2 1.6 0.2 0. ]\n",
+ " [4.8 3.1 1.6 0.2 0. ]\n",
+ " [5.4 3.4 1.5 0.4 0. ]\n",
+ " [5.2 4.1 1.5 0.1 0. ]\n",
+ " [5.5 4.2 1.4 0.2 0. ]\n",
+ " [4.9 3.1 1.5 0.2 0. ]\n",
+ " [5. 3.2 1.2 0.2 0. ]\n",
+ " [5.5 3.5 1.3 0.2 0. ]\n",
+ " [4.9 3.6 1.4 0.1 0. ]\n",
+ " [4.4 3. 1.3 0.2 0. ]\n",
+ " [5.1 3.4 1.5 0.2 0. ]\n",
+ " [5. 3.5 1.3 0.3 0. ]\n",
+ " [4.5 2.3 1.3 0.3 0. ]\n",
+ " [4.4 3.2 1.3 0.2 0. ]\n",
+ " [5. 3.5 1.6 0.6 0. ]\n",
+ " [5.1 3.8 1.9 0.4 0. ]\n",
+ " [4.8 3. 1.4 0.3 0. ]\n",
+ " [5.1 3.8 1.6 0.2 0. ]\n",
+ " [4.6 3.2 1.4 0.2 0. ]\n",
+ " [5.3 3.7 1.5 0.2 0. ]\n",
+ " [5. 3.3 1.4 0.2 0. ]\n",
+ " [7. 3.2 4.7 1.4 1. ]\n",
+ " [6.4 3.2 4.5 1.5 1. ]\n",
+ " [6.9 3.1 4.9 1.5 1. ]\n",
+ " [5.5 2.3 4. 1.3 1. ]\n",
+ " [6.5 2.8 4.6 1.5 1. ]\n",
+ " [5.7 2.8 4.5 1.3 1. ]\n",
+ " [6.3 3.3 4.7 1.6 1. ]\n",
+ " [4.9 2.4 3.3 1. 1. ]\n",
+ " [6.6 2.9 4.6 1.3 1. ]\n",
+ " [5.2 2.7 3.9 1.4 1. ]\n",
+ " [5. 2. 3.5 1. 1. ]\n",
+ " [5.9 3. 4.2 1.5 1. ]\n",
+ " [6. 2.2 4. 1. 1. ]\n",
+ " [6.1 2.9 4.7 1.4 1. ]\n",
+ " [5.6 2.9 3.6 1.3 1. ]\n",
+ " [6.7 3.1 4.4 1.4 1. ]\n",
+ " [5.6 3. 4.5 1.5 1. ]\n",
+ " [5.8 2.7 4.1 1. 1. ]\n",
+ " [6.2 2.2 4.5 1.5 1. ]\n",
+ " [5.6 2.5 3.9 1.1 1. ]\n",
+ " [5.9 3.2 4.8 1.8 1. ]\n",
+ " [6.1 2.8 4. 1.3 1. ]\n",
+ " [6.3 2.5 4.9 1.5 1. ]\n",
+ " [6.1 2.8 4.7 1.2 1. ]\n",
+ " [6.4 2.9 4.3 1.3 1. ]\n",
+ " [6.6 3. 4.4 1.4 1. ]\n",
+ " [6.8 2.8 4.8 1.4 1. ]\n",
+ " [6.7 3. 5. 1.7 1. ]\n",
+ " [6. 2.9 4.5 1.5 1. ]\n",
+ " [5.7 2.6 3.5 1. 1. ]\n",
+ " [5.5 2.4 3.8 1.1 1. ]\n",
+ " [5.5 2.4 3.7 1. 1. ]\n",
+ " [5.8 2.7 3.9 1.2 1. ]\n",
+ " [6. 2.7 5.1 1.6 1. ]\n",
+ " [5.4 3. 4.5 1.5 1. ]\n",
+ " [6. 3.4 4.5 1.6 1. ]\n",
+ " [6.7 3.1 4.7 1.5 1. ]\n",
+ " [6.3 2.3 4.4 1.3 1. ]\n",
+ " [5.6 3. 4.1 1.3 1. ]\n",
+ " [5.5 2.5 4. 1.3 1. ]\n",
+ " [5.5 2.6 4.4 1.2 1. ]\n",
+ " [6.1 3. 4.6 1.4 1. ]\n",
+ " [5.8 2.6 4. 1.2 1. ]\n",
+ " [5. 2.3 3.3 1. 1. ]\n",
+ " [5.6 2.7 4.2 1.3 1. ]\n",
+ " [5.7 3. 4.2 1.2 1. ]\n",
+ " [5.7 2.9 4.2 1.3 1. ]\n",
+ " [6.2 2.9 4.3 1.3 1. ]\n",
+ " [5.1 2.5 3. 1.1 1. ]\n",
+ " [5.7 2.8 4.1 1.3 1. ]]\n"
+ ]
+ }
+ ],
"source": [
"X, y = create_data()\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)"
@@ -92,16 +199,16 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "(array([5.7, 2.6, 3.5, 1. ]), 1.0)"
+ "(array([5. , 3.4, 1.5, 0.2]), 0.0)"
]
},
- "execution_count": 4,
+ "execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
@@ -115,22 +222,26 @@
"metadata": {},
"source": [
"参考:https://machinelearningmastery.com/naive-bayes-classifier-scratch-python/\n",
+ "http://www.zhangzhenhu.com/probability_model/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%86%E7%B1%BB%E5%99%A8.html#id5\n",
"\n",
"## GaussianNB 高斯朴素贝叶斯\n",
+ "朴素贝叶斯模型中,假设所有所有特征变量都是离散变量,然而实际应用场景是复杂多变的,很多时候是无法满足这样的强假设的。如果特征变量$X$是连续值怎么办?我们可以通过离散化的手段把连续值转换成离散变量后,再应用朴素贝叶斯模型进行处理。但这样做显然不够优雅,事实上,贝叶斯分类器并没有约束变量服从何种概率分布,理论上任何概率分布都是支持的,无论是标签变量Y ,还是特征变量$X$都可以是任意类型的分布。假设特征变量$X$是高斯分布,标签变量$Y$仍然是离散(类别)变量的分类模型, 这类模型有个名字,称之为高斯判别分析(Gaussian Discriminant Analysis,GDA),或者高斯朴素贝叶斯(GaussianNB)\n",
"\n",
- "特征的可能性被假设为高斯\n",
- "\n",
- "概率密度函数:\n",
+ "特征变量$x$中每个特征都为高斯概率密度函数(完全条件独立):\n",
"$$P(x_i | y_k)=\\frac{1}{\\sqrt{2\\pi\\sigma^2_{yk}}}exp(-\\frac{(x_i-\\mu_{yk})^2}{2\\sigma^2_{yk}})$$\n",
"\n",
"数学期望(mean):$\\mu$\n",
"\n",
- "方差:$\\sigma^2=\\frac{\\sum(X-\\mu)^2}{N}$"
+ "方差:$\\sigma^2=\\frac{\\sum(X-\\mu)^2}{N}$\n",
+ "\n",
+ "类似于朴素贝叶斯模型的参数估计过程,可以把观测样本集按照Y的值划分成两份,用每一份数据分别去估计上述两个高斯分布的参数即可。\n",
+ ">将输入$x$分到后验概率最大的类$y$。\n",
+ "$$y=\\arg \\max _{yk} P\\left(Y=yk\\right) \\prod_{i=1}^{n} \\frac{1}{\\sqrt{2\\pi\\sigma^2_{yk}}}exp(-\\frac{(x_i-\\mu_{yk})^2}{2\\sigma^2_{yk}})$$"
]
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
@@ -148,7 +259,7 @@
" avg = self.mean(X)\n",
" return math.sqrt(sum([pow(x - avg, 2) for x in X]) / float(len(X)))\n",
"\n",
- " # 概率密度函数\n",
+ " # 高斯概率密度函数\n",
" def gaussian_probability(self, x, mean, stdev):\n",
" exponent = math.exp(-(math.pow(x - mean, 2) /\n",
" (2 * math.pow(stdev, 2))))\n",
@@ -161,14 +272,18 @@
"\n",
" # 分类别求出数学期望和标准差\n",
" def fit(self, X, y):\n",
+ " # 所有labels类型\n",
" labels = list(set(y))\n",
+ " # 创建label与[特征期望,特征标准差]的字典映射\n",
" data = {label: [] for label in labels}\n",
" for f, label in zip(X, y):\n",
" data[label].append(f)\n",
+ " # value为X的多(n)维特征,生成n个[特征期望,特征标准差]\n",
" self.model = {\n",
" label: self.summarize(value)\n",
" for label, value in data.items()\n",
" }\n",
+ " print(self.model)\n",
" return 'gaussianNB train done!'\n",
"\n",
" # 计算概率\n",
@@ -204,7 +319,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
@@ -213,16 +328,23 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 20,
"metadata": {},
"outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{0.0: [(5.042424242424242, 0.3709368181357421), (3.4818181818181815, 0.3545843024560018), (1.4484848484848483, 0.17077579155885297), (0.2424242424242425, 0.08886592908251627)], 1.0: [(5.932432432432432, 0.4644404096149176), (2.7540540540540546, 0.31928517677021306), (4.232432432432433, 0.4702236696389048), (1.3135135135135134, 0.19194898275205088)]}\n"
+ ]
+ },
{
"data": {
"text/plain": [
"'gaussianNB train done!'"
]
},
- "execution_count": 7,
+ "execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
@@ -233,7 +355,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 21,
"metadata": {},
"outputs": [
{
@@ -250,7 +372,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 22,
"metadata": {},
"outputs": [
{
@@ -259,7 +381,7 @@
"1.0"
]
},
- "execution_count": 9,
+ "execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
@@ -279,7 +401,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
@@ -288,7 +410,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 24,
"metadata": {},
"outputs": [
{
@@ -297,7 +419,7 @@
"GaussianNB()"
]
},
- "execution_count": 11,
+ "execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
@@ -309,7 +431,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 25,
"metadata": {},
"outputs": [
{
@@ -318,7 +440,7 @@
"1.0"
]
},
- "execution_count": 12,
+ "execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
@@ -329,7 +451,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 26,
"metadata": {},
"outputs": [
{
@@ -338,7 +460,7 @@
"array([0.])"
]
},
- "execution_count": 13,
+ "execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
@@ -394,7 +516,7 @@
"metadata": {},
"source": [
"### 习题4.2\n",
- " 用贝叶斯估计法推出朴素贝叶斯法中的慨率估计公式(4.10)及公式(4.11)"
+ " 用贝叶斯估计法推出朴素贝叶斯法中的概率估计公式(4.10)及公式(4.11)"
]
},
{
@@ -464,7 +586,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.6"
+ "version": "3.8.3"
}
},
"nbformat": 4,
diff --git "a/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/.ipynb_checkpoints/5.DecisonTree-checkpoint.ipynb" "b/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/.ipynb_checkpoints/5.DecisonTree-checkpoint.ipynb"
new file mode 100644
index 0000000..4f862a4
--- /dev/null
+++ "b/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/.ipynb_checkpoints/5.DecisonTree-checkpoint.ipynb"
@@ -0,0 +1,1370 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 第5章 决策树"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "1.分类决策树模型是表示基于特征对实例进行分类的树形结构。决策树可以转换成一个**if-then**规则的集合,也可以看作是定义在特征空间划分上的类的条件概率分布。\n",
+ "\n",
+ "2.决策树学习旨在构建一个与训练数据拟合很好,并且复杂度小的决策树。因为从可能的决策树中直接选取最优决策树是NP完全问题。现实中采用启发式方法学习次优的决策树。\n",
+ "\n",
+ "决策树学习算法包括3部分:特征选择、树的生成和树的剪枝。常用的算法有ID3、\n",
+ "C4.5和CART。\n",
+ "\n",
+ "3.特征选择的目的在于选取对训练数据能够分类的特征。特征选择的关键是其准则。常用的准则如下:\n",
+ "\n",
+ "(1)样本集合$D$对特征$A$的信息增益(ID3)\n",
+ "\n",
+ "\n",
+ "$$g(D, A)=H(D)-H(D|A)$$\n",
+ "\n",
+ "$$H(D)=-\\sum_{k=1}^{K} \\frac{\\left|C_{k}\\right|}{|D|} \\log _{2} \\frac{\\left|C_{k}\\right|}{|D|}$$\n",
+ "\n",
+ "$$H(D | A)=\\sum_{i=1}^{n} \\frac{\\left|D_{i}\\right|}{|D|} H\\left(D_{i}\\right)$$\n",
+ "\n",
+ "其中,$H(D)$是数据集$D$的熵,$H(D_i)$是数据集$D_i$的熵,$H(D|A)$是数据集$D$对特征$A$的条件熵。\t$D_i$是$D$中特征$A$取第$i$个值的样本子集,$C_k$是$D$中属于第$k$类的样本子集。$n$是特征$A$取 值的个数,$K$是类的个数。\n",
+ "\n",
+ "(2)样本集合$D$对特征$A$的信息增益比(C4.5)\n",
+ "\n",
+ "\n",
+ "$$g_{R}(D, A)=\\frac{g(D, A)}{H_A(D)}$$\n",
+ "\n",
+ "$$H_A(D)=\\sum_{i=1}^{n} \\frac{\\left|D_{i}\\right|}{|D|}\\log _{2} \\frac{\\left|D_{i}\\right|}{|D|} $$\n",
+ "\n",
+ "其中,$g(D,A)$是信息增益,$H_A(D)$是 D 关于特征 A 的值的熵。\n",
+ "\n",
+ "(3)样本集合$D$的基尼指数(CART)\n",
+ "\n",
+ "$$\\operatorname{Gini}(D)=1-\\sum_{k=1}^{K}\\left(\\frac{\\left|C_{k}\\right|}{|D|}\\right)^{2}$$\n",
+ "\n",
+ "特征$A$条件下集合$D$的基尼指数:\n",
+ "\n",
+ " $$\\operatorname{Gini}(D, A)=\\frac{\\left|D_{1}\\right|}{|D|} \\operatorname{Gini}\\left(D_{1}\\right)+\\frac{\\left|D_{2}\\right|}{|D|} \\operatorname{Gini}\\left(D_{2}\\right)$$\n",
+ " \n",
+ "4.决策树的生成。通常使用信息增益最大、信息增益比最大或基尼指数最小作为特征选择的准则。决策树的生成往往通过计算信息增益或其他指标,从根结点开始,递归地产生决策树。这相当于用信息增益或其他准则不断地选取局部最优的特征,或将训练集分割为能够基本正确分类的子集。\n",
+ "\n",
+ "5.决策树的剪枝。由于生成的决策树存在过拟合问题,需要对它进行剪枝,以简化学到的决策树。决策树的剪枝,往往从已生成的树上剪掉一些叶结点或叶结点以上的子树,并将其父结点或根结点作为新的叶结点,从而简化生成的决策树。\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "\n",
+ "from sklearn.datasets import load_iris\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from collections import Counter\n",
+ "import math\n",
+ "from math import log\n",
+ "import pprint"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 书上题目5.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 书上题目5.1\n",
+ "def create_data():\n",
+ " datasets = [['青年', '否', '否', '一般', '否'],\n",
+ " ['青年', '否', '否', '好', '否'],\n",
+ " ['青年', '是', '否', '好', '是'],\n",
+ " ['青年', '是', '是', '一般', '是'],\n",
+ " ['青年', '否', '否', '一般', '否'],\n",
+ " ['中年', '否', '否', '一般', '否'],\n",
+ " ['中年', '否', '否', '好', '否'],\n",
+ " ['中年', '是', '是', '好', '是'],\n",
+ " ['中年', '否', '是', '非常好', '是'],\n",
+ " ['中年', '否', '是', '非常好', '是'],\n",
+ " ['老年', '否', '是', '非常好', '是'],\n",
+ " ['老年', '否', '是', '好', '是'],\n",
+ " ['老年', '是', '否', '好', '是'],\n",
+ " ['老年', '是', '否', '非常好', '是'],\n",
+ " ['老年', '否', '否', '一般', '否'],\n",
+ " ]\n",
+ " labels = [u'年龄', u'有工作', u'有自己的房子', u'信贷情况', u'类别']\n",
+ " # 返回数据集和每个维度的名称\n",
+ " return datasets, labels"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "datasets, labels = create_data()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train_data = pd.DataFrame(datasets, columns=labels)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 年龄 | \n",
+ " 有工作 | \n",
+ " 有自己的房子 | \n",
+ " 信贷情况 | \n",
+ " 类别 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 青年 | \n",
+ " 否 | \n",
+ " 否 | \n",
+ " 一般 | \n",
+ " 否 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 青年 | \n",
+ " 否 | \n",
+ " 否 | \n",
+ " 好 | \n",
+ " 否 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 青年 | \n",
+ " 是 | \n",
+ " 否 | \n",
+ " 好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 青年 | \n",
+ " 是 | \n",
+ " 是 | \n",
+ " 一般 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 青年 | \n",
+ " 否 | \n",
+ " 否 | \n",
+ " 一般 | \n",
+ " 否 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 中年 | \n",
+ " 否 | \n",
+ " 否 | \n",
+ " 一般 | \n",
+ " 否 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 中年 | \n",
+ " 否 | \n",
+ " 否 | \n",
+ " 好 | \n",
+ " 否 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 中年 | \n",
+ " 是 | \n",
+ " 是 | \n",
+ " 好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 中年 | \n",
+ " 否 | \n",
+ " 是 | \n",
+ " 非常好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 中年 | \n",
+ " 否 | \n",
+ " 是 | \n",
+ " 非常好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 老年 | \n",
+ " 否 | \n",
+ " 是 | \n",
+ " 非常好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 老年 | \n",
+ " 否 | \n",
+ " 是 | \n",
+ " 好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 老年 | \n",
+ " 是 | \n",
+ " 否 | \n",
+ " 好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 13 | \n",
+ " 老年 | \n",
+ " 是 | \n",
+ " 否 | \n",
+ " 非常好 | \n",
+ " 是 | \n",
+ "
\n",
+ " \n",
+ " 14 | \n",
+ " 老年 | \n",
+ " 否 | \n",
+ " 否 | \n",
+ " 一般 | \n",
+ " 否 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 年龄 有工作 有自己的房子 信贷情况 类别\n",
+ "0 青年 否 否 一般 否\n",
+ "1 青年 否 否 好 否\n",
+ "2 青年 是 否 好 是\n",
+ "3 青年 是 是 一般 是\n",
+ "4 青年 否 否 一般 否\n",
+ "5 中年 否 否 一般 否\n",
+ "6 中年 否 否 好 否\n",
+ "7 中年 是 是 好 是\n",
+ "8 中年 否 是 非常好 是\n",
+ "9 中年 否 是 非常好 是\n",
+ "10 老年 否 是 非常好 是\n",
+ "11 老年 否 是 好 是\n",
+ "12 老年 是 否 好 是\n",
+ "13 老年 是 否 非常好 是\n",
+ "14 老年 否 否 一般 否"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "train_data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 熵\n",
+ "def calc_ent(datasets):\n",
+ " data_length = len(datasets)\n",
+ " label_count = {}\n",
+ " for i in range(data_length):\n",
+ " label = datasets[i][-1]\n",
+ " if label not in label_count:\n",
+ " label_count[label] = 0\n",
+ " label_count[label] += 1\n",
+ " ent = -sum([(p / data_length) * log(p / data_length, 2)\n",
+ " for p in label_count.values()])\n",
+ " return ent\n",
+ "\n",
+ "\n",
+ "# 经验条件熵\n",
+ "def cond_ent(datasets, axis=0):\n",
+ " data_length = len(datasets)\n",
+ " feature_sets = {}\n",
+ " for i in range(data_length):\n",
+ " feature = datasets[i][axis]\n",
+ " if feature not in feature_sets:\n",
+ " feature_sets[feature] = []\n",
+ " feature_sets[feature].append(datasets[i])\n",
+ " cond_ent = sum(\n",
+ " [(len(p) / data_length) * calc_ent(p) for p in feature_sets.values()])\n",
+ " return cond_ent\n",
+ "\n",
+ "\n",
+ "# 信息增益\n",
+ "def info_gain(ent, cond_ent):\n",
+ " return ent - cond_ent\n",
+ "\n",
+ "\n",
+ "def info_gain_train(datasets):\n",
+ " count = len(datasets[0]) - 1\n",
+ " ent = calc_ent(datasets)\n",
+ " best_feature = []\n",
+ " for c in range(count):\n",
+ " c_info_gain = info_gain(ent, cond_ent(datasets, axis=c))\n",
+ " best_feature.append((c, c_info_gain))\n",
+ " print('特征({}) - info_gain - {:.3f}'.format(labels[c], c_info_gain))\n",
+ " # 比较大小\n",
+ " best_ = max(best_feature, key=lambda x: x[-1])\n",
+ " return '特征({})的信息增益最大,选择为根节点特征'.format(labels[best_[0]])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "特征(年龄) - info_gain - 0.083\n",
+ "特征(有工作) - info_gain - 0.324\n",
+ "特征(有自己的房子) - info_gain - 0.420\n",
+ "特征(信贷情况) - info_gain - 0.363\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "'特征(有自己的房子)的信息增益最大,选择为根节点特征'"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "info_gain_train(np.array(datasets))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "---\n",
+ "\n",
+ "利用ID3算法生成决策树,例5.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 定义节点类 二叉树\n",
+ "class Node:\n",
+ " def __init__(self, root=True, label=None, feature_name=None, feature=None):\n",
+ " self.root = root\n",
+ " self.label = label\n",
+ " self.feature_name = feature_name\n",
+ " self.feature = feature\n",
+ " self.tree = {}\n",
+ " self.result = {\n",
+ " 'label:': self.label,\n",
+ " 'feature': self.feature,\n",
+ " 'tree': self.tree\n",
+ " }\n",
+ "\n",
+ " def __repr__(self):\n",
+ " return '{}'.format(self.result)\n",
+ "\n",
+ " def add_node(self, val, node):\n",
+ " self.tree[val] = node\n",
+ "\n",
+ " def predict(self, features):\n",
+ " if self.root is True:\n",
+ " return self.label\n",
+ " return self.tree[features[self.feature]].predict(features)\n",
+ "\n",
+ "\n",
+ "class DTree:\n",
+ " def __init__(self, epsilon=0.1):\n",
+ " self.epsilon = epsilon\n",
+ " self._tree = {}\n",
+ "\n",
+ " # 熵\n",
+ " @staticmethod\n",
+ " def calc_ent(datasets):\n",
+ " data_length = len(datasets)\n",
+ " label_count = {}\n",
+ " for i in range(data_length):\n",
+ " label = datasets[i][-1]\n",
+ " if label not in label_count:\n",
+ " label_count[label] = 0\n",
+ " label_count[label] += 1\n",
+ " ent = -sum([(p / data_length) * log(p / data_length, 2)\n",
+ " for p in label_count.values()])\n",
+ " return ent\n",
+ "\n",
+ " # 经验条件熵\n",
+ " def cond_ent(self, datasets, axis=0):\n",
+ " data_length = len(datasets)\n",
+ " feature_sets = {}\n",
+ " for i in range(data_length):\n",
+ " feature = datasets[i][axis]\n",
+ " if feature not in feature_sets:\n",
+ " feature_sets[feature] = []\n",
+ " feature_sets[feature].append(datasets[i])\n",
+ " cond_ent = sum([(len(p) / data_length) * self.calc_ent(p)\n",
+ " for p in feature_sets.values()])\n",
+ " return cond_ent\n",
+ "\n",
+ " # 信息增益\n",
+ " @staticmethod\n",
+ " def info_gain(ent, cond_ent):\n",
+ " return ent - cond_ent\n",
+ "\n",
+ " def info_gain_train(self, datasets):\n",
+ " count = len(datasets[0]) - 1\n",
+ " ent = self.calc_ent(datasets)\n",
+ " best_feature = []\n",
+ " for c in range(count):\n",
+ " c_info_gain = self.info_gain(ent, self.cond_ent(datasets, axis=c))\n",
+ " best_feature.append((c, c_info_gain))\n",
+ " # 比较大小\n",
+ " best_ = max(best_feature, key=lambda x: x[-1])\n",
+ " return best_\n",
+ "\n",
+ " def train(self, train_data):\n",
+ " \"\"\"\n",
+ " input:数据集D(DataFrame格式),特征集A,阈值eta\n",
+ " output:决策树T\n",
+ " \"\"\"\n",
+ " _, y_train, features = train_data.iloc[:, :\n",
+ " -1], train_data.iloc[:,\n",
+ " -1], train_data.columns[:\n",
+ " -1]\n",
+ " # 1,若D中实例属于同一类Ck,则T为单节点树,并将类Ck作为结点的类标记,返回T\n",
+ " if len(y_train.value_counts()) == 1:\n",
+ " return Node(root=True, label=y_train.iloc[0])\n",
+ "\n",
+ " # 2, 若A为空,则T为单节点树,将D中实例树最大的类Ck作为该节点的类标记,返回T\n",
+ " if len(features) == 0:\n",
+ " return Node(\n",
+ " root=True,\n",
+ " label=y_train.value_counts().sort_values(\n",
+ " ascending=False).index[0])\n",
+ "\n",
+ " # 3,计算最大信息增益 同5.1,Ag为信息增益最大的特征\n",
+ " max_feature, max_info_gain = self.info_gain_train(np.array(train_data))\n",
+ " max_feature_name = features[max_feature]\n",
+ "\n",
+ " # 4,Ag的信息增益小于阈值eta,则置T为单节点树,并将D中是实例数最大的类Ck作为该节点的类标记,返回T\n",
+ " if max_info_gain < self.epsilon:\n",
+ " return Node(\n",
+ " root=True,\n",
+ " label=y_train.value_counts().sort_values(\n",
+ " ascending=False).index[0])\n",
+ "\n",
+ " # 5,构建Ag子集\n",
+ " node_tree = Node(\n",
+ " root=False, feature_name=max_feature_name, feature=max_feature)\n",
+ "\n",
+ " feature_list = train_data[max_feature_name].value_counts().index\n",
+ " for f in feature_list:\n",
+ " sub_train_df = train_data.loc[train_data[max_feature_name] ==\n",
+ " f].drop([max_feature_name], axis=1)\n",
+ "\n",
+ " # 6, 递归生成树\n",
+ " sub_tree = self.train(sub_train_df)\n",
+ " node_tree.add_node(f, sub_tree)\n",
+ "\n",
+ " # pprint.pprint(node_tree.tree)\n",
+ " return node_tree\n",
+ "\n",
+ " def fit(self, train_data):\n",
+ " self._tree = self.train(train_data)\n",
+ " return self._tree\n",
+ "\n",
+ " def predict(self, X_test):\n",
+ " return self._tree.predict(X_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "datasets, labels = create_data()\n",
+ "data_df = pd.DataFrame(datasets, columns=labels)\n",
+ "dt = DTree()\n",
+ "tree = dt.fit(data_df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'label:': None, 'feature': 2, 'tree': {'否': {'label:': None, 'feature': 1, 'tree': {'否': {'label:': '否', 'feature': None, 'tree': {}}, '是': {'label:': '是', 'feature': None, 'tree': {}}}}, '是': {'label:': '是', 'feature': None, 'tree': {}}}}"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tree"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'是'"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "dt.predict(['老年', '否', '是', '一般'])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### scikit-learn实例"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# data\n",
+ "def create_data():\n",
+ " iris = load_iris()\n",
+ " df = pd.DataFrame(iris.data, columns=iris.feature_names)\n",
+ " df['label'] = iris.target\n",
+ " df.columns = [\n",
+ " 'sepal length', 'sepal width', 'petal length', 'petal width', 'label'\n",
+ " ]\n",
+ " data = np.array(df.iloc[:100, [0, 1, -1]])\n",
+ " # print(data)\n",
+ " return data[:, :2], data[:, -1]\n",
+ "\n",
+ "\n",
+ "X, y = create_data()\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.tree import DecisionTreeClassifier\n",
+ "from sklearn.tree import export_graphviz\n",
+ "import graphviz"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "DecisionTreeClassifier()"
+ ]
+ },
+ "execution_count": 37,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf = DecisionTreeClassifier() #X特征为连续变量\n",
+ "clf.fit(X_train, y_train,)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.9333333333333333"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clf.score(X_test, y_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "tree_pic = export_graphviz(clf, out_file=\"mytree.pdf\")\n",
+ "with open('mytree.pdf') as f:\n",
+ " dot_graph = f.read()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 44,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "graphviz.Source(dot_graph)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 第5章决策树-习题\n",
+ "\n",
+ "### 习题5.1\n",
+ "根据表5.1所给的训练数据集,利用信息增益比(C4.5算法)生成决策树。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ "\n",
+ "表5.1 贷款申请样本数据表 \n",
+ "\n",
+ "ID | 年龄 | 有工作 | 有自己的房子 | 信贷情况 | 类别\n",
+ ":-: | :-: | :-: | :-: | :-: | :-: \n",
+ "1 | 青年 | 否 | 否 | 一般 | 否\n",
+ "2 | 青年 | 否 | 否 | 好 | 否\n",
+ "3 | 青年 | 是 | 否 | 好 | 是\n",
+ "4 | 青年 | 是 | 是 | 一般 | 是\n",
+ "5 | 青年 | 否 | 否 | 一般 | 否\n",
+ "6 | 中年 | 否 | 否 | 一般 | 否\n",
+ "7 | 中年 | 否 | 否 | 好 | 否\n",
+ "8 | 中年 | 是 | 是 | 好 | 是\n",
+ "9 | 中年 | 否 | 是 | 非常好 | 是\n",
+ "10 | 中年 | 否 | 是 | 非常好 | 是\n",
+ "11 | 老年 | 否 | 是 | 非常好 | 是\n",
+ "12 | 老年 | 否 | 是 | 好 | 是\n",
+ "13 | 老年 | 是 | 否 | 好 | 是\n",
+ "14 | 老年 | 是 | 否 | 非常好 | 是\n",
+ "15 | 老年 | 否 | 否 | 一般 | 否"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X_train: 0 1 2 3\n",
+ "0 6 2 2 0\n",
+ "1 6 2 2 3\n",
+ "2 6 4 2 3\n",
+ "3 6 4 4 0\n",
+ "4 6 2 2 0\n",
+ "5 1 2 2 0\n",
+ "6 1 2 2 3\n",
+ "7 1 4 4 3\n",
+ "8 1 2 4 7\n",
+ "9 1 2 4 7\n",
+ "10 5 2 4 7\n",
+ "11 5 2 4 3\n",
+ "12 5 4 2 3\n",
+ "13 5 4 2 7\n",
+ "14 5 2 2 0\n",
+ "y_train: 0\n",
+ "0 0\n",
+ "1 0\n",
+ "2 1\n",
+ "3 1\n",
+ "4 0\n",
+ "5 0\n",
+ "6 0\n",
+ "7 1\n",
+ "8 1\n",
+ "9 1\n",
+ "10 1\n",
+ "11 1\n",
+ "12 1\n",
+ "13 1\n",
+ "14 0\n"
+ ]
+ },
+ {
+ "data": {
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 50,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from sklearn.tree import DecisionTreeClassifier\n",
+ "from sklearn import preprocessing\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "from sklearn import tree\n",
+ "import graphviz\n",
+ "\n",
+ "features = [\"年龄\", \"有工作\", \"有自己的房子\", \"信贷情况\"]\n",
+ "X_train = pd.DataFrame([\n",
+ " [\"青年\", \"否\", \"否\", \"一般\"],\n",
+ " [\"青年\", \"否\", \"否\", \"好\"],\n",
+ " [\"青年\", \"是\", \"否\", \"好\"],\n",
+ " [\"青年\", \"是\", \"是\", \"一般\"],\n",
+ " [\"青年\", \"否\", \"否\", \"一般\"],\n",
+ " [\"中年\", \"否\", \"否\", \"一般\"],\n",
+ " [\"中年\", \"否\", \"否\", \"好\"],\n",
+ " [\"中年\", \"是\", \"是\", \"好\"],\n",
+ " [\"中年\", \"否\", \"是\", \"非常好\"],\n",
+ " [\"中年\", \"否\", \"是\", \"非常好\"],\n",
+ " [\"老年\", \"否\", \"是\", \"非常好\"],\n",
+ " [\"老年\", \"否\", \"是\", \"好\"],\n",
+ " [\"老年\", \"是\", \"否\", \"好\"],\n",
+ " [\"老年\", \"是\", \"否\", \"非常好\"],\n",
+ " [\"老年\", \"否\", \"否\", \"一般\"]\n",
+ "])\n",
+ "y_train = pd.DataFrame([\"否\", \"否\", \"是\", \"是\", \"否\", \n",
+ " \"否\", \"否\", \"是\", \"是\", \"是\", \n",
+ " \"是\", \"是\", \"是\", \"是\", \"否\"])\n",
+ "# 数据预处理\n",
+ "le_x = preprocessing.LabelEncoder() #将X特征编码为连续变量\n",
+ "le_x.fit(np.unique(X_train))\n",
+ "X_train = X_train.apply(le_x.transform)\n",
+ "print(\"X_train: \", X_train)\n",
+ "le_y = preprocessing.LabelEncoder()\n",
+ "le_y\n",
+ "le_y.fit(np.unique(y_train))\n",
+ "y_train = y_train.apply(le_y.transform)\n",
+ "print(\"y_train: \", y_train)\n",
+ "# 调用sklearn.DT建立训练模型\n",
+ "model_tree = DecisionTreeClassifier() #需要X特征为连续变量\n",
+ "model_tree.fit(X_train, y_train)\n",
+ "\n",
+ "# 可视化\n",
+ "dot_data = tree.export_graphviz(model_tree, out_file=None,\n",
+ " feature_names=features,\n",
+ " class_names=[str(k) for k in np.unique(y_train)],\n",
+ " filled=True, rounded=True,\n",
+ " special_characters=True)\n",
+ "graph = graphviz.Source(dot_data)\n",
+ "graph"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 习题5.2\n",
+ " 已知如表5.2所示的训练数据,试用平方误差损失准则生成一个二叉回归树。 \n",
+ "表5.2 训练数据表 \n",
+ "\n",
+ "| $x_i$ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | \n",
+ "| - | - | - | - | - | - | - | - | - | - | - | \n",
+ "| $y_i$ | 4.50 | 4.75 | 4.91 | 5.34 | 5.80 | 7.05 | 7.90 | 8.23 | 8.70 | 9.00"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ " 决策树的生成就是递归地构建二叉决策树的过程,对回归树用平方误差最小化准则,对分类树用基尼指数(Gini index)最小化准则,进行特征选择,生成二叉树。 \n",
+ "> 算法5.5(最小二乘回归树生成算法) \n",
+ "输入:训练数据集$D$ \n",
+ "输出:回归树$f(x)$ \n",
+ "在训练数据集所在的输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树; \n",
+ "(1)选择最优切分变量$j$与切分点$s$,求解$$\\min_{j,s} \\left[ \\min_{c_1} \\sum_{x_i \\in R_1(j,s)} (y_i - c_1)^2 + \\min_{c_2} \\sum_{x_i \\in R_2(j,s)} (y_i - c_2)^2\\right]$$遍历变量$j$,对固定的切分变量$j$扫描切分点$s$,选择使得上式达到最小值的对$(j,s)$ \n",
+ "(2)用选定的对$(j,s)$划分区域并决定相应的输出值:$$R_1(j,s)=\\{x|x^{(j)}\\leqslant s\\}, R_2(j,s)=\\{x|x^{(j)} > s\\} \\\\ \n",
+ "\\hat{c_m} = \\frac{1}{N_m} \\sum_{x_i \\in R_m(j,s)} y_i, x \\in R_m, m=1,2 $$\n",
+ "(3)继续对两个子区域调用步骤(1),(2),直至满足停止条件 \n",
+ "(4)将输入空间划分为$M$个区域$R_1,R_2,\\cdots,R_M$,生成决策树:$$f(x)=\\sum_{m=1}^M \\hat{c_m} I(x \\in R_m)$$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "class LeastSqRTree:\n",
+ " def __init__(self, train_X, y, epsilon):\n",
+ " # 训练集特征值\n",
+ " self.x = train_X\n",
+ " # 类别\n",
+ " self.y = y\n",
+ " # 特征总数\n",
+ " self.feature_count = train_X.shape[1]\n",
+ " # 损失阈值\n",
+ " self.epsilon = epsilon\n",
+ " # 回归树\n",
+ " self.tree = None\n",
+ "\n",
+ " def _fit(self, x, y, feature_count, epsilon):\n",
+ " # 选择最优切分点变量j与切分点s\n",
+ " (j, s, minval, c1, c2) = self._divide(x, y, feature_count)\n",
+ " # 初始化树\n",
+ " tree = {\"feature\": j, \"value\": x[s, j], \"left\": None, \"right\": None}\n",
+ " # 如果平方误差小于epsilon 或者\n",
+ " if minval < self.epsilon or len(y[np.where(x[:, j] <= x[s, j])]) <= 1:\n",
+ " tree[\"left\"] = c1\n",
+ " else:\n",
+ " tree[\"left\"] = self._fit(x[np.where(x[:, j] <= x[s, j])],\n",
+ " y[np.where(x[:, j] <= x[s, j])],\n",
+ " self.feature_count, self.epsilon)\n",
+ " if minval < self.epsilon or len(y[np.where(x[:, j] > x[s, j])]) <= 1:\n",
+ " tree[\"right\"] = c2\n",
+ " else:\n",
+ " tree[\"right\"] = self._fit(x[np.where(x[:, j] > x[s, j])],\n",
+ " y[np.where(x[:, j] > x[s, j])],\n",
+ " self.feature_count, self.epsilon)\n",
+ " return tree\n",
+ "\n",
+ " def fit(self):\n",
+ " self.tree = self._fit(self.x, self.y, self.feature_count, self.epsilon)\n",
+ "\n",
+ " @staticmethod\n",
+ " def _divide(x, y, feature_count):\n",
+ " # 初始化损失误差\n",
+ " cost = np.zeros((feature_count, len(x)))\n",
+ " # 公式5.21\n",
+ " for i in range(feature_count):\n",
+ " for k in range(len(x)):\n",
+ " # k行i列的特征值\n",
+ " value = x[k, i]\n",
+ " y1 = y[np.where(x[:, i] <= value)]\n",
+ " c1 = np.mean(y1)\n",
+ " y2 = y[np.where(x[:, i] > value)]\n",
+ " c2 = np.mean(y2)\n",
+ " y1[:] = y1[:] - c1\n",
+ " y2[:] = y2[:] - c2\n",
+ " cost[i, k] = np.sum(y1 * y1) + np.sum(y2 * y2)\n",
+ " # 选取最优损失误差点\n",
+ " cost_index = np.where(cost == np.min(cost))\n",
+ " # 选取第几个特征值\n",
+ " j = cost_index[0][0]\n",
+ " # 选取特征值的切分点\n",
+ " s = cost_index[1][0]\n",
+ " # 求两个区域的均值c1,c2\n",
+ " c1 = np.mean(y[np.where(x[:, j] <= x[s, j])])\n",
+ " c2 = np.mean(y[np.where(x[:, j] > x[s, j])])\n",
+ " return j, s, cost[cost_index], c1, c2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'feature': 0,\n",
+ " 'value': 5,\n",
+ " 'left': {'feature': 0, 'value': 3, 'left': 4.72, 'right': 5.57},\n",
+ " 'right': {'feature': 0,\n",
+ " 'value': 7,\n",
+ " 'left': {'feature': 0, 'value': 6, 'left': 7.05, 'right': 7.9},\n",
+ " 'right': {'feature': 0, 'value': 8, 'left': 8.23, 'right': 8.85}}}"
+ ]
+ },
+ "execution_count": 58,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "train_X = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]).T\n",
+ "y = np.array([4.50, 4.75, 4.91, 5.34, 5.80, 7.05, 7.90, 8.23, 8.70, 9.00])\n",
+ "\n",
+ "model_tree = LeastSqRTree(train_X, y, .2)\n",
+ "model_tree.fit()\n",
+ "model_tree.tree"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "根据上面程序的输出,可得到用平方误差损失准则生成一个二叉回归树:$$f(x)=\\begin{cases}\n",
+ "4.72 & x \\le 3\\\\\n",
+ "5.57 & 3 < x \\le 5\\\\\n",
+ "7.05 & 5 < x \\le 6\\\\\n",
+ "7.9 & 6 < x \\le 7 \\\\\n",
+ "8.23 & 7 < x \\le 8\\\\\n",
+ "8.85 & x > 8\\\\\n",
+ "\\end{cases}$$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 习题5.3\n",
+ "\n",
+ " 证明 CART 剪枝算法中,当$\\alpha$确定时,存在唯一的最小子树$T_{\\alpha}$使损失函数$C_{\\alpha}(T)$最小。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ "**第1步:**内部节点是否剪枝只与以该节点为根节点的子树有关。 \n",
+ "剪枝过程: \n",
+ "计算子树的损失函数:$$C_{\\alpha}(T)=C(T)+\\alpha$$其中,$\\displaystyle C(T) = \\sum_{t=1}^{|T|}N_t (1 - \\sum_{k=1}^K (\\frac{N_{tk}}{N_t})^2)$,$|T|$是叶结点个数,$K$是类别个数。 \n",
+ "有剪枝前子树$T_0$,剪枝后子树$T_1$,满足$C_{\\alpha}(T_1) \\leqslant C_{\\alpha}(T_0)$则进行剪枝。 \n",
+ "\n",
+ "----\n",
+ "\n",
+ "**第2步(反证法):**假设当$\\alpha$确定时,存在两颗子树$T_1,T_2$都使得损失函数$C_{\\alpha}$最小。 \n",
+ "第1种情况:假设被剪枝的子树在同一边,易知其中一个子树会由另一个子树剪枝而得到,故不可能存在两个最优子树,原结论得证。 \n",
+ "第2种情况:假设被剪枝的子树不在同一边,易知被剪枝掉的子树都可以使损失函数$C_{\\alpha}$最小,故两颗子树都可以继续剪枝,故不可能存在两个最优子树,原结论得证。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 习题5.4\n",
+ "\n",
+ " 证明 CART 剪枝算法中求出的子树序列$\\{T_0,T_1,\\cdots,T_n\\}$分别是区间$\\alpha \\in [\\alpha_i,\\alpha_{i+1})$的最优子树$T_{\\alpha}$,这里$i=0,1,\\cdots,n,0=\\alpha_0 < \\alpha_1 < \\cdots, \\alpha_n < +\\infty$。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**解答:** \n",
+ "原结论可以表述为:将$\\alpha$从小增大,$0=\\alpha_0<\\alpha_1<\\cdots<\\alpha_n < +\\infty$,在每个区间$[\\alpha_i,\\alpha_{i+1})$中,子树$T_i$是这个区间里最优的。 \n",
+ "**第1步:**易证,当$\\alpha=0$时,整棵树$T_0$是最优的,当$\\alpha \\rightarrow +\\infty$时,根结点组成的单结点树(即$T_n$)是最优的。\n",
+ "\n",
+ "----\n",
+ "\n",
+ "**第2步:** \n",
+ " 由于每次剪枝剪的都是某个内部结点的子结点,也就是将某个内部结点的所有子结点回退到这个内部结点里,并将这个内部结点作为叶子结点。因此在计算整体的损失函数时,这个内部结点以外的值都没变,只有这个内部结点的局部损失函数改变了,因此本来需要计算全局的损失函数,但现在只需要计算内部结点剪枝前和剪枝后的损失函数。 \n",
+ "从整体树$T_0$开始剪枝,对$T_0$的任意内部结点$t$ \n",
+ "剪枝前的状态:有$|T_t|$个叶子结点,预测误差是$C(T_t)$ \n",
+ "剪枝后的状态:只有本身一个叶子结点,预测误差是$C(t)$\n",
+ "因此剪枝前的以$t$结点为根结点的子树的损失函数是$$C_{\\alpha}(T_t) = C(T_t) + \\alpha|T_t|$$剪枝后的损失函数是$$C_{\\alpha}(t) = C(t) + \\alpha$$易得,一定存在一个$\\alpha$使得$C_{\\alpha}(T_t) = C_{\\alpha}(t)$,这个值为$$\\alpha=\\frac{C(t)-C(T_t)}{|T_t|-1}$$可知,找到$\\alpha$即找到了子结点$t$,即完成了剪枝,得到最优子树$T_1$ \n",
+ "根据书中第73页,采用以下公式计算剪枝后整体损失函数减少的程度:$$g(t)=\\frac{C(t)-C(T_t)}{|T_t|-1}$$在$T_0$中剪去$g(t)$最小的$T_t$,将得到的子树作为$T_1$,同时将最小的$g(t)$设为$\\alpha_1$,$T_1$为区间$[\\alpha_1,\\alpha_2)$的最优子树。 \n",
+ "依次类推,子树$T_i$是区间$[\\alpha_i,\\alpha_{i+1})$里最优的,原结论得证。\n",
+ "\n",
+ "----\n",
+ "\n",
+ "**参考文献:** \n",
+ "1. MrTriste:https://blog.csdn.net/wjc1182511338/article/details/76793164\n",
+ "2. http://www.pianshen.com/article/1752163397/\n",
+ "\n",
+ "----\n",
+ "\n",
+ "**讨论:**为什么$\\alpha$要取最小的$g(t)$呢? \n",
+ "
\n",
+ "
图5.1 最小的$g(t)$
\n",
+ " 以图中两个点为例,结点1和结点2,$g(t)_2$大于$g(t)_1$,假设在所有结点中$g(t)_1$最小,$g(t)_2$最大,两种选择方法:当选择最大值$g(t)_2$,即结点2进行剪枝,但此时结点1的剪枝前的误差大于剪枝后的误差,即如果不剪枝,误差变大,依次类推,对其它所有的结点的$g(t)$都是如此,从而造成整体的累计误差更大。反之,如果选择最小值$g(t)_1$,即结点1进行剪枝,则其余结点不剪的误差要小于剪枝后的误差,不剪枝为好,且整体的误差最小。从而以最小$g(t)$剪枝获得的子树是该$\\alpha$值下的最优子树。"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "----\n",
+ "参考代码:https://github.com/wzyonggege/statistical-learning-method\n",
+ "\n",
+ "本文代码更新地址:https://github.com/fengdu78/lihang-code\n",
+ "\n",
+ "习题解答:https://github.com/datawhalechina/statistical-learning-method-solutions-manual\n",
+ "\n",
+ "中文注释制作:机器学习初学者公众号:ID:ai-start-com\n",
+ "\n",
+ "配置环境:python 3.5+\n",
+ "\n",
+ "代码全部测试通过。\n",
+ "![gongzhong](../gongzhong.jpg)"
+ ]
+ }
+ ],
+ "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.8.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git "a/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/5.DecisonTree.ipynb" "b/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/5.DecisonTree.ipynb"
index fced97d..4f862a4 100644
--- "a/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/5.DecisonTree.ipynb"
+++ "b/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/5.DecisonTree.ipynb"
@@ -34,10 +34,11 @@
"(2)样本集合$D$对特征$A$的信息增益比(C4.5)\n",
"\n",
"\n",
- "$$g_{R}(D, A)=\\frac{g(D, A)}{H(D)}$$\n",
+ "$$g_{R}(D, A)=\\frac{g(D, A)}{H_A(D)}$$\n",
"\n",
+ "$$H_A(D)=\\sum_{i=1}^{n} \\frac{\\left|D_{i}\\right|}{|D|}\\log _{2} \\frac{\\left|D_{i}\\right|}{|D|} $$\n",
"\n",
- "其中,$g(D,A)$是信息增益,$H(D)$是数据集$D$的熵。\n",
+ "其中,$g(D,A)$是信息增益,$H_A(D)$是 D 关于特征 A 的值的熵。\n",
"\n",
"(3)样本集合$D$的基尼指数(CART)\n",
"\n",
@@ -313,7 +314,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
@@ -329,13 +330,6 @@
" ent = -sum([(p / data_length) * log(p / data_length, 2)\n",
" for p in label_count.values()])\n",
" return ent\n",
- "# def entropy(y):\n",
- "# \"\"\"\n",
- "# Entropy of a label sequence\n",
- "# \"\"\"\n",
- "# hist = np.bincount(y)\n",
- "# ps = hist / np.sum(hist)\n",
- "# return -np.sum([p * np.log2(p) for p in ps if p > 0])\n",
"\n",
"\n",
"# 经验条件熵\n",
@@ -360,7 +354,6 @@
"def info_gain_train(datasets):\n",
" count = len(datasets[0]) - 1\n",
" ent = calc_ent(datasets)\n",
- "# ent = entropy(datasets)\n",
" best_feature = []\n",
" for c in range(count):\n",
" c_info_gain = info_gain(ent, cond_ent(datasets, axis=c))\n",
@@ -373,7 +366,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 9,
"metadata": {},
"outputs": [
{
@@ -392,7 +385,7 @@
"'特征(有自己的房子)的信息增益最大,选择为根节点特征'"
]
},
- "execution_count": 7,
+ "execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
@@ -414,7 +407,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
@@ -549,7 +542,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
@@ -561,7 +554,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 15,
"metadata": {
"scrolled": true
},
@@ -572,7 +565,7 @@
"{'label:': None, 'feature': 2, 'tree': {'否': {'label:': None, 'feature': 1, 'tree': {'否': {'label:': '否', 'feature': None, 'tree': {}}, '是': {'label:': '是', 'feature': None, 'tree': {}}}}, '是': {'label:': '是', 'feature': None, 'tree': {}}}}"
]
},
- "execution_count": 10,
+ "execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
@@ -583,22 +576,22 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "'否'"
+ "'是'"
]
},
- "execution_count": 11,
+ "execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "dt.predict(['老年', '否', '否', '一般'])"
+ "dt.predict(['老年', '否', '是', '一般'])"
]
},
{
@@ -610,7 +603,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
@@ -633,7 +626,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
@@ -644,7 +637,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 37,
"metadata": {},
"outputs": [
{
@@ -653,28 +646,28 @@
"DecisionTreeClassifier()"
]
},
- "execution_count": 14,
+ "execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "clf = DecisionTreeClassifier()\n",
+ "clf = DecisionTreeClassifier() #X特征为连续变量\n",
"clf.fit(X_train, y_train,)"
]
},
{
"cell_type": "code",
- "execution_count": 15,
+ "execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "0.9666666666666667"
+ "0.9333333333333333"
]
},
- "execution_count": 15,
+ "execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
@@ -685,7 +678,7 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
@@ -696,140 +689,186 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
- "\r\n",
- "\r\n",
- "\r\n",
- "\r\n",
- "\r\n"
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
],
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 17,
+ "execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
@@ -877,95 +916,142 @@
},
{
"cell_type": "code",
- "execution_count": 18,
+ "execution_count": 50,
"metadata": {},
"outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "X_train: 0 1 2 3\n",
+ "0 6 2 2 0\n",
+ "1 6 2 2 3\n",
+ "2 6 4 2 3\n",
+ "3 6 4 4 0\n",
+ "4 6 2 2 0\n",
+ "5 1 2 2 0\n",
+ "6 1 2 2 3\n",
+ "7 1 4 4 3\n",
+ "8 1 2 4 7\n",
+ "9 1 2 4 7\n",
+ "10 5 2 4 7\n",
+ "11 5 2 4 3\n",
+ "12 5 4 2 3\n",
+ "13 5 4 2 7\n",
+ "14 5 2 2 0\n",
+ "y_train: 0\n",
+ "0 0\n",
+ "1 0\n",
+ "2 1\n",
+ "3 1\n",
+ "4 0\n",
+ "5 0\n",
+ "6 0\n",
+ "7 1\n",
+ "8 1\n",
+ "9 1\n",
+ "10 1\n",
+ "11 1\n",
+ "12 1\n",
+ "13 1\n",
+ "14 0\n"
+ ]
+ },
{
"data": {
"image/svg+xml": [
- "\r\n",
- "\r\n",
- "\r\n",
- "\r\n",
- "\r\n"
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
],
"text/plain": [
- ""
+ ""
]
},
- "execution_count": 18,
+ "execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
@@ -1001,14 +1087,17 @@
" \"否\", \"否\", \"是\", \"是\", \"是\", \n",
" \"是\", \"是\", \"是\", \"是\", \"否\"])\n",
"# 数据预处理\n",
- "le_x = preprocessing.LabelEncoder()\n",
+ "le_x = preprocessing.LabelEncoder() #将X特征编码为连续变量\n",
"le_x.fit(np.unique(X_train))\n",
"X_train = X_train.apply(le_x.transform)\n",
+ "print(\"X_train: \", X_train)\n",
"le_y = preprocessing.LabelEncoder()\n",
+ "le_y\n",
"le_y.fit(np.unique(y_train))\n",
"y_train = y_train.apply(le_y.transform)\n",
+ "print(\"y_train: \", y_train)\n",
"# 调用sklearn.DT建立训练模型\n",
- "model_tree = DecisionTreeClassifier()\n",
+ "model_tree = DecisionTreeClassifier() #需要X特征为连续变量\n",
"model_tree.fit(X_train, y_train)\n",
"\n",
"# 可视化\n",
@@ -1053,7 +1142,7 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": 57,
"metadata": {},
"outputs": [],
"source": [
@@ -1078,13 +1167,14 @@
" (j, s, minval, c1, c2) = self._divide(x, y, feature_count)\n",
" # 初始化树\n",
" tree = {\"feature\": j, \"value\": x[s, j], \"left\": None, \"right\": None}\n",
+ " # 如果平方误差小于epsilon 或者\n",
" if minval < self.epsilon or len(y[np.where(x[:, j] <= x[s, j])]) <= 1:\n",
" tree[\"left\"] = c1\n",
" else:\n",
" tree[\"left\"] = self._fit(x[np.where(x[:, j] <= x[s, j])],\n",
" y[np.where(x[:, j] <= x[s, j])],\n",
" self.feature_count, self.epsilon)\n",
- " if minval < self.epsilon or len(y[np.where(x[:, j] > s)]) <= 1:\n",
+ " if minval < self.epsilon or len(y[np.where(x[:, j] > x[s, j])]) <= 1:\n",
" tree[\"right\"] = c2\n",
" else:\n",
" tree[\"right\"] = self._fit(x[np.where(x[:, j] > x[s, j])],\n",
@@ -1125,19 +1215,9 @@
},
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 58,
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\numpy\\core\\fromnumeric.py:3335: RuntimeWarning: Mean of empty slice.\n",
- " out=out, **kwargs)\n",
- "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\numpy\\core\\_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n",
- " ret = ret.dtype.type(ret / rcount)\n"
- ]
- },
{
"data": {
"text/plain": [
@@ -1150,7 +1230,7 @@
" 'right': {'feature': 0, 'value': 8, 'left': 8.23, 'right': 8.85}}}"
]
},
- "execution_count": 20,
+ "execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
@@ -1282,7 +1362,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.6"
+ "version": "3.8.3"
}
},
"nbformat": 4,
diff --git "a/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/mytree.pdf" "b/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/mytree.pdf"
index a3b5149..f0be410 100644
Binary files "a/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/mytree.pdf" and "b/\347\254\25405\347\253\240 \345\206\263\347\255\226\346\240\221/mytree.pdf" differ
diff --git "a/\347\254\25406\347\253\240 \351\200\273\350\276\221\346\226\257\350\260\233\345\233\236\345\275\222/.ipynb_checkpoints/6.LogisticRegression-checkpoint.ipynb" "b/\347\254\25406\347\253\240 \351\200\273\350\276\221\346\226\257\350\260\233\345\233\236\345\275\222/.ipynb_checkpoints/6.LogisticRegression-checkpoint.ipynb"
new file mode 100644
index 0000000..276668d
--- /dev/null
+++ "b/\347\254\25406\347\253\240 \351\200\273\350\276\221\346\226\257\350\260\233\345\233\236\345\275\222/.ipynb_checkpoints/6.LogisticRegression-checkpoint.ipynb"
@@ -0,0 +1,2208 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 第6章 逻辑斯谛回归"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "逻辑斯谛回归(LR)是经典的分类方法\n",
+ "\n",
+ "1.逻辑斯谛回归模型是由以下条件概率分布表示的分类模型。逻辑斯谛回归模型可以用于二类或多类分类。\n",
+ "\n",
+ "$$P(Y=k | x)=\\frac{\\exp \\left(w_{k} \\cdot x\\right)}{1+\\sum_{k=1}^{K-1} \\exp \\left(w_{k} \\cdot x\\right)}, \\quad k=1,2, \\cdots, K-1$$\n",
+ "\n",
+ "$$P(Y=K | x)=\\frac{1}{1+\\sum_{k=1}^{K-1} \\exp \\left(w_{k} \\cdot x\\right)}$$\n",
+ "这里,$x$为输入特征,$w$为特征的权值。\n",
+ "\n",
+ "逻辑斯谛回归模型源自逻辑斯谛分布,其分布函数$F(x)$是$S$形函数。逻辑斯谛回归模型是由输入的线性函数表示的输出的对数几率模型。\n",
+ "\n",
+ "二分类的似然函数:\n",
+ "$$L(w)=\\prod[p(x_{i})]^{y_{i}}[1-p(x_{i})]^{1-y_{i}}$$\n",
+ "取平均对数似然函数,得到损失函数:\n",
+ "$$J(w) = -\\frac{1}{n}(\\sum_{i=1}^n(y_ilnp(x_i)+(1-y_i)ln(1-p(x_i)))$$\n",
+ "可以通过梯度下降法或牛顿法来进行极大似然估计,估计模型参数;\n",
+ "梯度下降法是通过 J(w) 对 w 的一阶导数来找下降方向,并且以迭代的方式来更新参数,更新方式为:\n",
+ "$$g_i = \\frac{\\partial J(w)} {\\partial w_i} =(p(x_i)-y_i)x_i \\\\ w^{k+1}_i=w^k_i-\\alpha g_i$$\n",
+ "其中 k 为迭代次数。每次更新参数后,可以通过比较 $||J(w^{k+1})−J(w^k)||$小于阈值或者到达最大迭代次数来停止迭代。\n",
+ "\n",
+ "2.最大熵模型是由以下条件概率分布表示的分类模型。最大熵模型也可以用于二类或多类分类。\n",
+ "\n",
+ "$$P_{w}(y | x)=\\frac{1}{Z_{w}(x)} \\exp \\left(\\sum_{i=1}^{n} w_{i} f_{i}(x, y)\\right)$$\n",
+ "$$Z_{w}(x)=\\sum_{y} \\exp \\left(\\sum_{i=1}^{n} w_{i} f_{i}(x, y)\\right)$$\n",
+ "\n",
+ "其中,$Z_w(x)$是规范化因子,$f_i$为特征函数,$w_i$为特征的权值。\n",
+ "\n",
+ "3.最大熵模型可以由最大熵原理推导得出。最大熵原理是概率模型学习或估计的一个准则。最大熵原理认为在所有可能的概率模型(分布)的集合中,熵最大的模型是最好的模型。\n",
+ "\n",
+ "最大熵原理应用到分类模型的学习中,有以下约束最优化问题:\n",
+ "\n",
+ "$$\\min -H(P)=\\sum_{x, y} \\tilde{P}(x) P(y | x) \\log P(y | x)$$\n",
+ "\n",
+ "$$s.t. \\quad P\\left(f_{i}\\right)-\\tilde{P}\\left(f_{i}\\right)=0, \\quad i=1,2, \\cdots, n$$\n",
+ " \n",
+ " $$\\sum_{y} P(y | x)=1$$\n",
+ " \n",
+ "求解此最优化问题的对偶问题得到最大熵模型。\n",
+ "\n",
+ "4.逻辑斯谛回归模型与最大熵模型都属于对数线性模型。\n",
+ "\n",
+ "5.逻辑斯谛回归模型及最大熵模型学习一般采用极大似然估计,或正则化的极大似然估计。逻辑斯谛回归模型及最大熵模型学习可以形式化为无约束最优化问题。求解该最优化问题的算法有改进的迭代尺度法、梯度下降法、拟牛顿法。\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "回归模型:$f(x) = \\frac{1}{1+e^{-wx}}$\n",
+ "\n",
+ "其中wx线性函数:$wx =w_0\\cdot x_0 + w_1\\cdot x_1 + w_2\\cdot x_2 +...+w_n\\cdot x_n,(x_0=1)$\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from math import exp\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "\n",
+ "from sklearn.datasets import load_iris\n",
+ "from sklearn.model_selection import train_test_split"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# data\n",
+ "def create_data():\n",
+ " iris = load_iris()\n",
+ " df = pd.DataFrame(iris.data, columns=iris.feature_names)\n",
+ " df['label'] = iris.target\n",
+ " df.columns = ['sepal length', 'sepal width', 'petal length', 'petal width', 'label']\n",
+ " data = np.array(df.iloc[:100, [0,1,-1]])\n",
+ " # print(data)\n",
+ " return data[:,:2], data[:,-1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X, y = create_data()\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "class LogisticReressionClassifier:\n",
+ " def __init__(self, max_iter=200, learning_rate=0.01):\n",
+ " self.max_iter = max_iter\n",
+ " self.learning_rate = learning_rate\n",
+ "\n",
+ " def sigmoid(self, x):\n",
+ " return 1 / (1 + exp(-x))\n",
+ "\n",
+ " def data_matrix(self, X):\n",
+ " data_mat = []\n",
+ " for d in X:\n",
+ " data_mat.append([1.0, *d])\n",
+ " return data_mat\n",
+ "\n",
+ " def fit(self, X, y):\n",
+ " # label = np.mat(y)\n",
+ " data_mat = self.data_matrix(X) # m*n\n",
+ " self.weights = np.zeros((len(data_mat[0]), 1), dtype=np.float32)\n",
+ " # 梯度下降法\n",
+ " for iter_ in range(self.max_iter):\n",
+ " for i in range(len(X)):\n",
+ " result = self.sigmoid(np.dot(data_mat[i], self.weights))\n",
+ " error = y[i] - result\n",
+ " self.weights += self.learning_rate * error * np.transpose(\n",
+ " [data_mat[i]])\n",
+ " print('LogisticRegression Model(learning_rate={},max_iter={})'.format(\n",
+ " self.learning_rate, self.max_iter))\n",
+ "\n",
+ " # def f(self, x):\n",
+ " # return -(self.weights[0] + self.weights[1] * x) / self.weights[2]\n",
+ "\n",
+ " def score(self, X_test, y_test):\n",
+ " right = 0\n",
+ " X_test = self.data_matrix(X_test)\n",
+ " for x, y in zip(X_test, y_test):\n",
+ " result = np.dot(x, self.weights)\n",
+ " if (result > 0 and y == 1) or (result < 0 and y == 0):\n",
+ " right += 1\n",
+ " return right / len(X_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "LogisticRegression Model(learning_rate=0.01,max_iter=200)\n"
+ ]
+ }
+ ],
+ "source": [
+ "lr_clf = LogisticReressionClassifier()\n",
+ "lr_clf.fit(X_train, y_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1.0"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "lr_clf.score(X_test, y_test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "