Содержание

Прим. ред: статья дополнена и обновлена 31.05.2024

Обнаружение аварийных твитов с использованием NLP

Повсеместное распространение смартфонов позволяет людям сообщать о чрезвычайной ситуации, которую они наблюдают, в режиме реального времени. По этой причине все больше агентств (например, организации по оказанию помощи при стихийных бедствиях и информационные агентства) заинтересованы в программном мониторинге социальной сети X (бывший Twitter). Но не всегда ясно, действительно ли слова человека объявляют о катастрофе.

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

Читать далее


Определение жанра фильма по описанию

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

Читать далее


Улучшаем технику серфинга с помощью компьютерного зрения

Я катаюсь на Тенерифе и углубленно изучаю мир серфинга. Моя страсть к волнам привела меня к исследованию того, как технологии могут помочь нам стать лучше в серфинге. Именно поэтому я решил создать проект, использующий компьютерное зрение для анализа стоек серферов и помогающий улучшить нашу технику.

Читать далее


Компьютерное зрение в 2024 году: Главные задачи и направления

Компьютерное зрение (Computer Vision) — это область искусственного интеллекта, которая занимается созданием программ и систем, позволяющих компьютерам анализировать и понимать визуальную информацию, такую как изображения и видео. Этот процесс выходит за рамки простого наблюдения, обучая компьютеры принимать решения на основе увиденного.

Рынок компьютерного зрения сейчас переживает бурный рост с прогнозируемым увеличением с 22 миллиардов долларов в 2023 году до 50 миллиардов к 2030 году при 21.4% совокупного годового прироста с 2024 по 2030 год.

Читать далее


Анализ новостей с помощью сегментации и кластеризации временных рядов

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

Читать далее


Пять лучших NLP инструментов для работы с русским языком на Python

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

Читать далее


Основные алгоритмы многоруких бандитов в рекомендательных системах

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

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

Читать далее


Обнаружение аномальных звуков сердцебиения на основе записей сердечного ритма

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

Возьмем датасет “Heartbeat Sound”, который содержит аудиофрагменты сердечных ритмов различной продолжительности от 1 до 30 секунд, как здоровых пациентов, так и имеющих аномальные звуки сердцебиения. Набор содержит 813 аудиофайл с записями, разбитыми по категориям: artefact, extrastole, murmur, normal и unlabel. Попробуем разобраться, что обозначают эти категории.

Читать далее


Масштабирование глубокого обучения с помощью Horovod и Kubernetes

Horovod — это фреймворк для распределенного глубокого обучения, изначально разработанный в Uber. Он позволяет масштабировать обучение моделей на сотни и тысячи GPU, сокращая время тренировки с недель до часов. Horovod поддерживает такие фреймворки, как TensorFlowKerasPyTorch и Apache MXNet, и легко интегрируется с существующими кодовыми базами, требуя минимум изменений.

В статье как раз и пойдет речь о том, как масштабировать модельки с помощью Horovod и Kubernetes.

Читать далее


Кратко про Uplift-моделирование

Uplift-моделирование — это метод оценки эффекта от воздействия, который использует алгоритмы ML для предсказания изменения вероятности интересуемого события под влиянием этого воздействия. Зачастую цель Uplift заключается в выявление тех клиентов, которые с наибольшей вероятностью изменят своё поведение в желаемую сторону в ответ на предложение.

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

Читать далее


Как обнаружить и устранить мультиколлинеарность с помощью Statsmodels в Питоне

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

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

Когда переменные сильно коррелированы, стандартные ошибки оценок коэффициентов увеличиваются. Это ведет к увеличению p-значений, что может ошибочно привести к заключению о том, что переменные не имеют значимого влияния на зависимую переменную, хотя на самом деле это не так.

В статье рассмотрим как обнаружить и устранить мультиколлинеарность с помощью Statsmodels в Питоне.

Читать далее


Разбираемся в ROC и AUC

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

Кривая ROC – это график, который иллюстрирует производительность классификационной модели при всех возможных порогах классификации. Ось X данного графика представляет собой FPR, т.е ложноположительную частоту, а ось Y — TRP, т.е истинноположительную частоту. TPR также известен как Recall, и определяется как доля правильно классифицированных положительных результатов относительно всех положительных результатов в данных

Читать далее


Кратко про алгоритм обучения Q-learning и как он реализуется в Python для новичков

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

В этой статье мы и рассмотрим этот алгоритм.

Читать далее


Решетчатый и случайный поиск

Среди разнообразных подходов оптимизации, сегодня мы поговорим про методы решетчатого (grid search) и случайного (random search) поиска. Они были созданы для нахождения оптимальных решений в больших пространствах параметров.

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

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

Читать далее


Дифференциальная приватность в машинном обучение

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

Читать далее


Алгоритм minimax в шахматах

Сейчас, когда вы слышите про ИИ в шахматах, наверняка первое, что приходит в голову – это AlphaZero, который «научился» играть в шахматы, превзойдя чемпионов мира, не имея никакого предварительного знания об игре. Но позвольте, это же только верхушка айсберга!

Не будем тратить время на объяснение того, как двигаются фигуры – это вы и так знаете. В сегодняшней статьи мы разберем алогоритм Minimax.

Читать далее


Обзор статьи «StreamDiffusion: конвейер для интерактивной генерации в режиме реального времени»

StreamDiffusion — это новый диффузионный конвейер для интерактивной генерации изображений в режиме реального времени, позволяющий добиться более высокой производительности для прямых трансляций и других подобных сценариев. Он заменяет традиционное последовательное шумоподавление (sequential denoising) на более быстрый пакетный процесс и вводит параллельную очередь ввода-вывода для более плавной работы.

В конвейере также используется новый метод Residual Classifier-Free Guidance (RCFG), позволяющий сократить количество этапов шумоподавления и повысить общую скорость работы. Кроме того, он включает стохастический фильтр сходства (Stochastic Similarity Filter) для повышения энергоэффективности. В целом StreamDiffusion может похвастаться 1,5-кратным ускорением обработки и 2,05-кратным увеличения скорости при использовании RCFG, достигая 91,07 кадров в секунду на графическом процессоре RTX4090. Кроме того, значительно снижается энергопотребление, что делает его более эффективным решением для генерации изображений в реальном времени.

Читать далее


Эмбеддинги для начинающих

В широком смысле, эмбеддинг — это процесс преобразования каких-либо данных (чаще всего текста, но могут быть и изображения, звуки и т.д.) в набор чисел, векторы, которые машина может не только хранить, но и с которыми она может работать. Звучит очень интересно. Казалось бы, наша речь — это так просто, все связано и понятно. Но как это объяснить машине?

В этой статье мы рассмотрим, что такое эмбеддинги и какие они бывают.

Читать далее


Методы работы со смещением и дисперсией в модельках машинного обучения

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

Эта дилемма определяет, насколько хорошо модель будет работать на реальных данных.

Переобучение и недообучение – это Сцилла и Харибда в ML, между которыми нужно лавировать. С тех давних времен появилось множество методов для решения этой проблемы. Рассмотрим их кратко.

Читать далее


Рынок труда и перспективы карьеры в Data Science в 2024 году

На связи команда курсов Data Science OTUS. В данной статье Product Manager Мария Кузьмина собрала аналитические выкладки c hh, бизнес-секреты от Tinkoff и комментарии профессионалов о том, что они думают о специфике рынка труда в Data Sciencе/ML, а также какой стек нужен для разных позиций. 

Читать далее


Обзор библиотеки drake в R

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

Создатель drake, Уилл Ландау, искал способ улучшить репродуктивность исследований в R, и так родилась библиотека drake. С тех пор она претерпела множество изменений и улучшений.

Читать далее


Julia в машинном обучение: база

Julia зародилась в 2012 году, благодаря усилиям четырех энтузиастов-разработчиков: Джефф Безансон, Стефан Карпински, Вирал Би Шах, и Алан Эдельман. Они стремились создать язык, который сочетал бы легкость Python, скорость C, динамичность Ruby, лингвистическую чистоту Lisp и возможности математических систем вроде Matlab. Им удалось! Julia – это слияние простоты и мощи.

Благодаря JIT-компиляции, код Julia может выполняться с скоростью, сопоставимой с кодом, написанным на C или Fortran.

Читать далее


Краткий обзор TinyML

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

Читать далее


Основы Actor-Critic алгоритма

Actor-Critic — это класс алгоритмов в RL, суть которого довольно проста на словах, он сочетает в себе такие политики как policy-based и оценки value-based. У нас есть два главных действующих лица: Actor и Critic. Actor отвечает за выбор действий, т.е формирование политики поведения, он принимает решения исходя из текущего состояния окружающей среды. Critic оценивает, насколько хорошо или плохо Actor справляется со своей задачей, предоставляя обратную связь через оценку действий Actor’a.

Читать далее


Кратко про экосистему RAPIDS для работы с данными на GPU

RAPIDS — это open source библиотека экосистема, состоящая из нескольких библиотек, разработанная NVIDIA, которая предоставляет набор инструментов для выполнения всего цикла обработки данных и аналитики на GPU. RAPIDS была создана с целью того, чтобы ускорить анализ данных и работу в ML, используя всю мощь GPU, и делает это, предоставляя в целом привычный интерфейс, похожий на тот, к которому привыкли в Pandas, Scikit-learn и т.д.

RAPIDS основан на CUDA, архитектуре параллельных вычислений от NVIDIA. Операции, которые когда-то занимали минуты или часы на CPU, теперь могут быть выполнены за секунды на GPU, благодаря параллелизму и высокой пропускной способности памяти GPU.

Читать далее


Генерация коротких текстов в жанре фэнтези, по заданным параметрам

В рамках выпускной работы на курсе «Natural Language Processing» я хотел попробовать расширить знания в сфере генерации текстов и использовании различных стратегий генерации. А так как мне еще нравится стилистика жанра фэнтези, то выбор пал на генерацию текстов этого жанра. При этом хотелось попробовать генерировать не только тексты выбранной стилистики но и по заданным параметрам, например имя главного героя, место действия и др.

Читать далее


ChatGPT и отзывы на приложение: Анализ тональности для улучшения пользовательского опыта

В этой статье я расскажу о том, как можно использовать возможности Natural Language Processing (NLP) для анализа отзывов, собранных из приложения AppStore. Я исследую, как каждый отзыв, содержащий дату, заголовок, текст и оценку пользователя, может быть преобразован в ценные данные для обучения модели анализа тональности. Эта модель будет способна классифицировать отзывы как положительные, негативные или нейтральные, предоставляя нам глубокое понимание эмоциональной окраски пользовательских мнений.

Читать далее

Машинное обучение: подборка статей на Хабр