ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.11.2021
Просмотров: 3657
Скачиваний: 4
Глава
20
Анализ методом ближайших
соседей
Анализ ближайших соседей представляет собой метод классификации наблюдений на
основе сходства наблюдений
.
В процессе машинного обучения был разработан способ
распознавания шаблонов данных без необходимости точного соответствия с какими
-
либо
сохраненными шаблонами или наблюдениями
.
Подобные наблюдения близки друг к другу
,
а непохожие наблюдения
,
наоборот
,
удалены друг от друга
.
Таким образом
,
дистанция
между двумя наблюдениями является критерием их различия
.
Близкие друг к другу наблюдения называются
“
соседи
.”
Когда представляется новое
наблюдение
,
обозначенное знаком вопроса
,
вычисляется его расстояние от всех других
наблюдений в модели
.
Определяется классификация наиболее похожих наблюдений
–,
ближайших соседей
–,
и новое наблюдение помещается в категорию
,
в которой содержится
наибольшее количество ближайших соседей
.
Пользователь может указать количество анализируемых ближайших соседей
;
это значение
обозначается
k
.
На рисунках ниже показано
,
каким образом новое наблюдение будет
классифицироваться с использованием двух различных значений
k
.
Если
k
= 5,
новое
наблюдение помещается в категорию
1
,
поскольку большинство ближайших соседей
принадлежит категории
1
.
Однако если
k
= 9,
новое наблюдение помещается в категорию
0
,
поскольку большинство ближайших соседей принадлежит категории
0
.
Рисунок 20-1
Влияние изменения значения k на классификацию
Анализ ближайших соседей также может использоваться для вычисления значений для
непрерывного целевого объекта
.
В этой ситуации среднее целевое значение ближайших
соседей используется для получения предсказанного значения для нового наблюдения
.
© Copyright IBM Corporation 1989, 2011.
137
138
Глава 20
Цель и показатели.
В качестве цели и показателей могут использоваться следующие
переменные
:
Номинальные.
Переменную можно рассматривать как номинальную
,
когда ее значения
представляют категории без естественного упорядочения
,
например
,
подразделение
компании
,
где работает наемный сотрудник
.
Примеры номинальных переменных
включают регион
,
почтовый индекс или религию
.
Порядковые.
Переменную можно рассматривать как порядковую
,
когда ее значения
представляют категории с некоторым естественным для них упорядочением
,
например
,
уровни удовлетворенности обслуживанием от крайней неудовлетворенности
до крайней удовлетворенности
.
Примеры порядковых переменных включают
баллы
,
представляющие степень удовлетворенности или уверенности
,
или баллы
,
оценивающие предпочтение
.
Шкала.
Переменную можно рассматривать как количественную
(
непрерывную
),
когда
ее значения представляют упорядоченные категории с осмысленной метрикой
,
так
что уместно сравнивать расстояния между значениями
.
Примеры количественной
переменной включают возраст в годах и доход в тысячах долларов
.
Процедура анализа методом ближайших соседей одинаково трактует номинальные
и порядковые переменные
.
Для данной процедуры предполагается
,
что каждой
переменной присвоен подходящий тип шкалы измерений
,
хотя можно временно
изменить тип шкалы измерений для переменной
,
щелкнув правой клавишей мыши
на переменной в списке исходных переменных и выбрав тип шкалы измерений из
контекстного меню
.
Пиктограмма
,
расположенная рядом с каждой переменной в списке переменных
,
показывает тип шкалы измерений и тип данных
:
Числовой
Текстовый
Дата
Время
Количественная
(
непрерывная
)
(
не задается
)
Порядковая
Номинальная
Кодировка категориальных переменных.
Процедура на время своего выполнения
перекодирует категориальные предикторные и зависимую переменные
,
используя
кодировку
«
один
-
из
-
c
».
Если переменная имеет
c
категорий
,
то значения этой переменной
хранятся как
c
векторов
,
при этом первой категории приписывается
(1,0,...,0),
следующей
категории
- (0,1,0,...,0), ...,
и последней категории
- (0,0,...,0,1).
Данная схема кодировки увеличивает размерность пространства показателей
.
В
частности
,
общее число измерений равно числу количественных предикторов плюс
число категорий по всем категориальным предикторам
.
Как результат
,
такая схема
кодировки может привести к увеличению времени обучения
.
Если для метода ближайших
соседей обучение работает очень медленно
,
то можно попытаться уменьшить число
категорий категориальных предикторов
,
прежде чем запустить процедуру
,
путем
139
Анализ методом ближайших соседей
объединения похожих категорий или
,
отбрасывая наблюдения
,
которые имеют очень редко
встречающиеся категории
.
Все кодирование вида
«
один
-
из
-
c
»
основывается на обучающих данных
,
даже если
задана контрольная выборка
(
см
.
раздел
).
Таким образом
,
если контрольная
выборка содержит наблюдения с категориями предикторов
,
которые не присутствуют в
обучающих данных
,
то такие наблюдения не учитываются
.
Если контрольная выборка
содержит наблюдения с категориями зависимой переменной
,
которые не присутствуют в
обучающих данных
,
то такие наблюдения учитываются
.
Изменение масштаба.
Количественные показатели нормализуются по умолчанию
.
Все изменение масштаба выполняется
,
основываясь на обучающих данных
,
даже если
задана контрольная выборка
(
см
.
раздел
на стр
. 145).
При задании переменной
,
определяющей группы
,
важно
,
чтобы показатели имели похожие распределения по
обучающей и контрольной выборкам
.
Воспользуйтесь
,
например
,
процедурой
для того чтобы проверить распределения по группам
.
Частотные веса
Частотные веса игнорируются данной процедурой
.
Воспроизведение результатов.
В процессе случайного формирования групп и слоев для
перекрестной проверки данная процедура генерирует случайные числа
.
Если необходимо
иметь возможность точно воспроизвести полученные результаты
,
то в дополнение к тем
же установкам для процедуры задайте значение для генератора Твистер Мерсенна
(
см
.
раздел
на стр
. 145)
или используйте переменные для задания групп и слоев для
перекрестной проверки
.
Как выполнить анализ методом ближайших соседей
Выберите в меню
:
Анализ > Классификация > Ближайшие соседи...
140
Глава 20
Рисунок 20-2
Вкладка Анализ методом ближайших соседей: Переменные
E
Задайте один или несколько показателей
,
которые при наличии целевой переменной могут
рассматриваться как независимые переменные или предикторы
.
Цель (необязательно).
Если не задана цель
(
зависимая переменная или отклик
),
то
процедура только находит
k
ближайших соседей
–
классификация или предсказание не
выполняются
.
Нормализовать количественные показатели.
Нормализованные показатели имеют один
и тот же диапазон значений
,
что может повысить эффективность алгоритма оценивания
.
Используется
«
скорректированная нормализация
»: [2*(x
−
min)/(max
−
min)]
−
1.
Значения со
скорректированной нормализацией лежат между −
1
и
1.
Идентификатор фокусного наблюдения (необязательно).
Он позволяет отметить
наблюдения
,
представляющие особый интерес
.
Например
,
исследователь хочет проверить
,
сопоставимы ли баллы оценок для одного школьного округа
(
США
) –
фокусного
наблюдения
–
с таковыми для схожих школьных округов
.
Он использует анализ методом
ближайших соседей
,
для того чтобы найти школьные округа
,
наиболее похожие по
заданному набору показателей
.
Затем он сравнивает баллы оценок для фокусного
школьного округа с баллами оценок для ближайших соседей
.
141
Анализ методом ближайших соседей
Фокусные наблюдения также можно использовать в клинических исследованиях для выбора
контрольных наблюдений
,
подобных клиническим наблюдениям
.
Фокусные наблюдения
выводятся в таблице
k
ближайших соседей и расстояний
,
на диаграмме пространства
показателей
,
на диаграмме соседей и на диаграмме квадрантов
.
Информация о фокусных
наблюдениях сохраняется в файлах
,
заданных на вкладке Вывод
.
Наблюдения с положительным значением заданной переменной рассматриваются как
фокусные наблюдения
.
Недопустимо задавать переменную
,
не имеющую положительных
значений
.
Метка наблюдения (необязательно).
Наблюдения помечаются
,
используя эти значения
,
на
диаграмме пространства показателей
,
на диаграмме соседей и на диаграмме квадрантов
.
Поля с неизвестным типом шкалы измерений
В случае
,
когда тип измерений для одной или нескольких переменных
(
полей
)
в наборе
данных неизвестен
,
выводится предупреждающее сообщение о типе измерений
.
Так как
тип измерений влияет на вычисление результатов для этой процедуры
,
все переменные
должны иметь заданный тип измерений
.
Рисунок 20-3
Предупреждение о типе измерений
Сканировать данные.
Считывает данные в активном наборе данных и назначает тип
измерений по умолчанию любым полям с неизвестным типом измерений
.
Это может
занять некоторое время
,
если набор данных большой
.
Назначить вручную.
Открывает диалоговое окно
,
в котором перечисляются все поля
с неизвестным типом измерений
.
Можно использовать это диалоговое окно
,
чтобы
назначить тип измерений таким полям
.
Тип измерений можно также назначит на
вкладке Переменные Редактора данных
.
Поскольку тип измерений важен для этой процедуры
,
нельзя получить доступ к
диалоговому окну
,
позволяющему запустить эту процедуру
,
пока для всех полей не будет
задан тип измерений
.