Home

Реклама

Аспирант Козлов [entries|archive|friends|userinfo]
Аспирант Козлов

[ website | alter ego ]
[ userinfo | profile ]

Эволюционируем эволюционирование [Сент. 22, 2008|01:19 pm]
    Результат эволюционного отбора по последней парижской моде - однокритериальный отбор с заданной длиной покрытия контура:




Подробнее о проблеме модных дизайнеров эволюционных отборов )

ссылка2 комментария|Оставить комментарий

Вернулся из путешествия [Сент. 22, 2008|01:10 pm]
    Плавал я тут, значит, с зазнобушкой своей на теплоходе по северам - Валаам, Питер, Кижи и всё такое. Две недели плавал. Каютка три метра на два, экскурсия утром или вечером в очередном городе, остальное время свободное. И вот в этих-то условиях и писал я очередную статью и лопатил свою методику.
    
Сильно отвлекался, отдых как-никак, но по эффективности оказалось гораздо лучше, чем до этого и сейчас на работе! :) Поболтало меня на речной невысокой волне и в голове-то немного поустаканилось:

  1. Устранил кучу багов в реализации.
  2. Поменял процедуру нормализации, отказался от Фурье преобразования.
  3. Отказался от кластеризации - и без неё проблем хватает.
  4. Написал статью для ВАКовской публикации.
  5. Нормальных результатов так и не добился, но главное методика, не так ли? ;)
  6. Удержался от соблазна сфабриковать "на вырост" картинки в статье, в итоге иллюстрации невнятные, но совесть чиста - вот решу последние проблемки и возможно всё это ещё и выглядеть хорошо само по себе.
Немного подробнее по каждому пункту )

ссылкаОставить комментарий

Всего понемногу и даже без хлеба [Авг. 19, 2008|03:36 pm]
    Сделал ряд изменений в методике, переписал некоторые куски и, о чудо!, начал получать уже нечто похожее на правду. Пока не определился с несколькими критериями, поэтому пока сделал критерий всего один - количество элементов из одного кластера, чем больше - тем лучше. Вот решения в пространстве критериев (рейтинг по кластерам, площадь покрытия, количество элементов в цепочке:


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



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

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

Кстати, я ж тут поменял всего немногу:

Чего именно... )

    В любом случае, теперь пора распечатывать исходники, сдавать их на авторское свидетельство и накатывать статью. Аминь!


ссылка1 комментарий|Оставить комментарий

Комбинаторный взрыв? Окапываемся... [Авг. 12, 2008|05:21 pm]
    Всё-таки перебором, в лоб, можно перебрать только тестовые примеры, и то, приходится ловчить и добиваться, чтобы в кластере было не больше 100-150 элементов, ибо дальше темнота, могила, смерть время расчётов переходит границы моего терпения.

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

Решил и... )

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




    А смотреть вот смотреть сами решения-победители боюсь! :) Застрял на этапе перехода от генотипа к фенотипу по причине психологической неуравновешенности. Не знаю уж и чего поделать, лишь бы не смотреть что получается - боязно это знаете-ли...
ссылка3 комментария|Оставить комментарий

Хо!... [Авг. 5, 2008|05:55 pm]
Главное не бросать начатое! Ситуация проясняется!



Как именно... )

Планы:

1. Реализовать процедуру выявления симметрий для указанного пользователем контура, которую буду описывать в статье.
2. Помучать реальные данные, которых у меня, спасибо Евгению Виталиевичу и Сёме, теперь достаточно.
ссылка2 комментария|Оставить комментарий

Кря-кря... :( [Июл. 30, 2008|04:19 pm]
Что-то меня уже перестала радовать одна и та же фигня на выходе:



    Одни, блин, разномастные дуги получаются. Всё в первую очередь из-за кривизны критерия отбора вариантов. С критерием беда - никак не сформулирую что-то приличное. Премирую за длину отрезков и их количество из одного кластера - почему-то полные витки спирали в отбор не попадают. То ли их разносит в разные кластеры, причём исключительно по одному, либо я не знаю. :)

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


Планы:

1. Сравнивать не контуры, а их спектры для генерации показателя близости(расстояния), по идее тогда они по кластерам рассыпаться будут корректнее.
ссылка1 комментарий|Оставить комментарий

Урря! [Июл. 23, 2008|06:57 pm]
Урря! Первый результат!



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

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


Планы:

1. Доработать всю технологию выделения симметрий
2. Попытать натравить персептронец на последовательность фрагментов и их симметрий для прогнозирования фазовой траектории
ссылкаОставить комментарий

Ещё трабла... [Июл. 23, 2008|03:32 pm]
Псевдородственнички:

Эти два контура попали в один кластер )

То ли кластеров маловато взял, то ли надо подумать о том, как
в функцию расстояния для кластеризации засунуть топологию.
ссылкаОставить комментарий

Проблема со сглаживанием [Июл. 23, 2008|02:01 pm]

    Столкнулся с ещё одной проблемой. При одномерном преобразовании Фурье каждый элемент спектра описывает некий эллипс. Из-за этого, если вырезать несущественные элементы спектра и восстанавливать его (а это и есть по сути сглаживание), контур начинает "закругляться" и, в итоге, замыкается. Чуть ниже пример попытки сглаживания спирали, в спектре остаются только десять самых значащих пар коэффициентов фурье.
Спиралька )

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


ссылка1 комментарий|Оставить комментарий

Комбинаторный взрыв [Июл. 23, 2008|12:15 pm]

    После того, как для каждого из возможных фрагментов, на которые я разрезал траекторию, я рассчитал дескрипторы, а дескрипторы прогнал через кластеризатор необходимо выбрать вариант разбиения траектории на фрагменты, позволящий делать какие-то прогнозы и анализы. Фрагменты не должны друг друга пресекать, фрагменты должны принадлежать одному или нескольким кластерам - пока рассматриваем случай, когда есть какая-то симметрия и прогрессия. :) Если это спираль, например, то спираль должна быть нарезана на её витки. Но ведь фрагменты у меня все возможные, они эту спираль вдоль и поперёк режут и даже включают полностью! :)

Пока остаётся одно )

ссылкаОставить комментарий

Далее... [Май. 16, 2008|05:58 pm]

Что теперь?

Теперь перехожу на более высокий уровень, делаю методику
исследования траектории функции на предмет выявления симметрий.

Иллюстрирование описание методики )

ссылка12 комментариев|Оставить комментарий

И снова здравствуйте! [Май. 11, 2008|04:46 pm]
    Здравствуйте, мои маленькие любители аппроксимации и интерполяции! Простите, что так долго не писал - жизнь сложная, насыщенная пошла, ну вы понимаете. :) Но теперь всё изменилось, отступать некуда, Mocква военкомат за нами, будем работать, не покладая рук.

Краткое содержание пропущенных серий:

Для исследования n-мерного контура в моём случае не нужно n-мерное преобразование Фурье, достаточно одномерного, применённого покоординатно!

    Я по этому поводу уже успел и выпить, и закусить, и статью написать:

ВЫЯВЛЕНИЕ СИММЕТРИЙ РЕКОНСТРУИРОВАННЫХ
ФАЗОВЫХ ТРАЕКТОРИЙ ДИНАМИЧЕСКИХ СИСТЕМ

    Статья опубликована, по-моему, в трёх сборниках и трижды уже по ней я читал доклад. Уже неприлично, надо что-то дальше писать. Собственно в статье излагается методика получения из n-мерного контура дескриптора инвариантного к сдвигу, масштабированию и повороту. Ни больше не меньше.

Не выключайте ваши телевизоры, чуть позже изложу чем занимаюсь в данных момент. Очень надеюсь, что смогу заставить себя писать столько постов, чтобы те, кому это всё неинтересно меня отфрендили - наука превыше всего, друзья. Не обижайтесь пожалуйста, мой нормальный ЖЖ, в котором я не засираю френдленту: [info]kozinaka - добро пожаловать! :)
ссылкаОставить комментарий

Снова на тропе войны!... [Ноя. 2, 2007|05:04 am]
Встречаю свой 24-ый день рождения романтической ночью безудержного совокупления с матлабом. Мне кажется это хорошее начало последнего года аспирантуры.
ссылкаОставить комментарий

Нашел, что нифига не нашел.... [Мар. 19, 2007|01:41 pm]

Когда трёхмерный контур вращается, то его спектр не вращается, а как-то непонятно искажается. Каждый коэффициент Фурье перемещается по собственной эллиптической траектории.

Анимированная иллюстрация и траектории )

ссылка4 комментария|Оставить комментарий

Нашел! [Мар. 16, 2007|05:33 pm]

Для поворота контура вокруг координатной оси, его спектр надо вращать вокруг другой оси, с осями X, Y и Z не совпадающей. Вечерком выясняю вокруг какой и постоянна ли она. Вот пока картинки, что происходит при поворотах контура или его частотного портрета вокруг оси Z.

Немного анимированных иллюстраций )

ссылкаОставить комментарий

Фигня вышла... :( [Мар. 5, 2007|08:50 am]
Cтал примерять подход из предыдущего поста к трёхмерному случаю. Всего-то ничего: нужно поворот частотного портрета делать сначала в плоскости XY, а потом в плоскости XZ, но тут начались странности - образ восстановленый из частотного портрета повёрнутого по школьным формулам съёживается! Начал глядеть в свой пример с двухмерным контуром - та же фигня! У меня как назло в примерах на которых я тестил уголы поворота маленькие были, а съёживание от величины угла поворота зависит.

Фишка в том, что частотный портрет это пачка комплексных чисел. Вот такой поворот не работает (A, это матрица [120, 2] например):

function Rotate(A, Angle)
B = A;
for i = 1 : size(A,1);
    B(i,1) = A(i,1) * cos(Angle) - A(i,2) * sin(Angle);
    B(i,2) = A(i,1) * sin(Angle) + A(i,2) * cos(Angle);
end;


Блин, а я, лапоть, решил что избавился от комплексных чисел. Получается преобразование Фурье всегда комплексное?

Ладно. Проблема выглядит дилетантской, надо просто пыль из головы выбить, всё получится...
ссылка11 комментариев|Оставить комментарий

Шаг назад, что бы сделать два вперед... [Мар. 4, 2007|12:55 pm]
Инь и Янь без выкрутасов:

Предобработка с помощью FFT для пролетариев: своими словами )
ссылкаОставить комментарий

Проблема разворачивается... [Фев. 12, 2007|07:31 pm]

Чем дальше, тем любопытственней...

Во-первых: Я совершенно упустил из виду, что виток спирали линия трёхмерная, а не плоская. Это означает, что теперь мне нужно обобщить двухмерную предобработку образа с помощью разложения в ряд Фурье до трёхмерного случая. Это возможно?

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

Иллюстрации и некоторые соображения по поводу решения )

ссылка9 комментариев|Оставить комментарий

Разобрался с предобработкой [Фев. 9, 2007|08:13 pm]

Немного рекламы и чудосвидетельств )

А теперь по делу. Идея проста и гениальна! Имеющийся образ представляется как набор комплексных чисел. Потом к этому набору применяется быстрое преобразование Фурье. Далее, с помощью некоторых манипуляций, коэффициенты Фурье нормализуют так, что вид получающегося после восстановления образа (дескриптор образа уже) не зависит от поворота, масштабирования и сдвига исходного образа. В отличие от нейросетевого подхода коэфициенты поворота, сдвига и масштабирования доступны в числовой форме и извлекаются непосредственно во время предобработки.

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

Выводы: Чудеса бывают. Да здравствует трезвый подход к нейросетям! Не стоит их использовать там, где можно обойтись чётким аналитическим решением. :]

Планы: Перехожу к, собственно, задаче и оформляю нахождение коэффициентов трансформации и степени подобия образов в единой матлаб-программе.
ссылка11 комментариев|Оставить комментарий

Оффтопик из топика про Фурье [Фев. 8, 2007|07:20 pm]
Наткнулся в статье про Фурье, очень понравилось:

...Научный поиск сходен с полетом над Арктикой, когда корпус самолета подрагивает от напряженного рева турбин, а за окнами – умиротворяющая неподвижность. Остановившаяся белая глубина. Ровный матовый фон невозмутимой бездны. Эта неизмеримость обволакивает; ей нельзя внимать слишком долго – может изменить чутье. Как и при движении познающей мысли. Ледяная пустыня зачаровывает, искажает интуицию. Неожиданно ощущаешь, что самолет заваливается, заваливается на крыло, сворачивая вбок, но это иллюзия – упругие стрелки приборов настаивают на правильности полета. Они словно логика, направляющая ход познания...

ссылкаОставить комментарий

navigation
[ viewing | most recent entries ]
[ go | earlier ]

Реклама