Coding Diary.

(Machine Learning) 다중 다항 회귀 본문

Coding/Machine Learning

(Machine Learning) 다중 다항 회귀

life-of-nomad 2023. 9. 8. 12:14
728x90
반응형

1. 다중 다항 회귀

입력 변수가 많은데 다항 회귀를 하는 것을 '다중 다항 회귀'라고 합니다. 

예를 들어 봅시다.

입력 변수가 집 크기만 있는게 아니라 방, 수, 지하철역 까지의 거리도 있습니다. 각각x1, x2, x3라고 이름을 붙입시다. 그리고 목표 변수는 똑같이 집 가격 입니다.

 

가설 함수가 이차 함수라고 가정해봅시다.

이차 함수니까 제일 큰 항이 이차항이어야 합니다. 이차항이랑 변수 두 개가 곱해진 것입니다. x1제곱도 이차하이고, x1과 x2의 곱도 이차항 입니다. 

따라서 x1x2, x2x3, x3x1, x1제곱, x2제곱, x3제곱 이렇게 6개 입니다.

그러면 가설 함수는 아래와 같이 생겼습니다.

맨 앞에 상수항이 있고, 그 다음은 일차항들이고, 그 다음은 이차항이 있습니다.

이 6가지에 대해서 가상의 열을 추가해줍시다.

그러면 이 문제를 입력 변수가 9개인 다중 선형 회귀라고 생각할 수 있습니다. 다항 회귀라는 생각을 하지 않고 그냥 다중 선형 회귀인 것처럼 취급을 하고 문제를 풀면 됩니다.

 

2. 다항 회귀의 장점

다항 회귀를 사용하면 단순히 복잡한 고차식에 데이터를 맞추는 것을 넘어서 모델의 성능을 극대화할 수 있습니다.

위의 예에서 집의 크기라는 변수가 주어진다는 가정을 하였습니다. 이것을 하나의 속성으로 이용했는데 집이 사각형이라고 가정하고 집 크기 대신 집의 높이와 데이터만 있다고 가정해봅시다.

 

아무리 너비가 커도 높이가 작거나, 높이가 크고 너비만 작으면 크기가 작고 구조가 효율적이지 않기 때문에 집 값이 높지 않을 것입니다. 사실 이 두 변수들보다 집값을 예측하난 데 훨씬 좋은 수치는 이 둘을 곱한 값, 집의 넓이입니다.

단순 선형 회귀를 사용하면 이 두변수가 서로 독립적이기 때문에 프로그램은 "높이와 너비가 같이 커야지만 집 값도 커진다"라는 관계를 학습할 수 없습니다. "높이"라는 속성이 집 값에 미치는 영향, 그리고 "너비"라는 속성이 집 값에 미치는 영향을 따로 찾아내는 것입니다.

 

너비와 높이처럼 이렇게 딱 맞아떨어지지는 않더라도 집이 아무리 커도 높은 층이 아니거나 지하철에서 아무리 가까워도 지은지 20년이 넘었으면 집 값이 낮을 수 있습니다. 이런 경우들에도 마찬가지로 단순 선형 회귀를 쓰면 속성 하나하나가 다 독립적이기 때문에 이런 변수들 사이의 관계를 최종 예측 결과에 반영하지 못하는 것입니다. 

 

속성들을 서로 곱해서 차항을 높여주면, 즉 선형 회귀 문제를 다항 회귀 문제로 만들어주면 속성들 사이에 있을 수 있는 복잡한 관계들을 프로그램에 학습시킬 수 있습니다.

728x90
반응형