メインコンテンツへスキップ
見出し画像
Photo byomori55

期待値から機械学習へ

     期待値は「損か得か、有利か不利か」を判断する指標です。変量 xx が値 x1x_1 をとる確率が p1p_1,x2x_2 をとる確率が p2p_2 ,…,xnx_n をとる確率が pnp_n のとき、xx の期待値 E(x)E(x) は次の式で求められます。

       ○ E(x)=x1p1+x2p2+⋯ +xnpnE(x)=x_1p_1+x_2p_2+ \cdots  +x_np_n

     ではさっそく、期待値を計算してみましょう。

    グーパーじゃんけんで勝負する

     こんなゲームを考えてみましょう。A君とB君がグーとパーだけを出してじゃんけんする。チョキは出さない。このとき、次のように勝ち負けが決まる。
    ⃝ 両者が同じ手を出したときはB君の勝ち。グー・グーなら6点、パー・パーなら1点をB君が得る。
    ⃝ 両者が違う手を出したときはA君の勝ち。このときA君は3点を得る。
     さて、この勝負、A君とB君ではどちらが有利でしょうか? 負けたときの得点をマイナスとして、次の場合のA君の得点の期待値を求めてください。

    ⑴ 二人ともグーとパーを 1/2 の確率で出す場合
    ⑵ A君がグーとパーを 4:9 の割合で出す場合

     A君もB君も特に戦略的に立ち振る舞うことがなければ、⑴のようになるでしょう。その場合のA君の得点の期待値は(式1)の通りで、その値は -1/4 となります。すなわち「A君が不利で、B君が有利」となります。
     でも、A君は何もグーとパーを同じ割合で出さければいけないわけではありません。自分に有利になるように、グー・パーを出す割合を変えても良いわけです。その状況が⑵です。
     その場合、B君がグーを出す確率を p としてA君の得点の期待値を計算すると(式2)となります。その値は見ての通り、p の値に関わらず、プラス(+3/13)になります。つまり「A君がグーとパーを4:9の割合で出せば、B君がグー・パーをどのように出そうが、A君が有利になる」のです。

    グーパージャンケン

     ところで、A君がグーとパーを出すときの理想的な割合は、どうすれば見つけられるか? そう、そこが大事なところ。それが「最適化」です。その理想的な割合の求め方はここでは省略しますが、大事なのは「与えられる確率に従うばかりでなく、期待値を上げるために元の確率を変えることを考える」姿勢です。
     さて、人が物を見るとき、自然と強弱をつけています。見るべき物に焦点を当て、それ以外の物はぼんやりと見ています。他をまるで見ていないわけではありません。だからいきなりボールが飛んできたら、除けられるわけです。
     視覚でも聴覚でも同じですが、すべての情報を同じ強度で受け取っていたら、そこに意味を見い出すことはできません。情報に強弱をつけることで、意味が生まれるのです。
     人は生まれてからたくさんの経験をして、そのビッグデータを元に情報に適正な重み付けをすることを通して、物を認識することを学習してきました。
     そしてそれを人工的に成しているのが、人工知能です。そしてその計算法は、期待値計算と同じです。

    サイコロを振るか振らないか、どっちが有利か

     期待値の問題をもう1問いきましょう。次は京都大学1977年文系の入試問題からです。
     だいぶ古い問題ですが、「自分に有利になるように振る舞い方を決める」ような問題が、ありそうでなかなか無いんですね。私はそもそもそのために期待値があると思っているのですが、私の知る限り、大学入試問題の中でそれに該当する唯一のものです。

    (1) サイコロを1回または2回ふり、最後に出た目の数を得点とするゲームを考える。1回ふって出た目を見た上で、2回目をふるか否かを決めるのであるが、どのように決めるのが有利であるか。
    (2) 上と同様のゲームで、3回ふることも許されるとしたら、2回目、3回目をふるか否かの決定は、どのようにするのが有利か。

    《解説・解答》
    (1) サイコロを1回ふったときの得点の期待値は
        1×1/6 + 2×1/6 + 3×1/6 + 4×1/6 + 5×1/6 + 6×1/6 = 7/2 = 3.5 … (A)
    (1回目でも2回目でも3回目でも同じです)
    よって「1回目にふって出た目の数が 1 , 2 , 3 のいずれかのときは2回目をふり、1回目にふって出た目の数が 4 , 5 , 6 のいずれかのときは2回目をふらない」 … (B)、これが最も有利な戦略です。
    この戦略に出た場合の得点の期待値は
        4×1/6 + 5×1/6 + 6×1/6 + 7/2×3/6 = 17/4 = 4.25 … (C)
    無条件に2回目をふる、もしくは無条件に2回目をふらない場合の得点の期待値は(A) と同じで 3.5 … (D)、確かに(C) の方が (D) より有利です。

    (2) サイコロをふるチャンスが残り1回となった時点では上記 (B) の戦法を採るべきです。
     さて、1回目をふった後に2回目をふるか否かの判断をどうすればいいでしょうか?
     2回目をふった時点で戦法 (B) を採れば期待値は (C) になるから、1回目に出た目と (C) をくらべればよい。
     よって「1回目にふって出た目の数が 1 , 2 , 3 , 4 なら2回目をふり、5 , 6 なら2回目をふらない。2回目にふって出た目の数が 1 , 2 , 3 なら3回目をふり、4 , 5 , 6 なら3回目をふらない」… (E)、これが最も有利な戦略です。
     この戦略に出た場合の得点の期待値は
        5×1/6+ 6×1/6+ 17/4×4/6 = 14/3 = 4.67 … (F)
     (C) よりさらに期待値が上がりました。

     ついでながら、ここでもう1問追加してみます。

    続・サイコロを振るか振らないか、どっちが有利か

    (3) 上と同様のゲームで、最大で 10 回までふることが許されるとしたら、どのようにするのが有利か。

     (2) から「最後から3回目のサイコロをふった時点では上記 (D) の戦法を採るのが最も有利だ」といえます。
     さて、最後から4回目をふった後に次をふるか否かの判断をどうすればいいでしょうか?
     それには、最後から4回目に出た目と (E) をくらべればいいですね。
     その結果、最後から4回目に出た目が 1 , 2 , 3 , 4 なら次をふり、5 , 6 なら次をふらない となります。

     さて、この計算をいつまで続ければいいでしょうか?
     ところで、(B) , (E) にあたる値はこの後増え続けて、減ることはありません。また、6 を超えることもあり得ない。
     その値が 5 より大きければ「サイコロの目が 6 ならそこでやめ、それ以外なら続けるのがよい」となる。
     その値が 5 より小さければ「サイコロの目が 5 , 6 ならそこでやめ、1 , 2 , 3 , 4 なら続けるのがよい」となる。
     ですから、(B) , (E) にあたる計算をし続けて、5 を超える瞬間を見つければいいのです。
     そこで、計算を繰り返します。

    4/6×14/3+1/6×5+1/6×6 = 89/18 ≒ 4.94 … おしい、、もうちょっと。

     この値は「最大で4回ふることが許される場合の期待値」であり、このことから「最後から5回目に 5 , 6 が出たらそこで止め、1 , 2 , 3 , 4 なら続けるのがよい」ことがわかります。
     ゴールは近い、もう1回。

    4/6×89/18+1/6×5+1/6×6 = 277/54 ≒ 5.13 … やったぁ、超えたぁ。

     この値は「最大で5回ふることが許される場合の期待値」であり、このことから「最後から6回目に出た目が 6 ならそこで止め、 他の目なら続けるのがよい」ことがわかります。
     この先はずっと同じです。例の期待値はこの後も増え続けますが、6 には到達しないのですから、「6 が出たら止めて、6 が出なかったら続ける」のが最も有利である。
     以上をまとめると、

    (3) サイコロを最大で 10 回までふってよくて、最後に出た目を得点とするゲームを考える。
      10 回未満の回数でやめてもよい。このゲームで最も有利な戦略はどんなものか。

    の答えは

    1~5回目では 6 の目が出た時点でやめ、6 が出ないなら続ける。
    6~8回目では 5 か 6 の目が出た時点でやめ、5 , 6 が出ないなら続ける。
    9回目では 4 , 5 , 6 が出たらやめ、1 , 2 , 3 が出たら最後の 10 回目をふる

    です。計算ミスしてなければ 。。。

    ◇      ◇      ◇

    〜 使える確率の学び方 〜
    ▷ 条件付き確率からベイズ推定へ
    ▷ 期待値から機械学習へ    
    ▷ Excel に人工知能を実装せよ  

     
     
    情報科・数学科教員にして   作家・旅人・芸人 AI評論家・火山ハンター

    あなたへのおすすめ