{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 6.2 2次元入力2クラス分類" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6.2.1 問題設定" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "np.random.seed(seed=1) \n", "N = 100 \n", "K = 3\n", "T3 = np.zeros((N, 3), dtype=np.uint8)\n", "T2 = np.zeros((N, 2), dtype=np.uint8)\n", "X = np.zeros((N, 2))\n", "X_range0 = [-3, 3]\n", "X_range1 = [-3, 3]\n", "Mu = np.array([[-.5, -.5], [.5, 1.0], [1, -.5]]) \n", "Sig = np.array([[.7, .7], [.8, .3], [.3, .8]]) \n", "Pi = np.array([0.4, 0.8, 1]) \n", "for n in range(N):\n", " wk = np.random.rand()\n", " for k in range(K):\n", " if wk < Pi[k]:\n", " T3[n, k] = 1\n", " break\n", " for k in range(2):\n", " X[n, k] = (np.random.randn() * Sig[T3[n, :] == 1, k]\n", " + Mu[T3[n, :] == 1, k])\n", "T2[:, 0] = T3[:, 0]\n", "T2[:, 1] = T3[:, 1] | T3[:, 2] " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.14173827 0.86533666]\n", " [-0.86972023 -1.25107804]\n", " [-2.15442802 0.29474174]\n", " [ 0.75523128 0.92518889]\n", " [-1.10193462 0.74082534]]\n" ] } ], "source": [ "print(X[:5,:])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0 1]\n", " [1 0]\n", " [1 0]\n", " [0 1]\n", " [1 0]]\n" ] } ], "source": [ "print(T2[:5,:])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " '1'となってる列番号がクラスを表す.\n", "\n", "上記の例なら,1,0,0,1,0\n", "\n", "このように,目的変数ベクトル$t_n$のk番目の要素を1とする方法を,**1-of-K 符号化法**という." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0 1 0]\n", " [1 0 0]\n", " [1 0 0]\n", " [0 1 0]\n", " [1 0 0]]\n" ] } ], "source": [ "print(T3[:5,:])#3クラス分類" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "def show_data2(x, t):\n", " wk, K = t.shape\n", " c = [[.5, .5, .5], [1, 1, 1], [0, 0, 0]]\n", " for k in range(K):\n", " plt.plot(x[t[:, k] == 1, 0], x[t[:, k] == 1, 1],\n", " linestyle='none', markeredgecolor='black',\n", " marker='o', color=c[k], alpha=0.8)\n", " plt.grid(True)" ] }, { "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": [ "plt.figure(figsize=(7.5,3))\n", "plt.subplots_adjust(wspace=0.5)\n", "plt.subplot(1, 2, 1)\n", "show_data2(X, T2)\n", "plt.xlim(X_range0)\n", "plt.ylim(X_range1)\n", "\n", "plt.subplot(1, 2, 2)\n", "show_data2(X, T3)\n", "plt.xlim(X_range0)\n", "plt.ylim(X_range1)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6.2.2 ロジスティック回帰モデル" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1次元バージョンから2次元に拡張する.\n", "\n", "$$\n", "y=\\sigma(a)\\\\\n", "a=w_0x_0+w_1x_1+w_2\n", "$$\n", "\n", "モデルの出力yは,クラスが0である確率$P(t=0|x)$を近似するものとする." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "def logistic2(x0, x1, w):\n", " y = 1 / (1 + np.exp(-(w[0] * x0 + w[1] * x1 + w[2])))\n", " return y" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "from mpl_toolkits.mplot3d import axes3d" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "def show3d_logistic2(ax, w):\n", " xn = 50\n", " x0 = np.linspace(X_range0[0], X_range0[1], xn)\n", " x1 = np.linspace(X_range1[0], X_range1[1], xn)\n", " xx0, xx1 = np.meshgrid(x0, x1)\n", " y = logistic2(xx0, xx1, w)\n", " ax.plot_surface(xx0, xx1, y, color='blue', edgecolor='gray',\n", " rstride=5, cstride=5, alpha=0.3)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "def show_data2_3d(ax, x, t):\n", " c = [[.5, .5, .5], [1, 1, 1]]\n", " for i in range(2):\n", " ax.plot(x[t[:, i] == 1, 0], x[t[:, i] == 1, 1], 1 - i,\n", " marker='o', color=c[i], markeredgecolor='black',\n", " linestyle='none', markersize=5, alpha=0.8)\n", " ax.view_init(elev=25, azim=-30)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Ax = plt.subplot(1, 1, 1, projection='3d')\n", "W=[-1, -1, -1] #w0,w1,w2\n", "show3d_logistic2(Ax, W)\n", "show_data2_3d(Ax,X,T2)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "def show_contour_logistic2(w):\n", " xn = 30 \n", " x0 = np.linspace(X_range0[0], X_range0[1], xn)\n", " x1 = np.linspace(X_range1[0], X_range1[1], xn)\n", " xx0, xx1 = np.meshgrid(x0, x1)\n", " y = logistic2(xx0, xx1, w)\n", " cont = plt.contour(xx0, xx1, y, levels=(0.2, 0.5, 0.8),\n", " colors=['k', 'cornflowerblue', 'k'])\n", " cont.clabel(fmt='%.1f', fontsize=10)\n", " plt.grid(True)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(3,3))\n", "W=[-1, -1, -1]\n", "show_contour_logistic2(W)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "モデルの平均交差エントロピー誤差の式は1次元入力の時と同じものが使える.\n", "\n", "$$\n", "E(w)=-\\frac{1}{N}\\log P(T|X)=-\\frac{1}{N}\\sum^{N-1}_{n=0}\\{t_n\\log y_n+(1-t_n)\\log (1-y_n)\\}\n", "$$\n", "\n", "Tの0列目$T_{n0}$を$t_n$とおいて,1ならばクラス0,0ならばクラス1として扱う." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "def cee_logistic2(w, x, t):\n", " X_n = x.shape[0]\n", " y = logistic2(x[:, 0], x[:, 1], w)\n", " cee = 0\n", " for n in range(len(y)):\n", " cee = cee - (t[n, 0] * np.log(y[n]) +\n", " (1 - t[n, 0]) * np.log(1 - y[n]))\n", " cee = cee / X_n\n", " return cee" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "パラメータの偏微分は以下のようになる.\n", "\n", "$$\n", "\\frac{\\partial E}{\\partial w_0}=\\frac{1}{N}\\sum^{N-1}_{n=0}(y_n-t_n)x_{n0}\\\\\n", "\\frac{\\partial E}{\\partial w_1}=\\frac{1}{N}\\sum^{N-1}_{n=0}(y_n-t_n)x_{n1}\\\\\n", "\\frac{\\partial E}{\\partial w_2}=\\frac{1}{N}\\sum^{N-1}_{n=0}(y_n-t_n)\n", "$$" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "def dcee_logistic2(w, x, t):\n", " X_n=x.shape[0]\n", " y = logistic2(x[:, 0], x[:, 1], w)\n", " dcee = np.zeros(3)\n", " for n in range(len(y)):\n", " dcee[0] = dcee[0] + (y[n] - t[n, 0]) * x[n, 0]\n", " dcee[1] = dcee[1] + (y[n] - t[n, 0]) * x[n, 1]\n", " dcee[2] = dcee[2] + (y[n] - t[n, 0])\n", " dcee = dcee / X_n\n", " return dcee" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.10272008, 0.04450983, -0.06307245])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "W=[-1, -1, -1]\n", "dcee_logistic2(W, X, T2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "平均交差エントロピー誤差を最小にするパラメータを求めて,結果を表示する." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "from scipy.optimize import minimize" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "def fit_logistic2(w_init, x, t):\n", " res = minimize(cee_logistic2, w_init, args=(x, t),\n", " jac=dcee_logistic2, method=\"CG\")\n", " return res.x" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "w0 = -3.70, w1 = -2.54, w2 = -0.28\n", "CEE = 0.22\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(1, figsize=(7, 3))\n", "plt.subplots_adjust(wspace=0.5)\n", "\n", "Ax = plt.subplot(1, 2, 1, projection='3d')\n", "W_init = [-1, 0, 0]\n", "W = fit_logistic2(W_init, X, T2)\n", "print(\"w0 = {0:.2f}, w1 = {1:.2f}, w2 = {2:.2f}\".format(W[0], W[1], W[2]))\n", "show3d_logistic2(Ax, W)\n", "show_data2_3d(Ax, X, T2)\n", "cee = cee_logistic2(W, X, T2)\n", "print(\"CEE = {0:.2f}\".format(cee))\n", "\n", "Ax = plt.subplot(1, 2, 2)\n", "show_data2(X, T2)\n", "show_contour_logistic2(W)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 6.3 2次元入力3クラス分類" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6.3.1 3クラス分類ロジスティック回帰モデル" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3クラスの分類問題では,3つのクラスの入力に対応する入力総和$a_k(k=0,1,2)$を考える.\n", "\n", "$$\n", "a_k=w_{k0}x_0+w_{k1}x_1+w_{k2}\n", "$$\n", "\n", "$w_{ki}$は,入力$x_i$からクラスkの入力総和を調整するパラメータである." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "def logistic3(x0, x1, w):\n", " K = 3\n", " w = w.reshape((3, 3))\n", " n = len(x1)\n", " y = np.zeros((n, K))\n", " for k in range(K):\n", " y[:, k] = np.exp(w[k, 0] * x0 + w[k, 1] * x1 + w[k, 2])\n", " wk = np.sum(y, axis=1)\n", " wk = y.T / wk\n", " y = wk.T\n", " return y" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 0.006 0.994]\n", " [0.965 0.033 0.001]\n", " [0.925 0.07 0.005]]\n" ] } ], "source": [ "W = np.array([1, 2, 3, 4 ,5, 6, 7, 8, 9])\n", "y = logistic3(X[:3, 0], X[:3, 1], W)\n", "print(np.round(y, 3))" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "def cee_logistic3(w, x, t):\n", " X_n = x.shape[0]\n", " y = logistic3(x[:, 0], x[:, 1], w)\n", " cee = 0\n", " N, K = y.shape\n", " for n in range(N):\n", " for k in range(K):\n", " cee = cee - (t[n, k] * np.log(y[n, k]))\n", " cee = cee / X_n\n", " return cee" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.9824582404787288" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "W = np.array([1, 2, 3, 4 ,5, 6, 7, 8, 9])\n", "cee_logistic3(W, X, T3)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "def dcee_logistic3(w, x, t):\n", " X_n = x.shape[0]\n", " y = logistic3(x[:, 0], x[:, 1], w)\n", " dcee = np.zeros((3, 3)) \n", " N, K = y.shape\n", " for n in range(N):\n", " for k in range(K):\n", " dcee[k, :] = dcee[k, :] - (t[n, k] - y[n, k])* np.r_[x[n, :], 1]\n", " dcee = dcee / X_n\n", " return dcee.reshape(-1)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.03778433, 0.03708109, -0.1841851 , -0.21235188, -0.44408101,\n", " -0.38340835, 0.17456754, 0.40699992, 0.56759346])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "W = np.array([1, 2, 3, 4 ,5, 6, 7, 8, 9])\n", "dcee_logistic3(W, X, T3)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "def fit_logistic3(w_init, x, t):\n", " res = minimize(cee_logistic3, w_init, args=(x, t),\n", " jac=dcee_logistic3, method=\"CG\")\n", " return res.x" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "def show_contour_logistic3(w):\n", " xn = 30 \n", " x0 = np.linspace(X_range0[0], X_range0[1], xn)\n", " x1 = np.linspace(X_range1[0], X_range1[1], xn)\n", " \n", " xx0, xx1 = np.meshgrid(x0, x1)\n", " y = np.zeros((xn, xn, 3))\n", " for i in range(xn):\n", " wk = logistic3(xx0[:, i], xx1[:, i], w)\n", " for j in range(3):\n", " y[:, i, j] = wk[:, j]\n", " for j in range(3):\n", " cont = plt.contour(xx0, xx1, y[:, :, j],\n", " levels=(0.5, 0.9), \n", " colors=['cornflowerblue', 'k'])\n", " cont.clabel(fmt='%.1f', fontsize=9)\n", " plt.grid(True)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-3.2 -2.69 2.25]\n", " [-0.49 4.8 -0.69]\n", " [ 3.68 -2.11 -1.56]]\n", "CEE = 0.23\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "W_init = np.zeros((3, 3))\n", "W = fit_logistic3(W_init, X, T3)\n", "print(np.round(W.reshape((3, 3)),2))\n", "cee = cee_logistic3(W, X, T3)\n", "print(\"CEE = {0:.2f}\".format(cee))\n", "\n", "plt.figure(figsize=(3, 3))\n", "show_data2(X, T3)\n", "show_contour_logistic3(W)\n", "plt.show()" ] }, { "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.5" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }