2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 06:53 
Здравствуйте!У меня вот такой вопрос:
у меня есть две двумерные матрицы(не квадратные).Что можно использовать, чтобы можно было выявить степень схожести этих матриц?Например есть матрица м1 и матрица м2.Какой математический аппарат надо использовать, чтобы, допустим, установить, что матрицы схожи на 90 %, и вообще выявить схожи ли матрицы.
Я могу преобразовать матрицы в функции одной переменной, тогда так же меня интересует, как можно выявить сходство функций на всей области определения или установить участки схожести, ну и как эту схожесть выразить количественно, что бы потом этим числом оперировать.Подскажите,пожалуйста, в какую сторону рыть?
Заранее благодарен!

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 07:15 
Какая-нибудь норма разности?

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 11:37 
Аватара пользователя
Определить функцию корреляции. Например, как сумма произведений элементов, нормированная на произведение детерминантов.

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 11:44 
Аватара пользователя
Понимаете, слово "похож", оно такое многозначительное...
Вот есть
$A=\left(\begin{array}{cc}1&0\\ 0&1\end{array}\right)$
И есть
$$B=\left(\begin{array}{cc}1&0\\ 0&0.01\end{array}\right),\ 
C=\left(\begin{array}{cc}1&0\\ 0&10\end{array}\right),\ 
D=\left(\begin{array}{cсc}1&0&0\\ 0&1&0\end{array}\right)$$
Кто больше похож на A?

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 15:35 
Аватара пользователя
AntiInt писал(а):
Подскажите,пожалуйста, в какую сторону рыть?

В принципе, ответили уже. Но небольшую ремарку всё равно вставлю: рыть нужно в сторону функционального анализа или статистики. Понятия нормы, или, более общо, метрики --- это из функана, понятие корреляции --- из статистики.

Нужно придумать какую-то функцию, которой на вход подаётся 2 матрицы, а на выходе возвращает неотрицательное число --- "расстояние" между ними. Более подробно ищите по ключевому слову "метрика".

Частный случай (но более удобный, из-за чего чаще всего именно он используется), на который указал AD --- это когда матрицы можно складывать и умножать на число, и т.о. рассматривать их как элементы линейного пространства, для которого более естественным является понятие нормы, превращающей пространство в нормированное. Норма определяет метрику и более удобна.
Ещё более частный и более удобный случай можно получить, рассматривая матрицу как оператор в нормированном пространстве векторов (имеется в виду, что умножение матрицы на вектор можно рассматривать как функцию, которая из одного вектора делает другой). Т.е. если мы худо-бедно определили норму промеж векторов (а это, типа, попроще), то из этой векторной нормы, оказывается, можно на халяву получить матричную норму (см. норма оператора).
Дальнейший экскурс в теорию оставляю в качестве домашнего упражнения :D

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

Что касается ответа panukov, то он относится к области статистики. Если элементы матриц рассматривать, как результаты эксперимента, подверженные погрешностям, то, вероятно, статистическая модель будет более адекватна. Но тут другие методы исследования. Возможно, какой-нибудь факторный анализ --- это то, что Вам нужно, здесь я слаб.

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 15:47 
Цитата:
"физические" соображения, приведшие к задаче
- у меня есть два дискретных сигнала, я могу их представить либо в виде матрицы, либо в виде функции.вот мне интересно, можно ли как-то сравнить эти два сигнала и выдвинуть вердикт, на сколько похожи эти сигналы?
я пробовал искать расстояние между матрицами ,предварительно нормировав их.
Но это не дает ответ на вопрос о степени схожести матриц.

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 15:56 
Аватара пользователя
AntiInt писал(а):
- у меня есть два дискретных сигнала, я могу их представить либо в виде матрицы, либо в виде функции

Как представить сигнал в виде функции, я представляю --- это зависимость амплитуды от времени, либо от частоты. А вот как представить сигнал в виде матрицы --- как-то в голову сразу не приходит. Может быть, зависимость амплитуды от частоты и от времени ("тембр" сигнала зависит от времени???).
Я бы по рабоче-крестьянски построил спектры обоих сигналов и подсчитал бы среднеквадратичное отклонение между ними (это если сигналы периодические и их "тембры" не зависят от времени). Хотя тут, возможно, я не прав, и специалисты по обработке сигналов меня сурово поправят.

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 16:11 
да, именно представление амплитуды от частоты и времен.Но меня интересует только изменение частоты со временем.После выполнения оконного преобразования Фурье я получаю матрицу:номер строки-номер момента времени, номер столбца-частота а в ячейке на их пересечении-амплитуда.Но т.к. амплитуда меня не интересует, то здесь она лишь является индикатором того, что в данный момент времени была такая-то частота и все!Я могу таким образом построить либо функцию частоты от времени, либо у меня есть матрица.
У меня была идея использовать корреляцию, но какая тут должна быть корреляционная функция- ума не приложу:(

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 16:30 
Аватара пользователя
AntiInt писал(а):
У меня была идея использовать корреляцию, но какая тут должна быть корреляционная функция- ума не приложу:(

Почему бы не так, как намекал Вам panukov: пусть $f(t)$ и $g(t)$ --- полученные зависимости частоты от времени. Корреляцию можно построить примерно так:$$C[f,g,\tau]=\frac{\int\limits_{\mathbb{R}}f(t)g(t-\tau)\,dt}{\sqrt{\int\limits_{\mathbb{R}} f^2(t)\,dt\int\limits_{\mathbb{R}} g^2(t)\,dt}}$$Здесь $\tau$ --- параметр, определяющий временной сдвиг между сигналами. При каком-то $\tau$ функция $C[f,g,\tau]$ достигнет максимума (в знаменателе константа, так что достаточно найти максимум числителя) --- это и будет корреляцией между сигналами, а $\tau$ будет (наилучшим) сдвигом по фазе. Разумеется, вместо $\mathbb{R}$ у Вас будут в формулах обрезанные интервалы (в зависимости от того, в каком интервале меняется $t$).

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение08.04.2010, 16:43 
Но ведь найдя тау, я установлю только интервал наибольшей похожести, я прав?
А как выявить степень похожести сигналов, например сигнал_1 похож на сигнал_2 на 90%.Ну или получить какую-то числовую характеристику, по которой я мог бы сказать, что сигналы практически идентичны или вообще разные?

-- Чт апр 08, 2010 20:50:23 --

допустим вот пары время- частота для сигнала_1:(1,100),(2,200),(3,300)
сигнал_2:(1,100),(3,200),(3,2, 300) эти сигналы должны определяться как идентичные, а допустим сигнала_1:(1,100),(2,200),(3,300)
и сигнал_2:(1,100),(3,400),(3,2, 300) как разные.

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение09.04.2010, 16:29 
Аватара пользователя
Получается, у Вас время (количественно) не имеет значения, играет роль только правильная последовательность частот. Т.е. можно выкинуть время, и оставить только порядок: (100, 200, 300) или (100, 400, 300). Вероятно, в таком случае стоит применить комбинированный критерий, включающий округление частот, поиск наибольшей общей подстроки, восстановление точных частот и сравнение среднеквадратичных отклонений...

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение09.04.2010, 16:44 
время тоже имеет значение, но в сигнале время между появлениями частот может меняться, но незначительно,так сказать случайно.Оно практически всегда должно быть идентично, но иногда существуют погрешности.Вы имеете в виду следующее:
проверять последовательность частот, а относительное время их появления считать, и сравнивать с оригиналом,допустим применив метод МНК?

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение09.04.2010, 16:47 
Аватара пользователя
Да, примерно так. Просто эта идея пришла в голову. Но, возможно, она не адекватна. Я бы поспрошал спецов по обработке сигналов (или по распознаванию, если у Вас задача связана с распознаванием). Если они ничего не скажут --- можно основывать новый раздел математики :) По крайней мере, ясно будет, что задача не классическая.

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение09.04.2010, 17:05 
Огромное спасибо за идею!буду пробовать.А вот про функцию корреляции, если принять тау равным 0, то что она должна вернуть?

 
 
 
 Re: степень похожести двух двумерных матриц или функций
Сообщение09.04.2010, 21:06 
Аватара пользователя
Та функция корреляции уже на свалке истории :) А в принципе она должна вернуть значение от -1 до 1, где 1 означает 100% совпадение, -1 - тоже 100% совпадение, но с противоположным знаком, 0 - "абсолютное несовпадение". В нашем случае f и g положительны, значит, она будет от 0 до 1, причём нуля никогда не будет.

 
 
 [ Сообщений: 18 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group