Ансамблевое обучение — это парадигма машинного обучения, в которой несколько учащихся обучаются решению одной и той же задачи. Он делает выводы из набора гипотез, а не из одной гипотезы. Ожидается, что все учащиеся в ансамбле будут разными, чтобы их мнение учитывалось. Если они не разнообразны, то их предсказания становятся коррелированными, и вся система так же эффективна, как один классификатор.

В этом посте мы сосредоточимся на проблемах классификации. Как правило, на практике используется либо мажоритарное, либо множественное голосование. В литературе по теории голосования описано много других методов голосования, которые более справедливы при выборе лучшего кандидата, чем эти два метода. В этом посте мы реализуем эти методы и проверяем их влияние на производительность классификатора.

Мы предполагаем, что каждый избиратель оказывает одинаковое влияние на исход голосования, каждое решение о голосовании не зависит от решений других избирателей, ансамбль умеренно разнообразен, а решение о голосовании является объективным.

Независимость и разнообразие обеспечивается начальной загрузкой обучающих данных. Предвзятости при голосовании можно избежать, дублируя записи, связанные с менее часто встречающимися метками классов, чтобы избежать проблемы дисбаланса классов.

2. Теория голосования

Предположим, у нас есть 10 базовых учащихся, пытающихся предсказать одну из этих трех меток, пытающихся предсказать одну из трех категорий, метками которых являются , и . В следующей таблице показаны их голоса и альтернативы. Альтернативы выводятся из распределения вероятностей прогноза.

Эти отдельные голоса могут быть объединены и включены в таблицу предпочтений, которая показывает количество избирателей в верхнем ряду и их ранжированные предпочтения.

Следующий код будет принимать прогнозируемые вероятности в виде массива numpy и возвращать расписание предпочтений.

Запустив этот код, мы получим это расписание предпочтений для текущей проблемы.

Для метода множественности нас интересуют только варианты первого выбора. Если мы суммируем их, мы легко увидим, что А является явным победителем. Но справедливо ли это?

В приведенном выше списке предпочтений давайте просто сосредоточимся на H против A. В первых двух столбцах A является победителем, поскольку он имеет более высокие предпочтения, чем H. В последних двух столбцах H является победителем по тем же причинам. Понятно, что 6 из 10 классификаторов отдают предпочтение категории H.

Это не кажется справедливым. Кондорсе заметил это и разработал критерий Кондорсе, который гласит, что если есть выбор, который предпочтительнее в каждом непосредственном сравнении с другими вариантами выбора, то этот выбор должен быть победителем. Мы называем этого победителя победителем по Кондорсе. В приведенном выше примере мы можем легко проверить, что H предпочтительнее, чем O, и, следовательно, H является победителем по Кондорсе.

Но идеально ли это? Оказывается, можно изменить график предпочтения так, чтобы мы получили циклическое предпочтение. предпочтительнее, предпочтительнее и предпочтительнее.

Но в ситуациях, когда такого циклического предпочтения не существует, можно использовать этот метод голосования.

Еще один метод голосования, на который следует обратить внимание, — Borda Count. Этот метод в основном используется во всем мире для определения победителя. Он описывает систему голосования на основе консенсуса, поскольку иногда она может выбрать более широко приемлемый вариант вместо одной поддержки большинства. Он учитывает весь рейтинг каждого избирателя, чтобы определить результат.

Чтобы найти победителя Borda, мы присваиваем баллы в порядке предпочтений. Чем выше предпочтение, тем выше балл. Одной из таких инициализаций может быть (3,2,1), где первое предпочтение получает 3 балла, второе предпочтение получает 2 балла и т. д. Затем мы берем совокупные суммы и находим класс, который набрал наибольшее количество баллов.

Следующий код реализует метод подсчета борда.

Следует отметить, что эти методы голосования полезны в условиях мультикласса. В случае двухклассовой классификации следует отдать предпочтение голосованию большинством, поскольку оно является справедливым.

3. Эксперимент

Набор данных, рассматриваемый для этого эксперимента, — Glass Dataset из репозитория машинного обучения UCI.

Первый шаг — загрузить данные и очистить их.

Глядя на распределение классов, мы можем заметить, что класс большинства равен 2. Нам нужно увеличить выборку класса меньшинства, чтобы избежать проблемы дисбаланса классов.

Теперь разделим данные на обучение и тестирование.

Набор тестовых данных огромен, потому что набор данных прост в обучении. Мы передаем этот набор данных ансамблю из четырех классификаторов.

Затем мы находим эффективность подсчета борда над большинством голосов.

Вывод получается такой

Здесь все четыре базовых ученика имеют примерно одинаковую точность, поэтому система голосования следует предположению, что каждый из них оказывает одинаковое влияние на результат. Они прошли обучение на сбалансированном наборе данных, поэтому мнение также непредвзятое. Из этих предположений следует, что метод подсчета Борда превосходит метод мажоритарного голосования. Когда эти условия не выполняются, мы можем использовать мажоритарное голосование.

Спасибо за чтение! Пожалуйста, оставляйте отзывы в комментариях, если таковые имеются.

Первоначально опубликовано на сайте sethuiyer.xyz 23 февраля 2018 г.