Path: blob/master/site/ja/lattice/tutorials/canned_estimators.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
TF Lattice の缶詰 Estimator
概要
缶詰 Estimator は、典型的な使用事例向けの TFL モデルを素早く簡単にトレーニングする方法です。このガイドでは、TFL 缶詰 Estimator の作成に必要な手順を説明します。
セットアップ
TF Lattice パッケージをインストールします。
必要なパッケージをインポートします。
UCI Statlog(心臓)データセットをダウンロードします。
このガイドのトレーニングに使用されるデフォルト値を設定します。
特徴量カラム
ほかの TF Estimator と同様に、データを Estimator に渡す必要があります。通常、input_fn によって行われ、FeatureColumns を使用して解析されます。
TFL 缶詰 Estimator は、どの種類の較正レイヤーを使用するかを決定するために特徴量カラムの種類を使用します。数値特徴量カラムには tfl.layers.PWLCalibration
レイヤーを使用し、分類特徴量カラムには tfl.layers.CategoricalCalibration
レイヤーを使用します。
分類特徴量カラムは、埋め込み特徴量カラムによってラッピングされていないことに注意してください。これらは Estimator に直接フィードされます。
input_fn を作成する
ほかの Estimator と同様に、トレーニング用と評価用のモデルにデータをフィードするために input_fn を使用することができます。TFL Estimator は特徴量の分位数を自動的に計算し、PWL 較正レイヤーの入力キーポイントとして使用します。これを行うには、feature_analysis_input_fn
を渡す必要があります。トレーニング input_fn に似てはいますが、単一のエポックまたはデータのサブサンプルを使用します。
特徴量の構成
特徴量の較正と特徴量あたりの構成は tfl.configs.FeatureConfig
によって設定します。特徴量の構成には、単調性制約、特徴量あたりの正則化(tfl.configs.RegularizerConfig
を参照)、および格子モデルの格子のサイズが含まれます。
入力特徴量の構成が定義されない場合、tfl.config.FeatureConfig
のデフォルトの構成が使用されます。
較正済みの線形モデル
TFL 缶詰 Estimator を構築するには、tfl.configs
からモデル構成を構築します。較正された線形モデルは、tfl.configs.CalibratedLinearConfig
を使用して構築されます。これは、ピースごとに線形で分類上の較正を入力特徴量に適用し、その後で、線形の組み合わせとオプションの出力ピース単位線形較正を適用します。出力較正を使用する場合、または出力境界が指定されている場合、線形レイヤーは加重平均を較正済みの入力に適用します。
この例では、最初の 5 つの特徴量で較正済みの線形モデルを作成します。キャリブレータプロットでモデルグラフを描画するために、tfl.visualization
を使用します。
較正済みの格子モデル
較正済みの格子モデルは、tfl.configs.CalibratedLatticeConfig
を使って構築されます。較正済みの格子モデルは、入力特徴量にピース単位の線形と分類上の較正を適用し、その後で、格子モデルとオプションの出力ピース単位線形較正を適用します。
この例では、最初の 5 つの特徴量で較正済みの格子モデルを作成します。
較正済みの格子アンサンブル
特徴量の数が大きい場合、アンサンブルモデルを使用できます。アンサンブルモデルは、単一の大型の格子を作成する代わりに、特徴量のサブセットにより小さな格子を作成し、その出力を平均化します。アンサンブル格子モデルは、tfl.configs.CalibratedLatticeEnsembleConfig
を使って作成します。較正済み格子アンサンブルモデルは、特徴量にピース単位の線形および分類上の較正を適用し、その後で、格子モデルのアンサンブルとオプションの出力ピース単位線形較正を適用します。
ランダムな格子アンサンブル
次のモデル構成は、各格子のランダムな特徴量サブセットを使用します。
RTL レイヤーのランダムな格子アンサンブル
次のモデル構成は、各格子のランダムな特徴量サブセットを使用する tfl.layers.RTL
レイヤーを使用します。tfl.layers.RTL
は単調性制約のみをサポートしており、すべての特徴量と特徴量ごとの正則化において同じ格子サイズが必要です。tfl.layers.RTL
レイヤーを使用すると、別の tfl.layers.Lattice
インスタンスを使用する場合よりもさらに大きなアンサンブルにスケーリングすることができます。
Crystals 格子アンサンブル
TFL は、Crystals と呼ばれるヒューリスティックな特徴量配置アルゴリズムも提供しています。Crystals アルゴリズムはまず、ペアでの特徴量の相互作用を推定する事前適合モデルをトレーニングします。次に、同じ格子内により多くの非線形相互作用を持つ特徴量が存在するように、最終的なアンサンブルを配置します。
Crystals モデルでは、前述のとおり、事前適合モデルのトレーニングに使用される prefitting_input_fn
も提供する必要があります。事前適合モデルは完全にトレーニングされている必要はないため、数エポックのみで十分だといえます。
その他とで、モデル構成で lattice='crystals'
を設定すると、Crystal モデルを作成することができます。
tfl.visualization
モジュールを使用して、より詳細に特徴量キャリブレータを描画することができます。