2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Сопоставление сигналов
Сообщение28.08.2014, 23:55 
Аватара пользователя


20/12/08
236
изниоткуда
Всем привет.

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

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

Хотелось бы найти общий механизм выделения характерных признаков из сигнала, инвариантный в разумных пределах к перемещениям и растяжениям по вертикали, и потом сопоставлять значения этих признаков. Напрашивается выделение и сопоставление N первых главных компонент (например, методом гусеницы, SSA), но это же линейный метод, а сигнал в реальности сильно нелинейный и нестационарный.

Можно ли считать численными выражениями этих самых характерных признаков, скажем, значения каких-либо коэффициэнтов фурье- или вейвлет-преобразования? или пики частотных спектров?

Или может быть эта, в общем-то фундаментальная, задача уже давно решена и не нужно изобретать велосипеды?

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 00:08 
Заслуженный участник


09/05/12
25179
allchemist в сообщении #901520 писал(а):
потому что после центрирования и нормирования последнего сигнала он станет весьма похож на первый, хотя при этом на последней картинке какая-то фигня, а не сигнал.

allchemist в сообщении #901520 писал(а):
Хотелось бы найти общий механизм выделения характерных признаков из сигнала, инвариантный в разумных пределах к перемещениям и растяжениям по вертикали, и потом сопоставлять значения этих признаков.
Первое от второго отличается только "разумными пределами". Надо бы более четко сформулировать, в чем они состоят.

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

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 08:19 
Аватара пользователя


20/12/08
236
изниоткуда
Pphantom в сообщении #901524 писал(а):
Первое от второго отличается только "разумными пределами". Надо бы более четко сформулировать, в чем они состоят.
А так, пожалуй, напрашивается принудительно ограничение нормировочного коэффициента сверху и снизу, а потом то же вычисление ковариационной функции.

Некий вменяемый нормировочный порог я могу подобрать руками и смириться с этим.

Но что если есть две пары сигналов:
ИзображениеИзображение
ИзображениеИзображение
Грубо говоря, хорошая степень похожести должна быть на первой паре, т.к. и там и там первый минимум глубже второго, а третий глубже их обоих.
На второй паре в последней картинке второй минимум глубже первого, и хотелось бы получить меньшую степень похожести, но за счет более длинного "хвоста" скалярное произведение может оказаться больше, чем для первой пары.

Это чисто в качестве примера.

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 13:27 
Заслуженный участник


09/05/12
25179
allchemist в сообщении #901560 писал(а):
Грубо говоря, хорошая степень похожести должна быть на первой паре, т.к. и там и там первый минимум глубже второго, а третий глубже их обоих.
На второй паре в последней картинке второй минимум глубже первого, и хотелось бы получить меньшую степень похожести, но за счет более длинного "хвоста" скалярное произведение может оказаться больше, чем для первой пары.
Надо попробовать, но, скорее всего, нет. Как раз из-за нормировки "более длинный хвост" превратится в обычный. :D

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 14:18 


23/12/07
1757
allchemist
у вас немного постановка неправильная.сперва надо выяснить, что вы вообще хотите от этой похожести (какова конечная цель), в чем природа этих сигналов, какие факторы определяют их различие. и только потом уже искать методы, которые будут адекватны для вашей задачи.

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 19:05 
Аватара пользователя


20/12/08
236
изниоткуда
Pphantom в сообщении #901640 писал(а):
Надо попробовать, но, скорее всего, нет. Как раз из-за нормировки "более длинный хвост" превратится в обычный. :D

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

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 19:10 
Заслуженный участник


09/05/12
25179
Можно сделать "нелинейную нормировку" - например, логарифмическую.

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 19:15 
Аватара пользователя


20/12/08
236
изниоткуда
_hum_ в сообщении #901666 писал(а):
allchemist
у вас немного постановка неправильная.сперва надо выяснить, что вы вообще хотите от этой похожести (какова конечная цель), в чем природа этих сигналов, какие факторы определяют их различие. и только потом уже искать методы, которые будут адекватны для вашей задачи.

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

-- Пт авг 29, 2014 20:16:02 --

Pphantom в сообщении #901816 писал(а):
Можно сделать "нелинейную нормировку" - например, логарифмическую.

Спасибо, хорошая идея.

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 20:20 


23/12/07
1757
allchemist в сообщении #901819 писал(а):
без включения априорных сведений о задаче

без этого задача является некорректно поставленной.
allchemist в сообщении #901819 писал(а):
Грубо говоря, хочу попытаться сделать распознавание кусков сигнала, сопоставляя его с банком образцов, а если повезет, то и немного "заглядывать в будущее", например искать наиболее вероятные продолжения сигнала, тоже по банку сигналов.

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

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение29.08.2014, 23:09 
Аватара пользователя


20/12/08
236
изниоткуда
_hum_ в сообщении #901850 писал(а):
без этого задача является некорректно поставленной.

да, но она в любом случае сильно некорректна.
поэтому хотелось бы найти общий метод, а потом уже тюнить его с учетом конкретной ситуации.
allchemist в сообщении #901819 писал(а):
слишком обще. и спрашивал про цель, а не про методы. вы хотите уметь прогнозировать движение мышью для какого-то конкретного человека, имеющего свою специфику движений курсором?

Ну прогнозировать это слишком круто (хотя чего только не бывает!), а вот распознавать конкретного человека по уникальным шаблонам его движений, это вполне реализуемо.

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение30.08.2014, 01:03 
Заслуженный участник


27/04/09
28128
Ага, а есть ли они. И на движение курсора, кроме человека, влияют ещё, как минимум, мышка и поверхность, по которой ей водят.

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение30.08.2014, 01:12 


23/12/07
1757
allchemist в сообщении #901909 писал(а):
Ну прогнозировать это слишком круто (хотя чего только не бывает!), а вот распознавать конкретного человека по уникальным шаблонам его движений, это вполне реализуемо.


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

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение30.08.2014, 08:35 
Аватара пользователя


20/12/08
236
изниоткуда
arseniiv в сообщении #901941 писал(а):
Ага, а есть ли они. И на движение курсора, кроме человека, влияют ещё, как минимум, мышка и поверхность, по которой ей водят.

Таки есть, и по мнению большинства исследователей, вполне уникальны для каждого человека, как почерк. (в англоязычной литературе это называется mouse dynamics)

-- Сб авг 30, 2014 09:44:38 --

_hum_ в сообщении #901945 писал(а):

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

Собстно, исследователи темы mouse dynamics так и делают - анализируют иинтергальные параметры типа кривизны траектории мыши. Очевидно, что львиная доля информации при этом теряется, ибо параметр интегральный.

Я же хочу попробовать анализировать перемещение мыши как непрерывный сигнал. Такого вроде еще никто не делал (по крайней мере, публично), поэтому как и любой "первопроходческий" эксперимент это выглядит крайне сомнительно. :)

А вот о природе сигнала я пока говорить не могу, потому что из как минимум двухмерного сигнала (а то и трехмерного-четырехмерного, если учитывать левые/правые клики) надо формировать одномерный, и тут много самых разных вариантов, поэтому я и не спешу подгонять решение под задачу, а хочу найти наиболее общий метод (пусть и заведомо худший, чем какое-то частное решение)

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение30.08.2014, 10:33 
Аватара пользователя


31/10/08
1244
Один сигнал можно сравнить с другим бесконечным числом способов. И при этом получить разные результаты.
Для того чтобы можно было отобрать те или иные методы сравнения нужен критерий сравнения методов. Как правило таким критерием выступают данные о классах. Или другими словами классификация на примерах.
Но даже в этом случае методов сравнения очень много. И нужна метрика или методика. Эту методику можно найти в книгах или у экспертов. Либо же придется наугад пробовать разные методы и смотреть что получится. Отсеивая худшие.
Общего и единого подхода тут нет.
Хотя некоторые рекомендации вы можете найти.

По поводу кривизны. Кривизну можно считать как по всей кривой так и по её части. Если взять некоторый сегмент и его двигать с перекрытием, то у тебя получиться непрерывная функция.

 Профиль  
                  
 
 Re: Сопоставление сигналов
Сообщение30.08.2014, 15:16 
Заслуженный участник


27/04/09
28128
allchemist в сообщении #901981 писал(а):
Очевидно, что львиная доля информации при этом теряется, ибо параметр интегральный.
Неочевидно. Возьмите какой-нибудь чистый шум и попытайтесь выделить оттуда эту львиную долю. :wink:

allchemist в сообщении #901981 писал(а):
Такого вроде еще никто не делал (по крайней мере, публично), поэтому как и любой "первопроходческий" эксперимент это выглядит крайне сомнительно. :)
Обычно эксперименты типа «а что будет, если смешать 81 разных веществ» не проводят, потому что результаты потом трудно разобрать. Может, лучше видвигать и проверять гипотезы о mouse dynamics по одной, и пытаться как-то их выводить из того, как рука способна двигаться, и других перечисленных непсихических причин? Тогда ведь можно оценить, где именно стоит искать неслучайность (а где явно будет шум; или что необходимо перед сбором движений (ну, например, если окажется, что трение о стол существенно — придётся к движениям как-то прикладывать данные о нём) фиксировать для получения какого-то результата)!

Кстати, ещё один отвлекающий фактор — настройки мыши в ОС (скорость движения указателя и двойного щелчка, если щелчки анализировать тоже).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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



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

Сейчас этот форум просматривают: Bing [bot]


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

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