Московский государственный университет имени М.В.Ломоносова
Опубликован: 30.04.2008 | Доступ: свободный | Студентов: 1614 / 251 | Оценка: 4.24 / 3.92 | Длительность: 14:56:00
Специальности: Математик
Лекция 7:

Комитетные методы решения задач распознавания

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >

7.4. Функция Шеннона

Пусть L_n(m_1,m-m_1) – это число гиперплоскостей, достаточное для разделения любых точечных множеств m_1 и m-m_1 точек общего положения в пространстве R^n.

Лемма 1. Если m_1\leq m-m_1, то

L_n(m_1,m-m_1)\leq 2\lceil\frac{m_1}{n}\rceil

Доказательство. Если m_1\leq n, то добавим точки общего положения до n. Через n точек из m_1 проводим гиперплоскость:

F(x_1)=F(x_2)=\ldots=F(x_n)=0

Для x_k такого, что k>n\quad F(x_k)\neq 0.

Выберем \varepsilon=\frac12\min_{n<i\leqm_1}|F(x_i)| и возьмем гиперплоскости G_1=F+\varepsilon и G_2=F-\varepsilon. G_1 и G_2 отделяют точки x_1,x_2,\ldots,x_n от всех остальных.

Аналогичным образом из оставшихся (m_1-n) точек выделяем еще n и строим еще пару гиперплоскостей. Далее из оставшихся (m_1-2n) точек выделяем еще n и строим еще пару гиперплоскостей и т.д. В конце получим (m_1-mn) точек. Следовательно:

L_n(m_1,m-m_1)\leq 2\left\lceil\frac{m_1}{n}\right\rceil

Утверждение 1. Если W_1,W_2,\ldots,W_q разделяют множества A и B, и r(t) – непрерывная кривая в R^l такая, что r(0)\in A, а r(1)\in B, то существует k\in\{1,2,\ldots,q\} и t_0\in(0,1) такие, что (W_{k_0},r(t_0))=0.

Утверждение 2. Любая гиперплоскость пересекает кривую r(t) не более, чем в n точках.

Доказательство. Рассмотрим линейный функционал W. Запишем условие пересечения гиперплоскости и кривой r(t):

(W,r(t))=0.

Кривая r(t) задана многочленом степени n. Следовательно, (W,r(t)) – то же многочлен степени n. Значит, уравнение (W,r(t))=0 является уравнением степени n. Следовательно, т.к. корни могут быть кратными, данное уравнение имеет не более n корней.

Лемма 2. L_n(m_1,m-m_1)\geq\left\lceil\frac{2m_1-1}{n}\right\rceil.

Доказательство. Построим L_n(m_1,m-m_1). Рассмотрим последовательность точек:

0<t_1<t_2<\ldots<t_m=1

Пусть r(t)=(r_1,r_2,\ldots,r_n), где r_i=r_i(t)=t^i, i=1,2,\ldots,n. Тогда x_j=r(t_j)=\left(t_j,t_j^2,t_j^3,\ldots,t_j^n\right) – точки в R^n.

Без ограничения общности положим x_J\in A, при j нечетном, и x_j\in B, при j четном. Тогда получим непрерывную кривую (см. рис).


Каждая гиперплоскость дает не более, чем n пересечений. Кривая должна иметь (m-1) разделение, т.е. должно быть (m-1) гиперплоскостей. Следовательно, всего гиперплоскостей должно быть не менее, чем \left\lceil\frac{m-1}{n}\right\rceil, т.е. L_n(m_1,m-m_1)\geq\left\lceil\frac{m-1}{n}\right\rceil.

Т.к.

m_1=
\left\{
\begin{gathered}
\frac{m}{2},\textit{ при четном }m \\
\frac{(m-1)}{2},\textit{ при нечетном }m
\end{gathered}
\right.
,
то
\begin{gathered}
m=2m_1,\textit{ при четном }m \\
m=2m_1+1,\textit{ при нечетном }m
\end{gathered}
.

Следовательно, L_n(m_1,m-m_1)\geq\left\lceil\frac{2m_1}{n}\right\rceil, при нечетном m, L_n(m_1,m-m_1)\geq\left\lceil\frac{2m_1-1}{n}\right\rceil, при четном m.

Окончательно получаем: L_n(m_1,m-m_1)\geq\left\lceil\frac{2m_1-1}{n}\right\rceil, \forall m.

Пример. Пусть m=5, m_1=2, n=2. Обозначим A=\{x_1,x_3,x_5\} и B=\{x_2,x_4\}. Тогда

\begin{aligned}
&L_n(m_1,m-m_1)=L_2(2,3)\geq\left\lceil\frac{2\cdot 2-1}{2}\right\rceil=2 \quad\text{и} \\
&L_n(m_1,m-m_1)=L_2(2,3)\leq 2\cdot\left\lceil\frac{2}{2}\right\rceil=2
\end{aligned}


7.5. Метод построения комитета.

Пусть X – множество прецедентов; l в – размерность пространства признаков; m_1 и m-m_1 – количество прецедентов в каждом классе.

Построим W(x) – линейный функционал такой, что, если W(x_k)>0, то объект из класса A\;(k=1,2,\ldots,m_1), и, если W(x_k)<0, то объект из класса B\;(k=m_1+1,m_2+2,\ldots,m). Если данный функционал правильно классифицирует меньше половины объектов, то возьмем его со знаком минус.

Итак, пусть линейный функционал W(x) правильно классифицирует больше половины объектов. Разобьем множество прецедентов X на множество правильно классифицированных объектов X_1 и множество неправильно классифицированных объектов \overline{X}_1, т.е. X=X_1\bigcup\overline{X}_1.

Далее строим последовательно пары функционалов W_s и W'_s:

W_1,W_2,W'_2,W_3,W'_3,\ldots,W_s,W'_s

Делаем очередной шаг. X=X_s\bigcup X'_s. Пусть на X_s(s) правильно классифицированных объектов, а на \overline{X}_s(s-1) правильно классифицированных объектов. Строим пару W_{s+1},\;W'_{s+1}. В \overline{X}_s выделяем l точек одного класса. Эти точки можно перевести в X_{s+1}, т.е. X_{s+1}=X_s+\{l\textit{ точек}\}, а \overline{X}_{s+1}=\overline{X}_s.

На каждом шаге множество неправильно классифицированных объектов уменьшается на l, следовательно, процесс сходится.

Общее число функционалов: 1+2\cdot\left\lceil\frac{m}{2}\cdot\frac{m}{l}\right\rceil=1+\left\lceil\frac{m}{l}\right\rceil

Теорема. Существует комитет линейных функционалов, в котором число членов не превосходит \left\lceil\frac{m}{l}+1\right\rceil.

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >