¿Existe alguna práctica que combine el aprendizaje automático y el sistema basado en reglas?

Sí, en muchos casos de uso, la interpretabilidad a menudo se vuelve más importante para ganar la confianza de un ser humano que la predicción óptima.

Hay algunas formas de codificar el comportamiento deseado en un sistema ML. Esto se vuelve importante en los sistemas de predicción si ciertos tipos de falsos positivos o negativos son particularmente costosos, por ejemplo, clasificar el correo electrónico familiar como correo no deseado, aplicaciones de citas que predicen exes, etc.

En general, estos son casos en los que la mayoría de las pruebas apuntan hacia un lado, pero existe una condición atípica que apunta hacia el otro lado. En teoría, los datos de entrenamiento suficientes y la complejidad del modelo también deberían poder capturar esto, pero en la realidad de los sistemas de LD hoy en día, a menudo no hay suficientes datos de entrenamiento y la complejidad del modelo que aumenta ciegamente conduce a efectos secundarios en el sobreajuste.

  • Haga que las reglas se sitúen sobre un clasificador estadístico: desea invocar un modelo estadístico complejo solo cuando predice a partir de datos complejos y existe un nivel de incertidumbre. Digamos que está ejecutando un servicio de predicción de películas y un usuario ha presionado literalmente un botón que le pide que le notifique cuando se produce una secuela de una película. Ahora digamos que la secuela sale y tiene comentarios terribles, y eso lleva a tasas de predicción bajas. Sigue siendo un incumplimiento de contrato con el usuario no mostrarles lo que pidieron explícitamente.
  • Reequilibre los datos de entrenamiento : este es un ejemplo ligeramente simplificado pero realista, digamos que su función de pérdida es la suma de los errores cuadrados, pero sus datos de entrenamiento tienen muchas más etiquetas positivas que negativas, por ejemplo, a las personas en Facebook les gusta mucho más el contenido de lo que están tristes. o enojado con ello, debido a la forma en que está estructurado el producto (favorece a los me gusta). Ahora, este sistema aceptará una leve mejora en la precisión de la predicción similar al costo de un gran cambio relativo en la precisión de la predicción triste / enojada. En la industria, es común reequilibrar las etiquetas en los datos de capacitación, y algunos buscan formas sistemáticas de hacerlo.
  • Codifique el comportamiento deseado en la función objetivo: Algo similar al rebalanceo de los datos de entrenamiento, puede definir arbitrariamente la función de pérdida para penalizar ciertos tipos de comportamiento más que otros. Siguiendo con el ejemplo de Facebook, digamos que tienes un modelo que predice la probabilidad de que me guste algo [math] P (like) [/ math] y otro modelo predice [math] P (el usuario reaccionará con sadface) [/ math], y hasta cierto punto, es una decisión humana lo importante que es mostrarte algo que te gusta en tu feed y no mostrarte algo que no te guste. Entonces, estos sistemas a menudo codifican ponderaciones arbitrarias de diferentes predicciones, por ejemplo, maximizan [math] P (like) – 5P (sadface) [/ math]

Curioso si hay otros por ahí, pero esos son los tres que he visto más a menudo. El tl; dr aquí es que cualquier sistema estadístico optimiza una probabilidad y viene con una posibilidad de error. En algunos casos raros, no puede permitirse el error, y está claro cuál es ese error, por lo que tiene sentido imponer un comportamiento de anulación.

Sí. Los árboles de decisión siempre populares e interpretables son reglas disfrazadas. Solo necesita pasar de la raíz a una hoja para obtener una regla de clasificación o regresión.

No creo que sea un algoritmo estándar, pero siempre se podría ajustar algo como esto a través de algoritmos genéticos, optimización Bayesiana o alguna otra metaheurística.