Telegram Web Link
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

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

👉Подписаться👈
Подрядчики, которых называют специалистами по данным, но которые не могут сделать то, что я от них ожидаю [Reddit]

Меня наняли в качестве старшего члена уже существовавшей команды по анализу данных. Сейчас я руковожу еще несколькими членами команды (которые были там до меня). Все они являются подрядчиками, и их дневная ставка ВЫСОКАЯ. Все они являются учеными-данными и имеют высшее образование. Я старше. Я выполнял множество технических ролей и не совсем уверен, какова моя официальная должность. Я могу заниматься наукой о данных, но на самом деле я просто создаю вещи. В прошлом я занимался разработкой данных, MLOps, DevOps, Cloud и т. д. Я мастер на все руки, но не мастер ни в чем. ...

Читать далее
Что такое переобучение (overfitting), и какие методы можно применить, чтобы его избежать?

При переобучении модель слишком хорошо «заучивает» тренировочные данные и, следовательно, плохо предсказывает на новых данных, которые ещё не «видела». Чтобы снизить риск overfitting, можно сделать следующее:

✔️Определить критерии ранней остановки: например, вы можете прекратить обучение, если результаты модели на валидационных данных не улучшаются в течение заданного числа эпох.
✔️Взять более простую модель с меньшим числом параметров.
✔️Добавить регуляризацию (например, L1 и L2).
✔️Выбрать наиболее информативные признаки, чтобы снизить шум.
✔️Использовать ансамблевые методы, которые объединяют «слабые» модели для получения более точных результатов.
✔️Увеличить набор входных данных (если возможно).
👍14
Какие шаги вы бы предприняли для предобработки данных перед обучением модели, и почему эти шаги важны?

👣 Нормализация или стандартизация числовых признаков. Многие алгоритмы машинного обучения работают лучше, когда числовые признаки имеют одинаковый масштаб.
👣 Кодирование категориальных переменных. Большинство алгоритмов машинного обучения требуют числовые данные на вход.
👣 Удаление признаков с высокой корреляцией. Они могут привести к проблемам в некоторых моделях, например в линейной регрессии.
👣 Применение PCA для уменьшения размерности данных. Здесь следует оценивать каждый конкретный случай.
👣 Заполнение пропущенных значений. Они могут исказить данные.
👣 Создание новых признаков (feature engineering). Это может улучшить производительность модели, особенно если новые признаки содержат важную информацию для задачи.
10
На собесах любят спрашивать, что такое градиентный бустинг и причём здесь градиент.

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

Всё начинается с простого предсказания начальной моделью целевой переменной. Затем вычисляется значение функции потерь (loss). Допустим, что предсказание первой модели на 5 больше настоящего значения. Если бы следующая новая модель выдавала ответ -5, то сумма ответов этих двух моделей оказалась бы идеальной. В реальности моделей может быть сколько угодно — строим до тех пор, пока не получим приемлемый результат.

Каждый очередной алгоритм в градиентном бустинге будет обучаться предсказывать отрицательный градиент (или антиградиент) функции потерь на основе предсказания предыдущей модели. Это позволяет обобщить метод на любую дифференцируемую функцию потерь. Конечным результатом будет взвешенная сумма результатов всех моделей.
🔥9👍3🥰2
🎯 Отличный момент, чтобы поговорить про смещение (bias) и разброс (variance)

Разложение ошибки модели на смещение и разброс называется bias-variance decomposition. Bias показывает, насколько предсказания алгоритма систематически отклоняются относительно истинных значений. Variance характеризует разброс предсказаний в зависимости от обучающей выборки.

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

Есть такое понятие как trade-off (компромисс) между bias и variance. Идея состоит в том, чтобы найти баланс, при котором модель достаточно сложна, чтобы выдавать приближённые к реальным ответы (низкий bias), но также имеет способности к обобщению, чтобы работать хорошо на новых данных (низкий variance).

Если модель недообучена, она не сможет уловить сложные закономерности в данных (высокий bias), но будет более стабильно работать на новых данных (низкий variance). Если модель переобучена, она будет отлично работать на тренировочных данных (низкий bias), но плохо на новых (высокий variance).
👍5🤯5🔥1
Объясните разницу между «обучением с учителем» (supervised) и «обучением без учителя» (unsupervised) и приведите примеры.

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

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

Выбор между supervised и unsupervised зависит от конкретной задачи и наличия/отсутствия размеченных данных.
👍81
Какой должна быть глубина деревьев решений в ансамблях?

Конкретное число назвать нельзя, но есть некоторые наблюдения.

🌲 Random Forest (Случайный лес). Тут можно использовать относительно глубокие деревья, так как метод предполагает уменьшение разброса за счёт усреднения отдельных ответов деревьев. А вот смещение у каждого дерева должно быть маленьким.
🌲 Gradient Boosting (Градиентный бустинг). Здесь, как правило, применяются менее глубокие деревья (например, с глубиной 3). Это помогает снизить риск переобучения.

В целом, оптимальная глубина часто определяется экспериментально. Можно использовать инструменты для перебора параметров, например, GridSearchCV.
🔥3👍2
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Какие существуют алгоритмы классификации?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🔹 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). Здесь добавляем в формулу логарифмы и некую нормировочную константу. Это ещё один способ перейти от абсолютных ошибок к относительным.
👍4
2025/07/13 18:02:23
Back to Top
HTML Embed Code: