Готовы ли вы сделать следующий большой шаг в своем путешествии в области машинного обучения? Работа над игрушечными наборами данных и использование популярных библиотек и фреймворков для обработки данных — хорошее начало. Но если вы действительно хотите выделиться среди конкурентов, вам нужно сделать рывок и выделиться.
Отличный способ сделать это — сделать проект о последних достижениях в науке о данных. Хотите стать экспертом Компьютерного зрения? Узнайте, как работает новейший алгоритм обнаружения объектов. Если ваше призвание — Обработка естественного языка (NLP), узнайте о различных аспектах и ответвлениях архитектуры Transformer.
Моя точка зрения — всегда будьте готовы и готовы работать над новыми методами науки о данных. Это одна из самых быстрорастущих областей в отрасли, и мы, специалисты по данным, должны расти вместе с ней.
Итак, давайте проверим семь проектов GitHub по науке о данных, которые были созданы в августе 2019 года. Как всегда, я оставил предметную область широкой, включив в нее проекты от машинного обучения до обучения с подкреплением.
И если вы столкнулись с какой-либо библиотекой, которой нет в этом списке, сообщите об этом сообществу в разделе комментариев под этой статьей!
Лучшие проекты GitHub по науке о данных
Я разделил эти проекты по науке о данных на три широкие категории:
- Проекты машинного обучения
- Проекты глубокого обучения
- Проекты по программированию
Проекты машинного обучения
pyforest — импорт всех библиотек Python Data Science в одну строку кода
Мне очень, очень нравится эта библиотека Python. Как следует из приведенного выше заголовка, ваши типичные библиотеки обработки данных импортируются с использованием только одной библиотеки — pyforest. Посмотрите эту быструю демонстрацию, которую я взял из репозитория GitHub библиотеки:
Взволнованы еще? pyforest в настоящее время включает в себя библиотеки pandas, NumPy, matplotlib и многие другие библиотеки обработки данных.
Просто используйте pip install pyforest, чтобы установить библиотеку на свой компьютер, и все готово. И вы можете импортировать все популярные библиотеки Python для науки о данных всего одной строкой кода:
Потрясающий! Мне очень нравится использовать это, и я уверен, что вы тоже. Вам следует ознакомиться с приведенным ниже бесплатным курсом по Python, если вы новичок в этом языке:
HungaBunga — другой способ построения моделей машинного обучения с использованием sklearn
Как выбрать лучшую модель машинного обучения из созданных вами? Как убедиться, что используются правильные значения гиперпараметров? Это критические вопросы, на которые должен ответить специалист по данным.
И проект HungaBunga поможет вам найти ответ быстрее, чем большинство библиотек по обработке и анализу данных. Он просматривает все модели sklearn (да, все!) со всеми возможными гиперпараметрами и ранжирует их с помощью перекрестной проверки.
Вот как можно импортировать все модели (как классификацию, так и регрессию):
from hunga_bunga import HungaBungaClassifier, HungaBungaRegressor
Вам следует ознакомиться с приведенной ниже подробной статьей об алгоритмах машинного обучения с учителем:
Проекты глубокого обучения
Поведенческий набор для обучения с подкреплением (bsuite) от DeepMind
Недавно Deepmind попал в новости из-за огромных убытков, которые они понесли из года в год. Но давайте смотреть правде в глаза, компания по-прежнему явно впереди с точки зрения своих исследований в области обучения с подкреплением. Они сделали большие ставки на эту область как на будущее искусственного интеллекта.
Итак, вот их последний релиз с открытым исходным кодом — bsuite. Этот проект представляет собой набор экспериментов, целью которых является понимание основных возможностей агента обучения с подкреплением.
Мне нравится эта область исследований, потому что она, по сути, пытается выполнить две задачи (согласно их репозиторию GitHub):
- Собирайте информативные и масштабируемые проблемы, которые охватывают ключевые проблемы в разработке эффективных и общих алгоритмов обучения.
- Изучите поведение агентов по их производительности в этих общих тестах
Репозиторий GitHub содержит подробное объяснение того, как использовать bsuite в ваших проектах. Вы можете установить его, используя следующий код:
pip install git+git://github.com/deepmind/bsuite.git
Если вы новичок в обучении с подкреплением, вот пара статей, которые помогут вам начать:
- Простое руководство для начинающих по обучению с подкреплением и его внедрению
- Практическое введение в глубокое Q-обучение с использованием OpenAI Gym в Python
DistilBERT — более легкая и дешевая версия BERT от Google
Вы, должно быть, уже слышали о BERT. Это одна из самых популярных и быстро набирающих популярность сред обработки естественного языка (NLP). BERT основан на архитектуре Transformer.
Но с одной оговоркой — это может быть довольно ресурсоемким. Итак, как специалисты по данным могут работать с BERT на своих собственных машинах? Шаг вперёд — DistilBERT!
DistilBERT, сокращение от Distillated-BERT, создан командой разработчиков популярной платформы PyTorch-Transformers. Это небольшая и дешевая модель Transformer, построенная на архитектуре BERT. По словам команды, DistilBERT работает на 60% быстрее, сохраняя при этом более 95% производительности BERT.
Этот репозиторий GitHub объясняет, как работает DistilBERT вместе с кодом Python. Вы можете узнать больше о PyTorch-Transformers и о том, как использовать их в Python, здесь:
Серия ShuffleNet — чрезвычайно эффективная сверточная нейронная сеть для мобильных устройств
Проект компьютерное зрение для вас! ShuffleNet — это чрезвычайно эффективная архитектура сверточной нейронной сети (CNN). Он был разработан для мобильных устройств с очень ограниченной вычислительной мощностью.
Этот репозиторий GitHub включает следующие модели ShuffleNet (да, их несколько):
- ShuffleNet: чрезвычайно эффективная сверточная нейронная сеть для мобильных устройств
- ShuffleNetV2: Практические рекомендации по эффективному проектированию архитектуры CNN
- ShuffleNetV2+: усиленная версия ShuffleNetV2.
- ShuffleNetV2.Large: более глубокая версия, основанная на ShuffleNetV2.
- OneShot: однократный поиск нейронной архитектуры по одному пути с единообразной выборкой
- DetNAS: DetNAS: магистральный поиск для обнаружения объектов
Итак, вы хотите понять CNN? Вы знаете, я вас прикрыл:
RAdam — улучшение дисперсии скорости обучения
RAdam вышел менее двух недель назад и уже набрал 1200+ звезд. Это многое говорит вам о том, насколько хорошо работает этот репозиторий!
Разработчики RAdam показывают в своей статье, что проблема конвергенции, с которой мы сталкиваемся в методах глубокого обучения, связана с нежелательно большой дисперсией скорости адаптивного обучения на ранних этапах обучения модели.
RAdam — это новый вариант Адама, исправляющий дисперсию скорости адаптивного обучения. В этом выпуске представлено значительное улучшение по сравнению с ванильным оптимизатором Adam, который страдает от проблемы дисперсии.
Вот производительность RAdam по сравнению с Adam и SGD с разной скоростью обучения (ось X — количество эпох):
Вам обязательно следует ознакомиться с приведенным ниже руководством по оптимизации машинного обучения (включая Адама):
Проекты по программированию
ggtext — Улучшенный рендеринг текста для ggplot2
Это для всех пользователей R в нашем сообществе. И особенно всем вам, кто регулярно работает с потрясающим пакетом ggplot2 (то есть практически всем).
Пакет ggtext позволяет нам создавать форматированный текст для генерируемых нами графиков. Вот несколько вещей, которые вы можете попробовать с помощью ggtext:
- Новый элемент темы под названием element_markdown() отображает текст как уценку или HTML.
- Вы можете включать изображения на ось (как показано на рисунке выше)
- Используйте geom_richtext() для создания меток уценки/HTML (как показано ниже)
Репозиторий GitHub содержит несколько интуитивно понятных примеров, которые вы можете воспроизвести на своем компьютере.
ggtext пока недоступен через CRAN, поэтому вы можете загрузить и установить его с GitHub с помощью этой команды:
Хотите узнать больше о ggplot2 и о том, как работать с интерактивными графиками в R? Ну вот:
- 10 вопросов, которые пользователи R всегда задают при использовании пакета ggplot2
- Как я создавал анимированные графики в R для анализа своих данных о фитнесе (и вы тоже можете!)
Конечные примечания
Мне нравится работать над этими ежемесячными статьями. Количество исследований и, следовательно, прорывов, происходящих в науке о данных, просто невероятно. Независимо от того, с какой эпохой или стандартом вы сравниваете его, быстрый прогресс ошеломляет.
Какой проект по науке о данных показался вам наиболее интересным? Будете ли вы пробовать что-нибудь в ближайшее время? Дайте мне знать в разделе комментариев ниже, и мы обсудим идеи!
Первоначально опубликовано на https://www.analyticsvidhya.com 2 сентября 2019 г.