Обучение ансамблю, система множественных классификаторов - PullRequest
4 голосов
/ 02 марта 2012

Я пытаюсь использовать MCS (мультиклассификационную систему) для улучшения работы с ограниченными данными, т.е. для повышения точности.

В настоящее время я использую кластеризацию K-средних, но могу выбрать FCM (Нечеткие c-средства), когда данные группируются в группы (кластеры), в которых данные могут представлять что угодно, например, цвета. Я сначала кластеризирую данные после предварительной обработки и нормализации и получаю несколько отдельных кластеров с большим количеством промежуточных. Затем я продолжаю использовать кластеры в качестве данных для байесовского классификатора, каждый кластер представляет отдельный цвет, и байесовский классификатор обучается, а данные из кластеров затем передаются через отдельные байесовские классификаторы. Каждый байесовский классификатор обучается только одному цвету. Если мы возьмем цветовой спектр 3 - 10 как синий, 13 - 20 - как красный, а спектр в диапазоне от 0 - 3 - от белого до 1,5, так и постепенно он станет синим, через 1,5 - 3 и таким же для синего до красного.

Что я хотел бы знать, так это то, как или какой метод агрегирования (если это то, что вы бы использовали) мог бы применяться, чтобы классификатор Байеса мог стать сильнее, и как он работает? Метод агрегации уже знает ответ, или это будет человеческое взаимодействие, которое корректирует результаты, и затем эти ответы возвращаются в данные обучения Байеса? Или сочетание обоих? Глядя на агрегацию Bootstrap, она подразумевает, чтобы каждая модель в голосовании ансамбля имела равный вес, поэтому не совсем уверен, что в этом конкретном случае я бы использовал суммирование в качестве метода агрегирования? Повышение, однако, включает в себя поэтапное построение ансамбля путем обучения каждого нового экземпляра модели, чтобы подчеркнуть обучающие экземпляры, которые предыдущие модели неправильно классифицировали, не уверен, что это будет лучшей альтернативой пакетированию, так как я не уверен, как он постепенно строится на новых экземплярах? И, наконец, последним будет усреднение по Байесовской модели, которое представляет собой метод ансамбля, который стремится аппроксимировать Байесовский оптимальный классификатор путем отбора гипотез из пространства гипотез и объединения их с использованием закона Байеса, однако совершенно не уверен, как вы будете выбирать гипотезы из пространства поиска?

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

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

1 Ответ

4 голосов
/ 11 октября 2012

У меня есть некоторые проблемы с методом, который вы используете:

  1. K-means ставит в каждом кластере точки, наиболее близкие к нему. А затем вы тренируете классификатор, используя выходные данные. Я думаю, что классификатор может превзойти неявную классификацию кластеризации, но только с учетом количества выборок в каждом кластере. Например, если ваши тренировочные данные после кластеризации у вас есть тип A (60%), тип B (20%), тип C (20%); ваш классификатор предпочтет брать неоднозначные выборки для типа А, чтобы получить меньшую ошибку классификации.
  2. K-означает, зависит от того, какие "координаты" / "особенности" вы берете из объектов. Если вы используете функции, в которых смешаны объекты разных типов, производительность K-средних снизится. Удаление таких функций из вектора элементов может улучшить ваши результаты.
  3. Ваша "особенность" / "координаты", представляющая объекты, которые вы хотите классифицировать, может измеряться в разных единицах. Этот факт может повлиять на ваш алгоритм кластеризации, поскольку вы неявно устанавливаете преобразование единиц между ними с помощью функции ошибки кластеризации. Окончательный набор кластеров выбирается с помощью нескольких испытаний кластеризации (которые были получены при разных инициализациях кластера) с использованием функции ошибок. Таким образом, выполняется неявное сравнение различных координат вашего векторного признака (возможно, вводится коэффициент неявного преобразования).

Принимая во внимание эти три момента, вы, вероятно, увеличите общую производительность вашего алгоритма, добавив этапы предварительной обработки. Например, при распознавании объектов для приложений компьютерного зрения большая часть информации, взятой из изображений, поступает только от границ на изображении. Вся информация о цвете и часть информации о текстуре не используются. Границы вычитаются из изображения, обрабатывающего изображение, чтобы получить дескрипторы гистограммы ориентированных градиентов (HOG). Этот дескриптор возвращает «особенности» / «координаты», которые лучше разделяют объекты, таким образом, повышая производительность классификации (распознавания объектов). Теоретически дескрипторы выбрасывают информацию, содержащуюся в изображении. Тем не менее, они предоставляют два основных преимущества: (а) классификатор будет работать с данными с более низкой размерностью, и (б) дескрипторы, рассчитанные по данным испытаний, могут быть легче сопоставлены с данными обучения.

В вашем случае я предлагаю вам попытаться улучшить свою точность, используя аналогичный подход:

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

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...