Project DelphiTaller de Tensores

La no negatividad conserva la convexidad

Los factores de ALS sin restricción tienen números negativos en los tres. Una tasa de disparo no puede ser negativa, así que una componente con una entrada negativa sigue reconstruyendo los datos pero ya no es un perfil legible.

Añade la restricción y, con B y C fijos, la actualización pasa a ser mínimos cuadrados no negativos (NNLS): sigue siendo convexa, una fila de A cada vez, y scipy.optimize.nnls la resuelve exactamente. Lo que se pierde es la forma cerrada: ninguna pseudoinversa respeta una desigualdad. La estructura alterna queda intacta.

En la práctica, tensorly ofrece las actualizaciones multiplicativas y HALS, mínimos cuadrados alternos jerárquicos, que actualiza una columna cada vez y converge más rápido. Espera que el ajuste restringido sea algo peor en error cuadrático — busca en un subconjunto del espacio — y que compre factores que puedes describir con palabras.