hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

ニューラルネットとランダムフォレストと統計学の決定的違いって何?

最近、統計学にはそれなり詳しくなってきたと思う一方、統計学機械学習は本質的に何が違うのか、という基本的なところでずっともやもやを抱えていた。統計学にもノンパラメトリックなものはあるし、統計学も広い意味では機械学習のひとつと言えなくもない。機械学習の中にもNNもあれば、テーブルデータにより適していると言われる決定木モデルやクラスタリングに使う教師なし学習の k-means もある。

たしかに「「統計学と機械学習の違い」はどう論じたら良いのか - 渋谷駅前で働くデータサイエンティストのブログ」で説明されるように、統計学は説明に、機械学習は予測により重きが置かれているという目的の違いはあるものの、例えばランダムフォレストなどの決定木モデルは機械学習と言えど説明にも使えるし、ベイズ推定などは予測を通じて説明するという側面も強い。そこにはグラデーションがある。

ニューラルネットとランダムフォレストと統計学が異なる手法であるのは明らかであるが、ではどういう考えにおいて使い分ければよいのだろうか。例えば、予測にをするなら線形回帰よりもニューラルネットを使う「方がいい」と言えるのだろうか。

 

そんな中、先日ある考えが浮かんだ。「前提として仮定する制約条件の強さの違い」であり「制約条件の強さ=説明」と考えればいいのではなかろうか、ということだ。

統計学とは何か、そしてベイズ統計学の話」で書いたように統計学と言うのは不良設定問題であり、推測には様々な仮定を必要とする。この様々な仮定は、きつい制約であればあるほど少ないデータでも的確な推定ができる一方で、その制約が間違ったものであればまったく意味のない分析になってしまう。例えば、概ね直線的に並んでいるが数点外れ値があるようなデータがあったとして、外れ値が単なる異常値であれば単回帰こそがよい分析となるだろうし、外れ値が別の要因による正常値であれば単回帰よりももっと複雑なより制約の緩いモデルを使う方が適切となる。

そして「物事を説明する」、ということはその物事の本質を表現したモデルで表現できているか、が重要になるだろう。ニューラルネットのある層が本質(例えば画像の輪郭と言った)を表現していたとしても、事前に意味付けがされていないが故に、説明はできずまた新たな推測が必要になる。

 

統計学は頻度主義統計学であろうとベイズ統計学であろうと必ず固定のモデルを必要とする。このことは、これらの手法が「説明」を目的にしていることを意味している。ブートストラップ法のようなノンパラメトリックの手法であっても、「平均値」と「分散」というモデルを通してデータを説明しようとしている、と言える。

 

ランダムフォレストのような決定木モデルはどうか。これらの手法を使うと決定木の確率分布が得られる。これも結果的に「説明」に繋がる。統計学ほど制約は強くない分、「説明」の度合いは大きくないかもしれないが、どの変数による分岐の影響が強いかを通じて「説明」が得られる。ランダムフォレストのような決定木モデルはテーブルデータに強いというより、テーブルデータの「説明」に適した形にモデル化がされている、と考えることができる。

 

そしてニューラルネットはどうか。各パラメータは汎用的であり、そこには何ら意味付けはない。各層に残った特徴から類推するしかない。「説明」がない以上、どんなに精度が高くても「予測」としての役割しか果たせない。もし、ニューラルネットによる推定を「説明」するのだとすれば、各層が持つ特徴量抽出の役割をそれに特化した専用モジュールに置き換えても同じ動作をするかによって確認するしかない。なぜならトレーニングをするたびに各層の値はまったく変わってしまうかもしれないわけだから。

 

ニューラルネットワークでもSHAPを使えば説明できるじゃないか、という話もあるがSHAPが説明するのは結果の根拠であってモデルそのものの説明ではない。例えば、ある結果の根拠として説明変数が提示されたとして、その説明変数の値を変えたからと言って思った通りの結果になるとは限らない。あくまで1例に対してその根拠を示すだけだ。

 

まぁ、私個人はこういう理解で納得したという話で、学術的にどうこうという話ではないので批判もあろうとは思うけれども。