統計学と機械学習

統計学と機械学習の違いは、その目的設定にある。統計学は、(過去の)観測データの説明に重みを置き、データを説明するために整合性を持つモデルを作ることを目的としている。これに対して、機械学習は、未来予測に重みを置き、未来予測の性能が高ければ、モデルの整合性は求められない。

統計学

統計モデルは、データを説明することが目的である。観測されたデータは、ある母集団からサンプリングされた標本に過ぎない。このような標本データは、観測する度に変化する。そのため、「データを説明する」ことは、標本データそのものを説明することではなく、標本データが母集団からどのように生成されたかのかというプロセスを考えて、その標本データのサンプリング元である母集団を説明することである。統計学では、母集団を説明するためには、その母集団と整合性を持ちそうなハイパーパラメーターを考えて、仮説を立てて、統計モデルを構築していく。

母集団は少数のハイパーパラメーターで構成されているシンプルなものであったり、あるいは多数のハイパーパラメーターで構成されている複雑なものであったりする。何れにしても、真の母集団がどのようになっているのは知らない。そのため、母集団を説明するための統計モデルを構築するときは、モデルを 1 つだけ構築すればいいというのではなく、ほとんどの場合、複数のモデルを構築する。そして、構築されたこれら複数のモデルを検証し、母集団を説明するのに「最適なモデル」を選択する。

例えば、さくらの開花日を気象要因で説明する統計モデルを構築したいとするとき、気温(過去 1 週間累積温度)、降水量(過去 1 週間累積降水量)、日照時間(過去 1 週間平均日照時間)などが、モデルを構築するときのハイパーパラメーターになる。さくらの開花日が、気象要因のどれに、あるいはどの組み合わせに影響されているのかは、未知である。そのため、さくらの開花日を説明するために、仮説を立てて、ハイパーパラメーターを調整して複数のモデルを構築して、検証していく必要がある。

  • さくらの開花日は、春先である。この期間の前後に、気温が徐々に上がっている。また、一部の植物が、低温を経験してから開花することも知られている。そのため、さくらの開花日は気温に影響されているはずである。そこで、さくらの開花日を y、気温を x1 とすると、y = β1x1 + β0 という最もシンプルな単回帰モデルを構築できる。
  • さくらの開花日は、春先である。この期間の前後に、日照時間が徐々に長くなっている。また、植物の中で、連続暗期の時間が短くなることで開花する花が存在することが知られている。そのため、さくらの開花日は日照時間に影響されているはずである。そこで、さくらの開花日を y、日照時間を x2 とすると、y = β2x2 + β0 という最もシンプルな単回帰モデルを構築できる。

  • さくらが開花する頃には、気温と日照時間がともに変化している。そのため、さくらの開花日は気温と日照時間の両方に影響されている可能性がある。そこで、両者の相加効果を考えて、y = β2x2 + β1x1 + β0 という少し複雑なモデルを構築できる。
  • さくらが開花する時期に、降水量はあまり変化していると思えないので、降水量を含むモデルを現時点では考えない。

このように、統計学では、データを説明するために、複数の仮説を考えて、それらの仮説に基づいてモデルが複数構築される。そして、構築された複数のモデルに対して、モデル中の β0、β1、β2 の各係数を決めていく。これらの係数をパラメーターという。パラメーターは、標本データをモデルに代入して、標本データとモデルの誤差が最小となるように決められる。

標本データは母集団からサンプリングされたものである。そのため、もし、ある統計モデルが正しければ(真の母集団を表しているならば)、その統計モデルに標本データを代入すると、標本データがその統計モデルに適合するはずである。つまり、標本データとモデルの誤差が小さいはずである。この考えに基づいて、母集団を説明するために構築された複数のモデルに、標本データを代入し、モデルと標本データとの誤差を計算すれば、最も小さい誤差を与えたモデルというのが、母集団を説明するのに最もふさわしいモデルとなる。つまり、このように選択されたモデルは、標本データにもっとも適合し、標本データサンプリングされる元の母集団を都合よく説明できるようなモデルになっている。

統計学はデータを説明するためのモデルを構築している

統計学では、最適なモデルが決まると、それで終わりとならない。例えば、上の例で y = β2x2 + β1x1 + β0 が最適なモデルが選択されたとしよう。統計学では、最適なモデルが決まってから、さらに、なぜ気温(x1)と日照時間(x2)を同時に含むモデルが選ばれたのか、そして、パラメーター(β1 と β2)の値を参考にして、気温と日照時間のどちらが強く開花に影響しているのかを考察していきます。統計学でいうモデルというのは、このようにデータの説明が目的である。

機械学習

機械学習モデルは、予測することに重みを置いていある。統計学では、データを説明するためにモデルを構築しているため、標本データがどのように母集団から生成されたのかという生成プロセスを考え、そして、仮定をおいてから、モデルを構築している。そのため、統計モデルは、標本データの生成プロセスに対して、整合性や正当性が保証される。これに対して、機械学習は、未知のデータに対して予測性能が高ければ、モデルと標本データの生成プロセスとの整合性や正当性を問わない。極端な言い方をすれば、すでに観測されている標本データに対して適合していなくても、未知のデータに対して予測性能が高ければいい。機械学習の分野において、モデルというのは、予測精度を上げるための手段であって、データを説明するための手段ではない。

機械学習と統計学のスタート地点は同じだが、目的設定が異なる。つまり、スタートの地点では、両者は同じデータを使用するが、ゴール地点では、統計はデータの説明、機械学習は未来予測というところに重みを置いてある。機械学習は、統計モデルを作るときと同じデータを使いながら、ゴール地点を未来予測としている。これを可能にするのは、標本データの使い方というところに、トリックがある。

機械学習では、標本データを 2 つのサブセットに分けてモデルの構築と選択を行なっている。この 2 つのサブセットをそれぞれトレーニングセットとテストセットと呼ぶ。機械学習では、まず、トレーニングセットを使って、予測モデルを構築する。機械学習には、様々な学習アルゴリズムがある。また、それぞれの学習アルゴリズムには複数のハイパーパラメーターを持つ。そのため、機械学習でも、ハイパーパラメーターの構成を変えたり、学習アルゴリズムを変えたりして、複数の予測モデルを構築している。次に、このように構築された複数のモデルに、テストセットを代入して、モデルの予測誤差を計算する。そして、予測誤差の最も小さいモデルが選択される。

機械学習はトレーニングセットで学習を行い、テストセットでモデルの評価を行う

このように選択されたモデルというのは、モデルのテストセットに対する予測誤差が最小となっている。テストセットは、モデルにとって初めて見るデータである。言い換えれば、テストセットは、モデルにとって、見かけ上の未知のデータ(未来に観測されるのであろうデータ)となっている。そのため、テストセットに対する予測誤差が最小となるモデルが「最適なモデル」として選択されたということは、その最適なモデルは、未知のデータを最もよく予測できるモデルとなっているといえる。

機械学習は、標本データをトレーニングセットとテストセットに分けてからモデルの構築と評価を行うことで、未知のデータに対して予測性能が最も高いモデルを作っている(選んでいる)。機械学習では、予測性能が最も高いモデルが得られれば、それでよい。最終的になぜそのモデルになったのか、あるいはなぜそのようなハイパーパラメーターを含むモデルが選ばれたのかについて、解釈したり正当化したりする必要はない。