지도학습에는 회귀와 분류가 있다

 

1. 회귀의 개념

 

- 입력과 출력이 모두 실수형일 때, 입력 x에 따라 출력 y를 예측하는 f(x)를 찾는 것

 


2. 선형 회귀

2.1. 필요한 이유

현실에서 숫자값을 예측해야 할 일이 많다

1. 키로 몸무게 예측

2. 공부 시간으로 시험 점수 예측

 

이때 어떤 패턴(관계)를 찾기위해 

그 관계를 하나의 직선으로 표현하려함

 

2.2. 정의 

입력 데이터를 가장 잘 설명하는 직선의 기울기와 절편값을 찾는 것 

 

식 : f(x) = Wx + b

W는 기울기 = 가중치

b는 절편 = 바이어스

 

2.3. 종류

단순 선형 회귀

- 입력 x가 하나

- f(x) - wx + b

- w, b는 정확한 예측을 생성하기 위해 알고리즘이 학습하려고 시도하는 매개변수

- x, y 는 학습 데이터, f(x)는 예측

다중 선형 회귀

- 입력 x가 여러개 (면적, 층수, 방 수)

- f(x, y, z) = w0 + w1x + w2y + w3z

- w0, w2, w3 이 계수 또는 가중치며 모델이 학습하려고 하는 매개변수

 


3. 손실함수 

3.1. 정의

- 선형 회귀의 목표는 입력 x가 주어졌을 때 출력 y를 최대한 정확히 예측하는 것이다 

- 손실함수는 예측값과 실제 값 사이의 오차를 계산하여 정확도를 높이는 역할을 한다

 

3.2. MSE(평균 제곱 오차)

- Mean Squared Error

- 입력값에 대해 실제값에 최대한 가까운 예측값을 만들기 위해서 필요하다

MSE = (1/n) * Σ (yᵢ - ŷᵢ)²

 

모든 데이터에 대해 

(실제값 - 예측값)의 차이를 제곱한 후 다 더한 후 갯수로 나눈다

 

 

 

예를 들어 공부 시간 기준으로 시험 점수를 예측하는 모델을 만들었다고 하면

학생 실제 점수 (y) 예측 점수 (ŷ)
A 80 75
B 90 85
C 70 72
D 60 65

 

 

1. 오차 계산

 

실제값 - 예측값

학생 실제 점수( y) 예측 점수 (ŷ) 오차 (y - ŷ)
A 80 75 5
B 90 85 5
C 70 72 -2
D 60 65 -5

 

 

2. 오차 제곱

25, 25, 4, 25

 

3. 오차 제곱의 평균 내기 = MSE 계산

MSE = (25 + 25 + 4 + 25) / 4
= 79 / 4
= 19.75

 


4. 손실 함수 최적화 방법 

4.1. 최소제곱법 : 분석적방법

 

- 수학공식으로 W와 b를 한번에 계산한다

- 아주 빠르고 정확하지만 단순한 선형 회귀에만 사용가능하다 

때문에 대부분은 경사 하강법을 사용한다 

 

4.2. 경사하강법 : 수치적방법

 

- MSE를 줄이는 방향으로 W와 b를 조금씩 조정하면서 반복한다

- 언덕에서 아래로 굴러 내려가듯 기울기를 따라 손실이 낮은 방향으로 이동한다 

W = W - learning_rate * dW
b = b - learning_rate * db

 

학습률(learning_rate)

- 경사 하강법에서 핵심적 개념

- 한 번의 학습에서 W(기울기)와 b(절편)를 얼마나 많이 바꿀지 결정하는 값

- 너무 크거나 작으면 안되기 때문에 처음에는 0.01, 0.001 같은 작은 수로 시작한다


5. 과잉 적합과 과소 적합

5.1. 과잉 적합

- 학습하는 데이터에서는 성능이 뛰어나지만, 새로운 데이터(일반화된 상황)에서는 성능이 잘 나오지 않는 모델을 생성하는 것

- 훈련 데이터에만 너무 딱 맞춘 모델

- 원인 : 너무 복잡한 모델 구조, 훈련 데이터가 너무 적을 때, 정규화를 하지 않았을 때 

 

5.2. 과소 적합

- 학습 데이터에서도 성능이 좋지 않은 경우

- 원인 : 너무 단순한 모델, 학습부족, 너무 작은 모델 파라미터 수

구분  과잉 적합  과소 적합
학습 데이터 성능 매우 좋음 나쁨
테스트 데이터 성능 나쁨 (일반화 안 됨) 나쁨 (애초에 학습도 안 됨)
원인 너무 복잡한 모델, 훈련 데이터 과적합 등 너무 단순한 모델, 학습 부족
해결 방법 모델 단순화, 데이터 더 확보, 정규화 적용 등 모델 복잡도 증가, 더 오래 학습
반응형

'CS > AI' 카테고리의 다른 글

kNN(k-Nearest Neighbor) 알고리즘  (0) 2025.06.09
머신 러닝  (0) 2025.06.07
Convolutional Neural Network : CNN  (0) 2025.06.02

+ Recent posts