Telegram Web Link
Как изменится ROC-AUC, если к вероятностям принадлежности к первому классу применить логарифм?

ROC-AUC показывает, насколько хорошо модель сортирует (ранжирует) объекты класса. От абсолютных значений вероятностей метрика не зависит. Следовательно, применение логарифма не изменит значение ROC-AUC. Логарифмическая функция является монотонной, то есть она сохраняет порядок чисел: если одно число больше другого, то и его логарифм также будет больше.
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

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

Если линейная регрессия предсказывает само значение целевой переменной, то логистическая используется для предсказания вероятности того, что объект принадлежит к определённому классу. Своё название логистическая регрессия берёт из того, что изначально прогнозирует логит (logit или log odd), логарифм отношения вероятности положительного события к отрицательному. Логит можно преобразовать в вероятность, например, через сигмоиду (если мы говорим о бинарной классификации).

Что касается оптимизации, то линейная регрессия использует метод наименьших квадратов, а в логистической регрессии может применяться оценка максимального правдоподобия.

#junior
Для чего используют batch normalization?

Это метод, который нормализует входы нейросети. На специальном слое batch normalization текущий батч (пакет данных) приводится к нулевому среднему и единичной дисперсии.

Это позволяет:
быстрее обучаться, так как все числа получаются одного порядка;
улучшить сходимость нейросети;
сделать сеть менее чувствительной к выбору начальных значений весов;
даже бороться с переобучением.

Стоит отметить, что до сих пор идут дискуссии о причинах эффективной работы batch normalization.

#junior
#middle
Какие метрики качества ранжирования вы знаете?

Такие метрики используются для оценки эффективности алгоритмов ранжирования, часто применяемых в рекомендательных системах.

🟠 Precision at K (p@K). Это метрика качества ранжирования для одного объекта. Измеряет долю релевантных элементов среди первых k элементов в ранжированном списке.
🟠 Mean average precision at K (map@K). Чаще всего мы имеем дело со множеством объектов, а не с одним, например с сотнями тысяч пользователей. Идея map@K заключается в том, чтобы сначала вычислить среднее precision at K для каждого объекта, а затем усреднить итог.
🟠 Normalized Discounted Cumulative Gain (NDCG). Здесь разберём поэтапно:
- Сначала рассмотрим один объект и k наиболее релевантных элементов. Это будет Cumulative gain at K (CG@K), метрика, которая использует простую идею: чем более релевантные элементы в этом топе, тем лучше.
- Далее введём Discounted cumulative gain at K (DCG@K). Это модификация CG@K, учитывающая порядок элементов в списке. Необходимо домножить показатель релевантности элемента на вес равный обратному логарифму номера позиции.
- В конце концов придём к normalized discounted cumulative gain at K (nDCG@K). Это нормализованная версия DCG@K. Данная метрика принимает значения в диапазоне от 0 до 1.
🟠 Mean Reciprocal Rank (MRR). Метрика усредняет обратные ранги первых правильно угаданных элементов по всем объектам.

Формулы можно найти в этой статье

#middle
👨‍💼С точки зрения бизнес-процессов в чём разница между метрикой качества и функцией потерь?

Метрика качества напрямую связана с бизнес-целями. Она должна отвечать заказчику на вопрос: как построенная модель улучшает работу сервиса/компании? Например, бизнесу может быть интересна медианная длина сессии пользователя на сайте.

Если коротко:
✔️функция потерь возникает, когда мы сводим задачу построения модели к задаче оптимизации. Поэтому нам важно, чтобы она имела некоторые свойства, в частности была дифференцируемой;
✔️метрика же является объективным критерием качества, зачастую зависит только от предсказанных результатов.

Иногда метрика может совпадать с функцией потерь. Такое случается, например, при решении задачи регрессии, когда мы используем среднеквадратическую ошибку (MSE). А вот в задаче бинарной классификации чаще всего метрика и функция потерь не совпадают. В качестве первой может выступать число верно угаданных меток (accuracy), а в качестве второй — кросс-энтропия.

#junior
#middle
Как работает KNN (k-ближайших соседей, или k-nearest neighbors)?

Этот метод обычно используется для классификации объектов на основе ближайших к нему примеров. Вот основные шаги алгоритма:
🔷 Выбирается число k — параметр, определяющий количество соседей, по которым будет приниматься решение о классификации нового объекта.
🔷 Вычисляется расстояние между новым объектом и каждым из обучающих примеров. Обычно используется евклидово расстояние, но могут быть и другие метрики.
🔷 Алгоритм находит k обучающих примеров, самых близких к новому объекту.
🔷 Новому объекту назначают иаиболее часто встречающийся класс среди k соседей.

Стоит отметить, что KNN можно довольно легко обобщить и на задачу регрессии. Например, можно брать среднее по k соседям.

#junior
👩‍💻 Решение задачи на Python про сумму диагоналей матрицы

Задача: Дана матрица mat. Напишите функцию, которая возвращает сумму элементов диагоналей матрицы.

Первым делом следует уточнить у интервьюера, какие есть ограничения. Например, он сказал, что на вход мы получаем только квадратную матрицу, элементы на пересечении диагоналей считаются только один раз, элементы могут принимать значения от 1 до 100.

Тогда решение может выглядеть так:
🧩 Мы будем проходиться в цикле и сразу прибавлять к результату значения матрицы по индексам i (mat[i][i]). Дальше будем смотреть: если i не равно n-i-1, где n — размер матрицы, значит мы прибавляем к результату mat[i][n-i-1]. Эта проверка позволит нам избежать повторного прибавления к сумме элементов, которые стоят на пересечении диагоналей.

Это будет решение за O(n), так как мы один раз проходимся в цикле по элементам матрицы.

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

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

👉Подписаться👈
Объясните, как используется энтропия в процессе построения дерева решений? Что ещё может использоваться вместо энтропии?

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

🌲 В контексте построения дерева-классификатора объекты — это случайные величины, которые могут принимать значение либо первого, либо второго класса. Если случайная величина принимает только одно значение, то она абсолютно предсказуема, и энтропия равна нулю. Если энтропия близка к единице, это значит, что случайная величина непредсказуема.

При построении дерева мы стремимся разбить объекты так, чтобы с получившимися группами энтропия была минимальной. Пример:
🟡 Допустим, у нас есть по 25 точек каждого класса — всего 50. Сначала мы выбираем разбиение, например, по X <= 5. Тогда в левую часть попадают 25 точек класса 0 и 12 точек класса 1, а в правую — ноль точек класса 0 и 13 точек класса 1. Энтропия левой группы равна 0.9, а правой — нулю. Это логично, ведь в правой группе все объекты принадлежат только одному классу, неопределённости нет.
🟡 Мы сделаем ещё несколько разбиений и выберем из них то, которое радикальнее всего уменьшит общую неопределённость системы.

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

#junior
#middle
🔥 -50% на курс по математике + курс по machine learning в подарок

😲 В честь черной пятницы курс «Математика для Data Science» со скидкой 50%!

14 990 рублей 29 990 рублей до 30 ноября

🐣 На курсе вы получите все необходимые знания для старта карьеры в DS или аналитике.

Что еще вас ждет на курсе:

▪️ Полугодовая программа от преподавателей ВМК МГУ;

▪️ Бессрочный доступ ко всем материалам курса;

▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.

🎁 Но это еще не все!

⚡️При покупке курса по математике, вы получите курс по machine learning в подарок!

👉 Переходите на сайт и изучайте подробности – https://proglib.io/w/ca575581

До встречи на обучении 🙌
В чём разница между L1- и L2-регуляризациями?

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

🔷 L1-регуляризация добавляет к функции потерь штраф, пропорциональный абсолютному значению весов, а L2-регуляризация — штраф, пропорциональный квадрату величины весов.
🔷 L1-регуляризация может обнулять некоторые веса. L2-регуляризация обычно так не делает, но приближает веса к нулю, что уменьшает влияние отдельных признаков на результат.

#junior
#middle
Чем различаются стекинг (Stacking) и блендинг (Blending)?

▪️Стекинг — это способ построения ансамблей, при котором результаты базовых алгоритмов объединяются в один с помощью обучаемой мета-модели.
Например, мы делим тренировочную выборку на n частей (фолдов). Затем на каждом шаге мы обучаем базовые алгоритмы на n — 1 фолдах и используем последний оставшийся фолд для предсказания (вычисления мета-признаков). На полученных мета-признаках обучается мета-модель. Описанный нами метод похож на кросс-валидацию.
▪️Блендинг — упрощённый подход. Мы просто делим тренировочную выборку на две непересекающиеся части. На первой учим базовые алгоритмы, на второй — делаем предсказания и далее строим мета-модель.

#junior
#middle
Как определить процент объяснённой дисперсии при использовании метода главных компонент (PCA)?

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

▪️Сначала нужно вычислить общую дисперсию. Это сумма всех собственных значений.
▪️Процент объяснённой дисперсии для каждой компоненты рассчитывается как отношение собственного значения этой компоненты к полученной сумме. Затем результат умножается на 100, чтобы получить процент.
▪️Чтобы оценить объясняющий вклад k первых компонент, можно суммировать их индивидуальные проценты объяснённой дисперсии.

Также мы можем вычислить процент потерянной дисперсии, если просто вычтем из 100 процент объяснённой.

#middle
#senior
🔮Что такое проклятие размерности и как с ним справиться?

Проблема в том, что в высокоразмерных пространствах данные становятся очень разреженными. Вот пример:

🟣 Допустим, мы используем метод ближайших соседей для задачи классификации. Чтобы алгоритм хорошо работал, объекты должны быть расположены достаточно плотно в пространстве признаков. Так, в единичном интервале [0,1] ста равномерно разбросанных точек будет достаточно, чтобы покрыть этот интервал с частотой не менее 0.01. Однако если мы возьмём 10-мерный куб, то для той же степени покрытия потребуется уже 10^{20} точек.

Если данные будут сильно разбросаны в многомерном пространстве, то вероятность переобучения увеличивается. В общем, большое количество признаков требует всё более объёмных наборов данных.

Что можно с этим сделать:
✔️провести отбор признаков;
✔️снизить размерность данных с помощью метода главных компонент (PCA).
🧑‍💻 Решение задачи про поиск повторяющихся элементов в массиве

Задача: Дан массив с целыми числами длины n, все элементы которого лежат в диапазоне [1, n]. Каждый элемент появляется в массиве либо единожды, либо дважды. Требуется найти все числа, которые появляются дважды. Алгоритм должен работать за O(n).

Решение 1:
Довольно очевидный способ с использованием множеств. Создаём два множества, проходимся в цикле по массиву и проверяем, если элемент уже есть в первом множестве, то добавляем его в результирующее множество. Возвращаем результирующее множество.

Решение 2 (быстрее и использует меньше памяти):
Используем тот факт, что все числа массива находятся в диапазоне от 1 до n. Создаём результирующий список и идём в цикле по массиву. Вычисляем на основе каждого элемента index, а затем берём элемент массива по этому индексу. Если элемент по индексу неотрицательный, то заменяем его отрицательным. Если отрицательный, то добавляем изначальный элемент в результирующий список.

#junior
#middle
Что такое закон больших чисел и как его используют в Data Science?

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

🔢 В Data Science закон больших чисел может использоваться в таких областях, как прогностическое моделирование, оценка рисков и контроль качества. Он помогает гарантировать, что среднее значение результатов большого числа независимых испытаний будет сходиться к ожидаемому значению. Это обеспечивает основу для статистического вывода и проверки гипотез.

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

#junior
#middle
Зачем метрику качества регрессии возводить в квадрат?

Речь идёт о среднеквадратичной ошибке (Mean Squared Error, MSE). От средней абсолютной ошибки (Mean Absolute Error, MAE) она отличается тем, что в ней разница между предсказанным и истинным значением возводится в квадрат. Но зачем это нужно?

▪️MSE сильнее штрафует за большие ошибки. У этого есть как плюсы, так и минусы. Если мы действительно очень не хотим получать большие ошибки, то квадратичный штраф за них очень полезен. Но если в тестовых данных есть выбросы, то использовать MSE становится менее удобно.

#junior
#middle
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

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

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

Вот признаки:
▪️Высокое значение функции потерь. Отражает неспособность модели обучиться на данных.
▪️Скачки значения функции потерь. Показывают, что модель нестабильна.
▪️Функция потерь во время обучения может принимать значение NaN.

Также на проблему взрывающихся градиентов могут указывать:
▫️Быстрый рост весов модели.
▫️Значения NaN у весов модели во время обучения.

#junior
#middle
2024/09/30 20:38:58
Back to Top
HTML Embed Code: