Метки: Визуальный редактор apiedit |
Метки: Визуальный редактор apiedit |
||
Строка 4: | Строка 4: | ||
Метод основан на предположении о том, что близким объектам в признаковом пространстве соответствуют похожие метки. |
Метод основан на предположении о том, что близким объектам в признаковом пространстве соответствуют похожие метки. |
||
− | Для нового объекта <math> x </math> метод предполагает найти ближайшие к нему объекты <math>x_1, x_2, ... |
+ | Для нового объекта <math> x </math> метод предполагает найти ближайшие к нему объекты <math>x_1, x_2, ... x_K </math> и построить прогноз по их меткам. |
== Формальное описание == |
== Формальное описание == |
||
=== Классификация === |
=== Классификация === |
||
− | + | <math>\hat{y} = \mathrm{arg}\max_y \sum_{k = 1}^{K} {\Iota (y_k == y)}</math> |
|
=== Регрессия === |
=== Регрессия === |
||
+ | <math>\hat{y} = \frac{\sum_{k = 1}^{K} {y_k}}{K}</math> |
||
− | {{TODO}} формула |
||
== Параметры == |
== Параметры == |
||
− | * <math> |
+ | * <math>K</math> - подбирается по [[Кросс-валидация (Cross-validation)|кросс-валидации]] |
* [[Метрики|метрика]] - выбирается исходя из выбранного признакового пространства |
* [[Метрики|метрика]] - выбирается исходя из выбранного признакового пространства |
||
Границы классов при этом будут очень сложными, что интуитивно противоречит тому, что параметр у метода всего один. Парадокс разрешается тем, что на самом деле объекты обучающей выборки также являются своеобразными параметрами алгоритма. |
Границы классов при этом будут очень сложными, что интуитивно противоречит тому, что параметр у метода всего один. Парадокс разрешается тем, что на самом деле объекты обучающей выборки также являются своеобразными параметрами алгоритма. |
||
Строка 36: | Строка 36: | ||
Упорядочим их относительно рассматриваемого объекта х <math>\rho(x, x_{i_1}) <= \rho(x, x_{i_2}) <= \ldots <= \rho(x, x_{i_n}) </math> |
Упорядочим их относительно рассматриваемого объекта х <math>\rho(x, x_{i_1}) <= \rho(x, x_{i_2}) <= \ldots <= \rho(x, x_{i_n}) </math> |
||
− | Обозначим z_1 = x_{i_1}, z_2 = x_{i_2}, \ldots z_K = x_{i_K} |
+ | Обозначим <math> z_1 = x_{i_1}, z_2 = x_{i_2}, \ldots z_K = x_{i_K} </math> |
Обычный алгоритм <math> Knn </math> можно записать с помощью C-дискриминантных функций: |
Обычный алгоритм <math> Knn </math> можно записать с помощью C-дискриминантных функций: |
||
Строка 43: | Строка 43: | ||
где <math> w_c = \{x_i: y_i = c\} </math> |
где <math> w_c = \{x_i: y_i = c\} </math> |
||
− | Тогда алгоритм записывается как |
+ | Тогда алгоритм для классификации записывается как |
<math>\hat{y} = \mathrm{arg}\max_{c = 1, 2, \ldots C} g_c(x) </math> |
<math>\hat{y} = \mathrm{arg}\max_{c = 1, 2, \ldots C} g_c(x) </math> |
||
Тогда мы можем записать <math>Knn</math> со взвешенным учетом объектов через С-дискриминантную функцию. Для случая с весами она принимает вид:<math> g_c(x) = \sum_{k=1}^{K}\operatorname{I}[z_k \in w_c]w(k, \rho(x, z_k)) </math> |
Тогда мы можем записать <math>Knn</math> со взвешенным учетом объектов через С-дискриминантную функцию. Для случая с весами она принимает вид:<math> g_c(x) = \sum_{k=1}^{K}\operatorname{I}[z_k \in w_c]w(k, \rho(x, z_k)) </math> |
||
+ | |||
+ | Для классификации вид алгоритма не изменится. Для регрессии же вид будет следующим: |
||
+ | |||
+ | <math>\hat{y} = \frac{\sum_{k = 1}^{K} {y_i\cdot w(k, \rho(x, z_k)}}{\sum_{k = 1}^{K}w(k, \rho(x, z_k)}</math> |
||
Где <math> w(k, \rho) </math> - вес(степень важности) <math>k </math>-го соседа относительно <math>x </math>, не возрастает по <math>k </math>, положителен. |
Где <math> w(k, \rho) </math> - вес(степень важности) <math>k </math>-го соседа относительно <math>x </math>, не возрастает по <math>k </math>, положителен. |
Версия от 19:01, 5 января 2017
Метод ближайших соседей (kNN - k Nearest Neighbours) - метод решения задач классификации и задач регрессии, основанный на поиске ближайших объектов с известными значения целевой переменной.
Идея
Метод основан на предположении о том, что близким объектам в признаковом пространстве соответствуют похожие метки.
Для нового объекта метод предполагает найти ближайшие к нему объекты и построить прогноз по их меткам.
Формальное описание
Классификация
Регрессия
Параметры
- - подбирается по кросс-валидации
- метрика - выбирается исходя из выбранного признакового пространства
Границы классов при этом будут очень сложными, что интуитивно противоречит тому, что параметр у метода всего один. Парадокс разрешается тем, что на самом деле объекты обучающей выборки также являются своеобразными параметрами алгоритма.
Сложность
Сложность обучения - . Технически правильным ответом также является , так как требуется запоминать обучающую выборку.
Сложность прогнозирования - для каждого объекта. Если по фиксированной обучающей выборке требуется независимо сделать прогноз для объектов, сложность .
Особенности
- + простой, лёгкий и интерпретируемый
- + не требуется предобучения
- + онлайновый
- - высокая сложность одного прогноза
- - проклятие размерности
Взвешенный учёт объектов
Пусть тренировочная выборка задается объектами
Упорядочим их относительно рассматриваемого объекта х
Обозначим
Обычный алгоритм можно записать с помощью C-дискриминантных функций:
где
Тогда алгоритм для классификации записывается как
Тогда мы можем записать со взвешенным учетом объектов через С-дискриминантную функцию. Для случая с весами она принимает вид:
Для классификации вид алгоритма не изменится. Для регрессии же вид будет следующим:
Где - вес(степень важности) -го соседа относительно , не возрастает по , положителен.
Примеры весов
Веса, зависящие от индекса:
Веса, зависящие от расстояния: