Machine learning Interview
34.3K subscribers
1.12K photos
87 videos
14 files
768 links
Разбираем вопросы с собеседований по Machine Learning, Data Science, Deep Learning и Нейронным сетям, Python.

Вопросы - @notxxx1


@itchannels_telegram -🔥лучшие it каналы

РКН: clck.ru/3FmwRz
Download Telegram
Media is too big
VIEW IN TELEGRAM
🎲 Вероятностные модели и функции потерь. Машинное обучение полный курс. Урок 8

- Видео
- Урок 1 / Урок2 / Урок3 / Урок4 / Урок5 /
- Урок6/ Урок7
- Colab
-Полный курс

#ml #math #mlmath #probability #машинноеобучение
👍135🔥3
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ СuML от NVIDIA: Scikit-learn на скорости GPU – без единой строчки нового кода!

Все мы любим scikit-learn за его простоту и мощь. Но что если ваши модели обучаются слишком долго на больших данных? 🤔 NVIDIA предлагает решение!

Вы берете свой обычный скрипт cо scikit-learn, добавляете всего две строки в начало, и он начинает работать в 10, 50, а то и 100+ раз быстрее на NVIDIA GPU! 🔥

Как это работает?

Библиотека cuml от NVIDIA содержит супероптимизированные для GPU версии многих алгоритмов машинного обучения. С помощью простого вызова cuml.patch.apply() вы "патчите" установленный у вас scikit-learn прямо в памяти.

Теперь, когда вы вызываете, например, KNeighborsClassifier или PCA из sklearn:

▶️Патч проверяет, есть ли у вас GPU NVIDIA.
▶️Проверяет, есть ли в cuml быстрая GPU-версия этого алгоритма.
▶️Если да – запускает ускоренную версию на GPU! 🏎️
▶️Если нет (нет GPU или алгоритм не поддерживается) – спокойно запускает обычную CPU-версию scikit-learn.

Ключевые преимущества:

✔️ Нулевые изменения кода: Ваш scikit-learn код остается прежним. Добавляете только 2 строчки:
import cuml.patch и cuml.patch.apply().
✔️ Колоссальное ускорение: Получите прирост производительности на порядки для поддерживаемых алгоритмов (KNN, PCA, линейные модели, Random Forest (инференс), UMAP, DBSCAN, KMeans и др.) за счет мощи GPU.
✔️Автоматическое переключение между GPU и CPU. Ваш скрипт будет работать в любом случае.

Топ инструмент для всех, кто работает с 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
👍168🔥5