Artículo
· 19 oct, 2024 Lectura de 3 min

Mi aproximación personal a los vectores

Motivado por comentarios personales de @EDILSON CARVALHO  y una excelente
presentacion de @Michael Braam 
relacionada con la Búsqueda Vectorial me gustaría compartir
mi aproximación personal a los Vectores.

Cuando empecé y me encontré con vectores de 256, 384 y más de 1200 dimensiones, me sentí perdido.
Sin embargo mi ejemplo
Vector-inside-IRIS  - una simplificación de iris-vector-search  - funcionó bien.
 

Para entender la mecánica que hay detrás, he decidido empezar por pasos pequeños.
Nuestras 3 dimensiones comunes describen bastante bien nuestro mundo físico.
Incluso la media 4ª dimensión (sin negativos) añadida por Einstein no es difícil de seguir.
La teoría cosmológica de cuerdas con 0 a 11+ dimensiones era una verdadera frontera para mí.

Así que volvamos al principio : => 2 dimensiones son suficientes para un principiante.
Las coordenadas geográficas proporcionan un buen punto de partida con suficientes datos de prueba.
La función VECTOR_COSINE() fue mi objetivo principal en mi ejemplo de geo-vector-search

El rango de resultados de -1 a +1 es fácil de interpretar en un mapa proyectado casi plano.
Eso es matemática básica y su transposición a una dimensión adicional no es un milagro.

Pero, ¿qué pasa con un centenar de dimensiones

 

;#1
-.0104943, .01472898, .07107521, .07168121, -.0937807, .05828459, .04451195, -.1045385, -.0110124, -.0240547, -.0032111, -.0030188, -.0414225, -.1092015, .02203945, -.0129255, .14087346, .04734043, -.0181046, -.0458297, .02323769, .02859951, .01124321, .00857456, -.0049756, -.0144282, -.0846236, -.0284645, -.0147692, -.0989931, .04880870, .01899284, -.0176833, .04763242, -.0808972, -.0604988, .05757499, -.0638228, .04217084, .03707900, .03757081, .03086806, .02773610, .02082979, -.0495735, -.0337784, -.0438372, -.0827000, -.0018084, -.0072785, -.0797550, -.0055747, -.0551242, -.0918905, .01140710, -.0115834, -.0088469, -.0445509, .02972822, .04385065, .04125113, .01189815, .01809763
;#2
-.0340279, -.0930349, -.0356242, .03200291, .07393958, -.0164658, -.0218968, .01392244, -.0069597, .02677908, -.0800164, .07227557, -.0430033, -.1134698, -.0561500, -.0520939, -.0306403, .00750979, -.0345837, .03335380, -.0438071, -.0088005, .03423582, .00794844, .01172804, .05204785, .04179215, .01768089, -.0489745, -.0031708, -.0349655, -.0482467, .08090461, -.0596610, -.0565769, -.0043313, .01015284, .07152537, .04189436, -.0475862, -.0171517, .03899634, -.0705699, -.1133416, .08019342, .02138555, .01466019, .00184080, -.0905641, -.1039420, -.0290395, .02753796, .01674868, -.0259464, -.0107869, -.0407411, -.0120343, -.0636389, .00047146, .01514394, -.0694578, -.0204190, -.0024446
;#3
.00350692, .09432639, .01641871, .09951058, .10459023, .00019239, -.0823584, -.0022799, -.0227801, -.0023362, -.0397562, .07449327, -.1137044, .09173037, .08620572, -.0881805, -.0111093, -.0316556, -.0044012, -.1248759, -.0897788, .03191807, -.0147239, -.0198379, -.0849955, -.0026861, .02628867, -.0523788, -.0398543, -.0080245, .06736382, .01456158, .04700677, -.0171667, -.0217174, .06761254, -.0070750, .02879706, .01109632, .02541129, -.0384420, .00410159, .05145533, .06493697, -.0924961, -.0422163, -.0739539, .06107471, .06070494, -.0044191, .00238501, -.0182966, .03546700, .05925614, -.0361021, .09686610, .02930910, .01282224, .02953721, -.0526526, .03977891, .00501585, .00717564

El ejemplo de aquí arriba está acortado para facilitar la lectura

Después de pensarlo un rato he encontrado una imagen personal:

  • Cuando busco un objetivo en Google Maps que no está a la vuelta de la esquina se me ofrecen varias rutas.
  • la más corta, la más rápida, la que menos consume, transporte público, ... 
  • y elijo según mis necesidades
  • interpretando las dimensiones de mis vectores como pasos intermedios numerados hacia mi objetivo obtendría una imagen similar
  • Y mediante VECTOR_COSINE obtengo la mejor propuesta

Puede que los expertos en LLM se rían de mi simplificación.

Pero para mí, es una imagen que va más allá de las matemáticas abstractas y
las confusas teorías del lenguaje. Y creo que mi simple imagen basada en un proceso
de uso cotidiano en la conducción de automóviles ayuda a comprender
cómo se obtienen los resultados.

NOTA:
Aún no tengo ni idea de CÓMO se calculan esos vectores, siempre y cuando sea coherente.
Para mí era importante entender cómo funciona el emparejamiento. 

Comentarios (0)1
Inicie sesión o regístrese para continuar