교재: Deisenroth·Faisal·Ong, Mathematics for Machine Learning (mml-book.github.io에 공개된 PDF, 2024-01-15 판). 쪽수와 식 번호는 그 PDF 기준이다.
문제지: 앞 편에 문제만 따로 모아 두었다. 먼저 문제지로 풀어 본 뒤 이 글로 맞춰 본다.
검산: 모든 숫자 답은 numpy·scipy로 다시 계산했다. 교재 예제 11.1~11.5의 값(평균 −2.7,−0.4,3.7-2.7,-0.4,3.7, 분산 0.14,0.44,1.530.14,0.44,1.53, 비율 0.29,0.29,0.420.29,0.29,0.42, 로그 가능도 −28.3→−14.4-28.3\to-14.4)도 같은 코드로 재현했다. 12-2와 12-5의 SVM 해는 scipy 최적화로 다시 풀어 같은 답을 얻었다. 교재 식 번호와 그림 8.11의 화살표는 PDF 원문과 대조했다.
표기: 교재와 같이 공분산의 분모는 NN, 스칼라 함수의 기울기는 행벡터, log⁡\log는 자연로그다. 교재에 없는 내용은 교재 밖 보충이라고 표시했다.

장문제한 줄 요약
8 모델과 데이터8-1 ~ 8-9손실·가능도·사전분포·그래프·모델 선택
9 선형 회귀9-1 ~ 9-9정규방정식, 릿지=MAP, 베이즈 회귀, 증거, 사영
10 PCA10-1 ~ 10-9고유분해, 재구성 오차, SVD, N<DN<D, 표준화, PPCA
11 GMM과 EM11-1 ~ 11-8책임도, 갱신식, EM 한 바퀴, 특이점
12 SVM12-1 ~ 12-8마진, 쌍대, 힌지, 커널
OX 퀴즈1 ~ 15

8장 모델과 데이터

8-1. 경험적 위험과 과적합

(a) f2(x)=ax2+bx+cf_2(x)=ax^2+bx+c에 세 점을 넣는다.

  • x=0x=0: c=0c=0
  • x=1x=1: a+b=2a+b=2
  • x=2x=2: 4a+2b=24a+2b=2

셋째 식에서 둘째 식의 두 배를 빼면 2a=2−4=−22a=2-4=-2, 즉 a=−1a=-1, b=3b=3이다.

답: f2(x)=−x2+3xf_2(x)=-x^2+3x

(b) 경험적 위험 (8.6)은 손실의 평균 Remp=1N∑n(yn−y^n)2R_{\text{emp}}=\frac1N\sum_n(y_n-\hat y_n)^2이다.

xxyyf1(x)f_1(x)(y−f1)2(y-f_1)^2f2(x)f_2(x)(y−f2)2(y-f_2)^2
000000
121120
222020

답: Remp(f1)=13≈0.333R_{\text{emp}}(f_1)=\frac13\approx0.333, Remp(f2)=0R_{\text{emp}}(f_2)=0

(c) 테스트 점에서 계산한다. f2(3)=−9+9=0f_2(3)=-9+9=0, f2(4)=−16+12=−4f_2(4)=-16+12=-4.

xxyyf1(x)f_1(x)(y−f1)2(y-f_1)^2f2(x)f_2(x)(y−f2)2(y-f_2)^2
32.530.2506.25
44.540.25−4-472.25

답: 테스트 위험 f1f_1: 0.250.25, f2f_2: 6.25+72.252=39.25\frac{6.25+72.25}2=39.25

(d) 교재 8.2.3절은 훈련 데이터로 잰 위험 Remp(f,Xtrain,ytrain)R_{\text{emp}}(f,X_{\text{train}},y_{\text{train}})이 기대 위험 Rtrue(f)R_{\text{true}}(f)를 크게 과소평가할 때를 과적합이라 하고, 기대 위험은 테스트 데이터의 경험적 위험으로 추정한다. f2f_2는 훈련 위험 0, 테스트 위험 39.25로 차이가 매우 크므로 과적합이다. 세 점에 매개변수 세 개짜리 함수를 맞추면 데이터를 “외워 버릴” 수 있다(교재: 충분히 풍부한 함수 집합이면 경험적 위험을 0으로 만들 수 있다). f1f_1은 훈련 0.333, 테스트 0.25로 차이가 없다.


8-2. 가우시안 가능도, 최소제곱, 정규화 최소제곱

(a) 가우시안 밀도는 N(y∣m,σ2)=12πσ2exp⁡ ⁣(−(y−m)22σ2)\mathcal N(y\mid m,\sigma^2)=\frac1{\sqrt{2\pi\sigma^2}}\exp\!\big(-\frac{(y-m)^2}{2\sigma^2}\big)이다. 로그를 씌우고 부호를 바꾸면

−log⁡N(yn∣xn⊤θ,σ2)=(yn−xn⊤θ)22σ2+12log⁡(2πσ2). \begin{aligned} &-\log\mathcal N(y_n\mid x_n^\top\theta,\sigma^2)\\ &=\frac{(y_n-x_n^\top\theta)^2}{2\sigma^2}+\frac12\log(2\pi\sigma^2). \end{aligned}

데이터가 독립이므로 (8.17)처럼 합하면

L(θ)=12σ2∑n=1N(yn−xn⊤θ)2+N2log⁡(2πσ2). \begin{aligned} \mathcal L(\theta)&=\frac1{2\sigma^2}\sum_{n=1}^N(y_n-x_n^\top\theta)^2\\ &\quad+\frac N2\log(2\pi\sigma^2). \end{aligned}

이것이 (8.18d)다. 둘째 항은 θ\theta와 무관한 상수이고, 첫째 항은 양수 12σ2\frac1{2\sigma^2}에 제곱합을 곱한 것이다. 양수를 곱하거나 상수를 더해도 최소점은 그대로이므로

arg⁡min⁡θL(θ)=arg⁡min⁡θ1N∥y−Xθ∥2. \arg\min_\theta\mathcal L(\theta)=\arg\min_\theta\frac1N\|y-X\theta\|^2.

이것이 최소제곱 문제 (8.9)다.

(b) 목적함수를 전개한다.

J(θ)=1N(y⊤y−2y⊤Xθ+θ⊤X⊤Xθ)+λθ⊤θ. \begin{aligned} J(\theta)&=\tfrac1N\big(y^\top y-2y^\top X\theta\\ &\qquad+\theta^\top X^\top X\theta\big)+\lambda\theta^\top\theta. \end{aligned}

5장의 미분 규칙 ddθ(a⊤θ)=a⊤\frac{d}{d\theta}(a^\top\theta)=a^\top, ddθ(θ⊤Aθ)=2θ⊤A\frac{d}{d\theta}(\theta^\top A\theta)=2\theta^\top A (AA 대칭)를 쓰면

dJdθ=1N(−2y⊤X+2θ⊤X⊤X)+2λθ⊤. \begin{aligned} \frac{dJ}{d\theta}&=\tfrac1N\big(-2y^\top X+2\theta^\top X^\top X\big)\\ &\quad+2\lambda\theta^\top. \end{aligned}

이를 0⊤0^\top으로 놓고 N2\frac N2를 곱하면 θ⊤X⊤X+Nλθ⊤=y⊤X\theta^\top X^\top X+N\lambda\theta^\top=y^\top X, 전치하면 (X⊤X+NλI)θ=X⊤y(X^\top X+N\lambda I)\theta=X^\top y다.

답: θ∗=(X⊤X+NλI)−1X⊤y\theta^*=(X^\top X+N\lambda I)^{-1}X^\top y

헤시안 2NX⊤X+2λI\frac2NX^\top X+2\lambda I가 λ>0\lambda>0이면 양의 정부호라서 JJ는 볼록이고, 이 정류점이 최소점이다.

(c) X⊤X=1+4+9=14X^\top X=1+4+9=14, X⊤y=2+6+15=23X^\top y=2+6+15=23, N=3N=3.

  • λ=0\lambda=0: θ=2314≈1.643\theta=\frac{23}{14}\approx1.643
  • λ=13\lambda=\frac13: Nλ=1N\lambda=1이므로 θ=2314+1=2315≈1.533\theta=\frac{23}{14+1}=\frac{23}{15}\approx1.533

정규화가 θ\theta를 0 쪽으로 줄였다.

(d) (9.32)를 NN으로 나누면 1N∥y−Φθ∥2+λ9N∥θ∥2\frac1N\|y-\Phi\theta\|^2+\frac{\lambda_9}{N}\|\theta\|^2이다. 따라서 λ8=λ9/N\lambda_8=\lambda_9/N, 즉 λ9=Nλ8\lambda_9=N\lambda_8이다. 9장의 λ\lambda는 8장 λ\lambda의 NN배다. (c)에서 λ9=1\lambda_9=1이고, (9.34) (Φ⊤Φ+λ9I)−1Φ⊤y(\Phi^\top\Phi+\lambda_9I)^{-1}\Phi^\top y도 2315\frac{23}{15}을 준다.


8-3. 동전 던지기: MLE, MAP, 베이즈 추론

앞면 수 h=6h=6, 던진 수 N=8N=8.

(a) p(x∣μ)=μx(1−μ)1−xp(x\mid\mu)=\mu^x(1-\mu)^{1-x}이고 독립이므로 p(X∣μ)=μ6(1−μ)2p(\mathcal X\mid\mu)=\mu^6(1-\mu)^2이다(식 (8.33)).

L(μ)=−6log⁡μ−2log⁡(1−μ). \mathcal L(\mu)=-6\log\mu-2\log(1-\mu). dLdμ=−6μ+21−μ=0⇒ 6(1−μ)=2μ ⇒ μ=68. \begin{aligned} \frac{d\mathcal L}{d\mu}&=-\frac6\mu+\frac2{1-\mu}=0\\ &\Rightarrow\ 6(1-\mu)=2\mu\ \Rightarrow\ \mu=\frac68. \end{aligned}

2계 도함수 6μ2+2(1−μ)2>0\frac6{\mu^2}+\frac2{(1-\mu)^2}>0이라 최소점이다.

답: μML=34=0.75\mu_{\text{ML}}=\frac34=0.75 (L(0.75)≈4.499\mathcal L(0.75)\approx4.499)

(b) Beta(2,2)\text{Beta}(2,2) 밀도는 μ(1−μ)\mu(1-\mu)에 비례한다. 음의 로그 사후분포는 상수를 빼고

−log⁡p(μ∣X)=−7log⁡μ−3log⁡(1−μ)+const. \begin{aligned} &-\log p(\mu\mid\mathcal X)\\ &=-7\log\mu-3\log(1-\mu)+\text{const}. \end{aligned}

미분해서 0: −7μ+31−μ=0⇒7(1−μ)=3μ⇒μ=710-\frac7\mu+\frac3{1-\mu}=0\Rightarrow7(1-\mu)=3\mu\Rightarrow\mu=\frac7{10}.

답: μMAP=0.7\mu_{\text{MAP}}=0.7. 일반식은 h+α−1N+α+β−2\frac{h+\alpha-1}{N+\alpha+\beta-2}이다.

(c) 사후분포는 가능도×사전분포에 비례한다(8.20).

p(μ∣X)∝μ6(1−μ)2⋅μ(1−μ)=μ7(1−μ)3. \begin{aligned} p(\mu\mid\mathcal X)&\propto\mu^6(1-\mu)^2\cdot\mu(1-\mu)\\ &=\mu^7(1-\mu)^3. \end{aligned}

답: Beta(8,4)\text{Beta}(8,4) (일반식 Beta(α+h, β+N−h)\text{Beta}(\alpha+h,\ \beta+N-h)). 베타 사전분포가 베르누이 가능도의 켤레라서 사후분포도 베타다.

(d) (8.23)처럼 매개변수를 적분해서 없앤다.

p(x∗=1∣X)=∫01μ p(μ∣X) dμ=E[μ∣X]=88+4. \begin{aligned} p(x_*=1\mid\mathcal X)&=\int_0^1\mu\,p(\mu\mid\mathcal X)\,d\mu\\ &=\mathbb E[\mu\mid\mathcal X]=\frac{8}{8+4}. \end{aligned}

답: 23≈0.667\frac23\approx0.667. ML 값 0.75, MAP 값 0.7보다 0.5 쪽에 가깝다.

  • MAP 0.7은 사후분포 Beta(8,4)\text{Beta}(8,4)의 최빈값 8−18+4−2\frac{8-1}{8+4-2}이고, 베이즈 예측 23\frac23은 평균이다. 사후분포가 비대칭이라 둘이 다르다.
  • 베이즈 예측은 “μ\mu가 0.75일 수도, 0.5일 수도 있다"는 불확실성을 평균에 반영한다. 데이터가 8개뿐이라 이 차이가 크다.
  • 그림 8.10(c)는 바로 이 모델(α,β\alpha,\beta를 고정한 초사전분포를 μ\mu에 둔 그래프)이다.

8-4. 인수분해와 그래프

(a) 예제 8.7의 규칙: 조건부 분포 하나마다, 조건에 들어간 변수에서 그 변수로 화살표를 긋는다.

  • p(b∣a)p(b\mid a): a→ba\to b
  • p(c∣a)p(c\mid a): a→ca\to c
  • p(d∣b,c)p(d\mid b,c): b→db\to d, c→dc\to d

답: a→ba\to b, a→ca\to c, b→db\to d, c→dc\to d (마름모 모양)

(b) (8.31): 각 노드를 부모가 주어진 조건부 분포로 쓰고 모두 곱한다. 부모는 x1x_1: 없음, x2x_2: x1x_1, x3x_3: x1x_1, x4x_4: x2,x3x_2,x_3, x5x_5: x4x_4.

답: p(x1,…,x5)=p(x1) p(x2∣x1) p(x3∣x1) p(x4∣x2,x3) p(x5∣x4)p(x_1,\dots,x_5)=p(x_1)\,p(x_2\mid x_1)\,p(x_3\mid x_1)\,p(x_4\mid x_2,x_3)\,p(x_5\mid x_4)

(c) (교재 밖 보충)

  • 표 하나: 경우의 수 25=322^5=32개의 확률, 합이 1이라는 제약 하나 → 31개
  • 인수분해: 이진 변수의 부모가 kk개이면 부모 값 조합 2k2^k개마다 p(x=1∣⋅)p(x=1\mid\cdot) 하나가 필요하다. x1x_1: 1, x2x_2: 2, x3x_3: 2, x4x_4: 4, x5x_5: 2 → 11개

그래프가 말해 주는 조건부 독립 덕분에 필요한 수가 크게 준다. 교재가 그래프 모델을 “간결한 표현"이라고 부르는 이유다.


8-5. d-분리 판정

규칙(8.5.2절): AA의 노드에서 BB의 노드로 가는 모든 경로(화살표 방향을 무시한 길)를 본다. 경로 위의 한 노드에서

  1. 화살표가 머리-꼬리(→∙→\to\bullet\to)나 꼬리-꼬리(←∙→\leftarrow\bullet\to)로 만나고 그 노드가 조건 집합 CC에 있으면, 경로가 막힌다.
  2. 화살표가 머리-머리(→∙←\to\bullet\leftarrow)로 만나고 그 노드도, 그 자손도 CC에 없으면, 경로가 막힌다.

모든 경로가 막혀야 A⊥ ⁣ ⁣ ⁣⊥B∣CA\perp\!\!\!\perp B\mid C다. 경로 하나라도 열려 있으면 그래프만으로는 독립이 보장되지 않는다.

그림 8.11: a→b→ca\to b\to c, a→d←ca\to d\leftarrow c, d→ed\to e. dd의 자손은 ee뿐이다.

(a)

  • (8.35) b⊥ ⁣ ⁣ ⁣⊥d∣{a,c}b\perp\!\!\!\perp d\mid\{a,c\}: 경로 ① b←a→db\leftarrow a\to d: aa에서 꼬리-꼬리, a∈Ca\in C → 막힘. 경로 ② b→c→db\to c\to d: cc에서 머리-꼬리, c∈Cc\in C → 막힘. 모두 막혔으므로 성립.
  • (8.36) a⊥ ⁣ ⁣ ⁣⊥c∣{b}a\perp\!\!\!\perp c\mid\{b\}: 경로 ① a→b→ca\to b\to c: bb에서 머리-꼬리, b∈Cb\in C → 막힘. 경로 ② a→d←ca\to d\leftarrow c: dd에서 머리-머리, d∉Cd\notin C이고 자손 e∉Ce\notin C → 막힘. 성립.
  • (8.37) b⊥̸ ⁣ ⁣ ⁣⊥d∣{c}b\not\perp\!\!\!\perp d\mid\{c\}: 경로 b←a→db\leftarrow a\to d에서 aa는 꼬리-꼬리인데 a∉Ca\notin C → 열림. 열린 경로가 있으므로 독립이 아니다. 교재 문장이 맞다.
  • (8.38) a⊥̸ ⁣ ⁣ ⁣⊥c∣{b,e}a\not\perp\!\!\!\perp c\mid\{b,e\}: 경로 a→d←ca\to d\leftarrow c에서 dd는 머리-머리이고 d∉Cd\notin C이지만 자손 e∈Ce\in C → 열림. 교재 문장이 맞다. ee를 보면 dd에 대한 정보가 생기고, 그러면 dd의 두 원인 aa와 cc가 서로 얽힌다(“설명해 없애기”, explaining away).

(b)

  • (i) a⊥ ⁣ ⁣ ⁣⊥ca\perp\!\!\!\perp c (조건 없음): a→b→ca\to b\to c에서 bb는 머리-꼬리이고 b∉Cb\notin C → 열림. 성립하지 않음. (a→d←ca\to d\leftarrow c는 막혀 있지만, 열린 경로가 하나라도 있으면 안 된다.)
  • (ii) b⊥ ⁣ ⁣ ⁣⊥e∣{d}b\perp\!\!\!\perp e\mid\{d\}: ee의 이웃은 dd뿐이라 모든 경로가 ⋯d→e\cdots d\to e로 끝난다. b←a→d→eb\leftarrow a\to d\to e와 b→c→d→eb\to c\to d\to e 둘 다 dd에서 머리-꼬리이고 d∈Cd\in C → 막힘. 성립.
  • (iii) a⊥ ⁣ ⁣ ⁣⊥e∣{b,c}a\perp\!\!\!\perp e\mid\{b,c\}: a→d→ea\to d\to e에서 dd는 머리-꼬리이고 d∉Cd\notin C → 열림. 성립하지 않음.
  • (iv) b⊥ ⁣ ⁣ ⁣⊥e∣{a,c}b\perp\!\!\!\perp e\mid\{a,c\}: b←a→d→eb\leftarrow a\to d\to e는 aa(꼬리-꼬리, a∈Ca\in C)에서 막힘. b→c→d→eb\to c\to d\to e는 cc(머리-꼬리, c∈Cc\in C)에서 막힘. 성립.

8-6. 잠재변수 모델: 주변화와 사후분포

(a) zz가 이산이라 (8.25)의 적분이 합이 된다.

p(x=1)=∑zp(x=1∣z)p(z)=0.3(0.2420)+0.7(0.0540). \begin{aligned} p(x=1)&=\sum_zp(x=1\mid z)p(z)\\ &=0.3(0.2420)+0.7(0.0540). \end{aligned}

=0.0726+0.0378=0.0726+0.0378이다.

답: p(x=1)≈0.1104p(x=1)\approx0.1104

(b) 베이즈 정리 (8.28):

p(z=1∣x=1)=p(x=1∣z=1) p(z=1)p(x=1)=0.07260.1104. \begin{aligned} &p(z=1\mid x=1)\\ &=\frac{p(x=1\mid z=1)\,p(z=1)}{p(x=1)}\\ &=\frac{0.0726}{0.1104}. \end{aligned}

답: ≈0.658\approx0.658

(c) 0.3에서 0.658로 커졌다. x=1x=1은 성분 1의 평균 0에서 1, 성분 2의 평균 3에서 2만큼 떨어져 있다. 가능도 비는 N(1∣0,1)N(1∣3,1)=e−0.5e−2=e1.5≈4.48\frac{\mathcal N(1\mid0,1)}{\mathcal N(1\mid3,1)}=\frac{e^{-0.5}}{e^{-2}}=e^{1.5}\approx4.48이다. 사후 오즈 = 사전 오즈 × 가능도 비 =0.30.7×4.48≈1.92=\frac{0.3}{0.7}\times4.48\approx1.92이고, 확률로 바꾸면 1.922.92≈0.658\frac{1.92}{2.92}\approx0.658이다. 11장의 책임도가 바로 이 계산이다.


8-7. 베이즈 팩터로 모델 비교

(a) 공정한 동전에서 정해진 수열 하나가 나올 확률이다.

답: p(D∣M1)=0.58=1256≈0.003906p(\mathcal D\mid M_1)=0.5^8=\frac1{256}\approx0.003906

(b) 균등 사전분포의 밀도는 1이므로 (8.44)는

p(D∣M2)=∫01μ6(1−μ)2⋅1 dμ. p(\mathcal D\mid M_2)=\int_0^1\mu^6(1-\mu)^2\cdot1\,d\mu.

힌트에서 a=7a=7, b=3b=3: 6! 2!9!=720⋅2362880=1252\frac{6!\,2!}{9!}=\frac{720\cdot2}{362880}=\frac1{252}.

답: 1252≈0.003968\frac1{252}\approx0.003968

(c) 베이즈 팩터 (8.46)~(8.47):

p(D∣M2)p(D∣M1)=1/2521/256=256252. \frac{p(\mathcal D\mid M_2)}{p(\mathcal D\mid M_1)}=\frac{1/252}{1/256}=\frac{256}{252}.

답: ≈1.016\approx1.016. 1보다 아주 조금 크므로 규칙대로라면 M2M_2를 고르지만, 사실상 데이터가 두 모델을 거의 가르지 못한다는 뜻이다.

(d) M2M_2의 최대 가능도는 μ=0.75\mu=0.75에서

0.756×0.252≈0.1780×0.0625≈0.01112. \begin{aligned} 0.75^6\times0.25^2&\approx0.1780\times0.0625\\ &\approx0.01112. \end{aligned}

p(D∣M1)p(\mathcal D\mid M_1)의 약 2.85배다. 최대가능도로 비교하면 M2M_2가 분명히 이긴다. M1M_1은 M2M_2 안의 한 점(μ=0.5\mu=0.5)이라서 M2M_2의 최댓값은 언제나 M1M_1 이상이다. 그런데 증거(주변 가능도)는 최댓값이 아니라 사전분포로 평균한 가능도다. M2M_2는 μ=0.1\mu=0.1처럼 이 데이터를 잘 설명하지 못하는 값에도 사전 확률을 나눠 주므로 평균이 내려간다. 복잡한 모델이 자동으로 벌점을 받는 것, 이것이 8.6.2절의 “자동 오컴의 면도날"이다.

(e) 8번 모두 앞면이면 p(D∣M1)=1256p(\mathcal D\mid M_1)=\frac1{256}, p(D∣M2)=∫01μ8dμ=19p(\mathcal D\mid M_2)=\int_0^1\mu^8d\mu=\frac19.

베이즈 팩터=1/91/256=2569≈28.4. \text{베이즈 팩터}=\frac{1/9}{1/256}=\frac{256}9\approx28.4.

사후 오즈 = 사전 오즈 × 베이즈 팩터 (8.46):

p(M2∣D)p(M1∣D)=0.20.8×28.4≈7.11. \frac{p(M_2\mid\mathcal D)}{p(M_1\mid\mathcal D)}=\frac{0.2}{0.8}\times28.4\approx7.11.

답: 베이즈 팩터 ≈28.4\approx28.4, 사후 오즈 ≈7.11\approx7.11 (즉 p(M2∣D)≈7.118.11≈0.877p(M_2\mid\mathcal D)\approx\frac{7.11}{8.11}\approx0.877). 사전에 공정한 동전을 4배 더 믿었어도 데이터가 이를 뒤집는다.


8-8. AIC와 BIC

(a) AIC =log⁡p−M=\log p-M:

  • AA: −120−2=−122-120-2=-122
  • BB: −116−4=−120-116-4=-120
  • CC: −111−10=−121-111-10=-121

답: 교재는 값이 큰 모델을 고르므로 BB.

(b) 12log⁡N=12(4.605)=2.303\frac12\log N=\frac12(4.605)=2.303. BIC =log⁡p−2.303M=\log p-2.303M:

  • AA: −120−4.61=−124.61-120-4.61=-124.61
  • BB: −116−9.21=−125.21-116-9.21=-125.21
  • CC: −111−23.03=−134.03-111-23.03=-134.03

답: AA.

(c) 매개변수 하나당 벌점이 AIC는 1, BIC는 12log⁡N\frac12\log N이다. N=100N=100이면 2.303이고, N>e2≈7.4N>e^2\approx7.4이면 BIC 벌점이 더 크다. A→BA\to B로 가면 로그 가능도가 4 늘고 매개변수가 2개 는다. AIC 벌점은 2라서 이득이 크고(BB 선택), BIC 벌점은 4.61이라서 손해다(AA 선택). 교재: “BIC는 AIC보다 모델 복잡도를 더 무겁게 벌한다.”

(d) 2M−2log⁡p=−2(log⁡p−M)2M-2\log p=-2(\log p-M), 즉 교재 AIC에 −2-2를 곱한 값이다. 음수를 곱하면 순서가 뒤집히므로 “교재 AIC 최대” ⇔ “흔한 AIC 최소"이고, 고르는 모델은 같다. 이 문제에서는 244, 240, 242로 BB가 가장 작다. BIC도 흔히 Mlog⁡N−2log⁡pM\log N-2\log p로 쓰는데, 같은 관계다.


8-9. 교차 검증과 중첩 교차 검증

(a) (8.39): 다섯 조각 값의 평균. 표준편차는 편차 제곱의 평균(분모 K=5K=5)의 제곱근이다.

  • λ=0.01\lambda=0.01: 평균 16.05=3.2\frac{16.0}5=3.2. 편차 −0.3,0.2,−0.1,0.4,−0.2-0.3,0.2,-0.1,0.4,-0.2, 제곱합 0.340.34, σ=0.068=0.261\sigma=\sqrt{0.068}=0.261, 표준오차 0.2615=0.117\frac{0.261}{\sqrt5}=0.117
  • λ=0.1\lambda=0.1: 평균 14.05=2.8\frac{14.0}5=2.8. 편차 −0.2,0.1,−0.1,0.2,0-0.2,0.1,-0.1,0.2,0, 제곱합 0.100.10, σ=0.02=0.141\sigma=\sqrt{0.02}=0.141, 표준오차 0.0630.063
  • λ=1\lambda=1: 평균 15.55=3.1\frac{15.5}5=3.1. 편차 −0.1,0,−0.2,0.1,0.2-0.1,0,-0.2,0.1,0.2, 제곱합 0.100.10, σ=0.141\sigma=0.141, 표준오차 0.0630.063

(분모를 K−1K-1로 하면 표준편차가 약간 커지지만 결론은 같다.)

(b) λ=0.1\lambda=0.1. 평균 RMSE가 가장 작고, 다음 후보(3.1)와의 차이 0.3이 표준오차(약 0.06)보다 훨씬 크다.

(c) 2.8은 세 후보 중 가장 작은 값을 골라서 얻은 숫자다. 고르는 데 쓴 검증 데이터로 성능까지 재면 운 좋게 낮게 나온 후보를 고른 효과까지 들어가 낙관적으로 치우친다. 교재 8.2.3절도 테스트 데이터를 본 뒤 다시 학습으로 돌아가지 말라고 한다. 그래서 고르는 데 쓰지 않은 데이터가 따로 필요하다.

중첩 교차 검증(8.6.1절, 그림 8.13)은 이를 두 겹으로 한다.

  • 바깥쪽 고리: 데이터를 나눠 한 조각을 테스트 집합으로 떼어 둔다. 남은 데이터로 안쪽 고리를 돌려 고른 모델을 이 테스트 조각에서 평가한다. 조각을 바꿔 가며 평균한 값이 일반화 성능 추정이다.
  • 안쪽 고리: 바깥쪽 훈련 부분만으로 다시 교차 검증을 해서 검증 집합 성능으로 λ\lambda나 모델을 고른다.

9장 선형 회귀

9-1. 직선 맞추기: 정규방정식

(a)

Φ=[1−1101112],y=[0113]. \Phi=\begin{bmatrix}1&-1\\1&0\\1&1\\1&2\end{bmatrix},\quad y=\begin{bmatrix}0\\1\\1\\3\end{bmatrix}.

Φ⊤Φ=[N∑x∑x∑x2]\Phi^\top\Phi=\begin{bmatrix}N&\sum x\\\sum x&\sum x^2\end{bmatrix}이고 ∑x=2\sum x=2, ∑x2=1+0+1+4=6\sum x^2=1+0+1+4=6이다. Φ⊤y=[∑y∑xy]\Phi^\top y=\begin{bmatrix}\sum y\\\sum xy\end{bmatrix}이고 ∑y=5\sum y=5, ∑xy=0+0+1+6=7\sum xy=0+0+1+6=7이다.

답: Φ⊤Φ=[4226]\Phi^\top\Phi=\begin{bmatrix}4&2\\2&6\end{bmatrix}, Φ⊤y=[57]\Phi^\top y=\begin{bmatrix}5\\7\end{bmatrix}

(b) det⁡=24−4=20\det=24-4=20, (Φ⊤Φ)−1=120[6−2−24](\Phi^\top\Phi)^{-1}=\frac1{20}\begin{bmatrix}6&-2\\-2&4\end{bmatrix}.

θML=120[30−14−10+28]=120[1618]. \theta_{\text{ML}}=\frac1{20}\begin{bmatrix}30-14\\-10+28\end{bmatrix}=\frac1{20}\begin{bmatrix}16\\18\end{bmatrix}.

답: θML=[0.8, 0.9]⊤\theta_{\text{ML}}=[0.8,\ 0.9]^\top, 즉 f(x)=0.8+0.9xf(x)=0.8+0.9x

(c) 예측 Φθ=[−0.1, 0.8, 1.7, 2.6]\Phi\theta=[-0.1,\ 0.8,\ 1.7,\ 2.6], 잔차 r=[0.1, 0.2, −0.7, 0.4]r=[0.1,\ 0.2,\ -0.7,\ 0.4].

  • 첫째 열 [1,1,1,1][1,1,1,1]과의 내적: 0.1+0.2−0.7+0.4=00.1+0.2-0.7+0.4=0
  • 둘째 열 [−1,0,1,2][-1,0,1,2]와의 내적: −0.1+0−0.7+0.8=0-0.1+0-0.7+0.8=0

둘 다 0이다. 정규방정식 Φ⊤(y−Φθ)=0\Phi^\top(y-\Phi\theta)=0을 그대로 확인한 것이다(9.4절의 사영 해석).

(d) (9.22): σML2=14(0.01+0.04+0.49+0.16)=0.704\sigma^2_{\text{ML}}=\frac14(0.01+0.04+0.49+0.16)=\frac{0.70}4.

답: σML2=0.175\sigma^2_{\text{ML}}=0.175, RMSE (9.23) =0.175≈0.418=\sqrt{0.175}\approx0.418


9-2. 노이즈 분산의 최대가능도

(a) 잔차 제곱합을 R=∑n(yn−ϕ⊤(xn)θ)2R=\sum_n(y_n-\phi^\top(x_n)\theta)^2이라 하자. 로그 가능도는

log⁡p=−N2log⁡(2π)−N2log⁡σ2−R2σ2. \begin{aligned} \log p&=-\frac N2\log(2\pi)-\frac N2\log\sigma^2\\ &\quad-\frac{R}{2\sigma^2}. \end{aligned}

σ2\sigma^2를 하나의 변수로 보고 미분하면 (9.21)

∂log⁡p∂σ2=−N2σ2+R2σ4=0. \frac{\partial\log p}{\partial\sigma^2}=-\frac N{2\sigma^2}+\frac R{2\sigma^4}=0.

양변에 2σ42\sigma^4를 곱하면 −Nσ2+R=0-N\sigma^2+R=0이다.

답: σML2=RN=1N∑n(yn−ϕ⊤(xn)θ)2\sigma^2_{\text{ML}}=\frac RN=\frac1N\sum_n(y_n-\phi^\top(x_n)\theta)^2 (9.22)

(b) v=σ2v=\sigma^2로 두면 도함수는 R−Nv2v2\frac{R-Nv}{2v^2}이다. v<R/Nv<R/N이면 양수(증가), v>R/Nv>R/N이면 음수(감소)이므로 v=R/Nv=R/N은 최대점이다.

(c) σML2=R/N\sigma^2_{\text{ML}}=R/N을 넣으면 마지막 항이 R2R/N=N2\frac{R}{2R/N}=\frac N2가 된다.

log⁡pmax⁡=−N2log⁡(2πσML2)−N2. \log p_{\max}=-\frac N2\log(2\pi\sigma^2_{\text{ML}})-\frac N2.

9-1의 숫자: N=4N=4, 2π(0.175)=1.09962\pi(0.175)=1.0996, log⁡1.0996=0.0949\log1.0996=0.0949.

답: −2(0.0949)−2≈−2.190-2(0.0949)-2\approx-2.190


9-3. 다항 특징과 과적합

(a) (9.17) 형식으로 행마다 [1,xn,xn2][1,x_n,x_n^2]을 쓴다.

Φ=[1−11100111]. \Phi=\begin{bmatrix}1&-1&1\\1&0&0\\1&1&1\end{bmatrix}.

Φ\Phi가 정사각이고 가역(서로 다른 xx의 방데르몽드 행렬)이므로 (Φ⊤Φ)−1Φ⊤=Φ−1(\Phi^\top\Phi)^{-1}\Phi^\top=\Phi^{-1}이고, θML\theta_{\text{ML}}은 Φθ=y\Phi\theta=y의 해다.

  • 둘째 행: θ0=0\theta_0=0
  • 첫째·셋째 행: −θ1+θ2=2-\theta_1+\theta_2=2, θ1+θ2=1\theta_1+\theta_2=1 → θ2=1.5\theta_2=1.5, θ1=−0.5\theta_1=-0.5

답: θML=[0, −0.5, 1.5]⊤\theta_{\text{ML}}=[0,\ -0.5,\ 1.5]^\top, f(x)=−0.5x+1.5x2f(x)=-0.5x+1.5x^2

(b) Φ=[1−11011]\Phi=\begin{bmatrix}1&-1\\1&0\\1&1\end{bmatrix}, Φ⊤Φ=[3002]\Phi^\top\Phi=\begin{bmatrix}3&0\\0&2\end{bmatrix}(∑x=0\sum x=0이라 대각), Φ⊤y=[3−2+1]=[3−1]\Phi^\top y=\begin{bmatrix}3\\-2+1\end{bmatrix}=\begin{bmatrix}3\\-1\end{bmatrix}.

θ=[3/3, −1/2]=[1, −0.5]\theta=[3/3,\ -1/2]=[1,\ -0.5]. 예측 1.5, 1, 0.51.5,\ 1,\ 0.5, 잔차 0.5, −1, 0.50.5,\ -1,\ 0.5, 제곱합 1.51.5.

답: f(x)=1−0.5xf(x)=1-0.5x, 훈련 RMSE =1.5/3=0.5≈0.707=\sqrt{1.5/3}=\sqrt{0.5}\approx0.707

(c) 2차식은 세 점을 모두 지나므로 훈련 RMSE = 0.

(d) x=2x=2에서

  • 2차: −1+6=5-1+6=5, 오차 1.5−5=−3.51.5-5=-3.5 (제곱 12.25)
  • 직선: 1−1=01-1=0, 오차 1.51.5 (제곱 2.25)

매개변수 수가 데이터 수와 같으면(K=NK=N) 모든 점을 지나 훈련 오차가 0이 되지만, 새 점에서는 훨씬 틀린다. 그림 9.6에서 훈련 RMSE는 차수를 올려도 절대 늘지 않는다(차수가 낮은 모델이 높은 모델에 포함되므로). 반면 테스트 RMSE는 처음엔 줄다가 차수가 너무 높아지면 크게 는다. 이 문제는 그 그림의 양 끝을 작은 숫자로 본 것이다.


9-4. MAP 추정과 릿지 회귀

(a) 베이즈 정리의 로그 (9.25)에 가능도와 사전분포를 넣으면 (9.28)

−log⁡p(θ∣X,Y)=∥y−Φθ∥22σ2+θ⊤θ2b2+const. \begin{aligned} &-\log p(\theta\mid\mathcal X,\mathcal Y)\\ &=\frac{\|y-\Phi\theta\|^2}{2\sigma^2}+\frac{\theta^\top\theta}{2b^2}+\text{const}. \end{aligned}

8-2(b)와 같은 규칙으로 미분하면 (9.29)

ddθ=1σ2(θ⊤Φ⊤Φ−y⊤Φ)+1b2θ⊤. \frac{d}{d\theta}=\frac1{\sigma^2}\big(\theta^\top\Phi^\top\Phi-y^\top\Phi\big)+\frac1{b^2}\theta^\top.

0⊤0^\top으로 놓고 σ2\sigma^2를 곱하면 θ⊤(Φ⊤Φ+σ2b2I)=y⊤Φ\theta^\top\big(\Phi^\top\Phi+\frac{\sigma^2}{b^2}I\big)=y^\top\Phi. 괄호 안 행렬이 대칭이므로 전치하면

답: θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\theta_{\text{MAP}}=\big(\Phi^\top\Phi+\frac{\sigma^2}{b^2}I\big)^{-1}\Phi^\top y (9.31)

(b) Φ⊤Φ+2I=[6228]\Phi^\top\Phi+2I=\begin{bmatrix}6&2\\2&8\end{bmatrix}, det⁡=48−4=44\det=48-4=44, 역행렬 144[8−2−26]\frac1{44}\begin{bmatrix}8&-2\\-2&6\end{bmatrix}.

θMAP=144[40−14−10+42]=144[2632]. \theta_{\text{MAP}}=\frac1{44}\begin{bmatrix}40-14\\-10+42\end{bmatrix}=\frac1{44}\begin{bmatrix}26\\32\end{bmatrix}.

답: θMAP≈[0.591, 0.727]⊤\theta_{\text{MAP}}\approx[0.591,\ 0.727]^\top

(c) ∥θML∥2=0.64+0.81=1.45\|\theta_{\text{ML}}\|^2=0.64+0.81=1.45, ∥θMAP∥2=262+322442=17001936≈0.878\|\theta_{\text{MAP}}\|^2=\frac{26^2+32^2}{44^2}=\frac{1700}{1936}\approx0.878. 사전분포가 매개변수를 원점 쪽으로 끌어당겨 크기가 줄었다. 이 설정에서는 절편 θ0\theta_0도 같이 줄어든다.

(d) (9.28)에 2σ22\sigma^2를 곱하면 ∥y−Φθ∥2+σ2b2∥θ∥2+const\|y-\Phi\theta\|^2+\frac{\sigma^2}{b^2}\|\theta\|^2+\text{const}가 되어 (9.32)와 같은 꼴이다.

답: λ=σ2/b2\lambda=\sigma^2/b^2. 노이즈가 크거나 사전분포가 좁을수록(확신이 강할수록) 정규화가 세다.


9-5. 베이즈 선형 회귀: 사후분포와 예측

∑xn2=1+4=5\sum x_n^2=1+4=5, ∑xnyn=2+6=8\sum x_ny_n=2+6=8, σ2=1\sigma^2=1, m0=0m_0=0, S0=1S_0=1.

(a) (9.43)을 스칼라로 쓰면

SN=(1S0+∑xn2σ2)−1=11+5=16. S_N=\Big(\frac1{S_0}+\frac{\sum x_n^2}{\sigma^2}\Big)^{-1}=\frac1{1+5}=\frac16. mN=SN(m0S0+∑xnynσ2)=16⋅8=43. \begin{aligned} m_N&=S_N\Big(\frac{m_0}{S_0}+\frac{\sum x_ny_n}{\sigma^2}\Big)\\ &=\frac16\cdot8=\frac43. \end{aligned}

답: p(θ∣X,Y)=N(43, 16)p(\theta\mid\mathcal X,\mathcal Y)=\mathcal N\big(\frac43,\ \frac16\big)

(b) θML=∑xy∑x2=85=1.6\theta_{\text{ML}}=\frac{\sum xy}{\sum x^2}=\frac85=1.6. mN≈1.333m_N\approx1.333은 사전 평균 0 쪽으로 줄어든 값이다. λ=σ2/S0=1\lambda=\sigma^2/S_0=1인 MAP 85+1\frac8{5+1}과 같다(가우시안 사후분포는 평균=최빈값).

(c) (9.57c): 평균 x∗mNx_*m_N, 분산 x∗2SN+σ2x_*^2S_N+\sigma^2.

  • x∗=0x_*=0: 평균 0, 분산 0+1=10+1=1
  • x∗=3x_*=3: 평균 3⋅43=43\cdot\frac43=4, 분산 9⋅16+1=2.59\cdot\frac16+1=2.5

이 모델은 원점을 지나는 직선이라 x∗=0x_*=0에서는 매개변수 불확실성이 사라지고 노이즈만 남는다. x∗x_*가 커지면 기울기의 불확실성이 x∗2x_*^2배로 커진다.

(d) (9.38): 평균 x∗m0=0x_*m_0=0, 분산 x∗2S0+σ2=9+1=10x_*^2S_0+\sigma^2=9+1=10. 데이터 두 개로 예측 분산이 10에서 2.5로 줄었다.

(e) 순차 갱신: 사전분포를 N(43,16)\mathcal N(\frac43,\frac16)으로 두고 점 (−1,−1)(-1,-1) 하나를 넣는다.

S′=(6+(−1)21)−1=17,m′=17(6⋅43+(−1)(−1))=97. \begin{aligned} S'&=\Big(6+\frac{(-1)^2}1\Big)^{-1}=\frac17,\\ m'&=\frac17\Big(6\cdot\frac43+(-1)(-1)\Big)=\frac97. \end{aligned}

한꺼번에: ∑x2=6\sum x^2=6, ∑xy=2+6+1=9\sum xy=2+6+1=9이므로 S=11+6=17S=\frac1{1+6}=\frac17, m=97m=\frac97.

답: 둘 다 N(97,17)≈N(1.286, 0.143)\mathcal N\big(\frac97,\frac17\big)\approx\mathcal N(1.286,\ 0.143). 오늘의 사후분포가 내일의 사전분포가 된다.


9-6. 주변 가능도로 모델 비교

이차원 가우시안의 로그 밀도는 log⁡N(y∣0,K)=−log⁡2π−12log⁡det⁡K−12y⊤K−1y\log\mathcal N(y\mid0,K)=-\log2\pi-\frac12\log\det K-\frac12y^\top K^{-1}y이다.

(a) (9.64b): X=[1,2]⊤X=[1,2]^\top이라 XX⊤=[1224]XX^\top=\begin{bmatrix}1&2\\2&4\end{bmatrix}, K=XX⊤+I=[2225]K=XX^\top+I=\begin{bmatrix}2&2\\2&5\end{bmatrix}.

  • det⁡K=10−4=6\det K=10-4=6
  • K−1=16[5−2−22]K^{-1}=\frac16\begin{bmatrix}5&-2\\-2&2\end{bmatrix}
  • y⊤K−1y=16(5⋅4−2⋅2⋅2⋅3+2⋅9)=16(20−24+18)=73y^\top K^{-1}y=\frac16(5\cdot4-2\cdot2\cdot2\cdot3+2\cdot9)=\frac16(20-24+18)=\frac73
log⁡p=−1.8379−12(1.7918)−12⋅73. \log p=-1.8379-\tfrac12(1.7918)-\tfrac12\cdot\tfrac73.

답: −1.8379−0.8959−1.1667≈−3.900-1.8379-0.8959-1.1667\approx-3.900

(b) K=IK=I: log⁡p=−1.8379−0−12(4+9)\log p=-1.8379-0-\frac12(4+9).

답: ≈−8.338\approx-8.338

(c) K=100XX⊤+I=[101200200401]K=100XX^\top+I=\begin{bmatrix}101&200\\200&401\end{bmatrix}.

  • det⁡K=101⋅401−2002=40501−40000=501\det K=101\cdot401-200^2=40501-40000=501
  • y⊤K−1y=1501(401⋅4−2⋅200⋅6+101⋅9)=1604−2400+909501=113501≈0.2255y^\top K^{-1}y=\frac1{501}(401\cdot4-2\cdot200\cdot6+101\cdot9)=\frac{1604-2400+909}{501}=\frac{113}{501}\approx0.2255
log⁡p=−1.8379−12(6.2166)−12(0.2255). \begin{aligned} \log p&=-1.8379-\tfrac12(6.2166)\\ &\quad-\tfrac12(0.2255). \end{aligned}

답: −1.8379−3.1083−0.1128≈−5.059-1.8379-3.1083-0.1128\approx-5.059

(d) 순서: (a) −3.90-3.90 > (c) −5.06-5.06 > (b) −8.34-8.34.

  • M0M_0은 너무 단순하다. 분산 1의 노이즈만으로 y=(2,3)y=(2,3)을 설명해야 하니 가능도가 작다.
  • 사전분포가 넓은 (c)는 θ\theta가 −20-20이든 2020이든 그럴듯하다고 보므로 가능한 데이터셋이 아주 많다. 증거는 모든 데이터셋에 대해 합이 1이어야 하므로(그림 8.14), 확률을 넓게 흩뿌린 모델은 실제로 관측한 데이터셋에 적은 확률밖에 주지 못한다. 가장 잘 맞는 직선은 (a)와 같은 모델 족에 있는데도 증거가 낮다.
  • 사전분포를 더 넓히면 log⁡p≈−1.84−12log⁡(1+5s0)−0.1\log p\approx-1.84-\frac12\log(1+5s_0)-0.1처럼 계속 떨어진다. 수치로 풀면 s0≈7.2×104s_0\approx7.2\times10^4을 넘을 때 M0M_0보다도 낮아진다. 이것이 제프리스-린들리 역설이 말하는 현상(너무 넓은 사전분포를 준 복잡한 모델은 단순한 모델에 진다)이다.

9-7. 최소제곱은 직교사영이다

(a) X⊤X=1+4+4=9X^\top X=1+4+4=9, X⊤y=1+2+8=11X^\top y=1+2+8=11.

답: θML=119≈1.222\theta_{\text{ML}}=\frac{11}9\approx1.222

(b) XθML=119[1,2,2]⊤≈[1.222, 2.444, 2.444]⊤X\theta_{\text{ML}}=\frac{11}9[1,2,2]^\top\approx[1.222,\ 2.444,\ 2.444]^\top.

P=XX⊤X⊤X=19[122244244]. P=\frac{XX^\top}{X^\top X}=\frac19\begin{bmatrix}1&2&2\\2&4&4\\2&4&4\end{bmatrix}.

(c) 잔차 y−Xθ=[1−119, 1−229, 4−229]=19[−2, −13, 14]y-X\theta=\big[1-\frac{11}9,\ 1-\frac{22}9,\ 4-\frac{22}9\big]=\frac19[-2,\ -13,\ 14]. XX와의 내적은 19(−2−26+28)=0\frac19(-2-26+28)=0이다.

(d)

  • P2=X(X⊤X)−1X⊤X(X⊤X)−1X⊤=X(X⊤X)−1X⊤=PP^2=X(X^\top X)^{-1}X^\top X(X^\top X)^{-1}X^\top=X(X^\top X)^{-1}X^\top=P. 이미 직선 위에 있는 점은 다시 사영해도 그대로다.
  • P⊤=PP^\top=P: 대칭이면 직교사영이다. 잔차가 부분공간과 수직이 된다.
  • tr(P)=1+4+49=1\text{tr}(P)=\frac{1+4+4}9=1. 일반적으로 tr(P)=tr((X⊤X)−1X⊤X)=tr(ID)=D\text{tr}(P)=\text{tr}\big((X^\top X)^{-1}X^\top X\big)=\text{tr}(I_D)=D, 즉 부분공간의 차원(매개변수 수)이다.

9-8. 데이터가 많아지면 베이즈 사후 평균은 MLE로 간다

(a) (9.43)의 스칼라판:

SN=(1s0+∑xn2σ2)−1,mN=SN(m0s0+∑xnynσ2). \begin{aligned} S_N&=\Big(\frac1{s_0}+\frac{\sum x_n^2}{\sigma^2}\Big)^{-1},\\ m_N&=S_N\Big(\frac{m_0}{s_0}+\frac{\sum x_ny_n}{\sigma^2}\Big). \end{aligned}

(b) 데이터 정밀도 A=∑xn2σ2A=\frac{\sum x_n^2}{\sigma^2}, 사전 정밀도 a0=1s0a_0=\frac1{s_0}라 하자. θML=∑xnyn∑xn2\theta_{\text{ML}}=\frac{\sum x_ny_n}{\sum x_n^2}이므로 ∑xnynσ2=A θML\frac{\sum x_ny_n}{\sigma^2}=A\,\theta_{\text{ML}}이다.

mN=a0m0+A θMLa0+A=w θML+(1−w) m0. \begin{aligned} m_N&=\frac{a_0m_0+A\,\theta_{\text{ML}}}{a_0+A}\\ &=w\,\theta_{\text{ML}}+(1-w)\,m_0. \end{aligned}

답: w=AA+a0w=\frac{A}{A+a_0}. 정밀도(분산의 역수)로 가중한 평균이다.

(c) ∑xn2→∞\sum x_n^2\to\infty이면 A→∞A\to\infty이므로 SN=1a0+A→0S_N=\frac1{a_0+A}\to0이고 w→1w\to1, 따라서 mN→θMLm_N\to\theta_{\text{ML}}. 데이터가 충분하면 사전분포의 영향이 사라지고, 불확실성도 0으로 줄어든다.

(d) s0→0s_0\to0이면 a0→∞a_0\to\infty이므로 w→0w\to0, mN→m0m_N\to m_0, SN→0S_N\to0. 사전분포를 너무 확신하면 데이터를 무시한다.


9-9. Φ⊤Φ\Phi^\top\Phi의 역행렬이 없을 때

(a) Φ=[122436]\Phi=\begin{bmatrix}1&2\\2&4\\3&6\end{bmatrix}, ∑x2=14\sum x^2=14이므로

Φ⊤Φ=[14282856]. \Phi^\top\Phi=\begin{bmatrix}14&28\\28&56\end{bmatrix}.

det⁡=14⋅56−282=784−784=0\det=14\cdot56-28^2=784-784=0이라 역행렬이 없다. 두 열이 일차종속이라 rk(Φ)=1<2\text{rk}(\Phi)=1<2이고, (9.12) 옆 주석이 요구하는 “랭크 = 매개변수 수” 조건이 깨진다.

(b) Φ⊤y=[∑xy, 2∑xy]⊤=[11, 22]⊤\Phi^\top y=[\sum xy,\ 2\sum xy]^\top=[11,\ 22]^\top. 정규방정식은 14θ1+28θ2=1114\theta_1+28\theta_2=11과 그 두 배인 식뿐이다. 즉 θ1+2θ2=1114\theta_1+2\theta_2=\frac{11}{14}을 만족하는 직선 위의 모든 점이 해다(예: (1114,0)(\frac{11}{14},0), (0,1128)(0,\frac{11}{28})). 그런데 예측은

f(x)=θ1x+θ2(2x)=(θ1+2θ2)x=1114x \begin{aligned} f(x)&=\theta_1x+\theta_2(2x)\\ &=(\theta_1+2\theta_2)x=\tfrac{11}{14}x \end{aligned}

로 모든 해가 같다. 예측은 정해지지만 매개변수는 하나로 정해지지 않는다.

(c) Φ⊤Φ+I=[15282857]\Phi^\top\Phi+I=\begin{bmatrix}15&28\\28&57\end{bmatrix}, det⁡=855−784=71\det=855-784=71, 역행렬 171[57−28−2815]\frac1{71}\begin{bmatrix}57&-28\\-28&15\end{bmatrix}.

θ=171[627−616−308+330]=171[1122]. \theta=\frac1{71}\begin{bmatrix}627-616\\-308+330\end{bmatrix}=\frac1{71}\begin{bmatrix}11\\22\end{bmatrix}.

답: θ≈[0.155, 0.310]⊤\theta\approx[0.155,\ 0.310]^\top. 예측 기울기 θ1+2θ2=5571≈0.775\theta_1+2\theta_2=\frac{55}{71}\approx0.775로 1114≈0.786\frac{11}{14}\approx0.786보다 조금 줄었다. 릿지는 해 중에서 (1,2)(1,2) 방향, 즉 노름이 작은 쪽을 고른다(교재 밖 보충: λ→0\lambda\to0이면 최소 노름 해 170(11,22)\frac1{70}(11,22)로 간다).

(d) 모든 v≠0v\neq0에 대해 v⊤(Φ⊤Φ+λI)v=∥Φv∥2+λ∥v∥2≥λ∥v∥2>0v^\top(\Phi^\top\Phi+\lambda I)v=\|\Phi v\|^2+\lambda\|v\|^2\ge\lambda\|v\|^2>0이다. 양의 정부호이므로 고유값이 모두 λ\lambda 이상이고 역행렬이 있다.


10장 PCA

10-1. 네 점 PCA 처음부터 끝까지

(a) μ=(3+2−1+04, 3+4+1+04)=(1,2)\mu=\big(\frac{3+2-1+0}4,\ \frac{3+4+1+0}4\big)=(1,2). 중심화: (2,1), (1,2), (−2,−1), (−1,−2)(2,1),\ (1,2),\ (-2,-1),\ (-1,-2).

(b) S=14∑xnxn⊤S=\frac14\sum x_nx_n^\top (중심화된 점):

  • S11=4+1+4+14=2.5S_{11}=\frac{4+1+4+1}4=2.5
  • S12=2+2+2+24=2S_{12}=\frac{2+2+2+2}4=2
  • S22=1+4+1+44=2.5S_{22}=\frac{1+4+1+4}4=2.5

답: S=[2.5222.5]S=\begin{bmatrix}2.5&2\\2&2.5\end{bmatrix}

(c) (2.5−λ)2−4=0(2.5-\lambda)^2-4=0이므로 2.5−λ=±22.5-\lambda=\pm2.

  • λ1=4.5\lambda_1=4.5: S−4.5I=[−222−2]S-4.5I=\begin{bmatrix}-2&2\\2&-2\end{bmatrix} → b1=12(1,1)b_1=\frac1{\sqrt2}(1,1)
  • λ2=0.5\lambda_2=0.5: S−0.5I=[2222]S-0.5I=\begin{bmatrix}2&2\\2&2\end{bmatrix} → b2=12(1,−1)b_2=\frac1{\sqrt2}(1,-1)

(d) zn=b1⊤(xn−μ)z_n=b_1^\top(x_n-\mu): 2+12=32\frac{2+1}{\sqrt2}=\frac3{\sqrt2}, 32\frac3{\sqrt2}, −32-\frac3{\sqrt2}, −32-\frac3{\sqrt2} (≈±2.121\approx\pm2.121). 평균이 0이므로 분산은 14⋅4⋅92=4.5=λ1\frac14\cdot4\cdot\frac92=4.5=\lambda_1 (10.15).

(e) b1zn=32⋅12(1,1)=(1.5,1.5)b_1z_n=\frac3{\sqrt2}\cdot\frac1{\sqrt2}(1,1)=(1.5,1.5) 또는 그 음수.

  • x~1=x~2=(1,2)+(1.5,1.5)=(2.5, 3.5)\tilde x_1=\tilde x_2=(1,2)+(1.5,1.5)=(2.5,\ 3.5)
  • x~3=x~4=(1,2)−(1.5,1.5)=(−0.5, 0.5)\tilde x_3=\tilde x_4=(1,2)-(1.5,1.5)=(-0.5,\ 0.5)

오차: x1−x~1=(0.5,−0.5)x_1-\tilde x_1=(0.5,-0.5), x2−x~2=(−0.5,0.5)x_2-\tilde x_2=(-0.5,0.5), x3−x~3=(−0.5,0.5)x_3-\tilde x_3=(-0.5,0.5), x4−x~4=(0.5,−0.5)x_4-\tilde x_4=(0.5,-0.5). 제곱 노름은 모두 0.50.5.

답: 평균 제곱 재구성 오차 =0.5=λ2=0.5=\lambda_2 (10.44). 두 점씩 같은 점으로 복원된다. 버린 방향 b2b_2의 정보가 사라졌기 때문이다.


10-2. 3차원에서 주성분 개수 고르기

(a) SS는 왼쪽 위 2×22\times2 블록과 오른쪽 아래 1×11\times1 블록으로 나뉜다. 블록 [3113]\begin{bmatrix}3&1\\1&3\end{bmatrix}의 고유값은 3±13\pm1이다.

답: λ1=4\lambda_1=4, b1=12(1,1,0)b_1=\frac1{\sqrt2}(1,1,0); λ2=2\lambda_2=2, b2=12(1,−1,0)b_2=\frac1{\sqrt2}(1,-1,0); λ3=1\lambda_3=1, b3=(0,0,1)b_3=(0,0,1)

(b) 전체 분산 VD=trS=3+3+1=7=4+2+1V_D=\text{tr}S=3+3+1=7=4+2+1.

  • M=1M=1: J1=2+1=3J_1=2+1=3, 설명된 비율 47≈57.1%\frac47\approx57.1\%
  • M=2M=2: J2=1J_2=1, 설명된 비율 67≈85.7%\frac67\approx85.7\%

(c)

  • M=1M=1: z=b1⊤x=2+02=2z=b_1^\top x=\frac{2+0}{\sqrt2}=\sqrt2, x~=b1z=(1,1,0)\tilde x=b_1z=(1,1,0). 오차 x−x~=(1,−1,1)x-\tilde x=(1,-1,1), 제곱 오차 3
  • M=2M=2: b2⊤x=2−02=2b_2^\top x=\frac{2-0}{\sqrt2}=\sqrt2이므로 x~=(1,1,0)+(1,−1,0)=(2,0,0)\tilde x=(1,1,0)+(1,-1,0)=(2,0,0). 오차 (0,0,1)(0,0,1), 제곱 오차 1

JMJ_M은 데이터 전체의 평균 오차이고, 한 점의 오차는 그와 다를 수 있다. 여기서는 우연히 같다.


10-3. 최대 분산 방향은 가장 큰 고유벡터다

(a) 데이터가 중심화되어 z1nz_{1n}의 평균도 0이다. 그러므로

V1=1N∑nz1n2=1N∑nb1⊤xnxn⊤b1. V_1=\frac1N\sum_nz_{1n}^2=\frac1N\sum_nb_1^\top x_nx_n^\top b_1.

b1b_1을 합 밖으로 꺼내면 V1=b1⊤(1N∑nxnxn⊤)b1=b1⊤Sb1V_1=b_1^\top\Big(\frac1N\sum_nx_nx_n^\top\Big)b_1=b_1^\top Sb_1 (10.9).

(b) b1b_1을 cc배 하면 V1V_1이 c2c^2배가 되어 얼마든지 커진다. 우리가 원하는 것은 방향이지 길이가 아니므로 ∥b1∥=1\|b_1\|=1로 고정한다 (10.10).

(c) 라그랑주 함수 (10.11)

L(b1,λ1)=b1⊤Sb1+λ1(1−b1⊤b1). L(b_1,\lambda_1)=b_1^\top Sb_1+\lambda_1(1-b_1^\top b_1).

편미분 (10.12): ∂L∂b1=2b1⊤S−2λ1b1⊤\frac{\partial L}{\partial b_1}=2b_1^\top S-2\lambda_1b_1^\top, ∂L∂λ1=1−b1⊤b1\frac{\partial L}{\partial\lambda_1}=1-b_1^\top b_1. 둘을 0으로 놓고 SS가 대칭임을 쓰면

답: Sb1=λ1b1Sb_1=\lambda_1b_1, b1⊤b1=1b_1^\top b_1=1 (10.13)~(10.14). b1b_1은 SS의 고유벡터이고 λ1\lambda_1은 고유값이다.

(d) 고유벡터라면 V1=b1⊤Sb1=λ1b1⊤b1=λ1V_1=b_1^\top Sb_1=\lambda_1b_1^\top b_1=\lambda_1 (10.15)이다. 분산이 곧 고유값이므로, 분산을 최대로 하려면 가장 큰 고유값의 고유벡터를 고른다.

(e) B1=b1b1⊤B_1=b_1b_1^\top이라 하자. X^=(I−B1)X\hat X=(I-B_1)X이므로

S^=1NX^X^⊤=(I−B1)S(I−B1). \hat S=\tfrac1N\hat X\hat X^\top=(I-B_1)S(I-B_1).

SS의 고유벡터 b1,…,bDb_1,\dots,b_D는 정규직교이므로 (I−B1)b1=0(I-B_1)b_1=0이고 i≥2i\ge2에 대해 (I−B1)bi=bi(I-B_1)b_i=b_i다.

  • S^b1=(I−B1)S⋅0=0\hat Sb_1=(I-B_1)S\cdot0=0
  • i≥2i\ge2: S^bi=(I−B1)Sbi=(I−B1)λibi=λibi\hat Sb_i=(I-B_1)Sb_i=(I-B_1)\lambda_ib_i=\lambda_ib_i

즉 S^\hat S의 고유값은 0,λ2,…,λD0,\lambda_2,\dots,\lambda_D이고 고유벡터는 그대로다. 남은 데이터에서 다시 분산을 최대로 하면 S^\hat S의 가장 큰 고유값 λ2\lambda_2의 고유벡터 b2b_2가 나온다 (10.19)~(10.23).


10-4. SVD로 PCA 하기

(a) XX⊤XX^\top의 (1,1) 성분은 첫 행의 제곱합 4+1+4+1=104+1+4+1=10, (1,2)는 두 행의 내적 2+2+2+2=82+2+2+2=8, (2,2)는 1+4+1+4=101+4+1+4=10.

답: XX⊤=[108810]XX^\top=\begin{bmatrix}10&8\\8&10\end{bmatrix}

(b) X=UΣV⊤X=U\Sigma V^\top이면 XX⊤=UΣΣ⊤U⊤XX^\top=U\Sigma\Sigma^\top U^\top이므로 특이값의 제곱이 XX⊤XX^\top의 고유값이다. 고유값은 10±8=18, 210\pm8=18,\ 2.

답: σ1=18=32≈4.243\sigma_1=\sqrt{18}=3\sqrt2\approx4.243, σ2=2≈1.414\sigma_2=\sqrt2\approx1.414

(c) λd=σd2/N\lambda_d=\sigma_d^2/N: 184=4.5\frac{18}4=4.5, 24=0.5\frac24=0.5. 10-1의 고유값과 같다. 주성분 방향은 UU의 열(왼쪽 특이벡터)이다.

(d) 9장은 데이터를 행으로 쌓은 X∈RN×DX\in\mathbb R^{N\times D}를 쓴다. 10장은 열로 쌓은 X∈RD×NX\in\mathbb R^{D\times N}을 쓰고 S=1NXX⊤S=\frac1NXX^\top이다. 교재도 (10.46) 옆에서 “보통의 데이터 행렬의 전치"라고 적어 둔다. 공식을 옮겨 쓸 때 X⊤XX^\top X와 XX⊤XX^\top을 바꿔 쓰기 쉽다.


10-5. N<DN<D일 때: 작은 행렬의 고유벡터로 PCA 하기

(a) x1+x2+x3=(1−1+0, 0+1−1, 1+0−1, 0+1−1)=0x_1+x_2+x_3=(1-1+0,\ 0+1-1,\ 1+0-1,\ 0+1-1)=0.

(b) 내적을 모두 구한다: x1⋅x1=2x_1\cdot x_1=2, x2⋅x2=3x_2\cdot x_2=3, x3⋅x3=3x_3\cdot x_3=3, x1⋅x2=−1x_1\cdot x_2=-1, x1⋅x3=−1x_1\cdot x_3=-1, x2⋅x3=0−1+0−1=−2x_2\cdot x_3=0-1+0-1=-2.

답: X⊤X=[2−1−1−13−2−1−23]X^\top X=\begin{bmatrix}2&-1&-1\\-1&3&-2\\-1&-2&3\end{bmatrix}

(c) 각 행의 합이 0이므로 X⊤X[1,1,1]⊤=0X^\top X[1,1,1]^\top=0, 고유값 하나는 0이다. 나머지 두 고유값 λa,λb\lambda_a,\lambda_b는

  • 합 = 대각합 = 2+3+3=82+3+3=8
  • 곱 = 2×22\times2 주소행렬식의 합 = (6−1)+(6−1)+(9−4)=15(6-1)+(6-1)+(9-4)=15 (고유값 하나가 0이라 두 개씩 곱한 합이 λaλb\lambda_a\lambda_b뿐이다)

λ2−8λ+15=0\lambda^2-8\lambda+15=0이므로 5, 35,\ 3이다. 1NX⊤X\frac1NX^\top X의 고유값은 53, 1, 0\frac53,\ 1,\ 0이다.

고유벡터:

  • 5: (X⊤X−5I)c=0(X^\top X-5I)c=0의 둘째 행 −c1−2c2−2c3=0-c_1-2c_2-2c_3=0과 c⊥[1,1,1]c\perp[1,1,1]에서 c1=0c_1=0, c2=−c3c_2=-c_3 → c(1)=12(0,1,−1)c^{(1)}=\frac1{\sqrt2}(0,1,-1)
  • 3: 앞의 두 벡터에 모두 수직 → c(2)=16(2,−1,−1)c^{(2)}=\frac1{\sqrt6}(2,-1,-1). 확인: X⊤X(2,−1,−1)=(6,−3,−3)=3(2,−1,−1)X^\top X(2,-1,-1)=(6,-3,-3)=3(2,-1,-1)

(d) (10.56)에서 1NX⊤Xc=λc\frac1NX^\top Xc=\lambda c의 양변 왼쪽에 XX를 곱하면 1NXX⊤(Xc)=λ(Xc)\frac1NXX^\top(Xc)=\lambda(Xc) (10.57), 즉 XcXc가 SS의 고유벡터다.

Xc(1)=12(x2−x3)=12(−1, 2, 1, 2). \begin{aligned} Xc^{(1)}&=\tfrac1{\sqrt2}(x_2-x_3)\\ &=\tfrac1{\sqrt2}(-1,\ 2,\ 1,\ 2). \end{aligned}

길이의 제곱은 c⊤X⊤Xc=5c^\top X^\top Xc=5이므로 b1=Xc(1)5=110(−1,2,1,2)b_1=\frac{Xc^{(1)}}{\sqrt5}=\frac1{\sqrt{10}}(-1,2,1,2).

확인: Sb1=13∑nxn(xn⊤b1)Sb_1=\frac13\sum_nx_n(x_n^\top b_1)이고 x1⊤b1=0x_1^\top b_1=0, x2⊤b1=510x_2^\top b_1=\frac5{\sqrt{10}}, x3⊤b1=−510x_3^\top b_1=-\frac5{\sqrt{10}}이다. 따라서

Sb1=5310(x2−x3)=53 b1. Sb_1=\frac{5}{3\sqrt{10}}(x_2-x_3)=\frac53\,b_1.

답: b1=110(−1,2,1,2)b_1=\frac1{\sqrt{10}}(-1,2,1,2), λ1=53\lambda_1=\frac53. 같은 방법으로 b2=12(1,0,1,0)b_2=\frac1{\sqrt2}(1,0,1,0), λ2=1\lambda_2=1이다.

(e) 고유분해 비용은 행렬 크기의 세제곱에 비례한다. 여기서는 4×44\times4 대신 3×33\times3이지만, MNIST처럼 D=784D=784이고 N=100N=100이면 784×784784\times784 대신 100×100100\times100을 푼다. XX⊤XX^\top와 X⊤XX^\top X의 0이 아닌 고유값은 같다(많아야 NN개).


10-6. 표준화

(a) 특성방정식 λ2−101λ+(100−36)=0\lambda^2-101\lambda+(100-36)=0.

λ=101±1012−2562=101±99452=101±99.7252. \begin{aligned} \lambda&=\frac{101\pm\sqrt{101^2-256}}2\\ &=\frac{101\pm\sqrt{9945}}2\\ &=\frac{101\pm99.725}2. \end{aligned}

λ1≈100.36\lambda_1\approx100.36, λ2≈0.64\lambda_2\approx0.64. 고유벡터: (100−100.36)u1+6u2=0(100-100.36)u_1+6u_2=0에서 u2≈0.060u1u_2\approx0.060u_1, 정규화하면 b1≈(0.998, 0.060)b_1\approx(0.998,\ 0.060).

답: 첫 주성분이 거의 첫째 축이다. 첫째 특징의 단위(cm)가 커서 분산이 100이기 때문이지, 데이터 구조 때문이 아니다.

(b) 각 특징을 표준편차로 나누면 공분산이 Sij′=Sij/(σiσj)S'_{ij}=S_{ij}/(\sigma_i\sigma_j)가 된다: S11′=100100=1S'_{11}=\frac{100}{100}=1, S12′=610⋅1=0.6S'_{12}=\frac6{10\cdot1}=0.6, S22′=1S'_{22}=1.

답: S′=[10.60.61]S'=\begin{bmatrix}1&0.6\\0.6&1\end{bmatrix}, 고유값 1±0.6=1.6, 0.41\pm0.6=1.6,\ 0.4, 고유벡터 b1=12(1,1)b_1=\frac1{\sqrt2}(1,1), b2=12(1,−1)b_2=\frac1{\sqrt2}(1,-1). 두 특징이 같은 비중으로 들어간다.

(c)

  1. 표준화 (10.58): (185−17010, 0.5−01)=(1.5, 0.5)\big(\frac{185-170}{10},\ \frac{0.5-0}1\big)=(1.5,\ 0.5)
  2. 좌표 (10.60): z∗=b1⊤x∗=1.5+0.52=2≈1.414z_*=b_1^\top x_*=\frac{1.5+0.5}{\sqrt2}=\sqrt2\approx1.414
  3. 표준화 공간에서의 사영 (10.59): x~∗=b1z∗=(1, 1)\tilde x_*=b_1z_*=(1,\ 1)
  4. 되돌리기 (10.61): 표준편차를 곱하고 평균을 더한다. (1⋅10+170, 1⋅1+0)(1\cdot10+170,\ 1\cdot1+0)

답: x~∗=(180, 1)\tilde x_*=(180,\ 1). 교재는 PCA가 돌려주는 것은 사영 x~∗\tilde x_*가 아니라 좌표 z∗z_*라고 강조한다.


10-7. 거듭제곱법

(a) 정규화 전 벡터: Sx0=(2,1)Sx_0=(2,1), S(2,1)=(5,4)S(2,1)=(5,4), S(5,4)=(14,13)S(5,4)=(14,13).

답: x1=(2,1)5≈(0.894,0.447)x_1=\frac{(2,1)}{\sqrt5}\approx(0.894,0.447), x2=(5,4)41≈(0.781,0.625)x_2=\frac{(5,4)}{\sqrt{41}}\approx(0.781,0.625), x3=(14,13)365≈(0.733,0.680)x_3=\frac{(14,13)}{\sqrt{365}}\approx(0.733,0.680). 12(1,1)≈(0.707,0.707)\frac1{\sqrt2}(1,1)\approx(0.707,0.707)로 다가간다.

(b) 레일리 몫 v⊤Svv⊤v\frac{v^\top Sv}{v^\top v}:

  • k=1k=1: (2,1)⋅(5,4)5=145=2.8\frac{(2,1)\cdot(5,4)}5=\frac{14}5=2.8
  • k=2k=2: (5,4)⋅(14,13)41=12241≈2.976\frac{(5,4)\cdot(14,13)}{41}=\frac{122}{41}\approx2.976
  • k=3k=3: (14,13)⋅(41,40)365=1094365≈2.997\frac{(14,13)\cdot(41,40)}{365}=\frac{1094}{365}\approx2.997

답: λ1=3\lambda_1=3으로 수렴한다.

(c) (교재 밖 보충) x0x_0를 고유벡터로 나누면 x0=(1,0)=12(1,1)+12(1,−1)x_0=(1,0)=\frac12(1,1)+\frac12(1,-1)이다. 따라서

Skx0=12 3k(1,1)+12 1k(1,−1)=(3k+12, 3k−12). \begin{aligned} S^kx_0&=\tfrac12\,3^k(1,1)+\tfrac12\,1^k(1,-1)\\ &=\Big(\tfrac{3^k+1}2,\ \tfrac{3^k-1}2\Big). \end{aligned}

b2b_2 성분은 b1b_1 성분에 비해 매번 λ2/λ1=13\lambda_2/\lambda_1=\frac13배로 줄어든다. 실제로 b1b_1과의 각도가 18.4∘→6.3∘→2.1∘→0.7∘18.4^\circ\to6.3^\circ\to2.1^\circ\to0.7^\circ로 거의 3분의 1씩 준다. 두 고유값이 비슷하면 느리고, x0x_0에 b1b_1 성분이 전혀 없으면 b1b_1에 도달하지 못한다.


10-8. 확률적 PCA

(a) BB⊤=[4221]BB^\top=\begin{bmatrix}4&2\\2&1\end{bmatrix}.

답: BB⊤+σ2I=[5222]BB^\top+\sigma^2I=\begin{bmatrix}5&2\\2&2\end{bmatrix} (10.70b)

(b) (10.71): Cov[x,z]=B=[2,1]⊤\text{Cov}[x,z]=B=[2,1]^\top. (10.72):

p(x,z)=N ⁣([xz]| 0, [522221211]). p(x,z)=\mathcal N\!\left(\begin{bmatrix}x\\z\end{bmatrix}\middle|\ 0,\ \begin{bmatrix}5&2&2\\2&2&1\\2&1&1\end{bmatrix}\right).

(c) det⁡[5222]=6\det\begin{bmatrix}5&2\\2&2\end{bmatrix}=6, 역행렬 16[2−2−25]\frac16\begin{bmatrix}2&-2\\-2&5\end{bmatrix}. 먼저 B⊤(BB⊤+σ2I)−1=16[4−2, −4+5]=16[2, 1]B^\top(BB^\top+\sigma^2I)^{-1}=\frac16[4-2,\ -4+5]=\frac16[2,\ 1].

  • (10.74): m=16(2⋅3+1⋅1)=76m=\frac16(2\cdot3+1\cdot1)=\frac76
  • (10.75): C=1−16(2⋅2+1⋅1)=1−56=16C=1-\frac16(2\cdot2+1\cdot1)=1-\frac56=\frac16

답: p(z∣x)=N(76, 16)≈N(1.167, 0.167)p(z\mid x)=\mathcal N\big(\frac76,\ \frac16\big)\approx\mathcal N(1.167,\ 0.167)

(교재 밖 보충) 역행렬 보조정리로 m=(B⊤B+σ2)−1B⊤x=75+1m=(B^\top B+\sigma^2)^{-1}B^\top x=\frac7{5+1}, C=σ2(B⊤B+σ2)−1=16C=\sigma^2(B^\top B+\sigma^2)^{-1}=\frac16로 더 빨리 구할 수 있다.

(d) σ2→0\sigma^2\to0이면 m→(B⊤B)−1B⊤x=75=1.4m\to(B^\top B)^{-1}B^\top x=\frac75=1.4, C→0C\to0. Bm=(2.8, 1.4)Bm=(2.8,\ 1.4)는 x=(3,1)x=(3,1)을 직선 span(B)\text{span}(B)에 직교사영한 점이다. 이 값이 PCA 좌표 b⊤xb^\top x와 같아지는 것은 BB의 열이 정규직교일 때뿐이다. 여기서는 ∥B∥=5\|B\|=\sqrt5라서 정규화한 b=B/5b=B/\sqrt5의 PCA 좌표는 75\frac7{\sqrt5}이고, 1.41.4와는 5\sqrt5배 차이가 난다.


10-9. 재구성 오차는 버린 고유값의 합이다

(a) x~n=∑m=1Mzmnbm\tilde x_n=\sum_{m=1}^Mz_{mn}b_m (10.28), JM=1N∑n∥xn−x~n∥2J_M=\frac1N\sum_n\|x_n-\tilde x_n\|^2 (10.29). 연쇄법칙 (10.30):

∂JM∂zin=∂JM∂x~n∂x~n∂zin=−2N(xn−x~n)⊤bi. \frac{\partial J_M}{\partial z_{in}}=\frac{\partial J_M}{\partial\tilde x_n}\frac{\partial\tilde x_n}{\partial z_{in}}=-\frac2N(x_n-\tilde x_n)^\top b_i.

bb들이 정규직교이므로 x~n⊤bi=zin\tilde x_n^\top b_i=z_{in}이고, 위 식은 −2N(xn⊤bi−zin)-\frac2N(x_n^\top b_i-z_{in}) (10.31b)이다.

답: 0으로 놓으면 zin=xn⊤bi=bi⊤xnz_{in}=x_n^\top b_i=b_i^\top x_n (10.32). 최적 좌표는 직교사영의 좌표다.

(b) 정규직교 기저로 xnx_n을 전부 펼치면 xn=∑d=1D(bd⊤xn)bdx_n=\sum_{d=1}^D(b_d^\top x_n)b_d (10.37)이다. (a)의 최적 좌표를 쓴 x~n\tilde x_n은 앞 MM개 항이므로

xn−x~n=∑j=M+1D(bj⊤xn)bj=∑j=M+1Dbjbj⊤xn. \begin{aligned} x_n-\tilde x_n&=\sum_{j=M+1}^D(b_j^\top x_n)b_j\\ &=\sum_{j=M+1}^Db_jb_j^\top x_n. \end{aligned}

이것이 (10.38)이다. 오차 벡터는 버린 방향들만으로 이루어진다.

(c) 서로 수직인 벡터의 합의 제곱 노름은 제곱 노름의 합이다(피타고라스). 그래서 ∥xn−x~n∥2=∑j>M(bj⊤xn)2\|x_n-\tilde x_n\|^2=\sum_{j>M}(b_j^\top x_n)^2이고

JM=1N∑n∑j>Mbj⊤xnxn⊤bj=∑j>Mbj⊤Sbj. \begin{aligned} J_M&=\frac1N\sum_n\sum_{j>M}b_j^\top x_nx_n^\top b_j\\ &=\sum_{j>M}b_j^\top Sb_j. \end{aligned}

이것이 (10.43)이다.

(d) JMJ_M을 가장 작게 하려면 버리는 방향 bM+1,…,bDb_{M+1},\dots,b_D를 가장 작은 고유값들의 고유벡터로 고른다. 그러면 bj⊤Sbj=λjb_j^\top Sb_j=\lambda_j이고 JM=∑j=M+1DλjJ_M=\sum_{j=M+1}^D\lambda_j (10.44)이다. 전체 분산은 VD=trS=∑d=1DλdV_D=\text{tr}S=\sum_{d=1}^D\lambda_d이고, 남긴 분산은 VM=∑m=1MλmV_M=\sum_{m=1}^M\lambda_m이므로 VD=VM+JMV_D=V_M+J_M (10.24)~(10.25)이다. 전체 분산은 정해져 있으니 재구성 오차를 최소로 하는 것과 남긴 분산을 최대로 하는 것은 같은 일이다. 두 관점이 같은 답을 주는 이유다.


11장 GMM과 EM

11-1. 교재 예제의 책임도

세 성분의 πk\pi_k가 모두 13\frac13이라 (11.17)의 분자·분모에서 약분된다. 그래서 rnk=NkN1+N2+N3r_{nk}=\frac{\mathcal N_k}{\mathcal N_1+\mathcal N_2+\mathcal N_3}만 계산하면 된다. 정규분포의 지수는 −(x−μ)22σ2-\frac{(x-\mu)^2}{2\sigma^2}이다.

x=−1x=-1:

  • N(−1∣−4,1)=0.3989 e−9/2=0.3989(0.01111)=0.004432\mathcal N(-1\mid-4,1)=0.3989\,e^{-9/2}=0.3989(0.01111)=0.004432
  • N(−1∣0,0.2)=0.8921 e−1/0.4=0.8921(0.08208)=0.07322\mathcal N(-1\mid0,0.2)=0.8921\,e^{-1/0.4}=0.8921(0.08208)=0.07322
  • N(−1∣8,3)=0.2303 e−81/6=0.2303(1.37×10−6)≈3.2×10−7\mathcal N(-1\mid8,3)=0.2303\,e^{-81/6}=0.2303(1.37\times10^{-6})\approx3.2\times10^{-7}

합 0.077650.07765.

답: r=(0.057, 0.943, 0.000)r=(0.057,\ 0.943,\ 0.000)

x=2x=2:

  • N(2∣−4,1)=0.3989 e−18≈6.1×10−9\mathcal N(2\mid-4,1)=0.3989\,e^{-18}\approx6.1\times10^{-9}
  • N(2∣0,0.2)=0.8921 e−4/0.4=0.8921(4.54×10−5)=4.05×10−5\mathcal N(2\mid0,0.2)=0.8921\,e^{-4/0.4}=0.8921(4.54\times10^{-5})=4.05\times10^{-5}
  • N(2∣8,3)=0.2303 e−36/6=0.2303(0.002479)=5.709×10−4\mathcal N(2\mid8,3)=0.2303\,e^{-36/6}=0.2303(0.002479)=5.709\times10^{-4}

합 6.114×10−46.114\times10^{-4}.

답: r=(0.000, 0.066, 0.934)r=(0.000,\ 0.066,\ 0.934)

둘 다 교재 (11.19)와 같다. x=2x=2는 성분 2의 평균 0에 더 가깝지만(거리 2 대 6), 성분 2는 분산이 0.2로 좁아서 표준편차 단위로는 2/0.2≈4.52/\sqrt{0.2}\approx4.5배, 성분 3은 6/3≈3.56/\sqrt3\approx3.5배 떨어져 있다. 그래서 성분 3이 책임을 더 진다.


11-2. 교재 예제의 M 단계 한 번

(a) 열마다 더한다.

  • N1=1+1+0.057+0.001=2.058N_1=1+1+0.057+0.001=2.058
  • N2=0.943+0.999+0.066=2.008N_2=0.943+0.999+0.066=2.008
  • N3=0.934+1+1=2.934N_3=0.934+1+1=2.934

합 7=N7=N (행마다 책임도 합이 1이므로).

(b) (11.20) μk=1Nk∑nrnkxn\mu_k=\frac1{N_k}\sum_nr_{nk}x_n:

  • μ1=−3−2.5+0.057(−1)+0.001(0)2.058=−5.5572.058≈−2.700\mu_1=\frac{-3-2.5+0.057(-1)+0.001(0)}{2.058}=\frac{-5.557}{2.058}\approx-2.700
  • μ2=0.943(−1)+0.999(0)+0.066(2)2.008=−0.8112.008≈−0.404\mu_2=\frac{0.943(-1)+0.999(0)+0.066(2)}{2.008}=\frac{-0.811}{2.008}\approx-0.404
  • μ3=0.934(2)+4+52.934=10.8682.934≈3.704\mu_3=\frac{0.934(2)+4+5}{2.934}=\frac{10.868}{2.934}\approx3.704

(c) (11.30)의 1차원판 σk2=1Nk∑nrnk(xn−μk)2\sigma_k^2=\frac1{N_k}\sum_nr_{nk}(x_n-\mu_k)^2, 새 평균 사용(교재 (11.54)~(11.55) 옆 주석).

  • σ12\sigma_1^2: 항 0.0899, 0.0401, 0.057(1.700)2=0.1648, 0.001(2.700)2=0.00730.0899,\ 0.0401,\ 0.057(1.700)^2=0.1648,\ 0.001(2.700)^2=0.0073, 합 0.30200.3020 → 0.30202.058≈0.147\frac{0.3020}{2.058}\approx0.147
  • σ22\sigma_2^2: 항 0.943(0.596)2=0.3351, 0.999(0.404)2=0.1630, 0.066(2.404)2=0.38140.943(0.596)^2=0.3351,\ 0.999(0.404)^2=0.1630,\ 0.066(2.404)^2=0.3814, 합 0.87950.8795 → 0.87952.008≈0.438\frac{0.8795}{2.008}\approx0.438
  • σ32\sigma_3^2: 항 0.934(1.704)2=2.7125, (0.296)2=0.0875, (1.296)2=1.67920.934(1.704)^2=2.7125,\ (0.296)^2=0.0875,\ (1.296)^2=1.6792, 합 4.47924.4792 → 4.47922.934≈1.527\frac{4.4792}{2.934}\approx1.527

(d) (11.42) πk=Nk/N\pi_k=N_k/N: 2.0587≈0.294\frac{2.058}7\approx0.294, 2.0087≈0.287\frac{2.008}7\approx0.287, 2.9347≈0.419\frac{2.934}7\approx0.419.

(e) 평균 −2.7,−0.4,3.7-2.7,-0.4,3.7과 비율 0.29,0.29,0.420.29,0.29,0.42는 교재와 같다. 분산은 0.1470.147이 교재의 0.140.14와 조금 다른데, 표의 x=0x=0 행 0.0010.001 때문이다. 정확한 책임도는 r41≈0.00015r_{41}\approx0.00015이고, 반올림하지 않은 책임도로 계산하면 σ12≈0.144\sigma_1^2\approx0.144로 교재 값이 나온다. 나머지 둘(0.438≈0.440.438\approx0.44, 1.527≈1.531.527\approx1.53)은 같다. 로그 가능도는 −28.3-28.3에서 −14.4-14.4로 늘어난다(교재 예제 11.5 끝).


11-3. 갱신식 유도: 평균과 분산

(a) 로그 가능도 (11.10)은 L=∑nlog⁡p(xn∣θ)L=\sum_n\log p(x_n\mid\theta), p(xn∣θ)=∑jπjN(xn∣μj,Σj)p(x_n\mid\theta)=\sum_j\pi_j\mathcal N(x_n\mid\mu_j,\Sigma_j)이다. 로그의 미분 (11.15)로

∂L∂μk=∑n1p(xn∣θ)∂p(xn∣θ)∂μk. \frac{\partial L}{\partial\mu_k}=\sum_n\frac{1}{p(x_n\mid\theta)}\frac{\partial p(x_n\mid\theta)}{\partial\mu_k}.

합 안에서 μk\mu_k를 가진 것은 kk번째 항뿐이다. 가우시안 지수 −12(x−μ)⊤Σ−1(x−μ)-\frac12(x-\mu)^\top\Sigma^{-1}(x-\mu)를 μ\mu로 미분하면 (x−μ)⊤Σ−1(x-\mu)^\top\Sigma^{-1}이므로 (11.21)

∂p(xn∣θ)∂μk=πkN(xn∣μk,Σk)⋅(xn−μk)⊤Σk−1. \begin{aligned} \frac{\partial p(x_n\mid\theta)}{\partial\mu_k}&=\pi_k\mathcal N(x_n\mid\mu_k,\Sigma_k)\\ &\quad\cdot(x_n-\mu_k)^\top\Sigma_k^{-1}. \end{aligned}

대입하면 분수 부분이 정확히 rnkr_{nk} (11.17)이다 (11.22).

∂L∂μk=∑nrnk(xn−μk)⊤Σk−1=0⊤. \frac{\partial L}{\partial\mu_k}=\sum_nr_{nk}(x_n-\mu_k)^\top\Sigma_k^{-1}=0^\top.

오른쪽에서 Σk\Sigma_k를 곱하면 ∑nrnkxn=μk∑nrnk=Nkμk\sum_nr_{nk}x_n=\mu_k\sum_nr_{nk}=N_k\mu_k.

답: μknew=1Nk∑nrnkxn\mu_k^{\text{new}}=\frac1{N_k}\sum_nr_{nk}x_n (11.20)

(b) 오른쪽의 rnkr_{nk}가 μk\mu_k를 포함한 모든 매개변수에 의존한다. 식의 양쪽에 μk\mu_k가 있는 셈이라 한 번에 풀리지 않는다. 그래서 rnkr_{nk}를 현재 값으로 고정하고 갱신하는 일을 반복한다(EM). 교재 11.3절 첫 문장이 이 이야기다.

(c) 1차원 로그 밀도 log⁡N(x∣μ,σ2)=−12log⁡2π−12log⁡σ2−(x−μ)22σ2\log\mathcal N(x\mid\mu,\sigma^2)=-\frac12\log2\pi-\frac12\log\sigma^2-\frac{(x-\mu)^2}{2\sigma^2}를 σ2\sigma^2로 미분하면 −12σ2+(x−μ)22σ4-\frac1{2\sigma^2}+\frac{(x-\mu)^2}{2\sigma^4}이다. (a)와 같은 과정으로

∂L∂σk2=∑nrnk(−12σk2+(xn−μk)22σk4)=0. \begin{aligned} &\frac{\partial L}{\partial\sigma_k^2}\\ &=\sum_nr_{nk}\Big(-\frac1{2\sigma_k^2}+\frac{(x_n-\mu_k)^2}{2\sigma_k^4}\Big)=0. \end{aligned}

2σk42\sigma_k^4를 곱하면 ∑nrnk(−σk2+(xn−μk)2)=0\sum_nr_{nk}\big(-\sigma_k^2+(x_n-\mu_k)^2\big)=0, 즉 Nkσk2=∑nrnk(xn−μk)2N_k\sigma_k^2=\sum_nr_{nk}(x_n-\mu_k)^2.

답: σk2,new=1Nk∑nrnk(xn−μk)2\sigma_k^{2,\text{new}}=\frac1{N_k}\sum_nr_{nk}(x_n-\mu_k)^2 ((11.30)의 1차원판)


11-4. 혼합 비율 갱신: 라그랑주 승수

(a) (11.43):

L=∑nlog⁡∑kπkN(xn∣μk,Σk)+λ(∑kπk−1). \begin{aligned} \mathfrak L&=\sum_n\log\sum_k\pi_k\mathcal N(x_n\mid\mu_k,\Sigma_k)\\ &\quad+\lambda\Big(\sum_k\pi_k-1\Big). \end{aligned}

(b) πk\pi_k로 미분하면 (11.44)

∂L∂πk=∑nN(xn∣μk,Σk)∑jπjN(xn∣μj,Σj)+λ. \frac{\partial\mathfrak L}{\partial\pi_k}=\sum_n\frac{\mathcal N(x_n\mid\mu_k,\Sigma_k)}{\sum_j\pi_j\mathcal N(x_n\mid\mu_j,\Sigma_j)}+\lambda.

합 안의 분수는 rnk/πkr_{nk}/\pi_k이므로 첫 항은 Nk/πkN_k/\pi_k이다. 0으로 놓으면 πk=−Nk/λ\pi_k=-N_k/\lambda (11.46).

(c) 제약 ∑kπk=1\sum_k\pi_k=1에 넣으면 −∑kNkλ=1-\frac{\sum_kN_k}\lambda=1. 각 nn에서 ∑krnk=1\sum_kr_{nk}=1이므로 ∑kNk=N\sum_kN_k=N이고 λ=−N\lambda=-N (11.47)~(11.48).

답: πk=NkN\pi_k=\frac{N_k}N (11.49). 성분 kk가 맡은 “유효 데이터 수"의 비율이다.


11-5. 잠재변수 관점과 결정 경계

(a) z=[z1,z2]⊤z=[z_1,z_2]^\top은 원-핫(하나만 1). p(zk=1)=πkp(z_k=1)=\pi_k (11.59)(11.60), p(x∣zk=1)=N(x∣μk,σk2)p(x\mid z_k=1)=\mathcal N(x\mid\mu_k,\sigma_k^2) (11.58). zz의 가능한 값 두 개에 대해 더하면 (11.65)(11.66)

p(x)=∑kp(x∣zk=1)p(zk=1)=∑kπkN(x∣μk,σk2). \begin{aligned} p(x)&=\sum_kp(x\mid z_k=1)p(z_k=1)\\ &=\sum_k\pi_k\mathcal N(x\mid\mu_k,\sigma_k^2). \end{aligned}

GMM이 그대로 나온다.

(b) x=1x=1은 두 평균 0과 2에서 같은 거리이고 분산도 같아 N(1∣0,1)=N(1∣2,1)≈0.2420\mathcal N(1\mid0,1)=\mathcal N(1\mid2,1)\approx0.2420이다.

p(z1=1∣x=1)=0.6(0.2420)0.6(0.2420)+0.4(0.2420)=0.6. \begin{aligned} &p(z_1=1\mid x=1)\\ &=\frac{0.6(0.2420)}{0.6(0.2420)+0.4(0.2420)}=0.6. \end{aligned}

답: 0.6=π10.6=\pi_1. 가능도 비가 1이라 데이터가 어느 쪽 편도 들지 않으므로, 사후확률이 사전확률 그대로다.

(c) 0.6e−x2/2=0.4e−(x−2)2/20.6e^{-x^2/2}=0.4e^{-(x-2)^2/2}. 로그를 취해 정리하면

log⁡1.5=x2−(x−2)22=4x−42=2x−2. \begin{aligned} \log1.5&=\frac{x^2-(x-2)^2}2\\ &=\frac{4x-4}2=2x-2. \end{aligned}

답: x=1+log⁡1.52≈1.203x=1+\frac{\log1.5}2\approx1.203. 비율이 큰 성분 1이 경계를 성분 2 쪽으로 밀어낸다.


11-6. EM 한 바퀴: 잘 갈라진 데이터

(a) π\pi와 분산이 같으니 약분하면

rn1=e−(x−1)2/2e−(x−1)2/2+e−(x−5)2/2=11+e4x−12. \begin{aligned} r_{n1}&=\frac{e^{-(x-1)^2/2}}{e^{-(x-1)^2/2}+e^{-(x-5)^2/2}}\\ &=\frac1{1+e^{4x-12}}. \end{aligned}

((x−1)2−(x−5)2=8x−24(x-1)^2-(x-5)^2=8x-24를 2로 나눈 것이 4x−124x-12다.)

xnx_n4x−124x-12rn1r_{n1}rn2r_{n2}
0−12-120.9999940.9999940.0000060.000006
1−8-80.9996650.9996650.0003350.000335
5880.0003350.0003350.9996650.999665
612120.0000060.0000060.9999940.999994

(b)

  • N1=N2=2.000N_1=N_2=2.000 (대칭)
  • μ1\mu_1: 분자 ∑nrn1xn=0(0.999994)+1(0.999665)+5(0.000335)+6(0.000006)=1.00138\sum_nr_{n1}x_n=0(0.999994)+1(0.999665)+5(0.000335)+6(0.000006)=1.00138을 N1=2N_1=2로 나누어 μ1≈0.5007\mu_1\approx0.5007, 대칭으로 μ2=6−0.5007=5.4993\mu_2=6-0.5007=5.4993
  • σ12=12[0.999994(0.5007)2+0.999665(0.4993)2+0.000335(4.4993)2+0.000006(5.4993)2]=0.2507+0.2492+0.0068+0.00022≈0.2534\sigma_1^2=\frac12\big[0.999994(0.5007)^2+0.999665(0.4993)^2+0.000335(4.4993)^2+0.000006(5.4993)^2\big]=\frac{0.2507+0.2492+0.0068+0.0002}2\approx0.2534, 대칭으로 σ22≈0.2534\sigma_2^2\approx0.2534
  • π=(0.5, 0.5)\pi=(0.5,\ 0.5)

(c) 교재 11.3절: EM의 매 단계는 로그 가능도를 늘린다(Neal and Hinton, 1999). 이 예에서는 M 단계가 분산을 1에서 0.25로 줄여 두 점씩 모인 덩어리에 밀도를 집중시켰기 때문에 데이터 위의 밀도가 커졌다.

(d) 책임도가 거의 0 또는 1이므로 μk\mu_k는 거의 “그 성분에 배정된 점들의 평균” 0+12=0.5\frac{0+1}2=0.5, 5+62=5.5\frac{5+6}2=5.5이다. 이것이 K-평균의 중심 갱신 단계다. E 단계는 각 점을 가장 가까운 평균에 배정하는 K-평균의 배정 단계에 해당한다. 교재 11.5절은 “GMM의 평균을 군집 중심으로 보고 공분산을 무시(단위행렬로)하면 K-평균이 되며, K-평균은 딱 잘라 배정하고 GMM은 책임도로 부드럽게 배정한다"고 적는다. (교재 밖 보충: 모든 성분의 공분산을 σ2I\sigma^2I로 같게 두고 σ2→0\sigma^2\to0으로 보내면 책임도가 정확히 0/1이 되어 K-평균과 같아진다.)


11-7. 최대가능도의 특이점

(a) 로그 밀도 항은 둘 다 양수인 두 항의 합의 로그이므로 한 항보다 크다.

log⁡[0.5N(0∣0,ε)+0.5N(0∣3,10)]≥log⁡0.5−12log⁡(2πε). \begin{aligned} &\log\big[0.5\mathcal N(0\mid0,\varepsilon)\\ &\qquad+0.5\mathcal N(0\mid3,10)\big]\\ &\ge\log0.5-\tfrac12\log(2\pi\varepsilon). \end{aligned}

ε→0\varepsilon\to0이면 −12log⁡ε→+∞-\frac12\log\varepsilon\to+\infty이므로 이 항은 +∞+\infty로 간다.

(b) x∈{1,5,6}x\in\{1,5,6\}의 항은 log⁡[0.5N(x∣3,10)]\log\big[0.5\mathcal N(x\mid3,10)\big] 이상이고, 이 값은 ε\varepsilon과 무관한 유한한 수다(예: x=1x=1이면 약 −2.96-2.96). 합하면 “+∞+\infty로 가는 항 + 아래로 유계인 항들"이므로 전체 로그 가능도 →+∞\to+\infty다. 수치로는 ε=10−2\varepsilon=10^{-2}에서 −8.43-8.43, 10−410^{-4}에서 −6.15-6.15이고, 이후 ε\varepsilon이 줄 때마다 끝없이 커진다. 최대가능도 해가 존재하지 않는다.

(c) 교재 11.5절: GMM에서도 최대가능도는 심한 과적합을 겪을 수 있으며, 성분의 평균이 데이터 점 하나와 같아지고 공분산이 0으로 가면 가능도가 무한대가 된다. 이 성분은 점 하나에 무한한 밀도를 주지만 분포의 모양에 대해서는 아무것도 말해 주지 않는다. 교재는 사전분포를 두는 베이즈 접근을 대안으로 언급한다. (교재 밖 보충: 실제로는 분산에 하한을 두거나 공분산에 작은 ϵI\epsilon I를 더하고, 무너진 성분은 다시 초기화하며, 공분산에 사전분포를 둔 MAP-EM을 쓴다.)


11-8. EM과 GMM 개념

(a) 베이즈 정리:

p(znk=1∣xn)=p(xn∣znk=1) p(znk=1)∑jp(xn∣znj=1) p(znj=1)=πkN(xn∣μk,Σk)∑jπjN(xn∣μj,Σj). \begin{aligned} &p(z_{nk}=1\mid x_n)\\ &=\frac{p(x_n\mid z_{nk}=1)\,p(z_{nk}=1)}{\sum_jp(x_n\mid z_{nj}=1)\,p(z_{nj}=1)}\\ &=\frac{\pi_k\mathcal N(x_n\mid\mu_k,\Sigma_k)}{\sum_j\pi_j\mathcal N(x_n\mid\mu_j,\Sigma_j)}. \end{aligned}

이 값이 rnkr_{nk} (11.72)다. 책임도는 “이 점을 kk번 성분이 만들었을 사후확률"이다.

(b)

  • E 단계: 매개변수 θ(t)\theta^{(t)}를 고정하고 책임도 rnkr_{nk}(잠재변수의 사후분포)를 계산한다.
  • M 단계: 책임도를 고정하고 매개변수를 갱신한다. 일반적으로는 기대 완전 데이터 로그 가능도 Q(θ∣θ(t))Q(\theta\mid\theta^{(t)}) (11.73)을 최대화하고, GMM에서는 (11.54)~(11.56)이 된다.

(c) GMM 로그 가능도는 오목하지 않아 봉우리가 여러 개다(성분 번호만 바꾼 해도 모두 같은 값이다). EM은 매 단계 로그 가능도를 늘리는 국소적 방법이라 시작점 근처의 봉우리에 멈출 수 있다. (교재 밖 보충: 초기값을 여러 번 바꿔 돌린 뒤 로그 가능도가 가장 큰 해를 고르거나, K-평균 결과로 초기화한다.)

(d) 가우시안 하나일 때는 log⁡∏nN(xn∣μ,Σ)=∑nlog⁡N(⋯ )\log\prod_n\mathcal N(x_n\mid\mu,\Sigma)=\sum_n\log\mathcal N(\cdots)이고, 로그가 지수를 풀어 이차식의 합이 되므로 표본 평균·공분산이라는 닫힌 해가 나온다. GMM은 ∑nlog⁡∑kπkN(⋯ )\sum_n\log\sum_k\pi_k\mathcal N(\cdots)처럼 로그 안에 합이 있어 로그가 지수를 풀지 못한다. 미분하면 모든 성분이 rnkr_{nk}로 얽혀 닫힌 해가 없다.


12장 SVM

12-1. 초평면까지의 거리와 크기 조정

(a) ∥w∥=9+16=5\|w\|=\sqrt{9+16}=5.

  • (3,4)(3,4): f=9+16−5=20f=9+16-5=20, 거리 205=4\frac{20}5=4 (양의 쪽)
  • (0,0)(0,0): f=−5f=-5, 거리 −1-1 (음의 쪽, 거리 1)
  • (1,0.5)(1,0.5): f=3+2−5=0f=3+2-5=0, 초평면 위

(b) {x:6x1+8x2−10=0}={x:2(3x1+4x2−5)=0}\{x:6x_1+8x_2-10=0\}=\{x:2(3x_1+4x_2-5)=0\}이므로 같은 집합이다. 그런데 ff 값은 두 배가 되어, 예를 들어 (3,4)(3,4)의 yfyf가 20에서 40이 된다. 부호 있는 거리 f/∥w∥=40/10=4f/\|w\|=40/10=4는 그대로다.

(c) (w,b)(w,b)의 크기는 마음대로 정할 수 있으므로 가장 가까운 점에서 yn(⟨w,xn⟩+b)=1y_n(\langle w,x_n\rangle+b)=1이 되게 고정한다 (12.15). 마진 위의 점 xax_a를 초평면에 직교사영한 점을 xa′x_a'이라 하면 xa=xa′+rw∥w∥x_a=x_a'+r\frac{w}{\|w\|} (12.8), ⟨w,xa′⟩+b=0\langle w,x_a'\rangle+b=0 (12.11)이다. xa′x_a'을 대입하면 (12.12)~(12.13)

⟨w,xa⟩+b−r⟨w,w⟩∥w∥=0. \langle w,x_a\rangle+b-r\frac{\langle w,w\rangle}{\|w\|}=0.

⟨w,xa⟩+b=1\langle w,x_a\rangle+b=1이고 ⟨w,w⟩∥w∥=∥w∥\frac{\langle w,w\rangle}{\|w\|}=\|w\|이므로 1−r∥w∥=01-r\|w\|=0.

답: r=1∥w∥r=\frac1{\|w\|} (12.14). 마진을 최대로 하는 것은 ∥w∥\|w\|를 최소로 하는 것과 같고, 미분하기 쉽게 12∥w∥2\frac12\|w\|^2를 최소화한다 (12.18).


12-2. 하드 마진 SVM: 눈에 보이는 답이 최적이 아닐 때

(a) f(x)=x1−1f(x)=x_1-1.

  • 양성 (2,2)(2,2), (2,3)(2,3): f=1f=1, yf=1≥1yf=1\ge1
  • 음성 (0,0)(0,0), (0,1)(0,1): f=−1f=-1, yf=1≥1yf=1\ge1

답: 모든 제약을 만족하고 마진은 1∥w∥=1\frac1{\|w\|}=1이다.

(b) 양성의 볼록 껍질은 선분 {(2,t):2≤t≤3}\{(2,t):2\le t\le3\}, 음성은 {(0,s):0≤s≤1}\{(0,s):0\le s\le1\}이다. 두 점 사이 거리의 제곱은 4+(t−s)24+(t-s)^2이고, t−s≥2−1=1t-s\ge2-1=1이므로 t=2t=2, s=1s=1에서 최소다.

가장 가까운 두 점은 c=(2,2)c=(2,2), d=(0,1)d=(0,1)이고 거리는 5\sqrt5다. 12.3.2절 (12.44)처럼 ww는 c−d=(2,1)c-d=(2,1) 방향이다. 최대 마진 초평면은 선분 cdcd의 수직이등분선, 즉 중점 (1, 1.5)(1,\ 1.5)를 지나고 법선이 (2,1)(2,1)인 직선 2x1+x2=3.52x_1+x_2=3.5이다.

크기 맞추기: w=k(2,1)w=k(2,1), b=−3.5kb=-3.5k로 두면 f(c)=k(4+2−3.5)=2.5k=1f(c)=k(4+2-3.5)=2.5k=1, k=0.4k=0.4.

답: w=(0.8, 0.4)w=(0.8,\ 0.4), b=−1.4b=-1.4

모든 제약 확인: (2,2)(2,2): 1.6+0.8−1.4=11.6+0.8-1.4=1, (2,3)(2,3): 1.6+1.2−1.4=1.41.6+1.2-1.4=1.4, (0,0)(0,0): yf=1.4yf=1.4, (0,1)(0,1): f=0.4−1.4=−1f=0.4-1.4=-1이라 yf=1yf=1. 모두 1 이상.

(c) ∥w∥=0.64+0.16=0.8≈0.894\|w\|=\sqrt{0.64+0.16}=\sqrt{0.8}\approx0.894, 마진 10.894≈1.118=52\frac1{0.894}\approx1.118=\frac{\sqrt5}2 (껍질 사이 거리의 절반). (a)의 1보다 크다. (a)의 수직선은 제약은 만족하지만 최적이 아니다. 마진을 정하는 것은 가로로 마주 보는 쌍이 아니라 대각선으로 가장 가까운 쌍 (2,2)(2,2)–(0,1)(0,1)이다.

(d) 서포트 벡터는 마진 위의 두 점 (2,2)(2,2) (y=+1y=+1)와 (0,1)(0,1) (y=−1y=-1)이다. 나머지 두 점은 yf=1.4>1yf=1.4>1이라 α=0\alpha=0이다. ∑ynαn=0\sum y_n\alpha_n=0이므로 두 α\alpha가 같다. 그 값을 α\alpha라 하면 (12.38)로

w=α(2,2)−α(0,1)=α(2,1)=(0.8, 0.4). \begin{aligned} w&=\alpha(2,2)-\alpha(0,1)\\ &=\alpha(2,1)=(0.8,\ 0.4). \end{aligned}
  • α=0.4\alpha=0.4
  • (12.42): b=y−⟨w,x⟩=1−(1.6+0.8)=−1.4b=y-\langle w,x\rangle=1-(1.6+0.8)=-1.4 ((0,1)(0,1)로 해도 −1−0.4=−1.4-1-0.4=-1.4)
  • 쌍대 목적(최대화형) ∑αn−12∥w∥2=0.8−0.4=0.4\sum\alpha_n-\frac12\|w\|^2=0.8-0.4=0.4
  • 원 목적 12∥w∥2=0.4\frac12\|w\|^2=0.4

답: α=0.4\alpha=0.4 (두 서포트 벡터), 나머지 0. 쌍대 목적값과 원 목적값이 0.4로 같다(강쌍대성). 원 문제의 해가 KKT 조건(제약 만족, α≥0\alpha\ge0, 활성 제약에만 α>0\alpha>0, w=∑αnynxnw=\sum\alpha_ny_nx_n, ∑αnyn=0\sum\alpha_ny_n=0)을 모두 만족하므로 이 α\alpha가 쌍대 최적해다.


12-3. 소프트 마진 쌍대 유도

(a) 제약 (12.26b) yn(⟨w,xn⟩+b)≥1−ξny_n(\langle w,x_n\rangle+b)\ge1-\xi_n에 αn≥0\alpha_n\ge0, 제약 (12.26c) ξn≥0\xi_n\ge0에 γn≥0\gamma_n\ge0을 붙인다 (12.34).

L=12∥w∥2+C∑nξn−∑nγnξn−∑nαn(yn(⟨w,xn⟩+b)−1+ξn). \begin{aligned} L&=\frac12\|w\|^2+C\sum_n\xi_n-\sum_n\gamma_n\xi_n\\ &\quad-\sum_n\alpha_n\big(y_n(\langle w,x_n\rangle+b)\\ &\qquad\qquad-1+\xi_n\big). \end{aligned}

(b) (12.35)~(12.37):

  • ∂L∂w=w⊤−∑nαnynxn⊤\frac{\partial L}{\partial w}=w^\top-\sum_n\alpha_ny_nx_n^\top
  • ∂L∂b=−∑nαnyn\frac{\partial L}{\partial b}=-\sum_n\alpha_ny_n
  • ∂L∂ξn=C−αn−γn\frac{\partial L}{\partial\xi_n}=C-\alpha_n-\gamma_n

(c) 셋을 0으로 놓으면 w=∑nαnynxnw=\sum_n\alpha_ny_nx_n (12.38), ∑nαnyn=0\sum_n\alpha_ny_n=0, γn=C−αn\gamma_n=C-\alpha_n이다. LL에 대입해 항별로 정리한다.

  • 12∥w∥2=12∑i∑jyiyjαiαj⟨xi,xj⟩\frac12\|w\|^2=\frac12\sum_i\sum_jy_iy_j\alpha_i\alpha_j\langle x_i,x_j\rangle
  • −∑iαiyi⟨w,xi⟩=−∑i∑jyiyjαiαj⟨xi,xj⟩-\sum_i\alpha_iy_i\langle w,x_i\rangle=-\sum_i\sum_jy_iy_j\alpha_i\alpha_j\langle x_i,x_j\rangle
  • −b∑iαiyi=0-b\sum_i\alpha_iy_i=0
  • +∑iαi+\sum_i\alpha_i
  • ξ\xi 항: ∑i(C−αi−γi)ξi=0\sum_i(C-\alpha_i-\gamma_i)\xi_i=0

모두 더하면 (12.40):

D(α)=∑iαi−12∑i∑jyiyjαiαj⟨xi,xj⟩. \begin{aligned} \mathfrak D(\alpha)&=\sum_i\alpha_i\\ &\quad-\frac12\sum_i\sum_jy_iy_j\alpha_i\alpha_j\langle x_i,x_j\rangle. \end{aligned}

쌍대 문제는 이를 최대화하는 것이고, 부호를 바꾸면 (12.41):

min⁡α 12∑i,jyiyjαiαj⟨xi,xj⟩−∑iαi. \min_\alpha\ \frac12\sum_{i,j}y_iy_j\alpha_i\alpha_j\langle x_i,x_j\rangle-\sum_i\alpha_i.

조건은 ∑iyiαi=0\sum_iy_i\alpha_i=0, 0≤αi≤C0\le\alpha_i\le C다.

(d) αi≥0\alpha_i\ge0은 부등식 제약의 라그랑주 승수라서 생긴다. γi=C−αi\gamma_i=C-\alpha_i이고 γi≥0\gamma_i\ge0이어야 하므로 αi≤C\alpha_i\le C다. 이 “상자 제약"이 소프트 마진의 흔적이다.

(e) 하드 마진에는 ξ\xi와 γ\gamma가 없어 위 상한이 없고 αi≥0\alpha_i\ge0만 남는다. 목적함수 모양은 같다. C→∞C\to\infty이면 소프트 마진 쌍대가 하드 마진 쌍대가 된다.


12-4. 힌지 손실과 여유 변수

f(x)=x1−x2f(x)=x_1-x_2, 힌지 손실 max⁡{0,1−t}\max\{0,1-t\} (12.28), 최적 여유 변수 ξn=max⁡{0,1−tn}\xi_n=\max\{0,1-t_n\} ((12.32)~(12.33)).

(a), (b)

점f(xn)f(x_n)tn=ynft_n=y_nf힌지 =ξn=\xi_n위치
1 (3,1)(3,1), +1+1220마진 밖(올바른 쪽, 여유 있음)
2 (1,0)(1,0), +1+1110마진 경계 위
3 (0,0.5)(0,0.5), −1-1−0.5-0.50.50.5마진 안(올바른 쪽)
4 (2,1)(2,1), −1-11−1-12잘못 분류

규칙: t≥1t\ge1이면 손실 0, 0≤t<10\le t<1이면 맞게 분류했지만 마진 안, t<0t<0이면 잘못 분류.

(c) (12.31): 12∥w∥2+C∑nmax⁡{0,1−tn}=12(1+1)+1⋅(0+0+0.5+2)\frac12\|w\|^2+C\sum_n\max\{0,1-t_n\}=\frac12(1+1)+1\cdot(0+0+0.5+2).

답: 1+2.5=3.51+2.5=3.5

(d) 0-1 손실(틀리면 1)은 0,0,0,10,0,0,1로 합 1이다. 힌지는 모든 tt에서 0-1 손실 이상이다. t≥1t\ge1이면 둘 다 0이고, 0≤t<10\le t<1이면 힌지 1−t>01-t>0, t<0t<0이면 힌지 1−t>11-t>1이다. 교재 그림 12.8: 힌지 손실은 0-1 손실의 볼록한 상한이다. 0-1 손실을 직접 최소화하면 조합 최적화 문제가 되어 어렵기 때문에(12.2.5절) 힌지로 바꾼다.


12-5. 커널로 XOR 풀기

(a) 양성의 볼록 껍질은 (1,1)(1,1)과 (−1,−1)(-1,-1)을 잇는 선분이고 원점을 지난다. 음성의 껍질도 (1,−1)(1,-1)과 (−1,1)(-1,1)을 잇는 선분이라 원점을 지난다. 두 껍질이 원점에서 만나므로 분리 초평면이 없다. 식으로는 ff가 아핀이라 f(0)=12f(1,1)+12f(−1,−1)>0f(0)=\frac12f(1,1)+\frac12f(-1,-1)>0이면서 동시에 f(0)=12f(1,−1)+12f(−1,1)<0f(0)=\frac12f(1,-1)+\frac12f(-1,1)<0이어야 하므로 모순이다.

(b) 전개한다.

(x⊤x′)2=(x1x1′+x2x2′)2=x12x1′2+2x1x2x1′x2′+x22x2′2. \begin{aligned} (x^\top x')^2&=(x_1x_1'+x_2x_2')^2\\ &=x_1^2x_1'^2+2x_1x_2x_1'x_2'+x_2^2x_2'^2. \end{aligned}

이는 ⟨(x12,2x1x2,x22), (x1′2,2x1′x2′,x2′2)⟩\langle(x_1^2,\sqrt2x_1x_2,x_2^2),\ (x_1'^2,\sqrt2x_1'x_2',x_2'^2)\rangle와 같다. 숫자 확인: x⊤x′=3−2=1x^\top x'=3-2=1이라 k=1k=1. ϕ(x)=(1, 22, 4)\phi(x)=(1,\ 2\sqrt2,\ 4), ϕ(x′)=(9, −32, 1)\phi(x')=(9,\ -3\sqrt2,\ 1), 내적 9−12+4=19-12+4=1. 같다.

(c) 원래 내적: 같은 쌍 (1,1)⋅(−1,−1)=−2(1,1)\cdot(-1,-1)=-2, (1,−1)⋅(−1,1)=−2(1,-1)\cdot(-1,1)=-2, 자기 자신 2, 다른 부호끼리 0. 제곱하면

K=[4400440000440044]. K=\begin{bmatrix}4&4&0&0\\4&4&0&0\\0&0&4&4\\0&0&4&4\end{bmatrix}.

답: 고유값 8,8,0,0≥08,8,0,0\ge0. z⊤Kz=4(z1+z2)2+4(z3+z4)2≥0z^\top Kz=4(z_1+z_2)^2+4(z_3+z_4)^2\ge0이므로 양의 준정부호다 (12.53).

(d) ϕ(1,1)=ϕ(−1,−1)=(1,2,1)\phi(1,1)=\phi(-1,-1)=(1,\sqrt2,1), ϕ(1,−1)=ϕ(−1,1)=(1,−2,1)\phi(1,-1)=\phi(-1,1)=(1,-\sqrt2,1). 특징 공간에서는 점이 두 개뿐이고 거리는 222\sqrt2다. 최대 마진은 그 절반 2\sqrt2이고, 초평면은 두 점의 수직이등분면이다. 법선은 (0,1,0)(0,1,0) 방향이고 중점 (1,0,1)(1,0,1)을 지나므로 b=0b=0이다. w=(0,w2,0)w=(0,w_2,0)으로 두면 yf=2w2=1yf=\sqrt2w_2=1에서 w2=12w_2=\frac1{\sqrt2}.

답: w=(0,12,0)w=(0,\frac1{\sqrt2},0), b=0b=0, 마진 1∥w∥=2\frac1{\|w\|}=\sqrt2. 결정 함수 f(x)=12⋅2x1x2=x1x2f(x)=\frac1{\sqrt2}\cdot\sqrt2x_1x_2=x_1x_2. 1·3사분면이 양성, 2·4사분면이 음성이다.

(e) 네 점 모두 마진 위(yf=1yf=1)라 서포트 벡터다. 대칭성으로 모든 αn=α\alpha_n=\alpha로 두면 ∑ynαn=0\sum y_n\alpha_n=0이 성립하고

w=∑nαynϕ(xn)=α[2(1,2,1)−2(1,−2,1)]=α(0, 42, 0). \begin{aligned} w&=\sum_n\alpha y_n\phi(x_n)\\ &=\alpha\big[2(1,\sqrt2,1)-2(1,-\sqrt2,1)\big]\\ &=\alpha(0,\ 4\sqrt2,\ 0). \end{aligned}

12=42α\frac1{\sqrt2}=4\sqrt2\alpha에서 α=18\alpha=\frac18. 커널만으로 쓰면

f(x)=18[2(x1+x2)2−2(x1−x2)2]=18⋅8x1x2=x1x2. \begin{aligned} f(x)&=\tfrac18\big[2(x_1+x_2)^2-2(x_1-x_2)^2\big]\\ &=\tfrac18\cdot8x_1x_2=x_1x_2. \end{aligned}

(d)와 같다. 쌍대 값 ∑α−12∥w∥2=0.5−0.25=0.25=12∥w∥2\sum\alpha-\frac12\|w\|^2=0.5-0.25=0.25=\frac12\|w\|^2도 맞는다. 양성 두 점이 특징 공간에서 같은 점이라 α\alpha를 둘 사이에 나누는 방법은 여럿이지만(합만 정해진다), ww와 ff는 하나로 정해진다.

(f) 1차원 점 00, 11: k(0,0)=0k(0,0)=0, k(1,1)=0k(1,1)=0, k(0,1)=−1k(0,1)=-1이므로 K=[0−1−10]K=\begin{bmatrix}0&-1\\-1&0\end{bmatrix}. z=(1,1)z=(1,1)이면 z⊤Kz=−2<0z^\top Kz=-2<0.

답: 그람 행렬이 양의 준정부호가 아니므로 (12.53)을 어겨 커널이 될 수 없다. 고유값도 ±1\pm1이다.


12-6. CC와 정규화 계수 λ\lambda의 관계

(a) (12.31)을 양수 CNCN으로 나누어도 최소점은 같다.

1N∑nmax⁡{0,1−ynf(xn)}+12CN∥w∥2. \begin{aligned} &\frac1N\sum_n\max\{0,1-y_nf(x_n)\}\\ &+\frac1{2CN}\|w\|^2. \end{aligned}

앞은 힌지 손실의 경험적 위험 (8.6), 뒤는 (8.12) 꼴의 정규화항이다.

답: λ=12CN\lambda=\frac1{2CN}. SVM은 “힌지 손실 + L2L_2 정규화"의 경험적 위험 최소화다. 교재 8.2.3절의 “정규화항은 큰 마진과 같은 생각"이라는 말이 이것이다.

(b) CC가 크면 λ\lambda가 작다. 마진 위반에 큰 벌을 주므로 마진이 좁아지고 훈련 오류가 줄지만 과적합 위험이 있다. CC가 작으면 λ\lambda가 크다. ∥w∥\|w\|를 작게(마진을 넓게) 하고 위반을 더 허용하므로 단순해지지만 과소적합할 수 있다.

(c) C→∞C\to\infty이면 ξn>0\xi_n>0이 무한히 비싸 ξn=0\xi_n=0이 강제된다. 하드 마진 (12.18)이 되고, 선형 분리가 불가능한 데이터에서는 해가 없다.


12-7. 커널 SVM으로 예측하기

f(x)=k(x1,x)−k(x2,x)=e−12∥x∥2−e−12∥x−(1,1)∥2f(x)=k(x_1,x)-k(x_2,x)=e^{-\frac12\|x\|^2}-e^{-\frac12\|x-(1,1)\|^2}.

(a)

  • x∗=(0,1)x_*=(0,1): ∥x∥2=1\|x\|^2=1, ∥x−(1,1)∥2=1\|x-(1,1)\|^2=1 → f=e−0.5−e−0.5=0f=e^{-0.5}-e^{-0.5}=0, 경계 위
  • x∗=(0,0.5)x_*=(0,0.5): 0.250.25와 1.251.25 → f=e−0.125−e−0.625=0.8825−0.5353=0.347>0f=e^{-0.125}-e^{-0.625}=0.8825-0.5353=0.347>0, +1+1
  • x∗=(2,2)x_*=(2,2): 88과 22 → f=e−4−e−1=0.0183−0.3679=−0.350<0f=e^{-4}-e^{-1}=0.0183-0.3679=-0.350<0, −1-1

(b) f=0f=0 ⇔ ∥x∥2=∥x−(1,1)∥2\|x\|^2=\|x-(1,1)\|^2 ⇔ 0=−2x1−2x2+20=-2x_1-2x_2+2.

답: 직선 x1+x2=1x_1+x_2=1. 두 서포트 벡터의 수직이등분선이다(α\alpha가 같고 RBF가 거리에만 의존하므로).

(c) 교재 12.4절: 가우시안 RBF 커널의 특징 공간은 무한 차원이라 특징을 명시적으로 쓸 수 없고, 커널로 유사도만 계산할 수 있다. 쌍대 해와 (12.38) w=∑nαnynϕ(xn)w=\sum_n\alpha_ny_n\phi(x_n) 덕분에 ⟨w,ϕ(x)⟩=∑nαnynk(xn,x)\langle w,\phi(x)\rangle=\sum_n\alpha_ny_nk(x_n,x)로 예측하므로 ww 자체는 필요 없다.


12-8. SVM 개념

(a) (12.38) 뒤 Remark: αn>0\alpha_n>0인 점이 서포트 벡터이고, 초평면을 “떠받친다”. w=∑αnynxnw=\sum\alpha_ny_nx_n에는 αn>0\alpha_n>0인 점만 들어가고, bb도 마진 위의 점으로 정한다. αn=0\alpha_n=0인 점은 제약이 느슨해서(ynf≥1y_nf\ge1) 지워도 남은 문제에서 같은 (w,b)(w,b)가 KKT 조건을 모두 만족한다. 그러니 해가 그대로다.

(b) (교재 12.3.1절 여백 주석, KKT 조건)

  • 0<αn<C0<\alpha_n<C: γn=C−αn>0\gamma_n=C-\alpha_n>0이므로 γnξn=0\gamma_n\xi_n=0에서 ξn=0\xi_n=0. 또 αn>0\alpha_n>0이라 제약이 등호로 성립해 ynf(xn)=1y_nf(x_n)=1이다. 정확히 마진 경계 위의 점이다. 그래서 (12.42)로 bb를 구할 때 이런 점을 쓴다.
  • αn=C\alpha_n=C: γn=0\gamma_n=0이라 ξn>0\xi_n>0일 수 있다. ynf=1−ξn≤1y_nf=1-\xi_n\le1이므로 마진 안이나 잘못 분류된 점이다(경계 위일 수도 있다).
  • αn=0\alpha_n=0: ynf≥1y_nf\ge1, 마진 밖이나 경계 위.

(c)

  1. 쌍대는 데이터를 내적 ⟨xi,xj⟩\langle x_i,x_j\rangle으로만 쓰므로, 이를 커널 k(xi,xj)k(x_i,x_j)로 바꿔 비선형 분류를 할 수 있다(12.4절).
  2. 변수 수가 NN개(α\alpha)이고 제약이 상자 꼴 0≤αi≤C0\le\alpha_i\le C라 다루기 쉽다. 특징 차원 DD가 데이터 수보다 클 때 특히 유리하다.

(d) 목적함수 12∥w∥2+C∑ξn\frac12\|w\|^2+C\sum\xi_n은 양의 준정부호 이차식 + 일차식이라 볼록이다. 제약 yn(⟨w,xn⟩+b)≥1−ξny_n(\langle w,x_n\rangle+b)\ge1-\xi_n, ξn≥0\xi_n\ge0은 (w,b,ξ)(w,b,\xi)에 대해 일차(아핀) 부등식이라 실현 가능 영역이 볼록이다. 따라서 볼록 이차계획 문제(교재 12.5절)이고, 국소 최적이 곧 전역 최적이다.


OX 퀴즈 답

  1. X. MML은 1N\frac1N로 나눈다 (10.1).
  2. X. 교재 (8.48)의 AIC는 큰 값을 고른다. 작을수록 좋은 것은 2M−2log⁡p2M-2\log p 꼴이다(8-8 (d)).
  3. X. MAP은 사후분포의 최빈값 하나, 즉 점추정이다(8.3.2절: 사전분포를 쓰지만 여전히 점추정만 준다).
  4. O. (9.31)~(9.34).
  5. X. 사후 예측 분산은 ϕ⊤SNϕ+σ2≥σ2\phi^\top S_N\phi+\sigma^2\ge\sigma^2이다 (9.57c). 노이즈는 데이터가 아무리 많아도 줄지 않는다.
  6. X. 반대다. 머리-머리 노드 dd(또는 그 자손)를 관측하면 aa와 cc 사이에 의존이 생긴다 (8.38, 설명해 없애기).
  7. X. 가장 큰 고유값의 고유벡터다 (10.15).
  8. O. (10.44).
  9. O. 각 nn에서 rn⋅r_{n\cdot}는 확률 벡터다(11.2절).
  10. X. 매 단계 로그 가능도를 늘리지만 국소 최댓값에 멈출 수 있다(11-8 (c)).
  11. O. (12.14)~(12.18).
  12. O. (12.38).
  13. O. (12.53).
  14. X. 반대다. 9장은 N×DN\times D, 10장은 D×ND\times N (10.46 옆 설명).
  15. X. 증거는 쓸데없이 복잡한 모델에 자동으로 벌점을 준다(8.6.2절, 그림 8.14, 9-6).