ML flexível, controlado e interpretável com modelos baseados em reticulados
import numpy as np import tensorflow as tf import tensorflow_lattice as tfl model = tf.keras.models.Sequential() model.add( tfl.layers.ParallelCombination([ # Monotonic piece-wise linear calibration with bounded output tfl.layers.PWLCalibration( monotonicity='increasing', input_keypoints=np.linspace(1., 5., num=20), output_min=0.0, output_max=1.0), # Diminishing returns tfl.layers.PWLCalibration( monotonicity='increasing', convexity='concave', input_keypoints=np.linspace(0., 200., num=20), output_min=0.0, output_max=2.0), # Partially monotonic categorical calibration: calib(0) <= calib(1) tfl.layers.CategoricalCalibration( num_buckets=4, output_min=0.0, output_max=1.0, monotonicities=[(0, 1)]), ])) model.add( tfl.layers.Lattice( lattice_sizes=[2, 3, 2], monotonicities=['increasing', 'increasing', 'increasing'], # Trust: model is more responsive to input 0 if input 1 increases edgeworth_trusts=(0, 1, 'positive'))) model.compile(...)
O TensorFlow Lattice é uma biblioteca que implementa modelos restritos e interpretáveis baseados em reticulados. A biblioteca permite adicionar conhecimento do seu domínio ao processo de aprendizado com restrições de formato baseadas em políticas ou de senso comum. Isso é feito usando uma série de camadas da Keras que podem satisfazer restrições como monotonicidade, convexidade e como os recursos interagem. A biblioteca também oferece modelos pré-desenvolvidos e estimators automáticos fáceis de configurar.
Com o TF Lattice, você pode usar o conhecimento do seu domínio para extrapolar melhor para as partes do espaço de entradas não cobertas pelo conjunto de dados de treinamento. Isso ajuda a evitar o comportamento inesperado do modelo quando a distribuição de exibição é diferente da distribuição de treinamento.