Гибкое, контролируемое и интерпретируемое машинное обучение с моделями на основе решетки
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(...)
TensorFlow Lattice - это библиотека, которая реализует модели на основе ограниченных и интерпретируемых решеток. Библиотека позволяет вводить знания предметной области в процесс обучения с помощью здравого смысла или политически мотивированных ограничений формы . Это делается с помощью набора Keras слоев , которые могут удовлетворить такие ограничения, как монотонность, выпуклость и как особенности взаимодействуют. Библиотека также предоставляет простой в настройке моделей предварительно сделанных и консервированных оценок .
С TF Lattice вы можете использовать знания предметной области, чтобы лучше экстраполировать на части входного пространства, не охваченные обучающим набором данных. Это помогает избежать неожиданного поведения модели, когда распределение обслуживания отличается от распределения для обучения.
