LPBoost - Википедия - LPBoost
Повышение уровня линейного программирования (LPBoost) это контролируемый классификатор от повышение семейство классификаторов. LPBoost максимизирует поле между обучающими выборками разных классов и, следовательно, также принадлежит к классу контролируемых алгоритмов классификации с максимизацией маржи. Рассмотрим классификационную функцию
который классифицирует образцы из космоса в один из двух классов, обозначенных 1 и -1 соответственно. LPBoost - это алгоритм учиться такая классификационная функция задана набором обучающих примеров с известными метками классов. LPBoost - это машинное обучение техника и особенно подходит для приложений совместной классификации и выбора признаков в структурированных областях.
Обзор LPBoost
Как и во всех повышающих классификаторах, окончательная классификационная функция имеет вид
куда неотрицательные веса для слабый классификаторы . Каждый отдельный слабый классификатор может быть немного лучше, чем случайный, но полученная линейная комбинация многих слабых классификаторов может работать очень хорошо.
LPBoost конструкции начиная с пустого набора слабых классификаторов. Итеративно выбирается один слабый классификатор для добавления к набору рассматриваемых слабых классификаторов, добавляется и все веса для текущего набора слабых классификаторов настроены. Это повторяется до тех пор, пока не останется слабых классификаторов для добавления.
Свойство, что все веса классификатора корректируются на каждой итерации, известно как полностью корректирующий свойство. Ранние методы повышения, такие как AdaBoost не обладают этим свойством и сходятся медленнее.
Линейная программа
В общем, пусть - возможно бесконечное множество слабых классификаторов, также называемых гипотезы. Один из способов записать проблему, которую решает LPBoost, - это линейная программа с бесконечным числом переменных.
Основная линейная программа LPBoost, оптимизирующая неотрицательный весовой вектор. неотрицательный вектор резервных переменных и поле следующее.
Обратите внимание на влияние переменных резервирования : их единичная норма штрафуется в целевой функции на постоянный коэффициент , который - если он достаточно мал - всегда приводит к практически выполнимой линейной программе.
Здесь мы приняли обозначение пространства параметров , так что на выбор слабый классификатор однозначно определено.
Когда вышеупомянутая линейная программа была впервые написана в ранних публикациях о методах повышения, она не рассматривалась как неразрешимая из-за большого количества переменных. . Лишь позже было обнаружено, что такие линейные программы действительно могут быть эффективно решены с использованием классической техники генерация столбца.
Генерация столбцов для LPBoost
В линейная программа а столбец соответствует первичной переменной. Генерация столбца это метод решения больших линейных программ. Обычно он работает в ограниченной задаче, имея дело только с подмножеством переменных. Итеративная генерация простых переменных по требованию позволяет в конечном итоге решить исходную неограниченную проблему со всеми переменными. Путем грамотного выбора столбцов для генерации можно решить проблему таким образом, чтобы при сохранении оптимальности полученного решения для исходной полной проблемы, нужно было создать только небольшую часть столбцов.
LPBoost двойная проблема
Столбцы в первичной линейной программе соответствуют строкам в двойная линейная программа. Эквивалентная двойная линейная программа LPBoost - это следующая линейная программа.
За линейные программы оптимальное значение первичного и двойная проблема равны. Для указанных выше прямой и двойственной задач оптимальное значение равно отрицательному «мягкому запасу». Мягкий запас - это размер поля, отделяющего положительные обучающие экземпляры от отрицательных минус положительные переменные резерва, которые несут штрафы за образцы с нарушением маржи. Таким образом, мягкий запас может быть положительным, хотя не все образцы линейно разделены функцией классификации. Последнее называется «жесткой маржой» или «реализованной маржей».
Критерий сходимости
Рассмотрим подмножество удовлетворенных ограничений в двойственной задаче. Для любого конечного подмножества мы можем решить линейную программу и, таким образом, удовлетворить все ограничения. Если бы мы могли доказать, что из всех ограничений, которые мы не добавляли к двойной задаче, ни одно ограничение не нарушается, мы бы доказали, что решение нашей ограниченной задачи эквивалентно решению исходной задачи. Более формально, пусть - оптимальное значение целевой функции для любого ограниченного экземпляра. Затем мы можем сформулировать задачу поиска «наиболее нарушенного ограничения» в исходном проблемном пространстве, а именно найти в качестве
То есть мы ищем пространство для одного пень решения максимизируя левую часть двойного ограничения. Если ограничение не может быть нарушено никаким выбором пня решения, ни одно из соответствующих ограничений не может быть активным в исходной задаче, и ограниченная задача эквивалентна.
Константа пенализации
Положительное значение константы штрафов должен быть найден с помощью выбор модели техники. Однако, если мы выберем , куда - количество обучающих выборок и , то новый параметр обладает следующими свойствами.
- - верхняя граница доли ошибок обучения; то есть, если обозначает количество неверно классифицированных обучающих выборок, тогда .
- - это нижняя граница доли обучающих выборок вне или на границе.
Алгоритм
- Вход:
- Обучающий набор ,
- Этикетки для обучения ,
- Порог сходимости
- Выход:
- Функция классификации
- Инициализация
- Гири, униформа
- Край
- Количество гипотез
- Повторять
- если тогда
- перемена
- решение двойного LPBoost
- Лагранжевы множители решения двойственной задачи LPBoost
Обратите внимание, что если порог сходимости установлен на полученное решение является глобальным оптимальным решением указанной выше линейной программы. На практике, устанавливается на небольшое положительное значение, чтобы быстро получить хорошее решение.
Реализованная маржа
Фактический запас, разделяющий обучающие выборки, называется реализованная маржа и определяется как
Реализованная маржа может и обычно будет отрицательной на первых итерациях. Для пространства гипотез, которое позволяет выделить любую отдельную выборку, как это обычно бывает, реализованный запас в конечном итоге сходится к некоторому положительному значению.
Гарантия сходимости
Доказано, что приведенный выше алгоритм сходится, в отличие от других формулировок повышения, таких как AdaBoost и TotalBoost, нет известных границ сходимости для LPBoost. Однако на практике известно, что LPBoost быстро сходится, часто быстрее, чем другие составы.
Базовые ученики
LPBoost - это ансамблевое обучение метод и, следовательно, не диктует выбор базовых учащихся, пространство гипотез . Demiriz et al. показал, что при умеренных предположениях можно использовать любого базового учащегося. Если базовые учащиеся особенно просты, их часто называют пни решения.
Количество базовых учащихся, обычно используемых с Boosting в литературе, велико. Например, если , базовым учеником может быть линейный мягкий запас Машина опорных векторов. Или еще проще - простой культей формы
Вышеупомянутые пни решения выглядят только в одном измерении. входного пространства и просто устанавливает пороговое значение для соответствующего столбца выборки, используя постоянный порог . Затем он может принять решение в любом направлении, в зависимости от для положительного или отрицательного класса.
При заданных весах для обучающих выборок построение оптимального пня решения в приведенной выше форме просто включает поиск по всем столбцам выборки и определение , и для оптимизации функции усиления.
Рекомендации
- Повышение уровня линейного программирования за счет создания столбцов, А. Демириз, К. Беннетт и Дж. Шоу-Тейлор. Опубликовано в 2002 г. в Kluwer Machine Learning 46, страницы 225–254.