선형 회귀는 어떻게 최적의 선을 찾을까요?
선형 회귀는 데이터와 직선 사이의 「오차」를 최소화하는 방향으로 선을 조금씩 수정합니다.
데이터 표시
수집한 데이터들을 2차원 그래프 위에 점으로 찍어 분포와 패턴을 확인합니다.
초기 직선 생성
기울기와 절편을 무작위로 정해 임의의 선을 하나 긋습니다.
오차 계산
현재 직선과 실제 데이터 점들 사이의 수직 거리(오차)를 구한 뒤, 제곱해서 평균 낸 값을 오차의 크기로 삼습니다. 이 값을 평균제곱오차(MSE)라고 합니다.
직선 수정 (학습)
계산된 오차를 줄이는 방향으로 직선의 기울기와 절편을 조금씩 조정합니다.
핵심 정리
- 선형 회귀는 데이터를 가장 잘 설명하는 직선을 찾는 방법입니다.
- 기계가 「학습」한다는 것은 오차를 줄이도록 직선을 계속 수정하는 과정을 의미합니다.
주의할 점 (오개념 방지)
- 선형 회귀가 항상 완벽하게 모든 점을 지나는 선을 찾는 것은 아닙니다.
- 현실의 데이터는 직선 관계가 아닐 수도 있습니다 (곡선 형태 등).
- 절편(b)은 직선의 높이를 맞춰 주는 숫자입니다. 예제에는 x가 0인 자료가 없으므로, 절편을 「x가 0일 때의 기본값」으로 읽지 않습니다.
- 기울기(a)는 x가 1만큼 큰 자료의 예측값이 얼마나 더 높은지를 나타냅니다. 모은 자료에서 관찰된 관계일 뿐, x를 바꾸면 y가 따라 바뀐다는 뜻은 아닙니다 (상관관계 ≠ 인과관계). 예제 이름의 화살표는 「무엇으로 무엇을 맞혀 보는가」를 가리킬 뿐입니다.
손으로 맞추기 — 오차 제곱의 합 줄이기
기울기와 절편을 직접 움직여 보라색 정사각형의 넓이 합이 가장 작아지는 선을 찾아보세요.
보라색 사각형의 가로 폭은 넓이를 보이려고 세로 길이와 같게 그린 것입니다. x축의 값이 아닙니다. 그림을 누르면 그 자리에 점이 하나 늘어나고, 처음으로 되돌리려면 예제 버튼을 다시 누르세요.
점 개수로 나눈 평균(MSE) 0 — 아래 자동 학습이 줄이는 값이 이것입니다.
내가 놓아 본 선
| 기울기 a | 절편 b | 합 |
|---|
자료
내 선형 회귀 직선 만들기
r은 점들이 직선에 얼마나 몰려 있는지이지, 선이 얼마나 가파른지가 아닙니다.
오차 곡선 — 골짜기의 바닥을 찾아가기
기울기를 바꿀 때 오차 제곱의 합이 어떻게 변하는지 그려 봅니다.
자료와 내 직선. 점선 하나하나가 오차입니다. 그림을 누르면 그 자리에 점이 하나 늘어나고, 오차 곡선의 모양도 함께 바뀝니다.
이 곡선은 절편 b를 지금 값으로 고정하고 기울기 a만 바꿔 본 것입니다. b를 움직이면 곡선 전체가 바뀌므로, 골짜기 바닥이 곧 정답 기울기인 것은 아닙니다. 가로 축은 골짜기 둘레만 보이도록 좁혀지고, 가까이 갈수록 더 크게 확대됩니다. 세로 축도 0에서 시작하지 않으므로, 축 양 끝에 적힌 값을 함께 보세요.
자료
지금 선의 합
0
이 절편에서 가장 작은 합
0
그때의 기울기
0
내 선형 회귀 직선 만들기
선형 회귀 학습 시뮬레이터
데이터를 입력하거나 실생활 예제를 불러온 뒤 「학습 시작」을 눌러 보세요.
자료
학습
적당한 학습률입니다.
기울기 a
0.000
절편 b
0.000
MSE
0.000
Epoch
0