Jawaban pilihan tertinggi untuk pertanyaan ini menunjukkan bahwa untuk membatalkan sinyal sambil mempertahankan transisi yang tajam, seseorang harus melakukannya
meminimalkan fungsi tujuan:
di mana adalah sinyal berisik, adalah sinyal denoised, adalah parameter regulerisasi, danadalah beberapa hukuman norma L1. Denoising dilakukan dengan mencari solusi untuk masalah optimisasi ini, dan tergantung pada tingkat kebisingan.
Namun, tidak ada indikasi bagaimana seseorang dapat melakukannya dalam praktek karena itu adalah masalah dalam ruang dimensi yang sangat tinggi, terutama jika sinyalnya misalnya 10 juta sampel panjang. Dalam prakteknya bagaimana masalah semacam ini diselesaikan secara komputasional untuk sinyal besar?
noise
denoising
smoothing
convex-optimization
John Robertson
sumber
sumber
Jawaban:
Boyd memiliki A Matlab Solver untuk Skala Besar ℓ1-Regulerised Soal Kuadrat . Perumusan masalah di sana sedikit berbeda, tetapi metode ini dapat diterapkan untuk masalah tersebut.
Pendekatan mayorisasi-minimisasi klasik juga bekerja dengan baik. Ini sesuai dengan iteratif melakukan soft-thresholding ( untuk TV, kliping ).
Solusinya bisa dilihat dari tautannya. Namun, ada banyak metode untuk meminimalkan fungsi-fungsi ini dengan menggunakan literatur optimasi yang luas.
PS: Seperti disebutkan dalam komentar lain, FISTA akan berfungsi dengan baik. Kelompok algoritma 'sangat cepat' lainnya adalah algoritma primal-dual. Anda dapat melihat makalah menarik Chambolle sebagai contoh, namun ada banyak makalah penelitian tentang metode primal-dual untuk formulasi masalah invers linier.
sumber
Untuk mengatasi masalah optimisasi dengan penalti TV, kami menggunakan algoritma yang baru-baru ini diusulkan yang disebut Algoritma Berbasis Gradien Cepat untuk Masalah Total Variasi Gambar Denoising dan Deblurring (FISTA) , yang memiliki tingkat konvergensi yang lebih baik daripada metode iteratif konvensional, seperti ASD-POCS.
sumber
Prox
operator. Kerja yang sangat bagus.Dalam kasus khusus di mana , fungsi objektif dapat ditulis sebagaif(y)=∥y∥1
meminimalkan itu perlu untuk meminimalkan setiap entri jumlah:
Dengan menggunakan subdifferensial, dimungkinkan untuk menunjukkan bahwa minimizer adalah operator soft-thresholding dengan ambang batas . Itulah metode yang diusulkan oleh Donoho dan Johnstone untuk denoising sinyal. Lihat makalah mereka Adaptasi spasial yang ideal dengan susut wavelet untuk detail lebih lanjut.b
Jadi dalam hal ini, saya pikir Anda tidak perlu pemecah yang lebih canggih untuk memperkirakan sinyal Anda.
sumber
Ditambahkan: jika, semua persyaratannya independen - seperti yang ditunjukkan @Alejandro, Anda dapat meminimalkan setiap istilah dengan sendirinya. Lebih menarik untuk meminimalkan mana alih-alih dimaksudkan untuk mendorong banyak ke 0. Catatan berikut untuk kasus ini. (Saya memanggil variabel , bukan .)f(x)=ℓ1(x)=∑|xi|
∥Ax−b∥22+λ∥x∥1
∥x∥1 ∥x∥2 xi
x y
(Setahun kemudian) nama lain untuk kasus ini untuk kasus norma adalah regularisasi jaring elastis . Hastie et al., Elemen Pembelajaran Statistik hal. 661 ff. bahas ini untuk klasifikasi.
Cara mudah dan cepat untuk mendapatkan solusi perkiraan dengan banyak adalah dengan bergantianxi=0
Ini adalah bentuk kuadrat terkecil yang berulang , dengan bobot 0 atau 1. Saya berharap metode dalam makalah yang dikutip dalam jawaban sebelumnya akan memberikan hasil yang lebih baik; ini sederhana.
(Saat meminimalkan jumlah , sebaiknya plot dan pada skala log-log untuk iter 1 2 3 ... Jika tidak, satu istilah dapat membanjiri yang lain, dan Anda bahkan tidak akan menyadarinya - terutama ketika skalanya berbeda.)f()+λg() f() λg()
sumber