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

Селекция признаков

< Лекция 9 || Лекция 10: 1234 || Лекция 11 >

10.5. Оптимальная селекция признаков

Существуют две формы использования критериев (мер отделимости классов): "пассивная" и "активная". Пассивная селекция – это работа с уже полученными признаками. Активная селекция аналогична процессу генерации признаков: она позволяет построить из исходного набора признаков новый набор меньшего размера, в котором состав признаков, вообще говоря, не является подмножеством исходного набора признаков. Все типы селекции, рассмотренные в предыдущих разделах – пассивные.

Пусть x\in R^l и y\in R^m\subset R^l. Рассмотрим конструирование критериев с использованием активной селекции: y=Ax или y=F(x).

Пусть

  • x и y – вектора столбцы, тогда x^T,\;y^T – строки,
  • x\in R^m – исходное пространство признаков,
  • y\in R^l – результирующее пространство признаков,
  • A – матрица преобразования исходного пространства в результирующее,
  • m – число классов.

Тогда

y=A^T x
или
y_{l\times 1}=A^T x_{m\times 1},
следовательно, матрица A_{l\times m}^T имеет размер l\times m.

Рассмотрим критерий J_3=\left\{S_m S_W^{-1}\right\}. Будем максимизировать критерий J_3 путем выбора матрицы A. Для вектора признаков x имеем матрицы S_{xW} и S_{xb}. Для вектора признаков y имеем матрицы S_{yW} и S_{yb}.

S_{xW}=\sum_i P_i S_{yi}

Проведем несколько преобразований.

\begin{gathered}
S_{yi}=E\left\lfloor(y-\mu_i)(y-\mu_i)^T\right\rfloor= \\
=E\left\lfloor A^T(x-\mu_{xi})(x-\mu_{xi})^T A\right\rfloor= \\
=A^T E\left\lfloor(x-\mu_{xi})(x-\mu_{xi})^T\right\rfloor A= \\
=A^T S_{xi}A \\
S_{yW}=\sum_i P_i A^T S_{xi}A=A^T\left(\sum_i P_i S_{xi}\right)A=A^T S_{sW} A
\end{gathered}

Аналогично: S_{yb}=A^T S_{xb}A. Тогда J_3(A)=trace\left((A^T S_{xW}A)^{-1}(A^T S_{xb}A)\right) – критерий разделимости вектора признаков.

Теперь необходимо преобразовать A из соображений J_3\rightarrow\max. Будем искать решение из условия максисума

\frac{dJ_3(A)}{dA}=0

Утверждение о вычислении производной. Пусть S_1 и S_2 - некоторые квадратные матрицы размера m\times m. Тогда

\begin{gathered}
\frac{d}{dA}trace\left\{(A^TS_1A)^{-1}(A^TS_2A)\right\}= \\
=-2S_1A(A^TS_1A)^{-1}(A^TS_2A)(A^AS_1A)^{-1}+2S_2A(A^TS_1A)^{-1}.
\end{gathered}

Для получения максимума по критерию, необходимо, чтобы

-2S_{xW}A(A^TS_{xW}A)^{-1}(A^TS_{sb}A)(A^TS_{xW}A)^{-1}+2S_{xb}A(A^TS_{xW}A)^{-1}=0
или
-S_{xW}AS_{yW}^{-1}S_{yb}S_{yW}^{-1}+S_{xb}AS_{yW}=0
или
A(S_{yW}^{-1}S_{yb})=(S_{yW}^{-1}S_{yb})A
есть условие того, что
\frac{dJ_3(A)}{dA}=0

Утверждение. Пусть S_{yW} и S_{yb}симметрические, положительно определенные матрицы. Тогда существует преобразование, приводящее одну из них к единичной, а другую к диагональной.

Доказательство. Приведем эти преобразования


B^TS_{yW}B=I,\\
B^TS_{yb}B=D,
где B,I,D – матрицы размера l\times l.

Утверждение. J_3 инвариантно относительно преобразований вектора y в R^l.

Доказательство. Рассмотрим

\widetilde{y}=B^T y=B^TA_x.
Тогда

J_3(\widetilde{y})=trace\left\{S_{\widetilde{y}W}^{-1}S_{\widetilde{y}b}\right\}
=trace\left\{(B^TS_{yW}B)^{-1}(B^TS_{yb}B)\right\}=\\
=trace\left\{B^{-1}S_{yW}^{-1}(B^T)^{-1}B^{-1}S_{yb}B\right\}
=trace\left\{B^{-1}(S_{yW}^{-1}S_{yb}B)\right\}=\\
=trace\left\{(S_{uW}^{-1}S_{yb})BB^{-1}\right\}=trace\left\{S_{yW}^{-1}S_{yb}\right\}=J_3(y).

Т.к. (S_{xW}^{-1}S_{xb})A=A(S_{yW}^{-1}S_{yb}) – условие того, что производная равна нулю, то


(S_{xW}^{-1}S_{xb})AB=A(S_{yW}^{-1}S_{yb}(B^T)^{-1}B^T)B= \\
=AB(B^{-1}S_{yW}^{-1}(B^T)^{-1})(B^T S_{yb}B)=AB(B^T S_{yW}B)^{-1}(B^T S_{yb}B)=ABD

Используя предыдущее утверждение, подбираем матрицу B и получаем:

(S_{xW}^{-1}S_{xb})AB=ABD.
Обозначим AB=Cматрица размера m\times l.

Утверждение. Если матрица F положительно определенная (положительно полуопределенная), то

  • все собственные значения F положительны,
  • если F симметричная, то все собственные вектора, соответствующие разным собственным значениям, ортогональны,
  • для симметричной матрицы F существует преобразование \Phi^T F\Phi=\Delta, где \Phi состоит из собственных векторов этой матрицы или столбцы \Phi=[\nu_1,\nu_2,\ldots,\nu_m] – собственные вектора, причем \Delta – диагональная матрица, на диагоналях которой стоят собственные значения.

Т.к. случайные величины ортогональны, то \Phi^T=\Phi^{-1}.

Теперь рассмотрим алгоритм оптимальной селекции признаков:

Поиск S_{xW}^{-1}S_{sb}.

Поиск собственных значений и выбор l наилучших (наибольших).

Формирование матрицы C из собственных векторов, соответствующих этим собственным значениям

Вычисление y=C^T x.

10.6. Оптимальная селекция признаков с помощь нейронной сети

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

Рассмотрим так называемую автоассоциативную сеть. Сеть имеет l входных и l выходных узлов и единственный скрытый слой с m узлами и линейными функциями активации. В процессе обучения выходы сети те же, что и входы. Такая сеть имеет единственный максимум и выходы скрытого слоя определяют проекцию l -мерного пространства на m -мерное подпространство.

Интерес представляет выходной слой из l нейронов. Если восстанавливать исходный вектор с целью максимального правдоподобия, то получим задачу квадратичного программирования с одним экстремумом.

< Лекция 9 || Лекция 10: 1234 || Лекция 11 >