[{"content":"Deisenroth, Faisal, Ong의 Mathematics for Machine Learning(MML) 212장을 장마다 한 편씩 풀어 쓴 해설이다. 기초수학(Part 1, 27장)과 기초 AI(Part 2, 8~12장)를 범위로 하는 필기시험을 준비하면서 만들었다. 그래서 장마다 손계산 예제, 백지에 써 볼 유도, 말로 설명하기, 확인 문제, 시험 직전 요약이 들어 있다.\n교재는 저자들이 mml-book.github.io에 PDF로 공개해 두었다. 해설에 적힌 쪽수와 식 번호는 그 PDF 기준이다.\n글의 구성 모든 장은 같은 순서로 되어 있다.\n장 지도: 절마다 핵심 한 줄과 중요도, 뒤쪽 장에서 쓰이는 곳 절별 해설: 왜 필요한가 → 정의와 성질 → 손으로 풀어 보는 예제 → 헷갈리는 점 핵심 유도 모음: 백지에 처음부터 써 볼 유도 말로 설명하기: 서술형·구술 질문에 30~60초로 답하는 예시 연습문제: 교재 연습문제 풀이, 또는 해설이 만든 확인 문제 시험 직전 10분 요약 글이 길다. 글 머리의 목차를 펼치면 절로 바로 갈 수 있고, 화면보다 넓은 수식과 표는 옆으로 밀어서 본다.\n장 목록 2장 선형대수 (교재 17~69쪽): 가우스 소거로 해집합 구하기, 랭크·영공간, 기저 변환 행렬. 교재 연습문제 풀이 포함. 3장 해석기하 (7097쪽): 부분공간 사영 πU(x)=B(B⊤B)−1B⊤x\\pi_U(x)=B(B^\\top B)^{-1}B^\\top xπU​(x)=B(B⊤B)−1B⊤x, 그람-슈미트, 내적의 양의 정부호 판정. 연습문제 3.13.10 풀이. 4장 행렬분해 (98138쪽): 고유값·고유벡터, 대각화, SVD 손계산(A=[3045]A=\\begin{bmatrix}3\u0026amp;0\\\\4\u0026amp;5\\end{bmatrix}A=[34​05​]), 계수 1 근사. 연습문제 4.14.12 풀이. 5장 벡터 미적분 (139~171쪽): 기울기·야코비안의 크기 맞추기, 연쇄법칙, 행렬 미분 항등식, 작은 신경망 역전파. 교재 연습문제 풀이 포함. 6장 확률과 분포 (172224쪽): 베이즈 정리, 가우시안 조건부·곱·선형변환, 베타-이항 갱신, 지수족 변환, 변수 변환. 연습문제 6.16.13 풀이. 7장 연속최적화 (225~248쪽): 경사하강법 수렴 조건, 라그랑주 승수, 쌍대 함수, 볼록성 판정, 볼록 켤레. 교재 연습문제 풀이 포함. 8장 모델과 데이터 (251~288쪽): MLE·MAP 계산, 경험적 위험, d-분리, AIC·BIC. 확인 문제(교재에 장 끝 문제 없음). 9장 선형회귀 (289~316쪽): 정규방정식, 릿지=MAP, 베이즈 사후분포·예측분산, 사영 해석. 확인 문제. 10장 PCA (317~347쪽): 4점 데이터 PCA 처음부터 끝까지, 재구성 오차 = 버린 고유값 합, N\u0026lt;DN\u0026lt;DN\u0026lt;D 트릭, PPCA 사후분포. 확인 문제. 11장 GMM·EM (348~369쪽): 책임도 rnkr_{nk}rnk​ 계산, μk,Σk,πk\\mu_k,\\Sigma_k,\\pi_kμk​,Σk​,πk​ 갱신 한 바퀴. 확인 문제. 12장 SVM (370~394쪽): 마진 1/∥w∥1/\\|w\\|1/∥w∥ 유도, 3점 하드 마진 쌍대 손계산, 힌지 손실, 커널 특징 맵. 확인 문제. 2~7장 교재 연습문제 75개의 전체 풀이는 따로 한 편으로 모았다. 문제마다 단계별 풀이, 답, 검산 순서로 되어 있어 장별 글의 연습문제 답을 손으로 따라 쓸 수 있다.\n교재 연습문제 전체 풀이 (교재 64248쪽의 장 끝 문제): 2.12.20, 3.13.10, 4.14.12, 5.15.9, 6.16.13, 7.1~7.11. 8~12장은 교재에 장 끝 문제가 없어서, 교재의 절·식·예제를 따라 손으로 풀 수 있는 문제를 만들었다. 문제지와 풀이를 두 편으로 나눠 먼저 문제만 보고 풀어 볼 수 있게 했다.\n8~12장 연습문제: 8-18-9, 9-19-9, 10-110-9, 11-111-8, 12-1~12-8과 OX 퀴즈 15문항. 문제마다 근거가 되는 교재 절과 식 번호를 적었다. 8~12장 연습문제 풀이: 문제마다 단계별 풀이와 답. 숫자 답은 numpy·scipy로 검산했다. 마지막으로 실제 시험 시간(과목당 60분)에 맞춘 모의고사를 만들었다. 과목마다 기본 계산 위주의 A형(우리말)과 증명·유도 위주의 B형(영어 지문)이 있다.\n실전 모의고사: Part 1·Part 2 각각 A형·B형 6문항씩, 모두 24문항과 영어 지문 용어 대조표. 실전 모의고사 풀이: 문제마다 단계별 풀이, 답, 채점 포인트, 교재 근거. 숫자 답은 sympy·numpy로 검산했다. 시험 직전에는 아래 한 편만 보면 된다. 장별 글의 핵심과 요약, 모의고사 풀이에서 공식·조건·증명 뼈대만 골라 모았다.\n시험 직전 최종 정리: 시험장에서 쓰는 요령, 표기 함정, 2~12장 공식과 조건, 증명·유도 뼈대 12개, 서술형 답, 영어 지문 용어, 입실 직전 점검 목록. 검산과 표시 손계산 예제와 연습문제·확인 문제의 숫자는 sympy·numpy로 다시 계산해 확인했고, 식 번호와 쪽수는 교재 원문과 대조했다. 교재에 없는 내용은 \u0026ldquo;교재 밖 보충\u0026quot;이라고 표시했다. Part 2(8~12장)에는 교재에 장 끝 연습문제가 없다. 그래서 확인 문제와 교재 예제를 연결한 과제를 넣었다. 공부 순서 (5일) 27장(수학)을 먼저 되살리면 812장이 훨씬 빨리 읽힌다. 8~12장은 그 수학을 머신러닝에 쓰는 장이기 때문이다. 각 장은 \u0026ldquo;손으로 풀어 보는 예제\u0026quot;를 직접 따라 쓰고 → 핵심 유도를 백지에 한 번 써 보고 → 확인 문제를 푸는 순서를 권한다.\n1일차: 2장. 연립방정식·랭크·선형사상. 이후 모든 장의 언어다. 2일차: 3장, 4장. 사영은 9장 회귀의 기하학이고, 고유값·SVD는 10장 PCA의 핵심이다. 3일차: 5장, 6장. 기울기 계산은 9·11장 유도에, 가우시안 공식은 9·10·11장 전부에 쓰인다. 4일차: 7장 → 9장 → 10장. 라그랑주 승수는 10장 PCA와 12장 SVM에 쓰인다. 회귀와 PCA에는 출제 가능성이 높은 유도가 많다. 5일차(시험 당일 아침): 12장 → 11장 → 8장 핵심 유도, 모든 장의 \u0026ldquo;시험 직전 10분 요약\u0026rdquo;. 시험장에서는 새 내용을 보지 말고 요약표와 체크리스트만 본다. 시간이 부족할 때 (장마다 최소 경로) 각 장의 \u0026ldquo;시험 직전 10분 요약\u0026rdquo; 표를 읽는다. \u0026ldquo;손으로 풀어 보는 예제\u0026rdquo; 하나만 끝까지 따라 쓴다. \u0026ldquo;말로 설명하기\u0026rdquo;의 질문에 답을 가린 채 한 번 말해 본다. 교재 표기 관례 (틀리기 쉬운 것) 기울기는 행벡터다. MML은 스칼라 함수를 벡터로 미분한 결과를 1×n1\\times n1×n 행벡터로 쓴다(5장). 다른 책의 열벡터 관례와 섞으면 전치가 틀린다. 공분산 분모는 1/N1/N1/N이다. 통계학의 1/(N−1)1/(N-1)1/(N−1)과 다르다(6장, 10장). Eckart–Young 정리(정리 4.25)는 교재에서 스펙트럼 노름으로 서술된다. 프로베니우스 노름에서도 성립하지만 교재 밖 보충이다. KKT 조건은 교재 본문에 따로 정리되어 있지 않고 12장 여백 주석에만 나온다. 7장 해설의 KKT 절은 교재 밖 보충이다. 등식 제약은 7.2절에서 부등식 두 개로 바꿔 다룬다. K-평균과 GMM: 교재 11.5절은 \u0026ldquo;공분산을 무시(단위행렬로 고정)하면 K-평균과 연결된다\u0026quot;는 정도로만 말한다. ","permalink":"https://qofo.github.io/posts/mml-guide/","summary":"\u003cp\u003eDeisenroth, Faisal, Ong의 \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e(MML) 2\u003cdel\u003e12장을 장마다 한 편씩 풀어 쓴 해설이다. 기초수학(Part 1, 2\u003c/del\u003e7장)과 기초 AI(Part 2, 8~12장)를 범위로 하는 필기시험을 준비하면서 만들었다. 그래서 장마다 손계산 예제, 백지에 써 볼 유도, 말로 설명하기, 확인 문제, 시험 직전 요약이 들어 있다.\u003c/p\u003e\n\u003cp\u003e교재는 저자들이 \u003ca href=\"https://mml-book.github.io/\"\u003emml-book.github.io\u003c/a\u003e에 PDF로 공개해 두었다. 해설에 적힌 쪽수와 식 번호는 그 PDF 기준이다.\u003c/p\u003e\n\u003ch2 id=\"글의-구성\"\u003e글의 구성\u003c/h2\u003e\n\u003cp\u003e모든 장은 같은 순서로 되어 있다.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e장 지도\u003c/strong\u003e: 절마다 핵심 한 줄과 중요도, 뒤쪽 장에서 쓰이는 곳\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e절별 해설\u003c/strong\u003e: 왜 필요한가 → 정의와 성질 → 손으로 풀어 보는 예제 → 헷갈리는 점\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e핵심 유도 모음\u003c/strong\u003e: 백지에 처음부터 써 볼 유도\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e말로 설명하기\u003c/strong\u003e: 서술형·구술 질문에 30~60초로 답하는 예시\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e연습문제\u003c/strong\u003e: 교재 연습문제 풀이, 또는 해설이 만든 확인 문제\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e시험 직전 10분 요약\u003c/strong\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e글이 길다. 글 머리의 \u003cstrong\u003e목차\u003c/strong\u003e를 펼치면 절로 바로 갈 수 있고, 화면보다 넓은 수식과 표는 옆으로 밀어서 본다.\u003c/p\u003e","title":"MML 장별 상세 해설: 목차와 공부 순서"},{"content":"서랍에 있던 갤럭시 노트 FE(SM-N935L)로 서버를 만들기로 했다. 2017년 기기이고 안드로이드 9에서 업데이트가 멈췄지만, 8코어 CPU와 4GB RAM, 64GB 저장 공간이 들어 있다. 라즈베리파이 3보다 빠르고, 화면과 배터리가 달려 있고, 소비 전력은 5W 미만이다.\n목표는 리눅스를 올리고 AI 코딩 에이전트를 붙여 24시간 돌리는 것이다. 이 단계에서 발목을 잡은 것은 기기 성능이 아니라 바이너리 호환성이었다.\n1차 시도: Termux 단독 환경 구축 Termux는 루팅 없이 안드로이드에서 구동되는 터미널 환경이다. pkg install을 통해 Python, Node.js, clang 등을 설치할 수 있으므로 추가 계층 없이 필요한 환경을 구성할 수 있다.\n그러나 Node.js를 설치하고 실행하면 동적 링커 오류가 발생한다.\npkg install nodejs npm install -g @google/gemini-cli CANNOT LINK EXECUTABLE \u0026#34;node\u0026#34;: cannot locate symbol \u0026#34;...\u0026#34; referenced by \u0026#34;/data/data/com.termux/files/usr/bin/node\u0026#34;... 원인은 C 표준 라이브러리의 차이에 있다. Termux는 일반 리눅스의 glibc가 아닌 안드로이드의 bionic libc를 사용한다. 패키지 저장소와 기기에 설치된 라이브러리 버전이 불일치하면 링커 단계에서 심볼을 찾지 못해 실행에 실패한다.\n전체 패키지와 라이브러리 버전을 최신으로 갱신하여 해결한다.\npkg update \u0026amp;\u0026amp; pkg upgrade -y node -v # 정상 출력 라이브러리 버전을 맞추자 Node.js가 정상 구동됐고, Gemini CLI도 설치돼 동작했다.\nTermux 환경 내 agy 바이너리 실행 불가 다음으로 Google Antigravity CLI(agy)로 옮겼는데, Termux 환경에서는 실행되지 않았다. 설치 스크립트는 정상 완료되나 실행하면 무응답 상태에 빠지거나 링커 오류가 발생한다.\n원인은 바이너리 구조와 안드로이드 링커 요구 조건의 불일치에 있다. 저장소 패키지와 달리 agy는 약 197MB 크기의 단일 실행 파일(바이너리)로 제공된다. 안드로이드 링커가 요구하는 ELF 헤더 조건을 충족하지 못하면 bionic 환경에서는 실행할 수 없다.\n안드로이드용 ELF 헤더 변환 도구인 termux-elf-cleaner를 적용해도 문제는 해결되지 않는다.\npkg install termux-elf-cleaner termux-elf-cleaner ~/.local/bin/agy 헤더를 고치고 다시 받기를 네 번 반복했지만 결과는 같았다. 여기서 방향을 바꿨다. 바이너리를 환경에 맞추는 대신 환경을 바이너리에 맞추는 쪽이 빠르다.\nproot-distro를 통한 Ubuntu 환경 구축 proot-distro는 루팅 없이 Termux 내부에서 표준 리눅스 배포판의 루트 파일 시스템(rootfs)을 격리 구동하는 도구다. 이 환경에서는 glibc 기반 바이너리를 수정 없이 그대로 실행할 수 있다.\npkg install proot-distro proot-distro install ubuntu proot-distro login ubuntu 설치 후 프롬프트가 root@localhost:~#로 전환되며, cat /etc/os-release 실행 시 Ubuntu 26.04.1 LTS 환경이 확인된다.\nUbuntu 환경에서는 glibc 기반의 agy 바이너리가 정상 구동된다.\ncurl -fsSL https://antigravity.google/cli/install.sh | bash echo \u0026#39;export PATH=\u0026#34;/root/.local/bin:$PATH\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc \u0026amp;\u0026amp; source ~/.bashrc agy 최소 rootfs의 CA 인증서 부재와 TLS 오류 agy 바이너리 실행은 정상적으로 이루어지나, Google OAuth 로그인 과정에서 TLS 인증서 검증 실패가 발생한다.\nproot-distro로 설치된 Ubuntu는 90여 개 패키지만 포함된 최소 구성(minimal rootfs)이어서 공인 인증기관(CA) 번들이 누락되었거나 오래된 상태다. CLI가 Google 서버와 HTTPS 연결을 수립하는 과정에서 서버 인증서의 발급 기관을 검증하지 못해 중단된다.\nCA 인증서 패키지를 갱신 및 재설치하여 해결한다.\napt-get update apt-get install --reinstall ca-certificates 인증서를 재설치한 후 agy를 실행하면 Google OAuth 인증 URL이 정상 출력된다. 폰 브라우저로 그 주소를 열어 계정을 승인하면 로그인이 끝난다. 기록상 이 과정에만 13분이 걸렸다. 작은 화면에서 URL을 복사해 붙여넣는 작업이 대부분의 시간을 차지했다.\n설치 및 설정 명령어 요약 # Termux 쪽 pkg update \u0026amp;\u0026amp; pkg upgrade -y pkg install proot-distro proot-distro install ubuntu proot-distro login ubuntu # 우분투 쪽 apt-get update apt-get install --reinstall ca-certificates curl -fsSL https://antigravity.google/cli/install.sh | bash export PATH=\u0026#34;/root/.local/bin:$PATH\u0026#34; agy 핵심 정리 1. 모바일 리눅스의 핵심 장애 요인은 성능이 아니라 libc다. 스마트폰 환경에서의 실행 실패 원인은 연산 성능 부족이 아니라 \u0026ldquo;바이너리와 환경 간의 동적 링크 불일치\u0026quot;다. 패키지 저장소가 관리하는 소프트웨어는 pkg upgrade로 라이브러리 정합성을 맞출 수 있으나, 외부에서 직접 내려받은 단일 바이너리는 bionic 환경에서 구동하기 어렵다.\n2. 바이너리 수정보다 실행 환경 전환이 효율적이다. 바이너리의 ELF 헤더를 안드로이드 링커에 맞추어 수정하는 것보다, proot-distro로 표준 glibc 환경을 구축하는 편이 훨씬 빠르고 안정적이다.\n3. 최소 rootfs 환경에서는 CA 인증서부터 확인해야 한다. proot 기반 배포판 환경에서 HTTPS 통신 오류가 발생할 경우 우선 ca-certificates 패키지 설치 여부를 점검해야 한다.\n다음 편에서는 Ubuntu 환경 위에 Python 표준 라이브러리 기반 블로그 서버를 구축하고 외부로 공개하는 과정을 다룬다.\n→ 2편. 파이썬 표준 라이브러리만으로 만든 블로그, 그리고 첫 외부 공개\n","permalink":"https://qofo.github.io/posts/ubuntu-on-galaxy-note-fe/","summary":"\u003cp\u003e서랍에 있던 갤럭시 노트 FE(SM-N935L)로 서버를 만들기로 했다. 2017년 기기이고 안드로이드 9에서 업데이트가 멈췄지만, 8코어 CPU와 4GB RAM, 64GB 저장 공간이 들어 있다. 라즈베리파이 3보다 빠르고, 화면과 배터리가 달려 있고, 소비 전력은 5W 미만이다.\u003c/p\u003e\n\u003cp\u003e목표는 리눅스를 올리고 AI 코딩 에이전트를 붙여 24시간 돌리는 것이다. 이 단계에서 발목을 잡은 것은 기기 성능이 아니라 \u003cstrong\u003e바이너리 호환성\u003c/strong\u003e이었다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"1차-시도-termux-단독-환경-구축\"\u003e1차 시도: Termux 단독 환경 구축\u003c/h2\u003e\n\u003cp\u003eTermux는 루팅 없이 안드로이드에서 구동되는 터미널 환경이다. \u003ccode\u003epkg install\u003c/code\u003e을 통해 Python, Node.js, clang 등을 설치할 수 있으므로 추가 계층 없이 필요한 환경을 구성할 수 있다.\u003c/p\u003e","title":"서랍 속 갤럭시 노트 FE에 우분투를 올리기까지"},{"content":" 교재 17~69쪽. 이 장의 개념은 책 전체에서 계속 쓰인다. 3장(내적·사영)과 4장(고유값·SVD)은 이 장 위에 쌓이고, 9장의 정규방정식은 연립방정식 풀기, 10장 PCA는 \u0026ldquo;좋은 기저(축)를 고르는 문제\u0026rdquo;, 12장 SVM의 결정 경계는 아핀 부분공간(초평면)이다.\n0. 이 장 지도 흐름: 연립방정식(2.1) → 그것을 담는 그릇인 행렬(2.2) → 기계적으로 푸는 방법인 가우스 소거(2.3) → \u0026ldquo;벡터란 무엇인가\u0026quot;를 일반화한 벡터공간(2.4) → 중복 없는 벡터 묶음인 일차독립(2.5) → 공간을 만드는 최소 묶음인 기저와 랭크(2.6) → 공간 사이의 함수인 선형사상(2.7) → 원점을 벗어난 평행이동 공간인 아핀공간(2.8)\n절 핵심 한 줄 중요도 뒤에서 쓰이는 곳 2.1 연립일차방정식 Ax=bAx=bAx=b 풀기 = bbb를 AAA의 열들로 만들어 내기 ★★ 9장 정규방정식 2.2 행렬 곱셈 규칙, 역행렬, 전치, 대칭행렬 ★★★ 모든 장 2.3 연립방정식 풀기 일반해 = 특수해 + 영공간, 가우스 소거, RREF ★★★ 9장, 4장 고유벡터 계산 2.4 벡터공간 군 → 벡터공간 → 부분공간 판정 ★★ 3장 이후 \u0026ldquo;공간\u0026rdquo; 개념 전부 2.5 일차독립 어느 벡터도 다른 벡터들의 일차결합이 아님 ★★★ 기저, 랭크, 4장 대각화 2.6 기저와 랭크 기저 = 최소 생성집합, 랭크 = 독립인 열의 수 ★★★ 4장 저계수 근사, 10장 PCA 2.7 선형사상 변환행렬, 기저변환 A~=T−1AS\\tilde A=T^{-1}ASA~=T−1AS, 핵·상, 차원 정리 ★★★ 4장 대각화 A=PDP−1A=PDP^{-1}A=PDP−1, 10장 2.8 아핀공간 지지점 + 부분공간, 아핀사상 x↦Ax+bx\\mapsto Ax+bx↦Ax+b ★★ 12장 초평면 중요도는 \u0026ldquo;뒤쪽 장에서 다시 쓰이는가, 교재가 정리·예제로 강조하는가\u0026quot;로만 매겼다. 시험 출제 비중 정보는 없다.\n2.1 연립일차방정식 (Systems of Linear Equations, 19쪽) 왜 필요한가 머신러닝의 계산은 대부분 \u0026ldquo;미지수 여러 개, 식 여러 개\u0026quot;인 일차식 묶음으로 바뀐다. 예를 들어 9장 선형회귀의 최적 매개변수는 X⊤Xθ=X⊤yX^\\top X\\theta = X^\\top yX⊤Xθ=X⊤y라는 연립방정식의 해다. 교재는 공장에서 자원 bib_ibi​를 정확히 다 쓰도록 제품 생산량 xjx_jxj​를 정하는 예(예제 2.1)로 시작한다.\n정의와 성질 일반형은 a11x1+⋯+a1nxn=b1,…,am1x1+⋯+amnxn=bm\\begin{gathered} a_{11}x_1+\\cdots+a_{1n}x_n=b_1, \\\\ \\dots, \\\\ a_{m1}x_1+\\cdots+a_{mn}x_n=b_m \\end{gathered}a11​x1​+⋯+a1n​xn​=b1​,…,am1​x1​+⋯+amn​xn​=bm​​ 이다. x1,…,xnx_1,\\dots,x_nx1​,…,xn​이 미지수(unknowns), aija_{ij}aij​가 계수, bib_ibi​가 우변이다. 이를 만족하는 (x1,…,xn)(x_1,\\dots,x_n)(x1​,…,xn​)이 해(solution)다.\n해의 개수는 딱 세 가지 경우뿐이다: 해가 없음, 해가 정확히 하나, 해가 무한히 많음. \u0026ldquo;해가 두 개\u0026quot;인 경우는 없다. 해가 두 개 x,yx, yx,y 있으면 그 사이 직선 위의 점 x+t(y−x)x + t(y-x)x+t(y−x)도 전부 해가 되기 때문이다.\n기하학적 의미(변수 2개): 식 하나는 평면 위의 직선이다. 두 직선이 한 점에서 만나면 해 하나, 평행하면 해 없음, 겹치면 해 무한. 변수가 3개면 식 하나가 3차원 공간의 평면이고, 해는 평면들의 교집합(점, 직선, 평면, 공집합)이다.\n열(column) 관점 — 가장 중요한 시각: AAA의 열을 a1,…,ana_1,\\dots,a_na1​,…,an​이라 하면 Ax=x1a1+x2a2+⋯+xnan.Ax = x_1a_1 + x_2a_2 + \\cdots + x_na_n .Ax=x1​a1​+x2​a2​+⋯+xn​an​. 즉 Ax=bAx=bAx=b를 푼다는 것은 \u0026quot;bbb를 AAA의 열들의 일차결합으로 만들 수 있는가, 있다면 계수가 무엇인가\u0026rdquo;를 묻는 것이다. 이 관점이 2.6의 열공간, 2.7의 상(image), 9장의 \u0026ldquo;최소제곱해 = 열공간으로의 사영\u0026quot;까지 이어진다.\n손으로 풀어 보는 예제 (1) 해가 하나: x1+x2=3x_1+x_2=3x1​+x2​=3, 2x1−x2=02x_1-x_2=02x1​−x2​=0.\n두 식을 더하면 3x1=33x_1=33x1​=3, 그래서 x1=1x_1=1x1​=1. 첫 식에 넣으면 x2=2x_2=2x2​=2. 열 관점으로 확인: 1⋅[12]+2⋅[1−1]=[30]1\\cdot\\begin{bmatrix}1\\\\2\\end{bmatrix}+2\\cdot\\begin{bmatrix}1\\\\-1\\end{bmatrix}=\\begin{bmatrix}3\\\\0\\end{bmatrix}1⋅[12​]+2⋅[1−1​]=[30​]. 맞다. (2) 해가 없음: x1+x2=3x_1+x_2=3x1​+x2​=3, x1+x2=5x_1+x_2=5x1​+x2​=5. 같은 좌변이 3과 5가 될 수 없다(평행한 두 직선).\n(3) 해가 무한: x1+x2=3x_1+x_2=3x1​+x2​=3, 2x1+2x2=62x_1+2x_2=62x1​+2x2​=6. 둘째 식은 첫 식의 2배라 사실상 식이 하나다. x1=tx_1=tx1​=t로 두면 x2=3−tx_2=3-tx2​=3−t, 해는 {(t, 3−t):t∈R}\\{(t,\\,3-t): t\\in\\mathbb R\\}{(t,3−t):t∈R}.\n헷갈리는 점 식의 개수 \u0026lt; 미지수 개수라고 해서 반드시 해가 무한인 것은 아니다. 식끼리 모순이면 해가 없다. 정확한 판정은 2.6의 랭크 조건 rk(A)=rk(A∣b)\\text{rk}(A)=\\text{rk}(A|b)rk(A)=rk(A∣b)로 한다. 행 관점(직선들의 교점)과 열 관점(열벡터의 일차결합)은 같은 문제를 다르게 본 것이다. 뒤 장은 주로 열 관점을 쓴다. 2.2 행렬 (Matrices, 22쪽) 왜 필요한가 연립방정식의 계수를 표 하나에 담으면 Ax=bAx=bAx=b처럼 한 줄로 쓸 수 있다. 행렬은 그 밖에도 선형사상(2.7)을 나타내는 도구다.\n정의와 성질 A∈Rm×nA\\in\\mathbb R^{m\\times n}A∈Rm×n: 행 mmm개, 열 nnn개. aija_{ij}aij​는 iii행 jjj열 원소. 열이 하나인 Rn×1\\mathbb R^{n\\times1}Rn×1을 열벡터, 행이 하나인 R1×n\\mathbb R^{1\\times n}R1×n을 행벡터라 한다. 이 책의 벡터는 기본이 열벡터다. 덧셈: 같은 크기끼리 원소별로 더한다. 곱셈: A∈Rm×nA\\in\\mathbb R^{m\\times n}A∈Rm×n, B∈Rn×kB\\in\\mathbb R^{n\\times k}B∈Rn×k이면 C=AB∈Rm×kC=AB\\in\\mathbb R^{m\\times k}C=AB∈Rm×k이고 cij=∑l=1nailblj(A의 i행과 B의 j열의 내적).\\begin{gathered} c_{ij}=\\sum_{l=1}^{n}a_{il}b_{lj} \\\\ (A\\text{의 } i\\text{행과 } B\\text{의 } j\\text{열의 내적}). \\end{gathered}cij​=l=1∑n​ail​blj​(A의 i행과 B의 j열의 내적).​ 크기 규칙: (m×n‾)(n‾×k)=(m×k)(m\\times \\underline{n})(\\underline{n}\\times k)=(m\\times k)(m×n​)(n​×k)=(m×k). 안쪽 숫자가 같아야 곱할 수 있다. 곱셈은 결합법칙 (AB)C=A(BC)(AB)C=A(BC)(AB)C=A(BC), 분배법칙 (A+B)C=AC+BC(A+B)C=AC+BC(A+B)C=AC+BC가 성립하지만 교환법칙은 일반적으로 성립하지 않는다 (AB≠BAAB\\ne BAAB=BA). 원소별 곱(아다마르 곱, Hadamard product)은 행렬곱이 아니다. 교재는 이를 구분해서 언급한다. 항등행렬(identity) InI_nIn​: 대각선이 1, 나머지가 0. AI=IA=AAI=IA=AAI=IA=A. 역행렬(inverse): 정사각행렬 AAA에 대해 AB=I=BAAB=I=BAAB=I=BA인 BBB가 있으면 B=A−1B=A^{-1}B=A−1. 있으면 유일하다. 역행렬이 있으면 정칙(regular, invertible, nonsingular), 없으면 특이(singular)라 한다. 2×2 역행렬 공식: A=[abcd]⇒A−1=1ad−bc[d−b−ca](ad−bc≠0).A=\\begin{bmatrix}a\u0026amp;b\\\\c\u0026amp;d\\end{bmatrix}\\Rightarrow A^{-1}=\\frac{1}{ad-bc}\\begin{bmatrix}d\u0026amp;-b\\\\-c\u0026amp;a\\end{bmatrix}\\quad(ad-bc\\ne0).A=[ac​bd​]⇒A−1=ad−bc1​[d−c​−ba​](ad−bc=0). ad−bcad-bcad−bc는 4장의 행렬식(determinant)이다. 0이면 역행렬이 없다. 전치(transpose): (A⊤)ij=aji(A^\\top)_{ij}=a_{ji}(A⊤)ij​=aji​. 행과 열을 바꾼다. 성질: (A⊤)⊤=A,(A+B)⊤=A⊤+B⊤,(AB)⊤=B⊤A⊤,(A−1)⊤=(A⊤)−1.(A^\\top)^\\top=A,\\quad (A+B)^\\top=A^\\top+B^\\top,\\quad (AB)^\\top=B^\\top A^\\top,\\quad (A^{-1})^\\top=(A^\\top)^{-1}.(A⊤)⊤=A,(A+B)⊤=A⊤+B⊤,(AB)⊤=B⊤A⊤,(A−1)⊤=(A⊤)−1. 역행렬도 순서가 뒤집힌다: (AB)−1=B−1A−1(AB)^{-1}=B^{-1}A^{-1}(AB)−1=B−1A−1. 대칭행렬(symmetric): A=A⊤A=A^\\topA=A⊤. 대칭행렬끼리 더하면 대칭이지만, 곱하면 일반적으로 대칭이 아니다. (A⊤AA^\\top AA⊤A는 항상 대칭이다. 이건 3·4·9장에서 계속 나온다.) 손으로 풀어 보는 예제 A=[1234]A=\\begin{bmatrix}1\u0026amp;2\\\\3\u0026amp;4\\end{bmatrix}A=[13​24​], B=[0110]B=\\begin{bmatrix}0\u0026amp;1\\\\1\u0026amp;0\\end{bmatrix}B=[01​10​].\nABABAB: 1행·1열 =1⋅0+2⋅1=2=1\\cdot0+2\\cdot1=2=1⋅0+2⋅1=2, 1행·2열 =1⋅1+2⋅0=1=1\\cdot1+2\\cdot0=1=1⋅1+2⋅0=1, 2행·1열 =3⋅0+4⋅1=4=3\\cdot0+4\\cdot1=4=3⋅0+4⋅1=4, 2행·2열 =3⋅1+4⋅0=3=3\\cdot1+4\\cdot0=3=3⋅1+4⋅0=3. 그래서 AB=[2143]AB=\\begin{bmatrix}2\u0026amp;1\\\\4\u0026amp;3\\end{bmatrix}AB=[24​13​] (열이 바뀜). BA=[3412]BA=\\begin{bmatrix}3\u0026amp;4\\\\1\u0026amp;2\\end{bmatrix}BA=[31​42​] (행이 바뀜). AB≠BAAB\\ne BAAB=BA. A−1A^{-1}A−1: ad−bc=4−6=−2ad-bc=4-6=-2ad−bc=4−6=−2이므로 A−1=−12[4−2−31]=[−211.5−0.5]A^{-1}=-\\frac12\\begin{bmatrix}4\u0026amp;-2\\\\-3\u0026amp;1\\end{bmatrix}=\\begin{bmatrix}-2\u0026amp;1\\\\1.5\u0026amp;-0.5\\end{bmatrix}A−1=−21​[4−3​−21​]=[−21.5​1−0.5​]. 확인: AA−1AA^{-1}AA−1의 1행·1열 =1⋅(−2)+2⋅1.5=1=1\\cdot(-2)+2\\cdot1.5=1=1⋅(−2)+2⋅1.5=1, 1행·2열 =1⋅1+2⋅(−0.5)=0=1\\cdot1+2\\cdot(-0.5)=0=1⋅1+2⋅(−0.5)=0. 나머지도 같은 식으로 III가 나온다. 헷갈리는 점 (AB)⊤=A⊤B⊤(AB)^\\top = A^\\top B^\\top(AB)⊤=A⊤B⊤이라고 쓰는 실수. 크기를 따져 보면 바로 틀린 걸 안다: AAA가 2×32\\times32×3, BBB가 3×43\\times43×4면 A⊤B⊤A^\\top B^\\topA⊤B⊤은 (3×2)(4×3)(3\\times2)(4\\times3)(3×2)(4×3)이라 곱할 수조차 없다. 역행렬은 정사각행렬에만 정의된다. 직사각행렬에는 2.3.4의 유사역행렬(pseudo-inverse)을 쓴다. 2.3 연립방정식 풀기 (Solving Systems of Linear Equations, 27쪽) 2.3.1 특수해와 일반해 (Particular and General Solution) 핵심 아이디어: Ax=bAx=bAx=b의 해를 하나만 찾으면(특수해 xpx_pxp​), 나머지 해는 모두 \u0026ldquo;Ax=0Ax=0Ax=0의 해를 더한 것\u0026quot;이다.\n{모든 해}=xp+{xh:Axh=0}.\\{\\text{모든 해}\\} = x_p + \\{x_h : Ax_h=0\\}.{모든 해}=xp​+{xh​:Axh​=0}.왜 그런가:\nAxh=0Ax_h=0Axh​=0이면 A(xp+xh)=Axp+Axh=b+0=bA(x_p+x_h)=Ax_p+Ax_h=b+0=bA(xp​+xh​)=Axp​+Axh​=b+0=b. 그래서 xp+xhx_p+x_hxp​+xh​도 해다. 반대로 yyy가 아무 해라면 A(y−xp)=b−b=0A(y-x_p)=b-b=0A(y−xp​)=b−b=0. 그래서 y−xpy-x_py−xp​는 Ax=0Ax=0Ax=0의 해이고, y=xp+(y−xp)y=x_p+(y-x_p)y=xp​+(y−xp​)로 쓸 수 있다. 교재가 정리한 3단계:\nAx=bAx=bAx=b의 특수해(particular/special solution)를 하나 찾는다. Ax=0Ax=0Ax=0의 해(동차해)를 모두 찾는다. 둘을 합쳐 일반해(general solution)를 쓴다. 특수해도 일반해의 표현도 유일하지 않다(다른 특수해를 골라도 같은 집합을 나타낸다).\n2.3.2 기본 행 연산 (Elementary Transformations) 해 집합을 바꾸지 않으면서 식을 단순하게 만드는 세 가지 연산:\n두 행(식)을 바꾼다. 한 행에 0이 아닌 수를 곱한다. 한 행에 다른 행(의 배수)을 더한다. 계산은 첨가행렬(augmented matrix) [A ∣ b][A\\,|\\,b][A∣b] 위에서 한다.\n행 사다리꼴(REF, row-echelon form):\n0으로만 된 행은 맨 아래에 있다. 0이 아닌 행에서 처음 나오는 0 아닌 수(피벗, pivot)는 위 행의 피벗보다 오른쪽에 있다(계단 모양). 피벗이 있는 열에 해당하는 변수를 기본변수(basic variable), 없는 열의 변수를 자유변수(free variable)라 한다.\n기약 행 사다리꼴(RREF, reduced row-echelon form): REF이면서 ① 모든 피벗이 1이고 ② 피벗이 있는 열에서 피벗 말고는 모두 0이다. RREF에서는 해를 바로 읽을 수 있다.\n손으로 풀어 보는 예제 (가우스 소거 → 일반해) x1+2x2+x3+x4=42x1+4x2+3x3+x4=9\\begin{aligned}x_1+2x_2+x_3+x_4\u0026amp;=4\\\\2x_1+4x_2+3x_3+x_4\u0026amp;=9\\end{aligned}x1​+2x2​+x3​+x4​2x1​+4x2​+3x3​+x4​​=4=9​1단계: 첨가행렬 [1211424319]\\left[\\begin{array}{cccc|c}1\u0026amp;2\u0026amp;1\u0026amp;1\u0026amp;4\\\\2\u0026amp;4\u0026amp;3\u0026amp;1\u0026amp;9\\end{array}\\right][12​24​13​11​49​]2단계: 2행 − 2×1행 [12114001−11]\\left[\\begin{array}{cccc|c}1\u0026amp;2\u0026amp;1\u0026amp;1\u0026amp;4\\\\0\u0026amp;0\u0026amp;1\u0026amp;-1\u0026amp;1\\end{array}\\right][10​20​11​1−1​41​] 이것이 REF다. 피벗은 1열과 3열. 그래서 x1,x3x_1,x_3x1​,x3​이 기본변수, x2,x4x_2,x_4x2​,x4​가 자유변수다.\n3단계: 1행 − 2행 (3열의 피벗 위를 0으로) [12023001−11](RREF)\\left[\\begin{array}{cccc|c}1\u0026amp;2\u0026amp;0\u0026amp;2\u0026amp;3\\\\0\u0026amp;0\u0026amp;1\u0026amp;-1\u0026amp;1\\end{array}\\right]\\quad(\\text{RREF})[10​20​01​2−1​31​](RREF)4단계: 특수해. 자유변수를 0으로 둔다(x2=x4=0x_2=x_4=0x2​=x4​=0). 그러면 x1=3x_1=3x1​=3, x3=1x_3=1x3​=1. 특수해 xp=[3,0,1,0]⊤x_p=[3,0,1,0]^\\topxp​=[3,0,1,0]⊤.\n5단계: Ax=0Ax=0Ax=0의 해. 우변을 0으로 보고 자유변수를 하나씩 1로 둔다.\nx2=1,x4=0x_2=1,x_4=0x2​=1,x4​=0: 1행에서 x1+2=0⇒x1=−2x_1+2=0\\Rightarrow x_1=-2x1​+2=0⇒x1​=−2, 2행에서 x3=0x_3=0x3​=0. → [−2,1,0,0]⊤[-2,1,0,0]^\\top[−2,1,0,0]⊤ x2=0,x4=1x_2=0,x_4=1x2​=0,x4​=1: 1행에서 x1+2=0⇒x1=−2x_1+2=0\\Rightarrow x_1=-2x1​+2=0⇒x1​=−2, 2행에서 x3−1=0⇒x3=1x_3-1=0\\Rightarrow x_3=1x3​−1=0⇒x3​=1. → [−2,0,1,1]⊤[-2,0,1,1]^\\top[−2,0,1,1]⊤ 6단계: 일반해 x=[3010]+λ1[−2100]+λ2[−2011],λ1,λ2∈R.\\begin{aligned} x \u0026amp;= \\begin{bmatrix}3\\\\0\\\\1\\\\0\\end{bmatrix}+\\lambda_1\\begin{bmatrix}-2\\\\1\\\\0\\\\0\\end{bmatrix} \\\\ \u0026amp;\\quad +\\lambda_2\\begin{bmatrix}-2\\\\0\\\\1\\\\1\\end{bmatrix},\\quad\\lambda_1,\\lambda_2\\in\\mathbb R. \\end{aligned}x​=​3010​​+λ1​​−2100​​+λ2​​−2011​​,λ1​,λ2​∈R.​ 검산: [−2,0,1,1]⊤[-2,0,1,1]^\\top[−2,0,1,1]⊤을 원래 식에 넣으면 1식 −2+0+1+1=0-2+0+1+1=0−2+0+1+1=0, 2식 −4+0+3+1=0-4+0+3+1=0−4+0+3+1=0. 맞다.\n해가 없는 경우 판별: 소거 끝에 [0 0 ⋯ 0 ∣ c][0\\ 0\\ \\cdots\\ 0\\,|\\,c][0 0 ⋯ 0∣c] (c≠0c\\ne0c=0) 같은 행이 나오면 \u0026ldquo;0=c0=c0=c\u0026ldquo;라는 모순이라 해가 없다. 교재 예제 2.6은 우변에 매개변수 aaa가 있는데, 소거하면 마지막 행이 이런 꼴이 되어 a=−1a=-1a=−1일 때만 해가 있다.\n2.3.3 Minus-1 트릭 (교재 예제 2.8) Ax=0Ax=0Ax=0의 해를 빠르게 읽는 요령이다. RREF의 각 행을 피벗이 대각선에 오도록 배치하고, 피벗이 없는 자리(빈 대각선)에 −1-1−1이 대각에 있는 행 [0⋯0 −1 0⋯0][0\\cdots0\\ {-1}\\ 0\\cdots0][0⋯0 −1 0⋯0]을 끼워 넣어 n×nn\\times nn×n 행렬을 만든다. 그러면 대각 원소가 −1-1−1인 열들이 바로 Ax=0Ax=0Ax=0의 해(영공간의 기저)다.\n위 예제에서 RREF [1202001−1]\\begin{bmatrix}1\u0026amp;2\u0026amp;0\u0026amp;2\\\\0\u0026amp;0\u0026amp;1\u0026amp;-1\\end{bmatrix}[10​20​01​2−1​]의 피벗은 1, 3열이다. 2, 4번째 대각 자리가 비어 있으니 −1-1−1 행을 끼운다: [12020−100001−1000−1]\\begin{bmatrix}1\u0026amp;2\u0026amp;0\u0026amp;2\\\\0\u0026amp;\\mathbf{-1}\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;1\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;\\mathbf{-1}\\end{bmatrix}​1000​2−100​0010​20−1−1​​ −1-1−1이 대각에 있는 2열 [2,−1,0,0]⊤[2,-1,0,0]^\\top[2,−1,0,0]⊤과 4열 [2,0,−1,−1]⊤[2,0,-1,-1]^\\top[2,0,−1,−1]⊤이 영공간의 기저다. 5단계에서 구한 벡터에 −1-1−1을 곱한 것과 같다.\n역행렬 구하기 (교재 예제 2.9의 방법) [A ∣ I][A\\,|\\,I][A∣I]를 행 연산으로 [I ∣ A−1][I\\,|\\,A^{-1}][I∣A−1]로 만든다. 같은 행 연산 묶음이 AAA를 III로 바꾼다면, 그 연산 묶음은 A−1A^{-1}A−1을 곱하는 것과 같기 때문이다.\nA=[2153]A=\\begin{bmatrix}2\u0026amp;1\\\\5\u0026amp;3\\end{bmatrix}A=[25​13​]: [21105301]→R1×12[1121205301]→R2−5R1[112120012−521]\\begin{aligned} \u0026amp;\\left[\\begin{array}{cc|cc}2\u0026amp;1\u0026amp;1\u0026amp;0\\\\5\u0026amp;3\u0026amp;0\u0026amp;1\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow{R_1\\times\\frac12} \\left[\\begin{array}{cc|cc}1\u0026amp;\\frac12\u0026amp;\\frac12\u0026amp;0\\\\5\u0026amp;3\u0026amp;0\u0026amp;1\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow{R_2-5R_1} \\left[\\begin{array}{cc|cc}1\u0026amp;\\frac12\u0026amp;\\frac12\u0026amp;0\\\\0\u0026amp;\\frac12\u0026amp;-\\frac52\u0026amp;1\\end{array}\\right] \\end{aligned}​[25​13​10​01​]R1​×21​​[15​21​3​21​0​01​]R2​−5R1​​[10​21​21​​21​−25​​01​]​ →R2×2[11212001−52]→R1−12R2[103−101−52]\\begin{aligned} \u0026amp;\\xrightarrow{R_2\\times2} \\left[\\begin{array}{cc|cc}1\u0026amp;\\frac12\u0026amp;\\frac12\u0026amp;0\\\\0\u0026amp;1\u0026amp;-5\u0026amp;2\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow{R_1-\\frac12R_2} \\left[\\begin{array}{cc|cc}1\u0026amp;0\u0026amp;3\u0026amp;-1\\\\0\u0026amp;1\u0026amp;-5\u0026amp;2\\end{array}\\right] \\end{aligned}​R2​×2​[10​21​1​21​−5​02​]R1​−21​R2​​[10​01​3−5​−12​]​ 그래서 A−1=[3−1−52]A^{-1}=\\begin{bmatrix}3\u0026amp;-1\\\\-5\u0026amp;2\\end{bmatrix}A−1=[3−5​−12​]. 2×2 공식(ad−bc=1ad-bc=1ad−bc=1)으로도 같은 답이 나온다.\n2.3.4 연립방정식을 푸는 알고리즘 AAA가 정사각이고 역행렬이 있으면 x=A−1bx=A^{-1}bx=A−1b. AAA가 정사각이 아니거나 해가 정확히 없을 때 최소제곱 근사해를 쓴다. AAA의 열이 일차독립이면 Ax=b ⇒ A⊤Ax=A⊤b ⇒ x=(A⊤A)−1A⊤b.Ax=b\\ \\Rightarrow\\ A^\\top Ax=A^\\top b\\ \\Rightarrow\\ x=(A^\\top A)^{-1}A^\\top b .Ax=b ⇒ A⊤Ax=A⊤b ⇒ x=(A⊤A)−1A⊤b. (A⊤A)−1A⊤(A^\\top A)^{-1}A^\\top(A⊤A)−1A⊤를 무어-펜로즈 유사역행렬(Moore–Penrose pseudo-inverse)이라 한다. 9장 선형회귀의 정규방정식과 같은 식이다. 교재는 수치적으로 불안정하고 계산량이 많아 실제로는 권하지 않는다고 덧붙인다. 가우스 소거는 기본 방법이지만 계산량이 변수 수의 세제곱 정도로 늘어 큰 문제에는 비싸다. 그래서 실제로는 반복법(Richardson, Jacobi, Gauss–Seidel, 크릴로프 부분공간 방법 등)을 쓴다. 교재도 이름 정도만 소개한다. 헷갈리는 점 행 연산은 해를 바꾸지 않지만 열 연산은 바꾼다. 가우스 소거는 행에만 한다. 일반해에서 영공간 쪽 벡터의 개수 = 자유변수의 수 = n−rk(A)n-\\text{rk}(A)n−rk(A) (2.6, 2.7에서 다시 나온다). RREF는 유일하지만 일반해의 \u0026ldquo;표현\u0026quot;은 유일하지 않다(특수해나 영공간 기저를 다르게 고를 수 있다). 2.4 벡터공간 (Vector Spaces, 35쪽) 왜 필요한가 \u0026ldquo;벡터\u0026quot;를 화살표로만 생각하면 함수, 행렬, 다항식 같은 대상에 같은 도구를 쓸 수 없다. 교재는 \u0026ldquo;더하고 스칼라배할 수 있고, 그래도 같은 집합 안에 머무는 것\u0026quot;을 벡터로 일반화한다. 이를 위해 먼저 군(group)을 정의한다.\n2.4.1 군 (Groups) 집합 G\\mathcal GG와 연산 ⊗\\otimes⊗에 대해 (G,⊗)(\\mathcal G,\\otimes)(G,⊗)가 군이려면:\n닫힘(closure): x,y∈G⇒x⊗y∈Gx,y\\in\\mathcal G\\Rightarrow x\\otimes y\\in\\mathcal Gx,y∈G⇒x⊗y∈G 결합법칙: (x⊗y)⊗z=x⊗(y⊗z)(x\\otimes y)\\otimes z=x\\otimes(y\\otimes z)(x⊗y)⊗z=x⊗(y⊗z) 항등원(neutral element): 모든 xxx에 대해 x⊗e=e⊗x=xx\\otimes e=e\\otimes x=xx⊗e=e⊗x=x인 eee가 있다 역원(inverse): 모든 xxx에 대해 x⊗y=y⊗x=ex\\otimes y=y\\otimes x=ex⊗y=y⊗x=e인 yyy가 있다 여기에 교환법칙 x⊗y=y⊗xx\\otimes y=y\\otimes xx⊗y=y⊗x까지 성립하면 아벨군(Abelian group)이다.\n예:\n(Z,+)(\\mathbb Z,+)(Z,+): 아벨군(항등원 0, 역원 −x-x−x). (N0,+)(\\mathbb N_0,+)(N0​,+): 군이 아니다. 3의 역원 −3-3−3이 N0\\mathbb N_0N0​에 없다. (Z,⋅)(\\mathbb Z,\\cdot)(Z,⋅): 군이 아니다. 2의 역원 12\\tfrac1221​가 정수가 아니다. (R∖{0},⋅)(\\mathbb R\\setminus\\{0\\},\\cdot)(R∖{0},⋅): 아벨군. (Rn×n,⋅)(\\mathbb R^{n\\times n},\\cdot)(Rn×n,⋅): 군이 아니다. 역행렬이 없는 행렬이 있다. 일반선형군 GL(n,R)GL(n,\\mathbb R)GL(n,R) (역행렬이 있는 n×nn\\times nn×n 행렬 전체, 행렬곱): 군이지만 아벨군은 아니다(행렬곱은 교환되지 않음). 교재 연습문제 2.1 풀이 (자주 쓰이는 요령): a⋆b=ab+a+ba\\star b=ab+a+ba⋆b=ab+a+b on R∖{−1}\\mathbb R\\setminus\\{-1\\}R∖{−1}.\n핵심 관찰: a⋆b=(a+1)(b+1)−1a\\star b=(a+1)(b+1)-1a⋆b=(a+1)(b+1)−1. 즉 \u0026ldquo;1을 더해서 곱하고 1을 뺀다\u0026rdquo;. 닫힘: a,b≠−1a,b\\ne-1a,b=−1이면 (a+1)(b+1)≠0(a+1)(b+1)\\ne0(a+1)(b+1)=0이라 a⋆b≠−1a\\star b\\ne-1a⋆b=−1. 결합·교환: 곱셈이 결합·교환되므로 성립. 항등원: 000 (a⋆0=(a+1)⋅1−1=aa\\star0=(a+1)\\cdot1-1=aa⋆0=(a+1)⋅1−1=a). 역원: (a+1)(b+1)=1⇒b=1a+1−1=−aa+1(a+1)(b+1)=1\\Rightarrow b=\\frac{1}{a+1}-1=-\\frac{a}{a+1}(a+1)(b+1)=1⇒b=a+11​−1=−a+1a​ (a≠−1a\\ne-1a=−1이므로 정의됨, 그리고 b≠−1b\\ne-1b=−1). (b) 3⋆x⋆x=4(x+1)2−1=15⇒(x+1)2=4⇒x=13\\star x\\star x=4(x+1)^2-1=15\\Rightarrow(x+1)^2=4\\Rightarrow x=13⋆x⋆x=4(x+1)2−1=15⇒(x+1)2=4⇒x=1 또는 x=−3x=-3x=−3. 둘 다 −1-1−1이 아니므로 답은 두 개다. 2.4.2 벡터공간 (Vector Spaces) 실수 벡터공간 V=(V,+,⋅)V=(\\mathcal V,+,\\cdot)V=(V,+,⋅)는 벡터끼리의 덧셈 +++와 스칼라곱 ⋅\\cdot⋅을 가진 집합으로,\n(V,+)(\\mathcal V,+)(V,+)가 아벨군이고 (항등원 = 영벡터 000), 분배법칙: λ(x+y)=λx+λy\\lambda(x+y)=\\lambda x+\\lambda yλ(x+y)=λx+λy, (λ+ψ)x=λx+ψx(\\lambda+\\psi)x=\\lambda x+\\psi x(λ+ψ)x=λx+ψx, 스칼라곱의 결합법칙: λ(ψx)=(λψ)x\\lambda(\\psi x)=(\\lambda\\psi)xλ(ψx)=(λψ)x, 스칼라곱의 항등원: 1⋅x=x1\\cdot x=x1⋅x=x 를 만족한다. 원소를 벡터, 실수를 스칼라라 부른다. 예: Rn\\mathbb R^nRn(성분별 덧셈·스칼라곱), Rm×n\\mathbb R^{m\\times n}Rm×n(행렬도 벡터다), 복소수 C\\mathbb CC. \u0026ldquo;벡터 × 벡터\u0026rdquo; 곱은 벡터공간의 정의에 없다. 내적은 3장에서 따로 붙인다.\n2.4.3 부분공간 (Vector Subspaces) U⊆VU\\subseteq VU⊆V가 같은 연산으로 다시 벡터공간이면 부분공간이다. 판정은 세 가지만 확인하면 된다:\nU≠∅U\\ne\\emptysetU=∅, 특히 0∈U0\\in U0∈U 스칼라곱에 닫힘: x∈U⇒λx∈Ux\\in U\\Rightarrow\\lambda x\\in Ux∈U⇒λx∈U 덧셈에 닫힘: x,y∈U⇒x+y∈Ux,y\\in U\\Rightarrow x+y\\in Ux,y∈U⇒x+y∈U 예:\nR2\\mathbb R^2R2에서 원점을 지나는 직선 {(t,2t)}\\{(t,2t)\\}{(t,2t)}: 부분공간. 원점을 지나지 않는 직선 {(t,2t+1)}\\{(t,2t+1)\\}{(t,2t+1)}: 아님(000이 없다). → 2.8의 아핀 부분공간. 제1사분면 {x1≥0,x2≥0}\\{x_1\\ge0,x_2\\ge0\\}{x1​≥0,x2​≥0}: 아님. −1-1−1을 곱하면 밖으로 나간다. 두 직선의 합집합 {x1=0}∪{x2=0}\\{x_1=0\\}\\cup\\{x_2=0\\}{x1​=0}∪{x2​=0}: 아님. (1,0)+(0,1)=(1,1)(1,0)+(0,1)=(1,1)(1,0)+(0,1)=(1,1)이 밖에 있다. Ax=0Ax=0Ax=0의 해집합은 항상 부분공간이다(A0=0A0=0A0=0, A(x+y)=0A(x+y)=0A(x+y)=0, A(λx)=0A(\\lambda x)=0A(λx)=0). Ax=bAx=bAx=b (b≠0b\\ne0b=0)의 해집합은 부분공간이 아니다(A0=0≠bA0=0\\ne bA0=0=b). 교재 연습문제 2.9: (a) {(λ,λ+μ3,λ−μ3)}\\{(\\lambda,\\lambda+\\mu^3,\\lambda-\\mu^3)\\}{(λ,λ+μ3,λ−μ3)}은 μ3\\mu^3μ3이 모든 실수를 덮으므로 ν=μ3\\nu=\\mu^3ν=μ3로 바꿔 쓰면 두 벡터의 생성(span)이 되어 부분공간. (b) {(λ2,−λ2,0)}\\{(\\lambda^2,-\\lambda^2,0)\\}{(λ2,−λ2,0)}은 첫 성분이 0 이상이라 −1-1−1배에 닫혀 있지 않아 아님. (c) 평면 ξ1−2ξ2+3ξ3=γ\\xi_1-2\\xi_2+3\\xi_3=\\gammaξ1​−2ξ2​+3ξ3​=γ는 γ=0\\gamma=0γ=0일 때만 부분공간. (d) ξ2∈Z\\xi_2\\in\\mathbb Zξ2​∈Z는 12\\tfrac1221​배에 닫혀 있지 않아 아님.\n헷갈리는 점 \u0026ldquo;000이 들어 있는가\u0026quot;를 가장 먼저 본다. 이것만으로 대부분 걸러진다. 부분공간끼리의 교집합은 부분공간이지만 합집합은 일반적으로 아니다. 2.5 일차독립 (Linear Independence, 40쪽) 왜 필요한가 벡터 묶음에 \u0026ldquo;쓸데없는(남는) 벡터\u0026quot;가 있는지 판단하는 개념이다. 남는 벡터가 없는 묶음이 기저(2.6)가 되고, 독립인 열의 수가 랭크다.\n정의와 성질 일차결합(linear combination): v=λ1x1+⋯+λkxkv=\\lambda_1x_1+\\cdots+\\lambda_kx_kv=λ1​x1​+⋯+λk​xk​. 일차독립: λ1x1+⋯+λkxk=0\\lambda_1x_1+\\cdots+\\lambda_kx_k=0λ1​x1​+⋯+λk​xk​=0을 만족하는 계수가 모두 0인 경우뿐이면 일차독립. 0이 아닌 계수로 0을 만들 수 있으면 일차종속(linearly dependent). 직관: 종속이면 적어도 한 벡터를 나머지의 일차결합으로 쓸 수 있다. 그 벡터는 새 방향을 더하지 않는다. 바로 쓰는 성질 (교재 2.5절 정리):\n두 벡터 중 하나가 다른 것의 배수(또는 같음)이면 종속. 묶음에 000이 있으면 종속. 어떤 벡터가 다른 벡터들의 일차결합이면 종속. Rn\\mathbb R^nRn에서 벡터가 nnn개보다 많으면 항상 종속. 실전 판정법: 벡터들을 열로 세워 행렬을 만들고 가우스 소거로 REF를 만든다. 모든 열이 피벗 열이면 독립이고, 피벗이 없는 열이 하나라도 있으면 종속이다. 이때 피벗이 없는 열은 왼쪽 피벗 열들의 일차결합으로 쓸 수 있다.\n교재 예제 2.15의 요점: 독립인 벡터 b1,…,bkb_1,\\dots,b_kb1​,…,bk​로 xj=∑iλijbix_j=\\sum_i\\lambda_{ij}b_ixj​=∑i​λij​bi​를 만들면, x1,…,xmx_1,\\dots,x_mx1​,…,xm​이 독립인지는 계수벡터 λ1,…,λm\\lambda_1,\\dots,\\lambda_mλ1​,…,λm​이 독립인지와 같다. 즉 독립인 기저 위에서는 \u0026ldquo;좌표벡터\u0026quot;만 보고 판정해도 된다.\n손으로 풀어 보는 예제 v1=[1,2,3]⊤v_1=[1,2,3]^\\topv1​=[1,2,3]⊤, v2=[0,1,1]⊤v_2=[0,1,1]^\\topv2​=[0,1,1]⊤, v3=[1,3,4]⊤v_3=[1,3,4]^\\topv3​=[1,3,4]⊤. [101213314]→R2−2R1, R3−3R1[101011011]→R3−R2[101011000]\\begin{aligned} \u0026amp;\\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\2\u0026amp;1\u0026amp;3\\\\3\u0026amp;1\u0026amp;4\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow{R_2-2R_1,\\ R_3-3R_1} \\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\0\u0026amp;1\u0026amp;1\\\\0\u0026amp;1\u0026amp;1\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow{R_3-R_2} \\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\0\u0026amp;1\u0026amp;1\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix} \\end{aligned}​​123​011​134​​R2​−2R1​, R3​−3R1​​​100​011​111​​R3​−R2​​​100​010​110​​​ 피벗은 1, 2열뿐이라 3열에는 피벗이 없다. 그래서 종속이고, 실제로 v3=v1+v2v_3=v_1+v_2v3​=v1​+v2​다(REF의 3열 [1,1,0]⊤[1,1,0]^\\top[1,1,0]⊤이 \u0026ldquo;1열 1개 + 2열 1개\u0026quot;를 뜻한다).\n헷갈리는 점 행으로 세워 소거해도 랭크는 같지만, \u0026ldquo;어떤 원래 벡터가 남는가\u0026quot;를 읽으려면 열로 세워야 한다. 일차독립은 묶음 전체의 성질이다. 두 개씩 짝지어 배수가 아니라고 해서 셋이 독립인 것은 아니다(위 예가 그렇다). 2.6 기저와 랭크 (Basis and Rank, 44쪽) 2.6.1 생성집합과 기저 생성(span): span[x1,…,xk]\\text{span}[x_1,\\dots,x_k]span[x1​,…,xk​] = 이들의 모든 일차결합의 집합. 항상 부분공간이다. 생성집합(generating set): VVV의 모든 벡터를 일차결합으로 만들 수 있는 묶음. 기저(basis): 일차독립인 생성집합. 다음 세 가지가 서로 같은 말이다(교재 정리): BBB는 기저다. BBB는 최소 생성집합이다(하나라도 빼면 더 이상 생성하지 못한다). BBB는 최대 일차독립 집합이다(무엇을 더 넣어도 종속이 된다). 기저가 정해지면 각 벡터를 기저의 일차결합으로 쓰는 방법은 유일하다(그 계수가 2.7의 좌표). 차원(dimension): 기저 벡터의 개수. 기저는 여러 가지지만 개수는 같다. Rn\\mathbb R^nRn의 표준기저 e1,…,ene_1,\\dots,e_ne1​,…,en​. 주의: 차원은 \u0026ldquo;성분 개수\u0026quot;가 아니다. R3\\mathbb R^3R3 안의 원점을 지나는 평면 span[[1,0,0]⊤,[0,1,0]⊤]\\text{span}[[1,0,0]^\\top,[0,1,0]^\\top]span[[1,0,0]⊤,[0,1,0]⊤]은 2차원이다. 기저 찾는 법(교재 예제 2.17): 생성 벡터들을 열로 세워 REF를 만든다. 피벗 열에 해당하는 원래 벡터들이 기저다(REF의 열이 아니라 원래 벡터를 고른다).\n2.6.2 랭크 (Rank) 정의: AAA의 일차독립인 열의 최대 개수. 이는 일차독립인 행의 최대 개수와 같다. rk(A)\\text{rk}(A)rk(A)로 쓴다.\n교재가 정리한 성질 (암기 대상):\nrk(A)=rk(A⊤)\\text{rk}(A)=\\text{rk}(A^\\top)rk(A)=rk(A⊤) (열 랭크 = 행 랭크). AAA의 열이 생성하는 부분공간 U⊆RmU\\subseteq\\mathbb R^mU⊆Rm의 차원은 rk(A)\\text{rk}(A)rk(A)다. 기저는 가우스 소거로 찾은 피벗 열이다(뒤에서 이를 상(image) 또는 열공간이라 부른다). AAA의 행이 생성하는 W⊆RnW\\subseteq\\mathbb R^nW⊆Rn의 차원도 rk(A)\\text{rk}(A)rk(A). 기저는 A⊤A^\\topA⊤에 소거를 해서 찾는다. A∈Rn×nA\\in\\mathbb R^{n\\times n}A∈Rn×n은 rk(A)=n\\text{rk}(A)=nrk(A)=n일 때, 그리고 그때만 역행렬이 있다. Ax=bAx=bAx=b는 rk(A)=rk(A∣b)\\text{rk}(A)=\\text{rk}(A|b)rk(A)=rk(A∣b)일 때, 그리고 그때만 해가 있다(bbb가 열들의 일차결합이라 열을 하나 더 붙여도 랭크가 안 늘어난다는 뜻). Ax=0Ax=0Ax=0의 해 공간(뒤에서 핵 kernel, 영공간 null space)의 차원은 n−rk(A)n-\\text{rk}(A)n−rk(A). 완전 랭크(full rank): rk(A)=min⁡(m,n)\\text{rk}(A)=\\min(m,n)rk(A)=min(m,n). 아니면 랭크 부족(rank deficient). 손으로 풀어 보는 예제 A=[123246101]A=\\begin{bmatrix}1\u0026amp;2\u0026amp;3\\\\2\u0026amp;4\u0026amp;6\\\\1\u0026amp;0\u0026amp;1\\end{bmatrix}A=​121​240​361​​의 랭크.\n2행은 1행의 2배다. R2−2R1R_2-2R_1R2​−2R1​ → [0,0,0][0,0,0][0,0,0]. R3−R1=[0,−2,−2]R_3-R_1=[0,-2,-2]R3​−R1​=[0,−2,−2]. 행을 정리하면 [1230−2−2000]\\begin{bmatrix}1\u0026amp;2\u0026amp;3\\\\0\u0026amp;-2\u0026amp;-2\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix}​100​2−20​3−20​​, 피벗 2개 → rk(A)=2\\text{rk}(A)=2rk(A)=2. 그래서 역행렬이 없고, Ax=0Ax=0Ax=0의 해 공간은 3−2=13-2=13−2=1차원이다. 헷갈리는 점 \u0026ldquo;랭크 = 0이 아닌 행의 수\u0026quot;는 사다리꼴로 만든 뒤에 센다. 원래 행렬의 0 아닌 행을 세면 안 된다. 4장에서 랭크는 \u0026ldquo;0이 아닌 고유값의 수(대각화 가능할 때)\u0026rdquo;, \u0026ldquo;0이 아닌 특이값의 수\u0026quot;로 다시 등장한다. 특히 특이값 기준은 모든 행렬에 성립한다. 2.7 선형사상 (Linear Mappings, 48쪽) 왜 필요한가 행렬은 결국 \u0026ldquo;벡터를 벡터로 보내는 함수\u0026quot;를 숫자로 적은 것이다. 같은 함수도 어떤 기저(좌표축)로 보느냐에 따라 행렬이 달라진다. 4장의 대각화 A=PDP−1A=PDP^{-1}A=PDP−1와 10장 PCA는 \u0026ldquo;함수를 가장 단순하게 보이게 하는 기저를 고르는 일\u0026quot;이다.\n정의와 성질 선형사상(linear mapping, 선형변환, 벡터공간 준동형): Φ:V→W\\Phi:V\\to WΦ:V→W가 모든 x,yx,yx,y, 스칼라 λ,ψ\\lambda,\\psiλ,ψ에 대해 Φ(λx+ψy)=λΦ(x)+ψΦ(y).\\Phi(\\lambda x+\\psi y)=\\lambda\\Phi(x)+\\psi\\Phi(y).Φ(λx+ψy)=λΦ(x)+ψΦ(y). 결과적으로 Φ(0)=0\\Phi(0)=0Φ(0)=0이다. 그래서 x↦x+1x\\mapsto x+1x↦x+1처럼 원점을 옮기는 함수는 선형이 아니다(2.8의 아핀사상). 단사(injective): Φ(x)=Φ(y)⇒x=y\\Phi(x)=\\Phi(y)\\Rightarrow x=yΦ(x)=Φ(y)⇒x=y. 전사(surjective): Φ(V)=W\\Phi(V)=WΦ(V)=W. 전단사(bijective): 둘 다. 특별한 이름: 동형사상(isomorphism, 선형+전단사), 자기사상(endomorphism, V→VV\\to VV→V 선형), 자기동형(automorphism, V→VV\\to VV→V 선형+전단사), 항등사상 idV\\text{id}_VidV​. 정리 2.17: 유한차원 벡터공간 V,WV,WV,W가 동형 ⟺ dim⁡V=dim⁡W\\iff\\dim V=\\dim W⟺dimV=dimW. 그래서 nnn차원 공간은 모두 Rn\\mathbb R^nRn처럼 다룰 수 있고, Rm×n\\mathbb R^{m\\times n}Rm×n과 Rmn\\mathbb R^{mn}Rmn도 같은 공간으로 볼 수 있다. 2.7.1 선형사상의 행렬 표현 좌표(coordinates): 순서 있는 기저 B=(b1,…,bn)B=(b_1,\\dots,b_n)B=(b1​,…,bn​)에서 x=α1b1+⋯+αnbnx=\\alpha_1b_1+\\cdots+\\alpha_nb_nx=α1​b1​+⋯+αn​bn​이면 α=[α1,…,αn]⊤\\alpha=[\\alpha_1,\\dots,\\alpha_n]^\\topα=[α1​,…,αn​]⊤이 xxx의 BBB에 대한 좌표벡터다. 같은 벡터도 기저가 바뀌면 좌표가 바뀐다.\n예: x=[3,1]⊤x=[3,1]^\\topx=[3,1]⊤을 기저 B=([1,1]⊤,[1,−1]⊤)B=([1,1]^\\top,[1,-1]^\\top)B=([1,1]⊤,[1,−1]⊤)로 쓰면 α1+α2=3\\alpha_1+\\alpha_2=3α1​+α2​=3, α1−α2=1\\alpha_1-\\alpha_2=1α1​−α2​=1에서 α=[2,1]⊤\\alpha=[2,1]^\\topα=[2,1]⊤. 표준기저 좌표는 [3,1]⊤[3,1]^\\top[3,1]⊤이다.\n변환행렬(transformation matrix): VVV의 기저 B=(b1,…,bn)B=(b_1,\\dots,b_n)B=(b1​,…,bn​), WWW의 기저 C=(c1,…,cm)C=(c_1,\\dots,c_m)C=(c1​,…,cm​)에 대해 Φ(bj)=α1jc1+⋯+αmjcm\\Phi(b_j)=\\alpha_{1j}c_1+\\cdots+\\alpha_{mj}c_mΦ(bj​)=α1j​c1​+⋯+αmj​cm​ 이면 AΦ(i,j)=αijA_\\Phi(i,j)=\\alpha_{ij}AΦ​(i,j)=αij​. 즉 AΦA_\\PhiAΦ​의 jjj번째 열 = Φ(bj)\\Phi(b_j)Φ(bj​)를 CCC로 쓴 좌표다. 그러면 xxx의 BBB-좌표 x^\\hat xx^와 Φ(x)\\Phi(x)Φ(x)의 CCC-좌표 y^\\hat yy^​ 사이에 y^=AΦx^\\hat y=A_\\Phi\\hat xy^​=AΦ​x^가 성립한다.\n2.7.2 기저 변환 (Basis Change) — 정리 2.20 VVV의 기저를 B→B~B\\to\\tilde BB→B~로, WWW의 기저를 C→C~C\\to\\tilde CC→C~로 바꾸면 A~Φ=T−1AΦS\\boxed{\\tilde A_\\Phi=T^{-1}A_\\Phi S}A~Φ​=T−1AΦ​S​ S∈Rn×nS\\in\\mathbb R^{n\\times n}S∈Rn×n: B~\\tilde BB~-좌표를 BBB-좌표로 바꾸는 행렬. SSS의 jjj번째 열 = b~j\\tilde b_jb~j​를 BBB로 쓴 좌표. (BBB가 표준기저면 S=[b~1,…,b~n]S=[\\tilde b_1,\\dots,\\tilde b_n]S=[b~1​,…,b~n​] 그대로.) T∈Rm×mT\\in\\mathbb R^{m\\times m}T∈Rm×m: C~\\tilde CC~-좌표를 CCC-좌표로 바꾸는 행렬. 읽는 법(오른쪽부터): 새 좌표로 들어온 입력을 ① SSS로 옛 좌표로 바꾸고, ② 옛 행렬 AΦA_\\PhiAΦ​를 적용하고, ③ 결과(옛 출력 좌표)를 T−1T^{-1}T−1로 새 출력 좌표로 바꾼다.\n용어: A~=T−1AS\\tilde A=T^{-1}ASA~=T−1AS 꼴로 쓸 수 있으면 AAA와 A~\\tilde AA~는 동치(equivalent), 같은 공간 안에서 A~=S−1AS\\tilde A=S^{-1}ASA~=S−1AS 꼴이면 닮음(similar)이라 한다. 닮은 행렬은 같은 선형사상을 다른 기저로 본 것이다. 4장의 대각화는 \u0026ldquo;S−1ASS^{-1}ASS−1AS가 대각행렬이 되는 SSS를 찾는 일\u0026quot;이다.\n손 예제: Φ(x)=Ax\\Phi(x)=AxΦ(x)=Ax, A=[2101]A=\\begin{bmatrix}2\u0026amp;1\\\\0\u0026amp;1\\end{bmatrix}A=[20​11​] (표준기저). 새 기저 B~=([1,1]⊤,[1,−1]⊤)\\tilde B=([1,1]^\\top,[1,-1]^\\top)B~=([1,1]⊤,[1,−1]⊤)를 입력과 출력 모두에 쓰면 S=T=[111−1]S=T=\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}S=T=[11​1−1​].\nAS=[2+12−10+10−1]=[311−1]AS=\\begin{bmatrix}2+1\u0026amp;2-1\\\\0+1\u0026amp;0-1\\end{bmatrix}=\\begin{bmatrix}3\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}AS=[2+10+1​2−10−1​]=[31​1−1​] S−1=1−2[−1−1−11]=[121212−12]S^{-1}=\\frac{1}{-2}\\begin{bmatrix}-1\u0026amp;-1\\\\-1\u0026amp;1\\end{bmatrix}=\\begin{bmatrix}\\tfrac12\u0026amp;\\tfrac12\\\\\\tfrac12\u0026amp;-\\tfrac12\\end{bmatrix}S−1=−21​[−1−1​−11​]=[21​21​​21​−21​​] A~=S−1AS=[12(3)+12(1)12(1)+12(−1)12(3)−12(1)12(1)−12(−1)]=[2011]\\tilde A=S^{-1}AS=\\begin{bmatrix}\\tfrac12(3)+\\tfrac12(1)\u0026amp;\\tfrac12(1)+\\tfrac12(-1)\\\\\\tfrac12(3)-\\tfrac12(1)\u0026amp;\\tfrac12(1)-\\tfrac12(-1)\\end{bmatrix}=\\begin{bmatrix}2\u0026amp;0\\\\1\u0026amp;1\\end{bmatrix}A~=S−1AS=[21​(3)+21​(1)21​(3)−21​(1)​21​(1)+21​(−1)21​(1)−21​(−1)​]=[21​01​] 정의로 다시 확인: Φ(b~1)=A[1,1]⊤=[3,1]⊤=2b~1+1b~2\\Phi(\\tilde b_1)=A[1,1]^\\top=[3,1]^\\top=2\\tilde b_1+1\\tilde b_2Φ(b~1​)=A[1,1]⊤=[3,1]⊤=2b~1​+1b~2​이므로 A~\\tilde AA~의 1열은 [2,1]⊤[2,1]^\\top[2,1]⊤. Φ(b~2)=A[1,−1]⊤=[1,−1]⊤=0b~1+1b~2\\Phi(\\tilde b_2)=A[1,-1]^\\top=[1,-1]^\\top=0\\tilde b_1+1\\tilde b_2Φ(b~2​)=A[1,−1]⊤=[1,−1]⊤=0b~1​+1b~2​이므로 2열은 [0,1]⊤[0,1]^\\top[0,1]⊤. 일치한다.\n2.7.3 상과 핵 (Image and Kernel) 핵(kernel, 영공간 null space): ker⁡Φ={v∈V:Φ(v)=0}\\ker\\Phi=\\{v\\in V:\\Phi(v)=0\\}kerΦ={v∈V:Φ(v)=0}. 0으로 짓눌리는 입력들. 상(image, 치역 range): ImΦ={Φ(v):v∈V}\\text{Im}\\Phi=\\{\\Phi(v):v\\in V\\}ImΦ={Φ(v):v∈V}. 출력으로 실제로 도달할 수 있는 곳. 둘 다 부분공간이다(핵은 VVV의, 상은 WWW의). 행렬 A∈Rm×nA\\in\\mathbb R^{m\\times n}A∈Rm×n, Φ(x)=Ax\\Phi(x)=AxΦ(x)=Ax이면 ImΦ\\text{Im}\\PhiImΦ = AAA의 열들의 span = 열공간(column space) ⊆ Rm\\mathbb R^mRm, 그리고 rk(A)=dim⁡ImΦ\\text{rk}(A)=\\dim\\text{Im}\\Phirk(A)=dimImΦ. ker⁡Φ\\ker\\PhikerΦ = Ax=0Ax=0Ax=0의 해 전체 ⊆ Rn\\mathbb R^nRn. Φ\\PhiΦ가 단사 ⟺ ker⁡Φ={0}\\iff\\ker\\Phi=\\{0\\}⟺kerΦ={0}. (증명: Φ(x)=Φ(y)\\Phi(x)=\\Phi(y)Φ(x)=Φ(y)이면 Φ(x−y)=0\\Phi(x-y)=0Φ(x−y)=0이고, 핵이 {0}\\{0\\}{0}이면 x=yx=yx=y.) 차원 정리(Rank–Nullity Theorem, 정리 2.24): dim⁡(ker⁡Φ)+dim⁡(ImΦ)=dim⁡V.\\dim(\\ker\\Phi)+\\dim(\\text{Im}\\Phi)=\\dim V.dim(kerΦ)+dim(ImΦ)=dimV. 행렬로 말하면 \u0026ldquo;자유변수 수 + 피벗 수 = 열의 수 nnn\u0026ldquo;이다. 따름정리:\ndim⁡ImΦ\u0026lt;dim⁡V\\dim\\text{Im}\\Phi\u0026lt;\\dim VdimImΦ\u0026lt;dimV이면 핵에 0이 아닌 벡터가 있고, AΦx=0A_\\Phi x=0AΦ​x=0은 해가 무한히 많다. dim⁡V=dim⁡W\\dim V=\\dim WdimV=dimW이면 단사 ⇔ 전사 ⇔ 전단사. 손 예제: A=[123246]A=\\begin{bmatrix}1\u0026amp;2\u0026amp;3\\\\2\u0026amp;4\u0026amp;6\\end{bmatrix}A=[12​24​36​], Φ:R3→R2\\Phi:\\mathbb R^3\\to\\mathbb R^2Φ:R3→R2.\n2행 = 2×1행 → REF [123000]\\begin{bmatrix}1\u0026amp;2\u0026amp;3\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix}[10​20​30​], 랭크 1. 상: span[[1,2]⊤]\\text{span}[[1,2]^\\top]span[[1,2]⊤] (1차원 직선). 전사가 아니다(R2\\mathbb R^2R2 전체가 아님). 핵: x1+2x2+3x3=0x_1+2x_2+3x_3=0x1​+2x2​+3x3​=0 → 자유변수 x2,x3x_2,x_3x2​,x3​ → span[[−2,1,0]⊤,[−3,0,1]⊤]\\text{span}[[-2,1,0]^\\top,[-3,0,1]^\\top]span[[−2,1,0]⊤,[−3,0,1]⊤] (2차원). 단사도 아니다. 확인: 2+1=3=dim⁡R32+1=3=\\dim\\mathbb R^32+1=3=dimR3. 헷갈리는 점 핵은 입력 공간(Rn\\mathbb R^nRn, 행렬의 \u0026ldquo;너비\u0026rdquo;)에, 상은 출력 공간(Rm\\mathbb R^mRm, 행렬의 \u0026ldquo;높이\u0026rdquo;)에 있다. 기저변환에서 SSS와 S−1S^{-1}S−1의 방향을 헷갈리기 쉽다. \u0026ldquo;SSS의 열 = 새 기저벡터를 옛 기저로 쓴 것\u0026quot;을 기억하고, 위의 \u0026ldquo;정의로 다시 확인\u0026quot;처럼 열 하나를 직접 계산해 검산하는 습관을 들인다. 2.8 아핀공간 (Affine Spaces, 61쪽) 2.8.1 아핀 부분공간 정의: 벡터공간 VVV의 점 x0x_0x0​와 부분공간 UUU에 대해 L=x0+U={x0+u:u∈U}.L=x_0+U=\\{x_0+u:u\\in U\\}.L=x0​+U={x0​+u:u∈U}. x0x_0x0​를 지지점(support point), UUU를 방향공간(direction space)이라 한다. 원점을 지나지 않는 직선·평면이 대표적이다. x0∉Ux_0\\notin Ux0​∈/U이면 LLL은 부분공간이 아니다(0∉L0\\notin L0∈/L). 매개변수 표현: UUU의 기저 b1,…,bkb_1,\\dots,b_kb1​,…,bk​로 x=x0+λ1b1+⋯+λkbkx=x_0+\\lambda_1b_1+\\cdots+\\lambda_kb_kx=x0​+λ1​b1​+⋯+λk​bk​. k=1k=1k=1이면 직선, k=2k=2k=2면 평면, Rn\\mathbb R^nRn에서 k=n−1k=n-1k=n−1이면 초평면(hyperplane). 연결: Ax=bAx=bAx=b의 해집합은 xp+ker⁡Ax_p+\\ker Axp​+kerA이므로 아핀 부분공간이다(2.3의 \u0026ldquo;일반해 = 특수해 + 영공간\u0026quot;을 기하학적으로 다시 말한 것). 12장 SVM의 결정 경계 {x:⟨w,x⟩+b=0}\\{x:\\langle w,x\\rangle+b=0\\}{x:⟨w,x⟩+b=0}도 초평면이다. 예: 평면 x+y+z=1x+y+z=1x+y+z=1을 매개변수로 쓰기. 지지점 x0=[1,0,0]⊤x_0=[1,0,0]^\\topx0​=[1,0,0]⊤, 방향은 x+y+z=0x+y+z=0x+y+z=0의 해 공간 기저 [−1,1,0]⊤,[−1,0,1]⊤[-1,1,0]^\\top,[-1,0,1]^\\top[−1,1,0]⊤,[−1,0,1]⊤. 그래서 x=[1,0,0]⊤+λ1[−1,1,0]⊤+λ2[−1,0,1]⊤x=[1,0,0]^\\top+\\lambda_1[-1,1,0]^\\top+\\lambda_2[-1,0,1]^\\topx=[1,0,0]⊤+λ1​[−1,1,0]⊤+λ2​[−1,0,1]⊤. (λ1=1,λ2=2\\lambda_1=1,\\lambda_2=2λ1​=1,λ2​=2를 넣으면 [−2,1,2]⊤[-2,1,2]^\\top[−2,1,2]⊤, 성분 합이 1이다.)\n2.8.2 아핀사상 Φ:V→W\\Phi:V\\to WΦ:V→W가 선형이고 a∈Wa\\in Wa∈W일 때 ϕ(x)=a+Φ(x)(행렬로는 x↦Ax+a)\\begin{gathered} \\phi(x)=a+\\Phi(x) \\\\ (\\text{행렬로는 }x\\mapsto Ax+a) \\end{gathered}ϕ(x)=a+Φ(x)(행렬로는 x↦Ax+a)​ 를 아핀사상(affine mapping)이라 한다. aaa를 평행이동 벡터(translation vector)라 한다. 아핀사상은 \u0026ldquo;선형사상 다음에 평행이동\u0026quot;이고, 아핀사상끼리의 합성도 아핀사상이다. 차원과 평행성 같은 기하 구조를 유지한다. 신경망의 한 층 Wx+bWx+bWx+b(활성화 전)가 아핀사상이다.\n핵심 유도 모음 (백지에 쓸 수 있어야 하는 것) 1. 일반해 = 특수해 + 영공간\nAxp=bAx_p=bAxp​=b, Axh=0Ax_h=0Axh​=0 → A(xp+xh)=bA(x_p+x_h)=bA(xp​+xh​)=b (분배법칙) 아무 해 yyy에 대해 A(y−xp)=0A(y-x_p)=0A(y−xp​)=0 → y−xp∈ker⁡Ay-x_p\\in\\ker Ay−xp​∈kerA (두 해의 차는 동차방정식의 해) 그러므로 해집합 =xp+ker⁡A=x_p+\\ker A=xp​+kerA. 2. (AB)−1=B−1A−1(AB)^{-1}=B^{-1}A^{-1}(AB)−1=B−1A−1\n(AB)(B−1A−1)=A(BB−1)A−1=AIA−1=AA−1=I(AB)(B^{-1}A^{-1})=A(BB^{-1})A^{-1}=AIA^{-1}=AA^{-1}=I(AB)(B−1A−1)=A(BB−1)A−1=AIA−1=AA−1=I (결합법칙) 반대쪽 곱도 같은 식으로 III. 역행렬은 유일하므로 성립. 3. (AB)⊤=B⊤A⊤(AB)^\\top=B^\\top A^\\top(AB)⊤=B⊤A⊤\n((AB)⊤)ij=(AB)ji=∑lajlbli=∑l(B⊤)il(A⊤)lj=(B⊤A⊤)ij((AB)^\\top)_{ij}=(AB)_{ji}=\\sum_l a_{jl}b_{li}=\\sum_l (B^\\top)_{il}(A^\\top)_{lj}=(B^\\top A^\\top)_{ij}((AB)⊤)ij​=(AB)ji​=∑l​ajl​bli​=∑l​(B⊤)il​(A⊤)lj​=(B⊤A⊤)ij​. 4. Ax=0Ax=0Ax=0의 해집합은 부분공간\nA0=0A0=0A0=0이라 000 포함. Ax=Ay=0⇒A(x+y)=0Ax=Ay=0\\Rightarrow A(x+y)=0Ax=Ay=0⇒A(x+y)=0. A(λx)=λAx=0A(\\lambda x)=\\lambda Ax=0A(λx)=λAx=0. 5. 단사 ⇔ 핵 = {0}\n(⇒) Φ(x)=0=Φ(0)\\Phi(x)=0=\\Phi(0)Φ(x)=0=Φ(0)이고 단사면 x=0x=0x=0. (⇐) Φ(x)=Φ(y)⇒Φ(x−y)=0⇒x−y=0\\Phi(x)=\\Phi(y)\\Rightarrow\\Phi(x-y)=0\\Rightarrow x-y=0Φ(x)=Φ(y)⇒Φ(x−y)=0⇒x−y=0. 6. 기저변환 공식의 의미 확인\n입력 xxx의 새 좌표 x~\\tilde xx~ → 옛 좌표 Sx~S\\tilde xSx~ → 옛 출력 좌표 AΦSx~A_\\Phi S\\tilde xAΦ​Sx~ → 새 출력 좌표 T−1AΦSx~T^{-1}A_\\Phi S\\tilde xT−1AΦ​Sx~. 그러므로 새 기저에서의 행렬은 T−1AΦST^{-1}A_\\Phi ST−1AΦ​S. 7. 차원 정리(행렬 버전)\nREF에서 각 열은 피벗 열이거나 자유변수 열이다. 피벗 열 수 =rk(A)=dim⁡Im=\\text{rk}(A)=\\dim\\text{Im}=rk(A)=dimIm, 자유변수 하나마다 영공간 기저 벡터가 하나 생기므로 자유변수 수 =dim⁡ker⁡=\\dim\\ker=dimker. 둘을 합하면 열의 수 nnn. 말로 설명하기 (개념 서술형·구술 대비) \u0026ldquo;~를 설명하라\u0026rdquo;, \u0026ldquo;인 이유는?\u0026rdquo; 같은 서술형 문항이나 구술 질문에 대비해, 정의를 정확히 말하고 짧은 예와 연결 관계를 덧붙이는 연습을 해 둔다. 아래는 3060초 분량의 답 예시다. 소리 내어 말해 보면 개념이 정말 이해됐는지 확인할 수 있다.\nQ. 랭크(rank)가 무엇이고 왜 중요한가요? \u0026ldquo;행렬에서 일차독립인 열의 최대 개수이고, 행으로 세어도 같습니다. 기하학적으로는 열공간, 즉 AxAxAx가 도달할 수 있는 공간의 차원입니다. 랭크로 Ax=bAx=bAx=b의 해 존재 여부(rkA=rk[A∣b]\\text{rk}A=\\text{rk}[A|b]rkA=rk[A∣b]), 정사각행렬의 가역성(rk=n\\text{rk}=nrk=n), 영공간의 차원(n−rkAn-\\text{rk}An−rkA)을 판단합니다. 머신러닝에서는 저계수 근사(4장)나 PCA(10장)처럼 데이터가 실제로 몇 차원에 퍼져 있는지를 말할 때 씁니다.\u0026rdquo;\nQ. 일차독립을 정의하고 판정 방법을 말해 보세요. \u0026ldquo;∑λixi=0\\sum\\lambda_ix_i=0∑λi​xi​=0을 만족하는 계수가 모두 0뿐이면 일차독립입니다. 다시 말해 어느 벡터도 나머지의 일차결합으로 쓸 수 없습니다. 판정할 때는 벡터를 열로 세워 가우스 소거를 하고, 모든 열에 피벗이 있으면 독립입니다. 피벗이 없는 열은 앞 피벗 열들의 일차결합입니다.\u0026rdquo;\nQ. 기저는 유일한가요? 차원은요? \u0026ldquo;기저는 유일하지 않습니다. R2\\mathbb R^2R2에서 표준기저도, [1,1],[1,−1][1,1],[1,-1][1,1],[1,−1]도 기저입니다. 하지만 기저 벡터의 개수는 항상 같고 그것이 차원입니다. 기저가 정해지면 각 벡터를 나타내는 좌표는 유일합니다.\u0026rdquo;\nQ. Ax=bAx=bAx=b의 해가 존재할 조건과 유일할 조건은? \u0026ldquo;존재 조건은 bbb가 AAA의 열공간에 있는 것, 즉 rk(A)=rk([A∣b])\\text{rk}(A)=\\text{rk}([A|b])rk(A)=rk([A∣b])입니다. 해가 있을 때 유일할 조건은 영공간이 {0}\\{0\\}{0}인 것, 즉 rk(A)=n\\text{rk}(A)=nrk(A)=n(열이 모두 독립)입니다. 해가 있고 영공간이 0이 아니면, 해는 특수해 더하기 영공간 원소로 무한히 많습니다.\u0026rdquo;\nQ. 핵과 상, 차원 정리를 설명해 보세요. \u0026ldquo;핵은 0으로 보내지는 입력 전체, 상은 실제로 나올 수 있는 출력 전체입니다. 차원 정리는 dim⁡ker⁡+dim⁡Im=dim⁡V\\dim\\ker+\\dim\\text{Im}=\\dim Vdimker+dimIm=dimV, 즉 입력 공간의 차원이 \u0026lsquo;짓눌려 사라지는 차원\u0026rsquo;과 \u0026lsquo;살아남는 차원\u0026rsquo;으로 나뉜다는 뜻입니다. 행렬로는 자유변수 수와 피벗 수의 합이 열 수와 같다는 말입니다.\u0026rdquo;\nQ. 정사각행렬 AAA가 역행렬을 가질 동치 조건을 여러 개 말해 보세요. \u0026ldquo;rkA=n\\text{rk}A=nrkA=n, 열(행)이 일차독립, ker⁡A={0}\\ker A=\\{0\\}kerA={0}, Ax=bAx=bAx=b가 모든 bbb에 대해 유일한 해를 가짐, det⁡A≠0\\det A\\ne0detA=0(4장), 0이 고유값이 아님(4장)이 모두 같은 말입니다.\u0026rdquo;\nQ. 기저 변환은 왜 필요한가요? \u0026ldquo;같은 선형사상도 기저에 따라 행렬이 달라집니다. 적절한 기저를 고르면 행렬이 단순해집니다. 예를 들어 고유벡터를 기저로 쓰면 대각행렬이 되고(4장 A=PDP−1A=PDP^{-1}A=PDP−1), PCA는 데이터 분산이 큰 방향을 새 기저로 삼는 것입니다. 공식은 A~=T−1AS\\tilde A=T^{-1}ASA~=T−1AS이고, SSS는 새 입력 기저 좌표를 옛 좌표로 바꾸는 행렬입니다.\u0026rdquo;\nQ. 선형사상과 아핀사상의 차이는? \u0026ldquo;선형사상은 Φ(λx+ψy)=λΦ(x)+ψΦ(y)\\Phi(\\lambda x+\\psi y)=\\lambda\\Phi(x)+\\psi\\Phi(y)Φ(λx+ψy)=λΦ(x)+ψΦ(y)를 만족해서 원점을 원점으로 보냅니다. 아핀사상은 선형사상 뒤에 평행이동을 더한 x↦Ax+bx\\mapsto Ax+bx↦Ax+b라 원점이 움직일 수 있습니다. 선형회귀 θ⊤x+θ0\\theta^\\top x+\\theta_0θ⊤x+θ0​나 신경망 한 층의 Wx+bWx+bWx+b가 아핀사상이고, SVM의 결정 경계는 아핀 부분공간인 초평면입니다.\u0026rdquo;\n연습문제 확인 문제 (풀이 포함) 문제 1. A∈R2×3A\\in\\mathbb R^{2\\times3}A∈R2×3, B∈R3×4B\\in\\mathbb R^{3\\times4}B∈R3×4일 때 ABABAB, BABABA, A⊤BA^\\top BA⊤B, B⊤A⊤B^\\top A^\\topB⊤A⊤ 중 정의되는 것과 크기는?\n풀이: ABABAB: (2×3)(3×4)(2\\times3)(3\\times4)(2×3)(3×4) → 2×42\\times42×4. BABABA: (3×4)(2×3)(3\\times4)(2\\times3)(3×4)(2×3) → 안쪽 4≠2라 불가. A⊤BA^\\top BA⊤B: (3×2)(3×4)(3\\times2)(3\\times4)(3×2)(3×4) → 불가. B⊤A⊤B^\\top A^\\topB⊤A⊤: (4×3)(3×2)(4\\times3)(3\\times2)(4×3)(3×2) → 4×24\\times24×2 (이것이 (AB)⊤(AB)^\\top(AB)⊤이다).\n문제 2. [4726]−1\\begin{bmatrix}4\u0026amp;7\\\\2\u0026amp;6\\end{bmatrix}^{-1}[42​76​]−1을 구하라.\n풀이: ad−bc=24−14=10ad-bc=24-14=10ad−bc=24−14=10. 110[6−7−24]=[0.6−0.7−0.20.4]\\frac1{10}\\begin{bmatrix}6\u0026amp;-7\\\\-2\u0026amp;4\\end{bmatrix}=\\begin{bmatrix}0.6\u0026amp;-0.7\\\\-0.2\u0026amp;0.4\\end{bmatrix}101​[6−2​−74​]=[0.6−0.2​−0.70.4​].\n문제 3. 다음 연립방정식의 일반해를 구하라. x+y+z=6x+y+z=6x+y+z=6, x+2y+3z=14x+2y+3z=14x+2y+3z=14, 2x+3y+4z=202x+3y+4z=202x+3y+4z=20.\n풀이: 첨가행렬을 소거한다. R2−R1=[0,1,2 ∣ 8]R_2-R_1=[0,1,2\\,|\\,8]R2​−R1​=[0,1,2∣8], R3−2R1=[0,1,2 ∣ 8]R_3-2R_1=[0,1,2\\,|\\,8]R3​−2R1​=[0,1,2∣8], 다시 R3−R2=[0,0,0 ∣ 0]R_3-R_2=[0,0,0\\,|\\,0]R3​−R2​=[0,0,0∣0]. R1−R2=[1,0,−1 ∣ −2]R_1-R_2=[1,0,-1\\,|\\,-2]R1​−R2​=[1,0,−1∣−2]. RREF: x−z=−2x-z=-2x−z=−2, y+2z=8y+2z=8y+2z=8. 자유변수 zzz. 특수해(z=0z=0z=0) [−2,8,0]⊤[-2,8,0]^\\top[−2,8,0]⊤, 영공간(z=1z=1z=1) [1,−2,1]⊤[1,-2,1]^\\top[1,−2,1]⊤. 일반해 x=[−2,8,0]⊤+λ[1,−2,1]⊤x=[-2,8,0]^\\top+\\lambda[1,-2,1]^\\topx=[−2,8,0]⊤+λ[1,−2,1]⊤. (3식이 1식+2식이라 식이 사실상 두 개다.)\n문제 4. 다음이 R3\\mathbb R^3R3의 부분공간인가? (a) {x:x1+x2=0, x3=2x1}\\{x:x_1+x_2=0,\\ x_3=2x_1\\}{x:x1​+x2​=0, x3​=2x1​} (b) {x:x1x2=0}\\{x:x_1x_2=0\\}{x:x1​x2​=0}\n풀이: (a) 동차 연립방정식의 해집합이라 부분공간이다(1차원 직선, 기저 [1,−1,2]⊤[1,-1,2]^\\top[1,−1,2]⊤). (b) [1,0,0]⊤[1,0,0]^\\top[1,0,0]⊤과 [0,1,0]⊤[0,1,0]^\\top[0,1,0]⊤은 들어 있지만 합 [1,1,0]⊤[1,1,0]^\\top[1,1,0]⊤은 1⋅1≠01\\cdot1\\ne01⋅1=0이라 밖에 있다. 덧셈에 닫혀 있지 않아 부분공간이 아니다.\n문제 5. [1,0,1]⊤,[1,1,0]⊤,[0,1,1]⊤[1,0,1]^\\top,[1,1,0]^\\top,[0,1,1]^\\top[1,0,1]⊤,[1,1,0]⊤,[0,1,1]⊤은 일차독립인가?\n풀이: 열로 세워 소거: [110011101]→R3−R1[1100110−11]→R3+R2[110011002]\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\\\\1\u0026amp;0\u0026amp;1\\end{bmatrix}\\xrightarrow{R_3-R_1}\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\\\\0\u0026amp;-1\u0026amp;1\\end{bmatrix}\\xrightarrow{R_3+R_2}\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\\\\0\u0026amp;0\u0026amp;2\\end{bmatrix}​101​110​011​​R3​−R1​​​100​11−1​011​​R3​+R2​​​100​110​012​​. 피벗 3개라 독립(그래서 R3\\mathbb R^3R3의 기저).\n문제 6. A=[120124131212]A=\\begin{bmatrix}1\u0026amp;2\u0026amp;0\u0026amp;1\\\\2\u0026amp;4\u0026amp;1\u0026amp;3\\\\1\u0026amp;2\u0026amp;1\u0026amp;2\\end{bmatrix}A=​121​242​011​132​​의 랭크, 핵의 차원과 기저를 구하라.\n풀이: R2−2R1=[0,0,1,1]R_2-2R_1=[0,0,1,1]R2​−2R1​=[0,0,1,1], R3−R1=[0,0,1,1]R_3-R_1=[0,0,1,1]R3​−R1​=[0,0,1,1], R3−R2=[0,0,0,0]R_3-R_2=[0,0,0,0]R3​−R2​=[0,0,0,0]. RREF [120100110000]\\begin{bmatrix}1\u0026amp;2\u0026amp;0\u0026amp;1\\\\0\u0026amp;0\u0026amp;1\u0026amp;1\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\\end{bmatrix}​100​200​010​110​​, 피벗 1, 3열 → rk=2\\text{rk}=2rk=2. 핵 차원 4−2=24-2=24−2=2. 자유변수 x2,x4x_2,x_4x2​,x4​: x2=1,x4=0x_2=1,x_4=0x2​=1,x4​=0 → [−2,1,0,0]⊤[-2,1,0,0]^\\top[−2,1,0,0]⊤, x2=0,x4=1x_2=0,x_4=1x2​=0,x4​=1 → [−1,0,−1,1]⊤[-1,0,-1,1]^\\top[−1,0,−1,1]⊤.\n문제 7. 기저 B=([2,1]⊤,[1,1]⊤)B=([2,1]^\\top,[1,1]^\\top)B=([2,1]⊤,[1,1]⊤)에서 x=[3,2]⊤x=[3,2]^\\topx=[3,2]⊤의 좌표는?\n풀이: 2α1+α2=32\\alpha_1+\\alpha_2=32α1​+α2​=3, α1+α2=2\\alpha_1+\\alpha_2=2α1​+α2​=2. 빼면 α1=1\\alpha_1=1α1​=1, 그래서 α2=1\\alpha_2=1α2​=1. 좌표 [1,1]⊤[1,1]^\\top[1,1]⊤ (실제로 [2,1]+[1,1]=[3,2][2,1]+[1,1]=[3,2][2,1]+[1,1]=[3,2]).\n문제 8. 선형사상인가? (a) Φ(x)=x+1\\Phi(x)=x+1Φ(x)=x+1 (R→R\\mathbb R\\to\\mathbb RR→R) (b) Φ([x1,x2]⊤)=[x1+x2, 3x1]⊤\\Phi([x_1,x_2]^\\top)=[x_1+x_2,\\,3x_1]^\\topΦ([x1​,x2​]⊤)=[x1​+x2​,3x1​]⊤ (c) Φ(x)=x2\\Phi(x)=x^2Φ(x)=x2\n풀이: (a) 아니다. Φ(0)=1≠0\\Phi(0)=1\\ne0Φ(0)=1=0(아핀사상이다). (b) 선형이다. 행렬 [1130]\\begin{bmatrix}1\u0026amp;1\\\\3\u0026amp;0\\end{bmatrix}[13​10​]로 쓸 수 있다. (c) 아니다. Φ(2⋅1)=4≠2Φ(1)=2\\Phi(2\\cdot1)=4\\ne2\\Phi(1)=2Φ(2⋅1)=4=2Φ(1)=2.\n문제 9. A=[10−1011]A=\\begin{bmatrix}1\u0026amp;0\u0026amp;-1\\\\0\u0026amp;1\u0026amp;1\\end{bmatrix}A=[10​01​−11​]인 Φ:R3→R2\\Phi:\\mathbb R^3\\to\\mathbb R^2Φ:R3→R2의 핵과 상을 구하고 단사·전사를 판정하라.\n풀이: 이미 RREF, 피벗 2개 → rk=2\\text{rk}=2rk=2. 상의 차원 2 = dim⁡R2\\dim\\mathbb R^2dimR2이라 상은 R2\\mathbb R^2R2 전체, 전사. 핵: 자유변수 x3=1x_3=1x3​=1 → x1=1x_1=1x1​=1, x2=−1x_2=-1x2​=−1 → span[[1,−1,1]⊤]\\text{span}[[1,-1,1]^\\top]span[[1,−1,1]⊤], 0이 아니라 단사 아님. 확인: 1+2=31+2=31+2=3.\n문제 10. [1224]x=[1k]\\begin{bmatrix}1\u0026amp;2\\\\2\u0026amp;4\\end{bmatrix}x=\\begin{bmatrix}1\\\\k\\end{bmatrix}[12​24​]x=[1k​]이 해를 가질 kkk는? 그때 해는 몇 개인가?\n풀이: R2−2R1R_2-2R_1R2​−2R1​: [0,0 ∣ k−2][0,0\\,|\\,k-2][0,0∣k−2]. 해가 있으려면 k=2k=2k=2. 그때 랭크 1 \u0026lt; 2라 영공간이 1차원이고 해가 무한히 많다: x=[1,0]⊤+λ[−2,1]⊤x=[1,0]^\\top+\\lambda[-2,1]^\\topx=[1,0]⊤+λ[−2,1]⊤.\n문제 11. 평면 x+y+z=1x+y+z=1x+y+z=1이 R3\\mathbb R^3R3의 부분공간이 아님을 보이고, 지지점과 방향공간으로 표현하라.\n풀이: 0+0+0=0≠10+0+0=0\\ne10+0+0=0=1이라 원점이 없다. 지지점 [1,0,0]⊤[1,0,0]^\\top[1,0,0]⊤, 방향공간 {x+y+z=0}=span[[−1,1,0]⊤,[−1,0,1]⊤]\\{x+y+z=0\\}=\\text{span}[[-1,1,0]^\\top,[-1,0,1]^\\top]{x+y+z=0}=span[[−1,1,0]⊤,[−1,0,1]⊤]. 즉 아핀 부분공간이다.\n교재 연습문제 안내 (64~69쪽, 답은 sympy로 검산) 번호 무엇을 묻나 답 / 풀이 방향 2.1 a⋆b=ab+a+ba\\star b=ab+a+ba⋆b=ab+a+b가 아벨군인지, 3⋆x⋆x=153\\star x\\star x=153⋆x⋆x=15 풀기 위 2.4.1 풀이. x=1x=1x=1 또는 x=−3x=-3x=−3 2.2 Zn\\mathbb Z_nZn​의 덧셈군, 곱셈군 조건 덧셈은 아벨군. (Z5∖{0},⊗)(\\mathbb Z_5\\setminus\\{0\\},\\otimes)(Z5​∖{0},⊗)는 군, (Z8∖{0},⊗)(\\mathbb Z_8\\setminus\\{0\\},\\otimes)(Z8​∖{0},⊗)는 아님(예: 2⊗4=8≡02\\otimes4=8\\equiv02⊗4=8≡0으로 닫힘이 깨짐). nnn이 소수일 때만 군(베주 정리로 역원 존재) 2.3 위삼각 3×33\\times33×3 행렬(대각 1) 집합이 행렬곱에 대해 군인가 군이다(곱해도 같은 꼴, 역행렬도 같은 꼴). 아벨군은 아니다(두 행렬을 곱하는 순서에 따라 오른쪽 위 원소가 달라짐) 2.4 행렬곱 가능 여부·계산 (a) 3×23\\times23×2와 3×33\\times33×3이라 불가 (b) [43510911161517]\\begin{bmatrix}4\u0026amp;3\u0026amp;5\\\\10\u0026amp;9\u0026amp;11\\\\16\u0026amp;15\u0026amp;17\\end{bmatrix}​41016​3915​51117​​ (c) [57911131581012]\\begin{bmatrix}5\u0026amp;7\u0026amp;9\\\\11\u0026amp;13\u0026amp;15\\\\8\u0026amp;10\u0026amp;12\\end{bmatrix}​5118​71310​91512​​ (d) [146−212]\\begin{bmatrix}14\u0026amp;6\\\\-21\u0026amp;2\\end{bmatrix}[14−21​62​] (e) 4×44\\times44×4 행렬 [123−3−12−31266510131232]\\begin{bmatrix}12\u0026amp;3\u0026amp;-3\u0026amp;-12\\\\-3\u0026amp;1\u0026amp;2\u0026amp;6\\\\6\u0026amp;5\u0026amp;1\u0026amp;0\\\\13\u0026amp;12\u0026amp;3\u0026amp;2\\end{bmatrix}​12−3613​31512​−3213​−12602​​ 2.5 Ax=bAx=bAx=b의 해집합 (a) rkA=3\\text{rk}A=3rkA=3, rk[A∣b]=4\\text{rk}[A\\vert b]=4rk[A∣b]=4 → 해 없음. (b) x=[3,0,0,−1,0]⊤+λ1[0,0,1,0,0]⊤+λ2[1,2,0,1,1]⊤x=[3,0,0,-1,0]^\\top+\\lambda_1[0,0,1,0,0]^\\top+\\lambda_2[1,2,0,1,1]^\\topx=[3,0,0,−1,0]⊤+λ1​[0,0,1,0,0]⊤+λ2​[1,2,0,1,1]⊤ (x3x_3x3​은 어떤 식에도 안 나와 자유) 2.6 가우스 소거로 모든 해 x=[0,1,0,−2,1,0]⊤+λ1e1+λ2e3+λ3[0,−1,0,−1,1,1]⊤x=[0,1,0,-2,1,0]^\\top+\\lambda_1e_1+\\lambda_2e_3+\\lambda_3[0,-1,0,-1,1,1]^\\topx=[0,1,0,−2,1,0]⊤+λ1​e1​+λ2​e3​+λ3​[0,−1,0,−1,1,1]⊤ (x1,x3x_1,x_3x1​,x3​은 식에 안 나와 자유) 2.7 Ax=12xAx=12xAx=12x, ∑xi=1\\sum x_i=1∑xi​=1 (A−12I)x=0(A-12I)x=0(A−12I)x=0을 풀고 합 조건을 넣는다. x=[3/8, 3/8, 1/4]⊤x=[3/8,\\,3/8,\\,1/4]^\\topx=[3/8,3/8,1/4]⊤ (4장의 \u0026ldquo;고유값 12의 고유벡터\u0026quot;를 정규화한 것) 2.8 역행렬 (a) 행렬식 0이라 역행렬 없음(3행 = 2×2행 − 1행) (b) [0−101−1001110−1111−2]\\begin{bmatrix}0\u0026amp;-1\u0026amp;0\u0026amp;1\\\\-1\u0026amp;0\u0026amp;0\u0026amp;1\\\\1\u0026amp;1\u0026amp;0\u0026amp;-1\\\\1\u0026amp;1\u0026amp;1\u0026amp;-2\\end{bmatrix}​0−111​−1011​0001​11−1−2​​ 2.9 부분공간 판정 위 2.4.3 풀이. a 예, b 아니오, c γ=0\\gamma=0γ=0일 때만, d 아니오 2.10 일차독립 (a) 종속: x3=2x1−x2x_3=2x_1-x_2x3​=2x1​−x2​ (b) 독립(랭크 3) 2.11 y=[1,−2,5]⊤y=[1,-2,5]^\\topy=[1,−2,5]⊤를 x1,x2,x3x_1,x_2,x_3x1​,x2​,x3​의 일차결합으로 y=−6x1+3x2+2x3y=-6x_1+3x_2+2x_3y=−6x1​+3x2​+2x3​ 2.12 두 span의 교집합 기저 U1U_1U1​의 벡터 = U2U_2U2​의 벡터로 놓고 계수에 대한 동차 연립방정식을 푼다. 해의 계수로 교집합 벡터를 만든다 2.13 두 해공간의 차원·기저·교집합 각각 Aix=0A_ix=0Ai​x=0을 풀고, 교집합은 [A1A2]x=0\\begin{bmatrix}A_1\\\\A_2\\end{bmatrix}x=0[A1​A2​​]x=0을 푼다 2.14 두 열공간의 차원·기저·교집합 2.12와 같은 방법(열공간끼리) 2.15 F,GF,GF,G의 교집합 GGG의 원소 (a−b,a+b,a−3b)(a-b,a+b,a-3b)(a−b,a+b,a−3b)를 FFF의 식 x+y−z=0x+y-z=0x+y−z=0에 넣으면 (a−b)+(a+b)−(a−3b)=a+3b=0(a-b)+(a+b)-(a-3b)=a+3b=0(a−b)+(a+b)−(a−3b)=a+3b=0, 즉 a=−3ba=-3ba=−3b. 대입하면 (−4b,−2b,−6b)(-4b,-2b,-6b)(−4b,−2b,−6b)이므로 F∩G=span[[2,1,3]⊤]F\\cap G=\\text{span}[[2,1,3]^\\top]F∩G=span[[2,1,3]⊤] (확인: 2+1−3=02+1-3=02+1−3=0). 2.15c는 기저로 다시 확인하라는 문제 2.16 사상이 선형인가 (a) 적분: 선형 (b) 미분: 선형 (c) cos⁡\\coscos: 아님(cos⁡0=1≠0\\cos0=1\\ne0cos0=1=0) (d) 행렬곱: 선형 (e) 회전행렬: 선형 2.17 변환행렬, 랭크, 핵, 상 AΦ=[3211111−30231]A_\\Phi=\\begin{bmatrix}3\u0026amp;2\u0026amp;1\\\\1\u0026amp;1\u0026amp;1\\\\1\u0026amp;-3\u0026amp;0\\\\2\u0026amp;3\u0026amp;1\\end{bmatrix}AΦ​=​3112​21−33​1101​​, rk=3\\text{rk}=3rk=3, ker⁡={0}\\ker=\\{0\\}ker={0}(dim⁡0\\dim0dim0), Im\\text{Im}Im = 세 열의 span(dim⁡3\\dim3dim3, R4\\mathbb R^4R4 안의 3차원 부분공간) 2.18 f∘g=idf\\circ g=\\text{id}f∘g=id일 때 핵·상 관계 증명 핵의 정의와 합성을 그대로 쓰는 증명 연습 2.19 핵·상, 기저 변환 rkAΦ=3\\text{rk}A_\\Phi=3rkAΦ​=3이라 ker⁡={0}\\ker=\\{0\\}ker={0}, Im=R3\\text{Im}=\\mathbb R^3Im=R3. 새 기저 B=([1,1,1]⊤,[1,2,1]⊤,[1,0,0]⊤)B=([1,1,1]^\\top,[1,2,1]^\\top,[1,0,0]^\\top)B=([1,1,1]⊤,[1,2,1]⊤,[1,0,0]⊤)에서 A~=B−1AB=[691−3−50−1−10]\\tilde A=B^{-1}AB=\\begin{bmatrix}6\u0026amp;9\u0026amp;1\\\\-3\u0026amp;-5\u0026amp;0\\\\-1\u0026amp;-1\u0026amp;0\\end{bmatrix}A~=B−1AB=​6−3−1​9−5−1​100​​ 2.20 두 기저 사이의 변환, 합성된 기저 변환 P1P_1P1​: B′B\u0026#x27;B′ 벡터를 BBB로 쓴 좌표를 열로. P2P_2P2​: CCC의 벡터를 표준기저로 쓴 것(c1,c2,c3c_1,c_2,c_3c1​,c2​,c3​를 열로). 이후 정리 2.20 순서대로 시험 직전 10분 요약 행렬 연산\n곱 크기: (m×n)(n×k)=m×k(m\\times n)(n\\times k)=m\\times k(m×n)(n×k)=m×k. AB≠BAAB\\ne BAAB=BA. (AB)⊤=B⊤A⊤(AB)^\\top=B^\\top A^\\top(AB)⊤=B⊤A⊤, (AB)−1=B−1A−1(AB)^{-1}=B^{-1}A^{-1}(AB)−1=B−1A−1, (A−1)⊤=(A⊤)−1(A^{-1})^\\top=(A^\\top)^{-1}(A−1)⊤=(A⊤)−1. 2×2 역행렬 1ad−bc[d−b−ca]\\frac{1}{ad-bc}\\begin{bmatrix}d\u0026amp;-b\\\\-c\u0026amp;a\\end{bmatrix}ad−bc1​[d−c​−ba​]. 일반은 [A∣I]→[I∣A−1][A|I]\\to[I|A^{-1}][A∣I]→[I∣A−1]. 연립방정식\n일반해 = 특수해 + ker⁡A\\ker AkerA. 해 존재 ⇔ rkA=rk[A∣b]\\text{rk}A=\\text{rk}[A|b]rkA=rk[A∣b]. 유일 ⇔ (존재하고) rkA=n\\text{rk}A=nrkA=n. REF → RREF → 자유변수 0으로 특수해, 자유변수 하나씩 1로 영공간 기저. Minus-1 트릭. 최소제곱: x=(A⊤A)−1A⊤bx=(A^\\top A)^{-1}A^\\top bx=(A⊤A)−1A⊤b (9장 정규방정식). 공간\n부분공간 판정: 000 포함, 덧셈·스칼라곱에 닫힘. Ax=0Ax=0Ax=0의 해는 부분공간, Ax=b(≠0)Ax=b(\\ne0)Ax=b(=0)의 해는 아핀. 독립 판정: 열로 세워 소거, 모든 열이 피벗이면 독립. 기저 = 최소 생성집합 = 최대 독립집합. 차원 = 기저 개수. 랭크 = 독립인 열 수 = 독립인 행 수 = dim⁡\\dimdim 열공간. 선형사상\n변환행렬의 jjj열 = Φ(bj)\\Phi(b_j)Φ(bj​)의 CCC-좌표. 기저변환 A~=T−1AS\\tilde A=T^{-1}ASA~=T−1AS (SSS: 새 입력 좌표 → 옛 좌표). 같은 공간이면 S−1ASS^{-1}ASS−1AS (닮음). ker⁡\\kerker ⊆ 입력공간, Im\\text{Im}Im = 열공간 ⊆ 출력공간. 단사 ⇔ ker⁡={0}\\ker=\\{0\\}ker={0}. 차원 정리: dim⁡ker⁡+dim⁡Im=dim⁡V\\dim\\ker+\\dim\\text{Im}=\\dim Vdimker+dimIm=dimV (= 열 수). 아핀사상 x↦Ax+bx\\mapsto Ax+bx↦Ax+b, 아핀 부분공간 x0+Ux_0+Ux0​+U, 초평면은 n−1n-1n−1차원. ","permalink":"https://qofo.github.io/posts/mml-ch02-linear-algebra/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 17~69쪽.\u003c/strong\u003e 이 장의 개념은 책 전체에서 계속 쓰인다. 3장(내적·사영)과 4장(고유값·SVD)은 이 장 위에 쌓이고, 9장의 정규방정식은 연립방정식 풀기, 10장 PCA는 \u0026ldquo;좋은 기저(축)를 고르는 문제\u0026rdquo;, 12장 SVM의 결정 경계는 아핀 부분공간(초평면)이다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr\u003e\n\u003ch2 id=\"0-이-장-지도\"\u003e0. 이 장 지도\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e흐름:\u003c/strong\u003e 연립방정식(2.1) → 그것을 담는 그릇인 행렬(2.2) → 기계적으로 푸는 방법인 가우스 소거(2.3) → \u0026ldquo;벡터란 무엇인가\u0026quot;를 일반화한 벡터공간(2.4) → 중복 없는 벡터 묶음인 일차독립(2.5) → 공간을 만드는 최소 묶음인 기저와 랭크(2.6) → 공간 사이의 함수인 선형사상(2.7) → 원점을 벗어난 평행이동 공간인 아핀공간(2.8)\u003c/p\u003e","title":"MML 2장 선형대수: 연립방정식, 기저와 랭크, 선형사상"},{"content":"1편에서 폰 안에 Ubuntu를 올리고 AI 에이전트를 붙였다. 다음 문제는 가독성이었다. 작업 기록을 마크다운으로 남겼는데, 터미널에서 cat으로 읽으면 표는 어긋나고 코드 블록은 백틱이 그대로 보인다.\n그래서 폰에서 바로 구동할 수 있는 경량 웹 뷰어를 만들었다. 설계 목표는 두 가지다.\n추가 의존성 설치가 없을 것 모바일 브라우저에서 정상적으로 렌더링될 것 무의존성 경량 웹 서버 구현 외부 프레임워크 대신 Python 표준 라이브러리만을 사용하여 웹 서버를 구현했다. RAM 4GB 환경의 스마트폰에서 수백 개의 패키지를 설치하는 것은 리소스 소모가 크며, 특히 proot 환경에서는 다수의 소용량 파일을 생성하는 작업(npm install 등)의 I/O 속도가 크게 저하되기 때문이다.\nimport http.server import socketserver PORT = 8080 POSTS_DIR = \u0026#34;/posts\u0026#34; 서버의 역할은 세 가지 엔드포인트로 한정된다.\n/: 화면 UI를 구성하는 단일 HTML 문서를 반환한다. /api/posts: /posts/*.md 파일들을 탐색하여 제목, 날짜, 태그, 요약 목록을 JSON 형식으로 반환한다. /api/post?id=...: 요청된 마크다운 원문 텍스트를 그대로 반환한다. 마크다운의 HTML 변환은 클라이언트 브라우저에서 처리하도록 설계했다. 서버는 원문 텍스트만 전달하고, 화면에서 marked.js가 렌더링을 수행하며 highlight.js가 코드 구문 강조를 처리한다. 이를 통해 스마트폰 CPU의 부하를 최소화하고 파일 수정 사항을 새로고침만으로 즉시 반영할 수 있다.\n글 목록 역시 별도 데이터베이스 없이 파일 시스템 기반으로 관리한다. /posts/ 디렉터리에 .md 파일을 추가하면 서버 재시작 없이 즉시 블로그에 반영된다.\npython3 /root/serve_blog.py # Blog \u0026amp; Dashboard server running on http://0.0.0.0:8080 폰 브라우저에서 http://localhost:8080, 같은 Wi-Fi의 PC에서 http://192.168.0.42:8080으로 접속된다. 여기까지 10분이 걸렸다.\n외부 접속 불가: 사설 IP의 한계 192.168.0.42는 공유기가 내부 기기에 할당한 사설 IP다. 동일 Wi-Fi 대역을 벗어나면 이 주소로는 접속할 수 없다. 스마트폰이 LTE 망에 연결되면 통신사의 CGNAT(Carrier-Grade NAT) 환경에 배치되므로 공인 IP조차 할당받지 못한다.\n따라서 외부에서 내부로 들어오는 인바운드 연결을 생성할 수 없다. 공유기 포트포워딩은 로컬 Wi-Fi 환경에서만 유효하며, 통신사 망에서는 개방할 수 있는 포트가 존재하지 않는다.\n이 문제는 아웃바운드 터널링(Reverse Tunneling)으로 해결할 수 있다. 외부에서 내부로 직접 접속하는 대신, 스마트폰이 외부 중계 서버(엣지)로 먼저 아웃바운드 연결을 맺어 두는 방식이다.\n[방문자] ──HTTPS──\u0026gt; [터널 서비스 엣지] \u0026lt;──바깥으로 맺은 연결── [내 폰] │ localhost:8080 방문자가 중계 서비스로 접속하면 미리 수립된 터널을 통해 스마트폰의 localhost:8080으로 트래픽이 전달된다.\nCloudflare Quick Tunnel을 통한 외부 공개 Cloudflare Quick Tunnel은 계정 생성, 도메인 등록, 설정 파일 작성 없이 즉시 터널을 개설할 수 있는 도구다.\ncurl -sL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64 \\ -o /usr/local/bin/cloudflared chmod +x /usr/local/bin/cloudflared cloudflared tunnel --url http://localhost:8080 스마트폰 CPU는 ARM 64비트 아키텍처이므로 linux-arm64 빌드를 내려받아야 한다. x86_64 바이너리는 실행되지 않는다.\n실행하자마자 임의의 도메인(https://four-processes-launches-tapes.trycloudflare.com 형태)이 발급됐다. 로그를 보면 인천(icn01) 엣지에 QUIC으로 붙었다. 폰에 띄운 페이지가 공인 HTTPS 인증서를 달고 외부에 공개된 상태다.\n2026-09-17T12:28:02Z INF Registered tunnel connection location=icn01 protocol=quic Quick Tunnel의 특성과 구조적 한계 Quick Tunnel은 공유기 포트포워딩이나 인증서 발급 과정 없이 즉시 외부 접속 환경을 구성할 수 있으며, LTE 망 전환 시에도 연결이 유지된다.\n그러나 안정적인 서비스 운영 관점에서는 두 가지 한계가 존재한다.\n임의 도메인 재발급: *.trycloudflare.com 형태의 주소는 무작위로 생성되며, 터널을 재시작할 때마다 완전히 새로운 주소가 발급된다. 프로세스가 재기동되면 기존 접속 링크가 무효화되므로 고정 도메인이 필요한 환경에는 적합하지 않다. 단일 스레드 블로킹: 초기 구현에 사용한 socketserver.TCPServer는 동시 요청을 처리하지 못하고 요청을 한 번에 하나씩 직렬로 처리한다. 특정 클라이언트의 응답 처리가 지연되면 다른 모든 요청이 차단되는 구조다. 이 문제는 이후 6편에서 멀티스레드 기반 서버로 재설계하여 해결한다. 스마트폰 내부에서 웹 서버를 띄우는 작업보다 외부에서 안정적으로 접근할 수 있는 고정 주소를 확보하는 작업이 핵심 과제다. 다음 편에서는 본격적인 주소 고정 작업에 앞서 일반 리눅스 서버와 모바일 PRoot 환경 간의 구조적 차이 및 제약 사항을 정리한다.\n→ 3편. 스마트폰 리눅스의 진짜 제약: 가짜 root, 없는 systemd, 그리고 가짜 /proc\n","permalink":"https://qofo.github.io/posts/stdlib-python-blog/","summary":"\u003cp\u003e\u003ca href=\"/posts/ubuntu-on-galaxy-note-fe/\"\u003e1편\u003c/a\u003e에서 폰 안에 Ubuntu를 올리고 AI 에이전트를 붙였다. 다음 문제는 가독성이었다. 작업 기록을 마크다운으로 남겼는데, 터미널에서 \u003ccode\u003ecat\u003c/code\u003e으로 읽으면 표는 어긋나고 코드 블록은 백틱이 그대로 보인다.\u003c/p\u003e\n\u003cp\u003e그래서 폰에서 바로 구동할 수 있는 경량 웹 뷰어를 만들었다. 설계 목표는 두 가지다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e추가 의존성 설치가 없을 것\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e모바일 브라우저에서 정상적으로 렌더링될 것\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003ch2 id=\"무의존성-경량-웹-서버-구현\"\u003e무의존성 경량 웹 서버 구현\u003c/h2\u003e\n\u003cp\u003e외부 프레임워크 대신 Python 표준 라이브러리만을 사용하여 웹 서버를 구현했다. RAM 4GB 환경의 스마트폰에서 수백 개의 패키지를 설치하는 것은 리소스 소모가 크며, 특히 proot 환경에서는 다수의 소용량 파일을 생성하는 작업(\u003ccode\u003enpm install\u003c/code\u003e 등)의 I/O 속도가 크게 저하되기 때문이다.\u003c/p\u003e","title":"파이썬 표준 라이브러리만으로 만든 블로그, 그리고 첫 외부 공개"},{"content":" 교재 70~97쪽. 2장에서 다룬 벡터공간에 \u0026ldquo;길이·거리·각도\u0026quot;를 재는 도구(노름, 내적)를 붙인다. 이 장의 직교사영은 9장 선형회귀(최대가능도 해 = 열공간으로의 직교사영), 10장 PCA(데이터를 부분공간에 사영), 12장 SVM(점과 초평면 사이 거리)에서 그대로 다시 나온다. 대칭 양의 정부호 행렬은 4장(숄레스키, 고유값), 6장(공분산 행렬)으로 이어진다.\n0. 이 장 지도 흐름: 길이(노름, 3.1) → 길이와 각도를 함께 주는 내적(3.2) → 내적으로 잰 길이·거리(3.3), 각도·직교(3.4) → 서로 직교하는 기저(3.5) → 부분공간에 직교하는 공간(3.6) → 함수의 내적(3.7) → 직교사영(3.8, 이 장의 핵심) → 회전(3.9)\n절 핵심 한 줄 중요도 뒤에서 쓰이는 곳 3.1 노름 길이의 공리 3개, ℓ1\\ell_1ℓ1​·ℓ2\\ell_2ℓ2​ ★★ 8·9장 정규화(L1/L2) 3.2 내적 쌍선형·대칭·양의 정부호, ⟨x,y⟩=x^⊤Ay^\\langle x,y\\rangle=\\hat x^\\top A\\hat y⟨x,y⟩=x^⊤Ay^​ ★★★ 12장 커널, 6장 공분산 3.3 길이와 거리 ∥x∥=⟨x,x⟩\\|x\\|=\\sqrt{\\langle x,x\\rangle}∥x∥=⟨x,x⟩​, 코시-슈바르츠 ★★ 전체 3.4 각도와 직교 cos⁡ω=⟨x,y⟩∥x∥∥y∥\\cos\\omega=\\frac{\\langle x,y\\rangle}{\\|x\\|\\|y\\|}cosω=∥x∥∥y∥⟨x,y⟩​, 직교행렬 ★★★ 4장 SVD, 회전 3.5 정규직교기저 서로 수직인 단위벡터 기저 ★★ 4장 스펙트럼 정리, 10장 3.6 직교여공간 U⊥U^\\perpU⊥, 법선벡터 ★★ 10장, 12장 초평면 3.7 함수의 내적 ∫u(x)v(x)dx\\int u(x)v(x)dx∫u(x)v(x)dx ★ 푸리에 급수(참고) 3.8 직교사영 πU(x)=B(B⊤B)−1B⊤x\\pi_U(x)=B(B^\\top B)^{-1}B^\\top xπU​(x)=B(B⊤B)−1B⊤x, 그람-슈미트 ★★★ 9장, 10장, 12장 3.9 회전 회전행렬, 거리·각도 보존 ★ 로봇·그래픽(참고) 중요도는 \u0026ldquo;뒤쪽 장에서 다시 쓰이는가, 교재가 정리·예제로 강조하는가\u0026quot;로만 매겼다.\n3.1 노름 (Norms, 71쪽) 왜 필요한가 벡터의 \u0026ldquo;크기\u0026quot;를 재는 방법이 하나만 있는 것이 아니다. 머신러닝에서는 매개변수 크기에 벌점을 줄 때(정규화) 어떤 노름을 쓰느냐에 따라 결과가 달라진다(L2 = 릿지, L1 = 라쏘).\n정의와 성질 노름(norm) ∥⋅∥:V→R\\|\\cdot\\|:V\\to\\mathbb R∥⋅∥:V→R은 모든 벡터 x,yx,yx,y와 스칼라 λ\\lambdaλ에 대해 다음을 만족하는 함수다(정의 3.1):\n절대 동차성(absolutely homogeneous): ∥λx∥=∣λ∣ ∥x∥\\|\\lambda x\\|=|\\lambda|\\,\\|x\\|∥λx∥=∣λ∣∥x∥ (2배로 늘리면 길이도 2배) 삼각부등식(triangle inequality): ∥x+y∥≤∥x∥+∥y∥\\|x+y\\|\\le\\|x\\|+\\|y\\|∥x+y∥≤∥x∥+∥y∥ (돌아가는 길이 질러가는 길보다 짧을 수 없다) 양의 정부호(positive definite): ∥x∥≥0\\|x\\|\\ge0∥x∥≥0이고, ∥x∥=0 ⟺ x=0\\|x\\|=0\\iff x=0∥x∥=0⟺x=0 대표적인 노름:\n맨해튼 노름(Manhattan, ℓ1\\ell_1ℓ1​): ∥x∥1=∑i∣xi∣\\|x\\|_1=\\sum_i|x_i|∥x∥1​=∑i​∣xi​∣ (격자 도로를 따라 걷는 거리) 유클리드 노름(Euclidean, ℓ2\\ell_2ℓ2​): ∥x∥2=∑ixi2=x⊤x\\|x\\|_2=\\sqrt{\\sum_ix_i^2}=\\sqrt{x^\\top x}∥x∥2​=∑i​xi2​​=x⊤x​ (직선 거리). 교재는 특별한 말이 없으면 이것을 쓴다. \u0026ldquo;길이가 1인 벡터 전체\u0026quot;를 그리면 ℓ2\\ell_2ℓ2​는 원, ℓ1\\ell_1ℓ1​은 마름모(꼭짓점이 축 위)다. 라쏘(L1)가 희소한 해(0이 많은 해)를 주는 이유가 이 마름모의 뾰족한 꼭짓점과 관련 있다(교재 밖 보충).\n손으로 풀어 보는 예제 x=[3,−4]⊤x=[3,-4]^\\topx=[3,−4]⊤: ∥x∥1=∣3∣+∣−4∣=7\\|x\\|_1=|3|+|-4|=7∥x∥1​=∣3∣+∣−4∣=7, ∥x∥2=9+16=5\\|x\\|_2=\\sqrt{9+16}=5∥x∥2​=9+16​=5. (∥x∥∞=max⁡i∣xi∣=4\\|x\\|_\\infty=\\max_i|x_i|=4∥x∥∞​=maxi​∣xi​∣=4도 있다. 교재 밖 보충.)\n헷갈리는 점 ℓ1\\ell_1ℓ1​과 ℓ2\\ell_2ℓ2​는 같은 벡터에 다른 값을 준다. 문제에 어떤 노름인지 적혀 있는지 본다. 노름은 내적이 없어도 정의할 수 있다. 하지만 내적이 있으면 그 내적에서 나오는 노름이 자동으로 생긴다(3.3). ℓ1\\ell_1ℓ1​ 노름은 어떤 내적에서도 나오지 않는다. 3.2 내적 (Inner Products, 72쪽) 왜 필요한가 내적 하나로 길이, 거리, 각도, 직교를 모두 정의할 수 있다. 그리고 \u0026ldquo;어떤 내적을 쓰느냐\u0026quot;를 바꾸면 기하 구조 자체가 바뀐다. 12장의 커널은 \u0026ldquo;고차원 특징 공간에서의 내적\u0026quot;을 계산하는 함수다.\n3.2.1 점곱 (Dot Product) x⊤y=∑i=1nxiyi.x^\\top y=\\sum_{i=1}^nx_iy_i.x⊤y=i=1∑n​xi​yi​. 가장 익숙한 내적이다. 교재는 이것을 \u0026ldquo;점곱(dot product)\u0026ldquo;이라 부르고, 내적을 더 일반적인 개념으로 정의한다.\n3.2.2 일반 내적 (General Inner Products) 쌍선형(bilinear): 두 입력 각각에 대해 선형인 함수 Ω(x,y)\\Omega(x,y)Ω(x,y): Ω(λx+ψy,z)=λΩ(x,z)+ψΩ(y,z),Ω(x,λy+ψz)=λΩ(x,y)+ψΩ(x,z).\\begin{aligned} \\Omega(\\lambda x+\\psi y,z) \u0026amp;= \\lambda\\Omega(x,z)+\\psi\\Omega(y,z), \\\\ \\Omega(x,\\lambda y+\\psi z) \u0026amp;= \\lambda\\Omega(x,y)+\\psi\\Omega(x,z). \\end{aligned}Ω(λx+ψy,z)Ω(x,λy+ψz)​=λΩ(x,z)+ψΩ(y,z),=λΩ(x,y)+ψΩ(x,z).​정의 3.2–3.3: 쌍선형 사상 Ω:V×V→R\\Omega:V\\times V\\to\\mathbb RΩ:V×V→R이\n대칭(symmetric): Ω(x,y)=Ω(y,x)\\Omega(x,y)=\\Omega(y,x)Ω(x,y)=Ω(y,x) 양의 정부호(positive definite): x≠0x\\ne0x=0이면 Ω(x,x)\u0026gt;0\\Omega(x,x)\u0026gt;0Ω(x,x)\u0026gt;0, 그리고 Ω(0,0)=0\\Omega(0,0)=0Ω(0,0)=0 이면 내적(inner product)이라 하고 ⟨x,y⟩\\langle x,y\\rangle⟨x,y⟩로 쓴다. 내적이 붙은 벡터공간을 내적공간(inner product space), 점곱을 쓰면 유클리드 벡터공간이라 한다. 점곱이 아닌 내적의 예(교재 예제 3.3): R2\\mathbb R^2R2에서 ⟨x,y⟩=x1y1−(x1y2+x2y1)+2x2y2.\\langle x,y\\rangle=x_1y_1-(x_1y_2+x_2y_1)+2x_2y_2.⟨x,y⟩=x1​y1​−(x1​y2​+x2​y1​)+2x2​y2​. 행렬로 쓰면 x⊤[1−1−12]yx^\\top\\begin{bmatrix}1\u0026amp;-1\\\\-1\u0026amp;2\\end{bmatrix}yx⊤[1−1​−12​]y이고, 이 행렬이 아래 3.2.3의 \u0026ldquo;대칭 양의 정부호\u0026quot;라서 내적이 된다. (교재 연습문제 3.1이 이것이 내적임을 보이라는 문제다.)\n3.2.3 대칭 양의 정부호 행렬 (Symmetric, Positive Definite Matrices) 정의 3.4: 대칭행렬 A∈Rn×nA\\in\\mathbb R^{n\\times n}A∈Rn×n이 모든 x≠0x\\ne0x=0에 대해 x⊤Ax\u0026gt;0x^\\top Ax\u0026gt;0x⊤Ax\u0026gt;0 이면 대칭 양의 정부호(SPD, symmetric positive definite), ≥0\\ge0≥0이면 양의 준정부호(positive semidefinite)라 한다.\n정리 3.5 (내적 ↔ SPD 행렬): 유한차원 공간에서 기저를 하나 고정하면, ⟨⋅,⋅⟩\\langle\\cdot,\\cdot\\rangle⟨⋅,⋅⟩이 내적인 것과 ⟨x,y⟩=x^⊤Ay^(x^,y^는 좌표벡터)\\langle x,y\\rangle=\\hat x^\\top A\\hat y\\qquad(\\hat x,\\hat y\\text{는 좌표벡터})⟨x,y⟩=x^⊤Ay^​(x^,y^​는 좌표벡터) 를 만족하는 SPD 행렬 AAA가 존재하는 것은 같은 말이다. 여기서 Aij=⟨bi,bj⟩A_{ij}=\\langle b_i,b_j\\rangleAij​=⟨bi​,bj​⟩이다. 즉 \u0026ldquo;내적을 고른다\u0026rdquo; = \u0026ldquo;SPD 행렬을 고른다\u0026rdquo;.\nSPD 행렬의 성질 (교재 정리):\n핵(영공간)이 {0}\\{0\\}{0}이다. (x≠0x\\ne0x=0이면 x⊤Ax\u0026gt;0x^\\top Ax\u0026gt;0x⊤Ax\u0026gt;0이라 Ax≠0Ax\\ne0Ax=0.) 그래서 역행렬이 있다. 대각 원소가 모두 양수다(aii=ei⊤Aei\u0026gt;0a_{ii}=e_i^\\top Ae_i\u0026gt;0aii​=ei⊤​Aei​\u0026gt;0). SPD 판정(2×2, 실전용): [abbc]\\begin{bmatrix}a\u0026amp;b\\\\b\u0026amp;c\\end{bmatrix}[ab​bc​]가 SPD ⟺ a\u0026gt;0\\iff a\u0026gt;0⟺a\u0026gt;0이고 ac−b2\u0026gt;0ac-b^2\u0026gt;0ac−b2\u0026gt;0. 일반적으로는 모든 고유값이 양수인 것과 같다(4장). (2×2 공식은 교재 밖 보충, 고유값 판정은 4장 내용.)\n손으로 풀어 보는 예제 (1) SPD인가? A=[2112]A=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}A=[21​12​]. x⊤Ax=2x12+2x1x2+2x22=x12+x22+(x1+x2)2x^\\top Ax=2x_1^2+2x_1x_2+2x_2^2=x_1^2+x_2^2+(x_1+x_2)^2x⊤Ax=2x12​+2x1​x2​+2x22​=x12​+x22​+(x1​+x2​)2. 세 제곱의 합이고, 모두 0이려면 x1=x2=0x_1=x_2=0x1​=x2​=0뿐이다. SPD. (고유값 3, 1 모두 양수.)\n(2) SPD가 아닌 예: A=[1221]A=\\begin{bmatrix}1\u0026amp;2\\\\2\u0026amp;1\\end{bmatrix}A=[12​21​]. x=[1,−1]⊤x=[1,-1]^\\topx=[1,−1]⊤이면 x⊤Ax=1−2−2+1=−2\u0026lt;0x^\\top Ax=1-2-2+1=-2\u0026lt;0x⊤Ax=1−2−2+1=−2\u0026lt;0. SPD 아님. (고유값 3, −1.)\n(3) 이 내적으로 길이 재기: A=[2112]A=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}A=[21​12​]로 정한 내적에서 x=[1,0]⊤x=[1,0]^\\topx=[1,0]⊤의 길이는 x⊤Ax=2\\sqrt{x^\\top Ax}=\\sqrt2x⊤Ax​=2​. 점곱으로는 1이다. 같은 벡터도 내적에 따라 길이가 다르다.\n헷갈리는 점 대칭이 아니면 내적이 아니다. 교재 연습문제 3.2의 A=[2012]A=\\begin{bmatrix}2\u0026amp;0\\\\1\u0026amp;2\\end{bmatrix}A=[21​02​]는 대칭이 아니라 ⟨x,y⟩≠⟨y,x⟩\\langle x,y\\rangle\\ne\\langle y,x\\rangle⟨x,y⟩=⟨y,x⟩가 되어 내적이 아니다(x=e1,y=e2x=e_1,y=e_2x=e1​,y=e2​면 ⟨e1,e2⟩=0\\langle e_1,e_2\\rangle=0⟨e1​,e2​⟩=0, ⟨e2,e1⟩=1\\langle e_2,e_1\\rangle=1⟨e2​,e1​⟩=1). 대각 원소가 모두 양수여도 SPD가 아닐 수 있다(예 (2)). 3.3 길이와 거리 (Lengths and Distances, 75쪽) 정의와 성질 내적이 있으면 유도된 노름(induced norm) ∥x∥=⟨x,x⟩\\|x\\|=\\sqrt{\\langle x,x\\rangle}∥x∥=⟨x,x⟩​가 생긴다. 코시-슈바르츠 부등식(Cauchy–Schwarz): ∣⟨x,y⟩∣≤∥x∥ ∥y∥.|\\langle x,y\\rangle|\\le\\|x\\|\\,\\|y\\|.∣⟨x,y⟩∣≤∥x∥∥y∥. 덕분에 ⟨x,y⟩∥x∥∥y∥\\frac{\\langle x,y\\rangle}{\\|x\\|\\|y\\|}∥x∥∥y∥⟨x,y⟩​가 항상 [−1,1][-1,1][−1,1]에 있어 각도를 정의할 수 있다(3.4). 거리(distance): d(x,y)=∥x−y∥=⟨x−y,x−y⟩d(x,y)=\\|x-y\\|=\\sqrt{\\langle x-y,x-y\\rangle}d(x,y)=∥x−y∥=⟨x−y,x−y⟩​. 점곱을 쓰면 유클리드 거리. 거리 함수(metric)의 성질(정의 3.6): ① 양의 정부호 d(x,y)≥0d(x,y)\\ge0d(x,y)≥0, d(x,y)=0 ⟺ x=yd(x,y)=0\\iff x=yd(x,y)=0⟺x=y ② 대칭 d(x,y)=d(y,x)d(x,y)=d(y,x)d(x,y)=d(y,x) ③ 삼각부등식 d(x,z)≤d(x,y)+d(y,z)d(x,z)\\le d(x,y)+d(y,z)d(x,z)≤d(x,y)+d(y,z). 교재 주석: 내적과 거리는 정의가 비슷해 보이지만 반대로 움직인다. 비슷한 두 벡터는 내적이 크고 거리는 작다. 손으로 풀어 보는 예제 (교재 연습문제 3.3) x=[1,2,3]⊤x=[1,2,3]^\\topx=[1,2,3]⊤, y=[−1,−1,0]⊤y=[-1,-1,0]^\\topy=[−1,−1,0]⊤, x−y=[2,3,3]⊤x-y=[2,3,3]^\\topx−y=[2,3,3]⊤.\n(a) 점곱: d=4+9+9=22d=\\sqrt{4+9+9}=\\sqrt{22}d=4+9+9​=22​. (b) A=[21013−10−12]A=\\begin{bmatrix}2\u0026amp;1\u0026amp;0\\\\1\u0026amp;3\u0026amp;-1\\\\0\u0026amp;-1\u0026amp;2\\end{bmatrix}A=​210​13−1​0−12​​일 때 d=(x−y)⊤A(x−y)d=\\sqrt{(x-y)^\\top A(x-y)}d=(x−y)⊤A(x−y)​. A(x−y)=[2⋅2+1⋅3, 1⋅2+3⋅3−1⋅3, −1⋅3+2⋅3]⊤=[7,8,3]⊤A(x-y)=[2\\cdot2+1\\cdot3,\\ 1\\cdot2+3\\cdot3-1\\cdot3,\\ -1\\cdot3+2\\cdot3]^\\top=[7,8,3]^\\topA(x−y)=[2⋅2+1⋅3, 1⋅2+3⋅3−1⋅3, −1⋅3+2⋅3]⊤=[7,8,3]⊤ (x−y)⊤A(x−y)=2⋅7+3⋅8+3⋅3=14+24+9=47(x-y)^\\top A(x-y)=2\\cdot7+3\\cdot8+3\\cdot3=14+24+9=47(x−y)⊤A(x−y)=2⋅7+3⋅8+3⋅3=14+24+9=47 d=47≈6.86d=\\sqrt{47}\\approx6.86d=47​≈6.86. 3.4 각도와 직교 (Angles and Orthogonality, 76쪽) 정의와 성질 각도: 0이 아닌 x,yx,yx,y에 대해 cos⁡ω=⟨x,y⟩∥x∥ ∥y∥,ω∈[0,π].\\cos\\omega=\\frac{\\langle x,y\\rangle}{\\|x\\|\\,\\|y\\|},\\qquad\\omega\\in[0,\\pi].cosω=∥x∥∥y∥⟨x,y⟩​,ω∈[0,π]. 코시-슈바르츠 덕분에 오른쪽이 [−1,1][-1,1][−1,1]에 있어 ω\\omegaω가 하나로 정해진다. 각도는 \u0026ldquo;방향이 얼마나 비슷한가\u0026quot;를 잰다(CLIP의 코사인 유사도가 이것이다). 직교(orthogonal, 정의 3.7): ⟨x,y⟩=0\\langle x,y\\rangle=0⟨x,y⟩=0이면 x⊥yx\\perp yx⊥y. 길이도 1이면 정규직교(orthonormal). 영벡터는 모든 벡터와 직교한다. 중요: 직교는 내적에 따라 달라진다. 점곱으로 직교인 두 벡터가 다른 내적에서는 직교가 아닐 수 있다(교재 예제 3.7). 직교행렬(orthogonal matrix, 정의 3.8): 정사각행렬 AAA가 AA⊤=I=A⊤AAA^\\top=I=A^\\top AAA⊤=I=A⊤A, 즉 A−1=A⊤A^{-1}=A^\\topA−1=A⊤. 열들이 정규직교라는 뜻이다(이름은 \u0026ldquo;직교\u0026quot;지만 실제로는 정규직교). 길이를 보존한다: ∥Ax∥2=(Ax)⊤(Ax)=x⊤A⊤Ax=x⊤x=∥x∥2\\|Ax\\|^2=(Ax)^\\top(Ax)=x^\\top A^\\top Ax=x^\\top x=\\|x\\|^2∥Ax∥2=(Ax)⊤(Ax)=x⊤A⊤Ax=x⊤x=∥x∥2. 각도를 보존한다: cos⁡ω=(Ax)⊤(Ay)∥Ax∥∥Ay∥=x⊤y∥x∥∥y∥\\cos\\omega=\\frac{(Ax)^\\top(Ay)}{\\|Ax\\|\\|Ay\\|}=\\frac{x^\\top y}{\\|x\\|\\|y\\|}cosω=∥Ax∥∥Ay∥(Ax)⊤(Ay)​=∥x∥∥y∥x⊤y​. 회전(3.9)과 반사가 직교행렬이다. 손으로 풀어 보는 예제 (1) x=[1,1]⊤x=[1,1]^\\topx=[1,1]⊤, y=[1,0]⊤y=[1,0]^\\topy=[1,0]⊤(점곱): cos⁡ω=12⋅1\\cos\\omega=\\frac{1}{\\sqrt2\\cdot1}cosω=2​⋅11​, ω=45∘=π/4\\omega=45^\\circ=\\pi/4ω=45∘=π/4.\n(2) 교재 연습문제 3.4: x=[1,2]⊤x=[1,2]^\\topx=[1,2]⊤, y=[−1,−1]⊤y=[-1,-1]^\\topy=[−1,−1]⊤.\n(a) 점곱: ⟨x,y⟩=−1−2=−3\\langle x,y\\rangle=-1-2=-3⟨x,y⟩=−1−2=−3, ∥x∥=5\\|x\\|=\\sqrt5∥x∥=5​, ∥y∥=2\\|y\\|=\\sqrt2∥y∥=2​. cos⁡ω=−310≈−0.949\\cos\\omega=\\frac{-3}{\\sqrt{10}}\\approx-0.949cosω=10​−3​≈−0.949, ω≈2.82\\omega\\approx2.82ω≈2.82 rad ≈161.6∘\\approx161.6^\\circ≈161.6∘. (b) B=[2113]B=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;3\\end{bmatrix}B=[21​13​]: ⟨x,y⟩=x⊤By\\langle x,y\\rangle=x^\\top By⟨x,y⟩=x⊤By. By=[−3,−4]⊤By=[-3,-4]^\\topBy=[−3,−4]⊤이라 x⊤By=−3−8=−11x^\\top By=-3-8=-11x⊤By=−3−8=−11. Bx=[4,7]⊤Bx=[4,7]^\\topBx=[4,7]⊤, x⊤Bx=4+14=18x^\\top Bx=4+14=18x⊤Bx=4+14=18. y⊤By=3+4=7y^\\top By=3+4=7y⊤By=3+4=7. cos⁡ω=−1118⋅7=−11126≈−0.980\\cos\\omega=\\frac{-11}{\\sqrt{18\\cdot7}}=\\frac{-11}{\\sqrt{126}}\\approx-0.980cosω=18⋅7​−11​=126​−11​≈−0.980, ω≈2.94\\omega\\approx2.94ω≈2.94 rad ≈168.5∘\\approx168.5^\\circ≈168.5∘. 같은 두 벡터라도 내적에 따라 각도가 다르다. 3.5 정규직교기저 (Orthonormal Basis, 78쪽) 정의 nnn차원 공간의 기저 b1,…,bnb_1,\\dots,b_nb1​,…,bn​이 ⟨bi,bj⟩=0 (i≠j),⟨bi,bi⟩=1\\langle b_i,b_j\\rangle=0\\ (i\\ne j),\\qquad\\langle b_i,b_i\\rangle=1⟨bi​,bj​⟩=0 (i=j),⟨bi​,bi​⟩=1 이면 정규직교기저(ONB, orthonormal basis)다. 직교만 하면 직교기저(orthogonal basis).\n왜 좋은가 좌표를 구할 때 연립방정식을 풀 필요가 없다. x=∑iλibix=\\sum_i\\lambda_ib_ix=∑i​λi​bi​이면 양변에 bjb_jbj​를 내적해 λj=⟨x,bj⟩\\lambda_j=\\langle x,b_j\\rangleλj​=⟨x,bj​⟩. 사영 공식이 B⊤B=IB^\\top B=IB⊤B=I로 단순해진다(3.8.2). 4장의 대칭행렬 스펙트럼 정리, SVD, 10장 PCA의 주성분이 모두 정규직교기저다. 만드는 방법 교재는 가우스 소거를 이용하는 방법을 소개하고(첨가행렬 [B~B~⊤ ∣ B~][\\tilde B\\tilde B^\\top\\,|\\,\\tilde B][B~B~⊤∣B~]), 3.8.3에서 그람-슈미트로 다시 다룬다. 실전에서는 그람-슈미트를 쓴다.\n예(교재 예제 3.8과 같은 꼴): b1=12[1,1]⊤b_1=\\frac1{\\sqrt2}[1,1]^\\topb1​=2​1​[1,1]⊤, b2=12[1,−1]⊤b_2=\\frac1{\\sqrt2}[1,-1]^\\topb2​=2​1​[1,−1]⊤은 R2\\mathbb R^2R2의 ONB다. (b1⊤b2=12(1−1)=0b_1^\\top b_2=\\frac12(1-1)=0b1⊤​b2​=21​(1−1)=0, ∥b1∥=∥b2∥=1\\|b_1\\|=\\|b_2\\|=1∥b1​∥=∥b2​∥=1.)\n3.6 직교여공간 (Orthogonal Complement, 79쪽) 정의와 성질 DDD차원 공간 VVV의 MMM차원 부분공간 UUU에 대해, UUU의 모든 벡터와 직교하는 벡터 전체를 직교여공간(orthogonal complement) U⊥U^\\perpU⊥라 한다.\nU⊥U^\\perpU⊥는 (D−M)(D-M)(D−M)차원 부분공간이다. U∩U⊥={0}U\\cap U^\\perp=\\{0\\}U∩U⊥={0}. 모든 x∈Vx\\in Vx∈V는 \u0026ldquo;UUU 성분 + U⊥U^\\perpU⊥ 성분\u0026quot;으로 유일하게 분해된다: x=∑m=1Mλmbm+∑j=1D−Mψjbj⊥.x=\\sum_{m=1}^M\\lambda_mb_m+\\sum_{j=1}^{D-M}\\psi_jb_j^\\perp.x=∑m=1M​λm​bm​+∑j=1D−M​ψj​bj⊥​. 3차원 공간의 평면 UUU는 U⊥U^\\perpU⊥를 생성하는 단위 법선벡터(normal vector) www 하나로 표현할 수 있다. \u0026ldquo;www와 직교하는 벡터 전체 = 평면 UUU\u0026rdquo;. 고차원의 초평면도 같은 방식으로 표현한다(12장 SVM의 www가 법선벡터다). 예제 R3\\mathbb R^3R3에서 U=span[[1,0,1]⊤,[0,1,1]⊤]U=\\text{span}[[1,0,1]^\\top,[0,1,1]^\\top]U=span[[1,0,1]⊤,[0,1,1]⊤]이면 U⊥U^\\perpU⊥는 두 벡터와 모두 직교하는 벡터, 즉 x1+x3=0x_1+x_3=0x1​+x3​=0, x2+x3=0x_2+x_3=0x2​+x3​=0의 해 span[[1,1,−1]⊤]\\text{span}[[1,1,-1]^\\top]span[[1,1,−1]⊤] (1차원 = 3 − 2). 행렬 B⊤B^\\topB⊤의 영공간과 같다: U⊥=ker⁡(B⊤)U^\\perp=\\ker(B^\\top)U⊥=ker(B⊤) (BBB의 열이 UUU의 기저일 때).\n3.7 함수의 내적 (Inner Product of Functions, 80쪽) 벡터의 성분 합 ∑ixiyi\\sum_ix_iy_i∑i​xi​yi​를 적분으로 바꾸면 함수의 내적이 된다: ⟨u,v⟩=∫abu(x)v(x) dx.\\langle u,v\\rangle=\\int_a^bu(x)v(x)\\,dx.⟨u,v⟩=∫ab​u(x)v(x)dx. 이 값이 0이면 두 함수는 직교한다. 교재 예제 3.9: sin⁡x\\sin xsinx와 cos⁡x\\cos xcosx는 [−π,π][-\\pi,\\pi][−π,π]에서 ∫−ππsin⁡xcos⁡x dx=0\\int_{-\\pi}^{\\pi}\\sin x\\cos x\\,dx=0∫−ππ​sinxcosxdx=0이라 직교한다(sin⁡xcos⁡x\\sin x\\cos xsinxcosx가 기함수). 더 나아가 {1,cos⁡x,cos⁡2x,… }\\{1,\\cos x,\\cos2x,\\dots\\}{1,cosx,cos2x,…}가 서로 직교하는 것이 푸리에 급수의 바탕이다. 6장에서 확률변수의 공분산을 내적처럼 볼 때도 이 관점이 쓰인다.\n3.8 직교사영 (Orthogonal Projections, 81쪽) — 이 장의 핵심 왜 필요한가 고차원 데이터를 저차원으로 줄일 때 정보를 가장 적게 잃는 방법이 \u0026ldquo;가장 가까운 점으로 옮기기\u0026rdquo;, 즉 직교사영이다. 10장 PCA가 이것이고, 9장 선형회귀의 예측값 y^\\hat yy^​도 yyy를 특징행렬의 열공간에 직교사영한 것이다.\n정의 사영(projection, 정의 3.10): 부분공간 UUU로 가는 선형사상 π\\piπ가 π2=π∘π=π\\pi^2=\\pi\\circ\\pi=\\piπ2=π∘π=π를 만족하면 사영이다. 행렬로는 Pπ2=PπP_\\pi^2=P_\\piPπ2​=Pπ​ (멱등, idempotent). \u0026ldquo;이미 UUU에 있는 점은 다시 사영해도 그대로\u0026quot;라는 뜻이다.\n직교사영: 사영된 점 πU(x)\\pi_U(x)πU​(x)가 xxx와 가장 가깝고, 그래서 오차 x−πU(x)x-\\pi_U(x)x−πU​(x)가 UUU와 직교한다.\n3.8.1 직선(1차원 부분공간)으로의 사영 U=span[b]U=\\text{span}[b]U=span[b], 점곱 기준. 3단계로 유도한다.\n좌표 구하기: πU(x)∈U\\pi_U(x)\\in UπU​(x)∈U이므로 πU(x)=λb\\pi_U(x)=\\lambda bπU​(x)=λb. 오차 x−λbx-\\lambda bx−λb는 bbb와 직교해야 한다: ⟨x−λb, b⟩=0 ⇒ ⟨x,b⟩−λ⟨b,b⟩=0 ⇒ λ=⟨x,b⟩⟨b,b⟩=b⊤x∥b∥2.\\langle x-\\lambda b,\\,b\\rangle=0\\ \\Rightarrow\\ \\langle x,b\\rangle-\\lambda\\langle b,b\\rangle=0\\ \\Rightarrow\\ \\lambda=\\frac{\\langle x,b\\rangle}{\\langle b,b\\rangle}=\\frac{b^\\top x}{\\|b\\|^2}.⟨x−λb,b⟩=0 ⇒ ⟨x,b⟩−λ⟨b,b⟩=0 ⇒ λ=⟨b,b⟩⟨x,b⟩​=∥b∥2b⊤x​. 사영점: πU(x)=λb=b⊤x∥b∥2b\\pi_U(x)=\\lambda b=\\frac{b^\\top x}{\\|b\\|^2}bπU​(x)=λb=∥b∥2b⊤x​b. 길이는 ∥πU(x)∥=∣cos⁡ω∣ ∥x∥\\|\\pi_U(x)\\|=|\\cos\\omega|\\,\\|x\\|∥πU​(x)∥=∣cosω∣∥x∥ (ω\\omegaω는 xxx와 bbb의 각도). ∥b∥=1\\|b\\|=1∥b∥=1이면 λ=b⊤x\\lambda=b^\\top xλ=b⊤x로 더 간단해진다. 사영행렬: πU(x)=λb=bλ=bb⊤x∥b∥2=bb⊤∥b∥2x\\pi_U(x)=\\lambda b=b\\lambda=b\\frac{b^\\top x}{\\|b\\|^2}=\\frac{bb^\\top}{\\|b\\|^2}xπU​(x)=λb=bλ=b∥b∥2b⊤x​=∥b∥2bb⊤​x이므로 Pπ=bb⊤∥b∥2.P_\\pi=\\frac{bb^\\top}{\\|b\\|^2}.Pπ​=∥b∥2bb⊤​. 대칭행렬이고 랭크 1이다. 손 예제: b=[1,2,2]⊤b=[1,2,2]^\\topb=[1,2,2]⊤, x=[1,1,1]⊤x=[1,1,1]^\\topx=[1,1,1]⊤.\nb⊤x=1+2+2=5b^\\top x=1+2+2=5b⊤x=1+2+2=5, ∥b∥2=1+4+4=9\\|b\\|^2=1+4+4=9∥b∥2=1+4+4=9, λ=59\\lambda=\\frac59λ=95​. πU(x)=59[1,2,2]⊤=[59,109,109]⊤\\pi_U(x)=\\frac59[1,2,2]^\\top=[\\tfrac59,\\tfrac{10}9,\\tfrac{10}9]^\\topπU​(x)=95​[1,2,2]⊤=[95​,910​,910​]⊤. Pπ=19[122244244]P_\\pi=\\frac19\\begin{bmatrix}1\u0026amp;2\u0026amp;2\\\\2\u0026amp;4\u0026amp;4\\\\2\u0026amp;4\u0026amp;4\\end{bmatrix}Pπ​=91​​122​244​244​​. 검산: 오차 x−πU(x)=[49,−19,−19]⊤x-\\pi_U(x)=[\\tfrac49,-\\tfrac19,-\\tfrac19]^\\topx−πU​(x)=[94​,−91​,−91​]⊤, bbb와 내적 49−29−29=0\\tfrac49-\\tfrac29-\\tfrac29=094​−92​−92​=0. 직교한다. 3.8.2 일반 부분공간으로의 사영 U=span[b1,…,bm]⊆RnU=\\text{span}[b_1,\\dots,b_m]\\subseteq\\mathbb R^nU=span[b1​,…,bm​]⊆Rn, 기저를 열로 모은 B=[b1,…,bm]∈Rn×mB=[b_1,\\dots,b_m]\\in\\mathbb R^{n\\times m}B=[b1​,…,bm​]∈Rn×m.\n좌표 구하기: πU(x)=Bλ\\pi_U(x)=B\\lambdaπU​(x)=Bλ (λ∈Rm\\lambda\\in\\mathbb R^mλ∈Rm). 오차가 모든 기저벡터와 직교해야 하므로 bi⊤(x−Bλ)=0b_i^\\top(x-B\\lambda)=0bi⊤​(x−Bλ)=0 (i=1..mi=1..mi=1..m). 한꺼번에 쓰면 B⊤(x−Bλ)=0 ⇒ B⊤Bλ=B⊤x⏟정규방정식(normal equation) ⇒ λ=(B⊤B)−1B⊤x.B^\\top(x-B\\lambda)=0\\ \\Rightarrow\\ \\underbrace{B^\\top B\\lambda=B^\\top x}_{\\text{정규방정식(normal equation)}}\\ \\Rightarrow\\ \\lambda=(B^\\top B)^{-1}B^\\top x.B⊤(x−Bλ)=0 ⇒ 정규방정식(normal equation)B⊤Bλ=B⊤x​​ ⇒ λ=(B⊤B)−1B⊤x. BBB의 열이 기저(일차독립)라 B⊤BB^\\top BB⊤B는 역행렬이 있다. 사영점: πU(x)=B(B⊤B)−1B⊤x\\pi_U(x)=B(B^\\top B)^{-1}B^\\top xπU​(x)=B(B⊤B)−1B⊤x. 사영행렬: Pπ=B(B⊤B)−1B⊤.P_\\pi=B(B^\\top B)^{-1}B^\\top.Pπ​=B(B⊤B)−1B⊤. m=1m=1m=1이면 3.8.1의 식과 같아진다. (B⊤B)−1B⊤(B^\\top B)^{-1}B^\\top(B⊤B)−1B⊤은 2.3.4의 유사역행렬이다. λ\\lambdaλ는 Bx=Bx=Bx=(근사)문제의 최소제곱해다. 즉 \u0026ldquo;풀 수 없는 Bλ=xB\\lambda=xBλ=x를 가장 가깝게 푸는 것 = xxx를 BBB의 열공간에 사영하는 것\u0026rdquo;. 9장에서 B→XB\\to XB→X(데이터), λ→θ\\lambda\\to\\thetaλ→θ, x→yx\\to yx→y로 바꾸면 정규방정식 θ=(X⊤X)−1X⊤y\\theta=(X^\\top X)^{-1}X^\\top yθ=(X⊤X)−1X⊤y가 된다. 정규직교기저면 B⊤B=IB^\\top B=IB⊤B=I이므로 πU(x)=BB⊤x\\pi_U(x)=BB^\\top xπU​(x)=BB⊤x, λ=B⊤x\\lambda=B^\\top xλ=B⊤x. 역행렬 계산이 사라진다. 일반 내적 ⟨x,y⟩=x⊤Ay\\langle x,y\\rangle=x^\\top Ay⟨x,y⟩=x⊤Ay를 쓰면 직교 조건이 B⊤A(x−Bλ)=0B^\\top A(x-B\\lambda)=0B⊤A(x−Bλ)=0이 되어 λ=(B⊤AB)−1B⊤Ax\\lambda=(B^\\top AB)^{-1}B^\\top Axλ=(B⊤AB)−1B⊤Ax (교재 연습문제 3.6이 이 경우다). 손 예제: U=span[[1,0,1]⊤,[0,1,1]⊤]U=\\text{span}[[1,0,1]^\\top,[0,1,1]^\\top]U=span[[1,0,1]⊤,[0,1,1]⊤], x=[2,1,0]⊤x=[2,1,0]^\\topx=[2,1,0]⊤.\nB=[100111]B=\\begin{bmatrix}1\u0026amp;0\\\\0\u0026amp;1\\\\1\u0026amp;1\\end{bmatrix}B=​101​011​​, B⊤B=[2112]B^\\top B=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}B⊤B=[21​12​], B⊤x=[2+0+0, 0+1+0]⊤=[2,1]⊤B^\\top x=[2+0+0,\\ 0+1+0]^\\top=[2,1]^\\topB⊤x=[2+0+0, 0+1+0]⊤=[2,1]⊤. 정규방정식 [2112]λ=[21]\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}\\lambda=\\begin{bmatrix}2\\\\1\\end{bmatrix}[21​12​]λ=[21​]. (B⊤B)−1=13[2−1−12](B^\\top B)^{-1}=\\frac13\\begin{bmatrix}2\u0026amp;-1\\\\-1\u0026amp;2\\end{bmatrix}(B⊤B)−1=31​[2−1​−12​]이라 λ=13[4−1, −2+2]⊤=[1,0]⊤\\lambda=\\frac13[4-1,\\,-2+2]^\\top=[1,0]^\\topλ=31​[4−1,−2+2]⊤=[1,0]⊤. πU(x)=1⋅[1,0,1]⊤+0⋅[0,1,1]⊤=[1,0,1]⊤\\pi_U(x)=1\\cdot[1,0,1]^\\top+0\\cdot[0,1,1]^\\top=[1,0,1]^\\topπU​(x)=1⋅[1,0,1]⊤+0⋅[0,1,1]⊤=[1,0,1]⊤. 오차 x−πU(x)=[1,1,−1]⊤x-\\pi_U(x)=[1,1,-1]^\\topx−πU​(x)=[1,1,−1]⊤. 두 기저벡터와 내적: 1+0−1=01+0-1=01+0−1=0, 0+1−1=00+1-1=00+1−1=0. 직교한다. (3.6 예제의 U⊥U^\\perpU⊥ 방향과 같다.) 거리 d(x,U)=∥[1,1,−1]⊤∥=3d(x,U)=\\|[1,1,-1]^\\top\\|=\\sqrt3d(x,U)=∥[1,1,−1]⊤∥=3​. 사영행렬 Pπ=13[2−11−121112]P_\\pi=\\frac13\\begin{bmatrix}2\u0026amp;-1\u0026amp;1\\\\-1\u0026amp;2\u0026amp;1\\\\1\u0026amp;1\u0026amp;2\\end{bmatrix}Pπ​=31​​2−11​−121​112​​, 계산해 보면 Pπ2=PπP_\\pi^2=P_\\piPπ2​=Pπ​. 교재 예제 3.11도 같은 방법이다(U=span[[1,1,1]⊤,[0,1,2]⊤]U=\\text{span}[[1,1,1]^\\top,[0,1,2]^\\top]U=span[[1,1,1]⊤,[0,1,2]⊤], x=[6,0,0]⊤x=[6,0,0]^\\topx=[6,0,0]⊤ → πU(x)=[5,2,−1]⊤\\pi_U(x)=[5,2,-1]^\\topπU​(x)=[5,2,−1]⊤). 직접 따라 풀어 보면 좋다.\n3.8.3 그람-슈미트 직교화 (Gram–Schmidt Orthogonalization) 일차독립인 b1,…,bnb_1,\\dots,b_nb1​,…,bn​으로 같은 공간의 직교기저 u1,…,unu_1,\\dots,u_nu1​,…,un​을 만든다. 아이디어: 각 벡터에서 \u0026ldquo;이미 만든 방향들 위로의 사영\u0026quot;을 빼서 새로운 방향만 남긴다. u1:=b1,uk:=bk−πspan[u1,…,uk−1](bk)=bk−∑j=1k−1⟨bk,uj⟩⟨uj,uj⟩uj.\\begin{aligned} u_1 \u0026amp;:= b_1, \\\\ u_k \u0026amp;:= b_k-\\pi_{\\text{span}[u_1,\\dots,u_{k-1}]}(b_k) \\\\ \u0026amp;= b_k-\\sum_{j=1}^{k-1}\\frac{\\langle b_k,u_j\\rangle}{\\langle u_j,u_j\\rangle}u_j. \\end{aligned}u1​uk​​:=b1​,:=bk​−πspan[u1​,…,uk−1​]​(bk​)=bk​−j=1∑k−1​⟨uj​,uj​⟩⟨bk​,uj​⟩​uj​.​ 마지막에 ck=uk/∥uk∥c_k=u_k/\\|u_k\\|ck​=uk​/∥uk​∥로 정규화하면 정규직교기저. (uju_juj​들이 서로 직교하므로 span 위로의 사영이 각 방향 사영의 합으로 쪼개진다.)\n손 예제: b1=[1,1,0]⊤b_1=[1,1,0]^\\topb1​=[1,1,0]⊤, b2=[1,0,1]⊤b_2=[1,0,1]^\\topb2​=[1,0,1]⊤.\nu1=b1=[1,1,0]⊤u_1=b_1=[1,1,0]^\\topu1​=b1​=[1,1,0]⊤, ∥u1∥2=2\\|u_1\\|^2=2∥u1​∥2=2. ⟨b2,u1⟩=1\\langle b_2,u_1\\rangle=1⟨b2​,u1​⟩=1. u2=b2−12u1=[1,0,1]⊤−[12,12,0]⊤=[12,−12,1]⊤u_2=b_2-\\frac12u_1=[1,0,1]^\\top-[\\tfrac12,\\tfrac12,0]^\\top=[\\tfrac12,-\\tfrac12,1]^\\topu2​=b2​−21​u1​=[1,0,1]⊤−[21​,21​,0]⊤=[21​,−21​,1]⊤. 검산 u1⊤u2=12−12+0=0u_1^\\top u_2=\\tfrac12-\\tfrac12+0=0u1⊤​u2​=21​−21​+0=0. 정규화: c1=12[1,1,0]⊤c_1=\\frac1{\\sqrt2}[1,1,0]^\\topc1​=2​1​[1,1,0]⊤, c2=u2∥u2∥=13/2[12,−12,1]⊤=16[1,−1,2]⊤c_2=\\frac{u_2}{\\|u_2\\|}=\\frac{1}{\\sqrt{3/2}}[\\tfrac12,-\\tfrac12,1]^\\top=\\frac1{\\sqrt6}[1,-1,2]^\\topc2​=∥u2​∥u2​​=3/2​1​[21​,−21​,1]⊤=6​1​[1,−1,2]⊤. 3.8.4 아핀 부분공간으로의 사영 L=x0+UL=x_0+UL=x0​+U(2.8)로 사영하려면 평행이동해서 부분공간 문제로 바꾸고, 다시 되돌린다: πL(x)=x0+πU(x−x0),d(x,L)=d(x−x0, U).\\begin{aligned} \\pi_L(x) \u0026amp;= x_0+\\pi_U(x-x_0), \\\\ d(x,L) \u0026amp;= d(x-x_0,\\,U). \\end{aligned}πL​(x)d(x,L)​=x0​+πU​(x−x0​),=d(x−x0​,U).​ 손 예제: 직선 L=[1,0]⊤+span[[1,1]⊤]L=[1,0]^\\top+\\text{span}[[1,1]^\\top]L=[1,0]⊤+span[[1,1]⊤], x=[2,3]⊤x=[2,3]^\\topx=[2,3]⊤.\nx−x0=[1,3]⊤x-x_0=[1,3]^\\topx−x0​=[1,3]⊤. U=span[[1,1]⊤]U=\\text{span}[[1,1]^\\top]U=span[[1,1]⊤]로 사영: λ=1+32=2\\lambda=\\frac{1+3}{2}=2λ=21+3​=2, πU=[2,2]⊤\\pi_U=[2,2]^\\topπU​=[2,2]⊤. πL(x)=[1,0]⊤+[2,2]⊤=[3,2]⊤\\pi_L(x)=[1,0]^\\top+[2,2]^\\top=[3,2]^\\topπL​(x)=[1,0]⊤+[2,2]⊤=[3,2]⊤. d(x,L)=∥[2,3]−[3,2]∥=∥[−1,1]∥=2d(x,L)=\\|[2,3]-[3,2]\\|=\\|[-1,1]\\|=\\sqrt2d(x,L)=∥[2,3]−[3,2]∥=∥[−1,1]∥=2​. 교재는 이것으로 12.1절의 분리 초평면을 유도한다고 예고한다(점과 초평면 사이 거리 = 마진). 헷갈리는 점 사영행렬 P=B(B⊤B)−1B⊤P=B(B^\\top B)^{-1}B^\\topP=B(B⊤B)−1B⊤에서 (B⊤B)−1(B^\\top B)^{-1}(B⊤B)−1을 B−1(B⊤)−1B^{-1}(B^\\top)^{-1}B−1(B⊤)−1로 쪼개면 안 된다. BBB는 보통 정사각이 아니라 역행렬이 없다. (정사각이고 가역이면 P=IP=IP=I가 되어 의미가 없다. 공간 전체로의 사영이기 때문이다.) 점곱으로 구한 직교사영의 행렬은 대칭이다(P⊤=PP^\\top=PP⊤=P). 멱등(P2=PP^2=PP2=P)이면서 대칭이면 직교사영이다(교재 밖 보충: 멱등이기만 하면 비스듬한 사영일 수도 있다). I−PI-PI−P는 U⊥U^\\perpU⊥로의 사영이다(교재 연습문제 3.7과 연결). 3.9 회전 (Rotations, 91쪽) 정의와 성질 2차원 회전: 원점을 중심으로 반시계 방향 θ\\thetaθ만큼 돌리는 행렬 R(θ)=[cos⁡θ−sin⁡θsin⁡θcos⁡θ].R(\\theta)=\\begin{bmatrix}\\cos\\theta\u0026amp;-\\sin\\theta\\\\\\sin\\theta\u0026amp;\\cos\\theta\\end{bmatrix}.R(θ)=[cosθsinθ​−sinθcosθ​]. 유도: e1=[1,0]⊤e_1=[1,0]^\\tope1​=[1,0]⊤은 [cos⁡θ,sin⁡θ]⊤[\\cos\\theta,\\sin\\theta]^\\top[cosθ,sinθ]⊤로, e2=[0,1]⊤e_2=[0,1]^\\tope2​=[0,1]⊤은 [−sin⁡θ,cos⁡θ]⊤[-\\sin\\theta,\\cos\\theta]^\\top[−sinθ,cosθ]⊤로 간다. 이 둘을 열로 쓰면 된다(2.7.1의 \u0026ldquo;변환행렬의 jjj열 = 기저벡터의 상\u0026rdquo;). 3차원 회전: 축 하나를 고정하고 나머지 평면에서 2차원 회전. 예: e1e_1e1​축 회전은 [1000cos⁡θ−sin⁡θ0sin⁡θcos⁡θ]\\begin{bmatrix}1\u0026amp;0\u0026amp;0\\\\0\u0026amp;\\cos\\theta\u0026amp;-\\sin\\theta\\\\0\u0026amp;\\sin\\theta\u0026amp;\\cos\\theta\\end{bmatrix}​100​0cosθsinθ​0−sinθcosθ​​. 회전 방향은 축을 마주 보고(축 끝에서 원점을 볼 때) 반시계다. nnn차원 회전(기븐스 회전, Givens rotation, 정의 3.11): 두 좌표 i,ji,ji,j의 평면에서만 2차원 회전을 하고 나머지 좌표는 그대로 두는 행렬. 성질(3.9.4): 회전행렬은 직교행렬이라 거리를 보존한다: ∥x−y∥=∥Rθx−Rθy∥\\|x-y\\|=\\|R_\\theta x-R_\\theta y\\|∥x−y∥=∥Rθ​x−Rθ​y∥. 각도를 보존한다. 3차원 이상에서는 일반적으로 교환되지 않는다(순서가 중요). 2차원에서만 R(ϕ)R(θ)=R(θ)R(ϕ)R(\\phi)R(\\theta)=R(\\theta)R(\\phi)R(ϕ)R(θ)=R(θ)R(ϕ)이고, 같은 점을 중심으로 한 2차원 회전들은 곱셈에 대해 아벨군을 이룬다. 손으로 풀어 보는 예제 (교재 연습문제 3.10) 30∘30^\\circ30∘ 회전: cos⁡30∘=32\\cos30^\\circ=\\frac{\\sqrt3}2cos30∘=23​​, sin⁡30∘=12\\sin30^\\circ=\\frac12sin30∘=21​.\nx1=[2,3]⊤x_1=[2,3]^\\topx1​=[2,3]⊤: Rx1=[32⋅2−12⋅3, 12⋅2+32⋅3]⊤=[3−32, 1+332]⊤≈[0.23, 3.60]⊤R x_1=\\left[\\tfrac{\\sqrt3}2\\cdot2-\\tfrac12\\cdot3,\\ \\tfrac12\\cdot2+\\tfrac{\\sqrt3}2\\cdot3\\right]^\\top=\\left[\\sqrt3-\\tfrac32,\\ 1+\\tfrac{3\\sqrt3}2\\right]^\\top\\approx[0.23,\\,3.60]^\\topRx1​=[23​​⋅2−21​⋅3, 21​⋅2+23​​⋅3]⊤=[3​−23​, 1+233​​]⊤≈[0.23,3.60]⊤. x2=[0,−1]⊤x_2=[0,-1]^\\topx2​=[0,−1]⊤: Rx2=[12, −32]⊤Rx_2=\\left[\\tfrac12,\\ -\\tfrac{\\sqrt3}2\\right]^\\topRx2​=[21​, −23​​]⊤. 검산: 길이 보존. ∥x1∥2=13\\|x_1\\|^2=13∥x1​∥2=13, (0.232)2+(3.598)2≈0.054+12.946=13.0(0.232)^2+(3.598)^2\\approx0.054+12.946=13.0(0.232)2+(3.598)2≈0.054+12.946=13.0. 핵심 유도 모음 (백지에 쓸 수 있어야 하는 것) 1. 직선으로의 사영 (3.8.1의 3단계)\nπ=λb\\pi=\\lambda bπ=λb (사영점은 UUU 위에 있다) b⊤(x−λb)=0b^\\top(x-\\lambda b)=0b⊤(x−λb)=0 (오차는 UUU와 직교해야 가장 가깝다) λ=b⊤xb⊤b\\lambda=\\frac{b^\\top x}{b^\\top b}λ=b⊤bb⊤x​, P=bb⊤b⊤bP=\\frac{bb^\\top}{b^\\top b}P=b⊤bbb⊤​ 2. 일반 부분공간으로의 사영 (3.8.2)\nπ=Bλ\\pi=B\\lambdaπ=Bλ B⊤(x−Bλ)=0B^\\top(x-B\\lambda)=0B⊤(x−Bλ)=0 (오차가 모든 기저벡터와 직교) B⊤Bλ=B⊤xB^\\top B\\lambda=B^\\top xB⊤Bλ=B⊤x (정규방정식) → λ=(B⊤B)−1B⊤x\\lambda=(B^\\top B)^{-1}B^\\top xλ=(B⊤B)−1B⊤x P=B(B⊤B)−1B⊤P=B(B^\\top B)^{-1}B^\\topP=B(B⊤B)−1B⊤ 3. 사영행렬이 멱등이고 대칭임\nP2=B(B⊤B)−1B⊤B(B⊤B)−1⏟=IB⊤=B(B⊤B)−1B⊤=PP^2=B(B^\\top B)^{-1}\\underbrace{B^\\top B(B^\\top B)^{-1}}_{=I}B^\\top=B(B^\\top B)^{-1}B^\\top=PP2=B(B⊤B)−1=IB⊤B(B⊤B)−1​​B⊤=B(B⊤B)−1B⊤=P P⊤=B((B⊤B)−1)⊤B⊤=B(B⊤B)−1B⊤=PP^\\top=B\\big((B^\\top B)^{-1}\\big)^\\top B^\\top=B(B^\\top B)^{-1}B^\\top=PP⊤=B((B⊤B)−1)⊤B⊤=B(B⊤B)−1B⊤=P (B⊤BB^\\top BB⊤B가 대칭이라 그 역행렬도 대칭) 4. 직교사영이 가장 가까운 점인 이유 (교재 밖 보충, 피타고라스)\nUUU 안의 아무 점 uuu에 대해 x−u=(x−πU(x))+(πU(x)−u)x-u=(x-\\pi_U(x))+(\\pi_U(x)-u)x−u=(x−πU​(x))+(πU​(x)−u). 첫째 항은 U⊥U^\\perpU⊥, 둘째 항은 UUU에 있어 직교. ∥x−u∥2=∥x−πU(x)∥2+∥πU(x)−u∥2≥∥x−πU(x)∥2\\|x-u\\|^2=\\|x-\\pi_U(x)\\|^2+\\|\\pi_U(x)-u\\|^2\\ge\\|x-\\pi_U(x)\\|^2∥x−u∥2=∥x−πU​(x)∥2+∥πU​(x)−u∥2≥∥x−πU​(x)∥2. 등호는 u=πU(x)u=\\pi_U(x)u=πU​(x)일 때. 5. 직교행렬은 길이·각도를 보존\n∥Ax∥2=x⊤A⊤Ax=x⊤x\\|Ax\\|^2=x^\\top A^\\top Ax=x^\\top x∥Ax∥2=x⊤A⊤Ax=x⊤x, 내적도 (Ax)⊤(Ay)=x⊤y(Ax)^\\top(Ay)=x^\\top y(Ax)⊤(Ay)=x⊤y. 6. 그람-슈미트 한 단계가 직교를 만드는 이유\nu2=b2−⟨b2,u1⟩⟨u1,u1⟩u1u_2=b_2-\\frac{\\langle b_2,u_1\\rangle}{\\langle u_1,u_1\\rangle}u_1u2​=b2​−⟨u1​,u1​⟩⟨b2​,u1​⟩​u1​에 u1u_1u1​을 내적하면 ⟨b2,u1⟩−⟨b2,u1⟩⟨u1,u1⟩⟨u1,u1⟩=0\\langle b_2,u_1\\rangle-\\frac{\\langle b_2,u_1\\rangle}{\\langle u_1,u_1\\rangle}\\langle u_1,u_1\\rangle=0⟨b2​,u1​⟩−⟨u1​,u1​⟩⟨b2​,u1​⟩​⟨u1​,u1​⟩=0. 7. 2차원 회전행렬 유도\ne1↦[cos⁡θ,sin⁡θ]⊤e_1\\mapsto[\\cos\\theta,\\sin\\theta]^\\tope1​↦[cosθ,sinθ]⊤, e2↦[−sin⁡θ,cos⁡θ]⊤e_2\\mapsto[-\\sin\\theta,\\cos\\theta]^\\tope2​↦[−sinθ,cosθ]⊤ (단위원 위의 점), 이를 열로 쌓는다. 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. 내적의 조건은 무엇이고, 행렬로는 어떻게 표현되나요? \u0026ldquo;쌍선형이고 대칭이며 양의 정부호인 함수입니다. 유한차원에서는 기저를 정하면 ⟨x,y⟩=x^⊤Ay^\\langle x,y\\rangle=\\hat x^\\top A\\hat y⟨x,y⟩=x^⊤Ay^​로 쓸 수 있고, 이때 AAA가 대칭 양의 정부호 행렬이어야 합니다. 그래서 내적을 고르는 것은 SPD 행렬을 고르는 것과 같습니다. 점곱은 A=IA=IA=I인 경우입니다.\u0026rdquo;\nQ. 양의 정부호 행렬이란? 어떻게 판정하나요? \u0026ldquo;0이 아닌 모든 xxx에 대해 x⊤Ax\u0026gt;0x^\\top Ax\u0026gt;0x⊤Ax\u0026gt;0인 대칭행렬입니다. 모든 고유값이 양수인 것과 같고, 2×2라면 a11\u0026gt;0a_{11}\u0026gt;0a11​\u0026gt;0이고 행렬식이 양수인 것으로 판정할 수 있습니다. 역행렬이 있고 대각 원소가 양수라는 성질이 따라옵니다. 공분산 행렬은 양의 준정부호입니다.\u0026rdquo;\nQ. 직교사영을 유도해 보세요. \u0026ldquo;사영점은 부분공간 위에 있으니 BλB\\lambdaBλ로 씁니다. 가장 가까운 점이 되려면 오차 x−Bλx-B\\lambdax−Bλ가 부분공간과 직교해야 하므로 B⊤(x−Bλ)=0B^\\top(x-B\\lambda)=0B⊤(x−Bλ)=0입니다. 이것을 정리한 정규방정식 B⊤Bλ=B⊤xB^\\top B\\lambda=B^\\top xB⊤Bλ=B⊤x에서 λ=(B⊤B)−1B⊤x\\lambda=(B^\\top B)^{-1}B^\\top xλ=(B⊤B)−1B⊤x를 얻고, 사영행렬은 B(B⊤B)−1B⊤B(B^\\top B)^{-1}B^\\topB(B⊤B)−1B⊤입니다. 선형회귀의 정규방정식과 같은 식입니다.\u0026rdquo;\nQ. 사영행렬의 성질은? \u0026ldquo;멱등(P2=PP^2=PP2=P)이라 한 번 사영한 점은 다시 사영해도 그대로이고, 점곱 기준 직교사영이면 대칭입니다. 랭크는 부분공간의 차원과 같고, I−PI-PI−P는 직교여공간으로의 사영입니다.\u0026rdquo;\nQ. 정규직교기저가 왜 편한가요? \u0026ldquo;좌표를 내적 한 번으로 구할 수 있고(λj=⟨x,bj⟩\\lambda_j=\\langle x,b_j\\rangleλj​=⟨x,bj​⟩), 사영 공식의 B⊤BB^\\top BB⊤B가 III가 되어 BB⊤xBB^\\top xBB⊤x로 단순해집니다. 대칭행렬의 고유벡터, SVD의 특이벡터, PCA 주성분이 모두 정규직교기저입니다.\u0026rdquo;\nQ. 그람-슈미트 과정을 설명해 보세요. \u0026ldquo;벡터를 하나씩 보면서, 앞에서 만든 직교 방향들 위로의 사영을 빼 새 방향만 남깁니다. 그러면 남은 벡터는 앞의 벡터들과 직교하고, 마지막에 길이로 나누면 정규직교기저가 됩니다.\u0026rdquo;\nQ. 코사인 유사도는 무엇을 재나요? \u0026ldquo;두 벡터 사이 각도의 코사인, 즉 ⟨x,y⟩∥x∥∥y∥\\frac{\\langle x,y\\rangle}{\\|x\\|\\|y\\|}∥x∥∥y∥⟨x,y⟩​로 길이와 무관하게 방향만 비교합니다. CLIP은 이미지와 문장 임베딩을 이 값으로 비교합니다.\u0026rdquo;\n연습문제 확인 문제 (풀이 포함) 문제 1. x=[1,−2,2]⊤x=[1,-2,2]^\\topx=[1,−2,2]⊤의 ℓ1\\ell_1ℓ1​, ℓ2\\ell_2ℓ2​ 노름은?\n풀이: ℓ1=1+2+2=5\\ell_1=1+2+2=5ℓ1​=1+2+2=5, ℓ2=1+4+4=3\\ell_2=\\sqrt{1+4+4}=3ℓ2​=1+4+4​=3.\n문제 2. ⟨x,y⟩=x⊤[4223]y\\langle x,y\\rangle=x^\\top\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;3\\end{bmatrix}y⟨x,y⟩=x⊤[42​23​]y는 내적인가?\n풀이: 대칭이다. a11=4\u0026gt;0a_{11}=4\u0026gt;0a11​=4\u0026gt;0, 행렬식 12−4=8\u0026gt;012-4=8\u0026gt;012−4=8\u0026gt;0이라 SPD. 그러므로 내적이다.\n문제 3. 점곱에서 x=[1,2,3]⊤x=[1,2,3]^\\topx=[1,2,3]⊤과 y=[2,−1,0]⊤y=[2,-1,0]^\\topy=[2,−1,0]⊤의 각도는?\n풀이: x⊤y=2−2+0=0x^\\top y=2-2+0=0x⊤y=2−2+0=0. 직교, 90∘90^\\circ90∘.\n문제 4. 문제 3의 두 벡터가 ⟨x,y⟩=x⊤diag(1,2,1) y\\langle x,y\\rangle=x^\\top\\text{diag}(1,2,1)\\,y⟨x,y⟩=x⊤diag(1,2,1)y에서도 직교인가?\n풀이: 1⋅1⋅2+2⋅2⋅(−1)+1⋅3⋅0=2−4=−2≠01\\cdot1\\cdot2+2\\cdot2\\cdot(-1)+1\\cdot3\\cdot0=2-4=-2\\ne01⋅1⋅2+2⋅2⋅(−1)+1⋅3⋅0=2−4=−2=0. 직교가 아니다. 직교는 내적에 따라 달라진다.\n문제 5. Q=12[111−1]Q=\\frac1{\\sqrt2}\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}Q=2​1​[11​1−1​]이 직교행렬임을 보이고 ∥Q[3,4]⊤∥\\|Q[3,4]^\\top\\|∥Q[3,4]⊤∥를 계산 없이 말하라.\n풀이: Q⊤Q=12[2002]=IQ^\\top Q=\\frac12\\begin{bmatrix}2\u0026amp;0\\\\0\u0026amp;2\\end{bmatrix}=IQ⊤Q=21​[20​02​]=I. 직교행렬은 길이를 보존하므로 ∥Q[3,4]⊤∥=5\\|Q[3,4]^\\top\\|=5∥Q[3,4]⊤∥=5.\n문제 6. b=[2,1]⊤b=[2,1]^\\topb=[2,1]⊤이 생성하는 직선으로 x=[1,3]⊤x=[1,3]^\\topx=[1,3]⊤을 사영하고, 사영행렬을 구하라.\n풀이: λ=2+35=1\\lambda=\\frac{2+3}{5}=1λ=52+3​=1, π=[2,1]⊤\\pi=[2,1]^\\topπ=[2,1]⊤. P=15[4221]P=\\frac15\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;1\\end{bmatrix}P=51​[42​21​]. 검산: 오차 [−1,2]⊤[-1,2]^\\top[−1,2]⊤와 bbb의 내적 −2+2=0-2+2=0−2+2=0.\n문제 7. U=span[[1,1,0]⊤,[0,0,1]⊤]U=\\text{span}[[1,1,0]^\\top,[0,0,1]^\\top]U=span[[1,1,0]⊤,[0,0,1]⊤]로 x=[1,3,5]⊤x=[1,3,5]^\\topx=[1,3,5]⊤을 사영하라.\n풀이: 두 기저벡터가 이미 직교한다. 각 방향 사영을 더하면 된다: 1+32[1,1,0]⊤+51[0,0,1]⊤=[2,2,5]⊤\\frac{1+3}{2}[1,1,0]^\\top+\\frac51[0,0,1]^\\top=[2,2,5]^\\top21+3​[1,1,0]⊤+15​[0,0,1]⊤=[2,2,5]⊤. 오차 [−1,1,0]⊤[-1,1,0]^\\top[−1,1,0]⊤는 두 벡터와 직교한다.\n문제 8. b1=[1,0,1]⊤b_1=[1,0,1]^\\topb1​=[1,0,1]⊤, b2=[1,1,1]⊤b_2=[1,1,1]^\\topb2​=[1,1,1]⊤을 그람-슈미트로 정규직교화하라.\n풀이: u1=b1u_1=b_1u1​=b1​, ∥u1∥2=2\\|u_1\\|^2=2∥u1​∥2=2, ⟨b2,u1⟩=2\\langle b_2,u_1\\rangle=2⟨b2​,u1​⟩=2. u2=b2−u1=[0,1,0]⊤u_2=b_2-u_1=[0,1,0]^\\topu2​=b2​−u1​=[0,1,0]⊤. c1=12[1,0,1]⊤c_1=\\frac1{\\sqrt2}[1,0,1]^\\topc1​=2​1​[1,0,1]⊤, c2=[0,1,0]⊤c_2=[0,1,0]^\\topc2​=[0,1,0]⊤.\n문제 9. 평면 U={x∈R3:x1+x2+x3=0}U=\\{x\\in\\mathbb R^3:x_1+x_2+x_3=0\\}U={x∈R3:x1​+x2​+x3​=0}의 직교여공간과, x=[1,2,3]⊤x=[1,2,3]^\\topx=[1,2,3]⊤에서 UUU까지의 거리를 구하라.\n풀이: U⊥=span[n]U^\\perp=\\text{span}[n]U⊥=span[n], n=[1,1,1]⊤n=[1,1,1]^\\topn=[1,1,1]⊤(법선벡터). xxx의 U⊥U^\\perpU⊥ 성분 =n⊤x∥n∥2n=63[1,1,1]⊤=[2,2,2]⊤=\\frac{n^\\top x}{\\|n\\|^2}n=\\frac63[1,1,1]^\\top=[2,2,2]^\\top=∥n∥2n⊤x​n=36​[1,1,1]⊤=[2,2,2]⊤. 이것이 xxx에서 UUU까지의 오차 벡터라 거리 =∥[2,2,2]⊤∥=23=\\|[2,2,2]^\\top\\|=2\\sqrt3=∥[2,2,2]⊤∥=23​. (πU(x)=x−[2,2,2]⊤=[−1,0,1]⊤\\pi_U(x)=x-[2,2,2]^\\top=[-1,0,1]^\\topπU​(x)=x−[2,2,2]⊤=[−1,0,1]⊤, 성분 합 0으로 UUU 위에 있다.)\n문제 10. 사영행렬 PPP에 대해 I−PI-PI−P도 사영임을 보여라.\n풀이: (I−P)2=I−2P+P2=I−2P+P=I−P(I-P)^2=I-2P+P^2=I-2P+P=I-P(I−P)2=I−2P+P2=I−2P+P=I−P.\n문제 11. R(90∘)R(90^\\circ)R(90∘)로 [1,0]⊤[1,0]^\\top[1,0]⊤을 회전하면? R(90∘)R(90∘)R(90^\\circ)R(90^\\circ)R(90∘)R(90∘)는?\n풀이: R(90∘)=[0−110]R(90^\\circ)=\\begin{bmatrix}0\u0026amp;-1\\\\1\u0026amp;0\\end{bmatrix}R(90∘)=[01​−10​], [1,0]⊤↦[0,1]⊤[1,0]^\\top\\mapsto[0,1]^\\top[1,0]⊤↦[0,1]⊤. R(90∘)2=[−100−1]=R(180∘)R(90^\\circ)^2=\\begin{bmatrix}-1\u0026amp;0\\\\0\u0026amp;-1\\end{bmatrix}=R(180^\\circ)R(90∘)2=[−10​0−1​]=R(180∘).\n교재 연습문제 안내 (96~97쪽, 답은 sympy로 검산) 번호 무엇을 묻나 답 / 풀이 방향 3.1 x1y1−(x1y2+x2y1)+2x2y2x_1y_1-(x_1y_2+x_2y_1)+2x_2y_2x1​y1​−(x1​y2​+x2​y1​)+2x2​y2​가 내적인가 x⊤[1−1−12]yx^\\top\\begin{bmatrix}1\u0026amp;-1\\\\-1\u0026amp;2\\end{bmatrix}yx⊤[1−1​−12​]y. 대칭이고, x⊤Ax=x12−2x1x2+2x22=(x1−x2)2+x22\u0026gt;0x^\\top Ax=x_1^2-2x_1x_2+2x_2^2=(x_1-x_2)^2+x_2^2\u0026gt;0x⊤Ax=x12​−2x1​x2​+2x22​=(x1​−x2​)2+x22​\u0026gt;0 (x≠0x\\ne0x=0)이라 내적이다 3.2 x⊤[2012]yx^\\top\\begin{bmatrix}2\u0026amp;0\\\\1\u0026amp;2\\end{bmatrix}yx⊤[21​02​]y가 내적인가 대칭이 아니라 아니다 (⟨e1,e2⟩=0≠⟨e2,e1⟩=1\\langle e_1,e_2\\rangle=0\\ne\\langle e_2,e_1\\rangle=1⟨e1​,e2​⟩=0=⟨e2​,e1​⟩=1) 3.3 두 내적에서 거리 (a) 22\\sqrt{22}22​ (b) 47\\sqrt{47}47​ (위 3.3 예제) 3.4 두 내적에서 각도 (a) arccos⁡(−3/10)≈2.82\\arccos(-3/\\sqrt{10})\\approx2.82arccos(−3/10​)≈2.82 rad (b) arccos⁡(−11/126)≈2.94\\arccos(-11/\\sqrt{126})\\approx2.94arccos(−11/126​)≈2.94 rad (위 3.4 예제) 3.5 R5\\mathbb R^5R5의 부분공간 사영과 거리 생성 벡터 4개 중 독립인 것은 3개(랭크 3)라 먼저 기저를 고른다. πU(x)=[1,−5,−1,−2,3]⊤\\pi_U(x)=[1,-5,-1,-2,3]^\\topπU​(x)=[1,−5,−1,−2,3]⊤, d(x,U)=∥x−πU(x)∥=215d(x,U)=\\|x-\\pi_U(x)\\|=2\\sqrt{15}d(x,U)=∥x−πU​(x)∥=215​ 3.6 일반 내적에서 e2e_2e2​를 span[e1,e3]\\text{span}[e_1,e_3]span[e1​,e3​]에 사영 직교 조건이 B⊤A(x−Bλ)=0B^\\top A(x-B\\lambda)=0B⊤A(x−Bλ)=0. πU(e2)=[12,0,−12]⊤\\pi_U(e_2)=[\\tfrac12,0,-\\tfrac12]^\\topπU​(e2​)=[21​,0,−21​]⊤, 거리 1. 점곱이면 사영이 0인데 내적이 바뀌어 달라진다 3.7 π\\piπ가 사영 ⇔ id−π\\text{id}-\\piid−π가 사영, 핵·상 관계 (id−π)2=id−2π+π2(\\text{id}-\\pi)^2=\\text{id}-2\\pi+\\pi^2(id−π)2=id−2π+π2. Im(id−π)=ker⁡π\\text{Im}(\\text{id}-\\pi)=\\ker\\piIm(id−π)=kerπ, ker⁡(id−π)=Im π\\ker(\\text{id}-\\pi)=\\text{Im}\\,\\piker(id−π)=Imπ 3.8 그람-슈미트 c1=13[1,1,1]⊤c_1=\\frac1{\\sqrt3}[1,1,1]^\\topc1​=3​1​[1,1,1]⊤, u2=b2−13[1,1,1]⊤=[−43,53,−13]⊤u_2=b_2-\\frac{1}{3}[1,1,1]^\\top=[-\\tfrac43,\\tfrac53,-\\tfrac13]^\\topu2​=b2​−31​[1,1,1]⊤=[−34​,35​,−31​]⊤, c2=142[−4,5,−1]⊤c_2=\\frac1{\\sqrt{42}}[-4,5,-1]^\\topc2​=42​1​[−4,5,−1]⊤ 3.9 코시-슈바르츠 응용 (a) x=(xi)x=(x_i)x=(xi​), y=(1,…,1)y=(1,\\dots,1)y=(1,…,1): 1=(∑xi)2≤n∑xi21=(\\sum x_i)^2\\le n\\sum x_i^21=(∑xi​)2≤n∑xi2​ → ∑xi2≥1n\\sum x_i^2\\ge\\frac1n∑xi2​≥n1​. (b) u=(xi)u=(\\sqrt{x_i})u=(xi​​), v=(1/xi)v=(1/\\sqrt{x_i})v=(1/xi​​): n2=(∑1)2≤(∑xi)(∑1xi)n^2=(\\sum1)^2\\le(\\sum x_i)(\\sum\\frac1{x_i})n2=(∑1)2≤(∑xi​)(∑xi​1​) → ∑1xi≥n2\\sum\\frac1{x_i}\\ge n^2∑xi​1​≥n2 3.10 30∘30^\\circ30∘ 회전 [3−32, 1+332]⊤[\\sqrt3-\\tfrac32,\\ 1+\\tfrac{3\\sqrt3}2]^\\top[3​−23​, 1+233​​]⊤, [12,−32]⊤[\\tfrac12,-\\tfrac{\\sqrt3}2]^\\top[21​,−23​​]⊤ (위 3.9 예제) 시험 직전 10분 요약 노름: 절대동차·삼각부등식·양의 정부호. ∥x∥1=∑∣xi∣\\|x\\|_1=\\sum|x_i|∥x∥1​=∑∣xi​∣, ∥x∥2=x⊤x\\|x\\|_2=\\sqrt{x^\\top x}∥x∥2​=x⊤x​.\n내적: 쌍선형 + 대칭 + 양의 정부호. 유한차원에서 ⟨x,y⟩=x^⊤Ay^\\langle x,y\\rangle=\\hat x^\\top A\\hat y⟨x,y⟩=x^⊤Ay^​, AAA는 SPD. SPD ⇔ x⊤Ax\u0026gt;0x^\\top Ax\u0026gt;0x⊤Ax\u0026gt;0 (x≠0x\\ne0x=0) ⇔ 고유값 모두 양수. 2×2는 a\u0026gt;0a\u0026gt;0a\u0026gt;0, ac−b2\u0026gt;0ac-b^2\u0026gt;0ac−b2\u0026gt;0.\n길이·거리·각도: ∥x∥=⟨x,x⟩\\|x\\|=\\sqrt{\\langle x,x\\rangle}∥x∥=⟨x,x⟩​, d(x,y)=∥x−y∥d(x,y)=\\|x-y\\|d(x,y)=∥x−y∥, cos⁡ω=⟨x,y⟩∥x∥∥y∥\\cos\\omega=\\frac{\\langle x,y\\rangle}{\\|x\\|\\|y\\|}cosω=∥x∥∥y∥⟨x,y⟩​. 코시-슈바르츠 ∣⟨x,y⟩∣≤∥x∥∥y∥|\\langle x,y\\rangle|\\le\\|x\\|\\|y\\|∣⟨x,y⟩∣≤∥x∥∥y∥. 직교 = 내적 0 (내적마다 다름).\n직교행렬: A⊤A=IA^\\top A=IA⊤A=I ⇔ 열이 정규직교 ⇔ A−1=A⊤A^{-1}=A^\\topA−1=A⊤. 길이·각도 보존.\n직교여공간: dim⁡U⊥=D−dim⁡U\\dim U^\\perp=D-\\dim UdimU⊥=D−dimU, U∩U⊥={0}U\\cap U^\\perp=\\{0\\}U∩U⊥={0}, U⊥=ker⁡B⊤U^\\perp=\\ker B^\\topU⊥=kerB⊤. 법선벡터.\n사영 (가장 중요):\n직선: π=b⊤xb⊤bb\\pi=\\frac{b^\\top x}{b^\\top b}bπ=b⊤bb⊤x​b, P=bb⊤b⊤bP=\\frac{bb^\\top}{b^\\top b}P=b⊤bbb⊤​ 부분공간: B⊤Bλ=B⊤xB^\\top B\\lambda=B^\\top xB⊤Bλ=B⊤x, π=B(B⊤B)−1B⊤x\\pi=B(B^\\top B)^{-1}B^\\top xπ=B(B⊤B)−1B⊤x, P=B(B⊤B)−1B⊤P=B(B^\\top B)^{-1}B^\\topP=B(B⊤B)−1B⊤ ONB면 P=BB⊤P=BB^\\topP=BB⊤. 일반 내적 AAA면 λ=(B⊤AB)−1B⊤Ax\\lambda=(B^\\top AB)^{-1}B^\\top Axλ=(B⊤AB)−1B⊤Ax P2=PP^2=PP2=P, P⊤=PP^\\top=PP⊤=P, I−PI-PI−P는 U⊥U^\\perpU⊥로의 사영 아핀: πL(x)=x0+πU(x−x0)\\pi_L(x)=x_0+\\pi_U(x-x_0)πL​(x)=x0​+πU​(x−x0​) 그람-슈미트: uk=bk−∑j\u0026lt;k⟨bk,uj⟩⟨uj,uj⟩uju_k=b_k-\\sum_{j\u0026lt;k}\\frac{\\langle b_k,u_j\\rangle}{\\langle u_j,u_j\\rangle}u_juk​=bk​−∑j\u0026lt;k​⟨uj​,uj​⟩⟨bk​,uj​⟩​uj​, 마지막에 정규화.\n회전: R(θ)=[cos⁡θ−sin⁡θsin⁡θcos⁡θ]R(\\theta)=\\begin{bmatrix}\\cos\\theta\u0026amp;-\\sin\\theta\\\\\\sin\\theta\u0026amp;\\cos\\theta\\end{bmatrix}R(θ)=[cosθsinθ​−sinθcosθ​]. 직교행렬이라 거리·각도 보존. 2차원만 교환, 3차원 이상은 순서 중요.\n","permalink":"https://qofo.github.io/posts/mml-ch03-analytic-geometry/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 70~97쪽.\u003c/strong\u003e 2장에서 다룬 벡터공간에 \u0026ldquo;길이·거리·각도\u0026quot;를 재는 도구(노름, 내적)를 붙인다. 이 장의 직교사영은 \u003cstrong\u003e9장 선형회귀(최대가능도 해 = 열공간으로의 직교사영)\u003c/strong\u003e, \u003cstrong\u003e10장 PCA(데이터를 부분공간에 사영)\u003c/strong\u003e, \u003cstrong\u003e12장 SVM(점과 초평면 사이 거리)\u003c/strong\u003e에서 그대로 다시 나온다. 대칭 양의 정부호 행렬은 4장(숄레스키, 고유값), 6장(공분산 행렬)으로 이어진다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr\u003e\n\u003ch2 id=\"0-이-장-지도\"\u003e0. 이 장 지도\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e흐름:\u003c/strong\u003e 길이(노름, 3.1) → 길이와 각도를 함께 주는 내적(3.2) → 내적으로 잰 길이·거리(3.3), 각도·직교(3.4) → 서로 직교하는 기저(3.5) → 부분공간에 직교하는 공간(3.6) → 함수의 내적(3.7) → \u003cstrong\u003e직교사영(3.8, 이 장의 핵심)\u003c/strong\u003e → 회전(3.9)\u003c/p\u003e","title":"MML 3장 해석기하: 노름, 내적, 직교사영"},{"content":"PRoot 환경의 Ubuntu는 겉보기에 표준 리눅스와 같다. apt-get이 돌고, whoami는 root를 출력하고, /etc/os-release는 Ubuntu 26.04.1 LTS라고 답한다. 그래서 일반 서버처럼 다루게 되고, 그러다 벽에 부딪힌다.\n이 글은 그 제약의 목록이다. 이후 편에서 벌어지는 사고는 대부분 여기 적힌 항목을 잊어서 생겼다.\n1. PRoot 아키텍처: ptrace 기반 시스템 콜 경로 변환 일반적인 컨테이너는 커널 기능(namespace, cgroup)을 통해 프로세스를 격리한다. 반면 비루팅 안드로이드 환경에서는 커널 레벨의 격리 기능을 직접 제어할 수 없다. proot는 디버거가 사용하는 ptrace(2) 시스템 콜을 활용하여 프로세스를 추적하고, 프로그램이 호출하는 파일 경로 관련 시스템 콜을 유저 공간에서 실시간으로 치환한다.\n프로그램: open(\u0026#34;/etc/passwd\u0026#34;) │ ▼ proot가 ptrace로 가로챔 경로 치환: /data/data/com.termux/files/usr/var/lib/proot-distro/ containers/ubuntu/rootfs/etc/passwd │ ▼ 안드로이드 커널 이 구조로 인해 두 가지 주요 특성이 나타난다.\nI/O 성능 오버헤드: 모든 파일 시스템 접근과 프로세스 생성이 유저 공간의 ptrace 트레이서를 거친다. 단일 대용량 파일 I/O는 영향이 적으나, npm install처럼 다수의 소용량 파일을 연속 생성하는 작업에서는 지연이 크게 증가한다. 프로세스 추적 흔적(TracerPid): ps 명령어 실행 시 Ubuntu 내부 프로세스의 상위 프로세스로 proot가 식별되며, /proc/\u0026lt;pid\u0026gt;/status 파일의 TracerPid 필드에 proot 프로세스의 PID가 기록된다. 프로세스가 proot 세션 내부에서 구동 중인지 여부를 판별할 때 이 값을 참조할 수 있다. 2. 가짜 root 권한과 Android 앱 샌드박스 제약 proot 환경 내부에서 id 명령어를 실행하면 uid=0(root)으로 표시되나, 실제로는 Android 애플리케이션 보안 컨텍스트 내에서 동작한다.\n$ id uid=0(root) gid=0(root) groups=0(root),3003(aid_inet),9997(aid_everybody), 20283(aid_u0_a283_cache),50283(aid_all_a283) 그룹 목록에 포함된 aid_u0_a283은 해당 프로세스가 커널 관점에서 Termux 앱 샌드박스에 종속되어 있음을 의미한다. 따라서 패키지 설치(apt-get) 등 유저 공간 파일 수정은 가능하나 커널 권한이 요구되는 작업은 차단된다.\n커널 모듈 로드 및 실제 파일 시스템 마운트 불가 iptables 규칙 조작 및 raw 소켓 생성 불가 1024번 미만 특권(privileged) 포트 바인딩 불가 (8080 등 비특권 포트 사용 필수) 타 애플리케이션의 샌드박스 파일 접근 불가 3. init 시스템 부재: systemd 미지원 proot 환경에서는 systemd가 동작하지 않으므로 systemctl, service, journalctl 등의 시스템 관리 도구를 사용할 수 없다. Android 시스템의 init이 PID 1을 점유하며, Ubuntu 환경은 해당 init 하위의 애플리케이션 프로세스 트리에 불과하다.\n따라서 표준 데몬 서비스 등록 방식이 불가능하며, 프로세스 실행 및 생명주기 감시를 별도의 스크립트와 감시 데몬으로 직접 구현해야 한다. 상세한 프로세스 감시 구조는 5편과 6편에서 다룬다.\n4. 세션 종료 시 하위 프로세스 종료 제약 (\u0026ndash;kill-on-exit) proot-distro login 명령어는 기본적으로 --kill-on-exit 플래그를 포함하여 proot를 실행한다.\nproot --kill-on-exit --link2symlink --sysvipc ... /bin/bash -l --kill-on-exit 옵션은 진입 시 실행된 루트 명령(로그인 셸)이 종료될 때 해당 세션 내부에서 생성된 모든 하위 프로세스를 함께 강제 종료한다. 대화형 셸에서 nohup ... \u0026amp; 명령어로 백그라운드 서버를 구동하더라도, 로그인 세션을 종료(로그아웃)하는 순간 백그라운드 프로세스까지 함께 종료된다.\n이 제약으로 인해 서버가 백그라운드에서 유지되지 않고 중단되는 문제가 발생한다. 이에 대한 구체적인 분석 및 해결책은 6편에서 설명한다.\n5. procfs 가상화 한계: /proc/stat, /proc/uptime, /proc/loadavg의 정적 데이터 모니터링 대시보드에서 CPU 사용률이 0%로 고정되거나 가동 시간이 일정 값에서 멈추는 현상이 발생한다. 원인은 proot-distro가 제공하는 /proc 내 주요 지표 파일의 내용이 정적으로 고정되어 있기 때문이다.\n$ md5sum /proc/stat /proc/uptime /proc/loadavg 6c8b9257... /proc/stat 9f534337... /proc/uptime 40248b64... /proc/loadavg $ sleep 3; md5sum /proc/stat /proc/uptime /proc/loadavg 6c8b9257... /proc/stat # 3초가 지나도 내용이 같다 9f534337... /proc/uptime 40248b64... /proc/loadavg Android 8 이후 보안 정책 강화로 인해 일반 애플리케이션의 실제 /proc/stat 조회가 차단되었다. proot-distro는 프로그램 비정상 종료를 방지하기 위해 정적 더미 파일로 이를 에뮬레이션한다. 실제 Termux 환경에서도 접근이 제한된다.\nls: cannot access \u0026#39;/proc/stat\u0026#39;: Permission denied 따라서 top이나 uptime 등 /proc 기반 유틸리티의 지표는 신뢰할 수 없다. 정확한 시스템 상태를 측정하려면 대체 경로 및 시스템 콜을 활용해야 한다.\n알고 싶은 값 막힌 경로 대신 쓰는 것 가동 시간 /proc/uptime clock_gettime(CLOCK_BOOTTIME) 부하(load average) /proc/loadavg sysinfo(2) 시스템 콜 코어별 사용률 /proc/stat /sys/devices/system/cpu/cpu*/cpuidle/state*/time 특히 코어별 CPU 사용률은 /sys 하위의 cpuidle 누적 시간을 활용하여 계산한다. 일정 시간 간격으로 유휴(idle) 시간의 변화량을 측정하여 실제 연산 점유율을 도출하는 방식이다.\n사용률 = 1 - (유휴 시간 증가분 / 실제 흐른 시간) 이 방식을 적용하면 각 코어별 실제 연산 부하를 실시간으로 측정할 수 있다.\n6. 실행 환경의 PATH 혼재: Termux 바이너리와 Ubuntu rootfs Ubuntu rootfs 내부에는 Python이 설치되어 있지 않음에도 python3 명령어가 실행된다.\n$ which -a python3 /data/data/com.termux/files/usr/bin/python3 이는 proot-distro가 호스트(Termux)의 디렉터리를 바인드 마운트하고 PATH 환경 변수 말미에 Termux 바이너리 경로(/data/data/com.termux/files/usr/bin)를 자동으로 추가하기 때문이다.\n따라서 Python(3.14), Node.js, curl, clang 등 주요 개발 도구는 Ubuntu 패키지가 아닌 Termux 바이너리로 구동된다. Ubuntu rootfs 자체는 90여 개 패키지의 최소 구성으로 유지되므로, 명령 실행 시 어느 환경의 바이너리가 호출되는지 확인해야 한다.\n7. Android OS 리소스 관리 정책에 의한 프로세스 종료 위험 Android OS는 모바일 배터리와 자원 관리를 위해 백그라운드 프로세스를 적극적으로 제한한다.\nLMK(Low Memory Killer): 가용 메모리가 부족해지면 시스템 안정성을 위해 백그라운드 프로세스에 사전 경고 없이 SIGKILL을 전송하여 강제 종료한다. Doze 모드: 화면이 꺼지고 기기가 정지 상태를 유지하면 절전 모드로 진입하여 타이머 실행 및 네트워크 연결을 제한한다. 이는 termux-wake-lock 명령어로 방지해야 한다. 발열 제어(Thermal Throttling): 패시브 쿨링(팬리스) 구조 특성상 고부하가 수 분간 지속되면 AP 클럭이 강제로 하향 조정된다. 병렬 빌드 시 과도한 스레드 할당(make -j8 등)은 메모리 고갈과 과열을 유발하므로 -j2 수준으로 제한하는 편이 낫다. 메모리 압박 상황에서는 설정된 2GB 크기의 zRAM 스왑이 완충 역할을 수행한다. 물리 RAM 3.7GB 중 절반가량을 점유한 상태에서도 스왑 공간을 활용하여 프로세스 중단을 방지한다.\n정리: 스마트폰 서버는 쓸 만한가 항목 갤럭시 노트 FE 일반 미니 PC 소비 전력 5W 미만 30W 이상 소음 없음 (팬리스) 팬 소음 정전 대비 배터리 내장 UPS 별도 네트워크 와이파이 + LTE 이중화 유선 1개 권한 앱 샌드박스 수준 완전한 root 관측 도구 top·uptime 무의미 전부 정상 소비 전력, 무소음, 내장 배터리는 확실한 이점이다. 다만 \u0026ldquo;배터리가 곧 UPS\u0026quot;라는 말에는 조건이 붙는다. 충전기에 꽂혀 있어야 성립한다. 충전이 끊기면 시간당 약 2.6%씩 줄어 하루 만에 꺼진다. 가장 정교한 자동 복구 장치보다 케이블 하나가 중요할 때가 있다.\n→ 4편. 도메인 없이 고정 주소 갖기: Cloudflare, DuckDNS, ngrok 실전 비교\n","permalink":"https://qofo.github.io/posts/proot-constraints/","summary":"\u003cp\u003ePRoot 환경의 Ubuntu는 겉보기에 표준 리눅스와 같다. \u003ccode\u003eapt-get\u003c/code\u003e이 돌고, \u003ccode\u003ewhoami\u003c/code\u003e는 \u003ccode\u003eroot\u003c/code\u003e를 출력하고, \u003ccode\u003e/etc/os-release\u003c/code\u003e는 Ubuntu 26.04.1 LTS라고 답한다. 그래서 일반 서버처럼 다루게 되고, 그러다 벽에 부딪힌다.\u003c/p\u003e\n\u003cp\u003e이 글은 그 제약의 목록이다. 이후 편에서 벌어지는 사고는 대부분 여기 적힌 항목을 잊어서 생겼다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"1-proot-아키텍처-ptrace-기반-시스템-콜-경로-변환\"\u003e1. PRoot 아키텍처: ptrace 기반 시스템 콜 경로 변환\u003c/h2\u003e\n\u003cp\u003e일반적인 컨테이너는 커널 기능(namespace, cgroup)을 통해 프로세스를 격리한다. 반면 비루팅 안드로이드 환경에서는 커널 레벨의 격리 기능을 직접 제어할 수 없다. \u003ccode\u003eproot\u003c/code\u003e는 디버거가 사용하는 \u003ccode\u003eptrace(2)\u003c/code\u003e 시스템 콜을 활용하여 프로세스를 추적하고, 프로그램이 호출하는 파일 경로 관련 시스템 콜을 \u003cstrong\u003e유저 공간에서 실시간으로 치환\u003c/strong\u003e한다.\u003c/p\u003e","title":"스마트폰 리눅스의 진짜 제약: 가짜 root, 없는 systemd, 그리고 가짜 /proc"},{"content":" 교재 98~138쪽. 행렬 하나를 \u0026ldquo;더 단순한 행렬들의 곱\u0026quot;으로 쪼개는 방법들이다. 행렬식과 고유값은 6장(가우시안의 정규화 상수 det⁡Σ\\det\\SigmadetΣ, 공분산의 고유벡터)에, 숄레스키 분해는 6장(가우시안 표본 뽑기)에, 고유분해와 SVD는 10장 PCA의 핵심이고, Eckart–Young 정리(저계수 근사)는 10장의 배경이다.\n0. 이 장 지도 흐름: 정사각행렬을 숫자 하나로 요약하는 행렬식·대각합(4.1) → 방향이 안 바뀌는 특별한 벡터인 고유벡터(4.2) → SPD 행렬의 \u0026ldquo;제곱근\u0026rdquo; 숄레스키(4.3) → 고유벡터로 대각행렬 만들기(4.4) → 모든 행렬에 되는 SVD(4.5) → SVD로 행렬을 근사하기(4.6) → 분해들 사이의 관계(4.7)\n절 핵심 한 줄 중요도 뒤에서 쓰이는 곳 4.1 행렬식과 대각합 det⁡A≠0 ⟺ \\det A\\ne0\\iffdetA=0⟺ 가역, 부피 배율. tr(AB)=tr(BA)\\text{tr}(AB)=\\text{tr}(BA)tr(AB)=tr(BA) ★★★ 5장 행렬미분, 6장 가우시안 4.2 고유값·고유벡터 Ax=λxAx=\\lambda xAx=λx, det⁡(A−λI)=0\\det(A-\\lambda I)=0det(A−λI)=0, 스펙트럼 정리 ★★★ 10장 PCA, 6장 공분산 4.3 숄레스키 분해 SPD A=LL⊤A=LL^\\topA=LL⊤ ★★ 6장 표본 추출, 수치 계산 4.4 고유분해·대각화 A=PDP−1A=PDP^{-1}A=PDP−1, 대칭이면 A=QDQ⊤A=QDQ^\\topA=QDQ⊤ ★★★ 10장 PCA 4.5 SVD A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤, 모든 행렬 ★★★ 10장 PCA, 추천 시스템 4.6 행렬 근사 A(k)=∑i≤kσiuivi⊤A_{(k)}=\\sum_{i\\le k}\\sigma_iu_iv_i^\\topA(k)​=∑i≤k​σi​ui​vi⊤​, Eckart–Young ★★★ 10장, 저계수 근사 4.7 행렬 계통도 분해들 사이의 포함 관계 ★ 정리용 4.1 행렬식과 대각합 (Determinant and Trace, 99쪽) 왜 필요한가 정사각행렬 하나에 숫자 하나를 붙여 \u0026ldquo;역행렬이 있는가\u0026rdquo;, \u0026ldquo;공간을 얼마나 늘리거나 줄이는가\u0026quot;를 바로 알 수 있다. 그리고 고유값을 구하는 특성다항식이 행렬식으로 정의된다.\n행렬식 (Determinant) 정리 4.1: AAA가 가역 ⟺ det⁡(A)≠0\\iff\\det(A)\\ne0⟺det(A)=0.\n작은 행렬 공식:\n1×11\\times11×1: det⁡(a11)=a11\\det(a_{11})=a_{11}det(a11​)=a11​ 2×22\\times22×2: det⁡[a11a12a21a22]=a11a22−a12a21\\det\\begin{bmatrix}a_{11}\u0026amp;a_{12}\\\\a_{21}\u0026amp;a_{22}\\end{bmatrix}=a_{11}a_{22}-a_{12}a_{21}det[a11​a21​​a12​a22​​]=a11​a22​−a12​a21​ 3×33\\times33×3 사루스 규칙(Sarrus\u0026rsquo; rule): 오른쪽 아래로 가는 대각선 세 개의 곱을 더하고, 왼쪽 아래로 가는 대각선 세 개의 곱을 뺀다. det⁡A=a11a22a33+a21a32a13+a31a12a23−a31a22a13−a11a32a23−a21a12a33\\det A=a_{11}a_{22}a_{33}+a_{21}a_{32}a_{13}+a_{31}a_{12}a_{23}-a_{31}a_{22}a_{13}-a_{11}a_{32}a_{23}-a_{21}a_{12}a_{33}detA=a11​a22​a33​+a21​a32​a13​+a31​a12​a23​−a31​a22​a13​−a11​a32​a23​−a21​a12​a33​ 삼각행렬: 대각 원소의 곱. 기하학적 의미: det⁡A\\det AdetA의 절댓값은 AAA의 열벡터들이 만드는 평행사변형(2차원)·평행육면체(3차원)의 넓이·부피다. 부호는 방향(오른손/왼손)을 나타낸다. 열이 일차종속이면 납작해져 부피가 0이다. 그래서 det⁡=0 ⟺ \\det=0\\iffdet=0⟺ 가역이 아님.\n라플라스 전개(Laplace expansion, 정리 4.2): jjj열(또는 jjj행)을 따라 det⁡A=∑k=1n(−1)k+jakjdet⁡(Ak,j),\\det A=\\sum_{k=1}^n(-1)^{k+j}a_{kj}\\det(A_{k,j}),detA=k=1∑n​(−1)k+jakj​det(Ak,j​), 여기서 Ak,jA_{k,j}Ak,j​는 kkk행과 jjj열을 지운 (n−1)×(n−1)(n-1)\\times(n-1)(n−1)×(n−1) 행렬(소행렬, minor)이고, (−1)k+jdet⁡(Ak,j)(-1)^{k+j}\\det(A_{k,j})(−1)k+jdet(Ak,j​)를 여인수(cofactor)라 한다. 부호는 체스판 무늬 [+−+−+−+−+]\\begin{bmatrix}+\u0026amp;-\u0026amp;+\\\\-\u0026amp;+\u0026amp;-\\\\+\u0026amp;-\u0026amp;+\\end{bmatrix}​+−+​−+−​+−+​​로 기억한다. 0이 많은 행이나 열을 골라 전개하면 계산이 줄어든다.\n성질 (교재 정리, 암기):\ndet⁡(AB)=det⁡(A)det⁡(B)\\det(AB)=\\det(A)\\det(B)det(AB)=det(A)det(B) det⁡(A⊤)=det⁡(A)\\det(A^\\top)=\\det(A)det(A⊤)=det(A) det⁡(A−1)=1det⁡A\\det(A^{-1})=\\frac{1}{\\det A}det(A−1)=detA1​ 닮은 행렬은 행렬식이 같다(그래서 선형사상의 행렬식은 기저와 무관하다). 한 행(열)에 다른 행(열)의 배수를 더해도 det⁡\\detdet는 그대로다. 한 행(열)에 λ\\lambdaλ를 곱하면 det⁡\\detdet도 λ\\lambdaλ배. 특히 det⁡(λA)=λndet⁡A\\det(\\lambda A)=\\lambda^n\\det Adet(λA)=λndetA. 두 행(열)을 바꾸면 부호가 바뀐다. 5~7 덕분에 가우스 소거로 삼각행렬을 만든 뒤 대각을 곱해 행렬식을 구할 수 있다(행 교환 횟수만큼 부호를 바꾼다).\n정리 4.3: det⁡A≠0 ⟺ rk(A)=n\\det A\\ne0\\iff\\text{rk}(A)=ndetA=0⟺rk(A)=n (2장의 랭크와 연결).\n대각합 (Trace) 정의 4.4: tr(A)=∑iaii\\text{tr}(A)=\\sum_ia_{ii}tr(A)=∑i​aii​ (대각 원소의 합).\n성질:\ntr(A+B)=trA+trB\\text{tr}(A+B)=\\text{tr}A+\\text{tr}Btr(A+B)=trA+trB, tr(αA)=α trA\\text{tr}(\\alpha A)=\\alpha\\,\\text{tr}Atr(αA)=αtrA, tr(In)=n\\text{tr}(I_n)=ntr(In​)=n tr(AB)=tr(BA)\\text{tr}(AB)=\\text{tr}(BA)tr(AB)=tr(BA) (A∈Rn×kA\\in\\mathbb R^{n\\times k}A∈Rn×k, B∈Rk×nB\\in\\mathbb R^{k\\times n}B∈Rk×n, 크기가 달라도 된다) 순환 불변(cyclic): tr(AKL)=tr(KLA)=tr(LAK)\\text{tr}(AKL)=\\text{tr}(KLA)=\\text{tr}(LAK)tr(AKL)=tr(KLA)=tr(LAK). 순서를 \u0026ldquo;돌리는\u0026rdquo; 것만 되고 아무렇게나 바꾸면 안 된다. 특수한 경우: tr(xy⊤)=y⊤x\\text{tr}(xy^\\top)=y^\\top xtr(xy⊤)=y⊤x (벡터 외적의 대각합 = 내적). 6장·10장에서 기댓값 계산에 자주 쓴다. 닮은 행렬의 대각합은 같다: tr(S−1AS)=tr(ASS−1)=tr(A)\\text{tr}(S^{-1}AS)=\\text{tr}(ASS^{-1})=\\text{tr}(A)tr(S−1AS)=tr(ASS−1)=tr(A). 그래서 선형사상의 대각합도 기저와 무관하다. 특성다항식 (Characteristic Polynomial, 정의 4.5) pA(λ)=det⁡(A−λI)=c0+c1λ+⋯+cn−1λn−1+(−1)nλn,\\begin{aligned} p_A(\\lambda) \u0026amp;= \\det(A-\\lambda I) \\\\ \u0026amp;= c_0+c_1\\lambda+\\cdots \\\\ \u0026amp;\\quad + c_{n-1}\\lambda^{n-1}+(-1)^n\\lambda^n, \\end{aligned}pA​(λ)​=det(A−λI)=c0​+c1​λ+⋯+cn−1​λn−1+(−1)nλn,​ 여기서 c0=det⁡Ac_0=\\det Ac0​=detA, cn−1=(−1)n−1tr(A)c_{n-1}=(-1)^{n-1}\\text{tr}(A)cn−1​=(−1)n−1tr(A). 2×22\\times22×2이면 pA(λ)=λ2−tr(A)λ+det⁡(A)p_A(\\lambda)=\\lambda^2-\\text{tr}(A)\\lambda+\\det(A)pA​(λ)=λ2−tr(A)λ+det(A).\n손으로 풀어 보는 예제 (1) 사루스: A=[210131012]A=\\begin{bmatrix}2\u0026amp;1\u0026amp;0\\\\1\u0026amp;3\u0026amp;1\\\\0\u0026amp;1\u0026amp;2\\end{bmatrix}A=​210​131​012​​.\n더하는 항: 2⋅3⋅2+1⋅1⋅0+0⋅1⋅1=122\\cdot3\\cdot2+1\\cdot1\\cdot0+0\\cdot1\\cdot1=122⋅3⋅2+1⋅1⋅0+0⋅1⋅1=12 빼는 항: 0⋅3⋅0+2⋅1⋅1+1⋅1⋅2=0+2+2=40\\cdot3\\cdot0+2\\cdot1\\cdot1+1\\cdot1\\cdot2=0+2+2=40⋅3⋅0+2⋅1⋅1+1⋅1⋅2=0+2+2=4 det⁡A=12−4=8\\det A=12-4=8detA=12−4=8. (2) 라플라스(1행 전개): 같은 AAA. det⁡A=2det⁡[3112]−1det⁡[1102]+0=2(6−1)−1(2−0)=10−2=8.\\begin{aligned} \\det A \u0026amp;= 2\\det\\begin{bmatrix}3\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix} \\\\ \u0026amp;\\quad - 1\\det\\begin{bmatrix}1\u0026amp;1\\\\0\u0026amp;2\\end{bmatrix}+0 \\\\ \u0026amp;= 2(6-1)-1(2-0) \\\\ \u0026amp;= 10-2=8. \\end{aligned}detA​=2det[31​12​]−1det[10​12​]+0=2(6−1)−1(2−0)=10−2=8.​(3) 교재 연습문제 4.1: A=[135246024]A=\\begin{bmatrix}1\u0026amp;3\u0026amp;5\\\\2\u0026amp;4\u0026amp;6\\\\0\u0026amp;2\u0026amp;4\\end{bmatrix}A=​120​342​564​​.\n라플라스(1행): 1(16−12)−3(8−0)+5(4−0)=4−24+20=01(16-12)-3(8-0)+5(4-0)=4-24+20=01(16−12)−3(8−0)+5(4−0)=4−24+20=0. 사루스: 1⋅4⋅4+2⋅2⋅5+0⋅3⋅6−0⋅4⋅5−1⋅2⋅6−2⋅3⋅4=16+20+0−0−12−24=01\\cdot4\\cdot4+2\\cdot2\\cdot5+0\\cdot3\\cdot6-0\\cdot4\\cdot5-1\\cdot2\\cdot6-2\\cdot3\\cdot4=16+20+0-0-12-24=01⋅4⋅4+2⋅2⋅5+0⋅3⋅6−0⋅4⋅5−1⋅2⋅6−2⋅3⋅4=16+20+0−0−12−24=0. 행렬식 0 → 가역이 아니다. 실제로 행 사이에 종속 관계가 있다: R2+R3=[2,6,10]=2R1R_2+R_3=[2,6,10]=2R_1R2​+R3​=[2,6,10]=2R1​. 헷갈리는 점 det⁡(A+B)≠det⁡A+det⁡B\\det(A+B)\\ne\\det A+\\det Bdet(A+B)=detA+detB. 합에는 성질이 없다. det⁡(λA)=λndet⁡A\\det(\\lambda A)=\\lambda^n\\det Adet(λA)=λndetA이지 λdet⁡A\\lambda\\det AλdetA가 아니다. 사루스 규칙은 3×33\\times33×3에서만 쓴다. 4×44\\times44×4 이상은 라플라스 전개나 가우스 소거를 쓴다. 4.2 고유값과 고유벡터 (Eigenvalues and Eigenvectors, 105쪽) 왜 필요한가 대부분의 벡터는 행렬을 곱하면 방향이 바뀐다. 그런데 어떤 특별한 방향은 늘어나거나 줄어들기만 하고 방향은 그대로다. 이 방향(고유벡터)과 늘어나는 배율(고유값)을 알면 행렬의 작용을 완전히 이해할 수 있다. PCA의 주성분은 공분산 행렬의 고유벡터다.\n정의와 성질 정의 4.6: 정사각행렬 AAA에 대해 Ax=λx,x≠0Ax=\\lambda x,\\qquad x\\ne0Ax=λx,x=0 이면 λ\\lambdaλ를 고유값(eigenvalue), xxx를 고유벡터(eigenvector)라 한다. (x=0x=0x=0은 항상 만족하니 제외한다.)\n구하는 방법 (정리 4.8): Ax=λx ⟺ (A−λI)x=0Ax=\\lambda x\\iff(A-\\lambda I)x=0Ax=λx⟺(A−λI)x=0이 000이 아닌 해를 가짐 ⟺ A−λI\\iff A-\\lambda I⟺A−λI가 가역이 아님 ⟺ det⁡(A−λI)=0\\iff\\det(A-\\lambda I)=0⟺det(A−λI)=0. 그래서\n특성방정식 det⁡(A−λI)=0\\det(A-\\lambda I)=0det(A−λI)=0을 풀어 고유값 λ\\lambdaλ를 구한다. 각 λ\\lambdaλ마다 (A−λI)x=0(A-\\lambda I)x=0(A−λI)x=0의 영공간(2장)을 구하면 그것이 고유벡터들이다. 용어:\n고유공간(eigenspace) EλE_\\lambdaEλ​: λ\\lambdaλ에 대한 고유벡터 전체 + 영벡터 = ker⁡(A−λI)\\ker(A-\\lambda I)ker(A−λI). 부분공간이다. 고유스펙트럼(eigenspectrum): 고유값 전체의 집합. 대수적 중복도(algebraic multiplicity): 특성다항식에서 그 근이 몇 번 겹치는가. 기하적 중복도(geometric multiplicity): 그 고유공간의 차원(독립인 고유벡터 수). 항상 1≤1\\le1≤ 기하적 ≤\\le≤ 대수적. 고유벡터는 크기를 바꿔도(0이 아닌 상수배) 고유벡터다. 그래서 보통 길이 1로 정규화한다. 교재는 같은/반대 방향 벡터를 공선(collinear)이라 부른다. 성질 (교재 정리):\nAAA와 A⊤A^\\topA⊤은 고유값이 같다(고유벡터는 일반적으로 다르다). 닮은 행렬은 고유값이 같다. 그래서 고유값은 선형사상 자체의 성질이다(행렬식, 대각합도 마찬가지). 대칭 양의 정부호 행렬의 고유값은 모두 양의 실수다. 정리 4.12: 서로 다른 고유값 nnn개에 대응하는 고유벡터들은 일차독립이다. 결손(defective) 행렬(정의 4.13): 일차독립인 고유벡터가 nnn개보다 적은 행렬. 대각화가 안 된다. 정리 4.16: det⁡(A)=∏iλi\\det(A)=\\prod_i\\lambda_idet(A)=∏i​λi​ (고유값의 곱, 중복 포함). 정리 4.17: tr(A)=∑iλi\\text{tr}(A)=\\sum_i\\lambda_itr(A)=∑i​λi​ (고유값의 합). 정리 4.14: 아무 A∈Rm×nA\\in\\mathbb R^{m\\times n}A∈Rm×n에 대해 S=A⊤AS=A^\\top AS=A⊤A는 대칭 양의 준정부호다. (x⊤A⊤Ax=∥Ax∥2≥0x^\\top A^\\top Ax=\\|Ax\\|^2\\ge0x⊤A⊤Ax=∥Ax∥2≥0.) rk(A)=n\\text{rk}(A)=nrk(A)=n이면 양의 정부호다. → SVD(4.5)와 PCA의 출발점.\n정리 4.15 (스펙트럼 정리, Spectral Theorem): AAA가 대칭이면 AAA의 고유벡터로 이루어진 정규직교기저가 존재하고, 고유값은 모두 실수다. → 대칭행렬은 항상 A=QDQ⊤A=QDQ^\\topA=QDQ⊤로 대각화된다(4.4).\n손으로 풀어 보는 예제 (1) 비대칭 행렬: A=[4123]A=\\begin{bmatrix}4\u0026amp;1\\\\2\u0026amp;3\\end{bmatrix}A=[42​13​].\n특성다항식: det⁡[4−λ123−λ]=(4−λ)(3−λ)−2=λ2−7λ+10=(λ−5)(λ−2)\\det\\begin{bmatrix}4-\\lambda\u0026amp;1\\\\2\u0026amp;3-\\lambda\\end{bmatrix}=(4-\\lambda)(3-\\lambda)-2=\\lambda^2-7\\lambda+10=(\\lambda-5)(\\lambda-2)det[4−λ2​13−λ​]=(4−λ)(3−λ)−2=λ2−7λ+10=(λ−5)(λ−2). (공식으로: trA=7\\text{tr}A=7trA=7, det⁡A=10\\det A=10detA=10 → λ2−7λ+10\\lambda^2-7\\lambda+10λ2−7λ+10.) λ=5\\lambda=5λ=5: A−5I=[−112−2]A-5I=\\begin{bmatrix}-1\u0026amp;1\\\\2\u0026amp;-2\\end{bmatrix}A−5I=[−12​1−2​] → −x1+x2=0-x_1+x_2=0−x1​+x2​=0 → E5=span[[1,1]⊤]E_5=\\text{span}[[1,1]^\\top]E5​=span[[1,1]⊤]. λ=2\\lambda=2λ=2: A−2I=[2121]A-2I=\\begin{bmatrix}2\u0026amp;1\\\\2\u0026amp;1\\end{bmatrix}A−2I=[22​11​] → 2x1+x2=02x_1+x_2=02x1​+x2​=0 → E2=span[[1,−2]⊤]E_2=\\text{span}[[1,-2]^\\top]E2​=span[[1,−2]⊤]. 검산: A[1,1]⊤=[5,5]⊤=5[1,1]⊤A[1,1]^\\top=[5,5]^\\top=5[1,1]^\\topA[1,1]⊤=[5,5]⊤=5[1,1]⊤. A[1,−2]⊤=[2,−4]⊤=2[1,−2]⊤A[1,-2]^\\top=[2,-4]^\\top=2[1,-2]^\\topA[1,−2]⊤=[2,−4]⊤=2[1,−2]⊤. 5⋅2=10=det⁡A5\\cdot2=10=\\det A5⋅2=10=detA, 5+2=7=trA5+2=7=\\text{tr}A5+2=7=trA. 두 고유벡터는 직교하지 않는다(1−2=−11-2=-11−2=−1). 대칭행렬이 아니기 때문이다. (2) 대칭 행렬: A=[2112]A=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}A=[21​12​].\nλ2−4λ+3=(λ−3)(λ−1)\\lambda^2-4\\lambda+3=(\\lambda-3)(\\lambda-1)λ2−4λ+3=(λ−3)(λ−1) → λ=3,1\\lambda=3,1λ=3,1. E3=span[[1,1]⊤]E_3=\\text{span}[[1,1]^\\top]E3​=span[[1,1]⊤], E1=span[[1,−1]⊤]E_1=\\text{span}[[1,-1]^\\top]E1​=span[[1,−1]⊤]. 서로 직교한다(스펙트럼 정리). (3) 결손 행렬: A=[3103]A=\\begin{bmatrix}3\u0026amp;1\\\\0\u0026amp;3\\end{bmatrix}A=[30​13​].\n(λ−3)2=0(\\lambda-3)^2=0(λ−3)2=0 → λ=3\\lambda=3λ=3, 대수적 중복도 2. A−3I=[0100]A-3I=\\begin{bmatrix}0\u0026amp;1\\\\0\u0026amp;0\\end{bmatrix}A−3I=[00​10​] → x2=0x_2=0x2​=0 → E3=span[[1,0]⊤]E_3=\\text{span}[[1,0]^\\top]E3​=span[[1,0]⊤], 기하적 중복도 1. 독립인 고유벡터가 1개뿐 → 대각화 불가. 헷갈리는 점 고유값이 같아도(중복) 고유벡터가 여러 개일 수 있다(III는 고유값 1 하나에 모든 벡터가 고유벡터). 중복 여부는 기하적 중복도로 따진다. 실수 행렬도 고유값이 복소수일 수 있다(예: 회전행렬). 교재는 실수 범위에서 다룬다. 고유벡터 계산 결과는 상수배만큼 다를 수 있다. 정답과 방향만 같으면 된다. 4.3 숄레스키 분해 (Cholesky Decomposition, 114쪽) 정의 정리 4.18: 대칭 양의 정부호 행렬 AAA는 A=LL⊤A=LL^\\topA=LL⊤ 로 분해된다. LLL은 대각 원소가 양수인 하삼각행렬이고, 이런 LLL은 유일하다. 양수 aaa의 제곱근 a\\sqrt aa​를 행렬로 일반화한 것이라고 생각하면 된다.\n계산법 (2×2, 3×3) [a11a21a21a22]=[l110l21l22][l11l210l22]=[l112l11l21l11l21l212+l222]\\begin{bmatrix}a_{11}\u0026amp;a_{21}\\\\a_{21}\u0026amp;a_{22}\\end{bmatrix}=\\begin{bmatrix}l_{11}\u0026amp;0\\\\l_{21}\u0026amp;l_{22}\\end{bmatrix}\\begin{bmatrix}l_{11}\u0026amp;l_{21}\\\\0\u0026amp;l_{22}\\end{bmatrix}=\\begin{bmatrix}l_{11}^2\u0026amp;l_{11}l_{21}\\\\l_{11}l_{21}\u0026amp;l_{21}^2+l_{22}^2\\end{bmatrix}[a11​a21​​a21​a22​​]=[l11​l21​​0l22​​][l11​0​l21​l22​​]=[l112​l11​l21​​l11​l21​l212​+l222​​]에서 원소를 비교해 위에서부터 푼다: l11=a11l_{11}=\\sqrt{a_{11}}l11​=a11​​, l21=a21/l11l_{21}=a_{21}/l_{11}l21​=a21​/l11​, l22=a22−l212l_{22}=\\sqrt{a_{22}-l_{21}^2}l22​=a22​−l212​​. 3×33\\times33×3도 같은 방식(교재 예제 4.10에 일반식).\n손 예제: A=[4223]A=\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;3\\end{bmatrix}A=[42​23​].\nl11=4=2l_{11}=\\sqrt4=2l11​=4​=2, l21=2/2=1l_{21}=2/2=1l21​=2/2=1, l22=3−1=2l_{22}=\\sqrt{3-1}=\\sqrt2l22​=3−1​=2​. L=[2012]L=\\begin{bmatrix}2\u0026amp;0\\\\1\u0026amp;\\sqrt2\\end{bmatrix}L=[21​02​​]. 검산 LL⊤=[4221+2]=ALL^\\top=\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;1+2\\end{bmatrix}=ALL⊤=[42​21+2​]=A. 어디에 쓰나 6장에서 다변수 가우시안 N(μ,Σ)\\mathcal N(\\mu,\\Sigma)N(μ,Σ)의 표본을 뽑을 때: z∼N(0,I)z\\sim\\mathcal N(0,I)z∼N(0,I)를 뽑아 x=μ+Lzx=\\mu+Lzx=μ+Lz (Σ=LL⊤\\Sigma=LL^\\topΣ=LL⊤). 행렬식 계산: det⁡A=det⁡Ldet⁡L⊤=∏ilii2\\det A=\\det L\\det L^\\top=\\prod_il_{ii}^2detA=detLdetL⊤=∏i​lii2​. 딥러닝의 자동미분에서 공분산 행렬 연산을 안정적으로 할 때. 4.4 고유분해와 대각화 (Eigendecomposition and Diagonalization, 115쪽) 정의 대각화 가능(diagonalizable, 정의 4.19): D=P−1APD=P^{-1}APD=P−1AP가 대각행렬이 되는 가역행렬 PPP가 있다. 즉 AAA가 대각행렬과 닮음(2.7.2)이다. 정리 4.20 (고유분해): A∈Rn×nA\\in\\mathbb R^{n\\times n}A∈Rn×n은 A=PDP−1A=PDP^{-1}A=PDP−1 (PPP의 열 = 고유벡터, DDD의 대각 = 대응하는 고유값)으로 쓸 수 있는 것과 AAA의 고유벡터가 Rn\\mathbb R^nRn의 기저를 이루는 것(nnn개가 일차독립)이 같은 말이다. 그래서 결손 행렬은 대각화되지 않는다. 왜 AP=PDAP=PDAP=PD인가: AP=[Ap1,…,Apn]=[λ1p1,…,λnpn]=PDAP=[Ap_1,\\dots,Ap_n]=[\\lambda_1p_1,\\dots,\\lambda_np_n]=PDAP=[Ap1​,…,Apn​]=[λ1​p1​,…,λn​pn​]=PD. 양변 오른쪽에 P−1P^{-1}P−1을 곱하면 A=PDP−1A=PDP^{-1}A=PDP−1. 정리 4.21: 대칭행렬은 항상 대각화된다. 스펙트럼 정리 덕분에 PPP를 직교행렬 QQQ로 고를 수 있어 A=QDQ⊤(Q−1=Q⊤).A=QDQ^\\top\\qquad(Q^{-1}=Q^\\top).A=QDQ⊤(Q−1=Q⊤). 기하학적 의미 A=PDP−1A=PDP^{-1}A=PDP−1로 벡터 xxx에 AAA를 곱하는 것은 세 단계다: ① P−1P^{-1}P−1로 고유벡터 기저의 좌표로 바꾸고 ② DDD로 축마다 늘리고 ③ PPP로 원래 좌표로 돌아온다. 대칭행렬이면 ①③이 회전(또는 반사)이다.\n쓸모 거듭제곱: Ak=PDkP−1A^k=PD^kP^{-1}Ak=PDkP−1. DkD^kDk는 대각 원소만 kkk제곱. 행렬식: det⁡A=det⁡Pdet⁡Ddet⁡P−1=∏iλi\\det A=\\det P\\det D\\det P^{-1}=\\prod_i\\lambda_idetA=detPdetDdetP−1=∏i​λi​. 손으로 풀어 보는 예제 (1) A=[4123]A=\\begin{bmatrix}4\u0026amp;1\\\\2\u0026amp;3\\end{bmatrix}A=[42​13​] (4.2의 예).\nP=[111−2]P=\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-2\\end{bmatrix}P=[11​1−2​] (열 = 고유벡터 [1,1]⊤[1,1]^\\top[1,1]⊤, [1,−2]⊤[1,-2]^\\top[1,−2]⊤), D=[5002]D=\\begin{bmatrix}5\u0026amp;0\\\\0\u0026amp;2\\end{bmatrix}D=[50​02​]. P−1=1−3[−2−1−11]=13[211−1]P^{-1}=\\frac{1}{-3}\\begin{bmatrix}-2\u0026amp;-1\\\\-1\u0026amp;1\\end{bmatrix}=\\frac13\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}P−1=−31​[−2−1​−11​]=31​[21​1−1​]. PDP−1=[525−4]⋅13[211−1]=13[12369]=[4123]PDP^{-1}=\\begin{bmatrix}5\u0026amp;2\\\\5\u0026amp;-4\\end{bmatrix}\\cdot\\frac13\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}=\\frac13\\begin{bmatrix}12\u0026amp;3\\\\6\u0026amp;9\\end{bmatrix}=\\begin{bmatrix}4\u0026amp;1\\\\2\u0026amp;3\\end{bmatrix}PDP−1=[55​2−4​]⋅31​[21​1−1​]=31​[126​39​]=[42​13​]. 맞다. A3=PD3P−1A^3=PD^3P^{-1}A3=PD3P−1, D3=diag(125,8)D^3=\\text{diag}(125,8)D3=diag(125,8). (2) 대칭: A=[2112]=QDQ⊤A=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}=QDQ^\\topA=[21​12​]=QDQ⊤, Q=12[111−1]Q=\\frac1{\\sqrt2}\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}Q=2​1​[11​1−1​], D=diag(3,1)D=\\text{diag}(3,1)D=diag(3,1). 고유벡터를 길이 1로 정규화해야 Q−1=Q⊤Q^{-1}=Q^\\topQ−1=Q⊤가 된다.\n헷갈리는 점 대각화 가능 여부와 가역 여부는 관계가 없다(교재 연습문제 4.5). 고유값 0이 있으면 가역이 아니지만 대각화는 될 수 있고, 반대로 가역이어도 결손이면 대각화가 안 된다. PPP의 열 순서와 DDD의 대각 순서를 맞춰야 한다. 4.5 특이값 분해 (Singular Value Decomposition, 119쪽) 왜 필요한가 고유분해는 정사각행렬, 그것도 대각화 가능한 것에만 된다. SVD는 모든 행렬(직사각 포함)에 존재한다. 교재는 \u0026ldquo;선형대수의 기본 정리\u0026quot;라고 부를 만큼 중요하다고 강조한다.\n정의 (정리 4.22, SVD 정리) 랭크 rrr인 A∈Rm×nA\\in\\mathbb R^{m\\times n}A∈Rm×n은 A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤ 로 분해된다.\nU∈Rm×mU\\in\\mathbb R^{m\\times m}U∈Rm×m: 직교행렬. 열 uiu_iui​를 왼쪽 특이벡터(left-singular vectors). V∈Rn×nV\\in\\mathbb R^{n\\times n}V∈Rn×n: 직교행렬. 열 vjv_jvj​를 오른쪽 특이벡터(right-singular vectors). Σ∈Rm×n\\Sigma\\in\\mathbb R^{m\\times n}Σ∈Rm×n: Σii=σi≥0\\Sigma_{ii}=\\sigma_i\\ge0Σii​=σi​≥0, 나머지는 0. σi\\sigma_iσi​를 특이값(singular values)이라 하고 σ1≥σ2≥⋯≥σr\u0026gt;0\\sigma_1\\ge\\sigma_2\\ge\\cdots\\ge\\sigma_r\u0026gt;0σ1​≥σ2​≥⋯≥σr​\u0026gt;0, 나머지는 0. Σ\\SigmaΣ는 AAA와 크기가 같아서, m\u0026gt;nm\u0026gt;nm\u0026gt;n이면 아래에 0 행이, m\u0026lt;nm\u0026lt;nm\u0026lt;n이면 오른쪽에 0 열이 붙는다. 0이 아닌 특이값의 개수 = rk(A)\\text{rk}(A)rk(A). 4.5.1 기하학적 의미 x↦Ax=UΣV⊤xx\\mapsto Ax=U\\Sigma V^\\top xx↦Ax=UΣV⊤x는 세 단계다:\nV⊤V^\\topV⊤: 입력 공간에서의 기저변환(회전·반사). 오른쪽 특이벡터 방향을 표준축으로 돌린다. Σ\\SigmaΣ: 축마다 σi\\sigma_iσi​배로 늘리고, 차원을 더하거나 뺀다(nnn차원 → mmm차원). UUU: 출력 공간에서의 기저변환(회전·반사). 즉 \u0026ldquo;회전 → 축 방향 늘이기 → 회전\u0026rdquo;. 단위원(구)은 타원(타원체)이 되고, 타원의 반축 길이가 특이값이다. 4.5.2 SVD 만드는 법 (구성 절차) 핵심 관찰: A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤이면 A⊤A=VΣ⊤U⊤UΣV⊤=V(Σ⊤Σ)V⊤,AA⊤=U(ΣΣ⊤)U⊤.\\begin{aligned} A^\\top A \u0026amp;= V\\Sigma^\\top U^\\top U\\Sigma V^\\top \\\\ \u0026amp;= V(\\Sigma^\\top\\Sigma)V^\\top, \\\\ AA^\\top \u0026amp;= U(\\Sigma\\Sigma^\\top)U^\\top. \\end{aligned}A⊤AAA⊤​=VΣ⊤U⊤UΣV⊤=V(Σ⊤Σ)V⊤,=U(ΣΣ⊤)U⊤.​ 둘 다 대칭 양의 준정부호라 스펙트럼 정리로 직교 대각화된다. 그래서\nA⊤AA^\\top AA⊤A를 고유분해 → 고유벡터가 VVV의 열, 고유값 λi\\lambda_iλi​에서 σi=λi\\sigma_i=\\sqrt{\\lambda_i}σi​=λi​​. 왼쪽 특이벡터: σi≠0\\sigma_i\\ne0σi​=0인 iii에 대해 ui=1σiAviu_i=\\frac{1}{\\sigma_i}Av_iui​=σi​1​Avi​. (그러면 uiu_iui​들은 자동으로 정규직교다.) m\u0026gt;rm\u0026gt;rm\u0026gt;r이면 나머지 uuu는 이들과 직교하는 단위벡터로 채운다(그람-슈미트나 ker⁡A⊤\\ker A^\\topkerA⊤ 이용). A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤로 모은다. 왜 ui=Avi/σiu_i=Av_i/\\sigma_iui​=Avi​/σi​가 정규직교인가: ui⊤uj=vi⊤A⊤Avjσiσj=λjvi⊤vjσiσju_i^\\top u_j=\\frac{v_i^\\top A^\\top Av_j}{\\sigma_i\\sigma_j}=\\frac{\\lambda_jv_i^\\top v_j}{\\sigma_i\\sigma_j}ui⊤​uj​=σi​σj​vi⊤​A⊤Avj​​=σi​σj​λj​vi⊤​vj​​, i≠ji\\ne ji=j면 0, i=ji=ji=j면 λiσi2=1\\frac{\\lambda_i}{\\sigma_i^2}=1σi2​λi​​=1.\n주의: UUU와 VVV를 따로따로 고유분해해서 구하면 부호가 안 맞을 수 있다. 하나를 구한 뒤 ui=Avi/σiu_i=Av_i/\\sigma_iui​=Avi​/σi​로 다른 하나를 만드는 것이 안전하다.\n손으로 풀어 보는 예제 A=[3045]A=\\begin{bmatrix}3\u0026amp;0\\\\4\u0026amp;5\\end{bmatrix}A=[34​05​].\nA⊤A=[3405][3045]=[25202025]A^\\top A=\\begin{bmatrix}3\u0026amp;4\\\\0\u0026amp;5\\end{bmatrix}\\begin{bmatrix}3\u0026amp;0\\\\4\u0026amp;5\\end{bmatrix}=\\begin{bmatrix}25\u0026amp;20\\\\20\u0026amp;25\\end{bmatrix}A⊤A=[30​45​][34​05​]=[2520​2025​]. 고유값: λ2−50λ+(625−400)=λ2−50λ+225=(λ−45)(λ−5)\\lambda^2-50\\lambda+(625-400)=\\lambda^2-50\\lambda+225=(\\lambda-45)(\\lambda-5)λ2−50λ+(625−400)=λ2−50λ+225=(λ−45)(λ−5) → λ1=45\\lambda_1=45λ1​=45, λ2=5\\lambda_2=5λ2​=5. λ=45\\lambda=45λ=45: [−202020−20]\\begin{bmatrix}-20\u0026amp;20\\\\20\u0026amp;-20\\end{bmatrix}[−2020​20−20​] → v1=12[1,1]⊤v_1=\\frac1{\\sqrt2}[1,1]^\\topv1​=2​1​[1,1]⊤. λ=5\\lambda=5λ=5: [20202020]\\begin{bmatrix}20\u0026amp;20\\\\20\u0026amp;20\\end{bmatrix}[2020​2020​] → v2=12[1,−1]⊤v_2=\\frac1{\\sqrt2}[1,-1]^\\topv2​=2​1​[1,−1]⊤. σ1=45=35\\sigma_1=\\sqrt{45}=3\\sqrt5σ1​=45​=35​, σ2=5\\sigma_2=\\sqrt5σ2​=5​. u1=Av1σ1=135⋅12[3,9]⊤=110[1,3]⊤u_1=\\frac{Av_1}{\\sigma_1}=\\frac{1}{3\\sqrt5}\\cdot\\frac{1}{\\sqrt2}[3,9]^\\top=\\frac{1}{\\sqrt{10}}[1,3]^\\topu1​=σ1​Av1​​=35​1​⋅2​1​[3,9]⊤=10​1​[1,3]⊤, u2=Av2σ2=15⋅12[3,−1]⊤=110[3,−1]⊤u_2=\\frac{Av_2}{\\sigma_2}=\\frac{1}{\\sqrt5}\\cdot\\frac1{\\sqrt2}[3,-1]^\\top=\\frac1{\\sqrt{10}}[3,-1]^\\topu2​=σ2​Av2​​=5​1​⋅2​1​[3,−1]⊤=10​1​[3,−1]⊤. 검산: u1⊤u2=3−310=0u_1^\\top u_2=\\frac{3-3}{10}=0u1⊤​u2​=103−3​=0. A=110[133−1]⏟U[35005]⏟Σ12[111−1]⏟V⊤\\begin{aligned} A \u0026amp;= \\underbrace{\\frac1{\\sqrt{10}}\\begin{bmatrix}1\u0026amp;3\\\\3\u0026amp;-1\\end{bmatrix}}_{U} \\\\ \u0026amp;\\quad \\underbrace{\\begin{bmatrix}3\\sqrt5\u0026amp;0\\\\0\u0026amp;\\sqrt5\\end{bmatrix}}_{\\Sigma} \\\\ \u0026amp;\\quad \\underbrace{\\frac1{\\sqrt2}\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}}_{V^\\top} \\end{aligned}A​=U10​1​[13​3−1​]​​Σ[35​0​05​​]​​V⊤2​1​[11​1−1​]​​​. (det⁡A=15=σ1σ2=35⋅5\\det A=15=\\sigma_1\\sigma_2=3\\sqrt5\\cdot\\sqrt5detA=15=σ1​σ2​=35​⋅5​로도 확인된다. 절댓값 기준.) 고유분해 vs SVD (교재 4.5.2 끝 비교, 시험 단골) 고유분해 A=PDP−1A=PDP^{-1}A=PDP−1 SVD A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤ 존재 정사각, 고유벡터 nnn개 독립일 때만 모든 m×nm\\times nm×n 행렬 기저 PPP의 열이 직교일 필요 없음 UUU, VVV 모두 정규직교 공간 입력·출력 같은 공간, PPP와 P−1P^{-1}P−1 입력(VVV)·출력(UUU) 공간이 다를 수 있음 대각 원소 음수·복소수 가능 특이값은 항상 실수 ≥0\\ge0≥0 관계 대칭 양의 준정부호 행렬이면 두 분해가 같다 (U=V=QU=V=QU=V=Q, Σ=D\\Sigma=DΣ=D) 또 AAA의 왼쪽 특이벡터는 AA⊤AA^\\topAA⊤의 고유벡터, 오른쪽 특이벡터는 A⊤AA^\\top AA⊤A의 고유벡터, 0이 아닌 특이값의 제곱은 AA⊤AA^\\topAA⊤과 A⊤AA^\\top AA⊤A의 0이 아닌 고유값이다.\n4.6 행렬 근사 (Matrix Approximation, 129쪽) 아이디어 SVD를 펼치면 AAA는 랭크 1 행렬들의 가중합이다: A=∑i=1rσiuivi⊤(uivi⊤는 외적, 랭크 1).\\begin{gathered} A=\\sum_{i=1}^r\\sigma_iu_iv_i^\\top \\\\ (u_iv_i^\\top\\text{는 외적, 랭크 1}). \\end{gathered}A=i=1∑r​σi​ui​vi⊤​(ui​vi⊤​는 외적, 랭크 1).​ 특이값이 큰 것부터 kkk개만 남기면 랭크 kkk 근사 A^(k)=∑i=1kσiuivi⊤\\hat A(k)=\\sum_{i=1}^k\\sigma_iu_iv_i^\\topA^(k)=i=1∑k​σi​ui​vi⊤​ 가 된다. 이미지 압축이면 m×nm\\times nm×n개 숫자 대신 k(m+n+1)k(m+n+1)k(m+n+1)개만 저장하면 된다.\n스펙트럼 노름 (정의 4.23, 정리 4.24) ∥A∥2:=max⁡x≠0∥Ax∥2∥x∥2=σ1.\\|A\\|_2:=\\max_{x\\ne0}\\frac{\\|Ax\\|_2}{\\|x\\|_2}=\\sigma_1.∥A∥2​:=x=0max​∥x∥2​∥Ax∥2​​=σ1​. \u0026ldquo;AAA가 벡터를 최대 몇 배까지 늘리는가\u0026quot;이고, 그 값은 가장 큰 특이값이다(교재 연습문제 4.12가 이것을 증명하라는 문제).\nEckart–Young 정리 (정리 4.25) 랭크 rrr인 AAA와 k≤rk\\le rk≤r에 대해 A^(k)=arg⁡min⁡rk(B)=k∥A−B∥2,∥A−A^(k)∥2=σk+1.\\begin{aligned} \\hat A(k) \u0026amp;= \\arg\\min_{\\text{rk}(B)=k}\\|A-B\\|_2, \\\\ \\|A-\\hat A(k)\\|_2 \u0026amp;= \\sigma_{k+1}. \\end{aligned}A^(k)∥A−A^(k)∥2​​=argrk(B)=kmin​∥A−B∥2​,=σk+1​.​ 말로 하면: 랭크 kkk 행렬 중에서 AAA에 가장 가까운 것(스펙트럼 노름 기준)은 SVD를 kkk항에서 자른 것이고, 그때 오차는 버린 것 중 가장 큰 특이값 σk+1\\sigma_{k+1}σk+1​이다. 왜 σk+1\\sigma_{k+1}σk+1​인가: A−A^(k)=∑i=k+1rσiuivi⊤A-\\hat A(k)=\\sum_{i=k+1}^r\\sigma_iu_iv_i^\\topA−A^(k)=∑i=k+1r​σi​ui​vi⊤​의 가장 큰 특이값이 σk+1\\sigma_{k+1}σk+1​이기 때문(정리 4.24).\n(교재 밖 보충: 프로베니우스 노름 ∥A∥F=∑ijaij2\\|A\\|_F=\\sqrt{\\sum_{ij}a_{ij}^2}∥A∥F​=∑ij​aij2​​에서도 같은 A^(k)\\hat A(k)A^(k)가 최적이고 오차는 σk+12+⋯+σr2\\sqrt{\\sigma_{k+1}^2+\\cdots+\\sigma_r^2}σk+12​+⋯+σr2​​이다. Eckart–Young–Mirsky 정리라 부른다. 교재 정리 4.25는 스펙트럼 노름으로만 서술한다.)\n10장과의 연결: PCA는 (중심화한) 데이터 행렬의 랭크 kkk 근사와 같은 이야기다. 버린 특이값(분산)이 재구성 오차가 된다.\n손으로 풀어 보는 예제 4.5의 A=[3045]A=\\begin{bmatrix}3\u0026amp;0\\\\4\u0026amp;5\\end{bmatrix}A=[34​05​], 랭크 1 근사: A^(1)=σ1u1v1⊤=35⋅110[13]⋅12[11]=3520[1133]=32[1133]=[1.51.54.54.5].\\begin{aligned} \\hat A(1) \u0026amp;= \\sigma_1u_1v_1^\\top \\\\ \u0026amp;= 3\\sqrt5\\cdot\\frac{1}{\\sqrt{10}}\\begin{bmatrix}1\\\\3\\end{bmatrix}\\cdot\\frac{1}{\\sqrt2}\\begin{bmatrix}1\u0026amp;1\\end{bmatrix} \\\\ \u0026amp;= \\frac{3\\sqrt5}{\\sqrt{20}}\\begin{bmatrix}1\u0026amp;1\\\\3\u0026amp;3\\end{bmatrix} \\\\ \u0026amp;= \\frac32\\begin{bmatrix}1\u0026amp;1\\\\3\u0026amp;3\\end{bmatrix}=\\begin{bmatrix}1.5\u0026amp;1.5\\\\4.5\u0026amp;4.5\\end{bmatrix}. \\end{aligned}A^(1)​=σ1​u1​v1⊤​=35​⋅10​1​[13​]⋅2​1​[1​1​]=20​35​​[13​13​]=23​[13​13​]=[1.54.5​1.54.5​].​ 오차 A−A^(1)=[1.5−1.5−0.50.5]A-\\hat A(1)=\\begin{bmatrix}1.5\u0026amp;-1.5\\\\-0.5\u0026amp;0.5\\end{bmatrix}A−A^(1)=[1.5−0.5​−1.50.5​], 이것은 σ2u2v2⊤\\sigma_2u_2v_2^\\topσ2​u2​v2⊤​와 같다. 스펙트럼 노름 오차 =σ2=5≈2.24=\\sigma_2=\\sqrt5\\approx2.24=σ2​=5​≈2.24 (Eckart–Young). 교재 예제 4.14·4.15는 영화 평점 행렬에 SVD를 적용해 \u0026ldquo;SF 좋아하는 사람 / 예술 영화 좋아하는 사람\u0026rdquo; 같은 숨은 유형을 찾는다. 특이벡터를 해석하는 연습으로 읽어 볼 만하다.\n4.7 행렬 계통도 (Matrix Phylogeny, 134쪽) 교재 그림 4.13은 지금까지의 행렬 종류를 계통도로 정리한다. 요점만:\n모든 실수 행렬 → 의사역행렬(pseudo-inverse), SVD가 존재. 정사각행렬 → 행렬식, 대각합 정의. det⁡≠0\\det\\ne0det=0 → 가역(정칙). 고유벡터가 nnn개 독립(비결손) → 대각화 가능. 대칭행렬 → 고유값이 실수, 직교 대각화 가능(스펙트럼 정리). 양의 정부호 → 고유값 모두 양수, 숄레스키 분해 가능, 가역. 대각행렬 → 대칭이고, 고유값이 대각 원소. 직교행렬 → 가역, Q−1=Q⊤Q^{-1}=Q^\\topQ−1=Q⊤, ∣det⁡Q∣=1|\\det Q|=1∣detQ∣=1. 가역성과 대각화 가능성은 서로 독립이다. 핵심 유도 모음 (백지에 쓸 수 있어야 하는 것) 1. det⁡A=∏λi\\det A=\\prod\\lambda_idetA=∏λi​, trA=∑λi\\text{tr}A=\\sum\\lambda_itrA=∑λi​ (대각화 가능할 때의 간단한 증명)\ndet⁡A=det⁡(PDP−1)=det⁡Pdet⁡D1det⁡P=det⁡D=∏λi\\det A=\\det(PDP^{-1})=\\det P\\det D\\frac{1}{\\det P}=\\det D=\\prod\\lambda_idetA=det(PDP−1)=detPdetDdetP1​=detD=∏λi​ trA=tr(PDP−1)=tr(DP−1P)=trD=∑λi\\text{tr}A=\\text{tr}(PDP^{-1})=\\text{tr}(DP^{-1}P)=\\text{tr}D=\\sum\\lambda_itrA=tr(PDP−1)=tr(DP−1P)=trD=∑λi​ (순환 불변) (교재의 정리 4.16·4.17은 대각화 가능하지 않아도 성립한다.) 2. 고유값 구하는 원리\nAx=λxAx=\\lambda xAx=λx, x≠0x\\ne0x=0 ⇔ (A−λI)x=0(A-\\lambda I)x=0(A−λI)x=0이 0 아닌 해를 가짐 ⇔ A−λIA-\\lambda IA−λI가 특이 ⇔ det⁡(A−λI)=0\\det(A-\\lambda I)=0det(A−λI)=0. 3. A⊤AA^\\top AA⊤A는 대칭 양의 준정부호 (정리 4.14)\n대칭: (A⊤A)⊤=A⊤(A⊤)⊤=A⊤A(A^\\top A)^\\top=A^\\top(A^\\top)^\\top=A^\\top A(A⊤A)⊤=A⊤(A⊤)⊤=A⊤A. 준정부호: x⊤A⊤Ax=(Ax)⊤(Ax)=∥Ax∥2≥0x^\\top A^\\top Ax=(Ax)^\\top(Ax)=\\|Ax\\|^2\\ge0x⊤A⊤Ax=(Ax)⊤(Ax)=∥Ax∥2≥0. 4. 대칭행렬의 서로 다른 고유값의 고유벡터는 직교 (스펙트럼 정리의 핵심 단계, 교재 밖 보충 증명)\nAx=λxAx=\\lambda xAx=λx, Ay=μyAy=\\mu yAy=μy, λ≠μ\\lambda\\ne\\muλ=μ. λx⊤y=(Ax)⊤y=x⊤A⊤y=x⊤Ay=μx⊤y\\lambda x^\\top y=(Ax)^\\top y=x^\\top A^\\top y=x^\\top Ay=\\mu x^\\top yλx⊤y=(Ax)⊤y=x⊤A⊤y=x⊤Ay=μx⊤y. (λ−μ)x⊤y=0(\\lambda-\\mu)x^\\top y=0(λ−μ)x⊤y=0이고 λ≠μ\\lambda\\ne\\muλ=μ라 x⊤y=0x^\\top y=0x⊤y=0. 5. SVD 구성\nA⊤A=VΣ⊤ΣV⊤A^\\top A=V\\Sigma^\\top\\Sigma V^\\topA⊤A=VΣ⊤ΣV⊤ → VVV와 σi2\\sigma_i^2σi2​를 고유분해로 구함. ui=Avi/σiu_i=Av_i/\\sigma_iui​=Avi​/σi​ → 정규직교임을 위 4.5.2처럼 보임. 6. A⊤AA^\\top AA⊤A와 AA⊤AA^\\topAA⊤의 0 아닌 고유값이 같음 (교재 연습문제 4.11)\nA⊤Ax=λxA^\\top Ax=\\lambda xA⊤Ax=λx, λ≠0\\lambda\\ne0λ=0이면 Ax≠0Ax\\ne0Ax=0이고 AA⊤(Ax)=A(A⊤Ax)=λ(Ax)AA^\\top(Ax)=A(A^\\top Ax)=\\lambda(Ax)AA⊤(Ax)=A(A⊤Ax)=λ(Ax). 그래서 λ\\lambdaλ는 AA⊤AA^\\topAA⊤의 고유값(고유벡터 AxAxAx). 반대 방향도 같다. 7. 스펙트럼 노름 = σ1\\sigma_1σ1​ (교재 연습문제 4.12)\n∥Ax∥2=x⊤A⊤Ax\\|Ax\\|^2=x^\\top A^\\top Ax∥Ax∥2=x⊤A⊤Ax. A⊤A=Vdiag(σi2)V⊤A^\\top A=V\\text{diag}(\\sigma_i^2)V^\\topA⊤A=Vdiag(σi2​)V⊤이고 y=V⊤xy=V^\\top xy=V⊤x로 두면 ∥y∥=∥x∥\\|y\\|=\\|x\\|∥y∥=∥x∥이고 ∥Ax∥2=∑iσi2yi2≤σ12∑iyi2=σ12∥x∥2\\|Ax\\|^2=\\sum_i\\sigma_i^2y_i^2\\le\\sigma_1^2\\sum_iy_i^2=\\sigma_1^2\\|x\\|^2∥Ax∥2=∑i​σi2​yi2​≤σ12​∑i​yi2​=σ12​∥x∥2. 등호는 x=v1x=v_1x=v1​. 그래서 max⁡∥Ax∥∥x∥=σ1\\max\\frac{\\|Ax\\|}{\\|x\\|}=\\sigma_1max∥x∥∥Ax∥​=σ1​. 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. 행렬식의 의미는? \u0026ldquo;열벡터들이 만드는 평행육면체의 부피(부호 포함)이고, 선형사상이 부피를 몇 배로 바꾸는지를 나타냅니다. 0이면 공간이 납작해져 정보가 사라지므로 역행렬이 없습니다. det⁡(AB)=det⁡Adet⁡B\\det(AB)=\\det A\\det Bdet(AB)=detAdetB이고, 고유값의 곱과 같습니다.\u0026rdquo;\nQ. 고유값과 고유벡터를 설명하고 구하는 방법을 말해 보세요. \u0026ldquo;Ax=λxAx=\\lambda xAx=λx를 만족하는 0 아닌 xxx가 고유벡터, λ\\lambdaλ가 고유값입니다. AAA를 곱해도 방향이 그대로이고 크기만 λ\\lambdaλ배 되는 방향입니다. det⁡(A−λI)=0\\det(A-\\lambda I)=0det(A−λI)=0을 풀어 고유값을 구하고, 각 고유값마다 (A−λI)x=0(A-\\lambda I)x=0(A−λI)x=0의 영공간을 구하면 고유벡터입니다.\u0026rdquo;\nQ. 대각화 가능 조건은? 대칭행렬은? \u0026ldquo;일차독립인 고유벡터가 nnn개 있어야 A=PDP−1A=PDP^{-1}A=PDP−1로 대각화됩니다. 고유값이 모두 다르면 충분합니다. 대칭행렬은 스펙트럼 정리에 따라 고유값이 실수이고 정규직교 고유벡터 기저가 있어서 항상 A=QDQ⊤A=QDQ^\\topA=QDQ⊤로 직교 대각화됩니다. 공분산 행렬이 대칭이라 PCA에서 이 성질을 씁니다.\u0026rdquo;\nQ. SVD는 무엇이고 고유분해와 어떻게 다른가요? \u0026ldquo;모든 행렬을 UΣV⊤U\\Sigma V^\\topUΣV⊤, 즉 회전, 축 방향 늘이기, 회전으로 분해하는 것입니다. 고유분해는 정사각이고 대각화 가능한 행렬에만 되고 기저가 직교일 필요가 없지만, SVD는 모든 행렬에 존재하고 UUU, VVV가 정규직교이며 특이값이 0 이상입니다. VVV는 A⊤AA^\\top AA⊤A의 고유벡터, 특이값은 그 고유값의 제곱근입니다.\u0026rdquo;\nQ. Eckart–Young 정리를 설명하고 머신러닝에서 어디에 쓰는지 말해 보세요. \u0026ldquo;랭크 kkk 행렬 중 AAA와 가장 가까운 것은 SVD에서 큰 특이값 kkk개만 남긴 ∑i≤kσiuivi⊤\\sum_{i\\le k}\\sigma_iu_iv_i^\\top∑i≤k​σi​ui​vi⊤​이고, 스펙트럼 노름 오차는 σk+1\\sigma_{k+1}σk+1​이라는 정리입니다. PCA, 데이터 압축, 추천 시스템의 행렬 분해, 그리고 큰 행렬을 저계수로 근사하는 기법들의 이론적 근거입니다.\u0026rdquo;\nQ. 숄레스키 분해는 언제 되고 어디에 쓰나요? \u0026ldquo;대칭 양의 정부호 행렬만 LL⊤LL^\\topLL⊤(하삼각 LLL)로 유일하게 분해됩니다. 다변수 가우시안에서 표본을 뽑을 때 x=μ+Lzx=\\mu+Lzx=μ+Lz로 쓰고, 행렬식이나 선형 시스템을 안정적으로 계산할 때 씁니다.\u0026rdquo;\nQ. 대각합의 순환 불변성은 어디에 쓰나요? \u0026ldquo;tr(ABC)=tr(CAB)\\text{tr}(ABC)=\\text{tr}(CAB)tr(ABC)=tr(CAB)이므로 스칼라 x⊤Axx^\\top Axx⊤Ax를 tr(Axx⊤)\\text{tr}(Axx^\\top)tr(Axx⊤)로 바꿔 쓸 수 있습니다. 기댓값과 대각합의 순서를 바꿔 E[x⊤Ax]=tr(A E[xx⊤])\\mathbb E[x^\\top Ax]=\\text{tr}(A\\,\\mathbb E[xx^\\top])E[x⊤Ax]=tr(AE[xx⊤])처럼 계산할 때, PCA의 분산 합을 고유값 합으로 바꿀 때 씁니다.\u0026rdquo;\n연습문제 확인 문제 (풀이 포함) 문제 1. det⁡[200530714]\\det\\begin{bmatrix}2\u0026amp;0\u0026amp;0\\\\5\u0026amp;3\u0026amp;0\\\\7\u0026amp;1\u0026amp;4\\end{bmatrix}det​257​031​004​​는?\n풀이: 하삼각행렬이라 대각 곱 2⋅3⋅4=242\\cdot3\\cdot4=242⋅3⋅4=24.\n문제 2. det⁡A=3\\det A=3detA=3인 3×33\\times33×3 행렬에 대해 det⁡(2A)\\det(2A)det(2A), det⁡(A−1)\\det(A^{-1})det(A−1), det⁡(A⊤A)\\det(A^\\top A)det(A⊤A)는?\n풀이: 23⋅3=242^3\\cdot3=2423⋅3=24, 13\\frac1331​, 3⋅3=93\\cdot3=93⋅3=9.\n문제 3. A=[1221]A=\\begin{bmatrix}1\u0026amp;2\\\\2\u0026amp;1\\end{bmatrix}A=[12​21​]의 고유값·고유벡터를 구하고 det⁡\\detdet, tr\\text{tr}tr과 비교하라.\n풀이: λ2−2λ−3=(λ−3)(λ+1)\\lambda^2-2\\lambda-3=(\\lambda-3)(\\lambda+1)λ2−2λ−3=(λ−3)(λ+1). λ=3\\lambda=3λ=3: [1,1]⊤[1,1]^\\top[1,1]⊤, λ=−1\\lambda=-1λ=−1: [1,−1]⊤[1,-1]^\\top[1,−1]⊤. 3⋅(−1)=−3=det⁡A3\\cdot(-1)=-3=\\det A3⋅(−1)=−3=detA, 3+(−1)=2=trA3+(-1)=2=\\text{tr}A3+(−1)=2=trA. 대칭이라 두 고유벡터가 직교한다. 고유값에 음수가 있어 양의 정부호가 아니다.\n문제 4. A=[2102]A=\\begin{bmatrix}2\u0026amp;1\\\\0\u0026amp;2\\end{bmatrix}A=[20​12​]은 대각화 가능한가? 가역인가?\n풀이: 고유값 2(대수적 중복도 2), A−2I=[0100]A-2I=\\begin{bmatrix}0\u0026amp;1\\\\0\u0026amp;0\\end{bmatrix}A−2I=[00​10​]의 영공간은 1차원 → 결손, 대각화 불가. det⁡=4≠0\\det=4\\ne0det=4=0 → 가역. 둘은 독립적인 성질이다.\n문제 5. A=[1102]A=\\begin{bmatrix}1\u0026amp;1\\\\0\u0026amp;2\\end{bmatrix}A=[10​12​]을 대각화하고 A10A^{10}A10을 구하는 식을 써라.\n풀이: 고유값 1, 2 (삼각행렬이라 대각). λ=1\\lambda=1λ=1: [0101]\\begin{bmatrix}0\u0026amp;1\\\\0\u0026amp;1\\end{bmatrix}[00​11​] → [1,0]⊤[1,0]^\\top[1,0]⊤. λ=2\\lambda=2λ=2: [−1100]\\begin{bmatrix}-1\u0026amp;1\\\\0\u0026amp;0\\end{bmatrix}[−10​10​] → [1,1]⊤[1,1]^\\top[1,1]⊤. P=[1101]P=\\begin{bmatrix}1\u0026amp;1\\\\0\u0026amp;1\\end{bmatrix}P=[10​11​], P−1=[1−101]P^{-1}=\\begin{bmatrix}1\u0026amp;-1\\\\0\u0026amp;1\\end{bmatrix}P−1=[10​−11​]. A10=P[1001024]P−1=[1102301024]A^{10}=P\\begin{bmatrix}1\u0026amp;0\\\\0\u0026amp;1024\\end{bmatrix}P^{-1}=\\begin{bmatrix}1\u0026amp;1023\\\\0\u0026amp;1024\\end{bmatrix}A10=P[10​01024​]P−1=[10​10231024​].\n문제 6. [9335]\\begin{bmatrix}9\u0026amp;3\\\\3\u0026amp;5\\end{bmatrix}[93​35​]의 숄레스키 분해를 구하라.\n풀이: l11=3l_{11}=3l11​=3, l21=3/3=1l_{21}=3/3=1l21​=3/3=1, l22=5−1=2l_{22}=\\sqrt{5-1}=2l22​=5−1​=2. L=[3012]L=\\begin{bmatrix}3\u0026amp;0\\\\1\u0026amp;2\\end{bmatrix}L=[31​02​].\n문제 7. A∈R5×3A\\in\\mathbb R^{5\\times3}A∈R5×3, rk(A)=2\\text{rk}(A)=2rk(A)=2이면 SVD에서 U,Σ,VU,\\Sigma,VU,Σ,V의 크기와 0이 아닌 특이값의 수는?\n풀이: UUU: 5×55\\times55×5, Σ\\SigmaΣ: 5×35\\times35×3, VVV: 3×33\\times33×3. 0이 아닌 특이값 2개.\n문제 8. A=[1111]A=\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;1\\end{bmatrix}A=[11​11​]의 SVD와 랭크 1 근사는?\n풀이: A⊤A=[2222]A^\\top A=\\begin{bmatrix}2\u0026amp;2\\\\2\u0026amp;2\\end{bmatrix}A⊤A=[22​22​], 고유값 4, 0. v1=12[1,1]⊤v_1=\\frac1{\\sqrt2}[1,1]^\\topv1​=2​1​[1,1]⊤, σ1=2\\sigma_1=2σ1​=2. u1=Av1/2=12[1,1]⊤u_1=Av_1/2=\\frac1{\\sqrt2}[1,1]^\\topu1​=Av1​/2=2​1​[1,1]⊤. σ2=0\\sigma_2=0σ2​=0. AAA는 이미 랭크 1이라 A^(1)=2u1v1⊤=A\\hat A(1)=2u_1v_1^\\top=AA^(1)=2u1​v1⊤​=A, 오차 0.\n문제 9. 특이값이 10,5,1,0.110,5,1,0.110,5,1,0.1인 행렬의 랭크 2 근사의 스펙트럼 노름 오차는?\n풀이: σ3=1\\sigma_3=1σ3​=1.\n문제 10. 대칭 양의 정부호 행렬의 SVD와 고유분해가 같은 이유는?\n풀이: A=QDQ⊤A=QDQ^\\topA=QDQ⊤에서 DDD의 원소(고유값)가 모두 양수라 특이값의 조건(0 이상, 실수)을 만족하고, QQQ가 직교행렬이라 U=V=QU=V=QU=V=Q, Σ=D\\Sigma=DΣ=D로 놓으면 그대로 SVD다.\n교재 연습문제 안내 (137~138쪽, 답은 sympy로 검산) 번호 무엇을 묻나 답 / 풀이 방향 4.1 라플라스·사루스로 3×33\\times33×3 행렬식 det⁡A=0\\det A=0detA=0 (위 4.1 예제 (3)) 4.2 5×55\\times55×5 행렬식 효율적으로 2열이 [0,−1,1,0,0]⊤[0,-1,1,0,0]^\\top[0,−1,1,0,0]⊤로 0이 세 개라 2열을 따라 라플라스 전개하면 4×44\\times44×4 행렬식 두 개로 줄어든다. 가우스 소거로 삼각화해도 된다. 답 6 4.3 고유공간 (a) [1011]\\begin{bmatrix}1\u0026amp;0\\\\1\u0026amp;1\\end{bmatrix}[11​01​]: λ=1\\lambda=1λ=1(중복 2), E1=span[[0,1]⊤]E_1=\\text{span}[[0,1]^\\top]E1​=span[[0,1]⊤], 결손. (b) [−2221]\\begin{bmatrix}-2\u0026amp;2\\\\2\u0026amp;1\\end{bmatrix}[−22​21​]: λ=2\\lambda=2λ=2: span[[1,2]⊤]\\text{span}[[1,2]^\\top]span[[1,2]⊤], λ=−3\\lambda=-3λ=−3: span[[−2,1]⊤]\\text{span}[[-2,1]^\\top]span[[−2,1]⊤] 4.4 4×44\\times44×4 고유공간 특성다항식 (λ−2)(λ−1)(λ+1)2(\\lambda-2)(\\lambda-1)(\\lambda+1)^2(λ−2)(λ−1)(λ+1)2. E−1=span[[0,1,1,0]⊤]E_{-1}=\\text{span}[[0,1,1,0]^\\top]E−1​=span[[0,1,1,0]⊤](중복 2인데 1차원 → 결손), E1=span[[1,1,1,1]⊤]E_1=\\text{span}[[1,1,1,1]^\\top]E1​=span[[1,1,1,1]⊤], E2=span[[1,0,1,1]⊤]E_2=\\text{span}[[1,0,1,1]^\\top]E2​=span[[1,0,1,1]⊤] 4.5 대각화 가능성과 가역성 III: 둘 다 예. diag(1,0)\\text{diag}(1,0)diag(1,0): 대각화 예, 가역 아니오. [1101]\\begin{bmatrix}1\u0026amp;1\\\\0\u0026amp;1\\end{bmatrix}[10​11​]: 대각화 아니오, 가역 예. [0100]\\begin{bmatrix}0\u0026amp;1\\\\0\u0026amp;0\\end{bmatrix}[00​10​]: 둘 다 아니오 4.6 고유공간과 대각화 (a) λ=5\\lambda=5λ=5: span[[1,1,0]⊤]\\text{span}[[1,1,0]^\\top]span[[1,1,0]⊤], λ=1\\lambda=1λ=1(중복 2): span[[−3,1,0]⊤]\\text{span}[[-3,1,0]^\\top]span[[−3,1,0]⊤] → 결손, 대각화 불가. (b) λ=1\\lambda=1λ=1: span[e1]\\text{span}[e_1]span[e1​], λ=0\\lambda=0λ=0: span[[−1,1,0,0]⊤,e3,e4]\\text{span}[[-1,1,0,0]^\\top,e_3,e_4]span[[−1,1,0,0]⊤,e3​,e4​] → 대각화 가능 4.7 대각화와 대각형·기저 (a) 고유값 2±2i2\\pm2i2±2i (복소수) → 실수 범위에서 대각화 불가. (b) 모두 1인 3×33\\times33×3: 고유값 3,0,03,0,03,0,0, 기저 [1,1,1]⊤,[−1,1,0]⊤,[−1,0,1]⊤[1,1,1]^\\top,[-1,1,0]^\\top,[-1,0,1]^\\top[1,1,1]⊤,[−1,1,0]⊤,[−1,0,1]⊤, D=diag(3,0,0)D=\\text{diag}(3,0,0)D=diag(3,0,0) (대칭이라 당연히 가능). (c) 특성다항식 (λ−4)2(λ−2)(λ−1)(\\lambda-4)^2(\\lambda-2)(\\lambda-1)(λ−4)2(λ−2)(λ−1), λ=4\\lambda=4λ=4의 고유공간이 1차원 → 불가. (d) (λ−2)2(λ−1)(\\lambda-2)^2(\\lambda-1)(λ−2)2(λ−1), λ=2\\lambda=2λ=2의 고유공간 span[[2,1,0]⊤,[2,0,1]⊤]\\text{span}[[2,1,0]^\\top,[2,0,1]^\\top]span[[2,1,0]⊤,[2,0,1]⊤], λ=1\\lambda=1λ=1: span[[3,−1,3]⊤]\\text{span}[[3,-1,3]^\\top]span[[3,−1,3]⊤] → 가능, D=diag(1,2,2)D=\\text{diag}(1,2,2)D=diag(1,2,2) 4.8 [32223−2]\\begin{bmatrix}3\u0026amp;2\u0026amp;2\\\\2\u0026amp;3\u0026amp;-2\\end{bmatrix}[32​23​2−2​]의 SVD AA⊤=[178817]AA^\\top=\\begin{bmatrix}17\u0026amp;8\\\\8\u0026amp;17\\end{bmatrix}AA⊤=[178​817​], 고유값 25, 9 → σ1=5\\sigma_1=5σ1​=5, σ2=3\\sigma_2=3σ2​=3. u1=12[1,1]⊤u_1=\\frac1{\\sqrt2}[1,1]^\\topu1​=2​1​[1,1]⊤, u2=12[1,−1]⊤u_2=\\frac1{\\sqrt2}[1,-1]^\\topu2​=2​1​[1,−1]⊤. vi=A⊤ui/σiv_i=A^\\top u_i/\\sigma_ivi​=A⊤ui​/σi​: v1=12[1,1,0]⊤v_1=\\frac1{\\sqrt2}[1,1,0]^\\topv1​=2​1​[1,1,0]⊤, v2=132[1,−1,4]⊤v_2=\\frac1{3\\sqrt2}[1,-1,4]^\\topv2​=32​1​[1,−1,4]⊤, v3=13[2,−2,−1]⊤v_3=\\frac13[2,-2,-1]^\\topv3​=31​[2,−2,−1]⊤ (v1,v2v_1,v_2v1​,v2​와 직교하는 단위벡터). 여기서는 m\u0026lt;nm\u0026lt;nm\u0026lt;n이라 AA⊤AA^\\topAA⊤(2×22\\times22×2)부터 푸는 것이 쉽다 4.9 [22−11]\\begin{bmatrix}2\u0026amp;2\\\\-1\u0026amp;1\\end{bmatrix}[2−1​21​]의 SVD A⊤A=[5335]A^\\top A=\\begin{bmatrix}5\u0026amp;3\\\\3\u0026amp;5\\end{bmatrix}A⊤A=[53​35​], 고유값 8, 2. v1=12[1,1]⊤v_1=\\frac1{\\sqrt2}[1,1]^\\topv1​=2​1​[1,1]⊤, v2=12[−1,1]⊤v_2=\\frac1{\\sqrt2}[-1,1]^\\topv2​=2​1​[−1,1]⊤, σ1=22\\sigma_1=2\\sqrt2σ1​=22​, σ2=2\\sigma_2=\\sqrt2σ2​=2​. u1=Av1/σ1=[1,0]⊤u_1=Av_1/\\sigma_1=[1,0]^\\topu1​=Av1​/σ1​=[1,0]⊤, u2=Av2/σ2=[0,1]⊤u_2=Av_2/\\sigma_2=[0,1]^\\topu2​=Av2​/σ2​=[0,1]⊤. 즉 U=IU=IU=I 4.10 4.8 행렬의 랭크 1 근사 A^(1)=5u1v1⊤=52[110110]\\hat A(1)=5u_1v_1^\\top=\\frac52\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\1\u0026amp;1\u0026amp;0\\end{bmatrix}A^(1)=5u1​v1⊤​=25​[11​11​00​] 4.11 A⊤AA^\\top AA⊤A와 AA⊤AA^\\topAA⊤의 0 아닌 고유값이 같음 위 핵심 유도 6 4.12 max⁡∥Ax∥/∥x∥=σ1\\max\\|Ax\\|/\\|x\\|=\\sigma_1max∥Ax∥/∥x∥=σ1​ 위 핵심 유도 7 시험 직전 10분 요약 행렬식\n2×22\\times22×2: ad−bcad-bcad−bc. 3×33\\times33×3: 사루스. 일반: 라플라스 전개(체스판 부호) 또는 소거 후 대각 곱. det⁡(AB)=det⁡Adet⁡B\\det(AB)=\\det A\\det Bdet(AB)=detAdetB, det⁡A⊤=det⁡A\\det A^\\top=\\det AdetA⊤=detA, det⁡A−1=1/det⁡A\\det A^{-1}=1/\\det AdetA−1=1/detA, det⁡(λA)=λndet⁡A\\det(\\lambda A)=\\lambda^n\\det Adet(λA)=λndetA. 행 교환 → 부호 반대, 행 배수 더하기 → 불변, 행에 λ\\lambdaλ 곱 → λ\\lambdaλ배. det⁡A≠0 ⟺ \\det A\\ne0\\iffdetA=0⟺ 가역 ⟺ rk=n\\iff\\text{rk}=n⟺rk=n. det⁡A=∏λi\\det A=\\prod\\lambda_idetA=∏λi​. 대각합: tr(AB)=tr(BA)\\text{tr}(AB)=\\text{tr}(BA)tr(AB)=tr(BA), 순환 불변, tr(xy⊤)=y⊤x\\text{tr}(xy^\\top)=y^\\top xtr(xy⊤)=y⊤x, trA=∑λi\\text{tr}A=\\sum\\lambda_itrA=∑λi​.\n고유값: det⁡(A−λI)=0\\det(A-\\lambda I)=0det(A−λI)=0. 2×22\\times22×2: λ2−trA λ+det⁡A=0\\lambda^2-\\text{tr}A\\,\\lambda+\\det A=0λ2−trAλ+detA=0. 고유벡터 = ker⁡(A−λI)\\ker(A-\\lambda I)ker(A−λI). 기하적 ≤ 대수적 중복도. 다른 고유값의 고유벡터는 독립.\n스펙트럼 정리: 대칭 → 실수 고유값, 정규직교 고유벡터, A=QDQ⊤A=QDQ^\\topA=QDQ⊤. A⊤AA^\\top AA⊤A는 대칭 PSD.\n숄레스키: SPD A=LL⊤A=LL^\\topA=LL⊤, LLL 하삼각, 대각 양수, 유일. l11=a11l_{11}=\\sqrt{a_{11}}l11​=a11​​, l21=a21/l11l_{21}=a_{21}/l_{11}l21​=a21​/l11​, l22=a22−l212l_{22}=\\sqrt{a_{22}-l_{21}^2}l22​=a22​−l212​​.\n대각화: A=PDP−1A=PDP^{-1}A=PDP−1 ⇔ 독립 고유벡터 nnn개. Ak=PDkP−1A^k=PD^kP^{-1}Ak=PDkP−1. 대각화 ≠ 가역.\nSVD: 모든 A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤. VVV: A⊤AA^\\top AA⊤A의 고유벡터, σi=λi(A⊤A)\\sigma_i=\\sqrt{\\lambda_i(A^\\top A)}σi​=λi​(A⊤A)​, ui=Avi/σiu_i=Av_i/\\sigma_iui​=Avi​/σi​. 0 아닌 특이값 수 = 랭크. 회전 → 늘이기 → 회전.\n근사: A^(k)=∑i≤kσiuivi⊤\\hat A(k)=\\sum_{i\\le k}\\sigma_iu_iv_i^\\topA^(k)=∑i≤k​σi​ui​vi⊤​. ∥A∥2=σ1\\|A\\|_2=\\sigma_1∥A∥2​=σ1​. Eckart–Young: ∥A−A^(k)∥2=σk+1\\|A-\\hat A(k)\\|_2=\\sigma_{k+1}∥A−A^(k)∥2​=σk+1​ (프로베니우스는 ∑i\u0026gt;kσi2\\sqrt{\\sum_{i\u0026gt;k}\\sigma_i^2}∑i\u0026gt;k​σi2​​, 교재 밖).\n","permalink":"https://qofo.github.io/posts/mml-ch04-matrix-decompositions/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 98~138쪽.\u003c/strong\u003e 행렬 하나를 \u0026ldquo;더 단순한 행렬들의 곱\u0026quot;으로 쪼개는 방법들이다. 행렬식과 고유값은 6장(가우시안의 정규화 상수 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003edet\u003c/mi\u003e\u003cmo\u003e⁡\u003c/mo\u003e\u003cmi mathvariant=\"normal\"\u003eΣ\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\det\\Sigma\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mop\"\u003edet\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.1667em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003eΣ\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e, 공분산의 고유벡터)에, 숄레스키 분해는 6장(가우시안 표본 뽑기)에, \u003cstrong\u003e고유분해와 SVD는 10장 PCA의 핵심\u003c/strong\u003e이고, Eckart–Young 정리(저계수 근사)는 10장의 배경이다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr\u003e\n\u003ch2 id=\"0-이-장-지도\"\u003e0. 이 장 지도\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e흐름:\u003c/strong\u003e 정사각행렬을 숫자 하나로 요약하는 행렬식·대각합(4.1) → 방향이 안 바뀌는 특별한 벡터인 고유벡터(4.2) → SPD 행렬의 \u0026ldquo;제곱근\u0026rdquo; 숄레스키(4.3) → 고유벡터로 대각행렬 만들기(4.4) → 모든 행렬에 되는 SVD(4.5) → SVD로 행렬을 근사하기(4.6) → 분해들 사이의 관계(4.7)\u003c/p\u003e","title":"MML 4장 행렬분해: 고유값, 대각화, SVD"},{"content":"결론부터 쓰면 ngrok의 무료 고정 도메인을 채택했다. 개인 도메인을 사지 않고, 공유기를 건드리지 않고, 폰이 어느 망에 붙어 있든 같은 주소로 열리는 방식은 이것뿐이었다.\n2편에서 쓴 Cloudflare Quick Tunnel은 주소가 무작위로 발급되고 재시작할 때마다 바뀐다. 블로그라면 어제 공유한 링크가 오늘도 열려야 한다. 아래 세 가지를 차례로 구현했고 두 번 실패했다.\n시도 1: Cloudflare Named Tunnel — 도메인 소유권의 벽 Quick Tunnel과 달리 Named Tunnel은 고정된 이름을 갖는다. 연결까지는 문제가 없었지만 공개 주소를 붙이는 마지막 단계에서 막혔다.\nCLI 로그인(cloudflared tunnel login)은 폰에서 불편하다. 브라우저 승인이 늦으면 세션이 만료되고, 성공해도 cert.pem이 폰의 다운로드 폴더에 떨어져 proot 안으로 옮겨야 한다. 대시보드에서 터널을 만들고 토큰만 받아 오는 방식이 낫다.\ncloudflared tunnel run --token eyJh... 연결 품질은 좋았다. 사전 점검을 모두 통과하고 인천(icn01) 엣지에 QUIC으로 붙었다.\nINF SUMMARY: Environment is healthy. cloudflared will use \u0026#39;quic\u0026#39; as primary protocol. INF Registered tunnel connection location=icn01 protocol=quic 막힌 지점은 Public Hostname이다. 터널에 공개 주소를 연결하려면 Cloudflare 네임서버로 위임된 본인 소유의 도메인이 있어야 한다. *.duckdns.org나 *.ts.net 같은 무료 서브도메인은 네임서버 권한을 넘겨받을 수 없어 등록 자체가 불가능하다. \u0026ldquo;도메인을 사지 않는다\u0026quot;는 조건과 정면으로 충돌한다.\n정리하지 않은 설정이 남았다. ngrok으로 갈아탄 뒤에도 Cloudflare 대시보드의 터널 설정에는 blog.daringly-marrow-penny.ngrok-free.dev라는 호스트네임이 남아 있었다. 소유하지 않은 ngrok 도메인을 Cloudflare 터널의 목적지로 지정한 셈이라 동작할 수 없는 설정이다. 며칠 뒤 로그를 훑다가 발견했다. 쓰지 않기로 한 서비스는 설정까지 지워야 한다.\n시도 2: DuckDNS + 포트포워딩 — 도메인은 공유기까지만 안내한다 무료 DDNS인 DuckDNS로 서브도메인을 만들어 집 공인 IP에 연결했다. 외부에서 접속하자 폰의 블로그가 아니라 윈도우 IIS 기본 페이지가 응답했다.\n$ curl -I http://\u0026lt;내-서브도메인\u0026gt;.duckdns.org HTTP/1.1 200 OK Server: Microsoft-IIS/10.0 원인은 폰이 아니라 공유기였다. DuckDNS는 집 공인 IP를 정확히 가리키고 있었지만, 그 IP의 80번 포트는 예전에 데스크톱 PC로 포트포워딩되어 있었다. 도메인은 집 현관까지만 안내하고, 그 안에서 어느 방으로 갈지는 공유기가 정한다.\n폰 전용으로 8080 포트를 추가로 열면 접속은 된다. 그래도 조건을 만족하지 못한다.\n공유기 관리자 권한이 필요하다. 폰을 들고 나가면 끝이다. 카페 와이파이나 LTE에서는 열 포트가 없다. HTTPS 인증서를 직접 발급하고 갱신해야 한다. 시도 3: ngrok 무료 고정 도메인 — 채택 ngrok은 무료 계정에도 바뀌지 않는 고정 도메인 하나를 준다. 설정은 토큰 한 줄이다.\n# /root/.config/ngrok/ngrok.yml version: \u0026#34;3\u0026#34; agent: authtoken: \u0026lt;발급받은 토큰\u0026gt; /usr/local/bin/ngrok http 8080 \\ --url https://daringly-marrow-penny.ngrok-free.dev \\ --pooling-enabled \\ --log stdout 세 조건을 모두 만족한다. 도메인 구입 0원, 공유기 설정 0, 망이 바뀌어도 같은 주소다.\n--pooling-enabled가 필요한 이유 재시작을 빠르게 반복하면 이 오류가 난다.\nfailed to start tunnel: The endpoint \u0026#39;https://daringly-marrow-penny.ngrok-free.dev\u0026#39; is already online. ... ERR_NGROK_334 엣지가 이전 세션을 정리하기 전에 새 에이전트가 같은 주소를 요구해서 거절당한 것이다. --pooling-enabled를 붙이면 두 세션이 잠시 공존하며 넘겨받으므로 재시작이 끊기지 않는다. 감시 데몬이 프로세스를 다시 띄우는 구조에서는 사실상 필수 옵션이다.\n무료 플랜의 대가: 브라우저 경고 페이지 ngrok 무료 플랜은 브라우저로 들어온 방문자에게 경고 페이지를 먼저 보여 준다. 같은 주소를 두 방식으로 요청하면 차이가 분명하다.\n$ curl -s -o /dev/null -w \u0026#34;%{http_code} %{size_download}\\n\u0026#34; https://daringly-marrow-penny.ngrok-free.dev/ 200 39813 # 블로그 본문 $ curl -s -A \u0026#34;Mozilla/5.0 (Linux; Android 14) ... Chrome/140.0\u0026#34; ... 200 2902 # \u0026#34;You are about to visit ...\u0026#34; 경고 페이지 (ERR_NGROK_6024) 링크를 받은 사람은 버튼을 한 번 더 눌러야 글을 본다. curl이나 API 호출은 걸리지 않는다. 없애려면 유료 플랜을 쓰거나 도메인을 사서 Cloudflare Named Tunnel로 돌아가야 한다. 지금은 \u0026ldquo;공짜로 고정 주소\u0026quot;의 대가로 받아들이고 있다.\n세 방식 비교 Cloudflare Named Tunnel DuckDNS + 포트포워딩 ngrok 무료 고정 도메인 개인 도메인 필요 불필요 불필요 공유기 설정 불필요 필요 불필요 HTTPS 자동 직접 발급·갱신 자동 집 밖에서 정상 불가 정상 방문자 경험 깨끗함 깨끗함 경고 페이지 1회 난이도 중 (도메인 위임) 중 (공유기 권한) 하 도메인을 이미 갖고 있다면 Cloudflare가 가장 깔끔하다. 아무것도 없이 오늘 고정 주소가 필요하다면 ngrok이다.\n주소 문제는 여기서 끝났다. 남은 과제는 사람이 손대지 않아도 이 프로세스들이 계속 살아 있게 만드는 것이다. 다음 편에서 부팅 자동 실행과 감시 데몬을 구성한다.\n→ 5편. Termux:Boot와 감시 데몬으로 무인 운영 구성하기\n","permalink":"https://qofo.github.io/posts/fixed-address-without-domain/","summary":"\u003cp\u003e결론부터 쓰면 ngrok의 무료 고정 도메인을 채택했다. 개인 도메인을 사지 않고, 공유기를 건드리지 않고, 폰이 어느 망에 붙어 있든 같은 주소로 열리는 방식은 이것뿐이었다.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/stdlib-python-blog/\"\u003e2편\u003c/a\u003e에서 쓴 Cloudflare Quick Tunnel은 주소가 무작위로 발급되고 재시작할 때마다 바뀐다. 블로그라면 어제 공유한 링크가 오늘도 열려야 한다. 아래 세 가지를 차례로 구현했고 두 번 실패했다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"시도-1-cloudflare-named-tunnel--도메인-소유권의-벽\"\u003e시도 1: Cloudflare Named Tunnel — 도메인 소유권의 벽\u003c/h2\u003e\n\u003cp\u003eQuick Tunnel과 달리 Named Tunnel은 고정된 이름을 갖는다. 연결까지는 문제가 없었지만 공개 주소를 붙이는 마지막 단계에서 막혔다.\u003c/p\u003e","title":"도메인 없이 고정 주소 갖기: Cloudflare, DuckDNS, ngrok 실전 비교"},{"content":" 교재 쪽수: 139~171쪽\n이 장이 뒤쪽 장에서 어디에 다시 쓰이는가: 7장 연속 최적화(Continuous Optimization, 경사하강법 및 뉴턴 방법의 토대), 9장 선형 회귀(Linear Regression, 비용함수 미분 및 정규방정식 ∇θL=0\\nabla_{\\boldsymbol{\\theta}} L = \\mathbf{0}∇θ​L=0 도출), 10장 차원 축소(Dimensionality Reduction/PCA, 라그랑주 승수법을 적용한 분산 극대화 목적식 미분), 11장 밀도 추정(Density Estimation/GMM, EM 알고리즘의 로그우도 매개변수 최적화), 12장 분류(SVM, 초평면 마진 최적화와 KKT 조건 유도). 머신러닝의 \u0026lsquo;학습(learning)\u0026lsquo;은 곧 목적함수를 최적화하는 과정이며, 매개변수 공간에서 어느 방향으로 이동해야 손실(오차)이 가장 빠르게 줄어드는지를 알려주는 유일한 나침반이 바로 이 장의 기울기(gradient)와 야코비안(Jacobian)이다.\n0. 이 장 지도 벡터 미적분은 머신러닝 모델의 파라미터를 데이터에 맞추어 최적화(학습)하기 위한 필수적인 수학적 언어다. 스칼라 함수를 다루던 고등학교 미분에서 출발하여, 다변수 함수(편미분/기울기), 벡터를 벡터로 보내는 함수(야코비안), 나아가 행렬에 대한 미분과 신경망 역전파(자동 미분)로 점진적으로 확장된다.\nflowchart TD S51[\u0026#34;5.1 일변수 함수의 미분\u0026lt;br/\u0026gt;(기초 미분, 테일러 급수)\u0026#34;] --\u0026gt; S52[\u0026#34;5.2 편미분과 기울기\u0026lt;br/\u0026gt;(다변수 스칼라 함수, 연쇄법칙)\u0026#34;] S52 --\u0026gt; S53[\u0026#34;5.3 벡터값 함수의 기울기\u0026lt;br/\u0026gt;(야코비안 행렬, 행렬 연쇄법칙)\u0026#34;] S53 --\u0026gt; S54[\u0026#34;5.4 행렬의 기울기\u0026lt;br/\u0026gt;(텐서 야코비안, 벡터화)\u0026#34;] S54 --\u0026gt; S55[\u0026#34;5.5 유용한 기울기 항등식\u0026lt;br/\u0026gt;(2차형식, 대각합, 행렬식, 역행렬)\u0026#34;] S53 --\u0026gt; S56[\u0026#34;5.6 역전파와 자동 미분\u0026lt;br/\u0026gt;(심층신경망, Forward/Reverse 모드)\u0026#34;] S52 --\u0026gt; S57[\u0026#34;5.7 고계 도함수\u0026lt;br/\u0026gt;(헤시안 행렬, 2계 편미분)\u0026#34;] S57 --\u0026gt; S58[\u0026#34;5.8 선형화와 다변수 테일러 급수\u0026lt;br/\u0026gt;(국소 2차 곡면 근사)\u0026#34;] S55 --\u0026gt; Part2[\u0026#34;Part 2 머신러닝 응용\u0026lt;br/\u0026gt;(9장 선형회귀, 11장 GMM 등)\u0026#34;] S56 --\u0026gt; Part2 절 목록 및 핵심 요약과 중요도 절 번호 및 제목 핵심 한 줄 요약 중요도 근거 5.1 일변수 함수의 미분 (pp. 141~146) 미분의 극한 정의와 다항식 테일러 급수 근사의 기초를 다룬다. ★☆☆ 뒤쪽 장에서 직접 단독으로 쓰이기보다는 다변수 확장의 논리적 징검다리 역할을 한다. 5.2 편미분과 기울기 (pp. 146~149) 다변수 스칼라 함수의 편미분을 모은 기울기 벡터(Gradient)와 연쇄법칙을 정의한다. ★★★ MML의 핵심 관례인 분자 중심 표기법(행벡터 기울기)의 출발점이며 다변수 최적화의 기본이다. 5.3 벡터값 함수의 기울기 (pp. 149~154) 벡터 출력 함수의 도함수인 야코비안 행렬(Jacobian)과 다변수 연쇄법칙의 행렬곱을 다룬다. ★★★ 신경망의 층별 변환, 6장 확률변수의 변수 변환(야코비안 행렬식), 가우스-뉴턴 최적화의 필수 기저다. 5.4 행렬의 기울기 (pp. 155~157) 행렬을 벡터로 미분할 때 나타나는 3차원 텐서 야코비안과 벡터화(vec\\text{vec}vec) 기법을 학습한다. ★★☆ 신경망 가중치 행렬 미분과 공분산 행렬 추정식 전개에 사용된다. 5.5 기울기 계산을 위한 유용한 항등식 (pp. 157~158) 2차 형식, 대각합(trace), 행렬식(determinant), 역행렬의 행렬 미분 공식을 정리한다. ★★★ 9장 선형회귀의 정규방정식 도출, 10장 PCA, 11장 GMM 정규분포 모수 추정에서 수식 전개에 직결된다. 5.6 역전파와 자동 미분 (pp. 159~164) 연쇄법칙의 결합법칙을 이용한 역전파(Reverse-mode autodiff)의 계산 효율성을 증명한다. ★★★ 딥러닝 전체를 관통하는 핵심 알고리즘이다. 스칼라 손실의 기울기 전체를 순전파의 상수배 정도 계산으로 한 번에 구한다. 5.7 고계 도함수 (pp. 164~165) 2계 편도함수를 모은 헤시안 행렬(Hessian Matrix)과 슈와르츠 대칭성 정리를 배운다. ★★☆ 7장 뉴턴 방법 2차 최적화와 국소 극값(극소, 극대, 안장점) 판정에 쓰인다. 5.8 선형화와 다변수 테일러 급수 (pp. 165~170) 다변수 비선형 함수를 기울기와 헤시안을 이용해 국소 1차/2차 다항식으로 근사한다. ★★☆ 최적화 알고리즘의 국소 2차 모델링(수렴성 증명) 및 칼만 필터의 선형화(EKF)의 수학적 기초다. 5.9 추가 읽을거리 (pp. 170~171) 행렬 미분 바이블(The Matrix Cookbook) 및 자동 미분 서베이 논문을 소개한다. ★☆☆ 심화 연구 및 확장 참고용이다. 5.1 일변수 함수의 미분(Differentiation of Univariate Functions, 교재 141~146쪽) 왜 필요한가 (직관) 머신러닝의 궁극적인 목표는 손실 함수(Loss function)의 값을 최소화하는 최적의 매개변수를 찾는 것이다. 만약 우리가 조정할 수 있는 매개변수가 딱 하나(xxx)뿐이라면, \u0026ldquo;현재 위치에서 xxx를 아주 조금 오른쪽으로 움직였을 때 손실이 늘어나는가, 줄어드는가?\u0026ldquo;를 알아야 한다. 이 질문에 답을 주는 수학적 도구가 바로 도함수(derivative)다. 도함수는 곡선 위의 한 점 근처를 직선(접선)으로 단순화하여, 변화의 즉각적인 방향과 속도를 알려준다.\n정의와 성질 1. 미분의 정의 함수 f:R→Rf: \\mathbb{R} \\to \\mathbb{R}f:R→R에 대하여 점 xxx에서의 도함수 f′(x)f\u0026#x27;(x)f′(x) (또는 dfdx\\frac{df}{dx}dxdf​)는 차분상(difference quotient)의 극한으로 정의된다: f′(x)=dfdx=lim⁡h→0f(x+h)−f(x)hf\u0026#x27;(x) = \\frac{df}{dx} = \\lim_{h \\to 0} \\frac{f(x+h) - f(x)}{h}f′(x)=dxdf​=h→0lim​hf(x+h)−f(x)​ hhh: 입력값의 미세한 변화량 f(x+h)−f(x)f(x+h) - f(x)f(x+h)−f(x): 그에 따른 출력값의 변화량 기하학적 의미: 곡선 y=f(x)y = f(x)y=f(x) 위의 점 (x,f(x))(x, f(x))(x,f(x))에서의 접선의 기울기(tangent slope). 2. 5.1.1 테일러 급수(Taylor Series) 복잡한 비선형 함수 f(x)f(x)f(x)를 다루기는 어렵지만, 다항식(polynomial)은 미분하기도 쉽고 계산하기도 매우 편하다. 점 x0x_0x0​ 근처에서 무한 번 미분 가능한 함수 f(x)f(x)f(x)를 다항식으로 근사하는 기법이 테일러 급수다.\nnnn차 테일러 다항식(Taylor polynomial) Tn(x)T_n(x)Tn​(x)는 다음과 같이 정의된다: Tn(x)=∑k=0nf(k)(x0)k!(x−x0)k=f(x0)+f′(x0)(x−x0)+f′′(x0)2!(x−x0)2+⋯+f(n)(x0)n!(x−x0)n\\begin{aligned} T_n(x) \u0026amp;= \\sum_{k=0}^n \\frac{f^{(k)}(x_0)}{k!} (x - x_0)^k \\\\ \u0026amp;= f(x_0) + f\u0026#x27;(x_0)(x - x_0) \\\\ \u0026amp;\\quad + \\frac{f\u0026#x27;\u0026#x27;(x_0)}{2!}(x - x_0)^2 \\\\ \u0026amp;\\quad + \\cdots + \\frac{f^{(n)}(x_0)}{n!}(x - x_0)^n \\end{aligned}Tn​(x)​=k=0∑n​k!f(k)(x0​)​(x−x0​)k=f(x0​)+f′(x0​)(x−x0​)+2!f′′(x0​)​(x−x0​)2+⋯+n!f(n)(x0​)​(x−x0​)n​ x0x_0x0​: 근사의 기준이 되는 중심점(expansion point). x0=0x_0 = 0x0​=0일 때를 특별히 매클로린 급수(Maclaurin series)라고 부른다. f(k)(x0)f^{(k)}(x_0)f(k)(x0​): fff의 kkk계 도함수를 x0x_0x0​에서 평가한 값. k!k!k!: kkk 팩토리얼 (k!=k×(k−1)×⋯×1k! = k \\times (k-1) \\times \\cdots \\times 1k!=k×(k−1)×⋯×1). 테일러 정리(Taylor\u0026rsquo;s Theorem)에 따르면, 원래 함수와 다항식 사이의 오차는 잉여항(remainder) Rn(x)R_n(x)Rn​(x)로 주어지며, f(x)=Tn(x)+Rn(x)f(x) = T_n(x) + R_n(x)f(x)=Tn​(x)+Rn​(x)가 성립한다. 3. 5.1.2 미분 규칙(Differentiation Rules) 기본적인 미분 규칙은 다변수 미분에서도 성분별 계산에 그대로 적용된다:\n선형성(Linearity): (αf+βg)′(x)=αf′(x)+βg′(x)(\\alpha f + \\beta g)\u0026#x27;(x) = \\alpha f\u0026#x27;(x) + \\beta g\u0026#x27;(x)(αf+βg)′(x)=αf′(x)+βg′(x) (단, α,β∈R\\alpha, \\beta \\in \\mathbb{R}α,β∈R) 곱의 미분법(Product Rule): (f⋅g)′(x)=f′(x)g(x)+f(x)g′(x)(f \\cdot g)\u0026#x27;(x) = f\u0026#x27;(x)g(x) + f(x)g\u0026#x27;(x)(f⋅g)′(x)=f′(x)g(x)+f(x)g′(x) 몫의 미분법(Quotient Rule): (fg)′(x)=f′(x)g(x)−f(x)g′(x)(g(x))2\\left(\\frac{f}{g}\\right)\u0026#x27;(x) = \\frac{f\u0026#x27;(x)g(x) - f(x)g\u0026#x27;(x)}{(g(x))^2}(gf​)′(x)=(g(x))2f′(x)g(x)−f(x)g′(x)​ (단, g(x)≠0g(x) \\neq 0g(x)=0) 연쇄 법칙(Chain Rule): 합성함수 (g∘f)(x)=g(f(x))(g \\circ f)(x) = g(f(x))(g∘f)(x)=g(f(x))에 대하여, (g∘f)′(x)=g′(f(x))⋅f′(x),즉 dydx=dydu⋅dudx(y=g(u),u=f(x))(g \\circ f)\u0026#x27;(x) = g\u0026#x27;(f(x)) \\cdot f\u0026#x27;(x), \\quad \\text{즉 } \\frac{dy}{dx} = \\frac{dy}{du} \\cdot \\frac{du}{dx} \\quad (y = g(u), u = f(x))(g∘f)′(x)=g′(f(x))⋅f′(x),즉 dxdy​=dudy​⋅dxdu​(y=g(u),u=f(x)) 손으로 풀어 보는 예제 [예제 1-1] 곱의 미분법과 연쇄법칙 함수 f(x)=x3e−2xf(x) = x^3 e^{-2x}f(x)=x3e−2x의 도함수를 구하고, x=1x = 1x=1에서의 값을 계산하라.\n1단계 (함수 분해): u(x)=x3u(x) = x^3u(x)=x3, v(x)=e−2xv(x) = e^{-2x}v(x)=e−2x로 둔다. 2단계 (개별 미분): u′(x)=3x2u\u0026#x27;(x) = 3x^2u′(x)=3x2 v(x)=ewv(x) = e^{w}v(x)=ew (단, w=−2xw = -2xw=−2x)이므로 연쇄법칙에 의해 v′(x)=ew⋅dwdx=e−2x⋅(−2)=−2e−2xv\u0026#x27;(x) = e^w \\cdot \\frac{dw}{dx} = e^{-2x} \\cdot (-2) = -2e^{-2x}v′(x)=ew⋅dxdw​=e−2x⋅(−2)=−2e−2x 3단계 (곱의 미분법 결합): f′(x)=u′(x)v(x)+u(x)v′(x)=(3x2)(e−2x)+(x3)(−2e−2x)=(3x2−2x3)e−2x=x2(3−2x)e−2xf\u0026#x27;(x) = u\u0026#x27;(x)v(x) + u(x)v\u0026#x27;(x) = (3x^2)(e^{-2x}) + (x^3)(-2e^{-2x}) = (3x^2 - 2x^3)e^{-2x} = x^2(3 - 2x)e^{-2x}f′(x)=u′(x)v(x)+u(x)v′(x)=(3x2)(e−2x)+(x3)(−2e−2x)=(3x2−2x3)e−2x=x2(3−2x)e−2x 4단계 (x=1x=1x=1 대입): f′(1)=12(3−2(1))e−2(1)=1⋅1⋅e−2=e−2≈0.1353f\u0026#x27;(1) = 1^2 (3 - 2(1)) e^{-2(1)} = 1 \\cdot 1 \\cdot e^{-2} = e^{-2} \\approx 0.1353f′(1)=12(3−2(1))e−2(1)=1⋅1⋅e−2=e−2≈0.1353 [예제 1-2] 로지스틱 시그모이드(Logistic Sigmoid)의 도함수 딥러닝의 대표적 활성화 함수인 로지스틱 시그모이드 σ(x)=11+e−x\\sigma(x) = \\frac{1}{1 + e^{-x}}σ(x)=1+e−x1​의 도함수가 σ(x)(1−σ(x))\\sigma(x)(1 - \\sigma(x))σ(x)(1−σ(x))임을 증명하라.\n1단계 (음의 지수꼴 표현): σ(x)=(1+e−x)−1\\sigma(x) = (1 + e^{-x})^{-1}σ(x)=(1+e−x)−1 2단계 (연쇄법칙 적용): 겉함수는 u−1u^{-1}u−1, 속함수는 u=1+e−xu = 1 + e^{-x}u=1+e−x이다. σ′(x)=−1⋅(1+e−x)−2⋅ddx(1+e−x)\\sigma\u0026#x27;(x) = -1 \\cdot (1 + e^{-x})^{-2} \\cdot \\frac{d}{dx}(1 + e^{-x})σ′(x)=−1⋅(1+e−x)−2⋅dxd​(1+e−x) 3단계 (속함수 미분): ddx(1+e−x)=0+e−x(−1)=−e−x\\frac{d}{dx}(1 + e^{-x}) = 0 + e^{-x}(-1) = -e^{-x}dxd​(1+e−x)=0+e−x(−1)=−e−x 4단계 (정리): σ′(x)=−(1+e−x)−2(−e−x)=e−x(1+e−x)2\\sigma\u0026#x27;(x) = -(1 + e^{-x})^{-2} (-e^{-x}) = \\frac{e^{-x}}{(1 + e^{-x})^2}σ′(x)=−(1+e−x)−2(−e−x)=(1+e−x)2e−x​ 5단계 (형태 변형): e−x(1+e−x)2=11+e−x⋅e−x1+e−x=11+e−x⋅(1+e−x)−11+e−x=σ(x)(1−11+e−x)=σ(x)(1−σ(x))\\frac{e^{-x}}{(1 + e^{-x})^2} = \\frac{1}{1 + e^{-x}} \\cdot \\frac{e^{-x}}{1 + e^{-x}} = \\frac{1}{1 + e^{-x}} \\cdot \\frac{(1 + e^{-x}) - 1}{1 + e^{-x}} = \\sigma(x) \\left(1 - \\frac{1}{1 + e^{-x}}\\right) = \\sigma(x)(1 - \\sigma(x))(1+e−x)2e−x​=1+e−x1​⋅1+e−xe−x​=1+e−x1​⋅1+e−x(1+e−x)−1​=σ(x)(1−1+e−x1​)=σ(x)(1−σ(x)) 이 성질은 뒤쪽 5.6절의 역전파 계산에서 시그모이드 층의 기울기를 구할 때 계산량을 극적으로 줄여준다. [예제 1-3] 테일러 다항식 계산 x0=0x_0 = 0x0​=0에서 f(x)=cos⁡(x)f(x) = \\cos(x)f(x)=cos(x)의 4차 테일러 다항식 T4(x)T_4(x)T4​(x)를 구하고, x=0.5x = 0.5x=0.5에서의 참값과 근사값을 비교하라.\n1단계 (도함수 값 계산): f(0)=cos⁡(0)=1f(0) = \\cos(0) = 1f(0)=cos(0)=1 f′(0)=−sin⁡(0)=0f\u0026#x27;(0) = -\\sin(0) = 0f′(0)=−sin(0)=0 f′′(0)=−cos⁡(0)=−1f\u0026#x27;\u0026#x27;(0) = -\\cos(0) = -1f′′(0)=−cos(0)=−1 f′′′(0)=sin⁡(0)=0f\u0026#x27;\u0026#x27;\u0026#x27;(0) = \\sin(0) = 0f′′′(0)=sin(0)=0 f(4)(0)=cos⁡(0)=1f^{(4)}(0) = \\cos(0) = 1f(4)(0)=cos(0)=1 2단계 (테일러 다항식 조립): T4(x)=1+0⋅x+−12!x2+0⋅x3+14!x4=1−12x2+124x4T_4(x) = 1 + 0 \\cdot x + \\frac{-1}{2!} x^2 + 0 \\cdot x^3 + \\frac{1}{4!} x^4 = 1 - \\frac{1}{2} x^2 + \\frac{1}{24} x^4T4​(x)=1+0⋅x+2!−1​x2+0⋅x3+4!1​x4=1−21​x2+241​x4 3단계 (x=0.5x = 0.5x=0.5 계산): T4(0.5)=1−0.5×0.25+124×0.0625=1−0.125+0.00260417=0.87760417T_4(0.5) = 1 - 0.5 \\times 0.25 + \\frac{1}{24} \\times 0.0625 = 1 - 0.125 + 0.00260417 = 0.87760417T4​(0.5)=1−0.5×0.25+241​×0.0625=1−0.125+0.00260417=0.87760417 실제 cos⁡(0.5)\\cos(0.5)cos(0.5) 참값은 약 0.877582560.877582560.87758256이다. 오차는 약 0.00002160.00002160.0000216(0.002%0.002\\%0.002%)에 불과하다. 헷갈리는 점 / 자주 하는 실수 연쇄법칙 속함수 누락: f(x)=sin⁡(x3)f(x) = \\sin(x^3)f(x)=sin(x3)을 미분할 때 cos⁡(x3)\\cos(x^3)cos(x3)만 쓰고 속함수 미분인 3x23x^23x2를 곱하는 것을 잊는 실수가 매우 흔하다. 테일러 급수 분모 팩토리얼 누락: 2차 항의 분모는 2!=22! = 22!=2, 3차 항의 분모는 3!=63! = 63!=6, 4차 항의 분모는 4!=244! = 244!=24이다. 팩토리얼을 그냥 차수 수치로 착각하지 않도록 주의한다. 5.2 편미분과 기울기(Partial Differentiation and Gradients, 교재 146~149쪽) 왜 필요한가 (직관) 실제 머신러닝 모델의 파라미터는 1개가 아니라 수천, 수백만 개(벡터 x∈Rn\\boldsymbol{x} \\in \\mathbb{R}^nx∈Rn)다. 예를 들어 산비탈에 서 있을 때, 동서 방향으로 한 걸음 갈 때의 경사와 남북 방향으로 한 걸음 갈 때의 경사는 완전히 다르다. 다변수 함수 f(x1,x2,…,xn)f(x_1, x_2, \\dots, x_n)f(x1​,x2​,…,xn​)에서 다른 모든 변수는 얼어붙은 듯 고정(상수 취급)시키고, 관심 있는 변수 하나(xix_ixi​)만 살짝 움직였을 때의 변화율을 구하는 것이 바로 편미분(partial differentiation)이다. 그리고 이 모든 방향의 편미분을 하나의 벡터로 정돈해 묶은 것이 기울기(gradient, 그레디언트)다.\n정의와 성질 1. 편미분의 정의 nnn개 변수를 가지는 함수 f:Rn→Rf: \\mathbb{R}^n \\to \\mathbb{R}f:Rn→R에 대하여, iii번째 변수 xix_ixi​에 대한 편도함수(partial derivative)는 다음과 같이 정의된다: ∂f∂xi=lim⁡h→0f(x1,…,xi−1,xi+h,xi+1,…,xn)−f(x1,…,xn)h\\frac{\\partial f}{\\partial x_i} = \\lim_{h \\to 0} \\frac{f(x_1, \\dots, x_{i-1}, x_i + h, x_{i+1}, \\dots, x_n) - f(x_1, \\dots, x_n)}{h}∂xi​∂f​=h→0lim​hf(x1​,…,xi−1​,xi​+h,xi+1​,…,xn​)−f(x1​,…,xn​)​ 기호 ∂\\partial∂는 편미분을 나타내며, 읽을 때는 \u0026lsquo;라운드(round)\u0026rsquo; 또는 \u0026lsquo;파셜(partial)\u0026lsquo;이라고 읽는다.\n2. 기울기(Gradient)의 정의와 MML의 표기 관례 편미분들을 가로로 늘어놓아 벡터로 만든 것을 기울기(gradient) 또는 야코비안(Jacobian)이라고 부른다.\n∇xf=grad f=dfdx=[∂f(x)∂x1∂f(x)∂x2⋯∂f(x)∂xn]∈R1×n\\begin{aligned} \\nabla_{\\boldsymbol{x}} f \u0026amp;= \\text{grad}\\, f \\\\ \u0026amp;= \\frac{df}{d\\boldsymbol{x}} \\\\ \u0026amp;= \\begin{bmatrix} \\frac{\\partial f(\\boldsymbol{x})}{\\partial x_1} \u0026amp; \\frac{\\partial f(\\boldsymbol{x})}{\\partial x_2} \u0026amp; \\cdots \u0026amp; \\frac{\\partial f(\\boldsymbol{x})}{\\partial x_n} \\end{bmatrix} \\\\ \u0026amp;\\quad \\in \\mathbb{R}^{1 \\times n} \\end{aligned}∇x​f​=gradf=dxdf​=[∂x1​∂f(x)​​∂x2​∂f(x)​​⋯​∂xn​∂f(x)​​]∈R1×n​ [매우 중요! MML 교재의 핵심 관례: 분자 중심 표기법(Numerator Layout)] 교재 MML에서는 입력 벡터가 x=[x1,…,xn]⊤∈Rn×1\\boldsymbol{x} = [x_1, \\dots, x_n]^\\top \\in \\mathbb{R}^{n \\times 1}x=[x1​,…,xn​]⊤∈Rn×1 (열벡터)일 때, 스칼라 함수 fff의 기울기 dfdx\\frac{df}{d\\boldsymbol{x}}dxdf​를 반드시 1×n1 \\times n1×n 행벡터(row vector)로 정의한다!\n왜 행벡터로 정의하는가? (교재의 두 가지 이유)\n일관된 일반화: 이후 5.3절에서 배울 벡터값 함수 f:Rn→Rm\\boldsymbol{f}: \\mathbb{R}^n \\to \\mathbb{R}^mf:Rn→Rm의 도함수(야코비안 행렬)는 m×nm \\times nm×n 행렬이 된다. m=1m=1m=1인 특수한 경우가 바로 스칼라 함수이므로, 1×n1 \\times n1×n 행벡터가 되는 것이 차원적으로 정확히 일관된다. 연쇄법칙의 깔끔함: 기울기를 행벡터로 정의해야만 다변수 연쇄법칙을 쓸 때 전치(⊤^\\top⊤) 기호를 덕지덕지 붙이지 않고 단순 행렬곱 dzdx=dzdydydx\\frac{dz}{d\\boldsymbol{x}} = \\frac{dz}{d\\boldsymbol{y}} \\frac{d\\boldsymbol{y}}{d\\boldsymbol{x}}dxdz​=dydz​dxdy​ (1×n=(1×m)×(m×n)1 \\times n = (1 \\times m) \\times (m \\times n)1×n=(1×m)×(m×n))으로 직관적으로 쓸 수 있다. (주의: 딥러닝 관례와의 차이) 딥러닝 실무나 일부 교재(예: Goodfellow의 Deep Learning)에서는 분모 중심 표기법(Denominator Layout)을 사용하여 기울기를 x\\boldsymbol{x}x와 같은 형태인 n×1n \\times 1n×1 열벡터로 표기하기도 한다. 시험 답안을 작성할 때는 MML의 정의에 따라 기본적으로 행벡터(1×n1 \\times n1×n)로 서술하되, 필요 시 \u0026ldquo;분모 중심 표기법에서는 이를 전치한 열벡터 ∇f∈Rn×1\\nabla f \\in \\mathbb{R}^{n \\times 1}∇f∈Rn×1로 표현한다\u0026quot;고 덧붙여 주는 것이 안전하다.\n3. 5.2.1 편미분의 기본 규칙 합의 규칙: ∂∂x(f(x)+g(x))=∂f∂x+∂g∂x\\frac{\\partial}{\\partial \\boldsymbol{x}} (f(\\boldsymbol{x}) + g(\\boldsymbol{x})) = \\frac{\\partial f}{\\partial \\boldsymbol{x}} + \\frac{\\partial g}{\\partial \\boldsymbol{x}}∂x∂​(f(x)+g(x))=∂x∂f​+∂x∂g​ 곱의 규칙: ∂∂x(f(x)g(x))=g(x)∂f∂x+f(x)∂g∂x\\frac{\\partial}{\\partial \\boldsymbol{x}} (f(\\boldsymbol{x}) g(\\boldsymbol{x})) = g(\\boldsymbol{x}) \\frac{\\partial f}{\\partial \\boldsymbol{x}} + f(\\boldsymbol{x}) \\frac{\\partial g}{\\partial \\boldsymbol{x}}∂x∂​(f(x)g(x))=g(x)∂x∂f​+f(x)∂x∂g​ (스칼라 함수들의 곱) 4. 5.2.2 다변수 연쇄 법칙(Chain Rule) 함수 f(x1,x2)f(x_1, x_2)f(x1​,x2​)가 있고, 변수 x1(t)x_1(t)x1​(t)와 x2(t)x_2(t)x2​(t)가 또 다른 단일 변수 ttt의 함수라고 하자. 이때 ttt의 변화가 x1x_1x1​과 x2x_2x2​를 동시에 거쳐 fff에 전달되므로, 전체 변화율은 각 경로의 변화율을 모두 더한 것이 된다: dfdt=∂f∂x1dx1dt+∂f∂x2dx2dt=[∂f∂x1∂f∂x2][dx1dtdx2dt]=dfdxdxdt\\begin{aligned} \\frac{df}{dt} \u0026amp;= \\frac{\\partial f}{\\partial x_1} \\frac{dx_1}{dt} + \\frac{\\partial f}{\\partial x_2} \\frac{dx_2}{dt} \\\\ \u0026amp;= \\begin{bmatrix} \\frac{\\partial f}{\\partial x_1} \u0026amp; \\frac{\\partial f}{\\partial x_2} \\end{bmatrix} \\begin{bmatrix} \\frac{dx_1}{dt} \\\\ \\frac{dx_2}{dt} \\end{bmatrix} = \\frac{df}{d\\boldsymbol{x}} \\frac{d\\boldsymbol{x}}{dt} \\end{aligned}dtdf​​=∂x1​∂f​dtdx1​​+∂x2​∂f​dtdx2​​=[∂x1​∂f​​∂x2​∂f​​][dtdx1​​dtdx2​​​]=dxdf​dtdx​​ 행벡터 기울기와 열벡터 변화율의 행렬곱으로 정확히 표현된다!\n손으로 풀어 보는 예제 [예제 2-1] 편미분과 기울기 벡터 계산 (교재 예제 5.7 변형) 함수 f(x1,x2)=x12x2+x1x23f(x_1, x_2) = x_1^2 x_2 + x_1 x_2^3f(x1​,x2​)=x12​x2​+x1​x23​에 대하여 편도함수들과 기울기 벡터를 구하고, 점 x=[21]\\boldsymbol{x} = \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix}x=[21​]에서의 기울기를 계산하라.\n1단계 (x1x_1x1​ 편미분): x2x_2x2​를 상수 취급한다. ∂f∂x1=∂∂x1(x12)⋅x2+∂∂x1(x1)⋅x23=2x1x2+1⋅x23=2x1x2+x23\\frac{\\partial f}{\\partial x_1} = \\frac{\\partial}{\\partial x_1}(x_1^2) \\cdot x_2 + \\frac{\\partial}{\\partial x_1}(x_1) \\cdot x_2^3 = 2x_1 x_2 + 1 \\cdot x_2^3 = 2x_1 x_2 + x_2^3∂x1​∂f​=∂x1​∂​(x12​)⋅x2​+∂x1​∂​(x1​)⋅x23​=2x1​x2​+1⋅x23​=2x1​x2​+x23​ 2단계 (x2x_2x2​ 편미분): x1x_1x1​을 상수 취급한다. ∂f∂x2=x12⋅∂∂x2(x2)+x1⋅∂∂x2(x23)=x12⋅1+x1⋅(3x22)=x12+3x1x22\\frac{\\partial f}{\\partial x_2} = x_1^2 \\cdot \\frac{\\partial}{\\partial x_2}(x_2) + x_1 \\cdot \\frac{\\partial}{\\partial x_2}(x_2^3) = x_1^2 \\cdot 1 + x_1 \\cdot (3x_2^2) = x_1^2 + 3x_1 x_2^2∂x2​∂f​=x12​⋅∂x2​∂​(x2​)+x1​⋅∂x2​∂​(x23​)=x12​⋅1+x1​⋅(3x22​)=x12​+3x1​x22​ 3단계 (기울기 행벡터 조립): dfdx=[∂f∂x1∂f∂x2]=[2x1x2+x23x12+3x1x22]∈R1×2\\frac{df}{d\\boldsymbol{x}} = \\begin{bmatrix} \\frac{\\partial f}{\\partial x_1} \u0026amp; \\frac{\\partial f}{\\partial x_2} \\end{bmatrix} = \\begin{bmatrix} 2x_1 x_2 + x_2^3 \u0026amp; x_1^2 + 3x_1 x_2^2 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}dxdf​=[∂x1​∂f​​∂x2​∂f​​]=[2x1​x2​+x23​​x12​+3x1​x22​​]∈R1×2 4단계 (점 (2,1)(2, 1)(2,1) 대입): ∂f∂x1(2,1)=2(2)(1)+13=4+1=5\\frac{\\partial f}{\\partial x_1}(2, 1) = 2(2)(1) + 1^3 = 4 + 1 = 5∂x1​∂f​(2,1)=2(2)(1)+13=4+1=5 ∂f∂x2(2,1)=22+3(2)(12)=4+6=10\\frac{\\partial f}{\\partial x_2}(2, 1) = 2^2 + 3(2)(1^2) = 4 + 6 = 10∂x2​∂f​(2,1)=22+3(2)(12)=4+6=10 따라서 ∇xf(2,1)=[510]∈R1×2\\nabla_{\\boldsymbol{x}} f(2, 1) = \\begin{bmatrix} 5 \u0026amp; 10 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}∇x​f(2,1)=[5​10​]∈R1×2 [예제 2-2] 다변수 연쇄법칙 (교재 예제 5.8) f(x1,x2)=x12+2x2f(x_1, x_2) = x_1^2 + 2x_2f(x1​,x2​)=x12​+2x2​이고 x1(t)=sin⁡tx_1(t) = \\sin tx1​(t)=sint, x2(t)=cos⁡tx_2(t) = \\cos tx2​(t)=cost일 때, dfdt\\frac{df}{dt}dtdf​를 연쇄법칙으로 구하고 직접 대입법과 비교하라.\n1단계 (각각의 도함수 계산): ∂f∂x1=2x1=2sin⁡t\\frac{\\partial f}{\\partial x_1} = 2x_1 = 2\\sin t∂x1​∂f​=2x1​=2sint ∂f∂x2=2\\frac{\\partial f}{\\partial x_2} = 2∂x2​∂f​=2 dx1dt=cos⁡t\\frac{dx_1}{dt} = \\cos tdtdx1​​=cost, dx2dt=−sin⁡t\\frac{dx_2}{dt} = -\\sin tdtdx2​​=−sint 2단계 (연쇄법칙 적용): dfdt=∂f∂x1dx1dt+∂f∂x2dx2dt=(2sin⁡t)(cos⁡t)+(2)(−sin⁡t)=2sin⁡tcos⁡t−2sin⁡t=sin⁡(2t)−2sin⁡t\\frac{df}{dt} = \\frac{\\partial f}{\\partial x_1}\\frac{dx_1}{dt} + \\frac{\\partial f}{\\partial x_2}\\frac{dx_2}{dt} = (2\\sin t)(\\cos t) + (2)(-\\sin t) = 2\\sin t \\cos t - 2\\sin t = \\sin(2t) - 2\\sin tdtdf​=∂x1​∂f​dtdx1​​+∂x2​∂f​dtdx2​​=(2sint)(cost)+(2)(−sint)=2sintcost−2sint=sin(2t)−2sint 3단계 (직접 대입법으로 검산): f(t)=(sin⁡t)2+2cos⁡t=sin⁡2t+2cos⁡tf(t) = (\\sin t)^2 + 2\\cos t = \\sin^2 t + 2\\cos tf(t)=(sint)2+2cost=sin2t+2cost. 미분하면: dfdt=2sin⁡tcos⁡t+2(−sin⁡t)=2sin⁡tcos⁡t−2sin⁡t\\frac{df}{dt} = 2\\sin t \\cos t + 2(-\\sin t) = 2\\sin t \\cos t - 2\\sin tdtdf​=2sintcost+2(−sint)=2sintcost−2sint 두 결과가 완전히 일치한다! 헷갈리는 점 / 자주 하는 실수 다른 변수를 상수로 취급하지 못하는 실수: x1x_1x1​으로 미분할 때 x2x_2x2​를 보면서 \u0026lsquo;곱의 미분법을 써야 하나?\u0026rsquo; 망설이는 경우가 있다. x1x_1x1​ 이외의 모든 기호는 숫자 3이나 5처럼 완전한 상수다. 행벡터와 열벡터의 차원 불일치: 교재 관례에 따라 ∇f\\nabla f∇f는 1×n1 \\times n1×n 행벡터다. 이를 경사하강법 갱신식 xk+1=xk−γ∇f⊤\\boldsymbol{x}_{k+1} = \\boldsymbol{x}_k - \\gamma \\nabla f^\\topxk+1​=xk​−γ∇f⊤에 넣을 때는 전치하여 n×1n \\times 1n×1 열벡터로 만들어 주어야 x\\boldsymbol{x}x와 차원이 맞는다. 5.3 벡터값 함수의 기울기(Gradients of Vector-Valued Functions, 교재 149~154쪽) 왜 필요한가 (직관) 입력도 벡터이고 출력도 벡터인 함수 f:Rn→Rm\\boldsymbol{f}: \\mathbb{R}^n \\to \\mathbb{R}^mf:Rn→Rm는 머신러닝의 도처에 존재한다. 신경망의 한 계층(layer)은 입력 벡터 x∈Rn\\boldsymbol{x} \\in \\mathbb{R}^nx∈Rn을 받아 은닉 상태 벡터 h∈Rm\\boldsymbol{h} \\in \\mathbb{R}^mh∈Rm를 출력한다. 이때 nnn개의 입력 변수 각각이 mmm개의 출력 변수 각각에 미치는 모든 편미분 영향력을 빠짐없이 기록하려면 직사각형 형태의 행렬이 필요하다. 이 행렬이 바로 야코비안 행렬(Jacobian Matrix)이다.\n정의와 성질 1. 야코비안 행렬(Jacobian)의 정의 함수 f:Rn→Rm\\boldsymbol{f}: \\mathbb{R}^n \\to \\mathbb{R}^mf:Rn→Rm의 야코비안 행렬 J=dfdx∈Rm×nJ = \\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}} \\in \\mathbb{R}^{m \\times n}J=dxdf​∈Rm×n은 모든 1계 편도함수를 모아 놓은 행렬이다:\nJ=df(x)dx=[∂f1∂x1∂f1∂x2⋯∂f1∂xn∂f2∂x1∂f2∂x2⋯∂f2∂xn⋮⋮⋱⋮∂fm∂x1∂fm∂x2⋯∂fm∂xn]∈Rm×n\\begin{aligned} J \u0026amp;= \\frac{d\\boldsymbol{f}(\\boldsymbol{x})}{d\\boldsymbol{x}} \\\\ \u0026amp;= \\begin{bmatrix} \\frac{\\partial f_1}{\\partial x_1} \u0026amp; \\frac{\\partial f_1}{\\partial x_2} \u0026amp; \\cdots \u0026amp; \\frac{\\partial f_1}{\\partial x_n} \\\\ \\frac{\\partial f_2}{\\partial x_1} \u0026amp; \\frac{\\partial f_2}{\\partial x_2} \u0026amp; \\cdots \u0026amp; \\frac{\\partial f_2}{\\partial x_n} \\\\ \\vdots \u0026amp; \\vdots \u0026amp; \\ddots \u0026amp; \\vdots \\\\ \\frac{\\partial f_m}{\\partial x_1} \u0026amp; \\frac{\\partial f_m}{\\partial x_2} \u0026amp; \\cdots \u0026amp; \\frac{\\partial f_m}{\\partial x_n} \\end{bmatrix} \\in \\mathbb{R}^{m \\times n} \\end{aligned}J​=dxdf(x)​=​∂x1​∂f1​​∂x1​∂f2​​⋮∂x1​∂fm​​​∂x2​∂f1​​∂x2​∂f2​​⋮∂x2​∂fm​​​⋯⋯⋱⋯​∂xn​∂f1​​∂xn​∂f2​​⋮∂xn​∂fm​​​​∈Rm×n​ 행(Row)의 의미: iii번째 행은 출력의 iii번째 성분 fif_ifi​에 대한 기울기 행벡터 ∇xfi∈R1×n\\nabla_{\\boldsymbol{x}} f_i \\in \\mathbb{R}^{1 \\times n}∇x​fi​∈R1×n이다. J=[∇xf1∇xf2⋮∇xfm]J = \\begin{bmatrix} \\nabla_{\\boldsymbol{x}} f_1 \\\\ \\nabla_{\\boldsymbol{x}} f_2 \\\\ \\vdots \\\\ \\nabla_{\\boldsymbol{x}} f_m \\end{bmatrix}J=​∇x​f1​∇x​f2​⋮∇x​fm​​​ 열(Column)의 의미: jjj번째 열은 입력 변수 xjx_jxj​로 전체 함수 벡터 f\\boldsymbol{f}f를 편미분한 열벡터 ∂f∂xj∈Rm×1\\frac{\\partial \\boldsymbol{f}}{\\partial x_j} \\in \\mathbb{R}^{m \\times 1}∂xj​∂f​∈Rm×1이다. 차원 규칙: (출력의 차원 mmm) ×\\times× (입력의 차원 nnn). 2. 다변수 연쇄법칙의 행렬곱 표현 두 벡터값 함수의 합성 x∈Rn→fy∈Rm→gz∈Rk\\boldsymbol{x} \\in \\mathbb{R}^n \\xrightarrow{\\boldsymbol{f}} \\boldsymbol{y} \\in \\mathbb{R}^m \\xrightarrow{\\boldsymbol{g}} \\boldsymbol{z} \\in \\mathbb{R}^kx∈Rnf​y∈Rmg​z∈Rk에 대하여, 최종 출력 z\\boldsymbol{z}z의 입력 x\\boldsymbol{x}x에 대한 야코비안은 각 단계 야코비안의 단순 행렬곱이다:\ndzdx=dgdydfdx∈Rk×n\\frac{d\\boldsymbol{z}}{d\\boldsymbol{x}} = \\frac{d\\boldsymbol{g}}{d\\boldsymbol{y}} \\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}} \\in \\mathbb{R}^{k \\times n}dxdz​=dydg​dxdf​∈Rk×n 차원 확인: dzdx⏟k×n=dgdy⏟k×m×dfdx⏟m×n\\underbrace{\\frac{d\\boldsymbol{z}}{d\\boldsymbol{x}}}_{k \\times n} = \\underbrace{\\frac{d\\boldsymbol{g}}{d\\boldsymbol{y}}}_{k \\times m} \\times \\underbrace{\\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}}}_{m \\times n}k×ndxdz​​​=k×mdydg​​​×m×ndxdf​​​ 가운데 차원 mmm이 자연스럽게 소거되면서 k×nk \\times nk×n이 완성된다. 분자 중심 표기법을 채택했기 때문에 가능한 우아한 결과다. 손으로 풀어 보는 예제 [예제 3-1] 아핀 변환(Affine Transformation)의 야코비안 f(x)=Ax+b\\boldsymbol{f}(\\boldsymbol{x}) = A\\boldsymbol{x} + \\boldsymbol{b}f(x)=Ax+b (단, A∈Rm×n,b∈RmA \\in \\mathbb{R}^{m \\times n}, \\boldsymbol{b} \\in \\mathbb{R}^mA∈Rm×n,b∈Rm)의 야코비안이 AAA임을 성분별로 증명하라.\n1단계 (성분별 표현): 출력 벡터의 iii번째 성분은 fi(x)=∑j=1nAijxj+bif_i(\\boldsymbol{x}) = \\sum_{j=1}^n A_{ij} x_j + b_ifi​(x)=∑j=1n​Aij​xj​+bi​이다. 2단계 (편미분 계산): 이를 입력 변수 xkx_kxk​로 편미분하면: ∂fi∂xk=∂∂xk(Ai1x1+⋯+Aikxk+⋯+Ainxn+bi)=Aik\\begin{aligned} \\frac{\\partial f_i}{\\partial x_k} \u0026amp;= \\frac{\\partial}{\\partial x_k} \\bigl( A_{i1}x_1 + \\dots + A_{ik}x_k \\\\ \u0026amp;\\quad + \\dots + A_{in}x_n + b_i \\bigr) = A_{ik} \\end{aligned}∂xk​∂fi​​​=∂xk​∂​(Ai1​x1​+⋯+Aik​xk​+⋯+Ain​xn​+bi​)=Aik​​ 3단계 (행렬 구성): 야코비안의 (i,k)(i, k)(i,k) 성분이 정확히 행렬 AAA의 (i,k)(i, k)(i,k) 성분 AikA_{ik}Aik​와 같다! 따라서: d(Ax+b)dx=A∈Rm×n\\frac{d(A\\boldsymbol{x} + \\boldsymbol{b})}{d\\boldsymbol{x}} = A \\in \\mathbb{R}^{m \\times n}dxd(Ax+b)​=A∈Rm×n 일변수 함수 ax+bax+bax+b를 미분하면 aaa가 남듯이, 벡터 함수 Ax+bA\\boldsymbol{x}+\\boldsymbol{b}Ax+b를 미분하면 변환 행렬 AAA 자체가 남는다. [예제 3-2] 극좌표 변환과 야코비안 행렬식 2차원 평면에서 극좌표 (r,θ)(r, \\theta)(r,θ)를 직교좌표 (x,y)(x, y)(x,y)로 변환하는 함수 f(r,θ)=[rcos⁡θrsin⁡θ]\\boldsymbol{f}(r, \\theta) = \\begin{bmatrix} r \\cos \\theta \\\\ r \\sin \\theta \\end{bmatrix}f(r,θ)=[rcosθrsinθ​]의 야코비안을 구하고, 그 행렬식(determinant)을 계산하라.\n1단계 (편도함수 계산): f1(r,θ)=rcos⁡θ ⟹ ∂f1∂r=cos⁡θ,∂f1∂θ=−rsin⁡θf_1(r, \\theta) = r\\cos\\theta \\implies \\frac{\\partial f_1}{\\partial r} = \\cos\\theta, \\quad \\frac{\\partial f_1}{\\partial \\theta} = -r\\sin\\thetaf1​(r,θ)=rcosθ⟹∂r∂f1​​=cosθ,∂θ∂f1​​=−rsinθ f2(r,θ)=rsin⁡θ ⟹ ∂f2∂r=sin⁡θ,∂f2∂θ=rcos⁡θf_2(r, \\theta) = r\\sin\\theta \\implies \\frac{\\partial f_2}{\\partial r} = \\sin\\theta, \\quad \\frac{\\partial f_2}{\\partial \\theta} = r\\cos\\thetaf2​(r,θ)=rsinθ⟹∂r∂f2​​=sinθ,∂θ∂f2​​=rcosθ 2단계 (야코비안 조립): J=[∂f1∂r∂f1∂θ∂f2∂r∂f2∂θ]=[cos⁡θ−rsin⁡θsin⁡θrcos⁡θ]∈R2×2J = \\begin{bmatrix} \\frac{\\partial f_1}{\\partial r} \u0026amp; \\frac{\\partial f_1}{\\partial \\theta} \\\\ \\frac{\\partial f_2}{\\partial r} \u0026amp; \\frac{\\partial f_2}{\\partial \\theta} \\end{bmatrix} = \\begin{bmatrix} \\cos\\theta \u0026amp; -r\\sin\\theta \\\\ \\sin\\theta \u0026amp; r\\cos\\theta \\end{bmatrix} \\in \\mathbb{R}^{2 \\times 2}J=[∂r∂f1​​∂r∂f2​​​∂θ∂f1​​∂θ∂f2​​​]=[cosθsinθ​−rsinθrcosθ​]∈R2×2 3단계 (행렬식 계산): det⁡(J)=(cos⁡θ)(rcos⁡θ)−(−rsin⁡θ)(sin⁡θ)=rcos⁡2θ+rsin⁡2θ=r(cos⁡2θ+sin⁡2θ)=r\\det(J) = (\\cos\\theta)(r\\cos\\theta) - (-r\\sin\\theta)(\\sin\\theta) = r\\cos^2\\theta + r\\sin^2\\theta = r(\\cos^2\\theta + \\sin^2\\theta) = rdet(J)=(cosθ)(rcosθ)−(−rsinθ)(sinθ)=rcos2θ+rsin2θ=r(cos2θ+sin2θ)=r 이 det⁡(J)=r\\det(J) = rdet(J)=r은 미적분학에서 2중적분 치환 시 미소 면적 요소가 dxdy=rdrdθdx dy = r dr d\\thetadxdy=rdrdθ가 되는 이유이며, 6장 확률분포의 변수 변환(Change of Variables) 공식에서 핵심적인 역할을 한다. [예제 3-3] 합성함수의 야코비안 연쇄법칙 계산 x=[x1x2]→fy=[x1x2x1+x2]→gz=y12+3y2\\boldsymbol{x} = \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\xrightarrow{\\boldsymbol{f}} \\boldsymbol{y} = \\begin{bmatrix} x_1 x_2 \\\\ x_1 + x_2 \\end{bmatrix} \\xrightarrow{g} z = y_1^2 + 3y_2x=[x1​x2​​]f​y=[x1​x2​x1​+x2​​]g​z=y12​+3y2​ 일 때, 점 x=[12]\\boldsymbol{x} = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix}x=[12​]에서 dzdx\\frac{dz}{d\\boldsymbol{x}}dxdz​를 연쇄법칙으로 구하라.\n1단계 (중간값 계산): x=[12]\\boldsymbol{x} = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix}x=[12​] 대입 ⟹ y1=1×2=2,y2=1+2=3\\implies y_1 = 1 \\times 2 = 2, \\quad y_2 = 1 + 2 = 3⟹y1​=1×2=2,y2​=1+2=3. 2단계 (JfJ_{\\boldsymbol{f}}Jf​ 계산): Jf=[∂(x1x2)∂x1∂(x1x2)∂x2∂(x1+x2)∂x1∂(x1+x2)∂x2]=[x2x111] ⟹ Jf(1,2)=[2111]∈R2×2J_{\\boldsymbol{f}} = \\begin{bmatrix} \\frac{\\partial(x_1 x_2)}{\\partial x_1} \u0026amp; \\frac{\\partial(x_1 x_2)}{\\partial x_2} \\\\ \\frac{\\partial(x_1 + x_2)}{\\partial x_1} \u0026amp; \\frac{\\partial(x_1 + x_2)}{\\partial x_2} \\end{bmatrix} = \\begin{bmatrix} x_2 \u0026amp; x_1 \\\\ 1 \u0026amp; 1 \\end{bmatrix} \\implies J_{\\boldsymbol{f}}(1, 2) = \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 1 \\end{bmatrix} \\in \\mathbb{R}^{2 \\times 2}Jf​=[∂x1​∂(x1​x2​)​∂x1​∂(x1​+x2​)​​∂x2​∂(x1​x2​)​∂x2​∂(x1​+x2​)​​]=[x2​1​x1​1​]⟹Jf​(1,2)=[21​11​]∈R2×2 3단계 (JgJ_gJg​ 계산): zzz는 스칼라이므로 JgJ_gJg​는 1×21 \\times 21×2 행벡터다: Jg=[∂z∂y1∂z∂y2]=[2y13] ⟹ Jg(2,3)=[2(2)3]=[43]∈R1×2J_g = \\begin{bmatrix} \\frac{\\partial z}{\\partial y_1} \u0026amp; \\frac{\\partial z}{\\partial y_2} \\end{bmatrix} = \\begin{bmatrix} 2y_1 \u0026amp; 3 \\end{bmatrix} \\implies J_g(2, 3) = \\begin{bmatrix} 2(2) \u0026amp; 3 \\end{bmatrix} = \\begin{bmatrix} 4 \u0026amp; 3 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}Jg​=[∂y1​∂z​​∂y2​∂z​​]=[2y1​​3​]⟹Jg​(2,3)=[2(2)​3​]=[4​3​]∈R1×2 4단계 (연쇄법칙 행렬곱): dzdx=Jg⋅Jf=[43][2111]=[4(2)+3(1)4(1)+3(1)]=[8+34+3]=[117]∈R1×2\\frac{dz}{d\\boldsymbol{x}} = J_g \\cdot J_{\\boldsymbol{f}} = \\begin{bmatrix} 4 \u0026amp; 3 \\end{bmatrix} \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 1 \\end{bmatrix} = \\begin{bmatrix} 4(2) + 3(1) \u0026amp; 4(1) + 3(1) \\end{bmatrix} = \\begin{bmatrix} 8 + 3 \u0026amp; 4 + 3 \\end{bmatrix} = \\begin{bmatrix} 11 \u0026amp; 7 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}dxdz​=Jg​⋅Jf​=[4​3​][21​11​]=[4(2)+3(1)​4(1)+3(1)​]=[8+3​4+3​]=[11​7​]∈R1×2 5단계 (직접 대입 검산): z=(x1x2)2+3(x1+x2)=x12x22+3x1+3x2z = (x_1 x_2)^2 + 3(x_1 + x_2) = x_1^2 x_2^2 + 3x_1 + 3x_2z=(x1​x2​)2+3(x1​+x2​)=x12​x22​+3x1​+3x2​. ∂z∂x1=2x1x22+3 ⟹ 2(1)(4)+3=11\\frac{\\partial z}{\\partial x_1} = 2x_1 x_2^2 + 3 \\implies 2(1)(4) + 3 = 11∂x1​∂z​=2x1​x22​+3⟹2(1)(4)+3=11. ∂z∂x2=2x12x2+3 ⟹ 2(1)(2)+3=7\\frac{\\partial z}{\\partial x_2} = 2x_1^2 x_2 + 3 \\implies 2(1)(2) + 3 = 7∂x2​∂z​=2x12​x2​+3⟹2(1)(2)+3=7. [117]\\begin{bmatrix} 11 \u0026amp; 7 \\end{bmatrix}[11​7​]로 정확히 일치한다! 헷갈리는 점 / 자주 하는 실수 야코비안의 차원 반대 표기: 야코비안 행렬의 행 수는 \u0026lsquo;출력의 개수(mmm)\u0026rsquo;, 열 수는 \u0026lsquo;입력의 개수(nnn)\u0026lsquo;이다. 이를 n×mn \\times mn×m으로 잘못 쓰면 연쇄법칙 행렬곱의 안쪽 차원이 맞지 않아 계산이 완전히 불가능해진다. 5.4 행렬의 기울기(Gradients of Matrices, 교재 155~157쪽) 왜 필요한가 (직관) 신경망의 가중치 WWW나 다변량 가우시안의 공분산 행렬 Σ\\SigmaΣ는 벡터가 아니라 2차원 격자 구조를 가진 행렬이다. 손실 함수 LLL을 최소화하기 위해서는 \u0026ldquo;행렬의 각 성분 WijW_{ij}Wij​를 어떻게 바꾸어야 하는가?\u0026ldquo;를 계산해야 한다. 나아가 행렬 입력이 벡터 출력을 내거나, 행렬이 행렬로 변환되는 복잡한 함수를 다룰 때의 미분 체계를 이해해야 한다.\n정의와 성질 1. 행렬을 벡터로 미분: 3차원 텐서 야코비안 행렬 A∈Rm×nA \\in \\mathbb{R}^{m \\times n}A∈Rm×n의 각 원소가 벡터 x∈Rp\\boldsymbol{x} \\in \\mathbb{R}^px∈Rp의 함수일 때, dAdx\\frac{dA}{d\\boldsymbol{x}}dxdA​는 3차원 배열(3rd-order tensor)이 된다: dAdx∈Rm×n×p,(dAdx)ijk=∂Aij∂xk\\frac{dA}{d\\boldsymbol{x}} \\in \\mathbb{R}^{m \\times n \\times p}, \\quad \\left(\\frac{dA}{d\\boldsymbol{x}}\\right)_{ijk} = \\frac{\\partial A_{ij}}{\\partial x_k}dxdA​∈Rm×n×p,(dxdA​)ijk​=∂xk​∂Aij​​ 교재 그림 5.7처럼, 각 입력 성분 xkx_kxk​에 대한 편미분 편평면 ∂A∂xk∈Rm×n\\frac{\\partial A}{\\partial x_k} \\in \\mathbb{R}^{m \\times n}∂xk​∂A​∈Rm×n이 ppp장 겹쳐져 있는 직육면체 모양의 텐서로 시각화할 수 있다.\n2. 스칼라를 행렬로 미분 머신러닝에서 가장 흔히 마주치는 상황은 스칼라 손실 f:Rm×n→Rf: \\mathbb{R}^{m \\times n} \\to \\mathbb{R}f:Rm×n→R을 행렬 X∈Rm×nX \\in \\mathbb{R}^{m \\times n}X∈Rm×n로 미분하는 것이다. ∂f∂X∈Rm×n,(∂f∂X)ij=∂f∂Xij\\frac{\\partial f}{\\partial X} \\in \\mathbb{R}^{m \\times n}, \\quad \\left(\\frac{\\partial f}{\\partial X}\\right)_{ij} = \\frac{\\partial f}{\\partial X_{ij}}∂X∂f​∈Rm×n,(∂X∂f​)ij​=∂Xij​∂f​ 즉, 원래 행렬 XXX와 동일한 모양(m×nm \\times nm×n)의 격자 안에 각 성분에 대한 편미분 값을 채워 넣는다.\n3. 벡터화(Vectorization, vec\\text{vec}vec) 기법 텐서 연산은 일반적인 2차원 행렬 대수에 비해 직관적이지 못하다. 이를 해결하는 가장 표준적인 수학적 방법은 m×nm \\times nm×n 행렬 AAA의 열들을 차례로 세로로 길게 이어붙여 mn×1mn \\times 1mn×1 크기의 거대한 열벡터 vec(A)\\text{vec}(A)vec(A)로 만드는 것이다.\n행렬 A=[a11a12a21a22]A = \\begin{bmatrix} a_{11} \u0026amp; a_{12} \\\\ a_{21} \u0026amp; a_{22} \\end{bmatrix}A=[a11​a21​​a12​a22​​] 이면 vec(A)=[a11a21a12a22]∈R4×1\\text{vec}(A) = \\begin{bmatrix} a_{11} \\\\ a_{21} \\\\ a_{12} \\\\ a_{22} \\end{bmatrix} \\in \\mathbb{R}^{4 \\times 1}vec(A)=​a11​a21​a12​a22​​​∈R4×1. 벡터화를 적용하면 모든 행렬 미분 문제를 5.3절의 표준 벡터 야코비안 문제(Rmn→Rkl\\mathbb{R}^{mn} \\to \\mathbb{R}^{kl}Rmn→Rkl)로 환원하여 연쇄법칙을 적용할 수 있다. 손으로 풀어 보는 예제 [예제 4-1] 스칼라 함수에 대한 행렬 미분 성분 계산 A=[1234]A = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ 3 \u0026amp; 4 \\end{bmatrix}A=[13​24​], X=[x11x12x21x22]X = \\begin{bmatrix} x_{11} \u0026amp; x_{12} \\\\ x_{21} \u0026amp; x_{22} \\end{bmatrix}X=[x11​x21​​x12​x22​​]일 때, f(X)=tr(AX)f(X) = \\text{tr}(AX)f(X)=tr(AX)의 도함수 ∂f∂X\\frac{\\partial f}{\\partial X}∂X∂f​를 성분별로 직접 구하라.\n1단계 (행렬곱 AXAXAX 계산): AX=[1234][x11x12x21x22]=[1x11+2x211x12+2x223x11+4x213x12+4x22]AX = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ 3 \u0026amp; 4 \\end{bmatrix} \\begin{bmatrix} x_{11} \u0026amp; x_{12} \\\\ x_{21} \u0026amp; x_{22} \\end{bmatrix} = \\begin{bmatrix} 1x_{11} + 2x_{21} \u0026amp; 1x_{12} + 2x_{22} \\\\ 3x_{11} + 4x_{21} \u0026amp; 3x_{12} + 4x_{22} \\end{bmatrix}AX=[13​24​][x11​x21​​x12​x22​​]=[1x11​+2x21​3x11​+4x21​​1x12​+2x22​3x12​+4x22​​] 2단계 (대각합 tr(AX)\\text{tr}(AX)tr(AX) 계산): 대각 성분들의 합을 구한다: f(X)=tr(AX)=(x11+2x21)+(3x12+4x22)=x11+3x12+2x21+4x22f(X) = \\text{tr}(AX) = (x_{11} + 2x_{21}) + (3x_{12} + 4x_{22}) = x_{11} + 3x_{12} + 2x_{21} + 4x_{22}f(X)=tr(AX)=(x11​+2x21​)+(3x12​+4x22​)=x11​+3x12​+2x21​+4x22​ 3단계 (각 성분별 편미분): ∂f∂x11=1\\frac{\\partial f}{\\partial x_{11}} = 1∂x11​∂f​=1 ∂f∂x12=3\\frac{\\partial f}{\\partial x_{12}} = 3∂x12​∂f​=3 ∂f∂x21=2\\frac{\\partial f}{\\partial x_{21}} = 2∂x21​∂f​=2 ∂f∂x22=4\\frac{\\partial f}{\\partial x_{22}} = 4∂x22​∂f​=4 4단계 (행렬 조립): ∂f∂X=[∂f∂x11∂f∂x12∂f∂x21∂f∂x22]=[1324]\\frac{\\partial f}{\\partial X} = \\begin{bmatrix} \\frac{\\partial f}{\\partial x_{11}} \u0026amp; \\frac{\\partial f}{\\partial x_{12}} \\\\ \\frac{\\partial f}{\\partial x_{21}} \u0026amp; \\frac{\\partial f}{\\partial x_{22}} \\end{bmatrix} = \\begin{bmatrix} 1 \u0026amp; 3 \\\\ 2 \u0026amp; 4 \\end{bmatrix}∂X∂f​=[∂x11​∂f​∂x21​∂f​​∂x12​∂f​∂x22​∂f​​]=[12​34​] 이 결과는 A=[1234]A = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ 3 \u0026amp; 4 \\end{bmatrix}A=[13​24​]의 전치행렬인 A⊤=[1324]A^\\top = \\begin{bmatrix} 1 \u0026amp; 3 \\\\ 2 \u0026amp; 4 \\end{bmatrix}A⊤=[12​34​]와 정확히 같다! 따라서 ∂tr(AX)∂X=A⊤\\frac{\\partial \\text{tr}(AX)}{\\partial X} = A^\\top∂X∂tr(AX)​=A⊤가 성립함을 손계산으로 직접 확인하였다. 헷갈리는 점 / 자주 하는 실수 전치(⊤^\\top⊤)의 출현: tr(AX)\\text{tr}(AX)tr(AX)를 XXX로 미분하면 AAA가 아니라 A⊤A^\\topA⊤가 나온다. 행렬 대각합의 성분 인덱스 결합 구조 때문에 전치가 필연적으로 발생하므로 공식을 암기할 때 전치 부착 여부를 반드시 체크해야 한다. 5.5 기울기 계산을 위한 유용한 항등식(Useful Identities for Computing Gradients, 교재 158쪽) 왜 필요한가 (직관) 복잡한 머신러닝 논문의 수식(예: 선형 회귀의 정규방정식, 가우시안 우도 극대화, 칼만 필터 게인 유도)을 전개할 때 매번 원소 단위(xijx_{ij}xij​)로 풀어서 합기호(∑\\sum∑)를 전개하는 것은 지나치게 비효율적이고 실수하기 쉽다. 선형대수학의 검증된 행렬 미분 항등식(Matrix Calculus Identities)을 활용하면 복잡한 다변수 목적함수의 최적화 해를 단 서너 줄 만에 깔끔하게 유도할 수 있다.\n정의와 성질: 핵심 10대 항등식 및 차원(Shape) 완전 분석 교재 식 (5.99)(5.108)의 항등식(16번, 10번)과, 교재의 일반형(대각합·행렬식 식)을 f(X)=Xf(X)=Xf(X)=X 같은 경우로 특수화한 자주 쓰는 공식(7~9번, 교재 밖 보충)을 차원 규칙과 함께 정리한다:\n번호 항등식 (MML 교재 형태) 조건 및 차원 (Shape 확인) 비고 / 머신러닝 활용처 1 ∂(a⊤x)∂x=a⊤\\frac{\\partial (\\boldsymbol{a}^\\top \\boldsymbol{x})}{\\partial \\boldsymbol{x}} = \\boldsymbol{a}^\\top∂x∂(a⊤x)​=a⊤ a,x∈Rn\\boldsymbol{a}, \\boldsymbol{x} \\in \\mathbb{R}^na,x∈Rn, 결과 R1×n\\mathbb{R}^{1 \\times n}R1×n 선형 모델 예측식 미분 2 ∂(x⊤a)∂x=a⊤\\frac{\\partial (\\boldsymbol{x}^\\top \\boldsymbol{a})}{\\partial \\boldsymbol{x}} = \\boldsymbol{a}^\\top∂x∂(x⊤a)​=a⊤ a,x∈Rn\\boldsymbol{a}, \\boldsymbol{x} \\in \\mathbb{R}^na,x∈Rn, 결과 R1×n\\mathbb{R}^{1 \\times n}R1×n x⊤a=a⊤x\\boldsymbol{x}^\\top \\boldsymbol{a} = \\boldsymbol{a}^\\top \\boldsymbol{x}x⊤a=a⊤x (스칼라 대칭) 3 ∂(x⊤Bx)∂x=x⊤(B+B⊤)\\frac{\\partial (\\boldsymbol{x}^\\top B \\boldsymbol{x})}{\\partial \\boldsymbol{x}} = \\boldsymbol{x}^\\top (B + B^\\top)∂x∂(x⊤Bx)​=x⊤(B+B⊤) x∈Rn,B∈Rn×n\\boldsymbol{x} \\in \\mathbb{R}^n, B \\in \\mathbb{R}^{n \\times n}x∈Rn,B∈Rn×n, 결과 R1×n\\mathbb{R}^{1 \\times n}R1×n 2차 형식 미분. BBB가 대칭이면 2x⊤B2\\boldsymbol{x}^\\top B2x⊤B 4 ∂∂s(x−As)⊤W(x−As)=−2(x−As)⊤WA\\frac{\\partial}{\\partial \\boldsymbol{s}} (\\boldsymbol{x} - A\\boldsymbol{s})^\\top W (\\boldsymbol{x} - A\\boldsymbol{s}) = -2(\\boldsymbol{x} - A\\boldsymbol{s})^\\top W A∂s∂​(x−As)⊤W(x−As)=−2(x−As)⊤WA W=W⊤W = W^\\topW=W⊤, 결과 R1×k\\mathbb{R}^{1 \\times k}R1×k 가중 최소제곱법(WLS) 손실함수 미분 5 ∂(a⊤Xb)∂X=ab⊤\\frac{\\partial (\\boldsymbol{a}^\\top X \\boldsymbol{b})}{\\partial X} = \\boldsymbol{a} \\boldsymbol{b}^\\top∂X∂(a⊤Xb)​=ab⊤ a∈Rm,b∈Rn,X∈Rm×n\\boldsymbol{a} \\in \\mathbb{R}^m, \\boldsymbol{b} \\in \\mathbb{R}^n, X \\in \\mathbb{R}^{m \\times n}a∈Rm,b∈Rn,X∈Rm×n, 결과 Rm×n\\mathbb{R}^{m \\times n}Rm×n 쌍선형 형식(Bilinear form) 미분 6 ∂(a⊤X−1b)∂X=−(X−1)⊤ab⊤(X−1)⊤\\frac{\\partial (\\boldsymbol{a}^\\top X^{-1} \\boldsymbol{b})}{\\partial X} = -(X^{-1})^\\top \\boldsymbol{a} \\boldsymbol{b}^\\top (X^{-1})^\\top∂X∂(a⊤X−1b)​=−(X−1)⊤ab⊤(X−1)⊤ X∈Rm×mX \\in \\mathbb{R}^{m \\times m}X∈Rm×m 가역행렬 마할라노비스 거리 및 가우시안 공분산 미분 7 ∂tr(X)∂X=I\\frac{\\partial \\text{tr}(X)}{\\partial X} = I∂X∂tr(X)​=I X∈Rn×nX \\in \\mathbb{R}^{n \\times n}X∈Rn×n, 결과 Rn×n\\mathbb{R}^{n \\times n}Rn×n 대각합의 기본 미분 8 ∂tr(AXB)∂X=A⊤B⊤\\frac{\\partial \\text{tr}(AXB)}{\\partial X} = A^\\top B^\\top∂X∂tr(AXB)​=A⊤B⊤ 크기 정합하는 행렬들, 결과 XXX와 동일 크기 행렬 샌드위치 대각합 미분 9 ∂det⁡(X)∂X=det⁡(X)(X−1)⊤\\frac{\\partial \\det(X)}{\\partial X} = \\det(X) (X^{-1})^\\top∂X∂det(X)​=det(X)(X−1)⊤ Jacobi 공식. XXX 가역행렬 가우시안 정규화 상수 미분 10 ∂X−1∂t=−X−1∂X∂tX−1\\frac{\\partial X^{-1}}{\\partial t} = -X^{-1} \\frac{\\partial X}{\\partial t} X^{-1}∂t∂X−1​=−X−1∂t∂X​X−1 X(t)X(t)X(t) 가역행렬 경로 역행렬의 도함수 (식 5.102) [차원 정합성 자가 검증 팁] 항등식 4번을 보자:\nx∈RD,s∈RK,A∈RD×K,W∈RD×D\\boldsymbol{x} \\in \\mathbb{R}^D, \\boldsymbol{s} \\in \\mathbb{R}^K, A \\in \\mathbb{R}^{D \\times K}, W \\in \\mathbb{R}^{D \\times D}x∈RD,s∈RK,A∈RD×K,W∈RD×D. 미분 대상 스칼라를 K×1K \\times 1K×1 열벡터 s\\boldsymbol{s}s로 미분하므로 MML 분자 표기법에 의해 결과는 1×K1 \\times K1×K 행벡터가 나와야 한다. 우변의 차원: (x−As)⊤⏟1×D×W⏟D×D×A⏟D×K=1×K\\underbrace{(\\boldsymbol{x} - A\\boldsymbol{s})^\\top}_{1 \\times D} \\times \\underbrace{W}_{D \\times D} \\times \\underbrace{A}_{D \\times K} = 1 \\times K1×D(x−As)⊤​​×D×DW​​×D×KA​​=1×K. 차원이 정확히 일치한다! 시험장에서 수식이 헷갈릴 때는 이처럼 양변의 shape를 맞춰보면 전치 실수를 대부분 잡아낼 수 있다. 손으로 풀어 보는 예제 [예제 5-1] 2차 형식의 기울기 검산 행렬 B=[2135]B = \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 3 \u0026amp; 5 \\end{bmatrix}B=[23​15​] (비대칭 행렬)에 대하여 f(x)=x⊤Bxf(\\boldsymbol{x}) = \\boldsymbol{x}^\\top B \\boldsymbol{x}f(x)=x⊤Bx의 기울기를 항등식과 성분 전개 두 가지 방식으로 각각 구하라.\n방식 1 (항등식 3번 공식 적용): B⊤=[2315]B^\\top = \\begin{bmatrix} 2 \u0026amp; 3 \\\\ 1 \u0026amp; 5 \\end{bmatrix}B⊤=[21​35​]이므로, B+B⊤=[2+21+33+15+5]=[44410]B + B^\\top = \\begin{bmatrix} 2+2 \u0026amp; 1+3 \\\\ 3+1 \u0026amp; 5+5 \\end{bmatrix} = \\begin{bmatrix} 4 \u0026amp; 4 \\\\ 4 \u0026amp; 10 \\end{bmatrix}B+B⊤=[2+23+1​1+35+5​]=[44​410​] 공식 dfdx=x⊤(B+B⊤)\\frac{df}{d\\boldsymbol{x}} = \\boldsymbol{x}^\\top (B + B^\\top)dxdf​=x⊤(B+B⊤)을 적용하면: dfdx=[x1x2][44410]=[4x1+4x24x1+10x2]∈R1×2\\frac{df}{d\\boldsymbol{x}} = \\begin{bmatrix} x_1 \u0026amp; x_2 \\end{bmatrix} \\begin{bmatrix} 4 \u0026amp; 4 \\\\ 4 \u0026amp; 10 \\end{bmatrix} = \\begin{bmatrix} 4x_1 + 4x_2 \u0026amp; 4x_1 + 10x_2 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}dxdf​=[x1​​x2​​][44​410​]=[4x1​+4x2​​4x1​+10x2​​]∈R1×2 방식 2 (성분 전개법): f(x)=[x1x2][2x1+x23x1+5x2]=x1(2x1+x2)+x2(3x1+5x2)=2x12+4x1x2+5x22f(\\boldsymbol{x}) = \\begin{bmatrix} x_1 \u0026amp; x_2 \\end{bmatrix} \\begin{bmatrix} 2x_1 + x_2 \\\\ 3x_1 + 5x_2 \\end{bmatrix} = x_1(2x_1 + x_2) + x_2(3x_1 + 5x_2) = 2x_1^2 + 4x_1 x_2 + 5x_2^2f(x)=[x1​​x2​​][2x1​+x2​3x1​+5x2​​]=x1​(2x1​+x2​)+x2​(3x1​+5x2​)=2x12​+4x1​x2​+5x22​ 각 변수로 편미분: ∂f∂x1=4x1+4x2\\frac{\\partial f}{\\partial x_1} = 4x_1 + 4x_2∂x1​∂f​=4x1​+4x2​ ∂f∂x2=4x1+10x2\\frac{\\partial f}{\\partial x_2} = 4x_1 + 10x_2∂x2​∂f​=4x1​+10x2​ 기울기 행벡터 조립: dfdx=[4x1+4x24x1+10x2]\\frac{df}{d\\boldsymbol{x}} = \\begin{bmatrix} 4x_1 + 4x_2 \u0026amp; 4x_1 + 10x_2 \\end{bmatrix}dxdf​=[4x1​+4x2​​4x1​+10x2​​] 두 방식의 결과가 완전히 일치한다! 헷갈리는 점 / 자주 하는 실수 행렬의 대칭성 확인 소홀: x⊤Bx\\boldsymbol{x}^\\top B \\boldsymbol{x}x⊤Bx를 미분할 때 BBB가 대칭이라는 보장이 없는데 무턱대고 2x⊤B2\\boldsymbol{x}^\\top B2x⊤B라고 쓰면 감점된다. 반드시 x⊤(B+B⊤)\\boldsymbol{x}^\\top (B + B^\\top)x⊤(B+B⊤)로 적거나, \u0026ldquo;BBB가 대칭행렬이므로 B+B⊤=2BB+B^\\top = 2BB+B⊤=2B\u0026ldquo;라는 조건을 명시해야 한다. 5.6 역전파와 자동 미분(Backpropagation and Automatic Differentiation, 교재 159~164쪽) 왜 필요한가 (직관) 신경망 학습의 본질은 수억 개의 가중치 매개변수에 대해 손실 함수 LLL의 기울기를 구하는 것이다.\n수치 미분(Numerical differentiation): f(x+h)−f(x)h\\frac{f(x+h)-f(x)}{h}hf(x+h)−f(x)​로 구하려면 매개변수가 1억 개일 때 네트워크 순전파를 1억 번 실행해야 하므로 실시간 학습이 완전히 불가능하다 (O(D)O(D)O(D) 연산량). 기호 미분(Symbolic differentiation): 연쇄법칙 수식을 수학적으로 전부 전개하면 공통 부분식이 중복 생성되어 수식의 길이가 지수적으로 폭발(Expression swell)한다. 자동 미분(Automatic differentiation)과 역전파(Backpropagation): 계산 그래프 상에서 중간 계산값들을 한 번 메모리에 저장해 두고, 연쇄법칙의 결합법칙(associativity)을 역방향으로 묶음으로써 역방향 패스 한 번(순전파의 상수배 정도 비용)으로 모든 매개변수의 정확한 기울기를 계산해 낸다. 정의와 성질 1. 5.6.1 심층 신경망(Deep Network)에서의 연쇄법칙 KKK개의 층을 가진 인공신경망의 순전파는 다단계 함수 합성이다: y=(fK∘fK−1∘⋯∘f1)(x)\\boldsymbol{y} = (\\boldsymbol{f}_K \\circ \\boldsymbol{f}_{K-1} \\circ \\cdots \\circ \\boldsymbol{f}_1)(\\boldsymbol{x})y=(fK​∘fK−1​∘⋯∘f1​)(x) 각 층의 연산은 선형 변환 후 활성화 함수 σ\\sigmaσ 적용이다: f0:=x,fi:=σi(Ai−1fi−1+bi−1),i=1,…,K\\begin{gathered} \\boldsymbol{f}_0 := \\boldsymbol{x}, \\\\ \\boldsymbol{f}_i := \\sigma_i(A_{i-1}\\boldsymbol{f}_{i-1} + \\boldsymbol{b}_{i-1}), \\\\ i = 1, \\dots, K \\end{gathered}f0​:=x,fi​:=σi​(Ai−1​fi−1​+bi−1​),i=1,…,K​ 제곱 오차 손실 L=∥y−fK∥2L = \\|\\boldsymbol{y} - \\boldsymbol{f}_K\\|^2L=∥y−fK​∥2에 대해 iii번째 층의 매개변수 θi={Ai,bi}\\theta_i = \\{A_i, \\boldsymbol{b}_i\\}θi​={Ai​,bi​}에 대한 편미분은 연쇄법칙에 의해: ∂L∂θi=∂L∂fK∂fK∂fK−1⋯∂fi+2∂fi+1⏟이미 계산된 오차 전달 항∂fi+1∂θi\\frac{\\partial L}{\\partial \\theta_i} = \\underbrace{\\frac{\\partial L}{\\partial \\boldsymbol{f}_K} \\frac{\\partial \\boldsymbol{f}_K}{\\partial \\boldsymbol{f}_{K-1}} \\cdots \\frac{\\partial \\boldsymbol{f}_{i+2}}{\\partial \\boldsymbol{f}_{i+1}}}_{\\text{이미 계산된 오차 전달 항}} \\frac{\\partial \\boldsymbol{f}_{i+1}}{\\partial \\theta_i}∂θi​∂L​=이미 계산된 오차 전달 항∂fK​∂L​∂fK−1​∂fK​​⋯∂fi+1​∂fi+2​​​​∂θi​∂fi+1​​ 중괄호로 묶은 앞부분(출력 쪽에서부터 fi+1\\boldsymbol{f}_{i+1}fi+1​까지의 곱)은 한 층 뒤의 매개변수 θi+1\\theta_{i+1}θi+1​에 대한 기울기를 구할 때 이미 거의 다 계산했다. θi+1\\theta_{i+1}θi+1​의 기울기에는 ∂L∂fK⋯∂fi+3∂fi+2\\frac{\\partial L}{\\partial \\boldsymbol{f}_K}\\cdots\\frac{\\partial \\boldsymbol{f}_{i+3}}{\\partial \\boldsymbol{f}_{i+2}}∂fK​∂L​⋯∂fi+2​∂fi+3​​가 들어 있으므로, 여기에 ∂fi+2∂fi+1\\frac{\\partial \\boldsymbol{f}_{i+2}}{\\partial \\boldsymbol{f}_{i+1}}∂fi+1​∂fi+2​​ 하나만 더 곱하면 중괄호 부분이 된다. 그래서 출력 쪽에서 입력 쪽으로 가면서 이 곱을 저장해 두고 한 번씩만 늘려 가면, 층마다 처음부터 다시 곱할 필요가 없다. 이것이 역전파다.\n2. 5.6.2 자동 미분: Forward Mode vs Reverse Mode의 대조 연쇄법칙 dydx=JKJK−1⋯J2J1\\frac{dy}{dx} = J_K J_{K-1} \\cdots J_2 J_1dxdy​=JK​JK−1​⋯J2​J1​에서 행렬곱은 결합법칙(Associative property)이 성립하므로 괄호를 어디에 묶느냐에 따라 계산 비용이 크게 달라진다.\nflowchart LR subgraph ForwardMode[\u0026#34;순방향 모드 (Forward Mode): 우측 우선 결합\u0026#34;] direction LR FM1[\u0026#34;J1\u0026#34;] --\u0026gt; FM2[\u0026#34;J2 * J1\u0026#34;] --\u0026gt; FM3[\u0026#34;J3 * (J2 * J1)\u0026#34;] end subgraph ReverseMode[\u0026#34;역방향 모드 (Reverse Mode / 역전파): 좌측 우선 결합\u0026#34;] direction RL RM3[\u0026#34;(JK * JK-1) * ...\u0026#34;] \u0026lt;-- RM2[\u0026#34;JK * JK-1\u0026#34;] \u0026lt;-- RM1[\u0026#34;JK\u0026#34;] end 순방향 모드(Forward Mode): dydx=(JK(…(J2(J1))))\\frac{dy}{dx} = \\Big( J_K \\Big( \\dots \\big( J_2 (J_1) \\big) \\Big) \\Big)dxdy​=(JK​(…(J2​(J1​)))) 데이터가 흐르는 방향(입력 →\\to→ 출력)과 동일하게 기울기를 누적한다. 장점: 중간 상태를 메모리에 보관할 필요가 없다. 적합한 경우: 입력의 차원 NNN이 매우 작고 출력의 차원 MMM이 매우 큰 경우 (N≪MN \\ll MN≪M). 역방향 모드(Reverse Mode / Backpropagation): dydx=((((JK)JK−1)…)J1)\\frac{dy}{dx} = \\Big( \\Big( \\big( (J_K) J_{K-1} \\big) \\dots \\Big) J_1 \\Big)dxdy​=((((JK​)JK−1​)…)J1​) 손실값 출력에서 입력 방향으로 거꾸로 기울기를 역전파한다. 적합한 경우: 출력은 스칼라 손실(M=1M=1M=1)이고 파라미터/입력이 수없이 많은 경우 (N≫MN \\gg MN≫M). 압도적인 계산 효율의 비밀: 맨 처음 시작하는 JK=∂L∂fKJ_K = \\frac{\\partial L}{\\partial \\boldsymbol{f}_K}JK​=∂fK​∂L​가 1×D1 \\times D1×D 행벡터다! 따라서 이후의 모든 곱셈은 (행벡터 1×D1 \\times D1×D) ×\\times× (야코비안 행렬 D×DD \\times DD×D) = (행벡터 1×D1 \\times D1×D) 형태의 가벼운 벡터-행렬 곱셈이 된다. 행렬-행렬 곱셈(층마다 O(D3)O(D^3)O(D3)) 대신 벡터-행렬 곱셈(층마다 O(D2)O(D^2)O(D2))만 하면 되어 훨씬 싸다. 손으로 풀어 보는 예제 [예제 6-1] 2층 인공신경망의 손계산 역전파 네트워크 구조: 입력 x=[10.5]∈R2\\boldsymbol{x} = \\begin{bmatrix} 1 \\\\ 0.5 \\end{bmatrix} \\in \\mathbb{R}^2x=[10.5​]∈R2 1층: 가중치 W=[12−11]W = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ -1 \u0026amp; 1 \\end{bmatrix}W=[1−1​21​], 편향 b=[00]\\boldsymbol{b} = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}b=[00​], 활성화 σ(z)=z\\sigma(z) = zσ(z)=z (선형) 2층: 가중치 v=[2−1]∈R2\\boldsymbol{v} = \\begin{bmatrix} 2 \\\\ -1 \\end{bmatrix} \\in \\mathbb{R}^2v=[2−1​]∈R2, 출력 y^=v⊤h\\hat{y} = \\boldsymbol{v}^\\top \\boldsymbol{h}y^​=v⊤h (스칼라) 참값 y=3y = 3y=3, 손실 함수 L=12(y^−y)2L = \\frac{1}{2}(\\hat{y} - y)^2L=21​(y^​−y)2 1단계 (순전파 Forward Pass): 1층 은닉 상태 h=Wx+b=[12−11][10.5]=[1(1)+2(0.5)−1(1)+1(0.5)]=[2−0.5]\\boldsymbol{h} = W\\boldsymbol{x} + \\boldsymbol{b} = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ -1 \u0026amp; 1 \\end{bmatrix} \\begin{bmatrix} 1 \\\\ 0.5 \\end{bmatrix} = \\begin{bmatrix} 1(1) + 2(0.5) \\\\ -1(1) + 1(0.5) \\end{bmatrix} = \\begin{bmatrix} 2 \\\\ -0.5 \\end{bmatrix}h=Wx+b=[1−1​21​][10.5​]=[1(1)+2(0.5)−1(1)+1(0.5)​]=[2−0.5​] 2층 예측값 y^=v⊤h=[2−1][2−0.5]=2(2)+(−1)(−0.5)=4+0.5=4.5\\hat{y} = \\boldsymbol{v}^\\top \\boldsymbol{h} = \\begin{bmatrix} 2 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} 2 \\\\ -0.5 \\end{bmatrix} = 2(2) + (-1)(-0.5) = 4 + 0.5 = 4.5y^​=v⊤h=[2​−1​][2−0.5​]=2(2)+(−1)(−0.5)=4+0.5=4.5 손실값 L=12(4.5−3)2=12(1.5)2=1.125L = \\frac{1}{2}(4.5 - 3)^2 = \\frac{1}{2}(1.5)^2 = 1.125L=21​(4.5−3)2=21​(1.5)2=1.125 2단계 (역전파 Backward Pass): 출력 오차: δy=∂L∂y^=(y^−y)=4.5−3=1.5\\delta_y = \\frac{\\partial L}{\\partial \\hat{y}} = (\\hat{y} - y) = 4.5 - 3 = 1.5δy​=∂y^​∂L​=(y^​−y)=4.5−3=1.5 (스칼라) 2층 가중치 기울기: ∂L∂v=δy⋅h⊤=1.5×[2−0.5]=[3.0−0.75]∈R1×2\\frac{\\partial L}{\\partial \\boldsymbol{v}} = \\delta_y \\cdot \\boldsymbol{h}^\\top = 1.5 \\times \\begin{bmatrix} 2 \u0026amp; -0.5 \\end{bmatrix} = \\begin{bmatrix} 3.0 \u0026amp; -0.75 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}∂v∂L​=δy​⋅h⊤=1.5×[2​−0.5​]=[3.0​−0.75​]∈R1×2 은닉층 오차 역전파: δh=∂L∂h=δy⋅v⊤=1.5×[2−1]=[3.0−1.5]∈R1×2\\delta_{\\boldsymbol{h}} = \\frac{\\partial L}{\\partial \\boldsymbol{h}} = \\delta_y \\cdot \\boldsymbol{v}^\\top = 1.5 \\times \\begin{bmatrix} 2 \u0026amp; -1 \\end{bmatrix} = \\begin{bmatrix} 3.0 \u0026amp; -1.5 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}δh​=∂h∂L​=δy​⋅v⊤=1.5×[2​−1​]=[3.0​−1.5​]∈R1×2 1층 가중치 기울기: ∂L∂W=δh⊤x⊤=[3.0−1.5][10.5]=[3.0(1)3.0(0.5)−1.5(1)−1.5(0.5)]=[3.01.5−1.5−0.75]∈R2×2\\frac{\\partial L}{\\partial W} = \\delta_{\\boldsymbol{h}}^\\top \\boldsymbol{x}^\\top = \\begin{bmatrix} 3.0 \\\\ -1.5 \\end{bmatrix} \\begin{bmatrix} 1 \u0026amp; 0.5 \\end{bmatrix} = \\begin{bmatrix} 3.0(1) \u0026amp; 3.0(0.5) \\\\ -1.5(1) \u0026amp; -1.5(0.5) \\end{bmatrix} = \\begin{bmatrix} 3.0 \u0026amp; 1.5 \\\\ -1.5 \u0026amp; -0.75 \\end{bmatrix} \\in \\mathbb{R}^{2 \\times 2}∂W∂L​=δh⊤​x⊤=[3.0−1.5​][1​0.5​]=[3.0(1)−1.5(1)​3.0(0.5)−1.5(0.5)​]=[3.0−1.5​1.5−0.75​]∈R2×2 단 세 단계의 행렬 연산으로 모든 파라미터(v,W\\boldsymbol{v}, Wv,W)의 기울기가 정확히 유도되었다. 헷갈리는 점 / 자주 하는 실수 순전파 활성화 값의 메모리 보존 필요성: 역전파에서 가중치 기울기를 구할 때 순전파 단계에서 계산되었던 은닉 활성화 값 h\\boldsymbol{h}h가 반드시 곱해진다. 따라서 순전파 시 중간 텐서들을 메모리에 들고 있어야 하며, 이것이 딥러닝 학습 시 GPU 메모리가 많이 소모되는 근본적인 이유다. 5.7 고계 도함수(Higher-Order Derivatives, 교재 164~165쪽) 왜 필요한가 (직관) 1계 도함수인 기울기(gradient)는 \u0026ldquo;어느 방향으로 가야 함숫값이 내려가는가?\u0026ldquo;만 알려줄 뿐, \u0026ldquo;그 골짜기가 완만한가, 가파른가?\u0026ldquo;하는 곡률(Curvature)은 전혀 알려주지 못한다. 만약 곡률을 안다면, 경사가 완만한 곳에서는 큰 보폭으로 성큼성큼 걷고, 곡률이 심해 요동치는 곳에서는 조심스럽게 보폭을 줄일 수 있다(7장 뉴턴 방법). 또한 어떤 지점에서 기울기가 0이 되었을 때, 이곳이 진짜 바닥(극소)인지, 봉우리(극대)인지, 아니면 말안장처럼 한쪽은 올라가고 한쪽은 내려가는 함정(안장점, Saddle point)인지 감별하기 위해 2계 편도함수가 필수적이다.\n정의와 성질 1. 헤시안 행렬(Hessian Matrix)의 정의 2번 미분 가능한 다변수 스칼라 함수 f:Rn→Rf: \\mathbb{R}^n \\to \\mathbb{R}f:Rn→R에 대하여, 모든 2계 편도함수를 모은 n×nn \\times nn×n 정방행렬을 헤시안 행렬(Hessian Matrix)이라고 부른다:\nH=∇x2f=[∂2f∂x12∂2f∂x1∂x2⋯∂2f∂x1∂xn∂2f∂x2∂x1∂2f∂x22⋯∂2f∂x2∂xn⋮⋮⋱⋮∂2f∂xn∂x1∂2f∂xn∂x2⋯∂2f∂xn2]∈Rn×n\\begin{aligned} H \u0026amp;= \\nabla_{\\boldsymbol{x}}^2 f \\\\ \u0026amp;= \\begin{bmatrix} \\frac{\\partial^2 f}{\\partial x_1^2} \u0026amp; \\frac{\\partial^2 f}{\\partial x_1 \\partial x_2} \u0026amp; \\cdots \u0026amp; \\frac{\\partial^2 f}{\\partial x_1 \\partial x_n} \\\\ \\frac{\\partial^2 f}{\\partial x_2 \\partial x_1} \u0026amp; \\frac{\\partial^2 f}{\\partial x_2^2} \u0026amp; \\cdots \u0026amp; \\frac{\\partial^2 f}{\\partial x_2 \\partial x_n} \\\\ \\vdots \u0026amp; \\vdots \u0026amp; \\ddots \u0026amp; \\vdots \\\\ \\frac{\\partial^2 f}{\\partial x_n \\partial x_1} \u0026amp; \\frac{\\partial^2 f}{\\partial x_n \\partial x_2} \u0026amp; \\cdots \u0026amp; \\frac{\\partial^2 f}{\\partial x_n^2} \\end{bmatrix} \\in \\mathbb{R}^{n \\times n} \\end{aligned}H​=∇x2​f=​∂x12​∂2f​∂x2​∂x1​∂2f​⋮∂xn​∂x1​∂2f​​∂x1​∂x2​∂2f​∂x22​∂2f​⋮∂xn​∂x2​∂2f​​⋯⋯⋱⋯​∂x1​∂xn​∂2f​∂x2​∂xn​∂2f​⋮∂xn2​∂2f​​​∈Rn×n​2. 슈와르츠 정리(Schwarz\u0026rsquo;s Theorem / Clairaut\u0026rsquo;s Theorem) 함수 fff가 2계 연속 미분 가능(twice continuously differentiable)하다면, 편미분을 수행하는 순서는 결과에 영향을 주지 않는다: ∂2f∂xi∂xj=∂2f∂xj∂xi\\frac{\\partial^2 f}{\\partial x_i \\partial x_j} = \\frac{\\partial^2 f}{\\partial x_j \\partial x_i}∂xi​∂xj​∂2f​=∂xj​∂xi​∂2f​ 따라서 헤시안 행렬은 항상 대칭행렬(Symmetric Matrix, H=H⊤H = H^\\topH=H⊤)이다!\n3. 2계 충분조건과 임계점 판정법 기울기가 0인 점(∇f(x∗)=0\\nabla f(\\boldsymbol{x}^*) = \\mathbf{0}∇f(x∗)=0, 임계점/정상점)에서 헤시안 H(x∗)H(\\boldsymbol{x}^*)H(x∗)의 고유값(eigenvalue) λi\\lambda_iλi​들의 부호로 극값을 판정한다:\n모든 고유값 λi\u0026gt;0\\lambda_i \u0026gt; 0λi​\u0026gt;0 (HHH가 양의 정부호, Positive Definite): 모든 방향으로 위로 볼록한 골짜기 형태이다 ⟹ \\implies⟹ 엄격한 국소 극소점(Strict Local Minimum). 모든 고유값 λi\u0026lt;0\\lambda_i \u0026lt; 0λi​\u0026lt;0 (HHH가 음의 정부호, Negative Definite): 모든 방향으로 아래로 굽은 봉우리 형태이다 ⟹ \\implies⟹ 엄격한 국소 극대점(Strict Local Maximum). 양의 고유값과 음의 고유값이 공존 (HHH가 부정부호, Indefinite): 어떤 방향으로는 극소지만 다른 방향으로는 극대이다 ⟹ \\implies⟹ 안장점(Saddle Point). 손으로 풀어 보는 예제 [예제 7-1] 임계점 탐색과 헤시안 고유값 판정 함수 f(x1,x2)=x13−3x1+x22f(x_1, x_2) = x_1^3 - 3x_1 + x_2^2f(x1​,x2​)=x13​−3x1​+x22​의 모든 임계점을 찾고, 헤시안 행렬을 통해 극소, 극대, 안장점 여부를 판정하라.\n1단계 (기울기가 0인 임계점 연립방정식): ∂f∂x1=3x12−3=0 ⟹ 3(x12−1)=0 ⟹ x1=1 또는 x1=−1\\frac{\\partial f}{\\partial x_1} = 3x_1^2 - 3 = 0 \\implies 3(x_1^2 - 1) = 0 \\implies x_1 = 1 \\text{ 또는 } x_1 = -1∂x1​∂f​=3x12​−3=0⟹3(x12​−1)=0⟹x1​=1 또는 x1​=−1 ∂f∂x2=2x2=0 ⟹ x2=0\\frac{\\partial f}{\\partial x_2} = 2x_2 = 0 \\implies x_2 = 0∂x2​∂f​=2x2​=0⟹x2​=0 따라서 임계점은 두 개다: P1(1,0)P_1(1, 0)P1​(1,0)과 P2(−1,0)P_2(-1, 0)P2​(−1,0). 2단계 (일반 헤시안 행렬 도출): ∂2f∂x12=6x1\\frac{\\partial^2 f}{\\partial x_1^2} = 6x_1∂x12​∂2f​=6x1​ ∂2f∂x1∂x2=∂2f∂x2∂x1=0\\frac{\\partial^2 f}{\\partial x_1 \\partial x_2} = \\frac{\\partial^2 f}{\\partial x_2 \\partial x_1} = 0∂x1​∂x2​∂2f​=∂x2​∂x1​∂2f​=0 ∂2f∂x22=2\\frac{\\partial^2 f}{\\partial x_2^2} = 2∂x22​∂2f​=2 H(x1,x2)=[6x1002]H(x_1, x_2) = \\begin{bmatrix} 6x_1 \u0026amp; 0 \\\\ 0 \u0026amp; 2 \\end{bmatrix}H(x1​,x2​)=[6x1​0​02​] 3단계 (점 P1(1,0)P_1(1, 0)P1​(1,0) 판정): H(1,0)=[6002]H(1, 0) = \\begin{bmatrix} 6 \u0026amp; 0 \\\\ 0 \u0026amp; 2 \\end{bmatrix}H(1,0)=[60​02​] 대각행렬이므로 고유값은 λ1=6\u0026gt;0,λ2=2\u0026gt;0\\lambda_1 = 6 \u0026gt; 0, \\lambda_2 = 2 \u0026gt; 0λ1​=6\u0026gt;0,λ2​=2\u0026gt;0이다. 양의 정부호이므로 P1(1,0)P_1(1, 0)P1​(1,0)은 엄격한 국소 극소점(Local Minimum)이다. 4단계 (점 P2(−1,0)P_2(-1, 0)P2​(−1,0) 판정): H(−1,0)=[−6002]H(-1, 0) = \\begin{bmatrix} -6 \u0026amp; 0 \\\\ 0 \u0026amp; 2 \\end{bmatrix}H(−1,0)=[−60​02​] 고유값은 λ1=−6\u0026lt;0,λ2=2\u0026gt;0\\lambda_1 = -6 \u0026lt; 0, \\lambda_2 = 2 \u0026gt; 0λ1​=−6\u0026lt;0,λ2​=2\u0026gt;0이다. 부호가 엇갈리므로 P2(−1,0)P_2(-1, 0)P2​(−1,0)은 안장점(Saddle Point)이다! 헷갈리는 점 / 자주 하는 실수 기울기가 0이라고 무조건 극값이라 단정하는 실수: 고차원 공간(딥러닝 손실 표면)에서는 국소 극소점보다 안장점의 빈도가 훨씬 높다. 1계 미분만으로는 안장점을 걸러낼 수 없음을 명심해야 한다. 5.8 선형화와 다변수 테일러 급수(Linearization and Multivariate Taylor Series, 교재 165~170쪽) 왜 필요한가 (직관) 현실의 시스템은 대부분 지독하게 비선형적(non-linear)이다. 하지만 어떤 고정된 작동점 x0\\boldsymbol{x}_0x0​ 근처에서 아주 작은 범위만 관찰한다면, 곡면은 평평한 평면(1차 근사)이나 타원 포물면(2차 근사)처럼 보인다. 복잡한 비선형 목적함수를 국소 2차 곡면으로 모델링하여 최적의 이동 방향과 보폭을 한 번에 계산하는 것이 2차 최적화의 핵심 원리다.\n정의와 성질 1. 선형화(Linearization) 점 x0\\boldsymbol{x}_0x0​ 근처에서 다변수 함수 f(x)f(\\boldsymbol{x})f(x)의 1차 테일러 근사는 다음과 같다: f(x)≈f(x0)+∇xf(x0)(x−x0)f(\\boldsymbol{x}) \\approx f(\\boldsymbol{x}_0) + \\nabla_{\\boldsymbol{x}} f(\\boldsymbol{x}_0) (\\boldsymbol{x} - \\boldsymbol{x}_0)f(x)≈f(x0​)+∇x​f(x0​)(x−x0​) ∇xf(x0)∈R1×D\\nabla_{\\boldsymbol{x}} f(\\boldsymbol{x}_0) \\in \\mathbb{R}^{1 \\times D}∇x​f(x0​)∈R1×D (행벡터) (x−x0)∈RD×1(\\boldsymbol{x} - \\boldsymbol{x}_0) \\in \\mathbb{R}^{D \\times 1}(x−x0​)∈RD×1 (열벡터) 두 벡터의 곱은 스칼라가 되며, 이는 기하학적으로 점 (x0,f(x0))(\\boldsymbol{x}_0, f(\\boldsymbol{x}_0))(x0​,f(x0​))에서의 접평면(tangent plane) 방정식이다. 2. 다변수 2차 테일러 급수(Multivariate 2nd-order Taylor Series) 곡률까지 반영하는 2차 근사는 헤시안 행렬을 포함한다: f(x)≈f(x0)+∇xf(x0)(x−x0)+12(x−x0)⊤H(x0)(x−x0)\\begin{aligned} f(\\boldsymbol{x}) \u0026amp;\\approx f(\\boldsymbol{x}_0) + \\nabla_{\\boldsymbol{x}} f(\\boldsymbol{x}_0) (\\boldsymbol{x} - \\boldsymbol{x}_0) \\\\ \u0026amp;\\quad + \\frac{1}{2} (\\boldsymbol{x} - \\boldsymbol{x}_0)^\\top H(\\boldsymbol{x}_0) (\\boldsymbol{x} - \\boldsymbol{x}_0) \\end{aligned}f(x)​≈f(x0​)+∇x​f(x0​)(x−x0​)+21​(x−x0​)⊤H(x0​)(x−x0​)​ 변위 벡터를 δ:=x−x0\\boldsymbol{\\delta} := \\boldsymbol{x} - \\boldsymbol{x}_0δ:=x−x0​로 두면: f(x0+δ)≈f(x0)+∇f(x0)δ+12δ⊤H(x0)δ\\begin{aligned} f(\\boldsymbol{x}_0 + \\boldsymbol{\\delta}) \u0026amp;\\approx f(\\boldsymbol{x}_0) + \\nabla f(\\boldsymbol{x}_0) \\boldsymbol{\\delta} \\\\ \u0026amp;\\quad + \\frac{1}{2} \\boldsymbol{\\delta}^\\top H(\\boldsymbol{x}_0) \\boldsymbol{\\delta} \\end{aligned}f(x0​+δ)​≈f(x0​)+∇f(x0​)δ+21​δ⊤H(x0​)δ​ 상수 항: f(x0)f(\\boldsymbol{x}_0)f(x0​) (0차) 선형 항: ∇f(x0)δ=∑i=1D∂f∂xiδi\\nabla f(\\boldsymbol{x}_0) \\boldsymbol{\\delta} = \\sum_{i=1}^D \\frac{\\partial f}{\\partial x_i} \\delta_i∇f(x0​)δ=∑i=1D​∂xi​∂f​δi​ (1차) 2차 곡률 항: 12δ⊤Hδ=12∑i=1D∑j=1DHijδiδj\\frac{1}{2} \\boldsymbol{\\delta}^\\top H \\boldsymbol{\\delta} = \\frac{1}{2} \\sum_{i=1}^D \\sum_{j=1}^D H_{ij} \\delta_i \\delta_j21​δ⊤Hδ=21​∑i=1D​∑j=1D​Hij​δi​δj​ (2차 형식) 손으로 풀어 보는 예제 [예제 8-1] 다변수 함수의 테일러 전개 (교재 예제 5.15) 함수 f(x,y)=x2+2xy+y3f(x, y) = x^2 + 2xy + y^3f(x,y)=x2+2xy+y3을 점 (x0,y0)=(1,2)(x_0, y_0) = (1, 2)(x0​,y0​)=(1,2) 근처에서 2차 테일러 다항식으로 전개하라.\n1단계 (중심점에서의 함수값 계산): f(1,2)=12+2(1)(2)+23=1+4+8=13f(1, 2) = 1^2 + 2(1)(2) + 2^3 = 1 + 4 + 8 = 13f(1,2)=12+2(1)(2)+23=1+4+8=13 2단계 (1계 도함수 및 중심점 평가): ∂f∂x=2x+2y ⟹ ∂f∂x(1,2)=2(1)+2(2)=6\\frac{\\partial f}{\\partial x} = 2x + 2y \\implies \\frac{\\partial f}{\\partial x}(1, 2) = 2(1) + 2(2) = 6∂x∂f​=2x+2y⟹∂x∂f​(1,2)=2(1)+2(2)=6 ∂f∂y=2x+3y2 ⟹ ∂f∂y(1,2)=2(1)+3(4)=14\\frac{\\partial f}{\\partial y} = 2x + 3y^2 \\implies \\frac{\\partial f}{\\partial y}(1, 2) = 2(1) + 3(4) = 14∂y∂f​=2x+3y2⟹∂y∂f​(1,2)=2(1)+3(4)=14 기울기 행벡터: ∇f(1,2)=[614]\\nabla f(1, 2) = \\begin{bmatrix} 6 \u0026amp; 14 \\end{bmatrix}∇f(1,2)=[6​14​] 3단계 (2계 도함수 및 헤시안 평가): ∂2f∂x2=2\\frac{\\partial^2 f}{\\partial x^2} = 2∂x2∂2f​=2 ∂2f∂x∂y=2\\frac{\\partial^2 f}{\\partial x \\partial y} = 2∂x∂y∂2f​=2 ∂2f∂y2=6y ⟹ ∂2f∂y2(1,2)=6(2)=12\\frac{\\partial^2 f}{\\partial y^2} = 6y \\implies \\frac{\\partial^2 f}{\\partial y^2}(1, 2) = 6(2) = 12∂y2∂2f​=6y⟹∂y2∂2f​(1,2)=6(2)=12 헤시안 행렬: H(1,2)=[22212]H(1, 2) = \\begin{bmatrix} 2 \u0026amp; 2 \\\\ 2 \u0026amp; 12 \\end{bmatrix}H(1,2)=[22​212​] 4단계 (테일러 다항식 조립): 변위를 δx=x−1,δy=y−2\\delta_x = x - 1, \\delta_y = y - 2δx​=x−1,δy​=y−2라 두면, T2(x,y)=13+[614][x−1y−2]+12[x−1y−2][22212][x−1y−2]T_2(x, y) = 13 + \\begin{bmatrix} 6 \u0026amp; 14 \\end{bmatrix} \\begin{bmatrix} x - 1 \\\\ y - 2 \\end{bmatrix} + \\frac{1}{2} \\begin{bmatrix} x - 1 \u0026amp; y - 2 \\end{bmatrix} \\begin{bmatrix} 2 \u0026amp; 2 \\\\ 2 \u0026amp; 12 \\end{bmatrix} \\begin{bmatrix} x - 1 \\\\ y - 2 \\end{bmatrix}T2​(x,y)=13+[6​14​][x−1y−2​]+21​[x−1​y−2​][22​212​][x−1y−2​] 전개하면: T2(x,y)=13+6(x−1)+14(y−2)+(x−1)2+2(x−1)(y−2)+6(y−2)2T_2(x, y) = 13 + 6(x-1) + 14(y-2) + (x-1)^2 + 2(x-1)(y-2) + 6(y-2)^2T2​(x,y)=13+6(x−1)+14(y−2)+(x−1)2+2(x−1)(y−2)+6(y−2)2 원래 함수가 3차식이므로, 여기에 3차 항 13!∂3f∂y3(y−2)3=(y−2)3\\frac{1}{3!} \\frac{\\partial^3 f}{\\partial y^3}(y-2)^3 = (y-2)^33!1​∂y3∂3f​(y−2)3=(y−2)3만 더해주면 원래 함수와 정확히 동일해진다. 헷갈리는 점 / 자주 하는 실수 2차 항 앞의 12\\frac{1}{2}21​ 계수 누락: 1차 항에는 계수가 없지만 2차 항 앞에는 반드시 테일러 정리의 12!=12\\frac{1}{2!} = \\frac{1}{2}2!1​=21​이 곱해져야 한다. 5.9 추가 읽을거리(Further Reading, 교재 170~171쪽) The Matrix Cookbook (Petersen and Pedersen, 2012): 머신러닝과 통계학에서 쓰이는 모든 행렬 미분 공식, 켤레 전치, 크로네커 곱 항등식이 망라된 사실상의 표준 레퍼런스다. 복잡한 미분 항등식을 확인할 때 필수적이다. Automatic Differentiation in Machine Learning: A Survey (Baydin et al., 2018): 순방향/역방향 모드 자동 미분의 수학적 원리와 PyTorch, JAX의 내부 연산 그래프 구현 메커니즘을 심도 있게 다룬다. 핵심 유도 모음 (백지 유도) [유도 1] 2차 형식 f(x)=x⊤Axf(\\boldsymbol{x}) = \\boldsymbol{x}^\\top A \\boldsymbol{x}f(x)=x⊤Ax의 그래디언트 유도 목표: ∂(x⊤Ax)∂x=x⊤(A+A⊤)\\frac{\\partial (\\boldsymbol{x}^\\top A \\boldsymbol{x})}{\\partial \\boldsymbol{x}} = \\boldsymbol{x}^\\top (A + A^\\top)∂x∂(x⊤Ax)​=x⊤(A+A⊤) 임을 유도한다. 스칼라 합 형태로 전개: x⊤Ax=∑i=1n∑j=1nxiAijxj\\boldsymbol{x}^\\top A \\boldsymbol{x} = \\sum_{i=1}^n \\sum_{j=1}^n x_i A_{ij} x_jx⊤Ax=∑i=1n​∑j=1n​xi​Aij​xj​ (이유: 행렬-벡터 곱의 정의) 임의의 kkk번째 성분 xkx_kxk​로 편미분: 변수 xkx_kxk​는 인덱스 i=ki=ki=k일 때와 j=kj=kj=k일 때 두 번 등장한다: ∂∂xk(∑i=1n∑j=1nxiAijxj)=∂∂xk(xkAkkxk+∑j≠kxkAkjxj+∑i≠kxiAikxk+∑i≠k∑j≠kxiAijxj)\\begin{aligned} \u0026amp;\\frac{\\partial}{\\partial x_k} \\left( \\sum_{i=1}^n \\sum_{j=1}^n x_i A_{ij} x_j \\right) \\\\ \u0026amp;= \\frac{\\partial}{\\partial x_k} \\Bigl( x_k A_{kk} x_k + \\sum_{j \\neq k} x_k A_{kj} x_j \\\\ \u0026amp;\\quad + \\sum_{i \\neq k} x_i A_{ik} x_k + \\sum_{i \\neq k} \\sum_{j \\neq k} x_i A_{ij} x_j \\Bigr) \\end{aligned}​∂xk​∂​(i=1∑n​j=1∑n​xi​Aij​xj​)=∂xk​∂​(xk​Akk​xk​+j=k∑​xk​Akj​xj​+i=k∑​xi​Aik​xk​+i=k∑​j=k∑​xi​Aij​xj​)​ (이유: xkx_kxk​가 포함된 항들을 분리) 각 항을 미분: xk2Akkx_k^2 A_{kk}xk2​Akk​ 미분 ⟹ 2Akkxk\\implies 2 A_{kk} x_k⟹2Akk​xk​ ∑j≠kxkAkjxj\\sum_{j \\neq k} x_k A_{kj} x_j∑j=k​xk​Akj​xj​ 미분 ⟹ ∑j≠kAkjxj\\implies \\sum_{j \\neq k} A_{kj} x_j⟹∑j=k​Akj​xj​ ∑i≠kxiAikxk\\sum_{i \\neq k} x_i A_{ik} x_k∑i=k​xi​Aik​xk​ 미분 ⟹ ∑i≠kxiAik=∑i≠kAikxi\\implies \\sum_{i \\neq k} x_i A_{ik} = \\sum_{i \\neq k} A_{ik} x_i⟹∑i=k​xi​Aik​=∑i=k​Aik​xi​ 나머지 항 미분 ⟹ 0\\implies 0⟹0 항을 합치기: ∂f∂xk=∑j=1nAkjxj+∑i=1nAikxi=∑j=1nAkjxj+∑j=1n(A⊤)kjxj=∑j=1n(A+A⊤)kjxj\\frac{\\partial f}{\\partial x_k} = \\sum_{j=1}^n A_{kj} x_j + \\sum_{i=1}^n A_{ik} x_i = \\sum_{j=1}^n A_{kj} x_j + \\sum_{j=1}^n (A^\\top)_{kj} x_j = \\sum_{j=1}^n (A + A^\\top)_{kj} x_j∂xk​∂f​=∑j=1n​Akj​xj​+∑i=1n​Aik​xi​=∑j=1n​Akj​xj​+∑j=1n​(A⊤)kj​xj​=∑j=1n​(A+A⊤)kj​xj​ (이유: Aik=(A⊤)kiA_{ik} = (A^\\top)_{ki}Aik​=(A⊤)ki​ 이고 인덱스 문자를 jjj로 통일) 행벡터로 결합: dfdx=x⊤(A+A⊤)(증명 완료)\\frac{df}{d\\boldsymbol{x}} = \\boldsymbol{x}^\\top (A + A^\\top) \\quad \\text{(증명 완료)}dxdf​=x⊤(A+A⊤)(증명 완료) (이유: 성분별 결과가 정확히 행벡터 x⊤\\boldsymbol{x}^\\topx⊤와 행렬 A+A⊤A+A^\\topA+A⊤의 곱의 kkk번째 원소임) [유도 2] 선형 회귀 최소제곱 오차 기울기 및 정규방정식(Normal Equation) 유도 목표: L(θ)=∥y−Φθ∥2L(\\boldsymbol{\\theta}) = \\|\\boldsymbol{y} - \\Phi \\boldsymbol{\\theta}\\|^2L(θ)=∥y−Φθ∥2에 대하여 ∇θL=0\\nabla_{\\boldsymbol{\\theta}} L = \\mathbf{0}∇θ​L=0을 풀어 최적해 θ∗=(Φ⊤Φ)−1Φ⊤y\\boldsymbol{\\theta}^* = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\boldsymbol{y}θ∗=(Φ⊤Φ)−1Φ⊤y를 도출한다. 노름 제곱을 행렬 곱으로 전개: L(θ)=(y−Φθ)⊤(y−Φθ)=y⊤y−y⊤Φθ−θ⊤Φ⊤y+θ⊤Φ⊤ΦθL(\\boldsymbol{\\theta}) = (\\boldsymbol{y} - \\Phi \\boldsymbol{\\theta})^\\top (\\boldsymbol{y} - \\Phi \\boldsymbol{\\theta}) = \\boldsymbol{y}^\\top \\boldsymbol{y} - \\boldsymbol{y}^\\top \\Phi \\boldsymbol{\\theta} - \\boldsymbol{\\theta}^\\top \\Phi^\\top \\boldsymbol{y} + \\boldsymbol{\\theta}^\\top \\Phi^\\top \\Phi \\boldsymbol{\\theta}L(θ)=(y−Φθ)⊤(y−Φθ)=y⊤y−y⊤Φθ−θ⊤Φ⊤y+θ⊤Φ⊤Φθ (이유: 벡터의 2-노름 제곱 정의 ∥v∥2=v⊤v\\|\\boldsymbol{v}\\|^2 = \\boldsymbol{v}^\\top \\boldsymbol{v}∥v∥2=v⊤v 및 전치 분배법칙) 스칼라 대칭성을 이용해 정리: y⊤Φθ\\boldsymbol{y}^\\top \\Phi \\boldsymbol{\\theta}y⊤Φθ는 스칼라이므로 자신의 전치와 같다: (y⊤Φθ)⊤=θ⊤Φ⊤y(\\boldsymbol{y}^\\top \\Phi \\boldsymbol{\\theta})^\\top = \\boldsymbol{\\theta}^\\top \\Phi^\\top \\boldsymbol{y}(y⊤Φθ)⊤=θ⊤Φ⊤y. L(θ)=y⊤y−2y⊤Φθ+θ⊤(Φ⊤Φ)θL(\\boldsymbol{\\theta}) = \\boldsymbol{y}^\\top \\boldsymbol{y} - 2 \\boldsymbol{y}^\\top \\Phi \\boldsymbol{\\theta} + \\boldsymbol{\\theta}^\\top (\\Phi^\\top \\Phi) \\boldsymbol{\\theta}L(θ)=y⊤y−2y⊤Φθ+θ⊤(Φ⊤Φ)θ (이유: 동류항 결합) θ\\boldsymbol{\\theta}θ에 대해 미분: ∂∂θ(y⊤y)=0\\frac{\\partial}{\\partial \\boldsymbol{\\theta}} (\\boldsymbol{y}^\\top \\boldsymbol{y}) = \\mathbf{0}∂θ∂​(y⊤y)=0 (이유: θ\\boldsymbol{\\theta}θ와 무관한 상수) ∂∂θ(−2y⊤Φθ)=−2y⊤Φ\\frac{\\partial}{\\partial \\boldsymbol{\\theta}} (-2 \\boldsymbol{y}^\\top \\Phi \\boldsymbol{\\theta}) = -2 \\boldsymbol{y}^\\top \\Phi∂θ∂​(−2y⊤Φθ)=−2y⊤Φ (이유: 5.5절 항등식 1번 ∂(a⊤θ)∂θ=a⊤\\frac{\\partial (\\boldsymbol{a}^\\top \\boldsymbol{\\theta})}{\\partial \\boldsymbol{\\theta}} = \\boldsymbol{a}^\\top∂θ∂(a⊤θ)​=a⊤) ∂∂θ(θ⊤Φ⊤Φθ)=2θ⊤(Φ⊤Φ)\\frac{\\partial}{\\partial \\boldsymbol{\\theta}} (\\boldsymbol{\\theta}^\\top \\Phi^\\top \\Phi \\boldsymbol{\\theta}) = 2 \\boldsymbol{\\theta}^\\top (\\Phi^\\top \\Phi)∂θ∂​(θ⊤Φ⊤Φθ)=2θ⊤(Φ⊤Φ) (이유: B=Φ⊤ΦB = \\Phi^\\top \\PhiB=Φ⊤Φ는 대칭행렬이므로 항등식 3번에 의해 2θ⊤B2\\boldsymbol{\\theta}^\\top B2θ⊤B) dLdθ=−2y⊤Φ+2θ⊤Φ⊤Φ∈R1×D\\frac{dL}{d\\boldsymbol{\\theta}} = -2 \\boldsymbol{y}^\\top \\Phi + 2 \\boldsymbol{\\theta}^\\top \\Phi^\\top \\Phi \\in \\mathbb{R}^{1 \\times D}dθdL​=−2y⊤Φ+2θ⊤Φ⊤Φ∈R1×D 기울기를 0\\mathbf{0}0으로 두고 전치 취하기: −2y⊤Φ+2θ⊤Φ⊤Φ=0 ⟹ θ⊤Φ⊤Φ=y⊤Φ-2 \\boldsymbol{y}^\\top \\Phi + 2 \\boldsymbol{\\theta}^\\top \\Phi^\\top \\Phi = \\mathbf{0} \\implies \\boldsymbol{\\theta}^\\top \\Phi^\\top \\Phi = \\boldsymbol{y}^\\top \\Phi−2y⊤Φ+2θ⊤Φ⊤Φ=0⟹θ⊤Φ⊤Φ=y⊤Φ 양변에 전치(⊤^\\top⊤)를 취하면: Φ⊤Φθ=Φ⊤y(정규방정식 도출)\\Phi^\\top \\Phi \\boldsymbol{\\theta} = \\Phi^\\top \\boldsymbol{y} \\quad \\text{(정규방정식 도출)}Φ⊤Φθ=Φ⊤y(정규방정식 도출) (이유: (AB)⊤=B⊤A⊤(AB)^\\top = B^\\top A^\\top(AB)⊤=B⊤A⊤ 및 (Φ⊤Φ)⊤=Φ⊤Φ(\\Phi^\\top \\Phi)^\\top = \\Phi^\\top \\Phi(Φ⊤Φ)⊤=Φ⊤Φ) 역행렬 곱하여 최적해 도출: θ∗=(Φ⊤Φ)−1Φ⊤y(증명 완료)\\boldsymbol{\\theta}^* = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\boldsymbol{y} \\quad \\text{(증명 완료)}θ∗=(Φ⊤Φ)−1Φ⊤y(증명 완료) (이유: Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ가 가역행렬이라고 가정) [유도 3] 역행렬의 미분 공식 dX−1dt=−X−1dXdtX−1\\frac{d X^{-1}}{dt} = -X^{-1} \\frac{dX}{dt} X^{-1}dtdX−1​=−X−1dtdX​X−1 유도 목표: 가역행렬 X(t)X(t)X(t)에 대하여 역행렬의 도함수를 유도한다. 역행렬의 항등식에서 출발: X(t)X(t)−1=IX(t) X(t)^{-1} = IX(t)X(t)−1=I (이유: 역행렬의 정의) 양변을 ttt에 대해 곱의 미분법 적용: ddt(X(t)X(t)−1)=ddt(I)\\frac{d}{dt} \\left( X(t) X(t)^{-1} \\right) = \\frac{d}{dt} (I)dtd​(X(t)X(t)−1)=dtd​(I) dXdtX−1+XdX−1dt=O\\frac{dX}{dt} X^{-1} + X \\frac{dX^{-1}}{dt} = OdtdX​X−1+XdtdX−1​=O (이유: 행렬곱의 미분법 및 단위행렬 III의 도함수는 영행렬 OOO) 구하고자 하는 dX−1dt\\frac{dX^{-1}}{dt}dtdX−1​ 항을 좌변에 남기기: XdX−1dt=−dXdtX−1X \\frac{dX^{-1}}{dt} = -\\frac{dX}{dt} X^{-1}XdtdX−1​=−dtdX​X−1 (이유: 이항) 양변의 왼쪽에 X−1X^{-1}X−1을 곱하기: X−1XdX−1dt=−X−1dXdtX−1X^{-1} X \\frac{dX^{-1}}{dt} = -X^{-1} \\frac{dX}{dt} X^{-1}X−1XdtdX−1​=−X−1dtdX​X−1 IdX−1dt=−X−1dXdtX−1I \\frac{dX^{-1}}{dt} = -X^{-1} \\frac{dX}{dt} X^{-1}IdtdX−1​=−X−1dtdX​X−1 dX−1dt=−X−1dXdtX−1(증명 완료)\\frac{dX^{-1}}{dt} = -X^{-1} \\frac{dX}{dt} X^{-1} \\quad \\text{(증명 완료)}dtdX−1​=−X−1dtdX​X−1(증명 완료) (이유: X−1X=IX^{-1}X = IX−1X=I) [유도 4] 행렬식 미분 Jacobi 공식 ∂det⁡(X)∂X=det⁡(X)(X−1)⊤\\frac{\\partial \\det(X)}{\\partial X} = \\det(X) (X^{-1})^\\top∂X∂det(X)​=det(X)(X−1)⊤ 유도 목표: 가역 정방행렬 XXX에 대하여 det⁡(X)\\det(X)det(X)의 행렬 미분을 유도한다. 라플라스 여인수 전개(Laplace expansion): det⁡(X)\\det(X)det(X)를 임의의 iii번째 행에 대해 전개하면: det⁡(X)=∑j=1nXijCij\\det(X) = \\sum_{j=1}^n X_{ij} C_{ij}det(X)=∑j=1n​Xij​Cij​ (이유: 행렬식의 여인수 전개 공식. 여기서 Cij=(−1)i+jMijC_{ij} = (-1)^{i+j} M_{ij}Cij​=(−1)i+jMij​는 (i,j)(i, j)(i,j) 여인수(cofactor)이며, CijC_{ij}Cij​는 XijX_{ij}Xij​ 원소 자체를 포함하지 않음) 특정 원소 XijX_{ij}Xij​로 편미분: ∂det⁡(X)∂Xij=Cij\\frac{\\partial \\det(X)}{\\partial X_{ij}} = C_{ij}∂Xij​∂det(X)​=Cij​ (이유: det⁡(X)\\det(X)det(X)는 XijX_{ij}Xij​에 대해 1차 선형식이므로 계수인 여인수 CijC_{ij}Cij​만 남음) 여인수 행렬과 역행렬의 관계 이용 (Cramer\u0026rsquo;s Rule): 수반 행렬(adjugate matrix) adj(X)\\text{adj}(X)adj(X)는 여인수 행렬의 전치로 정의되며, X−1=1det⁡(X)adj(X)X^{-1} = \\frac{1}{\\det(X)} \\text{adj}(X)X−1=det(X)1​adj(X) 가 성립한다: adj(X)ij=Cji ⟹ Cij=adj(X)ji=(adj(X)⊤)ij\\text{adj}(X)_{ij} = C_{ji} \\implies C_{ij} = \\text{adj}(X)_{ji} = (\\text{adj}(X)^\\top)_{ij}adj(X)ij​=Cji​⟹Cij​=adj(X)ji​=(adj(X)⊤)ij​ 따라서: X−1=1det⁡(X)adj(X) ⟹ adj(X)=det⁡(X)X−1 ⟹ adj(X)⊤=det⁡(X)(X−1)⊤X^{-1} = \\frac{1}{\\det(X)} \\text{adj}(X) \\implies \\text{adj}(X) = \\det(X) X^{-1} \\implies \\text{adj}(X)^\\top = \\det(X) (X^{-1})^\\topX−1=det(X)1​adj(X)⟹adj(X)=det(X)X−1⟹adj(X)⊤=det(X)(X−1)⊤ 행렬 형태로 조립: ∂det⁡(X)∂X=det⁡(X)(X−1)⊤(증명 완료)\\frac{\\partial \\det(X)}{\\partial X} = \\det(X) (X^{-1})^\\top \\quad \\text{(증명 완료)}∂X∂det(X)​=det(X)(X−1)⊤(증명 완료) (이유: 각 성분 편미분이 det⁡(X)(X−1)⊤\\det(X)(X^{-1})^\\topdet(X)(X−1)⊤의 성분과 일치) [유도 5] 2층 인공신경망의 역전파 델타 규칙(Delta Rule) 유도 목표: z(1)=W(1)x+b(1)\\boldsymbol{z}^{(1)} = W^{(1)}\\boldsymbol{x} + \\boldsymbol{b}^{(1)}z(1)=W(1)x+b(1), a(1)=σ(z(1))\\boldsymbol{a}^{(1)} = \\sigma(\\boldsymbol{z}^{(1)})a(1)=σ(z(1)), z(2)=W(2)a(1)+b(2)\\boldsymbol{z}^{(2)} = W^{(2)}\\boldsymbol{a}^{(1)} + \\boldsymbol{b}^{(2)}z(2)=W(2)a(1)+b(2), y^=z(2)\\hat{\\boldsymbol{y}} = \\boldsymbol{z}^{(2)}y^​=z(2), L=12∥y−y^∥2L = \\frac{1}{2}\\|\\boldsymbol{y} - \\hat{\\boldsymbol{y}}\\|^2L=21​∥y−y^​∥2 일 때 가중치 기울기를 유도한다. 출력층 오차 정의: δ(2):=∂L∂z(2)=(y^−y)⊤∈R1×Dout\\boldsymbol{\\delta}^{(2)} := \\frac{\\partial L}{\\partial \\boldsymbol{z}^{(2)}} = (\\hat{\\boldsymbol{y}} - \\boldsymbol{y})^\\top \\in \\mathbb{R}^{1 \\times D_{out}}δ(2):=∂z(2)∂L​=(y^​−y)⊤∈R1×Dout​ (이유: L=12∑(y^k−yk)2L = \\frac{1}{2}\\sum (\\hat{y}_k - y_k)^2L=21​∑(y^​k​−yk​)2 미분) 2층 가중치 W(2)W^{(2)}W(2)에 대한 기울기: 연쇄법칙에 의해: ∂L∂Wij(2)=∂L∂zi(2)∂zi(2)∂Wij(2)=δi(2)aj(1)\\frac{\\partial L}{\\partial W^{(2)}_{ij}} = \\frac{\\partial L}{\\partial z^{(2)}_i} \\frac{\\partial z^{(2)}_i}{\\partial W^{(2)}_{ij}} = \\delta^{(2)}_i a^{(1)}_j∂Wij(2)​∂L​=∂zi(2)​∂L​∂Wij(2)​∂zi(2)​​=δi(2)​aj(1)​ 행렬 형태로 묶으면: ∂L∂W(2)=(δ(2))⊤(a(1))⊤∈RDout×Dhid\\frac{\\partial L}{\\partial W^{(2)}} = (\\boldsymbol{\\delta}^{(2)})^\\top (\\boldsymbol{a}^{(1)})^\\top \\in \\mathbb{R}^{D_{out} \\times D_{hid}}∂W(2)∂L​=(δ(2))⊤(a(1))⊤∈RDout​×Dhid​ (이유: 외적(outer product) 형태 결합) 1층 은닉층 오차 δ(1)\\boldsymbol{\\delta}^{(1)}δ(1) 역전파: δ(1):=∂L∂z(1)=∂L∂z(2)∂z(2)∂a(1)∂a(1)∂z(1)\\boldsymbol{\\delta}^{(1)} := \\frac{\\partial L}{\\partial \\boldsymbol{z}^{(1)}} = \\frac{\\partial L}{\\partial \\boldsymbol{z}^{(2)}} \\frac{\\partial \\boldsymbol{z}^{(2)}}{\\partial \\boldsymbol{a}^{(1)}} \\frac{\\partial \\boldsymbol{a}^{(1)}}{\\partial \\boldsymbol{z}^{(1)}}δ(1):=∂z(1)∂L​=∂z(2)∂L​∂a(1)∂z(2)​∂z(1)∂a(1)​ ∂z(2)∂a(1)=W(2)\\frac{\\partial \\boldsymbol{z}^{(2)}}{\\partial \\boldsymbol{a}^{(1)}} = W^{(2)}∂a(1)∂z(2)​=W(2) ∂a(1)∂z(1)=diag(σ′(z(1)))\\frac{\\partial \\boldsymbol{a}^{(1)}}{\\partial \\boldsymbol{z}^{(1)}} = \\text{diag}(\\sigma\u0026#x27;(\\boldsymbol{z}^{(1)}))∂z(1)∂a(1)​=diag(σ′(z(1))) 따라서: δ(1)=(δ(2)W(2))⊙(σ′(z(1)))⊤∈R1×Dhid\\boldsymbol{\\delta}^{(1)} = \\left( \\boldsymbol{\\delta}^{(2)} W^{(2)} \\right) \\odot (\\sigma\u0026#x27;(\\boldsymbol{z}^{(1)}))^\\top \\in \\mathbb{R}^{1 \\times D_{hid}}δ(1)=(δ(2)W(2))⊙(σ′(z(1)))⊤∈R1×Dhid​ (이유: 대각행렬과의 곱은 아다마르 곱(원소별 곱 ⊙\\odot⊙)과 동일) 1층 가중치 W(1)W^{(1)}W(1)에 대한 기울기: ∂L∂W(1)=(δ(1))⊤x⊤∈RDhid×Din(증명 완료)\\frac{\\partial L}{\\partial W^{(1)}} = (\\boldsymbol{\\delta}^{(1)})^\\top \\boldsymbol{x}^\\top \\in \\mathbb{R}^{D_{hid} \\times D_{in}} \\quad \\text{(증명 완료)}∂W(1)∂L​=(δ(1))⊤x⊤∈RDhid​×Din​(증명 완료) (이유: 2단계와 동일한 외적 원리) 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. 기울기(gradient)와 야코비안의 차이는? \u0026ldquo;스칼라 함수 f:Rn→Rf:\\mathbb R^n\\to\\mathbb Rf:Rn→R의 편미분을 모은 것이 기울기이고, 교재는 이것을 1×n1\\times n1×n 행벡터로 씁니다. 벡터 함수 f:Rn→Rmf:\\mathbb R^n\\to\\mathbb R^mf:Rn→Rm의 편미분을 모은 m×nm\\times nm×n 행렬이 야코비안입니다. iii행은 iii번째 출력의 기울기입니다. 기울기는 출력이 하나인 야코비안이라고 볼 수 있습니다.\u0026rdquo;\nQ. 다변수 연쇄법칙을 설명해 보세요. \u0026ldquo;합성함수의 야코비안은 각 단계 야코비안의 행렬곱입니다. x→y→zx\\to y\\to zx→y→z이면 dzdx=dzdydydx\\frac{dz}{dx}=\\frac{dz}{dy}\\frac{dy}{dx}dxdz​=dydz​dxdy​이고, 크기가 (k×m)(m×n)=k×n(k\\times m)(m\\times n)=k\\times n(k×m)(m×n)=k×n으로 맞아떨어집니다. 변수가 여러 경로로 영향을 주면 경로별 기여를 모두 더하는데, 이것이 행렬곱 안의 합으로 들어가 있습니다.\u0026rdquo;\nQ. 역전파가 왜 효율적인가요? \u0026ldquo;신경망의 기울기는 야코비안을 여러 개 곱한 것입니다. 출력이 스칼라 손실이면 맨 끝 야코비안이 행벡터라, 출력 쪽부터 곱해 나가면 매 단계가 벡터-행렬 곱이 됩니다. 그래서 순전파의 상수배 정도 계산으로 모든 매개변수의 기울기를 한 번에 얻습니다. 순전파 때 중간값을 저장해 두고 재사용하는 것이 핵심이고, 그 대가로 메모리를 씁니다.\u0026rdquo;\nQ. x⊤Axx^\\top Axx⊤Ax를 미분하면? 왜 대칭 조건을 확인해야 하나요? \u0026ldquo;ddxx⊤Ax=x⊤(A+A⊤)\\frac{d}{dx}x^\\top Ax=x^\\top(A+A^\\top)dxd​x⊤Ax=x⊤(A+A⊤)입니다. AAA가 대칭일 때만 2x⊤A2x^\\top A2x⊤A로 줄어듭니다. 성분으로 펼치면 xkx_kxk​가 행 쪽과 열 쪽에서 두 번 등장해 AAA와 A⊤A^\\topA⊤가 함께 나옵니다. 선형회귀의 θ⊤Φ⊤Φθ\\theta^\\top\\Phi^\\top\\Phi\\thetaθ⊤Φ⊤Φθ는 Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ가 대칭이라 2θ⊤Φ⊤Φ2\\theta^\\top\\Phi^\\top\\Phi2θ⊤Φ⊤Φ가 됩니다.\u0026rdquo;\nQ. 헤시안은 무엇이고 어디에 쓰나요? \u0026ldquo;2계 편미분을 모은 n×nn\\times nn×n 행렬이고, 2번 연속 미분 가능하면 대칭입니다. 기울기가 0인 점에서 헤시안이 양의 정부호면 극소, 음의 정부호면 극대, 고유값 부호가 섞이면 안장점입니다. 2차 테일러 근사에 들어가고, 7장의 볼록성 판정과 뉴턴 방법에서 곡률 정보로 씁니다.\u0026rdquo;\nQ. 다변수 테일러 전개를 써 보세요. \u0026ldquo;f(x0+δ)≈f(x0)+∇f(x0)δ+12δ⊤H(x0)δf(x_0+\\delta)\\approx f(x_0)+\\nabla f(x_0)\\delta+\\frac12\\delta^\\top H(x_0)\\deltaf(x0​+δ)≈f(x0​)+∇f(x0​)δ+21​δ⊤H(x0​)δ입니다. 1차까지가 접평면(선형화)이고, 2차 항이 곡률을 반영합니다. 2차 항 앞의 12\\frac1221​를 빠뜨리지 않아야 합니다.\u0026rdquo;\n연습문제 확인 문제 (10문제, 상세 풀이 및 파이썬 검산 완료) [문제 1] (편미분과 기울기) 함수 f(x1,x2,x3)=x12x2−2x2x33+4x1x3f(x_1, x_2, x_3) = x_1^2 x_2 - 2 x_2 x_3^3 + 4 x_1 x_3f(x1​,x2​,x3​)=x12​x2​−2x2​x33​+4x1​x3​에 대하여 점 x=[12−1]\\boldsymbol{x} = \\begin{bmatrix} 1 \\\\ 2 \\\\ -1 \\end{bmatrix}x=​12−1​​에서의 기울기 벡터 ∇xf\\nabla_{\\boldsymbol{x}} f∇x​f를 MML 관례(행벡터)에 따라 구하라.\n[풀이]: 성분별 편미분을 계산한다: ∂f∂x1=2x1x2+4x3\\frac{\\partial f}{\\partial x_1} = 2x_1 x_2 + 4x_3∂x1​∂f​=2x1​x2​+4x3​ ∂f∂x2=x12−2x33\\frac{\\partial f}{\\partial x_2} = x_1^2 - 2x_3^3∂x2​∂f​=x12​−2x33​ ∂f∂x3=−6x2x32+4x1\\frac{\\partial f}{\\partial x_3} = -6x_2 x_3^2 + 4x_1∂x3​∂f​=−6x2​x32​+4x1​ 점 (1,2,−1)(1, 2, -1)(1,2,−1)을 대입한다: ∂f∂x1=2(1)(2)+4(−1)=4−4=0\\frac{\\partial f}{\\partial x_1} = 2(1)(2) + 4(-1) = 4 - 4 = 0∂x1​∂f​=2(1)(2)+4(−1)=4−4=0 ∂f∂x2=12−2(−1)3=1−2(−1)=1+2=3\\frac{\\partial f}{\\partial x_2} = 1^2 - 2(-1)^3 = 1 - 2(-1) = 1 + 2 = 3∂x2​∂f​=12−2(−1)3=1−2(−1)=1+2=3 ∂f∂x3=−6(2)(−1)2+4(1)=−12(1)+4=−8\\frac{\\partial f}{\\partial x_3} = -6(2)(-1)^2 + 4(1) = -12(1) + 4 = -8∂x3​∂f​=−6(2)(−1)2+4(1)=−12(1)+4=−8 행벡터 조립: ∇xf=[03−8]∈R1×3\\nabla_{\\boldsymbol{x}} f = \\begin{bmatrix} 0 \u0026amp; 3 \u0026amp; -8 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 3}∇x​f=[0​3​−8​]∈R1×3 [문제 2] (야코비안 행렬 계산) 벡터 함수 f:R2→R3\\boldsymbol{f}: \\mathbb{R}^2 \\to \\mathbb{R}^3f:R2→R3가 f(x1,x2)=[x12+x23x1x2sin⁡(x1)]\\boldsymbol{f}(x_1, x_2) = \\begin{bmatrix} x_1^2 + x_2 \\\\ 3x_1 x_2 \\\\ \\sin(x_1) \\end{bmatrix}f(x1​,x2​)=​x12​+x2​3x1​x2​sin(x1​)​​로 정의될 때, 점 x=[01]\\boldsymbol{x} = \\begin{bmatrix} 0 \\\\ 1 \\end{bmatrix}x=[01​]에서의 야코비안 행렬 JJJ를 구하라.\n[풀이]: J∈R3×2J \\in \\mathbb{R}^{3 \\times 2}J∈R3×2이다 (출력 3개, 입력 2개). 각 성분의 편미분 계산: 행 1: [∂(x12+x2)∂x1∂(x12+x2)∂x2]=[2x11]\\begin{bmatrix} \\frac{\\partial(x_1^2 + x_2)}{\\partial x_1} \u0026amp; \\frac{\\partial(x_1^2 + x_2)}{\\partial x_2} \\end{bmatrix} = \\begin{bmatrix} 2x_1 \u0026amp; 1 \\end{bmatrix}[∂x1​∂(x12​+x2​)​​∂x2​∂(x12​+x2​)​​]=[2x1​​1​] 행 2: [∂(3x1x2)∂x1∂(3x1x2)∂x2]=[3x23x1]\\begin{bmatrix} \\frac{\\partial(3x_1 x_2)}{\\partial x_1} \u0026amp; \\frac{\\partial(3x_1 x_2)}{\\partial x_2} \\end{bmatrix} = \\begin{bmatrix} 3x_2 \u0026amp; 3x_1 \\end{bmatrix}[∂x1​∂(3x1​x2​)​​∂x2​∂(3x1​x2​)​​]=[3x2​​3x1​​] 행 3: [∂(sin⁡x1)∂x1∂(sin⁡x1)∂x2]=[cos⁡x10]\\begin{bmatrix} \\frac{\\partial(\\sin x_1)}{\\partial x_1} \u0026amp; \\frac{\\partial(\\sin x_1)}{\\partial x_2} \\end{bmatrix} = \\begin{bmatrix} \\cos x_1 \u0026amp; 0 \\end{bmatrix}[∂x1​∂(sinx1​)​​∂x2​∂(sinx1​)​​]=[cosx1​​0​] 점 (0,1)(0, 1)(0,1) 대입: J(0,1)=[2(0)13(1)3(0)cos⁡(0)0]=[013010]J(0, 1) = \\begin{bmatrix} 2(0) \u0026amp; 1 \\\\ 3(1) \u0026amp; 3(0) \\\\ \\cos(0) \u0026amp; 0 \\end{bmatrix} = \\begin{bmatrix} 0 \u0026amp; 1 \\\\ 3 \u0026amp; 0 \\\\ 1 \u0026amp; 0 \\end{bmatrix}J(0,1)=​2(0)3(1)cos(0)​13(0)0​​=​031​100​​ [문제 3] (선형 변환의 야코비안) A=[2−13045]∈R2×3A = \\begin{bmatrix} 2 \u0026amp; -1 \u0026amp; 3 \\\\ 0 \u0026amp; 4 \u0026amp; 5 \\end{bmatrix} \\in \\mathbb{R}^{2 \\times 3}A=[20​−14​35​]∈R2×3, b=[1−2]∈R2\\boldsymbol{b} = \\begin{bmatrix} 1 \\\\ -2 \\end{bmatrix} \\in \\mathbb{R}^2b=[1−2​]∈R2에 대하여 f(x)=Ax+b\\boldsymbol{f}(\\boldsymbol{x}) = A\\boldsymbol{x} + \\boldsymbol{b}f(x)=Ax+b의 야코비안 행렬 dfdx\\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}}dxdf​를 구하라.\n[풀이]: 5.3절의 정리에 의해 아핀 변환 f(x)=Ax+b\\boldsymbol{f}(\\boldsymbol{x}) = A\\boldsymbol{x} + \\boldsymbol{b}f(x)=Ax+b의 야코비안은 입력 x\\boldsymbol{x}x의 값과 무관하게 항상 행렬 AAA 자체이다. 따라서: dfdx=A=[2−13045]∈R2×3\\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}} = A = \\begin{bmatrix} 2 \u0026amp; -1 \u0026amp; 3 \\\\ 0 \u0026amp; 4 \u0026amp; 5 \\end{bmatrix} \\in \\mathbb{R}^{2 \\times 3}dxdf​=A=[20​−14​35​]∈R2×3 [문제 4] (2차 형식 기울기) 대칭행렬 A=[3221]A = \\begin{bmatrix} 3 \u0026amp; 2 \\\\ 2 \u0026amp; 1 \\end{bmatrix}A=[32​21​]와 벡터 x=[x1x2]\\boldsymbol{x} = \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix}x=[x1​x2​​]에 대하여 f(x)=x⊤Axf(\\boldsymbol{x}) = \\boldsymbol{x}^\\top A \\boldsymbol{x}f(x)=x⊤Ax의 기울기를 구하라.\n[풀이]: AAA가 대칭행렬(A=A⊤A = A^\\topA=A⊤)이므로 항등식에 의해 dfdx=2x⊤A\\frac{df}{d\\boldsymbol{x}} = 2\\boldsymbol{x}^\\top Adxdf​=2x⊤A이다. 행렬곱 계산: dfdx=2[x1x2][3221]=2[3x1+2x22x1+x2]=[6x1+4x24x1+2x2]\\frac{df}{d\\boldsymbol{x}} = 2 \\begin{bmatrix} x_1 \u0026amp; x_2 \\end{bmatrix} \\begin{bmatrix} 3 \u0026amp; 2 \\\\ 2 \u0026amp; 1 \\end{bmatrix} = 2 \\begin{bmatrix} 3x_1 + 2x_2 \u0026amp; 2x_1 + x_2 \\end{bmatrix} = \\begin{bmatrix} 6x_1 + 4x_2 \u0026amp; 4x_1 + 2x_2 \\end{bmatrix}dxdf​=2[x1​​x2​​][32​21​]=2[3x1​+2x2​​2x1​+x2​​]=[6x1​+4x2​​4x1​+2x2​​] 성분 전개 검산: f=3x12+4x1x2+x22 ⟹ ∂f∂x1=6x1+4x2,∂f∂x2=4x1+2x2f = 3x_1^2 + 4x_1 x_2 + x_2^2 \\implies \\frac{\\partial f}{\\partial x_1} = 6x_1 + 4x_2, \\frac{\\partial f}{\\partial x_2} = 4x_1 + 2x_2f=3x12​+4x1​x2​+x22​⟹∂x1​∂f​=6x1​+4x2​,∂x2​∂f​=4x1​+2x2​. 완전히 일치한다. [문제 5] (행렬 대각합 미분) f(X)=tr(AXB)f(X) = \\text{tr}(A X B)f(X)=tr(AXB) (단, A=[1021],B=[3102]A = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 2 \u0026amp; 1 \\end{bmatrix}, B = \\begin{bmatrix} 3 \u0026amp; 1 \\\\ 0 \u0026amp; 2 \\end{bmatrix}A=[12​01​],B=[30​12​])일 때, ∂f∂X\\frac{\\partial f}{\\partial X}∂X∂f​를 계산하라.\n[풀이]: 5.5절 항등식 8번에 의해 ∂tr(AXB)∂X=A⊤B⊤=(BA)⊤\\frac{\\partial \\text{tr}(AXB)}{\\partial X} = A^\\top B^\\top = (BA)^\\top∂X∂tr(AXB)​=A⊤B⊤=(BA)⊤이다. A⊤=[1201]A^\\top = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ 0 \u0026amp; 1 \\end{bmatrix}A⊤=[10​21​], B⊤=[3012]B^\\top = \\begin{bmatrix} 3 \u0026amp; 0 \\\\ 1 \u0026amp; 2 \\end{bmatrix}B⊤=[31​02​]. 행렬곱 계산: ∂f∂X=[1201][3012]=[1(3)+2(1)1(0)+2(2)0(3)+1(1)0(0)+1(2)]=[5412]\\frac{\\partial f}{\\partial X} = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ 0 \u0026amp; 1 \\end{bmatrix} \\begin{bmatrix} 3 \u0026amp; 0 \\\\ 1 \u0026amp; 2 \\end{bmatrix} = \\begin{bmatrix} 1(3) + 2(1) \u0026amp; 1(0) + 2(2) \\\\ 0(3) + 1(1) \u0026amp; 0(0) + 1(2) \\end{bmatrix} = \\begin{bmatrix} 5 \u0026amp; 4 \\\\ 1 \u0026amp; 2 \\end{bmatrix}∂X∂f​=[10​21​][31​02​]=[1(3)+2(1)0(3)+1(1)​1(0)+2(2)0(0)+1(2)​]=[51​42​] [문제 6] (헤시안 행렬 및 슈와르츠 정리) 함수 f(x,y)=x2y3+2xeyf(x, y) = x^2 y^3 + 2x e^yf(x,y)=x2y3+2xey의 헤시안 행렬 HHH를 구하고, 혼합 편미분 ∂2f∂x∂y=∂2f∂y∂x\\frac{\\partial^2 f}{\\partial x \\partial y} = \\frac{\\partial^2 f}{\\partial y \\partial x}∂x∂y∂2f​=∂y∂x∂2f​가 성립함을 보여라.\n[풀이]: 1계 편도함수: ∂f∂x=2xy3+2ey\\frac{\\partial f}{\\partial x} = 2x y^3 + 2e^y∂x∂f​=2xy3+2ey ∂f∂y=3x2y2+2xey\\frac{\\partial f}{\\partial y} = 3x^2 y^2 + 2x e^y∂y∂f​=3x2y2+2xey 2계 편도함수: ∂2f∂x2=2y3\\frac{\\partial^2 f}{\\partial x^2} = 2y^3∂x2∂2f​=2y3 ∂2f∂y∂x=∂∂y(2xy3+2ey)=6xy2+2ey\\frac{\\partial^2 f}{\\partial y \\partial x} = \\frac{\\partial}{\\partial y}(2x y^3 + 2e^y) = 6x y^2 + 2e^y∂y∂x∂2f​=∂y∂​(2xy3+2ey)=6xy2+2ey ∂2f∂x∂y=∂∂x(3x2y2+2xey)=6xy2+2ey\\frac{\\partial^2 f}{\\partial x \\partial y} = \\frac{\\partial}{\\partial x}(3x^2 y^2 + 2x e^y) = 6x y^2 + 2e^y∂x∂y∂2f​=∂x∂​(3x2y2+2xey)=6xy2+2ey ∂2f∂y2=6x2y+2xey\\frac{\\partial^2 f}{\\partial y^2} = 6x^2 y + 2x e^y∂y2∂2f​=6x2y+2xey 혼합 편미분이 6xy2+2ey6xy^2 + 2e^y6xy2+2ey로 동일하므로 슈와르츠 정리가 성립한다. 헤시안 행렬: H=[2y36xy2+2ey6xy2+2ey6x2y+2xey]H = \\begin{bmatrix} 2y^3 \u0026amp; 6xy^2 + 2e^y \\\\ 6xy^2 + 2e^y \u0026amp; 6x^2 y + 2x e^y \\end{bmatrix}H=[2y36xy2+2ey​6xy2+2ey6x2y+2xey​] [문제 7] (테일러 1차 선형 근사) 함수 f(x1,x2)=x12+x22f(x_1, x_2) = \\sqrt{x_1^2 + x_2^2}f(x1​,x2​)=x12​+x22​​를 점 x0=[34]\\boldsymbol{x}_0 = \\begin{bmatrix} 3 \\\\ 4 \\end{bmatrix}x0​=[34​] 근처에서 1차 선형 근사식을 구하고, 이를 이용해 f(3.06,3.92)f(3.06, 3.92)f(3.06,3.92)의 근사값을 구하라.\n[풀이]: 기준점 함수값: f(3,4)=32+42=25=5f(3, 4) = \\sqrt{3^2 + 4^2} = \\sqrt{25} = 5f(3,4)=32+42​=25​=5. 기울기 계산: ∂f∂x1=2x12x12+x22=x1x12+x22 ⟹ ∂f∂x1(3,4)=35=0.6\\frac{\\partial f}{\\partial x_1} = \\frac{2x_1}{2\\sqrt{x_1^2 + x_2^2}} = \\frac{x_1}{\\sqrt{x_1^2 + x_2^2}} \\implies \\frac{\\partial f}{\\partial x_1}(3, 4) = \\frac{3}{5} = 0.6∂x1​∂f​=2x12​+x22​​2x1​​=x12​+x22​​x1​​⟹∂x1​∂f​(3,4)=53​=0.6 ∂f∂x2=x2x12+x22 ⟹ ∂f∂x2(3,4)=45=0.8\\frac{\\partial f}{\\partial x_2} = \\frac{x_2}{\\sqrt{x_1^2 + x_2^2}} \\implies \\frac{\\partial f}{\\partial x_2}(3, 4) = \\frac{4}{5} = 0.8∂x2​∂f​=x12​+x22​​x2​​⟹∂x2​∂f​(3,4)=54​=0.8 ∇f(3,4)=[0.60.8]\\nabla f(3, 4) = \\begin{bmatrix} 0.6 \u0026amp; 0.8 \\end{bmatrix}∇f(3,4)=[0.6​0.8​] 1차 근사식 조립: f(x)≈5+0.6(x1−3)+0.8(x2−4)f(\\boldsymbol{x}) \\approx 5 + 0.6(x_1 - 3) + 0.8(x_2 - 4)f(x)≈5+0.6(x1​−3)+0.8(x2​−4) 변위 대입: x1−3=0.06x_1 - 3 = 0.06x1​−3=0.06, x2−4=−0.08x_2 - 4 = -0.08x2​−4=−0.08. f(3.06,3.92)≈5+0.6(0.06)+0.8(−0.08)=5+0.036−0.064=5−0.028=4.972f(3.06, 3.92) \\approx 5 + 0.6(0.06) + 0.8(-0.08) = 5 + 0.036 - 0.064 = 5 - 0.028 = 4.972f(3.06,3.92)≈5+0.6(0.06)+0.8(−0.08)=5+0.036−0.064=5−0.028=4.972 (참고: 실제 참값은 3.062+3.922=9.3636+15.3664=24.73≈4.9729\\sqrt{3.06^2 + 3.92^2} = \\sqrt{9.3636 + 15.3664} = \\sqrt{24.73} \\approx 4.97293.062+3.922​=9.3636+15.3664​=24.73​≈4.9729로 오차가 0.02%0.02\\%0.02% 미만임) [문제 8] (체인룰을 이용한 합성함수 미분) f(z)=ln⁡(1+z)f(z) = \\ln(1 + z)f(z)=ln(1+z), z=x⊤xz = \\boldsymbol{x}^\\top \\boldsymbol{x}z=x⊤x (단, x∈RD\\boldsymbol{x} \\in \\mathbb{R}^Dx∈RD)일 때, dfdx\\frac{df}{d\\boldsymbol{x}}dxdf​를 구하라.\n[풀이]: fff는 zzz의 스칼라 함수: dfdz=11+z∈R\\frac{df}{dz} = \\frac{1}{1 + z} \\in \\mathbb{R}dzdf​=1+z1​∈R. zzz는 x\\boldsymbol{x}x의 2차형식 (z=x⊤Ixz = \\boldsymbol{x}^\\top I \\boldsymbol{x}z=x⊤Ix): dzdx=2x⊤∈R1×D\\frac{dz}{d\\boldsymbol{x}} = 2\\boldsymbol{x}^\\top \\in \\mathbb{R}^{1 \\times D}dxdz​=2x⊤∈R1×D. 연쇄법칙 적용: dfdx=dfdzdzdx=11+z(2x⊤)=2x⊤1+x⊤x∈R1×D\\frac{df}{d\\boldsymbol{x}} = \\frac{df}{dz} \\frac{dz}{d\\boldsymbol{x}} = \\frac{1}{1 + z} (2\\boldsymbol{x}^\\top) = \\frac{2\\boldsymbol{x}^\\top}{1 + \\boldsymbol{x}^\\top \\boldsymbol{x}} \\in \\mathbb{R}^{1 \\times D}dxdf​=dzdf​dxdz​=1+z1​(2x⊤)=1+x⊤x2x⊤​∈R1×D [문제 9] (자동 미분 연산량 비교) 입력 차원이 D=1000D = 1000D=1000이고 출력이 스칼라(111)인 신경망 모델이 있다. 가중치 파라미터가 100만 개일 때, 전체 기울기를 계산하는 데 필요한 비용을 수치 미분과 역전파(Reverse-mode autodiff) 관점에서 비교 설명하라.\n[풀이]: 수치 미분(유한차분법): 100만 개의 각 파라미터를 hhh만큼 미세 변화시킨 후 순전파를 다시 실행해야 하므로, 총 1,000,001번의 네트워크 순전파가 필요하다. 계산 복잡도 O(P)O(P)O(P) (여기서 PPP는 파라미터 수). 역전파(Reverse-mode autodiff): 순전파 1번으로 중간 활성화 값을 캐싱한 뒤, 출력단에서부터 뒤로 1×d1 \\times d1×d 행벡터를 역전파하는 단 1번의 역방향 패스로 모든 100만 개 파라미터의 정확한 기울기를 한꺼번에 얻는다. 연산량은 순전파의 약 2~3배에 불과하며, 파라미터 수와 상관없이 역방향 패스는 한 번이다. [문제 10] (로그 행렬식의 기울기) 대칭 양의 정부호 행렬 X∈Rn×nX \\in \\mathbb{R}^{n \\times n}X∈Rn×n에 대하여 f(X)=ln⁡det⁡(X)f(X) = \\ln \\det(X)f(X)=lndet(X)의 기울기 ∂f∂X\\frac{\\partial f}{\\partial X}∂X∂f​를 구하라.\n[풀이]: 연쇄법칙 적용: u=det⁡(X)u = \\det(X)u=det(X)라 두면 f=ln⁡uf = \\ln uf=lnu. ∂f∂Xij=1u∂u∂Xij=1det⁡(X)∂det⁡(X)∂Xij\\frac{\\partial f}{\\partial X_{ij}} = \\frac{1}{u} \\frac{\\partial u}{\\partial X_{ij}} = \\frac{1}{\\det(X)} \\frac{\\partial \\det(X)}{\\partial X_{ij}}∂Xij​∂f​=u1​∂Xij​∂u​=det(X)1​∂Xij​∂det(X)​ 5.5절 항등식 9번 (Jacobi 공식)에 의해 ∂det⁡(X)∂X=det⁡(X)(X−1)⊤\\frac{\\partial \\det(X)}{\\partial X} = \\det(X)(X^{-1})^\\top∂X∂det(X)​=det(X)(X−1)⊤. 대입: ∂ln⁡det⁡(X)∂X=1det⁡(X)⋅det⁡(X)(X−1)⊤=(X−1)⊤\\frac{\\partial \\ln \\det(X)}{\\partial X} = \\frac{1}{\\det(X)} \\cdot \\det(X) (X^{-1})^\\top = (X^{-1})^\\top∂X∂lndet(X)​=det(X)1​⋅det(X)(X−1)⊤=(X−1)⊤ XXX가 대칭행렬이므로 X−1X^{-1}X−1 역시 대칭행렬이다 ((X−1)⊤=X−1(X^{-1})^\\top = X^{-1}(X−1)⊤=X−1). 따라서: ∂ln⁡det⁡(X)∂X=X−1\\frac{\\partial \\ln \\det(X)}{\\partial X} = X^{-1}∂X∂lndet(X)​=X−1 이 결과는 11장 GMM의 가우시안 공분산 행렬 MLE 추정에서 핵심적으로 쓰인다. 교재 연습문제 안내 (Exercises 5.1 ~ 5.9 상세 해설 및 풀이 방향) Exercise 5.1 문제 요약: f(x)=log⁡(x4)sin⁡(x3)f(x) = \\log(x^4) \\sin(x^3)f(x)=log(x4)sin(x3)의 도함수 f′(x)f\u0026#x27;(x)f′(x)를 계산하라. 풀이: x4x^4x4는 x≠0x\\ne0x=0이면 항상 양수라서 fff는 음수 xxx에서도 정의된다. 그래서 로그 성질을 쓸 때 절댓값을 붙여 log⁡(x4)=4log⁡∣x∣\\log(x^4) = 4\\log|x|log(x4)=4log∣x∣로 정리한다(x\u0026gt;0x\u0026gt;0x\u0026gt;0만 생각하면 4log⁡x4\\log x4logx와 같다). 곱의 미분법을 적용: f′(x)=ddx[4log⁡∣x∣]⋅sin⁡(x3)+4log⁡∣x∣⋅ddx[sin⁡(x3)]f\u0026#x27;(x) = \\frac{d}{dx}[4\\log |x|] \\cdot \\sin(x^3) + 4\\log |x| \\cdot \\frac{d}{dx}[\\sin(x^3)]f′(x)=dxd​[4log∣x∣]⋅sin(x3)+4log∣x∣⋅dxd​[sin(x3)] ddx[4log⁡∣x∣]=4x\\frac{d}{dx}[4\\log |x|] = \\frac{4}{x}dxd​[4log∣x∣]=x4​ (x\u0026lt;0x\u0026lt;0x\u0026lt;0이어도 ddxlog⁡(−x)=−1−x=1x\\frac{d}{dx}\\log(-x)=\\frac{-1}{-x}=\\frac1xdxd​log(−x)=−x−1​=x1​이라 같은 꼴) ddx[sin⁡(x3)]=cos⁡(x3)⋅3x2=3x2cos⁡(x3)\\frac{d}{dx}[\\sin(x^3)] = \\cos(x^3) \\cdot 3x^2 = 3x^2 \\cos(x^3)dxd​[sin(x3)]=cos(x3)⋅3x2=3x2cos(x3) 결합하면: f′(x)=4sin⁡(x3)x+12x2log⁡∣x∣cos⁡(x3)f\u0026#x27;(x) = \\frac{4\\sin(x^3)}{x} + 12x^2 \\log|x| \\cos(x^3)f′(x)=x4sin(x3)​+12x2log∣x∣cos(x3) Exercise 5.2 문제 요약: 로지스틱 시그모이드 f(x)=11+exp⁡(−x)f(x) = \\frac{1}{1 + \\exp(-x)}f(x)=1+exp(−x)1​의 도함수를 구하라. 풀이: 본문 5.1절 [예제 1-2]에서 상세 유도 완료. f′(x)=f(x)(1−f(x))f\u0026#x27;(x) = f(x)(1 - f(x))f′(x)=f(x)(1−f(x)) Exercise 5.3 문제 요약: f(x)=exp⁡(−12σ2(x−μ)2)f(x) = \\exp\\left(-\\frac{1}{2\\sigma^2}(x - \\mu)^2\\right)f(x)=exp(−2σ21​(x−μ)2) (단, μ,σ∈R\\mu, \\sigma \\in \\mathbb{R}μ,σ∈R)의 도함수 f′(x)f\u0026#x27;(x)f′(x)를 구하라. 풀이: 연쇄법칙 적용: u(x)=−12σ2(x−μ)2u(x) = -\\frac{1}{2\\sigma^2}(x - \\mu)^2u(x)=−2σ21​(x−μ)2로 두면 f(x)=exp⁡(u)f(x) = \\exp(u)f(x)=exp(u). u′(x)=−12σ2⋅2(x−μ)=−x−μσ2u\u0026#x27;(x) = -\\frac{1}{2\\sigma^2} \\cdot 2(x - \\mu) = -\\frac{x - \\mu}{\\sigma^2}u′(x)=−2σ21​⋅2(x−μ)=−σ2x−μ​. 따라서: f′(x)=exp⁡(u)⋅u′(x)=−x−μσ2exp⁡(−12σ2(x−μ)2)=−x−μσ2f(x)f\u0026#x27;(x) = \\exp(u) \\cdot u\u0026#x27;(x) = -\\frac{x - \\mu}{\\sigma^2} \\exp\\left(-\\frac{1}{2\\sigma^2}(x - \\mu)^2\\right) = -\\frac{x - \\mu}{\\sigma^2} f(x)f′(x)=exp(u)⋅u′(x)=−σ2x−μ​exp(−2σ21​(x−μ)2)=−σ2x−μ​f(x) Exercise 5.4 문제 요약: x0=0x_0 = 0x0​=0에서 f(x)=sin⁡(x)+cos⁡(x)f(x) = \\sin(x) + \\cos(x)f(x)=sin(x)+cos(x)의 0차부터 5차까지의 테일러 다항식 Tn(x)T_n(x)Tn​(x)를 구하라. 풀이: x0=0x_0 = 0x0​=0에서 도함수 값 주기성 확인: f(0)=sin⁡0+cos⁡0=1f(0) = \\sin 0 + \\cos 0 = 1f(0)=sin0+cos0=1 f′(0)=cos⁡0−sin⁡0=1f\u0026#x27;(0) = \\cos 0 - \\sin 0 = 1f′(0)=cos0−sin0=1 f′′(0)=−sin⁡0−cos⁡0=−1f\u0026#x27;\u0026#x27;(0) = -\\sin 0 - \\cos 0 = -1f′′(0)=−sin0−cos0=−1 f′′′(0)=−cos⁡0+sin⁡0=−1f\u0026#x27;\u0026#x27;\u0026#x27;(0) = -\\cos 0 + \\sin 0 = -1f′′′(0)=−cos0+sin0=−1 f(4)(0)=sin⁡0+cos⁡0=1f^{(4)}(0) = \\sin 0 + \\cos 0 = 1f(4)(0)=sin0+cos0=1 f(5)(0)=cos⁡0−sin⁡0=1f^{(5)}(0) = \\cos 0 - \\sin 0 = 1f(5)(0)=cos0−sin0=1 따라서 테일러 다항식들은: T0(x)=1T_0(x) = 1T0​(x)=1 T1(x)=1+xT_1(x) = 1 + xT1​(x)=1+x T2(x)=1+x−12x2T_2(x) = 1 + x - \\frac{1}{2} x^2T2​(x)=1+x−21​x2 T3(x)=1+x−12x2−16x3T_3(x) = 1 + x - \\frac{1}{2} x^2 - \\frac{1}{6} x^3T3​(x)=1+x−21​x2−61​x3 T4(x)=1+x−12x2−16x3+124x4T_4(x) = 1 + x - \\frac{1}{2} x^2 - \\frac{1}{6} x^3 + \\frac{1}{24} x^4T4​(x)=1+x−21​x2−61​x3+241​x4 T5(x)=1+x−12x2−16x3+124x4+1120x5T_5(x) = 1 + x - \\frac{1}{2} x^2 - \\frac{1}{6} x^3 + \\frac{1}{24} x^4 + \\frac{1}{120} x^5T5​(x)=1+x−21​x2−61​x3+241​x4+1201​x5 Exercise 5.5 문제 요약: 다음 함수들에 대해 (a) 편도함수 차원을 구하고 (b) 야코비안을 계산하라. f1(x)=sin⁡(x1)cos⁡(x2),x∈R2f_1(\\boldsymbol{x}) = \\sin(x_1)\\cos(x_2), \\boldsymbol{x} \\in \\mathbb{R}^2f1​(x)=sin(x1​)cos(x2​),x∈R2 f2(x,y)=x⊤y,x,y∈Rnf_2(\\boldsymbol{x}, \\boldsymbol{y}) = \\boldsymbol{x}^\\top \\boldsymbol{y}, \\boldsymbol{x}, \\boldsymbol{y} \\in \\mathbb{R}^nf2​(x,y)=x⊤y,x,y∈Rn f3(x)=xx⊤,x∈Rnf_3(\\boldsymbol{x}) = \\boldsymbol{x}\\boldsymbol{x}^\\top, \\boldsymbol{x} \\in \\mathbb{R}^nf3​(x)=xx⊤,x∈Rn 풀이: f1f_1f1​: 출력이 스칼라이므로 차원은 1×21 \\times 21×2 행벡터. J1=[cos⁡(x1)cos⁡(x2)−sin⁡(x1)sin⁡(x2)]∈R1×2J_1 = \\begin{bmatrix} \\cos(x_1)\\cos(x_2) \u0026amp; -\\sin(x_1)\\sin(x_2) \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}J1​=[cos(x1​)cos(x2​)​−sin(x1​)sin(x2​)​]∈R1×2 f2f_2f2​: x\\boldsymbol{x}x에 대한 미분 차원은 1×n1 \\times n1×n, 야코비안은 y⊤\\boldsymbol{y}^\\topy⊤. 만약 결합벡터 [xy]∈R2n\\begin{bmatrix} \\boldsymbol{x} \\\\ \\boldsymbol{y} \\end{bmatrix} \\in \\mathbb{R}^{2n}[xy​]∈R2n로 본다면 차원은 1×2n1 \\times 2n1×2n이며, 야코비안은 [y⊤x⊤]\\begin{bmatrix} \\boldsymbol{y}^\\top \u0026amp; \\boldsymbol{x}^\\top \\end{bmatrix}[y⊤​x⊤​]이다. f3f_3f3​: 출력이 n×nn \\times nn×n 행렬이고 입력이 n×1n \\times 1n×1 벡터이므로 차원은 n×n×nn \\times n \\times nn×n×n 3차원 텐서이다. 성분별로는 ∂(xixj)∂xk=δikxj+xiδjk\\frac{\\partial (x_i x_j)}{\\partial x_k} = \\delta_{ik} x_j + x_i \\delta_{jk}∂xk​∂(xi​xj​)​=δik​xj​+xi​δjk​ (여기서 δ\\deltaδ는 크로네커 델타). 벡터화 관점(vec(f3)∈Rn2\\text{vec}(f_3) \\in \\mathbb{R}^{n^2}vec(f3​)∈Rn2)에서는 n2×nn^2 \\times nn2×n 야코비안 행렬이 된다. Exercise 5.6 문제 요약: f(t)=sin⁡(log⁡(t⊤t)),t∈RDf(\\boldsymbol{t}) = \\sin(\\log(\\boldsymbol{t}^\\top \\boldsymbol{t})), \\boldsymbol{t} \\in \\mathbb{R}^Df(t)=sin(log(t⊤t)),t∈RD를 t\\boldsymbol{t}t로 미분하라. g(X)=tr(AXB),A∈RD×E,X∈RE×F,B∈RF×Dg(X) = \\text{tr}(AXB), A \\in \\mathbb{R}^{D \\times E}, X \\in \\mathbb{R}^{E \\times F}, B \\in \\mathbb{R}^{F \\times D}g(X)=tr(AXB),A∈RD×E,X∈RE×F,B∈RF×D를 XXX로 미분하라. 풀이: 연쇄법칙: u=t⊤t ⟹ dudt=2t⊤∈R1×Du = \\boldsymbol{t}^\\top \\boldsymbol{t} \\implies \\frac{du}{d\\boldsymbol{t}} = 2\\boldsymbol{t}^\\top \\in \\mathbb{R}^{1 \\times D}u=t⊤t⟹dtdu​=2t⊤∈R1×D. v=log⁡(u) ⟹ dvdu=1uv = \\log(u) \\implies \\frac{dv}{du} = \\frac{1}{u}v=log(u)⟹dudv​=u1​. f=sin⁡(v) ⟹ dfdv=cos⁡(v)f = \\sin(v) \\implies \\frac{df}{dv} = \\cos(v)f=sin(v)⟹dvdf​=cos(v). dfdt=cos⁡(v)⋅1u⋅2t⊤=2cos⁡(log⁡(t⊤t))t⊤tt⊤∈R1×D\\frac{df}{d\\boldsymbol{t}} = \\cos(v) \\cdot \\frac{1}{u} \\cdot 2\\boldsymbol{t}^\\top = \\frac{2\\cos(\\log(\\boldsymbol{t}^\\top \\boldsymbol{t}))}{\\boldsymbol{t}^\\top \\boldsymbol{t}} \\boldsymbol{t}^\\top \\in \\mathbb{R}^{1 \\times D}dtdf​=cos(v)⋅u1​⋅2t⊤=t⊤t2cos(log(t⊤t))​t⊤∈R1×D 5.5절 항등식 8번 적용: ∂g∂X=A⊤B⊤∈RE×F\\frac{\\partial g}{\\partial X} = A^\\top B^\\top \\in \\mathbb{R}^{E \\times F}∂X∂g​=A⊤B⊤∈RE×F 차원 확인: A⊤∈RE×DA^\\top \\in \\mathbb{R}^{E \\times D}A⊤∈RE×D, B⊤∈RD×F ⟹ A⊤B⊤∈RE×FB^\\top \\in \\mathbb{R}^{D \\times F} \\implies A^\\top B^\\top \\in \\mathbb{R}^{E \\times F}B⊤∈RD×F⟹A⊤B⊤∈RE×F로 XXX의 차원과 정확히 일치한다. Exercise 5.7 문제 요약: 연쇄법칙을 사용하여 다음 함수의 미분을 구하고 모든 중간 편미분의 차원을 명시하라. (a) f(z)=log⁡(1+z),z=x⊤x,x∈RDf(z) = \\log(1 + z), z = \\boldsymbol{x}^\\top \\boldsymbol{x}, \\boldsymbol{x} \\in \\mathbb{R}^Df(z)=log(1+z),z=x⊤x,x∈RD (b) f(z)=sin⁡(z),z=Ax+b,A∈RE×D,x∈RD,b∈RE\\boldsymbol{f}(\\boldsymbol{z}) = \\sin(\\boldsymbol{z}), \\boldsymbol{z} = A\\boldsymbol{x} + \\boldsymbol{b}, A \\in \\mathbb{R}^{E \\times D}, \\boldsymbol{x} \\in \\mathbb{R}^D, \\boldsymbol{b} \\in \\mathbb{R}^{E}f(z)=sin(z),z=Ax+b,A∈RE×D,x∈RD,b∈RE 풀이: (a) 중간 차원: ∂f∂z=11+z∈R1×1\\frac{\\partial f}{\\partial z} = \\frac{1}{1+z} \\in \\mathbb{R}^{1 \\times 1}∂z∂f​=1+z1​∈R1×1, ∂z∂x=2x⊤∈R1×D\\frac{\\partial z}{\\partial \\boldsymbol{x}} = 2\\boldsymbol{x}^\\top \\in \\mathbb{R}^{1 \\times D}∂x∂z​=2x⊤∈R1×D. dfdx=∂f∂z∂z∂x=2x⊤1+x⊤x∈R1×D\\frac{df}{d\\boldsymbol{x}} = \\frac{\\partial f}{\\partial z} \\frac{\\partial z}{\\partial \\boldsymbol{x}} = \\frac{2\\boldsymbol{x}^\\top}{1 + \\boldsymbol{x}^\\top \\boldsymbol{x}} \\in \\mathbb{R}^{1 \\times D}dxdf​=∂z∂f​∂x∂z​=1+x⊤x2x⊤​∈R1×D (b) sin⁡(z)\\sin(\\boldsymbol{z})sin(z)는 원소별 적용이다. 중간 차원: ∂f∂z=diag(cos⁡(z))∈RE×E\\frac{\\partial \\boldsymbol{f}}{\\partial \\boldsymbol{z}} = \\text{diag}(\\cos(\\boldsymbol{z})) \\in \\mathbb{R}^{E \\times E}∂z∂f​=diag(cos(z))∈RE×E, ∂z∂x=A∈RE×D\\frac{\\partial \\boldsymbol{z}}{\\partial \\boldsymbol{x}} = A \\in \\mathbb{R}^{E \\times D}∂x∂z​=A∈RE×D. dfdx=∂f∂z∂z∂x=diag(cos⁡(Ax+b))A∈RE×D\\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}} = \\frac{\\partial \\boldsymbol{f}}{\\partial \\boldsymbol{z}} \\frac{\\partial \\boldsymbol{z}}{\\partial \\boldsymbol{x}} = \\text{diag}(\\cos(A\\boldsymbol{x} + \\boldsymbol{b})) A \\in \\mathbb{R}^{E \\times D}dxdf​=∂z∂f​∂x∂z​=diag(cos(Ax+b))A∈RE×D Exercise 5.8 문제 요약: 다음 함수들의 도함수 dfdx\\frac{df}{d\\boldsymbol{x}}dxdf​를 구하라. (a) f(z)=exp⁡(−12z),z=y⊤S−1y,y=x−μf(z) = \\exp(-\\frac{1}{2}z), z = \\boldsymbol{y}^\\top S^{-1} \\boldsymbol{y}, \\boldsymbol{y} = \\boldsymbol{x} - \\boldsymbol{\\mu}f(z)=exp(−21​z),z=y⊤S−1y,y=x−μ (x,μ∈RD\\boldsymbol{x},\\boldsymbol{\\mu}\\in\\mathbb{R}^Dx,μ∈RD, S∈RD×DS\\in\\mathbb{R}^{D\\times D}S∈RD×D. 교재는 SSS가 대칭이라고 하지 않았다) (b) f(x)=tr(xx⊤+σ2I)f(\\boldsymbol{x}) = \\text{tr}(\\boldsymbol{x}\\boldsymbol{x}^\\top + \\sigma^2 I)f(x)=tr(xx⊤+σ2I) (c) f=tanh⁡(z)∈RM,z=Ax+b,A∈RM×N\\boldsymbol{f} = \\tanh(\\boldsymbol{z}) \\in \\mathbb{R}^M, \\boldsymbol{z} = A\\boldsymbol{x} + \\boldsymbol{b}, A \\in \\mathbb{R}^{M \\times N}f=tanh(z)∈RM,z=Ax+b,A∈RM×N 풀이: (a) dfdz=−12exp⁡(−12z)∈R1×1\\frac{df}{dz} = -\\frac{1}{2}\\exp(-\\frac{1}{2}z) \\in \\mathbb{R}^{1 \\times 1}dzdf​=−21​exp(−21​z)∈R1×1. dzdy=y⊤(S−1+S−⊤)∈R1×D\\frac{dz}{d\\boldsymbol{y}} = \\boldsymbol{y}^\\top (S^{-1} + S^{-\\top}) \\in \\mathbb{R}^{1 \\times D}dydz​=y⊤(S−1+S−⊤)∈R1×D (식 5.107: ∂∂yy⊤By=y⊤(B+B⊤)\\frac{\\partial}{\\partial \\boldsymbol{y}}\\boldsymbol{y}^\\top B\\boldsymbol{y} = \\boldsymbol{y}^\\top(B+B^\\top)∂y∂​y⊤By=y⊤(B+B⊤)에 B=S−1B=S^{-1}B=S−1을 넣음). dydx=ID∈RD×D\\frac{d\\boldsymbol{y}}{d\\boldsymbol{x}} = I_D \\in \\mathbb{R}^{D \\times D}dxdy​=ID​∈RD×D. dfdx=dfdzdzdydydx=−12f (x−μ)⊤(S−1+S−⊤)∈R1×D\\frac{df}{d\\boldsymbol{x}} = \\frac{df}{dz}\\frac{dz}{d\\boldsymbol{y}}\\frac{d\\boldsymbol{y}}{d\\boldsymbol{x}} = -\\frac{1}{2} f\\,(\\boldsymbol{x}-\\boldsymbol{\\mu})^\\top (S^{-1}+S^{-\\top}) \\in \\mathbb{R}^{1 \\times D}dxdf​=dzdf​dydz​dxdy​=−21​f(x−μ)⊤(S−1+S−⊤)∈R1×D 여기서 f=exp⁡(−12(x−μ)⊤S−1(x−μ))f = \\exp\\left(-\\frac{1}{2}(\\boldsymbol{x}-\\boldsymbol{\\mu})^\\top S^{-1}(\\boldsymbol{x}-\\boldsymbol{\\mu})\\right)f=exp(−21​(x−μ)⊤S−1(x−μ))는 원래 함수값이다(exp⁡(−12z)\\exp(-\\frac12z)exp(−21​z)를 미분하면 자기 자신의 −12-\\frac12−21​배). SSS가 대칭이면(공분산 행렬처럼) S−⊤=S−1S^{-\\top}=S^{-1}S−⊤=S−1이라 괄호가 2S−12S^{-1}2S−1이 되고, 앞의 12\\frac1221​과 약분되어 −f (x−μ)⊤S−1-f\\,(\\boldsymbol{x}-\\boldsymbol{\\mu})^\\top S^{-1}−f(x−μ)⊤S−1로 줄어든다. (b) 대각합의 성질: tr(xx⊤)=x⊤x=∑xi2\\text{tr}(\\boldsymbol{x}\\boldsymbol{x}^\\top) = \\boldsymbol{x}^\\top \\boldsymbol{x} = \\sum x_i^2tr(xx⊤)=x⊤x=∑xi2​, tr(σ2I)=Dσ2\\text{tr}(\\sigma^2 I) = D\\sigma^2tr(σ2I)=Dσ2. 따라서 f(x)=x⊤x+Dσ2f(\\boldsymbol{x}) = \\boldsymbol{x}^\\top \\boldsymbol{x} + D\\sigma^2f(x)=x⊤x+Dσ2. dfdx=2x⊤∈R1×D\\frac{df}{d\\boldsymbol{x}} = 2\\boldsymbol{x}^\\top \\in \\mathbb{R}^{1 \\times D}dxdf​=2x⊤∈R1×D (c) ∂f∂z=diag(1−tanh⁡2(z))∈RM×M\\frac{\\partial \\boldsymbol{f}}{\\partial \\boldsymbol{z}} = \\text{diag}(1 - \\tanh^2(\\boldsymbol{z})) \\in \\mathbb{R}^{M \\times M}∂z∂f​=diag(1−tanh2(z))∈RM×M, ∂z∂x=A∈RM×N\\frac{\\partial \\boldsymbol{z}}{\\partial \\boldsymbol{x}} = A \\in \\mathbb{R}^{M \\times N}∂x∂z​=A∈RM×N. dfdx=diag(1−tanh⁡2(Ax+b))A∈RM×N\\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}} = \\text{diag}(1 - \\tanh^2(A\\boldsymbol{x} + \\boldsymbol{b})) A \\in \\mathbb{R}^{M \\times N}dxdf​=diag(1−tanh2(Ax+b))A∈RM×N Exercise 5.9 문제 요약: g(x,z,ν):=log⁡p(x,z)−log⁡q(z,ν)g(\\boldsymbol{x}, \\boldsymbol{z}, \\boldsymbol{\\nu}) := \\log p(\\boldsymbol{x}, \\boldsymbol{z}) - \\log q(\\boldsymbol{z}, \\boldsymbol{\\nu})g(x,z,ν):=logp(x,z)−logq(z,ν), z:=t(ϵ,ν)\\boldsymbol{z} := \\boldsymbol{t}(\\boldsymbol{\\epsilon}, \\boldsymbol{\\nu})z:=t(ϵ,ν) 일 때 연쇄법칙으로 dgdν\\frac{d g}{d\\boldsymbol{\\nu}}dνdg​를 구하라. 풀이: 변수 ν\\boldsymbol{\\nu}ν는 두 경로로 ggg에 영향을 준다: z=t(ϵ,ν)\\boldsymbol{z} = \\boldsymbol{t}(\\boldsymbol{\\epsilon}, \\boldsymbol{\\nu})z=t(ϵ,ν)를 거치는 간접 경로 log⁡q(z,ν)\\log q(\\boldsymbol{z}, \\boldsymbol{\\nu})logq(z,ν)의 두 번째 인수로 직접 들어가는 직접 경로 전미분 연쇄법칙을 적용하면: dgdν=∂g∂z∂z∂ν+∂g∂ν\\frac{d g}{d\\boldsymbol{\\nu}} = \\frac{\\partial g}{\\partial \\boldsymbol{z}} \\frac{\\partial \\boldsymbol{z}}{\\partial \\boldsymbol{\\nu}} + \\frac{\\partial g}{\\partial \\boldsymbol{\\nu}}dνdg​=∂z∂g​∂ν∂z​+∂ν∂g​ ∂g∂z=∂log⁡p(x,z)∂z−∂log⁡q(z,ν)∂z∈R1×E\\frac{\\partial g}{\\partial \\boldsymbol{z}} = \\frac{\\partial \\log p(\\boldsymbol{x}, \\boldsymbol{z})}{\\partial \\boldsymbol{z}} - \\frac{\\partial \\log q(\\boldsymbol{z}, \\boldsymbol{\\nu})}{\\partial \\boldsymbol{z}} \\in \\mathbb{R}^{1 \\times E}∂z∂g​=∂z∂logp(x,z)​−∂z∂logq(z,ν)​∈R1×E ∂z∂ν=∂t(ϵ,ν)∂ν∈RE×F\\frac{\\partial \\boldsymbol{z}}{\\partial \\boldsymbol{\\nu}} = \\frac{\\partial \\boldsymbol{t}(\\boldsymbol{\\epsilon}, \\boldsymbol{\\nu})}{\\partial \\boldsymbol{\\nu}} \\in \\mathbb{R}^{E \\times F}∂ν∂z​=∂ν∂t(ϵ,ν)​∈RE×F ∂g∂ν=−∂log⁡q(z,ν)∂ν∈R1×F\\frac{\\partial g}{\\partial \\boldsymbol{\\nu}} = -\\frac{\\partial \\log q(\\boldsymbol{z}, \\boldsymbol{\\nu})}{\\partial \\boldsymbol{\\nu}} \\in \\mathbb{R}^{1 \\times F}∂ν∂g​=−∂ν∂logq(z,ν)​∈R1×F 결합하면: dgdν=(∂log⁡p(x,z)∂z−∂log⁡q(z,ν)∂z)∂t(ϵ,ν)∂ν−∂log⁡q(z,ν)∂ν∈R1×F\\frac{d g}{d\\boldsymbol{\\nu}} = \\left( \\frac{\\partial \\log p(\\boldsymbol{x}, \\boldsymbol{z})}{\\partial \\boldsymbol{z}} - \\frac{\\partial \\log q(\\boldsymbol{z}, \\boldsymbol{\\nu})}{\\partial \\boldsymbol{z}} \\right) \\frac{\\partial \\boldsymbol{t}(\\boldsymbol{\\epsilon}, \\boldsymbol{\\nu})}{\\partial \\boldsymbol{\\nu}} - \\frac{\\partial \\log q(\\boldsymbol{z}, \\boldsymbol{\\nu})}{\\partial \\boldsymbol{\\nu}} \\in \\mathbb{R}^{1 \\times F}dνdg​=(∂z∂logp(x,z)​−∂z∂logq(z,ν)​)∂ν∂t(ϵ,ν)​−∂ν∂logq(z,ν)​∈R1×F (이 수식은 VAE(변분 오토인코더)의 핵심인 재매개변수화 트릭(Reparameterization Trick)의 그래디언트 유도 공식 그 자체다!) 시험 직전 10분 요약 1. 미분 대상별 차원(Shape) 판정표 (분자 중심 표기법 기준) 함수 형태 fff 입력 형태 x\\boldsymbol{x}x 도함수 기호 도함수의 차원 (Shape) 명칭 스칼라 R\\mathbb{R}R 스칼라 R\\mathbb{R}R dfdx\\frac{df}{dx}dxdf​ 1×11 \\times 11×1 스칼라 통상 도함수 스칼라 R\\mathbb{R}R 열벡터 Rn\\mathbb{R}^nRn dfdx\\frac{df}{d\\boldsymbol{x}}dxdf​ 1×n1 \\times n1×n 행벡터 기울기 (Gradient) 열벡터 Rm\\mathbb{R}^mRm 열벡터 Rn\\mathbb{R}^nRn dfdx\\frac{d\\boldsymbol{f}}{d\\boldsymbol{x}}dxdf​ m×nm \\times nm×n 행렬 야코비안 (Jacobian) 행렬 Rm×n\\mathbb{R}^{m \\times n}Rm×n 열벡터 Rp\\mathbb{R}^pRp dAdx\\frac{dA}{d\\boldsymbol{x}}dxdA​ m×n×pm \\times n \\times pm×n×p 텐서 텐서 야코비안 스칼라 R\\mathbb{R}R 행렬 Rm×n\\mathbb{R}^{m \\times n}Rm×n ∂f∂X\\frac{\\partial f}{\\partial X}∂X∂f​ m×nm \\times nm×n 행렬 행렬 편미분 2. 외워 둘 행렬 미분 항등식 선형 형태: ∂(a⊤x)∂x=a⊤∈R1×n,∂(Ax)∂x=A∈Rm×n\\frac{\\partial (\\boldsymbol{a}^\\top \\boldsymbol{x})}{\\partial \\boldsymbol{x}} = \\boldsymbol{a}^\\top \\in \\mathbb{R}^{1 \\times n}, \\quad \\frac{\\partial (A\\boldsymbol{x})}{\\partial \\boldsymbol{x}} = A \\in \\mathbb{R}^{m \\times n}∂x∂(a⊤x)​=a⊤∈R1×n,∂x∂(Ax)​=A∈Rm×n 2차 형식: ∂(x⊤Bx)∂x=x⊤(B+B⊤) ⟹ 대칭 B일 때 2x⊤B\\frac{\\partial (\\boldsymbol{x}^\\top B \\boldsymbol{x})}{\\partial \\boldsymbol{x}} = \\boldsymbol{x}^\\top (B + B^\\top) \\implies \\text{대칭 } B \\text{일 때 } 2\\boldsymbol{x}^\\top B∂x∂(x⊤Bx)​=x⊤(B+B⊤)⟹대칭 B일 때 2x⊤B 가중 오차 제곱합: ∂∂s(x−As)⊤W(x−As)=−2(x−As)⊤WA(W=W⊤)\\frac{\\partial}{\\partial \\boldsymbol{s}} (\\boldsymbol{x} - A\\boldsymbol{s})^\\top W (\\boldsymbol{x} - A\\boldsymbol{s}) = -2(\\boldsymbol{x} - A\\boldsymbol{s})^\\top W A \\quad (W = W^\\top)∂s∂​(x−As)⊤W(x−As)=−2(x−As)⊤WA(W=W⊤) 대각합(Trace): ∂tr(X)∂X=I,∂tr(AXB)∂X=A⊤B⊤\\frac{\\partial \\text{tr}(X)}{\\partial X} = I, \\quad \\frac{\\partial \\text{tr}(AXB)}{\\partial X} = A^\\top B^\\top∂X∂tr(X)​=I,∂X∂tr(AXB)​=A⊤B⊤ 행렬식(Determinant): ∂det⁡(X)∂X=det⁡(X)(X−1)⊤,∂ln⁡det⁡(X)∂X=(X−1)⊤ ⟹ X 대칭이면 X−1\\frac{\\partial \\det(X)}{\\partial X} = \\det(X)(X^{-1})^\\top, \\quad \\frac{\\partial \\ln\\det(X)}{\\partial X} = (X^{-1})^\\top \\implies X \\text{ 대칭이면 } X^{-1}∂X∂det(X)​=det(X)(X−1)⊤,∂X∂lndet(X)​=(X−1)⊤⟹X 대칭이면 X−1 역행렬: ∂X−1∂t=−X−1∂X∂tX−1,∂(a⊤X−1b)∂X=−(X−1)⊤ab⊤(X−1)⊤\\frac{\\partial X^{-1}}{\\partial t} = -X^{-1} \\frac{\\partial X}{\\partial t} X^{-1}, \\quad \\frac{\\partial (\\boldsymbol{a}^\\top X^{-1} \\boldsymbol{b})}{\\partial X} = -(X^{-1})^\\top \\boldsymbol{a} \\boldsymbol{b}^\\top (X^{-1})^\\top∂t∂X−1​=−X−1∂t∂X​X−1,∂X∂(a⊤X−1b)​=−(X−1)⊤ab⊤(X−1)⊤ 3. 시험장 체크리스트 기울기를 쓸 때 행벡터(1×n1 \\times n1×n)로 적었는가? 야코비안의 크기를 (출력 차원 mmm) ×\\times× (입력 차원 nnn)으로 정확히 맞추었는가? 2차 형식 미분에서 행렬의 대칭성 조건(B=B⊤B = B^\\topB=B⊤)을 확인했는가? 헤시안 판정 시 고유값의 부호를 정확히 확인했는가? (모두 양수 →\\to→ 극소, 부호 혼재 →\\to→ 안장점) 테일러 2차 전개 시 헤시안 앞의 12\\frac{1}{2}21​ 계수를 빠뜨리지 않았는가? ","permalink":"https://qofo.github.io/posts/mml-ch05-vector-calculus/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 쪽수\u003c/strong\u003e: 139~171쪽\u003cbr\u003e\n\u003cstrong\u003e이 장이 뒤쪽 장에서 어디에 다시 쓰이는가\u003c/strong\u003e:\n7장 연속 최적화(Continuous Optimization, 경사하강법 및 뉴턴 방법의 토대), 9장 선형 회귀(Linear Regression, 비용함수 미분 및 정규방정식 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmsub\u003e\u003cmi mathvariant=\"normal\"\u003e∇\u003c/mi\u003e\u003cmi mathvariant=\"bold-italic\"\u003eθ\u003c/mi\u003e\u003c/msub\u003e\u003cmi\u003eL\u003c/mi\u003e\u003cmo\u003e=\u003c/mo\u003e\u003cmn mathvariant=\"bold\"\u003e0\u003c/mn\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\nabla_{\\boldsymbol{\\theta}} L = \\mathbf{0}\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e\u003cspan class=\"mord\"\u003e∇\u003c/span\u003e\u003cspan class=\"msupsub\"\u003e\u003cspan class=\"vlist-t vlist-t2\"\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.3361em;\"\u003e\u003cspan style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:2.7em;\"\u003e\u003c/span\u003e\u003cspan class=\"sizing reset-size6 size3 mtight\"\u003e\u003cspan class=\"mord mtight\"\u003e\u003cspan class=\"mord mtight\"\u003e\u003cspan class=\"mord mtight\"\u003e\u003cspan class=\"mord boldsymbol mtight\" style=\"margin-right:0.03194em;\"\u003eθ\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-s\"\u003e​\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.15em;\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\"\u003eL\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2778em;\"\u003e\u003c/span\u003e\u003cspan class=\"mrel\"\u003e=\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2778em;\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6444em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathbf\"\u003e0\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e 도출), 10장 차원 축소(Dimensionality Reduction/PCA, 라그랑주 승수법을 적용한 분산 극대화 목적식 미분), 11장 밀도 추정(Density Estimation/GMM, EM 알고리즘의 로그우도 매개변수 최적화), 12장 분류(SVM, 초평면 마진 최적화와 KKT 조건 유도). 머신러닝의 \u0026lsquo;학습(learning)\u0026lsquo;은 곧 목적함수를 최적화하는 과정이며, 매개변수 공간에서 어느 방향으로 이동해야 손실(오차)이 가장 빠르게 줄어드는지를 알려주는 유일한 나침반이 바로 이 장의 기울기(gradient)와 야코비안(Jacobian)이다.\u003c/p\u003e","title":"MML 5장 벡터 미적분: 기울기, 야코비안, 역전파"},{"content":"4편에서 고정 주소를 확보했다. 남은 요구사항은 무인 운영이다. 사람이 Termux 앱을 열지 않아도 서버가 떠 있어야 한다.\n폰은 일반 서버보다 프로세스가 죽을 이유가 많다.\n재부팅: 배터리가 닳거나 시스템 업데이트로 꺼졌다 켜진다. LMK(Low Memory Killer): 메모리가 부족하면 안드로이드가 백그라운드 프로세스를 경고 없이 SIGKILL로 정리한다. Doze: 화면이 꺼지고 기기가 정지 상태면 CPU와 네트워크가 묶인다. 각각에 대응하는 계층을 세 개 만들었다. 이 글은 그 v1 구조의 기록이다. 결론을 먼저 밝히면 이 구조는 하루를 버티지 못했다. 원인은 마지막 절에 있고, 재설계는 6편에 있다.\n1층: 부팅 자동 실행 Termux:Boot 앱은 안드로이드가 부팅을 마치면 ~/.termux/boot/ 안의 스크립트를 실행한다.\n#!/data/data/com.termux/files/usr/bin/sh # 화면이 꺼져도 CPU가 잠들지 않도록 termux-wake-lock # 원격 접속용 SSH 서버 (8022 포트) sshd # 우분투로 들어가 감시 데몬 실행 if ! pgrep -f \u0026#34;serve_blog.py\u0026#34; \u0026gt;/dev/null; then nohup proot-distro login ubuntu -- /root/start_services.sh start-daemon \\ \u0026gt;~/boot_services.log 2\u0026gt;\u0026amp;1 \u0026amp; fi termux-wake-lock이 Doze 대응이다. 이것이 없으면 화면을 끈 지 몇 분 만에 CPU가 절전 상태로 들어가고 터널 연결이 끊긴다.\n2층: 10초 주기 감시 데몬 systemd가 없으므로 프로세스 감시자를 직접 만들었다. 쉘 스크립트 한 편이다.\nstart_daemon() { echo \u0026#34;[DAEMON] Starting persistent background supervisor...\u0026#34; \u0026gt;\u0026gt; \u0026#34;$LOG_DIR/daemon.log\u0026#34; start_blog start_ngrok while true; do if ! pgrep -f \u0026#34;serve_blog.py\u0026#34; \u0026gt;/dev/null; then echo \u0026#34;[$(date \u0026#39;+%F %T\u0026#39;)] [CRASH DETECTED] Restarting Blog Server...\u0026#34; \u0026gt;\u0026gt; \u0026#34;$LOG_DIR/daemon.log\u0026#34; start_blog fi if ! pgrep -f \u0026#34;ngrok http\u0026#34; \u0026gt;/dev/null; then echo \u0026#34;[$(date \u0026#39;+%F %T\u0026#39;)] [CRASH DETECTED] Restarting ngrok Tunnel...\u0026#34; \u0026gt;\u0026gt; \u0026#34;$LOG_DIR/daemon.log\u0026#34; start_ngrok fi sleep 10 done } pgrep으로 프로세스 존재 여부를 확인하고 없으면 다시 띄운다. 무한 루프가 도는 동안에는 proot 세션도 끝나지 않으므로, 3편에서 정리한 --kill-on-exit 문제도 함께 피한다고 판단했다.\n3층: 진입 경로마다 자동 시작 계층 위치 트리거 부팅 ~/.termux/boot/start-server.sh 기기 재부팅 Termux 로그인 Termux ~/.bashrc Termux 앱 실행, SSH 접속 우분투 로그인 /root/.bashrc proot 우분투 진입 세 경로 모두 \u0026ldquo;서버가 안 떠 있으면 띄운다\u0026quot;를 실행한다. 어느 문으로 들어오든 서버가 살아난다는 뜻이다.\n검증: 강제 종료 후 복구 확인 pkill -9 -f \u0026#34;serve_blog.py\u0026#34; 10초 안에 감지하고 다시 띄웠다.\n[2026-09-17 13:39:55] [CRASH DETECTED] Restarting ngrok Tunnel... 외부 주소에서도 정상 응답했다. 이 로그를 근거로 자가 치유가 동작한다고 판단했다.\n개정 노트: 이 구조의 결함 두 가지 다음 날 서버 상태를 점검한 결과는 이랬다.\nBlog Server: [STOPPED] ngrok Tunnel: [STOPPED] 위 3층이 모두 설정된 상태에서 블로그와 터널이 모두 꺼져 있었다. 원인은 두 가지다.\n첫째, 3층 중 두 층이 서비스를 proot 세션 안에 묶었다. 우분투 쪽 .bashrc로 띄운 서비스는 그 로그인 셸이 끝나면 --kill-on-exit에 함께 끌려간다. 감시 데몬 없이 떠 있다가 세션이 닫히면서 사라졌다.\n둘째, 위에 인용한 [CRASH DETECTED] 로그는 복구의 증거가 아니라 결함의 증상이었다. 그 시각 ngrok이 죽은 이유는 크래시가 아니라 터미널에서 누른 Ctrl+C였다. 감시 데몬이 SSH 터미널의 프로세스 그룹 안에서 돌고 있어서, 터미널 신호가 자식 프로세스까지 전달됐다. 감시 데몬은 원인을 모른 채 10초마다 같은 프로세스를 다시 띄우고 있었다.\n정리하면 복구 장치를 만든 것과 복구되는 것을 확인한 것은 다르다. pkill 한 번으로 통과한 테스트는 \u0026ldquo;프로세스가 죽는 경우\u0026quot;만 검증했다. \u0026ldquo;감시자 자신이 죽는 경우\u0026quot;와 \u0026ldquo;프로세스가 잘못된 세션에서 태어난 경우\u0026quot;는 검증하지 않았다.\n→ 6편. 감시 데몬이 지키지 못한 것: 원인 분석과 재설계\n","permalink":"https://qofo.github.io/posts/termux-boot-supervisor/","summary":"\u003cp\u003e\u003ca href=\"/posts/fixed-address-without-domain/\"\u003e4편\u003c/a\u003e에서 고정 주소를 확보했다. 남은 요구사항은 무인 운영이다. 사람이 Termux 앱을 열지 않아도 서버가 떠 있어야 한다.\u003c/p\u003e\n\u003cp\u003e폰은 일반 서버보다 프로세스가 죽을 이유가 많다.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e재부팅\u003c/strong\u003e: 배터리가 닳거나 시스템 업데이트로 꺼졌다 켜진다.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLMK(Low Memory Killer)\u003c/strong\u003e: 메모리가 부족하면 안드로이드가 백그라운드 프로세스를 경고 없이 \u003ccode\u003eSIGKILL\u003c/code\u003e로 정리한다.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDoze\u003c/strong\u003e: 화면이 꺼지고 기기가 정지 상태면 CPU와 네트워크가 묶인다.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e각각에 대응하는 계층을 세 개 만들었다. 이 글은 그 v1 구조의 기록이다. 결론을 먼저 밝히면 \u003cstrong\u003e이 구조는 하루를 버티지 못했다.\u003c/strong\u003e 원인은 마지막 절에 있고, 재설계는 \u003ca href=\"/posts/supervisor-postmortem/\"\u003e6편\u003c/a\u003e에 있다.\u003c/p\u003e","title":"Termux:Boot와 감시 데몬으로 무인 운영 구성하기"},{"content":" 교재 쪽수: 172~224쪽\n이 장이 뒤쪽 장에서 어디에 다시 쓰이는가: 8장 모델과 데이터(최대우도추정 MLE, 최대사후확률추정 MAP, 경험적 위험 최소화 ERM의 확률론적 해석), 9장 선형 회귀(베이지안 선형 회귀의 가우시안 우도, 가우시안 사전분포, 가우시안 사후분포 도출 및 한계 우도 증거 Marginal Likelihood 계산), 10장 차원 축소(확률적 PCA/PPCA의 정규분포 잠재변수 모델링), 11장 밀도 추정/GMM(가우시안 혼합 모델, 잠재변수의 책임도 responsibility rnkr_{nk}rnk​ 사후확률 계산, EM 알고리즘의 E-단계 및 M-단계 모수 갱신, 디리클레-다항 켤레 사전분포), 12장 분류(SVM과 대비되는 로지스틱 회귀 및 확률적 판별 모델). 머신러닝에서 데이터의 노이즈와 모델의 불확실성(Uncertainty)을 정량화하고 데이터로부터 새로운 지식을 학습하는 모든 수학적 기반이 이 장에 압축되어 있다.\n0. 이 장 지도 확률론은 머신러닝에서 불확실성을 표현하고 추론하는 핵심 언어다. 단순한 동전 던지기 같은 고전적 확률에서 시작하여, 엄밀한 확률 공간(σ\\sigmaσ-대수), 이산/연속 확률변수, 머신러닝의 3대 추론 원칙(합의 법칙, 곱의 법칙, 베이즈 정리), 요약 통계량(평균, 공분산, 선형변환), 그리고 머신러닝의 가장 중요한 두 기둥인 가우시안 분포(Gaussian Distribution)와 켤레 사전분포 및 지수족(Conjugacy \u0026amp; Exponential Family)으로 체계적으로 발전한다.\nflowchart TD S61[\u0026#34;6.1 확률 공간의 구성\u0026lt;br/\u0026gt;(표본공간, σ-대수, 확률측도)\u0026#34;] --\u0026gt; S62[\u0026#34;6.2 이산 및 연속 확률\u0026lt;br/\u0026gt;(PMF, PDF, CDF)\u0026#34;] S62 --\u0026gt; S63[\u0026#34;6.3 합의 법칙, 곱의 법칙, 베이즈 정리\u0026lt;br/\u0026gt;(머신러닝 확률 추론의 기본 3원칙)\u0026#34;] S63 --\u0026gt; S64[\u0026#34;6.4 요약 통계량과 독립성\u0026lt;br/\u0026gt;(기댓값, 공분산, 선형변환, 내적)\u0026#34;] S64 --\u0026gt; S65[\u0026#34;6.5 가우시안 분포 ★★★\u0026lt;br/\u0026gt;(주변/조건부분포, 곱, 선형변환)\u0026#34;] S63 --\u0026gt; S66[\u0026#34;6.6 켤레성과 지수족 ★★★\u0026lt;br/\u0026gt;(켤레사전분포, 충분통계량, 로그분할함수)\u0026#34;] S65 --\u0026gt; S67[\u0026#34;6.7 변수 변환과 역변환\u0026lt;br/\u0026gt;(야코비안 행렬식, 확률적분변환)\u0026#34;] S65 --\u0026gt; Ch9[\u0026#34;9장 베이지안 선형회귀\u0026lt;br/\u0026gt;(가우시안 사전/사후/우도)\u0026#34;] S65 --\u0026gt; Ch11[\u0026#34;11장 GMM / EM 알고리즘\u0026lt;br/\u0026gt;(가우시안 혼합, 책임도 r_nk)\u0026#34;] S66 --\u0026gt; Ch11 절 목록 및 핵심 요약과 중요도 절 번호 및 제목 핵심 한 줄 요약 중요도 근거 6.1 확률 공간의 구성 (pp. 172~177) 표본공간 Ω\\OmegaΩ, 사건공간(σ\\sigmaσ-대수), 확률측도 PPP의 콜모고로프 공리와 빈도주의/베이지안 철학을 다룬다. ★☆☆ 수학적 엄밀성을 제공하는 이론적 배경이다. 6.2 이산 확률과 연속 확률 (pp. 178~183) 이산 확률질량함수(PMF)와 연속 확률밀도함수(PDF), 누적분포함수(CDF)의 정의와 차이를 배운다. ★★☆ 데이터 형태에 따른 확률 모델링의 기본이다. 6.3 합/곱의 법칙과 베이즈 정리 (pp. 183~186) 주변화(합의 법칙), 결합확률(곱의 법칙), 사후확률 역추론(베이즈 정리)을 학습한다. ★★★ 8~12장 머신러닝의 모든 확률적 학습과 추론 알고리즘의 절대적 근간이다. 6.4 요약 통계량과 독립성 (pp. 186~196) 기댓값, 공분산 행렬, 세 가지 분산 표현식, 선형변환 시 평균·분산 보존 법칙, 통계적 독립성을 다룬다. ★★★ 9장 회귀, 10장 PCA의 공분산 분해, 모멘트 추정에 직접 직결된다. 6.5 가우시안 분포 (pp. 197~204) 주변분포, 조건부분포, 가우시안 밀도의 곱, 선형변환의 닫힘 성질과 촐레스키 샘플링을 학습한다. ★★★ Part 2 전반을 지배하는 핵심 분포. 9장 베이지안 선형회귀 및 11장 GMM의 수학적 뼈대다. 6.6 켤레성과 지수족 (pp. 205~214) 사후분포 형태를 보존하는 켤레 사전분포 표와 충분통계량, 지수족 일반형 및 로그분할함수 성질을 배운다. ★★★ 베이지안 추론의 핵심 기둥. 9장 가중치 사후분포 및 11장 베이지안 GMM(디리클레 켤레)에 필수적이다. 6.7 변수 변환 / 역변환 (pp. 214~221) 분포함수법, 다변수 야코비안 행렬식 변환 공식, 난수 생성을 위한 확률적분변환을 다룬다. ★★☆ 5장 야코비안의 확률적 응용이자 정규화 흐름(Normalizing Flow), 재매개변수화 트릭의 기초다. 6.8 추가 읽을거리 (pp. 221~222) 더 읽을 책, 정규화 흐름·변분 추론과의 연결, 측도론적 엄밀성에 대한 안내. ★☆☆ 심화 연구 참고용이다. 6.1 확률 공간의 구성(Construction of a Probability Space, 교재 172~177쪽) 왜 필요한가 (직관) 우리가 \u0026ldquo;오늘 비가 올 확률이 70%70\\%70%다\u0026quot;라고 말할 때, 이 불확실성을 어떻게 수학적으로 엄밀하게 정의할 수 있을까? 직관에만 의존하면 \u0026ldquo;무한히 많은 경우의 수\u0026quot;를 다룰 때 수학적 모순(예: 바나흐-타르스키 역설이나 비가측 집합 문제)에 부딪힌다. 따라서 수학자들은 어떤 시행에서 나올 수 있는 모든 결과의 무대(표본공간), 확률을 부여할 수 있는 합법적인 사건들의 모임(사건공간/σ\\sigmaσ-대수), 그리고 각 사건에 000과 111 사이의 숫자를 배정하는 엄격한 규칙(확률측도)이라는 삼위일체의 틀을 만들었다. 이것이 바로 확률 공간(Probability Space)이다.\n정의와 성질 1. 확률 공간의 세 가지 구성 요소 (Ω,A,P)(\\Omega, \\mathcal{A}, P)(Ω,A,P) 표본공간(Sample Space, Ω\\OmegaΩ): 어떤 무작위 실험에서 발생할 수 있는 모든 가능한 결과(outcomes)의 집합. 예: 주사위 1회 던지기 ⟹ Ω={1,2,3,4,5,6}\\implies \\Omega = \\{1, 2, 3, 4, 5, 6\\}⟹Ω={1,2,3,4,5,6}. 사건공간(Event Space, A\\mathcal{A}A): 우리가 확률을 부여할 수 있는 사건(event)들의 집합족으로, 수학적으로 σ\\sigmaσ-대수(σ\\sigmaσ-algebra)를 형성한다. σ\\sigmaσ-대수의 조건: 전체집합이 포함된다: Ω∈A\\Omega \\in \\mathcal{A}Ω∈A 여집합에 닫혀 있다: A∈A ⟹ Ac∈AA \\in \\mathcal{A} \\implies A^c \\in \\mathcal{A}A∈A⟹Ac∈A 가산 무한 합집합에 닫혀 있다: A1,A2,⋯∈A ⟹ ⋃i=1∞Ai∈AA_1, A_2, \\dots \\in \\mathcal{A} \\implies \\bigcup_{i=1}^\\infty A_i \\in \\mathcal{A}A1​,A2​,⋯∈A⟹⋃i=1∞​Ai​∈A 확률측도(Probability Measure, PPP): 사건 A∈AA \\in \\mathcal{A}A∈A에 실수값을 배정하는 함수 P:A→[0,1]P: \\mathcal{A} \\to [0, 1]P:A→[0,1]로, 콜모고로프의 3대 공리(Kolmogorov\u0026rsquo;s Axioms)를 만족한다: 비음수성(Non-negativity): 모든 A∈AA \\in \\mathcal{A}A∈A에 대해 P(A)≥0P(A) \\ge 0P(A)≥0. 정규화(Normalization): 전체사건의 확률은 1이다: P(Ω)=1P(\\Omega) = 1P(Ω)=1. 가산가법성(Countable Additivity): 서로소(disjoint, Ai∩Aj=∅A_i \\cap A_j = \\emptysetAi​∩Aj​=∅)인 사건열에 대해, P(⋃i=1∞Ai)=∑i=1∞P(Ai)P\\left(\\bigcup_{i=1}^\\infty A_i\\right) = \\sum_{i=1}^\\infty P(A_i)P(⋃i=1∞​Ai​)=∑i=1∞​P(Ai​) 2. 확률변수(Random Variable)의 진정한 정의 머신러닝 입문자가 가장 많이 오해하는 개념 중 하나가 \u0026lsquo;확률변수\u0026rsquo;다.\n확률변수(Random Variable)는 \u0026lsquo;변수\u0026rsquo;가 아니라 표본공간의 원소를 실수 공간으로 매핑하는 \u0026lsquo;함수(Function)\u0026lsquo;다! X:Ω→RX: \\Omega \\to \\mathbb{R}X:Ω→R 예: 동전을 두 번 던질 때 표본공간의 결과 ω=(앞면,뒷면)\\omega = (\\text{앞면}, \\text{뒷면})ω=(앞면,뒷면)에 대해 \u0026ldquo;앞면이 나온 횟수\u0026quot;를 X(ω)=1X(\\omega) = 1X(ω)=1로 실수값을 대응시키는 규칙 자체가 확률변수다. 3. 6.1.1 철학적 쟁점: 빈도주의 vs 베이지안 빈도주의(Frequentist Interpretation): 확률을 \u0026ldquo;동일한 실험을 무한히 반복했을 때 특정 사건이 발생하는 상대적 빈도(relative frequency)\u0026rdquo;로 정의한다. 모수(parameter) θ\\thetaθ는 고정된 미지의 상수이며, 데이터가 무작위로 관측된다고 본다 (MLE 추정). 베이지안(Bayesian Interpretation): 확률을 \u0026ldquo;불확실성에 대한 주관적 또는 합리적인 믿음의 정도(degree of belief)\u0026rdquo;로 정의한다. 데이터는 이미 관측된 고정된 사실이며, 모수 θ\\thetaθ 자체가 불확실성을 가진 확률변수로 취급된다 (Prior, Posterior, MAP 추정). 손으로 풀어 보는 예제 [예제 1-1] 동전 2회 던지기 확률 공간 구성 공정한 동전을 2회 던지는 실험에 대해 확률 공간 (Ω,A,P)(\\Omega, \\mathcal{A}, P)(Ω,A,P)와 확률변수 XXX를 정의하라.\n1단계 (표본공간): 앞면을 HHH, 뒷면을 TTT라 하면, Ω={(H,H),(H,T),(T,H),(T,T)}\\Omega = \\{ (H, H), (H, T), (T, H), (T, T) \\}Ω={(H,H),(H,T),(T,H),(T,T)} 원소의 개수는 ∣Ω∣=4|\\Omega| = 4∣Ω∣=4이다. 2단계 (사건공간 σ\\sigmaσ-대수): Ω\\OmegaΩ가 유한집합이므로 멱집합(Power set) P(Ω)\\mathcal{P}(\\Omega)P(Ω) 전체를 사건공간으로 둘 수 있다: ∣A∣=24=16|\\mathcal{A}| = 2^4 = 16∣A∣=24=16개의 사건. 공사건 ∅\\emptyset∅, 단일사건들, 전체사건 Ω\\OmegaΩ 등이 모두 포함된다. 3단계 (확률측도): 공정한 동전이므로 각 근원사건의 확률은 P({(H,H)})=P({(H,T)})=P({(T,H)})=P({(T,T)})=14P(\\{(H, H)\\}) = P(\\{(H, T)\\}) = P(\\{(T, H)\\}) = P(\\{(T, T)\\}) = \\frac{1}{4}P({(H,H)})=P({(H,T)})=P({(T,H)})=P({(T,T)})=41​. 임의의 사건 AAA의 확률은 P(A)=∣A∣4P(A) = \\frac{|A|}{4}P(A)=4∣A∣​. 4단계 (확률변수 XXX: 앞면의 개수): X((H,H))=2 ⟹ P(X=2)=P({(H,H)})=14X((H, H)) = 2 \\implies P(X = 2) = P(\\{(H, H)\\}) = \\frac{1}{4}X((H,H))=2⟹P(X=2)=P({(H,H)})=41​ X((H,T))=1,X((T,H))=1 ⟹ P(X=1)=P({(H,T),(T,H)})=24=12X((H, T)) = 1, X((T, H)) = 1 \\implies P(X = 1) = P(\\{(H, T), (T, H)\\}) = \\frac{2}{4} = \\frac{1}{2}X((H,T))=1,X((T,H))=1⟹P(X=1)=P({(H,T),(T,H)})=42​=21​ X((T,T))=0 ⟹ P(X=0)=P({(T,T)})=14X((T, T)) = 0 \\implies P(X = 0) = P(\\{(T, T)\\}) = \\frac{1}{4}X((T,T))=0⟹P(X=0)=P({(T,T)})=41​ 확률의 총합: 14+12+14=1\\frac{1}{4} + \\frac{1}{2} + \\frac{1}{4} = 141​+21​+41​=1. 헷갈리는 점 / 자주 하는 실수 확률변수를 수치로 착각하는 실수: XXX는 함수이고, 소문자 xxx가 그 함수가 취하는 구체적인 실숫값(실현값, realization)이다. 표기법 P(X=x)P(X = x)P(X=x)는 엄밀히 P({ω∈Ω∣X(ω)=x})P(\\{ \\omega \\in \\Omega \\mid X(\\omega) = x \\})P({ω∈Ω∣X(ω)=x})를 줄여 쓴 것이다. 6.2 이산 확률과 연속 확률(Discrete and Continuous Probabilities, 교재 178~183쪽) 왜 필요한가 (직관) 컴퓨터가 다루는 데이터는 두 종류다. 이미지 분류 라벨(고양이, 개, 자동차)이나 자연어 토큰 번호는 셀 수 있는 이산형(discrete) 데이터이고, 센서 전압, 온도, 오디오 파형, 신경망 가중치는 연속적인 실수형(continuous) 데이터다. 이산형에서는 \u0026ldquo;어떤 특정 값이 나올 확률\u0026quot;을 직접 더할 수 있지만, 연속형에서는 임의의 특정 실수 하나가 정확히 나올 확률은 000이다(바늘 끝으로 수직선 위의 한 점을 정확히 찌를 확률). 따라서 연속형에서는 특정 점 대신 구간의 면적(적분)을 통해 확률을 구해야 하며, 이를 위해 확률밀도함수(PDF)라는 개념이 등장한다.\n정의와 성질 1. 6.2.1 이산 확률 (Discrete Probabilities) 확률변수 XXX가 취할 수 있는 값의 집합이 유한하거나 가산 무한(countable)일 때:\n확률질량함수(Probability Mass Function, PMF): P(X=x)=p(x),0≤p(x)≤1,∑xp(x)=1P(X = x) = p(x), \\quad 0 \\le p(x) \\le 1, \\quad \\sum_{x} p(x) = 1P(X=x)=p(x),0≤p(x)≤1,∑x​p(x)=1 임의의 부분집합 SSS에 대한 확률: P(X∈S)=∑x∈Sp(x)P(X \\in S) = \\sum_{x \\in S} p(x)P(X∈S)=∑x∈S​p(x). 2. 6.2.2 연속 확률 (Continuous Probabilities) 확률변수 XXX가 연속적인 실숫값을 가질 때:\n확률밀도함수(Probability Density Function, PDF) f(x)f(x)f(x): 비음수성: 모든 xxx에 대해 f(x)≥0f(x) \\ge 0f(x)≥0. 전체 적분은 1: ∫−∞∞f(x)dx=1\\int_{-\\infty}^{\\infty} f(x) dx = 1∫−∞∞​f(x)dx=1. 구간 확률: 구간 [a,b][a, b][a,b]에 속할 확률은 곡선 아래 면적이다: P(a≤X≤b)=∫abf(x)dxP(a \\le X \\le b) = \\int_a^b f(x) dxP(a≤X≤b)=∫ab​f(x)dx 중요 성질: 임의의 단일 점 ccc에 대해 P(X=c)=∫ccf(x)dx=0P(X = c) = \\int_c^c f(x) dx = 0P(X=c)=∫cc​f(x)dx=0이다! 밀도의 성질: f(x)f(x)f(x)는 확률 자체가 아니라 \u0026lsquo;단위 길이당 확률(밀도)\u0026lsquo;이므로, f(x)\u0026gt;1f(x) \u0026gt; 1f(x)\u0026gt;1일 수 있다 (예: 균등분포 Uniform(0,0.5)\\text{Uniform}(0, 0.5)Uniform(0,0.5)에서 f(x)=2f(x) = 2f(x)=2). 3. 누적분포함수(Cumulative Distribution Function, CDF) 이산과 연속 모두에서 통용되는 통합 도구로, XXX가 어떤 기준값 xxx 이하일 누적 확률이다: FX(x)=P(X≤x)F_X(x) = P(X \\le x)FX​(x)=P(X≤x) 성질: 단조증가(Monotonically non-decreasing): x1≤x2 ⟹ F(x1)≤F(x2)x_1 \\le x_2 \\implies F(x_1) \\le F(x_2)x1​≤x2​⟹F(x1​)≤F(x2​) 극한: lim⁡x→−∞F(x)=0,lim⁡x→∞F(x)=1\\lim_{x \\to -\\infty} F(x) = 0, \\quad \\lim_{x \\to \\infty} F(x) = 1limx→−∞​F(x)=0,limx→∞​F(x)=1 미적분학의 기본정리에 의해, 연속 확률변수의 경우 PDF는 CDF의 도함수다: f(x)=ddxFX(x)f(x) = \\frac{d}{dx} F_X(x)f(x)=dxd​FX​(x) 손으로 풀어 보는 예제 [예제 2-1] 지수분포의 PDF, CDF, 구간 확률 계산 어떤 전자 부품의 수명 XXX가 모수 λ=2\\lambda = 2λ=2인 지수분포(Exponential distribution)를 따른다고 하자: f(x)={2e−2x(x≥0)0(x\u0026lt;0)f(x) = \\begin{cases} 2e^{-2x} \u0026amp; (x \\ge 0) \\\\ 0 \u0026amp; (x \u0026lt; 0) \\end{cases}f(x)={2e−2x0​(x≥0)(x\u0026lt;0)​ 전체 적분이 1임을 확인하라. 누적분포함수 F(x)F(x)F(x)를 구하라. 부품 수명이 1시간에서 2시간 사이일 확률 P(1≤X≤2)P(1 \\le X \\le 2)P(1≤X≤2)를 계산하라. 1단계 (전체 적분 확인): ∫0∞2e−2xdx=[−e−2x]0∞=lim⁡b→∞(−e−2b)−(−e0)=0−(−1)=1\\int_0^\\infty 2e^{-2x} dx = \\left[ -e^{-2x} \\right]_0^\\infty = \\lim_{b \\to \\infty} (-e^{-2b}) - (-e^0) = 0 - (-1) = 1∫0∞​2e−2xdx=[−e−2x]0∞​=limb→∞​(−e−2b)−(−e0)=0−(−1)=1 2단계 (CDF F(x)F(x)F(x) 도출): x≥0x \\ge 0x≥0에 대하여: F(x)=∫0x2e−2tdt=[−e−2t]0x=−e−2x−(−e0)=1−e−2xF(x) = \\int_0^x 2e^{-2t} dt = \\left[ -e^{-2t} \\right]_0^x = -e^{-2x} - (-e^0) = 1 - e^{-2x}F(x)=∫0x​2e−2tdt=[−e−2t]0x​=−e−2x−(−e0)=1−e−2x 3단계 (구간 확률 계산): P(1≤X≤2)=F(2)−F(1)=(1−e−4)−(1−e−2)=e−2−e−4P(1 \\le X \\le 2) = F(2) - F(1) = (1 - e^{-4}) - (1 - e^{-2}) = e^{-2} - e^{-4}P(1≤X≤2)=F(2)−F(1)=(1−e−4)−(1−e−2)=e−2−e−4 e−2≈0.1353e^{-2} \\approx 0.1353e−2≈0.1353, e−4≈0.0183e^{-4} \\approx 0.0183e−4≈0.0183 P(1≤X≤2)≈0.1353−0.0183=0.1170P(1 \\le X \\le 2) \\approx 0.1353 - 0.0183 = 0.1170P(1≤X≤2)≈0.1353−0.0183=0.1170 (11.7%11.7\\%11.7%) 헷갈리는 점 / 자주 하는 실수 PDF 함숫값을 확률로 착각하는 실수: f(x0)=5f(x_0) = 5f(x0​)=5라고 해서 x0x_0x0​가 나올 확률이 5인 것이 아니다. 확률은 반드시 미소 구간 dxdxdx를 곱한 면적 f(x0)dxf(x_0)dxf(x0​)dx로만 정의된다. 6.3 합의 법칙, 곱의 법칙, 베이즈 정리(Sum Rule, Product Rule, and Bayes\u0026rsquo; Theorem, 교재 183~186쪽) 왜 필요한가 (직관) 머신러닝은 기본적으로 \u0026ldquo;이미 관측한 데이터 yyy를 바탕으로, 보이지 않는 진짜 정답이나 매개변수 xxx를 역추적하는 학문\u0026rdquo;이다.\n원인(xxx)에서 결과(yyy)가 나오는 과정은 우리가 물리 법칙이나 모델로 기술할 수 있다 ⟹ \\implies⟹ 우도(Likelihood, p(y∣x)p(y \\mid x)p(y∣x)). 하지만 우리가 알고 싶은 것은 반대로 \u0026ldquo;결과(yyy)가 주어졌을 때 원인(xxx)이 무엇이었을까?\u0026ldquo;이다 ⟹ \\implies⟹ 사후확률(Posterior, p(x∣y)p(x \\mid y)p(x∣y)). 이 인과관계의 방향을 수학적으로 뒤집어 주는 역추론의 절대 법칙이 바로 베이즈 정리(Bayes\u0026rsquo; Theorem)이며, 이를 지탱하는 두 기둥이 합의 법칙(Sum Rule)과 곱의 법칙(Product Rule)이다. 정의와 성질 1. 합의 법칙 (Sum Rule / Marginalization) 결합확률분포 p(x,y)p(x, y)p(x,y)에서 관심 없는 변수 yyy를 모두 더하거나 적분하여 제거(주변화, marginalize out)하고, 관심 있는 변수 xxx만의 주변확률분포(Marginal Distribution)를 얻는 규칙: p(x)={∑yp(x,y)(이산 확률변수)∫p(x,y)dy(연속 확률변수)p(x) = \\begin{cases} \\sum_y p(x, y) \u0026amp; (\\text{이산 확률변수}) \\\\ \\int p(x, y) dy \u0026amp; (\\text{연속 확률변수}) \\end{cases}p(x)={∑y​p(x,y)∫p(x,y)dy​(이산 확률변수)(연속 확률변수)​2. 곱의 법칙 (Product Rule) 두 변수가 동시에 발생할 결합확률은 조건부 확률과 조건 변수의 확률의 곱으로 분해된다: p(x,y)=p(x∣y)p(y)=p(y∣x)p(x)p(x, y) = p(x \\mid y) p(y) = p(y \\mid x) p(x)p(x,y)=p(x∣y)p(y)=p(y∣x)p(x)3. 베이즈 정리 (Bayes\u0026rsquo; Theorem) 곱의 법칙의 양변을 정리하고 분모에 합의 법칙을 적용하여 조건부 확률의 방향을 뒤집는 공식: p(x∣y)=p(y∣x)p(x)p(y)=p(y∣x)p(x)∫p(y∣x′)p(x′)dx′\\begin{aligned} p(x \\mid y) \u0026amp;= \\frac{p(y \\mid x) p(x)}{p(y)} \\\\ \u0026amp;= \\frac{p(y \\mid x) p(x)}{\\int p(y \\mid x\u0026#x27;) p(x\u0026#x27;) dx\u0026#x27;} \\end{aligned}p(x∣y)​=p(y)p(y∣x)p(x)​=∫p(y∣x′)p(x′)dx′p(y∣x)p(x)​​flowchart LR Prior[\u0026#34;사전확률 p(x)\u0026lt;br\u0026gt;(데이터 관측 전 믿음)\u0026#34;] --\u0026gt; Mult[\u0026#34;x 우도 p(y|x)\u0026lt;br\u0026gt;(데이터가 모수를 지지하는 정도)\u0026#34;] Mult --\u0026gt; Numerator[\u0026#34;분자: p(y|x) p(x)\u0026#34;] Evidence[\u0026#34;분모: 증거 p(y)\u0026lt;br\u0026gt;(모든 x에 대해 적분한 정규화 상수)\u0026#34;] --\u0026gt; Div[\u0026#34;나눗셈\u0026#34;] Numerator --\u0026gt; Div Div --\u0026gt; Posterior[\u0026#34;사후확률 p(x|y)\u0026lt;br\u0026gt;(데이터 관측 후 갱신된 믿음)\u0026#34;] 사전확률(Prior) p(x)p(x)p(x): 데이터를 보기 전, 매개변수나 상태 xxx에 대해 우리가 알고 있던 지식. 우도(Likelihood) p(y∣x)p(y \\mid x)p(y∣x): xxx라는 조건이 참일 때, 관측 데이터 yyy가 나타날 확률(밀도). 증거 / 한계 우도(Evidence / Marginal Likelihood) p(y)p(y)p(y): 가능한 모든 x′x\u0026#x27;x′에 대해 우도와 사전확률의 가중 평균 적분. 사후확률의 총합을 1로 만들어 주는 정규화 상수(normalization constant). 사후확률(Posterior) p(x∣y)p(x \\mid y)p(x∣y): 관측 데이터 yyy를 본 후 갱신된 xxx의 최종 확률. 비례 관계: 사후확률 ∝\\propto∝ 우도 ×\\times× 사전확률 (Posterior ∝\\propto∝ Likelihood ×\\times× Prior). 손으로 풀어 보는 예제 [예제 3-1] 희귀 질병 진단과 기저율의 오류(Base Rate Fallacy) 전체 인구 중 어떤 희귀 질병 DDD에 걸릴 확률(유병률)은 1%1\\%1%이다: P(D)=0.01,P(Dc)=0.99P(D) = 0.01, P(D^c) = 0.99P(D)=0.01,P(Dc)=0.99.\n진단 키트의 성능:\n실제 질병 환자를 양성(+++)으로 판정할 확률(민감도): P(+∣D)=0.95P(+ \\mid D) = 0.95P(+∣D)=0.95. 정상인을 양성으로 오진할 확률(위양성률): P(+∣Dc)=0.05P(+ \\mid D^c) = 0.05P(+∣Dc)=0.05. 어떤 사람이 검사에서 양성(+++) 판정을 받았다. 이 사람이 실제로 질병에 걸렸을 확률 P(D∣+)P(D \\mid +)P(D∣+)를 계산하라.\n1단계 (전체 양성 판정 확률, 증거 P(+)P(+)P(+) 계산 - 합의 법칙): P(+)=P(+∣D)P(D)+P(+∣Dc)P(Dc)\\begin{aligned} P(+) \u0026amp;= P(+ \\mid D)P(D) \\\\ \u0026amp;\\quad + P(+ \\mid D^c)P(D^c) \\end{aligned}P(+)​=P(+∣D)P(D)+P(+∣Dc)P(Dc)​ P(+)=(0.95)(0.01)+(0.05)(0.99)=0.0095+0.0495=0.0590\\begin{aligned} P(+) \u0026amp;= (0.95)(0.01) + (0.05)(0.99) \\\\ \u0026amp;= 0.0095 + 0.0495 = 0.0590 \\end{aligned}P(+)​=(0.95)(0.01)+(0.05)(0.99)=0.0095+0.0495=0.0590​ 2단계 (베이즈 정리 적용): P(D∣+)=P(+∣D)P(D)P(+)=0.00950.0590=95590=19118≈0.1610\\begin{aligned} P(D \\mid +) \u0026amp;= \\frac{P(+ \\mid D)P(D)}{P(+)} \\\\ \u0026amp;= \\frac{0.0095}{0.0590} \\\\ \u0026amp;= \\frac{95}{590} \\\\ \u0026amp;= \\frac{19}{118} \\\\ \u0026amp;\\approx 0.1610 \\end{aligned}P(D∣+)​=P(+)P(+∣D)P(D)​=0.05900.0095​=59095​=11819​≈0.1610​ 해석: 검사 정확도가 95%95\\%95%나 되는데도, 양성 판정을 받은 사람이 실제 환자일 확률은 고작 16.1%16.1\\%16.1%에 불과하다! 이유는 질병의 사전확률(기저율, 1%1\\%1%)이 너무 낮기 때문에 정상인의 5%5\\%5% 오진(0.04950.04950.0495)이 실제 환자의 양성(0.00950.00950.0095)보다 압도적으로 많기 때문이다. 베이즈 추론에서 사전확률(Prior)의 영향력이 얼마나 막강한지 보여주는 교과서적 예시다.\n[예제 3-2] 이산 결합분포표에서의 주변화와 조건부 확률 (교재 예제 6.1 변형) 두 이산 확률변수 X∈{x1,x2,x3}X \\in \\{x_1, x_2, x_3\\}X∈{x1​,x2​,x3​}, Y∈{y1,y2}Y \\in \\{y_1, y_2\\}Y∈{y1​,y2​}의 결합확률표가 다음과 같다고 하자:\nx1x_1x1​ x2x_2x2​ x3x_3x3​ 합 (p(y)p(y)p(y)) y1y_1y1​ 0.10.10.1 0.20.20.2 0.10.10.1 0.40.40.4 y2y_2y2​ 0.30.30.3 0.10.10.1 0.20.20.2 0.60.60.6 합 (p(x)p(x)p(x)) 0.40.40.4 0.30.30.3 0.30.30.3 1.01.01.0 주변분포 p(x)p(x)p(x)와 p(y)p(y)p(y)를 구하라. Y=y1Y = y_1Y=y1​이 관측되었을 때 XXX의 조건부 확률분포 p(x∣Y=y1)p(x \\mid Y = y_1)p(x∣Y=y1​)을 구하라. X=x2X = x_2X=x2​가 관측되었을 때 YYY의 조건부 확률분포 p(y∣X=x2)p(y \\mid X = x_2)p(y∣X=x2​)를 구하라. 1단계 (주변분포): 가로 행의 합: p(y1)=0.1+0.2+0.1=0.4p(y_1) = 0.1 + 0.2 + 0.1 = 0.4p(y1​)=0.1+0.2+0.1=0.4, p(y2)=0.3+0.1+0.2=0.6p(y_2) = 0.3 + 0.1 + 0.2 = 0.6p(y2​)=0.3+0.1+0.2=0.6. 세로 열의 합: p(x1)=0.1+0.3=0.4p(x_1) = 0.1 + 0.3 = 0.4p(x1​)=0.1+0.3=0.4, p(x2)=0.2+0.1=0.3p(x_2) = 0.2 + 0.1 = 0.3p(x2​)=0.2+0.1=0.3, p(x3)=0.1+0.2=0.3p(x_3) = 0.1 + 0.2 = 0.3p(x3​)=0.1+0.2=0.3. 2단계 (p(x∣y1)p(x \\mid y_1)p(x∣y1​) 계산): p(xi∣y1)=p(xi,y1)p(y1)=p(xi,y1)0.4p(x_i \\mid y_1) = \\frac{p(x_i, y_1)}{p(y_1)} = \\frac{p(x_i, y_1)}{0.4}p(xi​∣y1​)=p(y1​)p(xi​,y1​)​=0.4p(xi​,y1​)​. p(x1∣y1)=0.10.4=0.25p(x_1 \\mid y_1) = \\frac{0.1}{0.4} = 0.25p(x1​∣y1​)=0.40.1​=0.25 p(x2∣y1)=0.20.4=0.50p(x_2 \\mid y_1) = \\frac{0.2}{0.4} = 0.50p(x2​∣y1​)=0.40.2​=0.50 p(x3∣y1)=0.10.4=0.25p(x_3 \\mid y_1) = \\frac{0.1}{0.4} = 0.25p(x3​∣y1​)=0.40.1​=0.25 합: 0.25+0.50+0.25=1.00.25 + 0.50 + 0.25 = 1.00.25+0.50+0.25=1.0. 3단계 (p(y∣x2)p(y \\mid x_2)p(y∣x2​) 계산): p(yj∣x2)=p(x2,yj)p(x2)=p(x2,yj)0.3p(y_j \\mid x_2) = \\frac{p(x_2, y_j)}{p(x_2)} = \\frac{p(x_2, y_j)}{0.3}p(yj​∣x2​)=p(x2​)p(x2​,yj​)​=0.3p(x2​,yj​)​. p(y1∣x2)=0.20.3=23≈0.667p(y_1 \\mid x_2) = \\frac{0.2}{0.3} = \\frac{2}{3} \\approx 0.667p(y1​∣x2​)=0.30.2​=32​≈0.667 p(y2∣x2)=0.10.3=13≈0.333p(y_2 \\mid x_2) = \\frac{0.1}{0.3} = \\frac{1}{3} \\approx 0.333p(y2​∣x2​)=0.30.1​=31​≈0.333 헷갈리는 점 / 자주 하는 실수 우도 p(y∣x)p(y \\mid x)p(y∣x)와 사후확률 p(x∣y)p(x \\mid y)p(x∣y)의 혼동: 우도는 \u0026lsquo;매개변수 xxx가 주어졌을 때 데이터 yyy가 나올 확률\u0026rsquo;이고, 사후확률은 \u0026lsquo;데이터 yyy가 주어졌을 때 매개변수 xxx의 확률\u0026rsquo;이다. 두 조건의 전후를 뒤바꾸면 완전히 엉뚱한 결론이 나온다. 6.4 요약 통계량과 독립성(Summary Statistics and Independence, 교재 186~196쪽) 왜 필요한가 (직관) 복잡한 다차원 확률분포 함수 전체를 들고 다니는 것은 연산량이 너무 크다. 분포의 \u0026lsquo;무게중심(평균)\u0026lsquo;이 어디에 있고, 그 중심으로부터 데이터들이 \u0026lsquo;어느 방향으로 얼마나 넓게 퍼져 있는지(분산 및 공분산)\u0026lsquo;만 알아도 머신러닝 모델의 대부분을 설계할 수 있다. 나아가 두 변수가 서로에게 아무런 영향을 주지 않는지(독립성)를 판단하는 것은 모델의 복잡도를 낮추는 가장 강력한 도구다.\n정의와 성질 1. 6.4.1 평균과 공분산 기댓값(Expected Value / Mean): E[X]={∑xxp(x)(이산)∫xf(x)dx(연속)\\mathbb{E}[X] = \\begin{cases} \\sum_x x p(x) \u0026amp; (\\text{이산}) \\\\ \\int x f(x) dx \u0026amp; (\\text{연속}) \\end{cases}E[X]={∑x​xp(x)∫xf(x)dx​(이산)(연속)​ 선형성(Linearity): E[aX+bY+c]=aE[X]+bE[Y]+c\\mathbb{E}[aX + bY + c] = a\\mathbb{E}[X] + b\\mathbb{E}[Y] + cE[aX+bY+c]=aE[X]+bE[Y]+c (변수들이 독립이 아니어도 항상 성립!). 분산(Variance): 평균으로부터의 편차(deviation) 제곱의 기댓값: V[X]=E[(X−E[X])2]=E[X2]−(E[X])2\\mathbb{V}[X] = \\mathbb{E}[(X - \\mathbb{E}[X])^2] = \\mathbb{E}[X^2] - (\\mathbb{E}[X])^2V[X]=E[(X−E[X])2]=E[X2]−(E[X])2 성질: V[aX+b]=a2V[X]\\mathbb{V}[aX + b] = a^2 \\mathbb{V}[X]V[aX+b]=a2V[X]. 공분산 행렬(Covariance Matrix): 다변량 확률변수 벡터 x∈RD\\boldsymbol{x} \\in \\mathbb{R}^Dx∈RD에 대하여: Σ=V[x]=Cov[x,x]=E[(x−μ)(x−μ)⊤]∈RD×D\\Sigma = \\mathbb{V}[\\boldsymbol{x}] = \\text{Cov}[\\boldsymbol{x}, \\boldsymbol{x}] = \\mathbb{E}[(\\boldsymbol{x} - \\boldsymbol{\\mu})(\\boldsymbol{x} - \\boldsymbol{\\mu})^\\top] \\in \\mathbb{R}^{D \\times D}Σ=V[x]=Cov[x,x]=E[(x−μ)(x−μ)⊤]∈RD×D 대각 원소 Σii=V[xi]\\Sigma_{ii} = \\mathbb{V}[x_i]Σii​=V[xi​]: 각 변수 xix_ixi​의 분산. 비대각 원소 Σij=Cov[xi,xj]\\Sigma_{ij} = \\text{Cov}[x_i, x_j]Σij​=Cov[xi​,xj​]: 두 변수 xi,xjx_i, x_jxi​,xj​ 사이의 공분산. 핵심 성질: 공분산 행렬은 항상 대칭(Symmetric, Σ=Σ⊤\\Sigma = \\Sigma^\\topΣ=Σ⊤)이며 양의 준정부호(Positive Semi-Definite, PSD, z⊤Σz≥0\\boldsymbol{z}^\\top \\Sigma \\boldsymbol{z} \\ge 0z⊤Σz≥0)이다! 2. 6.4.2 표본 평균과 표본 공분산 (교재 관례 명시) NNN개의 데이터 샘플 {x1,…,xN}\\{\\boldsymbol{x}_1, \\dots, \\boldsymbol{x}_N\\}{x1​,…,xN​}이 주어졌을 때:\n표본 평균: μ^=1N∑n=1Nxn\\hat{\\boldsymbol{\\mu}} = \\frac{1}{N} \\sum_{n=1}^N \\boldsymbol{x}_nμ^​=N1​∑n=1N​xn​ 표본 공분산: Σ^=1N∑n=1N(xn−μ^)(xn−μ^)⊤\\hat{\\Sigma} = \\frac{1}{N} \\sum_{n=1}^N (\\boldsymbol{x}_n - \\hat{\\boldsymbol{\\mu}})(\\boldsymbol{x}_n - \\hat{\\boldsymbol{\\mu}})^\\topΣ^=N1​∑n=1N​(xn​−μ^​)(xn​−μ^​)⊤ [교재 관례 알림: 분모 1N\\frac{1}{N}N1​ vs 1N−1\\frac{1}{N-1}N−11​] MML 교재는 머신러닝의 최대우도추정(MLE) 관례에 따라 표본 분산과 공분산의 분모로 1N\\frac{1}{N}N1​을 기본 표기로 사용한다. 반면 통계학에서는 모분산의 비편향 추정량(unbiased estimator)을 만들기 위해 자유도를 1 뺀 1N−1\\frac{1}{N-1}N−11​을 사용한다. 본 해설서와 교재 풀이에서는 교재의 정의인 1N\\frac{1}{N}N1​을 기본으로 따르며, 필요 시 비편향 추정량과의 차이를 함께 명시한다.\n3. 6.4.3 분산의 세 가지 표현식 (교재 식 (6.43), (6.44), (6.45)) 데이터셋 {x1,…,xN}\\{x_1, \\dots, x_N\\}{x1​,…,xN​}에 대한 표본 분산은 다음 세 가지 형태로 완전히 동일하게 표현된다:\n표준 편차 제곱 정의 (Standard Definition): V[X]=1N∑n=1N(xn−μ)2(6.43)\\mathbb{V}[X] = \\frac{1}{N} \\sum_{n=1}^N (x_n - \\mu)^2 \\quad (6.43)V[X]=N1​∑n=1N​(xn​−μ)2(6.43) 원점 모멘트 표현식 (Raw-score Expression): V[X]=1N∑n=1Nxn2−μ2(6.44)\\mathbb{V}[X] = \\frac{1}{N} \\sum_{n=1}^N x_n^2 - \\mu^2 \\quad (6.44)V[X]=N1​∑n=1N​xn2​−μ2(6.44) 쌍별 차이 표현식 (Pairwise Difference Expression): V[X]=12N2∑i=1N∑j=1N(xi−xj)2(6.45)\\mathbb{V}[X] = \\frac{1}{2N^2} \\sum_{i=1}^N \\sum_{j=1}^N (x_i - x_j)^2 \\quad (6.45)V[X]=2N21​∑i=1N​∑j=1N​(xi​−xj​)2(6.45) (이 공식의 직관: 평균 μ\\muμ를 미리 계산할 필요 없이, 모든 데이터 쌍 사이의 거리 제곱 평균으로 분산을 직접 구할 수 있다! 뒤쪽 교재 연습문제 6.6과 6.7의 증명 대상이다.) 교재의 (6.43)·(6.44)는 기댓값으로 쓴 정의 VX[x]=EX[(x−μ)2]=EX[x2]−(EX[x])2\\mathbb{V}_X[x] = \\mathbb{E}_X[(x-\\mu)^2] = \\mathbb{E}_X[x^2] - (\\mathbb{E}_X[x])^2VX​[x]=EX​[(x−μ)2]=EX​[x2]−(EX​[x])2이고, 위 식들은 데이터셋에 적용한 경험적 형태다. 교재 (6.45)는 1N2∑i,j(xi−xj)2=2[1N∑ixi2−(1N∑ixi)2]\\frac{1}{N^2}\\sum_{i,j}(x_i - x_j)^2 = 2\\left[\\frac{1}{N}\\sum_i x_i^2 - \\left(\\frac{1}{N}\\sum_i x_i\\right)^2\\right]N21​∑i,j​(xi​−xj​)2=2[N1​∑i​xi2​−(N1​∑i​xi​)2], 즉 \u0026ldquo;쌍별 차이 제곱의 평균은 원점 모멘트 표현의 두 배\u0026quot;라는 형태로 적혀 있다.\n4. 6.4.4 확률변수의 선형/아핀 변환 확률변수 벡터 x∼(μ,Σ)\\boldsymbol{x} \\sim (\\boldsymbol{\\mu}, \\Sigma)x∼(μ,Σ)에 행렬 AAA와 편향 b\\boldsymbol{b}b를 곱해 변환한 y=Ax+b\\boldsymbol{y} = A\\boldsymbol{x} + \\boldsymbol{b}y=Ax+b에 대하여: E[y]=E[Ax+b]=AE[x]+b=Aμ+b\\begin{aligned} \\mathbb{E}[\\boldsymbol{y}] \u0026amp;= \\mathbb{E}[A\\boldsymbol{x} + \\boldsymbol{b}] \\\\ \u0026amp;= A\\mathbb{E}[\\boldsymbol{x}] + \\boldsymbol{b} = A\\boldsymbol{\\mu} + \\boldsymbol{b} \\end{aligned}E[y]​=E[Ax+b]=AE[x]+b=Aμ+b​ V[y]=V[Ax+b]=AV[x]A⊤=AΣA⊤\\begin{aligned} \\mathbb{V}[\\boldsymbol{y}] \u0026amp;= \\mathbb{V}[A\\boldsymbol{x} + \\boldsymbol{b}] \\\\ \u0026amp;= A \\mathbb{V}[\\boldsymbol{x}] A^\\top = A \\Sigma A^\\top \\end{aligned}V[y]​=V[Ax+b]=AV[x]A⊤=AΣA⊤​ 이 두 공식은 6.5절 가우시안의 선형변환과 10장 PCA에서 핵심적으로 사용된다.\n5. 6.4.5 통계적 독립성 (Statistical Independence) 정의: 두 확률변수 X,YX, YX,Y가 독립(X⊥YX \\perp YX⊥Y)이라는 것은 결합분포가 각각의 주변분포의 곱으로 분해됨을 의미한다: p(x,y)=p(x)p(y)p(x, y) = p(x) p(y)p(x,y)=p(x)p(y) 독립과 무상관의 관계: X⊥Y ⟹ Cov[X,Y]=0X \\perp Y \\implies \\text{Cov}[X, Y] = 0X⊥Y⟹Cov[X,Y]=0 (독립이면 반드시 무상관이다). 그러나 역은 일반적으로 성립하지 않는다 (무상관이라고 해서 독립인 것은 아니다!). 대표적인 예외: 두 변수가 결합 가우시안(Joint Gaussian)을 따를 때는 무상관과 독립이 동치(if and only if)이다. 6. 6.4.6 확률변수의 내적 (교재 195~197쪽) 무상관인 두 확률변수는 V[x+y]=V[x]+V[y]\\mathbb{V}[x+y] = \\mathbb{V}[x] + \\mathbb{V}[y]V[x+y]=V[x]+V[y]이다(식 (6.58)). 분산은 제곱 단위라서 직각삼각형의 피타고라스 정리 c2=a2+b2c^2 = a^2 + b^2c2=a2+b2와 모양이 같다. 평균이 0인 확률변수에 대해 내적을 ⟨X,Y⟩:=Cov[x,y]\\langle X, Y \\rangle := \\text{Cov}[x, y]⟨X,Y⟩:=Cov[x,y]로 정의하면(식 (6.59)), 길이는 ∥X∥=V[x]=σ[x]\\|X\\| = \\sqrt{\\mathbb{V}[x]} = \\sigma[x]∥X∥=V[x]​=σ[x], 즉 표준편차다(식 (6.60)). 길이가 길수록 불확실하고, 길이 0이면 결정적인 값이다. 두 확률변수 사이 각의 코사인은 cos⁡θ=Cov[x,y]V[x]V[y]\\cos\\theta = \\frac{\\text{Cov}[x,y]}{\\sqrt{\\mathbb{V}[x]\\mathbb{V}[y]}}cosθ=V[x]V[y]​Cov[x,y]​로 상관계수다(식 (6.61)). 따라서 무상관 = 직교이고, 그때 분산의 합 공식이 피타고라스 정리가 된다(그림 6.6). 교재 비고: 이 내적에서 나온 유클리드 거리는 확률분포끼리 비교하는 데 좋은 거리가 아니다. 분포는 양수이고 합이 1이라는 제약 때문에 통계적 다양체 위에 있으며, 분포 사이 거리는 보통 KL 발산 등으로 잰다(정보 기하학, Amari 2016). 손으로 풀어 보는 예제 [예제 4-1] 분산의 세 가지 표현식 수치 검증 데이터셋 {1,3,5}\\{1, 3, 5\\}{1,3,5} (N=3N = 3N=3)에 대하여 분산의 세 가지 공식이 동일한 결과를 내는지 검증하라.\n1단계 (평균 계산): μ=1+3+53=93=3\\mu = \\frac{1 + 3 + 5}{3} = \\frac{9}{3} = 3μ=31+3+5​=39​=3. 2단계 (공식 1: 편차 제곱의 평균): V[X]=(1−3)2+(3−3)2+(5−3)23=(−2)2+02+223=4+0+43=83≈2.667\\mathbb{V}[X] = \\frac{(1-3)^2 + (3-3)^2 + (5-3)^2}{3} = \\frac{(-2)^2 + 0^2 + 2^2}{3} = \\frac{4 + 0 + 4}{3} = \\frac{8}{3} \\approx 2.667V[X]=3(1−3)2+(3−3)2+(5−3)2​=3(−2)2+02+22​=34+0+4​=38​≈2.667 3단계 (공식 2: 원점 모멘트): 1N∑xn2=12+32+523=1+9+253=353\\frac{1}{N} \\sum x_n^2 = \\frac{1^2 + 3^2 + 5^2}{3} = \\frac{1 + 9 + 25}{3} = \\frac{35}{3}N1​∑xn2​=312+32+52​=31+9+25​=335​ V[X]=353−32=353−273=83\\mathbb{V}[X] = \\frac{35}{3} - 3^2 = \\frac{35}{3} - \\frac{27}{3} = \\frac{8}{3}V[X]=335​−32=335​−327​=38​ 4단계 (공식 3: 쌍별 차이): 모든 (xi−xj)2(x_i - x_j)^2(xi​−xj​)2 9개 항을 계산: (1−1)2=0,(1−3)2=4,(1−5)2=16(1-1)^2 = 0, (1-3)^2 = 4, (1-5)^2 = 16(1−1)2=0,(1−3)2=4,(1−5)2=16 (3−1)2=4,(3−3)2=0,(3−5)2=4(3-1)^2 = 4, (3-3)^2 = 0, (3-5)^2 = 4(3−1)2=4,(3−3)2=0,(3−5)2=4 (5−1)2=16,(5−3)2=4,(5−5)2=0(5-1)^2 = 16, (5-3)^2 = 4, (5-5)^2 = 0(5−1)2=16,(5−3)2=4,(5−5)2=0 합: 0+4+16+4+0+4+16+4+0=480 + 4 + 16 + 4 + 0 + 4 + 16 + 4 + 0 = 480+4+16+4+0+4+16+4+0=48. V[X]=12N2∑i,j(xi−xj)2=12×32×48=4818=83\\mathbb{V}[X] = \\frac{1}{2N^2} \\sum_{i,j} (x_i - x_j)^2 = \\frac{1}{2 \\times 3^2} \\times 48 = \\frac{48}{18} = \\frac{8}{3}V[X]=2N21​∑i,j​(xi​−xj​)2=2×321​×48=1848​=38​ 세 공식 모두 83\\frac{8}{3}38​로 정확히 일치한다! [예제 4-2] 2차원 아핀 변환의 평균과 공분산 계산 μ=[12]\\boldsymbol{\\mu} = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix}μ=[12​], Σ=[2113]\\Sigma = \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 3 \\end{bmatrix}Σ=[21​13​]인 확률변수 x\\boldsymbol{x}x에 대하여, y=Ax+b\\boldsymbol{y} = A\\boldsymbol{x} + \\boldsymbol{b}y=Ax+b (단, A=[1−120]A = \\begin{bmatrix} 1 \u0026amp; -1 \\\\ 2 \u0026amp; 0 \\end{bmatrix}A=[12​−10​], b=[3−1]\\boldsymbol{b} = \\begin{bmatrix} 3 \\\\ -1 \\end{bmatrix}b=[3−1​])의 평균 μy\\boldsymbol{\\mu}_{\\boldsymbol{y}}μy​와 공분산 Σy\\Sigma_{\\boldsymbol{y}}Σy​를 구하라.\n1단계 (평균 μy\\boldsymbol{\\mu}_{\\boldsymbol{y}}μy​): μy=Aμ+b=[1−120][12]+[3−1]=[1(1)−1(2)2(1)+0(2)]+[3−1]=[−12]+[3−1]=[21]\\begin{aligned} \\boldsymbol{\\mu}_{\\boldsymbol{y}} \u0026amp;= A\\boldsymbol{\\mu} + \\boldsymbol{b} \\\\ \u0026amp;= \\begin{bmatrix} 1 \u0026amp; -1 \\\\ 2 \u0026amp; 0 \\end{bmatrix} \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} 3 \\\\ -1 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1(1) - 1(2) \\\\ 2(1) + 0(2) \\end{bmatrix} + \\begin{bmatrix} 3 \\\\ -1 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} -1 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} 3 \\\\ -1 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix} \\end{aligned}μy​​=Aμ+b=[12​−10​][12​]+[3−1​]=[1(1)−1(2)2(1)+0(2)​]+[3−1​]=[−12​]+[3−1​]=[21​]​ 2단계 (공분산 Σy=AΣA⊤\\Sigma_{\\boldsymbol{y}} = A \\Sigma A^\\topΣy​=AΣA⊤): 먼저 AΣA \\SigmaAΣ 계산: AΣ=[1−120][2113]=[1(2)−1(1)1(1)−1(3)2(2)+0(1)2(1)+0(3)]=[1−242]\\begin{aligned} A \\Sigma \u0026amp;= \\begin{bmatrix} 1 \u0026amp; -1 \\\\ 2 \u0026amp; 0 \\end{bmatrix} \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 3 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1(2) - 1(1) \u0026amp; 1(1) - 1(3) \\\\ 2(2) + 0(1) \u0026amp; 2(1) + 0(3) \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1 \u0026amp; -2 \\\\ 4 \u0026amp; 2 \\end{bmatrix} \\end{aligned}AΣ​=[12​−10​][21​13​]=[1(2)−1(1)2(2)+0(1)​1(1)−1(3)2(1)+0(3)​]=[14​−22​]​ 다음으로 (AΣ)A⊤(A \\Sigma) A^\\top(AΣ)A⊤ 계산 (A⊤=[12−10]A^\\top = \\begin{bmatrix} 1 \u0026amp; 2 \\\\ -1 \u0026amp; 0 \\end{bmatrix}A⊤=[1−1​20​]):\nΣy=[1−242][12−10]=[1(1)+(−2)(−1)1(2)+(−2)(0)4(1)+2(−1)4(2)+2(0)]=[3228]\\begin{aligned} \\Sigma_{\\boldsymbol{y}} \u0026amp;= \\begin{bmatrix} 1 \u0026amp; -2 \\\\ 4 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 1 \u0026amp; 2 \\\\ -1 \u0026amp; 0 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1(1) + (-2)(-1) \u0026amp; 1(2) + (-2)(0) \\\\ 4(1) + 2(-1) \u0026amp; 4(2) + 2(0) \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 3 \u0026amp; 2 \\\\ 2 \u0026amp; 8 \\end{bmatrix} \\end{aligned}Σy​​=[14​−22​][1−1​20​]=[1(1)+(−2)(−1)4(1)+2(−1)​1(2)+(−2)(0)4(2)+2(0)​]=[32​28​]​결과 Σy=[3228]\\Sigma_{\\boldsymbol{y}} = \\begin{bmatrix} 3 \u0026amp; 2 \\\\ 2 \u0026amp; 8 \\end{bmatrix}Σy​=[32​28​]는 대칭행렬이며 양의 정부호(det⁡=24−4=20\u0026gt;0\\det = 24 - 4 = 20 \u0026gt; 0det=24−4=20\u0026gt;0)이다!\n헷갈리는 점 / 자주 하는 실수 무상관을 독립으로 단정하는 실수: X∼Uniform(−1,1)X \\sim \\text{Uniform}(-1, 1)X∼Uniform(−1,1)이고 Y=X2Y = X^2Y=X2이면 Cov[X,Y]=E[X3]−E[X]E[X2]=0−0=0\\text{Cov}[X, Y] = \\mathbb{E}[X^3] - \\mathbb{E}[X]\\mathbb{E}[X^2] = 0 - 0 = 0Cov[X,Y]=E[X3]−E[X]E[X2]=0−0=0으로 무상관이지만, YYY는 XXX에 의해 완전히 결정되므로 명백히 종속이다. 6.5 가우시안 분포(Gaussian Distribution, 교재 197~204쪽) — 핵심 중점 왜 필요한가 (직관) 머신러닝과 통계학에서 가우시안(정규분포)이 널리 쓰이는 이유는 두 가지다.\n중심극한정리(CLT): 서로 독립인 무수한 미세 오차들이 합쳐지면 그 합은 원래 분포가 무엇이든 가우시안으로 수렴한다. 현실 세계의 거의 모든 잡음(noise)이 가우시안을 띠는 이유다. 해석적 다루기 쉬움(Analytical Tractability): 가우시안 분포는 미적분과 선형대수 연산에 대해 \u0026lsquo;정확히 닫혀(closed)\u0026rsquo; 있다. 가우시안의 일부를 잘라내도(주변분포), 어떤 값을 관측하여 조건을 걸어도(조건부분포), 행렬을 곱해 선형변환을 해도, 두 가우시안 밀도를 곱해도 결과는 언제나 다시 가우시안이다! 이 성질 덕분에 9장의 베이지안 선형 회귀와 11장의 GMM에서 모든 사후분포를 컴퓨터의 복잡한 수치 적분 없이 종이와 연필로 닫힌 형태(closed form)로 유도할 수 있다. 정의와 성질 1. 다변량 가우시안 분포(Multivariate Normal Distribution) DDD차원 확률변수 벡터 x∈RD\\boldsymbol{x} \\in \\mathbb{R}^Dx∈RD가 평균 μ∈RD\\boldsymbol{\\mu} \\in \\mathbb{R}^Dμ∈RD, 공분산 행렬 Σ∈RD×D\\Sigma \\in \\mathbb{R}^{D \\times D}Σ∈RD×D를 가질 때의 확률밀도함수:\nN(x∣μ,Σ)=1(2π)D/2∣Σ∣1/2exp⁡(−12(x−μ)⊤Σ−1(x−μ))\\begin{aligned} \\mathcal{N}(\\boldsymbol{x} \\mid \\boldsymbol{\\mu}, \\Sigma) \u0026amp;= \\frac{1}{(2\\pi)^{D/2} |\\Sigma|^{1/2}} \\\\ \u0026amp;\\quad \\exp\\Bigl( -\\frac{1}{2}(\\boldsymbol{x} - \\boldsymbol{\\mu})^\\top \\\\ \u0026amp;\\qquad\\quad \\Sigma^{-1} (\\boldsymbol{x} - \\boldsymbol{\\mu}) \\Bigr) \\end{aligned}N(x∣μ,Σ)​=(2π)D/2∣Σ∣1/21​exp(−21​(x−μ)⊤Σ−1(x−μ))​ 정규화 계수: 1(2π)D/2∣Σ∣1/2\\frac{1}{(2\\pi)^{D/2} |\\Sigma|^{1/2}}(2π)D/2∣Σ∣1/21​ (전체 적분이 1이 되도록 맞춤). 마할라노비스 거리(Mahalanobis Distance): dM2=(x−μ)⊤Σ−1(x−μ)d_M^2 = (\\boldsymbol{x} - \\boldsymbol{\\mu})^\\top \\Sigma^{-1} (\\boldsymbol{x} - \\boldsymbol{\\mu})dM2​=(x−μ)⊤Σ−1(x−μ) (분포의 중심으로부터의 통계적 거리). 등밀도 타원체(Contour Ellipsoid): 지수부의 2차 형식 (x−μ)⊤Σ−1(x−μ)=c2(\\boldsymbol{x} - \\boldsymbol{\\mu})^\\top \\Sigma^{-1} (\\boldsymbol{x} - \\boldsymbol{\\mu}) = c^2(x−μ)⊤Σ−1(x−μ)=c2는 타원체를 형성하며, 주축의 방향은 Σ\\SigmaΣ의 고유벡터, 축의 길이는 고유값의 제곱근 λi\\sqrt{\\lambda_i}λi​​에 비례한다. 2. 6.5.1 가우시안의 주변분포와 조건부 분포 (Marginals \u0026amp; Conditionals) 변수 벡터 x\\boldsymbol{x}x를 두 개의 부분 벡터 xa∈RP\\boldsymbol{x}_a \\in \\mathbb{R}^Pxa​∈RP와 xb∈RQ\\boldsymbol{x}_b \\in \\mathbb{R}^Qxb​∈RQ (D=P+QD = P + QD=P+Q)로 분할(partition)하자: x=[xaxb],μ=[μaμb],Σ=[ΣaaΣabΣbaΣbb]\\begin{gathered} \\boldsymbol{x} = \\begin{bmatrix} \\boldsymbol{x}_a \\\\ \\boldsymbol{x}_b \\end{bmatrix}, \\quad \\boldsymbol{\\mu} = \\begin{bmatrix} \\boldsymbol{\\mu}_a \\\\ \\boldsymbol{\\mu}_b \\end{bmatrix}, \\\\ \\Sigma = \\begin{bmatrix} \\Sigma_{aa} \u0026amp; \\Sigma_{ab} \\\\ \\Sigma_{ba} \u0026amp; \\Sigma_{bb} \\end{bmatrix} \\end{gathered}x=[xa​xb​​],μ=[μa​μb​​],Σ=[Σaa​Σba​​Σab​Σbb​​]​ (여기서 Σba=Σab⊤\\Sigma_{ba} = \\Sigma_{ab}^\\topΣba​=Σab⊤​).\n주변분포(Marginal Distribution): p(xa)=∫p(xa,xb)dxb=N(xa∣μa,Σaa)\\begin{aligned} p(\\boldsymbol{x}_a) \u0026amp;= \\int p(\\boldsymbol{x}_a, \\boldsymbol{x}_b) d\\boldsymbol{x}_b \\\\ \u0026amp;= \\mathcal{N}(\\boldsymbol{x}_a \\mid \\boldsymbol{\\mu}_a, \\Sigma_{aa}) \\end{aligned}p(xa​)​=∫p(xa​,xb​)dxb​=N(xa​∣μa​,Σaa​)​ p(xb)=∫p(xa,xb)dxa=N(xb∣μb,Σbb)\\begin{aligned} p(\\boldsymbol{x}_b) \u0026amp;= \\int p(\\boldsymbol{x}_a, \\boldsymbol{x}_b) d\\boldsymbol{x}_a \\\\ \u0026amp;= \\mathcal{N}(\\boldsymbol{x}_b \\mid \\boldsymbol{\\mu}_b, \\Sigma_{bb}) \\end{aligned}p(xb​)​=∫p(xa​,xb​)dxa​=N(xb​∣μb​,Σbb​)​ 직관: 관심 없는 변수 블록 xb\\boldsymbol{x}_bxb​를 주변화(적분)할 때는 복잡한 계산을 할 필요가 전혀 없다! 결합 평균 벡터와 공분산 행렬에서 해당 블록 행과 열을 그냥 지워버리면(drop) 남은 것이 바로 주변분포다!\n조건부 분포(Conditional Distribution): xb\\boldsymbol{x}_bxb​의 값이 관측되었을 때, xa\\boldsymbol{x}_axa​의 조건부 분포 p(xa∣xb)p(\\boldsymbol{x}_a \\mid \\boldsymbol{x}_b)p(xa​∣xb​) 역시 가우시안이다: p(xa∣xb)=N(xa∣μa∣b,Σa∣b)p(\\boldsymbol{x}_a \\mid \\boldsymbol{x}_b) = \\mathcal{N}(\\boldsymbol{x}_a \\mid \\boldsymbol{\\mu}_{a \\mid b}, \\Sigma_{a \\mid b})p(xa​∣xb​)=N(xa​∣μa∣b​,Σa∣b​) μa∣b=μa+ΣabΣbb−1(xb−μb)\\boldsymbol{\\mu}_{a \\mid b} = \\boldsymbol{\\mu}_a + \\Sigma_{ab} \\Sigma_{bb}^{-1} (\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b)μa∣b​=μa​+Σab​Σbb−1​(xb​−μb​) Σa∣b=Σaa−ΣabΣbb−1Σba\\Sigma_{a \\mid b} = \\Sigma_{aa} - \\Sigma_{ab} \\Sigma_{bb}^{-1} \\Sigma_{ba}Σa∣b​=Σaa​−Σab​Σbb−1​Σba​ 조건부 평균 μa∣b\\boldsymbol{\\mu}_{a \\mid b}μa∣b​: 원래 평균 μa\\boldsymbol{\\mu}_aμa​에 관측 오차 (xb−μb)(\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b)(xb​−μb​)가 교차 공분산 가중치 ΣabΣbb−1\\Sigma_{ab}\\Sigma_{bb}^{-1}Σab​Σbb−1​를 통해 보정된다. 조건부 공분산 Σa∣b\\Sigma_{a \\mid b}Σa∣b​: 원래 공분산 Σaa\\Sigma_{aa}Σaa​에서 정보 획득으로 인한 불확실성 감소분 ΣabΣbb−1Σba\\Sigma_{ab} \\Sigma_{bb}^{-1} \\Sigma_{ba}Σab​Σbb−1​Σba​만큼 차감된다. 이는 Σaa\\Sigma_{aa}Σaa​의 슈어 보수(Schur Complement)다. 결정적 특징: 조건부 분산 Σa∣b\\Sigma_{a \\mid b}Σa∣b​는 관측값 xb\\boldsymbol{x}_bxb​에 전혀 의존하지 않는다! (관측값이 무엇이든 분산 축소량은 사전 공분산 구조만으로 결정된다). 정밀도 행렬 Λ=Σ−1\\Lambda = \\Sigma^{-1}Λ=Σ−1 표현: Σa∣b=Λaa−1,μa∣b=μa−Λaa−1Λab(xb−μb)\\Sigma_{a \\mid b} = \\Lambda_{aa}^{-1}, \\quad \\boldsymbol{\\mu}_{a \\mid b} = \\boldsymbol{\\mu}_a - \\Lambda_{aa}^{-1} \\Lambda_{ab} (\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b)Σa∣b​=Λaa−1​,μa∣b​=μa​−Λaa−1​Λab​(xb​−μb​) 3. 6.5.2 가우시안 밀도의 곱 (Product of Gaussian Densities) 두 가우시안 밀도의 곱은 정규화되지 않은 또 다른 가우시안 밀도(스케일 상수 ccc가 곱해진 형태)가 된다: N(x∣a,A)N(x∣b,B)=cN(x∣c0,C)\\begin{aligned} \u0026amp;\\mathcal{N}(\\boldsymbol{x} \\mid \\boldsymbol{a}, A) \\mathcal{N}(\\boldsymbol{x} \\mid \\boldsymbol{b}, B) \\\\ \u0026amp;= c \\mathcal{N}(\\boldsymbol{x} \\mid \\boldsymbol{c}_0, C) \\end{aligned}​N(x∣a,A)N(x∣b,B)=cN(x∣c0​,C)​ 여기서: C=(A−1+B−1)−1C = (A^{-1} + B^{-1})^{-1}C=(A−1+B−1)−1 c0=C(A−1a+B−1b)\\boldsymbol{c}_0 = C(A^{-1}\\boldsymbol{a} + B^{-1}\\boldsymbol{b})c0​=C(A−1a+B−1b) c=N(a∣b,A+B)=(2π)−D/2∣A+B∣−1/2exp⁡(−12(a−b)⊤(A+B)−1(a−b))\\begin{aligned} c \u0026amp;= \\mathcal{N}(\\boldsymbol{a} \\mid \\boldsymbol{b}, A + B) \\\\ \u0026amp;= (2\\pi)^{-D/2} |A+B|^{-1/2} \\\\ \u0026amp;\\quad \\exp\\Bigl( -\\frac{1}{2}(\\boldsymbol{a}-\\boldsymbol{b})^\\top \\\\ \u0026amp;\\qquad\\quad (A+B)^{-1} (\\boldsymbol{a}-\\boldsymbol{b}) \\Bigr) \\end{aligned}c​=N(a∣b,A+B)=(2π)−D/2∣A+B∣−1/2exp(−21​(a−b)⊤(A+B)−1(a−b))​ 정밀도 관점에서 보면: C−1=A−1+B−1C^{-1} = A^{-1} + B^{-1}C−1=A−1+B−1로 정밀도 행렬이 단순히 더해진다! 가중 평균: 평균 c0\\boldsymbol{c}_0c0​는 각 가우시안의 정밀도 가중 평균이다. 4. 6.5.3 합과 선형 변환 아핀 변환: x∼N(μ,Σ) ⟹ y=Ax+b∼N(Aμ+b,AΣA⊤)\\boldsymbol{x} \\sim \\mathcal{N}(\\boldsymbol{\\mu}, \\Sigma) \\implies \\boldsymbol{y} = A\\boldsymbol{x} + \\boldsymbol{b} \\sim \\mathcal{N}(A\\boldsymbol{\\mu} + \\boldsymbol{b}, A \\Sigma A^\\top)x∼N(μ,Σ)⟹y=Ax+b∼N(Aμ+b,AΣA⊤) 독립 가우시안의 합: x∼N(μx,Σx),y∼N(μy,Σy) ⟹ x+y∼N(μx+μy,Σx+Σy)\\boldsymbol{x} \\sim \\mathcal{N}(\\boldsymbol{\\mu}_x, \\Sigma_x), \\quad \\boldsymbol{y} \\sim \\mathcal{N}(\\boldsymbol{\\mu}_y, \\Sigma_y) \\implies \\boldsymbol{x} + \\boldsymbol{y} \\sim \\mathcal{N}(\\boldsymbol{\\mu}_x + \\boldsymbol{\\mu}_y, \\Sigma_x + \\Sigma_y)x∼N(μx​,Σx​),y∼N(μy​,Σy​)⟹x+y∼N(μx​+μy​,Σx​+Σy​) 가우시안 혼합(Mixture of Gaussians, 11장 GMM): 가우시안 확률변수의 가중합 ax+byax+byax+by과 가우시안 밀도의 가중합 p(x)=αp1(x)+(1−α)p2(x)p(x) = \\alpha p_1(x) + (1-\\alpha)p_2(x)p(x)=αp1​(x)+(1−α)p2​(x)는 완전히 다르다! 밀도의 가중합은 다봉(multimodal) 분포를 만들 수 있으며 이는 11장의 주제다. 5. 6.5.4 다변량 가우시안 샘플링 컴퓨터는 표준정규 난수 z∼N(0,1)z \\sim \\mathcal{N}(0, 1)z∼N(0,1)만 생성할 수 있다. 임의의 N(μ,Σ)\\mathcal{N}(\\boldsymbol{\\mu}, \\Sigma)N(μ,Σ)에서 샘플을 추출하는 방법:\n공분산 행렬 Σ\\SigmaΣ의 촐레스키 분해(Cholesky Decomposition)를 수행하여 하삼각행렬 LLL을 구한다: Σ=LL⊤\\Sigma = L L^\\topΣ=LL⊤. 표준정규분포로부터 DDD차원 벡터 z∼N(0,I)\\boldsymbol{z} \\sim \\mathcal{N}(\\mathbf{0}, I)z∼N(0,I)를 추출한다. 선형 변환을 적용한다: x=μ+Lz\\boldsymbol{x} = \\boldsymbol{\\mu} + L\\boldsymbol{z}x=μ+Lz 분산 검산: V[x]=LV[z]L⊤=LIL⊤=LL⊤=Σ\\mathbb{V}[\\boldsymbol{x}] = L \\mathbb{V}[\\boldsymbol{z}] L^\\top = L I L^\\top = L L^\\top = \\SigmaV[x]=LV[z]L⊤=LIL⊤=LL⊤=Σ. 맞다. 손으로 풀어 보는 예제 [예제 5-1] 2차원 가우시안의 조건부 분포 계산 (교재 예제 6.6 변형) 2차원 가우시안 벡터 x=[x1x2]∼N(μ,Σ)\\boldsymbol{x} = \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\sim \\mathcal{N}(\\boldsymbol{\\mu}, \\Sigma)x=[x1​x2​​]∼N(μ,Σ)가 다음과 같이 주어졌다: μ=[12],Σ=[4112]\\boldsymbol{\\mu} = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix}, \\quad \\Sigma = \\begin{bmatrix} 4 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix}μ=[12​],Σ=[41​12​] 이때 x2=4x_2 = 4x2​=4라는 관측값이 주어졌을 때 x1x_1x1​의 조건부 분포 p(x1∣x2=4)p(x_1 \\mid x_2 = 4)p(x1​∣x2​=4)를 구하라.\n1단계 (블록 분할 식별): μ1=1\\mu_1 = 1μ1​=1, μ2=2\\mu_2 = 2μ2​=2 Σ11=4\\Sigma_{11} = 4Σ11​=4, Σ12=1\\Sigma_{12} = 1Σ12​=1, Σ21=1\\Sigma_{21} = 1Σ21​=1, Σ22=2\\Sigma_{22} = 2Σ22​=2 관측값 x2=4x_2 = 4x2​=4 2단계 (조건부 평균 μ1∣2\\mu_{1 \\mid 2}μ1∣2​ 계산): μ1∣2=μ1+Σ12Σ22−1(x2−μ2)\\mu_{1 \\mid 2} = \\mu_1 + \\Sigma_{12} \\Sigma_{22}^{-1} (x_2 - \\mu_2)μ1∣2​=μ1​+Σ12​Σ22−1​(x2​−μ2​) μ1∣2=1+(1)(2−1)(4−2)=1+12(2)=1+1=2\\mu_{1 \\mid 2} = 1 + (1)(2^{-1})(4 - 2) = 1 + \\frac{1}{2}(2) = 1 + 1 = 2μ1∣2​=1+(1)(2−1)(4−2)=1+21​(2)=1+1=2 3단계 (조건부 분산 Σ1∣2\\Sigma_{1 \\mid 2}Σ1∣2​ 계산): Σ1∣2=Σ11−Σ12Σ22−1Σ21\\Sigma_{1 \\mid 2} = \\Sigma_{11} - \\Sigma_{12} \\Sigma_{22}^{-1} \\Sigma_{21}Σ1∣2​=Σ11​−Σ12​Σ22−1​Σ21​ Σ1∣2=4−(1)(2−1)(1)=4−12=3.5\\Sigma_{1 \\mid 2} = 4 - (1)(2^{-1})(1) = 4 - \\frac{1}{2} = 3.5Σ1∣2​=4−(1)(2−1)(1)=4−21​=3.5 4단계 (결론): p(x1∣x2=4)=N(x1∣2,3.5)p(x_1 \\mid x_2 = 4) = \\mathcal{N}(x_1 \\mid 2, 3.5)p(x1​∣x2​=4)=N(x1​∣2,3.5) 원래 x1x_1x1​의 주변분포는 N(1,4)\\mathcal{N}(1, 4)N(1,4)였으나, x2=4x_2 = 4x2​=4라는 양의 상관관계(공분산 1)를 가진 변수가 평균보다 크게 관측되자 x1x_1x1​의 평균도 1에서 2로 상향 조정되었고, 분산은 4에서 3.5로 줄어들어 불확실성이 감소했다. [예제 5-2] 두 1차원 가우시안 밀도의 곱 계산 두 1차원 가우시안 p1(x)=N(x∣2,4)p_1(x) = \\mathcal{N}(x \\mid 2, 4)p1​(x)=N(x∣2,4) (a=2,A=4a = 2, A = 4a=2,A=4)와 p2(x)=N(x∣6,4)p_2(x) = \\mathcal{N}(x \\mid 6, 4)p2​(x)=N(x∣6,4) (b=6,B=4b = 6, B = 4b=6,B=4)의 곱 p1(x)p2(x)=cN(x∣c0,C)p_1(x)p_2(x) = c \\mathcal{N}(x \\mid c_0, C)p1​(x)p2​(x)=cN(x∣c0​,C)를 계산하라.\n1단계 (합성 분산 CCC): C=(A−1+B−1)−1=(14+14)−1=(12)−1=2C = (A^{-1} + B^{-1})^{-1} = \\left( \\frac{1}{4} + \\frac{1}{4} \\right)^{-1} = \\left( \\frac{1}{2} \\right)^{-1} = 2C=(A−1+B−1)−1=(41​+41​)−1=(21​)−1=2 2단계 (합성 평균 c0c_0c0​): c0=C(A−1a+B−1b)=2(14(2)+14(6))=2(24+64)=2×2=4c_0 = C (A^{-1}a + B^{-1}b) = 2 \\left( \\frac{1}{4}(2) + \\frac{1}{4}(6) \\right) = 2 \\left( \\frac{2}{4} + \\frac{6}{4} \\right) = 2 \\times 2 = 4c0​=C(A−1a+B−1b)=2(41​(2)+41​(6))=2(42​+46​)=2×2=4 3단계 (스케일링 상수 ccc): c=N(a∣b,A+B)=N(2∣6,4+4)=N(2∣6,8)c = \\mathcal{N}(a \\mid b, A + B) = \\mathcal{N}(2 \\mid 6, 4 + 4) = \\mathcal{N}(2 \\mid 6, 8)c=N(a∣b,A+B)=N(2∣6,4+4)=N(2∣6,8). c=12π×8exp⁡(−(2−6)22×8)=116πexp⁡(−(−4)216)=14πe−1≈0.36797.0898≈0.0519c = \\frac{1}{\\sqrt{2\\pi \\times 8}} \\exp\\left( -\\frac{(2 - 6)^2}{2 \\times 8} \\right) = \\frac{1}{\\sqrt{16\\pi}} \\exp\\left( -\\frac{(-4)^2}{16} \\right) = \\frac{1}{4\\sqrt{\\pi}} e^{-1} \\approx \\frac{0.3679}{7.0898} \\approx 0.0519c=2π×8​1​exp(−2×8(2−6)2​)=16π​1​exp(−16(−4)2​)=4π​1​e−1≈7.08980.3679​≈0.0519 4단계 (결론): 두 가우시안의 곱은 평균이 두 평균 2와 6의 한가운데인 444이고(두 분산이 같아 정밀도 가중 평균이 단순 평균이 됨), 분산은 222로 두 분산(444)보다 절반이나 작아진(더 뾰족해진) 가우시안이 된다! 헷갈리는 점 / 자주 하는 실수 주변분포와 조건부분포의 공분산 혼동: 주변분포는 그냥 Σaa\\Sigma_{aa}Σaa​이지만, 조건부분포는 Σaa−ΣabΣbb−1Σba\\Sigma_{aa} - \\Sigma_{ab}\\Sigma_{bb}^{-1}\\Sigma_{ba}Σaa​−Σab​Σbb−1​Σba​로 반드시 줄어든다. 6.6 켤레성과 지수족(Conjugacy and the Exponential Family, 교재 205~214쪽) — 핵심 중점 왜 필요한가 (직관) 베이지안 추론에서 데이터를 관측한 후 사후분포를 계산하는 기본 공식은: p(θ∣x)=p(x∣θ)p(θ)∫p(x∣θ′)p(θ′)dθ′p(\\theta \\mid x) = \\frac{p(x \\mid \\theta) p(\\theta)}{\\int p(x \\mid \\theta\u0026#x27;) p(\\theta\u0026#x27;) d\\theta\u0026#x27;}p(θ∣x)=∫p(x∣θ′)p(θ′)dθ′p(x∣θ)p(θ)​ 문제는 분모의 적분이다. 일반적인 분포 조합에서는 이 적분을 손으로 풀 수 없는 경우가 대부분이다. 하지만 만약 \u0026ldquo;사전분포 p(θ)p(\\theta)p(θ)의 수식 형태와 사후분포 p(θ∣x)p(\\theta \\mid x)p(θ∣x)의 수식 형태가 완전히 똑같은 분포족에 머무른다면\u0026rdquo;, 우리는 적분을 아예 할 필요 없이 사전분포의 파라미터에 데이터의 카운트(통계량)만 덧셈해 주는 것으로 사후분포를 즉시 얻을 수 있다! 이 놀라운 성질을 켤레성(Conjugacy)이라 부르며, 켤레성을 만족하는 분포들을 통일된 하나의 공식으로 일반화한 것이 지수족(Exponential Family)이다.\n정의와 성질 1. 6.6.1 켤레 사전분포(Conjugate Prior)의 정의 어떤 우도 함수 p(x∣θ)p(x \\mid \\theta)p(x∣θ)에 대하여, 사후분포 p(θ∣x)p(\\theta \\mid x)p(θ∣x)가 사전분포 p(θ)p(\\theta)p(θ)와 동일한 함수 족(same family)에 속할 때, 그 사전분포를 해당 우도에 대한 켤레 사전분포(Conjugate Prior)라고 부른다.\n[켤레 사전분포 정리 (교재 표 6.2와 여백 주석, 포아송 행은 교재 밖 보충)] 교재 표 6.2는 베르누이·이항(베타), 가우시안(가우시안/역감마), 다변량 가우시안(가우시안/역위샤트), 다항(디리클레)을 싣고, 여백 주석에서 정밀도에 대한 감마·위샤트 사전분포를 언급한다.\n우도 함수 (Likelihood) 모수 θ\\thetaθ의 의미 켤레 사전분포 (Conjugate Prior) 사후분포 (Posterior) 머신러닝 응용처 베르누이 (Bernoulli) 성공 확률 μ∈[0,1]\\mu \\in [0, 1]μ∈[0,1] 베타 (Beta) 베타 (Beta) 이진 분류, 동전 던지기 이항 (Binomial) 성공 횟수 모델링 베타 (Beta) 베타 (Beta) 클릭률(CTR) 예측 카테고리컬 / 다항 (Multinomial) KKK개 클래스 확률 벡터 디리클레 (Dirichlet) 디리클레 (Dirichlet) 11장 GMM 혼합계수, LDA 토픽모델 가우시안 (Gaussian) 평균 μ\\boldsymbol{\\mu}μ (공분산 기지) 가우시안 (Gaussian) 가우시안 (Gaussian) 9장 베이지안 선형 회귀 가중치 가우시안 (Gaussian) 분산 σ2\\sigma^2σ2 (평균 기지) 역감마 (Inverse-Gamma) 역감마 (Inverse-Gamma) 잡음 분산 추정 가우시안 (Gaussian) 정밀도 τ=1/σ2\\tau = 1/\\sigma^2τ=1/σ2 (평균 기지) 감마 (Gamma) 감마 (Gamma) 1차원 정밀도 베이지안 추정 다변량 가우시안 공분산 행렬 Σ\\SigmaΣ (평균 기지) 역위샤트 (Inverse-Wishart) 역위샤트 (Inverse-Wishart) 11장 베이지안 GMM 공분산 추정 다변량 가우시안 정밀도 행렬 Λ=Σ−1\\Lambda = \\Sigma^{-1}Λ=Σ−1 위샤트 (Wishart) 위샤트 (Wishart) 다변량 정밀도 행렬 베이지안 추정 포아송 (Poisson) 발생률 λ\u0026gt;0\\lambda \u0026gt; 0λ\u0026gt;0 감마 (Gamma) 감마 (Gamma) 카운트 데이터 모델링 (교재 밖 보충) 2. 베타-이항 켤레성(Beta-Binomial Conjugacy)의 대수적 증명 이항 우도: NNN번 시행 중 앞면이 hhh번 나옴. p(x=h∣N,μ)=(Nh)μh(1−μ)N−h∝μh(1−μ)N−hp(x=h \\mid N, \\mu) = \\binom{N}{h} \\mu^h (1 - \\mu)^{N - h} \\propto \\mu^h (1 - \\mu)^{N - h}p(x=h∣N,μ)=(hN​)μh(1−μ)N−h∝μh(1−μ)N−h 베타 사전분포: μ∼Beta(α,β)\\mu \\sim \\text{Beta}(\\alpha, \\beta)μ∼Beta(α,β). p(μ∣α,β)=Γ(α+β)Γ(α)Γ(β)μα−1(1−μ)β−1∝μα−1(1−μ)β−1p(\\mu \\mid \\alpha, \\beta) = \\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)} \\mu^{\\alpha - 1} (1 - \\mu)^{\\beta - 1} \\propto \\mu^{\\alpha - 1} (1 - \\mu)^{\\beta - 1}p(μ∣α,β)=Γ(α)Γ(β)Γ(α+β)​μα−1(1−μ)β−1∝μα−1(1−μ)β−1 베이즈 정리로 사후분포 계산: p(μ∣x=h)∝p(x=h∣μ)p(μ)∝μh(1−μ)N−h⋅μα−1(1−μ)β−1p(\\mu \\mid x = h) \\propto p(x = h \\mid \\mu) p(\\mu) \\propto \\mu^h (1 - \\mu)^{N - h} \\cdot \\mu^{\\alpha - 1} (1 - \\mu)^{\\beta - 1}p(μ∣x=h)∝p(x=h∣μ)p(μ)∝μh(1−μ)N−h⋅μα−1(1−μ)β−1 p(μ∣x=h)∝μ(α+h)−1(1−μ)(β+N−h)−1p(\\mu \\mid x = h) \\propto \\mu^{(\\alpha + h) - 1} (1 - \\mu)^{(\\beta + N - h) - 1}p(μ∣x=h)∝μ(α+h)−1(1−μ)(β+N−h)−1 결과가 정확히 모수가 α′=α+h\\alpha\u0026#x27; = \\alpha + hα′=α+h, β′=β+(N−h)\\beta\u0026#x27; = \\beta + (N - h)β′=β+(N−h)인 베타 분포 Beta(α+h,β+N−h)\\text{Beta}(\\alpha + h, \\beta + N - h)Beta(α+h,β+N−h)이다! α\\alphaα: 사전에 관측했다고 믿는 \u0026lsquo;가상의 앞면 횟수 (Pseudo-count)\u0026rsquo; β\\betaβ: 사전에 관측했다고 믿는 \u0026lsquo;가상의 뒷면 횟수 (Pseudo-count)\u0026rsquo; 3. 6.6.2 충분통계량(Sufficient Statistics)과 피셔-네이만 정리 정의: 데이터 xxx가 모수 θ\\thetaθ에 대해 제공하는 모든 정보를 정확히 압축하고 있는 함수 ϕ(x)\\phi(x)ϕ(x)를 충분통계량이라 부른다. 피셔-네이만 인수분해 정리(Fisher-Neyman Factorization Theorem): 통계량 ϕ(x)\\phi(x)ϕ(x)가 모수 θ\\thetaθ에 대해 충분통계량일 필요충분조건은 우도함수가 다음과 같이 분해되는 것이다: p(x∣θ)=h(x)gθ(ϕ(x))p(x \\mid \\theta) = h(x) g_\\theta(\\phi(x))p(x∣θ)=h(x)gθ​(ϕ(x)) h(x)h(x)h(x): θ\\thetaθ와 전혀 무관한 데이터만의 함수. gθg_\\thetagθ​: 데이터 xxx에 오직 ϕ(x)\\phi(x)ϕ(x)를 통해서만 의존하는 함수. 4. 6.6.3 지수족(Exponential Family)의 일반 형태 모수 θ∈RD\\boldsymbol{\\theta} \\in \\mathbb{R}^Dθ∈RD를 가지는 지수족 분포의 표준 형태:\np(x∣θ)=h(x)exp⁡(⟨θ,ϕ(x)⟩−A(θ))=h(x)exp⁡(θ⊤ϕ(x)−A(θ))\\begin{aligned} p(x \\mid \\boldsymbol{\\theta}) \u0026amp;= h(x) \\exp\\left( \\langle \\boldsymbol{\\theta}, \\boldsymbol{\\phi}(x) \\rangle - A(\\boldsymbol{\\theta}) \\right) \\\\ \u0026amp;= h(x) \\exp\\left( \\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x) - A(\\boldsymbol{\\theta}) \\right) \\end{aligned}p(x∣θ)​=h(x)exp(⟨θ,ϕ(x)⟩−A(θ))=h(x)exp(θ⊤ϕ(x)−A(θ))​ θ\\boldsymbol{\\theta}θ: 자연 매개변수(Natural Parameter / Canonical Parameter) ϕ(x)\\boldsymbol{\\phi}(x)ϕ(x): 충분통계량 벡터(Vector of Sufficient Statistics) h(x)h(x)h(x): 기저 측도(Base Measure) A(θ)A(\\boldsymbol{\\theta})A(θ): 로그 분할함수(Log-Partition Function / Cumulant Generating Function). 확률의 총합이 1이 되도록 만드는 정규화 상수의 로그값: A(θ)=ln⁡∫h(x)exp⁡(θ⊤ϕ(x))dxA(\\boldsymbol{\\theta}) = \\ln \\int h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x)) dxA(θ)=ln∫h(x)exp(θ⊤ϕ(x))dx 5. 지수족 로그 분할함수의 미분과 모멘트 (교재 밖 보충) 교재에는 없는 성질이다. 로그 분할함수 A(θ)A(\\boldsymbol{\\theta})A(θ)를 미분하면 충분통계량의 평균과 공분산이 나온다(증명은 핵심 유도 2).\n1계 도함수 = 충분통계량의 기댓값: ∇θA(θ)=E[ϕ(x)]\\nabla_{\\boldsymbol{\\theta}} A(\\boldsymbol{\\theta}) = \\mathbb{E}[\\boldsymbol{\\phi}(x)]∇θ​A(θ)=E[ϕ(x)] 2계 도함수 = 충분통계량의 공분산 행렬: ∇θ2A(θ)=V[ϕ(x)]\\nabla_{\\boldsymbol{\\theta}}^2 A(\\boldsymbol{\\theta}) = \\mathbb{V}[\\boldsymbol{\\phi}(x)]∇θ2​A(θ)=V[ϕ(x)] 공분산 행렬은 양의 준정부호이므로, 로그 분할함수 A(θ)A(\\boldsymbol{\\theta})A(θ)는 항상 자연 매개변수 θ\\boldsymbol{\\theta}θ에 대해 볼록 함수(Convex Function)이다! 손으로 풀어 보는 예제 [예제 6-1] 베르누이 분포의 지수족 변환과 모멘트 유도 (교재 연습문제 6.8 연계) 성공 확률 μ∈(0,1)\\mu \\in (0, 1)μ∈(0,1)를 갖는 베르누이 분포 p(x∣μ)=μx(1−μ)1−xp(x \\mid \\mu) = \\mu^x (1 - \\mu)^{1-x}p(x∣μ)=μx(1−μ)1−x (x∈{0,1}x \\in \\{0, 1\\}x∈{0,1})를 지수족의 자연 매개변수 형태로 변환하고, A(θ)A(\\theta)A(θ)의 미분을 통해 평균 μ\\muμ를 유도하라.\n1단계 (지수 형태로 변형): p(x∣μ)=exp⁡(ln⁡(μx(1−μ)1−x))=exp⁡(xln⁡μ+(1−x)ln⁡(1−μ))p(x \\mid \\mu) = \\exp\\left( \\ln(\\mu^x (1-\\mu)^{1-x}) \\right) = \\exp\\left( x \\ln\\mu + (1-x)\\ln(1-\\mu) \\right)p(x∣μ)=exp(ln(μx(1−μ)1−x))=exp(xlnμ+(1−x)ln(1−μ)) p(x∣μ)=exp⁡(xln⁡(μ1−μ)+ln⁡(1−μ))p(x \\mid \\mu) = \\exp\\left( x \\ln\\left(\\frac{\\mu}{1-\\mu}\\right) + \\ln(1-\\mu) \\right)p(x∣μ)=exp(xln(1−μμ​)+ln(1−μ)) 2단계 (자연 매개변수 θ\\thetaθ 정의): θ:=ln⁡(μ1−μ)(로짓, Logit 함수)\\theta := \\ln\\left(\\frac{\\mu}{1-\\mu}\\right) \\quad (\\text{로짓, Logit 함수})θ:=ln(1−μμ​)(로짓, Logit 함수) 역함수: eθ=μ1−μ ⟹ μ=eθ1+eθ=11+e−θ=σ(θ)e^\\theta = \\frac{\\mu}{1-\\mu} \\implies \\mu = \\frac{e^\\theta}{1 + e^\\theta} = \\frac{1}{1 + e^{-\\theta}} = \\sigma(\\theta)eθ=1−μμ​⟹μ=1+eθeθ​=1+e−θ1​=σ(θ) (로지스틱 시그모이드!). 따라서 1−μ=1−eθ1+eθ=11+eθ=(1+eθ)−11 - \\mu = 1 - \\frac{e^\\theta}{1+e^\\theta} = \\frac{1}{1 + e^\\theta} = (1 + e^\\theta)^{-1}1−μ=1−1+eθeθ​=1+eθ1​=(1+eθ)−1. 3단계 (지수족 표준형 매칭): ln⁡(1−μ)=ln⁡(1+eθ)−1=−ln⁡(1+eθ)\\ln(1 - \\mu) = \\ln(1 + e^\\theta)^{-1} = -\\ln(1 + e^\\theta)ln(1−μ)=ln(1+eθ)−1=−ln(1+eθ). p(x∣θ)=1⋅exp⁡(θ⋅x−ln⁡(1+eθ))p(x \\mid \\theta) = 1 \\cdot \\exp\\left( \\theta \\cdot x - \\ln(1 + e^\\theta) \\right)p(x∣θ)=1⋅exp(θ⋅x−ln(1+eθ)) 기저 측도: h(x)=1h(x) = 1h(x)=1 충분통계량: ϕ(x)=x\\phi(x) = xϕ(x)=x 자연 매개변수: θ=ln⁡(μ1−μ)\\theta = \\ln\\left(\\frac{\\mu}{1-\\mu}\\right)θ=ln(1−μμ​) 로그 분할함수: A(θ)=ln⁡(1+eθ)A(\\theta) = \\ln(1 + e^\\theta)A(θ)=ln(1+eθ) 4단계 (A(θ)A(\\theta)A(θ) 미분으로 기댓값 검증): dAdθ=ddθln⁡(1+eθ)=eθ1+eθ=μ\\frac{dA}{d\\theta} = \\frac{d}{d\\theta} \\ln(1 + e^\\theta) = \\frac{e^\\theta}{1 + e^\\theta} = \\mudθdA​=dθd​ln(1+eθ)=1+eθeθ​=μ 정확히 E[ϕ(x)]=E[x]=μ\\mathbb{E}[\\phi(x)] = \\mathbb{E}[x] = \\muE[ϕ(x)]=E[x]=μ가 유도되었다! 2계 도함수: d2Adθ2=ddθ(eθ1+eθ)=eθ(1+eθ)−(eθ)2(1+eθ)2=eθ(1+eθ)2=μ(1−μ)=V[x]\\frac{d^2 A}{d\\theta^2} = \\frac{d}{d\\theta} \\left(\\frac{e^\\theta}{1+e^\\theta}\\right) = \\frac{e^\\theta(1+e^\\theta) - (e^\\theta)^2}{(1+e^\\theta)^2} = \\frac{e^\\theta}{(1+e^\\theta)^2} = \\mu(1-\\mu) = \\mathbb{V}[x]dθ2d2A​=dθd​(1+eθeθ​)=(1+eθ)2eθ(1+eθ)−(eθ)2​=(1+eθ)2eθ​=μ(1−μ)=V[x] 분산까지 정확히 한 번의 미분으로 유도된다. [예제 6-2] 베타-이항 켤레 사후분포 수치 업데이트 동전의 앞면 확률 μ\\muμ에 대해 사전 믿음으로 μ∼Beta(2,2)\\mu \\sim \\text{Beta}(2, 2)μ∼Beta(2,2) (평균 22+2=0.5\\frac{2}{2+2} = 0.52+22​=0.5)를 가지고 있었다. 동전을 10번 던져 앞면이 7번, 뒷면이 3번 나왔다 (N=10,h=7N=10, h=7N=10,h=7).\n사후분포 p(μ∣x)p(\\mu \\mid x)p(μ∣x)를 구하라. 사후 평균(Posterior Mean)을 계산하라. 1단계 (파라미터 갱신): 켤레 공식에 의해: α′=α+h=2+7=9\\alpha\u0026#x27; = \\alpha + h = 2 + 7 = 9α′=α+h=2+7=9 β′=β+(N−h)=2+3=5\\beta\u0026#x27; = \\beta + (N - h) = 2 + 3 = 5β′=β+(N−h)=2+3=5 따라서 사후분포는 μ∣x∼Beta(9,5)\\mu \\mid x \\sim \\text{Beta}(9, 5)μ∣x∼Beta(9,5)이다. 2단계 (사후 평균 계산): 베타분포 Beta(α′,β′)\\text{Beta}(\\alpha\u0026#x27;, \\beta\u0026#x27;)Beta(α′,β′)의 기댓값 공식은 E[μ]=α′α′+β′\\mathbb{E}[\\mu] = \\frac{\\alpha\u0026#x27;}{\\alpha\u0026#x27; + \\beta\u0026#x27;}E[μ]=α′+β′α′​이다: E[μ∣x]=99+5=914≈0.6429\\mathbb{E}[\\mu \\mid x] = \\frac{9}{9 + 5} = \\frac{9}{14} \\approx 0.6429E[μ∣x]=9+59​=149​≈0.6429 사전 평균: 0.50.50.5 (50%50\\%50%) 데이터의 표본 평균(MLE): 710=0.7\\frac{7}{10} = 0.7107​=0.7 (70%70\\%70%) 사후 평균은 사전 믿음(0.50.50.5)과 데이터의 관측치(0.70.70.7) 사이의 타협점인 0.64290.64290.6429로 자연스럽게 이동하였다! 헷갈리는 점 / 자주 하는 실수 자연 매개변수 θ\\thetaθ와 원래 파라미터 μ\\muμ의 혼동: 베르누이에서 원래 모수는 확률 μ∈[0,1]\\mu \\in [0, 1]μ∈[0,1]이지만, 지수족의 자연 매개변수는 실수 전체 (−∞,∞)(-\\infty, \\infty)(−∞,∞)를 갖는 로짓 θ=ln⁡μ1−μ\\theta = \\ln\\frac{\\mu}{1-\\mu}θ=ln1−μμ​이다. 6.7 변수 변환 / 역변환(Change of Variables / Inverse Transform, 교재 214~221쪽) 왜 필요한가 (직관) 우리가 표준정규분포 난수 X∼N(0,1)X \\sim \\mathcal{N}(0, 1)X∼N(0,1)를 생성할 수 있을 때, Y=X2Y = X^2Y=X2의 분포는 무엇일까? 신경망의 각 은닉층을 통과할 때마다 입력 확률변수 x\\boldsymbol{x}x는 비선형 변환 y=g(x)\\boldsymbol{y} = \\boldsymbol{g}(\\boldsymbol{x})y=g(x)를 거쳐 왜곡된다. 현대 생성 모델인 정규화 흐름(Normalizing Flow)은 단순한 가우시안 노이즈에 역변환 가능한 신경망 층들을 연속 적용하여 복잡한 고해상도 이미지 분포를 만들어 낸다. 이때 변환 후의 확률밀도함수를 계산하려면 공간의 부피가 얼마나 늘어나거나 줄어들었는지를 보정해 주어야 하는데, 그 보정 비율이 바로 야코비안의 행렬식(Jacobian Determinant)이다.\n정의와 성질 1. 6.7.1 분포함수법(Distribution Function Technique) 가장 원초적이면서 안전한 변수 변환 기법:\nY=g(X)Y = g(X)Y=g(X)의 CDF를 원래 변수 XXX의 확률로 표현한다: FY(y)=P(g(X)≤y)F_Y(y) = P(g(X) \\le y)FY​(y)=P(g(X)≤y). FY(y)F_Y(y)FY​(y)를 yyy에 대해 미분하여 PDF를 얻는다: fY(y)=ddyFY(y)f_Y(y) = \\frac{d}{dy} F_Y(y)fY​(y)=dyd​FY​(y). 2. 6.7.2 일변수 및 다변수 변수 변환 공식 일변수 변수 변환 공식: ggg가 일대일(단조증가 또는 단조감소)이고 미분 가능할 때: fY(y)=fX(g−1(y))∣dg−1(y)dy∣=fX(x)∣dxdy∣f_Y(y) = f_X(g^{-1}(y)) \\left| \\frac{d g^{-1}(y)}{dy} \\right| = f_X(x) \\left| \\frac{dx}{dy} \\right|fY​(y)=fX​(g−1(y))​dydg−1(y)​​=fX​(x)​dydx​​ 절대값이 붙는 이유: ggg가 단조감소 함수이면 도함수 dxdy\\frac{dx}{dy}dydx​가 음수가 되지만, 확률밀도는 항상 000 이상이어야 하므로 부피 변화율의 크기(절대값)를 취한다. 다변수 변수 변환 공식: DDD차원 확률변수 벡터의 일대일 미분가능 변환 y=g(x)\\boldsymbol{y} = \\boldsymbol{g}(\\boldsymbol{x})y=g(x) (역변환 x=g−1(y)\\boldsymbol{x} = \\boldsymbol{g}^{-1}(\\boldsymbol{y})x=g−1(y))에 대하여: fY(y)=fX(g−1(y))∣det⁡(∂x∂y)∣=fX(x)∣det⁡(J)∣−1f_{\\boldsymbol{Y}}(\\boldsymbol{y}) = f_{\\boldsymbol{X}}(\\boldsymbol{g}^{-1}(\\boldsymbol{y})) \\left| \\det\\left( \\frac{\\partial \\boldsymbol{x}}{\\partial \\boldsymbol{y}} \\right) \\right| = f_{\\boldsymbol{X}}(\\boldsymbol{x}) \\left| \\det(J) \\right|^{-1}fY​(y)=fX​(g−1(y))​det(∂y∂x​)​=fX​(x)∣det(J)∣−1 여기서 J=∂y∂xJ = \\frac{\\partial \\boldsymbol{y}}{\\partial \\boldsymbol{x}}J=∂x∂y​는 5.3절에서 배운 야코비안 행렬이다! det⁡(J)\\det(J)det(J)는 x\\boldsymbol{x}x 공간의 미소 단위 초부피가 y\\boldsymbol{y}y 공간으로 변환될 때 몇 배로 팽창/수축하는지를 나타내는 체적 변환율이다. 3. 정리 6.15 확률적분변환 (Probability Integral Transformation) 연속 확률변수 XXX가 CDF FX(x)F_X(x)FX​(x)를 가질 때, 새로운 확률변수 Y:=FX(X)Y := F_X(X)Y:=FX​(X)는 구간 (0,1)(0, 1)(0,1) 위의 균등분포 Uniform(0,1)\\text{Uniform}(0, 1)Uniform(0,1)를 따른다! 역변환 샘플링(Inverse Transform Sampling): 반대로 컴퓨터에서 균등분포 난수 U∼Uniform(0,1)U \\sim \\text{Uniform}(0, 1)U∼Uniform(0,1)를 뽑은 뒤, 원하는 분포의 역누적분포함수 X=FX−1(U)X = F_X^{-1}(U)X=FX−1​(U)에 대입하면 우리가 원하는 임의의 확률분포 XXX의 샘플을 정확히 생성할 수 있다! 손으로 풀어 보는 예제 [예제 7-1] 역변환 샘플링을 이용한 지수분포 난수 생성기 균등분포 난수 U∼Uniform(0,1)U \\sim \\text{Uniform}(0, 1)U∼Uniform(0,1)로부터 모수 λ\\lambdaλ인 지수분포 f(x)=λe−λxf(x) = \\lambda e^{-\\lambda x}f(x)=λe−λx (x≥0x \\ge 0x≥0)의 샘플을 생성하는 변환식을 유도하라.\n1단계 (지수분포의 CDF 구하기): FX(x)=∫0xλe−λtdt=1−e−λxF_X(x) = \\int_0^x \\lambda e^{-\\lambda t} dt = 1 - e^{-\\lambda x}FX​(x)=∫0x​λe−λtdt=1−e−λx 2단계 (확률적분변환 관계식 설정): U=FX(X)=1−e−λXU = F_X(X) = 1 - e^{-\\lambda X}U=FX​(X)=1−e−λX. 3단계 (역함수 X=FX−1(U)X = F_X^{-1}(U)X=FX−1​(U) 풀기): 1−U=e−λX ⟹ ln⁡(1−U)=−λX ⟹ X=−1λln⁡(1−U)1 - U = e^{-\\lambda X} \\implies \\ln(1 - U) = -\\lambda X \\implies X = -\\frac{1}{\\lambda} \\ln(1 - U)1−U=e−λX⟹ln(1−U)=−λX⟹X=−λ1​ln(1−U) 4단계 (단순화): UUU가 Uniform(0,1)\\text{Uniform}(0, 1)Uniform(0,1)이면 1−U1 - U1−U 역시 정확히 Uniform(0,1)\\text{Uniform}(0, 1)Uniform(0,1)을 따른다. 따라서 컴퓨터에서 표준 균등 난수 uuu를 뽑아 x=−1λln⁡(u)x = -\\frac{1}{\\lambda} \\ln(u)x=−λ1​ln(u)를 계산하면 지수분포 난수가 생성된다! 헷갈리는 점 / 자주 하는 실수 야코비안 행렬식의 전치/역수 혼동: 변환 후 밀도 fY(y)f_Y(y)fY​(y)를 구할 때는 yyy에 대한 xxx의 편미분 행렬식 ∣det⁡(∂x∂y)∣\\left| \\det\\left(\\frac{\\partial x}{\\partial y}\\right) \\right|​det(∂y∂x​)​를 곱하거나, xxx에 대한 yyy의 편미분 행렬식의 역수 1∣det⁡(∂y/∂x)∣\\frac{1}{|\\det(\\partial y / \\partial x)|}∣det(∂y/∂x)∣1​를 곱해야 한다. 6.8 추가 읽을거리(Further Reading, 교재 221~222쪽) 교재 6.8절은 다음을 안내한다.\n더 읽을 책: 독학용 입문서(Grinstead \u0026amp; Snell, Walpole 외), 확률의 철학(Hacking), 지수족 개관(Barndorff-Nielsen), 확률적 머신러닝 교재(MacKay, Bishop, Murphy 등). 신경망과 확률 모델: 정규화 흐름(normalizing flow)은 6.7절의 변수 변환에 기반한다. 신경망에 적용한 변분 추론은 Goodfellow 외(2016) 16~20장을 참고하라고 한다. 측도론을 피한 대가: 이 장은 측도론을 쓰지 않았다. 그래서 연속 확률변수에서 p(y∣x)p(y \\mid x)p(y∣x)처럼 확률 0인 사건 X=xX = xX=x에 조건을 거는 표기는 엄밀히는 xxx의 σ-대수에 대한 조건부 기댓값으로 써야 한다. 위치 안내: 정보 기하학과 KL 발산은 6.4.6절 비고에, \u0026ldquo;반복 표본에서 유한 차원 충분통계량을 갖는 분포족은 지수족뿐\u0026quot;이라는 피트먼-쿠프먼-다르무아 정리는 6.6.3절에 나온다.\n핵심 유도 모음 (백지 유도) [유도 1] 가우시안 조건부 분포 공식 유도 (제곱완성법 Completing the Square) 목표: p(xa∣xb)=N(μa∣b,Σa∣b)p(\\boldsymbol{x}_a \\mid \\boldsymbol{x}_b) = \\mathcal{N}(\\boldsymbol{\\mu}_{a \\mid b}, \\Sigma_{a \\mid b})p(xa​∣xb​)=N(μa∣b​,Σa∣b​)의 평균과 분산 공식을 유도한다. 조건부 확률 정의와 지수부 분리: p(xa∣xb)=p(xa,xb)p(xb)∝p(xa,xb)p(\\boldsymbol{x}_a \\mid \\boldsymbol{x}_b) = \\frac{p(\\boldsymbol{x}_a, \\boldsymbol{x}_b)}{p(\\boldsymbol{x}_b)} \\propto p(\\boldsymbol{x}_a, \\boldsymbol{x}_b)p(xa​∣xb​)=p(xb​)p(xa​,xb​)​∝p(xa​,xb​) xa\\boldsymbol{x}_axa​의 함수로 볼 때, 결합 가우시안의 지수부 2차 형식만 고려하면 된다: E=−12(x−μ)⊤Σ−1(x−μ)=−12[xa−μaxb−μb]⊤[ΛaaΛabΛbaΛbb][xa−μaxb−μb]E = -\\frac{1}{2} (\\boldsymbol{x} - \\boldsymbol{\\mu})^\\top \\Sigma^{-1} (\\boldsymbol{x} - \\boldsymbol{\\mu}) = -\\frac{1}{2} \\begin{bmatrix} \\boldsymbol{x}_a - \\boldsymbol{\\mu}_a \\\\ \\boldsymbol{x}_b - \\boldsymbol{\\mu}_b \\end{bmatrix}^\\top \\begin{bmatrix} \\Lambda_{aa} \u0026amp; \\Lambda_{ab} \\\\ \\Lambda_{ba} \u0026amp; \\Lambda_{bb} \\end{bmatrix} \\begin{bmatrix} \\boldsymbol{x}_a - \\boldsymbol{\\mu}_a \\\\ \\boldsymbol{x}_b - \\boldsymbol{\\mu}_b \\end{bmatrix}E=−21​(x−μ)⊤Σ−1(x−μ)=−21​[xa​−μa​xb​−μb​​]⊤[Λaa​Λba​​Λab​Λbb​​][xa​−μa​xb​−μb​​] (이유: 정밀도 행렬 Λ=Σ−1\\Lambda = \\Sigma^{-1}Λ=Σ−1 도입) xa\\boldsymbol{x}_axa​에 대한 2차 항과 1차 항 전개: E=−12((xa−μa)⊤Λaa(xa−μa)+2(xa−μa)⊤Λab(xb−μb)+const(xa 무관))E = -\\frac{1}{2} \\Big( (\\boldsymbol{x}_a - \\boldsymbol{\\mu}_a)^\\top \\Lambda_{aa} (\\boldsymbol{x}_a - \\boldsymbol{\\mu}_a) + 2 (\\boldsymbol{x}_a - \\boldsymbol{\\mu}_a)^\\top \\Lambda_{ab} (\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b) + \\text{const}(\\boldsymbol{x}_a \\text{ 무관}) \\Big)E=−21​((xa​−μa​)⊤Λaa​(xa​−μa​)+2(xa​−μa​)⊤Λab​(xb​−μb​)+const(xa​ 무관)) =−12(xa⊤Λaaxa−2xa⊤(Λaaμa−Λab(xb−μb)))+const= -\\frac{1}{2} \\Big( \\boldsymbol{x}_a^\\top \\Lambda_{aa} \\boldsymbol{x}_a - 2 \\boldsymbol{x}_a^\\top \\big( \\Lambda_{aa} \\boldsymbol{\\mu}_a - \\Lambda_{ab}(\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b) \\big) \\Big) + \\text{const}=−21​(xa⊤​Λaa​xa​−2xa⊤​(Λaa​μa​−Λab​(xb​−μb​)))+const (이유: xa\\boldsymbol{x}_axa​에 대해 내림차순 정리) 가우시안 지수부 표준형 −12(xa−μa∣b)⊤Σa∣b−1(xa−μa∣b)-\\frac{1}{2}(\\boldsymbol{x}_a - \\boldsymbol{\\mu}_{a \\mid b})^\\top \\Sigma_{a \\mid b}^{-1} (\\boldsymbol{x}_a - \\boldsymbol{\\mu}_{a \\mid b})−21​(xa​−μa∣b​)⊤Σa∣b−1​(xa​−μa∣b​)와 계수 비교: 2차 항 계수 비교: Σa∣b−1=Λaa ⟹ Σa∣b=Λaa−1\\Sigma_{a \\mid b}^{-1} = \\Lambda_{aa} \\implies \\Sigma_{a \\mid b} = \\Lambda_{aa}^{-1}Σa∣b−1​=Λaa​⟹Σa∣b​=Λaa−1​ 1차 항 계수 비교: Σa∣b−1μa∣b=Λaaμa−Λab(xb−μb)\\Sigma_{a \\mid b}^{-1} \\boldsymbol{\\mu}_{a \\mid b} = \\Lambda_{aa} \\boldsymbol{\\mu}_a - \\Lambda_{ab}(\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b)Σa∣b−1​μa∣b​=Λaa​μa​−Λab​(xb​−μb​) μa∣b=Λaa−1(Λaaμa−Λab(xb−μb))=μa−Λaa−1Λab(xb−μb)\\boldsymbol{\\mu}_{a \\mid b} = \\Lambda_{aa}^{-1} \\Big( \\Lambda_{aa} \\boldsymbol{\\mu}_a - \\Lambda_{ab}(\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b) \\Big) = \\boldsymbol{\\mu}_a - \\Lambda_{aa}^{-1}\\Lambda_{ab}(\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b)μa∣b​=Λaa−1​(Λaa​μa​−Λab​(xb​−μb​))=μa​−Λaa−1​Λab​(xb​−μb​) 블록 행렬 역행렬 보조정리(Block Matrix Inversion Lemma) 적용: 공분산 블록 Σ\\SigmaΣ와의 관계에서: Λaa−1=Σaa−ΣabΣbb−1Σba\\Lambda_{aa}^{-1} = \\Sigma_{aa} - \\Sigma_{ab} \\Sigma_{bb}^{-1} \\Sigma_{ba}Λaa−1​=Σaa​−Σab​Σbb−1​Σba​ −Λaa−1Λab=ΣabΣbb−1-\\Lambda_{aa}^{-1}\\Lambda_{ab} = \\Sigma_{ab} \\Sigma_{bb}^{-1}−Λaa−1​Λab​=Σab​Σbb−1​ 이를 대입하면: Σa∣b=Σaa−ΣabΣbb−1Σba(증명 완료)\\Sigma_{a \\mid b} = \\Sigma_{aa} - \\Sigma_{ab} \\Sigma_{bb}^{-1} \\Sigma_{ba} \\quad \\text{(증명 완료)}Σa∣b​=Σaa​−Σab​Σbb−1​Σba​(증명 완료) μa∣b=μa+ΣabΣbb−1(xb−μb)(증명 완료)\\boldsymbol{\\mu}_{a \\mid b} = \\boldsymbol{\\mu}_a + \\Sigma_{ab} \\Sigma_{bb}^{-1} (\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b) \\quad \\text{(증명 완료)}μa∣b​=μa​+Σab​Σbb−1​(xb​−μb​)(증명 완료) [유도 2] 지수족 로그 분할함수의 미분이 기댓값과 분산임을 증명 (교재 밖 보충) 교재 6.6.3절은 로그 분할함수 A(θ)A(\\boldsymbol{\\theta})A(θ)를 \u0026ldquo;정규화 상수\u0026quot;로만 소개하고, 아래 성질은 다루지 않는다. 지수족을 깊이 물을 때 쓸 수 있는 참고 내용이다.\n목표: p(x∣θ)=h(x)exp⁡(θ⊤ϕ(x)−A(θ))p(x \\mid \\boldsymbol{\\theta}) = h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x) - A(\\boldsymbol{\\theta}))p(x∣θ)=h(x)exp(θ⊤ϕ(x)−A(θ))에 대하여 ∇θA(θ)=E[ϕ(x)]\\nabla_{\\boldsymbol{\\theta}} A(\\boldsymbol{\\theta}) = \\mathbb{E}[\\boldsymbol{\\phi}(x)]∇θ​A(θ)=E[ϕ(x)], ∇θ2A(θ)=V[ϕ(x)]\\nabla_{\\boldsymbol{\\theta}}^2 A(\\boldsymbol{\\theta}) = \\mathbb{V}[\\boldsymbol{\\phi}(x)]∇θ2​A(θ)=V[ϕ(x)]임을 증명한다. 확률의 총합이 1이라는 항등식에서 출발: ∫p(x∣θ)dx=1 ⟹ ∫h(x)exp⁡(θ⊤ϕ(x)−A(θ))dx=1\\int p(x \\mid \\boldsymbol{\\theta}) dx = 1 \\implies \\int h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x) - A(\\boldsymbol{\\theta})) dx = 1∫p(x∣θ)dx=1⟹∫h(x)exp(θ⊤ϕ(x)−A(θ))dx=1 exp⁡(A(θ))=∫h(x)exp⁡(θ⊤ϕ(x))dx\\exp(A(\\boldsymbol{\\theta})) = \\int h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x)) dxexp(A(θ))=∫h(x)exp(θ⊤ϕ(x))dx (이유: A(θ)A(\\boldsymbol{\\theta})A(θ)는 xxx와 무관하므로 적분 밖으로 뺌) 양변을 θ\\boldsymbol{\\theta}θ에 대해 미분 (라이프니츠 적분 규칙): ∇θexp⁡(A(θ))=∇θ∫h(x)exp⁡(θ⊤ϕ(x))dx\\nabla_{\\boldsymbol{\\theta}} \\exp(A(\\boldsymbol{\\theta})) = \\nabla_{\\boldsymbol{\\theta}} \\int h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x)) dx∇θ​exp(A(θ))=∇θ​∫h(x)exp(θ⊤ϕ(x))dx exp⁡(A(θ))∇θA(θ)=∫h(x)∇θexp⁡(θ⊤ϕ(x))dx=∫h(x)exp⁡(θ⊤ϕ(x))ϕ(x)dx\\exp(A(\\boldsymbol{\\theta})) \\nabla_{\\boldsymbol{\\theta}} A(\\boldsymbol{\\theta}) = \\int h(x) \\nabla_{\\boldsymbol{\\theta}} \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x)) dx = \\int h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x)) \\boldsymbol{\\phi}(x) dxexp(A(θ))∇θ​A(θ)=∫h(x)∇θ​exp(θ⊤ϕ(x))dx=∫h(x)exp(θ⊤ϕ(x))ϕ(x)dx (이유: 지수함수의 연쇄법칙 미분) 양변을 exp⁡(A(θ))\\exp(A(\\boldsymbol{\\theta}))exp(A(θ))로 나누기: ∇θA(θ)=∫h(x)exp⁡(θ⊤ϕ(x))exp⁡(A(θ))ϕ(x)dx=∫h(x)exp⁡(θ⊤ϕ(x)−A(θ))ϕ(x)dx\\nabla_{\\boldsymbol{\\theta}} A(\\boldsymbol{\\theta}) = \\int \\frac{h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x))}{\\exp(A(\\boldsymbol{\\theta}))} \\boldsymbol{\\phi}(x) dx = \\int h(x) \\exp(\\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(x) - A(\\boldsymbol{\\theta})) \\boldsymbol{\\phi}(x) dx∇θ​A(θ)=∫exp(A(θ))h(x)exp(θ⊤ϕ(x))​ϕ(x)dx=∫h(x)exp(θ⊤ϕ(x)−A(θ))ϕ(x)dx ∇θA(θ)=∫p(x∣θ)ϕ(x)dx=E[ϕ(x)](1계 도함수 증명 완료)\\nabla_{\\boldsymbol{\\theta}} A(\\boldsymbol{\\theta}) = \\int p(x \\mid \\boldsymbol{\\theta}) \\boldsymbol{\\phi}(x) dx = \\mathbb{E}[\\boldsymbol{\\phi}(x)] \\quad \\text{(1계 도함수 증명 완료)}∇θ​A(θ)=∫p(x∣θ)ϕ(x)dx=E[ϕ(x)](1계 도함수 증명 완료) 한 번 더 미분하여 2계 도함수 구하기: ∇θ2A(θ)=∇θ∫p(x∣θ)ϕ(x)⊤dx=∫∇θ[p(x∣θ)]ϕ(x)⊤dx\\nabla_{\\boldsymbol{\\theta}}^2 A(\\boldsymbol{\\theta}) = \\nabla_{\\boldsymbol{\\theta}} \\int p(x \\mid \\boldsymbol{\\theta}) \\boldsymbol{\\phi}(x)^\\top dx = \\int \\nabla_{\\boldsymbol{\\theta}} [p(x \\mid \\boldsymbol{\\theta})] \\boldsymbol{\\phi}(x)^\\top dx∇θ2​A(θ)=∇θ​∫p(x∣θ)ϕ(x)⊤dx=∫∇θ​[p(x∣θ)]ϕ(x)⊤dx p(x∣θ)p(x \\mid \\boldsymbol{\\theta})p(x∣θ)를 θ\\boldsymbol{\\theta}θ로 미분하면: ∇θp(x∣θ)=p(x∣θ)(ϕ(x)−∇θA(θ))⊤=p(x∣θ)(ϕ(x)−E[ϕ(x)])⊤\\nabla_{\\boldsymbol{\\theta}} p(x \\mid \\boldsymbol{\\theta}) = p(x \\mid \\boldsymbol{\\theta}) (\\boldsymbol{\\phi}(x) - \\nabla_{\\boldsymbol{\\theta}} A(\\boldsymbol{\\theta}))^\\top = p(x \\mid \\boldsymbol{\\theta}) (\\boldsymbol{\\phi}(x) - \\mathbb{E}[\\boldsymbol{\\phi}(x)])^\\top∇θ​p(x∣θ)=p(x∣θ)(ϕ(x)−∇θ​A(θ))⊤=p(x∣θ)(ϕ(x)−E[ϕ(x)])⊤ 대입하면: ∇θ2A(θ)=∫p(x∣θ)(ϕ(x)−E[ϕ(x)])(ϕ(x)−E[ϕ(x)])⊤dx=V[ϕ(x)](2계 도함수 증명 완료)\\nabla_{\\boldsymbol{\\theta}}^2 A(\\boldsymbol{\\theta}) = \\int p(x \\mid \\boldsymbol{\\theta}) (\\boldsymbol{\\phi}(x) - \\mathbb{E}[\\boldsymbol{\\phi}(x)]) (\\boldsymbol{\\phi}(x) - \\mathbb{E}[\\boldsymbol{\\phi}(x)])^\\top dx = \\mathbb{V}[\\boldsymbol{\\phi}(x)] \\quad \\text{(2계 도함수 증명 완료)}∇θ2​A(θ)=∫p(x∣θ)(ϕ(x)−E[ϕ(x)])(ϕ(x)−E[ϕ(x)])⊤dx=V[ϕ(x)](2계 도함수 증명 완료) [유도 3] 두 가우시안 밀도의 곱 공식 유도 목표: N(x∣a,A)N(x∣b,B)=cN(x∣c0,C)\\mathcal{N}(x \\mid a, A)\\mathcal{N}(x \\mid b, B) = c \\mathcal{N}(x \\mid c_0, C)N(x∣a,A)N(x∣b,B)=cN(x∣c0​,C) 임을 유도한다. 지수부 2차 형식 합치기: E=−12((x−a)⊤A−1(x−a)+(x−b)⊤B−1(x−b))E = -\\frac{1}{2} \\Big( (x - a)^\\top A^{-1} (x - a) + (x - b)^\\top B^{-1} (x - b) \\Big)E=−21​((x−a)⊤A−1(x−a)+(x−b)⊤B−1(x−b)) xxx에 대해 2차 항, 1차 항, 상수 항으로 전개: E=−12(x⊤(A−1+B−1)x−2x⊤(A−1a+B−1b)+a⊤A−1a+b⊤B−1b)E = -\\frac{1}{2} \\Big( x^\\top (A^{-1} + B^{-1}) x - 2 x^\\top (A^{-1}a + B^{-1}b) + a^\\top A^{-1}a + b^\\top B^{-1}b \\Big)E=−21​(x⊤(A−1+B−1)x−2x⊤(A−1a+B−1b)+a⊤A−1a+b⊤B−1b) 새로운 분산 C=(A−1+B−1)−1C = (A^{-1} + B^{-1})^{-1}C=(A−1+B−1)−1 및 평균 c0=C(A−1a+B−1b)c_0 = C(A^{-1}a + B^{-1}b)c0​=C(A−1a+B−1b)로 제곱 완성: x⊤C−1x−2x⊤C−1c0=(x−c0)⊤C−1(x−c0)−c0⊤C−1c0x^\\top C^{-1} x - 2 x^\\top C^{-1} c_0 = (x - c_0)^\\top C^{-1} (x - c_0) - c_0^\\top C^{-1} c_0x⊤C−1x−2x⊤C−1c0​=(x−c0​)⊤C−1(x−c0​)−c0⊤​C−1c0​ 남은 상수 항 정리: E=−12(x−c0)⊤C−1(x−c0)−12K,E = -\\frac{1}{2} (x - c_0)^\\top C^{-1} (x - c_0) - \\frac{1}{2} K,E=−21​(x−c0​)⊤C−1(x−c0​)−21​K, K:=a⊤A−1a+b⊤B−1b−c0⊤C−1c0K := a^\\top A^{-1} a + b^\\top B^{-1} b - c_0^\\top C^{-1} c_0K:=a⊤A−1a+b⊤B−1b−c0⊤​C−1c0​ KKK에는 xxx가 없으므로 상수다. 이제 K=(a−b)⊤(A+B)−1(a−b)K = (a - b)^\\top (A + B)^{-1} (a - b)K=(a−b)⊤(A+B)−1(a−b)임을 보인다. (AAA, BBB는 공분산이라 대칭이고 역행렬이 있다고 둔다.) (가) CCC를 다른 모양으로 쓰기. A−1+B−1A^{-1}+B^{-1}A−1+B−1의 양쪽에서 A−1A^{-1}A−1과 B−1B^{-1}B−1을 빼내면 A−1+B−1=A−1(B+A)B−1A^{-1}+B^{-1} = A^{-1}(B + A)B^{-1}A−1+B−1=A−1(B+A)B−1 이다(오른쪽을 전개하면 A−1BB−1+A−1AB−1=A−1+B−1A^{-1}BB^{-1} + A^{-1}AB^{-1} = A^{-1} + B^{-1}A−1BB−1+A−1AB−1=A−1+B−1). 곱의 역행렬은 순서를 뒤집은 역행렬의 곱이므로 C=(A−1+B−1)−1=B(A+B)−1A.C = (A^{-1}+B^{-1})^{-1} = B(A+B)^{-1}A.C=(A−1+B−1)−1=B(A+B)−1A. 같은 방법으로 A−1+B−1=B−1(A+B)A−1A^{-1}+B^{-1} = B^{-1}(A+B)A^{-1}A−1+B−1=B−1(A+B)A−1로 묶으면 C=A(A+B)−1BC = A(A+B)^{-1}BC=A(A+B)−1B도 된다. (나) 세 가지 보조 등식. (가)의 두 모양 중 계산이 줄어드는 쪽을 골라 쓴다. C=B(A+B)−1AC = B(A+B)^{-1}AC=B(A+B)−1A를 쓰면 오른쪽 끝의 AA−1AA^{-1}AA−1이 지워져 A−1CA−1=A−1B(A+B)−1AA−1=A−1B(A+B)−1A^{-1}CA^{-1} = A^{-1}B(A+B)^{-1}AA^{-1} = A^{-1}B(A+B)^{-1}A−1CA−1=A−1B(A+B)−1AA−1=A−1B(A+B)−1 이므로 A−1−A−1CA−1=A−1[(A+B)−B](A+B)−1=(A+B)−1A^{-1} - A^{-1}CA^{-1} = A^{-1}\\big[(A+B) - B\\big](A+B)^{-1} = (A+B)^{-1}A−1−A−1CA−1=A−1[(A+B)−B](A+B)−1=(A+B)−1. 같은 방법으로 B−1−B−1CB−1=B−1[(A+B)−A](A+B)−1=(A+B)−1B^{-1} - B^{-1}CB^{-1} = B^{-1}\\big[(A+B)-A\\big](A+B)^{-1} = (A+B)^{-1}B−1−B−1CB−1=B−1[(A+B)−A](A+B)−1=(A+B)−1. 그리고 A−1CB−1=A−1 A(A+B)−1B B−1=(A+B)−1A^{-1}CB^{-1} = A^{-1}\\,A(A+B)^{-1}B\\,B^{-1} = (A+B)^{-1}A−1CB−1=A−1A(A+B)−1BB−1=(A+B)−1. (다) c0⊤C−1c0c_0^\\top C^{-1}c_0c0⊤​C−1c0​ 펼치기. c0=C(A−1a+B−1b)c_0 = C(A^{-1}a + B^{-1}b)c0​=C(A−1a+B−1b)이므로 C−1c0=A−1a+B−1bC^{-1}c_0 = A^{-1}a + B^{-1}bC−1c0​=A−1a+B−1b이고 c0⊤C−1c0=(A−1a+B−1b)⊤C(A−1a+B−1b)=a⊤A−1CA−1a+2a⊤A−1CB−1b+b⊤B−1CB−1b.c_0^\\top C^{-1} c_0 = (A^{-1}a + B^{-1}b)^\\top C (A^{-1}a + B^{-1}b) = a^\\top A^{-1}CA^{-1}a + 2a^\\top A^{-1}CB^{-1}b + b^\\top B^{-1}CB^{-1}b.c0⊤​C−1c0​=(A−1a+B−1b)⊤C(A−1a+B−1b)=a⊤A−1CA−1a+2a⊤A−1CB−1b+b⊤B−1CB−1b. (가운데 두 교차항 a⊤A−1CB−1ba^\\top A^{-1}CB^{-1}ba⊤A−1CB−1b와 b⊤B−1CA−1ab^\\top B^{-1}CA^{-1}ab⊤B−1CA−1a는 서로의 전치인 스칼라라 같아서 2배로 합쳤다.) (라) 대입. KKK에 (다)를 넣고 같은 벡터끼리 묶은 뒤 (나)를 쓰면 K=a⊤(A−1−A−1CA−1)a+b⊤(B−1−B−1CB−1)b−2a⊤A−1CB−1bK = a^\\top\\big(A^{-1} - A^{-1}CA^{-1}\\big)a + b^\\top\\big(B^{-1} - B^{-1}CB^{-1}\\big)b - 2a^\\top A^{-1}CB^{-1}bK=a⊤(A−1−A−1CA−1)a+b⊤(B−1−B−1CB−1)b−2a⊤A−1CB−1b =a⊤(A+B)−1a+b⊤(A+B)−1b−2a⊤(A+B)−1b=(a−b)⊤(A+B)−1(a−b).= a^\\top(A+B)^{-1}a + b^\\top(A+B)^{-1}b - 2a^\\top(A+B)^{-1}b = (a-b)^\\top(A+B)^{-1}(a-b).=a⊤(A+B)−1a+b⊤(A+B)−1b−2a⊤(A+B)−1b=(a−b)⊤(A+B)−1(a−b). 정규화 상수와 결합: 두 밀도의 앞 계수를 곱하면 (2π)−D∣A∣−1/2∣B∣−1/2(2\\pi)^{-D}|A|^{-1/2}|B|^{-1/2}(2π)−D∣A∣−1/2∣B∣−1/2이다. (가)의 C=A(A+B)−1BC = A(A+B)^{-1}BC=A(A+B)−1B에서 행렬식을 취하면 ∣C∣=∣A∣ ∣B∣ / ∣A+B∣|C| = |A|\\,|B|\\,/\\,|A+B|∣C∣=∣A∣∣B∣/∣A+B∣, 즉 ∣A∣ ∣B∣=∣C∣ ∣A+B∣|A|\\,|B| = |C|\\,|A+B|∣A∣∣B∣=∣C∣∣A+B∣이다. 그래서 계수를 둘로 나눌 수 있다: (2π)−D∣A∣−1/2∣B∣−1/2=[(2π)−D/2∣A+B∣−1/2][(2π)−D/2∣C∣−1/2].(2\\pi)^{-D}|A|^{-1/2}|B|^{-1/2} = \\Big[(2\\pi)^{-D/2}|A+B|^{-1/2}\\Big]\\Big[(2\\pi)^{-D/2}|C|^{-1/2}\\Big].(2π)−D∣A∣−1/2∣B∣−1/2=[(2π)−D/2∣A+B∣−1/2][(2π)−D/2∣C∣−1/2]. 첫째 괄호와 exp⁡(−12K)\\exp(-\\frac12 K)exp(−21​K)를 묶으면 c=(2π)−D/2∣A+B∣−1/2exp⁡(−12(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)c = (2\\pi)^{-D/2}|A+B|^{-1/2}\\exp\\big(-\\frac12(a-b)^\\top(A+B)^{-1}(a-b)\\big) = \\mathcal{N}(a \\mid b, A + B)c=(2π)−D/2∣A+B∣−1/2exp(−21​(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)이고, 둘째 괄호와 exp⁡(−12(x−c0)⊤C−1(x−c0))\\exp(-\\frac12(x-c_0)^\\top C^{-1}(x-c_0))exp(−21​(x−c0​)⊤C−1(x−c0​))를 묶으면 N(x∣c0,C)\\mathcal{N}(x \\mid c_0, C)N(x∣c0​,C)다(교재 식 (6.74)~(6.76)). (증명 완료)\\quad \\text{(증명 완료)}(증명 완료) [유도 4] 확률적분변환 Y=FX(X)∼Uniform(0,1)Y = F_X(X) \\sim \\text{Uniform}(0, 1)Y=FX​(X)∼Uniform(0,1) 증명 목표: 연속 확률변수 XXX의 CDF를 FXF_XFX​라 할 때, Y=FX(X)Y = F_X(X)Y=FX​(X)의 분포가 균등분포임을 증명한다. 새로운 변수 YYY의 누적분포함수 FY(y)F_Y(y)FY​(y) 정의: 임의의 y∈(0,1)y \\in (0, 1)y∈(0,1)에 대하여, FY(y)=P(Y≤y)=P(FX(X)≤y)F_Y(y) = P(Y \\le y) = P(F_X(X) \\le y)FY​(y)=P(Y≤y)=P(FX​(X)≤y) (이유: 누적분포함수의 정의) CDF의 단조증가성과 역함수 적용: FXF_XFX​가 연속이고 순증가(strictly increasing)라고 가정하면(교재 증명도 역함수가 있다고 가정한다) 역함수 FX−1F_X^{-1}FX−1​가 존재하며 부등호 방향이 보존된다: P(FX(X)≤y)=P(X≤FX−1(y))P(F_X(X) \\le y) = P(X \\le F_X^{-1}(y))P(FX​(X)≤y)=P(X≤FX−1​(y)) (이유: 양변에 FX−1F_X^{-1}FX−1​ 적용) XXX의 CDF 정의 적용: P(X≤t)=FX(t)P(X \\le t) = F_X(t)P(X≤t)=FX​(t)이므로, t=FX−1(y)t = F_X^{-1}(y)t=FX−1​(y)를 대입하면: P(X≤FX−1(y))=FX(FX−1(y))=yP(X \\le F_X^{-1}(y)) = F_X(F_X^{-1}(y)) = yP(X≤FX−1​(y))=FX​(FX−1​(y))=y (이유: 함수와 역함수의 합성) 확률밀도함수 도출: FY(y)=y(0\u0026lt;y\u0026lt;1)F_Y(y) = y \\quad (0 \u0026lt; y \u0026lt; 1)FY​(y)=y(0\u0026lt;y\u0026lt;1) 이를 yyy에 대해 미분하면: fY(y)=ddyFY(y)=ddy(y)=1(0\u0026lt;y\u0026lt;1)f_Y(y) = \\frac{d}{dy} F_Y(y) = \\frac{d}{dy}(y) = 1 \\quad (0 \u0026lt; y \u0026lt; 1)fY​(y)=dyd​FY​(y)=dyd​(y)=1(0\u0026lt;y\u0026lt;1) 구간 (0,1)(0, 1)(0,1)에서 확률밀도가 상수 1인 분포는 정의상 Uniform(0,1)\\text{Uniform}(0, 1)Uniform(0,1)이다. (증명 완료)\\quad \\text{(증명 완료)}(증명 완료) 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. 확률변수란 무엇인가요? 확률밀도함수 값이 1보다 클 수 있나요? \u0026ldquo;확률변수는 표본공간의 결과를 실수로 보내는 함수입니다. 연속 확률변수의 밀도 p(x)p(x)p(x)는 확률 자체가 아니라 단위 길이당 확률이라, 구간에서 적분한 값이 확률입니다. 그래서 Uniform(0,0.5)\\text{Uniform}(0, 0.5)Uniform(0,0.5)의 밀도 2처럼 1보다 클 수 있고, 한 점의 확률은 0입니다.\u0026rdquo;\nQ. 합의 법칙, 곱의 법칙, 베이즈 정리를 설명해 보세요. \u0026ldquo;합의 법칙은 결합분포에서 다른 변수를 더하거나 적분해 없애 주변분포를 얻는 것이고, 곱의 법칙은 p(x,y)=p(y∣x)p(x)p(x,y)=p(y\\mid x)p(x)p(x,y)=p(y∣x)p(x)입니다. 둘을 합치면 베이즈 정리 p(x∣y)=p(y∣x)p(x)p(y)p(x\\mid y)=\\frac{p(y\\mid x)p(x)}{p(y)}p(x∣y)=p(y)p(y∣x)p(x)​가 나오고, 분모의 증거 p(y)=∫p(y∣x)p(x)dxp(y)=\\int p(y\\mid x)p(x)dxp(y)=∫p(y∣x)p(x)dx는 합의 법칙으로 구합니다. 머신러닝에서는 데이터로 매개변수의 사후분포를 구할 때 씁니다.\u0026rdquo;\nQ. 독립과 무상관의 차이는? \u0026ldquo;독립은 p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)로 분포 전체가 분리되는 것이고, 무상관은 공분산이 0인 것뿐입니다. 독립이면 무상관이지만 역은 아닙니다. X∼Uniform(−1,1)X\\sim\\text{Uniform}(-1,1)X∼Uniform(−1,1), Y=X2Y=X^2Y=X2는 공분산이 0이지만 YYY가 XXX로 완전히 결정됩니다. 결합 가우시안이면 둘이 같아집니다.\u0026rdquo;\nQ. 가우시안의 주변분포와 조건부분포는 어떻게 구하나요? \u0026ldquo;주변분포는 평균과 공분산에서 해당 블록만 떼어 내면 됩니다. 조건부분포는 μa∣b=μa+ΣabΣbb−1(xb−μb)\\mu_{a\\mid b}=\\mu_a+\\Sigma_{ab}\\Sigma_{bb}^{-1}(x_b-\\mu_b)μa∣b​=μa​+Σab​Σbb−1​(xb​−μb​), Σa∣b=Σaa−ΣabΣbb−1Σba\\Sigma_{a\\mid b}=\\Sigma_{aa}-\\Sigma_{ab}\\Sigma_{bb}^{-1}\\Sigma_{ba}Σa∣b​=Σaa​−Σab​Σbb−1​Σba​입니다. 관측으로 평균이 상관관계만큼 이동하고 분산은 줄어드는데, 줄어드는 양은 관측값과 무관합니다.\u0026rdquo;\nQ. 선형변환한 확률변수의 평균과 공분산은? 다변량 가우시안 샘플은 어떻게 뽑나요? \u0026ldquo;y=Ax+by=Ax+by=Ax+b이면 평균은 Aμ+bA\\mu+bAμ+b, 공분산은 AΣA⊤A\\Sigma A^\\topAΣA⊤입니다. 가우시안이면 yyy도 가우시안입니다. 그래서 Σ=LL⊤\\Sigma=LL^\\topΣ=LL⊤로 촐레스키 분해하고 표준정규 zzz를 뽑아 x=μ+Lzx=\\mu+Lzx=μ+Lz로 만들면 N(μ,Σ)\\mathcal N(\\mu,\\Sigma)N(μ,Σ) 샘플이 됩니다.\u0026rdquo;\nQ. 켤레 사전분포란? 베타-이항을 예로 설명해 보세요. \u0026ldquo;사후분포가 사전분포와 같은 분포족이 되게 하는 사전분포입니다. 이항 우도 μh(1−μ)N−h\\mu^h(1-\\mu)^{N-h}μh(1−μ)N−h에 베타 사전분포 μα−1(1−μ)β−1\\mu^{\\alpha-1}(1-\\mu)^{\\beta-1}μα−1(1−μ)β−1를 곱하면 Beta(α+h,β+N−h)\\text{Beta}(\\alpha+h,\\beta+N-h)Beta(α+h,β+N−h)가 되어, 적분 없이 성공·실패 횟수를 더하기만 하면 됩니다. α,β\\alpha,\\betaα,β는 미리 본 가상의 성공·실패 횟수로 해석합니다.\u0026rdquo;\nQ. 지수족이란? 왜 중요한가요? \u0026ldquo;p(x∣θ)=h(x)exp⁡(θ⊤ϕ(x)−A(θ))p(x\\mid\\theta)=h(x)\\exp(\\theta^\\top\\phi(x)-A(\\theta))p(x∣θ)=h(x)exp(θ⊤ϕ(x)−A(θ)) 꼴의 분포족으로, 가우시안·베르누이·이항·베타 등이 속합니다. 충분통계량 ϕ(x)\\phi(x)ϕ(x)가 유한 차원이라 데이터를 요약하기 쉽고, 로그 분할함수를 미분하면 ∇A=E[ϕ(x)]\\nabla A=\\mathbb E[\\phi(x)]∇A=E[ϕ(x)], ∇2A=V[ϕ(x)]\\nabla^2A=\\mathbb V[\\phi(x)]∇2A=V[ϕ(x)]가 나옵니다. 지수족 우도에는 켤레 사전분포가 있습니다.\u0026rdquo;\nQ. 변수 변환 공식과 확률적분변환은? \u0026ldquo;y=g(x)y=g(x)y=g(x)가 일대일이면 py(y)=px(g−1(y))∣dg−1dy∣p_y(y)=p_x(g^{-1}(y))\\left|\\frac{dg^{-1}}{dy}\\right|py​(y)=px​(g−1(y))​dydg−1​​이고, 다변수에서는 야코비안 행렬식의 절댓값을 곱합니다. 부피가 늘어난 만큼 밀도가 줄어드는 것을 보정하는 것입니다. 확률적분변환은 Y=FX(X)Y=F_X(X)Y=FX​(X)가 Uniform(0,1)\\text{Uniform}(0,1)Uniform(0,1)을 따른다는 정리이고, 거꾸로 균등 난수를 FX−1F_X^{-1}FX−1​에 넣으면 원하는 분포의 샘플을 얻습니다.\u0026rdquo;\n연습문제 확인 문제 (10문제, 상세 풀이 및 파이썬 검산 완료) [문제 1] (조건부 확률과 베이즈 정리) 어떤 공장에서 생산되는 제품의 60%60\\%60%는 공장 A에서, 40%40\\%40%는 공장 B에서 생산된다. 공장 A의 불량률은 2%2\\%2%, 공장 B의 불량률은 5%5\\%5%이다. 무작위로 뽑은 제품이 불량품이었을 때, 이 제품이 공장 B에서 생산되었을 확률을 구하라.\n[풀이]: 사전확률: P(A)=0.6,P(B)=0.4P(A) = 0.6, P(B) = 0.4P(A)=0.6,P(B)=0.4. 우도: P(D∣A)=0.02,P(D∣B)=0.05P(D \\mid A) = 0.02, P(D \\mid B) = 0.05P(D∣A)=0.02,P(D∣B)=0.05 (DDD는 불량품 사건). 전체 불량률 P(D)P(D)P(D) (합의 법칙): P(D)=P(D∣A)P(A)+P(D∣B)P(B)=(0.02)(0.6)+(0.05)(0.4)=0.012+0.020=0.032P(D) = P(D \\mid A)P(A) + P(D \\mid B)P(B) = (0.02)(0.6) + (0.05)(0.4) = 0.012 + 0.020 = 0.032P(D)=P(D∣A)P(A)+P(D∣B)P(B)=(0.02)(0.6)+(0.05)(0.4)=0.012+0.020=0.032 베이즈 정리 적용: P(B∣D)=P(D∣B)P(B)P(D)=0.0200.032=2032=58=0.625P(B \\mid D) = \\frac{P(D \\mid B)P(B)}{P(D)} = \\frac{0.020}{0.032} = \\frac{20}{32} = \\frac{5}{8} = 0.625P(B∣D)=P(D)P(D∣B)P(B)​=0.0320.020​=3220​=85​=0.625 답: 0.6250.6250.625 (62.5%62.5\\%62.5%) [문제 2] (확률변수의 선형변환과 공분산) 평균이 μ=[2−1]\\boldsymbol{\\mu} = \\begin{bmatrix} 2 \\\\ -1 \\end{bmatrix}μ=[2−1​], 공분산이 Σ=[1114]\\Sigma = \\begin{bmatrix} 1 \u0026amp; 1 \\\\ 1 \u0026amp; 4 \\end{bmatrix}Σ=[11​14​]인 확률변수 x\\boldsymbol{x}x가 있다. y=2x1−x2+3y = 2x_1 - x_2 + 3y=2x1​−x2​+3의 평균과 분산을 구하라.\n[풀이]: yyy를 벡터 행렬곱 형태로 표현: y=Ax+by = A\\boldsymbol{x} + by=Ax+b, 여기서 A=[2−1]∈R1×2A = \\begin{bmatrix} 2 \u0026amp; -1 \\end{bmatrix} \\in \\mathbb{R}^{1 \\times 2}A=[2​−1​]∈R1×2, b=3b = 3b=3. 평균 계산: E[y]=Aμ+b=[2−1][2−1]+3=2(2)+(−1)(−1)+3=4+1+3=8\\mathbb{E}[y] = A\\boldsymbol{\\mu} + b = \\begin{bmatrix} 2 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} 2 \\\\ -1 \\end{bmatrix} + 3 = 2(2) + (-1)(-1) + 3 = 4 + 1 + 3 = 8E[y]=Aμ+b=[2​−1​][2−1​]+3=2(2)+(−1)(−1)+3=4+1+3=8 분산 계산: V[y]=AΣA⊤=[2−1][1114][2−1]\\mathbb{V}[y] = A \\Sigma A^\\top = \\begin{bmatrix} 2 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} 1 \u0026amp; 1 \\\\ 1 \u0026amp; 4 \\end{bmatrix} \\begin{bmatrix} 2 \\\\ -1 \\end{bmatrix}V[y]=AΣA⊤=[2​−1​][11​14​][2−1​] AΣ=[2(1)−1(1)2(1)−1(4)]=[1−2]A \\Sigma = \\begin{bmatrix} 2(1) - 1(1) \u0026amp; 2(1) - 1(4) \\end{bmatrix} = \\begin{bmatrix} 1 \u0026amp; -2 \\end{bmatrix}AΣ=[2(1)−1(1)​2(1)−1(4)​]=[1​−2​] (AΣ)A⊤=[1−2][2−1]=1(2)+(−2)(−1)=2+2=4(A \\Sigma) A^\\top = \\begin{bmatrix} 1 \u0026amp; -2 \\end{bmatrix} \\begin{bmatrix} 2 \\\\ -1 \\end{bmatrix} = 1(2) + (-2)(-1) = 2 + 2 = 4(AΣ)A⊤=[1​−2​][2−1​]=1(2)+(−2)(−1)=2+2=4 답: 평균 8, 분산 4. [문제 3] (2차원 가우시안 조건부 분포) [x1x2]∼N([00],[9334])\\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\sim \\mathcal{N}\\left( \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}, \\begin{bmatrix} 9 \u0026amp; 3 \\\\ 3 \u0026amp; 4 \\end{bmatrix} \\right)[x1​x2​​]∼N([00​],[93​34​])일 때, x2=2x_2 = 2x2​=2가 주어졌을 때 x1x_1x1​의 조건부 분포 p(x1∣x2=2)p(x_1 \\mid x_2 = 2)p(x1​∣x2​=2)의 평균과 분산을 구하라.\n[풀이]: 파라미터 매칭: μ1=0,μ2=0,Σ11=9,Σ12=3,Σ22=4\\mu_1 = 0, \\mu_2 = 0, \\Sigma_{11} = 9, \\Sigma_{12} = 3, \\Sigma_{22} = 4μ1​=0,μ2​=0,Σ11​=9,Σ12​=3,Σ22​=4. 조건부 평균: μ1∣2=μ1+Σ12Σ22−1(x2−μ2)=0+3⋅14(2−0)=64=1.5\\mu_{1 \\mid 2} = \\mu_1 + \\Sigma_{12} \\Sigma_{22}^{-1} (x_2 - \\mu_2) = 0 + 3 \\cdot \\frac{1}{4} (2 - 0) = \\frac{6}{4} = 1.5μ1∣2​=μ1​+Σ12​Σ22−1​(x2​−μ2​)=0+3⋅41​(2−0)=46​=1.5 조건부 분산: Σ1∣2=Σ11−Σ12Σ22−1Σ21=9−3⋅14⋅3=9−94=274=6.75\\Sigma_{1 \\mid 2} = \\Sigma_{11} - \\Sigma_{12} \\Sigma_{22}^{-1} \\Sigma_{21} = 9 - 3 \\cdot \\frac{1}{4} \\cdot 3 = 9 - \\frac{9}{4} = \\frac{27}{4} = 6.75Σ1∣2​=Σ11​−Σ12​Σ22−1​Σ21​=9−3⋅41​⋅3=9−49​=427​=6.75 답: N(1.5,6.75)\\mathcal{N}(1.5, 6.75)N(1.5,6.75). [문제 4] (두 1차원 가우시안의 곱) p1(x)=N(x∣0,2)p_1(x) = \\mathcal{N}(x \\mid 0, 2)p1​(x)=N(x∣0,2)와 p2(x)=N(x∣4,2)p_2(x) = \\mathcal{N}(x \\mid 4, 2)p2​(x)=N(x∣4,2)의 곱 p1(x)p2(x)=cN(x∣c0,C)p_1(x)p_2(x) = c \\mathcal{N}(x \\mid c_0, C)p1​(x)p2​(x)=cN(x∣c0​,C)에서 새로운 평균 c0c_0c0​와 분산 CCC를 구하라.\n[풀이]: A=2,B=2,a=0,b=4A = 2, B = 2, a = 0, b = 4A=2,B=2,a=0,b=4. C=(A−1+B−1)−1=(12+12)−1=1−1=1C = (A^{-1} + B^{-1})^{-1} = \\left( \\frac{1}{2} + \\frac{1}{2} \\right)^{-1} = 1^{-1} = 1C=(A−1+B−1)−1=(21​+21​)−1=1−1=1. c0=C(A−1a+B−1b)=1(02+42)=2c_0 = C(A^{-1}a + B^{-1}b) = 1 \\left( \\frac{0}{2} + \\frac{4}{2} \\right) = 2c0​=C(A−1a+B−1b)=1(20​+24​)=2. 답: 평균 c0=2c_0 = 2c0​=2, 분산 C=1C = 1C=1. [문제 5] (베타-이항 켤레 사후분포) 어떤 웹사이트 배너의 클릭률 μ\\muμ에 대해 사전분포 μ∼Beta(1,1)\\mu \\sim \\text{Beta}(1, 1)μ∼Beta(1,1) (균등분포)를 설정했다. 사용자 20명에게 배너를 노출하여 4명이 클릭했다. 사후분포 p(μ∣data)p(\\mu \\mid \\text{data})p(μ∣data)와 사후 평균을 구하라.\n[풀이]: 사전 파라미터 α=1,β=1\\alpha = 1, \\beta = 1α=1,β=1. 관측 데이터 N=20N = 20N=20, 클릭(성공) h=4h = 4h=4, 미클릭(실패) N−h=16N - h = 16N−h=16. 켤레 갱신 공식: α′=α+h=1+4=5,β′=β+(N−h)=1+16=17\\alpha\u0026#x27; = \\alpha + h = 1 + 4 = 5, \\quad \\beta\u0026#x27; = \\beta + (N - h) = 1 + 16 = 17α′=α+h=1+4=5,β′=β+(N−h)=1+16=17 사후분포: Beta(5,17)\\text{Beta}(5, 17)Beta(5,17). 사후 평균: E[μ]=α′α′+β′=55+17=522≈0.2273\\mathbb{E}[\\mu] = \\frac{\\alpha\u0026#x27;}{\\alpha\u0026#x27; + \\beta\u0026#x27;} = \\frac{5}{5 + 17} = \\frac{5}{22} \\approx 0.2273E[μ]=α′+β′α′​=5+175​=225​≈0.2273 답: 사후분포 Beta(5,17)\\text{Beta}(5, 17)Beta(5,17), 사후 평균 522\\frac{5}{22}225​. [문제 6] (포아송 분포의 지수족 표현) 단위 시간당 사건 발생률 λ\u0026gt;0\\lambda \u0026gt; 0λ\u0026gt;0인 포아송 분포 p(x∣λ)=λxe−λx!p(x \\mid \\lambda) = \\frac{\\lambda^x e^{-\\lambda}}{x!}p(x∣λ)=x!λxe−λ​ (x=0,1,2,…x = 0, 1, 2, \\dotsx=0,1,2,…)를 지수족 자연 매개변수 형태로 나타내고, 자연 매개변수 θ\\thetaθ와 로그 분할함수 A(θ)A(\\theta)A(θ)를 구하라.\n[풀이]: 지수 형태로 변형: p(x∣λ)=1x!exp⁡(xln⁡λ−λ)p(x \\mid \\lambda) = \\frac{1}{x!} \\exp( x \\ln\\lambda - \\lambda )p(x∣λ)=x!1​exp(xlnλ−λ) 지수족 표준형 h(x)exp⁡(θϕ(x)−A(θ))h(x) \\exp(\\theta \\phi(x) - A(\\theta))h(x)exp(θϕ(x)−A(θ))와 매칭: 기저 측도: h(x)=1x!h(x) = \\frac{1}{x!}h(x)=x!1​ 충분통계량: ϕ(x)=x\\phi(x) = xϕ(x)=x 자연 매개변수: θ=ln⁡λ ⟹ λ=eθ\\theta = \\ln\\lambda \\implies \\lambda = e^\\thetaθ=lnλ⟹λ=eθ 로그 분할함수: A(θ)=λ=eθA(\\theta) = \\lambda = e^\\thetaA(θ)=λ=eθ 검산: dAdθ=eθ=λ=E[x]\\frac{dA}{d\\theta} = e^\\theta = \\lambda = \\mathbb{E}[x]dθdA​=eθ=λ=E[x]. 맞다. 답: θ=ln⁡λ\\theta = \\ln\\lambdaθ=lnλ, A(θ)=eθA(\\theta) = e^\\thetaA(θ)=eθ. [문제 7] (확률변수의 변수 변환 PDF 구하기) X∼Uniform(0,2)X \\sim \\text{Uniform}(0, 2)X∼Uniform(0,2) (즉, fX(x)=0.5f_X(x) = 0.5fX​(x)=0.5 on [0,2][0, 2][0,2])일 때, Y=X3Y = X^3Y=X3의 확률밀도함수 fY(y)f_Y(y)fY​(y)를 변수 변환 공식으로 구하라.\n[풀이]: y=g(x)=x3 ⟹ x=g−1(y)=y1/3y = g(x) = x^3 \\implies x = g^{-1}(y) = y^{1/3}y=g(x)=x3⟹x=g−1(y)=y1/3 (0≤y≤80 \\le y \\le 80≤y≤8). 도함수: dxdy=13y−2/3\\frac{dx}{dy} = \\frac{1}{3} y^{-2/3}dydx​=31​y−2/3. 변환 공식 적용: fY(y)=fX(g−1(y))∣dxdy∣=0.5×13y−2/3=16y−2/3(0\u0026lt;y≤8)f_Y(y) = f_X(g^{-1}(y)) \\left| \\frac{dx}{dy} \\right| = 0.5 \\times \\frac{1}{3} y^{-2/3} = \\frac{1}{6} y^{-2/3} \\quad (0 \u0026lt; y \\le 8)fY​(y)=fX​(g−1(y))​dydx​​=0.5×31​y−2/3=61​y−2/3(0\u0026lt;y≤8) 적분 검산: ∫0816y−2/3dy=16[3y1/3]08=12(81/3−0)=12×2=1\\int_0^8 \\frac{1}{6} y^{-2/3} dy = \\frac{1}{6} \\left[ 3 y^{1/3} \\right]_0^8 = \\frac{1}{2} (8^{1/3} - 0) = \\frac{1}{2} \\times 2 = 1∫08​61​y−2/3dy=61​[3y1/3]08​=21​(81/3−0)=21​×2=1. 답: fY(y)=16y−2/3f_Y(y) = \\frac{1}{6} y^{-2/3}fY​(y)=61​y−2/3 (0\u0026lt;y≤80 \u0026lt; y \\le 80\u0026lt;y≤8). [문제 8] (공분산 행렬의 양의 준정부호성 증명) 임의의 확률변수 벡터 x\\boldsymbol{x}x의 공분산 행렬 Σ=E[(x−μ)(x−μ)⊤]\\Sigma = \\mathbb{E}[(\\boldsymbol{x}-\\boldsymbol{\\mu})(\\boldsymbol{x}-\\boldsymbol{\\mu})^\\top]Σ=E[(x−μ)(x−μ)⊤]가 항상 양의 준정부호(PSD)임을 증명하라.\n[풀이]: 임의의 영이 아닌 벡터 z∈RD\\boldsymbol{z} \\in \\mathbb{R}^Dz∈RD에 대하여 2차 형식 z⊤Σz\\boldsymbol{z}^\\top \\Sigma \\boldsymbol{z}z⊤Σz를 계산한다: z⊤Σz=z⊤E[(x−μ)(x−μ)⊤]z=E[z⊤(x−μ)(x−μ)⊤z]\\boldsymbol{z}^\\top \\Sigma \\boldsymbol{z} = \\boldsymbol{z}^\\top \\mathbb{E}[(\\boldsymbol{x}-\\boldsymbol{\\mu})(\\boldsymbol{x}-\\boldsymbol{\\mu})^\\top] \\boldsymbol{z} = \\mathbb{E}[ \\boldsymbol{z}^\\top (\\boldsymbol{x}-\\boldsymbol{\\mu})(\\boldsymbol{x}-\\boldsymbol{\\mu})^\\top \\boldsymbol{z} ]z⊤Σz=z⊤E[(x−μ)(x−μ)⊤]z=E[z⊤(x−μ)(x−μ)⊤z] 여기서 u:=z⊤(x−μ)u := \\boldsymbol{z}^\\top (\\boldsymbol{x}-\\boldsymbol{\\mu})u:=z⊤(x−μ)는 스칼라 확률변수다. 따라서 u2=uu⊤=z⊤(x−μ)(x−μ)⊤zu^2 = u u^\\top = \\boldsymbol{z}^\\top (\\boldsymbol{x}-\\boldsymbol{\\mu})(\\boldsymbol{x}-\\boldsymbol{\\mu})^\\top \\boldsymbol{z}u2=uu⊤=z⊤(x−μ)(x−μ)⊤z이다. z⊤Σz=E[u2]\\boldsymbol{z}^\\top \\Sigma \\boldsymbol{z} = \\mathbb{E}[u^2]z⊤Σz=E[u2] 실수의 제곱은 항상 000 이상(u2≥0u^2 \\ge 0u2≥0)이므로 그 기댓값 역시 항상 000 이상이다: E[u2]≥0 ⟹ z⊤Σz≥0\\mathbb{E}[u^2] \\ge 0 \\implies \\boldsymbol{z}^\\top \\Sigma \\boldsymbol{z} \\ge 0E[u2]≥0⟹z⊤Σz≥0 따라서 공분산 행렬 Σ\\SigmaΣ는 항상 양의 준정부호(PSD)이다. [문제 9] (가우시안 주변분포의 단순성) x∼N([15−2],[1021283135])\\boldsymbol{x} \\sim \\mathcal{N}\\left( \\begin{bmatrix} 1 \\\\ 5 \\\\ -2 \\end{bmatrix}, \\begin{bmatrix} 10 \u0026amp; 2 \u0026amp; 1 \\\\ 2 \u0026amp; 8 \u0026amp; 3 \\\\ 1 \u0026amp; 3 \u0026amp; 5 \\end{bmatrix} \\right)x∼N​​15−2​​,​1021​283​135​​​일 때, 1번째와 3번째 성분으로 이루어진 부분벡터 y=[x1x3]\\boldsymbol{y} = \\begin{bmatrix} x_1 \\\\ x_3 \\end{bmatrix}y=[x1​x3​​]의 분포를 구하라.\n[풀이]: 가우시안의 주변분포 성질에 의해, 관심 없는 2번째 변수(x2x_2x2​)의 행과 열을 결합분포에서 단순히 제거하면 된다. 평균: μy=[1−2]\\boldsymbol{\\mu}_{\\boldsymbol{y}} = \\begin{bmatrix} 1 \\\\ -2 \\end{bmatrix}μy​=[1−2​] 공분산 행렬: Σy=[10115]\\Sigma_{\\boldsymbol{y}} = \\begin{bmatrix} 10 \u0026amp; 1 \\\\ 1 \u0026amp; 5 \\end{bmatrix}Σy​=[101​15​] 답: y∼N([1−2],[10115])\\boldsymbol{y} \\sim \\mathcal{N}\\left( \\begin{bmatrix} 1 \\\\ -2 \\end{bmatrix}, \\begin{bmatrix} 10 \u0026amp; 1 \\\\ 1 \u0026amp; 5 \\end{bmatrix} \\right)y∼N([1−2​],[101​15​]). [문제 10] (이항분포의 지수족 표현) NNN번의 시행 중 성공 횟수 xxx에 대한 이항분포 p(x∣N,μ)=(Nx)μx(1−μ)N−xp(x \\mid N, \\mu) = \\binom{N}{x} \\mu^x (1 - \\mu)^{N - x}p(x∣N,μ)=(xN​)μx(1−μ)N−x를 지수족 형태로 표현하고, 로그 분할함수 A(θ)A(\\theta)A(θ)를 구하라.\n[풀이]: 지수 형태로 전개: p(x∣N,μ)=(Nx)exp⁡(xln⁡(μ1−μ)+Nln⁡(1−μ))p(x \\mid N, \\mu) = \\binom{N}{x} \\exp\\left( x \\ln\\left(\\frac{\\mu}{1-\\mu}\\right) + N \\ln(1-\\mu) \\right)p(x∣N,μ)=(xN​)exp(xln(1−μμ​)+Nln(1−μ)) 자연 매개변수 θ=ln⁡(μ1−μ)\\theta = \\ln\\left(\\frac{\\mu}{1-\\mu}\\right)θ=ln(1−μμ​) 설정. 1−μ=11+eθ ⟹ ln⁡(1−μ)=−ln⁡(1+eθ)1 - \\mu = \\frac{1}{1 + e^\\theta} \\implies \\ln(1 - \\mu) = -\\ln(1 + e^\\theta)1−μ=1+eθ1​⟹ln(1−μ)=−ln(1+eθ). 지수족 매칭: p(x∣θ)=(Nx)exp⁡(θx−Nln⁡(1+eθ))p(x \\mid \\theta) = \\binom{N}{x} \\exp\\left( \\theta x - N \\ln(1 + e^\\theta) \\right)p(x∣θ)=(xN​)exp(θx−Nln(1+eθ)) h(x)=(Nx)h(x) = \\binom{N}{x}h(x)=(xN​) ϕ(x)=x\\phi(x) = xϕ(x)=x θ=ln⁡(μ1−μ)\\theta = \\ln\\left(\\frac{\\mu}{1-\\mu}\\right)θ=ln(1−μμ​) A(θ)=Nln⁡(1+eθ)A(\\theta) = N \\ln(1 + e^\\theta)A(θ)=Nln(1+eθ) 도함수 확인: dAdθ=Neθ1+eθ=Nμ=E[x]\\frac{dA}{d\\theta} = N \\frac{e^\\theta}{1+e^\\theta} = N\\mu = \\mathbb{E}[x]dθdA​=N1+eθeθ​=Nμ=E[x]. 맞다. 답: θ=ln⁡μ1−μ\\theta = \\ln\\frac{\\mu}{1-\\mu}θ=ln1−μμ​, A(θ)=Nln⁡(1+eθ)A(\\theta) = N\\ln(1+e^\\theta)A(θ)=Nln(1+eθ). 교재 연습문제 안내 (Exercises 6.1 ~ 6.13 상세 해설 및 풀이 방향) Exercise 6.1 문제 요약: 두 이산 확률변수 X∈{x1,…,x5}X \\in \\{x_1, \\dots, x_5\\}X∈{x1​,…,x5​}, Y∈{y1,y2,y3}Y \\in \\{y_1, y_2, y_3\\}Y∈{y1​,y2​,y3​}의 결합분포표가 주어졌을 때 (a) 주변분포 p(x),p(y)p(x), p(y)p(x),p(y) 및 (b) 조건부분포 p(x∣Y=y1),p(y∣X=x3)p(x \\mid Y = y_1), p(y \\mid X = x_3)p(x∣Y=y1​),p(y∣X=x3​)을 계산하라. 풀이: 데이터 행렬 합산: p(y1)=0.01+0.02+0.03+0.1+0.1=0.26p(y_1) = 0.01 + 0.02 + 0.03 + 0.1 + 0.1 = 0.26p(y1​)=0.01+0.02+0.03+0.1+0.1=0.26 p(y2)=0.05+0.10+0.05+0.07+0.20=0.47p(y_2) = 0.05 + 0.10 + 0.05 + 0.07 + 0.20 = 0.47p(y2​)=0.05+0.10+0.05+0.07+0.20=0.47 p(y3)=0.10+0.05+0.03+0.05+0.04=0.27p(y_3) = 0.10 + 0.05 + 0.03 + 0.05 + 0.04 = 0.27p(y3​)=0.10+0.05+0.03+0.05+0.04=0.27 p(x)=[0.16,0.17,0.11,0.22,0.34]p(x) = [0.16, 0.17, 0.11, 0.22, 0.34]p(x)=[0.16,0.17,0.11,0.22,0.34] 조건부 확률: p(x∣y1)=p(x,y1)0.26=[0.010.26,0.020.26,0.030.26,0.100.26,0.100.26]≈[0.0385,0.0769,0.1154,0.3846,0.3846]p(x \\mid y_1) = \\frac{p(x, y_1)}{0.26} = [\\frac{0.01}{0.26}, \\frac{0.02}{0.26}, \\frac{0.03}{0.26}, \\frac{0.10}{0.26}, \\frac{0.10}{0.26}] \\approx [0.0385, 0.0769, 0.1154, 0.3846, 0.3846]p(x∣y1​)=0.26p(x,y1​)​=[0.260.01​,0.260.02​,0.260.03​,0.260.10​,0.260.10​]≈[0.0385,0.0769,0.1154,0.3846,0.3846] p(y∣x3)=p(x3,y)p(x3)=p(x3,y)0.11=[0.030.11,0.050.11,0.030.11]≈[0.2727,0.4545,0.2727]p(y \\mid x_3) = \\frac{p(x_3, y)}{p(x_3)} = \\frac{p(x_3, y)}{0.11} = [\\frac{0.03}{0.11}, \\frac{0.05}{0.11}, \\frac{0.03}{0.11}] \\approx [0.2727, 0.4545, 0.2727]p(y∣x3​)=p(x3​)p(x3​,y)​=0.11p(x3​,y)​=[0.110.03​,0.110.05​,0.110.03​]≈[0.2727,0.4545,0.2727] Exercise 6.2 문제 요약: 두 가우시안의 혼합 0.4N([102],[1001])+0.6N([00],[8.42.02.01.7])0.4 \\mathcal{N}\\left(\\begin{bmatrix} 10 \\\\ 2 \\end{bmatrix}, \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\end{bmatrix}\\right) + 0.6 \\mathcal{N}\\left(\\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}, \\begin{bmatrix} 8.4 \u0026amp; 2.0 \\\\ 2.0 \u0026amp; 1.7 \\end{bmatrix}\\right)0.4N([102​],[10​01​])+0.6N([00​],[8.42.0​2.01.7​])에 대해 (a) 각 차원의 주변분포, (b) 각 차원의 평균/최빈값/중앙값, (c) 2차원 전체의 평균과 최빈값을 구하라. 풀이: (a) 각 차원의 주변분포: 1차원: 0.4N(10,1)+0.6N(0,8.4)0.4 \\mathcal{N}(10, 1) + 0.6 \\mathcal{N}(0, 8.4)0.4N(10,1)+0.6N(0,8.4) 2차원: 0.4N(2,1)+0.6N(0,1.7)0.4 \\mathcal{N}(2, 1) + 0.6 \\mathcal{N}(0, 1.7)0.4N(2,1)+0.6N(0,1.7) (b) 각 주변분포의 평균·최빈값·중앙값: 평균은 성분 평균의 가중합이다(교재 정리 6.12, 식 (6.81)): x1x_1x1​은 0.4(10)+0.6(0)=4.00.4(10) + 0.6(0) = 4.00.4(10)+0.6(0)=4.0, x2x_2x2​는 0.4(2)+0.6(0)=0.80.4(2) + 0.6(0) = 0.80.4(2)+0.6(0)=0.8. 최빈값(밀도가 가장 큰 점)과 중앙값(누적확률이 0.5인 점)은 닫힌 해가 없어 수치로 구한다(아래 값은 scipy로 계산). x1x_1x1​: 봉우리가 두 개다. x1≈9.998x_1 \\approx 9.998x1​≈9.998(밀도 0.160, 전역 최빈값)과 x1≈0.000x_1 \\approx 0.000x1​≈0.000(밀도 0.083, 국소 최빈값). 두 성분이 멀리 떨어져 있어 각 성분의 평균 위치와 거의 같다. 중앙값 ≈2.804\\approx 2.804≈2.804. x2x_2x2​: 두 성분(평균 2와 0, 표준편차 1과 1.30)이 많이 겹쳐서 봉우리가 하나다. 최빈값 ≈1.331\\approx 1.331≈1.331, 중앙값 ≈0.869\\approx 0.869≈0.869. 요점: 혼합분포에서는 평균·중앙값·최빈값이 모두 다르다. 특히 x1x_1x1​의 평균 4.0은 밀도가 낮은 골짜기에 있다. (참고) 분산은 식 (6.82)로 구한다: V[x1]=0.4(1)+0.6(8.4)+0.4(102)+0.6(02)−42=29.44\\mathbb{V}[x_1] = 0.4(1) + 0.6(8.4) + 0.4(10^2) + 0.6(0^2) - 4^2 = 29.44V[x1​]=0.4(1)+0.6(8.4)+0.4(102)+0.6(02)−42=29.44, V[x2]=0.4(1)+0.6(1.7)+0.4(22)−0.82=2.38\\mathbb{V}[x_2] = 0.4(1) + 0.6(1.7) + 0.4(2^2) - 0.8^2 = 2.38V[x2​]=0.4(1)+0.6(1.7)+0.4(22)−0.82=2.38. (c) 2차원 분포: 평균 벡터: μ=0.4[102]+0.6[00]=[4.00.8]\\boldsymbol{\\mu} = 0.4 \\begin{bmatrix} 10 \\\\ 2 \\end{bmatrix} + 0.6 \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} = \\begin{bmatrix} 4.0 \\\\ 0.8 \\end{bmatrix}μ=0.4[102​]+0.6[00​]=[4.00.8​]. 최빈값: 봉우리가 두 개다. (9.998,2.000)(9.998, 2.000)(9.998,2.000) 근처(밀도 0.064, 전역 최빈값)와 (0,0)(0, 0)(0,0)(밀도 0.030, 국소 최빈값). 두 번째 성분은 공분산이 넓게 퍼져(det⁡=10.28\\det = 10.28det=10.28) 봉우리가 낮다. 주의: 2차원 최빈값의 x2x_2x2​ 좌표(약 2.0)는 x2x_2x2​ 주변분포의 최빈값(약 1.33)과 다르다. 결합분포의 최빈값을 성분별로 떼어 낸 것이 주변분포의 최빈값과 같을 필요는 없다. Exercise 6.3 문제 요약: 컴파일 성공 여부 x∈{0,1}x \\in \\{0, 1\\}x∈{0,1}를 베르누이 p(x∣μ)=μx(1−μ)1−xp(x \\mid \\mu) = \\mu^x (1-\\mu)^{1-x}p(x∣μ)=μx(1−μ)1−x로 모델링할 때, 켤레 사전분포를 선택하고 사후분포 p(μ∣x1,…,xN)p(\\mu \\mid x_1, \\dots, x_N)p(μ∣x1​,…,xN​)를 구하라. 풀이: 베르누이의 켤레 사전분포는 베타 분포 μ∼Beta(α,β)\\mu \\sim \\text{Beta}(\\alpha, \\beta)μ∼Beta(α,β)이다. 독립 관측의 우도를 곱하고 사전분포를 곱하면 p(μ∣x1:N)∝μk(1−μ)N−k⋅μα−1(1−μ)β−1=μα+k−1(1−μ)β+N−k−1p(\\mu \\mid x_{1:N}) \\propto \\mu^{k}(1-\\mu)^{N-k} \\cdot \\mu^{\\alpha-1}(1-\\mu)^{\\beta-1} = \\mu^{\\alpha+k-1}(1-\\mu)^{\\beta+N-k-1}p(μ∣x1:N​)∝μk(1−μ)N−k⋅μα−1(1−μ)β−1=μα+k−1(1−μ)β+N−k−1이다(교재 예제 6.12를 NNN번 반복한 것). NNN번의 독립 관측 중 성공 횟수를 k=∑n=1Nxnk = \\sum_{n=1}^N x_nk=∑n=1N​xn​이라 하면, 사후분포는: p(μ∣x1,…,xN)=Beta(α+k,β+N−k)p(\\mu \\mid x_1, \\dots, x_N) = \\text{Beta}(\\alpha + k, \\beta + N - k)p(μ∣x1​,…,xN​)=Beta(α+k,β+N−k) Exercise 6.4 문제 요약: 가방 1(망고 4, 사과 2), 가방 2(망고 4, 사과 4)가 있고, 앞면(0.60.60.6)이면 가방 1, 뒷면(0.40.40.4)이면 가방 2에서 과일을 무작위 추출한다. 꺼낸 과일이 망고일 때, 가방 2에서 나왔을 확률을 베이즈 정리로 구하라. 풀이: P(B1)=0.6P(B_1) = 0.6P(B1​)=0.6, P(B2)=0.4P(B_2) = 0.4P(B2​)=0.4. P(M∣B1)=46=23P(M \\mid B_1) = \\frac{4}{6} = \\frac{2}{3}P(M∣B1​)=64​=32​, P(M∣B2)=48=12P(M \\mid B_2) = \\frac{4}{8} = \\frac{1}{2}P(M∣B2​)=84​=21​. P(M)=P(M∣B1)P(B1)+P(M∣B2)P(B2)=23(0.6)+12(0.4)=0.4+0.2=0.6P(M) = P(M \\mid B_1)P(B_1) + P(M \\mid B_2)P(B_2) = \\frac{2}{3}(0.6) + \\frac{1}{2}(0.4) = 0.4 + 0.2 = 0.6P(M)=P(M∣B1​)P(B1​)+P(M∣B2​)P(B2​)=32​(0.6)+21​(0.4)=0.4+0.2=0.6. 베이즈 정리: P(B2∣M)=P(M∣B2)P(B2)P(M)=0.20.6=13≈0.3333P(B_2 \\mid M) = \\frac{P(M \\mid B_2)P(B_2)}{P(M)} = \\frac{0.2}{0.6} = \\frac{1}{3} \\approx 0.3333P(B2​∣M)=P(M)P(M∣B2​)P(B2​)​=0.60.2​=31​≈0.3333. Exercise 6.5 문제 요약: 시계열 모델 xt+1=Axt+w\\boldsymbol{x}_{t+1} = A\\boldsymbol{x}_t + \\boldsymbol{w}xt+1​=Axt​+w (w∼N(0,Q)\\boldsymbol{w} \\sim \\mathcal{N}(0, Q)w∼N(0,Q)), yt=Cxt+v\\boldsymbol{y}_t = C\\boldsymbol{x}_t + \\boldsymbol{v}yt​=Cxt​+v (v∼N(0,R)\\boldsymbol{v} \\sim \\mathcal{N}(0, R)v∼N(0,R)), x0∼N(μ0,Σ0)\\boldsymbol{x}_0 \\sim \\mathcal{N}(\\boldsymbol{\\mu}_0, \\Sigma_0)x0​∼N(μ0​,Σ0​)에 대하여 (a) 결합분포 형태, (b) 칼만 필터 예측 및 갱신 단계를 구하라. 풀이: (a) 초기 상태가 가우시안이고 모든 전이와 관측이 선형 가우시안 노이즈 모델이므로 결합분포 p(x0,…,xT)p(\\boldsymbol{x}_0, \\dots, \\boldsymbol{x}_T)p(x0​,…,xT​)는 거대한 결합 가우시안 분포(Joint Gaussian)다. (b) p(xt∣y1:t)=N(μt,Σt)p(\\boldsymbol{x}_t \\mid \\boldsymbol{y}_{1:t}) = \\mathcal{N}(\\boldsymbol{\\mu}_t, \\Sigma_t)p(xt​∣y1:t​)=N(μt​,Σt​) 가정 하에: 시간 갱신(예측): p(xt+1∣y1:t)=N(Aμt,AΣtA⊤+Q)p(\\boldsymbol{x}_{t+1} \\mid \\boldsymbol{y}_{1:t}) = \\mathcal{N}(A\\boldsymbol{\\mu}_t, A\\Sigma_t A^\\top + Q)p(xt+1​∣y1:t​)=N(Aμt​,AΣt​A⊤+Q). 결합 예측: [xt+1yt+1]∣y1:t∼N([μt+1∣tCμt+1∣t],[Σt+1∣tΣt+1∣tC⊤CΣt+1∣tCΣt+1∣tC⊤+R])\\begin{aligned} \u0026amp;\\begin{bmatrix} \\boldsymbol{x}_{t+1} \\\\ \\boldsymbol{y}_{t+1} \\end{bmatrix} \\mid \\boldsymbol{y}_{1:t} \\sim \\mathcal{N}\\biggl( \\begin{bmatrix} \\boldsymbol{\\mu}_{t+1|t} \\\\ C\\boldsymbol{\\mu}_{t+1|t} \\end{bmatrix}, \\\\ \u0026amp;\\quad \\begin{bmatrix} \\Sigma_{t+1|t} \u0026amp; \\Sigma_{t+1|t} C^\\top \\\\ C\\Sigma_{t+1|t} \u0026amp; C\\Sigma_{t+1|t} C^\\top + R \\end{bmatrix} \\biggr) \\end{aligned}​[xt+1​yt+1​​]∣y1:t​∼N([μt+1∣t​Cμt+1∣t​​],[Σt+1∣t​CΣt+1∣t​​Σt+1∣t​C⊤CΣt+1∣t​C⊤+R​])​ (단, μt+1∣t=Aμt,Σt+1∣t=AΣtA⊤+Q\\boldsymbol{\\mu}_{t+1|t} = A\\boldsymbol{\\mu}_t, \\Sigma_{t+1|t} = A\\Sigma_t A^\\top + Qμt+1∣t​=Aμt​,Σt+1∣t​=AΣt​A⊤+Q). 측정치 yt+1=y^\\boldsymbol{y}_{t+1} = \\hat{\\boldsymbol{y}}yt+1​=y^​ 관측 후 조건부 갱신: μt+1=μt+1∣t+Kt+1(y^−Cμt+1∣t)\\boldsymbol{\\mu}_{t+1} = \\boldsymbol{\\mu}_{t+1|t} + K_{t+1}(\\hat{\\boldsymbol{y}} - C\\boldsymbol{\\mu}_{t+1|t})μt+1​=μt+1∣t​+Kt+1​(y^​−Cμt+1∣t​) Σt+1=Σt+1∣t−Kt+1CΣt+1∣t\\Sigma_{t+1} = \\Sigma_{t+1|t} - K_{t+1} C \\Sigma_{t+1|t}Σt+1​=Σt+1∣t​−Kt+1​CΣt+1∣t​ (여기서 칼만 이득 Kt+1=Σt+1∣tC⊤(CΣt+1∣tC⊤+R)−1K_{t+1} = \\Sigma_{t+1|t} C^\\top (C\\Sigma_{t+1|t} C^\\top + R)^{-1}Kt+1​=Σt+1∣t​C⊤(CΣt+1∣t​C⊤+R)−1). Exercise 6.6 문제 요약: 분산의 표준 정의 1N∑(xn−μ)2\\frac{1}{N}\\sum (x_n - \\mu)^2N1​∑(xn​−μ)2와 원점 모멘트 공식 1N∑xn2−μ2\\frac{1}{N}\\sum x_n^2 - \\mu^2N1​∑xn2​−μ2 (식 6.44)의 동치성을 증명하라. 풀이: 1N∑n=1N(xn−μ)2=1N∑n=1N(xn2−2μxn+μ2)=1N∑n=1Nxn2−2μ(1N∑n=1Nxn)+1N(Nμ2)\\frac{1}{N} \\sum_{n=1}^N (x_n - \\mu)^2 = \\frac{1}{N} \\sum_{n=1}^N (x_n^2 - 2\\mu x_n + \\mu^2) = \\frac{1}{N} \\sum_{n=1}^N x_n^2 - 2\\mu \\left( \\frac{1}{N}\\sum_{n=1}^N x_n \\right) + \\frac{1}{N}(N\\mu^2)N1​∑n=1N​(xn​−μ)2=N1​∑n=1N​(xn2​−2μxn​+μ2)=N1​∑n=1N​xn2​−2μ(N1​∑n=1N​xn​)+N1​(Nμ2) 1N∑xn=μ\\frac{1}{N}\\sum x_n = \\muN1​∑xn​=μ이므로, =1N∑n=1Nxn2−2μ(μ)+μ2=1N∑n=1Nxn2−μ2(증명 완료)= \\frac{1}{N}\\sum_{n=1}^N x_n^2 - 2\\mu(\\mu) + \\mu^2 = \\frac{1}{N}\\sum_{n=1}^N x_n^2 - \\mu^2 \\quad \\text{(증명 완료)}=N1​∑n=1N​xn2​−2μ(μ)+μ2=N1​∑n=1N​xn2​−μ2(증명 완료) Exercise 6.7 문제 요약: 데이터 쌍별 차이 공식 12N2∑i=1N∑j=1N(xi−xj)2\\frac{1}{2N^2} \\sum_{i=1}^N \\sum_{j=1}^N (x_i - x_j)^22N21​∑i=1N​∑j=1N​(xi​−xj​)2 (식 6.45)이 분산과 같음을 증명하라. 풀이: 12N2∑i=1N∑j=1N(xi2−2xixj+xj2)=12N2[∑j=1N∑i=1Nxi2−2(∑i=1Nxi)(∑j=1Nxj)+∑i=1N∑j=1Nxj2]\\begin{aligned} \u0026amp;\\frac{1}{2N^2} \\sum_{i=1}^N \\sum_{j=1}^N (x_i^2 - 2x_i x_j + x_j^2) \\\\ \u0026amp;= \\frac{1}{2N^2} \\Bigl[ \\sum_{j=1}^N \\sum_{i=1}^N x_i^2 \\\\ \u0026amp;\\quad - 2 \\left(\\sum_{i=1}^N x_i\\right)\\left(\\sum_{j=1}^N x_j\\right) \\\\ \u0026amp;\\quad + \\sum_{i=1}^N \\sum_{j=1}^N x_j^2 \\Bigr] \\end{aligned}​2N21​i=1∑N​j=1∑N​(xi2​−2xi​xj​+xj2​)=2N21​[j=1∑N​i=1∑N​xi2​−2(i=1∑N​xi​)(j=1∑N​xj​)+i=1∑N​j=1∑N​xj2​]​ =12N2[N∑i=1Nxi2−2(Nμ)(Nμ)+N∑j=1Nxj2]=12N2[2N∑i=1Nxi2−2N2μ2]=1N∑i=1Nxi2−μ2=V[X]\\begin{aligned} \u0026amp;= \\frac{1}{2N^2} \\Bigl[ N \\sum_{i=1}^N x_i^2 \\\\ \u0026amp;\\quad - 2(N\\mu)(N\\mu) \\\\ \u0026amp;\\quad + N \\sum_{j=1}^N x_j^2 \\Bigr] \\\\ \u0026amp;= \\frac{1}{2N^2} \\left[ 2N \\sum_{i=1}^N x_i^2 - 2N^2 \\mu^2 \\right] \\\\ \u0026amp;= \\frac{1}{N}\\sum_{i=1}^N x_i^2 - \\mu^2 \\\\ \u0026amp;= \\mathbb{V}[X] \\end{aligned}​=2N21​[Ni=1∑N​xi2​−2(Nμ)(Nμ)+Nj=1∑N​xj2​]=2N21​[2Ni=1∑N​xi2​−2N2μ2]=N1​i=1∑N​xi2​−μ2=V[X]​ Exercise 6.8 문제 요약: 베르누이 분포를 지수족 자연 매개변수 형태로 나타내라. 풀이: 본문 6.6절 [예제 6-1]에서 상세 유도 완료. θ=ln⁡μ1−μ\\theta = \\ln\\frac{\\mu}{1-\\mu}θ=ln1−μμ​, ϕ(x)=x\\phi(x) = xϕ(x)=x, h(x)=1h(x) = 1h(x)=1, A(θ)=ln⁡(1+eθ)A(\\theta) = \\ln(1 + e^\\theta)A(θ)=ln(1+eθ). Exercise 6.9 문제 요약: 이항분포와 베타분포를 지수족으로 나타내고, 두 분포의 곱이 여전히 지수족임을 보여라. 풀이: 이항: θ=ln⁡μ1−μ,ϕ(x)=x,h(x)=(Nx),A(θ)=Nln⁡(1+eθ)\\theta = \\ln\\frac{\\mu}{1-\\mu}, \\phi(x) = x, h(x) = \\binom{N}{x}, A(\\theta) = N\\ln(1+e^\\theta)θ=ln1−μμ​,ϕ(x)=x,h(x)=(xN​),A(θ)=Nln(1+eθ). 베타: μα−1(1−μ)β−1=exp⁡((α−1)ln⁡μ+(β−1)ln⁡(1−μ))\\mu^{\\alpha-1}(1-\\mu)^{\\beta-1} = \\exp((\\alpha-1)\\ln\\mu + (\\beta-1)\\ln(1-\\mu))μα−1(1−μ)β−1=exp((α−1)lnμ+(β−1)ln(1−μ)). 자연 파라미터 θ=[α−1,β−1]⊤\\boldsymbol{\\theta} = [\\alpha-1, \\beta-1]^\\topθ=[α−1,β−1]⊤, 충분통계량 ϕ(μ)=[ln⁡μ,ln⁡(1−μ)]⊤\\boldsymbol{\\phi}(\\mu) = [\\ln\\mu, \\ln(1-\\mu)]^\\topϕ(μ)=[lnμ,ln(1−μ)]⊤. 곱: μ\\muμ에 대한 함수로 보면 (Nx)μx(1−μ)N−x⋅μα−1(1−μ)β−1∝exp⁡((x+α−1)ln⁡μ+(N−x+β−1)ln⁡(1−μ))\\binom{N}{x}\\mu^x(1-\\mu)^{N-x} \\cdot \\mu^{\\alpha-1}(1-\\mu)^{\\beta-1} \\propto \\exp\\big((x+\\alpha-1)\\ln\\mu + (N-x+\\beta-1)\\ln(1-\\mu)\\big)(xN​)μx(1−μ)N−x⋅μα−1(1−μ)β−1∝exp((x+α−1)lnμ+(N−x+β−1)ln(1−μ))이다. 지수 안이 같은 충분통계량 [ln⁡μ,ln⁡(1−μ)][\\ln\\mu, \\ln(1-\\mu)][lnμ,ln(1−μ)]의 선형 결합이므로 지수족(베타 분포 Beta(α+x,β+N−x)\\text{Beta}(\\alpha+x, \\beta+N-x)Beta(α+x,β+N−x))에 속한다. Exercise 6.10 문제 요약: 두 가우시안의 곱 N(x∣a,A)N(x∣b,B)=cN(x∣c0,C)\\mathcal{N}(x \\mid a, A)\\mathcal{N}(x \\mid b, B) = c \\mathcal{N}(x \\mid c_0, C)N(x∣a,A)N(x∣b,B)=cN(x∣c0​,C)를 (a) 제곱완성법과 (b) 지수족 형태로 각각 유도하라. 풀이: (a) 본문 핵심 유도 3번에서 제곱완성법으로 완전 유도. (b) 지수족 관점: 가우시안의 자연 매개변수는 θ=[Σ−1μ,−12Σ−1]\\boldsymbol{\\theta} = [\\Sigma^{-1}\\boldsymbol{\\mu}, -\\frac{1}{2}\\Sigma^{-1}]θ=[Σ−1μ,−21​Σ−1]이다. 두 지수족의 곱은 자연 매개변수의 단순 합이므로, θ합=θ1+θ2 ⟹ C−1=A−1+B−1\\boldsymbol{\\theta}_{합} = \\boldsymbol{\\theta}_1 + \\boldsymbol{\\theta}_2 \\implies C^{-1} = A^{-1} + B^{-1}θ합​=θ1​+θ2​⟹C−1=A−1+B−1 및 C−1c0=A−1a+B−1bC^{-1}\\boldsymbol{c}_0 = A^{-1}\\boldsymbol{a} + B^{-1}\\boldsymbol{b}C−1c0​=A−1a+B−1b가 한 줄 만에 유도된다. Exercise 6.11 (반복 기댓값 법칙, Law of Iterated Expectations) 문제 요약: EX[X]=EY[EX[X∣Y]]\\mathbb{E}_X[X] = \\mathbb{E}_Y[\\mathbb{E}_X[X \\mid Y]]EX​[X]=EY​[EX​[X∣Y]] 임을 증명하라. 풀이: EY[EX[X∣Y]]=∫y(∫xxp(x∣y)dx)p(y)dy=∫y∫xxp(x∣y)p(y)dxdy\\mathbb{E}_Y[\\mathbb{E}_X[X \\mid Y]] = \\int_y \\left( \\int_x x p(x \\mid y) dx \\right) p(y) dy = \\int_y \\int_x x p(x \\mid y) p(y) dx dyEY​[EX​[X∣Y]]=∫y​(∫x​xp(x∣y)dx)p(y)dy=∫y​∫x​xp(x∣y)p(y)dxdy 곱의 법칙 p(x∣y)p(y)=p(x,y)p(x \\mid y)p(y) = p(x, y)p(x∣y)p(y)=p(x,y)와 푸비니 정리에 의해 적분 순서 변경: =∫xx(∫yp(x,y)dy)dx=∫xxp(x)dx=EX[X](증명 완료)= \\int_x x \\left( \\int_y p(x, y) dy \\right) dx = \\int_x x p(x) dx = \\mathbb{E}_X[X] \\quad \\text{(증명 완료)}=∫x​x(∫y​p(x,y)dy)dx=∫x​xp(x)dx=EX​[X](증명 완료) Exercise 6.12 (가우시안 확률변수의 선형 조작과 사후분포) 문제 요약: x∼N(μx,Σx)\\boldsymbol{x} \\sim \\mathcal{N}(\\boldsymbol{\\mu}_x, \\Sigma_x)x∼N(μx​,Σx​), y=Ax+b+w\\boldsymbol{y} = A\\boldsymbol{x} + \\boldsymbol{b} + \\boldsymbol{w}y=Ax+b+w (w∼N(0,Q)\\boldsymbol{w} \\sim \\mathcal{N}(0, Q)w∼N(0,Q), x\\boldsymbol{x}x와 독립)일 때 (a) 우도 p(y∣x)p(\\boldsymbol{y} \\mid \\boldsymbol{x})p(y∣x), (b) 주변분포 p(y)p(\\boldsymbol{y})p(y), (c) z=Cy+v\\boldsymbol{z} = C\\boldsymbol{y} + \\boldsymbol{v}z=Cy+v의 p(z∣y)p(\\boldsymbol{z}\\mid\\boldsymbol{y})p(z∣y)와 p(z)p(\\boldsymbol{z})p(z), (d) 관측값 y^\\hat{\\boldsymbol{y}}y^​가 주어졌을 때 사후분포 p(x∣y^)p(\\boldsymbol{x} \\mid \\hat{\\boldsymbol{y}})p(x∣y^​)를 구하라. 풀이: (a) x\\boldsymbol{x}x를 고정하면 Ax+bA\\boldsymbol{x} + \\boldsymbol{b}Ax+b는 상수이고 무작위인 것은 w\\boldsymbol{w}w뿐이다. 상수를 더하면 평균만 옮겨지므로 p(y∣x)=N(y∣Ax+b,Q)p(\\boldsymbol{y} \\mid \\boldsymbol{x}) = \\mathcal{N}(\\boldsymbol{y} \\mid A\\boldsymbol{x} + \\boldsymbol{b}, Q)p(y∣x)=N(y∣Ax+b,Q). (b) 평균: 기댓값은 선형이라 E[y]=AE[x]+b+E[w]=Aμx+b\\mathbb{E}[\\boldsymbol{y}] = A\\mathbb{E}[\\boldsymbol{x}] + \\boldsymbol{b} + \\mathbb{E}[\\boldsymbol{w}] = A\\boldsymbol{\\mu}_x + \\boldsymbol{b}E[y]=AE[x]+b+E[w]=Aμx​+b. 분산: y\\boldsymbol{y}y에서 평균을 빼면 u+w\\boldsymbol{u} + \\boldsymbol{w}u+w, u:=A(x−μx)\\boldsymbol{u} := A(\\boldsymbol{x}-\\boldsymbol{\\mu}_x)u:=A(x−μx​)이므로 V[y]=E[(u+w)(u+w)⊤]=E[uu⊤]+E[uw⊤]+E[wu⊤]+E[ww⊤].\\mathbb{V}[\\boldsymbol{y}] = \\mathbb{E}[(\\boldsymbol{u}+\\boldsymbol{w})(\\boldsymbol{u}+\\boldsymbol{w})^\\top] = \\mathbb{E}[\\boldsymbol{u}\\boldsymbol{u}^\\top] + \\mathbb{E}[\\boldsymbol{u}\\boldsymbol{w}^\\top] + \\mathbb{E}[\\boldsymbol{w}\\boldsymbol{u}^\\top] + \\mathbb{E}[\\boldsymbol{w}\\boldsymbol{w}^\\top].V[y]=E[(u+w)(u+w)⊤]=E[uu⊤]+E[uw⊤]+E[wu⊤]+E[ww⊤]. 첫 항은 A E[(x−μx)(x−μx)⊤]A⊤=AΣxA⊤A\\,\\mathbb{E}[(\\boldsymbol{x}-\\boldsymbol{\\mu}_x)(\\boldsymbol{x}-\\boldsymbol{\\mu}_x)^\\top]A^\\top = A\\Sigma_x A^\\topAE[(x−μx​)(x−μx​)⊤]A⊤=AΣx​A⊤, 마지막 항은 QQQ다. 가운데 두 항은 x\\boldsymbol{x}x와 w\\boldsymbol{w}w가 독립이라 E[u] E[w]⊤=0\\mathbb{E}[\\boldsymbol{u}]\\,\\mathbb{E}[\\boldsymbol{w}]^\\top = 0E[u]E[w]⊤=0이다. 따라서 p(y)=N(μy,Σy)p(\\boldsymbol{y}) = \\mathcal{N}(\\boldsymbol{\\mu}_y, \\Sigma_y)p(y)=N(μy​,Σy​), μy=Aμx+b\\boldsymbol{\\mu}_y = A\\boldsymbol{\\mu}_x + \\boldsymbol{b}μy​=Aμx​+b, Σy=AΣxA⊤+Q\\Sigma_y = A\\Sigma_x A^\\top + QΣy​=AΣx​A⊤+Q. (c) (a)와 같은 이유로 p(z∣y)=N(z∣Cy,R)p(\\boldsymbol{z} \\mid \\boldsymbol{y}) = \\mathcal{N}(\\boldsymbol{z} \\mid C\\boldsymbol{y}, R)p(z∣y)=N(z∣Cy,R)이고, (b)와 같은 계산을 y\\boldsymbol{y}y에서 한 번 더 하면 p(z)=N(Cμy, CΣyC⊤+R)p(\\boldsymbol{z}) = \\mathcal{N}(C\\boldsymbol{\\mu}_y, \\; C\\Sigma_y C^\\top + R)p(z)=N(Cμy​,CΣy​C⊤+R)이다. (d) 교재 힌트대로 결합분포를 먼저 만든다. 교차 공분산은 Cov[x,y]=E[(x−μx)(u+w)⊤]=E[(x−μx)(x−μx)⊤]A⊤+E[(x−μx)w⊤]=ΣxA⊤+0\\text{Cov}[\\boldsymbol{x}, \\boldsymbol{y}] = \\mathbb{E}[(\\boldsymbol{x}-\\boldsymbol{\\mu}_x)(\\boldsymbol{u} + \\boldsymbol{w})^\\top] = \\mathbb{E}[(\\boldsymbol{x}-\\boldsymbol{\\mu}_x)(\\boldsymbol{x}-\\boldsymbol{\\mu}_x)^\\top]A^\\top + \\mathbb{E}[(\\boldsymbol{x}-\\boldsymbol{\\mu}_x)\\boldsymbol{w}^\\top] = \\Sigma_x A^\\top + 0Cov[x,y]=E[(x−μx​)(u+w)⊤]=E[(x−μx​)(x−μx​)⊤]A⊤+E[(x−μx​)w⊤]=Σx​A⊤+0 이고 Cov[y,x]\\text{Cov}[\\boldsymbol{y}, \\boldsymbol{x}]Cov[y,x]는 그 전치 AΣxA\\Sigma_xAΣx​다. 그래서 [xy]∼N([μxAμx+b],[ΣxΣxA⊤AΣxAΣxA⊤+Q])\\begin{aligned} \u0026amp;\\begin{bmatrix} \\boldsymbol{x} \\\\ \\boldsymbol{y} \\end{bmatrix} \\sim \\mathcal{N}\\biggl( \\begin{bmatrix} \\boldsymbol{\\mu}_x \\\\ A\\boldsymbol{\\mu}_x + \\boldsymbol{b} \\end{bmatrix}, \\\\ \u0026amp;\\quad \\begin{bmatrix} \\Sigma_x \u0026amp; \\Sigma_x A^\\top \\\\ A\\Sigma_x \u0026amp; A\\Sigma_x A^\\top + Q \\end{bmatrix} \\biggr) \\end{aligned}​[xy​]∼N([μx​Aμx​+b​],[Σx​AΣx​​Σx​A⊤AΣx​A⊤+Q​])​ 조건부 가우시안 공식(a=xa=\\boldsymbol{x}a=x, b=yb=\\boldsymbol{y}b=y, Σab=ΣxA⊤\\Sigma_{ab}=\\Sigma_xA^\\topΣab​=Σx​A⊤, Σbb=Σy\\Sigma_{bb}=\\Sigma_yΣbb​=Σy​)에 넣으면: μx∣y^=μx+ΣxA⊤(AΣxA⊤+Q)−1(y^−Aμx−b)\\boldsymbol{\\mu}_{x \\mid \\hat{y}} = \\boldsymbol{\\mu}_x + \\Sigma_x A^\\top (A\\Sigma_x A^\\top + Q)^{-1} (\\hat{\\boldsymbol{y}} - A\\boldsymbol{\\mu}_x - \\boldsymbol{b})μx∣y^​​=μx​+Σx​A⊤(AΣx​A⊤+Q)−1(y^​−Aμx​−b) Σx∣y^=Σx−ΣxA⊤(AΣxA⊤+Q)−1AΣx\\Sigma_{x \\mid \\hat{y}} = \\Sigma_x - \\Sigma_x A^\\top (A\\Sigma_x A^\\top + Q)^{-1} A\\Sigma_xΣx∣y^​​=Σx​−Σx​A⊤(AΣx​A⊤+Q)−1AΣx​ Exercise 6.13 (확률적분변환) 문제 요약: 연속 확률변수 XXX와 CDF FX(x)F_X(x)FX​(x)에 대해 Y:=FX(X)Y := F_X(X)Y:=FX​(X)가 Uniform(0,1)\\text{Uniform}(0, 1)Uniform(0,1)임을 증명하라. 풀이: 본문 핵심 유도 4번에서 완전 증명 수록 완료. 시험 직전 10분 요약 1. 가우시안 4대 황금 공식 연산 유형 수식 및 결과 공식 비고 결합 분포 [xaxb]∼N([μaμb],[ΣaaΣabΣbaΣbb])\\begin{bmatrix} \\boldsymbol{x}_a \\\\ \\boldsymbol{x}_b \\end{bmatrix} \\sim \\mathcal{N}\\left( \\begin{bmatrix} \\boldsymbol{\\mu}_a \\\\ \\boldsymbol{\\mu}_b \\end{bmatrix}, \\begin{bmatrix} \\Sigma_{aa} \u0026amp; \\Sigma_{ab} \\\\ \\Sigma_{ba} \u0026amp; \\Sigma_{bb} \\end{bmatrix} \\right)[xa​xb​​]∼N([μa​μb​​],[Σaa​Σba​​Σab​Σbb​​]) 블록 분할 주변 분포 p(xa)=N(μa,Σaa)p(\\boldsymbol{x}_a) = \\mathcal{N}(\\boldsymbol{\\mu}_a, \\Sigma_{aa})p(xa​)=N(μa​,Σaa​) 해당 블록만 취함 (Drop) 조건부 분포 μa∣b=μa+ΣabΣbb−1(xb−μb)\\boldsymbol{\\mu}_{a \\mid b} = \\boldsymbol{\\mu}_a + \\Sigma_{ab} \\Sigma_{bb}^{-1} (\\boldsymbol{x}_b - \\boldsymbol{\\mu}_b)μa∣b​=μa​+Σab​Σbb−1​(xb​−μb​), Σa∣b=Σaa−ΣabΣbb−1Σba\\Sigma_{a \\mid b} = \\Sigma_{aa} - \\Sigma_{ab} \\Sigma_{bb}^{-1} \\Sigma_{ba}Σa∣b​=Σaa​−Σab​Σbb−1​Σba​ Σa∣b\\Sigma_{a \\mid b}Σa∣b​는 관측값 xb\\boldsymbol{x}_bxb​와 무관 밀도의 곱 N(a,A)N(b,B)=cN(c0,C)\\mathcal{N}(a, A) \\mathcal{N}(b, B) = c \\mathcal{N}(c_0, C)N(a,A)N(b,B)=cN(c0​,C), C=(A−1+B−1)−1,c0=C(A−1a+B−1b)C = (A^{-1} + B^{-1})^{-1}, \\quad c_0 = C(A^{-1}a + B^{-1}b)C=(A−1+B−1)−1,c0​=C(A−1a+B−1b) 정밀도 행렬 가중합 선형 변환 y=Ax+b∼N(Aμ+b,AΣA⊤)\\boldsymbol{y} = A\\boldsymbol{x} + \\boldsymbol{b} \\sim \\mathcal{N}(A\\boldsymbol{\\mu} + \\boldsymbol{b}, A \\Sigma A^\\top)y=Ax+b∼N(Aμ+b,AΣA⊤) 평균은 Aμ+bA\\mu+bAμ+b, 분산은 AΣA⊤A\\Sigma A^\\topAΣA⊤ 2. 켤레 사전분포 및 지수족 핵심 판정표 켤레성 공식 요약: 이항 우도 Bin(N,μ)\\text{Bin}(N, \\mu)Bin(N,μ) + 베타 사전분포 Beta(α,β) ⟹ \\text{Beta}(\\alpha, \\beta) \\impliesBeta(α,β)⟹ 사후분포 Beta(α+h,β+N−h)\\text{Beta}(\\alpha + h, \\beta + N - h)Beta(α+h,β+N−h) 가우시안 우도 (분산 σ2\\sigma^2σ2 기지) + 가우시안 사전분포 N(μ0,σ02) ⟹ \\mathcal{N}(\\mu_0, \\sigma_0^2) \\impliesN(μ0​,σ02​)⟹ 사후분포도 가우시안 다항 우도 + 디리클레 사전분포 ⟹ \\implies⟹ 사후분포도 디리클레 지수족 도함수 공식: p(x∣θ)=h(x)exp⁡(θ⊤ϕ(x)−A(θ))p(x \\mid \\theta) = h(x) \\exp(\\theta^\\top \\phi(x) - A(\\theta))p(x∣θ)=h(x)exp(θ⊤ϕ(x)−A(θ)) E[ϕ(x)]=∇θA(θ),V[ϕ(x)]=∇θ2A(θ)\\mathbb{E}[\\phi(x)] = \\nabla_\\theta A(\\theta), \\quad \\mathbb{V}[\\phi(x)] = \\nabla_\\theta^2 A(\\theta)E[ϕ(x)]=∇θ​A(θ),V[ϕ(x)]=∇θ2​A(θ) 분산의 세 공식: V[X]=1N∑(xn−μ)2=1N∑xn2−μ2=12N2∑i,j(xi−xj)2\\mathbb{V}[X] = \\frac{1}{N}\\sum (x_n - \\mu)^2 = \\frac{1}{N}\\sum x_n^2 - \\mu^2 = \\frac{1}{2N^2}\\sum_{i,j}(x_i - x_j)^2V[X]=N1​∑(xn​−μ)2=N1​∑xn2​−μ2=2N21​∑i,j​(xi​−xj​)2 3. 시험장 체크리스트 베이즈 정리 분모 계산 시 합의 법칙(Marginalization)을 빠뜨리지 않았는가? 가우시안 조건부 분산에서 ΣabΣbb−1Σba\\Sigma_{ab}\\Sigma_{bb}^{-1}\\Sigma_{ba}Σab​Σbb−1​Σba​를 빼주는 것을 잊지 않았는가? 지수족 변환 시 정규화 상수 부호(−A(θ)-A(\\theta)−A(θ))를 정확히 확인했는가? 연속 확률변수의 단일 점 확률은 항상 0이라는 점을 기억하고 있는가? 독립성과 무상관의 차이를 정확히 인지하고 있는가? (결합 가우시안이면 동치) ","permalink":"https://qofo.github.io/posts/mml-ch06-probability/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 쪽수\u003c/strong\u003e: 172~224쪽\u003cbr\u003e\n\u003cstrong\u003e이 장이 뒤쪽 장에서 어디에 다시 쓰이는가\u003c/strong\u003e:\n8장 모델과 데이터(최대우도추정 MLE, 최대사후확률추정 MAP, 경험적 위험 최소화 ERM의 확률론적 해석), \u003cstrong\u003e9장 선형 회귀\u003c/strong\u003e(베이지안 선형 회귀의 가우시안 우도, 가우시안 사전분포, 가우시안 사후분포 도출 및 한계 우도 증거 Marginal Likelihood 계산), 10장 차원 축소(확률적 PCA/PPCA의 정규분포 잠재변수 모델링), \u003cstrong\u003e11장 밀도 추정/GMM\u003c/strong\u003e(가우시안 혼합 모델, 잠재변수의 책임도 responsibility \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmsub\u003e\u003cmi\u003er\u003c/mi\u003e\u003cmrow\u003e\u003cmi\u003en\u003c/mi\u003e\u003cmi\u003ek\u003c/mi\u003e\u003c/mrow\u003e\u003c/msub\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003er_{nk}\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.5806em;vertical-align:-0.15em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.02778em;\"\u003er\u003c/span\u003e\u003cspan class=\"msupsub\"\u003e\u003cspan class=\"vlist-t vlist-t2\"\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.3361em;\"\u003e\u003cspan style=\"top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:2.7em;\"\u003e\u003c/span\u003e\u003cspan class=\"sizing reset-size6 size3 mtight\"\u003e\u003cspan class=\"mord mtight\"\u003e\u003cspan class=\"mord mathnormal mtight\" style=\"margin-right:0.03148em;\"\u003enk\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-s\"\u003e​\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.15em;\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e 사후확률 계산, EM 알고리즘의 E-단계 및 M-단계 모수 갱신, 디리클레-다항 켤레 사전분포), 12장 분류(SVM과 대비되는 로지스틱 회귀 및 확률적 판별 모델). 머신러닝에서 데이터의 노이즈와 모델의 불확실성(Uncertainty)을 정량화하고 데이터로부터 새로운 지식을 학습하는 모든 수학적 기반이 이 장에 압축되어 있다.\u003c/p\u003e","title":"MML 6장 확률과 분포: 베이즈 정리, 가우시안, 지수족"},{"content":"5편에서 3층 자동 시작과 10초 주기 감시 데몬을 만들었다. 하루 뒤 상태를 점검한 결과는 이렇다.\n=== Galaxy Note FE Service Status === Blog Server: [STOPPED] ngrok Tunnel: [STOPPED] 블로그도 터널도 꺼져 있었고, 열려 있는 포트는 SSH(8022) 하나뿐이었다. 이 글은 원인 분석과 재설계 기록이다.\n원인 1: proot 세션과 함께 사라진 프로세스 proot-distro login은 proot를 --kill-on-exit로 실행한다. 처음 실행한 명령(대화형 셸)이 끝나면 그 안에 남은 프로세스를 모두 정리한다는 뜻이다(3편 참고).\n전날의 서비스들은 작업 도중 proot 안에서 띄운 것이었다. 세션이 닫히는 순간 함께 사라졌고, 감시 데몬도 같은 세션 안에 있었으므로 같이 죽었다. 아무도 다시 띄우지 않았다.\n감시자가 감시 대상과 같은 운명을 공유하면 감시 구조가 아니다.\n원인 2: 터미널 프로세스 그룹에 묶인 서비스 점검 중 SSH 접속으로 자동 시작 훅이 걸려 서비스가 다시 떴다. 그런데 프로세스 정보가 이랬다.\nPID PPID PGID SID TTY CMD 21945 21944 21945 21945 pts/1 bash -l ← 사람이 쓰는 SSH 로그인 셸 21961 21957 21945 21945 pts/1 start_services.sh start-daemon 21963 21961 21945 21945 pts/1 python3 serve_blog.py 22040 21961 21945 21945 pts/1 ngrok http 8080 감시 데몬과 두 서비스가 모두 사람이 쓰는 터미널(pts/1)과 같은 프로세스 그룹에 있다. 터미널에서 Ctrl+C를 누르면 포그라운드 프로세스 그룹 전체에 SIGINT가 전달된다.\n실제로 누가 죽는지는 /proc/\u0026lt;pid\u0026gt;/status의 시그널 마스크로 확인할 수 있다.\n프로세스 SIGHUP SIGINT 결과 감시 데몬 (bash) 무시 무시 생존 블로그 서버 (python) 무시 무시 생존 ngrok (Go) 무시 처리 종료 nohup으로 띄우면 SIGINT가 무시로 설정되어 자식에게 상속된다. 그러나 Go 런타임은 프로그램이 signal.Notify로 신호를 구독하면 무시 설정을 되돌린다. ngrok은 정상 종료 처리를 위해 SIGINT를 구독하므로 ngrok만 죽는다.\n로그에 흔적이 남아 있었다.\nt=2026-09-17T13:39:44+0000 lvl=info msg=\u0026#34;started tunnel\u0026#34; url=https://daringly-marrow-penny.ngrok-free.dev t=2026-09-17T13:39:54+0000 lvl=info msg=\u0026#34;INFO received stop request obj=app stopReq=\\\u0026#34;{err:\u0026lt;nil\u0026gt; restart:false}\\\u0026#34;\u0026#34; 터널이 붙은 지 10초 만에 \u0026ldquo;정상 종료 요청\u0026quot;을 받고 멈췄다. 크래시가 아니라 신호다. 1초 뒤 감시 데몬이 이렇게 기록했다.\n[2026-09-17 13:39:55] [CRASH DETECTED] Restarting ngrok Tunnel... 5편에서 자가 치유의 증거로 인용한 줄이다. 실제로는 설계 결함을 10초마다 덮고 있던 흔적이다.\n원인 3: pgrep -f 패턴의 오탐 자동 시작 훅과 감시 루프는 이렇게 판정했다.\npgrep -f \u0026#34;serve_blog.py\u0026#34; -f는 명령줄 전체에서 문자열을 찾는다. nano serve_blog.py로 파일을 열어 두기만 해도, 그 이름이 포함된 명령을 실행 중이어도 \u0026ldquo;서버가 살아 있다\u0026quot;고 판정한다. 서버가 죽어 있어도 자동 시작이 건너뛰어진다.\n원인 4: 대시보드 데이터 출처 CPU 사용률이 항상 0.0%였다. 코드가 아니라 데이터 출처의 문제다. proot 환경의 /proc/stat은 내용이 변하지 않는 가짜 파일이다. 가동 시간은 늘 \u0026ldquo;2분\u0026rdquo;, 부하는 늘 \u0026ldquo;0.12\u0026quot;였다. 서버가 멀쩡한지 보려고 만든 대시보드가 생사와 무관한 숫자를 표시하고 있었다.\n같은 계열의 문제가 배터리에도 있었다. 배터리 값은 termux-battery-status로 읽고 있었는데, 이 명령은 Termux:API 앱에 브로드캐스트를 보내고 응답을 기다린다. 터미널을 닫아 앱이 정리되면 응답이 오지 않아 배터리 표시가 사라진다. 게다가 이 호출은 4초마다 app_process로 안드로이드 VM을 새로 띄운다. 배터리를 보려고 배터리를 쓰는 구조였다.\n세 값 모두 커널이 직접 노출하는 경로로 바꿨다.\n값 기존 교체 코어별 사용률 /proc/stat (가짜) /sys/devices/system/cpu/cpu*/cpuidle/state*/time 가동 시간 /proc/uptime (가짜) clock_gettime(CLOCK_BOOTTIME) 부하 /proc/loadavg (가짜) sysinfo(2) 배터리 Termux:API 앱 /sys/class/power_supply/battery/* 배터리 sysfs 값은 Termux:API가 주던 값과 정확히 일치했다(용량 79%, Discharging, temp 300 = 30.0°C, Good). 앱이 떠 있든 말든 읽히고, 프로세스를 하나도 만들지 않는다.\n재설계 원칙 부검 결과를 두 문장으로 줄이면 이렇다.\n서비스는 proot 세션 밖에서 태어나야 한다. 서비스는 어떤 터미널에도 매여 있으면 안 된다. Termux 쪽 런처 하나로 입구 통일 서비스를 띄우는 입구를 Termux(= proot 밖)에서 도는 스크립트 하나로 모았다.\n#!/data/data/com.termux/files/usr/bin/sh # 이미 돌고 있으면 아무것도 하지 않고, 아니면 분리된 세션으로 감시 데몬을 띄운다 [ -e \u0026#34;$ROOTFS/root/.services_disabled\u0026#34; ] \u0026amp;\u0026amp; exit 0 ... PID 파일 확인 ... setsid nohup proot-distro login ubuntu -- /root/start_services.sh start-daemon \\ \u0026lt;/dev/null \u0026gt;\u0026gt;\u0026#34;$LOG\u0026#34; 2\u0026gt;\u0026amp;1 \u0026amp; 핵심은 setsid다. 새 세션을 만들어 제어 터미널을 떼어 낸다. 터미널이 없으면 Ctrl+C도 로그아웃 신호도 도달하지 못한다. 교체 후 확인한 값이다.\npid=24335 sid=24321 tty_nr=0 tpgid=-1 tty_nr=0, tpgid=-1은 연결된 터미널이 없다는 뜻이다.\nproot 안에서 밖으로 나가는 방법 문제가 하나 남는다. 작업은 proot 안에서 한다. 안에서 실행한 모든 것은 proot의 자식이 되므로, 안에서는 \u0026ldquo;밖에서 태어난 프로세스\u0026quot;를 만들 수 없다.\n통로는 Termux:API의 작업 예약이었다.\ntermux-job-scheduler --job-id 4242 --script \u0026lt;런처 경로\u0026gt; 안드로이드 JobScheduler가 Termux 앱 프로세스에서 스크립트를 실행한다. 정말 밖에서 실행되는지 확인하려고 자기 상태를 파일로 적는 스크립트를 예약해 봤다.\nran_at=23:31:01 TracerPid:\t0 ← proot가 추적하지 않음 = 바깥 sid=0 tty_nr=0 예약 후 약 4초 만에 실행됐고 TracerPid가 0이었다. 이 경로 덕분에 proot 안에서 실행하는 start_services.sh start도 데몬을 바깥에서 띄울 수 있다.\n함정이 하나 있다. 제약 조건을 모두 끄고(--network none --battery-not-low false) 일회성 작업을 예약하면 영원히 실행되지 않는다. 안드로이드 JobScheduler는 조건이 하나도 없는 작업을 거부한다. 네트워크 조건을 기본값으로 두면 정상 실행된다.\n감시 데몬 재작성 pgrep 의존을 걷어내고 다시 만들었다.\n단일 실행 보장: flock으로 잠근다. 두 번째 인스턴스는 스스로 물러난다. 잠금 파일 디스크립터는 자식에게 물려주지 않는다(9\u0026gt;\u0026amp;-). 그러지 않으면 데몬이 죽어도 자식이 잠금을 쥐고 있어 새 데몬이 뜨지 못한다. 자식 추적은 PID로: 직접 띄운 프로세스의 PID를 기억하고 /proc/\u0026lt;pid\u0026gt;/stat으로 생존과 부모를 확인한다. 이름 매칭이 아니므로 편집기에 속지 않는다. 크래시 루프 완충: 5분 안에 다시 죽으면 재시작 간격을 10초 → 20초 → … → 최대 5분으로 늘린다. 요청 한 번으로 교체: restart 명령이 남긴 표시를 보면 두 서비스를 갈아 끼운다. 처음에는 SIGUSR1 신호로 만들었다가 갈아엎었다. 사연은 아래에 있다. 정지의 의미 보존: stop은 .services_disabled 표시를 남긴다. 이 표시가 있으면 부팅도, 로그인도, 감시 작업도 서버를 되살리지 않는다. 로그 순환: 10MB를 넘으면 잘라 낸다. 명령줄 패턴은 전부 시작을 고정했다.\nBLOG_PATTERN=\u0026#39;^python3 (-u )?/root/serve_blog\\.py\u0026#39; NGROK_PATTERN=\u0026#39;^/usr/local/bin/ngrok http \u0026#39; 복구 계층 층 주기 복구 대상 감시 데몬 루프 10초 블로그·ngrok JobScheduler 감시 작업 15분 감시 데몬 자신 Termux 로그인 훅 로그인마다 감시 데몬 Termux:Boot 재부팅 시 전부 + wake-lock + sshd 5편과 비교하면 한 층이 늘었다. 감시자를 감시하는 층이다. 전에는 감시 데몬이 죽으면 아무도 몰랐다.\n테스트에서 드러난 문제 세 가지 하나. 명령어가 자기 자신을 죽였다.\n테스트 서버를 정리하려고 쓴 명령이다.\npkill -f \u0026#39;BLOG_PORT\u0026#39; 명령은 성공했고 동시에 셸이 종료됐다. pkill -f는 명령줄 전체를 보는데, 그 문자열이 포함된 실행 중인 명령 자체가 조건에 걸렸다. 원인 3에서 지적한 함정을 몇 시간 뒤에 그대로 밟았다. 실서비스는 무사했다. 패턴이 ^python3 …로 고정돼 있었기 때문이다.\n둘. PID가 한 바퀴 돌았다.\n실서비스를 건드리지 않으려고 가짜 서비스를 띄우는 사본으로 시험했는데, 테스트용 감시 데몬의 로그가 이랬다.\n[2026-09-17 15:00:54] [DAEMON] Supervisor started (pid 32767) [2026-09-17 15:00:57] [START] blog (pid 329) [2026-09-17 15:00:57] [START] ngrok (pid 331) 부모가 32767, 자식이 329다. 이 기기의 PID 상한이 32768이라 번호가 한 바퀴 돌았다. 따라서 \u0026ldquo;죽은 자식의 PID로 kill -9를 보내는\u0026rdquo; 코드는 실제 위험이다. 몇 초 사이에 그 번호를 다른 프로세스가 가져갈 수 있다. 살아 있는 자기 자식에게만 신호를 보내도록 고쳤다.\n셋. 재시작 신호가 배달되지 않았다.\nrestart 명령은 감시 데몬에게 SIGUSR1을 보내 서비스를 교체하게 했다. 처음에는 동작했지만 어느 시점부터 이렇게 나왔다.\n[RESTART] Asking supervisor (PID 24335) to restart the blog server and ngrok... [WARN] Blog server not back after 30s; see /root/daemon.log and /root/blog_server.log 데몬은 살아 있고 트랩도 설치돼 있는데 아무 일도 일어나지 않았다. 신호 상태를 직접 읽었다.\nSigBlk:\t0000000000011204 ← USR1(0x200)이 차단 목록에 있음 ShdPnd:\t0000000000000200 ← 보낸 USR1이 배달되지 못하고 대기 중 신호는 도착했지만 차단된 채 대기열에 쌓여 있었다. 차단 마스크의 출처는 상위 프로세스다. 부모인 proot의 마스크에도 같은 값이 있고, 그 proot는 Termux 앱 프로세스에서 태어났다. 안드로이드 런타임은 SIGQUIT, SIGUSR1, SIGPIPE를 자기 용도로 쓰는데, 신호 마스크는 fork와 exec을 넘어 상속된다. 즉 안드로이드 앱에서 시작된 프로세스 계보 전체가 USR1을 받지 못한다.\n신호 대신 파일을 쓰는 방식으로 바꿨다.\n# 요청하는 쪽 : \u0026gt; /root/.restart_requested # 감시 데몬: 10초마다 도는 루프에서 확인 if [ -n \u0026#34;$RESTART_REQUESTED\u0026#34; ] || [ -e \u0026#34;$RESTART_FLAG\u0026#34; ]; then rm -f \u0026#34;$RESTART_FLAG\u0026#34; ...서비스 교체... fi 즉시성은 잃었다(최대 10초). 대신 플랫폼이 무엇을 예약해 두었든 상관없이 동작한다. SIGTERM은 차단되지 않으므로 stop 경로는 신호를 그대로 쓴다.\n제어 경로를 플랫폼이 손대는 자원 위에 올리면 안 된다. 일반 리눅스에서 오래 쓰던 관례가 여기서는 조용히 실패하고, 에러 메시지도 남지 않는다.\n교차 검증 이 폰에는 Antigravity CLI(agy)도 설치돼 있다. 같은 기기에서 도는 다른 회사 모델(Gemini)에게 읽기 전용으로 변경분 리뷰를 맡겼다.\nagy -p \u0026#34;\u0026lt;리뷰 프롬프트\u0026gt;\u0026#34; --mode plan 6건이 돌아왔고 5건을 반영했다. 배터리가 부족할 때 기동 요청이 보류되는 문제, 떠돌이 프로세스 종료를 확인하지 않는 문제, 크래시 판정(60초)과 백오프 리셋(300초) 기준이 어긋난 문제, PID 파일 쓰기의 경쟁 조건, 로그인 훅이 백그라운드로 보낸 요청이 세션 종료와 함께 사라지는 문제였다.\n1건은 반박했다. \u0026ldquo;요청 타임아웃마다 트레이스백이 쌓인다\u0026quot;는 지적이었는데, 파이썬 3.14의 http/server.py는 읽기·쓰기 타임아웃을 모두 내부에서 처리했고 30초 유휴 연결 테스트에서도 로그가 깨끗했다.\n다른 모델에게 같은 코드를 읽히는 것은 값싼 검증이다. 다만 상대에게 파일 수정 권한을 주지 않고, 끝난 뒤 git status로 아무것도 건드리지 않았는지 확인해야 한다.\n결과 Supervisor: [RUNNING] (PID 31737) - detached Blog Server: [RUNNING] (PID 1192) - port 8080, HTTP 200 ngrok Tunnel: [RUNNING] (PID 1194) - https://daringly-marrow-penny.ngrok-free.dev Auto-start: [ENABLED] 구조 교체 중 블로그 중단: 약 7초 restart 명령으로 코드 반영: 약 10초 (플래그를 감시 루프가 집어가는 시간) stop 후 start로 데몬 교체: 약 8초 교체 후 9시간 무인 운영, 재시작 0회 (PID가 그대로였다) 대시보드는 코어별로 다른 실제 사용률을 표시한다 웹 서버도 함께 고쳤다. 요청을 한 번에 하나씩 처리하던 구조를 스레드 방식으로 바꾸고 30초 요청 타임아웃을 넣었다. 응답을 받다 멈춘 방문자 하나가 전체를 막던 문제가 사라졌다.\n남은 과제 배터리. 충전기가 빠진 채로 돌고 있으면 시간당 2.6%씩 줄어 하루 만에 꺼진다. 지금까지 만든 복구 장치 전부가 케이블 하나를 이기지 못한다. ngrok 경고 페이지. 무료 플랜인 이상 브라우저 방문자는 한 번 더 클릭해야 한다. 기기 밖 백업. 코드와 글을 git으로 관리하지만 저장소가 이 폰 안에 있다. 폰이 사라지면 함께 사라진다. 정리 감시자를 감시하는 층이 없으면 감시 구조가 아니다. 감시 데몬이 죽는 경우가 가장 먼저 검증할 시나리오다. 프로세스가 어디에서 태어나는지가 얼마나 튼튼한지보다 중요하다. 잘못된 세션에서 태어난 프로세스는 세션과 함께 사라진다. pkill -f는 자기 자신도 잡는다. 패턴은 항상 시작을 고정한다. 관측 값이 가짜면 없느니만 못하다. 0%를 계속 표시하던 대시보드는 서버가 죽은 순간에도 0%였다. 테스트는 \u0026ldquo;죽여 보기\u0026quot;에서 끝나면 안 된다. 로그아웃, Ctrl+C, 감시자 종료, 재부팅까지 시험해야 한다. 스마트폰으로 서버를 만드는 일은 쉬웠고, 그것이 보지 않는 동안에도 살아 있게 만드는 일은 어려웠다.\n","permalink":"https://qofo.github.io/posts/supervisor-postmortem/","summary":"\u003cp\u003e\u003ca href=\"/posts/termux-boot-supervisor/\"\u003e5편\u003c/a\u003e에서 3층 자동 시작과 10초 주기 감시 데몬을 만들었다. 하루 뒤 상태를 점검한 결과는 이렇다.\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e=== Galaxy Note FE Service Status ===\nBlog Server:  [STOPPED]\nngrok Tunnel: [STOPPED]\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e블로그도 터널도 꺼져 있었고, 열려 있는 포트는 SSH(8022) 하나뿐이었다. 이 글은 원인 분석과 재설계 기록이다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"원인-1-proot-세션과-함께-사라진-프로세스\"\u003e원인 1: proot 세션과 함께 사라진 프로세스\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003eproot-distro login\u003c/code\u003e은 proot를 \u003ccode\u003e--kill-on-exit\u003c/code\u003e로 실행한다. 처음 실행한 명령(대화형 셸)이 끝나면 그 안에 남은 프로세스를 모두 정리한다는 뜻이다(\u003ca href=\"/posts/proot-constraints/\"\u003e3편\u003c/a\u003e 참고).\u003c/p\u003e\n\u003cp\u003e전날의 서비스들은 작업 도중 proot 안에서 띄운 것이었다. 세션이 닫히는 순간 함께 사라졌고, 감시 데몬도 같은 세션 안에 있었으므로 같이 죽었다. 아무도 다시 띄우지 않았다.\u003c/p\u003e","title":"감시 데몬이 지키지 못한 것: 원인 분석과 재설계"},{"content":" 교재 쪽수: 225~248쪽\n교재 밖 보충: MML 7장 본문에 없는 내용(KKT 4조건의 이름 붙인 정리, 슬레이터 조건, 립시츠 보폭 조건, 모멘텀의 κ\\sqrt\\kappaκ​ 가속, 로빈스-먼로 조건)은 \u0026ldquo;(교재 밖 보충)\u0026ldquo;으로 표시했다. 교재 7.2는 라그랑지안과 쌍대성(최소최대 부등식, 약쌍대성) 중심이고, 등식 제약은 부등식 두 개로 바꿔 다룬다. KKT라는 이름은 12장 여백 주석에만 나온다.\n이 장이 뒤쪽 장에서 쓰이는 위치: 머신러닝의 \u0026lsquo;학습(Learning)\u0026lsquo;은 거의 예외 없이 목적함수를 최소화하는 연속 최적화 문제입니다. 8장의 경험적 위험 최소화(ERM) 및 MLE/MAP 파라미터 추정, 9장의 선형 회귀 정규방정식 및 경사하강법, 10장의 주성분 분석(PCA) 제약 최적화, 11장의 가우스 혼합 모델(GMM) 잠재변수 최적화, 그리고 특히 12장의 서포트 벡터 머신(SVM)은 7장의 KKT 조건, 라그랑주 쌍대성(Lagrangian Duality), 2차 계획법(QP), 볼록 켤레 함수(Convex Conjugate)를 그대로 직접 적용하는 집대성입니다.\n0. 이 장 지도 절 목록 및 핵심 요약 7.1 경사하강법을 이용한 최적화 (Optimization Using Gradient Descent): 1계 미분(그래디언트)을 따라 목적함수를 점진적으로 줄여나가는 무제약 최적화의 기본 알고리즘. 7.1.1 보폭 (Step-size): 립시츠 연속성과 조건수에 기반하여 수렴 속도와 안정성을 결정짓는 학습률의 수학적 선택 기준. 7.1.2 모멘텀을 갖는 경사하강법 (Gradient Descent With Momentum): 진동을 억제하고 협곡 형태의 지형에서 수렴을 가속화하는 관성(물리적 운동량) 기법. 7.1.3 확률적 경사하강법 (Stochastic Gradient Descent, SGD): 대규모 데이터셋에서 전체 데이터 대신 미니배치를 무작위로 추출하여 기댓값 관점에서 계산 효율성을 극대화한 알고리즘. 7.2 제약조건이 있는 최적화와 라그랑주 승수 (Constrained Optimization and Lagrange Multipliers): 등식 및 부등식 제약조건 하에서 최적해를 찾는 기하학적 원리와 카루시-쿤-터커(KKT) 4대 조건. 7.3 볼록 최적화 (Convex Optimization): 모든 국소 최적해가 전역 최적해가 되는 특별한 최적화 군과 라그랑주 쌍대성(Lagrangian Duality) 이론. 7.3.1 선형 계획법 (Linear Programming, LP): 목적함수와 제약식이 모두 선형인 문제의 표준형과 쌍대 문제 유도. 7.3.2 2차 계획법 (Quadratic Programming, QP): 볼록 2차 목적함수와 선형 제약식을 다루며, 12장 서포트 벡터 머신(SVM)의 수학적 토대가 되는 문제. 7.3.3 르장드르-펜첼 변환과 볼록 켤레 함수 (Legendre–Fenchel Transform and Convex Conjugate): 함수를 접선의 기울기와 절편 관점에서 바라보는 쌍대 변환과 펜첼 쌍대성(Fenchel Duality). flowchart TD GD[\u0026#34;7.1 경사하강법\u0026lt;br\u0026gt;(무제약 최적화)\u0026#34;] --\u0026gt; Stepsize[\u0026#34;7.1.1 보폭 선택\u0026lt;br\u0026gt;(립시츠 연속, 조건수)\u0026#34;] GD --\u0026gt; Momentum[\u0026#34;7.1.2 모멘텀\u0026lt;br\u0026gt;(진동 억제, 가속)\u0026#34;] GD --\u0026gt; SGD[\u0026#34;7.1.3 확률적 경사하강법\u0026lt;br\u0026gt;(미니배치, Robbins-Monro)\u0026#34;] Constrained[\u0026#34;7.2 제약조건 최적화\u0026lt;br\u0026gt;(라그랑주 승수)\u0026#34;] --\u0026gt; KKT[\u0026#34;KKT 4대 조건\u0026lt;br\u0026gt;(정류성, 원/쌍대 실행가능성, 상보 여유성)\u0026#34;] Convex[\u0026#34;7.3 볼록 최적화\u0026lt;br\u0026gt;(볼록 집합, 볼록 함수)\u0026#34;] --\u0026gt; Duality[\u0026#34;라그랑주 쌍대성\u0026lt;br\u0026gt;(약쌍대성, 강쌍대성, 슬레이터 조건)\u0026#34;] KKT --\u0026gt; Duality Duality --\u0026gt; LP[\u0026#34;7.3.1 선형 계획법 (LP)\u0026#34;] Duality --\u0026gt; QP[\u0026#34;7.3.2 2차 계획법 (QP)\u0026#34;] Duality --\u0026gt; Fenchel[\u0026#34;7.3.3 르장드르-펜첼 변환\u0026lt;br\u0026gt;(볼록 켤레, Fenchel 쌍대성)\u0026#34;] QP --\u0026gt; SVM[\u0026#34;12장 서포트 벡터 머신 (SVM)\u0026lt;br\u0026gt;Dual QP, 서포트 벡터 = 활성 제약식\u0026#34;] Fenchel --\u0026gt; SVM 절별 중요도 안내 7.1 경사하강법 (★★★): 머신러닝 최적화의 만능 일꾼. 8장 경험적 위험 최소화(ERM), 9장 선형 회귀 경사하강법 구현, 신경망 역전파의 최우선 기본기입니다. 7.1.1 보폭 (★★): 2차 함수에서 헤시안 고유값과 조건수 κ\\kappaκ가 수렴에 미치는 영향을 규명하며, 교재 예제 7.1~7.2에서 집중적으로 다룹니다. 7.1.2 모멘텀 (★★): 딥러닝 최적화의 필수 구성 요소이자 진동을 줄여 수렴을 빠르게 하는 핵심 기법입니다(수렴률 개선 정도는 교재 밖 보충). 7.1.3 확률적 경사하강법 (★★★): 대규모 머신러닝의 현실적 기본 알고리즘. 미니배치 기울기의 무편향성(unbiasedness)이 핵심이다. Robbins-Monro 조건은 교재 밖 보충. 7.2 제약 최적화 및 라그랑주 승수 (★★★): 최적화 이론의 꽃. 10장 PCA(직교 제약)와 12장 SVM(마진 부등식 제약)의 필수 기초입니다. 7.3 볼록 최적화 및 쌍대성 (★★★): 원 문제(Primal)를 풀기 어려울 때 쌍대 문제(Dual)로 변환하는 원리, 슬레이터 조건에 의한 강쌍대성 성립은 12장 커널 트릭의 핵심 논리입니다. 7.3.1 선형 계획법 (★★): 쌍대성 전개 과정을 행렬 기호로 손쉽게 연습할 수 있는 가장 대표적인 교재 예제입니다. 7.3.2 2차 계획법 (★★★): 12장 SVM의 주 문제와 쌍대 문제가 정확히 2차 계획법 형태를 취하므로 시험 대비 직결도가 매우 높습니다. 7.3.3 르장드르-펜첼 변환 (★★): 힌지 손실의 쌍대 변환, 평활화(Smoothing) 기법, Fenchel 쌍대성 정리의 수학적 뼈대를 제공합니다. 7.1 경사하강법을 이용한 최적화 (Optimization Using Gradient Descent, 227~232쪽) 왜 필요한가 (직관) 우리가 안개 낀 깊은 산속에서 가장 낮은 계곡 바닥(최솟값)으로 내려가야 한다고 상상해 봅시다. 안개가 짙어 산 전체 지형은 보이지 않지만, 내 발밑의 경사가 어느 쪽으로 기울어져 있는지는 알 수 있습니다. 이때 가장 자연스러운 행동은 현재 서 있는 위치에서 발밑이 가장 가파르게 내려가는 방향으로 한 걸음씩 내딛는 것입니다. 이것이 바로 경사하강법(gradient descent)의 기본 직관입니다.\n수학적으로 어떤 다변수 함수 f(x)f(x)f(x)의 1차 테일러 전개(Taylor expansion)는 현재 점 xxx 근처에서 다음과 같이 주어집니다: f(x+Δx)≈f(x)+∇f(x)Δxf(x + \\Delta x) \\approx f(x) + \\nabla f(x) \\Delta xf(x+Δx)≈f(x)+∇f(x)Δx 함수 값을 가장 빠르게 줄이기 위해서는 내적 ⟨∇f(x)⊤,Δx⟩\\langle \\nabla f(x)^\\top, \\Delta x \\rangle⟨∇f(x)⊤,Δx⟩의 값을 가장 음수(최소)로 만들어야 합니다. 코시-슈바르츠 부등식에 의해 두 벡터가 서로 반대 방향(각도 180∘180^\\circ180∘)을 가리킬 때 내적이 최소가 되므로, 이동 방향 벡터는 음의 그래디언트 방향 −(∇f(x))⊤-(\\nabla f(x))^\\top−(∇f(x))⊤이어야 합니다. 즉, 등고선에 수직인 가장 가파른 내리막 방향으로 이동하는 것입니다.\n정의와 성질 다변수 미분 가능 함수 f:RD→Rf: \\mathbb{R}^D \\to \\mathbb{R}f:RD→R을 최소화하는 무제약 최적화 문제를 생각합니다: min⁡x∈RDf(x)\\min_{x \\in \\mathbb{R}^D} f(x)x∈RDmin​f(x) 1계 필요조건 (First-Order Necessary Condition):\n만약 점 x∗x^*x∗가 국소 최솟값(local minimum)이라면, 그 점에서의 그래디언트는 반드시 영벡터여야 합니다: ∇f(x∗)=0\\nabla f(x^*) = 0∇f(x∗)=0 그래디언트가 0인 점을 정류점(stationary point) 또는 임계점(critical point)이라 부릅니다. 정류점은 국소 최솟값(local minimum), 국소 최댓값(local maximum), 또는 안장점(saddle point)일 수 있습니다. 경사하강법 알고리즘 (Gradient Descent Algorithm):\n초기점 x0∈RDx_0 \\in \\mathbb{R}^Dx0​∈RD에서 시작하여 다음 점화식에 따라 반복(iteration)합니다: xt+1=xt−γt(∇f(xt))⊤x_{t+1} = x_t - \\gamma_t (\\nabla f(x_t))^\\topxt+1​=xt​−γt​(∇f(xt​))⊤ 여기서: xt∈RDx_t \\in \\mathbb{R}^Dxt​∈RD: ttt번째 반복에서의 위치 (열벡터). γt\u0026gt;0\\gamma_t \u0026gt; 0γt​\u0026gt;0: ttt번째 단계에서의 보폭(step-size) 또는 학습률(learning rate). ∇f(xt)∈R1×D\\nabla f(x_t) \\in \\mathbb{R}^{1 \\times D}∇f(xt​)∈R1×D: xtx_txt​에서의 그래디언트 (교재의 행벡터 표기법). 열벡터 xtx_txt​와 차원을 맞추기 위해 전치 (∇f(xt))⊤∈RD×1(\\nabla f(x_t))^\\top \\in \\mathbb{R}^{D \\times 1}(∇f(xt​))⊤∈RD×1를 취합니다. 손으로 풀어 보는 예제 다음 2변수 2차 함수를 경사하강법으로 최소화해 봅시다: f(x1,x2)=x12+2x22−4x1−4x2f(x_1, x_2) = x_1^2 + 2x_2^2 - 4x_1 - 4x_2f(x1​,x2​)=x12​+2x22​−4x1​−4x2​ 그래디언트 계산: ∂f∂x1=2x1−4,∂f∂x2=4x2−4\\frac{\\partial f}{\\partial x_1} = 2x_1 - 4, \\quad \\frac{\\partial f}{\\partial x_2} = 4x_2 - 4∂x1​∂f​=2x1​−4,∂x2​∂f​=4x2​−4 ∇f(x)=[2x1−44x2−4],(∇f(x))⊤=[2x1−44x2−4]\\begin{aligned} \\nabla f(x) \u0026amp;= \\begin{bmatrix} 2x_1 - 4 \u0026amp; 4x_2 - 4 \\end{bmatrix}, \\\\ (\\nabla f(x))^\\top \u0026amp;= \\begin{bmatrix} 2x_1 - 4 \\\\ 4x_2 - 4 \\end{bmatrix} \\end{aligned}∇f(x)(∇f(x))⊤​=[2x1​−4​4x2​−4​],=[2x1​−44x2​−4​]​ (정류점은 2x1−4=0 ⟹ x1=22x_1 - 4 = 0 \\implies x_1 = 22x1​−4=0⟹x1​=2, 4x2−4=0 ⟹ x2=14x_2 - 4 = 0 \\implies x_2 = 14x2​−4=0⟹x2​=1이며, 이때 f(2,1)=4+2−8−4=−6f(2, 1) = 4 + 2 - 8 - 4 = -6f(2,1)=4+2−8−4=−6입니다.)\n초기점 설정: x0=[00],학습률 γ=0.2x_0 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}, \\quad \\text{학습률 } \\gamma = 0.2x0​=[00​],학습률 γ=0.2 이때 초기 함수 값: f(0,0)=0f(0, 0) = 0f(0,0)=0.\n1번째 반복 (t=0→t=1t=0 \\to t=1t=0→t=1): (∇f(x0))⊤=[2(0)−44(0)−4]=[−4−4](\\nabla f(x_0))^\\top = \\begin{bmatrix} 2(0) - 4 \\\\ 4(0) - 4 \\end{bmatrix} = \\begin{bmatrix} -4 \\\\ -4 \\end{bmatrix}(∇f(x0​))⊤=[2(0)−44(0)−4​]=[−4−4​] x1=x0−γ(∇f(x0))⊤=[00]−0.2[−4−4]=[0.80.8]\\begin{aligned} x_1 \u0026amp;= x_0 - \\gamma (\\nabla f(x_0))^\\top \\\\ \u0026amp;= \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} - 0.2 \\begin{bmatrix} -4 \\\\ -4 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 0.8 \\\\ 0.8 \\end{bmatrix} \\end{aligned}x1​​=x0​−γ(∇f(x0​))⊤=[00​]−0.2[−4−4​]=[0.80.8​]​ 함수 값 계산: f(0.8,0.8)=(0.8)2+2(0.8)2−4(0.8)−4(0.8)=0.64+1.28−3.2−3.2=−4.48\u0026lt;0\\begin{aligned} f(0.8, 0.8) \u0026amp;= (0.8)^2 + 2(0.8)^2 \\\\ \u0026amp;\\quad - 4(0.8) - 4(0.8) \\\\ \u0026amp;= 0.64 + 1.28 - 3.2 - 3.2 \\\\ \u0026amp;= -4.48 \u0026lt; 0 \\end{aligned}f(0.8,0.8)​=(0.8)2+2(0.8)2−4(0.8)−4(0.8)=0.64+1.28−3.2−3.2=−4.48\u0026lt;0​ 함수 값이 0에서 -4.48로 크게 감소했습니다!\n2번째 반복 (t=1→t=2t=1 \\to t=2t=1→t=2): (∇f(x1))⊤=[2(0.8)−44(0.8)−4]=[1.6−43.2−4]=[−2.4−0.8]\\begin{aligned} (\\nabla f(x_1))^\\top \u0026amp;= \\begin{bmatrix} 2(0.8) - 4 \\\\ 4(0.8) - 4 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1.6 - 4 \\\\ 3.2 - 4 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} -2.4 \\\\ -0.8 \\end{bmatrix} \\end{aligned}(∇f(x1​))⊤​=[2(0.8)−44(0.8)−4​]=[1.6−43.2−4​]=[−2.4−0.8​]​ x2=x1−γ(∇f(x1))⊤=[0.80.8]−0.2[−2.4−0.8]=[0.8+0.480.8+0.16]=[1.280.96]\\begin{aligned} x_2 \u0026amp;= x_1 - \\gamma (\\nabla f(x_1))^\\top \\\\ \u0026amp;= \\begin{bmatrix} 0.8 \\\\ 0.8 \\end{bmatrix} - 0.2 \\begin{bmatrix} -2.4 \\\\ -0.8 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 0.8 + 0.48 \\\\ 0.8 + 0.16 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1.28 \\\\ 0.96 \\end{bmatrix} \\end{aligned}x2​​=x1​−γ(∇f(x1​))⊤=[0.80.8​]−0.2[−2.4−0.8​]=[0.8+0.480.8+0.16​]=[1.280.96​]​ 함수 값 계산: f(1.28,0.96)=1.282+2(0.96)2−4(1.28)−4(0.96)=1.6384+1.8432−5.12−3.84=−5.4784\\begin{aligned} f(1.28, 0.96) \u0026amp;= 1.28^2 + 2(0.96)^2 \\\\ \u0026amp;\\quad - 4(1.28) - 4(0.96) \\\\ \u0026amp;= 1.6384 + 1.8432 \\\\ \u0026amp;\\quad - 5.12 - 3.84 \\\\ \u0026amp;= -5.4784 \\end{aligned}f(1.28,0.96)​=1.282+2(0.96)2−4(1.28)−4(0.96)=1.6384+1.8432−5.12−3.84=−5.4784​ 진정한 최솟값인 (2,1)(2, 1)(2,1)과 함수 값 −6-6−6을 향해 착실히 다가가고 있음을 확인할 수 있습니다.\n헷갈리는 점 / 자주 하는 실수 전치 기호의 의미: MML 교재에서는 다변수 스칼라 함수의 도함수를 야코비안(Jacobian) 행렬의 특수 형태로 보아 기본적으로 행벡터(1×D1 \\times D1×D)로 정의합니다. 따라서 열벡터(D×1D \\times 1D×1)인 xtx_txt​에서 빼줄 때는 반드시 (∇f(xt))⊤(\\nabla f(x_t))^\\top(∇f(xt​))⊤로 전치를 붙여야 차원이 맞습니다. 국소 최솟값 vs 전역 최솟값: 경사하강법은 오직 발밑의 기울기만 보고 걷기 때문에, 볼록 함수(convex function)가 아닌 일반적인 비볼록 함수에서는 가장 가까운 국소 최솟값(local minimum)에 갇히거나 안장점(saddle point)에 멈출 수 있습니다. 7.1.1 보폭 (Step-size, 229~230쪽) 왜 필요한가 (직관) 하강 방향을 올바르게 잡았더라도, 한 걸음의 크기(보폭 γ\\gammaγ)를 얼마로 해야 할까요?\n보폭이 너무 작으면: 개미걸음으로 기어가므로 최적점에 도달하는 데 수천만 번의 계산이 걸립니다. 보폭이 너무 크면: 계곡 바닥을 지나쳐 반대편 언덕으로 튕겨져 나가며, 결국 값이 무한대로 튀어 발산(divergence)합니다. 계곡 지형이 비대칭일 때: 한 축(예: x2x_2x2​)은 경사가 급하고 다른 축(예: x1x_1x1​)은 완만한 골짜기라면, 보폭이 조금만 커도 급경사 축에서는 좌우로 심하게 요동치며(oscillation) 정작 전진해야 할 완만한 축으로는 거의 나아가지 못합니다. 정의와 성질 립시츠 연속 그래디언트 (Lipschitz Continuous Gradient) (교재 밖 보충):\n함수 fff의 그래디언트가 립시츠 상수 L\u0026gt;0L \u0026gt; 0L\u0026gt;0에 대해 다음 부등식을 만족할 때, fff를 LLL-평활(LLL-smooth)하다고 합니다: ∥∇f(x)−∇f(y)∥≤L∥x−y∥,∀x,y\\|\\nabla f(x) - \\nabla f(y)\\| \\le L \\|x - y\\|, \\quad \\forall x, y∥∇f(x)−∇f(y)∥≤L∥x−y∥,∀x,y 이 경우 보폭을 γ\u0026lt;2L\\gamma \u0026lt; \\frac{2}{L}γ\u0026lt;L2​로 선택하면 목적함수 값이 반드시 감소하여 수렴이 보장됩니다. 보통 안전한 고정 보폭으로 γ≤1L\\gamma \\le \\frac{1}{L}γ≤L1​을 사용합니다. 2차 형식(Quadratic Form)에서의 최적 보폭과 조건수 (Condition Number):\n목적함수가 대칭 양의정부호 행렬 A≻0A \\succ 0A≻0를 갖는 2차 함수 f(x)=12x⊤Ax−b⊤xf(x) = \\frac{1}{2}x^\\top A x - b^\\top xf(x)=21​x⊤Ax−b⊤x인 경우: ∇f(x)=(Ax−b)⊤,∇2f(x)=A\\nabla f(x) = (Ax - b)^\\top, \\quad \\nabla^2 f(x) = A∇f(x)=(Ax−b)⊤,∇2f(x)=A 행렬 AAA의 고유값들을 λmin⁡=λ1≤λ2≤⋯≤λD=λmax⁡\\lambda_{\\min} = \\lambda_1 \\le \\lambda_2 \\le \\dots \\le \\lambda_D = \\lambda_{\\max}λmin​=λ1​≤λ2​≤⋯≤λD​=λmax​라 할 때: 최대 곡률(최대 고유값) L=λmax⁡L = \\lambda_{\\max}L=λmax​. 발산하지 않고 수렴하기 위한 필요충분조건: 0\u0026lt;γ\u0026lt;2λmax⁡0 \u0026lt; \\gamma \u0026lt; \\frac{2}{\\lambda_{\\max}}0\u0026lt;γ\u0026lt;λmax​2​ 오차의 수축률(contraction factor)을 최소화하는 이론적 최적 고정 보폭 γ∗\\gamma^*γ∗: γ∗=2λmin⁡+λmax⁡\\gamma^* = \\frac{2}{\\lambda_{\\min} + \\lambda_{\\max}}γ∗=λmin​+λmax​2​ 이때 한 스텝당 오차가 줄어드는 비율: ∥xt+1−x∗∥≤(κ−1κ+1)∥xt−x∗∥\\|x_{t+1} - x^*\\| \\le \\left( \\frac{\\kappa - 1}{\\kappa + 1} \\right) \\|x_t - x^*\\|∥xt+1​−x∗∥≤(κ+1κ−1​)∥xt​−x∗∥ 여기서 κ=λmax⁡λmin⁡≥1\\kappa = \\frac{\\lambda_{\\max}}{\\lambda_{\\min}} \\ge 1κ=λmin​λmax​​≥1을 행렬 AAA의 조건수(condition number)라 합니다. 조건수의 물리적 의미: κ≈1\\kappa \\approx 1κ≈1이면 등고선이 거의 원(구)형이어서 어디서 출발하든 정중앙을 향해 곧장 날아갑니다. 반면 κ≫1\\kappa \\gg 1κ≫1이면 등고선이 아주 길쭉한 타원형(칼날 같은 계곡)이 되어 κ−1κ+1≈1\\frac{\\kappa - 1}{\\kappa + 1} \\approx 1κ+1κ−1​≈1이 되므로, 극심한 지그재그 진동을 겪으며 수렴이 극도로 느려집니다. 손으로 풀어 보는 예제 (교재 예제 7.1~7.2 변형) 다음 2차 함수를 분석해 봅시다: f(x1,x2)=12[x1x2][21120][x1x2]−[53][x1x2]\\begin{aligned} f(x_1, x_2) \u0026amp;= \\frac{1}{2} \\begin{bmatrix} x_1 \u0026amp; x_2 \\end{bmatrix} \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 20 \\end{bmatrix} \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\\\ \u0026amp;\\quad - \\begin{bmatrix} 5 \u0026amp; 3 \\end{bmatrix} \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\end{aligned}f(x1​,x2​)​=21​[x1​​x2​​][21​120​][x1​x2​​]−[5​3​][x1​x2​​]​ 헤시안 행렬 AAA와 고유값 계산: A=[21120]A = \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 20 \\end{bmatrix}A=[21​120​] 특성방정식: det⁡(A−λI)=(2−λ)(20−λ)−1=λ2−22λ+39=0\\begin{aligned} \\det(A - \\lambda I) \u0026amp;= (2 - \\lambda)(20 - \\lambda) - 1 \\\\ \u0026amp;= \\lambda^2 - 22\\lambda + 39 = 0 \\end{aligned}det(A−λI)​=(2−λ)(20−λ)−1=λ2−22λ+39=0​ 근의 공식: λ=22±222−4(39)2=22±484−1562=22±3282≈22±18.112\\begin{aligned} \\lambda \u0026amp;= \\frac{22 \\pm \\sqrt{22^2 - 4(39)}}{2} \\\\ \u0026amp;= \\frac{22 \\pm \\sqrt{484 - 156}}{2} \\\\ \u0026amp;= \\frac{22 \\pm \\sqrt{328}}{2} \\\\ \u0026amp;\\approx \\frac{22 \\pm 18.11}{2} \\end{aligned}λ​=222±222−4(39)​​=222±484−156​​=222±328​​≈222±18.11​​ λmin⁡≈1.944,λmax⁡≈20.056\\lambda_{\\min} \\approx 1.944, \\quad \\lambda_{\\max} \\approx 20.056λmin​≈1.944,λmax​≈20.056 수렴 조건과 최적 학습률:\n수렴 가능한 최대 보폭: γ\u0026lt;220.056≈0.0997\\gamma \u0026lt; \\frac{2}{20.056} \\approx 0.0997γ\u0026lt;20.0562​≈0.0997. (만약 γ≥0.1\\gamma \\ge 0.1γ≥0.1로 두면 즉시 발산합니다!) 최적 보폭: γ∗=2λmin⁡+λmax⁡=222=111≈0.0909\\gamma^* = \\frac{2}{\\lambda_{\\min} + \\lambda_{\\max}} = \\frac{2}{22} = \\frac{1}{11} \\approx 0.0909γ∗=λmin​+λmax​2​=222​=111​≈0.0909 조건수: κ=λmax⁡λmin⁡≈20.0561.944≈10.32\\kappa = \\frac{\\lambda_{\\max}}{\\lambda_{\\min}} \\approx \\frac{20.056}{1.944} \\approx 10.32κ=λmin​λmax​​≈1.94420.056​≈10.32 수축률: 10.32−110.32+1≈9.3211.32≈0.823\\frac{10.32 - 1}{10.32 + 1} \\approx \\frac{9.32}{11.32} \\approx 0.82310.32+110.32−1​≈11.329.32​≈0.823. 한 스텝마다 오차가 약 82.3%로밖에 줄어들지 않아 수렴에 많은 반복이 필요합니다. 헷갈리는 점 / 자주 하는 실수 고정 학습률 vs 학습률 스케줄: 실전 머신러닝에서는 처음에는 큰 학습률로 빠르게 대략적인 영역을 찾고, 점차 학습률을 줄여가는 스케줄(Step Decay, Cosine Annealing 등)을 사용하는 것이 일반적입니다. 7.1.2 모멘텀을 갖는 경사하강법 (Gradient Descent With Momentum, 230~231쪽) 왜 필요한가 (직관) 앞서 보았듯 조건수 κ\\kappaκ가 큰 좁고 긴 협곡에서는 경사하강법이 계곡 양 벽을 치며 지그재그로 심하게 튀느라 바닥을 따라 전진하지 못합니다. 이 문제를 해결하기 위해 물리학의 관성(inertia / momentum) 개념을 도입합니다. 무거운 쇠구슬을 굴리면, 좌우로 왔다 갔다 하는 힘은 서로 반대 방향이므로 상쇄되어 진동이 줄어들고, 계곡을 따라 완만하게 지속적으로 작용하는 중력은 속도(운동량)로 누적되어 앞으로 시원하게 굴러가게 됩니다.\n정의와 성질 모멘텀 기법은 현재 그래디언트뿐만 아니라 직전 스텝의 이동 벡터를 일정 비율 반영합니다: Δxt+1=αΔxt−γ(∇f(xt))⊤\\Delta x_{t+1} = \\alpha \\Delta x_t - \\gamma (\\nabla f(x_t))^\\topΔxt+1​=αΔxt​−γ(∇f(xt​))⊤ xt+1=xt+Δxt+1x_{t+1} = x_t + \\Delta x_{t+1}xt+1​=xt​+Δxt+1​ Δxt∈RD\\Delta x_t \\in \\mathbb{R}^DΔxt​∈RD: ttt번째 스텝에서의 위치 변화량(속도 벡터). α∈[0,1)\\alpha \\in [0, 1)α∈[0,1): 모멘텀 파라미터(momentum weight). 보통 0.9 내외의 값을 씁니다. 직전 이동 방향을 얼마나 기억할지를 결정합니다. γ\u0026gt;0\\gamma \u0026gt; 0γ\u0026gt;0: 학습률. 수렴 가속 효과 (교재 밖 보충, 매개변수를 잘 고른 2차 문제 기준): 모멘텀을 적용하면 2차 문제에서 조건수가 κ\\kappaκ일 때 수렴 속도가 대략 O(κ−1κ+1)O\\left( \\frac{\\sqrt{\\kappa} - 1}{\\sqrt{\\kappa} + 1} \\right)O(κ​+1κ​−1​)로 대폭 개선됩니다! 예를 들어 κ=100\\kappa = 100κ=100일 때, 일반 경사하강법의 오차 비율은 99101≈0.98\\frac{99}{101} \\approx 0.9810199​≈0.98이지만, 모멘텀을 쓰면 10−110+1≈0.82\\frac{10-1}{10+1} \\approx 0.8210+110−1​≈0.82가 되어 훨씬 빠르게 수렴합니다. 손으로 풀어 보는 예제 목적함수 f(x1,x2)=12(x12+10x22)f(x_1, x_2) = \\frac{1}{2}(x_1^2 + 10x_2^2)f(x1​,x2​)=21​(x12​+10x22​)를 최소화합니다. (∇f(x))⊤=[x110x2](\\nabla f(x))^\\top = \\begin{bmatrix} x_1 \\\\ 10x_2 \\end{bmatrix}(∇f(x))⊤=[x1​10x2​​]입니다. 파라미터: α=0.5\\alpha = 0.5α=0.5, γ=0.1\\gamma = 0.1γ=0.1, 초기점 x0=[21]x_0 = \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix}x0​=[21​], 초기 속도 Δx0=[00]\\Delta x_0 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}Δx0​=[00​].\n스텝 1 (t=0→t=1t=0 \\to t=1t=0→t=1): (∇f(x0))⊤=[210](\\nabla f(x_0))^\\top = \\begin{bmatrix} 2 \\\\ 10 \\end{bmatrix}(∇f(x0​))⊤=[210​] Δx1=0.5[00]−0.1[210]=[−0.2−1.0]\\Delta x_1 = 0.5 \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} - 0.1 \\begin{bmatrix} 2 \\\\ 10 \\end{bmatrix} = \\begin{bmatrix} -0.2 \\\\ -1.0 \\end{bmatrix}Δx1​=0.5[00​]−0.1[210​]=[−0.2−1.0​] x1=x0+Δx1=[21]+[−0.2−1.0]=[1.80.0]\\begin{aligned} x_1 \u0026amp;= x_0 + \\Delta x_1 \\\\ \u0026amp;= \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix} + \\begin{bmatrix} -0.2 \\\\ -1.0 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1.8 \\\\ 0.0 \\end{bmatrix} \\end{aligned}x1​​=x0​+Δx1​=[21​]+[−0.2−1.0​]=[1.80.0​]​ (x2x_2x2​ 축이 가파르기 때문에 단 1스텝 만에 x2=0x_2=0x2​=0에 도달했습니다.)\n스텝 2 (t=1→t=2t=1 \\to t=2t=1→t=2): (∇f(x1))⊤=[1.810(0)]=[1.80.0](\\nabla f(x_1))^\\top = \\begin{bmatrix} 1.8 \\\\ 10(0) \\end{bmatrix} = \\begin{bmatrix} 1.8 \\\\ 0.0 \\end{bmatrix}(∇f(x1​))⊤=[1.810(0)​]=[1.80.0​] Δx2=0.5Δx1−0.1(∇f(x1))⊤=0.5[−0.2−1.0]−0.1[1.80]=[−0.1−0.18−0.5−0]=[−0.28−0.50]\\begin{aligned} \\Delta x_2 \u0026amp;= 0.5 \\Delta x_1 - 0.1 (\\nabla f(x_1))^\\top \\\\ \u0026amp;= 0.5 \\begin{bmatrix} -0.2 \\\\ -1.0 \\end{bmatrix} - 0.1 \\begin{bmatrix} 1.8 \\\\ 0 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} -0.1 - 0.18 \\\\ -0.5 - 0 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} -0.28 \\\\ -0.50 \\end{bmatrix} \\end{aligned}Δx2​​=0.5Δx1​−0.1(∇f(x1​))⊤=0.5[−0.2−1.0​]−0.1[1.80​]=[−0.1−0.18−0.5−0​]=[−0.28−0.50​]​ x2=x1+Δx2=[1.80.0]+[−0.28−0.50]=[1.52−0.50]\\begin{aligned} x_2 \u0026amp;= x_1 + \\Delta x_2 \\\\ \u0026amp;= \\begin{bmatrix} 1.8 \\\\ 0.0 \\end{bmatrix} + \\begin{bmatrix} -0.28 \\\\ -0.50 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1.52 \\\\ -0.50 \\end{bmatrix} \\end{aligned}x2​​=x1​+Δx2​=[1.80.0​]+[−0.28−0.50​]=[1.52−0.50​]​ 직전 스텝의 관성(−1.0-1.0−1.0)의 절반인 −0.5-0.5−0.5가 살아남아 x2x_2x2​가 음수 쪽으로 살짝 이동했습니다. 다음 스텝에서는 양수 방향 그래디언트가 발생하여 이 관성을 브레이크 걸어주게 됩니다.\n헷갈리는 점 / 자주 하는 실수 부호 정의: 식을 어떻게 정의하느냐에 따라 Δx\\Delta xΔx를 속도 vtv_tvt​로 정의하고 xt+1=xt+vt+1x_{t+1} = x_t + v_{t+1}xt+1​=xt​+vt+1​로 쓸 수도 있고, 뺄셈 형태로 쓸 수도 있습니다. MML 교재(식 (7.11)~(7.12))는 xi+1=xi−γi(∇f(xi))⊤+αΔxix_{i+1} = x_i - \\gamma_i (\\nabla f(x_i))^\\top + \\alpha \\Delta x_ixi+1​=xi​−γi​(∇f(xi​))⊤+αΔxi​, Δxi=xi−xi−1\\Delta x_i = x_i - x_{i-1}Δxi​=xi​−xi−1​로 쓴다. 이것은 이동량 Δxt+1=αΔxt−γ(∇f(xt))⊤\\Delta x_{t+1} = \\alpha \\Delta x_t - \\gamma (\\nabla f(x_t))^\\topΔxt+1​=αΔxt​−γ(∇f(xt​))⊤을 구해서 xt+1=xt+Δxt+1x_{t+1} = x_t + \\Delta x_{t+1}xt+1​=xt​+Δxt+1​로 더하는 것과 같은 식이다. 7.1.3 확률적 경사하강법 (Stochastic Gradient Descent, 231~232쪽) 왜 필요한가 (직관) 머신러닝에서 학습 데이터가 100만 개(N=1,000,000N = 1,000,000N=1,000,000) 있다고 합시다. 전체 데이터에 대한 손실 함수의 정확한 그래디언트를 한 번 구하려면 100만 개 데이터 전체에 대해 미분을 계산하고 평균을 내야 합니다(이를 배치 경사하강법, Batch GD이라 부릅니다). 파라미터를 단 한 번 업데이트하는 데 100만 번의 계산을 하는 것은 극도로 비효율적입니다. 게다가 많은 데이터 샘플들은 서로 유사한 정보를 담고 있습니다. 그렇다면 데이터 1개(또는 수십 개의 미니배치)만 무작위로 뽑아서 그 작은 샘플의 그래디언트로 일단 한 걸음 내딛으면 어떨까요? 개별 걸음은 노이즈 때문에 비틀거리겠지만, 평균적으로는 올바른 방향을 가리키므로 전체적으로는 훨씬 빠르고 저렴하게 목표 지점에 도달할 수 있습니다. 이것이 바로 확률적 경사하강법(SGD)입니다.\n정의와 성질 유한 합 목적함수 (Finite Sum Objective): 머신러닝의 목적함수는 대부분 개별 데이터 샘플 손실의 평균 형태입니다: f(x)=1N∑n=1Nfn(x)f(x) = \\frac{1}{N} \\sum_{n=1}^N f_n(x)f(x)=N1​n=1∑N​fn​(x) 전체 그래디언트는 ∇f(x)=1N∑n=1N∇fn(x)\\nabla f(x) = \\frac{1}{N}\\sum_{n=1}^N \\nabla f_n(x)∇f(x)=N1​∑n=1N​∇fn​(x)입니다.\nSGD 갱신 규칙: 매 반복 ttt마다 인덱스 n∈{1,…,N}n \\in \\{1, \\dots, N\\}n∈{1,…,N} 하나(또는 크기 BBB인 미니배치 StS_tSt​)를 무작위 균등 분포로 추출합니다: xt+1=xt−γt(∇fn(xt))⊤x_{t+1} = x_t - \\gamma_t (\\nabla f_n(x_t))^\\topxt+1​=xt​−γt​(∇fn​(xt​))⊤ 미니배치 StS_tSt​를 사용하는 경우: xt+1=xt−γt(1∣St∣∑i∈St∇fi(xt))⊤x_{t+1} = x_t - \\gamma_t \\left( \\frac{1}{|S_t|} \\sum_{i \\in S_t} \\nabla f_i(x_t) \\right)^\\topxt+1​=xt​−γt​(∣St​∣1​i∈St​∑​∇fi​(xt​))⊤ 무편향 추정치 (Unbiased Estimator): 확률변수 nnn에 대한 기댓값을 취하면 전체 그래디언트와 정확히 일치합니다: En[∇fn(x)]=∑n=1NP(n)∇fn(x)=1N∑n=1N∇fn(x)=∇f(x)\\begin{aligned} \\mathbb{E}_n [\\nabla f_n(x)] \u0026amp;= \\sum_{n=1}^N P(n) \\nabla f_n(x) \\\\ \u0026amp;= \\frac{1}{N} \\sum_{n=1}^N \\nabla f_n(x) \\\\ \u0026amp;= \\nabla f(x) \\end{aligned}En​[∇fn​(x)]​=n=1∑N​P(n)∇fn​(x)=N1​n=1∑N​∇fn​(x)=∇f(x)​ 즉, SGD의 그래디언트는 참 그래디언트의 무편향 추정치입니다!\n수렴을 위한 Robbins-Monro 조건 (교재 밖 보충. 교재는 학습률을 적절히 줄이면 수렴한다고만 설명한다): SGD는 샘플링 노이즈 때문에 학습률 γt\\gamma_tγt​를 고정하면 최적점 주변에서 끊임없이 방황(진동)하게 됩니다. 최적점에 정확히 수렴하려면 학습률이 다음 두 조건을 만족하며 서서히 줄어들어야 합니다: ∑t=1∞γt=∞그리고∑t=1∞γt2\u0026lt;∞\\sum_{t=1}^\\infty \\gamma_t = \\infty \\quad \\text{그리고} \\quad \\sum_{t=1}^\\infty \\gamma_t^2 \u0026lt; \\inftyt=1∑∞​γt​=∞그리고t=1∑∞​γt2​\u0026lt;∞ 첫 번째 조건 (∑γt=∞\\sum \\gamma_t = \\infty∑γt​=∞)의 직관: 초기점이 최적점에서 아무리 멀리 떨어져 있어도, 누적 이동 거리가 무한대가 될 수 있어야 최적점까지 도달할 수 있음을 보장합니다. (보폭이 너무 빨리 줄어들어 도중에 멈추는 premature convergence 방지) 두 번째 조건 (∑γt2\u0026lt;∞\\sum \\gamma_t^2 \u0026lt; \\infty∑γt2​\u0026lt;∞)의 직관: 무작위 샘플링으로 인한 노이즈 분산의 총합이 유한해야 함을 의미합니다. 즉, 발걸음이 충분히 작아져서 노이즈가 상쇄되고 한 점으로 수렴함을 보장합니다. 대표적 예: γt=ct\\gamma_t = \\frac{c}{t}γt​=tc​. ∑1/t=∞\\sum 1/t = \\infty∑1/t=∞이고 ∑1/t2=π2/6\u0026lt;∞\\sum 1/t^2 = \\pi^2/6 \u0026lt; \\infty∑1/t2=π2/6\u0026lt;∞이므로 두 조건을 모두 만족한다. (γt=c/t\\gamma_t=c/\\sqrt tγt​=c/t​는 ∑γt2=c2∑1/t=∞\\sum\\gamma_t^2=c^2\\sum 1/t=\\infty∑γt2​=c2∑1/t=∞라 둘째 조건을 만족하지 않는다.) 손으로 풀어 보는 예제 데이터 3개로 구성된 손실 함수 f(w)=13(f1(w)+f2(w)+f3(w))f(w) = \\frac{1}{3}(f_1(w) + f_2(w) + f_3(w))f(w)=31​(f1​(w)+f2​(w)+f3​(w))가 있습니다: f1(w)=(w−1)2,f2(w)=(w−3)2,f3(w)=(w−5)2\\begin{aligned} f_1(w) \u0026amp;= (w - 1)^2, \\\\ f_2(w) \u0026amp;= (w - 3)^2, \\\\ f_3(w) \u0026amp;= (w - 5)^2 \\end{aligned}f1​(w)f2​(w)f3​(w)​=(w−1)2,=(w−3)2,=(w−5)2​ 현재 위치 w0=0w_0 = 0w0​=0, 학습률 γ=0.1\\gamma = 0.1γ=0.1입니다.\n배치 경사하강법 (참 그래디언트): ∇f1(0)=2(0−1)=−2\\nabla f_1(0) = 2(0 - 1) = -2∇f1​(0)=2(0−1)=−2 ∇f2(0)=2(0−3)=−6\\nabla f_2(0) = 2(0 - 3) = -6∇f2​(0)=2(0−3)=−6 ∇f3(0)=2(0−5)=−10\\nabla f_3(0) = 2(0 - 5) = -10∇f3​(0)=2(0−5)=−10 전체 그래디언트: ∇f(0)=−2+(−6)+(−10)3=−183=−6\\nabla f(0) = \\frac{-2 + (-6) + (-10)}{3} = \\frac{-18}{3} = -6∇f(0)=3−2+(−6)+(−10)​=3−18​=−6. 배치 갱신: w1Batch=0−0.1(−6)=0.6w_1^{\\text{Batch}} = 0 - 0.1(-6) = 0.6w1Batch​=0−0.1(−6)=0.6.\nSGD (샘플 1개 무작위 선택):\n만약 샘플 2가 뽑혔다면 (n=2n=2n=2): ∇f2(0)=−6\\nabla f_2(0) = -6∇f2​(0)=−6 w1SGD=0−0.1(−6)=0.6w_1^{\\text{SGD}} = 0 - 0.1(-6) = 0.6w1SGD​=0−0.1(−6)=0.6 (우연히 배치와 동일) 만약 샘플 3이 뽑혔다면 (n=3n=3n=3): ∇f3(0)=−10\\nabla f_3(0) = -10∇f3​(0)=−10 w1SGD=0−0.1(−10)=1.0w_1^{\\text{SGD}} = 0 - 0.1(-10) = 1.0w1SGD​=0−0.1(−10)=1.0 (배치보다 더 멀리 이동) 만약 샘플 1이 뽑혔다면 (n=1n=1n=1): ∇f1(0)=−2\\nabla f_1(0) = -2∇f1​(0)=−2 w1SGD=0−0.1(−2)=0.2w_1^{\\text{SGD}} = 0 - 0.1(-2) = 0.2w1SGD​=0−0.1(−2)=0.2 (배치보다 적게 이동) 세 경우의 기댓값: E[w1SGD]=0.2+0.6+1.03=0.6=w1Batch\\mathbb{E}[w_1^{\\text{SGD}}] = \\frac{0.2 + 0.6 + 1.0}{3} = 0.6 = w_1^{\\text{Batch}}E[w1SGD​]=30.2+0.6+1.0​=0.6=w1Batch​! 개별 샘플에 따라 이동 거리는 다르지만, 평균적으로는 배치 경사하강법과 정확히 같은 곳을 향함을 수치로 확인할 수 있습니다. 헷갈리는 점 / 자주 하는 실수 에포크(Epoch)와 이터레이션(Iteration): 이터레이션: 미니배치 1개를 뽑아 파라미터를 1회 업데이트하는 과정. 에포크: 전체 데이터셋 NNN개를 모두 한 번씩 훑는 과정. (N=10,000N=10,000N=10,000, 미니배치 크기 B=100B=100B=100이면 1에포크는 100회의 이터레이션으로 구성됨). 7.2 제약조건이 있는 최적화와 라그랑주 승수 (Constrained Optimization and Lagrange Multipliers, 233~235쪽) 왜 필요한가 (직관) 현실의 머신러닝 문제는 무제약 최적화인 경우가 드뭅니다.\n투자 포트폴리오를 짤 때 자산 비중의 합은 반드시 1이어야 합니다 (∑wi=1\\sum w_i = 1∑wi​=1). 주성분 분석(PCA, 10장)에서 투영 벡터의 길이는 1이어야 합니다 (∥u∥2=1\\|u\\|^2 = 1∥u∥2=1). 서포트 벡터 머신(SVM, 12장)에서 모든 데이터는 마진 경계 바깥쪽에 위치해야 합니다 (yn(w⊤xn+b)≥1y_n(w^\\top x_n + b) \\ge 1yn​(w⊤xn​+b)≥1). 이렇게 파라미터가 지켜야 할 등식(equality)이나 부등식(inequality) 제약이 걸려 있을 때, 어떻게 최적해를 찾을 수 있을까요?\n등식 제약 조건 (Equality Constraints) 목적함수 f(x)f(x)f(x)를 등식 제약 g(x)=0g(x) = 0g(x)=0 하에서 최소화하는 문제를 생각합니다: min⁡xf(x)subject tog(x)=0\\min_x f(x) \\quad \\text{subject to} \\quad g(x) = 0xmin​f(x)subject tog(x)=0기하학적 직관 g(x)=0g(x) = 0g(x)=0은 공간 상의 어떤 곡선(곡면)을 이룹니다. 최적해 x∗x^*x∗는 반드시 이 곡면 위에 있어야 합니다. 이 곡면 위를 따라 움직이면서 f(x)f(x)f(x)를 최대한 줄여나가다가 마침내 최솟값에 도달했다고 합시다. 만약 그 점에서도 g(x)=0g(x)=0g(x)=0 곡면을 따라 움직일 때 f(x)f(x)f(x)가 줄어드는 방향이 남아있다면, 거기로 더 이동했을 것입니다. 따라서 최적점에서는 g(x)=0g(x)=0g(x)=0 곡면의 접선 방향과 f(x)f(x)f(x) 등고선의 접선 방향이 완전히 일치해야 합니다! 두 곡면의 접선이 일치한다는 것은, 두 곡면의 법선 벡터(그래디언트)가 서로 평행(parallel)해야 함을 뜻합니다: ∇f(x∗)=−λ∇g(x∗) ⟺ ∇f(x∗)+λ∇g(x∗)=0\\begin{aligned} \u0026amp;\\nabla f(x^*) = -\\lambda \\nabla g(x^*) \\\\ \u0026amp;\\iff \\nabla f(x^*) + \\lambda \\nabla g(x^*) = 0 \\end{aligned}​∇f(x∗)=−λ∇g(x∗)⟺∇f(x∗)+λ∇g(x∗)=0​ 여기서 비례 상수 λ∈R\\lambda \\in \\mathbb{R}λ∈R를 라그랑주 승수(Lagrange multiplier)라고 부릅니다.\n라그랑지안 함수 (Lagrangian) 이를 하나의 통합된 함수로 만든 것이 라그랑지안(Lagrangian) L\\mathfrak{L}L입니다: L(x,λ)=f(x)+λg(x)\\mathfrak{L}(x, \\lambda) = f(x) + \\lambda g(x)L(x,λ)=f(x)+λg(x) 라그랑지안의 모든 변수(xxx와 λ\\lambdaλ)에 대한 편미분을 0으로 놓으면:\n∇xL(x,λ)=∇f(x)+λ∇g(x)=0\\nabla_x \\mathfrak{L}(x, \\lambda) = \\nabla f(x) + \\lambda \\nabla g(x) = 0∇x​L(x,λ)=∇f(x)+λ∇g(x)=0 (기울기 평행 조건) ∇λL(x,λ)=g(x)=0\\nabla_\\lambda \\mathfrak{L}(x, \\lambda) = g(x) = 0∇λ​L(x,λ)=g(x)=0 (원래 제약조건 복원) 즉, 제약이 있던 문제가 L(x,λ)\\mathfrak{L}(x, \\lambda)L(x,λ)의 무제약 정류점을 찾는 문제로 우아하게 변환됩니다! 부등식 제약 조건과 KKT 조건 (Inequality Constraints \u0026amp; KKT Conditions) 이제 제약조건이 부등식 g(x)≤0g(x) \\le 0g(x)≤0인 경우를 확장합니다: min⁡xf(x)subject togi(x)≤0(i=1,…,m)\\begin{aligned} \u0026amp;\\min_x f(x) \\\\ \u0026amp;\\text{subject to} \\quad g_i(x) \\le 0 \\quad (i = 1, \\dots, m) \\end{aligned}​xmin​f(x)subject togi​(x)≤0(i=1,…,m)​기하학적 직관: 두 가지 시나리오 최적점 x∗x^*x∗가 놓일 수 있는 상황은 정확히 두 가지뿐입니다:\n시나리오 1: 제약이 비활성인 경우 (Inactive constraint, 내부 해)\n최적해 x∗x^*x∗가 제약 영역의 내부(gi(x∗)\u0026lt;0g_i(x^*) \u0026lt; 0gi​(x∗)\u0026lt;0)에 위치합니다. 이때는 벽(경계)에 부딪히지 않았으므로 제약조건이 없는 것과 마찬가지입니다. 따라서 최적점에서 원래 함수의 기울기가 0이어야 합니다 (∇f(x∗)=0\\nabla f(x^*) = 0∇f(x∗)=0). 라그랑주 승수는 λi=0\\lambda_i = 0λi​=0이어야 합니다. 시나리오 2: 제약이 활성인 경우 (Active constraint, 경계 해)\n원래 함수 f(x)f(x)f(x)를 더 줄이려면 gi(x)\u0026gt;0g_i(x) \u0026gt; 0gi​(x)\u0026gt;0인 금지 구역으로 넘어가야 하는데, 경계선 gi(x)=0g_i(x) = 0gi​(x)=0에 막혀서 더 이상 가지 못하는 상태입니다. 따라서 최적점은 경계 위(gi(x∗)=0g_i(x^*) = 0gi​(x∗)=0)에 있으며, 목적함수가 줄어드는 내리막 방향(−∇f-\\nabla f−∇f)은 금지 구역(바깥쪽, 즉 ∇gi\\nabla g_i∇gi​ 방향)을 가리키고 있어야 합니다. 즉, −∇f(x∗)=λi∇gi(x∗)-\\nabla f(x^*) = \\lambda_i \\nabla g_i(x^*)−∇f(x∗)=λi​∇gi​(x∗)이며, 이때 비례상수는 반드시 λi≥0\\lambda_i \\ge 0λi​≥0이어야 합니다! (만약 λi\u0026lt;0\\lambda_i \u0026lt; 0λi​\u0026lt;0이면 허용 영역 안쪽으로 더 내려갈 수 있다는 뜻이 되므로 최솟점일 수 없습니다). 카루시-쿤-터커 4대 조건 (KKT Conditions) — (교재 밖 보충, 하지만 표준 내용이라 꼭 알아 둔다) MML 7장은 이 네 조건을 이름 붙여 정리하지 않고 라그랑지안·쌍대성으로 설명한다. 12장 SVM 쌍대 유도와 서포트 벡터 해석에 바로 쓰이므로 여기서 정리해 둔다.\n위 직관을 수학적으로 정리한 것이 바로 KKT 조건(Karush-Kuhn-Tucker conditions)입니다. 라그랑지안 L(x,λ)=f(x)+∑i=1mλigi(x)\\mathfrak{L}(x, \\lambda) = f(x) + \\sum_{i=1}^m \\lambda_i g_i(x)L(x,λ)=f(x)+∑i=1m​λi​gi​(x)에 대해, 최적점 (x∗,λ∗)(x^*, \\lambda^*)(x∗,λ∗)는 다음 네 가지 조건을 반드시 만족해야 합니다:\n정류성 (Stationarity): ∇xL(x∗,λ∗)=∇f(x∗)+∑i=1mλi∗∇gi(x∗)=0\\nabla_x \\mathfrak{L}(x^*, \\lambda^*) = \\nabla f(x^*) + \\sum_{i=1}^m \\lambda_i^* \\nabla g_i(x^*) = 0∇x​L(x∗,λ∗)=∇f(x∗)+∑i=1m​λi∗​∇gi​(x∗)=0 원 문제 실행가능성 (Primal Feasibility): gi(x∗)≤0,∀i=1,…,mg_i(x^*) \\le 0, \\quad \\forall i = 1, \\dots, mgi​(x∗)≤0,∀i=1,…,m (원래 제약조건을 만족해야 합니다.) 쌍대 실행가능성 (Dual Feasibility): λi∗≥0,∀i=1,…,m\\lambda_i^* \\ge 0, \\quad \\forall i = 1, \\dots, mλi∗​≥0,∀i=1,…,m (라그랑주 승수는 0 이상이어야 합니다.) 상보 여유성 (Complementary Slackness): λi∗gi(x∗)=0,∀i=1,…,m\\lambda_i^* g_i(x^*) = 0, \\quad \\forall i = 1, \\dots, mλi∗​gi​(x∗)=0,∀i=1,…,m (이 조건이 핵심입니다! λi∗\u0026gt;0\\lambda_i^* \u0026gt; 0λi∗​\u0026gt;0이면 반드시 gi(x∗)=0g_i(x^*) = 0gi​(x∗)=0이어야 하고, 반대로 gi(x∗)\u0026lt;0g_i(x^*) \u0026lt; 0gi​(x∗)\u0026lt;0이면 반드시 λi∗=0\\lambda_i^* = 0λi∗​=0이어야 합니다. 둘 중 적어도 하나는 0이어야 합니다.) 12장 서포트 벡터 머신(SVM)과의 필연적 연결 이 KKT 상보 여유성 조건은 12장 서포트 벡터 머신(SVM)에서 그대로 다시 쓰이는 원리입니다. SVM에서 데이터를 분류하는 마진 제약조건은 다음과 같습니다: gn(w,b)=1−yn(w⊤xn+b)≤0g_n(w, b) = 1 - y_n(w^\\top x_n + b) \\le 0gn​(w,b)=1−yn​(w⊤xn​+b)≤0 이 제약에 대한 라그랑주 승수를 αn≥0\\alpha_n \\ge 0αn​≥0이라 할 때, 상보 여유성 조건은: αn[1−yn(w⊤xn+b)]=0\\alpha_n [1 - y_n(w^\\top x_n + b)] = 0αn​[1−yn​(w⊤xn​+b)]=0 마진 바깥쪽에 안전하게 잘 분류된 데이터: yn(w⊤xn+b)\u0026gt;1 ⟹ gn\u0026lt;0y_n(w^\\top x_n + b) \u0026gt; 1 \\implies g_n \u0026lt; 0yn​(w⊤xn​+b)\u0026gt;1⟹gn​\u0026lt;0. 따라서 반드시 αn=0\\alpha_n = 0αn​=0입니다! 이 데이터들은 모델 파라미터 w=∑αnynxnw = \\sum \\alpha_n y_n x_nw=∑αn​yn​xn​을 결정하는 데 아무런 기여를 하지 않습니다. 마진 경계에 아슬아슬하게 걸쳐 있는 데이터: yn(w⊤xn+b)=1 ⟹ gn=0y_n(w^\\top x_n + b) = 1 \\implies g_n = 0yn​(w⊤xn​+b)=1⟹gn​=0. 이때 비로소 αn\u0026gt;0\\alpha_n \u0026gt; 0αn​\u0026gt;0이 됩니다! 이처럼 αn\u0026gt;0\\alpha_n \u0026gt; 0αn​\u0026gt;0을 만족하며 결정 경계(초평면)의 위치를 홀로 지탱하고 있는 소수의 경계 데이터들을 가리켜 바로 서포트 벡터(Support Vector)라고 부릅니다. 7장의 KKT 조건이 SVM이라는 모델의 이름 그 자체가 되는 순간입니다. 손으로 풀어 보는 예제 (KKT 조건 풀이) 다음 제약 최적화 문제를 손으로 풀어봅시다: min⁡x1,x2f(x1,x2)=(x1−3)2+(x2−4)2subject tox1+x2≤5\\begin{aligned} \u0026amp;\\min_{x_1, x_2} f(x_1, x_2) = (x_1 - 3)^2 + (x_2 - 4)^2 \\\\ \u0026amp;\\text{subject to} \\quad x_1 + x_2 \\le 5 \\end{aligned}​x1​,x2​min​f(x1​,x2​)=(x1​−3)2+(x2​−4)2subject tox1​+x2​≤5​ 제약식 표준형 변환: g(x1,x2)=x1+x2−5≤0g(x_1, x_2) = x_1 + x_2 - 5 \\le 0g(x1​,x2​)=x1​+x2​−5≤0 라그랑지안 정의: L(x1,x2,λ)=(x1−3)2+(x2−4)2+λ(x1+x2−5)\\begin{aligned} \\mathfrak{L}(x_1, x_2, \\lambda) \u0026amp;= (x_1 - 3)^2 + (x_2 - 4)^2 \\\\ \u0026amp;\\quad + \\lambda(x_1 + x_2 - 5) \\end{aligned}L(x1​,x2​,λ)​=(x1​−3)2+(x2​−4)2+λ(x1​+x2​−5)​ KKT 조건 세우기:\n정류성: ∂L∂x1=2(x1−3)+λ=0 ⟹ x1=3−λ2\\frac{\\partial \\mathfrak{L}}{\\partial x_1} = 2(x_1 - 3) + \\lambda = 0 \\implies x_1 = 3 - \\frac{\\lambda}{2}∂x1​∂L​=2(x1​−3)+λ=0⟹x1​=3−2λ​ ∂L∂x2=2(x2−4)+λ=0 ⟹ x2=4−λ2\\frac{\\partial \\mathfrak{L}}{\\partial x_2} = 2(x_2 - 4) + \\lambda = 0 \\implies x_2 = 4 - \\frac{\\lambda}{2}∂x2​∂L​=2(x2​−4)+λ=0⟹x2​=4−2λ​ 원 문제 실행가능성: x1+x2−5≤0x_1 + x_2 - 5 \\le 0x1​+x2​−5≤0 쌍대 실행가능성: λ≥0\\lambda \\ge 0λ≥0 상보 여유성: λ(x1+x2−5)=0\\lambda(x_1 + x_2 - 5) = 0λ(x1​+x2​−5)=0 경우의 수(Case) 분석:\nCase 1: 제약이 비활성 (λ=0\\lambda = 0λ=0) λ=0 ⟹ x1=3,x2=4\\lambda = 0 \\implies x_1 = 3, \\quad x_2 = 4λ=0⟹x1​=3,x2​=4 원 문제 제약조건 검증: x1+x2=3+4=7≰5x_1 + x_2 = 3 + 4 = 7 \\not\\le 5x1​+x2​=3+4=7≤5. 제약조건을 위반하므로 모순! 기각. Case 2: 제약이 활성 (λ\u0026gt;0 ⟹ x1+x2−5=0\\lambda \u0026gt; 0 \\implies x_1 + x_2 - 5 = 0λ\u0026gt;0⟹x1​+x2​−5=0) x1+x2=(3−λ2)+(4−λ2)=7−λ=5 ⟹ λ=2x_1 + x_2 = \\left(3 - \\frac{\\lambda}{2}\\right) + \\left(4 - \\frac{\\lambda}{2}\\right) = 7 - \\lambda = 5 \\implies \\lambda = 2x1​+x2​=(3−2λ​)+(4−2λ​)=7−λ=5⟹λ=2. λ=2\u0026gt;0\\lambda = 2 \u0026gt; 0λ=2\u0026gt;0이므로 쌍대 실행가능성 만족! 해의 좌표: x1∗=3−22=2,x2∗=4−22=3x_1^* = 3 - \\frac{2}{2} = 2, \\quad x_2^* = 4 - \\frac{2}{2} = 3x1∗​=3−22​=2,x2∗​=4−22​=3 최솟값: f(2,3)=(2−3)2+(3−4)2=1+1=2f(2, 3) = (2 - 3)^2 + (3 - 4)^2 = 1 + 1 = 2f(2,3)=(2−3)2+(3−4)2=1+1=2. 정확히 유일한 최적해 (x1∗,x2∗)=(2,3)(x_1^*, x_2^*) = (2, 3)(x1∗​,x2∗​)=(2,3), λ∗=2\\lambda^* = 2λ∗=2를 도출했습니다. 7.3 볼록 최적화 (Convex Optimization, 236~245쪽) 왜 필요한가 (직관) 일반적인 최적화 문제에서는 컴퓨터가 찾은 해가 \u0026ldquo;진짜 지구상에서 가장 낮은 곳(전역 최적해)\u0026ldquo;인지, 아니면 \u0026ldquo;단지 근처 웅덩이(국소 최적해)\u0026ldquo;에 불과한지 판별하기가 수학적으로 불가능에 가깝습니다. 하지만 문제가 볼록 최적화(Convex Optimization) 범주에 속한다면 다음이 성립합니다:\n\u0026ldquo;어떤 국소 최솟값(local minimum)도 예외 없이 전역 최솟값(global minimum)이다!\u0026rdquo;\n즉, 경사하강법이든 어떤 알고리즘이든 기울기가 0인 지점에 도달하기만 하면, 그것이 곧 전역 최적해임이 보장됩니다. 이것이 머신러닝 연구자들이 문제를 어떻게든 볼록 문제로 공식화하려고 애쓰는 이유입니다.\n정의와 성질 1. 볼록 집합 (Convex Set) 집합 C⊆RDC \\subseteq \\mathbb{R}^DC⊆RD 안의 임의의 두 점 x,y∈Cx, y \\in Cx,y∈C를 잡았을 때, 두 점을 잇는 선분 전체가 다시 CCC에 포함되면 CCC를 볼록 집합이라 합니다: θx+(1−θ)y∈C,∀θ∈[0,1]\\theta x + (1 - \\theta) y \\in C, \\quad \\forall \\theta \\in [0, 1]θx+(1−θ)y∈C,∀θ∈[0,1] 원(원판), 삼각형, 다포체(polyhedron)는 볼록 집합입니다. 도넛 모양, 별 모양, 초승달 모양은 두 점을 이은 선분이 영역 밖으로 빠져나가므로 볼록 집합이 아닙니다. 2. 볼록 함수 (Convex Function) 정의역이 볼록 집합인 함수 fff에 대해, 임의의 두 점 x,yx, yx,y 사이에서 함수 그래프가 두 점을 잇는 현(chord, 직선 선분) 아래쪽에 놓이면 fff를 볼록 함수라 합니다: f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y),∀θ∈[0,1]\\begin{aligned} \u0026amp;f(\\theta x + (1 - \\theta) y) \\\\ \u0026amp;\\le \\theta f(x) + (1 - \\theta) f(y), \\\\ \u0026amp;\\quad \\forall \\theta \\in [0, 1] \\end{aligned}​f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y),∀θ∈[0,1]​ 1계 조건 (First-Order Condition): 미분 가능한 함수 fff가 볼록 함수일 필요충분조건은 접선 초평면이 항상 원래 함수 아래에 깔리는 것입니다: f(y)≥f(x)+∇f(x)(y−x),∀x,yf(y) \\ge f(x) + \\nabla f(x)(y - x), \\quad \\forall x, yf(y)≥f(x)+∇f(x)(y−x),∀x,y 2계 조건 (Second-Order Condition): 2회 미분 가능한 함수 fff가 볼록 함수일 필요충분조건은 모든 점에서 헤시안 행렬이 반양의정부호(Positive Semidefinite, PSD)인 것입니다: ∇2f(x)⪰0,∀x\\nabla^2 f(x) \\succeq 0, \\quad \\forall x∇2f(x)⪰0,∀x (즉, 헤시안의 모든 고유값이 0 이상이어야 합니다). 옌센 부등식 (Jensen\u0026rsquo;s Inequality): 볼록 함수 fff에 대해, 기댓값의 함수 값은 함수 값의 기댓값 이하입니다: f(E[x])≤E[f(x)]f(\\mathbb{E}[x]) \\le \\mathbb{E}[f(x)]f(E[x])≤E[f(x)] (이 부등식은 11장 GMM의 EM 알고리즘 유도에서 핵심 역할을 합니다). 라그랑주 쌍대성 이론 (Lagrangian Duality Theory) 볼록 최적화의 중심 이론은 원 문제(Primal Problem)와 쌍대 문제(Dual Problem)의 관계입니다.\n원 문제 (Primal Problem) min⁡x∈RDf(x)subject togi(x)≤0 (i=1,…,m),hj(x)=0 (j=1,…,p)\\begin{aligned} \u0026amp;\\min_{x \\in \\mathbb{R}^D} f(x) \\\\ \u0026amp;\\text{subject to} \\quad g_i(x) \\le 0 \\; (i=1,\\dots,m), \\\\ \u0026amp;\\quad h_j(x) = 0 \\; (j=1,\\dots,p) \\end{aligned}​x∈RDmin​f(x)subject togi​(x)≤0(i=1,…,m),hj​(x)=0(j=1,…,p)​ 라그랑지안: L(x,λ,ν)=f(x)+∑i=1mλigi(x)+∑j=1pνjhj(x),(λi≥0)\\begin{aligned} \\mathfrak{L}(x, \\lambda, \\nu) \u0026amp;= f(x) + \\sum_{i=1}^m \\lambda_i g_i(x) \\\\ \u0026amp;\\quad + \\sum_{j=1}^p \\nu_j h_j(x), \\quad (\\lambda_i \\ge 0) \\end{aligned}L(x,λ,ν)​=f(x)+i=1∑m​λi​gi​(x)+j=1∑p​νj​hj​(x),(λi​≥0)​ 여기서 놀라운 사실은, 원 문제를 라그랑지안의 최소-최대(min-max) 형태로 다시 쓸 수 있다는 점입니다: min⁡xmax⁡λ≥0,νL(x,λ,ν)\\min_x \\max_{\\lambda \\ge 0, \\nu} \\mathfrak{L}(x, \\lambda, \\nu)xmin​λ≥0,νmax​L(x,λ,ν) 만약 어떤 xxx가 제약을 위반하면(예: gi(x)\u0026gt;0g_i(x) \u0026gt; 0gi​(x)\u0026gt;0), λi→∞\\lambda_i \\to \\inftyλi​→∞로 보내버려 내부의 최댓값이 +∞+\\infty+∞가 됩니다. 반면 제약을 모두 만족하면 λigi(x)≤0\\lambda_i g_i(x) \\le 0λi​gi​(x)≤0이므로 λi=0\\lambda_i=0λi​=0일 때 최댓값 f(x)f(x)f(x)가 남습니다. 따라서 불가능한 영역에는 무한대의 벌점을 주어 자연스럽게 원 문제와 정확히 동치가 됩니다! 쌍대 함수와 쌍대 문제 (Dual Problem) 이제 min⁡\\minmin과 max⁡\\maxmax의 순서를 바꾸어 봅시다: max⁡λ≥0,νmin⁡xL(x,λ,ν)\\max_{\\lambda \\ge 0, \\nu} \\min_x \\mathfrak{L}(x, \\lambda, \\nu)λ≥0,νmax​xmin​L(x,λ,ν) 라그랑주 쌍대 함수 (Lagrange Dual Function): D(λ,ν)=inf⁡xL(x,λ,ν)\\mathfrak{D}(\\lambda, \\nu) = \\inf_{x} \\mathfrak{L}(x, \\lambda, \\nu)D(λ,ν)=infx​L(x,λ,ν) 중요한 성질: 원래 목적함수 f(x)f(x)f(x)가 볼록 함수이든 아니든 상관없이, 쌍대 함수 D(λ,ν)\\mathfrak{D}(\\lambda, \\nu)D(λ,ν)는 (λ,ν)(\\lambda, \\nu)(λ,ν)에 대해 항상 오목 함수(Concave Function)입니다! (아핀 함수들의 인피멈(infimum)이기 때문입니다). 라그랑주 쌍대 문제 (Lagrange Dual Problem): max⁡λ≥0,νD(λ,ν)\\max_{\\lambda \\ge 0, \\nu} \\mathfrak{D}(\\lambda, \\nu)maxλ≥0,ν​D(λ,ν) 오목 함수를 최대화하는 문제이므로, 쌍대 문제는 언제나 볼록 최적화 문제가 됩니다! 약쌍대성과 강쌍대성 (Weak \u0026amp; Strong Duality) 약쌍대성 (Weak Duality): 어떤 최적화 문제이든, 쌍대 문제의 최적값 d∗d^*d∗는 항상 원 문제의 최적값 p∗p^*p∗ 이하입니다: d∗≤p∗d^* \\le p^*d∗≤p∗ 근거는 최소최대 부등식(교재 식 (7.23), (7.27))이다: max⁡λ≥0min⁡xL(x,λ)≤min⁡xmax⁡λ≥0L(x,λ)\\max_{\\lambda\\ge0}\\min_x \\mathfrak{L}(x,\\lambda) \\le \\min_x\\max_{\\lambda\\ge0} \\mathfrak{L}(x,\\lambda)maxλ≥0​minx​L(x,λ)≤minx​maxλ≥0​L(x,λ). 왼쪽(\u0026ldquo;먼저 xxx로 최소화한 값들 가운데 가장 큰 값\u0026rdquo;)이 쌍대 최적값 d∗d^*d∗이고, 오른쪽(\u0026ldquo;먼저 λ\\lambdaλ로 최대화한 값들 가운데 가장 작은 값\u0026rdquo;)이 원 문제 최적값 p∗p^*p∗이다. 오른쪽이 원 문제인 이유: 제약을 어기는 xxx에서는 max⁡λ\\max_\\lambdamaxλ​가 +∞+\\infty+∞가 되고, 지키는 xxx에서는 f(x)f(x)f(x)가 되기 때문이다(교재 식 (7.25)). 차이 p∗−d∗≥0p^* - d^* \\ge 0p∗−d∗≥0를 쌍대성 간극(Duality Gap)이라 부릅니다. 강쌍대성 (Strong Duality): 쌍대성 간극이 0이 되어 두 문제의 최적값이 완전히 일치하는 상태입니다: d∗=p∗d^* = p^*d∗=p∗ 슬레이터 조건 (Slater\u0026rsquo;s Condition) (교재 밖 보충. 교재 7.3은 \u0026ldquo;목적함수가 볼록이고 제약이 볼록 집합이면 강쌍대성이 성립한다\u0026quot;고만 서술한다): 원 문제가 볼록 최적화이고, 모든 부등식 제약을 엄격히 만족하는 점이 적어도 하나 존재하면(∃x s.t. gi(x)\u0026lt;0\\exists x \\text{ s.t. } g_i(x) \u0026lt; 0∃x s.t. gi​(x)\u0026lt;0), 강쌍대성이 반드시 성립합니다. 강쌍대성이 성립하면, 복잡한 원 문제 대신 다루기 쉬운 쌍대 문제를 풀어 원래의 최적해를 정확히 복원할 수 있습니다! 7.3.1 선형 계획법 (Linear Programming, LP, 239~241쪽) 정의와 표준형 목적함수와 제약식이 모두 선형인 문제입니다: min⁡x∈RDc⊤xsubject toAx≤b\\min_{x \\in \\mathbb{R}^D} c^\\top x \\quad \\text{subject to} \\quad A x \\le bx∈RDmin​c⊤xsubject toAx≤b (c∈RD,A∈Rm×D,b∈Rmc \\in \\mathbb{R}^D, A \\in \\mathbb{R}^{m \\times D}, b \\in \\mathbb{R}^mc∈RD,A∈Rm×D,b∈Rm).\n쌍대 선형 계획법 유도 라그랑지안 구성 (λ≥0\\lambda \\ge 0λ≥0): L(x,λ)=c⊤x+λ⊤(Ax−b)=(c+A⊤λ)⊤x−b⊤λ\\mathfrak{L}(x, \\lambda) = c^\\top x + \\lambda^\\top (A x - b) = (c + A^\\top \\lambda)^\\top x - b^\\top \\lambdaL(x,λ)=c⊤x+λ⊤(Ax−b)=(c+A⊤λ)⊤x−b⊤λ xxx에 대한 인피멈 취하기: 만약 c+A⊤λ≠0c + A^\\top \\lambda \\neq 0c+A⊤λ=0이라면, xxx를 그 반대 방향으로 무한히 보내버리면 L→−∞\\mathfrak{L} \\to -\\inftyL→−∞가 되어버립니다. 오직 c+A⊤λ=0c + A^\\top \\lambda = 0c+A⊤λ=0일 때만 유한한 값 −b⊤λ-b^\\top \\lambda−b⊤λ를 가질 수 있습니다! D(λ)={−b⊤λif A⊤λ+c=0−∞otherwise\\mathfrak{D}(\\lambda) = \\begin{cases} -b^\\top \\lambda \u0026amp; \\text{if } A^\\top \\lambda + c = 0 \\\\ -\\infty \u0026amp; \\text{otherwise} \\end{cases}D(λ)={−b⊤λ−∞​if A⊤λ+c=0otherwise​ 쌍대 문제 완성: max⁡λ∈Rm−b⊤λsubject toA⊤λ+c=0,λ≥0\\max_{\\lambda \\in \\mathbb{R}^m} -b^\\top \\lambda \\quad \\text{subject to} \\quad A^\\top \\lambda + c = 0, \\quad \\lambda \\ge 0maxλ∈Rm​−b⊤λsubject toA⊤λ+c=0,λ≥0 (원 문제의 부등식 제약 수 mmm개가 쌍대 문제의 변수 개수가 되고, 원 문제의 변수 수 DDD개가 쌍대 문제의 등식 제약 수가 되는 대칭적 구조를 가집니다). 7.3.2 2차 계획법 (Quadratic Programming, QP, 241~242쪽) 정의와 표준형 목적함수가 2차 볼록 함수이고 제약식이 선형 부등식인 문제입니다: min⁡x∈RD12x⊤Qx+c⊤xsubject toAx≤b\\begin{aligned} \u0026amp;\\min_{x \\in \\mathbb{R}^D} \\frac{1}{2} x^\\top Q x + c^\\top x \\\\ \u0026amp;\\text{subject to} \\quad A x \\le b \\end{aligned}​x∈RDmin​21​x⊤Qx+c⊤xsubject toAx≤b​ 여기서 Q∈RD×DQ \\in \\mathbb{R}^{D \\times D}Q∈RD×D는 양의정부호 대칭 행렬(Q≻0Q \\succ 0Q≻0)입니다.\n쌍대 2차 계획법 유도 (12장 SVM의 핵심 모체) 라그랑지안 구성: L(x,λ)=12x⊤Qx+c⊤x+λ⊤(Ax−b)=12x⊤Qx+(c+A⊤λ)⊤x−λ⊤b\\mathfrak{L}(x, \\lambda) = \\frac{1}{2} x^\\top Q x + c^\\top x + \\lambda^\\top (A x - b) = \\frac{1}{2} x^\\top Q x + (c + A^\\top \\lambda)^\\top x - \\lambda^\\top bL(x,λ)=21​x⊤Qx+c⊤x+λ⊤(Ax−b)=21​x⊤Qx+(c+A⊤λ)⊤x−λ⊤b xxx에 대해 최소화 (정류점 조건): ∇xL=Qx+(c+A⊤λ)=0 ⟹ x∗=−Q−1(c+A⊤λ)\\nabla_x \\mathfrak{L} = Q x + (c + A^\\top \\lambda) = 0 \\implies x^* = -Q^{-1}(c + A^\\top \\lambda)∇x​L=Qx+(c+A⊤λ)=0⟹x∗=−Q−1(c+A⊤λ) x∗x^*x∗를 라그랑지안에 대입: D(λ)=12(−Q−1(c+A⊤λ))⊤Q(−Q−1(c+A⊤λ))+(c+A⊤λ)⊤(−Q−1(c+A⊤λ))−λ⊤b\\mathfrak{D}(\\lambda) = \\frac{1}{2} (-Q^{-1}(c + A^\\top \\lambda))^\\top Q (-Q^{-1}(c + A^\\top \\lambda)) + (c + A^\\top \\lambda)^\\top (-Q^{-1}(c + A^\\top \\lambda)) - \\lambda^\\top bD(λ)=21​(−Q−1(c+A⊤λ))⊤Q(−Q−1(c+A⊤λ))+(c+A⊤λ)⊤(−Q−1(c+A⊤λ))−λ⊤b =12(c+A⊤λ)⊤Q−1(c+A⊤λ)−(c+A⊤λ)⊤Q−1(c+A⊤λ)−λ⊤b= \\frac{1}{2} (c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) - (c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) - \\lambda^\\top b=21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−(c+A⊤λ)⊤Q−1(c+A⊤λ)−λ⊤b =−12(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ= -\\frac{1}{2} (c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) - b^\\top \\lambda=−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ 쌍대 문제: max⁡λ≥0−12(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ\\max_{\\lambda \\ge 0} -\\frac{1}{2} (c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) - b^\\top \\lambdamaxλ≥0​−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ 12장의 서포트 벡터 머신(SVM)에서 원 문제 마진 최소화 식을 라그랑주 쌍대화하여 알파에 관한 2차 최적화 문제로 유도하는 과정이 이 공식과 완전히 동일합니다! 7.3.3 르장드르-펜첼 변환과 볼록 켤레 함수 (Legendre–Fenchel Transform and Convex Conjugate, 242~245쪽) 왜 필요한가 (직관) 우리가 어떤 볼록 곡선을 그릴 때, 두 가지 방법이 있습니다:\n곡선 위의 모든 점 (x,f(x))(x, f(x))(x,f(x))의 좌표를 찍어 그린다. 곡선에 접하는 수많은 접선들을 그어 그 접선들이 감싸는 외곽선(포락선)으로 곡선을 표현한다. 르장드르-펜첼 변환(Legendre-Fenchel Transform)은 바로 점 xxx 중심의 함수를 접선의 기울기 sss와 그 절편 중심의 함수로 변환하는 수학적 도구입니다. 이 변환을 통해 우리는 다루기 힘든 비미분 함수(예: SVM의 힌지 손실)의 쌍대 함수를 구하고 평활화(smoothing)를 적용할 수 있게 됩니다.\n정의와 성질 함수 f:RD→Rf: \\mathbb{R}^D \\to \\mathbb{R}f:RD→R의 볼록 켤레 함수(Convex Conjugate) f∗:RD→Rf^*: \\mathbb{R}^D \\to \\mathbb{R}f∗:RD→R는 다음과 같이 정의됩니다: f∗(s)=sup⁡x∈dom(f)(⟨s,x⟩−f(x))f^*(s) = \\sup_{x \\in \\text{dom}(f)} \\left( \\langle s, x \\rangle - f(x) \\right)f∗(s)=x∈dom(f)sup​(⟨s,x⟩−f(x)) 기하학적 해석 (y-절편과의 관계): 기울기 sss를 가지며 점 (x,f(x))(x, f(x))(x,f(x))를 지나는 직선 방정식: y−f(x)=s(x−x0) ⟹ y=sx+[f(x)−sx]y - f(x) = s(x - x_0) \\implies y = sx + [f(x) - sx]y−f(x)=s(x−x0​)⟹y=sx+[f(x)−sx]. 이 직선의 yyy-절편은 c(x)=f(x)−sxc(x) = f(x) - sxc(x)=f(x)−sx입니다. 곡선 전체 아래를 떠받치는 가장 높은 접선의 yyy-절편의 음수값이 바로 −c=sx−f(x)-c = sx - f(x)−c=sx−f(x)의 상한인 f∗(s)f^*(s)f∗(s)입니다. Fenchel-Young 부등식: 정의에 의해 임의의 x,sx, sx,s에 대해 다음 부등식이 항상 성립합니다: ⟨s,x⟩≤f(x)+f∗(s)\\langle s, x \\rangle \\le f(x) + f^*(s)⟨s,x⟩≤f(x)+f∗(s) 등호가 성립할 필요충분조건은 sss가 점 xxx에서의 서브그래디언트(s∈∂f(x)s \\in \\partial f(x)s∈∂f(x)), 즉 미분 가능할 때 s=∇f(x)s = \\nabla f(x)s=∇f(x)인 경우입니다. 볼록 켤레의 볼록성: 원래 함수 fff가 볼록이 아니더라도, f∗f^*f∗는 항상 볼록 함수입니다 (아핀 함수들의 상한이므로). 또한 fff가 닫힌 볼록 함수이면 (f∗)∗=f(f^*)^* = f(f∗)∗=f가 성립합니다. 손으로 풀어 보는 예제 (교재 예제 7.7: 2차 형식의 볼록 켤레) 함수 f(y)=λ2y⊤K−1yf(y) = \\frac{\\lambda}{2} y^\\top K^{-1} yf(y)=2λ​y⊤K−1y (K≻0,λ\u0026gt;0K \\succ 0, \\lambda \u0026gt; 0K≻0,λ\u0026gt;0)의 볼록 켤레 f∗(α)f^*(\\alpha)f∗(α)를 구해봅시다. f∗(α)=sup⁡y(α⊤y−λ2y⊤K−1y)f^*(\\alpha) = \\sup_{y} \\left( \\alpha^\\top y - \\frac{\\lambda}{2} y^\\top K^{-1} y \\right)f∗(α)=ysup​(α⊤y−2λ​y⊤K−1y) yyy에 대해 미분하여 0으로 놓기: ∇y(α⊤y−λ2y⊤K−1y)=α−λK−1y=0 ⟹ y∗=1λKα\\nabla_y \\left( \\alpha^\\top y - \\frac{\\lambda}{2} y^\\top K^{-1} y \\right) = \\alpha - \\lambda K^{-1} y = 0 \\implies y^* = \\frac{1}{\\lambda} K \\alpha∇y​(α⊤y−2λ​y⊤K−1y)=α−λK−1y=0⟹y∗=λ1​Kα y∗y^*y∗를 대입: f∗(α)=α⊤(1λKα)−λ2(1λKα)⊤K−1(1λKα)f^*(\\alpha) = \\alpha^\\top \\left( \\frac{1}{\\lambda} K \\alpha \\right) - \\frac{\\lambda}{2} \\left( \\frac{1}{\\lambda} K \\alpha \\right)^\\top K^{-1} \\left( \\frac{1}{\\lambda} K \\alpha \\right)f∗(α)=α⊤(λ1​Kα)−2λ​(λ1​Kα)⊤K−1(λ1​Kα) =1λα⊤Kα−12λα⊤Kα=12λα⊤Kα= \\frac{1}{\\lambda} \\alpha^\\top K \\alpha - \\frac{1}{2\\lambda} \\alpha^\\top K \\alpha = \\frac{1}{2\\lambda} \\alpha^\\top K \\alpha=λ1​α⊤Kα−2λ1​α⊤Kα=2λ1​α⊤Kα 아주 깔끔하게 2차 형식의 켤레 함수가 다시 역행렬의 역행렬(KKK)을 갖는 2차 형식이 됨을 확인할 수 있습니다! 펜첼 쌍대성 정리 (Fenchel Duality Theorem, 교재 예제 7.9, 식 (7.64)~(7.68)) (교재 예제 7.8은 손실 합의 볼록 켤레 L∗(z)=∑iℓi∗(zi)L^*(z)=\\sum_i \\ell_i^*(z_i)L∗(z)=∑i​ℓi∗​(zi​)이고, 아래 결과는 그다음 예제 7.9에서 라그랑주 승수로 유도한다.) 머신러닝 목적함수가 두 함수의 합 f(Ax)+g(x)f(Ax) + g(x)f(Ax)+g(x) 형태로 주어질 때: min⁡xf(Ax)+g(x)=max⁡u−f∗(u)−g∗(−A⊤u)\\begin{aligned} \u0026amp;\\min_x f(Ax) + g(x) \\\\ \u0026amp;= \\max_u -f^*(u) - g^*(-A^\\top u) \\end{aligned}​xmin​f(Ax)+g(x)=umax​−f∗(u)−g∗(−A⊤u)​ 이 정리는 복잡한 정규화 문제(예: Lasso, Ridge)를 분해하여 쌍대 공간에서 매우 효율적으로 풀 수 있게 해주는 강력한 이론적 토대입니다.\n핵심 유도 모음 유도 1: 2차 형식에서 경사하강법 최적 보폭 γ∗\\gamma^*γ∗ 및 수축률 유도 목표: f(x)=12x⊤Ax−b⊤xf(x) = \\frac{1}{2}x^\\top A x - b^\\top xf(x)=21​x⊤Ax−b⊤x (A≻0A \\succ 0A≻0)에서 경사하강법 오차 수축률을 최소화하는 최적 보폭 γ∗\\gamma^*γ∗를 유도한다.\n최적해와 오차 정의: ∇f(x∗)=Ax∗−b=0 ⟹ b=Ax∗\\nabla f(x^*) = Ax^* - b = 0 \\implies b = Ax^*∇f(x∗)=Ax∗−b=0⟹b=Ax∗. ttt번째 반복의 오차 벡터를 et=xt−x∗e_t = x_t - x^*et​=xt​−x∗라 하자. 오차의 점화식 전개: xt+1=xt−γ(Axt−b)x_{t+1} = x_t - \\gamma (Ax_t - b)xt+1​=xt​−γ(Axt​−b) xt+1−x∗=xt−x∗−γ(Axt−Ax∗)=(I−γA)(xt−x∗)x_{t+1} - x^* = x_t - x^* - \\gamma (Ax_t - Ax^*) = (I - \\gamma A)(x_t - x^*)xt+1​−x∗=xt​−x∗−γ(Axt​−Ax∗)=(I−γA)(xt​−x∗) 따라서 et+1=(I−γA)ete_{t+1} = (I - \\gamma A) e_tet+1​=(I−γA)et​. (근거: 경사하강법 점화식에 b=Ax∗b = Ax^*b=Ax∗를 대입하여 선형 변환 형태로 묶음) 스펙트럼 반경 최소화: 오차 노름의 최대 수축률은 행렬 (I−γA)(I - \\gamma A)(I−γA)의 최대 절대 고유값에 의해 결정된다: max⁡i∣1−γλi∣=max⁡{∣1−γλmin⁡∣,∣1−γλmax⁡∣}\\max_i |1 - \\gamma \\lambda_i| = \\max \\{ |1 - \\gamma \\lambda_{\\min}|, |1 - \\gamma \\lambda_{\\max}| \\}maxi​∣1−γλi​∣=max{∣1−γλmin​∣,∣1−γλmax​∣} 수렴하기 위한 필요충분조건: ∣1−γλmax⁡∣\u0026lt;1 ⟺ 0\u0026lt;γ\u0026lt;2λmax⁡|1 - \\gamma \\lambda_{\\max}| \u0026lt; 1 \\iff 0 \u0026lt; \\gamma \u0026lt; \\frac{2}{\\lambda_{\\max}}∣1−γλmax​∣\u0026lt;1⟺0\u0026lt;γ\u0026lt;λmax​2​. 수축률을 최소화하려면 양 끝점의 크기가 같아져야 한다: 1−γλmin⁡=−(1−γλmax⁡) ⟺ γ(λmin⁡+λmax⁡)=21 - \\gamma \\lambda_{\\min} = -(1 - \\gamma \\lambda_{\\max}) \\iff \\gamma(\\lambda_{\\min} + \\lambda_{\\max}) = 21−γλmin​=−(1−γλmax​)⟺γ(λmin​+λmax​)=2 ∴γ∗=2λmin⁡+λmax⁡\\therefore \\gamma^* = \\frac{2}{\\lambda_{\\min} + \\lambda_{\\max}}∴γ∗=λmin​+λmax​2​ (근거: 볼록 2차 형식의 고유값 범위에서 최악의 수렴 요소를 대칭으로 맞춤) 최적 수축률 계산: 1−γ∗λmin⁡=1−2λmin⁡λmin⁡+λmax⁡=λmax⁡−λmin⁡λmax⁡+λmin⁡=κ−1κ+11 - \\gamma^* \\lambda_{\\min} = 1 - \\frac{2\\lambda_{\\min}}{\\lambda_{\\min} + \\lambda_{\\max}} = \\frac{\\lambda_{\\max} - \\lambda_{\\min}}{\\lambda_{\\max} + \\lambda_{\\min}} = \\frac{\\kappa - 1}{\\kappa + 1}1−γ∗λmin​=1−λmin​+λmax​2λmin​​=λmax​+λmin​λmax​−λmin​​=κ+1κ−1​ (근거: 조건수 κ=λmax⁡/λmin⁡\\kappa = \\lambda_{\\max}/\\lambda_{\\min}κ=λmax​/λmin​의 정의 적용) 유도 2: 선형 계획법(LP)의 라그랑주 쌍대 문제 유도 목표: 원 문제 min⁡xc⊤x s.t. Ax≤b\\min_{x} c^\\top x \\text{ s.t. } Ax \\le bminx​c⊤x s.t. Ax≤b의 쌍대 문제를 라그랑주 승수법으로 유도한다.\n라그랑지안 구성: L(x,λ)=c⊤x+λ⊤(Ax−b),(λ≥0)\\mathfrak{L}(x, \\lambda) = c^\\top x + \\lambda^\\top (Ax - b), \\quad (\\lambda \\ge 0)L(x,λ)=c⊤x+λ⊤(Ax−b),(λ≥0) (근거: 부등식 제약 Ax−b≤0Ax - b \\le 0Ax−b≤0에 쌍대 변수 λ≥0\\lambda \\ge 0λ≥0를 곱해 목적함수에 더함) xxx에 관한 항으로 재정렬: L(x,λ)=(c+A⊤λ)⊤x−b⊤λ\\mathfrak{L}(x, \\lambda) = (c + A^\\top \\lambda)^\\top x - b^\\top \\lambdaL(x,λ)=(c+A⊤λ)⊤x−b⊤λ (근거: 내적의 전치 성질 λ⊤Ax=(A⊤λ)⊤x\\lambda^\\top Ax = (A^\\top \\lambda)^\\top xλ⊤Ax=(A⊤λ)⊤x 적용) 쌍대 함수 D(λ)=inf⁡xL(x,λ)\\mathfrak{D}(\\lambda) = \\inf_x \\mathfrak{L}(x, \\lambda)D(λ)=infx​L(x,λ) 계산: xxx에 대해 선형 함수이므로, 만약 기울기 벡터가 0이 아니면 xxx를 반대 방향으로 무한히 보내 inf⁡\\infinf 값이 −∞-\\infty−∞가 된다. 따라서 오직 c+A⊤λ=0c + A^\\top \\lambda = 0c+A⊤λ=0일 때만 유한한 최솟값 −b⊤λ-b^\\top \\lambda−b⊤λ를 갖는다: D(λ)={−b⊤λif A⊤λ+c=0−∞otherwise\\mathfrak{D}(\\lambda) = \\begin{cases} -b^\\top \\lambda \u0026amp; \\text{if } A^\\top \\lambda + c = 0 \\\\ -\\infty \u0026amp; \\text{otherwise} \\end{cases}D(λ)={−b⊤λ−∞​if A⊤λ+c=0otherwise​ (근거: 선형 함수의 비유계(unboundedness) 성질) 쌍대 문제 형성: max⁡λ≥0D(λ) ⟺ max⁡λ−b⊤λsubject toA⊤λ+c=0,λ≥0\\max_{\\lambda \\ge 0} \\mathfrak{D}(\\lambda) \\iff \\max_{\\lambda} -b^\\top \\lambda \\quad \\text{subject to} \\quad A^\\top \\lambda + c = 0, \\quad \\lambda \\ge 0maxλ≥0​D(λ)⟺maxλ​−b⊤λsubject toA⊤λ+c=0,λ≥0 (근거: 유한한 값을 갖는 실행 가능 영역에 한정하여 상한을 극대화) 유도 3: 2차 계획법(QP)의 라그랑주 쌍대 문제 유도 목표: 원 문제 min⁡x12x⊤Qx+c⊤x s.t. Ax≤b\\min_x \\frac{1}{2}x^\\top Q x + c^\\top x \\text{ s.t. } Ax \\le bminx​21​x⊤Qx+c⊤x s.t. Ax≤b (Q≻0Q \\succ 0Q≻0)의 쌍대 문제를 유도한다.\n라그랑지안 구성: L(x,λ)=12x⊤Qx+c⊤x+λ⊤(Ax−b)=12x⊤Qx+(c+A⊤λ)⊤x−b⊤λ\\mathfrak{L}(x, \\lambda) = \\frac{1}{2} x^\\top Q x + c^\\top x + \\lambda^\\top (Ax - b) = \\frac{1}{2} x^\\top Q x + (c + A^\\top \\lambda)^\\top x - b^\\top \\lambdaL(x,λ)=21​x⊤Qx+c⊤x+λ⊤(Ax−b)=21​x⊤Qx+(c+A⊤λ)⊤x−b⊤λ (근거: 제약조건 결합) xxx에 대한 최소화 (정류점 도출): Q≻0Q \\succ 0Q≻0이므로 L\\mathfrak{L}L은 xxx에 대해 엄격한 볼록 함수이다. 그래디언트를 0으로 놓는다: ∇xL=Qx+c+A⊤λ=0\\nabla_x \\mathfrak{L} = Qx + c + A^\\top \\lambda = 0∇x​L=Qx+c+A⊤λ=0 Qx=−(c+A⊤λ) ⟹ x∗=−Q−1(c+A⊤λ)Qx = -(c + A^\\top \\lambda) \\implies x^* = -Q^{-1}(c + A^\\top \\lambda)Qx=−(c+A⊤λ)⟹x∗=−Q−1(c+A⊤λ) (근거: QQQ가 양의정부호이므로 역행렬 Q−1Q^{-1}Q−1이 유일하게 존재) x∗x^*x∗ 대입을 통한 쌍대 함수 계산: D(λ)=L(x∗,λ)=12(−Q−1(c+A⊤λ))⊤Q(−Q−1(c+A⊤λ))+(c+A⊤λ)⊤(−Q−1(c+A⊤λ))−b⊤λ\\mathfrak{D}(\\lambda) = \\mathfrak{L}(x^*, \\lambda) = \\frac{1}{2} (-Q^{-1}(c + A^\\top \\lambda))^\\top Q (-Q^{-1}(c + A^\\top \\lambda)) + (c + A^\\top \\lambda)^\\top (-Q^{-1}(c + A^\\top \\lambda)) - b^\\top \\lambdaD(λ)=L(x∗,λ)=21​(−Q−1(c+A⊤λ))⊤Q(−Q−1(c+A⊤λ))+(c+A⊤λ)⊤(−Q−1(c+A⊤λ))−b⊤λ =12(c+A⊤λ)⊤Q−1(c+A⊤λ)−(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ= \\frac{1}{2}(c + A^\\top \\lambda)^\\top Q^{-1}(c + A^\\top \\lambda) - (c + A^\\top \\lambda)^\\top Q^{-1}(c + A^\\top \\lambda) - b^\\top \\lambda=21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ =−12(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ= -\\frac{1}{2}(c + A^\\top \\lambda)^\\top Q^{-1}(c + A^\\top \\lambda) - b^\\top \\lambda=−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ (근거: Q−1QQ−1=Q−1Q^{-1} Q Q^{-1} = Q^{-1}Q−1QQ−1=Q−1 및 대칭성 성질) 쌍대 문제 정의: max⁡λ≥0−12(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ\\max_{\\lambda \\ge 0} -\\frac{1}{2}(c + A^\\top \\lambda)^\\top Q^{-1}(c + A^\\top \\lambda) - b^\\top \\lambdamaxλ≥0​−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ (근거: 쌍대 실행가능성 λ≥0\\lambda \\ge 0λ≥0 결합) 유도 4: 펜첼 쌍대성 정리 (Fenchel Duality Theorem) 목표: min⁡xf(Ax)+g(x)=max⁡u−f∗(u)−g∗(−A⊤u)\\begin{aligned} \u0026amp;\\min_x f(Ax) + g(x) \\\\ \u0026amp;= \\max_u -f^*(u) - g^*(-A^\\top u) \\end{aligned}​xmin​f(Ax)+g(x)=umax​−f∗(u)−g∗(−A⊤u)​를 라그랑주 승수법으로 유도한다.\n보조 변수 도입을 통한 동치 문제 변환: y=Ax라는 등식 제약을 도입하면,y = Ax \\text{라는 등식 제약을 도입하면,}y=Ax라는 등식 제약을 도입하면, min⁡x,yf(y)+g(x)subject toAx−y=0\\min_{x, y} f(y) + g(x) \\quad \\text{subject to} \\quad Ax - y = 0minx,y​f(y)+g(x)subject toAx−y=0 (근거: 복합 함수의 입력을 단일 변수 yyy로 분리) 라그랑지안 구성 (등식 제약 승수 uuu 도입): L(x,y,u)=f(y)+g(x)+u⊤(Ax−y)=[f(y)−u⊤y]+[g(x)+(A⊤u)⊤x]\\mathfrak{L}(x, y, u) = f(y) + g(x) + u^\\top (Ax - y) = [f(y) - u^\\top y] + [g(x) + (A^\\top u)^\\top x]L(x,y,u)=f(y)+g(x)+u⊤(Ax−y)=[f(y)−u⊤y]+[g(x)+(A⊤u)⊤x] (근거: u⊤Ax=(A⊤u)⊤xu^\\top Ax = (A^\\top u)^\\top xu⊤Ax=(A⊤u)⊤x 전치 성질 및 변수 분리) xxx와 yyy에 대해 각각 인피멈 취하기: inf⁡x,yL(x,y,u)=inf⁡y[f(y)−u⊤y]+inf⁡x[g(x)−(−A⊤u)⊤x]\\inf_{x, y} \\mathfrak{L}(x, y, u) = \\inf_y [f(y) - u^\\top y] + \\inf_x [g(x) - (-A^\\top u)^\\top x]infx,y​L(x,y,u)=infy​[f(y)−u⊤y]+infx​[g(x)−(−A⊤u)⊤x] 첫 번째 항: inf⁡y[f(y)−u⊤y]=−sup⁡y[u⊤y−f(y)]=−f∗(u)\\inf_y [f(y) - u^\\top y] = -\\sup_y [u^\\top y - f(y)] = -f^*(u)infy​[f(y)−u⊤y]=−supy​[u⊤y−f(y)]=−f∗(u). 두 번째 항: inf⁡x[g(x)−(−A⊤u)⊤x]=−sup⁡x[(−A⊤u)⊤x−g(x)]=−g∗(−A⊤u)\\inf_x [g(x) - (-A^\\top u)^\\top x] = -\\sup_x [(-A^\\top u)^\\top x - g(x)] = -g^*(-A^\\top u)infx​[g(x)−(−A⊤u)⊤x]=−supx​[(−A⊤u)⊤x−g(x)]=−g∗(−A⊤u). (근거: 볼록 켤레 함수의 정의 h∗(s)=sup⁡z(s⊤z−h(z))h^*(s) = \\sup_z (s^\\top z - h(z))h∗(s)=supz​(s⊤z−h(z)) 및 inf⁡(−A)=−sup⁡(A)\\inf(-A) = -\\sup(A)inf(−A)=−sup(A) 성질) 쌍대 문제 완성: max⁡uinf⁡x,yL(x,y,u)=max⁡u−f∗(u)−g∗(−A⊤u)\\max_u \\inf_{x, y} \\mathfrak{L}(x, y, u) = \\max_u -f^*(u) - g^*(-A^\\top u)maxu​infx,y​L(x,y,u)=maxu​−f∗(u)−g∗(−A⊤u) (근거: 라그랑주 쌍대 문제의 정의) 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. 경사하강법은 왜 음의 기울기 방향으로 가나요? 학습률은 어떻게 정하나요? \u0026ldquo;1차 테일러 근사 f(x+Δ)≈f(x)+∇f(x)Δf(x+\\Delta)\\approx f(x)+\\nabla f(x)\\Deltaf(x+Δ)≈f(x)+∇f(x)Δ에서 같은 보폭이면 Δ\\DeltaΔ가 기울기 반대 방향일 때 감소량이 가장 크기 때문입니다. 학습률이 너무 크면 발산하고 너무 작으면 느립니다. 2차 함수에서는 헤시안의 최대 고유값 λmax⁡\\lambda_{\\max}λmax​에 대해 γ\u0026lt;2/λmax⁡\\gamma\u0026lt;2/\\lambda_{\\max}γ\u0026lt;2/λmax​여야 수렴하고, 조건수가 클수록 지그재그로 느려집니다.\u0026rdquo;\nQ. 모멘텀과 확률적 경사하강법(SGD)을 설명해 보세요. \u0026ldquo;모멘텀은 직전 이동량을 일부 더해 Δxt+1=αΔxt−γ∇f⊤\\Delta x_{t+1}=\\alpha\\Delta x_t-\\gamma\\nabla f^\\topΔxt+1​=αΔxt​−γ∇f⊤로 움직입니다. 좌우로 흔들리는 성분은 서로 상쇄되고 일관된 방향은 누적돼 빨라집니다. SGD는 전체 데이터 대신 무작위 미니배치의 기울기를 씁니다. 그 기댓값이 전체 기울기와 같은 무편향 추정이라 평균적으로 올바른 방향으로 가고, 계산이 훨씬 쌉니다.\u0026rdquo;\nQ. 라그랑주 승수법의 아이디어는? \u0026ldquo;제약 g(x)=0g(x)=0g(x)=0 위에서 최적점에서는 fff의 기울기와 ggg의 기울기가 평행합니다. 그래서 L=f+λg\\mathfrak L=f+\\lambda gL=f+λg를 만들어 xxx와 λ\\lambdaλ에 대한 정류점을 찾으면 제약 문제를 무제약 문제처럼 풀 수 있습니다. 부등식 제약이면 승수가 0 이상이어야 합니다.\u0026rdquo;\nQ. 쌍대 문제란? 약쌍대성과 강쌍대성은? \u0026ldquo;라그랑지안을 xxx에 대해 최소화한 쌍대 함수 D(λ)=min⁡xL(x,λ)\\mathfrak D(\\lambda)=\\min_x\\mathfrak L(x,\\lambda)D(λ)=minx​L(x,λ)를 λ≥0\\lambda\\ge0λ≥0에서 최대화하는 문제입니다. 쌍대 함수는 항상 오목이라 쌍대 문제는 늘 볼록 문제입니다. 최소최대 부등식 때문에 쌍대 최적값은 원 문제 최적값 이하인데 이것이 약쌍대성이고, 볼록 문제에서는 두 값이 같아지는 강쌍대성이 성립합니다. SVM은 쌍대 문제로 바꿔야 커널을 쓸 수 있습니다.\u0026rdquo;\nQ. KKT 조건 네 가지와 상보 여유성의 의미는? (교재 밖 보충이지만 12장과 직결) \u0026ldquo;정류성(∇xL=0\\nabla_x\\mathfrak L=0∇x​L=0), 원 문제 실행가능성(gi≤0g_i\\le0gi​≤0), 쌍대 실행가능성(λi≥0\\lambda_i\\ge0λi​≥0), 상보 여유성(λigi=0\\lambda_ig_i=0λi​gi​=0)입니다. 상보 여유성은 제약이 경계에서 걸려 있을 때만 승수가 양수일 수 있다는 뜻입니다. SVM에서 승수가 양수인 점, 즉 마진 경계 위의 점이 서포트 벡터가 되는 이유입니다.\u0026rdquo;\nQ. 볼록 최적화가 왜 중요한가요? 볼록 함수 판정법은? \u0026ldquo;볼록 문제에서는 국소 최솟값이 곧 전역 최솟값이라 경사하강법으로 찾은 정류점을 믿을 수 있습니다. 볼록 함수는 정의(현 아래에 그래프), 1차 조건(f(y)≥f(x)+∇f(x)(y−x)f(y)\\ge f(x)+\\nabla f(x)(y-x)f(y)≥f(x)+∇f(x)(y−x)), 2차 조건(헤시안이 양의 준정부호)으로 판정합니다. 선형회귀의 제곱오차, SVM, 로지스틱 회귀 손실이 볼록입니다.\u0026rdquo;\nQ. 볼록 켤레(르장드르-펜첼 변환)는 무엇인가요? \u0026ldquo;f∗(s)=sup⁡x(s⊤x−f(x))f^*(s)=\\sup_x(s^\\top x-f(x))f∗(s)=supx​(s⊤x−f(x))로, 함수를 접선의 기울기와 절편으로 다시 표현한 것입니다. 항상 볼록이고, 볼록 닫힌 함수면 두 번 하면 원래 함수가 돌아옵니다. 쌍대 문제를 유도하거나 힌지 손실처럼 꺾인 함수를 매끄럽게 만들 때 씁니다.\u0026rdquo;\n연습문제 확인 문제 (10문제, 풀이 전체 포함) [문제 1] (경사하강법 1스텝 계산) 함수 f(x1,x2)=12(x12+4x22)−2x1−4x2f(x_1, x_2) = \\frac{1}{2}(x_1^2 + 4x_2^2) - 2x_1 - 4x_2f(x1​,x2​)=21​(x12​+4x22​)−2x1​−4x2​에 대해, 초기점 x0=[00]x_0 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}x0​=[00​]에서 학습률 γ=0.2\\gamma = 0.2γ=0.2로 경사하강법을 1회 수행한 위치 x1x_1x1​을 구하시오.\n[풀이]\n편도함수 계산: ∂f∂x1=x1−2,∂f∂x2=4x2−4\\frac{\\partial f}{\\partial x_1} = x_1 - 2, \\quad \\frac{\\partial f}{\\partial x_2} = 4x_2 - 4∂x1​∂f​=x1​−2,∂x2​∂f​=4x2​−4 x0=(0,0)x_0 = (0, 0)x0​=(0,0)에서의 그래디언트 열벡터: (∇f(x0))⊤=[0−24(0)−4]=[−2−4](\\nabla f(x_0))^\\top = \\begin{bmatrix} 0 - 2 \\\\ 4(0) - 4 \\end{bmatrix} = \\begin{bmatrix} -2 \\\\ -4 \\end{bmatrix}(∇f(x0​))⊤=[0−24(0)−4​]=[−2−4​] 경사하강법 갱신: x1=x0−γ(∇f(x0))⊤=[00]−0.2[−2−4]=[0.40.8]x_1 = x_0 - \\gamma (\\nabla f(x_0))^\\top = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} - 0.2 \\begin{bmatrix} -2 \\\\ -4 \\end{bmatrix} = \\begin{bmatrix} 0.4 \\\\ 0.8 \\end{bmatrix}x1​=x0​−γ(∇f(x0​))⊤=[00​]−0.2[−2−4​]=[0.40.8​] 답: x1=[0.40.8]x_1 = \\begin{bmatrix} 0.4 \\\\ 0.8 \\end{bmatrix}x1​=[0.40.8​] [문제 2] (조건수와 최적 학습률) 2차 형식 f(x)=12x⊤Axf(x) = \\frac{1}{2}x^\\top A xf(x)=21​x⊤Ax에서 행렬이 A=[6223]A = \\begin{bmatrix} 6 \u0026amp; 2 \\\\ 2 \u0026amp; 3 \\end{bmatrix}A=[62​23​]으로 주어졌다. (1) 행렬 AAA의 고유값과 조건수 κ\\kappaκ를 구하시오.\n(2) 경사하강법이 발산하지 않고 수렴하기 위한 보폭 γ\\gammaγ의 최대 상한과, 수축률을 최소화하는 최적 보폭 γ∗\\gamma^*γ∗를 구하시오.\n[풀이]\n특성방정식: det⁡(A−λI)=(6−λ)(3−λ)−4=λ2−9λ+14=(λ−7)(λ−2)=0\\det(A - \\lambda I) = (6 - \\lambda)(3 - \\lambda) - 4 = \\lambda^2 - 9\\lambda + 14 = (\\lambda - 7)(\\lambda - 2) = 0det(A−λI)=(6−λ)(3−λ)−4=λ2−9λ+14=(λ−7)(λ−2)=0 따라서 고유값은 λmax⁡=7\\lambda_{\\max} = 7λmax​=7, λmin⁡=2\\lambda_{\\min} = 2λmin​=2. 조건수 κ=λmax⁡λmin⁡=72=3.5\\kappa = \\frac{\\lambda_{\\max}}{\\lambda_{\\min}} = \\frac{7}{2} = 3.5κ=λmin​λmax​​=27​=3.5. 수렴 조건 및 최적 보폭: 최대 상한: γ\u0026lt;2λmax⁡=27\\gamma \u0026lt; \\frac{2}{\\lambda_{\\max}} = \\frac{2}{7}γ\u0026lt;λmax​2​=72​. 최적 보폭: γ∗=2λmin⁡+λmax⁡=22+7=29\\gamma^* = \\frac{2}{\\lambda_{\\min} + \\lambda_{\\max}} = \\frac{2}{2 + 7} = \\frac{2}{9}γ∗=λmin​+λmax​2​=2+72​=92​. 답: (1) 고유값 7, 2 / 조건수 3.5, (2) 상한 27\\frac{2}{7}72​, 최적 보폭 29\\frac{2}{9}92​ [문제 3] (모멘텀 경사하강법 계산) 함수 f(x1,x2)=x12+5x22f(x_1, x_2) = x_1^2 + 5x_2^2f(x1​,x2​)=x12​+5x22​에 대해, 초기점 x0=[12]x_0 = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix}x0​=[12​], 초기 속도 Δx0=[00]\\Delta x_0 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}Δx0​=[00​], 모멘텀 파라미터 α=0.5\\alpha = 0.5α=0.5, 학습률 γ=0.1\\gamma = 0.1γ=0.1을 적용할 때 x1x_1x1​과 Δx1\\Delta x_1Δx1​을 구하시오.\n[풀이]\n그래디언트 계산: (∇f(x))⊤=[2x110x2] ⟹ (∇f(x0))⊤=[2(1)10(2)]=[220](\\nabla f(x))^\\top = \\begin{bmatrix} 2x_1 \\\\ 10x_2 \\end{bmatrix} \\implies (\\nabla f(x_0))^\\top = \\begin{bmatrix} 2(1) \\\\ 10(2) \\end{bmatrix} = \\begin{bmatrix} 2 \\\\ 20 \\end{bmatrix}(∇f(x))⊤=[2x1​10x2​​]⟹(∇f(x0​))⊤=[2(1)10(2)​]=[220​] 모멘텀 갱신: Δx1=αΔx0−γ(∇f(x0))⊤=0.5[00]−0.1[220]=[−0.2−2.0]\\Delta x_1 = \\alpha \\Delta x_0 - \\gamma (\\nabla f(x_0))^\\top = 0.5 \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} - 0.1 \\begin{bmatrix} 2 \\\\ 20 \\end{bmatrix} = \\begin{bmatrix} -0.2 \\\\ -2.0 \\end{bmatrix}Δx1​=αΔx0​−γ(∇f(x0​))⊤=0.5[00​]−0.1[220​]=[−0.2−2.0​] x1=x0+Δx1=[12]+[−0.2−2.0]=[0.80.0]x_1 = x_0 + \\Delta x_1 = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} -0.2 \\\\ -2.0 \\end{bmatrix} = \\begin{bmatrix} 0.8 \\\\ 0.0 \\end{bmatrix}x1​=x0​+Δx1​=[12​]+[−0.2−2.0​]=[0.80.0​] 답: Δx1=[−0.2−2.0],x1=[0.80.0]\\Delta x_1 = \\begin{bmatrix} -0.2 \\\\ -2.0 \\end{bmatrix}, \\quad x_1 = \\begin{bmatrix} 0.8 \\\\ 0.0 \\end{bmatrix}Δx1​=[−0.2−2.0​],x1​=[0.80.0​] [문제 4] (확률적 경사하강법 미니배치) 데이터셋이 4개의 샘플 손실 f1(w)=(w−1)2f_1(w) = (w-1)^2f1​(w)=(w−1)2, f2(w)=(w−2)2f_2(w) = (w-2)^2f2​(w)=(w−2)2, f3(w)=(w−4)2f_3(w) = (w-4)^2f3​(w)=(w−4)2, f4(w)=(w−5)2f_4(w) = (w-5)^2f4​(w)=(w−5)2로 이루어져 있다. 현재 w=0w = 0w=0에서 미니배치 S={1,4}S = \\{1, 4\\}S={1,4}가 선택되었을 때의 미니배치 그래디언트 ∇fS(0)\\nabla f_S(0)∇fS​(0)와, 전체 데이터의 참 그래디언트 ∇f(0)\\nabla f(0)∇f(0)를 비교하시오.\n[풀이]\n각 샘플의 그래디언트: fi′(w)=2(w−yi) ⟹ fi′(0)=−2yif_i\u0026#x27;(w) = 2(w - y_i) \\implies f_i\u0026#x27;(0) = -2y_ifi′​(w)=2(w−yi​)⟹fi′​(0)=−2yi​. f1′(0)=−2(1)=−2f_1\u0026#x27;(0) = -2(1) = -2f1′​(0)=−2(1)=−2 f2′(0)=−2(2)=−4f_2\u0026#x27;(0) = -2(2) = -4f2′​(0)=−2(2)=−4 f3′(0)=−2(4)=−8f_3\u0026#x27;(0) = -2(4) = -8f3′​(0)=−2(4)=−8 f4′(0)=−2(5)=−10f_4\u0026#x27;(0) = -2(5) = -10f4′​(0)=−2(5)=−10 미니배치 S={1,4}S = \\{1, 4\\}S={1,4} 그래디언트: ∇fS(0)=f1′(0)+f4′(0)2=−2+(−10)2=−6\\nabla f_S(0) = \\frac{f_1\u0026#x27;(0) + f_4\u0026#x27;(0)}{2} = \\frac{-2 + (-10)}{2} = -6∇fS​(0)=2f1′​(0)+f4′​(0)​=2−2+(−10)​=−6 전체 참 그래디언트: ∇f(0)=−2+(−4)+(−8)+(−10)4=−244=−6\\nabla f(0) = \\frac{-2 + (-4) + (-8) + (-10)}{4} = \\frac{-24}{4} = -6∇f(0)=4−2+(−4)+(−8)+(−10)​=4−24​=−6 답: ∇fS(0)=−6\\nabla f_S(0) = -6∇fS​(0)=−6, ∇f(0)=−6\\nabla f(0) = -6∇f(0)=−6 (미니배치 평균이 참 그래디언트와 정확히 일치함) [문제 5] (등식 제약 라그랑주 승수법) 원 x12+x22=25x_1^2 + x_2^2 = 25x12​+x22​=25 위의 점에서 선형 함수 f(x1,x2)=3x1+4x2f(x_1, x_2) = 3x_1 + 4x_2f(x1​,x2​)=3x1​+4x2​의 최솟값과 그때의 좌표, 라그랑주 승수 λ\\lambdaλ를 구하시오.\n[풀이]\n라그랑지안 구성: L(x1,x2,λ)=3x1+4x2+λ(x12+x22−25)\\mathfrak{L}(x_1, x_2, \\lambda) = 3x_1 + 4x_2 + \\lambda(x_1^2 + x_2^2 - 25)L(x1​,x2​,λ)=3x1​+4x2​+λ(x12​+x22​−25) 정류 조건: ∂L∂x1=3+2λx1=0 ⟹ x1=−32λ\\frac{\\partial \\mathfrak{L}}{\\partial x_1} = 3 + 2\\lambda x_1 = 0 \\implies x_1 = -\\frac{3}{2\\lambda}∂x1​∂L​=3+2λx1​=0⟹x1​=−2λ3​ ∂L∂x2=4+2λx2=0 ⟹ x2=−42λ\\frac{\\partial \\mathfrak{L}}{\\partial x_2} = 4 + 2\\lambda x_2 = 0 \\implies x_2 = -\\frac{4}{2\\lambda}∂x2​∂L​=4+2λx2​=0⟹x2​=−2λ4​ 제약식 대입: x12+x22=94λ2+164λ2=254λ2=25 ⟹ 4λ2=1 ⟹ λ=±12x_1^2 + x_2^2 = \\frac{9}{4\\lambda^2} + \\frac{16}{4\\lambda^2} = \\frac{25}{4\\lambda^2} = 25 \\implies 4\\lambda^2 = 1 \\implies \\lambda = \\pm \\frac{1}{2}x12​+x22​=4λ29​+4λ216​=4λ225​=25⟹4λ2=1⟹λ=±21​ 최솟값 판별: λ=12\\lambda = \\frac{1}{2}λ=21​일 때: x1=−3,x2=−4 ⟹ f(−3,−4)=−9−16=−25x_1 = -3, x_2 = -4 \\implies f(-3, -4) = -9 - 16 = -25x1​=−3,x2​=−4⟹f(−3,−4)=−9−16=−25. λ=−12\\lambda = -\\frac{1}{2}λ=−21​일 때: x1=3,x2=4 ⟹ f(3,4)=9+16=25x_1 = 3, x_2 = 4 \\implies f(3, 4) = 9 + 16 = 25x1​=3,x2​=4⟹f(3,4)=9+16=25 (최댓값). 답: 최솟값 −25-25−25, 최적점 (−3,−4)(-3, -4)(−3,−4), 라그랑주 승수 λ=12\\lambda = \\frac{1}{2}λ=21​ [문제 6] (부등식 제약 KKT 풀이) 문제: min⁡x1,x2(x1−1)2+(x2−2)2 subject to x1+x2≤1,x1≥0,x2≥0\\min_{x_1, x_2} (x_1 - 1)^2 + (x_2 - 2)^2 \\text{ subject to } x_1 + x_2 \\le 1, x_1 \\ge 0, x_2 \\ge 0minx1​,x2​​(x1​−1)2+(x2​−2)2 subject to x1​+x2​≤1,x1​≥0,x2​≥0. 최적해와 라그랑주 승수를 구하시오.\n[풀이]\n무제약 최솟값은 (1,2)(1, 2)(1,2)이지만, 1+2=3\u0026gt;11 + 2 = 3 \u0026gt; 11+2=3\u0026gt;1이므로 제약을 위반한다. 따라서 경계 x1+x2=1x_1 + x_2 = 1x1​+x2​=1이 활성화된다. x1≥0,x2≥0x_1 \\ge 0, x_2 \\ge 0x1​≥0,x2​≥0의 경계 가능성을 포함하여 라그랑지안 구성: L=(x1−1)2+(x2−2)2+λ(x1+x2−1)−μ1x1−μ2x2\\mathfrak{L} = (x_1 - 1)^2 + (x_2 - 2)^2 + \\lambda(x_1 + x_2 - 1) - \\mu_1 x_1 - \\mu_2 x_2L=(x1​−1)2+(x2​−2)2+λ(x1​+x2​−1)−μ1​x1​−μ2​x2​ 활성 제약 x1+x2=1x_1 + x_2 = 1x1​+x2​=1에 대해 λ\u0026gt;0\\lambda \u0026gt; 0λ\u0026gt;0, 내부 x1\u0026gt;0,x2\u0026gt;0x_1 \u0026gt; 0, x_2 \u0026gt; 0x1​\u0026gt;0,x2​\u0026gt;0 가정 (μ1=μ2=0\\mu_1 = \\mu_2 = 0μ1​=μ2​=0): ∂L∂x1=2(x1−1)+λ=0 ⟹ x1=1−λ2\\frac{\\partial \\mathfrak{L}}{\\partial x_1} = 2(x_1 - 1) + \\lambda = 0 \\implies x_1 = 1 - \\frac{\\lambda}{2}∂x1​∂L​=2(x1​−1)+λ=0⟹x1​=1−2λ​ ∂L∂x2=2(x2−2)+λ=0 ⟹ x2=2−λ2\\frac{\\partial \\mathfrak{L}}{\\partial x_2} = 2(x_2 - 2) + \\lambda = 0 \\implies x_2 = 2 - \\frac{\\lambda}{2}∂x2​∂L​=2(x2​−2)+λ=0⟹x2​=2−2λ​ x1+x2=3−λ=1 ⟹ λ=2x_1 + x_2 = 3 - \\lambda = 1 \\implies \\lambda = 2x1​+x2​=3−λ=1⟹λ=2 ⟹ x1=1−1=0,x2=2−1=1\\implies x_1 = 1 - 1 = 0, \\quad x_2 = 2 - 1 = 1⟹x1​=1−1=0,x2​=2−1=1 검증: x1=0x_1 = 0x1​=0이 경계에 걸쳤으므로 μ1≥0\\mu_1 \\ge 0μ1​≥0 확인: 2(0−1)+2−μ1=0 ⟹ μ1=02(0 - 1) + 2 - \\mu_1 = 0 \\implies \\mu_1 = 02(0−1)+2−μ1​=0⟹μ1​=0. 모든 KKT 조건 만족! 답: 최적해 (x1∗,x2∗)=(0,1)(x_1^*, x_2^*) = (0, 1)(x1∗​,x2∗​)=(0,1), 승수 λ=2\\lambda = 2λ=2 [문제 7] (1차원 SVM의 KKT 조건과 서포트 벡터) 1차원 공간에 두 데이터 포인트 x1=1x_1 = 1x1​=1 (라벨 y1=−1y_1 = -1y1​=−1)과 x2=3x_2 = 3x2​=3 (라벨 y2=+1y_2 = +1y2​=+1)이 있다. 하드 마진 SVM의 원 문제 min⁡w,b12w2 s.t. yi(wxi+b)≥1\\min_{w, b} \\frac{1}{2}w^2 \\text{ s.t. } y_i(w x_i + b) \\ge 1minw,b​21​w2 s.t. yi​(wxi​+b)≥1을 KKT 조건을 이용하여 풀고, 서포트 벡터와 마진 너비를 구하시오.\n[풀이]\n제약식: 데이터 1: −1(w(1)+b)≥1 ⟹ −w−b≥1 ⟹ w+b+1≤0-1(w(1) + b) \\ge 1 \\implies -w - b \\ge 1 \\implies w + b + 1 \\le 0−1(w(1)+b)≥1⟹−w−b≥1⟹w+b+1≤0 데이터 2: +1(w(3)+b)≥1 ⟹ 3w+b≥1 ⟹ 1−3w−b≤0+1(w(3) + b) \\ge 1 \\implies 3w + b \\ge 1 \\implies 1 - 3w - b \\le 0+1(w(3)+b)≥1⟹3w+b≥1⟹1−3w−b≤0 라그랑지안: L(w,b,α)=12w2+α1(w+b+1)+α2(1−3w−b)\\mathfrak{L}(w, b, \\alpha) = \\frac{1}{2}w^2 + \\alpha_1 (w + b + 1) + \\alpha_2 (1 - 3w - b)L(w,b,α)=21​w2+α1​(w+b+1)+α2​(1−3w−b) 정류 조건: ∂L∂w=w+α1−3α2=0 ⟹ w=3α2−α1\\frac{\\partial \\mathfrak{L}}{\\partial w} = w + \\alpha_1 - 3\\alpha_2 = 0 \\implies w = 3\\alpha_2 - \\alpha_1∂w∂L​=w+α1​−3α2​=0⟹w=3α2​−α1​ ∂L∂b=α1−α2=0 ⟹ α1=α2\\frac{\\partial \\mathfrak{L}}{\\partial b} = \\alpha_1 - \\alpha_2 = 0 \\implies \\alpha_1 = \\alpha_2∂b∂L​=α1​−α2​=0⟹α1​=α2​ 따라서 α1=α2=α\\alpha_1 = \\alpha_2 = \\alphaα1​=α2​=α라 하면, w=3α−α=2αw = 3\\alpha - \\alpha = 2\\alphaw=3α−α=2α. 두 제약이 모두 경계에서 활성화됨 (α\u0026gt;0\\alpha \u0026gt; 0α\u0026gt;0): w+b=−1w + b = -1w+b=−1 이고 3w+b=13w + b = 13w+b=1. 아래 식에서 위 식을 빼면: 2w=2 ⟹ w∗=12w = 2 \\implies w^* = 12w=2⟹w∗=1. b∗=−1−w=−2b^* = -1 - w = -2b∗=−1−w=−2. 승수: 2α=1 ⟹ α1∗=α2∗=12\u0026gt;02\\alpha = 1 \\implies \\alpha_1^* = \\alpha_2^* = \\frac{1}{2} \u0026gt; 02α=1⟹α1∗​=α2∗​=21​\u0026gt;0. 해석: 두 데이터 모두 αi\u0026gt;0\\alpha_i \u0026gt; 0αi​\u0026gt;0이므로 둘 다 서포트 벡터이다. 결정 경계: wx+b=x−2=0 ⟹ x=2w x + b = x - 2 = 0 \\implies x = 2wx+b=x−2=0⟹x=2. 마진 너비: 2∣w∣=21=2\\frac{2}{|w|} = \\frac{2}{1} = 2∣w∣2​=12​=2. 답: w∗=1,b∗=−2,α1=α2=0.5w^* = 1, b^* = -2, \\alpha_1 = \\alpha_2 = 0.5w∗=1,b∗=−2,α1​=α2​=0.5, 두 점 모두 서포트 벡터, 마진 너비 2 [문제 8] (볼록 함수 판정) 함수 f(x1,x2)=2x12−2x1x2+x22+exp⁡(x1+x2)f(x_1, x_2) = 2x_1^2 - 2x_1 x_2 + x_2^2 + \\exp(x_1 + x_2)f(x1​,x2​)=2x12​−2x1​x2​+x22​+exp(x1​+x2​)가 R2\\mathbb{R}^2R2 전체에서 볼록 함수인지 판정하시오.\n[풀이]\n함수를 f=fA+fBf = f_A + f_Bf=fA​+fB​로 분해: fA(x1,x2)=2x12−2x1x2+x22f_A(x_1, x_2) = 2x_1^2 - 2x_1 x_2 + x_2^2fA​(x1​,x2​)=2x12​−2x1​x2​+x22​, fB(x1,x2)=exp⁡(x1+x2)f_B(x_1, x_2) = \\exp(x_1 + x_2)fB​(x1​,x2​)=exp(x1​+x2​). fAf_AfA​의 헤시안: HA=[4−2−22]H_A = \\begin{bmatrix} 4 \u0026amp; -2 \\\\ -2 \u0026amp; 2 \\end{bmatrix}HA​=[4−2​−22​] 주소행렬식: 4\u0026gt;04 \u0026gt; 04\u0026gt;0, det⁡(HA)=8−4=4\u0026gt;0\\det(H_A) = 8 - 4 = 4 \u0026gt; 0det(HA​)=8−4=4\u0026gt;0. 따라서 HA≻0H_A \\succ 0HA​≻0 (엄격한 양의정부호 행렬, 볼록 함수). fBf_BfB​의 헤시안: HB=exp⁡(x1+x2)[1111]H_B = \\exp(x_1 + x_2) \\begin{bmatrix} 1 \u0026amp; 1 \\\\ 1 \u0026amp; 1 \\end{bmatrix}HB​=exp(x1​+x2​)[11​11​] 임의의 벡터 v=[v1,v2]⊤v = [v_1, v_2]^\\topv=[v1​,v2​]⊤에 대해 v⊤HBv=exp⁡(x1+x2)(v1+v2)2≥0v^\\top H_B v = \\exp(x_1 + x_2)(v_1 + v_2)^2 \\ge 0v⊤HB​v=exp(x1​+x2​)(v1​+v2​)2≥0. 따라서 HB⪰0H_B \\succeq 0HB​⪰0 (반양의정부호, 볼록 함수). 볼록 함수의 합은 볼록 함수이므로, f=fA+fBf = f_A + f_Bf=fA​+fB​는 볼록 함수이다. 답: 볼록 함수이다 (헤시안이 양의정부호 행렬과 반양의정부호 행렬의 합으로 양의정부호임) [문제 9] (볼록 켤레 함수 계산) 1차원 함수 f(x)=14x4f(x) = \\frac{1}{4}x^4f(x)=41​x4 (x∈Rx \\in \\mathbb{R}x∈R)의 볼록 켤레 함수 f∗(s)f^*(s)f∗(s)를 구하시오.\n[풀이]\n정의: f∗(s)=sup⁡x∈R(sx−14x4)f^*(s) = \\sup_{x \\in \\mathbb{R}} (sx - \\frac{1}{4}x^4)f∗(s)=supx∈R​(sx−41​x4). 미분하여 극대점 찾기: ddx(sx−14x4)=s−x3=0 ⟹ x∗=s1/3\\frac{d}{dx}\\left(sx - \\frac{1}{4}x^4\\right) = s - x^3 = 0 \\implies x^* = s^{1/3}dxd​(sx−41​x4)=s−x3=0⟹x∗=s1/3 대입: f∗(s)=s(s1/3)−14(s1/3)4=s4/3−14s4/3=34s4/3f^*(s) = s(s^{1/3}) - \\frac{1}{4}(s^{1/3})^4 = s^{4/3} - \\frac{1}{4}s^{4/3} = \\frac{3}{4}s^{4/3}f∗(s)=s(s1/3)−41​(s1/3)4=s4/3−41​s4/3=43​s4/3 답: f∗(s)=34∣s∣4/3f^*(s) = \\frac{3}{4}|s|^{4/3}f∗(s)=43​∣s∣4/3 (s\u0026lt;0s\u0026lt;0s\u0026lt;0이어도 s1/3s^{1/3}s1/3이 실수라 같은 식이 성립한다) [문제 10] (Fenchel-Young 부등식 검증) f(x)=12x2f(x) = \\frac{1}{2}x^2f(x)=21​x2에 대해 f∗(s)=12s2f^*(s) = \\frac{1}{2}s^2f∗(s)=21​s2이다. (1) Fenchel-Young 부등식을 적고, (2) 임의의 실수 x,sx, sx,s에 대해 부등식이 성립함을 산술-기하 평균 또는 완전제곱식으로 증명하시오.\n[풀이]\n부등식: sx≤f(x)+f∗(s)=12x2+12s2sx \\le f(x) + f^*(s) = \\frac{1}{2}x^2 + \\frac{1}{2}s^2sx≤f(x)+f∗(s)=21​x2+21​s2. 증명: (12x2+12s2)−sx=12(x2−2sx+s2)=12(x−s)2≥0\\left(\\frac{1}{2}x^2 + \\frac{1}{2}s^2\\right) - sx = \\frac{1}{2}(x^2 - 2sx + s^2) = \\frac{1}{2}(x - s)^2 \\ge 0(21​x2+21​s2)−sx=21​(x2−2sx+s2)=21​(x−s)2≥0 실수의 제곱은 항상 0 이상이므로 부등식이 항상 성립한다. 등호는 x=sx = sx=s, 즉 s=f′(x)=xs = f\u0026#x27;(x) = xs=f′(x)=x일 때 정확히 성립한다. 답: 12(x−s)2≥0\\frac{1}{2}(x - s)^2 \\ge 021​(x−s)2≥0이므로 항상 성립하며, 등호는 s=xs = xs=x일 때 성립 교재 연습문제 안내 (Exercises 7.1 ~ 7.11) 7.1 (3차 다항식의 정류점 및 극대/극소/안장점 판정)\n문제 요약: f(x)=x3+6x2−3x−5f(x) = x^3 + 6x^2 - 3x - 5f(x)=x3+6x2−3x−5의 정류점을 찾고 극대, 극소, 안장점 여부를 판별하라. 풀이: f′(x)=3x2+12x−3=0 ⟹ x2+4x−1=0f\u0026#x27;(x) = 3x^2 + 12x - 3 = 0 \\implies x^2 + 4x - 1 = 0f′(x)=3x2+12x−3=0⟹x2+4x−1=0. 근의 공식에 의해 x=−2±5x = -2 \\pm \\sqrt{5}x=−2±5​. 2계 도함수 f′′(x)=6x+12=6(x+2)f\u0026#x27;\u0026#x27;(x) = 6x + 12 = 6(x + 2)f′′(x)=6x+12=6(x+2). x=−2−5≈−4.236x = -2 - \\sqrt{5} \\approx -4.236x=−2−5​≈−4.236: f′′=−65\u0026lt;0 ⟹ f\u0026#x27;\u0026#x27; = -6\\sqrt{5} \u0026lt; 0 \\impliesf′′=−65​\u0026lt;0⟹ 국소 극댓값(local maximum). x=−2+5≈0.236x = -2 + \\sqrt{5} \\approx 0.236x=−2+5​≈0.236: f′′=65\u0026gt;0 ⟹ f\u0026#x27;\u0026#x27; = 6\\sqrt{5} \u0026gt; 0 \\impliesf′′=65​\u0026gt;0⟹ 국소 극솟값(local minimum). 7.2 (미니배치 크기 1인 SGD 업데이트 식 전개)\n문제 요약: 교재 식 (7.15)의 SGD 업데이트 식에서 미니배치 크기가 1일 때의 식을 작성하라. 풀이: ttt번째 단계에서 균등 확률로 뽑힌 단일 샘플 인덱스를 it∈{1,…,N}i_t \\in \\{1, \\dots, N\\}it​∈{1,…,N}이라 하면: xt+1=xt−γt(∇fit(xt))⊤x_{t+1} = x_t - \\gamma_t (\\nabla f_{i_t}(x_t))^\\topxt+1​=xt​−γt​(∇fit​​(xt​))⊤ 7.3 (볼록 집합의 연산 성질 참/거짓 판정)\n문제 요약: 다음 명제의 참/거짓을 판별하라: (a) 두 볼록 집합의 교집합은 볼록이다. (b) 두 볼록 집합의 합집합은 볼록이다. (c) 볼록 집합 AAA에서 볼록 집합 BBB를 뺀 차집합 A∖BA \\setminus BA∖B는 볼록이다. 풀이: (a) 참 (True): x,y∈A∩Bx, y \\in A \\cap Bx,y∈A∩B이면 x,y∈Ax, y \\in Ax,y∈A이므로 선분이 AAA에 속하고, 동시에 BBB에도 속하므로 교집합에 속함. (b) 거짓 (False): 분리된 두 원의 합집합을 생각하면 두 원 사이의 선분이 집합 밖으로 나감. (c) 거짓 (False): 큰 원에서 중심의 작은 원을 빼면 도넛(annulus) 모양이 되어 볼록하지 않음. 7.4 (볼록 함수의 연산 성질 참/거짓 판정)\n문제 요약: 다음 명제의 참/거짓을 판별하라: (a) 합 f+gf + gf+g, (b) 차 f−gf - gf−g, (c) 곱 fgfgfg, (d) 최댓값 max⁡(f,g)\\max(f, g)max(f,g). 풀이: (a) 참 (True): 비음수 가중치 합은 볼록성을 보존함. (b) 거짓 (False): f(x)=x2,g(x)=2x2f(x) = x^2, g(x) = 2x^2f(x)=x2,g(x)=2x2이면 f−g=−x2f - g = -x^2f−g=−x2으로 오목 함수가 됨. (c) 거짓 (False): 반례 f(x)=xf(x) = xf(x)=x(선형이라 볼록), g(x)=x2g(x) = x^2g(x)=x2(볼록). 곱 x3x^3x3은 x\u0026lt;0x\u0026lt;0x\u0026lt;0에서 오목이라 볼록이 아니다. (d) 참 (True): max⁡(f,g)\\max(f, g)max(f,g)의 에피그래프는 두 에피그래프의 교집합이므로 항상 볼록임. 7.5 (표준형 선형 계획법 행렬식 변환)\n문제 요약: max⁡x∈R2,ξ∈Rp⊤x+ξ s.t. ξ≥0,x0≤0,x1≤3\\max_{x \\in \\mathbb{R}^2, \\xi \\in \\mathbb{R}} p^\\top x + \\xi \\text{ s.t. } \\xi \\ge 0, x_0 \\le 0, x_1 \\le 3maxx∈R2,ξ∈R​p⊤x+ξ s.t. ξ≥0,x0​≤0,x1​≤3을 표준형 LP로 변환하라. 풀이: 표준형 min⁡c~⊤z s.t. Az≤b\\min \\tilde{c}^\\top z \\text{ s.t. } A z \\le bminc~⊤z s.t. Az≤b. 변수를 z=[x0x1ξ]∈R3z = \\begin{bmatrix} x_0 \\\\ x_1 \\\\ \\xi \\end{bmatrix} \\in \\mathbb{R}^3z=​x0​x1​ξ​​∈R3으로 정의. max⁡p⊤x+ξ ⟺ min⁡−p0x0−p1x1−ξ ⟹ c~=[−p0−p1−1]\\max p^\\top x + \\xi \\iff \\min -p_0 x_0 - p_1 x_1 - \\xi \\implies \\tilde{c} = \\begin{bmatrix} -p_0 \\\\ -p_1 \\\\ -1 \\end{bmatrix}maxp⊤x+ξ⟺min−p0​x0​−p1​x1​−ξ⟹c~=​−p0​−p1​−1​​. 제약조건: ξ≥0 ⟺ −ξ≤0\\xi \\ge 0 \\iff -\\xi \\le 0ξ≥0⟺−ξ≤0, x0≤0x_0 \\le 0x0​≤0, x1≤3x_1 \\le 3x1​≤3. A=[10001000−1],b=[030]A = \\begin{bmatrix} 1 \u0026amp; 0 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \u0026amp; 0 \\\\ 0 \u0026amp; 0 \u0026amp; -1 \\end{bmatrix}, \\quad b = \\begin{bmatrix} 0 \\\\ 3 \\\\ 0 \\end{bmatrix}A=​100​010​00−1​​,b=​030​​ 7.6 (그림 7.9 LP의 라그랑주 쌍대 문제 유도)\n문제 요약: min⁡−5x1−3x2\\min -5x_1 - 3x_2min−5x1​−3x2​ subject to Ax≤bAx \\le bAx≤b, A=[222−4−210−101]A=\\begin{bmatrix}2\u0026amp;2\\\\2\u0026amp;-4\\\\-2\u0026amp;1\\\\0\u0026amp;-1\\\\0\u0026amp;1\\end{bmatrix}A=​22−200​2−41−11​​, b=[33,8,5,−1,8]⊤b=[33,8,5,-1,8]^\\topb=[33,8,5,−1,8]⊤ (교재 예제 7.5와 같은 LP)의 쌍대 LP를 유도하라. 풀이: 유도 2의 공식에 따라, 원 문제 c=[−5−3]c = \\begin{bmatrix} -5 \\\\ -3 \\end{bmatrix}c=[−5−3​]에 대해 쌍대 문제는: max⁡λ∈R5−b⊤λsubject toA⊤λ=[53],λ≥0\\max_{\\lambda \\in \\mathbb{R}^5} -b^\\top \\lambda \\quad \\text{subject to} \\quad A^\\top \\lambda = \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix}, \\quad \\lambda \\ge 0maxλ∈R5​−b⊤λsubject toA⊤λ=[53​],λ≥0 7.7 (그림 7.4 QP의 라그랑주 쌍대 문제 유도)\n문제 요약: Q=[2114],c=[53]Q = \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 4 \\end{bmatrix}, c = \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix}Q=[21​14​],c=[53​]이고 [−1,1]2[-1, 1]^2[−1,1]2 박스 제약을 갖는 QP의 쌍대 문제를 유도하라. 풀이: Q−1=17[4−1−12]Q^{-1} = \\frac{1}{7}\\begin{bmatrix} 4 \u0026amp; -1 \\\\ -1 \u0026amp; 2 \\end{bmatrix}Q−1=71​[4−1​−12​]를 계산하고, 유도 3의 쌍대 목적함수 D(λ)=−12(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ\\mathfrak{D}(\\lambda) = -\\frac{1}{2}(c + A^\\top \\lambda)^\\top Q^{-1}(c + A^\\top \\lambda) - b^\\top \\lambdaD(λ)=−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ를 구성하여 max⁡λ≥0D(λ)\\max_{\\lambda \\ge 0} \\mathfrak{D}(\\lambda)maxλ≥0​D(λ)로 정리. 7.8 (노름 최소화 문제의 라그랑주 쌍대 유도)\n문제 요약: min⁡w∈RD12w⊤w s.t. w⊤x≥1\\min_{w \\in \\mathbb{R}^D} \\frac{1}{2}w^\\top w \\text{ s.t. } w^\\top x \\ge 1minw∈RD​21​w⊤w s.t. w⊤x≥1의 쌍대 문제를 유도하라. 풀이: 제약식 1−w⊤x≤01 - w^\\top x \\le 01−w⊤x≤0. 라그랑지안 L(w,λ)=12w⊤w+λ(1−w⊤x)\\mathfrak{L}(w, \\lambda) = \\frac{1}{2}w^\\top w + \\lambda(1 - w^\\top x)L(w,λ)=21​w⊤w+λ(1−w⊤x). ∇wL=w−λx=0 ⟹ w=λx\\nabla_w \\mathfrak{L} = w - \\lambda x = 0 \\implies w = \\lambda x∇w​L=w−λx=0⟹w=λx. 대입: D(λ)=12λ2x⊤x+λ−λ2x⊤x=λ−12λ2∥x∥2\\mathfrak{D}(\\lambda) = \\frac{1}{2}\\lambda^2 x^\\top x + \\lambda - \\lambda^2 x^\\top x = \\lambda - \\frac{1}{2}\\lambda^2 \\|x\\|^2D(λ)=21​λ2x⊤x+λ−λ2x⊤x=λ−21​λ2∥x∥2. 쌍대 문제: max⁡λ≥0λ−12λ2∥x∥2\\max_{\\lambda \\ge 0} \\lambda - \\frac{1}{2}\\lambda^2 \\|x\\|^2maxλ≥0​λ−21​λ2∥x∥2. (최적해 λ∗=1∥x∥2\\lambda^* = \\frac{1}{\\|x\\|^2}λ∗=∥x∥21​). 7.9 (음의 엔트로피의 볼록 켤레 함수 유도)\n문제 요약: f(x)=∑d=1Dxdlog⁡xdf(x) = \\sum_{d=1}^D x_d \\log x_df(x)=∑d=1D​xd​logxd​ (xd\u0026gt;0x_d \u0026gt; 0xd​\u0026gt;0)의 볼록 켤레 f∗(s)f^*(s)f∗(s)를 구하라. 풀이: f∗(s)=sup⁡x∑d=1D(sdxd−xdlog⁡xd)f^*(s) = \\sup_x \\sum_{d=1}^D (s_d x_d - x_d \\log x_d)f∗(s)=supx​∑d=1D​(sd​xd​−xd​logxd​). 각 ddd에 대해 미분: sd−(log⁡xd+1)=0 ⟹ log⁡xd=sd−1 ⟹ xd=exp⁡(sd−1)s_d - (\\log x_d + 1) = 0 \\implies \\log x_d = s_d - 1 \\implies x_d = \\exp(s_d - 1)sd​−(logxd​+1)=0⟹logxd​=sd​−1⟹xd​=exp(sd​−1). 대입: sdxd−xd(sd−1)=xd=exp⁡(sd−1)s_d x_d - x_d(s_d - 1) = x_d = \\exp(s_d - 1)sd​xd​−xd​(sd​−1)=xd​=exp(sd​−1). ∴f∗(s)=∑d=1Dexp⁡(sd−1)=1e∑d=1Dexp⁡(sd)\\therefore f^*(s) = \\sum_{d=1}^D \\exp(s_d - 1) = \\frac{1}{e} \\sum_{d=1}^D \\exp(s_d)∴f∗(s)=∑d=1D​exp(sd​−1)=e1​∑d=1D​exp(sd​) 7.10 (일반 2차 형식의 볼록 켤레 함수 유도)\n문제 요약: f(x)=12x⊤Ax+b⊤x+cf(x) = \\frac{1}{2}x^\\top A x + b^\\top x + cf(x)=21​x⊤Ax+b⊤x+c (A≻0A \\succ 0A≻0)의 볼록 켤레를 구하라. 풀이: s⊤x−f(x)=s⊤x−12x⊤Ax−b⊤x−cs^\\top x - f(x) = s^\\top x - \\frac{1}{2}x^\\top A x - b^\\top x - cs⊤x−f(x)=s⊤x−21​x⊤Ax−b⊤x−c. xxx에 대해 미분: s−Ax−b=0 ⟹ x∗=A−1(s−b)s - Ax - b = 0 \\implies x^* = A^{-1}(s - b)s−Ax−b=0⟹x∗=A−1(s−b). 대입하여 전개하면: f∗(s)=12(s−b)⊤A−1(s−b)−cf^*(s) = \\frac{1}{2}(s - b)^\\top A^{-1}(s - b) - cf∗(s)=21​(s−b)⊤A−1(s−b)−c 7.11 (SVM 힌지 손실의 볼록 켤레 및 Moreau 평활화)\n문제 요약: 힌지 손실 L(α)=max⁡{0,1−α}L(\\alpha) = \\max\\{0, 1 - \\alpha\\}L(α)=max{0,1−α}의 켤레 L∗(β)L^*(\\beta)L∗(β)를 구하고, ℓ2\\ell_2ℓ2​ 근접항을 더한 L∗(β)+γ2β2L^*(\\beta) + \\frac{\\gamma}{2}\\beta^2L∗(β)+2γ​β2의 켤레를 구하라. 풀이: L∗(β)=sup⁡α(βα−max⁡{0,1−α})L^*(\\beta) = \\sup_\\alpha (\\beta \\alpha - \\max\\{0, 1 - \\alpha\\})L∗(β)=supα​(βα−max{0,1−α}). β∉[−1,0]\\beta \\notin [-1, 0]β∈/[−1,0]이면 sup⁡=+∞\\sup = +\\inftysup=+∞. β∈[−1,0]\\beta \\in [-1, 0]β∈[−1,0]이면 α=1\\alpha = 1α=1에서 최댓값 β\\betaβ를 가짐. L∗(β)={βif −1≤β≤0+∞otherwiseL^*(\\beta) = \\begin{cases} \\beta \u0026amp; \\text{if } -1 \\le \\beta \\le 0 \\\\ +\\infty \u0026amp; \\text{otherwise} \\end{cases}L∗(β)={β+∞​if −1≤β≤0otherwise​ h(β)=L∗(β)+γ2β2=β+γ2β2h(\\beta) = L^*(\\beta) + \\frac{\\gamma}{2}\\beta^2 = \\beta + \\frac{\\gamma}{2}\\beta^2h(β)=L∗(β)+2γ​β2=β+2γ​β2 (for β∈[−1,0]\\beta \\in [-1, 0]β∈[−1,0]). h∗(u)=sup⁡β∈[−1,0][uβ−(β+γ2β2)]=sup⁡β∈[−1,0][(u−1)β−γ2β2]h^*(u) = \\sup_{\\beta \\in [-1, 0]} [u\\beta - (\\beta + \\frac{\\gamma}{2}\\beta^2)] = \\sup_{\\beta \\in [-1, 0]} [(u - 1)\\beta - \\frac{\\gamma}{2}\\beta^2]h∗(u)=supβ∈[−1,0]​[uβ−(β+2γ​β2)]=supβ∈[−1,0]​[(u−1)β−2γ​β2]. 무제약 최적점 β∗=u−1γ\\beta^* = \\frac{u-1}{\\gamma}β∗=γu−1​를 구간 [−1,0][-1, 0][−1,0]에 사영(projection)하면: h∗(u)={0if u\u0026gt;1(1−u)22γif 1−γ≤u≤11−u−γ2if u\u0026lt;1−γh^*(u) = \\begin{cases} 0 \u0026amp; \\text{if } u \u0026gt; 1 \\\\ \\frac{(1 - u)^2}{2\\gamma} \u0026amp; \\text{if } 1 - \\gamma \\le u \\le 1 \\\\ 1 - u - \\frac{\\gamma}{2} \u0026amp; \\text{if } u \u0026lt; 1 - \\gamma \\end{cases}h∗(u)=⎩⎨⎧​02γ(1−u)2​1−u−2γ​​if u\u0026gt;1if 1−γ≤u≤1if u\u0026lt;1−γ​ (힌지 손실의 꺾인 모서리가 2차 곡선으로 부드럽게 연결된 Huberized Hinge Loss가 도출됨!) 시험 직전 10분 요약 1. 최적화 핵심 공식 요약표 항목 수식 핵심 의미 / 주의점 경사하강법 갱신 xt+1=xt−γ(∇f(xt))⊤x_{t+1} = x_t - \\gamma (\\nabla f(x_t))^\\topxt+1​=xt​−γ(∇f(xt​))⊤ 전치 취해 열벡터 일치, 음의 그래디언트 방향 이동 최적 고정 보폭 γ∗=2λmin⁡+λmax⁡\\gamma^* = \\frac{2}{\\lambda_{\\min} + \\lambda_{\\max}}γ∗=λmin​+λmax​2​ 2차 문제에서 오차 수축률 κ−1κ+1\\frac{\\kappa - 1}{\\kappa + 1}κ+1κ−1​ 최소화 발산 방지 상한 γ\u0026lt;2λmax⁡\\gamma \u0026lt; \\frac{2}{\\lambda_{\\max}}γ\u0026lt;λmax​2​ 최대 고유값(곡률)의 역수의 2배 초과 시 발산 모멘텀 갱신 Δxt+1=αΔxt−γ(∇f(xt))⊤\\Delta x_{t+1} = \\alpha \\Delta x_t - \\gamma (\\nabla f(x_t))^\\topΔxt+1​=αΔxt​−γ(∇f(xt​))⊤ 직전 이동을 기억해 진동을 줄임 (식 7.11~7.12) Robbins-Monro (교재 밖) ∑γt=∞,∑γt2\u0026lt;∞\\sum \\gamma_t = \\infty, \\quad \\sum \\gamma_t^2 \u0026lt; \\infty∑γt​=∞,∑γt2​\u0026lt;∞ SGD 수렴 보장 조건, 예 γt=c/t\\gamma_t=c/tγt​=c/t KKT 4대 조건 (교재 밖) 1. ∇xL=0\\nabla_x \\mathfrak{L} = 0∇x​L=0, 2. gi≤0g_i \\le 0gi​≤0, 3. λi≥0\\lambda_i \\ge 0λi​≥0, 4. λigi=0\\lambda_i g_i = 0λi​gi​=0 볼록 문제(+ 제약 자격 조건)에서 최적성의 필요충분조건 약쌍대성/강쌍대성 d∗≤p∗d^* \\le p^*d∗≤p∗ (약), d∗=p∗d^* = p^*d∗=p∗ (강) 약쌍대성은 최소최대 부등식에서 나옴. 볼록 문제면 강쌍대성(교재 7.3) 볼록 켤레 함수 f∗(s)=sup⁡x(⟨s,x⟩−f(x))f^*(s) = \\sup_x (\\langle s, x \\rangle - f(x))f∗(s)=supx​(⟨s,x⟩−f(x)) 접선 기울기-절편 관점의 쌍대 변환, 항상 볼록 Fenchel-Young ⟨s,x⟩≤f(x)+f∗(s)\\langle s, x \\rangle \\le f(x) + f^*(s)⟨s,x⟩≤f(x)+f∗(s) 등호 성립 조건: s=∇f(x)s = \\nabla f(x)s=∇f(x) 2. KKT 상보 여유성 판정 체크리스트 gi(x∗)\u0026lt;0g_i(x^*) \u0026lt; 0gi​(x∗)\u0026lt;0 (제약이 느슨함) ⟹ λi∗=0\\implies \\lambda_i^* = 0⟹λi∗​=0 λi∗\u0026gt;0 ⟹ gi(x∗)=0\\lambda_i^* \u0026gt; 0 \\implies g_i(x^*) = 0λi∗​\u0026gt;0⟹gi​(x∗)=0 (제약이 꽉 낌, 최적해가 경계 위) gi(x∗)=0g_i(x^*) = 0gi​(x∗)=0이면서 λi∗=0\\lambda_i^* = 0λi∗​=0인 경우도 있다. 그래서 \u0026ldquo;경계 위에 있다\u0026quot;만으로 승수가 양수라고 할 수 없다. 12장 SVM 연계 판정: 마진 밖 안전한 점: yn(w⊤xn+b)\u0026gt;1 ⟹ αn=0y_n(w^\\top x_n + b) \u0026gt; 1 \\implies \\alpha_n = 0yn​(w⊤xn​+b)\u0026gt;1⟹αn​=0 (서포트 벡터 아님) 서포트 벡터: αn\u0026gt;0 ⟹ yn(w⊤xn+b)=1\\alpha_n \u0026gt; 0 \\implies y_n(w^\\top x_n + b) = 1αn​\u0026gt;0⟹yn​(w⊤xn​+b)=1 (하드 마진에서는 마진 경계 위). 거꾸로 경계 위의 점이라도 αn=0\\alpha_n = 0αn​=0일 수 있다. 3. 볼록 최적화 원 문제 vs 쌍대 문제 매핑 선형 계획법 (LP): Primal: min⁡c⊤x s.t. Ax≤b\\min c^\\top x \\text{ s.t. } Ax \\le bminc⊤x s.t. Ax≤b Dual: max⁡−b⊤λ s.t. A⊤λ+c=0,λ≥0\\max -b^\\top \\lambda \\text{ s.t. } A^\\top \\lambda + c = 0, \\lambda \\ge 0max−b⊤λ s.t. A⊤λ+c=0,λ≥0 2차 계획법 (QP): Primal: min⁡12x⊤Qx+c⊤x s.t. Ax≤b\\min \\frac{1}{2}x^\\top Q x + c^\\top x \\text{ s.t. } Ax \\le bmin21​x⊤Qx+c⊤x s.t. Ax≤b Dual: max⁡λ≥0−12(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ\\max_{\\lambda \\ge 0} -\\frac{1}{2}(c + A^\\top \\lambda)^\\top Q^{-1}(c + A^\\top \\lambda) - b^\\top \\lambdamaxλ≥0​−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ ","permalink":"https://qofo.github.io/posts/mml-ch07-continuous-optimization/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 쪽수\u003c/strong\u003e: 225~248쪽\u003cbr\u003e\n\u003cstrong\u003e교재 밖 보충:\u003c/strong\u003e MML 7장 본문에 없는 내용(KKT 4조건의 이름 붙인 정리, 슬레이터 조건, 립시츠 보폭 조건, 모멘텀의 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmsqrt\u003e\u003cmi\u003eκ\u003c/mi\u003e\u003c/msqrt\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\sqrt\\kappa\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:1.04em;vertical-align:-0.2397em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord sqrt\"\u003e\u003cspan class=\"vlist-t vlist-t2\"\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.8003em;\"\u003e\u003cspan class=\"svg-align\" style=\"top:-3em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:3em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"padding-left:0.833em;\"\u003eκ\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"top:-2.7603em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:3em;\"\u003e\u003c/span\u003e\u003cspan class=\"hide-tail\" style=\"min-width:0.853em;height:1.08em;\"\u003e\u003csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"400em\" height=\"1.08em\" viewBox=\"0 0 400000 1080\" preserveAspectRatio=\"xMinYMin slice\"\u003e\u003cpath d=\"M95,702\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl0 -0\nc5.3,-9.3,12,-14,20,-14\nH400000v40H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM834 80h400000v40h-400000z\"/\u003e\u003c/svg\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-s\"\u003e​\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.2397em;\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e 가속, 로빈스-먼로 조건)은 \u0026ldquo;(교재 밖 보충)\u0026ldquo;으로 표시했다. 교재 7.2는 라그랑지안과 쌍대성(최소최대 부등식, 약쌍대성) 중심이고, 등식 제약은 부등식 두 개로 바꿔 다룬다. KKT라는 이름은 12장 여백 주석에만 나온다.\u003cbr\u003e\n\u003cstrong\u003e이 장이 뒤쪽 장에서 쓰이는 위치\u003c/strong\u003e: 머신러닝의 \u0026lsquo;학습(Learning)\u0026lsquo;은 거의 예외 없이 목적함수를 최소화하는 연속 최적화 문제입니다. 8장의 경험적 위험 최소화(ERM) 및 MLE/MAP 파라미터 추정, 9장의 선형 회귀 정규방정식 및 경사하강법, 10장의 주성분 분석(PCA) 제약 최적화, 11장의 가우스 혼합 모델(GMM) 잠재변수 최적화, 그리고 특히 \u003cstrong\u003e12장의 서포트 벡터 머신(SVM)\u003c/strong\u003e은 7장의 KKT 조건, 라그랑주 쌍대성(Lagrangian Duality), 2차 계획법(QP), 볼록 켤레 함수(Convex Conjugate)를 그대로 직접 적용하는 집대성입니다.\u003c/p\u003e","title":"MML 7장 연속최적화: 경사하강법, 라그랑주 승수, 볼록 최적화"},{"content":"6편에서 감시 데몬을 다시 만들고 \u0026ldquo;재부팅까지 시험해야 한다\u0026quot;고 정리했다. 그날 밤 폰을 재부팅했더니 블로그 주소에 ngrok의 ERR_NGROK_3200(엔드포인트 오프라인) 오류 페이지가 떴다.\n터널이 없다는 뜻이다. 그런데 감시 데몬은 아무것도 하지 않았다. 이 글은 프로세스는 살아 있는데 일을 하지 않는 장애의 분석과, 원인을 끝내 확정하지 못한 채 선택한 대응 기록이다.\n로그로 본 23분 ngrok은 기동하면서 몇 줄의 로그를 남긴다. 정상적인 기동은 이렇다(같은 날 다른 재부팅에서 가져왔다).\n14:10:25 msg=\u0026#34;no configuration paths supplied\u0026#34; 14:10:25 msg=\u0026#34;using configuration at default config path\u0026#34; 14:10:25 msg=\u0026#34;open config file\u0026#34; err=\u0026lt;nil\u0026gt; 14:10:26 msg=\u0026#34;FIPS 140 mode\u0026#34; enabled=false 14:10:26 msg=\u0026#34;starting web service\u0026#34; obj=web ← 로컬 관리 API(4040) 열림 14:10:27 msg=\u0026#34;client session established\u0026#34; ← ngrok 서버와 연결 14:10:27 msg=\u0026#34;started tunnel\u0026#34; url=https://daringly-marrow-penny.ngrok-free.dev 설정을 읽고, 로컬 관리 API를 열고, 서버에 붙어 터널을 연다. 2초면 끝난다. 문제의 재부팅 직후 로그는 이랬다.\n13:16:29 msg=\u0026#34;no configuration paths supplied\u0026#34; 13:16:29 msg=\u0026#34;using configuration at default config path\u0026#34; 13:16:29 msg=\u0026#34;open config file\u0026#34; err=\u0026lt;nil\u0026gt; 13:16:30 msg=\u0026#34;FIPS 140 mode\u0026#34; enabled=false 13:39:19 msg=\u0026#34;no configuration paths supplied\u0026#34; ← 23분 뒤, restart 명령으로 교체 FIPS 140 mode 다음 줄이 23분 동안 나오지 않았다. 관리 API를 열었다는 줄도, 서버에 붙었다는 줄도 없다. 프로세스는 죽지 않았다. 그 자리에서 멈춰 있었다.\n같은 23분 동안 감시 데몬 로그는 비어 있다.\n[2026-09-18 13:16:28] [DAEMON] Supervisor started (pid 13477) [2026-09-18 13:16:28] [START] blog (pid 13508) [2026-09-18 13:16:29] [START] ngrok (pid 13511) [2026-09-18 13:39:19] [RESTART] Restart requested 감시 데몬이 본 것 당시의 판정 코드다.\nsupervise() { ... if child_alive \u0026#34;$pid\u0026#34;; then # 5분 넘게 살아 있으면 재시작 대기 시간을 초기화 [ \u0026#34;$up\u0026#34; -ge 300 ] \u0026amp;\u0026amp; DELAY[$name]=0 return fi ...크래시 처리... } child_alive는 /proc/\u0026lt;pid\u0026gt;/stat을 읽어 프로세스가 존재하고 좀비가 아닌지만 확인한다. 멈춘 ngrok은 이 조건을 완벽하게 통과한다. 6편에서 pgrep 이름 매칭을 걷어내고 PID 추적으로 바꾼 것은 옳았지만, PID 추적이 답하는 질문은 \u0026ldquo;살아 있는가\u0026quot;뿐이다. \u0026ldquo;일하고 있는가\u0026quot;는 묻지 않았다.\n상태 명령도 같은 한계가 있었다.\necho \u0026#34;ngrok Tunnel: [RUNNING] (PID $pid) - $NGROK_DOMAIN\u0026#34; pgrep으로 PID를 찾으면 도메인까지 붙여서 [RUNNING]을 출력했다. 방문자는 오류 페이지를 보고 있는데, 상태 명령은 공개 주소와 함께 정상이라고 답하고 있었다.\n첫 번째 가설: 부팅 직후의 네트워크 가장 그럴듯한 설명은 타이밍이었다. 안드로이드는 부팅 직후 Wi-Fi가 IP를 받고 DNS가 준비되기까지 시간이 걸린다. 그 사이에 기동한 ngrok이 네트워크 초기화 어딘가에서 영영 돌아오지 못했다는 가설이다. 실제로 재부팅 직전 로그에는 네트워크가 사라지면서 DNS 조회가 실패한 흔적이 있었다.\n13:13:55 lvl=eror msg=\u0026#34;failed to reconnect session\u0026#34; err=\u0026#34;failed to dial ngrok server ...: lookup connect.ngrok-agent.com on 8.8.4.4:53: ...\u0026#34; 그래서 ngrok을 띄우기 전에 ngrok 서버 이름이 풀리는지 먼저 확인하도록 했다.\nnetwork_ready() { timeout 3 getent hosts connect.ngrok-agent.com \u0026gt;/dev/null 2\u0026gt;\u0026amp;1 } spawn() { ... ngrok) if ! network_ready; then log \u0026#34;[WAIT] Network not ready for ngrok; delaying spawn by ${CHECK_INTERVAL}s\u0026#34; NEXT[ngrok]=$((SECONDS + CHECK_INTERVAL)) return fi ... 두 번째 재부팅: 가설이 틀렸다 이 수정과 함께 아래에서 설명할 능동 헬스체크를 넣고 다시 재부팅했다. 감시 데몬 로그다.\n[2026-09-18 13:52:49] [DAEMON] Supervisor started (pid 13080) [2026-09-18 13:52:49] [START] blog (pid 13118) [2026-09-18 13:52:49] [START] ngrok (pid 13150) [2026-09-18 13:53:21] [WARN] ngrok failed health check (32 seconds up, failure 1/3) [2026-09-18 13:53:32] [WARN] ngrok failed health check (43 seconds up, failure 2/3) [2026-09-18 13:53:44] [WARN] ngrok failed health check (54 seconds up, failure 3/3) [2026-09-18 13:53:44] [HUNG DETECTED] ngrok is unresponsive (pid 13150, up 54s); terminating... [2026-09-18 13:53:57] [START] ngrok (pid 14180) [WAIT] 줄이 없다. 네트워크 확인을 통과했다는 뜻이다. DNS가 풀리는 상태에서 기동했는데도 ngrok 로그는 또 같은 자리에서 멈췄다.\n13:52:49 msg=\u0026#34;open config file\u0026#34; err=\u0026lt;nil\u0026gt; 13:52:50 msg=\u0026#34;FIPS 140 mode\u0026#34; enabled=false 13:53:57 msg=\u0026#34;no configuration paths supplied\u0026#34; ← 감시 데몬이 강제로 교체 13:53:58 msg=\u0026#34;starting web service\u0026#34; obj=web 13:53:58 msg=\u0026#34;client session established\u0026#34; 13:53:59 msg=\u0026#34;started tunnel\u0026#34; url=https://daringly-marrow-penny.ngrok-free.dev 두 번째로 띄운 ngrok은 2초 만에 터널을 열었다. 부팅 직후 첫 기동만 멈추고, 1분 뒤의 두 번째 기동은 멀쩡하다. DNS가 풀리는데도 멈췄으니 \u0026ldquo;네트워크가 덜 준비됐다\u0026quot;는 가설로는 설명되지 않는다. 멈추는 지점도 걸린다. 로그 순서로 보면 로컬 관리 API를 열기 전, 그러니까 외부 서버에 붙는 단계보다 앞이다.\n원인은 아직 확정하지 못했다. 네트워크 확인은 남겨 두었지만(해가 없고, 실제로 네트워크가 없을 때 헛된 기동을 막는다) 이 장애를 막은 것은 그것이 아니었다. 막은 것은 멈춘 프로세스를 54초 만에 알아본 헬스체크다.\n능동 헬스체크 설계 원인을 모르는 장애는 예방할 수 없다. 대신 증상을 감지하면 원인과 상관없이 복구할 수 있다. 감시 데몬이 10초마다 각 서비스에 실제로 일을 시켜 보도록 바꿨다.\n무엇을 물을 것인가 서비스 질문 방법 블로그 페이지를 내주는가 curl http://localhost:8080/ → HTTP 200 ngrok 터널이 등록돼 있는가 curl http://127.0.0.1:4040/api/tunnels 응답에 공개 도메인이 있는가 blog_up() { [ \u0026#34;$(curl -s -o /dev/null -w \u0026#39;%{http_code}\u0026#39; --max-time 2 http://localhost:8080/)\u0026#34; = \u0026#34;200\u0026#34; ] } ngrok_up() { curl -s --max-time 2 http://127.0.0.1:4040/api/tunnels 2\u0026gt;/dev/null | grep -q \u0026#34;$NGROK_DOMAIN\u0026#34; } ngrok은 공개 주소가 아니라 로컬 관리 API로 확인한다. 공개 주소로 확인하면 폰의 인터넷, ngrok 엣지 서버, 무료 플랜 경고 페이지까지 한꺼번에 재게 된다. 실패해도 무엇이 고장인지 알 수 없고, 폰 쪽 프로세스를 죽여서 고칠 수 없는 원인(엣지 장애 등)에도 재시작을 반복하게 된다. 관리 API는 ngrok 에이전트 자신의 상태만 말해 준다. 이번 장애에서 멈춘 ngrok은 4040 포트조차 열지 못했으니 이 질문만으로 충분히 잡힌다.\n언제, 몇 번 실패하면 죽일 것인가 if child_alive \u0026#34;$pid\u0026#34;; then if [ \u0026#34;$up\u0026#34; -ge 30 ]; then # 기동 후 30초는 봐준다 case \u0026#34;$name\u0026#34; in blog) blog_up \u0026amp;\u0026amp; healthy=1 ;; ngrok) ngrok_up \u0026amp;\u0026amp; healthy=1 ;; esac if [ \u0026#34;$healthy\u0026#34; -eq 1 ]; then FAILED_HEALTH[$name]=0 else FAILED_HEALTH[$name]=$(( ${FAILED_HEALTH[$name]:-0} + 1 )) if [ \u0026#34;${FAILED_HEALTH[$name]}\u0026#34; -ge 3 ]; then # 연속 3회(약 30초) log \u0026#34;[HUNG DETECTED] ...\u0026#34; kill \u0026#34;$pid\u0026#34;; sleep 2 child_alive \u0026#34;$pid\u0026#34; \u0026amp;\u0026amp; kill -9 \u0026#34;$pid\u0026#34; ...크래시와 같은 재시작 대기(10초 → 최대 5분)... fi fi fi return fi 30초 유예. 정상 기동은 2초면 끝나지만, 느린 네트워크에서 서버 연결이 늦어지는 것까지 먹통으로 판정하면 멀쩡한 프로세스를 죽이게 된다. 연속 3회. 순간적인 지연 한 번으로 서비스를 교체하지 않는다. 한 번이라도 성공하면 카운터가 0으로 돌아간다. TERM 후 KILL. 멈춘 프로세스는 종료 신호도 처리하지 못할 수 있다. 2초 기다린 뒤 강제 종료한다. 크래시와 같은 백오프. 먹통이 반복되면 재시작 간격이 10초, 20초, 40초로 늘어난다. 고칠 수 없는 원인으로 재시작만 반복하는 루프를 막는다. 두 번째 재부팅에서 멈춘 ngrok은 기동 54초 만에 먹통으로 판정됐고, 13초 뒤 새 프로세스로 교체됐다. 23분이 1분 남짓이 됐다.\n상태 명령도 같은 질문을 하게 if ngrok_up; then echo \u0026#34;ngrok Tunnel: [RUNNING] (PID $pid) - $NGROK_DOMAIN (online)\u0026#34; else echo \u0026#34;ngrok Tunnel: [RUNNING] (PID $pid) - WARNING: tunnel offline/unresponsive\u0026#34; fi 이제 status는 PID만 보지 않고 헬스체크와 같은 관리 API의 답으로 online과 WARNING을 구분한다. 6편에서 \u0026ldquo;관측 값이 가짜면 없느니만 못하다\u0026quot;고 썼다. 공개 주소를 붙여 [RUNNING]을 찍던 상태 명령이 바로 그런 가짜 관측이었다.\n다운타임을 숫자로 \u0026ldquo;재부팅하면 금방 돌아온다\u0026quot;는 말은 숫자가 없으면 검증할 수 없다. 감시 데몬에 다운타임 기록을 붙였다.\n블로그와 ngrok이 둘 다 헬스체크를 통과한 루프마다 현재 시각을 하트비트 파일에 쓴다. 감시 데몬이 새로 뜰 때 하트비트가 20초 넘게 오래됐으면, 마지막 하트비트 시각을 중단 시작으로 본다. 폰이 꺼져 있던 동안에는 아무것도 기록할 수 없으니 역산하는 것이다. 두 서비스가 다시 정상이 되면 중단 시간과 사유를 downtime.log에 남긴다. stop, restart, 크래시, 먹통 감지는 그 시점에 바로 중단 시작을 기록한다. 세 번째 재부팅의 기록이다.\n[DOWNTIME] Service was unavailable for 162s (unexpected_shutdown_or_reboot, from 2026-09-18 14:07:55 UTC to 2026-09-18 14:10:37 UTC) 162초를 로그로 쪼개 보면 이렇다.\n시각 (UTC) 사건 출처 14:07:55 마지막 하트비트 (재부팅 직전) 하트비트 파일 14:10:23 Termux 쪽 런처가 감시 데몬 기동 요청 Termux boot_services.log 14:10:24 감시 데몬 기동 daemon.log 14:10:27 터널 개통 ngrok.log 14:10:37 복구 기록 (다음 감시 루프) downtime.log 162초 중 148초는 폰이 꺼졌다 켜져서 런처가 불리기까지의 시간이다. 서비스 쪽은 3초 만에 터널을 열었고, 기록이 10초 늦은 것은 감시 루프 주기 때문이다. 재부팅 다운타임을 줄이고 싶다면 고칠 곳은 서비스가 아니라 폰의 부팅이다.\n감시 루프 주기(10초)보다 정밀한 값이 필요할 때를 위해 바깥에서 0.5초 간격으로 주소를 찌르는 측정 스크립트(measure_downtime.py)도 따로 만들었다. 재부팅이나 재시작 직전에 켜 두면 끊긴 순간과 돌아온 순간을 잰다.\n덤: 같은 초에 두 번 불린 런처 두 번째 재부팅 때 Termux 쪽 런처 기록이다.\n[2026-09-18 22:52:48 KST] launching supervisor [2026-09-18 22:52:48 KST] launching supervisor 런처를 부르는 쪽은 여럿이다(부팅 스크립트, Termux 로그인 훅, 15분 감시 작업). 부팅 직후 그중 둘이 같은 초에 런처를 불렀고, 둘 다 \u0026ldquo;감시 데몬 없음\u0026quot;을 확인한 뒤 데몬을 띄웠다. 그래도 daemon.log의 Supervisor started는 한 줄뿐이다. 6편에서 넣은 flock 단일 실행 보장이 두 번째 인스턴스를 조용히 물렸다. 경쟁 조건은 \u0026ldquo;설마 동시에\u0026quot;가 아니라 부팅 직후처럼 모두가 한꺼번에 깨어나는 순간에 실제로 일어난다.\n남은 의문 세 번의 재부팅 중 두 번, 부팅 직후 첫 기동한 ngrok이 FIPS 140 mode 다음 단계로 넘어가지 못했다. 세 번째 재부팅에서는 멀쩡했다. 이유는 아직 모른다. 다음에 재현되면 멈춘 프로세스의 스레드 상태와 열려 있는 파일·소켓부터 떠 둘 생각이다. 원인을 찾으면 예방으로 바꾸고, 못 찾더라도 지금의 감지·복구는 원인과 무관하게 동작한다.\n정리 살아 있는 것과 일하는 것은 다르다. PID 확인은 \u0026ldquo;죽었는가\u0026quot;에만 답한다. 헬스체크는 서비스가 실제로 하는 일을 시켜 봐야 한다. 원인을 모르면 증상을 감지한다. 네트워크 가설에 기댄 예방은 두 번째 재부팅에서 빗나갔다. 증상 감지는 가설이 틀려도 동작했다. 헬스체크는 고칠 수 있는 범위만 재야 한다. ngrok을 공개 주소가 아니라 로컬 관리 API로 확인한 이유다. 재시작으로 고칠 수 없는 실패까지 재면 재시작 루프만 남는다. 상태 표시는 헬스체크와 같은 질문을 해야 한다. 다른 질문을 하는 상태 명령은 장애 중에도 정상이라고 답한다. 다운타임은 재야 줄일 수 있다. 재부팅 중단 162초의 91%는 서비스가 아니라 폰의 재부팅 자체였다. ","permalink":"https://qofo.github.io/posts/hung-ngrok-health-checks/","summary":"\u003cp\u003e\u003ca href=\"/posts/supervisor-postmortem/\"\u003e6편\u003c/a\u003e에서 감시 데몬을 다시 만들고 \u0026ldquo;재부팅까지 시험해야 한다\u0026quot;고 정리했다. 그날 밤 폰을 재부팅했더니 블로그 주소에 ngrok의 \u003ccode\u003eERR_NGROK_3200\u003c/code\u003e(엔드포인트 오프라인) 오류 페이지가 떴다.\u003c/p\u003e\n\u003cp\u003e터널이 없다는 뜻이다. 그런데 감시 데몬은 아무것도 하지 않았다. 이 글은 \u003cstrong\u003e프로세스는 살아 있는데 일을 하지 않는\u003c/strong\u003e 장애의 분석과, 원인을 끝내 확정하지 못한 채 선택한 대응 기록이다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"로그로-본-23분\"\u003e로그로 본 23분\u003c/h2\u003e\n\u003cp\u003engrok은 기동하면서 몇 줄의 로그를 남긴다. 정상적인 기동은 이렇다(같은 날 다른 재부팅에서 가져왔다).\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e14:10:25 msg=\u0026#34;no configuration paths supplied\u0026#34;\n14:10:25 msg=\u0026#34;using configuration at default config path\u0026#34;\n14:10:25 msg=\u0026#34;open config file\u0026#34; err=\u0026lt;nil\u0026gt;\n14:10:26 msg=\u0026#34;FIPS 140 mode\u0026#34; enabled=false\n14:10:26 msg=\u0026#34;starting web service\u0026#34; obj=web          ← 로컬 관리 API(4040) 열림\n14:10:27 msg=\u0026#34;client session established\u0026#34;            ← ngrok 서버와 연결\n14:10:27 msg=\u0026#34;started tunnel\u0026#34; url=https://daringly-marrow-penny.ngrok-free.dev\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e설정을 읽고, 로컬 관리 API를 열고, 서버에 붙어 터널을 연다. 2초면 끝난다. 문제의 재부팅 직후 로그는 이랬다.\u003c/p\u003e","title":"살아 있지만 일하지 않는 프로세스: 재부팅 후 멈춘 ngrok과 능동 헬스체크"},{"content":" 교재 쪽수: 251288쪽(249250쪽은 Part II 표지)\n연습문제: Part II에는 장 끝 연습문제가 없어서, 확인 문제를 만들어 넣었다.\n이 장이 뒤쪽 장에서 쓰이는 위치: 8장은 MML Part 2(머신러닝 응용)의 문을 여는 총론(Foundation)입니다. 1~7장에서 배운 선형대수, 해석기하, 행렬분해, 미분, 확률분포, 최적화가 머신러닝의 3대 학습 패러다임(경험적 위험 최소화 ERM, 최대우도/최대사후추정 MLE/MAP, 베이지안 추론)으로 어떻게 융합되는지 체계화합니다. 9장의 선형 회귀, 10장의 차원 축소(PCA), 11장의 밀도 추정(GMM), 12장의 분류(SVM)는 모두 8장에서 정의된 원리들의 구체적인 실현체입니다.\n0. 이 장 지도 절 목록 및 핵심 요약 8.1 데이터, 모델, 그리고 학습 (Data, Models, and Learning): 데이터를 벡터로 표현하고, 모델을 함수 또는 확률 분포로 바라보며, 머신러닝 학습이란 결국 파라미터를 찾는 과정임을 정립. 8.1.1 벡터로서의 데이터 (Data as Vectors): 특징 벡터(feature vector), 데이터 행렬 X∈RN×DX \\in \\mathbb{R}^{N \\times D}X∈RN×D, 범주형 데이터 변환. 8.1.2 함수로서의 모델 (Models as Functions): 결정론적 사상 f(x;θ)f(x; \\theta)f(x;θ), 회귀와 분류, 결정 경계. 8.1.3 확률 분포로서의 모델 (Models as Probability Distributions): 관측 노이즈를 포용하는 조건부 우도 p(y∣x,θ)p(y \\mid x, \\theta)p(y∣x,θ), 생성 모델 vs 판별 모델. 8.1.4 학습이란 파라미터를 찾는 것 (Learning is Finding Parameters): ERM, 확률적 파라미터 추정(MLE/MAP), 베이지안 추론의 세 갈래 길. 8.2 경험적 위험 최소화 (Empirical Risk Minimization, ERM): 훈련 데이터 평균 손실을 줄이는 최적화 관점의 머신러닝. 8.2.1 가설 공간 (Hypothesis Class of Functions): 표현력과 일반화 사이의 트레이드오프, 과소적합과 과적합. 8.2.2 학습을 위한 손실 함수 (Loss Function for Training): 0-1 손실, 제곱 손실, 힌지 손실, 교차 엔트로피 손실. 참 위험 RtrueR_{\\text{true}}Rtrue​와 경험적 위험 RempR_{\\text{emp}}Remp​. 8.2.3 과적합 완화를 위한 정규화 (Regularization to Reduce Overfitting): 복잡도에 벌점을 부여하는 L2L_2L2​(Ridge) 및 L1L_1L1​(Lasso, 희소성 유도) 정규화. 8.2.4 일반화 성능 평가를 위한 교차 검증 (Cross-Validation): 훈련/검증/테스트 세트 분할, KKK-겹 교차 검증(KKK-fold CV). 8.3 파라미터 추정 (Parameter Estimation): 확률적 관점에서 데이터가 발생할 확률을 극대화하는 파라미터를 점추정(point estimation). 8.3.1 최대우도추정 (Maximum Likelihood Estimation, MLE): 우도 p(D∣θ)p(\\mathcal{D} \\mid \\theta)p(D∣θ) 극대화, 음의 로그 우도(NLL), 최소제곱법과의 동치성. 8.3.2 최대 사후확률 추정 (Maximum A Posteriori Estimation, MAP): 사전분포 p(θ)p(\\theta)p(θ) 결합, 가우시안 사전분포(L2L_2L2​ 정규화)와 라플라스 사전분포(L1L_1L1​ 정규화)의 수학적 동치성. 8.3.3 모델 적합 (Model Fitting): 사전분포가 유도 편향(inductive bias)으로 작용하여 과적합을 방지하는 원리. 8.4 확률적 모델링과 추론 (Probabilistic Modeling and Inference): 파라미터를 하나의 고정된 값이 아닌 확률분포로 취급하는 완전한 베이지안 패러다임. 8.4.1 확률적 모델 (Probabilistic Models): 내재적 불확실성(Aleatoric)과 무지에 의한 불확실성(Epistemic)의 구분. 8.4.2 베이지안 추론 (Bayesian Inference): 사후분포 p(θ∣D)p(\\theta \\mid \\mathcal{D})p(θ∣D), 주변 우도 p(D)p(\\mathcal{D})p(D) 적분의 난해성, 사후 예측 분포 p(x∗∣D)p(x_* \\mid \\mathcal{D})p(x∗​∣D). 8.4.3 잠재 변수 모델 (Latent-Variable Models): 관측되지 않는 숨은 요인 zzz, 주변화(marginalization), 10장 PCA 및 11장 GMM의 토대. 8.5 방향성 그래프 모델 (Directed Graphical Models / Bayesian Networks): 복잡한 결합 확률 분포를 조건부 독립성 그래프로 시각화하고 분해. 8.5.1 그래프 시맨틱스 (Graph Semantics): 부모-자식 노드와 결합분포 인수분해 ∏p(xk∣pak)\\prod p(x_k \\mid \\text{pa}_k)∏p(xk​∣pak​), 플레이트 표기법(Plate notation). 8.5.2 조건부 독립성과 d-분리 (Conditional Independence and d-Separation): 연쇄(Chain), 공통 원인(Fork), V-구조(Collider, Explaining away), d-분리 판정 알고리즘. 8.6 모델 선택 (Model Selection): 여러 가설 모델 중 최적의 모델 구조를 객관적으로 선택하는 기법. 8.6.1 중첩 교차 검증 (Nested Cross-Validation): 하이퍼파라미터 튜닝과 일반화 성능 평가의 엄격한 분리를 통한 데이터 누수 방지. 8.6.2 베이지안 모델 선택과 오컴의 면도날 (Bayesian Model Selection): 모델 증거(Model Evidence)에 내재된 자동 오컴의 면도날(Automatic Occam\u0026rsquo;s Razor) 수학적 원리. 8.6.3 베이즈 팩터 (Bayes Factors for Model Comparison): 두 모델 간 우도비 KKK와 사후 오즈(Posterior Odds). 8.6.4 정보 기준 (Information Criteria): AIC(Akaike)와 BIC(Bayesian Information Criterion)의 정의 및 라플라스 근사 유도. flowchart TD Data[\u0026#34;8.1 데이터와 모델\u0026lt;br\u0026gt;(특징 벡터, 함수 vs 분포)\u0026#34;] --\u0026gt; ERM[\u0026#34;8.2 경험적 위험 최소화\u0026lt;br\u0026gt;(손실 함수 + 정규화)\u0026#34;] Data --\u0026gt; Param[\u0026#34;8.3 파라미터 추정\u0026lt;br\u0026gt;(우도 함수 극대화)\u0026#34;] Data --\u0026gt; Bayes[\u0026#34;8.4 확률적 모델링\u0026lt;br\u0026gt;(불확실성, 사후분포)\u0026#34;] Param --\u0026gt; MLE[\u0026#34;8.3.1 MLE\u0026lt;br\u0026gt;(가우시안 = 최소제곱)\u0026#34;] Param --\u0026gt; MAP[\u0026#34;8.3.2 MAP\u0026lt;br\u0026gt;(Prior = 정규화 항)\u0026#34;] Bayes --\u0026gt; PostPred[\u0026#34;8.4.2 사후 예측 분포\u0026lt;br\u0026gt;(적분을 통한 파라미터 평균화)\u0026#34;] Bayes --\u0026gt; Latent[\u0026#34;8.4.3 잠재 변수 모델\u0026lt;br\u0026gt;(10장 PCA, 11장 GMM)\u0026#34;] Bayes --\u0026gt; DGM[\u0026#34;8.5 방향성 그래프 모델\u0026lt;br\u0026gt;(결합분포 인수분해, d-분리)\u0026#34;] ERM --\u0026gt; MS[\u0026#34;8.6 모델 선택\u0026lt;br\u0026gt;(중첩 교차검증, 베이즈 팩터, AIC/BIC)\u0026#34;] Param --\u0026gt; MS Bayes --\u0026gt; MS 절별 중요도 안내 8.1 데이터, 모델, 그리고 학습 (★★): 머신러닝의 용어와 기호 체계를 통일하는 총론 도입부입니다. 8.2 경험적 위험 최소화 (★★★): 머신러닝을 최적화 관점으로 보는 핵심 프레임워크. L1/L2L_1/L_2L1​/L2​ 정규화의 기하학적 비교와 교차검증이 핵심 개념입니다. 8.3 파라미터 추정 (★★★): MLE와 최소제곱의 동치성, MAP와 Ridge/Lasso의 동치성 유도가 이 장의 중심 유도입니다. 8.4 확률적 모델링과 추론 (★★★): 점추정(MLE/MAP)과 분포추정(Bayesian)의 근본적 차이, 불확실성(Aleatoric vs Epistemic)의 개념, 잠재변수 모델의 주변화 적분을 명확히 이해해야 10~11장을 정복할 수 있습니다. 8.5 방향성 그래프 모델 (★★★): V-구조(Collider)에서 조건화 시 오히려 독립성이 깨지는 \u0026lsquo;Explaining away\u0026rsquo; 현상과 d-분리 판정법이 핵심입니다. 8.6 모델 선택 (★★): 베이지안 오컴의 면도날 원리와 AIC/BIC의 페널티 항 유도는 모델의 복잡도 제어에 대한 깊은 통찰을 요구합니다. 8.1 데이터, 모델, 그리고 학습 (Data, Models, and Learning, 251~258쪽) 왜 필요한가 (직관) 우리가 현실의 문제를 컴퓨터로 풀려고 할 때 세 가지 근본적인 구성 요소가 필요합니다:\n데이터(Data): 과거에 관측된 현실 세계의 기록. 모델(Model): 현실의 작동 규칙이나 입출력 관계를 흉내 내는 수학적 기계(함수 또는 확률 분포). 학습(Learning): 모델이 데이터를 가장 잘 설명하거나 미래를 잘 예측하도록 모델 내부의 다이얼(파라미터 θ\\thetaθ)을 최적으로 돌려 맞추는 알고리즘. 8장은 9~12장에서 전개될 선형 회귀, 차원 축소, 군집화, 분류 문제를 관통하는 하나의 공통된 설계도(Blue-print)를 제시합니다.\n8.1.1 벡터로서의 데이터 (Data as Vectors, 252~254쪽) 정의와 성질 컴퓨터는 텍스트나 이미지, 환자의 건강 기록을 그대로 이해할 수 없습니다. 따라서 모든 관측 대상은 숫자들의 나열(특징 벡터, feature vector)로 수치화되어야 합니다.\n단일 데이터 포인트: DDD개의 특징(feature)을 가진 열벡터 xn∈RDx_n \\in \\mathbb{R}^Dxn​∈RD: xn=[xn1xn2⋮xnD]x_n = \\begin{bmatrix} x_{n1} \\\\ x_{n2} \\\\ \\vdots \\\\ x_{nD} \\end{bmatrix}xn​=​xn1​xn2​⋮xnD​​​ 데이터 행렬 (Data Matrix): NNN개의 데이터 포인트를 행(row) 단위로 쌓은 행렬 X∈RN×DX \\in \\mathbb{R}^{N \\times D}X∈RN×D: X=[x1⊤x2⊤⋮xN⊤]=[x11x12…x1Dx21x22…x2D⋮⋮⋱⋮xN1xN2…xND]X = \\begin{bmatrix} x_1^\\top \\\\ x_2^\\top \\\\ \\vdots \\\\ x_N^\\top \\end{bmatrix} = \\begin{bmatrix} x_{11} \u0026amp; x_{12} \u0026amp; \\dots \u0026amp; x_{1D} \\\\ x_{21} \u0026amp; x_{22} \u0026amp; \\dots \u0026amp; x_{2D} \\\\ \\vdots \u0026amp; \\vdots \u0026amp; \\ddots \u0026amp; \\vdots \\\\ x_{N1} \u0026amp; x_{N2} \u0026amp; \\dots \u0026amp; x_{ND} \\end{bmatrix}X=​x1⊤​x2⊤​⋮xN⊤​​​=​x11​x21​⋮xN1​​x12​x22​⋮xN2​​……⋱…​x1D​x2D​⋮xND​​​ (교재 관례 주의: MML 교재에서는 데이터 xnx_nxn​은 DDD차원 열벡터로 정의하되, 전체 데이터 행렬 XXX는 각 데이터를 행(row)으로 쌓은 N×DN \\times DN×D 행렬을 표준으로 삼습니다). 타깃 라벨 (Targets / Labels): 지도학습에서 각 데이터에 대응하는 정답 값 yn∈Ry_n \\in \\mathbb{R}yn​∈R (회귀) 또는 yn∈{0,1}y_n \\in \\{0, 1\\}yn​∈{0,1} (분류). 전체 타깃 벡터는 y∈RNy \\in \\mathbb{R}^Ny∈RN입니다. 범주형 데이터 변환: \u0026ldquo;빨강, 초록, 파랑\u0026quot;과 같은 범주형 데이터는 크기 순서가 없으므로 원-핫 인코딩(one-hot encoding)을 통해 e1=[1,0,0]⊤,e2=[0,1,0]⊤,e3=[0,0,1]⊤e_1 = [1, 0, 0]^\\top, e_2 = [0, 1, 0]^\\top, e_3 = [0, 0, 1]^\\tope1​=[1,0,0]⊤,e2​=[0,1,0]⊤,e3​=[0,0,1]⊤과 같은 직교 단위 벡터로 변환합니다. 8.1.2 함수로서의 모델 (Models as Functions, 255쪽) 정의와 성질 모델을 입력 xxx를 받아 출력 y^\\hat{y}y^​를 내놓는 결정론적(deterministic) 함수 f:RD→Rf: \\mathbb{R}^D \\to \\mathbb{R}f:RD→R로 간주합니다: y^=f(x;θ)\\hat{y} = f(x; \\theta)y^​=f(x;θ) θ∈RM\\theta \\in \\mathbb{R}^Mθ∈RM: 모델의 동작 방식을 결정하는 파라미터(parameters) 벡터. 선형 회귀 모델 (Linear Model): f(x)=x⊤θ+θ0=∑d=1Dxdθd+θ0f(x) = x^\\top \\theta + \\theta_0 = \\sum_{d=1}^D x_d \\theta_d + \\theta_0f(x)=x⊤θ+θ0​=∑d=1D​xd​θd​+θ0​ 입력 xxx에 바이어스 항을 흡수시키기 위해 더미 특징 x0=1x_0 = 1x0​=1을 추가하면 f(x)=x~⊤θ~f(x) = \\tilde{x}^\\top \\tilde{\\theta}f(x)=x~⊤θ~의 단일 내적 형태로 깔끔하게 표현할 수 있습니다. 분류 모델 (Classification Model): 실수 출력을 내는 함수에 부호 함수(sign)나 활성화 함수(sigmoid)를 씌워 불연속적인 클래스를 예측합니다: y^=sign(f(x;θ))\\hat{y} = \\text{sign}(f(x; \\theta))y^​=sign(f(x;θ)) 이때 f(x;θ)=0f(x; \\theta) = 0f(x;θ)=0을 만족하는 초평면을 결정 경계(decision boundary)라 부릅니다. 8.1.3 확률 분포로서의 모델 (Models as Probability Distributions, 256~257쪽) 왜 확률적 모델인가? 현실 세계의 데이터는 결코 수학 함수대로 정확히 움직이지 않습니다. 동일한 환자에게 동일한 약을 투여해도 혈압 변화가 다를 수 있으며, 센서에는 항상 물리적 잡음(noise)이 낍니다. 따라서 입출력 관계를 단순한 함수 y=f(x)y = f(x)y=f(x)가 아니라 조건부 확률 분포(Conditional Probability Distribution)로 표현하는 것이 훨씬 정직하고 유연합니다: p(y∣x,θ)p(y \\mid x, \\theta)p(y∣x,θ)대표적인 가우시안 노이즈 모델 출력 yyy가 참 함수 f(x;θ)=x⊤θf(x; \\theta) = x^\\top \\thetaf(x;θ)=x⊤θ에 독립적인 가우시안 노이즈 ϵ∼N(0,σ2)\\epsilon \\sim \\mathcal{N}(0, \\sigma^2)ϵ∼N(0,σ2)가 더해져 생성된다고 가정해 봅시다: y=x⊤θ+ϵy = x^\\top \\theta + \\epsilony=x⊤θ+ϵ 이때 입력 xxx가 주어졌을 때 yyy의 조건부 확률 밀도는 다음과 같은 가우시안 분포가 됩니다: p(y∣x,θ)=N(y∣x⊤θ,σ2)=12πσ2exp⁡(−(y−x⊤θ)22σ2)\\begin{aligned} p(y \\mid x, \\theta) \u0026amp;= \\mathcal{N}(y \\mid x^\\top \\theta, \\sigma^2) \\\\ \u0026amp;= \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\\\ \u0026amp;\\quad \\exp\\left( -\\frac{(y - x^\\top \\theta)^2}{2\\sigma^2} \\right) \\end{aligned}p(y∣x,θ)​=N(y∣x⊤θ,σ2)=2πσ2​1​exp(−2σ2(y−x⊤θ)2​)​ 평균 E[y∣x]=x⊤θ\\mathbb{E}[y \\mid x] = x^\\top \\thetaE[y∣x]=x⊤θ: 모델의 예측값. 분산 Var[y∣x]=σ2\\text{Var}[y \\mid x] = \\sigma^2Var[y∣x]=σ2: 데이터에 내재된 불확실성(노이즈의 크기). 판별 모델 vs 생성 모델 판별 모델 (Discriminative Model): 입력 xxx가 주어졌을 때 출력의 조건부 분포 p(y∣x)p(y \\mid x)p(y∣x)만을 직접 모델링합니다 (예: 로지스틱 회귀, 신경망). xxx 자체가 어떻게 분포하는지에는 관심이 없습니다. 생성 모델 (Generative Model): 입력과 출력의 결합 분포 p(x,y)=p(x∣y)p(y)p(x, y) = p(x \\mid y)p(y)p(x,y)=p(x∣y)p(y)를 모델링합니다 (예: 나이브 베이즈, 11장 GMM). 데이터 xxx가 생성되는 메커니즘을 학습하므로 새로운 가상 데이터를 만들어낼 수 있습니다. 8.1.4 학습이란 파라미터를 찾는 것 (Learning is Finding Parameters, 257~258쪽) 데이터셋 D={(xn,yn)}n=1N\\mathcal{D} = \\{(x_n, y_n)\\}_{n=1}^ND={(xn​,yn​)}n=1N​이 주어졌을 때, 모델의 파라미터 θ\\thetaθ를 학습하는 방법론은 크게 세 가지 철학적 학파(flavor)로 나뉩니다:\n경험적 위험 최소화 (ERM): 데이터와 예측값 사이의 손실(loss) 평균을 최소화하는 최적화(Optimization)적 접근법. 최대우도추정 / 최대사후추정 (MLE / MAP): 데이터가 관측될 확률(우도)을 최대화하는 최적의 단일 파라미터 값을 찾는 확률적 점추정(Point Estimation) 접근법. 베이지안 추론 (Bayesian Inference): 단 하나의 θ\\thetaθ를 찍지 않고, 데이터와 부합하는 모든 가능한 θ\\thetaθ들의 사후 확률 분포(Posterior Distribution) p(θ∣D)p(\\theta \\mid \\mathcal{D})p(θ∣D) 자체를 계산하는 완전한 확률론적 접근법. 8.2 경험적 위험 최소화 (Empirical Risk Minimization, ERM, 258~264쪽) 왜 필요한가 (직관) 머신러닝의 궁극적인 목표는 \u0026ldquo;한 번도 본 적 없는 미래의 새로운 데이터(unseen test data)\u0026ldquo;에 대해 오차를 최소화하는 것입니다. 이를 일반화(Generalization)라고 부릅니다. 수학적으로 미래 데이터 (x,y)(x, y)(x,y)가 미지의 참 분포 ptrue(x,y)p_{\\text{true}}(x, y)ptrue​(x,y)에서 나온다고 할 때, 우리가 진짜로 줄이고 싶은 오차는 다음과 같은 참 위험(Expected / True Risk)입니다: Rtrue(f)=E(x,y)∼ptrue[ℓ(y,f(x))]=∬ℓ(y,f(x))ptrue(x,y) dxdy\\begin{aligned} \u0026amp;R_{\\text{true}}(f) \\\\ \u0026amp;= \\mathbb{E}_{(x, y) \\sim p_{\\text{true}}} [\\ell(y, f(x))] \\\\ \u0026amp;= \\iint \\ell(y, f(x)) p_{\\text{true}}(x, y) \\, dx dy \\end{aligned}​Rtrue​(f)=E(x,y)∼ptrue​​[ℓ(y,f(x))]=∬ℓ(y,f(x))ptrue​(x,y)dxdy​ 하지만 우리는 미래의 참 분포 ptrue(x,y)p_{\\text{true}}(x, y)ptrue​(x,y)를 알지 못하므로 이 적분을 직접 계산할 수 없습니다! 우리가 가진 것은 오직 현재 손에 쥐고 있는 NNN개의 훈련 샘플 D={(xn,yn)}n=1N\\mathcal{D} = \\{(x_n, y_n)\\}_{n=1}^ND={(xn​,yn​)}n=1N​뿐입니다. 따라서 대수의 법칙(Law of Large Numbers)을 믿고, \u0026ldquo;훈련 데이터 NNN개에 대한 평균 오차가 작아지면 참 오차도 대략 작아지겠지\u0026rdquo;라고 근사하여 최적화하는 전략이 바로 경험적 위험 최소화(Empirical Risk Minimization, ERM)입니다!\n8.2.1 가설 공간 (Hypothesis Class of Functions, 259~260쪽) 정의와 성질 모델이 취할 수 있는 후보 함수들의 집합을 가설 공간(Hypothesis Class) H\\mathcal{H}H라 합니다: f∈Hf \\in \\mathcal{H}f∈H 예: H={f(x)=θ1x+θ0∣θ0,θ1∈R}\\mathcal{H} = \\{ f(x) = \\theta_1 x + \\theta_0 \\mid \\theta_0, \\theta_1 \\in \\mathbb{R} \\}H={f(x)=θ1​x+θ0​∣θ0​,θ1​∈R} (1차 선형 함수 집합) 예: H={f(x)=∑k=0Mθkxk}\\mathcal{H} = \\{ f(x) = \\sum_{k=0}^M \\theta_k x^k \\}H={f(x)=∑k=0M​θk​xk} (MMM차 다항식 집합) 유도 편향 (Inductive Bias)과 모델 복잡도 우리가 특정 가설 공간을 선택하는 행위 자체가 \u0026ldquo;세상의 법칙은 아마 이러이러한 형태일 것이다\u0026quot;라는 사전 가정, 즉 유도 편향(inductive bias)을 주입하는 것입니다.\n과소적합 (Underfitting): 가설 공간 H\\mathcal{H}H가 너무 단순하여(예: 구불구불한 3차 곡선 데이터에 1차 직선 모델을 고집함) 훈련 데이터의 기본 패턴조차 학습하지 못하고 높은 편향(bias)을 갖는 현상. 과적합 (Overfitting): 가설 공간 H\\mathcal{H}H가 너무 복잡하여(예: 데이터 10개에 9차 다항식을 적용함) 데이터에 포함된 무작위 노이즈까지 그대로 외워 버려 훈련 오차는 0이지만 새로운 시험 데이터에서는 엉망이 되는 현상. 8.2.2 학습을 위한 손실 함수 (Loss Function for Training, 260~261쪽) 손실 함수 ℓ(y,y^)\\ell(y, \\hat{y})ℓ(y,y^​)는 정답 yyy와 모델의 예측 y^=f(x)\\hat{y} = f(x)y^​=f(x) 사이의 불일치를 측정하는 잣대입니다:\n0-1 손실 (Zero-One Loss): ℓ0−1(y,y^)={0if y=y^1if y≠y^\\ell_{0-1}(y, \\hat{y}) = \\begin{cases} 0 \u0026amp; \\text{if } y = \\hat{y} \\\\ 1 \u0026amp; \\text{if } y \\neq \\hat{y} \\end{cases}ℓ0−1​(y,y^​)={01​if y=y^​if y=y^​​ 가장 직관적인 분류 에러 척도이지만, 계단형 불연속 함수이므로 미분이 불가능하여(도함수가 거의 모든 곳에서 0) 경사하강법으로 직접 최적화할 수 없습니다 (NP-hard). 제곱 오차 손실 (Squared Loss): ℓsq(y,y^)=12(y−y^)2\\ell_{\\text{sq}}(y, \\hat{y}) = \\frac{1}{2}(y - \\hat{y})^2ℓsq​(y,y^​)=21​(y−y^​)2 회귀의 대표적 손실. 매끄럽고 미분 가능하여 최적화가 쉽지만, 큰 이상치(outlier)에 민감합니다. 힌지 손실 (Hinge Loss): ℓhinge(y,y^)=max⁡(0,1−yy^)(y∈{−1,+1})\\ell_{\\text{hinge}}(y, \\hat{y}) = \\max(0, 1 - y\\hat{y}) \\quad (y \\in \\{-1, +1\\})ℓhinge​(y,y^​)=max(0,1−yy^​)(y∈{−1,+1}) 12장 서포트 벡터 머신(SVM)의 핵심 손실 함수. 0-1 손실의 볼록 상한(convex surrogate) 역할을 합니다. 교차 엔트로피 손실 (Log / Cross-Entropy Loss): ℓce(y,p^)=−[ylog⁡p^+(1−y)log⁡(1−p^)]\\ell_{\\text{ce}}(y, \\hat{p}) = - [y \\log \\hat{p} + (1 - y) \\log (1 - \\hat{p})]ℓce​(y,p^​)=−[ylogp^​+(1−y)log(1−p^​)] 로지스틱 회귀와 딥러닝 분류의 표준 손실 함수. 경험적 위험 (Empirical Risk) 수식 Remp(f)=1N∑n=1Nℓ(yn,f(xn))R_{\\text{emp}}(f) = \\frac{1}{N} \\sum_{n=1}^N \\ell(y_n, f(x_n))Remp​(f)=N1​n=1∑N​ℓ(yn​,f(xn​)) ERM은 이 Remp(f)R_{\\text{emp}}(f)Remp​(f)를 최소화하는 파라미터를 찾는 최적화 문제입니다.\n8.2.3 과적합 완화를 위한 정규화 (Regularization to Reduce Overfitting, 261~263쪽) 왜 필요한가 (직관) 훈련 데이터만 보고 Remp(f)R_{\\text{emp}}(f)Remp​(f)를 맹목적으로 최소화하면 모델은 파라미터를 극단적으로 키워 모든 훈련 데이터 점을 억지로 통과하는 뱀 같은 곡선을 그립니다. 과적합을 막기 위해 \u0026ldquo;훈련 데이터 오차도 줄이되, 모델 파라미터가 비정상적으로 거대해지면 벌점(penalty)을 매기겠다\u0026rdquo;는 안전장치를 답니다. 이것이 정규화(Regularization)입니다!\n수식과 형태 min⁡θRreg(θ)=Remp(θ)+λΩ(θ)\\min_\\theta R_{\\text{reg}}(\\theta) = R_{\\text{emp}}(\\theta) + \\lambda \\Omega(\\theta)θmin​Rreg​(θ)=Remp​(θ)+λΩ(θ) Ω(θ)\\Omega(\\theta)Ω(θ): 파라미터의 복잡도에 벌점을 주는 정규화 함수. λ\u0026gt;0\\lambda \u0026gt; 0λ\u0026gt;0: 정규화 하이퍼파라미터(Hyperparameter). 오차 감소와 모델 단순성 사이의 균형을 조절합니다. L2L_2L2​ 정규화 (Ridge / Weight Decay): Ω(θ)=∥θ∥22=∑d=1Dθd2\\Omega(\\theta) = \\|\\theta\\|_2^2 = \\sum_{d=1}^D \\theta_d^2Ω(θ)=∥θ∥22​=∑d=1D​θd2​ 파라미터 값들이 극단적으로 커지는 것을 고르게 억제하여 모델을 부드럽게(smooth) 만듭니다. L1L_1L1​ 정규화 (Lasso): Ω(θ)=∥θ∥1=∑d=1D∣θd∣\\Omega(\\theta) = \\|\\theta\\|_1 = \\sum_{d=1}^D |\\theta_d|Ω(θ)=∥θ∥1​=∑d=1D​∣θd​∣ 중요하지 않은 특징의 파라미터를 정확히 0으로 만들어 유용한 특징만 남기는 희소성(Sparsity)을 유도합니다! L1L_1L1​ 희소성의 기하학적 직관 최적화 관점에서 정규화 문제는 제약 최적화 min⁡Remp(θ) s.t. Ω(θ)≤C\\min R_{\\text{emp}}(\\theta) \\text{ s.t. } \\Omega(\\theta) \\le CminRemp​(θ) s.t. Ω(θ)≤C와 동치입니다:\nL2L_2L2​ 제약 영역 {θ∣∥θ∥22≤C}\\{\\theta \\mid \\|\\theta\\|_2^2 \\le C\\}{θ∣∥θ∥22​≤C}은 매끄러운 원(구) 모양입니다. 손실 함수의 타원형 등고선이 원과 만날 때 접점은 일반적으로 좌표축 위가 아니라 일반적인 점이 되므로 가중치들이 0이 되지 않고 작아지기만 합니다. L1L_1L1​ 제약 영역 {θ∣∥θ∥1≤C}\\{\\theta \\mid \\|\\theta\\|_1 \\le C\\}{θ∣∥θ∥1​≤C}은 뾰족한 모서리를 가진 마름모(다이아몬드) 모양입니다. 손실 함수 등고선이 팽창하다가 마름모와 처음 부딪힐 때, 뾰족하게 튀어나온 모서리(축 위의 점, 즉 특정 θd=0\\theta_d = 0θd​=0인 지점)에서 접할 확률이 압도적으로 높습니다! 이것이 L1L_1L1​ 정규화가 파라미터를 정확히 0으로 만드는 기하학적 이유입니다. 8.2.4 일반화 성능 평가를 위한 교차 검증 (Cross-Validation, 263~264쪽) 정규화 계수 λ\\lambdaλ나 다항식 차수 MMM 같은 하이퍼파라미터는 훈련 오차만으로는 정할 수 없습니다(λ=0\\lambda=0λ=0일 때 훈련 오차가 항상 제일 작기 때문입니다). 따라서 전체 데이터를 세 부분으로 쪼갭니다:\n훈련 세트 (Training Set): 모델 파라미터 θ\\thetaθ를 학습하는 데 사용. 검증 세트 (Validation Set): 최적의 하이퍼파라미터(λ\\lambdaλ 등)를 선택하고 조기 종료(early stopping)를 결정하는 데 사용. 테스트 세트 (Test Set): 최종 결정된 모델의 실제 일반화 성능을 딱 한 번 평가하는 데 사용 (학습에 절대 관여 불가). KKK-겹 교차 검증 (KKK-Fold Cross-Validation) 데이터가 적을 때 검증 세트를 고정해 두면 데이터 낭비가 심합니다.\n데이터를 KKK개의 균등한 조각(fold)으로 나눕니다. k=1,…,Kk=1, \\dots, Kk=1,…,K에 대해, kkk번째 조각을 검증 세트로 삼고 나머지 K−1K-1K−1개 조각으로 모델을 학습하여 검증 오차 RkR_kRk​를 구합니다. KKK번의 검증 오차 평균 1K∑k=1KRk\\frac{1}{K}\\sum_{k=1}^K R_kK1​∑k=1K​Rk​으로 하이퍼파라미터의 성능을 객관적으로 평가합니다. K=NK=NK=N인 극단적인 경우를 LOOCV (Leave-One-Out Cross-Validation)라 부릅니다. 8.3 파라미터 추정 (Parameter Estimation, 265~272쪽) 왜 필요한가 (직관) ERM이 손실 함수를 사람이 임의로 골라 최적화하는 공학적 접근법이라면, 확률론자들은 다른 질문을 던집니다:\n\u0026ldquo;우리가 관측한 데이터 D\\mathcal{D}D가 생성되었을 가능성(우도)이 가장 높은 세상의 참 파라미터 θ\\thetaθ는 무엇일까?\u0026rdquo;\n이 질문에 답하는 체계가 바로 우도 기반의 파라미터 추정(MLE / MAP)입니다.\n8.3.1 최대우도추정 (Maximum Likelihood Estimation, MLE, 265~268쪽) 정의와 성질 데이터셋 D={x1,…,xN}\\mathcal{D} = \\{x_1, \\dots, x_N\\}D={x1​,…,xN​}이 파라미터 θ\\thetaθ를 가진 확률 분포로부터 독립 항등 분포(i.i.d.)로 추출되었다고 가정합니다.\n우도 함수 (Likelihood Function): 데이터가 주어졌을 때 파라미터 θ\\thetaθ의 타당성을 나타내는 함수: L(θ)=p(D∣θ)=∏n=1Np(xn∣θ)L(\\theta) = p(\\mathcal{D} \\mid \\theta) = \\prod_{n=1}^N p(x_n \\mid \\theta)L(θ)=p(D∣θ)=∏n=1N​p(xn​∣θ) 로그 우도 (Log-Likelihood): 확률의 곱셈은 컴퓨터에서 언더플로우(underflow)를 유발하고 미분이 복잡하므로 단조 증가 함수인 자연로그를 취해 합으로 바꿉니다: log⁡L(θ)=∑n=1Nlog⁡p(xn∣θ)\\log L(\\theta) = \\sum_{n=1}^N \\log p(x_n \\mid \\theta)logL(θ)=∑n=1N​logp(xn​∣θ) 음의 로그 우도 (Negative Log-Likelihood, NLL): 최대화 문제를 최적화 표준인 최소화 문제로 바꾸기 위해 마이너스를 붙입니다: L(θ)=−∑n=1Nlog⁡p(xn∣θ)\\mathcal{L}(\\theta) = -\\sum_{n=1}^N \\log p(x_n \\mid \\theta)L(θ)=−∑n=1N​logp(xn​∣θ) NLL은 ERM의 손실 함수 ℓ(xn,θ)=−log⁡p(xn∣θ)\\ell(x_n, \\theta) = -\\log p(x_n \\mid \\theta)ℓ(xn​,θ)=−logp(xn​∣θ)와 정확히 대응됩니다! MLE 공식: θML=arg⁡max⁡θp(D∣θ)=arg⁡min⁡θL(θ)\\theta_{\\text{ML}} = \\arg\\max_\\theta p(\\mathcal{D} \\mid \\theta) = \\arg\\min_\\theta \\mathcal{L}(\\theta)θML​=argmaxθ​p(D∣θ)=argminθ​L(θ) 8.3.2 최대 사후확률 추정 (Maximum A Posteriori Estimation, MAP, 268~270쪽) 왜 필요한가 (직관) 동전을 3번 던져 3번 모두 앞면이 나왔다고 합시다. MLE는 \u0026ldquo;앞면이 나올 확률 θ=1.0\\theta = 1.0θ=1.0\u0026ldquo;이라는 극단적인 결론을 내립니다(과적합!). 하지만 우리는 세상의 동전들이 대략 공평하다는 사전 지식(Prior Knowledge)을 이미 알고 있습니다. 데이터가 부족할 때 상식적인 사전 지식을 결합하여 극단적인 추정을 막아주는 방법이 바로 MAP입니다!\n베이즈 정리와 MAP 수식 베이즈 정리(Bayes\u0026rsquo; Theorem)에 의해 파라미터의 사후 확률 분포(Posterior)는 다음과 같습니다: p(θ∣D)=p(D∣θ)p(θ)p(D)∝p(D∣θ)p(θ)p(\\theta \\mid \\mathcal{D}) = \\frac{p(\\mathcal{D} \\mid \\theta) p(\\theta)}{p(\\mathcal{D})} \\propto p(\\mathcal{D} \\mid \\theta) p(\\theta)p(θ∣D)=p(D)p(D∣θ)p(θ)​∝p(D∣θ)p(θ) p(θ)p(\\theta)p(θ): 데이터를 보기 전에 우리가 파라미터에 대해 가졌던 믿음인 사전분포(Prior). p(D∣θ)p(\\mathcal{D} \\mid \\theta)p(D∣θ): 데이터가 제공하는 증거인 우도(Likelihood). p(θ∣D)p(\\theta \\mid \\mathcal{D})p(θ∣D): 데이터를 관측한 후 갱신된 믿음인 사후분포(Posterior). 사후 확률을 최대로 만드는 단 하나의 점 θMAP\\theta_{\\text{MAP}}θMAP​를 찾습니다: θMAP=arg⁡max⁡θp(θ∣D)=arg⁡max⁡θ[log⁡p(D∣θ)+log⁡p(θ)]\\begin{aligned} \\theta_{\\text{MAP}} \u0026amp;= \\arg\\max_\\theta p(\\theta \\mid \\mathcal{D}) \\\\ \u0026amp;= \\arg\\max_\\theta \\bigl[ \\log p(\\mathcal{D} \\mid \\theta) \\\\ \u0026amp;\\quad + \\log p(\\theta) \\bigr] \\end{aligned}θMAP​​=argθmax​p(θ∣D)=argθmax​[logp(D∣θ)+logp(θ)]​ 부호를 바꾸어 최소화 문제로 쓰면: θMAP=arg⁡min⁡θ[−∑n=1Nlog⁡p(xn∣θ)⏟NLL (경험적 오차)+(−log⁡p(θ))⏟사전분포에 의한 벌점]\\begin{aligned} \\theta_{\\text{MAP}} \u0026amp;= \\arg\\min_\\theta \\Bigl[ \\underbrace{-\\sum_{n=1}^N \\log p(x_n \\mid \\theta)}_{\\text{NLL (경험적 오차)}} \\\\ \u0026amp;\\quad + \\underbrace{(-\\log p(\\theta))}_{\\text{사전분포에 의한 벌점}} \\Bigr] \\end{aligned}θMAP​​=argθmin​[NLL (경험적 오차)−n=1∑N​logp(xn​∣θ)​​+사전분포에 의한 벌점(−logp(θ))​​]​연결: 가우시안 사전분포의 MAP 추정은 L2 정규화와 같다 가우시안 사전분포 θ∼N(0,σ02I)\\theta \\sim \\mathcal{N}(0, \\sigma_0^2 I)θ∼N(0,σ02​I): −log⁡p(θ)=12σ02∥θ∥22+const ⟺ L2 정규화 (Ridge)!-\\log p(\\theta) = \\frac{1}{2\\sigma_0^2} \\|\\theta\\|_2^2 + \\text{const} \\iff L_2 \\text{ 정규화 (Ridge)!}−logp(θ)=2σ02​1​∥θ∥22​+const⟺L2​ 정규화 (Ridge)! 라플라스 사전분포 p(θ)∝exp⁡(−∥θ∥1b)p(\\theta) \\propto \\exp\\left(-\\frac{\\|\\theta\\|_1}{b}\\right)p(θ)∝exp(−b∥θ∥1​​): −log⁡p(θ)=1b∥θ∥1+const ⟺ L1 정규화 (Lasso)!-\\log p(\\theta) = \\frac{1}{b} \\|\\theta\\|_1 + \\text{const} \\iff L_1 \\text{ 정규화 (Lasso)!}−logp(θ)=b1​∥θ∥1​+const⟺L1​ 정규화 (Lasso)! 즉, ERM에서 직관적으로 도입했던 정규화 항 λΩ(θ)\\lambda \\Omega(\\theta)λΩ(θ)는 확률론적 세계관에서 파라미터의 사전분포 −log⁡p(θ)-\\log p(\\theta)−logp(θ)와 수학적으로 정확히 동일한 실체였던 것입니다! 8.3.3 모델 적합 (Model Fitting, 270~271쪽) 데이터의 수 NNN이 매우 적을 때는 사전분포 p(θ)p(\\theta)p(θ)의 영향력이 커서 과적합을 강력하게 방어합니다. 데이터의 수 N→∞N \\to \\inftyN→∞로 무한히 많아지면 우도 항 ∑n=1Nlog⁡p(xn∣θ)\\sum_{n=1}^N \\log p(x_n \\mid \\theta)∑n=1N​logp(xn​∣θ)이 압도적으로 커져 사전분포의 영향력은 0으로 수렴하며, 결국 θMAP→θML\\theta_{\\text{MAP}} \\to \\theta_{\\text{ML}}θMAP​→θML​로 수렴합니다. 8.4 확률적 모델링과 추론 (Probabilistic Modeling and Inference, 272~278쪽) 왜 필요한가 (직관) MLE와 MAP는 계산이 빠르지만 여전히 치명적인 결함이 있습니다. 결국 \u0026ldquo;단 하나의 숫자 θ\\thetaθ만 콕 집어서(점추정)\u0026rdquo; 세상을 설명하려 한다는 점입니다. 자율주행차가 보행자를 감지할 때, \u0026ldquo;사람일 확률 51%니까 지나가자\u0026quot;라고 확신하는 것과 \u0026ldquo;사람일 수도 있고 아닐 수도 있으니 극도로 조심하자\u0026quot;고 불확실성을 표현하는 것은 생사가 걸린 문제입니다. 진정한 베이지안은 점추정을 버리고, \u0026ldquo;가능한 모든 파라미터 후보들의 확률 분포 전체\u0026rdquo;를 안고 미래를 예측합니다.\n8.4.1 확률적 모델과 불확실성의 두 얼굴 (273~274쪽) 머신러닝의 불확실성은 두 종류로 엄격히 나뉩니다:\n우연적 불확실성 (Aleatoric Uncertainty): 데이터 생성 과정 자체에 내재된 본질적인 무작위성이나 센서 잡음. 데이터를 100만 개 더 모아도 결코 줄어들지 않는 불확실성입니다 (예: 동전 던지기의 앞뒷면). 인식론적 불확실성 (Epistemic Uncertainty): 데이터가 부족해서 \u0026ldquo;우리가 아직 몰라서\u0026rdquo; 발생하는 파라미터에 대한 무지. 데이터를 많이 모을수록 점점 줄어들어 0으로 수렴하는 불확실성입니다! 베이지안 방법론의 진정한 위력은 바로 이 인식론적 불확실성을 정확히 측정할 수 있다는 데 있습니다. 8.4.2 베이지안 추론 (Bayesian Inference, 273~275쪽) 1. 사후분포 계산 베이즈 정리를 통해 파라미터의 완전한 사후 확률 분포를 구합니다: p(θ∣D)=p(D∣θ)p(θ)p(D)p(\\theta \\mid \\mathcal{D}) = \\frac{p(\\mathcal{D} \\mid \\theta) p(\\theta)}{p(\\mathcal{D})}p(θ∣D)=p(D)p(D∣θ)p(θ)​ 여기서 분모인 주변 우도(Marginal Likelihood) 또는 증거(Evidence)는 모든 가능한 파라미터에 대해 적분한 값입니다: p(D)=∫p(D∣θ)p(θ) dθp(\\mathcal{D}) = \\int p(\\mathcal{D} \\mid \\theta) p(\\theta) \\, d\\thetap(D)=∫p(D∣θ)p(θ)dθ 적분의 난해성 (Intractability): 파라미터 θ\\thetaθ가 수백만 개인 현대 딥러닝에서는 이 고차원 적분을 해석적으로 계산하는 것이 불가능합니다. 이것이 MCMC나 변분 추론(Variational Inference) 같은 근사 기법이 필요한 이유입니다. 2. 사후 예측 분포 (Posterior Predictive Distribution) 새로운 입력 x∗x_*x∗​가 들어왔을 때 타깃 y∗y_*y∗​를 예측할 때, 베이지안은 단 하나의 θ\\thetaθ를 대입하지 않고 사후분포 p(θ∣D)p(\\theta \\mid \\mathcal{D})p(θ∣D)를 가중치로 삼아 가능한 모든 θ\\thetaθ의 예측을 평균(앙상블) 냅니다: p(y∗∣x∗,D)=∫p(y∗∣x∗,θ)p(θ∣D) dθ\\begin{aligned} \u0026amp;p(y_* \\mid x_*, \\mathcal{D}) \\\\ \u0026amp;= \\int p(y_* \\mid x_*, \\theta) p(\\theta \\mid \\mathcal{D}) \\, d\\theta \\end{aligned}​p(y∗​∣x∗​,D)=∫p(y∗​∣x∗​,θ)p(θ∣D)dθ​ 이 적분을 거치면 예측값은 더 이상 파라미터 θ\\thetaθ에 의존하지 않고 오직 데이터 D\\mathcal{D}D에만 조건화되며, 예측 평균뿐만 아니라 예측의 신뢰 구간(분산)까지 정확히 함께 얻을 수 있습니다!\n8.4.3 잠재 변수 모델 (Latent-Variable Models, 275~277쪽) 현실의 복잡한 데이터 뒤에는 우리가 직접 관측할 수는 없지만 데이터의 숨은 구조를 지배하는 잠재 변수(Latent Variable) zzz가 존재하는 경우가 많습니다.\n예: 10장 PCA에서는 고차원 이미지 뒤에 숨은 저차원 잠재 좌표 zzz를 찾습니다. 예: 11장 GMM에서는 데이터가 어느 클러스터에 속하는지를 나타내는 숨은 라벨 zzz가 존재합니다. 결합 확률 p(x,z∣θ)p(x, z \\mid \\theta)p(x,z∣θ)에서 관측 데이터 xxx만의 확률을 얻으려면 숨은 변수 zzz를 적분(또는 합)하여 지워버려야 합니다(주변화, marginalization): p(x∣θ)=∫p(x,z∣θ) dzp(x \\mid \\theta) = \\int p(x, z \\mid \\theta) \\, dzp(x∣θ)=∫p(x,z∣θ)dz 이 잠재 변수 모델을 학습하는 범용 알고리즘이 바로 11장의 EM 알고리즘(Expectation-Maximization)입니다.\n8.5 방향성 그래프 모델 (Directed Graphical Models, 278~283쪽) 왜 필요한가 (직관) 변수가 수십 개 있는 복잡한 확률 모델을 수식으로만 쓰면 어떤 변수가 어떤 변수에 영향을 미치는지 한눈에 파악하기 어렵고, 결합 분포 p(x1,…,xK)p(x_1, \\dots, x_K)p(x1​,…,xK​)를 통째로 다루려면 차원의 저주에 빠집니다. 이를 해결하기 위해 확률변수를 동그라미(노드)로, 조건부 인과관계를 화살표(방향성 엣지)로 나타낸 그림 언어가 바로 방향성 그래프 모델(Directed Graphical Models) 또는 베이지안 네트워크(Bayesian Networks)입니다.\n8.5.1 그래프 시맨틱스 (Graph Semantics, 278~280쪽) 결합 확률 분포의 인수분해 (Factorization) 방향성 비순환 그래프(DAG)에서 모든 노드의 결합 분포는 \u0026ldquo;각 노드가 자신의 부모(parents) 노드들에만 조건화된 확률들의 곱\u0026rdquo;으로 매우 단순하게 쪼개집니다: p(x1,x2,…,xK)=∏k=1Kp(xk∣pak)p(x_1, x_2, \\dots, x_K) = \\prod_{k=1}^K p(x_k \\mid \\text{pa}_k)p(x1​,x2​,…,xK​)=k=1∏K​p(xk​∣pak​) 여기서 pak\\text{pa}_kpak​는 노드 xkx_kxk​로 들어오는 화살표의 출발점(부모 노드들)의 집합입니다. 플레이트 표기법 (Plate Notation) 데이터 x1,…,xNx_1, \\dots, x_Nx1​,…,xN​처럼 동일한 구조가 NNN번 독립적으로 반복되는 경우, 노드를 NNN개 다 그리지 않고 네모난 상자(플레이트)로 묶은 뒤 오른쪽 아래에 반복 횟수 NNN을 적어 표기를 획기적으로 단순화합니다.\n8.5.2 조건부 독립성과 d-분리 (Conditional Independence and d-Separation, 281~283쪽) 그래프 구조만 보고도 복잡한 확률 계산 없이 \u0026ldquo;어떤 변수들이 주어졌을 때 두 변수가 독립인가?\u0026ldquo;를 판정할 수 있는 강력한 그래프 이론 알고리즘이 d-분리(d-separation)입니다.\n3가지 기본 3-노드 그래프 모티프 모든 복잡한 경로는 다음 3가지 기본 구조의 결합으로 분해됩니다:\n연쇄 결합 (Tail-to-Head / Chain): A→B→CA \\to B \\to CA→B→C\n결합 분포: p(A,B,C)=p(A)p(B∣A)p(C∣B)p(A, B, C) = p(A) p(B \\mid A) p(C \\mid B)p(A,B,C)=p(A)p(B∣A)p(C∣B). BBB를 모를 때: AAA와 CCC는 일반적으로 종속입니다 (A⊥̸CA \\not\\perp CA⊥C). BBB가 주어졌을 때(관측됨): p(A,C∣B)=p(A)p(B∣A)p(C∣B)p(B)=p(A∣B)p(C∣B)p(A, C \\mid B) = \\frac{p(A)p(B \\mid A)p(C \\mid B)}{p(B)} = p(A \\mid B)p(C \\mid B)p(A,C∣B)=p(B)p(A)p(B∣A)p(C∣B)​=p(A∣B)p(C∣B). 따라서 AAA와 CCC는 조건부 독립입니다 (A⊥C∣BA \\perp C \\mid BA⊥C∣B). 중간 노드 BBB가 정보를 차단합니다! 공통 원인 (Tail-to-Tail / Fork): A←B→CA \\leftarrow B \\to CA←B→C\nBBB가 두 사건의 공통 원인입니다. BBB를 모를 때: AAA와 CCC는 공통 원인을 공유하므로 상관관계를 가집니다 (A⊥̸CA \\not\\perp CA⊥C). BBB가 주어졌을 때(관측됨): 공통 원인이 통제되었으므로 AAA와 CCC는 조건부 독립이 됩니다 (A⊥C∣BA \\perp C \\mid BA⊥C∣B). 공통 효과 / V-구조 (Head-to-Head / Collider): A→B←CA \\to B \\leftarrow CA→B←C\n두 독립적인 원인 A,CA, CA,C가 하나의 결과 BBB를 초래합니다. BBB를 모를 때: 두 원인은 서로 아무 상관이 없습니다! 따라서 AAA와 CCC는 무조건부 독립입니다 (A⊥CA \\perp CA⊥C). BBB(또는 BBB의 자손)가 주어졌을 때(관측됨): 경로가 열리며 AAA와 CCC는 종속이 됩니다! (A⊥̸C∣BA \\not\\perp C \\mid BA⊥C∣B). Explaining Away 현상 직관: 잔디가 젖어있는 사건(BBB)의 원인이 비(AAA)와 스프링클러(CCC)라고 합시다. 평소에 비와 스프링클러는 독립입니다. 하지만 잔디가 젖어있는 것을 본 상태에서(BBB 관측), 하늘을 보니 폭우가 내렸다는 사실(AAA)을 알게 되면 스프링클러가 틀어졌을 확률(CCC)은 급격히 낮아집니다. 한 원인이 다른 원인의 필요성을 설명해 없애버리기(explain away) 때문에 두 원인이 종속이 되는 것입니다! d-분리 판정 알고리즘 노드 집합 A\\mathcal{A}A와 B\\mathcal{B}B 사이의 경로가 관측된 조건 노드 집합 C\\mathcal{C}C에 의해 차단(blocked)된다는 것은, 경로 상의 어떤 노드 vvv에 대해 다음 중 하나가 성립함을 뜻합니다:\nvvv가 tail-to-head 또는 tail-to-tail 구조이고, v∈Cv \\in \\mathcal{C}v∈C (관측됨). vvv가 head-to-head(collider) 구조이고, v∉Cv \\notin \\mathcal{C}v∈/C이며 vvv의 어떤 자손도 C\\mathcal{C}C에 속하지 않음 (관측되지 않음). A\\mathcal{A}A와 B\\mathcal{B}B 사이의 모든 가능한 경로가 차단되면, A\\mathcal{A}A와 B\\mathcal{B}B는 C\\mathcal{C}C가 주어졌을 때 d-분리되며, 따라서 조건부 독립 A⊥B∣C\\mathcal{A} \\perp \\mathcal{B} \\mid \\mathcal{C}A⊥B∣C가 성립합니다!\n8.6 모델 선택 (Model Selection, 283~288쪽) 왜 필요한가 (직관) 동일한 데이터셋에 대해 1차 선형 모델, 3차 다항식 모델, 신경망 모델 중 어떤 모델 구조(가설 공간)를 최종적으로 채택해야 할까요? 모델 파라미터 수가 많을수록 훈련 데이터 적합도는 무조건 좋아지지만, 미래 예측 성능은 망가질 수 있습니다. 객관적으로 최선의 모델을 가려내는 수학적 기준이 필요합니다.\n8.6.1 중첩 교차 검증 (Nested Cross-Validation, 284~285쪽) 일반 교차 검증에서 가장 좋은 성능을 보인 하이퍼파라미터 λ∗\\lambda^*λ∗의 검증 점수를 그 모델의 최종 일반화 성능이라고 보고하면 낙관적 편향(optimistic bias)과 데이터 누수(data leakage)가 발생합니다. (수많은 하이퍼파라미터 중 검증 세트에 우연히 잘 맞은 것을 고른 것이기 때문입니다). 이를 방지하기 위해 두 개의 교차 검증 루프를 겹쳐 사용합니다:\n외부 루프 (Outer Loop): 전체 데이터를 훈련과 시험용으로 나누어, 모델의 순수한 일반화 성능을 정직하게 측정. 내부 루프 (Inner Loop): 외부 루프의 훈련 데이터만을 다시 쪼개어, 최적의 하이퍼파라미터를 튜닝. 이 분리를 통해 모델 선택 과정 전체의 편향 없는 일반화 오차를 추정할 수 있습니다. 8.6.2 베이지안 모델 선택과 자동 오컴의 면도날 (285~286쪽) 베이지안 관점에서는 모델 자체 MMM도 하나의 확률변수로 봅니다: p(M∣D)∝p(D∣M)p(M)p(M \\mid \\mathcal{D}) \\propto p(\\mathcal{D} \\mid M) p(M)p(M∣D)∝p(D∣M)p(M) 여기서 모든 모델에 동일한 사전 확률 p(M)p(M)p(M)을 준다면, 모델의 우수성은 전적으로 모델 증거(Model Evidence / Marginal Likelihood) p(D∣M)p(\\mathcal{D} \\mid M)p(D∣M)에 의해 결정됩니다: p(D∣M)=∫p(D∣θM,M)p(θM∣M) dθM\\begin{aligned} \u0026amp;p(\\mathcal{D} \\mid M) \\\\ \u0026amp;= \\int p(\\mathcal{D} \\mid \\theta_M, M) p(\\theta_M \\mid M) \\, d\\theta_M \\end{aligned}​p(D∣M)=∫p(D∣θM​,M)p(θM​∣M)dθM​​자동 오컴의 면도날 (Automatic Occam\u0026rsquo;s Razor)의 수학적 원리 확률 밀도의 총합은 항상 1이어야 합니다: ∫p(D∣M)dD=1\\int p(\\mathcal{D} \\mid M) d\\mathcal{D} = 1∫p(D∣M)dD=1.\n단순한 모델 (M1M_1M1​): 표현할 수 있는 데이터 패턴의 종류가 적기 때문에, 소수의 가능한 데이터셋에 확률 질량이 좁고 높게 집중됩니다. 복잡한 모델 (M2M_2M2​): 파라미터가 많아 거의 모든 데이터셋을 설명할 수 있지만, 확률의 총합이 1로 보존되어야 하므로 광대한 데이터 공간 전체에 확률 질량이 얇고 넓게 분산됩니다. 따라서 실제 관측된 데이터 D\\mathcal{D}D가 단순한 모델로도 충분히 설명 가능한 영역에 있다면, 단순한 모델의 확률 밀도 p(D∣M1)p(\\mathcal{D} \\mid M_1)p(D∣M1​)가 복잡한 모델의 p(D∣M2)p(\\mathcal{D} \\mid M_2)p(D∣M2​)보다 압도적으로 높아집니다! 사람이 인위적으로 복잡도에 벌점을 주지 않아도, 확률 보존 법칙에 의해 모델 증거 자체가 지나치게 복잡한 모델을 자동으로 응징(penalize)하는 것입니다! 8.6.3 베이즈 팩터 (Bayes Factors for Model Comparison, 287쪽) 두 경쟁 모델 M1M_1M1​과 M2M_2M2​를 비교할 때, 두 모델 증거의 비율을 베이즈 팩터(Bayes Factor) KKK라 합니다: K=p(D∣M1)p(D∣M2)K = \\frac{p(\\mathcal{D} \\mid M_1)}{p(\\mathcal{D} \\mid M_2)}K=p(D∣M2​)p(D∣M1​)​ 사후 오즈(Posterior Odds) 관계식: p(M1∣D)p(M2∣D)⏟사후 오즈=p(M1)p(M2)⏟사전 오즈×p(D∣M1)p(D∣M2)⏟베이즈 팩터 K\\underbrace{\\frac{p(M_1 \\mid \\mathcal{D})}{p(M_2 \\mid \\mathcal{D})}}_{\\text{사후 오즈}} = \\underbrace{\\frac{p(M_1)}{p(M_2)}}_{\\text{사전 오즈}} \\times \\underbrace{\\frac{p(\\mathcal{D} \\mid M_1)}{p(\\mathcal{D} \\mid M_2)}}_{\\text{베이즈 팩터 } K}사후 오즈p(M2​∣D)p(M1​∣D)​​​=사전 오즈p(M2​)p(M1​)​​​×베이즈 팩터 Kp(D∣M2​)p(D∣M1​)​​​ K\u0026gt;1K \u0026gt; 1K\u0026gt;1: 데이터가 모델 M1M_1M1​을 지지함. (교재 밖 보충: 흔히 쓰는 제프리스 기준으로 K\u0026gt;3K \u0026gt; 3K\u0026gt;3이면 실질적, K\u0026gt;10K \u0026gt; 10K\u0026gt;10이면 강한, K\u0026gt;100K \u0026gt; 100K\u0026gt;100이면 결정적 지지라고 해석한다. 교재는 제프리스-린들리 역설만 언급한다.) 8.6.4 더 읽을거리 속 정보 기준: AIC와 BIC (288쪽) 복잡한 베이지안 적분을 직접 계산하기 어려울 때 사용하는 대표적인 점근적 근사 공식들입니다:\nAIC (Akaike Information Criterion, 아카이케 정보 기준): AIC=log⁡p(x∣θ^)−M(교재 표기)\\begin{aligned} \u0026amp;\\text{AIC} = \\log p(x \\mid \\hat{\\theta}) - M \\\\ \u0026amp;\\quad (\\text{교재 표기}) \\end{aligned}​AIC=logp(x∣θ^)−M(교재 표기)​ (표준 통계학 관례로는 −2log⁡L+2M-2\\log L + 2M−2logL+2M로 정의하여 최솟값을 찾지만, MML 교재에서는 값이 클수록 좋은 형태로 정의합니다).\nMMM: 모델의 파라미터 개수. 우도 추정치의 편향을 파라미터 수 MMM만큼 보정합니다. BIC (Bayesian Information Criterion, 베이지안 정보 기준): BIC=log⁡p(x∣θ^)−12Mlog⁡N(교재 표기)\\begin{aligned} \\text{BIC} \u0026amp;= \\log p(x \\mid \\hat{\\theta}) \\\\ \u0026amp;\\quad - \\frac{1}{2} M \\log N \\quad (\\text{교재 표기}) \\end{aligned}BIC​=logp(x∣θ^)−21​MlogN(교재 표기)​ (표준 관례: −2log⁡L+Mlog⁡N-2\\log L + M \\log N−2logL+MlogN).\nNNN: 데이터 샘플 수. 라플라스 근사(Laplace approximation)를 통해 베이지안 로그 모델 증거 log⁡p(D∣M)\\log p(\\mathcal{D} \\mid M)logp(D∣M)를 테일러 전개했을 때 유도되는 점근적 공식입니다. log⁡N\u0026gt;2\\log N \u0026gt; 2logN\u0026gt;2 (즉 N≥8N \\ge 8N≥8)이면 항상 12log⁡N\u0026gt;1\\frac{1}{2}\\log N \u0026gt; 121​logN\u0026gt;1이므로, BIC는 AIC보다 복잡한 모델에 훨씬 더 가혹한 벌점을 부과합니다. 핵심 유도 모음 유도 1: 선형 가우스 모델에서 최대우도추정(MLE)과 최소제곱법(OLS)의 동치성 유도 목표: yn=xn⊤θ+ϵny_n = x_n^\\top \\theta + \\epsilon_nyn​=xn⊤​θ+ϵn​, ϵn∼i.i.d.N(0,σ2)\\epsilon_n \\overset{\\text{i.i.d.}}{\\sim} \\mathcal{N}(0, \\sigma^2)ϵn​∼i.i.d.N(0,σ2)일 때, 우도 최대화가 제곱 오차 최소화와 동치임을 유도한다.\n단일 데이터의 조건부 우도: p(yn∣xn,θ)=12πσ2exp⁡(−(yn−xn⊤θ)22σ2)p(y_n \\mid x_n, \\theta) = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\exp\\left( -\\frac{(y_n - x_n^\\top \\theta)^2}{2\\sigma^2} \\right)p(yn​∣xn​,θ)=2πσ2​1​exp(−2σ2(yn​−xn⊤​θ)2​) (근거: 정규분포 오차 가정) 전체 데이터의 결합 우도 (i.i.d. 가정): p(y∣X,θ)=∏n=1Np(yn∣xn,θ)=(12πσ2)N/2exp⁡(−12σ2∑n=1N(yn−xn⊤θ)2)p(y \\mid X, \\theta) = \\prod_{n=1}^N p(y_n \\mid x_n, \\theta) = \\left( \\frac{1}{2\\pi\\sigma^2} \\right)^{N/2} \\exp\\left( -\\frac{1}{2\\sigma^2} \\sum_{n=1}^N (y_n - x_n^\\top \\theta)^2 \\right)p(y∣X,θ)=∏n=1N​p(yn​∣xn​,θ)=(2πσ21​)N/2exp(−2σ21​∑n=1N​(yn​−xn⊤​θ)2) (근거: 독립 확률변수 결합확률의 곱셈 법칙) 로그 우도 함수 계산: log⁡p(y∣X,θ)=−N2log⁡(2πσ2)−12σ2∑n=1N(yn−xn⊤θ)2\\log p(y \\mid X, \\theta) = -\\frac{N}{2}\\log(2\\pi\\sigma^2) - \\frac{1}{2\\sigma^2} \\sum_{n=1}^N (y_n - x_n^\\top \\theta)^2logp(y∣X,θ)=−2N​log(2πσ2)−2σ21​∑n=1N​(yn​−xn⊤​θ)2 (근거: 자연로그 성질 log⁡(ab)=log⁡a+log⁡b\\log(ab) = \\log a + \\log blog(ab)=loga+logb 및 log⁡(ez)=z\\log(e^z) = zlog(ez)=z) θ\\thetaθ에 관한 최대화 문제로 정리: 앞의 항 −N2log⁡(2πσ2)-\\frac{N}{2}\\log(2\\pi\\sigma^2)−2N​log(2πσ2)과 상수 12σ2\u0026gt;0\\frac{1}{2\\sigma^2} \u0026gt; 02σ21​\u0026gt;0는 θ\\thetaθ에 의존하지 않는다. 따라서: arg⁡max⁡θlog⁡p(y∣X,θ)=arg⁡max⁡θ[−∑n=1N(yn−xn⊤θ)2]=arg⁡min⁡θ∑n=1N(yn−xn⊤θ)2\\arg\\max_\\theta \\log p(y \\mid X, \\theta) = \\arg\\max_\\theta \\left[ - \\sum_{n=1}^N (y_n - x_n^\\top \\theta)^2 \\right] = \\arg\\min_\\theta \\sum_{n=1}^N (y_n - x_n^\\top \\theta)^2argmaxθ​logp(y∣X,θ)=argmaxθ​[−∑n=1N​(yn​−xn⊤​θ)2]=argminθ​∑n=1N​(yn​−xn⊤​θ)2 행렬 표기로 쓰면: arg⁡min⁡θ∥y−Xθ∥22\\arg\\min_\\theta \\|y - X\\theta\\|_2^2argminθ​∥y−Xθ∥22​ (근거: 음수 부호 반전 및 상수 계수 제거) 따라서 가우시안 노이즈 하의 MLE는 고전적 최소제곱법(OLS)과 정확히 동치이다. 유도 2: 가우시안 사전분포 하에서 MAP와 L2 정규화(Ridge)의 동치성 유도 목표: 파라미터 사전분포가 θ∼N(0,σ02I)\\theta \\sim \\mathcal{N}(0, \\sigma_0^2 I)θ∼N(0,σ02​I)일 때 MAP 추정치가 Ridge 회귀와 동치임을 유도한다.\n사전분포와 우도의 정의: 우도: log⁡p(y∣X,θ)=−12σ2∥y−Xθ∥22+const1\\log p(y \\mid X, \\theta) = -\\frac{1}{2\\sigma^2} \\|y - X\\theta\\|_2^2 + \\text{const}_1logp(y∣X,θ)=−2σ21​∥y−Xθ∥22​+const1​. 사전분포: p(θ)=(2πσ02)−D/2exp⁡(−∥θ∥222σ02) ⟹ log⁡p(θ)=−12σ02∥θ∥22+const2p(\\theta) = (2\\pi\\sigma_0^2)^{-D/2} \\exp\\left( -\\frac{\\|\\theta\\|_2^2}{2\\sigma_0^2} \\right) \\implies \\log p(\\theta) = -\\frac{1}{2\\sigma_0^2} \\|\\theta\\|_2^2 + \\text{const}_2p(θ)=(2πσ02​)−D/2exp(−2σ02​∥θ∥22​​)⟹logp(θ)=−2σ02​1​∥θ∥22​+const2​. (근거: 평균 0, 공분산 σ02I\\sigma_0^2 Iσ02​I인 다변수 가우시안 밀도함수) 로그 사후 확률 전개: log⁡p(θ∣y,X)=log⁡p(y∣X,θ)+log⁡p(θ)+const\\log p(\\theta \\mid y, X) = \\log p(y \\mid X, \\theta) + \\log p(\\theta) + \\text{const}logp(θ∣y,X)=logp(y∣X,θ)+logp(θ)+const =−12σ2∥y−Xθ∥22−12σ02∥θ∥22+const′= -\\frac{1}{2\\sigma^2} \\|y - X\\theta\\|_2^2 - \\frac{1}{2\\sigma_0^2} \\|\\theta\\|_2^2 + \\text{const}\u0026#x27;=−2σ21​∥y−Xθ∥22​−2σ02​1​∥θ∥22​+const′ (근거: 베이즈 정리의 로그 형태) 목적함수 정리: 전체 식에 −2σ2-2\\sigma^2−2σ2을 곱하여 최소화 문제로 변환: arg⁡max⁡θlog⁡p(θ∣y,X)=arg⁡min⁡θ[∥y−Xθ∥22+σ2σ02∥θ∥22]\\arg\\max_\\theta \\log p(\\theta \\mid y, X) = \\arg\\min_\\theta \\left[ \\|y - X\\theta\\|_2^2 + \\frac{\\sigma^2}{\\sigma_0^2} \\|\\theta\\|_2^2 \\right]argmaxθ​logp(θ∣y,X)=argminθ​[∥y−Xθ∥22​+σ02​σ2​∥θ∥22​] (근거: 양수 상수 곱셈은 최적화 해를 바꾸지 않음) 결과 해석: 정규화 계수를 λ=σ2σ02\\lambda = \\frac{\\sigma^2}{\\sigma_0^2}λ=σ02​σ2​로 정의하면: min⁡θ∥y−Xθ∥22+λ∥θ∥22\\min_\\theta \\|y - X\\theta\\|_2^2 + \\lambda \\|\\theta\\|_2^2minθ​∥y−Xθ∥22​+λ∥θ∥22​ 이는 정확히 L2L_2L2​ Ridge 회귀 목적함수이다! (직관: 데이터 노이즈 σ2\\sigma^2σ2가 클수록, 사전분포 분산 σ02\\sigma_0^2σ02​이 작을수록 λ\\lambdaλ가 커져 더 강력한 정규화가 걸린다). 유도 3: 라플라스 사전분포 하에서 MAP와 L1 정규화(Lasso)의 동치성 유도 목표: 파라미터 사전분포가 독립 라플라스 분포 θd∼i.i.d.Laplace(0,b)\\theta_d \\overset{\\text{i.i.d.}}{\\sim} \\text{Laplace}(0, b)θd​∼i.i.d.Laplace(0,b)일 때 MAP 추정치가 Lasso와 동치임을 유도한다.\n라플라스 사전분포의 정의: p(θ)=∏d=1D12bexp⁡(−∣θd∣b)=(12b)Dexp⁡(−1b∑d=1D∣θd∣)=(12b)Dexp⁡(−∥θ∥1b)p(\\theta) = \\prod_{d=1}^D \\frac{1}{2b} \\exp\\left( -\\frac{|\\theta_d|}{b} \\right) = \\left(\\frac{1}{2b}\\right)^D \\exp\\left( -\\frac{1}{b}\\sum_{d=1}^D |\\theta_d|\\right) = \\left(\\frac{1}{2b}\\right)^D \\exp\\left( -\\frac{\\|\\theta\\|_1}{b} \\right)p(θ)=∏d=1D​2b1​exp(−b∣θd​∣​)=(2b1​)Dexp(−b1​∑d=1D​∣θd​∣)=(2b1​)Dexp(−b∥θ∥1​​) (근거: 1차원 라플라스 확률밀도함수의 독립 결합) 로그 사전분포 계산: log⁡p(θ)=−Dlog⁡(2b)−1b∥θ∥1\\log p(\\theta) = -D \\log(2b) - \\frac{1}{b} \\|\\theta\\|_1logp(θ)=−Dlog(2b)−b1​∥θ∥1​ (근거: 자연로그 성질) 가우시안 우도와 결합한 로그 사후 확률: log⁡p(θ∣y,X)=−12σ2∥y−Xθ∥22−1b∥θ∥1+const\\log p(\\theta \\mid y, X) = -\\frac{1}{2\\sigma^2} \\|y - X\\theta\\|_2^2 - \\frac{1}{b} \\|\\theta\\|_1 + \\text{const}logp(θ∣y,X)=−2σ21​∥y−Xθ∥22​−b1​∥θ∥1​+const (근거: 베이즈 정리) 최소화 문제로 정리: −2σ2-2\\sigma^2−2σ2을 곱하면: arg⁡max⁡θlog⁡p(θ∣y,X)=arg⁡min⁡θ[∥y−Xθ∥22+2σ2b∥θ∥1]\\arg\\max_\\theta \\log p(\\theta \\mid y, X) = \\arg\\min_\\theta \\left[ \\|y - X\\theta\\|_2^2 + \\frac{2\\sigma^2}{b} \\|\\theta\\|_1 \\right]argmaxθ​logp(θ∣y,X)=argminθ​[∥y−Xθ∥22​+b2σ2​∥θ∥1​] (근거: 양수 스케일링) 결론: λ=2σ2b\\lambda = \\frac{2\\sigma^2}{b}λ=b2σ2​로 놓으면 정확히 L1L_1L1​ Lasso 회귀 목적함수와 일치한다. 유도 4: 1차원 가우시안 모델에서 베이지안 사후분포 완전 유도 목표: 데이터 x1,…,xN∼N(μ,σ2)x_1, \\dots, x_N \\sim \\mathcal{N}(\\mu, \\sigma^2)x1​,…,xN​∼N(μ,σ2) (σ2\\sigma^2σ2 기지)이고 사전분포가 μ∼N(μ0,σ02)\\mu \\sim \\mathcal{N}(\\mu_0, \\sigma_0^2)μ∼N(μ0​,σ02​)일 때, 사후분포 p(μ∣D)p(\\mu \\mid \\mathcal{D})p(μ∣D)가 가우시안임을 증명하고 모수를 유도한다.\n지수부(exponent) 수집: 가우시안 분포의 곱은 지수부의 2차식 합이 된다: p(μ∣D)∝exp⁡(−12J)p(\\mu \\mid \\mathcal{D}) \\propto \\exp\\left( -\\frac{1}{2} J \\right)p(μ∣D)∝exp(−21​J) J=(μ−μ0)2σ02+∑n=1N(xn−μ)2σ2J = \\frac{(\\mu - \\mu_0)^2}{\\sigma_0^2} + \\sum_{n=1}^N \\frac{(x_n - \\mu)^2}{\\sigma^2}J=σ02​(μ−μ0​)2​+∑n=1N​σ2(xn​−μ)2​ (근거: 베이즈 정리 비례 관계) μ\\muμ에 대한 2차식 전개: 표본평균 xˉ=1N∑xn\\bar{x} = \\frac{1}{N}\\sum x_nxˉ=N1​∑xn​을 사용하면 ∑(xn−μ)2=N(μ−xˉ)2+∑(xn−xˉ)2\\sum (x_n - \\mu)^2 = N(\\mu - \\bar{x})^2 + \\sum (x_n - \\bar{x})^2∑(xn​−μ)2=N(μ−xˉ)2+∑(xn​−xˉ)2. J=μ2−2μμ0+μ02σ02+Nμ2−2Nμxˉ+Nxˉ2σ2+constJ = \\frac{\\mu^2 - 2\\mu\\mu_0 + \\mu_0^2}{\\sigma_0^2} + \\frac{N\\mu^2 - 2N\\mu\\bar{x} + N\\bar{x}^2}{\\sigma^2} + \\text{const}J=σ02​μ2−2μμ0​+μ02​​+σ2Nμ2−2Nμxˉ+Nxˉ2​+const =μ2(1σ02+Nσ2)−2μ(μ0σ02+Nxˉσ2)+const′= \\mu^2 \\left( \\frac{1}{\\sigma_0^2} + \\frac{N}{\\sigma^2} \\right) - 2\\mu \\left( \\frac{\\mu_0}{\\sigma_0^2} + \\frac{N\\bar{x}}{\\sigma^2} \\right) + \\text{const}\u0026#x27;=μ2(σ02​1​+σ2N​)−2μ(σ02​μ0​​+σ2Nxˉ​)+const′ (근거: μ\\muμ에 관한 동류항 묶기) 완전제곱식 완성: 사후 정밀도(precision)를 1σN2=1σ02+Nσ2\\frac{1}{\\sigma_N^2} = \\frac{1}{\\sigma_0^2} + \\frac{N}{\\sigma^2}σN2​1​=σ02​1​+σ2N​이라 정의하자. J=1σN2[μ−σN2(μ0σ02+Nxˉσ2)]2+const′′J = \\frac{1}{\\sigma_N^2} \\left[ \\mu - \\sigma_N^2 \\left( \\frac{\\mu_0}{\\sigma_0^2} + \\frac{N\\bar{x}}{\\sigma^2} \\right) \\right]^2 + \\text{const}\u0026#x27;\u0026#x27;J=σN2​1​[μ−σN2​(σ02​μ0​​+σ2Nxˉ​)]2+const′′ (근거: aμ2−2bμ=a(μ−b/a)2−b2/aa\\mu^2 - 2b\\mu = a(\\mu - b/a)^2 - b^2/aaμ2−2bμ=a(μ−b/a)2−b2/a 완전제곱 공식) 사후분포 모수 도출: 따라서 사후분포 역시 가우시안 N(μN,σN2)\\mathcal{N}(\\mu_N, \\sigma_N^2)N(μN​,σN2​)이며: 1σN2=1σ02+Nσ2 ⟹ σN2=11σ02+Nσ2\\frac{1}{\\sigma_N^2} = \\frac{1}{\\sigma_0^2} + \\frac{N}{\\sigma^2} \\implies \\sigma_N^2 = \\frac{1}{\\frac{1}{\\sigma_0^2} + \\frac{N}{\\sigma^2}}σN2​1​=σ02​1​+σ2N​⟹σN2​=σ02​1​+σ2N​1​ μN=σN2(μ0σ02+Nxˉσ2)=1σ02μ0+Nσ2xˉ1σ02+Nσ2\\mu_N = \\sigma_N^2 \\left( \\frac{\\mu_0}{\\sigma_0^2} + \\frac{N\\bar{x}}{\\sigma^2} \\right) = \\frac{\\frac{1}{\\sigma_0^2}\\mu_0 + \\frac{N}{\\sigma^2}\\bar{x}}{\\frac{1}{\\sigma_0^2} + \\frac{N}{\\sigma^2}}μN​=σN2​(σ02​μ0​​+σ2Nxˉ​)=σ02​1​+σ2N​σ02​1​μ0​+σ2N​xˉ​ (해석: 사후 평균은 사전 평균 μ0\\mu_0μ0​과 데이터 평균 xˉ\\bar{x}xˉ의 정밀도 가중 평균이다!) 유도 5: 라플라스 근사를 통한 BIC(Bayesian Information Criterion) 유도 목표: 모델 증거 p(D)=∫p(D∣θ)p(θ)dθp(\\mathcal{D}) = \\int p(\\mathcal{D} \\mid \\theta) p(\\theta) d\\thetap(D)=∫p(D∣θ)p(θ)dθ로부터 점근적으로 BIC 공식이 유도됨을 보인다.\n피적분함수의 2차 테일러 전개 (라플라스 근사): g(θ)=log⁡[p(D∣θ)p(θ)]=log⁡p(D∣θ)+log⁡p(θ)g(\\theta) = \\log [p(\\mathcal{D} \\mid \\theta) p(\\theta)] = \\log p(\\mathcal{D} \\mid \\theta) + \\log p(\\theta)g(θ)=log[p(D∣θ)p(θ)]=logp(D∣θ)+logp(θ)라 하자. g(θ)g(\\theta)g(θ)의 최댓값은 MAP 추정치 θ^\\hat{\\theta}θ^에서 달성되며, 그 점에서의 1계 미분은 0이다 (∇g(θ^)=0\\nabla g(\\hat{\\theta}) = 0∇g(θ^)=0). θ^\\hat{\\theta}θ^ 근처에서 2차 테일러 전개: g(θ)≈g(θ^)−12(θ−θ^)⊤H(θ−θ^)g(\\theta) \\approx g(\\hat{\\theta}) - \\frac{1}{2} (\\theta - \\hat{\\theta})^\\top H (\\theta - \\hat{\\theta})g(θ)≈g(θ^)−21​(θ−θ^)⊤H(θ−θ^) 여기서 H=−∇2g(θ^)H = -\\nabla^2 g(\\hat{\\theta})H=−∇2g(θ^)는 음의 헤시안 행렬(Hessian)이다. (근거: 다변수 함수의 2차 테일러 근사)\n가우스 적분 수행:\np(D)=∫exp⁡(g(θ))dθ≈exp⁡(g(θ^))∫exp⁡(−12(θ−θ^)⊤H(θ−θ^))dθ\\begin{aligned} p(\\mathcal{D}) \u0026amp;= \\int \\exp(g(\\theta)) d\\theta \\\\ \u0026amp;\\approx \\exp(g(\\hat{\\theta})) \\\\ \u0026amp;\\quad \\int \\exp\\left( -\\frac{1}{2} (\\theta - \\hat{\\theta})^\\top H (\\theta - \\hat{\\theta}) \\right) d\\theta \\end{aligned}p(D)​=∫exp(g(θ))dθ≈exp(g(θ^))∫exp(−21​(θ−θ^)⊤H(θ−θ^))dθ​다변수 가우스 적분 공식 ∫exp⁡(−12v⊤Hv)dv=(2π)M/2∣H∣−1/2\\int \\exp(-\\frac{1}{2}v^\\top H v) dv = (2\\pi)^{M/2} |H|^{-1/2}∫exp(−21​v⊤Hv)dv=(2π)M/2∣H∣−1/2을 적용: p(D)≈exp⁡(g(θ^))(2π)M/2∣H∣−1/2p(\\mathcal{D}) \\approx \\exp(g(\\hat{\\theta})) (2\\pi)^{M/2} |H|^{-1/2}p(D)≈exp(g(θ^))(2π)M/2∣H∣−1/2 (근거: 양의정부호 행렬에 대한 다변수 가우스 적분 정리)\n로그 취하기: log⁡p(D)≈log⁡p(D∣θ^)+log⁡p(θ^)+M2log⁡(2π)−12log⁡∣H∣\\begin{aligned} \\log p(\\mathcal{D}) \u0026amp;\\approx \\log p(\\mathcal{D} \\mid \\hat{\\theta}) \\\\ \u0026amp;\\quad + \\log p(\\hat{\\theta}) + \\frac{M}{2}\\log(2\\pi) \\\\ \u0026amp;\\quad - \\frac{1}{2}\\log |H| \\end{aligned}logp(D)​≈logp(D∣θ^)+logp(θ^)+2M​log(2π)−21​log∣H∣​ (근거: 자연로그 성질)\nN→∞N \\to \\inftyN→∞ 점근적 분석: 데이터 NNN개가 쌓이면 헤시안 HHH는 각 데이터 샘플의 곡률이 누적되므로 H≈NH^0H \\approx N \\hat{H}_0H≈NH^0​ 꼴이 된다. 따라서 행렬식은 ∣H∣≈∣NH^0∣=NM∣H^0∣|H| \\approx |N \\hat{H}_0| = N^M |\\hat{H}_0|∣H∣≈∣NH^0​∣=NM∣H^0​∣가 되어: log⁡∣H∣≈Mlog⁡N+log⁡∣H^0∣\\log |H| \\approx M \\log N + \\log |\\hat{H}_0|log∣H∣≈MlogN+log∣H^0​∣ N→∞N \\to \\inftyN→∞일 때 log⁡N\\log NlogN에 비례하여 무한히 커지는 지배적인 항들만 남기면: log⁡p(D)≈log⁡p(D∣θ^)−12Mlog⁡N+O(1)\\begin{aligned} \\log p(\\mathcal{D}) \u0026amp;\\approx \\log p(\\mathcal{D} \\mid \\hat{\\theta}) \\\\ \u0026amp;\\quad - \\frac{1}{2} M \\log N + \\mathcal{O}(1) \\end{aligned}logp(D)​≈logp(D∣θ^)−21​MlogN+O(1)​ (근거: NNN이 커질 때 O(1)\\mathcal{O}(1)O(1) 상수항 무시) 이것이 바로 교재의 BIC 공식 (식 (8.49))이다!\n말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. 경험적 위험 최소화(ERM)란? 왜 정규화가 필요한가요? \u0026ldquo;진짜로 줄이고 싶은 것은 모르는 데이터 분포에 대한 기대 손실(참 위험)인데 계산할 수 없으니, 가진 훈련 데이터의 평균 손실(경험적 위험)을 대신 줄이는 방법입니다. 모델이 복잡하면 훈련 데이터의 잡음까지 외워 과적합되므로, 매개변수 크기에 벌점 λ∥θ∥2\\lambda\\|\\theta\\|^2λ∥θ∥2 같은 정규화 항을 더합니다. 일반화 성능은 K겹 교차검증으로 추정합니다.\u0026rdquo;\nQ. MLE와 MAP의 차이는? 가우시안 잡음과 사전분포를 가정하면 무엇이 되나요? \u0026ldquo;MLE는 가능도 p(D∣θ)p(\\mathcal D\\mid\\theta)p(D∣θ)를 최대화하고, MAP는 사전분포를 곱한 사후분포 p(θ∣D)∝p(D∣θ)p(θ)p(\\theta\\mid\\mathcal D)\\propto p(\\mathcal D\\mid\\theta)p(\\theta)p(θ∣D)∝p(D∣θ)p(θ)를 최대화합니다. 가우시안 잡음이면 MLE는 최소제곱과 같고, 가우시안 사전분포를 더한 MAP는 L2 정규화(릿지)와 같습니다. 라플라스 사전분포면 L1(라쏘)입니다. 데이터가 많아지면 MAP는 MLE에 가까워집니다.\u0026rdquo;\nQ. 베이즈 추론은 점추정과 무엇이 다른가요? \u0026ldquo;점추정은 매개변수 값을 하나만 고르지만, 베이즈 추론은 사후분포 전체를 유지합니다. 예측할 때 p(y∗∣x∗,D)=∫p(y∗∣x∗,θ)p(θ∣D)dθp(y_*\\mid x_*,\\mathcal D)=\\int p(y_*\\mid x_*,\\theta)p(\\theta\\mid\\mathcal D)d\\thetap(y∗​∣x∗​,D)=∫p(y∗​∣x∗​,θ)p(θ∣D)dθ로 모든 매개변수의 예측을 평균내므로 예측의 불확실성까지 얻습니다. 대신 주변가능도 적분이 어려워 켤레 사전분포나 근사 추론이 필요합니다.\u0026rdquo;\nQ. 방향 그래프 모델과 d-분리를 설명해 보세요. \u0026ldquo;결합분포를 각 노드가 부모에만 조건부인 인자들의 곱 ∏kp(xk∣Pak)\\prod_kp(x_k\\mid\\text{Pa}_k)∏k​p(xk​∣Pak​)로 나타내는 그래프입니다. 두 변수가 관측 집합 C\\mathcal CC가 주어졌을 때 조건부 독립인지는, 둘 사이 모든 경로가 막혔는지로 판단합니다. 사슬이나 분기 구조의 가운데 노드가 관측되면 막히고, 충돌(V) 구조는 가운데 노드와 그 자손이 모두 관측되지 않았을 때만 막힙니다. 충돌 노드를 관측하면 오히려 두 원인이 종속되는 것을 explaining away라 합니다.\u0026rdquo;\nQ. 모델 선택은 어떻게 하나요? \u0026ldquo;중첩 교차검증으로 하이퍼파라미터 선택과 성능 평가를 분리하거나, 베이즈 모델 선택으로 주변가능도 p(D∣M)p(\\mathcal D\\mid M)p(D∣M)가 큰 모델을 고릅니다. 주변가능도는 매개변수를 적분해 복잡한 모델에 자동으로 벌점을 주는 오컴의 면도날 효과가 있습니다. 근사 기준으로 AIC(log⁡p−M\\log p-Mlogp−M)와 BIC(log⁡p−12Mlog⁡N\\log p-\\frac12M\\log Nlogp−21​MlogN)가 있고, BIC가 매개변수 수에 더 큰 벌점을 줍니다.\u0026rdquo;\n연습문제 확인 문제 (10문제, 풀이 전체 포함) [문제 1] (1차원 가우시안 MLE 손계산) 데이터 포인트 3개 D={2,4,6}\\mathcal{D} = \\{2, 4, 6\\}D={2,4,6}이 가우시안 분포 N(μ,σ2)\\mathcal{N}(\\mu, \\sigma^2)N(μ,σ2)에서 추출되었다. 평균 μ\\muμ와 분산 σ2\\sigma^2σ2의 최대우도추정치(MLE)를 구하시오.\n[풀이]\n표본평균 μML\\mu_{\\text{ML}}μML​: μML=1N∑n=1Nxn=2+4+63=123=4\\mu_{\\text{ML}} = \\frac{1}{N}\\sum_{n=1}^N x_n = \\frac{2 + 4 + 6}{3} = \\frac{12}{3} = 4μML​=N1​∑n=1N​xn​=32+4+6​=312​=4 표본분산 σML2\\sigma_{\\text{ML}}^2σML2​: σML2=1N∑n=1N(xn−μML)2=(2−4)2+(4−4)2+(6−4)23=4+0+43=83≈2.667\\sigma_{\\text{ML}}^2 = \\frac{1}{N}\\sum_{n=1}^N (x_n - \\mu_{\\text{ML}})^2 = \\frac{(2 - 4)^2 + (4 - 4)^2 + (6 - 4)^2}{3} = \\frac{4 + 0 + 4}{3} = \\frac{8}{3} \\approx 2.667σML2​=N1​∑n=1N​(xn​−μML​)2=3(2−4)2+(4−4)2+(6−4)2​=34+0+4​=38​≈2.667 (주의: MLE 분산은 N−1N-1N−1이 아닌 NNN으로 나눔) 답: μML=4,σML2=83\\mu_{\\text{ML}} = 4, \\quad \\sigma_{\\text{ML}}^2 = \\frac{8}{3}μML​=4,σML2​=38​ [문제 2] (가우시안 MAP 추정 손계산) 데이터 x1=3,x2=5x_1 = 3, x_2 = 5x1​=3,x2​=5가 분산 σ2=2\\sigma^2 = 2σ2=2인 가우시안 분포 N(μ,2)\\mathcal{N}(\\mu, 2)N(μ,2)에서 추출되었다. 모평균 μ\\muμ에 대한 사전분포가 μ∼N(0,1)\\mu \\sim \\mathcal{N}(0, 1)μ∼N(0,1) (즉 μ0=0,σ02=1\\mu_0 = 0, \\sigma_0^2 = 1μ0​=0,σ02​=1)일 때, MAP 추정치 μMAP\\mu_{\\text{MAP}}μMAP​를 구하시오.\n[풀이]\n데이터 통계량: N=2N = 2N=2, 표본평균 xˉ=3+52=4\\bar{x} = \\frac{3 + 5}{2} = 4xˉ=23+5​=4. MAP 공식 적용: μMAP=1σ02μ0+Nσ2xˉ1σ02+Nσ2=11(0)+22(4)11+22=0+1(4)1+1=42=2.0\\mu_{\\text{MAP}} = \\frac{\\frac{1}{\\sigma_0^2}\\mu_0 + \\frac{N}{\\sigma^2}\\bar{x}}{\\frac{1}{\\sigma_0^2} + \\frac{N}{\\sigma^2}} = \\frac{\\frac{1}{1}(0) + \\frac{2}{2}(4)}{\\frac{1}{1} + \\frac{2}{2}} = \\frac{0 + 1(4)}{1 + 1} = \\frac{4}{2} = 2.0μMAP​=σ02​1​+σ2N​σ02​1​μ0​+σ2N​xˉ​=11​+22​11​(0)+22​(4)​=1+10+1(4)​=24​=2.0 (해석: 데이터 평균 4와 사전 평균 0의 가중 평균으로 절반 위치인 2가 도출됨) 답: μMAP=2.0\\mu_{\\text{MAP}} = 2.0μMAP​=2.0 [문제 3] (0-1 손실 vs 제곱 오차 경험적 위험 계산) 이진 분류 데이터 4개 (xn,yn)(x_n, y_n)(xn​,yn​)에 대해 모델의 실수 출력 y^n\\hat{y}_ny^​n​이 다음과 같다:\n샘플 1: 정답 y1=+1y_1 = +1y1​=+1, 예측 y^1=0.8\\hat{y}_1 = 0.8y^​1​=0.8 샘플 2: 정답 y2=+1y_2 = +1y2​=+1, 예측 y^2=−0.2\\hat{y}_2 = -0.2y^​2​=−0.2 샘플 3: 정답 y3=−1y_3 = -1y3​=−1, 예측 y^3=−0.5\\hat{y}_3 = -0.5y^​3​=−0.5 샘플 4: 정답 y4=−1y_4 = -1y4​=−1, 예측 y^4=0.1\\hat{y}_4 = 0.1y^​4​=0.1 (1) 예측 부호 sign(y^)\\text{sign}(\\hat{y})sign(y^​)를 기준으로 한 0-1 손실의 경험적 위험을 구하시오.\n(2) 제곱 오차 손실 ℓ(y,y^)=12(y−y^)2\\ell(y, \\hat{y}) = \\frac{1}{2}(y - \\hat{y})^2ℓ(y,y^​)=21​(y−y^​)2의 경험적 위험을 구하시오. [풀이]\n0-1 손실: 샘플 1: sign(0.8)=+1 ⟹ \\text{sign}(0.8) = +1 \\impliessign(0.8)=+1⟹ 일치 (0) 샘플 2: sign(−0.2)=−1≠+1 ⟹ \\text{sign}(-0.2) = -1 \\neq +1 \\impliessign(−0.2)=−1=+1⟹ 불일치 (1) 샘플 3: sign(−0.5)=−1 ⟹ \\text{sign}(-0.5) = -1 \\impliessign(−0.5)=−1⟹ 일치 (0) 샘플 4: sign(0.1)=+1≠−1 ⟹ \\text{sign}(0.1) = +1 \\neq -1 \\impliessign(0.1)=+1=−1⟹ 불일치 (1) Remp0−1=0+1+0+14=24=0.5R_{\\text{emp}}^{0-1} = \\frac{0 + 1 + 0 + 1}{4} = \\frac{2}{4} = 0.5Remp0−1​=40+1+0+1​=42​=0.5 제곱 오차 손실: 샘플 1: 12(1−0.8)2=12(0.04)=0.02\\frac{1}{2}(1 - 0.8)^2 = \\frac{1}{2}(0.04) = 0.0221​(1−0.8)2=21​(0.04)=0.02 샘플 2: 12(1−(−0.2))2=12(1.44)=0.72\\frac{1}{2}(1 - (-0.2))^2 = \\frac{1}{2}(1.44) = 0.7221​(1−(−0.2))2=21​(1.44)=0.72 샘플 3: 12(−1−(−0.5))2=12(0.25)=0.125\\frac{1}{2}(-1 - (-0.5))^2 = \\frac{1}{2}(0.25) = 0.12521​(−1−(−0.5))2=21​(0.25)=0.125 샘플 4: 12(−1−0.1)2=12(1.21)=0.605\\frac{1}{2}(-1 - 0.1)^2 = \\frac{1}{2}(1.21) = 0.60521​(−1−0.1)2=21​(1.21)=0.605 Rempsq=0.02+0.72+0.125+0.6054=1.474=0.3675R_{\\text{emp}}^{\\text{sq}} = \\frac{0.02 + 0.72 + 0.125 + 0.605}{4} = \\frac{1.47}{4} = 0.3675Rempsq​=40.02+0.72+0.125+0.605​=41.47​=0.3675 답: (1) 0.5, (2) 0.3675 [문제 4] (d-분리 기본 판정: 연쇄와 공통 원인) 그래프 A→B→CA \\to B \\to CA→B→C와 D←E→FD \\leftarrow E \\to FD←E→F가 있다. (1) BBB가 관측되지 않았을 때 AAA와 CCC는 독립인가? BBB가 관측되었을 때는 독립인가?\n(2) EEE가 관측되었을 때 DDD와 FFF는 독립인가?\n[풀이]\nA→B→CA \\to B \\to CA→B→C는 연쇄(tail-to-head) 결합이다. BBB를 모를 때: 경로가 열려 있으므로 종속이다 (A⊥̸CA \\not\\perp CA⊥C). BBB가 관측되었을 때: BBB가 경로를 차단하므로 조건부 독립이다 (A⊥C∣BA \\perp C \\mid BA⊥C∣B). D←E→FD \\leftarrow E \\to FD←E→F는 공통 원인(tail-to-tail) 결합이다. EEE가 관측되면 경로가 차단되므로 조건부 독립이다 (D⊥F∣ED \\perp F \\mid ED⊥F∣E). 답: (1) 관측 전 종속, 관측 후 독립 / (2) 독립 (D⊥F∣ED \\perp F \\mid ED⊥F∣E) [문제 5] (d-분리 고난도 판정: V-구조와 Explaining Away) 그래프 구조가 다음과 같다: X→Z←YX \\to Z \\leftarrow YX→Z←Y, 그리고 Z→WZ \\to WZ→W. (1) 아무것도 관측되지 않았을 때 XXX와 YYY는 독립인가?\n(2) WWW가 관측되었을 때 XXX와 YYY는 독립인가?\n[풀이]\nX→Z←YX \\to Z \\leftarrow YX→Z←Y는 ZZZ에서 만나는 V-구조(head-to-head / collider)이다. ZZZ나 그 자손이 관측되지 않으면 경로는 차단되어 있다. 따라서 XXX와 YYY는 무조건부 독립이다 (X⊥YX \\perp YX⊥Y). WWW는 collider ZZZ의 직계 자손(child)이다. d-분리 규칙에 따라, collider 노드 자신뿐만 아니라 그 자손 노드(WWW)가 관측 집합에 포함되는 순간 경로가 활성화(열림)된다! 따라서 WWW가 관측되면 XXX와 YYY 사이의 경로가 열려 종속이 된다 (X⊥̸Y∣WX \\not\\perp Y \\mid WX⊥Y∣W). (Explaining away 현상). 답: (1) 독립 (X⊥YX \\perp YX⊥Y), (2) 종속 (X⊥̸Y∣WX \\not\\perp Y \\mid WX⊥Y∣W) [문제 6] (중첩 교차 검증의 목적과 절차) 일반 교차 검증 대신 중첩 교차 검증(Nested Cross-Validation)을 사용하는 근본적인 이유를 데이터 누수(Data Leakage) 관점에서 서술하시오.\n[풀이] 일반 교차 검증에서는 검증 세트의 평균 성능을 기준으로 가장 좋은 하이퍼파라미터 λ∗\\lambda^*λ∗를 선택한다. 이 선택된 λ∗\\lambda^*λ∗의 검증 오차를 최종 일반화 오차라고 보고하면, 검증 데이터의 정보가 하이퍼파라미터 선택에 이미 사용되었으므로 데이터 누수(낙관적 편향)가 발생하여 실제 미래 성능보다 지나치게 좋게 평가된다. 중첩 교차 검증은 하이퍼파라미터를 튜닝하는 내부 루프(Inner loop)와, 튜닝에 전혀 관여하지 않은 데이터로 최종 일반화 성능을 정직하게 측정하는 외부 루프(Outer loop)를 완전히 분리하여 데이터 누수 없는 무편향 일반화 성능을 제공한다. 답: 하이퍼파라미터 선택에 검증 데이터가 관여함으로써 발생하는 데이터 누수 및 낙관적 편향을 제거하기 위해 내부/외부 루프를 분리함\n[문제 7] (베이즈 팩터와 사후 오즈 계산) 두 모델 M1M_1M1​과 M2M_2M2​에 대해 동일한 사전 확률 p(M1)=p(M2)=0.5p(M_1) = p(M_2) = 0.5p(M1​)=p(M2​)=0.5를 부여하였다. 관측 데이터 D\\mathcal{D}D에 대해 로그 모델 증거가 각각 log⁡p(D∣M1)=−10\\log p(\\mathcal{D} \\mid M_1) = -10logp(D∣M1​)=−10, log⁡p(D∣M2)=−13\\log p(\\mathcal{D} \\mid M_2) = -13logp(D∣M2​)=−13으로 계산되었다. (1) 베이즈 팩터 K=p(D∣M1)p(D∣M2)K = \\frac{p(\\mathcal{D} \\mid M_1)}{p(\\mathcal{D} \\mid M_2)}K=p(D∣M2​)p(D∣M1​)​를 구하시오.\n(2) 모델 M1M_1M1​의 사후 확률 p(M1∣D)p(M_1 \\mid \\mathcal{D})p(M1​∣D)를 구하시오.\n[풀이]\n베이즈 팩터: K=exp⁡(log⁡p(D∣M1)−log⁡p(D∣M2))=exp⁡(−10−(−13))=exp⁡(3)≈20.086K = \\exp(\\log p(\\mathcal{D} \\mid M_1) - \\log p(\\mathcal{D} \\mid M_2)) = \\exp(-10 - (-13)) = \\exp(3) \\approx 20.086K=exp(logp(D∣M1​)−logp(D∣M2​))=exp(−10−(−13))=exp(3)≈20.086 사후 오즈: p(M1∣D)p(M2∣D)=p(M1)p(M2)×K=1×e3=e3\\frac{p(M_1 \\mid \\mathcal{D})}{p(M_2 \\mid \\mathcal{D})} = \\frac{p(M_1)}{p(M_2)} \\times K = 1 \\times e^3 = e^3p(M2​∣D)p(M1​∣D)​=p(M2​)p(M1​)​×K=1×e3=e3 p(M1∣D)+p(M2∣D)=1p(M_1 \\mid \\mathcal{D}) + p(M_2 \\mid \\mathcal{D}) = 1p(M1​∣D)+p(M2​∣D)=1이므로: p(M1∣D)=e31+e3=20.0861+20.086=20.08621.086≈0.9526p(M_1 \\mid \\mathcal{D}) = \\frac{e^3}{1 + e^3} = \\frac{20.086}{1 + 20.086} = \\frac{20.086}{21.086} \\approx 0.9526p(M1​∣D)=1+e3e3​=1+20.08620.086​=21.08620.086​≈0.9526 답: (1) e3≈20.09e^3 \\approx 20.09e3≈20.09, (2) 약 95.3%95.3\\%95.3% [문제 8] (AIC와 BIC를 이용한 모델 선택 비교) 데이터 샘플 수 N=1000N = 1000N=1000이다.\n모델 A: 파라미터 수 MA=2M_A = 2MA​=2, 최대 로그 우도 log⁡LA=−150\\log L_A = -150logLA​=−150. 모델 B: 파라미터 수 MB=5M_B = 5MB​=5, 최대 로그 우도 log⁡LB=−140\\log L_B = -140logLB​=−140. 교재의 AIC(log⁡L−M\\log L - MlogL−M)와 BIC(log⁡L−12Mlog⁡N\\log L - \\frac{1}{2}M\\log NlogL−21​MlogN) 공식을 적용하여 각각 어느 모델이 선택되는지 판정하시오. (ln⁡1000≈6.908\\ln 1000 \\approx 6.908ln1000≈6.908). [풀이]\nAIC 계산 (클수록 우수): AICA=−150−2=−152\\text{AIC}_A = -150 - 2 = -152AICA​=−150−2=−152 AICB=−140−5=−145\\text{AIC}_B = -140 - 5 = -145AICB​=−140−5=−145 −145\u0026gt;−152-145 \u0026gt; -152−145\u0026gt;−152이므로 AIC 기준으로는 모델 B 선택. BIC 계산: 12MAln⁡N=12(2)(6.908)=6.908 ⟹ BICA=−150−6.908=−156.908\\frac{1}{2} M_A \\ln N = \\frac{1}{2}(2)(6.908) = 6.908 \\implies \\text{BIC}_A = -150 - 6.908 = -156.90821​MA​lnN=21​(2)(6.908)=6.908⟹BICA​=−150−6.908=−156.908 12MBln⁡N=12(5)(6.908)=17.270 ⟹ BICB=−140−17.270=−157.270\\frac{1}{2} M_B \\ln N = \\frac{1}{2}(5)(6.908) = 17.270 \\implies \\text{BIC}_B = -140 - 17.270 = -157.27021​MB​lnN=21​(5)(6.908)=17.270⟹BICB​=−140−17.270=−157.270 −156.908\u0026gt;−157.270-156.908 \u0026gt; -157.270−156.908\u0026gt;−157.270이므로 BIC 기준으로는 모델 A 선택! (해석: N=1000N=1000N=1000으로 데이터가 충분할 때, BIC는 복잡한 모델 B에 훨씬 더 무거운 페널티를 주어 더 단순한 모델 A를 선택함) 답: AIC는 모델 B 선택, BIC는 모델 A 선택 [문제 9] (우연적 불확실성 vs 인식론적 불확실성 구분) 다음 두 상황에서 주된 불확실성이 우연적(Aleatoric)인지 인식론적(Epistemic)인지 판별하시오: (1) 동전을 던졌을 때 앞면이 나올지 뒷면이 나올지 모르는 불확실성.\n(2) 북극곰의 몸무게를 추정하려는데, 관측된 북극곰 데이터가 단 2마리뿐이어서 발생하는 모델 파라미터의 불확실성.\n[풀이] (1) 동전 던지기는 시스템 자체의 물리적 무작위성으로, 100만 번을 던져도 다음 번 던지기의 결과는 여전히 불확실하다. ⟹ \\implies⟹ 우연적 불확실성(Aleatoric).\n(2) 북극곰 데이터는 관측 데이터가 부족하여 발생하는 파라미터에 대한 무지이며, 북극곰 1000마리의 데이터를 추가로 모으면 불확실성이 거의 사라진다. ⟹ \\implies⟹ 인식론적 불확실성(Epistemic). 답: (1) 우연적 불확실성, (2) 인식론적 불확실성\n[문제 10] (베이지안 오컴의 면도날 직관) 베이지안 모델 선택에서 복잡한 모델이 단순한 모델보다 모델 증거 p(D∣M)p(\\mathcal{D} \\mid M)p(D∣M) 관점에서 불리해질 수 있는 이유를 확률의 정규화 조건(∫p(D∣M)dD=1\\int p(\\mathcal{D} \\mid M) d\\mathcal{D} = 1∫p(D∣M)dD=1)을 바탕으로 2~3줄로 설명하시오.\n[풀이] 확률 분포의 전체 적분 값은 항상 1로 고정되어 있다. 파라미터가 많은 복잡한 모델은 생성 가능한 데이터셋의 공간이 매우 넓기 때문에 한정된 확률 질량 1을 온 우주에 얇고 넓게 분산시켜야 한다. 반면 단순한 모델은 소수의 데이터 영역에 확률 질량을 집중시킨다. 따라서 실제 관측된 데이터가 단순한 모델의 영역 안에 있다면, 단순한 모델의 확률 밀도가 복잡한 모델보다 훨씬 높아진다. 답: 총 확률 질량 1이 보존되어야 하므로, 복잡한 모델은 방대한 데이터 공간에 확률을 얇게 분산시키는 반면 단순한 모델은 집중시키기 때문임\n교재 단원 안내 (Chapter 8 연계 학습 가이드) 안내: MML 교재 원문에서 Chapter 8은 Part 2 전체를 아우르는 이론적 총론(Foundation) 챕터이므로, 장 끝에 별도의 번호 매겨진 계산 연습문제(Exercises)를 두지 않고 8.6.4 Further Reading으로 마무리됩니다. 따라서 본 장의 학습은 위에서 제공된 10개의 확인 문제와 핵심 유도 모음, 그리고 다음 9~12장에서 Chapter 8의 개념들이 어떻게 구현되는지 연계성을 확인하는 것으로 완성됩니다:\n9장 선형 회귀 (Linear Regression): 8.2절의 제곱 손실 ERM, 8.3.1절의 가우시안 MLE, 8.3.2절의 Ridge/Lasso MAP가 완전히 구현됨. 10장 차원 축소 (Dimensionality Reduction via PCA): 8.4.3절의 잠재변수 모델과 투영 오차 최소화가 구현됨. 11장 가우스 혼합 모델 (Density Estimation with GMM): 8.4.3절 잠재변수 모델의 EM 알고리즘과 8.1.3절 생성 모델이 구현됨. 12장 서포트 벡터 머신 (SVM): 8.2.2절 힌지 손실 ERM과 8.2.3절 L2L_2L2​ 마진 정규화가 7장의 KKT 조건과 결합되어 완결됨. 시험 직전 10분 요약 1. 머신러닝 3대 학습 패러다임 비교표 패러다임 핵심 목표 수식 최적화/추론 방식 장점 단점 경험적 위험 최소화 (ERM) min⁡θ1N∑ℓ(yn,f(xn))+λΩ(θ)\\min_\\theta \\frac{1}{N}\\sum \\ell(y_n, f(x_n)) + \\lambda\\Omega(\\theta)minθ​N1​∑ℓ(yn​,f(xn​))+λΩ(θ) 경사하강법 등 연속 최적화 확률 가정 불필요, 빠르고 직관적 불확실성 표현 불가, 손실함수 주관성 최대우도/최대사후 (MLE/MAP) max⁡θp(D∣θ)\\max_\\theta p(\\mathcal{D} \\mid \\theta)maxθ​p(D∣θ) 또는 max⁡θp(D∣θ)p(θ)\\max_\\theta p(\\mathcal{D} \\mid \\theta)p(\\theta)maxθ​p(D∣θ)p(θ) NLL 최소화 (점추정) 확률적 해석 가능, 사전분포로 정규화 점추정에 불과, 과적합 위험 잔존 베이지안 추론 (Bayesian) p(θ∣D)=p(D∣θ)p(θ)p(D)p(\\theta \\mid \\mathcal{D}) = \\frac{p(\\mathcal{D} \\mid \\theta)p(\\theta)}{p(\\mathcal{D})}p(θ∣D)=p(D)p(D∣θ)p(θ)​ 사후분포 계산 및 사후 예측 적분 완전한 불확실성 표현, 자동 오컴의 면도날 고차원 적분 계산의 극심한 난해성 2. d-분리 3대 모티프 판정 체크리스트 Tail-to-Head (연쇄, A→B→CA \\to B \\to CA→B→C): B∉CB \\notin \\mathcal{C}B∈/C (미관측): 경로 열림 (A⊥̸CA \\not\\perp CA⊥C) B∈CB \\in \\mathcal{C}B∈C (관측됨): 경로 차단 (A⊥C∣BA \\perp C \\mid BA⊥C∣B) Tail-to-Tail (공통 원인, A←B→CA \\leftarrow B \\to CA←B→C): B∉CB \\notin \\mathcal{C}B∈/C (미관측): 경로 열림 (A⊥̸CA \\not\\perp CA⊥C) B∈CB \\in \\mathcal{C}B∈C (관측됨): 경로 차단 (A⊥C∣BA \\perp C \\mid BA⊥C∣B) Head-to-Head (Collider, A→B←CA \\to B \\leftarrow CA→B←C): B∉CB \\notin \\mathcal{C}B∈/C 이고 BBB의 자손 ∉C\\notin \\mathcal{C}∈/C: 경로 차단 (A⊥CA \\perp CA⊥C) B∈CB \\in \\mathcal{C}B∈C 또는 BBB의 자손 ∈C\\in \\mathcal{C}∈C: 경로 열림 (A⊥̸C∣BA \\not\\perp C \\mid BA⊥C∣B)! (Explaining Away) 3. 확률적 사전분포와 정규화의 대응표 사전분포 p(θ)p(\\theta)p(θ) 음의 로그 사전분포 −log⁡p(θ)-\\log p(\\theta)−logp(θ) 대응하는 정규화 기법 효과 가우시안 N(0,σ02I)\\mathcal{N}(0, \\sigma_0^2 I)N(0,σ02​I) 12σ02∥θ∥22\\frac{1}{2\\sigma_0^2}\\|\\theta\\|_2^22σ02​1​∥θ∥22​ L2L_2L2​ 정규화 (Ridge, Weight Decay) 가중치를 부드럽게 0 쪽으로 축소 라플라스 Laplace(0,b)\\text{Laplace}(0, b)Laplace(0,b) 1b∥θ∥1\\frac{1}{b}\\|\\theta\\|_1b1​∥θ∥1​ L1L_1L1​ 정규화 (Lasso) 비중요 가중치를 정확히 0으로 만들어 희소성 유도 4. 모델 선택 정보 기준 비교 (MML 교재 표기 기준) 기준 수식 복잡도 페널티 강도 특징 AIC log⁡p(x∣θ^)−M\\log p(x \\mid \\hat{\\theta}) - Mlogp(x∣θ^)−M 약함 (파라미터 수 MMM) 우도 편향 보정, 예측 성능 중심 BIC log⁡p(x∣θ^)−12Mlog⁡N\\log p(x \\mid \\hat{\\theta}) - \\frac{1}{2}M\\log Nlogp(x∣θ^)−21​MlogN 강함 (N≥8N \\ge 8N≥8일 때 12log⁡N\u0026gt;1\\frac{1}{2}\\log N \u0026gt; 121​logN\u0026gt;1) 라플라스 근사로 유도된 베이지안 모델 증거 근사, 참 모델 탐색 중심 ","permalink":"https://qofo.github.io/posts/mml-ch08-models-and-data/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 쪽수\u003c/strong\u003e: 251\u003cdel\u003e288쪽(249\u003c/del\u003e250쪽은 Part II 표지)\u003cbr\u003e\n\u003cstrong\u003e연습문제:\u003c/strong\u003e Part II에는 장 끝 연습문제가 없어서, 확인 문제를 만들어 넣었다.\u003cbr\u003e\n\u003cstrong\u003e이 장이 뒤쪽 장에서 쓰이는 위치\u003c/strong\u003e: 8장은 MML Part 2(머신러닝 응용)의 문을 여는 \u003cstrong\u003e총론(Foundation)\u003c/strong\u003e입니다. 1~7장에서 배운 선형대수, 해석기하, 행렬분해, 미분, 확률분포, 최적화가 머신러닝의 3대 학습 패러다임(경험적 위험 최소화 ERM, 최대우도/최대사후추정 MLE/MAP, 베이지안 추론)으로 어떻게 융합되는지 체계화합니다. 9장의 선형 회귀, 10장의 차원 축소(PCA), 11장의 밀도 추정(GMM), 12장의 분류(SVM)는 모두 8장에서 정의된 원리들의 구체적인 실현체입니다.\u003c/p\u003e","title":"MML 8장 모델과 데이터: 경험적 위험, MLE와 MAP, 모델 선택"},{"content":"이 폰에서는 블로그 말고도 문서를 쓴다. 사이드 프로젝트 기획서, 기존 서비스 조사, 블로그 이전 계획 같은 것들이다. 이런 문서를 노트북이나 다른 폰의 브라우저로 읽고 싶었다. 조건은 하나다. 나만 봐야 한다.\n블로그에 올리는 방법은 쓸 수 없다. 4편에서 만든 ngrok 터널이 8080 포트를 인터넷 전체에 공개하고 있다. 그렇다고 새 서버를 0.0.0.0에 띄우면 같은 Wi-Fi의 모든 기기가 접근할 수 있다. 이 글은 Tailscale 사설망에서만 응답하는 문서 서버를 만든 기록이다.\n위협 모델부터 누가 읽으면 안 되고, 누구는 읽어도 되는지부터 정했다.\n접근 경로 허용 비고 인터넷 (ngrok 공개 주소) ✗ ngrok은 8080만 전달한다 같은 Wi-Fi의 기기 (LAN) ✗ 카페나 공용 공유기라면 모르는 사람이다 폰 안의 다른 프로세스 (127.0.0.1) ✗ 굳이 열어 둘 이유가 없다 내 Tailscale 기기 ✓ WireGuard로 암호화된 사설망 내 브라우저에서 돌아가는 남의 웹페이지 ✗ 놓치기 쉬운 경로다. 아래에서 다룬다 마지막 줄이 중요하다. 내가 Tailscale에 연결된 노트북으로 아무 웹사이트나 열었다고 하자. 그 페이지의 자바스크립트는 내 브라우저 안에서 돌기 때문에 내 tailnet 주소에 요청을 보낼 수 있다. 네트워크 경로만 막아서는 이 경로를 막지 못한다.\n1층: 방화벽이 없으니 바인딩 주소가 방화벽이다 보통의 리눅스 서버라면 0.0.0.0에 띄우고 방화벽으로 Tailscale 인터페이스만 열 것이다. 여기서는 그럴 수 없다. iptables가 설치돼 있지 않고, 설치하더라도 3편에서 본 것처럼 proot의 root는 가짜라서 커널 방화벽 규칙을 넣을 권한이 없다.\n그래서 소켓을 Tailscale 주소에만 바인딩한다. 다른 인터페이스로 들어온 연결은 커널 단계에서 거부된다. 문제는 그 주소를 알아내는 방법이다.\n최소 설치 Ubuntu라 ip 명령이 없고, 스크립트에서 흔히 읽는 /proc/net/fib_trie는 권한 거부로 읽히지 않는다. 안드로이드 VPN 인터페이스 이름은 부팅마다 tun0, tun1처럼 바뀐다. 외부 명령의 출력을 파싱하는 대신, 파이썬 표준 라이브러리로 인터페이스마다 커널에 주소를 직접 묻고(SIOCGIFADDR ioctl) Tailscale 대역(100.64.0.0/10)에 들어가는 것을 고른다.\nTAILNET_V4 = ipaddress.ip_network(\u0026#34;100.64.0.0/10\u0026#34;) def find_tailnet_ip(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: for _, name in socket.if_nameindex(): try: packed = fcntl.ioctl(sock.fileno(), 0x8915, # SIOCGIFADDR struct.pack(\u0026#34;256s\u0026#34;, name.encode()[:15])) except OSError: continue ip = socket.inet_ntoa(packed[20:24]) if ipaddress.ip_address(ip) in TAILNET_V4: return ip finally: sock.close() return None 바인딩 주소를 설정으로 바꿀 수 있게 하면, 언젠가 누군가(미래의 나 포함) 0.0.0.0을 넣는다. 그래서 허용되지 않은 주소면 아예 실행을 거부한다.\n$ PRIVATE_DOCS_BIND=0.0.0.0 python3 private_docs_server.py refusing to bind to 0.0.0.0: only tailnet (100.64.0.0/10) or loopback addresses are allowed $ echo $? 2 루프백을 허용한 것은 테스트용이다. 실제 운영은 자동 탐지(auto)만 쓴다.\nVPN은 꺼질 수 있다 Tailscale은 안드로이드 앱이고, 사람이 끄기도 하고 부팅 직후에는 아직 안 켜져 있기도 하다. 서버는 세 가지 상태를 파일에 적는다.\n상태 뜻 서버의 행동 waiting 아직 Tailscale 주소가 없음 5초마다 다시 찾는다. 소켓은 열지 않는다 listening 주소:8081 정상 30초마다 주소를 다시 확인한다 offline 주소:8081 바인딩한 뒤 VPN이 꺼짐 그대로 기다린다. 같은 주소로 돌아오면 다시 listening 주소가 바뀌면 종료 코드 3으로 스스로 끝난다. 이미 바인딩한 소켓은 새 주소로 옮길 수 없으니, 감시 데몬이 즉시 다시 띄워 새 주소에 붙게 한다. 어떤 경우에도 \u0026ldquo;주소를 못 찾았으니 일단 0.0.0.0으로\u0026quot;라는 경로는 없다. 실패하면 닫힌 쪽으로 실패한다.\n2층: 접속자 IP 확인 바인딩만으로 충분해 보이지만, 요청마다 접속자 IP가 tailnet 대역인지 한 번 더 확인한다. 설정 실수로 바인딩이 넓어지더라도 여기서 막힌다. IPv6로 매핑된 IPv4 주소(::ffff:100.x.y.z)도 풀어서 비교한다.\ndef _peer_ok(self): peer = ipaddress.ip_address(self.client_address[0].split(\u0026#34;%\u0026#34;)[0]) if peer.version == 6 and peer.ipv4_mapped: peer = peer.ipv4_mapped return any(peer in net for net in ALLOWED_NETS) # 100.64.0.0/10, fd7a:115c:a1e0::/48 3층: Host 헤더로 DNS 리바인딩 막기 위협 모델의 마지막 줄, \u0026ldquo;내 브라우저에서 도는 남의 웹페이지\u0026quot;다. 공격은 이렇게 흘러간다.\n공격자가 evil.example이라는 도메인을 만들고, 처음에는 자기 서버 IP를 응답하게 한다. 내가 그 페이지를 연다. 자바스크립트가 로드된다. 공격자가 DNS 응답을 내 tailnet 주소로 바꾼다(TTL을 아주 짧게 둔다). 페이지의 자바스크립트가 http://evil.example:8081/raw/idea-plan.md를 요청한다. 브라우저 입장에서는 같은 출처이므로 응답을 읽을 수 있다. 요청은 내 노트북에서 출발했으니 접속자 IP 검사를 통과한다. 접속자 IP는 진짜 내 기기이므로 2층으로는 막을 수 없다. 대신 이 요청의 Host 헤더는 evil.example:8081이다. 브라우저는 Host 헤더를 위조하게 두지 않는다. 그래서 Host 헤더가 내 tailnet의 이름이나 주소일 때만 응답한다.\ndef _host_ok(self): host = (self.headers.get(\u0026#34;Host\u0026#34;) or \u0026#34;\u0026#34;).strip() ...포트 떼기... try: addr = ipaddress.ip_address(name) return any(addr in net for net in ALLOWED_NETS) # tailnet IP except ValueError: pass name = name.lower().rstrip(\u0026#34;.\u0026#34;) return bool(name) and (name.endswith(\u0026#34;.ts.net\u0026#34;) # MagicDNS 전체 이름 or \u0026#34;.\u0026#34; not in name) # MagicDNS 짧은 이름 localhost.evil.com처럼 그럴듯한 이름은 점이 있고 .ts.net으로 끝나지 않으므로 거부된다. CORS 허용 헤더도 절대 보내지 않는다. 다른 출처의 페이지가 응답을 읽을 합법적인 통로도 만들지 않는 것이다.\n거부한 요청은 로그에 남긴다. 반대로 내가 문서를 읽은 기록은 남기지 않는다. 이 서버의 로그에 남아야 할 것은 이상한 접근뿐이다.\n[DENY] Host header outside the tailnet peer=100.x.y.z host=\u0026#39;evil.example.com\u0026#39; path=\u0026#39;/\u0026#39; 4층: 디렉터리가 아니라 목록 정적 파일 서버를 /root에 물리면 경로 조작 한 번에 SSH 키나 API 토큰이 나간다. 이 서버는 파일 시스템을 보여 주지 않는다. 허용 목록 파일에 적힌 문서만 존재한다.\n# private_docs.list — 여기 없는 파일은 URL을 알아도 열리지 않는다 idea.md idea-plan.md idea-research.md HUGO_MIGRATION_PLAN.md 요청의 파일 이름은 목록을 조회하는 키로만 쓰이고 경로 조립에는 쓰이지 않는다. 그래서 인코딩을 어떻게 비틀어도 목록 밖으로 나갈 방법이 없다. 이름 규칙(.md로 끝남, 점으로 시작하지 않음)과 크기 제한(2MB)도 둔다. 목록은 요청마다 다시 읽으므로 한 줄 추가하면 재시작 없이 반영된다.\n5층: 브라우저 안에서의 방어 문서에는 웹에서 조사한 내용이 섞여 있다. 복사한 문단에 HTML이 끼어 있을 수도 있다. 마크다운은 HTML을 그대로 통과시키므로 내 문서가 내 브라우저에서 스크립트를 실행하는 사고가 가능하다.\n서버는 표준 라이브러리만 쓰고 마크다운을 해석하지 않는다. 원문을 text/plain으로 내주고, 브라우저에서 marked로 변환한 뒤 DOMPurify로 정화한다. 두 라이브러리는 CDN에서 불러오지 않고 폰에 두었다. 내려받을 때 CDN이 공개한 SRI 해시(sha512)와 대조했다. 원격 이미지는 정화 단계에서 src를 지운다. 문서를 여는 순간 외부 서버에 요청이 나가면, 내가 언제 무엇을 읽는지가 그 서버에 기록된다. 모든 응답에 엄격한 보안 헤더를 붙인다. Content-Security-Policy: default-src \u0026#39;none\u0026#39;; script-src \u0026#39;self\u0026#39;; style-src \u0026#39;self\u0026#39;; img-src \u0026#39;self\u0026#39; data:; connect-src \u0026#39;self\u0026#39;; base-uri \u0026#39;none\u0026#39;; form-action \u0026#39;none\u0026#39;; frame-ancestors \u0026#39;none\u0026#39; X-Content-Type-Options: nosniff X-Frame-Options: DENY Referrer-Policy: no-referrer X-Robots-Tag: noindex, nofollow Cache-Control: no-store script-src 'self'는 인라인 스크립트와 eval을 막는다. 정화가 뚫리더라도 문서에 끼어든 스크립트는 실행되지 않는다. 그 대가로 뷰어 코드도 인라인 스크립트와 인라인 스타일을 쓸 수 없다. 테스트에 \u0026ldquo;뷰어 코드가 CSP를 어기지 않는가\u0026quot;라는 항목을 따로 넣은 이유다.\n공개 서비스와 떼어 놓기 처음에는 이 서버를 블로그의 감시 데몬(start_services.sh)에 한 줄 끼워 넣으려 했다. 그러다 멈췄다. 그 데몬은 공개 블로그를 지키는 코드다. 비공개 문서 기능을 고치다가 실수하면 블로그가 멈춘다. 두 기능은 수명도 다르다. 블로그는 늘 떠 있어야 하고, 문서 서버는 VPN이 꺼져 있으면 쉬어도 된다.\n그래서 6편의 구조를 통째로 한 벌 더 만들었다.\n구분 블로그 (공개) 문서 서버 (비공개) 서버 serve_blog.py, 0.0.0.0:8080 private_docs_server.py, 100.x.y.z:8081 감시 데몬 start_services.sh private_docs.sh Termux 쪽 런처 ensure-daemon.sh ensure-private-docs.sh 15분 감시 작업 / 기동 요청 4241 / 4242 4243 / 4244 중지 표시 .services_disabled .private_docs_disabled 감시 데몬의 뼈대(flock 단일 실행, 자식 PID 추적, 30초 유예 후 능동 헬스체크, 재시작 대기 10초→5분, 플래그 파일 재시작)는 같다. 다른 점은 둘이다.\nVPN이 꺼져 쉬는 것은 정상이다. waiting과 offline 상태는 건강한 것으로 친다. 대신 상태 파일이 90초 넘게 갱신되지 않으면 서버가 멈춘 것으로 본다. 종료 코드마다 대응이 다르다. 3(주소 변경)은 즉시 다시 띄우고, 2(허용되지 않은 주소라 거부)는 5분 뒤에 재시도한다. 설정 오류로 1초마다 재시작하는 루프를 만들지 않는다. 검증 자동화 테스트 47개 서버를 루프백에 띄우고 실제 HTTP 요청으로 확인한다. 보안 검사는 테스트에서도 꺼지지 않는다. 허용 대역만 루프백으로 바꿔 끼운다.\n분류 확인한 것 경로 조작 ../, %2F 인코딩, 이중 인코딩, NUL 바이트, 숨김 파일, 목록 밖 파일, 정적 파일 디렉터리 탈출 → 모두 404 메서드 POST·PUT·DELETE·PATCH·OPTIONS → 405 Host 헤더 외부 도메인, 사설 LAN IP, localhost.evil.com → 403 / tailnet IP, *.ts.net, 짧은 이름 → 200 접속자 IP 허용 대역을 tailnet으로 되돌리면 루프백 접속자는 모든 경로에서 403 바인딩 0.0.0.0, ::, LAN IP, 공인 IP → 실행 거부(종료 코드 2) 기타 CORS 헤더 없음, 서버 헤더에 파이썬 버전 없음, 일반 열람은 로그에 안 남음, SIGTERM 시 상태 파일 정리 브라우저 쪽은 jsdom으로 뷰어를 실제로 돌려 35개 항목을 확인했다. \u0026lt;script\u0026gt;, onerror, javascript: 링크, style 속성, iframe, form, 원격 이미지가 섞인 문서를 넣고 전부 무해화되는지 본다. 여기에는 대조군을 넣었다. 정화하기 전의 marked 출력에 그 위험 요소들이 실제로 있는지를 먼저 확인한다. 대조군이 없으면 \u0026ldquo;marked가 애초에 script를 출력하지 않아서\u0026rdquo; 통과하는 테스트와 구분할 수 없다.\n실제 배포에서 경로별로 테스트가 아닌 실제 서버에 경로별로 붙어 봤다. 주소는 예시 값으로 바꿨다.\nTailscale 주소 100.x.y.z:8081 /doc/idea-plan.md → 200 /raw/SERVER_ENVIRONMENT_SPEC.md → 404 (파일은 있지만 목록 밖) Host: evil.example.com → 403 127.0.0.1:8081 curl exit 7 (연결 거부) 192.168.0.42:8081 (LAN) curl exit 7 (연결 거부) 소켓 상태로도 확인했다.\nLISTEN 0.0.0.0 8080 ← 블로그 (ngrok이 공개) LISTEN 100.x.y.z 8081 ← 문서 서버 200이 돌아와서 놀란 경우 마지막으로 ngrok 공개 주소로 같은 경로들을 찔렀는데, 전부 200이 돌아왔다.\n/doc/idea-plan.md 200 /raw/idea-plan.md 200 /api/docs 200 /private_docs.list 200 상태 코드만 보면 문서가 새는 것처럼 보인다. 그러나 응답 본문에 기획서의 문구는 한 번도 나오지 않았다. 해시를 비교하니 이유가 보였다.\n$ curl -s $PUBLIC/ | md5sum a440348577a653352c6d78901e3e8519 - $ curl -s $PUBLIC/raw/idea-plan.md | md5sum a440348577a653352c6d78901e3e8519 - 블로그는 단일 페이지 앱이라서, 모르는 경로에는 모두 메인 페이지를 200으로 돌려준다. 상태 코드만 보는 보안 점검은 이런 서버에서 틀린 결론을 낸다. 본문을 확인하거나, 비밀이 있어야 할 자리에 표식 문자열을 두고 그 문자열이 나오는지를 봐야 한다.\n같은 김에 블로그 쪽 API(/api/post?id=)도 봤다. 글 ID를 경로에 이어 붙이는 구조라 ../root/idea-plan이 통하면 공개 주소로 기획서가 나간다. 다행히 /와 ..이 들어간 ID는 400으로 거절하고 있었다. 이런 점검은 새 비밀을 폰에 들일 때마다 다시 해야 한다. 비밀이 없던 시절의 코드는 비밀을 지키도록 만들어지지 않았다.\n감시 데몬 시험, 그리고 멈추지 않는 SIGSTOP 감시 데몬도 실제로 죽여 봤다. kill -9로 서버를 죽이면 17초 뒤 새 프로세스가 같은 주소에 붙었다. 그다음은 먹통 시험이었다. 서버를 kill -STOP으로 얼려 두면 헬스체크가 실패해야 한다. 그런데 2분이 넘도록 서버가 계속 200을 응답했다.\nState: S (sleeping) ← 정지(T)가 아니다 TracerPid: 2173 ← proot proot는 ptrace로 모든 프로세스를 추적한다. 추적당하는 프로세스에 온 신호는 먼저 추적자(proot)에게 보고되고, 추적자가 그 신호를 넘겨줄지 정한다. 결과로 보면 proot는 정지 신호를 넘겨주지 않았다. proot 안에서는 SIGSTOP으로 먹통을 흉내 낼 수 없다.\n그래서 응답하지 않는 가짜 서버를 만들어 감시 데몬 사본에 물렸다. 소켓을 열고 listen만 한 채 accept를 하지 않는 서버다. 연결은 대기열에 쌓이지만 응답은 영원히 오지 않는다.\n[21:27:43] [WARN] health check failed (up 30s, failure 1/3) [21:27:56] [WARN] health check failed (up 44s, failure 2/3) [21:28:10] [WARN] health check failed (up 58s, failure 3/3) [21:28:10] [HUNG DETECTED] server is unresponsive (pid 4955); terminating [21:28:21] [START] private docs server (pid 5432) stub start mode=exit3 [21:28:31] [REBIND] Tailscale address changed; restarting now ... stub start mode=exit2 [21:28:52] [REFUSED] server refused its bind address (code 2); retrying in 300s 먹통 감지, 주소 변경 시 즉시 재시작, 바인딩 거부 시 5분 대기가 모두 설계대로 동작했다. 7편의 먹통 감지도 이렇게 시험할 수 있었으면 재부팅을 기다리지 않아도 됐을 것이다.\n한계 HTTP다. 전송 구간은 Tailscale(WireGuard)이 암호화하지만, 브라우저는 \u0026ldquo;안전하지 않음\u0026quot;으로 표시한다. 이 폰에는 안드로이드 Tailscale 앱만 있고 tailscale serve나 tailscale cert를 쓸 CLI가 없어서 인증서를 붙이지 않았다. tailnet에 들어온 기기는 모두 읽을 수 있다. 기기를 다른 사람과 공유하고 있다면 Tailscale의 접근 제어 정책(ACL)으로 이 포트에 접근할 기기를 좁혀야 한다. 자바스크립트가 필요하다. 꺼져 있으면 원문(/raw/) 링크만 보인다. 정리 방화벽이 없으면 바인딩 주소가 방화벽이다. 그리고 그 주소를 못 찾으면 넓은 주소로 물러서지 말고 기다려야 한다. 네트워크 경로만 막으면 브라우저 경로가 남는다. 내 기기에서 도는 남의 자바스크립트는 내 사설망에 요청할 수 있다. Host 헤더 검사는 DNS 리바인딩에 대한 값싼 방어다. 디렉터리를 공개하지 말고 목록을 공개한다. 요청 값을 경로 조립에 쓰지 않으면 경로 조작 문제 자체가 사라진다. 비공개 기능은 공개 서비스와 수명을 섞지 않는다. 구조를 한 벌 더 만드는 비용이 공개 서비스를 멈추는 위험보다 싸다. 200은 증거가 아니다. 단일 페이지 앱 앞에서는 본문을 확인해야 한다. 테스트 도구가 환경에서 동작하는지부터 의심한다. proot 안에서는 SIGSTOP이 먹지 않았다. 도구가 조용히 실패하면 테스트는 거짓 안심을 준다. ","permalink":"https://qofo.github.io/posts/tailnet-only-docs-server/","summary":"\u003cp\u003e이 폰에서는 블로그 말고도 문서를 쓴다. 사이드 프로젝트 기획서, 기존 서비스 조사, 블로그 이전 계획 같은 것들이다. 이런 문서를 노트북이나 다른 폰의 브라우저로 읽고 싶었다. 조건은 하나다. \u003cstrong\u003e나만 봐야 한다.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e블로그에 올리는 방법은 쓸 수 없다. \u003ca href=\"/posts/fixed-address-without-domain/\"\u003e4편\u003c/a\u003e에서 만든 ngrok 터널이 8080 포트를 인터넷 전체에 공개하고 있다. 그렇다고 새 서버를 \u003ccode\u003e0.0.0.0\u003c/code\u003e에 띄우면 같은 Wi-Fi의 모든 기기가 접근할 수 있다. 이 글은 Tailscale 사설망에서만 응답하는 문서 서버를 만든 기록이다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"위협-모델부터\"\u003e위협 모델부터\u003c/h2\u003e\n\u003cp\u003e누가 읽으면 안 되고, 누구는 읽어도 되는지부터 정했다.\u003c/p\u003e","title":"Tailscale 안에서만 열리는 문서 서버: 방화벽 없는 폰에서 접근 제어하기"},{"content":" 교재 범위: Deisenroth, Faisal, Ong, Mathematics for Machine Learning(MML), pp. 289–316.\n선후수 연결 및 의존성: 이 장은 지도학습(Supervised Learning)의 가장 기본이자 핵심인 연속값 함수 근사 문제를 다룹니다. 2~3장의 벡터 공간·기저·직교 사영(Orthogonal Projection), 5장의 행렬 미분과 경사도(Gradient), 6장의 가우시안 분포 및 베이즈 정리(Bayes\u0026rsquo; Theorem), 7장의 볼록 최적화(Convex Optimization) 기법이 결합하여 완성됩니다. 본 장에서 확립된 최대가능도(MLE)와 베이즈 추론(Bayesian Inference)의 틀은 10장(PCA), 11장(가우스 혼합 모델 GMM), 12장(서포트 벡터 머신 SVM)으로 이어지는 기계학습 핵심 모델의 토대가 됩니다.\n0. 이 장 지도 (Roadmap) 선형 회귀(Linear Regression)는 입력 데이터 xxx와 목표값(타깃) yyy 사이의 관계를 매개변수 θ\\thetaθ에 대해 선형인 함수로 모델링하는 기법입니다. 본 장의 핵심 흐름은 \u0026ldquo;단순 최적화(MLE) →\\to→ 과적합 문제 인식 →\\to→ 확률적 사전 믿음 추가(MAP / 규제화) →\\to→ 불확실성을 완전히 다루는 베이즈 추론(Bayesian Linear Regression) →\\to→ 기하학적 본질(직교 사영) 규명\u0026rdquo;으로 발전합니다.\n절 목록 및 핵심 요약 절 번호 절 제목 (영문) 교재 쪽수 핵심 한 줄 요약 중요도 9.1 문제 정의 (Problem Formulation) 291 입력 xxx와 노이즈가 낀 목표값 yyy 사이의 선형 관계 y=ϕ(x)⊤θ+ϵy = \\phi(x)^\\top \\theta + \\epsilony=ϕ(x)⊤θ+ϵ 모델 설정 ★★☆ 9.2 모수 추정 (Parameter Estimation) 292 가능도(Likelihood)와 사후확률(Posterior)을 통한 최적 매개변수 점 추정(Point Estimation) ★★★ 9.2.1 최대가능도 추정 (Maximum Likelihood Estimation) 293 음의 로그 가능도 최소화를 통한 최소제곱법 및 정규방정식(Normal Equation) 도출 ★★★ 9.2.2 선형 회귀에서의 과적합 (Overfitting in Linear Regression) 298 복잡한 모델(고차 다항식)이 노이즈까지 암기하여 일반화 성능이 파괴되는 현상 ★★☆ 9.2.3 최대 사후확률 추정 (Maximum A Posteriori Estimation) 300 가우시안 사전분포(Prior)를 결합하여 모수의 크기를 억제하는 MAP 추정 유도 ★★★ 9.2.4 규제화로서의 MAP (MAP Estimation as Regularization) 302 MAP 목적함수와 L2L_2L2​ 능형 회귀(Ridge Regression) 손실함수의 동치 증명 ★★★ 9.3 베이즈 선형 회귀 (Bayesian Linear Regression) 303 모수를 단일 점이 아닌 확률분포 전체로 추론하여 예측 불확실성을 수치화 ★★★ 9.3.1 모델 (Model) 304 공액(켤레) 가우시안 사전분포 p(θ)p(\\theta)p(θ)와 우도 p(y∣x,θ)p(y \\mid x,\\theta)p(y∣x,θ)의 결합 모델 구성 ★★☆ 9.3.2 사전 예측 (Prior Predictions) 304 데이터를 보기 전 모델이 예측하는 출력 분포 p(y∗∣x∗)p(y_* \\mid x_*)p(y∗​∣x∗​)의 평균 및 분산 ★★☆ 9.3.3 사후 분포 (Posterior Distribution) 306 베이즈 정리를 통해 데이터 관측 후 모수의 사후 가우시안 분포 p(θ∣X,y)p(\\theta \\mid X, y)p(θ∣X,y) 유도 (Theorem 9.1) ★★★ 9.3.4 사후 예측 분포 (Posterior Predictions) 308 사후분포를 적분 소거하여 새로운 점 x∗x_*x∗​에서의 예측 분포 및 신뢰 구간 도출 ★★★ 9.3.5 주변 가능도 계산 (Computing the Marginal Likelihood) 312 모수를 적분 소거한 데이터 생성 확률 p(y∣X)p(y \\mid X)p(y∣X)을 계산하여 모델 복잡도 자동 조절 ★★★ 9.4 직교 사영으로서의 최대가능도 (ML as Orthogonal Projection) 313 NNN차원 타깃 벡터 공간에서 설계행렬의 열공간(Column Space)으로의 정사영 기하학 ★★★ 9.5 더 읽을거리 (Further Reading) 315 비모수적 확장(가우스 과정, GP)과 비선형/희소 회귀(L1 LASSO)로의 연결 ★☆☆ 중요도 선정 근거:\n9.2.1, 9.2.3, 9.2.4, 9.4 (★★★): 행렬 미분, 정규방정식 계산, 릿지 회귀의 역행렬 유도, 직교 사영의 기하학은 머신러닝 기초 수학 전반에서 가장 빈번하게 계산과 증명을 요구하는 핵심 영역입니다. 9.3.3, 9.3.4, 9.3.5 (★★★): 가우시안 사후분포 유도(제곱 완성법), 예측 불확실성 분해(인식론적 vs 우연적), 주변 가능도(Evidence) 계산은 고급 기계학습(11장 GMM, 가우스 과정, 베이지안 딥러닝)의 필수 관문입니다. 9.1, 9.2.2, 9.3.1, 9.3.2 (★★☆): 모델 정의와 개념 이해를 위해 필수적인 징검다리 단계입니다. graph TD A[\u0026#34;9.1 선형 회귀 문제 정의\u0026lt;br\u0026gt;(y = φ(x)ᵀθ + ε)\u0026#34;] --\u0026gt; B[\u0026#34;9.2.1 최대가능도 추정 (MLE)\u0026lt;br\u0026gt;(정규방정식: ΦᵀΦθ = Φᵀy)\u0026#34;] B --\u0026gt; C[\u0026#34;9.2.2 과적합 발생\u0026lt;br\u0026gt;(차수 M 증가 시 파라미터 폭증)\u0026#34;] C --\u0026gt; D[\u0026#34;9.2.3 최대 사후확률 추정 (MAP)\u0026lt;br\u0026gt;(가우시안 사전분포 결합)\u0026#34;] D --\u0026gt; E[\u0026#34;9.2.4 규제화 (Regularization)\u0026lt;br\u0026gt;(Ridge 회귀와 동치: λ = σ²/b²)\u0026#34;] A --\u0026gt; F[\u0026#34;9.3 베이즈 선형 회귀\u0026lt;br\u0026gt;(파라미터 θ의 분포 추론)\u0026#34;] F --\u0026gt; G[\u0026#34;9.3.3 사후분포 p(θ|X,y)\u0026lt;br\u0026gt;(S_N⁻¹ = S_0⁻¹ + σ⁻²ΦᵀΦ)\u0026#34;] G --\u0026gt; H[\u0026#34;9.3.4 사후 예측 분포 p(y*|x*)\u0026lt;br\u0026gt;(평균: MAP와 일치, 분산: 불확실성 정량화)\u0026#34;] G --\u0026gt; I[\u0026#34;9.3.5 주변 가능도 p(y|X)\u0026lt;br\u0026gt;(오컴의 면도날: 모델 선택)\u0026#34;] B --\u0026gt; J[\u0026#34;9.4 기하학적 관점\u0026lt;br\u0026gt;(데이터 공간 ℝᴺ에서의 직교 사영)\u0026#34;] 9.1 문제 정의 (Problem Formulation, 291쪽) 왜 필요한가 (직관과 개념) 기계학습에서 지도학습(Supervised Learning)의 목표는 입력 변수 xxx로부터 연속적인 출력 변수 yyy를 예측하는 규칙(함수 fff)을 찾는 것입니다. 이를 회귀(Regression, 곡선 적합/Curve Fitting)라고 부릅니다.\n현실 세계에서 우리가 관측하는 데이터는 결코 완전하지 않습니다. 센서의 오차, 측정의 한계, 모델이 미처 고려하지 못한 무수한 환경적 요인으로 인해 항상 잡음(노이즈, noise)이 섞여 있습니다. 따라서 우리는 단순하게 관측된 점들을 선으로 잇는 것이 아니라, \u0026ldquo;노이즈 뒤에 숨겨진 참된 시스템 함수 f(x)f(x)f(x)\u0026rdquo;를 복원해야 합니다.\n[관측 데이터] (x₁, y₁), (x₂, y₂), ..., (x_N, y_N) │ ▼ y_n = f(x_n) + ε_n (노이즈 ε_n이 섞여 있음) │ ▼ [목표] 새로운 입력 x_*가 주어졌을 때 신뢰할 수 있는 y_* 예측하기 정의와 성질 1. 기본 확률적 데이터 생성 모델 입력 데이터: xn∈RDx_n \\in \\mathbb{R}^Dxn​∈RD (DDD차원 입력 벡터, n=1,…,Nn = 1, \\dots, Nn=1,…,N) 관측 목표값: yn∈Ry_n \\in \\mathbb{R}yn​∈R (스칼라 값) 노이즈 모델: ϵn∼N(0,σ2)\\epsilon_n \\sim \\mathcal{N}(0, \\sigma^2)ϵn​∼N(0,σ2) (평균 0, 분산 σ2\\sigma^2σ2을 갖는 독립동일분포(i.i.d.) 가우시안 노이즈) 관측 방정식: yn=f(xn)+ϵny_n = f(x_n) + \\epsilon_nyn​=f(xn​)+ϵn​ 노이즈가 평균이 0인 가우시안이므로, 입력 xnx_nxn​이 주어졌을 때 목표값 yny_nyn​의 조건부 확률분포(우도, Likelihood)는 다음과 같습니다: p(yn∣xn)=N(yn∣f(xn),σ2)p(y_n \\mid x_n) = \\mathcal{N}(y_n \\mid f(x_n), \\sigma^2)p(yn​∣xn​)=N(yn​∣f(xn​),σ2) 2. 선형 회귀 모델의 정의 교재에서 정의하는 선형 회귀 함수 fff는 다음과 같습니다: f(x)=x⊤θ=∑d=1Dxdθdf(x) = x^\\top \\theta = \\sum_{d=1}^D x_d \\theta_df(x)=x⊤θ=d=1∑D​xd​θd​ 여기서 θ∈RD\\theta \\in \\mathbb{R}^Dθ∈RD는 우리가 학습해야 할 모수(매개변수 벡터, parameter vector)입니다.\n3. 비선형 특징 변환(Non-linear Feature Transformation, ϕ(x)\\phi(x)ϕ(x)) 입력 xxx와 출력 yyy 사이의 관계가 직선(평면)이 아닌 곡선일 경우, 입력 벡터 xxx를 비선형 기저 함수(basis functions)를 통해 KKK차원 특징 공간으로 변환합니다: ϕ(x)=[ϕ1(x)ϕ2(x)⋮ϕK(x)]∈RK\\phi(x) = \\begin{bmatrix} \\phi_1(x) \\\\ \\phi_2(x) \\\\ \\vdots \\\\ \\phi_K(x) \\end{bmatrix} \\in \\mathbb{R}^Kϕ(x)=​ϕ1​(x)ϕ2​(x)⋮ϕK​(x)​​∈RK 이때 회귀 함수는 다음과 같이 확장됩니다: f(x)=ϕ(x)⊤θ=∑k=1Kϕk(x)θkf(x) = \\phi(x)^\\top \\theta = \\sum_{k=1}^K \\phi_k(x) \\theta_kf(x)=ϕ(x)⊤θ=k=1∑K​ϕk​(x)θk​ 매우 중요한 포인트: 기저 함수 ϕ(x)\\phi(x)ϕ(x)가 xxx에 대해 비선형(예: x2,sin⁡(x),exp⁡(x)x^2, \\sin(x), \\exp(x)x2,sin(x),exp(x))이라 할지라도, 함수 fff는 모수 θ\\thetaθ에 대해서는 여전히 선형(Linear)입니다! 기계학습에서 \u0026lsquo;선형 회귀\u0026rsquo;라고 부르는 이유는 입력 xxx에 대해 선형이어서가 아니라, 미지의 모수 θ\\thetaθ에 대해 1차 결합(선형) 형태를 유지하기 때문입니다. 이 성질 덕분에 최적의 θ\\thetaθ를 찾는 문제가 항상 해석적(닫힌 형태, closed-form)으로 풀리게 됩니다.\n4. 행렬 및 벡터 표기법 (Matrix Notation) NNN개의 훈련 데이터를 수식으로 다루기 위해 행렬로 묶습니다:\n목표값 벡터: y=[y1y2⋮yN]∈RNy = \\begin{bmatrix} y_1 \\\\ y_2 \\\\ \\vdots \\\\ y_N \\end{bmatrix} \\in \\mathbb{R}^Ny=​y1​y2​⋮yN​​​∈RN 설계 행렬 (Design Matrix / Feature Matrix): Φ=[ϕ(x1)⊤ϕ(x2)⊤⋮ϕ(xN)⊤]=[ϕ1(x1)ϕ2(x1)…ϕK(x1)ϕ1(x2)ϕ2(x2)…ϕK(x2)⋮⋮⋱⋮ϕ1(xN)ϕ2(xN)…ϕK(xN)]∈RN×K\\Phi = \\begin{bmatrix} \\phi(x_1)^\\top \\\\ \\phi(x_2)^\\top \\\\ \\vdots \\\\ \\phi(x_N)^\\top \\end{bmatrix} = \\begin{bmatrix} \\phi_1(x_1) \u0026amp; \\phi_2(x_1) \u0026amp; \\dots \u0026amp; \\phi_K(x_1) \\\\ \\phi_1(x_2) \u0026amp; \\phi_2(x_2) \u0026amp; \\dots \u0026amp; \\phi_K(x_2) \\\\ \\vdots \u0026amp; \\vdots \u0026amp; \\ddots \u0026amp; \\vdots \\\\ \\phi_1(x_N) \u0026amp; \\phi_2(x_N) \u0026amp; \\dots \u0026amp; \\phi_K(x_N) \\end{bmatrix} \\in \\mathbb{R}^{N \\times K}Φ=​ϕ(x1​)⊤ϕ(x2​)⊤⋮ϕ(xN​)⊤​​=​ϕ1​(x1​)ϕ1​(x2​)⋮ϕ1​(xN​)​ϕ2​(x1​)ϕ2​(x2​)⋮ϕ2​(xN​)​……⋱…​ϕK​(x1​)ϕK​(x2​)⋮ϕK​(xN​)​​∈RN×K 특징 변환이 없는 표준 선형 회귀(절편 포함)의 경우, ϕ(x)=[1,x1,…,xD]⊤\\phi(x) = [1, x_1, \\dots, x_D]^\\topϕ(x)=[1,x1​,…,xD​]⊤이 되며 Φ∈RN×(D+1)\\Phi \\in \\mathbb{R}^{N \\times (D+1)}Φ∈RN×(D+1)이 됩니다. 손으로 풀어 보는 예제 [문제] 1차원 입력 데이터 3개 (N=3N=3N=3)가 주어졌습니다: (x1,y1)=(0,1),(x2,y2)=(1,3),(x3,y3)=(2,4)\\begin{aligned} (x_1, y_1) \u0026amp;= (0, 1), \\\\ (x_2, y_2) \u0026amp;= (1, 3), \\\\ (x_3, y_3) \u0026amp;= (2, 4) \\end{aligned}(x1​,y1​)(x2​,y2​)(x3​,y3​)​=(0,1),=(1,3),=(2,4)​ 절편(bias)을 포함하는 1차 직선 모델 f(x)=θ0+θ1xf(x) = \\theta_0 + \\theta_1 xf(x)=θ0​+θ1​x를 세우고자 합니다.\n특징 함수 벡터 ϕ(x)\\phi(x)ϕ(x)를 정의하시오. 설계 행렬 Φ\\PhiΦ와 타깃 벡터 yyy를 숫자로 구체적으로 구성하시오. [풀이]\n절편 θ0\\theta_0θ0​에 대응하는 상수를 1로 두고, 기울기 θ1\\theta_1θ1​에 대응하는 입력을 xxx로 두면: ϕ(x)=[1x]∈R2,θ=[θ0θ1]∈R2\\phi(x) = \\begin{bmatrix} 1 \\\\ x \\end{bmatrix} \\in \\mathbb{R}^2, \\quad \\theta = \\begin{bmatrix} \\theta_0 \\\\ \\theta_1 \\end{bmatrix} \\in \\mathbb{R}^2ϕ(x)=[1x​]∈R2,θ=[θ0​θ1​​]∈R2 따라서 f(x)=ϕ(x)⊤θ=[1,x][θ0θ1]=θ0+θ1xf(x) = \\phi(x)^\\top \\theta = [1, x] \\begin{bmatrix} \\theta_0 \\\\ \\theta_1 \\end{bmatrix} = \\theta_0 + \\theta_1 xf(x)=ϕ(x)⊤θ=[1,x][θ0​θ1​​]=θ0​+θ1​x가 성립합니다.\n데이터 x1=0,x2=1,x3=2x_1 = 0, x_2 = 1, x_3 = 2x1​=0,x2​=1,x3​=2를 각각 대입하여 행 벡터로 쌓습니다:\nn=1n=1n=1: ϕ(x1)⊤=[1,0]\\phi(x_1)^\\top = [1, 0]ϕ(x1​)⊤=[1,0] n=2n=2n=2: ϕ(x2)⊤=[1,1]\\phi(x_2)^\\top = [1, 1]ϕ(x2​)⊤=[1,1] n=3n=3n=3: ϕ(x3)⊤=[1,2]\\phi(x_3)^\\top = [1, 2]ϕ(x3​)⊤=[1,2] 따라서 설계 행렬 Φ\\PhiΦ와 타깃 벡터 yyy는 다음과 같습니다: Φ=[101112]∈R3×2,y=[134]∈R3\\begin{aligned} \\Phi \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix} \\in \\mathbb{R}^{3 \\times 2}, \\\\ y \u0026amp;= \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix} \\in \\mathbb{R}^3 \\end{aligned}Φy​=​111​012​​∈R3×2,=​134​​∈R3​ 헷갈리는 점 / 자주 하는 실수 설계 행렬의 크기 혼동: 행의 개수는 데이터 샘플 수 NNN이고, 열의 개수는 특징 차원 수 KKK (또는 D+1D+1D+1)입니다. N×KN \\times KN×K 행렬임을 항상 명심해야 합니다. 전치 행렬 Φ⊤\\Phi^\\topΦ⊤은 K×NK \\times NK×N입니다. 선형성의 의미 왜곡: \u0026ldquo;곡선을 표현하니까 비선형 회귀다\u0026quot;라고 생각하기 쉽습니다. 회귀 문제에서 선형/비선형을 판별하는 기준은 입력 xxx가 아니라 모수 θ\\thetaθ입니다. f(x)=θ1x+θ2x2+θ3sin⁡(x)f(x) = \\theta_1 x + \\theta_2 x^2 + \\theta_3 \\sin(x)f(x)=θ1​x+θ2​x2+θ3​sin(x)는 xxx에 대해서는 매우 복잡한 비선형이지만, θ\\thetaθ에 대해서는 일차 결합이므로 명백한 선형 회귀입니다. 반면 f(x)=11+e−θxf(x) = \\frac{1}{1 + e^{-\\theta x}}f(x)=1+e−θx1​는 θ\\thetaθ에 대해 비선형이므로 비선형 모델입니다. 9.2 모수 추정 (Parameter Estimation, 292쪽) 주어진 훈련 데이터 D={(xn,yn)}n=1N\\mathcal{D} = \\{(x_n, y_n)\\}_{n=1}^ND={(xn​,yn​)}n=1N​에 가장 잘 들어맞는 모수 θ\\thetaθ를 어떻게 찾아낼 수 있을까요? 9.2절에서는 이를 해결하기 위해 두 가지 대표적인 점 추정(point estimation) 기법인 최대가능도 추정(MLE)과 최대 사후확률 추정(MAP)을 다룹니다.\n9.2.1 최대가능도 추정법 (Maximum Likelihood Estimation, 293쪽) 왜 필요한가 (직관과 개념) \u0026ldquo;우리가 관측한 데이터 yyy가 나타날 확률(가능도, Likelihood)이 가장 높아지도록 모수 θ\\thetaθ를 설정하자\u0026quot;는 것이 최대가능도 추정의 기본 아이디어입니다. 노이즈가 평균 0인 정규분포(가우시안)를 따른다고 가정하면, 관측값 yny_nyn​이 모델의 예측값 ϕ(xn)⊤θ\\phi(x_n)^\\top \\thetaϕ(xn​)⊤θ에 가까울수록 확률밀도가 높아집니다. 따라서 모든 데이터 포인트에서 예측 오차의 제곱을 최소화하는 최소제곱법(Least Squares Method)과 최대가능도 추정은 수학적으로 정확히 일치하게 됩니다.\n가능도(Likelihood) 최대화 ▲ │ (로그 취하고 부호 반전) ▼ 음의 로그 가능도(Negative Log-Likelihood) 최소화 ▲ │ (가우시안 노이즈 가정 하에서) ▼ 제곱 오차합(Sum of Squared Errors) 최소화 정의와 성질 1. 가능도 함수 (Likelihood Function) 모든 데이터 포인트 (xn,yn)(x_n, y_n)(xn​,yn​)가 독립적으로 생성되었다고 가정(i.i.d.)하면, 전체 데이터셋 Y=[y1,…,yN]⊤Y = [y_1, \\dots, y_N]^\\topY=[y1​,…,yN​]⊤의 결합 우도는 각 점 우도의 곱입니다: p(Y∣X,θ)=∏n=1Np(yn∣xn,θ)=∏n=1NN(yn∣ϕ(xn)⊤θ,σ2)\\begin{aligned} p(Y \\mid X, \\theta) \u0026amp;= \\prod_{n=1}^N p(y_n \\mid x_n, \\theta) \\\\ \u0026amp;= \\prod_{n=1}^N \\mathcal{N}(y_n \\mid \\phi(x_n)^\\top \\theta, \\sigma^2) \\end{aligned}p(Y∣X,θ)​=n=1∏N​p(yn​∣xn​,θ)=n=1∏N​N(yn​∣ϕ(xn​)⊤θ,σ2)​이를 NNN차원 다변량 정규분포로 한 번에 표현하면: p(Y∣X,θ)=N(y∣Φθ,σ2IN)p(Y \\mid X, \\theta) = \\mathcal{N}(y \\mid \\Phi \\theta, \\sigma^2 I_N)p(Y∣X,θ)=N(y∣Φθ,σ2IN​) 평균 벡터: Φθ∈RN\\Phi \\theta \\in \\mathbb{R}^NΦθ∈RN (모델의 예측값 벡터 y^\\hat{y}y^​) 공분산 행렬: σ2IN∈RN×N\\sigma^2 I_N \\in \\mathbb{R}^{N \\times N}σ2IN​∈RN×N (모든 데이터 포인트의 노이즈가 독립이고 동일한 분산 σ2\\sigma^2σ2을 가짐) 2. 음의 로그 가능도 (Negative Log-Likelihood, NLL) 곱셈으로 이루어진 가능도 함수를 미분하기 편하게 만들기 위해 자연로그를 취하고 부호를 바꿉니다(로그는 단조 증가 함수이므로 최적화 위치는 변하지 않습니다): L(θ)=−log⁡p(Y∣X,θ)=−log⁡((2πσ2)−N2exp⁡(−12σ2(y−Φθ)⊤(y−Φθ)))\\begin{aligned} \\mathcal{L}(\\theta) \u0026amp;= -\\log p(Y \\mid X, \\theta) \\\\ \u0026amp;= -\\log \\Bigl( (2\\pi \\sigma^2)^{-\\frac{N}{2}} \\\\ \u0026amp;\\quad \\exp\\Bigl( -\\frac{1}{2\\sigma^2} (y - \\Phi\\theta)^\\top \\\\ \u0026amp;\\qquad\\quad (y - \\Phi\\theta) \\Bigr) \\Bigr) \\end{aligned}L(θ)​=−logp(Y∣X,θ)=−log((2πσ2)−2N​exp(−2σ21​(y−Φθ)⊤(y−Φθ)))​ =N2log⁡(2πσ2)+12σ2∥y−Φθ∥2= \\frac{N}{2} \\log(2\\pi\\sigma^2) + \\frac{1}{2\\sigma^2} \\|y - \\Phi\\theta\\|^2=2N​log(2πσ2)+2σ21​∥y−Φθ∥2여기서 θ\\thetaθ에 무관한 상수항과 양수 계수 12σ2\\frac{1}{2\\sigma^2}2σ21​을 제외하면, 최대가능도 추정은 오차의 L2L_2L2​ 노름 제곱을 최소화하는 최소제곱 문제로 귀결됩니다: θML=arg⁡min⁡θ∥y−Φθ∥2=arg⁡min⁡θ(y−Φθ)⊤(y−Φθ)\\begin{aligned} \\theta_{ML} \u0026amp;= \\arg\\min_\\theta \\|y - \\Phi\\theta\\|^2 \\\\ \u0026amp;= \\arg\\min_\\theta (y - \\Phi\\theta)^\\top (y - \\Phi\\theta) \\end{aligned}θML​​=argθmin​∥y−Φθ∥2=argθmin​(y−Φθ)⊤(y−Φθ)​3. 경사도(Gradient)와 정규방정식 (Normal Equation) 목적함수를 θ\\thetaθ에 대해 행렬 미분합니다: L(θ)=12σ2(y⊤y−2y⊤Φθ+θ⊤Φ⊤Φθ)+상수\\begin{aligned} \\mathcal{L}(\\theta) \u0026amp;= \\frac{1}{2\\sigma^2} \\bigl( y^\\top y - 2 y^\\top \\Phi \\theta \\\\ \u0026amp;\\quad + \\theta^\\top \\Phi^\\top \\Phi \\theta \\bigr) + \\text{상수} \\end{aligned}L(θ)​=2σ21​(y⊤y−2y⊤Φθ+θ⊤Φ⊤Φθ)+상수​ ∇θL(θ)=1σ2(Φ⊤Φθ−Φ⊤y)\\nabla_\\theta \\mathcal{L}(\\theta) = \\frac{1}{\\sigma^2} \\left( \\Phi^\\top \\Phi \\theta - \\Phi^\\top y \\right)∇θ​L(θ)=σ21​(Φ⊤Φθ−Φ⊤y)최적점에서는 경사도가 영벡터(000)가 되어야 하므로: Φ⊤Φθ−Φ⊤y=0 ⟺ Φ⊤Φθ=Φ⊤y\\Phi^\\top \\Phi \\theta - \\Phi^\\top y = 0 \\iff \\Phi^\\top \\Phi \\theta = \\Phi^\\top yΦ⊤Φθ−Φ⊤y=0⟺Φ⊤Φθ=Φ⊤y 이 방정식을 정규방정식(Normal Equation)이라고 부릅니다.\nΦ⊤Φ∈RK×K\\Phi^\\top \\Phi \\in \\mathbb{R}^{K \\times K}Φ⊤Φ∈RK×K가 가역 행렬(역행렬이 존재)인 경우, 유일한 해석적 해가 도출됩니다: θML=(Φ⊤Φ)−1Φ⊤y\\theta_{ML} = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top yθML​=(Φ⊤Φ)−1Φ⊤y4. 노이즈 분산 σ2\\sigma^2σ2의 최대가능도 추정 NLL을 σ2\\sigma^2σ2에 대해 편미분하여 0으로 두면: ∂L∂σ2=N2σ2−12(σ2)2∥y−Φθ∥2=0\\frac{\\partial \\mathcal{L}}{\\partial \\sigma^2} = \\frac{N}{2\\sigma^2} - \\frac{1}{2(\\sigma^2)^2} \\|y - \\Phi\\theta\\|^2 = 0∂σ2∂L​=2σ2N​−2(σ2)21​∥y−Φθ∥2=0 σML2=1N∥y−ΦθML∥2=1N∑n=1N(yn−ϕ(xn)⊤θML)2\\begin{aligned} \\sigma_{ML}^2 \u0026amp;= \\frac{1}{N} \\|y - \\Phi\\theta_{ML}\\|^2 \\\\ \u0026amp;= \\frac{1}{N} \\sum_{n=1}^N (y_n - \\phi(x_n)^\\top \\theta_{ML})^2 \\end{aligned}σML2​​=N1​∥y−ΦθML​∥2=N1​n=1∑N​(yn​−ϕ(xn​)⊤θML​)2​ 즉, 최적 모델의 잔차 제곱 평균(MSE)이 곧 노이즈 분산의 MLE 추정량입니다.\n손으로 풀어 보는 예제 앞선 9.1절의 3개 데이터 포인트를 그대로 사용해 θML\\theta_{ML}θML​을 손으로 끝까지 구해봅시다: Φ=[101112],y=[134]\\Phi = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix}, \\quad y = \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix}Φ=​111​012​​,y=​134​​[1단계: Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ 계산] Φ⊤=[111012]\\Phi^\\top = \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix}Φ⊤=[10​11​12​] Φ⊤Φ=[111012][101112]=[1+1+10+1+20+1+20+1+4]=[3335]\\begin{aligned} \\Phi^\\top \\Phi \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1+1+1 \u0026amp; 0+1+2 \\\\ 0+1+2 \u0026amp; 0+1+4 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix} \\end{aligned}Φ⊤Φ​=[10​11​12​]​111​012​​=[1+1+10+1+2​0+1+20+1+4​]=[33​35​]​[2단계: 역행렬 (Φ⊤Φ)−1(\\Phi^\\top \\Phi)^{-1}(Φ⊤Φ)−1 계산] 행렬식(determinant): det⁡(Φ⊤Φ)=(3)(5)−(3)(3)=15−9=6≠0\\det(\\Phi^\\top \\Phi) = (3)(5) - (3)(3) = 15 - 9 = 6 \\neq 0det(Φ⊤Φ)=(3)(5)−(3)(3)=15−9=6=0 (역행렬 존재) (Φ⊤Φ)−1=16[5−3−33](\\Phi^\\top \\Phi)^{-1} = \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix}(Φ⊤Φ)−1=61​[5−3​−33​][3단계: Φ⊤y\\Phi^\\top yΦ⊤y 계산] Φ⊤y=[111012][134]=[1+3+40+3+8]=[811]\\begin{aligned} \\Phi^\\top y \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1 + 3 + 4 \\\\ 0 + 3 + 8 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} \\end{aligned}Φ⊤y​=[10​11​12​]​134​​=[1+3+40+3+8​]=[811​]​[4단계: θML\\theta_{ML}θML​ 곱셈 계산] θML=(Φ⊤Φ)−1Φ⊤y=16[5−3−33][811]=16[(5)(8)+(−3)(11)(−3)(8)+(3)(11)]=16[40−33−24+33]=16[79]=[7/63/2]\\begin{aligned} \\theta_{ML} \u0026amp;= (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top y \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix} \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} (5)(8) + (-3)(11) \\\\ (-3)(8) + (3)(11) \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 40 - 33 \\\\ -24 + 33 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 7 \\\\ 9 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 7/6 \\\\ 3/2 \\end{bmatrix} \\end{aligned}θML​​=(Φ⊤Φ)−1Φ⊤y=61​[5−3​−33​][811​]=61​[(5)(8)+(−3)(11)(−3)(8)+(3)(11)​]=61​[40−33−24+33​]=61​[79​]=[7/63/2​]​ 따라서 최적의 선형 함수는 f(x)=76+32xf(x) = \\frac{7}{6} + \\frac{3}{2}xf(x)=67​+23​x (y≈1.167+1.5xy \\approx 1.167 + 1.5xy≈1.167+1.5x) 입니다.\n[5단계: 예측값 y^\\hat{y}y^​, 잔차 eee, 노이즈 분산 σML2\\sigma_{ML}^2σML2​ 계산] y^=ΦθML=[101112][7/69/6]=[7/616/625/6]\\hat{y} = \\Phi \\theta_{ML} = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 7/6 \\\\ 9/6 \\end{bmatrix} = \\begin{bmatrix} 7/6 \\\\ 16/6 \\\\ 25/6 \\end{bmatrix}y^​=ΦθML​=​111​012​​[7/69/6​]=​7/616/625/6​​ 잔차 벡터 e=y−y^e = y - \\hat{y}e=y−y^​: e=[134]−[7/616/625/6]=[6/6−7/618/6−16/624/6−25/6]=[−1/62/6−1/6]=16[−12−1]\\begin{aligned} e \u0026amp;= \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix} - \\begin{bmatrix} 7/6 \\\\ 16/6 \\\\ 25/6 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 6/6 - 7/6 \\\\ 18/6 - 16/6 \\\\ 24/6 - 25/6 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} -1/6 \\\\ 2/6 \\\\ -1/6 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} -1 \\\\ 2 \\\\ -1 \\end{bmatrix} \\end{aligned}e​=​134​​−​7/616/625/6​​=​6/6−7/618/6−16/624/6−25/6​​=​−1/62/6−1/6​​=61​​−12−1​​​노이즈 분산 추정량: σML2=13∥e∥2=13⋅136((−1)2+22+(−1)2)=13⋅636=118≈0.0556\\begin{aligned} \\sigma_{ML}^2 \u0026amp;= \\frac{1}{3} \\|e\\|^2 \\\\ \u0026amp;= \\frac{1}{3} \\cdot \\frac{1}{36} \\left( (-1)^2 + 2^2 + (-1)^2 \\right) \\\\ \u0026amp;= \\frac{1}{3} \\cdot \\frac{6}{36} \\\\ \u0026amp;= \\frac{1}{18} \\\\ \u0026amp;\\approx 0.0556 \\end{aligned}σML2​​=31​∥e∥2=31​⋅361​((−1)2+22+(−1)2)=31​⋅366​=181​≈0.0556​ 헷갈리는 점 / 자주 하는 실수 Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ가 가역이 아닌 경우: 데이터 수 NNN보다 특징 차원 KKK가 더 큰 경우 (N\u0026lt;KN \u0026lt; KN\u0026lt;K), Φ\\PhiΦ의 계수(rank)는 최대 NNN이므로 K×KK \\times KK×K 행렬인 Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ의 계수도 최대 N\u0026lt;KN \u0026lt; KN\u0026lt;K가 되어 특이 행렬(Singular Matrix, 행렬식이 0)이 됩니다. 이때는 정규방정식의 해가 무수히 많아지며, (Φ⊤Φ)−1(\\Phi^\\top \\Phi)^{-1}(Φ⊤Φ)−1을 직접 구할 수 없습니다 (무어-펜로즈 유사역행렬 사용 필요). 행렬 미분의 전치 기호 주의: MML은 스칼라를 벡터로 미분한 결과를 행벡터로 쓴다(5장). 그래서 교재 식 (9.11)은 dLdθ=1σ2(−y⊤Φ+θ⊤Φ⊤Φ)∈R1×K\\frac{d\\mathcal{L}}{d\\theta}=\\frac{1}{\\sigma^2}\\left(-y^\\top\\Phi+\\theta^\\top\\Phi^\\top\\Phi\\right)\\in\\mathbb{R}^{1\\times K}dθdL​=σ21​(−y⊤Φ+θ⊤Φ⊤Φ)∈R1×K이다. 이 해설은 보기 편하게 전치한 열벡터로 썼다. 어느 쪽이든 0으로 두면 같은 정규방정식 Φ⊤Φθ=Φ⊤y\\Phi^\\top\\Phi\\theta=\\Phi^\\top yΦ⊤Φθ=Φ⊤y가 나온다. 9.2.2 선형 회귀에서의 과적합 (Overfitting in Linear Regression, 298쪽) 왜 필요한가 (직관과 개념) 다항 회귀(Polynomial Regression)에서 기저 함수를 ϕ(x)=[1,x,x2,…,xM]⊤\\phi(x) = [1, x, x^2, \\dots, x^M]^\\topϕ(x)=[1,x,x2,…,xM]⊤로 설정하면, 차수 MMM이 커질수록 모델이 표현할 수 있는 함수의 유연성(expressive power)이 급격히 증가합니다.\nMMM이 너무 작으면: 데이터의 진정한 곡선 패턴을 잡아내지 못함 (과소적합, Underfitting) MMM이 데이터 수 NNN에 육박하면: 데이터에 포함된 무작위 노이즈 하나하나까지 정확히 통과하려고 함수가 요동침 (과적합, Overfitting) Underfitting (M=0,1) Good Fit (M=3) Overfitting (M=9) y y y │ / │ ╭─╮ │ ╭╮ ╭╮ │ / │ ╭╯ ╰╮ │ ╭╯╰╮╭╯╰╮ │ / │ ╭╯ ╰╮ │ ╭╯ ╰╯ ╰╮ └──/───── x └───╯─────╰── x └──╯───────╰── x 오차가 매우 큼 진짜 함수를 복원 훈련 오차=0, 시험 오차=폭망 정의와 성질 훈련 오차(Training Error)와 시험 오차(Test Error)의 괴리: 차수 MMM이 증가할수록 훈련 데이터에 대한 제곱 오차 Etrain=12∥y−Φθ∥2E_{train} = \\frac{1}{2}\\|y - \\Phi\\theta\\|^2Etrain​=21​∥y−Φθ∥2는 단조 감소하여, M=N−1M = N-1M=N−1이 되면 000이 됩니다. 그러나 훈련에 사용되지 않은 새로운 입력 x∗x_*x∗​에 대한 일반화 오차(Generalization/Test Error)는 특정 차수를 넘어서는 순간 기하급수적으로 폭증합니다. 모수 크기(Parameter Magnitude)의 폭발: 과적합이 일어날 때 발생하는 가장 결정적인 징후는 모수 벡터 θ\\thetaθ의 절댓값(노름 ∥θ∥2\\|\\theta\\|_2∥θ∥2​)이 비정상적으로 거대해진다는 점입니다. 인접한 데이터 포인트 사이의 아주 미세한 노이즈 차이를 맞추기 위해, 거대한 양수 계수와 거대한 음수 계수가 서로 아슬아슬하게 상쇄되면서 극단적인 진동을 만들어냅니다. 9.2.3 최대 사후확률 추정법 (Maximum A Posteriori Estimation, 300쪽) 왜 필요한가 (직관과 개념) MLE는 데이터에만 전적으로 의존하기 때문에 데이터가 적거나 모델이 복잡하면 과적합에 무방비로 노출됩니다. \u0026ldquo;자연스러운 물리계나 일반적인 현상에서 회귀 계수 θ\\thetaθ가 수십만, 수백만 같은 극단적인 값을 가질 리 없다. θ\\thetaθ는 0 주변의 작은 값일 가능성이 높다\u0026quot;는 사전 지식(사전 믿음, Prior Belief)을 수학적으로 모델에 부여하는 방법이 바로 최대 사후확률 추정(MAP)입니다.\n정의와 성질 1. 베이즈 정리와 사후확률 (Posterior) 모수 θ\\thetaθ의 사후확률분포 p(θ∣X,Y)p(\\theta \\mid X, Y)p(θ∣X,Y)는 가능도와 사전분포의 곱에 비례합니다: p(θ∣X,Y)=p(Y∣X,θ)p(θ)p(Y∣X)∝p(Y∣X,θ)p(θ)\\begin{aligned} p(\\theta \\mid X, Y) \u0026amp;= \\frac{p(Y \\mid X, \\theta) p(\\theta)}{p(Y \\mid X)} \\\\ \u0026amp;\\propto p(Y \\mid X, \\theta) p(\\theta) \\end{aligned}p(θ∣X,Y)​=p(Y∣X)p(Y∣X,θ)p(θ)​∝p(Y∣X,θ)p(θ)​ 사전분포 p(θ)p(\\theta)p(θ): 데이터를 관측하기 전에 모수에 대해 갖는 믿음. 교재에서는 평균 0, 분산 b2b^2b2을 갖는 등방성(isotropic) 가우시안 사전분포를 채택합니다: p(θ)=N(θ∣0,b2I)=(2πb2)−K2exp⁡(−12b2θ⊤θ)p(\\theta) = \\mathcal{N}(\\theta \\mid 0, b^2 I) = (2\\pi b^2)^{-\\frac{K}{2}} \\exp\\left( -\\frac{1}{2b^2} \\theta^\\top \\theta \\right)p(θ)=N(θ∣0,b2I)=(2πb2)−2K​exp(−2b21​θ⊤θ) MAP 추정량의 정의: 사후확률 밀도를 최대화(음의 로그 사후확률을 최소화)하는 모수: θMAP=arg⁡max⁡θp(θ∣X,Y)=arg⁡min⁡θ{−log⁡p(Y∣X,θ)−log⁡p(θ)}\\theta_{MAP} = \\arg\\max_\\theta p(\\theta \\mid X, Y) = \\arg\\min_\\theta \\left\\{ -\\log p(Y \\mid X, \\theta) - \\log p(\\theta) \\right\\}θMAP​=argmaxθ​p(θ∣X,Y)=argminθ​{−logp(Y∣X,θ)−logp(θ)} 2. 음의 로그 사후확률의 최소화 −log⁡p(θ∣X,Y)=12σ2(y−Φθ)⊤(y−Φθ)+12b2θ⊤θ+상수\\begin{aligned} \u0026amp;-\\log p(\\theta \\mid X, Y) \\\\ \u0026amp;= \\frac{1}{2\\sigma^2} (y - \\Phi\\theta)^\\top (y - \\Phi\\theta) \\\\ \u0026amp;\\quad + \\frac{1}{2b^2} \\theta^\\top \\theta + \\text{상수} \\end{aligned}​−logp(θ∣X,Y)=2σ21​(y−Φθ)⊤(y−Φθ)+2b21​θ⊤θ+상수​ 양변에 σ2\\sigma^2σ2을 곱해 정리하면 다음과 같은 목적함수를 최소화하는 것과 같습니다: JMAP(θ)=12∥y−Φθ∥2+σ22b2∥θ∥2J_{MAP}(\\theta) = \\frac{1}{2} \\|y - \\Phi\\theta\\|^2 + \\frac{\\sigma^2}{2b^2} \\|\\theta\\|^2JMAP​(θ)=21​∥y−Φθ∥2+2b2σ2​∥θ∥23. 경사도 및 MAP 닫힌 형태 해 도출 목적함수를 θ\\thetaθ에 대해 미분하여 0으로 둡니다: ∇θJMAP(θ)=Φ⊤(Φθ−y)+σ2b2θ=0\\nabla_\\theta J_{MAP}(\\theta) = \\Phi^\\top (\\Phi\\theta - y) + \\frac{\\sigma^2}{b^2} \\theta = 0∇θ​JMAP​(θ)=Φ⊤(Φθ−y)+b2σ2​θ=0 (Φ⊤Φ+σ2b2I)θ=Φ⊤y\\left( \\Phi^\\top \\Phi + \\frac{\\sigma^2}{b^2} I \\right) \\theta = \\Phi^\\top y(Φ⊤Φ+b2σ2​I)θ=Φ⊤y따라서 MAP 추정량은 다음과 같습니다: θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\\theta_{MAP} = \\left( \\Phi^\\top \\Phi + \\frac{\\sigma^2}{b^2} I \\right)^{-1} \\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y 수학적 보장: 만약 b2\u0026gt;0,σ2\u0026gt;0b^2 \u0026gt; 0, \\sigma^2 \u0026gt; 0b2\u0026gt;0,σ2\u0026gt;0이면, 대칭 양의 준정부호(positive semi-definite) 행렬인 Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ에 양의 대각행렬 σ2b2I\\frac{\\sigma^2}{b^2} Ib2σ2​I가 더해지므로, 결과 행렬은 항상 엄격한 양의 정부호(strictly positive definite) 행렬이 되어 언제나 역행렬이 존재합니다! 즉, N\u0026lt;KN \u0026lt; KN\u0026lt;K인 경우에도 MAP 해는 유일하게 안정적으로 계산됩니다.\n9.2.4 규제화 관점에서의 MAP 추정 (MAP Estimation as Regularization, 302쪽) 왜 필요한가 (직관과 개념) 통계학과 기계학습의 최적화 이론에서는 과적합을 막기 위해 손실함수에 가중치 크기에 대한 페널티 항을 인위적으로 더해주는 규제화(Regularization) 기법을 오랫동안 사용해 왔습니다. 9.2.4절은 이 순수 최적화적 기법이 확률론적 MAP 추정과 정확히 동일한 것임을 보여줍니다.\n정의와 성질 1. 정규화 최소제곱법 (Regularized Least Squares / Ridge Regression) 손실함수는 데이터 적합도(오차) 항과 정규화 항(페널티)의 합으로 구성됩니다: JRLS(θ)=12∥y−Φθ∥2+λ2∥θ∥22J_{RLS}(\\theta) = \\frac{1}{2} \\|y - \\Phi\\theta\\|^2 + \\frac{\\lambda}{2} \\|\\theta\\|_2^2JRLS​(θ)=21​∥y−Φθ∥2+2λ​∥θ∥22​ 첫 번째 항: 데이터 부적합도(Misfit term) — 훈련 데이터를 얼마나 잘 맞추는가 두 번째 항: 정규화기(Regularizer) — 모수 벡터의 크기를 작게 유지하도록 강제 λ≥0\\lambda \\ge 0λ≥0: 정규화 강도(Regularization parameter / 하이퍼파라미터) 이를 미분하여 구한 해는: θRLS=(Φ⊤Φ+λI)−1Φ⊤y\\theta_{RLS} = (\\Phi^\\top \\Phi + \\lambda I)^{-1} \\Phi^\\top yθRLS​=(Φ⊤Φ+λI)−1Φ⊤y2. MAP와 능형 회귀(Ridge)의 동치성 MAP 추정량과 능형 회귀의 해를 비교하면 정확히 다음 관계가 성립함을 알 수 있습니다: λ=σ2b2=관측 노이즈 분산사전 모수 분산\\lambda = \\frac{\\sigma^2}{b^2} = \\frac{\\text{관측 노이즈 분산}}{\\text{사전 모수 분산}}λ=b2σ2​=사전 모수 분산관측 노이즈 분산​ 노이즈 σ2\\sigma^2σ2이 클수록 →\\to→ 관측 데이터를 덜 믿어야 하므로 규제 강도 λ\\lambdaλ를 높임 사전 믿음의 분산 b2b^2b2이 작을수록(모수가 0에 가깝다는 확신이 강할수록) →λ\\to \\lambda→λ를 높여 0으로 강하게 수축시킴 사전 믿음이 전혀 없으면 (b2→∞b^2 \\to \\inftyb2→∞) →λ→0\\to \\lambda \\to 0→λ→0이 되어 θMAP=θML\\theta_{MAP} = \\theta_{ML}θMAP​=θML​ (MLE로 복귀) 3. L1 규제 (LASSO)와 라플라스 사전분포 (Laplace Prior) (교재 9.5절 및 보충) 정규화 항을 L2L_2L2​ 노름 대신 L1L_1L1​ 노름 ∥θ∥1=∑∣θk∣\\|\\theta\\|_1 = \\sum |\\theta_k|∥θ∥1​=∑∣θk​∣로 바꾸면 라쏘(LASSO)가 됩니다: JLASSO(θ)=12∥y−Φθ∥2+λ∥θ∥1J_{LASSO}(\\theta) = \\frac{1}{2} \\|y - \\Phi\\theta\\|^2 + \\lambda \\|\\theta\\|_1JLASSO​(θ)=21​∥y−Φθ∥2+λ∥θ∥1​ 확률론적으로 이는 모수의 사전분포를 가우시안 대신 라플라스 분포(Laplace Distribution)로 설정한 MAP 추정과 완전히 동치입니다: p(θ)=∏k=1K12bexp⁡(−∣θk∣b) ⟹ −log⁡p(θ)=1b∥θ∥1+상수\\begin{aligned} p(\\theta) \u0026amp;= \\prod_{k=1}^K \\frac{1}{2b} \\exp\\left( -\\frac{|\\theta_k|}{b} \\right) \\\\ \u0026amp;\\implies -\\log p(\\theta) = \\frac{1}{b} \\|\\theta\\|_1 + \\text{상수} \\end{aligned}p(θ)​=k=1∏K​2b1​exp(−b∣θk​∣​)⟹−logp(θ)=b1​∥θ∥1​+상수​ 라플라스 분포는 0 지점에서 뾰족한 첨점(모서리)을 가지므로, 최적화 과정에서 불필요한 가중치를 정확히 000으로 만들어 희소성(Sparsity)과 자동 변수 선택(Variable Selection) 효과를 낳습니다.\n손으로 풀어 보는 예제 앞선 예제 (Φ⊤Φ=[3335],Φ⊤y=[811]\\Phi^\\top \\Phi = \\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix}, \\Phi^\\top y = \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix}Φ⊤Φ=[33​35​],Φ⊤y=[811​])에서, 노이즈 분산 σ2=1\\sigma^2 = 1σ2=1, 사전분포 분산 b2=1b^2 = 1b2=1 (λ=σ2/b2=1\\lambda = \\sigma^2/b^2 = 1λ=σ2/b2=1)로 설정하고 θMAP\\theta_{MAP}θMAP​을 손으로 계산해 봅시다.\n[1단계: (Φ⊤Φ+λI)(\\Phi^\\top \\Phi + \\lambda I)(Φ⊤Φ+λI) 계산] Φ⊤Φ+λI=[3335]+[1001]=[4336]\\begin{aligned} \\Phi^\\top \\Phi + \\lambda I \u0026amp;= \\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix} + \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 4 \u0026amp; 3 \\\\ 3 \u0026amp; 6 \\end{bmatrix} \\end{aligned}Φ⊤Φ+λI​=[33​35​]+[10​01​]=[43​36​]​[2단계: 역행렬 계산] det⁡=(4)(6)−(3)(3)=24−9=15\\det = (4)(6) - (3)(3) = 24 - 9 = 15det=(4)(6)−(3)(3)=24−9=15 (Φ⊤Φ+I)−1=115[6−3−34](\\Phi^\\top \\Phi + I)^{-1} = \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix}(Φ⊤Φ+I)−1=151​[6−3​−34​][3단계: θMAP\\theta_{MAP}θMAP​ 계산] θMAP=115[6−3−34][811]=115[(6)(8)+(−3)(11)(−3)(8)+(4)(11)]=115[48−33−24+44]=115[1520]=[14/3]≈[1.0001.333]\\begin{aligned} \\theta_{MAP} \u0026amp;= \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{15} \\begin{bmatrix} (6)(8) + (-3)(11) \\\\ (-3)(8) + (4)(11) \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{15} \\begin{bmatrix} 48 - 33 \\\\ -24 + 44 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{15} \\begin{bmatrix} 15 \\\\ 20 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix} \\\\ \u0026amp;\\approx \\begin{bmatrix} 1.000 \\\\ 1.333 \\end{bmatrix} \\end{aligned}θMAP​​=151​[6−3​−34​][811​]=151​[(6)(8)+(−3)(11)(−3)(8)+(4)(11)​]=151​[48−33−24+44​]=151​[1520​]=[14/3​]≈[1.0001.333​]​[비교 및 분석]\n최대가능도 추정량: θML=[7/63/2]≈[1.1671.500]\\theta_{ML} = \\begin{bmatrix} 7/6 \\\\ 3/2 \\end{bmatrix} \\approx \\begin{bmatrix} 1.167 \\\\ 1.500 \\end{bmatrix}θML​=[7/63/2​]≈[1.1671.500​] MAP (능형 회귀) 추정량: θMAP=[1.0001.333]\\theta_{MAP} = \\begin{bmatrix} 1.000 \\\\ 1.333 \\end{bmatrix}θMAP​=[1.0001.333​] 사전분포가 모수를 0 방향으로 끌어당김으로써 두 계수가 모두 작아진 것(수축, Shrinkage)을 두 눈으로 똑똑히 확인할 수 있습니다! 9.3 베이즈 선형 회귀 (Bayesian Linear Regression, 303쪽) MLE와 MAP는 최적의 모수 θ\\thetaθ를 단 하나의 점(point estimate)으로 찾습니다. 하지만 다음과 같은 실전 상황을 상상해 보십시오:\n훈련 데이터가 5개밖에 없는 영역과, 훈련 데이터가 10,000개나 몰려 있는 영역에서 모델의 예측값 y^\\hat{y}y^​이 동일하게 3.53.53.5로 나왔다면, 우리는 두 예측을 똑같이 신뢰할 수 있을까요? 당연히 데이터가 5개뿐인 영역의 예측은 매우 불확실합니다. 베이즈 접근법(Bayesian Approach)은 미지의 모수 θ\\thetaθ를 단일 상수가 아닌 확률 변수(random variable)로 취급합니다. 데이터 관측을 통해 θ\\thetaθ의 확률분포 전체를 갱신(사후분포)하고, 새로운 입력을 예측할 때도 단 하나의 숫자가 아니라 \u0026ldquo;예측값의 평균과 그 예측이 얼마나 불확실한지 나타내는 분산(신뢰 구간)\u0026rdquo;을 통째로 제공합니다.\n9.3.1 모델 설정 (Model, 304쪽) 정의와 성질 모수 사전분포 (Parameter Prior): 모수 θ∈RK\\theta \\in \\mathbb{R}^Kθ∈RK에 대한 사전 지식을 일반적인 다변량 가우시안 분포로 설정합니다: p(θ)=N(θ∣m0,S0)p(\\theta) = \\mathcal{N}(\\theta \\mid m_0, S_0)p(θ)=N(θ∣m0​,S0​) m0∈RKm_0 \\in \\mathbb{R}^Km0​∈RK: 사전 평균 벡터 (사전 지식이 없으면 보통 000) S0∈RK×KS_0 \\in \\mathbb{R}^{K \\times K}S0​∈RK×K: 사전 공분산 행렬 (보통 b2Ib^2 Ib2I 등 대칭 양의 정부호 행렬) 관측 가능도 (Likelihood): 주어진 모수 θ\\thetaθ 하에서 관측치 yyy의 조건부 분포: p(y∣x,θ)=N(y∣ϕ(x)⊤θ,σ2)p(y \\mid x, \\theta) = \\mathcal{N}(y \\mid \\phi(x)^\\top \\theta, \\sigma^2)p(y∣x,θ)=N(y∣ϕ(x)⊤θ,σ2) 결합 분포 (Joint Distribution): p(y,θ∣x)=p(y∣x,θ)p(θ)p(y, \\theta \\mid x) = p(y \\mid x, \\theta) p(\\theta)p(y,θ∣x)=p(y∣x,θ)p(θ) 9.3.2 사전 예측 (Prior Predictions, 304쪽) 왜 필요한가 (직관) 훈련 데이터를 한 개도 보기 전에, 우리가 가정한 사전분포 p(θ)p(\\theta)p(θ)만으로 모델이 어떤 예측값들을 출력할 수 있는지 확인하는 단계입니다. 사전분포에서 θ\\thetaθ를 무작위로 여러 개 샘플링하여 함수 선 f(x)=ϕ(x)⊤θf(x) = \\phi(x)^\\top \\thetaf(x)=ϕ(x)⊤θ들을 그려보면 모델의 사전 가정이 합리적인지 시각적으로 검증할 수 있습니다.\n정의와 유도 새로운 입력 위치 x∗x_*x∗​에서의 타깃 값 y∗y_*y∗​의 사전 예측 분포는 모수 θ\\thetaθ에 대해 적분 소거(marginalize out)하여 구합니다: p(y∗∣x∗)=∫p(y∗∣x∗,θ)p(θ) dθ=Eθ[p(y∗∣x∗,θ)]\\begin{aligned} p(y_* \\mid x_*) \u0026amp;= \\int p(y_* \\mid x_*, \\theta) p(\\theta) \\, d\\theta \\\\ \u0026amp;= \\mathbb{E}_\\theta \\left[ p(y_* \\mid x_*, \\theta) \\right] \\end{aligned}p(y∗​∣x∗​)​=∫p(y∗​∣x∗​,θ)p(θ)dθ=Eθ​[p(y∗​∣x∗​,θ)]​이 적분은 가우시안 분포의 선형 변환 규칙을 사용하면 복잡한 적분 계산 없이 즉시 풀립니다:\ny∗=ϕ(x∗)⊤θ+ϵy_* = \\phi(x_*)^\\top \\theta + \\epsilony∗​=ϕ(x∗​)⊤θ+ϵ, 여기서 θ∼N(m0,S0)\\theta \\sim \\mathcal{N}(m_0, S_0)θ∼N(m0​,S0​)이고 ϵ∼N(0,σ2)\\epsilon \\sim \\mathcal{N}(0, \\sigma^2)ϵ∼N(0,σ2) (독립) 기댓값: E[y∗∣x∗]=Eθ[ϕ(x∗)⊤θ]+E[ϵ]=ϕ(x∗)⊤m0+0=ϕ(x∗)⊤m0\\mathbb{E}[y_* \\mid x_*] = \\mathbb{E}_\\theta [\\phi(x_*)^\\top \\theta] + \\mathbb{E}[\\epsilon] = \\phi(x_*)^\\top m_0 + 0 = \\phi(x_*)^\\top m_0E[y∗​∣x∗​]=Eθ​[ϕ(x∗​)⊤θ]+E[ϵ]=ϕ(x∗​)⊤m0​+0=ϕ(x∗​)⊤m0​ 분산: V[y∗∣x∗]=Vθ[ϕ(x∗)⊤θ]+V[ϵ]=ϕ(x∗)⊤S0ϕ(x∗)+σ2\\mathbb{V}[y_* \\mid x_*] = \\mathbb{V}_\\theta [\\phi(x_*)^\\top \\theta] + \\mathbb{V}[\\epsilon] = \\phi(x_*)^\\top S_0 \\phi(x_*) + \\sigma^2V[y∗​∣x∗​]=Vθ​[ϕ(x∗​)⊤θ]+V[ϵ]=ϕ(x∗​)⊤S0​ϕ(x∗​)+σ2 따라서 사전 예측 분포는 다음과 같은 단변량 가우시안 분포가 됩니다: p(y∗∣x∗)=N(y∗∣ϕ(x∗)⊤m0,ϕ(x∗)⊤S0ϕ(x∗)+σ2)\\begin{aligned} p(y_* \\mid x_*) \u0026amp;= \\mathcal{N}\\Bigl( y_* \\Bigm| \\phi(x_*)^\\top m_0, \\\\ \u0026amp;\\quad \\phi(x_*)^\\top S_0 \\phi(x_*) + \\sigma^2 \\Bigr) \\end{aligned}p(y∗​∣x∗​)​=N(y∗​​ϕ(x∗​)⊤m0​,ϕ(x∗​)⊤S0​ϕ(x∗​)+σ2)​관측 노이즈 ϵ\\epsilonϵ을 제외한 순수 잠재 함수 값 f(x∗)=ϕ(x∗)⊤θf(x_*) = \\phi(x_*)^\\top \\thetaf(x∗​)=ϕ(x∗​)⊤θ의 사전 분포는 단순히 노이즈 분산 σ2\\sigma^2σ2만 빠진 형태입니다: p(f(x∗))=N(f(x∗)∣ϕ(x∗)⊤m0,ϕ(x∗)⊤S0ϕ(x∗))\\begin{aligned} p(f(x_*)) \u0026amp;= \\mathcal{N}\\Bigl( f(x_*) \\Bigm| \\phi(x_*)^\\top m_0, \\\\ \u0026amp;\\quad \\phi(x_*)^\\top S_0 \\phi(x_*) \\Bigr) \\end{aligned}p(f(x∗​))​=N(f(x∗​)​ϕ(x∗​)⊤m0​,ϕ(x∗​)⊤S0​ϕ(x∗​))​ 9.3.3 사후 분포 (Posterior Distribution, 306쪽) 데이터셋 D=(X,Y)\\mathcal{D} = (X, Y)D=(X,Y)를 관측한 후, 모수 θ\\thetaθ의 사후 확률분포 p(θ∣X,Y)p(\\theta \\mid X, Y)p(θ∣X,Y)를 베이즈 정리로 계산합니다.\nPosterior=Likelihood×PriorMarginal Likelihood ⟺ p(θ∣X,Y)=p(Y∣X,θ)p(θ)p(Y∣X)\\begin{aligned} \\text{Posterior} \u0026amp;= \\frac{\\text{Likelihood} \\times \\text{Prior}}{\\text{Marginal Likelihood}} \\\\ \u0026amp;\\iff p(\\theta \\mid X, Y) \\\\ \u0026amp;\\quad = \\frac{p(Y \\mid X, \\theta) p(\\theta)}{p(Y \\mid X)} \\end{aligned}Posterior​=Marginal LikelihoodLikelihood×Prior​⟺p(θ∣X,Y)=p(Y∣X)p(Y∣X,θ)p(θ)​​가우시안 우도와 가우시안 사전분포는 서로 켤레(Conjugate) 관계에 있으므로, 사후분포 역시 다변량 가우시안 분포가 됩니다.\n정리 9.1 (모수 사후분포, Parameter Posterior)\n선형 회귀 모델에서 사전분포 p(θ)=N(m0,S0)p(\\theta) = \\mathcal{N}(m_0, S_0)p(θ)=N(m0​,S0​)와 우도 p(Y∣X,θ)=N(y∣Φθ,σ2I)p(Y \\mid X, \\theta) = \\mathcal{N}(y \\mid \\Phi\\theta, \\sigma^2 I)p(Y∣X,θ)=N(y∣Φθ,σ2I)가 주어졌을 때, 모수의 사후분포는 닫힌 형태의 가우시안 분포로 계산된다: p(θ∣X,Y)=N(θ∣mN,SN)p(\\theta \\mid X, Y) = \\mathcal{N}(\\theta \\mid m_N, S_N)p(θ∣X,Y)=N(θ∣mN​,SN​) 여기서 사후 공분산 행렬 SNS_NSN​과 사후 평균 벡터 mNm_NmN​은 다음과 같다: SN−1=S0−1+σ−2Φ⊤Φ ⟺ SN=(S0−1+σ−2Φ⊤Φ)−1\\begin{aligned} S_N^{-1} \u0026amp;= S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\Phi \\\\ \u0026amp;\\iff S_N = \\left( S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\Phi \\right)^{-1} \\end{aligned}SN−1​​=S0−1​+σ−2Φ⊤Φ⟺SN​=(S0−1​+σ−2Φ⊤Φ)−1​ mN=SN(S0−1m0+σ−2Φ⊤y)m_N = S_N \\left( S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top y \\right)mN​=SN​(S0−1​m0​+σ−2Φ⊤y) 제곱 완성법(Completing the Square)에 의한 증명 스케치 지수 함수 내부의 θ\\thetaθ에 대한 2차식들을 모읍니다: log⁡p(θ∣X,Y)=−12[σ−2(y−Φθ)⊤(y−Φθ)+(θ−m0)⊤S0−1(θ−m0)]+상수\\begin{aligned} \u0026amp;\\log p(\\theta \\mid X, Y) \\\\ \u0026amp;= -\\frac{1}{2} \\bigl[ \\sigma^{-2} (y - \\Phi\\theta)^\\top (y - \\Phi\\theta) \\\\ \u0026amp;\\quad + (\\theta - m_0)^\\top S_0^{-1} (\\theta - m_0) \\bigr] + \\text{상수} \\end{aligned}​logp(θ∣X,Y)=−21​[σ−2(y−Φθ)⊤(y−Φθ)+(θ−m0​)⊤S0−1​(θ−m0​)]+상수​ 괄호 안을 전개하여 θ\\thetaθ에 대한 2차항과 1차항으로 정리합니다: =−12[θ⊤(σ−2Φ⊤Φ+S0−1)θ−2θ⊤(σ−2Φ⊤y+S0−1m0)]+상수\\begin{aligned} \u0026amp;= -\\frac{1}{2} \\bigl[ \\theta^\\top \\left( \\sigma^{-2} \\Phi^\\top \\Phi + S_0^{-1} \\right) \\theta \\\\ \u0026amp;\\quad - 2 \\theta^\\top \\left( \\sigma^{-2} \\Phi^\\top y + S_0^{-1} m_0 \\right) \\bigr] + \\text{상수} \\end{aligned}​=−21​[θ⊤(σ−2Φ⊤Φ+S0−1​)θ−2θ⊤(σ−2Φ⊤y+S0−1​m0​)]+상수​일반적인 다변량 가우시안 N(θ∣mN,SN)\\mathcal{N}(\\theta \\mid m_N, S_N)N(θ∣mN​,SN​)의 로그 확률밀도는 다음과 같습니다: log⁡N(θ∣mN,SN)=−12[θ⊤SN−1θ−2θ⊤SN−1mN+mN⊤SN−1mN]+상수\\begin{aligned} \u0026amp;\\log \\mathcal{N}(\\theta \\mid m_N, S_N) \\\\ \u0026amp;= -\\frac{1}{2} \\bigl[ \\theta^\\top S_N^{-1} \\theta \\\\ \u0026amp;\\quad - 2 \\theta^\\top S_N^{-1} m_N \\\\ \u0026amp;\\quad + m_N^\\top S_N^{-1} m_N \\bigr] + \\text{상수} \\end{aligned}​logN(θ∣mN​,SN​)=−21​[θ⊤SN−1​θ−2θ⊤SN−1​mN​+mN⊤​SN−1​mN​]+상수​두 식의 2차 계수와 1차 계수를 항등식으로 직접 비교(matching coefficients)하면:\n2차항 계수 매칭: SN−1=S0−1+σ−2Φ⊤ΦS_N^{-1} = S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\PhiSN−1​=S0−1​+σ−2Φ⊤Φ 1차항 계수 매칭: SN−1mN=S0−1m0+σ−2Φ⊤y ⟹ mN=SN(S0−1m0+σ−2Φ⊤y)S_N^{-1} m_N = S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top y \\implies m_N = S_N (S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top y)SN−1​mN​=S0−1​m0​+σ−2Φ⊤y⟹mN​=SN​(S0−1​m0​+σ−2Φ⊤y)\n증명이 정확히 끝납니다. (상세 유도는 본 문서 후반의 \u0026lsquo;핵심 유도 모음\u0026rsquo; 참조) 직관적 해석 (정밀도 행렬, Precision Matrix):\n공분산의 역행렬을 정밀도(Precision)라고 부릅니다.\n사후 정밀도(SN−1S_N^{-1}SN−1​) = 사전 정밀도(S0−1S_0^{-1}S0−1​) + 데이터가 제공한 정밀도(σ−2Φ⊤Φ\\sigma^{-2}\\Phi^\\top\\Phiσ−2Φ⊤Φ) 사후 정밀도 가중 평균(SN−1mNS_N^{-1} m_NSN−1​mN​) = 사전 정보(S0−1m0S_0^{-1} m_0S0−1​m0​) + 데이터 정보(σ−2Φ⊤y\\sigma^{-2}\\Phi^\\top yσ−2Φ⊤y)\n즉, 베이즈 추론은 기존의 지식에 데이터가 주는 정보를 단순 덧셈으로 누적하는 과정입니다! 9.3.4 사후 예측 분포 (Posterior Predictions, 308쪽) 왜 필요한가 새로운 테스트 입력 x∗x_*x∗​가 주어졌을 때, 갱신된 모수 사후분포 p(θ∣X,Y)p(\\theta \\mid X, Y)p(θ∣X,Y)를 바탕으로 y∗y_*y∗​의 분포를 예측합니다.\n정의와 성질 p(y∗∣X,Y,x∗)=∫p(y∗∣x∗,θ) p(θ∣X,Y) dθ\\begin{aligned} \u0026amp;p(y_* \\mid X, Y, x_*) \\\\ \u0026amp;= \\int p(y_* \\mid x_*, \\theta) \\, p(\\theta \\mid X, Y) \\, d\\theta \\end{aligned}​p(y∗​∣X,Y,x∗​)=∫p(y∗​∣x∗​,θ)p(θ∣X,Y)dθ​이 역시 두 가우시안 분포의 선형 결합이므로 즉시 닫힌 형태가 됩니다:\ny∗=ϕ(x∗)⊤θ+ϵy_* = \\phi(x_*)^\\top \\theta + \\epsilony∗​=ϕ(x∗​)⊤θ+ϵ, 여기서 θ∼N(mN,SN)\\theta \\sim \\mathcal{N}(m_N, S_N)θ∼N(mN​,SN​), ϵ∼N(0,σ2)\\epsilon \\sim \\mathcal{N}(0, \\sigma^2)ϵ∼N(0,σ2) 사후 예측 평균: E[y∗∣X,Y,x∗]=ϕ(x∗)⊤mN\\mathbb{E}[y_* \\mid X, Y, x_*] = \\phi(x_*)^\\top m_NE[y∗​∣X,Y,x∗​]=ϕ(x∗​)⊤mN​ 사후 예측 분산: σN2(x∗)=V[y∗∣X,Y,x∗]=ϕ(x∗)⊤SNϕ(x∗)⏟인식론적 불확실성 (Epistemic)+σ2⏟우연적 불확실성 (Aleatoric)\\sigma_N^2(x_*) = \\mathbb{V}[y_* \\mid X, Y, x_*] = \\underbrace{\\phi(x_*)^\\top S_N \\phi(x_*)}_{\\text{인식론적 불확실성 (Epistemic)}} + \\underbrace{\\sigma^2}_{\\text{우연적 불확실성 (Aleatoric)}}σN2​(x∗​)=V[y∗​∣X,Y,x∗​]=인식론적 불확실성 (Epistemic)ϕ(x∗​)⊤SN​ϕ(x∗​)​​+우연적 불확실성 (Aleatoric)σ2​​ 따라서 사후 예측 분포는: p(y∗∣X,Y,x∗)=N(y∗∣ϕ(x∗)⊤mN,ϕ(x∗)⊤SNϕ(x∗)+σ2)\\begin{aligned} \u0026amp;p(y_* \\mid X, Y, x_*) \\\\ \u0026amp;= \\mathcal{N}\\Bigl( y_* \\Bigm| \\phi(x_*)^\\top m_N, \\\\ \u0026amp;\\quad \\phi(x_*)^\\top S_N \\phi(x_*) + \\sigma^2 \\Bigr) \\end{aligned}​p(y∗​∣X,Y,x∗​)=N(y∗​​ϕ(x∗​)⊤mN​,ϕ(x∗​)⊤SN​ϕ(x∗​)+σ2)​ 예측 분산 σ_N²(x_*)의 구성 ┌───────────────────────┬───────────────────────┐ │ 인식론적 불확실성 │ 우연적 불확실성 │ │ φ(x_*)ᵀ S_N φ(x_*) │ σ² │ ├──────────────┼───────────────────────┼───────────────────────┤ │ 원인 │ 데이터 부족, 모델 모수│ 관측 기기 오차, │ │ │ 에 대한 무지 │ 데이터 자체의 고유 잡음│ ├──────────────┼───────────────────────┼───────────────────────┤ │ 데이터 N 증가│ N → ∞ 이면 S_N → 0 │ 불변 (줄어들지 않음) │ │ 시 변화 │ (0으로 사라짐) │ │ ├──────────────┼───────────────────────┼───────────────────────┤ │ 공간적 특성 │ 데이터가 많은 곳: 작음│ 모든 입력 영역에서 │ │ │ 외삽(데이터 없는 곳): 큼│ 일정함 │ └──────────────┴───────────────────────┴───────────────────────┘ MAP와의 놀라운 연결: 사전분포를 m0=0,S0=b2Im_0 = 0, S_0 = b^2 Im0​=0,S0​=b2I로 두면, 사후 예측 평균 ϕ(x∗)⊤mN\\phi(x_*)^\\top m_Nϕ(x∗​)⊤mN​은 앞서 유도한 MAP 추정량의 예측값 ϕ(x∗)⊤θMAP\\phi(x_*)^\\top \\theta_{MAP}ϕ(x∗​)⊤θMAP​과 수학적으로 완전히 일치합니다! 즉, MAP는 베이즈 선형 회귀에서 사후 예측 분포의 \u0026lsquo;중심(평균)\u0026lsquo;만 똑 떼어내어 점 추정한 것입니다.\n9.3.5 주변 가능도 계산 및 모델 선택 (Computing the Marginal Likelihood, 312쪽) 왜 필요한가 (오컴의 면도날) 다항 회귀에서 차수 MMM을 몇 차로 정해야 할까요? MLE는 차수가 높을수록 무조건 훈련 데이터 오차가 0이 되므로 항상 가장 복잡한 모델을 선택하는 치명적인 결함이 있습니다. 베이즈 추론에서는 모수를 적분 소거한 주변 가능도(Marginal Likelihood / Model Evidence) p(Y∣X)p(Y \\mid X)p(Y∣X)를 계산함으로써, 별도의 검증 데이터(Validation Set)나 교차 검증(Cross Validation) 없이도 훈련 데이터만으로 모델의 복잡도를 자동으로 통제할 수 있습니다.\n정의와 계산 p(Y∣X)=∫p(Y∣X,θ)p(θ) dθp(Y \\mid X) = \\int p(Y \\mid X, \\theta) p(\\theta) \\, d\\thetap(Y∣X)=∫p(Y∣X,θ)p(θ)dθ 선형 가우시안 시스템의 성질 Y=Φθ+ϵY = \\Phi \\theta + \\epsilonY=Φθ+ϵ, θ∼N(m0,S0)\\theta \\sim \\mathcal{N}(m_0, S_0)θ∼N(m0​,S0​), ϵ∼N(0,σ2I)\\epsilon \\sim \\mathcal{N}(0, \\sigma^2 I)ϵ∼N(0,σ2I)을 적용하면: p(Y∣X)=N(y∣Φm0, ΦS0Φ⊤+σ2I)p(Y \\mid X) = \\mathcal{N}(y \\mid \\Phi m_0, \\; \\Phi S_0 \\Phi^\\top + \\sigma^2 I)p(Y∣X)=N(y∣Φm0​,ΦS0​Φ⊤+σ2I)로그 주변 가능도를 전개하면 3개의 직관적인 항으로 분해됩니다: log⁡p(Y∣X)=−12(y−Φm0)⊤(ΦS0Φ⊤+σ2I)−1(y−Φm0)−12log⁡det⁡(ΦS0Φ⊤+σ2I)−N2log⁡(2π)\\begin{aligned} \u0026amp;\\log p(Y \\mid X) \\\\ \u0026amp;= -\\frac{1}{2} (y - \\Phi m_0)^\\top \\\\ \u0026amp;\\quad (\\Phi S_0 \\Phi^\\top + \\sigma^2 I)^{-1} (y - \\Phi m_0) \\\\ \u0026amp;\\quad - \\frac{1}{2} \\log \\det(\\Phi S_0 \\Phi^\\top + \\sigma^2 I) \\\\ \u0026amp;\\quad - \\frac{N}{2} \\log(2\\pi) \\end{aligned}​logp(Y∣X)=−21​(y−Φm0​)⊤(ΦS0​Φ⊤+σ2I)−1(y−Φm0​)−21​logdet(ΦS0​Φ⊤+σ2I)−2N​log(2π)​ 데이터 적합도 (Data Fit): 첫 번째 2차 형식 항. 모델이 데이터를 잘 설명할수록 값이 커집니다. 복잡도 페널티 (Complexity Penalty / Occam\u0026rsquo;s Factor): 두 번째 행렬식 로그 항. 모델이 복잡해질수록(특징 차원이 많아질수록) ΦS0Φ⊤\\Phi S_0 \\Phi^\\topΦS0​Φ⊤이 확장되어 행렬식이 커지고, 마이너스 부호 때문에 주변 가능도를 크게 깎아내립니다. 정규화 상수: 데이터 차원 NNN에 비례하는 상수. 이 두 힘(적합도 vs 페널티) 사이의 팽팽한 균형을 통해 주변 가능도는 \u0026ldquo;데이터를 적절히 설명할 수 있는 가장 단순한 모델\u0026rdquo;에서 정점(최댓값)을 찍게 됩니다. 이것이 통계학에서 말하는 오컴의 면도날(Occam\u0026rsquo;s Razor)의 수학적 구현입니다.\n손으로 풀어 보는 예제 앞선 예제 (Φ=[101112],y=[134]\\Phi = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix}, y = \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix}Φ=​111​012​​,y=​134​​)에서, 사전분포 m0=[00],S0=[1001]=Im_0 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}, S_0 = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\end{bmatrix} = Im0​=[00​],S0​=[10​01​]=I, 노이즈 σ2=1\\sigma^2 = 1σ2=1일 때:\n사후분포 p(θ∣X,Y)=N(mN,SN)p(\\theta \\mid X, Y) = \\mathcal{N}(m_N, S_N)p(θ∣X,Y)=N(mN​,SN​)을 구하시오. x∗=1x_* = 1x∗​=1 (데이터가 있는 지점)과 x∗=3x_* = 3x∗​=3 (데이터 범위를 벗어난 외삽 지점)에서의 사후 예측 분포를 각각 구하고 분산을 비교하시오. [1단계: 사후 공분산 SNS_NSN​ 계산] SN−1=S0−1+σ−2Φ⊤Φ=I+[3335]=[4336]\\begin{aligned} S_N^{-1} \u0026amp;= S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\Phi \\\\ \u0026amp;= I + \\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 4 \u0026amp; 3 \\\\ 3 \u0026amp; 6 \\end{bmatrix} \\end{aligned}SN−1​​=S0−1​+σ−2Φ⊤Φ=I+[33​35​]=[43​36​]​ det⁡(SN−1)=24−9=15\\det(S_N^{-1}) = 24 - 9 = 15det(SN−1​)=24−9=15 SN=115[6−3−34]S_N = \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix}SN​=151​[6−3​−34​][2단계: 사후 평균 mNm_NmN​ 계산] mN=SN(S0−1m0+σ−2Φ⊤y)=SN(0+[811])=115[6−3−34][811]=[14/3]\\begin{aligned} m_N \u0026amp;= S_N \\left( S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top y \\right) \\\\ \u0026amp;= S_N \\left( 0 + \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} \\right) \\\\ \u0026amp;= \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix} \\end{aligned}mN​​=SN​(S0−1​m0​+σ−2Φ⊤y)=SN​(0+[811​])=151​[6−3​−34​][811​]=[14/3​]​ 따라서 사후분포는: p(θ∣X,Y)=N([14/3],115[6−3−34])\\begin{aligned} p(\\theta \\mid X, Y) \u0026amp;= \\mathcal{N}\\biggl( \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix}, \\\\ \u0026amp;\\quad \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\biggr) \\end{aligned}p(θ∣X,Y)​=N([14/3​],151​[6−3​−34​])​[3단계: x∗=1x_* = 1x∗​=1에서의 사후 예측 분포] 특징 벡터: ϕ(x∗)=[11]\\phi(x_*) = \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}ϕ(x∗​)=[11​]\n예측 평균: μ∗(1)=ϕ(1)⊤mN=[1,1][14/3]=1+43=73≈2.333\\mu_*(1) = \\phi(1)^\\top m_N = [1, 1] \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix} = 1 + \\frac{4}{3} = \\frac{7}{3} \\approx 2.333μ∗​(1)=ϕ(1)⊤mN​=[1,1][14/3​]=1+34​=37​≈2.333 모수 불확실성(인식론적): ϕ(1)⊤SNϕ(1)=[1,1](115[6−3−34])[11]=115[3,1][11]=415≈0.267\\phi(1)^\\top S_N \\phi(1) = [1, 1] \\left( \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\right) \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} = \\frac{1}{15} [3, 1] \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} = \\frac{4}{15} \\approx 0.267ϕ(1)⊤SN​ϕ(1)=[1,1](151​[6−3​−34​])[11​]=151​[3,1][11​]=154​≈0.267 총 예측 분산: σN2(1)=415+σ2=415+1=1915≈1.267\\sigma_N^2(1) = \\frac{4}{15} + \\sigma^2 = \\frac{4}{15} + 1 = \\frac{19}{15} \\approx 1.267σN2​(1)=154​+σ2=154​+1=1519​≈1.267 [4단계: x∗=3x_* = 3x∗​=3에서의 사후 예측 분포 (외삽)] 특징 벡터: ϕ(x∗)=[13]\\phi(x_*) = \\begin{bmatrix} 1 \\\\ 3 \\end{bmatrix}ϕ(x∗​)=[13​]\n예측 평균: μ∗(3)=ϕ(3)⊤mN=[1,3][14/3]=1+3(43)=5\\mu_*(3) = \\phi(3)^\\top m_N = [1, 3] \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix} = 1 + 3 \\left(\\frac{4}{3}\\right) = 5μ∗​(3)=ϕ(3)⊤mN​=[1,3][14/3​]=1+3(34​)=5 모수 불확실성(인식론적): ϕ(3)⊤SNϕ(3)=[1,3](115[6−3−34])[13]=115[−3,9][13]=−3+2715=2415=1.600\\phi(3)^\\top S_N \\phi(3) = [1, 3] \\left( \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\right) \\begin{bmatrix} 1 \\\\ 3 \\end{bmatrix} = \\frac{1}{15} [-3, 9] \\begin{bmatrix} 1 \\\\ 3 \\end{bmatrix} = \\frac{-3 + 27}{15} = \\frac{24}{15} = 1.600ϕ(3)⊤SN​ϕ(3)=[1,3](151​[6−3​−34​])[13​]=151​[−3,9][13​]=15−3+27​=1524​=1.600 총 예측 분산: σN2(3)=1.600+1=2.600\\sigma_N^2(3) = 1.600 + 1 = 2.600σN2​(3)=1.600+1=2.600 [핵심 분석] 훈련 데이터가 집중된 x∗=1x_*=1x∗​=1 부근에서는 모수 불확실성이 415≈0.267\\frac{4}{15} \\approx 0.267154​≈0.267에 불과하지만, 데이터 범위를 벗어난 x∗=3x_*=3x∗​=3으로 나가자마자 불확실성이 1.6001.6001.600으로 무려 6배나 급증했습니다! 이것이 바로 베이지안 기법이 제공하는 탁월한 안전장치(안전한 신뢰구간)입니다.\n9.4 직교 사영으로서의 최대가능도 (Maximum Likelihood as Orthogonal Projection, 313쪽) 왜 필요한가 (기하학적 직관) 많은 학생들이 선형 회귀를 단순히 \u0026ldquo;미분해서 기울기를 0으로 놓는 대수적 계산\u0026quot;으로만 기억합니다. 그러나 선형대수학의 눈으로 바라본 선형 회귀는 \u0026ldquo;고차원 벡터 공간에서 한 점을 평면에 수직으로 떨어뜨리는 직교 사영(Orthogonal Projection)\u0026rdquo;이라는 극도로 아름다운 기하학적 본질을 품고 있습니다. 9.4절은 2~3장의 직교 사영 이론과 9.2장의 정규방정식이 정확히 같은 이야기임을 증명합니다.\n[N차원 타깃 벡터 공간 ℝᴺ] y (실제 관측 벡터) │ ╲ │ ╲ 잔차 벡터 e = y - ŷ (평면에 수직: Φᵀ e = 0) │ ╲ ▼ ▼ ŷ = Φθ ───────── [설계행렬의 열공간 col(Φ)] (최적 예측 벡터) 정의와 성질 1. 공간의 재정의: NNN차원 데이터 공간 RN\\mathbb{R}^NRN 관측 타깃 벡터: y=[y1y2⋮yN]∈RNy = \\begin{bmatrix} y_1 \\\\ y_2 \\\\ \\vdots \\\\ y_N \\end{bmatrix} \\in \\mathbb{R}^Ny=​y1​y2​⋮yN​​​∈RN 은 NNN차원 공간 속의 단 하나의 고정된 점(벡터)입니다. 설계 행렬 Φ∈RN×K\\Phi \\in \\mathbb{R}^{N \\times K}Φ∈RN×K를 열벡터들의 묶음으로 바라봅니다: Φ=[ϕ1ϕ2…ϕK],여기서 ϕk∈RN\\Phi = \\begin{bmatrix} \\phi_1 \u0026amp; \\phi_2 \u0026amp; \\dots \u0026amp; \\phi_K \\end{bmatrix}, \\quad \\text{여기서 } \\phi_k \\in \\mathbb{R}^NΦ=[ϕ1​​ϕ2​​…​ϕK​​],여기서 ϕk​∈RN 모델의 예측값 벡터 y^\\hat{y}y^​: y^=Φθ=θ1ϕ1+θ2ϕ2+⋯+θKϕK\\hat{y} = \\Phi \\theta = \\theta_1 \\phi_1 + \\theta_2 \\phi_2 + \\dots + \\theta_K \\phi_Ky^​=Φθ=θ1​ϕ1​+θ2​ϕ2​+⋯+θK​ϕK​ 즉, 예측 벡터 y^\\hat{y}y^​는 행렬 Φ\\PhiΦ의 열벡터들의 선형 결합이므로, NNN차원 공간 내에서 KKK개의 열벡터가 펼쳐내는 KKK차원 부분공간(열공간, Column Space col(Φ)\\text{col}(\\Phi)col(Φ)) 위에 반드시 놓여야 합니다. 2. 최소제곱 문제의 기하학적 번역 min⁡θ∥y−Φθ∥2=min⁡y^∈col(Φ)∥y−y^∥2\\min_\\theta \\|y - \\Phi\\theta\\|^2 = \\min_{\\hat{y} \\in \\text{col}(\\Phi)} \\|y - \\hat{y}\\|^2θmin​∥y−Φθ∥2=y^​∈col(Φ)min​∥y−y^​∥2 yyy는 일반적인 경우 노이즈 때문에 부분공간 col(Φ)\\text{col}(\\Phi)col(Φ) 바깥에 떠 있습니다. 부분공간 위의 수많은 점들 중에서 yyy와의 유클리드 거리가 가장 가까운 점 y^\\hat{y}y^​은 무엇인가? 3장의 사영 정리(Projection Theorem)에 의해, 그 점은 바로 yyy를 부분공간 col(Φ)\\text{col}(\\Phi)col(Φ) 위로 수직으로 떨어뜨린 정사영(Orthogonal Projection)입니다! 3. 직교 조건과 정규방정식의 탄생 사영이 수직(직교)이라는 말은, 오차(잔차) 벡터 e=y−y^=y−Φθe = y - \\hat{y} = y - \\Phi\\thetae=y−y^​=y−Φθ가 부분공간을 이루는 모든 기저 벡터 ϕ1,…,ϕK\\phi_1, \\dots, \\phi_Kϕ1​,…,ϕK​와 수직이어야 함을 의미합니다: ⟨ϕk, y−Φθ⟩=ϕk⊤(y−Φθ)=0(∀k=1,…,K)\\begin{aligned} \\langle \\phi_k, \\; y - \\Phi\\theta \\rangle \u0026amp;= \\phi_k^\\top (y - \\Phi\\theta) \\\\ \u0026amp;= 0 \\quad (\\forall k = 1, \\dots, K) \\end{aligned}⟨ϕk​,y−Φθ⟩​=ϕk⊤​(y−Φθ)=0(∀k=1,…,K)​ 이를 KKK개의 행으로 쌓아서 하나의 행렬식으로 표현하면: [ϕ1⊤ϕ2⊤⋮ϕK⊤](y−Φθ)=0 ⟺ Φ⊤(y−Φθ)=0\\begin{aligned} \\begin{bmatrix} \\phi_1^\\top \\\\ \\phi_2^\\top \\\\ \\vdots \\\\ \\phi_K^\\top \\end{bmatrix} (y - \\Phi\\theta) \u0026amp;= 0 \\\\ \u0026amp;\\iff \\Phi^\\top (y - \\Phi\\theta) = 0 \\end{aligned}​ϕ1⊤​ϕ2⊤​⋮ϕK⊤​​​(y−Φθ)​=0⟺Φ⊤(y−Φθ)=0​ Φ⊤Φθ=Φ⊤y\\Phi^\\top \\Phi \\theta = \\Phi^\\top yΦ⊤Φθ=Φ⊤y 미분을 단 한 번도 쓰지 않고, 순수한 기하학적 직교 조건만으로 정규방정식이 정확히 유도되었습니다!\n4. 사영 행렬 (Projection Matrix / Hat Matrix, PPP) 최적의 θML=(Φ⊤Φ)−1Φ⊤y\\theta_{ML} = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top yθML​=(Φ⊤Φ)−1Φ⊤y를 예측 벡터 y^=ΦθML\\hat{y} = \\Phi \\theta_{ML}y^​=ΦθML​에 대입하면: y^=Φ(Φ⊤Φ)−1Φ⊤y=Py\\hat{y} = \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top y = P yy^​=Φ(Φ⊤Φ)−1Φ⊤y=Py 여기서 P∈RN×NP \\in \\mathbb{R}^{N \\times N}P∈RN×N를 사영 행렬(Projection Matrix) 또는 통계학에서 yyy에 모자(hat)를 씌워 y^\\hat{y}y^​를 만든다고 하여 모자 행렬(Hat Matrix)이라고 부릅니다: P=Φ(Φ⊤Φ)−1Φ⊤P = \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\topP=Φ(Φ⊤Φ)−1Φ⊤사영 행렬 PPP의 네 가지 대수적 성질 대칭성 (Symmetric): P⊤=(Φ(Φ⊤Φ)−1Φ⊤)⊤=(Φ⊤)⊤((Φ⊤Φ)−1)⊤Φ⊤=Φ(Φ⊤Φ)−1Φ⊤=PP^\\top = \\left( \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\right)^\\top = (\\Phi^\\top)^\\top \\left( (\\Phi^\\top \\Phi)^{-1} \\right)^\\top \\Phi^\\top = \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top = PP⊤=(Φ(Φ⊤Φ)−1Φ⊤)⊤=(Φ⊤)⊤((Φ⊤Φ)−1)⊤Φ⊤=Φ(Φ⊤Φ)−1Φ⊤=P 멱등성 (Idempotent): 두 번 사영해도 제자리입니다. P2=PP=Φ(Φ⊤Φ)−1Φ⊤Φ(Φ⊤Φ)−1Φ⊤=Φ(Φ⊤Φ)−1Φ⊤=PP^2 = P P = \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top = \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top = PP2=PP=Φ(Φ⊤Φ)−1Φ⊤Φ(Φ⊤Φ)−1Φ⊤=Φ(Φ⊤Φ)−1Φ⊤=P 대각합과 계수 (Trace and Rank): Tr(P)=Tr(Φ(Φ⊤Φ)−1Φ⊤)=Tr((Φ⊤Φ)−1Φ⊤Φ)=Tr(IK)=K\\text{Tr}(P) = \\text{Tr}\\left( \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\right) = \\text{Tr}\\left( (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\Phi \\right) = \\text{Tr}(I_K) = KTr(P)=Tr(Φ(Φ⊤Φ)−1Φ⊤)=Tr((Φ⊤Φ)−1Φ⊤Φ)=Tr(IK​)=K 대칭 멱등 행렬의 계수는 대각합과 같으므로 rank(P)=K\\text{rank}(P) = Krank(P)=K입니다. 직교 여공간 사영기 (I−PI - PI−P): 잔차 벡터 e=y−y^=y−Py=(I−P)ye = y - \\hat{y} = y - Py = (I - P)ye=y−y^​=y−Py=(I−P)y (I−P)(I - P)(I−P) 역시 대칭 멱등 행렬이며, col(Φ)\\text{col}(\\Phi)col(Φ)에 수직인 직교 여공간(Orthogonal Complement)으로의 사영 행렬입니다. 피타고라스 정리에 의해 다음이 정확히 성립합니다: ∥y∥2=∥y^∥2+∥e∥2=∥Py∥2+∥(I−P)y∥2\\|y\\|^2 = \\|\\hat{y}\\|^2 + \\|e\\|^2 = \\|P y\\|^2 + \\|(I - P)y\\|^2∥y∥2=∥y^​∥2+∥e∥2=∥Py∥2+∥(I−P)y∥2 손으로 풀어 보는 예제 앞선 3개 데이터 예제 (Φ=[101112],y=[134]\\Phi = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix}, y = \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix}Φ=​111​012​​,y=​134​​)에서:\n3×33 \\times 33×3 사영 행렬 PPP를 손으로 직접 계산하시오. y^=Py\\hat{y} = Pyy^​=Py와 e=(I−P)ye = (I-P)ye=(I−P)y를 계산하고, Φ⊤e=0\\Phi^\\top e = 0Φ⊤e=0임을 검산하시오. [1단계: 사영 행렬 PPP 계산] 앞서 (Φ⊤Φ)−1=16[5−3−33](\\Phi^\\top \\Phi)^{-1} = \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix}(Φ⊤Φ)−1=61​[5−3​−33​]을 구했습니다. P=Φ(Φ⊤Φ)−1Φ⊤=[101112](16[5−3−33])[111012]\\begin{aligned} P \u0026amp;= \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\\\ \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix} \\\\ \u0026amp;\\quad \\left( \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix} \\right) \\\\ \u0026amp;\\quad \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\end{aligned}P​=Φ(Φ⊤Φ)−1Φ⊤=​111​012​​(61​[5−3​−33​])[10​11​12​]​ 먼저 앞의 두 행렬을 곱합니다: Φ(Φ⊤Φ)−1=16[101112][5−3−33]=16[5−320−13]\\begin{aligned} \\Phi (\\Phi^\\top \\Phi)^{-1} \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ 2 \u0026amp; 0 \\\\ -1 \u0026amp; 3 \\end{bmatrix} \\end{aligned}Φ(Φ⊤Φ)−1​=61​​111​012​​[5−3​−33​]=61​​52−1​−303​​​ 이제 Φ⊤\\Phi^\\topΦ⊤을 곱합니다: P=16[5−320−13][111012]=16[55−35−622+02+0−1−1+3−1+6]=16[52−1222−125]\\begin{aligned} P \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ 2 \u0026amp; 0 \\\\ -1 \u0026amp; 3 \\end{bmatrix} \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; 5-3 \u0026amp; 5-6 \\\\ 2 \u0026amp; 2+0 \u0026amp; 2+0 \\\\ -1 \u0026amp; -1+3 \u0026amp; -1+6 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; 2 \u0026amp; -1 \\\\ 2 \u0026amp; 2 \u0026amp; 2 \\\\ -1 \u0026amp; 2 \u0026amp; 5 \\end{bmatrix} \\end{aligned}P​=61​​52−1​−303​​[10​11​12​]=61​​52−1​5−32+0−1+3​5−62+0−1+6​​=61​​52−1​222​−125​​​ 대칭성 확인: P=P⊤P = P^\\topP=P⊤ 정확히 성립. 대각합 확인: Tr(P)=16(5+2+5)=126=2=K\\text{Tr}(P) = \\frac{1}{6}(5 + 2 + 5) = \\frac{12}{6} = 2 = KTr(P)=61​(5+2+5)=612​=2=K 정확히 성립! [2단계: 사영 계산 및 직교성 검증] y^=Py=16[52−1222−125][134]=16[5+6−42+6+8−1+6+20]=16[71625]\\begin{aligned} \\hat{y} \u0026amp;= Py = \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; 2 \u0026amp; -1 \\\\ 2 \u0026amp; 2 \u0026amp; 2 \\\\ -1 \u0026amp; 2 \u0026amp; 5 \\end{bmatrix} \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 5 + 6 - 4 \\\\ 2 + 6 + 8 \\\\ -1 + 6 + 20 \\end{bmatrix} = \\frac{1}{6} \\begin{bmatrix} 7 \\\\ 16 \\\\ 25 \\end{bmatrix} \\end{aligned}y^​​=Py=61​​52−1​222​−125​​​134​​=61​​5+6−42+6+8−1+6+20​​=61​​71625​​​ 잔차 벡터: e=y−y^=[134]−16[71625]=16[6−718−1624−25]=16[−12−1]\\begin{aligned} e \u0026amp;= y - \\hat{y} = \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix} - \\frac{1}{6} \\begin{bmatrix} 7 \\\\ 16 \\\\ 25 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} 6-7 \\\\ 18-16 \\\\ 24-25 \\end{bmatrix} = \\frac{1}{6} \\begin{bmatrix} -1 \\\\ 2 \\\\ -1 \\end{bmatrix} \\end{aligned}e​=y−y^​=​134​​−61​​71625​​=61​​6−718−1624−25​​=61​​−12−1​​​이제 설계행렬 Φ\\PhiΦ와의 직교성을 검산합니다: Φ⊤e=[111012](16[−12−1])=16[−1+2−10+2−2]=16[00]=[00]\\begin{aligned} \\Phi^\\top e \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\left( \\frac{1}{6} \\begin{bmatrix} -1 \\\\ 2 \\\\ -1 \\end{bmatrix} \\right) \\\\ \u0026amp;= \\frac{1}{6} \\begin{bmatrix} -1 + 2 - 1 \\\\ 0 + 2 - 2 \\end{bmatrix} = \\frac{1}{6} \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} \\end{aligned}Φ⊤e​=[10​11​12​]​61​​−12−1​​​=61​[−1+2−10+2−2​]=61​[00​]=[00​]​ 오차 벡터 eee가 Φ\\PhiΦ의 모든 기저에 대해 수직임이 명백하게 증명되었습니다!\n헷갈리는 점 / 자주 하는 실수 사영이 일어나는 공간의 차원 혼동: 입력 xxx가 DDD차원이라고 해서 DDD차원 공간에서 사영이 일어난다고 착각하기 쉽습니다. 사영 행렬 PPP의 크기는 K×KK \\times KK×K가 아니라 N×NN \\times NN×N입니다! 사영은 데이터 샘플 개수 NNN으로 이루어진 NNN차원 타깃 관측 공간 RN\\mathbb{R}^NRN에서 일어납니다. 9.5 더 읽을거리 (Further Reading, 315쪽) 선형 회귀의 확률적·베이지안 프레임워크는 최신 인공지능 연구의 광범위한 영역으로 직접 확장됩니다:\n가우스 과정 (Gaussian Processes, GP): 베이즈 선형 회귀는 유한한 KKK개의 기저 함수 ϕ(x)\\phi(x)ϕ(x)를 사용합니다. 만약 기저 함수의 개수를 무한대(K→∞K \\to \\inftyK→∞)로 보내면 어떻게 될까요? 커널 트릭(Kernel Trick)을 적용하면 모수 θ\\thetaθ를 명시적으로 다루지 않고도 함수 공간(function space) 위에 직접 무한 차원 사전분포를 정의할 수 있습니다. 이것이 바로 가우스 과정(Gaussian Process)이며, 베이즈 선형 회귀의 비모수적(non-parametric) 완전 확장판입니다. 베이지안 딥러닝과의 연결 (Bayesian Neural Networks): Neal(1996)의 유명한 정리에 따르면, 은닉층 뉴런의 개수가 무한대로 발산하는 1개 은닉층 베이지안 인공신경망은 가우스 과정(따라서 무한 차원 베이즈 선형 회귀)과 수학적으로 정확히 동치입니다. 희소 회귀와 고차원 문제 (N≪DN \\ll DN≪D): 유전체 분석이나 텍스트 분석처럼 특징 차원 DDD가 데이터 수 NNN보다 훨씬 큰 고차원 회귀 문제에서는 가우시안 사전분포(Ridge)보다 라플라스 사전분포(LASSO)를 사용하여 수많은 불필요한 계수를 정확히 0으로 소거하는 변수 선택(Variable Selection) 기법이 강력하게 활용됩니다. 핵심 유도 모음 (시험 대비 백지 유도 연습) 시험장에서는 공식을 외워 쓰는 것뿐만 아니라, 빈 종이에 첫 줄부터 마지막 줄까지 논리적 비약 없이 증명하는 능력을 평가합니다. 아래 7가지 핵심 유도를 단계별 \u0026ldquo;성립 이유\u0026quot;와 함께 완전히 숙지하십시오.\n[유도 1] 정규방정식(Normal Equation)의 행렬 미분 유도 [목표]\n목적함수 L(θ)=12∥y−Φθ∥2\\mathcal{L}(\\theta) = \\frac{1}{2} \\|y - \\Phi\\theta\\|^2L(θ)=21​∥y−Φθ∥2를 최소화하는 모수 θML=(Φ⊤Φ)−1Φ⊤y\\theta_{ML} = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top yθML​=(Φ⊤Φ)−1Φ⊤y를 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 L(θ)=12(y−Φθ)⊤(y−Φθ)\\mathcal{L}(\\theta) = \\frac{1}{2} (y - \\Phi\\theta)^\\top (y - \\Phi\\theta)L(θ)=21​(y−Φθ)⊤(y−Φθ) 벡터의 L2L_2L2​ 노름 제곱의 정의 (∥v∥2=v⊤v\\|v\\|^2 = v^\\top v∥v∥2=v⊤v) 2 =12(y⊤−θ⊤Φ⊤)(y−Φθ)= \\frac{1}{2} \\left( y^\\top - \\theta^\\top \\Phi^\\top \\right) (y - \\Phi\\theta)=21​(y⊤−θ⊤Φ⊤)(y−Φθ) 전치 행렬의 분배법칙 ((A−B)⊤=A⊤−B⊤(A - B)^\\top = A^\\top - B^\\top(A−B)⊤=A⊤−B⊤, (AB)⊤=B⊤A⊤(AB)^\\top = B^\\top A^\\top(AB)⊤=B⊤A⊤) 3 =12(y⊤y−y⊤Φθ−θ⊤Φ⊤y+θ⊤Φ⊤Φθ)= \\frac{1}{2} \\left( y^\\top y - y^\\top \\Phi \\theta - \\theta^\\top \\Phi^\\top y + \\theta^\\top \\Phi^\\top \\Phi \\theta \\right)=21​(y⊤y−y⊤Φθ−θ⊤Φ⊤y+θ⊤Φ⊤Φθ) 행렬 괄호 전개법칙 적용 4 =12(y⊤y−2y⊤Φθ+θ⊤Φ⊤Φθ)= \\frac{1}{2} \\left( y^\\top y - 2 y^\\top \\Phi \\theta + \\theta^\\top \\Phi^\\top \\Phi \\theta \\right)=21​(y⊤y−2y⊤Φθ+θ⊤Φ⊤Φθ) y⊤Φθy^\\top \\Phi \\thetay⊤Φθ는 스칼라(1×11 \\times 11×1)이므로 자신의 전치인 θ⊤Φ⊤y\\theta^\\top \\Phi^\\top yθ⊤Φ⊤y와 같음 5 ∇θ(y⊤y)=0\\nabla_\\theta (y^\\top y) = 0∇θ​(y⊤y)=0 y⊤yy^\\top yy⊤y는 θ\\thetaθ를 포함하지 않는 상수항이므로 미분하면 0 6 ∇θ(−2y⊤Φθ)=−2Φ⊤y\\nabla_\\theta (-2 y^\\top \\Phi \\theta) = -2 \\Phi^\\top y∇θ​(−2y⊤Φθ)=−2Φ⊤y 선형 형식 벡터 미분 공식: ∇x(a⊤x)=a\\nabla_x (a^\\top x) = a∇x​(a⊤x)=a (여기서 a⊤=y⊤Φ ⟹ a=Φ⊤ya^\\top = y^\\top \\Phi \\implies a = \\Phi^\\top ya⊤=y⊤Φ⟹a=Φ⊤y) 7 ∇θ(θ⊤Φ⊤Φθ)=2Φ⊤Φθ\\nabla_\\theta (\\theta^\\top \\Phi^\\top \\Phi \\theta) = 2 \\Phi^\\top \\Phi \\theta∇θ​(θ⊤Φ⊤Φθ)=2Φ⊤Φθ 2차 형식 벡터 미분 공식: 대칭 행렬 AAA에 대해 ∇x(x⊤Ax)=2Ax\\nabla_x (x^\\top A x) = 2Ax∇x​(x⊤Ax)=2Ax (여기서 A=Φ⊤ΦA = \\Phi^\\top \\PhiA=Φ⊤Φ는 대칭) 8 ∇θL(θ)=12(−2Φ⊤y+2Φ⊤Φθ)=Φ⊤Φθ−Φ⊤y\\nabla_\\theta \\mathcal{L}(\\theta) = \\frac{1}{2} \\left( -2 \\Phi^\\top y + 2 \\Phi^\\top \\Phi \\theta \\right) = \\Phi^\\top \\Phi \\theta - \\Phi^\\top y∇θ​L(θ)=21​(−2Φ⊤y+2Φ⊤Φθ)=Φ⊤Φθ−Φ⊤y 미분의 선형성으로 각 항의 도함수를 합산 9 Φ⊤Φθ−Φ⊤y=0 ⟺ Φ⊤Φθ=Φ⊤y\\Phi^\\top \\Phi \\theta - \\Phi^\\top y = 0 \\iff \\Phi^\\top \\Phi \\theta = \\Phi^\\top yΦ⊤Φθ−Φ⊤y=0⟺Φ⊤Φθ=Φ⊤y 목적함수가 볼록함수(Convex)이므로 경사도가 0인 지점이 전역 최소점 10 θML=(Φ⊤Φ)−1Φ⊤y\\theta_{ML} = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top yθML​=(Φ⊤Φ)−1Φ⊤y Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ가 가역 행렬일 때 양변의 왼쪽에 역행렬 곱함 ■\\blacksquare■ [유도 2] 가우시안 노이즈 분산 σ2\\sigma^2σ2의 최대가능도 추정량 유도 [목표]\n음의 로그 가능도 L(θ,σ2)=N2log⁡(2πσ2)+12σ2∥y−Φθ∥2\\mathcal{L}(\\theta, \\sigma^2) = \\frac{N}{2} \\log(2\\pi\\sigma^2) + \\frac{1}{2\\sigma^2} \\|y - \\Phi\\theta\\|^2L(θ,σ2)=2N​log(2πσ2)+2σ21​∥y−Φθ∥2로부터 σML2=1N∥y−ΦθML∥2\\sigma_{ML}^2 = \\frac{1}{N} \\|y - \\Phi\\theta_{ML}\\|^2σML2​=N1​∥y−ΦθML​∥2를 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 L(σ2)=N2log⁡(2π)+N2log⁡(σ2)+12σ2∥y−ΦθML∥2\\mathcal{L}(\\sigma^2) = \\frac{N}{2} \\log(2\\pi) + \\frac{N}{2} \\log(\\sigma^2) + \\frac{1}{2\\sigma^2} \\|y - \\Phi\\theta_{ML}\\|^2L(σ2)=2N​log(2π)+2N​log(σ2)+2σ21​∥y−ΦθML​∥2 로그 성질 log⁡(ab)=log⁡a+log⁡b\\log(ab) = \\log a + \\log blog(ab)=loga+logb 적용 및 최적의 θML\\theta_{ML}θML​ 대입 2 편의상 s:=σ2\u0026gt;0s := \\sigma^2 \u0026gt; 0s:=σ2\u0026gt;0으로 치환하여 L(s)=N2log⁡s+12s∥y−ΦθML∥2+const\\mathcal{L}(s) = \\frac{N}{2}\\log s + \\frac{1}{2s}\\|y - \\Phi\\theta_{ML}\\|^2 + \\text{const}L(s)=2N​logs+2s1​∥y−ΦθML​∥2+const 분산 자체를 단일 최적화 변수로 취급 3 dds(N2log⁡s)=N2s\\frac{d}{ds} \\left( \\frac{N}{2}\\log s \\right) = \\frac{N}{2s}dsd​(2N​logs)=2sN​ 로그 함수의 기본 미분 공식 ddxlog⁡x=1x\\frac{d}{dx}\\log x = \\frac{1}{x}dxd​logx=x1​ 4 dds(12s∥y−ΦθML∥2)=−12s2∥y−ΦθML∥2\\frac{d}{ds} \\left( \\frac{1}{2s} \\|y - \\Phi\\theta_{ML}\\|^2 \\right) = -\\frac{1}{2s^2} \\|y - \\Phi\\theta_{ML}\\|^2dsd​(2s1​∥y−ΦθML​∥2)=−2s21​∥y−ΦθML​∥2 멱함수의 미분 공식 ddxx−1=−x−2\\frac{d}{dx} x^{-1} = -x^{-2}dxd​x−1=−x−2 5 ∂L∂s=N2s−12s2∥y−ΦθML∥2=0\\frac{\\partial \\mathcal{L}}{\\partial s} = \\frac{N}{2s} - \\frac{1}{2s^2} \\|y - \\Phi\\theta_{ML}\\|^2 = 0∂s∂L​=2sN​−2s21​∥y−ΦθML​∥2=0 극값 조건: 1계 도함수를 0으로 설정 6 N2s=12s2∥y−ΦθML∥2\\frac{N}{2s} = \\frac{1}{2s^2} \\|y - \\Phi\\theta_{ML}\\|^22sN​=2s21​∥y−ΦθML​∥2 양변의 음수 항을 이항 7 N=1s∥y−ΦθML∥2 ⟺ s=1N∥y−ΦθML∥2N = \\frac{1}{s} \\|y - \\Phi\\theta_{ML}\\|^2 \\iff s = \\frac{1}{N} \\|y - \\Phi\\theta_{ML}\\|^2N=s1​∥y−ΦθML​∥2⟺s=N1​∥y−ΦθML​∥2 s\u0026gt;0s \u0026gt; 0s\u0026gt;0이므로 양변에 2s2s2s를 곱하고 sss에 대해 정리 8 σML2=1N∥y−ΦθML∥2=1N∑n=1N(yn−ϕ(xn)⊤θML)2\\begin{aligned} \\sigma_{ML}^2 \u0026amp;= \\frac{1}{N} \\|y - \\Phi\\theta_{ML}\\|^2 \\\\ \u0026amp;= \\frac{1}{N} \\sum_{n=1}^N (y_n - \\phi(x_n)^\\top \\theta_{ML})^2 \\end{aligned}σML2​​=N1​∥y−ΦθML​∥2=N1​n=1∑N​(yn​−ϕ(xn​)⊤θML​)2​ 치환 복원: 최적 모델 잔차의 표본 평균과 일치 ■\\blacksquare■ [유도 3] MAP 추정량 및 능형 회귀(L2L_2L2​) 해 유도 [목표]\n사전분포 p(θ)=N(0,b2I)p(\\theta) = \\mathcal{N}(0, b^2 I)p(θ)=N(0,b2I)와 우도 p(Y∣X,θ)=N(y∣Φθ,σ2I)p(Y \\mid X, \\theta) = \\mathcal{N}(y \\mid \\Phi\\theta, \\sigma^2 I)p(Y∣X,θ)=N(y∣Φθ,σ2I)로부터 θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\\theta_{MAP} = (\\Phi^\\top \\Phi + \\frac{\\sigma^2}{b^2} I)^{-1} \\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y를 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 p(θ∣X,Y)∝p(Y∣X,θ)p(θ)p(\\theta \\mid X, Y) \\propto p(Y \\mid X, \\theta) p(\\theta)p(θ∣X,Y)∝p(Y∣X,θ)p(θ) 베이즈 정리 (사후분포는 우도와 사전분포의 곱에 비례) 2 −log⁡p(θ∣X,Y)=−log⁡p(Y∣X,θ)−log⁡p(θ)+상수-\\log p(\\theta \\mid X, Y) = -\\log p(Y \\mid X, \\theta) - \\log p(\\theta) + \\text{상수}−logp(θ∣X,Y)=−logp(Y∣X,θ)−logp(θ)+상수 양변에 음의 자연로그 취함 3 −log⁡p(Y∣X,θ)=12σ2∥y−Φθ∥2+const-\\log p(Y \\mid X, \\theta) = \\frac{1}{2\\sigma^2} \\|y - \\Phi\\theta\\|^2 + \\text{const}−logp(Y∣X,θ)=2σ21​∥y−Φθ∥2+const 다변량 가우시안 우도의 음의 로그 전개 4 −log⁡p(θ)=12b2∥θ∥2+const-\\log p(\\theta) = \\frac{1}{2b^2} \\|\\theta\\|^2 + \\text{const}−logp(θ)=2b21​∥θ∥2+const 평균 0, 공분산 b2Ib^2 Ib2I인 가우시안 사전분포의 음의 로그 전개 5 J(θ)=12σ2∥y−Φθ∥2+12b2θ⊤θJ(\\theta) = \\frac{1}{2\\sigma^2} \\|y - \\Phi\\theta\\|^2 + \\frac{1}{2b^2} \\theta^\\top \\thetaJ(θ)=2σ21​∥y−Φθ∥2+2b21​θ⊤θ 상수를 제거한 사후확률 최소화 목적함수 설정 6 ∇θJ(θ)=1σ2(Φ⊤Φθ−Φ⊤y)+1b2θ\\nabla_\\theta J(\\theta) = \\frac{1}{\\sigma^2} (\\Phi^\\top \\Phi \\theta - \\Phi^\\top y) + \\frac{1}{b^2} \\theta∇θ​J(θ)=σ21​(Φ⊤Φθ−Φ⊤y)+b21​θ [유도 1]의 우도 미분 결과와 ∇θ(θ⊤θ)=2θ\\nabla_\\theta (\\theta^\\top \\theta) = 2\\theta∇θ​(θ⊤θ)=2θ 적용 7 1σ2(Φ⊤Φθ−Φ⊤y)+1b2θ=0\\frac{1}{\\sigma^2} (\\Phi^\\top \\Phi \\theta - \\Phi^\\top y) + \\frac{1}{b^2} \\theta = 0σ21​(Φ⊤Φθ−Φ⊤y)+b21​θ=0 사후확률 밀도가 극대가 되는 정류점(Stationary point) 조건 8 (Φ⊤Φθ−Φ⊤y)+σ2b2θ=0(\\Phi^\\top \\Phi \\theta - \\Phi^\\top y) + \\frac{\\sigma^2}{b^2} \\theta = 0(Φ⊤Φθ−Φ⊤y)+b2σ2​θ=0 양변에 분산 σ2\\sigma^2σ2 곱함 9 (Φ⊤Φ+σ2b2I)θ=Φ⊤y\\left( \\Phi^\\top \\Phi + \\frac{\\sigma^2}{b^2} I \\right) \\theta = \\Phi^\\top y(Φ⊤Φ+b2σ2​I)θ=Φ⊤y θ\\thetaθ에 대한 1차 결합으로 항 묶음 10 θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\\theta_{MAP} = \\left( \\Phi^\\top \\Phi + \\frac{\\sigma^2}{b^2} I \\right)^{-1} \\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y Φ⊤Φ+σ2b2I\\Phi^\\top \\Phi + \\frac{\\sigma^2}{b^2} IΦ⊤Φ+b2σ2​I는 양의 정부호 행렬이므로 역행렬 곱함 ■\\blacksquare■ [유도 4] 베이즈 선형 회귀 모수 사후분포 완전 유도 (제곱 완성법) [목표]\n사전분포 p(θ)=N(m0,S0)p(\\theta) = \\mathcal{N}(m_0, S_0)p(θ)=N(m0​,S0​)와 우도 p(Y∣X,θ)=N(y∣Φθ,σ2I)p(Y \\mid X, \\theta) = \\mathcal{N}(y \\mid \\Phi\\theta, \\sigma^2 I)p(Y∣X,θ)=N(y∣Φθ,σ2I)로부터 사후분포 p(θ∣X,Y)=N(mN,SN)p(\\theta \\mid X, Y) = \\mathcal{N}(m_N, S_N)p(θ∣X,Y)=N(mN​,SN​)의 SN−1=S0−1+σ−2Φ⊤ΦS_N^{-1} = S_0^{-1} + \\sigma^{-2}\\Phi^\\top\\PhiSN−1​=S0−1​+σ−2Φ⊤Φ 및 mN=SN(S0−1m0+σ−2Φ⊤y)m_N = S_N(S_0^{-1}m_0 + \\sigma^{-2}\\Phi^\\top y)mN​=SN​(S0−1​m0​+σ−2Φ⊤y)를 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 log⁡p(θ∣X,Y)=log⁡p(Y∣X,θ)+log⁡p(θ)+const\\log p(\\theta \\mid X, Y) = \\log p(Y \\mid X, \\theta) + \\log p(\\theta) + \\text{const}logp(θ∣X,Y)=logp(Y∣X,θ)+logp(θ)+const 베이즈 정리의 로그 형태 2 =−12[σ−2(y−Φθ)⊤(y−Φθ)+(θ−m0)⊤S0−1(θ−m0)]+const= -\\frac{1}{2} \\left[ \\sigma^{-2} (y - \\Phi\\theta)^\\top (y - \\Phi\\theta) + (\\theta - m_0)^\\top S_0^{-1} (\\theta - m_0) \\right] + \\text{const}=−21​[σ−2(y−Φθ)⊤(y−Φθ)+(θ−m0​)⊤S0−1​(θ−m0​)]+const 두 가우시안 지수부 전개 3 우도 지수부: σ−2(y⊤y−2y⊤Φθ+θ⊤Φ⊤Φθ)\\sigma^{-2} (y^\\top y - 2 y^\\top \\Phi \\theta + \\theta^\\top \\Phi^\\top \\Phi \\theta)σ−2(y⊤y−2y⊤Φθ+θ⊤Φ⊤Φθ) 괄호 전개 및 스칼라 전치 성질 (y⊤Φθ=θ⊤Φ⊤yy^\\top \\Phi \\theta = \\theta^\\top \\Phi^\\top yy⊤Φθ=θ⊤Φ⊤y) 4 사전 지수부: θ⊤S0−1θ−2θ⊤S0−1m0+m0⊤S0−1m0\\theta^\\top S_0^{-1} \\theta - 2 \\theta^\\top S_0^{-1} m_0 + m_0^\\top S_0^{-1} m_0θ⊤S0−1​θ−2θ⊤S0−1​m0​+m0⊤​S0−1​m0​ 대칭 행렬 S0−1S_0^{-1}S0−1​에 대한 2차 형식 전개 5 θ\\thetaθ에 무관한 항 y⊤yy^\\top yy⊤y, m0⊤S0−1m0m_0^\\top S_0^{-1} m_0m0⊤​S0−1​m0​를 상수(const)로 묶음 사후분포에서 θ\\thetaθ의 형태를 결정하는 핵심 항만 분리 6 log⁡p(θ∣X,Y)=−12[θ⊤(σ−2Φ⊤Φ+S0−1)θ−2θ⊤(σ−2Φ⊤y+S0−1m0)]+const\\log p(\\theta \\mid X, Y) = -\\frac{1}{2} \\left[ \\theta^\\top (\\sigma^{-2}\\Phi^\\top\\Phi + S_0^{-1}) \\theta - 2 \\theta^\\top (\\sigma^{-2}\\Phi^\\top y + S_0^{-1}m_0) \\right] + \\text{const}logp(θ∣X,Y)=−21​[θ⊤(σ−2Φ⊤Φ+S0−1​)θ−2θ⊤(σ−2Φ⊤y+S0−1​m0​)]+const θ\\thetaθ의 2차 형식과 1차 형식으로 재배열 7 목표 가우시안 형태: −12(θ−mN)⊤SN−1(θ−mN)=−12[θ⊤SN−1θ−2θ⊤SN−1mN+mN⊤SN−1mN]-\\frac{1}{2} (\\theta - m_N)^\\top S_N^{-1} (\\theta - m_N) = -\\frac{1}{2} \\left[ \\theta^\\top S_N^{-1} \\theta - 2 \\theta^\\top S_N^{-1} m_N + m_N^\\top S_N^{-1} m_N \\right]−21​(θ−mN​)⊤SN−1​(θ−mN​)=−21​[θ⊤SN−1​θ−2θ⊤SN−1​mN​+mN⊤​SN−1​mN​] 표준 다변량 가우시안 N(mN,SN)\\mathcal{N}(m_N, S_N)N(mN​,SN​)의 로그 확률밀도 전개 8 θ⊤SN−1θ≡θ⊤(σ−2Φ⊤Φ+S0−1)θ\\theta^\\top S_N^{-1} \\theta \\equiv \\theta^\\top (\\sigma^{-2}\\Phi^\\top\\Phi + S_0^{-1}) \\thetaθ⊤SN−1​θ≡θ⊤(σ−2Φ⊤Φ+S0−1​)θ 항등식 원리: 2차항 계수 행렬이 일치해야 함 9 SN−1=S0−1+σ−2Φ⊤Φ ⟺ SN=(S0−1+σ−2Φ⊤Φ)−1S_N^{-1} = S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\Phi \\iff S_N = (S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\Phi)^{-1}SN−1​=S0−1​+σ−2Φ⊤Φ⟺SN​=(S0−1​+σ−2Φ⊤Φ)−1 사후 정밀도 행렬 및 사후 공분산 행렬 확정 10 SN−1mN≡S0−1m0+σ−2Φ⊤yS_N^{-1} m_N \\equiv S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top ySN−1​mN​≡S0−1​m0​+σ−2Φ⊤y 항등식 원리: 1차항 계수 벡터가 일치해야 함 11 mN=SN(S0−1m0+σ−2Φ⊤y)m_N = S_N (S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top y)mN​=SN​(S0−1​m0​+σ−2Φ⊤y) 양변 왼쪽에 사후 공분산 SNS_NSN​을 곱하여 사후 평균 확정 ■\\blacksquare■ [유도 5] 사후 예측 분포의 평균과 분산 유도 [목표]\np(y∗∣X,Y,x∗)=∫p(y∗∣x∗,θ)p(θ∣X,Y)dθp(y_* \\mid X, Y, x_*) = \\int p(y_* \\mid x_*, \\theta) p(\\theta \\mid X, Y) d\\thetap(y∗​∣X,Y,x∗​)=∫p(y∗​∣x∗​,θ)p(θ∣X,Y)dθ의 평균이 ϕ(x∗)⊤mN\\phi(x_*)^\\top m_Nϕ(x∗​)⊤mN​, 분산이 ϕ(x∗)⊤SNϕ(x∗)+σ2\\phi(x_*)^\\top S_N \\phi(x_*) + \\sigma^2ϕ(x∗​)⊤SN​ϕ(x∗​)+σ2임을 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 y∗=ϕ(x∗)⊤θ+ϵy_* = \\phi(x_*)^\\top \\theta + \\epsilony∗​=ϕ(x∗​)⊤θ+ϵ 회귀 모델의 데이터 생성 기본 방정식 2 θ∼N(mN,SN),ϵ∼N(0,σ2)\\theta \\sim \\mathcal{N}(m_N, S_N), \\quad \\epsilon \\sim \\mathcal{N}(0, \\sigma^2)θ∼N(mN​,SN​),ϵ∼N(0,σ2), 두 변수는 상호 독립 사후분포 모수와 독립 관측 노이즈의 확률적 정의 3 가우시안 분포의 선형 변환 및 독립 가우시안 변수의 합은 여전히 가우시안 분포를 따름 정규분포의 닫힘성(Closure property under linear operations) 4 E[y∗]=E[ϕ(x∗)⊤θ+ϵ]=ϕ(x∗)⊤E[θ]+E[ϵ]\\mathbb{E}[y_*] = \\mathbb{E}[\\phi(x_*)^\\top \\theta + \\epsilon] = \\phi(x_*)^\\top \\mathbb{E}[\\theta] + \\mathbb{E}[\\epsilon]E[y∗​]=E[ϕ(x∗​)⊤θ+ϵ]=ϕ(x∗​)⊤E[θ]+E[ϵ] 기댓값 연산자의 선형성 (E[aX+bY]=aE[X]+bE[Y]\\mathbb{E}[aX + bY] = a\\mathbb{E}[X] + b\\mathbb{E}[Y]E[aX+bY]=aE[X]+bE[Y]) 5 E[y∗]=ϕ(x∗)⊤mN+0=ϕ(x∗)⊤mN\\mathbb{E}[y_*] = \\phi(x_*)^\\top m_N + 0 = \\phi(x_*)^\\top m_NE[y∗​]=ϕ(x∗​)⊤mN​+0=ϕ(x∗​)⊤mN​ 사후 평균 E[θ]=mN\\mathbb{E}[\\theta] = m_NE[θ]=mN​과 노이즈 평균 0 대입 6 V[y∗]=V[ϕ(x∗)⊤θ+ϵ]=V[ϕ(x∗)⊤θ]+V[ϵ]\\mathbb{V}[y_*] = \\mathbb{V}[\\phi(x_*)^\\top \\theta + \\epsilon] = \\mathbb{V}[\\phi(x_*)^\\top \\theta] + \\mathbb{V}[\\epsilon]V[y∗​]=V[ϕ(x∗​)⊤θ+ϵ]=V[ϕ(x∗​)⊤θ]+V[ϵ] 독립인 두 확률변수의 합의 분산은 각 분산의 합 (V[X+Y]=V[X]+V[Y]\\mathbb{V}[X+Y] = \\mathbb{V}[X] + \\mathbb{V}[Y]V[X+Y]=V[X]+V[Y]) 7 V[ϕ(x∗)⊤θ]=ϕ(x∗)⊤V[θ]ϕ(x∗)=ϕ(x∗)⊤SNϕ(x∗)\\mathbb{V}[\\phi(x_*)^\\top \\theta] = \\phi(x_*)^\\top \\mathbb{V}[\\theta] \\phi(x_*) = \\phi(x_*)^\\top S_N \\phi(x_*)V[ϕ(x∗​)⊤θ]=ϕ(x∗​)⊤V[θ]ϕ(x∗​)=ϕ(x∗​)⊤SN​ϕ(x∗​) 벡터 선형 변환의 공분산 성질 (V[A⊤X]=A⊤V[X]A\\mathbb{V}[A^\\top X] = A^\\top \\mathbb{V}[X] AV[A⊤X]=A⊤V[X]A) 8 V[y∗]=ϕ(x∗)⊤SNϕ(x∗)+σ2\\mathbb{V}[y_*] = \\phi(x_*)^\\top S_N \\phi(x_*) + \\sigma^2V[y∗​]=ϕ(x∗​)⊤SN​ϕ(x∗​)+σ2 노이즈 분산 V[ϵ]=σ2\\mathbb{V}[\\epsilon] = \\sigma^2V[ϵ]=σ2 대입 9 p(y∗∣X,Y,x∗)=N(y∗∣ϕ(x∗)⊤mN, ϕ(x∗)⊤SNϕ(x∗)+σ2)p(y_* \\mid X, Y, x_*) = \\mathcal{N}(y_* \\mid \\phi(x_*)^\\top m_N, \\; \\phi(x_*)^\\top S_N \\phi(x_*) + \\sigma^2)p(y∗​∣X,Y,x∗​)=N(y∗​∣ϕ(x∗​)⊤mN​,ϕ(x∗​)⊤SN​ϕ(x∗​)+σ2) 평균과 분산을 가우시안 밀도함수에 결합 ■\\blacksquare■ [유도 6] 주변 가능도(Marginal Likelihood / Evidence) 유도 [목표]\np(Y∣X)=∫p(Y∣X,θ)p(θ)dθp(Y \\mid X) = \\int p(Y \\mid X, \\theta) p(\\theta) d\\thetap(Y∣X)=∫p(Y∣X,θ)p(θ)dθ가 N(y∣Φm0,ΦS0Φ⊤+σ2I)\\mathcal{N}(y \\mid \\Phi m_0, \\Phi S_0 \\Phi^\\top + \\sigma^2 I)N(y∣Φm0​,ΦS0​Φ⊤+σ2I)임을 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 Y=Φθ+ϵY = \\Phi \\theta + \\boldsymbol{\\epsilon}Y=Φθ+ϵ, 여기서 ϵ=[ϵ1,…,ϵN]⊤∈RN\\boldsymbol{\\epsilon} = [\\epsilon_1, \\dots, \\epsilon_N]^\\top \\in \\mathbb{R}^Nϵ=[ϵ1​,…,ϵN​]⊤∈RN 전체 데이터셋에 대한 벡터-행렬 생성 방정식 2 θ∼N(m0,S0),ϵ∼N(0,σ2I)\\theta \\sim \\mathcal{N}(m_0, S_0), \\quad \\boldsymbol{\\epsilon} \\sim \\mathcal{N}(0, \\sigma^2 I)θ∼N(m0​,S0​),ϵ∼N(0,σ2I), θ\\thetaθ와 ϵ\\boldsymbol{\\epsilon}ϵ은 독립 사전분포 및 i.i.d. 가우시안 노이즈 벡터의 정의 3 YYY는 가우시안 벡터 θ\\thetaθ의 선형 사상에 독립 가우시안 벡터 ϵ\\boldsymbol{\\epsilon}ϵ을 더한 것이므로 YYY의 주변분포 역시 가우시안 다변량 정규분포의 아핀 변환 및 덧셈 정리 4 E[Y∣X]=E[Φθ+ϵ]=ΦE[θ]+E[ϵ]\\mathbb{E}[Y \\mid X] = \\mathbb{E}[\\Phi \\theta + \\boldsymbol{\\epsilon}] = \\Phi \\mathbb{E}[\\theta] + \\mathbb{E}[\\boldsymbol{\\epsilon}]E[Y∣X]=E[Φθ+ϵ]=ΦE[θ]+E[ϵ] 다변량 기댓값 연산자의 선형성 5 E[Y∣X]=Φm0+0=Φm0\\mathbb{E}[Y \\mid X] = \\Phi m_0 + 0 = \\Phi m_0E[Y∣X]=Φm0​+0=Φm0​ 사전 평균 E[θ]=m0\\mathbb{E}[\\theta] = m_0E[θ]=m0​ 대입 6 Cov[Y∣X]=Cov[Φθ+ϵ]=Cov[Φθ]+Cov[ϵ]\\text{Cov}[Y \\mid X] = \\text{Cov}[\\Phi \\theta + \\boldsymbol{\\epsilon}] = \\text{Cov}[\\Phi \\theta] + \\text{Cov}[\\boldsymbol{\\epsilon}]Cov[Y∣X]=Cov[Φθ+ϵ]=Cov[Φθ]+Cov[ϵ] θ\\thetaθ와 ϵ\\boldsymbol{\\epsilon}ϵ의 상호 독립성에 의해 공분산 합산 성립 7 Cov[Φθ]=ΦCov[θ]Φ⊤=ΦS0Φ⊤\\text{Cov}[\\Phi \\theta] = \\Phi \\text{Cov}[\\theta] \\Phi^\\top = \\Phi S_0 \\Phi^\\topCov[Φθ]=ΦCov[θ]Φ⊤=ΦS0​Φ⊤ 다변량 공분산 선형 사상 공식 (Cov[AX]=ACov[X]A⊤\\text{Cov}[A X] = A \\text{Cov}[X] A^\\topCov[AX]=ACov[X]A⊤) 8 Cov[Y∣X]=ΦS0Φ⊤+σ2IN\\text{Cov}[Y \\mid X] = \\Phi S_0 \\Phi^\\top + \\sigma^2 I_NCov[Y∣X]=ΦS0​Φ⊤+σ2IN​ 노이즈 공분산 Cov[ϵ]=σ2IN\\text{Cov}[\\boldsymbol{\\epsilon}] = \\sigma^2 I_NCov[ϵ]=σ2IN​ 대입 9 p(Y∣X)=N(y∣Φm0, ΦS0Φ⊤+σ2IN)p(Y \\mid X) = \\mathcal{N}(y \\mid \\Phi m_0, \\; \\Phi S_0 \\Phi^\\top + \\sigma^2 I_N)p(Y∣X)=N(y∣Φm0​,ΦS0​Φ⊤+σ2IN​) 복잡한 적분 계산 없이 가우시안 모멘트 보존 법칙으로 유도 완료 ■\\blacksquare■ [유도 7] 직교 사영 행렬 PPP와 정규방정식의 일치성 증명 [목표]\n사영 행렬 P=Φ(Φ⊤Φ)−1Φ⊤P = \\Phi(\\Phi^\\top\\Phi)^{-1}\\Phi^\\topP=Φ(Φ⊤Φ)−1Φ⊤가 P2=PP^2 = PP2=P와 P⊤=PP^\\top = PP⊤=P를 만족함을 보이고, 잔차 벡터 e=(I−P)ye = (I-P)ye=(I−P)y가 열공간 col(Φ)\\text{col}(\\Phi)col(Φ)에 직교함을 증명한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 P⊤=(Φ(Φ⊤Φ)−1Φ⊤)⊤P^\\top = \\left( \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\right)^\\topP⊤=(Φ(Φ⊤Φ)−1Φ⊤)⊤ 전치 연산 적용 2 =(Φ⊤)⊤((Φ⊤Φ)−1)⊤Φ⊤=Φ((Φ⊤Φ)⊤)−1Φ⊤= (\\Phi^\\top)^\\top \\left( (\\Phi^\\top \\Phi)^{-1} \\right)^\\top \\Phi^\\top = \\Phi \\left( (\\Phi^\\top \\Phi)^\\top \\right)^{-1} \\Phi^\\top=(Φ⊤)⊤((Φ⊤Φ)−1)⊤Φ⊤=Φ((Φ⊤Φ)⊤)−1Φ⊤ 전치 행렬의 곱셈 법칙 ((ABC)⊤=C⊤B⊤A⊤(ABC)^\\top = C^\\top B^\\top A^\\top(ABC)⊤=C⊤B⊤A⊤) 및 역행렬 전치 교환법칙 3 =Φ(Φ⊤Φ)−1Φ⊤=P= \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top = P=Φ(Φ⊤Φ)−1Φ⊤=P Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ는 대칭 행렬 ((Φ⊤Φ)⊤=Φ⊤Φ(\\Phi^\\top \\Phi)^\\top = \\Phi^\\top \\Phi(Φ⊤Φ)⊤=Φ⊤Φ)이므로 대칭성 증명 완료 4 P2=PP=(Φ(Φ⊤Φ)−1Φ⊤)(Φ(Φ⊤Φ)−1Φ⊤)P^2 = P P = \\left( \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\right) \\left( \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\right)P2=PP=(Φ(Φ⊤Φ)−1Φ⊤)(Φ(Φ⊤Φ)−1Φ⊤) 멱등성 검증을 위해 PPP를 두 번 곱함 5 =Φ(Φ⊤Φ)−1(Φ⊤Φ)(Φ⊤Φ)−1Φ⊤= \\Phi (\\Phi^\\top \\Phi)^{-1} \\left( \\Phi^\\top \\Phi \\right) (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top=Φ(Φ⊤Φ)−1(Φ⊤Φ)(Φ⊤Φ)−1Φ⊤ 결합법칙으로 가운데 Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ를 묶음 6 =ΦIK(Φ⊤Φ)−1Φ⊤=Φ(Φ⊤Φ)−1Φ⊤=P= \\Phi I_K (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top = \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top = P=ΦIK​(Φ⊤Φ)−1Φ⊤=Φ(Φ⊤Φ)−1Φ⊤=P 역행렬의 정의에 의해 (Φ⊤Φ)−1(Φ⊤Φ)=IK(\\Phi^\\top \\Phi)^{-1} (\\Phi^\\top \\Phi) = I_K(Φ⊤Φ)−1(Φ⊤Φ)=IK​ (멱등성 증명 완료) 7 잔차 벡터 e=y−y^=y−Py=(IN−P)ye = y - \\hat{y} = y - Py = (I_N - P)ye=y−y^​=y−Py=(IN​−P)y 최적 예측 벡터 y^=Py\\hat{y} = Pyy^​=Py 대입 및 항등행렬로 묶음 8 Φ⊤e=Φ⊤(IN−P)y=(Φ⊤−Φ⊤P)y\\Phi^\\top e = \\Phi^\\top (I_N - P)y = \\left( \\Phi^\\top - \\Phi^\\top P \\right) yΦ⊤e=Φ⊤(IN​−P)y=(Φ⊤−Φ⊤P)y Φ⊤\\Phi^\\topΦ⊤ 분배법칙 9 Φ⊤P=Φ⊤(Φ(Φ⊤Φ)−1Φ⊤)=(Φ⊤Φ)(Φ⊤Φ)−1Φ⊤=IKΦ⊤=Φ⊤\\Phi^\\top P = \\Phi^\\top \\left( \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top \\right) = (\\Phi^\\top \\Phi) (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top = I_K \\Phi^\\top = \\Phi^\\topΦ⊤P=Φ⊤(Φ(Φ⊤Φ)−1Φ⊤)=(Φ⊤Φ)(Φ⊤Φ)−1Φ⊤=IK​Φ⊤=Φ⊤ PPP 정의 대입 후 전방 역행렬 상쇄 10 Φ⊤e=(Φ⊤−Φ⊤)y=0⋅y=0\\Phi^\\top e = (\\Phi^\\top - \\Phi^\\top) y = 0 \\cdot y = 0Φ⊤e=(Φ⊤−Φ⊤)y=0⋅y=0 잔차 벡터가 설계행렬의 모든 열벡터와 직교함이 정확히 증명됨 ■\\blacksquare■ 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. 선형회귀에서 \u0026ldquo;선형\u0026quot;은 무엇에 대해 선형인가요? \u0026ldquo;입력이 아니라 매개변수 θ\\thetaθ에 대해 선형이라는 뜻입니다. ϕ(x)=[1,x,x2]⊤\\phi(x)=[1,x,x^2]^\\topϕ(x)=[1,x,x2]⊤처럼 입력을 비선형 특징으로 바꿔도 f(x)=ϕ(x)⊤θf(x)=\\phi(x)^\\top\\thetaf(x)=ϕ(x)⊤θ는 θ\\thetaθ의 일차결합이라 선형회귀이고, 그래서 정규방정식으로 닫힌 해를 구할 수 있습니다.\u0026rdquo;\nQ. 정규방정식을 유도하고, 가우시안 잡음 가정과의 관계를 설명해 보세요. \u0026ldquo;잡음이 N(0,σ2)\\mathcal N(0,\\sigma^2)N(0,σ2)이면 음의 로그가능도가 12σ2∥y−Φθ∥2\\frac{1}{2\\sigma^2}\\|y-\\Phi\\theta\\|^22σ21​∥y−Φθ∥2에 상수를 더한 것이라 최대가능도 = 최소제곱입니다. θ\\thetaθ로 미분해 0으로 두면 Φ⊤Φθ=Φ⊤y\\Phi^\\top\\Phi\\theta=\\Phi^\\top yΦ⊤Φθ=Φ⊤y이고, Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ가 가역이면 θML=(Φ⊤Φ)−1Φ⊤y\\theta_{ML}=(\\Phi^\\top\\Phi)^{-1}\\Phi^\\top yθML​=(Φ⊤Φ)−1Φ⊤y입니다. 잡음 분산의 최대가능도 추정은 잔차 제곱의 평균입니다.\u0026rdquo;\nQ. 최대가능도 해를 기하학적으로 설명해 보세요. \u0026ldquo;NNN차원 공간에서 Φθ\\Phi\\thetaΦθ는 Φ\\PhiΦ의 열공간 위의 점입니다. yyy와 가장 가까운 점은 yyy를 열공간에 직교사영한 것이고, 잔차 y−Φθy-\\Phi\\thetay−Φθ가 모든 열과 직교한다는 조건 Φ⊤(y−Φθ)=0\\Phi^\\top(y-\\Phi\\theta)=0Φ⊤(y−Φθ)=0이 바로 정규방정식입니다. 3장의 사영행렬 Φ(Φ⊤Φ)−1Φ⊤\\Phi(\\Phi^\\top\\Phi)^{-1}\\Phi^\\topΦ(Φ⊤Φ)−1Φ⊤이 그대로 나옵니다.\u0026rdquo;\nQ. 과적합과 MAP(릿지)의 관계는? \u0026ldquo;다항식 차수를 높이면 훈련 오차는 0까지 줄지만 계수가 매우 커지며 새 데이터에서 오차가 커집니다. 매개변수에 N(0,b2I)\\mathcal N(0,b^2I)N(0,b2I) 사전분포를 두고 MAP를 구하면 θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\\theta_{MAP}=(\\Phi^\\top\\Phi+\\frac{\\sigma^2}{b^2}I)^{-1}\\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y로, λ=σ2/b2\\lambda=\\sigma^2/b^2λ=σ2/b2인 릿지회귀와 같습니다. 대각에 양수가 더해져 항상 가역이 되고 계수가 0 쪽으로 줄어듭니다.\u0026rdquo;\nQ. 베이즈 선형회귀는 MAP와 무엇이 다른가요? \u0026ldquo;MAP는 사후분포의 최빈값 하나만 쓰지만, 베이즈 선형회귀는 사후분포 N(mN,SN)\\mathcal N(m_N,S_N)N(mN​,SN​) 전체를 씁니다. SN−1=S0−1+σ−2Φ⊤ΦS_N^{-1}=S_0^{-1}+\\sigma^{-2}\\Phi^\\top\\PhiSN−1​=S0−1​+σ−2Φ⊤Φ, mN=SN(S0−1m0+σ−2Φ⊤y)m_N=S_N(S_0^{-1}m_0+\\sigma^{-2}\\Phi^\\top y)mN​=SN​(S0−1​m0​+σ−2Φ⊤y)입니다. 예측분포의 분산은 ϕ(x∗)⊤SNϕ(x∗)+σ2\\phi(x_*)^\\top S_N\\phi(x_*)+\\sigma^2ϕ(x∗​)⊤SN​ϕ(x∗​)+σ2로, 매개변수 불확실성과 잡음이 함께 들어가 데이터가 없는 곳에서는 분산이 커집니다. 사전분포가 N(0,b2I)\\mathcal N(0,b^2I)N(0,b2I)면 예측 평균은 MAP 예측과 같습니다.\u0026rdquo;\nQ. 주변가능도는 왜 모델 선택에 쓰이나요? \u0026ldquo;p(y∣X)=∫p(y∣X,θ)p(θ)dθ=N(Φm0,ΦS0Φ⊤+σ2I)p(y\\mid X)=\\int p(y\\mid X,\\theta)p(\\theta)d\\theta=\\mathcal N(\\Phi m_0,\\Phi S_0\\Phi^\\top+\\sigma^2I)p(y∣X)=∫p(y∣X,θ)p(θ)dθ=N(Φm0​,ΦS0​Φ⊤+σ2I)로 매개변수를 적분해 없앤 값입니다. 데이터 적합도 항과 복잡도 벌점 항(로그 행렬식)이 함께 들어 있어, 너무 단순하거나 너무 복잡한 모델보다 적당한 모델에서 가장 커집니다.\u0026rdquo;\n연습문제 확인 문제 (계산형 및 개념형 10제 — 상세 해설 및 풀이 수록) [문제 1] (계산형) 1차 단순 선형 회귀의 MLE 및 잔차 벡터 계산 다음과 같은 3개의 2차원 관측 데이터가 주어졌습니다: (x1,y1)=(0,1),(x2,y2)=(1,3),(x3,y3)=(2,4)\\begin{aligned} (x_1, y_1) \u0026amp;= (0, 1), \\\\ (x_2, y_2) \u0026amp;= (1, 3), \\\\ (x_3, y_3) \u0026amp;= (2, 4) \\end{aligned}(x1​,y1​)(x2​,y2​)(x3​,y3​)​=(0,1),=(1,3),=(2,4)​ 모델을 f(x)=θ0+θ1xf(x) = \\theta_0 + \\theta_1 xf(x)=θ0​+θ1​x로 설정할 때:\n설계 행렬 Φ\\PhiΦ와 정규방정식 (Φ⊤Φ)θ=Φ⊤y(\\Phi^\\top \\Phi)\\theta = \\Phi^\\top y(Φ⊤Φ)θ=Φ⊤y를 명시적으로 세우시오. θML\\theta_{ML}θML​의 최적값을 분수 형태로 정확히 구하시오. 잔차 벡터 e=y−y^e = y - \\hat{y}e=y−y^​를 구하고, Φ⊤e=0\\Phi^\\top e = 0Φ⊤e=0이 됨을 직접 계산으로 검증하시오. 노이즈 분산의 MLE 추정량 σML2\\sigma_{ML}^2σML2​을 구하시오. [정답 및 풀이]\nϕ(x)=[1,x]⊤\\phi(x) = [1, x]^\\topϕ(x)=[1,x]⊤이므로: Φ=[101112],y=[134]\\Phi = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix}, \\quad y = \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix}Φ=​111​012​​,y=​134​​ Φ⊤Φ=[111012][101112]=[3335]\\Phi^\\top \\Phi = \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix} = \\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix}Φ⊤Φ=[10​11​12​]​111​012​​=[33​35​] Φ⊤y=[111012][134]=[811]\\Phi^\\top y = \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix} = \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix}Φ⊤y=[10​11​12​]​134​​=[811​] 정규방정식: [3335][θ0θ1]=[811]\\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix} \\begin{bmatrix} \\theta_0 \\\\ \\theta_1 \\end{bmatrix} = \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix}[33​35​][θ0​θ1​​]=[811​] det⁡(Φ⊤Φ)=15−9=6\\det(\\Phi^\\top \\Phi) = 15 - 9 = 6det(Φ⊤Φ)=15−9=6이므로 역행렬은: (Φ⊤Φ)−1=16[5−3−33](\\Phi^\\top \\Phi)^{-1} = \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix}(Φ⊤Φ)−1=61​[5−3​−33​] θML=16[5−3−33][811]=16[40−33−24+33]=[7/63/2]\\theta_{ML} = \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix} \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} = \\frac{1}{6} \\begin{bmatrix} 40 - 33 \\\\ -24 + 33 \\end{bmatrix} = \\begin{bmatrix} 7/6 \\\\ 3/2 \\end{bmatrix}θML​=61​[5−3​−33​][811​]=61​[40−33−24+33​]=[7/63/2​] 예측 벡터 y^=ΦθML=[101112][7/69/6]=[7/616/625/6]\\hat{y} = \\Phi \\theta_{ML} = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} 7/6 \\\\ 9/6 \\end{bmatrix} = \\begin{bmatrix} 7/6 \\\\ 16/6 \\\\ 25/6 \\end{bmatrix}y^​=ΦθML​=​111​012​​[7/69/6​]=​7/616/625/6​​ 잔차 벡터 e=y−y^=[134]−[7/616/625/6]=16[−12−1]e = y - \\hat{y} = \\begin{bmatrix} 1 \\\\ 3 \\\\ 4 \\end{bmatrix} - \\begin{bmatrix} 7/6 \\\\ 16/6 \\\\ 25/6 \\end{bmatrix} = \\frac{1}{6} \\begin{bmatrix} -1 \\\\ 2 \\\\ -1 \\end{bmatrix}e=y−y^​=​134​​−​7/616/625/6​​=61​​−12−1​​ 직교성 검증: Φ⊤e=[111012](16[−12−1])=16[−1+2−10+2−2]=[00]\\Phi^\\top e = \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; 1 \\\\ 0 \u0026amp; 1 \u0026amp; 2 \\end{bmatrix} \\left( \\frac{1}{6} \\begin{bmatrix} -1 \\\\ 2 \\\\ -1 \\end{bmatrix} \\right) = \\frac{1}{6} \\begin{bmatrix} -1 + 2 - 1 \\\\ 0 + 2 - 2 \\end{bmatrix} = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}Φ⊤e=[10​11​12​]​61​​−12−1​​​=61​[−1+2−10+2−2​]=[00​] 노이즈 분산: σML2=1N∥e∥2=13⋅136((−1)2+22+(−1)2)=6108=118≈0.0556\\sigma_{ML}^2 = \\frac{1}{N} \\|e\\|^2 = \\frac{1}{3} \\cdot \\frac{1}{36} ((-1)^2 + 2^2 + (-1)^2) = \\frac{6}{108} = \\frac{1}{18} \\approx 0.0556σML2​=N1​∥e∥2=31​⋅361​((−1)2+22+(−1)2)=1086​=181​≈0.0556 [문제 2] (계산형) 2차 다항 특징 변환과 완전 적합 3개의 데이터 (x1,y1)=(−1,2),(x2,y2)=(0,1),(x3,y3)=(1,4)(x_1, y_1) = (-1, 2), (x_2, y_2) = (0, 1), (x_3, y_3) = (1, 4)(x1​,y1​)=(−1,2),(x2​,y2​)=(0,1),(x3​,y3​)=(1,4)가 주어졌습니다. 비선형 기저 함수 ϕ(x)=[1,x,x2]⊤\\phi(x) = [1, x, x^2]^\\topϕ(x)=[1,x,x2]⊤를 사용하여 모델 f(x)=θ0+θ1x+θ2x2f(x) = \\theta_0 + \\theta_1 x + \\theta_2 x^2f(x)=θ0​+θ1​x+θ2​x2를 세울 때:\n설계 행렬 Φ\\PhiΦ를 구성하고 역행렬이 존재하는지 판별하시오. θML\\theta_{ML}θML​을 구하고, 모든 데이터 포인트에서의 잔차를 구하시오. [정답 및 풀이]\nϕ(x)=[1,x,x2]⊤\\phi(x) = [1, x, x^2]^\\topϕ(x)=[1,x,x2]⊤이므로: Φ=[1−1(−1)210021112]=[1−11100111],y=[214]\\Phi = \\begin{bmatrix} 1 \u0026amp; -1 \u0026amp; (-1)^2 \\\\ 1 \u0026amp; 0 \u0026amp; 0^2 \\\\ 1 \u0026amp; 1 \u0026amp; 1^2 \\end{bmatrix} = \\begin{bmatrix} 1 \u0026amp; -1 \u0026amp; 1 \\\\ 1 \u0026amp; 0 \u0026amp; 0 \\\\ 1 \u0026amp; 1 \u0026amp; 1 \\end{bmatrix}, \\quad y = \\begin{bmatrix} 2 \\\\ 1 \\\\ 4 \\end{bmatrix}Φ=​111​−101​(−1)20212​​=​111​−101​101​​,y=​214​​ Φ\\PhiΦ는 3×33 \\times 33×3 정방행렬(Vandermonde 형태)입니다. det⁡(Φ)=1(0−0)−(−1)(1−0)+1(1−0)=0+1+1=2≠0\\det(\\Phi) = 1(0 - 0) - (-1)(1 - 0) + 1(1 - 0) = 0 + 1 + 1 = 2 \\neq 0det(Φ)=1(0−0)−(−1)(1−0)+1(1−0)=0+1+1=2=0 따라서 역행렬이 존재합니다. 데이터 개수 N=3N=3N=3과 특징 차원 K=3K=3K=3이 같으므로 θML=Φ−1y\\theta_{ML} = \\Phi^{-1} yθML​=Φ−1y로 직접 풀립니다: x=0 ⟹ f(0)=θ0=1x=0 \\implies f(0) = \\theta_0 = 1x=0⟹f(0)=θ0​=1 x=1 ⟹ θ0+θ1+θ2=4 ⟹ 1+θ1+θ2=4 ⟹ θ1+θ2=3x=1 \\implies \\theta_0 + \\theta_1 + \\theta_2 = 4 \\implies 1 + \\theta_1 + \\theta_2 = 4 \\implies \\theta_1 + \\theta_2 = 3x=1⟹θ0​+θ1​+θ2​=4⟹1+θ1​+θ2​=4⟹θ1​+θ2​=3 x=−1 ⟹ θ0−θ1+θ2=2 ⟹ 1−θ1+θ2=2 ⟹ −θ1+θ2=1x=-1 \\implies \\theta_0 - \\theta_1 + \\theta_2 = 2 \\implies 1 - \\theta_1 + \\theta_2 = 2 \\implies -\\theta_1 + \\theta_2 = 1x=−1⟹θ0​−θ1​+θ2​=2⟹1−θ1​+θ2​=2⟹−θ1​+θ2​=1 두 식을 더하면 2θ2=4 ⟹ θ2=22\\theta_2 = 4 \\implies \\theta_2 = 22θ2​=4⟹θ2​=2, 대입하면 θ1=1\\theta_1 = 1θ1​=1. 따라서 θML=[112]\\theta_{ML} = \\begin{bmatrix} 1 \\\\ 1 \\\\ 2 \\end{bmatrix}θML​=​112​​, 회귀식은 f(x)=1+x+2x2f(x) = 1 + x + 2x^2f(x)=1+x+2x2입니다. 모든 훈련 데이터 점을 정확히 통과하므로 잔차 벡터 e=y−ΦθML=[000]e = y - \\Phi\\theta_{ML} = \\begin{bmatrix} 0 \\\\ 0 \\\\ 0 \\end{bmatrix}e=y−ΦθML​=​000​​입니다. [문제 3] (계산형) 능형 회귀(Ridge / MAP)의 수축 효과 계산 [문제 1]의 데이터 (Φ⊤Φ=[3335],Φ⊤y=[811]\\Phi^\\top \\Phi = \\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix}, \\Phi^\\top y = \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix}Φ⊤Φ=[33​35​],Φ⊤y=[811​])에 정규화 계수 λ=1\\lambda = 1λ=1인 능형 회귀(Ridge)를 적용하고자 합니다.\n(Φ⊤Φ+λI)(\\Phi^\\top \\Phi + \\lambda I)(Φ⊤Φ+λI)의 역행렬을 구하시오. 최적 모수 θRidge\\theta_{Ridge}θRidge​를 구하고, [문제 1]의 θML=[7/6,3/2]⊤\\theta_{ML} = [7/6, 3/2]^\\topθML​=[7/6,3/2]⊤과 계수의 크기를 비교하시오. [정답 및 풀이]\nΦ⊤Φ+I=[3+1335+1]=[4336]\\Phi^\\top \\Phi + I = \\begin{bmatrix} 3+1 \u0026amp; 3 \\\\ 3 \u0026amp; 5+1 \\end{bmatrix} = \\begin{bmatrix} 4 \u0026amp; 3 \\\\ 3 \u0026amp; 6 \\end{bmatrix}Φ⊤Φ+I=[3+13​35+1​]=[43​36​] det⁡=(4)(6)−(3)(3)=24−9=15\\det = (4)(6) - (3)(3) = 24 - 9 = 15det=(4)(6)−(3)(3)=24−9=15 (Φ⊤Φ+I)−1=115[6−3−34](\\Phi^\\top \\Phi + I)^{-1} = \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix}(Φ⊤Φ+I)−1=151​[6−3​−34​] θRidge=115[6−3−34][811]=115[48−33−24+44]=115[1520]=[14/3]≈[1.0001.333]\\theta_{Ridge} = \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} = \\frac{1}{15} \\begin{bmatrix} 48 - 33 \\\\ -24 + 44 \\end{bmatrix} = \\frac{1}{15} \\begin{bmatrix} 15 \\\\ 20 \\end{bmatrix} = \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix} \\approx \\begin{bmatrix} 1.000 \\\\ 1.333 \\end{bmatrix}θRidge​=151​[6−3​−34​][811​]=151​[48−33−24+44​]=151​[1520​]=[14/3​]≈[1.0001.333​] 비교: θ0,ML=7/6≈1.167→θ0,Ridge=1.000\\theta_{0, ML} = 7/6 \\approx 1.167 \\to \\theta_{0, Ridge} = 1.000θ0,ML​=7/6≈1.167→θ0,Ridge​=1.000 (감소) θ1,ML=3/2=1.500→θ1,Ridge=4/3≈1.333\\theta_{1, ML} = 3/2 = 1.500 \\to \\theta_{1, Ridge} = 4/3 \\approx 1.333θ1,ML​=3/2=1.500→θ1,Ridge​=4/3≈1.333 (감소) 모수 벡터의 L2L_2L2​ 노름: ∥θML∥2=(7/6)2+(3/2)2=49/36+81/36=130/36≈3.611\\|\\theta_{ML}\\|^2 = (7/6)^2 + (3/2)^2 = 49/36 + 81/36 = 130/36 \\approx 3.611∥θML​∥2=(7/6)2+(3/2)2=49/36+81/36=130/36≈3.611 ∥θRidge∥2=12+(4/3)2=1+16/9=25/9≈2.778\\|\\theta_{Ridge}\\|^2 = 1^2 + (4/3)^2 = 1 + 16/9 = 25/9 \\approx 2.778∥θRidge​∥2=12+(4/3)2=1+16/9=25/9≈2.778 정규화에 의해 가중치 벡터의 크기가 뚜렷하게 0으로 수축(Shrinkage)되었음을 확인할 수 있습니다. [문제 4] (계산형) 베이즈 선형 회귀 사후분포 계산 [문제 1]의 데이터에서 사전분포 p(θ)=N([00],[1001])p(\\theta) = \\mathcal{N}\\left( \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}, \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\end{bmatrix} \\right)p(θ)=N([00​],[10​01​]), 관측 노이즈 분산 σ2=1\\sigma^2 = 1σ2=1일 때:\n사후 정밀도 행렬 SN−1S_N^{-1}SN−1​과 사후 공분산 행렬 SNS_NSN​을 구하시오. 사후 평균 벡터 mNm_NmN​을 구하시오. [정답 및 풀이]\nm0=[0,0]⊤,S0=I,σ2=1m_0 = [0, 0]^\\top, S_0 = I, \\sigma^2 = 1m0​=[0,0]⊤,S0​=I,σ2=1이므로: SN−1=S0−1+σ−2Φ⊤Φ=I+[3335]=[4336]\\begin{aligned} S_N^{-1} \u0026amp;= S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\Phi \\\\ \u0026amp;= I + \\begin{bmatrix} 3 \u0026amp; 3 \\\\ 3 \u0026amp; 5 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 4 \u0026amp; 3 \\\\ 3 \u0026amp; 6 \\end{bmatrix} \\end{aligned}SN−1​​=S0−1​+σ−2Φ⊤Φ=I+[33​35​]=[43​36​]​ SN=(SN−1)−1=115[6−3−34]S_N = \\left( S_N^{-1} \\right)^{-1} = \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix}SN​=(SN−1​)−1=151​[6−3​−34​] mN=SN(S0−1m0+σ−2Φ⊤y)=SN(0+Φ⊤y)=115[6−3−34][811]=[14/3]m_N = S_N (S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top y) = S_N (0 + \\Phi^\\top y) = \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\begin{bmatrix} 8 \\\\ 11 \\end{bmatrix} = \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix}mN​=SN​(S0−1​m0​+σ−2Φ⊤y)=SN​(0+Φ⊤y)=151​[6−3​−34​][811​]=[14/3​] 따라서 사후분포는 p(θ∣X,Y)=N([14/3],115[6−3−34])\\begin{aligned} p(\\theta \\mid X, Y) \u0026amp;= \\mathcal{N}\\biggl( \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix}, \\\\ \u0026amp;\\quad \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\biggr) \\end{aligned}p(θ∣X,Y)​=N([14/3​],151​[6−3​−34​])​ 입니다. [문제 5] (계산형) 사후 예측 분포와 내삽 vs 외삽 분산 비교 [문제 4]의 사후분포 결과를 이용하여:\n훈련 데이터가 존재하는 x∗=1x_* = 1x∗​=1에서의 사후 예측 분포 p(y∗∣x∗=1)p(y_* \\mid x_* = 1)p(y∗​∣x∗​=1)을 구하시오. 훈련 데이터 범위를 벗어난 x∗=3x_* = 3x∗​=3에서의 사후 예측 분포 p(y∗∣x∗=3)p(y_* \\mid x_* = 3)p(y∗​∣x∗​=3)을 구하시오. 두 예측의 분산 차이가 발생하는 이유를 \u0026lsquo;인식론적 불확실성\u0026rsquo; 관점에서 설명하시오. [정답 및 풀이]\nx∗=1 ⟹ ϕ(1)=[1,1]⊤x_* = 1 \\implies \\phi(1) = [1, 1]^\\topx∗​=1⟹ϕ(1)=[1,1]⊤: 평균: μ∗(1)=[1,1][14/3]=1+4/3=7/3≈2.333\\mu_*(1) = [1, 1] \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix} = 1 + 4/3 = 7/3 \\approx 2.333μ∗​(1)=[1,1][14/3​]=1+4/3=7/3≈2.333 모수 분산: ϕ(1)⊤SNϕ(1)=[1,1](115[6−3−34])[11]=115[3,1][11]=415≈0.267\\phi(1)^\\top S_N \\phi(1) = [1, 1] \\left( \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\right) \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} = \\frac{1}{15} [3, 1] \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} = \\frac{4}{15} \\approx 0.267ϕ(1)⊤SN​ϕ(1)=[1,1](151​[6−3​−34​])[11​]=151​[3,1][11​]=154​≈0.267 총 예측 분산: σN2(1)=415+1=1915≈1.267\\sigma_N^2(1) = \\frac{4}{15} + 1 = \\frac{19}{15} \\approx 1.267σN2​(1)=154​+1=1519​≈1.267 p(y∗∣x∗=1)=N(7/3,19/15)p(y_* \\mid x_*=1) = \\mathcal{N}(7/3, 19/15)p(y∗​∣x∗​=1)=N(7/3,19/15) x∗=3 ⟹ ϕ(3)=[1,3]⊤x_* = 3 \\implies \\phi(3) = [1, 3]^\\topx∗​=3⟹ϕ(3)=[1,3]⊤: 평균: μ∗(3)=[1,3][14/3]=1+4=5.000\\mu_*(3) = [1, 3] \\begin{bmatrix} 1 \\\\ 4/3 \\end{bmatrix} = 1 + 4 = 5.000μ∗​(3)=[1,3][14/3​]=1+4=5.000 모수 분산: ϕ(3)⊤SNϕ(3)=[1,3](115[6−3−34])[13]=115[−3,9][13]=2415=1.600\\phi(3)^\\top S_N \\phi(3) = [1, 3] \\left( \\frac{1}{15} \\begin{bmatrix} 6 \u0026amp; -3 \\\\ -3 \u0026amp; 4 \\end{bmatrix} \\right) \\begin{bmatrix} 1 \\\\ 3 \\end{bmatrix} = \\frac{1}{15} [-3, 9] \\begin{bmatrix} 1 \\\\ 3 \\end{bmatrix} = \\frac{24}{15} = 1.600ϕ(3)⊤SN​ϕ(3)=[1,3](151​[6−3​−34​])[13​]=151​[−3,9][13​]=1524​=1.600 총 예측 분산: σN2(3)=1.600+1=2.600\\sigma_N^2(3) = 1.600 + 1 = 2.600σN2​(3)=1.600+1=2.600 p(y∗∣x∗=3)=N(5,2.6)p(y_* \\mid x_*=3) = \\mathcal{N}(5, 2.6)p(y∗​∣x∗​=3)=N(5,2.6) 이유 분석: 고유 노이즈 분산 σ2=1\\sigma^2 = 1σ2=1은 입력 위치와 무관하게 동일합니다. 그러나 모수 불확실성 ϕ(x∗)⊤SNϕ(x∗)\\phi(x_*)^\\top S_N \\phi(x_*)ϕ(x∗​)⊤SN​ϕ(x∗​)는 데이터가 존재하는 내삽(interpolation) 영역에서는 데이터가 주는 정보에 의해 작게 억제되지만, 데이터가 없는 외삽(extrapolation) 영역으로 갈수록 기저 함수 크기의 제곱에 비례하여 급격히 팽창합니다. 이것이 데이터 부족에 기인한 \u0026lsquo;인식론적 불확실성(Epistemic Uncertainty)\u0026lsquo;의 특성입니다. [문제 6] (개념형) MLE, MAP, 베이즈 선형 회귀의 예측 평균 일치 조건 사전분포 p(θ)=N(0,b2I)p(\\theta) = \\mathcal{N}(0, b^2 I)p(θ)=N(0,b2I)와 가우시안 우도 p(Y∣X,θ)=N(Φθ,σ2I)p(Y \\mid X, \\theta) = \\mathcal{N}(\\Phi\\theta, \\sigma^2 I)p(Y∣X,θ)=N(Φθ,σ2I)가 주어졌을 때:\nMAP 추정량의 예측값과 베이즈 선형 회귀 사후 예측 분포의 평균이 수학적으로 완전히 일치함을 보이시오. b2→∞b^2 \\to \\inftyb2→∞ 극한에서 MLE와 MAP의 관계를 설명하시오. [정답 및 풀이]\n베이즈 사후 평균 공식: mN=(S0−1+σ−2Φ⊤Φ)−1(S0−1m0+σ−2Φ⊤y)m_N = (S_0^{-1} + \\sigma^{-2}\\Phi^\\top\\Phi)^{-1} (S_0^{-1}m_0 + \\sigma^{-2}\\Phi^\\top y)mN​=(S0−1​+σ−2Φ⊤Φ)−1(S0−1​m0​+σ−2Φ⊤y) 여기서 m0=0,S0=b2Im_0 = 0, S_0 = b^2 Im0​=0,S0​=b2I를 대입하면 S0−1=1b2IS_0^{-1} = \\frac{1}{b^2} IS0−1​=b21​I이므로: mN=(1b2I+σ−2Φ⊤Φ)−1σ−2Φ⊤ym_N = \\left( \\frac{1}{b^2} I + \\sigma^{-2}\\Phi^\\top\\Phi \\right)^{-1} \\sigma^{-2}\\Phi^\\top ymN​=(b21​I+σ−2Φ⊤Φ)−1σ−2Φ⊤y 괄호 안과 밖의 σ−2\\sigma^{-2}σ−2를 묶어내면: mN=(σ−2(Φ⊤Φ+σ2b2I))−1σ−2Φ⊤y=(Φ⊤Φ+σ2b2I)−1Φ⊤y=θMAPm_N = \\left( \\sigma^{-2} (\\Phi^\\top\\Phi + \\frac{\\sigma^2}{b^2} I) \\right)^{-1} \\sigma^{-2}\\Phi^\\top y = \\left( \\Phi^\\top\\Phi + \\frac{\\sigma^2}{b^2} I \\right)^{-1} \\Phi^\\top y = \\theta_{MAP}mN​=(σ−2(Φ⊤Φ+b2σ2​I))−1σ−2Φ⊤y=(Φ⊤Φ+b2σ2​I)−1Φ⊤y=θMAP​ 따라서 사후 예측 평균 E[y∗]=ϕ(x∗)⊤mN=ϕ(x∗)⊤θMAP\\mathbb{E}[y_*] = \\phi(x_*)^\\top m_N = \\phi(x_*)^\\top \\theta_{MAP}E[y∗​]=ϕ(x∗​)⊤mN​=ϕ(x∗​)⊤θMAP​가 성립합니다. b2→∞b^2 \\to \\inftyb2→∞는 사전 믿음의 분산이 무한대(사전 지식이 전혀 없음, 무정보 사전분포/uninformative prior)임을 뜻합니다. 이때 σ2b2I→0\\frac{\\sigma^2}{b^2} I \\to 0b2σ2​I→0이 되므로: lim⁡b2→∞θMAP=(Φ⊤Φ)−1Φ⊤y=θML\\lim_{b^2 \\to \\infty} \\theta_{MAP} = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top y = \\theta_{ML}limb2→∞​θMAP​=(Φ⊤Φ)−1Φ⊤y=θML​ 즉, 사전 정보가 없을 때 MAP는 정확히 MLE로 수렴합니다. [문제 7] (계산형) 사영 행렬의 대수적 성질과 대각합 계산 설계 행렬 Φ∈R3×2\\Phi \\in \\mathbb{R}^{3 \\times 2}Φ∈R3×2에 대해 모자 행렬 P=Φ(Φ⊤Φ)−1Φ⊤P = \\Phi(\\Phi^\\top\\Phi)^{-1}\\Phi^\\topP=Φ(Φ⊤Φ)−1Φ⊤이 다음과 같이 주어졌습니다: P=16[52−1222−125]P = \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; 2 \u0026amp; -1 \\\\ 2 \u0026amp; 2 \u0026amp; 2 \\\\ -1 \u0026amp; 2 \u0026amp; 5 \\end{bmatrix}P=61​​52−1​222​−125​​ P2P^2P2을 계산하여 멱등성(P2=PP^2 = PP2=P)을 검증하시오. Tr(P)\\text{Tr}(P)Tr(P)를 구하고, 이것이 Φ\\PhiΦ의 열의 개수 K=2K=2K=2와 일치함을 설명하시오. 행렬 I−PI - PI−P의 고유값들을 모두 구하시오. [정답 및 풀이]\nP2=136[52−1222−125][52−1222−125]P^2 = \\frac{1}{36} \\begin{bmatrix} 5 \u0026amp; 2 \u0026amp; -1 \\\\ 2 \u0026amp; 2 \u0026amp; 2 \\\\ -1 \u0026amp; 2 \u0026amp; 5 \\end{bmatrix} \\begin{bmatrix} 5 \u0026amp; 2 \u0026amp; -1 \\\\ 2 \u0026amp; 2 \u0026amp; 2 \\\\ -1 \u0026amp; 2 \u0026amp; 5 \\end{bmatrix}P2=361​​52−1​222​−125​​​52−1​222​−125​​ (1,1): 25+4+1=30=6×525 + 4 + 1 = 30 = 6 \\times 525+4+1=30=6×5 (1,2): 10+4−2=12=6×210 + 4 - 2 = 12 = 6 \\times 210+4−2=12=6×2 (1,3): −5+4−5=−6=6×(−1)-5 + 4 - 5 = -6 = 6 \\times (-1)−5+4−5=−6=6×(−1) (2,2): 4+4+4=12=6×24 + 4 + 4 = 12 = 6 \\times 24+4+4=12=6×2 (3,3): 1+4+25=30=6×51 + 4 + 25 = 30 = 6 \\times 51+4+25=30=6×5 따라서 P2=136[3012−6121212−61230]=16[52−1222−125]=PP^2 = \\frac{1}{36} \\begin{bmatrix} 30 \u0026amp; 12 \u0026amp; -6 \\\\ 12 \u0026amp; 12 \u0026amp; 12 \\\\ -6 \u0026amp; 12 \u0026amp; 30 \\end{bmatrix} = \\frac{1}{6} \\begin{bmatrix} 5 \u0026amp; 2 \u0026amp; -1 \\\\ 2 \u0026amp; 2 \u0026amp; 2 \\\\ -1 \u0026amp; 2 \u0026amp; 5 \\end{bmatrix} = PP2=361​​3012−6​121212​−61230​​=61​​52−1​222​−125​​=P 성립. Tr(P)=16(5+2+5)=126=2\\text{Tr}(P) = \\frac{1}{6}(5 + 2 + 5) = \\frac{12}{6} = 2Tr(P)=61​(5+2+5)=612​=2. 순환성(cyclic property)에 의해 Tr(AB)=Tr(BA)\\text{Tr}(AB) = \\text{Tr}(BA)Tr(AB)=Tr(BA)이므로: Tr(Φ(Φ⊤Φ)−1Φ⊤)=Tr((Φ⊤Φ)−1Φ⊤Φ)=Tr(I2)=2\\text{Tr}(\\Phi(\\Phi^\\top\\Phi)^{-1}\\Phi^\\top) = \\text{Tr}((\\Phi^\\top\\Phi)^{-1}\\Phi^\\top\\Phi) = \\text{Tr}(I_2) = 2Tr(Φ(Φ⊤Φ)−1Φ⊤)=Tr((Φ⊤Φ)−1Φ⊤Φ)=Tr(I2​)=2 사영 행렬의 고유값은 항상 1 또는 0입니다. Tr(P)=2\\text{Tr}(P) = 2Tr(P)=2이므로 PPP의 고유값은 1,1,01, 1, 01,1,0입니다. 따라서 I−PI - PI−P의 고유값은 1−λi1 - \\lambda_i1−λi​이므로 0,0,10, 0, 10,0,1입니다. (즉, 1차원 직교 여공간으로의 사영). [문제 8] (개념형) 고차 다항 회귀에서 모수 폭발(Exploding Weights)이 발생하는 원인 데이터 수 NNN에 비해 다항 회귀 차수 MMM이 과도하게 클 때, 훈련 오차는 0으로 줄어들지만 ∥θ∥2\\|\\theta\\|_2∥θ∥2​는 수백만 단위로 폭증합니다. 이 현상이 일어나는 수학적 메커니즘을 설명하시오.\n[정답 및 풀이]\n다항 기저 함수 ϕ(x)=[1,x,x2,…,xM]⊤\\phi(x) = [1, x, x^2, \\dots, x^M]^\\topϕ(x)=[1,x,x2,…,xM]⊤에서 차수가 높아질수록 기저 벡터 간의 상관관계(상관계수)가 극도로 높아집니다 (예: x8x^8x8과 x9x^9x9는 유사한 곡선 형태를 가짐). 이로 인해 설계 행렬의 열벡터들이 거의 일차 종속에 가까워지는 다중공선성(Multicollinearity)이 발생하며, Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ의 최소 고유값이 0에 극도로 가까워집니다 (det⁡(Φ⊤Φ)≈0\\det(\\Phi^\\top\\Phi) \\approx 0det(Φ⊤Φ)≈0, 조건수(condition number) 폭증). 역행렬 (Φ⊤Φ)−1(\\Phi^\\top \\Phi)^{-1}(Φ⊤Φ)−1의 고유값은 원래 고유값의 역수이므로, 최소 고유값에 대응하는 방향으로 역행렬의 원소들이 천문학적으로 커집니다. 결국 노이즈가 조금만 섞여 있어도 그 노이즈를 상쇄하여 훈련 오차를 0으로 맞추기 위해 거대한 양의 가중치와 거대한 음의 가중치가 격렬하게 맞부딪히며 파라미터 노름 ∥θ∥2\\|\\theta\\|_2∥θ∥2​가 폭발하게 됩니다. [문제 9] (개념형) L1 (LASSO) vs L2 (Ridge) 규제화와 사전분포의 기하학 능형 회귀(L2L_2L2​)와 라쏘(L1L_1L1​)를 각각 베이지안 사전분포 관점에서 비교하시오. 라쏘가 희소한 해(Sparsity: 일부 모수를 정확히 0으로 만듦)를 유도하는 이유를 등고선(등위면) 기하학으로 설명하시오. [정답 및 풀이]\n사전분포 관점: L2L_2L2​ 규제: 모수에 독립적인 가우시안 사전분포 p(θ)∝exp⁡(−λ2∥θ∥22)p(\\theta) \\propto \\exp(-\\frac{\\lambda}{2}\\|\\theta\\|_2^2)p(θ)∝exp(−2λ​∥θ∥22​)를 가정한 MAP 추정. L1L_1L1​ 규제: 모수에 독립적인 라플라스 사전분포 p(θ)∝exp⁡(−λ∥θ∥1)p(\\theta) \\propto \\exp(-\\lambda\\|\\theta\\|_1)p(θ)∝exp(−λ∥θ∥1​)를 가정한 MAP 추정. 등고선 기하학적 원리: 최소제곱 손실함수의 등고선은 타원형 형태를 가집니다. L2L_2L2​ 제약 영역 {θ:∥θ∥22≤C}\\{\\theta : \\|\\theta\\|_2^2 \\le C\\}{θ:∥θ∥22​≤C}은 매끄러운 원(구) 형태입니다. 타원과 원이 처음 접하는 점은 일반적으로 축(Axis) 위가 아닌 일반적인 지점이므로 모수가 0이 되지 않고 작아지기만 합니다. L1L_1L1​ 제약 영역 {θ:∥θ∥1≤C}\\{\\theta : \\|\\theta\\|_1 \\le C\\}{θ:∥θ∥1​≤C}은 축 위에 뾰족한 모서리(첨점, Vertex)를 갖는 마름모(다포체) 형태입니다. 타원형 등고선이 팽창하면서 마름모와 처음 접촉할 때, 뾰족하게 튀어나온 모서리(즉, 특정 축 위의 점)에서 접촉할 확률이 압도적으로 높습니다. 모서리에서는 다른 좌표축의 값이 정확히 000이 되므로, 라쏘는 불필요한 특징의 가중치를 정확히 0으로 만들어 자동 변수 선택을 수행합니다. [문제 10] (개념형) 주변 가능도(Marginal Likelihood)와 오컴의 면도날 주변 가능도 log⁡p(Y∣X)=∫p(Y∣X,θ)p(θ)dθ\\log p(Y \\mid X) = \\int p(Y \\mid X, \\theta) p(\\theta) d\\thetalogp(Y∣X)=∫p(Y∣X,θ)p(θ)dθ가 복잡한 모델(과적합 모델)에 스스로 벌점을 부과하여 최적의 모델 복잡도를 선택할 수 있는 원리를 설명하시오.\n[정답 및 풀이]\n확률밀도함수의 전체 적분값은 항상 1이어야 합니다: ∫p(Y∣X)dY=1\\int p(Y \\mid X) dY = 1∫p(Y∣X)dY=1. 단순한 모델: 생성할 수 있는 데이터셋 YYY의 가짓수가 제한적입니다. 따라서 소수의 특정 데이터 패턴에 대해 높은 확률밀도 p(Y∣X)p(Y \\mid X)p(Y∣X)를 집중적으로 할당합니다. 매우 복잡한 모델: 무한히 많은 다양한 데이터셋을 표현할 수 있는 유연성을 가집니다. 그러나 총 확률의 합이 1로 보존되어야 하므로, 넓은 데이터 공간에 확률밀도를 얇고 넓게 분산시켜야 합니다. 따라서 실제 관측된 데이터 YYY가 단순한 모델로도 충분히 설명 가능한 데이터라면, 복잡한 모델이 부여하는 확률밀도 p(Y∣X)p(Y \\mid X)p(Y∣X)는 단순한 모델보다 훨씬 낮아집니다. 수식적으로도 로그 주변 가능도는 \u0026ldquo;데이터 적합도\u0026rdquo; 항과 행렬식 log⁡det⁡(ΦS0Φ⊤+σ2I)\\log \\det(\\Phi S_0 \\Phi^\\top + \\sigma^2 I)logdet(ΦS0​Φ⊤+σ2I)로 구성된 \u0026ldquo;복잡도 페널티\u0026rdquo; 항으로 분해되어, 파라미터가 불필요하게 많아질수록 페널티가 급격히 커져 자동으로 과적합을 차단합니다. 교재 예제·그림으로 복습하기 (Part II에는 장 끝 연습문제가 없음) 교재 특이사항 안내:\nMML 교재의 기초수학 파트(Part I, 27장)에는 장 끝에 별도의 \u0026lsquo;Exercises\u0026rsquo; 절이 번호와 함께 수록되어 있으나, 응용 머신러닝 파트(Part II, 812장)는 각 장 끝에 별도의 번호 매겨진 Exercises 절이 없고 바로 \u0026lsquo;Further Reading\u0026rsquo;으로 끝납니다. 그래서 아래 5개는 교재의 예제와 그림을 바탕으로 이 해설이 만든 복습 과제다(교재에 이런 이름의 과제가 있는 것은 아니다).\n[복습 과제 1] 다항 특징 변환과 차수 MMM의 영향 (Example 9.1 / Figure 9.5) 질문 요약: 1차원 데이터셋에 MMM차 다항 기저 함수 ϕ(x)=[1,x,x2,…,xM]⊤\\phi(x) = [1, x, x^2, \\dots, x^M]^\\topϕ(x)=[1,x,x2,…,xM]⊤를 적용할 때, M=0,1,3,9M=0, 1, 3, 9M=0,1,3,9에 따른 적합선의 형태 변화와 과적합 발생 양상을 분석하시오. 풀이 방향: M=0M=0M=0: f(x)=θ0f(x) = \\theta_0f(x)=θ0​ (상수 함수). 데이터의 평균으로만 예측하므로 심각한 과소적합. M=1M=1M=1: f(x)=θ0+θ1xf(x) = \\theta_0 + \\theta_1 xf(x)=θ0​+θ1​x (직선). 전반적인 추세는 따르지만 곡률을 표현 못함. M=3M=3M=3: f(x)=∑m=03θmxmf(x) = \\sum_{m=0}^3 \\theta_m x^mf(x)=∑m=03​θm​xm (3차 곡선). 노이즈에 둔감하면서 데이터의 참된 주기/곡률 패턴을 가장 훌륭하게 복원. M=9M=9M=9: 데이터 포인트 개수 NNN에 가까워지면서 모든 훈련 점을 정확히 지나기 위해 데이터 사이 구간에서 극단적으로 요동침. 훈련 오차는 0이지만 시험 오차는 크게 커진다. [복습 과제 2] 모수 정규화와 능형 회귀의 억제 효과 (Figure 9.7) 질문 요약: M=9M=9M=9 다항 회귀에서 θML\\theta_{ML}θML​의 계수 크기와, 가우시안 사전분포 분산 b2b^2b2을 부여한 θMAP\\theta_{MAP}θMAP​의 계수 크기 변화를 비교하시오. 풀이 방향: MLE의 경우 M=9M=9M=9일 때 고차 계수가 +105,−105+10^5, -10^5+105,−105 수준으로 발산함. 능형 회귀 손실함수 12∥y−Φθ∥2+λ2∥θ∥2\\frac{1}{2}\\|y - \\Phi\\theta\\|^2 + \\frac{\\lambda}{2}\\|\\theta\\|^221​∥y−Φθ∥2+2λ​∥θ∥2에서 λ=σ2/b2\u0026gt;0\\lambda = \\sigma^2/b^2 \u0026gt; 0λ=σ2/b2\u0026gt;0을 도입하면, 행렬 Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ의 대각 원소에 λ\\lambdaλ가 더해져 고유값이 λi+λ\\lambda_i + \\lambdaλi​+λ로 상승함. 역행렬 연산 시 (λi+λ)−1(\\lambda_i + \\lambda)^{-1}(λi​+λ)−1이 되어 고유값이 0에 가까워 폭발하던 방향의 계수를 강하게 압축(수축)시킴. 결과적으로 M=9M=9M=9의 유연성을 유지하면서도 부드러운 곡선 적합을 달성함. [복습 과제 3] 베이즈 선형 회귀의 함수 공간 사후분포 샘플링 (Figure 9.9 \u0026amp; 9.10) 질문 요약: 베이즈 선형 회귀에서 사후분포 p(θ∣X,Y)p(\\theta \\mid X, Y)p(θ∣X,Y)로부터 샘플링한 모수 θ(s)∼N(mN,SN)\\theta^{(s)} \\sim \\mathcal{N}(m_N, S_N)θ(s)∼N(mN​,SN​)를 이용해 여러 개의 회귀선 f(s)(x)=ϕ(x)⊤θ(s)f^{(s)}(x) = \\phi(x)^\\top \\theta^{(s)}f(s)(x)=ϕ(x)⊤θ(s)를 그렸을 때 나타나는 기하학적 특성을 설명하시오. 풀이 방향: 훈련 데이터가 관측된 위치 xnx_nxn​에서는 모든 샘플링된 함수선들이 데이터 포인트 주변의 좁은 병목(choke point)을 일제히 통과함 (모수 불확실성이 낮음). 훈련 데이터가 없는 영역으로 갈수록 샘플링된 함수선들이 위아래로 부채꼴처럼 넓게 퍼져나감. 이 선들의 평균이 ϕ(x)⊤mN\\phi(x)^\\top m_Nϕ(x)⊤mN​이며, 퍼진 폭의 표준편차가 바로 ϕ(x)⊤SNϕ(x)\\sqrt{\\phi(x)^\\top S_N \\phi(x)}ϕ(x)⊤SN​ϕ(x)​임을 시각적으로 설명함. [복습 과제 4] 주변 가능도를 통한 최적 모델 자동 선택 (Section 9.3.5) 질문 요약: M=0,1,…,9M=0, 1, \\dots, 9M=0,1,…,9 차수 모델들에 대해 log⁡p(Y∣X,M)\\log p(Y \\mid X, M)logp(Y∣X,M)을 계산했을 때 최대가 되는 차수가 왜 실제 참된 차수 부근에서 나타나는지 논증하시오. 풀이 방향: 모델 차수 MMM이 증가함에 따라 첫 번째 항 −12(y−Φm0)⊤(ΦS0Φ⊤+σ2I)−1(y−Φm0)-\\frac{1}{2}(y - \\Phi m_0)^\\top (\\Phi S_0 \\Phi^\\top + \\sigma^2 I)^{-1}(y - \\Phi m_0)−21​(y−Φm0​)⊤(ΦS0​Φ⊤+σ2I)−1(y−Φm0​) (데이터 적합도)은 단조 증가함. 반면 두 번째 항 −12log⁡det⁡(ΦS0Φ⊤+σ2I)-\\frac{1}{2}\\log\\det(\\Phi S_0 \\Phi^\\top + \\sigma^2 I)−21​logdet(ΦS0​Φ⊤+σ2I) (복잡도 페널티)은 MMM차원 부피가 커지므로 단조 감소함. 두 곡선의 합은 최적 차수(예: M=3M=3M=3)에서 전역 극댓값을 형성하며, M≥4M \\ge 4M≥4부터는 페널티 감소량이 적합도 증가량을 압도하여 주변 가능도가 급락함을 그래프 개형과 함께 서술함. [복습 과제 5] 정규방정식의 기하학적 직교 분해 (Figure 9.12) 질문 요약: 1차원 데이터 x∈R1x \\in \\mathbb{R}^1x∈R1에 대해 원점을 지나는 직선 y=θxy = \\theta xy=θx를 적합할 때, 데이터 벡터 y=[y1,…,yN]⊤y = [y_1, \\dots, y_N]^\\topy=[y1​,…,yN​]⊤와 기저 벡터 x=[x1,…,xN]⊤x = [x_1, \\dots, x_N]^\\topx=[x1​,…,xN​]⊤가 이루는 사영 관계를 NNN차원 공간에서 증명하시오. 풀이 방향: Φ=x∈RN\\Phi = x \\in \\mathbb{R}^NΦ=x∈RN (1차원 열벡터). 부분공간은 xxx 방향의 직선. 사영 행렬은 스칼라 분모를 갖는 P=xx⊤x⊤xP = \\frac{x x^\\top}{x^\\top x}P=x⊤xxx⊤​. 최적 추정량 θML=(x⊤x)−1x⊤y=x⊤yx⊤x=∑xnyn∑xn2\\theta_{ML} = (x^\\top x)^{-1} x^\\top y = \\frac{x^\\top y}{x^\\top x} = \\frac{\\sum x_n y_n}{\\sum x_n^2}θML​=(x⊤x)−1x⊤y=x⊤xx⊤y​=∑xn2​∑xn​yn​​. 잔차 e=y−θMLxe = y - \\theta_{ML} xe=y−θML​x에 대해 x⊤e=x⊤y−x⊤yx⊤xx⊤x=0x^\\top e = x^\\top y - \\frac{x^\\top y}{x^\\top x} x^\\top x = 0x⊤e=x⊤y−x⊤xx⊤y​x⊤x=0임을 보여 고교 기하학의 벡터 내적 0 조건과 정확히 일치함을 보임. 시험 직전 10분 요약 (Cheat Sheet) 1. 선형 회귀 핵심 공식 총람 항목 공식 / 표현식 행렬 차원 및 비고 모델 방정식 yn=ϕ(xn)⊤θ+ϵn,ϵn∼N(0,σ2)y_n = \\phi(x_n)^\\top \\theta + \\epsilon_n, \\quad \\epsilon_n \\sim \\mathcal{N}(0, \\sigma^2)yn​=ϕ(xn​)⊤θ+ϵn​,ϵn​∼N(0,σ2) ϕ(x)∈RK,θ∈RK\\phi(x) \\in \\mathbb{R}^K, \\theta \\in \\mathbb{R}^Kϕ(x)∈RK,θ∈RK 행렬 표현 y=Φθ+ϵ,ϵ∼N(0,σ2IN)y = \\Phi \\theta + \\boldsymbol{\\epsilon}, \\quad \\boldsymbol{\\epsilon} \\sim \\mathcal{N}(0, \\sigma^2 I_N)y=Φθ+ϵ,ϵ∼N(0,σ2IN​) Φ∈RN×K,y∈RN\\Phi \\in \\mathbb{R}^{N \\times K}, y \\in \\mathbb{R}^NΦ∈RN×K,y∈RN 정규방정식 (MLE) Φ⊤Φθ=Φ⊤y ⟺ θML=(Φ⊤Φ)−1Φ⊤y\\Phi^\\top \\Phi \\theta = \\Phi^\\top y \\iff \\theta_{ML} = (\\Phi^\\top \\Phi)^{-1} \\Phi^\\top yΦ⊤Φθ=Φ⊤y⟺θML​=(Φ⊤Φ)−1Φ⊤y rank(Φ)=K\\text{rank}(\\Phi)=Krank(Φ)=K 필요 노이즈 분산 MLE σML2=1N∥y−ΦθML∥2\\sigma_{ML}^2 = \\frac{1}{N} \\|y - \\Phi \\theta_{ML}\\|^2σML2​=N1​∥y−ΦθML​∥2 잔차 제곱의 표본 평균 사전분포 (Prior) p(θ)=N(θ∣m0,S0)p(\\theta) = \\mathcal{N}(\\theta \\mid m_0, S_0)p(θ)=N(θ∣m0​,S0​) 등방성: m0=0,S0=b2Im_0=0, S_0=b^2 Im0​=0,S0​=b2I MAP / 능형 회귀 해 θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y=(Φ⊤Φ+λI)−1Φ⊤y\\theta_{MAP} = (\\Phi^\\top \\Phi + \\frac{\\sigma^2}{b^2} I)^{-1} \\Phi^\\top y = (\\Phi^\\top \\Phi + \\lambda I)^{-1} \\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y=(Φ⊤Φ+λI)−1Φ⊤y λ=σ2b2\\lambda = \\frac{\\sigma^2}{b^2}λ=b2σ2​, 항상 역행렬 존재 사후 공분산 (Bayes) SN−1=S0−1+σ−2Φ⊤Φ ⟺ SN=(S0−1+σ−2Φ⊤Φ)−1S_N^{-1} = S_0^{-1} + \\sigma^{-2} \\Phi^\\top \\Phi \\iff S_N = (S_0^{-1} + \\sigma^{-2}\\Phi^\\top\\Phi)^{-1}SN−1​=S0−1​+σ−2Φ⊤Φ⟺SN​=(S0−1​+σ−2Φ⊤Φ)−1 정밀도의 합산 사후 평균 (Bayes) mN=SN(S0−1m0+σ−2Φ⊤y)m_N = S_N (S_0^{-1} m_0 + \\sigma^{-2} \\Phi^\\top y)mN​=SN​(S0−1​m0​+σ−2Φ⊤y) 정밀도 가중 평균 사후 예측 평균 E[y∗∣x∗]=ϕ(x∗)⊤mN\\mathbb{E}[y_* \\mid x_*] = \\phi(x_*)^\\top m_NE[y∗​∣x∗​]=ϕ(x∗​)⊤mN​ MAP 예측값과 일치 사후 예측 분산 σN2(x∗)=ϕ(x∗)⊤SNϕ(x∗)+σ2\\sigma_N^2(x_*) = \\phi(x_*)^\\top S_N \\phi(x_*) + \\sigma^2σN2​(x∗​)=ϕ(x∗​)⊤SN​ϕ(x∗​)+σ2 인식론적(모수) + 우연적(노이즈) 주변 가능도 p(Y∣X)=N(y∣Φm0, ΦS0Φ⊤+σ2IN)p(Y \\mid X) = \\mathcal{N}(y \\mid \\Phi m_0, \\; \\Phi S_0 \\Phi^\\top + \\sigma^2 I_N)p(Y∣X)=N(y∣Φm0​,ΦS0​Φ⊤+σ2IN​) 오컴의 면도날 모델 선택 사영 행렬 (Hat) P=Φ(Φ⊤Φ)−1Φ⊤P = \\Phi (\\Phi^\\top \\Phi)^{-1} \\Phi^\\topP=Φ(Φ⊤Φ)−1Φ⊤ P2=P,P⊤=P,Tr(P)=KP^2=P, P^\\top=P, \\text{Tr}(P)=KP2=P,P⊤=P,Tr(P)=K 직교 조건 Φ⊤(y−Py)=Φ⊤(I−P)y=0\\Phi^\\top (y - Py) = \\Phi^\\top (I - P)y = 0Φ⊤(y−Py)=Φ⊤(I−P)y=0 잔차 벡터는 col(Φ)\\text{col}(\\Phi)col(Φ)에 수직 2. 패러다임별 비교 판단표 비교 기준 최대가능도 추정 (MLE) 최대 사후확률 추정 (MAP) 베이즈 선형 회귀 (Bayesian) 모수 θ\\thetaθ의 정의 고정된 미지의 상수 고정된 미지의 상수 확률 변수 (Random Variable) 사전 지식 활용 없음 (데이터에만 의존) 가우시안 사전분포 p(θ)p(\\theta)p(θ) 반영 사전분포 p(θ)p(\\theta)p(θ) 반영 출력 결과 형태 단일 점 추정값 θML\\theta_{ML}θML​ 단일 점 추정값 θMAP\\theta_{MAP}θMAP​ 사후 확률분포 p(θ∣X,Y)p(\\theta \\mid X, Y)p(θ∣X,Y) 과적합 취약성 매우 취약 (N\u0026lt;KN \u0026lt; KN\u0026lt;K시 계산 불가) 강인함 (규제화 항이 발산 방지) 강함 (모수 하나를 고르지 않고 사후분포 전체로 평균. 단, 사전분포·기저함수 선택이 나쁘면 여전히 틀림) 예측값 형태 단일 점 ϕ(x∗)⊤θML\\phi(x_*)^\\top \\theta_{ML}ϕ(x∗​)⊤θML​ 단일 점 ϕ(x∗)⊤θMAP\\phi(x_*)^\\top \\theta_{MAP}ϕ(x∗​)⊤θMAP​ 분포 N(μ∗,σN2(x∗))\\mathcal{N}(\\mu_*, \\sigma_N^2(x_*))N(μ∗​,σN2​(x∗​)) 불확실성 제공 여부 불가 불가 가능 (신뢰구간 정량화) 모델 선택 기준 훈련 오차 (과적합 유발) 교차 검증(CV) 필요 주변 가능도 p(Y∣X)p(Y \\mid X)p(Y∣X) 3. 시험장 1초 판별 체크리스트 Φ\\PhiΦ의 크기는 N×KN \\times KN×K인가? 전치 행렬 Φ⊤\\Phi^\\topΦ⊤은 K×NK \\times NK×N인가? Φ⊤Φ\\Phi^\\top \\PhiΦ⊤Φ는 K×KK \\times KK×K인가? 역행렬을 취할 때 차원이 K×KK \\times KK×K로 유지되는가? 사영 행렬 PPP의 크기는 N×NN \\times NN×N인가? Tr(P)=K\\text{Tr}(P) = KTr(P)=K가 맞는가? θMAP\\theta_{MAP}θMAP​을 구할 때 대각선에 더해지는 값이 σ2b2=λ\\frac{\\sigma^2}{b^2} = \\lambdab2σ2​=λ인가? (역수가 아님에 주의!) 사후 공분산 SNS_NSN​을 계산할 때 역행렬을 두 번 취하는가? (SN=(S0−1+σ−2Φ⊤Φ)−1S_N = (S_0^{-1} + \\sigma^{-2}\\Phi^\\top\\Phi)^{-1}SN​=(S0−1​+σ−2Φ⊤Φ)−1) 사후 예측 분산에서 노이즈 분산 σ2\\sigma^2σ2을 마지막에 반드시 더해주었는가? 잔차 벡터 e=y−y^e = y - \\hat{y}e=y−y^​와 기저 행렬 Φ\\PhiΦ를 곱했을 때 Φ⊤e=0\\Phi^\\top e = 0Φ⊤e=0이 나오는가? ","permalink":"https://qofo.github.io/posts/mml-ch09-linear-regression/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 범위\u003c/strong\u003e: Deisenroth, Faisal, Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e(MML), pp. 289–316.\u003cbr\u003e\n\u003cstrong\u003e선후수 연결 및 의존성\u003c/strong\u003e: 이 장은 지도학습(Supervised Learning)의 가장 기본이자 핵심인 연속값 함수 근사 문제를 다룹니다. 2~3장의 벡터 공간·기저·직교 사영(Orthogonal Projection), 5장의 행렬 미분과 경사도(Gradient), 6장의 가우시안 분포 및 베이즈 정리(Bayes\u0026rsquo; Theorem), 7장의 볼록 최적화(Convex Optimization) 기법이 결합하여 완성됩니다. 본 장에서 확립된 최대가능도(MLE)와 베이즈 추론(Bayesian Inference)의 틀은 10장(PCA), 11장(가우스 혼합 모델 GMM), 12장(서포트 벡터 머신 SVM)으로 이어지는 기계학습 핵심 모델의 토대가 됩니다.\u003c/p\u003e","title":"MML 9장 선형회귀: 정규방정식, MAP, 베이즈 선형회귀"},{"content":"2편에서 만든 블로그는 파이썬 파일 하나가 전부였다. 글 목록을 파싱하고, HTML을 문자열로 들고 있다가 내보내고, 마크다운은 브라우저가 marked로 그렸다. 이 구조에는 약점이 하나 있다. 폰이 꺼지면 글도 사라진다. 7편의 재부팅 장애 때 방문자가 본 것은 글이 아니라 ngrok의 오류 페이지였다.\n이 글은 블로그를 Hugo 정적 사이트로 옮기고, 같은 원본을 폰과 GitHub Pages 두 곳에서 서비스하게 만든 기록이다. 계획과 달라진 곳이 세 군데 있었다. 그중 둘은 실제로 붙여 보기 전까지 드러나지 않았다.\n목표와 제약 GitHub Pages는 정적 파일만 서비스한다. 반면 이 블로그의 대시보드는 폰의 CPU 코어별 사용률과 배터리를 실시간으로 보여 주고, 그 수치는 폰에서만 나온다. 그래서 목표를 \u0026ldquo;똑같은 사이트 두 벌\u0026quot;이 아니라 이렇게 잡았다.\n글은 두 곳에서 똑같이 열린다. 폰이 꺼져도 Pages에서는 열린다. 수치는 어느 쪽에서 열어도 폰에서 온다. 폰이 꺼져 있으면 \u0026ldquo;응답 없음\u0026quot;으로 표시된다. (이 결정은 뒤에 바꿨다. 4절 끝의 덧붙임을 보라.) qofo.github.io 저장소 (main: 원본) │ ┌────────────────┴────────────────┐ ▼ ▼ hugo --environment phone hugo (기본 설정) │ │ /root/blog_builds/\u0026lt;시각\u0026gt; gh-pages 브랜치 │ │ serve_blog.py ── ngrok GitHub Pages └ /api/metrics ◀──── 대시보드가 교차 출처로 호출 ────┘ 두 빌드의 차이는 설정 파일 한 장(config/phone/hugo.toml)에 모았다.\n항목 GitHub Pages 폰 대시보드 API ngrok 주소의 /api/metrics (교차 출처) /api/metrics (같은 출처) 폴링 간격 (홈 / 대시보드) 30초 / 5초 10초 / 3초 robots.txt 허용 전체 차단 canonical Pages 주소 Pages 주소 검색엔진에는 Pages 사본만 원본으로 알린다. 폰 사본은 ngrok 경고 페이지 뒤에 있고, 주소도 언제든 바뀔 수 있다. 페이지 안의 링크는 모두 /posts/… 같은 루트 기준 경로로 만들었다. 그래서 폰 사본은 ngrok 주소, LAN 주소, Tailscale 주소 중 어느 것으로 열어도 동작한다.\n1. 글 옮기기: 인용 블록 머리말을 front matter로 기존 글은 메타데이터를 인용 블록에 적었다. 옛 서버가 이 블록을 정규식으로 읽어 목록 카드를 만들었다.\n# 2편. 파이썬 표준 라이브러리만으로 만든 블로그, 그리고 첫 외부 공개 \u0026gt; **작성일**: 2026년 9월 17일 \u0026gt; **개정**: 2026년 9월 18일 \u0026gt; **시리즈**: 스마트폰으로 서버 만들기 (2편) \u0026gt; **태그**: `Python`, `http.server`, `Cloudflare Tunnel`, ... Hugo는 이 정보를 front matter로 받는다. 8편 모두 규칙이 같아서 변환 스크립트를 한 번 돌렸다.\n--- title: \u0026#34;파이썬 표준 라이브러리만으로 만든 블로그, 그리고 첫 외부 공개\u0026#34; slug: \u0026#34;stdlib-python-blog\u0026#34; date: 2026-09-17 lastmod: 2026-09-18 weight: 2 series: [\u0026#34;스마트폰으로 서버 만들기\u0026#34;] tags: [\u0026#34;Python\u0026#34;, \u0026#34;http.server\u0026#34;, \u0026#34;Cloudflare Tunnel\u0026#34;, ...] legacy_id: \u0026#34;02_web_server_and_cloudflare_tunnel\u0026#34; --- \u0026ldquo;2편\u0026quot;이라는 번호는 제목에서 빼고 weight로 옮겼다. 글 주소는 /posts/\u0026lt;slug\u0026gt;/다.\n글 사이 링크 글 안에는 [5편](#post=05_headless_autostart_and_self_healing_daemon) 같은 링크가 21개 있었다. 옛 단일 페이지 앱의 해시 주소라서, Hugo 사이트에서도 GitHub 저장소 화면에서도 열리지 않는다.\nHugo의 표준 방법은 relref 단축 코드다. 하지만 이 문법은 GitHub에서 파일을 읽을 때 날것 그대로 보인다. 그래서 링크를 파일 이름으로 바꿨다. [5편](05-termux-boot-supervisor.md)은 GitHub의 파일 화면에서 그대로 열린다. Hugo 쪽에서는 링크 render hook이 이 링크를 실제 주소로 바꾼다.\n{{- $u := urls.Parse .Destination -}} {{- $href := .Destination -}} {{- if and (not $u.IsAbs) (strings.HasSuffix $u.Path \u0026#34;.md\u0026#34;) -}} {{- with .PageInner.GetPage $u.Path -}} {{- $href = .RelPermalink -}} {{- else -}} {{- errorf \u0026#34;%s: link target %q does not exist\u0026#34; $.PageInner.File.Path $.Destination -}} {{- end -}} {{- end -}} 대상 글이 없으면 errorf가 빌드를 실패시킨다. 깨진 링크가 배포되는 대신 배포가 멈춘다.\n변환 뒤에는 원본과 본문을 비교했다. 머리말과 링크 주소만 빼고 비교했을 때 8편 모두 한 글자도 다르지 않았다.\n이미 퍼진 옛 링크 어딘가에 공유된 /#post=03_android_proot_... 링크는 살려야 한다. 그런데 # 뒤의 조각은 브라우저가 서버로 보내지 않는다. 서버는 이 요청을 /로만 보기 때문에 리디렉트를 걸 수 없다.\n그래서 front matter에 옛 ID(legacy_id)를 남겼다. 홈 페이지에는 빌드할 때 만든 \u0026ldquo;옛 ID → 새 주소\u0026rdquo; 표를 JSON으로 심었다. 홈의 스크립트는 해시가 표에 있으면 location.replace로 새 주소로 보낸다.\n2. 테마: 외부 테마 대신 옛 화면을 옮겼다 (이 결정도 뒤에 바꿨다. 절 끝의 덧붙임을 보라.)\n계획서는 Hugo 테마 PaperMod를 권했다. 실제로는 쓰지 않았다. 홈의 실시간 수치 표시와 대시보드는 PaperMod에 없어서, 결국 템플릿을 덮어써야 했다. 그렇다면 옛 단일 페이지 앱의 CSS 변수와 카드 디자인을 레이아웃 몇 장으로 옮기는 편이 짧았다. 외부 테마 서브모듈이 없으니 테마 버전이 Hugo 버전과 어긋날 걱정도 없다.\n코드 강조는 브라우저의 highlight.js 대신 Hugo의 Chroma가 빌드할 때 처리한다. 어두운 테마와 밝은 테마의 스타일시트를 hugo gen chromastyles로 하나씩 만들어 이어 붙였더니, 밝은 테마에서 코드 글자가 거의 보이지 않았다.\n/* github-dark */ .chroma { color:#e6edf3; background-color:#0d1117; } /* github */ .chroma { background-color:#f7f7f7; } 밝은 스타일은 배경색만 바꾸고 글자색은 정하지 않는다. 그래서 어두운 쪽의 밝은 글자색(#e6edf3)이 밝은 배경 위에 그대로 남았다. 두 스타일이 서로 겹치지 않게 범위를 나눠서 해결했다. 하나는 :root:not([data-theme=\u0026quot;light\u0026quot;]) 아래에만, 다른 하나는 [data-theme=\u0026quot;light\u0026quot;] 아래에만 적용된다.\n덧붙임 (2026-09-20): 직접 옮긴 화면이 마음에 들지 않아 결국 PaperMod로 갈아탔다. 이 절의 판단은 \u0026ldquo;실시간 수치를 넣으려면 템플릿을 덮어써야 한다\u0026quot;였는데, 이는 덮어쓰기를 테마를 포기할 이유로 본 것이었다. PaperMod는 덮어쓸 자리를 미리 열어 둔다. extend_head.html, extend_footer.html, extend_post_content.html은 비어 있는 채로 불리고, assets/css/extended/*.css는 테마 스타일시트 뒤에 그대로 이어 붙는다. 홈의 수치 표시는 home_info.html을, 목록의 \u0026ldquo;N편\u0026rdquo; 표시는 post_meta.html을 각각 같은 이름으로 다시 쓰면 된다. 대시보드 레이아웃과 링크 렌더 훅은 손댈 필요도 없었다. 결과적으로 테마 파일을 통째로 복사해 온 것은 두 개, 고친 줄은 각각 한 줄이다. canonical을 .Permalink 대신 Pages 주소로 두는 head.html과, 목록 요약을 본문 앞부분 대신 글의 description으로 두는 list.html이다. 코드 강조도 PaperMod가 자기 Chroma 스타일시트를 들고 있어서, 위에서 직접 나눈 스타일시트는 지웠다. noClasses = false는 그대로 둬야 한다.\n테마를 고를 때 걸린 것은 디자인이 아니라 빌드 환경이었다. hugo-theme-stack은 theme.toml이 Hugo 0.157 이상을 요구하는데, 폰의 apt Hugo는 0.154.5다. Congo는 이 폰에서 5분을 넘겨도 빌드가 끝나지 않아 중단했다. PaperMod는 같은 글 열 편을 약 2초에 빌드했다. 테마는 서브모듈이나 Hugo 모듈이 아니라 themes/PaperMod/에 파일째 넣었다. 빌드하는 쪽이 폰이라, 빌드가 네트워크를 타지 않는 편이 낫다.\n3. 폰 서버: 렌더러에서 정적 파일 서버로 serve_blog.py는 1743줄에서 641줄이 됐다. 그중 1157줄이 파이썬 문자열 안에 든 HTML·CSS·JS였다. 남은 역할은 둘이다. Hugo가 만든 파일을 보내는 일과 /api/metrics다.\n디렉터리를 공개하는 코드 8편에서는 \u0026ldquo;디렉터리가 아니라 목록을 공개한다\u0026quot;고 정리했다. 정적 사이트는 그럴 수 없다. 빌드하면 페이지가 100개 가까이 나오고, 빌드할 때마다 바뀐다. 그래서 경로를 조립하되, 조립한 결과를 검사한다.\nroot = os.path.realpath(SITE_DIR) parts = [p for p in path.split(\u0026#34;/\u0026#34;) if p] if any(p.startswith(\u0026#34;.\u0026#34;) for p in parts): # .., .build-info 같은 숨김 파일 return \u0026#34;missing\u0026#34;, None candidate = os.path.realpath(os.path.join(root, *parts)) if not (candidate == root or candidate.startswith(root + os.sep)): return \u0026#34;missing\u0026#34;, None # 심볼릭 링크 탈출 포함 if os.path.isdir(candidate) and not path.endswith(\u0026#34;/\u0026#34;): # 요청 문자열이 아니라 조각에서 다시 만든다: \u0026#34;//host\u0026#34;가 Location에 들어가지 않게 return \u0026#34;redirect\u0026#34;, \u0026#34;/\u0026#34; + \u0026#34;/\u0026#34;.join(parts) + \u0026#34;/\u0026#34; 퍼센트 인코딩을 풀 때 잘못된 UTF-8(%ff)은 예외로 잡아 404로 보낸다. 제어 문자(%00)와 역슬래시가 든 경로도 404다.\n대조군이 드러낸 두 번째 방어 블랙박스 테스트 35개를 만들었다. 경로 조작 10가지, 리디렉트, 한글 경로, 캐시 헤더, ETag, CORS, 빌드 교체를 확인한다. 그리고 8편처럼 대조군을 돌렸다. 경로 검사 세 곳을 끄고, 리디렉트 주소를 요청 문자열 그대로 쓰게 바꾼 사본을 만들었다. 여기에 같은 테스트를 돌리면 실패가 나와야 한다.\n[FAIL] /../secret.txt → 404, 비밀 노출 없음 — 200 [FAIL] /%2e%2e/secret.txt → 404, 비밀 노출 없음 — 200 [FAIL] /posts/..%2f..%2fsecret.txt → 404, 비밀 노출 없음 — 200 [FAIL] /posts/%2e%2e/%2e%2e/secret.txt → 404, 비밀 노출 없음 — 200 [FAIL] /escape/secret.txt → 404, 비밀 노출 없음 — 200 [FAIL] /.build-info → 404, 비밀 노출 없음 — 200 29/35 passed 경로 검사는 제 역할을 했다. 그런데 하나가 예상 밖이었다. 리디렉트를 바꿨는데도 //posts/a 테스트가 통과했다. 원인은 표준 라이브러리에 있었다. 이 폰의 Python 3.14 http.server는 요청을 파싱할 때 앞쪽의 겹친 슬래시를 이미 하나로 줄인다.\nif self.path.startswith(\u0026#39;//\u0026#39;): self.path = \u0026#39;/\u0026#39; + self.path.lstrip(\u0026#39;/\u0026#39;) # Reduce to a single / 내 코드의 방어는 두 번째 겹이었던 셈이다. 그대로 두었다. 대신 테스트가 확인하는 것은 \u0026ldquo;//posts/a는 안전하다\u0026quot;는 결과이고, 내 코드가 그 일을 하는지는 확인하지 못한다는 점을 기록해 두었다.\n빌드가 없을 때는 200 폰에 빌드가 아예 없으면 무엇을 돌려줘야 할까. 처음에는 503이 자연스러워 보였다. 하지만 감시 데몬은 /가 세 번 연속(약 30초) 200이 아니면 서버가 먹통이라고 보고 재시작한다. 빌드가 없는 문제는 재시작으로 고쳐지지 않으니 재시작 루프만 남는다. 7편에서 정리한 \u0026ldquo;헬스체크는 고칠 수 있는 범위만 재야 한다\u0026quot;와 같은 이야기다. 그래서 이 경우 /는 200으로 \u0026ldquo;GitHub Pages에서 읽을 수 있다\u0026quot;는 안내를 보내고, 로그에 경고를 한 번 남긴다.\n교체는 원자적으로 빌드는 매번 새 디렉터리(/root/blog_builds/\u0026lt;UTC 시각\u0026gt;)에 만든다. 서버가 읽는 /root/blog_public은 그 디렉터리를 가리키는 심볼릭 링크이고, 새 링크를 만든 뒤 rename으로 덮어써서 바꾼다.\nln -sfn \u0026#34;$out\u0026#34; \u0026#34;$LIVE.tmp\u0026#34; mv -T \u0026#34;$LIVE.tmp\u0026#34; \u0026#34;$LIVE\u0026#34; # rename(2): 옛 빌드 아니면 새 빌드, 중간은 없다 서버는 요청마다 링크를 다시 따라가므로 재시작하지 않아도 된다. 빌드가 실패하면 링크를 건드리지 않는다. 이 동작은 곧바로 실전에서 확인됐다. Hugo 설정에 timeZone = \u0026quot;Asia/Seoul\u0026quot;을 넣었더니 폰의 빌드가 이렇게 멈췄다.\nERROR failed to init config: invalid timeZone for language \u0026#34;ko\u0026#34;: unknown time zone Asia/Seoul ERROR: hugo build failed; the live site is unchanged 이 폰의 Ubuntu는 최소 설치라서 tzdata가 없다. 글의 날짜에는 시각이 없으므로 UTC로 읽어도 같은 날짜가 나온다. 그래서 설정을 뺐다. 그동안 서비스 중인 사이트는 바뀌지 않았다.\n전환 자체는 감시 데몬의 restart 한 번이었다. 다운타임 기록에는 12초가 남았다.\n4. Pages에서 대시보드 살리기: OPTIONS에 501을 돌려주던 서버 Pages에서 연 대시보드는 다른 출처인 ngrok 주소로 /api/metrics를 요청한다. 옛 서버는 이미 Access-Control-Allow-Origin: *를 보내고 있었으니 문제없어 보였다. 브라우저 요청을 curl로 흉내 내 보니 첫 번째 문제가 나왔다.\n브라우저 User-Agent, 헤더 없음 → 200 text/html (2902 bytes) ← ngrok 경고 페이지 브라우저 User-Agent + skip 헤더 → 200 application/json (1970 bytes) ngrok 무료 플랜은 브라우저에서 온 요청에 피싱 방지용 경고 페이지를 먼저 보여 준다. 사람이 \u0026ldquo;Visit\u0026quot;를 누르면 쿠키가 생겨 7일 동안 다시 뜨지 않는다. 하지만 다른 출처의 페이지가 보내는 fetch는 그 쿠키를 갖고 있지 않다. 그래서 JSON 대신 경고 HTML을 받는다. ngrok 문서가 안내하는 우회법은 ngrok-skip-browser-warning 헤더를 붙이는 것이다.\n여기서 두 번째 문제가 생긴다. 이 헤더는 CORS가 허용하는 기본 헤더가 아니다. 그래서 브라우저는 본 요청 전에 preflight(OPTIONS)를 먼저 보내 서버에 허락을 구한다. 이 요청도 흉내 내 봤다.\n$ curl -X OPTIONS -A \u0026#34;\u0026lt;브라우저 UA\u0026gt;\u0026#34; -H \u0026#39;Origin: https://qofo.github.io\u0026#39; \\ -H \u0026#39;Access-Control-Request-Headers: ngrok-skip-browser-warning\u0026#39; .../api/metrics HTTP/2 501 content-type: text/html;charset=utf-8 ngrok은 OPTIONS를 막지 않고 폰까지 통과시켰다. 501은 파이썬 BaseHTTPRequestHandler가 do_OPTIONS가 없을 때 내는 응답이다. 전날 계획을 세우며 확인한 것은 Origin 헤더를 붙인 GET의 응답 헤더뿐이었다. curl은 preflight를 보내지 않으니 그 확인은 통과했다. curl로 통과한 CORS가 브라우저에서 통과한다는 보장은 없다.\n서버에 preflight 응답을 추가했다.\nMETRICS_CORS = { \u0026#34;Access-Control-Allow-Origin\u0026#34;: \u0026#34;*\u0026#34;, \u0026#34;Access-Control-Allow-Methods\u0026#34;: \u0026#34;GET, HEAD, OPTIONS\u0026#34;, \u0026#34;Access-Control-Allow-Headers\u0026#34;: \u0026#34;ngrok-skip-browser-warning\u0026#34;, \u0026#34;Access-Control-Max-Age\u0026#34;: \u0026#34;7200\u0026#34;, } def do_OPTIONS(self): self.send_response(204) if urllib.parse.urlsplit(self.path).path == \u0026#34;/api/metrics\u0026#34;: for k, v in METRICS_CORS.items(): self.send_header(k, v) ... 배포 후 같은 요청의 결과는 이렇다.\nHTTP/2 204 access-control-allow-headers: ngrok-skip-browser-warning access-control-allow-methods: GET, HEAD, OPTIONS access-control-allow-origin: * access-control-max-age: 7200 브라우저 쪽 스크립트도 경고 페이지를 전제로 짰다. 응답이 200이어도 Content-Type이 JSON이 아니면 실패로 본다. 경고 HTML을 파싱하려다 이상한 값을 그리는 대신 \u0026ldquo;폰이 응답하지 않는다\u0026quot;를 표시한다. 헤더는 요청이 다른 출처로 갈 때만 붙인다. 폰 사본은 같은 출처라서 preflight 자체가 생기지 않는다.\n덧붙임 (2026-09-20): 결국 이 구조를 되돌렸다. 공개 사이트를 여는 사람마다 내 폰을 호출하게 되는 것이 맞지 않다고 판단해서, Pages 사본에서는 대시보드와 홈의 수치 표시를 뺐다. 대시보드는 폰 사본에만 있고, 같은 출처라서 preflight도 필요 없다. 서버의 OPTIONS 응답과 CORS 헤더는 남겨 두었다. 지우면 시험이 지키던 동작도 함께 사라지고, 나중에 다른 곳에서 수치를 쓸 여지도 없어진다. Hugo 쪽에서는 대시보드 원본을 content-phone/으로 옮기고, 폰 빌드에서만 그 폴더를 콘텐츠로 마운트한다. Pages 빌드에는 페이지도, 텔레메트리 스크립트도 아예 만들어지지 않는다.\n요청 수를 아끼는 이유 옛 대시보드는 2초마다 수치를 요청했다. 폰 사본만 있을 때는 방문자가 적어서 괜찮았다. Pages에 올리면 방문자가 늘 수 있고, 그 요청은 모두 ngrok을 지난다. ngrok 문서에 따르면 무료 플랜의 HTTP 요청 한도는 월 20,000건이다. 그래서 다음처럼 바꿨다.\n간격을 늘렸다. Pages는 홈 30초, 대시보드 5초다. 탭이 가려지면(visibilitychange) 요청을 멈춘다. 요청이 실패하면 간격을 두 배씩 늘려 최대 60초까지 둔다. preflight 결과는 Access-Control-Max-Age로 캐시하게 해서 매 요청마다 반복되지 않게 했다. 5. Pages 배포: GitHub Actions 대신 gh-pages 브랜치 계획은 GitHub Actions였다. main에 push하면 GitHub가 빌드해서 배포하는, 가장 흔한 구성이다. 워크플로 파일까지 커밋한 뒤 push하기 전에 이 폰의 git이 쓰는 토큰 권한을 확인했다.\nX-OAuth-Scopes: repo GitHub 문서에서 워크플로 파일을 추가하거나 고치는 권한은 workflow다. 이 토큰에는 그 권한이 없으니 워크플로 파일을 올릴 수 없다. 거절될 push를 시험해 보지는 않고 여기서 멈췄다. 따로 로그인된 gh CLI의 토큰도 확인했다. Pages 설정을 바꾸려 하자 거부됐다.\ngh: Resource not accessible by personal access token (HTTP 403) 토큰 권한을 바꾸는 방법도 있었다. 하지만 이 작업에 Actions가 꼭 필요한지부터 따져 봤다. 폰에서 Hugo 빌드는 1초가 걸리지 않는다(Total in 674 ms). 또 폰에서 두 사본을 모두 빌드하면 같은 커밋을 같은 Hugo 바이너리로 만든다는 장점도 생긴다. 그래서 Pages용 빌드도 폰에서 만들어 gh-pages 브랜치로 올리기로 했다.\n작업 트리를 건드리지 않으려고 git의 저수준 명령으로 커밋한다. 임시 index 파일에 빌드 결과를 담고, write-tree로 트리를 만든 뒤, commit-tree로 gh-pages 위에 커밋을 얹는다.\n(cd \u0026#34;$out\u0026#34; \u0026amp;\u0026amp; GIT_DIR=\u0026#34;$SRC/.git\u0026#34; GIT_WORK_TREE=\u0026#34;$out\u0026#34; GIT_INDEX_FILE=\u0026#34;$idx\u0026#34; git add -A) tree=$(GIT_INDEX_FILE=\u0026#34;$idx\u0026#34; git -C \u0026#34;$SRC\u0026#34; write-tree) # 빌드 결과가 직전과 같으면 새 커밋을 만들지 않는다 commit=$(git -C \u0026#34;$SRC\u0026#34; commit-tree \u0026#34;$tree\u0026#34; -p \u0026#34;$parent\u0026#34; -m \u0026#34;Build $rev: ...\u0026#34;) git -C \u0026#34;$SRC\u0026#34; update-ref refs/heads/gh-pages \u0026#34;$commit\u0026#34; 빌드 결과에는 .nojekyll을 넣어 GitHub가 Jekyll로 다시 처리하지 않게 했다. 발행 명령은 이렇게 하나다.\n$ publish_blog.sh publish [pages] 0c53395 builds the same site as gh-pages 78d1d11; no new commit [phone] 0c53395 -\u0026gt; /root/blog_builds/20260919-163529 (8 posts), live now [phone] http://127.0.0.1:8080/ -\u0026gt; HTTP 200, serving the Hugo build [push] origin main gh-pages 첫 줄의 \u0026ldquo;no new commit\u0026quot;은 직전에 publish_blog.sh pages로 같은 커밋을 이미 빌드해 두었기 때문이다. 트리가 같으면 커밋을 만들지 않으니, 글을 고치지 않은 발행은 gh-pages 이력을 늘리지 않는다.\n작업 트리가 깨끗하지 않으면 시작하지 않는다. 커밋하지 않은 변경이 한쪽에만 들어가는 일을 막기 위해서다. main과 gh-pages는 git push --atomic으로 함께 올라가거나 함께 실패한다.\n설정을 바꿨는데 배포되지 않았다 Pages의 소스를 API로 gh-pages 브랜치로 바꾸고 main까지 push했다. 그런데 qofo.github.io는 여전히 예전 시험용 페이지를 보여 줬다. 빌드 기록을 보니 빌드는 한 번뿐이었다.\n2026-09-19T14:52:44Z built d8bc9f5 ← 저장소를 처음 만들 때의 init 커밋 gh-pages는 소스를 바꾸기 전에 push했고, 소스를 바꾼 뒤 push한 것은 이제 소스가 아닌 main이었다. 소스를 바꾸는 것만으로는 빌드가 시작되지 않았다. 빌드를 API(POST /repos/.../pages/builds)로 직접 요청하자 queued가 돌아왔고, 곧 built 78d1d11이 됐다.\n그 뒤에도 첫 화면은 한동안 옛 페이지였다. 응답 헤더를 보면 CDN 캐시였다.\ncache-control: max-age=600 x-cache: HIT 주소에 쿼리 문자열을 붙여 캐시를 피하자 새 사이트가 나왔다.\n처음에는 소스를 바꾼 첫 전환에서만 겪는 일이라고 생각했다. 실제로 그다음 글을 올렸을 때는 push하고 몇 초 만에 빌드가 돌았다. 그런데 그 뒤 글을 하나 더 올렸을 때는 8분을 기다려도 빌드가 시작되지 않았고, 다시 API로 요청해야 했다. push가 빌드를 부르는 것은 보장되지 않는다. 그래서 발행 스크립트가 push한 뒤 1분 동안 빌드가 시작되는지 지켜보고, 시작되지 않으면 직접 요청한 다음 결과까지 확인하도록 고쳤다.\n검증 대상 방법 결과 serve_blog.py 블랙박스 테스트 35/35. 검사를 끈 사본에서는 6개 실패 브라우저 스크립트 jsdom에서 실제 빌드 HTML 실행 27/27 폰 사본 모든 내부 링크 크롤링 89개 URL, 깨진 링크 0 Pages 사본 같은 크롤링 89개 URL, 깨진 링크 0 대시보드 preflight ngrok 주소로 OPTIONS 501 → 204 전환 중단 시간 감시 데몬의 다운타임 기록 12초 jsdom 시험에서는 fetch를 가짜로 바꿔 끼우고 다음을 확인했다.\nPages 사본은 ngrok 주소로 요청하고 헤더를 붙인다. 폰 사본은 상대 경로로 요청하고 헤더를 붙이지 않는다. 경고 HTML을 받으면 \u0026ldquo;폰이 응답하지 않는다\u0026quot;로 바뀌고, 탭이 다시 보이면 즉시 재시도해 복구된다. #post=03_…로 들어오면 새 주소로 이동한다. 이 시험은 npm i jsdom이 필요해서 저장소에는 넣지 않았다.\n한계 Pages에서도 수치는 폰이 있어야 나온다. 폰이나 터널이 멈추면 글은 열리지만 대시보드는 \u0026ldquo;응답 없음\u0026quot;이다. 의도한 동작이지만, 이 표시가 사실상 서버 감시 역할도 한다. 요청 한도는 빠듯했다. 대시보드 탭 하나를 5초 간격으로 열어 두면 시간당 720건이고, 월 20,000건은 그런 탭 하나가 약 28시간 버티는 양이다. 방문자가 늘면 이 한도가 먼저 바닥난다. 위 덧붙임대로 Pages에서 대시보드를 빼면서 이 부담은 사라졌다. 폰 주소로 직접 들어와 대시보드를 여는 경우에만 남는다. GitHub 웹에서 고친 글은 바로 반영되지 않는다. 빌드가 폰에 있으므로, 폰에서 publish를 실행해야 한다. 토큰에 workflow 권한을 주면 Actions로 옮길 수 있다. 정리 원본은 하나, 빌드는 둘. 두 사본의 차이는 설정 파일 한 장에 모은다. 링크는 루트 기준 경로로 만들어 어느 주소로 열어도 동작하게 한다. curl로 통과한 CORS는 증거가 아니다. 비표준 헤더 하나가 preflight를 부르고, curl은 그것을 보내지 않는다. 교체는 원자적으로, 실패는 이전 상태로. 심볼릭 링크를 rename으로 바꾸면 \u0026ldquo;반쯤 배포된\u0026rdquo; 상태가 없다. 빌드가 실패한 날에도 사이트는 그대로였다. 도구의 권한은 계획의 일부다. Actions 계획은 코드가 아니라 토큰 권한에서 막혔다. push하기 전에 확인했기에 되돌릴 일이 없었다. 설정을 바꿨다고 배포된 것은 아니다. Pages 소스를 바꿔도 빌드는 시작되지 않았고, CDN은 옛 페이지를 10분 동안 들고 있었다. 결과는 실제 주소에서 확인한다. 대조군은 내 코드 밖의 방어도 드러낸다. 방어가 두 겹이면, 한 겹을 꺼도 테스트는 통과할 수 있다. ","permalink":"https://qofo.github.io/posts/hugo-phone-and-pages/","summary":"\u003cp\u003e\u003ca href=\"/posts/stdlib-python-blog/\"\u003e2편\u003c/a\u003e에서 만든 블로그는 파이썬 파일 하나가 전부였다. 글 목록을 파싱하고, HTML을 문자열로 들고 있다가 내보내고, 마크다운은 브라우저가 marked로 그렸다. 이 구조에는 약점이 하나 있다. \u003cstrong\u003e폰이 꺼지면 글도 사라진다.\u003c/strong\u003e \u003ca href=\"/posts/hung-ngrok-health-checks/\"\u003e7편\u003c/a\u003e의 재부팅 장애 때 방문자가 본 것은 글이 아니라 ngrok의 오류 페이지였다.\u003c/p\u003e\n\u003cp\u003e이 글은 블로그를 Hugo 정적 사이트로 옮기고, 같은 원본을 폰과 GitHub Pages 두 곳에서 서비스하게 만든 기록이다. 계획과 달라진 곳이 세 군데 있었다. 그중 둘은 실제로 붙여 보기 전까지 드러나지 않았다.\u003c/p\u003e","title":"원본 하나, 서버 둘: Hugo로 옮겨 폰과 GitHub Pages에 동시에 배포하기"},{"content":" 교재 범위: Deisenroth, Faisal, Ong, Mathematics for Machine Learning(MML), pp. 317–347.\n선후수 연결 및 의존성: 이 장은 비지도 학습(Unsupervised Learning)의 대표 기법인 차원 축소(Dimensionality Reduction)를 다룹니다. 3장의 직교 사영(Orthogonal Projection), 4장의 고유값 분해(Eigendecomposition) 및 특이값 분해(SVD), 7장의 등식 제약 조건 최적화(라그랑주 승수법, Lagrange Multipliers), 6장의 가우시안 확률 모델이 정확히 결합된 장입니다. 여기서 다루는 데이터 압축과 잠재 표현(Latent Representation)의 개념은 현대 오토인코더(Autoencoder), 확산 모델(Diffusion Model), 고차원 임베딩 분석의 기초를 이룹니다.\n0. 이 장 지도 (Roadmap) 주성분 분석(PCA, Principal Component Analysis)은 고차원(DDD차원) 공간에 흩어져 있는 데이터의 핵심 정보를 손실을 최소화하면서 저차원(MMM차원, M≪DM \\ll DM≪D) 공간으로 압축하는 선형 차원 축소 알고리즘입니다. MML 교재 10장은 PCA를 세 가지 서로 다른 심오한 관점에서 유도하고 이들이 왜 수학적으로 정확히 일치하는지를 증명합니다:\n분산 최대화 관점 (Maximum Variance): 사영된 데이터의 분산(정보량)을 가장 크게 만드는 축을 찾자! 사영/재구성 오차 최소화 관점 (Minimum Reconstruction Error): 원래 데이터와 사영된 데이터 사이의 유클리드 거리 제곱 오차를 가장 작게 만들자! 잠재 변수/확률론적 관점 (Latent Variable / Probabilistic PCA): 저차원 가우시안 잠재 변수로부터 고차원 데이터가 노이즈와 함께 생성되었다는 생성 모델을 세우자! 절 목록 및 핵심 요약 절 번호 절 제목 (영문) 교재 쪽수 핵심 한 줄 요약 중요도 10.1 문제 설정 (Problem Setting) 319 DDD차원 데이터를 정보 손실을 최소화하며 MMM차원 잠재 좌표로 선형 변환하는 프레임워크 ★★☆ 10.2 분산 최대화 관점 (Maximum Variance Perspective) 320 데이터가 가장 넓게 퍼지는 방향을 주성분으로 선택하는 라그랑주 승수법 기반 유도 ★★★ 10.2.1 최대 분산 방향 (Direction with Maximal Variance) 321 1차원 사영 분산 b1⊤Sb1b_1^\\top S b_1b1⊤​Sb1​ 최대화 →\\to→ 공분산 행렬 SSS의 최대 고유벡터 도출 ★★★ 10.2.2 최대 분산 MMM차원 부분공간 (MMM-dim Subspace with Maximal Variance) 323 직교 제약 조건 하에서 상위 MMM개의 고유벡터가 최적의 기저가 됨을 증명 ★★★ 10.3 사영 관점 (Projection Perspective) 325 원본 데이터와 복원 데이터 사이의 거리 제곱(재구성 오차)을 최소화하는 관점 ★★★ 10.3.1 설정 및 목적함수 (Setting and Objective) 326 아핀 부분공간 위의 점 x~n=b+Bzn\\tilde{x}_n = b + B z_nx~n​=b+Bzn​과 오차 함수 J=1N∑∥xn−x~n∥2J = \\frac{1}{N}\\sum \\|x_n - \\tilde{x}_n\\|^2J=N1​∑∥xn​−x~n​∥2 정의 ★★☆ 10.3.2 최적 좌표 탐색 (Finding Optimal Coordinates) 327 최적 오프셋은 데이터 평균(b=μb = \\mub=μ), 최적 좌표는 직교 사영 계수(znm=bm⊤(xn−μ)z_{nm} = b_m^\\top(x_n-\\mu)znm​=bm⊤​(xn​−μ)) ★★★ 10.3.3 주부분공간 기저 탐색 (Finding the Basis of the Principal Subspace) 329 재구성 오차 최소화가 버려진 D−MD-MD−M개 고유값의 합 ∑j=M+1Dλj\\sum_{j=M+1}^D \\lambda_j∑j=M+1D​λj​과 같음을 증명 (동치성) ★★★ 10.4 고유벡터 계산과 저계수 근사 (Eigenvector \u0026amp; Low-Rank Approx) 332 특이값 분해(SVD)와 Eckart-Young 정리를 통한 최적 계수 MMM 행렬 근사 증명 ★★★ 10.4.1 저계수 근사를 통한 PCA (PCA Using Low-Rank Matrix Approx) 333 중심화 데이터 행렬 XXX의 절단 SVD(Truncated SVD)가 곧 PCA 해임을 증명 ★★★ 10.4.2 실무적 계산 고려사항 (Practical Aspects) 334 고차원에서의 특성방정식 한계(Abel-Ruffini)와 수치적 거듭제곱법(Power Iteration) ★★☆ 10.5 고차원에서의 PCA (PCA in High Dimensions, N\u0026lt;DN \u0026lt; DN\u0026lt;D) 335 D×DD \\times DD×D 공분산 대신 N×NN \\times NN×N 그람 행렬 1NX⊤X\\frac{1}{N}X^\\top XN1​X⊤X를 풀어 연산량을 획기적으로 절감 ★★★ 10.6 실전에서의 PCA 핵심 단계 (Key Steps of PCA in Practice) 337 중심화(평균 차감), 표준화(정규화), 고유분해, 사영, 복원 6단계 정리 ★★★ 10.7 잠재 변수 관점 (Latent Variable Perspective, PPCA) 339 확률적 PCA: 가우시안 잠재 변수 zzz로부터 관측치 x=Bz+μ+ϵx = Bz + \\mu + \\epsilonx=Bz+μ+ϵ을 생성하는 모델 ★★★ 10.7.1 생성 과정 및 확률 모델 (Generative Process \u0026amp; Probabilistic Model) 340 사전분포 p(z)p(z)p(z)와 조건부 분포 p(x∣z)p(x \\mid z)p(x∣z)로 정의되는 그래피컬 모델 ★★☆ 10.7.2 가능도 및 결합 분포 (Likelihood and Joint Distribution) 342 주변 가우시안 분포 p(x)=N(μ,BB⊤+σ2I)p(x) = \\mathcal{N}(\\mu, BB^\\top + \\sigma^2 I)p(x)=N(μ,BB⊤+σ2I) 유도 ★★★ 10.7.3 사후 분포 (Posterior Distribution) 343 p(z∣x)p(z \\mid x)p(z∣x) 계산, Woodbury 항등식 역행렬 변환, σ2→0\\sigma^2 \\to 0σ2→0 극한에서의 표준 PCA 복원 ★★★ 10.8 더 읽을거리 (Further Reading) 345 커널 PCA, 오토인코더(Autoencoder), GP-LVM과의 개념적 계보 ★☆☆ 중요도 선정 근거:\n10.2, 10.3, 10.4, 10.5, 10.7 (★★★): 라그랑주 승수법 유도, 두 관점의 동치성 증명, SVD 및 Eckart-Young 연결, N\u0026lt;DN \u0026lt; DN\u0026lt;D 차원 축소 트릭, PPCA의 잠재변수 사후분포는 선형대수와 확률을 함께 쓰는 유도라 손으로 한 번씩 써 볼 만합니다. graph TD A[\u0026#34;10.1 차원 축소 문제 설정\u0026lt;br\u0026gt;(D차원 → M차원 압축)\u0026#34;] --\u0026gt; B[\u0026#34;10.2 분산 최대화 관점\u0026lt;br\u0026gt;(Var = b₁ᵀ S b₁ 최대화)\u0026#34;] A --\u0026gt; C[\u0026#34;10.3 사영/재구성오차 관점\u0026lt;br\u0026gt;(J = Σ ||xₙ - x̃ₙ||² 최소화)\u0026#34;] B --\u0026gt; D[\u0026#34;고유값 문제 도출\u0026lt;br\u0026gt;S b₁ = λ₁ b₁\u0026#34;] C --\u0026gt; D D --\u0026gt; E[\u0026#34;10.4 SVD 및 저계수 근사\u0026lt;br\u0026gt;(Eckart-Young 정리: X̃_M = U_M Σ_M V_Mᵀ)\u0026#34;] D --\u0026gt; F[\u0026#34;10.5 고차원 PCA (N \u0026lt; D)\u0026lt;br\u0026gt;(N×N 그람 행렬 풀이: b_m ∝ X c_m)\u0026#34;] A --\u0026gt; G[\u0026#34;10.7 확률적 PCA (PPCA)\u0026lt;br\u0026gt;(x = Bz + μ + ε, z ~ N(0,I))\u0026#34;] G --\u0026gt; H[\u0026#34;잠재 사후분포 p(z|x)\u0026lt;br\u0026gt;(σ² → 0 극한 시 직교 사영 Bᵀ(x-μ)로 수렴)\u0026#34;] 10.1 문제 설정 (Problem Setting, 318쪽) 왜 필요한가 (직관과 개념) 현대 머신러닝 데이터는 차원이 매우 높습니다. 예를 들어 28×2828 \\times 2828×28 크기의 작은 흑백 이미지 하나만 해도 784차원 벡터(D=784D = 784D=784)입니다. 하지만 고차원 데이터의 모든 축이 다 중요한 정보를 담고 있는 것은 아닙니다.\n다중공선성과 중복성: 픽셀 값들끼리는 서로 강한 상관관계를 가집니다. 차원의 저주(Curse of Dimensionality): 차원이 높아질수록 데이터가 존재하는 공간의 부피가 기하급수적으로 팽창하여, 데이터를 채우기 위해 필요한 표본 수가 폭증하고 거리 개념이 무의미해집니다. 시각화의 한계: 인간은 3차원을 초과하는 공간을 직접 볼 수 없습니다. 따라서 데이터의 중요한 정보(본질적인 변동/분산)는 고스란히 보존하면서, 덜 중요한 정보(잡음/상관된 중복 축)를 쳐내어 MMM차원(M≪DM \\ll DM≪D)으로 데이터를 압축해야 합니다.\n정의와 성질 1. 인코더(Encoder)와 디코더(Decoder)의 쌍 원본 고차원 데이터: xn∈RDx_n \\in \\mathbb{R}^Dxn​∈RD (n=1,…,Nn = 1, \\dots, Nn=1,…,N) 압축된 저차원 잠재 좌표 (코드): zn∈RMz_n \\in \\mathbb{R}^Mzn​∈RM (M\u0026lt;DM \u0026lt; DM\u0026lt;D) 인코더 (Encoder, 사영/압축 매핑): zn=g(xn)=B⊤(xn−μ)z_n = g(x_n) = B^\\top (x_n - \\mu)zn​=g(xn​)=B⊤(xn​−μ) 디코더 (Decoder, 복원/재구성 매핑): x~n=h(zn)=Bzn+μ\\tilde{x}_n = h(z_n) = B z_n + \\mux~n​=h(zn​)=Bzn​+μ 여기서:\nB=[b1,b2,…,bM]∈RD×MB = [b_1, b_2, \\dots, b_M] \\in \\mathbb{R}^{D \\times M}B=[b1​,b2​,…,bM​]∈RD×M: MMM개의 정규직교(orthonormal) 기저 벡터로 이루어진 변환 행렬 (B⊤B=IMB^\\top B = I_MB⊤B=IM​) μ∈RD\\mu \\in \\mathbb{R}^Dμ∈RD: 데이터의 중심(오프셋 벡터, 보통 데이터 표본 평균) x~n∈RD\\tilde{x}_n \\in \\mathbb{R}^Dx~n​∈RD: 저차원 코드 znz_nzn​으로부터 다시 DDD차원 공간으로 복원한 재구성 벡터(Reconstruction Vector) 10.2 분산 최대화 관점 (Maximum Variance Perspective, 320쪽) 왜 필요한가 (직관과 개념) 데이터를 1차원 직선 위로 사영(그림자 드리우기)한다고 상상해 보십시오.\n만약 데이터가 길쭉하게 늘어선 방향으로 선을 긋고 사영하면, 데이터 포인트들이 서로 겹치지 않고 넓게 퍼져 원래의 위치 관계를 잘 유지합니다 (분산 최대화 →\\to→ 정보 보존). 반대로 데이터가 좁게 모인 수직 방향으로 사영하면, 모든 점들이 한 덩어리로 뭉개져 버려 원래 어떤 점이 어디 있었는지 구별할 수 없게 됩니다 (정보 소실). 따라서 \u0026ldquo;사영된 데이터들의 분산(Variance)이 가장 커지도록 사영 축을 정하는 것\u0026rdquo;이 PCA의 첫 번째 핵심 철학입니다.\n[2차원 원본 데이터] [최적 사영 방향 b₁ (최대 분산)] y y │ ● │ ● ╱ │ ● ● │ ● ╱● (점들이 길게 퍼짐: │ ● ● ● │ ● ╱● ● 정보 보존 우수!) │ ● ● │ ● ╱● └──────── x └───╱──── x b₁ [나쁜 사영 방향 b₂ (최소 분산)] 점들이 한 점으로 뭉개짐! 10.2.1 최대 분산 방향 유도 (Direction with Maximal Variance, 321쪽) 정의와 성질 1. 중심화 데이터 및 표본 공분산 행렬 데이터셋의 표본 평균을 μ=1N∑n=1Nxn\\mu = \\frac{1}{N} \\sum_{n=1}^N x_nμ=N1​∑n=1N​xn​이라 할 때, 평균을 0으로 맞춘 중심화 데이터(Centered Data)를 가정합니다: ∑n=1Nxn=0 ⟺ μ=0\\sum_{n=1}^N x_n = 0 \\iff \\mu = 0n=1∑N​xn​=0⟺μ=0표본 공분산 행렬(Data Covariance Matrix) S∈RD×DS \\in \\mathbb{R}^{D \\times D}S∈RD×D는 다음과 같이 정의됩니다: S=1N∑n=1Nxnxn⊤=1NXX⊤S = \\frac{1}{N} \\sum_{n=1}^N x_n x_n^\\top = \\frac{1}{N} X X^\\topS=N1​n=1∑N​xn​xn⊤​=N1​XX⊤ X=[x1,x2,…,xN]∈RD×NX = [x_1, x_2, \\dots, x_N] \\in \\mathbb{R}^{D \\times N}X=[x1​,x2​,…,xN​]∈RD×N은 데이터 행렬입니다. 주의: 9장(회귀)은 데이터 점을 행으로 쌓아 N×DN\\times DN×D로 쓰지만, 10장(교재 10.3절 식 (10.17)부터, 10.4절 SVD)은 점을 열로 세워 D×ND\\times ND×N으로 쓴다. 그래서 9장의 X⊤XX^\\top XX⊤X에 해당하는 것이 10장에서는 XX⊤XX^\\topXX⊤이다. 두 장의 식을 섞어 쓸 때 전치를 확인한다. 주의: 9장(회귀)은 데이터 점을 행으로 쌓아 N×DN\\times DN×D로 쓰지만, 10장(교재 10.3절 식 (10.17)부터, 10.4절 SVD)은 점을 열로 세워 D×ND\\times ND×N으로 쓴다. 그래서 9장의 X⊤XX^\\top XX⊤X에 해당하는 것이 10장에서는 XX⊤XX^\\topXX⊤이다. 두 장의 식을 섞어 쓸 때 전치를 확인한다. SSS는 대칭(Symmetric) 행렬이며, 양의 준정부호(Positive Semi-Definite) 행렬입니다 (x⊤Sx≥0x^\\top S x \\ge 0x⊤Sx≥0). 교재 표기법 주의 (MML 관례): 통계학의 비편향 공분산은 자유도 분모로 1N−1\\frac{1}{N-1}N−11​을 사용하지만, MML 교재와 머신러닝 교과서(Bishop 등)에서는 최대가능도 표본 공분산 관례인 1N\\frac{1}{N}N1​을 일관되게 사용합니다. 본 해설서도 교재 관례인 1N\\frac{1}{N}N1​을 엄격히 따릅니다.\n2. 1차원 사영 분산의 수식화 길이가 1인 단위 방향 벡터 b1∈RDb_1 \\in \\mathbb{R}^Db1​∈RD (b1⊤b1=1b_1^\\top b_1 = 1b1⊤​b1​=1) 위로 데이터 xnx_nxn​을 사영한 스칼라 좌표는 zn1=b1⊤xnz_{n1} = b_1^\\top x_nzn1​=b1⊤​xn​ 입니다.\n사영된 데이터의 평균: 1N∑n=1Nzn1=1N∑n=1Nb1⊤xn=b1⊤(1N∑n=1Nxn)=b1⊤0=0\\frac{1}{N} \\sum_{n=1}^N z_{n1} = \\frac{1}{N} \\sum_{n=1}^N b_1^\\top x_n = b_1^\\top \\left( \\frac{1}{N} \\sum_{n=1}^N x_n \\right) = b_1^\\top 0 = 0N1​∑n=1N​zn1​=N1​∑n=1N​b1⊤​xn​=b1⊤​(N1​∑n=1N​xn​)=b1⊤​0=0 사영된 데이터의 분산 V1V_1V1​: V1=1N∑n=1N(zn1−0)2=1N∑n=1N(b1⊤xn)2=1N∑n=1N(b1⊤xn)(xn⊤b1)V_1 = \\frac{1}{N} \\sum_{n=1}^N (z_{n1} - 0)^2 = \\frac{1}{N} \\sum_{n=1}^N (b_1^\\top x_n)^2 = \\frac{1}{N} \\sum_{n=1}^N (b_1^\\top x_n)(x_n^\\top b_1)V1​=N1​∑n=1N​(zn1​−0)2=N1​∑n=1N​(b1⊤​xn​)2=N1​∑n=1N​(b1⊤​xn​)(xn⊤​b1​) =b1⊤(1N∑n=1Nxnxn⊤)b1=b1⊤Sb1= b_1^\\top \\left( \\frac{1}{N} \\sum_{n=1}^N x_n x_n^\\top \\right) b_1 = b_1^\\top S b_1=b1⊤​(N1​∑n=1N​xn​xn⊤​)b1​=b1⊤​Sb1​ 3. 라그랑주 승수법을 통한 최적화 목표는 단위 길이 제약 조건 ∥b1∥2=b1⊤b1=1\\|b_1\\|^2 = b_1^\\top b_1 = 1∥b1​∥2=b1⊤​b1​=1 하에서 분산 b1⊤Sb1b_1^\\top S b_1b1⊤​Sb1​을 최대화하는 것입니다: max⁡b1b1⊤Sb1subject to b1⊤b1=1\\max_{b_1} b_1^\\top S b_1 \\quad \\text{subject to } b_1^\\top b_1 = 1b1​max​b1⊤​Sb1​subject to b1⊤​b1​=17장의 라그랑주 승수법(Lagrange Multipliers)에 따라 라그랑지안 함수를 세웁니다: L(b1,λ1)=b1⊤Sb1−λ1(b1⊤b1−1)\\mathfrak{L}(b_1, \\lambda_1) = b_1^\\top S b_1 - \\lambda_1 (b_1^\\top b_1 - 1)L(b1​,λ1​)=b1⊤​Sb1​−λ1​(b1⊤​b1​−1)b1b_1b1​에 대해 편미분하고 0으로 둡니다: ∇b1L=2Sb1−2λ1b1=0 ⟺ Sb1=λ1b1\\begin{gathered} \\nabla_{b_1} \\mathfrak{L} = 2 S b_1 - 2 \\lambda_1 b_1 = 0 \\\\ \\iff S b_1 = \\lambda_1 b_1 \\end{gathered}∇b1​​L=2Sb1​−2λ1​b1​=0⟺Sb1​=λ1​b1​​이것은 정확히 공분산 행렬 SSS의 고유값 방정식(Eigenvalue Equation)입니다!\nb1b_1b1​은 공분산 행렬 SSS의 고유벡터(Eigenvector)이어야 합니다. λ1\\lambda_1λ1​은 이에 대응하는 고유값(Eigenvalue)입니다. 이때 사영된 데이터의 분산 값을 계산해 보면: V1=b1⊤Sb1=b1⊤(λ1b1)=λ1(b1⊤b1)=λ1\\begin{aligned} V_1 \u0026amp;= b_1^\\top S b_1 = b_1^\\top (\\lambda_1 b_1) \\\\ \u0026amp;= \\lambda_1 (b_1^\\top b_1) = \\lambda_1 \\end{aligned}V1​​=b1⊤​Sb1​=b1⊤​(λ1​b1​)=λ1​(b1⊤​b1​)=λ1​​ 분산 V1V_1V1​이 다름 아닌 고유값 λ1\\lambda_1λ1​ 그 자체가 됩니다! 따라서 분산 V1V_1V1​을 최대로 만들려면, 수많은 고유값들 중에서 가장 큰 고유값(최대 고유값) λ1\\lambda_1λ1​에 대응하는 고유벡터 b1b_1b1​을 선택해야 합니다. 이것이 바로 제1 주성분(First Principal Component)입니다.\n10.2.2 최대 분산을 갖는 MMM차원 부분공간 (322쪽) 제2 주성분 b2b_2b2​의 유도 제1 주성분 b1b_1b1​과 겹치지 않는 새로운 정보를 포착하기 위해, b2b_2b2​는 b1b_1b1​과 서로 직교(b2⊤b1=0b_2^\\top b_1 = 0b2⊤​b1​=0)하면서 단위 길이(b2⊤b2=1b_2^\\top b_2 = 1b2⊤​b2​=1)를 만족해야 합니다: max⁡b2b2⊤Sb2subject to b2⊤b2=1, b2⊤b1=0\\begin{gathered} \\max_{b_2} b_2^\\top S b_2 \\\\ \\text{subject to } b_2^\\top b_2 = 1, \\; b_2^\\top b_1 = 0 \\end{gathered}b2​max​b2⊤​Sb2​subject to b2⊤​b2​=1,b2⊤​b1​=0​두 개의 제약 조건을 라그랑지안에 넣습니다: L(b2,λ2,η)=b2⊤Sb2−λ2(b2⊤b2−1)−η(b2⊤b1)\\begin{aligned} \\mathfrak{L}(b_2, \\lambda_2, \\eta) \u0026amp;= b_2^\\top S b_2 - \\lambda_2 (b_2^\\top b_2 - 1) \\\\ \u0026amp;\\quad - \\eta (b_2^\\top b_1) \\end{aligned}L(b2​,λ2​,η)​=b2⊤​Sb2​−λ2​(b2⊤​b2​−1)−η(b2⊤​b1​)​ b2b_2b2​로 미분: ∇b2L=2Sb2−2λ2b2−ηb1=0\\nabla_{b_2} \\mathfrak{L} = 2 S b_2 - 2 \\lambda_2 b_2 - \\eta b_1 = 0∇b2​​L=2Sb2​−2λ2​b2​−ηb1​=0 양변 왼쪽에 b1⊤b_1^\\topb1⊤​을 곱합니다: 2b1⊤Sb2−2λ2(b1⊤b2)−η(b1⊤b1)=02 b_1^\\top S b_2 - 2 \\lambda_2 (b_1^\\top b_2) - \\eta (b_1^\\top b_1) = 02b1⊤​Sb2​−2λ2​(b1⊤​b2​)−η(b1⊤​b1​)=0 SSS의 대칭성과 Sb1=λ1b1S b_1 = \\lambda_1 b_1Sb1​=λ1​b1​에 의해: b1⊤Sb2=(Sb1)⊤b2=λ1b1⊤b2=0b_1^\\top S b_2 = (S b_1)^\\top b_2 = \\lambda_1 b_1^\\top b_2 = 0b1⊤​Sb2​=(Sb1​)⊤b2​=λ1​b1⊤​b2​=0 직교 조건에 의해 b1⊤b2=0b_1^\\top b_2 = 0b1⊤​b2​=0 단위 길이에 의해 b1⊤b1=1b_1^\\top b_1 = 1b1⊤​b1​=1 따라서 0−0−η(1)=0 ⟹ η=00 - 0 - \\eta (1) = 0 \\implies \\eta = 00−0−η(1)=0⟹η=0이 됩니다! 결국 남는 방정식은 다시 단순한 고유값 방정식이 됩니다: Sb2=λ2b2S b_2 = \\lambda_2 b_2Sb2​=λ2​b2​ 따라서 b2b_2b2​ 역시 SSS의 고유벡터이며, b1b_1b1​을 제외한 남은 고유값들 중 두 번째로 큰 고유값 λ2\\lambda_2λ2​에 대응하는 고유벡터를 선택해야 분산이 극대화됩니다.\n일반화: MMM차원 주부분공간 (Principal Subspace) 귀납법(Mathematical Induction)에 의해, MMM차원 부분공간으로 분산을 최대화하며 사영할 때 최적의 정규직교 기저 b1,…,bMb_1, \\dots, b_Mb1​,…,bM​은 공분산 행렬 SSS의 가장 큰 고유값 MMM개(λ1≥λ2≥⋯≥λM\\lambda_1 \\ge \\lambda_2 \\ge \\dots \\ge \\lambda_Mλ1​≥λ2​≥⋯≥λM​)에 대응하는 고유벡터들입니다. 이때 MMM개 축으로 사영된 데이터의 총 분산의 합은 고유값들의 합과 같습니다: ∑m=1MV[zm]=∑m=1Mλm\\sum_{m=1}^{M} \\mathbb{V}[z_m] = \\sum_{m=1}^M \\lambda_mm=1∑M​V[zm​]=m=1∑M​λm​ 10.3 사영 관점 / 재구성 오차 최소화 (Projection Perspective, 325쪽) 왜 필요한가 (직관과 개념) 10.2절에서는 \u0026ldquo;데이터를 사영했을 때 분산을 가장 크게 만들자\u0026quot;는 관점으로 출발했습니다. 10.3절에서는 완전히 다른, 그러나 매우 직관적인 공학적 관점에서 출발합니다: \u0026ldquo;원래 고차원 데이터 xnx_nxn​과 저차원으로 압축했다가 다시 복원한 데이터 x~n\\tilde{x}_nx~n​ 사이의 차이(재구성 오차, Reconstruction Error)를 가장 작게 만들자!\u0026rdquo;\n데이터를 압축해서 전송하거나 저장할 때 발생하는 왜곡을 최소화하겠다는 목표입니다. 이 최소 재구성 오차 문제는 분산 최대화 문제와 수학적으로 완전히 동일한 고유값 분해 해로 귀결됩니다.\nxₙ (원래 고차원 데이터) │ ╲ │ ╲ 재구성 오차 벡터: xₙ - x̃ₙ │ ╲ (길이 ||xₙ - x̃ₙ||를 최소화해야 함!) ▼ ▼ x̃ₙ = b + B zₙ ─── [아핀 부분공간 U] (복원된 근사 벡터) 10.3.1 설정 및 목적함수 (Setting and Objective, 326쪽) 정의 DDD차원 벡터 공간 내에서 원점을 지나지 않을 수도 있는 MMM차원 아핀 부분공간(Affine Subspace) U⊂RDU \\subset \\mathbb{R}^DU⊂RD를 생각합니다.\n아핀 부분공간의 정의: U={x~∈RD∣x~=b+Bz, z∈RM}U = \\{ \\tilde{x} \\in \\mathbb{R}^D \\mid \\tilde{x} = b + B z, \\; z \\in \\mathbb{R}^M \\}U={x~∈RD∣x~=b+Bz,z∈RM} b∈RDb \\in \\mathbb{R}^Db∈RD: 부분공간의 원점을 지정하는 오프셋 벡터(Offset Vector) B=[b1,…,bM]∈RD×MB = [b_1, \\dots, b_M] \\in \\mathbb{R}^{D \\times M}B=[b1​,…,bM​]∈RD×M: UUU의 방향을 결정하는 정규직교 기저 행렬 (B⊤B=IMB^\\top B = I_MB⊤B=IM​) zn=[zn1,…,znM]⊤∈RMz_n = [z_{n1}, \\dots, z_{nM}]^\\top \\in \\mathbb{R}^Mzn​=[zn1​,…,znM​]⊤∈RM: 데이터 xnx_nxn​이 부분공간 UUU 상에서 갖는 저차원 좌표 벡터 (코드) 복원된 벡터 x~n\\tilde{x}_nx~n​은 다음과 같이 기저 벡터들의 선형 결합에 오프셋을 더한 형태입니다: x~n=b+∑m=1Mznmbm=b+Bzn\\tilde{x}_n = b + \\sum_{m=1}^M z_{nm} b_m = b + B z_nx~n​=b+m=1∑M​znm​bm​=b+Bzn​목적함수: 평균 제곱 재구성 오차 (Average Squared Reconstruction Error) 우리의 목표는 원본 데이터와 복원 벡터 간의 유클리드 거리 제곱의 평균 JJJ를 최소화하는 b,B,{zn}n=1Nb, B, \\{z_n\\}_{n=1}^Nb,B,{zn​}n=1N​을 찾는 것입니다: J(b,B,z1,…,zN)=1N∑n=1N∥xn−x~n∥2=1N∑n=1N∥xn−(b+Bzn)∥2\\begin{aligned} \u0026amp;J(b, B, z_1, \\dots, z_N) \\\\ \u0026amp;= \\frac{1}{N} \\sum_{n=1}^N \\|x_n - \\tilde{x}_n\\|^2 \\\\ \u0026amp;= \\frac{1}{N} \\sum_{n=1}^N \\left\\| x_n - \\left( b + B z_n \\right) \\right\\|^2 \\end{aligned}​J(b,B,z1​,…,zN​)=N1​n=1∑N​∥xn​−x~n​∥2=N1​n=1∑N​∥xn​−(b+Bzn​)∥2​ 10.3.2 최적 좌표 및 최적 오프셋 탐색 (327쪽) 1. 최적 잠재 좌표 znmz_{nm}znm​ 도출 기저 행렬 BBB와 오프셋 bbb가 고정되어 있다고 가정하고, JJJ를 특정 데이터의 mmm번째 좌표 znmz_{nm}znm​에 대해 편미분합니다: ∂J∂znm=−2Nbm⊤(xn−b−∑j=1Mznjbj)\\frac{\\partial J}{\\partial z_{nm}} = -\\frac{2}{N} b_m^\\top \\left( x_n - b - \\sum_{j=1}^M z_{nj} b_j \\right)∂znm​∂J​=−N2​bm⊤​(xn​−b−j=1∑M​znj​bj​) 정규직교 기저의 성질 bm⊤bj=δmjb_m^\\top b_j = \\delta_{mj}bm⊤​bj​=δmj​ (기저끼리 내적하면 m=jm=jm=j일 때만 1, 다르면 0)을 적용하면: bm⊤(∑j=1Mznjbj)=znmb_m^\\top \\left( \\sum_{j=1}^M z_{nj} b_j \\right) = z_{nm}bm⊤​(j=1∑M​znj​bj​)=znm​ 따라서 편도함수는 다음과 같이 극도로 단순해집니다: ∂J∂znm=−2N(bm⊤(xn−b)−znm)=0\\frac{\\partial J}{\\partial z_{nm}} = -\\frac{2}{N} \\left( b_m^\\top (x_n - b) - z_{nm} \\right) = 0∂znm​∂J​=−N2​(bm⊤​(xn​−b)−znm​)=0 znm=bm⊤(xn−b)z_{nm} = b_m^\\top (x_n - b)znm​=bm⊤​(xn​−b)이를 벡터 형태로 묶으면: zn=B⊤(xn−b)z_n = B^\\top (x_n - b)zn​=B⊤(xn​−b) 기하학적 의미: 최적의 저차원 좌표 znz_nzn​은 중심을 bbb로 이동시킨 데이터 벡터 (xn−b)(x_n - b)(xn​−b)를 기저 벡터 bmb_mbm​ 위로 직교 사영(내적)한 그림자의 길이입니다!\n2. 최적 오프셋 벡터 bbb 도출 최적 좌표 zn=B⊤(xn−b)z_n = B^\\top (x_n - b)zn​=B⊤(xn​−b)를 목적함수에 대입하기 전, JJJ를 오프셋 bbb에 대해 직접 편미분합니다: ∂J∂b=−2N∑n=1N(xn−b−Bzn)=0\\frac{\\partial J}{\\partial b} = -\\frac{2}{N} \\sum_{n=1}^N \\left( x_n - b - B z_n \\right) = 0∂b∂J​=−N2​n=1∑N​(xn​−b−Bzn​)=0 양변을 2로 나누고 합 기호를 분배합니다: 1N∑n=1Nxn−b−B(1N∑n=1Nzn)=0\\frac{1}{N} \\sum_{n=1}^N x_n - b - B \\left( \\frac{1}{N} \\sum_{n=1}^N z_n \\right) = 0N1​n=1∑N​xn​−b−B(N1​n=1∑N​zn​)=0 표본 평균을 μ=xˉ=1N∑n=1Nxn\\mu = \\bar{x} = \\frac{1}{N} \\sum_{n=1}^N x_nμ=xˉ=N1​∑n=1N​xn​, 잠재 좌표 평균을 zˉ=1N∑n=1Nzn\\bar{z} = \\frac{1}{N} \\sum_{n=1}^N z_nzˉ=N1​∑n=1N​zn​이라 두면: μ−b−Bzˉ=0\\mu - b - B \\bar{z} = 0μ−b−Bzˉ=0앞서 구한 최적 좌표 공식의 평균을 취하면 zˉ=B⊤(μ−b)\\bar{z} = B^\\top (\\mu - b)zˉ=B⊤(μ−b)이므로 대입합니다: μ−b−BB⊤(μ−b)=0 ⟺ (I−BB⊤)(μ−b)=0\\begin{gathered} \\mu - b - B B^\\top (\\mu - b) = 0 \\\\ \\iff (I - B B^\\top)(\\mu - b) = 0 \\end{gathered}μ−b−BB⊤(μ−b)=0⟺(I−BB⊤)(μ−b)=0​ 이 식은 μ−b\\mu - bμ−b가 부분공간 방향(BBB의 열공간) 안에 있기만 하면 성립한다. 즉 b=μ+Bwb = \\mu + Bwb=μ+Bw 꼴이면 모두 최적인데, 어느 것을 골라도 같은 아핀 부분공간이 되므로 가장 간단한 것을 고른다: b=μ=1N∑n=1Nxnb = \\mu = \\frac{1}{N} \\sum_{n=1}^N x_nb=μ=N1​n=1∑N​xn​ 즉, 아핀 부분공간의 최적 원점(오프셋)은 데이터 전체의 표본 평균(중심)이어야 합니다!\n따라서 최적 좌표와 복원 벡터는 다음과 같이 확정됩니다: zn=B⊤(xn−μ)z_n = B^\\top (x_n - \\mu)zn​=B⊤(xn​−μ) x~n=μ+BB⊤(xn−μ)\\tilde{x}_n = \\mu + B B^\\top (x_n - \\mu)x~n​=μ+BB⊤(xn​−μ) 10.3.3 주부분공간 기저 탐색 및 동치성 증명 (329쪽) 이제 최적의 정규직교 기저 행렬 B=[b1,…,bM]B = [b_1, \\dots, b_M]B=[b1​,…,bM​]를 결정해야 합니다. DDD차원 전체 공간 RD\\mathbb{R}^DRD를 포괄하는 완전한 정규직교 기저 (b1,…,bM,bM+1,…,bD)(b_1, \\dots, b_M, b_{M+1}, \\dots, b_D)(b1​,…,bM​,bM+1​,…,bD​)를 생각합니다.\n앞쪽 MMM개: 우리가 보존할 주부분공간 기저 (BBB) 뒤쪽 D−MD-MD−M개: 우리가 차원을 축소하면서 버릴 직교 여공간 기저 중심화된 데이터 벡터 (xn−μ)(x_n - \\mu)(xn​−μ)를 완전 정규직교 기저로 전개하면: xn−μ=∑d=1Dβndbd,여기서 βnd=bd⊤(xn−μ)\\begin{gathered} x_n - \\mu = \\sum_{d=1}^D \\beta_{nd} b_d, \\\\ \\text{여기서 } \\beta_{nd} = b_d^\\top (x_n - \\mu) \\end{gathered}xn​−μ=d=1∑D​βnd​bd​,여기서 βnd​=bd⊤​(xn​−μ)​복원된 벡터 x~n−μ\\tilde{x}_n - \\mux~n​−μ는 앞쪽 MMM개의 기저 성분만 취한 것입니다: x~n−μ=∑m=1Mβnmbm\\tilde{x}_n - \\mu = \\sum_{m=1}^M \\beta_{nm} b_mx~n​−μ=m=1∑M​βnm​bm​따라서 원본 벡터와 복원 벡터의 차이(오차 벡터)는 정확히 버려진 뒤쪽 D−MD-MD−M개의 기저 성분의 합입니다: xn−x~n=(xn−μ)−(x~n−μ)=∑j=M+1Dβnjbj\\begin{aligned} x_n - \\tilde{x}_n \u0026amp;= (x_n - \\mu) - (\\tilde{x}_n - \\mu) \\\\ \u0026amp;= \\sum_{j=M+1}^D \\beta_{nj} b_j \\end{aligned}xn​−x~n​​=(xn​−μ)−(x~n​−μ)=j=M+1∑D​βnj​bj​​기저들이 정규직교이므로 오차 벡터의 노름 제곱은 계수 제곱의 합과 같습니다: ∥xn−x~n∥2=∑j=M+1Dβnj2=∑j=M+1D(bj⊤(xn−μ))2\\begin{aligned} \\|x_n - \\tilde{x}_n\\|^2 \u0026amp;= \\sum_{j=M+1}^D \\beta_{nj}^2 \\\\ \u0026amp;= \\sum_{j=M+1}^D \\left( b_j^\\top (x_n - \\mu) \\right)^2 \\end{aligned}∥xn​−x~n​∥2​=j=M+1∑D​βnj2​=j=M+1∑D​(bj⊤​(xn​−μ))2​이제 전체 데이터에 대해 평균 재구성 오차 JMJ_MJM​을 계산합니다: JM=1N∑n=1N∑j=M+1Dbj⊤(xn−μ)(xn−μ)⊤bj=∑j=M+1Dbj⊤(1N∑n=1N(xn−μ)(xn−μ)⊤)bj\\begin{aligned} J_M \u0026amp;= \\frac{1}{N} \\sum_{n=1}^N \\sum_{j=M+1}^D b_j^\\top \\\\ \u0026amp;\\quad (x_n - \\mu)(x_n - \\mu)^\\top b_j \\\\ \u0026amp;= \\sum_{j=M+1}^D b_j^\\top \\\\ \u0026amp;\\quad \\left( \\frac{1}{N} \\sum_{n=1}^N (x_n - \\mu)(x_n - \\mu)^\\top \\right) b_j \\end{aligned}JM​​=N1​n=1∑N​j=M+1∑D​bj⊤​(xn​−μ)(xn​−μ)⊤bj​=j=M+1∑D​bj⊤​(N1​n=1∑N​(xn​−μ)(xn​−μ)⊤)bj​​ 괄호 안이 정확히 표본 공분산 행렬 SSS입니다! JM=∑j=M+1Dbj⊤SbjJ_M = \\sum_{j=M+1}^D b_j^\\top S b_jJM​=j=M+1∑D​bj⊤​Sbj​정규직교 제약 조건 bj⊤bj=1b_j^\\top b_j = 1bj⊤​bj​=1 하에서 이 오차합 JMJ_MJM​을 최소화하려면, 10.2절의 라그랑주 승수법 결과에 의해 bjb_jbj​는 SSS의 고유벡터여야 하며, 그 값은 고유값 λj\\lambda_jλj​가 됩니다: JM=∑j=M+1DλjJ_M = \\sum_{j=M+1}^D \\lambda_jJM​=j=M+1∑D​λj​ 결정적 결론 (두 관점의 일치):\n재구성 오차 JM=∑j=M+1DλjJ_M = \\sum_{j=M+1}^D \\lambda_jJM​=∑j=M+1D​λj​를 최소화하려면, 버려지는 D−MD-MD−M개의 고유값을 가장 작은 고유값들로 골라야 합니다! 버려지는 고유값이 가장 작다는 것은, 거꾸로 우리가 보존하는 앞쪽 MMM개의 고유값 λ1,…,λM\\lambda_1, \\dots, \\lambda_Mλ1​,…,λM​이 가장 큰 고유값들이어야 함을 뜻합니다. 따라서 \u0026ldquo;재구성 오차 최소화\u0026quot;와 \u0026ldquo;사영 분산 최대화\u0026quot;는 완전히 동일한 고유값 분해 문제입니다! [필수 손계산] 작은 2차원 데이터셋으로 PCA 처음부터 끝까지 손계산하기 작은 2차원 데이터셋(N=4,D=2,M=1N=4, D=2, M=1N=4,D=2,M=1)을 이용해 중심화부터 공분산, 고유값/고유벡터, 1차원 좌표 사영, 2차원 공간 복원, 재구성 오차 검산까지 모든 계산 단계를 한 줄도 생략하지 않고 손으로 풀어봅시다.\n문제 설정 4개의 2차원 데이터 포인트가 주어졌습니다: x1=[11],x2=[23],x3=[32],x4=[44]\\begin{gathered} x_1 = \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}, \\quad x_2 = \\begin{bmatrix} 2 \\\\ 3 \\end{bmatrix}, \\\\ x_3 = \\begin{bmatrix} 3 \\\\ 2 \\end{bmatrix}, \\quad x_4 = \\begin{bmatrix} 4 \\\\ 4 \\end{bmatrix} \\end{gathered}x1​=[11​],x2​=[23​],x3​=[32​],x4​=[44​]​ 이 데이터를 PCA를 통해 1차원(M=1M=1M=1)으로 차원 축소하시오.\n[1단계] 표본 평균 μ\\muμ 및 중심화 데이터 XcX_cXc​ 계산 μ=14([11]+[23]+[32]+[44])=14[1+2+3+41+3+2+4]=14[1010]=[2.52.5]\\begin{aligned} \\mu \u0026amp;= \\frac{1}{4} \\biggl( \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} + \\begin{bmatrix} 2 \\\\ 3 \\end{bmatrix} \\\\ \u0026amp;\\quad + \\begin{bmatrix} 3 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} 4 \\\\ 4 \\end{bmatrix} \\biggr) \\\\ \u0026amp;= \\frac{1}{4} \\begin{bmatrix} 1+2+3+4 \\\\ 1+3+2+4 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{4} \\begin{bmatrix} 10 \\\\ 10 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} \\end{aligned}μ​=41​([11​]+[23​]+[32​]+[44​])=41​[1+2+3+41+3+2+4​]=41​[1010​]=[2.52.5​]​각 데이터에서 평균 μ\\muμ를 뺍니다:\nx1−μ=[1−2.51−2.5]=[−1.5−1.5]=[−3/2−3/2]x_1 - \\mu = \\begin{bmatrix} 1 - 2.5 \\\\ 1 - 2.5 \\end{bmatrix} = \\begin{bmatrix} -1.5 \\\\ -1.5 \\end{bmatrix} = \\begin{bmatrix} -3/2 \\\\ -3/2 \\end{bmatrix}x1​−μ=[1−2.51−2.5​]=[−1.5−1.5​]=[−3/2−3/2​] x2−μ=[2−2.53−2.5]=[−0.50.5]=[−1/21/2]x_2 - \\mu = \\begin{bmatrix} 2 - 2.5 \\\\ 3 - 2.5 \\end{bmatrix} = \\begin{bmatrix} -0.5 \\\\ 0.5 \\end{bmatrix} = \\begin{bmatrix} -1/2 \\\\ 1/2 \\end{bmatrix}x2​−μ=[2−2.53−2.5​]=[−0.50.5​]=[−1/21/2​] x3−μ=[3−2.52−2.5]=[0.5−0.5]=[1/2−1/2]x_3 - \\mu = \\begin{bmatrix} 3 - 2.5 \\\\ 2 - 2.5 \\end{bmatrix} = \\begin{bmatrix} 0.5 \\\\ -0.5 \\end{bmatrix} = \\begin{bmatrix} 1/2 \\\\ -1/2 \\end{bmatrix}x3​−μ=[3−2.52−2.5​]=[0.5−0.5​]=[1/2−1/2​] x4−μ=[4−2.54−2.5]=[1.51.5]=[3/23/2]x_4 - \\mu = \\begin{bmatrix} 4 - 2.5 \\\\ 4 - 2.5 \\end{bmatrix} = \\begin{bmatrix} 1.5 \\\\ 1.5 \\end{bmatrix} = \\begin{bmatrix} 3/2 \\\\ 3/2 \\end{bmatrix}x4​−μ=[4−2.54−2.5​]=[1.51.5​]=[3/23/2​] 중심화 데이터 행렬 Xc∈R2×4X_c \\in \\mathbb{R}^{2 \\times 4}Xc​∈R2×4: Xc=[−1.5−0.50.51.5−1.50.5−0.51.5]X_c = \\begin{bmatrix} -1.5 \u0026amp; -0.5 \u0026amp; 0.5 \u0026amp; 1.5 \\\\ -1.5 \u0026amp; 0.5 \u0026amp; -0.5 \u0026amp; 1.5 \\end{bmatrix}Xc​=[−1.5−1.5​−0.50.5​0.5−0.5​1.51.5​] [2단계] 표본 공분산 행렬 S=1NXcXc⊤S = \\frac{1}{N} X_c X_c^\\topS=N1​Xc​Xc⊤​ 계산 (1,1) 원소 (첫 번째 좌표의 분산): S11=14((−1.5)2+(−0.5)2+0.52+1.52)=14(2.25+0.25+0.25+2.25)=14(5.0)=1.25=54S_{11} = \\frac{1}{4} \\left( (-1.5)^2 + (-0.5)^2 + 0.5^2 + 1.5^2 \\right) = \\frac{1}{4} (2.25 + 0.25 + 0.25 + 2.25) = \\frac{1}{4}(5.0) = 1.25 = \\frac{5}{4}S11​=41​((−1.5)2+(−0.5)2+0.52+1.52)=41​(2.25+0.25+0.25+2.25)=41​(5.0)=1.25=45​ (2,2) 원소 (두 번째 좌표의 분산): S22=14((−1.5)2+0.52+(−0.5)2+1.52)=14(2.25+0.25+0.25+2.25)=1.25=54S_{22} = \\frac{1}{4} \\left( (-1.5)^2 + 0.5^2 + (-0.5)^2 + 1.5^2 \\right) = \\frac{1}{4} (2.25 + 0.25 + 0.25 + 2.25) = 1.25 = \\frac{5}{4}S22​=41​((−1.5)2+0.52+(−0.5)2+1.52)=41​(2.25+0.25+0.25+2.25)=1.25=45​ (1,2) 및 (2,1) 원소 (공분산): S12=S21=14((−1.5)(−1.5)+(−0.5)(0.5)+(0.5)(−0.5)+(1.5)(1.5))\\begin{aligned} S_{12} \u0026amp;= S_{21} \\\\ \u0026amp;= \\frac{1}{4} \\bigl( (-1.5)(-1.5) + (-0.5)(0.5) \\\\ \u0026amp;\\quad + (0.5)(-0.5) + (1.5)(1.5) \\bigr) \\end{aligned}S12​​=S21​=41​((−1.5)(−1.5)+(−0.5)(0.5)+(0.5)(−0.5)+(1.5)(1.5))​ =14(2.25−0.25−0.25+2.25)=14(4.0)=1.0=1= \\frac{1}{4} (2.25 - 0.25 - 0.25 + 2.25) = \\frac{1}{4}(4.0) = 1.0 = 1=41​(2.25−0.25−0.25+2.25)=41​(4.0)=1.0=1 따라서 공분산 행렬은 다음과 같습니다: S=[5/4115/4]=[1.251.01.01.25]S = \\begin{bmatrix} 5/4 \u0026amp; 1 \\\\ 1 \u0026amp; 5/4 \\end{bmatrix} = \\begin{bmatrix} 1.25 \u0026amp; 1.0 \\\\ 1.0 \u0026amp; 1.25 \\end{bmatrix}S=[5/41​15/4​]=[1.251.0​1.01.25​] [3단계] 고유값 및 고유벡터 계산 특성방정식(Characteristic Equation): det⁡(S−λI)=0\\det(S - \\lambda I) = 0det(S−λI)=0 det⁡[54−λ1154−λ]=(54−λ)2−(1)(1)=0\\begin{aligned} \u0026amp;\\det \\begin{bmatrix} \\frac{5}{4} - \\lambda \u0026amp; 1 \\\\ 1 \u0026amp; \\frac{5}{4} - \\lambda \\end{bmatrix} \\\\ \u0026amp;= \\left( \\frac{5}{4} - \\lambda \\right)^2 - (1)(1) \\\\ \u0026amp;= 0 \\end{aligned}​det[45​−λ1​145​−λ​]=(45​−λ)2−(1)(1)=0​ (54−λ)2=1 ⟺ 54−λ=±1\\left( \\frac{5}{4} - \\lambda \\right)^2 = 1 \\iff \\frac{5}{4} - \\lambda = \\pm 1(45​−λ)2=1⟺45​−λ=±1 λ1=54+1=94=2.25\\lambda_1 = \\frac{5}{4} + 1 = \\frac{9}{4} = 2.25λ1​=45​+1=49​=2.25 (최대 고유값) λ2=54−1=14=0.25\\lambda_2 = \\frac{5}{4} - 1 = \\frac{1}{4} = 0.25λ2​=45​−1=41​=0.25 (최소 고유값) 총 분산 확인: Tr(S)=54+54=104=2.50=λ1+λ2=2.25+0.25(일치!)\\begin{aligned} \\text{Tr}(S) \u0026amp;= \\frac{5}{4} + \\frac{5}{4} \\\\ \u0026amp;= \\frac{10}{4} = 2.50 \\\\ \u0026amp;= \\lambda_1 + \\lambda_2 \\\\ \u0026amp;= 2.25 + 0.25 \\quad (\\text{일치!}) \\end{aligned}Tr(S)​=45​+45​=410​=2.50=λ1​+λ2​=2.25+0.25(일치!)​ 제1 주성분이 설명하는 분산 비율(Explained Variance Ratio): λ1λ1+λ2=2.252.50=910=90%\\frac{\\lambda_1}{\\lambda_1 + \\lambda_2} = \\frac{2.25}{2.50} = \\frac{9}{10} = 90\\%λ1​+λ2​λ1​​=2.502.25​=109​=90%고유벡터 b1b_1b1​ 구하기 (λ1=9/4\\lambda_1 = 9/4λ1​=9/4): (S−λ1I)v=[5/4−9/4115/4−9/4][v1v2]=[−111−1][v1v2]=[00]\\begin{aligned} \u0026amp;(S - \\lambda_1 I) v \\\\ \u0026amp;= \\begin{bmatrix} 5/4 - 9/4 \u0026amp; 1 \\\\ 1 \u0026amp; 5/4 - 9/4 \\end{bmatrix} \\begin{bmatrix} v_1 \\\\ v_2 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} -1 \u0026amp; 1 \\\\ 1 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} v_1 \\\\ v_2 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} \\end{aligned}​(S−λ1​I)v=[5/4−9/41​15/4−9/4​][v1​v2​​]=[−11​1−1​][v1​v2​​]=[00​]​ −v1+v2=0 ⟹ v1=v2-v_1 + v_2 = 0 \\implies v_1 = v_2−v1​+v2​=0⟹v1​=v2​ 단위 벡터로 정규화: ∥b1∥2=v12+v22=2v12=1 ⟹ v1=12\\|b_1\\|^2 = v_1^2 + v_2^2 = 2 v_1^2 = 1 \\implies v_1 = \\frac{1}{\\sqrt{2}}∥b1​∥2=v12​+v22​=2v12​=1⟹v1​=2​1​ b1=12[11]b_1 = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}b1​=2​1​[11​]고유벡터 b2b_2b2​ 구하기 (λ2=1/4\\lambda_2 = 1/4λ2​=1/4): (S−λ2I)v=[5/4−1/4115/4−1/4][v1v2]=[1111][v1v2]=[00]\\begin{aligned} (S - \\lambda_2 I) v \u0026amp;= \\begin{bmatrix} 5/4 - 1/4 \u0026amp; 1 \\\\ 1 \u0026amp; 5/4 - 1/4 \\end{bmatrix} \\begin{bmatrix} v_1 \\\\ v_2 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 1 \\\\ 1 \u0026amp; 1 \\end{bmatrix} \\begin{bmatrix} v_1 \\\\ v_2 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} \\end{aligned}(S−λ2​I)v​=[5/4−1/41​15/4−1/4​][v1​v2​​]=[11​11​][v1​v2​​]=[00​]​ v1+v2=0 ⟹ v2=−v1v_1 + v_2 = 0 \\implies v_2 = -v_1v1​+v2​=0⟹v2​=−v1​ 단위 벡터로 정규화: b2=12[−11]b_2 = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} -1 \\\\ 1 \\end{bmatrix}b2​=2​1​[−11​] [4단계] 1차원 잠재 좌표 znz_nzn​ 계산 (사영/인코딩) M=1M=1M=1이므로 기저 행렬은 B=b1=12[11]B = b_1 = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}B=b1​=2​1​[11​] 입니다. 공식: zn=b1⊤(xn−μ)z_n = b_1^\\top (x_n - \\mu)zn​=b1⊤​(xn​−μ)\nn=1n=1n=1: z1=12[1,1][−1.5−1.5]=−1.5−1.52=−32=−322≈−2.121z_1 = \\frac{1}{\\sqrt{2}} [1, 1] \\begin{bmatrix} -1.5 \\\\ -1.5 \\end{bmatrix} = \\frac{-1.5 - 1.5}{\\sqrt{2}} = \\frac{-3}{\\sqrt{2}} = -\\frac{3\\sqrt{2}}{2} \\approx -2.121z1​=2​1​[1,1][−1.5−1.5​]=2​−1.5−1.5​=2​−3​=−232​​≈−2.121 n=2n=2n=2: z2=12[1,1][−0.50.5]=−0.5+0.52=0z_2 = \\frac{1}{\\sqrt{2}} [1, 1] \\begin{bmatrix} -0.5 \\\\ 0.5 \\end{bmatrix} = \\frac{-0.5 + 0.5}{\\sqrt{2}} = 0z2​=2​1​[1,1][−0.50.5​]=2​−0.5+0.5​=0 n=3n=3n=3: z3=12[1,1][0.5−0.5]=0.5−0.52=0z_3 = \\frac{1}{\\sqrt{2}} [1, 1] \\begin{bmatrix} 0.5 \\\\ -0.5 \\end{bmatrix} = \\frac{0.5 - 0.5}{\\sqrt{2}} = 0z3​=2​1​[1,1][0.5−0.5​]=2​0.5−0.5​=0 n=4n=4n=4: z4=12[1,1][1.51.5]=1.5+1.52=32=322≈2.121z_4 = \\frac{1}{\\sqrt{2}} [1, 1] \\begin{bmatrix} 1.5 \\\\ 1.5 \\end{bmatrix} = \\frac{1.5 + 1.5}{\\sqrt{2}} = \\frac{3}{\\sqrt{2}} = \\frac{3\\sqrt{2}}{2} \\approx 2.121z4​=2​1​[1,1][1.51.5​]=2​1.5+1.5​=2​3​=232​​≈2.121 사영된 데이터의 표본 분산 검산: 14∑n=14zn2=14((−32)2+02+02+(32)2)=14(92+0+0+92)=14(9)=94=2.25\\begin{aligned} \\frac{1}{4} \\sum_{n=1}^4 z_n^2 \u0026amp;= \\frac{1}{4} \\Bigl( \\left(-\\frac{3}{\\sqrt{2}}\\right)^2 + 0^2 \\\\ \u0026amp;\\quad + 0^2 + \\left(\\frac{3}{\\sqrt{2}}\\right)^2 \\Bigr) \\\\ \u0026amp;= \\frac{1}{4} \\left( \\frac{9}{2} + 0 + 0 + \\frac{9}{2} \\right) \\\\ \u0026amp;= \\frac{1}{4} (9) = \\frac{9}{4} = 2.25 \\end{aligned}41​n=1∑4​zn2​​=41​((−2​3​)2+02+02+(2​3​)2)=41​(29​+0+0+29​)=41​(9)=49​=2.25​ 사영된 좌표의 분산이 정확히 최대 고유값 λ1=2.25\\lambda_1 = 2.25λ1​=2.25와 정확히 일치합니다.\n[5단계] 2차원 공간으로 복원 x~n\\tilde{x}_nx~n​ 계산 (디코딩) 공식: x~n=μ+b1zn\\tilde{x}_n = \\mu + b_1 z_nx~n​=μ+b1​zn​\nn=1n=1n=1: x~1=[2.52.5]+12[11](−32)=[2.52.5]+[−1.5−1.5]=[11]\\tilde{x}_1 = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} + \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} \\left(-\\frac{3}{\\sqrt{2}}\\right) = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} + \\begin{bmatrix} -1.5 \\\\ -1.5 \\end{bmatrix} = \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}x~1​=[2.52.5​]+2​1​[11​](−2​3​)=[2.52.5​]+[−1.5−1.5​]=[11​] (원래 점 x1=[1,1]⊤x_1 = [1, 1]^\\topx1​=[1,1]⊤과 오차 없이 정확히 복원!) n=2n=2n=2: x~2=[2.52.5]+12[11](0)=[2.52.5]\\tilde{x}_2 = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} + \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} (0) = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix}x~2​=[2.52.5​]+2​1​[11​](0)=[2.52.5​] n=3n=3n=3: x~3=[2.52.5]+12[11](0)=[2.52.5]\\tilde{x}_3 = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} + \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} (0) = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix}x~3​=[2.52.5​]+2​1​[11​](0)=[2.52.5​] n=4n=4n=4: x~4=[2.52.5]+12[11](32)=[2.52.5]+[1.51.5]=[44]\\tilde{x}_4 = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} + \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} \\left(\\frac{3}{\\sqrt{2}}\\right) = \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} + \\begin{bmatrix} 1.5 \\\\ 1.5 \\end{bmatrix} = \\begin{bmatrix} 4 \\\\ 4 \\end{bmatrix}x~4​=[2.52.5​]+2​1​[11​](2​3​)=[2.52.5​]+[1.51.5​]=[44​] (원래 점 x4=[4,4]⊤x_4 = [4, 4]^\\topx4​=[4,4]⊤과 오차 없이 정확히 복원!) [6단계] 재구성 오차 검산 (J1=λ2J_1 = \\lambda_2J1​=λ2​ 확인) 각 데이터별 재구성 오차 제곱:\n∥x1−x~1∥2=∥[11]−[11]∥2=0\\|x_1 - \\tilde{x}_1\\|^2 = \\left\\| \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} - \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} \\right\\|^2 = 0∥x1​−x~1​∥2=​[11​]−[11​]​2=0 ∥x2−x~2∥2=∥[23]−[2.52.5]∥2=(−0.5)2+(0.5)2=0.25+0.25=0.5\\|x_2 - \\tilde{x}_2\\|^2 = \\left\\| \\begin{bmatrix} 2 \\\\ 3 \\end{bmatrix} - \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} \\right\\|^2 = (-0.5)^2 + (0.5)^2 = 0.25 + 0.25 = 0.5∥x2​−x~2​∥2=​[23​]−[2.52.5​]​2=(−0.5)2+(0.5)2=0.25+0.25=0.5 ∥x3−x~3∥2=∥[32]−[2.52.5]∥2=(0.5)2+(−0.5)2=0.25+0.25=0.5\\|x_3 - \\tilde{x}_3\\|^2 = \\left\\| \\begin{bmatrix} 3 \\\\ 2 \\end{bmatrix} - \\begin{bmatrix} 2.5 \\\\ 2.5 \\end{bmatrix} \\right\\|^2 = (0.5)^2 + (-0.5)^2 = 0.25 + 0.25 = 0.5∥x3​−x~3​∥2=​[32​]−[2.52.5​]​2=(0.5)2+(−0.5)2=0.25+0.25=0.5 ∥x4−x~4∥2=∥[44]−[44]∥2=0\\|x_4 - \\tilde{x}_4\\|^2 = \\left\\| \\begin{bmatrix} 4 \\\\ 4 \\end{bmatrix} - \\begin{bmatrix} 4 \\\\ 4 \\end{bmatrix} \\right\\|^2 = 0∥x4​−x~4​∥2=​[44​]−[44​]​2=0 평균 제곱 재구성 오차: J1=14∑n=14∥xn−x~n∥2=14(0+0.5+0.5+0)=1.04=0.25\\begin{aligned} J_1 \u0026amp;= \\frac{1}{4} \\sum_{n=1}^4 \\|x_n - \\tilde{x}_n\\|^2 \\\\ \u0026amp;= \\frac{1}{4} (0 + 0.5 + 0.5 + 0) \\\\ \u0026amp;= \\frac{1.0}{4} = 0.25 \\end{aligned}J1​​=41​n=1∑4​∥xn​−x~n​∥2=41​(0+0.5+0.5+0)=41.0​=0.25​버려진 두 번째 고유값: λ2=0.25\\lambda_2 = 0.25λ2​=0.25 J1=λ2=0.25(일치)J_1 = \\lambda_2 = 0.25 \\quad (\\text{일치})J1​=λ2​=0.25(일치) 이로써 수식의 모든 이론적 성질이 한 치의 오차도 없이 손계산으로 증명되었습니다!\n10.4 고유벡터 계산과 저계수 근사 (333쪽) 왜 필요한가 (직관과 개념) 10.2절과 10.3절에서 우리는 PCA의 최적 기저가 공분산 행렬 SSS의 고유벡터임을 보였습니다. 그렇다면 컴퓨터는 실제로 이 고유벡터들을 어떻게 계산할까요? 공분산 행렬 S=1NXX⊤S = \\frac{1}{N}XX^\\topS=N1​XX⊤를 먼저 만들고 고유값 분해를 하는 것은 계산 오차(수치적 불안정성)와 불필요한 메모리 낭비를 유발합니다. 10.4절은 4장에서 배운 특이값 분해(SVD, Singular Value Decomposition)를 통해 공분산 행렬을 직접 만들지 않고도 데이터 행렬 XXX 자체로부터 PCA를 우아하고 안정적으로 수행하는 수학적 원리를 밝힙니다.\n10.4.1 저계수 행렬 근사를 통한 PCA와 Eckart-Young 정리 (334쪽) 1. 중심화 데이터 행렬의 SVD 중심화된 데이터 행렬 X=[x1−μ,…,xN−μ]∈RD×NX = [x_1 - \\mu, \\dots, x_N - \\mu] \\in \\mathbb{R}^{D \\times N}X=[x1​−μ,…,xN​−μ]∈RD×N의 특이값 분해는 다음과 같습니다: X=UΣV⊤X = U \\Sigma V^\\topX=UΣV⊤ U∈RD×DU \\in \\mathbb{R}^{D \\times D}U∈RD×D: 좌측 특이벡터(Left Singular Vectors)로 이루어진 직교 행렬 (U⊤U=UU⊤=IDU^\\top U = U U^\\top = I_DU⊤U=UU⊤=ID​) V∈RN×NV \\in \\mathbb{R}^{N \\times N}V∈RN×N: 우측 특이벡터(Right Singular Vectors)로 이루어진 직교 행렬 (V⊤V=VV⊤=INV^\\top V = V V^\\top = I_NV⊤V=VV⊤=IN​) Σ∈RD×N\\Sigma \\in \\mathbb{R}^{D \\times N}Σ∈RD×N: 직사각형 대각 행렬, 대각 원소에 특이값(Singular Values)이 내림차순 정렬됨 (σ1≥σ2≥⋯≥σmin⁡(D,N)≥0\\sigma_1 \\ge \\sigma_2 \\ge \\dots \\ge \\sigma_{\\min(D, N)} \\ge 0σ1​≥σ2​≥⋯≥σmin(D,N)​≥0) 2. 공분산 행렬 SSS와 SVD의 직접 연결 표본 공분산 행렬 SSS에 SVD 식을 대입합니다: S=1NXX⊤=1N(UΣV⊤)(UΣV⊤)⊤=1NUΣV⊤VΣ⊤U⊤\\begin{aligned} S \u0026amp;= \\frac{1}{N} X X^\\top = \\frac{1}{N} (U \\Sigma V^\\top) (U \\Sigma V^\\top)^\\top \\\\ \u0026amp;= \\frac{1}{N} U \\Sigma V^\\top V \\Sigma^\\top U^\\top \\end{aligned}S​=N1​XX⊤=N1​(UΣV⊤)(UΣV⊤)⊤=N1​UΣV⊤VΣ⊤U⊤​ VVV는 직교 행렬이므로 V⊤V=INV^\\top V = I_NV⊤V=IN​으로 소거됩니다: S=1NU(ΣΣ⊤)U⊤=U(1NΣΣ⊤)U⊤S = \\frac{1}{N} U (\\Sigma \\Sigma^\\top) U^\\top = U \\left( \\frac{1}{N} \\Sigma \\Sigma^\\top \\right) U^\\topS=N1​U(ΣΣ⊤)U⊤=U(N1​ΣΣ⊤)U⊤여기서 ΣΣ⊤∈RD×D\\Sigma \\Sigma^\\top \\in \\mathbb{R}^{D \\times D}ΣΣ⊤∈RD×D는 대각 행렬입니다: 1NΣΣ⊤=diag(σ12N, σ22N, …, σD2N)\\frac{1}{N} \\Sigma \\Sigma^\\top = \\text{diag}\\left( \\frac{\\sigma_1^2}{N}, \\; \\frac{\\sigma_2^2}{N}, \\; \\dots, \\; \\frac{\\sigma_D^2}{N} \\right)N1​ΣΣ⊤=diag(Nσ12​​,Nσ22​​,…,NσD2​​)이것은 정확히 공분산 행렬 SSS의 스펙트럼 분해(고유값 분해) S=UΛU⊤S = U \\Lambda U^\\topS=UΛU⊤의 형태입니다! 따라서:\n공분산 행렬 SSS의 고유벡터들은 다름 아닌 데이터 행렬 XXX의 좌측 특이벡터(행렬 UUU의 열벡터들 udu_dud​)입니다! 공분산 행렬 SSS의 고유값들 λd\\lambda_dλd​과 데이터 행렬 XXX의 특이값들 σd\\sigma_dσd​ 사이의 관계: λd=σd2N\\lambda_d = \\frac{\\sigma_d^2}{N}λd​=Nσd2​​ 3. Eckart-Young-Mirsky 정리와의 일치 선형대수학의 유명한 에카르트-영 정리(Eckart-Young Theorem)에 따르면, 임의의 행렬 XXX에 대해 계수(rank)가 MMM 이하인 행렬들 중 스펙트럼 노름 ∥X−A∥2\\|X - A\\|_2∥X−A∥2​(교재 식 (10.50), 정리 4.25)를 최소화하는 최적의 계수 MMM 근사 행렬 X~M\\tilde{X}_MX~M​은 상위 MMM개의 특이값만 남긴 절단 SVD(Truncated SVD)입니다: X~M=arg⁡min⁡rank(A)≤M∥X−A∥2=UMΣMVM⊤\\begin{aligned} \\tilde{X}_M \u0026amp;= \\arg\\min_{\\text{rank}(A) \\le M} \\|X - A\\|_2 \\\\ \u0026amp;= U_M \\Sigma_M V_M^\\top \\end{aligned}X~M​​=argrank(A)≤Mmin​∥X−A∥2​=UM​ΣM​VM⊤​​ 교재 밖 보충: 같은 결론이 프로베니우스 노름 ∥X−A∥F\\|X - A\\|_F∥X−A∥F​에서도 성립한다(Eckart–Young–Mirsky). 재구성 오차 JMJ_MJM​은 프로베니우스 노름 쪽과 직접 연결된다: 1N∥X−X~M∥F2=1N∑j\u0026gt;Mσj2=∑j\u0026gt;Mλj\\frac{1}{N}\\|X - \\tilde{X}_M\\|_F^2 = \\frac{1}{N}\\sum_{j\u0026gt;M}\\sigma_j^2 = \\sum_{j\u0026gt;M}\\lambda_jN1​∥X−X~M​∥F2​=N1​∑j\u0026gt;M​σj2​=∑j\u0026gt;M​λj​.\n한편, PCA에서 데이터를 상위 MMM개 주성분으로 사영했다가 복원한 행렬 X~\\tilde{X}X~는: X~=BB⊤X=UMUM⊤(UΣV⊤)=UM(UM⊤U)ΣV⊤=UMΣMVM⊤\\begin{aligned} \\tilde{X} \u0026amp;= B B^\\top X = U_M U_M^\\top (U \\Sigma V^\\top) \\\\ \u0026amp;= U_M (U_M^\\top U) \\Sigma V^\\top = U_M \\Sigma_M V_M^\\top \\end{aligned}X~​=BB⊤X=UM​UM⊤​(UΣV⊤)=UM​(UM⊤​U)ΣV⊤=UM​ΣM​VM⊤​​ 정확히 에카르트-영 정리의 최적 저계수 근사 행렬 X~M\\tilde{X}_MX~M​과 수학적으로 완전히 일치합니다! 즉, PCA는 통계학적으로는 \u0026ldquo;분산 최대화\u0026quot;이지만, 행렬 대수학적으로는 \u0026ldquo;데이터 행렬의 최적 저계수 근사(Optimal Low-Rank Approximation)\u0026rdquo;입니다.\n10.4.2 실무적 계산 고려사항 (334쪽) 아벨-루피니 정리(Abel-Ruffini Theorem)와 고유값 계산: 5차 이상의 다항식은 일반적인 대수적 근의 공식(사칙연산과 거듭제곱근)이 존재하지 않습니다. 따라서 D≥5D \\ge 5D≥5인 행렬의 특성방정식 det⁡(S−λI)=0\\det(S - \\lambda I) = 0det(S−λI)=0은 손으로 풀 수 없으며, 컴퓨터는 반드시 반복적인 수치 해석 알고리즘(수치선형대수)을 사용해야 합니다. 거듭제곱법 (Power Iteration): 최대 고유벡터 하나를 빠르게 찾을 때 임의의 벡터 v0v_0v0​에 행렬 SSS를 반복해서 곱하는 방법: vk+1=Svk∥Svk∥v_{k+1} = \\frac{S v_k}{\\|S v_k\\|}vk+1​=∥Svk​∥Svk​​ k→∞k \\to \\inftyk→∞로 갈 때, 최대 고유값에 대응하는 고유벡터로 지수적으로 수렴합니다. QR 알고리즘 및 Lanczos 알고리즘 (교재 밖 보충, 교재는 \u0026ldquo;현대 선형대수 패키지의 반복법\u0026quot;이라고만 쓴다): 모든 고유쌍을 구할 때는 직교-상삼각 분해를 반복하는 QR 알고리즘이 표준이며, 희소 행렬이나 거대 행렬에서는 란초스(Lanczos) 알고리즘이 사용됩니다. 10.5 고차원 데이터에서의 PCA (PCA in High Dimensions, N\u0026lt;DN \u0026lt; DN\u0026lt;D, 335쪽) 왜 필요한가 (직관과 연산량 비교) 생체 유전자(DNA 마이크로어레이) 데이터나 고해상도 얼굴 이미지 인식(Eigenfaces) 문제에서는 샘플 수 NNN은 100개에 불과한데, 특징 차원 DDD는 10,000차원 이상인 경우가 비일비재합니다 (N≪DN \\ll DN≪D).\n공분산 행렬 S=1NXX⊤S = \\frac{1}{N}XX^\\topS=N1​XX⊤의 크기는 10,000×10,00010,000 \\times 10,00010,000×10,000이 됩니다! 원소 개수만 1억 개이며, 이 거대한 행렬의 고유값을 계산하는 알고리즘(O(D3)\\mathcal{O}(D^3)O(D3))은 약 101210^{12}1012회의 연산을 필요로 하므로 메모리가 터지거나 연산이 멈춥니다. 하지만 데이터 포인트가 NNN개뿐이므로, 이 데이터들이 DDD차원 공간에서 펼쳐낼 수 있는 부분공간의 계수(rank)는 기껏해야 NNN차원에 불과합니다. 나머지 D−ND-ND−N개의 축 방향으로는 데이터가 전혀 없으므로 분산(고유값)이 정확히 0입니다! 10.5절에서는 이 기하학적 잉여성을 역이용하여, D×DD \\times DD×D 행렬 대신 N×NN \\times NN×N 크기의 작은 행렬만 풀어서 정확히 동일한 PCA 고유벡터를 구해내는 기적의 연산 단축 기법을 다룹니다.\n수학적 유도 중심화 데이터 행렬 X∈RD×NX \\in \\mathbb{R}^{D \\times N}X∈RD×N에 대해:\n원래 풀어야 하는 D×DD \\times DD×D 고유값 문제: Sbm=λmbm ⟺ 1NXX⊤bm=λmbm(m=1,…,M)S b_m = \\lambda_m b_m \\iff \\frac{1}{N} X X^\\top b_m = \\lambda_m b_m \\quad (m = 1, \\dots, M)Sbm​=λm​bm​⟺N1​XX⊤bm​=λm​bm​(m=1,…,M) 여기서 순서를 뒤집어 N×NN \\times NN×N 그람 행렬(Gram Matrix) K:=1NX⊤X∈RN×NK := \\frac{1}{N} X^\\top X \\in \\mathbb{R}^{N \\times N}K:=N1​X⊤X∈RN×N를 정의하고, 이 작은 행렬의 고유값 문제를 풉니다: 1NX⊤Xcm=λmcm(cm∈RN, ∥cm∥=1)\\begin{gathered} \\frac{1}{N} X^\\top X c_m = \\lambda_m c_m \\\\ (c_m \\in \\mathbb{R}^N, \\; \\|c_m\\| = 1) \\end{gathered}N1​X⊤Xcm​=λm​cm​(cm​∈RN,∥cm​∥=1)​이제 이 식의 양변 왼쪽에 행렬 XXX를 곱해줍니다: X(1NX⊤Xcm)=X(λmcm)X \\left( \\frac{1}{N} X^\\top X c_m \\right) = X (\\lambda_m c_m)X(N1​X⊤Xcm​)=X(λm​cm​) 결합법칙으로 괄호의 묶음을 바꿉니다: (1NXX⊤)(Xcm)=λm(Xcm)\\left( \\frac{1}{N} X X^\\top \\right) (X c_m) = \\lambda_m (X c_m)(N1​XX⊤)(Xcm​)=λm​(Xcm​) ∴S(Xcm)=λm(Xcm)\\therefore S (X c_m) = \\lambda_m (X c_m)∴S(Xcm​)=λm​(Xcm​)그러면 다음이 성립한다:\nN×NN \\times NN×N 행렬 1NX⊤X\\frac{1}{N}X^\\top XN1​X⊤X의 고유값 λm\\lambda_mλm​은 D×DD \\times DD×D 행렬 SSS의 고유값과 완전히 동일합니다! SSS의 고유벡터 bmb_mbm​은 다름 아닌 XcmX c_mXcm​에 비례합니다! 정규화 상수 도출 고유벡터 bm=αmXcmb_m = \\alpha_m X c_mbm​=αm​Xcm​이 단위 길이(∥bm∥2=1\\|b_m\\|^2 = 1∥bm​∥2=1)를 갖도록 스케일링 계수 αm\\alpha_mαm​을 결정합니다: bm⊤bm=(αmXcm)⊤(αmXcm)=αm2cm⊤X⊤Xcm=1\\begin{aligned} b_m^\\top b_m \u0026amp;= (\\alpha_m X c_m)^\\top (\\alpha_m X c_m) \\\\ \u0026amp;= \\alpha_m^2 c_m^\\top X^\\top X c_m = 1 \\end{aligned}bm⊤​bm​​=(αm​Xcm​)⊤(αm​Xcm​)=αm2​cm⊤​X⊤Xcm​=1​ 앞서 1NX⊤Xcm=λmcm\\frac{1}{N}X^\\top X c_m = \\lambda_m c_mN1​X⊤Xcm​=λm​cm​이므로 X⊤Xcm=NλmcmX^\\top X c_m = N \\lambda_m c_mX⊤Xcm​=Nλm​cm​입니다. 이를 대입하면: αm2cm⊤(Nλmcm)=αm2Nλm(cm⊤cm)=αm2Nλm(1)=1\\begin{aligned} \\alpha_m^2 c_m^\\top (N \\lambda_m c_m) \u0026amp;= \\alpha_m^2 N \\lambda_m (c_m^\\top c_m) \\\\ \u0026amp;= \\alpha_m^2 N \\lambda_m (1) = 1 \\end{aligned}αm2​cm⊤​(Nλm​cm​)​=αm2​Nλm​(cm⊤​cm​)=αm2​Nλm​(1)=1​ ∴αm=1Nλm\\therefore \\alpha_m = \\frac{1}{\\sqrt{N \\lambda_m}}∴αm​=Nλm​​1​따라서 최종 고유벡터는 다음과 같이 계산됩니다: bm=1NλmXcmb_m = \\frac{1}{\\sqrt{N \\lambda_m}} X c_mbm​=Nλm​​1​Xcm​ 연산량 비교 (Computational Complexity):\n기존 방식 (SSS 직접 계산 및 고유분해): O(D2N)+O(D3)\\mathcal{O}(D^2 N) + \\mathcal{O}(D^3)O(D2N)+O(D3) 고차원 트릭 (N×NN \\times NN×N 행렬 풀이): O(N2D)+O(N3)+O(NDM)\\mathcal{O}(N^2 D) + \\mathcal{O}(N^3) + \\mathcal{O}(N D M)O(N2D)+O(N3)+O(NDM)\nD=10,000,N=100D = 10,000, N = 100D=10,000,N=100일 때, 지배항이 D3=1012D^3 = 10^{12}D3=1012에서 N2D=108N^2 D = 10^{8}N2D=108 수준으로, 약 1만 배 줄어듭니다. 이 아이디어는 훗날 비선형 커널 PCA(Kernel PCA)의 이론적 초석이 됩니다. [손으로 풀어 보는 예제: N \u0026lt; D] D=3,N=2D=3, N=2D=3,N=2인 극단적인 고차원 상황을 손으로 풀어봅시다. 중심화 데이터 행렬 Xc∈R3×2X_c \\in \\mathbb{R}^{3 \\times 2}Xc​∈R3×2가 다음과 같이 주어졌습니다: Xc=[−11−111−1]X_c = \\begin{bmatrix} -1 \u0026amp; 1 \\\\ -1 \u0026amp; 1 \\\\ 1 \u0026amp; -1 \\end{bmatrix}Xc​=​−1−11​11−1​​ N=2N=2N=2이므로, 3×33 \\times 33×3 행렬 SSS 대신 2×22 \\times 22×2 행렬 K=12Xc⊤XcK = \\frac{1}{2}X_c^\\top X_cK=21​Xc⊤​Xc​를 이용하여 최대 고유벡터 b1b_1b1​을 구하시오.\n[1단계: 2×22 \\times 22×2 그람 행렬 KKK 계산] Xc⊤=[−1−1111−1]X_c^\\top = \\begin{bmatrix} -1 \u0026amp; -1 \u0026amp; 1 \\\\ 1 \u0026amp; 1 \u0026amp; -1 \\end{bmatrix}Xc⊤​=[−11​−11​1−1​] Xc⊤Xc=[−1−1111−1][−11−111−1]=[1+1+1−1−1−1−1−1−11+1+1]=[3−3−33]\\begin{aligned} X_c^\\top X_c \u0026amp;= \\begin{bmatrix} -1 \u0026amp; -1 \u0026amp; 1 \\\\ 1 \u0026amp; 1 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} -1 \u0026amp; 1 \\\\ -1 \u0026amp; 1 \\\\ 1 \u0026amp; -1 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1+1+1 \u0026amp; -1-1-1 \\\\ -1-1-1 \u0026amp; 1+1+1 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 3 \u0026amp; -3 \\\\ -3 \u0026amp; 3 \\end{bmatrix} \\end{aligned}Xc⊤​Xc​​=[−11​−11​1−1​]​−1−11​11−1​​=[1+1+1−1−1−1​−1−1−11+1+1​]=[3−3​−33​]​ K=12Xc⊤Xc=[1.5−1.5−1.51.5]K = \\frac{1}{2} X_c^\\top X_c = \\begin{bmatrix} 1.5 \u0026amp; -1.5 \\\\ -1.5 \u0026amp; 1.5 \\end{bmatrix}K=21​Xc⊤​Xc​=[1.5−1.5​−1.51.5​][2단계: KKK의 고유값 및 고유벡터 계산] det⁡(K−λI)=(1.5−λ)2−(−1.5)2=(1.5−λ)2−2.25=0\\begin{aligned} \\det(K - \\lambda I) \u0026amp;= (1.5 - \\lambda)^2 - (-1.5)^2 \\\\ \u0026amp;= (1.5 - \\lambda)^2 - 2.25 = 0 \\end{aligned}det(K−λI)​=(1.5−λ)2−(−1.5)2=(1.5−λ)2−2.25=0​ λ2−3λ=0 ⟹ λ(λ−3)=0\\lambda^2 - 3\\lambda = 0 \\implies \\lambda(\\lambda - 3) = 0λ2−3λ=0⟹λ(λ−3)=0 따라서 0이 아닌 유일한 최대 고유값은 λ1=3\\lambda_1 = 3λ1​=3 입니다.\nλ1=3\\lambda_1 = 3λ1​=3에 대한 고유벡터 c1c_1c1​: (K−3I)c1=[1.5−3−1.5−1.51.5−3][c11c12]=[−1.5−1.5−1.5−1.5][c11c12]=[00]\\begin{aligned} (K - 3I) c_1 \u0026amp;= \\begin{bmatrix} 1.5 - 3 \u0026amp; -1.5 \\\\ -1.5 \u0026amp; 1.5 - 3 \\end{bmatrix} \\begin{bmatrix} c_{11} \\\\ c_{12} \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} -1.5 \u0026amp; -1.5 \\\\ -1.5 \u0026amp; -1.5 \\end{bmatrix} \\begin{bmatrix} c_{11} \\\\ c_{12} \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} \\end{aligned}(K−3I)c1​​=[1.5−3−1.5​−1.51.5−3​][c11​c12​​]=[−1.5−1.5​−1.5−1.5​][c11​c12​​]=[00​]​ c11+c12=0 ⟹ c12=−c11c_{11} + c_{12} = 0 \\implies c_{12} = -c_{11}c11​+c12​=0⟹c12​=−c11​ 단위 정규화: c1=12[−11]c_1 = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} -1 \\\\ 1 \\end{bmatrix}c1​=2​1​[−11​]\n[3단계: b1=1Nλ1Xcc1b_1 = \\frac{1}{\\sqrt{N\\lambda_1}} X_c c_1b1​=Nλ1​​1​Xc​c1​ 계산]\nN=2,λ1=3 ⟹ Nλ1=2×3=6N = 2, \\lambda_1 = 3 \\implies \\sqrt{N\\lambda_1} = \\sqrt{2 \\times 3} = \\sqrt{6}N=2,λ1​=3⟹Nλ1​​=2×3​=6​ Xcc1X_c c_1Xc​c1​ 계산: Xcc1=[−11−111−1](12[−11])=12[1+11+1−1−1]=12[22−2]=[22−2]X_c c_1 = \\begin{bmatrix} -1 \u0026amp; 1 \\\\ -1 \u0026amp; 1 \\\\ 1 \u0026amp; -1 \\end{bmatrix} \\left( \\frac{1}{\\sqrt{2}} \\begin{bmatrix} -1 \\\\ 1 \\end{bmatrix} \\right) = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 + 1 \\\\ 1 + 1 \\\\ -1 - 1 \\end{bmatrix} = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 2 \\\\ 2 \\\\ -2 \\end{bmatrix} = \\begin{bmatrix} \\sqrt{2} \\\\ \\sqrt{2} \\\\ -\\sqrt{2} \\end{bmatrix}Xc​c1​=​−1−11​11−1​​(2​1​[−11​])=2​1​​1+11+1−1−1​​=2​1​​22−2​​=​2​2​−2​​​ 정규화 곱셈: b1=16[22−2]=26[11−1]=13[11−1]b_1 = \\frac{1}{\\sqrt{6}} \\begin{bmatrix} \\sqrt{2} \\\\ \\sqrt{2} \\\\ -\\sqrt{2} \\end{bmatrix} = \\frac{\\sqrt{2}}{\\sqrt{6}} \\begin{bmatrix} 1 \\\\ 1 \\\\ -1 \\end{bmatrix} = \\frac{1}{\\sqrt{3}} \\begin{bmatrix} 1 \\\\ 1 \\\\ -1 \\end{bmatrix}b1​=6​1​​2​2​−2​​​=6​2​​​11−1​​=3​1​​11−1​​ [4단계: 원래의 3×33 \\times 33×3 공분산 행렬 SSS로 검산] S=12XcXc⊤=12[−11−111−1][−1−1111−1]=12[22−222−2−2−22]=[11−111−1−1−11]\\begin{aligned} S \u0026amp;= \\frac{1}{2} X_c X_c^\\top \\\\ \u0026amp;= \\frac{1}{2} \\begin{bmatrix} -1 \u0026amp; 1 \\\\ -1 \u0026amp; 1 \\\\ 1 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} -1 \u0026amp; -1 \u0026amp; 1 \\\\ 1 \u0026amp; 1 \u0026amp; -1 \\end{bmatrix} \\\\ \u0026amp;= \\frac{1}{2} \\begin{bmatrix} 2 \u0026amp; 2 \u0026amp; -2 \\\\ 2 \u0026amp; 2 \u0026amp; -2 \\\\ -2 \u0026amp; -2 \u0026amp; 2 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; -1 \\\\ 1 \u0026amp; 1 \u0026amp; -1 \\\\ -1 \u0026amp; -1 \u0026amp; 1 \\end{bmatrix} \\end{aligned}S​=21​Xc​Xc⊤​=21​​−1−11​11−1​​[−11​−11​1−1​]=21​​22−2​22−2​−2−22​​=​11−1​11−1​−1−11​​​ Sb1=[11−111−1−1−11](13[11−1])=13[1+1+11+1+1−1−1−1]=13[33−3]=3(13[11−1])=3b1\\begin{aligned} S b_1 \u0026amp;= \\begin{bmatrix} 1 \u0026amp; 1 \u0026amp; -1 \\\\ 1 \u0026amp; 1 \u0026amp; -1 \\\\ -1 \u0026amp; -1 \u0026amp; 1 \\end{bmatrix} \\left( \\frac{1}{\\sqrt{3}} \\begin{bmatrix} 1 \\\\ 1 \\\\ -1 \\end{bmatrix} \\right) \\\\ \u0026amp;= \\frac{1}{\\sqrt{3}} \\begin{bmatrix} 1 + 1 + 1 \\\\ 1 + 1 + 1 \\\\ -1 - 1 - 1 \\end{bmatrix} = \\frac{1}{\\sqrt{3}} \\begin{bmatrix} 3 \\\\ 3 \\\\ -3 \\end{bmatrix} \\\\ \u0026amp;= 3 \\left( \\frac{1}{\\sqrt{3}} \\begin{bmatrix} 1 \\\\ 1 \\\\ -1 \\end{bmatrix} \\right) = 3 b_1 \\end{aligned}Sb1​​=​11−1​11−1​−1−11​​​3​1​​11−1​​​=3​1​​1+1+11+1+1−1−1−1​​=3​1​​33−3​​=3​3​1​​11−1​​​=3b1​​ 고유값 3, 고유벡터 b1b_1b1​이 한 치의 오차도 없이 정확히 증명되었습니다!\n10.6 실전에서의 PCA 핵심 단계 (Key Steps in Practice, 336쪽) 실제 데이터 분석 및 머신러닝 파이프라인에서 PCA를 적용할 때 거치는 필수 6단계를 정리합니다.\n평균 중심화 (Mean Centering): 각 특징별 표본 평균 μd=1N∑n=1Nxnd\\mu_d = \\frac{1}{N} \\sum_{n=1}^N x_{nd}μd​=N1​∑n=1N​xnd​를 계산하여 모든 데이터에서 차감합니다: xnd←xnd−μdx_{nd} \\leftarrow x_{nd} - \\mu_dxnd​←xnd​−μd​ 중심화를 건너뛰면 제1 주성분이 데이터의 분산 방향이 아니라 원점에서 데이터 덩어리 중심을 가리키는 평균 벡터 방향으로 왜곡되어 분석이 완전히 망가집니다!\n표준화 (Standardization / Z-score Normalization) — 필요 시: 각 특징의 단위(스케일)가 다른 경우(예: 키 cm와 몸무게 kg, 연소득 원), 표준편차 σd=1N∑(xnd−μd)2\\sigma_d = \\sqrt{\\frac{1}{N}\\sum (x_{nd}-\\mu_d)^2}σd​=N1​∑(xnd​−μd​)2​로 나누어 분산을 1로 맞춥니다: xnd←xnd−μdσdx_{nd} \\leftarrow \\frac{x_{nd} - \\mu_d}{\\sigma_d}xnd​←σd​xnd​−μd​​ 표준화를 적용한 PCA는 데이터의 공분산 행렬(Covariance Matrix) 대신 상관관계 행렬(Correlation Matrix)의 고유값을 구하는 것과 같습니다. 스케일이 비정상적으로 큰 단 하나의 변수가 주성분을 독식하는 참사를 방지합니다.\n표본 공분산 행렬 SSS 계산: S=1NXcXc⊤∈RD×DS = \\frac{1}{N} X_c X_c^\\top \\in \\mathbb{R}^{D \\times D}S=N1​Xc​Xc⊤​∈RD×D 고유값 분해 및 정렬: Sbd=λdbdS b_d = \\lambda_d b_dSbd​=λd​bd​를 풀어 고유값을 내림차순으로 정렬합니다: λ1≥λ2≥⋯≥λD≥0\\lambda_1 \\ge \\lambda_2 \\ge \\dots \\ge \\lambda_D \\ge 0λ1​≥λ2​≥⋯≥λD​≥0 압축 차원 MMM 결정 (설명된 분산 비율): 누적 설명 분산 비율(Cumulative Explained Variance Ratio)이 목표 임계값(예: 90% 또는 95%)을 넘는 최소 MMM을 선택합니다: ∑m=1Mλm∑d=1Dλd≥0.90\\frac{\\sum_{m=1}^M \\lambda_m}{\\sum_{d=1}^D \\lambda_d} \\ge 0.90∑d=1D​λd​∑m=1M​λm​​≥0.90 사영(인코딩) 및 복원(디코딩):\nMMM차원 잠재 좌표: zn=B⊤(xn−μ)z_n = B^\\top (x_n - \\mu)zn​=B⊤(xn​−μ), 여기서 B=[b1,…,bM]∈RD×MB = [b_1, \\dots, b_M] \\in \\mathbb{R}^{D \\times M}B=[b1​,…,bM​]∈RD×M DDD차원 복원 벡터: x~n=Bzn+μ=BB⊤(xn−μ)+μ\\tilde{x}_n = B z_n + \\mu = B B^\\top (x_n - \\mu) + \\mux~n​=Bzn​+μ=BB⊤(xn​−μ)+μ 표준화를 적용했던 경우, 표준편차를 먼저 곱한 뒤 평균을 더해 복원합니다: x~nd←x~nd⋅σd+μd\\tilde{x}_{nd} \\leftarrow \\tilde{x}_{nd} \\cdot \\sigma_d + \\mu_dx~nd​←x~nd​⋅σd​+μd​ 10.7 잠재 변수 관점 / 확률적 PCA (Latent Variable Perspective, PPCA, 339쪽) 왜 필요한가 (직관과 확률 모델의 당위성) 지금까지 다룬 표준 PCA는 뛰어난 기하학적·대수적 도구이지만, 다음과 같은 태생적 한계를 갖습니다:\n결측치(Missing Data) 처리 불가: 입력 데이터의 일부 원소가 누락되면 행렬 계산 자체가 불가능합니다. 생성 모델(Generative Model)의 부재: 데이터의 분포를 학습한 것이 아니므로, 새로운 그럴듯한 가상 데이터를 스스로 샘플링(생성)할 수 없습니다. 불확실성(Uncertainty) 미반영: 잠재 좌표 zzz를 오직 단 하나의 점으로만 사영하므로, 사영 위치에 대한 신뢰도를 알 수 없습니다. 차원 MMM의 확률적 선택 불가: 주변 가능도(Marginal Likelihood) 개념이 없어 베이지안 모델 선택을 적용할 수 없습니다. Tipping과 Bishop(1999)이 제안한 확률적 주성분 분석(Probabilistic PCA, PPCA)은 표준 PCA를 가우시안 잠재 변수 생성 모델(Gaussian Latent Variable Model)로 재해석함으로써 이 모든 한계를 정확히 해결합니다.\n[PPCA 그래피컬 모델] z ~ N(0, I_M) (저차원 잠재 변수 사전분포) │ ▼ (x = Bz + μ + ε) x ~ N(Bz+μ, σ²I) (고차원 관측 데이터) 10.7.1 생성 과정 및 확률 모델 (340쪽) 1. 잠재 변수 사전분포 (Latent Prior) 보이지 않는 MMM차원 잠재 변수(Latent Variable) z∈RMz \\in \\mathbb{R}^Mz∈RM가 표준 정규분포를 따른다고 가정합니다: z∼N(0,IM)z \\sim \\mathcal{N}(0, I_M)z∼N(0,IM​) 각 잠재 차원은 서로 독립이며, 평균 0, 분산 1을 갖습니다. 2. 관측 데이터 생성 메커니즘 (Observation Model) 고차원 데이터 x∈RDx \\in \\mathbb{R}^Dx∈RD는 잠재 변수 zzz의 선형 변환에 중심점 μ\\muμ와 등방성 가우시안 노이즈 ϵ\\epsilonϵ이 더해져 생성됩니다: x=Bz+μ+ϵ∈RDx = B z + \\mu + \\epsilon \\in \\mathbb{R}^Dx=Bz+μ+ϵ∈RD B∈RD×MB \\in \\mathbb{R}^{D \\times M}B∈RD×M: 잠재 공간에서 데이터 공간으로 매핑하는 변환 행렬(투사 행렬) μ∈RD\\mu \\in \\mathbb{R}^Dμ∈RD: 데이터 공간의 평균(오프셋) ϵ∼N(0,σ2ID)\\epsilon \\sim \\mathcal{N}(0, \\sigma^2 I_D)ϵ∼N(0,σ2ID​): zzz와 독립인 관측 노이즈 (σ2\\sigma^2σ2: 노이즈 분산) 따라서 zzz가 주어졌을 때 xxx의 조건부 확률분포(우도)는 다음과 같습니다: p(x∣z,B,μ,σ2)=N(x∣Bz+μ,σ2ID)\\begin{gathered} p(x \\mid z, B, \\mu, \\sigma^2) \\\\ = \\mathcal{N}(x \\mid B z + \\mu, \\sigma^2 I_D) \\end{gathered}p(x∣z,B,μ,σ2)=N(x∣Bz+μ,σ2ID​)​ 10.7.2 우도 및 결합 분포 (342쪽) 1. 데이터의 주변 분포 (Marginal Distribution / Evidence) 잠재 변수 zzz를 적분 소거하여 관측 데이터 xxx 자체의 주변 확률분포를 구합니다: p(x∣B,μ,σ2)=∫p(x∣z,B,μ,σ2)p(z) dz\\begin{gathered} p(x \\mid B, \\mu, \\sigma^2) \\\\ = \\int p(x \\mid z, B, \\mu, \\sigma^2) p(z) \\, dz \\end{gathered}p(x∣B,μ,σ2)=∫p(x∣z,B,μ,σ2)p(z)dz​이 적분은 6장의 선형 가우시안 시스템 공식에 의해 적분 기호 없이 즉시 풀립니다:\n기댓값: E[x]=E[Bz+μ+ϵ]=BE[z]+μ+E[ϵ]=B(0)+μ+0=μ\\mathbb{E}[x] = \\mathbb{E}[B z + \\mu + \\epsilon] = B \\mathbb{E}[z] + \\mu + \\mathbb{E}[\\epsilon] = B(0) + \\mu + 0 = \\muE[x]=E[Bz+μ+ϵ]=BE[z]+μ+E[ϵ]=B(0)+μ+0=μ 공분산 행렬: Cov[x]=Cov[Bz+μ+ϵ]=Cov[Bz]+Cov[ϵ]=BCov[z]B⊤+σ2ID=BB⊤+σ2ID\\text{Cov}[x] = \\text{Cov}[B z + \\mu + \\epsilon] = \\text{Cov}[B z] + \\text{Cov}[\\epsilon] = B \\text{Cov}[z] B^\\top + \\sigma^2 I_D = B B^\\top + \\sigma^2 I_DCov[x]=Cov[Bz+μ+ϵ]=Cov[Bz]+Cov[ϵ]=BCov[z]B⊤+σ2ID​=BB⊤+σ2ID​ 따라서 주변 분포는 다음과 같습니다: p(x∣B,μ,σ2)=N(x∣μ,C),여기서 C=BB⊤+σ2ID∈RD×D\\begin{gathered} p(x \\mid B, \\mu, \\sigma^2) = \\mathcal{N}(x \\mid \\mu, C), \\\\ \\text{여기서 } C = B B^\\top + \\sigma^2 I_D \\in \\mathbb{R}^{D \\times D} \\end{gathered}p(x∣B,μ,σ2)=N(x∣μ,C),여기서 C=BB⊤+σ2ID​∈RD×D​2. xxx와 zzz의 결합 분포 (Joint Distribution) p([xz])=N([μ0], [BB⊤+σ2IDBB⊤IM])\\begin{gathered} p\\left( \\begin{bmatrix} x \\\\ z \\end{bmatrix} \\right) \\\\ = \\mathcal{N}\\left( \\begin{bmatrix} \\mu \\\\ 0 \\end{bmatrix}, \\; \\begin{bmatrix} B B^\\top + \\sigma^2 I_D \u0026amp; B \\\\ B^\\top \u0026amp; I_M \\end{bmatrix} \\right) \\end{gathered}p([xz​])=N([μ0​],[BB⊤+σ2ID​B⊤​BIM​​])​ 상호 공분산: Cov[x,z]=E[(x−μ)z⊤]=E[(Bz+ϵ)z⊤]=BE[zz⊤]=BIM=B\\text{Cov}[x, z] = \\mathbb{E}[(x-\\mu) z^\\top] = \\mathbb{E}[(Bz+\\epsilon)z^\\top] = B \\mathbb{E}[zz^\\top] = B I_M = BCov[x,z]=E[(x−μ)z⊤]=E[(Bz+ϵ)z⊤]=BE[zz⊤]=BIM​=B 10.7.3 사후 분포 및 표준 PCA로의 수렴 (342쪽) 1. 잠재 변수 사후분포 p(z∣x)p(z \\mid x)p(z∣x) 유도 관측된 데이터 xxx가 주어졌을 때, 이 데이터를 만들어낸 잠재 좌표 zzz의 확률분포는 가우시안 조건부 분포 공식에 의해 계산됩니다: p(z∣x)=N(z∣m,Cz)p(z \\mid x) = \\mathcal{N}(z \\mid m, C_z)p(z∣x)=N(z∣m,Cz​) 사후 평균: m=B⊤(BB⊤+σ2ID)−1(x−μ)m = B^\\top (B B^\\top + \\sigma^2 I_D)^{-1} (x - \\mu)m=B⊤(BB⊤+σ2ID​)−1(x−μ) 사후 공분산: Cz=IM−B⊤(BB⊤+σ2ID)−1BC_z = I_M - B^\\top (B B^\\top + \\sigma^2 I_D)^{-1} BCz​=IM​−B⊤(BB⊤+σ2ID​)−1B 2. 우드베리(Woodbury) 항등식을 통한 M×MM \\times MM×M 역행렬 변환 위 식에서 (BB⊤+σ2ID)−1(B B^\\top + \\sigma^2 I_D)^{-1}(BB⊤+σ2ID​)−1는 거대한 D×DD \\times DD×D 행렬의 역행렬을 요구합니다. 행렬 역행렬 보조정리(Woodbury / Push-through Identity)를 적용하면 다음과 같이 아름답게 바뀝니다: B⊤(BB⊤+σ2ID)−1=(B⊤B+σ2IM)−1B⊤\\begin{gathered} B^\\top (B B^\\top + \\sigma^2 I_D)^{-1} \\\\ = (B^\\top B + \\sigma^2 I_M)^{-1} B^\\top \\end{gathered}B⊤(BB⊤+σ2ID​)−1=(B⊤B+σ2IM​)−1B⊤​ 이를 대입하면: m=(B⊤B+σ2IM)−1B⊤(x−μ)m = (B^\\top B + \\sigma^2 I_M)^{-1} B^\\top (x - \\mu)m=(B⊤B+σ2IM​)−1B⊤(x−μ) Cz=σ2(B⊤B+σ2IM)−1C_z = \\sigma^2 (B^\\top B + \\sigma^2 I_M)^{-1}Cz​=σ2(B⊤B+σ2IM​)−1 이제 우리는 D×DD \\times DD×D가 아니라 훨씬 작은 M×MM \\times MM×M 크기의 역행렬만 계산하면 됩니다!\n3. 노이즈 0 극한 (σ2→0\\sigma^2 \\to 0σ2→0)에서의 표준 PCA 복원 만약 관측 노이즈가 0으로 수렴한다면 (σ2→0\\sigma^2 \\to 0σ2→0):\n사후 공분산: Cz=lim⁡σ2→0σ2(B⊤B+σ2IM)−1=0C_z = \\lim_{\\sigma^2 \\to 0} \\sigma^2 (B^\\top B + \\sigma^2 I_M)^{-1} = 0Cz​=limσ2→0​σ2(B⊤B+σ2IM​)−1=0 즉, 잠재 좌표의 확률적 불확실성이 사라지고 단 하나의 고정된 점으로 붕괴합니다. 사후 평균: m=lim⁡σ2→0(B⊤B+σ2IM)−1B⊤(x−μ)=(B⊤B)−1B⊤(x−μ)m = \\lim_{\\sigma^2 \\to 0} (B^\\top B + \\sigma^2 I_M)^{-1} B^\\top (x - \\mu) = (B^\\top B)^{-1} B^\\top (x - \\mu)m=limσ2→0​(B⊤B+σ2IM​)−1B⊤(x−μ)=(B⊤B)−1B⊤(x−μ) (B⊤B)−1B⊤(x−μ)(B^\\top B)^{-1} B^\\top (x - \\mu)(B⊤B)−1B⊤(x−μ)는 x−μx-\\mux−μ를 BBB의 열공간에 직교 사영했을 때의 좌표다(3장 사영 공식 πU(x)=B(B⊤B)−1B⊤x\\pi_U(x)=B(B^\\top B)^{-1}B^\\top xπU​(x)=B(B⊤B)−1B⊤x의 좌표 부분). 주의할 점이 있다. PPCA의 BBB는 정규직교가 아니다. 최대가능도 해가 B=UM(ΛM−σ2I)1/2RB = U_M(\\Lambda_M - \\sigma^2 I)^{1/2}RB=UM​(ΛM​−σ2I)1/2R 꼴(아래 4절)이라 열마다 길이가 다르다. 그래서 mmm 자체는 PCA 좌표 UM⊤(x−μ)U_M^\\top(x-\\mu)UM⊤​(x−μ)와 숫자가 다르다(축마다 배율이 다르고 회전 RRR이 붙는다). 하지만 복원한 점 Bm=B(B⊤B)−1B⊤(x−μ)Bm = B(B^\\top B)^{-1}B^\\top(x-\\mu)Bm=B(B⊤B)−1B⊤(x−μ)는 같은 부분공간으로의 직교 사영이므로 PCA의 복원 결과와 같다. BBB가 정규직교(B⊤B=IMB^\\top B = I_MB⊤B=IM​)인 특별한 경우에만 m=B⊤(x−μ)m = B^\\top (x - \\mu)m=B⊤(x−μ)로 PCA 좌표와 숫자까지 같아진다. 아래 확인 문제 8이 이 차이를 숫자로 보여 준다. 4. PPCA의 최대가능도 모수 해 (교재 10.8절 식 (10.77)~(10.79), 증명은 Tipping \u0026amp; Bishop 1999) 로그 주변 가능도 ∑n=1Nlog⁡p(xn∣B,μ,σ2)\\sum_{n=1}^N \\log p(x_n \\mid B, \\mu, \\sigma^2)∑n=1N​logp(xn​∣B,μ,σ2)를 최대화하는 모수 해는 닫힌 형태로 정확히 풀립니다:\nμML=1N∑n=1Nxn\\mu_{ML} = \\frac{1}{N} \\sum_{n=1}^N x_nμML​=N1​∑n=1N​xn​ (표본 평균) σML2=1D−M∑j=M+1Dλj\\sigma_{ML}^2 = \\frac{1}{D - M} \\sum_{j=M+1}^D \\lambda_jσML2​=D−M1​∑j=M+1D​λj​ (버려진 D−MD-MD−M개 고유값의 산술 평균!) BML=UM(ΛM−σML2IM)1/2RB_{ML} = U_M (\\Lambda_M - \\sigma_{ML}^2 I_M)^{1/2} RBML​=UM​(ΛM​−σML2​IM​)1/2R UM∈RD×MU_M \\in \\mathbb{R}^{D \\times M}UM​∈RD×M: 공분산 SSS의 상위 MMM개 고유벡터 행렬 ΛM=diag(λ1,…,λM)\\Lambda_M = \\text{diag}(\\lambda_1, \\dots, \\lambda_M)ΛM​=diag(λ1​,…,λM​): 상위 MMM개 고유값 대각 행렬 R∈RM×MR \\in \\mathbb{R}^{M \\times M}R∈RM×M: 임의의 직교 회전 행렬 (RR⊤=IMR R^\\top = I_MRR⊤=IM​) 의미: 노이즈 분산의 MLE 추정량 σML2\\sigma_{ML}^2σML2​이 정확히 PCA에서 사영하며 버려진 잔여 고유값들의 평균으로 도출됩니다! 노이즈가 없는 극한(σ→0\\sigma \\to 0σ→0)에서는 BB⊤BB^\\topBB⊤가 데이터 공분산과 같아져 B=UMΛM1/2RB = U_M \\Lambda_M^{1/2} RB=UM​ΛM1/2​R이 됩니다(교재 식 (10.81)). BBB의 열은 고유벡터에 λ\\sqrt{\\lambda}λ​를 곱한 것이라 정규직교는 아니지만, 열공간이 PCA의 주부분공간과 같으므로 PPCA와 PCA가 같은 답을 줍니다.\n10.8 더 읽을거리 (Further Reading, 343쪽) PCA의 선형적 한계를 극복하고 현대 생성 모델로 나아가는 주요 확장 분야들입니다:\n커널 PCA (Kernel PCA): 10.5절의 고차원 PCA 트릭(N×NN \\times NN×N 그람 행렬 풀이)에 커널 트릭 k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩k(x_i, x_j) = \\langle \\phi(x_i), \\phi(x_j) \\ranglek(xi​,xj​)=⟨ϕ(xi​),ϕ(xj​)⟩을 적용하면, 데이터를 비선형 특징 공간으로 보낸 뒤 PCA를 수행할 수 있습니다. 스위스 롤(Swiss roll)처럼 꼬인 비선형 다양체(Manifold)를 성공적으로 펼쳐냅니다. 오토인코더 (Autoencoders)와의 동치성: 딥러닝의 오토인코더에서 인코더와 디코더의 활성화 함수를 모두 선형(Linear, f(x)=xf(x)=xf(x)=x)으로 설정하고 은닉층 뉴런 수를 MMM개로 두면, 복원 오차를 최소화하는 신경망의 최적 가중치 공간은 정확히 PCA가 생성하는 주부분공간과 수학적으로 동치가 됩니다. 가우스 과정 잠재 변수 모델 (GP-LVM): PPCA의 선형 변환 x=Bz+μx = Bz + \\mux=Bz+μ를 비선형 가우스 과정(Gaussian Process)으로 대체한 모델입니다. 인자 분석 (Factor Analysis, FA): PPCA는 모든 센서/특징의 노이즈 분산이 σ2I\\sigma^2 Iσ2I로 동일하다고 가정하지만, 인자 분석은 특징마다 서로 다른 노이즈 분산 Ψ=diag(σ12,…,σD2)\\Psi = \\text{diag}(\\sigma_1^2, \\dots, \\sigma_D^2)Ψ=diag(σ12​,…,σD2​)을 허용하는 일반화 모델입니다. 핵심 유도 모음 (시험 대비 백지 유도 연습) 시험장에서 백지에 직접 정확히 유도할 수 있어야 하는 10장의 7대 핵심 유도입니다.\n[유도 1] 제1 주성분의 분산 최대화와 라그랑주 승수법 [목표]\n중심화 데이터 공분산 행렬 SSS에 대해 제약 조건 b1⊤b1=1b_1^\\top b_1 = 1b1⊤​b1​=1 하에서 사영 분산 V1=b1⊤Sb1V_1 = b_1^\\top S b_1V1​=b1⊤​Sb1​을 최대화하는 벡터가 Sb1=λ1b1S b_1 = \\lambda_1 b_1Sb1​=λ1​b1​을 만족함을 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 V1=1N∑n=1N(b1⊤xn)2V_1 = \\frac{1}{N} \\sum_{n=1}^N (b_1^\\top x_n)^2V1​=N1​∑n=1N​(b1⊤​xn​)2 단위 벡터 b1b_1b1​ 위로 사영된 데이터의 표본 분산 정의 (평균은 0) 2 =1N∑n=1Nb1⊤xnxn⊤b1=b1⊤(1N∑n=1Nxnxn⊤)b1= \\frac{1}{N} \\sum_{n=1}^N b_1^\\top x_n x_n^\\top b_1 = b_1^\\top \\left( \\frac{1}{N} \\sum_{n=1}^N x_n x_n^\\top \\right) b_1=N1​∑n=1N​b1⊤​xn​xn⊤​b1​=b1⊤​(N1​∑n=1N​xn​xn⊤​)b1​ 스칼라 내적의 결합법칙 및 행렬 밖으로 b1b_1b1​ 인수분해 3 V1=b1⊤Sb1V_1 = b_1^\\top S b_1V1​=b1⊤​Sb1​ 표본 공분산 행렬 S=1N∑xnxn⊤S = \\frac{1}{N} \\sum x_n x_n^\\topS=N1​∑xn​xn⊤​의 정의 4 목적: max⁡b1b1⊤Sb1s.t.b1⊤b1−1=0\\max_{b_1} b_1^\\top S b_1 \\quad \\text{s.t.} \\quad b_1^\\top b_1 - 1 = 0maxb1​​b1⊤​Sb1​s.t.b1⊤​b1​−1=0 등식 제약 조건 하에서의 2차 형식 최대화 문제 정식화 5 L(b1,λ1)=b1⊤Sb1−λ1(b1⊤b1−1)\\mathfrak{L}(b_1, \\lambda_1) = b_1^\\top S b_1 - \\lambda_1 (b_1^\\top b_1 - 1)L(b1​,λ1​)=b1⊤​Sb1​−λ1​(b1⊤​b1​−1) 라그랑주 승수 λ1\\lambda_1λ1​을 도입한 라그랑지안 함수 구성 6 ∇b1(b1⊤Sb1)=2Sb1\\nabla_{b_1} (b_1^\\top S b_1) = 2 S b_1∇b1​​(b1⊤​Sb1​)=2Sb1​ 대칭 행렬 SSS에 대한 2차 형식 벡터 미분 공식 (∇xx⊤Ax=2Ax\\nabla_x x^\\top A x = 2Ax∇x​x⊤Ax=2Ax) 7 ∇b1(λ1b1⊤b1)=2λ1b1\\nabla_{b_1} (\\lambda_1 b_1^\\top b_1) = 2 \\lambda_1 b_1∇b1​​(λ1​b1⊤​b1​)=2λ1​b1​ 2차 형식 벡터 미분 공식 (A=IA = IA=I) 8 ∇b1L=2Sb1−2λ1b1=0\\nabla_{b_1} \\mathfrak{L} = 2 S b_1 - 2 \\lambda_1 b_1 = 0∇b1​​L=2Sb1​−2λ1​b1​=0 극대점에서의 1계 최적성 조건 (정류점) 9 Sb1=λ1b1S b_1 = \\lambda_1 b_1Sb1​=λ1​b1​ 양변을 2로 나누어 정리 (고유값 방정식 도출) 10 V1=b1⊤Sb1=b1⊤(λ1b1)=λ1(b1⊤b1)=λ1\\begin{aligned} V_1 \u0026amp;= b_1^\\top S b_1 = b_1^\\top (\\lambda_1 b_1) \\\\ \u0026amp;= \\lambda_1 (b_1^\\top b_1) = \\lambda_1 \\end{aligned}V1​​=b1⊤​Sb1​=b1⊤​(λ1​b1​)=λ1​(b1⊤​b1​)=λ1​​ 분산이 고유값과 같으므로 분산 최대화를 위해 최대 고유값 선택 ■\\blacksquare■ [유도 2] 사영 관점에서 최적 오프셋 b=μb = \\mub=μ 및 최적 좌표 유도 [목표]\n목적함수 J=1N∑∥xn−(b+Bzn)∥2J = \\frac{1}{N}\\sum \\|x_n - (b + Bz_n)\\|^2J=N1​∑∥xn​−(b+Bzn​)∥2를 최소화하는 최적 오프셋이 표본 평균 μ\\muμ이고, 최적 좌표가 zn=B⊤(xn−μ)z_n = B^\\top(x_n - \\mu)zn​=B⊤(xn​−μ)임을 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 J=1N∑n=1N∥xn−b−∑m=1Mznmbm∥2J = \\frac{1}{N} \\sum_{n=1}^N \\left\\| x_n - b - \\sum_{m=1}^M z_{nm} b_m \\right\\|^2J=N1​∑n=1N​​xn​−b−∑m=1M​znm​bm​​2 복원 벡터 x~n=b+∑znmbm\\tilde{x}_n = b + \\sum z_{nm} b_mx~n​=b+∑znm​bm​ 대입 2 ∂J∂znk=−2Nbk⊤(xn−b−∑m=1Mznmbm)\\frac{\\partial J}{\\partial z_{nk}} = -\\frac{2}{N} b_k^\\top \\left( x_n - b - \\sum_{m=1}^M z_{nm} b_m \\right)∂znk​∂J​=−N2​bk⊤​(xn​−b−∑m=1M​znm​bm​) 벡터 노름 제곱의 합성함수 미분법 (체인 룰) 3 bk⊤bm=δkm={1(k=m)0(k≠m)b_k^\\top b_m = \\delta_{km} = \\begin{cases} 1 \u0026amp; (k=m) \\\\ 0 \u0026amp; (k \\neq m) \\end{cases}bk⊤​bm​=δkm​={10​(k=m)(k=m)​ 기저 벡터들의 정규직교성 (B⊤B=IMB^\\top B = I_MB⊤B=IM​) 4 bk⊤(∑m=1Mznmbm)=znkb_k^\\top \\left( \\sum_{m=1}^M z_{nm} b_m \\right) = z_{nk}bk⊤​(∑m=1M​znm​bm​)=znk​ 내적의 선형성에 의해 m=km=km=k인 항만 남고 모두 소거 5 ∂J∂znk=−2N(bk⊤(xn−b)−znk)=0 ⟹ znk=bk⊤(xn−b)\\frac{\\partial J}{\\partial z_{nk}} = -\\frac{2}{N} \\left( b_k^\\top (x_n - b) - z_{nk} \\right) = 0 \\implies z_{nk} = b_k^\\top (x_n - b)∂znk​∂J​=−N2​(bk⊤​(xn​−b)−znk​)=0⟹znk​=bk⊤​(xn​−b) 도함수를 0으로 두어 최적 좌표 확정 6 ∂J∂b=−2N∑n=1N(xn−b−Bzn)=0\\frac{\\partial J}{\\partial b} = -\\frac{2}{N} \\sum_{n=1}^N (x_n - b - B z_n) = 0∂b∂J​=−N2​∑n=1N​(xn​−b−Bzn​)=0 목적함수를 오프셋 bbb에 대해 편미분 7 1N∑n=1Nxn−b−B(1N∑n=1Nzn)=0\\frac{1}{N}\\sum_{n=1}^N x_n - b - B \\left( \\frac{1}{N}\\sum_{n=1}^N z_n \\right) = 0N1​∑n=1N​xn​−b−B(N1​∑n=1N​zn​)=0 합 기호 분배 및 표본 평균 μ=1N∑xn,zˉ=1N∑zn\\mu = \\frac{1}{N}\\sum x_n, \\bar{z} = \\frac{1}{N}\\sum z_nμ=N1​∑xn​,zˉ=N1​∑zn​ 정의 8 zˉ=1N∑n=1NB⊤(xn−b)=B⊤(μ−b)\\bar{z} = \\frac{1}{N}\\sum_{n=1}^N B^\\top(x_n - b) = B^\\top(\\mu - b)zˉ=N1​∑n=1N​B⊤(xn​−b)=B⊤(μ−b) 최적 좌표 공식의 표본 평균 대입 9 μ−b−BB⊤(μ−b)=0 ⟺ (I−BB⊤)(μ−b)=0\\begin{gathered} \\mu - b - B B^\\top (\\mu - b) = 0 \\\\ \\iff (I - B B^\\top)(\\mu - b) = 0 \\end{gathered}μ−b−BB⊤(μ−b)=0⟺(I−BB⊤)(μ−b)=0​ 7단계 식에 zˉ\\bar{z}zˉ 대입 후 인수분해 10 b=μ=1N∑n=1Nxnb = \\mu = \\frac{1}{N} \\sum_{n=1}^N x_nb=μ=N1​∑n=1N​xn​ 모든 기저 선택에 대해 항상 성립하는 자명한 최적 오프셋 확정 ■\\blacksquare■ [유도 3] 재구성 오차 최소화와 분산 최대화의 동치성 증명 [목표]\n평균 재구성 오차 JM=1N∑∥xn−x~n∥2J_M = \\frac{1}{N}\\sum \\|x_n - \\tilde{x}_n\\|^2JM​=N1​∑∥xn​−x~n​∥2가 버려진 D−MD-MD−M개의 고유값의 합 ∑j=M+1Dλj\\sum_{j=M+1}^D \\lambda_j∑j=M+1D​λj​과 같음을 증명한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 RD\\mathbb{R}^DRD의 완전 정규직교 기저 (b1,…,bM,bM+1,…,bD)(b_1, \\dots, b_M, b_{M+1}, \\dots, b_D)(b1​,…,bM​,bM+1​,…,bD​) 설정 MMM차원 부분공간 기저와 (D−M)(D-M)(D−M)차원 직교 여공간 기저로 분할 2 xn−μ=∑d=1Dβndbd,βnd=bd⊤(xn−μ)x_n - \\mu = \\sum_{d=1}^D \\beta_{nd} b_d, \\quad \\beta_{nd} = b_d^\\top (x_n - \\mu)xn​−μ=∑d=1D​βnd​bd​,βnd​=bd⊤​(xn​−μ) 중심화 데이터를 완전 정규직교 기저로 전개 3 x~n−μ=∑m=1Mβnmbm\\tilde{x}_n - \\mu = \\sum_{m=1}^M \\beta_{nm} b_mx~n​−μ=∑m=1M​βnm​bm​ 복원 벡터는 앞쪽 MMM개의 기저 성분만 취함 4 xn−x~n=∑j=M+1Dβnjbjx_n - \\tilde{x}_n = \\sum_{j=M+1}^D \\beta_{nj} b_jxn​−x~n​=∑j=M+1D​βnj​bj​ 두 벡터의 차이는 버려진 뒤쪽 D−MD-MD−M개 기저의 선형 결합 5 ∥xn−x~n∥2=∥∑j=M+1Dβnjbj∥2=∑j=M+1Dβnj2\\|x_n - \\tilde{x}_n\\|^2 = \\left\\| \\sum_{j=M+1}^D \\beta_{nj} b_j \\right\\|^2 = \\sum_{j=M+1}^D \\beta_{nj}^2∥xn​−x~n​∥2=​∑j=M+1D​βnj​bj​​2=∑j=M+1D​βnj2​ 피타고라스 정리 및 기저의 정규직교성 (∥bj∥=1,bj⊥bk\\|b_j\\|=1, b_j \\perp b_k∥bj​∥=1,bj​⊥bk​) 6 JM=1N∑n=1N∑j=M+1D(bj⊤(xn−μ))2J_M = \\frac{1}{N} \\sum_{n=1}^N \\sum_{j=M+1}^D (b_j^\\top (x_n - \\mu))^2JM​=N1​∑n=1N​∑j=M+1D​(bj⊤​(xn​−μ))2 계수 βnj=bj⊤(xn−μ)\\beta_{nj} = b_j^\\top (x_n - \\mu)βnj​=bj⊤​(xn​−μ) 대입 7 =∑j=M+1Dbj⊤(1N∑n=1N(xn−μ)(xn−μ)⊤)bj= \\sum_{j=M+1}^D b_j^\\top \\left( \\frac{1}{N} \\sum_{n=1}^N (x_n - \\mu)(x_n - \\mu)^\\top \\right) b_j=∑j=M+1D​bj⊤​(N1​∑n=1N​(xn​−μ)(xn​−μ)⊤)bj​ 합 순서 교환 및 bjb_jbj​ 밖으로 인수분해 8 JM=∑j=M+1Dbj⊤SbjJ_M = \\sum_{j=M+1}^D b_j^\\top S b_jJM​=∑j=M+1D​bj⊤​Sbj​ 표본 공분산 행렬 SSS의 정의 대입 9 제약 조건 bj⊤bk=δjkb_j^\\top b_k = \\delta_{jk}bj⊤​bk​=δjk​ 하에서 최소화 ⟹ Sbj=λjbj\\implies S b_j = \\lambda_j b_j⟹Sbj​=λj​bj​ [유도 1]의 라그랑주 승수법 결과에 의해 bjb_jbj​는 SSS의 고유벡터 10 JM=∑j=M+1DλjJ_M = \\sum_{j=M+1}^D \\lambda_jJM​=∑j=M+1D​λj​ 오차 최소화를 위해 가장 작은 D−MD-MD−M개의 고유값을 버려야 하므로, 보존되는 MMM개는 가장 큰 고유값이어야 함 ■\\blacksquare■ [유도 4] SVD를 통한 공분산 분해 및 Eckart-Young 최적 근사 증명 [목표]\n중심화 데이터 X=UΣV⊤X = U \\Sigma V^\\topX=UΣV⊤로부터 S=1NUΣΣ⊤U⊤S = \\frac{1}{N} U \\Sigma \\Sigma^\\top U^\\topS=N1​UΣΣ⊤U⊤를 보이고, PCA 복원 행렬이 최적 계수 MMM 근사 X~M=UMΣMVM⊤\\tilde{X}_M = U_M \\Sigma_M V_M^\\topX~M​=UM​ΣM​VM⊤​임을 증명한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 X=UΣV⊤X = U \\Sigma V^\\topX=UΣV⊤ 중심화 데이터 행렬 X∈RD×NX \\in \\mathbb{R}^{D \\times N}X∈RD×N의 특이값 분해 (SVD) 정의 2 S=1NXX⊤=1N(UΣV⊤)(UΣV⊤)⊤S = \\frac{1}{N} X X^\\top = \\frac{1}{N} (U \\Sigma V^\\top)(U \\Sigma V^\\top)^\\topS=N1​XX⊤=N1​(UΣV⊤)(UΣV⊤)⊤ 표본 공분산 행렬 SSS의 정의 3 =1NUΣV⊤VΣ⊤U⊤= \\frac{1}{N} U \\Sigma V^\\top V \\Sigma^\\top U^\\top=N1​UΣV⊤VΣ⊤U⊤ 전치 행렬 곱셈 법칙 ((ABC)⊤=C⊤B⊤A⊤(ABC)^\\top = C^\\top B^\\top A^\\top(ABC)⊤=C⊤B⊤A⊤) 4 =1NUΣINΣ⊤U⊤=U(1NΣΣ⊤)U⊤= \\frac{1}{N} U \\Sigma I_N \\Sigma^\\top U^\\top = U \\left( \\frac{1}{N} \\Sigma \\Sigma^\\top \\right) U^\\top=N1​UΣIN​Σ⊤U⊤=U(N1​ΣΣ⊤)U⊤ VVV의 직교성 (V⊤V=INV^\\top V = I_NV⊤V=IN​) 적용 5 1NΣΣ⊤=diag(σ12/N,…,σD2/N)\\frac{1}{N} \\Sigma \\Sigma^\\top = \\text{diag}(\\sigma_1^2/N, \\dots, \\sigma_D^2/N)N1​ΣΣ⊤=diag(σ12​/N,…,σD2​/N) 직사각형 대각행렬 Σ\\SigmaΣ의 거듭제곱 대각성 6 SU=UΛ ⟹ Sud=(σd2/N)udS U = U \\Lambda \\implies S u_d = (\\sigma_d^2/N) u_dSU=UΛ⟹Sud​=(σd2​/N)ud​ SSS의 고유벡터가 UUU의 열벡터 udu_dud​이고 고유값이 λd=σd2/N\\lambda_d = \\sigma_d^2/Nλd​=σd2​/N임이 증명됨 7 PCA 기저 행렬 B=UM∈RD×MB = U_M \\in \\mathbb{R}^{D \\times M}B=UM​∈RD×M 상위 MMM개의 고유벡터 선택 8 사영 및 복원 데이터 행렬: X~=BB⊤X=UMUM⊤(UΣV⊤)\\tilde{X} = B B^\\top X = U_M U_M^\\top (U \\Sigma V^\\top)X~=BB⊤X=UM​UM⊤​(UΣV⊤) PCA 복원 수식 대입 9 UM⊤U=[IM 0]∈RM×DU_M^\\top U = [I_M \\;\\; 0] \\in \\mathbb{R}^{M \\times D}UM⊤​U=[IM​0]∈RM×D UUU의 열벡터들의 정규직교성 (ui⊤uj=δiju_i^\\top u_j = \\delta_{ij}ui⊤​uj​=δij​) 10 X~=UM[IM 0]ΣV⊤=UMΣMVM⊤=X~M\\tilde{X} = U_M [I_M \\;\\; 0] \\Sigma V^\\top = U_M \\Sigma_M V_M^\\top = \\tilde{X}_MX~=UM​[IM​0]ΣV⊤=UM​ΣM​VM⊤​=X~M​ 에카르트-영 정리의 최적 계수 MMM 절단 SVD 근사와 완전히 일치 ■\\blacksquare■ [유도 5] 고차원 데이터 (N\u0026lt;DN \u0026lt; DN\u0026lt;D)에서의 그람 행렬 고유값 트릭 [목표]\nN×NN \\times NN×N 행렬 1NX⊤Xcm=λmcm\\frac{1}{N}X^\\top X c_m = \\lambda_m c_mN1​X⊤Xcm​=λm​cm​으로부터 SSS의 단위 고유벡터 bm=1NλmXcmb_m = \\frac{1}{\\sqrt{N\\lambda_m}} X c_mbm​=Nλm​​1​Xcm​을 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 1NX⊤Xcm=λmcm(cm⊤cm=1)\\frac{1}{N} X^\\top X c_m = \\lambda_m c_m \\quad (c_m^\\top c_m = 1)N1​X⊤Xcm​=λm​cm​(cm⊤​cm​=1) N×NN \\times NN×N 그람 행렬 K=1NX⊤XK = \\frac{1}{N}X^\\top XK=N1​X⊤X의 고유값 문제 정의 2 X(1NX⊤Xcm)=X(λmcm)X \\left( \\frac{1}{N} X^\\top X c_m \\right) = X (\\lambda_m c_m)X(N1​X⊤Xcm​)=X(λm​cm​) 양변 왼쪽에 D×ND \\times ND×N 데이터 행렬 XXX를 곱함 3 (1NXX⊤)(Xcm)=λm(Xcm)\\left( \\frac{1}{N} X X^\\top \\right) (X c_m) = \\lambda_m (X c_m)(N1​XX⊤)(Xcm​)=λm​(Xcm​) 스칼라 및 행렬 곱셈의 결합법칙 적용 4 S(Xcm)=λm(Xcm)S (X c_m) = \\lambda_m (X c_m)S(Xcm​)=λm​(Xcm​) D×DD \\times DD×D 공분산 행렬 S=1NXX⊤S = \\frac{1}{N}XX^\\topS=N1​XX⊤의 정의 대입 5 bm∝Xcmb_m \\propto X c_mbm​∝Xcm​ XcmX c_mXcm​이 행렬 SSS의 고유값 λm\\lambda_mλm​에 대응하는 고유벡터임이 증명됨 6 bm=αmXcmb_m = \\alpha_m X c_mbm​=αm​Xcm​ 단위 벡터로 만들기 위한 스케일링 상수 αm\\alpha_mαm​ 설정 7 bm⊤bm=(αmXcm)⊤(αmXcm)=αm2cm⊤X⊤Xcm=1\\begin{aligned} b_m^\\top b_m \u0026amp;= (\\alpha_m X c_m)^\\top (\\alpha_m X c_m) \\\\ \u0026amp;= \\alpha_m^2 c_m^\\top X^\\top X c_m = 1 \\end{aligned}bm⊤​bm​​=(αm​Xcm​)⊤(αm​Xcm​)=αm2​cm⊤​X⊤Xcm​=1​ 단위 노름 제약 조건 ∥bm∥2=1\\|b_m\\|^2 = 1∥bm​∥2=1 적용 8 X⊤Xcm=NλmcmX^\\top X c_m = N \\lambda_m c_mX⊤Xcm​=Nλm​cm​ 1단계의 고유값 식에 양변 NNN을 곱한 결과 9 αm2cm⊤(Nλmcm)=αm2Nλm(cm⊤cm)=αm2Nλm=1\\alpha_m^2 c_m^\\top (N \\lambda_m c_m) = \\alpha_m^2 N \\lambda_m (c_m^\\top c_m) = \\alpha_m^2 N \\lambda_m = 1αm2​cm⊤​(Nλm​cm​)=αm2​Nλm​(cm⊤​cm​)=αm2​Nλm​=1 cmc_mcm​의 정규직교성 (cm⊤cm=1c_m^\\top c_m = 1cm⊤​cm​=1) 대입 10 αm=1Nλm ⟹ bm=1NλmXcm\\alpha_m = \\frac{1}{\\sqrt{N\\lambda_m}} \\implies b_m = \\frac{1}{\\sqrt{N\\lambda_m}} X c_mαm​=Nλm​​1​⟹bm​=Nλm​​1​Xcm​ 최종 정규화된 고유벡터 공식 확정 ■\\blacksquare■ [유도 6] PPCA 주변 가능도 p(x)p(x)p(x) 및 결합 분포 유도 [목표]\nz∼N(0,IM)z \\sim \\mathcal{N}(0, I_M)z∼N(0,IM​)과 x=Bz+μ+ϵx = Bz + \\mu + \\epsilonx=Bz+μ+ϵ, ϵ∼N(0,σ2ID)\\epsilon \\sim \\mathcal{N}(0, \\sigma^2 I_D)ϵ∼N(0,σ2ID​)로부터 p(x)=N(μ,BB⊤+σ2ID)p(x) = \\mathcal{N}(\\mu, BB^\\top + \\sigma^2 I_D)p(x)=N(μ,BB⊤+σ2ID​)를 유도한다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 p(z)=N(z∣0,IM)p(z) = \\mathcal{N}(z \\mid 0, I_M)p(z)=N(z∣0,IM​) 가우시안 잠재 변수 사전분포의 정의 2 x=Bz+μ+ϵ,ϵ∼N(0,σ2ID),z⊥ϵx = B z + \\mu + \\epsilon, \\quad \\epsilon \\sim \\mathcal{N}(0, \\sigma^2 I_D), \\quad z \\perp \\epsilonx=Bz+μ+ϵ,ϵ∼N(0,σ2ID​),z⊥ϵ 선형 관측 생성 모델 및 독립 가우시안 잡음 정의 3 p(x∣B,μ,σ2)=∫p(x∣z)p(z)dzp(x \\mid B, \\mu, \\sigma^2) = \\int p(x \\mid z) p(z) dzp(x∣B,μ,σ2)=∫p(x∣z)p(z)dz 결합분포로부터 잠재 변수 zzz 적분 소거 (Marginalization) 4 가우시안 변수 z,ϵz, \\epsilonz,ϵ의 아핀 결합이므로 xxx의 주변분포 역시 가우시안 정규분포의 선형 사상 닫힘성 5 E[x]=BE[z]+μ+E[ϵ]=B(0)+μ+0=μ\\mathbb{E}[x] = B \\mathbb{E}[z] + \\mu + \\mathbb{E}[\\epsilon] = B(0) + \\mu + 0 = \\muE[x]=BE[z]+μ+E[ϵ]=B(0)+μ+0=μ 기댓값 연산자의 선형성 적용 6 Cov[x]=Cov[Bz+μ+ϵ]=Cov[Bz]+Cov[ϵ]\\text{Cov}[x] = \\text{Cov}[B z + \\mu + \\epsilon] = \\text{Cov}[B z] + \\text{Cov}[\\epsilon]Cov[x]=Cov[Bz+μ+ϵ]=Cov[Bz]+Cov[ϵ] zzz와 ϵ\\epsilonϵ의 독립성에 의해 교차 공분산이 0 7 Cov[Bz]=BCov[z]B⊤=BIMB⊤=BB⊤\\text{Cov}[Bz] = B \\text{Cov}[z] B^\\top = B I_M B^\\top = B B^\\topCov[Bz]=BCov[z]B⊤=BIM​B⊤=BB⊤ 다변량 공분산 선형 사상 공식 (Cov[AX]=ACov[X]A⊤\\text{Cov}[A X] = A \\text{Cov}[X] A^\\topCov[AX]=ACov[X]A⊤) 8 Cov[ϵ]=σ2ID\\text{Cov}[\\epsilon] = \\sigma^2 I_DCov[ϵ]=σ2ID​ 등방성 가우시안 노이즈 공분산 대입 9 C:=Cov[x]=BB⊤+σ2IDC := \\text{Cov}[x] = B B^\\top + \\sigma^2 I_DC:=Cov[x]=BB⊤+σ2ID​ 두 공분산 합산 10 p(x∣B,μ,σ2)=N(x∣μ, BB⊤+σ2ID)p(x \\mid B, \\mu, \\sigma^2) = \\mathcal{N}(x \\mid \\mu, \\; B B^\\top + \\sigma^2 I_D)p(x∣B,μ,σ2)=N(x∣μ,BB⊤+σ2ID​) 기댓값과 공분산을 가우시안 밀도함수에 결합 ■\\blacksquare■ [유도 7] PPCA 사후분포 p(z∣x)p(z \\mid x)p(z∣x)의 Woodbury 역행렬 변환 및 극한 [목표]\nm=B⊤(BB⊤+σ2I)−1(x−μ)m = B^\\top(BB^\\top + \\sigma^2 I)^{-1}(x-\\mu)m=B⊤(BB⊤+σ2I)−1(x−μ)가 (B⊤B+σ2I)−1B⊤(x−μ)(B^\\top B + \\sigma^2 I)^{-1}B^\\top(x-\\mu)(B⊤B+σ2I)−1B⊤(x−μ)와 같음을 증명하고, σ2→0\\sigma^2 \\to 0σ2→0일 때 (B⊤B)−1B⊤(x−μ)(B^\\top B)^{-1}B^\\top(x-\\mu)(B⊤B)−1B⊤(x−μ)(직교 사영의 좌표)로 수렴함을 보인다.\n번호 수식 전개 단계 이 단계가 성립하는 이유 (수학적 근거) 1 m=B⊤(BB⊤+σ2ID)−1(x−μ)m = B^\\top (B B^\\top + \\sigma^2 I_D)^{-1} (x - \\mu)m=B⊤(BB⊤+σ2ID​)−1(x−μ) 결합 가우시안 조건부 평균 기본 공식 2 목표: B⊤(BB⊤+σ2ID)−1≡(B⊤B+σ2IM)−1B⊤B^\\top (B B^\\top + \\sigma^2 I_D)^{-1} \\equiv (B^\\top B + \\sigma^2 I_M)^{-1} B^\\topB⊤(BB⊤+σ2ID​)−1≡(B⊤B+σ2IM​)−1B⊤ D×DD \\times DD×D 역행렬을 M×MM \\times MM×M 역행렬로 축소하는 행렬 항등식 3 (BB⊤+σ2ID)B=B(B⊤B)+σ2B=B(B⊤B+σ2IM)(B B^\\top + \\sigma^2 I_D) B = B (B^\\top B) + \\sigma^2 B = B (B^\\top B + \\sigma^2 I_M)(BB⊤+σ2ID​)B=B(B⊤B)+σ2B=B(B⊤B+σ2IM​) 양변에 BBB를 곱하여 괄호 분배 (교환성 확인) 4 양변 왼쪽에 (BB⊤+σ2ID)−1(B B^\\top + \\sigma^2 I_D)^{-1}(BB⊤+σ2ID​)−1을 곱함: B=(BB⊤+σ2ID)−1B(B⊤B+σ2IM)B = (B B^\\top + \\sigma^2 I_D)^{-1} B (B^\\top B + \\sigma^2 I_M)B=(BB⊤+σ2ID​)−1B(B⊤B+σ2IM​) 역행렬 상쇄 법칙 5 양변 오른쪽에 (B⊤B+σ2IM)−1(B^\\top B + \\sigma^2 I_M)^{-1}(B⊤B+σ2IM​)−1을 곱함: B(B⊤B+σ2IM)−1=(BB⊤+σ2ID)−1BB (B^\\top B + \\sigma^2 I_M)^{-1} = (B B^\\top + \\sigma^2 I_D)^{-1} BB(B⊤B+σ2IM​)−1=(BB⊤+σ2ID​)−1B 푸시스루 항등식(Push-through Identity) 성립 6 양변에 전치(Transpose)를 취함: ((B⊤B+σ2IM)−1)⊤B⊤=B⊤((BB⊤+σ2ID)−1)⊤\\left( (B^\\top B + \\sigma^2 I_M)^{-1} \\right)^\\top B^\\top = B^\\top \\left( (B B^\\top + \\sigma^2 I_D)^{-1} \\right)^\\top((B⊤B+σ2IM​)−1)⊤B⊤=B⊤((BB⊤+σ2ID​)−1)⊤ 전치 행렬 곱셈 법칙 7 (B⊤B+σ2IM)−1B⊤=B⊤(BB⊤+σ2ID)−1(B^\\top B + \\sigma^2 I_M)^{-1} B^\\top = B^\\top (B B^\\top + \\sigma^2 I_D)^{-1}(B⊤B+σ2IM​)−1B⊤=B⊤(BB⊤+σ2ID​)−1 대칭 행렬의 역행렬은 대칭이므로 전치 기호 제거 (증명 완료) 8 m=(B⊤B+σ2IM)−1B⊤(x−μ)m = (B^\\top B + \\sigma^2 I_M)^{-1} B^\\top (x - \\mu)m=(B⊤B+σ2IM​)−1B⊤(x−μ) 1단계 식에 7단계 항등식을 대입 9 lim⁡σ2→0m=(B⊤B+0)−1B⊤(x−μ)=(B⊤B)−1B⊤(x−μ)\\lim_{\\sigma^2 \\to 0} m = (B^\\top B + 0)^{-1} B^\\top (x - \\mu) = (B^\\top B)^{-1} B^\\top (x - \\mu)limσ2→0​m=(B⊤B+0)−1B⊤(x−μ)=(B⊤B)−1B⊤(x−μ) 노이즈 분산이 0으로 가는 극한 취함 10 Bm=B(B⊤B)−1B⊤(x−μ)Bm = B(B^\\top B)^{-1} B^\\top (x - \\mu)Bm=B(B⊤B)−1B⊤(x−μ) 복원한 점은 BBB의 열공간(= PCA 주부분공간)으로의 직교 사영이라 PCA 복원과 같다. 좌표 mmm이 PCA 좌표와 숫자까지 같은 것은 B⊤B=IMB^\\top B = I_MB⊤B=IM​일 때뿐이다 ■\\blacksquare■ 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. PCA를 한 문장으로 설명하고, 왜 공분산 행렬의 고유벡터가 답인지 말해 보세요. \u0026ldquo;데이터를 가장 넓게 퍼져 보이는 방향 몇 개로 사영해 차원을 줄이는 방법입니다. 단위 벡터 bbb로 사영한 분산은 b⊤Sbb^\\top Sbb⊤Sb이고, ∥b∥=1\\|b\\|=1∥b∥=1 제약에서 라그랑주 승수법을 쓰면 Sb=λbSb=\\lambda bSb=λb가 나옵니다. 그때 분산이 λ\\lambdaλ 자체이므로 가장 큰 고유값의 고유벡터가 제1 주성분입니다. 다음 주성분은 앞의 것과 직교한다는 제약을 더하면 같은 방식으로 다음 고유벡터가 됩니다.\u0026rdquo;\nQ. 분산 최대화와 재구성 오차 최소화가 같은 답을 주는 이유는? \u0026ldquo;정규직교 기저로 전개하면, 중심화한 데이터의 제곱 길이가 남긴 성분과 버린 성분으로 피타고라스처럼 나뉩니다. 전체는 고정이므로 남긴 분산을 키우는 것과 버린 오차를 줄이는 것이 같습니다. 식으로는 재구성 오차가 JM=∑j\u0026gt;MλjJ_M=\\sum_{j\u0026gt;M}\\lambda_jJM​=∑j\u0026gt;M​λj​, 버린 고유값의 합입니다.\u0026rdquo;\nQ. PCA와 SVD는 어떤 관계인가요? \u0026ldquo;중심화한 데이터 행렬을 X=UΣV⊤X=U\\Sigma V^\\topX=UΣV⊤로 분해하면 S=1NXX⊤=UΣΣ⊤NU⊤S=\\frac1N XX^\\top=U\\frac{\\Sigma\\Sigma^\\top}{N}U^\\topS=N1​XX⊤=UNΣΣ⊤​U⊤이라, 왼쪽 특이벡터가 주성분이고 λd=σd2/N\\lambda_d=\\sigma_d^2/Nλd​=σd2​/N입니다. 상위 MMM개로 복원한 행렬은 절단 SVD UMΣMVM⊤U_M\\Sigma_MV_M^\\topUM​ΣM​VM⊤​와 같고, Eckart–Young 정리에 따라 계수 MMM 이하 행렬 중 가장 가까운 근사입니다.\u0026rdquo;\nQ. 데이터 수가 차원보다 훨씬 적으면 어떻게 계산하나요? \u0026ldquo;D×DD\\times DD×D 공분산 대신 N×NN\\times NN×N 행렬 1NX⊤X\\frac1N X^\\top XN1​X⊤X의 고유벡터 ccc를 구합니다. 양변에 XXX를 곱하면 XcXcXc가 SSS의 고유벡터가 되고 고유값도 같습니다. 길이를 1로 맞추려면 b=Xc/Nλb=Xc/\\sqrt{N\\lambda}b=Xc/Nλ​로 나눕니다.\u0026rdquo;\nQ. 실제로 PCA를 할 때 전처리는? \u0026ldquo;평균을 빼서 중심화하고, 변수마다 단위가 다르면 표준편차로 나눠 표준화합니다. 표준화하지 않으면 소득(원)처럼 숫자가 큰 변수 하나가 제1 주성분을 독차지합니다. 새 데이터에도 훈련 데이터의 평균과 표준편차를 그대로 씁니다.\u0026rdquo;\nQ. 확률적 PCA(PPCA)는 무엇이고 일반 PCA와 어떻게 연결되나요? \u0026ldquo;z∼N(0,I)z\\sim\\mathcal N(0,I)z∼N(0,I), x=Bz+μ+ϵx=Bz+\\mu+\\epsilonx=Bz+μ+ϵ, ϵ∼N(0,σ2I)\\epsilon\\sim\\mathcal N(0,\\sigma^2I)ϵ∼N(0,σ2I)인 생성 모델입니다. zzz를 적분하면 x∼N(μ,BB⊤+σ2I)x\\sim\\mathcal N(\\mu,BB^\\top+\\sigma^2I)x∼N(μ,BB⊤+σ2I)이고, 관측에서 zzz의 사후분포도 가우시안이라 불확실성을 함께 얻습니다. 최대가능도 해에서 잡음 분산은 버린 고유값의 평균이고, σ→0\\sigma\\to0σ→0이면 BBB의 열공간이 PCA 주부분공간과 같아집니다. 새 데이터를 생성할 수 있다는 점이 일반 PCA와 다릅니다.\u0026rdquo;\n연습문제 확인 문제 (계산형 및 개념형 10제 — 상세 해설 및 풀이 수록) [문제 1] (계산형) 2차원 데이터셋의 공분산 행렬 및 PCA 전체 계산 다음 3개의 2차원 데이터 포인트가 주어졌습니다: x1=[12],x2=[21],x3=[33]x_1 = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix}, \\quad x_2 = \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix}, \\quad x_3 = \\begin{bmatrix} 3 \\\\ 3 \\end{bmatrix}x1​=[12​],x2​=[21​],x3​=[33​] 표본 평균 μ\\muμ와 중심화 데이터 행렬 XcX_cXc​를 구하시오. 표본 공분산 행렬 S=13XcXc⊤S = \\frac{1}{3}X_c X_c^\\topS=31​Xc​Xc⊤​을 계산하시오. SSS의 고유값 λ1,λ2\\lambda_1, \\lambda_2λ1​,λ2​와 단위 고유벡터 b1,b2b_1, b_2b1​,b2​를 구하시오. M=1M=1M=1로 차원 축소할 때, 제1 주성분이 설명하는 분산 비율을 구하시오. [정답 및 풀이]\nμ=13([12]+[21]+[33])=13[66]=[22]\\mu = \\frac{1}{3} \\left( \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix} + \\begin{bmatrix} 3 \\\\ 3 \\end{bmatrix} \\right) = \\frac{1}{3} \\begin{bmatrix} 6 \\\\ 6 \\end{bmatrix} = \\begin{bmatrix} 2 \\\\ 2 \\end{bmatrix}μ=31​([12​]+[21​]+[33​])=31​[66​]=[22​] x1−μ=[−1,0]⊤x_1 - \\mu = [-1, 0]^\\topx1​−μ=[−1,0]⊤ x2−μ=[0,−1]⊤x_2 - \\mu = [0, -1]^\\topx2​−μ=[0,−1]⊤ x3−μ=[1,1]⊤x_3 - \\mu = [1, 1]^\\topx3​−μ=[1,1]⊤ Xc=[−1010−11]X_c = \\begin{bmatrix} -1 \u0026amp; 0 \u0026amp; 1 \\\\ 0 \u0026amp; -1 \u0026amp; 1 \\end{bmatrix}Xc​=[−10​0−1​11​] S=13XcXc⊤=13[−1010−11][−100−111]=13[1+0+10+0+10+0+10+1+1]=13[2112]S = \\frac{1}{3} X_c X_c^\\top = \\frac{1}{3} \\begin{bmatrix} -1 \u0026amp; 0 \u0026amp; 1 \\\\ 0 \u0026amp; -1 \u0026amp; 1 \\end{bmatrix} \\begin{bmatrix} -1 \u0026amp; 0 \\\\ 0 \u0026amp; -1 \\\\ 1 \u0026amp; 1 \\end{bmatrix} = \\frac{1}{3} \\begin{bmatrix} 1+0+1 \u0026amp; 0+0+1 \\\\ 0+0+1 \u0026amp; 0+1+1 \\end{bmatrix} = \\frac{1}{3} \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 2 \\end{bmatrix}S=31​Xc​Xc⊤​=31​[−10​0−1​11​]​−101​0−11​​=31​[1+0+10+0+1​0+0+10+1+1​]=31​[21​12​] det⁡(S−λI)=(23−λ)2−(13)2=0 ⟺ 23−λ=±13\\det(S - \\lambda I) = \\left( \\frac{2}{3} - \\lambda \\right)^2 - \\left(\\frac{1}{3}\\right)^2 = 0 \\iff \\frac{2}{3} - \\lambda = \\pm \\frac{1}{3}det(S−λI)=(32​−λ)2−(31​)2=0⟺32​−λ=±31​ λ1=23+13=1\\lambda_1 = \\frac{2}{3} + \\frac{1}{3} = 1λ1​=32​+31​=1 (최대 고유값) λ2=23−13=13\\lambda_2 = \\frac{2}{3} - \\frac{1}{3} = \\frac{1}{3}λ2​=32​−31​=31​ 고유벡터: λ1=1\\lambda_1 = 1λ1​=1: (S−I)v=[−1/31/31/3−1/3]v=0 ⟹ v1=v2 ⟹ b1=12[11](S - I)v = \\begin{bmatrix} -1/3 \u0026amp; 1/3 \\\\ 1/3 \u0026amp; -1/3 \\end{bmatrix} v = 0 \\implies v_1 = v_2 \\implies b_1 = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}(S−I)v=[−1/31/3​1/3−1/3​]v=0⟹v1​=v2​⟹b1​=2​1​[11​] λ2=1/3\\lambda_2 = 1/3λ2​=1/3: (S−13I)v=[1/31/31/31/3]v=0 ⟹ v2=−v1 ⟹ b2=12[−11](S - \\frac{1}{3}I)v = \\begin{bmatrix} 1/3 \u0026amp; 1/3 \\\\ 1/3 \u0026amp; 1/3 \\end{bmatrix} v = 0 \\implies v_2 = -v_1 \\implies b_2 = \\frac{1}{\\sqrt{2}} \\begin{bmatrix} -1 \\\\ 1 \\end{bmatrix}(S−31​I)v=[1/31/3​1/31/3​]v=0⟹v2​=−v1​⟹b2​=2​1​[−11​] 총 분산: Tr(S)=2/3+2/3=4/3=λ1+λ2=1+1/3=4/3\\text{Tr}(S) = 2/3 + 2/3 = 4/3 = \\lambda_1 + \\lambda_2 = 1 + 1/3 = 4/3Tr(S)=2/3+2/3=4/3=λ1​+λ2​=1+1/3=4/3 설명된 분산 비율: λ1λ1+λ2=14/3=34=75%\\frac{\\lambda_1}{\\lambda_1 + \\lambda_2} = \\frac{1}{4/3} = \\frac{3}{4} = 75\\%λ1​+λ2​λ1​​=4/31​=43​=75% [문제 2] (계산형) 잠재 좌표 사영 및 재구성 오차 검산 [문제 1]의 결과를 바탕으로 M=1M=1M=1 PCA를 적용할 때:\n세 점의 1차원 잠재 좌표 z1,z2,z3z_1, z_2, z_3z1​,z2​,z3​을 구하고, 이들의 표본 분산이 λ1=1\\lambda_1 = 1λ1​=1과 일치함을 검증하시오. 2차원 복원 벡터 x~1,x~2,x~3\\tilde{x}_1, \\tilde{x}_2, \\tilde{x}_3x~1​,x~2​,x~3​을 구하시오. 평균 제곱 재구성 오차 J1J_1J1​을 계산하고, 이것이 λ2=1/3\\lambda_2 = 1/3λ2​=1/3과 일치함을 검증하시오. [정답 및 풀이]\nzn=b1⊤(xn−μ)=12[1,1](xn−μ)z_n = b_1^\\top (x_n - \\mu) = \\frac{1}{\\sqrt{2}}[1, 1](x_n - \\mu)zn​=b1⊤​(xn​−μ)=2​1​[1,1](xn​−μ): z1=12(−1+0)=−12z_1 = \\frac{1}{\\sqrt{2}} (-1 + 0) = -\\frac{1}{\\sqrt{2}}z1​=2​1​(−1+0)=−2​1​ z2=12(0−1)=−12z_2 = \\frac{1}{\\sqrt{2}} (0 - 1) = -\\frac{1}{\\sqrt{2}}z2​=2​1​(0−1)=−2​1​ z3=12(1+1)=22=2z_3 = \\frac{1}{\\sqrt{2}} (1 + 1) = \\frac{2}{\\sqrt{2}} = \\sqrt{2}z3​=2​1​(1+1)=2​2​=2​ 분산 검산: 13∑n=13zn2=13((−12)2+(−12)2+(2)2)=13(12+12+2)=13(3)=1=λ1(일치!)\\frac{1}{3} \\sum_{n=1}^3 z_n^2 = \\frac{1}{3} \\left( \\left(-\\frac{1}{\\sqrt{2}}\\right)^2 + \\left(-\\frac{1}{\\sqrt{2}}\\right)^2 + (\\sqrt{2})^2 \\right) = \\frac{1}{3} \\left( \\frac{1}{2} + \\frac{1}{2} + 2 \\right) = \\frac{1}{3} (3) = 1 = \\lambda_1 \\quad (\\text{일치!})31​∑n=13​zn2​=31​((−2​1​)2+(−2​1​)2+(2​)2)=31​(21​+21​+2)=31​(3)=1=λ1​(일치!) x~n=μ+b1zn\\tilde{x}_n = \\mu + b_1 z_nx~n​=μ+b1​zn​: x~1=[22]+12[11](−12)=[22]+[−0.5−0.5]=[1.51.5]\\tilde{x}_1 = \\begin{bmatrix} 2 \\\\ 2 \\end{bmatrix} + \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} \\left(-\\frac{1}{\\sqrt{2}}\\right) = \\begin{bmatrix} 2 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} -0.5 \\\\ -0.5 \\end{bmatrix} = \\begin{bmatrix} 1.5 \\\\ 1.5 \\end{bmatrix}x~1​=[22​]+2​1​[11​](−2​1​)=[22​]+[−0.5−0.5​]=[1.51.5​] x~2=[22]+[−0.5−0.5]=[1.51.5]\\tilde{x}_2 = \\begin{bmatrix} 2 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} -0.5 \\\\ -0.5 \\end{bmatrix} = \\begin{bmatrix} 1.5 \\\\ 1.5 \\end{bmatrix}x~2​=[22​]+[−0.5−0.5​]=[1.51.5​] x~3=[22]+12[11](2)=[22]+[11]=[33]\\tilde{x}_3 = \\begin{bmatrix} 2 \\\\ 2 \\end{bmatrix} + \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} (\\sqrt{2}) = \\begin{bmatrix} 2 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} = \\begin{bmatrix} 3 \\\\ 3 \\end{bmatrix}x~3​=[22​]+2​1​[11​](2​)=[22​]+[11​]=[33​] 재구성 오차 제곱: ∥x1−x~1∥2=(1−1.5)2+(2−1.5)2=0.25+0.25=0.5\\|x_1 - \\tilde{x}_1\\|^2 = (1 - 1.5)^2 + (2 - 1.5)^2 = 0.25 + 0.25 = 0.5∥x1​−x~1​∥2=(1−1.5)2+(2−1.5)2=0.25+0.25=0.5 ∥x2−x~2∥2=(2−1.5)2+(1−1.5)2=0.25+0.25=0.5\\|x_2 - \\tilde{x}_2\\|^2 = (2 - 1.5)^2 + (1 - 1.5)^2 = 0.25 + 0.25 = 0.5∥x2​−x~2​∥2=(2−1.5)2+(1−1.5)2=0.25+0.25=0.5 ∥x3−x~3∥2=(3−3)2+(3−3)2=0\\|x_3 - \\tilde{x}_3\\|^2 = (3 - 3)^2 + (3 - 3)^2 = 0∥x3​−x~3​∥2=(3−3)2+(3−3)2=0 평균 오차: J1=13(0.5+0.5+0)=13=λ2(일치)J_1 = \\frac{1}{3} (0.5 + 0.5 + 0) = \\frac{1}{3} = \\lambda_2 \\quad (\\text{일치})J1​=31​(0.5+0.5+0)=31​=λ2​(일치) [문제 3] (계산형) 고차원 PCA (N\u0026lt;DN \u0026lt; DN\u0026lt;D) 단축 알고리즘 차원 D=1000D=1000D=1000이고 데이터 수 N=3N=3N=3인 중심화 데이터 행렬 Xc∈R1000×3X_c \\in \\mathbb{R}^{1000 \\times 3}Xc​∈R1000×3에 대해, 3×33 \\times 33×3 그람 행렬 K=13Xc⊤XcK = \\frac{1}{3}X_c^\\top X_cK=31​Xc⊤​Xc​의 고유값 분해 결과가 다음과 같이 주어졌습니다:\n고유값: λ1=5, λ2=2, λ3=0\\lambda_1 = 5, \\; \\lambda_2 = 2, \\; \\lambda_3 = 0λ1​=5,λ2​=2,λ3​=0 λ1=5\\lambda_1 = 5λ1​=5에 대응하는 단위 고유벡터: c1=12[1,0,−1]⊤c_1 = \\frac{1}{\\sqrt{2}} [1, 0, -1]^\\topc1​=2​1​[1,0,−1]⊤ 원래 1000×10001000 \\times 10001000×1000 공분산 행렬 S=13XcXc⊤S = \\frac{1}{3}X_c X_c^\\topS=31​Xc​Xc⊤​의 최대 고유벡터 b1b_1b1​을 XcX_cXc​와 c1c_1c1​의 수식으로 명시적으로 구하고, ∥b1∥=1\\|b_1\\|=1∥b1​∥=1임을 보이시오. [정답 및 풀이]\n10.5절의 고차원 PCA 정규화 공식에 의해: b1=1Nλ1Xcc1b_1 = \\frac{1}{\\sqrt{N \\lambda_1}} X_c c_1b1​=Nλ1​​1​Xc​c1​ 여기서 N=3,λ1=5N = 3, \\lambda_1 = 5N=3,λ1​=5이므로 Nλ1=15\\sqrt{N\\lambda_1} = \\sqrt{15}Nλ1​​=15​입니다. 따라서: b1=115Xc(12[10−1])=130Xc[10−1]=130(xc1−xc3)b_1 = \\frac{1}{\\sqrt{15}} X_c \\left( \\frac{1}{\\sqrt{2}} \\begin{bmatrix} 1 \\\\ 0 \\\\ -1 \\end{bmatrix} \\right) = \\frac{1}{\\sqrt{30}} X_c \\begin{bmatrix} 1 \\\\ 0 \\\\ -1 \\end{bmatrix} = \\frac{1}{\\sqrt{30}} (x_{c1} - x_{c3})b1​=15​1​Xc​​2​1​​10−1​​​=30​1​Xc​​10−1​​=30​1​(xc1​−xc3​) 노름 검산: ∥b1∥2=b1⊤b1=115c1⊤(Xc⊤Xc)c1=115c1⊤(3K)c1=315c1⊤(Kc1)=15c1⊤(5c1)=c1⊤c1=1\\|b_1\\|^2 = b_1^\\top b_1 = \\frac{1}{15} c_1^\\top (X_c^\\top X_c) c_1 = \\frac{1}{15} c_1^\\top (3 K) c_1 = \\frac{3}{15} c_1^\\top (K c_1) = \\frac{1}{5} c_1^\\top (5 c_1) = c_1^\\top c_1 = 1∥b1​∥2=b1⊤​b1​=151​c1⊤​(Xc⊤​Xc​)c1​=151​c1⊤​(3K)c1​=153​c1⊤​(Kc1​)=51​c1⊤​(5c1​)=c1⊤​c1​=1 따라서 b1b_1b1​은 정확히 단위 길이를 갖는 SSS의 고유벡터입니다. [문제 4] (개념형) 총 분산 보존 정리 (Total Variance Decomposition) 임의의 데이터 공분산 행렬 S∈RD×DS \\in \\mathbb{R}^{D \\times D}S∈RD×D에 대해, 각 원래 특징들의 표본 분산의 합과 모든 고유값들의 합이 같음(∑d=1DSdd=∑d=1Dλd\\sum_{d=1}^D S_{dd} = \\sum_{d=1}^D \\lambda_d∑d=1D​Sdd​=∑d=1D​λd​)을 증명하시오.\n[정답 및 풀이]\n행렬의 대각합(Trace)은 주대각선 원소들의 합으로 정의됩니다: Tr(S)=∑d=1DSdd\\text{Tr}(S) = \\sum_{d=1}^D S_{dd}Tr(S)=∑d=1D​Sdd​. 공분산 행렬 SSS의 주대각선 원소 SddS_{dd}Sdd​는 각 ddd번째 특징 변수의 표본 분산입니다. 대칭 행렬 SSS는 직교 행렬 UUU에 의해 대각화됩니다: S=UΛU⊤S = U \\Lambda U^\\topS=UΛU⊤, 여기서 Λ=diag(λ1,…,λD)\\Lambda = \\text{diag}(\\lambda_1, \\dots, \\lambda_D)Λ=diag(λ1​,…,λD​). 대각합의 순환 불변성(Cyclic property: Tr(ABC)=Tr(BCA)\\text{Tr}(ABC) = \\text{Tr}(BCA)Tr(ABC)=Tr(BCA))에 의해: Tr(S)=Tr(UΛU⊤)=Tr(ΛU⊤U)=Tr(ΛID)=Tr(Λ)=∑d=1Dλd\\text{Tr}(S) = \\text{Tr}(U \\Lambda U^\\top) = \\text{Tr}(\\Lambda U^\\top U) = \\text{Tr}(\\Lambda I_D) = \\text{Tr}(\\Lambda) = \\sum_{d=1}^D \\lambda_dTr(S)=Tr(UΛU⊤)=Tr(ΛU⊤U)=Tr(ΛID​)=Tr(Λ)=∑d=1D​λd​ 따라서 원래 좌표계에서의 총 분산의 합은 주성분 좌표계에서의 고유값(분산)들의 합과 정확히 일치하며, PCA는 정보의 총량을 잃지 않고 회전시키는 변환임이 증명됩니다. [문제 5] (개념형) PCA 전 표준화(Standardization)가 필수적인 경우 데이터셋의 각 열을 분산으로 나누는 표준화를 거치지 않고 PCA를 수행했을 때 발생할 수 있는 심각한 문제를 구체적인 예시와 함께 설명하시오.\n[정답 및 풀이]\nPCA는 분산이 큰 방향을 주성분으로 채택합니다. 만약 변수 1이 \u0026lsquo;연간 소득(원)\u0026lsquo;이고 변수 2가 \u0026lsquo;나이(세)\u0026lsquo;라면, 소득 변수는 수천만~수억 단위의 분산을 갖는 반면 나이는 수백 단위의 분산을 갖습니다. 중심화만 수행하고 PCA를 돌리면, 공분산 행렬의 (1,1) 원소가 (2,2) 원소보다 비교할 수 없을 만큼 크므로, 제1 주성분 고유벡터는 데이터의 본질적인 상관 패턴과 무관하게 거의 b1≈[1,0]⊤b_1 \\approx [1, 0]^\\topb1​≈[1,0]⊤ (소득 축)에 수평으로 정렬됩니다. 즉, 단위(스케일)가 큰 단 하나의 변수가 주성분을 완전히 독식하여 다른 모든 유의미한 변수들의 정보를 완전히 무시하게 됩니다. 따라서 변수들의 측정 단위가 서로 다른 경우 반드시 표준편차로 나누어 분산을 1로 맞춘 후(상관 행렬 기반 PCA) 주성분을 추출해야 합니다. [문제 6] (개념형) SVD와 Eckart-Young 정리를 통한 PCA의 최적성 중심화 데이터 X∈RD×NX \\in \\mathbb{R}^{D \\times N}X∈RD×N에 대해, PCA가 왜 \u0026ldquo;프로베니우스 노름 기준 최적의 계수 MMM 행렬 근사\u0026quot;인지 Eckart-Young 정리를 사용하여 설명하시오.\n[정답 및 풀이]\nEckart-Young-Mirsky 정리(교재 정리 4.25는 스펙트럼 노름으로 서술, 프로베니우스 노름에서도 성립)에 따르면, 임의의 행렬 XXX의 SVD가 X=∑i=1rσiuivi⊤X = \\sum_{i=1}^r \\sigma_i u_i v_i^\\topX=∑i=1r​σi​ui​vi⊤​일 때, 임의의 계수 MMM 이하인 행렬 AAA 중 오차 ∥X−A∥F2\\|X - A\\|_F^2∥X−A∥F2​를 최소화하는 최적 행렬(σM\u0026gt;σM+1\\sigma_M \u0026gt; \\sigma_{M+1}σM​\u0026gt;σM+1​이면 유일)은 상위 MMM개의 특이값 성분만 남긴 절단 SVD 행렬 X~M=∑i=1Mσiuivi⊤=UMΣMVM⊤\\tilde{X}_M = \\sum_{i=1}^M \\sigma_i u_i v_i^\\top = U_M \\Sigma_M V_M^\\topX~M​=∑i=1M​σi​ui​vi⊤​=UM​ΣM​VM⊤​입니다. PCA에서 데이터를 상위 MMM개 주성분 기저 B=UMB = U_MB=UM​으로 사영한 후 복원한 데이터 행렬은 X~=BB⊤X=UMUM⊤(UΣV⊤)=UMΣMVM⊤\\tilde{X} = B B^\\top X = U_M U_M^\\top (U \\Sigma V^\\top) = U_M \\Sigma_M V_M^\\topX~=BB⊤X=UM​UM⊤​(UΣV⊤)=UM​ΣM​VM⊤​입니다. 두 행렬이 정확히 동일하므로, PCA는 데이터 행렬 전체를 계수 MMM인 행렬로 압축할 때 정보 손실(프로베니우스 오차)을 수학적으로 가장 작게 만드는 최적해임이 보장됩니다. [문제 7] (계산형) PPCA의 결합 공분산 및 주변 분산 계산 PPCA 모델에서 잠재 차원 M=1M=1M=1, 데이터 차원 D=2D=2D=2이고 파라미터가 다음과 같이 주어졌습니다: B=[21],μ=[00],σ2=1B = \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix}, \\quad \\mu = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}, \\quad \\sigma^2 = 1B=[21​],μ=[00​],σ2=1 관측 데이터 xxx의 주변 공분산 행렬 C=BB⊤+σ2I2C = B B^\\top + \\sigma^2 I_2C=BB⊤+σ2I2​를 구하시오. 결합 가우시안 분포 p([xz])p\\left(\\begin{bmatrix} x \\\\ z \\end{bmatrix}\\right)p([xz​])의 3×33 \\times 33×3 공분산 행렬을 작성하시오. [정답 및 풀이]\nBB⊤=[21][2,1]=[4221]B B^\\top = \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix} [2, 1] = \\begin{bmatrix} 4 \u0026amp; 2 \\\\ 2 \u0026amp; 1 \\end{bmatrix}BB⊤=[21​][2,1]=[42​21​] C=BB⊤+σ2I2=[4221]+[1001]=[5222]C = B B^\\top + \\sigma^2 I_2 = \\begin{bmatrix} 4 \u0026amp; 2 \\\\ 2 \u0026amp; 1 \\end{bmatrix} + \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\end{bmatrix} = \\begin{bmatrix} 5 \u0026amp; 2 \\\\ 2 \u0026amp; 2 \\end{bmatrix}C=BB⊤+σ2I2​=[42​21​]+[10​01​]=[52​22​] 결합 공분산 행렬: Cov([xz])=[CBB⊤I1]=[522221211]\\text{Cov}\\left( \\begin{bmatrix} x \\\\ z \\end{bmatrix} \\right) = \\begin{bmatrix} C \u0026amp; B \\\\ B^\\top \u0026amp; I_1 \\end{bmatrix} = \\begin{bmatrix} 5 \u0026amp; 2 \u0026amp; 2 \\\\ 2 \u0026amp; 2 \u0026amp; 1 \\\\ 2 \u0026amp; 1 \u0026amp; 1 \\end{bmatrix}Cov([xz​])=[CB⊤​BI1​​]=​522​221​211​​ [문제 8] (계산형) PPCA 잠재 변수 사후분포 p(z∣x)p(z \\mid x)p(z∣x) 손계산 [문제 7]의 파라미터(B=[2,1]⊤,μ=0,σ2=1B = [2, 1]^\\top, \\mu = 0, \\sigma^2 = 1B=[2,1]⊤,μ=0,σ2=1)에서 관측치 x=[31]x = \\begin{bmatrix} 3 \\\\ 1 \\end{bmatrix}x=[31​]이 들어왔을 때:\n사후 평균 mmm과 사후 분산 CzC_zCz​를 Woodbury 형태의 공식 m=(B⊤B+σ2I)−1B⊤(x−μ)m = (B^\\top B + \\sigma^2 I)^{-1} B^\\top (x - \\mu)m=(B⊤B+σ2I)−1B⊤(x−μ)를 사용하여 구하시오. σ2→0\\sigma^2 \\to 0σ2→0일 때의 사후 평균 극한값을 구하고, 표준 PCA의 사영 좌표와 비교하시오. [정답 및 풀이]\nB⊤B=[2,1][21]=4+1=5B^\\top B = [2, 1] \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix} = 4 + 1 = 5B⊤B=[2,1][21​]=4+1=5 (스칼라!) 사후 분산: Cz=σ2(B⊤B+σ2I1)−1=1⋅(5+1)−1=16C_z = \\sigma^2 (B^\\top B + \\sigma^2 I_1)^{-1} = 1 \\cdot (5 + 1)^{-1} = \\frac{1}{6}Cz​=σ2(B⊤B+σ2I1​)−1=1⋅(5+1)−1=61​ 사후 평균: B⊤(x−μ)=[2,1][31]=6+1=7B^\\top (x - \\mu) = [2, 1] \\begin{bmatrix} 3 \\\\ 1 \\end{bmatrix} = 6 + 1 = 7B⊤(x−μ)=[2,1][31​]=6+1=7 m=(B⊤B+σ2I)−1B⊤(x−μ)=15+1⋅7=76≈1.167m = (B^\\top B + \\sigma^2 I)^{-1} B^\\top (x - \\mu) = \\frac{1}{5 + 1} \\cdot 7 = \\frac{7}{6} \\approx 1.167m=(B⊤B+σ2I)−1B⊤(x−μ)=5+11​⋅7=67​≈1.167 따라서 사후분포는 p(z∣x)=N(7/6,1/6)p(z \\mid x) = \\mathcal{N}(7/6, 1/6)p(z∣x)=N(7/6,1/6) 입니다. σ2→0\\sigma^2 \\to 0σ2→0 극한: mσ2→0=(B⊤B)−1B⊤(x−μ)=75=1.4m_{\\sigma^2 \\to 0} = (B^\\top B)^{-1} B^\\top (x - \\mu) = \\frac{7}{5} = 1.4mσ2→0​=(B⊤B)−1B⊤(x−μ)=57​=1.4 표준 PCA에서 단위 기저 벡터 b1=B∥B∥=15[2,1]⊤b_1 = \\frac{B}{\\|B\\|} = \\frac{1}{\\sqrt{5}}[2, 1]^\\topb1​=∥B∥B​=5​1​[2,1]⊤ 위로의 사영 좌표는: zPCA=b1⊤x=75z_{PCA} = b_1^\\top x = \\frac{7}{\\sqrt{5}}zPCA​=b1⊤​x=5​7​ 이때 복원 벡터는 b1zPCA=75[2,1]⊤=Bmσ2→0b_1 z_{PCA} = \\frac{7}{5}[2, 1]^\\top = B m_{\\sigma^2 \\to 0}b1​zPCA​=57​[2,1]⊤=Bmσ2→0​으로 정확히 일치합니다. [문제 9] (개념형) PPCA에서 노이즈 분산의 MLE 추정식의 의미 PPCA의 최대가능도 해에서 노이즈 분산 σML2=1D−M∑j=M+1Dλj\\sigma_{ML}^2 = \\frac{1}{D - M} \\sum_{j=M+1}^D \\lambda_jσML2​=D−M1​∑j=M+1D​λj​가 도출됩니다. 이 수식이 갖는 물리적·기하학적 의미를 설명하시오.\n[정답 및 풀이]\nDDD차원 데이터 공간에서 상위 MMM개의 주성분 방향은 데이터의 유의미한 신호(Signal)가 존재하는 MMM차원 주부분공간을 형성합니다. 나머지 D−MD-MD−M개의 직교 여공간 방향은 모델이 신호로 설명하지 않고 버린 차원들입니다. PPCA는 이 버려진 D−MD-MD−M개의 모든 방향에 대해 등방성(Isotropic) 가우시안 노이즈 ϵ∼N(0,σ2I)\\epsilon \\sim \\mathcal{N}(0, \\sigma^2 I)ϵ∼N(0,σ2I)가 균일하게 퍼져 있다고 가정합니다. 따라서 버려진 차원들에서 관측된 표본 분산들(λM+1,…,λD\\lambda_{M+1}, \\dots, \\lambda_DλM+1​,…,λD​)은 순수한 노이즈의 분산으로 해석되며, 이들의 산술 평균이 모델 전체의 등방성 노이즈 분산 σ2\\sigma^2σ2의 가장 합리적인 최대가능도 추정량이 됩니다. [문제 10] (개념형) 차원 축소 4대 기법 비교 (PCA vs Kernel PCA vs Autoencoder vs Factor Analysis) 아래 4가지 기법의 선형성 여부, 확률 모델 여부, 노이즈 가정을 비교 설명하시오.\n[정답 및 풀이]\n표준 PCA (Standard PCA): 선형 기법 (Linear) 비확률적 기하학적 사영 모델 (Deterministic) 노이즈에 대한 확률적 가정이 없음. 확률적 PCA (PPCA): 선형 기법 (Linear) 잠재 변수 기반 가우시안 확률 모델 모든 특징에 동일한 분산을 갖는 등방성 노이즈 (σ2I\\sigma^2 Iσ2I) 가정. 인자 분석 (Factor Analysis, FA): 선형 기법 (Linear) 잠재 변수 기반 가우시안 확률 모델 특징마다 서로 다른 고유 노이즈를 갖는 대각 공분산 노이즈 (Ψ=diag(σ12,…,σD2)\\Psi = \\text{diag}(\\sigma_1^2, \\dots, \\sigma_D^2)Ψ=diag(σ12​,…,σD2​)) 가정. 오토인코더 / 커널 PCA (Autoencoder / Kernel PCA): 비선형 기법 (Non-linear) 비선형 활성화 함수(신경망) 또는 커널 트릭을 통해 곡면 다양체(Non-linear Manifold) 상의 비선형 차원 축소를 수행함. 선형 활성화 함수를 쓴 오토인코더는 표준 PCA와 동치임. 교재 예제와 연결한 심화 과제 5선 (Part II에는 장 끝 연습문제가 없음) 교재 특이사항 안내:\nMML 교재의 기초수학 파트(Part I, 27장)에는 장 끝에 별도의 \u0026lsquo;Exercises\u0026rsquo; 절이 번호와 함께 수록되어 있으나, 응용 머신러닝 파트(Part II, 812장)는 각 장 끝에 별도의 번호 매겨진 Exercises 절이 없고 바로 \u0026lsquo;Further Reading\u0026rsquo;으로 끝납니다. 따라서 본 해설서에서는 시험 대비를 위해 10장 본문 전체를 관통하는 핵심 예제(Example) 및 핵심 심화 과제 5선을 엄선하여 질문 요약과 풀이 방향을 정확히 제시합니다.\n[예제 연계 과제 1] MNIST 숫자 임베딩과 클래스 분리 (Example 10.3 / Figure 10.10) 질문 요약: 784차원의 MNIST 손글씨 숫자 \u0026lsquo;0\u0026rsquo;과 \u0026lsquo;1\u0026rsquo; 데이터를 2차원 주성분 공간(M=2M=2M=2)으로 사영했을 때, 비지도 학습임에도 불구하고 두 숫자가 평면 상에서 뚜렷하게 분리되는 이유를 선형대수학적으로 설명하시오. 풀이 방향: 숫자 \u0026lsquo;0\u0026rsquo;은 중앙이 비어 있고 테두리에 픽셀이 집중된 반면, 숫자 \u0026lsquo;1\u0026rsquo;은 중앙에 수직선 형태로 픽셀이 집중되어 두 숫자 간의 픽셀 공분산 패턴이 극명하게 다름. 784차원 픽셀 공간에서 전체 분산을 가장 크게 만드는 상위 2개의 고유벡터 b1,b2b_1, b_2b1​,b2​는 주로 중앙 픽셀의 유무와 테두리 픽셀의 유무를 반영하는 가중치 형태를 띰. 따라서 라벨(정답) 정보 없이 오직 분산만 최대화하여 z=B⊤(x−μ)z = B^\\top(x-\\mu)z=B⊤(x−μ)로 사영했음에도 불구하고, 두 클래스의 평균 위치가 2차원 평면의 서로 다른 사분면에 클러스터를 형성함을 서술함. [예제 연계 과제 2] 주성분 차수 MMM에 따른 재구성 품질과 압축률 (Example 10.4 / Figure 10.12) 질문 요약: 784차원 이미지를 M=1,10,100,500M=1, 10, 100, 500M=1,10,100,500으로 복원할 때 시각적 품질 변화와 평균 제곱 오차 JM=∑j=M+1DλjJ_M = \\sum_{j=M+1}^D \\lambda_jJM​=∑j=M+1D​λj​의 감소 추세를 분석하시오. 풀이 방향: 교재 예제 10.4는 숫자 \u0026ldquo;8\u0026quot;의 훈련 이미지 5,389장으로 주부분공간을 구하고, 시험 이미지를 주성분 1, 10, 100, 500개로 복원한다(그림 10.12). 주성분 1개: 흐릿하고 평범한 \u0026ldquo;8\u0026rdquo; 모양이지만 그럭저럭 알아볼 만하다. 주성분 10개, 100개: 갈수록 선명해지고 획의 세부가 살아난다. 주성분 500개: 원본과 거의 같다. 평균 제곱 재구성 오차(그림 10.13)는 주성분 수가 늘수록 빠르게 줄어 소수의 주성분이 분산 대부분을 담는다. 고유값 스크리 플롯(Scree Plot)에서 고유값이 급격히 감소하다 완만해지는 엘보우(Elbow) 지점과 복원 오차 곡선의 급격한 평탄화 관계를 설명함. [예제 연계 과제 3] 고차원 안면 인식(Eigenfaces)에서의 N\u0026lt;DN \u0026lt; DN\u0026lt;D 연산 단축 (Section 10.5) 질문 요약: 100×100100 \\times 100100×100 크기의 얼굴 사진 50장(N=50,D=10,000N=50, D=10,000N=50,D=10,000)이 주어졌을 때, 고유얼굴(Eigenfaces)을 구하는 효율적인 알고리즘 절차를 기술하시오. 풀이 방향: 10000×1000010000 \\times 1000010000×10000 공분산 행렬 SSS를 만들면 메모리 및 시간 복잡도가 폭발하므로, 50×5050 \\times 5050×50 그람 행렬 K=150Xc⊤XcK = \\frac{1}{50}X_c^\\top X_cK=501​Xc⊤​Xc​를 생성함. KKK의 고유값 λm\\lambda_mλm​과 고유벡터 cmc_mcm​을 구함 (50×5050 \\times 5050×50이므로 1초 미만에 계산 완료). 공식 bm=150λmXccmb_m = \\frac{1}{\\sqrt{50\\lambda_m}} X_c c_mbm​=50λm​​1​Xc​cm​을 통해 10,000차원 고유얼굴 벡터 bmb_mbm​을 즉시 복원함. 이 벡터를 100×100100 \\times 100100×100 이미지로 재배열한 것이 \u0026lsquo;고유얼굴(Eigenface)\u0026lsquo;임을 명시함. [예제 연계 과제 4] PPCA 잠재 공간 샘플링을 통한 가상 데이터 생성 (Example 10.5 / Figure 10.15) 질문 요약: PPCA가 단순 차원 축소를 넘어 어떻게 새로운 손글씨 이미지를 무한히 합성할 수 있는 \u0026lsquo;생성 모델\u0026rsquo;로 작동하는지 그 수학적 메커니즘을 설명하시오. 풀이 방향: 교재 예제 10.5: 숫자 \u0026ldquo;8\u0026quot;을 2차원 주부분공간으로 사영한 잠재 좌표(그림 10.15의 파란 점) 근처에서 임의의 z∗z_*z∗​를 골라 x~∗=Bz∗\\tilde{x}_* = Bz_*x~∗​=Bz∗​로 이미지를 만든다. 고른 위치에 따라 모양·기울기·크기가 다른 \u0026ldquo;8\u0026quot;이 나온다. 훈련 데이터에서 멀리 떨어진 z∗z_*z∗​를 고르면 깨진 이미지가 나온다. 생성된 이미지의 내재 차원은 2뿐이다. PPCA에서는 z∼N(0,IM)z \\sim \\mathcal{N}(0, I_M)z∼N(0,IM​)에서 뽑아 x=Bz+μ+ϵx = Bz + \\mu + \\epsilonx=Bz+μ+ϵ으로 생성하므로, 사전분포가 \u0026ldquo;훈련 데이터 근처\u0026quot;를 자연스럽게 정해 준다. (교재 밖 보충) 두 잠재 점 사이를 z(t)=(1−t)zA+tzBz(t) = (1-t)z_A + t z_Bz(t)=(1−t)zA​+tzB​로 이으면 모양이 연속적으로 바뀐다. [예제 연계 과제 5] 선형 오토인코더와 PCA 목적함수의 완전 일치 (Section 10.8 / Figure 10.16) 질문 요약: 단일 은닉층 선형 인공신경망의 인코더 가중치 We∈RM×DW_e \\in \\mathbb{R}^{M \\times D}We​∈RM×D, 디코더 가중치 Wd∈RD×MW_d \\in \\mathbb{R}^{D \\times M}Wd​∈RD×M에 대해 손실함수 1N∑∥xn−WdWexn∥2\\frac{1}{N}\\sum \\|x_n - W_d W_e x_n\\|^2N1​∑∥xn​−Wd​We​xn​∥2를 최소화할 때 최적해의 성질을 논하시오. 풀이 방향: WdWeW_d W_eWd​We​는 계수가 최대 MMM인 D×DD \\times DD×D 사영 행렬임. 에카르트-영 정리에 의해 최적의 계수 MMM 사영 행렬은 직교 사영 행렬 BB⊤B B^\\topBB⊤이어야 함. 손실을 최소화하는 가중치 Wd,WeW_d, W_eWd​,We​는 각각 BR,R−1B⊤B R, R^{-1} B^\\topBR,R−1B⊤ (RRR은 임의의 M×MM \\times MM×M 가역 행렬)의 형태를 띠며, 이들이 형성하는 MMM차원 은닉 공간은 PCA의 주부분공간과 정확히 동일한 공간을 펼쳐냄을 증명함. 시험 직전 10분 요약 (Cheat Sheet) 1. PCA 핵심 공식 총람 항목 공식 / 표현식 행렬 차원 및 비고 표본 평균 μ=1N∑n=1Nxn\\mu = \\frac{1}{N} \\sum_{n=1}^N x_nμ=N1​∑n=1N​xn​ μ∈RD\\mu \\in \\mathbb{R}^Dμ∈RD 표본 공분산 S=1N∑n=1N(xn−μ)(xn−μ)⊤=1NXcXc⊤S = \\frac{1}{N} \\sum_{n=1}^N (x_n - \\mu)(x_n - \\mu)^\\top = \\frac{1}{N} X_c X_c^\\topS=N1​∑n=1N​(xn​−μ)(xn​−μ)⊤=N1​Xc​Xc⊤​ S∈RD×DS \\in \\mathbb{R}^{D \\times D}S∈RD×D, 대칭 양의 준정부호 고유값 방정식 Sbm=λmbm(bm⊤bm=1)S b_m = \\lambda_m b_m \\quad (b_m^\\top b_m = 1)Sbm​=λm​bm​(bm⊤​bm​=1) λ1≥λ2≥⋯≥λD≥0\\lambda_1 \\ge \\lambda_2 \\ge \\dots \\ge \\lambda_D \\ge 0λ1​≥λ2​≥⋯≥λD​≥0 사영 (인코딩) zn=B⊤(xn−μ)z_n = B^\\top (x_n - \\mu)zn​=B⊤(xn​−μ) B=[b1,…,bM]∈RD×M,zn∈RMB = [b_1, \\dots, b_M] \\in \\mathbb{R}^{D \\times M}, z_n \\in \\mathbb{R}^MB=[b1​,…,bM​]∈RD×M,zn​∈RM 복원 (디코딩) x~n=Bzn+μ=BB⊤(xn−μ)+μ\\tilde{x}_n = B z_n + \\mu = B B^\\top (x_n - \\mu) + \\mux~n​=Bzn​+μ=BB⊤(xn​−μ)+μ x~n∈RD\\tilde{x}_n \\in \\mathbb{R}^Dx~n​∈RD 사영 분산 합 ∑m=1MV[zm]=∑m=1Mλm\\sum_{m=1}^M \\mathbb{V}[z_m] = \\sum_{m=1}^M \\lambda_m∑m=1M​V[zm​]=∑m=1M​λm​ 상위 MMM개 고유값의 합 재구성 오차 JM=1N∑∥xn−x~n∥2=∑j=M+1DλjJ_M = \\frac{1}{N}\\sum \\|x_n - \\tilde{x}_n\\|^2 = \\sum_{j=M+1}^D \\lambda_jJM​=N1​∑∥xn​−x~n​∥2=∑j=M+1D​λj​ 버려진 D−MD-MD−M개 고유값의 합 설명 분산 비율 EVR=∑m=1Mλm∑d=1Dλd\\text{EVR} = \\frac{\\sum_{m=1}^M \\lambda_m}{\\sum_{d=1}^D \\lambda_d}EVR=∑d=1D​λd​∑m=1M​λm​​ 분모는 Tr(S)\\text{Tr}(S)Tr(S)와 동일 SVD 연결 Xc=UΣV⊤ ⟹ S=1NUΣΣ⊤U⊤X_c = U \\Sigma V^\\top \\implies S = \\frac{1}{N} U \\Sigma \\Sigma^\\top U^\\topXc​=UΣV⊤⟹S=N1​UΣΣ⊤U⊤ bd=ud, λd=σd2/Nb_d = u_d, \\; \\lambda_d = \\sigma_d^2/Nbd​=ud​,λd​=σd2​/N 고차원 트릭 (N\u0026lt;DN\u0026lt;DN\u0026lt;D) 1NXc⊤Xccm=λmcm ⟹ bm=1NλmXccm\\frac{1}{N} X_c^\\top X_c c_m = \\lambda_m c_m \\implies b_m = \\frac{1}{\\sqrt{N\\lambda_m}} X_c c_mN1​Xc⊤​Xc​cm​=λm​cm​⟹bm​=Nλm​​1​Xc​cm​ N×NN \\times NN×N 그람 행렬 풀이 PPCA 주변 분포 p(x)=N(μ, BB⊤+σ2ID)p(x) = \\mathcal{N}(\\mu, \\; B B^\\top + \\sigma^2 I_D)p(x)=N(μ,BB⊤+σ2ID​) 가우시안 잠재 변수 생성 모델 PPCA 사후 평균 m=(B⊤B+σ2IM)−1B⊤(x−μ)m = (B^\\top B + \\sigma^2 I_M)^{-1} B^\\top (x - \\mu)m=(B⊤B+σ2IM​)−1B⊤(x−μ) σ2→0\\sigma^2 \\to 0σ2→0 시 B⊤(x−μ)B^\\top(x-\\mu)B⊤(x−μ)로 수렴 PPCA 노이즈 MLE σML2=1D−M∑j=M+1Dλj\\sigma_{ML}^2 = \\frac{1}{D - M} \\sum_{j=M+1}^D \\lambda_jσML2​=D−M1​∑j=M+1D​λj​ 버려진 고유값들의 산술 평균 2. PCA를 바라보는 4대 관점 비교표 관점 출발 목적함수 최적화 대상 핵심 결과 수식 1. 분산 최대화 max⁡BTr(B⊤SB) s.t. B⊤B=I\\max_{B} \\text{Tr}(B^\\top S B) \\;\\text{s.t.}\\; B^\\top B = ImaxB​Tr(B⊤SB)s.t.B⊤B=I 사영 축 BBB Sbm=λmbmS b_m = \\lambda_m b_mSbm​=λm​bm​, 상위 MMM개 고유벡터 선택 2. 재구성 오차 최소화 min⁡b,B,z1N∑∥xn−(b+Bzn)∥2\\min_{b, B, z} \\frac{1}{N}\\sum \\|x_n - (b + Bz_n)\\|^2minb,B,z​N1​∑∥xn​−(b+Bzn​)∥2 오프셋 bbb, 기저 BBB, 코드 zzz b=μ, zn=B⊤(xn−μ), J=∑j=M+1Dλjb = \\mu, \\; z_n = B^\\top(x_n-\\mu), \\; J = \\sum_{j=M+1}^D \\lambda_jb=μ,zn​=B⊤(xn​−μ),J=∑j=M+1D​λj​ 3. 저계수 행렬 근사 min⁡rank(A)≤M∥Xc−A∥F2\\min_{\\text{rank}(A) \\le M} \\|X_c - A\\|_F^2minrank(A)≤M​∥Xc​−A∥F2​ 계수 MMM 행렬 AAA X~M=UMΣMVM⊤\\tilde{X}_M = U_M \\Sigma_M V_M^\\topX~M​=UM​ΣM​VM⊤​ (Eckart-Young 정리) 4. 확률적 잠재 변수 max⁡B,μ,σ2∑log⁡p(xn∣B,μ,σ2)\\max_{B, \\mu, \\sigma^2} \\sum \\log p(x_n \\mid B, \\mu, \\sigma^2)maxB,μ,σ2​∑logp(xn​∣B,μ,σ2) 생성 가중치 BBB, 노이즈 σ2\\sigma^2σ2 σML2=1D−M∑j=M+1Dλj, BML=UM(ΛM−σ2I)1/2R\\sigma^2_{ML} = \\frac{1}{D-M}\\sum_{j=M+1}^D \\lambda_j, \\; B_{ML} = U_M (\\Lambda_M - \\sigma^2 I)^{1/2} RσML2​=D−M1​∑j=M+1D​λj​,BML​=UM​(ΛM​−σ2I)1/2R 3. 시험장 1초 판별 체크리스트 데이터 중심화(xn−μx_n - \\muxn​−μ)를 먼저 수행했는가? 표본 공분산 계산 시 분모가 NNN인가? (1/(N−1)1/(N-1)1/(N−1)이 아님에 주의) 고유벡터의 크기가 1로 정규화(b⊤b=1b^\\top b = 1b⊤b=1)되었는가? 사영 좌표 znz_nzn​은 MMM차원 벡터이고, 복원 벡터 x~n\\tilde{x}_nx~n​은 DDD차원 벡터인가? 복원 벡터를 계산할 때 평균 μ\\muμ를 잊지 않고 다시 더해주었는가? (x~n=Bzn+μ\\tilde{x}_n = B z_n + \\mux~n​=Bzn​+μ) 재구성 오차의 합은 보존된 고유값이 아니라 버려진 고유값들의 합(∑j=M+1Dλj\\sum_{j=M+1}^D \\lambda_j∑j=M+1D​λj​)인가? N\u0026lt;DN \u0026lt; DN\u0026lt;D일 때 고유벡터 스케일링 계수가 1Nλm\\frac{1}{\\sqrt{N\\lambda_m}}Nλm​​1​인가? PPCA 사후 평균에서 역행렬의 크기는 D×DD \\times DD×D가 아닌 M×MM \\times MM×M인가? ","permalink":"https://qofo.github.io/posts/mml-ch10-pca/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 범위\u003c/strong\u003e: Deisenroth, Faisal, Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e(MML), pp. 317–347.\u003cbr\u003e\n\u003cstrong\u003e선후수 연결 및 의존성\u003c/strong\u003e: 이 장은 비지도 학습(Unsupervised Learning)의 대표 기법인 차원 축소(Dimensionality Reduction)를 다룹니다. 3장의 직교 사영(Orthogonal Projection), 4장의 고유값 분해(Eigendecomposition) 및 특이값 분해(SVD), 7장의 등식 제약 조건 최적화(라그랑주 승수법, Lagrange Multipliers), 6장의 가우시안 확률 모델이 정확히 결합된 장입니다. 여기서 다루는 데이터 압축과 잠재 표현(Latent Representation)의 개념은 현대 오토인코더(Autoencoder), 확산 모델(Diffusion Model), 고차원 임베딩 분석의 기초를 이룹니다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr\u003e\n\u003ch2 id=\"0-이-장-지도-roadmap\"\u003e0. 이 장 지도 (Roadmap)\u003c/h2\u003e\n\u003cp\u003e주성분 분석(PCA, Principal Component Analysis)은 고차원(\u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003eD\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eD\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.02778em;\"\u003eD\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e차원) 공간에 흩어져 있는 데이터의 핵심 정보를 손실을 최소화하면서 저차원(\u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003eM\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eM\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.10903em;\"\u003eM\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e차원, \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003eM\u003c/mi\u003e\u003cmo\u003e≪\u003c/mo\u003e\u003cmi\u003eD\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eM \\ll D\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.7224em;vertical-align:-0.0391em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.10903em;\"\u003eM\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2778em;\"\u003e\u003c/span\u003e\u003cspan class=\"mrel\"\u003e≪\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2778em;\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.02778em;\"\u003eD\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e) 공간으로 압축하는 선형 차원 축소 알고리즘입니다. MML 교재 10장은 PCA를 \u003cstrong\u003e세 가지 서로 다른 심오한 관점\u003c/strong\u003e에서 유도하고 이들이 왜 수학적으로 정확히 일치하는지를 증명합니다:\u003c/p\u003e","title":"MML 10장 PCA: 분산 최대화, 재구성 오차, 확률적 PCA"},{"content":"이 폰은 지금까지 SSH 터미널로만 다뤘다. nano로 파일을 고치고, git 명령을 손으로 치고, 결과는 curl로 확인했다. 글이 열 편이 되고 스크립트가 여섯 개가 되자 이 방식이 버거워졌다. 파일을 넘나들며 고치고, 검색하고, 변경 사항을 한눈에 보는 일은 편집기의 몫이다.\n그래서 VS Code를 폰에 붙이려다 막혔고, 결국 브라우저로 여는 편집기(code-server)를 tailnet 안에만 열었다. 이 글은 그 기록이다.\n1. Remote-SSH가 멈춘 곳 VS Code의 Remote-SSH로 폰에 접속하면 연결이 끊긴다. 폰에 남은 로그는 이렇다.\nerror This machine does not meet Visual Studio Code Server\u0026#39;s prerequisites, expected either... - find libstdc++.so or ldconfig for GNU environments - find /lib/ld-musl-aarch64.so.1, which is required to run the Visual Studio Code Server in musl environments VS Code Server는 리눅스 바이너리를 원격 기기에 설치해서 돌린다. 그 바이너리는 glibc나 musl 위에서 동작한다. 그런데 SSH가 닿는 곳은 우분투가 아니라 Termux다. Termux는 안드로이드 위에서 도는 앱이고, 안드로이드의 C 라이브러리는 bionic이다. glibc도 musl도 아니다.\n3편에서 정리한 구조를 떠올리면 층이 하나 더 있다. 우분투는 Termux 안의 proot 컨테이너다.\nAndroid 9 (bionic libc) └─ Termux ← sshd(8022)가 여는 곳. VS Code Server가 여기서 멈춘다 └─ proot-distro: Ubuntu 26.04 ← glibc 2.43, libstdc++ 있음 해결책은 둘이다.\nproot 우분투 안에 sshd를 하나 더 띄워서 Remote-SSH가 우분투로 들어가게 한다. 우분투 안에서 code-server를 돌리고, 브라우저로 접속한다. 2번을 택했다. 클라이언트에 아무것도 설치하지 않아도 되고, 노트북이든 다른 폰이든 브라우저만 있으면 열린다. code-server 배포판은 자체 node 런타임을 포함한 glibc 빌드라서 우분투 안에서 그대로 돈다. 1번이 되는지는 시험하지 않았다.\n설치는 공식 릴리스를 내려받아 체크섬을 확인하는 것으로 끝났다.\ncurl -fsSLO https://github.com/coder/code-server/releases/download/v4.137.0/code-server-4.137.0-linux-arm64.tar.gz echo \u0026#34;0fba7602...a90462 code-server-4.137.0-linux-arm64.tar.gz\u0026#34; | sha256sum -c - 2. 편집기는 문서 뷰어보다 위험하다 8편에서 만든 문서 뷰어는 허용 목록에 적힌 마크다운만 읽어 주는 서버였다. code-server는 다르다. 폰의 모든 파일을 열고, 터미널을 띄우고, 그 터미널에서 무엇이든 실행할 수 있다. 비밀번호 하나가 곧 폰 전체다.\n그래서 접근 경로를 문서 뷰어와 같은 기준으로 정했다.\n접근 경로 허용 확인한 방법 인터넷 (ngrok 공개 주소) ✗ ngrok은 8080만 전달한다. 편집기는 8443 같은 Wi-Fi의 기기 (LAN) ✗ LAN 주소로 연결 → curl exit 7 (연결 거부) 폰 안의 127.0.0.1 ✗ 같은 결과. 바인딩 주소가 tailnet 주소뿐이다 내 Tailscale 기기 ✓ 비밀번호 로그인 뒤에만 로그인하지 않은 요청이 어디까지 가는지도 확인했다.\nGET / → 302 /login GET /proxy/8080/ → 302 /login (폰 안의 포트를 중계하는 기능도 막힌다) GET /healthz → 200 (감시용으로 열어 둔 경로) 비밀번호는 code-server가 만든 무작위 24자를 그대로 쓴다. 틀린 비밀번호를 보내면 세션 쿠키 없이 로그인 페이지가 돌아오고, 맞으면 쿠키와 함께 편집기로 넘어간다. 무차별 대입은 code-server가 막는다. 설치된 코드에 그대로 적혀 있다.\nthis.minuteLimiter = new limiter_1.RateLimiter({ tokensPerInterval: 2, interval: \u0026#34;minute\u0026#34; }); this.hourLimiter = new limiter_1.RateLimiter({ tokensPerInterval: 12, interval: \u0026#34;hour\u0026#34; }); 3. HTTP로는 절반만 동작한다 처음에는 평문 HTTP로 열 생각이었다. 어차피 Tailscale이 WireGuard로 암호화하니 도청 걱정은 없다. 그런데 브라우저는 다른 기준을 본다. https://가 아닌 출처는 보안 컨텍스트가 아니고, 보안 컨텍스트가 아니면 서비스 워커를 등록할 수 없다.\nVS Code의 웹뷰(마크다운 미리보기, 확장 소개 페이지 등)는 서비스 워커 위에서 돈다. 클립보드 API와 \u0026ldquo;앱으로 설치\u0026rdquo;(PWA)도 마찬가지다. code-server 문서가 HTTPS를 권하는 이유이기도 하다. 이 제약은 문서와 알려진 브라우저 동작에 따른 것이고, 폰에서 평문으로 띄워 웹뷰가 죽는 것까지 직접 확인하지는 않았다. 즉 평문 HTTP로 열면 편집은 되지만 미리보기가 안 되는 반쪽이 된다. 블로그 글을 쓰려고 만든 환경에서 마크다운 미리보기가 빠지는 것은 곤란하다.\nHTTPS를 붙이는 방법은 세 가지였다.\n방법 이 폰에서 Tailscale이 발급하는 인증서(tailscale cert) 불가. 이 폰에는 안드로이드 Tailscale 앱만 있고 CLI가 없다 공인 도메인 + Let\u0026rsquo;s Encrypt 도메인이 없다. 4편에서 도메인을 사지 않기로 했다 폰에서 만든 인증서 가능. 대신 클라이언트가 그 인증서를 신뢰해야 한다 세 번째를 택했다. 그런데 자체 서명 인증서를 그냥 쓰고 경고를 넘기는 것으로는 부족하다. 인증서 오류가 있는 출처에서는 서비스 워커 등록이 거부된다. 경고를 눌러 넘겨도 웹뷰는 여전히 죽는다. 결국 기기가 인증서를 진짜로 신뢰해야 한다.\n루트 인증서를 기기에 넣는다는 것 기기에 루트 CA를 등록하는 것은 가벼운 일이 아니다. 그 CA의 키를 가진 사람은 그 기기에 대해 아무 사이트나 위조할 수 있다. 은행이든 메일이든 마찬가지다. 폰 안에 그런 키를 두는 셈이다.\nX.509에는 이 범위를 줄이는 장치가 있다. 이름 제약(Name Constraints)이다. CA 인증서에 \u0026ldquo;이 CA는 이 이름들만 보증할 수 있다\u0026quot;고 박아 두면, 검증하는 쪽이 그 밖의 이름을 거부한다.\nopenssl req -x509 -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 -nodes \\ -keyout ca.key -out ca.crt -days 3650 -sha256 \\ -subj \u0026#34;/O=phone-homeserver/CN=code-server local CA\u0026#34; \\ -addext \u0026#34;basicConstraints=critical,CA:TRUE,pathlen:0\u0026#34; \\ -addext \u0026#34;keyUsage=critical,keyCertSign,cRLSign\u0026#34; \\ -addext \u0026#34;nameConstraints=critical,permitted;IP:100.64.0.0/255.192.0.0,\\ permitted;IP:fd7a:115c:a1e0:0:0:0:0:0/ffff:ffff:ffff:0:0:0:0:0,permitted;DNS:ts.net\u0026#34; 허용 범위는 Tailscale이 쓰는 대역(100.64.0.0/10, fd7a:115c:a1e0::/48)과 ts.net 이름뿐이다. 실제로 그런지 인증서를 네 장 발급해서 검증해 봤다.\nIP:\u0026lt;폰의 Tailscale 주소\u0026gt; -\u0026gt; ok.crt: OK DNS:phone.tail1234.ts.net -\u0026gt; magic.crt: OK IP:192.168.0.42 -\u0026gt; error lan.crt: verification failed DNS:example.com -\u0026gt; error evil.crt: verification failed 이 CA의 키가 새어 나가도 만들 수 있는 것은 내 tailnet 안의 이름뿐이다. LAN 주소조차 안 된다. 기기에 등록할 때의 위험이 그만큼 줄어든다.\n서버 인증서는 이 CA로 397일짜리를 발급한다(공개 인증 기관의 상한이 398일이라 같은 기준을 맞췄다). 만료 30일 전에 감시 데몬이 다시 발급하고 재시작한다. CA는 10년짜리라 기기에 다시 등록할 일은 없다.\n4. 감시 데몬을 한 벌 더 만들었다 8편에서 문서 뷰어의 감시 데몬을 블로그와 따로 만든 이유가 그대로 적용된다. 편집기가 멈추는 것과 블로그가 멈추는 것은 다른 사건이고, 한쪽을 고치다 다른 쪽을 멈추게 해서는 안 된다. 그래서 세 번째 감시 데몬(code_server.sh)과 세 번째 런처, 세 번째 감시 작업(4245)을 만들었다.\n구조는 같지만 다른 점이 셋 있다.\n주소를 서버가 아니라 감시 데몬이 찾는다. 문서 뷰어는 내가 쓴 파이썬이라 Tailscale 주소를 스스로 찾게 만들 수 있었다. code-server는 남의 프로그램이다. 그래서 감시 데몬이 커널에 주소를 물어(SIOCGIFADDR) 인자로 넘긴다.\ncode-server --bind-addr \u0026#34;$ip:8443\u0026#34; --auth password --cert \u0026#34;$SRV_CRT\u0026#34; --cert-key \u0026#34;$SRV_KEY\u0026#34; /root 주소가 아직 없으면 띄우지 않고 기다린다(waiting). 주소가 바뀌면 그 주소로 인증서를 다시 발급하고 재시작한다.\n헬스체크가 인증서까지 확인한다. /healthz를 우리 CA로 검증하면서 호출한다. 응답이 200이 아니거나 인증서가 우리 것이 아니면 실패로 친다.\ncurl -s -o /dev/null -w \u0026#39;%{http_code}\u0026#39; --max-time 5 --cacert \u0026#34;$CA_CRT\u0026#34; \u0026#34;https://$1/healthz\u0026#34; 유예 시간이 길다. 문서 뷰어는 30초였지만 code-server는 90초로 뒀다. 기동에 시간이 더 걸린다. 실제 기록은 9초였다.\n02:49:27 [supervisor] [START] code-server on https://\u0026lt;tailnet 주소\u0026gt;:8443/ (pid 18219) 17:49:36 info HTTPS server listening on https://\u0026lt;tailnet 주소\u0026gt;:8443/ (감시 데몬은 KST로, code-server는 UTC로 기록한다. 같은 시각의 9초 차이다.)\n5. 프로세스가 둘이어서 틀린 테스트 감시 데몬을 만들었으니 죽여 봐야 한다. 메인 프로세스를 kill -9로 죽이고, \u0026ldquo;새 PID가 뜨고 /healthz가 200이 되면 복구\u0026quot;로 판정하는 스크립트를 돌렸다. 결과는 1초 만에 복구였다.\n말이 안 되는 숫자다. 기동에만 9초가 걸리는데 1초 만에 복구될 수 없다.\n원인은 code-server의 프로세스 구조였다. 실행하면 프로세스가 둘 생긴다.\nPID PPID COMMAND 20859 18168 .../lib/node .../code-server --bind-addr ... ← 래퍼 20891 20859 .../lib/node .../out/node/entry ← 실제 서버 래퍼만 죽였으니 실제 서버는 부모를 잃은 채 계속 응답하고 있었다. 내 판정 코드는 \u0026ldquo;가장 오래된 프로세스\u0026quot;를 서버로 보고 있었는데, 래퍼가 사라지자 그 자리를 자식이 차지했다. 새 PID가 보이고 200이 오니 복구로 판정한 것이다. 고아를 복구로 오해한 셈이다.\n감시 데몬은 제 일을 하고 있었다. 2초 뒤 로그에 이렇게 남았다.\n[CRASH DETECTED] code-server exited (code 137, up 417s); restarting in 0s [START] code-server on https://\u0026lt;tailnet 주소\u0026gt;:8443/ (pid 20859) 자식이 살아 있으면 새 서버가 같은 주소에 바인딩하지 못한다. 그래서 감시 데몬은 종료를 감지하면 남은 프로세스를 패턴으로 모두 정리한 뒤 새로 띄운다.\nPATTERN=\u0026#39;^/root/\\.local/lib/code-server[^/ ]*/lib/node \u0026#39; 판정 기준을 고쳐서 이번에는 안쪽 서버를 죽여 봤다. 래퍼도 종료 코드 0으로 끝났고, 감시 데몬이 6초 만에 감지해 15초 대기 뒤 새로 띄웠다. 32초 만에 다시 서비스했다. 운영 명령 restart는 13초였다.\n교훈은 6편의 반복이다. 복구를 재는 기준이 \u0026ldquo;프로세스가 있는가\u0026quot;면, 살아 있는 잔해가 복구로 보인다.\n6. 한도를 읽었더니 그것도 가짜였다 VS Code는 파일이 바뀌면 자동으로 다시 읽는다. 리눅스에서는 inotify로 경로마다 감시를 건다. /root에는 폴더가 3447개 있고, 대부분은 캐시와 설치 파일이다.\n전체 3447 .local 1237 ← code-server 자신과 확장 .gemini 835 ← 예전에 쓰던 에이전트의 기록 .npm 443 .claude 298 qofo.github.io 219 ← 블로그 blog_builds 175 한도를 확인했다.\n$ cat /proc/sys/fs/inotify/max_user_watches 4096 3447개는 4096에 아슬아슬하다. 올려 보기로 했다. 3편에서 proot의 root는 가짜라고 정리했으니 거부당할 줄 알았는데, 성공했다.\n$ sysctl -w fs.inotify.max_user_watches=8192 fs.inotify.max_user_watches = 8192 성공한 것이 오히려 이상했다. 커널 설정을 앱 권한으로 바꿀 수 있을 리가 없다. 마운트 정보를 봤다.\n$ grep inotify /proc/self/mountinfo ... /proc/sys/fs/inotify/max_user_watches rw,relatime - bind .../containers/ubuntu/sysdata/sysctl_inotify_max_user_watches rw,relatime 이 경로는 커널의 파일이 아니었다. proot-distro가 일반 파일을 bind mount로 덮어 둔 것이다. 읽으면 4096이 나오고, 쓰면 그 파일만 바뀐다. 커널은 이 숫자를 모른다. 3편에서 /proc/stat과 /proc/uptime이 가짜였던 것과 같은 일이 /proc/sys 아래에서도 일어나고 있었다.\n그러면 진짜 한도는 얼마인가. 읽을 방법이 없으니 실패할 때까지 걸어 보는 수밖에 없다. inotify 인스턴스 하나에 /root의 경로를 계속 추가했다.\nlibc = ctypes.CDLL(None, use_errno=True) fd = libc.inotify_init1(os.O_NONBLOCK) for path in paths: if libc.inotify_add_watch(fd, path.encode(), IN_ATTRIB) \u0026lt; 0: print(\u0026#34;stopped after\u0026#34;, added, os.strerror(ctypes.get_errno())) break stopped after 5862 watches: ENOSPC (No space left on device) 두 번 재서 같은 값이 나왔다. 다른 프로세스가 이미 쓰고 있는 몫이 있으니 실제 한도는 5862보다 크다. 표시값 4096은 진짜 한도보다 오히려 작았다. 값을 믿고 겁먹을 일도, 값을 고쳐 안심할 일도 아니었다.\n남은 판단은 단순해졌다. 여유가 있더라도 캐시와 설치 파일까지 감시할 이유는 없다. 제외 목록을 넣었다.\n\u0026#34;files.watcherExclude\u0026#34;: { \u0026#34;/root/.local/**\u0026#34;: true, \u0026#34;/root/.cache/**\u0026#34;: true, \u0026#34;/root/.npm/**\u0026#34;: true, \u0026#34;/root/.gemini/**\u0026#34;: true, \u0026#34;/root/.claude/**\u0026#34;: true, \u0026#34;/root/blog_builds/**\u0026#34;: true } 제외하고 남는 폴더는 30개다. 앞으로 /root 아래에 큰 폴더를 만들면 여기에 한 줄 추가한다.\n7. 검증 대상 방법 결과 바인딩 127.0.0.1:8443, LAN 주소:8443 연결 거부 (curl exit 7) 인증서 우리 CA 없이 접속 curl exit 60 (인증서 불신) 이름 제약 LAN IP·외부 도메인용 인증서 발급 후 검증 모두 verification failed 로그인 틀린 비밀번호 / 맞는 비밀번호 쿠키 없음 / 워크벤치 200 로그인 전 접근 /, /proxy/8080/ 302 /login WebSocket 로그인+같은 출처 / 로그인 없음 / 다른 출처 101 / 401 / 403 복구 래퍼 kill -9 / 안쪽 서버 kill -9 / restart 2초 감지 / 32초 / 13초 메모리 대기 중 두 프로세스 합계 약 150MB (가용 메모리 2GB) 편집기의 WebSocket은 브라우저 없이도 확인할 수 있었다. 로그인해서 쿠키를 받고, 그 쿠키와 Origin 헤더를 붙여 업그레이드 요청을 보내면 된다. 다른 출처를 적으면 403이 돌아온다. 이것이 8편에서 다룬 DNS 리바인딩에 대한 방어다. 인증서가 IP 주소로만 발급돼 있어서, 공격자의 도메인 이름으로는 TLS부터 성립하지 않는다는 점이 한 겹 더 있다.\n8. 한계 CA를 등록하지 않은 기기에서는 반쪽이다. 경고를 넘기면 편집은 되지만 마크다운 미리보기와 클립보드 API는 동작하지 않는다. 기기마다 한 번 등록하는 수고가 필요하다. 확장은 Open VSX에서만 받는다. code-server는 Microsoft 마켓을 쓸 수 없다. Pylance, 원격 개발 확장, Copilot은 설치되지 않는다. Tailscale을 실제로 껐다 켜는 시험은 아직 못 했다. 대기와 재바인딩 코드는 문서 뷰어와 같은 방식이지만, 같은 방식이라는 것이 같은 결과를 보증하지는 않는다. 설치 직후 폰이 한 번 예기치 않게 재부팅됐다. code-server를 처음 실행하고 약 1분 뒤였다. 안드로이드가 부팅 사유를 알려 주지 않아(sys.boot.reason은 비어 있고 /sys/fs/pstore는 권한 거부) 원인을 확정하지 못했다. 관련이 있는지도 알 수 없다. 블로그와 터널, 문서 뷰어는 168초 만에 스스로 복구됐다. 정리 SSH가 닿는 곳이 내가 생각한 곳이 아닐 수 있다. 같은 기기 안에 libc가 다른 층이 둘 있었다. 오류 메시지는 \u0026ldquo;glibc를 찾을 수 없다\u0026quot;였고, 답은 \u0026ldquo;거기는 우분투가 아니다\u0026quot;였다. HTTPS는 암호화만의 문제가 아니다. 브라우저의 기능 절반이 보안 컨텍스트를 전제로 한다. 사설망 안이라도 평문이면 기능이 빠진다. 루트 CA를 만들 때는 이름 제약을 건다. 내 기기에 넣는 열쇠의 범위를 줄이는 값싼 방법이다. 복구 판정을 프로세스 존재로 하지 않는다. 래퍼와 서버가 나뉜 프로그램에서는 잔해가 복구처럼 보인다. 설정값을 읽었다고 사실을 안 것이 아니다. 한도는 가짜 파일이었고, sysctl은 성공했다고 답했다. 진짜 숫자는 직접 부딪혀 보고서야 나왔다. ","permalink":"https://qofo.github.io/posts/code-server-on-the-phone/","summary":"\u003cp\u003e이 폰은 지금까지 SSH 터미널로만 다뤘다. \u003ccode\u003enano\u003c/code\u003e로 파일을 고치고, git 명령을 손으로 치고, 결과는 \u003ccode\u003ecurl\u003c/code\u003e로 확인했다. 글이 열 편이 되고 스크립트가 여섯 개가 되자 이 방식이 버거워졌다. 파일을 넘나들며 고치고, 검색하고, 변경 사항을 한눈에 보는 일은 편집기의 몫이다.\u003c/p\u003e\n\u003cp\u003e그래서 VS Code를 폰에 붙이려다 막혔고, 결국 브라우저로 여는 편집기(code-server)를 tailnet 안에만 열었다. 이 글은 그 기록이다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"1-remote-ssh가-멈춘-곳\"\u003e1. Remote-SSH가 멈춘 곳\u003c/h2\u003e\n\u003cp\u003eVS Code의 Remote-SSH로 폰에 접속하면 연결이 끊긴다. 폰에 남은 로그는 이렇다.\u003c/p\u003e","title":"터미널 말고 편집기: 폰에 VS Code를 올리고 tailnet 안에서만 열기"},{"content":" 교재 쪽수: 348~369쪽 (Chapter 11)\n선수 지식 및 연계: 5장 벡터 미적분(Vector Calculus: 야코비안 및 행렬 미분), 6장 확률과 분포(Probability and Distributions: 다변수 가우시안 분포, 베이즈 정리, 주변확률), 7장 연속 최적화(Continuous Optimization: 라그랑주 승수법), 8장 모델과 데이터(When Models Meet Data: 최대가능도 추정 MLE, 경험적 위험).\n후속 연계: 비지도 학습의 대표격인 밀도 추정(density estimation) 및 군집화(clustering)의 수학적 기반을 확립하며, 12장 서포트 벡터 머신(SVM)의 결정 경계 및 확률적 분류 관점과 대조됩니다.\n0. 이 장 지도 이 장은 머신러닝의 3대 기둥(회귀 9장, 차원 축소 10장, 밀도 추정 11장) 중 마지막 기둥인 밀도 추정(Density Estimation)을 다룹니다. 현실 세계의 데이터는 단일 정규분포처럼 봉우리가 하나인 단봉(unimodal) 형태가 아니라, 여러 집단이 섞여 있는 다봉(multimodal) 형태를 띱니다. 이를 수학적으로 정교하게 모델링하기 위해 도입하는 도구가 바로 가우시안 혼합 모델(Gaussian Mixture Model, GMM)과 이를 학습시키는 기댓값 최대화(Expectation-Maximization, EM) 알고리즘입니다.\n[절 목록 및 핵심 요약] 11.1 가우시안 혼합 모델(Gaussian Mixture Model, 349~350쪽) [중요도: ★★★]: 여러 개의 가우시안 확률밀도를 볼록 결합(convex combination)하여 복잡한 다봉 밀도를 표현하는 기본 모형 정의. 11.2 최대가능도 기반 모수 학습(Parameter Learning via Maximum Likelihood, 350~360쪽) [중요도: ★★★]: 데이터의 로그 가능도 함수를 유도하고, 닫힌 형태의 해(closed-form solution)가 존재하지 않는 이유 분석. 11.2.1 책임도(Responsibilities, 352~353쪽): 데이터 xnx_nxn​이 kkk번째 가우시안 성분에서 생성되었을 사후확률 rnkr_{nk}rnk​ 정의. 11.2.2 평균 벡터 갱신(Updating the Means, 353~355쪽) [Theorem 11.1]: 책임도를 가중치로 사용하는 가중 평균 갱신식 유도. 11.2.3 공분산 행렬 갱신(Updating the Covariances, 356~358쪽) [Theorem 11.2]: 행렬 미분을 통한 책임도 기반 가중 공분산 갱신식 유도. 11.2.4 혼합 가중치 갱신(Updating the Mixture Weights, 358~360쪽) [Theorem 11.3]: 등식 제약조건 하에서 라그랑주 승수법을 이용한 πk\\pi_kπk​ 갱신식 유도. 11.3 EM 알고리즘(EM Algorithm, 360~363쪽) [중요도: ★★★]: E-단계(책임도 계산)와 M-단계(모수 재추정)를 교대로 반복하여 로그 가능도를 단조 증가시키는 알고리즘 절차 확립. 11.4 잠재변수 관점(Latent-Variable Perspective, 363~367쪽) [중요도: ★★★]: 이산 잠재변수 zzz의 일-핫 인코딩(one-hot encoding)을 도입하여 GMM의 계층적 확률 생성 과정을 정식화하고, EM 알고리즘의 일반 이론(QQQ-함수 기댓값 최대화)으로 확장. 11.5 더 읽을거리(Further Reading, 368~369쪽) [중요도: ★★☆]: 조상 표집(ancestral sampling), K-평균(K-means)과의 이론적 관계(Hard vs Soft assignment), 최대가능도의 특이성(singularity) 문제, 비모수 밀도 추정(히스토그램 및 커널 밀도 추정 KDE). [개념 간 의존 관계] [다봉 데이터 분포 문제 인식] │ ▼ [11.1 GMM 정의: 볼록 결합] │ ▼ [11.2 로그 가능도 설정] ──▶ [로그 안의 합(log of sum)으로 인해 닫힌 해 부재] │ ▼ [11.2.1 책임도 r_nk 정의 (사후확률)] │ ┌───────┴─────────────────────────┐ ▼ ▼ ▼ [11.2.2 평균 갱신 (Thm 11.1)] [11.2.3 공분산 갱신 (Thm 11.2)] [11.2.4 가중치 갱신 (Thm 11.3)] └───────┬─────────────────────────┴─────────────────────────────────┘ │ ▼ [11.3 EM 알고리즘 (E-step ↔ M-step 반복)] │ ▼ [11.4 잠재변수 z 도입 (1-of-K) ──▶ 완전 결합분포 p(x, z) ──▶ 일반 EM의 Q-함수 유도] │ ▼ [11.5 K-평균과의 극한 관계, 특이성(과적합) 문제, 비모수 KDE 비교] 11.1 가우시안 혼합 모델(Gaussian Mixture Model, 349~350쪽) 왜 필요한가 (직관) 우리가 6장과 8장에서 배웠던 단일 가우시안 분포(단일 정규분포, Single Gaussian Distribution)는 매우 편리한 수학적 성질을 가지고 있습니다. 하지만 치명적인 한계가 있습니다. 바로 봉우리가 언제나 단 하나인 단봉 분포(unimodal distribution)라는 점입니다.\n현실의 데이터를 생각해 봅시다. 예를 들어 사람들의 키를 측정하면 남성 집단(평균 약 175cm)과 여성 집단(평균 약 162cm)의 두 봉우리가 겹쳐서 나타납니다. 만약 이 데이터를 단 하나의 정규분포로 표현하려고 하면, 평균은 엉뚱하게 168cm 근처에 놓이고 분산은 비정상적으로 커져서 데이터의 실제 특성을 심각하게 왜곡합니다. 교재 그림 11.1처럼 2차원 평면에서 데이터가 여러 개의 뚜렷한 군집(cluster)으로 나뉘어 있을 때도 마찬가지입니다.\n따라서 우리는 여러 개의 간단한 기본 분포(base distribution)들을 부드럽게 섞어서 임의의 복잡한 형태와 여러 개의 봉우리를 가진 다봉 분포(multimodal distribution)를 표현할 수 있는 모델이 필요합니다. 이것이 바로 혼합 모델(Mixture Model)이며, 기본 분포로 가우시안 분포를 채택한 것이 가우시안 혼합 모델(GMM)입니다.\n정의와 성질 1. 일반적인 혼합 모델 (Mixture Model) KKK개의 기본 확률밀도 함수 p1(x),p2(x),…,pK(x)p_1(x), p_2(x), \\dots, p_K(x)p1​(x),p2​(x),…,pK​(x)가 주어졌을 때, 전체 확률밀도 p(x)p(x)p(x)를 이들의 볼록 결합(convex combination)으로 정의합니다 (교재 식 11.1, 11.2):\np(x)=∑k=1Kπkpk(x)p(x) = \\sum_{k=1}^K \\pi_k p_k(x)p(x)=k=1∑K​πk​pk​(x)여기서 πk\\pi_kπk​는 혼합 가중치(mixture weight) 또는 혼합 계수(mixing coefficient)라고 부르며 다음 두 조건을 만족해야 합니다:\n모든 kkk에 대해 0≤πk≤10 \\le \\pi_k \\le 10≤πk​≤1 모든 가중치의 합은 1: ∑k=1Kπk=1\\sum_{k=1}^K \\pi_k = 1∑k=1K​πk​=1 이 두 조건 덕분에 p(x)p(x)p(x)를 전체 영역에 대해 적분하면: ∫p(x)dx=∑k=1Kπk∫pk(x)dx=∑k=1Kπk⋅1=1\\begin{aligned} \\int p(x) dx \u0026amp;= \\sum_{k=1}^K \\pi_k \\int p_k(x) dx \\\\ \u0026amp;= \\sum_{k=1}^K \\pi_k \\cdot 1 = 1 \\end{aligned}∫p(x)dx​=k=1∑K​πk​∫pk​(x)dx=k=1∑K​πk​⋅1=1​ 이 성립하여 p(x)p(x)p(x)는 수학적으로 확률밀도 함수의 자격을 갖춥니다.\n2. 가우시안 혼합 모델 (GMM) 기본 분포 pk(x)p_k(x)pk​(x)로 DDD차원 다변수 가우시안 분포 N(x∣μk,Σk)\\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)N(x∣μk​,Σk​)를 사용합니다 (교재 식 11.3, 11.4):\np(x∣θ)=∑k=1KπkN(x∣μk,Σk)p(x \\mid \\theta) = \\sum_{k=1}^K \\pi_k \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)p(x∣θ)=k=1∑K​πk​N(x∣μk​,Σk​) KKK: 혼합 성분(mixture component)의 개수 (초매개변수) μk∈RD\\mu_k \\in \\mathbb{R}^Dμk​∈RD: kkk번째 가우시안 성분의 평균 벡터(mean vector) Σk∈RD×D\\Sigma_k \\in \\mathbb{R}^{D \\times D}Σk​∈RD×D: kkk번째 가우시안 성분의 공분산 행렬(covariance matrix, 대칭 행렬이자 양의 정부호(positive definite)) θ:={πk,μk,Σk}k=1K\\theta := \\{\\pi_k, \\mu_k, \\Sigma_k\\}_{k=1}^Kθ:={πk​,μk​,Σk​}k=1K​: GMM이 학습해야 할 전체 모수(parameters)의 집합 손으로 풀어 보는 예제 (작은 숫자 계산) 교재 식 (11.5)에 등장하는 1차원 GMM 모델을 살펴봅시다: p(x∣θ)=0.5N(x∣−2,0.5)+0.2N(x∣1,2)+0.3N(x∣4,1)\\begin{aligned} p(x \\mid \\theta) \u0026amp;= 0.5 \\mathcal{N}(x \\mid -2, 0.5) \\\\ \u0026amp;\\quad + 0.2 \\mathcal{N}(x \\mid 1, 2) \\\\ \u0026amp;\\quad + 0.3 \\mathcal{N}(x \\mid 4, 1) \\end{aligned}p(x∣θ)​=0.5N(x∣−2,0.5)+0.2N(x∣1,2)+0.3N(x∣4,1)​ 여기서 K=3K=3K=3이며:\n성분 1: π1=0.5\\pi_1 = 0.5π1​=0.5, μ1=−2\\mu_1 = -2μ1​=−2, σ12=0.5\\sigma_1^2 = 0.5σ12​=0.5 성분 2: π2=0.2\\pi_2 = 0.2π2​=0.2, μ2=1\\mu_2 = 1μ2​=1, σ22=2.0\\sigma_2^2 = 2.0σ22​=2.0 성분 3: π3=0.3\\pi_3 = 0.3π3​=0.3, μ3=4\\mu_3 = 4μ3​=4, σ32=1.0\\sigma_3^2 = 1.0σ32​=1.0 문제: x=1.0x = 1.0x=1.0에서의 전체 확률밀도 p(x=1.0∣θ)p(x=1.0 \\mid \\theta)p(x=1.0∣θ)를 계산하시오.\n풀이 단계: 1차원 정규분포 공식: N(x∣μ,σ2)=12πσ2exp⁡(−(x−μ)22σ2)\\mathcal{N}(x \\mid \\mu, \\sigma^2) = \\frac{1}{\\sqrt{2\\pi \\sigma^2}} \\exp\\left(-\\frac{(x-\\mu)^2}{2\\sigma^2}\\right)N(x∣μ,σ2)=2πσ2​1​exp(−2σ2(x−μ)2​)\n성분 1의 밀도: N(1∣−2,0.5)=12π×0.5exp⁡(−(1−(−2))22×0.5)=1πexp⁡(−9)≈0.5642×0.0001234=0.00007\\mathcal{N}(1 \\mid -2, 0.5) = \\frac{1}{\\sqrt{2\\pi \\times 0.5}} \\exp\\left(-\\frac{(1 - (-2))^2}{2 \\times 0.5}\\right) = \\frac{1}{\\sqrt{\\pi}} \\exp(-9) \\approx 0.5642 \\times 0.0001234 = 0.00007N(1∣−2,0.5)=2π×0.5​1​exp(−2×0.5(1−(−2))2​)=π​1​exp(−9)≈0.5642×0.0001234=0.00007 성분 2의 밀도: N(1∣1,2)=12π×2exp⁡(−(1−1)24)=14πexp⁡(0)=12π≈13.5449≈0.2821\\mathcal{N}(1 \\mid 1, 2) = \\frac{1}{\\sqrt{2\\pi \\times 2}} \\exp\\left(-\\frac{(1 - 1)^2}{4}\\right) = \\frac{1}{\\sqrt{4\\pi}} \\exp(0) = \\frac{1}{2\\sqrt{\\pi}} \\approx \\frac{1}{3.5449} \\approx 0.2821N(1∣1,2)=2π×2​1​exp(−4(1−1)2​)=4π​1​exp(0)=2π​1​≈3.54491​≈0.2821 성분 3의 밀도: N(1∣4,1)=12π×1exp⁡(−(1−4)22×1)=12πexp⁡(−4.5)≈0.3989×0.01111=0.0044\\mathcal{N}(1 \\mid 4, 1) = \\frac{1}{\\sqrt{2\\pi \\times 1}} \\exp\\left(-\\frac{(1 - 4)^2}{2 \\times 1}\\right) = \\frac{1}{\\sqrt{2\\pi}} \\exp(-4.5) \\approx 0.3989 \\times 0.01111 = 0.0044N(1∣4,1)=2π×1​1​exp(−2×1(1−4)2​)=2π​1​exp(−4.5)≈0.3989×0.01111=0.0044 혼합 가중치 결합: p(x=1.0∣θ)=0.5(0.00007)+0.2(0.2821)+0.3(0.0044)=0.000035+0.05642+0.00132=0.057775≈0.0578p(x=1.0 \\mid \\theta) = 0.5(0.00007) + 0.2(0.2821) + 0.3(0.0044) = 0.000035 + 0.05642 + 0.00132 = 0.057775 \\approx 0.0578p(x=1.0∣θ)=0.5(0.00007)+0.2(0.2821)+0.3(0.0044)=0.000035+0.05642+0.00132=0.057775≈0.0578 헷갈리는 점 / 자주 하는 실수 혼합 가중치의 의미: πk\\pi_kπk​는 단순히 가우시안 곡선의 높이를 조절하는 상수가 아니라, 전체 데이터 공간에서 임의의 한 점을 뽑았을 때 그 점이 kkk번째 가우시안에서 발생했을 사전확률(prior probability)입니다. 분포의 합 vs 확률변수의 합: X∼∑πkN(μk,Σk)X \\sim \\sum \\pi_k \\mathcal{N}(\\mu_k, \\Sigma_k)X∼∑πk​N(μk​,Σk​)는 확률밀도 함수의 혼합(mixture)입니다. 두 독립 정규 확률변수의 합 Y=X1+X2Y = X_1 + X_2Y=X1​+X2​는 여전히 단일 정규분포 N(μ1+μ2,Σ1+Σ2)\\mathcal{N}(\\mu_1+\\mu_2, \\Sigma_1+\\Sigma_2)N(μ1​+μ2​,Σ1​+Σ2​)가 됩니다. 초심자가 가장 많이 혼동하는 대목이므로, \u0026ldquo;확률변수의 선형결합\u0026quot;과 \u0026ldquo;확률밀도의 볼록결합\u0026quot;을 엄격히 구분해야 합니다. 11.2 최대가능도 기반 모수 학습(Parameter Learning via Maximum Likelihood, 350~360쪽) 왜 필요한가 (직관) 우리가 가진 관측 데이터셋 X={x1,x2,…,xN}\\mathcal{X} = \\{x_1, x_2, \\dots, x_N\\}X={x1​,x2​,…,xN​}이 주어졌을 때, 이 데이터들을 가장 잘 설명하는 모수 θ={πk,μk,Σk}k=1K\\theta = \\{\\pi_k, \\mu_k, \\Sigma_k\\}_{k=1}^Kθ={πk​,μk​,Σk​}k=1K​를 찾아야 합니다. 통계학에서 가장 보편적인 방법은 최대가능도 추정법(Maximum Likelihood Estimation, MLE)입니다.\n단일 가우시안 분포의 경우, 로그를 취하면 지수함수(exp⁡\\expexp)와 로그(log⁡\\loglog)가 상쇄되어 2차 다항식만 남으므로, 미분해서 0으로 두면 표본 평균과 표본 공분산이라는 깔끔한 닫힌 형태의 공식(closed-form formula)이 바로 튀어나왔습니다 (8장). 그러나 GMM에서는 \u0026ldquo;로그 안에 합이 들어있는 구조(log of summation)\u0026rdquo; 때문에 이 방법이 완전히 막히게 됩니다.\n정의와 성질 1. GMM의 결합 가능도 및 로그 가능도 데이터 xnx_nxn​들이 독립항등분포(i.i.d.)를 따른다고 가정하면, 전체 결합 가능도는 각 데이터 밀도의 곱으로 분해됩니다 (교재 식 11.9):\np(X∣θ)=∏n=1Np(xn∣θ)=∏n=1N∑k=1KπkN(xn∣μk,Σk)\\begin{aligned} p(\\mathcal{X} \\mid \\theta) \u0026amp;= \\prod_{n=1}^N p(x_n \\mid \\theta) \\\\ \u0026amp;= \\prod_{n=1}^N \\sum_{k=1}^K \\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k) \\end{aligned}p(X∣θ)​=n=1∏N​p(xn​∣θ)=n=1∏N​k=1∑K​πk​N(xn​∣μk​,Σk​)​양변에 자연로그를 취하여 로그 가능도(log-likelihood) L\\mathcal{L}L을 구합니다 (교재 식 11.10):\nL(θ):=log⁡p(X∣θ)=∑n=1Nlog⁡(∑k=1KπkN(xn∣μk,Σk))\\begin{aligned} \\mathcal{L}(\\theta) \u0026amp;:= \\log p(\\mathcal{X} \\mid \\theta) \\\\ \u0026amp;= \\sum_{n=1}^N \\log \\Bigl( \\\\ \u0026amp;\\quad \\sum_{k=1}^K \\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k) \\Bigr) \\end{aligned}L(θ)​:=logp(X∣θ)=n=1∑N​log(k=1∑K​πk​N(xn​∣μk​,Σk​))​2. 왜 닫힌 형태의 해(Closed-form solution)가 불가능한가? 단일 가우시안(K=1K=1K=1)일 때는 합 기호(∑k\\sum_{k}∑k​)가 없으므로: log⁡N(x∣μ,Σ)=−D2log⁡(2π)−12log⁡det⁡(Σ)−12(x−μ)⊤Σ−1(x−μ)\\begin{aligned} \\log \\mathcal{N}(x \\mid \\mu, \\Sigma) \u0026amp;= -\\frac{D}{2}\\log(2\\pi) \\\\ \u0026amp;\\quad - \\frac{1}{2}\\log\\det(\\Sigma) \\\\ \u0026amp;\\quad - \\frac{1}{2}(x-\\mu)^\\top \\Sigma^{-1} (x-\\mu) \\end{aligned}logN(x∣μ,Σ)​=−2D​log(2π)−21​logdet(Σ)−21​(x−μ)⊤Σ−1(x−μ)​ 로그가 지수함수 속으로 직접 파고들어 μ\\muμ와 Σ\\SigmaΣ에 대한 단순한 2차 형식이 됩니다. 하지만 K≥2K \\ge 2K≥2인 GMM에서는: log⁡(∑k=1K… )\\log \\left( \\sum_{k=1}^K \\dots \\right)log(k=1∑K​…) 로그가 덧셈 바깥에 가로막혀 있어서 지수함수와 직접 상쇄되지 않습니다! 연쇄법칙으로 미분을 시도하면 분모에 다시 전체 합이 나타나게 되어 모든 모수들이 서로 복잡하게 얽히게 됩니다.\n3. 최적성 필요조건 (Necessary Conditions) 극값(local optimum)에서는 각 모수에 대한 편미분이 000이 되어야 합니다: ∂L∂μk=0⊤,∂L∂Σk=0,∂L∂πk=0\\frac{\\partial \\mathcal{L}}{\\partial \\mu_k} = \\mathbf{0}^\\top, \\quad \\frac{\\partial \\mathcal{L}}{\\partial \\Sigma_k} = \\mathbf{0}, \\quad \\frac{\\partial \\mathcal{L}}{\\partial \\pi_k} = 0∂μk​∂L​=0⊤,∂Σk​∂L​=0,∂πk​∂L​=0합의 로그 미분을 위해 연쇄법칙을 적용하면 (교재 식 11.15): ∂∂θlog⁡p(xn∣θ)=1p(xn∣θ)∂p(xn∣θ)∂θ\\frac{\\partial}{\\partial \\theta} \\log p(x_n \\mid \\theta) = \\frac{1}{p(x_n \\mid \\theta)} \\frac{\\partial p(x_n \\mid \\theta)}{\\partial \\theta}∂θ∂​logp(xn​∣θ)=p(xn​∣θ)1​∂θ∂p(xn​∣θ)​ 여기서 1p(xn∣θ)=1∑j=1KπjN(xn∣μj,Σj)\\frac{1}{p(x_n \\mid \\theta)} = \\frac{1}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)}p(xn​∣θ)1​=∑j=1K​πj​N(xn​∣μj​,Σj​)1​ 입니다.\n11.2.1 책임도(Responsibilities, 352~353쪽) 정의 위 미분 과정에서 분모와 분자의 비로 자연스럽게 등장하는 핵심 물리량이 바로 책임도(responsibility) rnkr_{nk}rnk​입니다 (교재 식 11.17):\nrnk:=πkN(xn∣μk,Σk)∑j=1KπjN(xn∣μj,Σj)r_{nk} := \\frac{\\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)}rnk​:=∑j=1K​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​성질과 직관 사후확률(Posterior Probability): rnkr_{nk}rnk​는 데이터 xnx_nxn​이 주어졌을 때, 이 데이터가 kkk번째 가우시안 성분에서 생성되었을 확률 p(zn=k∣xn)p(z_n = k \\mid x_n)p(zn​=k∣xn​)을 의미합니다. 확률 벡터(Probability Vector): 각 데이터 nnn에 대해 모든 성분의 책임도의 합은 정확히 1입니다: ∑k=1Krnk=1,rnk≥0\\sum_{k=1}^K r_{nk} = 1, \\quad r_{nk} \\ge 0∑k=1K​rnk​=1,rnk​≥0 따라서 벡터 rn:=[rn1,rn2,…,rnK]⊤∈RKr_n := [r_{n1}, r_{n2}, \\dots, r_{nK}]^\\top \\in \\mathbb{R}^Krn​:=[rn1​,rn2​,…,rnK​]⊤∈RK는 하나의 확률분포를 이룹니다. 소프트 할당(Soft Assignment): K-평균 군집화처럼 데이터를 어느 한 클러스터에 100% 귀속시키는 \u0026lsquo;하드 할당(hard assignment)\u0026lsquo;과 달리, GMM은 \u0026ldquo;성분 1에 80%, 성분 2에 20%\u0026ldquo;와 같이 지분을 유연하게 나누어 갖습니다. 유효 데이터 개수 NkN_kNk​: Nk:=∑n=1NrnkN_k := \\sum_{n=1}^N r_{nk}Nk​:=∑n=1N​rnk​ NkN_kNk​는 kkk번째 성분이 전체 데이터셋에 대해 지고 있는 총 책임도의 합이며, 사실상 \u0026quot;kkk번째 가우시안 클러스터에 배정된 유효 데이터 개수(effective number of points)\u0026rdquo;를 뜻합니다. ∑k=1KNk=N\\sum_{k=1}^K N_k = N∑k=1K​Nk​=N이 성립합니다. 11.2.2 평균 벡터 갱신(Updating the Means, 353~355쪽) 정리 11.1 (평균 갱신 공식) 책임도 rnkr_{nk}rnk​가 주어졌을 때, 로그 가능도를 최대화하는 새로운 평균 벡터 μknew\\mu_k^{\\text{new}}μknew​는 다음과 같습니다:\nμknew=∑n=1Nrnkxn∑n=1Nrnk=1Nk∑n=1Nrnkxn\\mu_k^{\\text{new}} = \\frac{\\sum_{n=1}^N r_{nk} x_n}{\\sum_{n=1}^N r_{nk}} = \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} x_nμknew​=∑n=1N​rnk​∑n=1N​rnk​xn​​=Nk​1​n=1∑N​rnk​xn​직관적 의미 이 식은 단순 산술평균이 아니라, 각 데이터 포인트 xnx_nxn​에 책임도 rnkr_{nk}rnk​를 가중치로 부여한 가중 표본 평균(weighted sample mean)입니다! 즉, kkk번째 가우시안은 자신과 가까워서 책임도 rnkr_{nk}rnk​가 큰 데이터들을 강하게 끌어당겨 자신의 새로운 중심 μk\\mu_kμk​로 삼습니다 (교재 그림 11.4).\n11.2.3 공분산 행렬 갱신(Updating the Covariances, 356~358쪽) 정리 11.2 (공분산 갱신 공식) 책임도 rnkr_{nk}rnk​와 갱신된 평균 μk\\mu_kμk​가 주어졌을 때, 새로운 공분산 행렬 Σknew\\Sigma_k^{\\text{new}}Σknew​는 다음과 같습니다:\nΣknew=1Nk∑n=1Nrnk(xn−μk)(xn−μk)⊤\\Sigma_k^{\\text{new}} = \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} (x_n - \\mu_k)(x_n - \\mu_k)^\\topΣknew​=Nk​1​n=1∑N​rnk​(xn​−μk​)(xn​−μk​)⊤직관적 의미 중심 μk\\mu_kμk​를 기준으로 흩어진 정도를 나타내는 외적 행렬 (xn−μk)(xn−μk)⊤(x_n - \\mu_k)(x_n - \\mu_k)^\\top(xn​−μk​)(xn​−μk​)⊤에 책임도 rnkr_{nk}rnk​를 가중치로 곱하여 평균을 낸 가중 표본 공분산(weighted sample covariance)입니다.\n11.2.4 혼합 가중치 갱신(Updating the Mixture Weights, 358~360쪽) 정리 11.3 (혼합 가중치 갱신 공식) 등식 제약조건 ∑k=1Kπk=1\\sum_{k=1}^K \\pi_k = 1∑k=1K​πk​=1을 만족하면서 로그 가능도를 최대화하는 새로운 혼합 가중치 πknew\\pi_k^{\\text{new}}πknew​는 다음과 같습니다:\nπknew=NkN=1N∑n=1Nrnk\\pi_k^{\\text{new}} = \\frac{N_k}{N} = \\frac{1}{N} \\sum_{n=1}^N r_{nk}πknew​=NNk​​=N1​n=1∑N​rnk​직관적 의미 전체 데이터 개수 NNN 중에서 kkk번째 클러스터가 책임지고 있는 유효 데이터 개수 NkN_kNk​의 비율입니다. 즉, kkk번째 가우시안 성분의 상대적 중요도(relative importance)를 나타냅니다.\n손으로 풀어 보는 예제 (1차원 데이터 3개로 EM 1단계 완전 손계산) 이 부분은 시험장에서 직접 손으로 계산할 수 있도록, 소수점 계산 과정을 하나하나 정확히 전개합니다.\n설정:\n데이터셋: 1차원 데이터 3개 X={x1=−1.0, x2=1.0, x3=4.0}\\mathcal{X} = \\{x_1 = -1.0, \\, x_2 = 1.0, \\, x_3 = 4.0\\}X={x1​=−1.0,x2​=1.0,x3​=4.0} (N=3N=3N=3) 성분 개수: K=2K = 2K=2 초기 모수: 성분 1: π1=0.5,μ1=0.0,σ12=1.0\\pi_1 = 0.5, \\quad \\mu_1 = 0.0, \\quad \\sigma_1^2 = 1.0π1​=0.5,μ1​=0.0,σ12​=1.0 성분 2: π2=0.5,μ2=3.0,σ22=1.0\\pi_2 = 0.5, \\quad \\mu_2 = 3.0, \\quad \\sigma_2^2 = 1.0π2​=0.5,μ2​=3.0,σ22​=1.0 정규분포 확률밀도 공식: N(x∣μ,σ2)=12πσ2exp⁡(−(x−μ)22σ2)\\mathcal{N}(x \\mid \\mu, \\sigma^2) = \\frac{1}{\\sqrt{2\\pi \\sigma^2}} \\exp\\left(-\\frac{(x-\\mu)^2}{2\\sigma^2}\\right)N(x∣μ,σ2)=2πσ2​1​exp(−2σ2(x−μ)2​)\nσ=1.0\\sigma = 1.0σ=1.0이므로 12π≈0.39894\\frac{1}{\\sqrt{2\\pi}} \\approx 0.398942π​1​≈0.39894 입니다.\n1단계: E-Step (책임도 rnkr_{nk}rnk​ 계산) 데이터 1 (x1=−1.0x_1 = -1.0x1​=−1.0):\n성분 1과의 거리: (x1−μ1)2=(−1.0−0.0)2=1.0 ⟹ exp⁡(−0.5)≈0.60653(x_1 - \\mu_1)^2 = (-1.0 - 0.0)^2 = 1.0 \\implies \\exp(-0.5) \\approx 0.60653(x1​−μ1​)2=(−1.0−0.0)2=1.0⟹exp(−0.5)≈0.60653 N(x1∣μ1,σ12)=0.39894×0.60653≈0.24197\\mathcal{N}(x_1 \\mid \\mu_1, \\sigma_1^2) = 0.39894 \\times 0.60653 \\approx 0.24197N(x1​∣μ1​,σ12​)=0.39894×0.60653≈0.24197 성분 2와의 거리: (x1−μ2)2=(−1.0−3.0)2=16.0 ⟹ exp⁡(−8.0)≈0.000335(x_1 - \\mu_2)^2 = (-1.0 - 3.0)^2 = 16.0 \\implies \\exp(-8.0) \\approx 0.000335(x1​−μ2​)2=(−1.0−3.0)2=16.0⟹exp(−8.0)≈0.000335 N(x1∣μ2,σ22)=0.39894×0.000335≈0.00013\\mathcal{N}(x_1 \\mid \\mu_2, \\sigma_2^2) = 0.39894 \\times 0.000335 \\approx 0.00013N(x1​∣μ2​,σ22​)=0.39894×0.000335≈0.00013 가중 밀도: π1N1=0.5×0.24197=0.12099\\pi_1 \\mathcal{N}_1 = 0.5 \\times 0.24197 = 0.12099π1​N1​=0.5×0.24197=0.12099, π2N2=0.5×0.00013=0.00007\\pi_2 \\mathcal{N}_2 = 0.5 \\times 0.00013 = 0.00007π2​N2​=0.5×0.00013=0.00007 정규화 합: 0.12099+0.00007=0.121060.12099 + 0.00007 = 0.121060.12099+0.00007=0.12106 책임도: r11=0.120990.12106≈0.9994,r12=0.000070.12106≈0.0006r_{11} = \\frac{0.12099}{0.12106} \\approx 0.9994, \\quad r_{12} = \\frac{0.00007}{0.12106} \\approx 0.0006r11​=0.121060.12099​≈0.9994,r12​=0.121060.00007​≈0.0006 데이터 2 (x2=1.0x_2 = 1.0x2​=1.0):\n성분 1과의 거리: (1.0−0.0)2=1.0 ⟹ exp⁡(−0.5)≈0.60653 ⟹ N1≈0.24197(1.0 - 0.0)^2 = 1.0 \\implies \\exp(-0.5) \\approx 0.60653 \\implies \\mathcal{N}_1 \\approx 0.24197(1.0−0.0)2=1.0⟹exp(−0.5)≈0.60653⟹N1​≈0.24197 성분 2와의 거리: (1.0−3.0)2=4.0 ⟹ exp⁡(−2.0)≈0.13534(1.0 - 3.0)^2 = 4.0 \\implies \\exp(-2.0) \\approx 0.13534(1.0−3.0)2=4.0⟹exp(−2.0)≈0.13534 N(x2∣μ2,σ22)=0.39894×0.13534≈0.05399\\mathcal{N}(x_2 \\mid \\mu_2, \\sigma_2^2) = 0.39894 \\times 0.13534 \\approx 0.05399N(x2​∣μ2​,σ22​)=0.39894×0.13534≈0.05399 가중 밀도 합: 0.5×(0.24197+0.05399)=0.5×0.29596=0.147980.5 \\times (0.24197 + 0.05399) = 0.5 \\times 0.29596 = 0.147980.5×(0.24197+0.05399)=0.5×0.29596=0.14798 책임도: r21=0.5×0.241970.14798=0.241970.29596≈0.8176,r22=0.053990.29596≈0.1824r_{21} = \\frac{0.5 \\times 0.24197}{0.14798} = \\frac{0.24197}{0.29596} \\approx 0.8176, \\quad r_{22} = \\frac{0.05399}{0.29596} \\approx 0.1824r21​=0.147980.5×0.24197​=0.295960.24197​≈0.8176,r22​=0.295960.05399​≈0.1824 데이터 3 (x3=4.0x_3 = 4.0x3​=4.0):\n성분 1과의 거리: (4.0−0.0)2=16.0 ⟹ N1≈0.00013(4.0 - 0.0)^2 = 16.0 \\implies \\mathcal{N}_1 \\approx 0.00013(4.0−0.0)2=16.0⟹N1​≈0.00013 성분 2와의 거리: (4.0−3.0)2=1.0 ⟹ N2≈0.24197(4.0 - 3.0)^2 = 1.0 \\implies \\mathcal{N}_2 \\approx 0.24197(4.0−3.0)2=1.0⟹N2​≈0.24197 대칭성에 의해: r31≈0.0006,r32≈0.9994r_{31} \\approx 0.0006, \\quad r_{32} \\approx 0.9994r31​≈0.0006,r32​≈0.9994 책임도 행렬 R∈R3×2R \\in \\mathbb{R}^{3 \\times 2}R∈R3×2 요약: R=[r11r12r21r22r31r32]=[0.99940.00060.81760.18240.00060.9994]\\begin{aligned} R \u0026amp;= \\begin{bmatrix} r_{11} \u0026amp; r_{12} \\\\ r_{21} \u0026amp; r_{22} \\\\ r_{31} \u0026amp; r_{32} \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} 0.9994 \u0026amp; 0.0006 \\\\ 0.8176 \u0026amp; 0.1824 \\\\ 0.0006 \u0026amp; 0.9994 \\end{bmatrix} \\end{aligned}R​=​r11​r21​r31​​r12​r22​r32​​​=​0.99940.81760.0006​0.00060.18240.9994​​​ 2단계: M-Step (모수 갱신) 유효 데이터 수 NkN_kNk​ 계산: N1=r11+r21+r31=0.9994+0.8176+0.0006=1.8176\\begin{aligned} N_1 \u0026amp;= r_{11} + r_{21} + r_{31} \\\\ \u0026amp;= 0.9994 + 0.8176 + 0.0006 \\\\ \u0026amp;= 1.8176 \\end{aligned}N1​​=r11​+r21​+r31​=0.9994+0.8176+0.0006=1.8176​ N2=r12+r22+r32=0.0006+0.1824+0.9994=1.1824\\begin{aligned} N_2 \u0026amp;= r_{12} + r_{22} + r_{32} \\\\ \u0026amp;= 0.0006 + 0.1824 + 0.9994 \\\\ \u0026amp;= 1.1824 \\end{aligned}N2​​=r12​+r22​+r32​=0.0006+0.1824+0.9994=1.1824​ (검산: N1+N2=1.8176+1.1824=3.0000=NN_1 + N_2 = 1.8176 + 1.1824 = 3.0000 = NN1​+N2​=1.8176+1.1824=3.0000=N)\n새로운 평균 μknew\\mu_k^{\\text{new}}μknew​ 계산: μ1new=r11x1+r21x2+r31x3N1=0.9994(−1.0)+0.8176(1.0)+0.0006(4.0)1.8176=−0.9994+0.8176+0.00241.8176=−0.17941.8176≈−0.0987≈−0.099\\begin{aligned} \\mu_1^{\\text{new}} \u0026amp;= \\frac{r_{11} x_1 + r_{21} x_2 + r_{31} x_3}{N_1} \\\\ \u0026amp;= \\frac{0.9994(-1.0) + 0.8176(1.0) + 0.0006(4.0)}{1.8176} \\\\ \u0026amp;= \\frac{-0.9994 + 0.8176 + 0.0024}{1.8176} \\\\ \u0026amp;= \\frac{-0.1794}{1.8176} \\approx -0.0987 \\approx -0.099 \\end{aligned}μ1new​​=N1​r11​x1​+r21​x2​+r31​x3​​=1.81760.9994(−1.0)+0.8176(1.0)+0.0006(4.0)​=1.8176−0.9994+0.8176+0.0024​=1.8176−0.1794​≈−0.0987≈−0.099​μ2new=r12x1+r22x2+r32x3N2=0.0006(−1.0)+0.1824(1.0)+0.9994(4.0)1.1824=−0.0006+0.1824+3.99761.1824=4.17941.1824≈3.5347≈3.535\\begin{aligned} \\mu_2^{\\text{new}} \u0026amp;= \\frac{r_{12} x_1 + r_{22} x_2 + r_{32} x_3}{N_2} \\\\ \u0026amp;= \\frac{0.0006(-1.0) + 0.1824(1.0) + 0.9994(4.0)}{1.1824} \\\\ \u0026amp;= \\frac{-0.0006 + 0.1824 + 3.9976}{1.1824} \\\\ \u0026amp;= \\frac{4.1794}{1.1824} \\approx 3.5347 \\approx 3.535 \\end{aligned}μ2new​​=N2​r12​x1​+r22​x2​+r32​x3​​=1.18240.0006(−1.0)+0.1824(1.0)+0.9994(4.0)​=1.1824−0.0006+0.1824+3.9976​=1.18244.1794​≈3.5347≈3.535​ 새로운 분산 (σk2)new(\\sigma_k^2)^{\\text{new}}(σk2​)new 계산:\n성분 1의 편차 제곱:\n(x1−μ1new)2=(−1.0−(−0.0987))2=(−0.9013)2≈0.8123(x_1 - \\mu_1^{\\text{new}})^2 = (-1.0 - (-0.0987))^2 = (-0.9013)^2 \\approx 0.8123(x1​−μ1new​)2=(−1.0−(−0.0987))2=(−0.9013)2≈0.8123 (x2−μ1new)2=(1.0−(−0.0987))2=(1.0987)2≈1.2071(x_2 - \\mu_1^{\\text{new}})^2 = (1.0 - (-0.0987))^2 = (1.0987)^2 \\approx 1.2071(x2​−μ1new​)2=(1.0−(−0.0987))2=(1.0987)2≈1.2071 (x3−μ1new)2=(4.0−(−0.0987))2=(4.0987)2≈16.7993(x_3 - \\mu_1^{\\text{new}})^2 = (4.0 - (-0.0987))^2 = (4.0987)^2 \\approx 16.7993(x3​−μ1new​)2=(4.0−(−0.0987))2=(4.0987)2≈16.7993 (σ12)new=0.9994(0.8123)+0.8176(1.2071)+0.0006(16.7993)1.8176=0.8118+0.9869+0.01011.8176=1.80881.8176≈0.995(\\sigma_1^2)^{\\text{new}} = \\frac{0.9994(0.8123) + 0.8176(1.2071) + 0.0006(16.7993)}{1.8176} = \\frac{0.8118 + 0.9869 + 0.0101}{1.8176} = \\frac{1.8088}{1.8176} \\approx 0.995(σ12​)new=1.81760.9994(0.8123)+0.8176(1.2071)+0.0006(16.7993)​=1.81760.8118+0.9869+0.0101​=1.81761.8088​≈0.995 성분 2의 편차 제곱:\n(x1−μ2new)2=(−1.0−3.5347)2=(−4.5347)2≈20.5635(x_1 - \\mu_2^{\\text{new}})^2 = (-1.0 - 3.5347)^2 = (-4.5347)^2 \\approx 20.5635(x1​−μ2new​)2=(−1.0−3.5347)2=(−4.5347)2≈20.5635 (x2−μ2new)2=(1.0−3.5347)2=(−2.5347)2≈6.4247(x_2 - \\mu_2^{\\text{new}})^2 = (1.0 - 3.5347)^2 = (-2.5347)^2 \\approx 6.4247(x2​−μ2new​)2=(1.0−3.5347)2=(−2.5347)2≈6.4247 (x3−μ2new)2=(4.0−3.5347)2=(0.4653)2≈0.2165(x_3 - \\mu_2^{\\text{new}})^2 = (4.0 - 3.5347)^2 = (0.4653)^2 \\approx 0.2165(x3​−μ2new​)2=(4.0−3.5347)2=(0.4653)2≈0.2165 (σ22)new=0.0006(20.5635)+0.1824(6.4247)+0.9994(0.2165)1.1824=0.0123+1.1719+0.21641.1824=1.40061.1824≈1.184(\\sigma_2^2)^{\\text{new}} = \\frac{0.0006(20.5635) + 0.1824(6.4247) + 0.9994(0.2165)}{1.1824} = \\frac{0.0123 + 1.1719 + 0.2164}{1.1824} = \\frac{1.4006}{1.1824} \\approx 1.184(σ22​)new=1.18240.0006(20.5635)+0.1824(6.4247)+0.9994(0.2165)​=1.18240.0123+1.1719+0.2164​=1.18241.4006​≈1.184 새로운 혼합 가중치 πknew\\pi_k^{\\text{new}}πknew​ 계산: π1new=N1N=1.81763≈0.6059\\pi_1^{\\text{new}} = \\frac{N_1}{N} = \\frac{1.8176}{3} \\approx 0.6059π1new​=NN1​​=31.8176​≈0.6059 π2new=N2N=1.18243≈0.3941\\pi_2^{\\text{new}} = \\frac{N_2}{N} = \\frac{1.1824}{3} \\approx 0.3941π2new​=NN2​​=31.1824​≈0.3941 (검산: 0.6059+0.3941=1.00000.6059 + 0.3941 = 1.00000.6059+0.3941=1.0000)\n해석: 초기 평균 μ1=0\\mu_1 = 0μ1​=0은 음수 데이터 x1=−1x_1=-1x1​=−1 쪽으로 끌려가 −0.099-0.099−0.099로 이동했고, 초기 평균 μ2=3\\mu_2 = 3μ2​=3은 큰 양수 데이터 x3=4x_3=4x3​=4 쪽으로 끌려가 3.5353.5353.535로 이동했습니다. 또한 데이터 3개 중 2개(−1-1−1과 111)가 성분 1에 더 가깝기 때문에 성분 1의 비중 π1\\pi_1π1​이 0.50.50.5에서 약 0.6060.6060.606으로 증가했습니다. 단 한 번의 반복만으로도 모델이 데이터의 분포에 매우 민감하게 적응함을 확인할 수 있습니다.\n헷갈리는 점 / 자주 하는 실수 분산 갱신 시 어떤 평균을 쓰는가?: 교재 식 (11.55) 우측 마진 주석에 명시되어 있듯이: M-step에서 μk\\mu_kμk​를 먼저 갱신한 후, 공분산 Σk\\Sigma_kΣk​를 계산할 때는 새롭게 갱신된 평균 μknew\\mu_k^{\\text{new}}μknew​를 사용하는 것이 표준적인 구현입니다. 분모가 NNN이 아니라 NkN_kNk​인 이유: 일반 표본 분산 공식에서는 데이터 총 개수 NNN으로 나누지만, GMM의 성분별 공분산에서는 kkk번째 성분에 할당된 유효 가중치 합 NkN_kNk​로 나누어야 가중 평균의 총합이 1로 정규화됩니다. 11.3 EM 알고리즘(EM Algorithm, 360~363쪽) 왜 필요한가 (직관) 앞 절에서 우리는 아주 기묘한 순환 논리(circular dependency)를 목격했습니다:\n모수 (μk,Σk,πk)(\\mu_k, \\Sigma_k, \\pi_k)(μk​,Σk​,πk​)를 알면 ⟹ \\implies⟹ 책임도 rnkr_{nk}rnk​를 정확히 계산할 수 있다. 책임도 rnkr_{nk}rnk​를 알면 ⟹ \\implies⟹ 갱신 공식(정리 11.1~11.3)을 통해 모수를 정확히 계산할 수 있다. 하지만 우리는 둘 다 모른다! 닭이 먼저냐 달걀이 먼저냐 하는 이 문제를 푸는 가장 우아한 방법이 바로 교대 최적화(coordinate ascent / alternating optimization)입니다. 한쪽을 고정하고 다른 쪽을 구한 뒤, 구한 값으로 다시 첫 번째 것을 갱신하는 과정을 반복하면, 로그 가능도가 매 단계마다 반드시 증가(또는 유지)하며 국소 최적해(local optimum)로 수렴한다는 것이 증명되어 있습니다 (Dempster et al., 1977; Neal and Hinton, 1999).\n정의와 성질 GMM을 위한 EM 알고리즘의 구체적 절차 초기화(Initialization): 모수 μk(0),Σk(0),πk(0)\\mu_k^{(0)}, \\Sigma_k^{(0)}, \\pi_k^{(0)}μk(0)​,Σk(0)​,πk(0)​를 초기화합니다 (k=1,…,Kk=1, \\dots, Kk=1,…,K). (실무에서는 K-means를 먼저 실행한 중심점을 초기 μk\\mu_kμk​로 많이 사용함). E-단계(Expectation Step): 현재 모수 추정값을 고정하고, 각 데이터 xnx_nxn​에 대해 kkk번째 성분이 갖는 책임도 rnkr_{nk}rnk​를 계산합니다 (교재 식 11.53): rnk=πkN(xn∣μk,Σk)∑j=1KπjN(xn∣μj,Σj)r_{nk} = \\frac{\\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)}rnk​=∑j=1K​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​ M-단계(Maximization Step): E-단계에서 계산된 책임도 rnkr_{nk}rnk​를 가중치로 고정하고, 로그 가능도를 최대화하도록 모수를 재추정합니다 (교재 식 11.54~11.56): Nk=∑n=1NrnkN_k = \\sum_{n=1}^N r_{nk}Nk​=∑n=1N​rnk​ μknew=1Nk∑n=1Nrnkxn\\mu_k^{\\text{new}} = \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} x_nμknew​=Nk​1​∑n=1N​rnk​xn​ Σknew=1Nk∑n=1Nrnk(xn−μknew)(xn−μknew)⊤\\Sigma_k^{\\text{new}} = \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} (x_n - \\mu_k^{\\text{new}})(x_n - \\mu_k^{\\text{new}})^\\topΣknew​=Nk​1​∑n=1N​rnk​(xn​−μknew​)(xn​−μknew​)⊤ πknew=NkN\\pi_k^{\\text{new}} = \\frac{N_k}{N}πknew​=NNk​​ 수렴 판정(Convergence Check): 로그 가능도 L(θ)\\mathcal{L}(\\theta)L(θ)의 변화량 ∣L(t+1)−L(t)∣\u0026lt;ϵ|\\mathcal{L}^{(t+1)} - \\mathcal{L}^{(t)}| \u0026lt; \\epsilon∣L(t+1)−L(t)∣\u0026lt;ϵ 이거나 모수의 변화량이 임계값 이하이면 종료하고, 그렇지 않으면 2단계로 돌아갑니다. 핵심 이론적 성질 로그 가능도의 단조 증가성: L(θ(t+1))≥L(θ(t))\\mathcal{L}(\\theta^{(t+1)}) \\ge \\mathcal{L}(\\theta^{(t)})L(θ(t+1))≥L(θ(t)) EM 알고리즘의 모든 반복은 로그 가능도를 결코 감소시키지 않습니다. 국소 최적해(Local Optimum): EM 알고리즘은 전역 최적해(global optimum)로의 수렴을 보장하지 않습니다. 초기값 설정에 따라 서로 다른 국소 극대점에 도달할 수 있으므로, 서로 다른 무작위 초기화로 여러 번 실행하는 전략이 권장됩니다. 손으로 풀어 보는 예제 (수렴 여부 판단) 반복 ttt에서 음의 로그 가능도(Negative Log-Likelihood, NLL)가 다음과 같이 측정되었다고 합시다:\nt=0t=0t=0: NLL=28.3\\text{NLL} = 28.3NLL=28.3 t=1t=1t=1: NLL=14.4\\text{NLL} = 14.4NLL=14.4 t=2t=2t=2: NLL=13.8\\text{NLL} = 13.8NLL=13.8 t=3t=3t=3: NLL=13.51\\text{NLL} = 13.51NLL=13.51 t=4t=4t=4: NLL=13.501\\text{NLL} = 13.501NLL=13.501 수렴 기준 ϵ=0.01\\epsilon = 0.01ϵ=0.01일 때: ∣NLL(4)−NLL(3)∣=∣13.501−13.510∣=0.009\u0026lt;0.01|\\text{NLL}^{(4)} - \\text{NLL}^{(3)}| = |13.501 - 13.510| = 0.009 \u0026lt; 0.01∣NLL(4)−NLL(3)∣=∣13.501−13.510∣=0.009\u0026lt;0.01 이므로 4회 반복에서 수렴 판정을 내리고 반복을 중단합니다. 헷갈리는 점 / 자주 하는 실수 EM은 경사하강법(Gradient Descent)인가?: 아닙니다! 경사하강법은 학습률(learning rate) γ\\gammaγ를 사용자가 설정해야 하고 발산 위험이 있지만, EM 알고리즘은 닫힌 갱신식을 사용하므로 학습률 하이퍼파라미터가 없으며 매 단계 단조 증가가 수학적으로 보장됩니다. 11.4 잠재변수 관점(Latent-Variable Perspective, 363~367쪽) 왜 필요한가 (직관) 앞선 11.2절과 11.3절의 유도는 다소 직관적이고 임의적인(ad-hoc) 면이 있었습니다. \u0026ldquo;분모와 분자의 비를 책임도라고 이름 붙이고, 마치 가중치처럼 취급해서 교대로 풀자\u0026quot;는 방식이었기 때문입니다. 11.4절에서는 이를 매우 엄밀한 확률론의 틀로 끌어올립니다.\n우리가 관측한 데이터 xnx_nxn​ 뒤에는 \u0026ldquo;이 데이터가 과연 몇 번째 가우시안에서 태어났는가?\u0026rdquo;를 가리키는 숨겨진 변수, 즉 잠재변수(latent variable) znz_nzn​이 존재한다고 생각하는 것입니다. 이 관점을 취하면:\n책임도 rnkr_{nk}rnk​가 다름 아닌 잠재변수의 사후확률 p(znk=1∣xn)p(z_{nk}=1 \\mid x_n)p(znk​=1∣xn​)임이 증명됩니다. GMM뿐만 아니라 결측치가 있는 모든 확률 모델에 적용 가능한 일반적인 EM 알고리즘 이론(QQQ-함수)이 자연스럽게 유도됩니다. 정의와 성질 1. 1-of-K 표현 (One-Hot Encoding) KKK개의 성분 중 단 하나만을 선택하는 이산 잠재변수 벡터 z∈RKz \\in \\mathbb{R}^Kz∈RK를 정의합니다: z=[z1,z2,…,zK]⊤,zk∈{0,1},∑k=1Kzk=1\\begin{gathered} z = [z_1, z_2, \\dots, z_K]^\\top, \\\\ z_k \\in \\{0, 1\\}, \\\\ \\sum_{k=1}^K z_k = 1 \\end{gathered}z=[z1​,z2​,…,zK​]⊤,zk​∈{0,1},k=1∑K​zk​=1​ 예를 들어 K=3K=3K=3이고 데이터가 2번째 성분에서 생성되었다면 z=[0,1,0]⊤z = [0, 1, 0]^\\topz=[0,1,0]⊤ 입니다. (이러한 분포를 범주형 분포 또는 다항분포의 특수형태인 \u0026lsquo;multinoulli\u0026rsquo;라고 부릅니다).\n2. 생성 과정 (Generative Process) 데이터 xxx가 만들어지는 과정은 다음과 같은 2단계 계층 모델(hierarchical model)입니다:\n잠재변수 표집: 사전분포 p(z)p(z)p(z)에서 어떤 성분을 고를지 결정합니다: p(zk=1)=πk ⟺ p(z)=∏k=1Kπkzkp(z_k = 1) = \\pi_k \\iff p(z) = \\prod_{k=1}^K \\pi_k^{z_k}p(zk​=1)=πk​⟺p(z)=∏k=1K​πkzk​​ 조건부 관측치 표집: 선택된 성분(zk=1z_k=1zk​=1)의 가우시안에서 데이터 xxx를 추출합니다: p(x∣zk=1)=N(x∣μk,Σk) ⟺ p(x∣z)=∏k=1KN(x∣μk,Σk)zkp(x \\mid z_k = 1) = \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k) \\iff p(x \\mid z) = \\prod_{k=1}^K \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)^{z_k}p(x∣zk​=1)=N(x∣μk​,Σk​)⟺p(x∣z)=∏k=1K​N(x∣μk​,Σk​)zk​ 3. 결합분포 및 주변 가능도 (Marginal Likelihood) 데이터와 잠재변수의 결합확률분포(joint distribution)는 다음과 같습니다 (교재 식 11.61): p(x,zk=1)=p(x∣zk=1)p(zk=1)=πkN(x∣μk,Σk)\\begin{aligned} p(x, z_k = 1) \u0026amp;= p(x \\mid z_k = 1) p(z_k = 1) \\\\ \u0026amp;= \\pi_k \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k) \\end{aligned}p(x,zk​=1)​=p(x∣zk​=1)p(zk​=1)=πk​N(x∣μk​,Σk​)​우리가 실제로 관측하는 데이터 xxx의 주변분포(marginal distribution)는 보이지 않는 잠재변수 zzz의 모든 가능한 상태(KKK가지의 일-핫 벡터)에 대해 합(marginalize out)을 취한 것입니다 (교재 식 11.63, 11.66): p(x∣θ)=∑zp(x,z∣θ)=∑k=1Kp(x,zk=1∣θ)=∑k=1KπkN(x∣μk,Σk)\\begin{aligned} p(x \\mid \\theta) \u0026amp;= \\sum_z p(x, z \\mid \\theta) \\\\ \u0026amp;= \\sum_{k=1}^K p(x, z_k=1 \\mid \\theta) \\\\ \u0026amp;= \\sum_{k=1}^K \\pi_k \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k) \\end{aligned}p(x∣θ)​=z∑​p(x,z∣θ)=k=1∑K​p(x,zk​=1∣θ)=k=1∑K​πk​N(x∣μk​,Σk​)​ 이로써 앞서 11.1절에서 정의했던 GMM 식 (11.3)이 잠재변수 모델의 한계화(marginalization) 결과와 정확히 일치함이 입증됩니다!\n4. 사후분포로서의 책임도 베이즈 정리를 적용하여 관측치 xxx가 주어졌을 때 잠재변수 zk=1z_k=1zk​=1일 사후확률을 계산하면 (교재 식 11.69): p(zk=1∣x)=p(x,zk=1)p(x)=πkN(x∣μk,Σk)∑j=1KπjN(x∣μj,Σj)≡rk\\begin{aligned} p(z_k = 1 \\mid x) \u0026amp;= \\frac{p(x, z_k = 1)}{p(x)} \\\\ \u0026amp;= \\frac{\\pi_k \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x \\mid \\mu_j, \\Sigma_j)} \\\\ \u0026amp;\\equiv r_k \\end{aligned}p(zk​=1∣x)​=p(x)p(x,zk​=1)​=∑j=1K​πj​N(x∣μj​,Σj​)πk​N(x∣μk​,Σk​)​≡rk​​ 따라서 책임도는 다름 아닌 잠재변수 zk=1z_k=1zk​=1의 베이지안 사후확률입니다!\n5. 일반적 EM 알고리즘: QQQ-함수 (Expected Complete-Data Log-Likelihood) 모수 θ(t)\\theta^{(t)}θ(t)가 주어졌을 때, 잠재변수 zzz의 사후분포 p(z∣x,θ(t))p(z \\mid x, \\theta^{(t)})p(z∣x,θ(t)) 하에서 완전 데이터 로그 가능도(complete-data log-likelihood) log⁡p(x,z∣θ)\\log p(x, z \\mid \\theta)logp(x,z∣θ)의 조건부 기댓값을 QQQ-함수라고 정의합니다 (교재 식 11.73):\nQ(θ∣θ(t)):=Ez∣x,θ(t)[log⁡p(x,z∣θ)]=∑zp(z∣x,θ(t))log⁡p(x,z∣θ)\\begin{aligned} \u0026amp;Q(\\theta \\mid \\theta^{(t)}) \\\\ \u0026amp;:= \\mathbb{E}_{z \\mid x, \\theta^{(t)}} [\\log p(x, z \\mid \\theta)] \\\\ \u0026amp;= \\sum_z p(z \\mid x, \\theta^{(t)}) \\log p(x, z \\mid \\theta) \\end{aligned}​Q(θ∣θ(t)):=Ez∣x,θ(t)​[logp(x,z∣θ)]=z∑​p(z∣x,θ(t))logp(x,z∣θ)​ E-단계: 현재 모수 θ(t)\\theta^{(t)}θ(t)를 이용해 사후분포 p(z∣x,θ(t))=rnkp(z \\mid x, \\theta^{(t)}) = r_{nk}p(z∣x,θ(t))=rnk​를 구하고 Q(θ∣θ(t))Q(\\theta \\mid \\theta^{(t)})Q(θ∣θ(t)) 함수를 구성합니다. M-단계: 이 QQQ-함수를 새로운 모수 θ\\thetaθ에 대해 최대화하여 θ(t+1)\\theta^{(t+1)}θ(t+1)을 얻습니다: θ(t+1)=arg⁡max⁡θQ(θ∣θ(t))\\theta^{(t+1)} = \\arg\\max_\\theta Q(\\theta \\mid \\theta^{(t)})θ(t+1)=argmaxθ​Q(θ∣θ(t)) 손으로 풀어 보는 예제 (일-핫 벡터와 기대값 계산) K=2K=2K=2일 때, 어떤 점 xnx_nxn​에 대해 E-단계에서 구한 사후확률이 p(zn1=1∣xn)=0.7p(z_{n1}=1 \\mid x_n) = 0.7p(zn1​=1∣xn​)=0.7, p(zn2=1∣xn)=0.3p(z_{n2}=1 \\mid x_n) = 0.3p(zn2​=1∣xn​)=0.3이라고 하자. 잠재변수 zn=[zn1,zn2]⊤z_n = [z_{n1}, z_{n2}]^\\topzn​=[zn1​,zn2​]⊤의 기댓값 E[zn]\\mathbb{E}[z_n]E[zn​]을 구하시오.\n풀이: zn1z_{n1}zn1​은 확률 0.7로 1, 확률 0.3으로 0을 갖는 베르누이 확률변수이므로: E[zn1]=1×0.7+0×0.3=0.7\\mathbb{E}[z_{n1}] = 1 \\times 0.7 + 0 \\times 0.3 = 0.7E[zn1​]=1×0.7+0×0.3=0.7 E[zn2]=1×0.3+0×0.7=0.3\\mathbb{E}[z_{n2}] = 1 \\times 0.3 + 0 \\times 0.7 = 0.3E[zn2​]=1×0.3+0×0.7=0.3 따라서 E[zn]=[0.7,0.3]⊤=[rn1,rn2]⊤\\mathbb{E}[z_n] = [0.7, 0.3]^\\top = [r_{n1}, r_{n2}]^\\topE[zn​]=[0.7,0.3]⊤=[rn1​,rn2​]⊤. 즉, 잠재 지시변수의 기댓값은 정확히 책임도 벡터와 같다는 기본 성질을 손계산으로 바로 확인할 수 있습니다.\n헷갈리는 점 / 자주 하는 실수 관측 데이터 가능도 vs 완전 데이터 가능도: 관측 데이터 가능도 log⁡p(x∣θ)=log⁡∑zp(x,z∣θ)\\log p(x \\mid \\theta) = \\log \\sum_z p(x, z \\mid \\theta)logp(x∣θ)=log∑z​p(x,z∣θ)는 로그 안에 합이 있어서 최적화가 극도로 어렵습니다. 완전 데이터 가능도 log⁡p(x,z∣θ)=∑kzklog⁡[πkN(x∣μk,Σk)]\\log p(x, z \\mid \\theta) = \\sum_k z_k \\log [\\pi_k \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)]logp(x,z∣θ)=∑k​zk​log[πk​N(x∣μk​,Σk​)]는 zzz가 지수에 있던 것이 로그 앞으로 내려오면서 합의 로그가 사라지고 로그의 합만 남아 닫힌 형태로 쉽게 최대화됩니다. EM은 바로 이 완전 데이터 가능도의 기댓값을 최적화하는 기법입니다. 11.5 더 읽을거리(Further Reading, 368~369쪽) 왜 필요한가 (직관) GMM과 EM 알고리즘을 배웠다면, 머신러닝의 다른 핵심 알고리즘들과 어떻게 연결되는지, 그리고 실무에서 마주치는 한계점과 대안은 무엇인지 시야를 넓혀야 합니다.\n정의와 핵심 성질 1. 조상 표집 (Ancestral Sampling) GMM은 데이터의 밀도를 추정할 뿐만 아니라, 새로운 가상의 데이터를 무한히 생성할 수 있는 생성 모델(Generative Model)입니다.\n1단계: 혼합 가중치 확률벡터 [π1,…,πK]⊤[\\pi_1, \\dots, \\pi_K]^\\top[π1​,…,πK​]⊤에 따라 성분 인덱스 k∼Cat(π)k \\sim \\text{Cat}(\\pi)k∼Cat(π)를 하나 뽑습니다. 2단계: 선택된 가우시안 분포 N(μk,Σk)\\mathcal{N}(\\mu_k, \\Sigma_k)N(μk​,Σk​)에서 데이터 xnewx_{\\text{new}}xnew​를 뽑습니다. 이 과정을 NNN번 반복하면 GMM으로부터 표본 데이터셋을 얻을 수 있습니다. 2. K-평균 군집화(K-Means)와의 관계 (11.5절) 교재 서술: GMM의 평균을 군집 중심으로 보고 공분산은 무시하거나 III로 고정하면 K-평균이 된다. K-평균도 EM처럼 \u0026ldquo;할당 ↔ 중심 갱신\u0026quot;을 반복하지만, 데이터를 중심에 하드(hard) 할당하고 GMM은 책임도로 소프트(soft) 할당한다는 점이 다르다.\n(교재 밖 보충) 극한으로 보는 방법: 모든 공분산을 Σk=σ2I\\Sigma_k = \\sigma^2 IΣk​=σ2I로 두고 σ2→0\\sigma^2 \\to 0σ2→0 극한을 취하면, 가장 가까운 중심의 책임도는 1, 나머지는 0이 된다: rnk→{1if k=arg⁡min⁡j∥xn−μj∥20otherwiser_{nk} \\to \\begin{cases} 1 \u0026amp; \\text{if } k = \\arg\\min_j \\|x_n - \\mu_j\\|^2 \\\\ 0 \u0026amp; \\text{otherwise} \\end{cases}rnk​→{10​if k=argminj​∥xn​−μj​∥2otherwise​ 이것이 K-평균의 하드 할당(hard assignment)과 같다(Bishop 교재 등에서 쓰는 설명이다).\n3. 최대가능도의 치명적 한계: 특이성(Singularity / Covariance Collapsing) GMM을 MLE로 학습할 때 매우 위험한 현상이 발생할 수 있습니다. 만약 어떤 가우시안 성분 kkk의 중심 μk\\mu_kμk​가 우연히 데이터 포인트 중 하나인 xnx_nxn​과 정확히 일치하게 되고(μk=xn\\mu_k = x_nμk​=xn​), 그 성분의 분산 σk2→0\\sigma_k^2 \\to 0σk2​→0으로 수렴하면: N(xn∣xn,σk2)=12πσk2exp⁡(0)→∞\\mathcal{N}(x_n \\mid x_n, \\sigma_k^2) = \\frac{1}{\\sqrt{2\\pi \\sigma_k^2}} \\exp(0) \\to \\inftyN(xn​∣xn​,σk2​)=2πσk2​​1​exp(0)→∞ 전체 로그 가능도가 +∞+\\infty+∞로 발산해 버립니다! 이를 특이성(singularity) 또는 공분산 붕괴(covariance collapsing)라고 부르며, MLE가 과적합(overfitting)에 극도로 취약함을 보여줍니다.\n해결책: 모수에 사전분포(Conjugate Prior)를 부여하는 베이지안 GMM(Bayesian GMM)이나 변분 추론(Variational Inference)을 사용하거나, 공분산 행렬 대각선에 작은 양수 ϵI\\epsilon IϵI를 더해주는 정규화(ridge regularization)를 적용합니다. 4. 비모수 밀도 추정과의 비교: 히스토그램과 커널 밀도 추정 (KDE, 교재 식 11.74) 히스토그램(Histogram): 구간(bin)을 나누어 빈도를 세는 방식. 구간 너비(bin width)에 극도로 민감하며 불연속적인 계단 모양이 됨. 커널 밀도 추정(Kernel Density Estimation, KDE): 모든 데이터 포인트 xnx_nxn​마다 부드러운 커널 함수 k(⋅)k(\\cdot)k(⋅)를 얹어 합치는 비모수적 기법: p(x)=1Nh∑n=1Nk(x−xnh)p(x) = \\frac{1}{N h} \\sum_{n=1}^N k\\left( \\frac{x - x_n}{h} \\right)p(x)=Nh1​∑n=1N​k(hx−xn​​) h\u0026gt;0h \u0026gt; 0h\u0026gt;0: 대역폭(bandwidth, 평활화 매개변수). GMM과의 차이: GMM은 모수의 개수가 KKK개로 고정된 모수적 모델(parametric model)이지만, KDE는 데이터가 늘어날 때마다 커널의 개수가 데이터 수 NNN만큼 함께 늘어나는 비모수적 모델(nonparametric model)입니다. 핵심 유도 모음 (백지에 직접 쓸 수 있어야 하는 유도) 시험 준비를 위해 유도 과정의 모든 단계를 생략 없이, 각 줄마다 근거를 명시하여 정리합니다.\n유도 1: GMM 평균 갱신식 유도 (Theorem 11.1) 목표: 로그 가능도 L(θ)=∑n=1Nlog⁡p(xn∣θ)\\mathcal{L}(\\theta) = \\sum_{n=1}^N \\log p(x_n \\mid \\theta)L(θ)=∑n=1N​logp(xn​∣θ)를 μk\\mu_kμk​에 대해 편미분하여 000으로 놓고 μknew\\mu_k^{\\text{new}}μknew​를 구한다.\n로그 미분 연쇄법칙 적용: ∂L∂μk=∑n=1N1p(xn∣θ)∂p(xn∣θ)∂μk\\frac{\\partial \\mathcal{L}}{\\partial \\mu_k} = \\sum_{n=1}^N \\frac{1}{p(x_n \\mid \\theta)} \\frac{\\partial p(x_n \\mid \\theta)}{\\partial \\mu_k}∂μk​∂L​=n=1∑N​p(xn​∣θ)1​∂μk​∂p(xn​∣θ)​ (이유: ddulog⁡(u)=1u\\frac{d}{du}\\log(u) = \\frac{1}{u}dud​log(u)=u1​ 이고 연쇄법칙 적용)\n혼합 밀도의 편미분 전개: p(xn∣θ)=∑j=1KπjN(xn∣μj,Σj)p(x_n \\mid \\theta) = \\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)p(xn​∣θ)=j=1∑K​πj​N(xn​∣μj​,Σj​) 이므로, μk\\mu_kμk​에 의존하는 항은 오직 j=kj=kj=k인 성분뿐이다: ∂p(xn∣θ)∂μk=πk∂N(xn∣μk,Σk)∂μk\\frac{\\partial p(x_n \\mid \\theta)}{\\partial \\mu_k} = \\pi_k \\frac{\\partial \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\partial \\mu_k}∂μk​∂p(xn​∣θ)​=πk​∂μk​∂N(xn​∣μk​,Σk​)​ 가우시안 확률밀도의 평균에 대한 미분: N(xn∣μk,Σk)=1(2π)D/2∣Σk∣1/2exp⁡(−12(xn−μk)⊤Σk−1(xn−μk))\\begin{aligned} \u0026amp;\\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k) \\\\ \u0026amp;= \\frac{1}{(2\\pi)^{D/2}|\\Sigma_k|^{1/2}} \\\\ \u0026amp;\\quad \\exp\\left(-\\frac{1}{2}(x_n - \\mu_k)^\\top \\Sigma_k^{-1} (x_n - \\mu_k)\\right) \\end{aligned}​N(xn​∣μk​,Σk​)=(2π)D/2∣Σk​∣1/21​exp(−21​(xn​−μk​)⊤Σk−1​(xn​−μk​))​ 지수 부분의 미분: ∂∂μk[−12(xn−μk)⊤Σk−1(xn−μk)]=(xn−μk)⊤Σk−1\\frac{\\partial}{\\partial \\mu_k} \\left[ -\\frac{1}{2}(x_n - \\mu_k)^\\top \\Sigma_k^{-1} (x_n - \\mu_k) \\right] = (x_n - \\mu_k)^\\top \\Sigma_k^{-1}∂μk​∂​[−21​(xn​−μk​)⊤Σk−1​(xn​−μk​)]=(xn​−μk​)⊤Σk−1​ 따라서: ∂N(xn∣μk,Σk)∂μk=(xn−μk)⊤Σk−1N(xn∣μk,Σk)\\begin{aligned} \u0026amp;\\frac{\\partial \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\partial \\mu_k} \\\\ \u0026amp;= (x_n - \\mu_k)^\\top \\Sigma_k^{-1} \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k) \\end{aligned}​∂μk​∂N(xn​∣μk​,Σk​)​=(xn​−μk​)⊤Σk−1​N(xn​∣μk​,Σk​)​ 전체 식 결합 및 책임도 rnkr_{nk}rnk​ 출현: ∂L∂μk=∑n=1NπkN(xn∣μk,Σk)∑j=1KπjN(xn∣μj,Σj)(xn−μk)⊤Σk−1\\begin{aligned} \u0026amp;\\frac{\\partial \\mathcal{L}}{\\partial \\mu_k} \\\\ \u0026amp;= \\sum_{n=1}^N \\frac{\\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)} \\\\ \u0026amp;\\quad (x_n - \\mu_k)^\\top \\Sigma_k^{-1} \\end{aligned}​∂μk​∂L​=n=1∑N​∑j=1K​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​(xn​−μk​)⊤Σk−1​​ 앞부분의 분수식은 정확히 책임도 rnkr_{nk}rnk​의 정의(식 11.17)이다: ∂L∂μk=∑n=1Nrnk(xn−μk)⊤Σk−1\\frac{\\partial \\mathcal{L}}{\\partial \\mu_k} = \\sum_{n=1}^N r_{nk} (x_n - \\mu_k)^\\top \\Sigma_k^{-1}∂μk​∂L​=n=1∑N​rnk​(xn​−μk​)⊤Σk−1​ 0⊤0^\\top0⊤으로 놓고 μk\\mu_kμk​에 대해 풀기: 양변에 우측으로 Σk\\Sigma_kΣk​를 곱하면 역행렬이 소거된다: ∑n=1Nrnk(xn−μk)⊤=0⊤ ⟺ ∑n=1Nrnkxn=∑n=1Nrnkμk\\begin{gathered} \\sum_{n=1}^N r_{nk} (x_n - \\mu_k)^\\top = \\mathbf{0}^\\top \\\\ \\iff \\sum_{n=1}^N r_{nk} x_n = \\sum_{n=1}^N r_{nk} \\mu_k \\end{gathered}n=1∑N​rnk​(xn​−μk​)⊤=0⊤⟺n=1∑N​rnk​xn​=n=1∑N​rnk​μk​​ μk\\mu_kμk​는 합산 인덱스 nnn에 무관한 상수 벡터이므로 밖으로 뺀다: (∑n=1Nrnk)μk=∑n=1Nrnkxn\\left(\\sum_{n=1}^N r_{nk}\\right) \\mu_k = \\sum_{n=1}^N r_{nk} x_n(n=1∑N​rnk​)μk​=n=1∑N​rnk​xn​ 양변을 Nk:=∑n=1NrnkN_k := \\sum_{n=1}^N r_{nk}Nk​:=∑n=1N​rnk​ 로 나누면: μknew=∑n=1Nrnkxn∑n=1Nrnk=1Nk∑n=1Nrnkxn■\\begin{aligned} \\mu_k^{\\text{new}} \u0026amp;= \\frac{\\sum_{n=1}^N r_{nk} x_n}{\\sum_{n=1}^N r_{nk}} \\\\ \u0026amp;= \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} x_n \\quad \\blacksquare \\end{aligned}μknew​​=∑n=1N​rnk​∑n=1N​rnk​xn​​=Nk​1​n=1∑N​rnk​xn​■​ 유도 2: GMM 공분산 행렬 갱신식 유도 (Theorem 11.2) 필요한 행렬 미분 기본 공식 (교재 5장):\n공식 1: ∂∂Alog⁡det⁡(A)=A−⊤=A−1\\frac{\\partial}{\\partial A} \\log \\det(A) = A^{-\\top} = A^{-1}∂A∂​logdet(A)=A−⊤=A−1 (AAA가 대칭일 때) ⟹ ∂∂Σdet⁡(Σ)−1/2=−12det⁡(Σ)−1/2Σ−1\\implies \\frac{\\partial}{\\partial \\Sigma} \\det(\\Sigma)^{-1/2} = -\\frac{1}{2} \\det(\\Sigma)^{-1/2} \\Sigma^{-1}⟹∂Σ∂​det(Σ)−1/2=−21​det(Σ)−1/2Σ−1 (교재 식 5.101) 공식 2: ∂∂A(x⊤A−1x)=−A−1xx⊤A−1\\frac{\\partial}{\\partial A} (x^\\top A^{-1} x) = -A^{-1} x x^\\top A^{-1}∂A∂​(x⊤A−1x)=−A−1xx⊤A−1 (교재 식 5.103) 유도 단계:\n가우시안 밀도 Nn:=N(xn∣μk,Σk)=(2π)−D/2det⁡(Σk)−1/2exp⁡(−12(xn−μk)⊤Σk−1(xn−μk))\\begin{aligned} \u0026amp;\\mathcal{N}_n \\\\ \u0026amp;:= \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k) \\\\ \u0026amp;= (2\\pi)^{-D/2} \\det(\\Sigma_k)^{-1/2} \\\\ \u0026amp;\\quad \\exp\\left(-\\frac{1}{2}(x_n-\\mu_k)^\\top \\Sigma_k^{-1} (x_n-\\mu_k)\\right) \\end{aligned}​Nn​:=N(xn​∣μk​,Σk​)=(2π)−D/2det(Σk​)−1/2exp(−21​(xn​−μk​)⊤Σk−1​(xn​−μk​))​의 Σk\\Sigma_kΣk​에 대한 편미분: 곱의 미분법을 적용하면: ∂Nn∂Σk=(2π)−D/2[(−12det⁡(Σk)−1/2Σk−1)exp⁡(… )+det⁡(Σk)−1/2exp⁡(… )(−12(−Σk−1(xn−μk)(xn−μk)⊤Σk−1))]=−12Nn[Σk−1−Σk−1(xn−μk)(xn−μk)⊤Σk−1]\\begin{aligned} \\frac{\\partial \\mathcal{N}_n}{\\partial \\Sigma_k} \u0026amp;= (2\\pi)^{-D/2} \\Bigl[ \\\\ \u0026amp;\\quad \\left(-\\frac{1}{2} \\det(\\Sigma_k)^{-1/2} \\Sigma_k^{-1}\\right) \\exp(\\dots) \\\\ \u0026amp;\\quad + \\det(\\Sigma_k)^{-1/2} \\exp(\\dots) \\\\ \u0026amp;\\quad \\left(-\\frac{1}{2} \\left(-\\Sigma_k^{-1}(x_n-\\mu_k)(x_n-\\mu_k)^\\top \\Sigma_k^{-1}\\right)\\right) \\Bigr] \\\\ \u0026amp;= -\\frac{1}{2} \\mathcal{N}_n \\Bigl[ \\Sigma_k^{-1} \\\\ \u0026amp;\\quad - \\Sigma_k^{-1} (x_n - \\mu_k)(x_n - \\mu_k)^\\top \\Sigma_k^{-1} \\Bigr] \\end{aligned}∂Σk​∂Nn​​​=(2π)−D/2[(−21​det(Σk​)−1/2Σk−1​)exp(…)+det(Σk​)−1/2exp(…)(−21​(−Σk−1​(xn​−μk​)(xn​−μk​)⊤Σk−1​))]=−21​Nn​[Σk−1​−Σk−1​(xn​−μk​)(xn​−μk​)⊤Σk−1​]​ 로그 가능도의 편미분에 대입: ∂L∂Σk=∑n=1N1p(xn∣θ)πk∂Nn∂Σk=−12∑n=1Nrnk[Σk−1−Σk−1(xn−μk)(xn−μk)⊤Σk−1]\\begin{aligned} \\frac{\\partial \\mathcal{L}}{\\partial \\Sigma_k} \u0026amp;= \\sum_{n=1}^N \\frac{1}{p(x_n \\mid \\theta)} \\pi_k \\frac{\\partial \\mathcal{N}_n}{\\partial \\Sigma_k} \\\\ \u0026amp;= -\\frac{1}{2} \\sum_{n=1}^N r_{nk} \\Bigl[ \\Sigma_k^{-1} \\\\ \u0026amp;\\quad - \\Sigma_k^{-1} (x_n - \\mu_k)(x_n - \\mu_k)^\\top \\Sigma_k^{-1} \\Bigr] \\end{aligned}∂Σk​∂L​​=n=1∑N​p(xn​∣θ)1​πk​∂Σk​∂Nn​​=−21​n=1∑N​rnk​[Σk−1​−Σk−1​(xn​−μk​)(xn​−μk​)⊤Σk−1​]​ 식을 정리하고 000으로 놓기: −12Σk−1(∑n=1Nrnk)+12Σk−1(∑n=1Nrnk(xn−μk)(xn−μk)⊤)Σk−1=0\\begin{aligned} \u0026amp;-\\frac{1}{2} \\Sigma_k^{-1} \\left( \\sum_{n=1}^N r_{nk} \\right) \\\\ \u0026amp;\\quad + \\frac{1}{2} \\Sigma_k^{-1} \\Bigl( \\\\ \u0026amp;\\quad \\sum_{n=1}^N r_{nk} (x_n - \\mu_k)(x_n - \\mu_k)^\\top \\Bigr) \\Sigma_k^{-1} \\\\ \u0026amp;\\quad = \\mathbf{0} \\end{aligned}​−21​Σk−1​(n=1∑N​rnk​)+21​Σk−1​(n=1∑N​rnk​(xn​−μk​)(xn​−μk​)⊤)Σk−1​=0​ Nk:=∑n=1NrnkN_k := \\sum_{n=1}^N r_{nk}Nk​:=∑n=1N​rnk​ 이므로, 양변의 좌측에 Σk\\Sigma_kΣk​, 우측에 Σk\\Sigma_kΣk​를 곱하면: NkΣk=∑n=1Nrnk(xn−μk)(xn−μk)⊤N_k \\Sigma_k = \\sum_{n=1}^N r_{nk} (x_n - \\mu_k)(x_n - \\mu_k)^\\topNk​Σk​=n=1∑N​rnk​(xn​−μk​)(xn​−μk​)⊤ 양변을 NkN_kNk​로 나누면: Σknew=1Nk∑n=1Nrnk(xn−μk)(xn−μk)⊤■\\begin{aligned} \u0026amp;\\Sigma_k^{\\text{new}} \\\\ \u0026amp;= \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} \\\\ \u0026amp;\\quad (x_n - \\mu_k)(x_n - \\mu_k)^\\top \\quad \\blacksquare \\end{aligned}​Σknew​=Nk​1​n=1∑N​rnk​(xn​−μk​)(xn​−μk​)⊤■​ 유도 3: 혼합 가중치 πk\\pi_kπk​ 갱신식 유도 (Theorem 11.3) 목표: 제약조건 ∑k=1Kπk=1\\sum_{k=1}^K \\pi_k = 1∑k=1K​πk​=1 하에서 L(θ)\\mathcal{L}(\\theta)L(θ)를 최대화한다.\n라그랑지안(Lagrangian) 함수 구성: 등식 제약조건에 대한 라그랑주 승수 λ\\lambdaλ를 도입한다 (교재 식 11.43): Λ(π,λ)=∑n=1Nlog⁡(∑k=1KπkN(xn∣μk,Σk))+λ(∑k=1Kπk−1)\\begin{aligned} \\Lambda(\\pi, \\lambda) \u0026amp;= \\sum_{n=1}^N \\log \\Bigl( \\\\ \u0026amp;\\quad \\sum_{k=1}^K \\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k) \\Bigr) \\\\ \u0026amp;\\quad + \\lambda \\left( \\sum_{k=1}^K \\pi_k - 1 \\right) \\end{aligned}Λ(π,λ)​=n=1∑N​log(k=1∑K​πk​N(xn​∣μk​,Σk​))+λ(k=1∑K​πk​−1)​ πk\\pi_kπk​에 대한 편미분 계산: ∂Λ∂πk=∑n=1NN(xn∣μk,Σk)∑j=1KπjN(xn∣μj,Σj)+λ=0\\begin{aligned} \\frac{\\partial \\Lambda}{\\partial \\pi_k} \u0026amp;= \\sum_{n=1}^N \\frac{\\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)} \\\\ \u0026amp;\\quad + \\lambda = 0 \\end{aligned}∂πk​∂Λ​​=n=1∑N​∑j=1K​πj​N(xn​∣μj​,Σj​)N(xn​∣μk​,Σk​)​+λ=0​ 분모와 분자에 πk\\pi_kπk​를 곱해주면 책임도 rnkr_{nk}rnk​가 나타난다: 1πk∑n=1NπkN(xn∣μk,Σk)∑j=1KπjN(xn∣μj,Σj)+λ=0 ⟺ 1πk∑n=1Nrnk+λ=0\\begin{gathered} \\frac{1}{\\pi_k} \\sum_{n=1}^N \\frac{\\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)} \\\\ + \\lambda = 0 \\\\ \\iff \\frac{1}{\\pi_k} \\sum_{n=1}^N r_{nk} + \\lambda = 0 \\end{gathered}πk​1​n=1∑N​∑j=1K​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​+λ=0⟺πk​1​n=1∑N​rnk​+λ=0​ Nkπk+λ=0 ⟹ πk=−Nkλ\\frac{N_k}{\\pi_k} + \\lambda = 0 \\implies \\pi_k = -\\frac{N_k}{\\lambda}πk​Nk​​+λ=0⟹πk​=−λNk​​ 승수 λ\\lambdaλ 소거: 모든 k=1,…,Kk=1, \\dots, Kk=1,…,K에 대해 합을 취하고 제약조건 ∑k=1Kπk=1\\sum_{k=1}^K \\pi_k = 1∑k=1K​πk​=1을 적용한다: ∑k=1Kπk=∑k=1K(−Nkλ)=−1λ∑k=1KNk=1\\begin{aligned} \\sum_{k=1}^K \\pi_k \u0026amp;= \\sum_{k=1}^K \\left(-\\frac{N_k}{\\lambda}\\right) \\\\ \u0026amp;= -\\frac{1}{\\lambda} \\sum_{k=1}^K N_k = 1 \\end{aligned}k=1∑K​πk​​=k=1∑K​(−λNk​​)=−λ1​k=1∑K​Nk​=1​ 그런데 ∑k=1KNk=∑k=1K∑n=1Nrnk=∑n=1N(∑k=1Krnk)=∑n=1N1=N\\sum_{k=1}^K N_k = \\sum_{k=1}^K \\sum_{n=1}^N r_{nk} = \\sum_{n=1}^N \\left(\\sum_{k=1}^K r_{nk}\\right) = \\sum_{n=1}^N 1 = N∑k=1K​Nk​=∑k=1K​∑n=1N​rnk​=∑n=1N​(∑k=1K​rnk​)=∑n=1N​1=N 이다! 따라서: −Nλ=1 ⟹ λ=−N-\\frac{N}{\\lambda} = 1 \\implies \\lambda = -N−λN​=1⟹λ=−N 최종 갱신식 도출: λ=−N\\lambda = -Nλ=−N을 πk=−Nkλ\\pi_k = -\\frac{N_k}{\\lambda}πk​=−λNk​​에 다시 대입하면: πknew=NkN■\\pi_k^{\\text{new}} = \\frac{N_k}{N} \\quad \\blacksquareπknew​=NNk​​■ 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. GMM이 무엇이고 왜 쓰나요? \u0026ldquo;가우시안 여러 개를 가중치 πk\\pi_kπk​로 섞은 밀도 ∑kπkN(x∣μk,Σk)\\sum_k\\pi_k\\mathcal N(x\\mid\\mu_k,\\Sigma_k)∑k​πk​N(x∣μk​,Σk​)입니다. 가중치는 음수가 아니고 합이 1이라 결과도 확률밀도입니다. 가우시안 하나로는 봉우리가 하나뿐이라, 여러 집단이 섞인 데이터의 밀도를 표현하려고 씁니다.\u0026rdquo;\nQ. 왜 GMM은 최대가능도 해를 닫힌 형태로 못 구하나요? \u0026ldquo;로그가능도가 ∑nlog⁡∑kπkN(xn∣μk,Σk)\\sum_n\\log\\sum_k\\pi_k\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)∑n​log∑k​πk​N(xn​∣μk​,Σk​)처럼 로그 안에 합이 있어서, 미분하면 모든 성분의 모수가 분모에 얽힙니다. 단일 가우시안처럼 로그가 지수를 풀어 주지 못합니다. 그래서 책임도를 고정하고 모수를 갱신하는 일을 번갈아 반복하는 EM을 씁니다.\u0026rdquo;\nQ. 책임도는 무엇인가요? \u0026ldquo;데이터 xnx_nxn​이 kkk번째 성분에서 나왔을 사후확률 p(znk=1∣xn)=πkN(xn∣μk,Σk)∑jπjN(xn∣μj,Σj)p(z_{nk}=1\\mid x_n)=\\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)}p(znk​=1∣xn​)=∑j​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​입니다. 데이터마다 합이 1이고, 데이터를 성분들에 나눠 주는 소프트 할당 역할을 합니다.\u0026rdquo;\nQ. EM 알고리즘의 두 단계를 설명해 보세요. \u0026ldquo;E-step에서 현재 모수로 책임도를 계산하고, M-step에서 책임도를 가중치로 삼아 평균(가중 평균), 공분산(가중 공분산), 혼합 가중치(Nk/NN_k/NNk​/N)를 다시 계산합니다. 반복할 때마다 로그가능도가 줄지 않고 국소 최적점으로 수렴합니다. 전역 최적은 보장되지 않아 초기값이 중요합니다.\u0026rdquo;\nQ. 혼합 가중치 갱신식은 어떻게 유도하나요? \u0026ldquo;∑kπk=1\\sum_k\\pi_k=1∑k​πk​=1이라는 제약이 있어 라그랑주 승수를 씁니다. 라그랑지안을 πk\\pi_kπk​로 미분하면 Nk/πk+λ=0N_k/\\pi_k+\\lambda=0Nk​/πk​+λ=0이고, 모든 kkk에 대해 더해 제약을 쓰면 λ=−N\\lambda=-Nλ=−N이 나와 πk=Nk/N\\pi_k=N_k/Nπk​=Nk​/N이 됩니다.\u0026rdquo;\nQ. 잠재변수 관점에서 GMM을 설명해 보세요. \u0026ldquo;원-핫 잠재변수 zzz를 먼저 p(zk=1)=πkp(z_k=1)=\\pi_kp(zk​=1)=πk​로 뽑고, 고른 성분의 가우시안에서 xxx를 뽑는 생성 모델입니다. zzz를 주변화하면 GMM 밀도가 되고, 베이즈 정리로 구한 zzz의 사후확률이 책임도입니다. 이렇게 보면 EM은 완전 데이터 로그가능도의 기댓값 Q(θ∣θ(t))Q(\\theta\\mid\\theta^{(t)})Q(θ∣θ(t))를 최대화하는 일반 알고리즘입니다.\u0026rdquo;\nQ. GMM과 K-평균의 차이는? \u0026ldquo;K-평균은 각 점을 가장 가까운 중심 하나에 하드 할당하고 중심만 갱신합니다. GMM은 책임도로 소프트 할당하고 공분산과 가중치까지 학습합니다. 교재는 GMM에서 공분산을 무시하거나 III로 두면 K-평균이 된다고 설명합니다.\u0026rdquo;\n연습문제 확인 문제 (계산형 및 개념형 10제) [문제 1: 책임도 수치 계산] 1차원 GMM에서 K=2K=2K=2이고 π1=0.4,π2=0.6\\pi_1 = 0.4, \\pi_2 = 0.6π1​=0.4,π2​=0.6이다. 어떤 데이터 x=2x = 2x=2에 대해 두 가우시안의 확률밀도 값이 각각 N(x∣μ1,σ12)=0.3\\mathcal{N}(x \\mid \\mu_1, \\sigma_1^2) = 0.3N(x∣μ1​,σ12​)=0.3, N(x∣μ2,σ22)=0.1\\mathcal{N}(x \\mid \\mu_2, \\sigma_2^2) = 0.1N(x∣μ2​,σ22​)=0.1로 계산되었다. 이 데이터에 대한 1번 성분의 책임도 r1r_{1}r1​을 구하시오.\n[풀이] 책임도 공식: r1=π1N1π1N1+π2N2r_1 = \\frac{\\pi_1 \\mathcal{N}_1}{\\pi_1 \\mathcal{N}_1 + \\pi_2 \\mathcal{N}_2}r1​=π1​N1​+π2​N2​π1​N1​​ 분자: π1N1=0.4×0.3=0.12\\pi_1 \\mathcal{N}_1 = 0.4 \\times 0.3 = 0.12π1​N1​=0.4×0.3=0.12 분모: 0.4×0.3+0.6×0.1=0.12+0.06=0.180.4 \\times 0.3 + 0.6 \\times 0.1 = 0.12 + 0.06 = 0.180.4×0.3+0.6×0.1=0.12+0.06=0.18 따라서: r1=0.120.18=23≈0.6667r_1 = \\frac{0.12}{0.18} = \\frac{2}{3} \\approx 0.6667r1​=0.180.12​=32​≈0.6667 [문제 2: 평균 갱신 수치 계산] 데이터 3개 x1=0,x2=2,x3=6x_1 = 0, x_2 = 2, x_3 = 6x1​=0,x2​=2,x3​=6이 주어져 있다. 어떤 성분 kkk에 대한 세 데이터의 책임도가 각각 r1k=0.5,r2k=0.3,r3k=0.2r_{1k} = 0.5, r_{2k} = 0.3, r_{3k} = 0.2r1k​=0.5,r2k​=0.3,r3k​=0.2로 계산되었다. 이 성분의 유효 데이터 수 NkN_kNk​와 갱신된 평균 μknew\\mu_k^{\\text{new}}μknew​를 구하시오.\n[풀이]\nNk=∑n=13rnk=0.5+0.3+0.2=1.0N_k = \\sum_{n=1}^3 r_{nk} = 0.5 + 0.3 + 0.2 = 1.0Nk​=∑n=13​rnk​=0.5+0.3+0.2=1.0 가중 합: ∑n=13rnkxn=(0.5×0)+(0.3×2)+(0.2×6)=0+0.6+1.2=1.8\\sum_{n=1}^3 r_{nk} x_n = (0.5 \\times 0) + (0.3 \\times 2) + (0.2 \\times 6) = 0 + 0.6 + 1.2 = 1.8∑n=13​rnk​xn​=(0.5×0)+(0.3×2)+(0.2×6)=0+0.6+1.2=1.8 평균 갱신: μknew=1.81.0=1.8\\mu_k^{\\text{new}} = \\frac{1.8}{1.0} = 1.8μknew​=1.01.8​=1.8 [문제 3: 분산 갱신 수치 계산] 문제 2의 조건에서 갱신된 평균 μknew=1.8\\mu_k^{\\text{new}} = 1.8μknew​=1.8을 사용하여, 이 성분의 갱신된 분산 (σk2)new(\\sigma_k^2)^{\\text{new}}(σk2​)new를 구하시오.\n[풀이] 각 데이터의 편차 제곱 (xn−μknew)2(x_n - \\mu_k^{\\text{new}})^2(xn​−μknew​)2:\nn=1n=1n=1: (0−1.8)2=(−1.8)2=3.24(0 - 1.8)^2 = (-1.8)^2 = 3.24(0−1.8)2=(−1.8)2=3.24 n=2n=2n=2: (2−1.8)2=(0.2)2=0.04(2 - 1.8)^2 = (0.2)^2 = 0.04(2−1.8)2=(0.2)2=0.04 n=3n=3n=3: (6−1.8)2=(4.2)2=17.64(6 - 1.8)^2 = (4.2)^2 = 17.64(6−1.8)2=(4.2)2=17.64 가중 합 계산: ∑n=13rnk(xn−μknew)2=(0.5×3.24)+(0.3×0.04)+(0.2×17.64)=1.62+0.012+3.528=5.16\\begin{aligned} \\sum_{n=1}^3 r_{nk} (x_n - \\mu_k^{\\text{new}})^2 \u0026amp;= (0.5 \\times 3.24) \\\\ \u0026amp;\\quad + (0.3 \\times 0.04) \\\\ \u0026amp;\\quad + (0.2 \\times 17.64) \\\\ \u0026amp;= 1.62 + 0.012 + 3.528 \\\\ \u0026amp;= 5.16 \\end{aligned}n=1∑3​rnk​(xn​−μknew​)2​=(0.5×3.24)+(0.3×0.04)+(0.2×17.64)=1.62+0.012+3.528=5.16​ Nk=1.0N_k = 1.0Nk​=1.0 이므로: (σk2)new=5.161.0=5.16(\\sigma_k^2)^{\\text{new}} = \\frac{5.16}{1.0} = 5.16(σk2​)new=1.05.16​=5.16 [문제 4: 단일 가우시안 MLE와 GMM MLE의 결정적 차이] 단일 가우시안 분포의 모수 추정에서는 닫힌 형태의 해(closed-form solution)가 존재하지만, GMM에서는 존재하지 않는 수학적 이유를 \u0026ldquo;로그(log)와 합(sum)의 위치 관계\u0026rdquo; 관점에서 서술하시오.\n[풀이] 단일 가우시안에서는 로그 가능도가 ∑nlog⁡N(xn∣μ,Σ)\\sum_n \\log \\mathcal{N}(x_n \\mid \\mu, \\Sigma)∑n​logN(xn​∣μ,Σ) 형태이므로, 로그가 지수함수와 직접 만나 상쇄되어 모수 μ,Σ\\mu, \\Sigmaμ,Σ에 대한 단순 2차 다항식이 된다. 따라서 미분하여 0으로 두면 모수에 대한 선형 방정식이 되어 즉시 풀린다. 반면 GMM에서는 로그 가능도가 ∑nlog⁡(∑kπkN(xn∣μk,Σk))\\sum_n \\log \\left( \\sum_k \\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k) \\right)∑n​log(∑k​πk​N(xn​∣μk​,Σk​)) 형태로서, 로그 연산자 내부에 합(∑k\\sum_k∑k​)이 존재한다. 연쇄법칙으로 미분하면 분모에 다시 전체 합이 나타나게 되어, 특정 모수 μk\\mu_kμk​의 미분식에 다른 모든 성분의 모수들이 비선형적으로 복잡하게 결합되므로 닫힌 형태의 해를 구할 수 없다.\n[문제 5: K-평균과 GMM의 수학적 연결] GMM의 EM 알고리즘이 K-평균(K-means) 알고리즘으로 수렴하기 위해 필요한 두 가지 수학적 가정을 제시하고, 그 극한에서 책임도 rnkr_{nk}rnk​가 어떻게 변화하는지 설명하시오.\n[풀이] 두 가지 가정:\n모든 성분의 공분산 행렬이 동일한 구형 공분산이다: Σk=σ2I\\Sigma_k = \\sigma^2 IΣk​=σ2I (k=1,…,Kk=1, \\dots, Kk=1,…,K). 모든 성분의 혼합 가중치가 동일하다: πk=1/K\\pi_k = 1/Kπk​=1/K. 이 상태에서 분산 σ2→0\\sigma^2 \\to 0σ2→0 극한을 취하면, 유클리드 거리 ∥xn−μk∥2\\|x_n - \\mu_k\\|^2∥xn​−μk​∥2가 가장 작은 성분의 지수항이 다른 성분들에 비해 압도적으로 커지므로: rnk→{1if k=arg⁡min⁡j∥xn−μj∥20otherwiser_{nk} \\to \\begin{cases} 1 \u0026amp; \\text{if } k = \\arg\\min_j \\|x_n - \\mu_j\\|^2 \\\\ 0 \u0026amp; \\text{otherwise} \\end{cases}rnk​→{10​if k=argminj​∥xn​−μj​∥2otherwise​ 즉, 소프트 할당(확률값)이 가장 가까운 중심점으로 100% 배정되는 하드 할당(hard assignment)으로 퇴화하여 K-평균 알고리즘과 같아진다. (교재 11.5절은 \u0026ldquo;평균만 군집 중심으로 보고 공분산을 무시하거나 III로 두면 K-평균\u0026quot;이라고만 설명한다. 극한 논증은 교재 밖 보충이다.) [문제 6: GMM MLE의 특이성(Singularity) 문제] GMM을 최대가능도(MLE)로 학습할 때 발생할 수 있는 \u0026lsquo;특이성(singularity)\u0026rsquo; 현상이란 무엇이며, 이것이 왜 발생하는지 수식으로 설명하시오.\n[풀이] 어떤 가우시안 성분 kkk의 평균 μk\\mu_kμk​가 우연히 데이터셋의 특정 한 점 xjx_jxj​와 완전히 일치하게 되고(μk=xj\\mu_k = x_jμk​=xj​), 그 성분의 공분산 Σk=σk2I\\Sigma_k = \\sigma_k^2 IΣk​=σk2​I의 분산이 0으로 수렴(σk2→0\\sigma_k^2 \\to 0σk2​→0)할 때 발생한다. 이때 해당 데이터 포인트에서의 확률밀도는: N(xj∣xj,σk2I)=1(2πσk2)D/2exp⁡(0)→∞\\begin{aligned} \\mathcal{N}(x_j \\mid x_j, \\sigma_k^2 I) \u0026amp;= \\frac{1}{(2\\pi \\sigma_k^2)^{D/2}} \\exp(0) \\\\ \u0026amp;\\to \\infty \\end{aligned}N(xj​∣xj​,σk2​I)​=(2πσk2​)D/21​exp(0)→∞​ 가 되어 전체 로그 가능도가 +∞+\\infty+∞로 발산해 버린다. 이는 모델이 일반적인 데이터 분포를 학습하는 대신 단 하나의 데이터 포인트에 무한대의 밀도를 부여하여 과적합되는 현상이다.\n[문제 7: 잠재 지시변수 zzz의 사전분포와 조건부 분포] KKK개의 성분을 가진 GMM에서 일-핫 벡터 잠재변수 z∈{0,1}Kz \\in \\{0, 1\\}^Kz∈{0,1}K (∑kzk=1\\sum_k z_k = 1∑k​zk​=1)를 도입할 때, 사전분포 p(z)p(z)p(z)와 관측치 조건부 분포 p(x∣z)p(x \\mid z)p(x∣z)를 곱셈 기호(∏\\prod∏)를 사용하여 컴팩트한 단일 수식으로 나타내시오.\n[풀이]\n사전분포: p(z)=∏k=1Kπkzkp(z) = \\prod_{k=1}^K \\pi_k^{z_k}p(z)=∏k=1K​πkzk​​ (zzz에서 단 하나의 zkz_kzk​만 1이고 나머지는 0이므로, zk=1z_k=1zk​=1일 때 정확히 πk\\pi_kπk​가 됨) 조건부 분포: p(x∣z)=∏k=1KN(x∣μk,Σk)zkp(x \\mid z) = \\prod_{k=1}^K \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)^{z_k}p(x∣z)=∏k=1K​N(x∣μk​,Σk​)zk​ [문제 8: 라그랑주 승수 λ\\lambdaλ의 값 유도] GMM 혼합 가중치 πk\\pi_kπk​ 유도 과정에서 목적함수 Λ=L+λ(∑kπk−1)\\Lambda = \\mathcal{L} + \\lambda (\\sum_k \\pi_k - 1)Λ=L+λ(∑k​πk​−1)를 최적화할 때, 라그랑주 승수 λ\\lambdaλ의 값이 정확히 −N-N−N (NNN은 데이터 총 개수)이 됨을 유도하시오.\n[풀이] ∂Λ∂πk=Nkπk+λ=0 ⟹ πk=−Nkλ\\frac{\\partial \\Lambda}{\\partial \\pi_k} = \\frac{N_k}{\\pi_k} + \\lambda = 0 \\implies \\pi_k = -\\frac{N_k}{\\lambda}∂πk​∂Λ​=πk​Nk​​+λ=0⟹πk​=−λNk​​. 제약조건 ∑k=1Kπk=1\\sum_{k=1}^K \\pi_k = 1∑k=1K​πk​=1에 대입하면: ∑k=1K(−Nkλ)=−1λ∑k=1KNk=1 ⟹ λ=−∑k=1KNk\\begin{gathered} \\sum_{k=1}^K \\left(-\\frac{N_k}{\\lambda}\\right) = -\\frac{1}{\\lambda} \\sum_{k=1}^K N_k = 1 \\\\ \\implies \\lambda = -\\sum_{k=1}^K N_k \\end{gathered}k=1∑K​(−λNk​​)=−λ1​k=1∑K​Nk​=1⟹λ=−k=1∑K​Nk​​ 그런데 ∑k=1KNk=∑k=1K∑n=1Nrnk=∑n=1N(∑k=1Krnk)=∑n=1N1=N\\sum_{k=1}^K N_k = \\sum_{k=1}^K \\sum_{n=1}^N r_{nk} = \\sum_{n=1}^N (\\sum_{k=1}^K r_{nk}) = \\sum_{n=1}^N 1 = N∑k=1K​Nk​=∑k=1K​∑n=1N​rnk​=∑n=1N​(∑k=1K​rnk​)=∑n=1N​1=N 이므로, λ=−N\\lambda = -Nλ=−N [문제 9: EM 알고리즘의 단조 증가성] EM 알고리즘의 모든 반복 ttt에서 관측 데이터 로그 가능도 L(θ)=log⁡p(X∣θ)\\mathcal{L}(\\theta) = \\log p(\\mathcal{X} \\mid \\theta)L(θ)=logp(X∣θ)가 단조 증가(monotonic increase), 즉 L(θ(t+1))≥L(θ(t))\\mathcal{L}(\\theta^{(t+1)}) \\ge \\mathcal{L}(\\theta^{(t)})L(θ(t+1))≥L(θ(t)) 임을 보장하는 핵심 수학적 원리는 무엇인가?\n[풀이] 젠센 부등식(Jensen\u0026rsquo;s inequality)에 기반한 증거 하한(ELBO, Evidence Lower Bound) 이론에 기초한다. 로그 가능도 함수는 임의의 잠재변수 분포 q(z)q(z)q(z)에 대해 L(θ)=ELBO(q,θ)+KL(q(z)∥p(z∣x,θ))\\mathcal{L}(\\theta) = \\text{ELBO}(q, \\theta) + \\text{KL}(q(z) \\parallel p(z \\mid x, \\theta))L(θ)=ELBO(q,θ)+KL(q(z)∥p(z∣x,θ)) 로 분해된다.\nE-단계에서 q(z)=p(z∣x,θ(t))q(z) = p(z \\mid x, \\theta^{(t)})q(z)=p(z∣x,θ(t))로 설정하면 KL 발산이 0이 되어 하한선(ELBO)이 현재 로그 가능도 값과 정확히 접하게 된다. M-단계에서는 이 하한선을 θ\\thetaθ에 대해 최대화하여 θ(t+1)\\theta^{(t+1)}θ(t+1)로 이동하므로, 새로운 로그 가능도는 최소한 이전 단계의 하한선 이상이 된다. 따라서 L(θ(t+1))≥L(θ(t))\\mathcal{L}(\\theta^{(t+1)}) \\ge \\mathcal{L}(\\theta^{(t)})L(θ(t+1))≥L(θ(t))가 엄밀히 보장된다. [문제 10: 커널 밀도 추정(KDE)과 GMM의 비교] 밀도 추정을 수행할 때 GMM(모수적 접근)과 KDE(비모수적 접근)의 장단점을 모델 복잡도, 데이터 저장 용량, 추론 계산 속도 측면에서 비교하시오.\n[풀이]\nGMM (모수적): 복잡도가 KKK개의 성분 모수(μk,Σk,πk)(\\mu_k, \\Sigma_k, \\pi_k)(μk​,Σk​,πk​)로 고정됨. 학습 후 원본 데이터를 저장할 필요가 없어 메모리가 매우 절약됨. 새로운 데이터 포인트 xxx의 밀도를 계산할 때 성분 개수 KKK번만 계산하면 되므로 추론이 매우 빠름. 단점: 적절한 성분 수 KKK를 미리 지정해야 하며, 국소 최적해에 빠질 수 있음. KDE (비모수적): 특정 분포 형태를 미리 가정하지 않아 매우 유연함. 단점: 학습 후에도 전체 데이터셋 NNN개를 모두 보관해야 하므로 메모리 소모가 큼. 새로운 점 xxx의 밀도를 계산할 때 NNN개의 모든 데이터와의 거리를 계산해야 하므로 추론 비용이 O(N)O(N)O(N)으로 매우 큼. 교재 연습문제 안내 (Exercises) 교재 원문 안내: MML 교재 원본의 Part 2(812장)는 실전 머신러닝 응용을 다루는 장으로, Part 1(27장)과 달리 장 끝 연습문제(Exercises) 섹션이 별도로 수록되어 있지 않습니다. 따라서 본 해설서에서는 교재 본문의 예제와 핵심 유도를 바탕으로 이 해설이 만든 확인 문제를 싣습니다.\n[본문 핵심 과제 1: 단일 가우시안의 MLE 유도 (11.2절 첫머리 Remark)] 질문 요약: GMM에서 K=1K=1K=1일 때, 로그 가능도 공식이 단일 가우시안의 MLE 문제로 단순화되어 닫힌 형태 해 μML=1N∑xn\\mu_{\\text{ML}} = \\frac{1}{N}\\sum x_nμML​=N1​∑xn​, σML2=1N∑(xn−μ)2\\sigma_{\\text{ML}}^2 = \\frac{1}{N}\\sum (x_n-\\mu)^2σML2​=N1​∑(xn​−μ)2가 도출됨을 보이시오. 풀이 방향: K=1K=1K=1이면 π1=1\\pi_1 = 1π1​=1이 되어 합 기호가 사라집니다. 로그를 취하면 식 (11.11)처럼 지수함수가 벗겨져 μ\\muμ에 대한 2차 함수가 됩니다. μ\\muμ로 편미분하면 −∑nΣ−1(xn−μ)=0 ⟹ ∑xn=Nμ ⟹ μ=1N∑xn-\\sum_n \\Sigma^{-1}(x_n - \\mu) = 0 \\implies \\sum x_n = N\\mu \\implies \\mu = \\frac{1}{N}\\sum x_n−∑n​Σ−1(xn​−μ)=0⟹∑xn​=Nμ⟹μ=N1​∑xn​이 즉시 증명됩니다. [본문 핵심 과제 2: 완전 결합분포로부터 사후확률 유도 (교재 366쪽 식 11.69)] 질문 요약: 잠재변수 모델에서 베이즈 정리를 적용하여 p(zk=1∣x)p(z_k=1 \\mid x)p(zk​=1∣x)가 책임도 rkr_krk​와 정확히 일치함을 보이시오. 풀이 방향: p(zk=1∣x)=p(x,zk=1)p(x)p(z_k=1 \\mid x) = \\frac{p(x, z_k=1)}{p(x)}p(zk​=1∣x)=p(x)p(x,zk​=1)​에서 분자는 p(x∣zk=1)p(zk=1)=πkN(x∣μk,Σk)p(x \\mid z_k=1)p(z_k=1) = \\pi_k \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)p(x∣zk​=1)p(zk​=1)=πk​N(x∣μk​,Σk​)이고, 분모는 p(x)=∑j=1Kp(x,zj=1)=∑j=1KπjN(x∣μj,Σj)p(x) = \\sum_{j=1}^K p(x, z_j=1) = \\sum_{j=1}^K \\pi_j \\mathcal{N}(x \\mid \\mu_j, \\Sigma_j)p(x)=∑j=1K​p(x,zj​=1)=∑j=1K​πj​N(x∣μj​,Σj​)이므로 대입하면 정의와 정확히 일치합니다. [본문 핵심 과제 3: 조상 표집(Ancestral Sampling) 알고리즘의 타당성 (교재 368쪽)] 질문 요약: GMM의 조상 표집 절차를 통해 뽑힌 표본의 한계분포가 왜 GMM의 확률밀도 p(x)p(x)p(x)를 따르는지 확률론적으로 정당화하시오. 풀이 방향: 표집된 표본의 확률은 p(x)=∑zp(x,z)=∑zp(x∣z)p(z)p(x) = \\sum_z p(x, z) = \\sum_z p(x \\mid z)p(z)p(x)=∑z​p(x,z)=∑z​p(x∣z)p(z)입니다. 1단계에서 z∼p(z)z \\sim p(z)z∼p(z)를 뽑고 2단계에서 x∼p(x∣z)x \\sim p(x \\mid z)x∼p(x∣z)를 뽑아 zzz를 버리는 행위는 수학적으로 잠재변수 zzz에 대해 주변화(marginalization)를 수행하는 것과 정확히 동치입니다. 시험 직전 10분 요약 개념 / 수식 핵심 내용 및 판별 기준 주의할 점 GMM 밀도 함수 p(x∣θ)=∑k=1KπkN(x∣μk,Σk)p(x \\mid \\theta) = \\sum_{k=1}^K \\pi_k \\mathcal{N}(x \\mid \\mu_k, \\Sigma_k)p(x∣θ)=∑k=1K​πk​N(x∣μk​,Σk​) ∑πk=1,0≤πk≤1\\sum \\pi_k = 1, 0 \\le \\pi_k \\le 1∑πk​=1,0≤πk​≤1 로그 가능도 L(θ)=∑n=1Nlog⁡(∑k=1KπkNk(xn))\\mathcal{L}(\\theta) = \\sum_{n=1}^N \\log \\left( \\sum_{k=1}^K \\pi_k \\mathcal{N}_k(x_n) \\right)L(θ)=∑n=1N​log(∑k=1K​πk​Nk​(xn​)) 로그 안에 합이 있어 닫힌 해 불가능 책임도 (rnkr_{nk}rnk​) rnk=πkN(xn∣μk,Σk)∑j=1KπjN(xn∣μj,Σj)r_{nk} = \\frac{\\pi_k \\mathcal{N}(x_n \\mid \\mu_k, \\Sigma_k)}{\\sum_{j=1}^K \\pi_j \\mathcal{N}(x_n \\mid \\mu_j, \\Sigma_j)}rnk​=∑j=1K​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​ ∑k=1Krnk=1\\sum_{k=1}^K r_{nk} = 1∑k=1K​rnk​=1, 사후확률 p(znk=1∣xn)p(z_{nk}=1 \\mid x_n)p(znk​=1∣xn​) 유효 데이터 수 (NkN_kNk​) Nk=∑n=1NrnkN_k = \\sum_{n=1}^N r_{nk}Nk​=∑n=1N​rnk​ ∑k=1KNk=N\\sum_{k=1}^K N_k = N∑k=1K​Nk​=N 평균 갱신 공식 μknew=1Nk∑n=1Nrnkxn\\mu_k^{\\text{new}} = \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} x_nμknew​=Nk​1​∑n=1N​rnk​xn​ 책임도 기반 가중 표본 평균 공분산 갱신 공식 Σknew=1Nk∑n=1Nrnk(xn−μknew)(xn−μknew)⊤\\Sigma_k^{\\text{new}} = \\frac{1}{N_k} \\sum_{n=1}^N r_{nk} (x_n - \\mu_k^{\\text{new}})(x_n - \\mu_k^{\\text{new}})^\\topΣknew​=Nk​1​∑n=1N​rnk​(xn​−μknew​)(xn​−μknew​)⊤ 갱신된 평균 μknew\\mu_k^{\\text{new}}μknew​ 사용, 분모는 NkN_kNk​ 혼합 가중치 갱신 πknew=NkN\\pi_k^{\\text{new}} = \\frac{N_k}{N}πknew​=NNk​​ 라그랑주 승수 λ=−N\\lambda = -Nλ=−N에서 도출 EM 알고리즘 절차 E: rnkr_{nk}rnk​ 계산 ⟹ \\implies⟹ M: μk,Σk,πk\\mu_k, \\Sigma_k, \\pi_kμk​,Σk​,πk​ 재추정 매 단계 로그 가능도 단조 증가 보장 K-Means와의 관계 Σk=σ2I,σ2→0\\Sigma_k = \\sigma^2 I, \\sigma^2 \\to 0Σk​=σ2I,σ2→0 극한 소프트 할당 →\\to→ 하드 할당으로 수렴 특이성 (Singularity) μk=xn\\mu_k = x_nμk​=xn​ 이고 σk2→0\\sigma_k^2 \\to 0σk2​→0 일 때 가능도 →∞\\to \\infty→∞ MLE의 대표적 과적합 병목 현상 ","permalink":"https://qofo.github.io/posts/mml-ch11-gmm-em/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 쪽수\u003c/strong\u003e: 348~369쪽 (Chapter 11)\u003cbr\u003e\n\u003cstrong\u003e선수 지식 및 연계\u003c/strong\u003e: 5장 벡터 미적분(Vector Calculus: 야코비안 및 행렬 미분), 6장 확률과 분포(Probability and Distributions: 다변수 가우시안 분포, 베이즈 정리, 주변확률), 7장 연속 최적화(Continuous Optimization: 라그랑주 승수법), 8장 모델과 데이터(When Models Meet Data: 최대가능도 추정 MLE, 경험적 위험).\u003cbr\u003e\n\u003cstrong\u003e후속 연계\u003c/strong\u003e: 비지도 학습의 대표격인 밀도 추정(density estimation) 및 군집화(clustering)의 수학적 기반을 확립하며, 12장 서포트 벡터 머신(SVM)의 결정 경계 및 확률적 분류 관점과 대조됩니다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr\u003e\n\u003ch2 id=\"0-이-장-지도\"\u003e0. 이 장 지도\u003c/h2\u003e\n\u003cp\u003e이 장은 머신러닝의 3대 기둥(회귀 9장, 차원 축소 10장, 밀도 추정 11장) 중 마지막 기둥인 \u003cstrong\u003e밀도 추정(Density Estimation)\u003c/strong\u003e을 다룹니다. 현실 세계의 데이터는 단일 정규분포처럼 봉우리가 하나인 단봉(unimodal) 형태가 아니라, 여러 집단이 섞여 있는 다봉(multimodal) 형태를 띱니다. 이를 수학적으로 정교하게 모델링하기 위해 도입하는 도구가 바로 \u003cstrong\u003e가우시안 혼합 모델(Gaussian Mixture Model, GMM)\u003c/strong\u003e과 이를 학습시키는 \u003cstrong\u003e기댓값 최대화(Expectation-Maximization, EM) 알고리즘\u003c/strong\u003e입니다.\u003c/p\u003e","title":"MML 11장 GMM: 가우시안 혼합 모델과 EM 알고리즘"},{"content":"1편에 적은 목표는 리눅스를 올리고 AI 코딩 에이전트를 붙여 24시간 돌리는 것이었다. 6편에서 블로그와 터널은 터미널과 무관하게 돌게 됐다. 그런데 정작 그 코드를 고치는 에이전트 세션은 그대로였다. SSH 터미널을 닫으면 하던 일이 통째로 사라진다.\n이 글은 그 세션을 터미널 바깥으로 꺼내 명령 하나(claude-session)로 만든 기록이다.\n1. 데몬의 해법을 그대로 쓸 수 없다 6편에서 감시 데몬을 살린 것은 setsid였다. 새 세션을 만들어 제어 터미널을 떼어 내면 Ctrl+C도 로그아웃 신호도 닿지 못한다. 출력이 필요 없는 프로세스에는 이것으로 충분하다.\n대화형 세션에는 조건이 하나 더 붙는다. 다시 붙을 수 있어야 한다. setsid로 떼어 낸 프로세스는 살아는 있지만 화면이 없다. 진행 상황을 볼 수도, 다음 지시를 넣을 수도 없다. 필요한 것은 터미널을 붙였다 뗐다 하는 장치, 곧 터미널 멀티플렉서다.\n2. 어느 층에 설치하느냐가 수명을 정한다 멀티플렉서를 우분투 안에 설치하면 아무 소용이 없다.\nAndroid 9 └─ Termux ← sshd(8022). 여기서 만든 tmux 서버는 로그인과 무관하다 └─ proot-distro: Ubuntu ← 여기서 만든 tmux 서버는 로그인 셸과 함께 죽는다 └─ 에이전트 세션 3편 4절에서 정리한 --kill-on-exit 때문이다. proot는 로그인 셸이 끝날 때 그 세션에서 태어난 프로세스를 전부 함께 종료한다. tmux 서버도 예외가 아니다. 세션을 지켜 줄 장치가 세션과 함께 죽는다.\n그래서 tmux는 Termux 쪽에 설치했다. 우분투 안에는 tmux가 없고, which tmux가 가리키는 것도 Termux 바이너리다. 3편 6절에서 정리한 PATH 혼재 그대로다.\n$ which tmux /data/data/com.termux/files/usr/bin/tmux $ ls /usr/bin/tmux ls: cannot access \u0026#39;/usr/bin/tmux\u0026#39;: No such file or directory 설치도 proot 밖에서 했다. Termux의 apt-get을 proot 안에서 돌리면 경로 해석이 꼬일 수 있다. 5편에서 쓴 termux-job-scheduler를 일회성 작업으로 다시 썼다. 예약한 스크립트는 proot 밖에서 실행되므로 Termux의 패키지 관리자가 제자리에서 돈다.\nThe following NEW packages will be installed: tmux Get:1 https://termux.librehat.com/apt/termux-main stable/main aarch64 tmux aarch64 3.7c [386 kB] 3. 잘못된 자리에서 시작하는 것을 막는다 스크립트는 주석까지 스물여섯 줄이다. 주석 일부를 줄여 옮기면 이렇다.\n#!/data/data/com.termux/files/usr/bin/sh PREFIX=/data/data/com.termux/files/usr TMUX_BIN=$PREFIX/bin/tmux SESSION=claude # Termux는 로그인 셸에서만 이 값을 설정한다(profile.d/tmux.sh). 세션을 만드는 셸과 # 나중에 다시 붙는 셸이 같은 소켓을 찾도록 값을 고정한다. export TMUX_TMPDIR=${TMUX_TMPDIR:-$PREFIX/var/run} if [ \u0026#34;$(awk \u0026#39;/^TracerPid/{print $2}\u0026#39; /proc/$$/status)\u0026#34; != \u0026#34;0\u0026#34; ]; then echo \u0026#34;claude-session: run this from the Termux shell, not inside proot (\u0026#39;exit\u0026#39; first).\u0026#34; \u0026gt;\u0026amp;2 exit 1 fi if \u0026#34;$TMUX_BIN\u0026#34; has-session -t \u0026#34;$SESSION\u0026#34; 2\u0026gt;/dev/null; then exec \u0026#34;$TMUX_BIN\u0026#34; attach-session -t \u0026#34;$SESSION\u0026#34; fi exec \u0026#34;$TMUX_BIN\u0026#34; new-session -s \u0026#34;$SESSION\u0026#34; \\ \u0026#34;$PREFIX/bin/proot-distro login ubuntu -- /bin/bash -lc \u0026#39;cd /root \u0026amp;\u0026amp; claude --continue; exec bash -l\u0026#39;\u0026#34; 가드에 쓴 TracerPid는 3편 1절에서 \u0026ldquo;proot 안인지 판별하는 값\u0026quot;으로 정리해 둔 것이다. 그 관찰을 그대로 옮겼다. 잘못된 자리에서 실행하면 거절한다.\n$ /root/termux/claude-session.sh claude-session: run this from the Termux shell, not inside proot (\u0026#39;exit\u0026#39; first). exit=1 Termux의 ~/.bashrc에는 별칭 한 줄을 넣어 두었다. 쓰는 방법은 이렇다.\nSSH 접속 → (proot에 들어가기 전) Termux 셸에서: claude-session → tmux 안에서 에이전트가 직전 대화를 이어받는다 → 터미널을 그냥 닫아도, Ctrl-b d 로 빠져나가도 계속 실행된다 다시 접속해서 claude-session → 같은 세션에 다시 붙는다 4. 소켓 자리가 두 번 어긋난다 tmux 클라이언트는 소켓 파일로 서버를 찾는다. 이 자리가 두 번 어긋났다.\n첫째, TMUX_TMPDIR은 로그인 셸에서만 설정된다.\n$ cat $PREFIX/etc/profile.d/tmux.sh export TMUX_TMPDIR=/data/data/com.termux/files/usr/var/run profile.d는 로그인 셸이 읽는다. 작업 예약으로 띄운 셸에는 이 값이 없어서 tmux가 TMPDIR 아래를 쓴다. 첫 프로브에서 세션은 만들어졌는데 소켓이 엉뚱한 곳에 생긴 것이 그 때문이다.\nrunner TracerPid=0 uid=10283 new-session exit=0 claudetest: 1 windows (created Sat Sep 19 03:36:04 2026) socket: ls: cannot access \u0026#39;/data/data/com.termux/files/usr/tmp/tmux-10283/default\u0026#39;: No such file or directory 나중에 로그인 셸에서 다시 붙으려 하면 var/run 쪽을 보므로 세션을 찾지 못한다. 스크립트에서 값을 고정해 막았다. ${TMUX_TMPDIR:-...}로 두어, 로그인 셸에서 이미 설정돼 있으면 그 값을 따른다.\n둘째, 소켓 디렉터리 이름에 uid가 들어간다. 이름은 tmux-\u0026lt;uid\u0026gt;인데, 이 폰에는 uid가 두 개다. Termux 쪽은 앱 uid이고, proot 안은 3편 2절의 가짜 root라 0이다. 같은 TMUX_TMPDIR을 줘도 우분투 안에서는 없는 디렉터리를 본다.\n# 우분투(proot) 안에서 $ TMUX_TMPDIR=/data/data/com.termux/files/usr/var/run tmux list-sessions error connecting to /data/data/com.termux/files/usr/var/run/tmux-0/default (No such file or directory) $ ls -d /data/data/com.termux/files/usr/var/run/tmux-* /data/data/com.termux/files/usr/var/run/tmux-0 /data/data/com.termux/files/usr/var/run/tmux-10283 안에서 이 세션을 들여다보려면 -S로 소켓 경로를 직접 대야 한다. 가짜 root는 파일 권한만이 아니라 uid로 이름 붙는 모든 경로에 흔적을 남긴다.\n5. 검증 만들 당시 Termux 쪽 tmux 서버에서 확인한 값이다.\n확인 값 뜻 TracerPid 0 proot 밖에서 돈다 ppid 1 부모가 init이다. 나를 띄운 셸과 무관하다 sid 자기 자신 자기 세션의 리더다 tty_nr 0 제어 터미널이 없다 그 안에서 proot 로그인과 작업이 계속 유지되는 것도 함께 봤다.\n정리하다가 하나 더 나왔다. 테스트용 tmux 서버를 kill했더니 그 안의 proot와 sleep이 고아로 남았다.\n테스트 tmux 서버(3738) 종료 3741 .../proot --kill-on-exit --link2symlink ... ← 아직 살아 있다 proot가 SIGHUP을 무시하기 때문이다. 6편에서 프로세스가 어디에서 태어나는지를 배웠다면, 여기서는 죽일 때도 한 겹씩 확인해야 한다는 것을 배웠다. 남은 프로세스를 따로 종료하고서야 정리가 끝났다.\n당시 확인하지 못한 것도 있다. 붙었다 떼는 동작은 실제 터미널이 없어 시험하지 못했고, 글에 \u0026ldquo;될 것\u0026quot;이라고 적을 수는 없었다. 답은 나흘 뒤에 나왔다. 오늘 세션 목록은 이렇다.\n$ tmux -S .../tmux-10283/default list-sessions -F \u0026#39;#{session_name} attached=#{session_attached} created=#{t:session_created}\u0026#39; claude attached=0 created=Mon Sep 21 20:23:34 2026 9월 21일 저녁에 만든 세션이 붙은 클라이언트 없이(attached=0) 나흘째 살아 있다. 만든 터미널은 이미 없다. claude-session을 다시 실행하면 이 세션으로 돌아간다.\n6. 한계 재부팅하면 사라진다. tmux 서버도 프로세스다. 5편·6편의 3층 자동 시작이 되살리는 것은 서비스뿐이고, 에이전트 세션은 사람이 다시 만들어야 한다. 지금 세션도 9월 21일 재부팅 뒤에 새로 만든 것이다. 같은 대화를 두 곳에서 열면 안 된다. 스크립트는 직전 대화를 이어받게 실행한다. tmux 안과 밖에서 동시에 열면 한 기록에 두 프로세스가 쓴다. 그래서 세션이 이미 있으면 새로 만들지 않고 붙기만 한다. 10편 이후로 경로가 하나 더 생겼다. 브라우저로 여는 편집기의 터미널은 code-server 프로세스가 들고 있고, code-server는 Termux 쪽 런처가 띄운 감독자의 자식이다. 그래서 브라우저를 닫아도 그 터미널은 남는다. 이 글도 그 터미널에서 썼다. 다만 code-server를 재시작하면 함께 사라진다. tmux 세션은 편집기와 무관하게 남는다. 정리 데몬을 터미널에서 떼는 것과, 사람이 쓰는 세션을 떼는 것은 다른 문제다. 앞은 터미널을 버리면 되고, 뒤는 터미널을 다시 붙일 수 있어야 한다. 도구를 어느 층에 설치하는지가 그 도구의 수명을 정한다. 같은 tmux라도 proot 안에 깔면 로그인 셸과 함께 죽는다. 가짜 root는 uid로 이름 붙는 모든 경로에 흔적을 남긴다. 소켓 디렉터리가 그 예다. 죽일 때도 한 겹씩 확인한다. 부모를 죽였다고 안쪽이 따라 죽지는 않는다. ","permalink":"https://qofo.github.io/posts/agent-session-outside-proot/","summary":"\u003cp\u003e\u003ca href=\"/posts/ubuntu-on-galaxy-note-fe/\"\u003e1편\u003c/a\u003e에 적은 목표는 리눅스를 올리고 AI 코딩 에이전트를 붙여 24시간 돌리는 것이었다. \u003ca href=\"/posts/supervisor-postmortem/\"\u003e6편\u003c/a\u003e에서 블로그와 터널은 터미널과 무관하게 돌게 됐다. 그런데 정작 그 코드를 고치는 에이전트 세션은 그대로였다. SSH 터미널을 닫으면 하던 일이 통째로 사라진다.\u003c/p\u003e\n\u003cp\u003e이 글은 그 세션을 터미널 바깥으로 꺼내 명령 하나(\u003ccode\u003eclaude-session\u003c/code\u003e)로 만든 기록이다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"1-데몬의-해법을-그대로-쓸-수-없다\"\u003e1. 데몬의 해법을 그대로 쓸 수 없다\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"/posts/supervisor-postmortem/\"\u003e6편\u003c/a\u003e에서 감시 데몬을 살린 것은 \u003ccode\u003esetsid\u003c/code\u003e였다. 새 세션을 만들어 제어 터미널을 떼어 내면 Ctrl+C도 로그아웃 신호도 닿지 못한다. 출력이 필요 없는 프로세스에는 이것으로 충분하다.\u003c/p\u003e","title":"터미널을 닫아도 작업은 이어진다: proot 밖 tmux에 에이전트 세션 두기"},{"content":" 교재 쪽수: 370~394쪽 (Chapter 12)\n교재 밖 보충: 교재에 없는 내용(Cover 정리, Pegasos, SMO, Platt 식)은 \u0026ldquo;교재 밖 보충\u0026quot;으로 표시했다.\n선수 지식 및 연계: 2장 선형대수학(아핀 부분공간으로서의 초평면), 3장 해석기하학(내적, 직교 사영, 거리 계산), 7장 연속 최적화(라그랑주 승수법, KKT 최적성 조건, 라그랑주 쌍대성, 2차 계획법 QP), 8장 모델과 데이터(경험적 위험 최소화 ERM, ℓ2\\ell_2ℓ2​ 정규화, 교차검증).\n후속 및 의의: 9장(회귀)의 확률적·우도 기반 접근법과 달리, 기하학적 직관(마진 최대화)과 손실 함수 관점(힌지 손실 + 정규화)을 함께 쓰는 지도학습 방법입니다. 재생 커널 힐베르트 공간(RKHS)을 통한 비선형 확장(커널 트릭)을 완성합니다.\n0. 이 장 지도 12장은 머신러닝의 가장 핵심적인 지도학습 분류 알고리즘인 서포트 벡터 머신(Support Vector Machine, SVM)을 기하학, 최적화 이론, 함수해석학(커널)의 세 가지 시선에서 완전히 분해하고 통합합니다.\n[절 목록 및 핵심 요약] 12.1 분리 초평면(Separating Hyperplanes, 372~373쪽) [중요도: ★★★]: 초평면(hyperplane)의 방정식 ⟨w,x⟩+b=0\\langle w, x \\rangle + b = 0⟨w,x⟩+b=0, 법선 벡터(normal vector) www의 기하학적 의미, 이진 분류 결정 규칙. 12.2 원시 서포트 벡터 머신(Primal Support Vector Machine, 374~383쪽) [중요도: ★★★]: 기하학적 마진 정의에서 하드 마진 및 소프트 마진 원시 최적화 문제로의 정식화. 12.2.1 마진의 개념(Concept of the Margin, 374~376쪽): 점과 초평면 사이의 직교 사영 거리 rrr 유도 및 단위 법선 벡터 정규화(∥w∥=1\\|w\\|=1∥w∥=1). 12.2.2 마진의 전통적 유도(Traditional Derivation of the Margin, 376~378쪽): 초평면 스케일 고정(⟨w,xa⟩+b=1\\langle w, x_a \\rangle + b = 1⟨w,xa​⟩+b=1)을 통한 마진 r=1/∥w∥r = 1/\\|w\\|r=1/∥w∥ 도출. 12.2.3 마진을 1로 둘 수 있는 이유(Why We Can Set the Margin to 1, 378~379쪽) [Theorem 12.1]: 스케일 불변성(scale invariance)을 이용해 max⁡r\\max rmaxr과 min⁡12∥w∥2\\min \\frac{1}{2}\\|w\\|^2min21​∥w∥2의 엄밀한 수학적 동치성 증명. 12.2.4 소프트 마진 SVM: 기하학적 관점(Soft Margin SVM: Geometric View, 379~380쪽): 선형 분리 불가능 데이터를 위한 슬랙 변수(slack variable) ξn\\xi_nξn​ 도입과 정규화 매개변수 CCC. 12.2.5 소프트 마진 SVM: 손실 함수 관점(Soft Margin SVM: Loss Function View, 380~383쪽): 힌지 손실(hinge loss)과 ℓ2\\ell_2ℓ2​ 정규화의 합으로 표현되는 비제약 최적화 문제 정식화 및 등가성 증명. 12.3 쌍대 서포트 벡터 머신(Dual Support Vector Machine, 383~388쪽) [중요도: ★★★]: 라그랑주 쌍대성을 통한 고차원/무한차원 확장 기반 마련. 12.3.1 라그랑주 승수를 통한 볼록 쌍대성(Convex Duality via Lagrange Multipliers, 383~386쪽): 원시 문제에서 쌍대 문제로의 완전한 수학적 유도, 표현자 정리(Representer Theorem), 박스 제약조건(0≤αn≤C0 \\le \\alpha_n \\le C0≤αn​≤C). 12.3.2 쌍대 SVM: 볼록 껍질 관점(Dual SVM: Convex Hull View, 386~388쪽): 양성 클래스와 음성 클래스의 볼록 껍질(convex hull) 간의 최단 거리 문제로서의 SVM 기하학적 재해석. 12.4 커널(Kernels, 388~390쪽) [중요도: ★★★]: 내적의 일반화, 재생 커널 힐베르트 공간(RKHS), 그람 행렬(Gram matrix), 커널 트릭(Kernel Trick)을 통한 비선형 경계면 형성. 12.5 수치적 해법(Numerical Solution, 390~392쪽) [중요도: ★★☆]: 힌지 손실의 서브그레디언트(subgradient) 최적화 및 2차 계획법(QP, Quadratic Programming) 표준형 변환. 12.6 더 읽을거리(Further Reading, 392~394쪽) [중요도: ★★☆]: 로지스틱 회귀(확률적 분류)와의 비교, 플랫 스케일링(Platt scaling), 르장드르-펜첼 변환(Fenchel conjugate) 관점. [개념 간 의존 관계] [12.1 분리 초평면: \u0026lt;w, x\u0026gt; + b = 0, 법선벡터 w] │ ▼ [12.2.1~12.2.3 직교 사영 거리 r = 1/||w||] ──▶ [하드 마진 원시 문제: min 1/2 ||w||^2] │ ├──▶ [12.2.4 슬랙 변수 ξ_n 도입] ──┐ │ ├──▶ [소프트 마진 원시 문제 (C-SVM)] └──▶ [12.2.5 힌지 손실 관점] ───────┘ │ ┌─────────────────────────────────────────────┘ ▼ [12.3.1 라그랑주 승수법 (α, γ)] │ ├──▶ [KKT 정지조건: w = Σ α_n y_n x_n (표현자 정리)] ├──▶ [편향 조건: Σ α_n y_n = 0] │ ▼ [12.3.1 쌍대 SVM (Dual QP): 내적 \u0026lt;x_i, x_j\u0026gt;만으로 표현] ◀── [12.3.2 볼록 껍질 최단거리 동치] │ ▼ [12.4 커널 트릭: \u0026lt;x_i, x_j\u0026gt; ──▶ k(x_i, x_j)] │ ▼ [12.5 수치 해법: 서브그레디언트 vs 2차 계획법(QP)] 12.1 분리 초평면(Separating Hyperplanes, 372~373쪽) 왜 필요한가 (직관) 이진 분류(binary classification)는 DDD차원 특성 공간에 흩어져 있는 데이터들을 +1+1+1과 −1-1−1의 두 그룹으로 쪼개는 경계면을 찾는 문제입니다. 가장 단순하면서도 수학적으로 아름다운 경계면은 직선, 평면, 그리고 이를 DDD차원으로 확장한 초평면(hyperplane)입니다.\n2차원 종이 위에 빨간 점들과 파란 점들이 있을 때, 그 사이를 자르는 직선을 그리는 것을 상상해 보십시오. 초평면은 바로 그 직선의 다차원 일반화입니다.\n정의와 성질 1. 분리 초평면의 방정식 w∈RDw \\in \\mathbb{R}^Dw∈RD를 가중치 벡터(weight vector), b∈Rb \\in \\mathbb{R}b∈R을 편향(bias, 절편)이라 할 때, 선형 함수 f:RD→Rf: \\mathbb{R}^D \\to \\mathbb{R}f:RD→R를 다음과 같이 정의합니다 (교재 식 12.2):\nf(x):=⟨w,x⟩+b=w⊤x+bf(x) := \\langle w, x \\rangle + b = w^\\top x + bf(x):=⟨w,x⟩+b=w⊤x+b이때 초평면은 f(x)=0f(x) = 0f(x)=0을 만족하는 점들의 집합인 아핀 부분공간(affine subspace)입니다 (교재 식 12.3):\n{x∈RD:⟨w,x⟩+b=0}\\{x \\in \\mathbb{R}^D : \\langle w, x \\rangle + b = 0\\}{x∈RD:⟨w,x⟩+b=0}2. 법선 벡터 www의 기하학적 성질 (직교성 증명) 초평면 위에 있는 임의의 두 점 xa,xbx_a, x_bxa​,xb​를 잡습니다 (f(xa)=0,f(xb)=0f(x_a) = 0, f(x_b) = 0f(xa​)=0,f(xb​)=0). 두 점을 잇는 방향 벡터 xa−xbx_a - x_bxa​−xb​와 벡터 www의 내적을 계산해 보면 (교재 식 12.4):\nf(xa)−f(xb)=(⟨w,xa⟩+b)−(⟨w,xb⟩+b)=⟨w,xa−xb⟩\\begin{aligned} f(x_a) - f(x_b) \u0026amp;= (\\langle w, x_a \\rangle + b) \\\\ \u0026amp;\\quad - (\\langle w, x_b \\rangle + b) \\\\ \u0026amp;= \\langle w, x_a - x_b \\rangle \\end{aligned}f(xa​)−f(xb​)​=(⟨w,xa​⟩+b)−(⟨w,xb​⟩+b)=⟨w,xa​−xb​⟩​좌변이 0−0=00 - 0 = 00−0=0이므로: ⟨w,xa−xb⟩=0\\langle w, x_a - x_b \\rangle = 0⟨w,xa​−xb​⟩=0내적이 000이라는 것은 두 벡터가 직교(orthogonal)함을 의미합니다. 따라서 www는 초평면 위의 모든 선분과 수직인 법선 벡터(normal vector)입니다!\n3. 분류 결정 규칙 (Decision Rule) 초평면은 전체 공간을 두 개의 반공간(half-space)으로 분할합니다:\n양의 영역: ⟨w,x⟩+b≥0 ⟹ y^=+1\\langle w, x \\rangle + b \\ge 0 \\implies \\hat{y} = +1⟨w,x⟩+b≥0⟹y^​=+1 음의 영역: ⟨w,x⟩+b\u0026lt;0 ⟹ y^=−1\\langle w, x \\rangle + b \u0026lt; 0 \\implies \\hat{y} = -1⟨w,x⟩+b\u0026lt;0⟹y^​=−1 학습 데이터 (xn,yn)(x_n, y_n)(xn​,yn​) (n=1,…,Nn=1, \\dots, Nn=1,…,N)이 모두 올바르게 분류된다는 조건은 다음 두 식으로 나타낼 수 있습니다:\nyn=+1y_n = +1yn​=+1일 때: ⟨w,xn⟩+b≥0\\langle w, x_n \\rangle + b \\ge 0⟨w,xn​⟩+b≥0 yn=−1y_n = -1yn​=−1일 때: ⟨w,xn⟩+b\u0026lt;0\\langle w, x_n \\rangle + b \u0026lt; 0⟨w,xn​⟩+b\u0026lt;0 양변에 yny_nyn​을 곱해주면, 부호가 일치하므로 단 하나의 우아한 부등식으로 합쳐집니다 (교재 식 12.7):\nyn(⟨w,xn⟩+b)≥0(∀n=1,…,N)y_n (\\langle w, x_n \\rangle + b) \\ge 0 \\quad (\\forall n = 1, \\dots, N)yn​(⟨w,xn​⟩+b)≥0(∀n=1,…,N)손으로 풀어 보는 예제 (초평면 방정식) 2차원 평면에서 법선 벡터 w=[21]w = \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix}w=[21​], 편향 b=−4b = -4b=−4인 초평면이 주어졌다고 하자.\n이 초평면의 방정식: 2x1+x2−4=0 ⟺ x2=−2x1+42x_1 + x_2 - 4 = 0 \\iff x_2 = -2x_1 + 42x1​+x2​−4=0⟺x2​=−2x1​+4 (기울기 −2-2−2, x2x_2x2​절편 444인 직선). 점 A=[31]A = \\begin{bmatrix} 3 \\\\ 1 \\end{bmatrix}A=[31​]의 분류: f(A)=2(3)+1(1)−4=6+1−4=+3\u0026gt;0 ⟹ y^=+1f(A) = 2(3) + 1(1) - 4 = 6 + 1 - 4 = +3 \u0026gt; 0 \\implies \\hat{y} = +1f(A)=2(3)+1(1)−4=6+1−4=+3\u0026gt;0⟹y^​=+1 점 B=[11]B = \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix}B=[11​]의 분류: f(B)=2(1)+1(1)−4=2+1−4=−1\u0026lt;0 ⟹ y^=−1f(B) = 2(1) + 1(1) - 4 = 2 + 1 - 4 = -1 \u0026lt; 0 \\implies \\hat{y} = -1f(B)=2(1)+1(1)−4=2+1−4=−1\u0026lt;0⟹y^​=−1 헷갈리는 점 / 자주 하는 실수 기하학적 벡터 vs 좌표 벡터: www는 초평면의 \u0026lsquo;방향\u0026rsquo;을 가리키는 법선 화살표(geometric vector)입니다. xxx는 데이터 공간의 \u0026lsquo;위치\u0026rsquo;를 나타내는 점(coordinate vector)입니다. 편향 bbb의 역할: bbb는 초평면이 원점에서 얼마나 떨어져 있는지를 결정합니다. b=0b=0b=0이면 초평면은 반드시 원점을 지납니다. 12.2 원시 서포트 벡터 머신(Primal Support Vector Machine, 374~383쪽) 왜 필요한가 (직관) 데이터가 정확히 선형 분리 가능(linearly separable)할 때, 두 클래스를 나누는 초평면은 단 하나만 존재하는 것이 아니라 무한히 많이 존재합니다 (교재 그림 12.3). 어떤 초평면은 빨간 점에 너무 바짝 붙어 있고, 어떤 것은 파란 점에 너무 바짝 붙어 있습니다. 이렇게 데이터에 아슬아슬하게 붙어 있는 경계선은 새로운 테스트 데이터가 조금만 노이즈를 띠고 들어와도 잘못 분류할 위험(일반화 오차, generalization error)이 큽니다.\n그렇다면 무한히 많은 후보 중에서 가장 훌륭한 단 하나의 초평면은 무엇일까요? 바로 \u0026ldquo;두 클래스의 데이터로부터 가장 멀리 떨어져서, 양쪽으로 가장 넓은 안전거리(여백, Margin)를 확보한 초평면\u0026rdquo;입니다! 이것이 서포트 벡터 머신의 대원칙인 마진 최대화(Margin Maximization)입니다.\n12.2.1 마진의 개념(Concept of the Margin, 374~376쪽) 직교 사영을 이용한 거리 rrr의 유도 초평면의 양의 영역에 있는 데이터 포인트 xax_axa​ (⟨w,xa⟩+b\u0026gt;0\\langle w, x_a \\rangle + b \u0026gt; 0⟨w,xa​⟩+b\u0026gt;0)를 생각합니다 (교재 그림 12.4). xax_axa​에서 초평면에 내린 수선의 발(직교 사영, orthogonal projection)을 xa′x_a\u0026#x27;xa′​라 합시다. xa′x_a\u0026#x27;xa′​는 초평면 위의 점이므로 다음을 만족합니다: ⟨w,xa′⟩+b=0\\langle w, x_a\u0026#x27; \\rangle + b = 0⟨w,xa′​⟩+b=0수선의 방향은 법선 벡터 www와 나란하므로, 단위 법선 벡터 w∥w∥\\frac{w}{\\|w\\|}∥w∥w​에 거리 r\u0026gt;0r \u0026gt; 0r\u0026gt;0을 곱한 벡터만큼 이동한 것이 xax_axa​입니다 (교재 식 12.8):\nxa=xa′+rw∥w∥x_a = x_a\u0026#x27; + r \\frac{w}{\\|w\\|}xa​=xa′​+r∥w∥w​이 식을 초평면 방정식에 대입하면: ⟨w,xa⟩+b=⟨w,xa′+rw∥w∥⟩+b=⟨w,xa′⟩+b⏟=0+r⟨w,w⟩∥w∥=r∥w∥2∥w∥=r∥w∥\\begin{aligned} \\langle w, x_a \\rangle + b \u0026amp;= \\left\\langle w, x_a\u0026#x27; + r \\frac{w}{\\|w\\|} \\right\\rangle + b \\\\ \u0026amp;= \\underbrace{\\langle w, x_a\u0026#x27; \\rangle + b}_{=0} + r \\frac{\\langle w, w \\rangle}{\\|w\\|} \\\\ \u0026amp;= r \\frac{\\|w\\|^2}{\\|w\\|} = r \\|w\\| \\end{aligned}⟨w,xa​⟩+b​=⟨w,xa′​+r∥w∥w​⟩+b==0⟨w,xa′​⟩+b​​+r∥w∥⟨w,w⟩​=r∥w∥∥w∥2​=r∥w∥​따라서 임의의 점 xax_axa​와 초평면 사이의 기하학적 수직 거리는: r=⟨w,xa⟩+b∥w∥r = \\frac{\\langle w, x_a \\rangle + b}{\\|w\\|}r=∥w∥⟨w,xa​⟩+b​ 음의 영역에 있는 점까지 포괄하여 일반화하면, 데이터 xnx_nxn​과 초평면 사이의 거리는: dist(xn,hyperplane)=yn(⟨w,xn⟩+b)∥w∥\\text{dist}(x_n, \\text{hyperplane}) = \\frac{y_n (\\langle w, x_n \\rangle + b)}{\\|w\\|}dist(xn​,hyperplane)=∥w∥yn​(⟨w,xn​⟩+b)​마진(Margin)은 초평면에서 가장 가까운 데이터 포인트까지의 거리입니다. 만약 법선 벡터를 단위 길이(∥w∥=1\\|w\\|=1∥w∥=1)로 고정한다면, 모든 데이터가 초평면으로부터 최소한 거리 rrr 이상 떨어져 있어야 하므로 다음과 같은 최적화 문제가 됩니다 (교재 식 12.10):\nmax⁡w,b,rrsubject toyn(⟨w,xn⟩+b)≥r,∀n=1,…,N∥w∥=1,r\u0026gt;0\\begin{aligned} \\max_{w, b, r} \\quad \u0026amp; r \\\\ \\text{subject to} \\quad \u0026amp; y_n (\\langle w, x_n \\rangle + b) \\ge r, \\\\ \u0026amp;\\quad \\forall n=1, \\dots, N \\\\ \u0026amp; \\|w\\| = 1, \\quad r \u0026gt; 0 \\end{aligned}w,b,rmax​subject to​ryn​(⟨w,xn​⟩+b)≥r,∀n=1,…,N∥w∥=1,r\u0026gt;0​ 12.2.2 마진의 전통적 유도(Traditional Derivation of the Margin, 376~378쪽) 위의 정규화 조건 ∥w∥=1\\|w\\|=1∥w∥=1 대신, 머신러닝 문헌(Vapnik, Schölkopf 등)에서 전통적으로 사용하는 정규화 방식은 데이터 스케일을 고정하는 것입니다.\n초평면에 가장 가까운 점 xax_axa​에서의 함수값을 정확히 111로 스케일링합니다: ⟨w,xa⟩+b=1\\langle w, x_a \\rangle + b = 1⟨w,xa​⟩+b=1 이 점 xax_axa​의 직교 사영 xa′x_a\u0026#x27;xa′​는 초평면 위에 있으므로 ⟨w,xa′⟩+b=0\\langle w, x_a\u0026#x27; \\rangle + b = 0⟨w,xa′​⟩+b=0 입니다. 벡터 덧셈 xa=xa′+rw∥w∥x_a = x_a\u0026#x27; + r \\frac{w}{\\|w\\|}xa​=xa′​+r∥w∥w​를 내적에 대입하면 (교재 식 12.12, 12.13): ⟨w,xa⟩+b−⟨w,rw∥w∥⟩=0 ⟹ 1−r∥w∥=0\\begin{gathered} \\langle w, x_a \\rangle + b - \\left\\langle w, r \\frac{w}{\\|w\\|} \\right\\rangle = 0 \\\\ \\implies 1 - r \\|w\\| = 0 \\end{gathered}⟨w,xa​⟩+b−⟨w,r∥w∥w​⟩=0⟹1−r∥w∥=0​따라서 마진 rrr은 법선 벡터의 노름의 역수가 됩니다 (교재 식 12.14):\nr=1∥w∥r = \\frac{1}{\\|w\\|}r=∥w∥1​이것은 매우 중요한 통찰을 줍니다:\n마진 r=1∥w∥r = \\frac{1}{\\|w\\|}r=∥w∥1​을 최대화하는 것 ⟺ \\iff⟺ 법선 벡터의 길이 ∥w∥\\|w\\|∥w∥를 최소화하는 것! 계산의 편의를 위해 2차 형식과 상수 12\\frac{1}{2}21​을 도입하면, 하드 마진 SVM(Hard Margin SVM)의 원시 최적화 문제가 완성됩니다 (교재 식 12.18, 12.19):\nmin⁡w,b12∥w∥2subject toyn(⟨w,xn⟩+b)≥1,∀n=1,…,N\\begin{aligned} \\min_{w, b} \\quad \u0026amp; \\frac{1}{2} \\|w\\|^2 \\\\ \\text{subject to} \\quad \u0026amp; y_n (\\langle w, x_n \\rangle + b) \\ge 1, \\\\ \u0026amp;\\quad \\forall n = 1, \\dots, N \\end{aligned}w,bmin​subject to​21​∥w∥2yn​(⟨w,xn​⟩+b)≥1,∀n=1,…,N​ 12.2.3 마진을 1로 둘 수 있는 이유 (Theorem 12.1, 378~379쪽) 초심자들이 가장 의아해하는 질문: \u0026ldquo;왜 마진 경계선에서의 함수값을 임의로 1이라고 놓아도 일반성을 잃지 않는가? 2나 0.5로 두면 안 되는가?\u0026rdquo;\n정리 12.1의 엄밀한 증명 12.2.1절의 문제: max⁡w,b,rr2s.t.yn(⟨w∥w∥,xn⟩+b)≥r,r\u0026gt;0\\begin{aligned} \\max_{w, b, r} r^2 \\\\ \\text{s.t.} \\quad \u0026amp; y_n \\left( \\left\\langle \\frac{w}{\\|w\\|}, x_n \\right\\rangle + b \\right) \\ge r, \\\\ \u0026amp; r \u0026gt; 0 \\end{aligned}w,b,rmax​r2s.t.​yn​(⟨∥w∥w​,xn​⟩+b)≥r,r\u0026gt;0​. 선형 제약조건의 양변을 r\u0026gt;0r \u0026gt; 0r\u0026gt;0으로 나눕니다: yn(⟨wr∥w∥,xn⟩+br)≥1y_n \\left( \\left\\langle \\frac{w}{r \\|w\\|}, x_n \\right\\rangle + \\frac{b}{r} \\right) \\ge 1yn​(⟨r∥w∥w​,xn​⟩+rb​)≥1 새로운 변수를 정의합니다: w′′:=wr∥w∥,b′′:=brw\u0026#x27;\u0026#x27; := \\frac{w}{r \\|w\\|}, \\quad b\u0026#x27;\u0026#x27; := \\frac{b}{r}w′′:=r∥w∥w​,b′′:=rb​ 양변의 노름을 취하면: ∥w′′∥=∥wr∥w∥∥=1r∥w∥∥w∥=1r ⟹ r=1∥w′′∥ ⟹ r2=1∥w′′∥2\\|w\u0026#x27;\u0026#x27;\\| = \\left\\| \\frac{w}{r \\|w\\|} \\right\\| = \\frac{1}{r} \\frac{\\|w\\|}{\\|w\\|} = \\frac{1}{r} \\implies r = \\frac{1}{\\|w\u0026#x27;\u0026#x27;\\|} \\implies r^2 = \\frac{1}{\\|w\u0026#x27;\u0026#x27;\\|^2}∥w′′∥=​r∥w∥w​​=r1​∥w∥∥w∥​=r1​⟹r=∥w′′∥1​⟹r2=∥w′′∥21​ 따라서 원래의 목적함수 max⁡r2\\max r^2maxr2는: max⁡1∥w′′∥2 ⟺ min⁡∥w′′∥2 ⟺ min⁡12∥w′′∥2\\max \\frac{1}{\\|w\u0026#x27;\u0026#x27;\\|^2} \\iff \\min \\|w\u0026#x27;\u0026#x27;\\|^2 \\iff \\min \\frac{1}{2} \\|w\u0026#x27;\u0026#x27;\\|^2max∥w′′∥21​⟺min∥w′′∥2⟺min21​∥w′′∥2 제약조건은 yn(⟨w′′,xn⟩+b′′)≥1y_n (\\langle w\u0026#x27;\u0026#x27;, x_n \\rangle + b\u0026#x27;\u0026#x27;) \\ge 1yn​(⟨w′′,xn​⟩+b′′)≥1이 됩니다. 결론: 초평면 방정식 w⊤x+b=0w^\\top x + b = 0w⊤x+b=0은 0이 아닌 임의의 양수 상수를 곱해도 초평면 자체는 전혀 변하지 않는 스케일 불변성(scale invariance)을 갖습니다. 따라서 가장 가까운 데이터에서의 값을 111로 고정하는 것은 좌표계의 게이지(gauge)를 하나 선택하는 것일 뿐, 최적의 초평면 기하학적 형태에는 아무런 제약을 주지 않습니다! ■\\blacksquare■ 12.2.4 소프트 마진 SVM: 기하학적 관점 (379~380쪽) 현실의 데이터는 노이즈가 섞여 있거나, 두 클래스가 서로 약간 겹쳐 있어서 어떤 직선으로도 정확히 둘로 쪼갤 수 없는 선형 분리 불가능(linearly non-separable)인 경우가 대부분입니다 (교재 그림 12.6(b)). 하드 마진 SVM은 단 하나의 이상치(outlier)만 있어도 조건을 만족하는 해가 아예 존재하지 않는 치명적 취약점을 가집니다.\n이를 해결하기 위해 각 데이터 포인트마다 마진 조건을 위반하는 것을 허용하는 슬랙 변수(slack variable, 여유 변수) ξn≥0\\xi_n \\ge 0ξn​≥0을 도입합니다 (교재 그림 12.7).\n마진 조건 완화: yn(⟨w,xn⟩+b)≥1−ξny_n (\\langle w, x_n \\rangle + b) \\ge 1 - \\xi_nyn​(⟨w,xn​⟩+b)≥1−ξn​ ξn=0\\xi_n = 0ξn​=0: 데이터가 올바른 마진 바깥에 안전하게 위치함 (위반 없음). 0\u0026lt;ξn≤10 \u0026lt; \\xi_n \\le 10\u0026lt;ξn​≤1: 데이터가 올바른 방향에 있지만 마진 안쪽으로 침범함. ξn\u0026gt;1\\xi_n \u0026gt; 1ξn​\u0026gt;1: 데이터가 경계면을 넘어 반대편으로 넘어가 오분류(misclassification)됨. 우리는 마진을 넓히고 싶으면서도(12∥w∥2\\frac{1}{2}\\|w\\|^221​∥w∥2 최소화), 동시에 슬랙 변수들의 총합(∑ξn\\sum \\xi_n∑ξn​)을 최소화하여 오분류를 줄이고 싶습니다. 두 목표를 절충(trade-off)하는 매개변수 C\u0026gt;0C \u0026gt; 0C\u0026gt;0을 도입한 것이 소프트 마진 SVM(Soft Margin SVM / C-SVM)입니다 (교재 식 12.26):\nmin⁡w,b,ξ12∥w∥2+C∑n=1Nξnsubject toyn(⟨w,xn⟩+b)≥1−ξn,∀n=1,…,Nξn≥0,∀n=1,…,N\\begin{aligned} \\min_{w, b, \\xi} \\quad \u0026amp; \\frac{1}{2} \\|w\\|^2 + C \\sum_{n=1}^N \\xi_n \\\\ \\text{subject to} \\quad \u0026amp; y_n (\\langle w, x_n \\rangle + b) \\ge 1 - \\xi_n, \\\\ \u0026amp;\\quad \\forall n = 1, \\dots, N \\\\ \u0026amp; \\xi_n \\ge 0, \\quad \\forall n = 1, \\dots, N \\end{aligned}w,b,ξmin​subject to​21​∥w∥2+Cn=1∑N​ξn​yn​(⟨w,xn​⟩+b)≥1−ξn​,∀n=1,…,Nξn​≥0,∀n=1,…,N​ 정규화 매개변수 CCC의 역할: C→∞C \\to \\inftyC→∞: 슬랙을 전혀 용납하지 않음 ⟹ \\implies⟹ 하드 마진 SVM으로 수렴. 과적합(overfitting) 위험 증가. CCC가 작을 때: 마진을 넓히는 데 더 집중함. 더 많은 이상치와 오분류를 허용하여 마진이 넓어짐. 과소적합(underfitting) 위험. 12.2.5 소프트 마진 SVM: 손실 함수 관점 (380~383쪽) 머신러닝의 8장에서 배운 경험적 위험 최소화(Empirical Risk Minimization, ERM) 프레임워크를 떠올려 봅시다: min⁡model규제항(Regularizer)+C×손실함수(Loss)\\begin{aligned} \\min_{\\text{model}} \\quad \u0026amp; \\text{규제항(Regularizer)} \\\\ \u0026amp;\\quad + C \\times \\text{손실함수(Loss)} \\end{aligned}modelmin​​규제항(Regularizer)+C×손실함수(Loss)​이진 분류에서 가장 이상적인 손실 함수는 틀린 개수를 세는 0-1 손실(zero-one loss) 1(y≠sign(f(x)))\\mathbf{1}(y \\ne \\text{sign}(f(x)))1(y=sign(f(x))) 입니다. 하지만 0-1 손실은 불연속이고 미분이 불가능하여 조합 최적화(combinatorial optimization) 문제로 귀결되므로 풀기가 매우 어렵습니다.\nSVM은 0-1 손실의 볼록 상한(convex upper bound)인 힌지 손실(hinge loss)을 채택합니다 (교재 식 12.28, 그림 12.8):\nℓhinge(t)=max⁡{0,1−t},where t=yf(x)=y(⟨w,x⟩+b)\\begin{aligned} \\ell_{\\text{hinge}}(t) \u0026amp;= \\max\\{0, 1 - t\\}, \\\\ \\text{where } t \u0026amp;= y f(x) = y (\\langle w, x \\rangle + b) \\end{aligned}ℓhinge​(t)where t​=max{0,1−t},=yf(x)=y(⟨w,x⟩+b)​이 힌지 손실을 전체 데이터에 대해 더하고 ℓ2\\ell_2ℓ2​ 규제항 12∥w∥2\\frac{1}{2}\\|w\\|^221​∥w∥2을 더하면, 아무런 제약조건이 없는 비제약 최적화 문제(unconstrained optimization problem)가 됩니다 (교재 식 12.31):\nmin⁡w,b12∥w∥2⏟규제항 (마진 최대화)+C∑n=1Nmax⁡{0,1−yn(⟨w,xn⟩+b)}⏟힌지 손실 (오차 패널티)\\begin{aligned} \\min_{w, b} \\quad \u0026amp; \\underbrace{\\frac{1}{2} \\|w\\|^2}_{\\text{규제항 (마진 최대화)}} \\\\ \u0026amp;\\quad + C \\sum_{n=1}^N \\\\ \u0026amp;\\quad \\underbrace{\\max\\{0, 1 - y_n (\\langle w, x_n \\rangle + b)\\}}_{\\text{힌지 손실 (오차 패널티)}} \\end{aligned}w,bmin​​규제항 (마진 최대화)21​∥w∥2​​+Cn=1∑N​힌지 손실 (오차 패널티)max{0,1−yn​(⟨w,xn​⟩+b)}​​​기하학적 관점과 손실 함수 관점의 동치성 증명 단일 데이터에 대해 힌지 손실의 최소화 문제 min⁡tmax⁡{0,1−t}\\min_t \\max\\{0, 1-t\\}mint​max{0,1−t}를 생각해 봅시다. 보조 변수 ξ\\xiξ를 도입하여 ξ≥0\\xi \\ge 0ξ≥0 이고 ξ≥1−t\\xi \\ge 1-tξ≥1−t 라는 두 제약조건을 걸면: min⁡ξs.t.ξ≥0,ξ≥1−yn(⟨w,xn⟩+b)\\begin{aligned} \\min \\xi \\quad \\text{s.t.} \\quad \u0026amp; \\xi \\ge 0, \\\\ \u0026amp; \\xi \\ge 1 - y_n (\\langle w, x_n \\rangle + b) \\end{aligned}minξs.t.​ξ≥0,ξ≥1−yn​(⟨w,xn​⟩+b)​ 와 정확히 동치입니다 (교재 식 12.32, 12.33). 이를 모든 데이터에 적용하면 정확히 12.2.4절의 슬랙 변수 기반 소프트 마진 최적화 문제 (12.26)로 복원됩니다!\n손으로 풀어 보는 예제 (힌지 손실 계산) 어떤 데이터 3개의 라벨과 예측 함수값 f(xn)=⟨w,xn⟩+bf(x_n) = \\langle w, x_n \\rangle + bf(xn​)=⟨w,xn​⟩+b가 다음과 같다고 하자:\ny1=+1,f(x1)=1.5y_1 = +1, f(x_1) = 1.5y1​=+1,f(x1​)=1.5: 마진 경계 바깥에 올바르게 위치. t1=y1f(x1)=1.5 ⟹ ℓ1=max⁡{0,1−1.5}=0,ξ1=0t_1 = y_1 f(x_1) = 1.5 \\implies \\ell_1 = \\max\\{0, 1 - 1.5\\} = 0, \\quad \\xi_1 = 0t1​=y1​f(x1​)=1.5⟹ℓ1​=max{0,1−1.5}=0,ξ1​=0 y2=+1,f(x2)=0.4y_2 = +1, f(x_2) = 0.4y2​=+1,f(x2​)=0.4: 올바른 클래스이지만 마진 경계 안으로 침범. t2=y2f(x2)=0.4 ⟹ ℓ2=max⁡{0,1−0.4}=0.6,ξ2=0.6t_2 = y_2 f(x_2) = 0.4 \\implies \\ell_2 = \\max\\{0, 1 - 0.4\\} = 0.6, \\quad \\xi_2 = 0.6t2​=y2​f(x2​)=0.4⟹ℓ2​=max{0,1−0.4}=0.6,ξ2​=0.6 y3=−1,f(x3)=0.8y_3 = -1, f(x_3) = 0.8y3​=−1,f(x3​)=0.8: 잘못 분류됨 (음수여야 하는데 양수값). t3=y3f(x3)=−0.8 ⟹ ℓ3=max⁡{0,1−(−0.8)}=1.8,ξ3=1.8t_3 = y_3 f(x_3) = -0.8 \\implies \\ell_3 = \\max\\{0, 1 - (-0.8)\\} = 1.8, \\quad \\xi_3 = 1.8t3​=y3​f(x3​)=−0.8⟹ℓ3​=max{0,1−(−0.8)}=1.8,ξ3​=1.8 총 힌지 손실 합: ∑n=13ξn=0+0.6+1.8=2.4\\sum_{n=1}^3 \\xi_n = 0 + 0.6 + 1.8 = 2.4∑n=13​ξn​=0+0.6+1.8=2.4. 12.3 쌍대 서포트 벡터 머신(Dual Support Vector Machine, 383~388쪽) 왜 필요한가 (직관) 원시 SVM(Primal SVM)의 결정 변수는 w∈RDw \\in \\mathbb{R}^Dw∈RD입니다. 즉, 특성의 차원 수 DDD에 비례하여 최적화 변수가 늘어납니다. 만약 데이터의 차원이 수천, 수만 차원이거나 무한 차원이라면 원시 문제는 계산이 불가능해집니다.\n하지만 7장에서 배운 라그랑주 쌍대성(Lagrangian Duality)을 적용하면 다음과 같이 바뀝니다:\n최적화 변수가 DDD차원 벡터 www에서 데이터 개수 NNN개의 라그랑주 승수 α∈RN\\alpha \\in \\mathbb{R}^Nα∈RN으로 바뀝니다! 데이터 xxx가 오직 데이터 쌍 간의 내적 ⟨xi,xj⟩\\langle x_i, x_j \\rangle⟨xi​,xj​⟩의 형태로만 목적함수에 등장합니다! 이 두 가지 특성 덕분에 차원이 아무리 높아도 데이터 개수 NNN만 적당하면 문제를 쉽게 풀 수 있고, 나아가 12.4절의 비선형 커널 트릭(Kernel Trick)이 작동할 수 있는 문이 활짝 열립니다. 12.3.1 라그랑주 승수를 통한 볼록 쌍대성 (383~386쪽) 1. 라그랑지안 함수 구성 원시 문제 (12.26)의 부등식 제약조건에 대해 라그랑주 승수 αn≥0\\alpha_n \\ge 0αn​≥0과 γn≥0\\gamma_n \\ge 0γn​≥0을 도입합니다 (교재 식 12.34):\nL(w,b,ξ,α,γ)=12∥w∥2+C∑n=1Nξn−∑n=1Nαn(yn(⟨w,xn⟩+b)−1+ξn)−∑n=1Nγnξn\\begin{aligned} \\mathcal{L}(w, b, \\xi, \\alpha, \\gamma) \u0026amp;= \\frac{1}{2} \\|w\\|^2 \\\\ \u0026amp;\\quad + C \\sum_{n=1}^N \\xi_n \\\\ \u0026amp;\\quad - \\sum_{n=1}^N \\alpha_n \\Bigl( \\\\ \u0026amp;\\qquad y_n (\\langle w, x_n \\rangle + b) - 1 + \\xi_n \\Bigr) \\\\ \u0026amp;\\quad - \\sum_{n=1}^N \\gamma_n \\xi_n \\end{aligned}L(w,b,ξ,α,γ)​=21​∥w∥2+Cn=1∑N​ξn​−n=1∑N​αn​(yn​(⟨w,xn​⟩+b)−1+ξn​)−n=1∑N​γn​ξn​​2. 원시 변수에 대한 KKT 정지조건 (Stationarity) 라그랑지안을 세 개의 원시 변수 w,b,ξnw, b, \\xi_nw,b,ξn​으로 각각 편미분하여 000으로 둡니다:\nwww에 대한 편미분 (교재 식 12.35): ∇wL=w−∑n=1Nαnynxn=0 ⟹ w=∑n=1Nαnynxn\\begin{aligned} \\nabla_w \\mathcal{L} \u0026amp;= w - \\sum_{n=1}^N \\alpha_n y_n x_n = \\mathbf{0} \\\\ \u0026amp;\\implies w = \\sum_{n=1}^N \\alpha_n y_n x_n \\end{aligned}∇w​L​=w−n=1∑N​αn​yn​xn​=0⟹w=n=1∑N​αn​yn​xn​​ 핵심: 표현자 정리(Representer Theorem)!\n최적의 법선 벡터 w∗w^*w∗는 임의의 다른 방향을 가질 수 없으며, 반드시 훈련 데이터 xnx_nxn​들의 선형결합(span) 안에 존재합니다.\nbbb에 대한 편미분 (교재 식 12.36): ∂L∂b=−∑n=1Nαnyn=0 ⟹ ∑n=1Nαnyn=0\\begin{aligned} \\frac{\\partial \\mathcal{L}}{\\partial b} \u0026amp;= -\\sum_{n=1}^N \\alpha_n y_n = 0 \\\\ \u0026amp;\\implies \\sum_{n=1}^N \\alpha_n y_n = 0 \\end{aligned}∂b∂L​​=−n=1∑N​αn​yn​=0⟹n=1∑N​αn​yn​=0​ ξn\\xi_nξn​에 대한 편미분 (교재 식 12.37): ∂L∂ξn=C−αn−γn=0 ⟹ C=αn+γn\\begin{aligned} \\frac{\\partial \\mathcal{L}}{\\partial \\xi_n} \u0026amp;= C - \\alpha_n - \\gamma_n = 0 \\\\ \u0026amp;\\implies C = \\alpha_n + \\gamma_n \\end{aligned}∂ξn​∂L​​=C−αn​−γn​=0⟹C=αn​+γn​​ 라그랑주 승수의 비음수 조건 γn≥0\\gamma_n \\ge 0γn​≥0에 의해: αn≤C\\alpha_n \\le Cαn​≤C 원래의 αn≥0\\alpha_n \\ge 0αn​≥0과 결합하면 다음과 같은 유명한 박스 제약조건(Box Constraint)이 탄생합니다: 0≤αn≤C0 \\le \\alpha_n \\le C0≤αn​≤C 3. 원시 변수 소거 및 쌍대 목적함수 도출 위의 세 관계식을 라그랑지안에 대입하여 w,b,ξw, b, \\xiw,b,ξ를 완전히 소거합니다 (상세 유도는 본문 뒷부분의 \u0026lsquo;핵심 유도 모음\u0026rsquo; 참조). 최종적으로 얻어지는 쌍대 서포트 벡터 머신(Dual SVM) 문제는 다음과 같습니다 (교재 식 12.41):\nmin⁡α12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩−∑i=1Nαisubject to∑i=1Nαiyi=00≤αi≤C,∀i=1,…,N\\begin{aligned} \\min_{\\alpha} \\quad \u0026amp; \\frac{1}{2} \\sum_{i=1}^N \\\\ \u0026amp;\\quad \\sum_{j=1}^N \\alpha_i \\alpha_j y_i y_j \\langle x_i, x_j \\rangle \\\\ \u0026amp;\\quad - \\sum_{i=1}^N \\alpha_i \\\\ \\text{subject to} \\quad \u0026amp; \\sum_{i=1}^N \\alpha_i y_i = 0 \\\\ \u0026amp; 0 \\le \\alpha_i \\le C, \\\\ \u0026amp;\\quad \\forall i = 1, \\dots, N \\end{aligned}αmin​subject to​21​i=1∑N​j=1∑N​αi​αj​yi​yj​⟨xi​,xj​⟩−i=1∑N​αi​i=1∑N​αi​yi​=00≤αi​≤C,∀i=1,…,N​(참고: 교재에서는 원래 쌍대 함수 max⁡αD(α)\\max_\\alpha \\mathcal{D}(\\alpha)maxα​D(α)에 마이너스를 붙여 min⁡α[−D(α)]\\min_\\alpha [-\\mathcal{D}(\\alpha)]minα​[−D(α)]의 최소화 문제로 표준화하였습니다).\n4. 서포트 벡터의 분류와 KKT 상보 여유성 (Complementary Slackness) KKT 조건 중 상보 여유성 조건은 다음과 같습니다:\nαn[yn(⟨w,xn⟩+b)−1+ξn]=0\\alpha_n [y_n (\\langle w, x_n \\rangle + b) - 1 + \\xi_n] = 0αn​[yn​(⟨w,xn​⟩+b)−1+ξn​]=0 γnξn=(C−αn)ξn=0\\gamma_n \\xi_n = (C - \\alpha_n) \\xi_n = 0γn​ξn​=(C−αn​)ξn​=0 이 조건에 따라 모든 데이터 포인트는 정확히 세 부류로 나뉩니다:\nαn=0\\alpha_n = 0αn​=0인 점 (비-서포트 벡터): γn=C\u0026gt;0 ⟹ ξn=0\\gamma_n = C \u0026gt; 0 \\implies \\xi_n = 0γn​=C\u0026gt;0⟹ξn​=0. yn(⟨w,xn⟩+b)≥1y_n (\\langle w, x_n \\rangle + b) \\ge 1yn​(⟨w,xn​⟩+b)≥1. (대부분은 \u0026gt;1\u0026gt; 1\u0026gt;1이지만, 마진 경계 위에 있으면서 αn=0\\alpha_n = 0αn​=0인 점도 있을 수 있다.) 마진 경계선 바깥에 안전하게 있는 대다수의 데이터입니다. www를 결정하는 데 아무런 기여도 하지 않습니다! 0\u0026lt;αn\u0026lt;C0 \u0026lt; \\alpha_n \u0026lt; C0\u0026lt;αn​\u0026lt;C인 점 (자유 서포트 벡터 / Free Support Vector): C−αn\u0026gt;0 ⟹ ξn=0C - \\alpha_n \u0026gt; 0 \\implies \\xi_n = 0C−αn​\u0026gt;0⟹ξn​=0. 따라서 yn(⟨w,xn⟩+b)=1y_n (\\langle w, x_n \\rangle + b) = 1yn​(⟨w,xn​⟩+b)=1이 정확히 성립합니다! 마진 경계선 바로 위에 정확히 놓여 있는 점들입니다. 편향 b∗b^*b∗를 계산할 때 바로 이 점들을 사용합니다: b∗=yn−⟨w∗,xn⟩=yn−∑j=1Nαj∗yj⟨xj,xn⟩\\begin{aligned} b^* \u0026amp;= y_n - \\langle w^*, x_n \\rangle \\\\ \u0026amp;= y_n - \\sum_{j=1}^N \\alpha_j^* y_j \\langle x_j, x_n \\rangle \\end{aligned}b∗​=yn​−⟨w∗,xn​⟩=yn​−j=1∑N​αj∗​yj​⟨xj​,xn​⟩​ αn=C\\alpha_n = Cαn​=C인 점 (유계 서포트 벡터 / Bounded Support Vector): γn=0 ⟹ ξn≥0\\gamma_n = 0 \\implies \\xi_n \\ge 0γn​=0⟹ξn​≥0. 마진 경계를 침범했거나(0\u0026lt;ξn≤10 \u0026lt; \\xi_n \\le 10\u0026lt;ξn​≤1), 반대편으로 넘어가 오분류된(ξn\u0026gt;1\\xi_n \u0026gt; 1ξn​\u0026gt;1) 데이터들입니다. 12.3.2 쌍대 SVM: 볼록 껍질 관점 (386~388쪽) SVM은 라그랑주 승수법 외에도 계산기하학(computational geometry) 관점에서 완전히 동일한 문제를 유도할 수 있습니다.\n볼록 껍질(Convex Hull)의 정의 어떤 점들의 집합 XXX의 볼록 껍질 conv(X)\\text{conv}(X)conv(X)는 점들의 모든 볼록 결합(가중치 합이 1이고 비음수)으로 둘러싸인 가장 작은 볼록 다포체(convex polytope)입니다 (교재 식 12.43): conv(X)={∑n=1Nαnxn | ∑n=1Nαn=1, αn≥0}\\begin{aligned} \u0026amp; \\text{conv}(X) \\\\ \u0026amp;= \\left\\{ \\sum_{n=1}^N \\alpha_n x_n \\ \\middle|\\ \\sum_{n=1}^N \\alpha_n = 1, \\; \\alpha_n \\ge 0 \\right\\} \\end{aligned}​conv(X)={n=1∑N​αn​xn​ ​ n=1∑N​αn​=1,αn​≥0}​두 볼록 껍질 사이의 최단 거리 양성 클래스 데이터들의 볼록 껍질을 conv(X+)\\text{conv}(X^+)conv(X+), 음성 클래스 데이터들의 볼록 껍질을 conv(X−)\\text{conv}(X^-)conv(X−)라 합시다 (교재 그림 12.9).\n양성 껍질 안의 점: c=∑n:yn=+1αn+xn(∑αn+=1,αn+≥0)c = \\sum_{n: y_n=+1} \\alpha_n^+ x_n \\quad (\\sum \\alpha_n^+ = 1, \\alpha_n^+ \\ge 0)c=∑n:yn​=+1​αn+​xn​(∑αn+​=1,αn+​≥0) 음성 껍질 안의 점: d=∑n:yn=−1αn−xn(∑αn−=1,αn−≥0)d = \\sum_{n: y_n=-1} \\alpha_n^- x_n \\quad (\\sum \\alpha_n^- = 1, \\alpha_n^- \\ge 0)d=∑n:yn​=−1​αn−​xn​(∑αn−​=1,αn−​≥0) 두 다포체 사이의 가장 가까운 두 점 ccc와 ddd를 찾는 문제는 두 점 사이의 거리 ∥c−d∥2\\|c - d\\|^2∥c−d∥2를 최소화하는 것입니다 (교재 식 12.48): min⁡α+,α−12∥c−d∥2=min⁡12∥∑n:yn=+1αn+xn−∑n:yn=−1αn−xn∥2\\begin{aligned} \\min_{\\alpha^+, \\alpha^-} \\frac{1}{2} \\|c - d\\|^2 \u0026amp;= \\min \\frac{1}{2} \\Biggl\\| \\sum_{n: y_n=+1} \\alpha_n^+ x_n \\\\ \u0026amp;\\quad - \\sum_{n: y_n=-1} \\alpha_n^- x_n \\Biggr\\|^2 \\end{aligned}α+,α−min​21​∥c−d∥2​=min21​​n:yn​=+1∑​αn+​xn​−n:yn​=−1∑​αn−​xn​​2​ 제약조건 ∑αn+=1\\sum \\alpha_n^+ = 1∑αn+​=1과 ∑αn−=1\\sum \\alpha_n^- = 1∑αn−​=1을 합치면: ∑n:yn=+1(+1)αn++∑n:yn=−1(−1)αn−=1−1=0 ⟺ ∑n=1Nynαn=0\\begin{aligned} \u0026amp;\\sum_{n: y_n=+1} (+1)\\alpha_n^+ \\\\ \u0026amp;\\quad + \\sum_{n: y_n=-1} (-1)\\alpha_n^- \\\\ \u0026amp;= 1 - 1 = 0 \\\\ \u0026amp;\\iff \\sum_{n=1}^N y_n \\alpha_n = 0 \\end{aligned}​n:yn​=+1∑​(+1)αn+​+n:yn​=−1∑​(−1)αn−​=1−1=0⟺n=1∑N​yn​αn​=0​ 이 기하학적 최소화 문제는 하드 마진 쌍대 SVM과 수학적으로 정확히 동치입니다! 최적의 초평면은 바로 두 볼록 껍질 사이의 최단 선분 c−dc - dc−d를 수직이등분하는 평면이 됩니다.\n손으로 풀어 보는 예제 (하드 마진 SVM 3개 점 손계산 완전 풀이) 시험장에서 손으로 직접 풀 수 있도록, 해석적으로 깔끔하게 떨어지는 2차원 3점 예제를 단계별로 전개합니다.\n데이터셋 설정:\n양성 클래스 (y=+1y = +1y=+1): x1=[12],x2=[21]x_1 = \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix}, \\quad x_2 = \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix}x1​=[12​],x2​=[21​] 음성 클래스 (y=−1y = -1y=−1): x3=[00]x_3 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}x3​=[00​] 1단계: 내적 행렬(그람 행렬) KKK 계산 K11=x1⊤x1=12+22=5K_{11} = x_1^\\top x_1 = 1^2 + 2^2 = 5K11​=x1⊤​x1​=12+22=5 K12=K21=x1⊤x2=1(2)+2(1)=4K_{12} = K_{21} = x_1^\\top x_2 = 1(2) + 2(1) = 4K12​=K21​=x1⊤​x2​=1(2)+2(1)=4 K22=x2⊤x2=22+12=5K_{22} = x_2^\\top x_2 = 2^2 + 1^2 = 5K22​=x2⊤​x2​=22+12=5 x3x_3x3​은 원점 [0,0]⊤[0, 0]^\\top[0,0]⊤이므로 다른 모든 점과의 내적이 000: K13=K31=0,K23=K32=0,K33=0K_{13} = K_{31} = 0, \\quad K_{23} = K_{32} = 0, \\quad K_{33} = 0K13​=K31​=0,K23​=K32​=0,K33​=0 K=[540450000]K = \\begin{bmatrix} 5 \u0026amp; 4 \u0026amp; 0 \\\\ 4 \u0026amp; 5 \u0026amp; 0 \\\\ 0 \u0026amp; 0 \u0026amp; 0 \\end{bmatrix}K=​540​450​000​​2단계: 쌍대 목적함수 구성 쌍대 목적함수: max⁡α1,α2,α3∑i=13αi−12∑i=13∑j=13αiαjyiyjKij\\max_{\\alpha_1, \\alpha_2, \\alpha_3} \\sum_{i=1}^3 \\alpha_i - \\frac{1}{2} \\sum_{i=1}^3 \\sum_{j=1}^3 \\alpha_i \\alpha_j y_i y_j K_{ij}α1​,α2​,α3​max​i=1∑3​αi​−21​i=1∑3​j=1∑3​αi​αj​yi​yj​Kij​ 제약조건: ∑i=13αiyi=α1(1)+α2(1)+α3(−1)=0 ⟹ α3=α1+α2\\begin{aligned} \\sum_{i=1}^3 \\alpha_i y_i \u0026amp;= \\alpha_1(1) + \\alpha_2(1) + \\alpha_3(-1) = 0 \\\\ \u0026amp;\\implies \\alpha_3 = \\alpha_1 + \\alpha_2 \\end{aligned}i=1∑3​αi​yi​​=α1​(1)+α2​(1)+α3​(−1)=0⟹α3​=α1​+α2​​ αi≥0\\alpha_i \\ge 0αi​≥0.\nα3=α1+α2\\alpha_3 = \\alpha_1 + \\alpha_2α3​=α1​+α2​를 목적함수에 대입합니다:\n선형항: ∑i=13αi=α1+α2+α3=α1+α2+(α1+α2)=2(α1+α2)\\sum_{i=1}^3 \\alpha_i = \\alpha_1 + \\alpha_2 + \\alpha_3 = \\alpha_1 + \\alpha_2 + (\\alpha_1 + \\alpha_2) = 2(\\alpha_1 + \\alpha_2)∑i=13​αi​=α1​+α2​+α3​=α1​+α2​+(α1​+α2​)=2(α1​+α2​) 2차항: x3x_3x3​ 관련 내적은 모두 000이므로 i=3i=3i=3이나 j=3j=3j=3인 항은 모두 사라집니다! 12∑i=13∑j=13αiαjyiyjKij=12[α12(1)(1)(5)+2α1α2(1)(1)(4)+α22(1)(1)(5)]=12(5α12+8α1α2+5α22)\\begin{aligned} \u0026amp;\\frac{1}{2} \\sum_{i=1}^3 \\sum_{j=1}^3 \\alpha_i \\alpha_j y_i y_j K_{ij} \\\\ \u0026amp;= \\frac{1}{2} \\Bigl[ \\alpha_1^2 (1)(1)(5) \\\\ \u0026amp;\\quad + 2 \\alpha_1 \\alpha_2 (1)(1)(4) \\\\ \u0026amp;\\quad + \\alpha_2^2 (1)(1)(5) \\Bigr] \\\\ \u0026amp;= \\frac{1}{2} (5\\alpha_1^2 + 8\\alpha_1 \\alpha_2 + 5\\alpha_2^2) \\end{aligned}​21​i=1∑3​j=1∑3​αi​αj​yi​yj​Kij​=21​[α12​(1)(1)(5)+2α1​α2​(1)(1)(4)+α22​(1)(1)(5)]=21​(5α12​+8α1​α2​+5α22​)​ 따라서 최적화할 함수 g(α1,α2)g(\\alpha_1, \\alpha_2)g(α1​,α2​)는: g(α1,α2)=2α1+2α2−52α12−4α1α2−52α22\\begin{aligned} g(\\alpha_1, \\alpha_2) \u0026amp;= 2\\alpha_1 + 2\\alpha_2 \\\\ \u0026amp;\\quad - \\frac{5}{2}\\alpha_1^2 - 4\\alpha_1\\alpha_2 - \\frac{5}{2}\\alpha_2^2 \\end{aligned}g(α1​,α2​)​=2α1​+2α2​−25​α12​−4α1​α2​−25​α22​​3단계: 극값 계산 편미분을 0으로 두면 ∂g∂α1=2−5α1−4α2=0\\frac{\\partial g}{\\partial \\alpha_1} = 2 - 5\\alpha_1 - 4\\alpha_2 = 0∂α1​∂g​=2−5α1​−4α2​=0, ∂g∂α2=2−4α1−5α2=0\\frac{\\partial g}{\\partial \\alpha_2} = 2 - 4\\alpha_1 - 5\\alpha_2 = 0∂α2​∂g​=2−4α1​−5α2​=0이고, 두 식을 빼면 α2−α1=0\\alpha_2 - \\alpha_1 = 0α2​−α1​=0입니다. 그래서 α1=α2=α\\alpha_1 = \\alpha_2 = \\alphaα1​=α2​=α로 둡니다: g(α)=2(α+α)−(52α2+4α2+52α2)=4α−9α2\\begin{aligned} g(\\alpha) \u0026amp;= 2(\\alpha + \\alpha) \\\\ \u0026amp;\\quad - \\left( \\frac{5}{2}\\alpha^2 + 4\\alpha^2 + \\frac{5}{2}\\alpha^2 \\right) \\\\ \u0026amp;= 4\\alpha - 9\\alpha^2 \\end{aligned}g(α)​=2(α+α)−(25​α2+4α2+25​α2)=4α−9α2​ α\\alphaα로 미분하여 000으로 놓으면: dgdα=4−18α=0 ⟹ α=418=29\\frac{dg}{d\\alpha} = 4 - 18\\alpha = 0 \\implies \\alpha = \\frac{4}{18} = \\frac{2}{9}dαdg​=4−18α=0⟹α=184​=92​따라서 최적의 라그랑주 승수는: α1∗=29,α2∗=29,α3∗=α1∗+α2∗=49\\begin{aligned} \\alpha_1^* \u0026amp;= \\frac{2}{9}, \\\\ \\alpha_2^* \u0026amp;= \\frac{2}{9}, \\\\ \\alpha_3^* \u0026amp;= \\alpha_1^* + \\alpha_2^* = \\frac{4}{9} \\end{aligned}α1∗​α2∗​α3∗​​=92​,=92​,=α1∗​+α2∗​=94​​ 모두 αi∗\u0026gt;0\\alpha_i^* \u0026gt; 0αi∗​\u0026gt;0 이므로 세 점 모두 서포트 벡터입니다!\n4단계: 법선 벡터 w∗w^*w∗ 및 편향 b∗b^*b∗ 계산 w∗w^*w∗ 계산 (표현자 정리): w∗=∑i=13αi∗yixi=29(+1)[12]+29(+1)[21]+49(−1)[00]=29([12]+[21])=29[33]=[2/32/3]\\begin{aligned} w^* \u0026amp;= \\sum_{i=1}^3 \\alpha_i^* y_i x_i = \\frac{2}{9}(+1)\\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix} \\\\ \u0026amp;\\quad + \\frac{2}{9}(+1)\\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix} + \\frac{4}{9}(-1)\\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} \\\\ \u0026amp;= \\frac{2}{9} \\left( \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix} + \\begin{bmatrix} 2 \\\\ 1 \\end{bmatrix} \\right) \\\\ \u0026amp;= \\frac{2}{9} \\begin{bmatrix} 3 \\\\ 3 \\end{bmatrix} = \\begin{bmatrix} 2/3 \\\\ 2/3 \\end{bmatrix} \\end{aligned}w∗​=i=1∑3​αi∗​yi​xi​=92​(+1)[12​]+92​(+1)[21​]+94​(−1)[00​]=92​([12​]+[21​])=92​[33​]=[2/32/3​]​ b∗b^*b∗ 계산: 서포트 벡터 x1x_1x1​은 마진 경계선 위에 있으므로 y1(⟨w∗,x1⟩+b)=1y_1(\\langle w^*, x_1 \\rangle + b) = 1y1​(⟨w∗,x1​⟩+b)=1: (+1)([2/32/3][12]+b)=1 ⟹ (23+43)+b=1 ⟹ 2+b=1 ⟹ b∗=−1\\begin{aligned} \u0026amp; (+1)\\left( \\begin{bmatrix} 2/3 \u0026amp; 2/3 \\end{bmatrix} \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix} + b \\right) = 1 \\\\ \u0026amp; \\implies \\left(\\frac{2}{3} + \\frac{4}{3}\\right) + b = 1 \\\\ \u0026amp; \\implies 2 + b = 1 \\implies b^* = -1 \\end{aligned}​(+1)([2/3​2/3​][12​]+b)=1⟹(32​+34​)+b=1⟹2+b=1⟹b∗=−1​ (검산 x2x_2x2​): ⟨w∗,x2⟩+b=(4/3+2/3)−1=2−1=+1=y2\\langle w^*, x_2 \\rangle + b = (4/3 + 2/3) - 1 = 2 - 1 = +1 = y_2⟨w∗,x2​⟩+b=(4/3+2/3)−1=2−1=+1=y2​ (성립!)\n(검산 x3x_3x3​): ⟨w∗,x3⟩+b=0−1=−1=y3\\langle w^*, x_3 \\rangle + b = 0 - 1 = -1 = y_3⟨w∗,x3​⟩+b=0−1=−1=y3​ (성립!)\n마진(Margin) rrr 계산: ∥w∗∥=(23)2+(23)2=89=223\\begin{aligned} \\|w^*\\| \u0026amp;= \\sqrt{\\left(\\frac{2}{3}\\right)^2 + \\left(\\frac{2}{3}\\right)^2} \\\\ \u0026amp;= \\sqrt{\\frac{8}{9}} = \\frac{2\\sqrt{2}}{3} \\end{aligned}∥w∗∥​=(32​)2+(32​)2​=98​​=322​​​ r=1∥w∗∥=322=324≈1.0607r = \\frac{1}{\\|w^*\\|} = \\frac{3}{2\\sqrt{2}} = \\frac{3\\sqrt{2}}{4} \\approx 1.0607r=∥w∗∥1​=22​3​=432​​≈1.0607 초평면 방정식: 23x1+23x2−1=0 ⟺ x1+x2−1.5=0\\begin{aligned} \u0026amp; \\frac{2}{3} x_1 + \\frac{2}{3} x_2 - 1 = 0 \\\\ \u0026amp; \\iff x_1 + x_2 - 1.5 = 0 \\end{aligned}​32​x1​+32​x2​−1=0⟺x1​+x2​−1.5=0​ 볼록 껍질 관점과의 기하학적 일치 확인:\n양성 껍질의 중점 c=12x1+12x2=[1.51.5]c = \\frac{1}{2}x_1 + \\frac{1}{2}x_2 = \\begin{bmatrix} 1.5 \\\\ 1.5 \\end{bmatrix}c=21​x1​+21​x2​=[1.51.5​] 음성 껍질의 점 d=x3=[00]d = x_3 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}d=x3​=[00​] 두 점 사이의 최단 벡터 c−d=[1.51.5]c - d = \\begin{bmatrix} 1.5 \\\\ 1.5 \\end{bmatrix}c−d=[1.51.5​] 초평면의 법선 벡터 w=[2/32/3]w = \\begin{bmatrix} 2/3 \\\\ 2/3 \\end{bmatrix}w=[2/32/3​]는 c−dc - dc−d와 정확히 같은 방향입니다! 초평면은 ccc와 ddd의 중점인 [0.75,0.75]⊤[0.75, 0.75]^\\top[0.75,0.75]⊤을 지나며 수직이등분합니다. 마진 r=324r = \\frac{3\\sqrt{2}}{4}r=432​​는 ∥c−d∥=322\\|c - d\\| = \\frac{3\\sqrt{2}}{2}∥c−d∥=232​​의 정확히 절반입니다. 볼록 껍질 가중치 (12,12,1)(\\tfrac12, \\tfrac12, 1)(21​,21​,1)은 쌍대 해 (29,29,49)(\\tfrac29, \\tfrac29, \\tfrac49)(92​,92​,94​)에 94\\tfrac9449​를 곱한 것으로, 두 관점의 해가 비례합니다. 12.4 커널(Kernels, 388~390쪽) 왜 필요한가 (직관) 만약 데이터가 도넛 모양(안쪽에 파란 점, 바깥 원에 빨간 점)처럼 선형적으로 도저히 분리할 수 없는 비선형 구조를 띤다면 어떻게 해야 할까요? 9장 선형 회귀에서 배웠던 강력한 기법을 다시 사용합니다: 특성 매핑(Feature Mapping) ϕ(x)\\phi(x)ϕ(x)를 통해 데이터를 훨씬 더 높은 고차원 공간으로 날려버리는 것입니다!\n저차원에서는 뒤엉켜 있던 데이터도 충분히 높은 고차원으로 올리면 선형 초평면 하나로 가를 수 있게 되는 경우가 많습니다(교재 밖 보충: Cover의 정리). 하지만 고차원 특성 벡터 ϕ(x)\\phi(x)ϕ(x)를 직접 계산하는 것은 계산량이 너무 많고 메모리가 폭발합니다. 여기서 SVM 쌍대 문제의 장점이 드러납니다: 쌍대 문제에는 데이터 xxx가 오직 내적 ⟨ϕ(xi),ϕ(xj)⟩\\langle \\phi(x_i), \\phi(x_j) \\rangle⟨ϕ(xi​),ϕ(xj​)⟩의 형태로만 존재하므로, 고차원 좌표를 직접 구하지 않고 내적 결과값만 한 방에 계산해 주는 요술 함수 커널 k(xi,xj)k(x_i, x_j)k(xi​,xj​)를 사용하면 됩니다. 이것이 바로 커널 트릭(Kernel Trick)입니다!\n정의와 성질 1. 커널 함수와 재생 커널 힐베르트 공간 (RKHS) 입력 공간 X\\mathcal{X}X 상의 임의의 두 데이터 xi,xjx_i, x_jxi​,xj​에 대해, 어떤 힐베르트 공간 H\\mathcal{H}H로의 특성 맵 ϕ:X→H\\phi: \\mathcal{X} \\to \\mathcal{H}ϕ:X→H가 존재하여 그 내적과 일치하는 함수 k:X×X→Rk: \\mathcal{X} \\times \\mathcal{X} \\to \\mathbb{R}k:X×X→R를 커널(Kernel)이라 정의합니다 (교재 식 12.52):\nk(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩Hk(x_i, x_j) = \\langle \\phi(x_i), \\phi(x_j) \\rangle_\\mathcal{H}k(xi​,xj​)=⟨ϕ(xi​),ϕ(xj​)⟩H​2. 그람 행렬(Gram Matrix)과 양의 준정부호성 교재는 커널을 \u0026ldquo;대칭이고 양의 준정부호인 함수\u0026quot;로 설명합니다. 이 조건이 커널이 되기 위한 필요충분조건이라는 것은 머서 정리 계열의 결과입니다(교재 밖 보충). 즉 유효한 커널의 조건은 대칭성(k(xi,xj)=k(xj,xi)k(x_i, x_j) = k(x_j, x_i)k(xi​,xj​)=k(xj​,xi​))과 양의 준정부호성(Positive Semi-Definite, PSD)입니다. 데이터셋에 대한 커널 행렬(그람 행렬) K∈RN×NK \\in \\mathbb{R}^{N \\times N}K∈RN×N (Kij=k(xi,xj)K_{ij} = k(x_i, x_j)Kij​=k(xi​,xj​))은 모든 z∈RNz \\in \\mathbb{R}^Nz∈RN에 대해 다음을 만족해야 합니다 (교재 식 12.53):\nz⊤Kz≥0z^\\top K z \\ge 0z⊤Kz≥03. 대표적인 커널 함수의 종류 선형 커널 (Linear Kernel): k(xi,xj)=⟨xi,xj⟩=xi⊤xjk(x_i, x_j) = \\langle x_i, x_j \\rangle = x_i^\\top x_jk(xi​,xj​)=⟨xi​,xj​⟩=xi⊤​xj​ 다항식 커널 (Polynomial Kernel): k(xi,xj)=(⟨xi,xj⟩+c)d(c≥0,d∈N)k(x_i, x_j) = (\\langle x_i, x_j \\rangle + c)^d \\quad (c \\ge 0, d \\in \\mathbb{N})k(xi​,xj​)=(⟨xi​,xj​⟩+c)d(c≥0,d∈N) 가우시안 RBF 커널 (Radial Basis Function Kernel): k(xi,xj)=exp⁡(−∥xi−xj∥22σ2)=exp⁡(−γ∥xi−xj∥2)k(x_i, x_j) = \\exp\\left( -\\frac{\\|x_i - x_j\\|^2}{2\\sigma^2} \\right) = \\exp(-\\gamma \\|x_i - x_j\\|^2)k(xi​,xj​)=exp(−2σ2∥xi​−xj​∥2​)=exp(−γ∥xi​−xj​∥2) 성질: 가우시안 RBF 커널에 대응하는 힐베르트 공간 H\\mathcal{H}H는 무한 차원(infinite-dimensional) 공간입니다! 테일러 급수 전개를 통해 무한 차원의 다항식 특성 공간에서의 내적을 단 하나의 지수함수 계산으로 정확히 대체합니다.\n4. 커널 SVM의 최종 분류 결정 함수 학습된 최적의 쌍대 해 α∗\\alpha^*α∗를 사용하면, 새로운 데이터 xtestx_{\\text{test}}xtest​에 대한 예측은 다음과 같이 커널 값들의 선형결합으로 즉시 계산됩니다:\nf(xtest)=∑n=1Nαn∗ynk(xn,xtest)+b∗f(x_{\\text{test}}) = \\sum_{n=1}^N \\alpha_n^* y_n k(x_n, x_{\\text{test}}) + b^*f(xtest​)=n=1∑N​αn∗​yn​k(xn​,xtest​)+b∗서포트 벡터가 아닌 점들은 αn∗=0\\alpha_n^* = 0αn∗​=0이므로, 오직 서포트 벡터들과의 커널 유사도만 계산하면 충분합니다!\n손으로 풀어 보는 예제 (다항식 커널의 특성 맵 전개) 1차원 데이터 xi,xj∈Rx_i, x_j \\in \\mathbb{R}xi​,xj​∈R에 대해 차수 d=2,c=1d=2, c=1d=2,c=1인 다항식 커널 k(xi,xj)=(xixj+1)2k(x_i, x_j) = (x_i x_j + 1)^2k(xi​,xj​)=(xi​xj​+1)2를 생각하자. 이 커널에 대응하는 명시적 특성 매핑 ϕ(x)\\phi(x)ϕ(x)를 구하시오.\n풀이: k(xi,xj)=(xixj+1)2=(xixj)2+2(xixj)+1=xi2xj2+(2xi)(2xj)+1⋅1\\begin{aligned} k(x_i, x_j) \u0026amp;= (x_i x_j + 1)^2 \\\\ \u0026amp;= (x_i x_j)^2 + 2(x_i x_j) + 1 \\\\ \u0026amp;= x_i^2 x_j^2 \\\\ \u0026amp;\\quad + (\\sqrt{2}x_i)(\\sqrt{2}x_j) + 1 \\cdot 1 \\end{aligned}k(xi​,xj​)​=(xi​xj​+1)2=(xi​xj​)2+2(xi​xj​)+1=xi2​xj2​+(2​xi​)(2​xj​)+1⋅1​ 이는 3차원 벡터 간의 표준 내적과 일치한다: ⟨ϕ(xi),ϕ(xj)⟩=[xi22xi1]⊤[xj22xj1]\\langle \\phi(x_i), \\phi(x_j) \\rangle = \\begin{bmatrix} x_i^2 \\\\ \\sqrt{2}x_i \\\\ 1 \\end{bmatrix}^\\top \\begin{bmatrix} x_j^2 \\\\ \\sqrt{2}x_j \\\\ 1 \\end{bmatrix}⟨ϕ(xi​),ϕ(xj​)⟩=​xi2​2​xi​1​​⊤​xj2​2​xj​1​​ 따라서 특성 매핑은 ϕ(x)=[x22x1]∈R3\\phi(x) = \\begin{bmatrix} x^2 \\\\ \\sqrt{2}x \\\\ 1 \\end{bmatrix} \\in \\mathbb{R}^3ϕ(x)=​x22​x1​​∈R3 이다. 1차원 데이터를 3차원 포물선 공간으로 매핑한 것과 동일합니다.\n12.5 수치적 해법(Numerical Solution, 390~392쪽) 왜 필요한가 (직관) SVM의 목적함수를 도출했으니, 컴퓨터로 이를 실제로 풀어내는 알고리즘이 필요합니다. 교재는 크게 두 가지 수치 최적화 경로를 제시합니다:\n손실 함수 관점에서의 서브그레디언트 경사하강법(Subgradient Descent). 제약조건 최적화 관점에서의 볼록 2차 계획법(Quadratic Programming, QP) 표준형 변환. 정의와 성질 1. 힌지 손실의 서브그레디언트 (Subgradient) 힌지 손실 ℓ(t)=max⁡{0,1−t}\\ell(t) = \\max\\{0, 1-t\\}ℓ(t)=max{0,1−t} (t=yf(x)t = y f(x)t=yf(x))는 꺾인 점 t=1t = 1t=1에서 미분이 불가능합니다. 하지만 볼록 함수이므로 서브그레디언트(subgradient)를 정의하여 최적화할 수 있습니다 (교재 식 12.54):\ng(t)={−1if t\u0026lt;1[−1,0]if t=10if t\u0026gt;1g(t) = \\begin{cases} -1 \u0026amp; \\text{if } t \u0026lt; 1 \\\\ [-1, 0] \u0026amp; \\text{if } t = 1 \\\\ 0 \u0026amp; \\text{if } t \u0026gt; 1 \\end{cases}g(t)=⎩⎨⎧​−1[−1,0]0​if t\u0026lt;1if t=1if t\u0026gt;1​이를 이용해 7장의 경사하강법·확률적 경사하강법을 그대로 쓸 수 있습니다(교재 밖 보충: Pegasos가 대표적인 SGD 기반 선형 SVM 학습법).\n2. 원시 SVM의 2차 계획법(QP) 표준형 (교재 식 12.56) 변수들을 하나의 긴 벡터 θ=[wbξ]∈RD+1+N\\theta = \\begin{bmatrix} w \\\\ b \\\\ \\xi \\end{bmatrix} \\in \\mathbb{R}^{D + 1 + N}θ=​wbξ​​∈RD+1+N로 결합하면, 원시 SVM은 표준 QP 형태 min⁡θ12θ⊤Pθ+q⊤θs.t.Aθ≤h\\min_\\theta \\frac{1}{2} \\theta^\\top P \\theta + q^\\top \\theta \\quad \\text{s.t.} \\quad A \\theta \\le hminθ​21​θ⊤Pθ+q⊤θs.t.Aθ≤h 로 정확히 표현됩니다:\nmin⁡w,b,ξ12[wbξ]⊤[ID00000000][wbξ]+[0D+1C1N]⊤[wbξ]\\begin{aligned} \u0026amp; \\min_{w, b, \\xi} \\frac{1}{2} \\begin{bmatrix} w \\\\ b \\\\ \\xi \\end{bmatrix}^\\top \\begin{bmatrix} I_D \u0026amp; \\mathbf{0} \u0026amp; \\mathbf{0} \\\\ \\mathbf{0} \u0026amp; 0 \u0026amp; \\mathbf{0} \\\\ \\mathbf{0} \u0026amp; \\mathbf{0} \u0026amp; \\mathbf{0} \\end{bmatrix} \\begin{bmatrix} w \\\\ b \\\\ \\xi \\end{bmatrix} \\\\ \u0026amp;\\quad + \\begin{bmatrix} \\mathbf{0}_{D+1} \\\\ C \\mathbf{1}_N \\end{bmatrix}^\\top \\begin{bmatrix} w \\\\ b \\\\ \\xi \\end{bmatrix} \\end{aligned}​w,b,ξmin​21​​wbξ​​⊤​ID​00​000​000​​​wbξ​​+[0D+1​C1N​​]⊤​wbξ​​​ subject to[−YX−y−IN00−IN][wbξ]≤[−1N0N]\\begin{aligned} \\text{subject to} \\quad \u0026amp; \\begin{bmatrix} -YX \u0026amp; -y \u0026amp; -I_N \\\\ \\mathbf{0} \u0026amp; 0 \u0026amp; -I_N \\end{bmatrix} \\begin{bmatrix} w \\\\ b \\\\ \\xi \\end{bmatrix} \\\\ \u0026amp; \\le \\begin{bmatrix} -\\mathbf{1}_N \\\\ \\mathbf{0}_N \\end{bmatrix} \\end{aligned}subject to​[−YX0​−y0​−IN​−IN​​]​wbξ​​≤[−1N​0N​​]​ 여기서 Y=diag(y)Y = \\text{diag}(y)Y=diag(y), X∈RN×DX \\in \\mathbb{R}^{N \\times D}X∈RN×D 입니다.\n3. 쌍대 SVM의 2차 계획법(QP) 표준형 (교재 식 12.57) 쌍대 문제는 오직 α∈RN\\alpha \\in \\mathbb{R}^Nα∈RN에 대한 NNN차원 QP 문제입니다: min⁡α12α⊤(YKY)α−1N⊤α\\min_\\alpha \\quad \\frac{1}{2} \\alpha^\\top (Y K Y) \\alpha - \\mathbf{1}_N^\\top \\alphaαmin​21​α⊤(YKY)α−1N⊤​α subject to[y⊤−y⊤−ININ]α≤[000NC1N]\\text{subject to} \\quad \\begin{bmatrix} y^\\top \\\\ -y^\\top \\\\ -I_N \\\\ I_N \\end{bmatrix} \\alpha \\le \\begin{bmatrix} 0 \\\\ 0 \\\\ \\mathbf{0}_N \\\\ C \\mathbf{1}_N \\end{bmatrix}subject to​y⊤−y⊤−IN​IN​​​α≤​000N​C1N​​​ 여기서 등식 제약조건 y⊤α=0y^\\top \\alpha = 0y⊤α=0은 두 개의 부등식 y⊤α≤0y^\\top \\alpha \\le 0y⊤α≤0과 −y⊤α≤0-y^\\top \\alpha \\le 0−y⊤α≤0으로 표준 변환되었습니다. (교재 밖 보충) 실무에서는 대규모 QP를 풀기 위해 SMO(Sequential Minimal Optimization) 알고리즘(LIBSVM)이 널리 쓰입니다.\n12.6 더 읽을거리(Further Reading, 392~394쪽) 핵심 개념 정리 로지스틱 회귀(Logistic Regression)와의 비교: SVM은 기하학적 마진 최대화에 기반한 비확률적(non-probabilistic) 모델이며, 손실 함수로 힌지 손실을 씁니다. 서포트 벡터가 아닌 점들은 손실이 0이므로 경계선 형성에 아무런 영향을 주지 않습니다(희소성, sparsity). 로지스틱 회귀는 베르누이 가능도의 음의 로그 가능도(로그 손실 / 크로스 엔트로피)를 최소화하는 확률적(probabilistic) 모델입니다. 모든 데이터가 시그모이드 곡선을 통해 손실에 기여하므로 희소성이 없습니다. 플랫 스케일링(Platt Scaling): SVM의 결정 점수 f(x)=⟨w,x⟩+bf(x) = \\langle w, x \\rangle + bf(x)=⟨w,x⟩+b는 확률이 아닙니다. 이를 사후확률 P(Y=1∣x)P(Y=1 \\mid x)P(Y=1∣x)로 변환하기 위해 추가적인 시그모이드 로지스틱 교정 함수 P(Y=1∣x)=11+exp⁡(Af(x)+B)P(Y=1 \\mid x) = \\frac{1}{1 + \\exp(A f(x) + B)}P(Y=1∣x)=1+exp(Af(x)+B)1​를 적합하는 기법입니다. (교재는 Platt(2000) 등의 보정 단계가 있다고만 언급하며, 이 식은 교재 밖 보충.) 볼록 켤레(Fenchel Conjugate) 관점: 르장드르-펜첼 변환을 통해 힌지 손실의 볼록 켤레 함수를 구함으로써 라그랑주 승수법과 완전히 동일한 쌍대 SVM을 유도할 수 있습니다. 핵심 유도 모음 (백지에 직접 쓸 수 있어야 하는 유도) 유도 1: 점과 초평면 사이의 기하학적 거리 및 마진 r=1/∥w∥r = 1/\\|w\\|r=1/∥w∥ 유도 설정: 초평면 H={x:⟨w,x⟩+b=0}\\mathcal{H} = \\{x : \\langle w, x \\rangle + b = 0\\}H={x:⟨w,x⟩+b=0}. 임의의 점 xax_axa​ (⟨w,xa⟩+b\u0026gt;0\\langle w, x_a \\rangle + b \u0026gt; 0⟨w,xa​⟩+b\u0026gt;0). 수선의 발 xa′x_a\u0026#x27;xa′​ 정의: xa′x_a\u0026#x27;xa′​는 초평면 위의 점이므로 ⟨w,xa′⟩+b=0\\langle w, x_a\u0026#x27; \\rangle + b = 0⟨w,xa′​⟩+b=0. 벡터 덧셈 관계식: 법선 벡터 방향의 단위 벡터는 w∥w∥\\frac{w}{\\|w\\|}∥w∥w​이므로, xa=xa′+rw∥w∥(r\u0026gt;0)x_a = x_a\u0026#x27; + r \\frac{w}{\\|w\\|} \\quad (r \u0026gt; 0)xa​=xa′​+r∥w∥w​(r\u0026gt;0) (이유: www가 초평면에 직교하므로 최단거리 벡터는 www와 평행함) 초평면 방정식 대입: ⟨w,xa⟩+b=⟨w,xa′+rw∥w∥⟩+b=⟨w,xa′⟩+b⏟=0+r⟨w,w⟩∥w∥\\langle w, x_a \\rangle + b = \\left\\langle w, x_a\u0026#x27; + r \\frac{w}{\\|w\\|} \\right\\rangle + b = \\underbrace{\\langle w, x_a\u0026#x27; \\rangle + b}_{=0} + r \\frac{\\langle w, w \\rangle}{\\|w\\|}⟨w,xa​⟩+b=⟨w,xa′​+r∥w∥w​⟩+b==0⟨w,xa′​⟩+b​​+r∥w∥⟨w,w⟩​ 내적의 성질 적용: ⟨w,w⟩=∥w∥2\\langle w, w \\rangle = \\|w\\|^2⟨w,w⟩=∥w∥2 이므로, ⟨w,xa⟩+b=r∥w∥2∥w∥=r∥w∥ ⟹ r=⟨w,xa⟩+b∥w∥\\langle w, x_a \\rangle + b = r \\frac{\\|w\\|^2}{\\|w\\|} = r \\|w\\| \\implies r = \\frac{\\langle w, x_a \\rangle + b}{\\|w\\|}⟨w,xa​⟩+b=r∥w∥∥w∥2​=r∥w∥⟹r=∥w∥⟨w,xa​⟩+b​ 마진 조건 스케일링: 가장 가까운 서포트 벡터 xax_axa​에서의 값을 ⟨w,xa⟩+b=1\\langle w, x_a \\rangle + b = 1⟨w,xa​⟩+b=1로 정규화하면: r=1∥w∥■r = \\frac{1}{\\|w\\|} \\quad \\blacksquarer=∥w∥1​■ 유도 2: 원시 SVM에서 쌍대 SVM으로의 완전한 라그랑주 쌍대 유도 목표: 원시 소프트 마진 최적화 문제로부터 라그랑주 함수를 구성하고, w,b,ξw, b, \\xiw,b,ξ를 소거하여 α\\alphaα만의 쌍대 문제를 유도한다.\n원시 문제 및 라그랑지안 구성: L(w,b,ξ,α,γ)=12∥w∥2+C∑n=1Nξn−∑n=1Nαn(yn(⟨w,xn⟩+b)−1+ξn)−∑n=1Nγnξn\\begin{aligned} L(w, b, \\xi, \\alpha, \\gamma) \u0026amp;= \\frac{1}{2} \\|w\\|^2 \\\\ \u0026amp;\\quad + C \\sum_{n=1}^N \\xi_n \\\\ \u0026amp;\\quad - \\sum_{n=1}^N \\alpha_n \\Bigl( \\\\ \u0026amp;\\qquad y_n (\\langle w, x_n \\rangle + b) - 1 + \\xi_n \\Bigr) \\\\ \u0026amp;\\quad - \\sum_{n=1}^N \\gamma_n \\xi_n \\end{aligned}L(w,b,ξ,α,γ)​=21​∥w∥2+Cn=1∑N​ξn​−n=1∑N​αn​(yn​(⟨w,xn​⟩+b)−1+ξn​)−n=1∑N​γn​ξn​​ 제약: αn≥0,γn≥0\\alpha_n \\ge 0, \\gamma_n \\ge 0αn​≥0,γn​≥0.\nw,b,ξw, b, \\xiw,b,ξ에 대한 편미분을 0으로 놓기 (KKT 1차 조건):\n∇wL=w−∑n=1Nαnynxn=0 ⟹ w=∑n=1Nαnynxn\\nabla_w L = w - \\sum_{n=1}^N \\alpha_n y_n x_n = \\mathbf{0} \\implies w = \\sum_{n=1}^N \\alpha_n y_n x_n∇w​L=w−∑n=1N​αn​yn​xn​=0⟹w=∑n=1N​αn​yn​xn​ ∂L∂b=−∑n=1Nαnyn=0 ⟹ ∑n=1Nαnyn=0\\frac{\\partial L}{\\partial b} = -\\sum_{n=1}^N \\alpha_n y_n = 0 \\implies \\sum_{n=1}^N \\alpha_n y_n = 0∂b∂L​=−∑n=1N​αn​yn​=0⟹∑n=1N​αn​yn​=0 ∂L∂ξn=C−αn−γn=0 ⟹ C−αn−γn=0\\frac{\\partial L}{\\partial \\xi_n} = C - \\alpha_n - \\gamma_n = 0 \\implies C - \\alpha_n - \\gamma_n = 0∂ξn​∂L​=C−αn​−γn​=0⟹C−αn​−γn​=0 라그랑지안의 항별 분해 및 소거: LLL을 각 변수별로 묶어 정리하면 (교재 식 12.39): L=12∥w∥2−⟨w,∑n=1Nαnynxn⟩−b(∑n=1Nαnyn)⏟=0+∑n=1Nαn+∑n=1N(C−αn−γn)⏟=0ξn\\begin{aligned} L \u0026amp;= \\frac{1}{2} \\|w\\|^2 - \\left\\langle w, \\sum_{n=1}^N \\alpha_n y_n x_n \\right\\rangle \\\\ \u0026amp;\\quad - b \\underbrace{\\left( \\sum_{n=1}^N \\alpha_n y_n \\right)}_{=0} + \\sum_{n=1}^N \\alpha_n \\\\ \u0026amp;\\quad + \\sum_{n=1}^N \\underbrace{(C - \\alpha_n - \\gamma_n)}_{=0} \\xi_n \\end{aligned}L​=21​∥w∥2−⟨w,n=1∑N​αn​yn​xn​⟩−b=0(n=1∑N​αn​yn​)​​+n=1∑N​αn​+n=1∑N​=0(C−αn​−γn​)​​ξn​​ bbb가 곱해진 항은 ∑αnyn=0\\sum \\alpha_n y_n = 0∑αn​yn​=0에 의해 완전히 000이 되어 사라진다. ξn\\xi_nξn​이 곱해진 항은 C−αn−γn=0C - \\alpha_n - \\gamma_n = 0C−αn​−γn​=0에 의해 완전히 000이 되어 사라진다. www 항의 대입 및 정리: w=∑n=1Nαnynxnw = \\sum_{n=1}^N \\alpha_n y_n x_nw=∑n=1N​αn​yn​xn​을 대입하면: 12∥w∥2=12⟨∑i=1Nαiyixi,∑j=1Nαjyjxj⟩=12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\\begin{aligned} \\frac{1}{2} \\|w\\|^2 \u0026amp;= \\frac{1}{2} \\Bigl\\langle \\sum_{i=1}^N \\alpha_i y_i x_i, \\\\ \u0026amp;\\quad \\sum_{j=1}^N \\alpha_j y_j x_j \\Bigr\\rangle \\\\ \u0026amp;= \\frac{1}{2} \\sum_{i=1}^N \\\\ \u0026amp;\\quad \\sum_{j=1}^N \\alpha_i \\alpha_j y_i y_j \\langle x_i, x_j \\rangle \\end{aligned}21​∥w∥2​=21​⟨i=1∑N​αi​yi​xi​,j=1∑N​αj​yj​xj​⟩=21​i=1∑N​j=1∑N​αi​αj​yi​yj​⟨xi​,xj​⟩​ 뒤의 내적 항: −⟨w,∑i=1Nαiyixi⟩=−∥w∥2=−∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\\begin{aligned} \u0026amp;-\\left\\langle w, \\sum_{i=1}^N \\alpha_i y_i x_i \\right\\rangle \\\\ \u0026amp;= -\\|w\\|^2 \\\\ \u0026amp;= -\\sum_{i=1}^N \\\\ \u0026amp;\\quad \\sum_{j=1}^N \\alpha_i \\alpha_j y_i y_j \\langle x_i, x_j \\rangle \\end{aligned}​−⟨w,i=1∑N​αi​yi​xi​⟩=−∥w∥2=−i=1∑N​j=1∑N​αi​αj​yi​yj​⟨xi​,xj​⟩​ 두 항을 합치면: 12∥w∥2−∥w∥2=−12∥w∥2=−12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\\begin{aligned} \u0026amp;\\frac{1}{2}\\|w\\|^2 - \\|w\\|^2 \\\\ \u0026amp;= -\\frac{1}{2}\\|w\\|^2 \\\\ \u0026amp;= -\\frac{1}{2} \\sum_{i=1}^N \\\\ \u0026amp;\\quad \\sum_{j=1}^N \\alpha_i \\alpha_j y_i y_j \\langle x_i, x_j \\rangle \\end{aligned}​21​∥w∥2−∥w∥2=−21​∥w∥2=−21​i=1∑N​j=1∑N​αi​αj​yi​yj​⟨xi​,xj​⟩​ 쌍대 목적함수 D(α)\\mathcal{D}(\\alpha)D(α) 완성: D(α)=∑i=1Nαi−12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\\begin{aligned} \\mathcal{D}(\\alpha) \u0026amp;= \\sum_{i=1}^N \\alpha_i \\\\ \u0026amp;\\quad - \\frac{1}{2} \\sum_{i=1}^N \\sum_{j=1}^N \\alpha_i \\alpha_j y_i y_j \\langle x_i, x_j \\rangle \\end{aligned}D(α)​=i=1∑N​αi​−21​i=1∑N​j=1∑N​αi​αj​yi​yj​⟨xi​,xj​⟩​ 제약조건:\n∑i=1Nαiyi=0\\sum_{i=1}^N \\alpha_i y_i = 0∑i=1N​αi​yi​=0 αi≥0\\alpha_i \\ge 0αi​≥0 이고, γi=C−αi≥0 ⟹ αi≤C ⟹ 0≤αi≤C\\gamma_i = C - \\alpha_i \\ge 0 \\implies \\alpha_i \\le C \\implies 0 \\le \\alpha_i \\le Cγi​=C−αi​≥0⟹αi​≤C⟹0≤αi​≤C. 최소화 문제로의 변환: max⁡D(α) ⟺ min⁡[−D(α)]\\max \\mathcal{D}(\\alpha) \\iff \\min [-\\mathcal{D}(\\alpha)]maxD(α)⟺min[−D(α)] 이므로: min⁡α12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩−∑i=1Nαi■\\begin{aligned} \u0026amp; \\min_\\alpha \\frac{1}{2} \\sum_{i=1}^N \\sum_{j=1}^N \\alpha_i \\alpha_j y_i y_j \\langle x_i, x_j \\rangle \\\\ \u0026amp;\\quad - \\sum_{i=1}^N \\alpha_i \\quad \\blacksquare \\end{aligned}​αmin​21​i=1∑N​j=1∑N​αi​αj​yi​yj​⟨xi​,xj​⟩−i=1∑N​αi​■​ 말로 설명하기 (개념 서술형·구술 대비) 서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.\nQ. SVM은 왜 마진을 최대화하나요? 마진이 1/∥w∥1/\\|w\\|1/∥w∥인 이유는? \u0026ldquo;분리하는 직선이 여러 개면 양쪽 데이터에서 가장 멀리 떨어진 것이 새 데이터의 작은 흔들림에도 덜 틀리기 때문입니다. 초평면 ⟨w,x⟩+b=0\\langle w,x\\rangle+b=0⟨w,x⟩+b=0은 w,bw,bw,b에 같은 양수를 곱해도 그대로라서, 가장 가까운 점에서 yn(⟨w,xn⟩+b)=1y_n(\\langle w,x_n\\rangle+b)=1yn​(⟨w,xn​⟩+b)=1이 되도록 크기를 고정할 수 있습니다. 그러면 점과 초평면 사이 거리 공식 ∣⟨w,x⟩+b∣∥w∥\\frac{|\\langle w,x\\rangle+b|}{\\|w\\|}∥w∥∣⟨w,x⟩+b∣​에서 마진이 1/∥w∥1/\\|w\\|1/∥w∥이고, 마진 최대화는 12∥w∥2\\frac12\\|w\\|^221​∥w∥2 최소화와 같습니다.\u0026rdquo;\nQ. 소프트 마진에서 CCC와 슬랙 변수의 역할은? \u0026ldquo;현실 데이터는 정확히 나뉘지 않으므로 점마다 위반량 ξn≥0\\xi_n\\ge0ξn​≥0을 허용해 ynf(xn)≥1−ξny_n f(x_n)\\ge1-\\xi_nyn​f(xn​)≥1−ξn​으로 완화합니다. ξn\\xi_nξn​이 0과 1 사이면 마진 안쪽, 1보다 크면 오분류입니다. CCC가 크면 위반을 거의 허용하지 않아 마진이 좁아지고 과적합 위험이 커지며, 작으면 마진이 넓어지고 과소적합 위험이 커집니다.\u0026rdquo;\nQ. 힌지 손실 관점으로 SVM을 설명해 보세요. \u0026ldquo;min⁡12∥w∥2+C∑max⁡{0,1−ynf(xn)}\\min\\frac12\\|w\\|^2+C\\sum\\max\\{0,1-y_nf(x_n)\\}min21​∥w∥2+C∑max{0,1−yn​f(xn​)}로, 정규화 항과 힌지 손실의 합을 최소화하는 경험적 위험 최소화입니다. 힌지 손실은 0-1 손실의 볼록 상한이고, ξn≥0, ξn≥1−t\\xi_n\\ge0,\\ \\xi_n\\ge1-tξn​≥0, ξn​≥1−t 제약으로 바꾸면 슬랙 변수를 쓴 기하학적 문제와 정확히 같아집니다.\u0026rdquo;\nQ. 쌍대 문제를 왜 푸나요? 유도 과정을 요약해 보세요. \u0026ldquo;라그랑지안에서 www, bbb, ξ\\xiξ로 미분해 0으로 두면 w=∑αnynxnw=\\sum\\alpha_ny_nx_nw=∑αn​yn​xn​, ∑αnyn=0\\sum\\alpha_ny_n=0∑αn​yn​=0, αn+γn=C\\alpha_n+\\gamma_n=Cαn​+γn​=C가 나옵니다. 대입하면 α\\alphaα만 남은 max⁡∑αn−12∑∑αiαjyiyj⟨xi,xj⟩\\max\\sum\\alpha_n-\\frac12\\sum\\sum\\alpha_i\\alpha_jy_iy_j\\langle x_i,x_j\\ranglemax∑αn​−21​∑∑αi​αj​yi​yj​⟨xi​,xj​⟩, 제약 0≤αn≤C0\\le\\alpha_n\\le C0≤αn​≤C가 됩니다. 변수 수가 차원 DDD가 아니라 데이터 수 NNN이고, 데이터가 내적으로만 나타나 커널로 바꿀 수 있다는 것이 장점입니다.\u0026rdquo;\nQ. 서포트 벡터는 무엇이고 왜 해가 희소한가요? \u0026ldquo;αn\u0026gt;0\\alpha_n\u0026gt;0αn​\u0026gt;0인 점입니다. 상보 여유성 때문에 마진 바깥에 여유 있게 있는 점은 αn=0\\alpha_n=0αn​=0이 되어 www에 기여하지 않습니다. 0\u0026lt;αn\u0026lt;C0\u0026lt;\\alpha_n\u0026lt;C0\u0026lt;αn​\u0026lt;C면 마진 경계 바로 위에 있어 bbb를 구하는 데 쓰고, αn=C\\alpha_n=Cαn​=C면 마진을 침범했거나 오분류된 점입니다.\u0026rdquo;\nQ. 커널 트릭이란? 어떤 함수가 커널이 될 수 있나요? \u0026ldquo;쌍대 문제와 예측식에 데이터가 내적으로만 나오므로, 내적을 k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩k(x_i,x_j)=\\langle\\phi(x_i),\\phi(x_j)\\ranglek(xi​,xj​)=⟨ϕ(xi​),ϕ(xj​)⟩로 바꾸면 고차원 특징 ϕ\\phiϕ를 직접 계산하지 않고도 그 공간에서 선형 분리를 할 수 있습니다. 커널은 대칭이고 양의 준정부호여서 어떤 데이터에서든 그람 행렬이 양의 준정부호여야 합니다. 다항식 커널과 가우시안 RBF 커널이 대표적이며, RBF는 무한 차원 특징 공간에 해당합니다.\u0026rdquo;\nQ. 볼록 껍질 관점은 무엇인가요? \u0026ldquo;하드 마진 쌍대 SVM은 두 클래스 점들의 볼록 껍질 사이에서 가장 가까운 두 점을 찾는 문제와 같습니다. 최적 초평면은 그 최단 선분을 수직이등분하고, 마진은 최단 거리의 절반입니다.\u0026rdquo;\n연습문제 확인 문제 (계산형 및 개념형 10제) [문제 1: 1차원 하드 마진 SVM 손계산] 1차원 공간에 세 개의 데이터가 있다:\nx1=1,y1=−1x_1 = 1, y_1 = -1x1​=1,y1​=−1 x2=2,y2=−1x_2 = 2, y_2 = -1x2​=2,y2​=−1 x3=6,y3=+1x_3 = 6, y_3 = +1x3​=6,y3​=+1 하드 마진 분리 초평면(점) wx+b=0w x + b = 0wx+b=0의 최적 매개변수 w∗,b∗w^*, b^*w∗,b∗와 마진 rrr을 구하시오. [풀이] 1차원에서 분리 초평면은 두 클래스 사이의 경계점이다. 음성 클래스 중 가장 큰 점은 x2=2x_2 = 2x2​=2, 양성 클래스 중 가장 작은 점은 x3=6x_3 = 6x3​=6이다. 서포트 벡터는 x2x_2x2​와 x3x_3x3​이다. 마진 경계선 조건: w(2)+b=−1w(2) + b = -1w(2)+b=−1 w(6)+b=+1w(6) + b = +1w(6)+b=+1 두 식을 빼면: 4w=2 ⟹ w∗=12=0.54w = 2 \\implies w^* = \\frac{1}{2} = 0.54w=2⟹w∗=21​=0.5. 대입하면: 0.5(2)+b=−1 ⟹ 1+b=−1 ⟹ b∗=−20.5(2) + b = -1 \\implies 1 + b = -1 \\implies b^* = -20.5(2)+b=−1⟹1+b=−1⟹b∗=−2. 결정 경계점: 0.5x−2=0 ⟹ x=40.5 x - 2 = 0 \\implies x = 40.5x−2=0⟹x=4. (2와 6의 정확한 중점!) 마진 r=1∣w∣=10.5=2r = \\frac{1}{|w|} = \\frac{1}{0.5} = 2r=∣w∣1​=0.51​=2. (경계점 4에서 2와 6까지의 거리는 정확히 2).\n[문제 2: 마진 크기 비교] 초평면 A:3x1+4x2−5=0A: 3x_1 + 4x_2 - 5 = 0A:3x1​+4x2​−5=0 과 초평면 B:x1+x2−1=0B: x_1 + x_2 - 1 = 0B:x1​+x2​−1=0 이 각각 서포트 벡터에서의 함수값이 ±1\\pm 1±1이 되도록 표준화되어 있다고 할 때, 두 초평면의 마진 rA,rBr_A, r_BrA​,rB​를 비교하시오.\n[풀이] 마진 공식: r=1∥w∥r = \\frac{1}{\\|w\\|}r=∥w∥1​.\n초평면 AAA: wA=[34] ⟹ ∥wA∥=32+42=5 ⟹ rA=15=0.2w_A = \\begin{bmatrix} 3 \\\\ 4 \\end{bmatrix} \\implies \\|w_A\\| = \\sqrt{3^2 + 4^2} = 5 \\implies r_A = \\frac{1}{5} = 0.2wA​=[34​]⟹∥wA​∥=32+42​=5⟹rA​=51​=0.2. 초평면 BBB: wB=[11] ⟹ ∥wB∥=12+12=2 ⟹ rB=12≈0.7071w_B = \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} \\implies \\|w_B\\| = \\sqrt{1^2 + 1^2} = \\sqrt{2} \\implies r_B = \\frac{1}{\\sqrt{2}} \\approx 0.7071wB​=[11​]⟹∥wB​∥=12+12​=2​⟹rB​=2​1​≈0.7071. 따라서 초평면 BBB의 마진이 초평면 AAA보다 훨씬 크다 (rB\u0026gt;rAr_B \u0026gt; r_ArB​\u0026gt;rA​). [문제 3: 힌지 손실 수치 계산] 데이터셋이 다음과 같다:\n(x1,y1)=([1,1]⊤,+1)(x_1, y_1) = ([1, 1]^\\top, +1)(x1​,y1​)=([1,1]⊤,+1) (x2,y2)=([2,0]⊤,−1)(x_2, y_2) = ([2, 0]^\\top, -1)(x2​,y2​)=([2,0]⊤,−1) 현재 모델 파라미터가 w=[1,−1]⊤,b=0w = [1, -1]^\\top, b = 0w=[1,−1]⊤,b=0일 때, 두 데이터에서 발생하는 힌지 손실의 합을 구하시오. [풀이]\nx1x_1x1​: f(x1)=1(1)−1(1)+0=0f(x_1) = 1(1) - 1(1) + 0 = 0f(x1​)=1(1)−1(1)+0=0. t1=y1f(x1)=(+1)(0)=0 ⟹ ℓ1=max⁡{0,1−0}=1.0t_1 = y_1 f(x_1) = (+1)(0) = 0 \\implies \\ell_1 = \\max\\{0, 1 - 0\\} = 1.0t1​=y1​f(x1​)=(+1)(0)=0⟹ℓ1​=max{0,1−0}=1.0 x2x_2x2​: f(x2)=1(2)−1(0)+0=2f(x_2) = 1(2) - 1(0) + 0 = 2f(x2​)=1(2)−1(0)+0=2. t2=y2f(x2)=(−1)(2)=−2 ⟹ ℓ2=max⁡{0,1−(−2)}=3.0t_2 = y_2 f(x_2) = (-1)(2) = -2 \\implies \\ell_2 = \\max\\{0, 1 - (-2)\\} = 3.0t2​=y2​f(x2​)=(−1)(2)=−2⟹ℓ2​=max{0,1−(−2)}=3.0 총 힌지 손실: 1.0+3.0=4.01.0 + 3.0 = 4.01.0+3.0=4.0. [문제 4: 소프트 마진 SVM에서 CCC의 역할] 소프트 마진 SVM 목적함수 12∥w∥2+C∑ξn\\frac{1}{2}\\|w\\|^2 + C \\sum \\xi_n21​∥w∥2+C∑ξn​에서 CCC 값을 매우 크게 설정할 때와 매우 작게 설정할 때 모델의 마진 너비와 결정 경계의 특성이 어떻게 달라지는지 편향-분산 트레이드오프(bias-variance tradeoff) 관점에서 설명하시오.\n[풀이]\nC→∞C \\to \\inftyC→∞ (큰 값): 슬랙 변수 ξn\\xi_nξn​에 대한 패널티가 극도로 커져 오분류를 전혀 용납하지 않으려 한다. 마진의 너비가 좁아지고 결정 경계가 훈련 데이터의 이상치에 민감하게 반응하여 복잡해진다 ⟹ \\implies⟹ 편향 감소, 분산 증가 (과적합 위험). C→0C \\to 0C→0 (작은 값): 마진을 넓히는 규제항 12∥w∥2\\frac{1}{2}\\|w\\|^221​∥w∥2의 비중이 커져서, 데이터가 마진을 침범하거나 오분류되는 것을 관대하게 허용한다. 마진이 매우 넓어지고 결정 경계가 단순해진다 ⟹ \\implies⟹ 편향 증가, 분산 감소 (과소적합 위험). [문제 5: 서포트 벡터의 정의와 희소성(Sparsity)] SVM의 최적해에서 \u0026ldquo;서포트 벡터(Support Vector)\u0026ldquo;가 무엇인지 라그랑주 승수 αn\\alpha_nαn​의 값으로 정의하고, SVM의 해가 왜 희소(sparse)하다고 불리는지 설명하시오.\n[풀이] 표현자 정리에 의해 w∗=∑n=1Nαn∗ynxnw^* = \\sum_{n=1}^N \\alpha_n^* y_n x_nw∗=∑n=1N​αn∗​yn​xn​이다. 여기서 αn∗\u0026gt;0\\alpha_n^* \u0026gt; 0αn∗​\u0026gt;0인 데이터 포인트 xnx_nxn​을 서포트 벡터라고 부른다. 마진 경계선 바깥에 안전하게 올바르게 분류된 대다수의 데이터 포인트들은 KKT 조건에 의해 αn∗=0\\alpha_n^* = 0αn∗​=0이 된다. 따라서 전체 데이터 중 오직 극소수의 서포트 벡터들만이 최종 가중치 벡터 w∗w^*w∗를 결정하는 데 참여하며, 나머지 데이터는 제거해도 결정 경계가 전혀 변하지 않는다. 이처럼 해 벡터 α∗\\alpha^*α∗의 대부분의 성분이 0인 성질을 해의 희소성(sparsity)이라 부른다.\n[문제 6: 편향 b∗b^*b∗의 결정 방식] 쌍대 SVM 문제를 풀어 최적의 α∗\\alpha^*α∗를 구한 후, 편향 b∗b^*b∗를 단 하나의 수식으로 계산할 때 어떤 데이터 포인트를 선택해야 가장 수치적으로 안정적인지 KKT 조건에 근거하여 설명하시오.\n[풀이] KKT 상보 여유성 조건에 의해, 박스 제약조건의 엄격한 내부(0\u0026lt;αn∗\u0026lt;C0 \u0026lt; \\alpha_n^* \u0026lt; C0\u0026lt;αn∗​\u0026lt;C)에 있는 자유 서포트 벡터(free support vector)를 선택해야 한다. 이 점들은 슬랙 변수 ξn=0\\xi_n = 0ξn​=0이 엄밀히 보장되므로 마진 경계선 바로 위에 정확히 놓여 있다 (yn(⟨w∗,xn⟩+b∗)=1y_n (\\langle w^*, x_n \\rangle + b^*) = 1yn​(⟨w∗,xn​⟩+b∗)=1). 양변에 yny_nyn​을 곱하면 (yn2=1y_n^2 = 1yn2​=1이므로): b∗=yn−⟨w∗,xn⟩=yn−∑j=1Nαj∗yj⟨xj,xn⟩\\begin{aligned} b^* \u0026amp;= y_n - \\langle w^*, x_n \\rangle \\\\ \u0026amp;= y_n - \\sum_{j=1}^N \\alpha_j^* y_j \\langle x_j, x_n \\rangle \\end{aligned}b∗​=yn​−⟨w∗,xn​⟩=yn​−j=1∑N​αj∗​yj​⟨xj​,xn​⟩​ 로 정확하게 계산할 수 있다. (교재 식 (12.42) 뒤 비고: 마진 위에 정확히 놓인 점이 없을 수도 있으므로, 모든 서포트 벡터에서 ∣yn−⟨w∗,xn⟩∣|y_n - \\langle w^*, x_n \\rangle|∣yn​−⟨w∗,xn​⟩∣를 계산해 그 중앙값을 쓰라고 한다. 평균을 쓰는 구현도 있다.)\n[문제 7: 커널 행렬의 조건] 임의의 함수 k(x,z)k(x, z)k(x,z)가 유효한 커널 함수가 되기 위해 그람 행렬 KKK가 만족해야 하는 두 가지 선형대수학적 조건을 제시하시오.\n[풀이]\n대칭성(Symmetry): 모든 i,ji, ji,j에 대해 Kij=KjiK_{ij} = K_{ji}Kij​=Kji​ (즉, K=K⊤K = K^\\topK=K⊤). 양의 준정부호성(Positive Semi-Definite, PSD): 임의의 0이 아닌 실수 벡터 z∈RNz \\in \\mathbb{R}^Nz∈RN에 대해 z⊤Kz≥0z^\\top K z \\ge 0z⊤Kz≥0이어야 하며, 모든 고유값(eigenvalue)이 0 이상이어야 한다. [문제 8: 가우시안 RBF 커널과 무한 차원 공간] 1차원 데이터에서 가우시안 RBF 커널 k(x,z)=exp⁡(−(x−z)22)k(x, z) = \\exp\\left(-\\frac{(x-z)^2}{2}\\right)k(x,z)=exp(−2(x−z)2​)가 어떻게 무한 차원 특성 공간의 내적으로 해석될 수 있는지 지수함수의 테일러 급수 전개를 통해 보이시오.\n[풀이] k(x,z)=exp⁡(−x2−2xz+z22)=exp⁡(−x22)exp⁡(−z22)exp⁡(xz)\\begin{aligned} k(x, z) \u0026amp;= \\exp\\left(-\\frac{x^2 - 2xz + z^2}{2}\\right) \\\\ \u0026amp;= \\exp\\left(-\\frac{x^2}{2}\\right) \\exp\\left(-\\frac{z^2}{2}\\right) \\exp(xz) \\end{aligned}k(x,z)​=exp(−2x2−2xz+z2​)=exp(−2x2​)exp(−2z2​)exp(xz)​ exp⁡(xz)\\exp(xz)exp(xz)를 매클로린 급수(테일러 전개)로 전개하면: exp⁡(xz)=∑m=0∞(xz)mm!=∑m=0∞(xmm!)(zmm!)\\begin{aligned} \\exp(xz) \u0026amp;= \\sum_{m=0}^\\infty \\frac{(xz)^m}{m!} \\\\ \u0026amp;= \\sum_{m=0}^\\infty \\left( \\frac{x^m}{\\sqrt{m!}} \\right) \\left( \\frac{z^m}{\\sqrt{m!}} \\right) \\end{aligned}exp(xz)​=m=0∑∞​m!(xz)m​=m=0∑∞​(m!​xm​)(m!​zm​)​ 따라서: k(x,z)=∑m=0∞[exp⁡(−x22)xmm!][exp⁡(−z22)zmm!]=⟨ϕ(x),ϕ(z)⟩ℓ2\\begin{aligned} k(x, z) \u0026amp;= \\sum_{m=0}^\\infty \\left[ \\exp\\left(-\\frac{x^2}{2}\\right) \\frac{x^m}{\\sqrt{m!}} \\right] \\\\ \u0026amp;\\quad \\left[ \\exp\\left(-\\frac{z^2}{2}\\right) \\frac{z^m}{\\sqrt{m!}} \\right] \\\\ \u0026amp;= \\langle \\phi(x), \\phi(z) \\rangle_{\\ell_2} \\end{aligned}k(x,z)​=m=0∑∞​[exp(−2x2​)m!​xm​][exp(−2z2​)m!​zm​]=⟨ϕ(x),ϕ(z)⟩ℓ2​​​ 여기서 특성 맵 ϕ(x)=exp⁡(−x2/2)[1,x,x22!,x33!,… ]⊤\\phi(x) = \\exp(-x^2/2) \\left[ 1, x, \\frac{x^2}{\\sqrt{2!}}, \\frac{x^3}{\\sqrt{3!}}, \\dots \\right]^\\topϕ(x)=exp(−x2/2)[1,x,2!​x2​,3!​x3​,…]⊤ 은 무한 차원 벡터가 된다.\n[문제 9: 볼록 껍질과 선형 분리 가능성] 데이터셋이 선형 분리 가능(linearly separable)하다는 조건을 두 클래스의 볼록 껍질(convex hull)의 기하학적 관계를 이용하여 서술하시오.\n[풀이] 양성 클래스 데이터셋의 볼록 껍질 conv(X+)\\text{conv}(X^+)conv(X+)와 음성 클래스 데이터셋의 볼록 껍질 conv(X−)\\text{conv}(X^-)conv(X−)가 서로 겹치지 않을 때(disjoint, 즉 conv(X+)∩conv(X−)=∅\\text{conv}(X^+) \\cap \\text{conv}(X^-) = \\emptysetconv(X+)∩conv(X−)=∅), 데이터셋은 선형 분리 가능하다. (분리 초평면 정리에 의해 서로 만나지 않는 두 닫힌 볼록 집합 사이에는 반드시 이 둘을 엄격히 분리하는 초평면이 존재함).\n[문제 10: SVM과 로지스틱 회귀의 결정적 차이] 분류 문제에서 SVM과 로지스틱 회귀(Logistic Regression)를 비교할 때, 새로운 이상치 데이터가 기존 결정 경계에서 아주 멀리 떨어진 올바른 방향(ynf(xn)≫1y_n f(x_n) \\gg 1yn​f(xn​)≫1)에 추가되었을 때 두 모델의 경계선이 어떻게 반응하는지 설명하시오.\n[풀이]\nSVM: 마진 바깥 올바른 쪽에 위치한 데이터는 힌지 손실이 정확히 000이고 라그랑주 승수 αn=0\\alpha_n = 0αn​=0이므로, 결정 경계선에 아무런 영향도 주지 않는다 (정확히 불변). 로지스틱 회귀: 멀리 떨어진 데이터라도 시그모이드 확률이 111에 매우 가까울 뿐 손실이 정확히 000은 아니므로, 미세하게나마 그라디언트를 발생시켜 결정 경계선을 조금씩 움직인다. 즉, 올바른 쪽 멀리 있는 점에는 SVM 경계가 전혀 반응하지 않는다. 다만 잘못 분류된 먼 이상치에는 힌지 손실과 로지스틱 손실이 모두 거의 선형으로 커지므로 두 모델 다 영향을 받는다. SVM이 모든 이상치에 강건하다는 뜻은 아니다. 교재 연습문제 안내 (Exercises) 교재 원문 안내: MML 교재 원본의 Part 2(8~12장)는 실전 머신러닝 응용을 다루는 장으로, 장 끝 연습문제(Exercises) 섹션이 별도로 수록되어 있지 않습니다. 따라서 본 해설서에서는 교재 본문의 예제와 핵심 유도를 바탕으로 이 해설이 만든 확인 문제를 싣습니다.\n[본문 핵심 과제 1: 표현자 정리(Representer Theorem)의 유도 (교재 384쪽 식 12.38)] 질문 요약: 라그랑지안 L\\mathcal{L}L을 원시 변수 www로 편미분하여 최적의 www가 데이터의 선형결합 w=∑n=1Nαnynxnw = \\sum_{n=1}^N \\alpha_n y_n x_nw=∑n=1N​αn​yn​xn​으로 표현됨을 유도하시오. 풀이 방향: ∇w(12∥w∥2−∑αnyn⟨w,xn⟩)=w−∑αnynxn=0\\nabla_w \\left( \\frac{1}{2}\\|w\\|^2 - \\sum \\alpha_n y_n \\langle w, x_n \\rangle \\right) = w - \\sum \\alpha_n y_n x_n = 0∇w​(21​∥w∥2−∑αn​yn​⟨w,xn​⟩)=w−∑αn​yn​xn​=0 으로부터 즉시 도출됩니다. [본문 핵심 과제 2: 힌지 손실의 슬랙 변수 동치 변환 (교재 382쪽 식 12.32~12.33)] 질문 요약: min⁡tmax⁡{0,1−t}\\min_t \\max\\{0, 1-t\\}mint​max{0,1−t}가 min⁡ξ,tξs.t.ξ≥0,ξ≥1−t\\min_{\\xi, t} \\xi \\quad \\text{s.t.} \\quad \\xi \\ge 0, \\xi \\ge 1-tminξ,t​ξs.t.ξ≥0,ξ≥1−t와 동치임을 기하학적으로 증명하시오. 풀이 방향: max⁡{a,b}\\max\\{a, b\\}max{a,b}는 aaa와 bbb 모두보다 크거나 같은 가장 작은 수입니다. 따라서 목적함수를 ξ\\xiξ로 치환하고 ξ≥a\\xi \\ge aξ≥a와 ξ≥b\\xi \\ge bξ≥b를 제약조건으로 부과하면 최적화 관점에서 정확히 동치입니다. [본문 핵심 과제 3: 쌍대 SVM에서 편향 조건 ∑αnyn=0\\sum \\alpha_n y_n = 0∑αn​yn​=0의 기하학적 의미 (교재 387쪽)] 질문 요약: 볼록 껍질의 가중치 합 조건 ∑αn+=1,∑αn−=1\\sum \\alpha_n^+ = 1, \\sum \\alpha_n^- = 1∑αn+​=1,∑αn−​=1로부터 ∑n=1Nαnyn=0\\sum_{n=1}^N \\alpha_n y_n = 0∑n=1N​αn​yn​=0이 도출됨을 보이시오. 풀이 방향: yny_nyn​이 양성일 때 +1+1+1, 음성일 때 −1-1−1이므로 ∑ynαn=∑αn+−∑αn−=1−1=0\\sum y_n \\alpha_n = \\sum \\alpha_n^+ - \\sum \\alpha_n^- = 1 - 1 = 0∑yn​αn​=∑αn+​−∑αn−​=1−1=0이 성립합니다. 시험 직전 10분 요약 개념 / 수식 핵심 내용 및 판별 기준 주의할 점 분리 초평면 ⟨w,x⟩+b=0\\langle w, x \\rangle + b = 0⟨w,x⟩+b=0 www는 법선 벡터, bbb는 편향 마진 (Margin) r=1∥w∥r = \\frac{1}{\\|w\\|}r=∥w∥1​ (스케일 정규화 시) 마진 최대화 ⟺ min⁡12∥w∥2\\iff \\min \\frac{1}{2}\\|w\\|^2⟺min21​∥w∥2 하드 마진 원시 문제 min⁡12∥w∥2s.t.yn(⟨w,xn⟩+b)≥1\\min \\frac{1}{2}\\|w\\|^2 \\quad \\text{s.t.} \\quad y_n(\\langle w, x_n \\rangle + b) \\ge 1min21​∥w∥2s.t.yn​(⟨w,xn​⟩+b)≥1 선형 분리 가능 데이터 전용 소프트 마진 원시 문제 min⁡12∥w∥2+C∑ξns.t.yn(… )≥1−ξn,ξn≥0\\min \\frac{1}{2}\\|w\\|^2 + C \\sum \\xi_n \\quad \\text{s.t.} \\quad y_n(\\dots) \\ge 1 - \\xi_n, \\xi_n \\ge 0min21​∥w∥2+C∑ξn​s.t.yn​(…)≥1−ξn​,ξn​≥0 슬랙 변수 ξn\\xi_nξn​ 도입 (CCC-SVM) 힌지 손실 관점 min⁡12∥w∥2+C∑max⁡{0,1−ynf(xn)}\\min \\frac{1}{2}\\|w\\|^2 + C \\sum \\max\\{0, 1 - y_n f(x_n)\\}min21​∥w∥2+C∑max{0,1−yn​f(xn​)} 0-1 손실의 볼록 상한, 비제약 최적화 표현자 정리 w∗=∑n=1Nαn∗ynxnw^* = \\sum_{n=1}^N \\alpha_n^* y_n x_nw∗=∑n=1N​αn∗​yn​xn​ www는 훈련 데이터의 선형결합 안에 존재 쌍대 SVM 문제 min⁡α12∑i,jαiαjyiyj⟨xi,xj⟩−∑αi\\min_\\alpha \\frac{1}{2} \\sum_{i,j} \\alpha_i \\alpha_j y_i y_j \\langle x_i, x_j \\rangle - \\sum \\alpha_iminα​21​∑i,j​αi​αj​yi​yj​⟨xi​,xj​⟩−∑αi​ ∑αiyi=0, 0≤αi≤C\\sum \\alpha_i y_i = 0, \\ 0 \\le \\alpha_i \\le C∑αi​yi​=0, 0≤αi​≤C 서포트 벡터의 분류 αn=0\\alpha_n = 0αn​=0 (안전한 점), 0\u0026lt;αn\u0026lt;C0 \u0026lt; \\alpha_n \u0026lt; C0\u0026lt;αn​\u0026lt;C (마진 위 점), αn=C\\alpha_n = Cαn​=C (침범/오분류) 편향 b∗b^*b∗ 계산은 0\u0026lt;αn\u0026lt;C0 \u0026lt; \\alpha_n \u0026lt; C0\u0026lt;αn​\u0026lt;C인 점에서 수행 볼록 껍질 관점 min⁡12∥c−d∥2(c∈conv(X+),d∈conv(X−))\\min \\frac{1}{2}\\|c - d\\|^2 \\quad (c \\in \\text{conv}(X^+), d \\in \\text{conv}(X^-))min21​∥c−d∥2(c∈conv(X+),d∈conv(X−)) 두 다포체 사이의 최단 거리 수직이등분 커널 트릭 (Kernel Trick) ⟨xi,xj⟩⟶k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩\\langle x_i, x_j \\rangle \\longrightarrow k(x_i, x_j) = \\langle \\phi(x_i), \\phi(x_j) \\rangle⟨xi​,xj​⟩⟶k(xi​,xj​)=⟨ϕ(xi​),ϕ(xj​)⟩ 그람 행렬 KKK는 반드시 대칭 및 PSD 결정 함수 (커널) f(x)=∑n∈SVαn∗ynk(xn,x)+b∗f(x) = \\sum_{n \\in \\text{SV}} \\alpha_n^* y_n k(x_n, x) + b^*f(x)=∑n∈SV​αn∗​yn​k(xn​,x)+b∗ 서포트 벡터들과의 유사도 합으로 판정 ","permalink":"https://qofo.github.io/posts/mml-ch12-svm/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재 쪽수\u003c/strong\u003e: 370~394쪽 (Chapter 12)\u003cbr\u003e\n\u003cstrong\u003e교재 밖 보충:\u003c/strong\u003e 교재에 없는 내용(Cover 정리, Pegasos, SMO, Platt 식)은 \u0026ldquo;교재 밖 보충\u0026quot;으로 표시했다.\u003cbr\u003e\n\u003cstrong\u003e선수 지식 및 연계\u003c/strong\u003e: 2장 선형대수학(아핀 부분공간으로서의 초평면), 3장 해석기하학(내적, 직교 사영, 거리 계산), 7장 연속 최적화(라그랑주 승수법, KKT 최적성 조건, 라그랑주 쌍대성, 2차 계획법 QP), 8장 모델과 데이터(경험적 위험 최소화 ERM, \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmsub\u003e\u003cmi mathvariant=\"normal\"\u003eℓ\u003c/mi\u003e\u003cmn\u003e2\u003c/mn\u003e\u003c/msub\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\ell_2\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8444em;vertical-align:-0.15em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e\u003cspan class=\"mord\"\u003eℓ\u003c/span\u003e\u003cspan class=\"msupsub\"\u003e\u003cspan class=\"vlist-t vlist-t2\"\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.3011em;\"\u003e\u003cspan style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"\u003e\u003cspan class=\"pstrut\" style=\"height:2.7em;\"\u003e\u003c/span\u003e\u003cspan class=\"sizing reset-size6 size3 mtight\"\u003e\u003cspan class=\"mord mtight\"\u003e2\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-s\"\u003e​\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"vlist-r\"\u003e\u003cspan class=\"vlist\" style=\"height:0.15em;\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e 정규화, 교차검증).\u003cbr\u003e\n\u003cstrong\u003e후속 및 의의\u003c/strong\u003e: 9장(회귀)의 확률적·우도 기반 접근법과 달리, 기하학적 직관(마진 최대화)과 손실 함수 관점(힌지 손실 + 정규화)을 함께 쓰는 지도학습 방법입니다. 재생 커널 힐베르트 공간(RKHS)을 통한 비선형 확장(커널 트릭)을 완성합니다.\u003c/p\u003e","title":"MML 12장 SVM: 마진, 쌍대 문제, 커널"},{"content":"이 폰에서 가장 비싼 소모품은 배터리다. 안드로이드 9에는 충전 상한 설정이 없어서, 꽂아 두면 하루 종일 100%에 머문다. 2017년에 나온 배터리가 그렇게 지내면 1~2년 안에 부푼다.\n그래서 9월 20일부터 폰은 15분마다 배터리를 읽었다. 충전 중 80%가 넘으면 \u0026ldquo;충전기를 빼세요\u0026rdquo;, 방전 중 30% 아래로 내려가면 \u0026ldquo;충전기를 꽂으세요\u0026quot;라는 알림을 띄웠다. 9월 22일에는 30% 알림에 진동도 붙였다. 둘 다 사람이 움직여 주기를 기다리는 방식이다.\n이 글은 그 사람 손을 스마트 플러그로 바꾼 기록이다. 비밀번호는 맞는데 플러그가 대답하지 않는 문제를 푸는 데 대부분의 시간이 들었다.\n1. 알림은 밤에 아무도 보지 않는다 9월 25일 밤, 폰은 충전기 없이 밤을 넘겼다. 배터리 기록이다.\n시각 (KST) 잔량 앞 기록과의 간격 25일 23:08 63% 26일 00:02 46% 54분 01:56 36% 1시간 54분 03:28 27% 1시간 32분 05:56 15% 2시간 28분 06:37 11% 41분 09:45 0% 3시간 8분 30% 아래의 첫 기록은 새벽 3시 28분이다. 알림은 그때 울렸을 것이고, 그 시각에 깨어 있는 사람은 없었다. 09:45에 0%를 찍은 뒤 폰은 꺼졌다. 다운타임 기록이 그 시간을 남겼다.\n[2026-09-26 02:31:36 UTC] [DOWNTIME] Service was unavailable for 6393s (unexpected_shutdown_or_reboot, from 2026-09-26 00:45:03 UTC to 2026-09-26 02:31:36 UTC) 1시간 46분이다. 기준값을 30%에서 올려도 소용이 없었을 이유도 표에 있다. 15분 주기 작업인데 간격이 1~3시간으로 벌어졌다. 5편에서 다룬 Doze다. 화면이 꺼진 채 배터리로 돌면 안드로이드가 예약 작업을 몰아서 늦게 돌린다. 그동안 배터리는 한 시간에 5%쯤 빠졌다(01:56에 36%, 05:56에 15%). 점검 한 번이 늦으면 15% 가까이가 그 사이에 사라진다.\n필요한 것은 더 시끄러운 알림이 아니라, 사람이 자는 동안에도 충전기를 켜고 끄는 손이었다.\n2. 충전기 위쪽에서 전원을 끊는다 루팅하지 않은 안드로이드 9에서는 충전 회로를 건드릴 방법이 없다. 대신 충전기에 들어가는 전원을 끊으면 된다. TP-Link의 Tapo P100 스마트 플러그를 샀다. python-kasa라는 파이썬 라이브러리가 이 플러그를 클라우드를 거치지 않고 공유기 안에서 직접 제어한다.\n계정을 넣기 전에 먼저 플러그가 보이는지 확인했다. python-kasa의 탐색은 UDP 브로드캐스트를 쓰고 계정이 필요 없다. 주소는 예시로 바꿨다.\n{\u0026#34;ip\u0026#34;: \u0026#34;192.168.0.42\u0026#34;, \u0026#34;model\u0026#34;: \u0026#34;P100(EU)\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;SMART.TAPOPLUG\u0026#34;, \u0026#34;encrypt\u0026#34;: \u0026#34;KLAP\u0026#34;, \u0026#34;http_port\u0026#34;: 80} KLAP은 Tapo 기기가 쓰는 로컬 인증 방식이다. 연결을 시작하기 전에 두 가지를 정했다.\n설치할 층. 11편에서 tmux는 proot 밖, Termux 쪽에 설치했다. 로그인 셸과 함께 죽으면 안 되기 때문이었다. 이번에는 반대로 proot 안이다. Termux의 python3는 플랫폼이 android-24-arm64_v8a인데, python-kasa가 쓰는 cryptography는 이 플랫폼용 휠을 내지 않는다. 폰에서 Rust로 컴파일하는 대신, glibc가 있는 우분투 쪽에 apt로 python3를 깔고 venv를 만들었다. 부르는 쪽인 배터리 감시는 알림 때문에 Termux 쪽에 남는다.\napt-get install -y python3 python3-venv python3 -m venv /root/.local/share/tapo-venv /root/.local/share/tapo-venv/bin/pip install python-kasa==0.10.2 계정. 로컬 제어에도 Tapo 계정의 이메일과 비밀번호가 필요하다. 이 폰에 평문으로 남는다는 뜻이다. 어느 저장소에도 속하지 않는 /root/.config/tapo/credentials에 두고 권한을 600으로 막았다. Tapo 앱에서는 \u0026ldquo;타사 호환성(Third-Party Compatibility)\u0026ldquo;을 켰다. 최신 펌웨어는 이것이 꺼져 있으면 로컬 제어를 거부한다고 Home Assistant 문서에 적혀 있다.\n3. 비밀번호는 맞는데 대답이 없다 첫 연결은 시간 초과로 끝났다. 디버그 로그를 켜니 절반은 성공한 상태였다.\nkasa.transports.klaptransport handshake1 hashes match with expected credentials kasa.httpclient Posting to http://192.168.0.42/app/handshake2 kasa.protocols.smartprotocol Unable to query the device: 192.168.0.42, not retrying: (\u0026#39;Unable to query the device: 192.168.0.42: \u0026#39;, TimeoutError()) KLAP은 핸드셰이크를 두 번 한다. 첫 번째 응답에서 서버가 보낸 해시가 내 계정으로 계산한 값과 맞았다(hashes match). 그러니 계정은 맞다. 멈춘 곳은 두 번째 요청이다.\n한 층 내려가 curl로 첫 핸드셰이크 주소를 세 번 불렀다.\nhandshake1: HTTP 000 10.002625s 0B handshake1: HTTP 200 0.025529s 48B handshake1: HTTP 200 0.027627s 48B 첫 요청은 10초 동안 대답이 없었고, 바로 이어진 두 요청은 25ms 만에 돌아왔다. 두 핸드셰이크를 직접 계산해 여덟 번 보내 보니 두 번째 핸드셰이크가 정확히 절반만 성공했다.\n0: handshake1 0.02s, handshake2 TimeoutError 5.16s 1: handshake1 0.04s, handshake2 HTTP 200 0.05s 2: handshake1 0.04s, handshake2 TimeoutError 5.85s 3: handshake1 0.04s, handshake2 TimeoutError 5.95s 4: handshake1 0.04s, handshake2 HTTP 200 0.04s 5: handshake1 0.05s, handshake2 TimeoutError 5.86s 6: handshake1 0.04s, handshake2 HTTP 200 0.03s 7: handshake1 0.03s, handshake2 HTTP 200 0.03s 성공하면 30~50ms, 실패하면 끝까지 대답이 없다. 두 요청 사이에 0.5초, 1.5초를 쉬어 봐도 달라지지 않았다. 대신 걸린 시간에 1.03초, 3.03초 같은 값이 섞여 나왔다. TCP가 첫 SYN을 잃고 다시 보내는 간격이다. 서버가 느린 게 아니라 패킷이 사라지고 있었다.\n그래서 폰에서 공유기와 플러그에 핑을 60번씩 보냈다.\n== 공유기 60 packets transmitted, 59 received, 1% packet loss == 플러그 60 packets transmitted, 51 received, 15% packet loss 같은 폰, 같은 와이파이인데 플러그까지만 15%를 잃는다. 플러그가 보고한 신호 세기는 −52dBm으로 좋은 편이다. 신호가 약해서가 아니라는 것까지는 알지만, 원인은 확인하지 못했다. 플러그의 무선 절전 때문이라고 짐작할 뿐이다. 확실한 것은 이 플러그와의 대화에서 어떤 요청이든 사라질 수 있다는 점이다.\n4. 요청을 줄이고, 전체를 다시 시도한다 패킷이 사라지는 것 말고도 먼저 의심한 것이 있었다. 연결 재사용이다. python-kasa는 HTTP 연결을 유지해 두었다가 다음 요청에 다시 쓴다. 플러그가 그 연결을 몰래 닫아서 두 번째 핸드셰이크가 대답을 못 받는다고 보고, 요청마다 새 연결을 쓰게 했다.\n그러자 이번에는 두 번째 핸드셰이크가 400으로 돌아왔다. 첫 핸드셰이크가 준 세션 쿠키가 돌아가지 않았다는 뜻이다. 연결 방식을 바꾸려고 aiohttp 세션을 직접 만들어 넘겼는데, aiohttp의 기본 쿠키 저장소는 도메인이 아니라 IP 주소에서 온 쿠키를 버린다. python-kasa는 자기 세션을 만들 때 unsafe=True로 이를 허용하지만, 세션을 대신 넘기면 그 설정도 대신 넣어야 한다.\n쿠키를 고친 뒤 처음의 의심을 따로 확인했다. 세션 쿠키를 python-kasa와 같은 방식으로 보내면서, 연결을 유지하는 쪽과 매번 새로 여는 쪽을 번갈아 여덟 번씩 보냈다.\nkept-alive : hs2 ok 6/8, hs2 lost 0, hs1 lost 2, other [] fresh connection: hs2 ok 4/8, hs2 lost 1, hs1 lost 3, other [] 연결 재사용은 원인이 아니었다. 실패는 양쪽 모두 패킷 손실이었고, 새 연결을 여는 쪽이 오히려 더 잃었다. 새 연결과 쿠키 설정은 모두 걷어 내고 python-kasa의 세션을 그대로 쓰기로 했다.\n효과가 있었던 것은 요청 수였다. Device.connect()는 기기가 가진 기능 목록을 전부 묻고 시작하므로 요청이 여러 개다. 요청 하나하나가 15% 확률로 사라질 수 있으니 요청이 많을수록 불리하다. 이 함수로는 상태 읽기 다섯 번 중 세 번 성공했다. 꼭 필요한 것만 남겼다. 핸드셰이크 두 번과 질의 한 번이다.\nasync def exchange(host, creds, request): \u0026#34;\u0026#34;\u0026#34;One KLAP session: handshake1, handshake2, then the request, and nothing else.\u0026#34;\u0026#34;\u0026#34; config = DeviceConfig( host=host, credentials=creds, timeout=TIMEOUT, connection_type=DeviceConnectionParameters( DeviceFamily.SmartTapoPlug, DeviceEncryptionType.Klap, login_version=2, http_port=80)) protocol = SmartProtocol(transport=KlapTransportV2(config=config)) try: return await protocol.query(request, retry_count=0) finally: await protocol.close() 요청마다 12초 타임아웃을 두고, 실패하면 세션 전체를 새로 최대 네 번 시도한다. 상태를 여덟 번 읽었다.\nrun 0: on=False try 2, 12.4s run 1: on=False try 2, 13.0s run 2: on=False try 2, 13.0s run 3: on=False try 1, 0.1s run 4: on=False try 2, 12.9s run 5: on=False try 1, 0.1s run 6: on=False try 1, 1.3s run 7: on=False try 1, 0.1s 8/8 succeeded 전부 성공했다. 첫 시도에 0.1초 만에 끝나거나, 첫 시도가 12초 타임아웃에 걸리고 두 번째에 끝난다. 15분마다 도는 작업이라 이 정도면 충분하다. 이것을 status, on, off 세 명령을 받는 tapo_plug.py로 묶었다. 플러그의 주소가 바뀌면 브로드캐스트로 다시 찾아 저장한다.\n5. 플러그의 대답 대신 폰의 상태를 믿는다 켜고 끄는 명령은 한 가지 문제가 더 있었다. 명령이 이미 실행된 뒤에 대답만 사라진다. 배터리를 35%로 가장한 시험용 사본을 돌렸을 때의 기록이다.\n2026-09-27 15:07:55 KST plug on: error: no answer from the plug at 192.168.0.42 (KasaException), phone now Charging 도구는 플러그가 대답하지 않았다고 했는데, 폰은 이미 충전 중이다. 켜는 명령은 들어갔고 그 뒤의 대답과 확인 요청이 모두 사라졌다. 플러그의 말을 믿으면 성공을 실패로 기록하고, 필요 없는 알림을 띄우게 된다.\n그래서 성공의 기준을 폰으로 옮겼다. 배터리 감시 스크립트는 명령을 보낸 뒤 30초 동안 폰 자신의 충전 상태를 확인한다.\ncase \u0026#34;$status\u0026#34; in Charging|Full) [ \u0026#34;$pct\u0026#34; -ge \u0026#34;$HIGH\u0026#34; ] \u0026amp;\u0026amp; want=off ;; *) [ \u0026#34;$pct\u0026#34; -le \u0026#34;$PLUG_ON\u0026#34; ] \u0026amp;\u0026amp; want=on ;; esac if [ -n \u0026#34;$want\u0026#34; ] \u0026amp;\u0026amp; [ -r \u0026#34;$PLUG_CREDENTIALS\u0026#34; ] \u0026amp;\u0026amp; [ -x \u0026#34;$ROOTFS$PLUG_TOOL\u0026#34; ]; then reply=$(\u0026#34;$PREFIX/bin/proot-distro\u0026#34; login ubuntu -- \u0026#34;$PLUG_TOOL\u0026#34; \u0026#34;$want\u0026#34; 2\u0026gt;\u0026amp;1 | tail -n 1) waited=0 now=$(read_node status) while [ \u0026#34;$waited\u0026#34; -lt 30 ]; do now=$(read_node status) case \u0026#34;$want:$now\u0026#34; in off:Discharging|\u0026#34;off:Not charging\u0026#34;|on:Charging|on:Full) plug_ok=1; break ;; esac sleep 3 waited=$((waited + 3)) done Discharging이나 Charging으로 바뀌었으면 성공이다. 바뀌지 않았을 때만 예전 알림(80% \u0026ldquo;빼세요\u0026rdquo;, 30% \u0026ldquo;꽂으세요\u0026quot;와 진동)으로 돌아간다. 알림은 이제 플러그가 실패했다는 신호다.\n기준값은 끄는 쪽 80%, 켜는 쪽 40%다. 켜는 쪽을 30%가 아니라 40%로 둔 이유는 1절의 표에 있다. 밤에는 점검이 세 시간 늦을 수 있고 그동안 15%가 빠진다. Tapo 앱에는 매일 저녁 플러그를 켜는 예약도 걸어 두었다. 자동 제어가 어떤 이유로든 멈춰도 밤에는 충전이 된다.\n마지막으로 잠금을 넣었다. 1절의 날 로그에는 같은 초에 두 줄씩 찍힌 기록이 세 번 있다(00:02:05, 06:37:51, 09:45:06). 작업이 두 번 시작된 것이다. 알림은 두 번 떠도 그만이지만, 두 실행이 동시에 플러그를 바꾸면 서로의 결과를 자기 것으로 기록한다. 이제 먼저 시작한 실행만 진행한다.\n6. 검증 플러그와 폰. 배터리 100%에서 끄기, 켜기, 끄기를 차례로 보냈다. 매번 폰의 상태가 곧바로 따라 바뀌었다. 전류가 음수면 배터리에서 나가는 중이다.\noff -\u0026gt; plug=off (exit 0); phone status \u0026#39;Discharging\u0026#39; after 0s, pct=100, mA=-255 on -\u0026gt; plug=on (exit 0); phone status \u0026#39;Charging\u0026#39; after 0s, pct=100, mA=390 off -\u0026gt; plug=off (exit 0); phone status \u0026#39;Discharging\u0026#39; after 0s, pct=100, mA=-319 Termux 쪽에서 부르기. 감시 스크립트는 proot 밖 예약 작업으로 돈다. 같은 자리에서 일회성 작업으로 proot-distro login을 거쳐 상태를 읽었더니 16초 만에 off가 돌아왔다.\n켜는 경로. 잔량 읽는 줄을 pct=35로 바꾸고 기록 파일의 위치만 옮긴 사본을 예약 작업으로 돌렸다. 5절의 기록대로 플러그가 켜지고 폰이 충전을 시작했다.\n끄는 경로. 실제 스크립트를 98% 충전 중에 돌렸다. 이번에도 대답은 사라졌지만, 폰이 배터리로 넘어간 것을 확인하고 성공으로 기록했다.\n2026-09-27 15:09:43 KST pct=98 status=Charging temp=34.7 mA=538 mV=4282 2026-09-27 15:10:48 KST plug off: phone now Discharging (plug said: error: no answer from the plug at 192.168.0.42 (KasaException)) 실제 배터리가 40%까지 내려가 플러그가 켜지는 장면은 아직 보지 못했다. 켜는 경로는 가짜 35%로만 시험했다.\n7. 한계 80%에서 정확히 멈추지 않는다. 점검이 15분마다라서 그 사이에 더 찬다. 이날 충전 기록은 14:16에 83%, 14:31에 94%였다. 15분에 11%가 찬다면 80%에서 끄려 해도 90% 언저리까지 갈 수 있다. 그래도 하루 종일 100%에 머무는 것과는 다르다. 계정이 폰에 평문으로 있다. 로컬 제어의 조건이다. Tapo 비밀번호는 다른 서비스와 겹치지 않게 하는 수밖에 없다. 펌웨어가 바뀌면 멈출 수 있다. 로컬 제어는 제조사가 열어 둔 만큼만 된다. 그때를 위해 저녁 예약과 알림을 남겨 두었다. 라이브러리의 안쪽을 쓴다. 요청을 줄이려고 Device 대신 SmartProtocol과 KlapTransportV2를 직접 쓴다. 공개 API보다 바뀌기 쉬우므로 python-kasa를 0.10.2로 고정했다. 정리 사람에게 부탁하는 자동화는 사람이 잠든 시간에 끝난다. 알림을 더 시끄럽게 만드는 대신 사람의 손을 기계로 바꿨다. 신호가 좋아도 패킷은 사라진다. −52dBm인 플러그가 15%를 잃었다. 재 보기 전에는 알 수 없었다. 의심은 고치기 전에 확인한다. 연결 재사용을 의심해 먼저 고쳤다가 쿠키 문제를 새로 만들었고, 나중에 비교해 보니 재사용은 원인이 아니었다. 효과가 있었던 것은 요청 수를 줄인 것이다. 대답이 없다고 일이 안 된 것은 아니다. 결과는 가장 확실한 곳에서 확인한다. 여기서는 폰의 충전 상태다. 코드는 tapo_plug.py와 termux/battery-watch.sh에 있고, 설정 순서는 운영 가이드 6.1절에 정리했다.\n덧붙임: 이튿날의 기록 (9월 28일) 하루를 돌려 보니 이 글의 설계에서 두 곳이 틀렸다.\n첫날 밤은 계획대로였다. 21:56에 52%로 배터리로 돌던 폰이, Tapo 앱의 22:00 켜기 예약으로 충전을 시작했다. 22:46에 스크립트가 플러그를 껐다. 7절에서 예상한 대로 80%가 아니라 91%에서 멈췄다(22:26에 76%, 다음 점검인 22:45에 91%).\n이튿날 아침, 40% 켜기가 돌지 않았다. 06:35에 52%를 읽은 다음 기록이 12:03이다.\n2026-09-28 06:35:00 KST pct=52 status=Discharging temp=27.4 mA=-98 mV=3825 2026-09-28 12:03:01 KST pct=25 status=Charging temp=28.1 mA=0 mV=3738 5시간 28분 동안 점검이 한 번도 없었다. 1절에서 본 Doze가 이번에는 켜는 쪽을 막았다. 그 사이 배터리는 25%까지 내려갔고, 12:03에는 이미 충전 중이었다. 그 전에 누가 플러그를 켰는지는 기록에 남아 있지 않다. 15분마다 도는 예약 작업은 밤에는 시계 노릇을 하지 못한다.\n그런데 같은 밤, proot 안의 감시 데몬은 멈추지 않았다. 감시 데몬은 10초마다 하트비트를 남기고, 하트비트가 20초 넘게 비면 다운타임으로 기록한다(7편). 두 밤 모두 그런 기록이 없다. 적어도 이 폰에서 안드로이드가 미룬 것은 예약 작업이었고, 이미 돌고 있는 프로세스는 아니었다. 그래서 배터리 점검을 5분마다 도는 반복으로 바꾸고, 예약 작업은 그 반복이 죽었을 때 다시 띄우는 일만 하게 했다. 22:39에 설치했고, 첫 두 점검이 22:39:10과 22:44:10에 찍혔다.\n플러그가 아홉 시간 동안 제어를 거부했다. 13:03부터 끄는 명령이 매번 실패했고, 폰은 13:43부터 100%에 머물렀다. 처음 기록은 \u0026ldquo;대답이 없다\u0026quot;였지만, 직접 확인하니 플러그는 대답하고 있었다. 첫 핸드셰이크에 403으로, 로컬 제어를 거부한다는 답이었다. 도구가 그 이유를 적게 고친 뒤의 기록이다.\n2026-09-28 20:04:47 KST plug off FAILED: error: the plug refused local control (403 to handshake1): in the Tapo app, turn Third-Party Compatibility off, wait ten seconds, and turn it on again, phone still Full after 30s 펌웨어는 전날과 같은 1.2.5였다. 원인은 끝내 모른다. Tapo 앱에서 타사 호환성을 껐다가 다시 켜자, 다음 점검에서 바로 풀렸다.\n2026-09-28 22:04:52 KST plug off: phone now Discharging (plug said: off) 그동안 사람은 이 일을 몰랐다. 예전 알림은 오후 1시에 \u0026ldquo;충전기를 빼세요\u0026quot;를 한 번 띄웠을 뿐, 이유는 말하지 않았다. 이제는 플러그가 거부하면 곧바로 \u0026ldquo;타사 호환성을 껐다 켜 주세요\u0026quot;라는 알림을 띄운다. 플러그가 아예 대답하지 않을 때는 패킷 손실일 수 있으니 3번 연속일 때만 띄우고, 다시 대답하면 알림을 지운다.\n플러그의 \u0026ldquo;자동 끄기\u0026quot;는 켜지 않았다. 켜진 뒤 정해진 시간이 지나면 플러그가 스스로 꺼지게 하면, 폰이 끄지 못해도 충전이 멈춘다. 오늘 같은 날 100%에 몇 시간씩 머무는 일은 막을 수 있다. 하지만 켜는 예약은 하루 한 번뿐이다. 거부가 있는 날 자동 끄기까지 켜져 있으면, 충전기는 꺼진 채 남고 폰은 결국 방전된다. 서버에는 몇 시간 100%에 있는 것보다 꺼지는 쪽이 더 나쁘다.\n반복으로 밤을 넘긴 기록은 아직 없다. 40%에서 실제로 켜지는지는 다음 밤의 로그로 확인한다.\n덧붙임: 사흘째의 기록 (9월 29일) 반복은 밤을 넘겼다. 22:30부터 07:20까지 기록이 114개 남았고, 가장 긴 간격이 5분이었다. 예약 작업을 반복으로 바꾼 것은 효과가 있었다. 07:15에 40%에 닿자 스크립트는 제때 플러그를 켜려 했다.\n그런데 플러그가 다시 거부했다. 전날과 같은 403이다.\n2026-09-29 07:15:28 KST plug on FAILED: error: the plug refused local control (403 to handshake1): in the Tapo app, turn Third-Party Compatibility off, wait ten seconds, and turn it on again, phone still Discharging after 30s 12:16까지 5분마다 55번을 시도했고 모두 같은 답이었다. 09:42 점검에서 30%가 되어 \u0026ldquo;충전기를 꽂으세요\u0026rdquo; 알림이 진동과 함께 나갔다. 22:00 켜기 예약은 너무 멀었다. 12:15에 배터리는 14%였다. 이 속도면 오후 늦게 꺼질 참이었다.\n이번에도 해결은 같았다. Tapo 앱에서 타사 호환성을 껐다 켜자 플러그가 다시 대답했고, 기다리지 않고 바로 켰다.\n2026-09-29 12:15:34 KST pct=14 status=Discharging temp=29.7 mA=-175 mV=3685 2026-09-29 12:21:12 KST pct=13 status=Charging temp=30.6 mA=978 mV=3846 2026-09-29 12:21:17 KST plug answers again 2026-09-29 13:26:22 KST pct=82 status=Charging temp=34.7 mA=1164 mV=4247 2026-09-29 13:26:57 KST plug off: phone now Discharging (plug said: off) 그 뒤 80% 끄기는 사람 손 없이 동작했다. 거부는 이틀 동안 두 번 있었고, 두 번 다 같은 방법으로 풀렸다. 원인은 여전히 모른다.\n켜기 예약을 하나 더 넣었다. 이날의 빈틈은 설계에 있었다. 켜는 안전망이 22:00 한 번뿐이라, 아침에 거부가 시작되면 밤까지 기댈 곳이 없다. 그래서 08:00 켜기 예약을 더했다. 자동 제어가 정상인 날에는 80%에서 스크립트가 끄므로 손해가 없다.\n예약은 앱이 아니라 폰에서 넣었다. 플러그는 로컬 API로 예약 목록을 읽고(get_schedule_rules) 더할 수 있다(add_schedule_rule). 22:00 규칙을 읽어 시각만 480분(08:00)으로 바꾼 규칙을 보냈다. 그런데 이 플러그답게 대답이 오다가 끊겼다(TimeoutError). 추가 요청은 다시 보내면 규칙이 두 번 들어갈 수 있으므로, 재시도 대신 목록을 다시 읽었다.\nS1 22:00 on enabled week_day 127 repeat S2 08:00 on enabled week_day 127 repeat 규칙은 한 번만 들어가 있었다. 대답을 잃는 장치에 상태를 바꾸는 요청을 보낼 때는, 성공 여부를 대답이 아니라 장치의 상태로 확인한다. 5절에서 충전 여부를 폰의 상태로 확인한 것과 같은 원칙이다.\n","permalink":"https://qofo.github.io/posts/smart-plug-charging/","summary":"\u003cp\u003e이 폰에서 가장 비싼 소모품은 배터리다. 안드로이드 9에는 충전 상한 설정이 없어서, 꽂아 두면 하루 종일 100%에 머문다. 2017년에 나온 배터리가 그렇게 지내면 1~2년 안에 부푼다.\u003c/p\u003e\n\u003cp\u003e그래서 9월 20일부터 폰은 15분마다 배터리를 읽었다. 충전 중 80%가 넘으면 \u0026ldquo;충전기를 빼세요\u0026rdquo;, 방전 중 30% 아래로 내려가면 \u0026ldquo;충전기를 꽂으세요\u0026quot;라는 알림을 띄웠다. 9월 22일에는 30% 알림에 진동도 붙였다. 둘 다 사람이 움직여 주기를 기다리는 방식이다.\u003c/p\u003e\n\u003cp\u003e이 글은 그 사람 손을 스마트 플러그로 바꾼 기록이다. 비밀번호는 맞는데 플러그가 대답하지 않는 문제를 푸는 데 대부분의 시간이 들었다.\u003c/p\u003e","title":"알림으로는 배터리를 지킬 수 없었다: 스마트 플러그로 충전기 켜고 끄기"},{"content":" 교재: Deisenroth·Faisal·Ong, Mathematics for Machine Learning (mml-book.github.io에 공개된 PDF, 2024-01-15 판). 문제는 PDF 원문과 대조해 옮겼고, 쪽수와 식 번호도 그 PDF 기준이다.\n검산: 숫자 답은 sympy로, 미분 답은 sympy와 수치 미분으로 검산했다. 67장의 수치 답은 scipy로 다시 계산했고, 자세한 내용은 각 장 머리에 적었다.\n범위: 장 끝 연습문제는 Part I(27장)에만 있다. Part II(8~12장)에는 없다. 개념 해설은 연재의 장별 글(2장, 3장, 4장, 5장, 6장, 7장)에 있고, 이 글은 그 글들의 연습문제 답을 손으로 따라 쓸 수 있게 풀어 쓴 것이다.\n표기: 교재와 같이 스칼라 함수를 벡터로 미분한 기울기는 행벡터(1×D1\\times D1×D)로 쓴다. log⁡\\loglog는 자연로그다.\n장 문제 교재 쪽 먼저 손으로 풀어 볼 문제 2 선형대수 2.1~2.20 64~69 2.5(b), 2.8(b), 2.12, 2.17, 2.19(b), 2.20 3 해석기하 3.1~3.10 96~97 3.3(b), 3.5, 3.6, 3.8 4 행렬분해 4.1~4.12 137~138 4.3, 4.6(a), 4.7(d), 4.8, 4.12 5 벡터 미적분 5.1~5.9 170~171 5.6, 5.7(b), 5.8(a), 5.9 6 확률과 분포 6.1~6.13 222~224 6.4, 6.10, 6.12 7 연속 최적화 7.1~7.11 247~248 7.6, 7.8, 7.10, 7.11 2장 선형대수 2.1 (R∖{−1},⋆)(\\mathbb R\\setminus\\{-1\\},\\star)(R∖{−1},⋆)가 아벨군인가 문제: a⋆b:=ab+a+ba\\star b:=ab+a+ba⋆b:=ab+a+b (a,b∈R∖{−1}a,b\\in\\mathbb R\\setminus\\{-1\\}a,b∈R∖{−1}). (a) 아벨군임을 보여라. (b) 3⋆x⋆x=153\\star x\\star x=153⋆x⋆x=15를 풀어라.\n핵심 요령: 양변에 1을 더하면 곱으로 갈라진다. a⋆b+1=ab+a+b+1=(a+1)(b+1).\\begin{aligned} a\\star b+1 \u0026amp;=ab+a+b+1 \\\\ \u0026amp;=(a+1)(b+1). \\end{aligned}a⋆b+1​=ab+a+b+1=(a+1)(b+1).​ 즉 \u0026ldquo;1을 더한 값\u0026quot;끼리는 보통 곱셈을 한다. ϕ(a)=a+1\\phi(a)=a+1ϕ(a)=a+1로 옮기면 (R∖{−1},⋆)(\\mathbb R\\setminus\\{-1\\},\\star)(R∖{−1},⋆)는 (R∖{0},⋅)(\\mathbb R\\setminus\\{0\\},\\cdot)(R∖{0},⋅)과 같은 구조다.\n풀이 (a): 군의 네 조건(정의 2.7)과 교환법칙을 차례로 확인한다.\n닫힘: a,b≠−1a,b\\ne-1a,b=−1이면 a+1≠0a+1\\ne0a+1=0, b+1≠0b+1\\ne0b+1=0이므로 (a+1)(b+1)≠0(a+1)(b+1)\\ne0(a+1)(b+1)=0. 따라서 a⋆b=(a+1)(b+1)−1≠−1a\\star b=(a+1)(b+1)-1\\ne-1a⋆b=(a+1)(b+1)−1=−1. 결과가 다시 집합 안에 있다. 결합법칙: (a⋆b)⋆c+1=((a⋆b)+1)(c+1)=(a+1)(b+1)(c+1)(a\\star b)\\star c+1=\\big((a\\star b)+1\\big)(c+1)=(a+1)(b+1)(c+1)(a⋆b)⋆c+1=((a⋆b)+1)(c+1)=(a+1)(b+1)(c+1). 같은 계산으로 a⋆(b⋆c)+1=(a+1)(b+1)(c+1)a\\star(b\\star c)+1=(a+1)(b+1)(c+1)a⋆(b⋆c)+1=(a+1)(b+1)(c+1). 두 값이 같으므로 (a⋆b)⋆c=a⋆(b⋆c)(a\\star b)\\star c=a\\star(b\\star c)(a⋆b)⋆c=a⋆(b⋆c). 항등원: a⋆0=a⋅0+a+0=aa\\star0=a\\cdot0+a+0=aa⋆0=a⋅0+a+0=a, 0⋆a=a0\\star a=a0⋆a=a. 항등원은 e=0e=0e=0이고 0≠−10\\ne-10=−1이다. 역원: a⋆b=0a\\star b=0a⋆b=0 ⇔ (a+1)(b+1)=1(a+1)(b+1)=1(a+1)(b+1)=1 ⇔ b=1a+1−1=−aa+1b=\\dfrac1{a+1}-1=-\\dfrac{a}{a+1}b=a+11​−1=−a+1a​. 이 값은 b+1=1a+1≠0b+1=\\frac1{a+1}\\ne0b+1=a+11​=0이라 −1-1−1이 아니므로 집합 안에 있다. 교환법칙: ab+a+b=ba+b+aab+a+b=ba+b+aab+a+b=ba+b+a이므로 a⋆b=b⋆aa\\star b=b\\star aa⋆b=b⋆a. 풀이 (b): 결합법칙이 있으니 괄호 없이 써도 된다. 양변에 1을 더한다. 3⋆x⋆x+1=(3+1)(x+1)(x+1)=4(x+1)2=16 ⇒ (x+1)2=4 ⇒ x+1=±2.\\begin{aligned} \u0026amp;3\\star x\\star x+1 =(3+1)(x+1)(x+1) \\\\ \u0026amp;\\quad =4(x+1)^2 =16\\ \\\\ \u0026amp;\\quad \\Rightarrow\\ (x+1)^2=4\\ \\Rightarrow\\ x+1=\\pm2. \\end{aligned}​3⋆x⋆x+1=(3+1)(x+1)(x+1)=4(x+1)2=16 ⇒ (x+1)2=4 ⇒ x+1=±2.​답: (a) 아벨군(항등원 000, aaa의 역원 −aa+1-\\frac{a}{a+1}−a+1a​). (b) x=1x=1x=1 또는 x=−3x=-3x=−3 (둘 다 −1-1−1이 아니라 허용된다).\n확인: x=1x=1x=1: 3⋆1=3+3+1=73\\star1=3+3+1=73⋆1=3+3+1=7, 7⋆1=7+7+1=157\\star1=7+7+1=157⋆1=7+7+1=15. x=−3x=-3x=−3: 3⋆(−3)=−9+3−3=−93\\star(-3)=-9+3-3=-93⋆(−3)=−9+3−3=−9, (−9)⋆(−3)=27−9−3=15(-9)\\star(-3)=27-9-3=15(−9)⋆(−3)=27−9−3=15.\n2.2 Zn\\mathbb Z_nZn​의 덧셈군과 곱셈군 문제: Zn={0ˉ,…,n−1‾}\\mathbb Z_n=\\{\\bar0,\\dots,\\overline{n-1}\\}Zn​={0ˉ,…,n−1​}에서 aˉ⊕bˉ=a+b‾\\bar a\\oplus\\bar b=\\overline{a+b}aˉ⊕bˉ=a+b​, aˉ⊗bˉ=a×b‾\\bar a\\otimes\\bar b=\\overline{a\\times b}aˉ⊗bˉ=a×b​. (a) (Zn,⊕)(\\mathbb Z_n,\\oplus)(Zn​,⊕)가 군인지, 아벨군인지. (b) Z5∖{0ˉ}\\mathbb Z_5\\setminus\\{\\bar0\\}Z5​∖{0ˉ}의 곱셈표를 그리고 아벨군임을 보여라. (c) (Z8∖{0ˉ},⊗)(\\mathbb Z_8\\setminus\\{\\bar0\\},\\otimes)(Z8​∖{0ˉ},⊗)가 군이 아님을 보여라. (d) (Zn∖{0ˉ},⊗)(\\mathbb Z_n\\setminus\\{\\bar0\\},\\otimes)(Zn​∖{0ˉ},⊗)가 군 ⇔ nnn이 소수임을 보여라.\n풀이 (a):\n잘 정의됨(먼저 확인할 점): a≡a′a\\equiv a\u0026#x27;a≡a′, b≡b′(modn)b\\equiv b\u0026#x27;\\pmod nb≡b′(modn)이면 a=a′+kna=a\u0026#x27;+kna=a′+kn, b=b′+lnb=b\u0026#x27;+lnb=b′+ln이라 a+b=(a′+b′)+(k+l)na+b=(a\u0026#x27;+b\u0026#x27;)+(k+l)na+b=(a′+b′)+(k+l)n, 즉 a+b‾=a′+b′‾\\overline{a+b}=\\overline{a\u0026#x27;+b\u0026#x27;}a+b​=a′+b′​. 대표를 어느 것으로 골라도 결과가 같다. 닫힘: a+b‾\\overline{a+b}a+b​도 합동류이므로 Zn\\mathbb Z_nZn​의 원소. 결합법칙: (aˉ⊕bˉ)⊕cˉ=(a+b)+c‾=a+(b+c)‾=aˉ⊕(bˉ⊕cˉ)(\\bar a\\oplus\\bar b)\\oplus\\bar c=\\overline{(a+b)+c}=\\overline{a+(b+c)}=\\bar a\\oplus(\\bar b\\oplus\\bar c)(aˉ⊕bˉ)⊕cˉ=(a+b)+c​=a+(b+c)​=aˉ⊕(bˉ⊕cˉ) (정수 덧셈의 결합법칙). 항등원: 0ˉ\\bar00ˉ (aˉ⊕0ˉ=aˉ\\bar a\\oplus\\bar0=\\bar aaˉ⊕0ˉ=aˉ). 역원: aˉ\\bar aaˉ의 역원은 −a‾=n−a‾\\overline{-a}=\\overline{n-a}−a​=n−a​ (a+(n−a)‾=nˉ=0ˉ\\overline{a+(n-a)}=\\bar n=\\bar0a+(n−a)​=nˉ=0ˉ). 교환: a+b‾=b+a‾\\overline{a+b}=\\overline{b+a}a+b​=b+a​. 답 (a): 아벨군이다.\n풀이 (b): Z5∖{0ˉ}={1ˉ,2ˉ,3ˉ,4ˉ}\\mathbb Z_5\\setminus\\{\\bar0\\}=\\{\\bar1,\\bar2,\\bar3,\\bar4\\}Z5​∖{0ˉ}={1ˉ,2ˉ,3ˉ,4ˉ}의 곱셈표 (곱한 뒤 5로 나눈 나머지):\n⊗\\otimes⊗ 1ˉ\\bar11ˉ 2ˉ\\bar22ˉ 3ˉ\\bar33ˉ 4ˉ\\bar44ˉ 1ˉ\\bar11ˉ 1ˉ\\bar11ˉ 2ˉ\\bar22ˉ 3ˉ\\bar33ˉ 4ˉ\\bar44ˉ 2ˉ\\bar22ˉ 2ˉ\\bar22ˉ 4ˉ\\bar44ˉ 1ˉ\\bar11ˉ 3ˉ\\bar33ˉ 3ˉ\\bar33ˉ 3ˉ\\bar33ˉ 1ˉ\\bar11ˉ 4ˉ\\bar44ˉ 2ˉ\\bar22ˉ 4ˉ\\bar44ˉ 4ˉ\\bar44ˉ 3ˉ\\bar33ˉ 2ˉ\\bar22ˉ 1ˉ\\bar11ˉ (예: 2ˉ⊗3ˉ=6ˉ=1ˉ\\bar2\\otimes\\bar3=\\bar6=\\bar12ˉ⊗3ˉ=6ˉ=1ˉ, 3ˉ⊗3ˉ=9ˉ=4ˉ\\bar3\\otimes\\bar3=\\bar9=\\bar43ˉ⊗3ˉ=9ˉ=4ˉ, 4ˉ⊗4ˉ=16‾=1ˉ\\bar4\\otimes\\bar4=\\overline{16}=\\bar14ˉ⊗4ˉ=16=1ˉ.)\n닫힘: 표 안에 0ˉ\\bar00ˉ이 없다. 항등원: 1ˉ\\bar11ˉ (첫 행·첫 열이 그대로). 역원: 각 행에서 1ˉ\\bar11ˉ이 나오는 열을 찾는다. 1ˉ−1=1ˉ\\bar1^{-1}=\\bar11ˉ−1=1ˉ, 2ˉ−1=3ˉ\\bar2^{-1}=\\bar32ˉ−1=3ˉ, 3ˉ−1=2ˉ\\bar3^{-1}=\\bar23ˉ−1=2ˉ, 4ˉ−1=4ˉ\\bar4^{-1}=\\bar44ˉ−1=4ˉ. 결합·교환법칙: 정수 곱셈에서 물려받는다(표가 대각선에 대해 대칭인 것이 교환법칙의 모습). 답 (b): (Z5∖{0ˉ},⊗)(\\mathbb Z_5\\setminus\\{\\bar0\\},\\otimes)(Z5​∖{0ˉ},⊗)는 아벨군.\n풀이 (c): 2ˉ⊗4ˉ=8ˉ=0ˉ∉Z8∖{0ˉ}\\bar2\\otimes\\bar4=\\bar8=\\bar0\\notin\\mathbb Z_8\\setminus\\{\\bar0\\}2ˉ⊗4ˉ=8ˉ=0ˉ∈/Z8​∖{0ˉ}. 닫혀 있지 않으므로 군이 아니다. (또 다른 이유: 2k2k2k는 언제나 짝수라 8로 나눈 나머지가 1이 될 수 없어 2ˉ\\bar22ˉ는 역원이 없다.)\n풀이 (d):\n(⇐) nnn이 소수일 때: 1≤a,b≤n−11\\le a,b\\le n-11≤a,b≤n−1로 두자. 닫힘: aˉ⊗bˉ=0ˉ\\bar a\\otimes\\bar b=\\bar0aˉ⊗bˉ=0ˉ이면 n∣abn\\mid abn∣ab. 소수가 곱을 나누면 인수 중 하나를 나누는데, 0\u0026lt;a,b\u0026lt;n0\u0026lt;a,b\u0026lt;n0\u0026lt;a,b\u0026lt;n이라 불가능. 따라서 결과가 0ˉ\\bar00ˉ이 아니다. 역원: nnn이 소수이고 0\u0026lt;a\u0026lt;n0\u0026lt;a\u0026lt;n0\u0026lt;a\u0026lt;n이면 gcd⁡(a,n)=1\\gcd(a,n)=1gcd(a,n)=1. 베주 정리로 au+nv=1au+nv=1au+nv=1인 정수 u,vu,vu,v가 있고, 양변을 nnn으로 나눈 나머지를 보면 aˉ⊗uˉ=1ˉ\\bar a\\otimes\\bar u=\\bar1aˉ⊗uˉ=1ˉ. 즉 uˉ\\bar uuˉ가 역원(uˉ≠0ˉ\\bar u\\ne\\bar0uˉ=0ˉ, 아니면 1ˉ=0ˉ\\bar1=\\bar01ˉ=0ˉ이 된다). 항등원 1ˉ\\bar11ˉ, 결합법칙은 정수 곱셈에서 물려받는다. (⇒) 대우로 증명, nnn이 소수가 아니면 군이 아님: n=1n=1n=1: Z1∖{0ˉ}=∅\\mathbb Z_1\\setminus\\{\\bar0\\}=\\varnothingZ1​∖{0ˉ}=∅이라 항등원이 없어 군이 아니다. nnn이 합성수: n=abn=abn=ab (1\u0026lt;a,b\u0026lt;n1\u0026lt;a,b\u0026lt;n1\u0026lt;a,b\u0026lt;n)로 쓸 수 있다. 그러면 aˉ,bˉ≠0ˉ\\bar a,\\bar b\\ne\\bar0aˉ,bˉ=0ˉ인데 aˉ⊗bˉ=nˉ=0ˉ\\bar a\\otimes\\bar b=\\bar n=\\bar0aˉ⊗bˉ=nˉ=0ˉ. 닫힘이 깨진다. 답 (d): (Zn∖{0ˉ},⊗)(\\mathbb Z_n\\setminus\\{\\bar0\\},\\otimes)(Zn​∖{0ˉ},⊗)가 군 ⇔ nnn이 소수.\n2.3 위삼각 행렬 집합 G\\mathcal GG 문제: G={[1xz01y001]:x,y,z∈R}\\mathcal G=\\left\\{\\begin{bmatrix}1\u0026amp;x\u0026amp;z\\\\0\u0026amp;1\u0026amp;y\\\\0\u0026amp;0\u0026amp;1\\end{bmatrix}:x,y,z\\in\\mathbb R\\right\\}G=⎩⎨⎧​​100​x10​zy1​​:x,y,z∈R⎭⎬⎫​이 행렬곱에 대해 군인가? 아벨군인가?\n풀이: 원소를 M(x,y,z)M(x,y,z)M(x,y,z)로 쓴다. 두 원소를 곱하면 M(x,y,z) M(x′,y′,z′)=[1x+x′z′+xy′+z01y+y′001]=M(x+x′, y+y′, z+z′+xy′).\\begin{aligned} \u0026amp;M(x,y,z)\\,M(x\u0026#x27;,y\u0026#x27;,z\u0026#x27;) \\\\ \u0026amp;\\quad =\\begin{bmatrix}1\u0026amp;x+x\u0026#x27;\u0026amp;z\u0026#x27;+xy\u0026#x27;+z\\\\0\u0026amp;1\u0026amp;y+y\u0026#x27;\\\\0\u0026amp;0\u0026amp;1\\end{bmatrix} \\\\ \u0026amp;\\quad =M(x+x\u0026#x27;,\\ y+y\u0026#x27;,\\ z+z\u0026#x27;+xy\u0026#x27;). \\end{aligned}​M(x,y,z)M(x′,y′,z′)=​100​x+x′10​z′+xy′+zy+y′1​​=M(x+x′, y+y′, z+z′+xy′).​ (1행 3열: 1⋅z′+x⋅y′+z⋅11\\cdot z\u0026#x27;+x\\cdot y\u0026#x27;+z\\cdot11⋅z′+x⋅y′+z⋅1.)\n닫힘: 결과가 같은 꼴이다. 결합법칙: 행렬곱은 결합법칙을 만족한다. 항등원: M(0,0,0)=I3∈GM(0,0,0)=I_3\\in\\mathcal GM(0,0,0)=I3​∈G. 역원: M(−x,−y,xy−z)M(-x,-y,xy-z)M(−x,−y,xy−z)를 곱해 보면 위 공식으로 M(0,0, (xy−z)+x(−y)+z)=M(0,0,0)M(0,0,\\ (xy-z)+x(-y)+z)=M(0,0,0)M(0,0, (xy−z)+x(−y)+z)=M(0,0,0). 이 역원도 G\\mathcal GG 안에 있다. 교환법칙이 깨지는 예: M(1,0,0)M(0,1,0)=M(1,1,0+1⋅1)=M(1,1,1)M(1,0,0)M(0,1,0)=M(1,1,0+1\\cdot1)=M(1,1,1)M(1,0,0)M(0,1,0)=M(1,1,0+1⋅1)=M(1,1,1)인데 M(0,1,0)M(1,0,0)=M(1,1,0+0⋅0)=M(1,1,0)M(0,1,0)M(1,0,0)=M(1,1,0+0\\cdot0)=M(1,1,0)M(0,1,0)M(1,0,0)=M(1,1,0+0⋅0)=M(1,1,0). 오른쪽 위 원소가 다르다(일반적으로 xy′≠x′yxy\u0026#x27;\\ne x\u0026#x27;yxy′=x′y이면 다르다).\n답: 군이지만 아벨군은 아니다. (하이젠베르크 군이라는 이름이 있다.)\n2.4 행렬곱 계산 문제: 가능하면 곱을 구하라.\n풀이: 먼저 크기를 본다. (m×n)(n×k)(m\\times n)(n\\times k)(m×n)(n×k)만 정의되고 결과는 m×km\\times km×k.\n(a) [124578][110011101]\\begin{bmatrix}1\u0026amp;2\\\\4\u0026amp;5\\\\7\u0026amp;8\\end{bmatrix}\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\\\\1\u0026amp;0\u0026amp;1\\end{bmatrix}​147​258​​​101​110​011​​: (3×2)(3×3)(3\\times2)(3\\times3)(3×2)(3×3), 안쪽 크기 2≠32\\ne32=3 → 정의되지 않는다.\n(b) [123456789][110011101]\\begin{bmatrix}1\u0026amp;2\u0026amp;3\\\\4\u0026amp;5\u0026amp;6\\\\7\u0026amp;8\u0026amp;9\\end{bmatrix}\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\\\\1\u0026amp;0\u0026amp;1\\end{bmatrix}​147​258​369​​​101​110​011​​: 오른쪽 행렬의 열이 (1,0,1)(1,0,1)(1,0,1), (1,1,0)(1,1,0)(1,1,0), (0,1,1)(0,1,1)(0,1,1)이므로 결과의 (i,j)(i,j)(i,j) 원소는 \u0026ldquo;왼쪽 행렬 iii행에서 두 성분을 더한 값\u0026quot;이다. 1행: 1+3=41+3=41+3=4, 1+2=31+2=31+2=3, 2+3=52+3=52+3=5. =[43510911161517]=\\begin{bmatrix}4\u0026amp;3\u0026amp;5\\\\10\u0026amp;9\u0026amp;11\\\\16\u0026amp;15\u0026amp;17\\end{bmatrix}=​41016​3915​51117​​(c) 순서를 바꾼 곱. 이번에는 왼쪽 행렬의 행 (1,1,0)(1,1,0)(1,1,0), (0,1,1)(0,1,1)(0,1,1), (1,0,1)(1,0,1)(1,0,1)이 오른쪽 행렬의 행을 두 개씩 더한다. 1행 = 1행+2행 =(5,7,9)=(5,7,9)=(5,7,9), 2행 = 2행+3행 =(11,13,15)=(11,13,15)=(11,13,15), 3행 = 1행+3행 =(8,10,12)=(8,10,12)=(8,10,12). =[57911131581012]((b)와 다르다: AB≠BA)\\begin{gathered} =\\begin{bmatrix}5\u0026amp;7\u0026amp;9\\\\11\u0026amp;13\u0026amp;15\\\\8\u0026amp;10\u0026amp;12\\end{bmatrix} \\\\ (\\text{(b)와 다르다: }AB\\ne BA) \\end{gathered}=​5118​71310​91512​​((b)와 다르다: AB=BA)​(d) [121241−1−4][031−12152]\\begin{bmatrix}1\u0026amp;2\u0026amp;1\u0026amp;2\\\\4\u0026amp;1\u0026amp;-1\u0026amp;-4\\end{bmatrix}\\begin{bmatrix}0\u0026amp;3\\\\1\u0026amp;-1\\\\2\u0026amp;1\\\\5\u0026amp;2\\end{bmatrix}[14​21​1−1​2−4​]​0125​3−112​​: (2×4)(4×2)=2×2(2\\times4)(4\\times2)=2\\times2(2×4)(4×2)=2×2.\n(1,1)(1,1)(1,1): 0+2+2+10=140+2+2+10=140+2+2+10=14, (1,2)(1,2)(1,2): 3−2+1+4=63-2+1+4=63−2+1+4=6 (2,1)(2,1)(2,1): 0+1−2−20=−210+1-2-20=-210+1−2−20=−21, (2,2)(2,2)(2,2): 12−1−1−8=212-1-1-8=212−1−1−8=2 =[146−212]=\\begin{bmatrix}14\u0026amp;6\\\\-21\u0026amp;2\\end{bmatrix}=[14−21​62​] (e) 순서를 바꾸면 (4×2)(2×4)=4×4(4\\times2)(2\\times4)=4\\times4(4×2)(2×4)=4×4. [031−12152][121241−1−4]=[123−3−12−31266510131232]\\begin{aligned} \u0026amp;\\begin{bmatrix}0\u0026amp;3\\\\1\u0026amp;-1\\\\2\u0026amp;1\\\\5\u0026amp;2\\end{bmatrix}\\begin{bmatrix}1\u0026amp;2\u0026amp;1\u0026amp;2\\\\4\u0026amp;1\u0026amp;-1\u0026amp;-4\\end{bmatrix} \\\\ \u0026amp;\\quad =\\begin{bmatrix}12\u0026amp;3\u0026amp;-3\u0026amp;-12\\\\-3\u0026amp;1\u0026amp;2\u0026amp;6\\\\6\u0026amp;5\u0026amp;1\u0026amp;0\\\\13\u0026amp;12\u0026amp;3\u0026amp;2\\end{bmatrix} \\end{aligned}​​0125​3−112​​[14​21​1−1​2−4​]=​12−3613​31512​−3213​−12602​​​ (예: 1행은 0⋅(1,2,1,2)+3⋅(4,1,−1,−4)0\\cdot(1,2,1,2)+3\\cdot(4,1,-1,-4)0⋅(1,2,1,2)+3⋅(4,1,−1,−4), 4행은 5⋅(1,2,1,2)+2⋅(4,1,−1,−4)=(13,12,3,2)5\\cdot(1,2,1,2)+2\\cdot(4,1,-1,-4)=(13,12,3,2)5⋅(1,2,1,2)+2⋅(4,1,−1,−4)=(13,12,3,2).)\n2.5 Ax=bAx=bAx=b의 해집합 (a) A=[11−1−125−7−52−11352−42]A=\\begin{bmatrix}1\u0026amp;1\u0026amp;-1\u0026amp;-1\\\\2\u0026amp;5\u0026amp;-7\u0026amp;-5\\\\2\u0026amp;-1\u0026amp;1\u0026amp;3\\\\5\u0026amp;2\u0026amp;-4\u0026amp;2\\end{bmatrix}A=​1225​15−12​−1−71−4​−1−532​​, b=[1−246]b=\\begin{bmatrix}1\\\\-2\\\\4\\\\6\\end{bmatrix}b=​1−246​​.\n풀이: 첨가행렬 [A∣b][A\\mid b][A∣b]를 소거한다. [11−1−1125−7−5−22−113452−426]→R4−5R1R2−2R1, R3−2R1[11−1−1103−5−3−40−33520−3171]\\begin{aligned} \u0026amp;\\left[\\begin{array}{cccc|c}1\u0026amp;1\u0026amp;-1\u0026amp;-1\u0026amp;1\\\\2\u0026amp;5\u0026amp;-7\u0026amp;-5\u0026amp;-2\\\\2\u0026amp;-1\u0026amp;1\u0026amp;3\u0026amp;4\\\\5\u0026amp;2\u0026amp;-4\u0026amp;2\u0026amp;6\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow[R_4-5R_1]{R_2-2R_1,\\ R_3-2R_1} \\\\ \u0026amp;\\left[\\begin{array}{cccc|c}1\u0026amp;1\u0026amp;-1\u0026amp;-1\u0026amp;1\\\\0\u0026amp;3\u0026amp;-5\u0026amp;-3\u0026amp;-4\\\\0\u0026amp;-3\u0026amp;3\u0026amp;5\u0026amp;2\\\\0\u0026amp;-3\u0026amp;1\u0026amp;7\u0026amp;1\\end{array}\\right] \\end{aligned}​​1225​15−12​−1−71−4​−1−532​1−246​​R2​−2R1​, R3​−2R1​R4​−5R1​​​1000​13−3−3​−1−531​−1−357​1−421​​​ →R4+R2R3+R2[11−1−1103−5−3−400−22−200−44−3]→R4−2R3[11−1−1103−5−3−400−22−200001]\\begin{aligned} \u0026amp;\\xrightarrow[R_4+R_2]{R_3+R_2} \\left[\\begin{array}{cccc|c}1\u0026amp;1\u0026amp;-1\u0026amp;-1\u0026amp;1\\\\0\u0026amp;3\u0026amp;-5\u0026amp;-3\u0026amp;-4\\\\0\u0026amp;0\u0026amp;-2\u0026amp;2\u0026amp;-2\\\\0\u0026amp;0\u0026amp;-4\u0026amp;4\u0026amp;-3\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow{R_4-2R_3} \\left[\\begin{array}{cccc|c}1\u0026amp;1\u0026amp;-1\u0026amp;-1\u0026amp;1\\\\0\u0026amp;3\u0026amp;-5\u0026amp;-3\u0026amp;-4\\\\0\u0026amp;0\u0026amp;-2\u0026amp;2\u0026amp;-2\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;1\\end{array}\\right] \\end{aligned}​R3​+R2​R4​+R2​​​1000​1300​−1−5−2−4​−1−324​1−4−2−3​​R4​−2R3​​​1000​1300​−1−5−20​−1−320​1−4−21​​​ 마지막 행은 0=10=10=1이라는 모순이다. (rk(A)=3\u0026lt;rk([A∣b])=4\\text{rk}(A)=3\u0026lt;\\text{rk}([A\\mid b])=4rk(A)=3\u0026lt;rk([A∣b])=4.)\n답: 해가 없다. S=∅\\mathcal S=\\varnothingS=∅.\n(b) A=[1−1001110−302−101−1−120−2−1]A=\\begin{bmatrix}1\u0026amp;-1\u0026amp;0\u0026amp;0\u0026amp;1\\\\1\u0026amp;1\u0026amp;0\u0026amp;-3\u0026amp;0\\\\2\u0026amp;-1\u0026amp;0\u0026amp;1\u0026amp;-1\\\\-1\u0026amp;2\u0026amp;0\u0026amp;-2\u0026amp;-1\\end{bmatrix}A=​112−1​−11−12​0000​0−31−2​10−1−1​​, b=[365−1]b=\\begin{bmatrix}3\\\\6\\\\5\\\\-1\\end{bmatrix}b=​365−1​​.\n풀이: →R4+R1R2−R1, R3−2R1[1−10013020−3−130101−3−1010−202]→R2↔R3[1−100130101−3−1020−3−13010−202]\\begin{aligned} \u0026amp;\\xrightarrow[R_4+R_1]{R_2-R_1,\\ R_3-2R_1} \\\\ \u0026amp;\\left[\\begin{array}{ccccc|c}1\u0026amp;-1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;3\\\\0\u0026amp;2\u0026amp;0\u0026amp;-3\u0026amp;-1\u0026amp;3\\\\0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;-3\u0026amp;-1\\\\0\u0026amp;1\u0026amp;0\u0026amp;-2\u0026amp;0\u0026amp;2\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow{R_2\\leftrightarrow R_3} \\\\ \u0026amp;\\left[\\begin{array}{ccccc|c}1\u0026amp;-1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;3\\\\0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;-3\u0026amp;-1\\\\0\u0026amp;2\u0026amp;0\u0026amp;-3\u0026amp;-1\u0026amp;3\\\\0\u0026amp;1\u0026amp;0\u0026amp;-2\u0026amp;0\u0026amp;2\\end{array}\\right] \\end{aligned}​R2​−R1​, R3​−2R1​R4​+R1​​​1000​−1211​0000​0−31−2​1−1−30​33−12​​R2​↔R3​​​1000​−1121​0000​01−3−2​1−3−10​3−132​​​ →R4−R2R3−2R2[1−100130101−3−1000−555000−333]→R4+3R3R3÷(−5)[1−100130101−3−10001−1−1000000]\\begin{aligned} \u0026amp;\\xrightarrow[R_4-R_2]{R_3-2R_2} \\\\ \u0026amp;\\left[\\begin{array}{ccccc|c}1\u0026amp;-1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;3\\\\0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;-3\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;-5\u0026amp;5\u0026amp;5\\\\0\u0026amp;0\u0026amp;0\u0026amp;-3\u0026amp;3\u0026amp;3\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow[R_4+3R_3]{R_3\\div(-5)} \\\\ \u0026amp;\\left[\\begin{array}{ccccc|c}1\u0026amp;-1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;3\\\\0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;-3\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;-1\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;0\\end{array}\\right] \\end{aligned}​R3​−2R2​R4​−R2​​​1000​−1100​0000​01−5−3​1−353​3−153​​R3​÷(−5)R4​+3R3​​​1000​−1100​0000​0110​1−3−10​3−1−10​​​ 피벗은 x1,x2,x4x_1,x_2,x_4x1​,x2​,x4​. 자유변수는 x3x_3x3​(어떤 식에도 나오지 않는다)과 x5x_5x5​. 뒤에서부터 대입한다.\nx4=−1+x5x_4=-1+x_5x4​=−1+x5​ x2=−1−x4+3x5=−1−(−1+x5)+3x5=2x5x_2=-1-x_4+3x_5=-1-(-1+x_5)+3x_5=2x_5x2​=−1−x4​+3x5​=−1−(−1+x5​)+3x5​=2x5​ x1=3+x2−x5=3+x5x_1=3+x_2-x_5=3+x_5x1​=3+x2​−x5​=3+x5​ 답: S={[300−10]+λ1[00100]+λ2[12011] : λ1,λ2∈R}\\mathcal S=\\left\\{\\begin{bmatrix}3\\\\0\\\\0\\\\-1\\\\0\\end{bmatrix}+\\lambda_1\\begin{bmatrix}0\\\\0\\\\1\\\\0\\\\0\\end{bmatrix}+\\lambda_2\\begin{bmatrix}1\\\\2\\\\0\\\\1\\\\1\\end{bmatrix}\\ :\\ \\lambda_1,\\lambda_2\\in\\mathbb R\\right\\}S=⎩⎨⎧​​300−10​​+λ1​​00100​​+λ2​​12011​​ : λ1​,λ2​∈R⎭⎬⎫​확인: 특수해 (3,0,0,−1,0)(3,0,0,-1,0)(3,0,0,−1,0): 1행 3=33=33=3, 2행 3+3=63+3=63+3=6, 3행 6−1=56-1=56−1=5, 4행 −3+2=−1-3+2=-1−3+2=−1. 영공간 벡터 (1,2,0,1,1)(1,2,0,1,1)(1,2,0,1,1): 1행 1−2+1=01-2+1=01−2+1=0, 2행 1+2−3=01+2-3=01+2−3=0, 3행 2−2+1−1=02-2+1-1=02−2+1−1=0, 4행 −1+4−2−1=0-1+4-2-1=0−1+4−2−1=0.\n2.6 가우스 소거로 모든 해 문제: A=[010010000110010001]A=\\begin{bmatrix}0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;1\\end{bmatrix}A=​000​101​000​010​110​001​​, b=[2−11]b=\\begin{bmatrix}2\\\\-1\\\\1\\end{bmatrix}b=​2−11​​.\n풀이: [0100102000110−10100011]→R3−R1[0100102000110−10000−11−1]\\begin{aligned} \u0026amp;\\left[\\begin{array}{cccccc|c}0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;2\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;-1\\\\0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\\end{array}\\right] \\xrightarrow{R_3-R_1} \\\\ \u0026amp;\\left[\\begin{array}{cccccc|c}0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;2\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;-1\u0026amp;1\u0026amp;-1\\end{array}\\right] \\end{aligned}​​000​101​000​010​110​001​2−11​​R3​−R1​​​000​100​000​010​11−1​001​2−1−1​​​ →R3⋅(−1)[0100102000110−100001−11]→R2−R3R1−R3[0100011000101−200001−11]\\begin{aligned} \u0026amp;\\xrightarrow{R_3\\cdot(-1)} \\\\ \u0026amp;\\left[\\begin{array}{cccccc|c}0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;2\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;-1\u0026amp;1\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow[R_2-R_3]{R_1-R_3} \\\\ \u0026amp;\\left[\\begin{array}{cccccc|c}0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;-2\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;-1\u0026amp;1\\end{array}\\right] \\end{aligned}​R3​⋅(−1)​​000​100​000​010​111​00−1​2−11​​R1​−R3​R2​−R3​​​000​100​000​010​001​11−1​1−21​​​ 피벗 열은 x2,x4,x5x_2,x_4,x_5x2​,x4​,x5​. 자유변수는 x1,x3,x6x_1,x_3,x_6x1​,x3​,x6​ (x1,x3x_1,x_3x1​,x3​은 어떤 식에도 없다).\n특수해: 자유변수를 모두 0으로 두면 x2=1x_2=1x2​=1, x4=−2x_4=-2x4​=−2, x5=1x_5=1x5​=1. 영공간: x1=1x_1=1x1​=1 → e1e_1e1​; x3=1x_3=1x3​=1 → e3e_3e3​; x6=1x_6=1x6​=1 → x2=−1x_2=-1x2​=−1, x4=−1x_4=-1x4​=−1, x5=1x_5=1x5​=1 (Minus-1 트릭과 같은 결과). 답: x=[010−210]+λ1[100000]+λ2[001000]+λ3[0−10−111],λi∈R\\begin{aligned} x \u0026amp;=\\begin{bmatrix}0\\\\1\\\\0\\\\-2\\\\1\\\\0\\end{bmatrix} +\\lambda_1\\begin{bmatrix}1\\\\0\\\\0\\\\0\\\\0\\\\0\\end{bmatrix} +\\lambda_2\\begin{bmatrix}0\\\\0\\\\1\\\\0\\\\0\\\\0\\end{bmatrix} \\\\ \u0026amp;\\quad +\\lambda_3\\begin{bmatrix}0\\\\-1\\\\0\\\\-1\\\\1\\\\1\\end{bmatrix},\\quad\\lambda_i\\in\\mathbb R \\end{aligned}x​=​010−210​​+λ1​​100000​​+λ2​​001000​​+λ3​​0−10−111​​,λi​∈R​ 2.7 Ax=12xAx=12xAx=12x, ∑xi=1\\sum x_i=1∑xi​=1 문제: A=[643609080]A=\\begin{bmatrix}6\u0026amp;4\u0026amp;3\\\\6\u0026amp;0\u0026amp;9\\\\0\u0026amp;8\u0026amp;0\\end{bmatrix}A=​660​408​390​​일 때 Ax=12xAx=12xAx=12x이고 x1+x2+x3=1x_1+x_2+x_3=1x1​+x2​+x3​=1인 xxx를 모두 구하라.\n풀이: Ax=12xAx=12xAx=12x ⇔ (A−12I)x=0(A-12I)x=0(A−12I)x=0. 동차 연립방정식으로 바꾼다. A−12I=[−6436−12908−12]→R2+R1[−6430−81208−12]→R3+R2[−6430−812000]\\begin{aligned} A-12I \u0026amp;=\\begin{bmatrix}-6\u0026amp;4\u0026amp;3\\\\6\u0026amp;-12\u0026amp;9\\\\0\u0026amp;8\u0026amp;-12\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow{R_2+R_1}\\begin{bmatrix}-6\u0026amp;4\u0026amp;3\\\\0\u0026amp;-8\u0026amp;12\\\\0\u0026amp;8\u0026amp;-12\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow{R_3+R_2}\\begin{bmatrix}-6\u0026amp;4\u0026amp;3\\\\0\u0026amp;-8\u0026amp;12\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix} \\end{aligned}A−12I​=​−660​4−128​39−12​​R2​+R1​​​−600​4−88​312−12​​R3​+R2​​​−600​4−80​3120​​​ 2행: −8x2+12x3=0-8x_2+12x_3=0−8x2​+12x3​=0 → x2=32x3x_2=\\tfrac32x_3x2​=23​x3​ 1행: −6x1+4⋅32x3+3x3=0-6x_1+4\\cdot\\tfrac32x_3+3x_3=0−6x1​+4⋅23​x3​+3x3​=0 → 6x1=9x36x_1=9x_36x1​=9x3​ → x1=32x3x_1=\\tfrac32x_3x1​=23​x3​ 해는 x=t (3,3,2)⊤x=t\\,(3,3,2)^\\topx=t(3,3,2)⊤. 합 조건 3t+3t+2t=8t=13t+3t+2t=8t=13t+3t+2t=8t=1 → t=18t=\\tfrac18t=81​.\n답: x=(38, 38, 14)⊤x=\\left(\\tfrac38,\\ \\tfrac38,\\ \\tfrac14\\right)^\\topx=(83​, 83​, 41​)⊤ (유일).\n확인: A(3,3,2)⊤=(18+12+6, 18+18, 24)=(36,36,24)=12 (3,3,2)A(3,3,2)^\\top=(18+12+6,\\ 18+18,\\ 24)=(36,36,24)=12\\,(3,3,2)A(3,3,2)⊤=(18+12+6, 18+18, 24)=(36,36,24)=12(3,3,2). 4장 말로 하면 \u0026ldquo;고유값 12의 고유벡터를 성분 합이 1이 되게 맞춘 것\u0026quot;이다.\n2.8 역행렬 (a) A=[234345456]A=\\begin{bmatrix}2\u0026amp;3\u0026amp;4\\\\3\u0026amp;4\u0026amp;5\\\\4\u0026amp;5\u0026amp;6\\end{bmatrix}A=​234​345​456​​.\n풀이: 1행 + 3행 =(6,8,10)=2×=(6,8,10)=2\\times=(6,8,10)=2×2행. 행들이 일차종속이라 랭크가 3보다 작다. 행렬식으로도 2(24−25)−3(18−20)+4(15−16)=−2+6−4=02(24-25)-3(18-20)+4(15-16)=-2+6-4=02(24−25)−3(18−20)+4(15−16)=−2+6−4=0.\n답: 역행렬이 없다.\n(b) A=[1010011011011110]A=\\begin{bmatrix}1\u0026amp;0\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\u0026amp;0\\\\1\u0026amp;1\u0026amp;0\u0026amp;1\\\\1\u0026amp;1\u0026amp;1\u0026amp;0\\end{bmatrix}A=​1011​0111​1101​0010​​.\n풀이: [A∣I][A\\mid I][A∣I]를 [I∣A−1][I\\mid A^{-1}][I∣A−1]로 만든다. [10101000011001001101001011100001]→R4−R1R3−R1[101010000110010001−11−10100100−1001]\\begin{aligned} \u0026amp;\\left[\\begin{array}{cccc|cccc}1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\\\\1\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\\\\1\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;1\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow[R_4-R_1]{R_3-R_1} \\\\ \u0026amp;\\left[\\begin{array}{cccc|cccc}1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\\\\0\u0026amp;1\u0026amp;-1\u0026amp;1\u0026amp;-1\u0026amp;0\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;-1\u0026amp;0\u0026amp;0\u0026amp;1\\end{array}\\right] \\end{aligned}​​1011​0111​1101​0010​1000​0100​0010​0001​​R3​−R1​R4​−R1​​​1000​0111​11−10​0010​10−1−1​0100​0010​0001​​​ →R4−R2R3−R2[101010000110010000−21−1−11000−10−1−101]→R3↔R4[101010000110010000−10−1−10100−21−1−110]\\begin{aligned} \u0026amp;\\xrightarrow[R_4-R_2]{R_3-R_2} \\\\ \u0026amp;\\left[\\begin{array}{cccc|cccc}1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;-2\u0026amp;1\u0026amp;-1\u0026amp;-1\u0026amp;1\u0026amp;0\\\\0\u0026amp;0\u0026amp;-1\u0026amp;0\u0026amp;-1\u0026amp;-1\u0026amp;0\u0026amp;1\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow{R_3\\leftrightarrow R_4} \\\\ \u0026amp;\\left[\\begin{array}{cccc|cccc}1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;-1\u0026amp;0\u0026amp;-1\u0026amp;-1\u0026amp;0\u0026amp;1\\\\0\u0026amp;0\u0026amp;-2\u0026amp;1\u0026amp;-1\u0026amp;-1\u0026amp;1\u0026amp;0\\end{array}\\right] \\end{aligned}​R3​−R2​R4​−R2​​​1000​0100​11−2−1​0010​10−1−1​01−1−1​0010​0001​​R3​↔R4​​​1000​0100​11−1−2​0001​10−1−1​01−1−1​0001​0010​​​ →R3⋅(−1)R4−2R3[10101000011001000010110−10001111−2]→R2−R3R1−R3[10000−1010100−10010010110−10001111−2]\\begin{aligned} \u0026amp;\\xrightarrow[R_3\\cdot(-1)]{R_4-2R_3} \\\\ \u0026amp;\\left[\\begin{array}{cccc|cccc}1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;0\\\\0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;1\u0026amp;1\u0026amp;-2\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow[R_2-R_3]{R_1-R_3} \\\\ \u0026amp;\\left[\\begin{array}{cccc|cccc}1\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;-1\u0026amp;0\u0026amp;1\\\\0\u0026amp;1\u0026amp;0\u0026amp;0\u0026amp;-1\u0026amp;0\u0026amp;0\u0026amp;1\\\\0\u0026amp;0\u0026amp;1\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;0\u0026amp;-1\\\\0\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\u0026amp;1\u0026amp;1\u0026amp;-2\\end{array}\\right] \\end{aligned}​R4​−2R3​R3​⋅(−1)​​1000​0100​1110​0001​1011​0111​0001​00−1−2​​R1​−R3​R2​−R3​​​1000​0100​0010​0001​0−111​−1011​0001​11−1−2​​​ (4행 계산: R4−2R3R_4-2R_3R4​−2R3​의 오른쪽은 (−1,−1,1,0)−2(−1,−1,0,1)=(1,1,1,−2)(-1,-1,1,0)-2(-1,-1,0,1)=(1,1,1,-2)(−1,−1,1,0)−2(−1,−1,0,1)=(1,1,1,−2).)\n답: A−1=[0−101−1001110−1111−2]A^{-1}=\\begin{bmatrix}0\u0026amp;-1\u0026amp;0\u0026amp;1\\\\-1\u0026amp;0\u0026amp;0\u0026amp;1\\\\1\u0026amp;1\u0026amp;0\u0026amp;-1\\\\1\u0026amp;1\u0026amp;1\u0026amp;-2\\end{bmatrix}A−1=​0−111​−1011​0001​11−1−2​​확인: AAA의 1행 (1,0,1,0)(1,0,1,0)(1,0,1,0)과 A−1A^{-1}A−1의 각 열을 곱하면 (0+1, −1+1, 0+0, 1−1)=(1,0,0,0)(0+1,\\ -1+1,\\ 0+0,\\ 1-1)=(1,0,0,0)(0+1, −1+1, 0+0, 1−1)=(1,0,0,0). sympy로 AA−1=IAA^{-1}=IAA−1=I 확인.\n2.9 부분공간 판정 판정 기준: R3\\mathbb R^3R3의 부분집합 UUU가 부분공간 ⇔ 0∈U0\\in U0∈U이고, 덧셈과 스칼라곱에 닫혀 있다.\n(a) A={(λ,λ+μ3,λ−μ3)}A=\\{(\\lambda,\\lambda+\\mu^3,\\lambda-\\mu^3)\\}A={(λ,λ+μ3,λ−μ3)}. ν=μ3\\nu=\\mu^3ν=μ3로 바꾸면 μ↦μ3\\mu\\mapsto\\mu^3μ↦μ3이 실수 전체를 덮으므로 ν\\nuν도 모든 실수를 돈다. 그래서 A={λ(1,1,1)+ν(0,1,−1)}=span[(1,1,1),(0,1,−1)]A=\\{\\lambda(1,1,1)+\\nu(0,1,-1)\\}=\\text{span}[(1,1,1),(0,1,-1)]A={λ(1,1,1)+ν(0,1,−1)}=span[(1,1,1),(0,1,−1)]. 부분공간이다.\n(b) B={(λ2,−λ2,0)}B=\\{(\\lambda^2,-\\lambda^2,0)\\}B={(λ2,−λ2,0)}. (1,−1,0)∈B(1,-1,0)\\in B(1,−1,0)∈B인데 −1-1−1배 한 (−1,1,0)(-1,1,0)(−1,1,0)은 첫 성분이 음수라 BBB에 없다(첫 성분 λ2≥0\\lambda^2\\ge0λ2≥0). 스칼라곱에 닫혀 있지 않다. 부분공간이 아니다. (반직선이다.)\n(c) C={ξ1−2ξ2+3ξ3=γ}C=\\{\\xi_1-2\\xi_2+3\\xi_3=\\gamma\\}C={ξ1​−2ξ2​+3ξ3​=γ}. γ≠0\\gamma\\ne0γ=0이면 000이 식을 만족하지 않아 0∉C0\\notin C0∈/C → 아니다. γ=0\\gamma=0γ=0이면 동차 연립방정식 [1,−2,3] ξ=0[1,-2,3]\\,\\xi=0[1,−2,3]ξ=0의 해집합(핵)이라 부분공간이다. γ=0\\gamma=0γ=0일 때만 부분공간.\n(d) D={ξ2∈Z}D=\\{\\xi_2\\in\\mathbb Z\\}D={ξ2​∈Z}. (0,1,0)∈D(0,1,0)\\in D(0,1,0)∈D인데 12\\tfrac1221​배 한 (0,12,0)(0,\\tfrac12,0)(0,21​,0)은 DDD에 없다. 부분공간이 아니다.\n2.10 일차독립 판정 (a) x1=(2,−1,3)x_1=(2,-1,3)x1​=(2,−1,3), x2=(1,1,−2)x_2=(1,1,-2)x2​=(1,1,−2), x3=(3,−3,8)x_3=(3,-3,8)x3​=(3,−3,8).\n풀이: 열로 세운 행렬을 소거한다(계산이 편하도록 2행을 맨 위로). [213−11−33−28]→[−11−32133−28]→R3+3R1R2+2R1[−11−303−301−1]→R3−13R2[−11−303−3000]\\begin{aligned} \u0026amp;\\begin{bmatrix}2\u0026amp;1\u0026amp;3\\\\-1\u0026amp;1\u0026amp;-3\\\\3\u0026amp;-2\u0026amp;8\\end{bmatrix} \\to\\begin{bmatrix}-1\u0026amp;1\u0026amp;-3\\\\2\u0026amp;1\u0026amp;3\\\\3\u0026amp;-2\u0026amp;8\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow[R_3+3R_1]{R_2+2R_1}\\begin{bmatrix}-1\u0026amp;1\u0026amp;-3\\\\0\u0026amp;3\u0026amp;-3\\\\0\u0026amp;1\u0026amp;-1\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow{R_3-\\frac13R_2}\\begin{bmatrix}-1\u0026amp;1\u0026amp;-3\\\\0\u0026amp;3\u0026amp;-3\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix} \\end{aligned}​​2−13​11−2​3−38​​→​−123​11−2​−338​​R2​+2R1​R3​+3R1​​​−100​131​−3−3−1​​R3​−31​R2​​​−100​130​−3−30​​​ 피벗이 2개라 랭크 2 \u0026lt; 3. 3열이 피벗이 아니므로 x3x_3x3​은 앞의 두 벡터로 표현된다: λ3=1\\lambda_3=1λ3​=1로 두면 3λ2=33\\lambda_2=33λ2​=3 → λ2=1\\lambda_2=1λ2​=1, −λ1+1−3=0-\\lambda_1+1-3=0−λ1​+1−3=0 → λ1=−2\\lambda_1=-2λ1​=−2. 즉 −2x1+x2+x3=0-2x_1+x_2+x_3=0−2x1​+x2​+x3​=0.\n답: 일차종속. x3=2x1−x2x_3=2x_1-x_2x3​=2x1​−x2​ (확인: 2(2,−1,3)−(1,1,−2)=(3,−3,8)2(2,-1,3)-(1,1,-2)=(3,-3,8)2(2,−1,3)−(1,1,−2)=(3,−3,8)).\n(b) x1=(1,2,1,0,0)x_1=(1,2,1,0,0)x1​=(1,2,1,0,0), x2=(1,1,0,1,1)x_2=(1,1,0,1,1)x2​=(1,1,0,1,1), x3=(1,0,0,1,1)x_3=(1,0,0,1,1)x3​=(1,0,0,1,1).\n풀이: λ1x1+λ2x2+λ3x3=0\\lambda_1x_1+\\lambda_2x_2+\\lambda_3x_3=0λ1​x1​+λ2​x2​+λ3​x3​=0을 성분별로 쓴다.\n3번째 성분: λ1=0\\lambda_1=0λ1​=0 2번째 성분: 2λ1+λ2=02\\lambda_1+\\lambda_2=02λ1​+λ2​=0 → λ2=0\\lambda_2=0λ2​=0 1번째 성분: λ1+λ2+λ3=0\\lambda_1+\\lambda_2+\\lambda_3=0λ1​+λ2​+λ3​=0 → λ3=0\\lambda_3=0λ3​=0 답: 자명한 해만 있으므로 일차독립.\n2.11 일차결합으로 쓰기 문제: y=(1,−2,5)y=(1,-2,5)y=(1,−2,5)를 x1=(1,1,1)x_1=(1,1,1)x1​=(1,1,1), x2=(1,2,3)x_2=(1,2,3)x2​=(1,2,3), x3=(2,−1,1)x_3=(2,-1,1)x3​=(2,−1,1)의 일차결합으로.\n풀이: λ1x1+λ2x2+λ3x3=y\\lambda_1x_1+\\lambda_2x_2+\\lambda_3x_3=yλ1​x1​+λ2​x2​+λ3​x3​=y. [112112−1−21315]→R3−R1R2−R1[112101−3−302−14]→R3−2R2[112101−3−300510]\\begin{aligned} \u0026amp;\\left[\\begin{array}{ccc|c}1\u0026amp;1\u0026amp;2\u0026amp;1\\\\1\u0026amp;2\u0026amp;-1\u0026amp;-2\\\\1\u0026amp;3\u0026amp;1\u0026amp;5\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow[R_3-R_1]{R_2-R_1}\\left[\\begin{array}{ccc|c}1\u0026amp;1\u0026amp;2\u0026amp;1\\\\0\u0026amp;1\u0026amp;-3\u0026amp;-3\\\\0\u0026amp;2\u0026amp;-1\u0026amp;4\\end{array}\\right] \\\\ \u0026amp;\\xrightarrow{R_3-2R_2}\\left[\\begin{array}{ccc|c}1\u0026amp;1\u0026amp;2\u0026amp;1\\\\0\u0026amp;1\u0026amp;-3\u0026amp;-3\\\\0\u0026amp;0\u0026amp;5\u0026amp;10\\end{array}\\right] \\end{aligned}​​111​123​2−11​1−25​​R2​−R1​R3​−R1​​​100​112​2−3−1​1−34​​R3​−2R2​​​100​110​2−35​1−310​​​ λ3=2\\lambda_3=2λ3​=2, λ2=−3+3⋅2=3\\lambda_2=-3+3\\cdot2=3λ2​=−3+3⋅2=3, λ1=1−3−4=−6\\lambda_1=1-3-4=-6λ1​=1−3−4=−6.\n답: y=−6x1+3x2+2x3y=-6x_1+3x_2+2x_3y=−6x1​+3x2​+2x3​.\n확인: −6(1,1,1)+3(1,2,3)+2(2,−1,1)=(−6+3+4, −6+6−2, −6+9+2)=(1,−2,5)-6(1,1,1)+3(1,2,3)+2(2,-1,1)=(-6+3+4,\\ -6+6-2,\\ -6+9+2)=(1,-2,5)−6(1,1,1)+3(1,2,3)+2(2,−1,1)=(−6+3+4, −6+6−2, −6+9+2)=(1,−2,5).\n2.12 두 생성 공간의 교집합 문제: U1=span[u1,u2,u3]U_1=\\text{span}[u_1,u_2,u_3]U1​=span[u1​,u2​,u3​], U2=span[v1,v2,v3]U_2=\\text{span}[v_1,v_2,v_3]U2​=span[v1​,v2​,v3​]의 교집합의 기저. u1=(1,1,−3,1)u_1=(1,1,-3,1)u1​=(1,1,−3,1), u2=(2,−1,0,−1)u_2=(2,-1,0,-1)u2​=(2,−1,0,−1), u3=(−1,1,−1,1)u_3=(-1,1,-1,1)u3​=(−1,1,−1,1); v1=(−1,−2,2,1)v_1=(-1,-2,2,1)v1​=(−1,−2,2,1), v2=(2,−2,0,0)v_2=(2,-2,0,0)v2​=(2,−2,0,0), v3=(−3,6,−2,−1)v_3=(-3,6,-2,-1)v3​=(−3,6,−2,−1).\n풀이: 1단계: 각 공간의 기저부터 줄인다.\nU1U_1U1​: u1−2u2=(−3,3,−3,3)=3u3u_1-2u_2=(-3,3,-3,3)=3u_3u1​−2u2​=(−3,3,−3,3)=3u3​이므로 u3=13u1−23u2u_3=\\tfrac13u_1-\\tfrac23u_2u3​=31​u1​−32​u2​. u1,u2u_1,u_2u1​,u2​는 서로 배수가 아니라 독립. 기저 {u1,u2}\\{u_1,u_2\\}{u1​,u2​}, dim⁡U1=2\\dim U_1=2dimU1​=2. U2U_2U2​: −v1−2v2=(1−4, 2+4, −2, −1)=(−3,6,−2,−1)=v3-v_1-2v_2=(1-4,\\ 2+4,\\ -2,\\ -1)=(-3,6,-2,-1)=v_3−v1​−2v2​=(1−4, 2+4, −2, −1)=(−3,6,−2,−1)=v3​. 기저 {v1,v2}\\{v_1,v_2\\}{v1​,v2​}, dim⁡U2=2\\dim U_2=2dimU2​=2. 2단계: 공통 벡터 조건을 세운다. x∈U1∩U2x\\in U_1\\cap U_2x∈U1​∩U2​ ⇔ x=λ1u1+λ2u2=μ1v1+μ2v2x=\\lambda_1u_1+\\lambda_2u_2=\\mu_1v_1+\\mu_2v_2x=λ1​u1​+λ2​u2​=μ1​v1​+μ2​v2​. 이항하면 [u1 u2 −v1 −v2] (λ1,λ2,μ1,μ2)⊤=0[u_1\\ u_2\\ {-v_1}\\ {-v_2}]\\,(\\lambda_1,\\lambda_2,\\mu_1,\\mu_2)^\\top=0[u1​ u2​ −v1​ −v2​](λ1​,λ2​,μ1​,μ2​)⊤=0. [121−21−122−30−201−1−10]→R4−R1R2−R1, R3+3R1[121−20−314061−60−3−22]→R4−R2R3+2R2[121−20−314003200−3−2]→R4+R3[121−20−31400320000]\\begin{aligned} \u0026amp;\\begin{bmatrix}1\u0026amp;2\u0026amp;1\u0026amp;-2\\\\1\u0026amp;-1\u0026amp;2\u0026amp;2\\\\-3\u0026amp;0\u0026amp;-2\u0026amp;0\\\\1\u0026amp;-1\u0026amp;-1\u0026amp;0\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow[R_4-R_1]{R_2-R_1,\\ R_3+3R_1} \\begin{bmatrix}1\u0026amp;2\u0026amp;1\u0026amp;-2\\\\0\u0026amp;-3\u0026amp;1\u0026amp;4\\\\0\u0026amp;6\u0026amp;1\u0026amp;-6\\\\0\u0026amp;-3\u0026amp;-2\u0026amp;2\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow[R_4-R_2]{R_3+2R_2} \\begin{bmatrix}1\u0026amp;2\u0026amp;1\u0026amp;-2\\\\0\u0026amp;-3\u0026amp;1\u0026amp;4\\\\0\u0026amp;0\u0026amp;3\u0026amp;2\\\\0\u0026amp;0\u0026amp;-3\u0026amp;-2\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow{R_4+R_3} \\begin{bmatrix}1\u0026amp;2\u0026amp;1\u0026amp;-2\\\\0\u0026amp;-3\u0026amp;1\u0026amp;4\\\\0\u0026amp;0\u0026amp;3\u0026amp;2\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\\end{bmatrix} \\end{aligned}​​11−31​2−10−1​12−2−1​−2200​​R2​−R1​, R3​+3R1​R4​−R1​​​1000​2−36−3​111−2​−24−62​​R3​+2R2​R4​−R2​​​1000​2−300​113−3​−242−2​​R4​+R3​​​1000​2−300​1130​−2420​​​ 랭크 3이라 dim⁡(U1+U2)=3\\dim(U_1+U_2)=3dim(U1​+U2​)=3, 따라서 dim⁡(U1∩U2)=2+2−3=1\\dim(U_1\\cap U_2)=2+2-3=1dim(U1​∩U2​)=2+2−3=1.\n3단계: 해를 구한다. μ2=t\\mu_2=tμ2​=t로 두면\n3μ1+2t=03\\mu_1+2t=03μ1​+2t=0 → μ1=−23t\\mu_1=-\\tfrac23tμ1​=−32​t −3λ2+μ1+4t=0-3\\lambda_2+\\mu_1+4t=0−3λ2​+μ1​+4t=0 → λ2=109t\\lambda_2=\\tfrac{10}9tλ2​=910​t λ1=−2λ2−μ1+2t=−20+6+189t=49t\\lambda_1=-2\\lambda_2-\\mu_1+2t=\\tfrac{-20+6+18}{9}t=\\tfrac49tλ1​=−2λ2​−μ1​+2t=9−20+6+18​t=94​t t=9t=9t=9로 잡으면 λ=(4,10)\\lambda=(4,10)λ=(4,10), μ=(−6,9)\\mu=(-6,9)μ=(−6,9). 교집합 벡터는 4u1+10u2=(24,−6,−12,−6)=6 (4,−1,−2,−1)4u_1+10u_2=(24,-6,-12,-6)=6\\,(4,-1,-2,-1)4u1​+10u2​=(24,−6,−12,−6)=6(4,−1,−2,−1).\n답: U1∩U2=span[(4,−1,−2,−1)⊤]U_1\\cap U_2=\\text{span}\\big[(4,-1,-2,-1)^\\top\\big]U1​∩U2​=span[(4,−1,−2,−1)⊤].\n확인: U2U_2U2​ 쪽으로도 −6v1+9v2=(6+18, 12−18, −12, −6)=(24,−6,−12,−6)-6v_1+9v_2=(6+18,\\ 12-18,\\ -12,\\ -6)=(24,-6,-12,-6)−6v1​+9v2​=(6+18, 12−18, −12, −6)=(24,−6,−12,−6). 같은 벡터다.\n2.13 두 해공간(핵)의 차원·기저·교집합 문제: U1={x:A1x=0}U_1=\\{x:A_1x=0\\}U1​={x:A1​x=0}, U2={x:A2x=0}U_2=\\{x:A_2x=0\\}U2​={x:A2​x=0}, A1=[1011−2−1213101]A_1=\\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\1\u0026amp;-2\u0026amp;-1\\\\2\u0026amp;1\u0026amp;3\\\\1\u0026amp;0\u0026amp;1\\end{bmatrix}A1​=​1121​0−210​1−131​​, A2=[3−301237−523−12]A_2=\\begin{bmatrix}3\u0026amp;-3\u0026amp;0\\\\1\u0026amp;2\u0026amp;3\\\\7\u0026amp;-5\u0026amp;2\\\\3\u0026amp;-1\u0026amp;2\\end{bmatrix}A2​=​3173​−32−5−1​0322​​.\n풀이:\nA1A_1A1​: R2−R1=(0,−2,−2)R_2-R_1=(0,-2,-2)R2​−R1​=(0,−2,−2), R3−2R1=(0,1,1)R_3-2R_1=(0,1,1)R3​−2R1​=(0,1,1), R4−R1=0R_4-R_1=0R4​−R1​=0. 남은 두 식은 x2+x3=0x_2+x_3=0x2​+x3​=0과 x1+x3=0x_1+x_3=0x1​+x3​=0(랭크 2). x3=tx_3=tx3​=t로 두면 x=t(−1,−1,1)x=t(-1,-1,1)x=t(−1,−1,1). A2A_2A2​: 1행과 2행을 바꾸고 (1,2,3)(1,2,3)(1,2,3)으로 소거하면 (3,−3,0)−3(1,2,3)=(0,−9,−9)(3,-3,0)-3(1,2,3)=(0,-9,-9)(3,−3,0)−3(1,2,3)=(0,−9,−9), (7,−5,2)−7(1,2,3)=(0,−19,−19)(7,-5,2)-7(1,2,3)=(0,-19,-19)(7,−5,2)−7(1,2,3)=(0,−19,−19), (3,−1,2)−3(1,2,3)=(0,−7,−7)(3,-1,2)-3(1,2,3)=(0,-7,-7)(3,−1,2)−3(1,2,3)=(0,−7,−7). 모두 (0,1,1)(0,1,1)(0,1,1)의 배수라 랭크 2. 남은 식은 x1+2x2+3x3=0x_1+2x_2+3x_3=0x1​+2x2​+3x3​=0과 x2+x3=0x_2+x_3=0x2​+x3​=0. x2=−x3x_2=-x_3x2​=−x3​을 넣으면 x1=−2x2−3x3=2x3−3x3=−x3x_1=-2x_2-3x_3=2x_3-3x_3=-x_3x1​=−2x2​−3x3​=2x3​−3x3​=−x3​. 역시 x=t(−1,−1,1)x=t(-1,-1,1)x=t(−1,−1,1). 답:\n(a) dim⁡U1=dim⁡U2=3−2=1\\dim U_1=\\dim U_2=3-2=1dimU1​=dimU2​=3−2=1 (b) 두 공간 모두 기저 {(1,1,−1)⊤}\\{(1,1,-1)^\\top\\}{(1,1,−1)⊤} (c) U1=U2U_1=U_2U1​=U2​이므로 U1∩U2=span[(1,1,−1)⊤]U_1\\cap U_2=\\text{span}[(1,1,-1)^\\top]U1​∩U2​=span[(1,1,−1)⊤] 확인: A2(−1,−1,1)⊤=(−3+3, −1−2+3, −7+5+2, −3+1+2)=0A_2(-1,-1,1)^\\top=(-3+3,\\ -1-2+3,\\ -7+5+2,\\ -3+1+2)=0A2​(−1,−1,1)⊤=(−3+3, −1−2+3, −7+5+2, −3+1+2)=0.\n2.14 두 열공간의 차원·기저·교집합 문제: 2.13과 같은 행렬. 이번에는 U1,U2U_1,U_2U1​,U2​가 각 행렬의 열이 생성하는 공간.\n풀이:\n2.13에서 각 행렬의 랭크가 2였으므로 dim⁡U1=dim⁡U2=2\\dim U_1=\\dim U_2=2dimU1​=dimU2​=2. 열공간 차원 = 랭크. 기저: 소거에서 피벗이 1, 2열이었으므로 원래 행렬의 1, 2열을 고른다. 실제로 3열 = 1열 + 2열이다(A1A_1A1​: (1,1,2,1)+(0,−2,1,0)=(1,−1,3,1)(1,1,2,1)+(0,-2,1,0)=(1,-1,3,1)(1,1,2,1)+(0,−2,1,0)=(1,−1,3,1); A2A_2A2​: (3,1,7,3)+(−3,2,−5,−1)=(0,3,2,2)(3,1,7,3)+(-3,2,-5,-1)=(0,3,2,2)(3,1,7,3)+(−3,2,−5,−1)=(0,3,2,2)). U1U_1U1​: a1=(1,1,2,1)a_1=(1,1,2,1)a1​=(1,1,2,1), a2=(0,−2,1,0)a_2=(0,-2,1,0)a2​=(0,−2,1,0) U2U_2U2​: b1=(3,1,7,3)b_1=(3,1,7,3)b1​=(3,1,7,3), b2=(−3,2,−5,−1)b_2=(-3,2,-5,-1)b2​=(−3,2,−5,−1) 교집합: λ1a1+λ2a2=μ1b1+μ2b2\\lambda_1a_1+\\lambda_2a_2=\\mu_1b_1+\\mu_2b_2λ1​a1​+λ2​a2​=μ1​b1​+μ2​b2​를 푼다. [a1 a2 b1 b2][a_1\\ a_2\\ b_1\\ b_2][a1​ a2​ b1​ b2​]의 랭크가 3이라 교집합은 1차원이다. 해 하나: λ=(3,1)\\lambda=(3,1)λ=(3,1), μ=(1,0)\\mu=(1,0)μ=(1,0), 즉 3a1+a2=(3, 3−2, 6+1, 3)=(3,1,7,3)=b13a_1+a_2=(3,\\ 3-2,\\ 6+1,\\ 3)=(3,1,7,3)=b_13a1​+a2​=(3, 3−2, 6+1, 3)=(3,1,7,3)=b1​. 답:\n(a) dim⁡U1=dim⁡U2=2\\dim U_1=\\dim U_2=2dimU1​=dimU2​=2 (b) U1U_1U1​: {(1,1,2,1)⊤,(0,−2,1,0)⊤}\\{(1,1,2,1)^\\top,(0,-2,1,0)^\\top\\}{(1,1,2,1)⊤,(0,−2,1,0)⊤}, U2U_2U2​: {(3,1,7,3)⊤,(−3,2,−5,−1)⊤}\\{(3,1,7,3)^\\top,(-3,2,-5,-1)^\\top\\}{(3,1,7,3)⊤,(−3,2,−5,−1)⊤} (c) U1∩U2=span[(3,1,7,3)⊤]U_1\\cap U_2=\\text{span}[(3,1,7,3)^\\top]U1​∩U2​=span[(3,1,7,3)⊤] 비교: 같은 행렬이라도 2.13(핵)은 R3\\mathbb R^3R3 안의 공간, 2.14(열공간)는 R4\\mathbb R^4R4 안의 공간이다. 랭크-퇴화차수 정리(정리 2.24)로 dim⁡ker⁡+dim⁡Im=1+2=3\\dim\\ker+\\dim\\text{Im}=1+2=3dimker+dimIm=1+2=3.\n2.15 F∩GF\\cap GF∩G 문제: F={(x,y,z):x+y−z=0}F=\\{(x,y,z):x+y-z=0\\}F={(x,y,z):x+y−z=0}, G={(a−b, a+b, a−3b):a,b∈R}G=\\{(a-b,\\ a+b,\\ a-3b):a,b\\in\\mathbb R\\}G={(a−b, a+b, a−3b):a,b∈R}.\n풀이 (a): FFF는 동차 연립방정식 [1,1,−1] v=0[1,1,-1]\\,v=0[1,1,−1]v=0의 해집합(핵)이라 부분공간. G={a(1,1,1)+b(−1,1,−3)}=span[(1,1,1),(−1,1,−3)]G=\\{a(1,1,1)+b(-1,1,-3)\\}=\\text{span}[(1,1,1),(-1,1,-3)]G={a(1,1,1)+b(−1,1,−3)}=span[(1,1,1),(−1,1,−3)]이라 부분공간.\n풀이 (b) 기저를 쓰지 않고: GGG의 원소를 FFF의 식에 넣는다. (a−b)+(a+b)−(a−3b)=a+3b=0 ⇒ a=−3b.\\begin{aligned} \u0026amp;(a-b)+(a+b)-(a-3b) =a+3b \\\\ \u0026amp;\\quad =0\\ \\Rightarrow\\ a=-3b. \\end{aligned}​(a−b)+(a+b)−(a−3b)=a+3b=0 ⇒ a=−3b.​ 대입하면 (a−b, a+b, a−3b)=(−4b, −2b, −6b)=−2b (2,1,3)(a-b,\\ a+b,\\ a-3b)=(-4b,\\ -2b,\\ -6b)=-2b\\,(2,1,3)(a−b, a+b, a−3b)=(−4b, −2b, −6b)=−2b(2,1,3).\n답 (b): F∩G=span[(2,1,3)⊤]F\\cap G=\\text{span}[(2,1,3)^\\top]F∩G=span[(2,1,3)⊤]. (확인: 2+1−3=02+1-3=02+1−3=0이라 FFF에 들어간다.)\n풀이 (c) 기저로 다시: FFF: x=z−yx=z-yx=z−y이므로 (x,y,z)=y(−1,1,0)+z(1,0,1)(x,y,z)=y(-1,1,0)+z(1,0,1)(x,y,z)=y(−1,1,0)+z(1,0,1), 기저 {(−1,1,0),(1,0,1)}\\{(-1,1,0),(1,0,1)\\}{(−1,1,0),(1,0,1)}. GGG: 기저 {(1,1,1),(−1,1,−3)}\\{(1,1,1),(-1,1,-3)\\}{(1,1,1),(−1,1,−3)}(서로 배수가 아님). α(−1,1,0)+β(1,0,1)=γ(1,1,1)+δ(−1,1,−3)\\alpha(-1,1,0)+\\beta(1,0,1)=\\gamma(1,1,1)+\\delta(-1,1,-3)α(−1,1,0)+β(1,0,1)=γ(1,1,1)+δ(−1,1,−3)을 성분별로 쓰면\n2성분: α=γ+δ\\alpha=\\gamma+\\deltaα=γ+δ 3성분: β=γ−3δ\\beta=\\gamma-3\\deltaβ=γ−3δ 1성분: −α+β=γ−δ-\\alpha+\\beta=\\gamma-\\delta−α+β=γ−δ → −(γ+δ)+(γ−3δ)=γ−δ-(\\gamma+\\delta)+(\\gamma-3\\delta)=\\gamma-\\delta−(γ+δ)+(γ−3δ)=γ−δ → γ=−3δ\\gamma=-3\\deltaγ=−3δ 교집합 벡터는 γ(1,1,1)+δ(−1,1,−3)=δ(−4,−2,−6)\\gamma(1,1,1)+\\delta(-1,1,-3)=\\delta(-4,-2,-6)γ(1,1,1)+δ(−1,1,−3)=δ(−4,−2,−6). (b)와 같다.\n2.16 선형사상 판정 기준: Φ(αx+βy)=αΦ(x)+βΦ(y)\\Phi(\\alpha x+\\beta y)=\\alpha\\Phi(x)+\\beta\\Phi(y)Φ(αx+βy)=αΦ(x)+βΦ(y)가 모든 x,yx,yx,y, 모든 스칼라에서 성립하는가.\n(a) 적분 Φ(f)=∫abf(x) dx\\Phi(f)=\\int_a^bf(x)\\,dxΦ(f)=∫ab​f(x)dx: 적분의 선형성 ∫(αf+βg)=α∫f+β∫g\\int(\\alpha f+\\beta g)=\\alpha\\int f+\\beta\\int g∫(αf+βg)=α∫f+β∫g. 선형. (b) 미분 Φ(f)=f′\\Phi(f)=f\u0026#x27;Φ(f)=f′: (αf+βg)′=αf′+βg′(\\alpha f+\\beta g)\u0026#x27;=\\alpha f\u0026#x27;+\\beta g\u0026#x27;(αf+βg)′=αf′+βg′. 선형. (c) Φ(x)=cos⁡x\\Phi(x)=\\cos xΦ(x)=cosx: Φ(0)=1≠0\\Phi(0)=1\\ne0Φ(0)=1=0. 선형사상은 반드시 000을 000으로 보낸다. 선형 아님. (또는 cos⁡(2π)=1≠2cos⁡π=−2\\cos(2\\pi)=1\\ne2\\cos\\pi=-2cos(2π)=1=2cosπ=−2.) (d) Φ(x)=[123143]x\\Phi(x)=\\begin{bmatrix}1\u0026amp;2\u0026amp;3\\\\1\u0026amp;4\u0026amp;3\\end{bmatrix}xΦ(x)=[11​24​33​]x: 행렬곱은 A(αx+βy)=αAx+βAyA(\\alpha x+\\beta y)=\\alpha Ax+\\beta AyA(αx+βy)=αAx+βAy. 선형. (e) 회전 행렬 [cos⁡θsin⁡θ−sin⁡θcos⁡θ]x\\begin{bmatrix}\\cos\\theta\u0026amp;\\sin\\theta\\\\-\\sin\\theta\u0026amp;\\cos\\theta\\end{bmatrix}x[cosθ−sinθ​sinθcosθ​]x: 고정된 θ\\thetaθ에서 상수 행렬이므로 행렬곱. 선형. (시계 방향 θ\\thetaθ 회전이다.) 2.17 변환행렬·랭크·핵·상 문제: Φ(x)=(3x1+2x2+x3, x1+x2+x3, x1−3x2, 2x1+3x2+x3)\\Phi(x)=(3x_1+2x_2+x_3,\\ x_1+x_2+x_3,\\ x_1-3x_2,\\ 2x_1+3x_2+x_3)Φ(x)=(3x1​+2x2​+x3​, x1​+x2​+x3​, x1​−3x2​, 2x1​+3x2​+x3​).\n풀이: 각 출력 성분의 계수를 행으로 적으면 변환행렬이 된다(열 jjj = Φ(ej)\\Phi(e_j)Φ(ej​)). AΦ=[3211111−30231]A_\\Phi=\\begin{bmatrix}3\u0026amp;2\u0026amp;1\\\\1\u0026amp;1\u0026amp;1\\\\1\u0026amp;-3\u0026amp;0\\\\2\u0026amp;3\u0026amp;1\\end{bmatrix}AΦ​=​3112​21−33​1101​​ 소거: →R1↔R2[1113211−30231]→R4−2R1R2−3R1, R3−R1[1110−1−20−4−101−1]→R4+R2R3−4R2[1110−1−200700−3]→R4+37R3[1110−1−2007000]\\begin{aligned} \u0026amp;\\xrightarrow{R_1\\leftrightarrow R_2}\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\3\u0026amp;2\u0026amp;1\\\\1\u0026amp;-3\u0026amp;0\\\\2\u0026amp;3\u0026amp;1\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow[R_4-2R_1]{R_2-3R_1,\\ R_3-R_1}\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\0\u0026amp;-1\u0026amp;-2\\\\0\u0026amp;-4\u0026amp;-1\\\\0\u0026amp;1\u0026amp;-1\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow[R_4+R_2]{R_3-4R_2}\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\0\u0026amp;-1\u0026amp;-2\\\\0\u0026amp;0\u0026amp;7\\\\0\u0026amp;0\u0026amp;-3\\end{bmatrix} \\\\ \u0026amp;\\xrightarrow{R_4+\\frac37R_3}\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\0\u0026amp;-1\u0026amp;-2\\\\0\u0026amp;0\u0026amp;7\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix} \\end{aligned}​R1​↔R2​​​1312​12−33​1101​​R2​−3R1​, R3​−R1​R4​−2R1​​​1000​1−1−41​1−2−1−1​​R3​−4R2​R4​+R2​​​1000​1−100​1−27−3​​R4​+73​R3​​​1000​1−100​1−270​​​ 피벗 3개.\n답:\nrk(AΦ)=3\\text{rk}(A_\\Phi)=3rk(AΦ​)=3 ker⁡Φ={0}\\ker\\Phi=\\{0\\}kerΦ={0}, dim⁡ker⁡Φ=0\\dim\\ker\\Phi=0dimkerΦ=0 (모든 열이 피벗이라 자유변수가 없다. 단사) Im Φ=span[(3,1,1,2)⊤,(2,1,−3,3)⊤,(1,1,0,1)⊤]\\text{Im}\\,\\Phi=\\text{span}[(3,1,1,2)^\\top,\\allowbreak (2,1,-3,3)^\\top,\\allowbreak (1,1,0,1)^\\top]ImΦ=span[(3,1,1,2)⊤,(2,1,−3,3)⊤,(1,1,0,1)⊤], dim⁡Im Φ=3\\dim\\text{Im}\\,\\Phi=3dimImΦ=3 (R4\\mathbb R^4R4 안의 3차원 부분공간이라 전사는 아님) 확인: 0+3=3=dim⁡R30+3=3=\\dim\\mathbb R^30+3=3=dimR3 (정리 2.24) 2.18 f∘g=idEf\\circ g=\\text{id}_Ef∘g=idE​일 때의 핵·상 문제: f∘g=idEf\\circ g=\\text{id}_Ef∘g=idE​이면 ker⁡f=ker⁡(g∘f)\\ker f=\\ker(g\\circ f)kerf=ker(g∘f), Im g=Im(g∘f)\\text{Im}\\,g=\\text{Im}(g\\circ f)Img=Im(g∘f), ker⁡f∩Im g={0E}\\ker f\\cap\\text{Im}\\,g=\\{0_E\\}kerf∩Img={0E​}.\n참고: 문제는 f,gf,gf,g가 자기동형(전단사)이라고 했는데, 그러면 세 식이 모두 자명하다(ker⁡={0}\\ker=\\{0\\}ker={0}, Im=E\\text{Im}=EIm=E). 아래 증명은 선형성과 f∘g=idf\\circ g=\\text{id}f∘g=id만 쓰므로 f,gf,gf,g가 그냥 자기사상(endomorphism)이어도 성립한다.\n증명 1. ker⁡f=ker⁡(g∘f)\\ker f=\\ker(g\\circ f)kerf=ker(g∘f):\n(⊆) x∈ker⁡fx\\in\\ker fx∈kerf이면 (g∘f)(x)=g(0)=0(g\\circ f)(x)=g(0)=0(g∘f)(x)=g(0)=0. (⊇) x∈ker⁡(g∘f)x\\in\\ker(g\\circ f)x∈ker(g∘f), 즉 g(f(x))=0g(f(x))=0g(f(x))=0이라 하자. 양변에 fff를 씌우면 f(g(f(x)))=f(0)=0f(g(f(x)))=f(0)=0f(g(f(x)))=f(0)=0. 그런데 f∘g=idf\\circ g=\\text{id}f∘g=id라 왼쪽은 f(x)f(x)f(x). 따라서 f(x)=0f(x)=0f(x)=0. 증명 2. Im g=Im(g∘f)\\text{Im}\\,g=\\text{Im}(g\\circ f)Img=Im(g∘f):\n(⊇) (g∘f)(x)=g(f(x))(g\\circ f)(x)=g(f(x))(g∘f)(x)=g(f(x))는 ggg의 값이므로 Im g\\text{Im}\\,gImg에 있다. (⊆) y=g(x)∈Im gy=g(x)\\in\\text{Im}\\,gy=g(x)∈Img라 하자. x=f(g(x))x=f(g(x))x=f(g(x))이므로 y=g(x)=g(f(g(x)))=(g∘f)(g(x))∈Im(g∘f)y=g(x)=g\\big(f(g(x))\\big)=(g\\circ f)(g(x))\\in\\text{Im}(g\\circ f)y=g(x)=g(f(g(x)))=(g∘f)(g(x))∈Im(g∘f). 증명 3. ker⁡f∩Im g={0E}\\ker f\\cap\\text{Im}\\,g=\\{0_E\\}kerf∩Img={0E​}: yyy가 교집합에 있으면 y=g(x)y=g(x)y=g(x)이고 f(y)=0f(y)=0f(y)=0. 그러면 0=f(y)=f(g(x))=x0=f(y)=f(g(x))=x0=f(y)=f(g(x))=x, 따라서 y=g(0)=0y=g(0)=0y=g(0)=0. 반대로 000은 두 집합 모두에 있다. ∎\n2.19 핵·상과 기저 변환 문제: AΦ=[1101−10111]A_\\Phi=\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\1\u0026amp;-1\u0026amp;0\\\\1\u0026amp;1\u0026amp;1\\end{bmatrix}AΦ​=​111​1−11​001​​. (a) ker⁡Φ\\ker\\PhikerΦ, Im Φ\\text{Im}\\,\\PhiImΦ. (b) 기저 B=((1,1,1),(1,2,1),(1,0,0))B=\\big((1,1,1),(1,2,1),(1,0,0)\\big)B=((1,1,1),(1,2,1),(1,0,0))에 대한 변환행렬 A~Φ\\tilde A_\\PhiA~Φ​.\n풀이 (a): 3열이 (0,0,1)(0,0,1)(0,0,1)뿐이라 3열로 전개하면 det⁡AΦ=1⋅det⁡[111−1]=−2≠0\\det A_\\Phi=1\\cdot\\det\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}=-2\\ne0detAΦ​=1⋅det[11​1−1​]=−2=0. 가역이다.\n답 (a): ker⁡Φ={0}\\ker\\Phi=\\{0\\}kerΦ={0}, Im Φ=R3\\text{Im}\\,\\Phi=\\mathbb R^3ImΦ=R3.\n풀이 (b): 입력과 출력 공간이 같고 둘 다 기저 BBB로 바꾸므로 A~Φ=B−1AΦB\\tilde A_\\Phi=B^{-1}A_\\Phi BA~Φ​=B−1AΦ​B (정리 2.20에서 S=T=BS=T=BS=T=B). 여기서 BBB는 기저 벡터를 열로 세운 행렬이다. B=[111120110],B−1=[0−1201−110−1]\\begin{gathered} B=\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\1\u0026amp;2\u0026amp;0\\\\1\u0026amp;1\u0026amp;0\\end{bmatrix}, \\\\ B^{-1}=\\begin{bmatrix}0\u0026amp;-1\u0026amp;2\\\\0\u0026amp;1\u0026amp;-1\\\\1\u0026amp;0\u0026amp;-1\\end{bmatrix} \\end{gathered}B=​111​121​100​​,B−1=​001​−110​2−1−1​​​ (BB−1BB^{-1}BB−1의 각 행을 곱해 보면 III가 된다. 예: BBB의 2행 (1,2,0)(1,2,0)(1,2,0)과 B−1B^{-1}B−1의 2열 (−1,1,0)(-1,1,0)(−1,1,0)은 −1+2=1-1+2=1−1+2=1.)\n먼저 AΦbjA_\\Phi b_jAΦ​bj​를 구하고, 그것을 BBB 좌표로 바꾼다(B−1B^{-1}B−1을 곱한다).\nAΦb1=A(1,1,1)=(2,0,3)A_\\Phi b_1=A(1,1,1)=(2,0,3)AΦ​b1​=A(1,1,1)=(2,0,3) → B−1(2,0,3)=(6,−3,−1)B^{-1}(2,0,3)=(6,-3,-1)B−1(2,0,3)=(6,−3,−1) AΦb2=A(1,2,1)=(3,−1,4)A_\\Phi b_2=A(1,2,1)=(3,-1,4)AΦ​b2​=A(1,2,1)=(3,−1,4) → B−1(3,−1,4)=(9,−5,−1)B^{-1}(3,-1,4)=(9,-5,-1)B−1(3,−1,4)=(9,−5,−1) AΦb3=A(1,0,0)=(1,1,1)A_\\Phi b_3=A(1,0,0)=(1,1,1)AΦ​b3​=A(1,0,0)=(1,1,1) → B−1(1,1,1)=(1,0,0)B^{-1}(1,1,1)=(1,0,0)B−1(1,1,1)=(1,0,0) 답 (b): A~Φ=B−1AΦB=[691−3−50−1−10]\\tilde A_\\Phi=B^{-1}A_\\Phi B=\\begin{bmatrix}6\u0026amp;9\u0026amp;1\\\\-3\u0026amp;-5\u0026amp;0\\\\-1\u0026amp;-1\u0026amp;0\\end{bmatrix}A~Φ​=B−1AΦ​B=​6−3−1​9−5−1​100​​확인: 1열 (6,−3,−1)(6,-3,-1)(6,−3,−1)은 6b1−3b2−b3=(6−3−1, 6−6, 6−3)=(2,0,3)=Ab16b_1-3b_2-b_3=(6-3-1,\\ 6-6,\\ 6-3)=(2,0,3)=Ab_16b1​−3b2​−b3​=(6−3−1, 6−6, 6−3)=(2,0,3)=Ab1​. 3열 (1,0,0)(1,0,0)(1,0,0)은 \u0026ldquo;Φ(b3)=b1\\Phi(b_3)=b_1Φ(b3​)=b1​\u0026ldquo;이라는 뜻인데 실제로 A(1,0,0)=(1,1,1)=b1A(1,0,0)=(1,1,1)=b_1A(1,0,0)=(1,1,1)=b1​이다.\n2.20 두 기저 사이의 변환과 합성 문제: b1=(2,1)b_1=(2,1)b1​=(2,1), b2=(−1,−1)b_2=(-1,-1)b2​=(−1,−1), b1′=(2,−2)b_1\u0026#x27;=(2,-2)b1′​=(2,−2), b2′=(1,1)b_2\u0026#x27;=(1,1)b2′​=(1,1); B=(b1,b2)B=(b_1,b_2)B=(b1​,b2​), B′=(b1′,b2′)B\u0026#x27;=(b_1\u0026#x27;,b_2\u0026#x27;)B′=(b1′​,b2′​).\n(a) 기저임: det⁡[b1 b2]=2(−1)−(−1)(1)=−1≠0\\det[b_1\\ b_2]=2(-1)-(-1)(1)=-1\\ne0det[b1​ b2​]=2(−1)−(−1)(1)=−1=0, det⁡[b1′ b2′]=2⋅1−1⋅(−2)=4≠0\\det[b_1\u0026#x27;\\ b_2\u0026#x27;]=2\\cdot1-1\\cdot(-2)=4\\ne0det[b1′​ b2′​]=2⋅1−1⋅(−2)=4=0. 둘 다 일차독립인 2개의 벡터라 R2\\mathbb R^2R2의 기저. (그림: b1b_1b1​은 오른쪽 위, b2b_2b2​는 왼쪽 아래 대각선, b1′b_1\u0026#x27;b1′​은 오른쪽 아래 대각선, b2′b_2\u0026#x27;b2′​은 오른쪽 위 대각선. b1′⊥b2′b_1\u0026#x27;\\perp b_2\u0026#x27;b1′​⊥b2′​이다.)\n(b) B′B\u0026#x27;B′ → BBB 좌표 변환 P1P_1P1​: P1P_1P1​의 jjj열 = bj′b_j\u0026#x27;bj′​을 BBB로 쓴 좌표. 행렬로는 P1=B−1B′P_1=B^{-1}B\u0026#x27;P1​=B−1B′. B−1=1−1[−11−12]=[1−11−2],P1=[1−11−2][21−21]=[406−1]\\begin{gathered} B^{-1}=\\frac1{-1}\\begin{bmatrix}-1\u0026amp;1\\\\-1\u0026amp;2\\end{bmatrix}=\\begin{bmatrix}1\u0026amp;-1\\\\1\u0026amp;-2\\end{bmatrix}, \\\\ P_1=\\begin{bmatrix}1\u0026amp;-1\\\\1\u0026amp;-2\\end{bmatrix}\\begin{bmatrix}2\u0026amp;1\\\\-2\u0026amp;1\\end{bmatrix}=\\begin{bmatrix}4\u0026amp;0\\\\6\u0026amp;-1\\end{bmatrix} \\end{gathered}B−1=−11​[−1−1​12​]=[11​−1−2​],P1​=[11​−1−2​][2−2​11​]=[46​0−1​]​ 확인: 4b1+6b2=(8−6, 4−6)=(2,−2)=b1′4b_1+6b_2=(8-6,\\ 4-6)=(2,-2)=b_1\u0026#x27;4b1​+6b2​=(8−6, 4−6)=(2,−2)=b1′​, 0b1−1b2=(1,1)=b2′0b_1-1b_2=(1,1)=b_2\u0026#x27;0b1​−1b2​=(1,1)=b2′​.\n(c) c1=(1,2,−1)c_1=(1,2,-1)c1​=(1,2,−1), c2=(0,−1,2)c_2=(0,-1,2)c2​=(0,−1,2), c3=(1,0,−1)c_3=(1,0,-1)c3​=(1,0,−1).\n(i) det⁡[c1 c2 c3]=det⁡[1012−10−12−1]=1⋅(1−0)−0+1⋅(4−1)=4≠0\\det[c_1\\ c_2\\ c_3]=\\det\\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\2\u0026amp;-1\u0026amp;0\\\\-1\u0026amp;2\u0026amp;-1\\end{bmatrix}=1\\cdot(1-0)-0+1\\cdot(4-1)=4\\ne0det[c1​ c2​ c3​]=det​12−1​0−12​10−1​​=1⋅(1−0)−0+1⋅(4−1)=4=0 → 기저. (ii) CCC 좌표 → 표준 좌표: CCC 좌표 α\\alphaα인 벡터는 α1c1+α2c2+α3c3=Cα\\alpha_1c_1+\\alpha_2c_2+\\alpha_3c_3=C\\alphaα1​c1​+α2​c2​+α3​c3​=Cα. 따라서 P2=[1012−10−12−1]P_2=\\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\2\u0026amp;-1\u0026amp;0\\\\-1\u0026amp;2\u0026amp;-1\\end{bmatrix}P2​=​12−1​0−12​10−1​​ (d) AΦA_\\PhiAΦ​ (BBB → CCC): 주어진 두 식을 더하고 빼서 Φ(b1)\\Phi(b_1)Φ(b1​), Φ(b2)\\Phi(b_2)Φ(b2​)를 따로 구한다(선형성).\n더하기: 2Φ(b1)=(c2+c3)+(2c1−c2+3c3)=2c1+4c32\\Phi(b_1)=(c_2+c_3)+(2c_1-c_2+3c_3)=2c_1+4c_32Φ(b1​)=(c2​+c3​)+(2c1​−c2​+3c3​)=2c1​+4c3​ → Φ(b1)=c1+2c3\\Phi(b_1)=c_1+2c_3Φ(b1​)=c1​+2c3​ 빼기: 2Φ(b2)=(c2+c3)−(2c1−c2+3c3)=−2c1+2c2−2c32\\Phi(b_2)=(c_2+c_3)-(2c_1-c_2+3c_3)=-2c_1+2c_2-2c_32Φ(b2​)=(c2​+c3​)−(2c1​−c2​+3c3​)=−2c1​+2c2​−2c3​ → Φ(b2)=−c1+c2−c3\\Phi(b_2)=-c_1+c_2-c_3Φ(b2​)=−c1​+c2​−c3​ CCC 좌표를 열로 적으면 AΦ=[1−1012−1]A_\\Phi=\\begin{bmatrix}1\u0026amp;-1\\\\0\u0026amp;1\\\\2\u0026amp;-1\\end{bmatrix}AΦ​=​102​−11−1​​(e) A′A\u0026#x27;A′ (B′B\u0026#x27;B′ → C′C\u0026#x27;C′): B′B\u0026#x27;B′ 좌표 →(P1P_1P1​)→ BBB 좌표 →(AΦA_\\PhiAΦ​)→ CCC 좌표 →(P2P_2P2​)→ C′C\u0026#x27;C′(표준) 좌표. 오른쪽부터 곱한다. A′=P2AΦP1,AΦP1=[1−1012−1][406−1]=[−216−121]\\begin{aligned} \u0026amp;A\u0026#x27;=P_2A_\\Phi P_1, \\\\ \u0026amp;A_\\Phi P_1 =\\begin{bmatrix}1\u0026amp;-1\\\\0\u0026amp;1\\\\2\u0026amp;-1\\end{bmatrix}\\begin{bmatrix}4\u0026amp;0\\\\6\u0026amp;-1\\end{bmatrix} \\\\ \u0026amp;\\quad =\\begin{bmatrix}-2\u0026amp;1\\\\6\u0026amp;-1\\\\2\u0026amp;1\\end{bmatrix} \\end{aligned}​A′=P2​AΦ​P1​,AΦ​P1​=​102​−11−1​​[46​0−1​]=​−262​1−11​​​ A′=[1012−10−12−1][−216−121]=[02−10312−4]\\begin{aligned} A\u0026#x27; \u0026amp;=\\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\2\u0026amp;-1\u0026amp;0\\\\-1\u0026amp;2\u0026amp;-1\\end{bmatrix}\\begin{bmatrix}-2\u0026amp;1\\\\6\u0026amp;-1\\\\2\u0026amp;1\\end{bmatrix} \\\\ \u0026amp;=\\begin{bmatrix}0\u0026amp;2\\\\-10\u0026amp;3\\\\12\u0026amp;-4\\end{bmatrix} \\end{aligned}A′​=​12−1​0−12​10−1​​​−262​1−11​​=​0−1012​23−4​​​(f) xxx의 B′B\u0026#x27;B′ 좌표가 (2,3)(2,3)(2,3).\n(i) BBB 좌표: P1(2,3)⊤=(8, 12−3)=(8,9)P_1(2,3)^\\top=(8,\\ 12-3)=(8,9)P1​(2,3)⊤=(8, 12−3)=(8,9). (확인: 2b1′+3b2′=(7,−1)2b_1\u0026#x27;+3b_2\u0026#x27;=(7,-1)2b1′​+3b2′​=(7,−1), 8b1+9b2=(16−9, 8−9)=(7,−1)8b_1+9b_2=(16-9,\\ 8-9)=(7,-1)8b1​+9b2​=(16−9, 8−9)=(7,−1).) (ii) Φ(x)\\Phi(x)Φ(x)의 CCC 좌표: AΦ(8,9)⊤=(8−9, 9, 16−9)=(−1,9,7)A_\\Phi(8,9)^\\top=(8-9,\\ 9,\\ 16-9)=(-1,9,7)AΦ​(8,9)⊤=(8−9, 9, 16−9)=(−1,9,7). (iii) C′C\u0026#x27;C′로: P2(−1,9,7)⊤=(−1+7, −2−9, 1+18−7)=(6,−11,12)P_2(-1,9,7)^\\top=(-1+7,\\ -2-9,\\ 1+18-7)=(6,-11,12)P2​(−1,9,7)⊤=(−1+7, −2−9, 1+18−7)=(6,−11,12). 즉 Φ(x)=6c1′−11c2′+12c3′\\Phi(x)=6c_1\u0026#x27;-11c_2\u0026#x27;+12c_3\u0026#x27;Φ(x)=6c1′​−11c2′​+12c3′​. (iv) 직접: A′(2,3)⊤=(0+6, −20+9, 24−12)=(6,−11,12)A\u0026#x27;(2,3)^\\top=(0+6,\\ -20+9,\\ 24-12)=(6,-11,12)A′(2,3)⊤=(0+6, −20+9, 24−12)=(6,−11,12). 같다. 3장 해석기하 3.1 내적임을 보이기 문제: ⟨x,y⟩:=x1y1−(x1y2+x2y1)+2x2y2\\langle x,y\\rangle:=x_1y_1-(x_1y_2+x_2y_1)+2x_2y_2⟨x,y⟩:=x1​y1​−(x1​y2​+x2​y1​)+2x2​y2​가 내적임을 보여라.\n풀이: 행렬로 쓰면 ⟨x,y⟩=x⊤Ay\\langle x,y\\rangle=x^\\top Ay⟨x,y⟩=x⊤Ay, A=[1−1−12]A=\\begin{bmatrix}1\u0026amp;-1\\\\-1\u0026amp;2\\end{bmatrix}A=[1−1​−12​]. 내적은 대칭이고 양의 정부호인 쌍선형 사상이다(정의 3.2, 3.3).\n쌍선형: x⊤Ayx^\\top Ayx⊤Ay는 xxx에 대해서도 yyy에 대해서도 선형(행렬곱의 성질). 대칭: A⊤=AA^\\top=AA⊤=A이므로 ⟨y,x⟩=y⊤Ax=(x⊤A⊤y)⊤=x⊤Ay\\langle y,x\\rangle=y^\\top Ax=(x^\\top A^\\top y)^\\top=x^\\top Ay⟨y,x⟩=y⊤Ax=(x⊤A⊤y)⊤=x⊤Ay. (원래 식에서 x↔yx\\leftrightarrow yx↔y를 바꿔도 같은 식이 된다.) 양의 정부호: 완전제곱식으로 바꾼다. ⟨x,x⟩=x12−2x1x2+2x22=(x1−x2)2+x22≥0.\\langle x,x\\rangle=x_1^2-2x_1x_2+2x_2^2=(x_1-x_2)^2+x_2^2\\ge0.⟨x,x⟩=x12​−2x1​x2​+2x22​=(x1​−x2​)2+x22​≥0. 0이 되려면 x2=0x_2=0x2​=0이고 x1−x2=0x_1-x_2=0x1​−x2​=0, 즉 x=0x=0x=0일 때뿐이다. 답: 세 조건을 모두 만족하므로 내적이다.\n3.2 A=[2012]A=\\begin{bmatrix}2\u0026amp;0\\\\1\u0026amp;2\\end{bmatrix}A=[21​02​]는 내적을 만드는가 풀이: ⟨e1,e2⟩=e1⊤Ae2=A12=0\\langle e_1,e_2\\rangle=e_1^\\top Ae_2=A_{12}=0⟨e1​,e2​⟩=e1⊤​Ae2​=A12​=0, ⟨e2,e1⟩=A21=1\\langle e_2,e_1\\rangle=A_{21}=1⟨e2​,e1​⟩=A21​=1. 대칭이 아니다.\n답: 내적이 아니다. (참고: x⊤Ax=2x12+x1x2+2x22\u0026gt;0x^\\top Ax=2x_1^2+x_1x_2+2x_2^2\u0026gt;0x⊤Ax=2x12​+x1​x2​+2x22​\u0026gt;0이라 양수성은 만족하지만 대칭성이 깨진다. 내적이 되려면 행렬이 대칭이어야 한다.)\n3.3 거리 계산 문제: x=(1,2,3)x=(1,2,3)x=(1,2,3), y=(−1,−1,0)y=(-1,-1,0)y=(−1,−1,0)의 거리. (a) 점곱 (b) A=[21013−10−12]A=\\begin{bmatrix}2\u0026amp;1\u0026amp;0\\\\1\u0026amp;3\u0026amp;-1\\\\0\u0026amp;-1\u0026amp;2\\end{bmatrix}A=​210​13−1​0−12​​에 의한 내적.\n풀이: 거리 d(x,y)=∥x−y∥=⟨x−y,x−y⟩d(x,y)=\\|x-y\\|=\\sqrt{\\langle x-y,x-y\\rangle}d(x,y)=∥x−y∥=⟨x−y,x−y⟩​. d:=x−y=(2,3,3)d:=x-y=(2,3,3)d:=x−y=(2,3,3).\n(a) 4+9+9=22≈4.690\\sqrt{4+9+9}=\\sqrt{22}\\approx4.6904+9+9​=22​≈4.690 (b) Ad=(2⋅2+1⋅3, 1⋅2+3⋅3−1⋅3, −1⋅3+2⋅3)=(7,8,3)Ad=(2\\cdot2+1\\cdot3,\\ 1\\cdot2+3\\cdot3-1\\cdot3,\\ -1\\cdot3+2\\cdot3)=(7,8,3)Ad=(2⋅2+1⋅3, 1⋅2+3⋅3−1⋅3, −1⋅3+2⋅3)=(7,8,3), d⊤Ad=14+24+9=47d^\\top Ad=14+24+9=47d⊤Ad=14+24+9=47 → 47≈6.856\\sqrt{47}\\approx6.85647​≈6.856 답: (a) 22\\sqrt{22}22​ (b) 47\\sqrt{47}47​. 같은 두 점이라도 내적이 바뀌면 거리가 바뀐다.\n3.4 각도 계산 문제: x=(1,2)x=(1,2)x=(1,2), y=(−1,−1)y=(-1,-1)y=(−1,−1). (a) 점곱 (b) B=[2113]B=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;3\\end{bmatrix}B=[21​13​].\n풀이: cos⁡ω=⟨x,y⟩⟨x,x⟩⟨y,y⟩\\cos\\omega=\\dfrac{\\langle x,y\\rangle}{\\sqrt{\\langle x,x\\rangle\\langle y,y\\rangle}}cosω=⟨x,x⟩⟨y,y⟩​⟨x,y⟩​.\n(a) ⟨x,y⟩=−1−2=−3\\langle x,y\\rangle=-1-2=-3⟨x,y⟩=−1−2=−3, ∥x∥2=5\\|x\\|^2=5∥x∥2=5, ∥y∥2=2\\|y\\|^2=2∥y∥2=2. cos⁡ω=−310≈−0.9487\\cos\\omega=\\dfrac{-3}{\\sqrt{10}}\\approx-0.9487cosω=10​−3​≈−0.9487. (b) Bx=(4,7)Bx=(4,7)Bx=(4,7), By=(−3,−4)By=(-3,-4)By=(−3,−4). x⊤By=−3−8=−11x^\\top By=-3-8=-11x⊤By=−3−8=−11, x⊤Bx=4+14=18x^\\top Bx=4+14=18x⊤Bx=4+14=18, y⊤By=3+4=7y^\\top By=3+4=7y⊤By=3+4=7. cos⁡ω=−11126=−11314≈−0.9800\\cos\\omega=\\dfrac{-11}{\\sqrt{126}}=-\\dfrac{11}{3\\sqrt{14}}\\approx-0.9800cosω=126​−11​=−314​11​≈−0.9800. 답: (a) ω=arccos⁡(−3/10)≈2.82\\omega=\\arccos(-3/\\sqrt{10})\\approx2.82ω=arccos(−3/10​)≈2.82 rad ≈161.6∘\\approx161.6^\\circ≈161.6∘ (b) ω=arccos⁡(−11/126)≈2.94\\omega=\\arccos(-11/\\sqrt{126})\\approx2.94ω=arccos(−11/126​)≈2.94 rad ≈168.5∘\\approx168.5^\\circ≈168.5∘.\n3.5 부분공간으로의 직교사영과 거리 문제: U=span[u1,u2,u3,u4]⊆R5U=\\text{span}[u_1,u_2,u_3,u_4]\\subseteq\\mathbb R^5U=span[u1​,u2​,u3​,u4​]⊆R5 (점곱), u1=(0,−1,2,0,2)u_1=(0,-1,2,0,2)u1​=(0,−1,2,0,2), u2=(1,−3,1,−1,2)u_2=(1,-3,1,-1,2)u2​=(1,−3,1,−1,2), u3=(−3,4,1,2,1)u_3=(-3,4,1,2,1)u3​=(−3,4,1,2,1), u4=(−1,−3,5,0,7)u_4=(-1,-3,5,0,7)u4​=(−1,−3,5,0,7), x=(−1,−9,−1,4,1)x=(-1,-9,-1,4,1)x=(−1,−9,−1,4,1). (a) πU(x)\\pi_U(x)πU​(x) (b) d(x,U)d(x,U)d(x,U).\n풀이: 1단계: 기저를 고른다. [u1 u2 u3 u4][u_1\\ u_2\\ u_3\\ u_4][u1​ u2​ u3​ u4​]를 소거하면 랭크 3이고 u4=u1+2u2+u3u_4=u_1+2u_2+u_3u4​=u1​+2u2​+u3​이다. (확인: u1+2u2+u3=(0+2−3, −1−6+4, 2+2+1, 0−2+2, 2+4+1)=(−1,−3,5,0,7)u_1+2u_2+u_3=(0+2-3,\\ -1-6+4,\\ 2+2+1,\\ 0-2+2,\\ 2+4+1)=(-1,-3,5,0,7)u1​+2u2​+u3​=(0+2−3, −1−6+4, 2+2+1, 0−2+2, 2+4+1)=(−1,−3,5,0,7).) 기저 행렬 B=[u1 u2 u3]B=[u_1\\ u_2\\ u_3]B=[u1​ u2​ u3​].\n2단계: 정규방정식 B⊤Bλ=B⊤xB^\\top B\\lambda=B^\\top xB⊤Bλ=B⊤x (식 3.57의 λ=(B⊤B)−1B⊤x\\lambda=(B^\\top B)^{-1}B^\\top xλ=(B⊤B)−1B⊤x). B⊤B=[990916−140−1431],B⊤x=[923−25]\\begin{gathered} B^\\top B=\\begin{bmatrix}9\u0026amp;9\u0026amp;0\\\\9\u0026amp;16\u0026amp;-14\\\\0\u0026amp;-14\u0026amp;31\\end{bmatrix}, \\\\ B^\\top x=\\begin{bmatrix}9\\\\23\\\\-25\\end{bmatrix} \\end{gathered}B⊤B=​990​916−14​0−1431​​,B⊤x=​923−25​​​ (예: u2⋅u3=−3−12+1−2+2=−14u_2\\cdot u_3=-3-12+1-2+2=-14u2​⋅u3​=−3−12+1−2+2=−14, u3⋅x=3−36−1+8+1=−25u_3\\cdot x=3-36-1+8+1=-25u3​⋅x=3−36−1+8+1=−25.)\n3단계: 푼다.\n1식 9λ1+9λ2=99\\lambda_1+9\\lambda_2=99λ1​+9λ2​=9 → λ1=1−λ2\\lambda_1=1-\\lambda_2λ1​=1−λ2​ 2식 9(1−λ2)+16λ2−14λ3=239(1-\\lambda_2)+16\\lambda_2-14\\lambda_3=239(1−λ2​)+16λ2​−14λ3​=23 → 7λ2−14λ3=147\\lambda_2-14\\lambda_3=147λ2​−14λ3​=14 → λ2=2+2λ3\\lambda_2=2+2\\lambda_3λ2​=2+2λ3​ 3식 −14(2+2λ3)+31λ3=−25-14(2+2\\lambda_3)+31\\lambda_3=-25−14(2+2λ3​)+31λ3​=−25 → 3λ3=33\\lambda_3=33λ3​=3 → λ3=1\\lambda_3=1λ3​=1, λ2=4\\lambda_2=4λ2​=4, λ1=−3\\lambda_1=-3λ1​=−3 4단계: 사영. πU(x)=−3u1+4u2+u3=(0+4−3, 3−12+4, −6+4+1, 0−4+2, −6+8+1)\\pi_U(x)=-3u_1+4u_2+u_3=(0+4-3,\\ 3-12+4,\\ -6+4+1,\\ 0-4+2,\\ -6+8+1)πU​(x)=−3u1​+4u2​+u3​=(0+4−3, 3−12+4, −6+4+1, 0−4+2, −6+8+1).\n답 (a): πU(x)=(1,−5,−1,−2,3)⊤\\pi_U(x)=(1,-5,-1,-2,3)^\\topπU​(x)=(1,−5,−1,−2,3)⊤.\n풀이 (b): x−πU(x)=(−2,−4,0,6,−2)x-\\pi_U(x)=(-2,-4,0,6,-2)x−πU​(x)=(−2,−4,0,6,−2). 제곱합 4+16+0+36+4=604+16+0+36+4=604+16+0+36+4=60.\n답 (b): d(x,U)=60=215≈7.75d(x,U)=\\sqrt{60}=2\\sqrt{15}\\approx7.75d(x,U)=60​=215​≈7.75.\n확인: 오차 벡터 (−2,−4,0,6,−2)(-2,-4,0,6,-2)(−2,−4,0,6,−2)는 u1,u2,u3u_1,u_2,u_3u1​,u2​,u3​ 모두와 직교한다. 예: u1u_1u1​과 0+4+0+0−4=00+4+0+0-4=00+4+0+0−4=0, u3u_3u3​과 6−16+0+12−2=06-16+0+12-2=06−16+0+12−2=0.\n3.6 일반 내적에서의 사영 문제: ⟨x,y⟩=x⊤Ay\\langle x,y\\rangle=x^\\top Ay⟨x,y⟩=x⊤Ay, A=[21012−10−12]A=\\begin{bmatrix}2\u0026amp;1\u0026amp;0\\\\1\u0026amp;2\u0026amp;-1\\\\0\u0026amp;-1\u0026amp;2\\end{bmatrix}A=​210​12−1​0−12​​. (a) e2e_2e2​를 U=span[e1,e3]U=\\text{span}[e_1,e_3]U=span[e1​,e3​]에 사영 (b) d(e2,U)d(e_2,U)d(e2​,U) (c) 그림.\n풀이 (a): πU(e2)=λ1e1+λ3e3\\pi_U(e_2)=\\lambda_1e_1+\\lambda_3e_3πU​(e2​)=λ1​e1​+λ3​e3​으로 두고, 이 내적으로 오차가 UUU와 직교하게 한다. 기저 벡터끼리의 내적은 ⟨ei,ej⟩=Aij\\langle e_i,e_j\\rangle=A_{ij}⟨ei​,ej​⟩=Aij​.\n⟨e2−λ1e1−λ3e3, e1⟩=A21−λ1A11−λ3A31=1−2λ1−0=0\\langle e_2-\\lambda_1e_1-\\lambda_3e_3,\\ e_1\\rangle=A_{21}-\\lambda_1A_{11}-\\lambda_3A_{31}=1-2\\lambda_1-0=0⟨e2​−λ1​e1​−λ3​e3​, e1​⟩=A21​−λ1​A11​−λ3​A31​=1−2λ1​−0=0 → λ1=12\\lambda_1=\\tfrac12λ1​=21​ ⟨e2−λ1e1−λ3e3, e3⟩=A23−λ1A13−λ3A33=−1−0−2λ3=0\\langle e_2-\\lambda_1e_1-\\lambda_3e_3,\\ e_3\\rangle=A_{23}-\\lambda_1A_{13}-\\lambda_3A_{33}=-1-0-2\\lambda_3=0⟨e2​−λ1​e1​−λ3​e3​, e3​⟩=A23​−λ1​A13​−λ3​A33​=−1−0−2λ3​=0 → λ3=−12\\lambda_3=-\\tfrac12λ3​=−21​ 답 (a): πU(e2)=(12, 0, −12)⊤\\pi_U(e_2)=\\left(\\tfrac12,\\ 0,\\ -\\tfrac12\\right)^\\topπU​(e2​)=(21​, 0, −21​)⊤.\n풀이 (b): r=e2−πU(e2)=(−12,1,12)r=e_2-\\pi_U(e_2)=(-\\tfrac12,1,\\tfrac12)r=e2​−πU​(e2​)=(−21​,1,21​). Ar=(−1+1+0, −12+2−12, 0−1+1)=(0,1,0)Ar=(-1+1+0,\\ -\\tfrac12+2-\\tfrac12,\\ 0-1+1)=(0,1,0)Ar=(−1+1+0, −21​+2−21​, 0−1+1)=(0,1,0), r⊤Ar=1r^\\top Ar=1r⊤Ar=1.\n답 (b): d(e2,U)=r⊤Ar=1d(e_2,U)=\\sqrt{r^\\top Ar}=1d(e2​,U)=r⊤Ar​=1.\n(c) 그림 설명: UUU는 x1x3x_1x_3x1​x3​ 평면이다. 점곱이었다면 e2e_2e2​가 평면에 수직이라 사영은 원점이 된다. 하지만 이 내적에서는 e2e_2e2​가 e1e_1e1​, e3e_3e3​과 직교하지 않으므로(⟨e2,e1⟩=1\\langle e_2,e_1\\rangle=1⟨e2​,e1​⟩=1, ⟨e2,e3⟩=−1\\langle e_2,e_3\\rangle=-1⟨e2​,e3​⟩=−1) 사영이 평면 위의 점 (12,0,−12)(\\tfrac12,0,-\\tfrac12)(21​,0,−21​)로 간다. \u0026ldquo;수직\u0026quot;의 뜻이 내적에 따라 바뀐다는 것이 이 문제의 요점이다.\n3.7 π\\piπ와 id−π\\text{id}-\\piid−π 문제: (a) π\\piπ가 사영 ⇔ idV−π\\text{id}_V-\\piidV​−π가 사영. (b) π\\piπ가 사영일 때 Im(id−π)\\text{Im}(\\text{id}-\\pi)Im(id−π), ker⁡(id−π)\\ker(\\text{id}-\\pi)ker(id−π)를 Im π\\text{Im}\\,\\piImπ, ker⁡π\\ker\\pikerπ로 나타내라.\n정의(정의 3.10): 선형사상 π\\piπ가 사영 ⇔ π2=π∘π=π\\pi^2=\\pi\\circ\\pi=\\piπ2=π∘π=π.\n풀이 (a): (id−π)2=id−2π+π2(\\text{id}-\\pi)^2=\\text{id}-2\\pi+\\pi^2(id−π)2=id−2π+π2.\n(⇒) π2=π\\pi^2=\\piπ2=π이면 (id−π)2=id−2π+π=id−π(\\text{id}-\\pi)^2=\\text{id}-2\\pi+\\pi=\\text{id}-\\pi(id−π)2=id−2π+π=id−π. (⇐) (id−π)2=id−π(\\text{id}-\\pi)^2=\\text{id}-\\pi(id−π)2=id−π이면 id−2π+π2=id−π\\text{id}-2\\pi+\\pi^2=\\text{id}-\\piid−2π+π2=id−π → π2=π\\pi^2=\\piπ2=π. 풀이 (b):\nIm(id−π)=ker⁡π\\text{Im}(\\text{id}-\\pi)=\\ker\\piIm(id−π)=kerπ: y=(id−π)xy=(\\text{id}-\\pi)xy=(id−π)x이면 πy=πx−π2x=0\\pi y=\\pi x-\\pi^2x=0πy=πx−π2x=0이라 y∈ker⁡πy\\in\\ker\\piy∈kerπ. 반대로 x∈ker⁡πx\\in\\ker\\pix∈kerπ이면 (id−π)x=x−0=x(\\text{id}-\\pi)x=x-0=x(id−π)x=x−0=x라 x∈Im(id−π)x\\in\\text{Im}(\\text{id}-\\pi)x∈Im(id−π). ker⁡(id−π)=Im π\\ker(\\text{id}-\\pi)=\\text{Im}\\,\\piker(id−π)=Imπ: (id−π)x=0(\\text{id}-\\pi)x=0(id−π)x=0 ⇔ x=πxx=\\pi xx=πx이므로 x∈Im πx\\in\\text{Im}\\,\\pix∈Imπ. 반대로 y=πxy=\\pi xy=πx이면 (id−π)y=πx−π2x=0(\\text{id}-\\pi)y=\\pi x-\\pi^2x=0(id−π)y=πx−π2x=0. 답: Im(id−π)=ker⁡π\\text{Im}(\\text{id}-\\pi)=\\ker\\piIm(id−π)=kerπ, ker⁡(id−π)=Im π\\ker(\\text{id}-\\pi)=\\text{Im}\\,\\piker(id−π)=Imπ. (직관: π\\piπ가 UUU로의 사영이면 id−π\\text{id}-\\piid−π는 \u0026ldquo;남은 부분\u0026quot;으로의 사영이다. 3.5에서 x−πU(x)x-\\pi_U(x)x−πU​(x)가 그 남은 부분이었다.)\n3.8 그람-슈미트 문제: b1=(1,1,1)b_1=(1,1,1)b1​=(1,1,1), b2=(−1,2,0)b_2=(-1,2,0)b2​=(−1,2,0)을 정규직교기저로.\n풀이:\nc1=b1∥b1∥=13(1,1,1)c_1=\\dfrac{b_1}{\\|b_1\\|}=\\dfrac1{\\sqrt3}(1,1,1)c1​=∥b1​∥b1​​=3​1​(1,1,1). b2b_2b2​에서 b1b_1b1​ 방향 성분을 뺀다: u2=b2−b2⊤b1b1⊤b1b1=(−1,2,0)−13(1,1,1)=(−43, 53, −13)u_2=b_2-\\dfrac{b_2^\\top b_1}{b_1^\\top b_1}b_1=(-1,2,0)-\\dfrac13(1,1,1)=\\left(-\\tfrac43,\\ \\tfrac53,\\ -\\tfrac13\\right)u2​=b2​−b1⊤​b1​b2⊤​b1​​b1​=(−1,2,0)−31​(1,1,1)=(−34​, 35​, −31​). 정규화: ∥u2∥=1316+25+1=423\\|u_2\\|=\\tfrac13\\sqrt{16+25+1}=\\tfrac{\\sqrt{42}}3∥u2​∥=31​16+25+1​=342​​, c2=142(−4,5,−1)c_2=\\dfrac{1}{\\sqrt{42}}(-4,5,-1)c2​=42​1​(−4,5,−1). 답: c1=13(1,1,1)⊤c_1=\\tfrac1{\\sqrt3}(1,1,1)^\\topc1​=3​1​(1,1,1)⊤, c2=142(−4,5,−1)⊤c_2=\\tfrac1{\\sqrt{42}}(-4,5,-1)^\\topc2​=42​1​(−4,5,−1)⊤.\n확인: c1⊤c2∝−4+5−1=0c_1^\\top c_2\\propto-4+5-1=0c1⊤​c2​∝−4+5−1=0, 길이는 각각 1.\n3.9 코시-슈바르츠 응용 문제: xi\u0026gt;0x_i\u0026gt;0xi​\u0026gt;0, ∑xi=1\\sum x_i=1∑xi​=1일 때 (a) ∑xi2≥1n\\sum x_i^2\\ge\\frac1n∑xi2​≥n1​ (b) ∑1xi≥n2\\sum\\frac1{x_i}\\ge n^2∑xi​1​≥n2.\n도구: 코시-슈바르츠 부등식 ∣⟨a,b⟩∣≤∥a∥ ∥b∥|\\langle a,b\\rangle|\\le\\|a\\|\\,\\|b\\|∣⟨a,b⟩∣≤∥a∥∥b∥ (점곱).\n풀이 (a): a=(x1,…,xn)a=(x_1,\\dots,x_n)a=(x1​,…,xn​), b=(1,…,1)b=(1,\\dots,1)b=(1,…,1). ⟨a,b⟩=∑xi=1\\langle a,b\\rangle=\\sum x_i=1⟨a,b⟩=∑xi​=1, ∥b∥=n\\|b\\|=\\sqrt n∥b∥=n​. 1≤∑xi2⋅n ⇒ ∑xi2≥1n.1\\le\\sqrt{\\textstyle\\sum x_i^2}\\cdot\\sqrt n\\ \\Rightarrow\\ \\sum x_i^2\\ge\\frac1n.1≤∑xi2​​⋅n​ ⇒ ∑xi2​≥n1​.풀이 (b): a=(x1,…,xn)a=(\\sqrt{x_1},\\dots,\\sqrt{x_n})a=(x1​​,…,xn​​), b=(1x1,…,1xn)b=\\left(\\tfrac1{\\sqrt{x_1}},\\dots,\\tfrac1{\\sqrt{x_n}}\\right)b=(x1​​1​,…,xn​​1​) (xi\u0026gt;0x_i\u0026gt;0xi​\u0026gt;0이라 정의된다). ⟨a,b⟩=∑1=n\\langle a,b\\rangle=\\sum1=n⟨a,b⟩=∑1=n, ∥a∥2=∑xi=1\\|a\\|^2=\\sum x_i=1∥a∥2=∑xi​=1, ∥b∥2=∑1xi\\|b\\|^2=\\sum\\frac1{x_i}∥b∥2=∑xi​1​. n≤1⋅∑1xi ⇒ ∑1xi≥n2.n\\le1\\cdot\\sqrt{\\textstyle\\sum\\frac1{x_i}}\\ \\Rightarrow\\ \\sum\\frac1{x_i}\\ge n^2.n≤1⋅∑xi​1​​ ⇒ ∑xi​1​≥n2.등호: 두 경우 모두 a∥ba\\parallel ba∥b일 때, 즉 모든 xi=1nx_i=\\frac1nxi​=n1​일 때 성립한다.\n3.10 30° 회전 문제: x1=(2,3)x_1=(2,3)x1​=(2,3), x2=(0,−1)x_2=(0,-1)x2​=(0,−1)을 30∘30^\\circ30∘ 회전.\n풀이: 반시계 방향 회전 행렬 R(θ)=[cos⁡θ−sin⁡θsin⁡θcos⁡θ]R(\\theta)=\\begin{bmatrix}\\cos\\theta\u0026amp;-\\sin\\theta\\\\\\sin\\theta\u0026amp;\\cos\\theta\\end{bmatrix}R(θ)=[cosθsinθ​−sinθcosθ​], θ=30∘\\theta=30^\\circθ=30∘: R=[32−121232]R=\\begin{bmatrix}\\frac{\\sqrt3}2\u0026amp;-\\frac12\\\\\\frac12\u0026amp;\\frac{\\sqrt3}2\\end{bmatrix}R=[23​​21​​−21​23​​​].\nRx1=(3−32, 1+332)≈(0.232, 3.598)Rx_1=\\left(\\sqrt3-\\tfrac32,\\ 1+\\tfrac{3\\sqrt3}2\\right)\\approx(0.232,\\ 3.598)Rx1​=(3​−23​, 1+233​​)≈(0.232, 3.598) Rx2=(12, −32)≈(0.5, −0.866)Rx_2=\\left(\\tfrac12,\\ -\\tfrac{\\sqrt3}2\\right)\\approx(0.5,\\ -0.866)Rx2​=(21​, −23​​)≈(0.5, −0.866) 답: 위 두 벡터. (시계 방향으로 해석했다면 R(−30∘)R(-30^\\circ)R(−30∘)를 써서 x1→(3+32, −1+332)x_1\\to(\\sqrt3+\\tfrac32,\\ -1+\\tfrac{3\\sqrt3}2)x1​→(3​+23​, −1+233​​), x2→(−12,−32)x_2\\to(-\\tfrac12,-\\tfrac{\\sqrt3}2)x2​→(−21​,−23​​). 교재 3.9절의 회전은 반시계 방향이다.)\n확인: 회전은 길이를 보존한다. ∥x1∥2=13\\|x_1\\|^2=13∥x1​∥2=13, 0.2322+3.5982≈13.00.232^2+3.598^2\\approx13.00.2322+3.5982≈13.0.\n4장 행렬분해 4.1 라플라스 전개와 사뤼스 규칙 문제: A=[135246024]A=\\begin{bmatrix}1\u0026amp;3\u0026amp;5\\\\2\u0026amp;4\u0026amp;6\\\\0\u0026amp;2\u0026amp;4\\end{bmatrix}A=​120​342​564​​의 행렬식.\n풀이 (라플라스, 1행 전개, 정리 4.2): det⁡A=1⋅∣4624∣−3⋅∣2604∣+5⋅∣2402∣=1(16−12)−3(8−0)+5(4−0)=4−24+20=0.\\begin{aligned} \u0026amp;\\det A \\\\ \u0026amp;\\quad =1\\cdot\\begin{vmatrix}4\u0026amp;6\\\\2\u0026amp;4\\end{vmatrix}-3\\cdot\\begin{vmatrix}2\u0026amp;6\\\\0\u0026amp;4\\end{vmatrix}+5\\cdot\\begin{vmatrix}2\u0026amp;4\\\\0\u0026amp;2\\end{vmatrix} \\\\ \u0026amp;\\quad =1(16-12)-3(8-0)+5(4-0) \\\\ \u0026amp;\\quad =4-24+20 =0. \\end{aligned}​detA=1⋅​42​64​​−3⋅​20​64​​+5⋅​20​42​​=1(16−12)−3(8−0)+5(4−0)=4−24+20=0.​풀이 (사뤼스): 오른쪽 아래 대각선 곱의 합 − 왼쪽 아래 대각선 곱의 합. (1⋅4⋅4+3⋅6⋅0+5⋅2⋅2)−(0⋅4⋅5+2⋅6⋅1+4⋅2⋅3)=(16+0+20)−(0+12+24)=0.\\begin{aligned} \u0026amp;(1\\cdot4\\cdot4+3\\cdot6\\cdot0+5\\cdot2\\cdot2) \\\\ \u0026amp;\\quad -(0\\cdot4\\cdot5+2\\cdot6\\cdot1+4\\cdot2\\cdot3) \\\\ \u0026amp;\\quad =(16+0+20)-(0+12+24) \\\\ \u0026amp;\\quad =0. \\end{aligned}​(1⋅4⋅4+3⋅6⋅0+5⋅2⋅2)−(0⋅4⋅5+2⋅6⋅1+4⋅2⋅3)=(16+0+20)−(0+12+24)=0.​답: det⁡A=0\\det A=0detA=0. (이유: 1열 − 2×2열 + 3열 =(1−6+5, 2−8+6, 0−4+4)=0=(1-6+5,\\ 2-8+6,\\ 0-4+4)=0=(1−6+5, 2−8+6, 0−4+4)=0이라 열이 일차종속.)\n4.2 5×5 행렬식을 효율적으로 문제: [201202−101101212−202−1220011]\\begin{bmatrix}2\u0026amp;0\u0026amp;1\u0026amp;2\u0026amp;0\\\\2\u0026amp;-1\u0026amp;0\u0026amp;1\u0026amp;1\\\\0\u0026amp;1\u0026amp;2\u0026amp;1\u0026amp;2\\\\-2\u0026amp;0\u0026amp;2\u0026amp;-1\u0026amp;2\\\\2\u0026amp;0\u0026amp;0\u0026amp;1\u0026amp;1\\end{bmatrix}​220−22​0−1100​10220​211−11​01221​​.\n풀이: 0이 많은 열을 만들어 전개한다. 2열은 (0,−1,1,0,0)(0,-1,1,0,0)(0,−1,1,0,0)이라 거의 비어 있다.\nR3←R3+R2R_3\\leftarrow R_3+R_2R3​←R3​+R2​ (행렬식 불변): 3행이 (2,0,2,2,3)(2,0,2,2,3)(2,0,2,2,3)이 되어 2열에는 (2,2)(2,2)(2,2) 원소 −1-1−1만 남는다. 2열로 전개: 부호 (−1)2+2=+1(-1)^{2+2}=+1(−1)2+2=+1. det⁡=(−1)⋅det⁡[21202223−22−122011]\\det=(-1)\\cdot\\det\\begin{bmatrix}2\u0026amp;1\u0026amp;2\u0026amp;0\\\\2\u0026amp;2\u0026amp;2\u0026amp;3\\\\-2\u0026amp;2\u0026amp;-1\u0026amp;2\\\\2\u0026amp;0\u0026amp;1\u0026amp;1\\end{bmatrix}det=(−1)⋅det​22−22​1220​22−11​0321​​ 4×4에서 1열을 정리: R2−R1=(0,1,0,3)R_2-R_1=(0,1,0,3)R2​−R1​=(0,1,0,3), R3+R1=(0,3,1,2)R_3+R_1=(0,3,1,2)R3​+R1​=(0,3,1,2), R4−R1=(0,−1,−1,1)R_4-R_1=(0,-1,-1,1)R4​−R1​=(0,−1,−1,1). 1열로 전개. =(−1)⋅2⋅det⁡[103312−1−11]=(−2)[1(1+2)−0+3(−3+1)]=(−2)(3−6)=6.=(-1)\\cdot2\\cdot\\det\\begin{bmatrix}1\u0026amp;0\u0026amp;3\\\\3\u0026amp;1\u0026amp;2\\\\-1\u0026amp;-1\u0026amp;1\\end{bmatrix}=(-2)\\big[1(1+2)-0+3(-3+1)\\big]=(-2)(3-6)=6.=(−1)⋅2⋅det​13−1​01−1​321​​=(−2)[1(1+2)−0+3(−3+1)]=(−2)(3−6)=6. 답: 6.\n4.3 고유공간 (a) A=[1011]A=\\begin{bmatrix}1\u0026amp;0\\\\1\u0026amp;1\\end{bmatrix}A=[11​01​].\n풀이: 삼각행렬이라 p(λ)=(1−λ)2p(\\lambda)=(1-\\lambda)^2p(λ)=(1−λ)2, 고유값 λ=1\\lambda=1λ=1 (대수적 중복도 2). A−I=[0010]A-I=\\begin{bmatrix}0\u0026amp;0\\\\1\u0026amp;0\\end{bmatrix}A−I=[01​00​] → x1=0x_1=0x1​=0.\n답: E1=span[(0,1)⊤]E_1=\\text{span}[(0,1)^\\top]E1​=span[(0,1)⊤] (기하적 중복도 1 \u0026lt; 2라 대각화 불가. 전단(shear) 사상이다).\n(b) B=[−2221]B=\\begin{bmatrix}-2\u0026amp;2\\\\2\u0026amp;1\\end{bmatrix}B=[−22​21​].\n풀이: p(λ)=(−2−λ)(1−λ)−4=λ2+λ−6=(λ+3)(λ−2)p(\\lambda)=(-2-\\lambda)(1-\\lambda)-4=\\lambda^2+\\lambda-6=(\\lambda+3)(\\lambda-2)p(λ)=(−2−λ)(1−λ)−4=λ2+λ−6=(λ+3)(λ−2).\nλ=2\\lambda=2λ=2: B−2I=[−422−1]B-2I=\\begin{bmatrix}-4\u0026amp;2\\\\2\u0026amp;-1\\end{bmatrix}B−2I=[−42​2−1​] → x2=2x1x_2=2x_1x2​=2x1​ → E2=span[(1,2)⊤]E_2=\\text{span}[(1,2)^\\top]E2​=span[(1,2)⊤] λ=−3\\lambda=-3λ=−3: B+3I=[1224]B+3I=\\begin{bmatrix}1\u0026amp;2\\\\2\u0026amp;4\\end{bmatrix}B+3I=[12​24​] → x1=−2x2x_1=-2x_2x1​=−2x2​ → E−3=span[(2,−1)⊤]E_{-3}=\\text{span}[(2,-1)^\\top]E−3​=span[(2,−1)⊤] 답: 위와 같다. 확인: BBB가 대칭이라 두 고유벡터가 직교한다((1,2)⋅(2,−1)=0(1,2)\\cdot(2,-1)=0(1,2)⋅(2,−1)=0). 대각합 −1=2+(−3)-1=2+(-3)−1=2+(−3), 행렬식 −6=2⋅(−3)-6=2\\cdot(-3)−6=2⋅(−3).\n4.4 4×4 고유공간 문제: A=[0−111−11−232−1001−110]A=\\begin{bmatrix}0\u0026amp;-1\u0026amp;1\u0026amp;1\\\\-1\u0026amp;1\u0026amp;-2\u0026amp;3\\\\2\u0026amp;-1\u0026amp;0\u0026amp;0\\\\1\u0026amp;-1\u0026amp;1\u0026amp;0\\end{bmatrix}A=​0−121​−11−1−1​1−201​1300​​.\n풀이:\n특성다항식: 전개하면 p(λ)=λ4−λ3−3λ2+λ+2p(\\lambda)=\\lambda^4-\\lambda^3-3\\lambda^2+\\lambda+2p(λ)=λ4−λ3−3λ2+λ+2. 정수근 후보 ±1,±2\\pm1,\\pm2±1,±2를 넣어 보면 p(1)=1−1−3+1+2=0p(1)=1-1-3+1+2=0p(1)=1−1−3+1+2=0, p(−1)=1+1−3−1+2=0p(-1)=1+1-3-1+2=0p(−1)=1+1−3−1+2=0, p(2)=16−8−12+2+2=0p(2)=16-8-12+2+2=0p(2)=16−8−12+2+2=0. 인수분해하면 p(λ)=(λ−2)(λ−1)(λ+1)2.p(\\lambda)=(\\lambda-2)(\\lambda-1)(\\lambda+1)^2.p(λ)=(λ−2)(λ−1)(λ+1)2. 빠른 점검: 고유값 합 2+1−1−1=1=trA=0+1+0+02+1-1-1=1=\\text{tr}A=0+1+0+02+1−1−1=1=trA=0+1+0+0 (정리 4.17), 고유값 곱 2⋅1⋅(−1)2=2=det⁡A2\\cdot1\\cdot(-1)^2=2=\\det A2⋅1⋅(−1)2=2=detA (정리 4.16, sympy로 det⁡A=2\\det A=2detA=2 확인). 각 고유공간 ((A−λI)x=0(A-\\lambda I)x=0(A−λI)x=0을 소거해서 푼다): λ=2\\lambda=2λ=2: E2=span[(1,0,1,1)⊤]E_2=\\text{span}[(1,0,1,1)^\\top]E2​=span[(1,0,1,1)⊤]. 확인 A(1,0,1,1)=(2,0,2,2)A(1,0,1,1)=(2,0,2,2)A(1,0,1,1)=(2,0,2,2). λ=1\\lambda=1λ=1: E1=span[(1,1,1,1)⊤]E_1=\\text{span}[(1,1,1,1)^\\top]E1​=span[(1,1,1,1)⊤]. 확인 A(1,1,1,1)=(1,1,1,1)A(1,1,1,1)=(1,1,1,1)A(1,1,1,1)=(1,1,1,1) (각 행의 합이 1). λ=−1\\lambda=-1λ=−1: A+I=[1−111−12−232−1101−111]A+I=\\begin{bmatrix}1\u0026amp;-1\u0026amp;1\u0026amp;1\\\\-1\u0026amp;2\u0026amp;-2\u0026amp;3\\\\2\u0026amp;-1\u0026amp;1\u0026amp;0\\\\1\u0026amp;-1\u0026amp;1\u0026amp;1\\end{bmatrix}A+I=​1−121​−12−1−1​1−211​1301​​, 랭크 3이라 1차원. E−1=span[(0,1,1,0)⊤]E_{-1}=\\text{span}[(0,1,1,0)^\\top]E−1​=span[(0,1,1,0)⊤]. 확인 A(0,1,1,0)=(0,−1,−1,0)A(0,1,1,0)=(0,-1,-1,0)A(0,1,1,0)=(0,−1,−1,0). 답: 위 세 고유공간. λ=−1\\lambda=-1λ=−1은 대수적 중복도 2, 기하적 중복도 1이라 AAA는 대각화되지 않는다(결손 행렬, 정의 4.13).\n4.5 대각화 가능성과 가역성은 무관하다 행렬 고유값 고유공간 대각화 det⁡\\detdet 가역 [1001]\\begin{bmatrix}1\u0026amp;0\\\\0\u0026amp;1\\end{bmatrix}[10​01​] 1, 1 R2\\mathbb R^2R2 전체 가능(이미 대각) 1 가역 [1000]\\begin{bmatrix}1\u0026amp;0\\\\0\u0026amp;0\\end{bmatrix}[10​00​] 1, 0 span[e1]\\text{span}[e_1]span[e1​], span[e2]\\text{span}[e_2]span[e2​] 가능(이미 대각) 0 불가 [1101]\\begin{bmatrix}1\u0026amp;1\\\\0\u0026amp;1\\end{bmatrix}[10​11​] 1, 1 span[e1]\\text{span}[e_1]span[e1​] (1차원) 불가 1 가역 [0100]\\begin{bmatrix}0\u0026amp;1\\\\0\u0026amp;0\\end{bmatrix}[00​10​] 0, 0 span[e1]\\text{span}[e_1]span[e1​] (1차원) 불가 0 불가 풀이 요점: 대각화 여부는 \u0026ldquo;고유벡터만으로 기저를 만들 수 있는가\u0026rdquo;(정리 4.20), 가역 여부는 \u0026ldquo;고유값 0이 있는가\u0026rdquo;(det⁡=\\det=det= 고유값의 곱)로 정해진다. 네 조합이 모두 나오므로 두 성질은 서로 관계가 없다.\n4.6 고유공간과 대각화 (a) A=[230143001]A=\\begin{bmatrix}2\u0026amp;3\u0026amp;0\\\\1\u0026amp;4\u0026amp;3\\\\0\u0026amp;0\u0026amp;1\\end{bmatrix}A=​210​340​031​​.\n풀이: 3행으로 전개하면 p(λ)=(1−λ)[(2−λ)(4−λ)−3]=(1−λ)(λ2−6λ+5)=−(λ−1)2(λ−5).\\begin{aligned} p(\\lambda) \u0026amp;=(1-\\lambda)\\big[(2-\\lambda)(4-\\lambda)-3\\big] \\\\ \u0026amp;=(1-\\lambda)(\\lambda^2-6\\lambda+5) \\\\ \u0026amp;=-(\\lambda-1)^2(\\lambda-5). \\end{aligned}p(λ)​=(1−λ)[(2−λ)(4−λ)−3]=(1−λ)(λ2−6λ+5)=−(λ−1)2(λ−5).​ λ=5\\lambda=5λ=5: A−5I=[−3301−1300−4]A-5I=\\begin{bmatrix}-3\u0026amp;3\u0026amp;0\\\\1\u0026amp;-1\u0026amp;3\\\\0\u0026amp;0\u0026amp;-4\\end{bmatrix}A−5I=​−310​3−10​03−4​​ → x3=0x_3=0x3​=0, x1=x2x_1=x_2x1​=x2​ → E5=span[(1,1,0)⊤]E_5=\\text{span}[(1,1,0)^\\top]E5​=span[(1,1,0)⊤] λ=1\\lambda=1λ=1: A−I=[130133000]→R2−R1[130003000]A-I=\\begin{bmatrix}1\u0026amp;3\u0026amp;0\\\\1\u0026amp;3\u0026amp;3\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix}\\xrightarrow{R_2-R_1}\\begin{bmatrix}1\u0026amp;3\u0026amp;0\\\\0\u0026amp;0\u0026amp;3\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix}A−I=​110​330​030​​R2​−R1​​​100​300​030​​ → x3=0x_3=0x3​=0, x1=−3x2x_1=-3x_2x1​=−3x2​ → E1=span[(−3,1,0)⊤]E_1=\\text{span}[(-3,1,0)^\\top]E1​=span[(−3,1,0)⊤] 답: λ=1\\lambda=1λ=1의 대수적 중복도 2, 기하적 중복도 1. 고유벡터가 2개뿐이라 R3\\mathbb R^3R3의 기저를 못 만든다. 대각화 불가.\n(b) A=[1100000000000000]A=\\begin{bmatrix}1\u0026amp;1\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\\end{bmatrix}A=​1000​1000​0000​0000​​.\n풀이: 위삼각이라 고유값은 대각 원소 1,0,0,01,0,0,01,0,0,0.\nλ=1\\lambda=1λ=1: A−IA-IA−I에서 x2=0x_2=0x2​=0, −x3=0-x_3=0−x3​=0, −x4=0-x_4=0−x4​=0 → E1=span[e1]E_1=\\text{span}[e_1]E1​=span[e1​] λ=0\\lambda=0λ=0: Ax=0Ax=0Ax=0 ⇔ x1+x2=0x_1+x_2=0x1​+x2​=0 → E0=span[(1,−1,0,0)⊤, e3, e4]E_0=\\text{span}[(1,-1,0,0)^\\top,\\ e_3,\\ e_4]E0​=span[(1,−1,0,0)⊤, e3​, e4​] (3차원, 랭크 1이라 핵이 3차원) 답: 기하적 중복도 = 대수적 중복도(1과 3)라 고유벡터 4개가 기저를 이룬다. 대각화 가능, D=diag(1,0,0,0)D=\\text{diag}(1,0,0,0)D=diag(1,0,0,0).\n4.7 대각화 판정과 대각형 (a) A=[01−84]A=\\begin{bmatrix}0\u0026amp;1\\\\-8\u0026amp;4\\end{bmatrix}A=[0−8​14​].\np(λ)=λ2−4λ+8p(\\lambda)=\\lambda^2-4\\lambda+8p(λ)=λ2−4λ+8, 판별식 16−32=−16\u0026lt;016-32=-16\u0026lt;016−32=−16\u0026lt;0 → 고유값 2±2i2\\pm2i2±2i.\n답: 실수 고유값이 없어 R\\mathbb RR에서는 대각화 불가. (복소수까지 허용하면 서로 다른 두 고유값이라 대각화된다.)\n(b) A=[111111111]A=\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\1\u0026amp;1\u0026amp;1\\\\1\u0026amp;1\u0026amp;1\\end{bmatrix}A=​111​111​111​​.\n풀이: 랭크 1이라 λ=0\\lambda=0λ=0의 고유공간(핵)이 2차원: x1+x2+x3=0x_1+x_2+x_3=0x1​+x2​+x3​=0 → span[(1,−1,0),(1,0,−1)]\\text{span}[(1,-1,0),(1,0,-1)]span[(1,−1,0),(1,0,−1)]. 남은 고유값은 대각합 333: A(1,1,1)=(3,3,3)A(1,1,1)=(3,3,3)A(1,1,1)=(3,3,3).\n답: 대각화 가능(대칭행렬이라 스펙트럼 정리 4.15로도 보장). D=[300000000],P=[1111−1010−1],A=PDP−1.\\begin{gathered} D=\\begin{bmatrix}3\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;0\\end{bmatrix}, \\\\ P=\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\1\u0026amp;-1\u0026amp;0\\\\1\u0026amp;0\u0026amp;-1\\end{bmatrix},\\quad A=PDP^{-1}. \\end{gathered}D=​300​000​000​​,P=​111​1−10​10−1​​,A=PDP−1.​ (정규직교 기저를 원하면 13(1,1,1)\\tfrac1{\\sqrt3}(1,1,1)3​1​(1,1,1), 12(1,−1,0)\\tfrac1{\\sqrt2}(1,-1,0)2​1​(1,−1,0), 16(1,1,−2)\\tfrac1{\\sqrt6}(1,1,-2)6​1​(1,1,−2).)\n(c) A=[542101−1−1−1−13011−12]A=\\begin{bmatrix}5\u0026amp;4\u0026amp;2\u0026amp;1\\\\0\u0026amp;1\u0026amp;-1\u0026amp;-1\\\\-1\u0026amp;-1\u0026amp;3\u0026amp;0\\\\1\u0026amp;1\u0026amp;-1\u0026amp;2\\end{bmatrix}A=​50−11​41−11​2−13−1​1−102​​.\n풀이: p(λ)=(λ−1)(λ−2)(λ−4)2p(\\lambda)=(\\lambda-1)(\\lambda-2)(\\lambda-4)^2p(λ)=(λ−1)(λ−2)(λ−4)2 (점검: 합 1+2+4+4=11=trA1+2+4+4=11=\\text{tr}A1+2+4+4=11=trA, 곱 32=det⁡A32=\\det A32=detA).\nλ=1\\lambda=1λ=1: E1=span[(−1,1,0,0)⊤]E_1=\\text{span}[(-1,1,0,0)^\\top]E1​=span[(−1,1,0,0)⊤] λ=2\\lambda=2λ=2: E2=span[(1,−1,0,1)⊤]E_2=\\text{span}[(1,-1,0,1)^\\top]E2​=span[(1,−1,0,1)⊤] λ=4\\lambda=4λ=4: A−4I=[14210−3−1−1−1−1−1011−1−2]A-4I=\\begin{bmatrix}1\u0026amp;4\u0026amp;2\u0026amp;1\\\\0\u0026amp;-3\u0026amp;-1\u0026amp;-1\\\\-1\u0026amp;-1\u0026amp;-1\u0026amp;0\\\\1\u0026amp;1\u0026amp;-1\u0026amp;-2\\end{bmatrix}A−4I=​10−11​4−3−11​2−1−1−1​1−10−2​​의 랭크가 3 → E4=span[(1,0,−1,1)⊤]E_4=\\text{span}[(1,0,-1,1)^\\top]E4​=span[(1,0,−1,1)⊤] (1차원). 확인 A(1,0,−1,1)=(4,0,−4,4)A(1,0,-1,1)=(4,0,-4,4)A(1,0,−1,1)=(4,0,−4,4). 답: λ=4\\lambda=4λ=4의 대수적 중복도 2, 기하적 중복도 1. 고유벡터가 3개뿐이라 대각화 불가.\n(d) A=[5−6−6−1423−6−4]A=\\begin{bmatrix}5\u0026amp;-6\u0026amp;-6\\\\-1\u0026amp;4\u0026amp;2\\\\3\u0026amp;-6\u0026amp;-4\\end{bmatrix}A=​5−13​−64−6​−62−4​​.\n풀이: p(λ)=−(λ−1)(λ−2)2p(\\lambda)=-(\\lambda-1)(\\lambda-2)^2p(λ)=−(λ−1)(λ−2)2 (점검: 1+2+2=5=trA1+2+2=5=\\text{tr}A1+2+2=5=trA, 1⋅2⋅2=4=det⁡A1\\cdot2\\cdot2=4=\\det A1⋅2⋅2=4=detA).\nλ=2\\lambda=2λ=2: A−2I=[3−6−6−1223−6−6]A-2I=\\begin{bmatrix}3\u0026amp;-6\u0026amp;-6\\\\-1\u0026amp;2\u0026amp;2\\\\3\u0026amp;-6\u0026amp;-6\\end{bmatrix}A−2I=​3−13​−62−6​−62−6​​. 모든 행이 (1,−2,−2)(1,-2,-2)(1,−2,−2)의 배수라 랭크 1, 식은 x1=2x2+2x3x_1=2x_2+2x_3x1​=2x2​+2x3​. E2=span[(2,1,0)⊤,(2,0,1)⊤]E_2=\\text{span}[(2,1,0)^\\top,(2,0,1)^\\top]E2​=span[(2,1,0)⊤,(2,0,1)⊤] (2차원). λ=1\\lambda=1λ=1: A−I=[4−6−6−1323−6−5]A-I=\\begin{bmatrix}4\u0026amp;-6\u0026amp;-6\\\\-1\u0026amp;3\u0026amp;2\\\\3\u0026amp;-6\u0026amp;-5\\end{bmatrix}A−I=​4−13​−63−6​−62−5​​ → E1=span[(3,−1,3)⊤]E_1=\\text{span}[(3,-1,3)^\\top]E1​=span[(3,−1,3)⊤]. 확인 A(3,−1,3)=(15+6−18, −3−4+6, 9+6−12)=(3,−1,3)A(3,-1,3)=(15+6-18,\\ -3-4+6,\\ 9+6-12)=(3,-1,3)A(3,−1,3)=(15+6−18, −3−4+6, 9+6−12)=(3,−1,3). 답: 중복도가 모두 맞아(1=1, 2=2) 대각화 가능. D=[100020002],P=[322−110301] (det⁡P=−1≠0),A=PDP−1.\\begin{gathered} D=\\begin{bmatrix}1\u0026amp;0\u0026amp;0\\\\0\u0026amp;2\u0026amp;0\\\\0\u0026amp;0\u0026amp;2\\end{bmatrix}, \\\\ P=\\begin{bmatrix}3\u0026amp;2\u0026amp;2\\\\-1\u0026amp;1\u0026amp;0\\\\3\u0026amp;0\u0026amp;1\\end{bmatrix}\\ (\\det P=-1\\ne0), \\\\ A=PDP^{-1}. \\end{gathered}D=​100​020​002​​,P=​3−13​210​201​​ (detP=−1=0),A=PDP−1.​ 이 고유벡터 기저 ((3,−1,3),(2,1,0),(2,0,1))\\big((3,-1,3),(2,1,0),(2,0,1)\\big)((3,−1,3),(2,1,0),(2,0,1))에서 변환행렬이 대각이 된다.\n4.8 SVD 구하기 문제: A=[32223−2]A=\\begin{bmatrix}3\u0026amp;2\u0026amp;2\\\\2\u0026amp;3\u0026amp;-2\\end{bmatrix}A=[32​23​2−2​].\n풀이: 작은 쪽인 AA⊤AA^\\topAA⊤(2×22\\times22×2)부터 고유분해한다.\nAA⊤=[178817]AA^\\top=\\begin{bmatrix}17\u0026amp;8\\\\8\u0026amp;17\\end{bmatrix}AA⊤=[178​817​]. 고유값 17±817\\pm817±8 → 25,925,925,9. 따라서 σ1=5\\sigma_1=5σ1​=5, σ2=3\\sigma_2=3σ2​=3. 왼쪽 특이벡터: λ=25\\lambda=25λ=25 → u1=12(1,1)u_1=\\tfrac1{\\sqrt2}(1,1)u1​=2​1​(1,1), λ=9\\lambda=9λ=9 → u2=12(1,−1)u_2=\\tfrac1{\\sqrt2}(1,-1)u2​=2​1​(1,−1). 오른쪽 특이벡터는 vi=1σiA⊤uiv_i=\\dfrac{1}{\\sigma_i}A^\\top u_ivi​=σi​1​A⊤ui​ (부호가 저절로 맞는다). A⊤u1=12(5,5,0)A^\\top u_1=\\tfrac1{\\sqrt2}(5,5,0)A⊤u1​=2​1​(5,5,0) → v1=12(1,1,0)v_1=\\tfrac1{\\sqrt2}(1,1,0)v1​=2​1​(1,1,0) A⊤u2=12(1,−1,4)A^\\top u_2=\\tfrac1{\\sqrt2}(1,-1,4)A⊤u2​=2​1​(1,−1,4) → v2=132(1,−1,4)v_2=\\tfrac1{3\\sqrt2}(1,-1,4)v2​=32​1​(1,−1,4) v3v_3v3​: v1,v2v_1,v_2v1​,v2​에 직교하는 단위벡터(= AAA의 핵). v3=13(2,−2,−1)v_3=\\tfrac13(2,-2,-1)v3​=31​(2,−2,−1). 확인 Av3=13(6−4−2, 4−6+2)=0A v_3=\\tfrac13(6-4-2,\\ 4-6+2)=0Av3​=31​(6−4−2, 4−6+2)=0. 답: A=UΣV⊤,U=12[111−1],Σ=[500030],V=[121322312−132−230432−13].\\begin{gathered} A=U\\Sigma V^\\top,\\quad U=\\frac1{\\sqrt2}\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}, \\\\ \\Sigma=\\begin{bmatrix}5\u0026amp;0\u0026amp;0\\\\0\u0026amp;3\u0026amp;0\\end{bmatrix}, \\\\ V=\\begin{bmatrix}\\frac1{\\sqrt2}\u0026amp;\\frac1{3\\sqrt2}\u0026amp;\\frac23\\\\\\frac1{\\sqrt2}\u0026amp;-\\frac1{3\\sqrt2}\u0026amp;-\\frac23\\\\0\u0026amp;\\frac4{3\\sqrt2}\u0026amp;-\\frac13\\end{bmatrix}. \\end{gathered}A=UΣV⊤,U=2​1​[11​1−1​],Σ=[50​03​00​],V=​2​1​2​1​0​32​1​−32​1​32​4​​32​−32​−31​​​.​확인: 5u1v1⊤+3u2v2⊤=52[110110]+12[1−14−11−4]=[32223−2]5u_1v_1^\\top+3u_2v_2^\\top=\\tfrac52\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\1\u0026amp;1\u0026amp;0\\end{bmatrix}+\\tfrac12\\begin{bmatrix}1\u0026amp;-1\u0026amp;4\\\\-1\u0026amp;1\u0026amp;-4\\end{bmatrix}=\\begin{bmatrix}3\u0026amp;2\u0026amp;2\\\\2\u0026amp;3\u0026amp;-2\\end{bmatrix}5u1​v1⊤​+3u2​v2⊤​=25​[11​11​00​]+21​[1−1​−11​4−4​]=[32​23​2−2​]. (특이벡터 부호는 ui,viu_i,v_iui​,vi​를 함께 뒤집는 한 자유다.)\n4.9 SVD 구하기 (정사각) 문제: A=[22−11]A=\\begin{bmatrix}2\u0026amp;2\\\\-1\u0026amp;1\\end{bmatrix}A=[2−1​21​].\n풀이:\nA⊤A=[5335]A^\\top A=\\begin{bmatrix}5\u0026amp;3\\\\3\u0026amp;5\\end{bmatrix}A⊤A=[53​35​], 고유값 8,28,28,2 → σ1=22\\sigma_1=2\\sqrt2σ1​=22​, σ2=2\\sigma_2=\\sqrt2σ2​=2​. v1=12(1,1)v_1=\\tfrac1{\\sqrt2}(1,1)v1​=2​1​(1,1), v2=12(−1,1)v_2=\\tfrac1{\\sqrt2}(-1,1)v2​=2​1​(−1,1). ui=1σiAviu_i=\\dfrac1{\\sigma_i}Av_iui​=σi​1​Avi​: Av1=12(4,0)Av_1=\\tfrac1{\\sqrt2}(4,0)Av1​=2​1​(4,0) → u1=(1,0)u_1=(1,0)u1​=(1,0); Av2=12(0,2)Av_2=\\tfrac1{\\sqrt2}(0,2)Av2​=2​1​(0,2) → u2=(0,1)u_2=(0,1)u2​=(0,1). 답: A=[1001]⏟U[22002]⏟Σ12[11−11]⏟V⊤.A=\\underbrace{\\begin{bmatrix}1\u0026amp;0\\\\0\u0026amp;1\\end{bmatrix}}_{U}\\underbrace{\\begin{bmatrix}2\\sqrt2\u0026amp;0\\\\0\u0026amp;\\sqrt2\\end{bmatrix}}_{\\Sigma}\\underbrace{\\frac1{\\sqrt2}\\begin{bmatrix}1\u0026amp;1\\\\-1\u0026amp;1\\end{bmatrix}}_{V^\\top}.A=U[10​01​]​​Σ[22​0​02​​]​​V⊤2​1​[1−1​11​]​​.확인: ΣV⊤=[22−11]\\Sigma V^\\top=\\begin{bmatrix}2\u0026amp;2\\\\-1\u0026amp;1\\end{bmatrix}ΣV⊤=[2−1​21​]. (AA⊤=diag(8,2)AA^\\top=\\text{diag}(8,2)AA⊤=diag(8,2)가 이미 대각이라 U=IU=IU=I가 된 것이다.)\n4.10 랭크 1 근사 문제: 4.8의 AAA를 랭크 1로 근사.\n풀이: 에카르트-영 정리(정리 4.25): 가장 큰 특이값 항만 남긴 A^(1)=σ1u1v1⊤\\hat A(1)=\\sigma_1u_1v_1^\\topA^(1)=σ1​u1​v1⊤​가 스펙트럼 노름으로 가장 가까운 랭크 1 행렬이다. A^(1)=5⋅12[11]⋅12[110]=52[110110].\\begin{aligned} \\hat A(1) \u0026amp;=5\\cdot\\frac1{\\sqrt2}\\begin{bmatrix}1\\\\1\\end{bmatrix}\\cdot\\frac1{\\sqrt2}\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\end{bmatrix} \\\\ \u0026amp;=\\frac52\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\1\u0026amp;1\u0026amp;0\\end{bmatrix}. \\end{aligned}A^(1)​=5⋅2​1​[11​]⋅2​1​[1​1​0​]=25​[11​11​00​].​답: A^(1)=[2.52.502.52.50]\\hat A(1)=\\begin{bmatrix}2.5\u0026amp;2.5\u0026amp;0\\\\2.5\u0026amp;2.5\u0026amp;0\\end{bmatrix}A^(1)=[2.52.5​2.52.5​00​], 오차 ∥A−A^(1)∥2=σ2=3\\|A-\\hat A(1)\\|_2=\\sigma_2=3∥A−A^(1)∥2​=σ2​=3.\n4.11 A⊤AA^\\top AA⊤A와 AA⊤AA^\\topAA⊤의 0 아닌 고유값 증명: λ≠0\\lambda\\ne0λ=0이 A⊤AA^\\top AA⊤A의 고유값이고 v≠0v\\ne0v=0이 고유벡터라 하자: A⊤Av=λvA^\\top Av=\\lambda vA⊤Av=λv.\nAv≠0Av\\ne0Av=0이다. (Av=0Av=0Av=0이면 λv=A⊤(Av)=0\\lambda v=A^\\top(Av)=0λv=A⊤(Av)=0인데 λ≠0\\lambda\\ne0λ=0, v≠0v\\ne0v=0이라 모순.) AA⊤(Av)=A(A⊤Av)=A(λv)=λ(Av)AA^\\top(Av)=A(A^\\top Av)=A(\\lambda v)=\\lambda(Av)AA⊤(Av)=A(A⊤Av)=A(λv)=λ(Av). 즉 AvAvAv는 AA⊤AA^\\topAA⊤의 고유값 λ\\lambdaλ에 대한 고유벡터다. AAA와 A⊤A^\\topA⊤의 역할을 바꾸면 반대 방향도 같다. 따라서 0 아닌 고유값의 집합이 같다. ∎\n보충: 중복도까지 같다. v↦Avv\\mapsto Avv↦Av가 A⊤AA^\\top AA⊤A의 λ\\lambdaλ-고유공간에서 AA⊤AA^\\topAA⊤의 λ\\lambdaλ-고유공간으로 가는 단사 선형사상이기 때문이다(Av=0Av=0Av=0이면 1번처럼 v=0v=0v=0). SVD로 보면 둘 다 σi2\\sigma_i^2σi2​이다. 0 고유값의 개수는 크기(nnn 대 mmm)가 달라 다를 수 있다.\n4.12 스펙트럼 노름 = σ1\\sigma_1σ1​ (정리 4.24) 증명: SVD A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤ (U,VU,VU,V 직교). 직교행렬은 길이를 보존한다(∥Uz∥=∥z∥\\|Uz\\|=\\|z\\|∥Uz∥=∥z∥).\n∥Ax∥2=∥UΣV⊤x∥2=∥ΣV⊤x∥2\\|Ax\\|_2=\\|U\\Sigma V^\\top x\\|_2=\\|\\Sigma V^\\top x\\|_2∥Ax∥2​=∥UΣV⊤x∥2​=∥ΣV⊤x∥2​. y:=V⊤xy:=V^\\top xy:=V⊤x로 두면 ∥y∥2=∥x∥2\\|y\\|_2=\\|x\\|_2∥y∥2​=∥x∥2​이고 x≠0x\\ne0x=0 ⇔ y≠0y\\ne0y=0. ∥Σy∥22=∑iσi2yi2≤σ12∑iyi2=σ12∥y∥22\\|\\Sigma y\\|_2^2=\\sum_i\\sigma_i^2y_i^2\\le\\sigma_1^2\\sum_iy_i^2=\\sigma_1^2\\|y\\|_2^2∥Σy∥22​=∑i​σi2​yi2​≤σ12​∑i​yi2​=σ12​∥y∥22​ (σ1\\sigma_1σ1​이 가장 크므로). 따라서 모든 x≠0x\\ne0x=0에서 ∥Ax∥2∥x∥2≤σ1\\dfrac{\\|Ax\\|_2}{\\|x\\|_2}\\le\\sigma_1∥x∥2​∥Ax∥2​​≤σ1​. 등호: x=v1x=v_1x=v1​이면 Av1=σ1u1Av_1=\\sigma_1u_1Av1​=σ1​u1​이라 ∥Av1∥∥v1∥=σ1\\dfrac{\\|Av_1\\|}{\\|v_1\\|}=\\sigma_1∥v1​∥∥Av1​∥​=σ1​. 결론: max⁡x≠0∥Ax∥2∥x∥2=σ1\\displaystyle\\max_{x\\ne0}\\frac{\\|Ax\\|_2}{\\|x\\|_2}=\\sigma_1x=0max​∥x∥2​∥Ax∥2​​=σ1​. ∎ (4.8의 행렬이라면 (1,1,0)(1,1,0)(1,1,0) 방향을 5배로 늘이는 것이 최대.)\n5장 벡터 미적분 5.1 f(x)=log⁡(x4)sin⁡(x3)f(x)=\\log(x^4)\\sin(x^3)f(x)=log(x4)sin(x3) 풀이: 곱의 법칙 (uv)′=u′v+uv′(uv)\u0026#x27;=u\u0026#x27;v+uv\u0026#x27;(uv)′=u′v+uv′.\nu=log⁡(x4)u=\\log(x^4)u=log(x4): 연쇄법칙으로 u′=1x4⋅4x3=4xu\u0026#x27;=\\dfrac{1}{x^4}\\cdot4x^3=\\dfrac4xu′=x41​⋅4x3=x4​ v=sin⁡(x3)v=\\sin(x^3)v=sin(x3): v′=cos⁡(x3)⋅3x2v\u0026#x27;=\\cos(x^3)\\cdot3x^2v′=cos(x3)⋅3x2 답: f′(x)=4xsin⁡(x3)+3x2log⁡(x4)cos⁡(x3)(=4xsin⁡(x3)+12x2log⁡∣x∣cos⁡(x3)).\\begin{aligned} f\u0026#x27;(x) \u0026amp;=\\frac4x\\sin(x^3) \\\\ \u0026amp;\\quad +3x^2\\log(x^4)\\cos(x^3) \\\\ \u0026amp;\\Big(=\\frac4x\\sin(x^3) \\\\ \u0026amp;\\quad +12x^2\\log|x|\\cos(x^3)\\Big). \\end{aligned}f′(x)​=x4​sin(x3)+3x2log(x4)cos(x3)(=x4​sin(x3)+12x2log∣x∣cos(x3)).​ 5.2 로지스틱 시그모이드 풀이: f(x)=(1+e−x)−1f(x)=(1+e^{-x})^{-1}f(x)=(1+e−x)−1. 바깥 u−1u^{-1}u−1, 안쪽 u=1+e−xu=1+e^{-x}u=1+e−x. f′(x)=−(1+e−x)−2⋅(−e−x)=e−x(1+e−x)2.\\begin{aligned} f\u0026#x27;(x) \u0026amp;=-(1+e^{-x})^{-2}\\cdot(-e^{-x}) \\\\ \u0026amp;=\\frac{e^{-x}}{(1+e^{-x})^2}. \\end{aligned}f′(x)​=−(1+e−x)−2⋅(−e−x)=(1+e−x)2e−x​.​ 정리하면 11+e−x⋅e−x1+e−x=f(x)(1−f(x))\\dfrac{1}{1+e^{-x}}\\cdot\\dfrac{e^{-x}}{1+e^{-x}}=f(x)\\big(1-f(x)\\big)1+e−x1​⋅1+e−xe−x​=f(x)(1−f(x)) (1−f=e−x1+e−x1-f=\\frac{e^{-x}}{1+e^{-x}}1−f=1+e−xe−x​이므로).\n답: f′(x)=e−x(1+e−x)2=f(x)(1−f(x))f\u0026#x27;(x)=\\dfrac{e^{-x}}{(1+e^{-x})^2}=f(x)\\big(1-f(x)\\big)f′(x)=(1+e−x)2e−x​=f(x)(1−f(x)). (최댓값은 x=0x=0x=0에서 14\\tfrac1441​. 이 식은 로지스틱 회귀와 신경망 역전파에서 계속 쓰인다.)\n5.3 가우스 꼴 함수 풀이: f(x)=exp⁡(g(x))f(x)=\\exp(g(x))f(x)=exp(g(x)), g(x)=−(x−μ)22σ2g(x)=-\\dfrac{(x-\\mu)^2}{2\\sigma^2}g(x)=−2σ2(x−μ)2​, g′(x)=−2(x−μ)2σ2=−x−μσ2g\u0026#x27;(x)=-\\dfrac{2(x-\\mu)}{2\\sigma^2}=-\\dfrac{x-\\mu}{\\sigma^2}g′(x)=−2σ22(x−μ)​=−σ2x−μ​.\n답: f′(x)=−x−μσ2exp⁡ ⁣(−(x−μ)22σ2)f\u0026#x27;(x)=-\\dfrac{x-\\mu}{\\sigma^2}\\exp\\!\\Big(-\\dfrac{(x-\\mu)^2}{2\\sigma^2}\\Big)f′(x)=−σ2x−μ​exp(−2σ2(x−μ)2​). (x=μx=\\mux=μ에서 0이 되어 최댓값, x\u0026lt;μx\u0026lt;\\mux\u0026lt;μ에서 증가, x\u0026gt;μx\u0026gt;\\mux\u0026gt;μ에서 감소.)\n5.4 sin⁡x+cos⁡x\\sin x+\\cos xsinx+cosx의 테일러 다항식 풀이: 도함수가 4번 미분마다 되풀이된다.\nkkk f(k)(x)f^{(k)}(x)f(k)(x) f(k)(0)f^{(k)}(0)f(k)(0) 0 sin⁡x+cos⁡x\\sin x+\\cos xsinx+cosx 1 1 cos⁡x−sin⁡x\\cos x-\\sin xcosx−sinx 1 2 −sin⁡x−cos⁡x-\\sin x-\\cos x−sinx−cosx −1 3 −cos⁡x+sin⁡x-\\cos x+\\sin x−cosx+sinx −1 4 sin⁡x+cos⁡x\\sin x+\\cos xsinx+cosx 1 5 cos⁡x−sin⁡x\\cos x-\\sin xcosx−sinx 1 Tn(x)=∑k=0nf(k)(0)k!xkT_n(x)=\\sum_{k=0}^n\\dfrac{f^{(k)}(0)}{k!}x^kTn​(x)=∑k=0n​k!f(k)(0)​xk.\n답:\nT0=1T_0=1T0​=1 T1=1+xT_1=1+xT1​=1+x T2=1+x−x22T_2=1+x-\\dfrac{x^2}2T2​=1+x−2x2​ T3=1+x−x22−x36T_3=1+x-\\dfrac{x^2}2-\\dfrac{x^3}6T3​=1+x−2x2​−6x3​ T4=1+x−x22−x36+x424T_4=1+x-\\dfrac{x^2}2-\\dfrac{x^3}6+\\dfrac{x^4}{24}T4​=1+x−2x2​−6x3​+24x4​ T5=1+x−x22−x36+x424+x5120T_5=1+x-\\dfrac{x^2}2-\\dfrac{x^3}6+\\dfrac{x^4}{24}+\\dfrac{x^5}{120}T5​=1+x−2x2​−6x3​+24x4​+120x5​ (sin의 급수 x−x36+x5120x-\\frac{x^3}6+\\frac{x^5}{120}x−6x3​+120x5​과 cos의 급수 1−x22+x4241-\\frac{x^2}2+\\frac{x^4}{24}1−2x2​+24x4​를 더한 것과 같다.)\n5.5 편미분의 크기와 야코비안 문제: f1(x)=sin⁡x1cos⁡x2f_1(x)=\\sin x_1\\cos x_2f1​(x)=sinx1​cosx2​ (x∈R2x\\in\\mathbb R^2x∈R2), f2(x,y)=x⊤yf_2(x,y)=x^\\top yf2​(x,y)=x⊤y (x,y∈Rnx,y\\in\\mathbb R^nx,y∈Rn), f3(x)=xx⊤f_3(x)=xx^\\topf3​(x)=xx⊤ (x∈Rnx\\in\\mathbb R^nx∈Rn). (a) ∂fi/∂x\\partial f_i/\\partial x∂fi​/∂x의 크기 (b) 야코비안.\n크기 규칙: f:RN→RMf:\\mathbb R^N\\to\\mathbb R^Mf:RN→RM이면 dfdx\\dfrac{df}{dx}dxdf​는 M×NM\\times NM×N (출력 개수 × 입력 개수).\n풀이 (a):\nf1:R2→Rf_1:\\mathbb R^2\\to\\mathbb Rf1​:R2→R → 1×21\\times21×2 f2:R2n→Rf_2:\\mathbb R^{2n}\\to\\mathbb Rf2​:R2n→R (x,yx,yx,y를 함께 입력으로 보면) → 1×2n1\\times2n1×2n. 따로 보면 ∂f2/∂x\\partial f_2/\\partial x∂f2​/∂x, ∂f2/∂y\\partial f_2/\\partial y∂f2​/∂y가 각각 1×n1\\times n1×n f3:Rn→Rn×nf_3:\\mathbb R^n\\to\\mathbb R^{n\\times n}f3​:Rn→Rn×n → (n×n)×n(n\\times n)\\times n(n×n)×n 텐서 (출력이 행렬이라 3차원 배열) 풀이 (b):\nf1f_1f1​: ∂f1∂x=[cos⁡x1cos⁡x2−sin⁡x1sin⁡x2]\\dfrac{\\partial f_1}{\\partial x}=\\begin{bmatrix}\\cos x_1\\cos x_2\u0026amp;-\\sin x_1\\sin x_2\\end{bmatrix}∂x∂f1​​=[cosx1​cosx2​​−sinx1​sinx2​​] f2=∑ixiyif_2=\\sum_ix_iy_if2​=∑i​xi​yi​: ∂f2∂x=y⊤\\dfrac{\\partial f_2}{\\partial x}=y^\\top∂x∂f2​​=y⊤, ∂f2∂y=x⊤\\dfrac{\\partial f_2}{\\partial y}=x^\\top∂y∂f2​​=x⊤ (식 5.104, 5.105). 합치면 ∂f2∂(x,y)=[y⊤x⊤]∈R1×2n\\dfrac{\\partial f_2}{\\partial(x,y)}=\\begin{bmatrix}y^\\top\u0026amp;x^\\top\\end{bmatrix}\\in\\mathbb R^{1\\times2n}∂(x,y)∂f2​​=[y⊤​x⊤​]∈R1×2n f3f_3f3​: 성분 (xx⊤)ij=xixj(xx^\\top)_{ij}=x_ix_j(xx⊤)ij​=xi​xj​이므로 ∂(xx⊤)ij∂xk=δikxj+xiδjk.\\frac{\\partial(xx^\\top)_{ij}}{\\partial x_k}=\\delta_{ik}x_j+x_i\\delta_{jk}.∂xk​∂(xx⊤)ij​​=δik​xj​+xi​δjk​. kkk번째 \u0026ldquo;조각\u0026rdquo;(입력 xkx_kxk​에 대한 n×nn\\times nn×n 행렬)으로 쓰면 ∂f3∂xk=ekx⊤+xek⊤\\dfrac{\\partial f_3}{\\partial x_k}=e_kx^\\top+xe_k^\\top∂xk​∂f3​​=ek​x⊤+xek⊤​. 이 nnn개의 n×nn\\times nn×n 행렬을 쌓은 것이 (n×n)×n(n\\times n)\\times n(n×n)×n 야코비안이다. 예(n=2n=2n=2): ∂f3∂x1=[2x1x2x20]\\dfrac{\\partial f_3}{\\partial x_1}=\\begin{bmatrix}2x_1\u0026amp;x_2\\\\x_2\u0026amp;0\\end{bmatrix}∂x1​∂f3​​=[2x1​x2​​x2​0​], ∂f3∂x2=[0x1x12x2]\\dfrac{\\partial f_3}{\\partial x_2}=\\begin{bmatrix}0\u0026amp;x_1\\\\x_1\u0026amp;2x_2\\end{bmatrix}∂x2​∂f3​​=[0x1​​x1​2x2​​]. (교재 밖 보충) 출력을 벡터로 펴서 vec(xx⊤)∈Rn2\\text{vec}(xx^\\top)\\in\\mathbb R^{n^2}vec(xx⊤)∈Rn2로 보면 야코비안은 n2×nn^2\\times nn2×n 행렬 x⊗In+In⊗xx\\otimes I_n+I_n\\otimes xx⊗In​+In​⊗x. 5.6 벡터·행렬에 대한 미분 문제: f(t)=sin⁡(log⁡(t⊤t))f(t)=\\sin(\\log(t^\\top t))f(t)=sin(log(t⊤t))를 t∈RDt\\in\\mathbb R^Dt∈RD로, g(X)=tr(AXB)g(X)=\\text{tr}(AXB)g(X)=tr(AXB)를 X∈RE×FX\\in\\mathbb R^{E\\times F}X∈RE×F로 미분 (A∈RD×EA\\in\\mathbb R^{D\\times E}A∈RD×E, B∈RF×DB\\in\\mathbb R^{F\\times D}B∈RF×D).\n풀이 (fff): 연쇄법칙. z=t⊤tz=t^\\top tz=t⊤t (스칼라), w=log⁡zw=\\log zw=logz, f=sin⁡wf=\\sin wf=sinw.\ndfdw=cos⁡w\\dfrac{df}{dw}=\\cos wdwdf​=cosw, dwdz=1z\\dfrac{dw}{dz}=\\dfrac1zdzdw​=z1​, dzdt=2t⊤\\dfrac{dz}{dt}=2t^\\topdtdz​=2t⊤ (1×D1\\times D1×D) 답 (fff): dfdt=cos⁡(log⁡(t⊤t))⋅2t⊤t⊤t∈R1×D.\\frac{df}{dt}=\\cos\\big(\\log(t^\\top t)\\big)\\cdot\\frac{2t^\\top}{t^\\top t}\\in\\mathbb R^{1\\times D}.dtdf​=cos(log(t⊤t))⋅t⊤t2t⊤​∈R1×D.풀이 (ggg): 대각합을 성분으로 풀어 쓴다. g(X)=∑i=1D(AXB)ii=∑i∑e,fAieXefBfi.\\begin{aligned} g(X) \u0026amp;=\\sum_{i=1}^D(AXB)_{ii} \\\\ \u0026amp;=\\sum_{i}\\sum_{e,f}A_{ie}X_{ef}B_{fi}. \\end{aligned}g(X)​=i=1∑D​(AXB)ii​=i∑​e,f∑​Aie​Xef​Bfi​.​ XefX_{ef}Xef​로 미분하면 그 항의 계수만 남는다. ∂g∂Xef=∑iAieBfi=∑i(A⊤)ei(B⊤)if=(A⊤B⊤)ef.\\begin{aligned} \u0026amp;\\frac{\\partial g}{\\partial X_{ef}} =\\sum_iA_{ie}B_{fi} \\\\ \u0026amp;\\quad =\\sum_i(A^\\top)_{ei}(B^\\top)_{if} =(A^\\top B^\\top)_{ef}. \\end{aligned}​∂Xef​∂g​=i∑​Aie​Bfi​=i∑​(A⊤)ei​(B⊤)if​=(A⊤B⊤)ef​.​ (같은 결과를 식 5.106으로도 얻는다: tr(AXB)=∑iai⊤Xbi\\text{tr}(AXB)=\\sum_ia_i^\\top Xb_itr(AXB)=∑i​ai⊤​Xbi​, 여기서 ai⊤a_i^\\topai⊤​는 AAA의 iii행, bib_ibi​는 BBB의 iii열. 각 항의 미분이 aibi⊤a_ib_i^\\topai​bi⊤​이고 합하면 A⊤B⊤A^\\top B^\\topA⊤B⊤.)\n답 (ggg): ∂g∂X=A⊤B⊤∈RE×F\\dfrac{\\partial g}{\\partial X}=A^\\top B^\\top\\in\\mathbb R^{E\\times F}∂X∂g​=A⊤B⊤∈RE×F (XXX와 같은 크기). 수치 미분으로 확인했다.\n5.7 연쇄법칙과 각 편미분의 크기 (a) f(z)=log⁡(1+z)f(z)=\\log(1+z)f(z)=log(1+z), z=x⊤xz=x^\\top xz=x⊤x, x∈RDx\\in\\mathbb R^Dx∈RD.\n편미분 값 크기 ∂f∂z\\dfrac{\\partial f}{\\partial z}∂z∂f​ 11+z\\dfrac1{1+z}1+z1​ 1×11\\times11×1 ∂z∂x\\dfrac{\\partial z}{\\partial x}∂x∂z​ 2x⊤2x^\\top2x⊤ 1×D1\\times D1×D 답: dfdx=∂f∂z∂z∂x=2x⊤1+x⊤x∈R1×D\\dfrac{df}{dx}=\\dfrac{\\partial f}{\\partial z}\\dfrac{\\partial z}{\\partial x}=\\dfrac{2x^\\top}{1+x^\\top x}\\in\\mathbb R^{1\\times D}dxdf​=∂z∂f​∂x∂z​=1+x⊤x2x⊤​∈R1×D.\n(b) f(z)=sin⁡(z)f(z)=\\sin(z)f(z)=sin(z) (성분별), z=Ax+bz=Ax+bz=Ax+b, A∈RE×DA\\in\\mathbb R^{E\\times D}A∈RE×D, x∈RDx\\in\\mathbb R^Dx∈RD, b∈REb\\in\\mathbb R^Eb∈RE.\n편미분 값 크기 ∂f∂z\\dfrac{\\partial f}{\\partial z}∂z∂f​ diag(cos⁡z1,…,cos⁡zE)\\text{diag}(\\cos z_1,\\dots,\\cos z_E)diag(cosz1​,…,coszE​) E×EE\\times EE×E ∂z∂x\\dfrac{\\partial z}{\\partial x}∂x∂z​ AAA E×DE\\times DE×D fi=sin⁡zif_i=\\sin z_ifi​=sinzi​는 ziz_izi​에만 의존하므로 ∂fi/∂zj\\partial f_i/\\partial z_j∂fi​/∂zj​는 i=ji=ji=j일 때만 cos⁡zi\\cos z_icoszi​이고 나머지는 0이다. 그래서 대각행렬이 된다.\n답: dfdx=diag(cos⁡(Ax+b)) A∈RE×D\\dfrac{df}{dx}=\\text{diag}\\big(\\cos(Ax+b)\\big)\\,A\\in\\mathbb R^{E\\times D}dxdf​=diag(cos(Ax+b))A∈RE×D. 성분으로는 ∂fi∂xj=cos⁡(ai⊤x+bi)Aij\\dfrac{\\partial f_i}{\\partial x_j}=\\cos(a_i^\\top x+b_i)A_{ij}∂xj​∂fi​​=cos(ai⊤​x+bi​)Aij​.\n5.8 미분 (가우스 꼴, 대각합, tanh) (a) f(z)=exp⁡(−12z)f(z)=\\exp(-\\tfrac12z)f(z)=exp(−21​z), z=y⊤S−1yz=y^\\top S^{-1}yz=y⊤S−1y, y=x−μy=x-\\muy=x−μ (x,μ∈RDx,\\mu\\in\\mathbb R^Dx,μ∈RD, S∈RD×DS\\in\\mathbb R^{D\\times D}S∈RD×D).\n편미분 값 크기 ∂f∂z\\dfrac{\\partial f}{\\partial z}∂z∂f​ −12exp⁡(−12z)-\\tfrac12\\exp(-\\tfrac12z)−21​exp(−21​z) 1×11\\times11×1 ∂z∂y\\dfrac{\\partial z}{\\partial y}∂y∂z​ y⊤(S−1+S−⊤)y^\\top\\big(S^{-1}+S^{-\\top}\\big)y⊤(S−1+S−⊤) (식 5.107) 1×D1\\times D1×D ∂y∂x\\dfrac{\\partial y}{\\partial x}∂x∂y​ IDI_DID​ D×DD\\times DD×D 답: dfdx=−12exp⁡ ⁣(−12(x−μ)⊤S−1(x−μ))(x−μ)⊤(S−1+S−⊤)∈R1×D.\\begin{aligned} \\frac{df}{dx} \u0026amp;=-\\frac12\\exp\\!\\Big(-\\frac12(x-\\mu)^\\top S^{-1} \\\\ \u0026amp;\\quad (x-\\mu) \\Big) (x-\\mu)^\\top \\big(S^{-1} \\\\ \u0026amp;\\quad +S^{-\\top}\\big)\\in\\mathbb R^{1\\times D}. \\end{aligned}dxdf​​=−21​exp(−21​(x−μ)⊤S−1(x−μ))(x−μ)⊤(S−1+S−⊤)∈R1×D.​ SSS가 대칭(공분산 행렬처럼)이면 S−1+S−⊤=2S−1S^{-1}+S^{-\\top}=2S^{-1}S−1+S−⊤=2S−1이라 dfdx=−f(x) (x−μ)⊤S−1\\dfrac{df}{dx}=-f(x)\\,(x-\\mu)^\\top S^{-1}dxdf​=−f(x)(x−μ)⊤S−1. (가우스 밀도의 기울기: 평균에서 멀수록, 분산이 작을수록 가파르다.)\n(b) f(x)=tr(xx⊤+σ2I)f(x)=\\text{tr}(xx^\\top+\\sigma^2I)f(x)=tr(xx⊤+σ2I), x∈RDx\\in\\mathbb R^Dx∈RD.\n풀이: 힌트대로 외적을 풀어 쓴다. xx⊤xx^\\topxx⊤의 대각 원소는 xi2x_i^2xi2​, σ2I\\sigma^2Iσ2I의 대각 원소는 σ2\\sigma^2σ2. f(x)=∑i=1D(xi2+σ2)=x⊤x+Dσ2.f(x)=\\sum_{i=1}^D(x_i^2+\\sigma^2)=x^\\top x+D\\sigma^2.f(x)=i=1∑D​(xi2​+σ2)=x⊤x+Dσ2.답: dfdx=2x⊤∈R1×D\\dfrac{df}{dx}=2x^\\top\\in\\mathbb R^{1\\times D}dxdf​=2x⊤∈R1×D.\n(c) f=tanh⁡(z)∈RMf=\\tanh(z)\\in\\mathbb R^Mf=tanh(z)∈RM (성분별), z=Ax+bz=Ax+bz=Ax+b, x∈RNx\\in\\mathbb R^Nx∈RN, A∈RM×NA\\in\\mathbb R^{M\\times N}A∈RM×N, b∈RMb\\in\\mathbb R^Mb∈RM.\n편미분 값 크기 ∂f∂z\\dfrac{\\partial f}{\\partial z}∂z∂f​ diag(1−tanh⁡2(z1),…,1−tanh⁡2(zM))\\text{diag}\\big(1-\\tanh^2(z_1),\\dots,1-\\tanh^2(z_M)\\big)diag(1−tanh2(z1​),…,1−tanh2(zM​)) M×MM\\times MM×M ∂z∂x\\dfrac{\\partial z}{\\partial x}∂x∂z​ AAA M×NM\\times NM×N (tanh⁡′(u)=1−tanh⁡2(u)\\tanh\u0026#x27;(u)=1-\\tanh^2(u)tanh′(u)=1−tanh2(u).)\n답: dfdx=∂f∂z∂z∂x∈RM×N\\dfrac{df}{dx}=\\dfrac{\\partial f}{\\partial z}\\dfrac{\\partial z}{\\partial x}\\in\\mathbb R^{M\\times N}dxdf​=∂z∂f​∂x∂z​∈RM×N. (문제는 곱까지 계산하지 않아도 된다고 했다. 곱하면 diag(1−tanh⁡2(Ax+b))A\\text{diag}(1-\\tanh^2(Ax+b))Adiag(1−tanh2(Ax+b))A로, 신경망 한 층의 야코비안이다.)\n5.9 재매개변수화된 함수의 기울기 문제: g(x,z,ν):=log⁡p(x,z)−log⁡q(z,ν)g(x,z,\\nu):=\\log p(x,z)-\\log q(z,\\nu)g(x,z,ν):=logp(x,z)−logq(z,ν), z:=t(ϵ,ν)z:=t(\\epsilon,\\nu)z:=t(ϵ,ν) (x∈RDx\\in\\mathbb R^Dx∈RD, z∈REz\\in\\mathbb R^Ez∈RE, ν∈RF\\nu\\in\\mathbb R^Fν∈RF, ϵ∈RG\\epsilon\\in\\mathbb R^Gϵ∈RG). ddνg(x,z,ν)\\dfrac{d}{d\\nu}g(x,z,\\nu)dνd​g(x,z,ν)를 구하라.\n풀이: ν\\nuν는 두 길로 ggg에 들어간다. ① q(z,ν)q(z,\\nu)q(z,ν)의 두 번째 인자로 직접, ② z=t(ϵ,ν)z=t(\\epsilon,\\nu)z=t(ϵ,ν)를 통해 간접으로. xxx와 ϵ\\epsilonϵ은 ν\\nuν와 무관한 상수다. 전미분은 두 길의 합이다. dgdν=∂g∂z⏟1×E ∂z∂ν⏟E×F+∂g∂ν⏟1×F.\\frac{dg}{d\\nu}=\\underbrace{\\frac{\\partial g}{\\partial z}}_{1\\times E}\\ \\underbrace{\\frac{\\partial z}{\\partial\\nu}}_{E\\times F}+\\underbrace{\\frac{\\partial g}{\\partial\\nu}}_{1\\times F}.dνdg​=1×E∂z∂g​​​ E×F∂ν∂z​​​+1×F∂ν∂g​​​. 각 조각:\n∂g∂z=∂log⁡p(x,z)∂z−∂log⁡q(z,ν)∂z\\dfrac{\\partial g}{\\partial z}=\\dfrac{\\partial\\log p(x,z)}{\\partial z}-\\dfrac{\\partial\\log q(z,\\nu)}{\\partial z}∂z∂g​=∂z∂logp(x,z)​−∂z∂logq(z,ν)​ ∂z∂ν=∂t(ϵ,ν)∂ν\\dfrac{\\partial z}{\\partial\\nu}=\\dfrac{\\partial t(\\epsilon,\\nu)}{\\partial\\nu}∂ν∂z​=∂ν∂t(ϵ,ν)​ ∂g∂ν=−∂log⁡q(z,ν)∂ν\\dfrac{\\partial g}{\\partial\\nu}=-\\dfrac{\\partial\\log q(z,\\nu)}{\\partial\\nu}∂ν∂g​=−∂ν∂logq(z,ν)​ (log⁡p\\log plogp는 ν\\nuν를 직접 갖지 않는다) 답: ddνg=(∂log⁡p(x,z)∂z−∂log⁡q(z,ν)∂z)∂t(ϵ,ν)∂ν−∂log⁡q(z,ν)∂ν ∈R1×F,z=t(ϵ,ν).\\begin{aligned} \u0026amp;\\frac{d}{d\\nu}g =\\biggl(\\frac{\\partial\\log p(x,z)}{\\partial z} \\\\ \u0026amp;\\quad -\\frac{\\partial\\log q(z,\\nu)}{\\partial z}\\biggr)\\frac{\\partial t(\\epsilon,\\nu)}{\\partial\\nu} \\\\ \u0026amp;\\quad -\\frac{\\partial\\log q(z,\\nu)}{\\partial\\nu}\\ \\in\\mathbb R^{1\\times F}, \\\\ \u0026amp;z=t(\\epsilon,\\nu). \\end{aligned}​dνd​g=(∂z∂logp(x,z)​−∂z∂logq(z,ν)​)∂ν∂t(ϵ,ν)​−∂ν∂logq(z,ν)​ ∈R1×F,z=t(ϵ,ν).​배경: 변분 추론에서 쓰는 재매개변수화 기법(reparameterization trick)이다. 예를 들어 z=μ+σ⊙ϵz=\\mu+\\sigma\\odot\\epsilonz=μ+σ⊙ϵ, ν=(μ,σ)\\nu=(\\mu,\\sigma)ν=(μ,σ)로 두면 무작위성은 ϵ\\epsilonϵ에만 있어서 ν\\nuν에 대해 미분할 수 있다. 각 항의 크기를 맞춰 보면 (1×E)(E×F)+(1×F)=1×F(1\\times E)(E\\times F)+(1\\times F)=1\\times F(1×E)(E×F)+(1×F)=1×F로 일관된다.\n6장 확률과 분포 검산: 6.1·6.2·6.4의 숫자는 scipy로 다시 계산해 확인했다(6.2의 최빈값·중앙값 포함). 교재 인용은 합의 법칙 (6.20), 곱의 법칙 (6.22), 베이즈 정리 (6.23), 베타 분포 (6.98), 가우시안 조건부 (6.65)~(6.67)이다.\n6.1 이산 결합분포의 주변분포와 조건부 확률 문제:\n두 이산확률변수 X∈{x1,x2,x3,x4,x5}X \\in \\{x_1, x_2, x_3, x_4, x_5\\}X∈{x1​,x2​,x3​,x4​,x5​}, Y∈{y1,y2,y3}Y \\in \\{y_1, y_2, y_3\\}Y∈{y1​,y2​,y3​}의 결합확률질량함수 p(x,y)p(x, y)p(x,y)가 주어졌을 때 다음을 구하라.\n(a) 주변분포 p(x)p(x)p(x)와 p(y)p(y)p(y)\n(b) 조건부 분포 p(x∣Y=y1)p(x \\mid Y = y_1)p(x∣Y=y1​)과 p(y∣X=x3)p(y \\mid X = x_3)p(y∣X=x3​)\n결합확률표 p(xj,yi)p(x_j, y_i)p(xj​,yi​):\nY\\XY \\backslash XY\\X x1x_1x1​ x2x_2x2​ x3x_3x3​ x4x_4x4​ x5x_5x5​ y1y_1y1​ 0.010.010.01 0.020.020.02 0.030.030.03 0.100.100.10 0.100.100.10 y2y_2y2​ 0.050.050.05 0.100.100.10 0.050.050.05 0.070.070.07 0.200.200.20 y3y_3y3​ 0.100.100.10 0.050.050.05 0.030.030.03 0.050.050.05 0.040.040.04 풀이:\n(a) 주변분포 p(x)p(x)p(x)와 p(y)p(y)p(y)의 계산\n주변확률은 합의 법칙(Sum Rule, 교재 식 (6.20))에 따라 다른 변수의 모든 가능한 상태에 대해 결합확률을 합산(marginalization)하여 구한다.\nXXX의 각 상태 xjx_jxj​에 대한 주변확률 p(xj)=∑i=13p(xj,yi)p(x_j) = \\sum_{i=1}^3 p(x_j, y_i)p(xj​)=∑i=13​p(xj​,yi​) (각 열의 합):\np(x1)=p(x1,y1)+p(x1,y2)+p(x1,y3)=0.01+0.05+0.10=0.16p(x_1) = p(x_1, y_1) + p(x_1, y_2) + p(x_1, y_3) = 0.01 + 0.05 + 0.10 = 0.16p(x1​)=p(x1​,y1​)+p(x1​,y2​)+p(x1​,y3​)=0.01+0.05+0.10=0.16 p(x2)=p(x2,y1)+p(x2,y2)+p(x2,y3)=0.02+0.10+0.05=0.17p(x_2) = p(x_2, y_1) + p(x_2, y_2) + p(x_2, y_3) = 0.02 + 0.10 + 0.05 = 0.17p(x2​)=p(x2​,y1​)+p(x2​,y2​)+p(x2​,y3​)=0.02+0.10+0.05=0.17 p(x3)=p(x3,y1)+p(x3,y2)+p(x3,y3)=0.03+0.05+0.03=0.11p(x_3) = p(x_3, y_1) + p(x_3, y_2) + p(x_3, y_3) = 0.03 + 0.05 + 0.03 = 0.11p(x3​)=p(x3​,y1​)+p(x3​,y2​)+p(x3​,y3​)=0.03+0.05+0.03=0.11 p(x4)=p(x4,y1)+p(x4,y2)+p(x4,y3)=0.10+0.07+0.05=0.22p(x_4) = p(x_4, y_1) + p(x_4, y_2) + p(x_4, y_3) = 0.10 + 0.07 + 0.05 = 0.22p(x4​)=p(x4​,y1​)+p(x4​,y2​)+p(x4​,y3​)=0.10+0.07+0.05=0.22 p(x5)=p(x5,y1)+p(x5,y2)+p(x5,y3)=0.10+0.20+0.04=0.34p(x_5) = p(x_5, y_1) + p(x_5, y_2) + p(x_5, y_3) = 0.10 + 0.20 + 0.04 = 0.34p(x5​)=p(x5​,y1​)+p(x5​,y2​)+p(x5​,y3​)=0.10+0.20+0.04=0.34 YYY의 각 상태 yiy_iyi​에 대한 주변확률 p(yi)=∑j=15p(xj,yi)p(y_i) = \\sum_{j=1}^5 p(x_j, y_i)p(yi​)=∑j=15​p(xj​,yi​) (각 행의 합):\np(y1)=0.01+0.02+0.03+0.10+0.10=0.26p(y_1) = 0.01 + 0.02 + 0.03 + 0.10 + 0.10 = 0.26p(y1​)=0.01+0.02+0.03+0.10+0.10=0.26 p(y2)=0.05+0.10+0.05+0.07+0.20=0.47p(y_2) = 0.05 + 0.10 + 0.05 + 0.07 + 0.20 = 0.47p(y2​)=0.05+0.10+0.05+0.07+0.20=0.47 p(y3)=0.10+0.05+0.03+0.05+0.04=0.27p(y_3) = 0.10 + 0.05 + 0.03 + 0.05 + 0.04 = 0.27p(y3​)=0.10+0.05+0.03+0.05+0.04=0.27 (b) 조건부 분포 p(x∣Y=y1)p(x \\mid Y = y_1)p(x∣Y=y1​)과 p(y∣X=x3)p(y \\mid X = x_3)p(y∣X=x3​)의 계산\n조건부 확률은 곱의 법칙(Product Rule, 교재 식 (6.22))을 정리한 정의 p(a∣b)=p(a,b)p(b)p(a \\mid b) = \\frac{p(a, b)}{p(b)}p(a∣b)=p(b)p(a,b)​를 적용한다.\nY=y1Y = y_1Y=y1​일 때 XXX의 조건부 확률 p(xj∣Y=y1)=p(xj,y1)p(y1)=p(xj,y1)0.26p(x_j \\mid Y = y_1) = \\frac{p(x_j, y_1)}{p(y_1)} = \\frac{p(x_j, y_1)}{0.26}p(xj​∣Y=y1​)=p(y1​)p(xj​,y1​)​=0.26p(xj​,y1​)​:\np(x1∣Y=y1)=0.010.26=126≈0.038p(x_1 \\mid Y = y_1) = \\frac{0.01}{0.26} = \\frac{1}{26} \\approx 0.038p(x1​∣Y=y1​)=0.260.01​=261​≈0.038 p(x2∣Y=y1)=0.020.26=226=113≈0.077p(x_2 \\mid Y = y_1) = \\frac{0.02}{0.26} = \\frac{2}{26} = \\frac{1}{13} \\approx 0.077p(x2​∣Y=y1​)=0.260.02​=262​=131​≈0.077 p(x3∣Y=y1)=0.030.26=326≈0.115p(x_3 \\mid Y = y_1) = \\frac{0.03}{0.26} = \\frac{3}{26} \\approx 0.115p(x3​∣Y=y1​)=0.260.03​=263​≈0.115 p(x4∣Y=y1)=0.100.26=1026=513≈0.385p(x_4 \\mid Y = y_1) = \\frac{0.10}{0.26} = \\frac{10}{26} = \\frac{5}{13} \\approx 0.385p(x4​∣Y=y1​)=0.260.10​=2610​=135​≈0.385 p(x5∣Y=y1)=0.100.26=1026=513≈0.385p(x_5 \\mid Y = y_1) = \\frac{0.10}{0.26} = \\frac{10}{26} = \\frac{5}{13} \\approx 0.385p(x5​∣Y=y1​)=0.260.10​=2610​=135​≈0.385 X=x3X = x_3X=x3​일 때 YYY의 조건부 확률 p(yi∣X=x3)=p(x3,yi)p(x3)=p(x3,yi)0.11p(y_i \\mid X = x_3) = \\frac{p(x_3, y_i)}{p(x_3)} = \\frac{p(x_3, y_i)}{0.11}p(yi​∣X=x3​)=p(x3​)p(x3​,yi​)​=0.11p(x3​,yi​)​:\np(y1∣X=x3)=0.030.11=311≈0.273p(y_1 \\mid X = x_3) = \\frac{0.03}{0.11} = \\frac{3}{11} \\approx 0.273p(y1​∣X=x3​)=0.110.03​=113​≈0.273 p(y2∣X=x3)=0.050.11=511≈0.455p(y_2 \\mid X = x_3) = \\frac{0.05}{0.11} = \\frac{5}{11} \\approx 0.455p(y2​∣X=x3​)=0.110.05​=115​≈0.455 p(y3∣X=x3)=0.030.11=311≈0.273p(y_3 \\mid X = x_3) = \\frac{0.03}{0.11} = \\frac{3}{11} \\approx 0.273p(y3​∣X=x3​)=0.110.03​=113​≈0.273 답:\n(a) 주변분포:\np(X)=[p(x1),p(x2),p(x3),p(x4),p(x5)]=[0.16,0.17,0.11,0.22,0.34]p(X) = [p(x_1), p(x_2), p(x_3), p(x_4), p(x_5)] = [0.16, 0.17, 0.11, 0.22, 0.34]p(X)=[p(x1​),p(x2​),p(x3​),p(x4​),p(x5​)]=[0.16,0.17,0.11,0.22,0.34]\np(Y)=[p(y1),p(y2),p(y3)]=[0.26,0.47,0.27]p(Y) = [p(y_1), p(y_2), p(y_3)] = [0.26, 0.47, 0.27]p(Y)=[p(y1​),p(y2​),p(y3​)]=[0.26,0.47,0.27] (b) 조건부 분포:\np(X∣Y=y1)=[126,226,326,1026,1026]≈[0.038,0.077,0.115,0.385,0.385]p(X \\mid Y = y_1) = \\left[ \\frac{1}{26}, \\frac{2}{26}, \\frac{3}{26}, \\frac{10}{26}, \\frac{10}{26} \\right] \\approx [0.038, 0.077, 0.115, 0.385, 0.385]p(X∣Y=y1​)=[261​,262​,263​,2610​,2610​]≈[0.038,0.077,0.115,0.385,0.385]\np(Y∣X=x3)=[311,511,311]≈[0.273,0.455,0.273]p(Y \\mid X = x_3) = \\left[ \\frac{3}{11}, \\frac{5}{11}, \\frac{3}{11} \\right] \\approx [0.273, 0.455, 0.273]p(Y∣X=x3​)=[113​,115​,113​]≈[0.273,0.455,0.273] 확인:\nPython 수치 검산 결과,\n∑j=15p(xj)=0.16+0.17+0.11+0.22+0.34=1.00\\sum_{j=1}^5 p(x_j) = 0.16 + 0.17 + 0.11 + 0.22 + 0.34 = 1.00∑j=15​p(xj​)=0.16+0.17+0.11+0.22+0.34=1.00,\n∑i=13p(yi)=0.26+0.47+0.27=1.00\\sum_{i=1}^3 p(y_i) = 0.26 + 0.47 + 0.27 = 1.00∑i=13​p(yi​)=0.26+0.47+0.27=1.00,\n∑j=15p(xj∣Y=y1)=1+2+3+10+1026=1.00\\sum_{j=1}^5 p(x_j \\mid Y = y_1) = \\frac{1+2+3+10+10}{26} = 1.00∑j=15​p(xj​∣Y=y1​)=261+2+3+10+10​=1.00,\n∑i=13p(yi∣X=x3)=3+5+311=1.00\\sum_{i=1}^3 p(y_i \\mid X = x_3) = \\frac{3+5+3}{11} = 1.00∑i=13​p(yi​∣X=x3​)=113+5+3​=1.00 으로 유효한 확률분포임을 확인 완료함.\n6.2 2차원 가우시안 혼합분포의 주변분포·대푯값·최빈값 문제:\n다음 2차원 가우시안 혼합분포 p(x)p(\\mathbf{x})p(x)를 고려하라. p(x)=0.4N(x | [102],[1001])+0.6N(x | [00],[8.42.02.01.7])\\begin{aligned} p(\\mathbf{x}) \u0026amp;= 0.4 \\mathcal{N}\\left( \\mathbf{x} \\,\\middle|\\, \\begin{bmatrix} 10 \\\\ 2 \\end{bmatrix}, \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\end{bmatrix} \\right) \\\\ \u0026amp;\\quad + 0.6 \\mathcal{N}\\left( \\mathbf{x} \\,\\middle|\\, \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}, \\begin{bmatrix} 8.4 \u0026amp; 2.0 \\\\ 2.0 \u0026amp; 1.7 \\end{bmatrix} \\right) \\end{aligned}p(x)​=0.4N(x​[102​],[10​01​])+0.6N(x​[00​],[8.42.0​2.01.7​])​ (a) 각 차원 x1,x2x_1, x_2x1​,x2​의 주변분포를 구하라.\n(b) 각 주변분포의 평균, 최빈값(mode), 중앙값(median)을 구하라. (수치 계산은 소수 셋째 자리까지 표기)\n(c) 2차원 결합분포 p(x)p(\\mathbf{x})p(x)의 평균과 최빈값을 구하라.\n풀이:\n(a) 각 차원의 주변분포 계산\n다변량 가우시안 혼합분포의 정의 p(x)=αp1(x)+(1−α)p2(x)p(\\mathbf{x}) = \\alpha p_1(\\mathbf{x}) + (1-\\alpha) p_2(\\mathbf{x})p(x)=αp1​(x)+(1−α)p2​(x)에서, 임의의 한 차원에 대한 적분(주변화)은 적분의 선형성에 의해 각 구성요소 가우시안의 주변분포의 가중합이 된다: p(x1)=∫−∞∞p(x1,x2) dx2=0.4∫−∞∞N1(x) dx2+0.6∫−∞∞N2(x) dx2p(x_1) = \\int_{-\\infty}^\\infty p(x_1, x_2) \\, dx_2 = 0.4 \\int_{-\\infty}^\\infty \\mathcal{N}_1(\\mathbf{x}) \\, dx_2 + 0.6 \\int_{-\\infty}^\\infty \\mathcal{N}_2(\\mathbf{x}) \\, dx_2p(x1​)=∫−∞∞​p(x1​,x2​)dx2​=0.4∫−∞∞​N1​(x)dx2​+0.6∫−∞∞​N2​(x)dx2​ 가우시안 분포의 주변화 성질(교재 6.5.1절)에 따라, 다변량 가우시안 N(μ,Σ)\\mathcal{N}(\\boldsymbol{\\mu}, \\boldsymbol{\\Sigma})N(μ,Σ)의 한 차원 xdx_dxd​의 주변분포는 해당 성분의 평균 μd\\mu_dμd​와 대각 공분산 성분 Σdd=σd2\\Sigma_{dd} = \\sigma_d^2Σdd​=σd2​를 모수로 갖는 1차원 가우시안 N(μd,σd2)\\mathcal{N}(\\mu_d, \\sigma_d^2)N(μd​,σd2​)이다. 첫 번째 성분: μ1=[102]\\boldsymbol{\\mu}_1 = \\begin{bmatrix} 10 \\\\ 2 \\end{bmatrix}μ1​=[102​], Σ1=[1001]\\boldsymbol{\\Sigma}_1 = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\end{bmatrix}Σ1​=[10​01​] 이므로 x1∼N(10,1)x_1 \\sim \\mathcal{N}(10, 1)x1​∼N(10,1), x2∼N(2,1)x_2 \\sim \\mathcal{N}(2, 1)x2​∼N(2,1). 두 번째 성분: μ2=[00]\\boldsymbol{\\mu}_2 = \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix}μ2​=[00​], Σ2=[8.42.02.01.7]\\boldsymbol{\\Sigma}_2 = \\begin{bmatrix} 8.4 \u0026amp; 2.0 \\\\ 2.0 \u0026amp; 1.7 \\end{bmatrix}Σ2​=[8.42.0​2.01.7​] 이므로 x1∼N(0,8.4)x_1 \\sim \\mathcal{N}(0, 8.4)x1​∼N(0,8.4), x2∼N(0,1.7)x_2 \\sim \\mathcal{N}(0, 1.7)x2​∼N(0,1.7). 따라서 두 차원의 주변분포는 각각 다음과 같다: p(x1)=0.4N(x1∣10,1)+0.6N(x1∣0,8.4)p(x_1) = 0.4 \\mathcal{N}(x_1 \\mid 10, 1) + 0.6 \\mathcal{N}(x_1 \\mid 0, 8.4)p(x1​)=0.4N(x1​∣10,1)+0.6N(x1​∣0,8.4) p(x2)=0.4N(x2∣2,1)+0.6N(x2∣0,1.7)p(x_2) = 0.4 \\mathcal{N}(x_2 \\mid 2, 1) + 0.6 \\mathcal{N}(x_2 \\mid 0, 1.7)p(x2​)=0.4N(x2​∣2,1)+0.6N(x2​∣0,1.7) (b) 각 주변분포의 평균, 최빈값, 중앙값 수치 계산\nx1x_1x1​의 주변분포:\n평균 E[x1]\\mathbb{E}[x_1]E[x1​]: 정리 6.12(교재 식 (6.81))에 의해 각 성분 평균의 가중합이다: E[x1]=0.4×10+0.6×0=4.000\\mathbb{E}[x_1] = 0.4 \\times 10 + 0.6 \\times 0 = 4.000E[x1​]=0.4×10+0.6×0=4.000 최빈값 (Mode): 확률밀도함수 p(x1)p(x_1)p(x1​)의 1차 도함수 p′(x1)=0p\u0026#x27;(x_1) = 0p′(x1​)=0인 임계점을 수치 해석으로 탐색한다. 가우시안 도함수 공식 ddxN(x∣μ,σ2)=−x−μσ2N(x∣μ,σ2)\\frac{d}{dx}\\mathcal{N}(x \\mid \\mu, \\sigma^2) = -\\frac{x - \\mu}{\\sigma^2}\\mathcal{N}(x \\mid \\mu, \\sigma^2)dxd​N(x∣μ,σ2)=−σ2x−μ​N(x∣μ,σ2)를 적용하면: p′(x1)=0.4(−x1−101)N(x1∣10,1)+0.6(−x18.4)N(x1∣0,8.4)=0p\u0026#x27;(x_1) = 0.4 \\left(-\\frac{x_1 - 10}{1}\\right)\\mathcal{N}(x_1 \\mid 10, 1) + 0.6 \\left(-\\frac{x_1}{8.4}\\right)\\mathcal{N}(x_1 \\mid 0, 8.4) = 0p′(x1​)=0.4(−1x1​−10​)N(x1​∣10,1)+0.6(−8.4x1​​)N(x1​∣0,8.4)=0 이를 수치 계산(Python root-finding)하면 세 임계점이 도출된다: x1≈0.000x_1 \\approx 0.000x1​≈0.000: 극댓값 (밀도 p(0.000)≈0.083p(0.000) \\approx 0.083p(0.000)≈0.083) →\\rightarrow→ 국소 최빈값(Local mode) x1≈6.896x_1 \\approx 6.896x1​≈6.896: 극솟값 (밀도 p(6.896)≈0.006p(6.896) \\approx 0.006p(6.896)≈0.006) x1≈9.998x_1 \\approx 9.998x1​≈9.998: 극댓값 (밀도 p(9.998)≈0.160p(9.998) \\approx 0.160p(9.998)≈0.160) →\\rightarrow→ 전역 최빈값(Global mode)\n(이유: 첫 번째 성분의 분산이 σ12=1\\sigma_1^2 = 1σ12​=1로 매우 좁아, 분산이 σ22=8.4\\sigma_2^2 = 8.4σ22​=8.4인 두 번째 성분보다 첨두 높이가 약 2배 높기 때문이다.) 중앙값 (Median): 누적분포함수 F(x1)=0.4Φ(x1−101)+0.6Φ(x18.4)=0.5F(x_1) = 0.4 \\Phi\\left(\\frac{x_1 - 10}{1}\\right) + 0.6 \\Phi\\left(\\frac{x_1}{\\sqrt{8.4}}\\right) = 0.5F(x1​)=0.4Φ(1x1​−10​)+0.6Φ(8.4​x1​​)=0.5가 되는 x1x_1x1​을 수치 탐색(Brent 방법)한다: x1,med≈2.804x_{1, \\text{med}} \\approx 2.804x1,med​≈2.804 x2x_2x2​의 주변분포:\n평균 E[x2]\\mathbb{E}[x_2]E[x2​]: 정리 6.12에 의해: E[x2]=0.4×2+0.6×0=0.800\\mathbb{E}[x_2] = 0.4 \\times 2 + 0.6 \\times 0 = 0.800E[x2​]=0.4×2+0.6×0=0.800 최빈값 (Mode): 1차 도함수 p′(x2)=0p\u0026#x27;(x_2) = 0p′(x2​)=0인 임계점을 수치 해석으로 탐색한다: p′(x2)=0.4(−x2−21)N(x2∣2,1)+0.6(−x21.7)N(x2∣0,1.7)=0p\u0026#x27;(x_2) = 0.4 \\left(-\\frac{x_2 - 2}{1}\\right)\\mathcal{N}(x_2 \\mid 2, 1) + 0.6 \\left(-\\frac{x_2}{1.7}\\right)\\mathcal{N}(x_2 \\mid 0, 1.7) = 0p′(x2​)=0.4(−1x2​−2​)N(x2​∣2,1)+0.6(−1.7x2​​)N(x2​∣0,1.7)=0 두 성분의 평균 간격(2−0=22 - 0 = 22−0=2)이 표준편차들에 비해 크지 않아 두 봉우리가 하나로 합쳐진 단봉분포(unimodal)를 형성한다.\n방정식의 유일한 해는 다음과 같다: x2≈1.331(밀도 p(1.331)≈0.237)→전역 최빈값x_2 \\approx 1.331 \\quad (\\text{밀도 } p(1.331) \\approx 0.237) \\rightarrow \\textbf{전역 최빈값}x2​≈1.331(밀도 p(1.331)≈0.237)→전역 최빈값 중앙값 (Median): 누적분포함수 F(x2)=0.4Φ(x2−21)+0.6Φ(x21.7)=0.5F(x_2) = 0.4 \\Phi\\left(\\frac{x_2 - 2}{1}\\right) + 0.6 \\Phi\\left(\\frac{x_2}{\\sqrt{1.7}}\\right) = 0.5F(x2​)=0.4Φ(1x2​−2​)+0.6Φ(1.7​x2​​)=0.5를 만족하는 해: x2,med≈0.869x_{2, \\text{med}} \\approx 0.869x2,med​≈0.869 (c) 2차원 결합분포의 평균과 최빈값 계산\n2차원 결합 평균벡터 E[x]\\mathbb{E}[\\mathbf{x}]E[x]: 기댓값의 선형성에 의해: E[x]=0.4[102]+0.6[00]=[4.0000.800]\\mathbb{E}[\\mathbf{x}] = 0.4 \\begin{bmatrix} 10 \\\\ 2 \\end{bmatrix} + 0.6 \\begin{bmatrix} 0 \\\\ 0 \\end{bmatrix} = \\begin{bmatrix} 4.000 \\\\ 0.800 \\end{bmatrix}E[x]=0.4[102​]+0.6[00​]=[4.0000.800​] 2차원 최빈값 (Mode): 2차원 확률밀도함수 p(x)p(\\mathbf{x})p(x)를 최대화하는 x=[x1,x2]⊤\\mathbf{x} = [x_1, x_2]^\\topx=[x1​,x2​]⊤를 2차원 수치 최적화(Nelder-Mead 및 BFGS)로 탐색한다. 성분 1의 중심 x1=[10,2]⊤\\mathbf{x}_1 = [10, 2]^\\topx1​=[10,2]⊤ 부근: 밀도 피크 p(x)≈0.42π1≈0.0637p(\\mathbf{x}) \\approx \\frac{0.4}{2\\pi \\sqrt{1}} \\approx 0.0637p(x)≈2π1​0.4​≈0.0637 성분 2의 중심 x2=[0,0]⊤\\mathbf{x}_2 = [0, 0]^\\topx2​=[0,0]⊤ 부근: 행렬식 ∣Σ2∣=8.4×1.7−2.02=14.28−4.0=10.28|\\boldsymbol{\\Sigma}_2| = 8.4 \\times 1.7 - 2.0^2 = 14.28 - 4.0 = 10.28∣Σ2​∣=8.4×1.7−2.02=14.28−4.0=10.28이므로 밀도 피크 p(x)≈0.62π10.28≈0.0298p(\\mathbf{x}) \\approx \\frac{0.6}{2\\pi \\sqrt{10.28}} \\approx 0.0298p(x)≈2π10.28​0.6​≈0.0298 두 중심 사이 거리가 102+22≈10.2\\sqrt{10^2 + 2^2} \\approx 10.2102+22​≈10.2로 매우 멀어 상호 간섭이 거의 없으며, 두 개의 극댓값이 존재한다: 전역 최빈값(Global mode): x∗≈[9.9992.000](밀도 p≈0.0637)\\mathbf{x}^* \\approx \\begin{bmatrix} 9.999 \\\\ 2.000 \\end{bmatrix} \\quad (\\text{밀도 } p \\approx 0.0637)x∗≈[9.9992.000​](밀도 p≈0.0637) 국소 최빈값(Local mode): xlocal≈[0.0000.000](밀도 p≈0.0298)\\mathbf{x}_{\\text{local}} \\approx \\begin{bmatrix} 0.000 \\\\ 0.000 \\end{bmatrix} \\quad (\\text{밀도 } p \\approx 0.0298)xlocal​≈[0.0000.000​](밀도 p≈0.0298) 답:\n(a) 각 차원 주변분포:\np(x1)=0.4N(x1∣10,1)+0.6N(x1∣0,8.4)p(x_1) = 0.4 \\mathcal{N}(x_1 \\mid 10, 1) + 0.6 \\mathcal{N}(x_1 \\mid 0, 8.4)p(x1​)=0.4N(x1​∣10,1)+0.6N(x1​∣0,8.4)\np(x2)=0.4N(x2∣2,1)+0.6N(x2∣0,1.7)p(x_2) = 0.4 \\mathcal{N}(x_2 \\mid 2, 1) + 0.6 \\mathcal{N}(x_2 \\mid 0, 1.7)p(x2​)=0.4N(x2​∣2,1)+0.6N(x2​∣0,1.7) (b) 각 주변분포의 대푯값 (소수 셋째 자리): x1x_1x1​: 평균 = 4.0004.0004.000, 전역 최빈값 = 9.9989.9989.998 (국소 최빈값 0.0000.0000.000), 중앙값 = 2.8042.8042.804 x2x_2x2​: 평균 = 0.8000.8000.800, 최빈값 = 1.3311.3311.331 (단봉), 중앙값 = 0.8690.8690.869 (c) 2차원 결합분포 대푯값: 평균 = [4.0000.800]\\begin{bmatrix} 4.000 \\\\ 0.800 \\end{bmatrix}[4.0000.800​] 전역 최빈값 = [9.9992.000]\\begin{bmatrix} 9.999 \\\\ 2.000 \\end{bmatrix}[9.9992.000​] (국소 최빈값 [0.0000.000]\\begin{bmatrix} 0.000 \\\\ 0.000 \\end{bmatrix}[0.0000.000​]) 확인:\nPython scipy.optimize (Brentq, Nelder-Mead, BFGS)로 도함수 근 및 목적함수 최적화를 수행하여 전역/국소 최빈값 및 중앙값을 정밀 검산 완료함.\n6.3 베르누이 우도의 켤레 사전분포와 사후분포 문제:\n컴파일러의 작동 여부 x∈{0,1}x \\in \\{0, 1\\}x∈{0,1}를 모수 μ\\muμ인 베르누이 분포 p(x∣μ)=μx(1−μ)1−xp(x \\mid \\mu) = \\mu^x (1 - \\mu)^{1-x}p(x∣μ)=μx(1−μ)1−x로 모델링한다. 베르누이 우도에 대한 켤레 사전분포(conjugate prior)를 선택하고, NNN개의 독립 표본 x1,…,xNx_1, \\dots, x_Nx1​,…,xN​이 주어졌을 때 모수의 사후분포 p(μ∣x1,…,xN)p(\\mu \\mid x_1, \\dots, x_N)p(μ∣x1​,…,xN​)를 구하라.\n풀이:\n표본 데이터에 대한 결합 우도함수 구성:\n데이터셋 D={x1,…,xN}\\mathcal{D} = \\{x_1, \\dots, x_N\\}D={x1​,…,xN​}의 i.i.d. 가정에 따라 결합 우도는 각 확률의 곱이다: p(D∣μ)=∏n=1Nμxn(1−μ)1−xn=μ∑n=1Nxn(1−μ)N−∑n=1Nxn\\begin{aligned} p(\\mathcal{D} \\mid \\mu) \u0026amp;= \\prod_{n=1}^N \\mu^{x_n} (1 - \\mu)^{1 - x_n} \\\\ \u0026amp;= \\mu^{\\sum_{n=1}^N x_n} (1 - \\mu)^{N - \\sum_{n=1}^N x_n} \\end{aligned}p(D∣μ)​=n=1∏N​μxn​(1−μ)1−xn​=μ∑n=1N​xn​(1−μ)N−∑n=1N​xn​​ 성공 횟수를 m=∑n=1Nxnm = \\sum_{n=1}^N x_nm=∑n=1N​xn​이라 두면, 우도는 μm(1−μ)N−m\\mu^m (1 - \\mu)^{N - m}μm(1−μ)N−m 꼴이다.\n켤레 사전분포(Conjugate Prior)의 선택:\n켤레성이란 사전분포와 사후분포가 동일한 함수 형태의 분포군에 속하는 성질을 의미한다(교재 6.6.1절).\n우도함수가 μa(1−μ)b\\mu^a (1-\\mu)^bμa(1−μ)b 꼴의 거듭제곱 형태이므로, 사전분포 역시 동일한 함수형을 지닌 베타 분포(Beta distribution, 교재 6.6절 식 (6.98))를 선택한다: p(μ∣α,β)=Beta(μ∣α,β)=1B(α,β)μα−1(1−μ)β−1\\begin{aligned} \u0026amp;p(\\mu \\mid \\alpha, \\beta) = \\text{Beta}(\\mu \\mid \\alpha, \\beta) \\\\ \u0026amp;\\quad = \\frac{1}{\\text{B}(\\alpha, \\beta)} \\mu^{\\alpha - 1} (1 - \\mu)^{\\beta - 1} \\end{aligned}​p(μ∣α,β)=Beta(μ∣α,β)=B(α,β)1​μα−1(1−μ)β−1​ 여기서 α\u0026gt;0,β\u0026gt;0\\alpha \u0026gt; 0, \\beta \u0026gt; 0α\u0026gt;0,β\u0026gt;0는 초모수(hyperparameter)이며, B(α,β)=Γ(α)Γ(β)Γ(α+β)\\text{B}(\\alpha, \\beta) = \\frac{\\Gamma(\\alpha)\\Gamma(\\beta)}{\\Gamma(\\alpha+\\beta)}B(α,β)=Γ(α+β)Γ(α)Γ(β)​는 정규화 상수이다.\n베이즈 정리를 통한 사후분포 유도:\n사후분포는 베이즈 정리(교재 식 (6.23))에 의해 우도와 사전분포의 곱에 비례한다: p(μ∣D)∝p(D∣μ)p(μ∣α,β)p(\\mu \\mid \\mathcal{D}) \\propto p(\\mathcal{D} \\mid \\mu) p(\\mu \\mid \\alpha, \\beta)p(μ∣D)∝p(D∣μ)p(μ∣α,β) μ\\muμ에 관한 항들을 대입하여 지수법칙으로 묶는다: p(μ∣D)∝[μm(1−μ)N−m]×[μα−1(1−μ)β−1]=μ(α+m)−1(1−μ)(β+N−m)−1\\begin{aligned} \u0026amp;p(\\mu \\mid \\mathcal{D}) \\propto \\bigl[ \\mu^m (1 - \\mu)^{N - m} \\bigr] \\times \\bigl[ \\mu^{\\alpha - 1} \\\\ \u0026amp;\\quad (1 - \\mu)^{\\beta - 1} \\bigr] \\\\ \u0026amp;\\quad = \\mu^{(\\alpha + m) - 1} (1 - \\mu)^{(\\beta + N - m) - 1} \\end{aligned}​p(μ∣D)∝[μm(1−μ)N−m]×[μα−1(1−μ)β−1]=μ(α+m)−1(1−μ)(β+N−m)−1​ 이는 모수가 α′=α+m\\alpha\u0026#x27; = \\alpha + mα′=α+m, β′=β+N−m\\beta\u0026#x27; = \\beta + N - mβ′=β+N−m인 새로운 베타 분포의 핵(kernel)과 일치한다.\n베타 분포의 정규화 상수를 곱하여 완전한 확률밀도함수를 작성한다: p(μ∣x1,…,xN)=1B(α+m,β+N−m)μα+m−1(1−μ)β+N−m−1\\begin{aligned} \u0026amp;p(\\mu \\mid x_1, \\dots, x_N) \\\\ \u0026amp;\\quad = \\frac{1}{\\text{B}(\\alpha + m, \\beta + N - m)} \\mu^{\\alpha + m - 1} \\\\ \u0026amp;\\quad (1 - \\mu)^{\\beta + N - m - 1} \\end{aligned}​p(μ∣x1​,…,xN​)=B(α+m,β+N−m)1​μα+m−1(1−μ)β+N−m−1​ 답:\n켤레 사전분포:\np(μ)=Beta(α,β)=1B(α,β)μα−1(1−μ)β−1\\begin{aligned} p(\\mu) \u0026amp;= \\text{Beta}(\\alpha, \\beta) \\\\ \u0026amp;= \\frac{1}{\\text{B}(\\alpha, \\beta)} \\mu^{\\alpha - 1} (1 - \\mu)^{\\beta - 1} \\end{aligned}p(μ)​=Beta(α,β)=B(α,β)1​μα−1(1−μ)β−1​ 사후분포:\np(μ∣x1,…,xN)=Beta(α+∑n=1Nxn, β+N−∑n=1Nxn)\\begin{aligned} \u0026amp;p(\\mu \\mid x_1, \\dots, x_N) \\\\ \u0026amp;\\quad = \\text{Beta}\\biggl( \\alpha + \\sum_{n=1}^N x_n, \\\\ \u0026amp;\\quad \\; \\beta + N - \\sum_{n=1}^N x_n \\biggr) \\end{aligned}​p(μ∣x1​,…,xN​)=Beta(α+n=1∑N​xn​,β+N−n=1∑N​xn​)​=1B(α+∑n=1Nxn, β+N−∑n=1Nxn)μα+∑n=1Nxn−1(1−μ)β+N−∑n=1Nxn−1= \\frac{1}{\\text{B}\\left(\\alpha + \\sum_{n=1}^N x_n, \\; \\beta + N - \\sum_{n=1}^N x_n\\right)} \\mu^{\\alpha + \\sum_{n=1}^N x_n - 1} (1 - \\mu)^{\\beta + N - \\sum_{n=1}^N x_n - 1}=B(α+∑n=1N​xn​,β+N−∑n=1N​xn​)1​μα+∑n=1N​xn​−1(1−μ)β+N−∑n=1N​xn​−1 확인:\n초모수 α\\alphaα와 β\\betaβ는 사전 가상 관측치(pseudo-counts)로 해석된다. 데이터에서 성공 횟수 ∑xn\\sum x_n∑xn​과 실패 횟수 N−∑xnN - \\sum x_nN−∑xn​이 각각 가산되어 자연스럽게 갱신되는 켤레성의 기본 직관과 정확히 부합함.\n6.4 베이즈 정리를 이용한 주머니 선택 사후확률 문제:\n가방 1에는 망고 4개와 사과 2개가 들어 있고, 가방 2에는 망고 4개와 사과 4개가 들어 있다. 앞면이 나올 확률이 0.6인 비대칭 동전을 던져 앞면이면 가방 1에서 과일 하나를 무작위로 꺼내고, 뒷면이면 가방 2에서 꺼낸다. 꺼낸 과일이 망고였을 때, 그 망고가 가방 2에서 나왔을 확률을 구하라.\n풀이:\n사건 정의 및 사전확률 정리:\nB1B_1B1​: 가방 1을 선택하는 사건 (동전 앞면) ⟹ P(B1)=0.6\\implies P(B_1) = 0.6⟹P(B1​)=0.6 B2B_2B2​: 가방 2를 선택하는 사건 (동전 뒷면) ⟹ P(B2)=1−0.6=0.4\\implies P(B_2) = 1 - 0.6 = 0.4⟹P(B2​)=1−0.6=0.4 MMM: 꺼낸 과일이 망고인 사건 각 가방별 우도(조건부 확률) 계산:\n가방 1의 총 과일 수는 4+2=64 + 2 = 64+2=6개: P(M∣B1)=46=23P(M \\mid B_1) = \\frac{4}{6} = \\frac{2}{3}P(M∣B1​)=64​=32​ 가방 2의 총 과일 수는 4+4=84 + 4 = 84+4=8개: P(M∣B2)=48=12P(M \\mid B_2) = \\frac{4}{8} = \\frac{1}{2}P(M∣B2​)=84​=21​ 전확률 공식(Total Probability Theorem, 합의 법칙)을 통한 망고 추출의 주변확률 계산:\n교재 식 (6.20)(합의 법칙)과 (6.22)(곱의 법칙)에 따라: P(M)=P(M∣B1)P(B1)+P(M∣B2)P(B2)\\begin{aligned} P(M) \u0026amp;= P(M \\mid B_1) P(B_1) \\\\ \u0026amp;\\quad + P(M \\mid B_2) P(B_2) \\end{aligned}P(M)​=P(M∣B1​)P(B1​)+P(M∣B2​)P(B2​)​ 수치를 대입한다: P(M)=(23)×0.6+(12)×0.4=0.4+0.2=0.6\\begin{aligned} P(M) \u0026amp;= \\left(\\frac{2}{3}\\right) \\times 0.6 + \\left(\\frac{1}{2}\\right) \\times 0.4 \\\\ \u0026amp;= 0.4 + 0.2 = 0.6 \\end{aligned}P(M)​=(32​)×0.6+(21​)×0.4=0.4+0.2=0.6​ 베이즈 정리(Bayes\u0026rsquo; Theorem, 교재 식 (6.23)) 적용:\n망고가 관측되었을 때 가방 2에서 나왔을 사후확률은: P(B2∣M)=P(M∣B2)P(B2)P(M)P(B_2 \\mid M) = \\frac{P(M \\mid B_2) P(B_2)}{P(M)}P(B2​∣M)=P(M)P(M∣B2​)P(B2​)​ 분자와 분모에 값을 대입한다: P(B2∣M)=0.20.6=13≈0.3333P(B_2 \\mid M) = \\frac{0.2}{0.6} = \\frac{1}{3} \\approx 0.3333P(B2​∣M)=0.60.2​=31​≈0.3333 답:\nP(B2∣M)=13≈0.333(33.33%)P(B_2 \\mid M) = \\frac{1}{3} \\approx 0.333 \\quad (33.33\\%)P(B2​∣M)=31​≈0.333(33.33%)확인:\nPython 수치 검산 완료: 분자 0.5×0.4=0.20.5 \\times 0.4 = 0.20.5×0.4=0.2, 분모 (4/6)×0.6+(4/8)×0.4=0.4+0.2=0.6(4/6)\\times 0.6 + (4/8)\\times 0.4 = 0.4 + 0.2 = 0.6(4/6)×0.6+(4/8)×0.4=0.4+0.2=0.6, 비 0.20.6=13\\frac{0.2}{0.6} = \\frac{1}{3}0.60.2​=31​.\n직관적 확인: 가방 1에서 나오는 망고의 가중 빈도는 0.6×(4/6)=0.40.6 \\times (4/6) = 0.40.6×(4/6)=0.4, 가방 2에서 나오는 망고의 가중 빈도는 0.4×(4/8)=0.20.4 \\times (4/8) = 0.20.4×(4/8)=0.2이므로 전체 망고 중 가방 2의 비율은 정확히 0.20.4+0.2=13\\frac{0.2}{0.4 + 0.2} = \\frac{1}{3}0.4+0.20.2​=31​이다.\n6.5 선형 동적계와 칼만 필터 예측·갱신 문제:\n다음 이산시간 선형 시계열 시스템을 고려하라: xt+1=Axt+w,w∼N(0,Q)\\mathbf{x}_{t+1} = \\mathbf{A}\\mathbf{x}_t + \\mathbf{w}, \\quad \\mathbf{w} \\sim \\mathcal{N}(\\mathbf{0}, \\mathbf{Q})xt+1​=Axt​+w,w∼N(0,Q) yt=Cxt+v,v∼N(0,R)\\mathbf{y}_t = \\mathbf{C}\\mathbf{x}_t + \\mathbf{v}, \\quad \\mathbf{v} \\sim \\mathcal{N}(\\mathbf{0}, \\mathbf{R})yt​=Cxt​+v,v∼N(0,R) 여기서 w,v\\mathbf{w}, \\mathbf{v}w,v는 i.i.d. 가우시안 노이즈이며, 초기 상태는 p(x0)=N(μ0,Σ0)p(\\mathbf{x}_0) = \\mathcal{N}(\\boldsymbol{\\mu}_0, \\boldsymbol{\\Sigma}_0)p(x0​)=N(μ0​,Σ0​)이다.\n(a) 결합분포 p(x0,x1,…,xT)p(\\mathbf{x}_0, \\mathbf{x}_1, \\dots, \\mathbf{x}_T)p(x0​,x1​,…,xT​)의 형태는 무엇인가? 그 이유를 명시적 계산 없이 정당화하라.\n(b) p(xt∣y1,…,yt)=N(μt,Σt)p(\\mathbf{x}_t \\mid \\mathbf{y}_1, \\dots, \\mathbf{y}_t) = \\mathcal{N}(\\boldsymbol{\\mu}_t, \\boldsymbol{\\Sigma}_t)p(xt​∣y1​,…,yt​)=N(μt​,Σt​)라 가정할 때,\np(xt+1∣y1:t)p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t})p(xt+1​∣y1:t​)를 구하라. p(xt+1,yt+1∣y1:t)p(\\mathbf{x}_{t+1}, \\mathbf{y}_{t+1} \\mid \\mathbf{y}_{1:t})p(xt+1​,yt+1​∣y1:t​)를 구하라. 시점 t+1t+1t+1에서 측정값 yt+1=y^\\mathbf{y}_{t+1} = \\hat{\\mathbf{y}}yt+1​=y^​를 관측한 후 사후분포 p(xt+1∣y1:t+1)p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t+1})p(xt+1​∣y1:t+1​)를 구하라. 풀이:\n(a) 결합분포 p(x0,x1,…,xT)p(\\mathbf{x}_0, \\mathbf{x}_1, \\dots, \\mathbf{x}_T)p(x0​,x1​,…,xT​)의 형태와 정당화\n형태: 결합분포 p(x0,x1,…,xT)p(\\mathbf{x}_0, \\mathbf{x}_1, \\dots, \\mathbf{x}_T)p(x0​,x1​,…,xT​)는 다변량 가우시안 분포(Multivariate Gaussian Distribution)이다. 정당화: 마르코프 성질과 확률의 곱의 법칙에 의해 결합분포는 p(x0,…,xT)=p(x0)∏t=0T−1p(xt+1∣xt)p(\\mathbf{x}_0, \\dots, \\mathbf{x}_T) = p(\\mathbf{x}_0) \\prod_{t=0}^{T-1} p(\\mathbf{x}_{t+1} \\mid \\mathbf{x}_t)p(x0​,…,xT​)=p(x0​)∏t=0T−1​p(xt+1​∣xt​)로 표현된다. 시스템 동역학 식을 재귀적으로 전개하면, 각 상태벡터 xt\\mathbf{x}_txt​는 초기 상태 x0\\mathbf{x}_0x0​와 독립 노이즈 벡터들 w0,…,wt−1\\mathbf{w}_0, \\dots, \\mathbf{w}_{t-1}w0​,…,wt−1​의 선형 결합으로 표현된다: xt=Atx0+∑i=0t−1At−1−iwi\\mathbf{x}_t = \\mathbf{A}^t \\mathbf{x}_0 + \\sum_{i=0}^{t-1} \\mathbf{A}^{t-1-i} \\mathbf{w}_ixt​=Atx0​+∑i=0t−1​At−1−iwi​ 초기 상태 x0\\mathbf{x}_0x0​와 노이즈 벡터 wi\\mathbf{w}_iwi​들이 모두 상호 독립인 가우시안 확률벡터이므로, 이들을 쌓은 벡터 [x0⊤,w0⊤,…,wT−1⊤]⊤[\\mathbf{x}_0^\\top, \\mathbf{w}_0^\\top, \\dots, \\mathbf{w}_{T-1}^\\top]^\\top[x0⊤​,w0⊤​,…,wT−1⊤​]⊤는 결합 가우시안 분포를 따른다. 상태 벡터들의 전체 시퀀스 [x0⊤,x1⊤,…,xT⊤]⊤[\\mathbf{x}_0^\\top, \\mathbf{x}_1^\\top, \\dots, \\mathbf{x}_T^\\top]^\\top[x0⊤​,x1⊤​,…,xT⊤​]⊤는 이 결합 가우시안 벡터의 선형 변환(linear transformation)이다. 가우시안 분포의 선형 변환 성질(교재 6.5.3절)에 의해 가우시안 벡터의 임의의 선형 변환은 다시 가우시안 분포를 따르므로, 전체 시퀀스의 결합분포는 결합 가우시안 분포가 된다. (b-1) 상태 예측(Time Update / State Prediction): p(xt+1∣y1:t)p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t})p(xt+1​∣y1:t​) xt+1=Axt+w\\mathbf{x}_{t+1} = \\mathbf{A}\\mathbf{x}_t + \\mathbf{w}xt+1​=Axt​+w이고 w∼N(0,Q)\\mathbf{w} \\sim \\mathcal{N}(\\mathbf{0}, \\mathbf{Q})w∼N(0,Q)는 과거 관측 및 현재 상태와 독립이다.\n기댓값의 선형성에 의한 예측 평균: μt+1∣t=E[xt+1∣y1:t]=E[Axt+w∣y1:t]=AE[xt∣y1:t]+E[w]=Aμt\\boldsymbol{\\mu}_{t+1 \\mid t} = \\mathbb{E}[\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t}] = \\mathbb{E}[\\mathbf{A}\\mathbf{x}_t + \\mathbf{w} \\mid \\mathbf{y}_{1:t}] = \\mathbf{A}\\mathbb{E}[\\mathbf{x}_t \\mid \\mathbf{y}_{1:t}] + \\mathbb{E}[\\mathbf{w}] = \\mathbf{A}\\boldsymbol{\\mu}_tμt+1∣t​=E[xt+1​∣y1:t​]=E[Axt​+w∣y1:t​]=AE[xt​∣y1:t​]+E[w]=Aμt​ 선형 변환의 공분산 공식(교재 식 (6.51))과 독립인 두 변수 합의 분산 공식(식 (6.48)에서 교차공분산이 0)에 의한 예측 공분산: Σt+1∣t=V[xt+1∣y1:t]=V[Axt∣y1:t]+V[w]=AΣtA⊤+Q\\boldsymbol{\\Sigma}_{t+1 \\mid t} = \\mathbb{V}[\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t}] = \\mathbb{V}[\\mathbf{A}\\mathbf{x}_t \\mid \\mathbf{y}_{1:t}] + \\mathbb{V}[\\mathbf{w}] = \\mathbf{A}\\boldsymbol{\\Sigma}_t\\mathbf{A}^\\top + \\mathbf{Q}Σt+1∣t​=V[xt+1​∣y1:t​]=V[Axt​∣y1:t​]+V[w]=AΣt​A⊤+Q 따라서 예측 분포: p(xt+1∣y1:t)=N(xt+1∣μt+1∣t,Σt+1∣t)=N(Aμt, AΣtA⊤+Q)p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t}) = \\mathcal{N}(\\mathbf{x}_{t+1} \\mid \\boldsymbol{\\mu}_{t+1 \\mid t}, \\boldsymbol{\\Sigma}_{t+1 \\mid t}) = \\mathcal{N}(\\mathbf{A}\\boldsymbol{\\mu}_t, \\; \\mathbf{A}\\boldsymbol{\\Sigma}_t\\mathbf{A}^\\top + \\mathbf{Q})p(xt+1​∣y1:t​)=N(xt+1​∣μt+1∣t​,Σt+1∣t​)=N(Aμt​,AΣt​A⊤+Q) (b-2) 상태와 측정값의 결합분포: p(xt+1,yt+1∣y1:t)p(\\mathbf{x}_{t+1}, \\mathbf{y}_{t+1} \\mid \\mathbf{y}_{1:t})p(xt+1​,yt+1​∣y1:t​) 측정 방정식은 yt+1=Cxt+1+vt+1\\mathbf{y}_{t+1} = \\mathbf{C}\\mathbf{x}_{t+1} + \\mathbf{v}_{t+1}yt+1​=Cxt+1​+vt+1​이며 vt+1∼N(0,R)\\mathbf{v}_{t+1} \\sim \\mathcal{N}(\\mathbf{0}, \\mathbf{R})vt+1​∼N(0,R)이다.\n측정값 yt+1\\mathbf{y}_{t+1}yt+1​의 조건부 평균: E[yt+1∣y1:t]=CE[xt+1∣y1:t]+E[vt+1]=Cμt+1∣t=CAμt\\begin{aligned} \u0026amp;\\mathbb{E}[\\mathbf{y}_{t+1} \\mid \\mathbf{y}_{1:t}] \\\\ \u0026amp;\\quad = \\mathbf{C}\\mathbb{E}[\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t}] + \\mathbb{E}[\\mathbf{v}_{t+1}] \\\\ \u0026amp;\\quad = \\mathbf{C}\\boldsymbol{\\mu}_{t+1 \\mid t} = \\mathbf{C}\\mathbf{A}\\boldsymbol{\\mu}_t \\end{aligned}​E[yt+1​∣y1:t​]=CE[xt+1​∣y1:t​]+E[vt+1​]=Cμt+1∣t​=CAμt​​ 측정값 yt+1\\mathbf{y}_{t+1}yt+1​의 조건부 공분산: V[yt+1∣y1:t]=CV[xt+1∣y1:t]C⊤+V[vt+1]=CΣt+1∣tC⊤+R\\begin{aligned} \u0026amp;\\mathbb{V}[\\mathbf{y}_{t+1} \\mid \\mathbf{y}_{1:t}] \\\\ \u0026amp;\\quad = \\mathbf{C}\\mathbb{V}[\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t}]\\mathbf{C}^\\top + \\mathbb{V}[\\mathbf{v}_{t+1}] \\\\ \u0026amp;\\quad = \\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top + \\mathbf{R} \\end{aligned}​V[yt+1​∣y1:t​]=CV[xt+1​∣y1:t​]C⊤+V[vt+1​]=CΣt+1∣t​C⊤+R​ 상태 xt+1\\mathbf{x}_{t+1}xt+1​과 측정값 yt+1\\mathbf{y}_{t+1}yt+1​의 교차공분산(cross-covariance): Cov[xt+1,yt+1∣y1:t]=E[(xt+1−μt+1∣t)(C(xt+1−μt+1∣t)+vt+1)⊤∣y1:t]\\begin{aligned} \u0026amp;\\text{Cov}[\\mathbf{x}_{t+1}, \\mathbf{y}_{t+1} \\mid \\mathbf{y}_{1:t}] \\\\ \u0026amp;\\quad = \\mathbb{E}[(\\mathbf{x}_{t+1} - \\boldsymbol{\\mu}_{t+1 \\mid t}) \\\\ \u0026amp;\\quad (\\mathbf{C}(\\mathbf{x}_{t+1} - \\boldsymbol{\\mu}_{t+1 \\mid t}) + \\mathbf{v}_{t+1})^\\top \\mid \\mathbf{y}_{1:t}] \\end{aligned}​Cov[xt+1​,yt+1​∣y1:t​]=E[(xt+1​−μt+1∣t​)(C(xt+1​−μt+1∣t​)+vt+1​)⊤∣y1:t​]​ =E[(xt+1−μt+1∣t)(xt+1−μt+1∣t)⊤∣y1:t]C⊤+0=Σt+1∣tC⊤\\begin{aligned} \u0026amp;\\quad = \\mathbb{E}[(\\mathbf{x}_{t+1} - \\boldsymbol{\\mu}_{t+1 \\mid t}) \\\\ \u0026amp;\\quad (\\mathbf{x}_{t+1} - \\boldsymbol{\\mu}_{t+1 \\mid t})^\\top \\mid \\mathbf{y}_{1:t}] \\mathbf{C}^\\top + \\mathbf{0} \\\\ \u0026amp;\\quad = \\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top \\end{aligned}​=E[(xt+1​−μt+1∣t​)(xt+1​−μt+1∣t​)⊤∣y1:t​]C⊤+0=Σt+1∣t​C⊤​ 대칭성에 의해 Cov[yt+1,xt+1∣y1:t]=CΣt+1∣t\\text{Cov}[\\mathbf{y}_{t+1}, \\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t}] = \\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t}Cov[yt+1​,xt+1​∣y1:t​]=CΣt+1∣t​.\n따라서 결합분포:\n[xt+1yt+1] ∣ y1:t∼N([μt+1∣tCμt+1∣t],[Σt+1∣tΣt+1∣tC⊤CΣt+1∣tCΣt+1∣tC⊤+R])\\begin{aligned} \u0026amp;\\begin{bmatrix} \\mathbf{x}_{t+1} \\\\ \\mathbf{y}_{t+1} \\end{bmatrix} \\;\\Bigg|\\; \\mathbf{y}_{1:t} \\sim \\mathcal{N}\\left( \\begin{bmatrix} \\boldsymbol{\\mu}_{t+1 \\mid t} \\\\ \\mathbf{C}\\boldsymbol{\\mu}_{t+1 \\mid t} \\end{bmatrix}, \\right. \\\\ \u0026amp;\\qquad \\left. \\begin{bmatrix} \\boldsymbol{\\Sigma}_{t+1 \\mid t} \u0026amp; \\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top \\\\ \\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t} \u0026amp; \\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top + \\mathbf{R} \\end{bmatrix} \\right) \\end{aligned}​[xt+1​yt+1​​]​y1:t​∼N([μt+1∣t​Cμt+1∣t​​],[Σt+1∣t​CΣt+1∣t​​Σt+1∣t​C⊤CΣt+1∣t​C⊤+R​])​ (b-3) 측정 갱신(Measurement Update): p(xt+1∣y1:t+1)p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t+1})p(xt+1​∣y1:t+1​) 새로운 관측값 yt+1=y^\\mathbf{y}_{t+1} = \\hat{\\mathbf{y}}yt+1​=y^​가 주어졌을 때 조건부 가우시안 공식(교재 6.5.1절 식 (6.65)~(6.67))을 결합분포에 적용한다.\n칼만 이득 행렬(Kalman Gain) Kt+1\\mathbf{K}_{t+1}Kt+1​ 정의: Kt+1=Cov[xt+1,yt+1](V[yt+1])−1=Σt+1∣tC⊤(CΣt+1∣tC⊤+R)−1\\mathbf{K}_{t+1} = \\text{Cov}[\\mathbf{x}_{t+1}, \\mathbf{y}_{t+1}]\\left(\\mathbb{V}[\\mathbf{y}_{t+1}]\\right)^{-1} = \\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top \\left( \\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top + \\mathbf{R} \\right)^{-1}Kt+1​=Cov[xt+1​,yt+1​](V[yt+1​])−1=Σt+1∣t​C⊤(CΣt+1∣t​C⊤+R)−1 사후 평균 벡터 갱신: μt+1=μt+1∣t+Kt+1(y^−Cμt+1∣t)\\boldsymbol{\\mu}_{t+1} = \\boldsymbol{\\mu}_{t+1 \\mid t} + \\mathbf{K}_{t+1} \\left( \\hat{\\mathbf{y}} - \\mathbf{C}\\boldsymbol{\\mu}_{t+1 \\mid t} \\right)μt+1​=μt+1∣t​+Kt+1​(y^​−Cμt+1∣t​) 사후 공분산 행렬 갱신: Σt+1=Σt+1∣t−Kt+1CΣt+1∣t=(I−Kt+1C)Σt+1∣t\\boldsymbol{\\Sigma}_{t+1} = \\boldsymbol{\\Sigma}_{t+1 \\mid t} - \\mathbf{K}_{t+1} \\mathbf{C} \\boldsymbol{\\Sigma}_{t+1 \\mid t} = (\\mathbf{I} - \\mathbf{K}_{t+1}\\mathbf{C})\\boldsymbol{\\Sigma}_{t+1 \\mid t}Σt+1​=Σt+1∣t​−Kt+1​CΣt+1∣t​=(I−Kt+1​C)Σt+1∣t​ 따라서 갱신된 사후분포: p(xt+1∣y1:t+1)=N(xt+1∣μt+1,Σt+1)p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t+1}) = \\mathcal{N}(\\mathbf{x}_{t+1} \\mid \\boldsymbol{\\mu}_{t+1}, \\boldsymbol{\\Sigma}_{t+1})p(xt+1​∣y1:t+1​)=N(xt+1​∣μt+1​,Σt+1​) 답:\n(a) 다변량 가우시안 분포(Multivariate Gaussian). (이유: 초기 가우시안 상태와 독립 가우시안 노이즈들의 선형 동역학 결합이기 때문)\n(b-1)\np(xt+1∣y1:t)=N(Aμt, AΣtA⊤+Q)\\begin{aligned} \u0026amp;p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t}) \\\\ \u0026amp;\\quad = \\mathcal{N}(\\mathbf{A}\\boldsymbol{\\mu}_t, \\; \\mathbf{A}\\boldsymbol{\\Sigma}_t\\mathbf{A}^\\top + \\mathbf{Q}) \\end{aligned}​p(xt+1​∣y1:t​)=N(Aμt​,AΣt​A⊤+Q)​ (b-2)\n[xt+1yt+1] ∣ y1:t∼N([AμtCAμt],[Σt+1∣tΣt+1∣tC⊤CΣt+1∣tCΣt+1∣tC⊤+R])\\begin{aligned} \u0026amp;\\begin{bmatrix} \\mathbf{x}_{t+1} \\\\ \\mathbf{y}_{t+1} \\end{bmatrix} \\;\\Bigg|\\; \\mathbf{y}_{1:t} \\sim \\mathcal{N}\\left( \\begin{bmatrix} \\mathbf{A}\\boldsymbol{\\mu}_t \\\\ \\mathbf{C}\\mathbf{A}\\boldsymbol{\\mu}_t \\end{bmatrix}, \\right. \\\\ \u0026amp;\\qquad \\left. \\begin{bmatrix} \\boldsymbol{\\Sigma}_{t+1 \\mid t} \u0026amp; \\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top \\\\ \\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t} \u0026amp; \\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top + \\mathbf{R} \\end{bmatrix} \\right) \\end{aligned}​[xt+1​yt+1​​]​y1:t​∼N([Aμt​CAμt​​],[Σt+1∣t​CΣt+1∣t​​Σt+1∣t​C⊤CΣt+1∣t​C⊤+R​])​(단, Σt+1∣t=AΣtA⊤+Q\\boldsymbol{\\Sigma}_{t+1 \\mid t} = \\mathbf{A}\\boldsymbol{\\Sigma}_t\\mathbf{A}^\\top + \\mathbf{Q}Σt+1∣t​=AΣt​A⊤+Q)\n(b-3)\np(xt+1∣y1:t+1)=N(μt+1,Σt+1)p(\\mathbf{x}_{t+1} \\mid \\mathbf{y}_{1:t+1}) = \\mathcal{N}(\\boldsymbol{\\mu}_{t+1}, \\boldsymbol{\\Sigma}_{t+1})p(xt+1​∣y1:t+1​)=N(μt+1​,Σt+1​)Kt+1=Σt+1∣tC⊤(CΣt+1∣tC⊤+R)−1\\begin{aligned} \u0026amp;\\mathbf{K}_{t+1} \\\\ \u0026amp;\\quad = \\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top (\\mathbf{C}\\boldsymbol{\\Sigma}_{t+1 \\mid t}\\mathbf{C}^\\top + \\mathbf{R})^{-1} \\end{aligned}​Kt+1​=Σt+1∣t​C⊤(CΣt+1∣t​C⊤+R)−1​\nμt+1=Aμt+Kt+1(y^−CAμt)\\boldsymbol{\\mu}_{t+1} = \\mathbf{A}\\boldsymbol{\\mu}_t + \\mathbf{K}_{t+1}(\\hat{\\mathbf{y}} - \\mathbf{C}\\mathbf{A}\\boldsymbol{\\mu}_t)μt+1​=Aμt​+Kt+1​(y^​−CAμt​)\nΣt+1=(I−Kt+1C)Σt+1∣t\\boldsymbol{\\Sigma}_{t+1} = (\\mathbf{I} - \\mathbf{K}_{t+1}\\mathbf{C})\\boldsymbol{\\Sigma}_{t+1 \\mid t}Σt+1​=(I−Kt+1​C)Σt+1∣t​ 6.6 분산 정의와 원점수 공식의 등가성 증명 문제:\n교재 식 (6.43)의 표준 분산 정의 VX[x]:=EX[(x−μ)2]\\mathbb{V}_X[x] := \\mathbb{E}_X[(x - \\mu)^2]VX​[x]:=EX​[(x−μ)2]로부터, 원점수 분산 공식(raw-score formula)인 식 (6.44) VX[x]=EX[x2]−(EX[x])2\\mathbb{V}_X[x] = \\mathbb{E}_X[x^2] - (\\mathbb{E}_X[x])^2VX​[x]=EX​[x2]−(EX​[x])2를 유도하라.\n풀이:\n분산의 표준 정의(교재 식 (6.43)):\n평균을 μ:=EX[x]\\mu := \\mathbb{E}_X[x]μ:=EX​[x]라 할 때, VX[x]=EX[(x−μ)2]\\mathbb{V}_X[x] = \\mathbb{E}_X\\left[(x - \\mu)^2\\right]VX​[x]=EX​[(x−μ)2] 기댓값 내부의 완전제곱식 전개:\n(x−μ)2=x2−2μx+μ2(x - \\mu)^2 = x^2 - 2\\mu x + \\mu^2(x−μ)2=x2−2μx+μ2 기댓값의 선형성(교재 정의 6.3 뒤의 설명) 적용:\n합과 스칼라 곱에 대해 기댓값 연산자를 분배한다: EX[(x−μ)2]=EX[x2−2μx+μ2]=EX[x2]−EX[2μx]+EX[μ2]\\mathbb{E}_X\\left[(x - \\mu)^2\\right] = \\mathbb{E}_X\\left[x^2 - 2\\mu x + \\mu^2\\right] = \\mathbb{E}_X[x^2] - \\mathbb{E}_X[2\\mu x] + \\mathbb{E}_X[\\mu^2]EX​[(x−μ)2]=EX​[x2−2μx+μ2]=EX​[x2]−EX​[2μx]+EX​[μ2] 상수 성질 적용:\nμ\\muμ는 확정된 상수(스칼라)이므로 EX[2μx]=2μEX[x]\\mathbb{E}_X[2\\mu x] = 2\\mu \\mathbb{E}_X[x]EX​[2μx]=2μEX​[x]이고, 상수의 기댓값은 자기 자신이므로 EX[μ2]=μ2\\mathbb{E}_X[\\mu^2] = \\mu^2EX​[μ2]=μ2이다: =EX[x2]−2μEX[x]+μ2= \\mathbb{E}_X[x^2] - 2\\mu \\mathbb{E}_X[x] + \\mu^2=EX​[x2]−2μEX​[x]+μ2 μ=EX[x]\\mu = \\mathbb{E}_X[x]μ=EX​[x] 치환 및 동류항 정리:\n=EX[x2]−2(EX[x])(EX[x])+(EX[x])2= \\mathbb{E}_X[x^2] - 2(\\mathbb{E}_X[x])(\\mathbb{E}_X[x]) + (\\mathbb{E}_X[x])^2=EX​[x2]−2(EX​[x])(EX​[x])+(EX​[x])2 =EX[x2]−2(EX[x])2+(EX[x])2= \\mathbb{E}_X[x^2] - 2(\\mathbb{E}_X[x])^2 + (\\mathbb{E}_X[x])^2=EX​[x2]−2(EX​[x])2+(EX​[x])2 =EX[x2]−(EX[x])2= \\mathbb{E}_X[x^2] - (\\mathbb{E}_X[x])^2=EX​[x2]−(EX​[x])2 이로써 식 (6.44)가 완전히 증명되었다. 답:\nVX[x]=EX[(x−μ)2]=EX[x2]−2μE[x]+μ2=EX[x2]−(EX[x])2(증명 완료)\\begin{aligned} \u0026amp;\\mathbb{V}_X[x] = \\mathbb{E}_X[(x - \\mu)^2] \\\\ \u0026amp;\\quad = \\mathbb{E}_X[x^2] - 2\\mu\\mathbb{E}[x] + \\mu^2 \\\\ \u0026amp;\\quad = \\mathbb{E}_X[x^2] - (\\mathbb{E}_X[x])^2\\quad \\text{(증명 완료)} \\end{aligned}​VX​[x]=EX​[(x−μ)2]=EX​[x2]−2μE[x]+μ2=EX​[x2]−(EX​[x])2(증명 완료)​ 6.7 데이터 쌍간 차이와 표본분산의 관계 증명 문제:\n데이터셋 표본 x1,…,xNx_1, \\dots, x_Nx1​,…,xN​에 대해 모든 쌍의 제곱 차이의 평균과 원점수 표본분산 공식 사이의 관계식인 식 (6.45)를 증명하라: 1N2∑i=1N∑j=1N(xi−xj)2=2[1N∑i=1Nxi2−(1N∑i=1Nxi)2]\\begin{aligned} \u0026amp;\\frac{1}{N^2} \\sum_{i=1}^N \\sum_{j=1}^N (x_i - x_j)^2 \\\\ \u0026amp;\\quad = 2 \\left[ \\frac{1}{N}\\sum_{i=1}^N x_i^2 - \\left( \\frac{1}{N}\\sum_{i=1}^N x_i \\right)^2 \\right] \\end{aligned}​N21​i=1∑N​j=1∑N​(xi​−xj​)2=2​N1​i=1∑N​xi2​−(N1​i=1∑N​xi​)2​​풀이:\n좌변의 제곱항 전개:\n(xi−xj)2=xi2−2xixj+xj2(x_i - x_j)^2 = x_i^2 - 2x_i x_j + x_j^2(xi​−xj​)2=xi2​−2xi​xj​+xj2​ 이므로: ∑i=1N∑j=1N(xi−xj)2=∑i=1N∑j=1N(xi2−2xixj+xj2)\\sum_{i=1}^N \\sum_{j=1}^N (x_i - x_j)^2 = \\sum_{i=1}^N \\sum_{j=1}^N \\left( x_i^2 - 2x_i x_j + x_j^2 \\right)∑i=1N​∑j=1N​(xi​−xj​)2=∑i=1N​∑j=1N​(xi2​−2xi​xj​+xj2​) 이중합 기호를 각 항으로 분배:\n=∑i=1N∑j=1Nxi2−2∑i=1N∑j=1Nxixj+∑i=1N∑j=1Nxj2= \\sum_{i=1}^N \\sum_{j=1}^N x_i^2 - 2 \\sum_{i=1}^N \\sum_{j=1}^N x_i x_j + \\sum_{i=1}^N \\sum_{j=1}^N x_j^2=∑i=1N​∑j=1N​xi2​−2∑i=1N​∑j=1N​xi​xj​+∑i=1N​∑j=1N​xj2​ 각 항의 합산 계산: 첫 번째 항: jjj에 무관하므로 jjj에 대해 NNN번 더해진다: ∑j=1N∑i=1Nxi2=N∑i=1Nxi2\\sum_{j=1}^N \\sum_{i=1}^N x_i^2 = N \\sum_{i=1}^N x_i^2∑j=1N​∑i=1N​xi2​=N∑i=1N​xi2​ 세 번째 항: iii에 무관하므로 iii에 대해 NNN번 더해지며, 인덱스만 다를 뿐 동일한 합이다: ∑i=1N∑j=1Nxj2=N∑j=1Nxj2=N∑i=1Nxi2\\sum_{i=1}^N \\sum_{j=1}^N x_j^2 = N \\sum_{j=1}^N x_j^2 = N \\sum_{i=1}^N x_i^2∑i=1N​∑j=1N​xj2​=N∑j=1N​xj2​=N∑i=1N​xi2​ 두 번째 항: xix_ixi​와 xjx_jxj​의 합이 서로 분리된다: ∑i=1N∑j=1Nxixj=(∑i=1Nxi)(∑j=1Nxj)=(∑i=1Nxi)2\\sum_{i=1}^N \\sum_{j=1}^N x_i x_j = \\left( \\sum_{i=1}^N x_i \\right) \\left( \\sum_{j=1}^N x_j \\right) = \\left( \\sum_{i=1}^N x_i \\right)^2∑i=1N​∑j=1N​xi​xj​=(∑i=1N​xi​)(∑j=1N​xj​)=(∑i=1N​xi​)2 합산 결과 결합:\n∑i=1N∑j=1N(xi−xj)2=N∑i=1Nxi2−2(∑i=1Nxi)2+N∑i=1Nxi2=2N∑i=1Nxi2−2(∑i=1Nxi)2\\sum_{i=1}^N \\sum_{j=1}^N (x_i - x_j)^2 = N \\sum_{i=1}^N x_i^2 - 2 \\left( \\sum_{i=1}^N x_i \\right)^2 + N \\sum_{i=1}^N x_i^2 = 2N \\sum_{i=1}^N x_i^2 - 2 \\left( \\sum_{i=1}^N x_i \\right)^2∑i=1N​∑j=1N​(xi​−xj​)2=N∑i=1N​xi2​−2(∑i=1N​xi​)2+N∑i=1N​xi2​=2N∑i=1N​xi2​−2(∑i=1N​xi​)2 양변을 N2N^2N2으로 나누기:\n1N2∑i=1N∑j=1N(xi−xj)2=2NN2∑i=1Nxi2−2N2(∑i=1Nxi)2\\frac{1}{N^2} \\sum_{i=1}^N \\sum_{j=1}^N (x_i - x_j)^2 = \\frac{2N}{N^2} \\sum_{i=1}^N x_i^2 - \\frac{2}{N^2} \\left( \\sum_{i=1}^N x_i \\right)^2N21​∑i=1N​∑j=1N​(xi​−xj​)2=N22N​∑i=1N​xi2​−N22​(∑i=1N​xi​)2 공통인수 2를 묶고 정리:\n=2[1N∑i=1Nxi2−(1N∑i=1Nxi)2]= 2 \\left[ \\frac{1}{N} \\sum_{i=1}^N x_i^2 - \\left( \\frac{1}{N} \\sum_{i=1}^N x_i \\right)^2 \\right]=2[N1​∑i=1N​xi2​−(N1​∑i=1N​xi​)2] 이로써 교재 식 (6.45)가 증명되었다. 답:\n1N2∑i=1N∑j=1N(xi−xj)2=2N∑i=1Nxi2−2(1N∑i=1Nxi)2=2[1N∑i=1Nxi2−(1N∑i=1Nxi)2](증명 완료)\\begin{aligned} \u0026amp;\\frac{1}{N^2} \\sum_{i=1}^N \\sum_{j=1}^N (x_i - x_j)^2 \\\\ \u0026amp;\\quad = \\frac{2}{N}\\sum_{i=1}^N x_i^2 - 2\\left(\\frac{1}{N}\\sum_{i=1}^N x_i\\right)^2 \\\\ \u0026amp;\\quad = 2 \\left[ \\frac{1}{N}\\sum_{i=1}^N x_i^2 - \\left( \\frac{1}{N}\\sum_{i=1}^N x_i \\right)^2 \\right] \\\\ \u0026amp;\\text{(증명 완료)} \\end{aligned}​N21​i=1∑N​j=1∑N​(xi​−xj​)2=N2​i=1∑N​xi2​−2(N1​i=1∑N​xi​)2=2​N1​i=1∑N​xi2​−(N1​i=1∑N​xi​)2​(증명 완료)​확인:\n괄호 안의 식은 데이터의 표본분산 σ^2\\hat{\\sigma}^2σ^2이므로, 모든 점 쌍 사이의 평균 제곱 거리는 분산의 정확히 2배(2V[X]2\\mathbb{V}[X]2V[X])가 된다. X1,X2X_1, X_2X1​,X2​가 i.i.d.일 때 E[(X1−X2)2]=V[X1−X2]=V[X1]+V[X2]=2V[X]\\mathbb{E}[(X_1 - X_2)^2] = \\mathbb{V}[X_1 - X_2] = \\mathbb{V}[X_1] + \\mathbb{V}[X_2] = 2\\mathbb{V}[X]E[(X1​−X2​)2]=V[X1​−X2​]=V[X1​]+V[X2​]=2V[X]라는 이론적 관계와 완벽히 일치함.\n6.8 베르누이 분포의 지수족 자연모수 형태 표현 문제:\n베르누이 분포 p(x∣μ)=μx(1−μ)1−xp(x \\mid \\mu) = \\mu^x (1 - \\mu)^{1-x}p(x∣μ)=μx(1−μ)1−x (x∈{0,1}x \\in \\{0, 1\\}x∈{0,1})를 교재 식 (6.107)의 지수족 자연모수(natural parameter) 표준형으로 표현하라: p(x∣θ)=h(x)exp⁡(⟨θ,ϕ(x)⟩−A(θ))p(x \\mid \\theta) = h(x) \\exp\\left( \\langle \\theta, \\phi(x) \\rangle - A(\\theta) \\right)p(x∣θ)=h(x)exp(⟨θ,ϕ(x)⟩−A(θ))풀이:\n교재 예제 6.14(212쪽)와 같은 계산이다.\n베르누이 PMF를 지수함수 형태로 변환:\n지수함수와 로그함수의 역관계 a=exp⁡(ln⁡a)a = \\exp(\\ln a)a=exp(lna)를 이용한다: p(x∣μ)=μx(1−μ)1−x=exp⁡(ln⁡(μx(1−μ)1−x))\\begin{aligned} p(x \\mid \\mu) \u0026amp;= \\mu^x (1 - \\mu)^{1-x} \\\\ \u0026amp;= \\exp\\left( \\ln\\left( \\mu^x (1 - \\mu)^{1-x} \\right) \\right) \\end{aligned}p(x∣μ)​=μx(1−μ)1−x=exp(ln(μx(1−μ)1−x))​ 로그 성질을 이용하여 지수를 덧셈 형태로 분해:\n=exp⁡(xln⁡μ+(1−x)ln⁡(1−μ))= \\exp\\left( x \\ln \\mu + (1 - x) \\ln(1 - \\mu) \\right)=exp(xlnμ+(1−x)ln(1−μ)) xxx에 관한 항과 상수항으로 정리:\n=exp⁡(xln⁡μ−xln⁡(1−μ)+ln⁡(1−μ))=exp⁡(xln⁡(μ1−μ)+ln⁡(1−μ))\\begin{aligned} \u0026amp;= \\exp\\bigl( x \\ln \\mu - x \\ln(1 - \\mu) \\\\ \u0026amp;\\quad + \\ln(1 - \\mu) \\bigr) \\\\ \u0026amp;\\quad = \\exp\\biggl( x \\ln\\left(\\frac{\\mu}{1 - \\mu}\\right) \\\\ \u0026amp;\\quad + \\ln(1 - \\mu) \\biggr) \\end{aligned}​=exp(xlnμ−xln(1−μ)+ln(1−μ))=exp(xln(1−μμ​)+ln(1−μ))​ 지수족 표준형과 각 구성요소 매칭:\n지수족 표준형 exp⁡(θϕ(x)−A(θ))\\exp(\\theta \\phi(x) - A(\\theta))exp(θϕ(x)−A(θ))와 대조한다:\n충분통계량 (Sufficient Statistic): ϕ(x)=x\\phi(x) = xϕ(x)=x 자연모수 (Natural Parameter): θ=ln⁡(μ1−μ)\\theta = \\ln\\left(\\frac{\\mu}{1 - \\mu}\\right)θ=ln(1−μμ​) (로짓 함수, log-odds) 기저 측도 (Base Measure): h(x)=1h(x) = 1h(x)=1 (x∈{0,1}x \\in \\{0, 1\\}x∈{0,1}) 로그 정규화 분할함수 (Log-partition Function): −A(θ)=ln⁡(1−μ) ⟹ A(θ)=−ln⁡(1−μ)-A(\\theta) = \\ln(1 - \\mu) \\implies A(\\theta) = -\\ln(1 - \\mu)−A(θ)=ln(1−μ)⟹A(θ)=−ln(1−μ) A(θ)A(\\theta)A(θ)를 자연모수 θ\\thetaθ의 함수로 표현:\nθ=ln⁡(μ1−μ) ⟹ eθ=μ1−μ ⟹ μ=eθ1+eθ\\theta = \\ln\\left(\\frac{\\mu}{1 - \\mu}\\right) \\implies e^\\theta = \\frac{\\mu}{1 - \\mu} \\implies \\mu = \\frac{e^\\theta}{1 + e^\\theta}θ=ln(1−μμ​)⟹eθ=1−μμ​⟹μ=1+eθeθ​ (시그모이드 함수).\n따라서 1−μ=1−eθ1+eθ=11+eθ1 - \\mu = 1 - \\frac{e^\\theta}{1 + e^\\theta} = \\frac{1}{1 + e^\\theta}1−μ=1−1+eθeθ​=1+eθ1​ 이다. A(θ)=−ln⁡(11+eθ)=ln⁡(1+eθ)A(\\theta) = -\\ln\\left(\\frac{1}{1 + e^\\theta}\\right) = \\ln(1 + e^\\theta)A(θ)=−ln(1+eθ1​)=ln(1+eθ) 최종 지수족 형태 합성:\np(x∣θ)=1⋅exp⁡(θx−ln⁡(1+eθ))p(x \\mid \\theta) = 1 \\cdot \\exp\\left( \\theta x - \\ln(1 + e^\\theta) \\right)p(x∣θ)=1⋅exp(θx−ln(1+eθ)) 답:\n자연모수: θ=ln⁡(μ1−μ)\\theta = \\ln\\left(\\frac{\\mu}{1 - \\mu}\\right)θ=ln(1−μμ​) 충분통계량: ϕ(x)=x\\phi(x) = xϕ(x)=x 기저 측도: h(x)=1h(x) = 1h(x)=1 로그 분할함수: A(θ)=ln⁡(1+eθ)A(\\theta) = \\ln(1 + e^\\theta)A(θ)=ln(1+eθ) 표준형 표현:\np(x∣θ)=exp⁡(θx−ln⁡(1+eθ))\\mathbf{p(x \\mid \\theta) = \\exp\\left( \\theta x - \\ln(1 + e^\\theta) \\right)}p(x∣θ)=exp(θx−ln(1+eθ)) 확인:\n(교재 밖 보충) 지수족에서는 로그 분할함수의 1차 미분이 충분통계량의 기댓값이다:\n∇θA(θ)=ddθln⁡(1+eθ)=eθ1+eθ=μ=E[x]\\nabla_\\theta A(\\theta) = \\frac{d}{d\\theta}\\ln(1 + e^\\theta) = \\frac{e^\\theta}{1 + e^\\theta} = \\mu = \\mathbb{E}[x]∇θ​A(θ)=dθd​ln(1+eθ)=1+eθeθ​=μ=E[x]. 정확히 성립함.\n6.9 이항분포와 베타분포의 지수족 표현 및 곱의 지수족 성질 문제:\n(a) 이항분포(Binomial distribution)를 지수족 형태로 표현하라.\n(b) 베타분포(Beta distribution)를 지수족 형태로 표현하라.\n(c) 베타분포와 이항분포의 곱 역시 지수족에 속함을 보여라.\n풀이:\n(a) 이항분포의 지수족 표현\n이항분포의 확률질량함수: p(x∣μ,N)=(Nx)μx(1−μ)N−xp(x \\mid \\mu, N) = \\binom{N}{x} \\mu^x (1 - \\mu)^{N - x}p(x∣μ,N)=(xN​)μx(1−μ)N−x (x∈{0,1,…,N}x \\in \\{0, 1, \\dots, N\\}x∈{0,1,…,N}).\n로그와 지수를 취해 변형:\np(x∣μ,N)=(Nx)exp⁡(xln⁡μ+(N−x)ln⁡(1−μ))=(Nx)exp⁡(xln⁡(μ1−μ)+Nln⁡(1−μ))\\begin{aligned} \u0026amp;p(x \\mid \\mu, N) = \\binom{N}{x} \\exp\\bigl( x \\ln \\mu \\\\ \u0026amp;\\quad + (N - x) \\ln(1 - \\mu) \\bigr) \\\\ \u0026amp;\\quad = \\binom{N}{x} \\exp\\biggl( x \\ln\\left(\\frac{\\mu}{1 - \\mu}\\right) \\\\ \u0026amp;\\quad + N \\ln(1 - \\mu) \\biggr) \\end{aligned}​p(x∣μ,N)=(xN​)exp(xlnμ+(N−x)ln(1−μ))=(xN​)exp(xln(1−μμ​)+Nln(1−μ))​ 지수족 성분 대조:\n기저 측도: h(x)=(Nx)h(x) = \\binom{N}{x}h(x)=(xN​) 자연모수: θ=ln⁡(μ1−μ)\\theta = \\ln\\left(\\frac{\\mu}{1 - \\mu}\\right)θ=ln(1−μμ​) 충분통계량: ϕ(x)=x\\phi(x) = xϕ(x)=x 로그 분할함수: 1−μ=11+eθ1 - \\mu = \\frac{1}{1 + e^\\theta}1−μ=1+eθ1​ 이므로 A(θ)=−Nln⁡(1−μ)=Nln⁡(1+eθ)A(\\theta) = -N \\ln(1 - \\mu) = N \\ln(1 + e^\\theta)A(θ)=−Nln(1−μ)=Nln(1+eθ) 지수족 표현: p(x∣θ)=(Nx)exp⁡(θx−Nln⁡(1+eθ))\\begin{aligned} \u0026amp;p(x \\mid \\theta) \\\\ \u0026amp;\\quad = \\binom{N}{x} \\exp\\left( \\theta x - N \\ln(1 + e^\\theta) \\right) \\end{aligned}​p(x∣θ)=(xN​)exp(θx−Nln(1+eθ))​ (b) 베타분포의 지수족 표현\n모수 μ∈(0,1)\\mu \\in (0, 1)μ∈(0,1)에 대한 베타분포의 확률밀도함수(초모수 α,β\\alpha, \\betaα,β): p(μ∣α,β)=1B(α,β)μα−1(1−μ)β−1p(\\mu \\mid \\alpha, \\beta) = \\frac{1}{\\text{B}(\\alpha, \\beta)} \\mu^{\\alpha - 1} (1 - \\mu)^{\\beta - 1}p(μ∣α,β)=B(α,β)1​μα−1(1−μ)β−1 지수 형태로 변환:\np(μ∣α,β)=exp⁡((α−1)ln⁡μ+(β−1)ln⁡(1−μ)−ln⁡B(α,β))\\begin{aligned} \u0026amp;p(\\mu \\mid \\alpha, \\beta) = \\exp\\bigl( (\\alpha - 1)\\ln \\mu \\\\ \u0026amp;\\quad + (\\beta - 1)\\ln(1 - \\mu) - \\ln\\text{B}(\\alpha, \\beta) \\bigr) \\end{aligned}​p(μ∣α,β)=exp((α−1)lnμ+(β−1)ln(1−μ)−lnB(α,β))​ 다차원 지수족 벡터 내적 ⟨θ,ϕ(μ)⟩\\langle \\boldsymbol{\\theta}, \\boldsymbol{\\phi}(\\mu) \\rangle⟨θ,ϕ(μ)⟩ 형태로 정리:\n기저 측도: h(μ)=1h(\\mu) = 1h(μ)=1 자연모수 벡터: θ=[θ1θ2]=[α−1β−1]\\boldsymbol{\\theta} = \\begin{bmatrix} \\theta_1 \\\\ \\theta_2 \\end{bmatrix} = \\begin{bmatrix} \\alpha - 1 \\\\ \\beta - 1 \\end{bmatrix}θ=[θ1​θ2​​]=[α−1β−1​] 충분통계량 벡터: ϕ(μ)=[ln⁡μln⁡(1−μ)]\\boldsymbol{\\phi}(\\mu) = \\begin{bmatrix} \\ln \\mu \\\\ \\ln(1 - \\mu) \\end{bmatrix}ϕ(μ)=[lnμln(1−μ)​] 로그 분할함수: A(θ)=ln⁡B(α,β)=ln⁡B(θ1+1,θ2+1)=ln⁡(Γ(θ1+1)Γ(θ2+1)Γ(θ1+θ2+2))A(\\boldsymbol{\\theta}) = \\ln\\text{B}(\\alpha, \\beta) = \\ln\\text{B}(\\theta_1 + 1, \\theta_2 + 1) = \\ln\\left( \\frac{\\Gamma(\\theta_1 + 1)\\Gamma(\\theta_2 + 1)}{\\Gamma(\\theta_1 + \\theta_2 + 2)} \\right)A(θ)=lnB(α,β)=lnB(θ1​+1,θ2​+1)=ln(Γ(θ1​+θ2​+2)Γ(θ1​+1)Γ(θ2​+1)​) 지수족 표현:\np(μ∣θ)=exp⁡(θ⊤ϕ(μ)−A(θ))=exp⁡((α−1)ln⁡μ+(β−1)ln⁡(1−μ)−ln⁡B(α,β))\\begin{aligned} \u0026amp;p(\\mu \\mid \\boldsymbol{\\theta}) = \\exp\\bigl( \\boldsymbol{\\theta}^\\top \\boldsymbol{\\phi}(\\mu) - A(\\boldsymbol{\\theta}) \\bigr) \\\\ \u0026amp;\\quad = \\exp\\bigl( (\\alpha - 1)\\ln \\mu \\\\ \u0026amp;\\quad + (\\beta - 1)\\ln(1 - \\mu) - \\ln\\text{B}(\\alpha, \\beta) \\bigr) \\end{aligned}​p(μ∣θ)=exp(θ⊤ϕ(μ)−A(θ))=exp((α−1)lnμ+(β−1)ln(1−μ)−lnB(α,β))​ (c) 베타분포와 이항분포의 곱의 지수족 증명 베이지안 추론에서 모수 μ\\muμ에 대한 결합확률(또는 비정규화 사후분포)로서 두 분포의 곱을 고려한다:\n두 확률밀도/질량함수의 곱 구성: p(x,μ)=p(x∣μ,N)p(μ∣α,β)=[(Nx)μx(1−μ)N−x]×[1B(α,β)μα−1(1−μ)β−1]\\begin{aligned} \u0026amp;p(x, \\mu) = p(x \\mid \\mu, N) p(\\mu \\mid \\alpha, \\beta) \\\\ \u0026amp;\\quad = \\bigl[ \\binom{N}{x} \\mu^x \\\\ \u0026amp;\\quad (1 - \\mu)^{N - x} \\bigr] \\times \\biggl[ \\frac{1}{\\text{B}(\\alpha, \\beta)} \\mu^{\\alpha - 1} \\\\ \u0026amp;\\quad (1 - \\mu)^{\\beta - 1} \\biggr] \\end{aligned}​p(x,μ)=p(x∣μ,N)p(μ∣α,β)=[(xN​)μx(1−μ)N−x]×[B(α,β)1​μα−1(1−μ)β−1]​ μ\\muμ에 관한 밑이 같은 항들을 묶기: =(Nx)B(α,β)μ(α+x)−1(1−μ)(β+N−x)−1= \\frac{\\binom{N}{x}}{\\text{B}(\\alpha, \\beta)} \\mu^{(\\alpha + x) - 1} (1 - \\mu)^{(\\beta + N - x) - 1}=B(α,β)(xN​)​μ(α+x)−1(1−μ)(β+N−x)−1 지수형태로 표현:\n=(Nx)B(α,β)exp⁡((α+x−1)ln⁡μ+(β+N−x−1)ln⁡(1−μ))\\begin{aligned} \u0026amp;= \\frac{\\binom{N}{x}}{\\text{B}(\\alpha, \\beta)} \\exp\\bigl( (\\alpha + x - 1)\\ln \\mu \\\\ \u0026amp;\\quad + (\\beta + N - x - 1)\\ln(1 - \\mu) \\bigr) \\end{aligned}​=B(α,β)(xN​)​exp((α+x−1)lnμ+(β+N−x−1)ln(1−μ))​ 분석: μ\\muμ를 확률변수로 볼 때, 충분통계량은 ϕ(μ)=[ln⁡μ,ln⁡(1−μ)]⊤\\boldsymbol{\\phi}(\\mu) = [\\ln \\mu, \\ln(1 - \\mu)]^\\topϕ(μ)=[lnμ,ln(1−μ)]⊤로 베타분포와 완전히 동일하며, 자연모수는 단순히 두 분포의 기여가 선형 합산된 형태이다: θ~=[α+x−1β+N−x−1]=θBeta+[xN−x]\\begin{aligned} \\tilde{\\boldsymbol{\\theta}} \u0026amp;= \\begin{bmatrix} \\alpha + x - 1 \\\\ \\beta + N - x - 1 \\end{bmatrix} \\\\ \u0026amp;= \\boldsymbol{\\theta}_{\\text{Beta}} + \\begin{bmatrix} x \\\\ N - x \\end{bmatrix} \\end{aligned}θ~​=[α+x−1β+N−x−1​]=θBeta​+[xN−x​]​ 정규화 상수 B(α+x,β+N−x)\\text{B}(\\alpha + x, \\beta + N - x)B(α+x,β+N−x)를 도입하면 이는 정확히 새로운 모수를 갖는 베타분포 Beta(α+x,β+N−x)\\text{Beta}(\\alpha + x, \\beta + N - x)Beta(α+x,β+N−x)가 되며, 이는 여전히 지수족에 속한다. 따라서 베타분포와 이항분포의 곱은 지수족에 속한다.\n답:\n이항분포: p(x∣θ)=(Nx)exp⁡(θx−Nln⁡(1+eθ))p(x \\mid \\theta) = \\binom{N}{x} \\exp\\left( \\theta x - N \\ln(1 + e^\\theta) \\right)p(x∣θ)=(xN​)exp(θx−Nln(1+eθ)) (θ=ln⁡μ1−μ\\theta = \\ln\\frac{\\mu}{1-\\mu}θ=ln1−μμ​) 베타분포: p(μ∣θ)=exp⁡(θ⊤[ln⁡μln⁡(1−μ)]−ln⁡B(θ1+1,θ2+1))p(\\mu \\mid \\boldsymbol{\\theta}) = \\exp\\Bigl( \\boldsymbol{\\theta}^\\top \\begin{bmatrix} \\ln \\mu \\\\ \\ln(1 - \\mu) \\end{bmatrix} - \\ln\\text{B}(\\theta_1 + 1, \\theta_2 + 1) \\Bigr)p(μ∣θ)=exp(θ⊤[lnμln(1−μ)​]−lnB(θ1​+1,θ2​+1)) (θ=[α−1,β−1]⊤\\boldsymbol{\\theta} = [\\alpha - 1, \\beta - 1]^\\topθ=[α−1,β−1]⊤) 곱의 지수족 성질:\n두 함수의 곱은 μ\\muμ에 대해 동일한 충분통계량 [ln⁡μ,ln⁡(1−μ)]⊤[\\ln \\mu, \\ln(1 - \\mu)]^\\top[lnμ,ln(1−μ)]⊤을 공유하고 자연모수가 선형 덧셈으로 결합되어 갱신된 베타분포 Beta(α+x,β+N−x)\\text{Beta}(\\alpha + x, \\beta + N - x)Beta(α+x,β+N−x)를 형성하므로, 지수족에 속함이 증명됨. 6.10 두 가우시안 밀도의 곱 유도 (완전제곱식 및 지수족 관점) 문제:\n두 DDD차원 가우시안 확률밀도의 곱은 스케일된 비정규화 가우시안 분포가 됨을 (a) 완전제곱식 전개, (b) 지수족 표현 두 가지 방법으로 유도하라(교재 6.5.2절): N(x∣a,A)N(x∣b,B)=c N(x∣c,C)\\begin{aligned} \u0026amp;\\mathcal{N}(\\mathbf{x} \\mid \\mathbf{a}, \\mathbf{A}) \\mathcal{N}(\\mathbf{x} \\mid \\mathbf{b}, \\mathbf{B}) \\\\ \u0026amp;\\quad = c \\, \\mathcal{N}(\\mathbf{x} \\mid \\mathbf{c}, \\mathbf{C}) \\end{aligned}​N(x∣a,A)N(x∣b,B)=cN(x∣c,C)​ 여기서 C=(A−1+B−1)−1\\mathbf{C} = (\\mathbf{A}^{-1} + \\mathbf{B}^{-1})^{-1}C=(A−1+B−1)−1 c=C(A−1a+B−1b)\\mathbf{c} = \\mathbf{C}(\\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{B}^{-1}\\mathbf{b})c=C(A−1a+B−1b) c=(2π)−D2∣A+B∣−12exp⁡(−12(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)\\begin{aligned} c \u0026amp;= (2\\pi)^{-\\frac{D}{2}} |\\mathbf{A} + \\mathbf{B}|^{-\\frac{1}{2}} \\exp\\biggl( -\\frac{1}{2} \\\\ \u0026amp;\\quad (\\mathbf{a} - \\mathbf{b})^\\top (\\mathbf{A} + \\mathbf{B})^{-1} (\\mathbf{a} - \\mathbf{b}) \\biggr) \\\\ \u0026amp;= \\mathcal{N}(\\mathbf{a} \\mid \\mathbf{b}, \\mathbf{A} + \\mathbf{B}) \\end{aligned}c​=(2π)−2D​∣A+B∣−21​exp(−21​(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)​풀이:\n(a) 완전제곱식(Completing the Square)에 의한 유도\n두 가우시안 밀도의 곱 식 세우기: N(x∣a,A)N(x∣b,B)=(2π)−D∣A∣−12∣B∣−12exp⁡(−12J(x))\\begin{aligned} \u0026amp;\\mathcal{N}(\\mathbf{x} \\mid \\mathbf{a}, \\mathbf{A})\\mathcal{N}(\\mathbf{x} \\mid \\mathbf{b}, \\mathbf{B}) \\\\ \u0026amp;\\quad = (2\\pi)^{-D} |\\mathbf{A}|^{-\\frac{1}{2}} |\\mathbf{B}|^{-\\frac{1}{2}} \\\\ \u0026amp;\\quad \\exp\\left( -\\frac{1}{2} J(\\mathbf{x}) \\right) \\end{aligned}​N(x∣a,A)N(x∣b,B)=(2π)−D∣A∣−21​∣B∣−21​exp(−21​J(x))​ 여기서 지수부의 2차 형식 J(x)J(\\mathbf{x})J(x)는 다음과 같다: J(x)=(x−a)⊤A−1(x−a)+(x−b)⊤B−1(x−b)\\begin{aligned} J(\\mathbf{x}) \u0026amp;= (\\mathbf{x} - \\mathbf{a})^\\top \\mathbf{A}^{-1}(\\mathbf{x} - \\mathbf{a}) \\\\ \u0026amp;\\quad + (\\mathbf{x} - \\mathbf{b})^\\top \\mathbf{B}^{-1}(\\mathbf{x} - \\mathbf{b}) \\end{aligned}J(x)​=(x−a)⊤A−1(x−a)+(x−b)⊤B−1(x−b)​ x\\mathbf{x}x에 대해 전개: J(x)=x⊤(A−1+B−1)x−2x⊤(A−1a+B−1b)+a⊤A−1a+b⊤B−1b\\begin{aligned} \u0026amp;J(\\mathbf{x}) = \\mathbf{x}^\\top (\\mathbf{A}^{-1} + \\mathbf{B}^{-1}) \\mathbf{x} \\\\ \u0026amp;\\quad - 2\\mathbf{x}^\\top (\\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{B}^{-1}\\mathbf{b}) + \\mathbf{a}^\\top \\mathbf{A}^{-1}\\mathbf{a} \\\\ \u0026amp;\\quad + \\mathbf{b}^\\top \\mathbf{B}^{-1}\\mathbf{b} \\end{aligned}​J(x)=x⊤(A−1+B−1)x−2x⊤(A−1a+B−1b)+a⊤A−1a+b⊤B−1b​ 새로운 정밀도 행렬 및 평균 정의: C−1=A−1+B−1 ⟹ C=(A−1+B−1)−1\\mathbf{C}^{-1} = \\mathbf{A}^{-1} + \\mathbf{B}^{-1} \\implies \\mathbf{C} = (\\mathbf{A}^{-1} + \\mathbf{B}^{-1})^{-1}C−1=A−1+B−1⟹C=(A−1+B−1)−1,\nC−1c=A−1a+B−1b ⟹ c=C(A−1a+B−1b)\\mathbf{C}^{-1}\\mathbf{c} = \\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{B}^{-1}\\mathbf{b} \\implies \\mathbf{c} = \\mathbf{C}(\\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{B}^{-1}\\mathbf{b})C−1c=A−1a+B−1b⟹c=C(A−1a+B−1b) 로 정의한다.\n완전제곱식 완성: x⊤C−1x−2x⊤C−1c=(x−c)⊤C−1(x−c)−c⊤C−1c\\begin{aligned} \u0026amp;\\mathbf{x}^\\top \\mathbf{C}^{-1}\\mathbf{x} - 2\\mathbf{x}^\\top \\mathbf{C}^{-1}\\mathbf{c} \\\\ \u0026amp;\\quad = (\\mathbf{x} - \\mathbf{c})^\\top \\mathbf{C}^{-1}(\\mathbf{x} - \\mathbf{c}) - \\mathbf{c}^\\top \\mathbf{C}^{-1}\\mathbf{c} \\end{aligned}​x⊤C−1x−2x⊤C−1c=(x−c)⊤C−1(x−c)−c⊤C−1c​ 따라서 J(x)J(\\mathbf{x})J(x)는 다음과 같이 분해된다: J(x)=(x−c)⊤C−1(x−c)+ΔJ(\\mathbf{x}) = (\\mathbf{x} - \\mathbf{c})^\\top \\mathbf{C}^{-1}(\\mathbf{x} - \\mathbf{c}) + \\DeltaJ(x)=(x−c)⊤C−1(x−c)+Δ 여기서 x\\mathbf{x}x와 무관한 잔여 상수항은 Δ=a⊤A−1a+b⊤B−1b−c⊤C−1c\\Delta = \\mathbf{a}^\\top \\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{b}^\\top \\mathbf{B}^{-1}\\mathbf{b} - \\mathbf{c}^\\top \\mathbf{C}^{-1}\\mathbf{c}Δ=a⊤A−1a+b⊤B−1b−c⊤C−1c 이다.\n잔여 상수항 Δ\\DeltaΔ 단순화 (Woodbury 행렬 항등식, 교재 밖 보충): 우드버리 공식에 의해 다음 항등식이 성립한다: A−1−A−1(A−1+B−1)−1A−1=(A+B)−1\\begin{aligned} \u0026amp;\\mathbf{A}^{-1} - \\mathbf{A}^{-1}(\\mathbf{A}^{-1} + \\mathbf{B}^{-1})^{-1}\\mathbf{A}^{-1} \\\\ \u0026amp;\\quad = (\\mathbf{A} + \\mathbf{B})^{-1} \\end{aligned}​A−1−A−1(A−1+B−1)−1A−1=(A+B)−1​ B−1−B−1(A−1+B−1)−1B−1=(A+B)−1\\begin{aligned} \u0026amp;\\mathbf{B}^{-1} - \\mathbf{B}^{-1}(\\mathbf{A}^{-1} + \\mathbf{B}^{-1})^{-1}\\mathbf{B}^{-1} \\\\ \u0026amp;\\quad = (\\mathbf{A} + \\mathbf{B})^{-1} \\end{aligned}​B−1−B−1(A−1+B−1)−1B−1=(A+B)−1​ A−1(A−1+B−1)−1B−1=(A+B)−1\\begin{aligned} \u0026amp;\\mathbf{A}^{-1}(\\mathbf{A}^{-1} + \\mathbf{B}^{-1})^{-1}\\mathbf{B}^{-1} \\\\ \u0026amp;\\quad = (\\mathbf{A} + \\mathbf{B})^{-1} \\end{aligned}​A−1(A−1+B−1)−1B−1=(A+B)−1​ 이를 Δ\\DeltaΔ에 대입하여 a,b\\mathbf{a}, \\mathbf{b}a,b로 묶으면: Δ=a⊤(A+B)−1a−2a⊤(A+B)−1b+b⊤(A+B)−1b=(a−b)⊤(A+B)−1(a−b)\\begin{aligned} \\Delta \u0026amp;= \\mathbf{a}^\\top (\\mathbf{A} + \\mathbf{B})^{-1}\\mathbf{a} \\\\ \u0026amp;\\quad - 2\\mathbf{a}^\\top (\\mathbf{A} + \\mathbf{B})^{-1}\\mathbf{b} \\\\ \u0026amp;\\quad + \\mathbf{b}^\\top (\\mathbf{A} + \\mathbf{B})^{-1}\\mathbf{b} \\\\ \u0026amp;= (\\mathbf{a} - \\mathbf{b})^\\top (\\mathbf{A} + \\mathbf{B})^{-1} (\\mathbf{a} - \\mathbf{b}) \\end{aligned}Δ​=a⊤(A+B)−1a−2a⊤(A+B)−1b+b⊤(A+B)−1b=(a−b)⊤(A+B)−1(a−b)​ 행렬식 정리: AC−1B=A(A−1+B−1)B=B+A\\mathbf{A}\\mathbf{C}^{-1}\\mathbf{B} = \\mathbf{A}(\\mathbf{A}^{-1} + \\mathbf{B}^{-1})\\mathbf{B} = \\mathbf{B} + \\mathbf{A}AC−1B=A(A−1+B−1)B=B+A 이므로 ∣A∣ ∣C−1∣ ∣B∣=∣A+B∣|\\mathbf{A}|\\,|\\mathbf{C}^{-1}|\\,|\\mathbf{B}| = |\\mathbf{A} + \\mathbf{B}|∣A∣∣C−1∣∣B∣=∣A+B∣, 즉 ∣A∣−12∣B∣−12=∣C∣−12∣A+B∣−12|\\mathbf{A}|^{-\\frac{1}{2}} |\\mathbf{B}|^{-\\frac{1}{2}} = |\\mathbf{C}|^{-\\frac{1}{2}} |\\mathbf{A} + \\mathbf{B}|^{-\\frac{1}{2}}∣A∣−21​∣B∣−21​=∣C∣−21​∣A+B∣−21​ 계수 ccc 추출: 전체 식을 (2π)−D2∣C∣−12exp⁡(−12(x−c)⊤C−1(x−c))=N(x∣c,C)(2\\pi)^{-\\frac{D}{2}}|\\mathbf{C}|^{-\\frac{1}{2}}\\exp\\bigl(-\\frac{1}{2}(\\mathbf{x}-\\mathbf{c})^\\top\\mathbf{C}^{-1}(\\mathbf{x}-\\mathbf{c})\\bigr) = \\mathcal{N}(\\mathbf{x} \\mid \\mathbf{c}, \\mathbf{C})(2π)−2D​∣C∣−21​exp(−21​(x−c)⊤C−1(x−c))=N(x∣c,C)로 묶어내면 남는 계수는:\nc=(2π)−D2∣A+B∣−12exp⁡(−12(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)\\begin{aligned} c \u0026amp;= (2\\pi)^{-\\frac{D}{2}} |\\mathbf{A} + \\mathbf{B}|^{-\\frac{1}{2}} \\exp\\biggl( -\\frac{1}{2} \\\\ \u0026amp;\\quad (\\mathbf{a} - \\mathbf{b})^\\top (\\mathbf{A} + \\mathbf{B})^{-1} (\\mathbf{a} - \\mathbf{b}) \\biggr) \\\\ \u0026amp;= \\mathcal{N}(\\mathbf{a} \\mid \\mathbf{b}, \\mathbf{A} + \\mathbf{B}) \\end{aligned}c​=(2π)−2D​∣A+B∣−21​exp(−21​(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)​ (b) 지수족 표현(Exponential Family Form)에 의한 유도\n가우시안의 지수족 표준형 매개화:\n가우시안 분포 N(x∣μ,Σ)\\mathcal{N}(\\mathbf{x} \\mid \\boldsymbol{\\mu}, \\boldsymbol{\\Sigma})N(x∣μ,Σ)의 정밀도 행렬을 Λ=Σ−1\\boldsymbol{\\Lambda} = \\boldsymbol{\\Sigma}^{-1}Λ=Σ−1이라 하면, N(x∣μ,Σ)∝exp⁡(−12x⊤Λx+x⊤(Λμ))\\mathcal{N}(\\mathbf{x} \\mid \\boldsymbol{\\mu}, \\boldsymbol{\\Sigma}) \\propto \\exp\\left( -\\frac{1}{2}\\mathbf{x}^\\top \\boldsymbol{\\Lambda} \\mathbf{x} + \\mathbf{x}^\\top (\\boldsymbol{\\Lambda}\\boldsymbol{\\mu}) \\right)N(x∣μ,Σ)∝exp(−21​x⊤Λx+x⊤(Λμ)) 자연모수는 2차 통계량 xx⊤\\mathbf{x}\\mathbf{x}^\\topxx⊤에 대응하는 Θ2=−12Λ=−12Σ−1\\boldsymbol{\\Theta}_2 = -\\frac{1}{2}\\boldsymbol{\\Lambda} = -\\frac{1}{2}\\boldsymbol{\\Sigma}^{-1}Θ2​=−21​Λ=−21​Σ−1와, 1차 통계량 x\\mathbf{x}x에 대응하는 θ1=Λμ=Σ−1μ\\boldsymbol{\\theta}_1 = \\boldsymbol{\\Lambda}\\boldsymbol{\\mu} = \\boldsymbol{\\Sigma}^{-1}\\boldsymbol{\\mu}θ1​=Λμ=Σ−1μ이다. 두 밀도의 곱에서의 자연모수 가산성:\n동일한 충분통계량을 갖는 두 지수족 밀도를 곱하면 지수의 덧셈에 의해 자연모수가 단순히 더해진다: Θ2,new=Θ2,A+Θ2,B=−12A−1+(−12B−1)=−12(A−1+B−1)\\boldsymbol{\\Theta}_{2, \\text{new}} = \\boldsymbol{\\Theta}_{2, A} + \\boldsymbol{\\Theta}_{2, B} = -\\frac{1}{2}\\mathbf{A}^{-1} + \\left(-\\frac{1}{2}\\mathbf{B}^{-1}\\right) = -\\frac{1}{2}(\\mathbf{A}^{-1} + \\mathbf{B}^{-1})Θ2,new​=Θ2,A​+Θ2,B​=−21​A−1+(−21​B−1)=−21​(A−1+B−1) θ1,new=θ1,A+θ1,B=A−1a+B−1b\\boldsymbol{\\theta}_{1, \\text{new}} = \\boldsymbol{\\theta}_{1, A} + \\boldsymbol{\\theta}_{1, B} = \\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{B}^{-1}\\mathbf{b}θ1,new​=θ1,A​+θ1,B​=A−1a+B−1b 새로운 평균과 공분산 복원:\n−12C−1=Θ2,new ⟹ C−1=A−1+B−1 ⟹ C=(A−1+B−1)−1-\\frac{1}{2}\\mathbf{C}^{-1} = \\boldsymbol{\\Theta}_{2, \\text{new}} \\implies \\mathbf{C}^{-1} = \\mathbf{A}^{-1} + \\mathbf{B}^{-1} \\implies \\mathbf{C} = (\\mathbf{A}^{-1} + \\mathbf{B}^{-1})^{-1}−21​C−1=Θ2,new​⟹C−1=A−1+B−1⟹C=(A−1+B−1)−1.\nC−1c=θ1,new ⟹ c=C(A−1a+B−1b)\\mathbf{C}^{-1}\\mathbf{c} = \\boldsymbol{\\theta}_{1, \\text{new}} \\implies \\mathbf{c} = \\mathbf{C}(\\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{B}^{-1}\\mathbf{b})C−1c=θ1,new​⟹c=C(A−1a+B−1b).\n이로써 지수족의 매개화를 통해 c\\mathbf{c}c와 C\\mathbf{C}C의 형태가 즉각 도출된다. 상수 ccc도 같은 방식으로:\n가우시안을 N(x∣μ,Σ)=(2π)−D/2exp⁡(θ1⊤x+tr(Θ2xx⊤)−A(μ,Σ))\\mathcal{N}(\\mathbf{x} \\mid \\boldsymbol{\\mu}, \\boldsymbol{\\Sigma}) = (2\\pi)^{-D/2}\\exp\\big(\\boldsymbol{\\theta}_1^\\top\\mathbf{x} + \\text{tr}(\\boldsymbol{\\Theta}_2\\mathbf{x}\\mathbf{x}^\\top) - A(\\boldsymbol{\\mu},\\boldsymbol{\\Sigma})\\big)N(x∣μ,Σ)=(2π)−D/2exp(θ1⊤​x+tr(Θ2​xx⊤)−A(μ,Σ)), A(μ,Σ)=12μ⊤Σ−1μ+12log⁡∣Σ∣A(\\boldsymbol{\\mu},\\boldsymbol{\\Sigma}) = \\frac12\\boldsymbol{\\mu}^\\top\\boldsymbol{\\Sigma}^{-1}\\boldsymbol{\\mu} + \\frac12\\log|\\boldsymbol{\\Sigma}|A(μ,Σ)=21​μ⊤Σ−1μ+21​log∣Σ∣로 쓰면, 두 밀도의 곱은 (2π)−Dexp⁡(θ1,new⊤x+tr(Θ2,newxx⊤)−Aa−Ab)=(2π)−D/2eAc−Aa−Ab⋅N(x∣c,C)(2\\pi)^{-D}\\exp\\big(\\boldsymbol{\\theta}_{1,\\text{new}}^\\top\\mathbf{x} + \\text{tr}(\\boldsymbol{\\Theta}_{2,\\text{new}}\\mathbf{x}\\mathbf{x}^\\top) - A_a - A_b\\big) = (2\\pi)^{-D/2}e^{A_c - A_a - A_b}\\cdot\\mathcal{N}(\\mathbf{x} \\mid \\mathbf{c}, \\mathbf{C})(2π)−Dexp(θ1,new⊤​x+tr(Θ2,new​xx⊤)−Aa​−Ab​)=(2π)−D/2eAc​−Aa​−Ab​⋅N(x∣c,C) 이므로 c=(2π)−D/2exp⁡(Ac−Aa−Ab)c = (2\\pi)^{-D/2}\\exp(A_c - A_a - A_b)c=(2π)−D/2exp(Ac​−Aa​−Ab​)이다. (a)의 6단계와 5단계를 쓰면 Ac−Aa−Ab=12log⁡∣C∣∣A∣∣B∣−12(a⊤A−1a+b⊤B−1b−c⊤C−1c)=−12log⁡∣A+B∣−12ΔA_c - A_a - A_b = \\frac12\\log\\frac{|\\mathbf{C}|}{|\\mathbf{A}||\\mathbf{B}|} - \\frac12\\big(\\mathbf{a}^\\top\\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{b}^\\top\\mathbf{B}^{-1}\\mathbf{b} - \\mathbf{c}^\\top\\mathbf{C}^{-1}\\mathbf{c}\\big) = -\\frac12\\log|\\mathbf{A}+\\mathbf{B}| - \\frac12\\DeltaAc​−Aa​−Ab​=21​log∣A∣∣B∣∣C∣​−21​(a⊤A−1a+b⊤B−1b−c⊤C−1c)=−21​log∣A+B∣−21​Δ. 따라서 c=(2π)−D/2∣A+B∣−1/2exp⁡(−12(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)c = (2\\pi)^{-D/2}|\\mathbf{A}+\\mathbf{B}|^{-1/2}\\exp\\big(-\\frac12(\\mathbf{a}-\\mathbf{b})^\\top(\\mathbf{A}+\\mathbf{B})^{-1}(\\mathbf{a}-\\mathbf{b})\\big) = \\mathcal{N}(\\mathbf{a} \\mid \\mathbf{b}, \\mathbf{A}+\\mathbf{B})c=(2π)−D/2∣A+B∣−1/2exp(−21​(a−b)⊤(A+B)−1(a−b))=N(a∣b,A+B)로 (a)와 같다. 답:\nN(x∣a,A)N(x∣b,B)=c N(x∣c,C)\\begin{aligned} \u0026amp;\\mathcal{N}(\\mathbf{x} \\mid \\mathbf{a}, \\mathbf{A})\\mathcal{N}(\\mathbf{x} \\mid \\mathbf{b}, \\mathbf{B}) \\\\ \u0026amp;\\quad = c \\, \\mathcal{N}(\\mathbf{x} \\mid \\mathbf{c}, \\mathbf{C}) \\end{aligned}​N(x∣a,A)N(x∣b,B)=cN(x∣c,C)​C=(A−1+B−1)−1,c=C(A−1a+B−1b)\\begin{gathered} \\mathbf{C} = (\\mathbf{A}^{-1} + \\mathbf{B}^{-1})^{-1}, \\\\ \\mathbf{c} = \\mathbf{C}(\\mathbf{A}^{-1}\\mathbf{a} + \\mathbf{B}^{-1}\\mathbf{b}) \\end{gathered}C=(A−1+B−1)−1,c=C(A−1a+B−1b)​\nc=N(a∣b,A+B)=(2π)−D2∣A+B∣−12exp⁡(−12(a−b)⊤(A+B)−1(a−b))(유도 완료)\\begin{aligned} \u0026amp;c = \\mathcal{N}(\\mathbf{a} \\mid \\mathbf{b}, \\mathbf{A} + \\mathbf{B}) \\\\ \u0026amp;\\quad = (2\\pi)^{-\\frac{D}{2}} |\\mathbf{A} + \\mathbf{B}|^{-\\frac{1}{2}} \\exp\\biggl( -\\frac{1}{2} \\\\ \u0026amp;\\quad (\\mathbf{a} - \\mathbf{b})^\\top (\\mathbf{A} + \\mathbf{B})^{-1} (\\mathbf{a} - \\mathbf{b}) \\biggr) \\\\ \u0026amp;\\text{(유도 완료)} \\end{aligned}​c=N(a∣b,A+B)=(2π)−2D​∣A+B∣−21​exp(−21​(a−b)⊤(A+B)−1(a−b))(유도 완료)​ 6.11 반복 기댓값의 법칙 증명 문제:\n결합분포 p(x,y)p(x, y)p(x,y)를 따르는 두 확률변수 X,YX, YX,Y에 대해 반복 기댓값의 법칙(Law of Iterated Expectations)을 증명하라: EX[x]=EY[EX[x∣y]]\\mathbb{E}_X[x] = \\mathbb{E}_Y\\left[ \\mathbb{E}_X[x \\mid y] \\right]EX​[x]=EY​[EX​[x∣y]]풀이:\n기댓값의 정의(교재 정의 6.3)를 조건부 분포에 적용:\n주어진 Y=yY = yY=y 하에서 XXX의 조건부 기댓값은 다음과 같다: EX[x∣y]=∫−∞∞x p(x∣y) dx\\mathbb{E}_X[x \\mid y] = \\int_{-\\infty}^\\infty x \\, p(x \\mid y) \\, dxEX​[x∣y]=∫−∞∞​xp(x∣y)dx 외부 기댓값 EY[⋅]\\mathbb{E}_Y[\\cdot]EY​[⋅]의 정의 적용:\n위의 조건부 기댓값은 yyy의 함수이므로, YYY의 주변분포 p(y)p(y)p(y)에 대한 기댓값을 취한다: EY[EX[x∣y]]=∫−∞∞(∫−∞∞x p(x∣y) dx)p(y) dy\\mathbb{E}_Y\\left[ \\mathbb{E}_X[x \\mid y] \\right] = \\int_{-\\infty}^\\infty \\left( \\int_{-\\infty}^\\infty x \\, p(x \\mid y) \\, dx \\right) p(y) \\, dyEY​[EX​[x∣y]]=∫−∞∞​(∫−∞∞​xp(x∣y)dx)p(y)dy 적분 순서 교환(푸비니 정리, 교재 밖 보충):\n피적분함수의 절댓값 적분이 유한하다고 가정할 때 적분 순서를 바꾼다: =∫−∞∞∫−∞∞x p(x∣y)p(y) dy dx= \\int_{-\\infty}^\\infty \\int_{-\\infty}^\\infty x \\, p(x \\mid y) p(y) \\, dy \\, dx=∫−∞∞​∫−∞∞​xp(x∣y)p(y)dydx 곱의 법칙(교재 식 (6.22)) 적용:\n조건부 확률과 주변확률의 곱은 결합확률이다 (p(x∣y)p(y)=p(x,y)p(x \\mid y) p(y) = p(x, y)p(x∣y)p(y)=p(x,y)): =∫−∞∞∫−∞∞x p(x,y) dy dx= \\int_{-\\infty}^\\infty \\int_{-\\infty}^\\infty x \\, p(x, y) \\, dy \\, dx=∫−∞∞​∫−∞∞​xp(x,y)dydx xxx를 yyy에 대한 적분 밖으로 분리:\n=∫−∞∞x(∫−∞∞p(x,y) dy)dx= \\int_{-\\infty}^\\infty x \\left( \\int_{-\\infty}^\\infty p(x, y) \\, dy \\right) dx=∫−∞∞​x(∫−∞∞​p(x,y)dy)dx 합의 법칙(주변화, 교재 식 (6.20)) 적용:\n결합확률을 yyy에 대해 전체 적분하면 XXX의 주변확률밀도함수 p(x)p(x)p(x)가 된다 (∫p(x,y)dy=p(x)\\int p(x, y) dy = p(x)∫p(x,y)dy=p(x)): =∫−∞∞x p(x) dx= \\int_{-\\infty}^\\infty x \\, p(x) \\, dx=∫−∞∞​xp(x)dx 기댓값의 정의(교재 정의 6.4)에 도달:\n이는 XXX의 비조건부 기댓값 EX[x]\\mathbb{E}_X[x]EX​[x]의 정의이다: =EX[x]= \\mathbb{E}_X[x]=EX​[x] 따라서 EX[x]=EY[EX[x∣y]]\\mathbb{E}_X[x] = \\mathbb{E}_Y[\\mathbb{E}_X[x \\mid y]]EX​[x]=EY​[EX​[x∣y]]가 완전히 증명되었다. 답:\nEY[EX[x∣y]]=∫y∫xxp(x∣y)p(y) dxdy=∫xx(∫yp(x,y)dy)dx=∫xxp(x)dx=EX[x](증명 완료)\\begin{aligned} \u0026amp;\\mathbb{E}_Y[\\mathbb{E}_X[x \\mid y]] \\\\ \u0026amp;\\quad = \\int_y \\int_x x p(x \\mid y)p(y) \\, dx dy \\\\ \u0026amp;\\quad = \\int_x x \\left(\\int_y p(x, y) dy\\right) dx \\\\ \u0026amp;\\quad = \\int_x x p(x) dx = \\mathbb{E}_X[x] \\\\ \u0026amp;\\text{(증명 완료)} \\end{aligned}​EY​[EX​[x∣y]]=∫y​∫x​xp(x∣y)p(y)dxdy=∫x​x(∫y​p(x,y)dy)dx=∫x​xp(x)dx=EX​[x](증명 완료)​ 6.12 선형 가우시안 시스템의 주변분포 및 조건부 사후분포 유도 문제:\n가우시안 확률변수 x∼N(μx,Σx)\\mathbf{x} \\sim \\mathcal{N}(\\boldsymbol{\\mu}_x, \\boldsymbol{\\Sigma}_x)x∼N(μx​,Σx​) (x∈RD\\mathbf{x} \\in \\mathbb{R}^Dx∈RD)와 선형 관측 모델 y=Ax+b+w,w∼N(0,Q)\\mathbf{y} = \\mathbf{A}\\mathbf{x} + \\mathbf{b} + \\mathbf{w}, \\quad \\mathbf{w} \\sim \\mathcal{N}(\\mathbf{0}, \\mathbf{Q})y=Ax+b+w,w∼N(0,Q) (y∈RE\\mathbf{y} \\in \\mathbb{R}^Ey∈RE, A∈RE×D\\mathbf{A} \\in \\mathbb{R}^{E \\times D}A∈RE×D, b∈RE\\mathbf{b} \\in \\mathbb{R}^Eb∈RE, w\\mathbf{w}w는 x\\mathbf{x}x와 독립인 가우시안 노이즈, Q\\mathbf{Q}Q는 대각행렬)을 고려하라.\n(a) 우도함수 p(y∣x)p(\\mathbf{y} \\mid \\mathbf{x})p(y∣x)를 구하라.\n(b) 주변분포 p(y)=∫p(y∣x)p(x)dxp(\\mathbf{y}) = \\int p(\\mathbf{y} \\mid \\mathbf{x})p(\\mathbf{x})d\\mathbf{x}p(y)=∫p(y∣x)p(x)dx의 평균 μy\\boldsymbol{\\mu}_yμy​와 공분산 Σy\\boldsymbol{\\Sigma}_yΣy​를 상세히 유도하라.\n(c) 관측 변환 z=Cy+v\\mathbf{z} = \\mathbf{C}\\mathbf{y} + \\mathbf{v}z=Cy+v (v∼N(0,R)\\mathbf{v} \\sim \\mathcal{N}(\\mathbf{0}, \\mathbf{R})v∼N(0,R)는 독립 노이즈)에 대해 p(z∣y)p(\\mathbf{z} \\mid \\mathbf{y})p(z∣y)와 p(z)p(\\mathbf{z})p(z)의 평균 μz\\boldsymbol{\\mu}_zμz​, 공분산 Σz\\boldsymbol{\\Sigma}_zΣz​를 구하라.\n(d) 측정값 y^\\hat{\\mathbf{y}}y^​가 주어졌을 때 사후분포 p(x∣y^)p(\\mathbf{x} \\mid \\hat{\\mathbf{y}})p(x∣y^​)를 유도하라. (교차공분산과 가우시안 조건부 공식을 적용)\n풀이:\n(a) 우도함수 p(y∣x)p(\\mathbf{y} \\mid \\mathbf{x})p(y∣x)의 도출 x\\mathbf{x}x가 주어졌을 때, Ax+b\\mathbf{A}\\mathbf{x} + \\mathbf{b}Ax+b는 결정론적 상수 벡터이다. 따라서 y\\mathbf{y}y의 확률적 불확실성은 전적으로 노이즈 w∼N(0,Q)\\mathbf{w} \\sim \\mathcal{N}(\\mathbf{0}, \\mathbf{Q})w∼N(0,Q)에서 비롯된다.\n평균: E[y∣x]=Ax+b+E[w]=Ax+b\\mathbb{E}[\\mathbf{y} \\mid \\mathbf{x}] = \\mathbf{A}\\mathbf{x} + \\mathbf{b} + \\mathbb{E}[\\mathbf{w}] = \\mathbf{A}\\mathbf{x} + \\mathbf{b}E[y∣x]=Ax+b+E[w]=Ax+b\n공분산: V[y∣x]=V[w]=Q\\mathbb{V}[\\mathbf{y} \\mid \\mathbf{x}] = \\mathbb{V}[\\mathbf{w}] = \\mathbf{Q}V[y∣x]=V[w]=Q\n따라서 조건부 분포:\np(y∣x)=N(y∣Ax+b,Q)=(2π)−E2∣Q∣−12exp⁡(−12(y−Ax−b)⊤Q−1(y−Ax−b))\\begin{aligned} p(\\mathbf{y} \\mid \\mathbf{x}) \u0026amp;= \\mathcal{N}(\\mathbf{y} \\mid \\mathbf{A}\\mathbf{x} + \\mathbf{b}, \\mathbf{Q}) \\\\ \u0026amp;= (2\\pi)^{-\\frac{E}{2}}|\\mathbf{Q}|^{-\\frac{1}{2}} \\exp\\biggl( -\\frac{1}{2} \\\\ \u0026amp;\\quad (\\mathbf{y} - \\mathbf{A}\\mathbf{x} - \\mathbf{b})^\\top \\mathbf{Q}^{-1} \\\\ \u0026amp;\\quad (\\mathbf{y} - \\mathbf{A}\\mathbf{x} - \\mathbf{b}) \\biggr) \\end{aligned}p(y∣x)​=N(y∣Ax+b,Q)=(2π)−2E​∣Q∣−21​exp(−21​(y−Ax−b)⊤Q−1(y−Ax−b))​ (b) 주변분포 p(y)p(\\mathbf{y})p(y)의 평균과 공분산 유도\n평균 μy\\boldsymbol{\\mu}_yμy​ 유도: 기댓값의 선형성에 의해: μy=E[y]=E[Ax+b+w]=AE[x]+b+E[w]=Aμx+b\\begin{aligned} \\boldsymbol{\\mu}_y \u0026amp;= \\mathbb{E}[\\mathbf{y}] = \\mathbb{E}[\\mathbf{A}\\mathbf{x} + \\mathbf{b} + \\mathbf{w}] \\\\ \u0026amp;= \\mathbf{A}\\mathbb{E}[\\mathbf{x}] + \\mathbf{b} + \\mathbb{E}[\\mathbf{w}] = \\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{b} \\end{aligned}μy​​=E[y]=E[Ax+b+w]=AE[x]+b+E[w]=Aμx​+b​ 공분산 Σy\\boldsymbol{\\Sigma}_yΣy​ 유도: 공분산의 정의를 적용한다: Σy=E[(y−μy)(y−μy)⊤]\\boldsymbol{\\Sigma}_y = \\mathbb{E}\\left[ (\\mathbf{y} - \\boldsymbol{\\mu}_y)(\\mathbf{y} - \\boldsymbol{\\mu}_y)^\\top \\right]Σy​=E[(y−μy​)(y−μy​)⊤] 편차 벡터는 다음과 같다: y−μy=(Ax+b+w)−(Aμx+b)=A(x−μx)+w\\begin{aligned} \u0026amp;\\mathbf{y} - \\boldsymbol{\\mu}_y \\\\ \u0026amp;\\quad = (\\mathbf{A}\\mathbf{x} + \\mathbf{b} + \\mathbf{w}) - (\\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{b}) \\\\ \u0026amp;\\quad = \\mathbf{A}(\\mathbf{x} - \\boldsymbol{\\mu}_x) + \\mathbf{w} \\end{aligned}​y−μy​=(Ax+b+w)−(Aμx​+b)=A(x−μx​)+w​ 이를 대입하여 전개한다:\nΣy=E[(A(x−μx)+w)(A(x−μx)+w)⊤]\\begin{aligned} \\boldsymbol{\\Sigma}_y \u0026amp;= \\mathbb{E}\\bigl[ (\\mathbf{A}(\\mathbf{x} - \\boldsymbol{\\mu}_x) + \\mathbf{w}) \\\\ \u0026amp;\\quad (\\mathbf{A}(\\mathbf{x} - \\boldsymbol{\\mu}_x) + \\mathbf{w})^\\top \\bigr] \\end{aligned}Σy​​=E[(A(x−μx​)+w)(A(x−μx​)+w)⊤]​=AE[(x−μx)(x−μx)⊤]A⊤+AE[(x−μx)w⊤]+E[w(x−μx)⊤]A⊤+E[ww⊤]\\begin{aligned} \u0026amp;= \\mathbf{A}\\mathbb{E}\\left[(\\mathbf{x} - \\boldsymbol{\\mu}_x)(\\mathbf{x} - \\boldsymbol{\\mu}_x)^\\top\\right]\\mathbf{A}^\\top \\\\ \u0026amp;\\quad + \\mathbf{A}\\mathbb{E}\\left[(\\mathbf{x} - \\boldsymbol{\\mu}_x)\\mathbf{w}^\\top\\right] \\\\ \u0026amp;\\quad + \\mathbb{E}\\left[\\mathbf{w}(\\mathbf{x} - \\boldsymbol{\\mu}_x)^\\top\\right]\\mathbf{A}^\\top + \\mathbb{E}[\\mathbf{w}\\mathbf{w}^\\top] \\end{aligned}​=AE[(x−μx​)(x−μx​)⊤]A⊤+AE[(x−μx​)w⊤]+E[w(x−μx​)⊤]A⊤+E[ww⊤]​ 독립성 적용: x\\mathbf{x}x와 w\\mathbf{w}w가 독립이므로 교차 기댓값은 0이다 (E[(x−μx)w⊤]=0\\mathbb{E}[(\\mathbf{x} - \\boldsymbol{\\mu}_x)\\mathbf{w}^\\top] = \\mathbf{0}E[(x−μx​)w⊤]=0). Σy=AΣxA⊤+Q\\boldsymbol{\\Sigma}_y = \\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q}Σy​=AΣx​A⊤+Q 가우시안의 선형 변환 및 합은 가우시안이므로(교재 6.5.3절): p(y)=N(Aμx+b, AΣxA⊤+Q)p(\\mathbf{y}) = \\mathcal{N}(\\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{b}, \\; \\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q})p(y)=N(Aμx​+b,AΣx​A⊤+Q) (c) 관측 변환 z=Cy+v\\mathbf{z} = \\mathbf{C}\\mathbf{y} + \\mathbf{v}z=Cy+v의 주변분포 유도\n조건부 분포: y\\mathbf{y}y가 주어졌을 때 z\\mathbf{z}z는 평균 Cy\\mathbf{C}\\mathbf{y}Cy, 공분산 R\\mathbf{R}R을 가지므로: p(z∣y)=N(z∣Cy,R)p(\\mathbf{z} \\mid \\mathbf{y}) = \\mathcal{N}(\\mathbf{z} \\mid \\mathbf{C}\\mathbf{y}, \\mathbf{R})p(z∣y)=N(z∣Cy,R) 주변분포의 평균 μz\\boldsymbol{\\mu}_zμz​: μz=E[z]=CE[y]+E[v]=Cμy=C(Aμx+b)=CAμx+Cb\\boldsymbol{\\mu}_z = \\mathbb{E}[\\mathbf{z}] = \\mathbf{C}\\mathbb{E}[\\mathbf{y}] + \\mathbb{E}[\\mathbf{v}] = \\mathbf{C}\\boldsymbol{\\mu}_y = \\mathbf{C}(\\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{b}) = \\mathbf{C}\\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{C}\\mathbf{b}μz​=E[z]=CE[y]+E[v]=Cμy​=C(Aμx​+b)=CAμx​+Cb 주변분포의 공분산 Σz\\boldsymbol{\\Sigma}_zΣz​: z−μz=C(y−μy)+v\\mathbf{z} - \\boldsymbol{\\mu}_z = \\mathbf{C}(\\mathbf{y} - \\boldsymbol{\\mu}_y) + \\mathbf{v}z−μz​=C(y−μy​)+v y\\mathbf{y}y와 v\\mathbf{v}v의 독립성에 의해: Σz=V[z]=CV[y]C⊤+V[v]=CΣyC⊤+R=C(AΣxA⊤+Q)C⊤+R\\boldsymbol{\\Sigma}_z = \\mathbb{V}[\\mathbf{z}] = \\mathbf{C}\\mathbb{V}[\\mathbf{y}]\\mathbf{C}^\\top + \\mathbb{V}[\\mathbf{v}] = \\mathbf{C}\\boldsymbol{\\Sigma}_y\\mathbf{C}^\\top + \\mathbf{R} = \\mathbf{C}(\\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q})\\mathbf{C}^\\top + \\mathbf{R}Σz​=V[z]=CV[y]C⊤+V[v]=CΣy​C⊤+R=C(AΣx​A⊤+Q)C⊤+R 따라서 p(z)=N(CAμx+Cb, C(AΣxA⊤+Q)C⊤+R)p(\\mathbf{z}) = \\mathcal{N}(\\mathbf{C}\\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{C}\\mathbf{b}, \\; \\mathbf{C}(\\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q})\\mathbf{C}^\\top + \\mathbf{R})p(z)=N(CAμx​+Cb,C(AΣx​A⊤+Q)C⊤+R). (d) 사후분포 p(x∣y^)p(\\mathbf{x} \\mid \\hat{\\mathbf{y}})p(x∣y^​)의 유도\n교차공분산(Cross-covariance) 계산: Cov[x,y]=E[(x−μx)(y−μy)⊤]=E[(x−μx)(A(x−μx)+w)⊤]\\begin{aligned} \\text{Cov}[\\mathbf{x}, \\mathbf{y}] \u0026amp;= \\mathbb{E}\\bigl[ (\\mathbf{x} - \\boldsymbol{\\mu}_x)(\\mathbf{y} - \\boldsymbol{\\mu}_y)^\\top \\bigr] \\\\ \u0026amp;= \\mathbb{E}\\bigl[ (\\mathbf{x} - \\boldsymbol{\\mu}_x) \\\\ \u0026amp;\\quad (\\mathbf{A}(\\mathbf{x} - \\boldsymbol{\\mu}_x) + \\mathbf{w})^\\top \\bigr] \\end{aligned}Cov[x,y]​=E[(x−μx​)(y−μy​)⊤]=E[(x−μx​)(A(x−μx​)+w)⊤]​ =E[(x−μx)(x−μx)⊤]A⊤+0=ΣxA⊤\\begin{aligned} \u0026amp;= \\mathbb{E}\\left[(\\mathbf{x} - \\boldsymbol{\\mu}_x)(\\mathbf{x} - \\boldsymbol{\\mu}_x)^\\top\\right]\\mathbf{A}^\\top + \\mathbf{0} \\\\ \u0026amp;\\quad = \\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top \\end{aligned}​=E[(x−μx​)(x−μx​)⊤]A⊤+0=Σx​A⊤​ 대칭성에 의해 Cov[y,x]=(Cov[x,y])⊤=AΣx\\text{Cov}[\\mathbf{y}, \\mathbf{x}] = (\\text{Cov}[\\mathbf{x}, \\mathbf{y}])^\\top = \\mathbf{A}\\boldsymbol{\\Sigma}_xCov[y,x]=(Cov[x,y])⊤=AΣx​.\n결합 가우시안 분포 구성:\n[xy]∼N([μxAμx+b],[ΣxΣxA⊤AΣxAΣxA⊤+Q])\\begin{aligned} \u0026amp;\\begin{bmatrix} \\mathbf{x} \\\\ \\mathbf{y} \\end{bmatrix} \\sim \\mathcal{N}\\left( \\begin{bmatrix} \\boldsymbol{\\mu}_x \\\\ \\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{b} \\end{bmatrix}, \\right. \\\\ \u0026amp;\\qquad \\left. \\begin{bmatrix} \\boldsymbol{\\Sigma}_x \u0026amp; \\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top \\\\ \\mathbf{A}\\boldsymbol{\\Sigma}_x \u0026amp; \\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q} \\end{bmatrix} \\right) \\end{aligned}​[xy​]∼N([μx​Aμx​+b​],[Σx​AΣx​​Σx​A⊤AΣx​A⊤+Q​])​ 가우시안 조건부 분포 공식(교재 6.5.1절 식 (6.65)~(6.67)) 적용:\n이득 행렬(칼만 이득 형태)을 K=Cov[x,y](V[y])−1\\mathbf{K} = \\text{Cov}[\\mathbf{x}, \\mathbf{y}] (\\mathbb{V}[\\mathbf{y}])^{-1}K=Cov[x,y](V[y])−1로 정의한다: K=ΣxA⊤(AΣxA⊤+Q)−1\\mathbf{K} = \\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top (\\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q})^{-1}K=Σx​A⊤(AΣx​A⊤+Q)−1 사후분포의 평균: μx∣y^=μx+K(y^−Aμx−b)\\boldsymbol{\\mu}_{x \\mid \\hat{y}} = \\boldsymbol{\\mu}_x + \\mathbf{K}(\\hat{\\mathbf{y}} - \\mathbf{A}\\boldsymbol{\\mu}_x - \\mathbf{b})μx∣y^​​=μx​+K(y^​−Aμx​−b) 사후분포의 공분산: Σx∣y^=Σx−KAΣx=(I−KA)Σx\\boldsymbol{\\Sigma}_{x \\mid \\hat{y}} = \\boldsymbol{\\Sigma}_x - \\mathbf{K} \\mathbf{A}\\boldsymbol{\\Sigma}_x = (\\mathbf{I} - \\mathbf{K}\\mathbf{A})\\boldsymbol{\\Sigma}_xΣx∣y^​​=Σx​−KAΣx​=(I−KA)Σx​ 따라서 사후분포는 다음과 같다:\np(x∣y^)=N(μx+K(y^−Aμx−b), (I−KA)Σx)\\begin{aligned} \u0026amp;p(\\mathbf{x} \\mid \\hat{\\mathbf{y}}) \\\\ \u0026amp;\\quad = \\mathcal{N}\\bigl( \\boldsymbol{\\mu}_x + \\mathbf{K}(\\hat{\\mathbf{y}} - \\mathbf{A}\\boldsymbol{\\mu}_x - \\mathbf{b}), \\\\ \u0026amp;\\quad \\; (\\mathbf{I} - \\mathbf{K}\\mathbf{A})\\boldsymbol{\\Sigma}_x \\bigr) \\end{aligned}​p(x∣y^​)=N(μx​+K(y^​−Aμx​−b),(I−KA)Σx​)​ 답:\n(a)\np(y∣x)=N(Ax+b,Q)p(\\mathbf{y} \\mid \\mathbf{x}) = \\mathcal{N}(\\mathbf{A}\\mathbf{x} + \\mathbf{b}, \\mathbf{Q})p(y∣x)=N(Ax+b,Q) (b)\nμy=Aμx+b,Σy=AΣxA⊤+Q\\begin{gathered} \\boldsymbol{\\mu}_y = \\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{b}, \\\\ \\boldsymbol{\\Sigma}_y = \\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q} \\end{gathered}μy​=Aμx​+b,Σy​=AΣx​A⊤+Q​p(y)=N(Aμx+b, AΣxA⊤+Q)p(\\mathbf{y}) = \\mathcal{N}(\\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{b}, \\; \\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q})p(y)=N(Aμx​+b,AΣx​A⊤+Q) (c)\np(z∣y)=N(Cy,R)p(\\mathbf{z} \\mid \\mathbf{y}) = \\mathcal{N}(\\mathbf{C}\\mathbf{y}, \\mathbf{R})p(z∣y)=N(Cy,R)μz=CAμx+Cb,Σz=C(AΣxA⊤+Q)C⊤+R\\begin{gathered} \\boldsymbol{\\mu}_z = \\mathbf{C}\\mathbf{A}\\boldsymbol{\\mu}_x + \\mathbf{C}\\mathbf{b}, \\\\ \\boldsymbol{\\Sigma}_z = \\mathbf{C}(\\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q})\\mathbf{C}^\\top + \\mathbf{R} \\end{gathered}μz​=CAμx​+Cb,Σz​=C(AΣx​A⊤+Q)C⊤+R​ (d)\np(x∣y^)=N(μx∣y^,Σx∣y^)p(\\mathbf{x} \\mid \\hat{\\mathbf{y}}) = \\mathcal{N}(\\boldsymbol{\\mu}_{x \\mid \\hat{y}}, \\boldsymbol{\\Sigma}_{x \\mid \\hat{y}})p(x∣y^​)=N(μx∣y^​​,Σx∣y^​​)K=ΣxA⊤(AΣxA⊤+Q)−1\\mathbf{K} = \\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top (\\mathbf{A}\\boldsymbol{\\Sigma}_x\\mathbf{A}^\\top + \\mathbf{Q})^{-1}K=Σx​A⊤(AΣx​A⊤+Q)−1\nμx∣y^=μx+K(y^−Aμx−b)\\boldsymbol{\\mu}_{x \\mid \\hat{y}} = \\boldsymbol{\\mu}_x + \\mathbf{K}(\\hat{\\mathbf{y}} - \\mathbf{A}\\boldsymbol{\\mu}_x - \\mathbf{b})μx∣y^​​=μx​+K(y^​−Aμx​−b)\nΣx∣y^=(I−KA)Σx\\boldsymbol{\\Sigma}_{x \\mid \\hat{y}} = (\\mathbf{I} - \\mathbf{K}\\mathbf{A})\\boldsymbol{\\Sigma}_xΣx∣y^​​=(I−KA)Σx​ 6.13 확률적분변환 (Probability Integral Transformation) 문제:\n누적분포함수(CDF)가 FX(x)F_X(x)FX​(x)인 연속확률변수 XXX가 주어졌을 때, 변환된 확률변수 Y:=FX(X)Y := F_X(X)Y:=FX​(X)가 구간 [0,1][0, 1][0,1]에서의 균등분포(Uniform distribution)를 따름을 보여라(교재 정리 6.15).\n풀이:\n변환된 확률변수 YYY의 치역(지원역, Support) 확인:\n누적분포함수의 정의 FX(x)=P(X≤x)F_X(x) = P(X \\le x)FX​(x)=P(X≤x)에 의해 임의의 x∈Rx \\in \\mathbb{R}x∈R에 대해 0≤FX(x)≤10 \\le F_X(x) \\le 10≤FX​(x)≤1이다.\n따라서 확률변수 Y=FX(X)Y = F_X(X)Y=FX​(X)가 취할 수 있는 값의 범위는 구간 [0,1][0, 1][0,1]이다. YYY의 누적분포함수 FY(y)F_Y(y)FY​(y) 세우기:\n교재 정의 6.2(누적분포함수)에 따라 임의의 y∈(0,1)y \\in (0, 1)y∈(0,1)에 대해: FY(y)=P(Y≤y)F_Y(y) = P(Y \\le y)FY​(y)=P(Y≤y) Y=FX(X)Y = F_X(X)Y=FX​(X) 치환:\nFY(y)=P(FX(X)≤y)F_Y(y) = P\\left( F_X(X) \\le y \\right)FY​(y)=P(FX​(X)≤y) 역함수의 단조증가성 적용:\n정리 6.15의 조건에 따라 FX(x)F_X(x)FX​(x)는 엄격히 단조증가(strictly monotonically increasing)하는 연속함수이므로, 역함수 FX−1F_X^{-1}FX−1​가 유일하게 존재하며 이 역시 엄격한 단조증가함수이다.\n따라서 부등식의 양변에 FX−1F_X^{-1}FX−1​를 취해도 부등호 방향이 보존된다: P(FX(X)≤y)=P(X≤FX−1(y))P\\left( F_X(X) \\le y \\right) = P\\left( X \\le F_X^{-1}(y) \\right)P(FX​(X)≤y)=P(X≤FX−1​(y)) XXX의 누적분포함수 정의 적용:\n우변은 확률변수 XXX가 실수값 FX−1(y)F_X^{-1}(y)FX−1​(y) 이하일 확률이므로, XXX의 CDF의 정의 그 자체이다: P(X≤FX−1(y))=FX(FX−1(y))P\\left( X \\le F_X^{-1}(y) \\right) = F_X\\left( F_X^{-1}(y) \\right)P(X≤FX−1​(y))=FX​(FX−1​(y)) 함수와 역함수의 상쇄:\n연속함수와 그 역함수의 정의에 의해 FX(FX−1(y))=yF_X(F_X^{-1}(y)) = yFX​(FX−1​(y))=y 이다: FY(y)=y(0≤y≤1)F_Y(y) = y \\quad (0 \\le y \\le 1)FY​(y)=y(0≤y≤1) 누적분포함수 전체 범위 완성:\nFY(y)={0,y\u0026lt;0y,0≤y≤11,y\u0026gt;1F_Y(y) = \\begin{cases} 0, \u0026amp; y \u0026lt; 0 \\\\ y, \u0026amp; 0 \\le y \\le 1 \\\\ 1, \u0026amp; y \u0026gt; 1 \\end{cases}FY​(y)=⎩⎨⎧​0,y,1,​y\u0026lt;00≤y≤1y\u0026gt;1​ 확률밀도함수(PDF) 도출:\nCDF를 yyy에 대해 미분한다(밀도는 누적분포함수의 도함수, 교재 6.7.1절): fY(y)=ddyFY(y)={1,0≤y≤10,그 외f_Y(y) = \\frac{d}{dy} F_Y(y) = \\begin{cases} 1, \u0026amp; 0 \\le y \\le 1 \\\\ 0, \u0026amp; \\text{그 외} \\end{cases}fY​(y)=dyd​FY​(y)={1,0,​0≤y≤1그 외​ 이는 구간 [0,1][0, 1][0,1]에서 정의된 연속균등분포 Uniform(0,1)\\text{Uniform}(0, 1)Uniform(0,1)의 확률밀도함수와 정확히 일치한다. (교재 밖 보충: FXF_XFX​에 평평한 구간이 있어도 FXF_XFX​가 연속이기만 하면 결론은 그대로 성립한다. 이때는 일반화 역함수 FX−1(y):=inf⁡{x:FX(x)≥y}F_X^{-1}(y) := \\inf\\{x : F_X(x) \\ge y\\}FX−1​(y):=inf{x:FX​(x)≥y}로 같은 논리를 편다. 교재 정리 6.15는 이 경우를 다루지 않고 \u0026ldquo;엄격히 단조\u0026quot;를 가정한다.)\n답:\nFY(y)=P(FX(X)≤y)=P(X≤FX−1(y))=FX(FX−1(y))=y(0≤y≤1)\\begin{aligned} \u0026amp;F_Y(y) = P(F_X(X) \\le y) \\\\ \u0026amp;\\quad = P(X \\le F_X^{-1}(y)) = F_X(F_X^{-1}(y)) \\\\ \u0026amp;\\quad = y\\quad (0 \\le y \\le 1) \\end{aligned}​FY​(y)=P(FX​(X)≤y)=P(X≤FX−1​(y))=FX​(FX−1​(y))=y(0≤y≤1)​fY(y)=ddyFY(y)=1 ⟹ Y∼Uniform(0,1)(증명 완료)\\begin{aligned} \u0026amp;f_Y(y) = \\frac{d}{dy}F_Y(y) = 1 \\\\ \u0026amp;\\quad \\implies Y \\sim \\text{Uniform}(0, 1) \\\\ \u0026amp;\\text{(증명 완료)} \\end{aligned}​fY​(y)=dyd​FY​(y)=1⟹Y∼Uniform(0,1)(증명 완료)​ 7장 연속 최적화 검산: 7.1의 함숫값, 7.6·7.7의 원문제·쌍대문제 최적값을 scipy로 다시 풀어 확인했다. MML 7장 본문에 없는 개념(상보 여유성, 로빈스-먼로 조건, 펜첼-영 부등식)은 \u0026ldquo;(교재 밖 보충)\u0026ldquo;으로 표시했다.\n7.1 일변수 3차 다항식의 정류점 및 극대·극소·안장점 판정 문제:\n일변수 함수 f(x)=x3+6x2−3x−5f(x) = x^3 + 6x^2 - 3x - 5f(x)=x3+6x2−3x−5의 정류점(stationary points)을 모두 찾고, 각 정류점이 극댓값(maximum), 극솟값(minimum), 안장점(saddle point) 중 무엇인지 판정하라.\n풀이:\n1계 도함수 계산:\n함수 f(x)f(x)f(x)를 xxx에 대해 미분하여 1계 도함수를 구한다.\nf′(x)=ddx(x3+6x2−3x−5)=3x2+12x−3f\u0026#x27;(x) = \\frac{d}{dx}(x^3 + 6x^2 - 3x - 5) = 3x^2 + 12x - 3f′(x)=dxd​(x3+6x2−3x−5)=3x2+12x−3 정류점 방정식 설정 및 정리:\n정류점(stationary point)은 1계 도함수가 0이 되는 점이므로 방정식을 세운다.\n3x2+12x−3=03x^2 + 12x - 3 = 03x2+12x−3=0\n양변을 3으로 나눈다.\nx2+4x−1=0x^2 + 4x - 1 = 0x2+4x−1=0 근의 공식을 이용한 정류점 도출:\n2차방정식 근의 공식을 적용하여 해를 구한다.\nx=−4±42−4(1)(−1)2(1)=−4±16+42=−4±202=−2±5x = \\frac{-4 \\pm \\sqrt{4^2 - 4(1)(-1)}}{2(1)} = \\frac{-4 \\pm \\sqrt{16 + 4}}{2} = \\frac{-4 \\pm \\sqrt{20}}{2} = -2 \\pm \\sqrt{5}x=2(1)−4±42−4(1)(−1)​​=2−4±16+4​​=2−4±20​​=−2±5​\n따라서 정류점은 다음 두 개이다.\nx1=−2−5≈−4.2361,x2=−2+5≈0.2361x_1 = -2 - \\sqrt{5} \\approx -4.2361, \\quad x_2 = -2 + \\sqrt{5} \\approx 0.2361x1​=−2−5​≈−4.2361,x2​=−2+5​≈0.2361 2계 도함수 계산:\n극대·극소 판정을 위해 f′(x)f\u0026#x27;(x)f′(x)를 한 번 더 미분하여 2계 도함수를 구한다.\nf′′(x)=ddx(3x2+12x−3)=6x+12=6(x+2)f\u0026#x27;\u0026#x27;(x) = \\frac{d}{dx}(3x^2 + 12x - 3) = 6x + 12 = 6(x + 2)f′′(x)=dxd​(3x2+12x−3)=6x+12=6(x+2) 각 정류점에서 2계 도함수 부호 판정: 첫 번째 정류점 x1=−2−5x_1 = -2 - \\sqrt{5}x1​=−2−5​ 대입:\nf′′(−2−5)=6((−2−5)+2)=−65\u0026lt;0f\u0026#x27;\u0026#x27;(-2 - \\sqrt{5}) = 6((-2 - \\sqrt{5}) + 2) = -6\\sqrt{5} \u0026lt; 0f′′(−2−5​)=6((−2−5​)+2)=−65​\u0026lt;0\n2계 도함수가 음수이므로 함수는 위로 볼록(concave down)하며, x1x_1x1​은 극댓값(local maximum)이다. 두 번째 정류점 x2=−2+5x_2 = -2 + \\sqrt{5}x2​=−2+5​ 대입:\nf′′(−2+5)=6((−2+5)+2)=65\u0026gt;0f\u0026#x27;\u0026#x27;(-2 + \\sqrt{5}) = 6((-2 + \\sqrt{5}) + 2) = 6\\sqrt{5} \u0026gt; 0f′′(−2+5​)=6((−2+5​)+2)=65​\u0026gt;0\n2계 도함수가 양수이므로 함수는 아래로 볼록(convex)하며, x2x_2x2​는 극솟값(local minimum)이다. 안장점(saddle point / 수평 변곡점) 존재 여부 검토:\n일변수 함수에서 정류점이면서 안장점이 되려면 f′(x)=0f\u0026#x27;(x) = 0f′(x)=0과 f′′(x)=0f\u0026#x27;\u0026#x27;(x) = 0f′′(x)=0을 동시에 만족해야 한다.\nf′′(x)=6(x+2)=0f\u0026#x27;\u0026#x27;(x) = 6(x + 2) = 0f′′(x)=6(x+2)=0을 만족하는 변곡점은 x=−2x = -2x=−2뿐이다.\nx=−2x = -2x=−2에서의 1계 도함수를 계산하면:\nf′(−2)=3(−2)2+12(−2)−3=12−24−3=−15≠0f\u0026#x27;(-2) = 3(-2)^2 + 12(-2) - 3 = 12 - 24 - 3 = -15 \\ne 0f′(−2)=3(−2)2+12(−2)−3=12−24−3=−15=0\n따라서 x=−2x = -2x=−2는 정류점이 아니므로, 이 함수에 안장점은 존재하지 않는다. 답:\n정류점: x=−2−5\\boldsymbol{x = -2 - \\sqrt{5}}x=−2−5​ 및 x=−2+5\\boldsymbol{x = -2 + \\sqrt{5}}x=−2+5​ 판정: x=−2−5≈−4.236\\boldsymbol{x = -2 - \\sqrt{5} \\approx -4.236}x=−2−5​≈−4.236: 극대 (local maximum) x=−2+5≈0.236\\boldsymbol{x = -2 + \\sqrt{5} \\approx 0.236}x=−2+5​≈0.236: 극소 (local minimum) 안장점: 없음 확인:\n극대점과 극소점에서의 실제 함숫값을 계산하여 그래프의 개형을 확인한다.\nf(−2−5)=(−2−5)3+6(−2−5)2−3(−2−5)−5=17+105≈39.3607\\begin{aligned} \u0026amp;f(-2 - \\sqrt{5}) \\\\ \u0026amp;\\quad = (-2 - \\sqrt{5})^3 + 6(-2 - \\sqrt{5})^2 \\\\ \u0026amp;\\quad - 3(-2 - \\sqrt{5}) - 5 \\\\ \u0026amp;\\quad = 17 + 10\\sqrt{5} \\approx 39.3607 \\end{aligned}​f(−2−5​)=(−2−5​)3+6(−2−5​)2−3(−2−5​)−5=17+105​≈39.3607​\nf(−2+5)=(−2+5)3+6(−2+5)2−3(−2+5)−5=17−105≈−5.3607\\begin{aligned} \u0026amp;f(-2 + \\sqrt{5}) \\\\ \u0026amp;\\quad = (-2 + \\sqrt{5})^3 + 6(-2 + \\sqrt{5})^2 \\\\ \u0026amp;\\quad - 3(-2 + \\sqrt{5}) - 5 \\\\ \u0026amp;\\quad = 17 - 10\\sqrt{5} \\approx -5.3607 \\end{aligned}​f(−2+5​)=(−2+5​)3+6(−2+5​)2−3(−2+5​)−5=17−105​≈−5.3607​\n3차 다항식의 최고차항 계수가 +1\u0026gt;0+1 \u0026gt; 0+1\u0026gt;0이므로 x→−∞x \\to -\\inftyx→−∞에서 −∞-\\infty−∞로부터 증가하여 x≈−4.236x \\approx -4.236x≈−4.236에서 극댓값 ≈39.36\\approx 39.36≈39.36을 찍고 감소한 뒤, x≈0.236x \\approx 0.236x≈0.236에서 극솟값 ≈−5.36\\approx -5.36≈−5.36을 찍고 x→+∞x \\to +\\inftyx→+∞로 증가하는 전형적인 3차 다항식 곡선 개형과 정확히 일치한다.\n7.2 확률적 경사하강법(SGD)의 미니배치 크기 1 갱신식 문제:\n전체 손실함수의 합에 대한 경사하강법 식 (7.15) θi+1=θi−γi(∇L(θi))⊤=θi−γi∑n=1N(∇Ln(θi))⊤\\begin{aligned} \\theta_{i+1} \u0026amp;= \\theta_i - \\gamma_i (\\nabla L(\\theta_i))^\\top \\\\ \u0026amp;= \\theta_i - \\gamma_i \\sum_{n=1}^N (\\nabla L_n(\\theta_i))^\\top \\end{aligned}θi+1​​=θi​−γi​(∇L(θi​))⊤=θi​−γi​n=1∑N​(∇Ln​(θi​))⊤​ 에서, 미니배치 크기(mini-batch size)가 1일 때의 파라미터 갱신식을 작성하라.\n풀이:\n교재 식 (7.15)의 구조 분석:\n전체 손실함수 L(θ)L(\\theta)L(θ)는 NNN개의 훈련 데이터 샘플에 대한 개별 손실 Ln(θ)L_n(\\theta)Ln​(θ)의 단순 합으로 정의된다.\nL(θ)=∑n=1NLn(θ)L(\\theta) = \\sum_{n=1}^N L_n(\\theta)L(θ)=∑n=1N​Ln​(θ)\n전체 그래디언트는 미분의 선형성에 의해 각 샘플 그래디언트의 합이다.\n∇L(θ)=∑n=1N∇Ln(θ)\\nabla L(\\theta) = \\sum_{n=1}^N \\nabla L_n(\\theta)∇L(θ)=∑n=1N​∇Ln​(θ) 미니배치 확률적 경사하강법의 원리:\n대규모 데이터셋에서는 NNN개 전체 샘플의 그래디언트를 매 반복마다 계산하는 비용이 지나치게 크므로, 각 단계 iii에서 인덱스 집합 {1,…,N}\\{1, \\dots, N\\}{1,…,N}의 부분집합 Bi\\mathcal{B}_iBi​ (크기 ∣Bi∣=M|\\mathcal{B}_i| = M∣Bi​∣=M)를 무작위로 추출하여 전체 그래디언트를 추정한다. 미니배치 크기 1 (M=1M = 1M=1)의 적용:\n미니배치 크기가 1인 극단적인 경우(교재 7.1.3절, 231쪽), 매 반복 iii마다 전체 NNN개의 데이터 중 단 하나의 샘플 인덱스 ni∈{1,…,N}n_i \\in \\{1, \\dots, N\\}ni​∈{1,…,N}를 균등 확률(확률 1/N1/N1/N)로 독립 무작위 추출(uniform random sampling)한다. 합 기호 ∑n=1N\\sum_{n=1}^N∑n=1N​을 단일 샘플로 대체:\n전체 합 ∑n=1N(∇Ln(θi))⊤\\sum_{n=1}^N (\\nabla L_n(\\theta_i))^\\top∑n=1N​(∇Ln​(θi​))⊤ 대신 무작위로 선택된 단일 샘플의 그래디언트 (∇Lni(θi))⊤(\\nabla L_{n_i}(\\theta_i))^\\top(∇Lni​​(θi​))⊤을 직접 대입하여 파라미터를 갱신한다.\nθi+1=θi−γi(∇Lni(θi))⊤\\theta_{i+1} = \\theta_i - \\gamma_i (\\nabla L_{n_i}(\\theta_i))^\\topθi+1​=θi​−γi​(∇Lni​​(θi​))⊤ 무편향 추정량과 스케일링 설명:\n확률변수 nin_ini​에 대한 기댓값을 취하면 다음과 같다.\nEni[(∇Lni(θi))⊤]=∑k=1N1N(∇Lk(θi))⊤=1N(∇L(θi))⊤\\mathbb{E}_{n_i}\\left[(\\nabla L_{n_i}(\\theta_i))^\\top\\right] = \\sum_{k=1}^N \\frac{1}{N} (\\nabla L_k(\\theta_i))^\\top = \\frac{1}{N} (\\nabla L(\\theta_i))^\\topEni​​[(∇Lni​​(θi​))⊤]=∑k=1N​N1​(∇Lk​(θi​))⊤=N1​(∇L(θi​))⊤\n따라서 단일 샘플 그래디언트는 전체 평균 손실 1NL(θ)\\frac{1}{N}L(\\theta)N1​L(θ)의 그래디언트에 대한 무편향 추정량(unbiased estimator)이다. 만약 전체 합 L(θ)L(\\theta)L(θ)의 그래디언트 크기와 정확히 맞추고자 한다면 N(∇Lni(θi))⊤N (\\nabla L_{n_i}(\\theta_i))^\\topN(∇Lni​​(θi​))⊤으로 쓸 수도 있으나, 머신러닝 관례 및 교재 7.1.3절에서는 비례 상수 NNN이 학습률 γi\\gamma_iγi​의 조정에 흡수되므로 단일 샘플 그래디언트를 직접 차감하는 형태로 작성한다. 답:\nθi+1=θi−γi(∇Lni(θi))⊤\\boldsymbol{\\theta_{i+1} = \\theta_i - \\gamma_i (\\nabla L_{n_i}(\\theta_i))^\\top}θi+1​=θi​−γi​(∇Lni​​(θi​))⊤\n(단, ni∈{1,…,N}n_i \\in \\{1, \\dots, N\\}ni​∈{1,…,N}은 iii번째 갱신 단계에서 {1,…,N}\\{1, \\dots, N\\}{1,…,N} 중 균등한 확률로 무작위 선택된 단일 데이터 샘플의 인덱스이며, γi\u0026gt;0\\gamma_i \u0026gt; 0γi​\u0026gt;0는 학습률(보폭)이다.)\n(참고: 전체 합 손실의 크기 스케일을 엄격히 유지하는 관점에서는 θi+1=θi−γiN(∇Lni(θi))⊤\\theta_{i+1} = \\theta_i - \\gamma_i N (\\nabla L_{n_i}(\\theta_i))^\\topθi+1​=θi​−γi​N(∇Lni​​(θi​))⊤로 표기할 수도 있으며, 이는 상수 NNN이 학습률에 통합되기 전의 형태와 동치이다.)\n확인:\n미니배치 크기 1인 SGD는 매 스텝 연산량이 O(1)\\mathcal{O}(1)O(1)로 전체 데이터 수 NNN에 독립적이다. 무작위 샘플링으로 인한 그래디언트의 분산(노이즈)은 초기 탐색 단계에서 얕은 국소 최솟값이나 안장점을 벗어나는 데 도움을 주며, 수렴을 보장하기 위해서는 Robbins-Monro 조건 ∑γi=∞,∑γi2\u0026lt;∞\\sum \\gamma_i = \\infty, \\sum \\gamma_i^2 \u0026lt; \\infty∑γi​=∞,∑γi2​\u0026lt;∞ (교재 밖 보충)에 따라 보폭을 점진적으로 줄여야 한다.\n7.3 볼록 집합(Convex Set) 연산의 참/거짓 판정 문제:\n다음 명제의 참/거짓을 판정하라. (참이면 증명, 거짓이면 반례 제시)\na. 임의의 두 볼록집합의 교집합은 볼록집합이다.\nb. 임의의 두 볼록집합의 합집합은 볼록집합이다.\nc. 볼록집합 BBB에서 또 다른 볼록집합 AAA를 뺀 차집합 B∖AB \\setminus AB∖A는 볼록집합이다.\n풀이:\n교재 정의 7.2 (볼록 집합, 236쪽):\n집합 C⊆RDC \\subseteq \\mathbb{R}^DC⊆RD가 볼록집합이란, 임의의 x,y∈Cx, y \\in Cx,y∈C 및 임의의 θ∈[0,1]\\theta \\in [0, 1]θ∈[0,1]에 대하여 볼록 결합 (1−θ)x+θy∈C(1 - \\theta)x + \\theta y \\in C(1−θ)x+θy∈C가 항상 성립하는 집합이다. a. 교집합 A∩BA \\cap BA∩B 판정: 참 (True) 증명: 임의의 두 점 x,y∈A∩Bx, y \\in A \\cap Bx,y∈A∩B와 임의의 스칼라 θ∈[0,1]\\theta \\in [0, 1]θ∈[0,1]을 선택한다. 교집합의 정의에 의해 x∈Ax \\in Ax∈A이고 x∈Bx \\in Bx∈B이며, y∈Ay \\in Ay∈A이고 y∈By \\in By∈B이다. 집합 AAA가 볼록집합이므로 정의 7.2에 의해 선분 위의 점 (1−θ)x+θy∈A(1 - \\theta)x + \\theta y \\in A(1−θ)x+θy∈A이다. 집합 BBB 또한 볼록집합이므로 정의 7.2에 의해 동일한 점 (1−θ)x+θy∈B(1 - \\theta)x + \\theta y \\in B(1−θ)x+θy∈B이다. 점 (1−θ)x+θy(1 - \\theta)x + \\theta y(1−θ)x+θy가 AAA와 BBB 모두에 속하므로, 교집합의 정의에 의해 (1−θ)x+θy∈A∩B(1 - \\theta)x + \\theta y \\in A \\cap B(1−θ)x+θy∈A∩B이다. 따라서 정의 7.2를 만족하므로 A∩BA \\cap BA∩B는 볼록집합이다. (이는 임의의 개수, 심지어 무한개의 볼록집합 교집합으로도 성립한다). b. 합집합 A∪BA \\cup BA∪B 판정: 거짓 (False) 반례: 1차원 실수선 R\\mathbb{R}R 위에서 두 닫힌 구간 A=[0,1]A = [0, 1]A=[0,1]과 B=[2,3]B = [2, 3]B=[2,3]을 생각한다. 구간은 볼록집합이므로 AAA와 BBB는 각각 볼록집합이다. 두 집합의 합집합은 C=A∪B=[0,1]∪[2,3]C = A \\cup B = [0, 1] \\cup [2, 3]C=A∪B=[0,1]∪[2,3]이다. x=1∈A⊂Cx = 1 \\in A \\subset Cx=1∈A⊂C이고 y=2∈B⊂Cy = 2 \\in B \\subset Cy=2∈B⊂C를 고른다. θ=0.5\\theta = 0.5θ=0.5일 때 두 점의 중점은 다음과 같다.\n(1−0.5)(1)+0.5(2)=0.5+1.0=1.5(1 - 0.5)(1) + 0.5(2) = 0.5 + 1.0 = 1.5(1−0.5)(1)+0.5(2)=0.5+1.0=1.5 1.5∉[0,1]1.5 \\notin [0, 1]1.5∈/[0,1]이고 1.5∉[2,3]1.5 \\notin [2, 3]1.5∈/[2,3]이므로 1.5∉A∪B1.5 \\notin A \\cup B1.5∈/A∪B이다. 두 점을 잇는 선분의 중점이 합집합에 포함되지 않으므로 A∪BA \\cup BA∪B는 볼록집합이 아니다. c. 차집합 B∖AB \\setminus AB∖A 판정: 거짓 (False) 반례 (1차원 구간): B=[0,3]B = [0, 3]B=[0,3] (볼록구간), A=[1,2]A = [1, 2]A=[1,2] (볼록구간)라 하자. 차집합은 B∖A=[0,1)∪(2,3]B \\setminus A = [0, 1) \\cup (2, 3]B∖A=[0,1)∪(2,3]이다. x=0.5∈B∖Ax = 0.5 \\in B \\setminus Ax=0.5∈B∖A이고 y=2.5∈B∖Ay = 2.5 \\in B \\setminus Ay=2.5∈B∖A를 고른다. θ=0.5\\theta = 0.5θ=0.5일 때 중점은 0.5+2.52=1.5\\frac{0.5 + 2.5}{2} = 1.520.5+2.5​=1.5이다. 1.5∈A1.5 \\in A1.5∈A이므로 1.5∉B∖A1.5 \\notin B \\setminus A1.5∈/B∖A이다. 따라서 B∖AB \\setminus AB∖A는 볼록집합이 아니다. 반례 (2차원 기하학적 직관): R2\\mathbb{R}^2R2에서 중심이 원점인 반지름 2의 닫힌 원반 B={x∈R2∣∥x∥≤2}B = \\{x \\in \\mathbb{R}^2 \\mid \\|x\\| \\le 2\\}B={x∈R2∣∥x∥≤2}와 반지름 1의 열린 원반 A={x∈R2∣∥x∥\u0026lt;1}A = \\{x \\in \\mathbb{R}^2 \\mid \\|x\\| \u0026lt; 1\\}A={x∈R2∣∥x∥\u0026lt;1}은 모두 볼록집합이다. 차집합 B∖A={x∈R2∣1≤∥x∥≤2}B \\setminus A = \\{x \\in \\mathbb{R}^2 \\mid 1 \\le \\|x\\| \\le 2\\}B∖A={x∈R2∣1≤∥x∥≤2}는 중심에 구멍이 뚫린 도넛 모양(환, annulus)이다. 점 x=(−1.5,0)∈B∖Ax = (-1.5, 0) \\in B \\setminus Ax=(−1.5,0)∈B∖A와 y=(1.5,0)∈B∖Ay = (1.5, 0) \\in B \\setminus Ay=(1.5,0)∈B∖A를 잇는 선분의 중점은 원점 (0,0)(0, 0)(0,0)이지만, 원점은 구멍(AAA)에 속하므로 B∖AB \\setminus AB∖A에 속하지 않는다. 따라서 볼록집합이 아니다. 답:\na. 참 (True) b. 거짓 (False) c. 거짓 (False) 7.4 볼록 함수(Convex Function) 연산의 참/거짓 판정 문제:\n다음 명제의 참/거짓을 판정하라. (참이면 증명, 거짓이면 반례 제시)\na. 임의의 두 볼록함수의 합은 볼록함수이다.\nb. 임의의 두 볼록함수의 차는 볼록함수이다.\nc. 임의의 두 볼록함수의 곱은 볼록함수이다.\nd. 임의의 두 볼록함수의 최댓값(max⁡\\maxmax)은 볼록함수이다.\n풀이:\n교재 정의 7.3 (볼록 함수, 236쪽):\n함수 f:RD→Rf: \\mathbb{R}^D \\to \\mathbb{R}f:RD→R의 정의역 dom(f)\\text{dom}(f)dom(f)가 볼록집합이고, 임의의 x,y∈dom(f)x, y \\in \\text{dom}(f)x,y∈dom(f) 및 θ∈[0,1]\\theta \\in [0, 1]θ∈[0,1]에 대해 다음 부등식이 성립하면 볼록함수이다.\nf((1−θ)x+θy)≤(1−θ)f(x)+θf(y)f((1 - \\theta)x + \\theta y) \\le (1 - \\theta)f(x) + \\theta f(y)f((1−θ)x+θy)≤(1−θ)f(x)+θf(y) a. 합 f+gf + gf+g 판정: 참 (True) 증명: fff와 ggg가 볼록함수이므로, 임의의 x,y∈dom(f)∩dom(g)x, y \\in \\text{dom}(f) \\cap \\text{dom}(g)x,y∈dom(f)∩dom(g) 및 θ∈[0,1]\\theta \\in [0, 1]θ∈[0,1]에 대해 다음이 성립한다.\nf((1−θ)x+θy)≤(1−θ)f(x)+θf(y)f((1 - \\theta)x + \\theta y) \\le (1 - \\theta)f(x) + \\theta f(y)f((1−θ)x+θy)≤(1−θ)f(x)+θf(y)\ng((1−θ)x+θy)≤(1−θ)g(x)+θg(y)g((1 - \\theta)x + \\theta y) \\le (1 - \\theta)g(x) + \\theta g(y)g((1−θ)x+θy)≤(1−θ)g(x)+θg(y) 두 부등식의 양변을 더한다.\nf((1−θ)x+θy)+g((1−θ)x+θy)≤(1−θ)(f(x)+g(x))+θ(f(y)+g(y))f((1 - \\theta)x + \\theta y) + g((1 - \\theta)x + \\theta y) \\le (1 - \\theta)(f(x) + g(x)) + \\theta (f(y) + g(y))f((1−θ)x+θy)+g((1−θ)x+θy)≤(1−θ)(f(x)+g(x))+θ(f(y)+g(y)) 좌변은 (f+g)((1−θ)x+θy)(f + g)((1 - \\theta)x + \\theta y)(f+g)((1−θ)x+θy)이고, 우변은 (1−θ)(f+g)(x)+θ(f+g)(y)(1 - \\theta)(f + g)(x) + \\theta (f + g)(y)(1−θ)(f+g)(x)+θ(f+g)(y)이다. 따라서 정의 7.3에 의해 f+gf + gf+g는 볼록함수이다. b. 차 f−gf - gf−g 판정: 거짓 (False) 반례: f(x)=x2f(x) = x^2f(x)=x2과 g(x)=2x2g(x) = 2x^2g(x)=2x2를 잡는다. f′′(x)=2\u0026gt;0f\u0026#x27;\u0026#x27;(x) = 2 \u0026gt; 0f′′(x)=2\u0026gt;0, g′′(x)=4\u0026gt;0g\u0026#x27;\u0026#x27;(x) = 4 \u0026gt; 0g′′(x)=4\u0026gt;0이므로 두 함수는 모두 실수 전체에서 엄격히 볼록(strictly convex)하다. 차 함수는 h(x)=(f−g)(x)=x2−2x2=−x2h(x) = (f - g)(x) = x^2 - 2x^2 = -x^2h(x)=(f−g)(x)=x2−2x2=−x2이다. h′′(x)=−2\u0026lt;0h\u0026#x27;\u0026#x27;(x) = -2 \u0026lt; 0h′′(x)=−2\u0026lt;0이므로 h(x)h(x)h(x)는 엄격히 오목(concave) 함수이며 볼록함수가 아니다. (수치 점검: x=−1,y=1,θ=0.5x = -1, y = 1, \\theta = 0.5x=−1,y=1,θ=0.5에서 h(0)=0\u0026gt;−1=0.5h(−1)+0.5h(1)h(0) = 0 \u0026gt; -1 = 0.5 h(-1) + 0.5 h(1)h(0)=0\u0026gt;−1=0.5h(−1)+0.5h(1)로 볼록성 부등식 위배). c. 곱 fgfgfg 판정: 거짓 (False) 반례 1 (음수 영역을 포함하는 선형함수): f(x)=xf(x) = xf(x)=x (선형함수는 볼록함수), g(x)=x2g(x) = x^2g(x)=x2 (볼록함수)를 잡는다. 곱 함수는 h(x)=f(x)g(x)=x3h(x) = f(x)g(x) = x^3h(x)=f(x)g(x)=x3이다. 2계 도함수 h′′(x)=6xh\u0026#x27;\u0026#x27;(x) = 6xh′′(x)=6x는 x\u0026lt;0x \u0026lt; 0x\u0026lt;0에서 음수이므로, x\u0026lt;0x \u0026lt; 0x\u0026lt;0 영역에서 오목하다. 예컨대 x=−2,y=0,θ=0.5x = -2, y = 0, \\theta = 0.5x=−2,y=0,θ=0.5일 때 h(−1)=−1h(-1) = -1h(−1)=−1이지만, 우변은 0.5h(−2)+0.5h(0)=0.5(−8)+0=−40.5 h(-2) + 0.5 h(0) = 0.5(-8) + 0 = -40.5h(−2)+0.5h(0)=0.5(−8)+0=−4이다. −1≤−4-1 \\le -4−1≤−4는 거짓이므로 볼록함수가 아니다. 반례 2 (비음수 볼록함수의 곱도 성립하지 않는 예): f(x)=x2≥0f(x) = x^2 \\ge 0f(x)=x2≥0, g(x)=(x−1)2≥0g(x) = (x - 1)^2 \\ge 0g(x)=(x−1)2≥0은 모두 실수 전체에서 비음수 볼록함수이다. 곱 함수는 h(x)=x2(x−1)2=x4−2x3+x2h(x) = x^2(x - 1)^2 = x^4 - 2x^3 + x^2h(x)=x2(x−1)2=x4−2x3+x2이다. 2계 도함수는 h′′(x)=12x2−12x+2h\u0026#x27;\u0026#x27;(x) = 12x^2 - 12x + 2h′′(x)=12x2−12x+2이다. x=0.5x = 0.5x=0.5에서 h′′(0.5)=12(0.25)−12(0.5)+2=3−6+2=−1\u0026lt;0h\u0026#x27;\u0026#x27;(0.5) = 12(0.25) - 12(0.5) + 2 = 3 - 6 + 2 = -1 \u0026lt; 0h′′(0.5)=12(0.25)−12(0.5)+2=3−6+2=−1\u0026lt;0. 따라서 x=0.5x = 0.5x=0.5 근처에서 위로 볼록(local maximum)하여 볼록함수가 아니다. d. 최댓값 max⁡{f,g}\\max\\{f, g\\}max{f,g} 판정: 참 (True) 증명: h(x)=max⁡{f(x),g(x)}h(x) = \\max\\{f(x), g(x)\\}h(x)=max{f(x),g(x)}라 하자. 임의의 x,yx, yx,y 및 θ∈[0,1]\\theta \\in [0, 1]θ∈[0,1]에 대해, fff의 볼록성에 의해:\nf((1−θ)x+θy)≤(1−θ)f(x)+θf(y)f((1 - \\theta)x + \\theta y) \\le (1 - \\theta)f(x) + \\theta f(y)f((1−θ)x+θy)≤(1−θ)f(x)+θf(y)\n그런데 f(x)≤h(x)f(x) \\le h(x)f(x)≤h(x)이고 f(y)≤h(y)f(y) \\le h(y)f(y)≤h(y)이므로:\nf((1−θ)x+θy)≤(1−θ)h(x)+θh(y)f((1 - \\theta)x + \\theta y) \\le (1 - \\theta)h(x) + \\theta h(y)f((1−θ)x+θy)≤(1−θ)h(x)+θh(y) 마찬가지로 ggg의 볼록성에 의해:\ng((1−θ)x+θy)≤(1−θ)g(x)+θg(y)≤(1−θ)h(x)+θh(y)g((1 - \\theta)x + \\theta y) \\le (1 - \\theta)g(x) + \\theta g(y) \\le (1 - \\theta)h(x) + \\theta h(y)g((1−θ)x+θy)≤(1−θ)g(x)+θg(y)≤(1−θ)h(x)+θh(y) h((1−θ)x+θy)=max⁡{f((1−θ)x+θy),g((1−θ)x+θy)}h((1 - \\theta)x + \\theta y) = \\max\\{f((1 - \\theta)x + \\theta y), g((1 - \\theta)x + \\theta y)\\}h((1−θ)x+θy)=max{f((1−θ)x+θy),g((1−θ)x+θy)}는 위 두 값의 최댓값이므로, 동일한 상계 이하이다.\nh((1−θ)x+θy)≤(1−θ)h(x)+θh(y)h((1 - \\theta)x + \\theta y) \\le (1 - \\theta)h(x) + \\theta h(y)h((1−θ)x+θy)≤(1−θ)h(x)+θh(y) 따라서 h=max⁡{f,g}h = \\max\\{f, g\\}h=max{f,g}는 볼록함수이다. (기하학적 보충: 함수의 에피그래프 epi(h)=epi(f)∩epi(g)\\text{epi}(h) = \\text{epi}(f) \\cap \\text{epi}(g)epi(h)=epi(f)∩epi(g)이며, 7.3(a)에 의해 두 볼록집합의 교집합은 볼록집합이므로 hhh는 볼록함수이다.) 답:\na. 참 (True) b. 거짓 (False) c. 거짓 (False) d. 참 (True) 7.5 최적화 문제의 표준 선형계획(Standard Linear Program) 행렬 표현 문제:\n다음 최적화 문제 max⁡x∈R2,ξ∈Rp⊤x+ξsubject toξ≥0,x0≤0,x1≤3\\begin{gathered} \\max_{x \\in \\mathbb{R}^2, \\xi \\in \\mathbb{R}} p^\\top x + \\xi\\quad \\text{subject to}\\quad \\xi \\ge 0, \\\\ x_0 \\le 0,\\quad x_1 \\le 3 \\end{gathered}x∈R2,ξ∈Rmax​p⊤x+ξsubject toξ≥0,x0​≤0,x1​≤3​ 를 표준 선형계획(min⁡c⊤z subject to Az≤b\\min c^\\top z \\text{ subject to } A z \\le bminc⊤z subject to Az≤b)의 행렬 표기법으로 나타내라. (단, 결정변수 벡터 xxx의 성분 x0,x1x_0, x_1x0​,x1​ 표기를 그대로 유지한다.)\n풀이:\n결정변수 벡터 zzz 정의:\n문제의 최적화 변수는 2차원 벡터 x=[x0x1]∈R2x = \\begin{bmatrix} x_0 \\\\ x_1 \\end{bmatrix} \\in \\mathbb{R}^2x=[x0​x1​​]∈R2와 스칼라 슬랙 변수 ξ∈R\\xi \\in \\mathbb{R}ξ∈R이다.\n이를 하나의 3차원 열벡터 z∈R3z \\in \\mathbb{R}^3z∈R3으로 통합한다.\nz=[x0x1ξ]∈R3z = \\begin{bmatrix} x_0 \\\\ x_1 \\\\ \\xi \\end{bmatrix} \\in \\mathbb{R}^3z=​x0​x1​ξ​​∈R3 목적함수를 표준 최소화(min⁡\\minmin) 꼴로 변환:\n주어진 문제는 최대화 문제이다.\nmax⁡(p⊤x+ξ)=max⁡(p0x0+p1x1+ξ)\\max \\left( p^\\top x + \\xi \\right) = \\max \\left( p_0 x_0 + p_1 x_1 + \\xi \\right)max(p⊤x+ξ)=max(p0​x0​+p1​x1​+ξ)\n최적화 이론의 기본 관계 max⁡f(z)=−min⁡(−f(z))\\max f(z) = -\\min (-f(z))maxf(z)=−min(−f(z))에 따라 목적함수에 음의 부호를 취해 최소화 문제로 변환한다.\nmin⁡(−p0x0−p1x1−ξ)\\min \\left( -p_0 x_0 - p_1 x_1 - \\xi \\right)min(−p0​x0​−p1​x1​−ξ)\n이를 c⊤zc^\\top zc⊤z 형태로 표현하기 위해 계수 벡터 c∈R3c \\in \\mathbb{R}^3c∈R3를 구한다.\nc⊤z=[−p0−p1−1][x0x1ξ] ⟹ c=[−p0−p1−1]=[−p−1]c^\\top z = \\begin{bmatrix} -p_0 \u0026amp; -p_1 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} x_0 \\\\ x_1 \\\\ \\xi \\end{bmatrix} \\implies c = \\begin{bmatrix} -p_0 \\\\ -p_1 \\\\ -1 \\end{bmatrix} = \\begin{bmatrix} -p \\\\ -1 \\end{bmatrix}c⊤z=[−p0​​−p1​​−1​]​x0​x1​ξ​​⟹c=​−p0​−p1​−1​​=[−p−1​] 부등식 제약조건을 표준 부등식(≤\\le≤) 꼴로 변환:\n주어진 세 가지 제약식을 각각 Aiz≤biA_i z \\le b_iAi​z≤bi​ 형태로 정리한다. 첫 번째 제약 x0≤0x_0 \\le 0x0​≤0:\n1⋅x0+0⋅x1+0⋅ξ≤01 \\cdot x_0 + 0 \\cdot x_1 + 0 \\cdot \\xi \\le 01⋅x0​+0⋅x1​+0⋅ξ≤0 두 번째 제약 x1≤3x_1 \\le 3x1​≤3:\n0⋅x0+1⋅x1+0⋅ξ≤30 \\cdot x_0 + 1 \\cdot x_1 + 0 \\cdot \\xi \\le 30⋅x0​+1⋅x1​+0⋅ξ≤3 세 번째 제약 ξ≥0\\xi \\ge 0ξ≥0:\n양변에 −1-1−1을 곱하여 부등호 방향을 바꾼다.\n−ξ≤0 ⟺ 0⋅x0+0⋅x1+(−1)⋅ξ≤0-\\xi \\le 0 \\iff 0 \\cdot x_0 + 0 \\cdot x_1 + (-1) \\cdot \\xi \\le 0−ξ≤0⟺0⋅x0​+0⋅x1​+(−1)⋅ξ≤0 제약 행렬 AAA와 경계 벡터 bbb 조립:\n위의 세 부등식을 행렬-벡터 부등식 Az≤bA z \\le bAz≤b로 결합한다.\nA=[10001000−1],b=[030]A = \\begin{bmatrix} 1 \u0026amp; 0 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \u0026amp; 0 \\\\ 0 \u0026amp; 0 \u0026amp; -1 \\end{bmatrix}, \\quad b = \\begin{bmatrix} 0 \\\\ 3 \\\\ 0 \\end{bmatrix}A=​100​010​00−1​​,b=​030​​\n(참고: 제약조건의 행 배치 순서를 문제 원문에 적힌 ξ≥0,x0≤0,x1≤3\\xi \\ge 0, x_0 \\le 0, x_1 \\le 3ξ≥0,x0​≤0,x1​≤3 순으로 둘 경우 A=[00−1100010],b=[003]A = \\begin{bmatrix} 0 \u0026amp; 0 \u0026amp; -1 \\\\ 1 \u0026amp; 0 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \u0026amp; 0 \\end{bmatrix}, b = \\begin{bmatrix} 0 \\\\ 0 \\\\ 3 \\end{bmatrix}A=​010​001​−100​​,b=​003​​가 되며 두 형태는 완전히 동치이다.) 답:\nmin⁡z∈R3c⊤zsubject toAz≤b\\boldsymbol{\\min_{z \\in \\mathbb{R}^3} c^\\top z \\quad \\text{subject to} \\quad A z \\le b}z∈R3min​c⊤zsubject toAz≤b\n여기서\nz=[x0x1ξ],c=[−p0−p1−1],A=[10001000−1],b=[030]\\begin{gathered} \\boldsymbol{z = \\begin{bmatrix} x_0 \\\\ x_1 \\\\ \\xi \\end{bmatrix},\\quad c = \\begin{bmatrix} -p_0 \\\\ -p_1 \\\\ -1 \\end{bmatrix},} \\\\ \\boldsymbol{A = \\begin{bmatrix} 1 \u0026amp; 0 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \u0026amp; 0 \\\\ 0 \u0026amp; 0 \u0026amp; -1 \\end{bmatrix},\\quad b = \\begin{bmatrix} 0 \\\\ 3 \\\\ 0 \\end{bmatrix}} \\end{gathered}z=​x0​x1​ξ​​,c=​−p0​−p1​−1​​,A=​100​010​00−1​​,b=​030​​​\n(제약조건을 ξ≥0,x0≤0,x1≤3\\xi \\ge 0, x_0 \\le 0, x_1 \\le 3ξ≥0,x0​≤0,x1​≤3 순으로 배치할 경우 A=[00−1100010],b=[003]A = \\begin{bmatrix} 0 \u0026amp; 0 \u0026amp; -1 \\\\ 1 \u0026amp; 0 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \u0026amp; 0 \\end{bmatrix}, b = \\begin{bmatrix} 0 \\\\ 0 \\\\ 3 \\end{bmatrix}A=​010​001​−100​​,b=​003​​)\n7.6 2차원 선형계획(LP)의 라그랑주 쌍대 유도 및 수치 검산 문제:\n교재 그림 7.9 (예제 7.5, 240쪽)의 선형계획 문제: min⁡x∈R2−[53]⊤[x1x2]subject to[222−4−210−101][x1x2]≤[3385−18]\\begin{gathered} \\min_{x \\in \\mathbb{R}^2} -\\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix}^\\top \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix}\\quad \\text{subject to} \\\\ \\begin{bmatrix} 2 \u0026amp; 2 \\\\ 2 \u0026amp; -4 \\\\ -2 \u0026amp; 1 \\\\ 0 \u0026amp; -1 \\\\ 0 \u0026amp; 1 \\end{bmatrix} \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\le \\begin{bmatrix} 33 \\\\ 8 \\\\ 5 \\\\ -1 \\\\ 8 \\end{bmatrix} \\end{gathered}x∈R2min​−[53​]⊤[x1​x2​​]subject to​22−200​2−41−11​​[x1​x2​​]≤​3385−18​​​ 의 쌍대 선형계획(Dual Linear Program)을 라그랑주 쌍대성(Lagrange duality)을 이용하여 유도하라. 또한 Python 수치 검산을 통해 원문제와 쌍대문제의 최적값을 확인하고 강쌍대성(Strong Duality)이 성립하는지 검증하라.\n풀이:\n원문제(Primal LP)의 행렬 기호 정의:\nc=[−5−3],A=[222−4−210−101]∈R5×2,b=[3385−18]∈R5\\begin{gathered} c = \\begin{bmatrix} -5 \\\\ -3 \\end{bmatrix}, \\\\ A = \\begin{bmatrix} 2 \u0026amp; 2 \\\\ 2 \u0026amp; -4 \\\\ -2 \u0026amp; 1 \\\\ 0 \u0026amp; -1 \\\\ 0 \u0026amp; 1 \\end{bmatrix} \\in \\mathbb{R}^{5 \\times 2}, \\\\ b = \\begin{bmatrix} 33 \\\\ 8 \\\\ 5 \\\\ -1 \\\\ 8 \\end{bmatrix} \\in \\mathbb{R}^5 \\end{gathered}c=[−5−3​],A=​22−200​2−41−11​​∈R5×2,b=​3385−18​​∈R5​\n원문제는 교재 식 (7.39) 표준형 min⁡x∈R2c⊤x s.t. Ax≤b\\min_{x \\in \\mathbb{R}^2} c^\\top x \\text{ s.t. } Ax \\le bminx∈R2​c⊤x s.t. Ax≤b이다.\n라그랑지안(Lagrangian) 구성 (교재 식 7.40, 7.41):\n5개의 부등식 제약조건에 대해 비음수 라그랑주 승수 벡터 λ=[λ1,λ2,λ3,λ4,λ5]⊤≥0\\lambda = [\\lambda_1, \\lambda_2, \\lambda_3, \\lambda_4, \\lambda_5]^\\top \\ge 0λ=[λ1​,λ2​,λ3​,λ4​,λ5​]⊤≥0를 도입한다.\nL(x,λ)=c⊤x+λ⊤(Ax−b)=c⊤x+λ⊤Ax−λ⊤b\\begin{aligned} L(x, \\lambda) \u0026amp;= c^\\top x + \\lambda^\\top (Ax - b) \\\\ \u0026amp;= c^\\top x + \\lambda^\\top Ax - \\lambda^\\top b \\end{aligned}L(x,λ)​=c⊤x+λ⊤(Ax−b)=c⊤x+λ⊤Ax−λ⊤b​\nxxx에 대하여 항을 묶는다.\nL(x,λ)=(c+A⊤λ)⊤x−b⊤λL(x, \\lambda) = (c + A^\\top \\lambda)^\\top x - b^\\top \\lambdaL(x,λ)=(c+A⊤λ)⊤x−b⊤λ 라그랑주 쌍대 함수 D(λ)D(\\lambda)D(λ) 유도:\n쌍대 함수는 라그랑지안의 xxx에 대한 하한(infimum)으로 정의된다.\nD(λ)=inf⁡x∈R2L(x,λ)=inf⁡x∈R2[(c+A⊤λ)⊤x−b⊤λ]\\begin{aligned} D(\\lambda) \u0026amp;= \\inf_{x \\in \\mathbb{R}^2} L(x, \\lambda) \\\\ \u0026amp;= \\inf_{x \\in \\mathbb{R}^2} \\left[ (c + A^\\top \\lambda)^\\top x - b^\\top \\lambda \\right] \\end{aligned}D(λ)​=x∈R2inf​L(x,λ)=x∈R2inf​[(c+A⊤λ)⊤x−b⊤λ]​\nxxx에 대한 1차 선형함수는 기울기 벡터 c+A⊤λc + A^\\top \\lambdac+A⊤λ의 값에 따라 거동이 갈린다:\n만약 c+A⊤λ≠0c + A^\\top \\lambda \\ne 0c+A⊤λ=0이면: xxx를 −(c+A⊤λ)-(c + A^\\top \\lambda)−(c+A⊤λ) 방향으로 무한히 멀리 보낼 수 있으므로 하한은 −∞-\\infty−∞이다. 만약 c+A⊤λ=0c + A^\\top \\lambda = 0c+A⊤λ=0이면: xxx 항이 완전히 소거되어 L(x,λ)=−b⊤λL(x, \\lambda) = -b^\\top \\lambdaL(x,λ)=−b⊤λ로 일정하므로 하한은 −b⊤λ-b^\\top \\lambda−b⊤λ이다.\n따라서 쌍대 함수는 다음과 같다:\nD(λ)={−b⊤λif A⊤λ+c=0−∞otherwiseD(\\lambda) = \\begin{cases} -b^\\top \\lambda \u0026amp; \\text{if } A^\\top \\lambda + c = 0 \\\\ -\\infty \u0026amp; \\text{otherwise} \\end{cases}D(λ)={−b⊤λ−∞​if A⊤λ+c=0otherwise​ 쌍대 선형계획(Dual LP) 작성:\n쌍대 문제는 D(λ)D(\\lambda)D(λ)를 λ≥0\\lambda \\ge 0λ≥0에 대해 최대화하는 것이다. 유효한 최댓값을 얻기 위해 암묵적 제약조건 A⊤λ+c=0A^\\top \\lambda + c = 0A⊤λ+c=0을 명시적 등식 제약으로 추가한다.\nmax⁡λ∈R5−b⊤λsubject toA⊤λ+c=0,λ≥0\\begin{gathered} \\max_{\\lambda \\in \\mathbb{R}^5} -b^\\top \\lambda\\quad \\text{subject to} \\\\ A^\\top \\lambda + c = 0,\\quad \\lambda \\ge 0 \\end{gathered}λ∈R5max​−b⊤λsubject toA⊤λ+c=0,λ≥0​\nc=[−5−3]c = \\begin{bmatrix} -5 \\\\ -3 \\end{bmatrix}c=[−5−3​]이므로 A⊤λ+c=0 ⟺ A⊤λ=[53]A^\\top \\lambda + c = 0 \\iff A^\\top \\lambda = \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix}A⊤λ+c=0⟺A⊤λ=[53​]이다.\n이를 성분별로 풀어서 명시하면:\nmax⁡λ∈R5(−33λ1−8λ2−5λ3+λ4−8λ5)\\begin{aligned} \u0026amp;\\max_{\\lambda \\in \\mathbb{R}^5} \\bigl( -33\\lambda_1 - 8\\lambda_2 - 5\\lambda_3 + \\lambda_4 \\\\ \u0026amp;\\quad - 8\\lambda_5 \\bigr) \\end{aligned}​λ∈R5max​(−33λ1​−8λ2​−5λ3​+λ4​−8λ5​)​subject to[22−2002−41−11][λ1λ2λ3λ4λ5]=[53],λi≥0 (i=1,…,5)\\begin{aligned} \u0026amp;\\text{subject to} \\\\ \u0026amp;\\begin{bmatrix} 2 \u0026amp; 2 \u0026amp; -2 \u0026amp; 0 \u0026amp; 0 \\\\ 2 \u0026amp; -4 \u0026amp; 1 \u0026amp; -1 \u0026amp; 1 \\end{bmatrix} \\begin{bmatrix} \\lambda_1 \\\\ \\lambda_2 \\\\ \\lambda_3 \\\\ \\lambda_4 \\\\ \\lambda_5 \\end{bmatrix} \\\\ \u0026amp;\\quad = \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix},\\quad \\lambda_i \\ge 0 \\; (i=1,\\dots,5) \\end{aligned}​subject to[22​2−4​−21​0−1​01​]​λ1​λ2​λ3​λ4​λ5​​​=[53​],λi​≥0(i=1,…,5)​(부호를 반전하여 표준 최소화 형태로 나타내면 min⁡λ≥0b⊤λ s.t. A⊤λ=−c\\min_{\\lambda \\ge 0} b^\\top \\lambda \\text{ s.t. } A^\\top \\lambda = -cminλ≥0​b⊤λ s.t. A⊤λ=−c로 쓸 수도 있다.)\nPython 수치 검산 및 강쌍대성 검증:\nscipy.optimize.linprog를 이용해 원문제와 쌍대문제를 푼 결과는 다음과 같다.\n원문제 최적해:\nx∗=[37/325/6]≈[12.33334.1667]x^* = \\begin{bmatrix} 37/3 \\\\ 25/6 \\end{bmatrix} \\approx \\begin{bmatrix} 12.3333 \\\\ 4.1667 \\end{bmatrix}x∗=[37/325/6​]≈[12.33334.1667​]\n이 점에서 제약 1 (2x1+2x2≤332x_1 + 2x_2 \\le 332x1​+2x2​≤33)과 제약 2 (2x1−4x2≤82x_1 - 4x_2 \\le 82x1​−4x2​≤8)가 등호로 활성화(active)된다.\n원문제 최적값:\np∗=−5(373)−3(256)=−1853−252=−4456≈−74.1667p^* = -5\\left(\\frac{37}{3}\\right) - 3\\left(\\frac{25}{6}\\right) = -\\frac{185}{3} - \\frac{25}{2} = -\\frac{445}{6} \\approx -74.1667p∗=−5(337​)−3(625​)=−3185​−225​=−6445​≈−74.1667 쌍대문제 최적해:\n(교재 밖 보충) 상보 여유성(complementary slackness)에 따라 등호로 묶이지 않은 제약의 승수는 λ3=λ4=λ5=0\\lambda_3 = \\lambda_4 = \\lambda_5 = 0λ3​=λ4​=λ5​=0이다.\n활성 제약 1, 2에 대해 2λ1+2λ2=52\\lambda_1 + 2\\lambda_2 = 52λ1​+2λ2​=5, 2λ1−4λ2=32\\lambda_1 - 4\\lambda_2 = 32λ1​−4λ2​=3을 연립하여 풀면:\nλ1∗=136≈2.1667,λ2∗=13≈0.3333\\lambda_1^* = \\frac{13}{6} \\approx 2.1667, \\quad \\lambda_2^* = \\frac{1}{3} \\approx 0.3333λ1∗​=613​≈2.1667,λ2∗​=31​≈0.3333\n쌍대문제 최적값:\nd∗=−b⊤λ∗=−33(136)−8(13)=−4296−166=−4456≈−74.1667d^* = -b^\\top \\lambda^* = -33\\left(\\frac{13}{6}\\right) - 8\\left(\\frac{1}{3}\\right) = -\\frac{429}{6} - \\frac{16}{6} = -\\frac{445}{6} \\approx -74.1667d∗=−b⊤λ∗=−33(613​)−8(31​)=−6429​−616​=−6445​≈−74.1667 강쌍대성 확인:\np∗−d∗=−4456−(−4456)=0p^* - d^* = -\\frac{445}{6} - \\left(-\\frac{445}{6}\\right) = 0p∗−d∗=−6445​−(−6445​)=0\n따라서 쌍대 갭(duality gap)이 0이며, 강쌍대성이 정확히 성립함을 수치적으로 확인하였다. 답:\nmax⁡λ∈R5−b⊤λsubject toA⊤λ=[53],λ≥0\\begin{gathered} \\boldsymbol{\\max_{\\lambda \\in \\mathbb{R}^5} -b^\\top \\lambda\\quad \\text{subject to}} \\\\ \\boldsymbol{A^\\top \\lambda = \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix},\\quad \\lambda \\ge 0} \\end{gathered}λ∈R5max​−b⊤λsubject toA⊤λ=[53​],λ≥0​\n풀어쓴 식: max⁡λ≥0(−33λ1−8λ2−5λ3+λ4−8λ5)s.t.[22−2002−41−11]λ=[53]\\begin{aligned} \u0026amp;\\text{풀어쓴 식: } \\\\ \u0026amp;\\boldsymbol{\\max_{\\lambda \\ge 0} \\bigl( -33\\lambda_1 - 8\\lambda_2 - 5\\lambda_3 + \\lambda_4} \\\\ \u0026amp;\\quad \\boldsymbol{- 8\\lambda_5 \\bigr)} \\\\ \u0026amp;\\boldsymbol{\\text{s.t.}\\quad \\begin{bmatrix} 2 \u0026amp; 2 \u0026amp; -2 \u0026amp; 0 \u0026amp; 0 \\\\ 2 \u0026amp; -4 \u0026amp; 1 \u0026amp; -1 \u0026amp; 1 \\end{bmatrix} \\lambda = \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix}} \\end{aligned}​풀어쓴 식: λ≥0max​(−33λ1​−8λ2​−5λ3​+λ4​−8λ5​)s.t.[22​2−4​−21​0−1​01​]λ=[53​]​확인 (Python 계산 결과 요약):\n원문제 최적해: x∗=[12.3333,4.1667]⊤=[37/3,25/6]⊤x^* = [12.3333, 4.1667]^\\top = [37/3, 25/6]^\\topx∗=[12.3333,4.1667]⊤=[37/3,25/6]⊤, 최적값 p∗=−4456≈−74.1667p^* = -\\frac{445}{6} \\approx -74.1667p∗=−6445​≈−74.1667 쌍대문제 최적해: λ∗=[2.1667,0.3333,0,0,0]⊤=[13/6,1/3,0,0,0]⊤\\lambda^* = [2.1667, 0.3333, 0, 0, 0]^\\top = [13/6, 1/3, 0, 0, 0]^\\topλ∗=[2.1667,0.3333,0,0,0]⊤=[13/6,1/3,0,0,0]⊤, 최적값 d∗=−4456≈−74.1667d^* = -\\frac{445}{6} \\approx -74.1667d∗=−6445​≈−74.1667 p∗=d∗p^* = d^*p∗=d∗로 강쌍대성이 오차 없이 성립한다. 7.7 2차 계획법(QP)의 라그랑주 쌍대 유도 및 수치 검산 문제:\n교재 그림 7.4 (예제 7.6, 241쪽)의 2차 계획법 문제: min⁡x∈R212[x1x2]⊤[2114][x1x2]+[53]⊤[x1x2]subject to[10−10010−1][x1x2]≤[1111]\\begin{gathered} \\min_{x \\in \\mathbb{R}^2} \\frac{1}{2} \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix}^\\top \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 4 \\end{bmatrix} \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} + \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix}^\\top \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\\\ \\text{subject to}\\quad \\begin{bmatrix} 1 \u0026amp; 0 \\\\ -1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\\\ 0 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} x_1 \\\\ x_2 \\end{bmatrix} \\le \\begin{bmatrix} 1 \\\\ 1 \\\\ 1 \\\\ 1 \\end{bmatrix} \\end{gathered}x∈R2min​21​[x1​x2​​]⊤[21​14​][x1​x2​​]+[53​]⊤[x1​x2​​]subject to​1−100​001−1​​[x1​x2​​]≤​1111​​​ 의 쌍대 2차 계획법(Dual QP)을 라그랑주 쌍대성으로 유도하고, 쌍대함수를 λ\\lambdaλ에 대한 명시적인 식으로 나타내라. 또한 Python으로 원문제와 쌍대문제의 최적값을 풀어 강쌍대성을 확인하라.\n풀이:\n문제 정의 및 행렬 기호 설정:\nQ=[2114],c=[53],A=[10−10010−1],b=[1111]\\begin{gathered} Q = \\begin{bmatrix} 2 \u0026amp; 1 \\\\ 1 \u0026amp; 4 \\end{bmatrix},\\quad c = \\begin{bmatrix} 5 \\\\ 3 \\end{bmatrix}, \\\\ A = \\begin{bmatrix} 1 \u0026amp; 0 \\\\ -1 \u0026amp; 0 \\\\ 0 \u0026amp; 1 \\\\ 0 \u0026amp; -1 \\end{bmatrix},\\quad b = \\begin{bmatrix} 1 \\\\ 1 \\\\ 1 \\\\ 1 \\end{bmatrix} \\end{gathered}Q=[21​14​],c=[53​],A=​1−100​001−1​​,b=​1111​​​ 행렬 QQQ의 판별: Q=Q⊤Q = Q^\\topQ=Q⊤, det⁡(Q)=2⋅4−1⋅1=7\u0026gt;0\\det(Q) = 2 \\cdot 4 - 1 \\cdot 1 = 7 \u0026gt; 0det(Q)=2⋅4−1⋅1=7\u0026gt;0, tr(Q)=6\u0026gt;0\\text{tr}(Q) = 6 \u0026gt; 0tr(Q)=6\u0026gt;0이므로 QQQ는 엄격히 양의 정부호(Q≻0Q \\succ 0Q≻0)이다. QQQ의 역행렬:\nQ−1=17[4−1−12]Q^{-1} = \\frac{1}{7} \\begin{bmatrix} 4 \u0026amp; -1 \\\\ -1 \u0026amp; 2 \\end{bmatrix}Q−1=71​[4−1​−12​] 라그랑지안 구성 (교재 식 7.48):\n라그랑주 승수 벡터 λ=[λ1,λ2,λ3,λ4]⊤≥0\\lambda = [\\lambda_1, \\lambda_2, \\lambda_3, \\lambda_4]^\\top \\ge 0λ=[λ1​,λ2​,λ3​,λ4​]⊤≥0를 도입한다.\nL(x,λ)=12x⊤Qx+c⊤x+λ⊤(Ax−b)=12x⊤Qx+(c+A⊤λ)⊤x−b⊤λ\\begin{aligned} \u0026amp;L(x, \\lambda) \\\\ \u0026amp;\\quad = \\frac{1}{2} x^\\top Q x + c^\\top x + \\lambda^\\top (Ax - b) \\\\ \u0026amp;\\quad = \\frac{1}{2} x^\\top Q x + (c + A^\\top \\lambda)^\\top x - b^\\top \\lambda \\end{aligned}​L(x,λ)=21​x⊤Qx+c⊤x+λ⊤(Ax−b)=21​x⊤Qx+(c+A⊤λ)⊤x−b⊤λ​ xxx에 대해 최소화하여 쌍대함수 D(λ)D(\\lambda)D(λ) 유도 (교재 식 7.49~7.51):\nQ≻0Q \\succ 0Q≻0이므로 L(x,λ)L(x, \\lambda)L(x,λ)는 xxx에 대해 강볼록(strongly convex) 함수이다. 따라서 1계 편도함수가 0인 점에서 유일한 전역 최솟값을 가진다.\n∇xL(x,λ)=Qx+(c+A⊤λ)=0\\nabla_x L(x, \\lambda) = Q x + (c + A^\\top \\lambda) = 0∇x​L(x,λ)=Qx+(c+A⊤λ)=0\nQQQ가 가역이므로 x∗(λ)x^*(\\lambda)x∗(λ)를 구한다.\nx∗(λ)=−Q−1(c+A⊤λ)x^*(\\lambda) = -Q^{-1}(c + A^\\top \\lambda)x∗(λ)=−Q−1(c+A⊤λ)\n이를 L(x,λ)L(x, \\lambda)L(x,λ)에 대입한다.\nD(λ)=12(−Q−1(c+A⊤λ))⊤Q(−Q−1(c+A⊤λ))+(c+A⊤λ)⊤(−Q−1(c+A⊤λ))−b⊤λ\\begin{aligned} \u0026amp;D(\\lambda) = \\frac{1}{2} (-Q^{-1}(c + A^\\top \\lambda))^\\top \\\\ \u0026amp;\\quad Q (-Q^{-1}(c + A^\\top \\lambda)) \\\\ \u0026amp;\\quad + (c + A^\\top \\lambda)^\\top (-Q^{-1}(c + A^\\top \\lambda)) \\\\ \u0026amp;\\quad - b^\\top \\lambda \\end{aligned}​D(λ)=21​(−Q−1(c+A⊤λ))⊤Q(−Q−1(c+A⊤λ))+(c+A⊤λ)⊤(−Q−1(c+A⊤λ))−b⊤λ​\n=12(c+A⊤λ)⊤Q−1(c+A⊤λ)−(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ\\begin{aligned} \u0026amp;= \\frac{1}{2} (c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) \\\\ \u0026amp;\\quad - (c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) \\\\ \u0026amp;\\quad - b^\\top \\lambda \\end{aligned}​=21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ​\n=−12(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ\\begin{aligned} \u0026amp;= -\\frac{1}{2} (c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) \\\\ \u0026amp;\\quad - b^\\top \\lambda \\end{aligned}​=−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−b⊤λ​ 쌍대함수 D(λ)D(\\lambda)D(λ)의 성분별 명시적 전개:\nA⊤λA^\\top \\lambdaA⊤λ를 계산한다.\nA⊤λ=[1−100001−1][λ1λ2λ3λ4]=[λ1−λ2λ3−λ4]\\begin{aligned} A^\\top \\lambda \u0026amp;= \\begin{bmatrix} 1 \u0026amp; -1 \u0026amp; 0 \u0026amp; 0 \\\\ 0 \u0026amp; 0 \u0026amp; 1 \u0026amp; -1 \\end{bmatrix} \\begin{bmatrix} \\lambda_1 \\\\ \\lambda_2 \\\\ \\lambda_3 \\\\ \\lambda_4 \\end{bmatrix} \\\\ \u0026amp;= \\begin{bmatrix} \\lambda_1 - \\lambda_2 \\\\ \\lambda_3 - \\lambda_4 \\end{bmatrix} \\end{aligned}A⊤λ​=[10​−10​01​0−1​]​λ1​λ2​λ3​λ4​​​=[λ1​−λ2​λ3​−λ4​​]​\n따라서:\nc+A⊤λ=[5+λ1−λ23+λ3−λ4]c + A^\\top \\lambda = \\begin{bmatrix} 5 + \\lambda_1 - \\lambda_2 \\\\ 3 + \\lambda_3 - \\lambda_4 \\end{bmatrix}c+A⊤λ=[5+λ1​−λ2​3+λ3​−λ4​​]\n편의상 v1=5+λ1−λ2,v2=3+λ3−λ4v_1 = 5 + \\lambda_1 - \\lambda_2, v_2 = 3 + \\lambda_3 - \\lambda_4v1​=5+λ1​−λ2​,v2​=3+λ3​−λ4​라 두면:\n(c+A⊤λ)⊤Q−1(c+A⊤λ)=17[v1v2][4−1−12][v1v2]=17(4v12−2v1v2+2v22)\\begin{aligned} \u0026amp;(c + A^\\top \\lambda)^\\top Q^{-1} (c + A^\\top \\lambda) \\\\ \u0026amp;\\quad = \\frac{1}{7} \\begin{bmatrix} v_1 \u0026amp; v_2 \\end{bmatrix} \\begin{bmatrix} 4 \u0026amp; -1 \\\\ -1 \u0026amp; 2 \\end{bmatrix} \\begin{bmatrix} v_1 \\\\ v_2 \\end{bmatrix} \\\\ \u0026amp;\\quad = \\frac{1}{7} \\left( 4 v_1^2 - 2 v_1 v_2 + 2 v_2^2 \\right) \\end{aligned}​(c+A⊤λ)⊤Q−1(c+A⊤λ)=71​[v1​​v2​​][4−1​−12​][v1​v2​​]=71​(4v12​−2v1​v2​+2v22​)​\n또한 b⊤λ=λ1+λ2+λ3+λ4b^\\top \\lambda = \\lambda_1 + \\lambda_2 + \\lambda_3 + \\lambda_4b⊤λ=λ1​+λ2​+λ3​+λ4​이다.\n따라서 쌍대함수 D(λ)D(\\lambda)D(λ)는 다음과 같다:\nD(λ)=−114[4(5+λ1−λ2)2−2(5+λ1−λ2)(3+λ3−λ4)+2(3+λ3−λ4)2]−(λ1+λ2+λ3+λ4)\\begin{aligned} \u0026amp;D(\\lambda) = -\\frac{1}{14} \\bigl[ 4(5 + \\lambda_1 - \\lambda_2)^2 \\\\ \u0026amp;\\quad - 2(5 + \\lambda_1 - \\lambda_2)(3 + \\lambda_3 - \\lambda_4) \\\\ \u0026amp;\\quad + 2(3 + \\lambda_3 - \\lambda_4)^2 \\bigr] \\\\ \u0026amp;\\quad - (\\lambda_1 + \\lambda_2 + \\lambda_3 + \\lambda_4) \\end{aligned}​D(λ)=−141​[4(5+λ1​−λ2​)2−2(5+λ1​−λ2​)(3+λ3​−λ4​)+2(3+λ3​−λ4​)2]−(λ1​+λ2​+λ3​+λ4​)​쌍대 2차 계획 문제는 다음과 같다:\nmax⁡λ≥0D(λ)\\max_{\\lambda \\ge 0} D(\\lambda)λ≥0max​D(λ) Python 수치 검산 및 최적값 확인:\nscipy.optimize.minimize를 통해 원문제와 쌍대문제를 각각 계산한다.\n원문제 최적해:\n무제약 최솟점은 −Q−1c=[−17/7,−1/7]⊤≈[−2.4286,−0.1429]⊤-Q^{-1}c = [-17/7, -1/7]^\\top \\approx [-2.4286, -0.1429]^\\top−Q−1c=[−17/7,−1/7]⊤≈[−2.4286,−0.1429]⊤로 박스 제약 [−1,1]2[-1, 1]^2[−1,1]2의 경계 x1≥−1x_1 \\ge -1x1​≥−1을 벗어난다.\n따라서 경계 −x1=1-x_1 = 1−x1​=1, 즉 x1=−1x_1 = -1x1​=−1이 활성화된다.\nx1=−1x_1 = -1x1​=−1을 대입하고 x2x_2x2​에 대해 최소화하면 x2∗=−0.5x_2^* = -0.5x2∗​=−0.5이다.\nx∗=[−1.0−0.5]x^* = \\begin{bmatrix} -1.0 \\\\ -0.5 \\end{bmatrix}x∗=[−1.0−0.5​]\n원문제 최적값:\np∗=f(−1,−0.5)=12(2(1)+2(−1)(−0.5)+4(0.25))+5(−1)+3(−0.5)=2−6.5=−4.5p^* = f(-1, -0.5) = \\frac{1}{2}(2(1) + 2(-1)(-0.5) + 4(0.25)) + 5(-1) + 3(-0.5) = 2 - 6.5 = -4.5p∗=f(−1,−0.5)=21​(2(1)+2(−1)(−0.5)+4(0.25))+5(−1)+3(−0.5)=2−6.5=−4.5 쌍대문제 최적해:\n(교재 밖 보충: 상보 여유성) 두 번째 제약(−x1≤1-x_1 \\le 1−x1​≤1)만 등호로 묶이므로 λ1∗=λ3∗=λ4∗=0\\lambda_1^* = \\lambda_3^* = \\lambda_4^* = 0λ1∗​=λ3∗​=λ4∗​=0이다.\n정류 조건(식 (7.49)) Qx∗+c+A⊤λ∗=0Q x^* + c + A^\\top \\lambda^* = 0Qx∗+c+A⊤λ∗=0에서:\n[2.50]+[−λ20]=0 ⟹ λ2∗=2.5=52\\begin{bmatrix} 2.5 \\\\ 0 \\end{bmatrix} + \\begin{bmatrix} -\\lambda_2 \\\\ 0 \\end{bmatrix} = 0 \\implies \\lambda_2^* = 2.5 = \\frac{5}{2}[2.50​]+[−λ2​0​]=0⟹λ2∗​=2.5=25​\n따라서 쌍대 최적해는 λ∗=[0,2.5,0,0]⊤\\lambda^* = [0, 2.5, 0, 0]^\\topλ∗=[0,2.5,0,0]⊤이다.\n쌍대함수 대입 계산:\nv1=5−2.5=2.5,v2=3v_1 = 5 - 2.5 = 2.5, v_2 = 3v1​=5−2.5=2.5,v2​=3.\n−114[4(6.25)−2(2.5)(3)+2(9)]−2.5=−114[25−15+18]−2.5=−2814−2.5=−2−2.5=−4.5-\\frac{1}{14} [4(6.25) - 2(2.5)(3) + 2(9)] - 2.5 = -\\frac{1}{14}[25 - 15 + 18] - 2.5 = -\\frac{28}{14} - 2.5 = -2 - 2.5 = -4.5−141​[4(6.25)−2(2.5)(3)+2(9)]−2.5=−141​[25−15+18]−2.5=−1428​−2.5=−2−2.5=−4.5.\nd∗=−4.5d^* = -4.5d∗=−4.5 강쌍대성 확인:\np∗=d∗=−4.5p^* = d^* = -4.5p∗=d∗=−4.5\n원문제와 쌍대문제의 최적값이 정확히 일치하여 강쌍대성이 성립한다. 답:\nmax⁡λ≥0D(λ)\\boldsymbol{\\max_{\\lambda \\ge 0} D(\\lambda)}λ≥0max​D(λ)\n여기서 쌍대함수 D(λ)D(\\lambda)D(λ)는 다음과 같다:\nD(λ)=−114[4(5+λ1−λ2)2−2(5+λ1−λ2)(3+λ3−λ4)+2(3+λ3−λ4)2]−(λ1+λ2+λ3+λ4)\\begin{aligned} \u0026amp;\\boldsymbol{D(\\lambda) = -\\frac{1}{14} \\bigl[ 4(5 + \\lambda_1 - \\lambda_2)^2} \\\\ \u0026amp;\\quad \\boldsymbol{- 2(5 + \\lambda_1 - \\lambda_2)(3 + \\lambda_3 - \\lambda_4)} \\\\ \u0026amp;\\quad \\boldsymbol{+ 2(3 + \\lambda_3 - \\lambda_4)^2 \\bigr]} \\\\ \u0026amp;\\quad \\boldsymbol{- (\\lambda_1 + \\lambda_2 + \\lambda_3 + \\lambda_4)} \\end{aligned}​D(λ)=−141​[4(5+λ1​−λ2​)2−2(5+λ1​−λ2​)(3+λ3​−λ4​)+2(3+λ3​−λ4​)2]−(λ1​+λ2​+λ3​+λ4​)​\nsubject toλ1≥0, λ2≥0, λ3≥0, λ4≥0\\begin{gathered} \\text{subject to} \\\\ \\lambda_1 \\ge 0, \\; \\lambda_2 \\ge 0, \\; \\lambda_3 \\ge 0, \\; \\lambda_4 \\ge 0 \\end{gathered}subject toλ1​≥0,λ2​≥0,λ3​≥0,λ4​≥0​확인 (Python 계산 결과 요약):\n원문제 QP 최적해: x∗=[−1.0,−0.5]⊤x^* = [-1.0, -0.5]^\\topx∗=[−1.0,−0.5]⊤, 최적값 p∗=−4.5p^* = -4.5p∗=−4.5 쌍대문제 QP 최적해: λ∗=[0.0,2.5,0.0,0.0]⊤\\lambda^* = [0.0, 2.5, 0.0, 0.0]^\\topλ∗=[0.0,2.5,0.0,0.0]⊤, 최적값 d∗=−4.5d^* = -4.5d∗=−4.5 p∗=d∗=−4.5p^* = d^* = -4.5p∗=d∗=−4.5로 강쌍대성이 완벽히 검증됨. 7.8 ℓ2\\ell_2ℓ2​ 노름 최소화 문제의 라그랑주 쌍대 유도 및 해 문제:\n다음 볼록 최적화 문제 min⁡w∈RD12w⊤wsubject tow⊤x≥1(x≠0)\\begin{gathered} \\min_{w \\in \\mathbb{R}^D} \\frac{1}{2} w^\\top w\\quad \\text{subject to}\\quad w^\\top x \\ge 1 \\\\ (x \\ne 0) \\end{gathered}w∈RDmin​21​w⊤wsubject tow⊤x≥1(x=0)​ 의 라그랑주 쌍대 문제를 승수 λ\\lambdaλ를 도입하여 유도하고, 쌍대 문제의 해 λ∗\\lambda^*λ∗와 원문제의 해 w∗w^*w∗를 구하라.\n풀이:\n부등식 제약조건의 표준형 변환:\nw⊤x≥1 ⟺ 1−w⊤x≤0w^\\top x \\ge 1 \\iff 1 - w^\\top x \\le 0w⊤x≥1⟺1−w⊤x≤0. 라그랑지안 함수 구성:\n비음수 라그랑주 승수 λ≥0\\lambda \\ge 0λ≥0를 도입한다.\nL(w,λ)=12w⊤w+λ(1−w⊤x)=12∥w∥2−λw⊤x+λL(w, \\lambda) = \\frac{1}{2} w^\\top w + \\lambda (1 - w^\\top x) = \\frac{1}{2} \\|w\\|^2 - \\lambda w^\\top x + \\lambdaL(w,λ)=21​w⊤w+λ(1−w⊤x)=21​∥w∥2−λw⊤x+λ www에 대해 최소화하여 쌍대 함수 D(λ)D(\\lambda)D(λ) 유도:\nL(w,λ)L(w, \\lambda)L(w,λ)는 www에 대해 엄격히 볼록(strictly convex)한 2차 함수이다. 1계 편도함수를 구하여 0으로 둔다.\n∇wL(w,λ)=w−λx=0 ⟹ w∗(λ)=λx\\nabla_w L(w, \\lambda) = w - \\lambda x = 0 \\implies w^*(\\lambda) = \\lambda x∇w​L(w,λ)=w−λx=0⟹w∗(λ)=λx\n이를 L(w,λ)L(w, \\lambda)L(w,λ)에 대입한다.\nD(λ)=12(λx)⊤(λx)−λ(λx)⊤x+λ=12λ2∥x∥2−λ2∥x∥2+λ=λ−12λ2∥x∥2D(\\lambda) = \\frac{1}{2} (\\lambda x)^\\top (\\lambda x) - \\lambda (\\lambda x)^\\top x + \\lambda = \\frac{1}{2} \\lambda^2 \\|x\\|^2 - \\lambda^2 \\|x\\|^2 + \\lambda = \\lambda - \\frac{1}{2} \\lambda^2 \\|x\\|^2D(λ)=21​(λx)⊤(λx)−λ(λx)⊤x+λ=21​λ2∥x∥2−λ2∥x∥2+λ=λ−21​λ2∥x∥2 쌍대 문제(Dual Problem) 정식화:\nmax⁡λ≥0D(λ)=max⁡λ≥0(λ−12λ2∥x∥2)\\max_{\\lambda \\ge 0} D(\\lambda) = \\max_{\\lambda \\ge 0} \\left( \\lambda - \\frac{1}{2} \\lambda^2 \\|x\\|^2 \\right)maxλ≥0​D(λ)=maxλ≥0​(λ−21​λ2∥x∥2) 쌍대 문제의 최적해 λ∗\\lambda^*λ∗ 도출:\n목적함수 D(λ)D(\\lambda)D(λ)는 λ\\lambdaλ에 대해 위로 볼록인 2차 포물선이다 (2계 도함수 −∥x∥2\u0026lt;0-\\|x\\|^2 \u0026lt; 0−∥x∥2\u0026lt;0, x≠0x \\ne 0x=0).\nλ\\lambdaλ에 대해 미분하여 0으로 둔다.\ndD(λ)dλ=1−λ∥x∥2=0 ⟹ λ∗=1∥x∥2\\frac{d D(\\lambda)}{d \\lambda} = 1 - \\lambda \\|x\\|^2 = 0 \\implies \\lambda^* = \\frac{1}{\\|x\\|^2}dλdD(λ)​=1−λ∥x∥2=0⟹λ∗=∥x∥21​\nx≠0x \\ne 0x=0이므로 ∥x∥2\u0026gt;0\\|x\\|^2 \u0026gt; 0∥x∥2\u0026gt;0이며, 따라서 λ∗=1∥x∥2\u0026gt;0\\lambda^* = \\frac{1}{\\|x\\|^2} \u0026gt; 0λ∗=∥x∥21​\u0026gt;0이다. 이는 비음수 제약 λ≥0\\lambda \\ge 0λ≥0을 엄격히 만족한다.\n쌍대 최적값:\nd∗=D(λ∗)=1∥x∥2−12(1∥x∥2)2∥x∥2=1∥x∥2−12∥x∥2=12∥x∥2d^* = D(\\lambda^*) = \\frac{1}{\\|x\\|^2} - \\frac{1}{2} \\left(\\frac{1}{\\|x\\|^2}\\right)^2 \\|x\\|^2 = \\frac{1}{\\|x\\|^2} - \\frac{1}{2\\|x\\|^2} = \\frac{1}{2\\|x\\|^2}d∗=D(λ∗)=∥x∥21​−21​(∥x∥21​)2∥x∥2=∥x∥21​−2∥x∥21​=2∥x∥21​ 원문제 최적해 w∗w^*w∗ 도출:\n3단계에서 구한 최적 관계식 w∗(λ)=λxw^*(\\lambda) = \\lambda xw∗(λ)=λx에 λ∗\\lambda^*λ∗를 대입한다.\nw∗=λ∗x=x∥x∥2w^* = \\lambda^* x = \\frac{x}{\\|x\\|^2}w∗=λ∗x=∥x∥2x​\n원문제 최적값:\np∗=12(w∗)⊤w∗=12(x∥x∥2)⊤(x∥x∥2)=12∥x∥2∥x∥4=12∥x∥2p^* = \\frac{1}{2} (w^*)^\\top w^* = \\frac{1}{2} \\left(\\frac{x}{\\|x\\|^2}\\right)^\\top \\left(\\frac{x}{\\|x\\|^2}\\right) = \\frac{1}{2} \\frac{\\|x\\|^2}{\\|x\\|^4} = \\frac{1}{2\\|x\\|^2}p∗=21​(w∗)⊤w∗=21​(∥x∥2x​)⊤(∥x∥2x​)=21​∥x∥4∥x∥2​=2∥x∥21​\np∗=d∗=12∥x∥2p^* = d^* = \\frac{1}{2\\|x\\|^2}p∗=d∗=2∥x∥21​이므로 강쌍대성이 성립한다. 답:\n쌍대 문제: max⁡λ≥0(λ−12λ2∥x∥2)\\boldsymbol{\\max_{\\lambda \\ge 0} \\left( \\lambda - \\frac{1}{2}\\lambda^2 \\|x\\|^2 \\right)}maxλ≥0​(λ−21​λ2∥x∥2) 쌍대 최적해: λ∗=1∥x∥2\\boldsymbol{\\lambda^* = \\frac{1}{\\|x\\|^2}}λ∗=∥x∥21​ 원문제 최적해: w∗=x∥x∥2\\boldsymbol{w^* = \\frac{x}{\\|x\\|^2}}w∗=∥x∥2x​ 최적값: p∗=d∗=12∥x∥2\\boldsymbol{p^* = d^* = \\frac{1}{2\\|x\\|^2}}p∗=d∗=2∥x∥21​ 확인:\n기하학적으로 이 문제는 원점에서 초평면 w⊤x=1w^\\top x = 1w⊤x=1까지의 최소 유클리드 거리를 갖는 점 www를 구하는 문제이다. 원점에서 초평면에 내린 수선의 발은 법선 벡터 xxx 방향이어야 하므로 w=cxw = c xw=cx이다. 이를 초평면 식에 대입하면 (cx)⊤x=c∥x∥2=1 ⟹ c=1/∥x∥2 ⟹ w∗=x/∥x∥2(cx)^\\top x = c \\|x\\|^2 = 1 \\implies c = 1/\\|x\\|^2 \\implies w^* = x / \\|x\\|^2(cx)⊤x=c∥x∥2=1⟹c=1/∥x∥2⟹w∗=x/∥x∥2. 라그랑주 쌍대성으로 도출한 결과와 기하학적 정사영 결과가 정확히 일치한다. 이는 12장 서포트 벡터 머신(SVM)에서 마진 1∥w∥\\frac{1}{\\|w\\|}∥w∥1​을 최대화하기 위해 12∥w∥2\\frac{1}{2}\\|w\\|^221​∥w∥2을 최소화하는 원리와 직접 연결된다.\n7.9 음의 엔트로피(Negative Entropy)의 볼록 켤레 함수 유도 문제:\nx∈RDx \\in \\mathbb{R}^Dx∈RD (xd\u0026gt;0x_d \u0026gt; 0xd​\u0026gt;0)의 음의 엔트로피 함수 f(x)=∑d=1Dxdlog⁡xdf(x) = \\sum_{d=1}^D x_d \\log x_df(x)=d=1∑D​xd​logxd​ 의 볼록 켤레 f∗(s)f^*(s)f∗(s)를 표준 내적 하에서 유도하라. (힌트: 적절한 함수의 기울기를 0으로)\n(단, 정의역 xd\u0026gt;0x_d \u0026gt; 0xd​\u0026gt;0과 log⁡\\loglog가 자연로그 ln⁡\\lnln임을 명시한다.)\n풀이:\n정의역 및 로그의 밑 명시:\nf(x)=∑d=1Dxdln⁡xdf(x) = \\sum_{d=1}^D x_d \\ln x_df(x)=d=1∑D​xd​lnxd​\n여기서 log⁡\\loglog는 자연로그(ln⁡\\lnln)이며, 정의역은 dom(f)={x∈RD∣xd\u0026gt;0,∀d=1,…,D}\\text{dom}(f) = \\{x \\in \\mathbb{R}^D \\mid x_d \u0026gt; 0, \\forall d = 1, \\dots, D\\}dom(f)={x∈RD∣xd​\u0026gt;0,∀d=1,…,D}이다.\n각 성분별 함수 g(t)=tln⁡tg(t) = t \\ln tg(t)=tlnt의 2계 도함수는 g′′(t)=1/t\u0026gt;0g\u0026#x27;\u0026#x27;(t) = 1/t \u0026gt; 0g′′(t)=1/t\u0026gt;0 (t\u0026gt;0t \u0026gt; 0t\u0026gt;0)이므로, f(x)f(x)f(x)는 엄격히 볼록함수이다.\n볼록 켤레(Convex Conjugate) 정의 적용 (교재 정의 7.4, 242쪽):\n표준 내적 ⟨s,x⟩=∑d=1Dsdxd\\langle s, x \\rangle = \\sum_{d=1}^D s_d x_d⟨s,x⟩=∑d=1D​sd​xd​에 대해:\nf∗(s)=sup⁡x∈dom(f)(⟨s,x⟩−f(x))=sup⁡xd\u0026gt;0(∑d=1Dsdxd−∑d=1Dxdln⁡xd)\\begin{aligned} \u0026amp;f^*(s) = \\sup_{x \\in \\text{dom}(f)} \\left( \\langle s, x \\rangle - f(x) \\right) \\\\ \u0026amp;\\quad = \\sup_{x_d \u0026gt; 0} \\left( \\sum_{d=1}^D s_d x_d - \\sum_{d=1}^D x_d \\ln x_d \\right) \\end{aligned}​f∗(s)=x∈dom(f)sup​(⟨s,x⟩−f(x))=xd​\u0026gt;0sup​(d=1∑D​sd​xd​−d=1∑D​xd​lnxd​)​ 성분별 독립 분해(Coordinate-wise Separation):\n목적함수는 각 차원 ddd에 대해 서로 간섭 없이 완전히 분리된다.\nf∗(s)=∑d=1Dsup⁡xd\u0026gt;0ϕd(xd),where ϕd(xd)=sdxd−xdln⁡xd\\begin{gathered} f^*(s) = \\sum_{d=1}^D \\sup_{x_d \u0026gt; 0} \\phi_d(x_d), \\\\ \\text{where } \\phi_d(x_d) = s_d x_d - x_d \\ln x_d \\end{gathered}f∗(s)=d=1∑D​xd​\u0026gt;0sup​ϕd​(xd​),where ϕd​(xd​)=sd​xd​−xd​lnxd​​ 힌트 적용 (기울기를 0으로 설정):\nϕd(xd)\\phi_d(x_d)ϕd​(xd​)의 2계 도함수는 ϕd′′(xd)=−1/xd\u0026lt;0\\phi_d\u0026#x27;\u0026#x27;(x_d) = -1/x_d \u0026lt; 0ϕd′′​(xd​)=−1/xd​\u0026lt;0 (xd\u0026gt;0x_d \u0026gt; 0xd​\u0026gt;0)이므로 ϕd\\phi_dϕd​는 엄격히 오목함수이다. 따라서 1계 미분이 0인 지점에서 유일한 전역 최댓값을 가진다.\ndϕd(xd)dxd=sd−(ln⁡xd+xd⋅1xd)=sd−ln⁡xd−1=0\\begin{aligned} \\frac{d \\phi_d(x_d)}{d x_d} \u0026amp;= s_d - \\left( \\ln x_d + x_d \\cdot \\frac{1}{x_d} \\right) \\\\ \u0026amp;= s_d - \\ln x_d - 1 = 0 \\end{aligned}dxd​dϕd​(xd​)​​=sd​−(lnxd​+xd​⋅xd​1​)=sd​−lnxd​−1=0​\nln⁡xd=sd−1 ⟹ xd∗=exp⁡(sd−1)=esd−1\\begin{aligned} \\ln x_d \u0026amp;= s_d - 1 \\\\ \u0026amp;\\implies x_d^* = \\exp(s_d - 1) = e^{s_d - 1} \\end{aligned}lnxd​​=sd​−1⟹xd∗​=exp(sd​−1)=esd​−1​\n지수함수의 치역은 항상 양수이므로 xd∗\u0026gt;0x_d^* \u0026gt; 0xd∗​\u0026gt;0은 정의역 조건을 만족한다.\n최적해 대입 및 식 정리:\nxd∗x_d^*xd∗​를 ϕd(xd)\\phi_d(x_d)ϕd​(xd​)에 대입한다.\nϕd(xd∗)=sdxd∗−xd∗ln⁡xd∗=xd∗(sd−ln⁡xd∗)\\begin{aligned} \\phi_d(x_d^*) \u0026amp;= s_d x_d^* - x_d^* \\ln x_d^* \\\\ \u0026amp;= x_d^*(s_d - \\ln x_d^*) \\end{aligned}ϕd​(xd∗​)​=sd​xd∗​−xd∗​lnxd∗​=xd∗​(sd​−lnxd∗​)​\n여기서 ln⁡xd∗=sd−1\\ln x_d^* = s_d - 1lnxd∗​=sd​−1이므로:\nϕd(xd∗)=xd∗(sd−(sd−1))=xd∗⋅1=exp⁡(sd−1)=1eexp⁡(sd)\\begin{aligned} \\phi_d(x_d^*) \u0026amp;= x_d^*(s_d - (s_d - 1)) = x_d^* \\cdot 1 \\\\ \u0026amp;= \\exp(s_d - 1) = \\frac{1}{e} \\exp(s_d) \\end{aligned}ϕd​(xd∗​)​=xd∗​(sd​−(sd​−1))=xd∗​⋅1=exp(sd​−1)=e1​exp(sd​)​\n모든 차원에 대해 합산하면:\nf∗(s)=∑d=1Dexp⁡(sd−1)=1e∑d=1Dexp⁡(sd)\\begin{aligned} f^*(s) \u0026amp;= \\sum_{d=1}^D \\exp(s_d - 1) \\\\ \u0026amp;= \\frac{1}{e} \\sum_{d=1}^D \\exp(s_d) \\end{aligned}f∗(s)​=d=1∑D​exp(sd​−1)=e1​d=1∑D​exp(sd​)​ 유효 정의역 명시:\n임의의 s∈RDs \\in \\mathbb{R}^Ds∈RD에 대해 지수함수의 합은 항상 유한한 실수 값을 가지므로, 볼록 켤레 함수의 유효 정의역은 실수 전체 공간이다.\ndom(f∗)=RD\\text{dom}(f^*) = \\mathbb{R}^Ddom(f∗)=RD 답:\nf∗(s)=∑d=1Dexp⁡(sd−1)=1e∑d=1Dexp⁡(sd)(s∈RD)\\begin{aligned} \u0026amp;\\boldsymbol{f^*(s) = \\sum_{d=1}^D \\exp(s_d - 1)} \\\\ \u0026amp;\\quad \\boldsymbol{= \\frac{1}{e} \\sum_{d=1}^D \\exp(s_d)\\quad (s \\in \\mathbb{R}^D)} \\end{aligned}​f∗(s)=d=1∑D​exp(sd​−1)=e1​d=1∑D​exp(sd​)(s∈RD)​확인:\nD=1D=1D=1, s=0s=0s=0이면 f∗(0)=sup⁡x\u0026gt;0(−xlog⁡x)f^*(0)=\\sup_{x\u0026gt;0}(-x\\log x)f∗(0)=supx\u0026gt;0​(−xlogx)이고, −log⁡x−1=0-\\log x-1=0−logx−1=0에서 x=e−1x=e^{-1}x=e−1, 값은 e−1e^{-1}e−1이다. 공식 e0−1e^{0-1}e0−1과 같다. (교재 밖 보충: 정의에서 바로 ⟨s,x⟩≤f(x)+f∗(s)\\langle s,x\\rangle\\le f(x)+f^*(s)⟨s,x⟩≤f(x)+f∗(s)가 나온다. 펜첼-영 부등식이다.)\n7.10 일반 2차 형식의 볼록 켤레 함수 유도 문제:\nA∈RD×DA \\in \\mathbb{R}^{D \\times D}A∈RD×D가 엄격히 양의 정부호(A≻0A \\succ 0A≻0, 따라서 가역)일 때, 2차 함수 f(x)=12x⊤Ax+b⊤x+cf(x) = \\frac{1}{2} x^\\top A x + b^\\top x + cf(x)=21​x⊤Ax+b⊤x+c 의 볼록 켤레 함수 f∗(s)f^*(s)f∗(s)를 유도하라. (힌트: 적절한 함수의 기울기를 0으로)\n풀이:\n볼록 켤레 정의 적용 (Definition 7.4):\nf∗(s)=sup⁡x∈RD(s⊤x−f(x))=sup⁡x∈RD(s⊤x−12x⊤Ax−b⊤x−c)f^*(s) = \\sup_{x \\in \\mathbb{R}^D} \\left( s^\\top x - f(x) \\right) = \\sup_{x \\in \\mathbb{R}^D} \\left( s^\\top x - \\frac{1}{2} x^\\top A x - b^\\top x - c \\right)f∗(s)=supx∈RD​(s⊤x−f(x))=supx∈RD​(s⊤x−21​x⊤Ax−b⊤x−c)\n피최대화 함수를 ψ(x)\\psi(x)ψ(x)라 정의한다.\nψ(x)=(s−b)⊤x−12x⊤Ax−c\\psi(x) = (s - b)^\\top x - \\frac{1}{2} x^\\top A x - cψ(x)=(s−b)⊤x−21​x⊤Ax−c 힌트 적용 (기울기를 0으로 설정):\nAAA는 양의 정부호이므로 대칭행렬(A=A⊤A = A^\\topA=A⊤)이며 헤시안 ∇x2ψ(x)=−A≺0\\nabla_x^2 \\psi(x) = -A \\prec 0∇x2​ψ(x)=−A≺0이다.\n따라서 ψ(x)\\psi(x)ψ(x)는 엄격히 오목(strictly concave) 함수이므로 1계 미분이 0인 지점에서 유일한 전역 최댓값을 가진다.\n∇xψ(x)=(s−b)−Ax=0\\nabla_x \\psi(x) = (s - b) - A x = 0∇x​ψ(x)=(s−b)−Ax=0\nAAA가 가역이므로 양변의 왼쪽에 A−1A^{-1}A−1을 곱한다.\nx∗=A−1(s−b)x^* = A^{-1}(s - b)x∗=A−1(s−b) 최적점 x∗x^*x∗ 대입 및 전개:\nx∗x^*x∗를 ψ(x)\\psi(x)ψ(x)에 대입한다.\nψ(x∗)=(s−b)⊤(A−1(s−b))−12(A−1(s−b))⊤A(A−1(s−b))−c\\psi(x^*) = (s - b)^\\top \\left( A^{-1}(s - b) \\right) - \\frac{1}{2} \\left( A^{-1}(s - b) \\right)^\\top A \\left( A^{-1}(s - b) \\right) - cψ(x∗)=(s−b)⊤(A−1(s−b))−21​(A−1(s−b))⊤A(A−1(s−b))−c\nA=A⊤A = A^\\topA=A⊤이므로 (A−1)⊤=A−1(A^{-1})^\\top = A^{-1}(A−1)⊤=A−1이며, 둘째 항은 다음과 같이 정리된다.\n(A−1(s−b))⊤A(A−1(s−b))=(s−b)⊤A−1AA−1(s−b)=(s−b)⊤A−1(s−b)\\left( A^{-1}(s - b) \\right)^\\top A \\left( A^{-1}(s - b) \\right) = (s - b)^\\top A^{-1} A A^{-1} (s - b) = (s - b)^\\top A^{-1} (s - b)(A−1(s−b))⊤A(A−1(s−b))=(s−b)⊤A−1AA−1(s−b)=(s−b)⊤A−1(s−b)\n따라서:\nψ(x∗)=(s−b)⊤A−1(s−b)−12(s−b)⊤A−1(s−b)−c=12(s−b)⊤A−1(s−b)−c\\psi(x^*) = (s - b)^\\top A^{-1}(s - b) - \\frac{1}{2} (s - b)^\\top A^{-1}(s - b) - c = \\frac{1}{2} (s - b)^\\top A^{-1}(s - b) - cψ(x∗)=(s−b)⊤A−1(s−b)−21​(s−b)⊤A−1(s−b)−c=21​(s−b)⊤A−1(s−b)−c 유효 정의역 명시:\nA≻0A \\succ 0A≻0이므로 A−1≻0A^{-1} \\succ 0A−1≻0이며, 모든 s∈RDs \\in \\mathbb{R}^Ds∈RD에 대해 유한한 실수 값을 갖는다.\ndom(f∗)=RD\\text{dom}(f^*) = \\mathbb{R}^Ddom(f∗)=RD 답:\nf∗(s)=12(s−b)⊤A−1(s−b)−c(s∈RD)\\begin{gathered} \\boldsymbol{f^*(s) = \\frac{1}{2} (s - b)^\\top A^{-1}(s - b) - c} \\\\ \\boldsymbol{(s \\in \\mathbb{R}^D)} \\end{gathered}f∗(s)=21​(s−b)⊤A−1(s−b)−c(s∈RD)​확인:\nb=0,c=0b = 0, c = 0b=0,c=0인 경우: f(x)=12x⊤Ax ⟹ f∗(s)=12s⊤A−1sf(x) = \\frac{1}{2}x^\\top A x \\implies f^*(s) = \\frac{1}{2}s^\\top A^{-1}sf(x)=21​x⊤Ax⟹f∗(s)=21​s⊤A−1s가 되어 교재 예제 7.7 (244쪽)의 결과와 완벽하게 일치한다. 1차원 스칼라 경우 (f(x)=12ax2+bx+cf(x) = \\frac{1}{2}ax^2 + bx + cf(x)=21​ax2+bx+c, a\u0026gt;0a \u0026gt; 0a\u0026gt;0): f∗(s)=(s−b)22a−cf^*(s) = \\frac{(s - b)^2}{2a} - cf∗(s)=2a(s−b)2​−c가 되어 고전적 르장드르 변환 결과와 정확히 부합한다. 7.11 힌지 손실의 볼록 켤레 및 Moreau 평활화(Smoothed Hinge Loss) 문제:\n서포트 벡터 머신(SVM)에서 사용되는 힌지 손실(hinge loss) 함수 L(α)=max⁡{0,1−α}L(\\alpha) = \\max\\{0, 1 - \\alpha\\}L(α)=max{0,1−α} 의 볼록 켤레 L∗(β)L^*(\\beta)L∗(β)를 구하라 (β\\betaβ는 쌍대 변수).\n이어서 ℓ2\\ell_2ℓ2​ 근접항(proximal term)을 더한 함수 L∗(β)+γ2β2L^*(\\beta) + \\frac{\\gamma}{2}\\beta^2L∗(β)+2γ​β2 (γ\u0026gt;0\\gamma \u0026gt; 0γ\u0026gt;0)의 볼록 켤레를 구하라.\n(결과가 매끄러운 힌지 손실, 즉 Huber 손실과 유사한 꼴이 됨을 구간별로 명시하고, 유효 정의역 밖에서 +∞+\\infty+∞가 되는 구간을 밝힐 것.)\n풀이:\nPart 1: 힌지 손실 L(α)L(\\alpha)L(α)의 볼록 켤레 L∗(β)L^*(\\beta)L∗(β) 유도 볼록 켤레 정의 적용 (Definition 7.4):\nL∗(β)=sup⁡α∈R(βα−L(α))=sup⁡α∈R(βα−max⁡{0,1−α})\\begin{aligned} L^*(\\beta) \u0026amp;= \\sup_{\\alpha \\in \\mathbb{R}} \\left( \\beta \\alpha - L(\\alpha) \\right) \\\\ \u0026amp;= \\sup_{\\alpha \\in \\mathbb{R}} \\left( \\beta \\alpha - \\max\\{0, 1 - \\alpha\\} \\right) \\end{aligned}L∗(β)​=α∈Rsup​(βα−L(α))=α∈Rsup​(βα−max{0,1−α})​\n피최대화 함수를 g(α;β)=βα−max⁡{0,1−α}g(\\alpha; \\beta) = \\beta \\alpha - \\max\\{0, 1 - \\alpha\\}g(α;β)=βα−max{0,1−α}라 두고, α\\alphaα의 구간별로 나눈다.\ng(α;β)={βα−(1−α)=(β+1)α−1if α≤1βα−0=βαif α\u0026gt;1\\begin{aligned} \u0026amp;g(\\alpha; \\beta) \\\\ \u0026amp;\\quad = \\begin{cases} \\beta \\alpha - (1 - \\alpha) \u0026amp; \\\\ \\quad = (\\beta + 1)\\alpha - 1 \u0026amp; \\text{if } \\alpha \\le 1 \\\\ \\beta \\alpha - 0 = \\beta \\alpha \u0026amp; \\text{if } \\alpha \u0026gt; 1 \\end{cases} \\end{aligned}​g(α;β)=⎩⎨⎧​βα−(1−α)=(β+1)α−1βα−0=βα​if α≤1if α\u0026gt;1​​ β\\betaβ의 값에 따른 상한(sup⁡\\supsup)의 유한성 분석:\nα→+∞\\alpha \\to +\\inftyα→+∞ 극한:\nα\u0026gt;1\\alpha \u0026gt; 1α\u0026gt;1 영역에서 g(α;β)=βαg(\\alpha; \\beta) = \\beta \\alphag(α;β)=βα이다.\n만약 β\u0026gt;0\\beta \u0026gt; 0β\u0026gt;0이면 lim⁡α→+∞βα=+∞\\lim_{\\alpha \\to +\\infty} \\beta \\alpha = +\\inftylimα→+∞​βα=+∞가 되어 상한은 +∞+\\infty+∞로 발산한다.\n따라서 상한이 유한하기 위한 필수 조건은 β≤0\\beta \\le 0β≤0이다. α→−∞\\alpha \\to -\\inftyα→−∞ 극한:\nα≤1\\alpha \\le 1α≤1 영역에서 g(α;β)=(β+1)α−1g(\\alpha; \\beta) = (\\beta + 1)\\alpha - 1g(α;β)=(β+1)α−1이다.\n만약 β+1\u0026lt;0\\beta + 1 \u0026lt; 0β+1\u0026lt;0 (즉 β\u0026lt;−1\\beta \u0026lt; -1β\u0026lt;−1)이면, lim⁡α→−∞(β+1)α=+∞\\lim_{\\alpha \\to -\\infty} (\\beta + 1)\\alpha = +\\inftylimα→−∞​(β+1)α=+∞가 되어 상한은 +∞+\\infty+∞로 발산한다.\n따라서 상한이 유한하기 위한 필수 조건은 β≥−1\\beta \\ge -1β≥−1이다. 따라서 L∗(β)L^*(\\beta)L∗(β)가 유한한 값을 갖는 유효 정의역(effective domain)은 닫힌 구간 [−1,0][-1, 0][−1,0]이다. 그 밖에서는 +∞+\\infty+∞이다. 유효 구간 β∈[−1,0]\\beta \\in [-1, 0]β∈[−1,0]에서의 최댓값 계산:\nβ∈[−1,0]\\beta \\in [-1, 0]β∈[−1,0]이면 β+1≥0\\beta + 1 \\ge 0β+1≥0이므로, α≤1\\alpha \\le 1α≤1 구간에서 직선 (β+1)α−1(\\beta + 1)\\alpha - 1(β+1)α−1의 기울기는 비음수(≥0\\ge 0≥0)이며 단조 증가한다. 또한 β≤0\\beta \\le 0β≤0이므로, α≥1\\alpha \\ge 1α≥1 구간에서 직선 βα\\beta \\alphaβα의 기울기는 비양수(≤0\\le 0≤0)이며 단조 감소한다. 두 직선은 α=1\\alpha = 1α=1에서 연속으로 만난다:\ng(1;β)=(β+1)(1)−1=β,g(1;β)=β(1)=βg(1; \\beta) = (\\beta + 1)(1) - 1 = \\beta, \\quad g(1; \\beta) = \\beta(1) = \\betag(1;β)=(β+1)(1)−1=β,g(1;β)=β(1)=β 따라서 최댓값은 α=1\\alpha = 1α=1에서 유일하게 달성되며 그 값은 β\\betaβ이다.\nsup⁡α∈Rg(α;β)=β\\sup_{\\alpha \\in \\mathbb{R}} g(\\alpha; \\beta) = \\betasupα∈R​g(α;β)=β L∗(β)L^*(\\beta)L∗(β) 정리:\nL∗(β)={βif −1≤β≤0+∞otherwiseL^*(\\beta) = \\begin{cases} \\beta \u0026amp; \\text{if } -1 \\le \\beta \\le 0 \\\\ +\\infty \u0026amp; \\text{otherwise} \\end{cases}L∗(β)={β+∞​if −1≤β≤0otherwise​ Part 2: h(β)=L∗(β)+γ2β2h(\\beta) = L^*(\\beta) + \\frac{\\gamma}{2}\\beta^2h(β)=L∗(β)+2γ​β2의 볼록 켤레 h∗(u)h^*(u)h∗(u) 유도 함수 h(β)h(\\beta)h(β) 규정:\nγ\u0026gt;0\\gamma \u0026gt; 0γ\u0026gt;0은 스무딩 하이퍼파라미터이다. L∗(β)L^*(\\beta)L∗(β)의 유효 정의역이 [−1,0][-1, 0][−1,0]이므로:\nh(β)={β+γ2β2if −1≤β≤0+∞otherwiseh(\\beta) = \\begin{cases} \\beta + \\frac{\\gamma}{2}\\beta^2 \u0026amp; \\text{if } -1 \\le \\beta \\le 0 \\\\ +\\infty \u0026amp; \\text{otherwise} \\end{cases}h(β)={β+2γ​β2+∞​if −1≤β≤0otherwise​ 켤레 함수 h∗(u)h^*(u)h∗(u)의 정의 (원변수를 uuu로 표기):\nh∗(u)=sup⁡β∈R(uβ−h(β))=sup⁡−1≤β≤0(uβ−(β+γ2β2))=sup⁡−1≤β≤0((u−1)β−γ2β2)h^*(u) = \\sup_{\\beta \\in \\mathbb{R}} \\left( u \\beta - h(\\beta) \\right) = \\sup_{-1 \\le \\beta \\le 0} \\left( u \\beta - \\left( \\beta + \\frac{\\gamma}{2}\\beta^2 \\right) \\right) = \\sup_{-1 \\le \\beta \\le 0} \\left( (u - 1)\\beta - \\frac{\\gamma}{2}\\beta^2 \\right)h∗(u)=supβ∈R​(uβ−h(β))=sup−1≤β≤0​(uβ−(β+2γ​β2))=sup−1≤β≤0​((u−1)β−2γ​β2) 제약 구간 [−1,0][-1, 0][−1,0]에서의 2차 함수 최적화:\n목적함수 ψ(β)=(u−1)β−γ2β2\\psi(\\beta) = (u - 1)\\beta - \\frac{\\gamma}{2}\\beta^2ψ(β)=(u−1)β−2γ​β2는 위로 볼록인 2차 포물선이다.\n무제약 극대점:\nψ′(β)=(u−1)−γβ=0 ⟹ βˉ=u−1γ\\psi\u0026#x27;(\\beta) = (u - 1) - \\gamma \\beta = 0 \\implies \\bar{\\beta} = \\frac{u - 1}{\\gamma}ψ′(β)=(u−1)−γβ=0⟹βˉ​=γu−1​\n그러나 β\\betaβ는 닫힌 구간 [−1,0][-1, 0][−1,0]으로 제한되므로, 최적해 β∗\\beta^*β∗는 βˉ\\bar{\\beta}βˉ​를 [−1,0][-1, 0][−1,0]에 사영(projection/clipping)한 점이다.\nβ∗=clip(u−1γ,−1,0)\\beta^* = \\text{clip}\\left( \\frac{u - 1}{\\gamma}, -1, 0 \\right)β∗=clip(γu−1​,−1,0) uuu의 값에 따른 구간별 최적해 및 함숫값 계산: 구간 1 (u\u0026gt;1u \u0026gt; 1u\u0026gt;1):\nβˉ=u−1γ\u0026gt;0\\bar{\\beta} = \\frac{u - 1}{\\gamma} \u0026gt; 0βˉ​=γu−1​\u0026gt;0이므로 오른쪽 경계에 걸려 β∗=0\\beta^* = 0β∗=0이다.\nh∗(u)=ψ(0)=0h^*(u) = \\psi(0) = 0h∗(u)=ψ(0)=0 구간 2 (1−γ≤u≤11 - \\gamma \\le u \\le 11−γ≤u≤1):\n−1≤u−1γ≤0-1 \\le \\frac{u - 1}{\\gamma} \\le 0−1≤γu−1​≤0이므로 βˉ\\bar{\\beta}βˉ​가 구간 내부에 위치하여 β∗=u−1γ\\beta^* = \\frac{u - 1}{\\gamma}β∗=γu−1​이다.\nh∗(u)=(u−1)(u−1γ)−γ2(u−1γ)2=(u−1)2γ−(u−1)22γ=(1−u)22γh^*(u) = (u - 1)\\left(\\frac{u - 1}{\\gamma}\\right) - \\frac{\\gamma}{2}\\left(\\frac{u - 1}{\\gamma}\\right)^2 = \\frac{(u - 1)^2}{\\gamma} - \\frac{(u - 1)^2}{2\\gamma} = \\frac{(1 - u)^2}{2\\gamma}h∗(u)=(u−1)(γu−1​)−2γ​(γu−1​)2=γ(u−1)2​−2γ(u−1)2​=2γ(1−u)2​ 구간 3 (u\u0026lt;1−γu \u0026lt; 1 - \\gammau\u0026lt;1−γ):\nβˉ=u−1γ\u0026lt;−1\\bar{\\beta} = \\frac{u - 1}{\\gamma} \u0026lt; -1βˉ​=γu−1​\u0026lt;−1이므로 왼쪽 경계에 걸려 β∗=−1\\beta^* = -1β∗=−1이다.\nh∗(u)=(u−1)(−1)−γ2(−1)2=1−u−γ2h^*(u) = (u - 1)(-1) - \\frac{\\gamma}{2}(-1)^2 = 1 - u - \\frac{\\gamma}{2}h∗(u)=(u−1)(−1)−2γ​(−1)2=1−u−2γ​ 구간 연결점에서의 연속성 및 C1C^1C1 미분가능성 검증: u=1u = 1u=1에서: 함숫값: (1−1)22γ=0\\frac{(1 - 1)^2}{2\\gamma} = 02γ(1−1)2​=0, 우측 000 (연속). 도함수: ddu[(1−u)22γ]u=1=−1−uγ∣u=1=0\\frac{d}{du}\\left[\\frac{(1-u)^2}{2\\gamma}\\right]_{u=1} = -\\frac{1-u}{\\gamma}\\Big|_{u=1} = 0dud​[2γ(1−u)2​]u=1​=−γ1−u​​u=1​=0, 우측 000 (C1C^1C1 연속). u=1−γu = 1 - \\gammau=1−γ에서: 함숫값: 1−(1−γ)−γ2=γ21 - (1 - \\gamma) - \\frac{\\gamma}{2} = \\frac{\\gamma}{2}1−(1−γ)−2γ​=2γ​, 우측 (1−(1−γ))22γ=γ22γ=γ2\\frac{(1-(1-\\gamma))^2}{2\\gamma} = \\frac{\\gamma^2}{2\\gamma} = \\frac{\\gamma}{2}2γ(1−(1−γ))2​=2γγ2​=2γ​ (연속). 도함수: ddu[1−u−γ2]=−1\\frac{d}{du}[1 - u - \\frac{\\gamma}{2}] = -1dud​[1−u−2γ​]=−1, 우측 −1−(1−γ)γ=−1-\\frac{1-(1-\\gamma)}{\\gamma} = -1−γ1−(1−γ)​=−1 (C1C^1C1 연속). 따라서 h∗(u)h^*(u)h∗(u)는 전 구간에서 연속 미분 가능한 평활화된 함수(Smoothed Hinge Loss / Huberized Hinge Loss)이다. 답:\n힌지 손실의 볼록 켤레:\nL∗(β)={βif −1≤β≤0+∞otherwise\\boldsymbol{L^*(\\beta) = \\begin{cases} \\beta \u0026amp; \\text{if } -1 \\le \\beta \\le 0 \\\\ +\\infty \u0026amp; \\text{otherwise} \\end{cases}}L∗(β)={β+∞​if −1≤β≤0otherwise​ 근접항을 더한 함수의 볼록 켤레 (Smoothed Hinge Loss):\nh∗(u)={0if u\u0026gt;1(1−u)22γif 1−γ≤u≤11−u−γ2if u\u0026lt;1−γ\\begin{aligned} \u0026amp;\\boldsymbol{h^*(u)} \\\\ \u0026amp;\\quad \\boldsymbol{= \\begin{cases} 0 \u0026amp; \\text{if } u \u0026gt; 1 \\\\ \\frac{(1 - u)^2}{2\\gamma} \u0026amp; \\text{if } 1 - \\gamma \\le u \\le 1 \\\\ 1 - u - \\frac{\\gamma}{2} \u0026amp; \\text{if } u \u0026lt; 1 - \\gamma \\end{cases}} \\end{aligned}​h∗(u)=⎩⎨⎧​02γ(1−u)2​1−u−2γ​​if u\u0026gt;1if 1−γ≤u≤1if u\u0026lt;1−γ​​ 확인:\nγ→0+\\gamma \\to 0^+γ→0+ 극한을 취하면 중간의 2차 포물선 완충 구간 [1−γ,1][1 - \\gamma, 1][1−γ,1]의 폭이 0으로 줄어들어 원래의 꺾인 힌지 손실 max⁡{0,1−u}\\max\\{0, 1 - u\\}max{0,1−u}로 수렴한다. γ\u0026gt;0\\gamma \u0026gt; 0γ\u0026gt;0일 때는 모서리(kink)가 부드럽게 연결되어 전 구간에서 그래디언트가 연속이므로, 서브그래디언트 없이 L-BFGS나 가속 경사하강법을 안정적으로 적용할 수 있다. (교재 밖 보충: 이 기법은 최적화 이론에서 켤레 공간의 2차 정규화와 원 공간의 인피멀 컨볼루션(infimal convolution)을 통한 모로 포락선(Moreau envelope) 스무딩에 해당한다.)\n","permalink":"https://qofo.github.io/posts/mml-exercise-solutions/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재:\u003c/strong\u003e Deisenroth·Faisal·Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e (\u003ca href=\"https://mml-book.github.io/\"\u003emml-book.github.io\u003c/a\u003e에 공개된 PDF, 2024-01-15 판). 문제는 PDF 원문과 대조해 옮겼고, 쪽수와 식 번호도 그 PDF 기준이다.\u003cbr\u003e\n\u003cstrong\u003e검산:\u003c/strong\u003e 숫자 답은 sympy로, 미분 답은 sympy와 수치 미분으로 검산했다. 6\u003cdel\u003e7장의 수치 답은 scipy로 다시 계산했고, 자세한 내용은 각 장 머리에 적었다.\u003cbr\u003e\n\u003cstrong\u003e범위:\u003c/strong\u003e 장 끝 연습문제는 Part I(2\u003c/del\u003e7장)에만 있다. Part II(8~12장)에는 없다. 개념 해설은 연재의 장별 글(\u003ca href=\"/posts/mml-ch02-linear-algebra/\"\u003e2장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch03-analytic-geometry/\"\u003e3장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch04-matrix-decompositions/\"\u003e4장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch05-vector-calculus/\"\u003e5장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch06-probability/\"\u003e6장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch07-continuous-optimization/\"\u003e7장\u003c/a\u003e)에 있고, 이 글은 그 글들의 연습문제 답을 손으로 따라 쓸 수 있게 풀어 쓴 것이다.\u003cbr\u003e\n\u003cstrong\u003e표기:\u003c/strong\u003e 교재와 같이 스칼라 함수를 벡터로 미분한 기울기는 \u003cstrong\u003e행벡터\u003c/strong\u003e(\u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmn\u003e1\u003c/mn\u003e\u003cmo\u003e×\u003c/mo\u003e\u003cmi\u003eD\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e1\\times D\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e1\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2222em;\"\u003e\u003c/span\u003e\u003cspan class=\"mbin\"\u003e×\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2222em;\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.02778em;\"\u003eD\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e)로 쓴다. \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003elog\u003c/mi\u003e\u003cmo\u003e⁡\u003c/mo\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\log\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mop\"\u003elo\u003cspan style=\"margin-right:0.01389em;\"\u003eg\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e는 자연로그다.\u003c/p\u003e","title":"MML 교재 연습문제 전체 풀이: 2~7장 75문제"},{"content":"이 폰의 램은 3.7GiB이고, CPU는 2016년 것이다. 블로그와 문서 서버, 코드 편집기는 돌리지만 AI 모델을 학습하거나 크게 돌릴 힘은 없다.\n한편 이 폰에서는 Claude Code가 돌고 있다(11편). 에이전트가 무거운 계산을 직접 클라우드 GPU에 맡길 수 있다면, 폰은 지휘만 하면 된다. 이 글은 Google Colab을 에이전트의 도구로 붙인 기록이다.\n1. MCP 서버냐, CLI냐 2026년 9월 기준으로 에이전트가 Colab을 쓰는 길은 네 가지였다.\n방법 방식 이 폰에서 Colab MCP 서버 (공식, 2026년 3월) 로컬에 웹소켓 서버를 열고, 브라우저의 Colab 탭이 그리로 접속한다 맞지 않는다 Colab CLI (공식, 2026년 6월, Apache-2.0) 터미널에서 런타임을 만들고, 코드를 보내 실행하고, 파일을 주고받는다 채택 Colab Enterprise Google Cloud 결제 프로젝트 위의 유료 서비스 개인 서버에는 과하다 노트북 안에 웹 서버·터널을 띄우는 비공식 도구 Colab 런타임을 원격 서버처럼 쓴다 이용 규칙과 부딪힌다 MCP 서버가 맞지 않는 이유는 소스에 있다. colab_mcp/websocket_server.py의 서버는 host=\u0026quot;localhost\u0026quot;, port=0(임의 포트)으로 뜨고, 토큰을 가진 브라우저 탭이 그 주소로 접속한다. 에이전트와 브라우저가 같은 컴퓨터에 있어야 한다. 이 폰은 화면 없이 다른 기기에서 원격으로 쓴다. PC 브라우저의 localhost는 폰이 아니다.\n비공식 도구는 Colab FAQ의 금지 목록에 걸린다. 모든 사용자에게 \u0026ldquo;원격 프록시 연결\u0026quot;이 금지이고, 무료 요금제에서는 \u0026ldquo;SSH 셸 같은 원격 제어\u0026quot;도 예고 없이 끊길 수 있는 항목이다.\nCLI는 에이전트를 염두에 두고 만들어졌다. 패키지 안에 에이전트용 설명서(SKILL.md)가 들어 있다.\n2. 설치: Termux가 아니라 proot 우분투라서 쉬웠다 Colab CLI는 순수 파이썬이 아니다. pydantic-core, pyzmq, pyarrow 같은 네이티브 의존성이 딸려 온다. Termux에 직접 설치한 사람은 별도 wheel 저장소와 포크를 거쳐야 했다(저장소 이슈 #131의 설치 가이드).\n이 폰의 파이썬은 proot 안 우분투의 것이다(3편). glibc 위의 aarch64 리눅스이므로 PyPI의 manylinux wheel을 그대로 쓸 수 있다. 설치 전에 컴파일 없이 되는지부터 확인했다.\npython3 -m venv /tmp/dryrun /tmp/dryrun/bin/pip install --dry-run --only-binary=:all: google-colab-cli --only-binary=:all:은 완성된 wheel이 없는 패키지가 하나라도 있으면 실패한다. 모든 의존성이 해결됐고, 예를 들어 pyarrow는 pyarrow-25.0.1-cp314-cp314-manylinux_2_28_aarch64.whl이었다. 실제 설치는 다른 도구들처럼 전용 가상환경에 했다.\npython3 -m venv /root/.local/share/colab-venv /root/.local/share/colab-venv/bin/pip install --only-binary=:all: google-colab-cli ln -sf /root/.local/share/colab-venv/bin/colab /root/.local/bin/colab colab version # Version: 0.7.4 3. 브라우저 없는 서버에서 로그인하기 방식. 0.6.0부터 로그인은 복사해 붙여넣는 방식이다. CLI가 주소를 출력하면 아무 기기의 브라우저에서 열어 승인하고, Google 페이지에 뜬 코드를 터미널에 붙여 넣는다. 소스(auth.py)의 주석이 이유를 적어 두었다. 예전 방식인 localhost 콜백은 원격·컨테이너 환경에서 실패하고, 코드를 화면에 띄우던 OOB 방식은 Google이 2022년에 막았다. 그래서 gcloud와 같은 착지 페이지를 쓴다. 이 폰처럼 화면 없는 기기에 맞는 방식이다.\n문서와 코드가 달랐다. 동봉된 SKILL.md는 로그인 기본값을 adc(gcloud로 만든 자격 증명)라고 적고, 에이전트에게 ADC를 권한다. 설치된 0.7.4의 도움말은 다르게 말한다.\n│ --auth \u0026lt;oauth2|adc\u0026gt; Authentication strategy to use: │ │ \u0026#39;oauth2\u0026#39; (public │ │ InstalledAppFlow), or \u0026#39;adc\u0026#39; │ │ (Application Default │ │ Credentials). │ │ [default: oauth2] │ 기본값은 oauth2이고, OAuth 클라이언트 설정은 패키지 안에 들어 있다. gcloud는 필요 없다. 문서만 읽은 에이전트라면 이 폰에 gcloud부터 설치하려 들었을 것이다.\n권한은 전부 체크한다. Google 동의 화면은 요청 권한을 하나씩 끄고 켤 수 있게 보여 준다. 일부만 승인하면 이 CLI는 토큰을 저장하지 못하고, 우회하더라도 한 시간마다 브라우저 로그인을 다시 요구한다(이슈 #116). 전부 승인한 뒤 확인한 결과다(이메일은 가리고, OAuth 클라이언트 ID 줄은 뺐다).\n$ colab whoami Auth provider: oauth2 Email: \u0026lt;email\u0026gt; Expires in: 59m Scopes: - email - https://www.googleapis.com/auth/cloud-platform - https://www.googleapis.com/auth/colaboratory - https://www.googleapis.com/auth/drive.file - https://www.googleapis.com/auth/userinfo.email - https://www.googleapis.com/auth/userinfo.profile - openid - profile 로그인은 사람이 한다. 코드는 표준입력으로 받으므로 에이전트가 대신 넣을 수도 없지만, 기술적으로 가능하더라도 넣게 해서는 안 된다. 이 토큰의 범위에는 Colab뿐 아니라 Google Cloud 전체(cloud-platform)가 들어 있다. 토큰은 ~/.config/colab-cli/token.json에 저장된다. 폰이 남의 손에 들어가면 이 권한도 같이 넘어간다. 그때는 Google 계정 보안 설정에서 이 연결을 끊는다.\n4. 에이전트에게 규칙 알려 주기: 스킬 Claude Code는 ~/.claude/skills/\u0026lt;이름\u0026gt;/SKILL.md를 읽는다. 머리말의 설명을 보고 필요할 때 본문을 불러온다. CLI가 동봉 문서를 출력해 주므로 그대로 옮겼다.\nmkdir -p ~/.claude/skills/colab-operator colab skill \u0026gt; ~/.claude/skills/colab-operator/SKILL.md 동봉 문서는 일반적인 사용법이다. 사고는 환경마다 다른 곳에서 난다. 그래서 끝에 이 폰의 규칙을 덧붙였다. 위 본문과 다를 때는 이쪽이 우선이라고 적었다.\n로그인은 oauth2다. ADC와 gcloud를 권하지 않는다. 로그인은 사용자가 한다. 토큰이 없으면 멈추고 사용자에게 부탁한다. 토큰 파일은 읽지도, 출력하지도, 복사하지도 않는다. colab new와 colab run 전에는 묻는다. 둘 다 VM을 빌리고, 유료 혜택이 생기면 사용량 단위를 쓴다. 세션에는 항상 이름(-s)을 붙이고, 끝나면 colab stop 뒤 colab sessions로 남은 것이 없는지 확인한다. 무료 요금제에서는 colab ssh와 colab console을 쓰지 않는다(1절의 FAQ). 10분이 넘는 작업은 백그라운드로 돌리고 colab status와 colab log로 따라간다. 폰 쪽은 가볍게 둔다. 무거운 일은 VM에서 하고 결과만 받는다. CLI를 올리면 colab skill로 다시 쓰고 이 절을 다시 붙인다.\n5. 검증 CPU 런타임. 세션을 만들고, 코드를 두 번 나눠 보냈다. 두 번째 실행에서 첫 번째 실행의 변수 x가 살아 있는지 봤다.\n[colab] Creating session \u0026#39;smoke\u0026#39;... [colab] Session READY. python 3.13.15 x86_64 cpus 2 x*2 = 42 한 세션은 같은 커널을 계속 쓴다. 에이전트가 짧은 명령을 여러 번 보내도 상태가 이어진다는 뜻이다. VM에서 만든 파일을 colab download로 폰에 받았고, colab stop 뒤 colab sessions는 No active sessions found on server.를 돌려줬다. 그 사이 colab usage의 답은 이랬다.\nCurrent balance: 0.00 compute units Usage rate: 0.06/hr Active assignments: 1 T4 GPU. colab run은 VM을 만들고, 로컬 스크립트를 실행하고, VM을 반납하는 일을 한 번에 한다. GPU를 확인하는 짧은 스크립트를 보냈다(경로는 줄였다).\n[colab] Creating session \u0026#39;t4test\u0026#39;... [colab] Session READY (t4test). Executing gpu_check.py... python 3.13.15 nvidia-smi: Tesla T4, 15360 MiB, 11.06 W, 70.00 W torch 2.11.0+cu128 cuda available: True matmul 4096^2 x20: 0.87s, ~3.2 TFLOPS fp32 [colab] Stopping session \u0026#39;t4test\u0026#39;... [colab] Session terminated. 무료 조건에서도 이날은 T4가 배정됐다. 늘 그렇지는 않다. 이슈 #73에는 무료 계정에서 T4 요청이 412 Precondition Failed로 거절된 기록이 있다. 행렬 곱 수치는 워밍업이 섞인 한 번의 측정이라 성능 값으로 쓰지 않는다.\n이 출력에서 중요한 것은 11.06 W, 70.00 W다. GPU의 소비 전력을 읽을 수 있다. 다음 작업에서 쓸 숫자다.\n6. 한계 무료 요금제는 보장이 없다. GPU 배정도, 세션 길이도 그때그때 다르다. 요금제 혜택은 아직이다. Google은 9월 22일 Google AI 요금제에 Colab 혜택을 넣었다고 발표하고, Colab을 쓸 수 있는 나라에 몇 주에 걸쳐 적용한다고 했다. 이 글을 쓰는 9월 29일에 잔액은 0.00이었다. 동봉 문서는 코드보다 늦다. 3절의 기본값처럼, 에이전트가 읽는 문서도 틀릴 수 있다. 환경에 맞춘 규칙을 덧붙인 이유다. 넓은 권한의 토큰이 폰에 있다. 3절에서 말한 대로다. 편의와 맞바꾼 위험이다. 정리 에이전트와 브라우저가 한 기기에 없으면 CLI다. MCP 서버는 같은 기기의 브라우저 탭을 전제로 했다. proot 우분투는 여기서도 값을 했다. glibc 덕분에 표준 wheel로 컴파일 없이 설치됐다. 문서보다 --help다. 동봉 문서와 실제 기본값이 달랐다. 계정 권한을 주는 일은 사람이 한다. 에이전트는 로그인이 없으면 멈추고 부탁한다. 다음 이 폰에 GPU가 생긴 것은 아니다. 필요할 때 빌릴 수 있게 됐을 뿐이다. 그래서 거꾸로 묻게 된다. 이 낡은 폰에서 직접 AI 모델을 돌리면, 전기와 탄소로 따져 클라우드 GPU보다 얼마나 나쁜가?\n2026년 7월의 한 연구는 최근 폰 두 대(iPhone 14, Pixel 8)로 재서 \u0026ldquo;폰 추론의 환경 영향 대부분은 기기를 만들 때 나온 탄소\u0026quot;라고 결론 냈다. 버려질 폰을 다시 쓰면 그 탄소는 새로 생기지 않는다. 다음 글부터는 이 폰과 Colab T4에서 같은 모델을 돌려 토큰당 에너지를 재 본다.\n","permalink":"https://qofo.github.io/posts/colab-cli-for-the-agent/","summary":"\u003cp\u003e이 폰의 램은 3.7GiB이고, CPU는 2016년 것이다. 블로그와 문서 서버, 코드 편집기는 돌리지만 AI 모델을 학습하거나 크게 돌릴 힘은 없다.\u003c/p\u003e\n\u003cp\u003e한편 이 폰에서는 Claude Code가 돌고 있다(\u003ca href=\"/posts/agent-session-outside-proot/\"\u003e11편\u003c/a\u003e). 에이전트가 무거운 계산을 직접 클라우드 GPU에 맡길 수 있다면, 폰은 지휘만 하면 된다. 이 글은 Google Colab을 에이전트의 도구로 붙인 기록이다.\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"1-mcp-서버냐-cli냐\"\u003e1. MCP 서버냐, CLI냐\u003c/h2\u003e\n\u003cp\u003e2026년 9월 기준으로 에이전트가 Colab을 쓰는 길은 네 가지였다.\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e방법\u003c/th\u003e\n          \u003cth\u003e방식\u003c/th\u003e\n          \u003cth\u003e이 폰에서\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eColab MCP 서버 (공식, 2026년 3월)\u003c/td\u003e\n          \u003ctd\u003e로컬에 웹소켓 서버를 열고, 브라우저의 Colab 탭이 그리로 접속한다\u003c/td\u003e\n          \u003ctd\u003e맞지 않는다\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eColab CLI\u003c/strong\u003e (공식, 2026년 6월, Apache-2.0)\u003c/td\u003e\n          \u003ctd\u003e터미널에서 런타임을 만들고, 코드를 보내 실행하고, 파일을 주고받는다\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003e채택\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eColab Enterprise\u003c/td\u003e\n          \u003ctd\u003eGoogle Cloud 결제 프로젝트 위의 유료 서비스\u003c/td\u003e\n          \u003ctd\u003e개인 서버에는 과하다\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e노트북 안에 웹 서버·터널을 띄우는 비공식 도구\u003c/td\u003e\n          \u003ctd\u003eColab 런타임을 원격 서버처럼 쓴다\u003c/td\u003e\n          \u003ctd\u003e이용 규칙과 부딪힌다\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMCP 서버가 맞지 않는 이유는 소스에 있다. \u003ccode\u003ecolab_mcp/websocket_server.py\u003c/code\u003e의 서버는 \u003ccode\u003ehost=\u0026quot;localhost\u0026quot;\u003c/code\u003e, \u003ccode\u003eport=0\u003c/code\u003e(임의 포트)으로 뜨고, 토큰을 가진 브라우저 탭이 그 주소로 접속한다. \u003cstrong\u003e에이전트와 브라우저가 같은 컴퓨터에 있어야\u003c/strong\u003e 한다. 이 폰은 화면 없이 다른 기기에서 원격으로 쓴다. PC 브라우저의 \u003ccode\u003elocalhost\u003c/code\u003e는 폰이 아니다.\u003c/p\u003e","title":"폰에서 도는 에이전트에게 GPU를 빌려 주다: Colab CLI로 Claude Code와 Colab 잇기"},{"content":" 교재: Deisenroth·Faisal·Ong, Mathematics for Machine Learning (mml-book.github.io에 공개된 PDF, 2024-01-15 판). 쪽수와 식 번호는 그 PDF 기준이다.\n왜 만들었나: 교재 Part II(8~12장)에는 장 끝 연습문제가 없다. 그래서 교재의 절·식·예제를 따라가며 손으로 풀 수 있는 문제를 만들었다. 문제마다 근거가 되는 교재 절과 식 번호를 적었다. 교재에 없는 내용을 묻는 곳은 교재 밖 보충이라고 표시했다.\n답과 풀이: 다음 편에 있다. 모든 숫자 답은 numpy·scipy로 검산했다. 개념 해설은 장별 글(8장, 9장, 10장, 11장, 12장)에 있다.\n표기: 교재와 같이 공분산의 분모는 NNN, 스칼라 함수의 기울기는 행벡터, log⁡\\loglog는 자연로그다. 9장의 데이터 행렬은 N×DN\\times DN×D, 10장은 D×ND\\times ND×N이다.\n문제 종류: [계산] 손으로 숫자를 끝까지 구한다. [유도] 백지에 식을 끝까지 쓴다. [서술] 말로 설명한다.\n장 문제 시간이 없을 때 먼저 풀 문제 8 모델과 데이터 8-1 ~ 8-9 8-3(동전 MLE·MAP·베이즈), 8-5(d-분리), 8-7(베이즈 팩터) 9 선형 회귀 9-1 ~ 9-9 9-1(정규방정식), 9-4(MAP), 9-5(베이즈 회귀) 10 PCA 10-1 ~ 10-9 10-1(네 점 PCA), 10-3(라그랑주 유도), 10-5(N\u0026lt;DN\u0026lt;DN\u0026lt;D) 11 GMM과 EM 11-1 ~ 11-8 11-2(교재 예제 M 단계), 11-3(갱신식 유도), 11-6(EM 한 바퀴) 12 SVM 12-1 ~ 12-8 12-2(하드 마진과 쌍대), 12-3(쌍대 유도), 12-5(XOR 커널) OX 퀴즈 15문항 마지막 점검 8장 모델과 데이터 8-1. 경험적 위험과 과적합 [계산] 근거: 8.2.18.2.3절, 식 (8.6)(8.10)\n훈련 데이터 (x,y)(x,y)(x,y)는 (0,0), (1,2), (2,2)(0,0),\\ (1,2),\\ (2,2)(0,0), (1,2), (2,2), 테스트 데이터는 (3, 2.5), (4, 4.5)(3,\\,2.5),\\ (4,\\,4.5)(3,2.5), (4,4.5)이다. 예측기 두 개를 비교한다.\nf1(x)=xf_1(x)=xf1​(x)=x (직선) f2f_2f2​: 훈련 데이터 세 점을 정확히 지나는 2차식 (a) f2f_2f2​를 구하라. (b) 제곱 손실 ℓ(y,y^)=(y−y^)2\\ell(y,\\hat y)=(y-\\hat y)^2ℓ(y,y^​)=(y−y^​)2로 두 예측기의 훈련 경험적 위험 Remp(f,Xtrain,ytrain)R_{\\text{emp}}(f,X_{\\text{train}},y_{\\text{train}})Remp​(f,Xtrain​,ytrain​)을 구하라. (c) 테스트 데이터의 경험적 위험을 구하라. (d) 교재가 정의한 과적합에 비추어 어느 예측기가 과적합인지 설명하라.\n8-2. 가우시안 가능도, 최소제곱, 정규화 최소제곱 [유도·계산] 근거: 예제 8.2, 8.3, 8.5, 식 (8.9), (8.12), (8.18)\n(a) p(yn∣xn,θ)=N(yn∣xn⊤θ,σ2)p(y_n\\mid x_n,\\theta)=\\mathcal N(y_n\\mid x_n^\\top\\theta,\\sigma^2)p(yn​∣xn​,θ)=N(yn​∣xn⊤​θ,σ2)이고 σ2\\sigma^2σ2를 안다고 하자. 음의 로그 가능도 L(θ)\\mathcal L(\\theta)L(θ)를 전개하고, L\\mathcal LL을 최소화하는 θ\\thetaθ가 최소제곱 문제 (8.9)의 해와 같음을 보여라. (b) 정규화 최소제곱 (8.12) min⁡θ1N∥y−Xθ∥2+λ∥θ∥2\\min_\\theta \\frac1N\\|y-X\\theta\\|^2+\\lambda\\|\\theta\\|^2minθ​N1​∥y−Xθ∥2+λ∥θ∥2의 해를 닫힌 꼴로 구하라. (c) 절편 없는 1차원 모델 f(x)=θxf(x)=\\theta xf(x)=θx와 데이터 x=(1,2,3)x=(1,2,3)x=(1,2,3), y=(2,3,5)y=(2,3,5)y=(2,3,5)에 대해 λ=0\\lambda=0λ=0일 때와 λ=13\\lambda=\\frac13λ=31​일 때 θ\\thetaθ를 구하라. (d) 9장의 정규화 최소제곱 (9.32) ∥y−Φθ∥2+λ∥θ∥2\\|y-\\Phi\\theta\\|^2+\\lambda\\|\\theta\\|^2∥y−Φθ∥2+λ∥θ∥2에 있는 λ\\lambdaλ는 (8.12)의 λ\\lambdaλ와 어떤 관계인가?\n8-3. 동전 던지기: MLE, MAP, 베이즈 추론 [계산] 근거: 식 (8.17), (8.19)(8.23), (8.32)(8.33), 그림 8.10(c), 6.6.1절(켤레 사전분포)\n동전을 8번 던져 1,1,0,1,0,1,1,11,1,0,1,0,1,1,11,1,0,1,0,1,1,1을 얻었다(111=앞면). 모델은 p(x∣μ)=Ber(μ)p(x\\mid\\mu)=\\text{Ber}(\\mu)p(x∣μ)=Ber(μ)이고 던지기끼리는 독립이다.\n(a) 음의 로그 가능도 L(μ)\\mathcal L(\\mu)L(μ)를 쓰고 μML\\mu_{\\text{ML}}μML​을 구하라. (b) 사전분포가 μ∼Beta(2,2)\\mu\\sim\\text{Beta}(2,2)μ∼Beta(2,2)일 때 μMAP\\mu_{\\text{MAP}}μMAP​을 구하라. (c) 사후분포 p(μ∣X)p(\\mu\\mid\\mathcal X)p(μ∣X)를 구하라. (d) 다음 던지기가 앞면일 확률을 식 (8.23)처럼 μ\\muμ에 대해 적분해서 구하고, μML\\mu_{\\text{ML}}μML​이나 μMAP\\mu_{\\text{MAP}}μMAP​을 그대로 넣은 값과 비교하라.\n8-4. 인수분해와 그래프 [계산] 근거: 예제 8.7, 8.8, 식 (8.29)~(8.31)\n(a) p(a,b,c,d)=p(a) p(b∣a) p(c∣a) p(d∣b,c)p(a,b,c,d)=p(a)\\,p(b\\mid a)\\,p(c\\mid a)\\,p(d\\mid b,c)p(a,b,c,d)=p(a)p(b∣a)p(c∣a)p(d∣b,c)에 해당하는 방향 그래프의 화살표를 모두 써라. (b) 화살표가 x1→x2x_1\\to x_2x1​→x2​, x1→x3x_1\\to x_3x1​→x3​, x2→x4x_2\\to x_4x2​→x4​, x3→x4x_3\\to x_4x3​→x4​, x4→x5x_4\\to x_5x4​→x5​인 그래프의 결합분포를 식 (8.31)로 써라. (c) (b)의 다섯 변수가 모두 0 또는 1만 갖는다면, 결합분포를 표 하나로 저장할 때와 (b)의 인수분해로 저장할 때 필요한 자유 매개변수는 각각 몇 개인가? (교재 밖 보충)\n8-5. d-분리 판정 [계산] 근거: 8.5.2절, 예제 8.9, 그림 8.11\n그림 8.11의 그래프는 화살표 a→ba\\to ba→b, b→cb\\to cb→c, a→da\\to da→d, c→dc\\to dc→d, d→ed\\to ed→e로 되어 있다.\n(a) 교재의 네 문장 (8.35) b⊥ ⁣ ⁣ ⁣⊥d∣a,cb\\perp\\!\\!\\!\\perp d\\mid a,cb⊥⊥d∣a,c, (8.36) a⊥ ⁣ ⁣ ⁣⊥c∣ba\\perp\\!\\!\\!\\perp c\\mid ba⊥⊥c∣b, (8.37) b⊥̸ ⁣ ⁣ ⁣⊥d∣cb\\not\\perp\\!\\!\\!\\perp d\\mid cb⊥⊥d∣c, (8.38) a⊥̸ ⁣ ⁣ ⁣⊥c∣b,ea\\not\\perp\\!\\!\\!\\perp c\\mid b,ea⊥⊥c∣b,e가 맞음을 경로마다 따져 보여라. (b) 다음이 성립하는지 판정하라. (i) a⊥ ⁣ ⁣ ⁣⊥ca\\perp\\!\\!\\!\\perp ca⊥⊥c (조건 없음) (ii) b⊥ ⁣ ⁣ ⁣⊥e∣db\\perp\\!\\!\\!\\perp e\\mid db⊥⊥e∣d (iii) a⊥ ⁣ ⁣ ⁣⊥e∣b,ca\\perp\\!\\!\\!\\perp e\\mid b,ca⊥⊥e∣b,c (iv) b⊥ ⁣ ⁣ ⁣⊥e∣a,cb\\perp\\!\\!\\!\\perp e\\mid a,cb⊥⊥e∣a,c\n8-6. 잠재변수 모델: 주변화와 사후분포 [계산] 근거: 8.4.3절, 식 (8.24)~(8.28)\n잠재변수 z∈{1,2}z\\in\\{1,2\\}z∈{1,2}의 사전분포가 p(z=1)=0.3p(z=1)=0.3p(z=1)=0.3, p(z=2)=0.7p(z=2)=0.7p(z=2)=0.7이고, x∣z=1∼N(0,1)x\\mid z=1\\sim\\mathcal N(0,1)x∣z=1∼N(0,1), x∣z=2∼N(3,1)x\\mid z=2\\sim\\mathcal N(3,1)x∣z=2∼N(3,1)이다. (N(1∣0,1)≈0.2420\\mathcal N(1\\mid0,1)\\approx0.2420N(1∣0,1)≈0.2420, N(1∣3,1)≈0.0540\\mathcal N(1\\mid3,1)\\approx0.0540N(1∣3,1)≈0.0540)\n(a) x=1x=1x=1에서 주변 밀도 p(x=1)p(x=1)p(x=1)을 구하라. 식 (8.25)의 적분이 여기서는 합이 된다. (b) p(z=1∣x=1)p(z=1\\mid x=1)p(z=1∣x=1)을 구하라(식 (8.28)). (c) 사전확률 0.3에 비해 사후확률이 커졌는가, 작아졌는가? 이유는?\n8-7. 베이즈 팩터로 모델 비교 [계산] 근거: 8.6.28.6.3절, 식 (8.43)(8.47)\n8-3의 동전 데이터(앞면 6, 뒷면 2, 순서까지 주어진 수열)를 두 모델로 설명한다.\nM1M_1M1​: μ=0.5\\mu=0.5μ=0.5로 고정(공정한 동전, 자유 매개변수 없음) M2M_2M2​: μ∼Beta(1,1)\\mu\\sim\\text{Beta}(1,1)μ∼Beta(1,1), 즉 [0,1][0,1][0,1] 위의 균등분포 힌트: ∫01μa−1(1−μ)b−1dμ=(a−1)! (b−1)!(a+b−1)!\\int_0^1\\mu^{a-1}(1-\\mu)^{b-1}d\\mu=\\frac{(a-1)!\\,(b-1)!}{(a+b-1)!}∫01​μa−1(1−μ)b−1dμ=(a+b−1)!(a−1)!(b−1)!​ (양의 정수 a,ba,ba,b)\n(a) p(D∣M1)p(\\mathcal D\\mid M_1)p(D∣M1​)을 구하라. (b) p(D∣M2)=∫01μ6(1−μ)2dμp(\\mathcal D\\mid M_2)=\\int_0^1\\mu^6(1-\\mu)^2d\\mup(D∣M2​)=∫01​μ6(1−μ)2dμ를 구하라. (c) 베이즈 팩터 p(D∣M2)p(D∣M1)\\frac{p(\\mathcal D\\mid M_2)}{p(\\mathcal D\\mid M_1)}p(D∣M1​)p(D∣M2​)​를 구하고, 모델 사전확률이 같을 때 어느 모델을 고르는지 말하라. (d) M2M_2M2​의 최대 가능도 max⁡μp(D∣μ)\\max_\\mu p(\\mathcal D\\mid\\mu)maxμ​p(D∣μ)를 p(D∣M1)p(\\mathcal D\\mid M_1)p(D∣M1​)과 비교하라. (c)와 결론의 세기가 다른 이유를 설명하라. (e) 8번 모두 앞면이었다면 베이즈 팩터는 얼마인가? 모델 사전확률이 p(M1)=0.8p(M_1)=0.8p(M1​)=0.8, p(M2)=0.2p(M_2)=0.2p(M2​)=0.2라면 사후 오즈 p(M2∣D)p(M1∣D)\\frac{p(M_2\\mid\\mathcal D)}{p(M_1\\mid\\mathcal D)}p(M1​∣D)p(M2​∣D)​는?\n8-8. AIC와 BIC [계산] 근거: 8.6.4절, 식 (8.48), (8.49)\n데이터 N=100N=100N=100개에 세 모델을 최대가능도로 맞췄다.\n모델 매개변수 수 MMM 최대 로그 가능도 log⁡p(x∣θML)\\log p(x\\mid\\theta_{\\text{ML}})logp(x∣θML​) AAA 2 −120-120−120 BBB 4 −116-116−116 CCC 10 −111-111−111 (a) 교재 (8.48)의 AIC log⁡p(x∣θ)−M\\log p(x\\mid\\theta)-Mlogp(x∣θ)−M을 계산하고 모델을 골라라. (b) 교재 (8.49)의 BIC log⁡p(x∣θ)−12Mlog⁡N\\log p(x\\mid\\theta)-\\frac12M\\log Nlogp(x∣θ)−21​MlogN을 계산하고 모델을 골라라(log⁡100≈4.605\\log100\\approx4.605log100≈4.605). (c) 두 기준이 다른 모델을 고른 이유를 설명하라. (d) 다른 책에서는 AIC를 2M−2log⁡p2M-2\\log p2M−2logp(작을수록 좋음)로 쓴다. 교재의 정의와 어떤 관계인가?\n8-9. 교차 검증과 중첩 교차 검증 [계산·서술] 근거: 8.2.4절, 8.6.1절, 식 (8.39), 8.6.1절 여백 주석(표준오차)\n릿지 정규화 세기 λ\\lambdaλ 후보 세 개를 5겹 교차 검증(K=5K=5K=5)으로 비교했다. 표는 검증 조각마다의 RMSE다.\nλ\\lambdaλ 조각 1 조각 2 조각 3 조각 4 조각 5 0.01 2.9 3.4 3.1 3.6 3.0 0.1 2.6 2.9 2.7 3.0 2.8 1 3.0 3.1 2.9 3.2 3.3 (a) 각 λ\\lambdaλ의 교차 검증 추정값 (8.39)와 표준오차 σ/K\\sigma/\\sqrt Kσ/K​를 구하라. σ\\sigmaσ는 다섯 값의 표준편차이고 분모는 KKK로 한다. (b) 어떤 λ\\lambdaλ를 고르는가? (c) 고른 λ\\lambdaλ의 교차 검증 값을 \u0026ldquo;최종 일반화 성능\u0026quot;으로 보고하면 안 되는 이유를 말하고, 중첩 교차 검증에서 안쪽 고리와 바깥쪽 고리가 각각 무엇을 하는지 설명하라.\n9장 선형 회귀 9-1. 직선 맞추기: 정규방정식 [계산] 근거: 9.2.1절, 식 (9.12c), (9.19), (9.22), (9.23)\n데이터 (x,y)(x,y)(x,y): (−1,0), (0,1), (1,1), (2,3)(-1,0),\\ (0,1),\\ (1,1),\\ (2,3)(−1,0), (0,1), (1,1), (2,3). 모델 y=θ0+θ1x+ϵy=\\theta_0+\\theta_1x+\\epsilony=θ0​+θ1​x+ϵ, ϵ∼N(0,σ2)\\epsilon\\sim\\mathcal N(0,\\sigma^2)ϵ∼N(0,σ2), 특징 ϕ(x)=[1,x]⊤\\phi(x)=[1,x]^\\topϕ(x)=[1,x]⊤.\n(a) Φ\\PhiΦ, Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ, Φ⊤y\\Phi^\\top yΦ⊤y를 구하라. (b) θML=(Φ⊤Φ)−1Φ⊤y\\theta_{\\text{ML}}=(\\Phi^\\top\\Phi)^{-1}\\Phi^\\top yθML​=(Φ⊤Φ)−1Φ⊤y를 구하라. (c) 잔차 y−ΦθMLy-\\Phi\\theta_{\\text{ML}}y−ΦθML​이 Φ\\PhiΦ의 두 열과 직교함을 확인하라. (d) σML2\\sigma^2_{\\text{ML}}σML2​ (9.22)와 RMSE (9.23)을 구하라.\n9-2. 노이즈 분산의 최대가능도 [유도] 근거: 식 (9.20)~(9.22)\n(a) θ\\thetaθ를 고정하고 log⁡p(Y∣X,θ,σ2)\\log p(\\mathcal Y\\mid\\mathcal X,\\theta,\\sigma^2)logp(Y∣X,θ,σ2)를 σ2\\sigma^2σ2로 미분해 σML2=1N∑n(yn−ϕ⊤(xn)θ)2\\sigma^2_{\\text{ML}}=\\frac1N\\sum_n(y_n-\\phi^\\top(x_n)\\theta)^2σML2​=N1​∑n​(yn​−ϕ⊤(xn​)θ)2을 유도하라. (b) 이 값이 최소가 아니라 최대임을 확인하라. (c) 최대 로그 가능도가 −N2log⁡(2πσML2)−N2-\\frac N2\\log(2\\pi\\sigma^2_{\\text{ML}})-\\frac N2−2N​log(2πσML2​)−2N​임을 보이고, 9-1의 숫자로 값을 구하라.\n9-3. 다항 특징과 과적합 [계산] 근거: 예제 9.39.5, 식 (9.16)(9.17), 9.2.2절, 그림 9.6\n데이터 (x,y)(x,y)(x,y): (−1,2), (0,0), (1,1)(-1,2),\\ (0,0),\\ (1,1)(−1,2), (0,0), (1,1).\n(a) 2차 다항 특징 ϕ(x)=[1,x,x2]⊤\\phi(x)=[1,x,x^2]^\\topϕ(x)=[1,x,x2]⊤의 특징 행렬 Φ\\PhiΦ를 식 (9.17)처럼 쓰고 θML\\theta_{\\text{ML}}θML​을 구하라. (b) 1차(직선) 특징 ϕ(x)=[1,x]⊤\\phi(x)=[1,x]^\\topϕ(x)=[1,x]⊤로 θML\\theta_{\\text{ML}}θML​과 훈련 RMSE를 구하라. (c) 2차 모델의 훈련 RMSE를 구하라. (d) 새 점 (2, 1.5)(2,\\,1.5)(2,1.5)에서 두 모델의 예측과 오차를 비교하고, 그림 9.6(차수 MMM에 따른 훈련·테스트 RMSE)과 연결해 설명하라.\n9-4. MAP 추정과 릿지 회귀 [유도·계산] 근거: 9.2.39.2.4절, 식 (9.28)(9.34)\n(a) 가능도 N(y∣Φθ,σ2I)\\mathcal N(y\\mid\\Phi\\theta,\\sigma^2I)N(y∣Φθ,σ2I), 사전분포 p(θ)=N(0,b2I)p(\\theta)=\\mathcal N(0,b^2I)p(θ)=N(0,b2I)일 때 음의 로그 사후분포 (9.28)을 쓰고, 기울기를 0으로 놓아 θMAP\\theta_{\\text{MAP}}θMAP​ (9.31)을 유도하라. (b) 9-1의 데이터에서 σ2/b2=2\\sigma^2/b^2=2σ2/b2=2일 때 θMAP\\theta_{\\text{MAP}}θMAP​을 구하라. (c) ∥θML∥2\\|\\theta_{\\text{ML}}\\|^2∥θML​∥2와 ∥θMAP∥2\\|\\theta_{\\text{MAP}}\\|^2∥θMAP​∥2를 비교하라. (d) 정규화 최소제곱 (9.32)의 λ\\lambdaλ는 σ2\\sigma^2σ2, b2b^2b2와 어떤 관계인가?\n9-5. 베이즈 선형 회귀: 사후분포와 예측 [계산] 근거: 9.3절, 식 (9.38), (9.43), (9.57)\n매개변수가 하나인 모델 y=θx+ϵy=\\theta x+\\epsilony=θx+ϵ, ϵ∼N(0,1)\\epsilon\\sim\\mathcal N(0,1)ϵ∼N(0,1), 사전분포 θ∼N(0,1)\\theta\\sim\\mathcal N(0,1)θ∼N(0,1). 데이터 (x,y)(x,y)(x,y): (1,2), (2,3)(1,2),\\ (2,3)(1,2), (2,3).\n(a) 사후분포 p(θ∣X,Y)=N(mN,SN)p(\\theta\\mid\\mathcal X,\\mathcal Y)=\\mathcal N(m_N,S_N)p(θ∣X,Y)=N(mN​,SN​)을 구하라. (b) θML\\theta_{\\text{ML}}θML​과 mNm_NmN​을 비교하라. (c) x∗=0x_*=0x∗​=0과 x∗=3x_*=3x∗​=3에서 사후 예측 분포의 평균과 분산을 구하라. (d) x∗=3x_*=3x∗​=3에서 사전 예측 분포 (9.38)과 비교하라. (e) 세 번째 점 (−1,−1)(-1,-1)(−1,−1)이 들어왔다. (a)의 사후분포를 새 사전분포로 써서 갱신한 결과와, 세 점을 한꺼번에 써서 구한 사후분포가 같음을 확인하라.\n9-6. 주변 가능도로 모델 비교 [계산] 근거: 9.3.5절, 식 (9.60)(9.64), 8.6.28.6.3절\n9-5와 같은 데이터 (1,2),(2,3)(1,2),(2,3)(1,2),(2,3), σ2=1\\sigma^2=1σ2=1. 상수: log⁡2π≈1.8379\\log2\\pi\\approx1.8379log2π≈1.8379, log⁡6≈1.7918\\log6\\approx1.7918log6≈1.7918, log⁡501≈6.2166\\log501\\approx6.2166log501≈6.2166.\n(a) 사전분포 θ∼N(0,1)\\theta\\sim\\mathcal N(0,1)θ∼N(0,1)일 때 p(y∣X)=N(y∣0, s0XX⊤+σ2I)p(y\\mid\\mathcal X)=\\mathcal N(y\\mid0,\\ s_0XX^\\top+\\sigma^2I)p(y∣X)=N(y∣0, s0​XX⊤+σ2I)를 쓰고 로그 값을 구하라. (b) 매개변수가 없는 모델 M0M_0M0​: y=ϵy=\\epsilony=ϵ(즉 θ=0\\theta=0θ=0 고정)의 log⁡p(y)\\log p(y)logp(y)를 구하라. (c) 사전분포 θ∼N(0,100)\\theta\\sim\\mathcal N(0,100)θ∼N(0,100)일 때 log⁡p(y∣X)\\log p(y\\mid\\mathcal X)logp(y∣X)를 구하라. (d) 세 값을 비교하고 \u0026ldquo;자동 오컴의 면도날\u0026rdquo;(8.6.2절), 제프리스-린들리 역설(8.6.3절 Remark)과 연결해 설명하라.\n9-7. 최소제곱은 직교사영이다 [계산] 근거: 9.4절, 식 (9.65)~(9.67), 3.8절\nX=[1,2,2]⊤X=[1,2,2]^\\topX=[1,2,2]⊤, y=[1,1,4]⊤y=[1,1,4]^\\topy=[1,1,4]⊤, 모델 y=Xθ+ϵy=X\\theta+\\epsilony=Xθ+ϵ (θ\\thetaθ는 스칼라).\n(a) θML\\theta_{\\text{ML}}θML​을 구하라. (b) 사영 XθMLX\\theta_{\\text{ML}}XθML​과 사영 행렬 P=X(X⊤X)−1X⊤P=X(X^\\top X)^{-1}X^\\topP=X(X⊤X)−1X⊤을 구하라. (c) 잔차가 XXX와 직교함을 확인하라. (d) P2=PP^2=PP2=P, P⊤=PP^\\top=PP⊤=P, tr(P)=1\\text{tr}(P)=1tr(P)=1임을 확인하고 각각의 뜻을 말하라.\n9-8. 데이터가 많아지면 베이즈 사후 평균은 MLE로 간다 [유도] 근거: 식 (9.43)\n매개변수가 하나인 모델 yn=θxn+ϵny_n=\\theta x_n+\\epsilon_nyn​=θxn​+ϵn​, ϵn∼N(0,σ2)\\epsilon_n\\sim\\mathcal N(0,\\sigma^2)ϵn​∼N(0,σ2), 사전분포 θ∼N(m0,s0)\\theta\\sim\\mathcal N(m_0,s_0)θ∼N(m0​,s0​).\n(a) 식 (9.43)을 스칼라로 써서 SNS_NSN​, mNm_NmN​을 구하라. (b) mNm_NmN​을 θML\\theta_{\\text{ML}}θML​과 m0m_0m0​의 가중평균으로 써라. (c) 데이터가 늘어 ∑nxn2→∞\\sum_nx_n^2\\to\\infty∑n​xn2​→∞이면 SN→0S_N\\to0SN​→0, mN→θMLm_N\\to\\theta_{\\text{ML}}mN​→θML​임을 보여라. (d) 반대로 s0→0s_0\\to0s0​→0이면 어떻게 되는가?\n9-9. Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ의 역행렬이 없을 때 [계산·서술] 근거: 식 (9.12) 옆 여백 주석(rk(X)=D\\text{rk}(X)=Drk(X)=D 조건), 식 (9.34)\n특징 ϕ(x)=[x, 2x]⊤\\phi(x)=[x,\\ 2x]^\\topϕ(x)=[x, 2x]⊤(둘째 특징이 첫째의 두 배), 데이터 x=(1,2,3)x=(1,2,3)x=(1,2,3), y=(1,2,2)y=(1,2,2)y=(1,2,2).\n(a) Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ를 구하고 역행렬이 없음을 보여라. (b) 정규방정식의 해가 무수히 많지만 모든 해의 예측값이 같음을 보여라. (c) λ=1\\lambda=1λ=1일 때 릿지 해 (9.34)를 구하라. (d) λ\u0026gt;0\\lambda\u0026gt;0λ\u0026gt;0이면 Φ⊤Φ+λI\\Phi^\\top\\Phi+\\lambda IΦ⊤Φ+λI가 항상 가역인 이유를 말하라.\n10장 PCA 10-1. 네 점 PCA 처음부터 끝까지 [계산] 근거: 10.2절, 식 (10.1), (10.13), (10.15), (10.16), (10.44)\n데이터 (3,3), (2,4), (−1,1), (0,0)(3,3),\\ (2,4),\\ (-1,1),\\ (0,0)(3,3), (2,4), (−1,1), (0,0), 주성분 하나(M=1M=1M=1)로 줄인다.\n(a) 평균을 구하고 데이터를 중심화하라. (b) 공분산 SSS를 구하라(분모 NNN). (c) SSS의 고유값과 단위 고유벡터를 구하라. (d) 좌표 zn=b1⊤(xn−μ)z_n=b_1^\\top(x_n-\\mu)zn​=b1⊤​(xn​−μ)를 구하고, znz_nzn​의 분산이 λ1\\lambda_1λ1​과 같음을 확인하라. (e) 복원 x~n=μ+b1zn\\tilde x_n=\\mu+b_1z_nx~n​=μ+b1​zn​을 구하고, 평균 제곱 재구성 오차가 λ2\\lambda_2λ2​와 같음을 확인하라.\n10-2. 3차원에서 주성분 개수 고르기 [계산] 근거: 식 (10.24)~(10.25), (10.34), (10.44)\n중심화된 데이터의 공분산이 S=[310130001]S=\\begin{bmatrix}3\u0026amp;1\u0026amp;0\\\\1\u0026amp;3\u0026amp;0\\\\0\u0026amp;0\u0026amp;1\\end{bmatrix}S=​310​130​001​​이다.\n(a) 고유값과 단위 고유벡터를 구하라. (b) M=1M=1M=1, M=2M=2M=2일 때 재구성 오차 JMJ_MJM​과 설명된 분산 비율 VM/VDV_M/V_DVM​/VD​를 구하라. (c) 중심화된 점 x=(2,0,1)x=(2,0,1)x=(2,0,1)을 M=1M=1M=1, M=2M=2M=2 주부분공간에 사영하고 각각의 제곱 오차를 구하라.\n10-3. 최대 분산 방향은 가장 큰 고유벡터다 [유도] 근거: 식 (10.9)~(10.23)\n중심화된 데이터 x1,…,xNx_1,\\dots,x_Nx1​,…,xN​, S=1N∑nxnxn⊤S=\\frac1N\\sum_nx_nx_n^\\topS=N1​∑n​xn​xn⊤​.\n(a) 단위벡터 b1b_1b1​ 방향 좌표 z1n=b1⊤xnz_{1n}=b_1^\\top x_nz1n​=b1⊤​xn​의 분산이 V1=b1⊤Sb1V_1=b_1^\\top Sb_1V1​=b1⊤​Sb1​임을 보여라. (b) 제약 ∥b1∥=1\\|b_1\\|=1∥b1​∥=1이 왜 필요한가? (c) 라그랑주 함수로 Sb1=λ1b1Sb_1=\\lambda_1b_1Sb1​=λ1​b1​을 유도하라. (d) 왜 가장 큰 고유값의 고유벡터를 고르는가? (e) 첫 주성분을 빼낸 데이터 X^=X−b1b1⊤X\\hat X=X-b_1b_1^\\top XX^=X−b1​b1⊤​X의 공분산 S^\\hat SS^에 대해 S^b1=0\\hat Sb_1=0S^b1​=0, S^bi=λibi\\hat Sb_i=\\lambda_ib_iS^bi​=λi​bi​ (i≥2i\\ge2i≥2)임을 보이고, 둘째 주성분이 b2b_2b2​임을 설명하라.\n10-4. SVD로 PCA 하기 [계산] 근거: 10.4절, 식 (10.45)~(10.49)\n10-1의 중심화된 데이터를 열로 쌓은 D×ND\\times ND×N 행렬 X=[21−2−112−1−2]X=\\begin{bmatrix}2\u0026amp;1\u0026amp;-2\u0026amp;-1\\\\1\u0026amp;2\u0026amp;-1\u0026amp;-2\\end{bmatrix}X=[21​12​−2−1​−1−2​].\n(a) XX⊤XX^\\topXX⊤을 구하라. (b) XXX의 특이값을 구하라. (c) λd=σd2/N\\lambda_d=\\sigma_d^2/Nλd​=σd2​/N (10.49)를 확인하라. (d) 9장과 10장의 데이터 행렬 모양이 다른 점을 말하라.\n10-5. N\u0026lt;DN\u0026lt;DN\u0026lt;D일 때: 작은 행렬의 고유벡터로 PCA 하기 [계산] 근거: 10.5절, 식 (10.53)~(10.57)\nD=4D=4D=4, N=3N=3N=3인 데이터 x1=(1,0,1,0)x_1=(1,0,1,0)x1​=(1,0,1,0), x2=(−1,1,0,1)x_2=(-1,1,0,1)x2​=(−1,1,0,1), x3=(0,−1,−1,−1)x_3=(0,-1,-1,-1)x3​=(0,−1,−1,−1).\n(a) 평균이 000임을 확인하라. (b) X=[x1,x2,x3]∈R4×3X=[x_1,x_2,x_3]\\in\\mathbb R^{4\\times3}X=[x1​,x2​,x3​]∈R4×3에 대해 X⊤XX^\\top XX⊤X (3×33\\times33×3)를 구하라. (c) 1NX⊤X\\frac1NX^\\top XN1​X⊤X의 고유값과 고유벡터 ccc를 구하라. (힌트: [1,1,1]⊤[1,1,1]^\\top[1,1,1]⊤은 고유값 000의 고유벡터다.) (d) XcXcXc를 정규화해 S=1NXX⊤S=\\frac1NXX^\\topS=N1​XX⊤의 첫 주성분 b1b_1b1​을 구하고 Sb1=λ1b1Sb_1=\\lambda_1b_1Sb1​=λ1​b1​을 확인하라. (e) 4×44\\times44×4 대신 3×33\\times33×3을 푸는 것이 어떤 이득인지 말하라.\n10-6. 표준화 [계산·서술] 근거: 10.6절, 식 (10.58)~(10.61)\n두 특징의 평균이 (170, 0)(170,\\,0)(170,0), 표준편차가 (10, 1)(10,\\,1)(10,1), 공분산이 S=[100661]S=\\begin{bmatrix}100\u0026amp;6\\\\6\u0026amp;1\\end{bmatrix}S=[1006​61​]이다.\n(a) 표준화하지 않은 SSS의 고유값을 구하고, 첫 주성분이 거의 (1,0)(1,0)(1,0)임을 보여라. (b) 표준화한 뒤의 공분산을 구하고 그 고유값과 고유벡터를 구하라. (c) 새 점 x∗=(185, 0.5)x_*=(185,\\,0.5)x∗​=(185,0.5)를 (10.58)~(10.61)의 순서대로 표준화 → M=1M=1M=1 사영 → 원래 단위로 되돌리기를 하라.\n10-7. 거듭제곱법 [계산] 근거: 10.4절, 식 (10.52)\nS=[2112]S=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}S=[21​12​], x0=(1,0)x_0=(1,0)x0​=(1,0).\n(a) x1,x2,x3x_1,x_2,x_3x1​,x2​,x3​을 구하라(매번 정규화). (b) 레일리 몫 xk⊤Sxkx_k^\\top Sx_kxk⊤​Sxk​로 가장 큰 고유값을 추정하라. (c) 수렴 속도가 λ2/λ1\\lambda_2/\\lambda_1λ2​/λ1​에 달린 이유를 설명하라. (교재 밖 보충)\n10-8. 확률적 PCA [계산] 근거: 10.7절, 식 (10.63)~(10.75)\nD=2D=2D=2, M=1M=1M=1, B=[2,1]⊤B=[2,1]^\\topB=[2,1]⊤, μ=0\\mu=0μ=0, σ2=1\\sigma^2=1σ2=1.\n(a) p(x)p(x)p(x)의 공분산 BB⊤+σ2IBB^\\top+\\sigma^2IBB⊤+σ2I를 구하라(10.70b). (b) Cov[x,z]\\text{Cov}[x,z]Cov[x,z]와 결합분포 p(x,z)p(x,z)p(x,z)를 써라(10.71)(10.72). (c) x=(3,1)x=(3,1)x=(3,1)일 때 사후분포 p(z∣x)=N(m,C)p(z\\mid x)=\\mathcal N(m,C)p(z∣x)=N(m,C)를 구하라(10.73)(10.75). (d) σ2→0\\sigma^2\\to0σ2→0일 때 사후 평균의 극한을 구하고, 이것이 PCA 좌표와 같아지는 조건을 말하라.\n10-9. 재구성 오차는 버린 고유값의 합이다 [유도] 근거: 10.3절, 식 (10.29)~(10.44), (10.25)\n(a) 최적 좌표가 zin=bi⊤xnz_{in}=b_i^\\top x_nzin​=bi⊤​xn​임을 유도하라(10.30)~(10.32). (b) 정규직교 기저 b1,…,bDb_1,\\dots,b_Db1​,…,bD​로 xn−x~n=∑j=M+1Dbjbj⊤xnx_n-\\tilde x_n=\\sum_{j=M+1}^Db_jb_j^\\top x_nxn​−x~n​=∑j=M+1D​bj​bj⊤​xn​임을 보여라(10.38). (c) JM=∑j=M+1Dbj⊤SbjJ_M=\\sum_{j=M+1}^Db_j^\\top Sb_jJM​=∑j=M+1D​bj⊤​Sbj​를 보여라(10.43). (d) JM=∑j=M+1DλjJ_M=\\sum_{j=M+1}^D\\lambda_jJM​=∑j=M+1D​λj​ (10.44)와 \u0026ldquo;전체 분산 = 남긴 분산 + 재구성 오차\u0026rdquo; (10.25)를 보여라.\n11장 GMM과 EM 11-1. 교재 예제의 책임도 [계산] 근거: 예제 11.1, 11.2, 식 (11.6)~(11.8), (11.17), (11.19)\n데이터 {−3,−2.5,−1,0,2,4,5}\\{-3,-2.5,-1,0,2,4,5\\}{−3,−2.5,−1,0,2,4,5}, 초기 성분 N(x∣−4,1)\\mathcal N(x\\mid-4,1)N(x∣−4,1), N(x∣0,0.2)\\mathcal N(x\\mid0,0.2)N(x∣0,0.2), N(x∣8,3)\\mathcal N(x\\mid8,3)N(x∣8,3), 비율 πk=13\\pi_k=\\frac13πk​=31​.\nx=−1x=-1x=−1과 x=2x=2x=2의 책임도 rn1,rn2,rn3r_{n1},r_{n2},r_{n3}rn1​,rn2​,rn3​을 계산하라.\n상수: 12π≈0.3989\\frac1{\\sqrt{2\\pi}}\\approx0.39892π​1​≈0.3989, 10.4π≈0.8921\\frac1{\\sqrt{0.4\\pi}}\\approx0.89210.4π​1​≈0.8921, 16π≈0.2303\\frac1{\\sqrt{6\\pi}}\\approx0.23036π​1​≈0.2303, e−2.5≈0.08208e^{-2.5}\\approx0.08208e−2.5≈0.08208, e−4.5≈0.01111e^{-4.5}\\approx0.01111e−4.5≈0.01111, e−6≈0.002479e^{-6}\\approx0.002479e−6≈0.002479, e−10≈4.54×10−5e^{-10}\\approx4.54\\times10^{-5}e−10≈4.54×10−5, e−13.5≈1.37×10−6e^{-13.5}\\approx1.37\\times10^{-6}e−13.5≈1.37×10−6, e−18≈1.52×10−8e^{-18}\\approx1.52\\times10^{-8}e−18≈1.52×10−8\n11-2. 교재 예제의 M 단계 한 번 [계산] 근거: 예제 11.311.5, 식 (11.20), (11.30), (11.42), (11.27)(11.29), (11.39)(11.41), (11.50)(11.52)\n11-1의 데이터에서 교재 (11.19)의 책임도 행렬을 쓴다(행이 데이터, 열이 성분).\nxnx_nxn​ rn1r_{n1}rn1​ rn2r_{n2}rn2​ rn3r_{n3}rn3​ −3-3−3 1.0 0.0 0.0 −2.5-2.5−2.5 1.0 0.0 0.0 −1-1−1 0.057 0.943 0.0 000 0.001 0.999 0.0 222 0.0 0.066 0.934 444 0.0 0.0 1.0 555 0.0 0.0 1.0 (a) NkN_kNk​를 구하라. (b) 새 평균 μk\\mu_kμk​를 구하라. (c) 새 평균을 써서 새 분산 σk2\\sigma_k^2σk2​를 구하라. (d) 새 비율 πk\\pi_kπk​를 구하라. (e) 교재의 값(평균 −2.7,−0.4,3.7-2.7,-0.4,3.7−2.7,−0.4,3.7, 분산 0.14,0.44,1.530.14,0.44,1.530.14,0.44,1.53, 비율 0.29,0.29,0.420.29,0.29,0.420.29,0.29,0.42)과 비교하라.\n11-3. 갱신식 유도: 평균과 분산 [유도] 근거: 정리 11.1, 식 (11.10)~(11.24), 정리 11.2\n(a) 로그 가능도 (11.10)을 μk\\mu_kμk​로 미분해 μknew=1Nk∑nrnkxn\\mu_k^{\\text{new}}=\\frac1{N_k}\\sum_nr_{nk}x_nμknew​=Nk​1​∑n​rnk​xn​ (11.20)을 유도하라. (b) 이 식이 닫힌 해가 아닌 이유를 말하라. (c) 1차원(Σk=σk2\\Sigma_k=\\sigma_k^2Σk​=σk2​)에서 σk2\\sigma_k^2σk2​로 미분해 σk2,new=1Nk∑nrnk(xn−μk)2\\sigma_k^{2,\\text{new}}=\\frac1{N_k}\\sum_nr_{nk}(x_n-\\mu_k)^2σk2,new​=Nk​1​∑n​rnk​(xn​−μk​)2을 유도하라.\n11-4. 혼합 비율 갱신: 라그랑주 승수 [유도] 근거: 정리 11.3, 식 (11.42)~(11.49)\n(a) 제약 ∑kπk=1\\sum_k\\pi_k=1∑k​πk​=1을 붙인 라그랑주 함수를 써라. (b) πk\\pi_kπk​로 미분해 πk=−Nk/λ\\pi_k=-N_k/\\lambdaπk​=−Nk​/λ를 얻어라. (c) λ=−N\\lambda=-Nλ=−N임을 보이고 πk=Nk/N\\pi_k=N_k/Nπk​=Nk​/N을 얻어라.\n11-5. 잠재변수 관점과 결정 경계 [계산] 근거: 11.4절, 식 (11.58)~(11.72)\nK=2K=2K=2, π=(0.6, 0.4)\\pi=(0.6,\\,0.4)π=(0.6,0.4), μ=(0, 2)\\mu=(0,\\,2)μ=(0,2), σ12=σ22=1\\sigma_1^2=\\sigma_2^2=1σ12​=σ22​=1.\n(a) 원-핫 잠재변수 zzz의 p(z)p(z)p(z)와 p(x∣z)p(x\\mid z)p(x∣z)에서 p(x)p(x)p(x)를 유도하라(11.65)~(11.66). (b) x=1x=1x=1에서 p(z1=1∣x)p(z_1=1\\mid x)p(z1​=1∣x)를 구하라. 결과가 π1\\pi_1π1​과 같은 이유는? (c) 두 책임도가 같아지는 xxx를 구하라(log⁡1.5≈0.4055\\log1.5\\approx0.4055log1.5≈0.4055).\n11-6. EM 한 바퀴: 잘 갈라진 데이터 [계산] 근거: 11.3절, 식 (11.53)~(11.56)\n데이터 0,1,5,60,1,5,60,1,5,6, K=2K=2K=2, 초기값 π=(0.5,0.5)\\pi=(0.5,0.5)π=(0.5,0.5), μ=(1,5)\\mu=(1,5)μ=(1,5), σ12=σ22=1\\sigma_1^2=\\sigma_2^2=1σ12​=σ22​=1. (e−8≈3.35×10−4e^{-8}\\approx3.35\\times10^{-4}e−8≈3.35×10−4, e−12≈6.1×10−6e^{-12}\\approx6.1\\times10^{-6}e−12≈6.1×10−6)\n(a) E 단계: 네 점의 책임도를 구하라. (b) M 단계: NkN_kNk​, μk\\mu_kμk​, σk2\\sigma_k^2σk2​, πk\\pi_kπk​를 구하라. (c) 로그 가능도가 −7.448-7.448−7.448에서 −5.676-5.676−5.676으로 늘었다. 왜 늘어야 하는가? (d) 책임도가 거의 0 또는 1일 때 이 계산은 K-평균의 어떤 단계와 같아지는가? (교재 밖 보충 포함)\n11-7. 최대가능도의 특이점 [계산·서술] 근거: 11.5절(더 읽을거리)\n데이터 0,1,5,60,1,5,60,1,5,6, K=2K=2K=2, π=(0.5,0.5)\\pi=(0.5,0.5)π=(0.5,0.5), μ1=0\\mu_1=0μ1​=0, σ12=ε\\sigma_1^2=\\varepsilonσ12​=ε, μ2=3\\mu_2=3μ2​=3, σ22=10\\sigma_2^2=10σ22​=10.\n(a) x=0x=0x=0의 로그 밀도 항이 ε→0\\varepsilon\\to0ε→0에서 +∞+\\infty+∞로 감을 보여라. (b) 나머지 점의 항은 아래로 유계임을 보이고, 전체 로그 가능도가 +∞+\\infty+∞로 감을 결론지어라. (c) 이것이 왜 좋은 모델이 아닌지, 실제로 어떻게 막는지 말하라(교재 밖 보충).\n11-8. EM과 GMM 개념 [서술] 근거: 11.2~11.5절\n(a) 책임도 rnkr_{nk}rnk​가 사후확률 p(znk=1∣xn)p(z_{nk}=1\\mid x_n)p(znk​=1∣xn​)임을 베이즈 정리로 보여라(11.72). (b) E 단계와 M 단계는 각각 무엇을 고정하고 무엇을 바꾸는가? (c) EM이 전역 최댓값을 보장하지 않는 이유와 실전 대처를 말하라. (d) GMM 최대가능도와 하나의 가우시안 최대가능도의 차이를 \u0026ldquo;로그 안의 합\u0026quot;으로 설명하라.\n12장 SVM 12-1. 초평면까지의 거리와 크기 조정 [계산] 근거: 12.112.2절, 식 (12.2)(12.18)\nw=(3,4)w=(3,4)w=(3,4), b=−5b=-5b=−5.\n(a) 점 (3,4)(3,4)(3,4), (0,0)(0,0)(0,0), (1, 0.5)(1,\\,0.5)(1,0.5)의 f(x)=⟨w,x⟩+bf(x)=\\langle w,x\\rangle+bf(x)=⟨w,x⟩+b와 부호 있는 거리 f(x)/∥w∥f(x)/\\|w\\|f(x)/∥w∥를 구하라. (b) (w,b)(w,b)(w,b)를 (6,8,−10)(6,8,-10)(6,8,−10)으로 두 배 해도 같은 초평면임을 보이고, yf(x)y f(x)yf(x) 값은 두 배가 됨을 보여라. (c) 그래서 (12.15)처럼 \u0026ldquo;가장 가까운 점에서 yn(⟨w,xn⟩+b)=1y_n(\\langle w,x_n\\rangle+b)=1yn​(⟨w,xn​⟩+b)=1\u0026ldquo;로 크기를 고정하면 마진이 1/∥w∥1/\\|w\\|1/∥w∥가 되는 이유를 (12.11)~(12.14)로 설명하라.\n12-2. 하드 마진 SVM: 눈에 보이는 답이 최적이 아닐 때 [계산] 근거: 12.2.1~12.2.3절, 식 (12.18), 12.3.2절(볼록 껍질), 식 (12.38), (12.42)\n양성 (2,2), (2,3)(2,2),\\ (2,3)(2,2), (2,3), 음성 (0,0), (0,1)(0,0),\\ (0,1)(0,0), (0,1).\n(a) 수직선 x1=1x_1=1x1​=1 (w=(1,0)w=(1,0)w=(1,0), b=−1b=-1b=−1)이 모든 제약 (12.15)를 만족하고 마진이 1임을 확인하라. (b) 두 클래스 볼록 껍질 사이의 가장 가까운 두 점을 찾고, 그로부터 최대 마진 초평면 (w,b)(w,b)(w,b)를 구하라. (c) (b)의 마진이 (a)보다 큼을 확인하라. (d) 쌍대 변수 α\\alphaα를 구해 (12.38)로 www를 다시 만들고, (12.42)로 bbb를 구하고, 쌍대 목적값과 원 목적값이 같음을 확인하라.\n12-3. 소프트 마진 쌍대 유도 [유도] 근거: 12.3.1절, 식 (12.34)~(12.41)\n(a) 원 문제 (12.26a)의 라그랑주 함수를 써라. (b) www, bbb, ξn\\xi_nξn​으로 편미분하라. (c) 대입해서 (12.40)을 얻고 쌍대 문제 (12.41)을 써라. (d) 0≤αn≤C0\\le\\alpha_n\\le C0≤αn​≤C가 나오는 이유를 말하라. (e) 하드 마진의 쌍대와 무엇이 다른가?\n12-4. 힌지 손실과 여유 변수 [계산] 근거: 12.2.412.2.5절, 식 (12.26), (12.28)(12.33)\nw=(1,−1)w=(1,-1)w=(1,−1), b=0b=0b=0, C=1C=1C=1.\n점 xnx_nxn​ yny_nyn​ 1 (3,1)(3,1)(3,1) +1+1+1 2 (1,0)(1,0)(1,0) +1+1+1 3 (0, 0.5)(0,\\,0.5)(0,0.5) −1-1−1 4 (2,1)(2,1)(2,1) −1-1−1 (a) 각 점의 tn=ynf(xn)t_n=y_nf(x_n)tn​=yn​f(xn​), 힌지 손실, 여유 변수 ξn\\xi_nξn​을 구하라. (b) 각 점이 마진 밖, 마진 경계 위, 마진 안(올바른 쪽), 잘못 분류 중 어디에 있는지 말하라. (c) 목적함수 (12.31)의 값을 구하라. (d) 0-1 손실과 비교하고, 힌지 손실이 0-1 손실의 상한임을 말하라.\n12-5. 커널로 XOR 풀기 [계산] 근거: 12.4절, 식 (12.52)~(12.53), 12.3.2절\n양성 (1,1), (−1,−1)(1,1),\\ (-1,-1)(1,1), (−1,−1), 음성 (1,−1), (−1,1)(1,-1),\\ (-1,1)(1,−1), (−1,1).\n(a) 원래 2차원에서 직선으로 분리할 수 없음을 볼록 껍질로 보여라. (b) 다항 커널 k(x,x′)=(x⊤x′)2k(x,x\u0026#x27;)=(x^\\top x\u0026#x27;)^2k(x,x′)=(x⊤x′)2의 특징 사상이 ϕ(x)=(x12, 2x1x2, x22)\\phi(x)=(x_1^2,\\ \\sqrt2x_1x_2,\\ x_2^2)ϕ(x)=(x12​, 2​x1​x2​, x22​)임을 보이고, x=(1,2)x=(1,2)x=(1,2), x′=(3,−1)x\u0026#x27;=(3,-1)x′=(3,−1)로 숫자를 확인하라. (c) 네 점의 그람 행렬 KKK를 구하고 양의 준정부호인지 확인하라(12.53). (d) 특징 공간에서 하드 마진 SVM의 www, bbb, 마진을 구하고 결정 함수를 원래 좌표로 써라. (e) 쌍대 변수 α\\alphaα를 구하고, 커널만으로 결정 함수를 다시 써서 (d)와 같음을 확인하라. (f) k(x,x′)=−∥x−x′∥2k(x,x\u0026#x27;)=-\\|x-x\u0026#x27;\\|^2k(x,x′)=−∥x−x′∥2이 커널이 될 수 없음을 점 000과 111(1차원)로 보여라.\n12-6. CCC와 정규화 계수 λ\\lambdaλ의 관계 [유도·서술] 근거: 12.2.5절, 식 (12.31), 8.2.3절, 식 (8.6), (8.12)\n(a) (12.31)을 CNCNCN으로 나누어 \u0026ldquo;평균 손실 + λ×\\lambda\\timesλ×정규화항\u0026rdquo; 꼴로 바꾸고 λ\\lambdaλ와 CCC의 관계를 구하라. (b) CCC가 클 때와 작을 때 마진과 훈련 오류가 어떻게 되는지 말하라. (c) C→∞C\\to\\inftyC→∞이면 어떤 문제가 되는가?\n12-7. 커널 SVM으로 예측하기 [계산] 근거: 식 (12.38), 12.4절\nRBF 커널 k(x,x′)=exp⁡ ⁣(−12∥x−x′∥2)k(x,x\u0026#x27;)=\\exp\\!\\big(-\\frac12\\|x-x\u0026#x27;\\|^2\\big)k(x,x′)=exp(−21​∥x−x′∥2). 서포트 벡터 x1=(0,0)x_1=(0,0)x1​=(0,0), y1=+1y_1=+1y1​=+1, α1=1\\alpha_1=1α1​=1과 x2=(1,1)x_2=(1,1)x2​=(1,1), y2=−1y_2=-1y2​=−1, α2=1\\alpha_2=1α2​=1, b=0b=0b=0이 주어졌다고 하자. 결정 함수는 f(x)=∑nαnynk(xn,x)+bf(x)=\\sum_n\\alpha_ny_nk(x_n,x)+bf(x)=∑n​αn​yn​k(xn​,x)+b다.\n(a) x∗=(0,1)x_*=(0,1)x∗​=(0,1), (0, 0.5)(0,\\,0.5)(0,0.5), (2,2)(2,2)(2,2)에서 fff와 예측 레이블을 구하라. (e−0.5≈0.6065e^{-0.5}\\approx0.6065e−0.5≈0.6065, e−0.125≈0.8825e^{-0.125}\\approx0.8825e−0.125≈0.8825, e−0.625≈0.5353e^{-0.625}\\approx0.5353e−0.625≈0.5353, e−1≈0.3679e^{-1}\\approx0.3679e−1≈0.3679, e−4≈0.0183e^{-4}\\approx0.0183e−4≈0.0183) (b) 결정 경계를 구하라. (c) 왜 www를 직접 계산하지 않는가?\n12-8. SVM 개념 [서술] 근거: 12.2~12.4절\n(a) 서포트 벡터란 무엇인가? αn=0\\alpha_n=0αn​=0인 점을 지워도 해가 그대로인 이유는? (b) 0\u0026lt;αn\u0026lt;C0\u0026lt;\\alpha_n\u0026lt;C0\u0026lt;αn​\u0026lt;C인 점과 αn=C\\alpha_n=Cαn​=C인 점은 기하학적으로 어떻게 다른가? (c) 원 문제 대신 쌍대 문제를 푸는 이유 두 가지를 말하라. (d) 소프트 마진 원 문제 (12.26a)가 볼록 최적화 문제인 이유는?\nOX 퀴즈 8~12장 공통. 맞으면 O, 틀리면 X. 틀린 것은 고쳐 말해 본다.\nMML의 PCA에서 데이터 공분산은 1N−1\\frac1{N-1}N−11​로 나눈다. 교재 (8.48)의 AIC는 값이 작을수록 좋은 모델이다. MAP 추정은 매개변수의 사후분포 전체를 준다. 사전분포 N(0,b2I)\\mathcal N(0,b^2I)N(0,b2I)의 MAP 추정은 λ=σ2/b2\\lambda=\\sigma^2/b^2λ=σ2/b2인 정규화 최소제곱 (9.32)과 같다. 베이즈 선형 회귀의 사후 예측 분산은 노이즈 분산 σ2\\sigma^2σ2보다 작아질 수 있다. a→d←ca\\to d\\leftarrow ca→d←c에서 ddd를 관측하면 aaa와 ccc가 독립이 된다. PCA의 첫 주성분은 공분산의 가장 작은 고유값의 고유벡터다. PCA의 평균 제곱 재구성 오차는 버린 고유값의 합이다. GMM의 책임도 rnkr_{nk}rnk​를 kkk에 대해 더하면 1이다. EM 알고리즘은 항상 로그 가능도의 전역 최댓값에 수렴한다. 가장 가까운 점에서 yn(⟨w,xn⟩+b)=1y_n(\\langle w,x_n\\rangle+b)=1yn​(⟨w,xn​⟩+b)=1로 크기를 고정하면 하드 마진 SVM의 마진은 1/∥w∥1/\\|w\\|1/∥w∥다. 소프트 마진 SVM에서 αn=0\\alpha_n=0αn​=0인 점은 www에 기여하지 않는다. 유효한 커널의 그람 행렬은 양의 준정부호다. 9장의 데이터 행렬은 D×ND\\times ND×N, 10장은 N×DN\\times DN×D다. 주변 가능도(증거)는 매개변수가 많은 모델을 항상 선호한다. ","permalink":"https://qofo.github.io/posts/mml-ch08-12-exercises/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재:\u003c/strong\u003e Deisenroth·Faisal·Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e (\u003ca href=\"https://mml-book.github.io/\"\u003emml-book.github.io\u003c/a\u003e에 공개된 PDF, 2024-01-15 판). 쪽수와 식 번호는 그 PDF 기준이다.\u003cbr\u003e\n\u003cstrong\u003e왜 만들었나:\u003c/strong\u003e 교재 Part II(8~12장)에는 장 끝 연습문제가 없다. 그래서 교재의 절·식·예제를 따라가며 손으로 풀 수 있는 문제를 만들었다. 문제마다 근거가 되는 교재 절과 식 번호를 적었다. 교재에 없는 내용을 묻는 곳은 \u003cstrong\u003e교재 밖 보충\u003c/strong\u003e이라고 표시했다.\u003cbr\u003e\n\u003cstrong\u003e답과 풀이:\u003c/strong\u003e \u003ca href=\"/posts/mml-ch08-12-solutions/\"\u003e다음 편\u003c/a\u003e에 있다. 모든 숫자 답은 numpy·scipy로 검산했다. 개념 해설은 장별 글(\u003ca href=\"/posts/mml-ch08-models-and-data/\"\u003e8장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch09-linear-regression/\"\u003e9장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch10-pca/\"\u003e10장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch11-gmm-em/\"\u003e11장\u003c/a\u003e, \u003ca href=\"/posts/mml-ch12-svm/\"\u003e12장\u003c/a\u003e)에 있다.\u003cbr\u003e\n\u003cstrong\u003e표기:\u003c/strong\u003e 교재와 같이 공분산의 분모는 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003eN\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eN\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.10903em;\"\u003eN\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e, 스칼라 함수의 기울기는 행벡터, \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003elog\u003c/mi\u003e\u003cmo\u003e⁡\u003c/mo\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\log\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mop\"\u003elo\u003cspan style=\"margin-right:0.01389em;\"\u003eg\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e는 자연로그다. 9장의 데이터 행렬은 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003eN\u003c/mi\u003e\u003cmo\u003e×\u003c/mo\u003e\u003cmi\u003eD\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eN\\times D\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.7667em;vertical-align:-0.0833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.10903em;\"\u003eN\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2222em;\"\u003e\u003c/span\u003e\u003cspan class=\"mbin\"\u003e×\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2222em;\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.02778em;\"\u003eD\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e, 10장은 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003eD\u003c/mi\u003e\u003cmo\u003e×\u003c/mo\u003e\u003cmi\u003eN\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eD\\times N\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.7667em;vertical-align:-0.0833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.02778em;\"\u003eD\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2222em;\"\u003e\u003c/span\u003e\u003cspan class=\"mbin\"\u003e×\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2222em;\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.10903em;\"\u003eN\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e이다.\u003c/p\u003e","title":"MML 8~12장 연습문제: 교재를 따라 만든 43문제와 OX 퀴즈"},{"content":" 교재: Deisenroth·Faisal·Ong, Mathematics for Machine Learning (mml-book.github.io에 공개된 PDF, 2024-01-15 판). 쪽수와 식 번호는 그 PDF 기준이다.\n문제지: 앞 편에 문제만 따로 모아 두었다. 먼저 문제지로 풀어 본 뒤 이 글로 맞춰 본다.\n검산: 모든 숫자 답은 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.530.14,0.44,1.530.14,0.44,1.53, 비율 0.29,0.29,0.420.29,0.29,0.420.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표기: 교재와 같이 공분산의 분모는 NNN, 스칼라 함수의 기울기는 행벡터, log⁡\\loglog는 자연로그다. 교재에 없는 내용은 교재 밖 보충이라고 표시했다.\n장 문제 한 줄 요약 8 모델과 데이터 8-1 ~ 8-9 손실·가능도·사전분포·그래프·모델 선택 9 선형 회귀 9-1 ~ 9-9 정규방정식, 릿지=MAP, 베이즈 회귀, 증거, 사영 10 PCA 10-1 ~ 10-9 고유분해, 재구성 오차, SVD, N\u0026lt;DN\u0026lt;DN\u0026lt;D, 표준화, PPCA 11 GMM과 EM 11-1 ~ 11-8 책임도, 갱신식, EM 한 바퀴, 특이점 12 SVM 12-1 ~ 12-8 마진, 쌍대, 힌지, 커널 OX 퀴즈 1 ~ 15 8장 모델과 데이터 8-1. 경험적 위험과 과적합 (a) f2(x)=ax2+bx+cf_2(x)=ax^2+bx+cf2​(x)=ax2+bx+c에 세 점을 넣는다.\nx=0x=0x=0: c=0c=0c=0 x=1x=1x=1: a+b=2a+b=2a+b=2 x=2x=2x=2: 4a+2b=24a+2b=24a+2b=2 셋째 식에서 둘째 식의 두 배를 빼면 2a=2−4=−22a=2-4=-22a=2−4=−2, 즉 a=−1a=-1a=−1, b=3b=3b=3이다.\n답: f2(x)=−x2+3xf_2(x)=-x^2+3xf2​(x)=−x2+3x\n(b) 경험적 위험 (8.6)은 손실의 평균 Remp=1N∑n(yn−y^n)2R_{\\text{emp}}=\\frac1N\\sum_n(y_n-\\hat y_n)^2Remp​=N1​∑n​(yn​−y^​n​)2이다.\nxxx yyy f1(x)f_1(x)f1​(x) (y−f1)2(y-f_1)^2(y−f1​)2 f2(x)f_2(x)f2​(x) (y−f2)2(y-f_2)^2(y−f2​)2 0 0 0 0 0 0 1 2 1 1 2 0 2 2 2 0 2 0 답: Remp(f1)=13≈0.333R_{\\text{emp}}(f_1)=\\frac13\\approx0.333Remp​(f1​)=31​≈0.333, Remp(f2)=0R_{\\text{emp}}(f_2)=0Remp​(f2​)=0\n(c) 테스트 점에서 계산한다. f2(3)=−9+9=0f_2(3)=-9+9=0f2​(3)=−9+9=0, f2(4)=−16+12=−4f_2(4)=-16+12=-4f2​(4)=−16+12=−4.\nxxx yyy f1(x)f_1(x)f1​(x) (y−f1)2(y-f_1)^2(y−f1​)2 f2(x)f_2(x)f2​(x) (y−f2)2(y-f_2)^2(y−f2​)2 3 2.5 3 0.25 0 6.25 4 4.5 4 0.25 −4-4−4 72.25 답: 테스트 위험 f1f_1f1​: 0.250.250.25, f2f_2f2​: 6.25+72.252=39.25\\frac{6.25+72.25}2=39.2526.25+72.25​=39.25\n(d) 교재 8.2.3절은 훈련 데이터로 잰 위험 Remp(f,Xtrain,ytrain)R_{\\text{emp}}(f,X_{\\text{train}},y_{\\text{train}})Remp​(f,Xtrain​,ytrain​)이 기대 위험 Rtrue(f)R_{\\text{true}}(f)Rtrue​(f)를 크게 과소평가할 때를 과적합이라 하고, 기대 위험은 테스트 데이터의 경험적 위험으로 추정한다. f2f_2f2​는 훈련 위험 0, 테스트 위험 39.25로 차이가 매우 크므로 과적합이다. 세 점에 매개변수 세 개짜리 함수를 맞추면 데이터를 \u0026ldquo;외워 버릴\u0026rdquo; 수 있다(교재: 충분히 풍부한 함수 집합이면 경험적 위험을 0으로 만들 수 있다). f1f_1f1​은 훈련 0.333, 테스트 0.25로 차이가 없다.\n8-2. 가우시안 가능도, 최소제곱, 정규화 최소제곱 (a) 가우시안 밀도는 N(y∣m,σ2)=12πσ2exp⁡ ⁣(−(y−m)22σ2)\\mathcal N(y\\mid m,\\sigma^2)=\\frac1{\\sqrt{2\\pi\\sigma^2}}\\exp\\!\\big(-\\frac{(y-m)^2}{2\\sigma^2}\\big)N(y∣m,σ2)=2πσ2​1​exp(−2σ2(y−m)2​)이다. 로그를 씌우고 부호를 바꾸면\n−log⁡N(yn∣xn⊤θ,σ2)=(yn−xn⊤θ)22σ2+12log⁡(2πσ2). \\begin{aligned} \u0026amp;-\\log\\mathcal N(y_n\\mid x_n^\\top\\theta,\\sigma^2)\\\\ \u0026amp;=\\frac{(y_n-x_n^\\top\\theta)^2}{2\\sigma^2}+\\frac12\\log(2\\pi\\sigma^2). \\end{aligned} ​−logN(yn​∣xn⊤​θ,σ2)=2σ2(yn​−xn⊤​θ)2​+21​log(2πσ2).​데이터가 독립이므로 (8.17)처럼 합하면\nL(θ)=12σ2∑n=1N(yn−xn⊤θ)2+N2log⁡(2πσ2). \\begin{aligned} \\mathcal L(\\theta)\u0026amp;=\\frac1{2\\sigma^2}\\sum_{n=1}^N(y_n-x_n^\\top\\theta)^2\\\\ \u0026amp;\\quad+\\frac N2\\log(2\\pi\\sigma^2). \\end{aligned} L(θ)​=2σ21​n=1∑N​(yn​−xn⊤​θ)2+2N​log(2πσ2).​이것이 (8.18d)다. 둘째 항은 θ\\thetaθ와 무관한 상수이고, 첫째 항은 양수 12σ2\\frac1{2\\sigma^2}2σ21​에 제곱합을 곱한 것이다. 양수를 곱하거나 상수를 더해도 최소점은 그대로이므로\narg⁡min⁡θL(θ)=arg⁡min⁡θ1N∥y−Xθ∥2. \\arg\\min_\\theta\\mathcal L(\\theta)=\\arg\\min_\\theta\\frac1N\\|y-X\\theta\\|^2. argθmin​L(θ)=argθmin​N1​∥y−Xθ∥2.이것이 최소제곱 문제 (8.9)다.\n(b) 목적함수를 전개한다.\nJ(θ)=1N(y⊤y−2y⊤Xθ+θ⊤X⊤Xθ)+λθ⊤θ. \\begin{aligned} J(\\theta)\u0026amp;=\\tfrac1N\\big(y^\\top y-2y^\\top X\\theta\\\\ \u0026amp;\\qquad+\\theta^\\top X^\\top X\\theta\\big)+\\lambda\\theta^\\top\\theta. \\end{aligned} J(θ)​=N1​(y⊤y−2y⊤Xθ+θ⊤X⊤Xθ)+λθ⊤θ.​5장의 미분 규칙 ddθ(a⊤θ)=a⊤\\frac{d}{d\\theta}(a^\\top\\theta)=a^\\topdθd​(a⊤θ)=a⊤, ddθ(θ⊤Aθ)=2θ⊤A\\frac{d}{d\\theta}(\\theta^\\top A\\theta)=2\\theta^\\top Adθd​(θ⊤Aθ)=2θ⊤A (AAA 대칭)를 쓰면\ndJdθ=1N(−2y⊤X+2θ⊤X⊤X)+2λθ⊤. \\begin{aligned} \\frac{dJ}{d\\theta}\u0026amp;=\\tfrac1N\\big(-2y^\\top X+2\\theta^\\top X^\\top X\\big)\\\\ \u0026amp;\\quad+2\\lambda\\theta^\\top. \\end{aligned} dθdJ​​=N1​(−2y⊤X+2θ⊤X⊤X)+2λθ⊤.​이를 0⊤0^\\top0⊤으로 놓고 N2\\frac N22N​를 곱하면 θ⊤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다.\n답: θ∗=(X⊤X+NλI)−1X⊤y\\theta^*=(X^\\top X+N\\lambda I)^{-1}X^\\top yθ∗=(X⊤X+NλI)−1X⊤y\n헤시안 2NX⊤X+2λI\\frac2NX^\\top X+2\\lambda IN2​X⊤X+2λI가 λ\u0026gt;0\\lambda\u0026gt;0λ\u0026gt;0이면 양의 정부호라서 JJJ는 볼록이고, 이 정류점이 최소점이다.\n(c) X⊤X=1+4+9=14X^\\top X=1+4+9=14X⊤X=1+4+9=14, X⊤y=2+6+15=23X^\\top y=2+6+15=23X⊤y=2+6+15=23, N=3N=3N=3.\nλ=0\\lambda=0λ=0: θ=2314≈1.643\\theta=\\frac{23}{14}\\approx1.643θ=1423​≈1.643 λ=13\\lambda=\\frac13λ=31​: Nλ=1N\\lambda=1Nλ=1이므로 θ=2314+1=2315≈1.533\\theta=\\frac{23}{14+1}=\\frac{23}{15}\\approx1.533θ=14+123​=1523​≈1.533 정규화가 θ\\thetaθ를 0 쪽으로 줄였다.\n(d) (9.32)를 NNN으로 나누면 1N∥y−Φθ∥2+λ9N∥θ∥2\\frac1N\\|y-\\Phi\\theta\\|^2+\\frac{\\lambda_9}{N}\\|\\theta\\|^2N1​∥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λ의 NNN배다. (c)에서 λ9=1\\lambda_9=1λ9​=1이고, (9.34) (Φ⊤Φ+λ9I)−1Φ⊤y(\\Phi^\\top\\Phi+\\lambda_9I)^{-1}\\Phi^\\top y(Φ⊤Φ+λ9​I)−1Φ⊤y도 2315\\frac{23}{15}1523​을 준다.\n8-3. 동전 던지기: MLE, MAP, 베이즈 추론 앞면 수 h=6h=6h=6, 던진 수 N=8N=8N=8.\n(a) p(x∣μ)=μx(1−μ)1−xp(x\\mid\\mu)=\\mu^x(1-\\mu)^{1-x}p(x∣μ)=μx(1−μ)1−x이고 독립이므로 p(X∣μ)=μ6(1−μ)2p(\\mathcal X\\mid\\mu)=\\mu^6(1-\\mu)^2p(X∣μ)=μ6(1−μ)2이다(식 (8.33)).\nL(μ)=−6log⁡μ−2log⁡(1−μ). \\mathcal L(\\mu)=-6\\log\\mu-2\\log(1-\\mu). L(μ)=−6logμ−2log(1−μ).dLdμ=−6μ+21−μ=0⇒ 6(1−μ)=2μ ⇒ μ=68. \\begin{aligned} \\frac{d\\mathcal L}{d\\mu}\u0026amp;=-\\frac6\\mu+\\frac2{1-\\mu}=0\\\\ \u0026amp;\\Rightarrow\\ 6(1-\\mu)=2\\mu\\ \\Rightarrow\\ \\mu=\\frac68. \\end{aligned} dμdL​​=−μ6​+1−μ2​=0⇒ 6(1−μ)=2μ ⇒ μ=86​.​2계 도함수 6μ2+2(1−μ)2\u0026gt;0\\frac6{\\mu^2}+\\frac2{(1-\\mu)^2}\u0026gt;0μ26​+(1−μ)22​\u0026gt;0이라 최소점이다.\n답: μML=34=0.75\\mu_{\\text{ML}}=\\frac34=0.75μML​=43​=0.75 (L(0.75)≈4.499\\mathcal L(0.75)\\approx4.499L(0.75)≈4.499)\n(b) Beta(2,2)\\text{Beta}(2,2)Beta(2,2) 밀도는 μ(1−μ)\\mu(1-\\mu)μ(1−μ)에 비례한다. 음의 로그 사후분포는 상수를 빼고\n−log⁡p(μ∣X)=−7log⁡μ−3log⁡(1−μ)+const. \\begin{aligned} \u0026amp;-\\log p(\\mu\\mid\\mathcal X)\\\\ \u0026amp;=-7\\log\\mu-3\\log(1-\\mu)+\\text{const}. \\end{aligned} ​−logp(μ∣X)=−7logμ−3log(1−μ)+const.​미분해서 0: −7μ+31−μ=0⇒7(1−μ)=3μ⇒μ=710-\\frac7\\mu+\\frac3{1-\\mu}=0\\Rightarrow7(1-\\mu)=3\\mu\\Rightarrow\\mu=\\frac7{10}−μ7​+1−μ3​=0⇒7(1−μ)=3μ⇒μ=107​.\n답: μMAP=0.7\\mu_{\\text{MAP}}=0.7μMAP​=0.7. 일반식은 h+α−1N+α+β−2\\frac{h+\\alpha-1}{N+\\alpha+\\beta-2}N+α+β−2h+α−1​이다.\n(c) 사후분포는 가능도×사전분포에 비례한다(8.20).\np(μ∣X)∝μ6(1−μ)2⋅μ(1−μ)=μ7(1−μ)3. \\begin{aligned} p(\\mu\\mid\\mathcal X)\u0026amp;\\propto\\mu^6(1-\\mu)^2\\cdot\\mu(1-\\mu)\\\\ \u0026amp;=\\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)). 베타 사전분포가 베르누이 가능도의 켤레라서 사후분포도 베타다.\n(d) (8.23)처럼 매개변수를 적분해서 없앤다.\np(x∗=1∣X)=∫01μ p(μ∣X) dμ=E[μ∣X]=88+4. \\begin{aligned} p(x_*=1\\mid\\mathcal X)\u0026amp;=\\int_0^1\\mu\\,p(\\mu\\mid\\mathcal X)\\,d\\mu\\\\ \u0026amp;=\\mathbb E[\\mu\\mid\\mathcal X]=\\frac{8}{8+4}. \\end{aligned} p(x∗​=1∣X)​=∫01​μp(μ∣X)dμ=E[μ∣X]=8+48​.​답: 23≈0.667\\frac23\\approx0.66732​≈0.667. ML 값 0.75, MAP 값 0.7보다 0.5 쪽에 가깝다.\nMAP 0.7은 사후분포 Beta(8,4)\\text{Beta}(8,4)Beta(8,4)의 최빈값 8−18+4−2\\frac{8-1}{8+4-2}8+4−28−1​이고, 베이즈 예측 23\\frac2332​은 평균이다. 사후분포가 비대칭이라 둘이 다르다. 베이즈 예측은 \u0026ldquo;μ\\muμ가 0.75일 수도, 0.5일 수도 있다\u0026quot;는 불확실성을 평균에 반영한다. 데이터가 8개뿐이라 이 차이가 크다. 그림 8.10(c)는 바로 이 모델(α,β\\alpha,\\betaα,β를 고정한 초사전분포를 μ\\muμ에 둔 그래프)이다. 8-4. 인수분해와 그래프 (a) 예제 8.7의 규칙: 조건부 분포 하나마다, 조건에 들어간 변수에서 그 변수로 화살표를 긋는다.\np(b∣a)p(b\\mid a)p(b∣a): a→ba\\to ba→b p(c∣a)p(c\\mid a)p(c∣a): a→ca\\to ca→c p(d∣b,c)p(d\\mid b,c)p(d∣b,c): b→db\\to db→d, c→dc\\to dc→d 답: a→ba\\to ba→b, a→ca\\to ca→c, b→db\\to db→d, c→dc\\to dc→d (마름모 모양)\n(b) (8.31): 각 노드를 부모가 주어진 조건부 분포로 쓰고 모두 곱한다. 부모는 x1x_1x1​: 없음, x2x_2x2​: x1x_1x1​, x3x_3x3​: x1x_1x1​, x4x_4x4​: x2,x3x_2,x_3x2​,x3​, x5x_5x5​: x4x_4x4​.\n답: p(x1,…,x5)=p(x1) p(x2∣x1) p(x3∣x1) p(x4∣x2,x3) p(x5∣x4)p(x_1,\\dots,x_5)=p(x_1)\\,p(x_2\\mid x_1)\\,p(x_3\\mid x_1)\\,p(x_4\\mid x_2,x_3)\\,p(x_5\\mid x_4)p(x1​,…,x5​)=p(x1​)p(x2​∣x1​)p(x3​∣x1​)p(x4​∣x2​,x3​)p(x5​∣x4​)\n(c) (교재 밖 보충)\n표 하나: 경우의 수 25=322^5=3225=32개의 확률, 합이 1이라는 제약 하나 → 31개 인수분해: 이진 변수의 부모가 kkk개이면 부모 값 조합 2k2^k2k개마다 p(x=1∣⋅)p(x=1\\mid\\cdot)p(x=1∣⋅) 하나가 필요하다. x1x_1x1​: 1, x2x_2x2​: 2, x3x_3x3​: 2, x4x_4x4​: 4, x5x_5x5​: 2 → 11개 그래프가 말해 주는 조건부 독립 덕분에 필요한 수가 크게 준다. 교재가 그래프 모델을 \u0026ldquo;간결한 표현\u0026quot;이라고 부르는 이유다.\n8-5. d-분리 판정 규칙(8.5.2절): AAA의 노드에서 BBB의 노드로 가는 모든 경로(화살표 방향을 무시한 길)를 본다. 경로 위의 한 노드에서\n화살표가 머리-꼬리(→∙→\\to\\bullet\\to→∙→)나 꼬리-꼬리(←∙→\\leftarrow\\bullet\\to←∙→)로 만나고 그 노드가 조건 집합 CCC에 있으면, 경로가 막힌다. 화살표가 머리-머리(→∙←\\to\\bullet\\leftarrow→∙←)로 만나고 그 노드도, 그 자손도 CCC에 없으면, 경로가 막힌다. 모든 경로가 막혀야 A⊥ ⁣ ⁣ ⁣⊥B∣CA\\perp\\!\\!\\!\\perp B\\mid CA⊥⊥B∣C다. 경로 하나라도 열려 있으면 그래프만으로는 독립이 보장되지 않는다.\n그림 8.11: a→b→ca\\to b\\to ca→b→c, a→d←ca\\to d\\leftarrow ca→d←c, d→ed\\to ed→e. ddd의 자손은 eee뿐이다.\n(a)\n(8.35) b⊥ ⁣ ⁣ ⁣⊥d∣{a,c}b\\perp\\!\\!\\!\\perp d\\mid\\{a,c\\}b⊥⊥d∣{a,c}: 경로 ① b←a→db\\leftarrow a\\to db←a→d: aaa에서 꼬리-꼬리, a∈Ca\\in Ca∈C → 막힘. 경로 ② b→c→db\\to c\\to db→c→d: ccc에서 머리-꼬리, c∈Cc\\in Cc∈C → 막힘. 모두 막혔으므로 성립. (8.36) a⊥ ⁣ ⁣ ⁣⊥c∣{b}a\\perp\\!\\!\\!\\perp c\\mid\\{b\\}a⊥⊥c∣{b}: 경로 ① a→b→ca\\to b\\to ca→b→c: bbb에서 머리-꼬리, b∈Cb\\in Cb∈C → 막힘. 경로 ② a→d←ca\\to d\\leftarrow ca→d←c: ddd에서 머리-머리, d∉Cd\\notin Cd∈/C이고 자손 e∉Ce\\notin Ce∈/C → 막힘. 성립. (8.37) b⊥̸ ⁣ ⁣ ⁣⊥d∣{c}b\\not\\perp\\!\\!\\!\\perp d\\mid\\{c\\}b⊥⊥d∣{c}: 경로 b←a→db\\leftarrow a\\to db←a→d에서 aaa는 꼬리-꼬리인데 a∉Ca\\notin Ca∈/C → 열림. 열린 경로가 있으므로 독립이 아니다. 교재 문장이 맞다. (8.38) a⊥̸ ⁣ ⁣ ⁣⊥c∣{b,e}a\\not\\perp\\!\\!\\!\\perp c\\mid\\{b,e\\}a⊥⊥c∣{b,e}: 경로 a→d←ca\\to d\\leftarrow ca→d←c에서 ddd는 머리-머리이고 d∉Cd\\notin Cd∈/C이지만 자손 e∈Ce\\in Ce∈C → 열림. 교재 문장이 맞다. eee를 보면 ddd에 대한 정보가 생기고, 그러면 ddd의 두 원인 aaa와 ccc가 서로 얽힌다(\u0026ldquo;설명해 없애기\u0026rdquo;, explaining away). (b)\n(i) a⊥ ⁣ ⁣ ⁣⊥ca\\perp\\!\\!\\!\\perp ca⊥⊥c (조건 없음): a→b→ca\\to b\\to ca→b→c에서 bbb는 머리-꼬리이고 b∉Cb\\notin Cb∈/C → 열림. 성립하지 않음. (a→d←ca\\to d\\leftarrow ca→d←c는 막혀 있지만, 열린 경로가 하나라도 있으면 안 된다.) (ii) b⊥ ⁣ ⁣ ⁣⊥e∣{d}b\\perp\\!\\!\\!\\perp e\\mid\\{d\\}b⊥⊥e∣{d}: eee의 이웃은 ddd뿐이라 모든 경로가 ⋯d→e\\cdots d\\to e⋯d→e로 끝난다. b←a→d→eb\\leftarrow a\\to d\\to eb←a→d→e와 b→c→d→eb\\to c\\to d\\to eb→c→d→e 둘 다 ddd에서 머리-꼬리이고 d∈Cd\\in Cd∈C → 막힘. 성립. (iii) a⊥ ⁣ ⁣ ⁣⊥e∣{b,c}a\\perp\\!\\!\\!\\perp e\\mid\\{b,c\\}a⊥⊥e∣{b,c}: a→d→ea\\to d\\to ea→d→e에서 ddd는 머리-꼬리이고 d∉Cd\\notin Cd∈/C → 열림. 성립하지 않음. (iv) b⊥ ⁣ ⁣ ⁣⊥e∣{a,c}b\\perp\\!\\!\\!\\perp e\\mid\\{a,c\\}b⊥⊥e∣{a,c}: b←a→d→eb\\leftarrow a\\to d\\to eb←a→d→e는 aaa(꼬리-꼬리, a∈Ca\\in Ca∈C)에서 막힘. b→c→d→eb\\to c\\to d\\to eb→c→d→e는 ccc(머리-꼬리, c∈Cc\\in Cc∈C)에서 막힘. 성립. 8-6. 잠재변수 모델: 주변화와 사후분포 (a) zzz가 이산이라 (8.25)의 적분이 합이 된다.\np(x=1)=∑zp(x=1∣z)p(z)=0.3(0.2420)+0.7(0.0540). \\begin{aligned} p(x=1)\u0026amp;=\\sum_zp(x=1\\mid z)p(z)\\\\ \u0026amp;=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이다.\n답: p(x=1)≈0.1104p(x=1)\\approx0.1104p(x=1)≈0.1104\n(b) 베이즈 정리 (8.28):\np(z=1∣x=1)=p(x=1∣z=1) p(z=1)p(x=1)=0.07260.1104. \\begin{aligned} \u0026amp;p(z=1\\mid x=1)\\\\ \u0026amp;=\\frac{p(x=1\\mid z=1)\\,p(z=1)}{p(x=1)}\\\\ \u0026amp;=\\frac{0.0726}{0.1104}. \\end{aligned} ​p(z=1∣x=1)=p(x=1)p(x=1∣z=1)p(z=1)​=0.11040.0726​.​답: ≈0.658\\approx0.658≈0.658\n(c) 0.3에서 0.658로 커졌다. x=1x=1x=1은 성분 1의 평균 0에서 1, 성분 2의 평균 3에서 2만큼 떨어져 있다. 가능도 비는 N(1∣0,1)N(1∣3,1)=e−0.5e−2=e1.5≈4.48\\frac{\\mathcal N(1\\mid0,1)}{\\mathcal N(1\\mid3,1)}=\\frac{e^{-0.5}}{e^{-2}}=e^{1.5}\\approx4.48N(1∣3,1)N(1∣0,1)​=e−2e−0.5​=e1.5≈4.48이다. 사후 오즈 = 사전 오즈 × 가능도 비 =0.30.7×4.48≈1.92=\\frac{0.3}{0.7}\\times4.48\\approx1.92=0.70.3​×4.48≈1.92이고, 확률로 바꾸면 1.922.92≈0.658\\frac{1.92}{2.92}\\approx0.6582.921.92​≈0.658이다. 11장의 책임도가 바로 이 계산이다.\n8-7. 베이즈 팩터로 모델 비교 (a) 공정한 동전에서 정해진 수열 하나가 나올 확률이다.\n답: p(D∣M1)=0.58=1256≈0.003906p(\\mathcal D\\mid M_1)=0.5^8=\\frac1{256}\\approx0.003906p(D∣M1​)=0.58=2561​≈0.003906\n(b) 균등 사전분포의 밀도는 1이므로 (8.44)는\np(D∣M2)=∫01μ6(1−μ)2⋅1 dμ. p(\\mathcal D\\mid M_2)=\\int_0^1\\mu^6(1-\\mu)^2\\cdot1\\,d\\mu. p(D∣M2​)=∫01​μ6(1−μ)2⋅1dμ.힌트에서 a=7a=7a=7, b=3b=3b=3: 6! 2!9!=720⋅2362880=1252\\frac{6!\\,2!}{9!}=\\frac{720\\cdot2}{362880}=\\frac1{252}9!6!2!​=362880720⋅2​=2521​.\n답: 1252≈0.003968\\frac1{252}\\approx0.0039682521​≈0.003968\n(c) 베이즈 팩터 (8.46)~(8.47):\np(D∣M2)p(D∣M1)=1/2521/256=256252. \\frac{p(\\mathcal D\\mid M_2)}{p(\\mathcal D\\mid M_1)}=\\frac{1/252}{1/256}=\\frac{256}{252}. p(D∣M1​)p(D∣M2​)​=1/2561/252​=252256​.답: ≈1.016\\approx1.016≈1.016. 1보다 아주 조금 크므로 규칙대로라면 M2M_2M2​를 고르지만, 사실상 데이터가 두 모델을 거의 가르지 못한다는 뜻이다.\n(d) M2M_2M2​의 최대 가능도는 μ=0.75\\mu=0.75μ=0.75에서\n0.756×0.252≈0.1780×0.0625≈0.01112. \\begin{aligned} 0.75^6\\times0.25^2\u0026amp;\\approx0.1780\\times0.0625\\\\ \u0026amp;\\approx0.01112. \\end{aligned} 0.756×0.252​≈0.1780×0.0625≈0.01112.​p(D∣M1)p(\\mathcal D\\mid M_1)p(D∣M1​)의 약 2.85배다. 최대가능도로 비교하면 M2M_2M2​가 분명히 이긴다. M1M_1M1​은 M2M_2M2​ 안의 한 점(μ=0.5\\mu=0.5μ=0.5)이라서 M2M_2M2​의 최댓값은 언제나 M1M_1M1​ 이상이다. 그런데 증거(주변 가능도)는 최댓값이 아니라 사전분포로 평균한 가능도다. M2M_2M2​는 μ=0.1\\mu=0.1μ=0.1처럼 이 데이터를 잘 설명하지 못하는 값에도 사전 확률을 나눠 주므로 평균이 내려간다. 복잡한 모델이 자동으로 벌점을 받는 것, 이것이 8.6.2절의 \u0026ldquo;자동 오컴의 면도날\u0026quot;이다.\n(e) 8번 모두 앞면이면 p(D∣M1)=1256p(\\mathcal D\\mid M_1)=\\frac1{256}p(D∣M1​)=2561​, p(D∣M2)=∫01μ8dμ=19p(\\mathcal D\\mid M_2)=\\int_0^1\\mu^8d\\mu=\\frac19p(D∣M2​)=∫01​μ8dμ=91​.\n베이즈 팩터=1/91/256=2569≈28.4. \\text{베이즈 팩터}=\\frac{1/9}{1/256}=\\frac{256}9\\approx28.4. 베이즈 팩터=1/2561/9​=9256​≈28.4.사후 오즈 = 사전 오즈 × 베이즈 팩터 (8.46):\np(M2∣D)p(M1∣D)=0.20.8×28.4≈7.11. \\frac{p(M_2\\mid\\mathcal D)}{p(M_1\\mid\\mathcal D)}=\\frac{0.2}{0.8}\\times28.4\\approx7.11. p(M1​∣D)p(M2​∣D)​=0.80.2​×28.4≈7.11.답: 베이즈 팩터 ≈28.4\\approx28.4≈28.4, 사후 오즈 ≈7.11\\approx7.11≈7.11 (즉 p(M2∣D)≈7.118.11≈0.877p(M_2\\mid\\mathcal D)\\approx\\frac{7.11}{8.11}\\approx0.877p(M2​∣D)≈8.117.11​≈0.877). 사전에 공정한 동전을 4배 더 믿었어도 데이터가 이를 뒤집는다.\n8-8. AIC와 BIC (a) AIC =log⁡p−M=\\log p-M=logp−M:\nAAA: −120−2=−122-120-2=-122−120−2=−122 BBB: −116−4=−120-116-4=-120−116−4=−120 CCC: −111−10=−121-111-10=-121−111−10=−121 답: 교재는 값이 큰 모델을 고르므로 BBB.\n(b) 12log⁡N=12(4.605)=2.303\\frac12\\log N=\\frac12(4.605)=2.30321​logN=21​(4.605)=2.303. BIC =log⁡p−2.303M=\\log p-2.303M=logp−2.303M:\nAAA: −120−4.61=−124.61-120-4.61=-124.61−120−4.61=−124.61 BBB: −116−9.21=−125.21-116-9.21=-125.21−116−9.21=−125.21 CCC: −111−23.03=−134.03-111-23.03=-134.03−111−23.03=−134.03 답: AAA.\n(c) 매개변수 하나당 벌점이 AIC는 1, BIC는 12log⁡N\\frac12\\log N21​logN이다. N=100N=100N=100이면 2.303이고, N\u0026gt;e2≈7.4N\u0026gt;e^2\\approx7.4N\u0026gt;e2≈7.4이면 BIC 벌점이 더 크다. A→BA\\to BA→B로 가면 로그 가능도가 4 늘고 매개변수가 2개 는다. AIC 벌점은 2라서 이득이 크고(BBB 선택), BIC 벌점은 4.61이라서 손해다(AAA 선택). 교재: \u0026ldquo;BIC는 AIC보다 모델 복잡도를 더 무겁게 벌한다.\u0026rdquo;\n(d) 2M−2log⁡p=−2(log⁡p−M)2M-2\\log p=-2(\\log p-M)2M−2logp=−2(logp−M), 즉 교재 AIC에 −2-2−2를 곱한 값이다. 음수를 곱하면 순서가 뒤집히므로 \u0026ldquo;교재 AIC 최대\u0026rdquo; ⇔ \u0026ldquo;흔한 AIC 최소\u0026quot;이고, 고르는 모델은 같다. 이 문제에서는 244, 240, 242로 BBB가 가장 작다. BIC도 흔히 Mlog⁡N−2log⁡pM\\log N-2\\log pMlogN−2logp로 쓰는데, 같은 관계다.\n8-9. 교차 검증과 중첩 교차 검증 (a) (8.39): 다섯 조각 값의 평균. 표준편차는 편차 제곱의 평균(분모 K=5K=5K=5)의 제곱근이다.\nλ=0.01\\lambda=0.01λ=0.01: 평균 16.05=3.2\\frac{16.0}5=3.2516.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.340.340.34, σ=0.068=0.261\\sigma=\\sqrt{0.068}=0.261σ=0.068​=0.261, 표준오차 0.2615=0.117\\frac{0.261}{\\sqrt5}=0.1175​0.261​=0.117 λ=0.1\\lambda=0.1λ=0.1: 평균 14.05=2.8\\frac{14.0}5=2.8514.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.100.100.10, σ=0.02=0.141\\sigma=\\sqrt{0.02}=0.141σ=0.02​=0.141, 표준오차 0.0630.0630.063 λ=1\\lambda=1λ=1: 평균 15.55=3.1\\frac{15.5}5=3.1515.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.100.100.10, σ=0.141\\sigma=0.141σ=0.141, 표준오차 0.0630.0630.063 (분모를 K−1K-1K−1로 하면 표준편차가 약간 커지지만 결론은 같다.)\n(b) λ=0.1\\lambda=0.1λ=0.1. 평균 RMSE가 가장 작고, 다음 후보(3.1)와의 차이 0.3이 표준오차(약 0.06)보다 훨씬 크다.\n(c) 2.8은 세 후보 중 가장 작은 값을 골라서 얻은 숫자다. 고르는 데 쓴 검증 데이터로 성능까지 재면 운 좋게 낮게 나온 후보를 고른 효과까지 들어가 낙관적으로 치우친다. 교재 8.2.3절도 테스트 데이터를 본 뒤 다시 학습으로 돌아가지 말라고 한다. 그래서 고르는 데 쓰지 않은 데이터가 따로 필요하다.\n중첩 교차 검증(8.6.1절, 그림 8.13)은 이를 두 겹으로 한다.\n바깥쪽 고리: 데이터를 나눠 한 조각을 테스트 집합으로 떼어 둔다. 남은 데이터로 안쪽 고리를 돌려 고른 모델을 이 테스트 조각에서 평가한다. 조각을 바꿔 가며 평균한 값이 일반화 성능 추정이다. 안쪽 고리: 바깥쪽 훈련 부분만으로 다시 교차 검증을 해서 검증 집합 성능으로 λ\\lambdaλ나 모델을 고른다. 9장 선형 회귀 9-1. 직선 맞추기: 정규방정식 (a)\nΦ=[1−1101112],y=[0113]. \\Phi=\\begin{bmatrix}1\u0026amp;-1\\\\1\u0026amp;0\\\\1\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix},\\quad y=\\begin{bmatrix}0\\\\1\\\\1\\\\3\\end{bmatrix}. Φ=​1111​−1012​​,y=​0113​​.Φ⊤Φ=[N∑x∑x∑x2]\\Phi^\\top\\Phi=\\begin{bmatrix}N\u0026amp;\\sum x\\\\\\sum x\u0026amp;\\sum x^2\\end{bmatrix}Φ⊤Φ=[N∑x​∑x∑x2​]이고 ∑x=2\\sum x=2∑x=2, ∑x2=1+0+1+4=6\\sum x^2=1+0+1+4=6∑x2=1+0+1+4=6이다. Φ⊤y=[∑y∑xy]\\Phi^\\top y=\\begin{bmatrix}\\sum y\\\\\\sum xy\\end{bmatrix}Φ⊤y=[∑y∑xy​]이고 ∑y=5\\sum y=5∑y=5, ∑xy=0+0+1+6=7\\sum xy=0+0+1+6=7∑xy=0+0+1+6=7이다.\n답: Φ⊤Φ=[4226]\\Phi^\\top\\Phi=\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;6\\end{bmatrix}Φ⊤Φ=[42​26​], Φ⊤y=[57]\\Phi^\\top y=\\begin{bmatrix}5\\\\7\\end{bmatrix}Φ⊤y=[57​]\n(b) det⁡=24−4=20\\det=24-4=20det=24−4=20, (Φ⊤Φ)−1=120[6−2−24](\\Phi^\\top\\Phi)^{-1}=\\frac1{20}\\begin{bmatrix}6\u0026amp;-2\\\\-2\u0026amp;4\\end{bmatrix}(Φ⊤Φ)−1=201​[6−2​−24​].\nθML=120[30−14−10+28]=120[1618]. \\theta_{\\text{ML}}=\\frac1{20}\\begin{bmatrix}30-14\\\\-10+28\\end{bmatrix}=\\frac1{20}\\begin{bmatrix}16\\\\18\\end{bmatrix}. θML​=201​[30−14−10+28​]=201​[1618​].답: θML=[0.8, 0.9]⊤\\theta_{\\text{ML}}=[0.8,\\ 0.9]^\\topθML​=[0.8, 0.9]⊤, 즉 f(x)=0.8+0.9xf(x)=0.8+0.9xf(x)=0.8+0.9x\n(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].\n첫째 열 [1,1,1,1][1,1,1,1][1,1,1,1]과의 내적: 0.1+0.2−0.7+0.4=00.1+0.2-0.7+0.4=00.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절의 사영 해석).\n(d) (9.22): σML2=14(0.01+0.04+0.49+0.16)=0.704\\sigma^2_{\\text{ML}}=\\frac14(0.01+0.04+0.49+0.16)=\\frac{0.70}4σML2​=41​(0.01+0.04+0.49+0.16)=40.70​.\n답: σML2=0.175\\sigma^2_{\\text{ML}}=0.175σML2​=0.175, RMSE (9.23) =0.175≈0.418=\\sqrt{0.175}\\approx0.418=0.175​≈0.418\n9-2. 노이즈 분산의 최대가능도 (a) 잔차 제곱합을 R=∑n(yn−ϕ⊤(xn)θ)2R=\\sum_n(y_n-\\phi^\\top(x_n)\\theta)^2R=∑n​(yn​−ϕ⊤(xn​)θ)2이라 하자. 로그 가능도는\nlog⁡p=−N2log⁡(2π)−N2log⁡σ2−R2σ2. \\begin{aligned} \\log p\u0026amp;=-\\frac N2\\log(2\\pi)-\\frac N2\\log\\sigma^2\\\\ \u0026amp;\\quad-\\frac{R}{2\\sigma^2}. \\end{aligned} logp​=−2N​log(2π)−2N​logσ2−2σ2R​.​σ2\\sigma^2σ2를 하나의 변수로 보고 미분하면 (9.21)\n∂log⁡p∂σ2=−N2σ2+R2σ4=0. \\frac{\\partial\\log p}{\\partial\\sigma^2}=-\\frac N{2\\sigma^2}+\\frac R{2\\sigma^4}=0. ∂σ2∂logp​=−2σ2N​+2σ4R​=0.양변에 2σ42\\sigma^42σ4를 곱하면 −Nσ2+R=0-N\\sigma^2+R=0−Nσ2+R=0이다.\n답: σML2=RN=1N∑n(yn−ϕ⊤(xn)θ)2\\sigma^2_{\\text{ML}}=\\frac RN=\\frac1N\\sum_n(y_n-\\phi^\\top(x_n)\\theta)^2σML2​=NR​=N1​∑n​(yn​−ϕ⊤(xn​)θ)2 (9.22)\n(b) v=σ2v=\\sigma^2v=σ2로 두면 도함수는 R−Nv2v2\\frac{R-Nv}{2v^2}2v2R−Nv​이다. v\u0026lt;R/Nv\u0026lt;R/Nv\u0026lt;R/N이면 양수(증가), v\u0026gt;R/Nv\u0026gt;R/Nv\u0026gt;R/N이면 음수(감소)이므로 v=R/Nv=R/Nv=R/N은 최대점이다.\n(c) σML2=R/N\\sigma^2_{\\text{ML}}=R/NσML2​=R/N을 넣으면 마지막 항이 R2R/N=N2\\frac{R}{2R/N}=\\frac N22R/NR​=2N​가 된다.\nlog⁡pmax⁡=−N2log⁡(2πσML2)−N2. \\log p_{\\max}=-\\frac N2\\log(2\\pi\\sigma^2_{\\text{ML}})-\\frac N2. logpmax​=−2N​log(2πσML2​)−2N​.9-1의 숫자: N=4N=4N=4, 2π(0.175)=1.09962\\pi(0.175)=1.09962π(0.175)=1.0996, log⁡1.0996=0.0949\\log1.0996=0.0949log1.0996=0.0949.\n답: −2(0.0949)−2≈−2.190-2(0.0949)-2\\approx-2.190−2(0.0949)−2≈−2.190\n9-3. 다항 특징과 과적합 (a) (9.17) 형식으로 행마다 [1,xn,xn2][1,x_n,x_n^2][1,xn​,xn2​]을 쓴다.\nΦ=[1−11100111]. \\Phi=\\begin{bmatrix}1\u0026amp;-1\u0026amp;1\\\\1\u0026amp;0\u0026amp;0\\\\1\u0026amp;1\u0026amp;1\\end{bmatrix}. Φ=​111​−101​101​​.Φ\\PhiΦ가 정사각이고 가역(서로 다른 xxx의 방데르몽드 행렬)이므로 (Φ⊤Φ)−1Φ⊤=Φ−1(\\Phi^\\top\\Phi)^{-1}\\Phi^\\top=\\Phi^{-1}(Φ⊤Φ)−1Φ⊤=Φ−1이고, θML\\theta_{\\text{ML}}θML​은 Φθ=y\\Phi\\theta=yΦθ=y의 해다.\n둘째 행: θ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.5x+1.5x2f(x)=-0.5x+1.5x^2f(x)=−0.5x+1.5x2\n(b) Φ=[1−11011]\\Phi=\\begin{bmatrix}1\u0026amp;-1\\\\1\u0026amp;0\\\\1\u0026amp;1\\end{bmatrix}Φ=​111​−101​​, Φ⊤Φ=[3002]\\Phi^\\top\\Phi=\\begin{bmatrix}3\u0026amp;0\\\\0\u0026amp;2\\end{bmatrix}Φ⊤Φ=[30​02​](∑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​].\nθ=[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.51.5,\\ 1,\\ 0.51.5, 1, 0.5, 잔차 0.5, −1, 0.50.5,\\ -1,\\ 0.50.5, −1, 0.5, 제곱합 1.51.51.5.\n답: f(x)=1−0.5xf(x)=1-0.5xf(x)=1−0.5x, 훈련 RMSE =1.5/3=0.5≈0.707=\\sqrt{1.5/3}=\\sqrt{0.5}\\approx0.707=1.5/3​=0.5​≈0.707\n(c) 2차식은 세 점을 모두 지나므로 훈련 RMSE = 0.\n(d) x=2x=2x=2에서\n2차: −1+6=5-1+6=5−1+6=5, 오차 1.5−5=−3.51.5-5=-3.51.5−5=−3.5 (제곱 12.25) 직선: 1−1=01-1=01−1=0, 오차 1.51.51.5 (제곱 2.25) 매개변수 수가 데이터 수와 같으면(K=NK=NK=N) 모든 점을 지나 훈련 오차가 0이 되지만, 새 점에서는 훨씬 틀린다. 그림 9.6에서 훈련 RMSE는 차수를 올려도 절대 늘지 않는다(차수가 낮은 모델이 높은 모델에 포함되므로). 반면 테스트 RMSE는 처음엔 줄다가 차수가 너무 높아지면 크게 는다. 이 문제는 그 그림의 양 끝을 작은 숫자로 본 것이다.\n9-4. MAP 추정과 릿지 회귀 (a) 베이즈 정리의 로그 (9.25)에 가능도와 사전분포를 넣으면 (9.28)\n−log⁡p(θ∣X,Y)=∥y−Φθ∥22σ2+θ⊤θ2b2+const. \\begin{aligned} \u0026amp;-\\log p(\\theta\\mid\\mathcal X,\\mathcal Y)\\\\ \u0026amp;=\\frac{\\|y-\\Phi\\theta\\|^2}{2\\sigma^2}+\\frac{\\theta^\\top\\theta}{2b^2}+\\text{const}. \\end{aligned} ​−logp(θ∣X,Y)=2σ2∥y−Φθ∥2​+2b2θ⊤θ​+const.​8-2(b)와 같은 규칙으로 미분하면 (9.29)\nddθ=1σ2(θ⊤Φ⊤Φ−y⊤Φ)+1b2θ⊤. \\frac{d}{d\\theta}=\\frac1{\\sigma^2}\\big(\\theta^\\top\\Phi^\\top\\Phi-y^\\top\\Phi\\big)+\\frac1{b^2}\\theta^\\top. dθd​=σ21​(θ⊤Φ⊤Φ−y⊤Φ)+b21​θ⊤.0⊤0^\\top0⊤으로 놓고 σ2\\sigma^2σ2를 곱하면 θ⊤(Φ⊤Φ+σ2b2I)=y⊤Φ\\theta^\\top\\big(\\Phi^\\top\\Phi+\\frac{\\sigma^2}{b^2}I\\big)=y^\\top\\Phiθ⊤(Φ⊤Φ+b2σ2​I)=y⊤Φ. 괄호 안 행렬이 대칭이므로 전치하면\n답: θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\\theta_{\\text{MAP}}=\\big(\\Phi^\\top\\Phi+\\frac{\\sigma^2}{b^2}I\\big)^{-1}\\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y (9.31)\n(b) Φ⊤Φ+2I=[6228]\\Phi^\\top\\Phi+2I=\\begin{bmatrix}6\u0026amp;2\\\\2\u0026amp;8\\end{bmatrix}Φ⊤Φ+2I=[62​28​], det⁡=48−4=44\\det=48-4=44det=48−4=44, 역행렬 144[8−2−26]\\frac1{44}\\begin{bmatrix}8\u0026amp;-2\\\\-2\u0026amp;6\\end{bmatrix}441​[8−2​−26​].\nθMAP=144[40−14−10+42]=144[2632]. \\theta_{\\text{MAP}}=\\frac1{44}\\begin{bmatrix}40-14\\\\-10+42\\end{bmatrix}=\\frac1{44}\\begin{bmatrix}26\\\\32\\end{bmatrix}. θMAP​=441​[40−14−10+42​]=441​[2632​].답: θMAP≈[0.591, 0.727]⊤\\theta_{\\text{MAP}}\\approx[0.591,\\ 0.727]^\\topθMAP​≈[0.591, 0.727]⊤\n(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=262+322442=17001936≈0.878\\|\\theta_{\\text{MAP}}\\|^2=\\frac{26^2+32^2}{44^2}=\\frac{1700}{1936}\\approx0.878∥θMAP​∥2=442262+322​=19361700​≈0.878. 사전분포가 매개변수를 원점 쪽으로 끌어당겨 크기가 줄었다. 이 설정에서는 절편 θ0\\theta_0θ0​도 같이 줄어든다.\n(d) (9.28)에 2σ22\\sigma^22σ2를 곱하면 ∥y−Φθ∥2+σ2b2∥θ∥2+const\\|y-\\Phi\\theta\\|^2+\\frac{\\sigma^2}{b^2}\\|\\theta\\|^2+\\text{const}∥y−Φθ∥2+b2σ2​∥θ∥2+const가 되어 (9.32)와 같은 꼴이다.\n답: λ=σ2/b2\\lambda=\\sigma^2/b^2λ=σ2/b2. 노이즈가 크거나 사전분포가 좁을수록(확신이 강할수록) 정규화가 세다.\n9-5. 베이즈 선형 회귀: 사후분포와 예측 ∑xn2=1+4=5\\sum x_n^2=1+4=5∑xn2​=1+4=5, ∑xnyn=2+6=8\\sum x_ny_n=2+6=8∑xn​yn​=2+6=8, σ2=1\\sigma^2=1σ2=1, m0=0m_0=0m0​=0, S0=1S_0=1S0​=1.\n(a) (9.43)을 스칼라로 쓰면\nSN=(1S0+∑xn2σ2)−1=11+5=16. S_N=\\Big(\\frac1{S_0}+\\frac{\\sum x_n^2}{\\sigma^2}\\Big)^{-1}=\\frac1{1+5}=\\frac16. SN​=(S0​1​+σ2∑xn2​​)−1=1+51​=61​.mN=SN(m0S0+∑xnynσ2)=16⋅8=43. \\begin{aligned} m_N\u0026amp;=S_N\\Big(\\frac{m_0}{S_0}+\\frac{\\sum x_ny_n}{\\sigma^2}\\Big)\\\\ \u0026amp;=\\frac16\\cdot8=\\frac43. \\end{aligned} mN​​=SN​(S0​m0​​+σ2∑xn​yn​​)=61​⋅8=34​.​답: p(θ∣X,Y)=N(43, 16)p(\\theta\\mid\\mathcal X,\\mathcal Y)=\\mathcal N\\big(\\frac43,\\ \\frac16\\big)p(θ∣X,Y)=N(34​, 61​)\n(b) θML=∑xy∑x2=85=1.6\\theta_{\\text{ML}}=\\frac{\\sum xy}{\\sum x^2}=\\frac85=1.6θML​=∑x2∑xy​=58​=1.6. mN≈1.333m_N\\approx1.333mN​≈1.333은 사전 평균 0 쪽으로 줄어든 값이다. λ=σ2/S0=1\\lambda=\\sigma^2/S_0=1λ=σ2/S0​=1인 MAP 85+1\\frac8{5+1}5+18​과 같다(가우시안 사후분포는 평균=최빈값).\n(c) (9.57c): 평균 x∗mNx_*m_Nx∗​mN​, 분산 x∗2SN+σ2x_*^2S_N+\\sigma^2x∗2​SN​+σ2.\nx∗=0x_*=0x∗​=0: 평균 0, 분산 0+1=10+1=10+1=1 x∗=3x_*=3x∗​=3: 평균 3⋅43=43\\cdot\\frac43=43⋅34​=4, 분산 9⋅16+1=2.59\\cdot\\frac16+1=2.59⋅61​+1=2.5 이 모델은 원점을 지나는 직선이라 x∗=0x_*=0x∗​=0에서는 매개변수 불확실성이 사라지고 노이즈만 남는다. x∗x_*x∗​가 커지면 기울기의 불확실성이 x∗2x_*^2x∗2​배로 커진다.\n(d) (9.38): 평균 x∗m0=0x_*m_0=0x∗​m0​=0, 분산 x∗2S0+σ2=9+1=10x_*^2S_0+\\sigma^2=9+1=10x∗2​S0​+σ2=9+1=10. 데이터 두 개로 예측 분산이 10에서 2.5로 줄었다.\n(e) 순차 갱신: 사전분포를 N(43,16)\\mathcal N(\\frac43,\\frac16)N(34​,61​)으로 두고 점 (−1,−1)(-1,-1)(−1,−1) 하나를 넣는다.\nS′=(6+(−1)21)−1=17,m′=17(6⋅43+(−1)(−1))=97. \\begin{aligned} S\u0026#x27;\u0026amp;=\\Big(6+\\frac{(-1)^2}1\\Big)^{-1}=\\frac17,\\\\ m\u0026#x27;\u0026amp;=\\frac17\\Big(6\\cdot\\frac43+(-1)(-1)\\Big)=\\frac97. \\end{aligned} S′m′​=(6+1(−1)2​)−1=71​,=71​(6⋅34​+(−1)(−1))=79​.​한꺼번에: ∑x2=6\\sum x^2=6∑x2=6, ∑xy=2+6+1=9\\sum xy=2+6+1=9∑xy=2+6+1=9이므로 S=11+6=17S=\\frac1{1+6}=\\frac17S=1+61​=71​, m=97m=\\frac97m=79​.\n답: 둘 다 N(97,17)≈N(1.286, 0.143)\\mathcal N\\big(\\frac97,\\frac17\\big)\\approx\\mathcal N(1.286,\\ 0.143)N(79​,71​)≈N(1.286, 0.143). 오늘의 사후분포가 내일의 사전분포가 된다.\n9-6. 주변 가능도로 모델 비교 이차원 가우시안의 로그 밀도는 log⁡N(y∣0,K)=−log⁡2π−12log⁡det⁡K−12y⊤K−1y\\log\\mathcal N(y\\mid0,K)=-\\log2\\pi-\\frac12\\log\\det K-\\frac12y^\\top K^{-1}ylogN(y∣0,K)=−log2π−21​logdetK−21​y⊤K−1y이다.\n(a) (9.64b): X=[1,2]⊤X=[1,2]^\\topX=[1,2]⊤이라 XX⊤=[1224]XX^\\top=\\begin{bmatrix}1\u0026amp;2\\\\2\u0026amp;4\\end{bmatrix}XX⊤=[12​24​], K=XX⊤+I=[2225]K=XX^\\top+I=\\begin{bmatrix}2\u0026amp;2\\\\2\u0026amp;5\\end{bmatrix}K=XX⊤+I=[22​25​].\ndet⁡K=10−4=6\\det K=10-4=6detK=10−4=6 K−1=16[5−2−22]K^{-1}=\\frac16\\begin{bmatrix}5\u0026amp;-2\\\\-2\u0026amp;2\\end{bmatrix}K−1=61​[5−2​−22​] y⊤K−1y=16(5⋅4−2⋅2⋅2⋅3+2⋅9)=16(20−24+18)=73y^\\top K^{-1}y=\\frac16(5\\cdot4-2\\cdot2\\cdot2\\cdot3+2\\cdot9)=\\frac16(20-24+18)=\\frac73y⊤K−1y=61​(5⋅4−2⋅2⋅2⋅3+2⋅9)=61​(20−24+18)=37​ log⁡p=−1.8379−12(1.7918)−12⋅73. \\log p=-1.8379-\\tfrac12(1.7918)-\\tfrac12\\cdot\\tfrac73. logp=−1.8379−21​(1.7918)−21​⋅37​.답: −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\n(b) K=IK=IK=I: log⁡p=−1.8379−0−12(4+9)\\log p=-1.8379-0-\\frac12(4+9)logp=−1.8379−0−21​(4+9).\n답: ≈−8.338\\approx-8.338≈−8.338\n(c) K=100XX⊤+I=[101200200401]K=100XX^\\top+I=\\begin{bmatrix}101\u0026amp;200\\\\200\u0026amp;401\\end{bmatrix}K=100XX⊤+I=[101200​200401​].\ndet⁡K=101⋅401−2002=40501−40000=501\\det K=101\\cdot401-200^2=40501-40000=501detK=101⋅401−2002=40501−40000=501 y⊤K−1y=1501(401⋅4−2⋅200⋅6+101⋅9)=1604−2400+909501=113501≈0.2255y^\\top K^{-1}y=\\frac1{501}(401\\cdot4-2\\cdot200\\cdot6+101\\cdot9)=\\frac{1604-2400+909}{501}=\\frac{113}{501}\\approx0.2255y⊤K−1y=5011​(401⋅4−2⋅200⋅6+101⋅9)=5011604−2400+909​=501113​≈0.2255 log⁡p=−1.8379−12(6.2166)−12(0.2255). \\begin{aligned} \\log p\u0026amp;=-1.8379-\\tfrac12(6.2166)\\\\ \u0026amp;\\quad-\\tfrac12(0.2255). \\end{aligned} logp​=−1.8379−21​(6.2166)−21​(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\n(d) 순서: (a) −3.90-3.90−3.90 \u0026gt; (c) −5.06-5.06−5.06 \u0026gt; (b) −8.34-8.34−8.34.\nM0M_0M0​은 너무 단순하다. 분산 1의 노이즈만으로 y=(2,3)y=(2,3)y=(2,3)을 설명해야 하니 가능도가 작다. 사전분포가 넓은 (c)는 θ\\thetaθ가 −20-20−20이든 202020이든 그럴듯하다고 보므로 가능한 데이터셋이 아주 많다. 증거는 모든 데이터셋에 대해 합이 1이어야 하므로(그림 8.14), 확률을 넓게 흩뿌린 모델은 실제로 관측한 데이터셋에 적은 확률밖에 주지 못한다. 가장 잘 맞는 직선은 (a)와 같은 모델 족에 있는데도 증거가 낮다. 사전분포를 더 넓히면 log⁡p≈−1.84−12log⁡(1+5s0)−0.1\\log p\\approx-1.84-\\frac12\\log(1+5s_0)-0.1logp≈−1.84−21​log(1+5s0​)−0.1처럼 계속 떨어진다. 수치로 풀면 s0≈7.2×104s_0\\approx7.2\\times10^4s0​≈7.2×104을 넘을 때 M0M_0M0​보다도 낮아진다. 이것이 제프리스-린들리 역설이 말하는 현상(너무 넓은 사전분포를 준 복잡한 모델은 단순한 모델에 진다)이다. 9-7. 최소제곱은 직교사영이다 (a) X⊤X=1+4+4=9X^\\top X=1+4+4=9X⊤X=1+4+4=9, X⊤y=1+2+8=11X^\\top y=1+2+8=11X⊤y=1+2+8=11.\n답: θML=119≈1.222\\theta_{\\text{ML}}=\\frac{11}9\\approx1.222θML​=911​≈1.222\n(b) XθML=119[1,2,2]⊤≈[1.222, 2.444, 2.444]⊤X\\theta_{\\text{ML}}=\\frac{11}9[1,2,2]^\\top\\approx[1.222,\\ 2.444,\\ 2.444]^\\topXθML​=911​[1,2,2]⊤≈[1.222, 2.444, 2.444]⊤.\nP=XX⊤X⊤X=19[122244244]. P=\\frac{XX^\\top}{X^\\top X}=\\frac19\\begin{bmatrix}1\u0026amp;2\u0026amp;2\\\\2\u0026amp;4\u0026amp;4\\\\2\u0026amp;4\u0026amp;4\\end{bmatrix}. P=X⊤XXX⊤​=91​​122​244​244​​.(c) 잔차 y−Xθ=[1−119, 1−229, 4−229]=19[−2, −13, 14]y-X\\theta=\\big[1-\\frac{11}9,\\ 1-\\frac{22}9,\\ 4-\\frac{22}9\\big]=\\frac19[-2,\\ -13,\\ 14]y−Xθ=[1−911​, 1−922​, 4−922​]=91​[−2, −13, 14]. XXX와의 내적은 19(−2−26+28)=0\\frac19(-2-26+28)=091​(−2−26+28)=0이다.\n(d)\nP2=X(X⊤X)−1X⊤X(X⊤X)−1X⊤=X(X⊤X)−1X⊤=PP^2=X(X^\\top X)^{-1}X^\\top X(X^\\top X)^{-1}X^\\top=X(X^\\top X)^{-1}X^\\top=PP2=X(X⊤X)−1X⊤X(X⊤X)−1X⊤=X(X⊤X)−1X⊤=P. 이미 직선 위에 있는 점은 다시 사영해도 그대로다. P⊤=PP^\\top=PP⊤=P: 대칭이면 직교사영이다. 잔차가 부분공간과 수직이 된다. tr(P)=1+4+49=1\\text{tr}(P)=\\frac{1+4+4}9=1tr(P)=91+4+4​=1. 일반적으로 tr(P)=tr((X⊤X)−1X⊤X)=tr(ID)=D\\text{tr}(P)=\\text{tr}\\big((X^\\top X)^{-1}X^\\top X\\big)=\\text{tr}(I_D)=Dtr(P)=tr((X⊤X)−1X⊤X)=tr(ID​)=D, 즉 부분공간의 차원(매개변수 수)이다. 9-8. 데이터가 많아지면 베이즈 사후 평균은 MLE로 간다 (a) (9.43)의 스칼라판:\nSN=(1s0+∑xn2σ2)−1,mN=SN(m0s0+∑xnynσ2). \\begin{aligned} S_N\u0026amp;=\\Big(\\frac1{s_0}+\\frac{\\sum x_n^2}{\\sigma^2}\\Big)^{-1},\\\\ m_N\u0026amp;=S_N\\Big(\\frac{m_0}{s_0}+\\frac{\\sum x_ny_n}{\\sigma^2}\\Big). \\end{aligned} SN​mN​​=(s0​1​+σ2∑xn2​​)−1,=SN​(s0​m0​​+σ2∑xn​yn​​).​(b) 데이터 정밀도 A=∑xn2σ2A=\\frac{\\sum x_n^2}{\\sigma^2}A=σ2∑xn2​​, 사전 정밀도 a0=1s0a_0=\\frac1{s_0}a0​=s0​1​라 하자. θML=∑xnyn∑xn2\\theta_{\\text{ML}}=\\frac{\\sum x_ny_n}{\\sum x_n^2}θML​=∑xn2​∑xn​yn​​이므로 ∑xnynσ2=A θML\\frac{\\sum x_ny_n}{\\sigma^2}=A\\,\\theta_{\\text{ML}}σ2∑xn​yn​​=AθML​이다.\nmN=a0m0+A θMLa0+A=w θML+(1−w) m0. \\begin{aligned} m_N\u0026amp;=\\frac{a_0m_0+A\\,\\theta_{\\text{ML}}}{a_0+A}\\\\ \u0026amp;=w\\,\\theta_{\\text{ML}}+(1-w)\\,m_0. \\end{aligned} mN​​=a0​+Aa0​m0​+AθML​​=wθML​+(1−w)m0​.​답: w=AA+a0w=\\frac{A}{A+a_0}w=A+a0​A​. 정밀도(분산의 역수)로 가중한 평균이다.\n(c) ∑xn2→∞\\sum x_n^2\\to\\infty∑xn2​→∞이면 A→∞A\\to\\inftyA→∞이므로 SN=1a0+A→0S_N=\\frac1{a_0+A}\\to0SN​=a0​+A1​→0이고 w→1w\\to1w→1, 따라서 mN→θMLm_N\\to\\theta_{\\text{ML}}mN​→θML​. 데이터가 충분하면 사전분포의 영향이 사라지고, 불확실성도 0으로 줄어든다.\n(d) s0→0s_0\\to0s0​→0이면 a0→∞a_0\\to\\inftya0​→∞이므로 w→0w\\to0w→0, mN→m0m_N\\to m_0mN​→m0​, SN→0S_N\\to0SN​→0. 사전분포를 너무 확신하면 데이터를 무시한다.\n9-9. Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ의 역행렬이 없을 때 (a) Φ=[122436]\\Phi=\\begin{bmatrix}1\u0026amp;2\\\\2\u0026amp;4\\\\3\u0026amp;6\\end{bmatrix}Φ=​123​246​​, ∑x2=14\\sum x^2=14∑x2=14이므로\nΦ⊤Φ=[14282856]. \\Phi^\\top\\Phi=\\begin{bmatrix}14\u0026amp;28\\\\28\u0026amp;56\\end{bmatrix}. Φ⊤Φ=[1428​2856​].det⁡=14⋅56−282=784−784=0\\det=14\\cdot56-28^2=784-784=0det=14⋅56−282=784−784=0이라 역행렬이 없다. 두 열이 일차종속이라 rk(Φ)=1\u0026lt;2\\text{rk}(\\Phi)=1\u0026lt;2rk(Φ)=1\u0026lt;2이고, (9.12) 옆 주석이 요구하는 \u0026ldquo;랭크 = 매개변수 수\u0026rdquo; 조건이 깨진다.\n(b) Φ⊤y=[∑xy, 2∑xy]⊤=[11, 22]⊤\\Phi^\\top y=[\\sum xy,\\ 2\\sum xy]^\\top=[11,\\ 22]^\\topΦ⊤y=[∑xy, 2∑xy]⊤=[11, 22]⊤. 정규방정식은 14θ1+28θ2=1114\\theta_1+28\\theta_2=1114θ1​+28θ2​=11과 그 두 배인 식뿐이다. 즉 θ1+2θ2=1114\\theta_1+2\\theta_2=\\frac{11}{14}θ1​+2θ2​=1411​을 만족하는 직선 위의 모든 점이 해다(예: (1114,0)(\\frac{11}{14},0)(1411​,0), (0,1128)(0,\\frac{11}{28})(0,2811​)). 그런데 예측은\nf(x)=θ1x+θ2(2x)=(θ1+2θ2)x=1114x \\begin{aligned} f(x)\u0026amp;=\\theta_1x+\\theta_2(2x)\\\\ \u0026amp;=(\\theta_1+2\\theta_2)x=\\tfrac{11}{14}x \\end{aligned} f(x)​=θ1​x+θ2​(2x)=(θ1​+2θ2​)x=1411​x​로 모든 해가 같다. 예측은 정해지지만 매개변수는 하나로 정해지지 않는다.\n(c) Φ⊤Φ+I=[15282857]\\Phi^\\top\\Phi+I=\\begin{bmatrix}15\u0026amp;28\\\\28\u0026amp;57\\end{bmatrix}Φ⊤Φ+I=[1528​2857​], det⁡=855−784=71\\det=855-784=71det=855−784=71, 역행렬 171[57−28−2815]\\frac1{71}\\begin{bmatrix}57\u0026amp;-28\\\\-28\u0026amp;15\\end{bmatrix}711​[57−28​−2815​].\nθ=171[627−616−308+330]=171[1122]. \\theta=\\frac1{71}\\begin{bmatrix}627-616\\\\-308+330\\end{bmatrix}=\\frac1{71}\\begin{bmatrix}11\\\\22\\end{bmatrix}. θ=711​[627−616−308+330​]=711​[1122​].답: θ≈[0.155, 0.310]⊤\\theta\\approx[0.155,\\ 0.310]^\\topθ≈[0.155, 0.310]⊤. 예측 기울기 θ1+2θ2=5571≈0.775\\theta_1+2\\theta_2=\\frac{55}{71}\\approx0.775θ1​+2θ2​=7155​≈0.775로 1114≈0.786\\frac{11}{14}\\approx0.7861411​≈0.786보다 조금 줄었다. 릿지는 해 중에서 (1,2)(1,2)(1,2) 방향, 즉 노름이 작은 쪽을 고른다(교재 밖 보충: λ→0\\lambda\\to0λ→0이면 최소 노름 해 170(11,22)\\frac1{70}(11,22)701​(11,22)로 간다).\n(d) 모든 v≠0v\\neq0v=0에 대해 v⊤(Φ⊤Φ+λI)v=∥Φv∥2+λ∥v∥2≥λ∥v∥2\u0026gt;0v^\\top(\\Phi^\\top\\Phi+\\lambda I)v=\\|\\Phi v\\|^2+\\lambda\\|v\\|^2\\ge\\lambda\\|v\\|^2\u0026gt;0v⊤(Φ⊤Φ+λI)v=∥Φv∥2+λ∥v∥2≥λ∥v∥2\u0026gt;0이다. 양의 정부호이므로 고유값이 모두 λ\\lambdaλ 이상이고 역행렬이 있다.\n10장 PCA 10-1. 네 점 PCA 처음부터 끝까지 (a) μ=(3+2−1+04, 3+4+1+04)=(1,2)\\mu=\\big(\\frac{3+2-1+0}4,\\ \\frac{3+4+1+0}4\\big)=(1,2)μ=(43+2−1+0​, 43+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).\n(b) S=14∑xnxn⊤S=\\frac14\\sum x_nx_n^\\topS=41​∑xn​xn⊤​ (중심화된 점):\nS11=4+1+4+14=2.5S_{11}=\\frac{4+1+4+1}4=2.5S11​=44+1+4+1​=2.5 S12=2+2+2+24=2S_{12}=\\frac{2+2+2+2}4=2S12​=42+2+2+2​=2 S22=1+4+1+44=2.5S_{22}=\\frac{1+4+1+4}4=2.5S22​=41+4+1+4​=2.5 답: S=[2.5222.5]S=\\begin{bmatrix}2.5\u0026amp;2\\\\2\u0026amp;2.5\\end{bmatrix}S=[2.52​22.5​]\n(c) (2.5−λ)2−4=0(2.5-\\lambda)^2-4=0(2.5−λ)2−4=0이므로 2.5−λ=±22.5-\\lambda=\\pm22.5−λ=±2.\nλ1=4.5\\lambda_1=4.5λ1​=4.5: S−4.5I=[−222−2]S-4.5I=\\begin{bmatrix}-2\u0026amp;2\\\\2\u0026amp;-2\\end{bmatrix}S−4.5I=[−22​2−2​] → b1=12(1,1)b_1=\\frac1{\\sqrt2}(1,1)b1​=2​1​(1,1) λ2=0.5\\lambda_2=0.5λ2​=0.5: S−0.5I=[2222]S-0.5I=\\begin{bmatrix}2\u0026amp;2\\\\2\u0026amp;2\\end{bmatrix}S−0.5I=[22​22​] → b2=12(1,−1)b_2=\\frac1{\\sqrt2}(1,-1)b2​=2​1​(1,−1) (d) zn=b1⊤(xn−μ)z_n=b_1^\\top(x_n-\\mu)zn​=b1⊤​(xn​−μ): 2+12=32\\frac{2+1}{\\sqrt2}=\\frac3{\\sqrt2}2​2+1​=2​3​, 32\\frac3{\\sqrt2}2​3​, −32-\\frac3{\\sqrt2}−2​3​, −32-\\frac3{\\sqrt2}−2​3​ (≈±2.121\\approx\\pm2.121≈±2.121). 평균이 0이므로 분산은 14⋅4⋅92=4.5=λ1\\frac14\\cdot4\\cdot\\frac92=4.5=\\lambda_141​⋅4⋅29​=4.5=λ1​ (10.15).\n(e) b1zn=32⋅12(1,1)=(1.5,1.5)b_1z_n=\\frac3{\\sqrt2}\\cdot\\frac1{\\sqrt2}(1,1)=(1.5,1.5)b1​zn​=2​3​⋅2​1​(1,1)=(1.5,1.5) 또는 그 음수.\nx~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) 오차: x1−x~1=(0.5,−0.5)x_1-\\tilde x_1=(0.5,-0.5)x1​−x~1​=(0.5,−0.5), x2−x~2=(−0.5,0.5)x_2-\\tilde x_2=(-0.5,0.5)x2​−x~2​=(−0.5,0.5), x3−x~3=(−0.5,0.5)x_3-\\tilde x_3=(-0.5,0.5)x3​−x~3​=(−0.5,0.5), x4−x~4=(0.5,−0.5)x_4-\\tilde x_4=(0.5,-0.5)x4​−x~4​=(0.5,−0.5). 제곱 노름은 모두 0.50.50.5.\n답: 평균 제곱 재구성 오차 =0.5=λ2=0.5=\\lambda_2=0.5=λ2​ (10.44). 두 점씩 같은 점으로 복원된다. 버린 방향 b2b_2b2​의 정보가 사라졌기 때문이다.\n10-2. 3차원에서 주성분 개수 고르기 (a) SSS는 왼쪽 위 2×22\\times22×2 블록과 오른쪽 아래 1×11\\times11×1 블록으로 나뉜다. 블록 [3113]\\begin{bmatrix}3\u0026amp;1\\\\1\u0026amp;3\\end{bmatrix}[31​13​]의 고유값은 3±13\\pm13±1이다.\n답: λ1=4\\lambda_1=4λ1​=4, b1=12(1,1,0)b_1=\\frac1{\\sqrt2}(1,1,0)b1​=2​1​(1,1,0); λ2=2\\lambda_2=2λ2​=2, b2=12(1,−1,0)b_2=\\frac1{\\sqrt2}(1,-1,0)b2​=2​1​(1,−1,0); λ3=1\\lambda_3=1λ3​=1, b3=(0,0,1)b_3=(0,0,1)b3​=(0,0,1)\n(b) 전체 분산 VD=trS=3+3+1=7=4+2+1V_D=\\text{tr}S=3+3+1=7=4+2+1VD​=trS=3+3+1=7=4+2+1.\nM=1M=1M=1: J1=2+1=3J_1=2+1=3J1​=2+1=3, 설명된 비율 47≈57.1%\\frac47\\approx57.1\\%74​≈57.1% M=2M=2M=2: J2=1J_2=1J2​=1, 설명된 비율 67≈85.7%\\frac67\\approx85.7\\%76​≈85.7% (c)\nM=1M=1M=1: z=b1⊤x=2+02=2z=b_1^\\top x=\\frac{2+0}{\\sqrt2}=\\sqrt2z=b1⊤​x=2​2+0​=2​, x~=b1z=(1,1,0)\\tilde x=b_1z=(1,1,0)x~=b1​z=(1,1,0). 오차 x−x~=(1,−1,1)x-\\tilde x=(1,-1,1)x−x~=(1,−1,1), 제곱 오차 3 M=2M=2M=2: b2⊤x=2−02=2b_2^\\top x=\\frac{2-0}{\\sqrt2}=\\sqrt2b2⊤​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 JMJ_MJM​은 데이터 전체의 평균 오차이고, 한 점의 오차는 그와 다를 수 있다. 여기서는 우연히 같다.\n10-3. 최대 분산 방향은 가장 큰 고유벡터다 (a) 데이터가 중심화되어 z1nz_{1n}z1n​의 평균도 0이다. 그러므로\nV1=1N∑nz1n2=1N∑nb1⊤xnxn⊤b1. V_1=\\frac1N\\sum_nz_{1n}^2=\\frac1N\\sum_nb_1^\\top x_nx_n^\\top b_1. V1​=N1​n∑​z1n2​=N1​n∑​b1⊤​xn​xn⊤​b1​.b1b_1b1​을 합 밖으로 꺼내면 V1=b1⊤(1N∑nxnxn⊤)b1=b1⊤Sb1V_1=b_1^\\top\\Big(\\frac1N\\sum_nx_nx_n^\\top\\Big)b_1=b_1^\\top Sb_1V1​=b1⊤​(N1​∑n​xn​xn⊤​)b1​=b1⊤​Sb1​ (10.9).\n(b) b1b_1b1​을 ccc배 하면 V1V_1V1​이 c2c^2c2배가 되어 얼마든지 커진다. 우리가 원하는 것은 방향이지 길이가 아니므로 ∥b1∥=1\\|b_1\\|=1∥b1​∥=1로 고정한다 (10.10).\n(c) 라그랑주 함수 (10.11)\nL(b1,λ1)=b1⊤Sb1+λ1(1−b1⊤b1). L(b_1,\\lambda_1)=b_1^\\top Sb_1+\\lambda_1(1-b_1^\\top b_1). L(b1​,λ1​)=b1⊤​Sb1​+λ1​(1−b1⊤​b1​).편미분 (10.12): ∂L∂b1=2b1⊤S−2λ1b1⊤\\frac{\\partial L}{\\partial b_1}=2b_1^\\top S-2\\lambda_1b_1^\\top∂b1​∂L​=2b1⊤​S−2λ1​b1⊤​, ∂L∂λ1=1−b1⊤b1\\frac{\\partial L}{\\partial\\lambda_1}=1-b_1^\\top b_1∂λ1​∂L​=1−b1⊤​b1​. 둘을 0으로 놓고 SSS가 대칭임을 쓰면\n답: Sb1=λ1b1Sb_1=\\lambda_1b_1Sb1​=λ1​b1​, b1⊤b1=1b_1^\\top b_1=1b1⊤​b1​=1 (10.13)~(10.14). b1b_1b1​은 SSS의 고유벡터이고 λ1\\lambda_1λ1​은 고유값이다.\n(d) 고유벡터라면 V1=b1⊤Sb1=λ1b1⊤b1=λ1V_1=b_1^\\top Sb_1=\\lambda_1b_1^\\top b_1=\\lambda_1V1​=b1⊤​Sb1​=λ1​b1⊤​b1​=λ1​ (10.15)이다. 분산이 곧 고유값이므로, 분산을 최대로 하려면 가장 큰 고유값의 고유벡터를 고른다.\n(e) B1=b1b1⊤B_1=b_1b_1^\\topB1​=b1​b1⊤​이라 하자. X^=(I−B1)X\\hat X=(I-B_1)XX^=(I−B1​)X이므로\nS^=1NX^X^⊤=(I−B1)S(I−B1). \\hat S=\\tfrac1N\\hat X\\hat X^\\top=(I-B_1)S(I-B_1). S^=N1​X^X^⊤=(I−B1​)S(I−B1​).SSS의 고유벡터 b1,…,bDb_1,\\dots,b_Db1​,…,bD​는 정규직교이므로 (I−B1)b1=0(I-B_1)b_1=0(I−B1​)b1​=0이고 i≥2i\\ge2i≥2에 대해 (I−B1)bi=bi(I-B_1)b_i=b_i(I−B1​)bi​=bi​다.\nS^b1=(I−B1)S⋅0=0\\hat Sb_1=(I-B_1)S\\cdot0=0S^b1​=(I−B1​)S⋅0=0 i≥2i\\ge2i≥2: S^bi=(I−B1)Sbi=(I−B1)λibi=λibi\\hat Sb_i=(I-B_1)Sb_i=(I-B_1)\\lambda_ib_i=\\lambda_ib_iS^bi​=(I−B1​)Sbi​=(I−B1​)λi​bi​=λi​bi​ 즉 S^\\hat SS^의 고유값은 0,λ2,…,λD0,\\lambda_2,\\dots,\\lambda_D0,λ2​,…,λD​이고 고유벡터는 그대로다. 남은 데이터에서 다시 분산을 최대로 하면 S^\\hat SS^의 가장 큰 고유값 λ2\\lambda_2λ2​의 고유벡터 b2b_2b2​가 나온다 (10.19)~(10.23).\n10-4. SVD로 PCA 하기 (a) XX⊤XX^\\topXX⊤의 (1,1) 성분은 첫 행의 제곱합 4+1+4+1=104+1+4+1=104+1+4+1=10, (1,2)는 두 행의 내적 2+2+2+2=82+2+2+2=82+2+2+2=8, (2,2)는 1+4+1+4=101+4+1+4=101+4+1+4=10.\n답: XX⊤=[108810]XX^\\top=\\begin{bmatrix}10\u0026amp;8\\\\8\u0026amp;10\\end{bmatrix}XX⊤=[108​810​]\n(b) X=UΣV⊤X=U\\Sigma V^\\topX=UΣV⊤이면 XX⊤=UΣΣ⊤U⊤XX^\\top=U\\Sigma\\Sigma^\\top U^\\topXX⊤=UΣΣ⊤U⊤이므로 특이값의 제곱이 XX⊤XX^\\topXX⊤의 고유값이다. 고유값은 10±8=18, 210\\pm8=18,\\ 210±8=18, 2.\n답: σ1=18=32≈4.243\\sigma_1=\\sqrt{18}=3\\sqrt2\\approx4.243σ1​=18​=32​≈4.243, σ2=2≈1.414\\sigma_2=\\sqrt2\\approx1.414σ2​=2​≈1.414\n(c) λd=σd2/N\\lambda_d=\\sigma_d^2/Nλd​=σd2​/N: 184=4.5\\frac{18}4=4.5418​=4.5, 24=0.5\\frac24=0.542​=0.5. 10-1의 고유값과 같다. 주성분 방향은 UUU의 열(왼쪽 특이벡터)이다.\n(d) 9장은 데이터를 행으로 쌓은 X∈RN×DX\\in\\mathbb R^{N\\times D}X∈RN×D를 쓴다. 10장은 열로 쌓은 X∈RD×NX\\in\\mathbb R^{D\\times N}X∈RD×N을 쓰고 S=1NXX⊤S=\\frac1NXX^\\topS=N1​XX⊤이다. 교재도 (10.46) 옆에서 \u0026ldquo;보통의 데이터 행렬의 전치\u0026quot;라고 적어 둔다. 공식을 옮겨 쓸 때 X⊤XX^\\top XX⊤X와 XX⊤XX^\\topXX⊤을 바꿔 쓰기 쉽다.\n10-5. N\u0026lt;DN\u0026lt;DN\u0026lt;D일 때: 작은 행렬의 고유벡터로 PCA 하기 (a) x1+x2+x3=(1−1+0, 0+1−1, 1+0−1, 0+1−1)=0x_1+x_2+x_3=(1-1+0,\\ 0+1-1,\\ 1+0-1,\\ 0+1-1)=0x1​+x2​+x3​=(1−1+0, 0+1−1, 1+0−1, 0+1−1)=0.\n(b) 내적을 모두 구한다: x1⋅x1=2x_1\\cdot x_1=2x1​⋅x1​=2, x2⋅x2=3x_2\\cdot x_2=3x2​⋅x2​=3, x3⋅x3=3x_3\\cdot x_3=3x3​⋅x3​=3, x1⋅x2=−1x_1\\cdot x_2=-1x1​⋅x2​=−1, x1⋅x3=−1x_1\\cdot x_3=-1x1​⋅x3​=−1, x2⋅x3=0−1+0−1=−2x_2\\cdot x_3=0-1+0-1=-2x2​⋅x3​=0−1+0−1=−2.\n답: X⊤X=[2−1−1−13−2−1−23]X^\\top X=\\begin{bmatrix}2\u0026amp;-1\u0026amp;-1\\\\-1\u0026amp;3\u0026amp;-2\\\\-1\u0026amp;-2\u0026amp;3\\end{bmatrix}X⊤X=​2−1−1​−13−2​−1−23​​\n(c) 각 행의 합이 0이므로 X⊤X[1,1,1]⊤=0X^\\top X[1,1,1]^\\top=0X⊤X[1,1,1]⊤=0, 고유값 하나는 0이다. 나머지 두 고유값 λa,λb\\lambda_a,\\lambda_bλa​,λb​는\n합 = 대각합 = 2+3+3=82+3+3=82+3+3=8 곱 = 2×22\\times22×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, 35,\\ 35, 3이다. 1NX⊤X\\frac1NX^\\top XN1​X⊤X의 고유값은 53, 1, 0\\frac53,\\ 1,\\ 035​, 1, 0이다.\n고유벡터:\n5: (X⊤X−5I)c=0(X^\\top X-5I)c=0(X⊤X−5I)c=0의 둘째 행 −c1−2c2−2c3=0-c_1-2c_2-2c_3=0−c1​−2c2​−2c3​=0과 c⊥[1,1,1]c\\perp[1,1,1]c⊥[1,1,1]에서 c1=0c_1=0c1​=0, c2=−c3c_2=-c_3c2​=−c3​ → c(1)=12(0,1,−1)c^{(1)}=\\frac1{\\sqrt2}(0,1,-1)c(1)=2​1​(0,1,−1) 3: 앞의 두 벡터에 모두 수직 → c(2)=16(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)에서 1NX⊤Xc=λc\\frac1NX^\\top Xc=\\lambda cN1​X⊤Xc=λc의 양변 왼쪽에 XXX를 곱하면 1NXX⊤(Xc)=λ(Xc)\\frac1NXX^\\top(Xc)=\\lambda(Xc)N1​XX⊤(Xc)=λ(Xc) (10.57), 즉 XcXcXc가 SSS의 고유벡터다.\nXc(1)=12(x2−x3)=12(−1, 2, 1, 2). \\begin{aligned} Xc^{(1)}\u0026amp;=\\tfrac1{\\sqrt2}(x_2-x_3)\\\\ \u0026amp;=\\tfrac1{\\sqrt2}(-1,\\ 2,\\ 1,\\ 2). \\end{aligned} Xc(1)​=2​1​(x2​−x3​)=2​1​(−1, 2, 1, 2).​길이의 제곱은 c⊤X⊤Xc=5c^\\top X^\\top Xc=5c⊤X⊤Xc=5이므로 b1=Xc(1)5=110(−1,2,1,2)b_1=\\frac{Xc^{(1)}}{\\sqrt5}=\\frac1{\\sqrt{10}}(-1,2,1,2)b1​=5​Xc(1)​=10​1​(−1,2,1,2).\n확인: Sb1=13∑nxn(xn⊤b1)Sb_1=\\frac13\\sum_nx_n(x_n^\\top b_1)Sb1​=31​∑n​xn​(xn⊤​b1​)이고 x1⊤b1=0x_1^\\top b_1=0x1⊤​b1​=0, x2⊤b1=510x_2^\\top b_1=\\frac5{\\sqrt{10}}x2⊤​b1​=10​5​, x3⊤b1=−510x_3^\\top b_1=-\\frac5{\\sqrt{10}}x3⊤​b1​=−10​5​이다. 따라서\nSb1=5310(x2−x3)=53 b1. Sb_1=\\frac{5}{3\\sqrt{10}}(x_2-x_3)=\\frac53\\,b_1. Sb1​=310​5​(x2​−x3​)=35​b1​.답: b1=110(−1,2,1,2)b_1=\\frac1{\\sqrt{10}}(-1,2,1,2)b1​=10​1​(−1,2,1,2), λ1=53\\lambda_1=\\frac53λ1​=35​. 같은 방법으로 b2=12(1,0,1,0)b_2=\\frac1{\\sqrt2}(1,0,1,0)b2​=2​1​(1,0,1,0), λ2=1\\lambda_2=1λ2​=1이다.\n(e) 고유분해 비용은 행렬 크기의 세제곱에 비례한다. 여기서는 4×44\\times44×4 대신 3×33\\times33×3이지만, MNIST처럼 D=784D=784D=784이고 N=100N=100N=100이면 784×784784\\times784784×784 대신 100×100100\\times100100×100을 푼다. XX⊤XX^\\topXX⊤와 X⊤XX^\\top XX⊤X의 0이 아닌 고유값은 같다(많아야 NNN개).\n10-6. 표준화 (a) 특성방정식 λ2−101λ+(100−36)=0\\lambda^2-101\\lambda+(100-36)=0λ2−101λ+(100−36)=0.\nλ=101±1012−2562=101±99452=101±99.7252. \\begin{aligned} \\lambda\u0026amp;=\\frac{101\\pm\\sqrt{101^2-256}}2\\\\ \u0026amp;=\\frac{101\\pm\\sqrt{9945}}2\\\\ \u0026amp;=\\frac{101\\pm99.725}2. \\end{aligned} λ​=2101±1012−256​​=2101±9945​​=2101±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)u1+6u2=0(100-100.36)u_1+6u_2=0(100−100.36)u1​+6u2​=0에서 u2≈0.060u1u_2\\approx0.060u_1u2​≈0.060u1​, 정규화하면 b1≈(0.998, 0.060)b_1\\approx(0.998,\\ 0.060)b1​≈(0.998, 0.060).\n답: 첫 주성분이 거의 첫째 축이다. 첫째 특징의 단위(cm)가 커서 분산이 100이기 때문이지, 데이터 구조 때문이 아니다.\n(b) 각 특징을 표준편차로 나누면 공분산이 Sij′=Sij/(σiσj)S\u0026#x27;_{ij}=S_{ij}/(\\sigma_i\\sigma_j)Sij′​=Sij​/(σi​σj​)가 된다: S11′=100100=1S\u0026#x27;_{11}=\\frac{100}{100}=1S11′​=100100​=1, S12′=610⋅1=0.6S\u0026#x27;_{12}=\\frac6{10\\cdot1}=0.6S12′​=10⋅16​=0.6, S22′=1S\u0026#x27;_{22}=1S22′​=1.\n답: S′=[10.60.61]S\u0026#x27;=\\begin{bmatrix}1\u0026amp;0.6\\\\0.6\u0026amp;1\\end{bmatrix}S′=[10.6​0.61​], 고유값 1±0.6=1.6, 0.41\\pm0.6=1.6,\\ 0.41±0.6=1.6, 0.4, 고유벡터 b1=12(1,1)b_1=\\frac1{\\sqrt2}(1,1)b1​=2​1​(1,1), b2=12(1,−1)b_2=\\frac1{\\sqrt2}(1,-1)b2​=2​1​(1,−1). 두 특징이 같은 비중으로 들어간다.\n(c)\n표준화 (10.58): (185−17010, 0.5−01)=(1.5, 0.5)\\big(\\frac{185-170}{10},\\ \\frac{0.5-0}1\\big)=(1.5,\\ 0.5)(10185−170​, 10.5−0​)=(1.5, 0.5) 좌표 (10.60): z∗=b1⊤x∗=1.5+0.52=2≈1.414z_*=b_1^\\top x_*=\\frac{1.5+0.5}{\\sqrt2}=\\sqrt2\\approx1.414z∗​=b1⊤​x∗​=2​1.5+0.5​=2​≈1.414 표준화 공간에서의 사영 (10.59): x~∗=b1z∗=(1, 1)\\tilde x_*=b_1z_*=(1,\\ 1)x~∗​=b1​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∗​라고 강조한다.\n10-7. 거듭제곱법 (a) 정규화 전 벡터: Sx0=(2,1)Sx_0=(2,1)Sx0​=(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).\n답: x1=(2,1)5≈(0.894,0.447)x_1=\\frac{(2,1)}{\\sqrt5}\\approx(0.894,0.447)x1​=5​(2,1)​≈(0.894,0.447), x2=(5,4)41≈(0.781,0.625)x_2=\\frac{(5,4)}{\\sqrt{41}}\\approx(0.781,0.625)x2​=41​(5,4)​≈(0.781,0.625), x3=(14,13)365≈(0.733,0.680)x_3=\\frac{(14,13)}{\\sqrt{365}}\\approx(0.733,0.680)x3​=365​(14,13)​≈(0.733,0.680). 12(1,1)≈(0.707,0.707)\\frac1{\\sqrt2}(1,1)\\approx(0.707,0.707)2​1​(1,1)≈(0.707,0.707)로 다가간다.\n(b) 레일리 몫 v⊤Svv⊤v\\frac{v^\\top Sv}{v^\\top v}v⊤vv⊤Sv​:\nk=1k=1k=1: (2,1)⋅(5,4)5=145=2.8\\frac{(2,1)\\cdot(5,4)}5=\\frac{14}5=2.85(2,1)⋅(5,4)​=514​=2.8 k=2k=2k=2: (5,4)⋅(14,13)41=12241≈2.976\\frac{(5,4)\\cdot(14,13)}{41}=\\frac{122}{41}\\approx2.97641(5,4)⋅(14,13)​=41122​≈2.976 k=3k=3k=3: (14,13)⋅(41,40)365=1094365≈2.997\\frac{(14,13)\\cdot(41,40)}{365}=\\frac{1094}{365}\\approx2.997365(14,13)⋅(41,40)​=3651094​≈2.997 답: λ1=3\\lambda_1=3λ1​=3으로 수렴한다.\n(c) (교재 밖 보충) x0x_0x0​를 고유벡터로 나누면 x0=(1,0)=12(1,1)+12(1,−1)x_0=(1,0)=\\frac12(1,1)+\\frac12(1,-1)x0​=(1,0)=21​(1,1)+21​(1,−1)이다. 따라서\nSkx0=12 3k(1,1)+12 1k(1,−1)=(3k+12, 3k−12). \\begin{aligned} S^kx_0\u0026amp;=\\tfrac12\\,3^k(1,1)+\\tfrac12\\,1^k(1,-1)\\\\ \u0026amp;=\\Big(\\tfrac{3^k+1}2,\\ \\tfrac{3^k-1}2\\Big). \\end{aligned} Skx0​​=21​3k(1,1)+21​1k(1,−1)=(23k+1​, 23k−1​).​b2b_2b2​ 성분은 b1b_1b1​ 성분에 비해 매번 λ2/λ1=13\\lambda_2/\\lambda_1=\\frac13λ2​/λ1​=31​배로 줄어든다. 실제로 b1b_1b1​과의 각도가 18.4∘→6.3∘→2.1∘→0.7∘18.4^\\circ\\to6.3^\\circ\\to2.1^\\circ\\to0.7^\\circ18.4∘→6.3∘→2.1∘→0.7∘로 거의 3분의 1씩 준다. 두 고유값이 비슷하면 느리고, x0x_0x0​에 b1b_1b1​ 성분이 전혀 없으면 b1b_1b1​에 도달하지 못한다.\n10-8. 확률적 PCA (a) BB⊤=[4221]BB^\\top=\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;1\\end{bmatrix}BB⊤=[42​21​].\n답: BB⊤+σ2I=[5222]BB^\\top+\\sigma^2I=\\begin{bmatrix}5\u0026amp;2\\\\2\u0026amp;2\\end{bmatrix}BB⊤+σ2I=[52​22​] (10.70b)\n(b) (10.71): Cov[x,z]=B=[2,1]⊤\\text{Cov}[x,z]=B=[2,1]^\\topCov[x,z]=B=[2,1]⊤. (10.72):\np(x,z)=N ⁣([xz]| 0, [522221211]). p(x,z)=\\mathcal N\\!\\left(\\begin{bmatrix}x\\\\z\\end{bmatrix}\\middle|\\ 0,\\ \\begin{bmatrix}5\u0026amp;2\u0026amp;2\\\\2\u0026amp;2\u0026amp;1\\\\2\u0026amp;1\u0026amp;1\\end{bmatrix}\\right). p(x,z)=N​[xz​]​ 0, ​522​221​211​​​.(c) det⁡[5222]=6\\det\\begin{bmatrix}5\u0026amp;2\\\\2\u0026amp;2\\end{bmatrix}=6det[52​22​]=6, 역행렬 16[2−2−25]\\frac16\\begin{bmatrix}2\u0026amp;-2\\\\-2\u0026amp;5\\end{bmatrix}61​[2−2​−25​]. 먼저 B⊤(BB⊤+σ2I)−1=16[4−2, −4+5]=16[2, 1]B^\\top(BB^\\top+\\sigma^2I)^{-1}=\\frac16[4-2,\\ -4+5]=\\frac16[2,\\ 1]B⊤(BB⊤+σ2I)−1=61​[4−2, −4+5]=61​[2, 1].\n(10.74): m=16(2⋅3+1⋅1)=76m=\\frac16(2\\cdot3+1\\cdot1)=\\frac76m=61​(2⋅3+1⋅1)=67​ (10.75): C=1−16(2⋅2+1⋅1)=1−56=16C=1-\\frac16(2\\cdot2+1\\cdot1)=1-\\frac56=\\frac16C=1−61​(2⋅2+1⋅1)=1−65​=61​ 답: p(z∣x)=N(76, 16)≈N(1.167, 0.167)p(z\\mid x)=\\mathcal N\\big(\\frac76,\\ \\frac16\\big)\\approx\\mathcal N(1.167,\\ 0.167)p(z∣x)=N(67​, 61​)≈N(1.167, 0.167)\n(교재 밖 보충) 역행렬 보조정리로 m=(B⊤B+σ2)−1B⊤x=75+1m=(B^\\top B+\\sigma^2)^{-1}B^\\top x=\\frac7{5+1}m=(B⊤B+σ2)−1B⊤x=5+17​, C=σ2(B⊤B+σ2)−1=16C=\\sigma^2(B^\\top B+\\sigma^2)^{-1}=\\frac16C=σ2(B⊤B+σ2)−1=61​로 더 빨리 구할 수 있다.\n(d) σ2→0\\sigma^2\\to0σ2→0이면 m→(B⊤B)−1B⊤x=75=1.4m\\to(B^\\top B)^{-1}B^\\top x=\\frac75=1.4m→(B⊤B)−1B⊤x=57​=1.4, C→0C\\to0C→0. Bm=(2.8, 1.4)Bm=(2.8,\\ 1.4)Bm=(2.8, 1.4)는 x=(3,1)x=(3,1)x=(3,1)을 직선 span(B)\\text{span}(B)span(B)에 직교사영한 점이다. 이 값이 PCA 좌표 b⊤xb^\\top xb⊤x와 같아지는 것은 BBB의 열이 정규직교일 때뿐이다. 여기서는 ∥B∥=5\\|B\\|=\\sqrt5∥B∥=5​라서 정규화한 b=B/5b=B/\\sqrt5b=B/5​의 PCA 좌표는 75\\frac7{\\sqrt5}5​7​이고, 1.41.41.4와는 5\\sqrt55​배 차이가 난다.\n10-9. 재구성 오차는 버린 고유값의 합이다 (a) x~n=∑m=1Mzmnbm\\tilde x_n=\\sum_{m=1}^Mz_{mn}b_mx~n​=∑m=1M​zmn​bm​ (10.28), JM=1N∑n∥xn−x~n∥2J_M=\\frac1N\\sum_n\\|x_n-\\tilde x_n\\|^2JM​=N1​∑n​∥xn​−x~n​∥2 (10.29). 연쇄법칙 (10.30):\n∂JM∂zin=∂JM∂x~n∂x~n∂zin=−2N(xn−x~n)⊤bi. \\frac{\\partial J_M}{\\partial z_{in}}=\\frac{\\partial J_M}{\\partial\\tilde x_n}\\frac{\\partial\\tilde x_n}{\\partial z_{in}}=-\\frac2N(x_n-\\tilde x_n)^\\top b_i. ∂zin​∂JM​​=∂x~n​∂JM​​∂zin​∂x~n​​=−N2​(xn​−x~n​)⊤bi​.bbb들이 정규직교이므로 x~n⊤bi=zin\\tilde x_n^\\top b_i=z_{in}x~n⊤​bi​=zin​이고, 위 식은 −2N(xn⊤bi−zin)-\\frac2N(x_n^\\top b_i-z_{in})−N2​(xn⊤​bi​−zin​) (10.31b)이다.\n답: 0으로 놓으면 zin=xn⊤bi=bi⊤xnz_{in}=x_n^\\top b_i=b_i^\\top x_nzin​=xn⊤​bi​=bi⊤​xn​ (10.32). 최적 좌표는 직교사영의 좌표다.\n(b) 정규직교 기저로 xnx_nxn​을 전부 펼치면 xn=∑d=1D(bd⊤xn)bdx_n=\\sum_{d=1}^D(b_d^\\top x_n)b_dxn​=∑d=1D​(bd⊤​xn​)bd​ (10.37)이다. (a)의 최적 좌표를 쓴 x~n\\tilde x_nx~n​은 앞 MMM개 항이므로\nxn−x~n=∑j=M+1D(bj⊤xn)bj=∑j=M+1Dbjbj⊤xn. \\begin{aligned} x_n-\\tilde x_n\u0026amp;=\\sum_{j=M+1}^D(b_j^\\top x_n)b_j\\\\ \u0026amp;=\\sum_{j=M+1}^Db_jb_j^\\top x_n. \\end{aligned} xn​−x~n​​=j=M+1∑D​(bj⊤​xn​)bj​=j=M+1∑D​bj​bj⊤​xn​.​이것이 (10.38)이다. 오차 벡터는 버린 방향들만으로 이루어진다.\n(c) 서로 수직인 벡터의 합의 제곱 노름은 제곱 노름의 합이다(피타고라스). 그래서 ∥xn−x~n∥2=∑j\u0026gt;M(bj⊤xn)2\\|x_n-\\tilde x_n\\|^2=\\sum_{j\u0026gt;M}(b_j^\\top x_n)^2∥xn​−x~n​∥2=∑j\u0026gt;M​(bj⊤​xn​)2이고\nJM=1N∑n∑j\u0026gt;Mbj⊤xnxn⊤bj=∑j\u0026gt;Mbj⊤Sbj. \\begin{aligned} J_M\u0026amp;=\\frac1N\\sum_n\\sum_{j\u0026gt;M}b_j^\\top x_nx_n^\\top b_j\\\\ \u0026amp;=\\sum_{j\u0026gt;M}b_j^\\top Sb_j. \\end{aligned} JM​​=N1​n∑​j\u0026gt;M∑​bj⊤​xn​xn⊤​bj​=j\u0026gt;M∑​bj⊤​Sbj​.​이것이 (10.43)이다.\n(d) JMJ_MJM​을 가장 작게 하려면 버리는 방향 bM+1,…,bDb_{M+1},\\dots,b_DbM+1​,…,bD​를 가장 작은 고유값들의 고유벡터로 고른다. 그러면 bj⊤Sbj=λjb_j^\\top Sb_j=\\lambda_jbj⊤​Sbj​=λj​이고 JM=∑j=M+1DλjJ_M=\\sum_{j=M+1}^D\\lambda_jJM​=∑j=M+1D​λj​ (10.44)이다. 전체 분산은 VD=trS=∑d=1DλdV_D=\\text{tr}S=\\sum_{d=1}^D\\lambda_dVD​=trS=∑d=1D​λd​이고, 남긴 분산은 VM=∑m=1MλmV_M=\\sum_{m=1}^M\\lambda_mVM​=∑m=1M​λm​이므로 VD=VM+JMV_D=V_M+J_MVD​=VM​+JM​ (10.24)~(10.25)이다. 전체 분산은 정해져 있으니 재구성 오차를 최소로 하는 것과 남긴 분산을 최대로 하는 것은 같은 일이다. 두 관점이 같은 답을 주는 이유다.\n11장 GMM과 EM 11-1. 교재 예제의 책임도 세 성분의 πk\\pi_kπk​가 모두 13\\frac1331​이라 (11.17)의 분자·분모에서 약분된다. 그래서 rnk=NkN1+N2+N3r_{nk}=\\frac{\\mathcal N_k}{\\mathcal N_1+\\mathcal N_2+\\mathcal N_3}rnk​=N1​+N2​+N3​Nk​​만 계산하면 된다. 정규분포의 지수는 −(x−μ)22σ2-\\frac{(x-\\mu)^2}{2\\sigma^2}−2σ2(x−μ)2​이다.\nx=−1x=-1x=−1:\nN(−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.004432N(−1∣−4,1)=0.3989e−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.07322N(−1∣0,0.2)=0.8921e−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.2303e−81/6=0.2303(1.37×10−6)≈3.2×10−7 합 0.077650.077650.07765.\n답: r=(0.057, 0.943, 0.000)r=(0.057,\\ 0.943,\\ 0.000)r=(0.057, 0.943, 0.000)\nx=2x=2x=2:\nN(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.3989e−18≈6.1×10−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.8921e−4/0.4=0.8921(4.54×10−5)=4.05×10−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.2303e−36/6=0.2303(0.002479)=5.709×10−4 합 6.114×10−46.114\\times10^{-4}6.114×10−4.\n답: r=(0.000, 0.066, 0.934)r=(0.000,\\ 0.066,\\ 0.934)r=(0.000, 0.066, 0.934)\n둘 다 교재 (11.19)와 같다. x=2x=2x=2는 성분 2의 평균 0에 더 가깝지만(거리 2 대 6), 성분 2는 분산이 0.2로 좁아서 표준편차 단위로는 2/0.2≈4.52/\\sqrt{0.2}\\approx4.52/0.2​≈4.5배, 성분 3은 6/3≈3.56/\\sqrt3\\approx3.56/3​≈3.5배 떨어져 있다. 그래서 성분 3이 책임을 더 진다.\n11-2. 교재 예제의 M 단계 한 번 (a) 열마다 더한다.\nN1=1+1+0.057+0.001=2.058N_1=1+1+0.057+0.001=2.058N1​=1+1+0.057+0.001=2.058 N2=0.943+0.999+0.066=2.008N_2=0.943+0.999+0.066=2.008N2​=0.943+0.999+0.066=2.008 N3=0.934+1+1=2.934N_3=0.934+1+1=2.934N3​=0.934+1+1=2.934 합 7=N7=N7=N (행마다 책임도 합이 1이므로).\n(b) (11.20) μk=1Nk∑nrnkxn\\mu_k=\\frac1{N_k}\\sum_nr_{nk}x_nμk​=Nk​1​∑n​rnk​xn​:\nμ1=−3−2.5+0.057(−1)+0.001(0)2.058=−5.5572.058≈−2.700\\mu_1=\\frac{-3-2.5+0.057(-1)+0.001(0)}{2.058}=\\frac{-5.557}{2.058}\\approx-2.700μ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.8112.008≈−0.404\\mu_2=\\frac{0.943(-1)+0.999(0)+0.066(2)}{2.008}=\\frac{-0.811}{2.008}\\approx-0.404μ2​=2.0080.943(−1)+0.999(0)+0.066(2)​=2.008−0.811​≈−0.404 μ3=0.934(2)+4+52.934=10.8682.934≈3.704\\mu_3=\\frac{0.934(2)+4+5}{2.934}=\\frac{10.868}{2.934}\\approx3.704μ3​=2.9340.934(2)+4+5​=2.93410.868​≈3.704 (c) (11.30)의 1차원판 σk2=1Nk∑nrnk(xn−μk)2\\sigma_k^2=\\frac1{N_k}\\sum_nr_{nk}(x_n-\\mu_k)^2σk2​=Nk​1​∑n​rnk​(xn​−μk​)2, 새 평균 사용(교재 (11.54)~(11.55) 옆 주석).\nσ12\\sigma_1^2σ12​: 항 0.0899, 0.0401, 0.057(1.700)2=0.1648, 0.001(2.700)2=0.00730.0899,\\ 0.0401,\\ 0.057(1.700)^2=0.1648,\\ 0.001(2.700)^2=0.00730.0899, 0.0401, 0.057(1.700)2=0.1648, 0.001(2.700)2=0.0073, 합 0.30200.30200.3020 → 0.30202.058≈0.147\\frac{0.3020}{2.058}\\approx0.1472.0580.3020​≈0.147 σ22\\sigma_2^2σ22​: 항 0.943(0.596)2=0.3351, 0.999(0.404)2=0.1630, 0.066(2.404)2=0.38140.943(0.596)^2=0.3351,\\ 0.999(0.404)^2=0.1630,\\ 0.066(2.404)^2=0.38140.943(0.596)2=0.3351, 0.999(0.404)2=0.1630, 0.066(2.404)2=0.3814, 합 0.87950.87950.8795 → 0.87952.008≈0.438\\frac{0.8795}{2.008}\\approx0.4382.0080.8795​≈0.438 σ32\\sigma_3^2σ32​: 항 0.934(1.704)2=2.7125, (0.296)2=0.0875, (1.296)2=1.67920.934(1.704)^2=2.7125,\\ (0.296)^2=0.0875,\\ (1.296)^2=1.67920.934(1.704)2=2.7125, (0.296)2=0.0875, (1.296)2=1.6792, 합 4.47924.47924.4792 → 4.47922.934≈1.527\\frac{4.4792}{2.934}\\approx1.5272.9344.4792​≈1.527 (d) (11.42) πk=Nk/N\\pi_k=N_k/Nπk​=Nk​/N: 2.0587≈0.294\\frac{2.058}7\\approx0.29472.058​≈0.294, 2.0087≈0.287\\frac{2.008}7\\approx0.28772.008​≈0.287, 2.9347≈0.419\\frac{2.934}7\\approx0.41972.934​≈0.419.\n(e) 평균 −2.7,−0.4,3.7-2.7,-0.4,3.7−2.7,−0.4,3.7과 비율 0.29,0.29,0.420.29,0.29,0.420.29,0.29,0.42는 교재와 같다. 분산은 0.1470.1470.147이 교재의 0.140.140.14와 조금 다른데, 표의 x=0x=0x=0 행 0.0010.0010.001 때문이다. 정확한 책임도는 r41≈0.00015r_{41}\\approx0.00015r41​≈0.00015이고, 반올림하지 않은 책임도로 계산하면 σ12≈0.144\\sigma_1^2\\approx0.144σ12​≈0.144로 교재 값이 나온다. 나머지 둘(0.438≈0.440.438\\approx0.440.438≈0.44, 1.527≈1.531.527\\approx1.531.527≈1.53)은 같다. 로그 가능도는 −28.3-28.3−28.3에서 −14.4-14.4−14.4로 늘어난다(교재 예제 11.5 끝).\n11-3. 갱신식 유도: 평균과 분산 (a) 로그 가능도 (11.10)은 L=∑nlog⁡p(xn∣θ)L=\\sum_n\\log p(x_n\\mid\\theta)L=∑n​logp(xn​∣θ), p(xn∣θ)=∑jπjN(xn∣μj,Σj)p(x_n\\mid\\theta)=\\sum_j\\pi_j\\mathcal N(x_n\\mid\\mu_j,\\Sigma_j)p(xn​∣θ)=∑j​πj​N(xn​∣μj​,Σj​)이다. 로그의 미분 (11.15)로\n∂L∂μk=∑n1p(xn∣θ)∂p(xn∣θ)∂μk. \\frac{\\partial L}{\\partial\\mu_k}=\\sum_n\\frac{1}{p(x_n\\mid\\theta)}\\frac{\\partial p(x_n\\mid\\theta)}{\\partial\\mu_k}. ∂μk​∂L​=n∑​p(xn​∣θ)1​∂μk​∂p(xn​∣θ)​.합 안에서 μk\\mu_kμk​를 가진 것은 kkk번째 항뿐이다. 가우시안 지수 −12(x−μ)⊤Σ−1(x−μ)-\\frac12(x-\\mu)^\\top\\Sigma^{-1}(x-\\mu)−21​(x−μ)⊤Σ−1(x−μ)를 μ\\muμ로 미분하면 (x−μ)⊤Σ−1(x-\\mu)^\\top\\Sigma^{-1}(x−μ)⊤Σ−1이므로 (11.21)\n∂p(xn∣θ)∂μk=πkN(xn∣μk,Σk)⋅(xn−μk)⊤Σk−1. \\begin{aligned} \\frac{\\partial p(x_n\\mid\\theta)}{\\partial\\mu_k}\u0026amp;=\\pi_k\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)\\\\ \u0026amp;\\quad\\cdot(x_n-\\mu_k)^\\top\\Sigma_k^{-1}. \\end{aligned} ∂μk​∂p(xn​∣θ)​​=πk​N(xn​∣μk​,Σk​)⋅(xn​−μk​)⊤Σk−1​.​대입하면 분수 부분이 정확히 rnkr_{nk}rnk​ (11.17)이다 (11.22).\n∂L∂μk=∑nrnk(xn−μk)⊤Σk−1=0⊤. \\frac{\\partial L}{\\partial\\mu_k}=\\sum_nr_{nk}(x_n-\\mu_k)^\\top\\Sigma_k^{-1}=0^\\top. ∂μk​∂L​=n∑​rnk​(xn​−μk​)⊤Σk−1​=0⊤.오른쪽에서 Σk\\Sigma_kΣk​를 곱하면 ∑nrnkxn=μk∑nrnk=Nkμk\\sum_nr_{nk}x_n=\\mu_k\\sum_nr_{nk}=N_k\\mu_k∑n​rnk​xn​=μk​∑n​rnk​=Nk​μk​.\n답: μknew=1Nk∑nrnkxn\\mu_k^{\\text{new}}=\\frac1{N_k}\\sum_nr_{nk}x_nμknew​=Nk​1​∑n​rnk​xn​ (11.20)\n(b) 오른쪽의 rnkr_{nk}rnk​가 μk\\mu_kμk​를 포함한 모든 매개변수에 의존한다. 식의 양쪽에 μk\\mu_kμk​가 있는 셈이라 한 번에 풀리지 않는다. 그래서 rnkr_{nk}rnk​를 현재 값으로 고정하고 갱신하는 일을 반복한다(EM). 교재 11.3절 첫 문장이 이 이야기다.\n(c) 1차원 로그 밀도 log⁡N(x∣μ,σ2)=−12log⁡2π−12log⁡σ2−(x−μ)22σ2\\log\\mathcal N(x\\mid\\mu,\\sigma^2)=-\\frac12\\log2\\pi-\\frac12\\log\\sigma^2-\\frac{(x-\\mu)^2}{2\\sigma^2}logN(x∣μ,σ2)=−21​log2π−21​logσ2−2σ2(x−μ)2​를 σ2\\sigma^2σ2로 미분하면 −12σ2+(x−μ)22σ4-\\frac1{2\\sigma^2}+\\frac{(x-\\mu)^2}{2\\sigma^4}−2σ21​+2σ4(x−μ)2​이다. (a)와 같은 과정으로\n∂L∂σk2=∑nrnk(−12σk2+(xn−μk)22σk4)=0. \\begin{aligned} \u0026amp;\\frac{\\partial L}{\\partial\\sigma_k^2}\\\\ \u0026amp;=\\sum_nr_{nk}\\Big(-\\frac1{2\\sigma_k^2}+\\frac{(x_n-\\mu_k)^2}{2\\sigma_k^4}\\Big)=0. \\end{aligned} ​∂σk2​∂L​=n∑​rnk​(−2σk2​1​+2σk4​(xn​−μk​)2​)=0.​2σk42\\sigma_k^42σk4​를 곱하면 ∑nrnk(−σk2+(xn−μk)2)=0\\sum_nr_{nk}\\big(-\\sigma_k^2+(x_n-\\mu_k)^2\\big)=0∑n​rnk​(−σk2​+(xn​−μk​)2)=0, 즉 Nkσk2=∑nrnk(xn−μk)2N_k\\sigma_k^2=\\sum_nr_{nk}(x_n-\\mu_k)^2Nk​σk2​=∑n​rnk​(xn​−μk​)2.\n답: σk2,new=1Nk∑nrnk(xn−μk)2\\sigma_k^{2,\\text{new}}=\\frac1{N_k}\\sum_nr_{nk}(x_n-\\mu_k)^2σk2,new​=Nk​1​∑n​rnk​(xn​−μk​)2 ((11.30)의 1차원판)\n11-4. 혼합 비율 갱신: 라그랑주 승수 (a) (11.43):\nL=∑nlog⁡∑kπkN(xn∣μk,Σk)+λ(∑kπk−1). \\begin{aligned} \\mathfrak L\u0026amp;=\\sum_n\\log\\sum_k\\pi_k\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)\\\\ \u0026amp;\\quad+\\lambda\\Big(\\sum_k\\pi_k-1\\Big). \\end{aligned} L​=n∑​logk∑​πk​N(xn​∣μk​,Σk​)+λ(k∑​πk​−1).​(b) πk\\pi_kπk​로 미분하면 (11.44)\n∂L∂πk=∑nN(xn∣μk,Σk)∑jπjN(xn∣μj,Σj)+λ. \\frac{\\partial\\mathfrak L}{\\partial\\pi_k}=\\sum_n\\frac{\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)}{\\sum_j\\pi_j\\mathcal N(x_n\\mid\\mu_j,\\Sigma_j)}+\\lambda. ∂πk​∂L​=n∑​∑j​πj​N(xn​∣μj​,Σj​)N(xn​∣μk​,Σk​)​+λ.합 안의 분수는 rnk/πkr_{nk}/\\pi_krnk​/πk​이므로 첫 항은 Nk/πkN_k/\\pi_kNk​/πk​이다. 0으로 놓으면 πk=−Nk/λ\\pi_k=-N_k/\\lambdaπk​=−Nk​/λ (11.46).\n(c) 제약 ∑kπk=1\\sum_k\\pi_k=1∑k​πk​=1에 넣으면 −∑kNkλ=1-\\frac{\\sum_kN_k}\\lambda=1−λ∑k​Nk​​=1. 각 nnn에서 ∑krnk=1\\sum_kr_{nk}=1∑k​rnk​=1이므로 ∑kNk=N\\sum_kN_k=N∑k​Nk​=N이고 λ=−N\\lambda=-Nλ=−N (11.47)~(11.48).\n답: πk=NkN\\pi_k=\\frac{N_k}Nπk​=NNk​​ (11.49). 성분 kkk가 맡은 \u0026ldquo;유효 데이터 수\u0026quot;의 비율이다.\n11-5. 잠재변수 관점과 결정 경계 (a) z=[z1,z2]⊤z=[z_1,z_2]^\\topz=[z1​,z2​]⊤은 원-핫(하나만 1). p(zk=1)=πkp(z_k=1)=\\pi_kp(zk​=1)=πk​ (11.59)(11.60), p(x∣zk=1)=N(x∣μk,σk2)p(x\\mid z_k=1)=\\mathcal N(x\\mid\\mu_k,\\sigma_k^2)p(x∣zk​=1)=N(x∣μk​,σk2​) (11.58). zzz의 가능한 값 두 개에 대해 더하면 (11.65)(11.66)\np(x)=∑kp(x∣zk=1)p(zk=1)=∑kπkN(x∣μk,σk2). \\begin{aligned} p(x)\u0026amp;=\\sum_kp(x\\mid z_k=1)p(z_k=1)\\\\ \u0026amp;=\\sum_k\\pi_k\\mathcal N(x\\mid\\mu_k,\\sigma_k^2). \\end{aligned} p(x)​=k∑​p(x∣zk​=1)p(zk​=1)=k∑​πk​N(x∣μk​,σk2​).​GMM이 그대로 나온다.\n(b) x=1x=1x=1은 두 평균 0과 2에서 같은 거리이고 분산도 같아 N(1∣0,1)=N(1∣2,1)≈0.2420\\mathcal N(1\\mid0,1)=\\mathcal N(1\\mid2,1)\\approx0.2420N(1∣0,1)=N(1∣2,1)≈0.2420이다.\np(z1=1∣x=1)=0.6(0.2420)0.6(0.2420)+0.4(0.2420)=0.6. \\begin{aligned} \u0026amp;p(z_1=1\\mid x=1)\\\\ \u0026amp;=\\frac{0.6(0.2420)}{0.6(0.2420)+0.4(0.2420)}=0.6. \\end{aligned} ​p(z1​=1∣x=1)=0.6(0.2420)+0.4(0.2420)0.6(0.2420)​=0.6.​답: 0.6=π10.6=\\pi_10.6=π1​. 가능도 비가 1이라 데이터가 어느 쪽 편도 들지 않으므로, 사후확률이 사전확률 그대로다.\n(c) 0.6e−x2/2=0.4e−(x−2)2/20.6e^{-x^2/2}=0.4e^{-(x-2)^2/2}0.6e−x2/2=0.4e−(x−2)2/2. 로그를 취해 정리하면\nlog⁡1.5=x2−(x−2)22=4x−42=2x−2. \\begin{aligned} \\log1.5\u0026amp;=\\frac{x^2-(x-2)^2}2\\\\ \u0026amp;=\\frac{4x-4}2=2x-2. \\end{aligned} log1.5​=2x2−(x−2)2​=24x−4​=2x−2.​답: x=1+log⁡1.52≈1.203x=1+\\frac{\\log1.5}2\\approx1.203x=1+2log1.5​≈1.203. 비율이 큰 성분 1이 경계를 성분 2 쪽으로 밀어낸다.\n11-6. EM 한 바퀴: 잘 갈라진 데이터 (a) π\\piπ와 분산이 같으니 약분하면\nrn1=e−(x−1)2/2e−(x−1)2/2+e−(x−5)2/2=11+e4x−12. \\begin{aligned} r_{n1}\u0026amp;=\\frac{e^{-(x-1)^2/2}}{e^{-(x-1)^2/2}+e^{-(x-5)^2/2}}\\\\ \u0026amp;=\\frac1{1+e^{4x-12}}. \\end{aligned} rn1​​=e−(x−1)2/2+e−(x−5)2/2e−(x−1)2/2​=1+e4x−121​.​((x−1)2−(x−5)2=8x−24(x-1)^2-(x-5)^2=8x-24(x−1)2−(x−5)2=8x−24를 2로 나눈 것이 4x−124x-124x−12다.)\nxnx_nxn​ 4x−124x-124x−12 rn1r_{n1}rn1​ rn2r_{n2}rn2​ 0 −12-12−12 0.9999940.9999940.999994 0.0000060.0000060.000006 1 −8-8−8 0.9996650.9996650.999665 0.0003350.0003350.000335 5 888 0.0003350.0003350.000335 0.9996650.9996650.999665 6 121212 0.0000060.0000060.000006 0.9999940.9999940.999994 (b)\nN1=N2=2.000N_1=N_2=2.000N1​=N2​=2.000 (대칭) μ1\\mu_1μ1​: 분자 ∑nrn1xn=0(0.999994)+1(0.999665)+5(0.000335)+6(0.000006)=1.00138\\sum_nr_{n1}x_n=0(0.999994)+1(0.999665)+5(0.000335)+6(0.000006)=1.00138∑n​rn1​xn​=0(0.999994)+1(0.999665)+5(0.000335)+6(0.000006)=1.00138을 N1=2N_1=2N1​=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 σ12=12[0.999994(0.5007)2+0.999665(0.4993)2+0.000335(4.4993)2+0.000006(5.4993)2]=0.2507+0.2492+0.0068+0.00022≈0.2534\\sigma_1^2=\\frac12\\big[0.999994(0.5007)^2+0.999665(0.4993)^2+0.000335(4.4993)^2+0.000006(5.4993)^2\\big]=\\frac{0.2507+0.2492+0.0068+0.0002}2\\approx0.2534σ12​=21​[0.999994(0.5007)2+0.999665(0.4993)2+0.000335(4.4993)2+0.000006(5.4993)2]=20.2507+0.2492+0.0068+0.0002​≈0.2534, 대칭으로 σ22≈0.2534\\sigma_2^2\\approx0.2534σ22​≈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로 줄여 두 점씩 모인 덩어리에 밀도를 집중시켰기 때문에 데이터 위의 밀도가 커졌다.\n(d) 책임도가 거의 0 또는 1이므로 μk\\mu_kμk​는 거의 \u0026ldquo;그 성분에 배정된 점들의 평균\u0026rdquo; 0+12=0.5\\frac{0+1}2=0.520+1​=0.5, 5+62=5.5\\frac{5+6}2=5.525+6​=5.5이다. 이것이 K-평균의 중심 갱신 단계다. E 단계는 각 점을 가장 가까운 평균에 배정하는 K-평균의 배정 단계에 해당한다. 교재 11.5절은 \u0026ldquo;GMM의 평균을 군집 중심으로 보고 공분산을 무시(단위행렬로)하면 K-평균이 되며, K-평균은 딱 잘라 배정하고 GMM은 책임도로 부드럽게 배정한다\u0026quot;고 적는다. (교재 밖 보충: 모든 성분의 공분산을 σ2I\\sigma^2Iσ2I로 같게 두고 σ2→0\\sigma^2\\to0σ2→0으로 보내면 책임도가 정확히 0/1이 되어 K-평균과 같아진다.)\n11-7. 최대가능도의 특이점 (a) 로그 밀도 항은 둘 다 양수인 두 항의 합의 로그이므로 한 항보다 크다.\nlog⁡[0.5N(0∣0,ε)+0.5N(0∣3,10)]≥log⁡0.5−12log⁡(2πε). \\begin{aligned} \u0026amp;\\log\\big[0.5\\mathcal N(0\\mid0,\\varepsilon)\\\\ \u0026amp;\\qquad+0.5\\mathcal N(0\\mid3,10)\\big]\\\\ \u0026amp;\\ge\\log0.5-\\tfrac12\\log(2\\pi\\varepsilon). \\end{aligned} ​log[0.5N(0∣0,ε)+0.5N(0∣3,10)]≥log0.5−21​log(2πε).​ε→0\\varepsilon\\to0ε→0이면 −12log⁡ε→+∞-\\frac12\\log\\varepsilon\\to+\\infty−21​logε→+∞이므로 이 항은 +∞+\\infty+∞로 간다.\n(b) x∈{1,5,6}x\\in\\{1,5,6\\}x∈{1,5,6}의 항은 log⁡[0.5N(x∣3,10)]\\log\\big[0.5\\mathcal N(x\\mid3,10)\\big]log[0.5N(x∣3,10)] 이상이고, 이 값은 ε\\varepsilonε과 무관한 유한한 수다(예: x=1x=1x=1이면 약 −2.96-2.96−2.96). 합하면 \u0026ldquo;+∞+\\infty+∞로 가는 항 + 아래로 유계인 항들\u0026quot;이므로 전체 로그 가능도 →+∞\\to+\\infty→+∞다. 수치로는 ε=10−2\\varepsilon=10^{-2}ε=10−2에서 −8.43-8.43−8.43, 10−410^{-4}10−4에서 −6.15-6.15−6.15이고, 이후 ε\\varepsilonε이 줄 때마다 끝없이 커진다. 최대가능도 해가 존재하지 않는다.\n(c) 교재 11.5절: GMM에서도 최대가능도는 심한 과적합을 겪을 수 있으며, 성분의 평균이 데이터 점 하나와 같아지고 공분산이 0으로 가면 가능도가 무한대가 된다. 이 성분은 점 하나에 무한한 밀도를 주지만 분포의 모양에 대해서는 아무것도 말해 주지 않는다. 교재는 사전분포를 두는 베이즈 접근을 대안으로 언급한다. (교재 밖 보충: 실제로는 분산에 하한을 두거나 공분산에 작은 ϵI\\epsilon IϵI를 더하고, 무너진 성분은 다시 초기화하며, 공분산에 사전분포를 둔 MAP-EM을 쓴다.)\n11-8. EM과 GMM 개념 (a) 베이즈 정리:\np(znk=1∣xn)=p(xn∣znk=1) p(znk=1)∑jp(xn∣znj=1) p(znj=1)=πkN(xn∣μk,Σk)∑jπjN(xn∣μj,Σj). \\begin{aligned} \u0026amp;p(z_{nk}=1\\mid x_n)\\\\ \u0026amp;=\\frac{p(x_n\\mid z_{nk}=1)\\,p(z_{nk}=1)}{\\sum_jp(x_n\\mid z_{nj}=1)\\,p(z_{nj}=1)}\\\\ \u0026amp;=\\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(znk​=1∣xn​)=∑j​p(xn​∣znj​=1)p(znj​=1)p(xn​∣znk​=1)p(znk​=1)​=∑j​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​.​이 값이 rnkr_{nk}rnk​ (11.72)다. 책임도는 \u0026ldquo;이 점을 kkk번 성분이 만들었을 사후확률\u0026quot;이다.\n(b)\nE 단계: 매개변수 θ(t)\\theta^{(t)}θ(t)를 고정하고 책임도 rnkr_{nk}rnk​(잠재변수의 사후분포)를 계산한다. M 단계: 책임도를 고정하고 매개변수를 갱신한다. 일반적으로는 기대 완전 데이터 로그 가능도 Q(θ∣θ(t))Q(\\theta\\mid\\theta^{(t)})Q(θ∣θ(t)) (11.73)을 최대화하고, GMM에서는 (11.54)~(11.56)이 된다. (c) GMM 로그 가능도는 오목하지 않아 봉우리가 여러 개다(성분 번호만 바꾼 해도 모두 같은 값이다). EM은 매 단계 로그 가능도를 늘리는 국소적 방법이라 시작점 근처의 봉우리에 멈출 수 있다. (교재 밖 보충: 초기값을 여러 번 바꿔 돌린 뒤 로그 가능도가 가장 큰 해를 고르거나, K-평균 결과로 초기화한다.)\n(d) 가우시안 하나일 때는 log⁡∏nN(xn∣μ,Σ)=∑nlog⁡N(⋯ )\\log\\prod_n\\mathcal N(x_n\\mid\\mu,\\Sigma)=\\sum_n\\log\\mathcal N(\\cdots)log∏n​N(xn​∣μ,Σ)=∑n​logN(⋯)이고, 로그가 지수를 풀어 이차식의 합이 되므로 표본 평균·공분산이라는 닫힌 해가 나온다. GMM은 ∑nlog⁡∑kπkN(⋯ )\\sum_n\\log\\sum_k\\pi_k\\mathcal N(\\cdots)∑n​log∑k​πk​N(⋯)처럼 로그 안에 합이 있어 로그가 지수를 풀지 못한다. 미분하면 모든 성분이 rnkr_{nk}rnk​로 얽혀 닫힌 해가 없다.\n12장 SVM 12-1. 초평면까지의 거리와 크기 조정 (a) ∥w∥=9+16=5\\|w\\|=\\sqrt{9+16}=5∥w∥=9+16​=5.\n(3,4)(3,4)(3,4): f=9+16−5=20f=9+16-5=20f=9+16−5=20, 거리 205=4\\frac{20}5=4520​=4 (양의 쪽) (0,0)(0,0)(0,0): f=−5f=-5f=−5, 거리 −1-1−1 (음의 쪽, 거리 1) (1,0.5)(1,0.5)(1,0.5): f=3+2−5=0f=3+2-5=0f=3+2−5=0, 초평면 위 (b) {x:6x1+8x2−10=0}={x:2(3x1+4x2−5)=0}\\{x:6x_1+8x_2-10=0\\}=\\{x:2(3x_1+4x_2-5)=0\\}{x:6x1​+8x2​−10=0}={x:2(3x1​+4x2​−5)=0}이므로 같은 집합이다. 그런데 fff 값은 두 배가 되어, 예를 들어 (3,4)(3,4)(3,4)의 yfyfyf가 20에서 40이 된다. 부호 있는 거리 f/∥w∥=40/10=4f/\\|w\\|=40/10=4f/∥w∥=40/10=4는 그대로다.\n(c) (w,b)(w,b)(w,b)의 크기는 마음대로 정할 수 있으므로 가장 가까운 점에서 yn(⟨w,xn⟩+b)=1y_n(\\langle w,x_n\\rangle+b)=1yn​(⟨w,xn​⟩+b)=1이 되게 고정한다 (12.15). 마진 위의 점 xax_axa​를 초평면에 직교사영한 점을 xa′x_a\u0026#x27;xa′​이라 하면 xa=xa′+rw∥w∥x_a=x_a\u0026#x27;+r\\frac{w}{\\|w\\|}xa​=xa′​+r∥w∥w​ (12.8), ⟨w,xa′⟩+b=0\\langle w,x_a\u0026#x27;\\rangle+b=0⟨w,xa′​⟩+b=0 (12.11)이다. xa′x_a\u0026#x27;xa′​을 대입하면 (12.12)~(12.13)\n⟨w,xa⟩+b−r⟨w,w⟩∥w∥=0. \\langle w,x_a\\rangle+b-r\\frac{\\langle w,w\\rangle}{\\|w\\|}=0. ⟨w,xa​⟩+b−r∥w∥⟨w,w⟩​=0.⟨w,xa⟩+b=1\\langle w,x_a\\rangle+b=1⟨w,xa​⟩+b=1이고 ⟨w,w⟩∥w∥=∥w∥\\frac{\\langle w,w\\rangle}{\\|w\\|}=\\|w\\|∥w∥⟨w,w⟩​=∥w∥이므로 1−r∥w∥=01-r\\|w\\|=01−r∥w∥=0.\n답: r=1∥w∥r=\\frac1{\\|w\\|}r=∥w∥1​ (12.14). 마진을 최대로 하는 것은 ∥w∥\\|w\\|∥w∥를 최소로 하는 것과 같고, 미분하기 쉽게 12∥w∥2\\frac12\\|w\\|^221​∥w∥2를 최소화한다 (12.18).\n12-2. 하드 마진 SVM: 눈에 보이는 답이 최적이 아닐 때 (a) f(x)=x1−1f(x)=x_1-1f(x)=x1​−1.\n양성 (2,2)(2,2)(2,2), (2,3)(2,3)(2,3): f=1f=1f=1, yf=1≥1yf=1\\ge1yf=1≥1 음성 (0,0)(0,0)(0,0), (0,1)(0,1)(0,1): f=−1f=-1f=−1, yf=1≥1yf=1\\ge1yf=1≥1 답: 모든 제약을 만족하고 마진은 1∥w∥=1\\frac1{\\|w\\|}=1∥w∥1​=1이다.\n(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)24+(t-s)^24+(t−s)2이고, t−s≥2−1=1t-s\\ge2-1=1t−s≥2−1=1이므로 t=2t=2t=2, s=1s=1s=1에서 최소다.\n가장 가까운 두 점은 c=(2,2)c=(2,2)c=(2,2), d=(0,1)d=(0,1)d=(0,1)이고 거리는 5\\sqrt55​다. 12.3.2절 (12.44)처럼 www는 c−d=(2,1)c-d=(2,1)c−d=(2,1) 방향이다. 최대 마진 초평면은 선분 cdcdcd의 수직이등분선, 즉 중점 (1, 1.5)(1,\\ 1.5)(1, 1.5)를 지나고 법선이 (2,1)(2,1)(2,1)인 직선 2x1+x2=3.52x_1+x_2=3.52x1​+x2​=3.5이다.\n크기 맞추기: w=k(2,1)w=k(2,1)w=k(2,1), b=−3.5kb=-3.5kb=−3.5k로 두면 f(c)=k(4+2−3.5)=2.5k=1f(c)=k(4+2-3.5)=2.5k=1f(c)=k(4+2−3.5)=2.5k=1, k=0.4k=0.4k=0.4.\n답: w=(0.8, 0.4)w=(0.8,\\ 0.4)w=(0.8, 0.4), b=−1.4b=-1.4b=−1.4\n모든 제약 확인: (2,2)(2,2)(2,2): 1.6+0.8−1.4=11.6+0.8-1.4=11.6+0.8−1.4=1, (2,3)(2,3)(2,3): 1.6+1.2−1.4=1.41.6+1.2-1.4=1.41.6+1.2−1.4=1.4, (0,0)(0,0)(0,0): yf=1.4yf=1.4yf=1.4, (0,1)(0,1)(0,1): f=0.4−1.4=−1f=0.4-1.4=-1f=0.4−1.4=−1이라 yf=1yf=1yf=1. 모두 1 이상.\n(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, 마진 10.894≈1.118=52\\frac1{0.894}\\approx1.118=\\frac{\\sqrt5}20.8941​≈1.118=25​​ (껍질 사이 거리의 절반). (a)의 1보다 크다. (a)의 수직선은 제약은 만족하지만 최적이 아니다. 마진을 정하는 것은 가로로 마주 보는 쌍이 아니라 대각선으로 가장 가까운 쌍 (2,2)(2,2)(2,2)–(0,1)(0,1)(0,1)이다.\n(d) 서포트 벡터는 마진 위의 두 점 (2,2)(2,2)(2,2) (y=+1y=+1y=+1)와 (0,1)(0,1)(0,1) (y=−1y=-1y=−1)이다. 나머지 두 점은 yf=1.4\u0026gt;1yf=1.4\u0026gt;1yf=1.4\u0026gt;1이라 α=0\\alpha=0α=0이다. ∑ynαn=0\\sum y_n\\alpha_n=0∑yn​αn​=0이므로 두 α\\alphaα가 같다. 그 값을 α\\alphaα라 하면 (12.38)로\nw=α(2,2)−α(0,1)=α(2,1)=(0.8, 0.4). \\begin{aligned} w\u0026amp;=\\alpha(2,2)-\\alpha(0,1)\\\\ \u0026amp;=\\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.4b=y-\\langle w,x\\rangle=1-(1.6+0.8)=-1.4b=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−12∥w∥2=0.8−0.4=0.4\\sum\\alpha_n-\\frac12\\|w\\|^2=0.8-0.4=0.4∑αn​−21​∥w∥2=0.8−0.4=0.4 원 목적 12∥w∥2=0.4\\frac12\\|w\\|^2=0.421​∥w∥2=0.4 답: α=0.4\\alpha=0.4α=0.4 (두 서포트 벡터), 나머지 0. 쌍대 목적값과 원 목적값이 0.4로 같다(강쌍대성). 원 문제의 해가 KKT 조건(제약 만족, α≥0\\alpha\\ge0α≥0, 활성 제약에만 α\u0026gt;0\\alpha\u0026gt;0α\u0026gt;0, w=∑αnynxnw=\\sum\\alpha_ny_nx_nw=∑αn​yn​xn​, ∑αnyn=0\\sum\\alpha_ny_n=0∑αn​yn​=0)을 모두 만족하므로 이 α\\alphaα가 쌍대 최적해다.\n12-3. 소프트 마진 쌍대 유도 (a) 제약 (12.26b) yn(⟨w,xn⟩+b)≥1−ξny_n(\\langle w,x_n\\rangle+b)\\ge1-\\xi_nyn​(⟨w,xn​⟩+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).\nL=12∥w∥2+C∑nξn−∑nγnξn−∑nαn(yn(⟨w,xn⟩+b)−1+ξn). \\begin{aligned} L\u0026amp;=\\frac12\\|w\\|^2+C\\sum_n\\xi_n-\\sum_n\\gamma_n\\xi_n\\\\ \u0026amp;\\quad-\\sum_n\\alpha_n\\big(y_n(\\langle w,x_n\\rangle+b)\\\\ \u0026amp;\\qquad\\qquad-1+\\xi_n\\big). \\end{aligned} L​=21​∥w∥2+Cn∑​ξn​−n∑​γn​ξn​−n∑​αn​(yn​(⟨w,xn​⟩+b)−1+ξn​).​(b) (12.35)~(12.37):\n∂L∂w=w⊤−∑nαnynxn⊤\\frac{\\partial L}{\\partial w}=w^\\top-\\sum_n\\alpha_ny_nx_n^\\top∂w∂L​=w⊤−∑n​αn​yn​xn⊤​ ∂L∂b=−∑nαnyn\\frac{\\partial L}{\\partial b}=-\\sum_n\\alpha_ny_n∂b∂L​=−∑n​αn​yn​ ∂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αnynxnw=\\sum_n\\alpha_ny_nx_nw=∑n​αn​yn​xn​ (12.38), ∑nαnyn=0\\sum_n\\alpha_ny_n=0∑n​αn​yn​=0, γn=C−αn\\gamma_n=C-\\alpha_nγn​=C−αn​이다. LLL에 대입해 항별로 정리한다.\n12∥w∥2=12∑i∑jyiyjαiαj⟨xi,xj⟩\\frac12\\|w\\|^2=\\frac12\\sum_i\\sum_jy_iy_j\\alpha_i\\alpha_j\\langle x_i,x_j\\rangle21​∥w∥2=21​∑i​∑j​yi​yj​αi​αj​⟨xi​,xj​⟩ −∑iαiyi⟨w,xi⟩=−∑i∑jyiyjαiαj⟨xi,xj⟩-\\sum_i\\alpha_iy_i\\langle w,x_i\\rangle=-\\sum_i\\sum_jy_iy_j\\alpha_i\\alpha_j\\langle x_i,x_j\\rangle−∑i​αi​yi​⟨w,xi​⟩=−∑i​∑j​yi​yj​αi​αj​⟨xi​,xj​⟩ −b∑iαiyi=0-b\\sum_i\\alpha_iy_i=0−b∑i​αi​yi​=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):\nD(α)=∑iαi−12∑i∑jyiyjαiαj⟨xi,xj⟩. \\begin{aligned} \\mathfrak D(\\alpha)\u0026amp;=\\sum_i\\alpha_i\\\\ \u0026amp;\\quad-\\frac12\\sum_i\\sum_jy_iy_j\\alpha_i\\alpha_j\\langle x_i,x_j\\rangle. \\end{aligned} D(α)​=i∑​αi​−21​i∑​j∑​yi​yj​αi​αj​⟨xi​,xj​⟩.​쌍대 문제는 이를 최대화하는 것이고, 부호를 바꾸면 (12.41):\nmin⁡α 12∑i,jyiyjαiαj⟨xi,xj⟩−∑iαi. \\min_\\alpha\\ \\frac12\\sum_{i,j}y_iy_j\\alpha_i\\alpha_j\\langle x_i,x_j\\rangle-\\sum_i\\alpha_i. αmin​ 21​i,j∑​yi​yj​αi​αj​⟨xi​,xj​⟩−i∑​αi​.조건은 ∑iyiαi=0\\sum_iy_i\\alpha_i=0∑i​yi​αi​=0, 0≤αi≤C0\\le\\alpha_i\\le C0≤αi​≤C다.\n(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다. 이 \u0026ldquo;상자 제약\u0026quot;이 소프트 마진의 흔적이다.\n(e) 하드 마진에는 ξ\\xiξ와 γ\\gammaγ가 없어 위 상한이 없고 αi≥0\\alpha_i\\ge0αi​≥0만 남는다. 목적함수 모양은 같다. C→∞C\\to\\inftyC→∞이면 소프트 마진 쌍대가 하드 마진 쌍대가 된다.\n12-4. 힌지 손실과 여유 변수 f(x)=x1−x2f(x)=x_1-x_2f(x)=x1​−x2​, 힌지 손실 max⁡{0,1−t}\\max\\{0,1-t\\}max{0,1−t} (12.28), 최적 여유 변수 ξn=max⁡{0,1−tn}\\xi_n=\\max\\{0,1-t_n\\}ξn​=max{0,1−tn​} ((12.32)~(12.33)).\n(a), (b)\n점 f(xn)f(x_n)f(xn​) tn=ynft_n=y_nftn​=yn​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≥1t\\ge1t≥1이면 손실 0, 0≤t\u0026lt;10\\le t\u0026lt;10≤t\u0026lt;1이면 맞게 분류했지만 마진 안, t\u0026lt;0t\u0026lt;0t\u0026lt;0이면 잘못 분류.\n(c) (12.31): 12∥w∥2+C∑nmax⁡{0,1−tn}=12(1+1)+1⋅(0+0+0.5+2)\\frac12\\|w\\|^2+C\\sum_n\\max\\{0,1-t_n\\}=\\frac12(1+1)+1\\cdot(0+0+0.5+2)21​∥w∥2+C∑n​max{0,1−tn​}=21​(1+1)+1⋅(0+0+0.5+2).\n답: 1+2.5=3.51+2.5=3.51+2.5=3.5\n(d) 0-1 손실(틀리면 1)은 0,0,0,10,0,0,10,0,0,1로 합 1이다. 힌지는 모든 ttt에서 0-1 손실 이상이다. t≥1t\\ge1t≥1이면 둘 다 0이고, 0≤t\u0026lt;10\\le t\u0026lt;10≤t\u0026lt;1이면 힌지 1−t\u0026gt;01-t\u0026gt;01−t\u0026gt;0, t\u0026lt;0t\u0026lt;0t\u0026lt;0이면 힌지 1−t\u0026gt;11-t\u0026gt;11−t\u0026gt;1이다. 교재 그림 12.8: 힌지 손실은 0-1 손실의 볼록한 상한이다. 0-1 손실을 직접 최소화하면 조합 최적화 문제가 되어 어렵기 때문에(12.2.5절) 힌지로 바꾼다.\n12-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)을 잇는 선분이라 원점을 지난다. 두 껍질이 원점에서 만나므로 분리 초평면이 없다. 식으로는 fff가 아핀이라 f(0)=12f(1,1)+12f(−1,−1)\u0026gt;0f(0)=\\frac12f(1,1)+\\frac12f(-1,-1)\u0026gt;0f(0)=21​f(1,1)+21​f(−1,−1)\u0026gt;0이면서 동시에 f(0)=12f(1,−1)+12f(−1,1)\u0026lt;0f(0)=\\frac12f(1,-1)+\\frac12f(-1,1)\u0026lt;0f(0)=21​f(1,−1)+21​f(−1,1)\u0026lt;0이어야 하므로 모순이다.\n(b) 전개한다.\n(x⊤x′)2=(x1x1′+x2x2′)2=x12x1′2+2x1x2x1′x2′+x22x2′2. \\begin{aligned} (x^\\top x\u0026#x27;)^2\u0026amp;=(x_1x_1\u0026#x27;+x_2x_2\u0026#x27;)^2\\\\ \u0026amp;=x_1^2x_1\u0026#x27;^2+2x_1x_2x_1\u0026#x27;x_2\u0026#x27;+x_2^2x_2\u0026#x27;^2. \\end{aligned} (x⊤x′)2​=(x1​x1′​+x2​x2′​)2=x12​x1′2​+2x1​x2​x1′​x2′​+x22​x2′2​.​이는 ⟨(x12,2x1x2,x22), (x1′2,2x1′x2′,x2′2)⟩\\langle(x_1^2,\\sqrt2x_1x_2,x_2^2),\\ (x_1\u0026#x27;^2,\\sqrt2x_1\u0026#x27;x_2\u0026#x27;,x_2\u0026#x27;^2)\\rangle⟨(x12​,2​x1​x2​,x22​), (x1′2​,2​x1′​x2′​,x2′2​)⟩와 같다. 숫자 확인: x⊤x′=3−2=1x^\\top x\u0026#x27;=3-2=1x⊤x′=3−2=1이라 k=1k=1k=1. ϕ(x)=(1, 22, 4)\\phi(x)=(1,\\ 2\\sqrt2,\\ 4)ϕ(x)=(1, 22​, 4), ϕ(x′)=(9, −32, 1)\\phi(x\u0026#x27;)=(9,\\ -3\\sqrt2,\\ 1)ϕ(x′)=(9, −32​, 1), 내적 9−12+4=19-12+4=19−12+4=1. 같다.\n(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. 제곱하면\nK=[4400440000440044]. K=\\begin{bmatrix}4\u0026amp;4\u0026amp;0\u0026amp;0\\\\4\u0026amp;4\u0026amp;0\u0026amp;0\\\\0\u0026amp;0\u0026amp;4\u0026amp;4\\\\0\u0026amp;0\u0026amp;4\u0026amp;4\\end{bmatrix}. K=​4400​4400​0044​0044​​.답: 고유값 8,8,0,0≥08,8,0,0\\ge08,8,0,0≥0. z⊤Kz=4(z1+z2)2+4(z3+z4)2≥0z^\\top Kz=4(z_1+z_2)^2+4(z_3+z_4)^2\\ge0z⊤Kz=4(z1​+z2​)2+4(z3​+z4​)2≥0이므로 양의 준정부호다 (12.53).\n(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). 특징 공간에서는 점이 두 개뿐이고 거리는 222\\sqrt222​다. 최대 마진은 그 절반 2\\sqrt22​이고, 초평면은 두 점의 수직이등분면이다. 법선은 (0,1,0)(0,1,0)(0,1,0) 방향이고 중점 (1,0,1)(1,0,1)(1,0,1)을 지나므로 b=0b=0b=0이다. w=(0,w2,0)w=(0,w_2,0)w=(0,w2​,0)으로 두면 yf=2w2=1yf=\\sqrt2w_2=1yf=2​w2​=1에서 w2=12w_2=\\frac1{\\sqrt2}w2​=2​1​.\n답: w=(0,12,0)w=(0,\\frac1{\\sqrt2},0)w=(0,2​1​,0), b=0b=0b=0, 마진 1∥w∥=2\\frac1{\\|w\\|}=\\sqrt2∥w∥1​=2​. 결정 함수 f(x)=12⋅2x1x2=x1x2f(x)=\\frac1{\\sqrt2}\\cdot\\sqrt2x_1x_2=x_1x_2f(x)=2​1​⋅2​x1​x2​=x1​x2​. 1·3사분면이 양성, 2·4사분면이 음성이다.\n(e) 네 점 모두 마진 위(yf=1yf=1yf=1)라 서포트 벡터다. 대칭성으로 모든 αn=α\\alpha_n=\\alphaαn​=α로 두면 ∑ynαn=0\\sum y_n\\alpha_n=0∑yn​αn​=0이 성립하고\nw=∑nαynϕ(xn)=α[2(1,2,1)−2(1,−2,1)]=α(0, 42, 0). \\begin{aligned} w\u0026amp;=\\sum_n\\alpha y_n\\phi(x_n)\\\\ \u0026amp;=\\alpha\\big[2(1,\\sqrt2,1)-2(1,-\\sqrt2,1)\\big]\\\\ \u0026amp;=\\alpha(0,\\ 4\\sqrt2,\\ 0). \\end{aligned} w​=n∑​αyn​ϕ(xn​)=α[2(1,2​,1)−2(1,−2​,1)]=α(0, 42​, 0).​12=42α\\frac1{\\sqrt2}=4\\sqrt2\\alpha2​1​=42​α에서 α=18\\alpha=\\frac18α=81​. 커널만으로 쓰면\nf(x)=18[2(x1+x2)2−2(x1−x2)2]=18⋅8x1x2=x1x2. \\begin{aligned} f(x)\u0026amp;=\\tfrac18\\big[2(x_1+x_2)^2-2(x_1-x_2)^2\\big]\\\\ \u0026amp;=\\tfrac18\\cdot8x_1x_2=x_1x_2. \\end{aligned} f(x)​=81​[2(x1​+x2​)2−2(x1​−x2​)2]=81​⋅8x1​x2​=x1​x2​.​(d)와 같다. 쌍대 값 ∑α−12∥w∥2=0.5−0.25=0.25=12∥w∥2\\sum\\alpha-\\frac12\\|w\\|^2=0.5-0.25=0.25=\\frac12\\|w\\|^2∑α−21​∥w∥2=0.5−0.25=0.25=21​∥w∥2도 맞는다. 양성 두 점이 특징 공간에서 같은 점이라 α\\alphaα를 둘 사이에 나누는 방법은 여럿이지만(합만 정해진다), www와 fff는 하나로 정해진다.\n(f) 1차원 점 000, 111: k(0,0)=0k(0,0)=0k(0,0)=0, k(1,1)=0k(1,1)=0k(1,1)=0, k(0,1)=−1k(0,1)=-1k(0,1)=−1이므로 K=[0−1−10]K=\\begin{bmatrix}0\u0026amp;-1\\\\-1\u0026amp;0\\end{bmatrix}K=[0−1​−10​]. z=(1,1)z=(1,1)z=(1,1)이면 z⊤Kz=−2\u0026lt;0z^\\top Kz=-2\u0026lt;0z⊤Kz=−2\u0026lt;0.\n답: 그람 행렬이 양의 준정부호가 아니므로 (12.53)을 어겨 커널이 될 수 없다. 고유값도 ±1\\pm1±1이다.\n12-6. CCC와 정규화 계수 λ\\lambdaλ의 관계 (a) (12.31)을 양수 CNCNCN으로 나누어도 최소점은 같다.\n1N∑nmax⁡{0,1−ynf(xn)}+12CN∥w∥2. \\begin{aligned} \u0026amp;\\frac1N\\sum_n\\max\\{0,1-y_nf(x_n)\\}\\\\ \u0026amp;+\\frac1{2CN}\\|w\\|^2. \\end{aligned} ​N1​n∑​max{0,1−yn​f(xn​)}+2CN1​∥w∥2.​앞은 힌지 손실의 경험적 위험 (8.6), 뒤는 (8.12) 꼴의 정규화항이다.\n답: λ=12CN\\lambda=\\frac1{2CN}λ=2CN1​. SVM은 \u0026ldquo;힌지 손실 + L2L_2L2​ 정규화\u0026quot;의 경험적 위험 최소화다. 교재 8.2.3절의 \u0026ldquo;정규화항은 큰 마진과 같은 생각\u0026quot;이라는 말이 이것이다.\n(b) CCC가 크면 λ\\lambdaλ가 작다. 마진 위반에 큰 벌을 주므로 마진이 좁아지고 훈련 오류가 줄지만 과적합 위험이 있다. CCC가 작으면 λ\\lambdaλ가 크다. ∥w∥\\|w\\|∥w∥를 작게(마진을 넓게) 하고 위반을 더 허용하므로 단순해지지만 과소적합할 수 있다.\n(c) C→∞C\\to\\inftyC→∞이면 ξn\u0026gt;0\\xi_n\u0026gt;0ξn​\u0026gt;0이 무한히 비싸 ξn=0\\xi_n=0ξn​=0이 강제된다. 하드 마진 (12.18)이 되고, 선형 분리가 불가능한 데이터에서는 해가 없다.\n12-7. 커널 SVM으로 예측하기 f(x)=k(x1,x)−k(x2,x)=e−12∥x∥2−e−12∥x−(1,1)∥2f(x)=k(x_1,x)-k(x_2,x)=e^{-\\frac12\\|x\\|^2}-e^{-\\frac12\\|x-(1,1)\\|^2}f(x)=k(x1​,x)−k(x2​,x)=e−21​∥x∥2−e−21​∥x−(1,1)∥2.\n(a)\nx∗=(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=0f=e^{-0.5}-e^{-0.5}=0f=e−0.5−e−0.5=0, 경계 위 x∗=(0,0.5)x_*=(0,0.5)x∗​=(0,0.5): 0.250.250.25와 1.251.251.25 → f=e−0.125−e−0.625=0.8825−0.5353=0.347\u0026gt;0f=e^{-0.125}-e^{-0.625}=0.8825-0.5353=0.347\u0026gt;0f=e−0.125−e−0.625=0.8825−0.5353=0.347\u0026gt;0, +1+1+1 x∗=(2,2)x_*=(2,2)x∗​=(2,2): 888과 222 → f=e−4−e−1=0.0183−0.3679=−0.350\u0026lt;0f=e^{-4}-e^{-1}=0.0183-0.3679=-0.350\u0026lt;0f=e−4−e−1=0.0183−0.3679=−0.350\u0026lt;0, −1-1−1 (b) f=0f=0f=0 ⇔ ∥x∥2=∥x−(1,1)∥2\\|x\\|^2=\\|x-(1,1)\\|^2∥x∥2=∥x−(1,1)∥2 ⇔ 0=−2x1−2x2+20=-2x_1-2x_2+20=−2x1​−2x2​+2.\n답: 직선 x1+x2=1x_1+x_2=1x1​+x2​=1. 두 서포트 벡터의 수직이등분선이다(α\\alphaα가 같고 RBF가 거리에만 의존하므로).\n(c) 교재 12.4절: 가우시안 RBF 커널의 특징 공간은 무한 차원이라 특징을 명시적으로 쓸 수 없고, 커널로 유사도만 계산할 수 있다. 쌍대 해와 (12.38) w=∑nαnynϕ(xn)w=\\sum_n\\alpha_ny_n\\phi(x_n)w=∑n​αn​yn​ϕ(xn​) 덕분에 ⟨w,ϕ(x)⟩=∑nαnynk(xn,x)\\langle w,\\phi(x)\\rangle=\\sum_n\\alpha_ny_nk(x_n,x)⟨w,ϕ(x)⟩=∑n​αn​yn​k(xn​,x)로 예측하므로 www 자체는 필요 없다.\n12-8. SVM 개념 (a) (12.38) 뒤 Remark: αn\u0026gt;0\\alpha_n\u0026gt;0αn​\u0026gt;0인 점이 서포트 벡터이고, 초평면을 \u0026ldquo;떠받친다\u0026rdquo;. w=∑αnynxnw=\\sum\\alpha_ny_nx_nw=∑αn​yn​xn​에는 αn\u0026gt;0\\alpha_n\u0026gt;0αn​\u0026gt;0인 점만 들어가고, bbb도 마진 위의 점으로 정한다. αn=0\\alpha_n=0αn​=0인 점은 제약이 느슨해서(ynf≥1y_nf\\ge1yn​f≥1) 지워도 남은 문제에서 같은 (w,b)(w,b)(w,b)가 KKT 조건을 모두 만족한다. 그러니 해가 그대로다.\n(b) (교재 12.3.1절 여백 주석, KKT 조건)\n0\u0026lt;αn\u0026lt;C0\u0026lt;\\alpha_n\u0026lt;C0\u0026lt;αn​\u0026lt;C: γn=C−αn\u0026gt;0\\gamma_n=C-\\alpha_n\u0026gt;0γn​=C−αn​\u0026gt;0이므로 γnξn=0\\gamma_n\\xi_n=0γn​ξn​=0에서 ξn=0\\xi_n=0ξn​=0. 또 αn\u0026gt;0\\alpha_n\u0026gt;0αn​\u0026gt;0이라 제약이 등호로 성립해 ynf(xn)=1y_nf(x_n)=1yn​f(xn​)=1이다. 정확히 마진 경계 위의 점이다. 그래서 (12.42)로 bbb를 구할 때 이런 점을 쓴다. αn=C\\alpha_n=Cαn​=C: γn=0\\gamma_n=0γn​=0이라 ξn\u0026gt;0\\xi_n\u0026gt;0ξn​\u0026gt;0일 수 있다. ynf=1−ξn≤1y_nf=1-\\xi_n\\le1yn​f=1−ξn​≤1이므로 마진 안이나 잘못 분류된 점이다(경계 위일 수도 있다). αn=0\\alpha_n=0αn​=0: ynf≥1y_nf\\ge1yn​f≥1, 마진 밖이나 경계 위. (c)\n쌍대는 데이터를 내적 ⟨xi,xj⟩\\langle x_i,x_j\\rangle⟨xi​,xj​⟩으로만 쓰므로, 이를 커널 k(xi,xj)k(x_i,x_j)k(xi​,xj​)로 바꿔 비선형 분류를 할 수 있다(12.4절). 변수 수가 NNN개(α\\alphaα)이고 제약이 상자 꼴 0≤αi≤C0\\le\\alpha_i\\le C0≤αi​≤C라 다루기 쉽다. 특징 차원 DDD가 데이터 수보다 클 때 특히 유리하다. (d) 목적함수 12∥w∥2+C∑ξn\\frac12\\|w\\|^2+C\\sum\\xi_n21​∥w∥2+C∑ξn​은 양의 준정부호 이차식 + 일차식이라 볼록이다. 제약 yn(⟨w,xn⟩+b)≥1−ξny_n(\\langle w,x_n\\rangle+b)\\ge1-\\xi_nyn​(⟨w,xn​⟩+b)≥1−ξn​, ξn≥0\\xi_n\\ge0ξn​≥0은 (w,b,ξ)(w,b,\\xi)(w,b,ξ)에 대해 일차(아핀) 부등식이라 실현 가능 영역이 볼록이다. 따라서 볼록 이차계획 문제(교재 12.5절)이고, 국소 최적이 곧 전역 최적이다.\nOX 퀴즈 답 X. MML은 1N\\frac1NN1​로 나눈다 (10.1). X. 교재 (8.48)의 AIC는 큰 값을 고른다. 작을수록 좋은 것은 2M−2log⁡p2M-2\\log p2M−2logp 꼴이다(8-8 (d)). X. MAP은 사후분포의 최빈값 하나, 즉 점추정이다(8.3.2절: 사전분포를 쓰지만 여전히 점추정만 준다). O. (9.31)~(9.34). X. 사후 예측 분산은 ϕ⊤SNϕ+σ2≥σ2\\phi^\\top S_N\\phi+\\sigma^2\\ge\\sigma^2ϕ⊤SN​ϕ+σ2≥σ2이다 (9.57c). 노이즈는 데이터가 아무리 많아도 줄지 않는다. X. 반대다. 머리-머리 노드 ddd(또는 그 자손)를 관측하면 aaa와 ccc 사이에 의존이 생긴다 (8.38, 설명해 없애기). X. 가장 큰 고유값의 고유벡터다 (10.15). O. (10.44). O. 각 nnn에서 rn⋅r_{n\\cdot}rn⋅​는 확률 벡터다(11.2절). X. 매 단계 로그 가능도를 늘리지만 국소 최댓값에 멈출 수 있다(11-8 (c)). O. (12.14)~(12.18). O. (12.38). O. (12.53). X. 반대다. 9장은 N×DN\\times DN×D, 10장은 D×ND\\times ND×N (10.46 옆 설명). X. 증거는 쓸데없이 복잡한 모델에 자동으로 벌점을 준다(8.6.2절, 그림 8.14, 9-6). ","permalink":"https://qofo.github.io/posts/mml-ch08-12-solutions/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재:\u003c/strong\u003e Deisenroth·Faisal·Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e (\u003ca href=\"https://mml-book.github.io/\"\u003emml-book.github.io\u003c/a\u003e에 공개된 PDF, 2024-01-15 판). 쪽수와 식 번호는 그 PDF 기준이다.\u003cbr\u003e\n\u003cstrong\u003e문제지:\u003c/strong\u003e \u003ca href=\"/posts/mml-ch08-12-exercises/\"\u003e앞 편\u003c/a\u003e에 문제만 따로 모아 두었다. 먼저 문제지로 풀어 본 뒤 이 글로 맞춰 본다.\u003cbr\u003e\n\u003cstrong\u003e검산:\u003c/strong\u003e 모든 숫자 답은 numpy·scipy로 다시 계산했다. 교재 예제 11.1~11.5의 값(평균 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmo\u003e−\u003c/mo\u003e\u003cmn\u003e2.7\u003c/mn\u003e\u003cmo separator=\"true\"\u003e,\u003c/mo\u003e\u003cmo\u003e−\u003c/mo\u003e\u003cmn\u003e0.4\u003c/mn\u003e\u003cmo separator=\"true\"\u003e,\u003c/mo\u003e\u003cmn\u003e3.7\u003c/mn\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e-2.7,-0.4,3.7\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8389em;vertical-align:-0.1944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e−\u003c/span\u003e\u003cspan class=\"mord\"\u003e2.7\u003c/span\u003e\u003cspan class=\"mpunct\"\u003e,\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.1667em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e−\u003c/span\u003e\u003cspan class=\"mord\"\u003e0.4\u003c/span\u003e\u003cspan class=\"mpunct\"\u003e,\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.1667em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e3.7\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e, 분산 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmn\u003e0.14\u003c/mn\u003e\u003cmo separator=\"true\"\u003e,\u003c/mo\u003e\u003cmn\u003e0.44\u003c/mn\u003e\u003cmo separator=\"true\"\u003e,\u003c/mo\u003e\u003cmn\u003e1.53\u003c/mn\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e0.14,0.44,1.53\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8389em;vertical-align:-0.1944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e0.14\u003c/span\u003e\u003cspan class=\"mpunct\"\u003e,\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.1667em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e0.44\u003c/span\u003e\u003cspan class=\"mpunct\"\u003e,\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.1667em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e1.53\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e, 비율 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmn\u003e0.29\u003c/mn\u003e\u003cmo separator=\"true\"\u003e,\u003c/mo\u003e\u003cmn\u003e0.29\u003c/mn\u003e\u003cmo separator=\"true\"\u003e,\u003c/mo\u003e\u003cmn\u003e0.42\u003c/mn\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e0.29,0.29,0.42\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8389em;vertical-align:-0.1944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e0.29\u003c/span\u003e\u003cspan class=\"mpunct\"\u003e,\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.1667em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e0.29\u003c/span\u003e\u003cspan class=\"mpunct\"\u003e,\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.1667em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e0.42\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e, 로그 가능도 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmo\u003e−\u003c/mo\u003e\u003cmn\u003e28.3\u003c/mn\u003e\u003cmo\u003e→\u003c/mo\u003e\u003cmo\u003e−\u003c/mo\u003e\u003cmn\u003e14.4\u003c/mn\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e-28.3\\to-14.4\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e−\u003c/span\u003e\u003cspan class=\"mord\"\u003e28.3\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2778em;\"\u003e\u003c/span\u003e\u003cspan class=\"mrel\"\u003e→\u003c/span\u003e\u003cspan class=\"mspace\" style=\"margin-right:0.2778em;\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord\"\u003e−\u003c/span\u003e\u003cspan class=\"mord\"\u003e14.4\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e)도 같은 코드로 재현했다. 12-2와 12-5의 SVM 해는 scipy 최적화로 다시 풀어 같은 답을 얻었다. 교재 식 번호와 그림 8.11의 화살표는 PDF 원문과 대조했다.\u003cbr\u003e\n\u003cstrong\u003e표기:\u003c/strong\u003e 교재와 같이 공분산의 분모는 \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003eN\u003c/mi\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003eN\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.6833em;\"\u003e\u003c/span\u003e\u003cspan class=\"mord mathnormal\" style=\"margin-right:0.10903em;\"\u003eN\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e, 스칼라 함수의 기울기는 행벡터, \u003cspan class=\"katex\"\u003e\u003cspan class=\"katex-mathml\"\u003e\u003cmath xmlns=\"http://www.w3.org/1998/Math/MathML\"\u003e\u003csemantics\u003e\u003cmrow\u003e\u003cmi\u003elog\u003c/mi\u003e\u003cmo\u003e⁡\u003c/mo\u003e\u003c/mrow\u003e\u003cannotation encoding=\"application/x-tex\"\u003e\\log\u003c/annotation\u003e\u003c/semantics\u003e\u003c/math\u003e\u003c/span\u003e\u003cspan class=\"katex-html\" aria-hidden=\"true\"\u003e\u003cspan class=\"base\"\u003e\u003cspan class=\"strut\" style=\"height:0.8889em;vertical-align:-0.1944em;\"\u003e\u003c/span\u003e\u003cspan class=\"mop\"\u003elo\u003cspan style=\"margin-right:0.01389em;\"\u003eg\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e는 자연로그다. 교재에 없는 내용은 \u003cstrong\u003e교재 밖 보충\u003c/strong\u003e이라고 표시했다.\u003c/p\u003e","title":"MML 8~12장 연습문제 풀이: 답과 단계별 풀이"},{"content":" 교재: Deisenroth·Faisal·Ong, Mathematics for Machine Learning (mml-book.github.io에 공개된 PDF, 2024-01-15 판). 절과 식 번호는 그 PDF 기준이다.\n답과 풀이: 다음 편에 있다. 숫자 답은 모두 sympy·numpy로 검산했고, 풀이에 적은 교재 절·식 번호는 PDF 원문과 대조했다.\n범위와 시간: 기초수학 = MML Part 1(27장) 60분, 기초 AI = MML Part 2(812장) 60분을 가정했다.\n두 세트를 만든 이유 이 범위로 보는 필기시험의 응시 후기를 모아 보면, 1시간에 5~6문제가 나오고 교재의 기본 개념(정사영, 기울기 계산, 최적화 등)을 끝까지 계산할 수 있는지를 묻는 해가 많았다. 그런데 출제자가 해마다 바뀌어 체감 난이도가 크게 오른 해도 있었고, 같은 교재를 범위로 하는 다른 필기에서는 지문이 모두 영어이고 문제 대부분이 증명인 경우도 있었다. 그래서 과목마다 두 세트를 만들었다.\n세트 가정 형식 A형 기본 개념을 끝까지 계산할 수 있는가를 묻는 해 우리말, 6문항, 계산 위주 B형 난이도가 오른 해 영어 지문, 6문항, 증명·유도 비중 큼 쓰는 법 타이머를 60분에 맞추고 빈 종이에 풀이 과정을 쓴다. A형 두 세트를 먼저 푼다. 막힌 문제는 풀이 편에서 그 문제만 찾아본다. B형은 시간이 남을 때 푼다. 다 풀 필요는 없다. 문제마다 (a)만 풀거나 풀이를 읽기만 해도 영어 지문과 증명형 질문에 익숙해진다. 시험 직전에는 새 문제 대신 틀린 문제의 풀이와 시험 직전 최종 정리를 본다. 배점은 시간 배분용으로 임의로 정했다. 문항당 약 9분, 마지막 5분은 검토. 표기(교재 관례): 벡터는 열벡터, 스칼라 함수의 기울기는 행벡터(5장), 공분산의 분모는 NNN, log⁡\\loglog는 자연로그. 9장의 데이터 행렬은 N×DN\\times DN×D, 10장은 D×ND\\times ND×N이다.\n세트 문항 Part 1 A형 연립방정식·영공간, 정사영·그람-슈미트, 고윳값·촐레스키, 기울기·헤시안·테일러, 베이즈·분산·가우시안, 경사하강법·라그랑주 쌍대 Part 2 A형 MLE·MAP, 그래프 모델·경험적 위험·AIC/BIC, 선형회귀·릿지, PCA, GMM의 EM 한 바퀴, 하드 마진 SVM·커널 Part 1 B형 부분공간·기저 변환·랭크 증명, 내적·회전행렬, SVD·계수 1 근사, 행렬 미분·역전파, 이항분포·켤레·변수 변환, 정류점·KKT·젠센 Part 2 B형 지수분포 MLE·릿지·LASSO, 베이즈 선형회귀, PCA 재구성 오차 증명·N\u0026lt;DN\u0026lt;DN\u0026lt;D, EM 갱신식 유도, 소프트 마진 SVM, 서술형 영어 용어 대조표 영어로 출제될 때 알아볼 낱말 Part 1 A형: 기초수학 (60분, 6문항) 1-A1. 연립방정식, 랭크, 영공간 (15점) [2장] A=[120124143615],b=[134] A=\\begin{bmatrix}1\u0026amp;2\u0026amp;0\u0026amp;1\\\\2\u0026amp;4\u0026amp;1\u0026amp;4\\\\3\u0026amp;6\u0026amp;1\u0026amp;5\\end{bmatrix},\\qquad b=\\begin{bmatrix}1\\\\3\\\\4\\end{bmatrix} A=​123​246​011​145​​,b=​134​​(a) 첨가행렬 [A∣b][A\\mid b][A∣b]를 기약행 사다리꼴(RREF)로 만들고 rank⁡(A)\\operatorname{rank}(A)rank(A)를 구하라. (b) Ax=bAx=bAx=b의 일반해를 \u0026ldquo;특수해 + 영공간\u0026rdquo; 꼴로 써라. (c) 영공간 ker⁡(A)\\ker(A)ker(A)의 기저와 차원을 쓰고, 차원 정리(rank-nullity)를 확인하라. (d) bbb를 (1,3,5)⊤(1,3,5)^\\top(1,3,5)⊤로 바꾸면 해가 있는가? 한 줄로 이유를 써라.\n1-A2. 정사영과 그람-슈미트 (15점) [3장] U=span⁡{b1,b2}U=\\operatorname{span}\\{b_1,b_2\\}U=span{b1​,b2​}, b1=(1,1,0)⊤b_1=(1,1,0)^\\topb1​=(1,1,0)⊤, b2=(1,0,1)⊤b_2=(1,0,1)^\\topb2​=(1,0,1)⊤, x=(0,3,3)⊤x=(0,3,3)^\\topx=(0,3,3)⊤.\n(a) 사영행렬 P=B(B⊤B)−1B⊤P=B(B^\\top B)^{-1}B^\\topP=B(B⊤B)−1B⊤ (B=[b1 b2]B=[b_1\\ b_2]B=[b1​ b2​])와 πU(x)\\pi_U(x)πU​(x)를 구하라. (b) xxx와 UUU 사이의 거리를 구하라. (c) 그람-슈미트로 UUU의 정규직교기저 {e1,e2}\\{e_1,e_2\\}{e1​,e2​}를 구하고, πU(x)=(e1⊤x)e1+(e2⊤x)e2\\pi_U(x)=(e_1^\\top x)e_1+(e_2^\\top x)e_2πU​(x)=(e1⊤​x)e1​+(e2⊤​x)e2​로 (a)를 검산하라. (d) P2=PP^2=PP2=P, P⊤=PP^\\top=PP⊤=P를 식으로 보여라. PPP의 고윳값은 무엇이어야 하는가?\n1-A3. 고윳값 분해와 촐레스키 분해 (15점) [4장] A=[4123],C=[4225] A=\\begin{bmatrix}4\u0026amp;1\\\\2\u0026amp;3\\end{bmatrix},\\qquad C=\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;5\\end{bmatrix} A=[42​13​],C=[42​25​](a) AAA의 고윳값과 고유벡터를 구하라. (b) A=PDP−1A=PDP^{-1}A=PDP−1로 대각화하고 AnA^nAn을 nnn의 식으로 써라. n=1n=1n=1을 넣어 검산하라. (c) AAA의 두 고유벡터는 서로 직교하는가? 스펙트럼 정리와 연결해 설명하라. (d) CCC의 촐레스키 분해 C=LL⊤C=LL^\\topC=LL⊤(LLL은 대각 원소가 양수인 하삼각행렬)를 구하라.\n1-A4. 기울기, 헤시안, 테일러 전개 (20점) [5장] f(x1,x2)=x12x2+ex1x2f(x_1,x_2)=x_1^2x_2+e^{x_1x_2}f(x1​,x2​)=x12​x2​+ex1​x2​.\n(a) 기울기 ∇f\\nabla f∇f(교재 관례대로 1×21\\times21×2 행벡터)를 구하고 점 (1,0)(1,0)(1,0)에서의 값을 구하라. (b) (1,0)(1,0)(1,0)에서의 헤시안을 구하라. (c) (1,0)(1,0)(1,0) 근처의 2차 테일러 다항식을 δ=x−(1,0)⊤\\delta=x-(1,0)^\\topδ=x−(1,0)⊤로 써라. (d) g(x)=∥Ax−b∥2g(x)=\\|Ax-b\\|^2g(x)=∥Ax−b∥2, A=[120110]A=\\begin{bmatrix}1\u0026amp;2\\\\0\u0026amp;1\\\\1\u0026amp;0\\end{bmatrix}A=​101​210​​, b=(1,1,1)⊤b=(1,1,1)^\\topb=(1,1,1)⊤일 때 dgdx\\dfrac{dg}{dx}dxdg​를 행렬 식으로 쓰고 x0=(1,0)⊤x_0=(1,0)^\\topx0​=(1,0)⊤에서의 값을 구하라. ggg를 최소로 하는 xxx도 구하라.\n1-A5. 베이즈 정리, 분산, 가우시안 (15점) [6장] (a) 기계 A, B, C가 제품을 각각 50%, 30%, 20% 만들고 불량률은 1%, 2%, 5%다. 무작위로 고른 제품이 불량일 확률과, 불량품이 C에서 나왔을 확률을 구하라. (b) 분산의 정의 V[x]=E[(x−E[x])2]\\mathbb V[x]=\\mathbb E[(x-\\mathbb E[x])^2]V[x]=E[(x−E[x])2]에서 출발해 V[x]=E[x2]−(E[x])2\\mathbb V[x]=\\mathbb E[x^2]-(\\mathbb E[x])^2V[x]=E[x2]−(E[x])2를 유도하라. (c) x=(x1,x2)⊤∼N(μ,Σ)x=(x_1,x_2)^\\top\\sim\\mathcal N(\\mu,\\Sigma)x=(x1​,x2​)⊤∼N(μ,Σ), μ=(1,2)⊤\\mu=(1,2)^\\topμ=(1,2)⊤, Σ=[2112]\\Sigma=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}Σ=[21​12​]일 때 다음을 구하라. (i) 주변분포 p(x1)p(x_1)p(x1​) (ii) 조건부분포 p(x1∣x2=4)p(x_1\\mid x_2=4)p(x1​∣x2​=4) (iii) y=x1−x2y=x_1-x_2y=x1​−x2​의 분포 (iv) E[x1x2]\\mathbb E[x_1x_2]E[x1​x2​]\n1-A6. 경사하강법과 라그랑주 쌍대 (20점) [7장] (a) f(x)=12x⊤Qx−b⊤xf(x)=\\frac12x^\\top Qx-b^\\top xf(x)=21​x⊤Qx−b⊤x, Q=diag⁡(1,4)Q=\\operatorname{diag}(1,4)Q=diag(1,4), b=(1,2)⊤b=(1,2)^\\topb=(1,2)⊤. (i) 최솟점 x∗x^*x∗를 구하라. (ii) x0=0x_0=0x0​=0, 학습률 γ=0.2\\gamma=0.2γ=0.2로 경사하강법을 두 번 진행해 x1,x2x_1,x_2x1​,x2​를 구하라. (iii) 오차 ek=xk−x∗e_k=x_k-x^*ek​=xk​−x∗가 ek+1=(I−γQ)eke_{k+1}=(I-\\gamma Q)e_kek+1​=(I−γQ)ek​를 따름을 보이고, 수렴하는 γ\\gammaγ의 범위와 가장 빨리 수렴하는 γ\\gammaγ를 구하라. (b) min⁡ x12+x22\\min\\ x_1^2+x_2^2min x12​+x22​ subject to x1+x2≥2x_1+x_2\\ge2x1​+x2​≥2. (i) 제약을 g(x)≤0g(x)\\le0g(x)≤0 꼴로 바꾸고 라그랑지안을 써라. (ii) 쌍대 함수 D(λ)=min⁡xL(x,λ)\\mathfrak D(\\lambda)=\\min_x\\mathfrak L(x,\\lambda)D(λ)=minx​L(x,λ)를 구하라. (iii) 쌍대 문제를 풀고, 원 문제의 최적값과 같음을 확인하라.\nPart 2 A형: 기초AI (60분, 6문항) 2-A1. MLE와 MAP (15점) [8장] 관측값 2,4,3,72,4,3,72,4,3,7이 N(μ,σ2)\\mathcal N(\\mu,\\sigma^2)N(μ,σ2)에서 독립으로 나왔다.\n(a) σ2=4\\sigma^2=4σ2=4를 알 때 음의 로그 가능도 L(μ)\\mathcal L(\\mu)L(μ)를 쓰고 μML\\mu_{\\text{ML}}μML​을 구하라. (b) μ\\muμ와 σ2\\sigma^2σ2를 모두 모를 때 σML2\\sigma^2_{\\text{ML}}σML2​을 구하라. (c) σ2=4\\sigma^2=4σ2=4를 알고 사전분포가 μ∼N(0,1)\\mu\\sim\\mathcal N(0,1)μ∼N(0,1)일 때 사후분포 p(μ∣X)p(\\mu\\mid\\mathcal X)p(μ∣X)와 μMAP\\mu_{\\text{MAP}}μMAP​을 구하라. (d) 데이터가 아주 많아지면 μMAP\\mu_{\\text{MAP}}μMAP​과 μML\\mu_{\\text{ML}}μML​은 어떻게 되는가? 사후분포의 정밀도(분산의 역수)로 설명하라.\n2-A2. 그래프 모델, 경험적 위험, 모델 선택 (15점) [8장] (a) 방향 그래프 a→c←ba\\to c\\leftarrow ba→c←b, c→dc\\to dc→d. 결합분포를 인수분해하고 다음이 성립하는지 판정하라. (i) a⊥ ⁣ ⁣ ⁣⊥ba\\perp\\!\\!\\!\\perp ba⊥⊥b (ii) a⊥ ⁣ ⁣ ⁣⊥b∣da\\perp\\!\\!\\!\\perp b\\mid da⊥⊥b∣d (iii) a⊥ ⁣ ⁣ ⁣⊥d∣ca\\perp\\!\\!\\!\\perp d\\mid ca⊥⊥d∣c (b) 경험적 위험(empirical risk)을 식으로 정의하라. 경험적 위험을 최소화한 예측기가 과적합될 수 있는 이유를 쓰고, 정규화는 목적함수에 무엇을 더하는지 쓰라. (c) 데이터 N=50N=50N=50개에 두 모델을 맞췄다. 모델 1은 매개변수 M=3M=3M=3개, 최대 로그 가능도 −80-80−80. 모델 2는 M=6M=6M=6개, −75-75−75. 교재 (8.48)의 AIC log⁡p(x∣θ)−M\\log p(x\\mid\\theta)-Mlogp(x∣θ)−M과 (8.49)의 BIC log⁡p(x∣θ)−12Mlog⁡N\\log p(x\\mid\\theta)-\\frac12M\\log Nlogp(x∣θ)−21​MlogN으로 각각 어느 모델을 고르는가? (ln⁡50≈3.912\\ln50\\approx3.912ln50≈3.912)\n2-A3. 선형회귀 (20점) [9장] 데이터 (x,y)(x,y)(x,y): (0,1), (1,3), (2,4), (3,4)(0,1),\\ (1,3),\\ (2,4),\\ (3,4)(0,1), (1,3), (2,4), (3,4). 모델 y=θ0+θ1x+ϵy=\\theta_0+\\theta_1x+\\epsilony=θ0​+θ1​x+ϵ, ϵ∼N(0,σ2)\\epsilon\\sim\\mathcal N(0,\\sigma^2)ϵ∼N(0,σ2), 특징 ϕ(x)=(1,x)⊤\\phi(x)=(1,x)^\\topϕ(x)=(1,x)⊤.\n(a) Φ\\PhiΦ, Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ, Φ⊤y\\Phi^\\top yΦ⊤y를 구하고 θML\\theta_{\\text{ML}}θML​을 구하라. (b) 잔차 r=y−ΦθMLr=y-\\Phi\\theta_{\\text{ML}}r=y−ΦθML​과 σML2\\sigma^2_{\\text{ML}}σML2​을 구하라. Φ⊤r=0\\Phi^\\top r=0Φ⊤r=0임을 확인하고, 기하학적으로 무엇을 뜻하는지 쓰라. (c) 사전분포 θ∼N(0,b2I)\\theta\\sim\\mathcal N(0,b^2I)θ∼N(0,b2I)를 두면 θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\\theta_{\\text{MAP}}=\\big(\\Phi^\\top\\Phi+\\frac{\\sigma^2}{b^2}I\\big)^{-1}\\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y임을 유도하라. (d) σ2/b2=2\\sigma^2/b^2=2σ2/b2=2일 때 θMAP\\theta_{\\text{MAP}}θMAP​을 구하고 ∥θMAP∥\u0026lt;∥θML∥\\|\\theta_{\\text{MAP}}\\|\u0026lt;\\|\\theta_{\\text{ML}}\\|∥θMAP​∥\u0026lt;∥θML​∥임을 확인하라.\n2-A4. PCA (20점) [10장] 데이터 (5,3), (−3,−1), (2,−1), (0,3)(5,3),\\ (-3,-1),\\ (2,-1),\\ (0,3)(5,3), (−3,−1), (2,−1), (0,3)을 주성분 하나(M=1M=1M=1)로 줄인다.\n(a) 평균 μ\\muμ를 빼고 공분산 SSS(분모 NNN)를 구하라. (b) SSS의 고윳값과 단위 고유벡터를 구하라. 첫 주성분 b1b_1b1​은? (c) 좌표 zn=b1⊤(xn−μ)z_n=b_1^\\top(x_n-\\mu)zn​=b1⊤​(xn​−μ)를 구하고 zzz의 분산이 λ1\\lambda_1λ1​임을 확인하라. 설명된 분산의 비율은? (d) 복원 x~n=μ+b1zn\\tilde x_n=\\mu+b_1z_nx~n​=μ+b1​zn​을 구하고 평균 제곱 재구성 오차가 λ2\\lambda_2λ2​임을 확인하라. (e) \u0026ldquo;사영한 분산을 최대로 하는 단위벡터 b1b_1b1​은 SSS의 가장 큰 고윳값의 고유벡터\u0026quot;임을 라그랑주 승수로 유도하라.\n2-A5. GMM과 EM (15점) [11장] 1차원 데이터 0, 2, 40,\\ 2,\\ 40, 2, 4, K=2K=2K=2. 초기값 π=(0.5,0.5)\\pi=(0.5,0.5)π=(0.5,0.5), μ=(0,4)\\mu=(0,4)μ=(0,4), σ12=σ22=1\\sigma_1^2=\\sigma_2^2=1σ12​=σ22​=1. (e−8≈3.4×10−4e^{-8}\\approx3.4\\times10^{-4}e−8≈3.4×10−4이므로 0으로 근사해도 된다.)\n(a) E 단계: 세 점의 책임도 rn1,rn2r_{n1},r_{n2}rn1​,rn2​를 구하라. (b) M 단계: NkN_kNk​, μk\\mu_kμk​, σk2\\sigma_k^2σk2​, πk\\pi_kπk​를 구하라. (c) GMM 로그 가능도를 미분해 0으로 놓아도 닫힌 해가 바로 나오지 않는 이유를 쓰라. EM이 반복마다 보장하는 것은 무엇인가? (d) 책임도를 0 또는 1로만 정하고 공분산을 무시(단위행렬로 고정)하면 어떤 알고리즘과 같아지는가?\n2-A6. 하드 마진 SVM과 커널 (15점) [12장] 양성(y=+1y=+1y=+1): (2,0), (0,2), (3,3)(2,0),\\ (0,2),\\ (3,3)(2,0), (0,2), (3,3). 음성(y=−1y=-1y=−1): (0,0)(0,0)(0,0).\n(a) 초평면 w=(1,1)⊤w=(1,1)^\\topw=(1,1)⊤, b=−1b=-1b=−1이 모든 점에서 yn(w⊤xn+b)≥1y_n(w^\\top x_n+b)\\ge1yn​(w⊤xn​+b)≥1을 만족함을 확인하고, 마진(초평면에서 가장 가까운 점까지의 거리)을 구하라. (b) 서포트 벡터는 어느 점인가? w=∑nαnynxnw=\\sum_n\\alpha_ny_nx_nw=∑n​αn​yn​xn​과 ∑nαnyn=0\\sum_n\\alpha_ny_n=0∑n​αn​yn​=0을 이용해 쌍대 변수 αn\\alpha_nαn​을 구하고, 쌍대 목적값이 원 목적값 12∥w∥2\\frac12\\|w\\|^221​∥w∥2과 같음을 확인하라. (c) 같은 (w,b)(w,b)(w,b)에서 음성 점 (1,0.5)(1,0.5)(1,0.5)와 (0.5,0.25)(0.5,0.25)(0.5,0.25)의 힌지 손실 max⁡{0,1−yf(x)}\\max\\{0,1-yf(x)\\}max{0,1−yf(x)}을 구하라. 각 점은 마진 밖, 마진 안, 오분류 중 어디인가? (d) 커널 k(x,z)=(x⊤z)2k(x,z)=(x^\\top z)^2k(x,z)=(x⊤z)2에 해당하는 특징 맵 ϕ:R2→R3\\phi:\\mathbb R^2\\to\\mathbb R^3ϕ:R2→R3을 쓰고, x=(1,2)x=(1,2)x=(1,2), z=(3,1)z=(3,1)z=(3,1)에서 k(x,z)=ϕ(x)⊤ϕ(z)k(x,z)=\\phi(x)^\\top\\phi(z)k(x,z)=ϕ(x)⊤ϕ(z)를 확인하라.\nPart 1 B형: Basic Mathematics (60 min, 6 problems, English) 난이도가 오른 경우를 가정한 세트다. 영어 지문으로 출제되는 경우에 대비해 지문을 영어로 쓰고, 문제마다 아래에 우리말 요지를 붙였다.\n1-B1. Vector spaces and linear maps (15 pts) [Ch. 2] (a) Show that U={x∈R3:x1+2x2−x3=0}U=\\{x\\in\\mathbb R^3: x_1+2x_2-x_3=0\\}U={x∈R3:x1​+2x2​−x3​=0} is a subspace of R3\\mathbb R^3R3. Find a basis of UUU and dim⁡U\\dim UdimU. (b) Let Φ:R3→R2\\Phi:\\mathbb R^3\\to\\mathbb R^2Φ:R3→R2, Φ(x)=(x1+x2, x2−x3)⊤\\Phi(x)=(x_1+x_2,\\ x_2-x_3)^\\topΦ(x)=(x1​+x2​, x2​−x3​)⊤. Find ker⁡Φ\\ker\\PhikerΦ, rk⁡Φ\\operatorname{rk}\\PhirkΦ and Im⁡Φ\\operatorname{Im}\\PhiImΦ. Then find the transformation matrix A~Φ\\tilde A_\\PhiA~Φ​ of Φ\\PhiΦ with respect to the ordered bases B~=((1,1,0)⊤,(0,1,1)⊤,(1,0,1)⊤)\\tilde B=\\big((1,1,0)^\\top,(0,1,1)^\\top,(1,0,1)^\\top\\big)B~=((1,1,0)⊤,(0,1,1)⊤,(1,0,1)⊤) of R3\\mathbb R^3R3 and C~=((1,1)⊤,(1,−1)⊤)\\tilde C=\\big((1,1)^\\top,(1,-1)^\\top\\big)C~=((1,1)⊤,(1,−1)⊤) of R2\\mathbb R^2R2. (c) Prove that rk⁡(A⊤A)=rk⁡(A)\\operatorname{rk}(A^\\top A)=\\operatorname{rk}(A)rk(A⊤A)=rk(A) for every A∈Rm×nA\\in\\mathbb R^{m\\times n}A∈Rm×n.\n요지: (a) 부분공간 증명, 기저, 차원 (b) 핵, 랭크, 상, 기저 변환 행렬 (c) rk⁡(A⊤A)=rk⁡(A)\\operatorname{rk}(A^\\top A)=\\operatorname{rk}(A)rk(A⊤A)=rk(A) 증명\n1-B2. Inner products, angles and rotations (15 pts) [Ch. 3] Let ⟨x,y⟩A:=x⊤Ay\\langle x,y\\rangle_A:=x^\\top Ay⟨x,y⟩A​:=x⊤Ay with A=[2−1−11]A=\\begin{bmatrix}2\u0026amp;-1\\\\-1\u0026amp;1\\end{bmatrix}A=[2−1​−11​].\n(a) Show that ⟨⋅,⋅⟩A\\langle\\cdot,\\cdot\\rangle_A⟨⋅,⋅⟩A​ is an inner product on R2\\mathbb R^2R2. (b) Compute the angle between e1=(1,0)⊤e_1=(1,0)^\\tope1​=(1,0)⊤ and e2=(0,1)⊤e_2=(0,1)^\\tope2​=(0,1)⊤ with respect to ⟨⋅,⋅⟩A\\langle\\cdot,\\cdot\\rangle_A⟨⋅,⋅⟩A​. (c) Compute the orthogonal projection of x=(1,1)⊤x=(1,1)^\\topx=(1,1)⊤ onto span⁡{e1}\\operatorname{span}\\{e_1\\}span{e1​} with respect to ⟨⋅,⋅⟩A\\langle\\cdot,\\cdot\\rangle_A⟨⋅,⋅⟩A​, and find the orthogonal complement of span⁡{e1}\\operatorname{span}\\{e_1\\}span{e1​} under this inner product. (d) Let R(θ)=[cos⁡θ−sin⁡θsin⁡θcos⁡θ]R(\\theta)=\\begin{bmatrix}\\cos\\theta\u0026amp;-\\sin\\theta\\\\\\sin\\theta\u0026amp;\\cos\\theta\\end{bmatrix}R(θ)=[cosθsinθ​−sinθcosθ​]. Show that R(θ)R(\\theta)R(θ) is orthogonal, det⁡R(θ)=1\\det R(\\theta)=1detR(θ)=1, and R(θ)R(\\theta)R(θ) preserves the standard inner product (hence lengths and angles). Show R(α)R(β)=R(α+β)R(\\alpha)R(\\beta)=R(\\alpha+\\beta)R(α)R(β)=R(α+β).\n요지: 내적 판정, 그 내적에서의 각도·사영·직교여공간, 회전행렬 성질 증명\n1-B3. Singular value decomposition (20 pts) [Ch. 4] A=[32223−2]A=\\begin{bmatrix}3\u0026amp;2\u0026amp;2\\\\2\u0026amp;3\u0026amp;-2\\end{bmatrix}A=[32​23​2−2​].\n(a) Compute an SVD A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤: all singular values, UUU, and VVV (including a unit vector spanning ker⁡A\\ker AkerA). (b) Find the best rank-1 approximation A^(1)\\hat A(1)A^(1) and compute ∥A−A^(1)∥2\\|A-\\hat A(1)\\|_2∥A−A^(1)∥2​ and ∥A−A^(1)∥F\\|A-\\hat A(1)\\|_F∥A−A^(1)∥F​. (c) Show that the nonzero eigenvalues of A⊤AA^\\top AA⊤A are the squared singular values of AAA, and that ∥A∥F2=∑iσi2\\|A\\|_F^2=\\sum_i\\sigma_i^2∥A∥F2​=∑i​σi2​.\n요지: SVD 손계산, 계수 1 근사(Eckart–Young), 프로베니우스 노름 = 특이값 제곱합\n1-B4. Matrix calculus and backpropagation (15 pts) [Ch. 5] (a) For f(x)=x⊤Axf(x)=x^\\top Axf(x)=x⊤Ax with A∈Rn×nA\\in\\mathbb R^{n\\times n}A∈Rn×n (not necessarily symmetric), show from the definition of partial derivatives that dfdx=x⊤(A+A⊤)\\dfrac{df}{dx}=x^\\top(A+A^\\top)dxdf​=x⊤(A+A⊤). (b) Let L(W)=∥y−Wx∥2L(W)=\\|y-Wx\\|^2L(W)=∥y−Wx∥2 with W∈R2×3W\\in\\mathbb R^{2\\times3}W∈R2×3. Show that dLdW=−2(y−Wx)x⊤\\dfrac{dL}{dW}=-2(y-Wx)x^\\topdWdL​=−2(y−Wx)x⊤ and evaluate it for W=[111010]W=\\begin{bmatrix}1\u0026amp;1\u0026amp;1\\\\0\u0026amp;1\u0026amp;0\\end{bmatrix}W=[10​11​10​], x=(1,0,2)⊤x=(1,0,2)^\\topx=(1,0,2)⊤, y=(1,2)⊤y=(1,2)^\\topy=(1,2)⊤. (c) Consider z=W1xz=W_1xz=W1​x, h=ReLU(z)h=\\mathrm{ReLU}(z)h=ReLU(z) (elementwise), y^=w2⊤h\\hat y=w_2^\\top hy^​=w2⊤​h, L=12(y^−y)2L=\\frac12(\\hat y-y)^2L=21​(y^​−y)2 with x=(1,2)⊤x=(1,2)^\\topx=(1,2)⊤, W1=[1−101]W_1=\\begin{bmatrix}1\u0026amp;-1\\\\0\u0026amp;1\\end{bmatrix}W1​=[10​−11​], w2=(3,1)⊤w_2=(3,1)^\\topw2​=(3,1)⊤, y=1y=1y=1. (i) Compute the forward pass z,h,y^,Lz,h,\\hat y,Lz,h,y^​,L. (ii) Compute ∂L/∂w2\\partial L/\\partial w_2∂L/∂w2​, ∂L/∂z\\partial L/\\partial z∂L/∂z, ∂L/∂W1\\partial L/\\partial W_1∂L/∂W1​, ∂L/∂x\\partial L/\\partial x∂L/∂x. (iii) Take one gradient step on W1W_1W1​ only with step size γ=0.1\\gamma=0.1γ=0.1 and compute the new loss.\n요지: 이차형식 미분 증명, 행렬에 대한 미분, 작은 신경망 역전파 손계산\n1-B5. Probability and distributions (15 pts) [Ch. 6] (a) Let X∼Bin(N,μ)X\\sim\\mathrm{Bin}(N,\\mu)X∼Bin(N,μ). Writing XXX as a sum of NNN independent Bernoulli variables, prove E[X]=Nμ\\mathbb E[X]=N\\muE[X]=Nμ and V[X]=Nμ(1−μ)\\mathbb V[X]=N\\mu(1-\\mu)V[X]=Nμ(1−μ). (b) A coin has unknown bias μ\\muμ with prior Beta(1,3)\\mathrm{Beta}(1,3)Beta(1,3). You observe 7 heads in 10 tosses. Find the posterior, its mean, its mode (μMAP\\mu_{\\text{MAP}}μMAP​), and compare them with μML\\mu_{\\text{ML}}μML​. (c) x∼N(1,4)x\\sim\\mathcal N(1,4)x∼N(1,4) and y∣x∼N(2x−1, 1)y\\mid x\\sim\\mathcal N(2x-1,\\,1)y∣x∼N(2x−1,1). Find p(y)p(y)p(y), Cov⁡[x,y]\\operatorname{Cov}[x,y]Cov[x,y] and p(x∣y=5)p(x\\mid y=5)p(x∣y=5). (d) X∼U(0,1)X\\sim\\mathcal U(0,1)X∼U(0,1) and Y=−ln⁡XY=-\\ln XY=−lnX. Find the pdf of YYY using the change-of-variables technique.\n요지: 이항분포 평균·분산 증명, 베타-이항 켤레, 가우시안 선형 모델의 주변·조건부, 변수 변환\n1-B6. Optimization and convexity (20 pts) [Ch. 5, 7] (a) f(x,y)=x4+y2−2xyf(x,y)=x^4+y^2-2xyf(x,y)=x4+y2−2xy. Find all stationary points and classify each using the Hessian. Is fff convex? What is the global minimum value? (b) Solve min⁡ (x1−2)2+(x2−1)2\\min\\ (x_1-2)^2+(x_2-1)^2min (x1​−2)2+(x2​−1)2 subject to x1+x2≤2x_1+x_2\\le2x1​+x2​≤2. Verify the KKT conditions, then derive the Lagrangian dual function D(λ)\\mathfrak D(\\lambda)D(λ) and show that strong duality holds. (c) Show that φ(t)=−log⁡t\\varphi(t)=-\\log tφ(t)=−logt is convex on t\u0026gt;0t\u0026gt;0t\u0026gt;0. Using Jensen\u0026rsquo;s inequality, prove E[log⁡X]≤log⁡E[X]\\mathbb E[\\log X]\\le\\log\\mathbb E[X]E[logX]≤logE[X] for a positive random variable XXX, and check it for XXX uniform on {1,4}\\{1,4\\}{1,4}.\n요지: 정류점 분류, KKT와 쌍대, 볼록성과 젠센 부등식(볼록·오목 성질로 푸는 확률 문제)\nPart 2 B형: Basic AI (60 min, 6 problems, English) 2-B1. Parameter estimation and regularization (15 pts) [Ch. 8, 9] (a) Let x1,…,xNx_1,\\dots,x_Nx1​,…,xN​ be i.i.d. from p(x∣λ)=λe−λxp(x\\mid\\lambda)=\\lambda e^{-\\lambda x}p(x∣λ)=λe−λx (x≥0x\\ge0x≥0). Derive λML\\lambda_{\\text{ML}}λML​ and verify that it is a maximum. Compute it for the data {1,2,3,2}\\{1,2,3,2\\}{1,2,3,2}. (b) Linear regression yn=ϕ(xn)⊤θ+ϵy_n=\\phi(x_n)^\\top\\theta+\\epsilonyn​=ϕ(xn​)⊤θ+ϵ, ϵ∼N(0,σ2)\\epsilon\\sim\\mathcal N(0,\\sigma^2)ϵ∼N(0,σ2), prior θ∼N(0,b2I)\\theta\\sim\\mathcal N(0,b^2I)θ∼N(0,b2I). Show that MAP estimation is equivalent to minimizing ∥y−Φθ∥2+λ∥θ∥22\\|y-\\Phi\\theta\\|^2+\\lambda\\|\\theta\\|_2^2∥y−Φθ∥2+λ∥θ∥22​ and identify λ\\lambdaλ. (c) Which prior on θ\\thetaθ makes MAP estimation equivalent to L1L_1L1​-regularized regression (LASSO)? Write the negative log-posterior.\n요지: 지수분포 MLE, 가우시안 사전분포의 MAP = 릿지, 라플라스 사전분포 = LASSO(교재 9.5절)\n2-B2. Bayesian linear regression (20 pts) [Ch. 9] y=θ0+θ1x+ϵy=\\theta_0+\\theta_1x+\\epsilony=θ0​+θ1​x+ϵ, ϵ∼N(0,1)\\epsilon\\sim\\mathcal N(0,1)ϵ∼N(0,1), prior θ∼N(0,I)\\theta\\sim\\mathcal N(0,I)θ∼N(0,I). Data (x,y)(x,y)(x,y): (0,1), (1,2), (2,4)(0,1),\\ (1,2),\\ (2,4)(0,1), (1,2), (2,4).\n(a) By completing the square in log⁡p(θ∣X,Y)\\log p(\\theta\\mid\\mathcal X,\\mathcal Y)logp(θ∣X,Y), derive SN=(S0−1+σ−2Φ⊤Φ)−1S_N=(S_0^{-1}+\\sigma^{-2}\\Phi^\\top\\Phi)^{-1}SN​=(S0−1​+σ−2Φ⊤Φ)−1 and mN=SN(S0−1m0+σ−2Φ⊤y)m_N=S_N(S_0^{-1}m_0+\\sigma^{-2}\\Phi^\\top y)mN​=SN​(S0−1​m0​+σ−2Φ⊤y). (b) Compute SNS_NSN​ and mNm_NmN​, and compare mNm_NmN​ with θML\\theta_{\\text{ML}}θML​. (c) Compute the posterior predictive distribution p(y∗∣X,Y,x∗=3)p(y_*\\mid\\mathcal X,\\mathcal Y,x_*=3)p(y∗​∣X,Y,x∗​=3). Which part of its variance comes from parameter uncertainty? (d) Write the marginal likelihood p(Y∣X)p(\\mathcal Y\\mid\\mathcal X)p(Y∣X) as a Gaussian and give its covariance matrix numerically. What is it used for?\n요지: 베이즈 선형회귀 사후분포 유도·계산, 예측분포, 주변 가능도\n2-B3. PCA: projection view and computation (15 pts) [Ch. 10] (a) For centered data with covariance SSS, let b1,…,bDb_1,\\dots,b_Db1​,…,bD​ be an orthonormal basis and project onto span⁡{b1,…,bM}\\operatorname{span}\\{b_1,\\dots,b_M\\}span{b1​,…,bM​}. Show that the average squared reconstruction error is JM=∑j=M+1Dbj⊤SbjJ_M=\\sum_{j=M+1}^{D}b_j^\\top Sb_jJM​=∑j=M+1D​bj⊤​Sbj​, and conclude that its minimum is ∑j=M+1Dλj\\sum_{j=M+1}^{D}\\lambda_j∑j=M+1D​λj​. (b) D=3D=3D=3, N=2N=2N=2, centered data matrix X=[1−12−22−2]X=\\begin{bmatrix}1\u0026amp;-1\\\\2\u0026amp;-2\\\\2\u0026amp;-2\\end{bmatrix}X=​122​−1−2−2​​ (columns are data points). Use the N\u0026lt;DN\u0026lt;DN\u0026lt;D trick: find the top eigenvector of 1NX⊤X\\frac1NX^\\top XN1​X⊤X and recover the principal direction u1u_1u1​ of S=1NXX⊤S=\\frac1NXX^\\topS=N1​XX⊤ and λ1\\lambda_1λ1​. (c) Relate λ1\\lambda_1λ1​ to the largest singular value of XXX. (d) In probabilistic PCA, p(x)=N(x∣μ, BB⊤+σ2I)p(x)=\\mathcal N(x\\mid\\mu,\\,BB^\\top+\\sigma^2I)p(x)=N(x∣μ,BB⊤+σ2I). For B=(1,2,2)⊤B=(1,2,2)^\\topB=(1,2,2)⊤ and σ2=0.5\\sigma^2=0.5σ2=0.5, find the eigenvalues and the top eigenvector of the covariance, and relate them to (b).\n요지: 재구성 오차 = 버린 고윳값의 합 증명, N\u0026lt;DN\u0026lt;DN\u0026lt;D 트릭, SVD와의 관계, PPCA 공분산\n2-B4. EM for Gaussian mixtures: derivations (15 pts) [Ch. 11] (a) For L=∑nlog⁡∑kπkN(xn∣μk,Σk)\\mathcal L=\\sum_n\\log\\sum_k\\pi_k\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)L=∑n​log∑k​πk​N(xn​∣μk​,Σk​), show that ∂L/∂μk=0\\partial\\mathcal L/\\partial\\mu_k=0∂L/∂μk​=0 gives μk=1Nk∑nrnkxn\\mu_k=\\frac1{N_k}\\sum_nr_{nk}x_nμk​=Nk​1​∑n​rnk​xn​, where rnkr_{nk}rnk​ is the responsibility and Nk=∑nrnkN_k=\\sum_nr_{nk}Nk​=∑n​rnk​. (b) Derive πk=Nk/N\\pi_k=N_k/Nπk​=Nk​/N using a Lagrange multiplier for ∑kπk=1\\sum_k\\pi_k=1∑k​πk​=1. (c) 1D, K=2K=2K=2, π=(0.4,0.6)\\pi=(0.4,0.6)π=(0.4,0.6), μ=(0,3)\\mu=(0,3)μ=(0,3), σ2=(1,4)\\sigma^2=(1,4)σ2=(1,4). Given N(1∣0,1)≈0.2420\\mathcal N(1\\mid0,1)\\approx0.2420N(1∣0,1)≈0.2420 and N(1∣3,4)≈0.1210\\mathcal N(1\\mid3,4)\\approx0.1210N(1∣3,4)≈0.1210, compute the responsibilities of x=1x=1x=1. (d) Explain why maximum likelihood for a GMM can degenerate (likelihood →∞\\to\\infty→∞).\n요지: μk\\mu_kμk​·πk\\pi_kπk​ 갱신식 유도, 책임도 계산, 최대가능도의 특이점(교재 11.5절)\n2-B5. Soft-margin SVM (20 pts) [Ch. 12] (a) Starting from the soft-margin primal (12.26a) min⁡w,b,ξ12∥w∥2+C∑nξn\\min_{w,b,\\xi}\\frac12\\|w\\|^2+C\\sum_n\\xi_nminw,b,ξ​21​∥w∥2+C∑n​ξn​ s.t. yn(w⊤xn+b)≥1−ξny_n(w^\\top x_n+b)\\ge1-\\xi_nyn​(w⊤xn​+b)≥1−ξn​, ξn≥0\\xi_n\\ge0ξn​≥0, derive the dual problem and show the box constraint 0≤αn≤C0\\le\\alpha_n\\le C0≤αn​≤C. (b) Show that the primal is equivalent to min⁡w,b12∥w∥2+C∑nmax⁡{0,1−yn(w⊤xn+b)}\\min_{w,b}\\frac12\\|w\\|^2+C\\sum_n\\max\\{0,1-y_n(w^\\top x_n+b)\\}minw,b​21​∥w∥2+C∑n​max{0,1−yn​(w⊤xn​+b)}. (c) Using complementary slackness, describe where a point lies when αn=0\\alpha_n=0αn​=0, 0\u0026lt;αn\u0026lt;C0\u0026lt;\\alpha_n\u0026lt;C0\u0026lt;αn​\u0026lt;C, and αn=C\\alpha_n=Cαn​=C. (d) Let w=(1,−1)⊤w=(1,-1)^\\topw=(1,−1)⊤, b=0b=0b=0, C=1C=1C=1 and the data (2,0)(2,0)(2,0) (+1)(+1)(+1), (0.5,0)(0.5,0)(0.5,0) (+1)(+1)(+1), (0,1)(0,1)(0,1) (−1)(-1)(−1), (1,0)(1,0)(1,0) (−1)(-1)(−1). Compute ynf(xn)y_nf(x_n)yn​f(xn​), the hinge losses, and the objective. If this (w,b)(w,b)(w,b) were optimal, what values could each αn\\alpha_nαn​ take? Use w=∑nαnynxnw=\\sum_n\\alpha_ny_nx_nw=∑n​αn​yn​xn​ and ∑nαnyn=0\\sum_n\\alpha_ny_n=0∑n​αn​yn​=0 to decide whether it is actually optimal.\n요지: 소프트 마진 쌍대 유도, 힌지 손실과의 동치, 상보 여유성, 숫자로 최적성 판정\n2-B6. Short essays (15 pts, answer 3 of 5) [Ch. 8–12] (1) Explain why the maximum-likelihood prediction ΦθML\\Phi\\theta_{\\text{ML}}ΦθML​ in linear regression is the orthogonal projection of yyy onto the column space of Φ\\PhiΦ. (2) Explain the relation among PCA, the SVD of the data matrix, and the Eckart–Young theorem. (3) Compare a GMM fitted by EM with KKK-means. (4) Why is the SVM dual useful? What must a valid kernel satisfy? Check that the Gram matrix of k(x,z)=(x⊤z)2k(x,z)=(x^\\top z)^2k(x,z)=(x⊤z)2 on x1=(1,0)x_1=(1,0)x1​=(1,0), x2=(0,1)x_2=(0,1)x2​=(0,1), x3=(1,1)x_3=(1,1)x3​=(1,1) is positive semidefinite. (5) Explain nested cross-validation and why the cross-validation score of the selected model is optimistic.\n요지: 서술형 5개 중 3개. 사영과 회귀, PCA·SVD·Eckart–Young, GMM과 K-평균, 쌍대와 커널, 중첩 교차검증\n영어 지문 용어 대조표 영어 뜻 영어 뜻 Show that / Prove 증명하라 Derive 식을 끝까지 유도하라 Compute / Evaluate 값을 계산하라 Verify / Check 확인하라 Justify 이유를 대라 Classify 종류를 판정하라(극소·극대·안장점 등) subspace 부분공간 basis / dimension 기저 / 차원 rank, kernel(null space), image 랭크, 핵(영공간), 상 transformation matrix 변환 행렬 ordered basis 순서 기저 orthogonal complement 직교여공간 orthogonal projection 정사영 inner product 내적 eigenvalue / eigenvector 고윳값 / 고유벡터 singular value 특이값 positive (semi)definite 양의 (준)정부호 rank-1 approximation 계수 1 근사 gradient / Jacobian / Hessian 기울기 / 야코비안 / 헤시안 stationary point / saddle point 정류점 / 안장점 step size (learning rate) 학습률 convex / concave 볼록 / 오목 Lagrangian / dual function 라그랑지안 / 쌍대 함수 strong duality 강한 쌍대성 complementary slackness 상보 여유성 i.i.d. 독립이고 같은 분포 likelihood / prior / posterior 가능도 / 사전분포 / 사후분포 conjugate prior 켤레 사전분포 marginal likelihood (evidence) 주변 가능도 posterior predictive 사후 예측 분포 change of variables 변수 변환 empirical risk 경험적 위험 overfitting / regularization 과적합 / 정규화 cross-validation (nested) (중첩) 교차검증 d-separation / collider d-분리 / 충돌 노드(화살표가 모이는 노드) latent variable 잠재변수 responsibility 책임도 mixture weight 혼합 비율 reconstruction error 재구성 오차 explained variance 설명된 분산 margin / support vector 마진 / 서포트 벡터 slack variable 여유 변수 ξ\\xiξ hinge loss 힌지 손실 Gram matrix 그람 행렬 ","permalink":"https://qofo.github.io/posts/mml-mock-exams/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재:\u003c/strong\u003e Deisenroth·Faisal·Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e (\u003ca href=\"https://mml-book.github.io/\"\u003emml-book.github.io\u003c/a\u003e에 공개된 PDF, 2024-01-15 판). 절과 식 번호는 그 PDF 기준이다.\u003cbr\u003e\n\u003cstrong\u003e답과 풀이:\u003c/strong\u003e \u003ca href=\"/posts/mml-mock-exam-solutions/\"\u003e다음 편\u003c/a\u003e에 있다. 숫자 답은 모두 sympy·numpy로 검산했고, 풀이에 적은 교재 절·식 번호는 PDF 원문과 대조했다.\u003cbr\u003e\n\u003cstrong\u003e범위와 시간:\u003c/strong\u003e 기초수학 = MML Part 1(2\u003cdel\u003e7장) 60분, 기초 AI = MML Part 2(8\u003c/del\u003e12장) 60분을 가정했다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"두-세트를-만든-이유\"\u003e두 세트를 만든 이유\u003c/h2\u003e\n\u003cp\u003e이 범위로 보는 필기시험의 응시 후기를 모아 보면, 1시간에 5~6문제가 나오고 교재의 기본 개념(정사영, 기울기 계산, 최적화 등)을 끝까지 계산할 수 있는지를 묻는 해가 많았다. 그런데 출제자가 해마다 바뀌어 체감 난이도가 크게 오른 해도 있었고, 같은 교재를 범위로 하는 다른 필기에서는 지문이 모두 영어이고 문제 대부분이 증명인 경우도 있었다. 그래서 과목마다 두 세트를 만들었다.\u003c/p\u003e","title":"MML 실전 모의고사: 기초수학·기초 AI 60분 세트"},{"content":" 교재: Deisenroth·Faisal·Ong, Mathematics for Machine Learning (mml-book.github.io에 공개된 PDF, 2024-01-15 판). 절과 식 번호는 그 PDF 기준이다.\n문제지: 앞 편에 문제만 모아 두었다. 먼저 60분 타이머로 풀어 본 뒤 이 글로 맞춰 본다.\n검산: 숫자 답은 모두 sympy(정확한 분수)와 numpy·scipy(수치 미분, 이차계획 풀이)로 다시 계산했다. 교재 절·식·정리 번호는 PDF 원문과 대조했다.\n읽는 법: 문제마다 풀이 → 답 → 채점 포인트(답안지에 꼭 보여야 할 줄) → 교재 근거 순서다. 교재에 없는 내용은 교재 밖 보충으로 표시했다.\n세트 바로 가기 Part 1 A형 1-A1 · 1-A2 · 1-A3 · 1-A4 · 1-A5 · 1-A6 Part 2 A형 2-A1 · 2-A2 · 2-A3 · 2-A4 · 2-A5 · 2-A6 Part 1 B형 1-B1 · 1-B2 · 1-B3 · 1-B4 · 1-B5 · 1-B6 Part 2 B형 2-B1 · 2-B2 · 2-B3 · 2-B4 · 2-B5 · 2-B6 Part 1 A형 1-A1 (a) 행 연산: R2←R2−2R1R_2\\leftarrow R_2-2R_1R2​←R2​−2R1​, R3←R3−3R1R_3\\leftarrow R_3-3R_1R3​←R3​−3R1​, R3←R3−R2R_3\\leftarrow R_3-R_2R3​←R3​−R2​.\n[120112414336154]→ [120110012100121]→ [120110012100000] \\begin{aligned} \u0026amp;\\left[\\begin{array}{cccc|c}1\u0026amp;2\u0026amp;0\u0026amp;1\u0026amp;1\\\\2\u0026amp;4\u0026amp;1\u0026amp;4\u0026amp;3\\\\3\u0026amp;6\u0026amp;1\u0026amp;5\u0026amp;4\\end{array}\\right]\\\\ \\to\\ \u0026amp;\\left[\\begin{array}{cccc|c}1\u0026amp;2\u0026amp;0\u0026amp;1\u0026amp;1\\\\0\u0026amp;0\u0026amp;1\u0026amp;2\u0026amp;1\\\\0\u0026amp;0\u0026amp;1\u0026amp;2\u0026amp;1\\end{array}\\right]\\\\ \\to\\ \u0026amp;\\left[\\begin{array}{cccc|c}1\u0026amp;2\u0026amp;0\u0026amp;1\u0026amp;1\\\\0\u0026amp;0\u0026amp;1\u0026amp;2\u0026amp;1\\\\0\u0026amp;0\u0026amp;0\u0026amp;0\u0026amp;0\\end{array}\\right] \\end{aligned} → → ​​123​246​011​145​134​​​100​200​011​122​111​​​100​200​010​120​110​​​이미 RREF다(피벗 1열·3열, 피벗 위아래가 0). 피벗이 2개라 rank⁡(A)=2\\operatorname{rank}(A)=2rank(A)=2.\n(b) 자유변수 x2=sx_2=sx2​=s, x4=tx_4=tx4​=t. 첫 줄 x1=1−2s−tx_1=1-2s-tx1​=1−2s−t, 둘째 줄 x3=1−2tx_3=1-2tx3​=1−2t.\nx=[1010]+s[−2100]+t[−10−21] x=\\begin{bmatrix}1\\\\0\\\\1\\\\0\\end{bmatrix}+s\\begin{bmatrix}-2\\\\1\\\\0\\\\0\\end{bmatrix}+t\\begin{bmatrix}-1\\\\0\\\\-2\\\\1\\end{bmatrix} x=​1010​​+s​−2100​​+t​−10−21​​(s,ts,ts,t는 임의의 실수.) 검산: A(1,0,1,0)⊤=(1,3,4)⊤=bA(1,0,1,0)^\\top=(1,3,4)^\\top=bA(1,0,1,0)⊤=(1,3,4)⊤=b, 두 방향 벡터에 AAA를 곱하면 0.\n(c) 기저 {(−2,1,0,0)⊤,(−1,0,−2,1)⊤}\\{(-2,1,0,0)^\\top,(-1,0,-2,1)^\\top\\}{(−2,1,0,0)⊤,(−1,0,−2,1)⊤}, dim⁡ker⁡A=2\\dim\\ker A=2dimkerA=2. rank⁡+dim⁡ker⁡=2+2=4=\\operatorname{rank}+\\dim\\ker=2+2=4=rank+dimker=2+2=4= 열의 수 nnn.\n(d) 해가 없다. 셋째 행이 첫째 행과 둘째 행의 합이므로 해가 있으려면 b3=b1+b2b_3=b_1+b_2b3​=b1​+b2​여야 한다. 5≠1+35\\ne1+35=1+3이라 소거하면 0=10=10=1이 남는다.\n채점 포인트: 피벗 열 표시, 자유변수 매개변수화, 영공간 벡터 검산, 0=10=10=1 모순. 교재 근거: 2.3절(특수해와 일반해, RREF), 정리 2.24(차원 정리).\n1-A2 (a) B⊤B=[2112]B^\\top B=\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}B⊤B=[21​12​], (B⊤B)−1=13[2−1−12](B^\\top B)^{-1}=\\frac13\\begin{bmatrix}2\u0026amp;-1\\\\-1\u0026amp;2\\end{bmatrix}(B⊤B)−1=31​[2−1​−12​].\nP=B(B⊤B)−1B⊤=13[21112−11−12] \\begin{aligned} P\u0026amp;=B(B^\\top B)^{-1}B^\\top\\\\ \u0026amp;=\\frac13\\begin{bmatrix}2\u0026amp;1\u0026amp;1\\\\1\u0026amp;2\u0026amp;-1\\\\1\u0026amp;-1\u0026amp;2\\end{bmatrix} \\end{aligned} P​=B(B⊤B)−1B⊤=31​​211​12−1​1−12​​​좌표: B⊤x=(3,3)⊤B^\\top x=(3,3)^\\topB⊤x=(3,3)⊤, λ=(B⊤B)−1B⊤x=13(6−3, −3+6)=(1,1)\\lambda=(B^\\top B)^{-1}B^\\top x=\\frac13(6-3,\\,-3+6)=(1,1)λ=(B⊤B)−1B⊤x=31​(6−3,−3+6)=(1,1). 따라서 πU(x)=b1+b2=(2,1,1)⊤\\pi_U(x)=b_1+b_2=(2,1,1)^\\topπU​(x)=b1​+b2​=(2,1,1)⊤ (PxPxPx로 계산해도 같다).\n(b) x−πU(x)=(−2,2,2)⊤x-\\pi_U(x)=(-2,2,2)^\\topx−πU​(x)=(−2,2,2)⊤. 이 벡터는 b1b_1b1​, b2b_2b2​와 내적이 0이다(직교 확인). 거리 =4+4+4=23=\\sqrt{4+4+4}=2\\sqrt3=4+4+4​=23​.\n(c) u1=b1u_1=b_1u1​=b1​. u2=b2−b2⊤u1u1⊤u1u1=(1,0,1)−12(1,1,0)=(12,−12,1)u_2=b_2-\\frac{b_2^\\top u_1}{u_1^\\top u_1}u_1=(1,0,1)-\\frac12(1,1,0)=(\\frac12,-\\frac12,1)u2​=b2​−u1⊤​u1​b2⊤​u1​​u1​=(1,0,1)−21​(1,1,0)=(21​,−21​,1).\ne1=12(1,1,0)⊤e2=16(1,−1,2)⊤ \\begin{aligned} e_1\u0026amp;=\\tfrac1{\\sqrt2}(1,1,0)^\\top\\\\ e_2\u0026amp;=\\tfrac1{\\sqrt6}(1,-1,2)^\\top \\end{aligned} e1​e2​​=2​1​(1,1,0)⊤=6​1​(1,−1,2)⊤​e1⊤x=32e_1^\\top x=\\frac3{\\sqrt2}e1⊤​x=2​3​, e2⊤x=0−3+66=36e_2^\\top x=\\frac{0-3+6}{\\sqrt6}=\\frac3{\\sqrt6}e2⊤​x=6​0−3+6​=6​3​이므로 πU(x)=32(1,1,0)+12(1,−1,2)=(2,1,1)\\pi_U(x)=\\frac32(1,1,0)+\\frac12(1,-1,2)=(2,1,1)πU​(x)=23​(1,1,0)+21​(1,−1,2)=(2,1,1). (a)와 같다.\n(d) P2=B(B⊤B)−1B⊤B(B⊤B)−1⏟IB⊤=PP^2=B(B^\\top B)^{-1}\\underbrace{B^\\top B(B^\\top B)^{-1}}_{I}B^\\top=PP2=B(B⊤B)−1IB⊤B(B⊤B)−1​​B⊤=P. B⊤BB^\\top BB⊤B가 대칭이라 그 역행렬도 대칭이므로 P⊤=B((B⊤B)−1)⊤B⊤=PP^\\top=B\\big((B^\\top B)^{-1}\\big)^\\top B^\\top=PP⊤=B((B⊤B)−1)⊤B⊤=P. Pv=λvPv=\\lambda vPv=λv이면 λv=Pv=P2v=λ2v\\lambda v=Pv=P^2v=\\lambda^2vλv=Pv=P2v=λ2v라서 λ∈{0,1}\\lambda\\in\\{0,1\\}λ∈{0,1}. 여기서는 UUU 안의 방향 두 개가 고윳값 1, UUU에 수직인 (1,−1,−1)(1,-1,-1)(1,−1,−1) 방향이 고윳값 0이다.\n채점 포인트: 정규방정식 B⊤(x−Bλ)=0B^\\top(x-B\\lambda)=0B⊤(x−Bλ)=0에서 출발, 잔차의 직교 확인, 그람-슈미트에서 u2u_2u2​를 정규화. 교재 근거: 3.8.2절 식 (3.55)(3.59), 그람-슈미트 (3.67)(3.68), 정규직교기저일 때 (3.65).\n1-A3 (a) det⁡(A−λI)=(4−λ)(3−λ)−2=λ2−7λ+10=(λ−5)(λ−2)\\det(A-\\lambda I)=(4-\\lambda)(3-\\lambda)-2=\\lambda^2-7\\lambda+10=(\\lambda-5)(\\lambda-2)det(A−λI)=(4−λ)(3−λ)−2=λ2−7λ+10=(λ−5)(λ−2).\nλ=5\\lambda=5λ=5: A−5I=[−112−2]A-5I=\\begin{bmatrix}-1\u0026amp;1\\\\2\u0026amp;-2\\end{bmatrix}A−5I=[−12​1−2​] → v1=(1,1)⊤v_1=(1,1)^\\topv1​=(1,1)⊤ λ=2\\lambda=2λ=2: A−2I=[2121]A-2I=\\begin{bmatrix}2\u0026amp;1\\\\2\u0026amp;1\\end{bmatrix}A−2I=[22​11​] → v2=(1,−2)⊤v_2=(1,-2)^\\topv2​=(1,−2)⊤ (b) P=[111−2]P=\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-2\\end{bmatrix}P=[11​1−2​], D=diag⁡(5,2)D=\\operatorname{diag}(5,2)D=diag(5,2), P−1=13[211−1]P^{-1}=\\frac13\\begin{bmatrix}2\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}P−1=31​[21​1−1​].\nAn=PDnP−1=13[2⋅5n+2n5n−2n2⋅5n−2n+15n+2n+1] \\begin{aligned} A^n\u0026amp;=PD^nP^{-1}\\\\ \u0026amp;=\\frac13\\begin{bmatrix}2\\cdot5^n+2^n \u0026amp; 5^n-2^n\\\\ 2\\cdot5^n-2^{n+1} \u0026amp; 5^n+2^{n+1}\\end{bmatrix} \\end{aligned} An​=PDnP−1=31​[2⋅5n+2n2⋅5n−2n+1​5n−2n5n+2n+1​]​n=1n=1n=1: 13[12369]=A\\frac13\\begin{bmatrix}12\u0026amp;3\\\\6\u0026amp;9\\end{bmatrix}=A31​[126​39​]=A. (n=3n=3n=3이면 [86397847]\\begin{bmatrix}86\u0026amp;39\\\\78\u0026amp;47\\end{bmatrix}[8678​3947​]로 A3A^3A3을 직접 곱한 값과 같다.)\n(c) v1⊤v2=1−2=−1≠0v_1^\\top v_2=1-2=-1\\ne0v1⊤​v2​=1−2=−1=0이라 직교하지 않는다. 스펙트럼 정리는 대칭행렬에만 고유벡터로 된 정규직교기저를 보장한다. AAA는 a12=1≠a21=2a_{12}=1\\ne a_{21}=2a12​=1=a21​=2라 대칭이 아니므로 보장이 없다. 고윳값이 서로 달라 고유벡터가 선형독립이므로 대각화는 된다.\n(d) L=[l110l21l22]L=\\begin{bmatrix}l_{11}\u0026amp;0\\\\l_{21}\u0026amp;l_{22}\\end{bmatrix}L=[l11​l21​​0l22​​]: l112=4⇒l11=2l_{11}^2=4\\Rightarrow l_{11}=2l112​=4⇒l11​=2, l21l11=2⇒l21=1l_{21}l_{11}=2\\Rightarrow l_{21}=1l21​l11​=2⇒l21​=1, l212+l222=5⇒l22=2l_{21}^2+l_{22}^2=5\\Rightarrow l_{22}=2l212​+l222​=5⇒l22​=2.\nL=[2012],LL⊤=[4225]=C L=\\begin{bmatrix}2\u0026amp;0\\\\1\u0026amp;2\\end{bmatrix},\\qquad LL^\\top=\\begin{bmatrix}4\u0026amp;2\\\\2\u0026amp;5\\end{bmatrix}=C L=[21​02​],LL⊤=[42​25​]=C채점 포인트: 특성다항식, 고유벡터 계산, P−1P^{-1}P−1, 대칭 여부와 스펙트럼 정리의 조건. 교재 근거: 4.2절, 4.4절(고윳값 분해), 정리 4.15(스펙트럼 정리), 정리 4.18(촐레스키 분해).\n1-A4 (a) 편미분:\n∂f∂x1=2x1x2+x2ex1x2∂f∂x2=x12+x1ex1x2 \\begin{aligned} \\frac{\\partial f}{\\partial x_1}\u0026amp;=2x_1x_2+x_2e^{x_1x_2}\\\\ \\frac{\\partial f}{\\partial x_2}\u0026amp;=x_1^2+x_1e^{x_1x_2} \\end{aligned} ∂x1​∂f​∂x2​∂f​​=2x1​x2​+x2​ex1​x2​=x12​+x1​ex1​x2​​(1,0)(1,0)(1,0)에서 ∇f=[ 0, 2 ]\\nabla f=[\\,0,\\ 2\\,]∇f=[0, 2] (1×21\\times21×2 행벡터).\n(b) 2계 편미분:\nf11=2x2+x22ex1x2f12=2x1+ex1x2+x1x2ex1x2f22=x12ex1x2 \\begin{aligned} f_{11}\u0026amp;=2x_2+x_2^2e^{x_1x_2}\\\\ f_{12}\u0026amp;=2x_1+e^{x_1x_2}+x_1x_2e^{x_1x_2}\\\\ f_{22}\u0026amp;=x_1^2e^{x_1x_2} \\end{aligned} f11​f12​f22​​=2x2​+x22​ex1​x2​=2x1​+ex1​x2​+x1​x2​ex1​x2​=x12​ex1​x2​​(1,0)(1,0)(1,0)에서 H=[0331]H=\\begin{bmatrix}0\u0026amp;3\\\\3\u0026amp;1\\end{bmatrix}H=[03​31​].\n(c) f(1,0)=0+e0=1f(1,0)=0+e^0=1f(1,0)=0+e0=1.\nT2(δ)=1+[ 0, 2 ]δ+12δ⊤Hδ=1+2δ2+3δ1δ2+12δ22 \\begin{aligned} T_2(\\delta)\u0026amp;=1+[\\,0,\\ 2\\,]\\delta+\\tfrac12\\delta^\\top H\\delta\\\\ \u0026amp;=1+2\\delta_2+3\\delta_1\\delta_2+\\tfrac12\\delta_2^2 \\end{aligned} T2​(δ)​=1+[0, 2]δ+21​δ⊤Hδ=1+2δ2​+3δ1​δ2​+21​δ22​​(d) g(x)=(Ax−b)⊤(Ax−b)g(x)=(Ax-b)^\\top(Ax-b)g(x)=(Ax−b)⊤(Ax−b)를 연쇄법칙으로 미분하면 dgdx=2(Ax−b)⊤A\\dfrac{dg}{dx}=2(Ax-b)^\\top Adxdg​=2(Ax−b)⊤A (1×21\\times21×2). Ax0−b=(1,0,1)−(1,1,1)=(0,−1,0)Ax_0-b=(1,0,1)-(1,1,1)=(0,-1,0)Ax0​−b=(1,0,1)−(1,1,1)=(0,−1,0)이므로 dgdx∣x0=2 (0,−1,0)A=2 (0,−1)=(0,−2)\\dfrac{dg}{dx}\\Big|_{x_0}=2\\,(0,-1,0)A=2\\,(0,-1)=(0,-2)dxdg​​x0​​=2(0,−1,0)A=2(0,−1)=(0,−2). 최소점은 기울기를 0으로 두는 정규방정식 A⊤Ax=A⊤bA^\\top Ax=A^\\top bA⊤Ax=A⊤b: A⊤A=[2225]A^\\top A=\\begin{bmatrix}2\u0026amp;2\\\\2\u0026amp;5\\end{bmatrix}A⊤A=[22​25​], A⊤b=(2,3)⊤A^\\top b=(2,3)^\\topA⊤b=(2,3)⊤, x=16[5−2−22][23]=(23,13)x=\\frac16\\begin{bmatrix}5\u0026amp;-2\\\\-2\u0026amp;2\\end{bmatrix}\\begin{bmatrix}2\\\\3\\end{bmatrix}=\\left(\\frac23,\\frac13\\right)x=61​[5−2​−22​][23​]=(32​,31​).\n채점 포인트: 기울기를 행벡터로 쓰기, 혼합 편미분 f12f_{12}f12​의 곱의 미분, 테일러의 12\\frac1221​, A⊤A^\\topA⊤의 위치. 교재 근거: 5.2절(편미분, 기울기, 연쇄법칙), 5.3절(야코비안), 5.7~5.8절(헤시안, 다변수 테일러), 5.5절 행렬 미분 항등식.\n1-A5 (a) 전체 확률의 법칙: P(D)=0.5(0.01)+0.3(0.02)+0.2(0.05)=0.005+0.006+0.010=0.021P(D)=0.5(0.01)+0.3(0.02)+0.2(0.05)=0.005+0.006+0.010=0.021P(D)=0.5(0.01)+0.3(0.02)+0.2(0.05)=0.005+0.006+0.010=0.021. 베이즈 정리: P(C∣D)=0.0100.021=1021≈0.476P(C\\mid D)=\\dfrac{0.010}{0.021}=\\dfrac{10}{21}\\approx0.476P(C∣D)=0.0210.010​=2110​≈0.476. 생산 비율은 20%뿐인데 불량률이 높아 불량품의 거의 절반이 C에서 나온다.\n(b) μ=E[x]\\mu=\\mathbb E[x]μ=E[x]는 상수다.\nE[(x−μ)2]=E[x2−2μx+μ2]=E[x2]−2μ E[x]+μ2=E[x2]−μ2 \\begin{aligned} \\mathbb E[(x-\\mu)^2]\u0026amp;=\\mathbb E[x^2-2\\mu x+\\mu^2]\\\\ \u0026amp;=\\mathbb E[x^2]-2\\mu\\,\\mathbb E[x]+\\mu^2\\\\ \u0026amp;=\\mathbb E[x^2]-\\mu^2 \\end{aligned} E[(x−μ)2]​=E[x2−2μx+μ2]=E[x2]−2μE[x]+μ2=E[x2]−μ2​기댓값의 선형성만 썼다.\n(c) (i) 가우시안의 주변분포는 해당 성분만 고른다: p(x1)=N(1,2)p(x_1)=\\mathcal N(1,2)p(x1​)=N(1,2). (ii) 조건부 평균과 분산:\nμ1∣2=μ1+Σ12Σ22(4−μ2)=1+12⋅2=2σ1∣22=Σ11−Σ122Σ22=2−12=32 \\begin{aligned} \\mu_{1\\mid2}\u0026amp;=\\mu_1+\\frac{\\Sigma_{12}}{\\Sigma_{22}}(4-\\mu_2)\\\\ \u0026amp;=1+\\tfrac12\\cdot2=2\\\\ \\sigma^2_{1\\mid2}\u0026amp;=\\Sigma_{11}-\\frac{\\Sigma_{12}^2}{\\Sigma_{22}}\\\\ \u0026amp;=2-\\tfrac12=\\tfrac32 \\end{aligned} μ1∣2​σ1∣22​​=μ1​+Σ22​Σ12​​(4−μ2​)=1+21​⋅2=2=Σ11​−Σ22​Σ122​​=2−21​=23​​p(x1∣x2=4)=N(2,32)p(x_1\\mid x_2=4)=\\mathcal N(2,\\tfrac32)p(x1​∣x2​=4)=N(2,23​). x2x_2x2​가 평균보다 크게 나왔고 상관이 양수라 x1x_1x1​의 기대값도 올라가고, 정보를 얻어 분산은 줄었다. (iii) a=(1,−1)⊤a=(1,-1)^\\topa=(1,−1)⊤: 평균 a⊤μ=−1a^\\top\\mu=-1a⊤μ=−1, 분산 a⊤Σa=2+2−2⋅1=2a^\\top\\Sigma a=2+2-2\\cdot1=2a⊤Σa=2+2−2⋅1=2. y∼N(−1,2)y\\sim\\mathcal N(-1,2)y∼N(−1,2). (iv) E[x1x2]=Cov⁡[x1,x2]+μ1μ2=1+2=3\\mathbb E[x_1x_2]=\\operatorname{Cov}[x_1,x_2]+\\mu_1\\mu_2=1+2=3E[x1​x2​]=Cov[x1​,x2​]+μ1​μ2​=1+2=3.\n채점 포인트: 전체 확률의 분모, 조건부 공식 두 줄, 선형변환의 a⊤Σaa^\\top\\Sigma aa⊤Σa. 교재 근거: 6.3절(베이즈 정리), 식 (6.44)(분산의 raw-score 공식), 6.5.1절 식 (6.65)~(6.67), 식 (6.88)(선형변환).\n1-A6 (a)(i) ∇f=(Qx−b)⊤=0⇒x∗=Q−1b=(1,12)⊤\\nabla f=(Qx-b)^\\top=0\\Rightarrow x^*=Q^{-1}b=(1,\\tfrac12)^\\top∇f=(Qx−b)⊤=0⇒x∗=Q−1b=(1,21​)⊤.\n(ii) xk+1=xk−γ(Qxk−b)x_{k+1}=x_k-\\gamma(Qx_k-b)xk+1​=xk​−γ(Qxk​−b).\nx1=0−0.2(0−b)=(0.2, 0.4)x_1=0-0.2(0-b)=(0.2,\\,0.4)x1​=0−0.2(0−b)=(0.2,0.4) Qx1−b=(0.2,1.6)−(1,2)=(−0.8,−0.4)Qx_1-b=(0.2,1.6)-(1,2)=(-0.8,-0.4)Qx1​−b=(0.2,1.6)−(1,2)=(−0.8,−0.4), x2=(0.2,0.4)+0.2(0.8,0.4)=(0.36, 0.48)x_2=(0.2,0.4)+0.2(0.8,0.4)=(0.36,\\,0.48)x2​=(0.2,0.4)+0.2(0.8,0.4)=(0.36,0.48) (iii) b=Qx∗b=Qx^*b=Qx∗이므로 xk+1−x∗=(xk−x∗)−γQ(xk−x∗)=(I−γQ)ekx_{k+1}-x^*=(x_k-x^*)-\\gamma Q(x_k-x^*)=(I-\\gamma Q)e_kxk+1​−x∗=(xk​−x∗)−γQ(xk​−x∗)=(I−γQ)ek​. I−γQ=diag⁡(1−γ, 1−4γ)I-\\gamma Q=\\operatorname{diag}(1-\\gamma,\\,1-4\\gamma)I−γQ=diag(1−γ,1−4γ)라 성분마다 따로 줄어든다. 어떤 시작점에서도 수렴하려면 ∣1−γ∣\u0026lt;1|1-\\gamma|\u0026lt;1∣1−γ∣\u0026lt;1이고 ∣1−4γ∣\u0026lt;1|1-4\\gamma|\u0026lt;1∣1−4γ∣\u0026lt;1, 즉 0\u0026lt;γ\u0026lt;0.50\u0026lt;\\gamma\u0026lt;0.50\u0026lt;γ\u0026lt;0.5. 가장 빠른 γ\\gammaγ는 두 배율 중 큰 값 max⁡{∣1−γ∣,∣1−4γ∣}\\max\\{|1-\\gamma|,|1-4\\gamma|\\}max{∣1−γ∣,∣1−4γ∣}을 최소로 하는 값이다. 1−γ=4γ−11-\\gamma=4\\gamma-11−γ=4γ−1에서 γ=0.4\\gamma=0.4γ=0.4, 이때 오차는 한 번에 0.6배가 된다. (검산: e0=(−1,−0.5)e_0=(-1,-0.5)e0​=(−1,−0.5), e1=(0.8⋅(−1), 0.2⋅(−0.5))=(−0.8,−0.1)e_1=(0.8\\cdot(-1),\\ 0.2\\cdot(-0.5))=(-0.8,-0.1)e1​=(0.8⋅(−1), 0.2⋅(−0.5))=(−0.8,−0.1) → x1=x∗+e1=(0.2,0.4)x_1=x^*+e_1=(0.2,0.4)x1​=x∗+e1​=(0.2,0.4). 맞다.) 일반형 0\u0026lt;γ\u0026lt;2/λmax⁡0\u0026lt;\\gamma\u0026lt;2/\\lambda_{\\max}0\u0026lt;γ\u0026lt;2/λmax​, 최적 γ=2/(λmin⁡+λmax⁡)\\gamma=2/(\\lambda_{\\min}+\\lambda_{\\max})γ=2/(λmin​+λmax​)은 교재 밖 보충이다. 교재 7.1절은 학습률이 너무 크면 발산하고 너무 작으면 느리다는 것과 조건수가 나쁘면 지그재그로 느려진다는 것을 설명한다.\n(b)(i) g(x)=2−x1−x2≤0g(x)=2-x_1-x_2\\le0g(x)=2−x1​−x2​≤0. L(x,λ)=x12+x22+λ(2−x1−x2)\\mathfrak L(x,\\lambda)=x_1^2+x_2^2+\\lambda(2-x_1-x_2)L(x,λ)=x12​+x22​+λ(2−x1​−x2​), λ≥0\\lambda\\ge0λ≥0. (ii) ∂L/∂xi=2xi−λ=0⇒x1=x2=λ/2\\partial\\mathfrak L/\\partial x_i=2x_i-\\lambda=0\\Rightarrow x_1=x_2=\\lambda/2∂L/∂xi​=2xi​−λ=0⇒x1​=x2​=λ/2. 대입:\nD(λ)=λ24+λ24+λ(2−λ)=2λ−λ22 \\begin{aligned} \\mathfrak D(\\lambda)\u0026amp;=\\frac{\\lambda^2}4+\\frac{\\lambda^2}4+\\lambda(2-\\lambda)\\\\ \u0026amp;=2\\lambda-\\frac{\\lambda^2}2 \\end{aligned} D(λ)​=4λ2​+4λ2​+λ(2−λ)=2λ−2λ2​​(iii) D′(λ)=2−λ=0⇒λ∗=2 (≥0)\\mathfrak D\u0026#x27;(\\lambda)=2-\\lambda=0\\Rightarrow\\lambda^*=2\\ (\\ge0)D′(λ)=2−λ=0⇒λ∗=2 (≥0), D(λ∗)=2\\mathfrak D(\\lambda^*)=2D(λ∗)=2. 원 문제: x∗=(λ∗/2,λ∗/2)=(1,1)x^*=(\\lambda^*/2,\\lambda^*/2)=(1,1)x∗=(λ∗/2,λ∗/2)=(1,1)은 제약을 만족하고 f(x∗)=2f(x^*)=2f(x∗)=2. 두 값이 같다(강한 쌍대성). 약한 쌍대성은 모든 λ≥0\\lambda\\ge0λ≥0과 가능한 xxx에 대해 D(λ)≤f(x)\\mathfrak D(\\lambda)\\le f(x)D(λ)≤f(x)라는 뜻이다.\n채점 포인트: 갱신식 두 번 정확히, 오차 반복식 유도, 부등식 방향을 g≤0g\\le0g≤0으로 맞추기, D\\mathfrak DD는 xxx에 대한 최소. 교재 근거: 7.1절 식 (7.6), 7.2절 식 (7.17)~(7.27)(라그랑주 쌍대, 최소최대 부등식).\nPart 2 A형 2-A1 (a) 음의 로그 가능도:\nL(μ)=−∑n=1Nlog⁡N(xn∣μ,σ2)=12σ2∑n(xn−μ)2+N2log⁡(2πσ2) \\begin{aligned} \\mathcal L(\\mu)\u0026amp;=-\\sum_{n=1}^N\\log\\mathcal N(x_n\\mid\\mu,\\sigma^2)\\\\ \u0026amp;=\\frac1{2\\sigma^2}\\sum_n(x_n-\\mu)^2\\\\ \u0026amp;\\quad+\\frac N2\\log(2\\pi\\sigma^2) \\end{aligned} L(μ)​=−n=1∑N​logN(xn​∣μ,σ2)=2σ21​n∑​(xn​−μ)2+2N​log(2πσ2)​dLdμ=−1σ2∑n(xn−μ)=0⇒μML=xˉ=164=4\\dfrac{d\\mathcal L}{d\\mu}=-\\dfrac1{\\sigma^2}\\sum_n(x_n-\\mu)=0\\Rightarrow\\mu_{\\text{ML}}=\\bar x=\\dfrac{16}4=4dμdL​=−σ21​∑n​(xn​−μ)=0⇒μML​=xˉ=416​=4. (2계 도함수 N/σ2\u0026gt;0N/\\sigma^2\u0026gt;0N/σ2\u0026gt;0라 최소.)\n(b) σML2=1N∑n(xn−μML)2=4+0+1+94=72=3.5\\sigma^2_{\\text{ML}}=\\frac1N\\sum_n(x_n-\\mu_{\\text{ML}})^2=\\frac{4+0+1+9}4=\\frac72=3.5σML2​=N1​∑n​(xn​−μML​)2=44+0+1+9​=27​=3.5.\n(c) 로그 사후분포 =−12⋅4∑n(xn−μ)2−12μ2+const=-\\frac1{2\\cdot4}\\sum_n(x_n-\\mu)^2-\\frac12\\mu^2+\\text{const}=−2⋅41​∑n​(xn​−μ)2−21​μ2+const. μ\\muμ에 대한 이차식이라 사후분포는 가우시안이다.\n정밀도(분산의 역수): Nσ2+1τ2=44+1=2\\dfrac N{\\sigma^2}+\\dfrac1{\\tau^2}=\\dfrac44+1=2σ2N​+τ21​=44​+1=2 → 사후 분산 12\\frac1221​ 평균: ∑nxn/σ22=16/42=2\\dfrac{\\sum_nx_n/\\sigma^2}{2}=\\dfrac{16/4}2=22∑n​xn​/σ2​=216/4​=2 p(μ∣X)=N(2,12)p(\\mu\\mid\\mathcal X)=\\mathcal N(2,\\tfrac12)p(μ∣X)=N(2,21​), 가우시안은 최빈값이 평균이므로 μMAP=2\\mu_{\\text{MAP}}=2μMAP​=2. 사전분포가 0 쪽으로 끌어당겨 μML=4\\mu_{\\text{ML}}=4μML​=4보다 작다.\n(d) μMAP=Nxˉ/σ2N/σ2+1/τ2\\mu_{\\text{MAP}}=\\dfrac{N\\bar x/\\sigma^2}{N/\\sigma^2+1/\\tau^2}μMAP​=N/σ2+1/τ2Nxˉ/σ2​. NNN이 커지면 데이터 정밀도 N/σ2N/\\sigma^2N/σ2가 고정된 사전 정밀도 1/τ21/\\tau^21/τ2를 압도해 μMAP→xˉ=μML\\mu_{\\text{MAP}}\\to\\bar x=\\mu_{\\text{ML}}μMAP​→xˉ=μML​, 사후 분산은 0으로 간다.\n채점 포인트: 음의 로그 가능도의 두 항, 분모 NNN, 제곱 완성 또는 미분으로 사후 평균. 교재 근거: 8.3.1절(MLE, 예제 8.5 가우시안 가능도), 8.3.2절 식 (8.19)(MAP), 6.5.2절(가우시안의 곱).\n2-A2 (a) p(a,b,c,d)=p(a) p(b) p(c∣a,b) p(d∣c)p(a,b,c,d)=p(a)\\,p(b)\\,p(c\\mid a,b)\\,p(d\\mid c)p(a,b,c,d)=p(a)p(b)p(c∣a,b)p(d∣c). (i) 성립. aaa와 bbb를 잇는 경로는 a→c←ba\\to c\\leftarrow ba→c←b 하나다. ccc에서 화살표가 머리끼리 만나고(충돌 노드), ccc도 그 자손 ddd도 관측되지 않았으므로 막힌다. (ii) 성립하지 않는다. 충돌 노드 ccc의 자손 ddd가 관측되면 경로가 열린다(설명해 버리기 효과: 결과를 알면 두 원인이 서로 정보를 준다). (iii) 성립. a→c→da\\to c\\to da→c→d에서 ccc는 머리-꼬리 노드이고 관측되었으므로 막힌다. aaa에서 ddd로 가는 다른 경로는 없다.\n(b) Remp(f,X,y)=1N∑n=1Nℓ(yn,y^n)R_{\\text{emp}}(f,X,y)=\\dfrac1N\\sum_{n=1}^N\\ell(y_n,\\hat y_n)Remp​(f,X,y)=N1​∑n=1N​ℓ(yn​,y^​n​), y^n=f(xn,θ)\\hat y_n=f(x_n,\\theta)y^​n​=f(xn​,θ). 유연한 모델은 훈련 데이터의 잡음까지 맞춰 훈련 위험은 작지만 처음 보는 데이터의 위험은 커진다(과적합). 경험적 위험은 훈련에 쓴 데이터로 잰 값이라 기대 위험을 낙관적으로 추정한다. 정규화는 λ∥θ∥2\\lambda\\|\\theta\\|^2λ∥θ∥2 같은 벌점 항을 더해 매개변수가 커지는 것을 막는다.\n(c)\n모델 AIC =log⁡p−M=\\log p-M=logp−M BIC =log⁡p−12Mln⁡50=\\log p-\\frac12M\\ln50=logp−21​Mln50 1 (M=3M=3M=3) −83-83−83 −80−1.5(3.912)=−85.87-80-1.5(3.912)=-85.87−80−1.5(3.912)=−85.87 2 (M=6M=6M=6) −81-81−81 −75−3(3.912)=−86.74-75-3(3.912)=-86.74−75−3(3.912)=−86.74 두 식 모두 클수록 좋다. AIC는 모델 2, BIC는 모델 1을 고른다. BIC는 매개변수 하나당 12ln⁡N=1.956\\frac12\\ln N=1.95621​lnN=1.956을 깎아 AIC(1)보다 복잡도 벌점이 크다(N≥8N\\ge8N≥8이면 항상 그렇다).\n채점 포인트: 충돌 노드 규칙(자손 관측 포함), 경험적 위험 식, AIC·BIC 부호 방향. 교재 근거: 8.5.1절 식 (8.31), 8.5.2절(d-분리), 8.2.2절 식 (8.6), 8.2.3절 식 (8.12), 8.6.4절 식 (8.48)·(8.49).\n2-A3 (a) 행렬을 만든다.\nΦ=[10111213]Φ⊤Φ=[46614],Φ⊤y=[1223] \\begin{aligned} \\Phi\u0026amp;=\\begin{bmatrix}1\u0026amp;0\\\\1\u0026amp;1\\\\1\u0026amp;2\\\\1\u0026amp;3\\end{bmatrix}\\\\ \\Phi^\\top\\Phi\u0026amp;=\\begin{bmatrix}4\u0026amp;6\\\\6\u0026amp;14\\end{bmatrix},\\quad \\Phi^\\top y=\\begin{bmatrix}12\\\\23\\end{bmatrix} \\end{aligned} ΦΦ⊤Φ​=​1111​0123​​=[46​614​],Φ⊤y=[1223​]​det⁡=56−36=20\\det=56-36=20det=56−36=20, (Φ⊤Φ)−1=120[14−6−64](\\Phi^\\top\\Phi)^{-1}=\\frac1{20}\\begin{bmatrix}14\u0026amp;-6\\\\-6\u0026amp;4\\end{bmatrix}(Φ⊤Φ)−1=201​[14−6​−64​]. θML=120(14⋅12−6⋅23, −6⋅12+4⋅23)=120(30,20)=(1.5, 1)\\theta_{\\text{ML}}=\\frac1{20}(14\\cdot12-6\\cdot23,\\ -6\\cdot12+4\\cdot23)=\\frac1{20}(30,20)=(1.5,\\ 1)θML​=201​(14⋅12−6⋅23, −6⋅12+4⋅23)=201​(30,20)=(1.5, 1). 직선 y=1.5+xy=1.5+xy=1.5+x.\n(b) ΦθML=(1.5,2.5,3.5,4.5)\\Phi\\theta_{\\text{ML}}=(1.5,2.5,3.5,4.5)ΦθML​=(1.5,2.5,3.5,4.5), r=(−0.5, 0.5, 0.5, −0.5)r=(-0.5,\\,0.5,\\,0.5,\\,-0.5)r=(−0.5,0.5,0.5,−0.5), σML2=1N∥r∥2=14\\sigma^2_{\\text{ML}}=\\frac1N\\|r\\|^2=\\frac14σML2​=N1​∥r∥2=41​. Φ⊤r=(∑rn, ∑xnrn)=(0, 0+0.5+1−1.5)=(0,0)\\Phi^\\top r=\\big(\\sum r_n,\\ \\sum x_nr_n\\big)=(0,\\ 0+0.5+1-1.5)=(0,0)Φ⊤r=(∑rn​, ∑xn​rn​)=(0, 0+0.5+1−1.5)=(0,0). 잔차가 Φ\\PhiΦ의 모든 열과 직교한다. 즉 ΦθML\\Phi\\theta_{\\text{ML}}ΦθML​은 yyy를 Φ\\PhiΦ의 열공간에 정사영한 점이다(정규방정식 Φ⊤(y−Φθ)=0\\Phi^\\top(y-\\Phi\\theta)=0Φ⊤(y−Φθ)=0과 같은 말).\n(c) 음의 로그 사후분포:\n−log⁡p(θ∣X,Y)=12σ2∥y−Φθ∥2+12b2∥θ∥2+const \\begin{aligned} \u0026amp;-\\log p(\\theta\\mid\\mathcal X,\\mathcal Y)\\\\ \u0026amp;=\\frac1{2\\sigma^2}\\|y-\\Phi\\theta\\|^2+\\frac1{2b^2}\\|\\theta\\|^2+\\text{const} \\end{aligned} ​−logp(θ∣X,Y)=2σ21​∥y−Φθ∥2+2b21​∥θ∥2+const​θ\\thetaθ로 미분해 0으로 두면 −1σ2(y−Φθ)⊤Φ+1b2θ⊤=0-\\frac1{\\sigma^2}(y-\\Phi\\theta)^\\top\\Phi+\\frac1{b^2}\\theta^\\top=0−σ21​(y−Φθ)⊤Φ+b21​θ⊤=0, 정리하면 (Φ⊤Φ+σ2b2I)θ=Φ⊤y\\big(\\Phi^\\top\\Phi+\\frac{\\sigma^2}{b^2}I\\big)\\theta=\\Phi^\\top y(Φ⊤Φ+b2σ2​I)θ=Φ⊤y.\n(d) Φ⊤Φ+2I=[66616]\\Phi^\\top\\Phi+2I=\\begin{bmatrix}6\u0026amp;6\\\\6\u0026amp;16\\end{bmatrix}Φ⊤Φ+2I=[66​616​], det⁡=60\\det=60det=60, 역행렬 160[16−6−66]\\frac1{60}\\begin{bmatrix}16\u0026amp;-6\\\\-6\u0026amp;6\\end{bmatrix}601​[16−6​−66​]. θMAP=160(16⋅12−6⋅23, −6⋅12+6⋅23)=160(54,66)=(0.9, 1.1)\\theta_{\\text{MAP}}=\\frac1{60}(16\\cdot12-6\\cdot23,\\ -6\\cdot12+6\\cdot23)=\\frac1{60}(54,66)=(0.9,\\ 1.1)θMAP​=601​(16⋅12−6⋅23, −6⋅12+6⋅23)=601​(54,66)=(0.9, 1.1). ∥θMAP∥2=0.81+1.21=2.02\u0026lt;3.25=∥θML∥2\\|\\theta_{\\text{MAP}}\\|^2=0.81+1.21=2.02\u0026lt;3.25=\\|\\theta_{\\text{ML}}\\|^2∥θMAP​∥2=0.81+1.21=2.02\u0026lt;3.25=∥θML​∥2. 교재 식은 절편 θ0\\theta_0θ0​도 함께 줄인다.\n채점 포인트: Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ 역행렬, 잔차 직교의 의미, 음의 로그 사후분포 두 항, λ=σ2/b2\\lambda=\\sigma^2/b^2λ=σ2/b2. 교재 근거: 9.2.1절 식 (9.12c), 식 (9.22), 9.2.3절 식 (9.31), 9.2.4절 식 (9.32), 9.4절(최대가능도 = 정사영).\n2-A4 (a) μ=(5−3+2+04, 3−1−1+34)=(1,1)\\mu=\\big(\\frac{5-3+2+0}4,\\ \\frac{3-1-1+3}4\\big)=(1,1)μ=(45−3+2+0​, 43−1−1+3​)=(1,1). 중심화: (4,2), (−4,−2), (1,−2), (−1,2)(4,2),\\ (-4,-2),\\ (1,-2),\\ (-1,2)(4,2), (−4,−2), (1,−2), (−1,2). (4,2)(4,2)(4,2)와 (−4,−2)(-4,-2)(−4,−2)의 외적 합 =2[16884]=2\\begin{bmatrix}16\u0026amp;8\\\\8\u0026amp;4\\end{bmatrix}=2[168​84​], (1,−2)(1,-2)(1,−2)와 (−1,2)(-1,2)(−1,2)의 외적 합 =2[1−2−24]=2\\begin{bmatrix}1\u0026amp;-2\\\\-2\u0026amp;4\\end{bmatrix}=2[1−2​−24​].\nS=14[34121216]=[8.5334] S=\\frac14\\begin{bmatrix}34\u0026amp;12\\\\12\u0026amp;16\\end{bmatrix}=\\begin{bmatrix}8.5\u0026amp;3\\\\3\u0026amp;4\\end{bmatrix} S=41​[3412​1216​]=[8.53​34​](b) λ2−12.5λ+25=0\\lambda^2-12.5\\lambda+25=0λ2−12.5λ+25=0 → λ=12.5±7.52=10, 2.5\\lambda=\\frac{12.5\\pm7.5}2=10,\\ 2.5λ=212.5±7.5​=10, 2.5. λ1=10\\lambda_1=10λ1​=10: S−10I=[−1.533−6]S-10I=\\begin{bmatrix}-1.5\u0026amp;3\\\\3\u0026amp;-6\\end{bmatrix}S−10I=[−1.53​3−6​] → b1=15(2,1)⊤b_1=\\frac1{\\sqrt5}(2,1)^\\topb1​=5​1​(2,1)⊤. λ2=2.5\\lambda_2=2.5λ2​=2.5: b2=15(1,−2)⊤b_2=\\frac1{\\sqrt5}(1,-2)^\\topb2​=5​1​(1,−2)⊤.\n(c) z=b1⊤(x−μ)z=b_1^\\top(x-\\mu)z=b1⊤​(x−μ): (4,2)→105=25(4,2)\\to\\frac{10}{\\sqrt5}=2\\sqrt5(4,2)→5​10​=25​, (−4,−2)→−25(-4,-2)\\to-2\\sqrt5(−4,−2)→−25​, (1,−2)→0(1,-2)\\to0(1,−2)→0, (−1,2)→0(-1,2)\\to0(−1,2)→0. 평균 0, 분산 20+20+0+04=10=λ1\\frac{20+20+0+0}4=10=\\lambda_1420+20+0+0​=10=λ1​. 설명된 분산 비율 1012.5=80%\\frac{10}{12.5}=80\\%12.510​=80%.\n(d) 처음 두 점은 znb1=±(4,2)z_nb_1=\\pm(4,2)zn​b1​=±(4,2)라 정확히 복원된다: x~=(5,3),(−3,−1)\\tilde x=(5,3),(-3,-1)x~=(5,3),(−3,−1). 나머지 두 점은 z=0z=0z=0이라 x~=μ=(1,1)\\tilde x=\\mu=(1,1)x~=μ=(1,1). 오차 제곱: 0, 0, ∥(1,−2)∥2=5, ∥(−1,2)∥2=50,\\ 0,\\ \\|(1,-2)\\|^2=5,\\ \\|(-1,2)\\|^2=50, 0, ∥(1,−2)∥2=5, ∥(−1,2)∥2=5. 평균 104=2.5=λ2\\frac{10}4=2.5=\\lambda_2410​=2.5=λ2​.\n(e) max⁡b b⊤Sb\\max_b\\ b^\\top Sbmaxb​ b⊤Sb s.t. b⊤b=1b^\\top b=1b⊤b=1. L=b⊤Sb+λ(1−b⊤b)\\mathfrak L=b^\\top Sb+\\lambda(1-b^\\top b)L=b⊤Sb+λ(1−b⊤b). ∂L∂b=2b⊤S−2λb⊤=0⇒Sb=λb\\dfrac{\\partial\\mathfrak L}{\\partial b}=2b^\\top S-2\\lambda b^\\top=0\\Rightarrow Sb=\\lambda b∂b∂L​=2b⊤S−2λb⊤=0⇒Sb=λb (SSS 대칭). 이때 사영 분산 =b⊤Sb=λb⊤b=λ=b^\\top Sb=\\lambda b^\\top b=\\lambda=b⊤Sb=λb⊤b=λ이므로 가장 큰 고윳값을 고른다.\n채점 포인트: 평균을 먼저 빼기, 분모 NNN, 단위 고유벡터, 재구성 오차 = 버린 고윳값. 교재 근거: 10.2절 식 (10.10)~(10.13), 10.3절 식 (10.44).\n2-A5 (a) π\\piπ와 분산이 같으므로 rn1=N(x∣0,1)N(x∣0,1)+N(x∣4,1)r_{n1}=\\dfrac{\\mathcal N(x\\mid0,1)}{\\mathcal N(x\\mid0,1)+\\mathcal N(x\\mid4,1)}rn1​=N(x∣0,1)+N(x∣4,1)N(x∣0,1)​. 비 N(x∣4,1)N(x∣0,1)=exp⁡ ⁣(x2−(x−4)22)=e4x−8\\dfrac{\\mathcal N(x\\mid4,1)}{\\mathcal N(x\\mid0,1)}=\\exp\\!\\big(\\frac{x^2-(x-4)^2}2\\big)=e^{4x-8}N(x∣0,1)N(x∣4,1)​=exp(2x2−(x−4)2​)=e4x−8이므로 rn1=11+e4x−8r_{n1}=\\dfrac1{1+e^{4x-8}}rn1​=1+e4x−81​.\nxnx_nxn​ rn1r_{n1}rn1​ rn2r_{n2}rn2​ 0 1/(1+e−8)≈0.9997≈11/(1+e^{-8})\\approx0.9997\\approx11/(1+e−8)≈0.9997≈1 ≈0\\approx0≈0 2 1/21/21/2 1/21/21/2 4 ≈0\\approx0≈0 ≈1\\approx1≈1 (b) N1=1+0.5+0=1.5N_1=1+0.5+0=1.5N1​=1+0.5+0=1.5, N2=1.5N_2=1.5N2​=1.5.\nμ1=1(0)+0.5(2)+0(4)1.5=23\\mu_1=\\frac{1(0)+0.5(2)+0(4)}{1.5}=\\frac23μ1​=1.51(0)+0.5(2)+0(4)​=32​, μ2=0+0.5(2)+1(4)1.5=103\\mu_2=\\frac{0+0.5(2)+1(4)}{1.5}=\\frac{10}3μ2​=1.50+0.5(2)+1(4)​=310​ σ12=1(0−23)2+0.5(2−23)21.5=4/9+8/91.5=89\\sigma_1^2=\\frac{1(0-\\frac23)^2+0.5(2-\\frac23)^2}{1.5}=\\frac{4/9+8/9}{1.5}=\\frac89σ12​=1.51(0−32​)2+0.5(2−32​)2​=1.54/9+8/9​=98​, 대칭이라 σ22=89\\sigma_2^2=\\frac89σ22​=98​ π1=π2=1.53=0.5\\pi_1=\\pi_2=\\frac{1.5}3=0.5π1​=π2​=31.5​=0.5 e−8e^{-8}e−8을 버리지 않고 계산하면 μ≈(0.6676, 3.3324)\\mu\\approx(0.6676,\\,3.3324)μ≈(0.6676,3.3324), σ2≈0.8913\\sigma^2\\approx0.8913σ2≈0.8913이다. 로그 가능도는 −6.142-6.142−6.142에서 −5.461-5.461−5.461로 늘었다.\n(c) ∂L/∂μk=∑nrnk(xn−μk)⊤Σk−1\\partial\\mathcal L/\\partial\\mu_k=\\sum_nr_{nk}(x_n-\\mu_k)^\\top\\Sigma_k^{-1}∂L/∂μk​=∑n​rnk​(xn​−μk​)⊤Σk−1​인데 rnkr_{nk}rnk​가 모든 μj,Σj,πj\\mu_j,\\Sigma_j,\\pi_jμj​,Σj​,πj​에 의존한다(로그 안에 합이 있어 매개변수들이 묶인다). 그래서 한꺼번에 푸는 닫힌 해가 없다. EM은 rnkr_{nk}rnk​를 고정하고 나머지를 닫힌 꼴로 갱신하는 일을 반복한다. 교재: EM의 각 단계는 로그 가능도를 늘린다(줄이지 않는다). 다만 국소 최적점으로 가며 초기값에 따라 결과가 다르다.\n(d) K-평균. 책임도를 0/1로 정하는 것이 \u0026ldquo;가장 가까운 중심에 배정\u0026rdquo;, 평균 갱신이 \u0026ldquo;중심 다시 계산\u0026quot;에 해당한다.\n채점 포인트: 책임도 분모에 모든 성분의 합, NkN_kNk​로 나누기, 분산 갱신에 새 μk\\mu_kμk​ 사용. 교재 근거: 11.2.1절(책임도), 11.3절 식 (11.53)~(11.56), 11.5절(K-평균과의 관계).\n2-A6 (a) f(x)=x1+x2−1f(x)=x_1+x_2-1f(x)=x1​+x2​−1. ynf(xn)y_nf(x_n)yn​f(xn​): (2,0)→1(2,0)\\to1(2,0)→1, (0,2)→1(0,2)\\to1(0,2)→1, (3,3)→5(3,3)\\to5(3,3)→5, (0,0)→(−1)(−1)=1(0,0)\\to(-1)(-1)=1(0,0)→(−1)(−1)=1. 모두 1 이상이다. 마진 =1∥w∥=12≈0.707=\\dfrac1{\\|w\\|}=\\dfrac1{\\sqrt2}\\approx0.707=∥w∥1​=2​1​≈0.707 (등호인 점에서 초평면까지 거리 ∣w⊤x+b∣/∥w∥|w^\\top x+b|/\\|w\\|∣w⊤x+b∣/∥w∥). 두 경계선 x1+x2=0x_1+x_2=0x1​+x2​=0과 x1+x2=2x_1+x_2=2x1​+x2​=2 사이 폭은 2/∥w∥=22/\\|w\\|=\\sqrt22/∥w∥=2​.\n(b) 등호가 성립하는 (2,0),(0,2),(0,0)(2,0),(0,2),(0,0)(2,0),(0,2),(0,0)이 서포트 벡터다. (3,3)(3,3)(3,3)은 yf=5\u0026gt;1yf=5\u0026gt;1yf=5\u0026gt;1이라 상보 여유성으로 α=0\\alpha=0α=0. w=α1(2,0)+α2(0,2)−α4(0,0)=(2α1,2α2)=(1,1)w=\\alpha_1(2,0)+\\alpha_2(0,2)-\\alpha_4(0,0)=(2\\alpha_1,2\\alpha_2)=(1,1)w=α1​(2,0)+α2​(0,2)−α4​(0,0)=(2α1​,2α2​)=(1,1) → α1=α2=12\\alpha_1=\\alpha_2=\\frac12α1​=α2​=21​. ∑αnyn=12+12−α4=0\\sum\\alpha_ny_n=\\frac12+\\frac12-\\alpha_4=0∑αn​yn​=21​+21​−α4​=0 → α4=1\\alpha_4=1α4​=1. 쌍대 목적(최대화 꼴) ∑αn−12∥∑αnynxn∥2=2−12⋅2=1\\sum\\alpha_n-\\frac12\\big\\|\\sum\\alpha_ny_nx_n\\big\\|^2=2-\\frac12\\cdot2=1∑αn​−21​​∑αn​yn​xn​​2=2−21​⋅2=1, 원 목적 12∥w∥2=1\\frac12\\|w\\|^2=121​∥w∥2=1. 같다. 교재 (12.41)은 부호를 바꾼 최소화 꼴이라 최솟값이 −1-1−1로 나온다. bbb 확인 (12.42): 서포트 벡터 (2,0)(2,0)(2,0)에서 b=y−w⊤x=1−2=−1b=y-w^\\top x=1-2=-1b=y−w⊤x=1−2=−1.\n(c)\n점 fff yfyfyf 힌지 손실 위치 (1,0.5)(1,0.5)(1,0.5), y=−1y=-1y=−1 0.50.50.5 −0.5-0.5−0.5 1.51.51.5 오분류 (yf\u0026lt;0yf\u0026lt;0yf\u0026lt;0, ξ\u0026gt;1\\xi\u0026gt;1ξ\u0026gt;1) (0.5,0.25)(0.5,0.25)(0.5,0.25), y=−1y=-1y=−1 −0.25-0.25−0.25 0.250.250.25 0.750.750.75 바르게 분류됐지만 마진 안 (0\u0026lt;ξ\u0026lt;10\u0026lt;\\xi\u0026lt;10\u0026lt;ξ\u0026lt;1) (d) ϕ(x)=(x12, 2x1x2, x22)⊤\\phi(x)=(x_1^2,\\ \\sqrt2x_1x_2,\\ x_2^2)^\\topϕ(x)=(x12​, 2​x1​x2​, x22​)⊤. (x⊤z)2=x12z12+2x1x2z1z2+x22z22=ϕ(x)⊤ϕ(z)(x^\\top z)^2=x_1^2z_1^2+2x_1x_2z_1z_2+x_2^2z_2^2=\\phi(x)^\\top\\phi(z)(x⊤z)2=x12​z12​+2x1​x2​z1​z2​+x22​z22​=ϕ(x)⊤ϕ(z). x=(1,2)x=(1,2)x=(1,2), z=(3,1)z=(3,1)z=(3,1): x⊤z=5x^\\top z=5x⊤z=5이라 k=25k=25k=25. ϕ(x)=(1,22,4)\\phi(x)=(1,2\\sqrt2,4)ϕ(x)=(1,22​,4), ϕ(z)=(9,32,1)\\phi(z)=(9,3\\sqrt2,1)ϕ(z)=(9,32​,1), 내적 9+12+4=259+12+4=259+12+4=25.\n채점 포인트: 마진은 1/∥w∥1/\\|w\\|1/∥w∥, 서포트 벡터만 α\u0026gt;0\\alpha\u0026gt;0α\u0026gt;0, ∑αnyn=0\\sum\\alpha_ny_n=0∑αn​yn​=0 사용, 힌지 손실과 위치 분류. 교재 근거: 12.2.1~12.2.3절 식 (12.18), 12.3.1절 식 (12.38)·(12.41)·(12.42), 12.2.5절 식 (12.31), 12.4절(커널).\nPart 1 B형 1-B1 (a) U=ker⁡ [1 2 −1]U=\\ker\\,[1\\ 2\\ {-1}]U=ker[1 2 −1]이다. 직접 확인: 0∈U0\\in U0∈U. x,y∈Ux,y\\in Ux,y∈U이면 (x1+y1)+2(x2+y2)−(x3+y3)=0+0=0(x_1+y_1)+2(x_2+y_2)-(x_3+y_3)=0+0=0(x1​+y1​)+2(x2​+y2​)−(x3​+y3​)=0+0=0. αx\\alpha xαx도 같은 식으로 0. 따라서 부분공간이다. x3=x1+2x2x_3=x_1+2x_2x3​=x1​+2x2​로 두면 기저 {(1,0,1)⊤,(0,1,2)⊤}\\{(1,0,1)^\\top,(0,1,2)^\\top\\}{(1,0,1)⊤,(0,1,2)⊤}, dim⁡U=2\\dim U=2dimU=2.\n(b) AΦ=[11001−1]A_\\Phi=\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\0\u0026amp;1\u0026amp;-1\\end{bmatrix}AΦ​=[10​11​0−1​]. x1=−x2x_1=-x_2x1​=−x2​, x3=x2x_3=x_2x3​=x2​에서 ker⁡Φ=span⁡{(−1,1,1)⊤}\\ker\\Phi=\\operatorname{span}\\{(-1,1,1)^\\top\\}kerΦ=span{(−1,1,1)⊤}. 차원 정리로 rk⁡Φ=3−1=2\\operatorname{rk}\\Phi=3-1=2rkΦ=3−1=2, 그래서 Im⁡Φ=R2\\operatorname{Im}\\Phi=\\mathbb R^2ImΦ=R2. 기저 변환(정리 2.20): A~Φ=T−1AΦS\\tilde A_\\Phi=T^{-1}A_\\Phi SA~Φ​=T−1AΦ​S, S=[b~1 b~2 b~3]S=[\\tilde b_1\\ \\tilde b_2\\ \\tilde b_3]S=[b~1​ b~2​ b~3​], T=[c~1 c~2]T=[\\tilde c_1\\ \\tilde c_2]T=[c~1​ c~2​]. AΦSA_\\Phi SAΦ​S의 열 =Φ(b~j)=\\Phi(\\tilde b_j)=Φ(b~j​): (2,1), (1,0), (1,−1)(2,1),\\ (1,0),\\ (1,-1)(2,1), (1,0), (1,−1). T−1=12[111−1]T^{-1}=\\frac12\\begin{bmatrix}1\u0026amp;1\\\\1\u0026amp;-1\\end{bmatrix}T−1=21​[11​1−1​].\nA~Φ=[3212012121] \\tilde A_\\Phi=\\begin{bmatrix}\\frac32\u0026amp;\\frac12\u0026amp;0\\\\[2pt]\\frac12\u0026amp;\\frac12\u0026amp;1\\end{bmatrix} A~Φ​=[23​21​​21​21​​01​]검산: Φ(b~1)=(2,1)=32(1,1)+12(1,−1)\\Phi(\\tilde b_1)=(2,1)=\\frac32(1,1)+\\frac12(1,-1)Φ(b~1​)=(2,1)=23​(1,1)+21​(1,−1).\n(c) ker⁡(A⊤A)=ker⁡(A)\\ker(A^\\top A)=\\ker(A)ker(A⊤A)=ker(A)를 보인다. Ax=0Ax=0Ax=0이면 A⊤Ax=0A^\\top Ax=0A⊤Ax=0. 거꾸로 A⊤Ax=0A^\\top Ax=0A⊤Ax=0이면 x⊤A⊤Ax=∥Ax∥2=0x^\\top A^\\top Ax=\\|Ax\\|^2=0x⊤A⊤Ax=∥Ax∥2=0이라 Ax=0Ax=0Ax=0. 두 행렬 모두 열이 nnn개이므로 차원 정리에서 rk⁡(A⊤A)=n−dim⁡ker⁡(A⊤A)=n−dim⁡ker⁡(A)=rk⁡(A)\\operatorname{rk}(A^\\top A)=n-\\dim\\ker(A^\\top A)=n-\\dim\\ker(A)=\\operatorname{rk}(A)rk(A⊤A)=n−dimker(A⊤A)=n−dimker(A)=rk(A). ∎\n채점 포인트: 부분공간 세 조건, 기저 변환 식의 순서(T−1T^{-1}T−1이 왼쪽), ∥Ax∥2=0\\|Ax\\|^2=0∥Ax∥2=0 논리. 교재 근거: 2.4절(부분공간), 2.7.3절(핵과 상), 정리 2.20(기저 변환), 정리 2.24(차원 정리).\n1-B2 (a) A⊤=AA^\\top=AA⊤=A라 대칭이고, 행렬 곱이라 쌍선형이다. 양의 정부호: x⊤Ax=2x12−2x1x2+x22=x12+(x1−x2)2≥0x^\\top Ax=2x_1^2-2x_1x_2+x_2^2=x_1^2+(x_1-x_2)^2\\ge0x⊤Ax=2x12​−2x1​x2​+x22​=x12​+(x1​−x2​)2≥0이고, 0이 되려면 x1=0x_1=0x1​=0, x2=x1=0x_2=x_1=0x2​=x1​=0이어야 한다. 따라서 내적이다(고윳값 3±52\u0026gt;0\\frac{3\\pm\\sqrt5}2\u0026gt;023±5​​\u0026gt;0으로 확인해도 된다).\n(b) ⟨e1,e2⟩A=a12=−1\\langle e_1,e_2\\rangle_A=a_{12}=-1⟨e1​,e2​⟩A​=a12​=−1, ∥e1∥A2=2\\|e_1\\|_A^2=2∥e1​∥A2​=2, ∥e2∥A2=1\\|e_2\\|_A^2=1∥e2​∥A2​=1. cos⁡ω=−12\\cos\\omega=\\frac{-1}{\\sqrt2}cosω=2​−1​, ω=3π4\\omega=\\frac{3\\pi}4ω=43π​ (135°). 표준 내적에서는 90°인 두 벡터가 이 내적에서는 직교하지 않는다.\n(c) π(x)=⟨x,e1⟩A⟨e1,e1⟩Ae1\\pi(x)=\\dfrac{\\langle x,e_1\\rangle_A}{\\langle e_1,e_1\\rangle_A}e_1π(x)=⟨e1​,e1​⟩A​⟨x,e1​⟩A​​e1​. ⟨x,e1⟩A=x⊤Ae1=(1,1)⋅(2,−1)=1\\langle x,e_1\\rangle_A=x^\\top Ae_1=(1,1)\\cdot(2,-1)=1⟨x,e1​⟩A​=x⊤Ae1​=(1,1)⋅(2,−1)=1 → π(x)=12e1=(12,0)⊤\\pi(x)=\\frac12e_1=(\\frac12,0)^\\topπ(x)=21​e1​=(21​,0)⊤. 직교여공간: ⟨e1,y⟩A=e1⊤Ay=2y1−y2=0\\langle e_1,y\\rangle_A=e_1^\\top Ay=2y_1-y_2=0⟨e1​,y⟩A​=e1⊤​Ay=2y1​−y2​=0 → span⁡{(1,2)⊤}\\operatorname{span}\\{(1,2)^\\top\\}span{(1,2)⊤}. 실제로 x−π(x)=(12,1)x-\\pi(x)=(\\frac12,1)x−π(x)=(21​,1)이 이 공간에 있다.\n(d) c=cos⁡θc=\\cos\\thetac=cosθ, s=sin⁡θs=\\sin\\thetas=sinθ. R⊤R=[c2+s2−cs+sc−sc+css2+c2]=IR^\\top R=\\begin{bmatrix}c^2+s^2\u0026amp;-cs+sc\\\\-sc+cs\u0026amp;s^2+c^2\\end{bmatrix}=IR⊤R=[c2+s2−sc+cs​−cs+scs2+c2​]=I, det⁡R=c2+s2=1\\det R=c^2+s^2=1detR=c2+s2=1. ⟨Rx,Ry⟩=x⊤R⊤Ry=x⊤y\\langle Rx,Ry\\rangle=x^\\top R^\\top Ry=x^\\top y⟨Rx,Ry⟩=x⊤R⊤Ry=x⊤y라 길이(x=yx=yx=y)와 각도(내적/길이)가 보존된다. R(α)R(β)=[cαcβ−sαsβ−(cαsβ+sαcβ)sαcβ+cαsβcαcβ−sαsβ]=R(α+β)R(\\alpha)R(\\beta)=\\begin{bmatrix}c_\\alpha c_\\beta-s_\\alpha s_\\beta\u0026amp;-(c_\\alpha s_\\beta+s_\\alpha c_\\beta)\\\\s_\\alpha c_\\beta+c_\\alpha s_\\beta\u0026amp;c_\\alpha c_\\beta-s_\\alpha s_\\beta\\end{bmatrix}=R(\\alpha+\\beta)R(α)R(β)=[cα​cβ​−sα​sβ​sα​cβ​+cα​sβ​​−(cα​sβ​+sα​cβ​)cα​cβ​−sα​sβ​​]=R(α+β) (삼각함수 덧셈정리). ∎\n채점 포인트: 양의 정부호를 제곱의 합으로 보이기, 내적에 AAA를 넣어 각도·사영 계산, R⊤R=IR^\\top R=IR⊤R=I. 교재 근거: 3.2절(정의 3.4, 대칭 양의 정부호 행렬과 내적), 3.4절(각도), 3.8절 식 (3.39)~(3.40)(일반 내적에서의 사영), 3.6절(직교여공간), 3.9절(회전).\n1-B3 (a) AA⊤=[178817]AA^\\top=\\begin{bmatrix}17\u0026amp;8\\\\8\u0026amp;17\\end{bmatrix}AA⊤=[178​817​], 고윳값 25, 9 → σ1=5\\sigma_1=5σ1​=5, σ2=3\\sigma_2=3σ2​=3. u1=12(1,1)⊤u_1=\\frac1{\\sqrt2}(1,1)^\\topu1​=2​1​(1,1)⊤, u2=12(1,−1)⊤u_2=\\frac1{\\sqrt2}(1,-1)^\\topu2​=2​1​(1,−1)⊤. vi=A⊤ui/σiv_i=A^\\top u_i/\\sigma_ivi​=A⊤ui​/σi​: v1=152(5,5,0)=12(1,1,0)⊤v_1=\\frac1{5\\sqrt2}(5,5,0)=\\frac1{\\sqrt2}(1,1,0)^\\topv1​=52​1​(5,5,0)=2​1​(1,1,0)⊤, v2=132(1,−1,4)⊤v_2=\\frac1{3\\sqrt2}(1,-1,4)^\\topv2​=32​1​(1,−1,4)⊤. v3v_3v3​는 v1,v2v_1,v_2v1​,v2​ 모두와 직교하는 단위벡터: v3=13(2,−2,−1)⊤v_3=\\frac13(2,-2,-1)^\\topv3​=31​(2,−2,−1)⊤ (검산 Av3=(6−4−2, 4−6+2)=0Av_3=(6-4-2,\\ 4-6+2)=0Av3​=(6−4−2, 4−6+2)=0, 즉 ker⁡A\\ker AkerA를 생성). U=[u1 u2]U=[u_1\\ u_2]U=[u1​ u2​], Σ=[500030]\\Sigma=\\begin{bmatrix}5\u0026amp;0\u0026amp;0\\\\0\u0026amp;3\u0026amp;0\\end{bmatrix}Σ=[50​03​00​], V=[v1 v2 v3]V=[v_1\\ v_2\\ v_3]V=[v1​ v2​ v3​].\n(b) A^(1)=σ1u1v1⊤=5⋅12[110110]=[2.52.502.52.50]\\hat A(1)=\\sigma_1u_1v_1^\\top=5\\cdot\\frac12\\begin{bmatrix}1\u0026amp;1\u0026amp;0\\\\1\u0026amp;1\u0026amp;0\\end{bmatrix}=\\begin{bmatrix}2.5\u0026amp;2.5\u0026amp;0\\\\2.5\u0026amp;2.5\u0026amp;0\\end{bmatrix}A^(1)=σ1​u1​v1⊤​=5⋅21​[11​11​00​]=[2.52.5​2.52.5​00​]. A−A^(1)=σ2u2v2⊤A-\\hat A(1)=\\sigma_2u_2v_2^\\topA−A^(1)=σ2​u2​v2⊤​라 남은 특이값이 3 하나뿐이다: ∥A−A^(1)∥2=σ2=3\\|A-\\hat A(1)\\|_2=\\sigma_2=3∥A−A^(1)∥2​=σ2​=3 (Eckart–Young), ∥A−A^(1)∥F=3\\|A-\\hat A(1)\\|_F=3∥A−A^(1)∥F​=3.\n(c) A⊤A=VΣ⊤U⊤UΣV⊤=V(Σ⊤Σ)V⊤A^\\top A=V\\Sigma^\\top U^\\top U\\Sigma V^\\top=V(\\Sigma^\\top\\Sigma)V^\\topA⊤A=VΣ⊤U⊤UΣV⊤=V(Σ⊤Σ)V⊤이므로 고윳값은 Σ⊤Σ\\Sigma^\\top\\SigmaΣ⊤Σ의 대각 원소 25,9,025,9,025,9,0이다. ∥A∥F2=tr⁡(A⊤A)=\\|A\\|_F^2=\\operatorname{tr}(A^\\top A)=∥A∥F2​=tr(A⊤A)= 고윳값의 합 =∑σi2=34=\\sum\\sigma_i^2=34=∑σi2​=34. 원소 제곱합으로도 9+4+4+4+9+4=349+4+4+4+9+4=349+4+4+4+9+4=34.\n채점 포인트: 작은 쪽(AA⊤AA^\\topAA⊤, 2×22\\times22×2)으로 계산, vi=A⊤ui/σiv_i=A^\\top u_i/\\sigma_ivi​=A⊤ui​/σi​ 부호 일관성, ker⁡A\\ker AkerA 벡터, Eckart–Young 오차. 교재 근거: 정리 4.22(SVD), 4.5.2절(SVD 만들기), 정리 4.24(스펙트럼 노름 = σ1\\sigma_1σ1​), 정리 4.25(Eckart–Young). 교재는 Eckart–Young을 스펙트럼 노름으로 서술한다. 프로베니우스 노름 결과는 교재 밖 보충이다.\n1-B4 (a) f=∑i∑jxiaijxjf=\\sum_i\\sum_jx_ia_{ij}x_jf=∑i​∑j​xi​aij​xj​. ∂f∂xk=∑jakjxj+∑ixiaik=(Ax)k+(A⊤x)k\\dfrac{\\partial f}{\\partial x_k}=\\sum_ja_{kj}x_j+\\sum_ix_ia_{ik}=(Ax)_k+(A^\\top x)_k∂xk​∂f​=∑j​akj​xj​+∑i​xi​aik​=(Ax)k​+(A⊤x)k​. 행벡터로 모으면 dfdx=((A+A⊤)x)⊤=x⊤(A+A⊤)\\dfrac{df}{dx}=\\big((A+A^\\top)x\\big)^\\top=x^\\top(A+A^\\top)dxdf​=((A+A⊤)x)⊤=x⊤(A+A⊤). ∎\n(b) L=∑i(yi−∑jWijxj)2L=\\sum_i\\big(y_i-\\sum_jW_{ij}x_j\\big)^2L=∑i​(yi​−∑j​Wij​xj​)2, ∂L∂Wij=−2(yi−(Wx)i)xj\\dfrac{\\partial L}{\\partial W_{ij}}=-2(y_i-(Wx)_i)x_j∂Wij​∂L​=−2(yi​−(Wx)i​)xj​. 모으면 dLdW=−2(y−Wx)x⊤\\dfrac{dL}{dW}=-2(y-Wx)x^\\topdWdL​=−2(y−Wx)x⊤ (WWW와 같은 2×32\\times32×3). Wx=(3,0)Wx=(3,0)Wx=(3,0), y−Wx=(−2,2)y-Wx=(-2,2)y−Wx=(−2,2) → −2[−22][1 0 2]=[408−40−8]-2\\begin{bmatrix}-2\\\\2\\end{bmatrix}[1\\ 0\\ 2]=\\begin{bmatrix}4\u0026amp;0\u0026amp;8\\\\-4\u0026amp;0\u0026amp;-8\\end{bmatrix}−2[−22​][1 0 2]=[4−4​00​8−8​] (수치 미분과 일치).\n(c)(i) z=(1−2, 0+2)=(−1,2)z=(1-2,\\ 0+2)=(-1,2)z=(1−2, 0+2)=(−1,2), h=(0,2)h=(0,2)h=(0,2), y^=3⋅0+1⋅2=2\\hat y=3\\cdot0+1\\cdot2=2y^​=3⋅0+1⋅2=2, L=12(2−1)2=0.5L=\\frac12(2-1)^2=0.5L=21​(2−1)2=0.5. (ii) ∂L/∂y^=y^−y=1\\partial L/\\partial\\hat y=\\hat y-y=1∂L/∂y^​=y^​−y=1.\n∂L/∂w2=1⋅h=(0,2)\\partial L/\\partial w_2=1\\cdot h=(0,2)∂L/∂w2​=1⋅h=(0,2) ∂L/∂h=1⋅w2=(3,1)\\partial L/\\partial h=1\\cdot w_2=(3,1)∂L/∂h=1⋅w2​=(3,1), ReLU 미분은 z\u0026gt;0z\u0026gt;0z\u0026gt;0일 때 1, 아니면 0 → ∂L/∂z=(3⋅0, 1⋅1)=(0,1)\\partial L/\\partial z=(3\\cdot0,\\ 1\\cdot1)=(0,1)∂L/∂z=(3⋅0, 1⋅1)=(0,1) ∂L/∂W1=(∂L/∂z) x⊤=[0012]\\partial L/\\partial W_1=(\\partial L/\\partial z)\\,x^\\top=\\begin{bmatrix}0\u0026amp;0\\\\1\u0026amp;2\\end{bmatrix}∂L/∂W1​=(∂L/∂z)x⊤=[01​02​] ∂L/∂x=W1⊤(∂L/∂z)=(0,1)\\partial L/\\partial x=W_1^\\top(\\partial L/\\partial z)=(0,1)∂L/∂x=W1⊤​(∂L/∂z)=(0,1) (iii) W1←W1−0.1[0012]=[1−1−0.10.8]W_1\\leftarrow W_1-0.1\\begin{bmatrix}0\u0026amp;0\\\\1\u0026amp;2\\end{bmatrix}=\\begin{bmatrix}1\u0026amp;-1\\\\-0.1\u0026amp;0.8\\end{bmatrix}W1​←W1​−0.1[01​02​]=[1−0.1​−10.8​]. 새 순전파: z=(−1, −0.1+1.6)=(−1,1.5)z=(-1,\\ -0.1+1.6)=(-1,1.5)z=(−1, −0.1+1.6)=(−1,1.5), h=(0,1.5)h=(0,1.5)h=(0,1.5), y^=1.5\\hat y=1.5y^​=1.5, L=12(0.5)2=0.125L=\\frac12(0.5)^2=0.125L=21​(0.5)2=0.125 (0.5에서 줄었다).\n채점 포인트: 성분으로 미분한 뒤 모으기, 결과 모양 맞추기, ReLU에서 꺼진 뉴런(z1\u0026lt;0z_1\u0026lt;0z1​\u0026lt;0)의 기울기 0. 교재 근거: 5.5절 식 (5.107)(이차형식 미분), 5.6절(역전파).\n1-B5 (a) X=∑i=1NBiX=\\sum_{i=1}^NB_iX=∑i=1N​Bi​, Bi∼Ber(μ)B_i\\sim\\mathrm{Ber}(\\mu)Bi​∼Ber(μ) 독립. E[Bi]=μ\\mathbb E[B_i]=\\muE[Bi​]=μ, Bi2=BiB_i^2=B_iBi2​=Bi​라 V[Bi]=E[Bi2]−μ2=μ(1−μ)\\mathbb V[B_i]=\\mathbb E[B_i^2]-\\mu^2=\\mu(1-\\mu)V[Bi​]=E[Bi2​]−μ2=μ(1−μ). 선형성으로 E[X]=Nμ\\mathbb E[X]=N\\muE[X]=Nμ, 독립이라 분산이 더해져 V[X]=Nμ(1−μ)\\mathbb V[X]=N\\mu(1-\\mu)V[X]=Nμ(1−μ). ∎\n(b) 사후 ∝μ7(1−μ)3⋅μ0(1−μ)2=μ7(1−μ)5\\propto\\mu^7(1-\\mu)^3\\cdot\\mu^{0}(1-\\mu)^{2}=\\mu^7(1-\\mu)^5∝μ7(1−μ)3⋅μ0(1−μ)2=μ7(1−μ)5 → Beta(8,6)\\mathrm{Beta}(8,6)Beta(8,6). 평균 814=47≈0.571\\frac8{14}=\\frac47\\approx0.571148​=74​≈0.571, 최빈값 8−18+6−2=712≈0.583\\frac{8-1}{8+6-2}=\\frac7{12}\\approx0.5838+6−28−1​=127​≈0.583, μML=0.7\\mu_{\\text{ML}}=0.7μML​=0.7. 사전 평균 14\\frac1441​가 추정을 아래로 당겨 사후 평균이 사전 평균과 μML\\mu_{\\text{ML}}μML​ 사이에 온다.\n(c) y=2x−1+ϵy=2x-1+\\epsilony=2x−1+ϵ, ϵ∼N(0,1)\\epsilon\\sim\\mathcal N(0,1)ϵ∼N(0,1)은 xxx와 독립. E[y]=2(1)−1=1\\mathbb E[y]=2(1)-1=1E[y]=2(1)−1=1, V[y]=4⋅4+1=17\\mathbb V[y]=4\\cdot4+1=17V[y]=4⋅4+1=17 → p(y)=N(1,17)p(y)=\\mathcal N(1,17)p(y)=N(1,17). Cov⁡[x,y]=Cov⁡[x,2x]=2⋅4=8\\operatorname{Cov}[x,y]=\\operatorname{Cov}[x,2x]=2\\cdot4=8Cov[x,y]=Cov[x,2x]=2⋅4=8. 결합 공분산 [48817]\\begin{bmatrix}4\u0026amp;8\\\\8\u0026amp;17\\end{bmatrix}[48​817​]에서 p(x∣y=5)=N(m,v)p(x\\mid y=5)=\\mathcal N(m,v)p(x∣y=5)=N(m,v):\nm=1+817(5−1)=4917≈2.882v=4−6417=417≈0.235 \\begin{aligned} m\u0026amp;=1+\\tfrac8{17}(5-1)=\\tfrac{49}{17}\\approx2.882\\\\ v\u0026amp;=4-\\tfrac{64}{17}=\\tfrac4{17}\\approx0.235 \\end{aligned} mv​=1+178​(5−1)=1749​≈2.882=4−1764​=174​≈0.235​(d) x=e−yx=e^{-y}x=e−y, ∣dxdy∣=e−y\\left|\\dfrac{dx}{dy}\\right|=e^{-y}​dydx​​=e−y. y∈(0,∞)y\\in(0,\\infty)y∈(0,∞)에서 pY(y)=pX(e−y) e−y=e−yp_Y(y)=p_X(e^{-y})\\,e^{-y}=e^{-y}pY​(y)=pX​(e−y)e−y=e−y. 지수분포(모수 1)다.\n채점 포인트: 독립이라 분산이 더해진다는 문장, 켤레 갱신 (α+h,β+t)(\\alpha+h,\\beta+t)(α+h,β+t), 결합 공분산 만들기, 야코비안 절댓값. 교재 근거: 예제 6.9(이항분포), 6.4.4절(합과 변환), 예제 6.11(베타-이항 켤레), 식 (6.66)~(6.67), (6.88), 6.7절(변수 변환).\n1-B6 (a) fx=4x3−2y=0f_x=4x^3-2y=0fx​=4x3−2y=0, fy=2y−2x=0f_y=2y-2x=0fy​=2y−2x=0 → y=xy=xy=x, 4x3−2x=04x^3-2x=04x3−2x=0 → x∈{0,±12}x\\in\\{0,\\pm\\frac1{\\sqrt2}\\}x∈{0,±2​1​}. H=[12x2−2−22]H=\\begin{bmatrix}12x^2\u0026amp;-2\\\\-2\u0026amp;2\\end{bmatrix}H=[12x2−2​−22​].\n(0,0)(0,0)(0,0): [0−2−22]\\begin{bmatrix}0\u0026amp;-2\\\\-2\u0026amp;2\\end{bmatrix}[0−2​−22​], det⁡=−4\u0026lt;0\\det=-4\u0026lt;0det=−4\u0026lt;0 (고윳값 1±51\\pm\\sqrt51±5​, 부호가 섞임) → 안장점 ±(12,12)\\pm(\\frac1{\\sqrt2},\\frac1{\\sqrt2})±(2​1​,2​1​): [6−2−22]\\begin{bmatrix}6\u0026amp;-2\\\\-2\u0026amp;2\\end{bmatrix}[6−2​−22​], det⁡=8\u0026gt;0\\det=8\u0026gt;0det=8\u0026gt;0, 대각합 8\u0026gt;08\u0026gt;08\u0026gt;0 → 양의 정부호, 극소. f=14+12−1=−14f=\\frac14+\\frac12-1=-\\frac14f=41​+21​−1=−41​ 헤시안이 원점에서 양의 준정부호가 아니므로 fff는 볼록이 아니다. 전역 최솟값: f=x4−x2+(y−x)2≥x4−x2=(x2−12)2−14≥−14f=x^4-x^2+(y-x)^2\\ge x^4-x^2=(x^2-\\frac12)^2-\\frac14\\ge-\\frac14f=x4−x2+(y−x)2≥x4−x2=(x2−21​)2−41​≥−41​, 등호는 위 두 점. 전역 최솟값 −14-\\frac14−41​.\n(b) 제약 없는 최소점 (2,1)(2,1)(2,1)은 2+1\u0026gt;22+1\u0026gt;22+1\u0026gt;2라 제약을 어긴다 → 제약이 활성. KKT:\n정류: 2(x1−2)+λ=02(x_1-2)+\\lambda=02(x1​−2)+λ=0, 2(x2−1)+λ=02(x_2-1)+\\lambda=02(x2​−1)+λ=0 → x1=x2+1x_1=x_2+1x1​=x2​+1 활성 제약 x1+x2=2x_1+x_2=2x1​+x2​=2와 합치면 x=(1.5, 0.5)x=(1.5,\\ 0.5)x=(1.5, 0.5), λ=2(2−1.5)=1≥0\\lambda=2(2-1.5)=1\\ge0λ=2(2−1.5)=1≥0 (쌍대 가능성) 원 가능성 1.5+0.5≤21.5+0.5\\le21.5+0.5≤2, 상보 여유성 λ(x1+x2−2)=0\\lambda(x_1+x_2-2)=0λ(x1​+x2​−2)=0 f∗=0.25+0.25=0.5f^*=0.25+0.25=0.5f∗=0.25+0.25=0.5. 쌍대: L=(x1−2)2+(x2−1)2+λ(x1+x2−2)\\mathfrak L=(x_1-2)^2+(x_2-1)^2+\\lambda(x_1+x_2-2)L=(x1​−2)2+(x2​−1)2+λ(x1​+x2​−2)를 xxx로 최소화하면 x1=2−λ2x_1=2-\\frac\\lambda2x1​=2−2λ​, x2=1−λ2x_2=1-\\frac\\lambda2x2​=1−2λ​.\nD(λ)=λ24+λ24+λ(3−λ−2)=λ−λ22 \\begin{aligned} \\mathfrak D(\\lambda)\u0026amp;=\\frac{\\lambda^2}4+\\frac{\\lambda^2}4+\\lambda\\Big(3-\\lambda-2\\Big)\\\\ \u0026amp;=\\lambda-\\frac{\\lambda^2}2 \\end{aligned} D(λ)​=4λ2​+4λ2​+λ(3−λ−2)=λ−2λ2​​λ=1\\lambda=1λ=1에서 최대 D=0.5=f∗\\mathfrak D=0.5=f^*D=0.5=f∗. 강한 쌍대성이 성립한다. KKT 조건은 교재 본문에 따로 정리되어 있지 않고 12장 여백 주석에만 나온다(교재 밖 보충).\n(c) φ′′(t)=1/t2\u0026gt;0\\varphi\u0026#x27;\u0026#x27;(t)=1/t^2\u0026gt;0φ′′(t)=1/t2\u0026gt;0이라 볼록이다. 젠센: φ(E[X])≤E[φ(X)]\\varphi(\\mathbb E[X])\\le\\mathbb E[\\varphi(X)]φ(E[X])≤E[φ(X)] → −log⁡E[X]≤−E[log⁡X]-\\log\\mathbb E[X]\\le-\\mathbb E[\\log X]−logE[X]≤−E[logX] → E[log⁡X]≤log⁡E[X]\\mathbb E[\\log X]\\le\\log\\mathbb E[X]E[logX]≤logE[X]. ∎ 확인: X∈{1,4}X\\in\\{1,4\\}X∈{1,4} 균등. E[log⁡X]=12ln⁡4=ln⁡2≈0.693\\mathbb E[\\log X]=\\frac12\\ln4=\\ln2\\approx0.693E[logX]=21​ln4=ln2≈0.693, log⁡E[X]=ln⁡2.5≈0.916\\log\\mathbb E[X]=\\ln2.5\\approx0.916logE[X]=ln2.5≈0.916. 교재 (7.30)은 두 점짜리(확률 θ\\thetaθ, 1−θ1-\\theta1−θ) 버전이고, 기댓값 버전은 같은 부등식을 확률가중합으로 넓힌 것이다(교재 여백 주석이 이런 부등식들을 모두 젠센 부등식이라 부른다고 언급).\n채점 포인트: 정류점 세 개, 헤시안 판정 근거(행렬식·대각합 또는 고윳값), KKT 네 조건, 젠센 부등식 방향. 교재 근거: 5.7절(헤시안), 7.2절(라그랑주 쌍대), 7.3절 식 (7.30)~(7.31)(볼록 함수, 젠센).\nPart 2 B형 2-B1 (a) L(λ)=−∑nlog⁡(λe−λxn)=−Nlog⁡λ+λ∑nxn\\mathcal L(\\lambda)=-\\sum_n\\log(\\lambda e^{-\\lambda x_n})=-N\\log\\lambda+\\lambda\\sum_nx_nL(λ)=−∑n​log(λe−λxn​)=−Nlogλ+λ∑n​xn​. dLdλ=−Nλ+∑nxn=0\\dfrac{d\\mathcal L}{d\\lambda}=-\\dfrac N\\lambda+\\sum_nx_n=0dλdL​=−λN​+∑n​xn​=0 → λML=N∑nxn=1xˉ\\lambda_{\\text{ML}}=\\dfrac N{\\sum_nx_n}=\\dfrac1{\\bar x}λML​=∑n​xn​N​=xˉ1​. d2Ldλ2=Nλ2\u0026gt;0\\dfrac{d^2\\mathcal L}{d\\lambda^2}=\\dfrac N{\\lambda^2}\u0026gt;0dλ2d2L​=λ2N​\u0026gt;0이라 음의 로그 가능도의 최소, 즉 가능도의 최대. 데이터: 4/8=0.54/8=0.54/8=0.5.\n(b) −log⁡p(θ∣X,Y)=12σ2∥y−Φθ∥2+12b2∥θ∥2+const-\\log p(\\theta\\mid\\mathcal X,\\mathcal Y)=\\dfrac1{2\\sigma^2}\\|y-\\Phi\\theta\\|^2+\\dfrac1{2b^2}\\|\\theta\\|^2+\\text{const}−logp(θ∣X,Y)=2σ21​∥y−Φθ∥2+2b21​∥θ∥2+const. 2σ22\\sigma^22σ2를 곱하면 ∥y−Φθ∥2+σ2b2∥θ∥2\\|y-\\Phi\\theta\\|^2+\\dfrac{\\sigma^2}{b^2}\\|\\theta\\|^2∥y−Φθ∥2+b2σ2​∥θ∥2 → λ=σ2/b2\\lambda=\\sigma^2/b^2λ=σ2/b2.\n(c) 라플라스 사전분포 p(θ)=∏d12be−∣θd∣/bp(\\theta)=\\prod_d\\frac1{2b}e^{-|\\theta_d|/b}p(θ)=∏d​2b1​e−∣θd​∣/b. 음의 로그 사후분포 =12σ2∥y−Φθ∥2+1b∥θ∥1+const=\\frac1{2\\sigma^2}\\|y-\\Phi\\theta\\|^2+\\frac1b\\|\\theta\\|_1+\\text{const}=2σ21​∥y−Φθ∥2+b1​∥θ∥1​+const. 2σ22\\sigma^22σ2를 곱하면 ∥y−Φθ∥2+2σ2b∥θ∥1\\|y-\\Phi\\theta\\|^2+\\frac{2\\sigma^2}b\\|\\theta\\|_1∥y−Φθ∥2+b2σ2​∥θ∥1​ (LASSO, λ=2σ2/b\\lambda=2\\sigma^2/bλ=2σ2/b). 교재 9.5절: 라플라스 사전분포를 둔 선형회귀는 L1L_1L1​ 정규화(LASSO)와 같고, 라플라스 분포는 0에서 뾰족해 많은 매개변수를 정확히 0으로 만든다.\n채점 포인트: 2계 조건 확인, 상수항 정리, λ\\lambdaλ를 σ2\\sigma^2σ2와 bbb로 표현. 교재 근거: 8.3.1절(MLE), 9.2.3~9.2.4절 식 (9.31)·(9.32), 9.5절(LASSO).\n2-B2 (a) 로그 사후분포를 θ\\thetaθ에 대한 이차식으로 정리한다.\nlog⁡p(θ∣X,Y)=−12σ2(y−Φθ)⊤(y−Φθ)−12(θ−m0)⊤S0−1(θ−m0)+const=−12[θ⊤(σ−2Φ⊤Φ+S0−1)θ−2θ⊤(σ−2Φ⊤y+S0−1m0)]+const \\begin{aligned} \u0026amp;\\log p(\\theta\\mid\\mathcal X,\\mathcal Y)\\\\ \u0026amp;=-\\frac1{2\\sigma^2}(y-\\Phi\\theta)^\\top(y-\\Phi\\theta)\\\\ \u0026amp;\\quad-\\frac12(\\theta-m_0)^\\top S_0^{-1}(\\theta-m_0)+\\text{const}\\\\ \u0026amp;=-\\frac12\\Big[\\theta^\\top(\\sigma^{-2}\\Phi^\\top\\Phi+S_0^{-1})\\theta\\\\ \u0026amp;\\qquad-2\\theta^\\top(\\sigma^{-2}\\Phi^\\top y+S_0^{-1}m_0)\\Big]\\\\ \u0026amp;\\quad+\\text{const} \\end{aligned} ​logp(θ∣X,Y)=−2σ21​(y−Φθ)⊤(y−Φθ)−21​(θ−m0​)⊤S0−1​(θ−m0​)+const=−21​[θ⊤(σ−2Φ⊤Φ+S0−1​)θ−2θ⊤(σ−2Φ⊤y+S0−1​m0​)]+const​가우시안의 로그 −12(θ−mN)⊤SN−1(θ−mN)=−12[θ⊤SN−1θ−2θ⊤SN−1mN]+const-\\frac12(\\theta-m_N)^\\top S_N^{-1}(\\theta-m_N)=-\\frac12\\big[\\theta^\\top S_N^{-1}\\theta-2\\theta^\\top S_N^{-1}m_N\\big]+\\text{const}−21​(θ−mN​)⊤SN−1​(θ−mN​)=−21​[θ⊤SN−1​θ−2θ⊤SN−1​mN​]+const와 이차항·일차항을 맞추면 SN−1=σ−2Φ⊤Φ+S0−1S_N^{-1}=\\sigma^{-2}\\Phi^\\top\\Phi+S_0^{-1}SN−1​=σ−2Φ⊤Φ+S0−1​, SN−1mN=σ−2Φ⊤y+S0−1m0S_N^{-1}m_N=\\sigma^{-2}\\Phi^\\top y+S_0^{-1}m_0SN−1​mN​=σ−2Φ⊤y+S0−1​m0​.\n(b) Φ=[101112]\\Phi=\\begin{bmatrix}1\u0026amp;0\\\\1\u0026amp;1\\\\1\u0026amp;2\\end{bmatrix}Φ=​111​012​​, Φ⊤Φ=[3335]\\Phi^\\top\\Phi=\\begin{bmatrix}3\u0026amp;3\\\\3\u0026amp;5\\end{bmatrix}Φ⊤Φ=[33​35​], Φ⊤y=(7,10)⊤\\Phi^\\top y=(7,10)^\\topΦ⊤y=(7,10)⊤. SN=[4336]−1=115[6−3−34]=[25−15−15415]S_N=\\begin{bmatrix}4\u0026amp;3\\\\3\u0026amp;6\\end{bmatrix}^{-1}=\\frac1{15}\\begin{bmatrix}6\u0026amp;-3\\\\-3\u0026amp;4\\end{bmatrix}=\\begin{bmatrix}\\frac25\u0026amp;-\\frac15\\\\-\\frac15\u0026amp;\\frac4{15}\\end{bmatrix}SN​=[43​36​]−1=151​[6−3​−34​]=[52​−51​​−51​154​​]. mN=SNΦ⊤y=115(42−30, −21+40)=(45, 1915)≈(0.8, 1.267)m_N=S_N\\Phi^\\top y=\\frac1{15}(42-30,\\ -21+40)=\\left(\\frac45,\\ \\frac{19}{15}\\right)\\approx(0.8,\\ 1.267)mN​=SN​Φ⊤y=151​(42−30, −21+40)=(54​, 1519​)≈(0.8, 1.267). θML=16[5−3−33][710]=(56, 32)≈(0.833, 1.5)\\theta_{\\text{ML}}=\\frac16\\begin{bmatrix}5\u0026amp;-3\\\\-3\u0026amp;3\\end{bmatrix}\\begin{bmatrix}7\\\\10\\end{bmatrix}=\\left(\\frac56,\\ \\frac32\\right)\\approx(0.833,\\ 1.5)θML​=61​[5−3​−33​][710​]=(65​, 23​)≈(0.833, 1.5). mNm_NmN​은 사전 평균 0 쪽으로 줄어 있고, λ=σ2/b2=1\\lambda=\\sigma^2/b^2=1λ=σ2/b2=1인 릿지 해와 같다.\n(c) ϕ∗=(1,3)⊤\\phi_*=(1,3)^\\topϕ∗​=(1,3)⊤. 평균 ϕ∗⊤mN=45+5715=235=4.6\\phi_*^\\top m_N=\\frac45+\\frac{57}{15}=\\frac{23}5=4.6ϕ∗⊤​mN​=54​+1557​=523​=4.6. ϕ∗⊤SNϕ∗=115(6−18+36)=85=1.6\\phi_*^\\top S_N\\phi_*=\\frac1{15}(6-18+36)=\\frac85=1.6ϕ∗⊤​SN​ϕ∗​=151​(6−18+36)=58​=1.6. 분산 =1.6+σ2=2.6=1.6+\\sigma^2=2.6=1.6+σ2=2.6. p(y∗∣X,Y,x∗=3)=N(4.6, 2.6)p(y_*\\mid\\mathcal X,\\mathcal Y,x_*=3)=\\mathcal N(4.6,\\ 2.6)p(y∗​∣X,Y,x∗​=3)=N(4.6, 2.6). 매개변수 불확실성 몫은 ϕ∗⊤SNϕ∗=1.6\\phi_*^\\top S_N\\phi_*=1.6ϕ∗⊤​SN​ϕ∗​=1.6, 나머지 1은 관측 잡음이다.\n(d) p(Y∣X)=∫N(y∣Φθ,σ2I) N(θ∣m0,S0) dθ=N(y∣Φm0, ΦS0Φ⊤+σ2I)p(\\mathcal Y\\mid\\mathcal X)=\\int\\mathcal N(y\\mid\\Phi\\theta,\\sigma^2I)\\,\\mathcal N(\\theta\\mid m_0,S_0)\\,d\\theta=\\mathcal N(y\\mid\\Phi m_0,\\ \\Phi S_0\\Phi^\\top+\\sigma^2I)p(Y∣X)=∫N(y∣Φθ,σ2I)N(θ∣m0​,S0​)dθ=N(y∣Φm0​, ΦS0​Φ⊤+σ2I). 여기서는 N ⁣(0, [211133136])\\mathcal N\\!\\left(0,\\ \\begin{bmatrix}2\u0026amp;1\u0026amp;1\\\\1\u0026amp;3\u0026amp;3\\\\1\u0026amp;3\u0026amp;6\\end{bmatrix}\\right)N​0, ​211​133​136​​​. 모델 비교(베이즈 모델 선택)와 사전분포 같은 하이퍼파라미터를 고르는 데 쓴다.\n채점 포인트: 제곱 완성으로 이차항·일차항 맞추기, SNS_NSN​ 역행렬, 예측 분산의 두 몫. 교재 근거: 9.3.3절 식 (9.43)~(9.50), 9.3.4절 식 (9.57), 9.3.5절(주변 가능도), 8.6.2절.\n2-B3 (a) 정규직교기저로 x=∑d=1D(bd⊤x)bdx=\\sum_{d=1}^D(b_d^\\top x)b_dx=∑d=1D​(bd⊤​x)bd​, 사영 x~=∑m≤M(bm⊤x)bm\\tilde x=\\sum_{m\\le M}(b_m^\\top x)b_mx~=∑m≤M​(bm⊤​x)bm​. 그러면 x−x~=∑j\u0026gt;M(bj⊤x)bjx-\\tilde x=\\sum_{j\u0026gt;M}(b_j^\\top x)b_jx−x~=∑j\u0026gt;M​(bj⊤​x)bj​이고 직교성 때문에 ∥x−x~∥2=∑j\u0026gt;M(bj⊤x)2\\|x-\\tilde x\\|^2=\\sum_{j\u0026gt;M}(b_j^\\top x)^2∥x−x~∥2=∑j\u0026gt;M​(bj⊤​x)2.\nJM=1N∑n∑j\u0026gt;Mbj⊤xnxn⊤bj=∑j\u0026gt;Mbj⊤Sbj \\begin{aligned} J_M\u0026amp;=\\frac1N\\sum_n\\sum_{j\u0026gt;M}b_j^\\top x_nx_n^\\top b_j\\\\ \u0026amp;=\\sum_{j\u0026gt;M}b_j^\\top Sb_j \\end{aligned} JM​​=N1​n∑​j\u0026gt;M∑​bj⊤​xn​xn⊤​bj​=j\u0026gt;M∑​bj⊤​Sbj​​각 bj⊤Sbjb_j^\\top Sb_jbj⊤​Sbj​를 ∥bj∥=1\\|b_j\\|=1∥bj​∥=1 아래에서 라그랑주로 다루면 Sbj=λjbjSb_j=\\lambda_jb_jSbj​=λj​bj​이고 값은 λj\\lambda_jλj​다. 합을 최소로 하려면 버리는 방향에 가장 작은 D−MD-MD−M개의 고윳값을 배정해야 하므로 최솟값은 ∑j=M+1Dλj\\sum_{j=M+1}^D\\lambda_j∑j=M+1D​λj​이고, 남기는 공간은 상위 MMM개 고유벡터가 생성하는 주부분공간이다.\n(b) X⊤X=[9−9−99]X^\\top X=\\begin{bmatrix}9\u0026amp;-9\\\\-9\u0026amp;9\\end{bmatrix}X⊤X=[9−9​−99​], 1NX⊤X=[4.5−4.5−4.54.5]\\frac1NX^\\top X=\\begin{bmatrix}4.5\u0026amp;-4.5\\\\-4.5\u0026amp;4.5\\end{bmatrix}N1​X⊤X=[4.5−4.5​−4.54.5​]: 고윳값 9(고유벡터 c=12(1,−1)c=\\frac1{\\sqrt2}(1,-1)c=2​1​(1,−1)), 0. 1NX⊤Xc=λc\\frac1NX^\\top Xc=\\lambda cN1​X⊤Xc=λc의 양변 왼쪽에 XXX를 곱하면 1NXX⊤(Xc)=λ(Xc)\\frac1NXX^\\top(Xc)=\\lambda(Xc)N1​XX⊤(Xc)=λ(Xc). 그래서 Xc=12(2,4,4)Xc=\\frac1{\\sqrt2}(2,4,4)Xc=2​1​(2,4,4)가 SSS의 고유벡터이고 고윳값도 λ1=9\\lambda_1=9λ1​=9. 정규화: u1=13(1,2,2)⊤u_1=\\frac13(1,2,2)^\\topu1​=31​(1,2,2)⊤.\n(c) X=UΣV⊤X=U\\Sigma V^\\topX=UΣV⊤이면 S=1NUΣΣ⊤U⊤S=\\frac1NU\\Sigma\\Sigma^\\top U^\\topS=N1​UΣΣ⊤U⊤, 따라서 λd=σd2/N\\lambda_d=\\sigma_d^2/Nλd​=σd2​/N. σ1=Nλ1=18=32≈4.243\\sigma_1=\\sqrt{N\\lambda_1}=\\sqrt{18}=3\\sqrt2\\approx4.243σ1​=Nλ1​​=18​=32​≈4.243 (∥X∥F2=18\\|X\\|_F^2=18∥X∥F2​=18과도 맞는다).\n(d) BB⊤BB^\\topBB⊤은 고윳값 ∥B∥2=9\\|B\\|^2=9∥B∥2=9(고유벡터 B/∥B∥=13(1,2,2)B/\\|B\\|=\\frac13(1,2,2)B/∥B∥=31​(1,2,2))와 0 두 개를 가진다. σ2I\\sigma^2Iσ2I를 더하면 모든 고윳값이 0.5씩 올라가 9.5, 0.5, 0.59.5,\\ 0.5,\\ 0.59.5, 0.5, 0.5. 가장 큰 고유벡터 13(1,2,2)\\frac13(1,2,2)31​(1,2,2)가 (b)의 주성분 방향과 같다. PPCA는 데이터를 BBB 방향(주부분공간)으로 퍼뜨리고 모든 방향에 같은 크기의 잡음 σ2\\sigma^2σ2를 더하는 모델이다.\n채점 포인트: 직교성으로 교차항 소거, bj⊤Sbjb_j^\\top Sb_jbj⊤​Sbj​ 꼴, N\u0026lt;DN\u0026lt;DN\u0026lt;D에서 XcXcXc가 고유벡터인 이유, λ=σ2/N\\lambda=\\sigma^2/Nλ=σ2/N. 교재 근거: 10.3절 식 (10.44), 10.4절 식 (10.47)~(10.51), 10.5절(N≫DN\\gg DN≫D가 아닐 때), 10.7절(PPCA).\n2-B4 (a) 혼합 밀도를 p(xn)=∑jπjN(xn∣μj,Σj)p(x_n)=\\sum_j\\pi_j\\mathcal N(x_n\\mid\\mu_j,\\Sigma_j)p(xn​)=∑j​πj​N(xn​∣μj​,Σj​)로 줄여 쓰면\n∂L∂μk=∑nπkp(xn) ∂N(xn∣μk,Σk)∂μk \\frac{\\partial\\mathcal L}{\\partial\\mu_k}=\\sum_n\\frac{\\pi_k}{p(x_n)}\\,\\frac{\\partial\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)}{\\partial\\mu_k} ∂μk​∂L​=n∑​p(xn​)πk​​∂μk​∂N(xn​∣μk​,Σk​)​이고, 가우시안을 평균으로 미분하면\n∂N(xn∣μk,Σk)∂μk=N(xn∣μk,Σk) (xn−μk)⊤Σk−1 \\begin{aligned} \u0026amp;\\frac{\\partial\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)}{\\partial\\mu_k}\\\\ \u0026amp;=\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)\\,(x_n-\\mu_k)^\\top\\Sigma_k^{-1} \\end{aligned} ​∂μk​∂N(xn​∣μk​,Σk​)​=N(xn​∣μk​,Σk​)(xn​−μk​)⊤Σk−1​​이다. 책임도가 rnk=πkN(xn∣μk,Σk)/p(xn)r_{nk}=\\pi_k\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)/p(x_n)rnk​=πk​N(xn​∣μk​,Σk​)/p(xn​)이므로 ∂L∂μk=∑nrnk(xn−μk)⊤Σk−1=0\\dfrac{\\partial\\mathcal L}{\\partial\\mu_k}=\\sum_nr_{nk}(x_n-\\mu_k)^\\top\\Sigma_k^{-1}=0∂μk​∂L​=∑n​rnk​(xn​−μk​)⊤Σk−1​=0. 오른쪽에 Σk\\Sigma_kΣk​를 곱하면 ∑nrnkxn=μk∑nrnk\\sum_nr_{nk}x_n=\\mu_k\\sum_nr_{nk}∑n​rnk​xn​=μk​∑n​rnk​ → μk=1Nk∑nrnkxn\\mu_k=\\frac1{N_k}\\sum_nr_{nk}x_nμk​=Nk​1​∑n​rnk​xn​.\n(b) L=L+λ(∑kπk−1)\\mathfrak L=\\mathcal L+\\lambda\\big(\\sum_k\\pi_k-1\\big)L=L+λ(∑k​πk​−1). ∂L∂πk=∑nN(xn∣μk,Σk)∑jπjN(xn∣μj,Σj)+λ=Nkπk+λ=0\\dfrac{\\partial\\mathfrak L}{\\partial\\pi_k}=\\sum_n\\dfrac{\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)}{\\sum_j\\pi_j\\mathcal N(x_n\\mid\\mu_j,\\Sigma_j)}+\\lambda=\\dfrac{N_k}{\\pi_k}+\\lambda=0∂πk​∂L​=∑n​∑j​πj​N(xn​∣μj​,Σj​)N(xn​∣μk​,Σk​)​+λ=πk​Nk​​+λ=0 → πk=−Nk/λ\\pi_k=-N_k/\\lambdaπk​=−Nk​/λ. 합이 1이므로 −N/λ=1-N/\\lambda=1−N/λ=1, λ=−N\\lambda=-Nλ=−N → πk=Nk/N\\pi_k=N_k/Nπk​=Nk​/N.\n(c) 분자: 0.4×0.2420=0.09680.4\\times0.2420=0.09680.4×0.2420=0.0968, 0.6×0.1210=0.07260.6\\times0.1210=0.07260.6×0.1210=0.0726, 합 0.16940.16940.1694. r1=0.0968/0.1694≈0.571r_1=0.0968/0.1694\\approx0.571r1​=0.0968/0.1694≈0.571, r2≈0.429r_2\\approx0.429r2​≈0.429. (정확히는 N(1∣3,4)=12N(1∣0,1)\\mathcal N(1\\mid3,4)=\\frac12\\mathcal N(1\\mid0,1)N(1∣3,4)=21​N(1∣0,1)이라 r1=0.40.4+0.3=47r_1=\\frac{0.4}{0.4+0.3}=\\frac47r1​=0.4+0.30.4​=74​.) x=1x=1x=1은 μ1=0\\mu_1=0μ1​=0에 더 가깝지만 성분 2의 혼합 비율과 분산이 커서 책임도가 반반에 가깝다.\n(d) 한 성분의 평균을 데이터 점 하나에 맞추고(μk=xn\\mu_k=x_nμk​=xn​) 분산을 0으로 줄이면 N(xn∣μk,σ2I)=(2πσ2)−D/2→∞\\mathcal N(x_n\\mid\\mu_k,\\sigma^2I)=(2\\pi\\sigma^2)^{-D/2}\\to\\inftyN(xn​∣μk​,σ2I)=(2πσ2)−D/2→∞다. 다른 점들은 다른 성분이 유한한 밀도로 설명하므로 전체 로그 가능도가 무한대로 간다. 그래서 GMM의 최대가능도 문제는 잘 정의되지 않을 수 있다(교재 11.5절). 실전에서 분산 하한을 두거나 사전분포(MAP)를 쓰는 대처는 교재 밖 보충이다.\n채점 포인트: 가우시안 미분, 책임도가 자연스럽게 나오는 과정, 라그랑주 승수 λ=−N\\lambda=-Nλ=−N. 교재 근거: 11.2.2~11.2.4절(평균·공분산·혼합 비율 갱신, 식 (11.42)), 11.5절.\n2-B5 (a) 라그랑지안(αn,γn≥0\\alpha_n,\\gamma_n\\ge0αn​,γn​≥0):\nL=12∥w∥2+C∑nξn−∑nαn(yn(w⊤xn+b)−1+ξn)−∑nγnξn \\begin{aligned} \\mathfrak L\u0026amp;=\\tfrac12\\|w\\|^2+C\\sum_n\\xi_n\\\\ \u0026amp;\\quad-\\sum_n\\alpha_n\\big(y_n(w^\\top x_n+b)-1+\\xi_n\\big)\\\\ \u0026amp;\\quad-\\sum_n\\gamma_n\\xi_n \\end{aligned} L​=21​∥w∥2+Cn∑​ξn​−n∑​αn​(yn​(w⊤xn​+b)−1+ξn​)−n∑​γn​ξn​​ ∂w\\partial_w∂w​: w=∑nαnynxnw=\\sum_n\\alpha_ny_nx_nw=∑n​αn​yn​xn​ ∂b\\partial_b∂b​: ∑nαnyn=0\\sum_n\\alpha_ny_n=0∑n​αn​yn​=0 ∂ξn\\partial_{\\xi_n}∂ξn​​: C−αn−γn=0C-\\alpha_n-\\gamma_n=0C−αn​−γn​=0 → αn=C−γn≤C\\alpha_n=C-\\gamma_n\\le Cαn​=C−γn​≤C 대입하면 ξ\\xiξ 항이 모두 사라지고 D(α)=∑iαi−12∑i∑jyiyjαiαjxi⊤xj\\mathfrak D(\\alpha)=\\sum_i\\alpha_i-\\frac12\\sum_i\\sum_jy_iy_j\\alpha_i\\alpha_jx_i^\\top x_jD(α)=∑i​αi​−21​∑i​∑j​yi​yj​αi​αj​xi⊤​xj​. 쌍대 문제는 이를 ∑iyiαi=0\\sum_iy_i\\alpha_i=0∑i​yi​αi​=0, 0≤αi≤C0\\le\\alpha_i\\le C0≤αi​≤C 아래에서 최대화하는 것이다(교재 (12.41)은 부호를 바꾼 최소화 꼴).\n(b) (w,b)(w,b)(w,b)를 고정하면 ξn\\xi_nξn​에 대한 제약은 ξn≥1−ynfn\\xi_n\\ge1-y_nf_nξn​≥1−yn​fn​과 ξn≥0\\xi_n\\ge0ξn​≥0이고 목적은 ξn\\xi_nξn​이 작을수록 좋다. 그래서 최적 ξn=max⁡{0,1−ynfn}\\xi_n=\\max\\{0,1-y_nf_n\\}ξn​=max{0,1−yn​fn​}이고 대입하면 힌지 손실 꼴이다.\n(c) 상보 여유성: αn(ynfn−1+ξn)=0\\alpha_n\\big(y_nf_n-1+\\xi_n\\big)=0αn​(yn​fn​−1+ξn​)=0, γnξn=0\\gamma_n\\xi_n=0γn​ξn​=0 (γn=C−αn\\gamma_n=C-\\alpha_nγn​=C−αn​).\nαn=0\\alpha_n=0αn​=0: γn=C\u0026gt;0\\gamma_n=C\u0026gt;0γn​=C\u0026gt;0 → ξn=0\\xi_n=0ξn​=0, ynfn≥1y_nf_n\\ge1yn​fn​≥1 → 마진 경계 위나 바깥(올바른 쪽). 서포트 벡터가 아니다. 0\u0026lt;αn\u0026lt;C0\u0026lt;\\alpha_n\u0026lt;C0\u0026lt;αn​\u0026lt;C: γn\u0026gt;0\\gamma_n\u0026gt;0γn​\u0026gt;0 → ξn=0\\xi_n=0ξn​=0, αn\u0026gt;0\\alpha_n\u0026gt;0αn​\u0026gt;0 → ynfn=1y_nf_n=1yn​fn​=1 → 정확히 마진 경계 위. αn=C\\alpha_n=Cαn​=C: γn=0\\gamma_n=0γn​=0 → ξn≥0\\xi_n\\ge0ξn​≥0, ynfn=1−ξn≤1y_nf_n=1-\\xi_n\\le1yn​fn​=1−ξn​≤1 → 마진 안(0\u0026lt;ξn\u0026lt;10\u0026lt;\\xi_n\u0026lt;10\u0026lt;ξn​\u0026lt;1)이거나 오분류(ξn\u0026gt;1\\xi_n\u0026gt;1ξn​\u0026gt;1). (d) f(x)=x1−x2f(x)=x_1-x_2f(x)=x1​−x2​.\n점 ynfy_nfyn​f 힌지 손실 (2,0)(2,0)(2,0), +1+1+1 2 0 (0.5,0)(0.5,0)(0.5,0), +1+1+1 0.5 0.5 (0,1)(0,1)(0,1), −1-1−1 1 0 (1,0)(1,0)(1,0), −1-1−1 −1-1−1 2 목적값 =12⋅2+1⋅(0+0.5+0+2)=3.5=\\frac12\\cdot2+1\\cdot(0+0.5+0+2)=3.5=21​⋅2+1⋅(0+0.5+0+2)=3.5. 최적이라면: α1=0\\alpha_1=0α1​=0(yf\u0026gt;1yf\u0026gt;1yf\u0026gt;1), α2=α4=C=1\\alpha_2=\\alpha_4=C=1α2​=α4​=C=1(ξ\u0026gt;0\\xi\u0026gt;0ξ\u0026gt;0), α3∈[0,1]\\alpha_3\\in[0,1]α3​∈[0,1](경계 위). ∑αnyn=α2−α3−α4=−α3=0\\sum\\alpha_ny_n=\\alpha_2-\\alpha_3-\\alpha_4=-\\alpha_3=0∑αn​yn​=α2​−α3​−α4​=−α3​=0 → α3=0\\alpha_3=0α3​=0. 그러면 w=∑αnynxn=(0.5,0)−(1,0)=(−0.5,0)≠(1,−1)w=\\sum\\alpha_ny_nx_n=(0.5,0)-(1,0)=(-0.5,0)\\ne(1,-1)w=∑αn​yn​xn​=(0.5,0)−(1,0)=(−0.5,0)=(1,−1). 모순이므로 이 (w,b)(w,b)(w,b)는 최적이 아니다. (참고: 이차계획으로 푼 실제 최적해는 w=(0.7,−0.6)w=(0.7,-0.6)w=(0.7,−0.6), b=−0.4b=-0.4b=−0.4, α=(0.6,1,0.6,1)\\alpha=(0.6,1,0.6,1)α=(0.6,1,0.6,1), 목적값 2.775다. (2,0)(2,0)(2,0)과 (0,1)(0,1)(0,1)은 0\u0026lt;α\u0026lt;C0\u0026lt;\\alpha\u0026lt;C0\u0026lt;α\u0026lt;C이고 yf=1yf=1yf=1, 나머지 두 점은 α=C\\alpha=Cα=C이고 yf\u0026lt;1yf\u0026lt;1yf\u0026lt;1로 (c)와 맞는다. 세 점 (0.5,0)+,(1,0)−,(2,0)+(0.5,0)^+,(1,0)^-,(2,0)^+(0.5,0)+,(1,0)−,(2,0)+이 한 직선 위에 +,−,++,-,++,−,+ 순서로 있어 선형 분리가 안 되므로 소프트 마진이 필요하다.)\n채점 포인트: γn\\gamma_nγn​을 포함한 라그랑지안, αn≤C\\alpha_n\\le Cαn​≤C가 나오는 줄, 상보 여유성 경우 나누기, KKT로 최적성 판정. 교재 근거: 12.2.412.2.5절 식 (12.26a)·(12.31), 12.3.1절 식 (12.34)(12.41).\n2-B6 (1) θML\\theta_{\\text{ML}}θML​은 정규방정식 Φ⊤(y−Φθ)=0\\Phi^\\top(y-\\Phi\\theta)=0Φ⊤(y−Φθ)=0을 푼다. 잔차가 Φ\\PhiΦ의 모든 열과 직교하므로 ΦθML=Φ(Φ⊤Φ)−1Φ⊤y\\Phi\\theta_{\\text{ML}}=\\Phi(\\Phi^\\top\\Phi)^{-1}\\Phi^\\top yΦθML​=Φ(Φ⊤Φ)−1Φ⊤y는 사영행렬 (3.59)를 yyy에 곱한 것, 즉 열공간에서 yyy에 가장 가까운 점이다. 최소제곱 min⁡∥y−Φθ∥\\min\\|y-\\Phi\\theta\\|min∥y−Φθ∥와 같은 말이다(9.4절).\n(2) 중심화한 X∈RD×NX\\in\\mathbb R^{D\\times N}X∈RD×N을 X=UΣV⊤X=U\\Sigma V^\\topX=UΣV⊤로 분해하면 S=1NUΣΣ⊤U⊤S=\\frac1NU\\Sigma\\Sigma^\\top U^\\topS=N1​UΣΣ⊤U⊤. 주성분 방향은 왼쪽 특이벡터(UUU의 열)이고 λd=σd2/N\\lambda_d=\\sigma_d^2/Nλd​=σd2​/N이다. 상위 MMM개로 사영해 복원한 X~M=UMΣMVM⊤\\tilde X_M=U_M\\Sigma_MV_M^\\topX~M​=UM​ΣM​VM⊤​은 Eckart–Young 정리에 따라 계수 MMM 이하 행렬 가운데 XXX에 가장 가까운 행렬이라 재구성 오차가 최소다(10.4절).\n(3) GMM+EM: 책임도로 부드럽게 배정, 평균·공분산·혼합 비율을 모두 학습, 확률 모델이라 가능도로 비교할 수 있다. K-평균: 가장 가까운 중심에 딱 잘라 배정하고 평균만 갱신한다. 교재 11.5절: GMM에서 공분산을 무시하면(단위행렬로 두면) K-평균이 된다. 둘 다 국소 최적이고 초기값에 민감하다.\n(4) 쌍대는 데이터가 내적 xi⊤xjx_i^\\top x_jxi⊤​xj​로만 들어가서 이를 커널 k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩k(x_i,x_j)=\\langle\\phi(x_i),\\phi(x_j)\\ranglek(xi​,xj​)=⟨ϕ(xi​),ϕ(xj​)⟩로 바꿀 수 있다(특징 ϕ\\phiϕ를 직접 계산하지 않아도 되고 무한 차원도 된다). 변수 수가 특징 차원 DDD가 아니라 데이터 수 NNN이며, 서포트 벡터만 α\u0026gt;0\\alpha\u0026gt;0α\u0026gt;0이다. 유효한 커널은 대칭이고 어떤 데이터에서도 그람 행렬이 양의 준정부호여야 한다(12.4절). 그람 행렬 K=[101011114]K=\\begin{bmatrix}1\u0026amp;0\u0026amp;1\\\\0\u0026amp;1\u0026amp;1\\\\1\u0026amp;1\u0026amp;4\\end{bmatrix}K=​101​011​114​​: 선행 주소행렬식 1, 1, det⁡K=1(4−1)−0+1(0−1)=21,\\ 1,\\ \\det K=1(4-1)-0+1(0-1)=21, 1, detK=1(4−1)−0+1(0−1)=2가 모두 양수라 양의 정부호(따라서 준정부호). 일반적으로도 z⊤Kz=∥∑iziϕ(xi)∥2≥0z^\\top Kz=\\big\\|\\sum_iz_i\\phi(x_i)\\big\\|^2\\ge0z⊤Kz=​∑i​zi​ϕ(xi​)​2≥0이다. (수치로 고윳값 0.438, 1, 4.5620.438,\\ 1,\\ 4.5620.438, 1, 4.562.)\n(5) 바깥 고리는 데이터를 KKK개로 나눠 한 조각을 시험용으로 남기고, 안쪽 고리는 나머지로 교차검증을 돌려 모델·하이퍼파라미터를 고른다. 고른 결과를 바깥 시험 조각에서 평가하고 평균한 값을 일반화 성능으로 보고한다. 선택에 쓴 교차검증 점수를 그대로 보고하면, 잡음이 섞인 여러 추정값 가운데 가장 좋은 것을 고른 셈이라 낙관적으로 치우친다(8.6.1절).\n교재 근거: 9.4절, 10.4절, 11.5절, 12.4절, 8.6.1절.\n","permalink":"https://qofo.github.io/posts/mml-mock-exam-solutions/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재:\u003c/strong\u003e Deisenroth·Faisal·Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e (\u003ca href=\"https://mml-book.github.io/\"\u003emml-book.github.io\u003c/a\u003e에 공개된 PDF, 2024-01-15 판). 절과 식 번호는 그 PDF 기준이다.\u003cbr\u003e\n\u003cstrong\u003e문제지:\u003c/strong\u003e \u003ca href=\"/posts/mml-mock-exams/\"\u003e앞 편\u003c/a\u003e에 문제만 모아 두었다. 먼저 60분 타이머로 풀어 본 뒤 이 글로 맞춰 본다.\u003cbr\u003e\n\u003cstrong\u003e검산:\u003c/strong\u003e 숫자 답은 모두 sympy(정확한 분수)와 numpy·scipy(수치 미분, 이차계획 풀이)로 다시 계산했다. 교재 절·식·정리 번호는 PDF 원문과 대조했다.\u003cbr\u003e\n\u003cstrong\u003e읽는 법:\u003c/strong\u003e 문제마다 \u003cstrong\u003e풀이 → 답 → 채점 포인트(답안지에 꼭 보여야 할 줄) → 교재 근거\u003c/strong\u003e 순서다. 교재에 없는 내용은 \u003cstrong\u003e교재 밖 보충\u003c/strong\u003e으로 표시했다.\u003c/p\u003e","title":"MML 실전 모의고사 풀이: 답과 단계별 풀이"},{"content":" 교재: Deisenroth·Faisal·Ong, Mathematics for Machine Learning (mml-book.github.io에 공개된 PDF, 2024-01-15 판). 절과 식 번호는 그 PDF 기준이다.\n이 글: 새 내용은 없다. 장별 글(212편)의 핵심과 \u0026ldquo;시험 직전 10분 요약\u0026rdquo;, 모의고사 풀이에서 시험에 바로 쓰는 공식·조건·증명 뼈대만 골라 다시 썼다. 유도의 단계별 설명은 장별 글에 있다.\n범위와 시간: 기초수학 = MML Part 1(27장) 60분, 기초 AI = MML Part 2(8~12장) 60분을 가정했다.\n1. 시험장에서 쓰는 요령 먼저 챙길 주제. 이 범위로 보는 필기의 응시 후기에는 정사영, 기울기 계산, 최적화(경사하강법·라그랑주 승수), 분산 공식 유도, 볼록성, 직교, 고유값, 회전행렬, 이항분포가 나왔다. 영어 지문에 증명 위주로 나온 해도 있었다. 8~12장 범위는 후기를 찾지 못했으므로 대표 유도 다섯 개(정규방정식, 릿지 = MAP, PCA = 고유벡터, GMM의 EM 갱신, SVM 쌍대)를 먼저 챙긴다.\n시간. 60분에 6문항이면 문항당 약 9분, 마지막 5분은 검토다.\n처음 2분 동안 모든 문항을 훑고, 바로 풀 수 있는 문항부터 표시한다. 한 문항에 15분을 넘기지 않는다. 막히면 표시하고 다음 문항으로 간다. 끝까지 못 가는 유도·증명도 출발 식(정의, 라그랑지안, 음의 로그가능도, 특성방정식)과 중간 단계는 남긴다. 답안 쓰는 법.\n증명은 첫 줄에 보일 것을 쓰고 \u0026ldquo;가정 → 정의에 대입 → 한 줄씩 → 결론(∎)\u0026rdquo; 순서로 쓴다. 줄마다 쓴 성질(선형성, 대칭, 독립 등)을 괄호로 붙인다. 행렬 계산 옆에 크기를 적는다(K×KK\\times KK×K, 1×n1\\times n1×n). 크기가 맞지 않으면 전치를 잘못 붙인 것이다. 관례를 한 줄 밝혀 둔다: \u0026ldquo;기울기는 행벡터(MML 관례)\u0026rdquo;, \u0026ldquo;공분산 분모는 NNN\u0026rdquo;. 영어 지문이면 7절의 낱말부터 확인한다. Show that·Prove는 증명, Derive는 끝까지 유도하라는 뜻이다. 검산 한 줄 (시간이 남으면 숫자 답마다)\n고유값: 합 = 대각합, 곱 = 행렬식. 사영: 오차 x−π(x)x-\\pi(x)x−π(x)와 각 기저 벡터의 내적이 0. 회귀: 잔차와 Φ\\PhiΦ의 각 열의 내적이 0. SVD: ui⊤uj=0u_i^\\top u_j=0ui⊤​uj​=0 (i≠ji\\ne ji=j), ∥A∥F2=∑iσi2\\|A\\|_F^2=\\sum_i\\sigma_i^2∥A∥F2​=∑i​σi2​ (원소 제곱합). 확률: 책임도의 합이 1, 분산이 0 이상, 조건부 분산이 원래 분산 이하. 쌍대: 볼록 문제면 원 문제의 값과 쌍대 문제의 값이 같다. SVM: 하드 마진의 서포트 벡터에서 ynf(xn)=1y_nf(x_n)=1yn​f(xn​)=1. 미분: 점 하나를 골라 성분으로 직접 미분한 값과 비교한다. 2. 표기 함정 (MML 관례) 벡터는 열벡터다. x∈RDx\\in\\mathbb R^Dx∈RD는 D×1D\\times1D×1이다. 스칼라 함수의 기울기는 행벡터(1×D1\\times D1×D)다. 그래서 경사하강법은 x−γ(∇f)⊤x-\\gamma(\\nabla f)^\\topx−γ(∇f)⊤이고, dLdθ=0⊤\\frac{dL}{d\\theta}=0^\\topdθdL​=0⊤을 풀 때 양변을 전치해 열벡터 방정식으로 바꾼다. 야코비안은 (출력 수)×(입력 수) 행렬이다. 행이 출력, 열이 입력. 공분산의 분모는 NNN이다(N−1N-1N−1이 아니다). 데이터 행렬: 9장 회귀는 데이터 점이 행(N×DN\\times DN×D, X⊤XX^\\top XX⊤X가 나옴), 10장 PCA는 데이터 점이 열(D×ND\\times ND×N, XX⊤XX^\\topXX⊤가 나옴). log⁡\\loglog는 자연로그다. 라그랑지안은 f+∑iλigif+\\sum_i\\lambda_ig_if+∑i​λi​gi​, 조건은 gi≤0g_i\\le0gi​≤0, 승수는 λi≥0\\lambda_i\\ge0λi​≥0이다. AIC·BIC는 \u0026ldquo;클수록 좋은\u0026rdquo; 꼴이다. SVM 쌍대 문제는 최소화 꼴(12.41)이다. SVM 마진은 가장 가까운 점까지의 거리 1∥w∥\\frac1{\\|w\\|}∥w∥1​이다. 양쪽을 합친 폭은 2∥w∥\\frac2{\\|w\\|}∥w∥2​. 3. 기초수학 공식 (Part 1, 2~7장) 2장 선형대수 해집합 = 특수해 하나 + 영공간: {xp+v:v∈ker⁡A}\\{x_p+v: v\\in\\ker A\\}{xp​+v:v∈kerA}. 특수해: 기약 행 사다리꼴에서 자유변수를 모두 0으로 둔다. 영공간 기저: 오른쪽을 0으로 두고 자유변수 하나만 1, 나머지 자유변수는 0. 자유변수 수만큼 나온다. 해가 있다 ⇔ rk(A)=rk([A∣b])\\text{rk}(A)=\\text{rk}([A\\mid b])rk(A)=rk([A∣b]) (소거 뒤 [0 ⋯ 0∣c][0\\ \\cdots\\ 0\\mid c][0 ⋯ 0∣c], c≠0c\\ne0c=0인 행이 없다). 해가 하나뿐 ⇔ 해가 있고 rk(A)=n\\text{rk}(A)=nrk(A)=n(열 수). 차원 정리: dim⁡ker⁡A+rk(A)=n\\dim\\ker A+\\text{rk}(A)=ndimkerA+rk(A)=n(열 수). 일차독립 판정: 벡터를 열로 세워 소거한다. 모든 열이 피벗 열이면 독립이다. 부분공간 판정: (1) 000을 포함, (2) 덧셈에 닫힘, (3) 스칼라곱에 닫힘. Ax=0Ax=0Ax=0의 해집합은 부분공간이고, Ax=bAx=bAx=b(b≠0b\\ne0b=0)의 해집합은 부분공간이 아니다(아핀 공간). 열공간의 기저는 원래 행렬의 피벗 열에서 가져온다. 행 연산은 열공간을 바꾼다. 정사각행렬 AAA: 역행렬이 있다 ⇔ rkA=n\\text{rk}A=nrkA=n ⇔ ker⁡A={0}\\ker A=\\{0\\}kerA={0} ⇔ det⁡A≠0\\det A\\ne0detA=0 ⇔ 고유값에 0이 없다. 역행렬: 큰 행렬은 [A∣I]→[I∣A−1][A\\mid I]\\to[I\\mid A^{-1}][A∣I]→[I∣A−1]로 소거한다. 2×2는 [abcd]−1=1ad−bc[d−b−ca] \\begin{bmatrix}a\u0026amp;b\\\\c\u0026amp;d\\end{bmatrix}^{-1}=\\frac{1}{ad-bc}\\begin{bmatrix}d\u0026amp;-b\\\\-c\u0026amp;a\\end{bmatrix} [ac​bd​]−1=ad−bc1​[d−c​−ba​] (AB)⊤=B⊤A⊤(AB)^\\top=B^\\top A^\\top(AB)⊤=B⊤A⊤, (AB)−1=B−1A−1(AB)^{-1}=B^{-1}A^{-1}(AB)−1=B−1A−1, (A−1)⊤=(A⊤)−1(A^{-1})^\\top=(A^\\top)^{-1}(A−1)⊤=(A⊤)−1. 변환행렬의 jjj번째 열 = Φ(bj)\\Phi(b_j)Φ(bj​)를 출력 공간의 기저로 나타낸 좌표. 기저 변환: A~Φ=T−1AΦS\\tilde A_\\Phi=T^{-1}A_\\Phi SA~Φ​=T−1AΦ​S. 오른쪽부터 읽는다. SSS는 새 입력 좌표를 옛 좌표로 바꾸고, AΦA_\\PhiAΦ​로 사상을 적용한 뒤, T−1T^{-1}T−1로 새 출력 좌표로 바꾼다. 같은 공간 안에서 기저만 바꾸면 S−1ASS^{-1}ASS−1AS(닮음). 3장 해석기하 내적의 조건: 쌍선형, 대칭, 양의 정부호(x≠0x\\ne0x=0이면 ⟨x,x⟩\u0026gt;0\\langle x,x\\rangle\u0026gt;0⟨x,x⟩\u0026gt;0). ⟨x,y⟩=x⊤Ay\\langle x,y\\rangle=x^\\top Ay⟨x,y⟩=x⊤Ay 꼴이면 AAA가 대칭 양의 정부호여야 한다. 2×2 대칭행렬은 a11\u0026gt;0a_{11}\u0026gt;0a11​\u0026gt;0이고 det⁡A\u0026gt;0\\det A\u0026gt;0detA\u0026gt;0이면 양의 정부호다. 길이 ∥x∥=⟨x,x⟩\\|x\\|=\\sqrt{\\langle x,x\\rangle}∥x∥=⟨x,x⟩​, 거리 ∥x−y∥\\|x-y\\|∥x−y∥, 각도 cos⁡ω=⟨x,y⟩∥x∥ ∥y∥\\cos\\omega=\\frac{\\langle x,y\\rangle}{\\|x\\|\\,\\|y\\|}cosω=∥x∥∥y∥⟨x,y⟩​. 코시-슈바르츠 ∣⟨x,y⟩∣≤∥x∥ ∥y∥|\\langle x,y\\rangle|\\le\\|x\\|\\,\\|y\\|∣⟨x,y⟩∣≤∥x∥∥y∥. 직교는 내적이 0이라는 뜻이고, 어떤 내적을 쓰느냐에 따라 바뀐다. 직선으로의 사영: π(x)=b⊤xb⊤b b\\pi(x)=\\frac{b^\\top x}{b^\\top b}\\,bπ(x)=b⊤bb⊤x​b, 사영 행렬 P=bb⊤b⊤bP=\\frac{bb^\\top}{b^\\top b}P=b⊤bbb⊤​. 부분공간으로의 사영(BBB의 열 = 기저): 정규방정식 B⊤Bλ=B⊤xB^\\top B\\lambda=B^\\top xB⊤Bλ=B⊤x를 풀어 πU(x)=B(B⊤B)−1B⊤x \\pi_U(x)=B(B^\\top B)^{-1}B^\\top x πU​(x)=B(B⊤B)−1B⊤x 기저가 정규직교면 B⊤B=IB^\\top B=IB⊤B=I라서 πU(x)=BB⊤x\\pi_U(x)=BB^\\top xπU​(x)=BB⊤x. 일반 내적 ⟨x,y⟩=x⊤Ay\\langle x,y\\rangle=x^\\top Ay⟨x,y⟩=x⊤Ay로 사영하면 λ=(B⊤AB)−1B⊤Ax\\lambda=(B^\\top AB)^{-1}B^\\top Axλ=(B⊤AB)−1B⊤Ax. 사영 행렬의 성질: P2=PP^2=PP2=P, P⊤=PP^\\top=PP⊤=P, I−PI-PI−P는 직교여공간으로의 사영. 점과 부분공간 사이의 거리는 ∥x−πU(x)∥\\|x-\\pi_U(x)\\|∥x−πU​(x)∥. 아핀 공간 L=x0+UL=x_0+UL=x0​+U로의 사영: πL(x)=x0+πU(x−x0)\\pi_L(x)=x_0+\\pi_U(x-x_0)πL​(x)=x0​+πU​(x−x0​). 직교여공간: U⊥=ker⁡B⊤U^\\perp=\\ker B^\\topU⊥=kerB⊤, dim⁡U⊥=D−dim⁡U\\dim U^\\perp=D-\\dim UdimU⊥=D−dimU. 그람-슈미트: u1=b1u_1=b_1u1​=b1​, uk=bk−∑j\u0026lt;kuj⊤bkuj⊤ujuju_k=b_k-\\sum_{j\u0026lt;k}\\frac{u_j^\\top b_k}{u_j^\\top u_j}u_juk​=bk​−∑j\u0026lt;k​uj⊤​uj​uj⊤​bk​​uj​. 정규직교 기저가 필요하면 마지막에 길이로 나눈다. 직교행렬 Q⊤Q=IQ^\\top Q=IQ⊤Q=I: Q−1=Q⊤Q^{-1}=Q^\\topQ−1=Q⊤, 길이와 각도를 보존, det⁡Q=±1\\det Q=\\pm1detQ=±1, 고유값의 절댓값이 1. 회전행렬 R(θ)=[cos⁡θ−sin⁡θsin⁡θcos⁡θ]R(\\theta)=\\begin{bmatrix}\\cos\\theta\u0026amp;-\\sin\\theta\\\\\\sin\\theta\u0026amp;\\cos\\theta\\end{bmatrix}R(θ)=[cosθsinθ​−sinθcosθ​]: 직교행렬이고 det⁡R=1\\det R=1detR=1, R(α)R(β)=R(α+β)R(\\alpha)R(\\beta)=R(\\alpha+\\beta)R(α)R(β)=R(α+β). 2차원 회전은 순서를 바꿔도 같지만 3차원부터는 순서가 중요하다. 증명은 5.4절. 4장 행렬분해 행렬식: 2×2는 ad−bcad-bcad−bc, 삼각행렬은 대각 원소의 곱. det⁡(AB)=det⁡Adet⁡B\\det(AB)=\\det A\\det Bdet(AB)=detAdetB, det⁡A⊤=det⁡A\\det A^\\top=\\det AdetA⊤=detA, det⁡A−1=1/det⁡A\\det A^{-1}=1/\\det AdetA−1=1/detA, det⁡(cA)=cndet⁡A\\det(cA)=c^n\\det Adet(cA)=cndetA. 행 연산과 행렬식: 두 행을 바꾸면 부호가 바뀌고, 한 행에 다른 행의 배수를 더하면 그대로이고, 한 행에 ccc를 곱하면 ccc배가 된다. 대각합: tr(AB)=tr(BA)\\text{tr}(AB)=\\text{tr}(BA)tr(AB)=tr(BA), tr(xy⊤)=y⊤x\\text{tr}(xy^\\top)=y^\\top xtr(xy⊤)=y⊤x. 고유값: 특성방정식 det⁡(A−λI)=0\\det(A-\\lambda I)=0det(A−λI)=0. 2×2면 λ2−(trA)λ+det⁡A=0\\lambda^2-(\\text{tr}A)\\lambda+\\det A=0λ2−(trA)λ+detA=0. 고유벡터는 ker⁡(A−λI)\\ker(A-\\lambda I)ker(A−λI)의 0 아닌 원소. 고유값의 합 = trA\\text{tr}AtrA, 곱 = det⁡A\\det AdetA. 삼각행렬의 고유값은 대각 원소. 서로 다른 고유값의 고유벡터는 일차독립이다. 고유값 nnn개가 모두 다르면 대각화된다. 대각화: 독립인 고유벡터가 nnn개 ⇔ A=PDP−1A=PDP^{-1}A=PDP−1. 그러면 Ak=PDkP−1A^k=PD^kP^{-1}Ak=PDkP−1. 대각화 가능과 역행렬 존재는 다른 말이다. 스펙트럼 정리(정리 4.15): 대칭행렬은 고유값이 모두 실수이고, 정규직교 고유벡터로 A=PDP⊤A=PDP^\\topA=PDP⊤이라 쓸 수 있다. 증명 뼈대는 5.3절. 대칭행렬 AAA가 양의 정부호 ⇔ 모든 고유값이 양수 ⇔ x≠0x\\ne0x=0이면 x⊤Ax\u0026gt;0x^\\top Ax\u0026gt;0x⊤Ax\u0026gt;0. 준정부호는 각각 \u0026ldquo;0 이상\u0026rdquo;. A⊤AA^\\top AA⊤A는 언제나 대칭 준정부호다. 촐레스키(정리 4.18, 대칭 양의 정부호만): A=LL⊤A=LL^\\topA=LL⊤, LLL은 대각이 양수인 하삼각행렬. 2×2면 l11=a11l_{11}=\\sqrt{a_{11}}l11​=a11​​, l21=a21/l11l_{21}=a_{21}/l_{11}l21​=a21​/l11​, l22=a22−l212l_{22}=\\sqrt{a_{22}-l_{21}^2}l22​=a22​−l212​​. SVD A=UΣV⊤A=U\\Sigma V^\\topA=UΣV⊤ (모든 행렬): A⊤AA^\\top AA⊤A의 고유값 λi\\lambda_iλi​와 정규직교 고유벡터 viv_ivi​를 구한다. σi=λi\\sigma_i=\\sqrt{\\lambda_i}σi​=λi​​ (큰 순서). ui=Avi/σiu_i=Av_i/\\sigma_iui​=Avi​/σi​로 구한다. uiu_iui​를 AA⊤AA^\\topAA⊤에서 따로 구하면 부호가 어긋날 수 있다. AA⊤AA^\\topAA⊤가 더 작으면 거기서 uiu_iui​를 구하고 vi=A⊤ui/σiv_i=A^\\top u_i/\\sigma_ivi​=A⊤ui​/σi​. 0이 아닌 특이값의 개수 = 랭크. 모자란 viv_ivi​는 ker⁡A\\ker AkerA의 정규직교 기저로 채운다. 저랭크 근사: A^k=∑i≤kσiuivi⊤\\hat A_k=\\sum_{i\\le k}\\sigma_iu_iv_i^\\topA^k​=∑i≤k​σi​ui​vi⊤​. ∥A∥2=σ1\\|A\\|_2=\\sigma_1∥A∥2​=σ1​, ∥A−A^k∥2=σk+1\\|A-\\hat A_k\\|_2=\\sigma_{k+1}∥A−A^k​∥2​=σk+1​ (에카르트-영, 정리 4.25). ∥A∥F2=tr(A⊤A)=∑iσi2\\|A\\|_F^2=\\text{tr}(A^\\top A)=\\sum_i\\sigma_i^2∥A∥F2​=tr(A⊤A)=∑i​σi2​. 대칭 준정부호 행렬이면 고유값분해와 SVD가 같다. 5장 벡터 미적분 크기 규칙: f:Rn→Rf:\\mathbb R^n\\to\\mathbb Rf:Rn→R의 기울기는 1×n1\\times n1×n 행벡터, f:Rn→Rmf:\\mathbb R^n\\to\\mathbb R^mf:Rn→Rm의 야코비안은 m×nm\\times nm×n. 연쇄법칙: ddxf(g(x))=∂f∂g∂g∂x\\frac{d}{dx}f(g(x))=\\frac{\\partial f}{\\partial g}\\frac{\\partial g}{\\partial x}dxd​f(g(x))=∂g∂f​∂x∂g​, 크기는 (m×k)(k×n)(m\\times k)(k\\times n)(m×k)(k×n). 가운데 kkk가 맞물려야 한다. 외울 미분(aaa, AAA, BBB, WWW는 상수): ∂∂xa⊤x=a⊤\\frac{\\partial}{\\partial x}a^\\top x=a^\\top∂x∂​a⊤x=a⊤, ∂∂xAx=A\\frac{\\partial}{\\partial x}Ax=A∂x∂​Ax=A ∂∂xx⊤Bx=x⊤(B+B⊤)\\frac{\\partial}{\\partial x}x^\\top Bx=x^\\top(B+B^\\top)∂x∂​x⊤Bx=x⊤(B+B⊤). BBB가 대칭일 때만 2x⊤B2x^\\top B2x⊤B. ∂∂x∥Ax−b∥2=2(Ax−b)⊤A\\frac{\\partial}{\\partial x}\\|Ax-b\\|^2=2(Ax-b)^\\top A∂x∂​∥Ax−b∥2=2(Ax−b)⊤A ∂∂s(x−As)⊤W(x−As)=−2(x−As)⊤WA\\frac{\\partial}{\\partial s}(x-As)^\\top W(x-As)=-2(x-As)^\\top WA∂s∂​(x−As)⊤W(x−As)=−2(x−As)⊤WA (WWW 대칭) 스칼라를 행렬로 미분하면 그 행렬과 크기가 같다. ∂∂Xa⊤Xb=ab⊤\\frac{\\partial}{\\partial X}a^\\top Xb=ab^\\top∂X∂​a⊤Xb=ab⊤, ∂∂Xtr(AXB)=A⊤B⊤\\frac{\\partial}{\\partial X}\\text{tr}(AXB)=A^\\top B^\\top∂X∂​tr(AXB)=A⊤B⊤, ∂∂Xlog⁡det⁡X=(X−1)⊤\\frac{\\partial}{\\partial X}\\log\\det X=(X^{-1})^\\top∂X∂​logdetX=(X−1)⊤. L=∥y−Wx∥2L=\\|y-Wx\\|^2L=∥y−Wx∥2이면 dLdW=−2(y−Wx)x⊤\\frac{dL}{dW}=-2(y-Wx)x^\\topdWdL​=−2(y−Wx)x⊤. 공식이 기억나지 않으면 성분 하나(xkx_kxk​ 또는 WijW_{ij}Wij​)로 미분해서 모은다(5.4절의 x⊤Bxx^\\top Bxx⊤Bx 증명 참고). 활성화 함수의 미분: tanh⁡′=1−tanh⁡2\\tanh\u0026#x27;=1-\\tanh^2tanh′=1−tanh2, σ′=σ(1−σ)\\sigma\u0026#x27;=\\sigma(1-\\sigma)σ′=σ(1−σ), ReLU는 입력이 양수면 1, 아니면 0. 역전파: 출력 쪽부터 \u0026ldquo;손실을 각 층 출력으로 미분한 값\u0026quot;을 구해 저장하고 아래층에서 다시 쓴다. 층 z=Wxz=Wxz=Wx에서 δ\\deltaδ를 손실을 zzz로 미분한 값을 열벡터로 세운 것이라 하면 ∂L∂W=δx⊤\\frac{\\partial L}{\\partial W}=\\delta x^\\top∂W∂L​=δx⊤, 아래층으로 넘기는 값은 W⊤δW^\\top\\deltaW⊤δ. 헤시안 Hij=∂2f∂xi∂xjH_{ij}=\\frac{\\partial^2f}{\\partial x_i\\partial x_j}Hij​=∂xi​∂xj​∂2f​(대칭). 2차 테일러 근사(12\\frac1221​을 빠뜨리지 않는다): f(x0+h)≈f(x0)+∇f(x0) h+12h⊤H(x0) h \\begin{aligned} f(x_0+h)\\approx{}\u0026amp;f(x_0)+\\nabla f(x_0)\\,h\\\\ \u0026amp;+\\tfrac12h^\\top H(x_0)\\,h \\end{aligned} f(x0​+h)≈​f(x0​)+∇f(x0​)h+21​h⊤H(x0​)h​ 정류점(기울기 0) 판정: HHH의 고유값이 모두 양수면 극소, 모두 음수면 극대, 부호가 섞이면 안장점, 0이 있으면 이 방법으로 판정할 수 없다. 2×2: det⁡H\u0026lt;0\\det H\u0026lt;0detH\u0026lt;0이면 안장점. det⁡H\u0026gt;0\\det H\u0026gt;0detH\u0026gt;0이고 trH\u0026gt;0\\text{tr}H\u0026gt;0trH\u0026gt;0이면 극소, trH\u0026lt;0\\text{tr}H\u0026lt;0trH\u0026lt;0이면 극대. 6장 확률과 분포 합 규칙 p(x)=∫p(x,y) dyp(x)=\\int p(x,y)\\,dyp(x)=∫p(x,y)dy, 곱 규칙 p(x,y)=p(y∣x) p(x)p(x,y)=p(y\\mid x)\\,p(x)p(x,y)=p(y∣x)p(x). 베이즈 정리의 분모는 합 규칙으로 \u0026ldquo;관측이 나오는 모든 경우\u0026quot;를 더한 것이다: p(x∣y)=p(y∣x) p(x)p(y)p(y)=∫p(y∣x) p(x) dx \\begin{aligned} p(x\\mid y)\u0026amp;=\\frac{p(y\\mid x)\\,p(x)}{p(y)}\\\\ p(y)\u0026amp;=\\int p(y\\mid x)\\,p(x)\\,dx \\end{aligned} p(x∣y)p(y)​=p(y)p(y∣x)p(x)​=∫p(y∣x)p(x)dx​ 기댓값은 선형이다: E[aX+b]=aE[X]+b\\mathbb E[aX+b]=a\\mathbb E[X]+bE[aX+b]=aE[X]+b, E[X+Y]=E[X]+E[Y]\\mathbb E[X+Y]=\\mathbb E[X]+\\mathbb E[Y]E[X+Y]=E[X]+E[Y] (독립이 아니어도 된다). 분산: V[X]=E[X2]−(E[X])2\\mathbb V[X]=\\mathbb E[X^2]-(\\mathbb E[X])^2V[X]=E[X2]−(E[X])2, V[aX+b]=a2V[X]\\mathbb V[aX+b]=a^2\\mathbb V[X]V[aX+b]=a2V[X]. 유도는 5.1절. 공분산: Cov[X,Y]=E[XY]−E[X]E[Y]\\text{Cov}[X,Y]=\\mathbb E[XY]-\\mathbb E[X]\\mathbb E[Y]Cov[X,Y]=E[XY]−E[X]E[Y], V[X+Y]=V[X]+V[Y]+2 Cov[X,Y]\\mathbb V[X+Y]=\\mathbb V[X]+\\mathbb V[Y]+2\\,\\text{Cov}[X,Y]V[X+Y]=V[X]+V[Y]+2Cov[X,Y]. 독립이면 공분산이 0이다. 거꾸로는 성립하지 않는다(결합 가우시안이면 둘이 같은 말). 벡터: V[x]=E[xx⊤]−μμ⊤\\mathbb V[x]=\\mathbb E[xx^\\top]-\\mu\\mu^\\topV[x]=E[xx⊤]−μμ⊤, V[Ax+b]=AΣA⊤\\mathbb V[Ax+b]=A\\Sigma A^\\topV[Ax+b]=AΣA⊤. 자주 쓰는 분포: 베르누이 Ber(μ)\\text{Ber}(\\mu)Ber(μ): 평균 μ\\muμ, 분산 μ(1−μ)\\mu(1-\\mu)μ(1−μ). 이항 Bin(N,μ)\\text{Bin}(N,\\mu)Bin(N,μ): p(m)=(Nm)μm(1−μ)N−mp(m)=\\binom Nm\\mu^m(1-\\mu)^{N-m}p(m)=(mN​)μm(1−μ)N−m, 평균 NμN\\muNμ, 분산 Nμ(1−μ)N\\mu(1-\\mu)Nμ(1−μ). 베타 Beta(α,β)∝μα−1(1−μ)β−1\\text{Beta}(\\alpha,\\beta)\\propto\\mu^{\\alpha-1}(1-\\mu)^{\\beta-1}Beta(α,β)∝μα−1(1−μ)β−1: 평균 αα+β\\frac{\\alpha}{\\alpha+\\beta}α+βα​, 분산 αβ(α+β)2(α+β+1)\\frac{\\alpha\\beta}{(\\alpha+\\beta)^2(\\alpha+\\beta+1)}(α+β)2(α+β+1)αβ​, 최빈값 α−1α+β−2\\frac{\\alpha-1}{\\alpha+\\beta-2}α+β−2α−1​(α,β\u0026gt;1\\alpha,\\beta\u0026gt;1α,β\u0026gt;1). 균등 U(a,b)\\mathcal U(a,b)U(a,b): 평균 a+b2\\frac{a+b}22a+b​, 분산 (b−a)212\\frac{(b-a)^2}{12}12(b−a)2​. 지수분포(모수 λ\\lambdaλ): p(x)=λe−λxp(x)=\\lambda e^{-\\lambda x}p(x)=λe−λx(x≥0x\\ge0x≥0), 평균 1λ\\frac1\\lambdaλ1​, 분산 1λ2\\frac1{\\lambda^2}λ21​. 가우시안 N(μ,Σ)\\mathcal N(\\mu,\\Sigma)N(μ,Σ)의 밀도: p(x)=exp⁡ ⁣(−12(x−μ)⊤Σ−1(x−μ))(2π)D/2 ∣Σ∣1/2 p(x)=\\frac{\\exp\\!\\big(-\\frac12(x-\\mu)^\\top\\Sigma^{-1}(x-\\mu)\\big)}{(2\\pi)^{D/2}\\,|\\Sigma|^{1/2}} p(x)=(2π)D/2∣Σ∣1/2exp(−21​(x−μ)⊤Σ−1(x−μ))​ 가우시안 주변분포: 해당 블록만 떼어 온다. p(xa)=N(μa,Σaa)p(x_a)=\\mathcal N(\\mu_a,\\Sigma_{aa})p(xa​)=N(μa​,Σaa​). 가우시안 조건부분포 p(xa∣xb)=N(μa∣b,Σa∣b)p(x_a\\mid x_b)=\\mathcal N(\\mu_{a\\mid b},\\Sigma_{a\\mid b})p(xa​∣xb​)=N(μa∣b​,Σa∣b​). 조건부 분산에는 관측값 xbx_bxb​가 없고, 원래 분산 Σaa\\Sigma_{aa}Σaa​보다 작아진다: μa∣b=μa+ΣabΣbb−1(xb−μb)Σa∣b=Σaa−ΣabΣbb−1Σba \\begin{aligned} \\mu_{a\\mid b}\u0026amp;=\\mu_a+\\Sigma_{ab}\\Sigma_{bb}^{-1}(x_b-\\mu_b)\\\\ \\Sigma_{a\\mid b}\u0026amp;=\\Sigma_{aa}-\\Sigma_{ab}\\Sigma_{bb}^{-1}\\Sigma_{ba} \\end{aligned} μa∣b​Σa∣b​​=μa​+Σab​Σbb−1​(xb​−μb​)=Σaa​−Σab​Σbb−1​Σba​​ 가우시안 선형변환: y=Ax+by=Ax+by=Ax+b이면 y∼N(Aμ+b, AΣA⊤)y\\sim\\mathcal N(A\\mu+b,\\ A\\Sigma A^\\top)y∼N(Aμ+b, AΣA⊤). 독립인 두 가우시안의 합은 N(μx+μy, Σx+Σy)\\mathcal N(\\mu_x+\\mu_y,\\ \\Sigma_x+\\Sigma_y)N(μx​+μy​, Σx​+Σy​). 가우시안 밀도의 곱: N(x∣a,A) N(x∣b,B)=c N(x∣c0,C)\\mathcal N(x\\mid a,A)\\,\\mathcal N(x\\mid b,B)=c\\,\\mathcal N(x\\mid c_0,C)N(x∣a,A)N(x∣b,B)=cN(x∣c0​,C), C=(A−1+B−1)−1C=(A^{-1}+B^{-1})^{-1}C=(A−1+B−1)−1, c0=C(A−1a+B−1b)c_0=C(A^{-1}a+B^{-1}b)c0​=C(A−1a+B−1b), c=N(a∣b,A+B)c=\\mathcal N(a\\mid b,A+B)c=N(a∣b,A+B) (6.74~6.76). 정밀도(분산의 역수)가 더해지고 평균은 정밀도로 가중 평균한다. 켤레 사전분포: 베타-이항: 사전 Beta(α,β)\\text{Beta}(\\alpha,\\beta)Beta(α,β), NNN번 중 앞면 hhh번 → 사후 Beta(α+h, β+N−h)\\text{Beta}(\\alpha+h,\\ \\beta+N-h)Beta(α+h, β+N−h). 사전의 α,β\\alpha,\\betaα,β는 \u0026ldquo;미리 본 앞면·뒷면 수\u0026quot;처럼 작동한다. 가우시안 평균(잡음 분산 σ2\\sigma^2σ2를 알 때), 사전 N(μ0,σ02)\\mathcal N(\\mu_0,\\sigma_0^2)N(μ0​,σ02​) → 사후 정밀도 1σN2=1σ02+Nσ2\\frac1{\\sigma_N^2}=\\frac1{\\sigma_0^2}+\\frac N{\\sigma^2}σN2​1​=σ02​1​+σ2N​, 사후 평균 μN=σN2(μ0σ02+1σ2∑nxn)\\mu_N=\\sigma_N^2\\big(\\frac{\\mu_0}{\\sigma_0^2}+\\frac{1}{\\sigma^2}\\sum_nx_n\\big)μN​=σN2​(σ02​μ0​​+σ21​∑n​xn​). 변수 변환(1차원, ggg가 단조): pY(y)=pX(g−1(y))∣ddyg−1(y)∣p_Y(y)=p_X(g^{-1}(y))\\left|\\frac{d}{dy}g^{-1}(y)\\right|pY​(y)=pX​(g−1(y))​dyd​g−1(y)​. 다차원이면 야코비안 행렬식의 절댓값 ∣det⁡J∣|\\det J|∣detJ∣. 단조가 아니면 분포함수 FY(y)=P(g(X)≤y)F_Y(y)=P(g(X)\\le y)FY​(y)=P(g(X)≤y)부터 구해서 미분한다. 지수족: p(x∣θ)=h(x)exp⁡(θ⊤ϕ(x)−A(θ))p(x\\mid\\theta)=h(x)\\exp\\big(\\theta^\\top\\phi(x)-A(\\theta)\\big)p(x∣θ)=h(x)exp(θ⊤ϕ(x)−A(θ)). 베르누이는 θ=log⁡μ1−μ\\theta=\\log\\frac{\\mu}{1-\\mu}θ=log1−μμ​, ϕ(x)=x\\phi(x)=xϕ(x)=x, A(θ)=log⁡(1+eθ)A(\\theta)=\\log(1+e^\\theta)A(θ)=log(1+eθ). 연속 확률변수에서 한 점의 확률은 0이고, 밀도 값은 1보다 클 수 있다. 7장 연속 최적화 경사하강법: xt+1=xt−γ (∇f(xt))⊤x_{t+1}=x_t-\\gamma\\,(\\nabla f(x_t))^\\topxt+1​=xt​−γ(∇f(xt​))⊤. 2차 함수 12x⊤Ax−b⊤x\\frac12x^\\top Ax-b^\\top x21​x⊤Ax−b⊤x에서는 오차가 고유벡터 방향마다 매번 (1−γλi)(1-\\gamma\\lambda_i)(1−γλi​)배가 되므로 0\u0026lt;γ\u0026lt;2λmax⁡0\u0026lt;\\gamma\u0026lt;\\frac2{\\lambda_{\\max}}0\u0026lt;γ\u0026lt;λmax​2​일 때 수렴한다(교재 밖 보충). 모멘텀(7.11~7.12): xt+1=xt−γ(∇f(xt))⊤+α Δxtx_{t+1}=x_t-\\gamma(\\nabla f(x_t))^\\top+\\alpha\\,\\Delta x_txt+1​=xt​−γ(∇f(xt​))⊤+αΔxt​, Δxt=xt−xt−1\\Delta x_t=x_t-x_{t-1}Δxt​=xt​−xt−1​. 진동하는 방향은 상쇄되고 일정한 방향은 빨라진다. 확률적 경사하강법: 데이터 일부(미니배치)의 기울기로 갱신한다. 그 기댓값이 전체 기울기에 비례해 평균적으로 맞는 방향이고, 계산이 싸다. 제약 문제 min⁡f(x)\\min f(x)minf(x), 조건 gi(x)≤0g_i(x)\\le0gi​(x)≤0: 라그랑지안 L(x,λ)=f(x)+∑iλigi(x)\\mathfrak L(x,\\lambda)=f(x)+\\sum_i\\lambda_ig_i(x)L(x,λ)=f(x)+∑i​λi​gi​(x), λi≥0\\lambda_i\\ge0λi​≥0. g≥0g\\ge0g≥0 꼴로 주어지면 부호를 바꿔 ≤0\\le0≤0 꼴로 넣는다. 등식 조건의 승수는 부호 제한이 없다. 쌍대 함수 D(λ)=min⁡xL(x,λ)\\mathfrak D(\\lambda)=\\min_x\\mathfrak L(x,\\lambda)D(λ)=minx​L(x,λ)는 원래 문제와 상관없이 언제나 오목이다. 쌍대 문제는 max⁡λ≥0D(λ)\\max_{\\lambda\\ge0}\\mathfrak D(\\lambda)maxλ≥0​D(λ). 약쌍대성 d∗≤p∗d^*\\le p^*d∗≤p∗는 언제나, 강쌍대성 d∗=p∗d^*=p^*d∗=p∗는 볼록 문제에서 성립한다(7.3절). 증명은 5.7절. 손으로 푸는 순서: (1) L\\mathfrak LL을 쓴다 → (2) xxx로 미분해 0으로 놓고 x(λ)x(\\lambda)x(λ)를 구한다 → (3) 대입해 D(λ)\\mathfrak D(\\lambda)D(λ) → (4) λ≥0\\lambda\\ge0λ≥0에서 최대화 → (5) x(λ∗)x(\\lambda^*)x(λ∗)로 원래 해를 복원하고 p∗=d∗p^*=d^*p∗=d∗인지 본다. KKT 조건(교재 밖 보충, 교재는 12장 여백에서 이름만 언급): (1) ∇xL=0\\nabla_x\\mathfrak L=0∇x​L=0, (2) gi≤0g_i\\le0gi​≤0, (3) λi≥0\\lambda_i\\ge0λi​≥0, (4) λigi=0\\lambda_ig_i=0λi​gi​=0. (4)에서: gi\u0026lt;0g_i\u0026lt;0gi​\u0026lt;0(느슨한 조건)이면 λi=0\\lambda_i=0λi​=0. λi\u0026gt;0\\lambda_i\u0026gt;0λi​\u0026gt;0이면 gi=0g_i=0gi​=0(꽉 낀 조건). gi=0g_i=0gi​=0이면서 λi=0\\lambda_i=0λi​=0일 수도 있다. 제약 없는 최소점이 조건을 어기면 그 조건은 꽉 낀다(g=0g=0g=0)고 놓고 푼다. 볼록 함수: 정의: f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)f(\\theta x+(1-\\theta)y)\\le\\theta f(x)+(1-\\theta)f(y)f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y), 0≤θ≤10\\le\\theta\\le10≤θ≤1. 미분 가능하면 f(y)≥f(x)+∇f(x)(y−x)f(y)\\ge f(x)+\\nabla f(x)(y-x)f(y)≥f(x)+∇f(x)(y−x) (접선이 그래프 아래). 두 번 미분 가능하면 헤시안이 준정부호(1차원이면 f′′≥0f\u0026#x27;\u0026#x27;\\ge0f′′≥0). 볼록을 지키는 연산: 음이 아닌 가중합, 점별 최댓값, 아핀 합성 f(Ax+b)f(Ax+b)f(Ax+b). 자주 쓰는 볼록 함수: x2x^2x2, exe^xex, −log⁡x-\\log x−logx와 xlog⁡xx\\log xxlogx(x\u0026gt;0x\u0026gt;0x\u0026gt;0), 노름 ∥x∥\\|x\\|∥x∥, 힌지 max⁡{0,1−t}\\max\\{0,1-t\\}max{0,1−t}. 볼록 함수를 볼록 집합에서 최소화하면 국소 최소 = 전역 최소. 젠센 부등식 f(E[X])≤E[f(X)]f(\\mathbb E[X])\\le\\mathbb E[f(X)]f(E[X])≤E[f(X)] (7.30~7.31). 선형계획의 쌍대(예제 7.5): min⁡xc⊤x\\min_xc^\\top xminx​c⊤x, 조건 Ax≤bAx\\le bAx≤b → max⁡λ−b⊤λ\\max_\\lambda-b^\\top\\lambdamaxλ​−b⊤λ, 조건 c+A⊤λ=0c+A^\\top\\lambda=0c+A⊤λ=0, λ≥0\\lambda\\ge0λ≥0. 2차 계획의 쌍대(QQQ 양의 정부호): min⁡12x⊤Qx+c⊤x\\min\\frac12x^\\top Qx+c^\\top xmin21​x⊤Qx+c⊤x, 조건 Ax≤bAx\\le bAx≤b → max⁡λ≥0 −12(c+A⊤λ)⊤Q−1(c+A⊤λ)−λ⊤b \\begin{aligned} \\max_{\\lambda\\ge0}\\ \u0026amp;-\\tfrac12(c+A^\\top\\lambda)^\\top Q^{-1}(c+A^\\top\\lambda)\\\\ \u0026amp;-\\lambda^\\top b \\end{aligned} λ≥0max​ ​−21​(c+A⊤λ)⊤Q−1(c+A⊤λ)−λ⊤b​ 볼록 켤레(정의 7.4): f∗(s)=sup⁡x(s⊤x−f(x))f^*(s)=\\sup_x\\big(s^\\top x-f(x)\\big)f∗(s)=supx​(s⊤x−f(x)). 예: f(x)=12x2f(x)=\\frac12x^2f(x)=21​x2이면 f∗(s)=12s2f^*(s)=\\frac12s^2f∗(s)=21​s2. 4. 기초 AI 공식 (Part 2, 8~12장) 8장 모델과 데이터 경험적 위험 Remp=1N∑nℓ(yn,f(xn,θ))R_{\\text{emp}}=\\frac1N\\sum_n\\ell(y_n,f(x_n,\\theta))Remp​=N1​∑n​ℓ(yn​,f(xn​,θ)). 진짜 목표인 처음 보는 데이터의 기대 위험을 대신하는 값이고, 훈련 데이터로 쟀으므로 낙관적이다. 과적합을 막는 법: 정규화(+λ∥θ∥2+\\lambda\\|\\theta\\|^2+λ∥θ∥2), KKK겹 교차검증(데이터를 KKK묶음으로 나눠 한 묶음씩 돌아가며 검증), 중첩 교차검증(모델 선택과 성능 평가에 서로 다른 조각을 씀). 매개변수 θ\\thetaθ는 학습으로 정하고, 초매개변수(λ\\lambdaλ, 다항식 차수, KKK 등)는 사람이 정하거나 교차검증으로 고른다. MLE: 음의 로그가능도 −∑nlog⁡p(yn∣xn,θ)-\\sum_n\\log p(y_n\\mid x_n,\\theta)−∑n​logp(yn​∣xn​,θ)를 최소화. 가우시안 잡음이면 최소제곱과 같다. MAP: 위 식에 −log⁡p(θ)-\\log p(\\theta)−logp(θ)를 더해 최소화. 가우시안 사전 N(0,b2I)\\mathcal N(0,b^2I)N(0,b2I)이면 L2 정규화이고 λ=σ2/b2\\lambda=\\sigma^2/b^2λ=σ2/b2. 라플라스 사전이면 L1 정규화(교재 밖). MAP도 점추정이다. 베이즈 추론은 사후분포 전체를 쓰고, 예측을 ∫p(y∗∣x∗,θ) p(θ∣D) dθ\\int p(y_*\\mid x_*,\\theta)\\,p(\\theta\\mid\\mathcal D)\\,d\\theta∫p(y∗​∣x∗​,θ)p(θ∣D)dθ로 한다. 잠재변수 모델: p(x∣θ)=∫p(x∣z,θ) p(z) dzp(x\\mid\\theta)=\\int p(x\\mid z,\\theta)\\,p(z)\\,dzp(x∣θ)=∫p(x∣z,θ)p(z)dz (10장 PPCA, 11장 GMM). 방향 그래프 모델의 인수분해: p(x1,…,xK)=∏kp(xk∣Pak)p(x_1,\\dots,x_K)=\\prod_kp(x_k\\mid\\text{Pa}_k)p(x1​,…,xK​)=∏k​p(xk​∣Pak​) (부모 노드에 대한 조건부의 곱). d-분리 세 모양: 사슬 a→b→ca\\to b\\to ca→b→c와 갈래 a←b→ca\\leftarrow b\\to ca←b→c: bbb를 모르면 열림, bbb를 알면 막힘. 충돌 a→b←ca\\to b\\leftarrow ca→b←c: bbb와 그 자손을 모두 모르면 막힘, bbb나 그 자손 하나라도 알면 열림. 도둑(aaa)과 지진(ccc)은 서로 무관하지만, 경보(bbb)가 울린 것을 알면 지진 소식이 도둑일 가능성을 낮춘다(설명해 버리기). AAA에서 BBB로 가는 모든 경로가 막혀야 A⊥B∣CA\\perp B\\mid CA⊥B∣C다. 모델 선택: 증거(주변가능도) p(D∣M)=∫p(D∣θ,M) p(θ∣M) dθp(\\mathcal D\\mid M)=\\int p(\\mathcal D\\mid\\theta,M)\\,p(\\theta\\mid M)\\,d\\thetap(D∣M)=∫p(D∣θ,M)p(θ∣M)dθ가 큰 모델. 두 모델의 증거 비가 베이즈 인자. 정보 기준(8.48~8.49, 클수록 좋다): AIC =log⁡p(x∣θ)−M=\\log p(x\\mid\\theta)-M=logp(x∣θ)−M, BIC =log⁡p(x∣θ)−12Mlog⁡N=\\log p(x\\mid\\theta)-\\frac12M\\log N=logp(x∣θ)−21​MlogN. MMM은 매개변수 수, NNN은 데이터 수. N≥8N\\ge8N≥8이면 BIC의 벌점이 더 크다. 9장 선형 회귀 모델 y=Φθ+ϵy=\\Phi\\theta+\\epsilony=Φθ+ϵ, ϵ∼N(0,σ2I)\\epsilon\\sim\\mathcal N(0,\\sigma^2I)ϵ∼N(0,σ2I). 설계 행렬 Φ\\PhiΦ는 N×KN\\times KN×K이고 nnn번째 행이 ϕ(xn)⊤\\phi(x_n)^\\topϕ(xn​)⊤. θ\\thetaθ에 대해 일차라서 \u0026ldquo;선형\u0026quot;이다(xxx에 대해서는 곡선이어도 된다). MLE(9.19): 정규방정식 Φ⊤Φθ=Φ⊤y\\Phi^\\top\\Phi\\theta=\\Phi^\\top yΦ⊤Φθ=Φ⊤y → θML=(Φ⊤Φ)−1Φ⊤y\\theta_{\\text{ML}}=(\\Phi^\\top\\Phi)^{-1}\\Phi^\\top yθML​=(Φ⊤Φ)−1Φ⊤y. 잡음 분산(9.22): σML2=1N∥y−ΦθML∥2\\sigma^2_{\\text{ML}}=\\frac1N\\|y-\\Phi\\theta_{\\text{ML}}\\|^2σML2​=N1​∥y−ΦθML​∥2. 기하학적 뜻: y^=ΦθML\\hat y=\\Phi\\theta_{\\text{ML}}y^​=ΦθML​은 yyy를 Φ\\PhiΦ의 열공간에 직교 사영한 점이다. 잔차는 모든 열과 직교한다: Φ⊤(y−y^)=0\\Phi^\\top(y-\\hat y)=0Φ⊤(y−y^​)=0. MAP(9.31, 사전 N(0,b2I)\\mathcal N(0,b^2I)N(0,b2I)): θMAP=(Φ⊤Φ+σ2b2I)−1Φ⊤y\\theta_{\\text{MAP}}=\\big(\\Phi^\\top\\Phi+\\frac{\\sigma^2}{b^2}I\\big)^{-1}\\Phi^\\top yθMAP​=(Φ⊤Φ+b2σ2​I)−1Φ⊤y. 이 역행렬은 언제나 있다. 베이즈 선형회귀(9.43, 사전 N(m0,S0)\\mathcal N(m_0,S_0)N(m0​,S0​)): SN=(S0−1+σ−2Φ⊤Φ)−1mN=SN(S0−1m0+σ−2Φ⊤y) \\begin{aligned} S_N\u0026amp;=(S_0^{-1}+\\sigma^{-2}\\Phi^\\top\\Phi)^{-1}\\\\ m_N\u0026amp;=S_N(S_0^{-1}m_0+\\sigma^{-2}\\Phi^\\top y) \\end{aligned} SN​mN​​=(S0−1​+σ−2Φ⊤Φ)−1=SN​(S0−1​m0​+σ−2Φ⊤y)​ 예측분포(9.57): p(y∗∣x∗,D)=N(ϕ∗⊤mN, ϕ∗⊤SNϕ∗+σ2)p(y_*\\mid x_*,\\mathcal D)=\\mathcal N\\big(\\phi_*^\\top m_N,\\ \\phi_*^\\top S_N\\phi_*+\\sigma^2\\big)p(y∗​∣x∗​,D)=N(ϕ∗⊤​mN​, ϕ∗⊤​SN​ϕ∗​+σ2). 앞 항은 매개변수를 모르는 데서 오는 불확실성(데이터가 없는 곳에서 커짐), σ2\\sigma^2σ2은 줄일 수 없는 잡음. 주변가능도: p(y∣X)=N(y∣Φm0, ΦS0Φ⊤+σ2I)p(y\\mid X)=\\mathcal N\\big(y\\mid\\Phi m_0,\\ \\Phi S_0\\Phi^\\top+\\sigma^2I\\big)p(y∣X)=N(y∣Φm0​, ΦS0​Φ⊤+σ2I). m0=0m_0=0m0​=0, S0=b2IS_0=b^2IS0​=b2I이면 mN=θMAPm_N=\\theta_{\\text{MAP}}mN​=θMAP​ (가우시안은 평균이 최빈값). 크기: Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ는 K×KK\\times KK×K, 사영 행렬 Φ(Φ⊤Φ)−1Φ⊤\\Phi(\\Phi^\\top\\Phi)^{-1}\\Phi^\\topΦ(Φ⊤Φ)−1Φ⊤은 N×NN\\times NN×N이고 대각합이 KKK. 데이터 수가 특징 수보다 적으면(N\u0026lt;KN\u0026lt;KN\u0026lt;K) Φ⊤Φ\\Phi^\\top\\PhiΦ⊤Φ의 역행렬이 없어 MLE가 하나로 정해지지 않는다. MAP는 풀린다. 차수를 올리면 훈련 오차는 계속 줄지만 시험 오차는 어느 순간부터 커진다(과적합). 10장 PCA 평균부터 뺀다. X=[x1,…,xN]X=[x_1,\\dots,x_N]X=[x1​,…,xN​](D×ND\\times ND×N), 공분산 S=1NXX⊤S=\\frac1NXX^\\topS=N1​XX⊤(D×DD\\times DD×D, 대칭 준정부호). 주성분 방향: Sb=λbSb=\\lambda bSb=λb, ∥b∥=1\\|b\\|=1∥b∥=1. 그 방향 좌표의 분산이 λ\\lambdaλ이므로 고유값이 큰 순서로 MMM개를 고른다. 좌표(인코딩) zn=B⊤(xn−μ)z_n=B^\\top(x_n-\\mu)zn​=B⊤(xn​−μ)는 수 MMM개, 복원 x~n=μ+BB⊤(xn−μ)\\tilde x_n=\\mu+BB^\\top(x_n-\\mu)x~n​=μ+BB⊤(xn​−μ)는 DDD차원 점. 복원할 때 평균을 다시 더한다. 남긴 분산 ∑m≤Mλm\\sum_{m\\le M}\\lambda_m∑m≤M​λm​, 재구성 오차(10.44) JM=1N∑n∥xn−x~n∥2=∑j\u0026gt;MλjJ_M=\\frac1N\\sum_n\\|x_n-\\tilde x_n\\|^2=\\sum_{j\u0026gt;M}\\lambda_jJM​=N1​∑n​∥xn​−x~n​∥2=∑j\u0026gt;M​λj​ (버린 고유값의 합). 설명된 분산 비율은 ∑m≤Mλm/tr S\\sum_{m\\le M}\\lambda_m/\\text{tr}\\,S∑m≤M​λm​/trS. SVD와의 관계: X=UΣV⊤X=U\\Sigma V^\\topX=UΣV⊤이면 주성분 = UUU의 열, λd=σd2/N\\lambda_d=\\sigma_d^2/Nλd​=σd2​/N. 상위 MMM개로 복원한 UMΣMVM⊤U_M\\Sigma_MV_M^\\topUM​ΣM​VM⊤​은 에카르트-영 정리로 계수 MMM 이하 행렬 중 XXX에 가장 가깝다. N\u0026lt;DN\u0026lt;DN\u0026lt;D일 때(10.5절): N×NN\\times NN×N 문제 1NX⊤Xc=λc\\frac1NX^\\top Xc=\\lambda cN1​X⊤Xc=λc를 푼다. XcXcXc가 SSS의 같은 고유값의 고유벡터이고, ∥c∥=1\\|c\\|=1∥c∥=1이면 ∥Xc∥2=Nλ\\|Xc\\|^2=N\\lambda∥Xc∥2=Nλ라서 b=XcNλb=\\frac{Xc}{\\sqrt{N\\lambda}}b=Nλ​Xc​. PPCA: z∼N(0,I)z\\sim\\mathcal N(0,I)z∼N(0,I), x=Bz+μ+ϵx=Bz+\\mu+\\epsilonx=Bz+μ+ϵ, ϵ∼N(0,σ2I)\\epsilon\\sim\\mathcal N(0,\\sigma^2I)ϵ∼N(0,σ2I). 주변분포(10.70): p(x)=N(μ, BB⊤+σ2I)p(x)=\\mathcal N(\\mu,\\ BB^\\top+\\sigma^2I)p(x)=N(μ, BB⊤+σ2I). 사후분포 p(z∣x)=N(m,C)p(z\\mid x)=\\mathcal N(m,C)p(z∣x)=N(m,C): m=B⊤(BB⊤+σ2I)−1(x−μ)m=B^\\top(BB^\\top+\\sigma^2I)^{-1}(x-\\mu)m=B⊤(BB⊤+σ2I)−1(x−μ), C=I−B⊤(BB⊤+σ2I)−1BC=I-B^\\top(BB^\\top+\\sigma^2I)^{-1}BC=I−B⊤(BB⊤+σ2I)−1B. 잡음의 최대가능도(10.79): σML2=1D−M∑j\u0026gt;Mλj\\sigma^2_{\\text{ML}}=\\frac1{D-M}\\sum_{j\u0026gt;M}\\lambda_jσML2​=D−M1​∑j\u0026gt;M​λj​ (버린 방향의 평균 분산). 특징마다 단위가 다르면 표준화(각 특징을 표준편차로 나눔)부터 한다. 11장 GMM과 EM 모델 p(x)=∑kπkN(x∣μk,Σk)p(x)=\\sum_k\\pi_k\\mathcal N(x\\mid\\mu_k,\\Sigma_k)p(x)=∑k​πk​N(x∣μk​,Σk​), πk≥0\\pi_k\\ge0πk​≥0, ∑kπk=1\\sum_k\\pi_k=1∑k​πk​=1. 로그가능도 ∑nlog⁡∑kπkN(xn∣μk,Σk)\\sum_n\\log\\sum_k\\pi_k\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)∑n​log∑k​πk​N(xn​∣μk​,Σk​)는 로그 안에 합이 있어 닫힌 해가 없다. 책임도(11.17): rnk=πkN(xn∣μk,Σk)∑jπjN(xn∣μj,Σj)r_{nk}=\\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)}rnk​=∑j​πj​N(xn​∣μj​,Σj​)πk​N(xn​∣μk​,Σk​)​. 점 xnx_nxn​이 성분 kkk에서 나왔을 사후확률이고, 점마다 ∑krnk=1\\sum_kr_{nk}=1∑k​rnk​=1. Nk=∑nrnkN_k=\\sum_nr_{nk}Nk​=∑n​rnk​(성분 kkk의 유효 데이터 수), ∑kNk=N\\sum_kN_k=N∑k​Nk​=N. M 단계 갱신(정리 11.1~11.3): μk=1Nk∑nrnkxn\\mu_k=\\frac1{N_k}\\sum_nr_{nk}x_nμk​=Nk​1​∑n​rnk​xn​ Σk=1Nk∑nrnk(xn−μk)(xn−μk)⊤\\Sigma_k=\\frac1{N_k}\\sum_nr_{nk}(x_n-\\mu_k)(x_n-\\mu_k)^\\topΣk​=Nk​1​∑n​rnk​(xn​−μk​)(xn​−μk​)⊤ (새 μk\\mu_kμk​를 쓴다) πk=NkN\\pi_k=\\frac{N_k}{N}πk​=NNk​​ EM: 초기값 → E 단계(rnkr_{nk}rnk​ 계산) → M 단계(μ→Σ→π\\mu\\to\\Sigma\\to\\piμ→Σ→π) → 로그가능도가 거의 안 변할 때까지 반복. 매 반복 로그가능도가 줄지 않지만 국소 최댓값에서 멈출 수 있어 초기값에 따라 결과가 다르다. 잠재변수 관점: 원-핫 zzz로 p(zk=1)=πkp(z_k=1)=\\pi_kp(zk​=1)=πk​, p(x∣zk=1)=N(x∣μk,Σk)p(x\\mid z_k=1)=\\mathcal N(x\\mid\\mu_k,\\Sigma_k)p(x∣zk​=1)=N(x∣μk​,Σk​). 합 규칙이 GMM, 베이즈 정리가 책임도다. 한 성분이 점 하나에 붙어 분산이 0으로 가면 가능도가 무한대가 된다. 공분산을 모두 σ2I\\sigma^2Iσ2I로 두고 σ→0\\sigma\\to0σ→0이면 가장 가까운 평균에 딱 잘라 배정하는 K-평균이 된다. 12장 SVM 정답 yn∈{+1,−1}y_n\\in\\{+1,-1\\}yn​∈{+1,−1}, 초평면 ⟨w,x⟩+b=0\\langle w,x\\rangle+b=0⟨w,x⟩+b=0, 예측은 f(x)=⟨w,x⟩+bf(x)=\\langle w,x\\rangle+bf(x)=⟨w,x⟩+b의 부호. www는 초평면에 수직이다. 점과 초평면 사이의 (부호 있는) 거리: ⟨w,x⟩+b∥w∥\\frac{\\langle w,x\\rangle+b}{\\|w\\|}∥w∥⟨w,x⟩+b​. 하드 마진(12.18): 가장 가까운 점에서 ynf(xn)=1y_nf(x_n)=1yn​f(xn​)=1이 되게 크기를 맞추면 마진은 1∥w∥\\frac1{\\|w\\|}∥w∥1​. min⁡w,b 12∥w∥2s.t.yn(⟨w,xn⟩+b)≥1 \\min_{w,b}\\ \\tfrac12\\|w\\|^2\\quad\\text{s.t.}\\quad y_n(\\langle w,x_n\\rangle+b)\\ge1 w,bmin​ 21​∥w∥2s.t.yn​(⟨w,xn​⟩+b)≥1 소프트 마진(12.26a): 여유 변수 ξn≥0\\xi_n\\ge0ξn​≥0로 조건을 ynf(xn)≥1−ξny_nf(x_n)\\ge1-\\xi_nyn​f(xn​)≥1−ξn​으로 풀고 12∥w∥2+C∑nξn\\frac12\\|w\\|^2+C\\sum_n\\xi_n21​∥w∥2+C∑n​ξn​을 최소화. CCC가 크면 틀리는 점을 강하게 막아 마진이 좁아진다. 힌지 손실(12.31): ξn=max⁡{0, 1−ynf(xn)}\\xi_n=\\max\\{0,\\ 1-y_nf(x_n)\\}ξn​=max{0, 1−yn​f(xn​)}을 넣으면 제약 없는 문제가 된다. t=yf(x)t=yf(x)t=yf(x)에 대해 t≥1t\\ge1t≥1이면 0, t=0.5t=0.5t=0.5면 0.5, t=−1t=-1t=−1이면 2. 쌍대에서 쓰는 세 식: w=∑nαnynxnw=\\sum_n\\alpha_ny_nx_nw=∑n​αn​yn​xn​(12.38), ∑nαnyn=0\\sum_n\\alpha_ny_n=0∑n​αn​yn​=0, 0≤αn≤C0\\le\\alpha_n\\le C0≤αn​≤C (하드 마진이면 위 제한이 없다). 쌍대 문제(12.41, 최소화 꼴), 조건은 ∑iyiαi=0\\sum_iy_i\\alpha_i=0∑i​yi​αi​=0, 0≤αi≤C0\\le\\alpha_i\\le C0≤αi​≤C: min⁡α 12∑i,jyiyjαiαj⟨xi,xj⟩−∑iαi \\begin{aligned} \\min_\\alpha\\ \u0026amp;\\tfrac12\\textstyle\\sum_{i,j}y_iy_j\\alpha_i\\alpha_j\\langle x_i,x_j\\rangle\\\\ \u0026amp;-\\textstyle\\sum_i\\alpha_i \\end{aligned} αmin​ ​21​∑i,j​yi​yj​αi​αj​⟨xi​,xj​⟩−∑i​αi​​ αn\\alpha_nαn​으로 점 읽기(KKT): αn=0\\alpha_n=0αn​=0 ⇒ ynf(xn)≥1y_nf(x_n)\\ge1yn​f(xn​)≥1 (마진 밖 또는 경계 위, www에 기여하지 않음) 0\u0026lt;αn\u0026lt;C0\u0026lt;\\alpha_n\u0026lt;C0\u0026lt;αn​\u0026lt;C ⇒ ynf(xn)=1y_nf(x_n)=1yn​f(xn​)=1 (정확히 경계 위). 이 점에서 b=yn−⟨w,xn⟩b=y_n-\\langle w,x_n\\rangleb=yn​−⟨w,xn​⟩. αn=C\\alpha_n=Cαn​=C ⇒ ynf(xn)≤1y_nf(x_n)\\le1yn​f(xn​)≤1 (대개 마진 안쪽이거나 틀린 점) αn\u0026gt;0\\alpha_n\u0026gt;0αn​\u0026gt;0인 점이 서포트 벡터다. 경계 위의 점이라도 αn=0\\alpha_n=0αn​=0일 수 있다. 커널: 쌍대에는 내적만 들어가므로 ⟨xi,xj⟩\\langle x_i,x_j\\rangle⟨xi​,xj​⟩를 k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩k(x_i,x_j)=\\langle\\phi(x_i),\\phi(x_j)\\ranglek(xi​,xj​)=⟨ϕ(xi​),ϕ(xj​)⟩로 바꾼다. 예: 2차원에서 (x⊤y)2(x^\\top y)^2(x⊤y)2는 ϕ(x)=[x12, 2x1x2, x22]\\phi(x)=[x_1^2,\\ \\sqrt2x_1x_2,\\ x_2^2]ϕ(x)=[x12​, 2​x1​x2​, x22​]의 내적. RBF k(x,y)=exp⁡(−∥x−y∥22ℓ2)k(x,y)=\\exp\\big(-\\frac{\\|x-y\\|^2}{2\\ell^2}\\big)k(x,y)=exp(−2ℓ2∥x−y∥2​). 유효한 커널: 대칭이고, 어떤 데이터에서도 그람 행렬 Kij=k(xi,xj)K_{ij}=k(x_i,x_j)Kij​=k(xi​,xj​)가 준정부호. 예측 f(x)=∑nαnynk(xn,x)+bf(x)=\\sum_n\\alpha_ny_nk(x_n,x)+bf(x)=∑n​αn​yn​k(xn​,x)+b (서포트 벡터만 더하면 된다). SVM은 확률이나 불확실성을 내지 않는다. 5. 증명·유도 뼈대 답안에 이 순서 그대로 쓰면 된다. 단계별 설명이 더 필요하면 해당 장을 다시 본다.\n5.1 분산 공식 μ=E[X]\\mu=\\mathbb E[X]μ=E[X]는 상수이므로 기댓값의 선형성으로\nV[X]=E[(X−μ)2]=E[X2]−2μ E[X]+μ2=E[X2]−μ2 \\begin{aligned} \\mathbb V[X]\u0026amp;=\\mathbb E[(X-\\mu)^2]\\\\ \u0026amp;=\\mathbb E[X^2]-2\\mu\\,\\mathbb E[X]+\\mu^2\\\\ \u0026amp;=\\mathbb E[X^2]-\\mu^2 \\end{aligned} V[X]​=E[(X−μ)2]=E[X2]−2μE[X]+μ2=E[X2]−μ2​ 따름 결과: V[X]≥0\\mathbb V[X]\\ge0V[X]≥0이라 E[X2]≥(E[X])2\\mathbb E[X^2]\\ge(\\mathbb E[X])^2E[X2]≥(E[X])2. 벡터판도 같은 전개다: V[x]=E[xx⊤]−μμ⊤\\mathbb V[x]=\\mathbb E[xx^\\top]-\\mu\\mu^\\topV[x]=E[xx⊤]−μμ⊤. 선형변환: y=Ax+by=Ax+by=Ax+b이면 y−E[y]=A(x−μ)y-\\mathbb E[y]=A(x-\\mu)y−E[y]=A(x−μ)이고, AAA는 상수라 기댓값 밖으로 나오므로 V[y]=A E[(x−μ)(x−μ)⊤]A⊤=AΣA⊤\\mathbb V[y]=A\\,\\mathbb E[(x-\\mu)(x-\\mu)^\\top]A^\\top=A\\Sigma A^\\topV[y]=AE[(x−μ)(x−μ)⊤]A⊤=AΣA⊤. 독립이면 분산이 더해진다: 교차항 E[(X−μX)(Y−μY)]=E[X−μX] E[Y−μY]=0\\mathbb E[(X-\\mu_X)(Y-\\mu_Y)]=\\mathbb E[X-\\mu_X]\\,\\mathbb E[Y-\\mu_Y]=0E[(X−μX​)(Y−μY​)]=E[X−μX​]E[Y−μY​]=0. 5.2 이항분포의 평균과 분산 X=∑i=1NBiX=\\sum_{i=1}^NB_iX=∑i=1N​Bi​, Bi∼Ber(μ)B_i\\sim\\text{Ber}(\\mu)Bi​∼Ber(μ)는 서로 독립이라고 쓴다.\nE[Bi]=1⋅μ+0⋅(1−μ)=μ\\mathbb E[B_i]=1\\cdot\\mu+0\\cdot(1-\\mu)=\\muE[Bi​]=1⋅μ+0⋅(1−μ)=μ. BiB_iBi​는 0 또는 1이라 Bi2=BiB_i^2=B_iBi2​=Bi​, 그래서 E[Bi2]=μ\\mathbb E[B_i^2]=\\muE[Bi2​]=μ이고 V[Bi]=μ−μ2=μ(1−μ)\\mathbb V[B_i]=\\mu-\\mu^2=\\mu(1-\\mu)V[Bi​]=μ−μ2=μ(1−μ) (5.1절 공식). 기댓값의 선형성으로 E[X]=Nμ\\mathbb E[X]=N\\muE[X]=Nμ. 독립이라 분산이 더해지므로 V[X]=Nμ(1−μ)\\mathbb V[X]=N\\mu(1-\\mu)V[X]=Nμ(1−μ). ∎ 5.3 대칭행렬: 고유값은 실수, 고유벡터는 직교 (a) 고유값이 실수다. Ax=λxAx=\\lambda xAx=λx, x≠0x\\ne0x=0 (λ\\lambdaλ, xxx가 복소수일 수도 있다고 둔다). xˉ\\bar xxˉ는 각 성분의 켤레복소수다.\n왼쪽에 xˉ⊤\\bar x^\\topxˉ⊤을 곱하면 xˉ⊤Ax=λ xˉ⊤x\\bar x^\\top Ax=\\lambda\\,\\bar x^\\top xxˉ⊤Ax=λxˉ⊤x. 여기서 xˉ⊤x=∑i∣xi∣2\u0026gt;0\\bar x^\\top x=\\sum_i|x_i|^2\u0026gt;0xˉ⊤x=∑i​∣xi​∣2\u0026gt;0은 실수다. s=xˉ⊤Axs=\\bar x^\\top Axs=xˉ⊤Ax라 하면 AAA가 실수 행렬이라 sˉ=x⊤Axˉ\\bar s=x^\\top A\\bar xsˉ=x⊤Axˉ. 1×11\\times11×1은 전치해도 같으므로 sˉ=(x⊤Axˉ)⊤=xˉ⊤A⊤x=xˉ⊤Ax=s\\bar s=(x^\\top A\\bar x)^\\top=\\bar x^\\top A^\\top x=\\bar x^\\top Ax=ssˉ=(x⊤Axˉ)⊤=xˉ⊤A⊤x=xˉ⊤Ax=s (A⊤=AA^\\top=AA⊤=A). sss가 실수이므로 λ=s/(xˉ⊤x)\\lambda=s/(\\bar x^\\top x)λ=s/(xˉ⊤x)도 실수다. ∎ (b) 서로 다른 고유값의 고유벡터는 직교한다. Ax=λ1xAx=\\lambda_1xAx=λ1​x, Ay=λ2yAy=\\lambda_2yAy=λ2​y, λ1≠λ2\\lambda_1\\ne\\lambda_2λ1​=λ2​.\nλ1x⊤y=(Ax)⊤y=x⊤A⊤y=x⊤Ay=λ2x⊤y \\begin{aligned} \\lambda_1x^\\top y\u0026amp;=(Ax)^\\top y=x^\\top A^\\top y\\\\ \u0026amp;=x^\\top Ay=\\lambda_2x^\\top y \\end{aligned} λ1​x⊤y​=(Ax)⊤y=x⊤A⊤y=x⊤Ay=λ2​x⊤y​따라서 (λ1−λ2) x⊤y=0(\\lambda_1-\\lambda_2)\\,x^\\top y=0(λ1​−λ2​)x⊤y=0이고 λ1≠λ2\\lambda_1\\ne\\lambda_2λ1​=λ2​이므로 x⊤y=0x^\\top y=0x⊤y=0. ∎\n5.4 직교행렬과 회전행렬 직교행렬 Q⊤Q=IQ^\\top Q=IQ⊤Q=I:\n길이 보존: ∥Qx∥2=x⊤Q⊤Qx=x⊤x=∥x∥2\\|Qx\\|^2=x^\\top Q^\\top Qx=x^\\top x=\\|x\\|^2∥Qx∥2=x⊤Q⊤Qx=x⊤x=∥x∥2. 내적 보존 ⟨Qx,Qy⟩=⟨x,y⟩\\langle Qx,Qy\\rangle=\\langle x,y\\rangle⟨Qx,Qy⟩=⟨x,y⟩이라 각도도 보존된다. det⁡(Q)2=det⁡(Q⊤)det⁡(Q)=det⁡(Q⊤Q)=1\\det(Q)^2=\\det(Q^\\top)\\det(Q)=\\det(Q^\\top Q)=1det(Q)2=det(Q⊤)det(Q)=det(Q⊤Q)=1이라 det⁡Q=±1\\det Q=\\pm1detQ=±1. Qx=λxQx=\\lambda xQx=λx이면 ∥x∥=∥Qx∥=∣λ∣ ∥x∥\\|x\\|=\\|Qx\\|=|\\lambda|\\,\\|x\\|∥x∥=∥Qx∥=∣λ∣∥x∥라 ∣λ∣=1|\\lambda|=1∣λ∣=1. 회전행렬 R(θ)R(\\theta)R(θ), c=cos⁡θc=\\cos\\thetac=cosθ, s=sin⁡θs=\\sin\\thetas=sinθ:\nR⊤R=[cs−sc][c−ssc]=[c2+s2−cs+sc−sc+css2+c2]=I \\begin{aligned} R^\\top R\u0026amp;=\\begin{bmatrix}c\u0026amp;s\\\\-s\u0026amp;c\\end{bmatrix}\\begin{bmatrix}c\u0026amp;-s\\\\s\u0026amp;c\\end{bmatrix}\\\\ \u0026amp;=\\begin{bmatrix}c^2+s^2\u0026amp;-cs+sc\\\\-sc+cs\u0026amp;s^2+c^2\\end{bmatrix}=I \\end{aligned} R⊤R​=[c−s​sc​][cs​−sc​]=[c2+s2−sc+cs​−cs+scs2+c2​]=I​ det⁡R=c2+s2=1\\det R=c^2+s^2=1detR=c2+s2=1. R(α)R(β)R(\\alpha)R(\\beta)R(α)R(β)를 곱하면 원소가 cos⁡αcos⁡β−sin⁡αsin⁡β=cos⁡(α+β)\\cos\\alpha\\cos\\beta-\\sin\\alpha\\sin\\beta=\\cos(\\alpha+\\beta)cosαcosβ−sinαsinβ=cos(α+β), sin⁡αcos⁡β+cos⁡αsin⁡β=sin⁡(α+β)\\sin\\alpha\\cos\\beta+\\cos\\alpha\\sin\\beta=\\sin(\\alpha+\\beta)sinαcosβ+cosαsinβ=sin(α+β)가 되어 R(α+β)R(\\alpha+\\beta)R(α+β) (덧셈정리). 고유값: det⁡(R−λI)=(c−λ)2+s2=λ2−2cλ+1=0\\det(R-\\lambda I)=(c-\\lambda)^2+s^2=\\lambda^2-2c\\lambda+1=0det(R−λI)=(c−λ)2+s2=λ2−2cλ+1=0 → λ=cos⁡θ±isin⁡θ\\lambda=\\cos\\theta\\pm i\\sin\\thetaλ=cosθ±isinθ. 절댓값은 1이고, θ≠0,π\\theta\\ne0,\\piθ=0,π이면 실수 고유값이 없다(돌려도 방향이 그대로인 벡터가 없다). 5.5 A⊤AA^\\top AA⊤A와 사영 행렬 A⊤AA^\\top AA⊤A는 대칭: (A⊤A)⊤=A⊤A(A^\\top A)^\\top=A^\\top A(A⊤A)⊤=A⊤A. 준정부호: x⊤A⊤Ax=∥Ax∥2≥0x^\\top A^\\top Ax=\\|Ax\\|^2\\ge0x⊤A⊤Ax=∥Ax∥2≥0. ker⁡(A⊤A)=ker⁡A\\ker(A^\\top A)=\\ker Aker(A⊤A)=kerA: Ax=0Ax=0Ax=0이면 A⊤Ax=0A^\\top Ax=0A⊤Ax=0. 거꾸로 A⊤Ax=0A^\\top Ax=0A⊤Ax=0이면 x⊤A⊤Ax=∥Ax∥2=0x^\\top A^\\top Ax=\\|Ax\\|^2=0x⊤A⊤Ax=∥Ax∥2=0이라 Ax=0Ax=0Ax=0. 두 행렬의 열 수가 같으므로 차원 정리로 rk(A⊤A)=rk(A)\\text{rk}(A^\\top A)=\\text{rk}(A)rk(A⊤A)=rk(A). 그래서 AAA의 열이 독립이면 A⊤AA^\\top AA⊤A는 역행렬이 있다. P=B(B⊤B)−1B⊤P=B(B^\\top B)^{-1}B^\\topP=B(B⊤B)−1B⊤: P2=B(B⊤B)−1(B⊤B)(B⊤B)−1B⊤=PP^2=B(B^\\top B)^{-1}(B^\\top B)(B^\\top B)^{-1}B^\\top=PP2=B(B⊤B)−1(B⊤B)(B⊤B)−1B⊤=P. B⊤BB^\\top BB⊤B가 대칭이라 그 역행렬도 대칭이므로 P⊤=PP^\\top=PP⊤=P. 오차가 직교: B⊤(x−Px)=B⊤x−B⊤x=0B^\\top(x-Px)=B^\\top x-B^\\top x=0B⊤(x−Px)=B⊤x−B⊤x=0. 5.6 볼록성 증명 정의로 보이기. f(x)=∥x∥f(x)=\\|x\\|f(x)=∥x∥: 삼각부등식과 ∥cx∥=∣c∣ ∥x∥\\|cx\\|=|c|\\,\\|x\\|∥cx∥=∣c∣∥x∥로 ∥θx+(1−θ)y∥≤θ∥x∥+(1−θ)∥y∥\\|\\theta x+(1-\\theta)y\\|\\le\\theta\\|x\\|+(1-\\theta)\\|y\\|∥θx+(1−θ)y∥≤θ∥x∥+(1−θ)∥y∥ (0≤θ≤10\\le\\theta\\le10≤θ≤1). 헤시안으로 보이기. f(x)=x⊤Ax+b⊤xf(x)=x^\\top Ax+b^\\top xf(x)=x⊤Ax+b⊤x의 헤시안은 A+A⊤A+A^\\topA+A⊤이고, 이것이 준정부호면 볼록이다. 예: 최소제곱 ∥y−Φθ∥2\\|y-\\Phi\\theta\\|^2∥y−Φθ∥2의 헤시안 2Φ⊤Φ2\\Phi^\\top\\Phi2Φ⊤Φ는 준정부호(5.5절)라 볼록이다. 합도 볼록. f,gf,gf,g가 볼록이고 a,b≥0a,b\\ge0a,b≥0이면 정의의 부등식 두 개에 각각 a,ba,ba,b를 곱해 더하면 af+bgaf+bgaf+bg도 볼록. 볼록이면 국소 최소 = 전역 최소. x∗x^*x∗가 국소 최소인데 f(y)\u0026lt;f(x∗)f(y)\u0026lt;f(x^*)f(y)\u0026lt;f(x∗)인 yyy가 있다고 하자. zθ=θy+(1−θ)x∗z_\\theta=\\theta y+(1-\\theta)x^*zθ​=θy+(1−θ)x∗(0\u0026lt;θ≤10\u0026lt;\\theta\\le10\u0026lt;θ≤1)에서 f(zθ)≤θf(y)+(1−θ)f(x∗)\u0026lt;f(x∗)f(z_\\theta)\\le\\theta f(y)+(1-\\theta)f(x^*)\u0026lt;f(x^*)f(zθ​)≤θf(y)+(1−θ)f(x∗)\u0026lt;f(x∗). θ→0\\theta\\to0θ→0이면 zθz_\\thetazθ​가 x∗x^*x∗에 얼마든지 가까워지는데 값은 더 작다. 국소 최소라는 가정에 모순이다. ∎ 젠센으로 푸는 확률 부등식. fff가 볼록이면 f(E[X])≤E[f(X)]f(\\mathbb E[X])\\le\\mathbb E[f(X)]f(E[X])≤E[f(X)]. x2x^2x2은 볼록 → (E[X])2≤E[X2](\\mathbb E[X])^2\\le\\mathbb E[X^2](E[X])2≤E[X2]. −log⁡x-\\log x−logx는 볼록((−log⁡x)′′=1/x2\u0026gt;0(-\\log x)\u0026#x27;\u0026#x27;=1/x^2\u0026gt;0(−logx)′′=1/x2\u0026gt;0) → −log⁡E[X]≤−E[log⁡X]-\\log\\mathbb E[X]\\le-\\mathbb E[\\log X]−logE[X]≤−E[logX], 즉 E[log⁡X]≤log⁡E[X]\\mathbb E[\\log X]\\le\\log\\mathbb E[X]E[logX]≤logE[X]. 오목 함수는 부등호가 반대다. 쌍대 함수는 오목. 각 xxx마다 L(x,λ)\\mathfrak L(x,\\lambda)L(x,λ)는 λ\\lambdaλ의 일차함수다. λ=θλ1+(1−θ)λ2\\lambda=\\theta\\lambda_1+(1-\\theta)\\lambda_2λ=θλ1​+(1−θ)λ2​를 넣으면 L(x,λ)=θL(x,λ1)+(1−θ)L(x,λ2)≥θD(λ1)+(1−θ)D(λ2)\\mathfrak L(x,\\lambda)=\\theta\\mathfrak L(x,\\lambda_1)+(1-\\theta)\\mathfrak L(x,\\lambda_2)\\ge\\theta\\mathfrak D(\\lambda_1)+(1-\\theta)\\mathfrak D(\\lambda_2)L(x,λ)=θL(x,λ1​)+(1−θ)L(x,λ2​)≥θD(λ1​)+(1−θ)D(λ2​). 왼쪽을 xxx에 대해 최소화하면 D(λ)≥θD(λ1)+(1−θ)D(λ2)\\mathfrak D(\\lambda)\\ge\\theta\\mathfrak D(\\lambda_1)+(1-\\theta)\\mathfrak D(\\lambda_2)D(λ)≥θD(λ1​)+(1−θ)D(λ2​). ∎ 5.7 약쌍대성 d∗≤p∗d^*\\le p^*d∗≤p∗ 조건을 지키는 아무 xxx와 아무 λ≥0\\lambda\\ge0λ≥0을 잡는다.\nD(λ)=min⁡x′L(x′,λ)≤L(x,λ)=f(x)+∑iλigi(x)≤f(x) \\begin{aligned} \\mathfrak D(\\lambda)\u0026amp;=\\min_{x\u0026#x27;}\\mathfrak L(x\u0026#x27;,\\lambda)\\le\\mathfrak L(x,\\lambda)\\\\ \u0026amp;=f(x)+\\textstyle\\sum_i\\lambda_ig_i(x)\\le f(x) \\end{aligned} D(λ)​=x′min​L(x′,λ)≤L(x,λ)=f(x)+∑i​λi​gi​(x)≤f(x)​마지막 부등호는 λi≥0\\lambda_i\\ge0λi​≥0, gi(x)≤0g_i(x)\\le0gi​(x)≤0이라 합이 0 이하라서다. 오른쪽에서 조건을 지키는 xxx에 대해 최소를 취하면 D(λ)≤p∗\\mathfrak D(\\lambda)\\le p^*D(λ)≤p∗, 왼쪽에서 λ≥0\\lambda\\ge0λ≥0에 대해 최대를 취하면 d∗≤p∗d^*\\le p^*d∗≤p∗. ∎\n5.8 가우시안 잡음 MLE = 최소제곱, 가우시안 사전 MAP = 릿지 yn∼N(f(xn,θ),σ2)y_n\\sim\\mathcal N(f(x_n,\\theta),\\sigma^2)yn​∼N(f(xn​,θ),σ2)이면 −log⁡p(yn∣xn,θ)=(yn−f(xn,θ))22σ2+12log⁡(2πσ2)-\\log p(y_n\\mid x_n,\\theta)=\\frac{(y_n-f(x_n,\\theta))^2}{2\\sigma^2}+\\frac12\\log(2\\pi\\sigma^2)−logp(yn​∣xn​,θ)=2σ2(yn​−f(xn​,θ))2​+21​log(2πσ2). nnn에 대해 더하면 12σ2∑n(yn−f(xn,θ))2+N2log⁡(2πσ2)\\frac1{2\\sigma^2}\\sum_n(y_n-f(x_n,\\theta))^2+\\frac N2\\log(2\\pi\\sigma^2)2σ21​∑n​(yn​−f(xn​,θ))2+2N​log(2πσ2). 둘째 항은 θ\\thetaθ와 무관하고 12σ2\u0026gt;0\\frac1{2\\sigma^2}\u0026gt;02σ21​\u0026gt;0이므로 최소점은 제곱합의 최소점과 같다. MAP는 −log⁡p(θ)-\\log p(\\theta)−logp(θ)를 더한다. p(θ)=N(0,b2I)p(\\theta)=\\mathcal N(0,b^2I)p(θ)=N(0,b2I)이면 −log⁡p(θ)=12b2∥θ∥2+상수-\\log p(\\theta)=\\frac1{2b^2}\\|\\theta\\|^2+\\text{상수}−logp(θ)=2b21​∥θ∥2+상수. 전체에 2σ22\\sigma^22σ2를 곱하면(최소점은 같다) ∑n(yn−f)2+σ2b2∥θ∥2\\sum_n(y_n-f)^2+\\frac{\\sigma^2}{b^2}\\|\\theta\\|^2∑n​(yn​−f)2+b2σ2​∥θ∥2, 즉 λ=σ2/b2\\lambda=\\sigma^2/b^2λ=σ2/b2인 L2 정규화다. 5.9 정규방정식, 릿지, 베이즈 회귀 정규방정식. ddθ∥y−Φθ∥2=−2(y−Φθ)⊤Φ=0⊤\\frac{d}{d\\theta}\\|y-\\Phi\\theta\\|^2=-2(y-\\Phi\\theta)^\\top\\Phi=0^\\topdθd​∥y−Φθ∥2=−2(y−Φθ)⊤Φ=0⊤. 전치하면 Φ⊤Φθ=Φ⊤y\\Phi^\\top\\Phi\\theta=\\Phi^\\top yΦ⊤Φθ=Φ⊤y. 잡음 분산. L=N2log⁡σ2+S2σ2+상수\\mathcal L=\\frac N2\\log\\sigma^2+\\frac{S}{2\\sigma^2}+\\text{상수}L=2N​logσ2+2σ2S​+상수, S=∥y−ΦθML∥2S=\\|y-\\Phi\\theta_{\\text{ML}}\\|^2S=∥y−ΦθML​∥2. σ2\\sigma^2σ2로 미분하면 N2σ2−S2σ4=0\\frac N{2\\sigma^2}-\\frac S{2\\sigma^4}=02σ2N​−2σ4S​=0 → σ2=SN\\sigma^2=\\frac SNσ2=NS​. 릿지. ∥y−Φθ∥2+λ∥θ∥2\\|y-\\Phi\\theta\\|^2+\\lambda\\|\\theta\\|^2∥y−Φθ∥2+λ∥θ∥2의 미분에 2λθ⊤2\\lambda\\theta^\\top2λθ⊤이 더해져 (Φ⊤Φ+λI)θ=Φ⊤y(\\Phi^\\top\\Phi+\\lambda I)\\theta=\\Phi^\\top y(Φ⊤Φ+λI)θ=Φ⊤y. v≠0v\\ne0v=0이면 v⊤(Φ⊤Φ+λI)v=∥Φv∥2+λ∥v∥2\u0026gt;0v^\\top(\\Phi^\\top\\Phi+\\lambda I)v=\\|\\Phi v\\|^2+\\lambda\\|v\\|^2\u0026gt;0v⊤(Φ⊤Φ+λI)v=∥Φv∥2+λ∥v∥2\u0026gt;0이라 역행렬이 언제나 있다. 베이즈 사후분포. 로그 사후 =−12σ2∥y−Φθ∥2−12(θ−m0)⊤S0−1(θ−m0)+상수=-\\frac1{2\\sigma^2}\\|y-\\Phi\\theta\\|^2-\\frac12(\\theta-m_0)^\\top S_0^{-1}(\\theta-m_0)+\\text{상수}=−2σ21​∥y−Φθ∥2−21​(θ−m0​)⊤S0−1​(θ−m0​)+상수. 전개해 θ\\thetaθ의 2차 항과 1차 항만 모으면 −12θ⊤(σ−2Φ⊤Φ+S0−1)θ+θ⊤(σ−2Φ⊤y+S0−1m0)-\\frac12\\theta^\\top(\\sigma^{-2}\\Phi^\\top\\Phi+S_0^{-1})\\theta+\\theta^\\top(\\sigma^{-2}\\Phi^\\top y+S_0^{-1}m_0)−21​θ⊤(σ−2Φ⊤Φ+S0−1​)θ+θ⊤(σ−2Φ⊤y+S0−1​m0​). 가우시안의 로그 −12θ⊤SN−1θ+θ⊤SN−1mN-\\frac12\\theta^\\top S_N^{-1}\\theta+\\theta^\\top S_N^{-1}m_N−21​θ⊤SN−1​θ+θ⊤SN−1​mN​과 계수를 맞추면 SN−1=S0−1+σ−2Φ⊤ΦS_N^{-1}=S_0^{-1}+\\sigma^{-2}\\Phi^\\top\\PhiSN−1​=S0−1​+σ−2Φ⊤Φ, SN−1mN=S0−1m0+σ−2Φ⊤yS_N^{-1}m_N=S_0^{-1}m_0+\\sigma^{-2}\\Phi^\\top ySN−1​mN​=S0−1​m0​+σ−2Φ⊤y. 예측분포. ϕ∗⊤θ∼N(ϕ∗⊤mN, ϕ∗⊤SNϕ∗)\\phi_*^\\top\\theta\\sim\\mathcal N(\\phi_*^\\top m_N,\\ \\phi_*^\\top S_N\\phi_*)ϕ∗⊤​θ∼N(ϕ∗⊤​mN​, ϕ∗⊤​SN​ϕ∗​) (6장 선형변환). 독립인 잡음 ϵ\\epsilonϵ을 더하면 분산에 σ2\\sigma^2σ2이 더해진다. 5.10 PCA: 분산 최대화 → 고유벡터 중심화된 데이터에서 방향 bbb의 좌표 분산은 1N∑n(b⊤xn)2=b⊤(1N∑nxnxn⊤)b=b⊤Sb\\frac1N\\sum_n(b^\\top x_n)^2=b^\\top\\big(\\frac1N\\sum_nx_nx_n^\\top\\big)b=b^\\top SbN1​∑n​(b⊤xn​)2=b⊤(N1​∑n​xn​xn⊤​)b=b⊤Sb. bbb를 늘리면 분산이 끝없이 커지므로 b⊤b=1b^\\top b=1b⊤b=1로 묶는다. 라그랑지안 b⊤Sb+λ(1−b⊤b)b^\\top Sb+\\lambda(1-b^\\top b)b⊤Sb+λ(1−b⊤b). bbb로 미분: 2b⊤S−2λb⊤=02b^\\top S-2\\lambda b^\\top=02b⊤S−2λb⊤=0 (SSS 대칭). 전치하면 Sb=λbSb=\\lambda bSb=λb. 이때 분산은 b⊤Sb=λb⊤b=λb^\\top Sb=\\lambda b^\\top b=\\lambdab⊤Sb=λb⊤b=λ이므로 가장 큰 고유값의 고유벡터를 고른다. 이미 고른 방향과 직교하는 조건을 더해 반복하면 mmm번째 방향은 mmm번째로 큰 고유값의 고유벡터다. 재구성 오차: 고유벡터 전체로 xn=∑d(bd⊤xn)bdx_n=\\sum_d(b_d^\\top x_n)b_dxn​=∑d​(bd⊤​xn​)bd​라 쓰면 xn−x~n=∑j\u0026gt;M(bj⊤xn)bjx_n-\\tilde x_n=\\sum_{j\u0026gt;M}(b_j^\\top x_n)b_jxn​−x~n​=∑j\u0026gt;M​(bj⊤​xn​)bj​이고, 정규직교라 ∥xn−x~n∥2=∑j\u0026gt;M(bj⊤xn)2\\|x_n-\\tilde x_n\\|^2=\\sum_{j\u0026gt;M}(b_j^\\top x_n)^2∥xn​−x~n​∥2=∑j\u0026gt;M​(bj⊤​xn​)2. 평균을 내면 ∑j\u0026gt;Mbj⊤Sbj=∑j\u0026gt;Mλj\\sum_{j\u0026gt;M}b_j^\\top Sb_j=\\sum_{j\u0026gt;M}\\lambda_j∑j\u0026gt;M​bj⊤​Sbj​=∑j\u0026gt;M​λj​. 5.11 GMM 갱신식 평균. ∂∂μklog⁡∑jπjNj\\frac{\\partial}{\\partial\\mu_k}\\log\\sum_j\\pi_j\\mathcal N_j∂μk​∂​log∑j​πj​Nj​는 합 중 j=kj=kj=k 항만 남는다. 가우시안의 미분 ∂∂μkN(xn∣μk,Σk)=N(xn∣μk,Σk)(xn−μk)⊤Σk−1\\frac{\\partial}{\\partial\\mu_k}\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)=\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)(x_n-\\mu_k)^\\top\\Sigma_k^{-1}∂μk​∂​N(xn​∣μk​,Σk​)=N(xn​∣μk​,Σk​)(xn​−μk​)⊤Σk−1​을 넣으면 분수 부분이 정확히 rnkr_{nk}rnk​가 되어 ∂L∂μk=∑nrnk(xn−μk)⊤Σk−1=0⊤ \\frac{\\partial\\mathcal L}{\\partial\\mu_k}=\\sum_nr_{nk}(x_n-\\mu_k)^\\top\\Sigma_k^{-1}=0^\\top ∂μk​∂L​=n∑​rnk​(xn​−μk​)⊤Σk−1​=0⊤오른쪽에 Σk\\Sigma_kΣk​를 곱하면 ∑nrnkxn=Nkμk\\sum_nr_{nk}x_n=N_k\\mu_k∑n​rnk​xn​=Nk​μk​, 그래서 μk=1Nk∑nrnkxn\\mu_k=\\frac1{N_k}\\sum_nr_{nk}x_nμk​=Nk​1​∑n​rnk​xn​. rnkr_{nk}rnk​도 μk\\mu_kμk​에 의존하므로 닫힌 해가 아니다. 그래서 E·M 단계를 번갈아 반복한다.\n비율. 조건 ∑kπk=1\\sum_k\\pi_k=1∑k​πk​=1이 있어 L+λ(∑kπk−1)\\mathcal L+\\lambda(\\sum_k\\pi_k-1)L+λ(∑k​πk​−1)을 쓴다. ∂L∂πk=∑nN(xn∣μk,Σk)∑jπjNj=Nkπk\\frac{\\partial\\mathcal L}{\\partial\\pi_k}=\\sum_n\\frac{\\mathcal N(x_n\\mid\\mu_k,\\Sigma_k)}{\\sum_j\\pi_j\\mathcal N_j}=\\frac{N_k}{\\pi_k}∂πk​∂L​=∑n​∑j​πj​Nj​N(xn​∣μk​,Σk​)​=πk​Nk​​ (분자·분모에 πk\\pi_kπk​를 곱해 rnkr_{nk}rnk​ 모양을 만든다). Nkπk+λ=0\\frac{N_k}{\\pi_k}+\\lambda=0πk​Nk​​+λ=0 → πk=−Nkλ\\pi_k=-\\frac{N_k}\\lambdaπk​=−λNk​​. kkk에 대해 더하면 1=−Nλ1=-\\frac N\\lambda1=−λN​ → λ=−N\\lambda=-Nλ=−N → πk=NkN\\pi_k=\\frac{N_k}Nπk​=NNk​​. 5.12 SVM: 마진과 쌍대 거리. 점 xax_axa​의 수선의 발을 xa′x_a\u0026#x27;xa′​이라 하면 xa=xa′+rw∥w∥x_a=x_a\u0026#x27;+r\\frac{w}{\\|w\\|}xa​=xa′​+r∥w∥w​. 양변에 ⟨w,⋅⟩+b\\langle w,\\cdot\\rangle+b⟨w,⋅⟩+b를 적용하면 ⟨w,xa⟩+b=0+r∥w∥\\langle w,x_a\\rangle+b=0+r\\|w\\|⟨w,xa​⟩+b=0+r∥w∥ → r=⟨w,xa⟩+b∥w∥r=\\frac{\\langle w,x_a\\rangle+b}{\\|w\\|}r=∥w∥⟨w,xa​⟩+b​. 마진. (w,b)(w,b)(w,b)와 (cw,cb)(cw,cb)(cw,cb)는 같은 초평면이라 가장 가까운 점에서 ynf(xn)=1y_nf(x_n)=1yn​f(xn​)=1로 맞출 수 있다. 그러면 마진은 1∥w∥\\frac1{\\|w\\|}∥w∥1​이고, 이를 최대화하는 것은 12∥w∥2\\frac12\\|w\\|^221​∥w∥2를 최소화하는 것과 같다. 라그랑지안(소프트 마진, αn,γn≥0\\alpha_n,\\gamma_n\\ge0αn​,γn​≥0, fn=⟨w,xn⟩+bf_n=\\langle w,x_n\\rangle+bfn​=⟨w,xn​⟩+b): L=12∥w∥2+C∑nξn−∑nγnξn−∑nαn(ynfn−1+ξn) \\begin{aligned} \\mathfrak L={}\u0026amp;\\tfrac12\\|w\\|^2+C\\textstyle\\sum_n\\xi_n\\\\ \u0026amp;-\\textstyle\\sum_n\\gamma_n\\xi_n\\\\ \u0026amp;-\\textstyle\\sum_n\\alpha_n(y_nf_n-1+\\xi_n) \\end{aligned} L=​21​∥w∥2+C∑n​ξn​−∑n​γn​ξn​−∑n​αn​(yn​fn​−1+ξn​)​ 미분해서 0. www: w=∑nαnynxnw=\\sum_n\\alpha_ny_nx_nw=∑n​αn​yn​xn​. bbb: ∑nαnyn=0\\sum_n\\alpha_ny_n=0∑n​αn​yn​=0. ξn\\xi_nξn​: C−αn−γn=0C-\\alpha_n-\\gamma_n=0C−αn​−γn​=0이고 γn≥0\\gamma_n\\ge0γn​≥0이라 αn≤C\\alpha_n\\le Cαn​≤C. 대입. 12∥w∥2=12∑i,jαiαjyiyj⟨xi,xj⟩\\frac12\\|w\\|^2=\\frac12\\sum_{i,j}\\alpha_i\\alpha_jy_iy_j\\langle x_i,x_j\\rangle21​∥w∥2=21​∑i,j​αi​αj​yi​yj​⟨xi​,xj​⟩이고 −∑nαnyn⟨w,xn⟩=−∑i,jαiαjyiyj⟨xi,xj⟩-\\sum_n\\alpha_ny_n\\langle w,x_n\\rangle=-\\sum_{i,j}\\alpha_i\\alpha_jy_iy_j\\langle x_i,x_j\\rangle−∑n​αn​yn​⟨w,xn​⟩=−∑i,j​αi​αj​yi​yj​⟨xi​,xj​⟩이다. bbb 항은 4의 둘째 식으로 0, ξ\\xiξ 항은 4의 셋째 식으로 0, 상수 항 ∑nαn\\sum_n\\alpha_n∑n​αn​은 그대로 남는다. 합치면 D(α)=∑iαi−12∑i,jαiαjyiyj⟨xi,xj⟩\\mathfrak D(\\alpha)=\\sum_i\\alpha_i-\\frac12\\sum_{i,j}\\alpha_i\\alpha_jy_iy_j\\langle x_i,x_j\\rangleD(α)=∑i​αi​−21​∑i,j​αi​αj​yi​yj​⟨xi​,xj​⟩. 부호를 바꿔 최소화하면 (12.41)이다. 6. 서술형 답 한두 문장 MLE·MAP·베이즈의 차이. MLE는 가능도를 최대로 하는 매개변수 하나를 고른다. MAP는 사전분포를 곱해 최대로 하는 하나를 고르며 정규화와 같다. 베이즈 추론은 하나를 고르지 않고 사후분포 전체로 예측을 평균해 불확실성까지 낸다. 회귀 예측이 사영인 이유. 정규방정식 Φ⊤(y−Φθ)=0\\Phi^\\top(y-\\Phi\\theta)=0Φ⊤(y−Φθ)=0은 잔차가 Φ\\PhiΦ의 모든 열과 직교한다는 뜻이다. 그래서 ΦθML\\Phi\\theta_{\\text{ML}}ΦθML​은 열공간에서 yyy에 가장 가까운 점, 곧 직교 사영이다. PCA·SVD·에카르트-영. 중심화한 데이터 행렬의 왼쪽 특이벡터가 주성분이고 λd=σd2/N\\lambda_d=\\sigma_d^2/Nλd​=σd2​/N이다. 상위 MMM개로 복원한 행렬은 계수 MMM 이하 행렬 가운데 원래 데이터에 가장 가까워 재구성 오차가 최소다. EM이 필요한 이유. GMM 로그가능도는 로그 안에 합이 있어, 미분해서 0으로 놓은 식에 매개변수가 서로 얽혀 닫힌 해가 없다. 책임도를 고정하면 각 갱신이 닫힌 꼴이 되므로 둘을 번갈아 계산한다. GMM과 K-평균. GMM은 책임도로 부드럽게 배정하고 평균·공분산·비율을 모두 배운다. K-평균은 가장 가까운 중심에 딱 잘라 배정하고 평균만 갱신한다. 둘 다 국소 최적이고 초기값에 민감하다. SVM 쌍대와 커널의 쓸모. 쌍대에서는 데이터가 내적으로만 들어가 커널로 바꿀 수 있다. 특징을 직접 만들지 않고 무한 차원 특징도 쓸 수 있고, 변수 수가 특징 차원이 아니라 데이터 수다. 유효한 커널은 대칭이고 그람 행렬이 늘 준정부호여야 한다. 하드·소프트 마진과 CCC. 하드 마진은 모든 점을 마진 밖에 두라고 요구해 완전히 나뉘는 데이터에만 쓴다. 소프트 마진은 여유 변수로 위반을 허락하고, CCC가 클수록 위반을 강하게 막아 마진이 좁아진다. 과적합과 막는 법. 유연한 모델은 훈련 데이터의 잡음까지 맞춰 훈련 오차는 작지만 새 데이터에서는 나빠진다. 정규화로 매개변수 크기에 벌점을 주고, 교차검증으로 처음 보는 데이터의 성능을 추정한다. 중첩 교차검증. 모델 선택에 쓴 교차검증 점수는 여러 잡음 섞인 추정값 중 가장 좋은 것을 고른 값이라 낙관적이다. 그래서 바깥 고리에서 남겨 둔 조각으로 따로 평가한다. 예측 분산의 두 항. ϕ∗⊤SNϕ∗\\phi_*^\\top S_N\\phi_*ϕ∗⊤​SN​ϕ∗​는 매개변수를 확실히 모르는 데서 오고 데이터가 많아지면 줄어든다. σ2\\sigma^2σ2은 데이터 자체의 잡음이라 줄일 수 없다. 7. 영어 지문 용어 영어 뜻 영어 뜻 Show that / Prove 증명하라 Derive 식을 끝까지 유도하라 Compute / Evaluate 값을 계산하라 Verify / Check 확인하라 Justify 이유를 대라 Classify 종류를 판정하라 subspace 부분공간 basis / dimension 기저 / 차원 rank, kernel(null space), image 랭크, 핵(영공간), 상 transformation matrix 변환 행렬 orthogonal projection 정사영 orthogonal complement 직교여공간 inner product 내적 positive (semi)definite 양의 (준)정부호 eigenvalue / eigenvector 고유값 / 고유벡터 singular value 특이값 gradient / Jacobian / Hessian 기울기 / 야코비안 / 헤시안 stationary point / saddle point 정류점 / 안장점 step size (learning rate) 학습률 convex / concave 볼록 / 오목 Lagrangian / dual function 라그랑지안 / 쌍대 함수 strong duality 강한 쌍대성 complementary slackness 상보 여유성 i.i.d. 독립이고 같은 분포 likelihood / prior / posterior 가능도 / 사전분포 / 사후분포 conjugate prior 켤레 사전분포 marginal likelihood (evidence) 주변 가능도 posterior predictive 사후 예측 분포 change of variables 변수 변환 empirical risk 경험적 위험 overfitting / regularization 과적합 / 정규화 cross-validation (nested) (중첩) 교차검증 d-separation / collider d-분리 / 충돌 노드 latent variable 잠재변수 responsibility 책임도 mixture weight 혼합 비율 reconstruction error 재구성 오차 explained variance 설명된 분산 margin / support vector 마진 / 서포트 벡터 slack variable 여유 변수 hinge loss 힌지 손실 Gram matrix 그람 행렬 8. 입실 직전 마지막 10분 소리 내어 한 번씩 읽는다.\n기울기는 행벡터다. 경사하강법에는 전치를 붙인다. x⊤Bxx^\\top Bxx⊤Bx의 미분이 2x⊤B2x^\\top B2x⊤B인 것은 BBB가 대칭일 때뿐이다. 2차 테일러 근사의 헤시안 항에는 12\\frac1221​이 붙는다. 공분산 분모는 NNN. PCA는 평균부터 빼고, 복원할 때 평균을 다시 더한다. 가우시안 조건부 분산은 관측값과 무관하고 원래 분산보다 작다. 사영은 오차가 기저와 직교한다는 조건에서 나온다: B⊤(x−Bλ)=0B^\\top(x-B\\lambda)=0B⊤(x−Bλ)=0. SVD는 ui=Avi/σiu_i=Av_i/\\sigma_iui​=Avi​/σi​로 부호를 맞춘다. MAP의 λ\\lambdaλ는 σ2/b2\\sigma^2/b^2σ2/b2(잡음 분산 ÷ 사전 분산)이다. 베이즈 예측 분산에는 마지막에 σ2\\sigma^2σ2을 더한다. PCA 재구성 오차는 버린 고유값의 합이다. GMM 공분산 갱신에는 새 평균을 쓰고, πk=Nk/N\\pi_k=N_k/Nπk​=Nk​/N이다. 라그랑지안은 조건을 g≤0g\\le0g≤0 꼴로 맞춘 뒤 +λg+\\lambda g+λg를 붙인다. 약쌍대성은 언제나, 강쌍대성은 볼록 문제에서. 충돌 노드는 \u0026ldquo;알면 열림\u0026rdquo;, 사슬·갈래는 \u0026ldquo;알면 막힘\u0026rdquo;. SVM: 마진 1∥w∥\\frac1{\\|w\\|}∥w∥1​, 쌍대 조건 ∑nαnyn=0\\sum_n\\alpha_ny_n=0∑n​αn​yn​=0과 0≤αn≤C0\\le\\alpha_n\\le C0≤αn​≤C, bbb는 0\u0026lt;αn\u0026lt;C0\u0026lt;\\alpha_n\u0026lt;C0\u0026lt;αn​\u0026lt;C인 점에서 구한다. 막히면 넘어가고, 못 끝낸 문제에도 출발 식은 남긴다. ","permalink":"https://qofo.github.io/posts/mml-final-review/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e교재:\u003c/strong\u003e Deisenroth·Faisal·Ong, \u003cem\u003eMathematics for Machine Learning\u003c/em\u003e (\u003ca href=\"https://mml-book.github.io/\"\u003emml-book.github.io\u003c/a\u003e에 공개된 PDF, 2024-01-15 판). 절과 식 번호는 그 PDF 기준이다.\u003cbr\u003e\n\u003cstrong\u003e이 글:\u003c/strong\u003e 새 내용은 없다. 장별 글(2\u003cdel\u003e12편)의 핵심과 \u0026ldquo;시험 직전 10분 요약\u0026rdquo;, \u003ca href=\"/posts/mml-mock-exam-solutions/\"\u003e모의고사 풀이\u003c/a\u003e에서 시험에 바로 쓰는 공식·조건·증명 뼈대만 골라 다시 썼다. 유도의 단계별 설명은 장별 글에 있다.\u003cbr\u003e\n\u003cstrong\u003e범위와 시간:\u003c/strong\u003e 기초수학 = MML Part 1(2\u003c/del\u003e7장) 60분, 기초 AI = MML Part 2(8~12장) 60분을 가정했다.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"1-시험장에서-쓰는-요령\"\u003e1. 시험장에서 쓰는 요령\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e먼저 챙길 주제.\u003c/strong\u003e 이 범위로 보는 필기의 응시 후기에는 정사영, 기울기 계산, 최적화(경사하강법·라그랑주 승수), 분산 공식 유도, 볼록성, 직교, 고유값, 회전행렬, 이항분포가 나왔다. 영어 지문에 증명 위주로 나온 해도 있었다. 8~12장 범위는 후기를 찾지 못했으므로 대표 유도 다섯 개(정규방정식, 릿지 = MAP, PCA = 고유벡터, GMM의 EM 갱신, SVM 쌍대)를 먼저 챙긴다.\u003c/p\u003e","title":"MML 시험 직전 최종 정리: 공식, 조건, 증명 뼈대"}]