2021年11月15日月曜日

MLB(メジャーリーグ)主審の判定結果を学習してストライク判定(2)

【what is this】MLB(前回記事(1)では、メジャーリーグ)の主審によるストライク/ボールの判定結果(5,000投球)を学習させて、約90%以上は同じ判定をするニューラルネットワーク(AI主審)を構成できました。今回は、これをスマホで楽しみながら、判定確認するためのアプリを作りました。「ストライクゾーン」の縦方向の範囲は、打者によって変化するわけですから、その即時の見極めの難しさ(というか醍醐味)が少し分かった気がします。

MLB主審とほぼ同じ判定をするAI主審スマホアプリ
 このアプリは、Tensorflow.jsを利用して、5,000投球を学習させたモデルを、スマホに取り込んで作動させます。実行結果を以下に示します。テストに使った入力は以下のとおりです。

ランダムに100投球のデータを入力する。各データは、以下の5項目から成る。

  • ストライクゾーンの正面の平面に触れた時のx座標値、y座標値
  • 打者で決まるストライクゾーンの縦方向の範囲の上限値、下限値
  • 左打者か右打者かのフラグ

 図1に、左打者と右打者に対するストライク判定例を示します。下図左は、ストライクゾーンに僅かにボールが触れたと判定され、ストライクです。一方、下図右は、微妙ですが、触れていないとの判定でボールです。これには文句は付けられない!


 図2は、テスト用100投球に対する判定です。図中に、MLB主審とAI主審の判定結果に関する混同行列を示しています。このテストでは、両者の判定が93%合致したという結果となっています。下図の、赤丸(ストライク)、青丸(ボール)は、MLB主審による判定結果です。


 それにしても、ストライクゾーンの縦方向の範囲はずいぶん変化するものです。図1、図2の緑枠は、機械測定に基づくストライクゾーンです。上下に振れるので、枠線がたくさん重なって、分かり難いですが。

 ちょっと物足りない。
 その通りです。このデータは、左右の打者、打者の身長(ストライクゾーンの高さに関係する)などがランダムに含まれています。ですから、ストライクゾーン縦方向の範囲がほぼ同じものを集めて、そのグループ毎にストライク/ボールの判定結果を学習すればもっと明解な知見が得られるように思います。ですが、本稿はここまで。

0 件のコメント:

コメントを投稿