Модуль III·Статья II·~3 мин чтения
Разреженность и теория сжатых измерений
Статистика высокой размерности
Превратить статью в подкаст
Выберите голоса, формат и длину — AI запишет аудио
Теория разреженности и сжатые измерения
Представьте: вы хотите записать МРТ-снимок, но у пациента мало времени — нельзя получить все измерения. Или нужно передать сигнал через канал с ограниченной пропускной способностью. Теория compressed sensing (Candès, Romberg, Tao; Donoho, 2006) говорит: если сигнал «разреженный», нескольких линейных измерений достаточно для его точного восстановления.
Основная теорема Compressed Sensing
Постановка задачи: x ∈ ℝⁿ — сигнал (например, изображение из пикселей). A ∈ ℝ^{m×n}, m ≪ n — матрица измерений. Наблюдаем y = Ax (m << n измерений — явно недоопределённая система). Цель: восстановить x.
Условие разреженности: x имеет не более s ненулевых компонент: ||x||₀ = s ≪ n. Большинство сигналов разреженны в каком-то базисе: изображения — в вейвлет-базисе, аудио — в Фурье-базисе.
Теорема (Candès, 2006): Если A удовлетворяет условию RIP(2s, δ):
(1−δ)||x||₂² ≤ ||Ax||₂² ≤ (1+δ)||x||₂² для всех s-разреженных x
то решение x̂ задачи Basis Pursuit Denoising:
x̂ = argmin ||x||₁ subject to ||Ax − y||₂ ≤ ε
удовлетворяет: ||x̂ − x||₂ ≤ C₁ σₛ(x)/√s + C₂ε
Здесь: ||x||₁ = Σᵢ |xᵢ| (L1-норма), σₛ(x) — ошибка наилучшей s-разреженной аппроксимации. Ключевое: задача L1-минимизации (выпуклая!) решает, казалось бы, невозможную задачу восстановления из m ≪ n измерений.
Почему L1? L0-норма (подсчёт ненулевых) — NP-hard оптимизация. L2-норма — находит наименее квадратичное решение, не разреженное. L1 — «ближайшая выпуклая релаксация» L0: сохраняет разреженность, позволяет convex programming.
Случайные матрицы удовлетворяют RIP
Если Aᵢⱼ ~ N(0, 1/m) (гауссова случайная матрица), то A удовлетворяет RIP(s, δ) с вероятностью ≥ 1−ε при:
m ≥ C · s · log(n/s) / δ²
Пример: n = 10000, s = 100, δ = 0.1 → m ≥ C · 100 · log(100) · 100 ≈ 46000/k — достаточно m ≈ 500 измерений вместо n = 10000!
Физический смысл: случайная проекция «видит» все s-разреженные векторы (JL-лемма). Другие матрицы, удовлетворяющие RIP: частичная матрица Фурье (с случайно выбранными строками), матрица Адамара.
Алгоритмы восстановления
LASSO (Tibshirani, 1996): Эквивалент BPDN для регрессии: min_x (1/2)||y − Ax||₂² + λ||x||₁. Аналитического решения нет (кроме ортогональной A), но есть эффективные алгоритмы.
ISTA (Iterative Shrinkage-Thresholding): использует проксимальный оператор для L1: prox_{αλ||·||₁}(v)ᵢ = sign(vᵢ)·max(|vᵢ| − αλ, 0) (soft thresholding)
Шаг: xₜ₊₁ = prox_{αg}(xₜ − α·Aᵀ(Axₜ − y)). Сходимость: O(1/t).
FISTA: Nesterov-ускоренная версия ISTA: O(1/t²).
Matching Pursuit (OMP): жадный алгоритм: на каждом шаге выбираем «наиболее коррелированный» столбец A с остатком. Быстрее, не такая точная теория.
Применения
МРТ: k-пространство (частотные измерения) семплируется случайно по Пуассону → LASSO-реконструкция → в 4−8× меньше времени в аппарате. Первое клиническое применение — 2011 год.
Одно-пиксельная камера: измеряем случайные линейные комбинации пикселей (один фотодиодный датчик) → CS-восстановление. Позволяет работать в диапазонах, где матрица пикселей дорога (инфракрасный, терагерцовый).
Геномика: из m = 500 лабораторных тестов восстанавливаем полный генотип n = 10000 SNPs — каждый человек несёт разреженный набор мутаций.
Структурная разреженность: Group LASSO и Total Variation
Group LASSO: признаки разбиты на группы g. Штраф: λΣ_g ||β_g||₂. Группы выбираются «целиком» — либо все признаки группы ненулевые, либо все нули. Применение: временные ряды (группы лагов), нейронные сети (структурное прунинг — удаляем целые головы внимания).
Total Variation (TV) denoising: x ∈ ℝⁿ — сигнал с шумом. min_u ||y−u||₂² + λ Σᵢ|uᵢ₊₁−uᵢ|. Сохраняет скачки (края), сглаживает шум внутри плоских участков. Стандарт в обработке изображений.
Численный пример
n = 256 (длина сигнала), s = 10 (разреженность в Фурье). m = 60 случайных измерений. Гауссова матрица A (60×256). Сигнал: x с 10 ненулевыми частотами. BPDN восстанавливает x с ошибкой < 0.01 при ε = 0 (без шума). При шуме σ = 0.01: ||x̂ − x||₂ ≈ 0.08. Наивная псевдоинверсия даёт ||x̂_lstsq − x||₂ ≈ 2.1 — в 26 раз хуже.
Задание: Реализуйте CS для звукового сигнала: сгенерируйте сигнал = сумма 5 синусоид, n=1024 точки. Создайте случайную матрицу измерений A (m×1024, m=100). Восстановите через LASSO (sklearn). Постройте: (1) исходный спектр; (2) восстановленный спектр; (3) ошибку восстановления vs m (от 50 до 500). При каком m ошибка опускается ниже 1%?
§ Акт · что дальше