선형 모델의 가중치 합산 구현

40 P
QUESTION 09 #336
입력 데이터(x)에 가중치(w)를 곱하고 편향(b)을 더해 예측값을 산출하는 함수를 완성하고, 실제 데이터로 호출해 보세요.
main.py
def get_prediction(x, w, b):
    # 선형 회귀의 핵심 식: y = wx + b
    return  * x  b

# 1시간 공부(x) 시 2점 상승(w), 기본 점수 10점(b)일 때
my_score = get_prediction(x=5, w=2, b=10)
print(f"예측 점수: {my_score}")
실행 결과 예시
예측 점수: 20
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

📈 선형 회귀의 예측 메커니즘

이 퀴즈는 인공지능이 내부적으로 수행하는 가장 기본적인 연산을 다룹니다.


1. 핵심 공식

$$y = wx + b$$
기호 이름 의미 비유
$x$ 입력값 (Feature) 모델에 주어지는 데이터 시험 공부 시간
$w$ 가중치 (Weight) 입력이 결과에 미치는 영향력 공부 1시간당 오르는 점수
$b$ 편향 (Bias) 입력과 무관한 기본값 공부 안 해도 받는 기본 점수
$y$ 출력값 (Prediction) 모델의 예측 결과 예상 시험 점수

2. 구체적 예시로 이해하기

상황: 아이스크림 가게에서 기온($x$)으로 판매량($y$)을 예측하고 싶습니다.

지난 데이터를 분석한 결과:

  • 기온이 1도 오를 때마다 아이스크림이 3개 더 팔림 → $w = 3$
  • 기온과 상관없이 기본적으로 10개는 팔림 → $b = 10$
def get_prediction(x, w, b):
    return w * x + b

print(get_prediction(25, 3, 10))  # 85
print(get_prediction(30, 3, 10))  # 100

3. 가중치($w$)의 역할 - "얼마나 중요한가"

가중치는 입력 데이터의 중요도를 결정합니다.

$w$ 값 의미 예시
$w = 5$ (큰 양수) 입력이 결과에 큰 영향 기온이 1도 오르면 판매량 5개 증가
$w = 0.1$ (작은 양수) 입력이 결과에 약한 영향 기온이 1도 올라도 판매량 0.1개만 증가
$w = 0$ 입력이 결과에 무관 기온이 변해도 판매량 변화 없음
$w = -2$ (음수) 입력이 반대 방향으로 영향 기온이 1도 오르면 핫초코 판매량 2개 감소
다중 입력일 때:

판매량 = w1 × 기온 + w2 × 습도 + b

def predict(temp, humidity, w1, w2, b):
return w1 temp + w2 humidity + b

기온의 영향(w1=3)이 습도의 영향(w2=0.5)보다 크다

print(predict(30, 80, 3, 0.5, 10)) # 140

4. 편향($b$)의 역할 - "기본 성향"

편향은 모든 입력이 0일 때의 출력값입니다.

$y = wx + b$ 에서 $x = 0$이면 $y = b$

편향이 없으면?

$b = 0$: 직선이 원점(0, 0)을 반드시 지남
$b = 10$: 직선이 위로 10만큼 이동
$b = -5$: 직선이 아래로 5만큼 이동
편향 덕분에 모델이 더 유연하게 데이터에 맞출 수 있습니다.

5. "학습"이란 무엇인가

학습이란 최적의 $w$와 $b$를 찾는 과정입니다.

시작: $w=0$, $b=0$ → 모든 예측이 0 (엉터리)
반복: 데이터를 보며 $w$와 $b$를 오차가 줄어드는 방향으로 조금씩 조정
완료: 최적의 $w$, $b$를 찾아 정확한 예측 가능

[간단한 학습 과정 예시]
w, b = 0, 0
learning_rate = 0.01

x = 25       # 실제 기온
y_real = 85  # 실제 판매량
y_pred = w * x + b  # 0 (완전히 틀림!)

error = y_real - y_pred  # 85
w = w + learning_rate * error * x  # 21.25
b = b + learning_rate * error      # 0.85

이 과정을 수천 번 반복하면 최적값을 찾음

6. 핵심 정리

선형 회귀는 직선 하나를 긋는 것. 데이터에 가장 잘 맞는 기울기($w$)와 절편($b$)을 찾습니다.
$w$가 크면 입력 변화에 민감, $w$가 작으면 둔감합니다.
학습 = 최적의 $w$와 $b$ 찾기. 오차를 줄이는 방향으로 조금씩 값을 조정합니다(경사하강법).
모든 머신러닝의 기초. 딥러닝의 신경망도 이 $y = wx + b$ 연산을 수천, 수만 번 조합한 것입니다.