Path: blob/master/site/pt-br/lattice/tutorials/premade_models.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
Modelos pré-fabricados do TF Lattice
Visão geral
Os modelos pré-fabricados são maneiras rápidas e fáceis de criar instâncias do tf.keras.model
para casos de uso típicos. Este guia descreve as etapas necessárias para criar e treinar/testar um modelo pré-fabricado do TFL.
Configuração
Instale o pacote do TF Lattice:
Importe os pacotes necessários:
Configure os valores padrão usados para treinamento neste guia:
Baixe o dataset UCI Statlog (Heart):
Configurações de características
A calibração de características e as configurações por característica são definidas usando tfl.configs.FeatureConfig. As configurações de características incluem restrições de monotonicidade, regularização por recurso (ver tfl.configs.RegularizerConfig) e tamanhos de lattice para modelos lattice.
É necessário especificar totalmente a configuração para qualquer característica que queremos que o modelo reconheça. Caso contrário, o modelo não terá como saber se essa característica existe.
Defina as configurações das características
Agora que os quantis podem ser computados, defina uma configuração para cada característica que o modelo deve aceitar como entrada.
Defina monotonicidades e keypoints
Em seguida, defina corretamente as monotonicidades para as características em que usamos um vocabulário personalizado (como "thal" acima).
Por fim, conclua as configurações das características ao calcular e configurar keypoints.
Modelo linear calibrado
Para criar um modelo pré-fabricado do TFL, primeiro construa uma configuração de modelo a partir de tfl.configs. Um modelo linear calibrado é criado usando a tfl.configs.CalibratedLinearConfig. Ela aplica a calibração categórica e por partes nas características de entrada e, em seguida, uma combinação linear e uma calibração linear por partes de saída opcional. Ao usar a calibração de saída ou especificar limites de saída, a camada linear aplicará a média ponderada nas saídas calibradas.
Este exemplo cria um modelo linear calibrado nas primeiras 5 características.
Agora, como com qualquer outro tf.keras.Model, é preciso compilar e ajustar o modelo aos dados.
Após o treinamento do modelo, é possível avaliá-lo no dataset de teste.
Modelo lattice calibrado
Um modelo lattice calibrado é criado usando tfl.configs.CalibratedLatticeConfig. Esse tipo de modelo aplica calibração linear por partes e categórica nas características de entrada e, em seguida, um modelo lattice e uma calibração linear por partes de saída opcional.
Este exemplo cria um modelo lattice calibrado nas primeiras 5 características.
Como antes, compile, ajuste e avalie o modelo.
Modelo ensemble lattice calibrado
Quando o número de características for grande, você pode usar um modelo ensemble, que cria vários lattices menores para subconjuntos de características e calcula a média da saída deles, em vez de só criar um lattice grande. Os modelos lattice ensemble são criados usando tfl.configs.CalibratedLatticeEnsembleConfig. Um modelo ensemble lattice calibrado aplica a calibração linear por partes e categórica na característica de entrada e, em seguida, um ensemble de modelos lattice e uma calibração linear por partes de saída opcional.
Inicialização explícita de ensemble lattice
Se você já sabe com que subconjuntos de características quer alimentar os lattices, é possível definir os lattices de maneira explícita usando nomes de características. Este exemplo cria um modelo ensemble lattice calibrado com 5 lattices e 3 características por lattice.
Como antes, compile, ajuste e avalie o modelo.
Ensemble lattice aleatório
Se você não sabe com que subconjuntos de características quer alimentar os lattices, outra opção é usar subconjuntos aleatórios para cada lattice. Este exemplo cria um modelo ensemble lattice calibrado com 5 lattices e 3 características por lattice.
Como antes, compile, ajuste e avalie o modelo.
Ensemble lattice aleatório de camada RTL
Ao usar um ensemble lattice aleatório, você pode especificar para o modelo usar uma única camada tfl.layers.RTL
. Ressaltamos que tfl.layers.RTL
só é compatível com as restrições de monotonicidade, precisa apresentar o mesmo tamanho de lattice para todas as características e não pode ter regularização por característica. Observe que o uso de uma camada tfl.layers.RTL
permite escalar para ensembles muito maiores em comparação com o uso de instâncias tfl.layers.Lattice
.
Este exemplo cria um modelo ensemble lattice calibrado com 5 lattices e 3 características por lattice.
Como antes, compile, ajuste e avalie o modelo.
Ensemble lattice do Crystals
Os modelos pré-fabricados também fornecem um algoritmo de arranjo de características heurístico chamado Crystals. Para usar o algoritmo Crystals, primeiro é preciso treinar um modelo de prefitting que estima as interações de características por partes. Em seguida, arranjamos o ensemble final para que as características com mais interações não lineares fiquem nos mesmos lattices.
A biblioteca Premade oferece funções helper para construir a configuração de modelo de prefitting e extrair a estrutura de crystals. Observe que o modelo de prefitting não precisa ser totalmente treinado, então algumas épocas deve ser o suficiente.
Este exemplo cria um modelo ensemble lattice calibrado com 5 lattices e 3 características por lattice.
Como antes, compile, ajuste e avalie o modelo.