Regression
회귀는 연속값을 예측하는 방식이다.
예를 들어 과거의 데이터로 자동차의 엔진크기, 실린더 수, 연료 소비량, 이산화탄소 배출량이 있다. 데이터를 통해 아직 제조되지 않은 차량의 이산화탄소 배출량을 예측하기 위해 회귀의 방식을 사용할 수 있다.
Linear Regression
독립변수 : 자동차의 엔진크기, 실린더 수, 연료 소비량
종속변수 : 이산화탄소 배출량
선형 회귀에서 사용되는 데이터들은 종속변수가 연속적이어야 하며 이산값이어서는 안된다.
Simple Linear Regression
하나의 독립변수를 통해 종속변수를 예측한다.
예를들어 자동차의 엔진크기를 이용하여 이산화탄소 배출량을 예측하는 것이다.
위와 같이 Simple Linear Regression은 일차방정식으로 표현할 수 있다. 예를 들어 x축이 자동차의 엔진 크기이고 y축이 이산화탄소 배출량이라고 가정했을때(물론 아닙니다. 단순 예시일 뿐, 입니다.), 자동차 엔진의 크기가 1이면 이산화탄소 배출량은 약 3.7정도의 값을 가진다고 볼 수 있습니다.
즉, 독립변수와 종속변수의 분포를 보고 선형관계를 파악하는 것이 목적입니다.
pred = ceta0 + ceta1 * x1
위의 수식에서 최적의 ceta0와 ceta1을 찾는 것이 목적이라고 할 수 있다.
error(오차)
최적의 ceta0와 ceta1을 찾기위해 예측값과 실제 정답값(GT)사이의 오차를 계산해야한다.
단순히 오차를 계산하면 y-pred 수식을 이용하여 오차를 구할 수 있다.
하지만 보통 MSE, MAE, RMSE 등과 같은 방식으로 오차를 구한다.
model Evaluation
학습과 테스트 셋으로 나눈다 이때, 학습과 테스트 셋은 서로 중복된 데이터가 존재해서는 안된다.
그리고 최적의 학습과 테스트 셋을 만들기 위해 K-fold cross validation을 사용하기도 한다.
Multiple Linear Regression
여러개의 독립변수를 통해 종속변수를 예측한다.
예를 들어 자동차의 엔진크기와 실린더의 수를 통해 이산화탄소 배출량을 예측하는 것이다.
Estimate ceta
optimization 알고리즘을 통해 최적화한다.
- Gradient Descent
Non-Linear Regression
Polynomial regression
독립변수와 종속변수의 관계가 X의 N차수 다항식으로 모델링 된다.
예를 들어 pred = ceta0 + ceta1 * x + ceta2 * x^2 + ceta3 * x^3으로 표현될 수 있다. 그런데 이는 다시 선형회귀로도 표현할 수 잇다.
x1 = x
x2 = x^2
x3 = x^3
으로 치환된다면 선형회귀로 표현이 가능하다. 그렇기 때문에 Least Squares 방식으로 최적의 다항식이 추정 가능하다.
그런데 문제는 데이터에 잘맞는 회귀유형을 선택해야한다는 점이다.
'deeplearning study' 카테고리의 다른 글
Machine Learning with Python -1주차- (0) | 2022.06.07 |
---|---|
Mask R-CNN 논문 review (1부) (0) | 2022.05.24 |
DETR:End-to-End Object Detection with Transformers 논문 리뷰 (0) | 2022.04.18 |