¿Alguna de las bibliotecas actuales de aprendizaje profundo permite restricciones de monotonicidad?

¡No lo hagas! Si el resultado tiene esa propiedad en su conjunto de entrenamiento, la red lo aprenderá. Si los datos de entrenamiento no tienen esa propiedad, es probable que haya una razón para ello.

Dicho esto, así es como puedes hacerlo:

Desea [math] \ frac {\ partial f (X)} {\ partial x_k} \ geq 0 [/ math]

Tendrá que colocar alguna restricción en el dominio, de lo contrario, casi siempre puede encontrar alguna X que viole su condición.

Una vez que tenga esas restricciones, puede tratar todo como un problema de optimización restringido. Es muy difícil y casi seguro que no vale la pena, pero hay algoritmos capaces de hacerlo.

Lo que te sugiero que hagas en su lugar:

Entrenar a la red normalmente.

Luego, genere una malla de malla sobre el dominio y evalúe [math] \ frac {\ partial f (X)} {\ partial x_k} [/ math] sobre él y observe dónde es negativo (si está en algún lugar). ¿Es pequeña la magnitud? Probablemente. Entonces no te preocupes por eso. Si la magnitud es significativa, observe el significado de las otras características en esa región e intente descubrir qué podría causarla. Quizás la red está mal en esa región o quizás hay una buena razón.

Alternativamente:

Cree que la derivada parcial negativa en esa característica es un signo de sobreajuste, así que use la regularización. No regularización L1 o L2. En su lugar, regularice de acuerdo con la contribución de un peso a la derivada parcial.

No estoy seguro, sinceramente. Nunca ha aparecido en mi trabajo.

Estoy seguro de que podría encontrar una manera de hacerlo, pero recomendaría no hacerlo. En su ejemplo de demanda / precio, existe la idea de un bien Giffen que podría enmascararse si aplica dicha restricción.

Lo que pasa con las redes neuronales es que son realmente cajas negras … aún más enredadas y más difíciles de interpretar que, por ejemplo, bosques aleatorios.

Al imponer una restricción que tiene sentido lógico en la mayoría de los casos, pero que no siempre es cierta, posiblemente esté induciendo una fuente de error que podrá desenredar en OLS o incluso posiblemente en los bosques, pero puede ser imposible averiguar cómo para tener en cuenta en una red neuronal, especialmente una profunda.

More Interesting

¿Cuál es el mejor libro sobre Support Vector Machines?

¿Cree en los resultados producidos por el análisis de control metabólico (modelado matemático utilizando parámetros cinéticos)?

Cómo lidiar con una matriz escasa de pares de elementos de usuario mientras se construye un sistema de recomendación de filtrado colaborativo basado en perceptrón

¿Qué significa realmente la matriz de covarianza de la estimación de máxima verosimilitud de la distribución normal multivariante?

¿Cuáles son las diferencias entre la red neuronal artificial (informática) y la red neuronal biológica?

¿Cuáles son algunas implementaciones geniales de aprendizaje automático?

¿Cuáles son algunos buenos proyectos de aprendizaje automático que implican el uso de estructuras de datos y tienen aplicaciones de la vida real y se pueden hacer en 2-3 semanas?

¿Será el futuro cercano de la visión por computadora el aprendizaje profundo pesado?

¿Cuándo se ajusta bien un modelo de mezcla gaussiana?

¿Qué papel juega la intuición en las matemáticas y puede la IA reemplazar completamente a un matemático?

¿Qué sistemas IDS, IPS en Network Security hoy en día son los más adaptables para aprender nuevas amenazas? ¿Hay algún tipo de punto de referencia estándar para medir esto?

Cómo verificar si el objeto de una imagen existe en otra imagen

¿Cuáles son los pasos necesarios para el análisis de sentimientos de las redes sociales?

¿Cuáles son los efectos de una estimación de densidad de kernel en los momentos de una distribución?

¿Cuál es la diferencia entre redes neuronales y de creencias?