2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Нормализация СВ
Сообщение09.05.2011, 01:26 


26/11/06
76
Есть матрица СВ. Как их нормализовать? Разделить каждый элемент вектора на наибольший по модулю?
Я решаю проблему СЗ и СВ в Matlab, который выдает ненормализованные СВ:
Код:
   -0.1612   -0.3030   -0.4082   -0.4642   -0.4642   -0.4082    0.3030   -0.1612
   -0.3030   -0.4642   -0.4082   -0.1612    0.1612    0.4082   -0.4642    0.3030
   -0.4082   -0.4082   -0.0000    0.4082    0.4082    0.0000    0.4082   -0.4082
   -0.4642   -0.1612    0.4082    0.3030   -0.3030   -0.4082   -0.1612    0.4642
   -0.4642    0.1612    0.4082   -0.3030   -0.3030    0.4082   -0.1612   -0.4642
   -0.4082    0.4082   -0.0000   -0.4082    0.4082   -0.0000    0.4082    0.4082
   -0.3030    0.4642   -0.4082    0.1612    0.1612   -0.4082   -0.4642   -0.3030
   -0.1612    0.3030   -0.4082    0.4642   -0.4642    0.4082    0.3030    0.1612


Для этой же задачи MatCAD выдает уже нормализованные векторы:
Код:
   -0.3473    0.6527   -1.000     1.0000   -1.0000   1.0000    -0.6527     0.3473
   -0.6527    1.0000   -1.000     0.3473    0.3473  -1.0000   1.0000    -0.6527
   -0.8794    0.8794    0.000    -0.8794    0.8794   0.0000    -0.8794     0.8794
   -1.0000    0.3473    1.000    -0.6527   -0.6527   1.0000   0.3473    -1.0000
   -1.0000   -0.3473    1.000     0.6527   -0.6527  -1.0000   0.3473     1.0000
   -0.8794   -0.8794    0.000     0.8794    0.8794   0.0000    -0.8794    -0.8794
   -0.6527   -1.0000   -1.000    -0.3473    0.3473   1.0000   1.0000     0.6527
   -0.3473   -0.6527   -1.000    -1.0000   -1.0000  -1.0000    -0.6527    -0.3473

Вопрос в том, почему знаки не везде совпадают?

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение09.05.2011, 09:12 
Заслуженный участник
Аватара пользователя


07/01/10
2015
Если $\vec x$ -- собственный вектор, то $-\vec x$ тоже.

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение09.05.2011, 14:18 
Заслуженный участник


15/05/05
3445
USA
vitaly333 в сообщении #443784 писал(а):
Есть матрица СВ. Как их нормализовать? Разделить каждый элемент вектора на наибольший по модулю?
"Нормализовать" - это разделить каждый элемент вектора на норму вектора. А норма вектора - это его длина.

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение09.05.2011, 16:13 


26/11/06
76
Цитата:
"Нормализовать" - это разделить каждый элемент вектора на норму вектора. А норма вектора - это его длина.

Ну вообще то да, верно, но я все равно не понимаю по какому принципу MatCad их нормализует

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение09.05.2011, 16:53 
Заслуженный участник
Аватара пользователя


07/01/10
2015
Нормированные векторы у вас в первой матрице. Они получаются из второй делением на евклидову норму (т. е. корень от суммы квадратов координат).

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение10.05.2011, 11:23 


26/11/06
76
Вообще то они в обоих случаях нормированные. Только в первом по длинам векторов, а во втором по максимальному значению. Вопрос теперь в том, как из 1 получить 2 с учетом знаков?

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение11.05.2011, 19:18 
Заслуженный участник
Аватара пользователя


11/03/08
9591
Москва
0. Собственные вектора определяются с точностью до постоянного множителя. Нормализация - способ представить их в стандартном виде, и способ нормализации достаточно произволен, достаточно, чтобы, сравнивая нормализованные С.В., нормализовать их одинаковым способом.

(Оффтоп)

Хоть и безобразно, но однообразно!
Майор NN


1. Способов нормализации бесконечно много, но наиболее распространены на практике три:
а. К единичной сумме квадратов элементов вектора. Тогда скалярные произведения собственного вектора на себя равны единице, а на другой С.В. - нулю. Т.е. матрица, составленная из собственных векторов, ортонормирована. Это наиболее употребительный в математике способ нормирования, и именно так нормированы С.В. в первой приведенной Вами матрице.
б. К единичному максимальному элементу (-ам). Этот способ был особенно популярен при вычислениях С.В., соответствующего максимальному собственному значению, вручную, используя степенной метод. При этом число операций умножения было минимально. Однако матрица собственных векторов, сохраняя ортогональность, не будет уже ортонормированной. Так нормированы вектора в Вашей второй матрице.
в. К единичной сумме элементов. В отличие от приведенных выше, он безусловно применим лишь тогда, когда все элементы неотрицательны (и один положителен). В противном случае может случиться деление на ноль, и вполне вероятно резкое увеличение нормированных элементов. Тем не менее он тоже иногда применяется (скажем, если мы находим старший С.В. матрицы парных сравнений, интерпретируя его, как рейтинги объектов).

2. Знак при этом может быть выбран произвольно, умножение С.В. на -1 оставляет его собственным вектором.

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение25.11.2012, 08:38 
Аватара пользователя


25/11/12
2
Здравствуйте, Господа!
Имеется множество многомерных векторов вида $<x_{1},x_{2},...,x_{n}>$.
Необходимо найти расстояние между ними. Подскажите, как подготовить данные для работы, если:
$0\le x_{1}\le100$;
$0\le x_{2}\le50000$;
и т.п.

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

Спасибо.

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение25.11.2012, 20:48 
Заслуженный участник
Аватара пользователя


11/03/08
9591
Москва
Не зная сути проблемы, можно давать лишь наивные советы. Примерно такие:
1. Наивно-статистический.
Найти среднее и дисперсию, вычесть среднее и разделить на СКО. Приведя к нулевому среднему и единичной дисперсии. Предполагаем, что у нас нормально распределённые величины. Скорее всего это не так, но это может быть хорошим приближением. Однако при наличии "тяжёлых хвостов" такого рода "нормализация" может работать плохо.
2. Наивно-наивный.
Находим максимум и минимум, вычитаем минимум, делим на размах=максимум-минимум. Несмотря на простоту - иногда прекрасно работает. Сильно зависит от достаточно случайных значений максимума и минимума. Если распределение равномерно - самый лучший случай, если "тяжелохвостое" - совсем плохо.
3. Наивно-содержательный.
В качестве максимума и минимума берём не их значения в выборке, а теоретически возможные. Устойчиво к выбросам в выборке.
4. Наивно-аналитический.
Логарифмируем выборку. Что, возможно, приводит распределение к более близкому к нормальному. Не работает для отрицательных величин и нулей (в случае нулей иногда помогает эмпирический приём - прибавление к величинам небольшой константы, близкой по порядку к ошибке измерения).

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение25.11.2012, 21:12 
Заслуженный участник


27/04/09
28128

(Yet another note on $\TeX$.)

Угловые скобки набираются так: \langle \rangle — и получится $\langle\rangle$.

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение26.11.2012, 12:50 
Аватара пользователя


25/11/12
2
Евгений Машеров в сообщении #649557 писал(а):
Не зная сути проблемы, можно давать лишь наивные советы. Примерно такие:
1. Наивно-статистический.
Найти среднее и дисперсию, вычесть среднее и разделить на СКО. Приведя к нулевому среднему и единичной дисперсии. Предполагаем, что у нас нормально распределённые величины. Скорее всего это не так, но это может быть хорошим приближением. Однако при наличии "тяжёлых хвостов" такого рода "нормализация" может работать плохо.
2. Наивно-наивный.
Находим максимум и минимум, вычитаем минимум, делим на размах=максимум-минимум. Несмотря на простоту - иногда прекрасно работает. Сильно зависит от достаточно случайных значений максимума и минимума. Если распределение равномерно - самый лучший случай, если "тяжелохвостое" - совсем плохо.
3. Наивно-содержательный.
В качестве максимума и минимума берём не их значения в выборке, а теоретически возможные. Устойчиво к выбросам в выборке.
4. Наивно-аналитический.
Логарифмируем выборку. Что, возможно, приводит распределение к более близкому к нормальному. Не работает для отрицательных величин и нулей (в случае нулей иногда помогает эмпирический приём - прибавление к величинам небольшой константы, близкой по порядку к ошибке измерения).


Я описал задачу в более общем виде, дабы не перегружать сообщение. Если я опишу каждый параметр и его допустимый диапазон значений, вы сможете дать более детальный совет ? Пока разберусь в том, что вы написали. Только саркастические названия методов расшифрую ;)

-- 26.11.2012, 16:23 --

В моей задаче объекты представлены параметрическими векторами. Каждая строка массива соответствует вектору.

$
\left \begin{array}{cccc} x_{11} & x_{12} & _{...} & x_{1n} \\ 
x_{21} & x_{22} & _{...} & x_{2n} \\
_{...} & _{...} & _{...} & _{...} \\
x_{m1} & x_{m2} & _{...} & x_{mn}
\end{array} \right $

Необходимо находить расстояние между этими векторами, которое представляет собой меру сходства объектов (векторов).
Как я понимаю, нормализация должна проводится построчно ? Ведь в одном векторе (строке) включены параметры различной природы...

Тогда, минимаксная нормализация проводится следующим образом: $x_{norm}= \frac{x-x_{min}}{x_{max} - x_{min}}$
Где $x_{min} ,  x_{max}$ - это минимальное и максимальное значение по каждой строке.
Верно ?

 Профиль  
                  
 
 Re: Нормализация СВ
Сообщение26.11.2012, 13:38 
Заслуженный участник
Аватара пользователя


11/03/08
9591
Москва
Уже не так. Постолбцово. Чтобы в строке были объекты сравнимой размерности (собственно, безразмерные) и сравнимого разброса.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group