インタビュー

プロ野球開幕記念,DL4Jでペナント予想!今年勝つのはどのチーム?――AIは解説者たちに勝てるのか season 2

この記事を読むのに必要な時間:およそ 0.5 分

今年もまたプロ野球開幕が近づいてきました。今シーズンは二刀流プレーヤの大谷選手がMLBへ移籍した一方で,注目の高卒新人清宮選手の入団,さらには,上原投手や青木選手など,メジャーリーガーのプロ野球への復帰など,シーズン前からたくさんの話題で盛り上がっています。

ということで!今年もまたAIによる順位予想をしてみることにしました。昨年に引き続き,株式会社ビーブレイクシステムズのエンジニアで,野球好きのお二人に登場してもらいます。

上川伸彦氏(写真左)

株式会社ビーブレイクシステムズ技術担当取締役。

父親が中日ファン,母親が巨人ファン。実家の近くに日ハムの二軍の本拠地あり。小さいころ,巨人を応援していたが,最近では,WBCのような国際試合しか見ない(TV観戦)⁠MLBでの敬遠のルール改正を耳にすると,クロマティ選手や新庄選手を思い出す程度のたしなみはある。

柴田尚紀氏(写真右)

株式会社ビーブレイクシステムズ開発部所属。

自社製品のMA-EYESの導入,開発に従事。

20年来の巨人ファン。原元監督のグータッチが好きで,周りにしつこくやろうとする。少年時代,ゴジラ松井の漫画が好きで,かなり読んでいた。

株式会社ビーブレイクシステムズ
http://www.bbreak.co.jp/

注記:実は,二人とも、さほど野球に詳しくありません。社内の野球好きに背中を押されてやってる感じです。

画像

2017シーズンの振り返り~不確定要素をどう扱うか

Q:さっそくですが,まず,昨年の順位予想についてコメント(お詫び?)があればお願いします。

パ・リーグは全順位が外れ,セ・リーグも6位のヤクルト以外は外れていました→昨年の結果

上川:横浜がクライマックスシリーズに進出するとは…(笑)

まず,巨人や日ハムがあんなにも不調に陥ることを予想できませんでした。逆に,あのような不調を予想できるようにするには,その観点のデータが必要になります。

想像するとすれば,たとえば,選手の年齢,怪我や体調に関するデータ,となるでしょうか。このように突き詰めていくと,予想をするためにはさまざまなデータが必要になるんですよね。

Q:今年もまたAIによる順位予想をした結果,とくに「この部分の設定が難しかった」というものがあれば教えてください。

柴田: 当初,前回と同じモデルを利用したところ,新たに2017年度の結果が追加されたために,学習率が落ち込んでしまいました。

そこで,まず2016年までのデータを利用した2017年の予測が,2017年の実際の順位に近づくように調整しました。このとき,学習率を極力落とさないようにパラメータを調整したのですが,そこが大変でした。

ADAMの利用と過学習の調整

Q:上記の質問を踏まえて,今年の順位予想の方法について技術的に教えてください。

柴田:今年も昨年と同様,DeepLerning4Jを使いました。

Deep Learning for Java
https://deeplearning4j.org/ja-index

元データ以外は,とくに変更していません。

昨年との違いは,最適化アルゴリズムとして深層学習の勾配法の1つ「ADAM(Adaptive Moment Estimation)⁠を利用している点です。ADAMを利用することで,バッチ学習が早い段階で収束するようになりました。

また,古いデータを利用すると予測の精度が下がることを確認したため,古いデータ,具体的には,2007~2009年のデータを学習対象から外す対応など,パラメータ・データの調整を行っています。

使用したコード(抜粋)

conf = new NeuralNetConfiguration.Builder() //
    .iterations(iterations) //
    .activation(Activation.RELU).weightInit(WeightInit.RELU_UNIFORM)//
    .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)//
    .updater(Updater.ADAM) //
    .learningRate(learningRate)//
    .list() //
    .layer(0, //
            new DenseLayer.Builder() //
            .nIn(numInputs).nOut(600).build()) //
    .layer(1, new BatchNormalization.Builder().build())//
    .layer(2, //
        new DenseLayer.Builder().nIn(600).nOut(300).build())
    .layer(3, new BatchNormalization.Builder().build())//
    .layer(4, //
        new DenseLayer.Builder().nIn(300).nOut(150).build())
    .layer(5, new BatchNormalization.Builder().build())
    .layer(6, //
        new OutputLayer.Builder(//
            LossFunctions.LossFunction.MCXENT) //
                .nIn(150).nOut(numOutputs)//
                .activation(Activation.SOFTMAX) //
                .build()) //
    .backprop(true).pretrain(false).build();

とくに意識した部分としては,過学習です。

もともと,学習対象のデータ点数がかなり少ないため,どうしても過学習になってしまいます。前回は,テストデータに対する予測が,正答率100%になり,過学習の状態で収束するような状態でした。そのため,今回は,全体としての正答率がある程度下がった状態で収束させるモデルを作りました。

今回採用したモデルの正答率は,60~70%程度です。

上記のような改善を行った結果,2017年度の予想をし直したら,セリーグ,パリーグの1位の予想は正解するようになりました。そのモデルを使って,2018年度の予想をしました。今年は期待してください!(今年の順位予想は記事の最後に)

画像 画像

著者プロフィール

馮富久(ふぉんとみひさ)

株式会社技術評論社クロスメディア事業室室長。

1975年生まれ。横浜市出身。1999年4月株式会社技術評論社に入社。入社後から『Software Design』編集部に配属され,2004年1月に編集長へ就任。同2004年9月に『Web Site Expert』を立ち上げ,同誌編集長に就任,現在に至る。その後,2008年9月に設立したクロスメディア事業部(現クロスメディア事業室)に配属。現在,社外活動として電子書籍を考える出版社の会の代表幹事やWebSig 24/7のモデレーター,TechLIONプロデューサーなども務める。過去にIPAオープンソースデータベースワーキンググループ委員やアックゼロヨン・アワード他各賞審査員などの経験を持つ。

Twitte ID:tomihisa(http://twitter.com/tomihisa/

バックナンバー

2018

コメント

コメントの記入