Для чего используют batch normalization?
Это метод, который нормализует входы нейросети. На специальном слое batch normalization текущий батч (пакет данных) приводится к нулевому среднему и единичной дисперсии.
Это позволяет:
⚫ быстрее обучаться, так как все числа получаются одного порядка;
⚫ улучшить сходимость нейросети;
⚫ сделать сеть менее чувствительной к выбору начальных значений весов;
⚫ даже бороться с переобучением.
Стоит отметить, что до сих пор идут дискуссии о причинах эффективной работы batch normalization.
#junior
#middle
Это метод, который нормализует входы нейросети. На специальном слое batch normalization текущий батч (пакет данных) приводится к нулевому среднему и единичной дисперсии.
Это позволяет:
⚫ быстрее обучаться, так как все числа получаются одного порядка;
⚫ улучшить сходимость нейросети;
⚫ сделать сеть менее чувствительной к выбору начальных значений весов;
⚫ даже бороться с переобучением.
Стоит отметить, что до сих пор идут дискуссии о причинах эффективной работы batch normalization.
#junior
#middle
❤6
Какие метрики качества ранжирования вы знаете?
Такие метрики используются для оценки эффективности алгоритмов ранжирования, часто применяемых в рекомендательных системах.
🟠 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
Такие метрики используются для оценки эффективности алгоритмов ранжирования, часто применяемых в рекомендательных системах.
🟠 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
👍8
👨💼С точки зрения бизнес-процессов в чём разница между метрикой качества и функцией потерь?
Метрика качества напрямую связана с бизнес-целями. Она должна отвечать заказчику на вопрос: как построенная модель улучшает работу сервиса/компании? Например, бизнесу может быть интересна медианная длина сессии пользователя на сайте.
Если коротко:
✔️функция потерь возникает, когда мы сводим задачу построения модели к задаче оптимизации. Поэтому нам важно, чтобы она имела некоторые свойства, в частности была дифференцируемой;
✔️метрика же является объективным критерием качества, зачастую зависит только от предсказанных результатов.
Иногда метрика может совпадать с функцией потерь. Такое случается, например, при решении задачи регрессии, когда мы используем среднеквадратическую ошибку (MSE). А вот в задаче бинарной классификации чаще всего метрика и функция потерь не совпадают. В качестве первой может выступать число верно угаданных меток (accuracy), а в качестве второй — кросс-энтропия.
#junior
#middle
Метрика качества напрямую связана с бизнес-целями. Она должна отвечать заказчику на вопрос: как построенная модель улучшает работу сервиса/компании? Например, бизнесу может быть интересна медианная длина сессии пользователя на сайте.
Если коротко:
✔️функция потерь возникает, когда мы сводим задачу построения модели к задаче оптимизации. Поэтому нам важно, чтобы она имела некоторые свойства, в частности была дифференцируемой;
✔️метрика же является объективным критерием качества, зачастую зависит только от предсказанных результатов.
Иногда метрика может совпадать с функцией потерь. Такое случается, например, при решении задачи регрессии, когда мы используем среднеквадратическую ошибку (MSE). А вот в задаче бинарной классификации чаще всего метрика и функция потерь не совпадают. В качестве первой может выступать число верно угаданных меток (accuracy), а в качестве второй — кросс-энтропия.
#junior
#middle
👍8❤1
Как работает KNN (k-ближайших соседей, или k-nearest neighbors)?
Этот метод обычно используется для классификации объектов на основе ближайших к нему примеров. Вот основные шаги алгоритма:
🔷 Выбирается число k — параметр, определяющий количество соседей, по которым будет приниматься решение о классификации нового объекта.
🔷 Вычисляется расстояние между новым объектом и каждым из обучающих примеров. Обычно используется евклидово расстояние, но могут быть и другие метрики.
🔷 Алгоритм находит k обучающих примеров, самых близких к новому объекту.
🔷 Новому объекту назначают иаиболее часто встречающийся класс среди k соседей.
Стоит отметить, что KNN можно довольно легко обобщить и на задачу регрессии. Например, можно брать среднее по k соседям.
#junior
Этот метод обычно используется для классификации объектов на основе ближайших к нему примеров. Вот основные шаги алгоритма:
🔷 Выбирается число k — параметр, определяющий количество соседей, по которым будет приниматься решение о классификации нового объекта.
🔷 Вычисляется расстояние между новым объектом и каждым из обучающих примеров. Обычно используется евклидово расстояние, но могут быть и другие метрики.
🔷 Алгоритм находит k обучающих примеров, самых близких к новому объекту.
🔷 Новому объекту назначают иаиболее часто встречающийся класс среди k соседей.
Стоит отметить, что KNN можно довольно легко обобщить и на задачу регрессии. Например, можно брать среднее по k соседям.
#junior
🔥4👍3👏1🎉1
👩💻 Решение задачи на Python про сумму диагоналей матрицы
Задача: Дана матрица mat. Напишите функцию, которая возвращает сумму элементов диагоналей матрицы.
Первым делом следует уточнить у интервьюера, какие есть ограничения. Например, он сказал, что на вход мы получаем только квадратную матрицу, элементы на пересечении диагоналей считаются только один раз, элементы могут принимать значения от 1 до 100.
Тогда решение может выглядеть так:
🧩 Мы будем проходиться в цикле и сразу прибавлять к результату значения матрицы по индексам i (
Это будет решение за O(n), так как мы один раз проходимся в цикле по элементам матрицы.
#junior
#middle
Задача: Дана матрица mat. Напишите функцию, которая возвращает сумму элементов диагоналей матрицы.
Первым делом следует уточнить у интервьюера, какие есть ограничения. Например, он сказал, что на вход мы получаем только квадратную матрицу, элементы на пересечении диагоналей считаются только один раз, элементы могут принимать значения от 1 до 100.
Тогда решение может выглядеть так:
🧩 Мы будем проходиться в цикле и сразу прибавлять к результату значения матрицы по индексам i (
mat[i][i]
). Дальше будем смотреть: если i не равно n-i-1, где n — размер матрицы, значит мы прибавляем к результату mat[i][n-i-1]
. Эта проверка позволит нам избежать повторного прибавления к сумме элементов, которые стоят на пересечении диагоналей. Это будет решение за O(n), так как мы один раз проходимся в цикле по элементам матрицы.
#junior
#middle
👍12👏2❤1😢1
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
👍1
Объясните, как используется энтропия в процессе построения дерева решений? Что ещё может использоваться вместо энтропии?
Энтропия измеряет непредсказуемость реализации случайной величины, или иными словами неопределённость в данных.
🌲 В контексте построения дерева-классификатора объекты — это случайные величины, которые могут принимать значение либо первого, либо второго класса. Если случайная величина принимает только одно значение, то она абсолютно предсказуема, и энтропия равна нулю. Если энтропия близка к единице, это значит, что случайная величина непредсказуема.
При построении дерева мы стремимся разбить объекты так, чтобы с получившимися группами энтропия была минимальной. Пример:
🟡 Допустим, у нас есть по 25 точек каждого класса — всего 50. Сначала мы выбираем разбиение, например, по X <= 5. Тогда в левую часть попадают 25 точек класса 0 и 12 точек класса 1, а в правую — ноль точек класса 0 и 13 точек класса 1. Энтропия левой группы равна 0.9, а правой — нулю. Это логично, ведь в правой группе все объекты принадлежат только одному классу, неопределённости нет.
🟡 Мы сделаем ещё несколько разбиений и выберем из них то, которое радикальнее всего уменьшит общую неопределённость системы.
🌲 Помимо энтропии можно использовать критерий Джини. Он представляет собой вероятность того, что случайно выбранный объект из набора будет неправильно классифицирован, если его случайно пометить согласно распределению меток в подвыборке.
#junior
#middle
Энтропия измеряет непредсказуемость реализации случайной величины, или иными словами неопределённость в данных.
🌲 В контексте построения дерева-классификатора объекты — это случайные величины, которые могут принимать значение либо первого, либо второго класса. Если случайная величина принимает только одно значение, то она абсолютно предсказуема, и энтропия равна нулю. Если энтропия близка к единице, это значит, что случайная величина непредсказуема.
При построении дерева мы стремимся разбить объекты так, чтобы с получившимися группами энтропия была минимальной. Пример:
🟡 Допустим, у нас есть по 25 точек каждого класса — всего 50. Сначала мы выбираем разбиение, например, по X <= 5. Тогда в левую часть попадают 25 точек класса 0 и 12 точек класса 1, а в правую — ноль точек класса 0 и 13 точек класса 1. Энтропия левой группы равна 0.9, а правой — нулю. Это логично, ведь в правой группе все объекты принадлежат только одному классу, неопределённости нет.
🟡 Мы сделаем ещё несколько разбиений и выберем из них то, которое радикальнее всего уменьшит общую неопределённость системы.
🌲 Помимо энтропии можно использовать критерий Джини. Он представляет собой вероятность того, что случайно выбранный объект из набора будет неправильно классифицирован, если его случайно пометить согласно распределению меток в подвыборке.
#junior
#middle
🔥7👍6❤1💯1
🔥 -50% на курс по математике + курс по machine learning в подарок
😲 В честь черной пятницы курс «Математика для Data Science» со скидкой 50%!
14 990 рублей29 990 рублей до 30 ноября
🐣 На курсе вы получите все необходимые знания для старта карьеры в DS или аналитике.
Что еще вас ждет на курсе:
▪️ Полугодовая программа от преподавателей ВМК МГУ;
▪️ Бессрочный доступ ко всем материалам курса;
▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
🎁 Но это еще не все!
⚡️При покупке курса по математике, вы получите курс по machine learning в подарок!
👉 Переходите на сайт и изучайте подробности – https://proglib.io/w/ca575581
До встречи на обучении 🙌
😲 В честь черной пятницы курс «Математика для Data Science» со скидкой 50%!
14 990 рублей
🐣 На курсе вы получите все необходимые знания для старта карьеры в DS или аналитике.
Что еще вас ждет на курсе:
▪️ Полугодовая программа от преподавателей ВМК МГУ;
▪️ Бессрочный доступ ко всем материалам курса;
▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
🎁 Но это еще не все!
⚡️При покупке курса по математике, вы получите курс по machine learning в подарок!
👉 Переходите на сайт и изучайте подробности – https://proglib.io/w/ca575581
До встречи на обучении 🙌
В чём разница между L1- и L2-регуляризациями?
Обе техники используются, чтобы предотвратить переобучение модели.
🔷 L1-регуляризация добавляет к функции потерь штраф, пропорциональный абсолютному значению весов, а L2-регуляризация — штраф, пропорциональный квадрату величины весов.
🔷 L1-регуляризация может обнулять некоторые веса. L2-регуляризация обычно так не делает, но приближает веса к нулю, что уменьшает влияние отдельных признаков на результат.
#junior
#middle
Обе техники используются, чтобы предотвратить переобучение модели.
🔷 L1-регуляризация добавляет к функции потерь штраф, пропорциональный абсолютному значению весов, а L2-регуляризация — штраф, пропорциональный квадрату величины весов.
🔷 L1-регуляризация может обнулять некоторые веса. L2-регуляризация обычно так не делает, но приближает веса к нулю, что уменьшает влияние отдельных признаков на результат.
#junior
#middle
👍8🔥1
Чем различаются стекинг (Stacking) и блендинг (Blending)?
▪️Стекинг — это способ построения ансамблей, при котором результаты базовых алгоритмов объединяются в один с помощью обучаемой мета-модели.
Например, мы делим тренировочную выборку на n частей (фолдов). Затем на каждом шаге мы обучаем базовые алгоритмы на n — 1 фолдах и используем последний оставшийся фолд для предсказания (вычисления мета-признаков). На полученных мета-признаках обучается мета-модель. Описанный нами метод похож на кросс-валидацию.
▪️Блендинг — упрощённый подход. Мы просто делим тренировочную выборку на две непересекающиеся части. На первой учим базовые алгоритмы, на второй — делаем предсказания и далее строим мета-модель.
#junior
#middle
#junior
#middle
👍8
Как определить процент объяснённой дисперсии при использовании метода главных компонент (PCA)?
При PCA происходит расчёт ковариационной матрицы, а также её собственных значений и собственных векторов. После их нахождения собственные значения сортируются по убыванию, и соответствующие им собственные векторы формируют матрицу главных компонент. Нас интересует процент дисперсии, которую объясняют эти компоненты.
▪️Сначала нужно вычислить общую дисперсию. Это сумма всех собственных значений.
▪️Процент объяснённой дисперсии для каждой компоненты рассчитывается как отношение собственного значения этой компоненты к полученной сумме. Затем результат умножается на 100, чтобы получить процент.
▪️Чтобы оценить объясняющий вклад k первых компонент, можно суммировать их индивидуальные проценты объяснённой дисперсии.
Также мы можем вычислить процент потерянной дисперсии, если просто вычтем из 100 процент объяснённой.
#middle
#senior
При PCA происходит расчёт ковариационной матрицы, а также её собственных значений и собственных векторов. После их нахождения собственные значения сортируются по убыванию, и соответствующие им собственные векторы формируют матрицу главных компонент. Нас интересует процент дисперсии, которую объясняют эти компоненты.
▪️Сначала нужно вычислить общую дисперсию. Это сумма всех собственных значений.
▪️Процент объяснённой дисперсии для каждой компоненты рассчитывается как отношение собственного значения этой компоненты к полученной сумме. Затем результат умножается на 100, чтобы получить процент.
▪️Чтобы оценить объясняющий вклад k первых компонент, можно суммировать их индивидуальные проценты объяснённой дисперсии.
Также мы можем вычислить процент потерянной дисперсии, если просто вычтем из 100 процент объяснённой.
#middle
#senior
🔥9
🔮Что такое проклятие размерности и как с ним справиться?
Проблема в том, что в высокоразмерных пространствах данные становятся очень разреженными. Вот пример:
🟣 Допустим, мы используем метод ближайших соседей для задачи классификации. Чтобы алгоритм хорошо работал, объекты должны быть расположены достаточно плотно в пространстве признаков. Так, в единичном интервале [0,1] ста равномерно разбросанных точек будет достаточно, чтобы покрыть этот интервал с частотой не менее 0.01. Однако если мы возьмём 10-мерный куб, то для той же степени покрытия потребуется уже 10^{20} точек.
Если данные будут сильно разбросаны в многомерном пространстве, то вероятность переобучения увеличивается. В общем, большое количество признаков требует всё более объёмных наборов данных.
Что можно с этим сделать:
✔️провести отбор признаков;
✔️снизить размерность данных с помощью метода главных компонент (PCA).
Проблема в том, что в высокоразмерных пространствах данные становятся очень разреженными. Вот пример:
🟣 Допустим, мы используем метод ближайших соседей для задачи классификации. Чтобы алгоритм хорошо работал, объекты должны быть расположены достаточно плотно в пространстве признаков. Так, в единичном интервале [0,1] ста равномерно разбросанных точек будет достаточно, чтобы покрыть этот интервал с частотой не менее 0.01. Однако если мы возьмём 10-мерный куб, то для той же степени покрытия потребуется уже 10^{20} точек.
Если данные будут сильно разбросаны в многомерном пространстве, то вероятность переобучения увеличивается. В общем, большое количество признаков требует всё более объёмных наборов данных.
Что можно с этим сделать:
✔️провести отбор признаков;
✔️снизить размерность данных с помощью метода главных компонент (PCA).
👍14
🧑💻 Решение задачи про поиск повторяющихся элементов в массиве
Задача: Дан массив с целыми числами длины n, все элементы которого лежат в диапазоне [1, n]. Каждый элемент появляется в массиве либо единожды, либо дважды. Требуется найти все числа, которые появляются дважды. Алгоритм должен работать за O(n).
Решение 1:
Довольно очевидный способ с использованием множеств. Создаём два множества, проходимся в цикле по массиву и проверяем, если элемент уже есть в первом множестве, то добавляем его в результирующее множество. Возвращаем результирующее множество.
Решение 2 (быстрее и использует меньше памяти):
Используем тот факт, что все числа массива находятся в диапазоне от 1 до n. Создаём результирующий список и идём в цикле по массиву. Вычисляем на основе каждого элемента index, а затем берём элемент массива по этому индексу. Если элемент по индексу неотрицательный, то заменяем его отрицательным. Если отрицательный, то добавляем изначальный элемент в результирующий список.
#junior
#middle
Задача: Дан массив с целыми числами длины n, все элементы которого лежат в диапазоне [1, n]. Каждый элемент появляется в массиве либо единожды, либо дважды. Требуется найти все числа, которые появляются дважды. Алгоритм должен работать за O(n).
Решение 1:
Довольно очевидный способ с использованием множеств. Создаём два множества, проходимся в цикле по массиву и проверяем, если элемент уже есть в первом множестве, то добавляем его в результирующее множество. Возвращаем результирующее множество.
Решение 2 (быстрее и использует меньше памяти):
Используем тот факт, что все числа массива находятся в диапазоне от 1 до n. Создаём результирующий список и идём в цикле по массиву. Вычисляем на основе каждого элемента index, а затем берём элемент массива по этому индексу. Если элемент по индексу неотрицательный, то заменяем его отрицательным. Если отрицательный, то добавляем изначальный элемент в результирующий список.
#junior
#middle
🔥7❤1
Что такое закон больших чисел и как его используют в Data Science?
Этот закон гласит, что по мере увеличения числа испытаний в случайном эксперименте среднее значение полученных результатов приближается к ожидаемому значению. В статистике он используется для описания взаимосвязи между размером выборки и точностью статистических оценок.
🔢 В Data Science закон больших чисел может использоваться в таких областях, как прогностическое моделирование, оценка рисков и контроль качества. Он помогает гарантировать, что среднее значение результатов большого числа независимых испытаний будет сходиться к ожидаемому значению. Это обеспечивает основу для статистического вывода и проверки гипотез.
Закон больших чисел также подводит к центральной предельной теореме. Она утверждает, что при больших размерах выборок распределение средних этих выборок будет приближаться к нормальному распределению, независимо от формы исходного распределения генеральной совокупности.
#junior
#middle
Этот закон гласит, что по мере увеличения числа испытаний в случайном эксперименте среднее значение полученных результатов приближается к ожидаемому значению. В статистике он используется для описания взаимосвязи между размером выборки и точностью статистических оценок.
🔢 В Data Science закон больших чисел может использоваться в таких областях, как прогностическое моделирование, оценка рисков и контроль качества. Он помогает гарантировать, что среднее значение результатов большого числа независимых испытаний будет сходиться к ожидаемому значению. Это обеспечивает основу для статистического вывода и проверки гипотез.
Закон больших чисел также подводит к центральной предельной теореме. Она утверждает, что при больших размерах выборок распределение средних этих выборок будет приближаться к нормальному распределению, независимо от формы исходного распределения генеральной совокупности.
#junior
#middle
👍14❤2
Зачем метрику качества регрессии возводить в квадрат?
Речь идёт о среднеквадратичной ошибке (Mean Squared Error, MSE). От средней абсолютной ошибки (Mean Absolute Error, MAE) она отличается тем, что в ней разница между предсказанным и истинным значением возводится в квадрат. Но зачем это нужно?
▪️MSE сильнее штрафует за большие ошибки. У этого есть как плюсы, так и минусы. Если мы действительно очень не хотим получать большие ошибки, то квадратичный штраф за них очень полезен. Но если в тестовых данных есть выбросы, то использовать MSE становится менее удобно.
#junior
#middle
Речь идёт о среднеквадратичной ошибке (Mean Squared Error, MSE). От средней абсолютной ошибки (Mean Absolute Error, MAE) она отличается тем, что в ней разница между предсказанным и истинным значением возводится в квадрат. Но зачем это нужно?
▪️MSE сильнее штрафует за большие ошибки. У этого есть как плюсы, так и минусы. Если мы действительно очень не хотим получать большие ошибки, то квадратичный штраф за них очень полезен. Но если в тестовых данных есть выбросы, то использовать MSE становится менее удобно.
#junior
#middle
👍6🥱2
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Как понять, что ваша модель столкнулась с проблемой взрывающихся градиентов?
Градиент — это вектор частных производных функции потерь по весам нейронной сети. В процессе обратного распространения ошибки в градиенте могут накапливаться большие значения. В итоге такие элементы градиента могут переполнить тип данных, в котором они хранятся. Это и называется взрывающимися градиентами (exploding gradients).
Вот признаки:
▪️Высокое значение функции потерь. Отражает неспособность модели обучиться на данных.
▪️Скачки значения функции потерь. Показывают, что модель нестабильна.
▪️Функция потерь во время обучения может принимать значение NaN.
Также на проблему взрывающихся градиентов могут указывать:
▫️Быстрый рост весов модели.
▫️Значения NaN у весов модели во время обучения.
#junior
#middle
Градиент — это вектор частных производных функции потерь по весам нейронной сети. В процессе обратного распространения ошибки в градиенте могут накапливаться большие значения. В итоге такие элементы градиента могут переполнить тип данных, в котором они хранятся. Это и называется взрывающимися градиентами (exploding gradients).
Вот признаки:
▪️Высокое значение функции потерь. Отражает неспособность модели обучиться на данных.
▪️Скачки значения функции потерь. Показывают, что модель нестабильна.
▪️Функция потерь во время обучения может принимать значение NaN.
Также на проблему взрывающихся градиентов могут указывать:
▫️Быстрый рост весов модели.
▫️Значения NaN у весов модели во время обучения.
#junior
#middle
🎉4
Знаете ли вы про PR-кривую? Где она применяется?
PR-кривая расшифровывается как Precision-Recall кривая. Может напомнить ROC-AUC, и в некоторых случаях заменяет именно её.
Дело в том, что если положительный класс существенно меньше по размеру, то ROC-AUC не позволит адекватно оценить качество алгоритма, так как измеряет долю неверно принятых объектов относительно общего числа отрицательных.
Чтобы избежать этого, можно воспользоваться PR-кривой, которая строится в осях Precision и Recall.
#junior
#middle
PR-кривая расшифровывается как Precision-Recall кривая. Может напомнить ROC-AUC, и в некоторых случаях заменяет именно её.
Дело в том, что если положительный класс существенно меньше по размеру, то ROC-AUC не позволит адекватно оценить качество алгоритма, так как измеряет долю неверно принятых объектов относительно общего числа отрицательных.
Чтобы избежать этого, можно воспользоваться PR-кривой, которая строится в осях Precision и Recall.
#junior
#middle
❤3🥰2👍1
Как проводится кросс-валидация?
Кросс-валидация используется при обучении модели как альтернатива стандартному разбиению выборки на тренировочную и тестовую части.
При кросс-валидации мы:
▪️ делим выборку на k частей, или фолдов (обычно 3, 5, 10);
▪️ производим k итераций, при которых обучаем модель на k−1 частях выборки и тестируем её на оставшейся части.
Таким образом, каждая из k частей единожды используется для тестирования. После каждой итерации рассчитывается метрика производительности. После завершения всех k итераций, среднее значение этих метрик используется для оценки общей производительности модели.
#junior
#middle
Кросс-валидация используется при обучении модели как альтернатива стандартному разбиению выборки на тренировочную и тестовую части.
При кросс-валидации мы:
▪️ делим выборку на k частей, или фолдов (обычно 3, 5, 10);
▪️ производим k итераций, при которых обучаем модель на k−1 частях выборки и тестируем её на оставшейся части.
Таким образом, каждая из k частей единожды используется для тестирования. После каждой итерации рассчитывается метрика производительности. После завершения всех k итераций, среднее значение этих метрик используется для оценки общей производительности модели.
#junior
#middle
👍11😱1
Как выбрать k для кросс-валидации?
Выбор k для кросс-валидации зависит от размера и природы ваших данных. Есть несколько рекомендаций:
▪️Для больших наборов данных часто используют меньшие значения k, чтобы сбалансировать точность оценки и вычислительные затраты.
▪️В целом, если ресурсы ограничены, стоит выбрать меньшее k.
▪️Максимальное значение k может быть равным размеру выборки, n. Тогда мы получаем метод leave-one-out (LOO), при котором каждый фолд состоит ровно из одного образца. Хорош для случаев, когда у нас очень мало данных и мы хотим использовать максимальное их количество для обучения модели.
▪️Также можно использовать stratified k-Fold. В этом случае каждый фолд имеет примерно такое же соотношение классов, как и всё исходное множество. Это может пригодиться, если данные несбалансированные.
#junior
#middle
Выбор k для кросс-валидации зависит от размера и природы ваших данных. Есть несколько рекомендаций:
▪️Для больших наборов данных часто используют меньшие значения k, чтобы сбалансировать точность оценки и вычислительные затраты.
▪️В целом, если ресурсы ограничены, стоит выбрать меньшее k.
▪️Максимальное значение k может быть равным размеру выборки, n. Тогда мы получаем метод leave-one-out (LOO), при котором каждый фолд состоит ровно из одного образца. Хорош для случаев, когда у нас очень мало данных и мы хотим использовать максимальное их количество для обучения модели.
▪️Также можно использовать stratified k-Fold. В этом случае каждый фолд имеет примерно такое же соотношение классов, как и всё исходное множество. Это может пригодиться, если данные несбалансированные.
#junior
#middle
👍5