Алгоритм СТОЛП
Материал из MachineLearning.
(→Особенности алгоритма) |
|||
Строка 47: | Строка 47: | ||
==Особенности алгоритма== | ==Особенности алгоритма== | ||
- | * Результат работы алгоритма - разбиение всего множества объектов <tex>X^l</tex> на эталонные, шумовые (выбросы) и неинформативные. | + | * Результат работы алгоритма - разбиение всего множества объектов <tex>X^l</tex> на эталонные, шумовые (выбросы) и неинформативные объекты. |
- | * Алгоритм STOLP имеет относительно низкую эффективность, так как на каждой итерации для присоединения очередного эталона необходимо заново классифицировать все объекты, еще не ставшие эталонами и считать на них величину риска. Для ускорения работы можно добавлять по несколько далеко отстоящих друг от друга эталонов, не пересчитывая величины риска. | + | * Алгоритм STOLP имеет относительно низкую эффективность, так как на каждой итерации для присоединения очередного эталона необходимо заново классифицировать все объекты, еще не ставшие эталонами и считать на них величину риска. Для ускорения работы можно добавлять по несколько далеко отстоящих друг от друга эталонов, не пересчитывая величины риска. Кроме того, существует более эффективный алгоритм - [[Алгоритм FRiS-СТОЛП|FRiS-STOLP]] |
==Литература== | ==Литература== |
Версия 18:02, 30 декабря 2009
Алгоритм СТОЛП (STOLP) - алгоритм отбора эталонных объектов для метрического классификатора.
Содержание |
Назначение алгоритма
Пусть дана обучающая выборка , где - объекты, - классы, которым принадлежат эти объекты. Кроме того, задана метрика , такая, что выполняется гипотеза компактности. При классификации объектов метрическим классификатором, например, методом ближайших соседей необходимо вычислять расстояния от классифицируемого объекта до всех объектов обучающей выборки. При этом время, затрачиваемое на это для каждого классифицируемого объекта, пропорционально размеру обучающей выборки. Кроме того, оказывается необходимым хранить большой объем данных.
Но не все объекты обучающей выборки равноценны. Среди них есть и наиболее типичные представители классов, то есть эталоны, и неинформативные объекты, при удалении которых из обучающей выборки качество классификации не изменится, и выбросы, или шумовые объекты - объекты, находящиеся в гуще "чужого" класса, только ухудшающие качество классификации.
Поэтому необходимо уменьшить объем обучающей выборки, оставив в ней только эталонные объекты для каждого класса.
Эталоны
- Эталонами для i-го класса при классификации методом ближайшего соседа могут служить такие объекты этого класса, что расстояние от любого принадлежащего ему объекта из обучающей выборки расстояние до ближайшего "своего" эталона меньше, чем до ближайшего "чужого" эталона.
- Эталоны - это такое подмножество выборки , что есть все объекты (или их большая часть) классифицируются правильно при использовании в качестве обучающей выборки множества эталонов.
- Кроме того, эталон можно определить как объект с большим положительным отступом.
Простой перебор для отбора эталонов не эффективен, так как число способов выбора по t эталонов для каждого класса (число классов k) составляет . Но перебор вариантов можно сократить при помощи алгоритма STOLP
Величина риска
Величина риска (W) - величина, характеризующая степень риска для объекта быть классифицированным не в тот класс, которому он принадлежит.
- При использовании методе ближайшего соседа можно считать , где - расстояние от объекта до ближайшего к нему объекта (или эталона) из "своего" класса, - до ближайшего объекта (или эталона) "чужого" класса.
- При использовании любого метрического алгоритма можно положить , где - отступ на объекте при текущем наборе эталонов Ω.
Кроме того, в зависимости от используемого метода классификации можно подобрать и другие оценки величины риска. Главное, чтобы они принимали большие значения на объектах-выбросах, меньшие - на объектах, находящихся на границе класса, и еще меньшие - на объектах, находящихся в глубине своего класса.
Алгоритм STOLP
Вход
- Выборка
- Допустимая доля ошибок
- Порог отсечения выбросов δ
- Алгоритм классификации
- Формула величины риска W.
Описание алгоритма
- отбросить выбросы (объекты с W>δ)
- сформировать начальное приближение - из объектов выборки выбрать по одному объекту каждого класса, обладающему среди объектов данного класса
- наращивание множества эталонов (пока число объектов выборки , распознаваемых неправильно, не станет меньше ):
- классифицировать объекты , используя в качестве обучающей выборки
- пересчитать величины риска для всех объектов с учетом изменения обучающей выборки
- среди объектов каждого класса, распознанных неправильно, выбрать объекты с максимальной величиной риска и добавить их к
Результат
Множество эталонов для каждого класса представляет собой некоторый набор объектов, находящихся на границе класса, и, если в качестве начального приближения выбирались объекты с минимальной величиной риска, один объект, находящийся в центре класса.
Примечания
- возможен вариант, при котором в обучающей выборке все объекты, принадлежащие одному из классов, имеют W, большую порога отсечения выбросов. Тогда они окажутся отброшены на первом шаге алгоритма. В таком случае имеет смысл сначала сформировать начальное приближение Ω, а потом отбросить объекты с W, большей δ, кроме объектов, входящих в Ω
- если для классификации объектов при построении множества эталонов используется метод ближайшего соседа, то W можно вычислять как отношение расстояния от данного объекта до ближайшего объекта "своего" класса к расстоянию до ближайшего объекта "чужого" класса
- независимо от алгоритма, используемого для классификации , в качестве W можно взять , где - отступ на объекте при текущем наборе эталонов Ω
Особенности алгоритма
- Результат работы алгоритма - разбиение всего множества объектов на эталонные, шумовые (выбросы) и неинформативные объекты.
- Алгоритм STOLP имеет относительно низкую эффективность, так как на каждой итерации для присоединения очередного эталона необходимо заново классифицировать все объекты, еще не ставшие эталонами и считать на них величину риска. Для ускорения работы можно добавлять по несколько далеко отстоящих друг от друга эталонов, не пересчитывая величины риска. Кроме того, существует более эффективный алгоритм - FRiS-STOLP
Литература
См. также
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |