Рубрика «algorithms»

О чём статья

Недавно я познакомился с golang и в качестве практики решил реализовать алгоритмы rate limiting'а из статьи c arxiv. В этой статье мы рассмотрим написание rate-limiter'а в виде отдельно стоящего сервиса и в виде middleware, используя in-memory кэш или Redis, добавим поддержку REST и gRPC, подключим Prometheus и поймём как добиться атомарности операций с минимальными задержками.

Кому полезно

Новичкам в golang или же людям, которые по какой-то причине также решили использовать собственные реализации rate-limiter'ов заместо уже существующих решений.

Предисловие

Читать полностью »

Вот что видит пользователь, когда мы рисуем график давления в скважине за два года — 50 миллионов точек:

Слева — идеальная отрисовка. Справа — LTTB. Потеряно 59.2% плотности.

Слева — идеальная отрисовка. Справа — LTTB. Потеряно 59.2% плотности.

Читать полностью »

Привет! PID-регулятор — частая проблема для начинающих в робототехнике: математика отпугивает. Но саму идею понять можно без формул. В этой статье я объясню P, I и D простыми словами.

Симулятор

Чтобы было проще понять работу регулятора, я написал простой симулятор. Он доступен по ссылке — там можно поэкспериментировать самому. Всё на Python — так он доступен как можно большему кругу людей. Буду рад звёздочке :)

Что такое PID-регулятор?

PID-регулятор — это программа, которая читает показания датчика и управляет мощностью так, чтобы значение датчика стало тем, что вы задали.Читать полностью »

Поиск аномалий(Outlier Detection) является важной темой в машинном обучении. Алгоритмы такого типа актуальны и используются повсеместно: Кибербез, Банковские системы, предобработка данных, медицина, анализ логов, контроль качества и это лишь малая часть всего списка.Сегодня мы с вами познакомимся с двумя такими алгоритмами, сравним их и посмотрим результаты нашей работы.В нашем исследовании оценивать алгоритмы мы будем по метрикам Recall(реальная доля тех, кого правильно пометили как аномалию), Precision(Показывает долю истинно положительных результатов среди всех, которые модель пометила как положительные)Читать полностью »

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

  • Потоковая обработка

  • Распределённые системы (агрегация на многих узлах).

  • Реал‑тайм аналитика (быстрые ответы на лету).

Главные алгоритмы и их суть

Алгоритм

Что решает?

Читать полностью »

Недистрибутивность деления, или Как я считал среднюю величину - 1

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

Постановка задачи: реализовать функцию uint32_t average(uint32_t a, uint32_t b), не используя типов шире, чем uint32_t, и затем обобщить этот подход на произвольное количество аргументов.Читать полностью »

JavaScript: структуры данных и алгоритмы. Часть 11 - 1

Привет, друзья!

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

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

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

Интересно? Тогда прошу под кат.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js