22개정 인공지능 수학 · Unit 4 · 데이터로 예측하고 모델 개선하기
자료의 경향을 직선으로 예측하기
직선 회귀는 흩어진 자료의 경향을 두 수인 기울기와 절편으로 요약합니다. 하지만 직선이 자료를 지나간다는 사실만으로 원인 관계나 관찰 범위 밖의 미래까지 보장되지는 않습니다.
이번 강의의 목표
입력과 목표값을 구분하고 최소제곱 직선의 기울기·절편·예측값을 계산합니다.
예측 직선
기울기 \(a\)는 입력이 한 단위 증가할 때 예측값이 변하는 양이고, 절편 \(b\)는 \(x=0\)일 때의 예측값입니다.
잔차와 손실
실제값에서 예측값을 뺀 잔차의 부호는 방향을, 절댓값은 빗나간 크기를 나타냅니다.
적용 범위
보간은 관찰 범위 안의 예측이고 외삽은 범위 밖에서도 같은 직선 관계가 이어진다고 가정합니다.
회귀 문제의 네 가지 요소
범주를 고르는 분류와 달리 회귀는 점수, 시간, 온도처럼 연속적인 수를 예측합니다. 직선 모델은 입력 하나일 때 \(\hat y=ax+b\), 입력이 여러 개이면 각 특징의 가중합으로 확장됩니다.
직접 만든 미니 데이터
가상 학습 기록에서 한 주의 연습 횟수 \(x\)와 다음 퀴즈의 향상 점수 \(y\)를 다음처럼 관찰했다고 합시다.
| 관측 | 연습 횟수 \(x\) | 향상 점수 \(y\) |
|---|---|---|
| 1 | 1 | 3 |
| 2 | 2 | 5 |
| 3 | 3 | 4 |
| 4 | 4 | 8 |
자료는 계산 연습을 위한 가상 값입니다. 실제 학생의 성취를 연습 횟수 하나만으로 설명할 수 있다는 뜻이 아닙니다.
산점도는 직선이 적절한 첫 모델인지 확인하는 출발점입니다. 곡선 패턴, 여러 집단, 시간에 따른 변화나 극단값이 보이면 하나의 직선만으로 요약하기 어려울 수 있습니다.
잔차 제곱합이 가장 작은 직선
점은 보통 한 직선 위에 정확히 놓이지 않으므로 모든 잔차의 제곱합을 목적함수로 둡니다.
제곱을 사용하면 양수와 음수 잔차가 상쇄되지 않고 큰 오차에 더 큰 벌점이 생깁니다. 최소제곱법은 \(S(a,b)\)를 가장 작게 만드는 \(a,b\)를 고릅니다.
최소제곱 기울기와 절편 유도
\(S\)를 \(a,b\)로 각각 미분해 0으로 놓으면 최소점의 조건을 얻습니다.
두 식을 정리하면 입력값이 모두 같지 않을 때 다음 공식을 얻습니다.
따라서 절편이 포함된 최소제곱 직선은 항상 평균점 \((\bar x,\bar y)\)을 지납니다.
예제 자료로 기울기 계산하기
| \(x_i\) | \(y_i\) | \(x_i-2.5\) | \(y_i-5\) | 두 편차의 곱 | \((x_i-2.5)^2\) |
|---|---|---|---|---|---|
| 1 | 3 | -1.5 | -2 | 3 | 2.25 |
| 2 | 5 | -0.5 | 0 | 0 | 0.25 |
| 3 | 4 | 0.5 | -1 | -0.5 | 0.25 |
| 4 | 8 | 1.5 | 3 | 4.5 | 2.25 |
| 합 | 7 | 5 | |||
기울기 1.4는 이 자료와 모델에서 연습 횟수가 1회 많을 때 예측 향상 점수가 평균적으로 1.4점 높아지는 경향을 뜻합니다. 개인의 점수가 반드시 1.4점 오른다는 뜻도, 연습이 상승의 유일한 원인이라는 뜻도 아닙니다.
예측값과 잔차를 모두 확인하기
| \(x_i\) | 실제 \(y_i\) | 예측 \(\hat y_i\) | 잔차 \(e_i=y_i-\hat y_i\) | \(e_i^2\) |
|---|---|---|---|---|
| 1 | 3 | 2.9 | 0.1 | 0.01 |
| 2 | 5 | 4.3 | 0.7 | 0.49 |
| 3 | 4 | 5.7 | -1.7 | 2.89 |
| 4 | 8 | 7.1 | 0.9 | 0.81 |
| 합 | 0 | 4.20 | ||
양의 잔차는 실제값이 예측보다 높았다는 뜻이고 음의 잔차는 낮았다는 뜻입니다. 절편이 있는 최소제곱 직선의 학습 잔차 합은 반올림 오차를 제외하면 0이지만, 이것만으로 모델이 정확하다는 뜻은 아닙니다.
오차를 하나의 수로 요약하기
MAE와 RMSE는 목표값과 같은 ‘점’ 단위라 해석하기 쉽습니다. 제곱 때문에 RMSE는 큰 잔차에 MAE보다 민감합니다. 어떤 오류를 더 크게 벌줄 것인지는 과제의 목적에 따라 정합니다.
평균 예측보다 얼마나 나아졌는가: \(R^2\)
모든 입력에 평균 \(\bar y=5\)만 예측했을 때의 제곱오차 합은 14이고, 회귀 직선의 제곱오차 합은 4.2입니다.
이 자료에서 직선은 평균만 사용하는 기준선보다 제곱오차 변동의 70%를 줄였습니다. \(R^2=0.70\)을 ‘예측이 70% 정확하다’거나 ‘x가 y의 70%를 원인으로 설명한다’고 해석하면 안 됩니다. 새 자료에서는 값이 낮아지거나 음수가 될 수도 있습니다.
잔차 그림에서 패턴 찾기
좋은 직선 모델의 잔차는 입력 크기에 따라 뚜렷한 곡선이나 부채꼴 패턴 없이 0 주변에 흩어지는 것이 바람직합니다.
- 곡선 패턴: 직선 관계가 충분하지 않을 수 있음
- 퍼짐이 커짐: 입력에 따라 오차 변동이 달라질 수 있음
- 한 점만 매우 큼: 측정 오류 또는 실제로 중요한 극단 사례일 수 있음
극단값을 발견했다고 자동 삭제하면 안 됩니다. 수집 오류인지, 다른 집단인지, 실제 현상인지 근거를 확인하고 포함·제외 결과를 모두 비교합니다.
상관관계는 인과관계가 아니다
연습 횟수와 점수가 함께 증가해도 사전 지식, 학습 시간, 문제 난이도나 자발성 같은 제3의 변수가 두 값 모두와 관련될 수 있습니다.
회귀식은 관찰된 연관성을 요약합니다. 인과 주장은 실험 설계나 추가 가정과 근거가 필요합니다.
보간과 외삽 구분하기
\(\hat y=5\)
관찰 범위 1~4 안의 보간\(\hat y=8.5\)
가까운 외삽이지만 확인 자료가 없음\(\hat y=12.7\)
먼 외삽으로 같은 경향 가정이 더 강함점수의 가능한 범위가 0~10이라면 12.7은 현실적으로 허용되지 않을 수도 있습니다. 출력값을 단순히 자르는 것과 관계 자체를 더 적절한 모델로 표현하는 것은 다른 문제입니다.
학습 성능과 새 자료 성능을 분리하기
- 학습 자료로 기울기와 절편을 계산한다.
- 검증 자료로 특징, 변환과 모델 복잡도를 선택한다.
- 마지막 테스트 자료로 한 번 최종 성능을 확인한다.
- 시간 자료라면 미래 값으로 과거를 학습하지 않도록 시간 순서를 지킨다.
- MAE·RMSE와 함께 입력 범위 및 집단별 잔차를 보고한다.
학습 자료의 잔차가 작아도 새 자료에서 같은 성능이 나온다는 보장은 없습니다. 같은 사람의 반복 기록이 학습과 테스트에 함께 들어가면 새 사람에 대한 성능이 실제보다 좋아 보일 수 있습니다.
여러 특징으로 확장하기
입력이 \(p\)개면 각 특징에 가중치를 두는 평면 또는 초평면 모델로 확장할 수 있습니다.
다른 조건이 같다는 모델 가정 아래 \(w_j\)는 \(x_j\)가 한 단위 증가할 때의 예측 변화량입니다. 특징끼리 강하게 연관되면 개별 계수가 불안정해질 수 있습니다.
책임 있는 회귀 예측 점검표
입력과 목표값의 단위, 기간, 결측값 처리와 측정 오차를 명시합니다.
학습 자료의 입력 범위와 대표 집단 밖에서는 경고하거나 예측을 보류합니다.
점 예측만 제시하지 않고 표본 크기, 오차 분포와 가능한 예측 구간을 검토합니다.
점수 하나로 학생의 능력이나 미래를 확정하지 않고 맥락, 이의 제기와 사람의 검토를 둡니다.
활동 1 · 최소제곱 직선 구하기
세 점 (1,2), (2,4), (3,6)의 \(\bar x,\bar y\), 최소제곱 기울기와 절편을 구하고 \(x=4\)를 예측하세요.
정답과 해설 보기
\(\bar x=2,\bar y=4\)이고 편차 곱의 합과 x 편차 제곱합은 각각 4와 2이므로 \(a=2\), \(b=0\)입니다. 직선은 \(\hat y=2x\)이고 \(x=4\)의 예측은 8입니다.
활동 2 · 두 모델의 오차 비교
실제값이 (2,4,7)이고 모델 A의 예측이 (3,4,6), 모델 B의 예측이 (2,5,5)일 때 각 모델의 MAE와 MSE를 구하세요. 어떤 모델이 더 좋은지 지표별로 판단하세요.
정답과 해설 보기
A의 절대오차는 (1,0,1)이므로 MAE=\(2/3\), 제곱오차 합은 2이므로 MSE=\(2/3\)입니다. B는 절대오차 (0,1,2)로 MAE=1, 제곱오차 합 5로 MSE=\(5/3\)입니다. 두 지표 모두 A가 작습니다.
공개 자료 참고 및 저작권 안내
선형회귀, 손실과 평가 개념의 정확성을 확인하기 위해 다음 공개 문서와 오픈소스 구현을 참고했습니다.
- Google ML Crash Course · Linear regression과 Linear regression loss — 선형 모델의 매개변수, 잔차와 MAE·MSE·RMSE의 역할 확인. 별도 표시가 없는 Google Developers 본문은 CC BY 4.0, 코드는 Apache 2.0으로 안내됩니다.
- scikit-learn User Guide · Ordinary Least Squares와 LinearRegression — 잔차 제곱합 최소화와 다중 선형 모델의 구현 개념 확인.
- scikit-learn · r2_score — 결정계수의 정의와 해석 범위 확인. scikit-learn은 BSD 3-Clause 라이선스로 공개됩니다.
외부 자료의 문장, 코드, 데이터, 표, 그래프나 문제를 복제하지 않았습니다. 연습 횟수 자료, 최소제곱 전개, 모든 계산값, 잔차 표, 활동과 SVG 회귀 그래프는 이 강의를 위해 독립적으로 작성했습니다. 외부 구현을 직접 사용할 때에는 해당 버전의 라이선스와 표시 조건을 확인하세요.
학습 원칙
계산 결과만 제시하지 않고 사용한 데이터, 수학적 가정, 평가 기준과 적용 한계를 함께 설명합니다. 개인정보와 편향 가능성을 확인하고 인공지능의 출력을 확정된 사실로 해석하지 않습니다.
교육과정 구성 근거
국가교육과정정보센터의 2022 개정 교육과정, 한국과학창의재단 수학과 교육과정 개발 연구, 부산광역시교육청 고교학점제 과목 안내를 과목 성격과 내용 범위 확인에 참고했습니다. 단원 구성, 강의명, 설명과 예시는 이 사이트의 학습 흐름에 맞게 독립적으로 작성했습니다.
자료 (1,3), (2,4), (3,8), (4,9)에 대해 평균점, 최소제곱 기울기와 절편을 구해 회귀식을 작성하세요. 각 점의 예측값과 잔차를 계산한 뒤 잔차 합이 0인지 확인하고, 이 식으로 \(x=10\)을 예측할 때 주의할 점 두 가지를 설명하세요.