Flexible, kontrollierte und interpretierbare ML mit gitterbasierten Modellen
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 ist eine Bibliothek, die eingeschränkte und interpretierbare gitterbasierte Modelle implementiert. Mit der Bibliothek können Sie Domänenwissen durch vernünftige oder richtliniengesteuerte Formbeschränkungen in den Lernprozess einbringen . Dies erfolgt mithilfe einer Sammlung von Keras-Ebenen , die Einschränkungen wie Monotonie, Konvexität und Interaktion von Features erfüllen können. Die Bibliothek bietet auch einfach einzurichtende vorgefertigte Modelle und vordefinierte Schätzer .
Mit TF Lattice können Sie Domänenwissen verwenden, um besser auf die Teile des Eingabebereichs zu extrapolieren, die nicht vom Trainingsdatensatz abgedeckt werden. Dies hilft, unerwartetes Modellverhalten zu vermeiden, wenn sich die Serving-Verteilung von der Trainingsverteilung unterscheidet.
