Все потоки
Поиск
Написать публикацию
Обновить
171.81

Алгоритмы *

Все об алгоритмах

Сначала показывать
Порог рейтинга
Уровень сложности

Мозг, сенсорные системы и их моделирование

Время на прочтение38 мин
Количество просмотров9K

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

Читать далее

Показатели работы биометрических алгоритмов

Время на прочтение10 мин
Количество просмотров5K

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

(К/Ф "Служебный роман", режиссёр -- Э. Рязанов)

В предыдущей статье «Биометрия в платежах» я рассмотрел основные технологии, используемые для аутентификации и идентификации человека по лицу (face recognition). Я описал принципы работы алгоритмов нахождения лица на снимке, распознавания черт лица и создания биометрических шаблонов. В этой статье я остановлюсь подробнее на оценке качества работы решений по идентификации и аутентификации пользователя по лицу.

Погрузиться в чарующий мир

Эффективное геометрическое хеширование пространства признаков для быстрого точного поиска наиболее близких дескрипторов

Время на прочтение11 мин
Количество просмотров2.9K

При решении задачи распознавания лиц в компании Оксаджайл (Oxagile) был разработан новый алгоритм эффективного геометрического хеширования пространства лицевых признаков с целью быстрого поиска двух наиболее близких по косинусному расстоянию лицевых дескрипторов. Разработанный алгоритм обладает той же точностью, что и метод простого перебора и, в то же время, он приблизительно в сто раз быстрее. С более подробным описанием алгоритма можно познакомиться в англоязычном оригинале настоящей статьи.

Читать далее

Аппроксимация синуса: полиномы Чебышёва vs. ряды Маклорена

Время на прочтение2 мин
Количество просмотров13K

В комментариях к моей статье про быстрое вычисление синуса был задан вопрос: "А чем не устроило разложение в ряд Тейлора?"

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

Читать далее

Консистентно о Консенсусе

Время на прочтение9 мин
Количество просмотров5.8K

Здравствуйте, меня зовут Дмитрий Карловский. А вы на канале Core Dump, где мы берём различные темы из компьютерной науки и раскладываем их по полочкам.


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



Вы можете смотреть это как видео, читать это как статью, либо открыть в интерфейсе проведения презентаций.

Читать дальше →

К-распределение плотности вероятности. Единорог среди всех распределений

Время на прочтение5 мин
Количество просмотров4.4K

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

На практике такое распределение используется, как правило, довольно узкими специалистами. В основном при математическом моделировании работы радиолокационных станций (РЛС), а также радаров с синтезированной апертурой и то в определенных условиях. Аналитиками данных в повседневной жизни конечно же не используется. Хотя, возможно К-распределение может описывать какие-то процессы, кто знает, эта сторона вопроса требует дополнительного изучения. Предлагаю аналитикам данных над этим подумать, а также всем желающим.

Читать далее

Сжатие данных LZW

Время на прочтение6 мин
Количество просмотров27K

Если бы вы взглянули почти на любой файл данных в компьютере, просматривая символ за символом, то наверняка обратили бы внимание на множество повторяющихся элементов. LZW — это метод сжатия данных, который воспользовался этим повторением. Оригинальная версия метода была создана Лемпелем и Зивом в 1978 году (LZ78) и доработана Уэлчем в 1984 году, отсюда и аббревиатура LZW (Lempel, Ziv and Welch). Как и в любом адаптивном/динамическом методе сжатия, идея заключается в том, чтобы (1) начать с исходной модели, (2) читать данные по частям, (3) обновлять модель и кодировать данные по мере продвижения. LZW — алгоритм сжатия на основе "словаря".

Это означает, что вместо сведения в таблицу количества символов и построения деревьев (как при кодировании по Хаффману), LZW кодирует данные, обращаясь к словарю. Таким образом, чтобы закодировать подстроку, в выходной файл нужно записать только одно кодовое число, соответствующее индексу этой подстроки в словаре. Хотя LZW часто рассматривается в контексте сжатия текстовых файлов, его можно использовать для любого типа файлов. Однако, как правило, он лучше всего справляется с файлами где есть повторяющиеся подстроки, например, с текстовыми файлами.

Читать далее

Конференция Graph+AI Summit 2021 — ускорение аналитики и машинного обучения графовыми алгоритмами

Время на прочтение2 мин
Количество просмотров913

5-19 сентября пройдёт конференция Graph+AI Summit 2021 для людей, не равнодушных к графовой аналитике и машинному обучению. Мероприятие будет проходить в смешанном формате онлайн и оффлайн, участие бесплатное, старт в 18:00 по МСК.

Организатором выступила компания TigerGraph, создатель одноименной Графовой БД и аналитической платформы, а в программе будут доклады от спикеров из различных компаний: Gartner, Dell Technologies, Mastercard, Intuit Corporatio, Optum, Mercury NZ и др.

Между 5 и 19 октября будут воршопы, примеры реализаций по индустриям (ФинТех, БиоТех, Медиа, Реклама и Ритейл), тренинги и сертификации.

Почему это интересно? Будущий Графовый язык запросов GQL - первый за 40 лет язык запросов к БД, который ISO комитет решил стандартизироваать после SQL. И как говорит Марк Бейер, вице-президент-аналитик Gartner “To Graph or Not to Graph? That is NOT the Question – You Will Graph.”

Для тех, кто сразу хочет присоединиться к одному из 10000 участников, ссылка на регистрацию. Под катом - пример использования для борьбы с мошенническими звонками на примере China Mobile.

Читать далее

Перплексия в языковых моделях

Время на прочтение10 мин
Количество просмотров25K

В этом материале я хочу сделать подробный обзор такого понятия, как «перплексия» («коэффициент неопределённости»), так как оно применяется в обработке текстов на естественном языке (Natural Language Processing, NLP). Я расскажу о двух подходах, которые обычно используются для определения этого понятия, и о тех идеях, которые лежат в основе этих подходов.

Читать далее

Заметки по выбору шифров для TLS 1.3

Время на прочтение13 мин
Количество просмотров21K

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

Em tpyrced

Букварь материалиста

Время на прочтение10 мин
Количество просмотров15K

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

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

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

Мир вокруг нас порой

Как нужно обрабатывать изображения, чтобы не расстраивать математику?

Время на прочтение4 мин
Количество просмотров14K

Мы часто расстраиваем математику, выполняя привычные операции с изображениями — например, когда мы масштабируем их или применяем к ним фильтры. Одним словом — тогда, когда мы производим арифметические операции (+,-,*,/) над значениями цветовых каналов. Обычно это не заметно, но иногда это может доставить неприятности.

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

Читать далее

Как ЯRUS ежедневно собирает более 56 000 новостей из источников и выбирает из этого самое интересное

Время на прочтение3 мин
Количество просмотров1.2K

Сегодня уже мало кто заходит на один единственный сайт, чтобы почитать новости. Медиаполе современного человека соткано из множества инфопотоков и ресурсов, и для многих вопрос информационной гигиены стоит очень остро. Где и как организовать удобную новостную ленту, которая бы имела максимально широкий охват источников, но при этом выдавала бы из них только интересные конкретному пользователю материалы? Именно эту проблему решает раздел новостей в приложении ЯRUS, о котором пойдет речь ниже. 

Ежедневно агрегатор мониторит около 10 тысяч новостных ресурсов и собирает не менее 56 000 новостей для парсинга. Со стороннего ресурса берутся заголовок, текст и изображения, поэтому у пользователя приложения есть возможность прочесть новость, не покидая его. При этом в ленте отображаются не только заголовки, но и лид, что дает возможность быстро оценить, стоит ли открыть новость и продолжить чтение или же листать дальше.

Читать далее

Ближайшие события

Самопаркующаяся тачка в 500 строк кода

Время на прочтение25 мин
Количество просмотров13K

В этой статье мы "научим" автомобиль выполнять самостоятельную парковку с помощью генетического алгоритма.

В 1-м поколении автомобили будут иметь случайный геном и будут вести себя хаотично.

К ≈40-му поколению автомобили понемногу начнут учиться парковке и будут все ближе и ближе подбираться к парковочному месту

Чтобы увидеть эволюционный процесс прямо в браузере вы можете запустить ? симулятор эволюции, .

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

Читать далее

Лингвистика, математика и колориметрия: коммуникативные потребности в цветах

Время на прочтение11 мин
Количество просмотров2.2K


В отличие от многих существ, обитающих по соседству с нами на планете Земля, наш вид богат национальностями, культурами, языками и обычаями. Несмотря на принадлежность к одному виду, люди из разных уголков планеты обладают множеством отличий, одним из которых является язык. Внутри любого вида существует потребность обмениваться информацией. Методов реализации этой потребности достаточно много: запахи, цвета, движения, звуки и т.д. Человек больше всего полагается на вербальный метод коммуникации, в результате чего за долгие годы эволюции и развития нашей цивилизации образовалось множество языковых групп и отдельных языков. Другими словами, человек обладает очень разнообразным ассортиментом вербальных инструментов, которые, по идее, должны в равной степени точно описывать те или иные предметы и события. Однако структура языка может сильно отличаться между языковыми группами. Ученые из Пенсильванского университета (США) выяснили, что словесное описание индивидуальных цветов сильно отличается между разными нациями (т.е. между языками), но вот группировка цветов по категориям демонстрирует общие черты. Какую роль в этом играют коммуникативные потребности, как фрукты повлияли на словесное описание цветов, чем разные народы отличаются, и что между ними общего, когда речь идет о цветах? Об этом мы узнаем из доклада ученых. Поехали.
Читать дальше →

Геоанализ этажности Санкт-Петербурга алгоритмом KDE, или Как меняется облик города

Время на прочтение4 мин
Количество просмотров4K

Всем привет, меня зовут Максим Шаланкин, в Ситимобил я занимаюсь машинным обучением. Мы используем множество крутых алгоритмов для оптимизации наших сервисов и улучшения бизнес-процессов. В этой публикации я расскажу, как использовать в геоаналитике алгоритм ядерной оценки плотности (Kernel Density Estimation) и строить полигоны на карте, основываясь на распределении географических данных.

Врууум

Распознавание печатей: нейронные сети против SIFT, и причем тут Госзакупки

Время на прочтение18 мин
Количество просмотров7K

Привет, Хабр! Сегодня мы расскажем, как делали в нашей группе анализа данных прототип для уже успешно работающего внутри DLP-системы Solar Dozor движка детектирования графических объектов на изображениях. Покажем это на примере одного его представителя - оттисков печатей на изображениях документов. Вспомним о противоречивых требованиях к решению задачи и очертим бизнес-метрики, определяющие успешное решение. В процессе подберем фильтр наличия печатей из арсенала компьютерного зрения и сравним подходы к детектированию объектов - популярных движках CNN, SIFT и их вариациях. А также поведаем об интересных находках в части создания датасетов. Здесь, как оказалось, немало места для творчества и экспериментов. В общем, запасайтесь попкорном.

Читать дальше →

Модельно-ориентированное проектирование на службе у специалиста по электроприводу. Часть 2. Эксперименты

Время на прочтение6 мин
Количество просмотров2.6K

В предыдущей статье я рассказал, как создается модель векторного управления СДПМ, и определил параметры двигателя по экспериментальным данным.

В этой статье мы заставим вращаться двигатель так, как нам нужно, т.е. займемся настройкой контуров управления, и, разумеется, проведем эксперимент, воспользовавшись сгенерированным из модели кодом.

Читать далее

Тесты своей реализации ассоциативных массивов vs хеш-таблица

Время на прочтение7 мин
Количество просмотров4.3K

Приветствую, читатель. Я являюсь автором языка программирования Shar. В стандартном модуле Shar есть несколько реализаций ассоциативных массивов и при написании данного модуля я подумал: "А какую структуру данных для реализации ассоциативных массивов мне выбрать?". Являясь любителем слушать различные конференции по программированию, я периодически натыкаюсь на выступления людей, принимающих участие в разработке популярных языков программирования. На основании таких выступлений, у меня сложилось субъективное восприятие того, что в большинстве случаев для реализации ассоциативных массивов используется хеш-таблица. Хеш таблица действительно является очень хорошим выбором, но тогда почему я начал задумываться о выборе подходящей структуры данных? А причина в том, что ...

Читать далее

Алгоритмы поиска схожих объектов в рекомендательных системах

Время на прочтение8 мин
Количество просмотров21K

«Досмотрю вот это видео на YouTube и пойду спать! Ой, в рекомендациях еще одно интересное. Сон, прости…». «Закажу в IKEA только стулья. Ах, сайт показал мне еще посуду, постельное белье и новую кухню в сборке. Когда там следующая зарплата?». «Бесконечный плейлист любимых музыкальных жанров в СберЗвуке заряжает меня позитивом! Как специалистам удается создавать выборку специально для меня?».

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

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

TL:DR

Статья описывает основные подходы к поиску схожих объектов в наборе данных и содержит вводный курс в мир рекомендательных систем. Представлены варианты подготовки данных. Информация будет полезна аналитикам, которые изучают python, и начинающим data-scientist’ам. Мы не будем останавливаться на подробном описании каждого метода и разбирать отличия контентных и коллаборативных рекомендательных систем. Базовая теоретических часть находится здесьздесь и здесь. Нас интересует применение алгоритмов матчинга (matching, англ. Поиск схожих объектов) в повседневных задачах. К статье прилагается ноутбук на платформе Kaggle с основным кодом, который рекомендуем запускать одновременно с изучением текста.

Читать далее

Вклад авторов