回帰分析を勉強中


重回帰分析の目的は,いくつかの変数に基づいて,別の変数を予測することである。
http://aoki2.si.gunma-u.ac.jp/lecture/Regression/mreg/index.html


回帰分析をちょっと試してみました。
エクセルでも分析ツールから試せます。
y(i)=Σwx(ij)
連立方程式を誤差が少なくなるように満たすwを割り出してくれるようです。
xが互いに独立であるという仮定の下ですが。
この場合は線形結合ですね。



オセロの評価関数は回帰分析で学習するのが一般的みたいなんですよね。
終盤になれば完全読みできますから。


真の評価値(石の数)=Σwx


というのを局面の数だけ連立方程式として解けば、真の評価をより近似する、Wの組合せが求まる訳です。
Wは、パターンの数だけある重み。
オセロの場合、「○●●●●●○○」みたいな3進数で表現されるパターン
これを縦とか横とか斜めとかで全組合せで持っておいて(3^8なのでたいしたことない)
それぞれのパターンに重みをかけて足した結果が真の評価値に近似する重みが求まるように学習する。
エクセルは最大16個の重回帰分析しかできないので、
パターンが多い場合は、バックプロパゲーションとかで学習する(工学社のオセロ本にも書いてあります)
ロジステロが元祖って訳でもないみたい。



で、将棋でもやってみようとおもいまして
2秒探索した評価値を、ルートで評価関数が近似できるように
説明変数は、駒割、飛び齣の脅威、王の脅威、進行度、手数といった感じで回帰分析やってみましたが
全然近似できなかった

ただ

回帰統計	
重相関 R	0.759659108
重決定 R2	0.577081961

75%相関と思っている

P-値
3.25E-61
4.89E-06
0.57006785
0.001368445
3.30E-05

P-値的には、「王の脅威」が余計という判断に(^^;
もっとも10局ぐらいでしかやってないので、なんともいえないかも。


この手のことは、おそらく歴史上、研究済みと思いますが、やはりチェス型ゲームでは上手く行かないんでしょうね。
なんでオセロだと上手く行くんでしょうね? 取り合い探索がいるかどうかの差?