Смекни!
smekni.com

Методические указания к выполнению лабораторных работ по дисциплине «Интеллектуальные информационные системы» Санкт-Петербург (стр. 4 из 10)

где si –сингулярные числа матрицы A, Ui, Vi– соответственно, правые и левые сингулярные векторы, r –ранг матрицы. Эти сингулярные числа и сингулярные векторы удовлетворяют следующим соотношениям:

s1 ³ s2 ³…,sr ³ 0, si = UiT AVi, UiTUi = 1, ViT Vi = 1,

i = 1,….,r. (3)

Известно, что процессы сингулярного разложения для любой вещественной матрицы А обладают весьма полезными свойствами для теории и приложений, а именно, каждая матрица над полем вещественных чисел имеет вещественные сингулярные числа и векторы. Кроме того, сингулярное разложение матриц устойчиво к малым возмущениям матриц, т.е. сингулярное разложение каждой матрицы является хорошо обусловленной процедурой.

Относительно практических аспектов, сингулярное разложение матрицы в общем случае может быть получено по достаточно простой и надежной схеме:

VT(k+1) = UT(k)A,

V(k+1) = V(k+1)/ /V(k+1)/

U(k+1) = AV(k+1), U(k+1) = U(k+1)/ /U(k+1)/ (4)

sk = UTkAVk, /sk+1sk/ ≤ ε

где k=0,1,2,... – номер итерации, |U(k+1)| - любая векторная норма, e - заданная точность вычисления. Можно показать, что для произвольных начальных векторов U(0) , V(0) итерации по схеме (4) сходятся в общем случае к сингулярным векторам U, V, соответствующим максимальному сингулярному числу smax= UTAV.

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

С использованием вышеприведенного итеративного алгоритма (4) сингулярное разложение матрицы А, представленное в форме (2,3) может быть получено с использованием метода исчерпывания.

Сущность этого метода заключается в следующем:

· максимальное сингулярное число и соответствующие ему правый и левый сингулярный векторы матрицы А вычисляются с помощью итеративного алгоритма (4). Формируется матричная компонента А1 =s1U1VT1;

· формируется матрица невязки

А2 = А ‑ А1 = А ‑ s1U1VT1, (5)

для которой максимальное сингулярное число и соответствующие ему правый и левый сингулярный векторы матрицы А2вычисляются с помощью итеративного алгоритма (4) и т.д.

2.2. Лабораторная работа № 2

Цель работы: создание программного модуля для сингулярного разложения произвольной матрицы.

2.2.1. Порядок выполнения работы

1. Открыть универсальную систему MATLAB.

2. Задать исходную матрицу А размерности (3 х 4).

3. Используя команду для сингулярного разложения MATLAB, получить представление для матрицы А через сингулярные числа, правые и левые сингулярные векторы в покомпонентной (в виде 2, 3) и в векторно-матричной формах (в виде 1).

4. Проверить условия ортогональности для вышеперечисленных форм представления.

5. Реализовать итеративную процедуру (4) вычисления максимального сингулярного числа и соответствующих ему правого и левого сингулярных векторов при произвольно заданных начальных значениях левого сингулярного вектора U0 и правого сингулярного вектора V0. Вычислить матричную компоненту, соответствующую найденным максимальному сингулярному числу и соответствующим ему правому и левому сингулярным векторам.

6. Используя процедуру метода исчерпывания, получить матричную невязку вида (5), для которой выполнить все перечисленные операции пункта 4.

7. Сохранить все результаты выполнения работы в файле на диске.

2.2.2. Пример выполнения лабораторной работы №2

В соответствии с п.2 формируем произвольную матрицу А размерности (3×4) с помощью генератора случайных чисел: A=rand(3,4), проверяем условия ортогональности: U*UT, V*VT:

Получаем представление в покомпонентной форме:

- для первого слагаемого в (2) формируем следующие компоненты сингулярного разложения: первый левый сингулярный вектор ‑ U1=U(:,1), первое сингулярное число ‑ S1=S(1,1), первый правый сингулярный вектор ‑ V1=V(:,1), с использованием полученных компонент формируем первое слагаемое в (2): S1*U1*V1T;

- аналогично формируем компоненты сингулярного разложения для второго слагаемого: U2=U(:,2), S2=S(2,2), V2=V(:,2). Вычисляем второе слагаемое S2*U2*V2T и т.д.

В соответствии с п.4 для реализации итеративной процедуры вычисления максимального сингулярного числа и соответствующих правого и левого сингулярных векторов задаем исходные данные: матрицу А размерности (3×4), произвольные: левый сингулярный вектор U0 размерности (3×1), правый сингулярный вектор V0 размерности (4×1), число, характеризующее точность вычисления epsilon = 0.01. По заданным исходным данным вычисляем значение сингулярного числа S0=U0T*A*V0. Итеративный алгоритм включает следующие шаги:

Шаг 1. V1T=U0T*A, V1= V1/norm(V1) – вычисление правого сингулярного вектора и его нормировка;

U1=A*V1, U1=U1/norm(U1)‑ вычисление левого сингулярного вектора и его нормировка;

S1=U1T*A*V1 – вычисление сингулярного числа;

/S1-S0/≤epsilon=0.01 – проверка точности определения сингулярного числа, если условие выполняется, то вычисленные компоненты запоминаются, как первые компоненты сингулярного разложения, в противном случае переходим к шагу 2.

Шаг 2. V2T=U1T*A, V2/norm(V2) – вычисление правого сингулярного вектора и его нормировка;

U2=A*V2, U2=U2/norm(U1)‑ вычисление левого сингулярного вектора и его нормировка;

S2=U2T*A*V2 – вычисление сингулярного числа;

/S2-S1/≤epsilon=0.01 – проверка точности вычисления сингулярного числа и т.д.

Рисунок 13

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

2.2.3. Порядок оформления отчета

Отчетом о лабораторной работе №2 является файл с именем, совпадающим с фамилией студента с результатами работы в папке Мои документы/номер группы.

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

1. Свойство сходимости вычислительной процедуры (4).

2. Преимущество сингулярного разложения матриц перед спектральным разложением матриц.

3. Условие останова итеративного алгоритма вычисления максимального сингулярного числа, правого и левого сингулярного вектора.

4. В чем заключается сущность метода исчерпывания?

5.

6.

7.

8.

9.

10.

3. ВЫЧИСЛИТЕЛЬНАЯ ПРОЦЕДУРА ОБУЧЕНИЯ С ЭКСПЕРТОМ

3.1. Математический аппарат

Пусть имеется сложная система (научная, техническая, экономическая и т.д.), которая может характеризоваться определенным набором признаков Xk, k = 1,2,3,…. Такой произвольный вектор значений признаков можно трактовать как образ, принадлежащий пространству признаков {X}.

Множество образов представляется в виде множества векторов, состоящего из k подмножеств или классов:

z1={X}1 ,..., zk={X}k.

Для процедуры обучения с экспертом исходной информацией служат векторы значений признаков ситуаций по каждому из рассматриваемых эталонных классов и сформированная на основе мнения эксперта обучающая выборка. Исследуя и анализируя указанным образом, ряд таких систем с привлечением эксперта-человека, можно на основании его знаний и личного опыта выстроить классификацию и оценить, к какому из классов принадлежит исследуемый объект. Набор признаков системы, перечисленный выше, эксперт может оценивать либо по 10-бальной системе, либо в пределах от 0 до 1, как в рассматриваемом ниже примере.

На основе полученной информации и с учетом мнения эксперта формируется обучающая выборка, которая представлена в таблице 1.

Таблица 1. Обучающая выборка

Номер объекта

Значения признаков

Классификация эксперта

z1

z2

z3

zn

1

1

0,3

1

1

1

2

0,1

0,6

1

1

2

3

0,2

0,8

0,9

0,7

3

4

0,5

1

0,7

0,1

2

:

L

1

1

0,5

0,1

Задача обучения сводится к разбиению пространства признаков на классы (т.е. к проведению классификации), а задача распознавания сводится к определению класса zj ={X}j , j=1,...,k, с помощью векторной нормы: