Целевой функцией анализа главных компонентов (PCA) является минимизация ошибки восстановления в норме L2 (см. Раздел 2.12 здесь . Другое представление пытается максимизировать дисперсию проекции. У нас также есть отличная статья здесь: Какова целевая функция PCA ? )
Мой вопрос заключается в том, что оптимизация PCA выпуклая? (Я нашел некоторые обсуждения здесь , но хотелось бы, чтобы кто-то мог предоставить хорошее доказательство здесь в резюме).
machine-learning
pca
optimization
convex
Хайтау Ду
источник
источник
Ответы:
Нет, обычные формулировки PCA не являются выпуклыми проблемами. Но они могут быть преобразованы в выпуклую задачу оптимизации.
Понимание и удовольствие от этого следуют и визуализируют последовательность преобразований, а не просто получают ответ: оно заключается в путешествии, а не в пункте назначения. Главные шаги в этом путешествии
Получите простое выражение для целевой функции.
Увеличить его область, которая не является выпуклой, в область, которая есть.
Измените невыпуклую цель на ту, которая явно не меняет точки, в которых она достигает своих оптимальных значений.
Если вы пристально наблюдаете, вы можете увидеть скрывающиеся множители SVD и Лагранжа - но это всего лишь второстепенное шоу, представляющее интерес для сценического интереса, и я не буду комментировать их дальше.
Стандартная максимизирующая дисперсию формулировка PCA (или, по крайней мере, ее ключевой шаг)
где матрица - это симметричная положительно-полуопределенная матрица, построенная из данных (обычно это сумма квадратов и матрицы произведений, ее ковариационная матрица или корреляционная матрица).n×n A
(Эквивалентно, мы можем попытаться максимизировать неограниченную цель . Мало того, что это более неприятное выражение - это больше не квадратичная функция - но графические особые случаи будут быстро покажем, что она также не является выпуклой функцией. Обычно можно заметить, что эта функция инвариантна относительно пересчетов а затем сводит ее к ограниченной формулировке .)x → λ x ( ∗ )x′Ax/x′x x→λx (∗)
Любая проблема оптимизации может быть абстрактно сформулирована как
Напомним, что проблема оптимизации является выпуклой, когда она имеет два отдельных свойства:
Домен выпукла.X⊂Rn Это можно сформулировать многими способами. Во-первых, всякий раз, когда и и , также , Геометрически: всякий раз , когда две конечные точки отрезка линии лежат в , весь отрезок лежит в . y∈ X 0≤λ≤1λx+(1-λ)y∈ X X Xx∈X y∈X 0≤λ≤1 λx+(1−λ)y∈X X X
Функция выпукла.f Это также может быть сформулировано многими способами. Во-первых, всякий раз, когда и и ,(Нам нужно было, чтобы был выпуклым, чтобы это условие имело какой-либо смысл.) Геометрически: всякий раз, когда является любым отрезком в , график функции (ограниченный этим отрезком) лежит выше или на отрезке, соединяющем и в . y ∈ X 0 ≤ λ ≤ 1 f ( λ x + ( 1 - λ ) y ) ≥ λ f ( x ) + ( 1 - λ ) f ( y ) . X ¯ x y X f ( x , f ( x ) ) ( y , f ( y)x∈X y∈X 0≤λ≤1
Архетип выпуклой функции локально всюду параболичен с неположительным старшим коэффициентом: на любом отрезке она может быть выражена в виде сa ≤ 0.y→ay2+by+c a≤0.
Сложность с состоит в том, что - это единичная сфера , которая явно не выпуклая. X S n - 1 ⊂ R n(∗) X Sn−1⊂Rn Однако мы можем изменить эту проблему, включив меньшие векторы. Это потому, что когда мы масштабируем с коэффициентом , умножается на . Когда , мы можем масштабировать до длины единицы, умножив ее на , увеличивая тем самым но оставаясь в пределах единичный шар .λ f λ 2 0 < x ′ x < 1 x λ = 1 / √x λ f λ2 0<x′x<1 x fDn={x∈ R n∣x′x≤1}λ=1/x′x−−−√>1 f Dn={x∈Rn∣x′x≤1} Поэтому давайте переформулируем как(∗)
Его домен который явно выпуклый, так что мы на полпути. Осталось рассмотреть выпуклость графика функции .X=Dn f
Хороший способ подумать о проблеме даже если вы не собираетесь выполнять соответствующие вычисления - в терминах спектральной теоремы.(∗∗) В нем говорится, что с помощью ортогонального преобразования вы можете найти хотя бы один базис в котором диагональ:P Rn A
где все недиагональные элементы равны нулю. Такой выбор можно представить как ничего не изменяющий , а просто изменяющий способ его описания : когда вы поворачиваете свою точку зрения, оси гиперповерхностей уровня функции (которые всегда были эллипсоидами) выровнены с осями координат.Σ P A x→x′Ax
Поскольку является положительно-полуопределенным, все диагональные элементы в должны быть неотрицательными. Мы можем дополнительно переставить оси (что является еще одним ортогональным преобразованием и поэтому может быть поглощено в ), чтобы гарантировать, чтоA Σ P
Если мы примем новыми координатами (в том числе ), функция будетx=P′y x y=Px f
Эта функция явно не выпуклая! Его график выглядит как часть гиперпараболоида: в каждой точке внутри тот факт, что все неотрицательны, заставляет его скручиваться вверх, а не вниз .X σi
Однако мы можем превратить в выпуклую задачу с помощью одного очень полезного метода.(∗∗) Зная, что максимум произойдет там, где , давайте вычтем постоянную из , по крайней мере, для точек на границе . Это не изменит местоположения каких-либо точек на границе, в которой оптимизируется , потому что оно понижает все значения на границе на одно и то же значение . Это предполагает изучение функцииx′x=1 σ1 f X f f σ1
Это действительно вычитает постоянную из в граничных точках и вычитает меньшие значения во внутренних точках. Это будет гарантировать , что , по сравнению с , не имеет никакого нового глобального максимума на внутренней части .σ1 f g f X
Давайте рассмотрим, что произошло с ловкостью рук замены на . Поскольку ортогонально, . (Это практически определение ортогонального преобразования.) Следовательно, в терминах координат можно записать−σ1 −σ1y′y P y′y=x′x x g
Поскольку для всех , каждый из коэффициентов равен нулю или отрицателен. Следовательно, (a) является выпуклым и (b) оптимизируется, когда . ( тогда подразумевает и оптимум достигается, когда , то есть - до знак - первый столбец )σ1≥σi i g g x2=x3=⋯=xn=0 x′x=1 x1=±1 y=P(±1,0,…,0)′ P
Давайте повторим логику. Поскольку оптимизируется на границе где , потому что отличается от просто константой на этой границе, а также потому, что значения еще ближе к значениям внутри , максимумы должны совпадать с максимумами .∂ D n = S n - 1 y ′ y = 1 f g σ 1 g f D n f gg ∂Dn=Sn−1 y′y=1 f g σ1 g f Dn f g
источник
Нет.
( - норма Фробениуса ). Для вывода см. Теорему Эккарта-Юнга .∥⋅∥F
Хотя норма выпуклая, множество, над которым она оптимизируется, невыпукло.
Выпуклым релаксации задачи РПЖ, называется Выпуклые Низкий ранг Аппроксимация
( - ядерная норма . Это выпуклая релаксация ранга - точно так же, как - выпуклая релаксация числа ненулевых элементов для векторов) ‖ ⋅ ‖ 1∥⋅∥∗ ∥⋅∥1
Вы можете увидеть статистическое обучение с разреженностью , раздел 6 (матричные разложения) для деталей.
Если вас интересуют более общие проблемы и их связь с выпуклостью, см. Обобщенные модели низкого ранга .
источник
Отказ от ответственности: предыдущие ответы довольно хорошо объясняют, как PCA в своей первоначальной формулировке невыпуклый, но может быть преобразован в выпуклую задачу оптимизации. Мой ответ предназначен только для тех бедных душ (таких как я), которые не очень знакомы с жаргоном юнит-сфер и СВД - что, кстати, приятно знать.
Мой источник - это лекция профессора Тибширани
Для решения задачи оптимизации с помощью выпуклых методов оптимизации существуют две предпосылки.
Большинство формулировок PCA включают ограничение на ранг матрицы.
В препаратах этого типа PCA условие 2 нарушается. Потому что ограничение, что не является выпуклым. Например, пусть , будут 2 × 2 нулевыми матрицами с одиночной 1 в верхнем левом углу и нижнем правом углу соответственно. Затем каждый из них имеет ранг 1, но их среднее значение имеет ранг 2.J 11 J 22rank(X)=k, J11 J22
источник