이번 포스트에서는 선형, 비선형의 정의에 대해서 자세하게 짚고 넘어가려고 한다. 이 포스트를 작성하는 이유는 "선형" 이라는 단어에 대해 혼동되지 않기 위해서 남긴다. 처음으로 의문이 든 것은 다음 이미지에서 시작되었다.
이전 포스트에서 우리는 선형 회귀에 대한 내용을 다루었다. 위 이미지는 우리가 찾고자하는 선의 기울기와 절편을 얻기 위해 과도하게 update를 계속 진행하면 오버피팅이 발생한다는 의미를 나타낸다. 그런데, 보통 머신러닝을 배우다보면 선형을 기하학적으로 선의 모양을 유지하면 선형 (혹은 꾸불거리지 않거나)이라고 정의하는 것에서 모순을 느꼈다. 그렇다면, 오른쪽 그림은 꾸불거리면 더 이상 선형이 아니지 않은가? 왜 선형 회귀의 오버피팅이지? 라는 의문이 들었다. 답은 아래의 사이트에서 얻을 수 있었다.
https://brunch.co.kr/@gimmesilver/18
너무도 친절하게 자세히 설명해주셨다. 그래서 필자가 직접 이해한 내용을 바탕으로 정리를 해보려고 한다. 우선 위 글에서 선형의 의미는 '회귀 계수를 선형 결합으로 표현할 수 있는' 으로 정의했다. 그렇다면, 선형 결합은 무엇일까? 마침 필자가 선형대수학 카테고리에 정리해둔 내용이 있어서 이곳을 참고하면 좋을 것 같다.
다른 곳에서 선형 조합 혹은 선형 결합에 대해 자세히 설명해주지만, 필자의 방식대로 해석해보자면, 가중치(w1~wn)와 피처(x1~xn) 벡터 사이의 내적이라고 정의할 수도 있을 것 같다. 그리고 이어서 내용을 적어보자면..
선형이 아닌 것은 무엇일까? 회귀 계수를 선형 결합으로 표현할 수 없는 것이다. 위 상태의 모델은 어떻게 치환하더라도 선형 결합의 형태를 지닐 수 없다. 이런것을 비선형성이라고 하는데, 대표적으로 딥러닝을 생각할 수 있겠다. (비선형성을 강화하기 위해 활성화 함수를 대입)
여기까지 선형과 비선형에 대해 알아보았다. 마지막으로 그럼 그림 1에서 어떻게 곡선이 나왔을까? 사실 여태까지 선형 회귀 방정식들은 선형 조합의 형태로 치환한 것이다. 예를 들어보자.
결국에는 어떻게 치환을 하든 선형 결합의 형태로 표현할 수 있다. 그래서 그림 1에서 곡선이 나올 수 있었던 이유는, 피처 x를 치환을 통해 표현한 것이기 때문에 환원을 하면 곡선 형태의 그래프가 나올 수 있는 것이고, 우리가 저 그림을 곡선 형태의 그래프임에도 선형 회귀라고 부르는 것은 회귀 계수와 피처 사이에 치환을 통해 선형 결합 형태로 표현이 가능하기 때문이다.
[출처]
그림 1 : https://ai-creator.tistory.com/585?category=892714
'[AI] - Machine Learning' 카테고리의 다른 글
# 14. 선형 분류 (Linear Classification) (0) | 2021.12.03 |
---|---|
# 13. 회귀 알고리즘 (Ridge, Lasso, ElasticNet) (0) | 2021.11.30 |
# 11. 선형 분류와 선형 회귀 (Linear Classification & Linear Regression) (0) | 2021.11.09 |
# 10. GBM (Gradient Boosting Machine) (0) | 2021.11.06 |
# 9. 앙상블 기법 (Ensemble) (0) | 2021.10.28 |
댓글