785 lines
167 KiB
Plaintext
785 lines
167 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"## Uczenie maszynowe UMZ 2019/2020\n",
|
||
"### 28 kwietnia 2020\n",
|
||
"# 7. 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 = pandas.read_csv('iris.csv')\n",
|
||
"data_iris_setosa = pandas.DataFrame()\n",
|
||
"data_iris_setosa['dł. płatka'] = data_iris['pl'] # \"pl\" oznacza \"petal length\"\n",
|
||
"data_iris_setosa['szer. płatka'] = data_iris['pw'] # \"pw\" oznacza \"petal width\"\n",
|
||
"data_iris_setosa['Iris setosa?'] = data_iris['Gatunek'].apply(lambda x: 1 if x=='Iris-setosa' else 0)\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": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"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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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"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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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"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": "f17d13b7c8634fcb9ca571208f1c9212",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"interactive(children=(IntSlider(value=1, description='$k$', max=10, min=1), Button(description='Run Interact',…"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<function __main__.interactive_knn_1(k)>"
|
||
]
|
||
},
|
||
"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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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"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": "6c38b927db174f9f9ddb05513daf2612",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"interactive(children=(IntSlider(value=1, description='$k$', max=10, min=1), Button(description='Run Interact',…"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<function __main__.interactive_knn_2(k)>"
|
||
]
|
||
},
|
||
"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",
|
||
" * Można wybrać losową klasę.\n",
|
||
" * Można wybrać klasę o wyższym prawdopodobieństwie _a priori_.\n",
|
||
" * Można wybrać klasę wskazaną przez algorytm 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": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.8.3"
|
||
},
|
||
"livereveal": {
|
||
"start_slideshow_at": "selected",
|
||
"theme": "amu"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
}
|