Khi nào các phép biến đổi trực giao vượt trội hơn việc loại bỏ Gaussian?


22

Như chúng ta đã biết, các phương pháp biến đổi trực giao (xoay Givens và phản xạ Housholder) cho các hệ phương trình tuyến tính đắt hơn loại bỏ Gaussian, nhưng về mặt lý thuyết có các tính chất ổn định đẹp hơn theo nghĩa là chúng không thay đổi số điều kiện của hệ thống. Mặc dù tôi chỉ biết một ví dụ học thuật về ma trận bị phá hủy bởi việc loại bỏ Gaussian với trục xoay một phần. Và có ý kiến ​​chung cho rằng rất khó có thể đáp ứng loại hành vi này trong thực tế (xem ghi chú bài giảng này [pdf] ).

Vì vậy, chúng ta sẽ tìm câu trả lời về chủ đề này ở đâu? Thực hiện song song? Đang cập nhật? ..

Câu trả lời:


24

Độ chính xác

Trefethen và Schreiber đã viết một bài báo xuất sắc, Tính ổn định trong trường hợp trung bình của Loại bỏ Gaussian , trong đó thảo luận về khía cạnh chính xác của câu hỏi của bạn. Dưới đây là một vài kết luận của nó:

  1. "Đối QR thừa số có hoặc không có cột pivoting, yếu tố tối đa trung bình của ma trận còn lại là O(n1/2) , trong khi cho Gaussian loại bỏ nó là O(n) . Sự so sánh này cho thấy Gaussian loại bỏ là nhẹ không ổn định, nhưng sự không ổn định sẽ chỉ có thể phát hiện được đối với các vấn đề ma trận rất lớn được giải quyết với độ chính xác thấp. Đối với hầu hết các vấn đề thực tế, việc loại bỏ Gaussian rất ổn định ở mức trung bình. "(Khai thác mỏ)

  2. "Sau vài bước đầu tiên của việc loại bỏ Gaussian, các phần tử ma trận còn lại được phân phối một cách bình thường, bất kể chúng có bắt đầu theo cách đó hay không."

Có nhiều hơn nữa về bài báo mà tôi không thể nắm bắt được ở đây, bao gồm cả cuộc thảo luận về ma trận trường hợp xấu nhất mà bạn đề cập, vì vậy tôi thực sự khuyên bạn nên đọc nó.

Hiệu suất

Đối với ma trận thực vuông, LU với pivoting phần đòi hỏi khoảng thất bại, trong khi Householder dựa trên QR đòi hỏi khoảng 4 / 3 n 3 thất bại. Do đó, đối với ma trận vuông lớn hợp lý, hệ số QR sẽ chỉ đắt gấp đôi so với nhân tố LU.2/3n34/3n3

Cho ma trận, nơi m n , LU với pivoting phần đòi hỏi m n 2 - n 3 / 3 thất bại, so với QR của 2 m n 2 - 2 n 3 / 3 (mà vẫn còn gấp đôi so với LU nhân tử). Tuy nhiên , điều đáng ngạc nhiên là các ứng dụng tạo ra ma trận gầy rất cao ( m n ) và Demmel et al. có một bài viết hay, yếu tố QR song song và tránh giao tiếpm×nmnmn2n3/32mn22n3/3mn, trong đó (trong phần 4) thảo luận về một thuật toán thông minh chỉ yêu cầu gửi thông điệp khi bộ xử lý p được sử dụng, so với thông điệp n log p của các phương pháp truyền thống. Chi phí là các flop O ( n 3 log p ) được thực hiện, nhưng đối với n rất nhỏ, điều này thường được ưu tiên hơn so với chi phí gửi tin nhắn (ít nhất là khi chỉ cần thực hiện một yếu tố QR duy nhất).logppnlogpO(n3logp)n


10

Tôi ngạc nhiên không ai đề cập đến các vấn đề bình phương tối thiểu tuyến tính , xảy ra thường xuyên trong điện toán khoa học. Nếu bạn muốn sử dụng loại bỏ Gaussian, bạn phải hình thành và giải các phương trình bình thường, giống như:

ATAx=ATb,

Trong đó là ma trận các điểm dữ liệu tương ứng với các quan sát của các biến độc lập, x là vectơ của các tham số cần tìm và b là vectơ của các điểm dữ liệu tương ứng với các quan sát của biến phụ thuộc.Axb

Như Jack Poulson thường chỉ ra, số điều kiện của là bình phương của số điều kiện của A , do đó các phương trình bình thường có thể bị điều hòa một cách thảm hại. Trong những trường hợp như vậy, mặc dù các cách tiếp cận dựa trên QR và SVD chậm hơn, nhưng chúng mang lại kết quả chính xác hơn nhiều.ATAA


2
Upvoted, nhưng QR nên thực sự có thể ngang bằng với LU nếu bạn xem xét các không cần thiết hoạt động cần thiết để tạo thành một H Một (QR chỉ yêu cầu 2 / 3 n 3 hơn flops hơn LU). Cách tiếp cận SVD vẫn phải chậm hơn (người ta có thể nghĩ về chi phí của nó là khoảng 6 n 3 ). n3AHA2/3n36n3
Jack Poulson

1
Ngoài sự ổn định được đảm bảo bằng việc sử dụng các phép biến đổi trực giao, ưu điểm lớn của SVD là phép phân tách cung cấp kiểm tra điều kiện riêng của nó, vì tỷ lệ của giá trị số nhỏ nhất với giá trị số nhỏ nhất chính xác là số điều kiện (2-Norm). Đối với các phân tách khác, việc sử dụng một công cụ ước tính điều kiện (ví dụ: Hager-Higham), mặc dù không đắt như phân tách thích hợp, có phần "được xử lý".
JM

1
@JackPoulson Chỉ vì tò mò, bạn có tham khảo về số lượng flop của mình cho SVD không? Từ những gì tôi có thể nhận ra từ một cái nhìn nhanh trong Golub & Van Loan (trang 254 phiên bản thứ 3), hằng số có vẻ cao hơn khi sử dụng SVD trong việc giải các bài toán bình phương nhỏ nhất, nhưng tôi có thể nhầm. Cảm ơn trước.
OscarB

1
@OscarB: Đó là một con số rất khó khăn trên đỉnh đầu của tôi thấp hơn so với việc hình thành toàn bộ SVD (vì chúng tôi có thể tránh được chi phí chuyển đổi ngược). công việc là cần thiết cho việc giảm mẫu bidiagonal (nói, Một = F B G H ), một số lượng công việc, nói C , là cần thiết cho SVD bidiagonal ( B = U Σ V H ), và sau đó x : = ( G ( V ( i n v ( Σ ) ( U H (8/3n3A=FBGHCB=UΣVH , cần phải có O ( n 2 ) làm việc. Do đó, vấn đềlà C lớn đến mức nào... nếu MRRR hoạt động ở đây thì nó sẽ là O ( n 2 ) , nhưng cho đến lúc đó nó phụ thuộc vào khối và vấn đề. x:=(G(V(inv(Σ)(UH(FHb)))))O(n2)CO(n2)
Jack Poulson

1
@JM Lưu ý, mặc dù, rằng số điều kiện của bài toán bình phương nhỏ nhất không phải là "cổ điển" số điều kiện của một ma trận; nó là một số lượng phức tạp hơn. σ1σn
Federico Poloni

3

Làm thế nào để bạn đo lường hiệu suất? Tốc độ? Độ chính xác? Ổn định? Một bài kiểm tra nhanh trong Matlab cho các điểm sau:

>> N = 100;
>> A = randn(N); b = randn(N,1);
>> tic, for k=1:10000, [L,U,p] = lu(A,'vector'); x = U\(L\b(p)); end; norm(A*x-b), toc
ans =
   1.4303e-13
Elapsed time is 2.232487 seconds.
>> tic, for k=1:10000, [Q,R] = qr(A); x = R\(Q'*b); end; norm(A*x-b), toc             
ans =
   5.0311e-14
Elapsed time is 7.563242 seconds.

Vì vậy, việc giải quyết một hệ thống duy nhất bằng phân rã LU nhanh gấp khoảng ba lần so với giải quyết hệ thống bằng phân rã QR, với chi phí là một nửa chữ số thập phân chính xác (ví dụ này!).


Bất kỳ giá trị nào bạn đề nghị đều được chào đón.
faleichik

3

Bài báo bạn trích dẫn bảo vệ Loại bỏ Gaussian bằng cách nói rằng mặc dù nó không ổn định về mặt số lượng, nó có xu hướng làm tốt trên các ma trận ngẫu nhiên và vì hầu hết các ma trận người ta có thể nghĩ giống như ma trận ngẫu nhiên, chúng ta sẽ ổn. Tuyên bố tương tự này có thể được nói về nhiều phương pháp không ổn định về số lượng.

Hãy xem xét không gian của tất cả các ma trận. Những phương pháp này hoạt động tốt ở hầu hết mọi nơi. Đó là 99,999 ...% của tất cả các ma trận mà một người có thể tạo sẽ không gặp vấn đề gì với các phương thức không ổn định. Chỉ có một phần rất nhỏ ma trận mà GE và những người khác sẽ gặp khó khăn.

Các vấn đề mà các nhà nghiên cứu quan tâm có xu hướng nằm trong phần nhỏ đó.

Chúng tôi không xây dựng ma trận ngẫu nhiên. Chúng tôi xây dựng ma trận với các thuộc tính rất đặc biệt tương ứng với các hệ thống rất đặc biệt, không ngẫu nhiên. Những ma trận này thường bị điều hòa.

Về mặt hình học, bạn có thể xem xét không gian tuyến tính của tất cả các ma trận. Có một không gian con khối lượng / số đo của ma trận số ít cắt qua không gian này. Nhiều vấn đề mà chúng tôi xây dựng được tập hợp xung quanh không gian con này. Chúng không được phân phối ngẫu nhiên.

Như một ví dụ xem xét các phương trình nhiệt hoặc phân tán. Các hệ thống này có xu hướng loại bỏ thông tin khỏi hệ thống (tất cả các trạng thái ban đầu bị hút về một trạng thái cuối cùng) và kết quả là các ma trận mô tả các phương trình này rất kỳ dị. Quá trình này rất khó xảy ra trong một tình huống ngẫu nhiên nhưng có mặt khắp nơi trong các hệ thống vật lý.


2
Nếu hệ thống tuyến tính ban đầu không được điều hòa thì cho dù bạn sử dụng phương pháp nào: cả phân tách LU và QR đều cho kết quả không chính xác. QR chỉ có thể giành chiến thắng trong các trường hợp khi quá trình loại bỏ Gaussian "làm hỏng" một ma trận tốt. Vấn đề chính là các trường hợp thực tế của hành vi như vậy không được biết đến.
faleichik

Đối với hầu hết các ứng dụng khoa học, chúng ta thường thu được các ma trận thưa thớt, đối xứng, xác định dương và / hoặc chiếm ưu thế theo đường chéo. Với rất ít ngoại lệ, có cấu trúc trong ma trận cho phép chúng ta khai thác một số kỹ thuật nhất định trên việc loại bỏ gaussian truyền thống.
Paul

@Paul: Mặt khác, việc loại bỏ Gaussian dày đặc là nơi mà phần lớn thời gian được dành cho phương pháp đa diện cho các ma trận không đối xứng thưa thớt.
Jack Poulson

6
@Paul Điều không đúng là "hầu hết các ứng dụng tạo ra ma trận thống trị SPD / theo đường chéo". Vâng, thường có cấu trúc có thể khai thác của một số loại, nhưng các vấn đề không đối xứng và không xác định là cực kỳ phổ biến.
Jed Brown

4
"Trong năm mươi năm tính toán, không có vấn đề ma trận nào gây ra sự mất ổn định bùng nổ được biết là đã phát sinh trong hoàn cảnh tự nhiên." - LN Trefethen và D. Bau Họ đưa ra một phân tích xác suất thú vị trong cuốn sách của họ.
JM
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.