Алгоритмы одноклассовой классификации | Кодементор

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

Как я упоминал в своем предыдущем сообщении в блоге, есть 2 метода для решения случая, когда у нас есть данные только из одного класса:

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

Второй — модифицировать существующие алгоритмы классификации для изучения данных только одного класса. Эти алгоритмы называются «алгоритмами классификации с одним классом» и включают в себя SVM с одним классом, K-средние с одним классом, K-ближайшие соседи с одним классом и гауссиан с одним классом.

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

Фундаментальное различие между алгоритмами бинарной и одноклассовой классификации

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

Гиперплоскость бинарной классификацииГиперплоскость бинарной классификации

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

Граница классификации одного классаГраница классификации одного класса

Математика, стоящая за различными алгоритмами классификации одного класса

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

Гауссиан одного класса

Это в основном модель оценки плотности. Предполагается, что обучающие данные представляют собой выборки из Многомерная нормальная популяцияпоэтому для тестовой выборки (скажем, z), имеющей n признаков, вероятность ее принадлежности к целевому классу можно рассчитать следующим образом:

одноклассный гаусс

где параметры µ и Σ – среднее значение населения и ковариация. Следовательно, целевой функцией этого алгоритма машинного обучения является определение оценок для μ и Σ. С использованием метод оценки максимального правдоподобия , мы можем показать, что выборочное среднее и выборочная ковариация являются несмещенными и последовательными оценками для среднего и дисперсии генеральной совокупности соответственно. Следовательно, как только мы вычислим вероятность p(z), мы можем установить порог, чтобы определить, является ли новая выборка выбросом или нет.

Kmeans одного класса

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

K-ближайший сосед одного класса

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

д (г, у) : расстояние между двумя образцами z и y

NN(г) : ближайший сосед выборки y

Теперь, учитывая тестовую выборку z, мы находим ближайшего соседа z из обучающих данных (то есть NN (z) = y) и ближайшего соседа y (то есть NN (y)). Теперь правило состоит в том, чтобы классифицировать z как принадлежащий к целевому классу, когда:

K-ближайший сосед

где значение δ по умолчанию равно 1, но может быть выбрано в соответствии с нашими требованиями.

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

Большое спасибо, что зашли так далеко.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *