слои открывают новый подход в картографии. Таким образом, предложенный алгоритм, оставаясь растровым, принимает некоторые свойства векторной графики. С использованием данного алгоритма можно получить растровое изображение хорошего качества, при этом достаточно хорошо сжимаемое при хранении и передаче. В частности, при использовании в геоинформационных системах крупных баз данных (особенно, если они физически распределены по различным серверам, и данные передаются через Интернет), объёмы передаваемой информации имеют огромное значение. Преимущество также заключается в том, что пред-
ложенный алгоритм позволяет хранить закодированное цельное изображение местности, однако по запросу пользователя, через канал связи можно передать не только общие данные или фрагмент изображения, но и изображения областей или регионов. Интересующие пользователя данные (политические, физические и др.) отмечены определённым цветом, а значит, выделены в особое подмножество. Экономия времени на передаче данных очевидна, за счёт исключения информации не нужной пользователю. Подобные же функции могут быть востребованы и в других сферах, таких как медицина, криминалистика и др.
СПИСОК ЛИТЕРАТУРЫ
1. Семенов Ю.А. Telecommunication technologies-телекоммуникационные технологии. 2007. URL: http:// book.itep.ru
2. Пытьев Ю.П. Морфологический анализ цветных изображений. 2005. URL: http://cityref.ru/ prosmotr/7518-0.htm
3. Пытьев Ю.П. Задачи морфологического анализа изображений. Математические методы исследования природных ресурсов Земли из космоса. Под ред. В.Г. Золотухина. М.: Наука. 1984.
4. Задорожный С.С. Морфологический анализ формы изображений. 2002. URL: http://www.butovo. com/~zss/bw_morf.html
5. Shapiro L.G., Stockman G. C. Computer Vision. Prentice Hall. 2001. P. 580.
6. Haralick R. M. and Shapiro L. G. Computer and Robot Vision. Addison-Wesley. 1992. Vol. 2. P. 453-507.
7. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. Диалог-МИФИ. 2003.
УДК 004.855.5
П.В. Трифонов
ПОВЫШЕНИЕ ТОЧНОСТИ БАЙЕСОВСКОГО КЛАССИФИКАТОРА
ТЕКСТОВЫХ ДОКУМЕНТОВ
Организация больших библиотек текстовых документов (книг, статей, отчетов, архивов новостей и т. п.) требует их тематического упорядочения. Однако качественная реализация этого подхода является исключительно сложной задачей ввиду большого числа возможных категорий, отсутствия четких критериев отнесения произвольного документа к той или иной категории, отсутствия каких-либо классификационных меток у большинства документов и большого объёма классифицируемых данных. Кроме того, система категорий и даже их значение могут меняться со временем. В связи с этим возникает необходимость разработки автоматизированных
обучаемых систем классификации текстовых документов.
Обучение классификатора состоит в построении по заданному набору документов (обучающему набору), классификация которых была выполнена экспертами вручную, некоторой модели, которая может быть использована в дальнейшем для принятия решения о принадлежности новых документов к указанным категориям. Первым этапом обучения классификатора является выделение некоторого набора характеристик документов, которые в дальнейшем будут использоваться для принятия решения об их принадлежности к различным категориям. В качестве таковых ха-
рактеристик, как правило, выступает количество вхождений в документ ключевых слов из некоторого набора, который также формируется на этапе обучения. Таким образом, обрабатываемые документы представляются в виде некоторого вектора признаков фиксированной размерности. Документы, относящиеся к различным категориям, характеризуются различным распределением на множестве таких векторов. В общем случае, компоненты вектора признаков являются статистически зависимыми случайными величинами.
Различные категории могут быть представлены как источники данных, характеризующиеся своими распределениями. Задача автоматической классификации может быть сформулирована как нахождение наиболее вероятного источника, породившего заданный вектор признаков. Сложность данной задачи определяется тем, что распределения, соответствующие различным категориям, заданы не в явном виде, а в виде обучающих наборов, допускается существование документов, относящихся одновременно к нескольким категориям, и компоненты векторов признаков являются сильно зависимыми случайными величинами, что исключает даже приближенное восстановление соответствующего многомерного распределения.
Одним из возможных путей к решению задачи классификации является использование метода Байеса. Как правило, при его использовании не учитывают статистическую зависимость случайных величин, фигурирующих в выражении для апостериорной вероятности принадлежности документа к некоторой категории, что может приводить к неточным результатам. В данной статье рассматривается способ преобразования векторов признаков, позволяющий снизить влияние их зависимости на точность получаемых результатов.
Представление данных для классификации
Фразы естественного языка, как правило, могут быть описаны с помощью некоторого Марковского случайного процесса. Однако чрезвычайно большой объём алфавита (т. е. словаря) и значительная глубина памяти данного процесса делают задачу восстановления его параметров практически неразрешимой. В связи с этим при решении задачи классификации обычно представляют текст в виде списка слов с указанием числа их вхождений. При этом устойчивые словосочетания могут рассматриваться как единое
слово. Вместе с тем, многие слова являются служебными (союзы, предлоги и т. п.) и не содержат информации о тематической принадлежности документа. Поэтому они исключаются из дальнейшего рассмотрения с целью упрощения последующей обработки. С другой стороны, слова, несущие смысловую нагрузку, могут встречаться в различных грамматических формах, которые нецелесообразно рассматривать раздельно. Таким образом, возникает необходимость применения алгоритмов выделения грамматических основ слов [1], [2]. Результатом описанных преобразований является вектор целых чисел, указывающих количество вхождений в документ различных нетривиальных слов во всевозможных грамматических формах. В некоторых случаях для дальнейшей обработки достаточно ограничиться лишь булевскими переменными, указывающими на наличие или отсутствие соответствующих слов в документе. В статье используются двоичные векторы признаков, хотя предлагаемый метод может быть адаптирован и для более общего случая.
После применения вышеописанных преобразований остаётся слишком большое количество основ различных слов. С целью повышения точности и скорости работы алгоритмов классификации целесообразно выделить среди них небольшой набор наиболее значимых признаков. Пусть Fi(d): О —>{0,1} — функция, принимающая значение единицы тогда и только тогда, когда документ dеО содержит слово с номером г. Пусть С](с£): О —{0,1} — функция, принимающая значение единицы тогда и только тогда, когда документ dе О относится к категории у. Значения этих функций являются случайными величинами, совместное распределение которых определяется свойствами рассматриваемого пространства документов О. Факт наличия или отсутствия слова г в документе может быть использован для принятия решения о его принадлежности к категории у только в том случае, если эти случайные величины являются зависимыми. Таким образом, возникает необходимость отбора слов, пригодных для использования классификатором.
Наибольшее распространение получили метод взаимной информации и метод х2 [1]. Взаимная информация случайных величин А, Бе {0,1} определяется как
Для принятия решения о принадлежности документов к категории j используются n слов с номерами i, которым соответствуют наибольшие значения I(Fi(d);Cj(d)). При вычислении этих значений вероятности заменяются выборочными частотами. Другим способом отбора признаков является использование критерия %2 независимости случайных величин, состоящего в выборе n слов с наибольшим значением %2(Fi(d);Q'(d)),
2/ Л т>\ V"1 V"1 Wa b ~ Еа Ь )
где % \А;В) = -, Nab — истинное
а=0Ь=0 Еа,Ь '
количество в обучающем наборе документов с A = a, B = b и E , — математическое ожидание их
7 a,b
количества, вычисленное в предположении о независимости случайных величин A и B.
Необходимо отметить, что для различных категорий применение описанных процедур может привести к выбору различных слов. В данной статье рассматривается реализация многоклассовой категоризации путём последовательной проверки принадлежности документа каждой из категорий. Поэтому в дальнейшем без ограничения общности будет рассматриваться задача двухклассовой категоризации. Описанные процедуры отбора признаков позволяют представлять произвольный документ на этапах обучения и классификации как двоичный вектор (Fp..., FJ, i-я компонента которого равна единицы тогда и только тогда, когда i-е отобранное слово содержится в этом документе, хотя при проверке гипотез о принадлежности документа различным категориям множества используемых слов, как правило, существенно отличаются.
Классификация на множестве булевых векторов
Метод Байеса. Рассмотрим задачу двухклас-совой категоризации векторов (F .., Fn)e {0,1}n. Вероятность того, что такой вектор относится к категории ae {0,1} может быть найдена как P{C = a\F1=f1.....Fn = /„} =
W) = In
P{F¡ = / IС = 1}
fe {0,1}могут быть
P{F1=fl,...,Fn=fn\C = a]
P{C = a}.
Р{р1 = Л.....= М
Предполагая, что случайные величины F1,...,Fn независимы при всех возможных значениях C и вводя логарифмическое отношение правдоподобия, получим Ц/,...../„) = 1п-^----— =
= 1пР{С = 1} |У1п^=/'1С = 1} Условные логарифмические отношения правдоподобия
Р{Р{=/\С = 0] найдены из выборочных частот, вычисленных на обучающем наборе. Решение о принадлежности вектора (/1,..., f) к категории 1 принимается, если
щ^в > п
В действительности предположение о независимости случайных величин F. существенным образом нарушается, что приводит к неточностям при вычислении L(f1,..., /).
Снижение статистической зависимости компонентов вектора признаков. Как правило, вектора признаков, относящихся к одной категории, отличаются друг от друга в небольшом числе позиций. Это позволяет ввести некоторые базовые вектора Ук) = (у ..,у )е {0,1}п, к = 1..т и представить векторы признаков документов, относящихся к данной категории, как сумму по модулю 2 базового вектора УК) и вектора невязки Е, т. е. F = У(К)+Е. Если при этом был выбран базовый вектор, ближайший в метрике Хемминга к вектору признаков, то компоненты вектора невязки, как правило, представляют собой случайные флуктуации и обладают слабой статистической зависимостью. Определим для каждого документа ближайший к нему вектор с номером К = к0 и вычислим соответствующие компоненты вектора невязки е. = f+vk0., г = 1..п. Тогда Р{С = а|F1 = =^ = о = р{с = а |К = k0, Е1 = ер_ Еп = еп} = = .....Еп-еп\К-к0,С-а} р = ^ = а}
Р{С = а}. Предполагая независимость компонентов вектора невязки, получим
Ур Jn> р{с = 01 ^ = Р{С = 0}
| 1пР{^ = ^01С = 1} | ^ыР{Е1=е1\К = к0,С = 1}. Р{А- = ^01С = 0} и Р{Е1=е1\К = к0,С = ®}
Численные эксперименты показывают, что увеличение размерности п вектора признаков выше десяти не приводит к существенному повышению точности классификации. Это позволяет организовать поиск подходящего набора базовых векторов с помощью следующего переборного алгоритма. Рассмотрим все различные непустые подмножества Ж множества {0,1}п, содержащие не более М элементов. Для каждого такого подмножества {У(1),...,У(т)} найдём среднюю длину описания элементов обучающего набора, отнесённых к категории 1, и выберем для использования в классификаторе то, при использовании которого достигается минимум этой величины.
Под описанием здесь понимается битовая строка, с помощью которой можно закодировать векторы признаков рассматриваемых документов. Из теории информации известно, что средняя длина описания некоторой случайной величины (в т. ч. и многомерной) не может быть меньше её энтропии [3]. Предлагается строить описание вектора признаков Е путём нахождения ближайшего к нему вектора У(К), вычисления вектора невязки Е = Е+У-К) и последующего независимого энтропийного кодирования величин К,Е1,..., Е. Необходимо отметить, что в данном случае не требуется находить конкретные битовые последовательности, представляющие рассматриваемые вектора признаков, а достаточно лишь ограничиться нахождением их длин, т. е. энтропий соответствующих одномерных случайных величин. Это позволяет абстрагироваться от ограничений, связанных с целочисленностью длины таких последовательностей. Будем рассматривать в качестве меры статистической зависимости случайных величин
¥,,..,¥„ значение 0(1^,1) = Ё Н(7 ) - Н(7р..,7и),
¡=1
где И(*) — энтропия или совместная энтропия соответствующих случайных величин. Известно, что эта функция неотрицательна и равна нулю тогда и только тогда, когда случайные величины статистически независимы. Так как величины Е, Е и К связаны однозначным преобразованием, имеет место равенство Н(Е1,..., Еп) = Н(К, Е1,..., Еп). Это позволяет сформулировать задачу поиска подходящего множества базовых векторов как минимизацию Н(Ж) = Н(К| С = 1) + £ Н(Е|К, С = 1)
¡=1
по всем множествам Ж достаточно малой мощности. Вычисление соответствующих энтропий требует аппроксимации распределения дискретных случайных величин К, Е1,..., Еп выборочными частотами, найдёнными на множестве элементов обучающего набора, отнесённых к категории 1. Точность подобной аппроксимации снижается с уменьшением размера обучающего набора и количества векторов признаков Е, ближайшим к которым оказывается каждый из векторов Ик).
Ограничение мощности множества базовых векторов вытекает не только из соображений вычислительной эффективности алгоритма обучения, но и из необходимости предотвращения "переобучения" классификатора. Действительно, минимум аппроксимации функции Н(Ж), полученной с использованием выборочных частот, может быть достигнут путём выбора в качестве
множества Ж всех различных векторов признаков, встретившихся в обучающем наборе, причём все величины Е . на данной выборке окажутся равны нулю с частотой 1. При последующем предъявлении классификатору документа, вектор признаков которого отличается хотя бы в одной позиции от всех векторов признаков элементов обучающего набора для данной категории, он будет вынужден принять решение о непринадлежности документа к этой категории, хотя подобное отличие вряд ли является существенным.
При выполнении описанной оптимизации элементы обучающего набора, отнесённые к категории 0, могут быть игнорированы. Это допущение основано на том факте, что для принятия решения об отнесении некоторого документа к категории 1 факт наличия в нём соответствующих ключевых слов является намного более значимым по сравнению с фактом отсутствия в нём каких-то других слов. В связи с этим появление в документах, относящихся к категории 0, ключевых слов (т. е. события Е = 1) носит характер случайных флук-туаций, которые, как правило, происходят независимо для различных .
Таким образом, предлагается следующий алгоритм обучения бинарного классификатора для некоторой категории:
1) для всех документов из обучающего набора отбросить общеупотребительные слова и выделить грамматические основы оставшихся слов;
2) выбрать, используя критерий взаимной информации или х2, п ключевых слов, вхождение или невхождение которых в документ является наиболее значимым для определения принадлежности к данной категории. Представить все документы, входящие в обучающий набор, как двоичные вектора (Е ..., Еп), где Е = 1 тогда и только тогда, когда -е отобранное слово входит в соответствующий документ;
3) выделить в обучающем наборе документы, отнесённые к категории 1, и минимизировать функцию Н(Ж) по всем множествам Ж с {0,1}п, 1 < 1Щ < М, используя для вычисления энтропий выборочные частоты соответствующих случайных величин;
4) для каждого элемента обучающего набора определить ближайший к нему в метрике Хем-минга элемент множества Ж и вычислить соответствующий вектор невязки Е;
г , Р{С = 1} , N.
5) вычислить Ь = 1п—--- = 1п—L,
Р{С = 0} ЛГ0
где N — количество документов обучающего набора, отнесённых к категории с, с = 0,1; 6) вычислить
Ьк= 1п
Р{К = к\С = \} _ (ЛГИ +1)/(ЛГ1 +1 I)
Р{К = к IС = 0} (ЛГи+1)/(ЛГ0 + 1ИЧУ где — количество документов в обучающем наборе, отнесённых к категории с, вектор признаков которых является ближайшим в метрике Хемминга к к-му элементу множества W, к = 1..|Щ;
7) вычислить ь _ 1п Р{Е1=е\К=к,С=Ц 1п (МШе+1)/(^1+2) Ые Р{Е1=е\К=к,С=0}~ (Мк01е+1)/(Мк0+2У где — количество документов в обучающем наборе, отнесённых к категории с, ближайшим к которым является к-й элемент множества Ж, таких что -я компонента их вектора невязки равна ве {0,1}, г = 1..п.
Приближенные выражения для Ьк и Ькв, использованные в данном алгоритме, позволяют повысить точность работы классификатора в тех случаях, когда в обучающем наборе не оказалось ни одного представителя с данным значением признака.
Классификация неизвестного документа сводится к построению вектора признаков (/р..., /П), указывающего на наличие или отсутствие в тексте различных грамматических форм отобранных ключевых слов, поиску ближайшего к нему в метрике Хемминга вектора У(к) = уп) из множе-
п
ства Ж, и вычислению Г (/р...,/п) = Ь + Ьк+X Ькфъ.
Решение о принадлежности документа к категории 1 принимается в случае положительности этой величины.
Множество базовых векторов, построенных с помощью описанного метода, может рассматриваться как некоторый код, задающий области в пространстве векторов признаков, в которых вероятно появление тех из них, которые могут относиться к заданной категории.
Численные результаты
Эффективность предложенного метода была исследована на примере набора документов Reuters-21578, широко используемого для сравнения качества различных классификаторов [1]. Данный набор включает 21578 документов, разбитых на обучающее и контрольное множества, а также сто двадцать категорий. Каждый документ отнесён экспертами к нулю, одной или нескольким категориям. Для каждой категории в
соответствии с описанным алгоритмом был построен классификатор. Все классификаторы последовательно применялись к каждому элементу контрольного набора с целью проверки или опровержения гипотезы об их принадлежности к соответствующим категориям.
Задача классификации является частным случаем задачи статистической проверки гипотез, поэтому качество классификатора может быть описано вероятностями ошибок первого и второго рода. Однако в литературе по данному вопросу принято использовать такие характе-
ристики, как точность Р =
N.
ф
та Д =
ЛГ
и полно-
---, где N — число документов из
'(р '
контрольного набора, правильно опознанных как принадлежащие соответствующей категории, — количество документов, ошибочно отнесённых к этой категории, и N — количество документов, ошибочно не отнесённых к ней. Ясно, что точность и полнота однозначно связаны с вероятностями соответствующих ошибок. Эти величины могут быть вычислены как для отдельных категорий, так и для всего контрольного набора. Эффективность предложенного метода устранения статистической зависимости элементов вектора признаков может быть оценена пуп
тём сравнения величин Н(^,..., Н0 = ^Н(^), " п ¡=1 ' Н = Н(К) + ^Н(Е.| К). При этом необходимо по-
¡=1 '
нимать, что приведённые далее оценки Н(^1,..., являются достаточно неточными, т. к. они найдены с использованием выборочных частот появления различных векторов Ввиду того, что принципиально возможно появление 2п различных таких векторов, а размер обучающего набора для многих категорий весьма мал, выборочные частоты представляют собой грубую аппроксимацию соответствующих вероятностей. Известно, что функция энтропии крайне чувствительна к неточностям в оценке вероятности редких событий. Этот фактор менее значим для одномерных энтропий Н(^), т. к. для каждого из возможных значений в большинстве случаев удаётся собрать достаточно большое число примеров векторов признаков.
Результаты проведённых экспериментов для случая п = 6 ключевых слов для каждой категории, отобранных по критерию взаимной информа-
Таблица 1
Результаты проведённых экспериментов
Категория H(Fu...,Fn), нат M - 1 M = 4
P R H0, нат Hi, нат P R
Cocoa 1,99 1 0,61 3,56 2,07 0,94 1
Crude 2,97 0,76 0,67 3,39 3,04 0,74 0,57
Ship 3,04 0,88 0,67 3,31 3,14 0,85 0,72
Grain 3,68 0,75 0,77 4,01 3,82 0,92 0,76
Cotton 2,74 0,73 0,85 3,08 2,81 0,93 0,75
Earn 2,40 0,96 0,89 3,85 2,45 0,94 0,91
Acq 3,06 0,87 0,55 3,17 3,08 0,89 0,59
Все категории 0,72 0,68 0,82 0,66
ции, представлены в табл. 1. Отметим, что случай М = 1 соответствует использованию стандартного Байесовского классификатора.
Полученные результаты подтверждают наличие сильной статистической зависимости между элементами вектора признаков, а также способность предложенного метода преобразовывать эти вектора к форме со значительно меньшей зависимостью. Видно также, что его применение позволяет на 10 % повысить точность классификации при незначительном ухудшении её полноты.
В табл. 2 представлены аналогичные результаты, полученные при использовании критерия %2 для отбора п = 6 ключевых слов для каждой кате-
гории. Видно, что в среднем при этом обеспечивается большая точность классификации без использования предложенного метода. Однако его применение позволяет дополнительно повысить её на 5 %, обеспечив те же средние результаты, что и в предыдущем случае. Сопоставляя величины Н(^1,..., ^п), полученные для обоих методов, можно заметить, что критерий %2 обеспечивает отбор менее зависимых классификационных признаков.
Предложен метод преобразования двоичных векторов признаков, позволяющий уменьшить статистическую зависимость их компонентов. Показано, что применение метода позволяет по-
Таблица 2
Результаты проведённых экспериментов при использовании критерия х2
Категория tf(Fb..., Fn), нат M = 1 M = 4
P R Но, нат Hi, нат P R
Cocoa 2,17 1 0,66 3,02 2,19 0,94 0,94
Crude 2,97 0,77 0,67 3,39 3,03 0,88 0,55
Ship 2,80 0,87 0,67 2,99 2,85 0,89 0,57
Grain 3,68 0,73 0,77 4,01 3,82 0,91 0,76
Cotton 1,81 0,87 0,7 2,29 1,81 0,84 0,55
Earn 2,40 0,96 0,89 3,85 2,44 0,93 0,91
Acq 3,39 0,84 0,54 3,50 3,41 0,84 0,60
Все категории 0,77 0,65 0,82 0,65
высить точность классификации текстовых документов на 5-10 %. Данный метод может рассматриваться как построение некоторого кода, задающего области в пространстве векторов признаков, в которых вероятно появление тех из них, что с большей вероятностью относятся к заданной категории.
Представляет интерес обобщение предложенного метода на случай использования недвоичных векторов признаков, а также разработка быстрых алгоритмов обучения и классификации, основанных на данном подходе.
Работа была выполнена при поддержке грантов РФФИ № 09-07-00252-а и гранта Президента РФ для государственной поддержки молодых российских ученых № МК-1195.2009.9.
СПИСОК ЛИТЕРАТУРЫ
1. Manning C.D., Raghavan P., Schuetze H. 2. Porter M.F. An algorithm for suffix stripping
Introduction to Information Retrieval. Cambridge // Program. 1980. № 14. P. 130-137. University Press, 2008. 3. Кудряшов Б.Д. Теория информации. СПб.:
Питер, 2009
УДК 28.23.37, 34.55.19
Е.Н. Бендерская, Д.Р. Шварц
ПОДХОД К ОПРЕДЕЛЕНИЮ ПАРАМЕТРОВ НЕЙРОННОЙ СЕТИ КОХОНЕНА В ЗАДАЧАХ АНАЛИЗА СТРУКТУРЫ МНОГОМЕРНЫХ ДАННЫХ
Изучение и анализ многомерных данных по-прежнему остаётся одной из важнейших современных задач. Потребность в систематизации и анализе данных присутствует во многих областях человеческой деятельности: физике, экономике, медицине, социологии и т. д. Увеличение объёмов информации, сложность изучаемых явлений вызывают потребность в разработке новых методов анализа данных.
Каждый из существующих методов анализа данных применим для определённого класса задач. Специалист-аналитик должен обладать достаточной априорной информацией о структуре данных, которая позволит выбрать наиболее подходящий метод. Наибольшую сложность представляют те данные, для которых невозможно заранее определить структуру (задать модель) данных. Другими словами, априорно неизвестно, каков тип зависимости внутри данных. Дополнительной сложностью является и то, что заранее неизвестно, какие параметры изучаемого явления наиболее информативны относительно поставленной задачи. Также данные могут содержать шумы, издержки измерений, нелинейности и т. п.
Современные методы направлены на облегчение задач анализа данных с заранее неизвестной структурой. Это методы так называемого интеллектуального анализа данных, к которым можно отнести методы нейросетевого (НС) анализа и методы нелинейных главных компонент (НГК). Основной сутью указанных методов является то, что значения параметров методов адаптируются под структуру данных.
Нейронные сети прямого распространения позволяют связывать интересующие переменные изучаемого явления некоторой функциональной зависимостью, однако, параметры связи скрыты внутри сети ("черный ящик"), что не позволяет в полной мере раскрыть суть изучаемого явления.
Методы, относящиеся к классу методов нелинейных главных компонент [3] представляют наибольший интерес, т. к. позволяют визуализировать или картографировать структуру данных. Методы НГК являются развитием классического метода главных компонент (ГК). На сегодняшний день существует два метода схожих по своей сути: метод упругих карт [3] и самоорганизующиеся карты Кохонена (СОК) [9], называемые