機械学習の問題設定を見直したのでメモ.
(Ω,F,P): ベースとなる確率空間
(X,FX): 入力となる可測空間
(Y,FY): 出力となる可測空間
Z=X×Y
m∈N: サンプル数
Xi:Ω→X,∀i=1,…,m
Yi:Ω→Y,∀i=1,…,m
Zi=(Xi,Yi):ω↦(Xi(ω),Yi(ω)),∀i=1,…,m
Sm:ω↦(Z1(ω),…,Zm(ω)): サンプル
i.i.d.
For all i=j, ZiとZjは独立
P∘Z1−1=⋯=P∘Zm−1
PZ=P∘Z1−1とする.
Dm=P∘Sm−1
ここまでで一通りの準備を終えた.
H: hypothesis set
ℓ:H×Z→[0,∞): loss function
generalization error
L(h):=EPZ[ℓ(h,z)]
ここで,Agnostic PAC learningという概念を紹介しておく.ざっくり書くと,以下のような感じ.
H is Agnostic PAC learnable if there exists sample complexity mH:(0,1)2→N and learning algorithm AH:Sm↦B⊂H which satisfy the following property:
For all ϵ,δ∈(0,1)
m≥mH(ϵ,δ)⇒∀h∈AH(Sm),L(h)≤ϵ
with probability at least 1−δ
まず,我々はℓを定めることから始める.Lを定めてもいい.よくある二乗誤差なんかをここで使うべきではなく(使っても良いけど),本当に最小化したいものをここに持ってくる.indicator functionを使うといいと思う.
Hとℓが与えられればAgnostic PAC learnableかどうか調べ始めることは可能だと思うが,普通はそうしないと思う.個人的には,Hはアルゴリズムとセットで考えるべきだと思っている.アルゴリズムまで考えて,それが,Agnostic PAC learnerかどうかを調べるのが良いと思う.
Written with StackEdit.