Tengo un problema de clasificación binaria (aprendizaje supervisado), donde todas mis características son booleanas, con el siguiente giro: quiero aprender un clasificador $f:\{0,1\}^n \to \{0,1\}$ que sea monótono. En otras palabras, cambiar cualquier subconjunto de características de 0 a 1 nunca debería cambiar la salida del clasificador de 1 a 0.
¿Cómo puedo aprender un clasificador monótono? ¿Puedo adaptar de alguna manera los métodos de clasificación estándar para hacer cumplir la restricción de monotonía?
Puedo ver cómo adaptar la regresión logística de una manera que asegure que aprenderá un modelo monótono: podemos requerir que el coeficiente de cada característica sea no negativo, y luego aplicar un algoritmo de optimización restringido para inferir los coeficientes del modelo. ¿Hay alguna manera razonable de adaptar otros esquemas de aprendizaje supervisado (por ejemplo, bosques aleatorios, aumento de gradiente, redes neuronales)? ¿O existen algoritmos dedicados que sean apropiados para esta situación?
Desafortunadamente, simplemente aplicar un clasificador de bosques aleatorios estándar no garantiza producir un clasificador monótono, incluso si el conjunto de entrenamiento es monótono (provienen de un entorno monótono y no tienen ruido o violaciones de monotonía). Ver https://cs.stackexchange.com/q/69220/755 para un ejemplo explícito, es decir, un ejemplo de un conjunto de entrenamiento monótono, donde los bosques aleatorios podrían aprender un clasificador no monótono, aunque existe un clasificador monótono que es igualmente bueno. Esto sugiere que podríamos necesitar alguna técnica más sofisticada si queremos aprender un clasificador monótono.