Uno de los enfoques estándar en el aprendizaje automático se llama “aprendizaje basado en instancias (IBL)”. El algoritmo de vecinos K-Nearest es quizás el más conocido entre estos appraoches. Los casos especiales de BSP llamados árboles KD se usan muy a menudo en la ingeniería del mundo real de K-NN.
Déjame llegar a los detalles:
Las IBL requieren que identifique uno o más vecinos más cercanos a un punto dado o un registro para hacer una predicción. Por ejemplo, si quiero determinar si clasificar una transacción como buena o fraude, busco la transacción más cercana cuyo estado se conoce. Si es fraude, etiqueto la transacción original también como fraude o viceversa.
- ¿Podría alguien elaborar la relación entre un lenguaje de máquina, un sistema operativo y un procesador en particular?
- ¿Por qué Google TensorFlow usa OpenCL y no OpenGL? ¿Cuáles son las ventajas?
- ¿Puede el aprendizaje automático realizar un análisis de sentimientos de una palabra clave dada de una conversación?
- ¿Podemos obtener un intervalo de confianza para la salida de un clasificador en el aprendizaje supervisado?
- ¿Cómo debo explicar el modelo matemático de la red neuronal con ejemplos adecuados?
Por lo general, calcula distancias utilizando atributos conocidos. Entonces, para los datos de la transacción, podría mirar atributos como la demografía del cliente que realizó las transacciones, el historial pasado de las transacciones de los clientes, los detalles de la transacción (cantidad, ip, etc.). Todos estos pueden sumar varias docenas de atributos. Si tengo alrededor de 1,000,000 de transacciones conocidas, para predecir el estado de cada nuevo punto, necesito medir sus distancias con 1,000,000 de puntos (cada uno con varias docenas de dimensiones) para encontrar su vecino más cercano.
Claramente, una desventaja importante es el tiempo de cálculo.
Entonces, las personas usan una variedad de técnicas para acelerar. Algunos se centran en crear un subconjunto de datos.
Una técnica interesante es representar los datos en forma de un tipo específico de árbol de partición de espacio binario llamado árbol KD . Consulte Wikipedia para obtener más información al respecto.
El árbol KD me permite dividir los datos de una manera estructurada y eliminar rápidamente la mayoría de los puntos con los que no necesito calcular la distancia para encontrar el vecino más cercano, ya que no pueden ser vecinos más cercanos. Esto reduce drásticamente el tiempo de cálculo. Pero, en problemas dimensionales muy grandes, los BSP fallan.
Por supuesto, los árboles de decisión también son algoritmos de partición geométricamente espaciales. CART en particular es una herramienta de partición de espacio binario. Sin embargo, en los BSP normales usamos algunos criterios geométricos (como la distancia) para la partición. Pero, en los árboles de decisión, algunas medidas de impureza se minimizan durante la partición. Como supongo que no está interesado en esta parte, no profundizaré en esos métodos.