Снижение размерности и метрическое обучение
Подтемы:
Какие существуют методы сокращения размерности?
Существует несколько методов сокращения размерности данных:
-
Метод главных компонент
(Principal Component Analysis, PCA): Это метод линейного преобразования, который находит новые оси (главные компоненты), обеспечивающие максимальную дисперсию данных. PCA используется для проекции данных на пространство меньшей размерности, сохраняя при этом максимальное количество информации. -
Метод t-распределенного стохастического вложения соседей
(t-distributed Stochastic Neighbor Embedding, t-SNE)
: Это метод нелинейного снижения размерности, который стремится сохранить локальные структуры данных, представляя их в пространстве меньшей размерности. Он часто используется для визуализации данных высокой размерности.
-
Автоэнкодеры
(Autoencoders): Это нейронные сети, обучаемые реконструировать входные данные в пространстве более низкой размерности. После обучения автоэнкодеры могут использоваться для сжатия и восстановления данных. -
Снижение размерности на основе отбора признаков
(Feature Selection): Это методы, направленные на выбор подмножества наиболее информативных признаков из исходных данных, таких как методы отбора признаков на основе важности, статистических тестов или регуляризации. -
Снижение размерности на основе методов уменьшения образов
(Manifold Learning): Это методы, которые стремятся найти низкоразмерное представление данных, сохраняя их внутреннюю структуру и связи между объектами.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Middle Data Scientist | Выпуск 1. Секция ML | Собеседование | karpov.courses · 55:50–57:35Мок-собеседование · Совместный разбор
Кандидат перечисляет PCA, проекции и карты Кохонена как методы снижения размерности.
Опишите метод главных компонент (PCA).
Метод главных компонент (PCA) - это метод линейного преобразования данных, который находит новые базисные векторы (главные компоненты), обеспечивающие максимальную дисперсию данных. Эти главные компоненты ортогональны друг другу и представляют собой новое пространство признаков, в котором данные максимально различимы. PCA используется для снижения размерности данных, проецируя их на подпространство меньшей размерности, при этом сохраняя как можно больше исходной информации. Ключевая идея PCA заключается в том, чтобы найти такие направления в пространстве признаков, вдоль которых изменение данных наиболее значительно, и использовать их в качестве нового базиса для описания данных.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- 100 Data Science вопросов мидлу! Парень c Физтеха проходит собеседование · 25:22–26:16Мок-собеседование · Совместный разбор
Кандидат объясняет PCA через decomposition, выбор первых компонент и retained explained variance.
Как по explained variance оценить потерю информации после PCA?
Для PCA доля дисперсии компоненты равна ее собственному значению, деленному на сумму собственных значений. Сумма explained_variance_ratio_ первых k компонент показывает сохраненную долю, а 1 - cumulative_ratio дает потерянную. Например, 0,92 означает около 8% потерянной общей дисперсии. Это не равно потере полезной для таргета информации. Признаки обычно стандартизируют, если их масштабы несопоставимы, иначе признаки с большой дисперсией будут доминировать.
Ссылки для изучения
Что такое SVD?
SVD (Singular Value Decomposition) - это метод разложения матрицы на произведение трех матриц: , , и .
-
и - ортогональные матрицы, состоящие из левых и правых сингулярных векторов соответственно.
-
- диагональная матрица, содержащая сингулярные значения.
SVD используется для анализа и сжатия данных, а также для решения
систем линейных уравнений, сжатия изображений, фильтрации шума, рекомендательных
систем и других задач. Он также часто используется в алгоритмах машинного
обучения, таких как метод главных компонент (PCA).
Ссылки для изучения
Как обучают модель с triplet loss?
Обучение троек (треплетов) - это метод обучения нейронных сетей для задачи сравнения, например, в задачах ранжирования или распознавания лиц. Каждая тройка состоит из якорного изображения, положительного примера (изображения того же класса) и отрицательного примера (изображения другого класса).
Triplet loss штрафует модель, если расстояние от anchor до negative недостаточно больше расстояния до positive: loss = max(d(anchor, positive) - d(anchor, negative) + margin, 0). Нулевая потеря достигается, когда negative дальше positive как минимум на margin.
Во время обучения модель принимает на вход тройки изображений и минимизирует функцию потерь, используя методы оптимизации, такие как стохастический градиентный спуск или его варианты. Это позволяет модели эффективно изучать признаки, которые характеризуют сходство или различие между изображениями.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Стать ML/AI инженером с зп 5000$ / Как пройти собеседование без опыта · 58:01–58:25Разбор интервью · Ответ кандидата
Кандидат объясняет triplet loss через запрос и два документа: релевантный embedding приближают к запросу, нерелевантный отдаляют.
Разница между триплетом и контрастив лосс?
Между двумя этими лоссами, есть основная разница:
-
Triplet Lossминимизирует расстояние между “позитивными” парами (правильные примеры) и увеличивает расстояние между “негативными” парами (неправильные примеры) с использованием трёх элементов: анкора, положительного и отрицательного примера. -
Contrastive Lossминимизирует расстояние между парой похожих примеров и увеличивает между непохожими, обычно в задачах бинарной классификации пар примеров.
Ссылки для изучения







