Является ли оптимизация PCA выпуклой?

12

Целевой функцией анализа главных компонентов (PCA) является минимизация ошибки восстановления в норме L2 (см. Раздел 2.12 здесь . Другое представление пытается максимизировать дисперсию проекции. У нас также есть отличная статья здесь: Какова целевая функция PCA ? )

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

Хайтау Ду
источник
3
Нет. Вы максимизируете выпуклую функцию (при ограничениях).
user603
5
Я думаю, что вам нужно определиться с тем, что вы подразумеваете под «оптимизацией PCA». Одна стандартная формулировка состоит в том, чтобы максимизировать xAx учетом xx=1 . Проблема в том, что выпуклость даже не имеет смысла: область xx=1 является сферой, а не евклидовым пространством.
whuber
1
@ whuber спасибо за ваш комментарий, я не могу уточнить вопрос из-за ограниченных знаний. Я могу подождать, пока некоторые ответы помогут мне прояснить вопрос одновременно.
Haitao Du
3
Я бы отослал вас к любому определению «выпуклости», с которым вы знакомы. Разве все они не включают понятие точек в области функции, лежащей «между» другими точками? Это стоит помнить, потому что напоминает вам рассмотреть геометрию области функции, а также любые алгебраические или аналитические свойства значений функции. В этом свете мне приходит в голову, что максимизирующую дисперсию формулировку можно слегка изменить, чтобы сделать область выпуклой: просто требуется а не x x = 1 . Решение то же самое - и ответ становится совершенно ясным. xx1xx=1
whuber

Ответы:

17

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

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

  1. Получите простое выражение для целевой функции.

  2. Увеличить его область, которая не является выпуклой, в область, которая есть.

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

Если вы пристально наблюдаете, вы можете увидеть скрывающиеся множители SVD и Лагранжа - но это всего лишь второстепенное шоу, представляющее интерес для сценического интереса, и я не буду комментировать их дальше.


Стандартная максимизирующая дисперсию формулировка PCA (или, по крайней мере, ее ключевой шаг)

(*)Maximize f(x)= xAx  subject to  xx=1

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

(Эквивалентно, мы можем попытаться максимизировать неограниченную цель . Мало того, что это более неприятное выражение - это больше не квадратичная функция - но графические особые случаи будут быстро покажем, что она также не является выпуклой функцией. Обычно можно заметить, что эта функция инвариантна относительно пересчетов а затем сводит ее к ограниченной формулировке .)x λ x ( )xAx/xxxλx()

Любая проблема оптимизации может быть абстрактно сформулирована как

Найдите хотя бы один который делает функцию как можно большей. F : XRxXf:XR

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

  1. Домен выпукла. XRn Это можно сформулировать многими способами. Во-первых, всякий раз, когда и и , также , Геометрически: всякий раз , когда две конечные точки отрезка линии лежат в , весь отрезок лежит в . y X 0λ1λx+(1-λ)y X X XxXyX0λ1λx+(1λ)yXXX

  2. Функция выпукла. 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)xXyX0λ1

    f(λx+(1λ)y)λf(x)+(1λ)f(y).
    Xxy¯Xf(x,f(x))R n + 1(y,f(y))Rn+1

    Архетип выпуклой функции локально всюду параболичен с неположительным старшим коэффициентом: на любом отрезке она может быть выражена в виде сa 0.yay2+by+ca0.

Сложность с состоит в том, что - это единичная сфера , которая явно не выпуклая. X S n - 1R n()XSn1Rn Однако мы можем изменить эту проблему, включив меньшие векторы. Это потому, что когда мы масштабируем с коэффициентом , умножается на . Когда , мы можем масштабировать до длины единицы, умножив ее на , увеличивая тем самым но оставаясь в пределах единичный шар .λ f λ 2 0 < x x < 1 x λ = 1 / xλfλ20<xx<1xfDn={x R nxx1}λ=1/xx>1f Dn={xRnxx1} Поэтому давайте переформулируем как()

(**)Maximize f(x)= xAx  subject to  xx1

Его домен который явно выпуклый, так что мы на полпути. Осталось рассмотреть выпуклость графика функции .X=Dnf

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

A=PΣP

где все недиагональные элементы равны нулю. Такой выбор можно представить как ничего не изменяющий , а просто изменяющий способ его описания : когда вы поворачиваете свою точку зрения, оси гиперповерхностей уровня функции (которые всегда были эллипсоидами) выровнены с осями координат.ΣPAxxAx

Поскольку является положительно-полуопределенным, все диагональные элементы в должны быть неотрицательными. Мы можем дополнительно переставить оси (что является еще одним ортогональным преобразованием и поэтому может быть поглощено в ), чтобы гарантировать, чтоAΣP

σ1σ2σn0.

Если мы примем новыми координатами (в том числе ), функция будетx=Pyxy=Pxf

f(y)=yAy=xPAPx=xΣx=σ1x12+σ2x22++σnxn2.

Эта функция явно не выпуклая! Его график выглядит как часть гиперпараболоида: в каждой точке внутри тот факт, что все неотрицательны, заставляет его скручиваться вверх, а не вниз . Xσi

Однако мы можем превратить в выпуклую задачу с помощью одного очень полезного метода. () Зная, что максимум произойдет там, где , давайте вычтем постоянную из , по крайней мере, для точек на границе . Это не изменит местоположения каких-либо точек на границе, в которой оптимизируется , потому что оно понижает все значения на границе на одно и то же значение . Это предполагает изучение функцииxx=1σ1fXffσ1

g(y)=f(y)σ1yy.

Это действительно вычитает постоянную из в граничных точках и вычитает меньшие значения во внутренних точках. Это будет гарантировать , что , по сравнению с , не имеет никакого нового глобального максимума на внутренней части .σ1fgfX

Давайте рассмотрим, что произошло с ловкостью рук замены на . Поскольку ортогонально, . (Это практически определение ортогонального преобразования.) Следовательно, в терминах координат можно записатьσ1σ1yyPyy=xxxg

g(y)=σ1x12++σnxn2σ1(x12++xn2)=(σ2σ1)x22++(σnσ1)xn2.

Поскольку для всех , каждый из коэффициентов равен нулю или отрицателен. Следовательно, (a) является выпуклым и (b) оптимизируется, когда . ( тогда подразумевает и оптимум достигается, когда , то есть - до знак - первый столбец )σ1σiiggx2=x3==xn=0xx=1x1=±1y=P(±1,0,,0)P

Давайте повторим логику. Поскольку оптимизируется на границе где , потому что отличается от просто константой на этой границе, а также потому, что значения еще ближе к значениям внутри , максимумы должны совпадать с максимумами .D n = S n - 1 y y = 1 f g σ 1 g f D n f ggDn=Sn1yy=1fgσ1gfDnfg

Whuber
источник
4
σ1
@amoeba Право по всем пунктам; Спасибо. Я усилил обсуждение этого вопроса.
whuber
3
(+1) В своем ответе вы, похоже, определили выпуклую функцию как то, что большинство людей сочло бы вогнутой функцией (возможно, поскольку задача выпуклой оптимизации имеет выпуклую область и вогнутую функцию, по которой вычисляется максимум (или выпуклая функция над которой минимальным вычисляются))
user795305
2
gXf
2
fgg
6

Нет.

kM

X^=argminrank(X)kMXF2

( - норма Фробениуса ). Для вывода см. Теорему Эккарта-Юнга .F

Хотя норма выпуклая, множество, над которым она оптимизируется, невыпукло.


Выпуклым релаксации задачи РПЖ, называется Выпуклые Низкий ранг Аппроксимация

X^=argminXcMXF2

( - ядерная норма . Это выпуклая релаксация ранга - точно так же, как - выпуклая релаксация числа ненулевых элементов для векторов)11

Вы можете увидеть статистическое обучение с разреженностью , раздел 6 (матричные разложения) для деталей.

Если вас интересуют более общие проблемы и их связь с выпуклостью, см. Обобщенные модели низкого ранга .

Якуб Барчук
источник
1

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

Мой источник - это лекция профессора Тибширани

Для решения задачи оптимизации с помощью выпуклых методов оптимизации существуют две предпосылки.

  1. Целевая функция должна быть выпуклой.
  2. Функции ограничения также должны быть выпуклыми.

Большинство формулировок PCA включают ограничение на ранг матрицы.

В препаратах этого типа PCA условие 2 нарушается. Потому что ограничение, что не является выпуклым. Например, пусть , будут 2 × 2 нулевыми матрицами с одиночной 1 в верхнем левом углу и нижнем правом углу соответственно. Затем каждый из них имеет ранг 1, но их среднее значение имеет ранг 2.J 11 J 22rank(X)=k,J11J22

honeybadger
источник
Не могли бы вы объяснить, что означает « » и почему существуют ограничения на его звание? Это не соответствует моему пониманию PCA, но, возможно, вы думаете о более специализированной версии, в которой ищутся только основных компонентов. кXk
whuber
Да, - преобразованная (повернутая) матрица данных. В этой формулировке мы ищем матрицы, имеющие по крайней мере ранг . Вы можете обратиться к ссылке в моем ответе для более точного описания. кXk
honeybadger