Khơi phục tín hiệu dựa trên phân tích QR với giá trị của phần tử khác

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp giải bài toán biểu diễn thưa (Trang 39)

0 được sinh theo phân bố chuẩn

Thời gian thực hiện của thuật tốn OMP với phân tích Cholesky

Chúng ta dùng thuật tốn OMP dựa trên phân tích Cholesky, khơi phục được tín hiệu x ban đầu với sai số trung bình M SE = 0.0404, tổng thời gian thực hiện:T ime = 1.0217. Kết quả chi tiết mơ tả trong hình 5.

Hình 5: Khơi phục tín hiệu dựa trên phân tích Cholesky với giá trị của phần tử khác 0 được sinh theo phân bố chuẩn

Nhận xét:Để nhận được tín hiệu khơi phục x với cùng trung bình bình phương sai số, thời gian thực hiên thuật tốn OMP với phân tích QR nhanh hơn so với với phân tích Cholesky.

Sau đây là một số kết quả của thuật tốn OMP khơi phục tín hiệu dựa trên phân tích QR và Cholesky sinh bởi một số hàm.

Hình 6: Các phần tử khác 0 sinh theo phân phối chuẩn.

Hình 8: Các phần tử khác 0 sinh theo hàm dấu.

2.2 Thuật toán Least Angle Regression (LARS) [1]

Trước khi, trình bày về thuật tốn LARS cải biên chúng ta trình bày chi tiết về thuật tốn LARS cơ bản

2.2.1 Thuật toán LARS cơ bản.

LARS cơ bản được đề xuất bởi Efron, Hastie, Johnstone và Tibshirani như một mơ hình thuật tốn chọn để giải hệ tuyến tính dưới xác định. Ý tưởng cơ bản của thuật toán như sau:

LARS cơ bản khởi tạo vector nghiệm với tất cả các phần tử bằng 0, vector dư r

bằng vector đo lườngy, và thiết lập tập hỗ trợI là tập rỗng, tại mỗi lần lặp một cột mới được chọn từ ma trậnA, và chỉ số của nó được thêm vào tập hỗ trợ. Tại bước lặp đầu tiên,

LARS cơ bản chọn 1 cột gọiaj, có độ tương quan chặt chẽ với vector dư hiện tại r theo nghĩa vector dưrtạo với vector cộtajmột góc nhỏ hơn các góc được tạo bởirvà các cột khác của ma trậnA.

Sau đó, LARS cơ bản tăng hệ sốx(j)liên kết với cột được chọnaj theo cách phù hợp. Điều này dẫn đến giá trị tương quan tuyệt đối củaaj với số dư hiện tại giảm đi khi

x(j)tăng. LARS cơ bản di chuyển những bước đi nhỏ nhất có thể theo hướngaj cho tới khi xuất hiện một vector cột mới, gọi làak, có giá tương quan tuyệt đối với vector dư hiên

đẳng giác với các cột được chọn(aj, ak) cho tới khi cột thứ 3, gọi làam có giá trị tương quan tuyệt đối với số dư hiện tại nhiều nhưajvàak. Điều này được duy trì để thêm 1 cột cho tới khi khơng cịn cột nào tương quan với vector dư hiện tại. Thuật tốn ln chọn hướng cập nhật tạo với các vector cột có chỉ số trong tập hỗ trợ các góc bằng nhau và nhỏ nhất.

Để minh họa quá trình thực hiện của thuật tốn LARS, chúng ta xét ví dụ sau: Ví dụ 2.1:

Thuật toán LARS cơ bản khởi tạo vector nghiệm là vector 0 và vector dư ban đầu là vector đo lường y. Như minh họa trong hình 9, thuật tốn LARS cơ bản chọn cột a1

trước tiên bởi vì sự tương quan tuyệt đối giữaa1với vector dư ban đầu (vectory) nhỏ hơn a2(θ1(1) < θ1(2)) ở đâyθt(i)là góc tạo bởi cột ai và số dư hiện tại r tại mỗi vòng lặp t.

Sau đó, thuật tốn LARS cơ bản dịch chuyển theo hướng củaa1 với kích thước bướcγ1,

được chọn thích hợp sao cho a1 và a2 có cùng tương quan tuyệt đối với vector dư hiện tại trong vịng lặp tiếp theo (ví dụθ1(1) = θ1(2)). Khi đó vector nghiệm được cập nhật

và hệ số nghiệmx1(1) = γ1. Ở vòng lặp thứ 2, thuật toán LARS cơ bản thêm cột thứ 2

vào tập hỗ trợ và tiếp tục di chuyển theo hướng đẳng giác với các cộta1 vàa2. Tại bước

này, thuật toán LARS cơ bản di chuyển với kích thước bước điγ2sinh ra vector y. Thuật

tốn LARS cơ bản kết thúc bởi vì vector dư còn lại là 0 và các hệ số của nghiệm cần tìm tương ứng vớix2(1) =γ1+γ2d2(1) vàx2(2) =γ2d2(2), ở đây d2 là hướng cập nhật lại ở vòng lặp thứ 2 đẳng giác với các cột hỗ trợ (a1, a2).

Như vậy, thuật tốn LARS có hai tham số quan trọng phải được tính tốn là vector hướng cập nhật d đẳng giác với các cột hỗ trợ, và kích thước bước dịch chuyểnγ thích hợp là đại lượng vơ hướng được nhân với hướng cập nhậtdđể cập nhật vector nghiệmx.

Hình ảnh mơ tả các bước thực hiện của thuật tốn LARS cho ví dụ 2.1

Hình 9: Q trình thực hiện của thuật tốn LARS

Phần tiếp theo sẽ trình bày chi tiết về cách tìm hướng cập nhật và bước dịch chuyển

a. Cách tìm hướng cập nhật

Trong phần này chúng ta sẽ trình bày chi tiết về cách tìm hướng cập nhật đẳng giác với các cột hỗ trợ:

Hướng cập nhật cần tạo với các cột hỗ trợ các góc bằng nhau theo hướng của vector dư r. Chúng ta thực hiện quá trình tìm hướng cập nhật dt ∈ Rn ở vòng lặp thứ t

bằng cách chiếu vector dưr(t−1) lên trên không gian sinh của các vector cột hỗ trợ. Điều này được thực hiện bằng cách giải phương trình chuẩn tắc sau:

Đặt ct = ATIrt−1 khi đó các cột hỗ trợ có vector tương quan được xác định như sau:

ct(I) =ATIrt−1 (2.2.2) Thế (2.2.2) vào (2.2.1) :

ATIAIx=ct(I) (2.2.3)

Ở mỗi vịng lặp của thuật tốn LARS, các cột hỗ trợ có cùng một giá trị tương quan tuyệt đối với vector dư. Giá trị tương quan tuyệt đối này được biểu diễn bằng thơng sốλt. Do đó, chúng ta có thể phân tíchct(I)như sau:

ct(I) =λtsign(ct(I)) (2.2.4) Bằng cách sử dụng phương trình (2.2.4), phương trình (2.2.3) có thể được viết lại như sau:

ATIAIx=λtsign(ct(I)) (2.2.5)

λt là 1 số vơ hướng, chia cả hai vế của phương trình (2.2.5) cho giá trịλt dẫn đến:

ATIAIdt =sign(ct(I)) (2.2.6) Ở đâydt(I) = x/λt là một vector thành phần của vector hướng cập nhậtdt tương ứng, chỉ giữ lại các thành phần tương ứng của tập hỗ trợ I. Mục đích của giải phương trình (2.2.6) là tính các phần tử của vector thành phầndt(I)đảm bảo giá trị tương quan tuyệt đối của cột hỗ trợ sau mỗi bước lặp được giảm một lượng như nhau. LARS thiết lập các phần tử còn lại của vector hướng cập nhật không thuộc trong tập hỗ trợ bằng 0

(dt(Ic) = 0).

b. Tính tốn kích thước bước đi

Ở mỗi vịng lặp, thuật tốn LARS tính tốn kích cỡ bước đi γ thích hợp để cập nhật hệ số của nghiệm tương ứng với tập hỗ trợ cho phép chọn ra một cột từ tập không hỗ trợ kết hợp vào tập hỗ trợ trong vòng lặp tiếp theo. Điều này có thể được thực hiện được bằng cách làm cho các cột hỗ trợ và cột được chọn có cùng giá trị tương quan tuyệt đối với vector dư hiện tại.

Nguồn gốc của biểu thức hình thái đóng (closed-form) để tính kích thước bước đi

đủ, cặn kẽ, tỉ mỉ nguồn gốc của biểu thức hình thái đóng. Giả sử thuật tốn LARS đang thực hiện tại bước lặp thứt và chúng ta cần tính kích cỡ bướcλt phù hợp. Vector dư tại bước lặptđược tính như sau:

rt =y−Axt (2.2.7) Khi đó vector dư thu được tại bước lặp thứt−1là:

rt−1 =y−Axt−1 (2.2.8) Để tìm mối liên hệ giữa vector dư hiện tại và vector dư trước đó, chúng ta trừ phương trình (2.2.7) cho phương trình (2.2.8) ta thu được:

rt−rt−1 =y−Axt−y+Axt−1 (2.2.9) hay

rt=rt−1−A(xt−xt−1) (2.2.10) Ở mỗi vòng lặp, LARS cập nhật vector nghiệmxtheo công thức sau:

xt =xt−1+γtdt (2.2.11) Thay (2.2.11) vào (2.2.10) ta được

rt=rt−1−γtdt (2.2.12) Bởi vìd(Ic) = 0, phương trình (2.2.12) có thể được biểu diễn đơn giản như sau:

rt =rt−1−γtAIdt(I) (2.2.13) Vector tương quanctrong vịng lặp tiếp theo được tính như sau:

ct+1 =ATrt (2.2.14) Bằng cách thế (2.2.13) vào (2.2.14) ta nhận được:

ct+1=AT(rt−1−γtAdt(I)) =ct−γtAtAIdt(I)) (2.2.15) Ở mỗi vòng lặp của LARS, tham sốγ thể hiện giá trị tương quan tuyệt đối của các cột hỗ trợ. Trong thực tế,γ thể hiện giá trị tương quan tuyệt đối lớn nhất của các phần tử của vector tương quan. Điều này có thể được biểu diễn như sau:

trong đókck∞=max(|c(1)|,|c(2) |, ...,|c(n)|.)

Do đó,λở vịng lặpt+ 1được tính như sau:

λt+1 =|ct+1(I)|

Bằng cách sử dụng phương trình (2.2.15), chúng ta được:

λt+1=|ct(I)−γtAtAIdt(I)| (2.2.17) Từ (2.2.6), ta có:

dt(I) = (AtIAI)−1sign(ct(I)) (2.2.18) Bằng cách thếdt(I)của (2.2.18) vào (2.2.7) ta thu được:

λt+1=|ct(I)−γtAtAI(AtAI)−1sign(ct(I))| λt+1=|ct(I)−γtsign(ct(I))| (2.2.19) Thế (2.2.4)vào (2.2.19): λt+1=|λtsign(ct(I))−γtsign(ct(I))| λt+1=|sign(ct(I))(λt−γt)| λt+1=|(λt−γt)| (2.2.20) Chúng ta lưu ý rằng, ở mỗi vòng lặp, hướng cập nhậtdđảm bảo giá trị tương quan tuyệt đối của các cột hỗ trợ được giảm như nhau, nghĩa là giá trịλđược làm giảm ở mỗi vịng lặp. Ngồi ra, thuật tốn LARS chọn kích thước bước dịch chuyển nhỏ nhất sao cho xuất hiện một cột từ tập không hỗ trợ được thêm vào tập hỗ trợ ở vòng lặp tiếp theo. Bởi vậy giá trịγtnên được chọn là một số dương và nhỏ hơnλt. Với cách chọn tham số thích

hợp, phương trình (2.2.20) có thể làm đơn giản

λt+1 =λt−γt (2.2.21) Ta giả sử, tại vòng lặp tiếp theot+ 1, cột thứiđược thêm vào tập hỗ trợ. Khi đó, giá trị tương quan tuyệt đối của nó phải bằngλt+1.

|ct+1(I)|=λt+1 (2.2.22) Ở đâyi∈Ic vàIclà tập khơng hỗ trợ ở vịng lặpt.

Sử dụng phương trình (2.2.15), sự tương quan của cột i có thể được tính bằng phương trình sau:

ct+1(i) = ct(i)−γtaTiAIdt(I) (2.2.23) Bằng cách thế phương trình (2.2.23) và (2.2.21) vào phương trình (2.2.22), ta có:

|ct(i)−γtaTi AIdt(I)|=λt−γt

±(ct(i)−γtaTi AIdt(I)) =λt−γt

±ct(i)∓γtaTi AIdt(I) =λt−γt γt∓γtaTi AIdt(I) =λt∓ct(i) γt(1∓aTi AIdt(I)) =λt∓ct(i) γt= 1∓aλt∓ct(i)T iAIdt(I) Đặtvt =AIdt(I) γt= λt∓ct(i) 1∓aTivt (2.2.24) Thuật tốn LARS cơ bản tìm kích thước bước dịch chuyểnγtlà một số dương nhỏ nhất sao cho có thể kết hợp được một cột từ tập không hỗ trợIc vào tập hỗ trợI ở vịng lặp tiếp theot+ 1. Do đó,

γt =mini∈Ic{λt−ct(i)

1−aTi vt,

λt+ct(i)

1 +aTi vt} (2.2.25) Chúng ta chỉ xét bài toán cực tiểu (2.2.4) trên các phần tử là số dương với tất cả các giá trịiđược xét.

Sau khi hướng cập nhật dtvà kích cỡ bướcγt được tính, thuật tốn LARS cơ bản cập nhật vector nghiệm theo biểu thức của phương trình (2.2.11), và tính tốn số dư mới bằng biểu thức của phương trình (2.2.7). Các bước này được lặp đi lặp lại khi vẫn còn tồn tại các cột thuộc tập khơng hỗ trợ có mối tương quan với vector dư hiện tại. Khi khơng cịn cột nào có mối tương quan với vector dư hiện tại (ví dụ khiγhướng tới 0), thuật toán LARS cơ bản kết thúc và vectorxt là nghiệm cần tìm. Thuật tốn LARS cơ bản có thể tổng kết như sau.

Input: vectory ∈ Rm, ma trận A∈ Rm×n, và ngưỡng giới hạn cho số dư

Output: vector nghiệm thưa x ∈ Rn

Yêu cầu: xấp xỉ vector y bằng cách sử dụng ít số cột của ma trận Anhất.

Các bước của thuật toán bao gồm:

1) Khởi tạo: x0 = 0, r0 = y, I = ∅, t = 1. 2) Tính vector tương quan: ct = ATrt−1

3)Tính giá trị tuyệt đối lớn nhất của các phần từ thuộc vector tương quan:

λt =kct k∞

4) Nếu λt = 0 hoặc gần như rất nhỏ, LARS kết thúc và vectorxt là kết quả trả về cuối cùng. Nếu khơng thì thực hiện các bước sau đây.

5) Tìm tập hỗ trợ I = {j :| ct(j) |= λt}

6) Giải phương trình chuẩn tắc để tìm các phần tử hỗ trợ của vector hướng cập nhật: ATI AIdt(I) =sign(ct(I))

Ở đây sign (ct(I)) trả về dấu của các phần tử thuộc tập hỗ trợ của vector tương quan ct

7) Đặt các phần tử không thuộc tập hộ trợ của vector hướng cập nhật là 0:

dt(Ic) = 0

8) Tính tốn kích thước bước dịch chuyển:

γt = mini∈Ic{λt1−a−ct(i)T

ivt},λt +ct(i)

1 +aTi vt trong đóvt = AIdt(I) 9) Cập nhật vector nghiệm xt = xt−1 +λtdt

10) Tính tốn vector dư mới rt = y −Axt

11)Nếu k rt k2< , kết thúc trả vềx = xt là nghiệm cuối cùng. Ngược lại tăng biến lặp t = t+ 1và quay lại bước 2

2.2.2 Thuật toán LARS cải biên để giải quyết bài toán LASSOThuật toán LARS cải biên Thuật toán LARS cải biên

Trong một số trường hợp, chúng ta giải bài tốn cực tiểu hóa với tiêu chuẩn`1:

Tìmminx kxk1thỏa mãn điều kiện Ax=y

Bằng cách sử dụng các phương pháp tối ưu hóa trong giải tích lồi. Tuy nhiên, các thuật tốn tối ưu hóa lồi địi hỏi khối lượng tính tốn khổng lồ khi hệ dưới xác định có kích thước rất lớn. Thuật tốn LARS cải biên được đưa ra bởi Tibshirani giải quyết hiệu quả bài tốn cực tiểu hóa tiêu chuẩn`1. Thay vì giải trực tiếp, thuật tốn LARS cải biên

giải bài tốn Lasso tìm cực tiểu hàm bình phương sai số thỏa mãn điều kiện ràng buộc vector nghiệm cần tìm có chuẩn`1nhỏ hơn ngưỡng(q)cho trước:

Tìmmin

x ky−Axk2

2 thỏa mãn điều kiện

kxk1≤q (2.2.26) Bài tốn Lasso (2.2.26) có thể được viết lại tương đương như một bài tốn tối ưu hóa khơng ràng buộc (khơng bị ép buộc): Tìm

min

x ky−Axk22 +λkxk1 (2.2.27) Ở đâyλ∈[0,∞)là một tham số hiệu chỉnh để điều kiển mối quan hệ (chuẩn mực) giữa trung bình bình phương sai số và tiêu chuẩn`1 của vector nghiệmx.

Để nghiệm của bài toán (2.2.27) là nghiệm của bài tốn cực tiểu hóa tiêu chuẩn

`1, vector nghiệm x được khởi tạo với tất cả các phần tử nhận giá trị 0 và cho giá trị λ

lớn, sau đó tại mỗi lần lặp giá trịλgiảm từ từ . Khiλgiảm dần tới 0, nghiệm của bài toán Lasso sẽ hội tụ tới nghiệm của bài tốn cực tiểu hóa tiêu chuẩn`1

Thuật tốn LARS cải biên với một thay đổi nhỏ so với thuật toán LARS cơ bản được dùng để giải bài toán Lasso nhanh hơn so với các thuật tốn tối ưu hóa lồi tuyến tính truyền thống. Để giải thích cho điều này, chúng ta bắt đầu giải bài tốn giống như giải bài tốn cực tiểu hóa thơng thường. Để đơn giản, ta ký hiệu:

∂xfλ(x) = −AT(y−Ax) +λ∂x(kxk1)

nên điều kiện0∈∂xfλ(x)trở thành:

−AT(y−Ax) +λ∂x(kxk)1 30 (2.2.28) Bởi vì số dưr =y−Ax, từ (2.2.28) trở thành:

−ATr+λ∂x(kxk1)30 (2.2.29) Nhắc lại, sự tương quan được tính bằng cách:c = ATr, phương trình (2.2.29) có

thể được biểu diễn như sau:

−c+λ∂x(kxk1)30

Hay:

c∈λ∂x(kxk1) (2.2.30)

Do gradient củak x k1 khơng tồn tại bởi vì chuẩn `1 khơng liên tục tại 0, vì vậy thay vì tìm gradient chúng ta có thể tìm subgradient của chuẩn`1 như sau:

∂x(kxk1=       

v(i) = sign(x(i)) nếux(i)6= 0

v ∈Rn :

v(i)∈[−1,1]∈ nếu x(i) = 0

Tại mỗi vòng lặp của LARS, các hệ số của vector nghiệmxtương ứng với tập hỗ trợI là khác 0 (x(i) 6= 0, i ∈ I). Các hệ số khác bằng 0(x(i) = 0, i ∈ Ic). Do đó bằng

cách sử dụng cơng thức trên , phương trình (2.2.30) được biểu diễn

c(I) = λsign(x(I)) (2.2.31)

Đối với các phần tử thuộc tập hỗ trợ và

|c(Ic)|≤λ (2.2.32) Với các phần tử không thuộc tập hỗ trợ.

Như vậy, thuật tốn LARS có thể giải được bài tốn Lasso nếu nó thỏa mãn các ràng buộc bởi phương trình (2.2.31) và (2.2.32) ở mỗi vịng lặp. Nói cách khác, để giải quyết bài toán Lasso, thuật toán LARS cải biên cần thỏa mãn:

1. Sự tương quan tuyệt đối giữa các cột hỗ trợ với vector dư tại mỗi bước lặp bằng vớiλ.

2. Dấu của vector tương quan và vector nghiệm tương thích trên tập hỗ trợ . 3. Giá trị tương quan tuyệt đối của các cột không hỗ trợ với vector dư tại mỗi bước lặp khơng lớn hơnλ.

Thuật tốn LARS cơ sở ln duy trì điều kiện được chỉ ra bởi đẳng thức (2.2.32) ở mỗi vịng lặp bởi vì sự tương quan tuyệt đối của các cột khơng hỗ trợ thì ln ln nhỏ hơnλ. Nếu chúng bằngλ, cột đó cần được cho vào tập hỗ trợ. Ngồi ra, thuật tốn LARS

cơ sở cũng duy trì một phần điều kiện được cho bởi phương trình (2.2.31) đó là sự tương

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp giải bài toán biểu diễn thưa (Trang 39)