プログラミング入門
もし「騎手の勝率」という予想ファクター1個だけでソフトを作る場合、
入力文は1行です。
A=勝率(騎手);
右辺の入力文には、指数、勝率、連対率、複勝率、入着率(5着以内)、回収率(単勝)が使えます。
左辺の変数には半角アルファベットのA-Z、a-z
の52文字から1文字を使います。
上の例では1Rの出走頭数分の騎手の勝率データをアルファベット1文字のAで表しています。
変数ではなく出走頭数分のデータを馬番順に並べた集まりだと考えてください。
難しく言うと要素を馬番順に1列に並べたものなので「変数ベクトル」とも言います。
3)計算文 C=合計(A,B); C=NN(A,B:1,2:0.5)
たとえば、A=勝率(騎手) B=複勝率(馬主) とした場合
AとBを合計した答えをCに代入するとき
C=合計(A,B)
と書きます。
またAとBに重み付けをした上に標準化してCに代入する
ニューラルネットワーク関数を使うことができます。
A:Bを1:2の割合で重み付けしてさらに閾値0.5を加算する場合
C=NN(A,B:1,2:0.5)
と書きます。
NNはニューラルネットワークの略です。
コロン記号:で 変数(A,B) と重み付け(1,2)と閾値(0.5)を区切ります。
実際の計算式はC=F(A*1+B*2+0.5)
が計算されます。
F()の関数はジグモイド関数です。
計算文には指数や勝率を標準化する関数
標準化、2値化、ジグモイド化などがあります。
シグモイド化とは、GoGyoでは、標準化したデータをさらにシグモイド関数に代入して0から1の実数値に変換することです。
平均が0.5
最小値は限りなく0に近く、最大値は限りなく1に近くなる値をとります。
なぜこの様な変換を行うかは、将来ディープラーニングのための下準備です。
それではプログラムで標準化を行ってみます。
------------------------------------
A=勝率(騎手);B=指数(TM);
C=合計(A,B);<
BR>
------------------------------------
上のプログラムでCはAとBを足していますが、Bは3桁、Cは1桁の数字なので
そのまま合計するとほとんどBの値で評価することになってしまいます。
そこで標準化
------------------------------------
A=勝率(騎手);B=指数(TM);
A=標準化(A);B=標準化(B);///<------------ここでAとBを均等に評価できるようにする。
C=合計(AB);<
BR>
------------------------------------
次にシグモイド化
------------------------------------
A=勝率(騎手);B=指数(TM);
A=シグモイド化(A);B=シグモイド化(B);///<------------ここでAとBを均等に評価できるようにする。
C=
合計(A,B);<BR>C=シグモイド化(C);
////<-----------さらにCをシグモイド化
しておけば将来につながる。
------------------------------------
シグモイド
の数学的な意味
http://mathtrain.jp/sigmoid
統計学的な意味(ディープラーニング)