Pull to refresh
1
0
Александр Мамаев @alxmamaev

Machine Learning researcher at VK.com and Dbrain

Send message

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Машинное обучение в RapidMiner

Reading time7 min
Views13K


Дмитрий Соболев, Игорь Мастерной, Рафаэль Зубаиров

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

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

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

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

Сейчас тройка лидеров в автоматизированном и упрощённом машинном обучении состоит из DataRobot, RapidMiner и BigMl. В этой статье мы подробно рассмотрим RapidMiner — расскажем о том, что он умеет и как может вам облегчить жизнь.
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments4

Как создать расистский ИИ, даже не пытаясь. Часть 2

Reading time9 min
Views8K
В первой статье мы успели осознать, как легко и непринужденно ИИ впитывает человеческие предрассудки в логику своих моделей. Как я и обещала, выкладываю вторую часть перевода, в которой мы разберемся, как измерить и ослабить влияние расизма в ИИ с помощью простых методов.


Напомню: мы закончили на том, что наш классификатор считал идею пойти в итальянский ресторан в 5 раз лучше, чем в мексиканский.
Читать дальше →
Total votes 31: ↑21 and ↓10+11
Comments48

Метрики в задачах машинного обучения

Reading time9 min
Views629K

Привет, Хабр!



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


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


Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments9

Как работает метод главных компонент (PCA) на простом примере

Reading time10 min
Views268K


В этой статье я бы хотел рассказать о том, как именно работает метод анализа главных компонент (PCA – principal component analysis) с точки зрения интуиции, стоящей за ее математическим аппаратом. Максимально просто, но подробно.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments23

Предсказываем популярность статьи на TJ

Reading time10 min
Views10K

Однажды томным вечером, сидя напротив мелькающей ленты tjournal и попивая ромашковый чай, внезапно обнаружил себя за чтением статьи про советскую лампочку, которая освещала чей-то подъезд уже 80 лет. Да, весьма интересно, но все же я предпочитаю статьи про политику достижения ИИ в игре дум, приключения ракет SpaceX и, в конце концов, — с наибольшим кол-вом просмотров. А какие вообще статьи набирают внушительные рейтинги? Посты размером с твит про какую-то политическую акцию или же талмуды с детальным анализом российской киноиндустрии? Ну что же, тогда самое время расчехлять свой Jupyter notebook и выводить формулу идеальной статьи.


Читать дальше →
Total votes 45: ↑32 and ↓13+19
Comments6

Чудесный мир Word Embeddings: какие они бывают и зачем нужны?

Reading time19 min
Views134K

Начать стоит от печки, то есть с постановки задачи. Откуда берется сама задача word embedding?
Лирическое отступление: К сожалению, русскоязычное сообщество еще не выработало единого термина для этого понятия, поэтому мы будем использовать англоязычный.
Сам по себе embedding — это сопоставление произвольной сущности (например, узла в графе или кусочка картинки) некоторому вектору.


image

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments23

Рассматриваем задачи хакатона от Промсвязьбанка. Зачем банку хакатон?

Reading time3 min
Views9.8K


Промсвязьбанк открыл прием заявок на хакатон PSB SAMARA BATTLE, а компания "Техносерв" решила поддержать мероприятие и выступить его технологическим партнером.


Хакатон пройдет в Самаре с 30 сентября по 1 октября. Его цель – найти лучших разработчиков, дизайнеров и даже маркетологов для того, чтобы разработать прототип нового продукта или решения на одну из актуальных для Промсвязьбанка тем. Ниже мы рассматриваем каждую тему с точки зрения того, прототипы каких продуктов могут быть разработаны в рамках хакатона, а также к чему готовиться и чего ждать от мероприятия.

Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments13

Алгоритм машинного обучения Flappy Bird

Reading time4 min
Views48K
Я познакомлю вас с полным туториалом на HTML5 с демо по алгоритму машинного обучения видеоигре Flappy Bird. Цель этого эксперимента — написать игровой контроллер искусственного интеллекта на основе нейросетей и генетического алгоритма.

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

Прочитав теорию, лежащую в основе этого проекта, можно скачать исходный код в конце этого туториала. Весь код написан на HTML5 с использованием фреймворка Phaser. Кроме того, мы использовали библиотеку Synaptic Neural Network для реализации нейросети, чтобы не создавать её с нуля.

Демо


Для начала посмотрите демо, чтобы оценить алгоритм в действии:



Запустить в полноэкранном режиме
Total votes 60: ↑58 and ↓2+56
Comments26

Как правильно хешировать пароли в высоконагруженных сервисах. Опыт Яндекса

Reading time8 min
Views40K
Я расскажу о такой проблеме, как хеширование паролей в веб-сервисах. На первый взгляд кажется, что тут все «яснопонятно» и надо просто взять нормальный алгоритм, которых уже напридумывали много, написать чуть-чуть кода и выкатить все в продакшн. Но как обычно, когда начинаешь работать над проблемой, возникает куча подводных камней, которые надо обязательно учесть. Каких именно? Первый из них — это, пожалуй, выбор алгоритма: хоть их и много, но у каждого есть свои особенности. Второй — как выбирать параметры? Побольше и получше? Как быть с временем ответа пользователю? Сколько памяти, CPU, потоков? И третий — что делать с computational DoS? В этой статье я хочу поделиться некоторыми своими мыслями об этих трех проблемах, опытом внедрения нового алгоритма хеширования паролей в Яндексе и небольшим количеством кода.



Attacker & Defender


Прежде чем переходить к алгоритмам и построению схемы хеширования, надо вообще понять, от чего же мы защищаемся и какую роль в безопасности веб-сервиса должно играть хеширование паролей. Обычно сценарий таков, что атакующий ломает веб-сервис (или несколько веб-сервисов) через цепочку уязвимостей, получает доступ к базе данных пользователей, видит там хеши паролей, дампит базу и идет развлекаться с GPU (и, в редких случаях, с FPGA и ASIС).
Читать дальше →
Total votes 106: ↑100 and ↓6+94
Comments65

Big Data и Одноклассники: как поступают с данными во 2-й по посещаемости соцсети в России

Reading time6 min
Views13K
У Одноклассников не отнять главного — это вторая по посещаемости соцсеть в России (4-е место среди всех сайтов Рунета). А, например, в Армении и вовсе первая. Миллионы людей ежедневно заходят на сайт сети и оставляют там терабайты данных, которые можно анализировать. Какие данные соцсеть собирает с пользователей? На каком стеке можно влегкую обрабатывать десятки терабайт данных в сутки? И всегда ли больше данных — лучше?
 


Мы взяли интервью у Дмитрия Бугайченко, который рассказал нам про Big Data в Одноклассниках.
 
Дмитрий Бугайченко. Закончил Санкт-Петербургский Государственный Университет в 2004 году, там же защитил кандидатскую по формально-логическим методам в 2007. Почти 9 лет проработал в аутсорсинге, не теряя контакта с университетом и научной средой. Анализ больших данных в Одноклассниках стал для Дмитрия уникальным шансом совместить теоретическую подготовку и научный фундамент с разработкой реальных и востребованных продуктов.

Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments10

Технологический стек классификации текстов на естественных языках

Reading time15 min
Views18K
В данном посте мы рассмотрим современные подходы, применяемые для классификации текстов на естественном языке по их тематикам. Выбранные методы работы с документами определены общей сложной спецификой задачи – зашумлёнными обучающими выборками, выборками недостаточного размера или вообще отсутствующими выборками, сильным перекосом размеров классов и так далее. В общем – реальные практические задачи. Прошу под кат.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments22

Реализация классификации текста свёрточной сетью на keras

Reading time9 min
Views23K
Речь, как ни странно, пойдёт о использующем свёрточную сеть классификаторе текстов (векторизация отдельных слов — это уже другой вопрос). Код, тестовые данные и примеры их применения — на bitbucket (уперся в ограничения размера от github и предложение применить Git Large File Storage (LFS), пока не осилил предлагаемое решение).

Наборы данных


Использованы конвертированные наборы: reuters — 22000 записей, watson-й — 530 записей, и ещё 1 watson-й — 50 записей. Кстати, не отказался бы от подкинутого в комменты/ЛС (но лучше таки в комменты) набора текстов на русском.

Устройство сети


За основу взята одна реализация описанной тут сети. Код использованной реализации на github.

В моём случае — на входе сети находятся векторы слов (использована gensim-я реализация word2vec). Структура сети изображена ниже:


Вкратце:

  • Текст представляется как матрица вида word_count x word_vector_size. Векторы отдельных слов — от word2vec, о котором можно почитать, например, в этом посте. Так как заранее мне неизвестно, какой текст подсунет пользователь — беру длину 2 * N, где N — число векторов в длиннейшем тексте обучающей выборки. Да, ткнул пальцев в небо.
  • Матрица обрабатывается свёрточными участками сети (на выходе получаем преобразованные признаки слова)
  • Выделенные признаки обрабатываются полносвязным участком сети

Стоп слова отфильтровываю предварительно (на reuter-м dataset-е это не сказывалось, но в меньших по объему наборах — оказало влияние). Об этом ниже.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments12

Прогнозирование финансовых временных рядов с MLP в Keras

Reading time10 min
Views78K

image
Всем привет! В этой статье я хочу рассказать про базовый пайплайн в прогнозировании временных рядов с помощью нейронных сетей, в данном случае, наверное, с самыми сложными временными рядами для анализа — финансовыми данными, которые имеют случайную природу, и, казалось бы, непредсказуемые. Или все-таки нет?

Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments17

Геометрия машинного обучения. Разделяющие гиперплоскости или в чём геометрический смысл линейной комбинации?

Reading time13 min
Views46K
Во многих алгоритмах машинного обучения, в том числе в нейронных сетях, нам постоянно приходится иметь дело со взвешенной суммой или, иначе, линейной комбинацией компонент входного вектора. А в чём смысл получаемого скалярного значения?

В статье попробуем ответить на этот вопрос с примерами, формулами, а также множеством иллюстраций и кода на Python, чтобы вы могли легко всё воспроизвести и поставить свои собственные эксперименты.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments9

Открытый курс машинного обучения. Тема 2: Визуализация данных c Python

Reading time15 min
Views415K

Второе занятие посвящено визуализации данных в Python. Сначала мы посмотрим на основные методы библиотек Seaborn и Plotly, затем поанализируем знакомый нам по первой статье набор данных по оттоку клиентов телеком-оператора и подглядим в n-мерное пространство с помощью алгоритма t-SNE. Есть и видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


Сейчас статья уже будет существенно длиннее. Готовы? Поехали!

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

Сравниваем цены в книжных интернет магазинах c помощью python, pandas и matplotlib

Reading time7 min
Views32K
Сегодня мы попробуем найти самый дешевый и самый дорогой интернет магазин книг.
Сравнивать будем бумажные книги, которые есть в наличии. В разных магазинах очень разное количество книг. Где-то менее 1000, а где-то более 200 000 книг.



Кстати, гистограмма настоящая. Как она построена и другие интересные закономерности под катом.
Читать дальше
Total votes 26: ↑24 and ↓2+22
Comments28

Необычные модели Playboy, или про обнаружение выбросов в данных c помощью Scikit-learn

Reading time7 min
Views127K
Мотивированный статьей пользователя BubaVV про предсказание веса модели Playboy по ее формам и росту, автор решил углубиться if you know what I mean в эту будоражащую кровь тему исследования и в тех же данных найти выбросы, то есть особо сисястые модели, выделяющиеся на фоне других своими формами, ростом или весом. А на фоне этой разминки чувства юмора заодно немного рассказать начинающим исследователям данных про обнаружение выбросов (outlier detection) и аномалий (anomaly detection) в данных с помощью реализации одноклассовой машины опорных векторов (One-class Support Vector Machine) в библиотеке Scikit-learn, написанной на языке Python.
Читать дальше →
Total votes 84: ↑77 and ↓7+70
Comments36

Строим простую картограмму Pandas+Vincent

Reading time7 min
Views17K
Добрый день, уважаемые читатели.
В прошлой статье было описано ввдение в визулизацию данных с Pandas и matplotlib. Сегодня же хотелось бы показать еще один способ отображения результатов анализа с помощью Vincent, который так же очень просто интегрируется с Pandas, хотя и займет это чуть больше действий, чем в случае с matplotlib.
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments0

Введение в визуализацию данных при анализе с помощью Pandas

Reading time6 min
Views53K
Доброго времени суток, уважаемые читатели.
Как обещалось в предыдущей статье, сегодня я продолжу рассказ о модуле pandas и анализе данных на языке Python. В данной статье хотелось бы затронуть тему быстрой визуализации данных результатов анализа. В этом нам помогут библиотека для визуализации данных matplotlib и среда разработки Spyder.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments2
1

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity