구글 머신러닝 단기 집중 과정
선형 회귀 · MSE 손실 · 경사 하강법 · 로지스틱 회귀를 손계산으로 배우는 머신러닝 첫 수업
먼저 알아야 할 것
다루는 내용
구글 머신러닝 단기 집중 과정(MLCC)의 첫 모듈을 바탕으로, 모델 · 특성 · 라벨의 뜻과 선형 회귀 · 평균 제곱 오차 · 경사 하강법을 세 점짜리 데이터로 직접 계산해 봅니다. 학습률 · 배치 크기 · 에포크가 학습에 주는 영향과 로지스틱 회귀의 시그모이드 · 로그 손실까지 다루고, AI 기초 지식 섹션 전체의 학습 경로를 안내합니다.
해설
구글 머신러닝 단기 집중 과정으로 배우는 머신러닝 첫걸음
머신러닝은 "데이터를 보고 함수 속 숫자(가중치)를 조금씩 고쳐 가는 일"입니다. 이 수업은 구글 머신러닝 단기 집중 과정(MLCC)의 첫 모듈들이 다루는 선형 회귀 · 손실 · 경사 하강법 · 로지스틱 회귀를, 원문을 열지 않아도 손으로 따라 할 수 있게 풀어 씁니다. 맨 끝에는 이 섹션 전체의 학습 경로가 있습니다.
| 항목 | 내용 |
|---|---|
| 출처 | Machine Learning Crash Course (MLCC) · Google for Developers · developers.google.com/machine-learning/crash-course |
| 트랙 · 수준 | 입문 · 입문 |
| 이 수업의 범위 | MLCC 1묶음 '머신러닝 모델'의 선형 회귀(선형 모델 · 손실 · 경사 하강법 · 하이퍼파라미터)와 로지스틱 회귀 맛보기 |
| 먼저 알면 좋은 것 | 일차함수 , 평균 내기, 제곱 계산 |
들어가기 전에
먼저 AI란 무엇인가: 개념 지도 · 학습 방식 · 짧은 역사에서 AI · 머신러닝 · 딥러닝의 관계와 학습 방식을 잡고 오면 좋습니다. 그 밖에 따로 읽고 올 항목은 없습니다. 중학교 수준의 일차함수 그래프, 평균 구하기, 제곱 계산만 알면 됩니다. 미분은 몰라도 됩니다. 필요한 만큼 이 글 안에서 설명하고, 제대로 배우고 싶으면 수학 트랙의 미분 최소한에서 이어서 다룹니다.
한눈에 보기
- 모델 · 특성 · 라벨 · 가중치 · 편향이 각각 무엇인지 구별합니다.
- 선형 회귀가 예측을 만드는 식 와, 예측이 얼마나 틀렸는지 재는 평균 제곱 오차(MSE)를 직접 계산합니다.
- 경사 하강법(gradient descent)으로 가중치를 한 걸음 고치는 과정을 숫자 세 개짜리 데이터로 따라갑니다.
- 학습률 · 배치 크기 · 에포크 같은 하이퍼파라미터가 학습에 어떤 영향을 주는지 압니다.
- 같은 틀이 분류 문제(로지스틱 회귀)와 신경망 · LLM까지 그대로 이어진다는 것을 봅니다.
1. 머신러닝이 푸는 문제: 모델 · 특성 · 라벨
직관(해설용 비유): 중고차 딜러가 수백 대의 거래 기록을 보며 "주행거리가 1만 km 늘 때마다 값이 얼마쯤 떨어지더라"는 감을 잡는 과정과 같습니다. 머신러닝은 이 '감'을 숫자로 적어 둔 함수를 데이터로부터 찾습니다.
머신러닝에서 쓰는 말을 먼저 정리합니다.
- 특성(feature) : 예측에 쓰는 입력입니다. 자동차 무게, 집 면적, 메일 속 단어 같은 것입니다.
- 라벨(label) : 맞히고 싶은 정답입니다. 연비, 집값, 스팸 여부 같은 것입니다.
- 예제(example): 특성과 라벨 한 쌍 입니다. 라벨이 붙은 예제를 모아 학습합니다.
- 모델(model): 특성을 넣으면 예측 ("와이 햇")을 내놓는 함수입니다.
- 학습(training): 예측이 라벨에 가까워지도록 모델 속 숫자를 고치는 과정입니다.
- 추론(inference): 다 배운 모델에 새 특성을 넣어 예측을 얻는 일입니다.
라벨이 숫자(연비 14.2)이면 회귀(regression), 라벨이 범주(스팸/정상)이면 분류(classification)라고 부릅니다.
2. 선형 회귀: 직선 하나로 예측하기
직관: 점들이 흩어진 그래프 위에 점들을 가장 잘 따라가는 직선을 하나 긋는 일입니다.
단계
- 직선의 기울기 와 절편 를 아무 값으로 정합니다.
- 각 예제의 특성 를 넣어 예측 를 계산합니다.
- 예측과 라벨의 차이를 모아 '얼마나 틀렸는지'를 숫자 하나로 만듭니다(다음 절의 손실).
- 그 숫자가 작아지도록 와 를 고칩니다(3절의 경사 하강법).
특성이 여러 개이면 각 특성마다 가중치를 하나씩 둡니다.
| 기호 | 뜻 |
|---|---|
| 특성(입력) | |
| 모델의 예측값 | |
| 가중치(weight) — 특성이 예측에 얼마나 영향을 주는지 | |
| 편향(bias) — 모든 특성이 0일 때의 예측값, 직선의 절편 |
왜 직선부터 배우나: 직선은 가장 단순한 모델이지만, 신경망의 한 층도 결국 "가중치를 곱해 더하고 편향을 더하는" 같은 계산을 합니다. 여기서 익힌 가 딥러닝 내내 나옵니다.
3. 손실: 얼마나 틀렸는지 숫자로 재기
직관: 화살이 과녁 중앙에서 얼마나 벗어났는지 자로 재는 일입니다. 여러 발을 쏘았다면 벗어난 거리를 평균 냅니다.
예제 하나의 오차는 입니다. 그런데 오차는 양수도 음수도 나와서 그냥 더하면 서로 지워집니다. 그래서 제곱해서 평균 냅니다. 이것이 평균 제곱 오차(MSE, Mean Squared Error)입니다.
| 기호 | 뜻 |
|---|---|
| 손실(loss) — 작을수록 좋은 모델 | |
| 예제 개수 | |
| 몇 번째 예제인지 나타내는 번호 | |
| 1번부터 번 예제까지 모두 더하기 |
숫자로 해 보기(해설용): 예제 세 개 로 계속 연습합니다. 시작값을 으로 두면 예측은 입니다.
| 예제 | 오차 | 제곱 | |||
|---|---|---|---|---|---|
| 1 | 1 | 2 | 1 | −1 | 1 |
| 2 | 2 | 4 | 2 | −2 | 4 |
| 3 | 3 | 5 | 3 | −2 | 4 |
제곱의 평균은 입니다. 지금 모델의 손실은 3입니다.
왜 제곱인가: 절댓값 를 쓰는 L1 손실(MAE)도 있습니다. 제곱을 쓰면 크게 틀린 예제를 더 무겁게 벌하고, 미분이 매끄러워 계산이 쉽습니다. 대신 이상치(outlier) 하나에 끌려가기 쉽다는 단점이 있습니다. 어느 손실을 쓸지는 문제에 따라 고르는 설계 선택입니다.
4. 경사 하강법: 손실이 줄어드는 쪽으로 한 걸음씩
직관(해설용 비유): 안개 낀 산에서 눈을 가리고 골짜기 바닥으로 내려가는 일입니다. 발밑의 기울기만 느끼고, 내려가는 방향으로 한 걸음 옮기고, 다시 기울기를 느끼기를 되풀이합니다.
단계
- 지금의 에서 손실을 계산합니다.
- 를 아주 조금 늘렸을 때 손실이 얼마나 변하는지(기울기, 미분값)를 구합니다. 도 마찬가지입니다.
- 기울기의 반대 방향으로 한 걸음 옮깁니다. 기울기가 음수면 를 늘리고, 양수면 줄입니다.
- 손실이 더 줄지 않을 때(수렴)까지 1~3을 반복합니다.
MSE에서 두 기울기는 다음과 같습니다(미분 과정은 미분 최소한의 연쇄 법칙 절에서 다룹니다).
| 기호 | 뜻 |
|---|---|
| 오른쪽 값으로 덮어쓰기 | |
| 학습률(learning rate, "에타") — 한 걸음의 크기 | |
| 만 살짝 바꿀 때 손실이 변하는 비율(편미분) |
숫자로 해 보기(해설용): 앞의 예제에서 오차는 였습니다.
학습률 로 한 걸음 옮깁니다.
새 예측은 약 이고, 손실은 3에서 약 으로 크게 줄었습니다. 이 걸음을 수천 번 되풀이하면 에 도착하고 손실은 약 에서 멈춥니다. 세 점이 정확히 한 직선 위에 있지 않으므로 손실이 0이 되지는 않습니다.
왜 이렇게 하나: 선형 회귀는 공식 한 줄(정규 방정식)로 답을 구할 수도 있습니다. 하지만 가중치가 수십억 개인 신경망에는 그런 공식이 없습니다. 기울기만 알면 어떤 모델이든 조금씩 고칠 수 있는 경사 하강법이 그래서 모든 딥러닝의 공통 도구가 되었습니다. 정규 방정식은 스탠퍼드 CS229 머신러닝 강의 노트 수업에서 같은 데이터로 풀어 봅니다.
flowchart LR
A[가중치 w, b 초기화] --> B[예측 ŷ = wx + b]
B --> C[손실 L 계산 · MSE]
C --> D[기울기 ∂L/∂w, ∂L/∂b]
D --> E[w, b 를 기울기 반대로 η만큼 이동]
E --> F{손실이 더 줄어드나?}
F -- 예 --> B
F -- 아니오 --> G[학습 끝 · 추론에 사용]5. 하이퍼파라미터: 사람이 정하는 설정값
모델이 스스로 배우는 는 매개변수(parameter)입니다. 반면 사람이 학습 전에 정해 주는 값은 하이퍼파라미터(hyperparameter)라고 부릅니다. MLCC 선형 회귀 모듈도 손실 · 경사 하강법 다음에 하이퍼파라미터를 따로 다룹니다. 대표적인 세 가지는 다음과 같습니다.
학습률 : 너무 작으면 수렴이 아주 느립니다. 너무 크면 골짜기를 건너뛰어 오히려 손실이 커집니다.
숫자로 해 보기(해설용): 같은 시작점에서 로 한 걸음 옮기면 이 되고 손실은 3에서 약 로 폭증합니다. 일 때 으로 줄었던 것과 정반대입니다. 학습률 하나로 학습이 성공하기도, 망가지기도 합니다.
배치 크기(batch size): 기울기를 계산할 때 예제를 몇 개씩 쓰는지입니다.
- 전체 데이터를 다 쓰면 기울기는 정확하지만 한 걸음이 비쌉니다.
- 예제 하나만 쓰면 확률적 경사 하강법(SGD)입니다. 싸지만 방향이 흔들립니다.
- 그 사이에서 수십~수백 개씩 쓰는 미니배치(mini-batch) SGD가 실무의 기본입니다. 흔들림은 적당히 줄이고 계산은 GPU로 한꺼번에 처리합니다.
에포크(epoch): 전체 학습 데이터를 한 번 다 훑는 것을 1 에포크라고 합니다. 예제 1,000개를 배치 크기 100으로 학습하면 1 에포크는 10번의 갱신(step)입니다.
왜 하이퍼파라미터를 따로 구분하나: 하이퍼파라미터는 손실의 기울기로 배울 수 없습니다. 그래서 여러 값을 시험해 보고 검증 데이터에서 가장 좋은 값을 고릅니다. 이 '검증'의 방법은 모델 평가와 과적합에서 다룹니다.
6. 분류 맛보기: 로지스틱 회귀
직관: 직선이 내놓는 아무 숫자를 0과 1 사이의 확률로 눌러 담는 장치를 덧붙입니다. "이 메일이 스팸일 확률 0.88" 같은 답을 얻습니다.
단계
- 선형 회귀처럼 를 계산합니다. 는 아무 실수입니다.
- 시그모이드(sigmoid) 함수 로 를 0~1 사이 값으로 바꿉니다.
- 정답이 1일 때는 가 클수록, 정답이 0일 때는 가 작을수록 손실이 작게 만드는 로그 손실(log loss)을 씁니다.
- 같은 경사 하강법으로 를 고칩니다.
| 기호 | 뜻 |
|---|---|
| 선형 결합 (로짓이라고도 부름) | |
| 시그모이드 — 큰 는 1에, 작은 는 0에 가깝게 | |
| 모델이 말하는 '정답이 1일 확률' | |
| 실제 라벨(0 또는 1) | |
| 자연로그 |
숫자로 해 보기(해설용): 이면 입니다. 실제 라벨이 1이면 손실은 로 작습니다. 반대로 모델이 정답에 0.1만 주었다면 손실은 으로 18배쯤 큽니다. 확신하며 틀릴수록 크게 벌받습니다.
왜 MSE를 그대로 쓰지 않나: 확률에 MSE를 쓰면 손실 곡면이 울퉁불퉁해져 경사 하강법이 잘 안 됩니다. 로그 손실은 "모델이 정답에 준 확률을 최대화한다"는 최대우도 원리에서 바로 나오고, 기울기가 깔끔합니다. 자세한 유도는 스탠퍼드 CS229 머신러닝 강의 노트 수업과 정보 이론 최소한에서 합니다. 확률을 0/1 결정으로 바꾸는 임곗값과 정밀도 · 재현율은 모델 평가와 과적합에서 다룹니다.
7. 같은 틀이 LLM까지 이어진다
지금까지 본 틀은 "모델 → 예측 → 손실 → 기울기 → 갱신"입니다. 이 틀은 모델이 커져도 바뀌지 않습니다.
- 신경망: 를 여러 층 쌓고 층 사이에 비선형 함수를 끼운 모델입니다. 기울기는 역전파로 구합니다.
- 임베딩: 단어 · 상품 같은 범주를 짧은 숫자 벡터로 바꿔 특성으로 씁니다.
- LLM: 다음 토큰을 분류 문제처럼 맞히는 모델입니다. 손실은 6절의 로그 손실을 여러 범주로 넓힌 교차 엔트로피입니다.
MLCC도 선형 · 로지스틱 회귀와 분류 다음에 데이터 다루기, 신경망, 임베딩, LLM 입문 순서로 모듈을 쌓습니다.
이 섹션 전체 학습 경로
트랙 순서 · 수업 목록 · 예상 시간은 과정 안내: 이 섹션만으로 AI 공부 끝내기에 모아 두었습니다. 입문 다음은 실습 준비이고, 그 뒤 직장인 경로는 AX란 무엇인가, 개발자 · 이론 경로는 선형대수 1로 이어 갑니다.
연습 문제
1. 예제 하나, , 일 때 만 한 번 갱신하면 얼마가 되나요? 손실은 어떻게 바뀌나요?
풀이: , 오차 , 손실 입니다. 예제가 하나()이므로 , 입니다. 새 예측 , 손실 입니다.
2. 예제 2,000개를 배치 크기 50으로 3 에포크 학습하면 가중치 갱신은 모두 몇 번인가요?
풀이: 1 에포크에 번, 3 에포크면 번입니다.
3. 본문 예제에서 를 고정하고 만 로 바꾸면 예측과 MSE는 얼마인가요? ()
풀이: 예측 , 오차 , 제곱 , MSE 입니다. 처음 손실 3보다 작지만, 도 함께 배운 결과(약 0.056)보다는 큽니다.
4. 로지스틱 회귀에서 이면 는 얼마이고, 라벨이 1일 때 손실은 얼마인가요?
풀이: , 손실 입니다. "반반이라 잘 모르겠다"는 예측의 손실입니다.
스스로 점검
- 매개변수와 하이퍼파라미터의 차이는 무엇인가요?
- 답: 매개변수()는 손실의 기울기를 따라 학습으로 정해지고, 하이퍼파라미터(학습률 · 배치 크기 · 에포크)는 사람이 학습 전에 정해 검증 성능으로 고릅니다.
- 기울기 가 음수일 때 를 늘리나요, 줄이나요?
- 답: 늘립니다. 갱신식이 이므로 가 커집니다. "를 늘리면 손실이 준다"는 뜻이기 때문입니다.
- 학습률을 너무 크게 잡으면 어떤 일이 생기나요?
- 답: 최솟값을 건너뛰어 손실이 오르내리거나 본문 예처럼 오히려 폭증합니다.
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 특성(feature) | 예측에 쓰는 입력값 |
| 라벨(label) | 맞히려는 정답 |
| 모델(model) | 특성을 받아 예측을 내는 함수 |
| 가중치(weight) · 편향(bias) | 모델 속에서 학습으로 정해지는 숫자 |
| 회귀(regression) · 분류(classification) | 숫자를 맞히는 문제 · 범주를 맞히는 문제 |
| 손실(loss) | 예측이 정답에서 얼마나 틀렸는지 나타내는 숫자 |
| 평균 제곱 오차(MSE) | 오차를 제곱해 평균 낸 손실 |
| 경사 하강법(gradient descent) | 손실의 기울기 반대 방향으로 매개변수를 조금씩 옮기는 방법 |
| 학습률(learning rate) | 한 번 옮길 때의 보폭 |
| 미니배치(mini-batch) | 기울기를 계산할 때 한 번에 쓰는 예제 묶음 |
| 에포크(epoch) | 학습 데이터를 한 번 다 훑는 단위 |
| 하이퍼파라미터(hyperparameter) | 사람이 학습 전에 정하는 설정값 |
| 시그모이드(sigmoid) | 아무 실수를 0~1 사이로 바꾸는 S자 함수 |
| 로그 손실(log loss) | 정답에 준 확률이 낮을수록 커지는 분류 손실 |
더 깊이 보려면
MLCC 원문에서 이 수업과 겹치는 부분은 '선형 회귀' 모듈(선형 회귀 · 손실 · 경사 하강법 · 하이퍼파라미터 · 인터랙티브 실습 · 프로그래밍 실습)과 '로지스틱 회귀' 모듈(확률 계산 · 손실과 정규화)입니다. 인터랙티브 실습에서 학습률을 직접 바꿔 보면 5절의 내용을 눈으로 확인할 수 있습니다. 그다음 '분류' 모듈과 '데이터셋 · 일반화 · 과적합' 모듈은 이 섹션의 모델 평가와 과적합과 이어집니다.
다음에 볼 것
- 실습 준비: 파이썬 · 넘파이 · scikit-learn · PyTorch 최소한 — 넘파이 배열 · 브로드캐스팅 · scikit-learn fit/predict · PyTorch 자동 미분을 실행하며 익히는 실습 준비
- 머신러닝을 위한 수학 — 이 수업에서 쓴 기울기 공식이 어디서 나오는지(미분 · 연쇄 법칙), 벡터와 행렬로 쓰는 법을 배웁니다.
- 스탠퍼드 CS229 머신러닝 강의 노트 — 로지스틱 회귀를 최대우도로 유도하고, 정규 방정식으로 같은 데이터를 한 번에 풉니다.
- 모델 평가와 과적합 — 학습한 모델이 새 데이터에서도 잘 맞는지 확인하는 법을 배웁니다.
라이선스
MLCC 페이지 본문은 별도 표기가 없는 한 크리에이티브 커먼즈 저작자표시 4.0(CC BY 4.0), 코드 예제는 Apache 2.0 라이선스입니다. 이 글은 원문 번역이 아니라 KAITABASE가 직접 쓴 해설이며, 숫자 예는 모두 설명용으로 만든 것입니다.
출처
- 원문: developers.google.com/machine-learning/cr… (Google for Developers)
- 선형 회귀 모듈: developers.google.com/machine-learning/cr…
- 사전 요건: developers.google.com/machine-learning/cr…
AI 원리부터 이해하기 · 입문 모듈
입문 모듈 학습
이 글은 입문 모듈의 학습 자료입니다. 전체 6개 자료 중 3번째입니다.
출처·원문
원문 보기번역가능