Các phương pháp giải phương trình đại số tuyến tính trong thuật

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 30 - 35)

10 So sánh bước cập nhật vector nghiệm của OMP và LARS trước và sau

2.1.3 Các phương pháp giải phương trình đại số tuyến tính trong thuật

limk−→+∞ krk−Pwyk= 0 (2.1.6)

b) Xấp xỉ tại bước thứk của vectoryđược ký hiệuybk và được xác định như sau:

b

yk =PVyvới k=0,1,2,...

Đối với thuật toán OMP, với mỗi vector y và ma trận A có một xác suất cao để phục hồi một tín hiệuk thưa (chỉ bao gồmk các phần tử khác 0) sử dụng tối đa k bước lặp. Do đó sự phức tạp tính tốn của OMP sẽ làO(mnk). Vì vậy, thuật tốn OMP là một

thuật tốn hiệu quả để tìm ra một nghiệm thưa của một phương trình tuyến tính dưới xác định khi độ thưaklà tương đối nhỏ.

2.1.3 Các phương pháp giải phương trình đại số tuyến tính trong thuậttốn OMP tốn OMP

Tìm hướng trong thuật tốn OMP dựa trên phân tích QR

Trong thuật tốn OMP, một cột được chọn và thêm vào tập hỗ trợ chỉ một lần, còn thuật tốn MP một cột có thể được chọn nhiều lần trong q trình tính tốn. Vì vậy, thuật tốn MP u cầu số lần lặp nhiều hơn thuật tốn OMP để hội tụ và tìm nghiệm cuối cùng. Tuy nhiên, mỗi bước lặp của thuật tốn OMP địi hỏi chi phí tính toán cao hơn so với mỗi bước lặp của thuật toán MP.

Hiện tại, thuật toán OMP thực hiện hiệu quả nhất dựa trên phân tích QR. Trong q trình thực hiện phân tích QR, ma trậnASk được phân tích như sau:

ASk =QSkRSk (2.1.7) Trong đóQSk ∈Rn×mlà một ma trận unitary vàRSk là một ma trận tam giác trên. Phương trình (2.1.6) trở thành:

ATSkASkxSk = (QSkRSk)TQSkRSkxSk =ATSky (2.1.8) và xấp xỉ thứk củay

b

ySk =ASkySk =QSkRSkySk (2.1.9) Nếu chúng ta đặt zSk = RSkySk thì việc thực hiện thuật tốn OMP rất hiệu quả khơng cần phải tính tốnx trong mỗi lần lặp. Khi đó thuật tốn trở thành:

1. Khởi tạo: r0 = y, z0 = 0, S0 = ∅, k = 1

2. Lặp chính: tăng k lên 1 và thực hiện các bước sau:

a. Quét: Tính tập sai số cực tiểu (j) = minzjk ajzj −rk−1 k22 với tất cảj sử dụng lựa chọn tối ưu zj∗ = a

T j rk−1 k aj k2 2 b. Cập nhật hỗ trợ: tìm giá trị nhỏ nhất, j0 của ε(j):∀j 6= Sk−1 và ε(j0) ≤ ε(j) cập nhât Sk = Sk−1∪ {j0} c. Cập nhật QSk vàRSk sao choASk = QSkRSk,QTSk = QSk = I vàRSk là ma trận tam giác trên.

d. Tính nghiệm tạm thời zSk = [zSk−1;zk] e. Cập nhật số dư: tính tốn rk = rk−1 = zkq

3. Dừng: Nếu k rk k2< ε0 khi đó xSk = (RSk)−1zSk ngược lại quay về bước 2 4.Đầu ra nghiệm xk

Có một số thủ thuật tính tốn quan trọng được sử dụng khi thực hiện các thuật tốn trên. Phân tích QR trong bước (2c) có thể được giải quyết bằng cách sử dụng phương pháp Modified Gram-Schmidt. Trong bước lặp thứ k cả QSk và RSk được cập nhật sử dụng công thức RSk = " RSk−1 w 0 kq k2 # Và: QSk = [QSk−1;q] (2.1.10) Trong đó w=QTSk−1aj0 q= √ aj0−w kaj0k2−kwk2

Cuối cùng có thể tính đượcxSk bằng phép thế ngược.

Với việc tìm kiếm, cập nhật hệ số QR trong mỗi lần lặp có độ phức tạpO(M+N k)

và mất O(MN) để cập nhật số dư. Do phương pháp này khơng tính tốnytrong mỗi lần lặp, nên y phải được tính tốn sau khi thuật toán đã được dừng lại bằng cách sử dụng phương án thay thế ngược, với độ phức tạp O(k2). Theo cách này, tổng phức tạp của

OMP trong k lần lặp là O(M N +N k) trong quá trình thực hiện OMP khơng tính tốn nghiệm hoặc số dư trong quá trình phân hủy. u cầu bộ nhớ của nó làO(M N+N k+k2)

vì nó khơng cần lưu trữ các Gram.

Tìm hướng trong thuật tốn OMP dựa trên phân tích Cholesky

Bây giờ, chúng ta thực hiện trong thuật tốn OMP dựa trên phân tích Cholesky. Ma trận con GramATSkASk được phân tích như sau:

ATSkASk =LSkLTSk (2.1.11) Trong đóLSk ∈Rm×n là một ma trận tam giác dưới.

Phương trình (2.1.5) trở thành:

ATSkASkxSk =LSkLTSkxSk =ATSky (2.1.12) Khi đó thuật tốn trở thành:

1. Khởi tạo: r0 = y, x0 = 0, S0 = ∅, k = 1

2. Lặp chính: tăng k lên 1 và thực hiện các bước sau:

a. Quét: Tính tập sai số cực tiểu (j) = minzj k ajzj −rk−1 k22

với tất cả j sử dụng lựa chọn tối ưu zj∗ = a

T jrk−1 k aj k2 2 b. Cập nhật hỗ trợ: tìm giá trị nhỏ nhất j0 củaε(j):∀j 6= Sk−1 và ε(j0) ≤ ε(j) cập nhật Sk = Sk−1∪ {j0}

c. Cập nhật LSk sao cho ATSkASk = LSkLTSk, vàLSk là ma trận tam giác dưới. d. Tính nghiệm tạm thời xSk = (ATSkASk)−1ATSky

-Cập nhật số dư: tính tốn rk = y −ASkxSk

3. Dừng: Nếu k rk k2< ε0 khi đó xSk = (ATSkASk)−1ATSky ngược lại quay về bước 2

4. Đầu ra nghiệm xkS

Có một số thủ thuật tính tốn quan trọng được sử dụng khi thực hiện các thuật tốn trên. Ta có: LSkLTSk =ATSkASk = " ATSk−1ASk−1 ATSk−1aj0 aj0ASk−1 kaj0 k2 # = " LSk−1 0 νT b # " LTSk ν 0 b∗ #

Trong đó: k ν k2 + k b k2=k aj0 k2. Đầu tiên cần giải ν trong hệ tam giác

LSk−1ν = ATSkaj0, sau đó cập nhật hệ số Cholesky trong bước (2c) bằng cách thêm một hàng và cột. LSk = " LSk−1 0 νT pkaj0 k2 − kνk2 #

Do đó, để xác đinh nghiệm tạm thời xSk trong (2d) chúng ta chỉ cần giải hai hệ phương trình đại số tuyến tính với ma trận tam giác bằng phép thế ngược.

LSkZ =ATSky

Và:LTSkxSk =z

Việc giải một hệ tam giác có kích thướck có độ phức tạpO(k2), độ phức tạp của

việc tìm kiếm và cập nhật ma trận tam giác làO(M +k2+k). Cập nhật hệ số Cholesky

với độ phức tạp O(k2), cập nhật số dư và dự báo với độ phức tạp lần lượt là O(Nk) và

O(NM). Vậy tổng độ phức tạp của lần lặpk là O(N M +k2+N k). Yêu cầu bộ nhớ của

nó làO(M2+M N +N k+k+k2).

Bây giờ, chúng ta đi đánh giá độ phức tạp của hai phương pháp giải hệ đại số tuyến tính trong thuật tốn OMP. Chi phí thực hiện của tht tốn OMP dựa trên phân tích QR và Cholesky được tóm tắt trong bảng sau:

Đối với các ma trận từ điển chưa có cấu trúc và nếu N là đủ nhỏ, cách tiếp cận dựa trên phân tích QR có thời gian nhanh hơn cách tiếp cận dựa trên phân tích Cholesky, tuy nhiên đối với những bài toán lớn hơn, yêu cầu về bộ nhớ trở nên quá lớn và phải áp

Thuật toán Độ phức tạp Yêu cầu bộ nhớ

OMP QR O(N M + N k) O(M N +N k +k2)

OMP Cholesky O(N M +k2 +N k O(M2+ M N +k +k2)

Bảng 5: Đánh giá độ phức tạp của OMP dựa trên phân tích QR và Cholesky.

Phương pháp tiếp cận dựa trên phân tích Cholesky cần bộ nhớ ít hơn nhiều so với phương pháp dựa trên phân tích QR, nhưng nó địi hỏi hai phép nhân vector từ điển bổ sung, mà cho các từ điển khơng có cấu trúc có thể tốn kém. Tuy nhiên cách tiếp cận phân tích Cholesky có thể nhanh hơn nếu sử dụng từ điển có cấu trúc và số lượng các phần tử khác không là nhỏ, trong khi phương pháp dựa trên phân số QR nhanh hơn với các từ điển khơng có cấu trúc có số lượng lớn các phần tử khác 0.

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 30 - 35)