Transcript PowerPoint

МЕТОД K-БЛИЖАЙШИХ СОСЕДЕЙ
(K-NEAREST NEIGHBOR)
Метод решения задачи классификации, который
относит объекты к классу, которому принадлежит
большинство из k его ближайших соседей в многомерном
пространстве признаков. Это один из простейших
алгоритмов обучения классификационных моделей. Число
k – это количество соседних объектов в пространстве
признаков, которое сравнивается с классифицируемым
объектом.
МЕТОД K-БЛИЖАЙШИХ
СОСЕДЕЙ
АЛГОРИТМ
Для классификации каждого из объектов тестовой
выборки необходимо последовательно выполнить
следующие операции:
Вычислить расстояние до каждого из объектов
обучающей выборки,
Отобрать k объектов обучающей выборки,
расстояние до которых минимально,
Класс классифицируемого объекта — это класс,
наиболее часто встречающийся среди k
ближайших соседей.
ЭВКЛИДОВО РАССТОЯНИЕ
Геометрическое расстояние в многомерном
пространстве признаков и вычисляется следующим
образом:
𝑑𝑎𝑏 =
где
𝑛
𝑖=1
𝑥𝑎𝑖 − 𝑥𝑏𝑖 2 ,
a и b – точки в n-мерном пространстве,
i – порядковый номер признака,
𝑥𝑎𝑖 и 𝑥𝑏𝑖 - координаты точек a и b по
признаку i.
Для QSAR моделей 𝒙𝒂𝒊 и 𝒙𝒃𝒊 - значения i-того
дескриптора для молекул a и b.
НОРМАЛИЗАЦИЯ
Минимаксная нормализация:
𝑥 − 𝑥𝑚𝑖𝑛
∗
𝑥 =
𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛
Нормализация с помощью стандартного
отклонения:
𝑥 − 𝑥𝑚𝑒𝑎𝑛
∗
𝑥 =
𝜎𝑥
где 𝜎𝑥 - стандартное отклонение.
ПРОСТОЕ НЕВЗВЕШЕННОЕ
ГОЛОСОВАНИЕ
ПРОСТОЕ НЕВЗВЕШЕННОЕ
ГОЛОСОВАНИЕ
Класс, который наберет наибольшее
количество голосов, присваивается новому
элементу.
𝑘
𝑖
𝑦𝑎 𝑎, 𝑋, 𝑘 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑦∈𝑌
𝑦𝑎 = 𝑦
𝑖=1
где a – новый объект (соединение),
X – обучающая выборка,
y – класс,
Y – множество классов,
𝑖
𝑦𝑎 – класс i-того соседа а,
k – количество соседей.
ВЗВЕШЕННОЕ ГОЛОСОВАНИЕ
ВЗВЕШЕННОЕ ГОЛОСОВАНИЕ
В данном случае учитывается также и расстояние до
нового объекта.
𝑘
1
𝑖
𝑦𝑎 𝑎, 𝑋, 𝑘 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑦∈𝑌
𝑦
𝑎 =𝑦
2
𝑑 𝑎, 𝑏
𝑖=1
где a – новый объект (соединение),
X – обучающая выборка,
y – класс,
Y – множество классов,
𝑖
𝑦𝑎 – класс i-того соседа а,
𝑑 𝑎, 𝑏 – расстояние от известного объекта b до
новой a,
k – количество соседей.
ПРИМЕНЕНИЕ kNN ДЛЯ
РЕГРЕССИОННЫХ ЗАДАЧ
𝑦𝑎 =
𝑖 2
𝑛
𝑦
𝑖=1 𝑎 𝑑 𝑎, 𝑏
𝑛
2 𝑎, 𝑏
𝑑
𝑖=1
где 𝑦𝑎 - свойство нового объекта а,
𝑖
𝑦𝑎 – свойство i-того соседа а,
𝑑 𝑎, 𝑏 – расстояние от известного объекта
b до новой a.
ПРИМЕР: ИРИСЫ ФИШЕРА
150 цветков трех классов:
Iris Setosa
Iris Versicolour
Iris Virginica
Два параметра: длина чашелистика и длина
лепестка.
Два новых цветка со следующими значениями
длины чашелистика и лепестка: 5,3 и 1,6 (цветок 1), 6,1
и 4,8 (цветок 2).
ИРИСЫ ФИШЕРА: ДИАГРАММА
РАЗМЕЩЕНИЯ КЛАССОВ
ИРИСЫ ФИШЕРА: ПРОСТОЕ
НЕВЗВЕШЕННОЕ ГОЛОСОВАНИЕ
Цветок 1. Зададим k=3.
Ближайшие соседи: A (5,3; 1,5), В(5,2; 1,5) и С(5,2; 1,5).
𝑑 цветок 1, 𝐴 = 5,3 − 5,3 2 + 1,6 − 1,5 2 = 0,1
𝑑 цветок 1, 𝐵 = 5,3 − 5,2 2 + 1,6 − 1,5 2 = 0,14
𝑑 цветок 1, С = 5,3 − 5,2 2 + 1,6 − 1,5 2 = 0,14
Объект
Чашелистик
Лепесток
Расстояние
Класс
Цветок 1
5,3
1,6
-
-
A
5,3
1,5
0,1
Iris Setosa
B
5,2
1,5
0,14
Iris Setosa
C
5,2
1,5
0,14
Iris Setosa
Класс цветка 1: Iris Setosa
ИРИСЫ ФИШЕРА: ПРОСТОЕ
НЕВЗВЕШЕННОЕ ГОЛОСОВАНИЕ
Цветок 2. Зададим k=3 и предположим, что длина
лепестка вдвое важнее длины чашелистика.
Ближайшие соседи: A(6,1; 4,7), B(6; 4,8), C(6,2 4,8)
𝑑 цветок 1, 𝐴 = 6,1 − 6,1 2 +2 4,8 − 4,7 2 = 0,14
𝑑 цветок 1, 𝐵 = 6,1 − 6 2 +2 4,8 − 4,8 2 = 0,1
𝑑 цветок 1, 𝐶 = 6,1 − 6,2 2 +2 4,8 − 4,8 2 = 0,1
Объект
Чашелистик
Лепесток
Расстояние
Класс
Цветок 2
6,1
4,8
-
-
A
6,1
4,7
0,14
Iris Versicolour
B
6
4,8
0,1
Iris Virginica
C
6,2
4,8
0,1
Iris Virginica
Класс цветка 2: Iris Virginica
ИРИСЫ ФИШЕРА: ВЗВЕШЕННОЕ
ГОЛОСОВАНИЕ
𝑦𝑎 цветок2, 𝑋, 𝑘
= 𝑎𝑟𝑔𝑚𝑎𝑥𝑦∈𝑌
1
1
+
𝐼𝑟𝑖𝑠 𝑉𝑖𝑟𝑔𝑖𝑛𝑖𝑐𝑎,
2
2
0,1
0,1
1
0,2
2
𝐼𝑟𝑖𝑠 𝑉𝑒𝑟𝑠𝑖𝑐𝑜𝑙𝑜𝑢𝑟
= 𝑎𝑟𝑔𝑚𝑎𝑥𝑦∈𝑌 200 ∙ 𝐼𝑟𝑖𝑠 𝑉𝑖𝑟𝑔𝑖𝑛𝑖𝑐𝑎, 50 ∙ 𝐼𝑟𝑖𝑠 𝑉𝑒𝑟𝑠𝑖𝑐𝑜𝑙𝑜𝑟 = 𝐼𝑟𝑖𝑠 𝑉𝑖𝑟𝑔𝑖𝑛𝑖𝑐𝑎
Класс цветка 2: Iris Virginica
ДОСТОИНСТВА МЕТОДА kNN
Программная реализация алгоритма относительно
проста.
Возможность модификации алгоритма.
Алгоритм устойчив к аномальным выбросам.
Возможность интерпретации результатов работы
алгоритма.
НЕДОСТАТКИ МЕТОДА kNN
 Набор данных, используемый для алгоритма, должен быть
репрезентативным.
 Необходимость хранить обучающую выборку целиком.
 В простейших случаях метрические алгоритмы имеют
крайне бедный набор параметров, что исключает
возможность настройки алгоритма по данным.
 Затраты в производительности велики, поскольку нам
необходимо вычислить расстояния между каждым
экземпляром и всеми пробными экземплярами.
ПРИМЕНЕНИЕ МЕТОДА kNN
Распознавание текста,
Сельское хозяйство,
Финансы,
Медицина,
Обнаружение мошенничества,
QSAR.
ПОСТРОЕНИЕ МОДЕЛИ В R
preProc <- preProcess(x, method=c("scale", "center"))
x <- predict(preProc, x) set.seed(42)
cv <- createFolds(y, 5, returnTrain=TRUE)
trControl <- trainControl(method="LGOCV", index=cv,
savePredictions=TRUE, preProcOptions=NULL)
knnGrid <- data.frame(k=seq(1,20,2))
m.knn <- train(x, y, method="knn", trControl=trControl,
tuneGrid=knnGrid)
ВЫБОРКА ПО РАСТВОРИМОСТИ
РЕЗУЛЬТАТЫ
CROSS-VALIDATION
TEST SET
1.2
1.4
1
1.2
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
GBM
kNN
PLS
RMSE
RF
R2
SVM
0
GBM
kNN
PLS
RMSE
RF
R2
SVM
22
ВЫБОРКА ПО МУТАГЕННОСТИ
РЕЗУЛЬТАТЫ
TEST SET:ACCURACY
CROSS-VALIDATION
0.8
0.74
0.7
0.73
0.6
0.72
0.5
0.71
0.4
0.7
0.3
0.69
0.2
0.68
0.1
0.67
0
kNN
RF
Accuracy
SVM
Kappa
0.66
0.65
kNN
RF
SVM