Media is too big
VIEW IN TELEGRAM
🎲 Вероятностные модели и функции потерь. Машинное обучение полный курс. Урок 8
- Видео
- Урок 1 / Урок2 / Урок3 / Урок4 / Урок5 /
- Урок6/ Урок7
- Colab
-Полный курс
#ml #math #mlmath #probability #машинноеобучение
- Видео
- Урок 1 / Урок2 / Урок3 / Урок4 / Урок5 /
- Урок6/ Урок7
- Colab
-Полный курс
#ml #math #mlmath #probability #машинноеобучение
👍13❤5🔥3
Media is too big
VIEW IN TELEGRAM
🔥 Обобщение и переобучение в машинном обучении.
- Видео
- Урок 1 / Урок2 / Урок3 / Урок4 / Урок5 /
- Урок6/ Урок7/ Урок 8
- Colab
-Полный курс
#ml #math #mlmath #probability #машинноеобучение
- Видео
- Урок 1 / Урок2 / Урок3 / Урок4 / Урок5 /
- Урок6/ Урок7/ Урок 8
- Colab
-Полный курс
#ml #math #mlmath #probability #машинноеобучение
👍8❤4🔥2
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
Все мы любим scikit-learn за его простоту и мощь. Но что если ваши модели обучаются слишком долго на больших данных? 🤔 NVIDIA предлагает решение!
Вы берете свой обычный скрипт cо scikit-learn, добавляете всего две строки в начало, и он начинает работать в 10, 50, а то и 100+ раз быстрее на NVIDIA GPU!
✨ Как это работает?
Библиотека cuml от NVIDIA содержит супероптимизированные для GPU версии многих алгоритмов машинного обучения. С помощью простого вызова
cuml.patch.apply()
вы "патчите" установленный у вас scikit-learn прямо в памяти.Теперь, когда вы вызываете, например,
KNeighborsClassifier
или PCA
из sklearn:Ключевые преимущества:
2 строчки:import cuml.patch и cuml.patch.apply().
Топ инструмент для всех, кто работает с scikit-learn на задачах, требующих значительных вычислений, и у кого есть GPU от NVIDIA.
👇 Как использовать:
Установите RAPIDS cuml (лучше через conda, см. сайт RAPIDS):
python
conda install -c rapidsai -c conda-forge -c nvidia cuml rapids-build-backend
Добавьте в начало скрипта:
import cuml.patch
cuml.patch.apply()
Используйте scikit-learn как обычно!
Попробуйте и почувствуйте разницу! 😉
▪Блог-пост
▪Colab
▪Github
▪Ускоряем Pandas
@ai_machinelearning_big_data
#python #datascience #machinelearning #scikitlearn #rapids #cuml #gpu #nvidia #ускорение #машинноеобучение #анализданных
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍7🔥7
▪️ Условие задачи:
Вам необходимо разработать систему машинного обучения для онлайн-рекомендаций, которая работает в реальном времени. Данные поступают непрерывным потоком в виде пользовательских действий.
Дано:
- Поток событий вида:
{
"user_id": "string",
"event_type": "click" | "view" | "purchase",
"item_id": "string",
"timestamp": "ISO 8601",
"features": {
"device_type": "mobile" | "desktop",
"location": "string",
"time_of_day": "morning" | "afternoon" | "evening" | "night",
"category": "string"
}
}
Требования:
1. Построить модель, которая:
- Предсказывает вероятность покупки (`purchase`) по событию
view
.- Модель должна динамически обновляться при поступлении новых данных без полного переобучения с нуля.
- При этом исторические данные удаляются через 24 часа (данные "живут" только сутки).
2. Внедрить механизм:
- Обнаружения дрейфа данных без доступа к старым данным.
- Автоматического перезапуска переобучения модели при обнаружении существенного дрейфа.
3. Ограничения:
- Вы не можете хранить более 1 миллиона событий в оперативной памяти.
- Latency предсказания модели — не более 100 миллисекунд.
---
▪️ ## Подсказки:
- Подумайте про использование on-line learning моделей (например, SGDClassifier с
partial_fit
в sklearn, или свои реализации).- Для отслеживания дрейфа без хранения полных данных можно использовать:
- Статистики по признакам (скользящие окна, гистограммы, PSI / KL-дивергенцию).
- Мониторинг распределений через скользящие метрики.
- Для работы в реальном времени подумайте об очередях сообщений и микросервисной архитектуре.
- Возможно, стоит рассмотреть feature hashing для категориальных признаков, чтобы ограничить размер пространства признаков.
---
▪️ ## Что оценивается:
- Умение выбирать правильные модели и методы обучения под ограничения задачи.
- Навыки построения систем с ограничением по памяти и времени ответа.
- Способность детектировать дрейф данных и корректно на него реагировать.
- Чистота и масштабируемость архитектуры.
- Понимание особенностей продакшн-ML систем.
---
▪️ ## Разбор возможного решения:
**Архитектура решения:**
- Использовать онлайн-модель (например,
SGDClassifier
, Vowpal Wabbit
, или свою реализацию логистической регрессии).- Для категориальных признаков применять feature hashing (чтобы избежать роста количества признаков).
- Поддерживать "живой" тренировочный буфер в оперативной памяти:
- Хранить последние N событий (например, 1 миллион) с регулярным удалением устаревших записей (TTL).
- Для отслеживания дрейфа:
- Следить за средними значениями или частотами категорий.
- При резких изменениях — триггерить переобучение модели с нуля.
Про возможные сложности:
- Обработка "холодного старта" при инициализации новой модели без большого объема данных.
- Как избежать переобучения на шум при частом переобучении модели.
- Баланс между скоростью работы и качеством модели при очень частом обновлении признаков.
Инструменты, которые могут помочь:
- Скользящие гистограммы для признаков (`histogram_sketching`).
- Feature hashing (`HashingVectorizer`, `FeatureHasher`).
- Механизмы инкрементального обучения (`partial_fit`,
warm_start
модели).- Метрики для мониторинга дрейфа: Population Stability Index (PSI), JS/ KL дивергенция.
Делитесь решением в комментариях 👇
@machinelearning_interview
#собеседование #задача #машинноеобучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤8🔥5