MLinside - школа ML
описание
Предзапись на 5 поток курса "База ML": https://forms.yandex.ru/cloud/6a4275fe505690a71a0fead6 Наши курсы: https://taplink.cc/mlinside Чат коммьюнити: @ml_insidechat По вопросам: @marinagartm
4 024
подписчиков
Охват к подписчикам
43,8%
ERR
Реакции к просмотрам
0,47%
261 на 35 постов
Пересылки к просмотрам
0,56%
316
Постов в день
1,1
всего 37
Где отзываются чаще
доля реакций к просмотрам- 4 авг.В основе алгоритма, с которого начался Google – один вектор Представьте таблицу с 500 столбцами. Где здесь главные закономерности, а где второстепенные – глазами уже не увидеть. С ростом числа признаков работать с данными становится всё сложнее — одна из причин в том самом проклятии размерности. Способ разобраться придумали больше ста лет назад. При линейном преобразовании почти все векторы меняют и длину, и направление. Почти все, но не собственные: они сохраняют направление и только сжимаются или растягиваются. Собственный вектор – это направление, которое преобразование не поворачивает, а λ показывает, во сколько раз оно его растягивает или сжимает. Звучит абстрактно, пока не увидишь, где это работает. ▪️ PCA Матрица ковариаций — это своего рода паспорт формы вашего облака данных. Её собственные векторы задают новые оси, вдоль которых разброс максимален. Чем больше λ, тем больше дисперсии данных приходится на соответствующее направление. Берём несколько компонент с наибольшими λ, остальные отбрасываем. Математически именно это вы просите сделать, когда пишете PCA(n_components=10). ▪️ PageRank Та же математика, другие данные. Страница важна, если на неё ссылаются важные страницы. Определение рекурсивное, в лоб не посчитать. Google представил переходы по ссылкам в виде огромной матрицы и стал искать вектор рейтингов, который после очередного раунда пересчёта остаётся тем же. Это собственный вектор матрицы с λ = 1. Так работает PageRank — один из алгоритмов, на которых вырос ранний Google. ▪️ Eigenfaces А самое неожиданное было в 90-х. Учёные прогнали через PCA базу фотографий и превратили главные компоненты обратно в изображения. Получились призрачные лица — eigenfaces. Каждое из них отражало одно из главных направлений, по которым лица в базе отличались друг от друга: из-за формы лица, освещения, выражения и других особенностей. И любое лицо стало не набором из десятков тысяч пикселей, а коротким рецептом из коэффициентов. Одна математическая идея лежит в основе и сжатия данных, и ранжирования веб-страниц, и распознавания лиц. Чтобы её понять, не нужен мехмат: достаточно базовой работы с векторами и матрицами, но именно здесь проходит граница между «умею вызвать библиотеку» и «понимаю, что она делает». А вы уже сталкивались с PCA на практике?1,21%
- 23 июн. 2025 г.Ответы на вопросы с собеседований 1️⃣ Как обучается случайный лес? Случайный лес обучается как ансамбль решающих деревьев, каждый из которых строится на бутстрап-выборке (рандомизированный сабсет обучающей выборки) с рандомным подмножеством признаков на каждом сплите. Это снижает корреляцию между деревьями и уменьшает дисперсию модели. Финальное предсказание — усреднение (регрессия) или голосование (классификация). 2️⃣ Как модель CatBoost обрабатывает категориальные фичи? CatBoost обрабатывает категориальные фичи без явного one-hot или label encoding — он использует целевое кодирование с упорядоченными статистиками: для каждого объекта категория кодируется средним таргетом, рассчитанным на предыдущих примерах в случайной перестановке. Это снижает утечку таргета (target leakage) и переобучение. Также CatBoost автоматически генерирует комбинации категорий, улучшая захват взаимодействий. 3️⃣ Почему у линейной регрессии функция потерь именно квадратичная, а не кубическая, с четвертой или пятой степенью? Квадратичная функция потерь у линейной регрессии выбрана за её гладкость, выпуклость и дифференцируемость, что гарантирует единственное оптимальное решение и удобство численной оптимизации (градиентный спуск, нормальное уравнение). Более высокие степени усложняют ландшафт функции, делают её менее устойчивой к выбросам и затрудняют обучение, без весомых преимуществ в стабильности или интерпретируемости. Кубическая функция при том ещё и несимметрична, что создаёт проблемы в работе с ошибками разного знака. 〰️〰️〰️〰️〰️〰️〰️〰️〰️ Автор: Александр Дубейковский, специалист по ML, ex-Yandex #собеседования_MLinside1,19%
- 25 июл.Это никакие не байки, это реальные истории У нас на YouTube, ВКонтакте и Дзен вышел новый выпуск подкаста с Никитой Зелинским (Head of Data Science в МТС). На этот раз мы решили ненадолго отойти от привычного формата интервью и просто рассказать истории из мира Data Science. Некоторые из них звучат настолько невероятно, что в них сложно поверить. Но все они произошли на самом деле. А в конце - отвечаем на комментарии под Reels, который уже собрал более 1 млн просмотров. Смотрите на любой удобной для вас платформе: https://youtu.be/8S1WTfniYfg https://vkvideo.ru/video-228219607_456239275 https://dzen.ru/video/watch/6a6370fe5055ec53967581950,97%
- 27 июл. 2025 г.Готовим Вас к нашим предстоящим mock-собеседованиям и делимся ответами на вопросы с собеседований: 1️⃣ Как устроен dict в Python? dict в Python — это хеш-таблица с открытой адресацией. Пары (ключ, значение) хранятся в массивах, размер которых увеличивается при заполнении ~2/3. Ключ хешируется через hash(), индекс определяется по хешу. С Python 3.6+ ключи и значения хранятся раздельно (split table) для экономии памяти. Коллизии решаются квадратичным пробингом: при совпадении ячеек ищется следующая свободная по формуле (hash + perturb) & mask, где perturb уменьшается на каждом шаге. Это помогает избежать кластеризации и сохранять эффективность. 2️⃣ Как кросс-валидация помогает в борьбе с переобучением? Кросс-валидация — это способ оценки обобщающей способности модели: данные делятся на K частей, модель обучается на K−1 и проверяется на оставшейся, повторяя процесс K раз. Это позволяет: - выявить переобучение (если валидационные ошибки выше тренировочных); - получить более стабильную метрику качества; - подобрать устойчивые гиперпараметры; - использовать данные эффективнее (вся выборка участвует в обучении и проверке). 3️⃣ Как работать с пропущенными данными? Как работать с пропущенными данными (по частоте использования): 1. Удаление — строки или столбцы, если пропусков мало или колонка бесполезна соответсвенно. 2. Простая статистика по признакам — среднее, медиана, мода, константа и другие. 3. Маскирование — добавить `is_missing` признак, пропуски заменить фикс-значением. 4. Иммутация по другим фичам — KNN, деревья, SMOTE. Точнее, но дольше и сложнее. 5. Модели с поддержкой NaN — CatBoost, XGBoost и др. умеют обрабатывать NaN сами. 6. Генеративные методы — VAE, GAN, редко и сложно, для особых задач. #собеседования_MLinside0,96%
- 19 авг. 2025 г.Разбор задач с собеседований Ответы на вопросы: 1️⃣ Что вы чаще всего использовали для проверки качества моделей из Scikit-Learn? Чаще всего в Scikit-Learn для оценки качества моделей используют: - cross_val_score — кросс-валидация с метриками (accuracy, F1, R² и др.) - train_test_split — разделение на тренировочную и тестовую выборки для простой оценки - Метрики из модуля metrics (accuracy_score, precision, recall, roc_auc, mean_squared_error и др.) для измерения качества на тесте 2️⃣ Какие бывают усреднения метрик? Основные виды усреднения метрик (особенно для многоклассовых задач): - micro — считает метрику по всем объектам сразу (агрегирует TP, FP, FN), подходит при несбалансированных классах. - macro — усредняет метрики по классам одинаково, без учёта их размера, подчеркивает производительность на редких классах. - weighted — усредняет по классам с весами, пропорциональными количеству объектов в каждом классе, баланс между micro и macro. 3️⃣ Bag of words – плюсы и минусы использования? Bag of Words (BoW): - Плюсы: простая, быстрая, интерпретируемая. Хорошо работает на коротких текстах. - Минусы: игнорирует важность слов и контекст. Зависит от частоты, может переоценивать часто встречающиеся, но малоинформативные слова. Высокая размерность и разреженность #собеседования_Mlinside0,89%
- 11 июл.Если будет драка между Data Scientist и ML-инженером, кто победит? А главное, как вы поймете, кто из них кто? У нас на YouTube, в ВК и Дзен вышло новое видео с Александром Дубейковским (ML Engineer в Авито, ex-Яндекс), где он рассказывает, чем отличается работа Data Scientist от работы ML Engineer, какие задачи решает каждый специалист и какие навыки действительно важны для этих ролей. Вы узнаете: ▪️почему Data Scientist и ML Engineer часто выполняют разные задачи под одинаковыми названиями вакансий; ▪️кто отвечает за качество модели, а кто – за её работу в продакшене; ▪️чем отличаются задачи Data Scientist и ML Engineer на одном проекте; ▪️какие знания нужны для каждой профессии; ▪️кому больше подойдёт путь Data Scientist, а кому – ML Engineer. Если вы только выбираете направление в Machine Learning, готовитесь к собеседованиям или хотите лучше понимать устройство ML-команд в современных IT-компаниях, это видео поможет разобраться в ролях и сделать более осознанный выбор карьерного пути. Ссылки на видео: https://youtu.be/Px_8Pp7wW3g https://vkvideo.ru/video-228219607_456239257 https://dzen.ru/video/watch/6a50df39a0fe1a0e44e366780,89%
- 4 июн. 2025 г.📌 Ответы на вопросы с собеседований 1️⃣ Как устроено/строится дерево решений? Дерево решений строится рекурсивно: на каждом шаге оно выбирает признак и порог, по которому лучше всего разделить данные, чтобы максимизировать "чистоту" разбиения (например, по информации, джини или снижению дисперсии). Затем данные делятся на две части, и для каждой строятся поддеревья. Этот процесс продолжается до достижения заданной глубины, минимального количества объектов в узле или до тех пор, пока все объекты в узле не будут одного класса (для классификации). 2️⃣ Как оценить важность признаков? Оценить важность признаков можно по-разному: в деревьях — по снижению импьюрити или permute importance, в линейных моделях — по коэффициентам. Но наиболее универсальный и надёжный метод — SHAP: он основан на теории игр, учитывает все взаимодействия, даёт как локальные, так и глобальные оценки и работает с любыми моделями. Лучше комбинировать несколько подходов для полноты картины. 3️⃣ Почему F1 метрика берёт именно среднее гармоническое от precision и recall, а не среднее, или среднее геометрическое к примеру? F1 использует гармоническое среднее, потому что оно весьма строго наказывает дисбаланс между precision и recall: высокое значение возможно только если оба велики. Гармоническое среднее сильнее наказывает за перекос точности и полноты чем арифметическое или геометрическое средние, доказывается через неравенство Коши. 〰️〰️〰️〰️〰️〰️〰️〰️〰️ Автор: Александр Дубейковский, специалист по ML, ex-Yandex #собеседования_MLinside0,82%
- 12 авг.75 минут на решение, случайная команда и разбор реальной ML-задачи с Валерием Бабушкиным ML Kata – это возможность проверить, как вы справитесь с ML System Design в условиях, максимально приближенных к реальной работе. Следующая ML Kata уже скоро. Забронируйте место уже сейчас По всем вопросам пишите менеджеру: @marinagartm0,73%
- 8 авг.Многие считают, что хороший ML-проект – это сложная модель, десятки алгоритмов и высокий скор на Kaggle... ...но на собеседовании такой проект может не вызвать ни одного вопроса. Гораздо важнее показать, что вы понимаете данные, умеете выбирать метрики, анализировать ошибки модели и строить воспроизводимый ML-пайплайн. Именно это отличает учебный ноутбук от проекта, который действительно работает как инженерное решение. Как вы поняли, на YouTube, в ВК и Дзен у нас вышло новое видео с Александром Дубейковским (ML Engineer в Авито, эксперт MLinside, ex-Яндекс), где он рассказывает, каким должен быть сильный ML-проект и почему на собеседованиях оценивают далеко не только качество модели. Кому будет полезно это видео • Тем, кто собирает первое ML-портфолио и хочет понимать, какие проекты действительно производят впечатление на работодателей. • Студентам и начинающим ML Engineer или Data Scientist, которые готовятся к стажировкам и собеседованиям. • Всем, кто уже умеет обучать модели, но хочет научиться оформлять проекты так, чтобы они демонстрировали инженерное мышление, а не просто знание библиотек. Нашли себя в этом списке? Смело переходите и смотрите видео: https://youtu.be/MB_Wv-kpP_U https://vkvideo.ru/video-228219607_456239277 https://dzen.ru/video/watch/6a75f6a08e808e0adff09cc70,73%
- 31 авг. 2025 г.Ответы на задачки с собеседований 1️⃣ Как можно найти выбросы в ваших данных? Выбросы в данных можно находить с помощью статистических методов (например, Z-score или IQR для числовых фич), мультивариантных подходов (Mahalanobis distance, Isolation Forest, One-Class SVM), или через модели — например, анализ больших остатков после обучения простой модели или использование автоэнкодеров с высоким reconstruction error. Также помогают визуализации (PCA, t-SNE, boxplot) и, для временных рядов, STL-декомпозиция. Важно учитывать контекст: выброс — это не всегда ошибка, а порой ключевой сигнал (например, во фроде), поэтому детекция должна быть адаптивной и осмысленной, а не только механической. 2️⃣ Почему регуляризация не всегда спасает от переобучения? В каких случаях она может не работать? Она может не работать, например, в следующих случаях: 1. Мало данных или плохое качество данных — при высокой шумности или малом количестве данных, модель переобучится даже с регуляризацией, так как будет запоминать шум. 2. Фичи в неправильном масштабе — если признаки не отнормированы, регуляризация работает неадекватно: признаки с большим масштабом будут штрафоваться больше. 3. Слабая регуляризация — если коэффициенты регуляризации слишком малы, эффект почти отсутствует. 4. Сильная мультиколлинеарность - L2 сгладит веса, но модель всё ещё может не научиться обобщать данные из-за линейных зависимостей. Стоит попробовать применить PCA. 3️⃣ Как измениться ROC-AUC, если все предсказания возвести в квадрат? Возведя в квадрат мы сильнее уменьшим уверенность модели на неуверенных скорах. Возведение всех предсказаний в квадрат — это монотонно возрастающее преобразование, поэтому ROC-AUC не изменится, так как метрика зависит только от порядка (ранжирования) предсказаний. Даже если шкала уверенности изменится (например, низкие скоры станут ещё ниже), относительный порядок между позитивными и негативными примерами останется тем же. Следовательно, ROC-AUC остаётся инвариантной к таким преобразованиям. #собеседования_MLinside0,64%
- 9 мая 2025 г.📌 Ответы на вопросы и задачу с собеседований 1️⃣ Как оценить переобучение без тестовой выборки? 1. С помощью кросс-валидации - если метрики сильно меняются между фолдами, то скорее всего мы переобучились. 2. По разнице между значениями метрик и лосс-функции на train и validation датасетах. Ошибка на validation сильно больше чем на train, значит есть переобучение. Если на train ошибка тоже большая, значит недообучение. 3. Посмотреть насколько “уверенно” предсказывает наша модель - большие значения могут свидетельствовать о переобучении. 2️⃣ Как быть, если у модели высокий precision, но низкий recall, а заказчик хочет наоборот — максимум охвата, даже ценой ложных срабатываний? Главное — понимать, какая цена у ложноположительных и ложноотрицательных ошибок в задаче, в зависимости от этого мы можем делать трейдофф между precision и recall-ом следующими способами: 1. Самоё лёгкое решение - понизить порог классификации, допустим раньше объект с предсказанием модели 0.5 и выше определялся как положительный класс, а теперь сделать порог 0.3, а не 0.5. Выбрать новый порог можно построив PR-кривую. 2. Решения посложнее - изменить функцию потерь, чтобы сильнее наказывать пропущенные положительные примеры, в современных моделях градиентного бустинга (CatBoost, XGBoost) можно придать больший вес классу гиперпараметром. Сделать больше сэмплов положительного класса, даже с помощью oversampling-а (используя SMOTE, sklearn, data augmentations) 3. Ещё более сложный, но работающий вариант - сделать ансамбль моделей, где одна будет ловить всё, что может быть положительным классом 3️⃣ Чему будет равен ROC-AUC для следующих данных и предсказаний? Истинная метка: 1 0 1 1 0 Предсказание модели - метка: 1 1 1 0 0 Предсказание модели - число: 0.9 0.8 0.7 0.4 0.3 Ответ - 0.667. Как легко посчитать - мини-гайд от Дьяконова 〰️〰️〰️〰️〰️〰️〰️〰️〰️ Автор: Александр Дубейковский, специалист по ML, ex-Yandex #собеседования_MLinside0,61%
- 13:57База ML или Специализация: какой путь в ML подойдет именно вам? В ML можно двигаться по разным траекториям – и в MLinside мы как раз предлагаем два формата обучения: «База ML» и специализацию «Искусственный интеллект и анализ данных». Они частично пересекаются по темам, но рассчитаны на разные цели, уровень подготовки и формат обучения. Поэтому сегодня разберёмся, чем они отличаются и какой вариант подойдет именно вам. Сайт курса База ML Сайт Специализации "Искусственный интеллект и анализ данных"0,61%