교재: 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 − 2.7 , − 0.4 , 3.7 , 분산 0.14 , 0.44 , 1.53 0.14,0.44,1.53 0.14 , 0.44 , 1.53 , 비율 0.29 , 0.29 , 0.42 0.29,0.29,0.42 0.29 , 0.29 , 0.42 , 로그 가능도 − 28.3 → − 14.4 -28.3\to-14.4 − 28.3 → − 14.4 )도 같은 코드로 재현했다. 12-2와 12-5의 SVM 해는 scipy 최적화로 다시 풀어 같은 답을 얻었다. 교재 식 번호와 그림 8.11의 화살표는 PDF 원문과 대조했다.표기: 교재와 같이 공분산의 분모는 N N N , 스칼라 함수의 기울기는 행벡터, log \log log 는 자연로그다. 교재에 없는 내용은 교재 밖 보충 이라고 표시했다.
장 문제 한 줄 요약 8 모델과 데이터 8-1 ~ 8-9 손실·가능도·사전분포·그래프·모델 선택 9 선형 회귀 9-1 ~ 9-9 정규방정식, 릿지=MAP, 베이즈 회귀, 증거, 사영 10 PCA 10-1 ~ 10-9 고유분해, 재구성 오차, SVD, N < D N<D N < D , 표준화, PPCA 11 GMM과 EM 11-1 ~ 11-8 책임도, 갱신식, EM 한 바퀴, 특이점 12 SVM 12-1 ~ 12-8 마진, 쌍대, 힌지, 커널 OX 퀴즈 1 ~ 15
8장 모델과 데이터# 8-1. 경험적 위험과 과적합# (a) f 2 ( x ) = a x 2 + b x + c f_2(x)=ax^2+bx+c f 2 ( x ) = a x 2 + b x + c 에 세 점을 넣는다.
x = 0 x=0 x = 0 : c = 0 c=0 c = 0 x = 1 x=1 x = 1 : a + b = 2 a+b=2 a + b = 2 x = 2 x=2 x = 2 : 4 a + 2 b = 2 4a+2b=2 4 a + 2 b = 2 셋째 식에서 둘째 식의 두 배를 빼면 2 a = 2 − 4 = − 2 2a=2-4=-2 2 a = 2 − 4 = − 2 , 즉 a = − 1 a=-1 a = − 1 , b = 3 b=3 b = 3 이다.
답: f 2 ( x ) = − x 2 + 3 x f_2(x)=-x^2+3x f 2 ( x ) = − x 2 + 3 x
(b) 경험적 위험 (8.6)은 손실의 평균 R emp = 1 N ∑ n ( y n − y ^ n ) 2 R_{\text{emp}}=\frac1N\sum_n(y_n-\hat y_n)^2 R emp = N 1 ∑ n ( y n − y ^ n ) 2 이다.
x x x y y y f 1 ( x ) f_1(x) f 1 ( x ) ( y − f 1 ) 2 (y-f_1)^2 ( y − f 1 ) 2 f 2 ( x ) f_2(x) f 2 ( x ) ( y − f 2 ) 2 (y-f_2)^2 ( y − f 2 ) 2 0 0 0 0 0 0 1 2 1 1 2 0 2 2 2 0 2 0
답: R emp ( f 1 ) = 1 3 ≈ 0.333 R_{\text{emp}}(f_1)=\frac13\approx0.333 R emp ( f 1 ) = 3 1 ≈ 0.333 , R emp ( f 2 ) = 0 R_{\text{emp}}(f_2)=0 R emp ( f 2 ) = 0
(c) 테스트 점에서 계산한다. f 2 ( 3 ) = − 9 + 9 = 0 f_2(3)=-9+9=0 f 2 ( 3 ) = − 9 + 9 = 0 , f 2 ( 4 ) = − 16 + 12 = − 4 f_2(4)=-16+12=-4 f 2 ( 4 ) = − 16 + 12 = − 4 .
x x x y y y f 1 ( x ) f_1(x) f 1 ( x ) ( y − f 1 ) 2 (y-f_1)^2 ( y − f 1 ) 2 f 2 ( x ) f_2(x) f 2 ( x ) ( y − f 2 ) 2 (y-f_2)^2 ( y − f 2 ) 2 3 2.5 3 0.25 0 6.25 4 4.5 4 0.25 − 4 -4 − 4 72.25
답: 테스트 위험 f 1 f_1 f 1 : 0.25 0.25 0.25 , f 2 f_2 f 2 : 6.25 + 72.25 2 = 39.25 \frac{6.25+72.25}2=39.25 2 6.25 + 72.25 = 39.25
(d) 교재 8.2.3절은 훈련 데이터로 잰 위험 R emp ( f , X train , y train ) R_{\text{emp}}(f,X_{\text{train}},y_{\text{train}}) R emp ( f , X train , y train ) 이 기대 위험 R true ( f ) R_{\text{true}}(f) R true ( f ) 를 크게 과소평가 할 때를 과적합이라 하고, 기대 위험은 테스트 데이터의 경험적 위험으로 추정한다. f 2 f_2 f 2 는 훈련 위험 0, 테스트 위험 39.25로 차이가 매우 크므로 과적합이다. 세 점에 매개변수 세 개짜리 함수를 맞추면 데이터를 “외워 버릴” 수 있다(교재: 충분히 풍부한 함수 집합이면 경험적 위험을 0으로 만들 수 있다). f 1 f_1 f 1 은 훈련 0.333, 테스트 0.25로 차이가 없다.
8-2. 가우시안 가능도, 최소제곱, 정규화 최소제곱# (a) 가우시안 밀도는 N ( y ∣ m , σ 2 ) = 1 2 π σ 2 exp ( − ( y − m ) 2 2 σ 2 ) \mathcal N(y\mid m,\sigma^2)=\frac1{\sqrt{2\pi\sigma^2}}\exp\!\big(-\frac{(y-m)^2}{2\sigma^2}\big) N ( y ∣ m , σ 2 ) = 2 π σ 2 1 exp ( − 2 σ 2 ( y − m ) 2 ) 이다. 로그를 씌우고 부호를 바꾸면
− log N ( y n ∣ x n ⊤ θ , σ 2 ) = ( y n − x n ⊤ θ ) 2 2 σ 2 + 1 2 log ( 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}
− log N ( y n ∣ x n ⊤ θ , σ 2 ) = 2 σ 2 ( y n − x n ⊤ θ ) 2 + 2 1 log ( 2 π σ 2 ) . 데이터가 독립이므로 (8.17)처럼 합하면
L ( θ ) = 1 2 σ 2 ∑ n = 1 N ( y n − x n ⊤ θ ) 2 + N 2 log ( 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}
L ( θ ) = 2 σ 2 1 n = 1 ∑ N ( y n − x n ⊤ θ ) 2 + 2 N log ( 2 π σ 2 ) . 이것이 (8.18d)다. 둘째 항은 θ \theta θ 와 무관한 상수이고, 첫째 항은 양수 1 2 σ 2 \frac1{2\sigma^2} 2 σ 2 1 에 제곱합을 곱한 것이다. 양수를 곱하거나 상수를 더해도 최소점은 그대로이므로
arg min θ L ( θ ) = arg min θ 1 N ∥ y − X θ ∥ 2 .
\arg\min_\theta\mathcal L(\theta)=\arg\min_\theta\frac1N\|y-X\theta\|^2.
arg θ min L ( θ ) = arg θ min N 1 ∥ y − Xθ ∥ 2 . 이것이 최소제곱 문제 (8.9)다.
(b) 목적함수를 전개한다.
J ( θ ) = 1 N ( y ⊤ y − 2 y ⊤ 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}
J ( θ ) = N 1 ( y ⊤ y − 2 y ⊤ Xθ + θ ⊤ X ⊤ Xθ ) + λ θ ⊤ θ . 5장의 미분 규칙 d d θ ( a ⊤ θ ) = a ⊤ \frac{d}{d\theta}(a^\top\theta)=a^\top d θ d ( a ⊤ θ ) = a ⊤ , d d θ ( θ ⊤ A θ ) = 2 θ ⊤ A \frac{d}{d\theta}(\theta^\top A\theta)=2\theta^\top A d θ d ( θ ⊤ A θ ) = 2 θ ⊤ A (A A A 대칭)를 쓰면
d J d θ = 1 N ( − 2 y ⊤ 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}
d θ dJ = N 1 ( − 2 y ⊤ X + 2 θ ⊤ X ⊤ X ) + 2 λ θ ⊤ . 이를 0 ⊤ 0^\top 0 ⊤ 으로 놓고 N 2 \frac N2 2 N 를 곱하면 θ ⊤ X ⊤ X + N λ θ ⊤ = y ⊤ X \theta^\top X^\top X+N\lambda\theta^\top=y^\top X θ ⊤ X ⊤ X + N λ θ ⊤ = y ⊤ X , 전치하면 ( X ⊤ X + N λ I ) θ = X ⊤ y (X^\top X+N\lambda I)\theta=X^\top y ( X ⊤ X + N λ I ) θ = X ⊤ y 다.
답: θ ∗ = ( X ⊤ X + N λ I ) − 1 X ⊤ y \theta^*=(X^\top X+N\lambda I)^{-1}X^\top y θ ∗ = ( X ⊤ X + N λ I ) − 1 X ⊤ y
헤시안 2 N X ⊤ X + 2 λ I \frac2NX^\top X+2\lambda I N 2 X ⊤ X + 2 λ I 가 λ > 0 \lambda>0 λ > 0 이면 양의 정부호라서 J J J 는 볼록이고, 이 정류점이 최소점이다.
(c) X ⊤ X = 1 + 4 + 9 = 14 X^\top X=1+4+9=14 X ⊤ X = 1 + 4 + 9 = 14 , X ⊤ y = 2 + 6 + 15 = 23 X^\top y=2+6+15=23 X ⊤ y = 2 + 6 + 15 = 23 , N = 3 N=3 N = 3 .
λ = 0 \lambda=0 λ = 0 : θ = 23 14 ≈ 1.643 \theta=\frac{23}{14}\approx1.643 θ = 14 23 ≈ 1.643 λ = 1 3 \lambda=\frac13 λ = 3 1 : N λ = 1 N\lambda=1 N λ = 1 이므로 θ = 23 14 + 1 = 23 15 ≈ 1.533 \theta=\frac{23}{14+1}=\frac{23}{15}\approx1.533 θ = 14 + 1 23 = 15 23 ≈ 1.533 정규화가 θ \theta θ 를 0 쪽으로 줄였다.
(d) (9.32)를 N N N 으로 나누면 1 N ∥ y − Φ θ ∥ 2 + λ 9 N ∥ θ ∥ 2 \frac1N\|y-\Phi\theta\|^2+\frac{\lambda_9}{N}\|\theta\|^2 N 1 ∥ y − Φ θ ∥ 2 + N λ 9 ∥ θ ∥ 2 이다. 따라서 λ 8 = λ 9 / N \lambda_8=\lambda_9/N λ 8 = λ 9 / N , 즉 λ 9 = N λ 8 \lambda_9=N\lambda_8 λ 9 = N λ 8 이다. 9장의 λ \lambda λ 는 8장 λ \lambda λ 의 N N N 배 다. (c)에서 λ 9 = 1 \lambda_9=1 λ 9 = 1 이고, (9.34) ( Φ ⊤ Φ + λ 9 I ) − 1 Φ ⊤ y (\Phi^\top\Phi+\lambda_9I)^{-1}\Phi^\top y ( Φ ⊤ Φ + λ 9 I ) − 1 Φ ⊤ y 도 23 15 \frac{23}{15} 15 23 을 준다.
8-3. 동전 던지기: MLE, MAP, 베이즈 추론# 앞면 수 h = 6 h=6 h = 6 , 던진 수 N = 8 N=8 N = 8 .
(a) p ( x ∣ μ ) = μ x ( 1 − μ ) 1 − x p(x\mid\mu)=\mu^x(1-\mu)^{1-x} p ( x ∣ μ ) = μ x ( 1 − μ ) 1 − x 이고 독립이므로 p ( X ∣ μ ) = μ 6 ( 1 − μ ) 2 p(\mathcal X\mid\mu)=\mu^6(1-\mu)^2 p ( X ∣ μ ) = μ 6 ( 1 − μ ) 2 이다(식 (8.33)).
L ( μ ) = − 6 log μ − 2 log ( 1 − μ ) .
\mathcal L(\mu)=-6\log\mu-2\log(1-\mu).
L ( μ ) = − 6 log μ − 2 log ( 1 − μ ) . d L d μ = − 6 μ + 2 1 − μ = 0 ⇒ 6 ( 1 − μ ) = 2 μ ⇒ μ = 6 8 .
\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}
d μ d L = − μ 6 + 1 − μ 2 = 0 ⇒ 6 ( 1 − μ ) = 2 μ ⇒ μ = 8 6 . 2계 도함수 6 μ 2 + 2 ( 1 − μ ) 2 > 0 \frac6{\mu^2}+\frac2{(1-\mu)^2}>0 μ 2 6 + ( 1 − μ ) 2 2 > 0 이라 최소점이다.
답: μ ML = 3 4 = 0.75 \mu_{\text{ML}}=\frac34=0.75 μ ML = 4 3 = 0.75 (L ( 0.75 ) ≈ 4.499 \mathcal L(0.75)\approx4.499 L ( 0.75 ) ≈ 4.499 )
(b) Beta ( 2 , 2 ) \text{Beta}(2,2) Beta ( 2 , 2 ) 밀도는 μ ( 1 − μ ) \mu(1-\mu) μ ( 1 − μ ) 에 비례한다. 음의 로그 사후분포는 상수를 빼고
− log p ( μ ∣ X ) = − 7 log μ − 3 log ( 1 − μ ) + const .
\begin{aligned}
&-\log p(\mu\mid\mathcal X)\\
&=-7\log\mu-3\log(1-\mu)+\text{const}.
\end{aligned}
− log p ( μ ∣ X ) = − 7 log μ − 3 log ( 1 − μ ) + const . 미분해서 0: − 7 μ + 3 1 − μ = 0 ⇒ 7 ( 1 − μ ) = 3 μ ⇒ μ = 7 10 -\frac7\mu+\frac3{1-\mu}=0\Rightarrow7(1-\mu)=3\mu\Rightarrow\mu=\frac7{10} − μ 7 + 1 − μ 3 = 0 ⇒ 7 ( 1 − μ ) = 3 μ ⇒ μ = 10 7 .
답: μ MAP = 0.7 \mu_{\text{MAP}}=0.7 μ MAP = 0.7 . 일반식은 h + α − 1 N + α + β − 2 \frac{h+\alpha-1}{N+\alpha+\beta-2} N + α + β − 2 h + α − 1 이다.
(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}
p ( μ ∣ X ) ∝ μ 6 ( 1 − μ ) 2 ⋅ μ ( 1 − μ ) = μ 7 ( 1 − μ ) 3 . 답: Beta ( 8 , 4 ) \text{Beta}(8,4) Beta ( 8 , 4 ) (일반식 Beta ( α + h , β + N − h ) \text{Beta}(\alpha+h,\ \beta+N-h) Beta ( α + h , β + N − h ) ). 베타 사전분포가 베르누이 가능도의 켤레라서 사후분포도 베타다.
(d) (8.23)처럼 매개변수를 적분해서 없앤다.
p ( x ∗ = 1 ∣ X ) = ∫ 0 1 μ p ( μ ∣ X ) d μ = E [ μ ∣ X ] = 8 8 + 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}
p ( x ∗ = 1 ∣ X ) = ∫ 0 1 μ p ( μ ∣ X ) d μ = E [ μ ∣ X ] = 8 + 4 8 . 답: 2 3 ≈ 0.667 \frac23\approx0.667 3 2 ≈ 0.667 . ML 값 0.75, MAP 값 0.7보다 0.5 쪽에 가깝다.
MAP 0.7은 사후분포 Beta ( 8 , 4 ) \text{Beta}(8,4) Beta ( 8 , 4 ) 의 최빈값 8 − 1 8 + 4 − 2 \frac{8-1}{8+4-2} 8 + 4 − 2 8 − 1 이고, 베이즈 예측 2 3 \frac23 3 2 은 평균이다. 사후분포가 비대칭이라 둘이 다르다. 베이즈 예측은 “μ \mu μ 가 0.75일 수도, 0.5일 수도 있다"는 불확실성을 평균에 반영한다. 데이터가 8개뿐이라 이 차이가 크다. 그림 8.10(c)는 바로 이 모델(α , β \alpha,\beta α , β 를 고정한 초사전분포를 μ \mu μ 에 둔 그래프)이다. 8-4. 인수분해와 그래프# (a) 예제 8.7의 규칙: 조건부 분포 하나마다, 조건에 들어간 변수에서 그 변수로 화살표를 긋는다.
p ( b ∣ a ) p(b\mid a) p ( b ∣ a ) : a → b a\to b a → b p ( c ∣ a ) p(c\mid a) p ( c ∣ a ) : a → c a\to c a → c p ( d ∣ b , c ) p(d\mid b,c) p ( d ∣ b , c ) : b → d b\to d b → d , c → d c\to d c → d 답: a → b a\to b a → b , a → c a\to c a → c , b → d b\to d b → d , c → d c\to d c → d (마름모 모양)
(b) (8.31): 각 노드를 부모가 주어진 조건부 분포로 쓰고 모두 곱한다. 부모는 x 1 x_1 x 1 : 없음, x 2 x_2 x 2 : x 1 x_1 x 1 , x 3 x_3 x 3 : x 1 x_1 x 1 , x 4 x_4 x 4 : x 2 , x 3 x_2,x_3 x 2 , x 3 , x 5 x_5 x 5 : x 4 x_4 x 4 .
답: p ( x 1 , … , x 5 ) = p ( x 1 ) p ( x 2 ∣ x 1 ) p ( x 3 ∣ x 1 ) p ( x 4 ∣ x 2 , x 3 ) p ( x 5 ∣ x 4 ) 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) p ( x 1 , … , x 5 ) = p ( x 1 ) p ( x 2 ∣ x 1 ) p ( x 3 ∣ x 1 ) p ( x 4 ∣ x 2 , x 3 ) p ( x 5 ∣ x 4 )
(c) (교재 밖 보충 )
표 하나: 경우의 수 2 5 = 32 2^5=32 2 5 = 32 개의 확률, 합이 1이라는 제약 하나 → 31개 인수분해: 이진 변수의 부모가 k k k 개이면 부모 값 조합 2 k 2^k 2 k 개마다 p ( x = 1 ∣ ⋅ ) p(x=1\mid\cdot) p ( x = 1 ∣ ⋅ ) 하나가 필요하다. x 1 x_1 x 1 : 1, x 2 x_2 x 2 : 2, x 3 x_3 x 3 : 2, x 4 x_4 x 4 : 4, x 5 x_5 x 5 : 2 → 11개 그래프가 말해 주는 조건부 독립 덕분에 필요한 수가 크게 준다. 교재가 그래프 모델을 “간결한 표현"이라고 부르는 이유다.
8-5. d-분리 판정# 규칙(8.5.2절): A A A 의 노드에서 B B B 의 노드로 가는 모든 경로(화살표 방향을 무시한 길)를 본다. 경로 위의 한 노드에서
화살표가 머리-꼬리 (→ ∙ → \to\bullet\to → ∙ → )나 꼬리-꼬리 (← ∙ → \leftarrow\bullet\to ← ∙ → )로 만나고 그 노드가 조건 집합 C C C 에 있으면, 경로가 막힌다. 화살표가 머리-머리 (→ ∙ ← \to\bullet\leftarrow → ∙ ← )로 만나고 그 노드도, 그 자손도 C C C 에 없으면, 경로가 막힌다. 모든 경로가 막혀야 A ⊥ ⊥ B ∣ C A\perp\!\!\!\perp B\mid C A ⊥ ⊥ B ∣ C 다. 경로 하나라도 열려 있으면 그래프만으로는 독립이 보장되지 않는다.
그림 8.11: a → b → c a\to b\to c a → b → c , a → d ← c a\to d\leftarrow c a → d ← c , d → e d\to e d → e . d d d 의 자손은 e e e 뿐이다.
(a)
(8.35) b ⊥ ⊥ d ∣ { a , c } b\perp\!\!\!\perp d\mid\{a,c\} b ⊥ ⊥ d ∣ { a , c } : 경로 ① b ← a → d b\leftarrow a\to d b ← a → d : a a a 에서 꼬리-꼬리, a ∈ C a\in C a ∈ C → 막힘. 경로 ② b → c → d b\to c\to d b → c → d : c c c 에서 머리-꼬리, c ∈ C c\in C c ∈ C → 막힘. 모두 막혔으므로 성립 .(8.36) a ⊥ ⊥ c ∣ { b } a\perp\!\!\!\perp c\mid\{b\} a ⊥ ⊥ c ∣ { b } : 경로 ① a → b → c a\to b\to c a → b → c : b b b 에서 머리-꼬리, b ∈ C b\in C b ∈ C → 막힘. 경로 ② a → d ← c a\to d\leftarrow c a → d ← c : d d d 에서 머리-머리, d ∉ C d\notin C d ∈ / C 이고 자손 e ∉ C e\notin C e ∈ / C → 막힘. 성립 .(8.37) b ⊥̸ ⊥ d ∣ { c } b\not\perp\!\!\!\perp d\mid\{c\} b ⊥ ⊥ d ∣ { c } : 경로 b ← a → d b\leftarrow a\to d b ← a → d 에서 a a a 는 꼬리-꼬리인데 a ∉ C a\notin C a ∈ / C → 열림. 열린 경로가 있으므로 독립이 아니다. 교재 문장이 맞다. (8.38) a ⊥̸ ⊥ c ∣ { b , e } a\not\perp\!\!\!\perp c\mid\{b,e\} a ⊥ ⊥ c ∣ { b , e } : 경로 a → d ← c a\to d\leftarrow c a → d ← c 에서 d d d 는 머리-머리이고 d ∉ C d\notin C d ∈ / C 이지만 자손 e ∈ C e\in C e ∈ C → 열림. 교재 문장이 맞다. e e e 를 보면 d d d 에 대한 정보가 생기고, 그러면 d d d 의 두 원인 a a a 와 c c c 가 서로 얽힌다(“설명해 없애기”, explaining away).(b)
(i) a ⊥ ⊥ c a\perp\!\!\!\perp c a ⊥ ⊥ c (조건 없음): a → b → c a\to b\to c a → b → c 에서 b b b 는 머리-꼬리이고 b ∉ C b\notin C b ∈ / C → 열림. 성립하지 않음. (a → d ← c a\to d\leftarrow c a → d ← c 는 막혀 있지만, 열린 경로가 하나라도 있으면 안 된다.)(ii) b ⊥ ⊥ e ∣ { d } b\perp\!\!\!\perp e\mid\{d\} b ⊥ ⊥ e ∣ { d } : e e e 의 이웃은 d d d 뿐이라 모든 경로가 ⋯ d → e \cdots d\to e ⋯ d → e 로 끝난다. b ← a → d → e b\leftarrow a\to d\to e b ← a → d → e 와 b → c → d → e b\to c\to d\to e b → c → d → e 둘 다 d d d 에서 머리-꼬리이고 d ∈ C d\in C d ∈ C → 막힘. 성립. (iii) a ⊥ ⊥ e ∣ { b , c } a\perp\!\!\!\perp e\mid\{b,c\} a ⊥ ⊥ e ∣ { b , c } : a → d → e a\to d\to e a → d → e 에서 d d d 는 머리-꼬리이고 d ∉ C d\notin C d ∈ / C → 열림. 성립하지 않음. (iv) b ⊥ ⊥ e ∣ { a , c } b\perp\!\!\!\perp e\mid\{a,c\} b ⊥ ⊥ e ∣ { a , c } : b ← a → d → e b\leftarrow a\to d\to e b ← a → d → e 는 a a a (꼬리-꼬리, a ∈ C a\in C a ∈ C )에서 막힘. b → c → d → e b\to c\to d\to e b → c → d → e 는 c c c (머리-꼬리, c ∈ C c\in C c ∈ C )에서 막힘. 성립. 8-6. 잠재변수 모델: 주변화와 사후분포# (a) z z z 가 이산이라 (8.25)의 적분이 합이 된다.
p ( x = 1 ) = ∑ z p ( 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}
p ( x = 1 ) = z ∑ p ( x = 1 ∣ z ) p ( z ) = 0.3 ( 0.2420 ) + 0.7 ( 0.0540 ) . = 0.0726 + 0.0378 =0.0726+0.0378 = 0.0726 + 0.0378 이다.
답: p ( x = 1 ) ≈ 0.1104 p(x=1)\approx0.1104 p ( x = 1 ) ≈ 0.1104
(b) 베이즈 정리 (8.28):
p ( z = 1 ∣ x = 1 ) = p ( x = 1 ∣ z = 1 ) p ( z = 1 ) p ( x = 1 ) = 0.0726 0.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}
p ( z = 1 ∣ x = 1 ) = p ( x = 1 ) p ( x = 1 ∣ z = 1 ) p ( z = 1 ) = 0.1104 0.0726 . 답: ≈ 0.658 \approx0.658 ≈ 0.658
(c) 0.3에서 0.658로 커졌다. x = 1 x=1 x = 1 은 성분 1의 평균 0에서 1, 성분 2의 평균 3에서 2만큼 떨어져 있다. 가능도 비는 N ( 1 ∣ 0 , 1 ) N ( 1 ∣ 3 , 1 ) = e − 0.5 e − 2 = e 1.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 N ( 1 ∣ 3 , 1 ) N ( 1 ∣ 0 , 1 ) = e − 2 e − 0.5 = e 1.5 ≈ 4.48 이다. 사후 오즈 = 사전 오즈 × 가능도 비 = 0.3 0.7 × 4.48 ≈ 1.92 =\frac{0.3}{0.7}\times4.48\approx1.92 = 0.7 0.3 × 4.48 ≈ 1.92 이고, 확률로 바꾸면 1.92 2.92 ≈ 0.658 \frac{1.92}{2.92}\approx0.658 2.92 1.92 ≈ 0.658 이다. 11장의 책임도가 바로 이 계산이다.
8-7. 베이즈 팩터로 모델 비교# (a) 공정한 동전에서 정해진 수열 하나가 나올 확률이다.
답: p ( D ∣ M 1 ) = 0.5 8 = 1 256 ≈ 0.003906 p(\mathcal D\mid M_1)=0.5^8=\frac1{256}\approx0.003906 p ( D ∣ M 1 ) = 0. 5 8 = 256 1 ≈ 0.003906
(b) 균등 사전분포의 밀도는 1이므로 (8.44)는
p ( D ∣ M 2 ) = ∫ 0 1 μ 6 ( 1 − μ ) 2 ⋅ 1 d μ .
p(\mathcal D\mid M_2)=\int_0^1\mu^6(1-\mu)^2\cdot1\,d\mu.
p ( D ∣ M 2 ) = ∫ 0 1 μ 6 ( 1 − μ ) 2 ⋅ 1 d μ . 힌트에서 a = 7 a=7 a = 7 , b = 3 b=3 b = 3 : 6 ! 2 ! 9 ! = 720 ⋅ 2 362880 = 1 252 \frac{6!\,2!}{9!}=\frac{720\cdot2}{362880}=\frac1{252} 9 ! 6 ! 2 ! = 362880 720 ⋅ 2 = 252 1 .
답: 1 252 ≈ 0.003968 \frac1{252}\approx0.003968 252 1 ≈ 0.003968
(c) 베이즈 팩터 (8.46)~(8.47):
p ( D ∣ M 2 ) p ( D ∣ M 1 ) = 1 / 252 1 / 256 = 256 252 .
\frac{p(\mathcal D\mid M_2)}{p(\mathcal D\mid M_1)}=\frac{1/252}{1/256}=\frac{256}{252}.
p ( D ∣ M 1 ) p ( D ∣ M 2 ) = 1/256 1/252 = 252 256 . 답: ≈ 1.016 \approx1.016 ≈ 1.016 . 1보다 아주 조금 크므로 규칙대로라면 M 2 M_2 M 2 를 고르지만, 사실상 데이터가 두 모델을 거의 가르지 못한다는 뜻이다.
(d) M 2 M_2 M 2 의 최대 가능도는 μ = 0.75 \mu=0.75 μ = 0.75 에서
0.75 6 × 0.25 2 ≈ 0.1780 × 0.0625 ≈ 0.01112.
\begin{aligned}
0.75^6\times0.25^2&\approx0.1780\times0.0625\\
&\approx0.01112.
\end{aligned}
0.7 5 6 × 0.2 5 2 ≈ 0.1780 × 0.0625 ≈ 0.01112. p ( D ∣ M 1 ) p(\mathcal D\mid M_1) p ( D ∣ M 1 ) 의 약 2.85배 다. 최대가능도로 비교하면 M 2 M_2 M 2 가 분명히 이긴다. M 1 M_1 M 1 은 M 2 M_2 M 2 안의 한 점(μ = 0.5 \mu=0.5 μ = 0.5 )이라서 M 2 M_2 M 2 의 최댓값은 언제나 M 1 M_1 M 1 이상이다. 그런데 증거(주변 가능도)는 최댓값이 아니라 사전분포로 평균한 가능도 다. M 2 M_2 M 2 는 μ = 0.1 \mu=0.1 μ = 0.1 처럼 이 데이터를 잘 설명하지 못하는 값에도 사전 확률을 나눠 주므로 평균이 내려간다. 복잡한 모델이 자동으로 벌점을 받는 것, 이것이 8.6.2절의 “자동 오컴의 면도날"이다.
(e) 8번 모두 앞면이면 p ( D ∣ M 1 ) = 1 256 p(\mathcal D\mid M_1)=\frac1{256} p ( D ∣ M 1 ) = 256 1 , p ( D ∣ M 2 ) = ∫ 0 1 μ 8 d μ = 1 9 p(\mathcal D\mid M_2)=\int_0^1\mu^8d\mu=\frac19 p ( D ∣ M 2 ) = ∫ 0 1 μ 8 d μ = 9 1 .
베이즈 팩터 = 1 / 9 1 / 256 = 256 9 ≈ 28.4.
\text{베이즈 팩터}=\frac{1/9}{1/256}=\frac{256}9\approx28.4.
베이즈 팩터 = 1/256 1/9 = 9 256 ≈ 28.4. 사후 오즈 = 사전 오즈 × 베이즈 팩터 (8.46):
p ( M 2 ∣ D ) p ( M 1 ∣ D ) = 0.2 0.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.
p ( M 1 ∣ D ) p ( M 2 ∣ D ) = 0.8 0.2 × 28.4 ≈ 7.11. 답: 베이즈 팩터 ≈ 28.4 \approx28.4 ≈ 28.4 , 사후 오즈 ≈ 7.11 \approx7.11 ≈ 7.11 (즉 p ( M 2 ∣ D ) ≈ 7.11 8.11 ≈ 0.877 p(M_2\mid\mathcal D)\approx\frac{7.11}{8.11}\approx0.877 p ( M 2 ∣ D ) ≈ 8.11 7.11 ≈ 0.877 ). 사전에 공정한 동전을 4배 더 믿었어도 데이터가 이를 뒤집는다.
8-8. AIC와 BIC# (a) AIC = log p − M =\log p-M = log p − M :
A A A : − 120 − 2 = − 122 -120-2=-122 − 120 − 2 = − 122 B B B : − 116 − 4 = − 120 -116-4=-120 − 116 − 4 = − 120 C C C : − 111 − 10 = − 121 -111-10=-121 − 111 − 10 = − 121 답: 교재는 값이 큰 모델을 고르므로 B B B .
(b) 1 2 log N = 1 2 ( 4.605 ) = 2.303 \frac12\log N=\frac12(4.605)=2.303 2 1 log N = 2 1 ( 4.605 ) = 2.303 . BIC = log p − 2.303 M =\log p-2.303M = log p − 2.303 M :
A A A : − 120 − 4.61 = − 124.61 -120-4.61=-124.61 − 120 − 4.61 = − 124.61 B B B : − 116 − 9.21 = − 125.21 -116-9.21=-125.21 − 116 − 9.21 = − 125.21 C C C : − 111 − 23.03 = − 134.03 -111-23.03=-134.03 − 111 − 23.03 = − 134.03 답: A A A .
(c) 매개변수 하나당 벌점이 AIC는 1, BIC는 1 2 log N \frac12\log N 2 1 log N 이다. N = 100 N=100 N = 100 이면 2.303이고, N > e 2 ≈ 7.4 N>e^2\approx7.4 N > e 2 ≈ 7.4 이면 BIC 벌점이 더 크다. A → B A\to B A → B 로 가면 로그 가능도가 4 늘고 매개변수가 2개 는다. AIC 벌점은 2라서 이득이 크고(B B B 선택), BIC 벌점은 4.61이라서 손해다(A A A 선택). 교재: “BIC는 AIC보다 모델 복잡도를 더 무겁게 벌한다.”
(d) 2 M − 2 log p = − 2 ( log p − M ) 2M-2\log p=-2(\log p-M) 2 M − 2 log p = − 2 ( log p − M ) , 즉 교재 AIC에 − 2 -2 − 2 를 곱한 값이다. 음수를 곱하면 순서가 뒤집히므로 “교재 AIC 최대” ⇔ “흔한 AIC 최소"이고, 고르는 모델은 같다. 이 문제에서는 244, 240, 242로 B B B 가 가장 작다. BIC도 흔히 M log N − 2 log p M\log N-2\log p M log N − 2 log p 로 쓰는데, 같은 관계다.
8-9. 교차 검증과 중첩 교차 검증# (a) (8.39): 다섯 조각 값의 평균. 표준편차는 편차 제곱의 평균(분모 K = 5 K=5 K = 5 )의 제곱근이다.
λ = 0.01 \lambda=0.01 λ = 0.01 : 평균 16.0 5 = 3.2 \frac{16.0}5=3.2 5 16.0 = 3.2 . 편차 − 0.3 , 0.2 , − 0.1 , 0.4 , − 0.2 -0.3,0.2,-0.1,0.4,-0.2 − 0.3 , 0.2 , − 0.1 , 0.4 , − 0.2 , 제곱합 0.34 0.34 0.34 , σ = 0.068 = 0.261 \sigma=\sqrt{0.068}=0.261 σ = 0.068 = 0.261 , 표준오차 0.261 5 = 0.117 \frac{0.261}{\sqrt5}=0.117 5 0.261 = 0.117 λ = 0.1 \lambda=0.1 λ = 0.1 : 평균 14.0 5 = 2.8 \frac{14.0}5=2.8 5 14.0 = 2.8 . 편차 − 0.2 , 0.1 , − 0.1 , 0.2 , 0 -0.2,0.1,-0.1,0.2,0 − 0.2 , 0.1 , − 0.1 , 0.2 , 0 , 제곱합 0.10 0.10 0.10 , σ = 0.02 = 0.141 \sigma=\sqrt{0.02}=0.141 σ = 0.02 = 0.141 , 표준오차 0.063 0.063 0.063 λ = 1 \lambda=1 λ = 1 : 평균 15.5 5 = 3.1 \frac{15.5}5=3.1 5 15.5 = 3.1 . 편차 − 0.1 , 0 , − 0.2 , 0.1 , 0.2 -0.1,0,-0.2,0.1,0.2 − 0.1 , 0 , − 0.2 , 0.1 , 0.2 , 제곱합 0.10 0.10 0.10 , σ = 0.141 \sigma=0.141 σ = 0.141 , 표준오차 0.063 0.063 0.063 (분모를 K − 1 K-1 K − 1 로 하면 표준편차가 약간 커지지만 결론은 같다.)
(b) λ = 0.1 \lambda=0.1 λ = 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 − 1 1 0 1 1 1 2 ] , y = [ 0 1 1 3 ] .
\Phi=\begin{bmatrix}1&-1\\1&0\\1&1\\1&2\end{bmatrix},\quad y=\begin{bmatrix}0\\1\\1\\3\end{bmatrix}.
Φ = 1 1 1 1 − 1 0 1 2 , y = 0 1 1 3 . Φ ⊤ Φ = [ N ∑ x ∑ x ∑ x 2 ] \Phi^\top\Phi=\begin{bmatrix}N&\sum x\\\sum x&\sum x^2\end{bmatrix} Φ ⊤ Φ = [ N ∑ x ∑ x ∑ x 2 ] 이고 ∑ x = 2 \sum x=2 ∑ x = 2 , ∑ x 2 = 1 + 0 + 1 + 4 = 6 \sum x^2=1+0+1+4=6 ∑ x 2 = 1 + 0 + 1 + 4 = 6 이다. Φ ⊤ y = [ ∑ y ∑ x y ] \Phi^\top y=\begin{bmatrix}\sum y\\\sum xy\end{bmatrix} Φ ⊤ y = [ ∑ y ∑ x y ] 이고 ∑ y = 5 \sum y=5 ∑ y = 5 , ∑ x y = 0 + 0 + 1 + 6 = 7 \sum xy=0+0+1+6=7 ∑ x y = 0 + 0 + 1 + 6 = 7 이다.
답: Φ ⊤ Φ = [ 4 2 2 6 ] \Phi^\top\Phi=\begin{bmatrix}4&2\\2&6\end{bmatrix} Φ ⊤ Φ = [ 4 2 2 6 ] , Φ ⊤ y = [ 5 7 ] \Phi^\top y=\begin{bmatrix}5\\7\end{bmatrix} Φ ⊤ y = [ 5 7 ]
(b) det = 24 − 4 = 20 \det=24-4=20 det = 24 − 4 = 20 , ( Φ ⊤ Φ ) − 1 = 1 20 [ 6 − 2 − 2 4 ] (\Phi^\top\Phi)^{-1}=\frac1{20}\begin{bmatrix}6&-2\\-2&4\end{bmatrix} ( Φ ⊤ Φ ) − 1 = 20 1 [ 6 − 2 − 2 4 ] .
θ ML = 1 20 [ 30 − 14 − 10 + 28 ] = 1 20 [ 16 18 ] .
\theta_{\text{ML}}=\frac1{20}\begin{bmatrix}30-14\\-10+28\end{bmatrix}=\frac1{20}\begin{bmatrix}16\\18\end{bmatrix}.
θ ML = 20 1 [ 30 − 14 − 10 + 28 ] = 20 1 [ 16 18 ] . 답: θ ML = [ 0.8 , 0.9 ] ⊤ \theta_{\text{ML}}=[0.8,\ 0.9]^\top θ ML = [ 0.8 , 0.9 ] ⊤ , 즉 f ( x ) = 0.8 + 0.9 x f(x)=0.8+0.9x f ( x ) = 0.8 + 0.9 x
(c) 예측 Φ θ = [ − 0.1 , 0.8 , 1.7 , 2.6 ] \Phi\theta=[-0.1,\ 0.8,\ 1.7,\ 2.6] Φ θ = [ − 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] r = [ 0.1 , 0.2 , − 0.7 , 0.4 ] .
첫째 열 [ 1 , 1 , 1 , 1 ] [1,1,1,1] [ 1 , 1 , 1 , 1 ] 과의 내적: 0.1 + 0.2 − 0.7 + 0.4 = 0 0.1+0.2-0.7+0.4=0 0.1 + 0.2 − 0.7 + 0.4 = 0 둘째 열 [ − 1 , 0 , 1 , 2 ] [-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.1 + 0 − 0.7 + 0.8 = 0 둘 다 0이다. 정규방정식 Φ ⊤ ( y − Φ θ ) = 0 \Phi^\top(y-\Phi\theta)=0 Φ ⊤ ( y − Φ θ ) = 0 을 그대로 확인한 것이다(9.4절의 사영 해석).
(d) (9.22): σ ML 2 = 1 4 ( 0.01 + 0.04 + 0.49 + 0.16 ) = 0.70 4 \sigma^2_{\text{ML}}=\frac14(0.01+0.04+0.49+0.16)=\frac{0.70}4 σ ML 2 = 4 1 ( 0.01 + 0.04 + 0.49 + 0.16 ) = 4 0.70 .
답: σ ML 2 = 0.175 \sigma^2_{\text{ML}}=0.175 σ ML 2 = 0.175 , RMSE (9.23) = 0.175 ≈ 0.418 =\sqrt{0.175}\approx0.418 = 0.175 ≈ 0.418
9-2. 노이즈 분산의 최대가능도# (a) 잔차 제곱합을 R = ∑ n ( y n − ϕ ⊤ ( x n ) θ ) 2 R=\sum_n(y_n-\phi^\top(x_n)\theta)^2 R = ∑ n ( y n − ϕ ⊤ ( x n ) θ ) 2 이라 하자. 로그 가능도는
log p = − N 2 log ( 2 π ) − N 2 log σ 2 − R 2 σ 2 .
\begin{aligned}
\log p&=-\frac N2\log(2\pi)-\frac N2\log\sigma^2\\
&\quad-\frac{R}{2\sigma^2}.
\end{aligned}
log p = − 2 N log ( 2 π ) − 2 N log σ 2 − 2 σ 2 R . σ 2 \sigma^2 σ 2 를 하나의 변수로 보고 미분하면 (9.21)
∂ log p ∂ σ 2 = − N 2 σ 2 + R 2 σ 4 = 0.
\frac{\partial\log p}{\partial\sigma^2}=-\frac N{2\sigma^2}+\frac R{2\sigma^4}=0.
∂ σ 2 ∂ log p = − 2 σ 2 N + 2 σ 4 R = 0. 양변에 2 σ 4 2\sigma^4 2 σ 4 를 곱하면 − N σ 2 + R = 0 -N\sigma^2+R=0 − N σ 2 + R = 0 이다.
답: σ ML 2 = R N = 1 N ∑ n ( y n − ϕ ⊤ ( x n ) θ ) 2 \sigma^2_{\text{ML}}=\frac RN=\frac1N\sum_n(y_n-\phi^\top(x_n)\theta)^2 σ ML 2 = N R = N 1 ∑ n ( y n − ϕ ⊤ ( x n ) θ ) 2 (9.22)
(b) v = σ 2 v=\sigma^2 v = σ 2 로 두면 도함수는 R − N v 2 v 2 \frac{R-Nv}{2v^2} 2 v 2 R − N v 이다. v < R / N v<R/N v < R / N 이면 양수(증가), v > R / N v>R/N v > R / N 이면 음수(감소)이므로 v = R / N v=R/N v = R / N 은 최대점이다.
(c) σ ML 2 = R / N \sigma^2_{\text{ML}}=R/N σ ML 2 = R / N 을 넣으면 마지막 항이 R 2 R / N = N 2 \frac{R}{2R/N}=\frac N2 2 R / N R = 2 N 가 된다.
log p max = − N 2 log ( 2 π σ ML 2 ) − N 2 .
\log p_{\max}=-\frac N2\log(2\pi\sigma^2_{\text{ML}})-\frac N2.
log p m a x = − 2 N log ( 2 π σ ML 2 ) − 2 N . 9-1의 숫자: N = 4 N=4 N = 4 , 2 π ( 0.175 ) = 1.0996 2\pi(0.175)=1.0996 2 π ( 0.175 ) = 1.0996 , log 1.0996 = 0.0949 \log1.0996=0.0949 log 1.0996 = 0.0949 .
답: − 2 ( 0.0949 ) − 2 ≈ − 2.190 -2(0.0949)-2\approx-2.190 − 2 ( 0.0949 ) − 2 ≈ − 2.190
9-3. 다항 특징과 과적합# (a) (9.17) 형식으로 행마다 [ 1 , x n , x n 2 ] [1,x_n,x_n^2] [ 1 , x n , x n 2 ] 을 쓴다.
Φ = [ 1 − 1 1 1 0 0 1 1 1 ] .
\Phi=\begin{bmatrix}1&-1&1\\1&0&0\\1&1&1\end{bmatrix}.
Φ = 1 1 1 − 1 0 1 1 0 1 . Φ \Phi Φ 가 정사각이고 가역(서로 다른 x x x 의 방데르몽드 행렬)이므로 ( Φ ⊤ Φ ) − 1 Φ ⊤ = Φ − 1 (\Phi^\top\Phi)^{-1}\Phi^\top=\Phi^{-1} ( Φ ⊤ Φ ) − 1 Φ ⊤ = Φ − 1 이고, θ ML \theta_{\text{ML}} θ ML 은 Φ θ = y \Phi\theta=y Φ θ = y 의 해다.
둘째 행: θ 0 = 0 \theta_0=0 θ 0 = 0 첫째·셋째 행: − θ 1 + θ 2 = 2 -\theta_1+\theta_2=2 − θ 1 + θ 2 = 2 , θ 1 + θ 2 = 1 \theta_1+\theta_2=1 θ 1 + θ 2 = 1 → θ 2 = 1.5 \theta_2=1.5 θ 2 = 1.5 , θ 1 = − 0.5 \theta_1=-0.5 θ 1 = − 0.5 답: θ ML = [ 0 , − 0.5 , 1.5 ] ⊤ \theta_{\text{ML}}=[0,\ -0.5,\ 1.5]^\top θ ML = [ 0 , − 0.5 , 1.5 ] ⊤ , f ( x ) = − 0.5 x + 1.5 x 2 f(x)=-0.5x+1.5x^2 f ( x ) = − 0.5 x + 1.5 x 2
(b) Φ = [ 1 − 1 1 0 1 1 ] \Phi=\begin{bmatrix}1&-1\\1&0\\1&1\end{bmatrix} Φ = 1 1 1 − 1 0 1 , Φ ⊤ Φ = [ 3 0 0 2 ] \Phi^\top\Phi=\begin{bmatrix}3&0\\0&2\end{bmatrix} Φ ⊤ Φ = [ 3 0 0 2 ] (∑ x = 0 \sum x=0 ∑ x = 0 이라 대각), Φ ⊤ y = [ 3 − 2 + 1 ] = [ 3 − 1 ] \Phi^\top y=\begin{bmatrix}3\\-2+1\end{bmatrix}=\begin{bmatrix}3\\-1\end{bmatrix} Φ ⊤ y = [ 3 − 2 + 1 ] = [ 3 − 1 ] .
θ = [ 3 / 3 , − 1 / 2 ] = [ 1 , − 0.5 ] \theta=[3/3,\ -1/2]=[1,\ -0.5] θ = [ 3/3 , − 1/2 ] = [ 1 , − 0.5 ] . 예측 1.5 , 1 , 0.5 1.5,\ 1,\ 0.5 1.5 , 1 , 0.5 , 잔차 0.5 , − 1 , 0.5 0.5,\ -1,\ 0.5 0.5 , − 1 , 0.5 , 제곱합 1.5 1.5 1.5 .
답: f ( x ) = 1 − 0.5 x f(x)=1-0.5x f ( x ) = 1 − 0.5 x , 훈련 RMSE = 1.5 / 3 = 0.5 ≈ 0.707 =\sqrt{1.5/3}=\sqrt{0.5}\approx0.707 = 1.5/3 = 0.5 ≈ 0.707
(c) 2차식은 세 점을 모두 지나므로 훈련 RMSE = 0 .
(d) x = 2 x=2 x = 2 에서
2차: − 1 + 6 = 5 -1+6=5 − 1 + 6 = 5 , 오차 1.5 − 5 = − 3.5 1.5-5=-3.5 1.5 − 5 = − 3.5 (제곱 12.25) 직선: 1 − 1 = 0 1-1=0 1 − 1 = 0 , 오차 1.5 1.5 1.5 (제곱 2.25) 매개변수 수가 데이터 수와 같으면(K = N K=N K = N ) 모든 점을 지나 훈련 오차가 0이 되지만, 새 점에서는 훨씬 틀린다. 그림 9.6에서 훈련 RMSE는 차수를 올려도 절대 늘지 않는다(차수가 낮은 모델이 높은 모델에 포함되므로). 반면 테스트 RMSE는 처음엔 줄다가 차수가 너무 높아지면 크게 는다. 이 문제는 그 그림의 양 끝을 작은 숫자로 본 것이다.
9-4. MAP 추정과 릿지 회귀# (a) 베이즈 정리의 로그 (9.25)에 가능도와 사전분포를 넣으면 (9.28)
− log p ( θ ∣ X , Y ) = ∥ y − Φ θ ∥ 2 2 σ 2 + θ ⊤ θ 2 b 2 + 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}
− log p ( θ ∣ X , Y ) = 2 σ 2 ∥ y − Φ θ ∥ 2 + 2 b 2 θ ⊤ θ + const . 8-2(b)와 같은 규칙으로 미분하면 (9.29)
d d θ = 1 σ 2 ( θ ⊤ Φ ⊤ Φ − y ⊤ Φ ) + 1 b 2 θ ⊤ .
\frac{d}{d\theta}=\frac1{\sigma^2}\big(\theta^\top\Phi^\top\Phi-y^\top\Phi\big)+\frac1{b^2}\theta^\top.
d θ d = σ 2 1 ( θ ⊤ Φ ⊤ Φ − y ⊤ Φ ) + b 2 1 θ ⊤ . 0 ⊤ 0^\top 0 ⊤ 으로 놓고 σ 2 \sigma^2 σ 2 를 곱하면 θ ⊤ ( Φ ⊤ Φ + σ 2 b 2 I ) = y ⊤ Φ \theta^\top\big(\Phi^\top\Phi+\frac{\sigma^2}{b^2}I\big)=y^\top\Phi θ ⊤ ( Φ ⊤ Φ + b 2 σ 2 I ) = y ⊤ Φ . 괄호 안 행렬이 대칭이므로 전치하면
답: θ MAP = ( Φ ⊤ Φ + σ 2 b 2 I ) − 1 Φ ⊤ y \theta_{\text{MAP}}=\big(\Phi^\top\Phi+\frac{\sigma^2}{b^2}I\big)^{-1}\Phi^\top y θ MAP = ( Φ ⊤ Φ + b 2 σ 2 I ) − 1 Φ ⊤ y (9.31)
(b) Φ ⊤ Φ + 2 I = [ 6 2 2 8 ] \Phi^\top\Phi+2I=\begin{bmatrix}6&2\\2&8\end{bmatrix} Φ ⊤ Φ + 2 I = [ 6 2 2 8 ] , det = 48 − 4 = 44 \det=48-4=44 det = 48 − 4 = 44 , 역행렬 1 44 [ 8 − 2 − 2 6 ] \frac1{44}\begin{bmatrix}8&-2\\-2&6\end{bmatrix} 44 1 [ 8 − 2 − 2 6 ] .
θ MAP = 1 44 [ 40 − 14 − 10 + 42 ] = 1 44 [ 26 32 ] .
\theta_{\text{MAP}}=\frac1{44}\begin{bmatrix}40-14\\-10+42\end{bmatrix}=\frac1{44}\begin{bmatrix}26\\32\end{bmatrix}.
θ MAP = 44 1 [ 40 − 14 − 10 + 42 ] = 44 1 [ 26 32 ] . 답: θ MAP ≈ [ 0.591 , 0.727 ] ⊤ \theta_{\text{MAP}}\approx[0.591,\ 0.727]^\top θ MAP ≈ [ 0.591 , 0.727 ] ⊤
(c) ∥ θ ML ∥ 2 = 0.64 + 0.81 = 1.45 \|\theta_{\text{ML}}\|^2=0.64+0.81=1.45 ∥ θ ML ∥ 2 = 0.64 + 0.81 = 1.45 , ∥ θ MAP ∥ 2 = 26 2 + 32 2 44 2 = 1700 1936 ≈ 0.878 \|\theta_{\text{MAP}}\|^2=\frac{26^2+32^2}{44^2}=\frac{1700}{1936}\approx0.878 ∥ θ MAP ∥ 2 = 4 4 2 2 6 2 + 3 2 2 = 1936 1700 ≈ 0.878 . 사전분포가 매개변수를 원점 쪽으로 끌어당겨 크기가 줄었다. 이 설정에서는 절편 θ 0 \theta_0 θ 0 도 같이 줄어든다.
(d) (9.28)에 2 σ 2 2\sigma^2 2 σ 2 를 곱하면 ∥ y − Φ θ ∥ 2 + σ 2 b 2 ∥ θ ∥ 2 + const \|y-\Phi\theta\|^2+\frac{\sigma^2}{b^2}\|\theta\|^2+\text{const} ∥ y − Φ θ ∥ 2 + b 2 σ 2 ∥ θ ∥ 2 + const 가 되어 (9.32)와 같은 꼴이다.
답: λ = σ 2 / b 2 \lambda=\sigma^2/b^2 λ = σ 2 / b 2 . 노이즈가 크거나 사전분포가 좁을수록(확신이 강할수록) 정규화가 세다.
9-5. 베이즈 선형 회귀: 사후분포와 예측# ∑ x n 2 = 1 + 4 = 5 \sum x_n^2=1+4=5 ∑ x n 2 = 1 + 4 = 5 , ∑ x n y n = 2 + 6 = 8 \sum x_ny_n=2+6=8 ∑ x n y n = 2 + 6 = 8 , σ 2 = 1 \sigma^2=1 σ 2 = 1 , m 0 = 0 m_0=0 m 0 = 0 , S 0 = 1 S_0=1 S 0 = 1 .
(a) (9.43)을 스칼라로 쓰면
S N = ( 1 S 0 + ∑ x n 2 σ 2 ) − 1 = 1 1 + 5 = 1 6 .
S_N=\Big(\frac1{S_0}+\frac{\sum x_n^2}{\sigma^2}\Big)^{-1}=\frac1{1+5}=\frac16.
S N = ( S 0 1 + σ 2 ∑ x n 2 ) − 1 = 1 + 5 1 = 6 1 . m N = S N ( m 0 S 0 + ∑ x n y n σ 2 ) = 1 6 ⋅ 8 = 4 3 .
\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}
m N = S N ( S 0 m 0 + σ 2 ∑ x n y n ) = 6 1 ⋅ 8 = 3 4 . 답: p ( θ ∣ X , Y ) = N ( 4 3 , 1 6 ) p(\theta\mid\mathcal X,\mathcal Y)=\mathcal N\big(\frac43,\ \frac16\big) p ( θ ∣ X , Y ) = N ( 3 4 , 6 1 )
(b) θ ML = ∑ x y ∑ x 2 = 8 5 = 1.6 \theta_{\text{ML}}=\frac{\sum xy}{\sum x^2}=\frac85=1.6 θ ML = ∑ x 2 ∑ x y = 5 8 = 1.6 . m N ≈ 1.333 m_N\approx1.333 m N ≈ 1.333 은 사전 평균 0 쪽으로 줄어든 값이다. λ = σ 2 / S 0 = 1 \lambda=\sigma^2/S_0=1 λ = σ 2 / S 0 = 1 인 MAP 8 5 + 1 \frac8{5+1} 5 + 1 8 과 같다(가우시안 사후분포는 평균=최빈값).
(c) (9.57c): 평균 x ∗ m N x_*m_N x ∗ m N , 분산 x ∗ 2 S N + σ 2 x_*^2S_N+\sigma^2 x ∗ 2 S N + σ 2 .
x ∗ = 0 x_*=0 x ∗ = 0 : 평균 0, 분산 0 + 1 = 1 0+1=1 0 + 1 = 1 x ∗ = 3 x_*=3 x ∗ = 3 : 평균 3 ⋅ 4 3 = 4 3\cdot\frac43=4 3 ⋅ 3 4 = 4 , 분산 9 ⋅ 1 6 + 1 = 2.5 9\cdot\frac16+1=2.5 9 ⋅ 6 1 + 1 = 2.5 이 모델은 원점을 지나는 직선이라 x ∗ = 0 x_*=0 x ∗ = 0 에서는 매개변수 불확실성이 사라지고 노이즈만 남는다. x ∗ x_* x ∗ 가 커지면 기울기의 불확실성이 x ∗ 2 x_*^2 x ∗ 2 배로 커진다.
(d) (9.38): 평균 x ∗ m 0 = 0 x_*m_0=0 x ∗ m 0 = 0 , 분산 x ∗ 2 S 0 + σ 2 = 9 + 1 = 10 x_*^2S_0+\sigma^2=9+1=10 x ∗ 2 S 0 + σ 2 = 9 + 1 = 10 . 데이터 두 개로 예측 분산이 10에서 2.5로 줄었다.
(e) 순차 갱신: 사전분포를 N ( 4 3 , 1 6 ) \mathcal N(\frac43,\frac16) N ( 3 4 , 6 1 ) 으로 두고 점 ( − 1 , − 1 ) (-1,-1) ( − 1 , − 1 ) 하나를 넣는다.
S ′ = ( 6 + ( − 1 ) 2 1 ) − 1 = 1 7 , m ′ = 1 7 ( 6 ⋅ 4 3 + ( − 1 ) ( − 1 ) ) = 9 7 .
\begin{aligned}
S'&=\Big(6+\frac{(-1)^2}1\Big)^{-1}=\frac17,\\
m'&=\frac17\Big(6\cdot\frac43+(-1)(-1)\Big)=\frac97.
\end{aligned}
S ′ m ′ = ( 6 + 1 ( − 1 ) 2 ) − 1 = 7 1 , = 7 1 ( 6 ⋅ 3 4 + ( − 1 ) ( − 1 ) ) = 7 9 . 한꺼번에: ∑ x 2 = 6 \sum x^2=6 ∑ x 2 = 6 , ∑ x y = 2 + 6 + 1 = 9 \sum xy=2+6+1=9 ∑ x y = 2 + 6 + 1 = 9 이므로 S = 1 1 + 6 = 1 7 S=\frac1{1+6}=\frac17 S = 1 + 6 1 = 7 1 , m = 9 7 m=\frac97 m = 7 9 .
답: 둘 다 N ( 9 7 , 1 7 ) ≈ N ( 1.286 , 0.143 ) \mathcal N\big(\frac97,\frac17\big)\approx\mathcal N(1.286,\ 0.143) N ( 7 9 , 7 1 ) ≈ N ( 1.286 , 0.143 ) . 오늘의 사후분포가 내일의 사전분포가 된다.
9-6. 주변 가능도로 모델 비교# 이차원 가우시안의 로그 밀도는 log N ( y ∣ 0 , K ) = − log 2 π − 1 2 log det K − 1 2 y ⊤ K − 1 y \log\mathcal N(y\mid0,K)=-\log2\pi-\frac12\log\det K-\frac12y^\top K^{-1}y log N ( y ∣ 0 , K ) = − log 2 π − 2 1 log det K − 2 1 y ⊤ K − 1 y 이다.
(a) (9.64b): X = [ 1 , 2 ] ⊤ X=[1,2]^\top X = [ 1 , 2 ] ⊤ 이라 X X ⊤ = [ 1 2 2 4 ] XX^\top=\begin{bmatrix}1&2\\2&4\end{bmatrix} X X ⊤ = [ 1 2 2 4 ] , K = X X ⊤ + I = [ 2 2 2 5 ] K=XX^\top+I=\begin{bmatrix}2&2\\2&5\end{bmatrix} K = X X ⊤ + I = [ 2 2 2 5 ] .
det K = 10 − 4 = 6 \det K=10-4=6 det K = 10 − 4 = 6 K − 1 = 1 6 [ 5 − 2 − 2 2 ] K^{-1}=\frac16\begin{bmatrix}5&-2\\-2&2\end{bmatrix} K − 1 = 6 1 [ 5 − 2 − 2 2 ] y ⊤ K − 1 y = 1 6 ( 5 ⋅ 4 − 2 ⋅ 2 ⋅ 2 ⋅ 3 + 2 ⋅ 9 ) = 1 6 ( 20 − 24 + 18 ) = 7 3 y^\top K^{-1}y=\frac16(5\cdot4-2\cdot2\cdot2\cdot3+2\cdot9)=\frac16(20-24+18)=\frac73 y ⊤ K − 1 y = 6 1 ( 5 ⋅ 4 − 2 ⋅ 2 ⋅ 2 ⋅ 3 + 2 ⋅ 9 ) = 6 1 ( 20 − 24 + 18 ) = 3 7 log p = − 1.8379 − 1 2 ( 1.7918 ) − 1 2 ⋅ 7 3 .
\log p=-1.8379-\tfrac12(1.7918)-\tfrac12\cdot\tfrac73.
log p = − 1.8379 − 2 1 ( 1.7918 ) − 2 1 ⋅ 3 7 . 답: − 1.8379 − 0.8959 − 1.1667 ≈ − 3.900 -1.8379-0.8959-1.1667\approx-3.900 − 1.8379 − 0.8959 − 1.1667 ≈ − 3.900
(b) K = I K=I K = I : log p = − 1.8379 − 0 − 1 2 ( 4 + 9 ) \log p=-1.8379-0-\frac12(4+9) log p = − 1.8379 − 0 − 2 1 ( 4 + 9 ) .
답: ≈ − 8.338 \approx-8.338 ≈ − 8.338
(c) K = 100 X X ⊤ + I = [ 101 200 200 401 ] K=100XX^\top+I=\begin{bmatrix}101&200\\200&401\end{bmatrix} K = 100 X X ⊤ + I = [ 101 200 200 401 ] .
det K = 101 ⋅ 401 − 200 2 = 40501 − 40000 = 501 \det K=101\cdot401-200^2=40501-40000=501 det K = 101 ⋅ 401 − 20 0 2 = 40501 − 40000 = 501 y ⊤ K − 1 y = 1 501 ( 401 ⋅ 4 − 2 ⋅ 200 ⋅ 6 + 101 ⋅ 9 ) = 1604 − 2400 + 909 501 = 113 501 ≈ 0.2255 y^\top K^{-1}y=\frac1{501}(401\cdot4-2\cdot200\cdot6+101\cdot9)=\frac{1604-2400+909}{501}=\frac{113}{501}\approx0.2255 y ⊤ K − 1 y = 501 1 ( 401 ⋅ 4 − 2 ⋅ 200 ⋅ 6 + 101 ⋅ 9 ) = 501 1604 − 2400 + 909 = 501 113 ≈ 0.2255 log p = − 1.8379 − 1 2 ( 6.2166 ) − 1 2 ( 0.2255 ) .
\begin{aligned}
\log p&=-1.8379-\tfrac12(6.2166)\\
&\quad-\tfrac12(0.2255).
\end{aligned}
log p = − 1.8379 − 2 1 ( 6.2166 ) − 2 1 ( 0.2255 ) . 답: − 1.8379 − 3.1083 − 0.1128 ≈ − 5.059 -1.8379-3.1083-0.1128\approx-5.059 − 1.8379 − 3.1083 − 0.1128 ≈ − 5.059
(d) 순서: (a) − 3.90 -3.90 − 3.90 > (c) − 5.06 -5.06 − 5.06 > (b) − 8.34 -8.34 − 8.34 .
M 0 M_0 M 0 은 너무 단순하다. 분산 1의 노이즈만으로 y = ( 2 , 3 ) y=(2,3) y = ( 2 , 3 ) 을 설명해야 하니 가능도가 작다.사전분포가 넓은 (c)는 θ \theta θ 가 − 20 -20 − 20 이든 20 20 20 이든 그럴듯하다고 보므로 가능한 데이터셋이 아주 많다. 증거는 모든 데이터셋에 대해 합이 1이어야 하므로(그림 8.14), 확률을 넓게 흩뿌린 모델은 실제로 관측한 데이터셋에 적은 확률밖에 주지 못한다. 가장 잘 맞는 직선은 (a)와 같은 모델 족에 있는데도 증거가 낮다. 사전분포를 더 넓히면 log p ≈ − 1.84 − 1 2 log ( 1 + 5 s 0 ) − 0.1 \log p\approx-1.84-\frac12\log(1+5s_0)-0.1 log p ≈ − 1.84 − 2 1 log ( 1 + 5 s 0 ) − 0.1 처럼 계속 떨어진다. 수치로 풀면 s 0 ≈ 7.2 × 10 4 s_0\approx7.2\times10^4 s 0 ≈ 7.2 × 1 0 4 을 넘을 때 M 0 M_0 M 0 보다도 낮아진다. 이것이 제프리스-린들리 역설이 말하는 현상(너무 넓은 사전분포를 준 복잡한 모델은 단순한 모델에 진다)이다. 9-7. 최소제곱은 직교사영이다# (a) X ⊤ X = 1 + 4 + 4 = 9 X^\top X=1+4+4=9 X ⊤ X = 1 + 4 + 4 = 9 , X ⊤ y = 1 + 2 + 8 = 11 X^\top y=1+2+8=11 X ⊤ y = 1 + 2 + 8 = 11 .
답: θ ML = 11 9 ≈ 1.222 \theta_{\text{ML}}=\frac{11}9\approx1.222 θ ML = 9 11 ≈ 1.222
(b) X θ ML = 11 9 [ 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 X θ ML = 9 11 [ 1 , 2 , 2 ] ⊤ ≈ [ 1.222 , 2.444 , 2.444 ] ⊤ .
P = X X ⊤ X ⊤ X = 1 9 [ 1 2 2 2 4 4 2 4 4 ] .
P=\frac{XX^\top}{X^\top X}=\frac19\begin{bmatrix}1&2&2\\2&4&4\\2&4&4\end{bmatrix}.
P = X ⊤ X X X ⊤ = 9 1 1 2 2 2 4 4 2 4 4 . (c) 잔차 y − X θ = [ 1 − 11 9 , 1 − 22 9 , 4 − 22 9 ] = 1 9 [ − 2 , − 13 , 14 ] y-X\theta=\big[1-\frac{11}9,\ 1-\frac{22}9,\ 4-\frac{22}9\big]=\frac19[-2,\ -13,\ 14] y − Xθ = [ 1 − 9 11 , 1 − 9 22 , 4 − 9 22 ] = 9 1 [ − 2 , − 13 , 14 ] . X X X 와의 내적은 1 9 ( − 2 − 26 + 28 ) = 0 \frac19(-2-26+28)=0 9 1 ( − 2 − 26 + 28 ) = 0 이다.
(d)
P 2 = X ( X ⊤ X ) − 1 X ⊤ X ( X ⊤ X ) − 1 X ⊤ = X ( X ⊤ X ) − 1 X ⊤ = P P^2=X(X^\top X)^{-1}X^\top X(X^\top X)^{-1}X^\top=X(X^\top X)^{-1}X^\top=P P 2 = X ( X ⊤ X ) − 1 X ⊤ X ( X ⊤ X ) − 1 X ⊤ = X ( X ⊤ X ) − 1 X ⊤ = P . 이미 직선 위에 있는 점은 다시 사영해도 그대로다.P ⊤ = P P^\top=P P ⊤ = P : 대칭이면 직교 사영이다. 잔차가 부분공간과 수직이 된다.tr ( P ) = 1 + 4 + 4 9 = 1 \text{tr}(P)=\frac{1+4+4}9=1 tr ( P ) = 9 1 + 4 + 4 = 1 . 일반적으로 tr ( P ) = tr ( ( X ⊤ X ) − 1 X ⊤ X ) = tr ( I D ) = D \text{tr}(P)=\text{tr}\big((X^\top X)^{-1}X^\top X\big)=\text{tr}(I_D)=D tr ( P ) = tr ( ( X ⊤ X ) − 1 X ⊤ X ) = tr ( I D ) = D , 즉 부분공간의 차원(매개변수 수)이다.9-8. 데이터가 많아지면 베이즈 사후 평균은 MLE로 간다# (a) (9.43)의 스칼라판:
S N = ( 1 s 0 + ∑ x n 2 σ 2 ) − 1 , m N = S N ( m 0 s 0 + ∑ x n y n σ 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}
S N m N = ( s 0 1 + σ 2 ∑ x n 2 ) − 1 , = S N ( s 0 m 0 + σ 2 ∑ x n y n ) . (b) 데이터 정밀도 A = ∑ x n 2 σ 2 A=\frac{\sum x_n^2}{\sigma^2} A = σ 2 ∑ x n 2 , 사전 정밀도 a 0 = 1 s 0 a_0=\frac1{s_0} a 0 = s 0 1 라 하자. θ ML = ∑ x n y n ∑ x n 2 \theta_{\text{ML}}=\frac{\sum x_ny_n}{\sum x_n^2} θ ML = ∑ x n 2 ∑ x n y n 이므로 ∑ x n y n σ 2 = A θ ML \frac{\sum x_ny_n}{\sigma^2}=A\,\theta_{\text{ML}} σ 2 ∑ x n y n = A θ ML 이다.
m N = a 0 m 0 + A θ ML a 0 + A = w θ ML + ( 1 − w ) m 0 .
\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}
m N = a 0 + A a 0 m 0 + A θ ML = w θ ML + ( 1 − w ) m 0 . 답: w = A A + a 0 w=\frac{A}{A+a_0} w = A + a 0 A . 정밀도(분산의 역수)로 가중한 평균이다.
(c) ∑ x n 2 → ∞ \sum x_n^2\to\infty ∑ x n 2 → ∞ 이면 A → ∞ A\to\infty A → ∞ 이므로 S N = 1 a 0 + A → 0 S_N=\frac1{a_0+A}\to0 S N = a 0 + A 1 → 0 이고 w → 1 w\to1 w → 1 , 따라서 m N → θ ML m_N\to\theta_{\text{ML}} m N → θ ML . 데이터가 충분하면 사전분포의 영향이 사라지고, 불확실성도 0으로 줄어든다.
(d) s 0 → 0 s_0\to0 s 0 → 0 이면 a 0 → ∞ a_0\to\infty a 0 → ∞ 이므로 w → 0 w\to0 w → 0 , m N → m 0 m_N\to m_0 m N → m 0 , S N → 0 S_N\to0 S N → 0 . 사전분포를 너무 확신하면 데이터를 무시한다.
9-9. Φ ⊤ Φ \Phi^\top\Phi Φ ⊤ Φ 의 역행렬이 없을 때# (a) Φ = [ 1 2 2 4 3 6 ] \Phi=\begin{bmatrix}1&2\\2&4\\3&6\end{bmatrix} Φ = 1 2 3 2 4 6 , ∑ x 2 = 14 \sum x^2=14 ∑ x 2 = 14 이므로
Φ ⊤ Φ = [ 14 28 28 56 ] .
\Phi^\top\Phi=\begin{bmatrix}14&28\\28&56\end{bmatrix}.
Φ ⊤ Φ = [ 14 28 28 56 ] . det = 14 ⋅ 56 − 28 2 = 784 − 784 = 0 \det=14\cdot56-28^2=784-784=0 det = 14 ⋅ 56 − 2 8 2 = 784 − 784 = 0 이라 역행렬이 없다. 두 열이 일차종속이라 rk ( Φ ) = 1 < 2 \text{rk}(\Phi)=1<2 rk ( Φ ) = 1 < 2 이고, (9.12) 옆 주석이 요구하는 “랭크 = 매개변수 수” 조건이 깨진다.
(b) Φ ⊤ y = [ ∑ x y , 2 ∑ x y ] ⊤ = [ 11 , 22 ] ⊤ \Phi^\top y=[\sum xy,\ 2\sum xy]^\top=[11,\ 22]^\top Φ ⊤ y = [ ∑ x y , 2 ∑ x y ] ⊤ = [ 11 , 22 ] ⊤ . 정규방정식은 14 θ 1 + 28 θ 2 = 11 14\theta_1+28\theta_2=11 14 θ 1 + 28 θ 2 = 11 과 그 두 배인 식뿐이다. 즉 θ 1 + 2 θ 2 = 11 14 \theta_1+2\theta_2=\frac{11}{14} θ 1 + 2 θ 2 = 14 11 을 만족하는 직선 위의 모든 점이 해다(예: ( 11 14 , 0 ) (\frac{11}{14},0) ( 14 11 , 0 ) , ( 0 , 11 28 ) (0,\frac{11}{28}) ( 0 , 28 11 ) ). 그런데 예측은
f ( x ) = θ 1 x + θ 2 ( 2 x ) = ( θ 1 + 2 θ 2 ) x = 11 14 x
\begin{aligned}
f(x)&=\theta_1x+\theta_2(2x)\\
&=(\theta_1+2\theta_2)x=\tfrac{11}{14}x
\end{aligned}
f ( x ) = θ 1 x + θ 2 ( 2 x ) = ( θ 1 + 2 θ 2 ) x = 14 11 x 로 모든 해가 같다. 예측은 정해지지만 매개변수는 하나로 정해지지 않는다.
(c) Φ ⊤ Φ + I = [ 15 28 28 57 ] \Phi^\top\Phi+I=\begin{bmatrix}15&28\\28&57\end{bmatrix} Φ ⊤ Φ + I = [ 15 28 28 57 ] , det = 855 − 784 = 71 \det=855-784=71 det = 855 − 784 = 71 , 역행렬 1 71 [ 57 − 28 − 28 15 ] \frac1{71}\begin{bmatrix}57&-28\\-28&15\end{bmatrix} 71 1 [ 57 − 28 − 28 15 ] .
θ = 1 71 [ 627 − 616 − 308 + 330 ] = 1 71 [ 11 22 ] .
\theta=\frac1{71}\begin{bmatrix}627-616\\-308+330\end{bmatrix}=\frac1{71}\begin{bmatrix}11\\22\end{bmatrix}.
θ = 71 1 [ 627 − 616 − 308 + 330 ] = 71 1 [ 11 22 ] . 답: θ ≈ [ 0.155 , 0.310 ] ⊤ \theta\approx[0.155,\ 0.310]^\top θ ≈ [ 0.155 , 0.310 ] ⊤ . 예측 기울기 θ 1 + 2 θ 2 = 55 71 ≈ 0.775 \theta_1+2\theta_2=\frac{55}{71}\approx0.775 θ 1 + 2 θ 2 = 71 55 ≈ 0.775 로 11 14 ≈ 0.786 \frac{11}{14}\approx0.786 14 11 ≈ 0.786 보다 조금 줄었다. 릿지는 해 중에서 ( 1 , 2 ) (1,2) ( 1 , 2 ) 방향, 즉 노름이 작은 쪽을 고른다(교재 밖 보충: λ → 0 \lambda\to0 λ → 0 이면 최소 노름 해 1 70 ( 11 , 22 ) \frac1{70}(11,22) 70 1 ( 11 , 22 ) 로 간다).
(d) 모든 v ≠ 0 v\neq0 v = 0 에 대해 v ⊤ ( Φ ⊤ Φ + λ I ) v = ∥ Φ v ∥ 2 + λ ∥ v ∥ 2 ≥ λ ∥ v ∥ 2 > 0 v^\top(\Phi^\top\Phi+\lambda I)v=\|\Phi v\|^2+\lambda\|v\|^2\ge\lambda\|v\|^2>0 v ⊤ ( Φ ⊤ Φ + λ I ) v = ∥Φ v ∥ 2 + λ ∥ v ∥ 2 ≥ λ ∥ v ∥ 2 > 0 이다. 양의 정부호이므로 고유값이 모두 λ \lambda λ 이상이고 역행렬이 있다.
10장 PCA# 10-1. 네 점 PCA 처음부터 끝까지# (a) μ = ( 3 + 2 − 1 + 0 4 , 3 + 4 + 1 + 0 4 ) = ( 1 , 2 ) \mu=\big(\frac{3+2-1+0}4,\ \frac{3+4+1+0}4\big)=(1,2) μ = ( 4 3 + 2 − 1 + 0 , 4 3 + 4 + 1 + 0 ) = ( 1 , 2 ) . 중심화: ( 2 , 1 ) , ( 1 , 2 ) , ( − 2 , − 1 ) , ( − 1 , − 2 ) (2,1),\ (1,2),\ (-2,-1),\ (-1,-2) ( 2 , 1 ) , ( 1 , 2 ) , ( − 2 , − 1 ) , ( − 1 , − 2 ) .
(b) S = 1 4 ∑ x n x n ⊤ S=\frac14\sum x_nx_n^\top S = 4 1 ∑ x n x n ⊤ (중심화된 점):
S 11 = 4 + 1 + 4 + 1 4 = 2.5 S_{11}=\frac{4+1+4+1}4=2.5 S 11 = 4 4 + 1 + 4 + 1 = 2.5 S 12 = 2 + 2 + 2 + 2 4 = 2 S_{12}=\frac{2+2+2+2}4=2 S 12 = 4 2 + 2 + 2 + 2 = 2 S 22 = 1 + 4 + 1 + 4 4 = 2.5 S_{22}=\frac{1+4+1+4}4=2.5 S 22 = 4 1 + 4 + 1 + 4 = 2.5 답: S = [ 2.5 2 2 2.5 ] S=\begin{bmatrix}2.5&2\\2&2.5\end{bmatrix} S = [ 2.5 2 2 2.5 ]
(c) ( 2.5 − λ ) 2 − 4 = 0 (2.5-\lambda)^2-4=0 ( 2.5 − λ ) 2 − 4 = 0 이므로 2.5 − λ = ± 2 2.5-\lambda=\pm2 2.5 − λ = ± 2 .
λ 1 = 4.5 \lambda_1=4.5 λ 1 = 4.5 : S − 4.5 I = [ − 2 2 2 − 2 ] S-4.5I=\begin{bmatrix}-2&2\\2&-2\end{bmatrix} S − 4.5 I = [ − 2 2 2 − 2 ] → b 1 = 1 2 ( 1 , 1 ) b_1=\frac1{\sqrt2}(1,1) b 1 = 2 1 ( 1 , 1 ) λ 2 = 0.5 \lambda_2=0.5 λ 2 = 0.5 : S − 0.5 I = [ 2 2 2 2 ] S-0.5I=\begin{bmatrix}2&2\\2&2\end{bmatrix} S − 0.5 I = [ 2 2 2 2 ] → b 2 = 1 2 ( 1 , − 1 ) b_2=\frac1{\sqrt2}(1,-1) b 2 = 2 1 ( 1 , − 1 ) (d) z n = b 1 ⊤ ( x n − μ ) z_n=b_1^\top(x_n-\mu) z n = b 1 ⊤ ( x n − μ ) : 2 + 1 2 = 3 2 \frac{2+1}{\sqrt2}=\frac3{\sqrt2} 2 2 + 1 = 2 3 , 3 2 \frac3{\sqrt2} 2 3 , − 3 2 -\frac3{\sqrt2} − 2 3 , − 3 2 -\frac3{\sqrt2} − 2 3 (≈ ± 2.121 \approx\pm2.121 ≈ ± 2.121 ). 평균이 0이므로 분산은 1 4 ⋅ 4 ⋅ 9 2 = 4.5 = λ 1 \frac14\cdot4\cdot\frac92=4.5=\lambda_1 4 1 ⋅ 4 ⋅ 2 9 = 4.5 = λ 1 (10.15).
(e) b 1 z n = 3 2 ⋅ 1 2 ( 1 , 1 ) = ( 1.5 , 1.5 ) b_1z_n=\frac3{\sqrt2}\cdot\frac1{\sqrt2}(1,1)=(1.5,1.5) b 1 z n = 2 3 ⋅ 2 1 ( 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 ~ 1 = 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) x ~ 3 = x ~ 4 = ( 1 , 2 ) − ( 1.5 , 1.5 ) = ( − 0.5 , 0.5 ) 오차: x 1 − x ~ 1 = ( 0.5 , − 0.5 ) x_1-\tilde x_1=(0.5,-0.5) x 1 − x ~ 1 = ( 0.5 , − 0.5 ) , x 2 − x ~ 2 = ( − 0.5 , 0.5 ) x_2-\tilde x_2=(-0.5,0.5) x 2 − x ~ 2 = ( − 0.5 , 0.5 ) , x 3 − x ~ 3 = ( − 0.5 , 0.5 ) x_3-\tilde x_3=(-0.5,0.5) x 3 − x ~ 3 = ( − 0.5 , 0.5 ) , x 4 − x ~ 4 = ( 0.5 , − 0.5 ) x_4-\tilde x_4=(0.5,-0.5) x 4 − x ~ 4 = ( 0.5 , − 0.5 ) . 제곱 노름은 모두 0.5 0.5 0.5 .
답: 평균 제곱 재구성 오차 = 0.5 = λ 2 =0.5=\lambda_2 = 0.5 = λ 2 (10.44). 두 점씩 같은 점으로 복원된다. 버린 방향 b 2 b_2 b 2 의 정보가 사라졌기 때문이다.
10-2. 3차원에서 주성분 개수 고르기# (a) S S S 는 왼쪽 위 2 × 2 2\times2 2 × 2 블록과 오른쪽 아래 1 × 1 1\times1 1 × 1 블록으로 나뉜다. 블록 [ 3 1 1 3 ] \begin{bmatrix}3&1\\1&3\end{bmatrix} [ 3 1 1 3 ] 의 고유값은 3 ± 1 3\pm1 3 ± 1 이다.
답: λ 1 = 4 \lambda_1=4 λ 1 = 4 , b 1 = 1 2 ( 1 , 1 , 0 ) b_1=\frac1{\sqrt2}(1,1,0) b 1 = 2 1 ( 1 , 1 , 0 ) ; λ 2 = 2 \lambda_2=2 λ 2 = 2 , b 2 = 1 2 ( 1 , − 1 , 0 ) b_2=\frac1{\sqrt2}(1,-1,0) b 2 = 2 1 ( 1 , − 1 , 0 ) ; λ 3 = 1 \lambda_3=1 λ 3 = 1 , b 3 = ( 0 , 0 , 1 ) b_3=(0,0,1) b 3 = ( 0 , 0 , 1 )
(b) 전체 분산 V D = tr S = 3 + 3 + 1 = 7 = 4 + 2 + 1 V_D=\text{tr}S=3+3+1=7=4+2+1 V D = tr S = 3 + 3 + 1 = 7 = 4 + 2 + 1 .
M = 1 M=1 M = 1 : J 1 = 2 + 1 = 3 J_1=2+1=3 J 1 = 2 + 1 = 3 , 설명된 비율 4 7 ≈ 57.1 % \frac47\approx57.1\% 7 4 ≈ 57.1% M = 2 M=2 M = 2 : J 2 = 1 J_2=1 J 2 = 1 , 설명된 비율 6 7 ≈ 85.7 % \frac67\approx85.7\% 7 6 ≈ 85.7% (c)
M = 1 M=1 M = 1 : z = b 1 ⊤ x = 2 + 0 2 = 2 z=b_1^\top x=\frac{2+0}{\sqrt2}=\sqrt2 z = b 1 ⊤ x = 2 2 + 0 = 2 , x ~ = b 1 z = ( 1 , 1 , 0 ) \tilde x=b_1z=(1,1,0) x ~ = b 1 z = ( 1 , 1 , 0 ) . 오차 x − x ~ = ( 1 , − 1 , 1 ) x-\tilde x=(1,-1,1) x − x ~ = ( 1 , − 1 , 1 ) , 제곱 오차 3 M = 2 M=2 M = 2 : b 2 ⊤ x = 2 − 0 2 = 2 b_2^\top x=\frac{2-0}{\sqrt2}=\sqrt2 b 2 ⊤ x = 2 2 − 0 = 2 이므로 x ~ = ( 1 , 1 , 0 ) + ( 1 , − 1 , 0 ) = ( 2 , 0 , 0 ) \tilde x=(1,1,0)+(1,-1,0)=(2,0,0) x ~ = ( 1 , 1 , 0 ) + ( 1 , − 1 , 0 ) = ( 2 , 0 , 0 ) . 오차 ( 0 , 0 , 1 ) (0,0,1) ( 0 , 0 , 1 ) , 제곱 오차 1 J M J_M J M 은 데이터 전체의 평균 오차이고, 한 점의 오차는 그와 다를 수 있다. 여기서는 우연히 같다.
10-3. 최대 분산 방향은 가장 큰 고유벡터다# (a) 데이터가 중심화되어 z 1 n z_{1n} z 1 n 의 평균도 0이다. 그러므로
V 1 = 1 N ∑ n z 1 n 2 = 1 N ∑ n b 1 ⊤ x n x n ⊤ b 1 .
V_1=\frac1N\sum_nz_{1n}^2=\frac1N\sum_nb_1^\top x_nx_n^\top b_1.
V 1 = N 1 n ∑ z 1 n 2 = N 1 n ∑ b 1 ⊤ x n x n ⊤ b 1 . b 1 b_1 b 1 을 합 밖으로 꺼내면 V 1 = b 1 ⊤ ( 1 N ∑ n x n x n ⊤ ) b 1 = b 1 ⊤ S b 1 V_1=b_1^\top\Big(\frac1N\sum_nx_nx_n^\top\Big)b_1=b_1^\top Sb_1 V 1 = b 1 ⊤ ( N 1 ∑ n x n x n ⊤ ) b 1 = b 1 ⊤ S b 1 (10.9).
(b) b 1 b_1 b 1 을 c c c 배 하면 V 1 V_1 V 1 이 c 2 c^2 c 2 배가 되어 얼마든지 커진다. 우리가 원하는 것은 방향이지 길이가 아니므로 ∥ b 1 ∥ = 1 \|b_1\|=1 ∥ b 1 ∥ = 1 로 고정한다 (10.10).
(c) 라그랑주 함수 (10.11)
L ( b 1 , λ 1 ) = b 1 ⊤ S b 1 + λ 1 ( 1 − b 1 ⊤ b 1 ) .
L(b_1,\lambda_1)=b_1^\top Sb_1+\lambda_1(1-b_1^\top b_1).
L ( b 1 , λ 1 ) = b 1 ⊤ S b 1 + λ 1 ( 1 − b 1 ⊤ b 1 ) . 편미분 (10.12): ∂ L ∂ b 1 = 2 b 1 ⊤ S − 2 λ 1 b 1 ⊤ \frac{\partial L}{\partial b_1}=2b_1^\top S-2\lambda_1b_1^\top ∂ b 1 ∂ L = 2 b 1 ⊤ S − 2 λ 1 b 1 ⊤ , ∂ L ∂ λ 1 = 1 − b 1 ⊤ b 1 \frac{\partial L}{\partial\lambda_1}=1-b_1^\top b_1 ∂ λ 1 ∂ L = 1 − b 1 ⊤ b 1 . 둘을 0으로 놓고 S S S 가 대칭임을 쓰면
답: S b 1 = λ 1 b 1 Sb_1=\lambda_1b_1 S b 1 = λ 1 b 1 , b 1 ⊤ b 1 = 1 b_1^\top b_1=1 b 1 ⊤ b 1 = 1 (10.13)~(10.14). b 1 b_1 b 1 은 S S S 의 고유벡터이고 λ 1 \lambda_1 λ 1 은 고유값이다.
(d) 고유벡터라면 V 1 = b 1 ⊤ S b 1 = λ 1 b 1 ⊤ b 1 = λ 1 V_1=b_1^\top Sb_1=\lambda_1b_1^\top b_1=\lambda_1 V 1 = b 1 ⊤ S b 1 = λ 1 b 1 ⊤ b 1 = λ 1 (10.15)이다. 분산이 곧 고유값이므로, 분산을 최대로 하려면 가장 큰 고유값의 고유벡터를 고른다.
(e) B 1 = b 1 b 1 ⊤ B_1=b_1b_1^\top B 1 = b 1 b 1 ⊤ 이라 하자. X ^ = ( I − B 1 ) X \hat X=(I-B_1)X X ^ = ( I − B 1 ) X 이므로
S ^ = 1 N X ^ X ^ ⊤ = ( I − B 1 ) S ( I − B 1 ) .
\hat S=\tfrac1N\hat X\hat X^\top=(I-B_1)S(I-B_1).
S ^ = N 1 X ^ X ^ ⊤ = ( I − B 1 ) S ( I − B 1 ) . S S S 의 고유벡터 b 1 , … , b D b_1,\dots,b_D b 1 , … , b D 는 정규직교이므로 ( I − B 1 ) b 1 = 0 (I-B_1)b_1=0 ( I − B 1 ) b 1 = 0 이고 i ≥ 2 i\ge2 i ≥ 2 에 대해 ( I − B 1 ) b i = b i (I-B_1)b_i=b_i ( I − B 1 ) b i = b i 다.
S ^ b 1 = ( I − B 1 ) S ⋅ 0 = 0 \hat Sb_1=(I-B_1)S\cdot0=0 S ^ b 1 = ( I − B 1 ) S ⋅ 0 = 0 i ≥ 2 i\ge2 i ≥ 2 : S ^ b i = ( I − B 1 ) S b i = ( I − B 1 ) λ i b i = λ i b i \hat Sb_i=(I-B_1)Sb_i=(I-B_1)\lambda_ib_i=\lambda_ib_i S ^ b i = ( I − B 1 ) S b i = ( I − B 1 ) λ i b i = λ i b i 즉 S ^ \hat S S ^ 의 고유값은 0 , λ 2 , … , λ D 0,\lambda_2,\dots,\lambda_D 0 , λ 2 , … , λ D 이고 고유벡터는 그대로다. 남은 데이터에서 다시 분산을 최대로 하면 S ^ \hat S S ^ 의 가장 큰 고유값 λ 2 \lambda_2 λ 2 의 고유벡터 b 2 b_2 b 2 가 나온다 (10.19)~(10.23).
10-4. SVD로 PCA 하기# (a) X X ⊤ XX^\top X X ⊤ 의 (1,1) 성분은 첫 행의 제곱합 4 + 1 + 4 + 1 = 10 4+1+4+1=10 4 + 1 + 4 + 1 = 10 , (1,2)는 두 행의 내적 2 + 2 + 2 + 2 = 8 2+2+2+2=8 2 + 2 + 2 + 2 = 8 , (2,2)는 1 + 4 + 1 + 4 = 10 1+4+1+4=10 1 + 4 + 1 + 4 = 10 .
답: X X ⊤ = [ 10 8 8 10 ] XX^\top=\begin{bmatrix}10&8\\8&10\end{bmatrix} X X ⊤ = [ 10 8 8 10 ]
(b) X = U Σ V ⊤ X=U\Sigma V^\top X = U Σ V ⊤ 이면 X X ⊤ = U Σ Σ ⊤ U ⊤ XX^\top=U\Sigma\Sigma^\top U^\top X X ⊤ = U Σ Σ ⊤ U ⊤ 이므로 특이값의 제곱이 X X ⊤ XX^\top X X ⊤ 의 고유값이다. 고유값은 10 ± 8 = 18 , 2 10\pm8=18,\ 2 10 ± 8 = 18 , 2 .
답: σ 1 = 18 = 3 2 ≈ 4.243 \sigma_1=\sqrt{18}=3\sqrt2\approx4.243 σ 1 = 18 = 3 2 ≈ 4.243 , σ 2 = 2 ≈ 1.414 \sigma_2=\sqrt2\approx1.414 σ 2 = 2 ≈ 1.414
(c) λ d = σ d 2 / N \lambda_d=\sigma_d^2/N λ d = σ d 2 / N : 18 4 = 4.5 \frac{18}4=4.5 4 18 = 4.5 , 2 4 = 0.5 \frac24=0.5 4 2 = 0.5 . 10-1의 고유값과 같다. 주성분 방향은 U U U 의 열(왼쪽 특이벡터)이다.
(d) 9장은 데이터를 행으로 쌓은 X ∈ R N × D X\in\mathbb R^{N\times D} X ∈ R N × D 를 쓴다. 10장은 열로 쌓은 X ∈ R D × N X\in\mathbb R^{D\times N} X ∈ R D × N 을 쓰고 S = 1 N X X ⊤ S=\frac1NXX^\top S = N 1 X X ⊤ 이다. 교재도 (10.46) 옆에서 “보통의 데이터 행렬의 전치"라고 적어 둔다. 공식을 옮겨 쓸 때 X ⊤ X X^\top X X ⊤ X 와 X X ⊤ XX^\top X X ⊤ 을 바꿔 쓰기 쉽다.
10-5. N < D N<D N < D 일 때: 작은 행렬의 고유벡터로 PCA 하기# (a) x 1 + x 2 + x 3 = ( 1 − 1 + 0 , 0 + 1 − 1 , 1 + 0 − 1 , 0 + 1 − 1 ) = 0 x_1+x_2+x_3=(1-1+0,\ 0+1-1,\ 1+0-1,\ 0+1-1)=0 x 1 + x 2 + x 3 = ( 1 − 1 + 0 , 0 + 1 − 1 , 1 + 0 − 1 , 0 + 1 − 1 ) = 0 .
(b) 내적을 모두 구한다: x 1 ⋅ x 1 = 2 x_1\cdot x_1=2 x 1 ⋅ x 1 = 2 , x 2 ⋅ x 2 = 3 x_2\cdot x_2=3 x 2 ⋅ x 2 = 3 , x 3 ⋅ x 3 = 3 x_3\cdot x_3=3 x 3 ⋅ x 3 = 3 , x 1 ⋅ x 2 = − 1 x_1\cdot x_2=-1 x 1 ⋅ x 2 = − 1 , x 1 ⋅ x 3 = − 1 x_1\cdot x_3=-1 x 1 ⋅ x 3 = − 1 , x 2 ⋅ x 3 = 0 − 1 + 0 − 1 = − 2 x_2\cdot x_3=0-1+0-1=-2 x 2 ⋅ x 3 = 0 − 1 + 0 − 1 = − 2 .
답: X ⊤ X = [ 2 − 1 − 1 − 1 3 − 2 − 1 − 2 3 ] X^\top X=\begin{bmatrix}2&-1&-1\\-1&3&-2\\-1&-2&3\end{bmatrix} X ⊤ X = 2 − 1 − 1 − 1 3 − 2 − 1 − 2 3
(c) 각 행의 합이 0이므로 X ⊤ X [ 1 , 1 , 1 ] ⊤ = 0 X^\top X[1,1,1]^\top=0 X ⊤ X [ 1 , 1 , 1 ] ⊤ = 0 , 고유값 하나는 0이다. 나머지 두 고유값 λ a , λ b \lambda_a,\lambda_b λ a , λ b 는
합 = 대각합 = 2 + 3 + 3 = 8 2+3+3=8 2 + 3 + 3 = 8 곱 = 2 × 2 2\times2 2 × 2 주소행렬식의 합 = ( 6 − 1 ) + ( 6 − 1 ) + ( 9 − 4 ) = 15 (6-1)+(6-1)+(9-4)=15 ( 6 − 1 ) + ( 6 − 1 ) + ( 9 − 4 ) = 15 (고유값 하나가 0이라 두 개씩 곱한 합이 λ a λ b \lambda_a\lambda_b λ a λ b 뿐이다) λ 2 − 8 λ + 15 = 0 \lambda^2-8\lambda+15=0 λ 2 − 8 λ + 15 = 0 이므로 5 , 3 5,\ 3 5 , 3 이다. 1 N X ⊤ X \frac1NX^\top X N 1 X ⊤ X 의 고유값은 5 3 , 1 , 0 \frac53,\ 1,\ 0 3 5 , 1 , 0 이다.
고유벡터:
5: ( X ⊤ X − 5 I ) c = 0 (X^\top X-5I)c=0 ( X ⊤ X − 5 I ) c = 0 의 둘째 행 − c 1 − 2 c 2 − 2 c 3 = 0 -c_1-2c_2-2c_3=0 − c 1 − 2 c 2 − 2 c 3 = 0 과 c ⊥ [ 1 , 1 , 1 ] c\perp[1,1,1] c ⊥ [ 1 , 1 , 1 ] 에서 c 1 = 0 c_1=0 c 1 = 0 , c 2 = − c 3 c_2=-c_3 c 2 = − c 3 → c ( 1 ) = 1 2 ( 0 , 1 , − 1 ) c^{(1)}=\frac1{\sqrt2}(0,1,-1) c ( 1 ) = 2 1 ( 0 , 1 , − 1 ) 3: 앞의 두 벡터에 모두 수직 → c ( 2 ) = 1 6 ( 2 , − 1 , − 1 ) c^{(2)}=\frac1{\sqrt6}(2,-1,-1) c ( 2 ) = 6 1 ( 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) X ⊤ X ( 2 , − 1 , − 1 ) = ( 6 , − 3 , − 3 ) = 3 ( 2 , − 1 , − 1 ) (d) (10.56)에서 1 N X ⊤ X c = λ c \frac1NX^\top Xc=\lambda c N 1 X ⊤ X c = λ c 의 양변 왼쪽에 X X X 를 곱하면 1 N X X ⊤ ( X c ) = λ ( X c ) \frac1NXX^\top(Xc)=\lambda(Xc) N 1 X X ⊤ ( X c ) = λ ( X c ) (10.57), 즉 X c Xc X c 가 S S S 의 고유벡터다.
X c ( 1 ) = 1 2 ( x 2 − x 3 ) = 1 2 ( − 1 , 2 , 1 , 2 ) .
\begin{aligned}
Xc^{(1)}&=\tfrac1{\sqrt2}(x_2-x_3)\\
&=\tfrac1{\sqrt2}(-1,\ 2,\ 1,\ 2).
\end{aligned}
X c ( 1 ) = 2 1 ( x 2 − x 3 ) = 2 1 ( − 1 , 2 , 1 , 2 ) . 길이의 제곱은 c ⊤ X ⊤ X c = 5 c^\top X^\top Xc=5 c ⊤ X ⊤ X c = 5 이므로 b 1 = X c ( 1 ) 5 = 1 10 ( − 1 , 2 , 1 , 2 ) b_1=\frac{Xc^{(1)}}{\sqrt5}=\frac1{\sqrt{10}}(-1,2,1,2) b 1 = 5 X c ( 1 ) = 10 1 ( − 1 , 2 , 1 , 2 ) .
확인: S b 1 = 1 3 ∑ n x n ( x n ⊤ b 1 ) Sb_1=\frac13\sum_nx_n(x_n^\top b_1) S b 1 = 3 1 ∑ n x n ( x n ⊤ b 1 ) 이고 x 1 ⊤ b 1 = 0 x_1^\top b_1=0 x 1 ⊤ b 1 = 0 , x 2 ⊤ b 1 = 5 10 x_2^\top b_1=\frac5{\sqrt{10}} x 2 ⊤ b 1 = 10 5 , x 3 ⊤ b 1 = − 5 10 x_3^\top b_1=-\frac5{\sqrt{10}} x 3 ⊤ b 1 = − 10 5 이다. 따라서
S b 1 = 5 3 10 ( x 2 − x 3 ) = 5 3 b 1 .
Sb_1=\frac{5}{3\sqrt{10}}(x_2-x_3)=\frac53\,b_1.
S b 1 = 3 10 5 ( x 2 − x 3 ) = 3 5 b 1 . 답: b 1 = 1 10 ( − 1 , 2 , 1 , 2 ) b_1=\frac1{\sqrt{10}}(-1,2,1,2) b 1 = 10 1 ( − 1 , 2 , 1 , 2 ) , λ 1 = 5 3 \lambda_1=\frac53 λ 1 = 3 5 . 같은 방법으로 b 2 = 1 2 ( 1 , 0 , 1 , 0 ) b_2=\frac1{\sqrt2}(1,0,1,0) b 2 = 2 1 ( 1 , 0 , 1 , 0 ) , λ 2 = 1 \lambda_2=1 λ 2 = 1 이다.
(e) 고유분해 비용은 행렬 크기의 세제곱에 비례한다. 여기서는 4 × 4 4\times4 4 × 4 대신 3 × 3 3\times3 3 × 3 이지만, MNIST처럼 D = 784 D=784 D = 784 이고 N = 100 N=100 N = 100 이면 784 × 784 784\times784 784 × 784 대신 100 × 100 100\times100 100 × 100 을 푼다. X X ⊤ XX^\top X X ⊤ 와 X ⊤ X X^\top X X ⊤ X 의 0이 아닌 고유값은 같다(많아야 N N N 개).
10-6. 표준화# (a) 특성방정식 λ 2 − 101 λ + ( 100 − 36 ) = 0 \lambda^2-101\lambda+(100-36)=0 λ 2 − 101 λ + ( 100 − 36 ) = 0 .
λ = 101 ± 101 2 − 256 2 = 101 ± 9945 2 = 101 ± 99.725 2 .
\begin{aligned}
\lambda&=\frac{101\pm\sqrt{101^2-256}}2\\
&=\frac{101\pm\sqrt{9945}}2\\
&=\frac{101\pm99.725}2.
\end{aligned}
λ = 2 101 ± 10 1 2 − 256 = 2 101 ± 9945 = 2 101 ± 99.725 . λ 1 ≈ 100.36 \lambda_1\approx100.36 λ 1 ≈ 100.36 , λ 2 ≈ 0.64 \lambda_2\approx0.64 λ 2 ≈ 0.64 . 고유벡터: ( 100 − 100.36 ) u 1 + 6 u 2 = 0 (100-100.36)u_1+6u_2=0 ( 100 − 100.36 ) u 1 + 6 u 2 = 0 에서 u 2 ≈ 0.060 u 1 u_2\approx0.060u_1 u 2 ≈ 0.060 u 1 , 정규화하면 b 1 ≈ ( 0.998 , 0.060 ) b_1\approx(0.998,\ 0.060) b 1 ≈ ( 0.998 , 0.060 ) .
답: 첫 주성분이 거의 첫째 축이다. 첫째 특징의 단위(cm)가 커서 분산이 100이기 때문이지, 데이터 구조 때문이 아니다.
(b) 각 특징을 표준편차로 나누면 공분산이 S i j ′ = S i j / ( σ i σ j ) S'_{ij}=S_{ij}/(\sigma_i\sigma_j) S ij ′ = S ij / ( σ i σ j ) 가 된다: S 11 ′ = 100 100 = 1 S'_{11}=\frac{100}{100}=1 S 11 ′ = 100 100 = 1 , S 12 ′ = 6 10 ⋅ 1 = 0.6 S'_{12}=\frac6{10\cdot1}=0.6 S 12 ′ = 10 ⋅ 1 6 = 0.6 , S 22 ′ = 1 S'_{22}=1 S 22 ′ = 1 .
답: S ′ = [ 1 0.6 0.6 1 ] S'=\begin{bmatrix}1&0.6\\0.6&1\end{bmatrix} S ′ = [ 1 0.6 0.6 1 ] , 고유값 1 ± 0.6 = 1.6 , 0.4 1\pm0.6=1.6,\ 0.4 1 ± 0.6 = 1.6 , 0.4 , 고유벡터 b 1 = 1 2 ( 1 , 1 ) b_1=\frac1{\sqrt2}(1,1) b 1 = 2 1 ( 1 , 1 ) , b 2 = 1 2 ( 1 , − 1 ) b_2=\frac1{\sqrt2}(1,-1) b 2 = 2 1 ( 1 , − 1 ) . 두 특징이 같은 비중으로 들어간다.
(c)
표준화 (10.58): ( 185 − 170 10 , 0.5 − 0 1 ) = ( 1.5 , 0.5 ) \big(\frac{185-170}{10},\ \frac{0.5-0}1\big)=(1.5,\ 0.5) ( 10 185 − 170 , 1 0.5 − 0 ) = ( 1.5 , 0.5 ) 좌표 (10.60): z ∗ = b 1 ⊤ x ∗ = 1.5 + 0.5 2 = 2 ≈ 1.414 z_*=b_1^\top x_*=\frac{1.5+0.5}{\sqrt2}=\sqrt2\approx1.414 z ∗ = b 1 ⊤ x ∗ = 2 1.5 + 0.5 = 2 ≈ 1.414 표준화 공간에서의 사영 (10.59): x ~ ∗ = b 1 z ∗ = ( 1 , 1 ) \tilde x_*=b_1z_*=(1,\ 1) x ~ ∗ = b 1 z ∗ = ( 1 , 1 ) 되돌리기 (10.61): 표준편차를 곱하고 평균을 더한다. ( 1 ⋅ 10 + 170 , 1 ⋅ 1 + 0 ) (1\cdot10+170,\ 1\cdot1+0) ( 1 ⋅ 10 + 170 , 1 ⋅ 1 + 0 ) 답: x ~ ∗ = ( 180 , 1 ) \tilde x_*=(180,\ 1) x ~ ∗ = ( 180 , 1 ) . 교재는 PCA가 돌려주는 것은 사영 x ~ ∗ \tilde x_* x ~ ∗ 가 아니라 좌표 z ∗ z_* z ∗ 라고 강조한다.
10-7. 거듭제곱법# (a) 정규화 전 벡터: S x 0 = ( 2 , 1 ) Sx_0=(2,1) S x 0 = ( 2 , 1 ) , S ( 2 , 1 ) = ( 5 , 4 ) S(2,1)=(5,4) S ( 2 , 1 ) = ( 5 , 4 ) , S ( 5 , 4 ) = ( 14 , 13 ) S(5,4)=(14,13) S ( 5 , 4 ) = ( 14 , 13 ) .
답: x 1 = ( 2 , 1 ) 5 ≈ ( 0.894 , 0.447 ) x_1=\frac{(2,1)}{\sqrt5}\approx(0.894,0.447) x 1 = 5 ( 2 , 1 ) ≈ ( 0.894 , 0.447 ) , x 2 = ( 5 , 4 ) 41 ≈ ( 0.781 , 0.625 ) x_2=\frac{(5,4)}{\sqrt{41}}\approx(0.781,0.625) x 2 = 41 ( 5 , 4 ) ≈ ( 0.781 , 0.625 ) , x 3 = ( 14 , 13 ) 365 ≈ ( 0.733 , 0.680 ) x_3=\frac{(14,13)}{\sqrt{365}}\approx(0.733,0.680) x 3 = 365 ( 14 , 13 ) ≈ ( 0.733 , 0.680 ) . 1 2 ( 1 , 1 ) ≈ ( 0.707 , 0.707 ) \frac1{\sqrt2}(1,1)\approx(0.707,0.707) 2 1 ( 1 , 1 ) ≈ ( 0.707 , 0.707 ) 로 다가간다.
(b) 레일리 몫 v ⊤ S v v ⊤ v \frac{v^\top Sv}{v^\top v} v ⊤ v v ⊤ S v :
k = 1 k=1 k = 1 : ( 2 , 1 ) ⋅ ( 5 , 4 ) 5 = 14 5 = 2.8 \frac{(2,1)\cdot(5,4)}5=\frac{14}5=2.8 5 ( 2 , 1 ) ⋅ ( 5 , 4 ) = 5 14 = 2.8 k = 2 k=2 k = 2 : ( 5 , 4 ) ⋅ ( 14 , 13 ) 41 = 122 41 ≈ 2.976 \frac{(5,4)\cdot(14,13)}{41}=\frac{122}{41}\approx2.976 41 ( 5 , 4 ) ⋅ ( 14 , 13 ) = 41 122 ≈ 2.976 k = 3 k=3 k = 3 : ( 14 , 13 ) ⋅ ( 41 , 40 ) 365 = 1094 365 ≈ 2.997 \frac{(14,13)\cdot(41,40)}{365}=\frac{1094}{365}\approx2.997 365 ( 14 , 13 ) ⋅ ( 41 , 40 ) = 365 1094 ≈ 2.997 답: λ 1 = 3 \lambda_1=3 λ 1 = 3 으로 수렴한다.
(c) (교재 밖 보충 ) x 0 x_0 x 0 를 고유벡터로 나누면 x 0 = ( 1 , 0 ) = 1 2 ( 1 , 1 ) + 1 2 ( 1 , − 1 ) x_0=(1,0)=\frac12(1,1)+\frac12(1,-1) x 0 = ( 1 , 0 ) = 2 1 ( 1 , 1 ) + 2 1 ( 1 , − 1 ) 이다. 따라서
S k x 0 = 1 2 3 k ( 1 , 1 ) + 1 2 1 k ( 1 , − 1 ) = ( 3 k + 1 2 , 3 k − 1 2 ) .
\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}
S k x 0 = 2 1 3 k ( 1 , 1 ) + 2 1 1 k ( 1 , − 1 ) = ( 2 3 k + 1 , 2 3 k − 1 ) . b 2 b_2 b 2 성분은 b 1 b_1 b 1 성분에 비해 매번 λ 2 / λ 1 = 1 3 \lambda_2/\lambda_1=\frac13 λ 2 / λ 1 = 3 1 배로 줄어든다. 실제로 b 1 b_1 b 1 과의 각도가 18.4 ∘ → 6.3 ∘ → 2.1 ∘ → 0.7 ∘ 18.4^\circ\to6.3^\circ\to2.1^\circ\to0.7^\circ 18. 4 ∘ → 6. 3 ∘ → 2. 1 ∘ → 0. 7 ∘ 로 거의 3분의 1씩 준다. 두 고유값이 비슷하면 느리고, x 0 x_0 x 0 에 b 1 b_1 b 1 성분이 전혀 없으면 b 1 b_1 b 1 에 도달하지 못한다.
10-8. 확률적 PCA# (a) B B ⊤ = [ 4 2 2 1 ] BB^\top=\begin{bmatrix}4&2\\2&1\end{bmatrix} B B ⊤ = [ 4 2 2 1 ] .
답: B B ⊤ + σ 2 I = [ 5 2 2 2 ] BB^\top+\sigma^2I=\begin{bmatrix}5&2\\2&2\end{bmatrix} B B ⊤ + σ 2 I = [ 5 2 2 2 ] (10.70b)
(b) (10.71): Cov [ x , z ] = B = [ 2 , 1 ] ⊤ \text{Cov}[x,z]=B=[2,1]^\top Cov [ x , z ] = B = [ 2 , 1 ] ⊤ . (10.72):
p ( x , z ) = N ( [ x z ] | 0 , [ 5 2 2 2 2 1 2 1 1 ] ) .
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).
p ( x , z ) = N [ x z ] 0 , 5 2 2 2 2 1 2 1 1 . (c) det [ 5 2 2 2 ] = 6 \det\begin{bmatrix}5&2\\2&2\end{bmatrix}=6 det [ 5 2 2 2 ] = 6 , 역행렬 1 6 [ 2 − 2 − 2 5 ] \frac16\begin{bmatrix}2&-2\\-2&5\end{bmatrix} 6 1 [ 2 − 2 − 2 5 ] . 먼저 B ⊤ ( B B ⊤ + σ 2 I ) − 1 = 1 6 [ 4 − 2 , − 4 + 5 ] = 1 6 [ 2 , 1 ] B^\top(BB^\top+\sigma^2I)^{-1}=\frac16[4-2,\ -4+5]=\frac16[2,\ 1] B ⊤ ( B B ⊤ + σ 2 I ) − 1 = 6 1 [ 4 − 2 , − 4 + 5 ] = 6 1 [ 2 , 1 ] .
(10.74): m = 1 6 ( 2 ⋅ 3 + 1 ⋅ 1 ) = 7 6 m=\frac16(2\cdot3+1\cdot1)=\frac76 m = 6 1 ( 2 ⋅ 3 + 1 ⋅ 1 ) = 6 7 (10.75): C = 1 − 1 6 ( 2 ⋅ 2 + 1 ⋅ 1 ) = 1 − 5 6 = 1 6 C=1-\frac16(2\cdot2+1\cdot1)=1-\frac56=\frac16 C = 1 − 6 1 ( 2 ⋅ 2 + 1 ⋅ 1 ) = 1 − 6 5 = 6 1 답: p ( z ∣ x ) = N ( 7 6 , 1 6 ) ≈ N ( 1.167 , 0.167 ) p(z\mid x)=\mathcal N\big(\frac76,\ \frac16\big)\approx\mathcal N(1.167,\ 0.167) p ( z ∣ x ) = N ( 6 7 , 6 1 ) ≈ N ( 1.167 , 0.167 )
(교재 밖 보충 ) 역행렬 보조정리로 m = ( B ⊤ B + σ 2 ) − 1 B ⊤ x = 7 5 + 1 m=(B^\top B+\sigma^2)^{-1}B^\top x=\frac7{5+1} m = ( B ⊤ B + σ 2 ) − 1 B ⊤ x = 5 + 1 7 , C = σ 2 ( B ⊤ B + σ 2 ) − 1 = 1 6 C=\sigma^2(B^\top B+\sigma^2)^{-1}=\frac16 C = σ 2 ( B ⊤ B + σ 2 ) − 1 = 6 1 로 더 빨리 구할 수 있다.
(d) σ 2 → 0 \sigma^2\to0 σ 2 → 0 이면 m → ( B ⊤ B ) − 1 B ⊤ x = 7 5 = 1.4 m\to(B^\top B)^{-1}B^\top x=\frac75=1.4 m → ( B ⊤ B ) − 1 B ⊤ x = 5 7 = 1.4 , C → 0 C\to0 C → 0 . B m = ( 2.8 , 1.4 ) Bm=(2.8,\ 1.4) B m = ( 2.8 , 1.4 ) 는 x = ( 3 , 1 ) x=(3,1) x = ( 3 , 1 ) 을 직선 span ( B ) \text{span}(B) span ( B ) 에 직교사영한 점이다. 이 값이 PCA 좌표 b ⊤ x b^\top x b ⊤ x 와 같아지는 것은 B B B 의 열이 정규직교일 때뿐이다. 여기서는 ∥ B ∥ = 5 \|B\|=\sqrt5 ∥ B ∥ = 5 라서 정규화한 b = B / 5 b=B/\sqrt5 b = B / 5 의 PCA 좌표는 7 5 \frac7{\sqrt5} 5 7 이고, 1.4 1.4 1.4 와는 5 \sqrt5 5 배 차이가 난다.
10-9. 재구성 오차는 버린 고유값의 합이다# (a) x ~ n = ∑ m = 1 M z m n b m \tilde x_n=\sum_{m=1}^Mz_{mn}b_m x ~ n = ∑ m = 1 M z mn b m (10.28), J M = 1 N ∑ n ∥ x n − x ~ n ∥ 2 J_M=\frac1N\sum_n\|x_n-\tilde x_n\|^2 J M = N 1 ∑ n ∥ x n − x ~ n ∥ 2 (10.29). 연쇄법칙 (10.30):
∂ J M ∂ z i n = ∂ J M ∂ x ~ n ∂ x ~ n ∂ z i n = − 2 N ( x n − x ~ n ) ⊤ b i .
\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.
∂ z in ∂ J M = ∂ x ~ n ∂ J M ∂ z in ∂ x ~ n = − N 2 ( x n − x ~ n ) ⊤ b i . b b b 들이 정규직교이므로 x ~ n ⊤ b i = z i n \tilde x_n^\top b_i=z_{in} x ~ n ⊤ b i = z in 이고, 위 식은 − 2 N ( x n ⊤ b i − z i n ) -\frac2N(x_n^\top b_i-z_{in}) − N 2 ( x n ⊤ b i − z in ) (10.31b)이다.
답: 0으로 놓으면 z i n = x n ⊤ b i = b i ⊤ x n z_{in}=x_n^\top b_i=b_i^\top x_n z in = x n ⊤ b i = b i ⊤ x n (10.32). 최적 좌표는 직교사영의 좌표다.
(b) 정규직교 기저로 x n x_n x n 을 전부 펼치면 x n = ∑ d = 1 D ( b d ⊤ x n ) b d x_n=\sum_{d=1}^D(b_d^\top x_n)b_d x n = ∑ d = 1 D ( b d ⊤ x n ) b d (10.37)이다. (a)의 최적 좌표를 쓴 x ~ n \tilde x_n x ~ n 은 앞 M M M 개 항이므로
x n − x ~ n = ∑ j = M + 1 D ( b j ⊤ x n ) b j = ∑ j = M + 1 D b j b j ⊤ x n .
\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}
x n − x ~ n = j = M + 1 ∑ D ( b j ⊤ x n ) b j = j = M + 1 ∑ D b j b j ⊤ x n . 이것이 (10.38)이다. 오차 벡터는 버린 방향들만으로 이루어진다.
(c) 서로 수직인 벡터의 합의 제곱 노름은 제곱 노름의 합이다(피타고라스). 그래서 ∥ x n − x ~ n ∥ 2 = ∑ j > M ( b j ⊤ x n ) 2 \|x_n-\tilde x_n\|^2=\sum_{j>M}(b_j^\top x_n)^2 ∥ x n − x ~ n ∥ 2 = ∑ j > M ( b j ⊤ x n ) 2 이고
J M = 1 N ∑ n ∑ j > M b j ⊤ x n x n ⊤ b j = ∑ j > M b j ⊤ S b j .
\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}
J M = N 1 n ∑ j > M ∑ b j ⊤ x n x n ⊤ b j = j > M ∑ b j ⊤ S b j . 이것이 (10.43)이다.
(d) J M J_M J M 을 가장 작게 하려면 버리는 방향 b M + 1 , … , b D b_{M+1},\dots,b_D b M + 1 , … , b D 를 가장 작은 고유값들의 고유벡터로 고른다. 그러면 b j ⊤ S b j = λ j b_j^\top Sb_j=\lambda_j b j ⊤ S b j = λ j 이고 J M = ∑ j = M + 1 D λ j J_M=\sum_{j=M+1}^D\lambda_j J M = ∑ j = M + 1 D λ j (10.44)이다. 전체 분산은 V D = tr S = ∑ d = 1 D λ d V_D=\text{tr}S=\sum_{d=1}^D\lambda_d V D = tr S = ∑ d = 1 D λ d 이고, 남긴 분산은 V M = ∑ m = 1 M λ m V_M=\sum_{m=1}^M\lambda_m V M = ∑ m = 1 M λ m 이므로 V D = V M + J M V_D=V_M+J_M V D = V M + J M (10.24)~(10.25)이다. 전체 분산은 정해져 있으니 재구성 오차를 최소로 하는 것과 남긴 분산을 최대로 하는 것은 같은 일 이다. 두 관점이 같은 답을 주는 이유다.
11장 GMM과 EM# 11-1. 교재 예제의 책임도# 세 성분의 π k \pi_k π k 가 모두 1 3 \frac13 3 1 이라 (11.17)의 분자·분모에서 약분된다. 그래서 r n k = N k N 1 + N 2 + N 3 r_{nk}=\frac{\mathcal N_k}{\mathcal N_1+\mathcal N_2+\mathcal N_3} r nk = N 1 + N 2 + N 3 N k 만 계산하면 된다. 정규분포의 지수는 − ( x − μ ) 2 2 σ 2 -\frac{(x-\mu)^2}{2\sigma^2} − 2 σ 2 ( x − μ ) 2 이다.
x = − 1 x=-1 x = − 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 ∣ − 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 ∣ 0 , 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} N ( − 1 ∣ 8 , 3 ) = 0.2303 e − 81/6 = 0.2303 ( 1.37 × 1 0 − 6 ) ≈ 3.2 × 1 0 − 7 합 0.07765 0.07765 0.07765 .
답: r = ( 0.057 , 0.943 , 0.000 ) r=(0.057,\ 0.943,\ 0.000) r = ( 0.057 , 0.943 , 0.000 )
x = 2 x=2 x = 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 ∣ − 4 , 1 ) = 0.3989 e − 18 ≈ 6.1 × 1 0 − 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 ∣ 0 , 0.2 ) = 0.8921 e − 4/0.4 = 0.8921 ( 4.54 × 1 0 − 5 ) = 4.05 × 1 0 − 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} N ( 2 ∣ 8 , 3 ) = 0.2303 e − 36/6 = 0.2303 ( 0.002479 ) = 5.709 × 1 0 − 4 합 6.114 × 10 − 4 6.114\times10^{-4} 6.114 × 1 0 − 4 .
답: r = ( 0.000 , 0.066 , 0.934 ) r=(0.000,\ 0.066,\ 0.934) r = ( 0.000 , 0.066 , 0.934 )
둘 다 교재 (11.19)와 같다. x = 2 x=2 x = 2 는 성분 2의 평균 0에 더 가깝지만(거리 2 대 6), 성분 2는 분산이 0.2로 좁아서 표준편차 단위로는 2 / 0.2 ≈ 4.5 2/\sqrt{0.2}\approx4.5 2/ 0.2 ≈ 4.5 배, 성분 3은 6 / 3 ≈ 3.5 6/\sqrt3\approx3.5 6/ 3 ≈ 3.5 배 떨어져 있다. 그래서 성분 3이 책임을 더 진다.
11-2. 교재 예제의 M 단계 한 번# (a) 열마다 더한다.
N 1 = 1 + 1 + 0.057 + 0.001 = 2.058 N_1=1+1+0.057+0.001=2.058 N 1 = 1 + 1 + 0.057 + 0.001 = 2.058 N 2 = 0.943 + 0.999 + 0.066 = 2.008 N_2=0.943+0.999+0.066=2.008 N 2 = 0.943 + 0.999 + 0.066 = 2.008 N 3 = 0.934 + 1 + 1 = 2.934 N_3=0.934+1+1=2.934 N 3 = 0.934 + 1 + 1 = 2.934 합 7 = N 7=N 7 = N (행마다 책임도 합이 1이므로).
(b) (11.20) μ k = 1 N k ∑ n r n k x n \mu_k=\frac1{N_k}\sum_nr_{nk}x_n μ k = N k 1 ∑ n r nk x n :
μ 1 = − 3 − 2.5 + 0.057 ( − 1 ) + 0.001 ( 0 ) 2.058 = − 5.557 2.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 μ 1 = 2.058 − 3 − 2.5 + 0.057 ( − 1 ) + 0.001 ( 0 ) = 2.058 − 5.557 ≈ − 2.700 μ 2 = 0.943 ( − 1 ) + 0.999 ( 0 ) + 0.066 ( 2 ) 2.008 = − 0.811 2.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 μ 2 = 2.008 0.943 ( − 1 ) + 0.999 ( 0 ) + 0.066 ( 2 ) = 2.008 − 0.811 ≈ − 0.404 μ 3 = 0.934 ( 2 ) + 4 + 5 2.934 = 10.868 2.934 ≈ 3.704 \mu_3=\frac{0.934(2)+4+5}{2.934}=\frac{10.868}{2.934}\approx3.704 μ 3 = 2.934 0.934 ( 2 ) + 4 + 5 = 2.934 10.868 ≈ 3.704 (c) (11.30)의 1차원판 σ k 2 = 1 N k ∑ n r n k ( x n − μ k ) 2 \sigma_k^2=\frac1{N_k}\sum_nr_{nk}(x_n-\mu_k)^2 σ k 2 = N k 1 ∑ n r nk ( x n − μ k ) 2 , 새 평균 사용(교재 (11.54)~(11.55) 옆 주석).
σ 1 2 \sigma_1^2 σ 1 2 : 항 0.0899 , 0.0401 , 0.057 ( 1.700 ) 2 = 0.1648 , 0.001 ( 2.700 ) 2 = 0.0073 0.0899,\ 0.0401,\ 0.057(1.700)^2=0.1648,\ 0.001(2.700)^2=0.0073 0.0899 , 0.0401 , 0.057 ( 1.700 ) 2 = 0.1648 , 0.001 ( 2.700 ) 2 = 0.0073 , 합 0.3020 0.3020 0.3020 → 0.3020 2.058 ≈ 0.147 \frac{0.3020}{2.058}\approx0.147 2.058 0.3020 ≈ 0.147 σ 2 2 \sigma_2^2 σ 2 2 : 항 0.943 ( 0.596 ) 2 = 0.3351 , 0.999 ( 0.404 ) 2 = 0.1630 , 0.066 ( 2.404 ) 2 = 0.3814 0.943(0.596)^2=0.3351,\ 0.999(0.404)^2=0.1630,\ 0.066(2.404)^2=0.3814 0.943 ( 0.596 ) 2 = 0.3351 , 0.999 ( 0.404 ) 2 = 0.1630 , 0.066 ( 2.404 ) 2 = 0.3814 , 합 0.8795 0.8795 0.8795 → 0.8795 2.008 ≈ 0.438 \frac{0.8795}{2.008}\approx0.438 2.008 0.8795 ≈ 0.438 σ 3 2 \sigma_3^2 σ 3 2 : 항 0.934 ( 1.704 ) 2 = 2.7125 , ( 0.296 ) 2 = 0.0875 , ( 1.296 ) 2 = 1.6792 0.934(1.704)^2=2.7125,\ (0.296)^2=0.0875,\ (1.296)^2=1.6792 0.934 ( 1.704 ) 2 = 2.7125 , ( 0.296 ) 2 = 0.0875 , ( 1.296 ) 2 = 1.6792 , 합 4.4792 4.4792 4.4792 → 4.4792 2.934 ≈ 1.527 \frac{4.4792}{2.934}\approx1.527 2.934 4.4792 ≈ 1.527 (d) (11.42) π k = N k / N \pi_k=N_k/N π k = N k / N : 2.058 7 ≈ 0.294 \frac{2.058}7\approx0.294 7 2.058 ≈ 0.294 , 2.008 7 ≈ 0.287 \frac{2.008}7\approx0.287 7 2.008 ≈ 0.287 , 2.934 7 ≈ 0.419 \frac{2.934}7\approx0.419 7 2.934 ≈ 0.419 .
(e) 평균 − 2.7 , − 0.4 , 3.7 -2.7,-0.4,3.7 − 2.7 , − 0.4 , 3.7 과 비율 0.29 , 0.29 , 0.42 0.29,0.29,0.42 0.29 , 0.29 , 0.42 는 교재와 같다. 분산은 0.147 0.147 0.147 이 교재의 0.14 0.14 0.14 와 조금 다른데, 표의 x = 0 x=0 x = 0 행 0.001 0.001 0.001 때문이다. 정확한 책임도는 r 41 ≈ 0.00015 r_{41}\approx0.00015 r 41 ≈ 0.00015 이고, 반올림하지 않은 책임도로 계산하면 σ 1 2 ≈ 0.144 \sigma_1^2\approx0.144 σ 1 2 ≈ 0.144 로 교재 값이 나온다. 나머지 둘(0.438 ≈ 0.44 0.438\approx0.44 0.438 ≈ 0.44 , 1.527 ≈ 1.53 1.527\approx1.53 1.527 ≈ 1.53 )은 같다. 로그 가능도는 − 28.3 -28.3 − 28.3 에서 − 14.4 -14.4 − 14.4 로 늘어난다(교재 예제 11.5 끝).
11-3. 갱신식 유도: 평균과 분산# (a) 로그 가능도 (11.10)은 L = ∑ n log p ( x n ∣ θ ) L=\sum_n\log p(x_n\mid\theta) L = ∑ n log p ( x n ∣ θ ) , p ( x n ∣ θ ) = ∑ j π j N ( x n ∣ μ j , Σ j ) p(x_n\mid\theta)=\sum_j\pi_j\mathcal N(x_n\mid\mu_j,\Sigma_j) p ( x n ∣ θ ) = ∑ j π j N ( x n ∣ μ j , Σ j ) 이다. 로그의 미분 (11.15)로
∂ L ∂ μ k = ∑ n 1 p ( x n ∣ θ ) ∂ p ( x n ∣ θ ) ∂ μ 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 ∂ L = n ∑ p ( x n ∣ θ ) 1 ∂ μ k ∂ p ( x n ∣ θ ) . 합 안에서 μ k \mu_k μ k 를 가진 것은 k k k 번째 항뿐이다. 가우시안 지수 − 1 2 ( x − μ ) ⊤ Σ − 1 ( x − μ ) -\frac12(x-\mu)^\top\Sigma^{-1}(x-\mu) − 2 1 ( x − μ ) ⊤ Σ − 1 ( x − μ ) 를 μ \mu μ 로 미분하면 ( x − μ ) ⊤ Σ − 1 (x-\mu)^\top\Sigma^{-1} ( x − μ ) ⊤ Σ − 1 이므로 (11.21)
∂ p ( x n ∣ θ ) ∂ μ k = π k N ( x n ∣ μ k , Σ k ) ⋅ ( x n − μ 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}
∂ μ k ∂ p ( x n ∣ θ ) = π k N ( x n ∣ μ k , Σ k ) ⋅ ( x n − μ k ) ⊤ Σ k − 1 . 대입하면 분수 부분이 정확히 r n k r_{nk} r nk (11.17)이다 (11.22).
∂ L ∂ μ k = ∑ n r n k ( x n − μ k ) ⊤ Σ k − 1 = 0 ⊤ .
\frac{\partial L}{\partial\mu_k}=\sum_nr_{nk}(x_n-\mu_k)^\top\Sigma_k^{-1}=0^\top.
∂ μ k ∂ L = n ∑ r nk ( x n − μ k ) ⊤ Σ k − 1 = 0 ⊤ . 오른쪽에서 Σ k \Sigma_k Σ k 를 곱하면 ∑ n r n k x n = μ k ∑ n r n k = N k μ k \sum_nr_{nk}x_n=\mu_k\sum_nr_{nk}=N_k\mu_k ∑ n r nk x n = μ k ∑ n r nk = N k μ k .
답: μ k new = 1 N k ∑ n r n k x n \mu_k^{\text{new}}=\frac1{N_k}\sum_nr_{nk}x_n μ k new = N k 1 ∑ n r nk x n (11.20)
(b) 오른쪽의 r n k r_{nk} r nk 가 μ k \mu_k μ k 를 포함한 모든 매개변수에 의존한다. 식의 양쪽에 μ k \mu_k μ k 가 있는 셈이라 한 번에 풀리지 않는다. 그래서 r n k r_{nk} r nk 를 현재 값으로 고정하고 갱신하는 일을 반복한다(EM). 교재 11.3절 첫 문장이 이 이야기다.
(c) 1차원 로그 밀도 log N ( x ∣ μ , σ 2 ) = − 1 2 log 2 π − 1 2 log σ 2 − ( x − μ ) 2 2 σ 2 \log\mathcal N(x\mid\mu,\sigma^2)=-\frac12\log2\pi-\frac12\log\sigma^2-\frac{(x-\mu)^2}{2\sigma^2} log N ( x ∣ μ , σ 2 ) = − 2 1 log 2 π − 2 1 log σ 2 − 2 σ 2 ( x − μ ) 2 를 σ 2 \sigma^2 σ 2 로 미분하면 − 1 2 σ 2 + ( x − μ ) 2 2 σ 4 -\frac1{2\sigma^2}+\frac{(x-\mu)^2}{2\sigma^4} − 2 σ 2 1 + 2 σ 4 ( x − μ ) 2 이다. (a)와 같은 과정으로
∂ L ∂ σ k 2 = ∑ n r n k ( − 1 2 σ k 2 + ( x n − μ k ) 2 2 σ k 4 ) = 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}
∂ σ k 2 ∂ L = n ∑ r nk ( − 2 σ k 2 1 + 2 σ k 4 ( x n − μ k ) 2 ) = 0. 2 σ k 4 2\sigma_k^4 2 σ k 4 를 곱하면 ∑ n r n k ( − σ k 2 + ( x n − μ k ) 2 ) = 0 \sum_nr_{nk}\big(-\sigma_k^2+(x_n-\mu_k)^2\big)=0 ∑ n r nk ( − σ k 2 + ( x n − μ k ) 2 ) = 0 , 즉 N k σ k 2 = ∑ n r n k ( x n − μ k ) 2 N_k\sigma_k^2=\sum_nr_{nk}(x_n-\mu_k)^2 N k σ k 2 = ∑ n r nk ( x n − μ k ) 2 .
답: σ k 2 , new = 1 N k ∑ n r n k ( x n − μ k ) 2 \sigma_k^{2,\text{new}}=\frac1{N_k}\sum_nr_{nk}(x_n-\mu_k)^2 σ k 2 , new = N k 1 ∑ n r nk ( x n − μ k ) 2 ((11.30)의 1차원판)
11-4. 혼합 비율 갱신: 라그랑주 승수# (a) (11.43):
L = ∑ n log ∑ k π k N ( x n ∣ μ 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}
L = n ∑ log k ∑ π k N ( x n ∣ μ k , Σ k ) + λ ( k ∑ π k − 1 ) . (b) π k \pi_k π k 로 미분하면 (11.44)
∂ L ∂ π k = ∑ n N ( x n ∣ μ k , Σ k ) ∑ j π j N ( x n ∣ μ 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.
∂ π k ∂ L = n ∑ ∑ j π j N ( x n ∣ μ j , Σ j ) N ( x n ∣ μ k , Σ k ) + λ . 합 안의 분수는 r n k / π k r_{nk}/\pi_k r nk / π k 이므로 첫 항은 N k / π k N_k/\pi_k N k / π k 이다. 0으로 놓으면 π k = − N k / λ \pi_k=-N_k/\lambda π k = − N k / λ (11.46).
(c) 제약 ∑ k π k = 1 \sum_k\pi_k=1 ∑ k π k = 1 에 넣으면 − ∑ k N k λ = 1 -\frac{\sum_kN_k}\lambda=1 − λ ∑ k N k = 1 . 각 n n n 에서 ∑ k r n k = 1 \sum_kr_{nk}=1 ∑ k r nk = 1 이므로 ∑ k N k = N \sum_kN_k=N ∑ k N k = N 이고 λ = − N \lambda=-N λ = − N (11.47)~(11.48).
답: π k = N k N \pi_k=\frac{N_k}N π k = N N k (11.49). 성분 k k k 가 맡은 “유효 데이터 수"의 비율이다.
11-5. 잠재변수 관점과 결정 경계# (a) z = [ z 1 , z 2 ] ⊤ z=[z_1,z_2]^\top z = [ z 1 , z 2 ] ⊤ 은 원-핫(하나만 1). p ( z k = 1 ) = π k p(z_k=1)=\pi_k p ( z k = 1 ) = π k (11.59)(11.60), p ( x ∣ z k = 1 ) = N ( x ∣ μ k , σ k 2 ) p(x\mid z_k=1)=\mathcal N(x\mid\mu_k,\sigma_k^2) p ( x ∣ z k = 1 ) = N ( x ∣ μ k , σ k 2 ) (11.58). z z z 의 가능한 값 두 개에 대해 더하면 (11.65)(11.66)
p ( x ) = ∑ k p ( x ∣ z k = 1 ) p ( z k = 1 ) = ∑ k π k N ( x ∣ μ k , σ k 2 ) .
\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}
p ( x ) = k ∑ p ( x ∣ z k = 1 ) p ( z k = 1 ) = k ∑ π k N ( x ∣ μ k , σ k 2 ) . GMM이 그대로 나온다.
(b) x = 1 x=1 x = 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 N ( 1 ∣ 0 , 1 ) = N ( 1 ∣ 2 , 1 ) ≈ 0.2420 이다.
p ( z 1 = 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}
p ( z 1 = 1 ∣ x = 1 ) = 0.6 ( 0.2420 ) + 0.4 ( 0.2420 ) 0.6 ( 0.2420 ) = 0.6. 답: 0.6 = π 1 0.6=\pi_1 0.6 = π 1 . 가능도 비가 1이라 데이터가 어느 쪽 편도 들지 않으므로, 사후확률이 사전확률 그대로다.
(c) 0.6 e − x 2 / 2 = 0.4 e − ( x − 2 ) 2 / 2 0.6e^{-x^2/2}=0.4e^{-(x-2)^2/2} 0.6 e − x 2 /2 = 0.4 e − ( x − 2 ) 2 /2 . 로그를 취해 정리하면
log 1.5 = x 2 − ( x − 2 ) 2 2 = 4 x − 4 2 = 2 x − 2.
\begin{aligned}
\log1.5&=\frac{x^2-(x-2)^2}2\\
&=\frac{4x-4}2=2x-2.
\end{aligned}
log 1.5 = 2 x 2 − ( x − 2 ) 2 = 2 4 x − 4 = 2 x − 2. 답: x = 1 + log 1.5 2 ≈ 1.203 x=1+\frac{\log1.5}2\approx1.203 x = 1 + 2 l o g 1.5 ≈ 1.203 . 비율이 큰 성분 1이 경계를 성분 2 쪽으로 밀어낸다.
11-6. EM 한 바퀴: 잘 갈라진 데이터# (a) π \pi π 와 분산이 같으니 약분하면
r n 1 = e − ( x − 1 ) 2 / 2 e − ( x − 1 ) 2 / 2 + e − ( x − 5 ) 2 / 2 = 1 1 + e 4 x − 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}
r n 1 = e − ( x − 1 ) 2 /2 + e − ( x − 5 ) 2 /2 e − ( x − 1 ) 2 /2 = 1 + e 4 x − 12 1 . (( x − 1 ) 2 − ( x − 5 ) 2 = 8 x − 24 (x-1)^2-(x-5)^2=8x-24 ( x − 1 ) 2 − ( x − 5 ) 2 = 8 x − 24 를 2로 나눈 것이 4 x − 12 4x-12 4 x − 12 다.)
x n x_n x n 4 x − 12 4x-12 4 x − 12 r n 1 r_{n1} r n 1 r n 2 r_{n2} r n 2 0 − 12 -12 − 12 0.999994 0.999994 0.999994 0.000006 0.000006 0.000006 1 − 8 -8 − 8 0.999665 0.999665 0.999665 0.000335 0.000335 0.000335 5 8 8 8 0.000335 0.000335 0.000335 0.999665 0.999665 0.999665 6 12 12 12 0.000006 0.000006 0.000006 0.999994 0.999994 0.999994
(b)
N 1 = N 2 = 2.000 N_1=N_2=2.000 N 1 = N 2 = 2.000 (대칭)μ 1 \mu_1 μ 1 : 분자 ∑ n r n 1 x n = 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 ∑ n r n 1 x n = 0 ( 0.999994 ) + 1 ( 0.999665 ) + 5 ( 0.000335 ) + 6 ( 0.000006 ) = 1.00138 을 N 1 = 2 N_1=2 N 1 = 2 로 나누어 μ 1 ≈ 0.5007 \mu_1\approx0.5007 μ 1 ≈ 0.5007 , 대칭으로 μ 2 = 6 − 0.5007 = 5.4993 \mu_2=6-0.5007=5.4993 μ 2 = 6 − 0.5007 = 5.4993 σ 1 2 = 1 2 [ 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.0002 2 ≈ 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 σ 1 2 = 2 1 [ 0.999994 ( 0.5007 ) 2 + 0.999665 ( 0.4993 ) 2 + 0.000335 ( 4.4993 ) 2 + 0.000006 ( 5.4993 ) 2 ] = 2 0.2507 + 0.2492 + 0.0068 + 0.0002 ≈ 0.2534 , 대칭으로 σ 2 2 ≈ 0.2534 \sigma_2^2\approx0.2534 σ 2 2 ≈ 0.2534 π = ( 0.5 , 0.5 ) \pi=(0.5,\ 0.5) π = ( 0.5 , 0.5 ) (c) 교재 11.3절: EM의 매 단계는 로그 가능도를 늘린다(Neal and Hinton, 1999). 이 예에서는 M 단계가 분산을 1에서 0.25로 줄여 두 점씩 모인 덩어리에 밀도를 집중시켰기 때문에 데이터 위의 밀도가 커졌다.
(d) 책임도가 거의 0 또는 1이므로 μ k \mu_k μ k 는 거의 “그 성분에 배정된 점들의 평균” 0 + 1 2 = 0.5 \frac{0+1}2=0.5 2 0 + 1 = 0.5 , 5 + 6 2 = 5.5 \frac{5+6}2=5.5 2 5 + 6 = 5.5 이다. 이것이 K-평균의 중심 갱신 단계다. E 단계는 각 점을 가장 가까운 평균에 배정하는 K-평균의 배정 단계에 해당한다. 교재 11.5절은 “GMM의 평균을 군집 중심으로 보고 공분산을 무시(단위행렬로)하면 K-평균이 되며, K-평균은 딱 잘라 배정하고 GMM은 책임도로 부드럽게 배정한다"고 적는다. (교재 밖 보충: 모든 성분의 공분산을 σ 2 I \sigma^2I σ 2 I 로 같게 두고 σ 2 → 0 \sigma^2\to0 σ 2 → 0 으로 보내면 책임도가 정확히 0/1이 되어 K-평균과 같아진다.)
11-7. 최대가능도의 특이점# (a) 로그 밀도 항은 둘 다 양수인 두 항의 합의 로그이므로 한 항보다 크다.
log [ 0.5 N ( 0 ∣ 0 , ε ) + 0.5 N ( 0 ∣ 3 , 10 ) ] ≥ log 0.5 − 1 2 log ( 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}
log [ 0.5 N ( 0 ∣ 0 , ε ) + 0.5 N ( 0 ∣ 3 , 10 ) ] ≥ log 0.5 − 2 1 log ( 2 π ε ) . ε → 0 \varepsilon\to0 ε → 0 이면 − 1 2 log ε → + ∞ -\frac12\log\varepsilon\to+\infty − 2 1 log ε → + ∞ 이므로 이 항은 + ∞ +\infty + ∞ 로 간다.
(b) x ∈ { 1 , 5 , 6 } x\in\{1,5,6\} x ∈ { 1 , 5 , 6 } 의 항은 log [ 0.5 N ( x ∣ 3 , 10 ) ] \log\big[0.5\mathcal N(x\mid3,10)\big] log [ 0.5 N ( x ∣ 3 , 10 ) ] 이상이고, 이 값은 ε \varepsilon ε 과 무관한 유한한 수다(예: x = 1 x=1 x = 1 이면 약 − 2.96 -2.96 − 2.96 ). 합하면 “+ ∞ +\infty + ∞ 로 가는 항 + 아래로 유계인 항들"이므로 전체 로그 가능도 → + ∞ \to+\infty → + ∞ 다. 수치로는 ε = 10 − 2 \varepsilon=10^{-2} ε = 1 0 − 2 에서 − 8.43 -8.43 − 8.43 , 10 − 4 10^{-4} 1 0 − 4 에서 − 6.15 -6.15 − 6.15 이고, 이후 ε \varepsilon ε 이 줄 때마다 끝없이 커진다. 최대가능도 해가 존재하지 않는다.
(c) 교재 11.5절: GMM에서도 최대가능도는 심한 과적합을 겪을 수 있으며, 성분의 평균이 데이터 점 하나와 같아지고 공분산이 0으로 가면 가능도가 무한대가 된다. 이 성분은 점 하나에 무한한 밀도를 주지만 분포의 모양에 대해서는 아무것도 말해 주지 않는다. 교재는 사전분포를 두는 베이즈 접근을 대안으로 언급한다. (교재 밖 보충: 실제로는 분산에 하한을 두거나 공분산에 작은 ϵ I \epsilon I ϵ I 를 더하고, 무너진 성분은 다시 초기화하며, 공분산에 사전분포를 둔 MAP-EM을 쓴다.)
11-8. EM과 GMM 개념# (a) 베이즈 정리:
p ( z n k = 1 ∣ x n ) = p ( x n ∣ z n k = 1 ) p ( z n k = 1 ) ∑ j p ( x n ∣ z n j = 1 ) p ( z n j = 1 ) = π k N ( x n ∣ μ k , Σ k ) ∑ j π j N ( x n ∣ μ 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}
p ( z nk = 1 ∣ x n ) = ∑ j p ( x n ∣ z nj = 1 ) p ( z nj = 1 ) p ( x n ∣ z nk = 1 ) p ( z nk = 1 ) = ∑ j π j N ( x n ∣ μ j , Σ j ) π k N ( x n ∣ μ k , Σ k ) . 이 값이 r n k r_{nk} r nk (11.72)다. 책임도는 “이 점을 k k k 번 성분이 만들었을 사후확률"이다.
(b)
E 단계: 매개변수 θ ( t ) \theta^{(t)} θ ( t ) 를 고정하고 책임도 r n k r_{nk} r nk (잠재변수의 사후분포)를 계산한다.M 단계: 책임도를 고정하고 매개변수를 갱신한다. 일반적으로는 기대 완전 데이터 로그 가능도 Q ( θ ∣ θ ( t ) ) Q(\theta\mid\theta^{(t)}) Q ( θ ∣ θ ( t ) ) (11.73)을 최대화하고, GMM에서는 (11.54)~(11.56)이 된다.(c) GMM 로그 가능도는 오목하지 않아 봉우리가 여러 개다(성분 번호만 바꾼 해도 모두 같은 값이다). EM은 매 단계 로그 가능도를 늘리는 국소적 방법이라 시작점 근처의 봉우리에 멈출 수 있다. (교재 밖 보충: 초기값을 여러 번 바꿔 돌린 뒤 로그 가능도가 가장 큰 해를 고르거나, K-평균 결과로 초기화한다.)
(d) 가우시안 하나일 때는 log ∏ n N ( x n ∣ μ , Σ ) = ∑ n log N ( ⋯ ) \log\prod_n\mathcal N(x_n\mid\mu,\Sigma)=\sum_n\log\mathcal N(\cdots) log ∏ n N ( x n ∣ μ , Σ ) = ∑ n log N ( ⋯ ) 이고, 로그가 지수를 풀어 이차식의 합이 되므로 표본 평균·공분산이라는 닫힌 해가 나온다. GMM은 ∑ n log ∑ k π k N ( ⋯ ) \sum_n\log\sum_k\pi_k\mathcal N(\cdots) ∑ n log ∑ k π k N ( ⋯ ) 처럼 로그 안에 합 이 있어 로그가 지수를 풀지 못한다. 미분하면 모든 성분이 r n k r_{nk} r nk 로 얽혀 닫힌 해가 없다.
12장 SVM# 12-1. 초평면까지의 거리와 크기 조정# (a) ∥ w ∥ = 9 + 16 = 5 \|w\|=\sqrt{9+16}=5 ∥ w ∥ = 9 + 16 = 5 .
( 3 , 4 ) (3,4) ( 3 , 4 ) : f = 9 + 16 − 5 = 20 f=9+16-5=20 f = 9 + 16 − 5 = 20 , 거리 20 5 = 4 \frac{20}5=4 5 20 = 4 (양의 쪽)( 0 , 0 ) (0,0) ( 0 , 0 ) : f = − 5 f=-5 f = − 5 , 거리 − 1 -1 − 1 (음의 쪽, 거리 1)( 1 , 0.5 ) (1,0.5) ( 1 , 0.5 ) : f = 3 + 2 − 5 = 0 f=3+2-5=0 f = 3 + 2 − 5 = 0 , 초평면 위(b) { x : 6 x 1 + 8 x 2 − 10 = 0 } = { x : 2 ( 3 x 1 + 4 x 2 − 5 ) = 0 } \{x:6x_1+8x_2-10=0\}=\{x:2(3x_1+4x_2-5)=0\} { x : 6 x 1 + 8 x 2 − 10 = 0 } = { x : 2 ( 3 x 1 + 4 x 2 − 5 ) = 0 } 이므로 같은 집합이다. 그런데 f f f 값은 두 배가 되어, 예를 들어 ( 3 , 4 ) (3,4) ( 3 , 4 ) 의 y f yf y f 가 20에서 40이 된다. 부호 있는 거리 f / ∥ w ∥ = 40 / 10 = 4 f/\|w\|=40/10=4 f /∥ w ∥ = 40/10 = 4 는 그대로다.
(c) ( w , b ) (w,b) ( w , b ) 의 크기는 마음대로 정할 수 있으므로 가장 가까운 점에서 y n ( ⟨ w , x n ⟩ + b ) = 1 y_n(\langle w,x_n\rangle+b)=1 y n (⟨ w , x n ⟩ + b ) = 1 이 되게 고정한다 (12.15). 마진 위의 점 x a x_a x a 를 초평면에 직교사영한 점을 x a ′ x_a' x a ′ 이라 하면 x a = x a ′ + r w ∥ w ∥ x_a=x_a'+r\frac{w}{\|w\|} x a = x a ′ + r ∥ w ∥ w (12.8), ⟨ w , x a ′ ⟩ + b = 0 \langle w,x_a'\rangle+b=0 ⟨ w , x a ′ ⟩ + b = 0 (12.11)이다. x a ′ x_a' x a ′ 을 대입하면 (12.12)~(12.13)
⟨ w , x a ⟩ + b − r ⟨ w , w ⟩ ∥ w ∥ = 0.
\langle w,x_a\rangle+b-r\frac{\langle w,w\rangle}{\|w\|}=0.
⟨ w , x a ⟩ + b − r ∥ w ∥ ⟨ w , w ⟩ = 0. ⟨ w , x a ⟩ + b = 1 \langle w,x_a\rangle+b=1 ⟨ w , x a ⟩ + b = 1 이고 ⟨ w , w ⟩ ∥ w ∥ = ∥ w ∥ \frac{\langle w,w\rangle}{\|w\|}=\|w\| ∥ w ∥ ⟨ w , w ⟩ = ∥ w ∥ 이므로 1 − r ∥ w ∥ = 0 1-r\|w\|=0 1 − r ∥ w ∥ = 0 .
답: r = 1 ∥ w ∥ r=\frac1{\|w\|} r = ∥ w ∥ 1 (12.14). 마진을 최대로 하는 것은 ∥ w ∥ \|w\| ∥ w ∥ 를 최소로 하는 것과 같고, 미분하기 쉽게 1 2 ∥ w ∥ 2 \frac12\|w\|^2 2 1 ∥ w ∥ 2 를 최소화한다 (12.18).
12-2. 하드 마진 SVM: 눈에 보이는 답이 최적이 아닐 때# (a) f ( x ) = x 1 − 1 f(x)=x_1-1 f ( x ) = x 1 − 1 .
양성 ( 2 , 2 ) (2,2) ( 2 , 2 ) , ( 2 , 3 ) (2,3) ( 2 , 3 ) : f = 1 f=1 f = 1 , y f = 1 ≥ 1 yf=1\ge1 y f = 1 ≥ 1 음성 ( 0 , 0 ) (0,0) ( 0 , 0 ) , ( 0 , 1 ) (0,1) ( 0 , 1 ) : f = − 1 f=-1 f = − 1 , y f = 1 ≥ 1 yf=1\ge1 y f = 1 ≥ 1 답: 모든 제약을 만족하고 마진은 1 ∥ w ∥ = 1 \frac1{\|w\|}=1 ∥ w ∥ 1 = 1 이다.
(b) 양성의 볼록 껍질은 선분 { ( 2 , t ) : 2 ≤ t ≤ 3 } \{(2,t):2\le t\le3\} {( 2 , t ) : 2 ≤ t ≤ 3 } , 음성은 { ( 0 , s ) : 0 ≤ s ≤ 1 } \{(0,s):0\le s\le1\} {( 0 , s ) : 0 ≤ s ≤ 1 } 이다. 두 점 사이 거리의 제곱은 4 + ( t − s ) 2 4+(t-s)^2 4 + ( t − s ) 2 이고, t − s ≥ 2 − 1 = 1 t-s\ge2-1=1 t − s ≥ 2 − 1 = 1 이므로 t = 2 t=2 t = 2 , s = 1 s=1 s = 1 에서 최소다.
가장 가까운 두 점은 c = ( 2 , 2 ) c=(2,2) c = ( 2 , 2 ) , d = ( 0 , 1 ) d=(0,1) d = ( 0 , 1 ) 이고 거리는 5 \sqrt5 5 다. 12.3.2절 (12.44)처럼 w w w 는 c − d = ( 2 , 1 ) c-d=(2,1) c − d = ( 2 , 1 ) 방향이다. 최대 마진 초평면은 선분 c d cd c d 의 수직이등분선, 즉 중점 ( 1 , 1.5 ) (1,\ 1.5) ( 1 , 1.5 ) 를 지나고 법선이 ( 2 , 1 ) (2,1) ( 2 , 1 ) 인 직선 2 x 1 + x 2 = 3.5 2x_1+x_2=3.5 2 x 1 + x 2 = 3.5 이다.
크기 맞추기: w = k ( 2 , 1 ) w=k(2,1) w = k ( 2 , 1 ) , b = − 3.5 k b=-3.5k b = − 3.5 k 로 두면 f ( c ) = k ( 4 + 2 − 3.5 ) = 2.5 k = 1 f(c)=k(4+2-3.5)=2.5k=1 f ( c ) = k ( 4 + 2 − 3.5 ) = 2.5 k = 1 , k = 0.4 k=0.4 k = 0.4 .
답: w = ( 0.8 , 0.4 ) w=(0.8,\ 0.4) w = ( 0.8 , 0.4 ) , b = − 1.4 b=-1.4 b = − 1.4
모든 제약 확인: ( 2 , 2 ) (2,2) ( 2 , 2 ) : 1.6 + 0.8 − 1.4 = 1 1.6+0.8-1.4=1 1.6 + 0.8 − 1.4 = 1 , ( 2 , 3 ) (2,3) ( 2 , 3 ) : 1.6 + 1.2 − 1.4 = 1.4 1.6+1.2-1.4=1.4 1.6 + 1.2 − 1.4 = 1.4 , ( 0 , 0 ) (0,0) ( 0 , 0 ) : y f = 1.4 yf=1.4 y f = 1.4 , ( 0 , 1 ) (0,1) ( 0 , 1 ) : f = 0.4 − 1.4 = − 1 f=0.4-1.4=-1 f = 0.4 − 1.4 = − 1 이라 y f = 1 yf=1 y f = 1 . 모두 1 이상.
(c) ∥ w ∥ = 0.64 + 0.16 = 0.8 ≈ 0.894 \|w\|=\sqrt{0.64+0.16}=\sqrt{0.8}\approx0.894 ∥ w ∥ = 0.64 + 0.16 = 0.8 ≈ 0.894 , 마진 1 0.894 ≈ 1.118 = 5 2 \frac1{0.894}\approx1.118=\frac{\sqrt5}2 0.894 1 ≈ 1.118 = 2 5 (껍질 사이 거리의 절반). (a)의 1보다 크다. (a)의 수직선은 제약은 만족하지만 최적이 아니다. 마진을 정하는 것은 가로로 마주 보는 쌍이 아니라 대각선으로 가장 가까운 쌍 ( 2 , 2 ) (2,2) ( 2 , 2 ) –( 0 , 1 ) (0,1) ( 0 , 1 ) 이다.
(d) 서포트 벡터는 마진 위의 두 점 ( 2 , 2 ) (2,2) ( 2 , 2 ) (y = + 1 y=+1 y = + 1 )와 ( 0 , 1 ) (0,1) ( 0 , 1 ) (y = − 1 y=-1 y = − 1 )이다. 나머지 두 점은 y f = 1.4 > 1 yf=1.4>1 y f = 1.4 > 1 이라 α = 0 \alpha=0 α = 0 이다. ∑ y n α n = 0 \sum y_n\alpha_n=0 ∑ y n α 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}
w = α ( 2 , 2 ) − α ( 0 , 1 ) = α ( 2 , 1 ) = ( 0.8 , 0.4 ) . α = 0.4 \alpha=0.4 α = 0.4 (12.42): b = y − ⟨ w , x ⟩ = 1 − ( 1.6 + 0.8 ) = − 1.4 b=y-\langle w,x\rangle=1-(1.6+0.8)=-1.4 b = y − ⟨ w , x ⟩ = 1 − ( 1.6 + 0.8 ) = − 1.4 (( 0 , 1 ) (0,1) ( 0 , 1 ) 로 해도 − 1 − 0.4 = − 1.4 -1-0.4=-1.4 − 1 − 0.4 = − 1.4 ) 쌍대 목적(최대화형) ∑ α n − 1 2 ∥ w ∥ 2 = 0.8 − 0.4 = 0.4 \sum\alpha_n-\frac12\|w\|^2=0.8-0.4=0.4 ∑ α n − 2 1 ∥ w ∥ 2 = 0.8 − 0.4 = 0.4 원 목적 1 2 ∥ w ∥ 2 = 0.4 \frac12\|w\|^2=0.4 2 1 ∥ w ∥ 2 = 0.4 답: α = 0.4 \alpha=0.4 α = 0.4 (두 서포트 벡터), 나머지 0. 쌍대 목적값과 원 목적값이 0.4로 같다(강쌍대성). 원 문제의 해가 KKT 조건(제약 만족, α ≥ 0 \alpha\ge0 α ≥ 0 , 활성 제약에만 α > 0 \alpha>0 α > 0 , w = ∑ α n y n x n w=\sum\alpha_ny_nx_n w = ∑ α n y n x n , ∑ α n y n = 0 \sum\alpha_ny_n=0 ∑ α n y n = 0 )을 모두 만족하므로 이 α \alpha α 가 쌍대 최적해다.
12-3. 소프트 마진 쌍대 유도# (a) 제약 (12.26b) y n ( ⟨ w , x n ⟩ + b ) ≥ 1 − ξ n y_n(\langle w,x_n\rangle+b)\ge1-\xi_n y n (⟨ w , x n ⟩ + b ) ≥ 1 − ξ n 에 α n ≥ 0 \alpha_n\ge0 α n ≥ 0 , 제약 (12.26c) ξ n ≥ 0 \xi_n\ge0 ξ n ≥ 0 에 γ n ≥ 0 \gamma_n\ge0 γ n ≥ 0 을 붙인다 (12.34).
L = 1 2 ∥ w ∥ 2 + C ∑ n ξ n − ∑ n γ n ξ n − ∑ n α n ( y n ( ⟨ w , x n ⟩ + 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}
L = 2 1 ∥ w ∥ 2 + C n ∑ ξ n − n ∑ γ n ξ n − n ∑ α n ( y n (⟨ w , x n ⟩ + b ) − 1 + ξ n ) . (b) (12.35)~(12.37):
∂ L ∂ w = w ⊤ − ∑ n α n y n x n ⊤ \frac{\partial L}{\partial w}=w^\top-\sum_n\alpha_ny_nx_n^\top ∂ w ∂ L = w ⊤ − ∑ n α n y n x n ⊤ ∂ L ∂ b = − ∑ n α n y n \frac{\partial L}{\partial b}=-\sum_n\alpha_ny_n ∂ b ∂ L = − ∑ n α n y n ∂ L ∂ ξ n = C − α n − γ n \frac{\partial L}{\partial\xi_n}=C-\alpha_n-\gamma_n ∂ ξ n ∂ L = C − α n − γ n (c) 셋을 0으로 놓으면 w = ∑ n α n y n x n w=\sum_n\alpha_ny_nx_n w = ∑ n α n y n x n (12.38), ∑ n α n y n = 0 \sum_n\alpha_ny_n=0 ∑ n α n y n = 0 , γ n = C − α n \gamma_n=C-\alpha_n γ n = C − α n 이다. L L L 에 대입해 항별로 정리한다.
1 2 ∥ w ∥ 2 = 1 2 ∑ i ∑ j y i y j α i α j ⟨ x i , x j ⟩ \frac12\|w\|^2=\frac12\sum_i\sum_jy_iy_j\alpha_i\alpha_j\langle x_i,x_j\rangle 2 1 ∥ w ∥ 2 = 2 1 ∑ i ∑ j y i y j α i α j ⟨ x i , x j ⟩ − ∑ i α i y i ⟨ w , x i ⟩ = − ∑ i ∑ j y i y j α i α j ⟨ x i , x j ⟩ -\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 − ∑ i α i y i ⟨ w , x i ⟩ = − ∑ i ∑ j y i y j α i α j ⟨ x i , x j ⟩ − b ∑ i α i y i = 0 -b\sum_i\alpha_iy_i=0 − b ∑ i α i y i = 0 + ∑ i α i +\sum_i\alpha_i + ∑ i α i ξ \xi ξ 항: ∑ i ( C − α i − γ i ) ξ i = 0 \sum_i(C-\alpha_i-\gamma_i)\xi_i=0 ∑ i ( C − α i − γ i ) ξ i = 0 모두 더하면 (12.40):
D ( α ) = ∑ i α i − 1 2 ∑ i ∑ j y i y j α i α j ⟨ x i , x j ⟩ .
\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}
D ( α ) = i ∑ α i − 2 1 i ∑ j ∑ y i y j α i α j ⟨ x i , x j ⟩ . 쌍대 문제는 이를 최대화하는 것이고, 부호를 바꾸면 (12.41):
min α 1 2 ∑ i , j y i y j α i α j ⟨ x i , x j ⟩ − ∑ 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.
α min 2 1 i , j ∑ y i y j α i α j ⟨ x i , x j ⟩ − i ∑ α i . 조건은 ∑ i y i α i = 0 \sum_iy_i\alpha_i=0 ∑ i y i α i = 0 , 0 ≤ α i ≤ C 0\le\alpha_i\le C 0 ≤ α i ≤ C 다.
(d) α i ≥ 0 \alpha_i\ge0 α i ≥ 0 은 부등식 제약의 라그랑주 승수라서 생긴다. γ i = C − α i \gamma_i=C-\alpha_i γ i = C − α i 이고 γ i ≥ 0 \gamma_i\ge0 γ i ≥ 0 이어야 하므로 α i ≤ C \alpha_i\le C α i ≤ C 다. 이 “상자 제약"이 소프트 마진의 흔적이다.
(e) 하드 마진에는 ξ \xi ξ 와 γ \gamma γ 가 없어 위 상한이 없고 α i ≥ 0 \alpha_i\ge0 α i ≥ 0 만 남는다. 목적함수 모양은 같다. C → ∞ C\to\infty C → ∞ 이면 소프트 마진 쌍대가 하드 마진 쌍대가 된다.
12-4. 힌지 손실과 여유 변수# f ( x ) = x 1 − x 2 f(x)=x_1-x_2 f ( x ) = x 1 − x 2 , 힌지 손실 max { 0 , 1 − t } \max\{0,1-t\} max { 0 , 1 − t } (12.28), 최적 여유 변수 ξ n = max { 0 , 1 − t n } \xi_n=\max\{0,1-t_n\} ξ n = max { 0 , 1 − t n } ((12.32)~(12.33)).
(a), (b)
점 f ( x n ) f(x_n) f ( x n ) t n = y n f t_n=y_nf t n = y n f 힌지 = ξ n =\xi_n = ξ n 위치 1 ( 3 , 1 ) (3,1) ( 3 , 1 ) , + 1 +1 + 1 2 2 0 마진 밖(올바른 쪽, 여유 있음) 2 ( 1 , 0 ) (1,0) ( 1 , 0 ) , + 1 +1 + 1 1 1 0 마진 경계 위 3 ( 0 , 0.5 ) (0,0.5) ( 0 , 0.5 ) , − 1 -1 − 1 − 0.5 -0.5 − 0.5 0.5 0.5 마진 안(올바른 쪽) 4 ( 2 , 1 ) (2,1) ( 2 , 1 ) , − 1 -1 − 1 1 − 1 -1 − 1 2 잘못 분류
규칙: t ≥ 1 t\ge1 t ≥ 1 이면 손실 0, 0 ≤ t < 1 0\le t<1 0 ≤ t < 1 이면 맞게 분류했지만 마진 안, t < 0 t<0 t < 0 이면 잘못 분류.
(c) (12.31): 1 2 ∥ w ∥ 2 + C ∑ n max { 0 , 1 − t n } = 1 2 ( 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) 2 1 ∥ w ∥ 2 + C ∑ n max { 0 , 1 − t n } = 2 1 ( 1 + 1 ) + 1 ⋅ ( 0 + 0 + 0.5 + 2 ) .
답: 1 + 2.5 = 3.5 1+2.5=3.5 1 + 2.5 = 3.5
(d) 0-1 손실(틀리면 1)은 0 , 0 , 0 , 1 0,0,0,1 0 , 0 , 0 , 1 로 합 1이다. 힌지는 모든 t t t 에서 0-1 손실 이상이다. t ≥ 1 t\ge1 t ≥ 1 이면 둘 다 0이고, 0 ≤ t < 1 0\le t<1 0 ≤ t < 1 이면 힌지 1 − t > 0 1-t>0 1 − t > 0 , t < 0 t<0 t < 0 이면 힌지 1 − t > 1 1-t>1 1 − 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) ( 1 , − 1 ) 과 ( − 1 , 1 ) (-1,1) ( − 1 , 1 ) 을 잇는 선분이라 원점을 지난다. 두 껍질이 원점에서 만나므로 분리 초평면이 없다. 식으로는 f f f 가 아핀이라 f ( 0 ) = 1 2 f ( 1 , 1 ) + 1 2 f ( − 1 , − 1 ) > 0 f(0)=\frac12f(1,1)+\frac12f(-1,-1)>0 f ( 0 ) = 2 1 f ( 1 , 1 ) + 2 1 f ( − 1 , − 1 ) > 0 이면서 동시에 f ( 0 ) = 1 2 f ( 1 , − 1 ) + 1 2 f ( − 1 , 1 ) < 0 f(0)=\frac12f(1,-1)+\frac12f(-1,1)<0 f ( 0 ) = 2 1 f ( 1 , − 1 ) + 2 1 f ( − 1 , 1 ) < 0 이어야 하므로 모순이다.
(b) 전개한다.
( x ⊤ x ′ ) 2 = ( x 1 x 1 ′ + x 2 x 2 ′ ) 2 = x 1 2 x 1 ′ 2 + 2 x 1 x 2 x 1 ′ x 2 ′ + x 2 2 x 2 ′ 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}
( x ⊤ x ′ ) 2 = ( x 1 x 1 ′ + x 2 x 2 ′ ) 2 = x 1 2 x 1 ′2 + 2 x 1 x 2 x 1 ′ x 2 ′ + x 2 2 x 2 ′2 . 이는 ⟨ ( x 1 2 , 2 x 1 x 2 , x 2 2 ) , ( x 1 ′ 2 , 2 x 1 ′ x 2 ′ , x 2 ′ 2 ) ⟩ \langle(x_1^2,\sqrt2x_1x_2,x_2^2),\ (x_1'^2,\sqrt2x_1'x_2',x_2'^2)\rangle ⟨( x 1 2 , 2 x 1 x 2 , x 2 2 ) , ( x 1 ′2 , 2 x 1 ′ x 2 ′ , x 2 ′2 )⟩ 와 같다. 숫자 확인: x ⊤ x ′ = 3 − 2 = 1 x^\top x'=3-2=1 x ⊤ x ′ = 3 − 2 = 1 이라 k = 1 k=1 k = 1 . ϕ ( x ) = ( 1 , 2 2 , 4 ) \phi(x)=(1,\ 2\sqrt2,\ 4) ϕ ( x ) = ( 1 , 2 2 , 4 ) , ϕ ( x ′ ) = ( 9 , − 3 2 , 1 ) \phi(x')=(9,\ -3\sqrt2,\ 1) ϕ ( x ′ ) = ( 9 , − 3 2 , 1 ) , 내적 9 − 12 + 4 = 1 9-12+4=1 9 − 12 + 4 = 1 . 같다.
(c) 원래 내적: 같은 쌍 ( 1 , 1 ) ⋅ ( − 1 , − 1 ) = − 2 (1,1)\cdot(-1,-1)=-2 ( 1 , 1 ) ⋅ ( − 1 , − 1 ) = − 2 , ( 1 , − 1 ) ⋅ ( − 1 , 1 ) = − 2 (1,-1)\cdot(-1,1)=-2 ( 1 , − 1 ) ⋅ ( − 1 , 1 ) = − 2 , 자기 자신 2, 다른 부호끼리 0. 제곱하면
K = [ 4 4 0 0 4 4 0 0 0 0 4 4 0 0 4 4 ] .
K=\begin{bmatrix}4&4&0&0\\4&4&0&0\\0&0&4&4\\0&0&4&4\end{bmatrix}.
K = 4 4 0 0 4 4 0 0 0 0 4 4 0 0 4 4 . 답: 고유값 8 , 8 , 0 , 0 ≥ 0 8,8,0,0\ge0 8 , 8 , 0 , 0 ≥ 0 . z ⊤ K z = 4 ( z 1 + z 2 ) 2 + 4 ( z 3 + z 4 ) 2 ≥ 0 z^\top Kz=4(z_1+z_2)^2+4(z_3+z_4)^2\ge0 z ⊤ Kz = 4 ( z 1 + z 2 ) 2 + 4 ( z 3 + z 4 ) 2 ≥ 0 이므로 양의 준정부호다 (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 ) , ϕ ( 1 , − 1 ) = ϕ ( − 1 , 1 ) = ( 1 , − 2 , 1 ) \phi(1,-1)=\phi(-1,1)=(1,-\sqrt2,1) ϕ ( 1 , − 1 ) = ϕ ( − 1 , 1 ) = ( 1 , − 2 , 1 ) . 특징 공간에서는 점이 두 개뿐이고 거리는 2 2 2\sqrt2 2 2 다. 최대 마진은 그 절반 2 \sqrt2 2 이고, 초평면은 두 점의 수직이등분면이다. 법선은 ( 0 , 1 , 0 ) (0,1,0) ( 0 , 1 , 0 ) 방향이고 중점 ( 1 , 0 , 1 ) (1,0,1) ( 1 , 0 , 1 ) 을 지나므로 b = 0 b=0 b = 0 이다. w = ( 0 , w 2 , 0 ) w=(0,w_2,0) w = ( 0 , w 2 , 0 ) 으로 두면 y f = 2 w 2 = 1 yf=\sqrt2w_2=1 y f = 2 w 2 = 1 에서 w 2 = 1 2 w_2=\frac1{\sqrt2} w 2 = 2 1 .
답: w = ( 0 , 1 2 , 0 ) w=(0,\frac1{\sqrt2},0) w = ( 0 , 2 1 , 0 ) , b = 0 b=0 b = 0 , 마진 1 ∥ w ∥ = 2 \frac1{\|w\|}=\sqrt2 ∥ w ∥ 1 = 2 . 결정 함수 f ( x ) = 1 2 ⋅ 2 x 1 x 2 = x 1 x 2 f(x)=\frac1{\sqrt2}\cdot\sqrt2x_1x_2=x_1x_2 f ( x ) = 2 1 ⋅ 2 x 1 x 2 = x 1 x 2 . 1·3사분면이 양성, 2·4사분면이 음성이다.
(e) 네 점 모두 마진 위(y f = 1 yf=1 y f = 1 )라 서포트 벡터다. 대칭성으로 모든 α n = α \alpha_n=\alpha α n = α 로 두면 ∑ y n α n = 0 \sum y_n\alpha_n=0 ∑ y n α n = 0 이 성립하고
w = ∑ n α y n ϕ ( x n ) = α [ 2 ( 1 , 2 , 1 ) − 2 ( 1 , − 2 , 1 ) ] = α ( 0 , 4 2 , 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}
w = n ∑ α y n ϕ ( x n ) = α [ 2 ( 1 , 2 , 1 ) − 2 ( 1 , − 2 , 1 ) ] = α ( 0 , 4 2 , 0 ) . 1 2 = 4 2 α \frac1{\sqrt2}=4\sqrt2\alpha 2 1 = 4 2 α 에서 α = 1 8 \alpha=\frac18 α = 8 1 . 커널만으로 쓰면
f ( x ) = 1 8 [ 2 ( x 1 + x 2 ) 2 − 2 ( x 1 − x 2 ) 2 ] = 1 8 ⋅ 8 x 1 x 2 = x 1 x 2 .
\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}
f ( x ) = 8 1 [ 2 ( x 1 + x 2 ) 2 − 2 ( x 1 − x 2 ) 2 ] = 8 1 ⋅ 8 x 1 x 2 = x 1 x 2 . (d)와 같다. 쌍대 값 ∑ α − 1 2 ∥ w ∥ 2 = 0.5 − 0.25 = 0.25 = 1 2 ∥ w ∥ 2 \sum\alpha-\frac12\|w\|^2=0.5-0.25=0.25=\frac12\|w\|^2 ∑ α − 2 1 ∥ w ∥ 2 = 0.5 − 0.25 = 0.25 = 2 1 ∥ w ∥ 2 도 맞는다. 양성 두 점이 특징 공간에서 같은 점이라 α \alpha α 를 둘 사이에 나누는 방법은 여럿이지만(합만 정해진다), w w w 와 f f f 는 하나로 정해진다.
(f) 1차원 점 0 0 0 , 1 1 1 : k ( 0 , 0 ) = 0 k(0,0)=0 k ( 0 , 0 ) = 0 , k ( 1 , 1 ) = 0 k(1,1)=0 k ( 1 , 1 ) = 0 , k ( 0 , 1 ) = − 1 k(0,1)=-1 k ( 0 , 1 ) = − 1 이므로 K = [ 0 − 1 − 1 0 ] K=\begin{bmatrix}0&-1\\-1&0\end{bmatrix} K = [ 0 − 1 − 1 0 ] . z = ( 1 , 1 ) z=(1,1) z = ( 1 , 1 ) 이면 z ⊤ K z = − 2 < 0 z^\top Kz=-2<0 z ⊤ Kz = − 2 < 0 .
답: 그람 행렬이 양의 준정부호가 아니므로 (12.53)을 어겨 커널이 될 수 없다. 고유값도 ± 1 \pm1 ± 1 이다.
12-6. C C C 와 정규화 계수 λ \lambda λ 의 관계# (a) (12.31)을 양수 C N CN CN 으로 나누어도 최소점은 같다.
1 N ∑ n max { 0 , 1 − y n f ( x n ) } + 1 2 C N ∥ w ∥ 2 .
\begin{aligned}
&\frac1N\sum_n\max\{0,1-y_nf(x_n)\}\\
&+\frac1{2CN}\|w\|^2.
\end{aligned}
N 1 n ∑ max { 0 , 1 − y n f ( x n )} + 2 CN 1 ∥ w ∥ 2 . 앞은 힌지 손실의 경험적 위험 (8.6), 뒤는 (8.12) 꼴의 정규화항이다.
답: λ = 1 2 C N \lambda=\frac1{2CN} λ = 2 CN 1 . SVM은 “힌지 손실 + L 2 L_2 L 2 정규화"의 경험적 위험 최소화다. 교재 8.2.3절의 “정규화항은 큰 마진과 같은 생각"이라는 말이 이것이다.
(b) C C C 가 크면 λ \lambda λ 가 작다. 마진 위반에 큰 벌을 주므로 마진이 좁아지고 훈련 오류가 줄지만 과적합 위험이 있다. C C C 가 작으면 λ \lambda λ 가 크다. ∥ w ∥ \|w\| ∥ w ∥ 를 작게(마진을 넓게) 하고 위반을 더 허용하므로 단순해지지만 과소적합할 수 있다.
(c) C → ∞ C\to\infty C → ∞ 이면 ξ n > 0 \xi_n>0 ξ n > 0 이 무한히 비싸 ξ n = 0 \xi_n=0 ξ n = 0 이 강제된다. 하드 마진 (12.18)이 되고, 선형 분리가 불가능한 데이터에서는 해가 없다.
12-7. 커널 SVM으로 예측하기# f ( x ) = k ( x 1 , x ) − k ( x 2 , x ) = e − 1 2 ∥ x ∥ 2 − e − 1 2 ∥ x − ( 1 , 1 ) ∥ 2 f(x)=k(x_1,x)-k(x_2,x)=e^{-\frac12\|x\|^2}-e^{-\frac12\|x-(1,1)\|^2} f ( x ) = k ( x 1 , x ) − k ( x 2 , x ) = e − 2 1 ∥ x ∥ 2 − e − 2 1 ∥ x − ( 1 , 1 ) ∥ 2 .
(a)
x ∗ = ( 0 , 1 ) x_*=(0,1) x ∗ = ( 0 , 1 ) : ∥ x ∥ 2 = 1 \|x\|^2=1 ∥ x ∥ 2 = 1 , ∥ x − ( 1 , 1 ) ∥ 2 = 1 \|x-(1,1)\|^2=1 ∥ x − ( 1 , 1 ) ∥ 2 = 1 → f = e − 0.5 − e − 0.5 = 0 f=e^{-0.5}-e^{-0.5}=0 f = e − 0.5 − e − 0.5 = 0 , 경계 위 x ∗ = ( 0 , 0.5 ) x_*=(0,0.5) x ∗ = ( 0 , 0.5 ) : 0.25 0.25 0.25 와 1.25 1.25 1.25 → f = e − 0.125 − e − 0.625 = 0.8825 − 0.5353 = 0.347 > 0 f=e^{-0.125}-e^{-0.625}=0.8825-0.5353=0.347>0 f = e − 0.125 − e − 0.625 = 0.8825 − 0.5353 = 0.347 > 0 , + 1 +1 + 1 x ∗ = ( 2 , 2 ) x_*=(2,2) x ∗ = ( 2 , 2 ) : 8 8 8 과 2 2 2 → f = e − 4 − e − 1 = 0.0183 − 0.3679 = − 0.350 < 0 f=e^{-4}-e^{-1}=0.0183-0.3679=-0.350<0 f = e − 4 − e − 1 = 0.0183 − 0.3679 = − 0.350 < 0 , − 1 -1 − 1 (b) f = 0 f=0 f = 0 ⇔ ∥ x ∥ 2 = ∥ x − ( 1 , 1 ) ∥ 2 \|x\|^2=\|x-(1,1)\|^2 ∥ x ∥ 2 = ∥ x − ( 1 , 1 ) ∥ 2 ⇔ 0 = − 2 x 1 − 2 x 2 + 2 0=-2x_1-2x_2+2 0 = − 2 x 1 − 2 x 2 + 2 .
답: 직선 x 1 + x 2 = 1 x_1+x_2=1 x 1 + x 2 = 1 . 두 서포트 벡터의 수직이등분선이다(α \alpha α 가 같고 RBF가 거리에만 의존하므로).
(c) 교재 12.4절: 가우시안 RBF 커널의 특징 공간은 무한 차원이라 특징을 명시적으로 쓸 수 없고, 커널로 유사도만 계산할 수 있다. 쌍대 해와 (12.38) w = ∑ n α n y n ϕ ( x n ) w=\sum_n\alpha_ny_n\phi(x_n) w = ∑ n α n y n ϕ ( x n ) 덕분에 ⟨ w , ϕ ( x ) ⟩ = ∑ n α n y n k ( x n , x ) \langle w,\phi(x)\rangle=\sum_n\alpha_ny_nk(x_n,x) ⟨ w , ϕ ( x )⟩ = ∑ n α n y n k ( x n , x ) 로 예측하므로 w w w 자체는 필요 없다.
12-8. SVM 개념# (a) (12.38) 뒤 Remark: α n > 0 \alpha_n>0 α n > 0 인 점이 서포트 벡터이고, 초평면을 “떠받친다”. w = ∑ α n y n x n w=\sum\alpha_ny_nx_n w = ∑ α n y n x n 에는 α n > 0 \alpha_n>0 α n > 0 인 점만 들어가고, b b b 도 마진 위의 점으로 정한다. α n = 0 \alpha_n=0 α n = 0 인 점은 제약이 느슨해서(y n f ≥ 1 y_nf\ge1 y n f ≥ 1 ) 지워도 남은 문제에서 같은 ( w , b ) (w,b) ( w , b ) 가 KKT 조건을 모두 만족한다. 그러니 해가 그대로다.
(b) (교재 12.3.1절 여백 주석, KKT 조건)
0 < α n < C 0<\alpha_n<C 0 < α n < C : γ n = C − α n > 0 \gamma_n=C-\alpha_n>0 γ n = C − α n > 0 이므로 γ n ξ n = 0 \gamma_n\xi_n=0 γ n ξ n = 0 에서 ξ n = 0 \xi_n=0 ξ n = 0 . 또 α n > 0 \alpha_n>0 α n > 0 이라 제약이 등호로 성립해 y n f ( x n ) = 1 y_nf(x_n)=1 y n f ( x n ) = 1 이다. 정확히 마진 경계 위 의 점이다. 그래서 (12.42)로 b b b 를 구할 때 이런 점을 쓴다.α n = C \alpha_n=C α n = C : γ n = 0 \gamma_n=0 γ n = 0 이라 ξ n > 0 \xi_n>0 ξ n > 0 일 수 있다. y n f = 1 − ξ n ≤ 1 y_nf=1-\xi_n\le1 y n f = 1 − ξ n ≤ 1 이므로 마진 안이나 잘못 분류된 점이다(경계 위일 수도 있다).α n = 0 \alpha_n=0 α n = 0 : y n f ≥ 1 y_nf\ge1 y n f ≥ 1 , 마진 밖이나 경계 위.(c)
쌍대는 데이터를 내적 ⟨ x i , x j ⟩ \langle x_i,x_j\rangle ⟨ x i , x j ⟩ 으로만 쓰므로, 이를 커널 k ( x i , x j ) k(x_i,x_j) k ( x i , x j ) 로 바꿔 비선형 분류를 할 수 있다(12.4절). 변수 수가 N N N 개(α \alpha α )이고 제약이 상자 꼴 0 ≤ α i ≤ C 0\le\alpha_i\le C 0 ≤ α i ≤ C 라 다루기 쉽다. 특징 차원 D D D 가 데이터 수보다 클 때 특히 유리하다. (d) 목적함수 1 2 ∥ w ∥ 2 + C ∑ ξ n \frac12\|w\|^2+C\sum\xi_n 2 1 ∥ w ∥ 2 + C ∑ ξ n 은 양의 준정부호 이차식 + 일차식이라 볼록이다. 제약 y n ( ⟨ w , x n ⟩ + b ) ≥ 1 − ξ n y_n(\langle w,x_n\rangle+b)\ge1-\xi_n y n (⟨ w , x n ⟩ + b ) ≥ 1 − ξ n , ξ n ≥ 0 \xi_n\ge0 ξ n ≥ 0 은 ( w , b , ξ ) (w,b,\xi) ( w , b , ξ ) 에 대해 일차(아핀) 부등식이라 실현 가능 영역이 볼록이다. 따라서 볼록 이차계획 문제(교재 12.5절)이고, 국소 최적이 곧 전역 최적이다.
OX 퀴즈 답# X. MML은 1 N \frac1N N 1 로 나눈다 (10.1).X. 교재 (8.48)의 AIC는 큰 값을 고른다. 작을수록 좋은 것은 2 M − 2 log p 2M-2\log p 2 M − 2 log p 꼴이다(8-8 (d)).X. MAP은 사후분포의 최빈값 하나, 즉 점추정 이다(8.3.2절: 사전분포를 쓰지만 여전히 점추정만 준다).O. (9.31)~(9.34).X. 사후 예측 분산은 ϕ ⊤ S N ϕ + σ 2 ≥ σ 2 \phi^\top S_N\phi+\sigma^2\ge\sigma^2 ϕ ⊤ S N ϕ + σ 2 ≥ σ 2 이다 (9.57c). 노이즈는 데이터가 아무리 많아도 줄지 않는다.X. 반대다. 머리-머리 노드 d d d (또는 그 자손)를 관측하면 a a a 와 c c c 사이에 의존이 생긴다 (8.38, 설명해 없애기).X. 가장 큰 고유값의 고유벡터다 (10.15).O. (10.44).O. 각 n n n 에서 r n ⋅ r_{n\cdot} r n ⋅ 는 확률 벡터다(11.2절).X. 매 단계 로그 가능도를 늘리지만 국소 최댓값에 멈출 수 있다(11-8 (c)).O. (12.14)~(12.18).O. (12.38).O. (12.53).X. 반대다. 9장은 N × D N\times D N × D , 10장은 D × N D\times N D × N (10.46 옆 설명).X. 증거는 쓸데없이 복잡한 모델에 자동으로 벌점을 준다(8.6.2절, 그림 8.14, 9-6).