¿Cuáles son algunas de las ventajas que tiene la programación basada en reglas contra los métodos de aprendizaje automático?

  • Requerimientos de datos. Como ya se mencionó aquí, los métodos de ML solo funcionan bien cuando hay cientos de etiquetas para los métodos tradicionales y decenas de miles para los métodos de aprendizaje profundo.
  • Explicabilidad. La salida de un método basado en reglas es fácil para un humano para depurar. Mientras tanto, los valores atípicos en los métodos de LD pueden ser opacos y difíciles de explicar a las personas.
  • Vulnerabilidad a los datos de entrenamiento sesgados. Hay algunos subproblemas aquí: las etiquetas están demasiado inclinadas o un vector de entrada nada como lo que se ve en el conjunto de entrenamiento.
  • La regla correcta es una que representa una clase de hipótesis que los modelos estándar y los núcleos pueden encontrar difíciles de determinar. Podría terminar teniendo que diseñar características complejas que son tan desproporcionadamente predictivas que el resto del modelo es principalmente ruido. Esto ocurre raramente en la práctica y, por lo general, la descomposición de la función ayuda.

Requerimientos de datos. Supongamos que tiene un problema de clasificación de varias clases con un montón de características. Si usted como programador puede comprender lo que está pasando en su problema lo suficientemente bien (¡lo que a menudo no será el caso!), Es posible generalizar a partir de algunos ejemplos de cada clase y algunos conocimientos sobre la aplicación para averiguar las reglas razonables que funcionarán la mayor parte del tiempo. Lo que puede hacer con 20 puntos de datos, una SVM, una red neuronal o un bosque aleatorio puede necesitar 2,000 puntos de datos para. Sin embargo, para un problema interesante, sus reglas no funcionarán tan bien como un sistema de aprendizaje automático bien diseñado con 200,000 puntos de datos. Sus límites de decisión nunca serán perfectos, y habrá aspectos del problema que no comprende.

La programación basada en reglas ejecutará las decisiones mucho más rápido y si necesita capacitación, funcionará de manera inmediata y confiable. La programación basada en reglas es importante cuando se requieren respuestas exactas y el número de reglas y opciones es relativamente simple. El aprendizaje automático es útil cuando las reglas son desconocidas o demasiado complejas para escribir en un programa finito. A menudo, solo se conoce la respuesta en el aprendizaje automático, pero no cómo calcular la respuesta. A menudo, una mezcla de estas soluciones puede dar los mejores resultados.

He trabajado en varios sistemas basados ​​en reglas.

  • fácil de configurar
  • Se puede poner rápidamente en producción.
  • Puede crecer fácilmente con más reglas.

Problemas –

  • Necesito gestionar las reglas.
  • la base de reglas crece con el tiempo hasta el punto de ser poco manejable
  • Los sistemas basados ​​en reglas tienden a colapsarse sobre sí mismos debido a las demasiadas reglas.
  • eventualmente pobre desempeño

Estos problemas suelen tardar varios años en aparecer y, para entonces, las personas que crearon el sistema han avanzado.

Este es un excelente artículo. Muy claro.

¿Cuáles son algunas de las ventajas que tiene la programación basada en reglas contra los métodos de aprendizaje automático?