1 votos

Vectores lo más diferentes posible

Me dan una función $f:\mathbb{R}^M\times\mathbb{R}^N\rightarrow\mathbb{R}^K$ . Denotemos las entradas de $f$ como $(a,b)$ donde $a\in\mathbb{R}^M$ y $b\in\mathbb{R}^N$ El conjunto de valores posibles de $b$ es finito (es decir, hay un número finito de vectores $b$ que me importan).

Consideremos una función $g_a:\mathbb{R}^N\rightarrow\mathbb{R}^K$ donde $g_a(b)=f(a,b)$ para un $a$ . Mi objetivo es encontrar el valor de $a$ para que los vectores que salen de $g_a$ son lo más diferentes posible entre sí en el sentido de que el ángulo entre dos vectores cualesquiera es lo mayor posible.

Consideremos la matriz $\Gamma(a)$ donde cada columna de $\Gamma(a)$ es una salida de $g$ . Creo que los valores singulares de $\Gamma(a)$ son relevantes. Por ejemplo, podría elegir los valores de $a$ que maximizan el volumen del elipsoide que es la imagen de la bola unitaria bajo $\Gamma$ . O bien, podría elegir los valores de $a$ que maximicen el menor valor singular de $\Gamma$ .

¿Cuál es la mejor métrica para esta situación? Supongo que ya existe alguna teoría relevante para mi problema. ¿Podría alguien proporcionarme una referencia concreta? Mis propias búsquedas no han sido fructíferas.

1voto

user3658307 Puntos 33

Seguro que ya lo habías pensado, pero una idea obvia es utilizar literalmente la suma de ángulos entre los vectores: $$ E(a) = \sum_{b\in B} \sum_{\beta\in B} \arccos\left( \frac{g_a(b)^Tg_a(\beta)}{||g_a(b)||_2\;||g_a(\beta)||_2} \right) $$ donde $B\subset \mathbb{R}^N$ . A continuación, utilice, por ejemplo, el descenso de gradiente en $E$ para optimizarlo.

En cuanto a su $\Gamma$ una idea es utilizar la matriz de covarianza de los datos; es decir, considerar el conjunto de vectores de salida como extraídos de una distribución de probabilidad multivariante e intentar maximizar la varianza (estimada) de esta distribución. De este modo se intentará "repartir" los puntos tanto como sea posible, en cierto sentido.

Sin embargo, hay muchas formas de hacerlo. Lea esta pregunta , éste y éste por ejemplo. Por tanto, para alguna medida de varianza $V_j$ querremos $a = \arg\max_{a\in \mathbb{R}^M} V_j$ .

Sea $M_a=\Gamma(a)^T - \mu_{a}$ donde $\mu_a$ es la matriz de medias de columna de $\Gamma(a)^T$ . Entonces deja: $$ C_a = \frac{1}{|B|-1}M_a^TM_a $$ sea la matriz de covarianza centrada. Tenga en cuenta que estoy asumiendo que está trabajando sobre todos los $B$ (tu conjunto finito), pero obviamente no tienes que hacerlo :).

Entonces, una medida es la varianza total por componentes viene dada por: $$ V_1 = \text{tr}(C_a) = \sum_i \lambda_i(C_a) $$ donde $\lambda_i(A)$ es el $i$ eigenvalor de $A$ . Otra medida es: $$ V_2 = \sqrt{\det(C_a)} = \sqrt{\prod_i^{\,} \lambda_i(C_a)} $$ que es el producto de las varianzas de los componentes.

Sin embargo, es posible que desee tener un poco más de isometría; es decir, reducir las covarianzas, sin dejar de aumentar las varianzas. (Véase aquí para alguna visualización).

Un método sencillo es utilizar $$ V_3 = \text{tr}({C_a}) - \frac{1}{K-1}\sum_i (\lambda_i(C_a) - \mu_\lambda)^2 $$ donde el término adicional es la estimación de $\mathbb{V}[\lambda]$ con $\mu_\lambda = \frac{1}{K}\sum_j \lambda_j(C_a)$ .

Para darle un toque más físico, utilice la noción de tensor de desviación (por ejemplo, véase aquí ), que mide la componente "no isométrica" de un tensor. Sea: $$ \Psi = C_a - \frac{\text{tr}({C_a})}{K}I $$ Entonces considéralo: $$ V_4 = \text{tr}({C_a}) - ||\Psi|| $$ donde $||\Psi||$ puede ser la norma 2 espectral o la norma de Frobenius, por ejemplo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X