Telegram Web Link
Какие существуют алгоритмы классификации?

✏️ Логистическая регрессия. Предсказывает, впрочем, не классы, а вещественные числа — логиты. Для них задаётся порог, который позволит относить объекты к определённому классу.
✏️ KNN (k-ближайших соседей). Определяет класс целевого объекта, исходя из того, какие классы у объектов, наиболее на него похожих.
✏️ SVM (метод опорных векторов). Строится гиперплоскость, разделяющая объекты оптимальным способом.
✏️ Дерево решений. Строится древовидная иерархическая структура для принятия решений на основе атрибутов объектов.
✏️ Случайный лес. Бэггинг над решающими деревьями, то есть использует множество деревьев для улучшения точности.
✏️ Градиентный бустинг. Модель строится путём последовательного улучшения слабых классификаторов.
✏️ Наивный байесовский классификатор. Вероятностный классификатор, основанный на применении теоремы Байеса.
✏️ Нейросети. Существует множество различных вариантов таких классификаторов.
Чем отличаются друг от друга XGBoost, CatBoost и LightGBM?

XGBoost (eXtreme Gradient Boosting):
- Строит деревья одинаковой конкретной глубины. Построение идёт послойно, а затем отсекаются листья.
- Имеет механизмы регуляризации, чтобы предотвращать переобучение.
CatBoost:
- Специализируется на работе с категориальными данными и не требует их предварительной обработки.
- Использует симметричные деревья, что делает процесс обучения быстрее.
LightGBM (Light Gradient Boosting Machine):
- Строит деревья, ориентируясь не на уровень, а на каждый конкретный лист. Добавляет лист, если разделение по нему даёт прирост в информации.
- Использует технику называемую Gradient-based One-Side Sampling (GOSS), которая уменьшает количество данных в процессе обучения. За счёт этого возрастает скорость.
- Есть механизм Exclusive Feature Bundling (EFB), который объединяет взаимоисключающие переменные в одну. Это тоже увеличивает скорость расчёта.

Для лучшего понимания можно посмотреть лекцию
Как вы работали бы с несбалансированным набором данных?

В несбалансированном наборе данных объектов одного класса намного больше, чем объектов другого. Например, в датасете с транзакциями только 400 являются мошенническими, а 300 тысяч — нет. Из-за этого модель может хуже определять мошеннические транзакции.

Чтобы бороться с этим, используют несколько подходов:
🟡 Undersampling. Удаление некоторого количества примеров преобладающего класса.
🟡 Oversampling. Увеличение количества примеров класса, который находится в меньшинстве.
🟡 Комбинирование undersampling и oversampling.
🟡 Создание синтетических данных. Для этого можно использовать SMOTE (англ. Synthetic Minority Oversampling Technique). Алгоритм генерирует некоторое количество искусственных примеров, похожих на имеющиеся в меньшем классе.

Также можно применять взвешивание классов, при котором модель будет сильнее штрафовать за ошибки на меньшем классе. Кроме того, ансамблевые методы могут помочь уменьшить эффект несбалансированности.
Что такое p-value?

P-значение (p-value) указывает на вероятность получить в эксперименте такие или ещё более сильно выраженные различия абсолютно случайно. Например, у нас есть две выборки: одна со средним 20, другая — 18. Наша нулевая гипотеза состоит в том, что эти выборки взяты из одного и того же распределения. Мы вычисляем вероятность получить наблюдаемое отклонение от среднего, исходя из предположения, что нулевая гипотеза верна. Считается, что если полученная вероятность (p) < 0.05, то можно отклонять нулевую гипотезу и принимать альтернативную. Стоит отметить, что граница в 0.05 — это условность.

Важно понимать, что p-значение не говорит о величине эффекта или его практической значимости; оно только помогает определить статистическую значимость результатов.
Какие методы оптимизации в машинном обучении вы знаете?

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

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

🟣 Стохастический градиентный спуск. Вариация метода выше. В этом случае мы подменяем вычисление градиента по всей выборке вычислением по случайной подвыборке. Это ускоряет процесс обучения.

🟣 Градиентный спуск с моментом. Ещё одна вариация. С математической точки зрения, мы добавляем к градиентному шагу ещё одно слагаемое, которое содержит информацию о предыдущих шагах.

🟣 Adagrad. Адаптация стохастического градиентного спуска. Алгоритм адаптирует размер шага для каждого параметра индивидуально, что позволяет более эффективно находить оптимум.

🟣 RMSprop. Метод, разработанный для решения проблемы быстрого уменьшения скорости обучения в Adagrad.

🟣 Adam (ADAptive Momentum). Объединяет в себе идеи градиентного спуска с моментом и RMSprop.
Чем различаются нейронная сеть с одним выходом и сигмоидальной функцией активации и такая же нейронная сеть, но с двумя выходами и softmax?

Основное различие кроется в применении.
▪️ Сигмоидальная функция преобразует любое входное значение в значение от 0 до 1. Это часто используется для задач бинарной классификации, где выход можно интерпретировать как вероятность принадлежности к одному из двух классов.
▪️ Softmax преобразует входные сигналы в набор чисел, которые в сумме дают 1. Может применяться в задачах многоклассовой классификации, где каждый выход представляет некоторую степень уверенности в том, что объект принадлежит к одному из классов.

Так, сеть с сигмоидальной функцией и одним выходом может подойти для задач, где нужно определить, принадлежит ли объект к определённому классу или нет («красный»/«не красный»).

Сеть с softmax и двумя выходами лучше подходит для ситуаций, где необходимо сделать выбор между двумя взаимоисключающими классами («красный»/«чёрный») или для задач многоклассовой классификации, где каждый класс представлен отдельным выходом.
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
🤖 Как бы вы объяснили обучение с подкреплением (reinforcement learning)?

Этот метод моделирует обучение методом проб и ошибок. Вместо обучающей выборки алгоритм взаимодействует с некоторой средой (environment), а в роли «разметки» выступают награда (reward) или штраф (penalty). Это некоторые скалярные величины, которая выдаются после каждого шага взаимодействия со средой. Они показывают, насколько хорошо алгоритм справляется с задачей. По традиции, субъект, который взаимодействует со средой, называется в reinforcement learning агентом (agent).

Цель обучения с подкреплением — найти оптимальную стратегию, которая максимизирует совокупное вознаграждение, получаемое агентом с течением времени.
Какие метрики регрессии вы знаете?

🔹 MSE (Mean squared error), среднеквадратическая ошибка. Одна из самых популярных метрик в задаче регрессии. Также применяется в качестве функции потерь. Это среднее квадратов разностей между предсказанными и фактическими значениями.
🔹 MAE (Mean absolute error), средняя абсолютная ошибка. Это среднее абсолютных разностей между предсказанными и фактическими значениями.
🔹 MAPE (Mean absolute percentage error), cредняя абсолютная ошибка в процентах. Тут в знаменатель формулы, как у MAE, добавляют само целевое значение. Получается относительная метрика.
🔹 SMAPE (symmetric mean absolute percentage error). Вариация MAPE, которая позволяет обрабатывать случаи, если в знаменателе оказывается 0.
🔹 WAPE (weighted average percentage error). Ещё одна вариация MAPE, рекомендуется к использованию при расчёте точности прогнозирования.
🔹 RMSLE (root mean squared logarithmic error). Здесь добавляем в формулу логарифмы и некую нормировочную константу. Это ещё один способ перейти от абсолютных ошибок к относительным.
Какие метрики классификации вы знаете?

🔸 Accuracy (иногда, «точность»). Это доля объектов, для которых модель правильно предсказала класс. Есть обратная ей метрика — доля ошибочных классификаций (error rate). Считается как 1 — accuracy.
🔸 Precision (тоже переводят как «точность»). Это доля правильно предсказанных положительных объектов среди всех объектов, которые модель сочла положительным классом.
🔸 Recall («полнота»). Доля правильно предсказанных положительных объектов среди всех настоящих объектов положительного класса.
🔸 F1-мера. Это среднее гармоническое пары Precision-Recall.
🔸 AUC (Area Under Curve). Чем лучше классификатор разделяет два класса, тем больше площадь под кривой (её ещё называют ROC-кривой). Эта метрика показывает соотношение между долей истинно положительных результатов и долей ложноположительных результатов при разных порогах классификации.
Какие основные рекомендательные модели вы знаете?

👤 Коллаборативная фильтрация. Метод строит рекомендации для пользователя, используя известные предпочтения (чаще всего оценки) других пользователей. То есть отталкиваемся от идеи, что похожим пользователям нравятся похожие объекты.
- User-based и item-based алгоритмы:
В первом случае строим предположение, что объект понравится пользователю, если он понравился похожим пользователям. Во втором случае предполагаем, что объект понравится пользователю, если ему понравились похожие объекты.
👤 Алгоритм SVD (сингулярное разложение). Делаем разложение матрицы оценок. Помимо предсказания оценок, алгоритм позволяет выявить скрытые признаки объектов и интересы пользователей.
Как вы бы проверили вес каждого признака в дереве решений?

Если вы строили дерево решений с помощью библиотеки scikit-learn, то можно использовать атрибут feature_importances_. Он возвращает вектор «важностей» признаков. Индекс элемента в векторе соответствует индексу признака в данных. Эти «важности» вычисляются на базе того, как признак уменьшает меру неопределённости в каждом дереве.
🔈16+ лучших нейронок для синтеза речи

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

Читать статью
Вопросы для собеседований на какой грейд вы хотели бы видеть чаще?
Anonymous Poll
56%
junior
44%
middle
22%
senior
2024/09/30 22:27:35
Back to Top
HTML Embed Code: