2.4 本稿で使用する一般用語

このように, 統計モデリングと機械学習はよく似た問題を扱っておりかなりの部分で共通しているのですが, それぞれ独立に発展してきたため, 同じものを異なる用語で読んでいたり, あるいは同じものも異なる視点で説明することがあります. 「データサイエンス」では両者が混在しており, また (少なくとも私の経験の範囲内では) 経験者は用語の厳密な使い方にあまりこだわらないことが多いです. お互いに本質を十分に理解しているのならば用語に細かくこだわる必要はありませんが, みなさんはおそらく異なるバックグラウンドなので, 混乱の元にならないように補足説明をしておきます. もちろん, 全てを網羅することは難しいので, ここでは, 厳密な説明が省略されがちな, 基本的であり, それでいて重要な概念についてのみ説明します.

2.4.1 サンプルとデータセット

分析で取り扱う情報の塊を統計学ではサンプル (標本) と呼び, 機械学習ではデータセットあるいは単にデータと呼びます. 機械学習で用いられることが多いです. データにはさまざまなタイプの情報が含まれており, それを統計学では2種類に分けています. 独立変数 (independent variables) 説明変数 (explanatory variables) や共変量 (covariates) と呼ばれるものと, 従属変数 (dependent —) や被説明変数 (explained —) と呼ばれるものです. 機械学習では前者を特徴または特徴量 (features) あるいは属性 (attribute) といいます. データに含まれる特徴の種類の数を, 機械学習では次元 (dimension) といいます3. 後者は目的変数 (target —) やラベル と呼ばれます. 本稿では基本的に ラベル, 特徴量 の用語を使います.

データは特徴量の集まりとして見ることもできれば, 全ての特徴量の値を1つづつ成分としてもつ特徴量ベクトルの集まりとしても見られます. このデータの単位を, 特徴量ベクトルまたはインスタンスといい, 統計学でいう観測点 (observation) に対応します4. データに含まれるインスタンスの数を機械学習ではインスタンス数といい, 統計学でのサンプルサイズ5. または例数 (examples) に対応しています. これらはデータベースのテーブルの構造とみなすとわかりやすいです. レコードがインスタンス/観測点であり, が変数/特徴量に対応しています. つまり, 統計学も機械学習も, 入力データはテーブル状のものを想像すれば良いということです. 本稿では, 基本的に行に対応するものを観測点と呼びます.

2.4.2 モデルと学習器

教師あり学習において, 学習器 (learner) とはモデルとほぼ同じ概念で, 特徴量の入力に対し, 目的変数 (target variable) 予測値を返すものです. モデルはパラメータ (母数) を持ちます. 線形回帰モデルでは, 係数パラメータは各変数が従属変数に与える影響の大きさとも解釈できす. そのため, 機械学習においては, 係数パラメータのことを重みベクトル (weighted vector) とも言います. また, 定数項バイアス項 (bias term) といいます. 目的変数とその予測値のずれをバイアスと呼ぶため, 定数項を調整すればデータ全体の平均的なバイアスを補正することができるからです. 本稿では基本的にパラメータ, 定数項という呼び方を使います.

学習アルゴリズムを用いてパラメータを求めることを学習 (learning) または訓練 (training) といい, 統計学でいう, モデルの推定 (estimation) に対応します. これは実質的に最適化問題を解くことと同じです. なお, 機械学習ではアルゴリズムの挙動自体を調整するパラメータが別にあり, これはハイパーパラメータまたは調整パラメータ (tuning parameter) と呼ばれます. ベイズ統計における事前分布のハイパーパラメータと似たようなものとも解釈できますが, 実装上は決定木の深さとか, 最適化ソルバーの設定とか, 理論モデルに限らず数値計算の方法に関係のあるより広義のパラメータも含むため, 確率分布の形で表すことが難しい場合もあります. そしてこれらは通常のパラメータとは違い, ライブラリが最適化方法を提供しているとは限りません. よって, 本稿では, 通常ソルバーやオプティマイザでは決定してくれないパラメータのことをハイパーパラメータと呼んでいます.

2.4.3 母集団と一般化

ここからは, 統計学と機械学習の成立経緯の違いから, 解釈が異なる概念を説明します.

母集団 (population) は主に統計学で使われる用語です. 詳細な説明は省きます. 機械学習でも, データに存在しない新しいインスタンスを無視するわけではありません. 新しいインスタンスに対しても精度のよい予測値を与えられるようにすることを一般化 (generalization) あるいは汎化といい, モデルの一般化の程度を汎化性能6といい, 汎化誤差 (generalized error) で定義されます. しかし, 基本的にはどちらも, 「全てのサンプルが互いに独立7である」ということを暗黙の前提としています.

学習器がデータに当てはまりすぎ, 新しいインスタンスに対する予測が悪くなることを過学習 (over learning) といいます. 統計学で過剰適合 (overfitting) と呼ばれているものと同じ概念です. その逆である過小学習/過小適合もありえますが, 学習アルゴリズムの多くが訓練データに対する当てはまりを最適化するものである以上, 多くの場合で発生するのは過学習です.

参考文献一覧

Hayashi, Fumio. 2000. Econometrics. Princeton: Princeton University Press.
Shadish, William R., Thomas D. Cook, and Donald T. Campbell. 2001. Experimental and Quasi-Experimental Designs for Generalized Causal Inference. Boston: Houghton Mifflin.
沖本竜義. 2010. 経済・ファイナンスデータの計量時系列分析. 朝倉書店.

  1. クロス集計を行うソフトウェアでは集計の軸をディメンションと呼ぶことがあるため, そういうソフトや作業に慣れた人もこの言葉をよく使いますが, ここではクロス集計の話をしていないことに注意してください.↩︎

  2. この単位も単位のまとまりもどちらも「データ」とか「サンプル」とか呼んでしまうケースも多いですが, 正確な説明のために, ここではまとまりのことを「データ」「サンプル」, 単位のことを「インスタンス」「観測点」などと呼び分けます.↩︎

  3. 語義からすればやや不自然ですが, データ数, サンプル数とも呼ばれます. こういう曖昧な呼び方をするとまずい場合があるのですが, 本稿で説明する範囲に限ればあまり気にする必要はありません.↩︎

  4. 統計学にも, サンプル外でもモデルが当てはまっていることを表す外的妥当性 (external validity) という概念がありますが, これは汎化性能の定義とは必ずしも一致しません. 内的/外的妥当性に関して現在コンセンサスの取れている厳密な定義は, Shadish, Cook, and Campbell (2001) を参考にしてください.↩︎

  5. ここでは確率分布の独立性を想定していますが, 実用上は必ずしも適切な仮定ではないことがあります. 例えば時系列データを扱う時, 今現在と1時間前の数値が「互いに独立」という仮定は不自然です. しかし, かといって統計学や機械学習を適用できないわけではありません. この問題を説明すると前置きが長くなり, また今回のタスクとあまり関係がないため省略します. 興味のある方は Hayashi (2000), 沖本 (2010) などを参考にしてください.↩︎