BigQuery ML モデルの重み付けの概要

このドキュメントでは、BigQuery ML が機械学習(ML)モデルの重み付けの検出可能性をサポートする方法について説明します。

ML モデルは、トレーニング データに対して ML アルゴリズムを実行した後に保存されたアーティファクトです。このモデルは、予測を行うために必要なルール、数値、その他のアルゴリズム固有のデータ構造を表します。以下はその一例です。

  • 線形回帰モデルは、特定の値を持つ係数のベクトルで構成されます。
  • ディシジョン ツリー モデルは、特定の値を持つ if-then ステートメントの 1 つ以上のツリーで構成されます。
  • ディープ ニューラル ネットワーク モデルは、特定の値を持つ重みのベクトルまたは行列を持つグラフ構造で構成されます。

BigQuery ML では、モデルの重み付けという用語は、モデルを構成するコンポーネントを表します。

各モデルタイプでサポートされている SQL ステートメントと関数については、各モデルのエンドツーエンドのユーザー ジャーニーをご覧ください。

BigQuery ML でのモデルの重み付けの内容

BigQuery ML には、さまざまなモデルのモデルの重み付けを取得するために使用できる複数の関数が用意されています。

モデルカテゴリ モデルタイプ モデルの重み関数 関数の機能
教師ありモデル 線形回帰とロジスティック回帰ML.WEIGHTS 特徴係数と切片を取得します。
教師なしモデル Kmeans ML.CENTROIDS すべてのセントロイドの特徴係数を取得します。
行列分解 ML.WEIGHTS すべての潜在的因子の重みを取得します。これらは、2 つの分解された行列(ユーザー マトリックスとアイテム マトリックス)を表します。
PCA ML.PRINCIPAL_COMPONENTS すべての主要コンポーネントの特徴係数を取得します。これは固有ベクトルともいいます。
ML.PRINCIPAL_COMPONENT_INFO 各主要コンポーネント(固有値など)の統計情報を取得します。
時系列モデル ARIMA_PLUS ML.ARIMA_COEFFICIENTS ARIMA モデルの係数を取得します。これは、入力時系列のトレンド コンポーネントをモデル化するために使用されます。時系列に存在する季節のパターンなど、他のコンポーネントの詳細については、ML.ARIMA_EVALUATE を使用します。

BigQuery ML は、次のタイプのモデルに対してモデルの重み付け関数をサポートしていません。

AutoML Tables モデルを除くすべてのモデルタイプの重み付けを確認するには、BigQuery ML から Cloud Storage にモデルをエクスポートします。その後、XGBoost ライブラリを使用してブーストされたツリーとランダム フォレスト モデルのツリー構造を可視化することも、TensorFlow ライブラリを使用して DNN モデルとワイド&ディープモデルのグラフ構造を可視化することもできます。AutoML Tables モデルのモデルの重み付け情報を取得する方法はありません。

モデルのエクスポートの詳細については、EXPORT MODEL ステートメントオンライン予測の BigQuery ML モデルをエクスポートするをご覧ください。