Нейрокомпьютерные системы



Метод максимума правдоподобия


Рассмотрим задачу разделения двух классов, с каждым из которых связано вероятностное распределение в пространстве векторов

x
значений признаков. Будем обозначать плотности этих распределений
P(x|C_i), i = 1,2, C_i
- событие, состоящее в том, что объект принадлежит {
i
}-му классу. Нас интересует апостериорная вероятность:
P(C_i|x)
— вероятность принадлежности объекта к {
i
}-му классу при условии, что он характеризуется вектором признаков
x
. Известная из теории вероятности формула Байеса дает

 P(C_i|x) = P(C_i)P(x|C_i)/ \sum_{j} P(C_j)P(x|C_j)</p></div>
<p>

где

P(C_i)
— вероятность появления объектов {
i
}-го класса. Для нормальных
k
-мерных распределений

 P(x|Ci) = 1/ \{(2\pi )^{k/2}({det \sum}^i)^{1/2}exp [-\frac{1}{2}(x - M^i), ( {\sum}^i)^{-1}(x - M^i)]\},

где

M^i
— математическое ожидание
x
в {
i
}-м классе, {
\sum^i
} — ковариационная матрица для {
i
}-го класса. В результате обработки данных находят статистические оценки {
\sum^i
} и
M^i
: пусть для {
i
}-го класса имеются векторы
x^1 \ldots x^r
, тогда полагаем

 M^i = ( \sum^r_{j=1} x^j)/r, ( {\sum}^i)_{pq} = \frac{1}{r} \sum^r_{j=1} (x_p^j - M_p^i) (x_q^j - M_q^i).

Минимизация в формуле Байеса дает простое решающее правило:

x

принадлежит

i
-му классу, если
P(C_i|x) > P(C_j|x)

для всех

j\neq i
, т.е выбирается такой класс, для которого вероятность
P(C_i|x)
максимальна. Поскольку в формуле Байеса для всех
C_i

знаменатель общий, то решающее правило приобретает следующий вид: выбираем то

i
, для которого
P(C_i)P(x|C_i)
максимально. Для нормального распределения удобно прологарифмировать эту величину. Окончательно получаем:

x
принадлежит
i
-му классу, если среди величин

 P_j = ln P(C_j) - (ln det {\sum}^j)/2 - [({x - M^j}), ({\sum}^j)^{-1}(x - M^j)]/2

величина

P_i
- максимальная. Таким образом, разделяющей является поверхность второго порядка, а операцию разделения на два класса выполняет квадратичный адаптивный сумматор в комбинации с пороговым нелинейным элементом. Пороговый элемент вычисляет ступенчатую функцию
f(P_1 - P_2)
, в результате для первого класса получим ответ 1, для второго - 0.




Содержание    Вперед