Pull to refresh
65
0
Vadim Frolov @fralik

Data Scientist

Send message

Пандемия COVID-19 глазами математика, или почему классическая модель SEIRD не работает

Reading time11 min
Views41K

Аннотация, или о досуге молодых ученых


Последние несколько недель мы с коллегами заканчиваем рабочий день тем, что соревнуемся в точности прогноза развития эпидемии COVID-19 в России, используя различные методы нелинейной регрессии. И если прогноз на завтрашний день неизбежно оказывается хорош, то предсказание на срок больше одной недели отражает реальность лишь в общих чертах. Казалось бы, все понятно: есть эпидемиологические модели, есть методы оптимизации, есть достаточно подробные данные, — достаточно совместить это воедино и получить точный прогноз на месяц, а то и полгода, вперед. В этой статье я поделюсь своими соображениями, что не так с классической моделью SEIRD и как это исправить. И, конечно, приоткрою завесу тайны, окутывающую наше с вами будущее.

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


На рисунке выше приведено общее число подтвержденных случаев COVID-19 в логарифмическом масштабе для России и трех европейских стран, входящих в топ-5 по числу зараженных. Объяснение далее в тексте.
Читать дальше →
Total votes 46: ↑41 and ↓5+53
Comments156

Вычисления на GPU – зачем, когда и как. Плюс немного тестов

Reading time12 min
Views85K
Всем давно известно, что на видеокартах можно не только в игрушки играть, но и выполнять вещи, никак не связанные с играми, например, нейронную сеть обучить, криптовалюту помайнить или же научные расчеты выполнить. Как так получилось, можно прочитать тут, а я хотел затронуть тему того, почему GPU может быть вообще интересен рядовому программисту (не связанному с GameDev), как подступиться к разработке на GPU, не тратя на это много времени, принять решение, нужно ли вообще в эту сторону смотреть, и «прикинуть на пальцах», какой профит можно получить. 


Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments29

Большой гайд по A/B-тестированию

Reading time18 min
Views65K
В интернете масса информации об A/B-тестированиях, но многие до сих пор проводят их неправильно. Ошибиться действительно легко, поэтому подобные исследования требуют серьезной предварительной подготовки. В этой статье рассматриваются основные аспекты A/B-тестирования, которые необходимо учитывать для эффективного анализа веб-страниц.

Что такое A/B-тестирование?


A/B тестирование (сплит-тестирование) разделяет трафик в соотношении 50/50 между разными версиями страницы. По сути, этот метод — новое название для старой техники, известной как «контролируемый эксперимент».

Для проверки эффективности новых лекарств специалисты проводят сплит-тесты. Фактически, большинство исследовательских экспериментов можно назвать A/B-тестированием. Они включают в себя гипотезу, основной объект исследования, его вариацию и результат, представленный в виде статистических данных.

Вот и все. В качестве примера можно привести простое A/B-тестирование, при котором трафик в соотношении 50/50 делится между основной страницей и ее вариацией:


Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Видеозвонки с виртуальным фоном и опенсорсные инструменты

Reading time11 min
Views35K
Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual Background). Она позволяет пользователям, в интерактивном режиме, заменять фон, находящийся позади них, на любое изображение или видео.



Я уже давно применяю Zoom на работе, на опенсорсных встречах, посвящённых Kubernetes, делая это обычно с корпоративного ноутбука. Теперь я, в режиме работы из дома, склонен к использованию более мощного и удобного персонального настольного компьютера для решения некоторых из моих опенсорсных задач.

К несчастью, Zoom поддерживает лишь способ удаления фона, известный как «хромакей» или «зелёный экран». Для использования этого метода нужно, чтобы фон был бы представлен неким сплошным цветом, в идеале — зелёным, и был бы равномерно освещён.

Так как зелёного экрана у меня нет, я решил просто реализовать собственную систему удаления фона. А это, конечно, куда лучше, чем наведение порядка в квартире, или постоянное использование рабочего ноутбука.

Как оказалось, применив готовые опенсорсные компоненты и написав буквально несколько строк собственного кода, можно получить весьма достойные результаты.
Total votes 47: ↑45 and ↓2+66
Comments37

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

Reading time13 min
Views74K
Фотография Пабло Гарсия Залдана с Ансплэша Фотография Пабло Гарсия Залдана с Анспэша

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

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →
Total votes 29: ↑24 and ↓5+26
Comments68

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

Reading time9 min
Views29K
image
Вот и весь комплект, если есть CAN-шина.

Всего пять лет назад не было нормально работающих нейросетей для того же определения препятствий и краёв стеблестоя, поэтому не было и видеоаналитики. Были «слепые» GPS-методы, которые на практике оказались далеко не лучшими и сильно подмочили престиж автоматизации в сельском хозяйстве. Через пять лет, как мы считаем, все комбайны будут автоматизированы именно визуальными автопилотами, чтобы смотреть из кабины и в стороны и контролировать все аспекты уборки урожая.

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

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

В России 350 тысяч комбайнов, и поставляется ещё 35 тысяч в год. Это не рынок автомобилей, конечно, но, сделав правильное решение сейчас, пока туда ещё никто не пришёл, можно получить его весь.

Но давайте расскажу лучше, как именно это работает и как мы модифицируем комбайны в России.
Читать дальше →
Total votes 82: ↑81 and ↓1+99
Comments37

Введение в эксплоитинг и реверсинг с использованием IDA FREE и других бесплатных инструментов. Глава 2

Reading time15 min
Views8.8K
В первой части мы установили несколько инструментов, которые будут полезны для нас для прохождения этого курса. Их особенность в том, что они все бесплатны. Мы не будем использовать какой-либо платный инструмент, а из тех, у которых есть платная версия, таких как IDA или PYCHARM, мы будем использовать версию FREE или COMMUNITY.
Читать дальше →
Total votes 4: ↑3 and ↓1+3
Comments0

SLAE — Security Linux Assembly Expert Exam

Reading time19 min
Views5.3K
image

Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает разобраться в основах ассемблера и научиться писать простые шеллкоды. После прохождения курса вы научитесь пользоваться основными системными вызовами Linux'a, писать простые шеллкоды, начнете понимать базовые принципы работы операционной системы на уровне ядра. В данной статье будут рассмотрены задания, необходимые для прохождения экзамена по этому курсу.

По условиям экзамена необходимо выполнить 7 заданий:

  1. Написать TCP Bind Shell
  2. Написать Reverse TCP Shell
  3. Разобраться с техникой egghunter и предоставить пример этой техники
  4. Написать кодировщик кода
  5. Проанализировать 3 шеллкода, сгенерированных msfvenom'ом при помощи GDB/ndisasm/libemu
  6. Выполнить полиморфное преобразование 3 любых шеллкодов и shellstorm'а.
  7. Написать шифровальщик кода
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments3

Антипаттерны событийно-ориентированной архитектуры

Reading time9 min
Views11K
И снова здравствуйте! В преддверии старта курса «Архитектор ПО» подготовили перевод еще одного интересного материала.




Последние несколько лет наблюдается рост популярности микросервисной архитектуры. Есть много ресурсов, которые учат правильно ее реализовывать, однако достаточно часто люди говорят о ней, как о серебряной пуле. Против использования микросервисов есть множество аргументов, но самый весомый из них заключается в том, что этот тип архитектуры таит в себе неопределенную сложность, уровень которой зависит от того, как вы управляете отношениями между вашими сервисами и командами. Вы можете найти много литературы, которая расскажет почему (возможно) в вашем случае микросервисы окажутся не лучшим выбором.
Читать дальше →
Total votes 16: ↑14 and ↓2+19
Comments2

Как заказать ролик об IT-продукте на аутсорсе и получить то, что нужно

Reading time4 min
Views1.5K

7 вещей, которые зависят от вас


Хотите быстро сделать классный ролик о своём сервисе или приложении? Исполнитель хочет сделать для вас то же самое! Ваши намерения совпадают, осталось только научиться продуктивно взаимодействовать. Что может сделать клиент со своей стороны, чтобы работа над роликом шла без заминок и оставляла только положительные впечатления? Проанализировав свой опыт создания роликов об IT-продуктах, мы в Alconost вывели семь рекомендаций на этот счёт.
Читать дальше →
Total votes 3: ↑2 and ↓1+5
Comments0

Виджеты на Android. Редкая фича, в которой придется разобраться

Reading time11 min
Views30K
Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH.

У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптировать его под android? Если да, то часто ли ваши дизайнеры используют виджеты? К сожалению, виджет — редкий кейс для многих разработчиков, потому что с ним редко кто работает,

В статье я подробно расскажу как создать виджет, на что стоит обратить внимание и поделюсь своим кейсом.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

Использование faiss для поиска по многомерным пространствам

Reading time7 min
Views11K

Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объявлении, даже если они достаточно серьёзно искажены: размыты, обрезаны и тому подобное. Так мы определяем потенциально фейковые публикации.


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


Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments22

Визуальная теория информации (часть 1)

Reading time12 min
Views21K


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

Теория информации дает нам точный язык для описания многих вещей. Сколько во мне неопределенности? Как много знание ответа на вопрос А говорит мне об ответе на вопрос Б? Насколько похож один набор убеждений на другой? У меня были неформальные версии этих идей, когда я был маленьким ребенком, но теория информации кристаллизует их в точные, сильные идеи. Эти идеи имеют огромное разнообразие применений, от сжатия данных до квантовой физики, машинного обучения и обширных областей между ними.

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

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments7

Python (+numba) быстрее Си — серьёзно?! Часть 1. Теория

Reading time7 min
Views79K

Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скорость выполнения кода на питоне к скорости на си. В данной статье после небольшого обзора по numba (часть 1) чуть более подробный разбор этой ситуации (часть 2).


Читать дальше →
Total votes 26: ↑24 and ↓2+30
Comments7

Проект Lacmus: как компьютерное зрение помогает спасать потерявшихся людей

Reading time19 min
Views21K
Всем привет!

Возможно, вы уже знаете про инициативу Machine Learning for Social Good (#ml4sg) сообщества Open Data Science. В её рамках энтузиасты на бесплатной основе применяют методы машинного обучения для решения социально-значимых проблем. Мы, команда проекта Lacmus (#proj_rescuer_la), занимаемся внедрением современных Deep Learning-решений для поиска людей, потерявшихся вне населённой местности: в лесу, поле и т.д.


Читать дальше →
Total votes 61: ↑60 and ↓1+77
Comments36

Нейросети. Куда это все движется

Reading time7 min
Views40K

Статья состоит из двух частей:


  1. Краткое описание некоторых архитектур сетей по обнаружению объектов на изображении и сегментации изображений с самыми понятными для меня ссылками на ресурсы. Старался выбирать видео пояснения и желательно на русском языке.
  2. Вторая часть состоит в попытке осознать направление развития архитектур нейронных сетей. И технологий на их основе.

Понимать архитектуры нейросетей непросто


Рисунок 1 – Понимать архитектуры нейросетей непросто


Все началось с того, что сделал два демонстрационных приложения по классификации и обнаружению объектов на телефоне Android:


  • Back-end demo, когда данные обрабатываются на сервере и передаются на телефон. Классификация изображений (image classification) трех типов медведей: бурого, черного и плюшевого.
  • Front-end demo, когда данные обрабатываются на самом телефоне. Обнаружение объектов (object detection) трех типов: фундук, инжир и финик.
Читать дальше →
Total votes 27: ↑25 and ↓2+35
Comments50

Введение в ELF-файлы в Linux: понимание и анализ

Reading time11 min
Views91K
Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внутрь. И таким же оказывается ELF, Executable and Linkable Format. Формат файлов, который используется повсеместно, но мало кто его понимает. Это краткое руководство поможет вам достичь понимания.



Прочтя это руководство, вы изучите:

  • Зачем нужен формат ELF и для каких типов файлов он используется
  • Структуру файла ELF и детали его формата
  • Как читать и анализировать бинарное содержимое файла ELF
  • Какие инструменты используются для анализа бинарных файлов
Читать дальше →
Total votes 34: ↑30 and ↓4+33
Comments15

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Reading time19 min
Views628K

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


Читать дальше →
Total votes 285: ↑280 and ↓5+365
Comments595

Реализация строкового типа в CPython

Reading time9 min
Views9.2K
Продолжу неспешный разбор реализации базовых типов в CPython, ранее были рассмотрены словари и целые числа. Тем, кто думает, что в их реализации не может быть ничего интересного и хитрого, рекомендуется приобщиться к данным статьям. Те, же, кто уже их прочёл, знают, что CPython хранит в себе множество интересностей и особенностей реализации. Их может быть полезно знать при написании своих скриптов, так и в качестве пособия по архитектурным и алгоритмическим решениям. Не являются исключением здесь и строки.


Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments16

10 практических рекомендаций по безопасности образов Docker. Часть 2

Reading time6 min
Views7.2K
Перевод статьи подготовлен специально для студентов курса «Безопасность Linux».


Читать первую часть


5. Не оставляйте чувствительные данные в образах Docker


Иногда при создании приложения внутри образа Docker вам нужны такие секретные данные, как приватный SSH-ключ для извлечения кода из приватного репозитория или токены для установки закрытых пакетов. Если вы копируете их в промежуточный контейнер Docker, они кэшируются в том слое, к которому они были добавлены, даже если вы удалите их позже. Эти токены и ключи должны храниться вне Dockerfile.
Читать дальше →
Total votes 13: ↑12 and ↓1+15
Comments4

Information

Rating
Does not participate
Registered
Activity