기울기란? Machine Learning 뒤에 있는 간단한 수학 아이디어
Source: Dev.to
소개
이전 기사에서는 은닉층, 가중치, 편향을 살펴보았습니다. 이제 더 고급 주제로 나아가야 합니다. 그 전에 기울기라는 수학 개념을 이해해야 합니다.
기울기는 X 값이 변할 때 Y가 얼마나 변하는지를 의미합니다. X가 조금 변할 때, 기울기는 그 변화에 대한 Y의 반응 정도를 알려줍니다.
기울기의 종류
- 양의 기울기 → X가 증가하면 Y도 증가합니다
- 음의 기울기 → X가 증가하면 Y는 감소합니다
- 제로 기울기 → Y가 변하지 않습니다
- 큰 기울기 → 가파른 선
- 작은 기울기 → 완만한 선
머신러닝에서 기울기는 입력 특징이 출력에 얼마나 강하게 영향을 미치는지를 나타냅니다.
머신러닝에서의 기울기
다음 값을 고려해 보세요:
| x | y |
|---|---|
| 1 | 2 |
| 2 | 4 |
| 3 | 5 |
| 4 | 4 |
| 5 | 5 |
머신러닝은 다음과 같이 최적의 기울기 (m)와 최적의 절편 (b)를 찾으려고 합니다:
[ \text{predicted } y = mx + b ]
최적 적합선 계산
import numpy as np
import matplotlib.pyplot as plt
# Sample data
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
# Step 1: compute averages
x_mean = sum(x) / len(x)
y_mean = sum(y) / len(y)
# Step 2: compute slope (m)
# We can't use (y2 - y1) / (x2 - x1) here because we have many points,
# so this safely combines their behavior into one best-fit slope
num = sum((x - x_mean) * (y - y_mean))
den = sum((x - x_mean) * (x - x_mean))
m = num / den
# Step 3: compute intercept (b)
b = y_mean - m * x_mean
# Step 4: predicted values
y_pred = m * x + b
# Plot
plt.scatter(x, y)
plt.plot(x, y_pred)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Slope in Machine Learning (no polyfit)")
plt.show()
플롯 설명
- 파란 점 → 실제 데이터 포인트
- 직선 → 학습된 기울기 (m)와 절편 (b)
- 선의 가파름이 기울기입니다
마무리
이것은 기울기에 대한 가벼운 소개였습니다. 다음 기사에서는 기울기가 오류를 측정하고 감소시키는 데 어떻게 사용되는지 살펴볼 예정이며, 이는 머신러닝 모델 학습의 핵심 아이디어입니다. Colab 노트북을 통해 예제를 직접 실행해 볼 수 있습니다.