56
MLP深層学習 隠れマルコフモデルと コネクショニスト時系列分類法 曽和 修平

マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

Embed Size (px)

Citation preview

Page 1: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

MLP深層学習

隠れマルコフモデルと コネクショニスト時系列分類法曽和 修平

Page 2: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

・マルコフモデル

・隠れマルコフモデル

・コネクショニスト時系列分類法

扱う内容

-前向き/後ろ向きアルゴリズム-ビタビアルゴリズム-バウム・ウェルチアルゴリズム

Page 3: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

マルコフモデル

Page 4: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

マルコフモデルとは

・各試行は独立ではないとする確率モデル

現実世界では、独立性が成り立たない場合が多い株価、音声信号、言語・・など

→例題から考えていく

・では、具体的にどのような確率モデルなのか

Page 5: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

マルコフ性とマルコフ過程

• 各試行が独立でない現在の状態が一時点前の状態に依存して確率的に決まる

マルコフ性

マルコフ過程• マルコフ性を満たすような確率過程

j重マルコフ過程

• 現在の状態がj時点までの状態に依存して確率的に決まる

j=1のとき特に単純マルコフ過程と呼ぶ

Page 6: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

例題

サイコロが までc種類あり、

までm種類の目がある

t回目に投げたサイコロの種類を ,観測された目を で表す

v1 ⇠ vm

!1 ⇠ !c

st xt

t回目に取り出すサイコロ は(t-1)回目に取り出したサイコロ

   によって確率的に決まるとする

st

その確率を a(st, st1) で表す

st1

Page 7: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

例題

t-1回目に取り出したサイコロがωiで、t回目にサイコロωj を取り出す確率 aij = a(!i,!j)

t回目にサイコロを投げてxtが観測される確率を b(st, xt)と表す

サイコロωjを投げてvkが観測される確率は bjk = b(!j , vk)

遷移確率

出力確率

確率的に状態が遷移していく過程→マルコフ連鎖

Page 8: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

例題

ある時点でサイコロ を投げたら、次の時点では確率 で サイコロ を投げ、確率  で の目が観測される

ここまでをまとめると・・

!i

!j

aij

bjk vk

一般的に表現すると・・ある時点で状態 にあり、次の時点に確率  で に遷移

するとともに、確率  で を出力する

!i !jaij

bjk vk

Page 9: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

例題

遷移確率 と出力確率  はそれぞれ行列A,Bとして表記できるaij bjk

例)

A =

0

@0.1 0.4 0.50.2 0.1 0.70.3 0.1 0.6

1

A B =

0

@0.8 0.20.6 0.40.3 0.7

1

A

出目(2種類)

種類

現在の状態

次の状態

!1

!2 !3

0.1

0.40.2 0.5

0.3

0.1

0.70.60.1

Page 10: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

AとBとρが決まればマルコフモデルが完成する

(観測データが存在している事が前提なので、  マルコフモデルは教師あり学習)

⇢i !i・・初期状態(t=1)が である確率

⇢ = (⇢1, ⇢2, ..., ⇢c)

最後に初期状態の定義

⇒それぞれのパラメータを観測データから最尤推定していくx = x1x2...xt...xns = s1s2...st...sn

Page 11: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

x = x1x2...xt...xn

s = s1s2...st...sn

・・・得られた出目の系列・・・得られた状態の系列

このような結果が得られる確率はP (x, s) = P (s)P (x|s)

P (x|s) = P (x1x2...xn|s1s2...sn)

= P (x1|s1)P (x2|s2)...P (xn|sn)

b(st, xt) = P (xt|st)ここから、 を用いて

P (x|s) =nY

t=1

b(st, xt) と書ける。 n…観測回数

Page 12: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

P (s) について考える

状態の系列は,1つ前の系列の影響を受けるので独立でない

P (s) = P (s1s2...sn)

= P (s1)a(s1, s2)a(s2, s3)...a(sn1, sn)

=

nY

t=1

a(st1, st) a(s0, s1)def= P (s1)(ただし )

ここまでを整理すると

P (x, s) =

nY

t=1

a(st1, st)b(st, xt)

Page 13: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

P (x, s) =

nY

t=1

a(st1, st)b(st, xt)

微分しやすいように対数を取る

P (x, s) = logP (s1) +n1X

t=1

log a(st, st+1) +nX

t=1

log b(st, xt)

下線部はそれぞれ ⇢i, aij , bjk のみを含む

なので、下線部それぞれについて独立にパラメータを最大化 すれば良い

Page 14: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(補足)最尤推定に必要な定理

n個の正の定数 がある.

ここで,n個の変数 x1, x2, ..., xn (0 < xi < 1)

が拘束条件nX

i=1

xi = 1 を満たしている時

f(x1, x2, ..., xn) =

nX

i=1

wi log xi を最大にする xi は

xi =wiPn

k=1 wk(i = 1, 2..., n)

w1, w2, ..., wn

Page 15: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(補足)最尤推定に必要な定理【証明】

ラグランジュの未定乗数法より

L =nX

i=1

wi log xi

nX

i=1

xi 1

!

この式が極値を取るxiを求めるため、Lをxiで偏微分し

結果を0と置く

L

xi= wi

1

xi = 0

これより xi = wi (i = 1, 2..., n)

Page 16: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(補足)最尤推定に必要な定理【証明】

両辺に  を施すと

xi = wi (i = 1, 2..., n)nX

i=1

nX

i=1

xi =

nX

i=1

wi

ここで、nX

i=1

xi = 1 という拘束条件があったので

=

nX

i=1

wi

従って、xi = wi (i = 1, 2..., n) より、求めるxiはxi =

wi

=wiPn

k=1 wk(i = 1, 2..., n)

となる。

(証明終)

Page 17: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

P (x, s) = logP (s1) +n1X

t=1

log a(st, st+1) +nX

t=1

log b(st, xt)

La =n1X

t=1

log a(st, st+1)

=

cX

i=1

(

cX

j=1

mij log aij)

c …状態の数mij …ωi,ωjと連続して

   取り出した回数

パラメータ  に関して最大化するには各i毎に

を最大化すれば良い

aij

cX

j=1

mij log aij

Page 18: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

cX

j=1

aij = 1 という拘束条件が成り立つ

cX

j=1

mij = ni なので

よって、先の定理を用いると

aij =mijPc

h=1 mih

また、

aij =mij

niと求められる(パラメータAの最尤推定値)

Page 19: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

P (x, s) = logP (s1) +n1X

t=1

log a(st, st+1) +nX

t=1

log b(st, xt)

Lb =cX

j=1

mX

k=1

njk log bjk

!

サイコロ  を取り出した回数をwj nj としサイコロ  を投げて出た目が  であった回数を  とするwj vk njk

m…出力記号の数

各j毎にmX

k=1

njk log bjk を最大化すれば良い

Page 20: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

mX

k=1

bjk = 1 (j = 1, 2..., c)

mX

k=1

njk = nj

bに関しても以下の拘束条件が成り立っているので 先と同様の定理を用いることができる

bjk =njkPml=1 njl

=njk

nj

より

(パラメータBの最尤推定値)

Page 21: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

パラメータの最尤推定

P (x, s) = logP (s1) +n1X

t=1

log a(st, st+1) +nX

t=1

log b(st, xt)

初期状態は既知であるものとしている

Lp = logP (s1 = !i)

s1=ωiだとしたとき

= log ⇢i

⇢⇢i = 1⇢j = 0 (j 6= i)

上式を最大にするパラメータρは

(パラメータρの最尤推定値)

Page 22: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

隠れマルコフモデル

Page 23: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

隠れマルコフモデルとは

• マルコフ性をもったデータに対する教師なし学習(マルコフモデルでは教師あり学習だった)

単純マルコフ過程を前提として先と同様の例題を考えていく

ある時点でサイコロ を投げたら、次の時点では確率 で サイコロ を投げ、確率  で の目が観測される

!i

!j

aij

bjk vk

x = x1x2...xt...xn s = s1s2...st...sn

ただし、今回は取り出したサイコロの種類がわからない

既知 未知

Page 24: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

考えないといけない問題

(3)観測結果からパラメータA,B,ρを最尤推定

(1)パラメータA,B,ρが既知の時,ある観測結果が得られる確率

(2)パラメータA,B,ρが既知の時,観測結果から推定される系列

Page 25: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(1)パラメータA,B,ρが既知の時,ある観測結果が得られる確率

観測結果 x = x1x2...xt...xn が得られた

このような観測結果が得られる確率  は?P (x)

系列sを観測することができないので、可能な系列sを全て 想定しないといけない

P (x) =X

s

P (x, s)

P (x, s) =

nY

t=1

a(st1, st)b(st, xt)

P(x,s)は先と同様

により求まる

Page 26: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(1)パラメータA,B,ρが既知の時,ある観測結果が得られる確率

教師ありの場合は,sも観測できるため,そのような観測結果が得られる確率P(x,s)は容易に求まる

教師なしの場合は周辺化の演算が必要となり,計算量が膨大P (x) =

X

s

P (x, s) 2nc^nのオーダ

効率的な計算方法が必要

=前向き・後向きアルゴリズム

Page 27: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(1)パラメータA,B,ρが既知の時,ある観測結果が得られる確率

x = x1x2...xt...xn観測結果が得られ,かつt回目にサイコロωiを取り出している確率はP (x, st = !i) = P (x1x2...xt, st = !i)P (xt+1xt+2...xn|st = !i)

↵t(i)def= P (x1x2...xt, st = !i)

βt(i)def= P (xt+1xt+2...xn|st = !i)

P (x, st = !i) = ↵t(i)βt(i)

と定義し

とする

Page 28: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(1)パラメータA,B,ρが既知の時,ある観測結果が得られる確率

P (x, st = !i) = ↵t(i)βt(i)

↵t(i) ・・・x1x2..xtという観測結果が得られ,かつt回目に

   サイコロωiを取り出している確率

t(i) ・・・t回目にサイコロωiを取り出したという条件で

   以降の観測結果がxt+1,xt+2…xnとなる確率

Page 29: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

前向きアルゴリズム

↵t(i)は再帰的な計算方法で求めることができる

↵t(j) = [

cX

i=1

↵t1(i)aij ]b(!j , xt)

(t = 2, 3..., n) (j = 1, 2..., c)

↵1(i) = p(x1, s1 = !i)

= ⇢ib(wi, x1)

各パラメータが既知なのでここは 計算できる

ただし

(i = 1, 2, ..., c)

このような計算方法は前向きアルゴリズムと呼ばれている

Page 30: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

前向きアルゴリズム

t-1 t

↵t1(1)

↵t1(i)

↵t1(c)

↵1j

↵ij

↵cj

b(!j , xt)

↵t(1)

↵t(j)

↵t(c)

↵t(j) = [

cX

i=1

↵t1(i)aij ]b(!j , xt)

Page 31: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

前向きアルゴリズム

P (x) = P (x1x2...xn)

=

cX

i=1

↵n(i)

↵t(i) をt=nとし、sに関して周辺化することでP(x)が求まる

↵n(i) = P (x1x2...xn, sn = !i)

↵n(i)を前向きアルゴリズムにより計算することでP(x)を求めたn(i)を後向きアルゴリズムにより計算することでも求められる(今回は省略)

Page 32: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(2)パラメータA,B,ρが既知の時,観測結果から推定される系列

観測結果 x = x1x2...xt...xn が得られたこの時、観測できなかった系列      を推定s = s1s2...sn

観測結果xをもたらす系列sとしてはどのようなものが最適か?

Page 33: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(2)パラメータA,B,ρが既知の時,観測結果から推定される系列

求めるべき系列sを s⇤ = s⇤1s⇤2...s

⇤n とする

γt(i)def= P (st = !i|x)

t(i)また、 を以下のように定義する

観測結果xが得られた時,t回目にサイコロωiを取り出している確率

cX

i=1

t(i) = 1 が成り立つのは自明

Page 34: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(2)パラメータA,B,ρが既知の時,観測結果から推定される系列

γt(i) = P (st = !i|x)

=P (x, st = !i)

P (x) P (x, st = !i) = ↵t(i)βt(i)

=↵t(i)βt(i)

P (x) P (x) = P (x1x2...xn)

=

cX

i=1

↵n(i)=↵t(i)βt(i)Pci=1 ↵n(i)

Page 35: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(2)パラメータA,B,ρが既知の時,観測結果から推定される系列

ここでS*を求める手段としてi⇤ = argmaxi (t(i))

s⇤ = !⇤i

(最も確率が高いものをs*とする)

が、考えられるが、これは誤りマルコフ性を持つので、このようにして求めた系列は 実現不可能な場合があるため

観測結果xが得られたという条件下で、連続した系列sの正規確率P(s|x)を最大化しなくてはならない

(γtはtごとに独立として求めている)

Page 36: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

ビタビアルゴリズムすなわち・・

s⇤ = argmaxs(P (s|x))

= argmaxs(P (x, s))

= argmaxs(P (x, s)

P (x))

可能な全てのP(x,s)を求めれば最大となる系列sを発見できる

しかし、可能なsはc^n通りあるので計算量は膨大となる

ビタビアルゴリズム

Page 37: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

ビタビアルゴリズム

ある時点tで状態ωjに到達し,かつxtが観測される確率を考え

その最大値をψt(j)で表す

t(j) = maxs1,...,st1

P (x1...xt, s1...st1, st = !j)

この式は再帰的な形で表せる

1(i) = ⇢ib(!i, x1)

(t = 2, 3, ..., n) (i, j = 1, 2, ..., c)

t(j) = maxi

[ t1(i)aij ]b(!j , xt)

Page 38: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

ビタビアルゴリズム

1時点前の状態のうち,先の確率を最大にする状態がωk

であったとする時、Ψを以下で定義

t(j) = k = argmaxi{ t1(i)aij}

上式により,最適な状態系列を記憶しておく (状態を復元するため)

Page 39: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

ビタビアルゴリズム

t-1 t

↵1j

↵ij

↵cj

b(!j , xt)

t1(1)

t1(i)

t1(c) t(c)

t(j)

t(1)

まず前向きに再起計算していき、nまで到達したら

逆向きにin…i1までたどることにより系列を求める

Page 40: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

ビタビアルゴリズム1.初期化 1(i) = ⇢ib(wi, x1)

1(i) = 0 (i = 1, 2, ..., c)

2.再帰的計算 t(j) = max

i{ t1(i)aij}b(!j , xt)

t(j) = argmaxi{ t1(i)aij}

3.終了 P (x, s⇤) = maxi

{ n(i)}

(i = 1, 2, ..., c)

4.系列の復元(it = t+1(it + 1)

s⇤t = !it

(in = argmaxi{ n(i)}s⇤t = !in

(t = n 1, ..., 2, 1)

Page 41: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

(3)観測結果からパラメータA,B,ρを最尤推定

バウムウェルチアルゴリズムによりパラメータを推定する

EMアルゴリズムの一種

数式を追っていく形ではなく、流れのみを解説する

(長くなるので。。)

Page 42: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

バウム・ウェルチアルゴリズム

(1)初期化パラメータaij , bjk, ⇢i に適当な初期値を与える

(2)再帰的計算

aij =

Pn1t=1 at(i)aijb(!j , xt+1)βt+1(j)Pn1

t=1 ↵t(i)βt(i)

bik =

Pnt=1 δ(xt, vk)↵t(j)βt(j)Pc

t=1 ↵t(j)βt(j)

⇢i =↵1(i)β1(i)Pcj=1 ↵n(j)

(xt, vk) =

(1(xt = vk)

0(otherwise)

これらの式から      を求める。

α,β等は前向き・後向きアルゴリズムによって求める。

aij , bjk, ⇢i

Page 43: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

バウム・ウェルチアルゴリズム

(3)パラメータの更新

aij = aij , bjk = bjk, ⇢i = ⇢iパラメータを として更新する

(4)判定対数尤度をlogP(x)により計算

=

cX

i=1

↵n(i)P(x)

1ステップ前の対数尤度と比べ,その増分が予め定めていた

閾値よりも小さければ収束とする.

そうでない場合は(2)に戻る

Page 44: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法

Page 45: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法

入出力間で系列長が違う分類問題をHMMではなく ニューラルネットだけで解決しようとするもの

・RNNの出力の解釈を変更して実現する

・任意のRNN(LSTMや双方向性のものなど)に適用可

Page 46: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法

真のラベル l = ‘cbab’

L = {a,b,c} ・・認識対象となるラベルの集合

L0 = {a, b, c, }・・Lに空白を表すラベルを追加した集合

真のラベルの冗長な系列は無数にある例){c b aab} { c ba b} {cc b aaa bb}

冗長性のない系列lと冗長な系列πは多:1の以下の 写像によって結ばれる

l = ß(⇡) l = ß(c b aab) = ß( c ba b)

Page 47: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法

1つのラベル系列lに対し,これを与える冗長な系列すべての 集合を ß1(l) = {⇡|ß(⇡) = l} と書くことにする

この集合の要素πをlに対する「パス」と呼ぶことにする

長さが8の時の全ての冗長な経路

Page 48: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法CTCで使うRNNの出力層は|L’|個であり,活性化関数はソフトマックス関数

時刻tにおける出力  はその時刻の正解ラベルがkで ある確率

ytk

系列内のラベルの生起が互いに独立であるとすると

入力系列Xに対して1つのパスπが正解である確率は

p(⇡|X) =TY

t=1

yt⇡t

Page 49: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法

これを最大にするようなlを推定される系列とする

p(⇡|X) =TY

t=1

yt⇡t

p(l|X) =X

⇡2ß1(l)

p(⇡|X)

これは計算量が膨大なので 前向き、後ろ向きアルゴリズムを使って解く

Page 50: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法

前半のtまでパス

後半のt以降のパス ⇡t:T = (⇡t, ...,⇡T )

⇡1:t = (⇡1, ...,⇡t)

s番目のラベルを時刻tに通過するパスの集合を考える

前半パス   に関する確率の和p(⇡1:t)

p(⇡t:T )

↵s,t

s,t後半パス   に関する確率の和

α,βは再帰的に計算可能(前向きと後向き)

Page 51: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法

に関して再帰的に計算↵s,t

l’sが空白の場合,もしくはl’sが空白ではないが空白をまたいで同じラベルの場合

1)

それ以外の場合2)

↵s,t = ytl0s(↵s1,t1 + ↵s,t1)

↵s,t = ytl0s(↵s2,t1 + ↵s1,t1 + ↵s,t1)

t=Tまで計算ができるとp(l|X)はp(l|x) = ↵|l0|,T + ↵|l0|1,T で計算できる(図参照)

Page 52: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

図の再掲

Page 53: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法の学習系列Xに対する正解ラベルをdとするdは冗長性のない入力系列Xより一般に短い系列

最尤推定によってRNNのパラメータを決定

E(w) =X

n

log p(dn|Xn)

誤差関数としてXに対するラベル系列の事後確率の負の対数 尤度を使う

これを  で微分しなければならないytk

Page 54: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法の学習

E(w)

ytk= 1

p(d|X)p(d|X)ytk

ここで、αβを利用する

↵s,tβs,t =X

⇡2ß−1(d)\⇡t=d0s

p(d|X)

α_stとβ_stの積は(s,t)を通る全パスにわたる同じ確率の総和

任意のtに対し,全てのs ∈[1,|d’|]にわたる和を取ると

p(d|X) =

|d0|X

s=1

↵s,tβs,td’はdの系列の間,最初,最後に空白ラベルを入れたもの

Page 55: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法の学習

α,βには  が含まれているので微分可能。ytk

その結果より、出力層でのデルタ out,tk =E

vtkを計算

このような流れでBTPP法を適用し、パラメータを求める

Page 56: マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法

コネクショニスト時系列分類法学習後,与えられた入力系列Xに対してラベル列lを推定

l = argmaxip(l|X)

ただ、この厳密解を少ない計算量で計算する方法は知られて いないらしい。ので、近似的に計算を行う

最も単純なのは

⇡ = argmax⇡p(⇡|X)

と求めた後 l = ß(⇡) とする方法

この方法で計算したlが最適である保証はない。

p(⇡|X) =

TY

t=1

yt⇡tと各時刻のπtの正解ラベルである

確率yの積和を取るだけなので計算が速い