Машинное обучение вики
Метки: Визуальный редактор apiedit
Метки: Визуальный редактор apiedit
Строка 4: Строка 4:
 
Метод основан на предположении о том, что близким объектам в признаковом пространстве соответствуют похожие метки.
 
Метод основан на предположении о том, что близким объектам в признаковом пространстве соответствуют похожие метки.
   
Для нового объекта <math> x </math> метод предполагает найти ближайшие к нему объекты <math>x_1, x_2, ... x_k </math> и построить прогноз по их меткам.
+
Для нового объекта <math> x </math> метод предполагает найти ближайшие к нему объекты <math>x_1, x_2, ... x_K </math> и построить прогноз по их меткам.
   
 
== Формальное описание ==
 
== Формальное описание ==
   
 
=== Классификация ===
 
=== Классификация ===
{{ТеХпроблемы|Что сломалось? = Что за индекс у аргмакса?}}<math>\hat{y} = \operatorname{argmax}_y \sum_{i = 1}^{k} {\Iota (y_i == y)}</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>k</math> - подбирается по [[Кросс-валидация (Cross-validation)|кросс-валидации]]
+
* <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-дискриминантных функций:

где

Тогда алгоритм для классификации записывается как

Тогда мы можем записать со взвешенным учетом объектов через С-дискриминантную функцию. Для случая с весами она принимает вид:

Для классификации вид алгоритма не изменится. Для регрессии же вид будет следующим:

Где - вес(степень важности) -го соседа относительно , не возрастает по , положителен.

Примеры весов

Веса, зависящие от индекса:

Веса, зависящие от расстояния: