Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Гибкое, управляемое и интерпретируемое машинное обучение с моделями на основе решеток

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_size=[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 вы можете использовать знания предметной области, чтобы лучше экстраполировать на части входного пространства, не охваченные обучающим набором данных. Это помогает избежать неожиданного поведения модели, когда распределение обслуживания отличается от распределения для обучения.