Algoritma Minimisasi L1 via L2
III.4 Algoritma Minimisasi L1 via L2
Penyelesaian solusi l 1 via l 2 dapat segera konvergen pada solusi l 1 yang diinginkan dengan mencari arah terdekat (shortest path) ke arah bidang x terdekat. Tinjau kasus sederhana tiga variabel seperti yang diperlihatkan pada Gambar III.14. Pada ilustrasi tersebut, matriks A berdimensi 2×3 memberikan solusi Ax=y berupa perpotongan kedua bidang yang mencakup titik M dan N yang juga merupakan titik solusi minimisasi norma L1. Algoritma yang dikembangkan harus dapat menentukan mana dari kedua titik ini yang merupakan solusi L1.
CM
A Gambar III.14. Ilustrasi arah terdekat (shortest path) untuk vector x tiga dimensi
. Dengan matrik A berdimensi 2×3, maka Ax=y diwakili oleh perpotongan dua bidang. Arah terpendek dicari pada garis perpotongan bidang.
Ax = y
Ax = y
Xp solusi norma l 2
Xp solusi norma l 2
Gambar III.15. Titik mulai pencarian arah terdekat dengan menggunakan solusi minimisasi L2. Lokasi Minimisasri L2 (X p )
Metode sederhana untuk memulai adalah mencari solusi L1 ini adalah dengan memulai dengan mencari solusi L2 yang secara matematis lebih mudah dihitung atau ditentukan.
Ax=y
x 1 ada; x 2 ada; x 3 nol; Shortest path
Permasalahan minimisasi l 2 − norm :
(III.8) dapat diselesaikan dengan cara analitis. Metode Lagrange dapat digunakan untuk
min kxk 2 s.s.
Ax = y,
keperluan ini. Gabungkan fungsi objektif dan konstrain dengan metode Lagrange diperoleh
2 f T (x,λ) = kxk +λ · (y − Ax)
(III.9)
(III.10) differensiasi terhadap x dan set sama dengan 0, diperoleh
=x T ·x +λ · (y − Ax)
df (x,λ)
= 2x − λ T ·A
(III.11)
dx
= 2x − A T ·λ = 0.
(III.12)
Kita kalikan kedua ruas dengan A, diperoleh
(III.13) Substitusi Ax dengan y, maka diperoleh
2Ax − A · A T ·λ = 0.
(III.14) Sehingga
A·A T ·λ = 2y.
(III.15) Langkah dari III.14 ke III.15 valid, karena A · A T full-rank, sehingga memiliki invers.
T − λ 1 = (A · A ) · 2y.
Selanjutnya dengan mengingat bahwa 2x = A T ·λ , oleh karena itu
(III.16) atau
T − 2x = A 1 · ((A · A ) · 2y),
(III.17) Dengan demikian, solusi minimalisasi L2 sebagaimana yang dirumuskan dalam
T − x 1 =A · (A · A ) ·y
memiliki solusi analitis seperti yang terdapat pada . Sebagai ilustrasi, mari kita lihat conton minimalisasi L2 untuk contoh berikut.
Diberikan A = dan y = akan dicari x sehingga Ax=y sehingga
kxk 2 minimum. Kita hitung
sehingga − (A · A T ) 1 = , dan A T (A · A T ) 1 =
− 0,2426 0,0917 Dengan demikian
0,1953 0,1213 0.4379 Setelah diperoleh solusi norma l 2 (x p ), maka tidak perlu semua kuadran diperiksa 0,1953 0,1213 0.4379 Setelah diperoleh solusi norma l 2 (x p ), maka tidak perlu semua kuadran diperiksa
1 2 −2 1 Contoh : Pada ilustrasi sebelumnya : A =
dan y = − 23 5 2
diperoleh solusi l
2 yaitu x
Periksa sign x yaitu sign(x
p p )=
Sehingga hanya ada 3 bidang potong yang perlu diperiksa yaitu
1 x 1 0 x 1 x 1 x 1 x −x
−x 2 ; 0 dan −x 2 alih-alih 8 : x 2 ; x 2 ; −x 2 ; −x 2 ; x ;
Untuk tiga variabel : x = x
2 kemungkinan A :
11 a 12 a 13
A matriks 1×3 : x = a 11 a 12 a 13 A matriks 1×3 : x =
21 a 22 a 23 x
Untuk A matriks 1×3 : titik potong iterasi dicari pada bidang : 0 ,
dan
3 Untuk A matriks 2×3 : titik potong iterasi dicari pada bidang : A matriks 1×3 : x
x 2 , x 2 , dan 0
Secara umum, untuk A matriks M×N : maka akan ada
(III.18)
M ! · (N − M)!
titik potong yang harus dicari, dengan bantuan norma l 2 ini. Dibandingkan dengan
2 N dari metode brute force sebelumnya.
Contoh : Untuk A matriks sensing 3 x 10, metode brute force memerlukan 2 1 0= 1024 perhitungan titik potong. Sedangkan metode via l 2 memerlukan 10!/(3!·7! = 120), sekitar seperdelapan dari brute force.
Diberikan A=
− 0.5 Tentukan x yang meminimalkan normal l 1 dari x dengan Ax=y.
Jawab:
Solusi l 2 dari Ax = y adalah
dari solusi l
Arah Steepest descent dari solusi norma l
2 ini adalah : g m =
Dengan kata lain : x 1 ada, x 2 = 0, x 3 ada, x 4 = 0, dan x 5 ada.
Dengan demikian solusi l adalah X = ˆ T (ˆ T − ) 1
1 A Aˆ A y=
Dengan − 1 0 −0.8 0 −0.88
A= ˆ
Contoh : Misal A = dan y = Solusi norma orde 2 : S =
A (AA ) 1 y = 1,1636
0,7636 Dengan mengetahui : x 1 ada, x 2 ada, dan x 3 = 0 maka solusi Ax=y dengan A =
yang meminimalkan normal l 1 adalah :
X= 1.33
T Yaitu : X = ˆ − A ∗ (ˆ Aˆ A ) 1 y
Dengan
8 16 0 A= ˆ
12 6 0 Ide mengeneralisasi algoritma baru ini ke bilangan kompleks terinspirasi dari
bagaimana algoritma Orthogonal Matching Pursuit - OMP yang semula bekerja untuk bilangan riil yang dapat diperluas untuk bilangan kompleks.
Algoritma OMP : memandang Ax sebagai kombinasi linear dari kolom pada A
untuk menghasilkan y.
Contoh : Misal A =
Dengan memisalkan x = x
8 16 8 32 Selanjutnya dari x 1 + x 2 + x 3 = OMP bekerja secara mundur
12 6 8 24 dengan mencari siap di antara x 1 ,x 2 dan x 3 yang memberi kontribusi terbesar
32 terhadap y :
Kontribusi ini dihitung dengan besarnya nilai dot product antara tiap basis ,
16 8 , dan dengan y tersebut.
6 8 Setelah elemen dengan kontribusi terbesar dipilih, dihitung nilai y sisa, dan
selanjutnya dipilih komponen x berikutnya yang memiliki kontribusi terbesar 1 . Algoritma OMP tersebut digeneralisasi ke bilangan kompleks dengan penyesuaian antara lain: dot product dilakukan seperti biasa, dan kemudian dihitung nilai magnitudanya untuk menentukan besar kontribusi. Contoh:
1+j j − 1−j 2.8 + j A=
memberikan 0.5j 0.6 − 0.1
dot product tiap kolom dengan
0.9j berturut-turut : 1.35 + 3.8j ; -1+3.34j ; dan -2-3.33j
Magnituda dari dot product ini adalah 4.0327, 3.4865, dan 3.8844. Dengan demikian kolom pertama dari matriks A yang memiliki kontribusi terbesar pada y.
Dengan prinsip yang sama, maka algoritma baru (l 1 solver via l 2 dan steepest descent) tadi dapat digeneralisasi ke bilangan kompleks dengan penyesuaian-penyesuaian ekivalen seperti pada OMP.
1+j j − 1−j 2.8 + j
Contoh dengan A =
dan y =
, maka solusi l 2 nya
0.5j 0.6 − 0.1 0.9j
adalah :
1,6173 − 0.3574j S=A T − (AA T ) 1 y =
− 0.7149 + 0.4147j
Magnituda dari vektor kompleks S adalah
Dengan demikian steepest descent ada pada arah:
Atau: x 1 ada ; x 2 = 0; x 3 ada.
Solusi l 1 dengan demikian adalah :
1 Joel A. Tropp dan Anna Gilbert, Signal Recovery from Random Measurement via Orthogonal
Matching Pursuit , IEEE Trans. Inf. Theory, 2007
X=ˆ A H (ˆ Aˆ A H ) − 1 y=
Dengan A= ˆ
1 + j 0 −1 − j 0.5j 0 − 0.1
Contoh yang lebih besar : x= 22+j000000 T
0.3999 − 0.5419i 0.2101 + 0.3357i 0.5074 + 0.0214i
0.2809 − 0.5497i −0 . 2713 + 0.0690i −0 . 6249 − 0.3359i
−0 . 1173 + 0.1887i −0 . 2528 + 0.0468i −0 0.2385 − 0.3081i
0.1136 − 0.0686i −0 . 1914 + 0.3755i 0.0882 − 0.0019i
−0 . 3043 − 0.0758i −0 . 6963 − 0.1903i −0
y=Ax=
− 0.5027 − 0.1388i 0.9959 − 0.3378i − 1.1893 − 0.4624i 1.9013 − 0.0128i 1.0294 + 0.9616i
Selanjutnya, diberikan A dan y, cari x! Solusi l 2 adalah :
S=A H (AA H ) − 1 y=
1.8884 − 0.3308i 1.5049 + 1.0833i 0.1088 − 0.4415i 0.0982 − 0.2915i 0.0685 − 0.1719i
− 0.2532 + 0.0245i − 0.1041 − 0.5014i
0.2895 + 0.0988i
Nilai magnituda dari S adalah |S| = 1.9171 1.8543 0.4548 0.3076 0.1851 0.2544 0.5121 0.3059 T
Dimensi dari A adalah 5 × 8, dengan demikian kita membuang (8-5=3) nilai-nilai terkecil pada |S| untuk memperoleh steepest descent.
Mg = 1.9171 1.8543 0.4548 0.3076 0 0 0.5121 0 T .
Dengan demikian x 5 ,x 6 , dan x 8 bernilai 0.
2 A terpotong. A lengkap dapat dilihat di akhir slide ini
Solusi l 1 adalah :
l 1 =ˆ A (A ˆ A ) 1 y= T 22+j000000
Solusi x l 1 adalah sama dengan nilai x semula. (Catatan : Algoritma OMP memberikan hasil yang sama!) Diberikan : A dan y
Dicari : x sehingga Ax=b dan kxk 1 minimal.
A matriks m×N ; m<<N
Langkah penyelesaian :
1. Cari solusi S yang merupakan solusi Ax=y dengan norma l 2 minimal. S =
H H A − (AA ) 1 y H ; dengan A : A hermitian 3 .
2. Hitung magnituda S : |S|.
3. Set nol N-m element terkecil dari |S|
y; dengan ˆ A = A dengan posisi kolom di set nol berkorespondensi dengan posisi elemen |S| yang di-set nol pada langkah 3.
4. Solusi norm l − minimal adalah X =ˆ A H (ˆ Aˆ A H ) 1
1 l1