스탠퍼드 CS229 머신러닝 강의 노트
CS229 노트로 정규 방정식, 로지스틱 회귀 기울기 유도, 편향-분산을 손계산하는 수업
먼저 알아야 할 것
다루는 내용
스탠퍼드 CS229 강의 노트의 표기와 유도 방식을 따라, 선형 회귀를 정규 방정식으로 한 번에 풀고 최소제곱이 정규분포 잡음의 최대우도임을 확인합니다. 로지스틱 회귀의 로그 우도에서 기울기 (y−h)x를 한 줄씩 유도해 경사 상승으로 갱신해 보고, 편향² · 분산을 숫자로 계산해 과소적합 · 과적합을 구별합니다.
해설
스탠퍼드 CS229로 배우는 로지스틱 회귀 · 정규 방정식 · 편향-분산
CS229 강의 노트는 머신러닝 알고리즘을 "확률 모델을 세우고 → 우도를 쓰고 → 미분해 최적화한다"는 한 가지 방법으로 유도합니다. 이 수업은 노트 1부의 핵심인 선형 회귀의 정규 방정식, 로지스틱 회귀의 로그 우도와 기울기 유도, 3부의 편향-분산 트레이드오프를 원문 없이 따라갈 수 있게 풀어 씁니다.
| 항목 | 내용 |
|---|---|
| 출처 | CS229 Lecture Notes · Andrew Ng · Tengyu Ma (Stanford) · cs229.stanford.edu/main_notes.pdf |
| 트랙 · 수준 | 머신러닝 · 기초 |
| 이 수업의 범위 | 1장 선형 회귀(LMS · 정규 방정식 · 확률적 해석), 2장 로지스틱 회귀, 8장 편향-분산 트레이드오프의 핵심을 자체 해설로 정리 |
| 먼저 알면 좋은 것 | 경사 하강법, 행렬 곱 · 전치, 편미분 · 연쇄 법칙, 조건부 확률 |
들어가기 전에
- 직접 해 보기: scikit-learn으로 손글씨 숫자 분류기 만들기 — 교차 검증 · GridSearchCV · 혼동 행렬까지 직접 실행해 본 프로젝트
- 구글 머신러닝 단기 집중 과정으로 배우는 머신러닝 첫걸음 — 선형 회귀 · MSE · 경사 하강법 · 시그모이드를 이미 손으로 계산해 봤다고 가정합니다. 같은 데이터 를 이 수업에서 다시 씁니다.
- 머신러닝을 위한 수학 — 행렬 곱, 전치 , 연쇄 법칙이 유도에 그대로 쓰입니다.
- 확률과 통계 최소한 — 조건부 확률 , 독립(i.i.d.) 가정, 정규분포가 나옵니다.
한눈에 보기
- CS229 노트의 표기(, , , , )를 읽을 수 있습니다.
- 선형 회귀를 경사 하강법 없이 정규 방정식 로 한 번에 풀고, 첫걸음 수업의 경사 하강법 결과와 같은지 확인합니다.
- 최소제곱이 "오차가 정규분포를 따른다"는 가정의 최대우도라는 것을 압니다.
- 로지스틱 회귀의 로그 우도를 쓰고, 기울기가 가 되는 과정을 한 줄씩 유도합니다.
- 편향(bias)과 분산(variance)을 숫자로 계산해, 모델이 너무 단순하거나 너무 복잡할 때 무엇이 나빠지는지 구별합니다.
1. 노트의 표기 먼저 익히기
CS229 노트는 다음 표기를 일관되게 씁니다. 이 표만 알면 노트 대부분의 식을 읽을 수 있습니다.
| 기호 | 뜻 |
|---|---|
| 번째 학습 예제의 입력 벡터와 정답 (위첨자 괄호는 거듭제곱이 아님) | |
| 학습 예제 수 | |
| 절편을 가중치처럼 다루려고 붙이는 상수 특성 | |
| 매개변수 벡터 (첫걸음 수업의 를 묶은 것: ) | |
| 가설(hypothesis), 모델의 예측 | |
| 최소화할 비용 함수 | |
| 최대화할 로그 우도 | |
| 학습률 | |
| 프로그램식 대입(덮어쓰기) |
2. 선형 회귀를 한 번에 푸는 정규 방정식
직관: 경사 하강법이 "기울기를 느끼며 한 걸음씩" 내려가는 방법이라면, 정규 방정식은 "기울기가 정확히 0이 되는 지점"을 식으로 바로 구하는 방법입니다.
단계
- 모든 예제를 행렬로 쌓습니다. 설계 행렬 의 번째 행은 , 정답 벡터 의 번째 칸은 입니다.
- 비용을 행렬로 씁니다: .
- 로 미분하면 입니다.
- 이것을 0으로 두고 풉니다.
| 기호 | 뜻 |
|---|---|
| 설계 행렬, (첫 열은 모두 1) | |
| 정답을 세로로 쌓은 벡터 | |
| 정사각 행렬 | |
| 역행렬 |
숫자로 해 보기(해설용): 첫걸음 수업의 데이터 를 씁니다.
역행렬은 입니다. 이므로
절편 , 기울기 입니다. 첫걸음 수업에서 경사 하강법을 수천 번 돌려 도착한 과 정확히 같습니다.
왜 늘 이걸 쓰지 않나: 특성이 개면 의 역행렬 계산에 대략 에 비례하는 비용이 듭니다. 특성이 수백만 개면 감당할 수 없고, 신경망처럼 비선형인 모델에는 이런 닫힌 해가 아예 없습니다. 또 특성끼리 거의 겹치면 의 역행렬이 불안정합니다. 그래서 실무 대부분은 경사 하강법을 씁니다.
최소제곱의 확률적 해석
노트 1장은 왜 하필 "제곱" 오차인지를 확률로 설명합니다. 정답이 이고 오차 가 서로 독립인 정규분포 를 따른다고 가정하면, 로그 우도는
입니다. 첫 항은 와 무관하므로, 을 최대화하는 것은 오차 제곱합을 최소화하는 것과 같습니다. 즉 최소제곱 = 정규분포 잡음 가정의 최대우도입니다. 이 관점은 확률적 머신러닝 입문에서 더 넓게 씁니다.
3. 로지스틱 회귀: 로그 우도와 기울기 유도
직관: 이진 분류에서 직선 를 그대로 쓰면 예측이 0~1을 벗어납니다. 시그모이드로 감싸 확률로 만들고, "데이터에 준 확률"을 최대화합니다.
단계 1 — 확률 모델: , 입니다. 이 둘을 한 줄로 쓰면
입니다. 이면 앞 인수만, 이면 뒤 인수만 남습니다.
단계 2 — 로그 우도: 예제들이 독립이라 가정하면 우도는 곱, 로그를 씌우면 합입니다.
이 식에 마이너스를 붙이면 정보 이론 최소한의 이진 교차 엔트로피, 첫걸음 수업의 로그 손실이 됩니다.
단계 3 — 미분(예제 하나): , (연쇄 법칙)를 씁니다.
단계 4 — 갱신 규칙: 최대화이므로 기울기 방향으로 올라갑니다(경사 상승).
| 기호 | 뜻 |
|---|---|
| 시그모이드(로지스틱) 함수 | |
| 정답과 예측 확률의 차이 — "얼마나 틀렸나" | |
| 번째 특성 — 그 특성이 컸던 만큼 많이 고침 |
노트가 강조하듯 이 식은 선형 회귀의 LMS 규칙과 모양이 똑같습니다. 다른 점은 가 직선이 아니라 시그모이드라는 것뿐입니다. 이 우연 같은 일치는 노트 3장의 일반화 선형 모델(GLM)에서 같은 원리로 설명됩니다.
숫자로 해 보기(해설용): 예제 (), , 시작값 , .
- , — 정답 1인데 27%만 줌
- 오차
- ,
- 새 예측
한 번의 갱신으로 정답 확률이 0.27에서 0.70으로 올라갔습니다.
결정 경계: 이면 1로 분류한다면, 이는 과 같습니다. 즉 로지스틱 회귀의 결정 경계는 인 직선(고차원에서는 평면)입니다. 직선으로 나뉘지 않는 데이터에는 특성을 바꾸거나 신경망이 필요합니다.
왜 이렇게 유도하나: "손실 함수를 하나 골라 외우는" 대신 확률 모델에서 출발하면, 다중 분류(소프트맥스 회귀, 노트 2장)나 개수 데이터(포아송 회귀, 3장 GLM)에도 같은 절차로 손실과 기울기를 얻습니다.
flowchart LR
A["확률 모델 가정 p(y|x;θ)"] --> B["예제 독립 → 우도 = 곱"]
B --> C["로그 → 로그 우도 ℓ(θ) = 합"]
C --> D["미분 → (y − h)x"]
D --> E["경사 상승 θ := θ + α(y − h)x"]
E --> F["결정 경계 θᵀx = 0"]4. 편향-분산 트레이드오프
직관(해설용 비유): 다트를 여러 번 던질 때, 모두 한쪽으로 몰려 과녁 중심에서 벗어나 있으면 '편향'이 큰 것이고, 중심 근처지만 사방으로 흩어지면 '분산'이 큰 것입니다.
학습 데이터를 새로 뽑을 때마다 모델이 조금씩 달라진다고 생각합니다. 어떤 입력 에서 그 모델들의 예측 를 모아 보면, 테스트 오차(제곱)는 세 조각으로 나뉩니다(노트 8장의 분해를 설명용으로 단순화).
| 기호 | 뜻 |
|---|---|
| 진짜 함수의 값 | |
| 학습 데이터에 따라 달라지는 모델의 예측 | |
| 여러 학습 데이터로 만든 모델 예측의 평균 | |
| 데이터 자체의 잡음 |
숫자로 해 보기(해설용): 진짜 값이 인 지점에서, 학습 데이터 4벌로 각각 모델을 만들어 예측을 모았습니다.
| 모델 | 4벌의 예측 | 평균 | 편향² | 분산 |
|---|---|---|---|---|
| 단순(직선) | 2.0, 2.4, 1.6, 2.0 | 2.0 | 0.08 | |
| 복잡(고차 다항식) | 3.5, 2.1, 3.9, 2.5 | 3.0 | 0.53 |
단순한 모델은 늘 비슷하게 틀리고(편향 큼), 복잡한 모델은 평균은 맞지만 데이터마다 크게 흔들립니다(분산 큼). 이 예에서는 복잡한 모델의 편향² + 분산()이 단순한 모델()보다 작지만, 데이터가 더 적거나 잡음이 크면 분산이 커져 순서가 뒤집힙니다.
- 편향이 큰 상태 = 과소적합(underfitting): 학습 오차부터 높습니다. 더 표현력 있는 모델이나 특성이 필요합니다.
- 분산이 큰 상태 = 과적합(overfitting): 학습 오차는 낮은데 테스트 오차가 높습니다. 데이터를 늘리거나 정규화가 필요합니다.
노트 8장은 고전적인 U자 곡선 외에, 매개변수가 아주 많아지면 테스트 오차가 다시 내려가는 이중 하강(double descent) 현상도 다룹니다. 큰 신경망이 과적합 상식과 다르게 행동하는 이유의 일부입니다. 진단 · 해결 방법은 모델 평가와 과적합에서 이어집니다.
연습 문제
1. 데이터 에 정규 방정식을 적용하면 는?
풀이: , , 행렬식 . . 세 점이 위에 정확히 있으므로 오차 0입니다.
2. 예제 두 개 과 , , 로 전체 배치 경사 상승을 한 번 하면?
풀이: 이라 두 예측 모두 . 기울기 . . 새 예측은 , 로 둘 다 정답 쪽으로 움직였습니다. 로그 우도는 약 에서 로 올랐습니다.
3. 로지스틱 회귀에서 인데 였다면 의 부호는? 가중치는 어떻게 바뀌나요?
풀이: 로 음수입니다. 인 특성의 가중치는 줄어 다음에는 예측 확률이 낮아집니다.
4. 학습 오차 2%, 검증 오차 25%인 모델은 편향 문제인가요, 분산 문제인가요?
풀이: 분산(과적합) 문제입니다. 학습 오차는 낮은데 새 데이터에서 크게 틀립니다.
스스로 점검
- 최소제곱 선형 회귀가 최대우도 추정이 되려면 어떤 가정이 필요한가요?
- 답: 오차가 서로 독립이고 평균 0, 분산이 같은 정규분포를 따른다는 가정입니다.
- 로지스틱 회귀의 갱신 규칙이 LMS 규칙과 같은 모양인데, 무엇이 다른가요?
- 답: 예측 가 선형 회귀는 , 로지스틱 회귀는 (시그모이드)입니다.
- 정규 방정식이 있는데도 경사 하강법을 주로 쓰는 이유는?
- 답: 특성이 많으면 역행렬 계산이 너무 비싸고, 신경망 같은 비선형 모델에는 닫힌 해가 없기 때문입니다.
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 가설(hypothesis) | CS229가 모델의 예측 함수를 부르는 이름 |
| 설계 행렬(design matrix) | 예제를 한 줄씩 쌓은 입력 행렬 |
| 정규 방정식(normal equation) | 최소제곱 해를 한 번에 주는 식 |
| LMS 규칙(least mean squares) | 오차 × 입력만큼 가중치를 고치는 선형 회귀 갱신 규칙 |
| 우도(likelihood) · 로그 우도(log-likelihood) | 매개변수가 주어졌을 때 데이터가 나올 확률 · 그 로그 |
| 경사 상승(gradient ascent) | 최대화를 위해 기울기 방향으로 가는 방법 |
| 로지스틱 회귀(logistic regression) | 시그모이드로 확률을 내는 이진 분류 모델 |
| 결정 경계(decision boundary) | 두 클래스를 나누는 경계, 여기서는 |
| 일반화 선형 모델(GLM) | 선형 · 로지스틱 회귀를 하나로 묶는 틀 |
| 편향(bias) | 모델이 평균적으로 진짜 값에서 벗어난 정도 |
| 분산(variance) | 학습 데이터에 따라 모델 예측이 흔들리는 정도 |
| 이중 하강(double descent) | 매개변수가 아주 많아지면 테스트 오차가 다시 줄어드는 현상 |
더 깊이 보려면
노트는 6부 21장과 부록으로 되어 있습니다. 이 수업 다음으로 1부의 2장 후반(퍼셉트론 · 다중 분류 · 뉴턴법), 3장 일반화 선형 모델, 4장 생성 학습(가우시안 판별 분석 · 나이브 베이즈)을 읽으면 분류 모델을 폭넓게 이해할 수 있습니다. 2부 7장은 신경망과 역전파, 3부 9장은 정규화 · 교차 검증, 6부 19~21장은 MDP와 정책 경사(강화학습)입니다.
다음에 볼 것
- 모델 평가와 과적합 — 편향 · 분산 문제를 실제로 진단하는 데이터 나누기, 정밀도 · 재현율, 정규화를 배웁니다.
- 확률적 머신러닝 입문 — 최대우도를 MAP · 베이즈 추론으로 넓히고, 정규화가 사전 분포라는 것을 봅니다.
- 퍼셉트론: 뇌의 정보 저장과 조직에 관한 확률 모델 — 시그모이드 대신 계단 함수를 쓴 최초의 학습 기계로, 신경망 트랙이 시작됩니다.
라이선스
강의 노트에 별도 공개 라이선스 표기가 없어 저작권 보호 자료로 봅니다. 이 글은 원문 번역이 아니라 KAITABASE가 직접 쓴 해설이며, 숫자 예는 모두 설명용으로 만든 것입니다.
출처
- 원문: https://cs229.stanford.edu/main_notes.pdf (Andrew Ng · Tengyu Ma, Stanford CS229)
AI 원리부터 이해하기 · 머신러닝 모듈
머신러닝 모듈 학습
이 글은 머신러닝 모듈의 학습 자료입니다. 전체 17개 자료 중 15번째입니다.
출처·원문
원문 보기요약만