Перейти к содержимому
На этой странице

Снижение размерности и метрическое обучение

Все темы Data Scientist

Подтемы:

Какие существуют методы сокращения размерности?

Существует несколько методов сокращения размерности данных:

  1. Метод главных компонент (Principal Component Analysis, PCA): Это метод линейного преобразования, который находит новые оси (главные компоненты), обеспечивающие максимальную дисперсию данных. PCA используется для проекции данных на пространство меньшей размерности, сохраняя при этом максимальное количество информации.

  2. Метод t-распределенного стохастического вложения соседей

    (t-distributed Stochastic Neighbor Embedding, t-SNE)

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

  3. Автоэнкодеры (Autoencoders): Это нейронные сети, обучаемые реконструировать входные данные в пространстве более низкой размерности. После обучения автоэнкодеры могут использоваться для сжатия и восстановления данных.

  4. Снижение размерности на основе отбора признаков (Feature Selection): Это методы, направленные на выбор подмножества наиболее информативных признаков из исходных данных, таких как методы отбора признаков на основе важности, статистических тестов или регуляризации.

  5. Снижение размерности на основе методов уменьшения образов (Manifold Learning): Это методы, которые стремятся найти низкоразмерное представление данных, сохраняя их внутреннюю структуру и связи между объектами.


Опишите метод главных компонент (PCA).

Метод главных компонент (PCA) - это метод линейного преобразования данных, который находит новые базисные векторы (главные компоненты), обеспечивающие максимальную дисперсию данных. Эти главные компоненты ортогональны друг другу и представляют собой новое пространство признаков, в котором данные максимально различимы. PCA используется для снижения размерности данных, проецируя их на подпространство меньшей размерности, при этом сохраняя как можно больше исходной информации. Ключевая идея PCA заключается в том, чтобы найти такие направления в пространстве признаков, вдоль которых изменение данных наиболее значительно, и использовать их в качестве нового базиса для описания данных.


Как по explained variance оценить потерю информации после PCA?

Для PCA доля дисперсии компоненты равна ее собственному значению, деленному на сумму собственных значений. Сумма explained_variance_ratio_ первых k компонент показывает сохраненную долю, а 1 - cumulative_ratio дает потерянную. Например, 0,92 означает около 8% потерянной общей дисперсии. Это не равно потере полезной для таргета информации. Признаки обычно стандартизируют, если их масштабы несопоставимы, иначе признаки с большой дисперсией будут доминировать.


Что такое SVD?

SVD (Singular Value Decomposition) - это метод разложения матрицы на произведение трех матриц: UU, Σ\Sigma, и VTV^T.

  • UU и VV - ортогональные матрицы, состоящие из левых и правых сингулярных векторов соответственно.

  • Σ\Sigma - диагональная матрица, содержащая сингулярные значения.

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


Как обучают модель с triplet loss?

Обучение троек (треплетов) - это метод обучения нейронных сетей для задачи сравнения, например, в задачах ранжирования или распознавания лиц. Каждая тройка состоит из якорного изображения, положительного примера (изображения того же класса) и отрицательного примера (изображения другого класса).

Triplet loss штрафует модель, если расстояние от anchor до negative недостаточно больше расстояния до positive: loss = max(d(anchor, positive) - d(anchor, negative) + margin, 0). Нулевая потеря достигается, когда negative дальше positive как минимум на margin.

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


Разница между триплетом и контрастив лосс?

Между двумя этими лоссами, есть основная разница:

  • Triplet Loss минимизирует расстояние между “позитивными” парами (правильные примеры) и увеличивает расстояние между “негативными” парами (неправильные примеры) с использованием трёх элементов: анкора, положительного и отрицательного примера.

  • Contrastive Loss минимизирует расстояние между парой похожих примеров и увеличивает между непохожими, обычно в задачах бинарной классификации пар примеров.

Собеседования: Data Science

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

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

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: Data Scientist, ML-инженер. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.