Библиотека собеса по Data Science | вопросы с собеседований
前往频道在 Telegram
Вопросы с собеседований по Data Science и ответы на них. Курс по Ai-агентам: https://clc.to/9L0Tqg По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7dfb7235 Для обратной связи: @proglibrary_feeedback_bot
显示更多4 491
订阅者
+324 小时
+87 天
+4230 天
帖子存档
➡️ Почему при обучении моделей иногда используют так называемый «teacher forcing», и какие у этого метода есть недостатки
«Teacher forcing» — это техника, часто применяемая при обучении рекуррентных моделей, например, в задачах генерации текста или перевода. Во время обучения модель получает на вход правильные предыдущие шаги (правильные слова или символы), а не свои собственные предсказания. Это помогает быстрее учиться, так как модель не накапливает ошибки.
Однако у этого подхода есть проблема:
➖ на этапе генерации (инференса) модель уже не видит правильных ответов, а опирается только на свои предыдущие предсказания. Если где-то ошибка — она может нарастать и «вести» модель в неверное состояние, что снижает качество результатов.
Это называется «рассогласованием» между тренировкой и тестом (train-test mismatch). Чтобы его уменьшить, используют разные техники, например, постепенный переход от teacher forcing к использованию собственных предсказаний модели (scheduled sampling).
Библиотека собеса по Data Science
🤖 Знаете, чем настоящий AI отличается от чат-бота?
Чат-бот просит перезагрузить роутер, а настоящий AI уже умеет читать ваши эмоции в чате, включать музыку под ваше настроение, контролировать погрузку руды с точностью Терминатора и даже находить на КТ-снимках то, чего не заметит человеческий глаз.
Современные компании для таких задач всё чаще используют Deep Learning — алгоритмы на основе нейросетей. Но чтобы попасть в эту лигу, нужен фундамент. И имя ему — Machine Learning.
Наш новый курс по ML — это не волшебная таблетка. Это честный и структурированный путь в мир Data Science. Мы дадим вам базу, с которой вы:
✅ разберётесь, как мыслят машины (спойлер: матрицами!);
✅ научитесь строить работающие модели, а не карточные домики;
✅ получите трамплин для прыжка в Deep Learning.
Хватит смотреть, как другие запускают ракеты. Пора строить свой собственный космодром.
Начните с фундамента на нашем курсе по Machine Learning!
❔ Почему модели машинного обучения иногда плохо работают на данных, которые выглядят похожими на тренировочные, но отличаются по распределению
Это связано с явлением, называемым сдвигом распределения (distribution shift). Даже если новые данные внешне похожи на те, на которых модель училась, их статистические характеристики могут отличаться — например, изменилось соотношение классов, или изменился фон, освещение, стиль и т.д.
Модель при этом «предполагает», что новые данные имеют то же распределение, что и тренировочные, и поэтому её предсказания становятся менее точными и менее надёжными.
Причина в том, что модель фактически учится шаблонам, специфичным для тренировочных данных, а не универсальным закономерностям. Без специальных техник (например, адаптации домена, регуляризации, обучения на более разнообразных данных) она плохо обобщает.
Библиотека собеса по Data Science
📍 Почему важно учитывать «индуктивные смещения» (inductive biases) при выборе архитектуры модели
Индуктивное смещение — это всё, что модель предполагает о данных до обучения: структура, ограничения, способ обработки информации. Любая модель не учится «с нуля» — она делает предположения о том, как устроен мир.
Если выбрать модель с неподходящими индуктивными смещениями, она может и выучить задачу, но потребуется гораздо больше данных и времени, потому что ей придётся «вытеснить» свои изначальные представления и создать новые с нуля.
Почему это важно:
➡️ Помогает эффективно использовать данные: хорошее смещение направляет обучение.
➡️ Позволяет сократить переобучение: модель не тратит усилия на бессмысленные гипотезы.
➡️ Даёт более интерпретируемое поведение, если смещение явно соответствует задаче.
Библиотека собеса по Data Science
Почему важно различать эпистемическую и алейаторную неопределённость в моделях машинного обучения
Неопределённость в предсказаниях модели может иметь разные причины, и важно понимать, откуда она берётся:
1. Алейаторная неопределённость — это шум, который присущ данным. Например, если вы пытаетесь предсказать, выпадет ли дождь, а в атмосфере реально случаются случайные флуктуации — никакая модель не даст 100% уверенности. Это естественная неопределённость, которую нельзя устранить, даже если собрать бесконечно много данных.
2. Эпистемическая неопределённость — это неуверенность модели, связанная с незнанием. Она возникает, когда данных недостаточно, или когда модель попала в область, где она ничего раньше не видела. Эту неопределённость можно уменьшить, просто добавив больше данных или выбрав лучшую модель.
Почему это важно:
✅ В медицине, например, если модель видит новый тип пациента, она может быть уверена на 95%, но это ложная уверенность. Если бы модель умела распознавать, что «она не знает», можно было бы передать случай врачу.
✅ В системах с принятием решений (автопилоты, финансы), эпистемическую неопределённость важно уметь выявлять, чтобы не доверять модели «вслепую».
✅ Разные виды неопределённости требуют разных стратегий: шум — это вопрос устойчивости, незнание — это повод улучшать данные или модель.
Библиотека собеса по Data Science
✅ Как взаимосвязаны информационная энтропия и функции потерь в машинном обучении
Информационная энтропия — это мера неопределённости. Чем выше энтропия, тем больше «хаоса» в распределении: например, если модель предсказывает 50/50 между двумя классами, она максимально неуверенна.
Когда мы обучаем модель, особенно классификатор, мы хотим, чтобы её предсказания были точными и уверенными там, где нужно. И вот тут возникает связь:
😶🌫️Некоторые функции потерь — например, кросс-энтропия — специально построены так, чтобы наказывать модель за неуверенность, особенно если она неуверенно ошибается.
Если модель говорит:
«Я почти уверен, что это класс А»,
а на самом деле правильный ответ — класс B,
то функция потерь даст сильное наказание.
А если она ошибается, но честно признаётся:
«Я не знаю, вероятно, 50/50 между A и B»,
то наказание будет мягче.
Эта логика пришла из информационной теории, где цель — сократить неопределённость. Обучение модели можно понимать как процесс уменьшения энтропии — мы учим её делать уверенные и точные предсказания, тем самым сокращая информационный «хаос».
Библиотека собеса по Data Science
☝️ Последний шанс купить курсы Proglib Academy с доступом навсегда!
Это не просто летняя распродажа, это финал эпохи. Мы дарим скидку 40% на все курсы, включая полностью обновлённый курс по Python (предложение НЕ ДЕЙСТВУЕТ только на курс по AI-агентам для DS-специалистов).
Но главное: с 1 августа доступ ко всем новым курсам станет ограниченным. Успейте инвестировать в свои знания на самых выгодных условиях!
👉 Выбрать курс
☝️ Последний шанс купить курсы Proglib Academy с доступом навсегда!
Это не просто летняя распродажа, это финал эпохи. Мы дарим скидку 40% на все курсы, включая полностью обновлённый курс по Python (предложение НЕ ДЕЙСТВУЕТ только на курс по AI-агентам).
Но главное: с 1 августа доступ ко всем новым курсам станет ограниченным. Успейте инвестировать в свои знания на самых выгодных условиях!
👉 Выбрать курс https://proglib.academy/python
👉 Почему в задачах с имбалансом классов часто возникает проблема маскировки (masking) при обучении, и как с ней бороться
Маскировка — ситуация, когда модель «игнорирует» редкий класс из-за его малого веса в общей выборке и концентрируется на частом классе, что приводит к плохому распознаванию редких событий.
Почему возникает:
➡️ Стандартные функции потерь (например, cross-entropy) суммируют ошибки по всем объектам без учёта дисбаланса. Большой класс «перекрывает» вклад маленького, и градиенты, связанные с редким классом, оказываются незначительными.
➡️ При классическом обучении модель «ленится» выделять сложные и редкие паттерны, так как проще минимизировать ошибку на доминирующем классе.
Как бороться:
➡️ Взвешивание классов — увеличить вес ошибки на редком классе в функции потерь.
➡️ Использование специализированных функций потерь, например, focal loss, которая уменьшает вклад легко классифицируемых объектов и фокусируется на трудных.
➡️ Семплирование: oversampling редких классов или undersampling частых, чтобы выровнять распределение.
➡️ Генерация синтетических данных (SMOTE, ADASYN) для редких классов.
➡️ Использование ансамблей, где отдельные модели могут специализироваться на редких классах.
Библиотека собеса по Data Science
🔎 Как и почему возникает проблема каллибровки вероятностей в моделях машинного обучения
Модель может выдавать хорошие предсказания с точки зрения точности, но её оценка вероятностей быть плохо откалиброванной — то есть, предсказанные вероятности не соответствуют реальной частоте событий.
Во многих задачах (медицина, финансы, риск-менеджмент) важна не только метка класса, но и уверенность модели. Например, предсказать, что событие с вероятностью 0.9 действительно случится примерно в 90% случаев.
Почему возникает несоответствие:
➡️ Используемые функции потерь (например, cross-entropy) и оптимизаторы не гарантируют идеальную калибровку.
➡️ Модели могут быть избыточно уверены (overconfident), особенно глубокие нейросети с ReLU и batch normalization.
➡️ Недостаток данных или несбалансированность классов искажает распределение вероятностей.
Методы исправления
Постобработка:
➡️ Плацинг (Platt Scaling) — логистическая регрессия по выходам модели.
➡️ Изотоническая регрессия — монотонная калибровка.
➡️ Температурное шкалирование (Temperature Scaling) — масштабирование логитов перед softmax.
Встроенные методы:
➡️ Использование бэйесовских моделей или методы, учитывающие неопределённость (например, dropout в режиме теста).
➡️ Обучение с учётом калибровки (calibration-aware loss).
Библиотека собеса по Data Science
🤔 Почему иногда стоит использовать заведомо переобученную модель, несмотря на риски
На первый взгляд, переобучение — это зло. Но в некоторых ситуациях сознательное переобучение может быть оправдано, если:
✅ Качество важнее обобщения. Например, если модель работает только на строго ограниченном наборе данных (внутри одной компании, устройства, клиента), и обобщение на внешний мир не требуется.
✅ Переобученная модель используется как слабый компонент в ансамбле. Boosting часто строит переобученные деревья, которые в совокупности дают устойчивую модель.
✅ Нужно вытянуть максимум информации из сложных и «богатых» данных. Иногда регуляризация отрезает важные высокоуровневые зависимости. Переобученная модель может их уловить — главное, вовремя остановиться.
✅ Переобученная модель как инструмент анализа. Например, чтобы изучить, какие признаки «зашумлены», какие корреляции неустойчивы — переобучение может показать слабые места в данных.
Библиотека собеса по Data Science
👇 Зачем обучать модель на синтетически сгенерированных данных, если есть реальные
Синтетические данные могут показаться искусственными, но в некоторых ситуациях они становятся незаменимым инструментом, особенно когда:
➡️ Реальных данных мало, и модель склонна к переобучению. Синтетика помогает обобщить.
➡️ Некоторые сценарии в реальности редки, но критичны. Например, аварии в автономном вождении или сбои в медицине — их просто нет в нужном количестве в реальных логах.
➡️ Конфиденциальность или юридические ограничения. В здравоохранении, банках, телекомах реальные данные недоступны для открытой разработки — синтетические клоны могут сохранить статистику без утечки персональных данных.
➡️ Анализ worst-case behavior. Можно сгенерировать «провокационные» примеры, чтобы проверить, как модель реагирует на сложные случаи.
Важно: хорошие синтетические данные должны сохранять структуру, шум и вариативность реального мира, иначе они приведут к модели-иллюзии.
Библиотека собеса по Data Science
❓ Зачем в задачах классификации можно использовать регрессию перед классификацией
Иногда полезно предсказать непрерывную «оценку» или счёт, а потом превратить её в классы. Это особенно актуально, когда границы между классами нечёткие или имеют порядок.
Примеры:
▶️ В задаче определения уровня токсичности (0 — «нейтрально», 1 — «слегка агрессивно», 2 — «очень токсично») можно сначала регрессировать «степень токсичности», а затем порогами разделить на классы. Это называется ordinal regression.
▶️ В медицинской диагностике — если заболевание имеет стадии, и они близки по смыслу, а не просто «класс 0/1», регрессия может дать более тонкие различия, чем жёсткая классификация.
Иногда модель классификации может быть уверена на 51% в одном классе и 49% в другом — и потерять важную информацию. Регрессионный подход позволяет сохранить нюансы.
Библиотека собеса по Data Science
❗ Первый вебинар нашего курса по AI-агентам уже прошёл!
Запись уже выложили на обучающей платформе — можно влетать и догонять с комфортом.
Первые слушатели уже оставили фидбэки — и, кажется, мы попали в точку:
— «теперь наконец понял, как выбирать модели под задачу — раньше брал первую попавшуюся»
— «без лишнего, по делу, в лайве — кайф»
— «огонь, ожидания 100% оправданы лично у меня»
Если хотели вписаться, но сомневались — ещё не поздно. Вебинары идут вживую, записи сохраняются, чат работает, материалы открыты.
⏳ Ещё можно догнать и пройти всё вместе с потоком.
👉 Залетай на курс
⏯ Зачем использовать функции потерь, нечувствительные к масштабу ошибки, например Huber loss, вместо стандартной MSE в регрессии
Среднеквадратичная ошибка (MSE) сильно штрафует большие отклонения, из-за чего становится очень чувствительной к выбросам. Один аномальный объект может доминировать в градиентах и «утащить» всю модель.
Huber loss — это гибрид MSE и MAE:
❇️ При малых ошибках она ведёт себя как MSE — гладко и удобно для градиентных методов.
❇️ При больших — как MAE, линейно, не позволяя выбросам слишком сильно влиять на обучение.
Это особенно полезно, когда:
❇️ Данные содержат редкие, но сильные шумы (например, сенсоры, человеческие ошибки, аномалии).
❇️ Вы хотите получить модель, устойчивую к искажениям, но всё ещё удобную для оптимизации.
Библиотека собеса по Data Science
🤔 Может ли модель машинного обучения «обмануть» нас, даже если метрики говорят, что всё хорошо
Да — и делает это довольно часто. Модель может демонстрировать отличные метрики, но при этом решать не ту задачу, которую мы ей на самом деле поставили.
Примеры:
1️⃣ Модель для автоматического отбора резюме может использовать косвенные признаки, связанные не с квалификацией, а с демографией — например, местом жительства или формулировками, типичными для определённых групп.
2️⃣ Модель для детекции токсичных комментариев может научиться просто игнорировать сленг или грамматические ошибки, если их нет в тренировке, и при этом «наказывать» культурные диалекты.
3️⃣ Модель детектирует трещины на снимках труб, но в обучающих данных почти все трещины были сфотографированы в солнечную погоду — и модель на самом деле распознаёт освещение, а не дефекты.
Формально — всё отлично: log-loss низкий, ROC-AUC высокий. Но по сути — модель научилась «читерить». Это называют спурием-корреляциями (spurious correlations) и data leakage.
Библиотека собеса по Data Science
🔮 Можно ли считать, что модель, которая хорошо работает на данных прошлого, «понимает» будущее
Не совсем. Модель учится на исторических данных и выявляет в них закономерности. Но будущее может отличаться из-за новых факторов, изменений среды, смещения данных или неожиданных событий — это называется сдвигом распределения (data drift).
Поэтому даже высокая точность на старых данных не гарантирует успех в будущем. Модель «понимает» прошлое, но не обладает настоящим «интеллектом» или «прозрением». Чтобы быть надёжной, её нужно регулярно переобучать и тестировать на свежих данных.
Библиотека собеса по Data Science
👉 Может ли модель машинного обучения быть «неправильно правой»
Да — и это довольно опасный случай. Модель может выдавать правильный результат, но по неправильной причине.
Примеры:
— Классическая история: модель для распознавания танков «научилась» отличать их от леса, но не по форме техники — а по погоде (все фото с танками были при пасмурной погоде, а без — в солнечную).
— Модель предсказывает болезнь, но оказывается, что она просто запомнила, в каких больницах делались анализы, а не сами медицинские показатели.
Это называется «shortcut learning» — когда модель ищет кратчайший путь к правильному ответу, даже если он бессмыслен с точки зрения задачи.
Почему это плохо:
— Модель может работать «правильно» на тесте, но провалиться в реальной жизни, когда нарушатся скрытые зависимости.
— В критичных сферах (медицина, право, финансы) это может привести к опасным решениям.
Библиотека собеса по Data Science
🔥 Сегодня стартует курс по AI-агентам!
Онбординг уже сегодня, но ещё можно вписаться — ПОСЛЕДНИЙ ШАНС это сделать.
Мы больше года собирали мультиагентные системы: экспериментировали, переделывали и в итоге — оформили всё в 5 плотных вебинаров.
😤 «А можно ли вообще научиться чему-то за 5 вебинаров?!»
Если вы хотите просто послушать — нет
Если хотите разбираться и делать — да
➡️ На курсе:
— мы не читаем слайдики, а работаем в коде в реальном времени
— можно задавать вопросы прямо на вебинаре
— после каждого вебинара есть домашка и поддержка в чате
И главное — вы получаете системное понимание, а не набор хаотичных туториалов.
⚡️Если вы думаете, что успеете потом — не успеете.
Старт сегодня:
— а те, кто вписался сейчас, будут вас опережать — в проектах, на грейде и в зарплате
Знакомьтесь, эксперт нашего курса:
Никита Зелинский — Chief Data Scientist МТС, Head of ML Platforms, руководитель центра компетенций по Data Science.
❗Стартуем сегодня — забронируй свое место
😎 Почему иногда используют «обманчиво плохую» loss-функцию на этапе обучения
Иногда для обучения выбирают лосс-функцию, которая не совпадает с целевой метрикой — и даже, на первый взгляд, плохо её отражает.
Это делается не по ошибке, а потому что:
— Целевая метрика негладкая или недифференцируемая, например, F1-score, Precision\@K, Accuracy. Их нельзя напрямую оптимизировать с помощью градиентного спуска.
— Взамен используют surrogate loss — «замещающую» функцию, которую можно эффективно минимизировать.
Например:
✔️ log-loss для классификации,
✔️ hinge loss для SVM,
✔️ MSE вместо MAE в регрессии.
Иногда surrogate loss вообще не похож на целевую метрику — и всё равно работает. Это парадокс: модель учится не по той метрике, которую мы хотим улучшить, но всё равно её улучшает.
Такой выбор — компромисс между математической удобством и практической целью. И это одна из причин, почему хорошие метрики ≠ хорошие loss-функции, и наоборот.
Библиотека собеса по Data Science
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
