¿Puede un modelo de aprendizaje automático reemplazar completamente un sistema basado en reglas?

Sistemas basados ​​en ML:

  • requiere una gran cantidad de datos para el aprendizaje no supervisado, menos para el aprendizaje supervisado, pero luego debe etiquetar los datos de forma manual o semimanual
  • funcionan mejor en dominios de alta validez donde los resultados de las decisiones son suficientemente visibles en el futuro cercano (“cercano” depende del contexto)
  • no son particularmente adecuados para explicaciones (p. ej., redes neuronales) (existen enfoques híbridos entre el modelado basado en el conocimiento y basado en datos que proporciona poder explicativo al modelo, como las redes bayesianas). En algunos casos, si la representación de datos contiene poder explicativo, entonces. por ejemplo, los árboles de clasificación pueden proporcionar explicaciones útiles de por qué algo se predice / detecta.
  • son difíciles de verificar y validar que son útiles y no perjudiciales en todos los contextos. Por ejemplo, es una cosa si tiene intentos repetidos, entonces un aumento en las probabilidades a su favor puede ser suficiente para usar un sistema. Sin embargo, si las decisiones individuales importan, entonces necesita una mayor precisión y, en los sistemas de clasificación, menos falsos positivos.

Si tiene una situación en la que no tiene muchos datos o explicaciones es altamente deseable o si tiene requisitos estrictos sobre la verificación y validación de la utilidad y la no dañosidad, entonces son preferibles los sistemas basados ​​en reglas.

Además, si tiene un modelo basado en ML que es individualizado (local) y evolutivo (adaptable), generalmente necesita reglas para verificar los límites en función del conocimiento. Por ejemplo, en un sistema de recomendación de salud es útil hacerlos individualizados y adaptables para permitir la detección temprana de problemas. Sin embargo, si no tiene controles de límites y el cambio en el estado es lo suficientemente lento, entonces el sistema puede adaptarse a una situación que es arriesgada y considerar que es normal. Con las comprobaciones de límites, esto se evita. El mismo tipo de sistemas está disponible en los sistemas de soporte en automóviles que se adaptan al conductor. En estos sistemas, es importante poder verificar y validar la función. Por lo tanto, reemplazar completamente los sistemas basados ​​en reglas con ML no es factible en muchos sistemas.

Si un sistema es lo suficientemente simple como para ejecutarse en reglas fijas, ¿por qué quieres reemplazarlo con ML? Simplemente codifique las reglas en el idioma de su elección y ya habrá terminado de automatizar. Por supuesto, puedes entrenar un sistema de Machine Learning en él, pero lo dijiste bien, no va a ser mejor que las reglas.

Sin embargo, el mundo es más complejo. A menos que los humanos hayan codificado explícitamente las reglas para hacer que el mundo sea fácil de manejar, las cosas son muy complejas. El lenguaje, por ejemplo, es complejo ya que no estaba destinado a ser fácil de administrar, Vision es complejo (-er), la pila ISO-OSI está estructurada mejor, ya que estaba destinada a ser fácil de administrar. Es por eso que necesita Machine Learning en lenguaje y visión y otros campos similares (si está utilizando un sistema basado en reglas en el lenguaje, solo está creando una zona de confort artificial, donde hay ineficiencia).

ML es útil en sistemas complejos cuando desea que el sistema aprenda un conjunto de reglas que no son realmente fáciles de enumerar.

Su sistema de reglas procesó algunos datos, por lo que debe comenzar allí.

Además, el sistema debe tener algunas deficiencias, de lo contrario no querrá reemplazarlo 🙂

Entonces, lo que debe reunir son pares (entrada, salida esperada) y la salida no debe ser la salida del sistema de reglas, sino la salida real esperada por humanos.

Sí, puede entrenar un sistema ML / ANN a través de un conjunto de entrenamiento creado a través de “ejecutar” un sistema simbólico basado en reglas (también conocido como Sistema Experto) y obtener un gran conjunto de entrenamiento de muestras de entrada / salida que cubre lo suficiente (para alguna definición de suficientemente ) la región de interés. Los datos resultantes se pueden utilizar para obtener un no simbólico, también conocido como. modelo suave y entrenado que funciona al menos tan bien como el sistema original basado en reglas para el mismo conjunto de entradas.

Una vez que tenga el sistema ML / ANN entrenado funcionando como lo desea, ya no necesita el sistema basado en reglas y puede respaldarlo y guardarlo.

Una vez creé un algoritmo genético que podría salir de un laberinto.

Le di un conjunto de acciones:

  • avanzar
  • ve a la izquierda
  • ve a la derecha
  • regresa
  • si la pared a la izquierda
  • si la pared a la derecha
  • si la pared al frente
  • si la pared de atrás

Su éxito se definió al salir del laberinto con el algoritmo más corto.

Nunca le di ideas sobre cómo formar este algoritmo. Lo hizo solo. Pero tengo que darle un conjunto de acciones y pruebas, o no formará nada en absoluto. Y tiene que ser el conjunto correcto de acciones.

Sí, siempre que pueda ofrecer una mejor velocidad y los datos en los que se basará el modelo ML serían adecuados. Lo hice en una publicación mía reciente.