오차의 제곱의 평균으로 손실함수를 정의하고, 이를 이용해 데이터를 가장 잘 반영하는 추세선을 찾는 방법을 배웁니다.
| 단계 | 활동 | |
|---|---|---|
| 도입 | 인공지능 신호등의 최적화 | 5분 |
| 활동1 | 오차의 평균으로 비교하기 어려운 이유 | 15분 |
| 활동2 | 오차의 제곱의 평균 — 손실함수 | 15분 |
| 활동3 | 손실함수 계산기로 최적의 추세선 찾기 | 15분 |
인공지능 신호등은 카메라에서 수집한 대기 차량 수 $x$와 통과 시간 $y$의 데이터를 학습하여 예측을 위한 수학적 모델(추세선) $f$를 최적화합니다. 만약 신호를 필요 이상으로 길게 혹은 짧게 유지하면 교통 정체나 보행자 안전 문제를 일으킬 수 있으므로, 예측이 얼마나 정확한지를 수치화하는 손실함수가 필요합니다.
어느 교차로에서 대기 중인 차량 $x$대가 통과하는 데 걸린 시간 $y$초를 6회 측정한 데이터에 대하여, 두 추세선 $f_1(x)=2x$, $f_2(x)=-x+11$의 오차와 그 평균을 구하면 다음과 같습니다.
| 차량 수 $x$ | 통과 시간 $y$ | $f_1(x)$ | $f_2(x)$ | $y-f_1(x)$ | $y-f_2(x)$ |
|---|---|---|---|---|---|
| 2 | 3 | 4 | 9 | -1 | -6 |
| 3 | 4 | 6 | 8 | -2 | -4 |
| 3 | 8 | 6 | 8 | 2 | 0 |
| 4 | 7 | 8 | 7 | -1 | 0 |
| 5 | 9 | 10 | 6 | -1 | 3 |
| 5 | 10 | 10 | 6 | 0 | 4 |
| 평균 | $-\dfrac{1}{2}$ | $-\dfrac{1}{2}$ | |||
오차를 제곱하면 음수가 없어지므로, 오차의 제곱의 평균을 구하면 오차들의 전체적인 크기를 비교할 수 있습니다.
$(f_1\text{의 오차 제곱 평균})=\dfrac{(-1)^2+(-2)^2+2^2+(-1)^2+(-1)^2+0^2}{6}=\dfrac{11}{6}$
$(f_2\text{의 오차 제곱 평균})=\dfrac{(-6)^2+(-4)^2+0^2+0^2+3^2+4^2}{6}=\dfrac{77}{6}$
$\dfrac{11}{6}<\dfrac{77}{6}$이므로 $f_1$이 $f_2$보다 데이터를 더 잘 반영합니다. 이처럼 입력값 $x$와 실제 측정값 $y$에 대하여 추세선의 관계식이 $f(x)=ax$($a$는 상수)일 때, 모든 오차의 크기를 전체적으로 나타내는 함수를 손실함수라 하고 $L(a)$로 나타냅니다.
위 데이터에 대하여 추세선 $f(x)=ax$의 손실함수는 $L(a)=\dfrac{88a^2-330a+319}{6}=\dfrac{44}{3}\left(a-\dfrac{15}{8}\right)^2+\dfrac{77}{48}$이므로, 손실함수가 최소인 $a=\dfrac{15}{8}$일 때가 가장 최적화된 추세선입니다. 슬라이더로 $a$를 바꾸며 손실함수의 값을 확인해 보세요.
오늘은 손실함수의 값이 작을수록 추세선이 데이터를 잘 반영한다는 것을 배웠습니다. 다음 시간에는 손실함수의 최솟값을 찾기 위한 도구인 미분계수를 배웁니다.