Path: blob/master/site/ja/lattice/tutorials/premade_models.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
既製の TF Lattice モデル
概要
既製のモデルは、典型的な使用事例向けの TFL tf.keras.model
インスタンスを素早く簡単位構築する方法です。このガイドでは、既製の TFL モデルを構築し、トレーニングやテストを行うために必要な手順を説明します。
セットアップ
TF Lattice パッケージをインストールします。
必要なパッケージをインポートします。
このガイドのトレーニングに使用されるデフォルト値を設定します。
UCI Statlog(心臓)データセットをダウンロードします。
特徴量の構成
特徴量の較正と特徴量あたりの構成は tfl.configs.FeatureConfig によって設定します。特徴量の構成には、単調性制約、特徴量あたりの正則化(tfl.configs.RegularizerConfig を参照)、および格子モデルの格子のサイズが含まれます。
モデルが認識する必要のあるすべての特徴量に対し、完全な特徴量の構成を指定する必要があります。指定されていない場合、モデルは特徴量の存在を認識できません。
特徴量の構成を定義する
分位数を計算できるようになったので、モデルが入力として使用する各特徴量に対する特徴量の構成を定義します。
単調性とキーポイントを設定する
次に、カスタム語彙(上記の 'thal' など)を使用した特徴量に単調性を適切に設定していることを確認する必要があります。
最後に、キーポイントの計算と設定で、特徴量構成を完了できます。
較正済みの線形モデル
既製の TFL モデルを構築するには、tfl.configs からモデル構成を構築します。較正された線形モデルは、tfl.configs.CalibratedLinearConfig を使用して構築されます。これは、ピースごとに線形で分類上の較正を入力特徴量に適用し、その後で、線形の組み合わせとオプションの出力ピース単位線形較正を適用します。出力較正を使用する場合、または出力境界が指定されている場合、線形レイヤーは加重平均を較正済みの入力に適用します。
この例では、最初の 5 つの特徴量で較正済みの線形モデルを作成します。
ここで、ほかの tf.keras.Model と同様に、モデルをコンパイルしてデータに適合させます。
モデルをトレーニングしたら、テストデータを使ってモデルを評価することができます。
較正済みの格子モデル
較正済みの格子モデルは、tfl.configs.CalibratedLatticeConfig を使って構築されます。較正済みの格子モデルは、入力特徴量にピース単位の線形と分類上の較正を適用し、その後で、格子モデルとオプションの出力ピース単位線形較正を適用します。
この例では、最初の 5 つの特徴量で較正済みの格子モデルを作成します。
前と同じように、モデルをコンパイルし、適合して評価します。
較正済みの格子アンサンブルモデル
特徴量の数が大きい場合、アンサンブルモデルを使用できます。アンサンブルモデルは、単一の大型の格子を作成する代わりに、特徴量のサブセットにより小さな格子を作成し、その出力を平均化します。アンサンブル格子モデルは、tfl.configs.CalibratedLatticeEnsembleConfig を使って作成します。較正済み格子アンサンブルモデルは、特徴量にピース単位の線形および分類上の較正を適用し、その後で、格子モデルのアンサンブルとオプションの出力ピース単位線形較正を適用します。
明示的な格子アンサンブルの初期化
格子にどの特徴量サブセットをフィードするのかがわかっている場合は、特徴量の名前を使用して格子を明示的に設定することができます。この例では、5 つの格子と格子当たり 3 つの特徴量を使用して、較正済みの格子アンサンブルモデルを作成します。
前と同じように、モデルをコンパイルし、適合して評価します。
ランダムな格子アンサンブル
格子にどの特徴量サブセットをフィードしていいのか不明な場合は、別のオプションとして、各格子にランダムな特徴量サブセットを使用する方法があります。この例では、5 つの格子と格子当たり 3 つの特徴量を使用して、較正済みの格子アンサンブルモデルを作成します。
前と同じように、モデルをコンパイルし、適合して評価します。
RTL レイヤーのランダムな格子アンサンブル
ランダムな格子アンサンブルを使用する場合、モデルが単一の tfl.layers.RTL
レイヤーを使用するように設定することができます。tfl.layers.RTL
は単調性制約のみをサポートしており、すべての特徴量と特徴量ごとの正則化において同じ格子サイズが必要です。tfl.layers.RTL
レイヤーを使用すると、別の tfl.layers.Lattice
インスタンスを使用する場合よりもさらに大きなアンサンブルにスケーリングすることができます。
この例では、5 つの格子と格子当たり 3 つの特徴量を使用して、較正済みの格子アンサンブルモデルを作成します。
前と同じように、モデルをコンパイルし、適合して評価します。
Crystals 格子アンサンブル
既製は、Crystals と呼ばれるヒューリスティックな特徴量配置アルゴリズムも提供しています。Crystals アルゴリズムはまず、ペアでの特徴量の相互作用を推定する事前適合モデルをトレーニングします。次に、同じ格子内により多くの非線形相互作用を持つ特徴量が存在するように、最終的なアンサンブルを配置します。
既製のライブラリは、事前適合モデルの構成を構築し、Crystals 構成を抽出するためのヘルパー関数を提供しています。事前適合モデルは完全にトレーニングされている必要はないため、数エポックのみで十分だといえます。
この例では、5 つの格子と格子当たり 3 つの特徴量を使用して、較正済みの格子アンサンブルモデルを作成します。
As before, we compile, fit, and evaluate our model.