Линейный дискриминантный анализ 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Линейный дискриминантный анализ



   Пусть теперь в k -мерном признаковом пространстве имеются два облака точек { Xi }и { Yj }, i = 1,…, n, j = 1,…, m. Они характеризуются своими центрами a 1 и a 2 и своими ковариационными матрицами S1, S2, вместо которых рассматривают соответствующие выборочные матрицы рассеяния S 1 = (n - k)  и S 2 = (m - k) .Обычно бывает выгодно с самого начала перейти к безразмерным величинам, поделив каждую компоненту на соответствующее ей СКО. Поставим задачу о выборе направления проектирования следующим образом: будем требовать, чтобы рассеяние внутри облаков – проекций было минимальным и при этом эти облака разошлись как можно дальше друг от друга.

     Рассмотрим формальную постановку этой задачи. Пусть имеются две квадратичные формы С T AC и С T B С с симметричными положительно-определенными матрицами A и B. Требуется найти единичный вектор С, являющийся решением следующей оптимизационной задачи:

Предположим, что для второй формы уже найдено удовлетворительное значение: С T B С = b, b > 0.  Будем решать задачу

а условие нормировки  учтем позднее. Составим функцию Лагранжа

и приравняем нулю ее производные по С и по λ:

.

Отсюда сразу следует, что при любом b искомый вектор С* должен быть собственным вектором пучка квадратичных форм { A, B }, соответствующим одному из его собственных чисел λ*, при этом вспомним также об условии . Вычислим соответствующее значение функции Лагранжа или, что то же самое, значение минимизируемой функции:

Таким образом, решение задачи состоит в том, что С – единичный собственный вектор пучка { A, B }, соответствующий его минимальному собственному числу λ. Это диктует два подхода к решению исходной задачи об оптимальном проектировании.

     1. В качестве матрицы А выбираем сумму ковариационных матриц рассматриваемых совокупностей: A = Σ12. Это означает, что минимизируется сумма внутренних дисперсий проекций CT Σ1 C + CT Σ2 C.

     В качестве матрицы В выбираем произведение расстояний между центрами исходных облаков: B = (a 1- a 2)(a 1- a 2) T, тогда CTBC =[(CTa 1 C - CTa 2 C) (CTa 1 C - CTa 2 C) T ]= (CTa 1 C - CTa 2 C)2 – квадрат расстояния между центрами облаков-проекций. Недостаток этого подхода в том, что матрица В имеет ранг 1, поэтому у пучка { A, B } имеется единственное собственное подходящее собственное число λ. Данный подход обеспечивает проектирование только на прямую, что дает единственную дискриминантную компоненту.

     2. В качестве матрицы А снова выбираем сумму ковариационных матриц Σ12, а в качестве В – ковариационную матрицу объединенного облака. При этом минимизируется сумма внутривыборочных дисперсий проекций и одновременно максимизируется их межвыборочная дисперсия. Это позволяет получить любое число  дискриминантных компонент, соответствующих m минимальным собственным числам пучка { A, B }.

      Элементы вектора С можно интерпретировать как веса, отражающие важность каждой компоненты векторов X, Y при разделении исходных совокупностей. Если используется несколько дискриминантных компонент, это соответствует различным независимым точкам зрения на X, Y.  Иногда дискриминантным компонентам удается приписать некий физический смысл – тогда можно говорить о дискриминантных факторах.

   Пример 5.4. Для двух данных k -мерных выборок X = [ X 1, X 2,…, Xn ], Y = [ Y 1, Y 2,…, Yn ] () найти коэффициенты двух главных дискриминантных факторов по матрицам рассеяния и определить долю информации, объясняемую этими факторами.

 

 

Документ 5.2. Процедура вычисления двух дискриминантных факторов по матрицам рассеяния
function [c,d,r]=discr0(X,Y); %X,Y – сравниваемые участки измерений – матрицы (n1xm), (n2xm) %Проводится линейный дискриминантный анализ по рассеянию [n1,m]=size(X); [n2,m]=size(Y); %Вычисление матриц внутригруппового и межгруппового рассеяния SX=cov(X)*(n1-m); SY=cov(Y)*(n2-m); S1=SX+SY; %Вычисление объединенной матрицы рассеяния Z=[X;Y]; S2=cov(Z)*(n1+n2-m); % Вариант: SX=cov(X); SY=cov(Y); S1=SX+SY; Z=[X;Y]; S2=cov(Z)*(n1+n2-m); [P,Q]=eig(S2,S1); c=-P(:,m); d=P(:,m-1); %старшие собственные векторы пучка квадратичных форм

 

Документ 5.3. Процедура вычисления коэффициентов двух дискриминантных факторов по матрицам внутреннего рассеяния и расстоянию между центрами проекций
function [c,d]=discr1(X,Y); %X,Y – сравниваемые участки измерений – матрицы (n1xm), (n2xm) %Проводится линейный дискриминантный анализ с регуляризацией [n1,m]=size(X); [n2,m]=size(Y); %Вычисление матриц внутригруппового и межгруппового рассеяния SX=cov(X)*(n1-m); SY=cov(Y)*(n2-m); M=n1*mean(X)-n2*mean(Y); S1=SX+SY; S2=(M’*M+0.00001*eye(size(S1))); % регуляризация [P,Q]=eig(S2,S1); c=-P(:,m); d=P(:,m-1); %старшие собственные векторы пучка квадратичных форм

  Пример 5.5. Смоделировать две независимые 3-мерные выборки с заданными параметрами и представить их

  • В виде 3-мерных облаков точек;
  • На плоскости 2 главных факторов;
  • На плоскости 2 главных дискриминантных факторов.
Документ 5.4. Моделирование и отображение двух выборок
function modelir; % Моделирование n=100; r12=0.5; r23=0.3; r13=0.4; S0=[1 r12 r13; r12 1 r23; r13 r23 1]; [P,Q]=eig(S0); Q=diag([1 2 0.1]); ax=[0 -2 0]; SX=P’*Q*P; X=modl(ax,SX,n); ay=[0 2 0]; SY=P*Q*P’; Y=modl(ay,SY,n); %=============Вывод 3-мерных облаков точек================= subplot (2,2,1); plot3(X(:,1),X(:,2), X(:,3),’*’,’LineWidth’,2); box; grid; hold on; plot3(Y(:,1),Y(:,2),Y(:,3),’sr’,’LineWidth’,2); title(‘ Два 3- мерных облака ’,… ‘FontName’,’Courier New Cyr’,’FontSize’,14,’FontWeight’,’Bold’); %========Представление на плоскости главных факторов======== [c,d,q]=factor1([X;Y]); x1=X*c; y1=X*d; x2=Y*c; y2=Y*d; subplot(2,2,2); plot(x1,y1,’*’,’LineWidth’,2); grid; hold on; plot(x2,y2,’sr’,’LineWidth’,2); title(‘ Главные факторы ’,… ‘FontName’,’Courier New Cyr’,’FontSize’,14,’FontWeight’,’Bold’); %========Дискриминация по матрицам рассеяния (док.8.2)======= [c,d]=discr0(X,Y); %2 матрицы x1=X*c; y1=X*d; x2=Y*c; y2=Y*d; subplot(2,2,3); plot(x1,y1,’*’,’LineWidth’,2); grid; hold on; plot(x2,y2,’sr’,’LineWidth’,2); title('Дискриминация по матрицам рассеяния',… ‘FontName’,’Courier New Cyr’,’FontSize’,14,’FontWeight’,’Bold’); %====== Дискриминация по расстоянию между центрами (док.8.3)======= [c,d]=discr1(X,Y); %2 матрицы и расстояние между центрами проекций x1=X*c; y1=X*d; x2=Y*c; y2=Y*d; subplot(2,2,4); plot(x1,y1,’*’,’LineWidth’,2); grid; hold on; plot(x2,y2,’sr’,’LineWidth’,2); title('Дискриминация по расстоянию между центрами',… ‘FontName’,’Courier New Cyr’,’FontSize’,14,’FontWeight’,’Bold’);
Моделирование нормальной 3-мерной выборки объема n с заданными параметрами
function X=modl(a,S,n); [P,Q]=eig(S); E0=randn(n,3); E=E0*Q; X=E*sqrtm(S); X(:,1)=a(1)+X(:,1); X(:,2)=a(2)+X(:,2); X(:,3)=a(3)+X(:,3);

Рис.5.2. Результат работы программы (Документ 5.4)

Задание на лабораторную работу

  1. Для данной k -мерной выборки X = [ X 1, X 2,…, Xn ] () найти коэффициенты двух главных факторов и определить долю информации, объясняемую этими факторами.
  2. Для двух данных k -мерных выборок X = [ X 1, X 2,…, Xn ], Y = [ Y 1, Y 2,…, Yn ] () найти коэффициенты двух главных дискриминантных факторов по матрицам рассеяния и определить долю информации, объясняемую этими факторами.
  3. Смоделировать две независимые 3-мерные выборки с заданными параметрами и представить их

· В виде 3-мерных облаков точек;

· На плоскости 2 главных факторов;

· На плоскости 2 главных дискриминантных факторов.

Контрольные вопросы



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 139; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.87.156 (0.008 с.)