¿Por qué la norma de matriz predeterminada es la norma espectral y no la norma de Frobenius?


17

Para la norma vectorial, la norma L2 o "distancia euclidiana" es la definición ampliamente utilizada e intuitiva. Pero, ¿por qué la definición de norma "más utilizada" o "predeterminada" para una matriz es la norma espectral , pero no la norma Frobenius (que es similar a la norma L2 para los vectores)?

¿Tiene eso algo que ver con algoritmos iterativos / potencias de matriz (si el radio espectral es menor que 1, entonces el algoritmo convergerá)?


  1. Siempre es discutible para las palabras como "más utilizado", "predeterminado". La palabra "predeterminado" mencionada anteriormente proviene del tipo de retorno predeterminado en la Matlabfunción norm. En Rla norma predeterminada para la matriz es la norma L1. Ambos son "antinaturales" para mí (para una matriz, parece más "natural" hacer como en un vector). (Gracias por los comentarios de @ usεr11852 y @ whuber y perdón por la confusión).i,jai,j2

  2. ¿Se puede ampliar el uso de la norma de la matriz que me ayudaría a comprender más?


44
No estoy seguro de que la norma espectral sea la más utilizada. Por ejemplo, la norma de Frobenius se usa para NNMF y generalmente al aproximar la solución a matrices de corr / covarianza que no son Pos.Def. y se regularizan para convertirse en Pos. Def. En general, la norma de Forbenius es una norma de "elemento sabio" per se, mientras que la norma espectral se basa en los valores propios, por lo que es un poco más "universal", pero esto es una cuestión de opinión. Por ejemplo, " Matrix Algebra " de Gentle literalmente tiene un capítulo llamado: " La norma Frobenius - La norma" habitual ". Claramente, la norma espectral no es la norma predeterminada para todos.
usεr11852 dice Reinstate Monic el

2
@ hxd1011: en MATLAB al menos esto se hace porque la norma espectral es en realidad la norma de la matriz . La norma de la matriz es una norma de tipo euclidiano ya que es inducida por la norma del vector euclidiano, donde . Que la trampa de haber inducido normas para matrices, son inducidas por una norma vectorial . Supongo que esta es la idea detrás de R también. Tiene sentido que el comando "predeterminado" siempre devuelva la misma norma. L2L2||A||2=max||x||2=1||Ax||2norm
usεr11852 dice Reinstate Monic el

3
No estoy de acuerdo con que el valor predeterminado sea Euclidian, y que el más utilizado sea Spectral.
Aksakal

55
Me desconcierta esta pregunta porque no puedo ver cómo las normas de la matriz son cuestión de preferencia o uso. Si una norma particular es relevante para un problema, entonces se usa; si otro es relevante, entonces se usa. Sin ningún problema claro o aplicación en mente, entonces, no puedo ver cómo esta pregunta es respondible.
whuber

55
@ usεr11852 Gracias por señalarlo. Es importante que el texto de la pregunta incluya toda esa información. No confíe en las personas que leen los comentarios, especialmente cuando hay muchos de ellos. Por cierto, la página de ayuda para "norma {base}" en mi copia de Renumera la norma como predeterminada, no la norma espectral. L1
Whuber

Respuestas:


13

En general, no estoy seguro de que la norma espectral sea la más utilizada. Por ejemplo, la norma de Frobenius se usa para aproximar la solución en factorización de matriz no negativa o regularización de matriz de correlación / covarianza . Creo que parte de esta pregunta proviene del delito de terminología que algunas personas hacen (incluido yo mismo) cuando se refieren a la norma de Frobenius como la norma de la matriz euclidiana . No deberíamos porque en realidad la norma de la matriz (es decir, la norma espectral) es la que se induce a las matrices cuando se usa la norma del vector . La norma de Frobenius es que es un elemento sabio: , mientras queL2L2||A||F=i,jai,j2| El | A| El | 2=L2la norma de matriz ( ) se basa en valores singulares, por lo que es más "universal". (¿para tener suerte de un término mejor?) La norma de la matriz es una norma de tipo euclidiano ya que es inducida por la norma del vector euclidiano, donde . Por lo tanto, es una norma inducida para matrices porque es inducida por una norma vectorial , la norma vectorial en este caso.L2| El | A| El | 2=max | El | x | El | 2 = 1 | El | Ax| El | 2L2||A||2=λmax(ATA))L2||A||2=max||x||2=1||Ax||2L2

Probablemente MATLAB tiene como objetivo proporcionar la norma por defecto cuando se utiliza el comando ; Como consecuencia, proporciona la norma del vector euclidiano, pero también la norma de la matriz , es decir. la norma de la matriz espectral (en lugar de la " norma de la matriz de Frobenius / Euclidiana " erróneamente citada ). Finalmente, permítanme señalar que la norma predeterminada es una cuestión de opinión hasta cierto punto: por ejemplo, " Matrix Algebra - Theory, Computations and Applications in Statistics " de JE Gentle literalmente tiene un capítulo (3.9.2) llamado: " The Frobenius Norma - La norma "habitual"L2normL2"; ¡así que claramente la norma espectral no es la norma predeterminada para todas las partes consideradas! :) Como comentó @amoeba, las diferentes comunidades podrían tener diferentes convenciones terminológicas. No hace falta decir que creo que el libro de Gentle es un recurso invaluable sobre el tema de Lin. Aplicación de Álgebra en Estadísticas y le pediría que lo busque más.


1
¡¡gran respuesta!! me ayudó mucho! A2=maxx2=1Ax2
Haitao Du

Me alegro de poder ayudar. Tome nota de las otras respuestas proporcionadas también. Son bastante perspicaces.
usεr11852 dice Reinstate Monic el

8

Una parte de la respuesta puede estar relacionada con la computación numérica.

Cuando resuelve el sistema con precisión finita, no obtiene la respuesta exacta a ese problema. Obtiene una aproximación debido a las restricciones de la aritmética finita, de modo que , en algún sentido adecuado. ¿Qué representa tu solución, entonces? Bueno, puede ser una solución exacta para algún otro sistema como Entonces, para que tenga utilidad, el sistema tilde debe estar cerca del sistema original: Si su algoritmo

Ax=b
x~Ax~b
A~x~=b~
x~
A~A,b~b
de resolver el sistema original satisface esa propiedad, entonces se conoce como estable hacia atrás . Ahora, el análisis preciso de cuán grandes son las discrepancias , eventualmente conduce a errores en los límites que se expresan como,. Para algunos análisis, la norma (suma máxima de columnas) es la más fácil de , para otros, la norma (suma máxima de filas) es la más fácil de aplicar (para componentes de la solución en el caso del sistema lineal , por ejemplo), y para otros, la norma espectral es la más apropiada (inducida por el tradicionalA~Ab~bA~Ab~bl1ll2l2norma vectorial, como se señala en otra respuesta ). Para el trabajo de la computación estadística en la inversión de matriz simétrica psd, descomposición de Cholesky (trivia: el primer sonido es un [x] como en la letra griega "chi", no [tʃ] como en "chase"), la norma más conveniente para realizar un seguimiento de los límites de error es la norma ... aunque la norma Frobenius también aparece en algunos resultados, por ejemplo, en la inversión de matriz particionada.l2


3
+1, en particular para las curiosidades. Siempre he pensado que comienza con [k]. Lo busqué ahora y aparentemente André-Louis Cholesky era de ascendencia polaca (aunque nació en Francia). ¿No debería ser un sonido "sh" entonces, como en Chopin? Sin embargo, en ruso Cholesky se escribe tradicionalmente como Холецкий.
ameba dice Reinstate Monica

3
Me retracto. Resulta que el padre de Chopin era francés, de ahí la pronunciación francesa del apellido. Pero los padres de Cholesky eran polacos y en polaco debería haberse pronunciado con [ ]. Salud. χ
ameba dice Reinstate Monica

Sí ... pensé que como ruso con un primer nombre en polaco, y después de haber leído esa ortografía rusa aproximadamente una década antes de verla escrita en letras latinas, tendría alguna idea de cómo pronunciarla;)
StasK

2
A quién le importa cómo pronunciarlo, solo usa la maldita cosa.
Mark L. Stone

7

La respuesta a esto depende del campo en el que se encuentre. Si es matemático, entonces todas las normas en dimensiones finitas son equivalentes : para cualesquiera dos normas y , allí existen constantes , que dependen solo de la dimensión (y a, b) de modo que:ab C1,C2

C1xbxaC2xb.

Esto implica que las normas en dimensiones finitas son bastante aburridas y esencialmente no hay diferencia entre ellas, excepto en cómo se escalan. Esto generalmente significa que puede elegir la norma más conveniente para el problema que está tratando de resolver . Por lo general, desea responder preguntas como "¿está limitado este operador o procedimiento" o "converge este proceso numérico"? Con límites, generalmente solo te importa que algo sea finito. Con la convergencia, al sacrificar la velocidad a la que tiene convergencia, puede optar por utilizar una norma más conveniente.

Por ejemplo, en álgebra lineal numérica, a veces se prefiere la norma de Frobenius porque es mucho más fácil de calcular que la norma euclidiana, y también que se conecta naturalmente con una clase más amplia de operadores de Hilbert Schmidt . Además, al igual que la norma euclidiana, es submultiplictiva: , a diferencia de, por ejemplo, la norma máxima, por lo que le permite hablar fácilmente sobre la multiplicación del operador en lo que sea espacio en el que está trabajando. A la gente le gusta mucho la norma y la norma Frobenius porque tienen relaciones naturales con los valores propios y los valores singulares de las matrices, además de ser submultiplictivas.ABFAFBFp=2

Para fines prácticos , las diferencias entre las normas se vuelven más pronunciadas porque vivimos en un mundo de dimensiones y generalmente importa cuán grande es una determinada cantidad y cómo se mide. Esas constantes anteriores no son exactamente estrictas, por lo que se vuelve importante cuánto más o menos una determinada norma se compara con .C1,C2xaxb


77
Desafortunadamente, el término "equivalencia", como en las normas, puede y ha sido malinterpretado, incluso por personas con doctorados en informática. Necesitaba implementar un cierto cálculo no trivial usando una norma 2, y este tipo produjo una solución usando una norma 1, porque eso era mucho más fácil, y después de todo, había escuchado que todas las normas son equivalentes. Bueno, estar fuera por un factor de (hasta) no era adecuado para mí. En esa solicitud, solo podía permitirme estar fuera por un factor de 1.n
Mark L. Stone

@ MarkL.Stone: Correcto, de ahí la distinción entre teórico (realmente: topológico) y práctico.
Alex R.

@ MarkL.Stone: +1 Claramente no estaba probando su código de forma unitaria. :) (Niza anécdota que sin duda va a usar cuando se habla de problemas de comunicación en la informática técnica!)
usεr11852 dice Restablecer Monic

@ usεr11852 ja, ja, no, es peor que eso. Hizo una "prueba unitaria" del código, ya que implementaba correctamente el cálculo basado en la norma 1. Falló mi examen de nivel de sistema porque usó la norma incorrecta.
Mark L. Stone

@ MarkL.Stone: Oh ... ¡es una pena! Dicho esto, no sé si estaba utilizando una configuración de hardware en particular o algo así, pero comenzar con la codificación de un cálculo de norma desde cero es no-no; Hay bibliotecas de matemáticas que uno debería usar para evitar tales problemas por completo.
usεr11852 dice Reinstate Monic el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.