Supongo que está solicitando datos numéricos, aunque lo que propondré podría adaptarse fácilmente a otras interfaces (por ejemplo, texto, imagen, audio). Esencialmente, podemos usar la forma euclidiana [matemática] \ ell ^ k [/ matemática] para definir una función de distancia [matemática] d _ {\ ell ^ k} [/ matemática] entre dos puntos, que se define para [matemática] m [/ math] -puntos dimensionales [math] x_1 [/ math] y [math] x_2 [/ math] as
[matemáticas] d _ {\ ell ^ k} (x_1, x_2) = (\ sum_ {j = 1} ^ {m} ({x_2} _j- {x_1} _j) ^ k) ^ {1 / k} \ tag *{}[/mates]
El valor más convencional para [matemática] k [/ matemática] es [matemática] k = 2 [/ matemática], por muchas razones, incluido que este valor permite que la función sea no negativa (indicando una distancia mínima métrica de 0) y diferenciable —Que el valor absoluto de la [math] \ ell ^ 1 [/ math] -norm no lo es. Por lo tanto, usando [math] k = 2 [/ math], obtenemos
- ¿Cuál es el criterio de elección para el desarrollo de algoritmos recursivos o iterativos?
- ¿Son los algoritmos genéticos en sí mismos una forma de inteligencia artificial?
- Cómo implementar un árbol binario en Python
- ¿Cómo analizar la complejidad de caso promedio de un algoritmo? ¿Hay alguna fuente para aprenderlo paso a paso de lo básico?
- ¿Existe tal cosa como un 'Algoritmo Maestro'?
[matemáticas] d _ {\ ell ^ 2} (x_1, x_2) = \ sqrt (\ sum_ {j = 1} ^ {m} ({x_2} _j- {x_1} _j) ^ 2) \ tag * {} [ /mates]
Usando esta función de distancia, podemos calcular esencialmente la distancia entre cada línea en su conjunto de datos y la línea de datos que proporcionó; recuerde que por ahora, estamos trabajando bajo el supuesto de que cualquier línea de datos puede expresarse como un vector [matemática ] \ mathbf {y} = {y_1, y_2,…, y_m} [/ math]. Después de calcular las distancias entre la línea proporcionada y cada línea de datos individual en el conjunto de datos, debe poder devolver la línea con el valor de distancia más bajo. La complejidad del tiempo de ejecución es [matemática] O (nm) [/ matemática], dadas n líneas en el conjunto de datos. La complejidad del espacio debe ser constante si almacena solo el índice y la distancia de la línea más cercana hasta ahora en su paso por el conjunto de datos.
Ahora, consideremos cómo traducir este ejemplo numérico a otros casos. Aplicar esto a las imágenes es en realidad lo más fácil, ya que solo podemos usar valores de píxeles (suponiendo imágenes de igual tamaño en todo el conjunto de datos) como las dimensiones individuales de nuestro análisis de proximidad. Para datos de imagen de dimensiones [math] m \ times p [/ math], cualquier imagen podría expresarse como un vector [math] \ mathbf {y} = {y_1, y_2, …, y_ {mp}} [/ math] . Por lo tanto, podríamos realizar fácilmente una búsqueda análoga como en el caso de los datos numéricos.
Consideremos también el caso de los datos textuales. Aquí, podríamos querer aplicar metodologías y consideraciones más profundas; Asumir que todas las líneas de texto en el conjunto de datos tienen el mismo tamaño es probable que sea inexacto y, lo que es más importante, las diferencias de nivel de caracteres son menos indicativas de similitud en el significado que la comprensión real de toda la línea de texto. Por ejemplo, las palabras “letra” y “mejor” son solo una letra, pero tienen un significado mucho más cercano a “misiva” y “mejorada” que entre sí. Se puede hacer el mismo punto a nivel de oración / párrafo, y por lo tanto, uno puede buscar técnicas en el procesamiento del lenguaje natural (PNL) para encontrar ideas de similitud.
Terminaré probando las posibilidades futuras. Un área de investigación en la que realmente estoy empezando a involucrarme es en las incrustaciones conjuntas: esencialmente, dada una frase textual o una imagen, ¿podemos crear una predicción / identificación con un elemento exactamente similar de la otra clase? Es decir, si se nos da la frase “patio de recreo”, ¿es posible entrenar modelos que, a través de una combinación de PNL, redes neuronales convolucionales (CNN) y otros métodos de ML, produzcan una imagen precisa de un patio de recreo? Es un área de investigación muy emocionante, y el éxito implicaría que se podría desarrollar fácilmente un algoritmo para devolver la imagen más cercana en un conjunto de datos cuando se le proporcione una frase textual (sin etiquetas u otros parámetros / entrenamiento que acompañen a las imágenes en el conjunto de datos).