Telegram Web
Почему логистическая регрессия не подвержена переобучению так же сильно, как деревья решений или нейросети

Логистическая регрессия — это линейная модель, и ее склонность к переобучению значительно ниже, чем у более гибких моделей, таких как decision trees или нейросети. Вот почему:

1. Ограниченная сложность модели

Логистическая регрессия линейно разделяет пространство признаков, что ограничивает ее гипотезы (модельное семейство). Это значит, что она имеет высокое смещение (bias), но низкую дисперсию (variance). Переобучение обычно связано с высокой дисперсией, которой у линейной модели меньше.

2. Малая VC-дименсия

В отличие от деревьев решений, которые могут запомнить структуру обучающей выборки почти целиком, логистическая регрессия имеет гораздо более низкую VC-дименсию, а значит — меньше риск выучить шум.

3. Регуляризация встроена естественным образом

В логистическую регрессию часто добавляют L1 или L2 регуляризацию (например, через параметр C в `sklearn`). Это сдерживает веса модели и предотвращает переобучение.

4. Обучение через оптимизацию функции правдоподобия

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какие практические соображения важны при выборе функции активации

Память, вычислительная эффективность, числовая устойчивость и простота реализации — всё это важные факторы.

Например, ReLU и её варианты являются простыми покомпонентными операциями, которые хорошо оптимизированы на современном оборудовании (GPU и TPU).

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

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

Дополнительные соображения включают в себя:
➡️ требуемый диапазон входов и выходов для последующих слоёв;
➡️ вероятность возникновения исчезающих или взрывающихся градиентов;
➡️ регуляризирующий эффект некоторых функций активации (например, SELU способствует самонормализации при определённых условиях).

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть ли встроенные модели регрессии, которые напрямую работают с пропущенными данными

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

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

Такие механизмы встроены, например, в:
➡️ XGBoost (можно задать missing),
➡️ LightGBM (имеет встроенную поддержку NaN),
➡️ CatBoost (автоматически обрабатывает пропуски).

Однако, несмотря на удобство, следует внимательно оценивать качество модели, особенно если:
➡️ пропусков много,
➡️ отсутствие значений связано с целевой переменной или другими признаками.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🎓 Как выбрать свою роль в Data Science и не потеряться в терминах

Если вы только начинаете разбираться в Data Science — перед вами лабиринт из названий: data scientist, аналитик, ML-инженер, BI, архитектор... Кто чем занимается? Что нужно учить?

➡️ Что внутри статьи

— Кто такие Data Engineer

— Чем отличается Data Architect от инженера и зачем он нужен в big data проектах

— Чем занимаются Data Analyst и почему это отличная точка входа в карьеру

— Что делает настоящий Data Scientist

В статье разобрано всё: от задач до технологий, которые реально спрашивают на собеседованиях.

📎 Ссылка

Азбука айтишника #ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость

Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.

👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.

🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе

🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.

📅 Сроки: прием новостей до 11 мая включительно

Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8

Осталась неделя — ждем ваших новостей!
🤔 Как принять решение: удалять выбросы или оставлять их

Всё зависит от природы выбросов — являются ли они реальными редкими случаями или ошибками в данных.

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

🔹 Если же выброс возник из-за ошибки ввода, дублирования или другого рода артефакта — его можно удалить без особого риска.

Как принять обоснованное решение

Постройте три версии модели:
1. С выбросами.
2. Без выбросов.
3. С обработанными выбросами (например, винзоризацией или логарифмической трансформацией).

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

📌 Контекст имеет значение

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

Библиотека собеса по Data Science
📱 Как кросс-валидация применяется к большим нейросетям (например, GPT-подобным моделям) с миллионами или миллиардами параметров

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

❗️ Возможные стратегии

1. Уменьшенное значение k (Reduced k)

Часто используют просто отложенную выборку (hold-out) или 2-фолд кросс-валидацию. Иногда применяют случайные разбиения несколько раз вместо традиционных 5-10 фолдов.

2. Чекпойнты и частичное повторное использование весов

Хотя обучение на каждом фолде требует разных данных, можно:
🟠дообучать модель с уже натренированными весами,
🟠использовать подходы transfer learning или fine-tuning.

Это не полностью корректно, но снижает затраты.

3. Параллельное и распределённое обучение

Если есть достаточное количество ресурсов (кластер, TPU/облачные GPU), фолды можно обучать параллельно.

4. Субсэмплирование данных

При очень больших датасетах можно делать случайную подвыборку на каждом фолде. Это сохраняет распределение, но уменьшает общий объём обучающих данных.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Как обрабатывается дрейф концепции при обучении моделей с несбалансированными классами во времени

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

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

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Как обнаружить и смягчить эффект популярности (popularity bias) в рекомендательной системе

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

🔍 Как обнаружить

Посмотрите на логи рекомендаций — если небольшая доля контента получает основную массу показов, это тревожный сигнал. Обычно это «голова» распределения (head), тогда как «хвост» (long tail) игнорируется.

🛠 Методы смягчения

Нормализация метрик (например, watch-time) с учетом числа показов — чтобы не усиливать положительную обратную связь.

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

Умное переупорядочивание (re-ranking): резервировать часть позиций в выдаче для менее популярных видео.

⚠️ Важно

• Слишком сильное наказание популярных видео может снизить удовлетворенность пользователя.

• Нельзя наказывать все тематики одинаково: специализированный контент может иметь честно низкие метрики, не из-за предвзятости, а из-за ниши.

Библиотека собеса по Data Science
Как использовать категориальные признаки в k-Means

Алгоритм k-Means плохо работает с категориальными признаками, потому что понятие среднего значения неприменимо к строковым значениям вроде «красный», «синий» или «зелёный».

🛠 Что можно сделать

📍 One-hot encoding — преобразуем каждую категорию в бинарный вектор. Это позволяет применить *k-Means*, но увеличивает размерность и может искажать расстояния.
📍 Label encoding — простой способ, но порядок присвоенных чисел может ввести модель в заблуждение (например, «cat» = 0, «dog» = 1, «elephant» = 2).
📍 Оба метода не гарантируют адекватную интерпретацию расстояний между категориями.

🔄 Альтернатива

Вместо k-Means для категориальных или смешанных данных лучше использовать:
📍 k-Modes — аналог k-Means, но для чисто категориальных признаков (использует моду вместо среднего).
📍 k-Prototypes — работает с числовыми и категориальными данными одновременно.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Что делать, если во временных рядах есть сезонные пики, которые могут быть ошибочно приняты за выбросы

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

Что можно сделать:
1️⃣ Сезонная декомпозиция: методы вроде STL (Seasonal-Trend decomposition using Loess) позволяют выделить тренд, сезонность и остатки. После отделения сезонной составляющей можно искать выбросы только в остатках.
2️⃣ Учет временного контекста: добавьте в модель признаки, отражающие временные аспекты (например, день недели, час суток), чтобы алгоритм «понимал», когда пики — это норма.
3️⃣ Устойчивые модели прогнозирования: такие модели, как Prophet или SARIMA, умеют учитывать сезонность и различать регулярные циклы от настоящих аномалий.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Чем отличается использование памяти у оптимизаторов Adam и SGD

Adam потребляет больше памяти, чем стандартный SGD, потому что хранит дополнительные данные для адаптивного обновления параметров.

Adam хранит для каждого параметра две дополнительные переменные:
📍 m — экспоненциальное среднее градиентов (первая моментная оценка),
📍 v — экспоненциальное среднее квадратов градиентов (вторая моментная оценка).

То есть если у модели 10 млн параметров, Adam будет хранить ещё 20 млн значений (всего 30 млн), что заметно увеличивает потребление памяти.

SGD:
📍 В базовом виде — не хранит ничего, кроме самих параметров.
📍 С momentum — хранит один дополнительный буфер (скорость), то есть на одну переменную больше на каждый параметр.

На практике:
➡️ Если у вас ограничения по GPU-памяти, и модель или батчи не вмещаются, можно перейти с Adam на SGD, чтобы высвободить память.
➡️ Но стоит помнить, что Adam часто сходится быстрее и лучше работает с разреженными градиентами (например, при работе с текстами или рекомендациями).

Некоторые фреймворки (например, PyTorch) предоставляют памяти-эффективные версии Adam, но они могут требовать ручной настройки или иметь побочные эффекты.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Почему важно устранять первопричину искажения десятичных данных, а не ограничиваться их очисткой

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

📉 Типовой сценарий:
Обнаруживается, что значения теряют дробную часть — например, «12,5» становится «125». После этого данные очищаются, модель переобучается, однако через некоторое время проблема возникает снова.

🎯 Рекомендованный подход — поиск и устранение первоисточника:

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

🛠 После выявления причины необходимо внести корректировки на уровне источника данных:
Обеспечить сохранение числовой точности.
Внедрить строгие проверки форматов и типов.
Настроить автоматические уведомления о появлении подозрительных или выходящих за допустимые границы значений.

⚠️ Важно учитывать, что подобные ошибки могут проявляться непостоянно, а лишь в отдельных случаях. Именно поэтому требуется постоянный мониторинг распределения значений и логов.

Библиотека собеса по Data Science
🤔 Почему моя модель машинного обучения резко теряет точность после выхода в продакшн, хотя на тестах всё было отлично

Потому что модель обучалась на «чистом» датасете, а в продакшне сталкивается с реальными, грязными и непредсказуемыми данными.

🧩 Типовые причины падения качества:

1. Искажения входных признаков
— Например, в одном из полей вместо десятичного значения приходит строка или ноль. Модель не понимает контекст и делает ошибочный прогноз.


2. Отсутствие валидации на этапе inference
— Если данные не проходят базовую проверку перед подачей в модель, она работает на мусоре. А мусор на входе = мусор на выходе (GIGO).


3. Появление новых распределений (data drift)
— В продакшн приходят значения, которых в трейне не было. Модель не обучалась на таких случаях и путается.


4. Неверная предобработка в проде
— Самая частая причина: трансформации признаков в проде не совпадают с тем, как они делались в трейне. Всё — от разного кодирования категорий до забытых скейлеров.


🛠 Как защититься

➡️ Внедрить валидацию входных данных (тип, диапазон, формат).
➡️ Использовать инвариантные признаки, устойчивые к мелким искажениям.
➡️ Настроить мониторинг данных на inference, чтобы ловить отклонения от трейна.
➡️ Автоматизировать регулярное переобучение с учётом новых поступающих данных.
➡️ Обеспечить идентичность пайплайнов: то, что в трейне — то и в проде.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🗨 Когда стоит рассматривать разбиение датасета вместо применения глобального преобразования

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

🔍 Пример:
Если есть данные о доходах из разных регионов. Один регион — с высоким уровнем доходов, другой — с низким. В совокупности распределение выглядит сильно смещённым или даже мультимодальным (несколько пиков).

В такой ситуации попытка применить глобальное преобразование (например, логарифм или Box-Cox) ко всему датасету сразу не устраняет проблему. Это всё ещё не одно распределение, а смесь разных.

Что делать:
📍 Разбить данные на логически обоснованные подгруппы (по региону, демографии, сегменту бизнеса и т.д.).
📍 Применить отдельные преобразования или даже обучить отдельные модели для каждой подгруппы.
📍 При необходимости объединить результаты анализа или прогнозы обратно.

Что важно учитывать:
📍 Разделение должно быть обосновано теоретически или доменной экспертизой. Разделение «наугад» может привести к переобучению или утечке информации.
📍 Объём данных в каждой подгруппе должен быть достаточным для построения статистически надёжных моделей или трансформаций.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Смешные новости про IT теперь в одном канале

Мы запустили @hahacker_news — наш новый юмористический IT-канал.

Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.

👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
⚙️ Работает ли Adam при экстремально разреженных градиентах

Когда градиенты обновляются редко — например, в задачах обработки языка (NLP) или рекомендательных системах — может показаться, что базовый SGD будет более эффективным. Однако у Adam всё ещё есть свои преимущества.

💡 Почему Adam может быть полезен:
⭕️ Он масштабирует шаги обучения по каждому параметру отдельно, используя скользящие средние градиентов (1-го и 2-го порядка).
⭕️ Даже если градиенты редкие, Adam может обеспечить значимые апдейты по тем параметрам, которые активируются нечасто, например, для редких токенов в эмбеддингах.

⚠️ Но есть и подводные камни:
⭕️ Если параметр обновляется крайне редко, его скользящие средние могут оставаться почти нулевыми слишком долго → шаг становится почти нулевым.
⭕️ В таких условиях нужно особенно тщательно настраивать «beta1», «beta2» и «learning rate» — слишком «инерционные» настройки могут замораживать обновления навсегда.
⭕️ Примеры таких кейсов — миллионные эмбеддинг-таблицы в рекомендательных системах, где важна тонкая настройка скорости обучения для редких признаков.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
В чём разница между активным обучением (Active Learning) и полунаблюдаемым обучением (Semi-Supervised Learning)

Обе методики помогают работать с недостаточным количеством размеченных данных, но делают это по-разному.

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

🔍 Полунаблюдаемое обучение:
— Использует все доступные неразмеченные данные без дополнительной ручной разметки.
— Накладывает ограничения на предсказания модели (например, консистентность, кластеризацию), чтобы улучшить обучение.
— Позволяет модели самостоятельно извлекать дополнительную информацию из неразмеченных данных.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли доверять feature importance из моделей машинного обучения

Только с оговорками. Feature importance помогает понять, какие признаки влияют на предсказание, но интерпретация зависит от типа модели и метода оценки важности.

Что нужно учитывать

1. Важность ≠ причинность
Высокое значение признака в модели не означает, что он вызывает результат — он просто помогает предсказывать его.

2. Коррелирующие признаки могут путать
Если несколько признаков связаны между собой, модель может «размазать» важность между ними или отдать её только одному, что исказит интерпретацию.

3. Разные методы — разные результаты
В деревьях часто используется Gini importance или gain, но они чувствительны к масштабам.
В моделях типа XGBoost можно использовать SHAP для более надёжной оценки вклада признаков.
Линейные модели дают понятные веса, но только при отсутствии мультиколлинеарности.

Как подходить к анализу признаков

Используйте несколько методов (например, permutation importance + SHAP).
Учитывайте контекст задачи и доменную экспертизу.
Не делайте выводов о «причинности» только по важности признаков — используйте дополнительные анализы.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 Может ли использование MSE в логистической регрессии привести к другим локальным минимумам по сравнению с кросс-энтропией

Да, может. Хотя кросс-энтропия обычно приводит к единственному глобальному минимуму (в терминах логарифмического правдоподобия), использование среднеквадратичной ошибки (MSE) может создать более сложный ландшафт ошибки, особенно в нелинейной области логистической функции.

🔍 Почему так происходит

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


🔎 Плоские или нестабильные участки
Из-за особенностей формы функции ошибки при MSE, градиенты могут быть почти нулевыми в широких зонах, а значит — модель может застрять в субоптимальных решениях.


🔎 Кросс-энтропия лучше «соотнесена» с логистической регрессией
Она прямо оптимизирует логарифмическое правдоподобие и ведёт к более «чистому» и выпуклому ландшафту потерь, что помогает градиентному спуску быстрее находить оптимум.


Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/05/18 19:20:58
Back to Top
HTML Embed Code: