¿Cuáles son las aplicaciones industriales del algoritmo vecino K más cercano?

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:

  • 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.

KNN genera los K vecinos más cercanos de la consulta desde un conjunto de datos. KNN es “un método no paramétrico utilizado en clasificación o regresión” (WikiPedia). Por lo tanto, las aplicaciones industriales tendrían una base amplia en estas dos áreas. En mi opinión, KNN es deseable en áreas donde hay aún menos conocimiento del conjunto de datos de lo que habría de otra manera. Por ejemplo, puede haber valores atípicos en el conjunto de datos o redundancia o es posible que desee incorporar otras reglas a la consulta que no encajen en el espacio dimensional en el que se ejecuta el algoritmo KNN, o tal vez si solo desea trabajar en el un rango de datos en lugar de solo uno.

Las aplicaciones se basan en tratar de dar una mirada más matizada a los conjuntos de datos, por ejemplo, http://www.ijera.com/papers/Vol3 … es un estudio realizado por iraníes sobre cómo predecir dificultades financieras. Este es un tema común para los bancos, pero KNN proporciona una lista de candidatos para quizás un mayor procesamiento de reglas en lugar de 1 candidato principal para problemas financieros.

Otra aplicación popular está en el campo de la extracción de características en visión artificial.

algoritmo de vecinos k más cercanos

“Cuando los datos de entrada a un algoritmo son demasiado grandes para ser procesados ​​y se sospecha que son redundantes (por ejemplo, la misma medición en pies y metros), los datos de entrada se transformarán en un conjunto reducido de características de representación (también características nombradas vector). La transformación de los datos de entrada en el conjunto de características se denomina extracción de características. Si las características extraídas se eligen cuidadosamente, se espera que el conjunto de características extraiga la información relevante de los datos de entrada para realizar la tarea deseada utilizando esta representación reducida en lugar de la entrada de tamaño completo. La extracción de características se realiza en datos sin procesar antes de aplicar el algoritmo k -NN en los datos transformados en el espacio de características.

Un ejemplo de una tubería de computación de visión por computadora típica para el reconocimiento facial usando k -NN incluyendo pasos de preprocesamiento de extracción de características y reducción de dimensiones ”

Pensamiento interesante donde KNN tiene más sentido que NN. Si dice que tiene un algoritmo de detección de rostros y alguien acaba de pedirle al dibujante de la policía que esboce cómo se ve el asesino, obviamente NO desea

  • muestra una imagen para identificación, o incluso
  • mostrar digamos 8 imágenes todas diferentes, excepto una que es muy parecida a la perp.

o incluso la detección de huellas digitales. En la televisión, a los testigos les gusta decir que “esa es una posibilidad entre un billón de tener la misma huella digital (puntos de características)”. Una búsqueda KNN mostrará las diferencias.

Una búsqueda en Google descubrirá más aplicaciones. En general, KNN proporciona un rango de valores en lugar de un valor para que los datos puedan continuar siendo procesados.

Es posible que las personas quieran probar el algoritmo knn cuando quieran usar un algoritmo muy simple o cuando piensen que la naturaleza de su problema y sus datos están altamente desestructurados. Porque el algoritmo knn tiene la ventaja de ser capaz de producir decisiones altamente no lineales a pesar de ser muy simple.

K -arest puede resolver problemas de clasificación extremadamente rápido en comparación con otros algoritmos. Cada algoritmo tiene compensaciones.

Es bastante común como método de detección de valores atípicos.

More Interesting

¿Cuáles son las consecuencias y desventajas de usar datos agregados? ¿Cómo podemos combatirlos si no hay datos de nivel granular?

¿Qué método aparte del análisis de sentimientos puedo usar para obtener el puntaje de una oración?

Según Wikipedia, las redes neuronales artificiales actuales tienen la complejidad del cerebro de un gusano. ¿Es eso cierto?

¿Qué tan fuerte es la Universidad de Washington en Machine Learning?

¿Qué debe saber un profesional de aprendizaje profundo para un hackathon?

¿Cuáles son las aplicaciones más interesantes del aprendizaje automático en espacios inesperados?

Si el generador y el discriminador usan SGD en Redes Adversarias Generativas, ¿por qué el entrenamiento de adversarios se llama no supervisado?

¿Cuáles son los formatos estándar para compartir datos de aprendizaje automático?

¿Cuál es la forma correcta de calcular la similitud de coseno entre una consulta y un documento? Cuando calculo la magnitud del documento, ¿sumo los cuadrados de todos los términos del documento o solo los de la consulta?

¿Puedo comenzar a aprender el aprendizaje automático y el aprendizaje profundo sin repasar primero mis conocimientos de matemáticas?

Cómo usar el pronóstico de series de tiempo para predecir el tiempo que tomaría realizar alguna tarea

¿Qué es Mach 23 en millas por hora?

¿Qué conceptos debería practicar en la programación antes de ir a Machine Learning?

¿Por qué la mayoría de las competencias recientes se centran en el aprendizaje profundo / redes neuronales? ¿No crea esto un desequilibrio en los tipos de problemas que se ofrecen?

¿Podría la red neuronal de convolución completa aprender a discriminar entre clases si no hay muestreo descendente y la entrada es igual a salida?