社会人データサイエンティストの雑多なブログ読者になる社会人データサイエンティストの雑多なブログ社会人データサイエンティストが暇なときに更新するブログです。趣味のLoLとか勉強した内容について、雑多に書いていこうと思います。ブリッツ君を模倣する「Bli2君プロジェクト」ですが、ここ2日で若干ですが重要なアップデートを果たしました。本記事では、変更点とその成果について紹介していきたいと思います。プロトタイプ1号の課題:チャンピオンはそれぞれ強い時間があるが、それを知らない...プロトタイプ1号からの変更点:シンプルなアイデアで解決!下準備:試合の長さはどうやって分ける?時間帯によって、モデルの間で重要なチャンピオンの違いが出た!最後に:Worldsの試合の勝率予測をTwitterでしています、見てね!まず最初に、使用する機械学習のモデルについては変更が無いので、本記事での説明は割愛させていただきます。過去の記事リンクを下につけますので、そちらをご確認ください。プロトタイプ1号の課題:チャンピオンはそれぞれ強い時間があるが、それを知らない...LoLをされたことがある方は分かると思いますが、チャンピオンはそれぞれパワースパイク(影響力がグンと上がる瞬間)を迎えるタイミングが異なっていたり、ゲーム後半にかけてパワーがスケーリングするかどうか、といった特徴を持っています。下の図の例で言うと、ルシアン(Lucian)は序盤強いチャンプの代表格で、またカミールは後半にかけてスケーリングしていく強力なチャンプです。(Pathc10.19)それぞれの強い時間帯であれば、もっと上位に来ても不思議ではありません。一方で、重要度1位のグレイブスというチャンピオンは、現在メタのファーム系ジャングラーで、ファームすることで自信のスケールも悪くないし、どの時間帯でもレーナ―を助ける動きもできるため、ゲームの中心でいる時間が長いと思われます。いった部分が繋がって、高い評価を得ていると考えられます。Bli2君プロトタイプ1号が学習したチャンピオンの重要度Top20。そのような仕様で作っていないので当然なのですが、プロトタイプ1号はチャンピオンの強い時間帯が分かっていません。それは、試合の勝利予想をするうえでハンディキャップになると考えたので、ここ2日で改善を試みました。プロトタイプ1号からの変更点:シンプルなアイデアで解決!時間的な特徴をモデルに学習させるためには、どこかに時間の要素をいれる必要があります。そこで以下の2つのアイデアを試してみました。Redの2値分類から、どちらのチームがどの時間帯(序盤・中盤・終盤)で勝つかの6値分類に変更。game)に分割し、対応して3つのモデルを学習させる。それぞれBlueかRedのどちらが勝つか予測する2値分類のモデル。両方を試した結果(=>これで2日かかっています)、後者の方が良さそうだということが分かったので、そちらについて説明していきたいと思います。下準備:試合の長さはどうやって分ける?まず、学習データを分割する基準となる試合時間の長さをどうやって求めるか決めなければいけません。BlueとRedで勝利しやすい時間帯にズレがあった場合、ややこしいことになりそうなので、そこもチェックする必要があります。今回、データにはKR・EU・NAの3地域のチャレンジャー・Patch10.19のデータを用いて行いました。試合時間の分布は以下の図のようになっています。KR・EU・NA3地域のチャレンジャー・Patch10.19の試合時間の分布を示した図。この分布に関して、3地域の間に大きな差異は認められませんでした。ここでは3地域をまとめて扱います。gameに該当)分布になっていますね。BlueチームとRedチーム、それぞれ勝利したときの試合時間を示した箱ひげ図。試合時間に関してBlueチームとRedチームで大きな差がないことが、上の図からわかりました。1758secで、約25分と30分ですね。試合時間の分布の特徴も影響して、第1三分位数と第23分位数の間が短くなっています。gameというのは違和感があるので、35分に変更しました。35分でも違和感があると思いますが(40分45分を過ぎた辺りから長い試合だと思います)、学習データのサンプル数の兼ね合いもあったのでご容赦ください...ここまでくれば、あとはやるだけです。Bli2君は改善されたのかどうか。結果について見ていきます!時間帯によって、モデルの間で重要なチャンピオンの違いが出た!記事になっていることからお察しの通り、面白い結果が得られました!試合時間25分まででBli2君が重要と学習したチャンピオンtop25。試合時間が25分までのチャンピオンの重要度ですが、記事の最初の方で紹介した通りルシアン(Lucian)がtopに来ましたね。BlueとRedでルシアンの重要度が大きく乖離している理由としては、LoLのBanPickの仕組みが影響していると思われます。pickは必ずBlueチームなので、現在メタのopチャンプは必ずそこで取られます。ルシアンがBlueチームで使われることが多いことが、Bli2君が学習した重要度の差につながっていると考えられます。その他の、これまで重要度ランキングで見なかったチャンピオンで面白いのは、3位に入っているシェンと21位のシンドラでしょうか。シェンは味方に飛んでいくultがあるので、レベル6以降序盤マップ全体に影響力を持つチャンピオンなので、上位に来るのも頷けます。シンドラは、かなりナーフをくらってSoloQの勝率は良くないと聞きますが、プロシーンを見ると序盤のレーン主導権を握りたい場合に依然としてpickされることが多く、他の時間帯と比較して重要度が高くなっていますね。試合時間25分から35分まででBli2君が重要と学習したチャンピオンtop25。中盤に関しては、先ほどのルシアンの重要度が相対的にやや下がっています。リリア(Lillia)・グレイブス(Graves)・ニダリー(Nidalee)といった、現在メタのジャングラーの重要度が上昇しています。試合時間25分までは、レーンで相手に勝つ・相手を壊すという意味で、レーンの強いチャンピオンの重要度が高かったと思われますが、試合中盤ではきっちりオブジェクト(ドラゴン・ヘラルド・バロン)を獲って、ゲームに勝つというのが重要視されていると考えられます。サプライズ登場だったのが、Blueサイドセト(Sett)が重要度1位に来たことですね。セトはかなりナーフをPatch10.19以前にかなりナーフを受けていて、単体でキャリーするというのは難しい現状にあります。Worlds2020のグループステージを見ても分かる通り、依然としてmid・top・supのフレックス運用ができるチャンピオンです。いった面から、BanPickで先出する際のセトというのはまだ重宝されているのではないか、と筆者は推測しています。試合時間35分以降でBli2君が重要と学習したチャンピオンtop25。gameの重要度に関しては、筆者が期待していた通りにはなりませんでしたね。GPやオリアナ(Orianna)、カシオペア(Cassiopeia)といったスケーリングするチャンピオンが初ランクインしているのは、狙い通りに言ったポイントです。記事冒頭で、スケーリングするチャンピオンの例で挙げたカミールが順位を下げたのは予想外でした。カミールが勝てるようになるには、それほど時間がかからないということでしょうか。game最強と謳われるブラッドミアや、無限スケールのあるセナ・キンドレッド・サイオン辺り、武器強化でチームのスケールがいいオーンがランクインしていないのは残念です。game構成にするというのは、プロシーンと比較してSoloQではやや難しいのかもしらません。ここまでそれぞれ考察してきましたが、狙っていた時間帯ごとにチャンピオンの重要度をBli2君に学習させる、というのはうまくいったと思います。最後に:Worldsの試合の勝率予測をTwitterでしています、見てね!この記事では、ここ2日かけて行ったBli2君のマイナーアップデートに関して、解説・考察を行っていきました。予測結果を説明する要素がかなりそろってきたなと感じています。筆者のTwitterアカウントでは、このBli2君プロジェクトを応用してWorlds2020の試合の勝率予想をon-timeで行っています。↓例えばこんな感じです。気になる方は、ぜひフォローしてチェックしてみてください。WCS2020】【観戦日...皆さん、先日のG2ショーは楽しまれたでしょうか。Fnatic、熱い試合が多かったですね。19:06卒業間近の大学院生。学生の間に新しいことをしようと、ブログをはじめました。最近はまっているLoLのことを、最初は書いていこうと思います。10Searchはてなブログをはじめよう!YNickiさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。