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


12

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

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


3
Нет. Вы максимизируете выпуклую функцию (при ограничениях).
— user603

5
Я думаю, что вам нужно определиться с тем, что вы подразумеваете под «оптимизацией PCA». Одна стандартная формулировка состоит в том, чтобы максимизировать x′Ax учетом x′x=1 . Проблема в том, что выпуклость даже не имеет смысла: область x′x=1 является сферой, а не евклидовым пространством.
— whuber

1
@ whuber спасибо за ваш комментарий, я не могу уточнить вопрос из-за ограниченных знаний. Я могу подождать, пока некоторые ответы помогут мне прояснить вопрос одновременно.
— Haitao Du

3
Я бы отослал вас к любому определению «выпуклости», с которым вы знакомы. Разве все они не включают понятие точек в области функции, лежащей «между» другими точками? Это стоит помнить, потому что напоминает вам рассмотреть геометрию области функции, а также любые алгебраические или аналитические свойства значений функции. В этом свете мне приходит в голову, что максимизирующую дисперсию формулировку можно слегка изменить, чтобы сделать область выпуклой: просто требуется а не x ′ x = 1 . Решение то же самое - и ответ становится совершенно ясным. x′x≤1x′x=1
— whuber

Ответы:


17

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

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

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

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

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

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


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

(*)Maximize f(x)= x′Ax  subject to  x′x=1

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

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

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

Найдите хотя бы один который делает функцию как можно большей. F : X → Rx∈Xf:X→R

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

  1. Домен выпукла. X⊂Rn Это можно сформулировать многими способами. Во-первых, всякий раз, когда и и , также , Геометрически: всякий раз , когда две конечные точки отрезка линии лежат в , весь отрезок лежит в . y∈ X 0≤λ≤1λx+(1-λ)y∈ X X Xx∈Xy∈X0≤λ≤1λx+(1−λ)y∈XXX

  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)x∈Xy∈X0≤λ≤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.y→ay2+by+ca≤0.

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

(**)Maximize f(x)= x′Ax  subject to  x′x≤1

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

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

A=P′ΣP

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

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

σ1≥σ2≥⋯≥σn≥0.

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

f(y)=y′Ay=x′P′APx=x′Σx=σ1x12+σ2x22+⋯+σnxn2.

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

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

g(y)=f(y)−σ1y′y.

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

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

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

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

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


4
σ1

@amoeba Право по всем пунктам; Спасибо. Я усилил обсуждение этого вопроса.
— whuber

3
(+1) В своем ответе вы, похоже, определили выпуклую функцию как то, что большинство людей сочло бы вогнутой функцией (возможно, поскольку задача выпуклой оптимизации имеет выпуклую область и вогнутую функцию, по которой вычисляется максимум (или выпуклая функция над которой минимальным вычисляются))
— user795305

2
gXf

2
fgg

6

Нет.

kM

X^=argminrank(X)≤k‖M−X‖F2

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

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


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

X^=argmin‖X‖∗≤c‖M−X‖F2

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

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

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


1

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

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

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

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

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

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


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

Да, - преобразованная (повернутая) матрица данных. В этой формулировке мы ищем матрицы, имеющие по крайней мере ранг . Вы можете обратиться к ссылке в моем ответе для более точного описания. кXk
— honeybadger
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.