Обновить
264.84

Алгоритмы *

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

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

«Сферический трейдер в вакууме»: инструкция по применению

Время на прочтение11 мин
Охват и читатели30K


Если проанализировать форумов о рынках (в том числе Форекс), можно выделить два достаточно устойчивых мнения, назовём их пессимистическим и оптимистическим:

Пессимисты утверждают: рынок случаен «потому что я построил график случайного процесса и мой друг (профессиональный трейдер) не смог отличить его от графика EURUSD», а значит иметь стабильный доход на рынке( на Форекс) невозможно по определению!

Оптимисты им возражают: если бы рынок был случаен, котировки не гуляли бы в окрестности 1, а ушли в бесконечность. Значит рынок неслучаен и на нём можно зарабатывать. Я видел реально стабильно зарабатывающую стратегию с большим профит-фактором (больше стольки-то)!

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


Рассматриваемые в статье методики универсальны для любых рынков, будь то фонд, Форекс или любой другой!


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

Декомпозиция blockchain

Время на прочтение2 мин
Охват и читатели17K
В данной статье будет рассмотрена максимально простая модель, описывающая сущность блокчейна. Специфика хранимой в блоках информации не рассматривается, будь то транзакции, умные контракты или что-то еще. То есть блоки просто хранят записи, значения которых зависят от конкретного применения. Такой подход позволит понять принцип работы блокчейна в целом, не затрагивая деталей конкретной реализации.
Читать дальше →

Алгоритм НСКО (алгоритм Хо-Кашьяпа)

Время на прочтение1 мин
Охват и читатели12K
Зачастую, во время работы с нейронными сетями, перед нами встает задача в построении линейных решающих функций (ЛРФ) для разделения классов, содержащих наши образы.


Рисунок 1. двумерный случай

Один из методов, позволяющих решить нашу проблему, это алгоритм наименьшей среднеквадратичной ошибки (НСКО алгоритм).

Интерес данный алгоритм представляет не только в том, что он помогает построить необходимые нам ЛРФ, а в том, что при возникновении ситуации, когда классы линейно неразделимы, мы можем построить ЛРФ, где ошибка неправильной классификации стремится к минимуму.
Читать дальше →

Как собрать биграммы для корпуса любого размера на домашнем компьютере

Время на прочтение5 мин
Охват и читатели21K
В современной компьютерной лингвистике биграммы, или в общем случае n-граммы, являются важным статистическим инструментом. В статье мы расскажем с какими трудностями можно столкнуться при расчёте биграмм на большом корпусе текстов и приведём алгоритм, который можно использовать на любом домашнем компьютере.
Читать дальше →

Обзор топологий глубоких сверточных нейронных сетей

Время на прочтение18 мин
Охват и читатели113K
Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

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

Как писать меньше кода для MR, или Зачем миру ещё один язык запросов? История Yandex Query Language

Время на прочтение14 мин
Охват и читатели52K
Исторически во многих уголках Яндекса разрабатывались свои системы хранения и обработки больших объемов данных — с учетом специфики конкретных проектов. При такой разработке в приоритете всегда была эффективность, масштабируемость и надежность, поэтому на удобные интерфейсы для использования подобных систем времени, как правило, не оставалось. Полтора года назад разработку крупных инфраструктурных компонентов выделили из продуктовых команд в отдельное направление. Цели были следующими: начать двигаться быстрее, уменьшить дублирование среди схожих систем и снизить порог входа новых внутренних пользователей.



Очень скоро мы поняли, что тут мог бы здорово помочь общий высокоуровневый язык запросов, который бы предоставлял единообразный доступ к уже имеющимся системам, а также избавлял от необходимости заново реализовывать типовые абстракции на низкоуровневых примитивах, принятых в этих системах. Так началась разработка Yandex Query Language (YQL) — универсального декларативного языка запросов к системам хранения и обработки данных. (Сразу скажу, что мы знаем, что это уже не первая штука в мире, которая называется YQL, но мы решили, что это делу не мешает, и оставили название.)

В преддверии нашей встречи, которая будет посвящена инфраструктуре Яндекса, мы решили рассказать о YQL читателям Хабрахабра.

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

Факторное моделирование с помощью нейронной сети

Время на прочтение16 мин
Охват и читатели20K
В статье рассматривается факторное моделирование с помощью метода факторизации на базе нейронной сети и алгоритма обратного распространения ошибки. Этот метод факторизации является альтернативой классическому факторному анализу. Данный метод был усовершенствован для проведения факторного вращения и получения интерпретируемого решения. Факторная структура, полученная с помощью данного метода факторизации, находятся в соответствии с результатами факторного моделирования посредством других методов.
Читать дальше →

ГОСТ Р 34.12 '15 на SSE2, или Не так уж и плох Кузнечик

Время на прочтение18 мин
Охват и читатели39K

На Хабре уже как минимум дважды упоминался новый отечественный стандарт блочного шифрования ГОСТ Р 34.12 2015 «Кузнечик», ru_crypt в своем посте рассмотрел основные механизмы и преобразования нового стандарта, а sebastian_mg занимался пошаговой трассировкой базового преобразования. Но многие вопросы остались без ответа. Насколько быстр новый ГОСТ? Можно ли его оптимизировать, эффективно реализовать, ускорить аппаратно?


GOST R 34.12 2015 with SSE2

А если можно, то как?

Разбор задач первого этапа отбора в школу программистов HeadHunter 2016

Время на прочтение9 мин
Охват и читатели21K
В сентябре 2016 прошел очередной ежегодный отбор молодых специалистов, студентов и выпускников инженерных и математических специальностей в школу программистов HeadHunter.

Для поступления предлагалось пройти несколько этапов, решая логические/математические задачи.
Варианты решения некоторых типовых задач первого этапа я и попытаюсь разобрать в данной статье.
PS: Для удобства быстрого написания и отладки кода подсчетов использовался JavaScript.

Пока писал статью, смотрю, в песочнице меня уже опередили по теме. Однако, у меня рассмотрены другие типы задач, только одна совпала про степени (но, судя по комментариям, не в обиду автору — решение неверное).
Читать дальше →

Генерируем псевдослучайные ID а-ля Youtube

Время на прочтение4 мин
Охват и читатели25K
Привет, %username%! Бывает необходимо генерировать ID не подряд, причем чтобы они гарантированно не повторялись. На youtube это используется для того, чтобы вы не могли брутфорсом получить все новые и старые видосики, так же это не редкость на разных файлообменниках и вообще везде где нужно предотвратить или хотя бы затруднить возможность прямого перебора значений.


К примеру, в системе moodle, которая использовалась у нас в универе для тестирования студентов, ID ответов были инкрементными и сквозными на всю базу. Логично предположить, что правильным ответом был тот, что с наименьшим ID в пределах вопроса. В общем, проблем с тестами у нас не было. Потом они перешли на GUID, но я к тому моменту уже выпустился, хехе.

Давайте рассмотрим несколько способов генерации таких ограниченных по длине последовательностей от самых простых до криптографически стойких.
Читать дальше →

Как оптимизировать запоминание иностранных слов

Время на прочтение8 мин
Охват и читатели34K


Прежде чем взяться за разработку мобильного приложения для заучивания лексики, мы в школе Skyeng потратили массу времени на изучение алгоритмов работы памяти и запоминания слов. В результате разработка Aword заняла чуть больше времени, но мы более уверены в результате — использование определенных алгоритмов в показе слов помогает эффективнее пополнять словарный запас.
Читать дальше →

Школа Данных «Билайн», на Неве

Время на прочтение3 мин
Охват и читатели4.7K


Привет, Хабр! Вы уже не раз слышали про то, что мы проводим курсы машинного обучения и анализа данных в Школе Данных «Билайн». Сегодня мы отмечаем уже 6-й выпуск на нашем аналитическом курсе и 4й — на курсе для менеджеров. Только успев выпустить один курс — мы набираем новый. После каждого очередного выпуска мы собираем обратную связь от наших слушателей, анализируем ее и делаем нашу программу еще более насыщенной практикой и примерами из реального бизнеса.

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

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

Курс начинается 28-го октября, будет проходить по понедельникам и пятницам в вечернее время с 19.00 до 21.00 в офисе компании «Билайн» по адресу Васильевский остров, 21 линия, д. 6, литер А (ближайшая станция метро «Василеостровская»).

Впереди нас ждет 18 занятий (курс рассчитан на 9 недель), на которых мы постараемся покрыть самые важные темы анализа данных.
Читать дальше →

Размышления об алгоритмах и методах. Представление полного алгоритма порождения сочетаний + размещений с повторением

Время на прочтение7 мин
Охват и читатели9.7K
Эта статья содержит ряд наблюдений, касающихся проблем алгоритмизации, минимизации ошибок, понимания и изучения чужого кода, а также рассуждения о полном представлении алгоритмов и небольшой эксперимент.
Читать дальше →

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

Разбор задач заочного тура школы программистов HeadHunter 2016. Часть 1

Время на прочтение5 мин
Охват и читатели16K
Всем доброго времени суток! 30 сентября закончился прием заявок в школу программирования HeadHunter 2016. В этой статье я хотела бы разобрать задачи заочного этапа. Надеюсь, что моя статья будет полезной, учитывая, что при решении задач пришлось посетить не один десяток сайтов. Я имею небольшой опыт в программировании, поэтому я не утверждаю, что мое решение единственно верное. Всегда буду рада услышать Вашу критику!
При решении задач используется язык программирования Java.
Читать дальше →

Генерирование паролей для серии игр Prince of Persia

Время на прочтение9 мин
Охват и читатели16K
Добрый день, уважаемые пользователи.
Сегодня я хотел бы рассказать про одну замечательную серию игр. Многие познакомились с ней, благодаря версии на NES, некоторые видели персидского принца на DOS, кто-то играл в Принц Персии на Sega Genesis и… вроде всё, но нет! Первая часть была портирована на большое количество разных игровых платформ. А сколько систем паролей было придумано по этому поводу? А сколько портов было у второй части? А какие пароли были там?
Про это я и хотел бы Вам рассказать.

Prince of Persia (Sega Master System/Sega Game Gear)


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

Речевая аналитика как инструмент управления KPI контакт-центра. Кейс «Ростелеком»

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


Сегодня мы расскажем о том, как «Ростелеком Северо-Запад» повысил бизнес-показатели своего Единого Контакт-центра (ЕКЦ) с помощью инновационных технологий речевой аналитики. Подведены итоги консалтингового проекта, в рамках которого специалисты ЦРТ с помощью инструментов речевой аналитики Speech Analytics Lab проанализировали обращения клиентов в ЕКЦ «Ростелеком» и предложили методику улучшения качества обслуживания.

Зачем в КЦ нужна речевая аналитика?


ЕКЦ Северо-Западного филиала «Ростелеком» — огромная система, которая ежедневно обрабатывает тысячи обращений. При контроле качества супервизоры могут проанализировать только случайную выборку звонков, которая, как правило, составляет до 2% от общего числа обращений. А это не всегда даёт объективную картину.

С помощью инструментов речевой аналитики специалисты могут работать со 100% обращений. Для этого все диалоги ЕКЦ переводятся в текст и анализируются с помощью системы Speech Analytics Lab. Благодаря инструментам поиска в массивах неструктурированной речевой информации аналитик может отработать гипотезы (найти ключевые слова) на выборках в сотни тысяч фонограмм за несколько секунд.

На основе такого анализа можно разработать программу изменений для действующих в ЕКЦ процедур и процессов и оптимизировать системы самообслуживания (IVR, Личный кабинет, сайт).
Читать дальше →

Программирование&Музыка: ADSR-огибающая сигнала. Часть 2

Время на прочтение19 мин
Охват и читатели16K

Всем привет!
Вы читаете вторую часть статьи про создание VST-синтезатора на С#. В первой части был рассмотрен SDK и библиотеки для создания VST плагинов, рассмотрено программирование осциллятора.
В этой части я расскажу про огибающие сигнала, их разновидности, применение в обработке звука. В статье будет рассмотрено программирование ADSR-огибающей для управления амплитудой сигнала, генерируемого осциллятором.
Огибающие есть в любом синтезаторе, применяются не только в синтезе, а повсеместно обработке звука.


Исходный код написанного мною синтезатора доступен на GitHub'е.



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

Как проверить причинную связь без эксперимента?

Время на прочтение9 мин
Охват и читатели16K


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

Действительно ли пациентам, тестирующим новое лекарство, становится лучше из-за лекарства, или они все все равно бы выздоровели? Ваши продавцы действительно эффективны или же они говорят с теми клиентами, которые и так готовы совершить покупку? Действительно ли Сойлент (или рекламная кампания, которая обойдётся фирме в миллион долларов) стоит вашего времени?
Читать дальше →

Лекции Техносферы. 1 семестр. Введение в анализ данных (весна 2016)

Время на прочтение3 мин
Охват и читатели44K
Слушайте и смотрите новую подборку лекций Техносферы Mail.Ru. На этот раз представляем в открытом доступе весенний курс «Введение в анализ данных», на котором слушателей знакомят со сферой анализа данных, основными инструментами, задачами и методами, с которыми сталкивается любой исследователь данных в работе. Курс преподают Евгений Завьялов (аналитик проекта Поиск Mail.Ru, занимающийся извлечением полезных бизнесу знаний из данных, генерируемых поисковым движком и десктопными приложениями), Михаил Гришин (программист-исследователь из отдела анализа данных) и Сергей Рыбалкин (старший программист из студии Allods Team).

Лекция 1. Введение в Python


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


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

Задача про улитку

Время на прочтение3 мин
Охват и читатели53K
image В этом топике я предлагаю 3 довольно базовые задачи на сообразительность. Для начинающих программистов (вероятно, для совсем начинающих, а-ля школа, потому что для настоящего программиста слишком банально). Или, возможно, для собеседования, но для проверки конкретно одного узкого аспекта: насколько человек может вообще принимать решения самостоятельно, а не передирать и подправлять под себя.
Читать дальше →

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