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