{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "tBWHUJyJHIj7" }, "source": [ "# Машинное обучение\n", "\n", "## Факультет математики НИУ ВШЭ\n", "\n", "### 2020-2021 учебный год\n", "\n", "[Страница курса](http://wiki.cs.hse.ru/Машинное_обучение_на_матфаке_2021)\n", "\n", "Лектор: Илья Щуров\n", "\n", "Семинаристы: Соня Дымченко, Руслан Хайдуров" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "NFH4ZRSxHIj-" }, "source": [ "# Семинар 2\n", "\n", "Сегодня мы узнаем\n", "\n", "* Как работает метод ближайших соседей, какие у него есть параметры и на что они влияют.\n", "* Что такое кросс-валидация по отложенной выборке" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "GTsc8oWDHIj_" }, "source": [ "# Метод k ближайших соседей" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "deoJFxt9HIkB" }, "source": [ "Метод k ближайших соседей (k nearest neighbours, k-NN) является одним из простейших алгоритмов машинного обучения. Несмотря на свою простоту, k-NN может превзойти более мощные алгоритмы и используется во множестве приложений, таких как экономическое прогнозирование, сжатие данных и генетика. Например, k-NN использовалась в [исследовании](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-7-S1-S11) по функциональной геномике в 2006 году, где гены определялись на основе их профилей экспрессии.\n", "\n", "## Как работает k-NN?\n", "\n", "Начнем с введения некоторых определений и обозначений.\n", "\n", "* Пусть $x \\in X$ — вектор признаков (или атрибутов) объекта. Обычно $X=\\mathbb R^d$.\n", "* Под $y$ мы будем подразумевать значение, которое мы хотим научиться предсказывать. Оно может быть числом (тогда говорят о *задаче регрессии*) или элементом конечного множества (*классом* или *меткой*, тогда говорят о *задаче классификации*). Например, предсказать выручку магазина по его месторасположению — это задача регрессии, а определить, болен человек некоторой конкретной болезнью или нет — задача классификации.\n", "\n", "k-NN входит в число **supervised** алгоритмов или алгоритмов «обучения с учителем».\n", "Это означает, что нам предоставляется набор данных $(x_1, y_1), \\ldots, (x_n, y_n)$, в котором приведены признаки и верные ответы для $n$ каких-то объектов. Целью является на основе предоставляемой выборки найти связь между $x$ и $y$, то есть восстановить функцию $h: X \\rightarrow Y$. Имея такую функцию, мы можем предсказать $y$ по имеющемуся наблюдению $x$.\n", "\n", "Для нового объекта с вектором признаков $x_{new}$ алгоритм k-NN находит $k$ ближайших к $x_{new}$ точек среди $x_1, \\ldots, x_n$. Пусть они имеют индексы $i_1, \\ldots, i_k$. Для задачи регрессии в качестве $h(x)$ используется среднее соответствующих значений $y$, то есть\n", "\n", "$$h(x)=\\frac{1}{k}\\sum_{i=1}^k y_{i_k}.$$\n", "\n", "Для задачи классификации в качестве $h(x)$ используется то значение $y$, которое встречается среди $y_{i_1}, \\ldots, y_{i_k}$ чаще всего (если таких значений несколько, выбирается какое-то одно из них — например, самое маленькое для какого-то порядка на классах)." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "WrDdMX9eHIkC" }, "source": [ "## Реализация k-NN вручную" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "eSLL4p6uHIkD" }, "source": [ "Чтобы лучше понять, как работает kNN, реализуем его «вручную». Наша реализация будет довольно неэффективной — для реальной работы мы будем использовать реализацию в библиотеке scikit-learn, которая использует хитрые структуры данных для быстрого поиска ближайшего соседа. Мы же будем банально сортировать все элементы по близости к новому и выбирать k самых близких. Это дико неэффективно (в серьёзных приложениях используются [k-d деревья](https://en.wikipedia.org/wiki/K-d_tree), но зато понятно, как работает." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": {}, "colab_type": "code", "id": "DJ0NUjawHIkH" }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Вычисляем расстояние от новой точки до остальных точек в нашей выборке\n", "\n", "Пусть $d=2$ и у нас есть три объекта в обучающей выборке. Зададим их как-нибудь." ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [], "source": [ "x_train = np.array([[2, 3],\n", " [1, 5],\n", " [0, 0]])\n", "y_train = np.array([10, 20, 30])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Есть также новый объект, для которого мы хотим построить предсказание." ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [], "source": [ "x_new = np.array([1, 2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Во-первых, нам нужно найти расстояния между `x_new` и остальными объектами в `x_train`. Проще всего это сделать так: найти их разности, затем найти нормы этих разностей. Получатся квадраты расстояний, но нам нужно их просто сравнить. Затем нужно использовать `np.linalg.norm`, чтобы найти их нормы. Вам придётся передать ему правильное значение параметра `axis`, чтобы были посчитаны нормы каждого из векторов, записанных по строкам." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Выбор k ближайших соседей" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Воспользуемся функцией `np.argsort`. Она выдаёт набор индексов, такой, что если брать элементы с этими индексами, то массив окажется отсортированным. Например." ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([4, 3, 0, 5, 2, 1])" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.argsort(np.array([4, 100, 12, 3, 2, 10]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Самый маленький элемент имеент индекс 4, следующий по малости — 3, потом 0 и т.д." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Если использовать массив индексов в качестве аргумента квадратных скобок, будут выбраны элементы, соответствующие этим индексам." ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([10, 0, 10, 20])" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr = np.array([0, 10, 20, 30, 40])\n", "arr[np.array([1, 0, 1, 2])]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Получаем для нашей задачи:" ] }, { "cell_type": "code", "execution_count": 160, "metadata": { "colab": {}, "colab_type": "code", "id": "8bgwOHwVHIkl" }, "outputs": [], "source": [ "def kNN_regression(x_train, y_train, x_new, k=1):\n", " \"\"\"\n", " x_train is np.array with shape (n, d) (matrix with n rows, d columns)\n", " y_train is np.array with shape (n, ) (1-dimensional array with n elements)\n", " x_new is np.array with shape (d,) (1-dimensional array with d elements)\n", " \"\"\"\n", " # YOUR CODE HERE\n", " pass" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "15.0" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kNN_regression(x_train = np.array([[12, 3],\n", " [4, 5],\n", " [1, 5]]),\n", " y_train = np.array([10, 20, 30]),\n", " x_new = np.array([11, 4]),\n", " k = 2)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "JkdvDaOVHIkw" }, "source": [ "## Синтезированные данные\n", "Посмотрим, как работает k-NN на примере синтезированных данных. Пусть реальная зависимость $y$ и $x$ задаётся правилом $y=x^2+\\varepsilon$, где $\\varepsilon$ — некоторый шум с нулевым матожиданием.\n", "\n", "Точнее, мы будем рассматривать следующую модель:\n", "\n", "\\begin{gather}\n", "X \\sim Uniform(-1, 1);\\\\\n", "\\varepsilon \\sim \\mathcal N(0, \\varepsilon_0^2)\\\\\n", "Y = X^2 + \\varepsilon,\n", "\\end{gather}\n", "\n", "где $Uniform(-1, 1)$ — равномерное распределение на отрезке $[-1, 1]$, переменные $X$ и $\\varepsilon$ независимы." ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.49069251],\n", " [-0.91693958],\n", " [-0.01299215],\n", " [ 0.92879661],\n", " [ 0.33796647],\n", " [ 0.46056795],\n", " [ 0.90023528],\n", " [-0.4392232 ],\n", " [-0.74121161],\n", " [-0.77583399]])" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = 10\n", "np.random.uniform(low=-1, high=1, size=(n, 1))" ] }, { "cell_type": "code", "execution_count": 161, "metadata": { "colab": {}, "colab_type": "code", "id": "xzHxSgLhHIkx" }, "outputs": [], "source": [ "def f(x):\n", " return x ** 2\n", "\n", "# Y | X = X^2 + \\eps\n", "\n", "def make_data(n, eps0):\n", " \"\"\"\n", " Return x, y\n", " x.shape == (n, 1)\n", " y.shape == (n,)\n", " \"\"\"\n", "\n", " # YOUR CODE\n", " return x, y" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "4yDFhAi2HIlU" }, "source": [ "Как обсуждалось на лекции, наилучшим предсказанием $y$ для данного $x$ с точки зрения минимизации ожидаемой ошибки для квадратичной функции потерь является условное матожидание $E[Y\\mid X=x]$. Для нашей модели\n", "\n", "$$E[Y\\mid X=x]=x^2.$$" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "colab": {}, "colab_type": "code", "id": "5XuX2Kc5LSaX" }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "RVZygyi1HIlf" }, "source": [ "### Эффект от изменения $k$ " ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "-EDo_s-rHIlh" }, "source": [ "Посмотрим, как работает k-NN для наших данных." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "X, Y = make_data(30, 0.1)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "colab": {}, "colab_type": "code", "id": "5gTukrsPHIlk", "outputId": "783d9ad2-6fbd-415f-9eca-273104ed6996" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def plot_kNN(X, Y, k, **kwargs):\n", " plt.plot(X[:, 0], Y, 'o', label=\"data\", **kwargs)\n", " x_grid = np.linspace(-1, 1, 200)\n", " plt.plot(x_grid, f(x_grid), color='tomato', lw=2, label=\"$E[Y\\mid X=x]$\")\n", " plt.plot(x_grid, [kNN_regression(X, Y, x_new, k) for x_new in x_grid], \n", " 'g-', label=\"{}-NN prediction\".format(k), lw=2)\n", " plt.legend()\n", " plt.xlabel(\"X\")\n", " plt.ylabel(\"Y\")\n", "plot_kNN(X, Y, 1)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "colab": {}, "colab_type": "code", "id": "0uKn0n4-HIlt", "outputId": "3d7c2c04-fd8a-40a3-e1a7-4f38f27e511c" }, "outputs": [ { "data": { "image/png": "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iRMVXrNRo0bcc8899OzZk4svvpjk5GQABg8ezH333cegQYN46aWX2LhxI4MGDeL8889n5MiRHD58GICNGzfSrVs3LrzwQl577TXneX/88UcuvdQsXnLq1CmmTJlCly5d6Nq1K3PnzmXGjBnO0ceTJ092xgKgtWb69Omcd955dOnShdmzZzvPOXjwYK688krOPvtsJk+ejJbV+jxr+UIoKIDzB0CTFgDsPrGbr//4GvBuIrCy+2gfYLfWei+AUupzYCxQ/GeYBsKVaSFpBJwAqv4TyWoDx8A3/4Mdmxkc240VOZFlDrFqxF9DpB61pkFMP+zeF9f+/fvZtGkTffv2LfeY22+/na5du/Lvf/+7zL5GjRpx00038dJLL/Hoo4+We47MzEx69uzJc889x2OPPcajjz7Kq6++CkBqaio//fQTdrudQYMGsWDBApo1a8bs2bO5//77ee+995gyZQqvvPIKgwYNYvr06S6v8d///pfIyEgSEhIAOHnyJBMmTODVV191OVJ63rx5xMfHs3nzZlJSUujduzcDBw4EYNOmTWzdupXWrVvTv39/Vq9ezUUXXVT+Cyncl5MFPy0294efnpZ89Kej2X1iNwBNQ5t6IzLA2qqhGKD4sNxEx7biXgXigENAAvAPrXVh6RMppaYqpTYopTYU/aqqVaFhpk4PeCxkZ62O+BOederUKSZMmMCLL75IRET5Y0MiIiK4/vrry62CufPOO/nwww9JT08v9xx+fn5cc801APzlL39h1apVzn1F23fu3Mnvv//O8OHD6d69O48//jiJiYmkpaWRmprKoEGDALjuuutcXmPZsmXcfvvtzsfR0dEujyuyatUqJk2ahM1mo0WLFgwaNIj169cD0KdPH2JjY/Hz86N79+7lLtgjqmHVUsjOhE7nQgfzXaG1Zn/qfgBu7Xkrd194t9fCs7JE4OpnX+mfbCOBeGAo0BH4Xin1s9a6xP8urfUsYBZAr169vFNeHTYOfphPmz3refEvE3hsTUqtzBPeELn7y93T7HY7EyZMYPLkyc7FYg4ePMhll5m5paZNm8a0adOcx//zn/+kZ8+eLheniYqK4tprr+X11193+/rFuwaGhZmGQq015557bpmZRVNTU93qSqi1rlKXw4qqe4KCgpz3bTZbtdovhAsFBafnLStWGsiyZ5FfmE+IfwizLpvlpeAMK0sE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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_kNN(X, Y, 2)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "colab": {}, "colab_type": "code", "id": "R2ObCvp7HIlz", "outputId": "684f5c21-1354-405a-888d-02cfce3af817" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_kNN(X, Y, 15)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "C1nXqxbrHIl5" }, "source": [ "Что будет, если увеличить количество данных?" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "colab": {}, "colab_type": "code", "id": "6nqySLCiHImG", "outputId": "f204e873-0bb7-46ee-8916-13113460893e" }, "outputs": [ { "data": { "image/png": "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a/zhD39gyZIlOBwOli5dyscff8wrr7zSar+D3W5n/fr1pKent9o5Fa1P8H1il2MXAMnRYYTiuxVUlu7DKyR2ix27tXWL/h0KJRSNxWyGKb/jgLm2oVE9iyI6UbmeDgM2btxoWA6RuOWWW3jxxRf54IMPWL16NU888USjrxETE8OMGTO44447uPHGG3n//fex25v34T/llFP473//C2iWyY033tis8yjan+D7hDegWQthLYplC4OsidR2nqUq4dE0TjyNouW1f7KwFoVyPbUOV01pm/O++ukhh2zevJlZs2ZhMmnPUddeey1nnHFGvXFnnHEGs2fPZt68eXz55ZdYrdYmTeXKK69k6NChfPTRRwwaNKje/pNOOimkOq3OY489xmmnnWa8vu+++7j77rs5cOAAOTk5LF68uN4xis5JOM+DHqPoHdcbszCzv2o/ngP5FPdMACDVroSi01G3IdFvevSEms9u3aynxKhE5Xrq4uTl5dGzZ082bNgQsr0hF9KJJ55IVlYWffr0afK17r//ftLS0vD5wmfIrVq1qlHnmTBhAlJKnnjiCVauXInZbD70QYpOQbgHSt31ZDaZ6RPfh/zyfArNbr4fMAr2LiW3UDL+4RXt2hxNCUUE9KJdZb4dmISdAkcvtto8UPM5dLk1MVBZT21AI57824INGzY0qUT4li1bmDWr6Y0XH3/8caqrq3n33Xe55557mD59er0xjbUoNm7cyN69e+nRowfx8W1f90fReoR7oNRdTwB9zYnkk8/2OCsP5/nBAiaZeMiOm62NEooIzF+eS5W3jH3Rs7VFMNWv4qLc2F/tcQKhMQrleurabNy4sUlCsXnzZoYNG9aka6xYsYI33niDb7/9lvj4eMrLy1m/fn29uEhjLIq9e/dy6aWX8tFHH3HjjTeyfPly1YK1C1H3PmEWZuJtNWIvJX1LNa/FnJgiDoovATCh7W+o42ZboILZEdCKdhUihRu/KKHKvMooCAhQLX34t2+h3K2JR7wt3nA9KYuia7Jx40befvttIy02KyuLysrwbsS8vDySkpKIi4tr9Pn37NnDVVddxXvvvWc8/d9000089dRTTZ6r0+lk+vTpPP744wwdOpS77rqLe++9t8nnUXQcdS2KZHtybTvezes4slxLv15v2YDLvAYAi6xNjW2v5mjKoohAepKdX8oPGK8rLEsICIfx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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X, Y = make_data(100, 0.1)\n", "plot_kNN(X, Y, 1)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "colab": {}, "colab_type": "code", "id": "jB5jwdLiHImN", "outputId": "043c6437-913f-420e-c810-b95c0fb1abb5" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_kNN(X, Y, 5, alpha=0.5)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "colab": {}, "colab_type": "code", "id": "rw2uGQACHImQ", "outputId": "6f3d9afe-6f49-43f5-bf68-ff38982f8806" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_kNN(X, Y, 15, alpha=0.5)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "colab": {}, "colab_type": "code", "id": "m-zQLMbfHImT" }, "outputs": [ { "data": { "image/png": "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7mHcuHFcfvnl9O7du+Q5hgwZwk477cS9997LQQcd1OD18847j/32248pU6Y0upYvv/yS1157jQULFrDbbrsxf/58AGbOnMncuXPp06cP559/Prvvvjt33HEHK1euZPz48ey5557cfPPNJBIJ5s6dy9y5c9l6660bnP+jjz7ikksu4c0336Rfv34sX76cPn36cPDBB3PggQdy2GGH1Tk+k8kwefJkpk+fzogRIzjuuOO48cYb+c1vfgNAv379eO+997jhhhu47LLLuO222xr9961LlCqbB8qW0isVyXJoretEJC7894UAnJsewc9SA+H4E9CV1e1aMGM8ihwSQcoLWZH08YLIu0h7Ab6OpMWDCQfy437bcFTqR4Q65Kp3riDjB/hBJByY/1CNVEfXw7Is5syZw6JFi3jnnXf48MMPATjllFNYsGABc+bMYcCAAZx99tmNnuf888/n0ksvRRWFDPIMGzaM8ePH88ADDzR6jiOOOAIpJZtssgkbbbRRYZe+1157FWQ5XnrpJf72t78xduxYdt11VzKZDF9//TUzZszgmGOOAWD06NGMHj26wflfeeUVDjvsMPr16wfQpNTHp59+yrBhwxgxYgQQzf2eMWNG4fX8TI1tttmm7KCndZVS3kHxc2EY5ULzBiIfchKIQn7ilS+nM/2L6fSUFZy99Efo4ZuR2XpXVqc8khmf2oxPEDS83lob41HkEVDhRE0u2SAk0ApbSnylEIATc1k18SR+d9Nc7q9czP3z7uTM7X5Hr1g/Aq2oyP0qjVTH2tPUzr+t6dWrF7vuuisvvPACW2yxBeuvv37htRNPPJEDDzwQgOOPP57333+fgQMH1klwb7zxxowdO5Zp06aVPP/555/PYYcdxoQJE8quoX7YK/+4srKy8JzWmscee4yRI0c2+fP10Vq3KLSmmyjGiMUibSHLstY6f9JdKZevFAI8PyQbhGit8QKFmzMm+fuGlILZi2dx+CORyN/ZKwbRS8RIHf5LVmV8MkGILQWOJdFoqqXbpp6F8SiKcGxJj5iDa1lYCJJegBBgSYkXhATDRjJq/GEcmO5PJsxy8+zrcaRFGEbGJe1HuQ2TzO46LFmypFANlE6n+de//lUYYrR48Rr9ySeeeKIwrOjOO+9kzpw5Jaugpk6dymWXXVbyvTbddFM222yzQu6hFI888ghKKRYsWMDnn39e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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X, Y = make_data(1000, 0.1)\n", "plot_kNN(X, Y, 35, markersize=3, alpha=0.03)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "WmswipssHImX" }, "source": [ "**Теорема**. Если $f(x)=E[Y\\mid X=x]$ является непрерывной функцией от $x$, при некоторых дополнительных условиях, k-NN-регрессия стремится к $f(x)$ при $k, N \\to \\infty$, т.ч. $k/N\\to 0$.\n", "\n", "**Основная идея:** если данных очень много, то можно выбрать такое большое $k$, которое было бы при этом мало по сравнению с $N$. При этом $k$ ближайших соседей для точки $x_{new}$ будут лежать очень близко к ней, и, за счёт того, что $k$ большое, k-NN оценка будет достаточно близкой к истинному матожиданию $f(x_{new})$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Отступление: передача именованных параметров с помощью `**`" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [], "source": [ "def foo(x, y):\n", " print(f\"x = {x}, y = {y}\")" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x = 3, y = 4\n" ] } ], "source": [ "foo(3, 4)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x = 2, y = 3\n" ] } ], "source": [ "foo(x=2, y=3)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "params = {'x': 2, 'y': 3}" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x = 2, y = 3\n" ] } ], "source": [ "foo(x=params['x'], y=params['y'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Вот так можно сделать это коротко:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x = 2, y = 3\n" ] } ], "source": [ "foo(**params)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Оценка EPE" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$EPE(f) \\approx \\frac{1}{n} \\sum_{i=1}^n L(y^{new}_i, f(x^{new}_i))$$" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [], "source": [ "def EPE(f, L, make_data, data_args, f_args):\n", " X_new, Y_new = make_data(**data_args)\n", " return sum(L(y_new, f(x_new, **f_args)) \n", " for x_new, y_new in zip(X_new, Y_new)) / len(X_new)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def f(x, k):\n", " return kNN_regression(X, Y, x, k)\n", "\n", "def L(y, y_hat):\n", " return (y - y_hat) ** 2\n", "\n", "n_train = 300\n", "eps0 = 0.3\n", "\n", "X, Y = make_data(n=n_train, eps0=eps0)\n", "\n", "k = range(1, n_train)\n", "\n", "# построить зависимость приближения к EPE от k для k \\in [1, n_train]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Кросс-валидация: hold-out выборка" ] }, { "cell_type": "code", "execution_count": 150, "metadata": {}, "outputs": [], "source": [ "X, Y = make_data(n=n_train, eps0=eps0)" ] }, { "cell_type": "code", "execution_count": 157, "metadata": {}, "outputs": [], "source": [ "X_train = X[:n_train * 2 // 3]\n", "Y_train = Y[:n_train * 2 // 3]\n", "\n", "X_test = X[n_train * 2 // 3:]\n", "Y_test = Y[n_train * 2 // 3:]" ] }, { "cell_type": "code", "execution_count": 158, "metadata": {}, "outputs": [], "source": [ "def kv_loss(k):\n", " return sum(L(y_new, kNN_regression(X_train, Y_train, x_new, k=k)) \n", " for x_new, y_new in zip(X_test, Y_test)) / len(X_test)" ] }, { "cell_type": "code", "execution_count": 159, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 159, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "k = range(1, 300)\n", "plt.plot(k, [kv_score(k_) for k_ in k])" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "faZrCCriHInA" }, "source": [ "### kNN для задачи классификации\n", "Напишите функцию `kNN_classifier(x_train, y_train, x_new, k=1)` по аналогии с `kNN_regression`. Вместо взятия среднего нужно выбрать значение $y$, которое встречается среди $k$ ближайших соседей чаще всего. (Подсказка: оно называется *модой*.)" ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "colab": {}, "colab_type": "code", "id": "edVE5pKnHInB" }, "outputs": [], "source": [ "def kNN_classifier(x_train, y_train, x_new, k=1):\n", " # YOUR CODE HERE\n", " pass" ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "sem03_knn1.ipynb", "provenance": [] }, "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" } }, "nbformat": 4, "nbformat_minor": 1 }