Pull to refresh
  • by relevance
  • by date
  • by rating

Распознавание изображений. Алгоритм Eigenface

Artificial Intelligence

Введение



Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.



В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: ru, eng). И вдобавок, поработаем в многомерном пространстве.
Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.

Мне не страшно.
Total votes 132: ↑127 and ↓5 +122
Views 41K
Comments 48

Программирование в Maxima

Open source *Lisp *Mathematics *
Sandbox
Tutorial

Урок Maxima


Введение

Maxima — свободная система компьютерный алгебры (Computer algebra system — CAS), основанная на Common Lisp. В своих функциональных возможностях она едва уступает другим современным платным CAS, таким как Mathcad, Mathematica, Maple; может проводить аналитические (символьные) вычисления, численные расчеты, строить графики (при помощи gnuplot). Имеется возможность написания скриптов и даже трансляции их в код на Common Lisp с последующей компиляцией. В виду того, что maxima писалась из разрабатывалась программистами lisp, ее синтаксис может показаться несколько запутанным, поскольку язык является сразу и императивным и функциональным. Я попытаюсь разъяснить именно эти моменты и доступно изложить суть функционального подхода, и совсем не буду акцентировать внимания на конкретных математических функциях: их довольно легко освоить самостоятельно. В данной статье рассматривается именно особенности исчисления и синтаксических конструкций maxima.
Читать дальше →
Total votes 53: ↑50 and ↓3 +47
Views 24K
Comments 24

Внедрение кода с пользой

.NET *C++ *Reverse engineering *


В статье описан способ построения моста между неуправляемым и управляемым кодом на примере математического пакета Mathcad. На картинке показан пример, как бурундук Тот собирается обрабатывать своё изображение средствами математического пакета. Для этого он «использовал» пользовательскую функцию, написанную на VB.Net, в которой реализована возможность подключения к веб-камере и создания снимка. Результат работы функции сразу доступен в рабочем документе.
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Views 15K
Comments 14

Об одном алгоритме сжатия случайных сигналов (с потерями)

Algorithms *Image processing *


Аннотация


Известно, что существуют различные способы формирования псевдослучайных чисел для моделирования случайных величин на ЭВМ. Если допустить, что высокочастотный (ВЧ) сигнал представляет из себя реализацию некоторой случайной величины, то возникает большой соблазн подобрать для этой реализации свою модель случайной величины, имеющую известные параметры реализации алгоритма её формирования. Тогда мы можем представить ВЧ сигнал в виде этого алгоритма, а хранить лишь его параметры, т.е. происходит сжатие.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Views 24K
Comments 33

Машинное обучение — 2. Нелинейная регрессия и численная оптимизация

Нерепетитор.ру corporate blog Mathematics *Data visualization Machine learning *
Tutorial
Прошел месяц с появления моей первой статьи на Хабре и 20 дней с момента появления второй статьи про линейную регрессию. Статистика по просмотрам и целевым действиям аудитории копится, и именно она послужила отправной точкой для данной статьи. В ней мы коротко рассмотрим пример нелинейной регрессии (а именно, экспоненциальной) и с ее помощью построим модель конверсии, выделив среди пользователей две группы.

Когда известно, что случайная величина y зависит от чего-то (например, от времени или от другой случайной величины x) линейно, т.е. по закону y(x)= Ax+b, то применяется линейная регрессия (так в прошлой статье мы строили зависимость числа регистраций от числа просмотров). Для линейной регрессии коэффициенты A и b вычисляются по известным формулам. В случае регрессии другого вида, например, экспоненциальной, для того чтобы определить неизвестные параметры, необходимо решить соответствующую оптимизационную задачу: а именно, в рамках метода наименьших квадратов (МНК) задачу нахождения минимума суммы квадратов (y(xi) — yi)2.

Итак, вот данные, которые будем использовать в качестве примера. Пики посещаемости (ряд Views, красный пунктир) приходятся на моменты выхода статей. Второй ряд данных (Regs, с множителем 100) показывает число читателей, выполнивших после прочтения определенное действие (регистрацию и скачивание Mathcad Express – с его помощью, к слову, вы сможете повторить все расчеты этой и предыдущих статей). Все картинки — это скриншоты Mathcad Express, а файл с расчетами вы можете взять здесь.


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 19K
Comments 0

Задача о двух старушках, которые отправились в путь на рассвете

Нерепетитор.ру corporate blog Entertaining tasks Mathematics *
Условие задачи из знаменитой книги В.И.Арнольда «Задачи для детей от 5 до 15 лет»:
Из A в B и из B в A на рассвете (одновременно) вышли навстречу друг другу (по одной дороге) две старушки.Они встретились в полдень, но не остановились, а каждая продолжала идти с той же скоростью, и первая пришла (в B) в 4 часа дня, а вторая (в A) в 9 часов вечера. В котором часу был в этот день рассвет?

Предлагаю вам послушать (МР3) обсуждение этой задачи на радио «Говорит Москва» (С.Доренко, А.Оношко), и попробовать решить ее, прежде, чем лезть под кат, чтобы сравнить…
три варианта решения
Total votes 67: ↑36 and ↓31 +5
Views 66K
Comments 91

Расчеты на прочность в LibreOffice и выбор текстового редактора

Mathematics *Software

Проблемы оформления расчетов и что такое iMath


Наверное, многие, кто учился в техническом ВУЗе, сначала делали вычисления своих курсовых в Mathcad (или другом математическом пакете), а затем старательно набирали эти же формулы в MS Word с подстановкой чисел. Потом забыли про это.


Когда меня взяли конструктором по расчетам на прочность — пришлось вспомнить.



Нет, современные технологии МКЭ используются (SolidWorks, Ansys), но формулы с методиками по ГОСТ никто не отменял. Тут принципы не изменились, хотя со времен защиты моего диплома прошло более 10 лет. Люди сначала набирают формулы, уже набранные в Mathcad, а потом руками подставляют каждое число в формулу и записывают результат.

Как с этим бороться и при чем здесь текстовый редактор
Total votes 11: ↑11 and ↓0 +11
Views 7.4K
Comments 22

В аквариуме: вычислительная генетика на Python и Mathcad (часть 1)

Entertaining tasks Python *Algorithms *Mathematics *

Начнем моделировать генетику популяции при помощи методов Монте-Карло, на примере рыбок в аквариуме, задавая генотип исходной популяции и пересчитывая его изменение от поколения к поколению. Эта статья — первая из серии, в которой мы рассчитаем цвет рыбок в зависимости от генетического кода, который они несут.

Читать далее
Total votes 4: ↑3 and ↓1 +2
Views 3K
Comments 2