Eficiencia de los lenguajes basados en reglas 4a parte

671 views

Published on

Uso de los árboles de decisión en los sistemas basados en reglas.

Published in: Education, Travel
  • Be the first to comment

  • Be the first to like this

Eficiencia de los lenguajes basados en reglas 4a parte

  1. 1. Eficiencia de los lenguajes basados en reglas<br />4ª parte<br />
  2. 2. Árboles de decisión<br />
  3. 3. Árboles de decisión<br />Los árboles de decisiónproporcionan un paradigmaútilpara resolver ciertostipos de problemas de clasificación, puesdeducensoluciones al reducir el conjunto de posiblessoluciones a unaserie de decisiones o preguntasqueacortansuespacio de búsqueda.<br />
  4. 4. Árboles de decisión<br />Los problemas que son adecuados para su solución mediante árboles de decisión se tipifican con la característica de que proporcionan la respuesta a un problema a partir de un conjunto predeterminado de respuestas posibles.<br />
  5. 5. Árboles de decisión<br />Puesto que debe determinarse el conjunto de respuestas, los árboles de decisión no funcionan bien para resolver problemas de programación, planeación o síntesis y, en general, problemas que deben producir soluciones además de seleccionar entre ellas.<br />
  6. 6. Árboles de decisión<br />Recuerde que un árbol de decisión se compone de nodos y ramas, los nodos representan ubicaciones en el árbol y las ramas conectan nodos padre con nodos hijo. <br />Los nodos sin hijos se llaman hojas.<br />En un árbol, cada nodo sólo tiene un padre, con excepción del nodo raíz, que no tiene ninguno.<br />
  7. 7. Árboles de decisión<br />Los nodos hojas de un árbol de decisión representan todas las soluciones posibles que se derivan del árbol, a esos nodos se les conoce como “nodos respuestas”, y a los demás como “nodos decisión”.<br />Cada nodo de decisión representa un cuestionamiento o decisión que, al preguntarse o decidirse, determina la rama apropiada que debe seguirse en el árbol de decisión.<br />
  8. 8. Árboles de decisión<br />En los árboles de decisión simples esta pregunta podría tener respuestas de si o no.<br />En general un nodo de decisión puede usar cualquier criterio para seleccionar la rama a seguir, suponiendo que el proceso de selección siempre produce una sola rama.<br />Los nodos de decisión sofisticados podrían permitir incluso razonamiento hacia atrás o probabilístico.<br />
  9. 9. Ejemplo<br />Consideremos las siguientes heurísticas en la selección del vino apropiado para servir con un alimento:<br />SI el plato principal es carne roja<br />ENTONCES servir con vino tinto<br />SI el plato principal es ave y es pavo <br />ENTONCES servir vino tinto<br />SI el plato principal es ave y no es pavo<br />ENTONCES servir vino blanco<br />SI el plato principal es pescado<br />ENTONCES servir vino blanco<br />
  10. 10.
  11. 11. Árbol de decisión binario<br />
  12. 12. Pseudocódigo<br />procedureResolver_arbol_binario<br /> Establecer la ubicación del nodo raíz en el árbol<br />whilela ubicación actual es un nodo de decisión do<br />If la respuesta a la pregunta actual es si<br /> Establecer el nodo actual en la rama su<br />else<br /> Establecer el nodo actual en la rama no<br />endif<br />end do<br /> Devolver la respuesta al nodo actual<br />Endprocedure<br />
  13. 13. Árboles de decisión con varias ramas<br />
  14. 14. Árboles decisión múltiple<br />En ocasiones se deben tomar decisiones que tienen mas de dos alternativas.<br />En la siguiente figura se muestra un árbol de decisión modificado que permite ramas múltiples realizadas mediante una modificación simple del algoritmo Resolver_arbol_binario:<br />
  15. 15. figura<br />
  16. 16. Pseudocódigo<br />ProcedureResolver_arbol<br /> Establecer la ubicación actual del nodo raíz.<br />while la ubicación actual es un nodo de decisión do<br /> Preguntar en el nodo actual hasta que se proporcione una respuesta válida para el conjunto de opciones de este nodo.<br /> Establecer el nodo actual en el nodo hijo de la rama asociada con la opción seleccionada<br />end do<br /> Devolver respuesta al nodo actual<br />Endprocedure<br />
  17. 17. Árboles de decisión que aprenden<br />
  18. 18. Árboles que aprenden<br />En ocasiones es útil agregar conocimiento nuevo a un árbol de decisión a medida que se aprende, como en el conocido ejemplo de identificar animales.<br />Una vez que el árbol de decisión alcanza una respuesta, pregunta si la respuesta es correcta y, si es así, entonces no hace nada más; pero si la respuesta es incorrecta, se modifica para ajustarse a la respuesta correcta.<br />
  19. 19. Árboles que aprenden<br />El nodo de respuesta se reemplaza con un nodo de decisión que contiene una pregunta que diferenciará entre la respuesta anterior que estaba en el nodo y la respuesta que no se dedujo correctamente.<br />A continuación veremos un ejemplo con un árbol de decisión que clasificará un animal conforme a sus características.<br />
  20. 20. Ejemplo de deducción<br />¿El animal es de sangre caliente? (si o no)<br />si<br />¿El animal ronronea? (si o no) <br />no<br />Deduzco que es un perro<br />¿Estoy en lo correcto? (si o no) <br />no<br />¿Cuál es el animal? <br />Pajaro<br />
  21. 21. Árboles que aprenden<br />¿Qué pregunta distinguirá entre un pájaro y un perro cuando se responda si? <br />¿El animal vuela?<br />Ahora ya puedo deducir que es un pájaro<br />¿Intentar otra vez? (si o no)<br />no<br />
  22. 22. Figura<br />
  23. 23. Árboles que aprenden<br />La sesión puede continuar sin cesar, con el árbol de decisión aprendiendo cada vez más información.<br />En la siguiente figura se muestra la representación del árbol de decisión después de la sesión anterior, aunque una desventaja de este tipo de aprendizaje es que el árbol de decisión quizá no termine muy estructurado jerárquicamente o no sea muy eficiente en el descubrimiento del animal apropiado.<br />
  24. 24. Figura –árbol que ya aprendió<br />
  25. 25. Árboles que aprenden<br />Un árbol de decisión eficiente debe tener casi el mismo número de ramas del nodo raíz a los de respuesta para todas las rutas.<br />

×