Media is too big
VIEW IN TELEGRAM
Краткое содержание моего вчерашнего выступления🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7💯4👍3❤🔥1
Что касается data science части, то в рамках проекта успели попробовать почти все подходы к решению задачи поиска и прогнозирования аномалий:
• эвристики, экспертные правила, оценки распределений и других статистических характеристик сигналов. Сюда же относятся некоторые статистические критерии, типа Хотеллинга, cusum, ewma, проверяющие гипотезы об изменениях статистических характеристик сигналов.
• Supervised классификация каждой точки. Если есть разметка для всех моментов времени, можно поставить задачу как бинарную (или многоклассовую) классификацию, определяя класс каждой точки в выборке. Обычно осложняется отсутствие правильной разметки.
• Supervised классификация интервалов. Указание, какой интервал является аномальным, а какой нормальным. Можно применять на скользящем окне, если задача состоит в том, чтобы указать будет ли аномалия в какой-то (следующий) период времени. Так же бывают проблемы с разметкой.
• Semi-supervised подход. Построение модели нормального режима работы, после чего использовании этой модели для поиска отклонений от нормального режима. Если модель уловила закономерности в норме, то в случае возникновения аномалий закономерности будут другими и модель будет сильно ошибаться, а разница между моделью и реальными данными будет значительной. Подход очень распространен, так как нужна всего лишь разметка нормального режима работы, которая бывает доступна довольно часто.
В данном случае как раз первый подход был лучшим среди всех, не считая ансамблей на основе разных подходов. Но более подробно об этом я еще возможно когда-нибудь расскажу в научной или технической статье. Конечно, обезличенно.
Кстати, этот и другие кейсы применения data science и машинного обучения в промышленности можно найти в этом репозитории на гитхабе.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
10.11.2021 // AIJ // Мониторинг технического состояния электролизеров. Юрий Кацер, Цифрум, Росатом
👍7❤🔥3🔥3👏1
• часть про курсы, материалы и тд — стоит прочитать и посмотреть все, если нет какой-то хорошей базы, например, из института или хороших платных курсов (ФКН ВШЭ, физтех и др.). Курсы и материалы из тех, что рекомендую смотрел все, но не все очень внимательно, обычно беру из курса то, что нужно.
• часть про книги — не считаю, что все надо прочитать, но если надо подтянуть или разобраться в какой-то подобласти, то можно брать книжки из списка. Книги читал не все, но непрочитанные лежат в списке to read и ждут своей очереди.
Learning by doing
Я убежден, что во время изучения data science и machine learning надо сосредоточиться на практике как можно раньше (как только получается что-то делать) и учиться по типу "learning by doing".
В начале пути далеко не обязательно знать, что "под капотом" у алгоритмов и методов. Зависит от специфики работы и задач. Вот теорвер и матстат действительно часто нужны в работе, например, для анализа данных, для анализа результатов алгоритмов, для дизайна экспериментов и тд.
Как можно получать практику?
• Стажировки, работа, реальные проекты. Очевидно.
• Хакатоны, соревнования по анализу данных. Самой распространенной площадкой для соревнований является kaggle.com. Там еще есть датасеты, курсы и много полезных примеров кода и блокнотов, решающих самые разные задачи.
• Важной и интересной практикой являются тренажеры. Вот 2 известных сервиса, которыми я пользовался сам:
Please open Telegram to view this post
VIEW IN TELEGRAM
vc.ru
Источники для изучения data science и machine learning (книги, курсы и не только) — Yuriy Katser на vc.ru
Yuriy Katser 07.09.2022
👍12❤6🔥2
📈 Общая задача обнаружения аномалий во временных рядах часто разделяется на две отдельные подзадачи: обнаружение выбросов или бинарная классификация (для точечных аномалий) и обнаружение точек изменения состояния (changepoint detection, для коллективных аномалий). Более подробно я писал в этом посте.
Ранее на pycon’е я подробно рассказывал именно о подзадаче changepoint detection, методах и библиотеках на python для решения задачи. Доклад может помочь:
• более глубоко разобраться в задаче поиска аномалий во временных рядах и понять разницу между типами аномалий (точечные, коллективные) и типами математических постановок задач (бинарная классификация, changepoint detection);
• узнать о наиболее популярных существующих библиотеках на python, решающих задачи поиска аномалий;
• понять, как ставить задачу поиска коллективных аномалий (changepoint detection) во временных рядах;
• понять разницу между оффлайн и онлайн постановками задачи;
• узнать основные методы решения этой задачи, в том числе реализованные в библиотеках на python;
• узнать наиболее распространённый подход к решению задачи — генерация невязки сигнала (на основе различных моделей машинного обучения) и как легко реализовать этот подход на python.
Ранее на pycon’е я подробно рассказывал именно о подзадаче changepoint detection, методах и библиотеках на python для решения задачи. Доклад может помочь:
• более глубоко разобраться в задаче поиска аномалий во временных рядах и понять разницу между типами аномалий (точечные, коллективные) и типами математических постановок задач (бинарная классификация, changepoint detection);
• узнать о наиболее популярных существующих библиотеках на python, решающих задачи поиска аномалий;
• понять, как ставить задачу поиска коллективных аномалий (changepoint detection) во временных рядах;
• понять разницу между оффлайн и онлайн постановками задачи;
• узнать основные методы решения этой задачи, в том числе реализованные в библиотеках на python;
• узнать наиболее распространённый подход к решению задачи — генерация невязки сигнала (на основе различных моделей машинного обучения) и как легко реализовать этот подход на python.
YouTube
Юрий Кацер. Поиск точек изменения состояния (changepoint detection) на python
Общая задача обнаружения аномалий во временных рядах часто разделяется на две отдельные задачи: обнаружение выбросов или бинарная классификация (для точечных аномалий) и обнаружение точек изменения состояния (changepoint detection, для коллективных аномалий).…
👍10🔥4❤3
🚨 Серия постов о качестве и предварительной обработке временных рядов. Часть 1 - Введение.
Уже давно написал небольшую заметку “О качестве данных для машинного обучения”. Немного тезисов из заметки и в дополнение к ней:
• Качество данных всегда называется в числе топ-3 барьеров развития ИИ. Еще одна постоянно фигурирующая проблема - кадры, но об этом в другой раз.
• Проблемы в данных могут не только снижать качество работы методов машинного обучения, но и полностью исключать возможность их использования. Есть даже такое выражение: garbage in - garbage out, которое означает, что некачественные данные на входе приводят к плохому результату на выходе.
• Работа с данными и их приведение к нужному виду для постановки и решения задач в терминах машинного обучения могут занимать до 70% времени работы дата сайентиста на проекте.
• Работа с качеством данных выглядит примерно следующим образом:
1. Сначала надо обнаружить проблему.
2. Потом надо решить проблему (подобрать оптимальный метод предварительной обработки). Кстати, ничего не делать - тоже может быть решением.
3. Финальный способ решения (метод предварительной обработки) надо интегрировать в пайплайн инференса.
С качеством данных я сталкивался как в рамках работы на реальных проектах, так и в рамках научных исследований, в итоге весь опыт собрал в доклад и статью (+ англ версия статьи) о проблемах в промышленных данных. Доклад обозревает проблемы, но ведь нужно еще научиться их обнаруживать и устранять. Об этом я, во-первых, поговорю сегодня на треке Reliable ML в 15.15 по мск. Во-вторых, анонсирую серию постов, где я разберу самые популярные проблемы во временных рядах, способы их детектирования и способы их устранения, то есть методы предварительной обработки данных.
Уже давно написал небольшую заметку “О качестве данных для машинного обучения”. Немного тезисов из заметки и в дополнение к ней:
• Качество данных всегда называется в числе топ-3 барьеров развития ИИ. Еще одна постоянно фигурирующая проблема - кадры, но об этом в другой раз.
• Проблемы в данных могут не только снижать качество работы методов машинного обучения, но и полностью исключать возможность их использования. Есть даже такое выражение: garbage in - garbage out, которое означает, что некачественные данные на входе приводят к плохому результату на выходе.
• Работа с данными и их приведение к нужному виду для постановки и решения задач в терминах машинного обучения могут занимать до 70% времени работы дата сайентиста на проекте.
• Работа с качеством данных выглядит примерно следующим образом:
1. Сначала надо обнаружить проблему.
2. Потом надо решить проблему (подобрать оптимальный метод предварительной обработки). Кстати, ничего не делать - тоже может быть решением.
3. Финальный способ решения (метод предварительной обработки) надо интегрировать в пайплайн инференса.
С качеством данных я сталкивался как в рамках работы на реальных проектах, так и в рамках научных исследований, в итоге весь опыт собрал в доклад и статью (+ англ версия статьи) о проблемах в промышленных данных. Доклад обозревает проблемы, но ведь нужно еще научиться их обнаруживать и устранять. Об этом я, во-первых, поговорю сегодня на треке Reliable ML в 15.15 по мск. Во-вторых, анонсирую серию постов, где я разберу самые популярные проблемы во временных рядах, способы их детектирования и способы их устранения, то есть методы предварительной обработки данных.
YouTube
Проблемы в промышленных данных с точки зрения дата сайентиста // Юрий Кацер, Цифрум (Росатом)
Юрий Кацер
Руководитель направления предиктивной аналитики, Цифрум, Росатом
О спикере:
Эксперт по анализу данных и машинному обучению в задачах промышленности. Руководитель направления по предиктивной аналитике, Цифрум (Росатом). Аспирант Сколтеха. Победитель…
Руководитель направления предиктивной аналитики, Цифрум, Росатом
О спикере:
Эксперт по анализу данных и машинному обучению в задачах промышленности. Руководитель направления по предиктивной аналитике, Цифрум (Росатом). Аспирант Сколтеха. Победитель…
🔥6❤🔥3❤2
Paper.pdf
10.8 MB
Часть 1.
С помощью машинного обучения можно решать довольно большое число задач в промышленности. Я как раз сейчас готовлю об этом большой пост на Хабр/медиум. И одно из наиболее эффективных применений ML — дополнение существующих методов диагностики оборудования.
Например, важным методом контроля и диагностики состояния силовых трансформаторов является «Хроматографический анализ растворенных газов» (XAРГ). Он основан на принципе контроля концентрации газов, растворенных в масле трансформаторов. Появление в оборудовании практически любых видов дефектов сопровождается образованием газов, растворяющихся в масле, при этом специфические виды дефекта генерируют свои газы в разных
количествах.
Сегодня в таком методе диагностирования в основном используются уставочные (предельные) значения на концентрации растворенных газов в масле. Превысили предел — сигнализируем об аномалии.
Конечно, как и везде, для лучшего понимания текущего состояния можно выставить предупредительные, предаварийные и другие пределы, сигнализирующие о переходах в разные состояния, но это по-прежнему не дает достаточного представления о текущем состоянии, не дает диагнозов (надо дополнительно анализировать показания концентраций) и в лучшем случае частично автоматизирует процесс диагностики. В таких процессах часто ML не только применимо, но и показывает хорошее качество, конечно, при наличии приемлимые данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4❤🔥3🔥1
Часть 2.
Продолжение этого поста.
Немного о данных
В данной задаче у нас на входе есть датасеты, представляющие собой многомерные временные ряды. Каждый дотасет содержит 420 точек и 4 признака и является результатами сбора данных каждые 12 часов о содержании газов в трансформаторном масле. При этом, дотасет представляет работу трансформатор в одном из 4х режимов (нормальное состояние и 3 варианта неисправностей). Таким образом, каждой матрице (420 точек х 4 признака) соответствует 1 число - режим работы.
Задача
Задача может формулироваться как классификация временных рядов, так как каждому временному ряду мы должны поставить в соответствие метку режима. Решать ее можно разными способами, но именно постановка задачи как классическая классификация табличных данных (обучения с учителем) обычно дает наилучшие результаты.
Предварительная обработка данных
Для того, чтобы перейти к табличным данным и задаче классификации, надо привести многомерные временные ряды к векторам признаков. Схема приведения показана в карточках к посту:
• Из временного ряда мы выделяем статистические характеристики, избавляясь от временной компоненты и заменяя временной ряд на небольшой набор его статистических характеристик
• Проделываем процедуру для каждого датасета, получая вместо матрицы вектор признаков
• Собираем новую матрицу объекты-признаки, где каждый объект - состояние трансформатора в какой-то период времени, а признаки - статистические характеристики концентраций газов за этот период
• Теперь у нас каждой строке (объекту) датасета соответствует число - номер режима, и мы можем решать задачу классификации с помощью удобных и привычных методов (лог регрессия, случайный лес, град бустинг и тд).
Об этом в следующем посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥4❤3❤🔥1
Оффтоп: участвовали тут почти 3 недели в хакатоне ЛЦТ в задаче Северстали по диагностике эксгаустеров (если будете гуглить: найти нужный эксгаустер непросто, подсказка — этот из металлургии).
🥈 До первого места не добрались, но второе тоже хорошо. Возможно, позже подробнее напишу/расскажу об опыте.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👏7❤🔥3🤔1
Предыдущие части: часть 1, часть 2
Подготовка к обучению
Подошли к самой интересной части — обучению моделей машинного обучения. Так как мы подготовили выборку в виде табличных данных, нам остаются последние приготовления:
• масштабировать данные при необходимости.
• разделить выборку на обучающую и тестовую части.
Может быть важно еще обработать данные, например, уравнять пропорции классов, так как выборка несбалансированная. Тогда есть два основных варианта (об этом подробнее в будущих постах про предварительную обработку):
• оверсэплинг редкого класса
• андерсэплинг частого класса
Обучение моделей
Теперь с чистой душой можно делать фит и предикт! В рамках работы мы попробовали все основные классы методов:
• linear method (Logistic Regression)
• tree-based method (Decision Trees)
• ensemble-based methods (Random Forest, Gradient Boosting)
• neural network (multilayer perceptron)
И действительно после такой предварительной обработки особо ничего кроме фит-предикт больше делать не надо было — результат был довольно хороший.
Ансамбль моделей
В конце концов мы остановились на ансамбле перечисленных выше методов. Ансамбль представляет собой классификатор из XGBoost, построенный на результатах моделей первого уровня: случайного леса, LGBM и многослойного персептрона. Даже не спрашивайте, почему так. Честный ответ — на основе результатов на валидационной выборке. Никакого глубокого смысла в такой конструкции нет. Я мог бы начать рассказывать о том, что ансамблирование моделей разных классов позволяет лучше обобщить данные, добавить робастности, учесть сильные стороны разных подходов, нивелировать слабые и тд. Это все действительно так, но в промышленности лучше использовать более простые модели поэтому городить такие ансамбли надо осторожно. К тому же, даже простые модели типа логистической регрессии в такой постановке задачи уже давали нормальный результат. В общем, для полной картины стоит почитать статью из первого поста.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4❤🔥3🤡1
Именно так называется моя большая статья на Хабре. Самый полный гайд (из тех, что я встречал) по постановкам в терминах машинного обучения, вариантам данных и способам решения одной из важнейших задач диагностики — определения остаточного ресурса. Периодически апдейчу статью, поэтому на Хабре всегда актуальная версия. Например, недавно добавил новый кейс с этого хакатона, где определение остаточного ресурса было всего лишь 1ой из нескольких задач (о хакатоне подробнее напишу отдельно).
И совсем недавно выпустил уже традиционный перевод статьи на английский язык на медиуме.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Все, что вы хотели знать о задаче определения остаточного ресурса оборудования
Применение искусственного интеллекта и машинного обучения в задачах промышленности не настолько распространено, как в других сферах и отраслях экономики вроде банкинга, ритейла, телекома. При этом...
👍14🔥8❤3
Этот пост в основном о кейсе, но немного и о самом хакатоне. Часть 2 здесь
Задача
Изначально формулировка задачи была примерно следующая:
Разработайте модель, определяющую возможность возникновения нештатной работы оборудования
Что такое эксгаустер? И какая там проблема?
Простым языком об этом рассказано в видео. А вот цитата из статьи ЕВРАЗа на хабре:
А если совсем в двух словах, то эксгаустер — это часть агломерационной машины, он постоянно втягивает горячий воздух и выпускает его в трубу. Внутри него расположен ротор — своего рода вентилятор, который прогоняет раскалённый воздух. Если этот ротор выходит из строя, то перестаёт работать и эксгаустер, и вся агломашина.
При чем здесь Евраз, если задачу на Хакатон ставила Северсталь? Просто недавно ЕВРАЗ проводил очень похожий хакатон (супер актуальная проблема?). Мы решили тогда не участвовать, но в этот раз пропустить не могли
• Проблематике
• Задачах с точки зрения DS и технической диагностики
• Подходах к решению задач
• Архитектуре решения
О хакатоне
Про особенности хакатонов рассказывал в отдельной большой статье, здесь тезисно перечислю некоторые моменты:
• Хакатон шел почти месяц с первого дня до финальной защиты (почти все время можно было работать над решением), что является особенностью (обычно это 2-3 дня), кому-то удобно погрузиться в задачу глубоко, кому-то не хочется тратить столько времени с непрогнозируемым результатом
• Не хватало единой точки сбора информации, все было разрозненно (сайт, посты в каналы, ответы на вопросы от экспертов, исходная презентация с задачей), приходилось собирать это все вместе (тренажер реального проекта от организаторов?)
• В положении нет критериев, они появились вместе с задачей и не были взвешены: не понятно, какой вес у каждого критерия, как считаются суммарно баллы и тд. В целом не хватало прозрачности
• До самого конца хакатона нам так и не ответили эксперты на некоторые вопросы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6❤🔥4