Pregunta

En un sistema de reglas, o en cualquier sistema de razonamiento que deduzca hechos mediante reglas de inferencia de encadenamiento directo, ¿cómo se podarían las ramas "innecesarias"?No estoy seguro de cuál es la terminología formal, pero solo estoy tratando de entender cómo las personas pueden limitar su línea de pensamiento cuando razonan sobre problemas, mientras que todos los razonadores semánticos que he visto parecen incapaces de hacer esto.

Por ejemplo, en el artículo de John McCarthy Un ejemplo de comprensión del lenguaje natural y los problemas de IA que plantea, describe problemas potenciales para lograr que un programa responda inteligentemente preguntas sobre un artículo de noticias en el New York Times.En la sección 4, "La necesidad de un razonamiento no monótono", analiza el uso del Razer de Occam para restringir la inclusión de hechos al razonar sobre la historia.El ejemplo de historia que utiliza es el de unos ladrones que victimizan al dueño de una tienda de muebles.

Si se le pidiera a un programa que formara una "completación mínima" de la historia en el cálculo de predicados, es posible que deba incluir hechos que no se mencionan directamente en la historia original.Sin embargo, también necesitaría alguna forma de saber cuándo limitar su cadena de deducción, para no incluir detalles irrelevantes.Por ejemplo, podría querer incluir el número exacto de policías involucrados en el caso, que el artículo omite, pero no incluir el hecho de que cada policía tiene una madre.

¿Fue útil?

Solución

Buena pregunta.

Según su pregunta, creo que lo que usted llama "poda" es un paso de construcción de modelos realizado ex-ante--es decir, limitar las entradas disponibles para que el algoritmo construya el modelo.El término "poda" cuando se utiliza en Machine Learning se refiere a algo diferente: una ex post paso, después construcción del modelo y que opera sobre el modelo mismo y no en las entradas disponibles.(Podría haber un segundo significado en el dominio ML, para el término 'poda', pero no lo sé). En otras palabras, la poda es literalmente una técnica para "limitar su cadena de deducción" como tu lo pones, pero lo hace ex post, mediante la escisión de los componentes de un modelo completo (en funcionamiento) y no limitando las entradas utilizadas para crear ese modelo.

Por otro lado, aislar o limitar las entradas disponibles para la construcción del modelo (que es lo que creo que podría haber tenido en mente) es de hecho un tema clave del aprendizaje automático;es claramente un factor responsable del rendimiento superior de muchos de los algoritmos de ML más recientes, por ejemplo, Support Vector Machines (la idea que subyace a SVM es la construcción del hiperplano de margen máximo a partir de solo un pequeño subconjunto de datos, es decir, los 'vectores de soporte'), y Splines de regresión multiadaptativa (una técnica de regresión en la que no se intenta ajustar los datos "dibujando una única curva continua a través de ellos", sino que se ajustan secciones discretas de los datos, una por uno, usando una ecuación lineal acotada para cada porción, es decir, las 'splines', por lo que el paso predicado de la partición óptima de los datos es obviamente el quid de este algoritmo).

¿Qué problema se soluciona con la poda?

Al menos sin algoritmos de aprendizaje automático específicos que he codificado y utilizado (árboles de decisión, MARS y redes neuronales), la poda se realiza inicialmente modelo sobreajustado (un modelo que se ajusta tan estrechamente a los datos de entrenamiento que no puede generalizarse (predecir con precisión nuevas instancias).En cada caso, la poda implica eliminar nodos marginales (DT, NN) o términos en la ecuación de regresión (MARS) uno por uno.

Segundo, ¿Por qué es necesaria/deseable la poda?

¿No es mejor simplemente establecer con precisión los criterios de convergencia/división?Eso no siempre ayudará.La poda funciona "de abajo hacia arriba";El modelo se construye de arriba hacia abajo, por lo que ajustar el modelo (para lograr el mismo beneficio que la poda) elimina no solo uno o más nodos de decisión sino también los nodos secundarios (como podar un árbol más cerca del tronco).Entonces, eliminar un nodo marginal también podría eliminar uno o más nodos fuertes subordinados a ese nodo marginal, pero el modelador nunca lo sabría porque su ajuste eliminó la creación adicional de nodos en ese nodo marginal.La poda funciona desde la otra dirección: desde los nodos secundarios más subordinados (de nivel más bajo) hacia arriba en la dirección del nodo raíz.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top