Telegram Web Link
Как предотвратить застревание градиентного спуска в локальных минимумах?

✔️Использование техник инициализации (например, Xavier / Glorot). Помогает установить подходящие начальные веса для процесса оптимизации.
✔️Использование оптимизаторов типа Adam или RMSProp, которые адаптируют скорость обучения для отдельных параметров.
✔️Введение случайности в процесс оптимизации, благодаря применению мини-батчей. Это помогает алгоритму выйти из локальных минимумов, добавляя шум к оценкам градиента.
✔️Добавление большего количества слоёв или нейронов.
✔️Подбор гиперпараметров с использованием методов случайного поиска и grid search.

#junior
#middle
В чём заключается разница между генеративными и дискриминативными моделями?

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


❤️ Генеративные модели

Их цель — моделировать совместное распределение вероятностей P(X, Y) входных данных X и целевой переменной Y. Они часто используется для задач, связанных с генерацией изображений и текста. Примеры: вариационные автоэнкодеры (VAE), генеративно-состязательные сети (GAN).

❤️ Дискриминативные модели

Их цель — моделировать условное распределение вероятностей P(Y | X) целевой переменной Y при заданном входе X. Используются для классификации или прогнозирования на основе входных данных. Примеры: логистическая регрессия, свёрточные нейронные сети (CNN) для классификации изображений.


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

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

👉Подписаться👈
Что вы знаете про использование марковских цепей в анализе последовательностей?

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

Также применяются скрытые Марковские модели. Они представляют из себя марковские цепи, для которых нам известны начальная вероятность и матрица вероятностей переходов. Скрытыми модели называется потому, что мы не имеем информации о текущем состоянии в них.

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

#middle
Что за алгоритм DBSCAN и как его использовать?

Density-Based Spatial Clustering of Applications with Noise (DBSCAN) — это алгоритм кластеризации данных. В его основе лежит понятие плотности; кластеры определяются как области высокой плотности, разделённые областями низкой плотности.

✔️Для использования DBSCAN нужно определить два ключевых параметра: eps (радиус поиска соседей для каждой точки) и min_samples (минимальное количество точек, необходимое для формирования плотного региона). Алгоритм находит некоторую центральную точку кластера. Таковой она считается, если содержит более min_samples в радиусе eps. После того как центральная точка кластера определена, алгоритм включает в список обхода все доступные для неё точки в пределах eps. Процесс повторяется. По сути, алгоритм пытается расширить кластер. Если точка не достигает порога min_samples, она помечается как шум.

DBSCAN эффективен для данных с кластерами неправильной формы и хорошо справляется с выбросами.

#junior
#middle
В чём разница между ошибкой первого рода и ошибкой второго рода?

Это два основных типа ошибок в статистических тестах, и они связаны с процессом проверки гипотез.

▪️Ошибка первого рода (α или ошибка типа I). Эта ошибка происходит, когда нулевая гипотеза отвергается, хотя на самом деле она верна. Например, когда медицинский тест ошибочно показывает наличие заболевания у здорового человека. Уровень значимости (α) — это вероятность совершения ошибки первого рода.

▪️Ошибка второго рода (β или ошибка типа II). Эта ошибка возникает, когда нулевая гипотеза принимается, хотя на самом деле она неверна. Например, когда медицинский тест не обнаруживает заболевание, которое на самом деле присутствует у пациента. Статистическая мощность (1-β) — это вероятность правильно отвергнуть неверную нулевую гипотезу.

Так, ошибка первого рода представляет собой ложноположительный результат, а ошибка второго рода — ложноотрицательный результат.


#статистика
Объясните разницу между AdaBoost и XGBoost

Оба метода объединяют слабые модели в одну сильную модель. И AdaBoost, и XGBoost в процессе обучения будут увеличивать ансамбль, добавляя в него новые слабые модели на каждой итерации. Разница между методами заключается в том, как расширяется ансамбль.


▪️AdaBoost изначально присваивает одинаковый вес каждому набору данных. Затем он корректирует веса точек выборки после каждого шага. Элементы, которые были классифицированы неверно, приобретают больший вес в следующей итерации.
▪️XGBoost использует градиентный бустинг, который оптимизирует произвольную дифференцируемую функцию потерь. То есть алгоритм строит первое дерево с некоторой ошибкой прогнозирования. Затем добавляются последующие деревья для исправления ошибок предыдущих. XGBoost имеет встроенные механизмы для регуляризации.

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

#машинное_обучение
Как на коэффициенты логистической регрессии повлияет тот факт, что два предиктора сильно коррелируют?

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

▫️Нестабильность коэффициентов регрессии. Это означает, что небольшие изменения в данных могут привести к значительным изменениям в оценках.
▫️Коэффициенты становятся менее надёжными для интерпретации и предсказания.

Например, если обучить модель, используя сильно коррелированные признаки, не все знаки коэффициентов будут соответствовать бизнес-логике. Так, уменьшение значения признака «остаток долга / сумма выдачи» должно приводить к уменьшению вероятности дефолта. Но из-за мультиколлинеарности коэффициент сменил знак на противоположный, и признак стал говорить об обратном: чем меньше остаётся платить, тем больше вероятность дефолта.

#машинное_обучение
Как сделать модель более устойчивой к выбросам?

Здесь можно подойти с двух сторон: преобразовать данные или особым образом построить модель.

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

Ещё один способ уменьшения влияния выбросов — использование средней абсолютной ошибки вместо среднеквадратичной ошибки. Что касается моделей, то устойчивыми к выбросам можно считать деревья решений.

#машинное_обучение
#статистика
Что такое ковариация и как она связана с корреляцией?

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

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

#статистика
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

💼Каналы с вакансиями

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
Что вы знаете про наивный байесовский классификатор?

Наивный байесовский классификатор использует теорему Байеса для вычисления вероятности того, что какой-то элемент принадлежит определённому классу, исходя из вероятностей его признаков. Алгоритм называют «наивным», потому что он строится на предположении, что все признаки объектов каждого класса — независимые случайные величины.

Преимущества наивного байесовского классификатора включают простоту реализации и высокую скорость обучения.

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

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

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

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

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

Стоит учитывать, что при применении «мешка слов» представление данных может быть довольно разреженным и высокоразмерным: создаётся множество столбцов. В этой ситуации логистическая регрессия может быть лучшим выбором, особенно если нужна модель, которая быстро обучается и легко интерпретируется. Как минимум, её можно использовать в качестве базовой модели (baseline) — это будет неплохой отправной точкой.

#машинное_обучение
#NLP
🐍Решение задачи на Python «сумма двух» (Two sum)

Вам даны массив и число N. Нужно вернуть True, если в массиве есть такие два числа A и B, что их сумма A + B даёт N. В противном случае нужно вернуть False.
Примеры:
[1, 2, 3, 4], 5 ⇒ True
[3, 4, 6], 6 ⇒
False


✔️Можно, конечно, применить брутфорс, но есть решение получше. Его сложность составит O(n). Вот как оно выглядит:


def two_sum(numbers, target):
index = {num: i for (i, num) in enumerate(numbers)}

n = len(numbers)

for i in range(n):
a = numbers[i]
b = target - a

if b in index:
j = index[b]
if i != j:
return True

return False


Здесь сначала создаётся словарь index, который хранит числа из массива в качестве ключей и их индексы в массиве в качестве значений. Затем идёт перебор элементов массива. Для каждого элемента a вычисляется число b, которое необходимо для достижения суммы target. Далее проверяется, содержится ли b в словаре index. Если да, то дополнительно проверяется, не совпадает ли индекс текущего элемента a с индексом элемента b. Если индексы различны, это означает, что была найдена пара чисел, сумма которых равна target.

#алгоритмы
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие существуют методы улучшения простого градиентного бустинга?

✔️Усечение деревьев.
Можно обрезать деревья до определённой глубины или ограничить количество листьев, чтобы контролировать сложность модели и уменьшить переобучение.
✔️Использование регуляризации.
Добавление регуляризации (например, L1 или L2) также помогает снизить риск переобучения.
✔️Введение темпа обучения (learning rate).
Присутствие этого параметра означает, что каждый базовый алгоритм вносит относительно небольшой вклад во всю композицию. Это тоже помогает бороться с переобучением.
✔️Применение стохастического градиентного бустинга.
Это, по сути, внесение рандомизации в процесс обучения базовых алгоритмов. Они обучаются не по всей выборке, а лишь по её случайному подмножеству.

#машинное_обучение
Что такое дистилляция модели (Knowledge Distillation)?

Это метод, который позволяет малой модели имитировать поведение большой модели. Чаще всего используется в NLP и компьютерном зрении. Позволяет снизить требования к вычислительным ресурсам при инференсе моделей без существенной потери качества.

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

Подробнее можно прочитать здесь

#NLP
#глубокое_обучение
Чем LSTM отличается от традиционной RNN?

▫️Рекуррентные нейронные сети (recurrent networks, RNN) были придуманы для работы с последовательностями данных, такими как текст или временные ряды. Чтобы сеть могла хранить информацию о предыдущих токенах, было введено понятие внутренней памяти или скрытого состояния (hidden state). В простейшем случае оно выражается одним вектором фиксированной размерности. На каждом шаге в сеть подаются данные, при этом происходит обновление скрытого состояния. После этого по скрытому состоянию предсказывается выходной сигнал.
✍️ Традиционные RNN страдают от проблемы исчезающего градиента, когда в процессе обратного распространения ошибки градиенты становятся настолько малыми, что обучение становится очень неэффективным для длинных последовательностей.
▫️Сети с долговременной и кратковременной памятью (Long short term memory, LSTM) были созданы для решения вышеозначенной проблемы. Все рекуррентные сети можно представить в виде цепочки из повторяющихся блоков. В RNN таким блоком обычно является один линейный слой с гиперболическим тангенсом в качестве функции активации. В LSTM повторяющийся блок имеет более сложную структуру, состоящую не из одного, а из четырёх компонентов. Кроме скрытого состояния, в LSTM появляется понятие состояния блока (cell state). Hidden state же теперь передаётся наружу (не только в следующий блок, но и на следующий слой или выход всей сети). Также LSTM может добавлять или удалять определённую информацию из cell state с помощью специальных механизмов, которые называются gates.

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

#глубокое_обучение
Как может переобучиться SVM?

Идея метода опорных векторов (support vector machine, SVM) заключается в построении гиперплоскости, разделяющей объекты выборки оптимальным способом. Модель строится в предположении, что чем больше расстояние (зазор) между разделяющей гиперплоскостью и объектами разделяемых классов, тем меньше будет средняя ошибка классификатора.

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

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

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

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

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

👉Подписаться👈
2024/09/30 14:19:45
Back to Top
HTML Embed Code: