Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа № 1
Генерирование многомерных случайных объектов
1. Краткие теоретические сведения
В экспериментах по распознаванию образов часто необходимо генерировать объекты, имеющие нормальное распределение с заданным вектором математического ожидания и ковариационной матрицей.
Так как обычно случайные величины-признаки коррелированны, то это создает определенные трудности при генерировании объектов. Однако генерирование нормально распределенных объектов с единичной ковариационной матрицей I и нулевым вектором математических ожиданий является более простой задачей, так как случайные величины в этом случае независимы и одинаково распределены с единичной дисперсией. Поэтому предлагается вначале генерировать такие объекты X, а затем осуществлять их преобразование в Y с помощью уравнения
Y = (1/2T)1X = M + 1/2X,
где M вектор математического ожидания заданного распределения, и соответственно матрицы собственных векторов и собственных значений ковариационной матрицы заданной распределения. Матрицы и имеют следующий вид:
где 1, 2, …, n, 1, 2, …, n собственные вектора и соответствующие им собственные значения ковариационной матрицы заданного распределения.
Для определения матриц и можно воспользоваться методом вращения Якоби, предназначенном для симметричных матриц (ковариационная матрица является симметричной).
Метод Якоби заключается в следующем. Пусть дана симметрическая матрица A. Требуется для нее вычислить с точностью все собственные значения и соответствующие им собственные векторы. Алгоритм метода вращения следующий:
Пусть известна матрица A(k) на k-й итерации, при этом для k = 0 A(0) = A.
1. Выбирается максимальный по модулю недиагональный элемент матрицы A(k).
2. Ставится задача найти такую ортогональную матрицу U(k), чтобы в результате преобразования подобия A(k+1) = U(k)TA(k)U(k) произошло обнуление элемента матрицы A(k+1). В качестве ортогональной матрицы выбирается матрица вращения, в которой на пересечении i-й строки и j-о столбца находится элемент , где (k) угол вращения, подлежащий определению. Симметрично относительно главной диагонали (j-я строка, i-й столбец) расположен элемент . Диагональные элементы и равны . Другие диагональные элементы в матрице вращения равны 1, а не диагональные 0.
Угол вращения (k) определяется из условия = 0:
,
причем если , то (k) = /4.
3. Строится матрица A(k+1): A(k+1) = U(k)TA(k)U(k), в которой элемент 0.
В качестве критерия окончания итерационного процесса используется условие малости суммы квадратов недиагональных элементов:
.
После останова в качестве искомых собственных значений принимаются диагональные элементы матрицы A(k+1), а собственных векторов столбцы матрицы U = U(0)U(1)…U(k).
2. Задание
Сгенерировать 200 объектов, каждый из которых есть вектор из 8 вещественных значений, распределенных по нормальному закону в соответствии с заданным вектором математических ожиданий и ковариационной матрицей.
Для генерирования объектов написать программу на языке C/C++/C# в среде MS Visual Studio 2005. Обеспечить запись объектов в текстовый файл и проверочное формирование вектора математических ожиданий и ковариационной матрицы по сгенерированным значениям.
Задание 1.
Задание 2.
Задание 3.
Задание 4.
3. Список источников
1. Численные методы / www.uchites.ru.
2. Фукунага К. Введение в статистическую теорию распознавания образов: Пер. с англ. М.: Наука. Главная редакция физико-математической литературы, 1979.