体験確率論


1.MLにおける確率論


  • 深さ学習は확률론 기반の機械学習理論に基づいている.

  • 機械学習で用いられる損失関数(loss function)の動作原理は,データ空間を통계적と解釈し,予測誤りのリスクを最小限に抑えることである.
  • 回帰解析では、예측오차의 분산は、L 2 L 2 L 2賭けを使用して最小になる.
    分類問題では,クロスエントロピー(cross−entropy)を用いて모델 예측의 불확실성を最小化した.
    分散と不確実性を最小化するために,確率論と統計学を用いて測定を行った.
    →rightarrow→확률론통계학、知ってこそ원리を知ることができる.

    2.確率変数と確率分布


  • データ空間から抽出されたデータの分布확률분포 Dmatical{D}Dは、データの画像とみなすことができる.
  • 확률변수は確率分布Dmatical{D}Dの種類に応じて이산형(discrete)연속형(continuous)の確率変数に分けることができる関数である.

  • また,離散型と連続型ではない確率変数もある.
  • 이산형 확률변수は、確率変数が有する可能性のある경우의 수を考慮して、確率を더해서の確率分布としてモデル化する.
  • P(X∈A)=∑X∈AP(X=x)\mathbb{P}(X\in A) =\sum\limits_{X\in A}P(X = x)P(X∈A)=X∈A∑​P(X=x)

  • P(X=x)P(X=x)P(X=x)P(X=x)P(X=x)は확률질량함수(PMF)、確率変数Xはx値の확률である.
  • 연속형 확률변수は、데이터 공간の確率変数の密度(密度)の上にある적분を定義することによって確率分布をモデル化する.
  • FX(x∈A)=∫AfX(x)dxF_X(x\in A) =\int_Af_X(x)dxFX​(x∈A)=∫A​fX​(x)dx

  • fX(x)=lim⁡h→0FX(x−h ≤ X ≤ x+h)2hf_X(x) =\lim\limits_{h\to 0}\frac{F_X(x-h\\le\X\\le\x+h)}{2h}fX​(x)=h→0lim​2hFX​(x−h ≤ X ≤ x+hは確率密度関数(PDF)であり、누적확률분포(CDF)변화율をモデル化する.→確率では説明できません.
  • 누적확률분포(CDF)は、FX(x)=P(x≦x)=∧∧∧∧∞xfX
  • データが離散型か連続型かを区別した後,対応する方法に基づいて確率分布をモデリングする.
    すなわち,データへのアクセス方式が異なり,モデリング方式も異なる.

  • 確率変数X,YX,YX,Yが存在する場合,連合分布(連合分布)P(X,Y)P(X,Y)P(X,Y)はDmatical{D}Dをモデル化する.

  • データの観点から、結合分布は、X、YX、YX、Yが連続型/離散型であっても、離散型/連続型であってもよい.

  • 青色データの確率分布Dmatical{D}Dは理論的には存在するが,何の確率分布なのかは事前に知らなかった.
    結合分布モデリングにより,Dmatical{D}Dに近似した確率分布を求める必要がある.

  • 上の図では確率変数X,YX,YX,Yは連続型である.しかし,データの結合分布を赤線で分けて見ると離散型である.
  • 주변확률분포(marginal distribution) P(X)P(X)P(X)P(X,Y)P(X,Y)P(X,Y)は結合分布P(X,Y)として導出できる.
  • P(X)=∫YP(X,Y)dYP(X) =\int_{Y}P(X,Y)dYP(X)=∫Y​P(X,Y)dY

    3.条件確率のMLへの応用



  • 条件付き確率P(Y∣X)P(Y|X)P(Y8739 X)データ空間における入力XXXと出力YYYの関係をモデリングする.

  • 2479142の場合、P(Y∣X)P(Y∣X)P(Y∣X)は確率ではなく、연속확률분포であることに注意してください.
  • 3.1. 分類問題

  • 밀도로 해석で使用される線形モデルとソフトMax関数の組み合わせは분류 문제で使用される.

  • softmax: σ(Wϕ(X)+b)\sigma(\boldsymbol{W}\phi(\boldsymbol{X}) +\boldsymbol{b})σ(Wϕ(X)+b)は、データXboldsymbol{X}Xから抽出された特徴パターンであるϕ(X)\phi(\boldsymbol{X})ϕ2479142 P(Y∣X)P(Y∣X)P(Y∣X)P(Y∣X)P(Y8739X)を(X)と重み付け行列Wboldsymbol{W}Wにより計算した.

  • P(Y∣X)P(Y|X)P(Y∣X)はP(Y∣X)ϕ(X))P(Y|\phi(\boldsymbol{X}))P(Y∣ϕと同じ意味です.

  • これは多層抽出された特徴です.ϕ(X)\phi(\boldsymbol{X})ϕ(X)が与えられた場合、YYYの確率を表す.

  • 学習特徴パターンの데이터에서 추출된 패턴을 기반으로 확률을 해석は、機械学習조건부확률によって決定される.
  • 3.2. かいきもんだい

  • 손실함수では、主に連続型確率変数が処理される.

  • 確率密度関数は確率では説明できないため,回帰問題ではL 2 L 2賭けを最小にするには24142 E[Y∣X]Mathbb{E}[Y8739 X]E[Y8739 X]を推定する必要がある.
  • EY∼P(Y∣X)[Y∣X]=∫YYP(Y∣X)dY\mathbb{E}_{Y\sim P(Y|X)}[Y|X] =\int_YYP(Y|X)dYEY∼P(Y∣X)​[Y∣X]=∫Y​YP(Y∣X)dY

  • 傾斜降下法では,L 2 L 2賭けを最低にし,別の意味では,E[∣Y∣f(X)Mathbb{E}[|Y-f(X)|2]E[∣Y𕕠f(X)𕕠2]が0に近いと考えられる.

  • E(∣Y(X)∣2]mathbb(E|Y-f(X)|2]E(∣Y∣f(X)f(X)f(X)は条件期待値:E[Y8739 X]\[MathBY][X8739 Y][X]と一致する.

  • 証明は以下の参考資料を参照してください.

  • すなわち、f(X)f(X)f(X)f(X)f(X)を最適化し、E[Y∣X]mathbb{E}[Y∣X]Eに近似させる.
  • 無条件では、条件付きの期待値は使用されません.문제와 모델を解くには、회귀 문제を用いて条件の所望値よりも高い.
    統計モデルでは、必要な目的に応じて統計推定量を選択します.
  • の期待値は平均値と同じ意味である.機械学習では,データを解析する際に期待値を多くの面(分散,空分散,...dots...)に用いる.
  • 4.モンテカルロサンプリング


  • 機械学習問題では,ほとんどの人がデータの確率分布やPMFやPDFを知らない.
  • 조건부기대값、データのサンプリング方法が分かれば、robust한 문제に近い値をデータから求めることができる.

  • モンテカルロサンプリングでは、중앙값(median)확률분포를 모를 때であるべきである.

  • モンテカルロは離散型でも連続型でも成立する.
  • EX∼P(X)[f(X)]≈1N∑i=1Nf(X(i)),      X(i)∼i.i.dP(X)\mathbb{E}_{X\sim P(X)}[f(X)]\approx\frac{1}{N}\sum\limits_{i = 1}^Nf(X^{(i)}),\\\\\\X^{(i)}\overset{\underset{\mathrm{i.i.d}}{}}{\sim} P(X)EX∼P(X)​[f(X)]≈N1​i=1∑N​f(X(i)),      X(i)∼i.i.d​P(X)

  • モンテカルロサンプリングが기대값のみを保証する場合、その収束性は샘플링하는 방법によって保証される.

  • モンテカルロサンプリングは機械学習に広く応用されている.
  • 4.1. 例えば、f(x)=e-x 2 f(x)=e^{-x^2}f(x)=e-x 2

  • 関数f(x)=e x 2 f(x)=e^{−x^2}f(x)=e∮x 2で積分値を求める.

  • f(x)f(x)f(x)f(x)の積分を解析的に求めることは不可能である.

  • モンテカルロサンプリングで次のことを示します.
  • ∫−11e−x2dx≈1N∑i=1N2⋅f(x(i)),      x(i)∼U(−1,1)\int^1_{-1}e^{-x^2}dx\approx\frac{1}{N}\sum\limits_{i = 1}^{N}2\cdot f(x^{(i)}),\\\\\\x^{(i)}\sim U(-1, 1)∫−11​e−x2dx≈N1​i=1∑N​2⋅f(x(i)),      x(i)∼U(−1,1)
  • f(x(i))f(x^{(i)})f(x(i))は、高さ2が底辺に等しい.
  • import numpy as np
    
    
    def mc_int(fun, low, high, sample_size=100, repeat=10):
        # [-1, 1] 구간이므로 밑변에 해당하는 int_len의 값은 2이다.
        int_len = high-low
        stat = []
        for _ in range(repeat):
            # 균등분포로 sample_size만큼 [-1, 1] 구간의 x값을 추출한다.
            x = np.random.uniform(low=low, high=high, size=sample_size)
    
            # 추출된 x값으로 높이에 해당하는 함수 값을 계산한다.
            fun_x = fun(x)
    
            # 밑변과 높이를 곱해 넓이인 int_val을 계산한다.
            int_val = int_len * np.mean(fun_x)
            stat.append(int_val)
    
        # 구해진 통계량(넓이)를 평균내주면 실제 값과 거의 근사한다.
        return np.mean(stat), np.std(stat)
    
    
    def f_x(x):
        return np.exp(-x**2)
    
    
    print(mc_int(f_x, -1, 1, 10000, 100))
    # 결과
    # (1.4939731002894978, 0.003764717448739865)

  • ∧∧∧∧∧∧∧∧∧∧x 2 dx≒1.49364^1{−x^2}dx∧約1.49364;−11 e∧x 2 dx≒1.49364.

  • 関数実行結果1.4939731  ±  0.00376711.4939731\\\pm\\0.00376711.4939731  ±  0.003771なので誤差範囲内に真値があります.

  • 近似値は、適切なsamplesizeを設定してこそ得られます.
  • References

  • 条件期待値とL 2 L 2 L 2賭けの最小化関係を証明する
  • Proof: Conditional Expectation Minimizes MSE