Научная статья на тему 'Анализ методов бинарной классификации'

Анализ методов бинарной классификации Текст научной статьи по специальности «Математика»

CC BY
1816
526
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСКРИМИНАНТНЫЙ АНАЛИЗ / ROC-КРИВАЯ / ПОКАЗАТЕЛЬ AUC / PYTHON(X / Y) / DISCRIMINANT ANALYSIS / ROC-CURVE / AUC

Аннотация научной статьи по математике, автор научной работы — Донцова Юлия Сергеевна

Рассматривается задача бинарной классификации о принадлежности объекта, характеризующегося заданным вектором признаков, к одному из двух классов. Методами ROC-анализа проведен сравнительный анализ методов бинарной классификации, реализованных на Python(x, y).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF BINARY CLASSIFICATION METHODS

It is considered the problem of binary classification of objects, described by the attributes vector, to any of two classes. It was performed a comparative analysis of binary classification methods using ROC-analysis method realized by means of Python(x, y) language.

Текст научной работы на тему «Анализ методов бинарной классификации»

УДК 519.23

АНАЛИЗ МЕТОДОВ БИНАРНОЙ КЛАССИФИКАЦИИ

© 2014 Ю.С. Донцова

Ульяновский государственный технический университет

Поступила в редакцию 25.06.2014

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

Ключевые слова: дискриминантный анализ, ROC-кривая, показатель АиС, Ру^оп(х, у)

Задача бинарной классификации позволяет решить вопрос о принадлежности объекта к одному из двух классов. Пусть имеется конечное множество объектов О={Оь..Оп}, каждый из которых характеризуется ш-мерным вектором признаков (Х1.Хт). Признаки могут быть как числовыми, так и нечисловыми. При этом для некоторых представителей исходного множества известно, к какому классу они относятся. Данные объекты образуют обучающую выборку. Классовая принадлежность остальных объектов неизвестна. Необходимо построить алгоритм, способный определить для произвольного объекта из исходной выборки класс Щ-, ]=1,2 к которому следует отнести объект. Для решения сформулированной задачи могут быть использованы несколько методов классификации:

• «Случайный лес»

• Градиентный бустинг деревьев решений

• Наивный байесовский классификатор

• Дискриминантный анализ

• Логистическая регрессия

«Случайный лес». Данный метод заключается в использовании множества деревьев принятия решений, каждое из которых представляет собой алгоритм классификации объектов к тому или иному классу на основе независимых переменных (признаков) [2]. Эти деревья могут быть получены различными методами, по разным выборкам наблюдений за одним и тем же объектом, путем привлечения различных характеристик. Такое «многостороннее» рассмотрение задачи, как правило, приводит к лучшему пониманию закономерностей исследуемого объекта. На первом шаге из обучающей выборки генерируется случайная подвыборка с повторением размера п. На втором шаге строится дерево принятия решений, которое классифицирует объекты данной подвыборки. Причем

Донцова Юлия Сергеевна, ydoncova@yandex. ru

аспирантка. E-mail:

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

Определение 1. Пусть имеется множество объектов 0={0i...0n}, г из которых обладают некоторым свойством S, принимающим l различных значений. Тогда энтропия множества О по отношению к свойству S определяется по формуле:

1 r r

H (О, S) = -2 г log r.

n n

Чем меньше значение энтропии, тем больше информации содержится в варианте разделения и тем лучше разделение объектов.

Определение 2. Для множества объектов 0={01...0п} и свойства S, принимающего l различ-ных значений индекс Джини вычисляя-ется следующим образом:

Gini (О, S) = 1-YV4.

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

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

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

Градиентный бустинг деревьев решений. Термин «бустинг» от англ. «boosting» означает улучшение и представляет собой процедуру последовательного построения композиции алгоритмов машинного обучения, когда каждый следующий алгоритм стремится компенсировать недостатки композиции всех предыдущих алгоритмов. С точки зрения классификации бустинг деревьев решений считается одним из наиболее эффективных методов. Данный алгоритм строит модель в виде суммы деревьев:

M

f (x) = ho + v£ hj (x),

j=i

где h0 - начальное приближение, v e (0,1] - параметр, регулирующий скорость обучения и влияя-ние отдельных деревьев на всю модель, h/x) -деревья решений.

Новые слагаемые-деревья добавляются в сумму путем минимизации эмпирического риска, заданного некоторой функцией потерь:

L(y, y)=L(y, f(x))

Функция

ЧУ,У,У2) = ■-¿О = к)1п( 26ХР(У[) )

к= ¿ ехр( у'к)

1=1

предназначена для решения задач классификации на 2 класса.

Байесовский классификатор. В основе байесовского подхода лежит принцип максимального использования имеющейся априорной информации о процессах, ее непрерывного пересмотра и переоценки с учетом получаемых выборочных данных [1]. Применительно к задаче классификации используют так называемые байесовские сети. Строго байесовской сетью называется пара: N = (0,0 где О - ориентированный ацикличный граф, а Q - набор условных распределений. Каждая вершина графа соответствует одной из переменных (Х^.Х^, характеризующих исследуемый объект, для каждой из которых задано условное распределение:

йш , = р( ^П х)

где 11 х - множество непосредственных предшественников Х, в графе О. Совместное распределение при этом определяется по формуле:

т

Р( Х1,..., Х т ) =П Р( ХМ X )

1=1 .

Также байесовские сети позволяют оценить условные вероятности Р(Х'Х0 остальных переменных. При классификации объектов на классы граф О условно разделяется на две части: вершина К, соответствующая классу объекта, и все остальные вершины. В случае наивного байесовского классификатора из вершины К проведены стрелки во все входные переменные Х1 ...Хт, и других ребер у графа О нет (рис.1).

Рис. 1. Структура наивного байесовского классификатора

Обучение классификатора означает оценку условных вероятностей Р(Х,\К), а классификация производится с помощью формулы Байеса:

P(K = k | X = х) = -

P(K = k )П P( X, = x,|K = k )

_/=1_

m

X P(K = k ')П P(X, = x,|K = k ')

Использование байесовских сетей позволяет избежать проблемы переучивания (over-fitting), то есть избыточного усложнения модели, что является слабой стороной многих методов (например, деревьев решений и нейронных сетей). Также в модели определяются зависимости между всеми переменными, это позволяет легко обрабатывать ситуации, в которых значения некоторых переменных неизвестны. Однако перемножать условные вероятности корректно только тогда, когда все входные переменные действительно статистически независимы. Более того, невозможна непосредственная обработка непрерывных переменных - требуется их преобразование к интервальной шкале, чтобы атрибуты были дискретными

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

S1( x) = q\ + q1 Х1 + ••• + qmxm

s2( x) = q2+qi xi+•••+q2m xm

f ( z) =

i

i + e "

Так как у принимает лишь значения 0 и 1, то вероятность второго возможного значения равна:

Р{у = 0|х} = 1 - / (7) = 1 - / (дГх).

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

log

P{y = i|x}_ f (z)

P{y = 0|x} i - f (z)

= qo+qi xi + •••+qmxm •

где д]... дт - параметры (веса) регрессии, которые находятся, как правило, с помощью метода наименьших квадратов, s(x) - «счет», который содержит достаточное количество информации для того, чтобы различать класс объекта. При этом выбирается тот класс, которому соответствует больший счет.

Логистическая регрессия. Пусть у определяет принадлежность объекта к классу и принимает значение 1, если объект принадлежит классу К], и значение 0, если объект принадлежит классу К2. Тогда делается предположение о том, что вероятность наступления события у=1, равна:

Р{у = 1| х} = /(7)

Г

7 = Ч х = Чо + чл + ••• + чл,

где х - вектор-столбец независимых переменных х1.хт, д - вектор-столбец параметров (коэффициентов регрессии) д]...дт, - логистическая функция (сигмоида, логит-функция):

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

(х"> ух..,^^)

где х(г) е К" - вектор значений независимых переменных, а у(г) е{0,1} - соответствующее им значение у. Каждая такая пара называется обучающим примером.

Обычно используется метод максимального правдоподобия, согласно которому выбираются параметры д, максимизирующие значение функции правдоподобия на обучающей выборке. Максимизация функции правдоподобия эквивалентна максимизации её логарифма. Для максимизации этой функции может быть применён метод градиентного спуска или метод Ньютона-Рафсона [3]. Сама задача классификации решается следующим образом: объект х можно отнести к классу у=1, если предсказанная моделью вероятность Р{у = 11 0,5} > 0,5, и к классу у=0 в противном случае. Граничное значение может быть отлично от 0,5. Получающиеся при этом правила классификации являются линейными классификаторами.

Главным преимуществом логистической регрессии является учет ограничений на значения вероятности, которые не могут выходить за рамки 0 и 1, а также работа с входными данными любого рода, благодаря чему данная модель нашла свое применение при нахождении переходных вероятностей состояний системы [4]. К недостаткам следует отнести чувствительность к корреляции между факторами, поэтому в моделях недопустимо наличие сильно коррелированных независимых переменных.

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

k'

i=i

z

(true positive rate) с долей ошибочных положительных классификаций от общего числа отрицательных классификаций (false positive rate) при варьировании порога решающего правила. Показатель AUC (площадь под ROC-кривой) дает количественную интерпретацию ROC-кривой. Считается, что чем выше показатель AUC, тем качественнее классификатор.

Для решения сформулированной задачи была использована среда программирования Python(x,y), представляющая собой набор библиотек и программного обеспечения для

численных расчетов, анализа и визуализации данных на основе Python с готовой реализацией описанных выше моделей. Для сравнительного анализа результатов классификации была сформирована выборка, состоящая из 1000 объектов, каждый из которых характеризуется 20 признаками. Исходная выборка была разделена случайным образом на обучающую выборку (700 объектов) и на тестовую выборку (300 объектов). На рис. 2 изображены ROC-кривые моделей по данным контрольной выборки, а также показатель AUC для каждой модели.

г) д)

Рис. 2. ROC-кривые: а) байесовский классификатор, б) дискриминантный анализ, в) логистическая регрессия, г) градиентный бустинг, д) «случайный лес»

Результаты ROC-анализа, в том числе и показателя AUC показывают, что, на первый взгляд, расхождения моделей совершенно незначительны и сложно определить качество класс-сификации. Однако при представлении результа-

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

Таблица 1. Результаты классификации объектов различными моделями

Название модели Верно классифицирова нные Ошибочно классифициров анные

кол-во (из 300) % кол-во (из 300) %

«случайный лес» 207 69 93 31

градиентный бустинг деревьев решений 220 73,3 80 26,7

наивный байесовский классификатор 225 75 75 25

дискриминантный анализ 227 75,7 73 24,3

логистическая регрессия 222 74 78 26

СПИСОК ЛИТЕРАТУРЫ:

1. Бидюк, П.И. Построение и методы обучения байесовских сетей / П.И. Бидюк, А.Н. Терентьев // Информатика и кибернетика. 2004. № 2. С. 140-154.

2. Breiman, W. "Random Forests"/ Machine Learning. 45(1). 2001. Р. 5-32.

3. Васильев, Н.П. Опыт расчета параметров логистической регрессии методом Ньютона-Рафсона для оценки зимостойкости растений / Н.П.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Васильев, А.А. Егоров // Математическая биология и биоинформатика. 2011. Т. 6, № 2. С. 190-199.

4. Клячкин, В.Н. Сравнительный анализ точности нелинейных моделей при прогнозировании состояния системы на основе марковской цепи / В.Н. Клячкин, Ю.С. Донцова // Известия Самарского научного центра РАН. 2013. Т. 15, № 4(4). С. 924-927.

ANALYSIS OF BINARY CLASSIFICATION METHODS

© 2014 Y.S. Dontsova

Ulyanovsk State Technical University

It is considered the problem of binary classification of objects, described by the attributes vector, to any of two classes. It was performed a comparative analysis of binary classification methods using ROC-analysis method realized by means of Python(x, y) language.

Key words: discriminant analysis, ROC-curve, AUC, Python(x, y)

Yuliya Dontsova, Post-graduate Student. E-mail: [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.