검색
← 모듈 로드맵

구글 머신러닝 단기 집중 과정

강의 · 입문자 · Google

원제 · Machine Learning Crash Course

선형 회귀 · MSE 손실 · 경사 하강법 · 로지스틱 회귀를 손계산으로 배우는 머신러닝 첫 수업

먼저 알아야 할 것

일차함수평균 · 제곱 계산파이썬 기초(선택)

다루는 내용

구글 머신러닝 단기 집중 과정(MLCC)의 첫 모듈을 바탕으로, 모델 · 특성 · 라벨의 뜻과 선형 회귀 · 평균 제곱 오차 · 경사 하강법을 세 점짜리 데이터로 직접 계산해 봅니다. 학습률 · 배치 크기 · 에포크가 학습에 주는 영향과 로지스틱 회귀의 시그모이드 · 로그 손실까지 다루고, AI 기초 지식 섹션 전체의 학습 경로를 안내합니다.

해설

구글 머신러닝 단기 집중 과정으로 배우는 머신러닝 첫걸음

머신러닝은 "데이터를 보고 함수 속 숫자(가중치)를 조금씩 고쳐 가는 일"입니다. 이 수업은 구글 머신러닝 단기 집중 과정(MLCC)의 첫 모듈들이 다루는 선형 회귀 · 손실 · 경사 하강법 · 로지스틱 회귀를, 원문을 열지 않아도 손으로 따라 할 수 있게 풀어 씁니다. 맨 끝에는 이 섹션 전체의 학습 경로가 있습니다.

항목내용
출처Machine Learning Crash Course (MLCC) · Google for Developers · developers.google.com/machine-learning/crash-course
트랙 · 수준입문 · 입문
이 수업의 범위MLCC 1묶음 '머신러닝 모델'의 선형 회귀(선형 모델 · 손실 · 경사 하강법 · 하이퍼파라미터)와 로지스틱 회귀 맛보기
먼저 알면 좋은 것일차함수 y=ax+by = ax + b, 평균 내기, 제곱 계산

들어가기 전에

먼저 AI란 무엇인가: 개념 지도 · 학습 방식 · 짧은 역사에서 AI · 머신러닝 · 딥러닝의 관계와 학습 방식을 잡고 오면 좋습니다. 그 밖에 따로 읽고 올 항목은 없습니다. 중학교 수준의 일차함수 그래프, 평균 구하기, 제곱 계산만 알면 됩니다. 미분은 몰라도 됩니다. 필요한 만큼 이 글 안에서 설명하고, 제대로 배우고 싶으면 수학 트랙의 미분 최소한에서 이어서 다룹니다.

한눈에 보기

  • 모델 · 특성 · 라벨 · 가중치 · 편향이 각각 무엇인지 구별합니다.
  • 선형 회귀가 예측을 만드는 식 y^=wx+b\hat{y} = wx + b와, 예측이 얼마나 틀렸는지 재는 평균 제곱 오차(MSE)를 직접 계산합니다.
  • 경사 하강법(gradient descent)으로 가중치를 한 걸음 고치는 과정을 숫자 세 개짜리 데이터로 따라갑니다.
  • 학습률 · 배치 크기 · 에포크 같은 하이퍼파라미터가 학습에 어떤 영향을 주는지 압니다.
  • 같은 틀이 분류 문제(로지스틱 회귀)와 신경망 · LLM까지 그대로 이어진다는 것을 봅니다.

1. 머신러닝이 푸는 문제: 모델 · 특성 · 라벨

직관(해설용 비유): 중고차 딜러가 수백 대의 거래 기록을 보며 "주행거리가 1만 km 늘 때마다 값이 얼마쯤 떨어지더라"는 감을 잡는 과정과 같습니다. 머신러닝은 이 '감'을 숫자로 적어 둔 함수를 데이터로부터 찾습니다.

머신러닝에서 쓰는 말을 먼저 정리합니다.

  • 특성(feature) xx: 예측에 쓰는 입력입니다. 자동차 무게, 집 면적, 메일 속 단어 같은 것입니다.
  • 라벨(label) yy: 맞히고 싶은 정답입니다. 연비, 집값, 스팸 여부 같은 것입니다.
  • 예제(example): 특성과 라벨 한 쌍 (x,y)(x, y)입니다. 라벨이 붙은 예제를 모아 학습합니다.
  • 모델(model): 특성을 넣으면 예측 y^\hat{y}("와이 햇")을 내놓는 함수입니다.
  • 학습(training): 예측이 라벨에 가까워지도록 모델 속 숫자를 고치는 과정입니다.
  • 추론(inference): 다 배운 모델에 새 특성을 넣어 예측을 얻는 일입니다.

라벨이 숫자(연비 14.2)이면 회귀(regression), 라벨이 범주(스팸/정상)이면 분류(classification)라고 부릅니다.

2. 선형 회귀: 직선 하나로 예측하기

직관: 점들이 흩어진 그래프 위에 점들을 가장 잘 따라가는 직선을 하나 긋는 일입니다.

단계

  1. 직선의 기울기 ww와 절편 bb를 아무 값으로 정합니다.
  2. 각 예제의 특성 xx를 넣어 예측 y^\hat{y}를 계산합니다.
  3. 예측과 라벨의 차이를 모아 '얼마나 틀렸는지'를 숫자 하나로 만듭니다(다음 절의 손실).
  4. 그 숫자가 작아지도록 ww와 bb를 고칩니다(3절의 경사 하강법).
y^=wx+b\hat{y} = w x + b

특성이 여러 개이면 각 특성마다 가중치를 하나씩 둡니다.

y^=w1x1+w2x2+⋯+wnxn+b\hat{y} = w_1 x_1 + w_2 x_2 + \dots + w_n x_n + b
기호뜻
x, x1…xnx,\ x_1 \dots x_n특성(입력)
y^\hat{y}모델의 예측값
w, w1…wnw,\ w_1 \dots w_n가중치(weight) — 특성이 예측에 얼마나 영향을 주는지
bb편향(bias) — 모든 특성이 0일 때의 예측값, 직선의 절편

왜 직선부터 배우나: 직선은 가장 단순한 모델이지만, 신경망의 한 층도 결국 "가중치를 곱해 더하고 편향을 더하는" 같은 계산을 합니다. 여기서 익힌 wx+bwx + b가 딥러닝 내내 나옵니다.

3. 손실: 얼마나 틀렸는지 숫자로 재기

직관: 화살이 과녁 중앙에서 얼마나 벗어났는지 자로 재는 일입니다. 여러 발을 쏘았다면 벗어난 거리를 평균 냅니다.

예제 하나의 오차는 y^−y\hat{y} - y입니다. 그런데 오차는 양수도 음수도 나와서 그냥 더하면 서로 지워집니다. 그래서 제곱해서 평균 냅니다. 이것이 평균 제곱 오차(MSE, Mean Squared Error)입니다.

L(w,b)=1N∑i=1N(y^i−yi)2=1N∑i=1N(wxi+b−yi)2L(w, b) = \frac{1}{N} \sum_{i=1}^{N} \left( \hat{y}_i - y_i \right)^2 = \frac{1}{N} \sum_{i=1}^{N} \left( w x_i + b - y_i \right)^2
기호뜻
LL손실(loss) — 작을수록 좋은 모델
NN예제 개수
ii몇 번째 예제인지 나타내는 번호
∑i=1N\sum_{i=1}^{N}1번부터 NN번 예제까지 모두 더하기

숫자로 해 보기(해설용): 예제 세 개 (x,y)=(1,2), (2,4), (3,5)(x, y) = (1, 2),\ (2, 4),\ (3, 5)로 계속 연습합니다. 시작값을 w=1, b=0w = 1,\ b = 0으로 두면 예측은 1,2,31, 2, 3입니다.

예제xxyyy^\hat{y}오차 y^−y\hat{y} - y제곱
1121−11
2242−24
3353−24

제곱의 평균은 (1+4+4)/3=3(1 + 4 + 4)/3 = 3입니다. 지금 모델의 손실은 3입니다.

왜 제곱인가: 절댓값 ∣y^−y∣|\hat{y} - y|를 쓰는 L1 손실(MAE)도 있습니다. 제곱을 쓰면 크게 틀린 예제를 더 무겁게 벌하고, 미분이 매끄러워 계산이 쉽습니다. 대신 이상치(outlier) 하나에 끌려가기 쉽다는 단점이 있습니다. 어느 손실을 쓸지는 문제에 따라 고르는 설계 선택입니다.

4. 경사 하강법: 손실이 줄어드는 쪽으로 한 걸음씩

직관(해설용 비유): 안개 낀 산에서 눈을 가리고 골짜기 바닥으로 내려가는 일입니다. 발밑의 기울기만 느끼고, 내려가는 방향으로 한 걸음 옮기고, 다시 기울기를 느끼기를 되풀이합니다.

단계

  1. 지금의 w,bw, b에서 손실을 계산합니다.
  2. ww를 아주 조금 늘렸을 때 손실이 얼마나 변하는지(기울기, 미분값)를 구합니다. bb도 마찬가지입니다.
  3. 기울기의 반대 방향으로 한 걸음 옮깁니다. 기울기가 음수면 ww를 늘리고, 양수면 줄입니다.
  4. 손실이 더 줄지 않을 때(수렴)까지 1~3을 반복합니다.
w←w−η∂L∂w,b←b−η∂L∂bw \leftarrow w - \eta \frac{\partial L}{\partial w}, \qquad b \leftarrow b - \eta \frac{\partial L}{\partial b}

MSE에서 두 기울기는 다음과 같습니다(미분 과정은 미분 최소한의 연쇄 법칙 절에서 다룹니다).

∂L∂w=2N∑i=1N(y^i−yi) xi,∂L∂b=2N∑i=1N(y^i−yi)\frac{\partial L}{\partial w} = \frac{2}{N}\sum_{i=1}^{N} (\hat{y}_i - y_i)\, x_i, \qquad \frac{\partial L}{\partial b} = \frac{2}{N}\sum_{i=1}^{N} (\hat{y}_i - y_i)
기호뜻
←\leftarrow오른쪽 값으로 덮어쓰기
η\eta학습률(learning rate, "에타") — 한 걸음의 크기
∂L/∂w\partial L / \partial www만 살짝 바꿀 때 손실이 변하는 비율(편미분)

숫자로 해 보기(해설용): 앞의 예제에서 오차는 −1,−2,−2-1, -2, -2였습니다.

  • ∂L/∂w=23((−1)(1)+(−2)(2)+(−2)(3))=23(−11)≈−7.33\partial L/\partial w = \frac{2}{3}\big((-1)(1) + (-2)(2) + (-2)(3)\big) = \frac{2}{3}(-11) \approx -7.33
  • ∂L/∂b=23(−1−2−2)=23(−5)≈−3.33\partial L/\partial b = \frac{2}{3}(-1 - 2 - 2) = \frac{2}{3}(-5) \approx -3.33

학습률 η=0.1\eta = 0.1로 한 걸음 옮깁니다.

  • w←1−0.1×(−7.33)≈1.733w \leftarrow 1 - 0.1 \times (-7.33) \approx 1.733
  • b←0−0.1×(−3.33)≈0.333b \leftarrow 0 - 0.1 \times (-3.33) \approx 0.333

새 예측은 약 2.07, 3.80, 5.532.07,\ 3.80,\ 5.53이고, 손실은 3에서 약 0.1100.110으로 크게 줄었습니다. 이 걸음을 수천 번 되풀이하면 w≈1.5, b≈0.667w \approx 1.5,\ b \approx 0.667에 도착하고 손실은 약 0.0560.056에서 멈춥니다. 세 점이 정확히 한 직선 위에 있지 않으므로 손실이 0이 되지는 않습니다.

왜 이렇게 하나: 선형 회귀는 공식 한 줄(정규 방정식)로 답을 구할 수도 있습니다. 하지만 가중치가 수십억 개인 신경망에는 그런 공식이 없습니다. 기울기만 알면 어떤 모델이든 조금씩 고칠 수 있는 경사 하강법이 그래서 모든 딥러닝의 공통 도구가 되었습니다. 정규 방정식은 스탠퍼드 CS229 머신러닝 강의 노트 수업에서 같은 데이터로 풀어 봅니다.

mermaid
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. 하이퍼파라미터: 사람이 정하는 설정값

모델이 스스로 배우는 w,bw, b는 매개변수(parameter)입니다. 반면 사람이 학습 전에 정해 주는 값은 하이퍼파라미터(hyperparameter)라고 부릅니다. MLCC 선형 회귀 모듈도 손실 · 경사 하강법 다음에 하이퍼파라미터를 따로 다룹니다. 대표적인 세 가지는 다음과 같습니다.

학습률 η\eta: 너무 작으면 수렴이 아주 느립니다. 너무 크면 골짜기를 건너뛰어 오히려 손실이 커집니다.

숫자로 해 보기(해설용): 같은 시작점에서 η=0.5\eta = 0.5로 한 걸음 옮기면 w≈4.67, b≈1.67w \approx 4.67,\ b \approx 1.67이 되고 손실은 3에서 약 60.560.5로 폭증합니다. η=0.1\eta = 0.1일 때 0.1100.110으로 줄었던 것과 정반대입니다. 학습률 하나로 학습이 성공하기도, 망가지기도 합니다.

배치 크기(batch size): 기울기를 계산할 때 예제를 몇 개씩 쓰는지입니다.

  • 전체 데이터를 다 쓰면 기울기는 정확하지만 한 걸음이 비쌉니다.
  • 예제 하나만 쓰면 확률적 경사 하강법(SGD)입니다. 싸지만 방향이 흔들립니다.
  • 그 사이에서 수십~수백 개씩 쓰는 미니배치(mini-batch) SGD가 실무의 기본입니다. 흔들림은 적당히 줄이고 계산은 GPU로 한꺼번에 처리합니다.

에포크(epoch): 전체 학습 데이터를 한 번 다 훑는 것을 1 에포크라고 합니다. 예제 1,000개를 배치 크기 100으로 학습하면 1 에포크는 10번의 갱신(step)입니다.

왜 하이퍼파라미터를 따로 구분하나: 하이퍼파라미터는 손실의 기울기로 배울 수 없습니다. 그래서 여러 값을 시험해 보고 검증 데이터에서 가장 좋은 값을 고릅니다. 이 '검증'의 방법은 모델 평가와 과적합에서 다룹니다.

6. 분류 맛보기: 로지스틱 회귀

직관: 직선이 내놓는 아무 숫자를 0과 1 사이의 확률로 눌러 담는 장치를 덧붙입니다. "이 메일이 스팸일 확률 0.88" 같은 답을 얻습니다.

단계

  1. 선형 회귀처럼 z=wx+bz = wx + b를 계산합니다. zz는 아무 실수입니다.
  2. 시그모이드(sigmoid) 함수 σ(z)\sigma(z)로 zz를 0~1 사이 값으로 바꿉니다.
  3. 정답이 1일 때는 p^\hat{p}가 클수록, 정답이 0일 때는 p^\hat{p}가 작을수록 손실이 작게 만드는 로그 손실(log loss)을 씁니다.
  4. 같은 경사 하강법으로 w,bw, b를 고칩니다.
p^=σ(z)=11+e−z,L=−[ ylog⁡p^+(1−y)log⁡(1−p^) ]\hat{p} = \sigma(z) = \frac{1}{1 + e^{-z}}, \qquad L = -\big[\, y \log \hat{p} + (1 - y)\log(1 - \hat{p}) \,\big]
기호뜻
zz선형 결합 wx+bwx + b (로짓이라고도 부름)
σ\sigma시그모이드 — 큰 zz는 1에, 작은 zz는 0에 가깝게
p^\hat{p}모델이 말하는 '정답이 1일 확률'
yy실제 라벨(0 또는 1)
log⁡\log자연로그

숫자로 해 보기(해설용): z=2z = 2이면 p^=1/(1+e−2)≈0.881\hat{p} = 1/(1 + e^{-2}) \approx 0.881입니다. 실제 라벨이 1이면 손실은 −log⁡0.881≈0.127-\log 0.881 \approx 0.127로 작습니다. 반대로 모델이 정답에 0.1만 주었다면 손실은 −log⁡0.1≈2.30-\log 0.1 \approx 2.30으로 18배쯤 큽니다. 확신하며 틀릴수록 크게 벌받습니다.

왜 MSE를 그대로 쓰지 않나: 확률에 MSE를 쓰면 손실 곡면이 울퉁불퉁해져 경사 하강법이 잘 안 됩니다. 로그 손실은 "모델이 정답에 준 확률을 최대화한다"는 최대우도 원리에서 바로 나오고, 기울기가 깔끔합니다. 자세한 유도는 스탠퍼드 CS229 머신러닝 강의 노트 수업과 정보 이론 최소한에서 합니다. 확률을 0/1 결정으로 바꾸는 임곗값과 정밀도 · 재현율은 모델 평가와 과적합에서 다룹니다.

7. 같은 틀이 LLM까지 이어진다

지금까지 본 틀은 "모델 → 예측 → 손실 → 기울기 → 갱신"입니다. 이 틀은 모델이 커져도 바뀌지 않습니다.

  • 신경망: wx+bwx + b를 여러 층 쌓고 층 사이에 비선형 함수를 끼운 모델입니다. 기울기는 역전파로 구합니다.
  • 임베딩: 단어 · 상품 같은 범주를 짧은 숫자 벡터로 바꿔 특성으로 씁니다.
  • LLM: 다음 토큰을 분류 문제처럼 맞히는 모델입니다. 손실은 6절의 로그 손실을 여러 범주로 넓힌 교차 엔트로피입니다.

MLCC도 선형 · 로지스틱 회귀와 분류 다음에 데이터 다루기, 신경망, 임베딩, LLM 입문 순서로 모듈을 쌓습니다.

이 섹션 전체 학습 경로

트랙 순서 · 수업 목록 · 예상 시간은 과정 안내: 이 섹션만으로 AI 공부 끝내기에 모아 두었습니다. 입문 다음은 실습 준비이고, 그 뒤 직장인 경로는 AX란 무엇인가, 개발자 · 이론 경로는 선형대수 1로 이어 갑니다.

연습 문제

1. 예제 (x,y)=(2,5)(x, y) = (2, 5) 하나, w=1, b=0w = 1,\ b = 0, η=0.1\eta = 0.1일 때 ww만 한 번 갱신하면 얼마가 되나요? 손실은 어떻게 바뀌나요?

풀이: y^=2\hat{y} = 2, 오차 −3-3, 손실 99입니다. 예제가 하나(N=1N = 1)이므로 ∂L/∂w=2×(−3)×2=−12\partial L/\partial w = 2 \times (-3) \times 2 = -12, w←1−0.1×(−12)=2.2w \leftarrow 1 - 0.1 \times (-12) = 2.2입니다. 새 예측 4.44.4, 손실 (4.4−5)2=0.36(4.4 - 5)^2 = 0.36입니다.

2. 예제 2,000개를 배치 크기 50으로 3 에포크 학습하면 가중치 갱신은 모두 몇 번인가요?

풀이: 1 에포크에 2000/50=402000 / 50 = 40번, 3 에포크면 120120번입니다.

3. 본문 예제에서 bb를 고정하고 ww만 1.51.5로 바꾸면 예측과 MSE는 얼마인가요? (b=0b = 0)

풀이: 예측 1.5, 3, 4.51.5,\ 3,\ 4.5, 오차 −0.5, −1, −0.5-0.5,\ -1,\ -0.5, 제곱 0.25, 1, 0.250.25,\ 1,\ 0.25, MSE =1.5/3=0.5= 1.5/3 = 0.5입니다. 처음 손실 3보다 작지만, bb도 함께 배운 결과(약 0.056)보다는 큽니다.

4. 로지스틱 회귀에서 z=0z = 0이면 p^\hat{p}는 얼마이고, 라벨이 1일 때 손실은 얼마인가요?

풀이: σ(0)=1/(1+1)=0.5\sigma(0) = 1/(1 + 1) = 0.5, 손실 −log⁡0.5≈0.693-\log 0.5 \approx 0.693입니다. "반반이라 잘 모르겠다"는 예측의 손실입니다.

스스로 점검

  1. 매개변수와 하이퍼파라미터의 차이는 무엇인가요?
    • 답: 매개변수(w,bw, b)는 손실의 기울기를 따라 학습으로 정해지고, 하이퍼파라미터(학습률 · 배치 크기 · 에포크)는 사람이 학습 전에 정해 검증 성능으로 고릅니다.
  2. 기울기 ∂L/∂w\partial L/\partial w가 음수일 때 ww를 늘리나요, 줄이나요?
    • 답: 늘립니다. 갱신식이 w−η×(음수)w - \eta \times (\text{음수})이므로 ww가 커집니다. "ww를 늘리면 손실이 준다"는 뜻이기 때문입니다.
  3. 학습률을 너무 크게 잡으면 어떤 일이 생기나요?
    • 답: 최솟값을 건너뛰어 손실이 오르내리거나 본문 예처럼 오히려 폭증합니다.

용어 정리

용어쉬운 뜻
특성(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절의 내용을 눈으로 확인할 수 있습니다. 그다음 '분류' 모듈과 '데이터셋 · 일반화 · 과적합' 모듈은 이 섹션의 모델 평가와 과적합과 이어집니다.

다음에 볼 것

라이선스

MLCC 페이지 본문은 별도 표기가 없는 한 크리에이티브 커먼즈 저작자표시 4.0(CC BY 4.0), 코드 예제는 Apache 2.0 라이선스입니다. 이 글은 원문 번역이 아니라 KAITABASE가 직접 쓴 해설이며, 숫자 예는 모두 설명용으로 만든 것입니다.

출처

AI 원리부터 이해하기 · 입문 모듈

입문 모듈 학습

이 글은 입문 모듈의 학습 자료입니다. 전체 6개 자료 중 3번째입니다.

AI 기초 과정은 현재 진도 저장을 지원하지 않습니다.

출처·원문

원문 보기

번역가능

CC BY 4.0