Project DelphiTaller de Tensores

Error: el mayor peso de un vector factor manda en la componente

«La neurona 12 tiene el mayor peso de este factor, así que manda en la componente».

a, b, c = np.array([1., 2.]), np.array([3., 4.]), np.array([5.]) t1 = np.einsum("i,j,k->ijk", a, b, c) t2 = np.einsum("i,j,k->ijk", 2 * a, b / 2, c) assert np.allclose(t1, t2) # el tensor no se movió lam = np.linalg.norm(a) * np.linalg.norm(b) * np.linalg.norm(c)

Duplica un vector y divide otro por dos: el tensor de rango 1 no se mueve, así que la magnitud de un vector factor es aritmética, no datos. Solo hay dos cosas legibles: el perfil de norma 1 — la forma de los picos y valles — y un peso que guarda todo el tamaño, el producto de las tres normas. El cuaderno lo llama lam; tensorly lo devuelve como weights.

Normaliza antes de comparar dos componentes, o antes de nombrar un pico.