Что такое линейный дискриминантный анализ (LDA)?
Это статистический метод, используемый для классификации. Основная цель LDA — найти линейную комбинацию признаков, которая лучше всего разделяет пространство объектов на необходимое число классов.
Для LDA делаются некоторые ключевые предположения о данных: нормальное распределение признаков в каждом классе, однородность ковариационных матриц, независимость признаков.
Для нахождения гиперплоскости, которая оптимально делит пространство объектов, решается вспомогательная задача. Нужно найти ось, проекция на которую максимизирует отношение общей дисперсии выборки к сумме дисперсий внутри
отдельных классов. Результатом работы алгоритма будет вектор, который является нормалью к искомой гиперплоскости.
#junior
Это статистический метод, используемый для классификации. Основная цель LDA — найти линейную комбинацию признаков, которая лучше всего разделяет пространство объектов на необходимое число классов.
Для LDA делаются некоторые ключевые предположения о данных: нормальное распределение признаков в каждом классе, однородность ковариационных матриц, независимость признаков.
Для нахождения гиперплоскости, которая оптимально делит пространство объектов, решается вспомогательная задача. Нужно найти ось, проекция на которую максимизирует отношение общей дисперсии выборки к сумме дисперсий внутри
отдельных классов. Результатом работы алгоритма будет вектор, который является нормалью к искомой гиперплоскости.
#junior
❤15
Зачем может понадобиться преобразование Бокса-Кокса?
Преобразование Бокса-Кокса — это метод трансформации данных. Применяется, когда переменные имеют явно выраженные асимметричные распределения. Метод помогает приблизить распределение к виду нормального, а это является важным условием для некоторых статистических тестов.
Для решения задачи нужно найти оптимальное значение λ, чтобы преобразованные данные были как можно ближе к нормальному распределению.
Можно пользоваться, например, методом boxcox из модуля scipy.stats.
#junior
#middle
Преобразование Бокса-Кокса — это метод трансформации данных. Применяется, когда переменные имеют явно выраженные асимметричные распределения. Метод помогает приблизить распределение к виду нормального, а это является важным условием для некоторых статистических тестов.
Для решения задачи нужно найти оптимальное значение λ, чтобы преобразованные данные были как можно ближе к нормальному распределению.
Можно пользоваться, например, методом boxcox из модуля scipy.stats.
#junior
#middle
👍14❤3
Объясните разницу между эпохой и итерацией в машинном обучении
Здесь также стоит ввести понятие «батч». Батч — это партия данных, величину которой вы определяете сами.
✔️Эпоха — это полный проход модели через весь обучающий набор данных, то есть через все батчи.
✔️ Итерация — это количество обновлений параметров модели. Это обычно происходит после обработки каждого батча.
Пример: можно разделить датасет из 2000 объектов на батчи размером 500 объектов. Тогда для завершения одной эпохи потребуется четыре итерации.
#junior
#middle
Здесь также стоит ввести понятие «батч». Батч — это партия данных, величину которой вы определяете сами.
✔️Эпоха — это полный проход модели через весь обучающий набор данных, то есть через все батчи.
✔️ Итерация — это количество обновлений параметров модели. Это обычно происходит после обработки каждого батча.
Пример: можно разделить датасет из 2000 объектов на батчи размером 500 объектов. Тогда для завершения одной эпохи потребуется четыре итерации.
#junior
#middle
👍17❤2
Что такое стемминг и лемматизация?
Это методики, которые используются при обработке текста в задачах NLP (обработки естественного языка).
Как правило, тексты содержат разные грамматические формы одного и того же слова. Для модели же важно рассматривать их как одно и то же слово. Для приведения словоформ к единой форме применяются стемминг и лемматизация.
▪️Стемминг — грубый процесс «обрезания» слов. Выполняется на основе эвристик, без учёта контекста, словарей и морфологии. Его проще внедрить и он работает быстрее.
▪️Лемматизация — более сложный и тонкий метод. Приводит слово к его начальной форме (лемме), используя морфологический анализ и знания об особенностях конкретного языка.
#junior
#middle
Это методики, которые используются при обработке текста в задачах NLP (обработки естественного языка).
Как правило, тексты содержат разные грамматические формы одного и того же слова. Для модели же важно рассматривать их как одно и то же слово. Для приведения словоформ к единой форме применяются стемминг и лемматизация.
▪️Стемминг — грубый процесс «обрезания» слов. Выполняется на основе эвристик, без учёта контекста, словарей и морфологии. Его проще внедрить и он работает быстрее.
▪️Лемматизация — более сложный и тонкий метод. Приводит слово к его начальной форме (лемме), используя морфологический анализ и знания об особенностях конкретного языка.
#junior
#middle
👍6
В чём разница между CHAR и VARCHAR в SQL?
CHAR и VARCHAR — это типы данных для хранения символьных строк.
✔️CHAR: предназначен для хранения строк фиксированной длины. Если помещаемая в него строка короче заявленной длины, то она дополняется пробелами. Например, если был определён столбец с типом CHAR(5), то при внесении в него строки «cat», она дополнится двумя пробелами в конце.
✔️VARCHAR предназначен для хранения строк переменной длины. Никакие пробелы не добавляются.
CHAR более эффективен для хранения и обработки строк, длина которых всегда одинакова. Он всегда использует столько памяти, сколько выделено для него.
#junior
#middle
CHAR и VARCHAR — это типы данных для хранения символьных строк.
✔️CHAR: предназначен для хранения строк фиксированной длины. Если помещаемая в него строка короче заявленной длины, то она дополняется пробелами. Например, если был определён столбец с типом CHAR(5), то при внесении в него строки «cat», она дополнится двумя пробелами в конце.
✔️VARCHAR предназначен для хранения строк переменной длины. Никакие пробелы не добавляются.
CHAR более эффективен для хранения и обработки строк, длина которых всегда одинакова. Он всегда использует столько памяти, сколько выделено для него.
#junior
#middle
❤9
В каких ситуациях лучше не применять обобщённые линейные модели (generalized linear models, GLM)?
К ним относятся, в частности, линейная и логистическая регрессии.
1️⃣ Если отношения между переменными сильно нелинейные. В таких случаях лучше рассмотреть другие модели, которые могут это учесть.
2️⃣ Обобщённые линейные модели в идеале предполагают соблюдение некоторых условий: нормальность остатков, гомоскедастичность и отсутствие мультиколлинеарности. В противном случае, результаты модели могут быть ненадёжными.
3️⃣ GLM могут быть чувствительны к выбросам или экстремальным значениям.
#junior
#middle
1️⃣ Если отношения между переменными сильно нелинейные. В таких случаях лучше рассмотреть другие модели, которые могут это учесть.
2️⃣ Обобщённые линейные модели в идеале предполагают соблюдение некоторых условий: нормальность остатков, гомоскедастичность и отсутствие мультиколлинеарности. В противном случае, результаты модели могут быть ненадёжными.
3️⃣ GLM могут быть чувствительны к выбросам или экстремальным значениям.
#junior
#middle
❤5👍1🔥1
Какие проблемы есть у рекуррентных нейронных сетей (RNN)?
RNN — это нейронные сети для работы с последовательностями (текстами, временными рядами). Они имеют механизм для запоминания предыдущих входных данных. Тем не менее они подвержены некоторым проблемам:
▪️Взрывающийся градиент.
Это ситуация, при которой градиент экспоненциально растёт вплоть до полной потери стабильности RNN. Если градиент становится бесконечно большим, нейросеть проявляет проблемы с производительностью.
▪️Исчезающий градиент.
Это ситуация, обратная предыдущей. В этом состоянии градиент приближается к нулю, что приводит к потере RNN способности эффективно обучаться по предложенным данным. Для рекуррентных нейронных сетей характерен высокий риск исчезающего или взрывающегося градиента при обработке длинных последовательностей данных.
▪️Медленное обучение.
В целом, для RNN требуются огромные вычислительные мощности, большой объём памяти и много времени, если речь идёт о значительном количестве текстов.
#junior
#middle
RNN — это нейронные сети для работы с последовательностями (текстами, временными рядами). Они имеют механизм для запоминания предыдущих входных данных. Тем не менее они подвержены некоторым проблемам:
▪️Взрывающийся градиент.
Это ситуация, при которой градиент экспоненциально растёт вплоть до полной потери стабильности RNN. Если градиент становится бесконечно большим, нейросеть проявляет проблемы с производительностью.
▪️Исчезающий градиент.
Это ситуация, обратная предыдущей. В этом состоянии градиент приближается к нулю, что приводит к потере RNN способности эффективно обучаться по предложенным данным. Для рекуррентных нейронных сетей характерен высокий риск исчезающего или взрывающегося градиента при обработке длинных последовательностей данных.
▪️Медленное обучение.
В целом, для RNN требуются огромные вычислительные мощности, большой объём памяти и много времени, если речь идёт о значительном количестве текстов.
#junior
#middle
👍4
Как предотвратить застревание градиентного спуска в локальных минимумах?
✔️Использование техник инициализации (например, Xavier / Glorot). Помогает установить подходящие начальные веса для процесса оптимизации.
✔️Использование оптимизаторов типа Adam или RMSProp, которые адаптируют скорость обучения для отдельных параметров.
✔️Введение случайности в процесс оптимизации, благодаря применению мини-батчей. Это помогает алгоритму выйти из локальных минимумов, добавляя шум к оценкам градиента.
✔️Добавление большего количества слоёв или нейронов.
✔️Подбор гиперпараметров с использованием методов случайного поиска и grid search.
#junior
#middle
✔️Использование техник инициализации (например, Xavier / Glorot). Помогает установить подходящие начальные веса для процесса оптимизации.
✔️Использование оптимизаторов типа Adam или RMSProp, которые адаптируют скорость обучения для отдельных параметров.
✔️Введение случайности в процесс оптимизации, благодаря применению мини-батчей. Это помогает алгоритму выйти из локальных минимумов, добавляя шум к оценкам градиента.
✔️Добавление большего количества слоёв или нейронов.
✔️Подбор гиперпараметров с использованием методов случайного поиска и grid search.
#junior
#middle
👍11❤1
В чём заключается разница между генеративными и дискриминативными моделями?
Генеративные модели фокусируются на создании новых образцов данных, а дискриминативные модели — на задачах классификации и прогнозирования на базе входных данных.
❤️ Генеративные модели
Их цель — моделировать совместное распределение вероятностей P(X, Y) входных данных X и целевой переменной Y. Они часто используется для задач, связанных с генерацией изображений и текста. Примеры: вариационные автоэнкодеры (VAE), генеративно-состязательные сети (GAN).
❤️ Дискриминативные модели
Их цель — моделировать условное распределение вероятностей P(Y | X) целевой переменной Y при заданном входе X. Используются для классификации или прогнозирования на основе входных данных. Примеры: логистическая регрессия, свёрточные нейронные сети (CNN) для классификации изображений.
#junior
#middle
Генеративные модели фокусируются на создании новых образцов данных, а дискриминативные модели — на задачах классификации и прогнозирования на базе входных данных.
❤️ Генеративные модели
Их цель — моделировать совместное распределение вероятностей P(X, Y) входных данных X и целевой переменной Y. Они часто используется для задач, связанных с генерацией изображений и текста. Примеры: вариационные автоэнкодеры (VAE), генеративно-состязательные сети (GAN).
❤️ Дискриминативные модели
Их цель — моделировать условное распределение вероятностей P(Y | X) целевой переменной Y при заданном входе X. Используются для классификации или прогнозирования на основе входных данных. Примеры: логистическая регрессия, свёрточные нейронные сети (CNN) для классификации изображений.
#junior
#middle
❤7👍2
Что за алгоритм DBSCAN и как его использовать?
Density-Based Spatial Clustering of Applications with Noise (DBSCAN) — это алгоритм кластеризации данных. В его основе лежит понятие плотности; кластеры определяются как области высокой плотности, разделённые областями низкой плотности.
✔️Для использования DBSCAN нужно определить два ключевых параметра: eps (радиус поиска соседей для каждой точки) и min_samples (минимальное количество точек, необходимое для формирования плотного региона). Алгоритм находит некоторую центральную точку кластера. Таковой она считается, если содержит более min_samples в радиусе eps. После того как центральная точка кластера определена, алгоритм включает в список обхода все доступные для неё точки в пределах eps. Процесс повторяется. По сути, алгоритм пытается расширить кластер. Если точка не достигает порога min_samples, она помечается как шум.
DBSCAN эффективен для данных с кластерами неправильной формы и хорошо справляется с выбросами.
#junior
#middle
Density-Based Spatial Clustering of Applications with Noise (DBSCAN) — это алгоритм кластеризации данных. В его основе лежит понятие плотности; кластеры определяются как области высокой плотности, разделённые областями низкой плотности.
✔️Для использования DBSCAN нужно определить два ключевых параметра: eps (радиус поиска соседей для каждой точки) и min_samples (минимальное количество точек, необходимое для формирования плотного региона). Алгоритм находит некоторую центральную точку кластера. Таковой она считается, если содержит более min_samples в радиусе eps. После того как центральная точка кластера определена, алгоритм включает в список обхода все доступные для неё точки в пределах eps. Процесс повторяется. По сути, алгоритм пытается расширить кластер. Если точка не достигает порога min_samples, она помечается как шум.
DBSCAN эффективен для данных с кластерами неправильной формы и хорошо справляется с выбросами.
#junior
#middle
🔥10❤2💯2🥰1