{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Uczenie maszynowe UMZ 2017/2018\n", "# 4. Algorytm KNN, uczenie nienadzorowane\n", "### Część 1" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 4.1. Algorytm $k$ najbliższych sąsiadów" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### KNN – intuicja" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Do której kategorii powinien należeć punkt oznaczony gwiazdką?" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Przydatne importy\n", "\n", "import ipywidgets as widgets\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Wczytanie danych (gatunki kosaćców)\n", "\n", "data_iris_setosa = (\n", " pandas.read_csv('iris.csv', usecols=['pł.dł.', 'pł.sz.', 'Gatunek'])\n", " .apply(lambda x: [x[0], x[1], 1 if x[2] == 'Iris-setosa' else 0], axis=1))\n", "data_iris_setosa.columns = ['dł. płatka', 'szer. płatka', 'Iris setosa?']\n", "\n", "m, n_plus_1 = data_iris_setosa.values.shape\n", "n = n_plus_1 - 1\n", "Xn = data_iris_setosa.values[:, 0:n].reshape(m, n)\n", "\n", "X = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n", "Y = np.matrix(data_iris_setosa.values[:, 2]).reshape(m, 1)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Wykres danych (wersja macierzowa)\n", "def plot_data_for_classification(X, Y, xlabel, ylabel): \n", " fig = plt.figure(figsize=(16*.6, 9*.6))\n", " ax = fig.add_subplot(111)\n", " fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n", " X = X.tolist()\n", " Y = Y.tolist()\n", " X1n = [x[1] for x, y in zip(X, Y) if y[0] == 0]\n", " X1p = [x[1] for x, y in zip(X, Y) if y[0] == 1]\n", " X2n = [x[2] for x, y in zip(X, Y) if y[0] == 0]\n", " X2p = [x[2] for x, y in zip(X, Y) if y[0] == 1]\n", " ax.scatter(X1n, X2n, c='r', marker='x', s=50, label='Dane')\n", " ax.scatter(X1p, X2p, c='g', marker='o', s=50, label='Dane')\n", " \n", " ax.set_xlabel(xlabel)\n", " ax.set_ylabel(ylabel)\n", " ax.margins(.05, .05)\n", " return fig" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "def plot_new_example(fig, x, y):\n", " ax = fig.axes[0]\n", " ax.scatter([x], [y], c='k', marker='*', s=100, label='?')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n", "plot_new_example(fig, 2.8, 0.9)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "* Wydaje się sensownym przyjąć, że punkt oznaczony gwiazdką powinien być czerwony, ponieważ sąsiednie punkty są czerwone. Najbliższe czerwone punkty są położone bliżej niż najbliższe zielone." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Algorytm oparty na tej intuicji nazywamy algorytmem **$k$ najbliższych sąsiadów** (_$k$ nearest neighbors_, KNN)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Idea (KNN dla $k = 1$):\n", " 1. Dla nowego przykładu $x'$ znajdź najbliższy przykład $x$ ze zbioru uczącego.\n", " 1. Jego klasa $y$ to szukana klasa $y'$." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "from scipy.spatial import Voronoi, voronoi_plot_2d\n", "\n", "def plot_voronoi(fig, points):\n", " ax = fig.axes[0]\n", " vor = Voronoi(points)\n", " ax.scatter(vor.vertices[:, 0], vor.vertices[:, 1], s=1)\n", " \n", " for simplex in vor.ridge_vertices:\n", " simplex = np.asarray(simplex)\n", " if np.all(simplex >= 0):\n", " ax.plot(vor.vertices[simplex, 0], vor.vertices[simplex, 1],\n", " color='orange', linewidth=1)\n", " \n", " xmin, ymin = points.min(axis=0).tolist()[0]\n", " xmax, ymax = points.max(axis=0).tolist()[0]\n", " pad = 0.1\n", " ax.set_xlim(xmin - pad, xmax + pad)\n", " ax.set_ylim(ymin - pad, ymax + pad)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n", "plot_new_example(fig, 2.8, 0.9)\n", "plot_voronoi(fig, X[:, 1:])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Podział płaszczyzny jak na powyższym wykresie nazywamy **diagramem Woronoja** (_Voronoi diagram_)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "* Taki algorytm wyznacza dość efektowne granice klas, zwłaszcza jak na tak prosty algorytm. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "* Niestety jest bardzo podatny na obserwacje odstające:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "X_outliers = np.vstack((X, np.matrix([[1.0, 3.9, 1.7]])))\n", "Y_outliers = np.vstack((Y, np.matrix([[1]])))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n5Y7uxXoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plot_data_for_classification(X_outliers, Y_outliers, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n", "plot_new_example(fig, 2.8, 0.9)\n", "plot_voronoi(fig, X_outliers[:, 1:])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "* Pojedyncza obserwacja odstająca dramatycznie zmienia granice klas." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Aby temu zaradzić, użyjemy więcej niż jednego najbliższego sąsiada ($k > 1$)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Algorytm $k$ najbliższych sąsiadów dla problemu klasyfikacji\n", "\n", "1. Dany jest zbiór uczący zawierajacy przykłady $(x_i, y_i)$, gdzie: $x_i$ – zestaw cech, $y_i$ – klasa.\n", "1. Dany jest przykład testowy $x'$, dla którego chcemy określić klasę.\n", "1. Oblicz odległość $d(x', x_i)$ dla każdego przykładu $x_i$ ze zbioru uczącego.\n", "1. Wybierz $k$ przykładów $x_{i_1}, \\ldots, x_{i_k}$, dla których wyliczona odległość jest najmniejsza.\n", "1. Jako wynik $y'$ zwróć tę spośrod klas $y_{i_1}, \\ldots, y_{i_k}$, która występuje najczęściej." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Algorytm $k$ najbliższych sąsiadów dla problemu klasyfikacji – przykład" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# Odległość euklidesowa\n", "def euclidean_distance(x1, x2):\n", " return np.linalg.norm(x1 - x2)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# Algorytm k najbliższych sąsiadów\n", "def knn(X, Y, x_new, k, distance=euclidean_distance):\n", " data = np.concatenate((X, Y), axis=1)\n", " nearest = sorted(\n", " data, key=lambda xy:distance(xy[0, :-1], x_new))[:k]\n", " y_nearest = [xy[0, -1] for xy in nearest]\n", " return max(y_nearest, key=lambda y:y_nearest.count(y))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Wykres klas dla KNN\n", "def plot_knn(fig, X, Y, k, distance=euclidean_distance):\n", " ax = fig.axes[0]\n", " x1min, x2min = X.min(axis=0).tolist()[0]\n", " x1max, x2max = X.max(axis=0).tolist()[0]\n", " pad1 = (x1max - x1min) / 10\n", " pad2 = (x2max - x2min) / 10\n", " step1 = (x1max - x1min) / 50\n", " step2 = (x2max - x2min) / 50\n", " x1grid, x2grid = np.meshgrid(\n", " np.arange(x1min - pad1, x1max + pad1, step1),\n", " np.arange(x2min - pad2, x2max + pad2, step2))\n", " z = np.matrix([[knn(X, Y, [x1, x2], k, distance) \n", " for x1, x2 in zip(x1row, x2row)] \n", " for x1row, x2row in zip(x1grid, x2grid)])\n", " plt.contour(x1grid, x2grid, z, levels=[0.5]);" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Przygotowanie interaktywnego wykresu\n", "\n", "slider_k = widgets.IntSlider(min=1, max=10, step=1, value=1, description=r'$k$', width=300)\n", "\n", "def interactive_knn_1(k):\n", " fig = plot_data_for_classification(X_outliers, Y_outliers, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n", " plot_voronoi(fig, X_outliers[:, 1:])\n", " plot_knn(fig, X_outliers[:, 1:], Y_outliers, k)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "652f2d8ba643479298bc4e252b59474f", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type interactive.

\n", "

\n", " If you're reading this message in Jupyter Notebook or JupyterLab, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another notebook frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "interactive(children=(IntSlider(value=1, description=u'$k$', max=10, min=1), Button(description=u'Run Interact', style=ButtonStyle()), Output()), _dom_classes=('widget-interact',))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "widgets.interact_manual(interactive_knn_1, k=slider_k)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Wczytanie danych (inny przykład)\n", "\n", "alldata = pandas.read_csv('classification.tsv', sep='\\t')\n", "data = np.matrix(alldata)\n", "\n", "m, n_plus_1 = data.shape\n", "n = n_plus_1 - 1\n", "Xn = data[:, 1:].reshape(m, n)\n", "\n", "X2 = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n", "Y2 = np.matrix(data[:, 0]).reshape(m, 1)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n131E0kbbL0m6RdLPp+s9JOl3Jf23VtULYB5bGh9PpicmkpeUhLfx8WQ5AGDR5d0D14grJH0zM38o\nbVsp6fWIeHNee02277Zdtl0+evRoy4oFek42xFUR3gCgpVoe4Gw/YftAjdfGVv/bWRGxMyJKEVFa\ntWpVO/9poLtVT5tmZcfEAQAWXctPoUbErRf5EYclXZWZvzJtOybpHbYvTXvhqu0A2mX+mLfx8TPz\nEj1xANAiRTiF+pykofSK035JmyXtiYiQ9LSkO9P1tkh6LKcagd40NXV2eKueTq1e2MBVqADQEnnf\nRmST7UOSfkLS52zvS9t/2PZeSUp71z4iaZ+klyR9JiIOph9xr6TttmeUjIn783Z/B6CnDQ9Lu3ad\n3dNWDXG7dnEVKgC0iKMHx6mUSqUol8t5lwEAAHAW2/sjou69cauKcAoVAAAAGQQ4AACAgiHAAQAA\nFAwBDgAAoGAIcAAAAAVDgAMAACgYAhwAAEDBEOAAAAAKhgAHAABQMAQ4AACAgunJR2nZPirpH3Ms\n4TJJ/5Tjv9/J2Df1sW/qY9/Uxn6pj31TH/umvnbsm6sjYtVCK/VkgMub7XIjzznrReyb+tg39bFv\namO/1Me+qY99U18n7RtOoQIAABQMAQ4AAKBgCHD52Jl3AR2MfVMf+6Y+9k1t7Jf62Df1sW/q65h9\nwxg4AACAgqEHDgAAoGAIcAAAAAVDgGsR2ytsP257On1fXmOdn7H9fOb1z7aH02Wfsv31zLK17f8W\nrdHIvknXeyvz/fdk2q+1/SXbM7Ynbfe3r/rWavC4WWv7i7YP2v6K7dHMsq46bmzfbvvl9L/1jhrL\nl6bHwEx6TFyTWfbRtP1l2+9rZ93t0MC+2W77xfQYedL21ZllNX+2ukUD++ZDto9m9sGvZJZtSX/+\npm1vaW/lrdXAfhnP7JOv2n49s6zbj5lP2n7N9oE6y237P6f77iu2b8osy+eYiQheLXhJ+iNJO9Lp\nHZI+tsD6KyQdl/QD6fynJN2Z9/fIc99IeqNO+2ckbU6n/0zSh/P+Tu3cN5L+laShdPqHJb0q6R3d\ndtxIukTS1yRdJ6lf0pclXT9vnf8g6c/S6c2SJtPp69P1l0q6Nv2cS/L+Tm3eNz+T+X3y4eq+Sedr\n/mx1w6vBffMhSf+lxrYrJL2Svi9Pp5fn/Z3atV/mrf/rkj7ZC8dM+v1+StJNkg7UWb5B0uclWdKP\nS/pS3scMPXCts1HSQ+n0Q5KGF1j/Tkmfj4jvtbSqztDsvjnNtiXdIunRC9m+ABbcNxHx1YiYTqeP\nSHpN0oJ37S6gmyXNRMQrEXFS0iNK9k9Wdn89Kuln02Nko6RHIuJERHxd0kz6ed1iwX0TEU9nfp88\nK+nKNteYl0aOm3reJ+nxiDhoYu9QAAAEtUlEQVQeEd+R9Lik21tUZ7s1u18+KOnTbamsA0TE3ynp\nRKlno6S/jMSzkt5h+3LleMwQ4FrnnRHxajr9LUnvXGD9zTr3h+UP0q7acdtLF73C/DS6b95mu2z7\n2eqpZUkrJb0eEW+m84ckXdHCWtutqePG9s1K/m/6a5nmbjlurpD0zcx8rf/Wp9dJj4nvKjlGGtm2\nyJr9fluV9B5U1frZ6haN7pufS39OHrV9VZPbFlHD3y093X6tpKcyzd18zDSi3v7L7Zi5tB3/SLey\n/YSkH6qx6L7sTESE7br3a0lT/I9K2pdp/qiSP+D9Su47c6+k+y+25nZZpH1zdUQctn2dpKdsv6Dk\nD3ShLfJx81eStkREJW0u9HGDxWf7FySVJK3PNJ/zsxURX6v9CV3pbyR9OiJO2P73Snpxb8m5pk6y\nWdKjEfFWpq3Xj5mOQ4C7CBFxa71ltr9t+/KIeDX9Q/vaeT7qA5J2R8SpzGdXe2FO2P4LSb+5KEW3\nyWLsm4g4nL6/YvsLkt4t6bNKuq4vTXtcrpR0eNG/QAstxr6x/YOSPifpvrQ7v/rZhT5u5jks6arM\nfK3/1tV1Dtm+VNLbJR1rcNsia+j72b5Vyf8YrI+IE9X2Oj9b3fLHeMF9ExHHMrMPKhl7Wt32p+dt\n+4VFrzAfzfxMbJb0a9mGLj9mGlFv/+V2zHAKtXX2SKpejbJF0mPnWfecsQbpH+/qmK9hSTWvjCmo\nBfeN7eXV03+2L5P0HkkvRjJq9GklYwbrbl9gjeybfkm7lYzHeHTesm46bp6TNOTkquN+JX9U5l/9\nlt1fd0p6Kj1G9kja7OQq1WslDUn6+zbV3Q4L7hvb75b0CUl3RMRrmfaaP1ttq7z1Gtk3l2dm75D0\nUjq9T9J70320XNJ7dfaZkSJr5OdJtt+lZDD+FzNt3X7MNGKPpF9Mr0b9cUnfTf+HOb9jph1XSvTi\nS8k4nCclTUt6QtKKtL0k6cHMetcoSfB987Z/StILSv4A/w9Jy/L+Tu3cN5J+Mv3+X07ft2a2v07J\nH+MZSX8taWne36nN++YXJJ2S9HzmtbYbjxslV359Vcn/6d+Xtt2vJJRI0tvSY2AmPSauy2x7X7rd\ny5Len/d3yWHfPCHp25ljZE/aXvdnq1teDeybP5R0MN0HT0t6V2bbX06PpxlJv5T3d2nnfknnf1fS\nA/O264Vj5tNKrug/pWQc21ZJvyrpV9PllvTxdN+9IKmU9zHDo7QAAAAKhlOoAAAABUOAAwAAKBgC\nHAAAQMEQ4AAAAAqGAAcAAFAwBDgAAICCIcABAAAUDAEOAJpg+2nbt6XTv2/7T/OuCUDv4VmoANCc\n35F0v+1/qeR5kHfkXA+AHsSTGACgSbb/VtIyST8dEbO2r1Py6K63R8Sd598aAC4ep1ABoAm2f1TS\n5ZJORsSsJEXEKxGxNd/KAPQSAhwANMj25ZIelrRR0hu2b8+5JAA9igAHAA2w/QOSdkm6JyJekvR7\nSsbDAUDbMQYOAC6S7ZWS/kDSbZIejIg/zLkkAF2OAAcAAFAwnEIFAAAoGAIcAABAwRDgAAAACoYA\nBwAAUDAEOAAAgIIhwAEAABQMAQ4AAKBgCHAAAAAF8/8BucToHJa84GcAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plot_data_for_classification(X2, Y2, xlabel=r'$x_1$', ylabel=r'$x_2$')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Przygotowanie interaktywnego wykresu\n", "\n", "slider_k = widgets.IntSlider(min=1, max=10, step=1, value=1, description=r'$k$', width=300)\n", "\n", "def interactive_knn_2(k):\n", " fig = plot_data_for_classification(X2, Y2, xlabel=r'$x_1$', ylabel=r'$x_2$')\n", " plot_voronoi(fig, X2[:, 1:])\n", " plot_knn(fig, X2[:, 1:], Y2, k)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a10b0ca5c82349b596c12857fda3cd55", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type interactive.

\n", "

\n", " If you're reading this message in Jupyter Notebook or JupyterLab, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another notebook frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "interactive(children=(IntSlider(value=1, description=u'$k$', max=10, min=1), Button(description=u'Run Interact', style=ButtonStyle()), Output()), _dom_classes=('widget-interact',))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "widgets.interact_manual(interactive_knn_2, k=slider_k)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Algorytm $k$ najbliższych sąsiadów dla problemu regresji\n", "\n", "1. Dany jest zbiór uczący zawierajacy przykłady $(x_i, y_i)$, gdzie: $x_i$ – zestaw cech, $y_i$ – liczba rzeczywista.\n", "1. Dany jest przykład testowy $x'$, dla którego chcemy określić klasę.\n", "1. Oblicz odległość $d(x', x_i)$ dla każdego przykładu $x_i$ ze zbioru uczącego.\n", "1. Wybierz $k$ przykładów $x_{i_1}, \\ldots, x_{i_k}$, dla których wyliczona odległość jest najmniejsza.\n", "1. Jako wynik $y'$ zwróć średnią liczb $y_{i_1}, \\ldots, y_{i_k}$:\n", " $$ y' = \\frac{1}{k} \\sum_{j=1}^{k} y_{i_j} $$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Wybór $k$\n", "\n", "* Wartość $k$ ma duży wpływ na wynik działania algorytmu KNN:\n", " * Jeżeli $k$ jest zbyt duże, wszystkie nowe przykłady są klasyfikowane jako klasa większościowa.\n", " * Jeżeli $k$ jest zbyt małe, granice klas są niestabilne, a algorytm jest bardzo podatny na obserwacje odstające.\n", "* Aby dobrać optymalną wartość $k$, najlepiej użyć zbioru walidacyjnego." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Miary podobieństwa" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Odległość euklidesowa\n", "$$ d(x, x') = \\sqrt{ \\sum_{i=1}^n \\left( x_i - x'_i \\right) ^2 } $$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Dobry wybór w przypadku numerycznych cech.\n", "* Symetryczna, traktuje wszystkie wymiary jednakowo.\n", "* Wrażliwa na duże wahania jednej cechy." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Odległość Hamminga\n", "$$ d(x, x') = \\sum_{i=1}^n \\mathbf{1}_{x_i \\neq x'_i} $$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Dobry wybór w przypadku cech zero-jedynkowych.\n", "* Liczba cech, którymi różnią się dane przykłady." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Odległość Minkowskiego ($p$-norma)\n", "$$ d(x, x') = \\sqrt[p]{ \\sum_{i=1}^n \\left| x_i - x'_i \\right| ^p } $$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Dla $p = 2$ jest to odległość euklidesowa.\n", "* Dla $p = 1$ jest to odległość taksówkowa.\n", "* Jeżeli $p \\to \\infty$, to $p$-norma zbliża się do logicznej alternatywy.\n", "* Jeżeli $p \\to 0$, to $p$-norma zbliża się do logicznej koniunkcji." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### KNN – praktyczne porady" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Co zrobić z remisami?\n", " * losowanie\n", " * prawdopodobieństwo _a priori_\n", " * 1NN" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* KNN źle radzi sobie z brakującymi wartościami cech (nie można wówczas sensownie wyznaczyć odległości)." ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.15rc1" }, "livereveal": { "start_slideshow_at": "selected", "theme": "amu" } }, "nbformat": 4, "nbformat_minor": 2 }