Почему RMSE и MAE могут давать разную оценку качества модели
RMSE (Root Mean Squared Error) и MAE (Mean Absolute Error) — это две популярные метрики регрессии, но они ведут себя по-разному при наличии выбросов.
🔹 MAE — это средняя абсолютная ошибка, измеряет среднее отклонение предсказаний от истинных значений. Она линейно реагирует на ошибки, то есть один большой выброс не окажет значительного влияния.
🔹 RMSE — это корень из среднеквадратичной ошибки, которая квадратично увеличивает вклад больших ошибок. Это значит, что RMSE сильнее наказывает за крупные выбросы, чем MAE.
📊 Пример:
Если у вас есть предсказания: [2, 3, 4, 5, 100] при истинных значениях [2, 3, 4, 5, 6],
то MAE ≈ 18, а RMSE ≈ 40. RMSE выросло сильнее из-за большого выброса в 100.
RMSE (Root Mean Squared Error) и MAE (Mean Absolute Error) — это две популярные метрики регрессии, но они ведут себя по-разному при наличии выбросов.
🔹 MAE — это средняя абсолютная ошибка, измеряет среднее отклонение предсказаний от истинных значений. Она линейно реагирует на ошибки, то есть один большой выброс не окажет значительного влияния.
🔹 RMSE — это корень из среднеквадратичной ошибки, которая квадратично увеличивает вклад больших ошибок. Это значит, что RMSE сильнее наказывает за крупные выбросы, чем MAE.
📊 Пример:
Если у вас есть предсказания: [2, 3, 4, 5, 100] при истинных значениях [2, 3, 4, 5, 6],
то MAE ≈ 18, а RMSE ≈ 40. RMSE выросло сильнее из-за большого выброса в 100.
Как работает градиентный бустинг, и в чем его преимущества перед классическим бустингом
Ответ:
Градиентный бустинг (Gradient Boosting) — это ансамблевый метод, в котором слабые модели (обычно деревья решений) обучаются последовательно, и каждая следующая модель корректирует ошибки предыдущей. В отличие от классического бустинга (AdaBoost), градиентный бустинг минимизирует функцию потерь с помощью градиентного спуска.
Как работает:
▪️ Первая модель обучается на исходных данных.
▪️ Далее вычисляется остаточная ошибка (разница между предсказанными и реальными значениями).
▪️ Следующая модель обучается на этой ошибке, пытаясь её минимизировать.
▪️ Процесс повторяется, и все модели комбинируются для финального предсказания.
Ответ:
Градиентный бустинг (Gradient Boosting) — это ансамблевый метод, в котором слабые модели (обычно деревья решений) обучаются последовательно, и каждая следующая модель корректирует ошибки предыдущей. В отличие от классического бустинга (AdaBoost), градиентный бустинг минимизирует функцию потерь с помощью градиентного спуска.
Как работает:
▪️ Первая модель обучается на исходных данных.
▪️ Далее вычисляется остаточная ошибка (разница между предсказанными и реальными значениями).
▪️ Следующая модель обучается на этой ошибке, пытаясь её минимизировать.
▪️ Процесс повторяется, и все модели комбинируются для финального предсказания.
Что такое трансформеры (Transformers) в машинном обучении, и чем они отличаются от рекуррентных нейронных сетей (RNN)
✔️ Трансформеры — это архитектура нейросетей, основанная на механизме само внимания (self-attention), которая эффективно обрабатывает последовательности данных, такие как текст. Они стали основой моделей NLP, включая BERT и GPT.
Отличия от RNN:
1. Параллелизм — в отличие от RNN, трансформеры могут обрабатывать все токены одновременно, а не последовательно, что ускоряет обучение.
2. Долгосрочные зависимости — механизм само внимания позволяет учитывать контекст из любых частей последовательности, тогда как RNN страдают от проблемы затухающих градиентов.
✔️ Трансформеры — это архитектура нейросетей, основанная на механизме само внимания (self-attention), которая эффективно обрабатывает последовательности данных, такие как текст. Они стали основой моделей NLP, включая BERT и GPT.
Отличия от RNN:
1. Параллелизм — в отличие от RNN, трансформеры могут обрабатывать все токены одновременно, а не последовательно, что ускоряет обучение.
2. Долгосрочные зависимости — механизм само внимания позволяет учитывать контекст из любых частей последовательности, тогда как RNN страдают от проблемы затухающих градиентов.
Если увеличить объем обучающих данных, всегда ли модель машинного обучения будет работать лучше
Хотя увеличение данных часто улучшает обобщающую способность модели, есть несколько случаев, когда это не дает ожидаемого эффекта:
❗ Шумные или нерелевантные данные — если в новый набор включены некорректные, повторяющиеся или нерелевантные примеры, модель может запутаться и работать хуже.
❗ Неправильная архитектура — если модель недостаточно сложна (например, линейная при нелинейных зависимостях), даже большой объем данных не поможет.
❗ Выборка сдвинута — если новые данные не отражают реальные распределения (например, изображения кошек в наборе данных для собак), модель не улучшится.
Хотя увеличение данных часто улучшает обобщающую способность модели, есть несколько случаев, когда это не дает ожидаемого эффекта:
❗ Шумные или нерелевантные данные — если в новый набор включены некорректные, повторяющиеся или нерелевантные примеры, модель может запутаться и работать хуже.
❗ Неправильная архитектура — если модель недостаточно сложна (например, линейная при нелинейных зависимостях), даже большой объем данных не поможет.
❗ Выборка сдвинута — если новые данные не отражают реальные распределения (например, изображения кошек в наборе данных для собак), модель не улучшится.
❗Eсли данные для обучения модели нормализованы, всегда ли это улучшит её производительность
Хотя нормализация может помочь многим алгоритмам, особенно тем, которые чувствительны к масштабам данных (например, линейной регрессии или нейросетям), она не всегда приведет к улучшению результатов.
В некоторых случаях, например, когда данные уже находятся в подходящем диапазоне или используются модели, не чувствительные к масштабу (например, деревья решений), нормализация может быть излишней и не улучшит производительность.
Хотя нормализация может помочь многим алгоритмам, особенно тем, которые чувствительны к масштабам данных (например, линейной регрессии или нейросетям), она не всегда приведет к улучшению результатов.
В некоторых случаях, например, когда данные уже находятся в подходящем диапазоне или используются модели, не чувствительные к масштабу (например, деревья решений), нормализация может быть излишней и не улучшит производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ Почему метрика Silhouette Score не всегда подходит для оценки кластеризации с кластерами разного размера
Silhouette Score может не давать точную оценку, если кластеры сильно различаются по размеру или форме. Это связано с тем, что метрика предполагает сферическую форму кластеров и одинаковый размер. В случае сильно несбалансированных кластеров или выбросов, она может давать ложные результаты, указывая на хорошую кластеризацию, когда это не так.
👍 Альтернатива: Для таких случаев лучше использовать Davies-Bouldin Index или Adjusted Rand Index (ARI).
Silhouette Score может не давать точную оценку, если кластеры сильно различаются по размеру или форме. Это связано с тем, что метрика предполагает сферическую форму кластеров и одинаковый размер. В случае сильно несбалансированных кластеров или выбросов, она может давать ложные результаты, указывая на хорошую кластеризацию, когда это не так.
👍 Альтернатива: Для таких случаев лучше использовать Davies-Bouldin Index или Adjusted Rand Index (ARI).
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
Вычисление важности признаков: когда она вводит в заблуждение
Вычисление важности признаков (Permutation Feature Importance) — популярный метод оценки вклада признаков в модель. Однако при наличии коррелированных признаков он может давать искаженные результаты.
🔸 Разделение важности: если два признака (A и B) сильно коррелируют, перестановка одного из них не снизит качество модели, так как второй содержит ту же информацию. Итог — заниженная важность.
🔸 Ложная высокая важность: малозначимый, но коррелированный с важным признак может получить высокий вклад просто из-за связи с важным признаком.
Что делать?
✅ Использовать SHAP, который корректно распределяет вклад.
✅ Применять PCA или регуляризацию (Lasso) для снижения корреляции.
✅ Проверять важность через drop-column importance.
Вычисление важности признаков (Permutation Feature Importance) — популярный метод оценки вклада признаков в модель. Однако при наличии коррелированных признаков он может давать искаженные результаты.
🔸 Разделение важности: если два признака (A и B) сильно коррелируют, перестановка одного из них не снизит качество модели, так как второй содержит ту же информацию. Итог — заниженная важность.
🔸 Ложная высокая важность: малозначимый, но коррелированный с важным признак может получить высокий вклад просто из-за связи с важным признаком.
Что делать?
✅ Использовать SHAP, который корректно распределяет вклад.
✅ Применять PCA или регуляризацию (Lasso) для снижения корреляции.
✅ Проверять важность через drop-column importance.
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
Forwarded from Proglib.academy | IT-курсы
Big Data и Data Science применяются не только в IT-гигантах, но и в некоммерческом секторе, где технологии анализа данных помогают оптимизировать работу организаций, собирать средства и оказывать помощь эффективнее.
▪️ Как некоммерческие организации используют Data Science.
▪️ Оптимизация фондов и финансирования с помощью аналитики.
▪️ Роль прогнозных моделей в благотворительности.
▪️ Кейсы Amnesty International, Khan Academy и DataKind.
Please open Telegram to view this post
VIEW IN TELEGRAM
Градиентный бустинг: почему слишком много деревьев ухудшает модель
🔸 Переобучение (overfitting) — каждое новое дерево минимизирует ошибку, но если деревьев слишком много, модель начинает подстраиваться под шум данных, теряя обобщающую способность.
🔸 Снижение прироста качества — на первых итерациях каждое дерево значительно улучшает предсказания. Однако после определенного количества итераций добавление новых деревьев практически не влияет на качество.
🔸 Рост вычислительной сложности — больше деревьев → выше время инференса и потребление памяти.
🔸 Переобучение (overfitting) — каждое новое дерево минимизирует ошибку, но если деревьев слишком много, модель начинает подстраиваться под шум данных, теряя обобщающую способность.
🔸 Снижение прироста качества — на первых итерациях каждое дерево значительно улучшает предсказания. Однако после определенного количества итераций добавление новых деревьев практически не влияет на качество.
🔸 Рост вычислительной сложности — больше деревьев → выше время инференса и потребление памяти.
Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/b72093d4
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны.
🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг
👉 Подробная программа обучения
А по промокоду
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему AUC-ROC может вводить в заблуждение при несбалансированных данных
🔸 Не учитывает реальное соотношение классов — AUC-ROC показывает, насколько хорошо модель различает классы, но не отражает точность предсказаний для каждого из них. Если 99% данных — класс 0, модель может почти всегда предсказывать 0 и все равно получить высокий AUC.
🔸 Проблемы с интерпретацией — высокая AUC-ROC не всегда означает, что модель полезна. Например, если интересен именно редкий класс, важно понимать precision, recall и F1-score.
🔸 Не учитывает реальное соотношение классов — AUC-ROC показывает, насколько хорошо модель различает классы, но не отражает точность предсказаний для каждого из них. Если 99% данных — класс 0, модель может почти всегда предсказывать 0 и все равно получить высокий AUC.
🔸 Проблемы с интерпретацией — высокая AUC-ROC не всегда означает, что модель полезна. Например, если интересен именно редкий класс, важно понимать precision, recall и F1-score.
Как улучшить производительность модели с помощью отбора признаков
Отбор признаков (feature selection) — это процесс выбора наиболее значимых признаков для построения модели. Это помогает улучшить её производительность и снизить сложность.
❗ Слишком много признаков может привести к переобучению и увеличению времени обучения.
❗ Неинформативные или шумные признаки могут ухудшить результаты модели.
🔧 Методы отбора признаков:
- Использование методов фильтрации (например, корреляция, тесты на значимость).
- Применение методов обертывания (например, рекурсивный отбор признаков).
- Использование методов вложений (например, Lasso или дерево решений).
Отбор признаков (feature selection) — это процесс выбора наиболее значимых признаков для построения модели. Это помогает улучшить её производительность и снизить сложность.
❗ Слишком много признаков может привести к переобучению и увеличению времени обучения.
❗ Неинформативные или шумные признаки могут ухудшить результаты модели.
🔧 Методы отбора признаков:
- Использование методов фильтрации (например, корреляция, тесты на значимость).
- Применение методов обертывания (например, рекурсивный отбор признаков).
- Использование методов вложений (например, Lasso или дерево решений).
Почему корреляция не означает причинно-следственную связь
В анализе данных часто встречаются коррелирующие признаки, но это не значит, что один из них вызывает другой.
⚠️ Пример ловушки:
В жаркие дни продажи мороженого и количество утоплений растут одновременно. Их корреляция может быть высокой, но одно не вызывает другое — причиной является погода.
🔍 Как проверить причинность?
✅ Использовать эксперименты (A/B-тестирование).
✅ Применять каузальный анализ (например, метод двойных разностей).
✅ Изучать графовые модели зависимостей.
В анализе данных часто встречаются коррелирующие признаки, но это не значит, что один из них вызывает другой.
⚠️ Пример ловушки:
В жаркие дни продажи мороженого и количество утоплений растут одновременно. Их корреляция может быть высокой, но одно не вызывает другое — причиной является погода.
🔍 Как проверить причинность?
✅ Использовать эксперименты (A/B-тестирование).
✅ Применять каузальный анализ (например, метод двойных разностей).
✅ Изучать графовые модели зависимостей.
🤔 Основы математики в Machine Learning / Deep Learning
🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)
🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
😮 На вебинаре вы узнаете:
🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.
🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.
🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.
🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/98cb734d
🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)
🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
😮 На вебинаре вы узнаете:
🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.
🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.
🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.
🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/98cb734d
Почему среднее значение не всегда отражает суть данных
Среднее (mean) — одна из самых распространённых метрик в анализе данных, но его использование может привести к неверным выводам.
⚠️ Когда среднее вводит в заблуждение?
1. Выбросы сильно искажают результат (например, средняя зарплата в компании с одним миллиардером).
2. Смещение распределения — в асимметричных данных среднее может не отражать «типичное» значение.
3. Категориальные данные — нельзя усреднять, например, номера телефонов или географические координаты.
🔍 Что делать?
✅ Использовать медиану для устойчивости к выбросам.
✅ Смотреть на разброс данных (стандартное отклонение, IQR).
✅ Визуализировать распределение, а не полагаться только на одно число.
Среднее (mean) — одна из самых распространённых метрик в анализе данных, но его использование может привести к неверным выводам.
⚠️ Когда среднее вводит в заблуждение?
1. Выбросы сильно искажают результат (например, средняя зарплата в компании с одним миллиардером).
2. Смещение распределения — в асимметричных данных среднее может не отражать «типичное» значение.
3. Категориальные данные — нельзя усреднять, например, номера телефонов или географические координаты.
🔍 Что делать?
✅ Использовать медиану для устойчивости к выбросам.
✅ Смотреть на разброс данных (стандартное отклонение, IQR).
✅ Визуализировать распределение, а не полагаться только на одно число.
Forwarded from Библиотека питониста | Python, Django, Flask
💾 10 способов работы с большими файлами в Python, о которых ты не знал
Годнота для всех, кто работает с данными. Статья раскрывает разные подходы к обработке больших файлов — от простых итераторов до распределенных вычислений.
👍 Сохраняй себе, точно пригодится в работе: https://proglib.io/sh/VOcgo7w0W1
Годнота для всех, кто работает с данными. Статья раскрывает разные подходы к обработке больших файлов — от простых итераторов до распределенных вычислений.
👍 Сохраняй себе, точно пригодится в работе: https://proglib.io/sh/VOcgo7w0W1
Почему перемешивание данных может сломать модель
В машинном обучении перемешивание (shuffling) данных перед обучением модели часто считается хорошей практикой. Но в некоторых случаях это может привести к неожиданным ошибкам и ухудшению качества модели.
❗ Временные ряды → Если модель предсказывает будущее, перемешивание разрушит временную структуру. Решение: использовать time-based split.
❗ Группированные данные → Например, если данные по одному пользователю оказываются в train и test, это приведёт к утечке данных. Решение: делать групповую валидацию.
❗Последовательные зависимости → В задачах NLP или рекомендательных систем порядок данных может быть критичен.
В машинном обучении перемешивание (shuffling) данных перед обучением модели часто считается хорошей практикой. Но в некоторых случаях это может привести к неожиданным ошибкам и ухудшению качества модели.
❗ Временные ряды → Если модель предсказывает будущее, перемешивание разрушит временную структуру. Решение: использовать time-based split.
❗ Группированные данные → Например, если данные по одному пользователю оказываются в train и test, это приведёт к утечке данных. Решение: делать групповую валидацию.
❗Последовательные зависимости → В задачах NLP или рекомендательных систем порядок данных может быть критичен.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.