Примеры формализации задач Задача классификации.
Пусть есть некоторый объект, который характеризуется несколькими параметрами p1..pN. Пусть также есть M классов объектов, C1.. CM. Мы наблюдаем объект и можем рассчитать или измерить его параметры. Вектор p характеризует наблюдаемый объект:
p1
p ...
p
N
На основании вектора p мы должны решить, к какому классу отнести объект, т.е. выбрать Ci, к которому принадлежит объект, характеризуемый набором параметров p.
Решение задачи можно представить в виде вектора:
c1
c ...
c
M
и выполняются условия:
M
0 cm 1 и
cm 1
m1
(1)
Здесь cm
вероятность, с которой объект относится к классу
Cm . Если рассматривать cm
как
вероятности, то должны выполняться условия (1). К примеру, c1 0,9, c2 0,1 означает, что объект
с данным набором параметров p с вероятностью 0,9 относится к классу C1 и с вероятностью 0,1 — к классу C2.
Если создать МСП с N входами и M выходами и обучить его давать на выходе вектор c, когда на вход подается p, то мы решим поставленную задачу.
Сеть строит отображение P C
в процессе обучения. Целиком извлечь это отображение сеть не
позволяет, но можно получить произвольное количество пар p c, связанных отображением. Для произвольного вектора p на входе мы можем получить вероятности принадлежности к классам на выходе.
Почему на выходе будут получены именно вероятности cm
и будут ли выполняться условия (1)?
Если обучение прошло успешно, то мы наверняка получим на выходе что*то похожее на вероят* ности. Это определяется алгоритмом обучения. Но чаще всего оказывается, что компоненты выход* ного вектора могут быть меньше 0 или больше 1, а второе условие (1) выполняется лишь приблизи*
M
тельно:
cm 1. Неточность — следствие аналоговости нейронных сетей. Большинство результа*
m1
тов, даваемых нейросетями, неточно. Кроме того, при обучении сети указанные условия, наклады* ваемые на вероятности, не вводятся в сеть непосредственно, а неявно содержатся во множестве дан* ных, на которых обучается сеть. Это — вторая причина некорректности результата.
Такой способ формализации — не единственный, но один из удачных. Можно обучить сеть и по* другому. Пусть у сети только один выход, и пусть его смысл — номер класса m для вектора p, предъ* явленного на входе. Следовательно, сеть обучается зависимости m(p).
Если обучение прошло успешно, то когда на вход сети подан вектор p, характеризующий объект, на выходе будет получено число m, и нами принимается решение о принадлежности p к классу Cm.
На первый взгляд такой способ формализации более экономичен: используется всего один выход.
Но существует важный недостаток. Рассмотрим пример классификации (рис. ).
Рис. . Пример некорректной классификации.
Пусть требуется разделить объекты по двум признакам, p1, p2, на три класса, m=1, m=2, m=3. Если входной вектор p примет значение, обозначенное жирной точкой, то выход сети, при правильном обучении, примет значение m=2, т.е. объект будет отнесен к классу 2, совершенно неподходящему.
Данное явление возникает, т.к. сеть склонна интерполировать входные и выходные данные. Если функции активации плавные, весовые коэффициенты не слишком большие, и количество слоев не слишком велико, то выход сети тоже будет гладким и непрерывным. Для близких p будут получены близкие m на выходе. Но при решении задачи классификации такое допущение бывает неверным. Отсюда неправильное решение.
Чтобы избежать ошибок, можно применить другие способы формализации или упорядочить но* мера классов m так, чтобы близким m соответствовали близкие в пространстве P классы.
Do'stlaringiz bilan baham: |