k-NN se usa a menudo en aplicaciones de búsqueda en las que busca elementos “similares”; es decir, cuando su tarea es alguna forma de “buscar elementos similares a este”. Llamarían a esto una búsqueda k-NN .
La forma en que mides la similitud es creando una representación vectorial de los elementos, y luego compara los vectores usando una métrica de distancia apropiada (como la distancia euclidiana, por ejemplo).
Entonces, algunos ejemplos concretos de búsqueda de k-NN:
- ¿La variable de tiempo muestra una conexión recurrente en RNN?
- ¿Qué enfoque se recomienda para aprender Machine Learning?
- Cómo convencer a mi gerente de que conozco el aprendizaje automático
- ¿Qué son el aprendizaje profundo y el aprendizaje automático, sus diferencias, similitudes, relaciones y una línea de tiempo de su historia de invención?
- ¿De dónde obtienen los sistemas de conducción autónomos sus datos de entrenamiento?
- Si está buscando documentos semánticamente similares (es decir, documentos que contienen temas similares), esto se conoce como Búsqueda conceptual .
- La búsqueda de conceptos es una característica que encontrará en muchos paquetes de software de e-Discovery, que se utilizan para ayudar a las empresas a encontrar todos los correos electrónicos, contratos, etc. que son relevantes para una demanda. Por ejemplo, consulte Búsqueda de conceptos en el software de relatividad de kCura para e-Discovery.
- El mayor caso de uso de la búsqueda de k-NN podría ser Sistemas de recomendación . Si sabe que a un usuario le gusta un elemento en particular, puede recomendarle elementos similares . Para encontrar elementos similares, compara el conjunto de usuarios a los que les gusta cada elemento; si a un conjunto similar de usuarios les gustan dos elementos diferentes, ¡entonces los elementos en sí mismos son probablemente similares!
- ¡Esto se aplica a recomendar productos, recomendar medios para consumir, o incluso ‘recomendar’ anuncios para mostrar a un usuario!
También se puede usar para la clasificación de k-NN , en el tipo correcto de aplicación. k-NN no es tan sexy como una red neuronal o un SVM, y generalmente funciona más lento y tiene una precisión menor que esos enfoques, pero tiene algunas buenas cualidades prácticas. Es fácil de entrenar (porque no hay entrenamiento :-P), fácil de usar y fácil de entender los resultados. Apostaría a que la clasificación k-NN se usa más en la industria de lo que un académico podría pensar (admito que tiendo a mirar hacia abajo en la clasificación k-NN).
Aquí hay al menos un ejemplo concreto que puedo darle:
- Herta Security utiliza algoritmos de aprendizaje profundo para generar vectores de características que representan los rostros de las personas. Luego usan k-NN para identificar a una persona comparando la cara con su lista de observación. ¿La razón? k-NN es lo suficientemente bueno y no sería práctico formar un clasificador separado para cada persona en la lista de observación.