Tại sao định mức ma trận mặc định là định mức phổ chứ không phải định mức Frobenius?


17

Đối với định mức vectơ, định mức L2 hoặc "khoảng cách Euclide" là định nghĩa được sử dụng rộng rãi và trực quan. Nhưng tại sao định nghĩa định mức "được sử dụng nhiều nhất" hoặc "mặc định" cho ma trận là định mức phổ , nhưng không phải là định mức Frobenius (tương tự như định mức L2 cho vectơ)?

Điều đó có liên quan gì đến các thuật toán lặp / công suất ma trận (nếu bán kính phổ nhỏ hơn 1, thì thuật toán sẽ hội tụ)?


  1. Nó luôn luôn được tranh luận cho các từ như "được sử dụng nhiều nhất", "mặc định". Từ "mặc định" được đề cập ở trên đến từ kiểu trả về mặc định trong Matlabhàm norm. Trong Rđịnh mức mặc định cho ma trận là định mức L1. Cả hai là "không tự nhiên" với tôi (đối với một ma trận, có vẻ như nhiều hơn "tự nhiên" để làm như trong vectơ). (Cảm ơn vì ý kiến ​​của @ usεr11852 và @ whuber và xin lỗi vì sự nhầm lẫn này.)i,jai,j2

  2. Có thể mở rộng việc sử dụng các tiêu chuẩn ma trận sẽ giúp tôi hiểu thêm?


4
Tôi không chắc chắn rằng định mức phổ được sử dụng rộng rãi nhất. Ví dụ, định mức Frobenius được sử dụng cho NNMF và thông thường khi xấp xỉ giải pháp cho các ma trận hiệu chỉnh / hiệp phương sai không phải là Pos.Def. và được thường xuyên hóa để trở thành Pos. Def. Nói chung, định mức Forbenius là một chỉ tiêu "khôn ngoan theo yếu tố" trong khi chỉ tiêu phổ dựa trên các giá trị riêng nên nó "phổ biến" hơn một chút nhưng đây là vấn đề quan điểm. Ví dụ: " Đại số ma trận " của Gentle theo nghĩa đen có một chương có tên: " The Frobenius Norm - The Us Usual Norm Norm ". Vì vậy, rõ ràng định mức phổ không phải là định mức mặc định cho tất cả.
usεr11852 nói Phục hồi Monic

2
@ hxd1011: Trong MATLAB ít nhất điều này được thực hiện bởi vì chỉ tiêu phổ thực sự là định mức ma trận . Các L 2 tiêu chuẩn ma trận là một tiên đề Ơclit kiểu vì nó được gây ra bởi các chuẩn mực vectơ, nơi | | Một | | 2 = tối đa | | x | | 2 = 1 | | Một x | | 2 . Rằng nắm bắt về việc có các chỉ tiêu cảm ứng cho ma trận, chúng được gây ra bởi một quy tắc vectơL2L2||A||2=max||x||2=1||Ax||2. Tôi đoán ý tưởng này đằng sau R quá. Nó có ý nghĩa cho lệnh "mặc định" normluôn trả về cùng một định mức.
usεr11852 nói Phục hồi Monic

3
Tôi không đồng ý rằng mặc định là Euclidian và được sử dụng phổ biến nhất là Spectral.
Aksakal

5
Tôi bị bối rối bởi câu hỏi này bởi vì tôi không thể thấy các tiêu chuẩn ma trận là vấn đề ưu tiên hoặc sử dụng. Nếu một chỉ tiêu cụ thể có liên quan đến một vấn đề, thì nó được sử dụng; nếu một cái khác có liên quan, thì nó được sử dụng. Sau đó, không có bất kỳ vấn đề hay ứng dụng rõ ràng nào, tôi không thể thấy câu hỏi này có thể trả lời được như thế nào.
whuber

5
@ usεr11852 Cảm ơn bạn đã chỉ ra điều đó. Điều quan trọng là văn bản của câu hỏi bao gồm tất cả các thông tin như vậy. Đừng dựa vào những người đọc các bình luận, đặc biệt là khi có nhiều người trong số họ. Ngẫu nhiên, trang trợ giúp cho "Norm {base}" trong bản sao của tôi Rliệt kê định mức làm mặc định, không phải là định mức phổ. L1
whuber

Câu trả lời:


13

Nói chung, tôi không chắc chắn rằng định mức phổ được sử dụng rộng rãi nhất. Ví dụ, định mức Frobenius được sử dụng để tính gần đúng giải pháp về hệ số ma trận không âm hoặc chính quy ma trận tương quan / hiệp phương sai . Tôi nghĩ rằng một phần của câu hỏi này xuất phát từ thuật ngữ sai lầm mà một số người mắc phải (bao gồm cả bản thân tôi) khi đề cập đến định mức Frobeniuschuẩn mực ma trận Euclide . Chúng ta không nên vì thực tế định mức ma trận (tức là chỉ tiêu phổ) là một quy tắc được tạo ra cho ma trận khi sử dụng định mức vectơ L 2 . Định mức Frobenius là yếu tố khôn ngoan: | | Một | |L2L2 , trong khichỉ tiêu ma trậnL2(||A||A||F=i,jai,j2L2) dựa trên các giá trị số ít, do đó, nó là "đơn vị" hơn. (vì may mắn của một thuật ngữ tốt hơn?)Định mức ma trậnL2là một định mức loại Euclide vì nó được tạo ra bởi định mức vectơ Euclide, trong đó| | Một| | 2=tối đa | | x | | 2 = 1 | | Mộtx| | 2. Do đó, nó là mộtquy tắc cảm ứngcho ma trận bởi vì nó đượcgây rabởi một||A||2=λmax(ATA))L2||A||2=max||x||2=1||Ax||2định mức vectơ , định mức vectơ trong trường hợp này.L2

Có lẽ MATLAB nhằm mục đích cung cấp định mức theo mặc định khi sử dụng lệnh ; như một hệ quả, nó cung cấp định mức vectơ Euclide nhưng cũng là định mức ma trận L 2 , tức là. các chuẩn mực phổ ma trận (chứ không phải là trích dẫn sai " Frobenius / tiêu chuẩn ma trận Euclide "). Cuối cùng, tôi xin lưu ý rằng định mức mặc định là vấn đề quan điểm đối với một số người mở rộng: Ví dụ: " Đại số ma trận - Lý thuyết, tính toán và ứng dụng trong thống kê " theo nghĩa đen có một chương (3.9.2) có tên: " Frobenius Norm - The Norm Usual Norm NormL2normL2"; rõ ràng là định mức phổ không phải là tiêu chuẩn mặc định cho tất cả các bên được xem xét! :) Theo nhận xét của @amoeba, các cộng đồng khác nhau có thể có các quy ước thuật ngữ khác nhau. Lin. Ứng dụng đại số trong Thống kê và tôi sẽ nhắc bạn xem xét thêm!


1
câu trả lời chính xác!! đã giúp tôi rất nhiều! A2=maxx2=1Ax2
Haitao Du

Tôi vui vì tôi có thể giúp. Xin lưu ý các câu trả lời khác được cung cấp quá. Họ khá sâu sắc.
usεr11852 nói Phục hồi Monic

8

Một phần của câu trả lời có thể liên quan đến điện toán số.

Khi bạn giải quyết hệ thống

Ax=b
với độ chính xác hữu hạn, bạn không nhận được câu trả lời chính xác cho vấn đề đó. Bạn nhận được một xấp xỉ x~ do các ràng buộc của mỹ phẩm hữu hạn, do đó Ax~b , theo một nghĩa nào đó phù hợp. Giải pháp của bạn đại diện cho cái gì? Vâng, nó cũng có thể là một chính xác giải pháp cho một số hệ thống khác như
A~x~=b~
Vì vậy, đối x~ có ích, dấu ngã-hệ thống phải được gần gũi với các hệ thống ban đầu:
A~A,b~b
A~Ab~bA~Ab~bl1ll2l2l2


3
+1, đặc biệt cho các câu đố. Tôi đã luôn nghĩ rằng nó bắt đầu với [k]. Bây giờ tôi đã tra cứu nó và rõ ràng André-Louis Cholesky là người Ba Lan đàng hoàng (mặc dù sinh ra ở Pháp). Không phải đó là âm "sh", như trong Chopin sao? Tuy nhiên, trong tiếng Nga Cholesky thực sự được viết theo truyền thống là ХХлец
amip nói rằng Phục hồi lại

3
Tôi lấy lại Hóa ra cha của Chopin là người Pháp, do đó phát âm tiếng Pháp của họ. Nhưng cha mẹ của Cholesky là người Ba Lan và tiếng Ba Lan nên được phát âm bằng [χ]. Chúc mừng.
amip nói rằng Phục hồi lại

Vâng ... Tôi đã nghĩ rằng là một người Nga có tên Ba Lan và lần đầu tiên đọc rằng tiếng Nga đánh vần khoảng một thập kỷ trước khi lần đầu tiên nhìn thấy nó được đánh vần bằng các chữ cái Latinh, tôi có một số ý tưởng về cách phát âm nó;)
StasK

2
Ai quan tâm làm thế nào để phát âm nó, chỉ cần sử dụng những thứ chết tiệt.
Mark L. Stone

7

The answer to this depends on the field you're in. If you're a mathematician, then all norms in finite dimensions are equivalent: for any two norms a and b, there exist constants C1,C2, which depend only on dimension (and a,b) such that:

C1xbxaC2xb.

This implies that norms in finite dimensions are quite boring and there is essentially no difference between them except in how they scale. This usually means that you can choose the most convenient norm for the problem you're trying to solve. Usually you want to answer questions like "is this operator or procedure bounded" or "does this numerical process converge." With boundedness, you only usually care that something is finite. With convergence, by sacrificing the rate at which you have convergence, you can opt to use a more convenient norm.

For example, in numerical linear algebra, the Frobenius norm is sometimes preferred because it's a lot easier to calculate than the euclidean norm, and also that it naturally connects with a wider class of Hilbert Schmidt operators. Also, like the Euclidean norm, it's submultiplictive: ABFAFBF, unlike say, the max norm, so it allows you to easily talk about operator multiplication in whatever space you're working in. People tend to really like both the p=2 norm and the Frobenius norm because they have natural relations to both the eigenvalues and singular values of matrices, along with being submultiplictive.

For practical purposes, the differences between norms become more pronounced because we live in a world of dimensions and it usually matters how big a certain quantity is, and how it's measured. Those constants C1,C2 above are not exactly tight, so it becomes important just how much more or less a certain norm xa is compared to xb.


7
Unfortunately, the term "equivalence", as in norms, can and has been misinterpreted, including by people with Ph.D.s in Computer Science. I needed to implement a certain non-trivial calculation using a 2-norm, and this guy produced a solution using a 1-norm, because that was much easier, and after all, he had heard that all norms are equivalent. Well, being off by a factor of (up to) n was not adequate for me. In that application, I could only afford to be off by a factor of 1.
Mark L. Stone

@MarkL.Stone: Right, hence the distinction between theoretical (really: topological) and practical.
Alex R.

@MarkL.Stone: +1 Clearly he was not unit-testing his code. :) (Nice anecdote! I will definitely use it when talking about miscommunications in technical computing!)
usεr11852 says Reinstate Monic

@usεr11852 ha ha, no, it's worse than that. He did "unit-test" the code as correctly implementing the calculation based on the 1-norm. It failed my system-level examination because it used the wrong norm.
Mark L. Stone

@MarkL.Stone: Oh... that's a pity! Having said that, I don't know if you were using an particular hardware configuration or something but to begin with coding a norm calculation from scratch is no-no; there are mathematics libraries one should use to avoid such issues altogether.
usεr11852 says Reinstate Monic
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.