Sobes.tech
Middle — Senior

O que são restrições monótonicas e para que servem?

sobes.tech IA

Resposta da IA

Restrições monótonas (restrições monótonas) são restrições impostas a um modelo de aprendizagem automática para garantir que as previsões do modelo dependam de forma monótona de certos atributos. Ou seja, ao aumentar (ou diminuir) o valor de um atributo, a previsão do modelo não deve diminuir (ou aumentar).

Para que serve isso?

  • Interpretabilidade: Em alguns problemas, a lógica de negócios ou o senso comum determinam que a influência de um atributo na variável alvo deve ser monótona. Por exemplo, ao aumentar a renda do cliente, a probabilidade de aprovação do crédito não deve diminuir.
  • Estabilidade do modelo: Restrições monótonas ajudam a evitar mudanças ilógicas ou inesperadas nas previsões.
  • Melhoria na generalização: Em alguns casos, essas restrições ajudam o modelo a generalizar melhor, especialmente com um volume de dados pequeno.

Em algoritmos de boosting (por exemplo, LightGBM, XGBoost), é possível definir restrições monótonas para atributos específicos, para que o modelo leve em consideração esses requisitos ao construir árvores.

Exemplo de uso no LightGBM:

import lightgbm as lgb

# Definindo restrições monótonas: 1 significa dependência monotonicamente crescente, -1 — decrescente, 0 — sem restrição
monotone_constraints = [1, 0, -1]  # para três atributos

params = {
    'objective': 'regression',
    'monotone_constraints': monotone_constraints
}

# Depois, criamos o conjunto de dados e treinamos o modelo com esses parâmetros

Dessa forma, restrições monótonas ajudam a incorporar conhecimentos de especialistas ao modelo e a torná-lo mais previsível e lógico.