9 votos

Aprendizaje automático monocromo

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.

3voto

geompalik Puntos 108

Aunque es una pregunta antigua, acabo de descubrir que los árboles potenciados por gradientes admiten esa funcionalidad y ya está implementada en XGBoost. Consulta aquí para más detalles

3voto

Potatoswatter Puntos 243

Siempre puedes restringir una red neuronal para que sea monótona al restringir los pesos para que sean positivos y usando activaciones monótonas como se discutió aquí. Ver aquí para un tutorial práctico con una implementación de código abierto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X