머신러닝을 위한 기초 수학

웬만하면 가급적 수학적인 지식은 상식적인 차원에서 알고 넘어가고자 했으나 아무래도 무리인 것 같다.
일단 기본적으로 필요한 수학적 지식을 그 때 그 때 정리하고 넘어가도록 하자. 오늘은 지난 글에서 정리한
두 개의 함수 중 선형회귀분석의 가설함수를 이해하는데 필요한 수학적 지식인 기울기와 절편에 대해 정리를 
해보고자 한다.


이 글은 어디까지나 나와 같이 수학적 지식이 모자라는 사람을 위한 것이며 따라서 수학적 증명같은 것은
없다 오로지 직관이 있을 뿐…-.-


직선의 기울기

기울기는 우리가 흔히 아는 바와 같이 직선이 얼마나 기울어져있는가 하는 정도이다. 일상 생활에서는 일반적으로
각도로 표시를 하지만 여기서는 수학적 계산이 필요하므로 수학적인 부분만 살펴보자. 아래 그림을 보자


높이를 조절할 수 있는 유아용 미끄럼틀을 생각해보자. 직관적으로 보아 A 미끄럼틀이 B 미끄럼들보다 가파르다.
즉 기울기가 크다. 역으로 B는 A 보단 완만하다. 조금 더 수학적으로 살펴보면 기울기가 클 경우에는 아래 평면인
x의 길이보다 높이인 y이가 크고 반대로 기울기가 작을 경우에는 x의 길이가 y의 길이보다 크다. 즉, 기울기라는
것은 수평의 선 x와 높이 y의 관게에 의해서 결정되며 이 관계에 의하면 바로 위에 본 것처럼 y가 커지면 기울기도
커지고 y가 작아지면 기울기는 작아지는 관계다. 즉 기울기를 m이라고 하면 이 기울기는 다음과 같이 수학적으로
표현할 수 있다.


x는 분모이고 y는 분자이기 때문에 x가 작아질수록 혹은 y가 커질수록 기울기 m은 커지고 그 반대가 되면 기울기는
작아진다. 여기서 또 한가지! 아무리 수포자라도 양 변에 같은 값을 곱하면 여전히 양 변의 값은 같다는 것 정도는
알 것이다…-.- 양 변에 분자인 x를 곱하면 수식은 다음과 같이 바뀐다.


어렴풋이, 하지만 쉽게 잊혀지지 않을만큼 기억나는 1차 방정식의 공식이다. 이제 그림도 수학적으로 바꿔보자.
미끄럼틀이 아닌 x축과 y축으로 이루어진 평면 좌표가 있을 때 이 좌표상의 한 직선(파란색 직선)의 기울기는
y의 변동량을 x의 변동량으로 나눈 값 즉, (y2 - y1) / (x2 - x1)이 되는 것이다.

절편

위에 설명한 기본 1차함수의 경우 x가 0이면 곧 값도 0이된다. 즉, 이 직선은 좌표 평면에서 항상 x축과 y축이
만나는 원점을 지나는 직선이 되는 것이다. 하지만 때로는 원점을 지나지 않는 직선도 있을 것이다. 


현실의 예를 들어보자. 마침 최근 넷마블의 100억 인센티브가 이슈이니 회사의 총 이익과 직원의 총 급여의 관계를 
그래프로 나타낸다고 생각해보자. 총 급여는 기본급 + 인센티브다. 회사의 총 이익을 x, 직원의 총 급여를 y로 본다면
x가 증가함에 따라 직원의 총 급여는 증가할 것이다. 하지만 회사의 이익이 0이 되더라도 직원의 총 급여는 0이 되지 
않는다. 회사가 공식적으로 파산을하지 않는 한 기본급은 지급을 해야 하므로 매출이 0이더라도 y축은 0이 아닌
기본급을 표시하는 위치에 있을 것이다. 그러다가 이익이 -로 돌아서면 어느 순간 직원의 급여를 지급하지 못하게
되어 결국은 x축인 직원의 총 급여도 0이 될 것이다.


이렇게 평면 좌표상의 어떤 직선이 원점을 지나지 않는 경우 이 직선이 y축과 만나는 점을 y절편, x축과 만나는 점을
x절편이라고 한다. 


이 것은 다시 말하면 기본적인 1차 방정식에서 x에 0을 대입했을 때의 y의 값은 y절편, y에 0을 대입했을 때의 
x의 값은 x 절편으로 볼 수 있는 것이다. 그래서 1차 방정식은 다음과 같이 확장된다.


절편은 다른 의미로 같은 기울기의 직선이 상하 또는 좌우로 얼마나 움직였는지를 나타내주기도 한다.


선형회귀분석 가설함수 복습

우선 선형회귀분석의 가설함수를 다시 한 번 보자.


이전에 알아본 내용과 오늘 학습한 내용으로 알 수 있듯이 서로 관계가 있는 두 변수 x(총 이익)와 y(총 급여)를 
분석해보고 이 두 변수 사이의 관계를 밝혀내기 위한 기법이 선형회귀분석이다. 학습을 위해 만들어낸 데이터가
아닌 현실의 데이터라면 웬만해서는 완전한 직선으로 나타나는 경우는 거의 없을 것이다. 따라서 그러한 현실
데이터를 가장 근접하게 표현해줄 수 있는 직선 즉, 1차 방정식을 찾아내는 것이 바로 선형회귀분석의 목적이다.


우리가 학교에서 수학을 배울 때는 x 또는 y의 값을 구하는 것이 보통이었다. 하지만 현실의 상황을 분석하는
경우 x와 y는 이미 알고 있는 데이터들이다. 이런 상황에서 x와 y가 만나는 많은 점들 중 가장 많은 수와 근접한
직선을 찾아내는 것이 목적인 바 결국 이 것은 직선의 기울기를 알아내는 것이라 할 수 있다. 결국 위의 공식에서
x와 y는 이미 우리가 알고 있는 값이고 우리가 찾아야 할 것은 W인 것이다.


한편 단순히 기울기만을 가지고 찾는다는 것은 불가능한 것이 기울기가 같은 직선은 무수히 많기 때문에 단순히
기울기만 같다고 해서 데이터를 가장 잘 표현해준다고 할 수는 없는 것이다. 직선을 위나 아래로 움직이면서
x와 y가 만나는 점들과 가장 오차가 적은 위치를 찾아야 할 것이다. 이 것이 바로 공식의 b에 해당하는 값이고
한쪽으로 치우쳤다는 의미에서 편향이라는 용어로도 사용된다.


마지막으로 정리하자면 선형회귀분석을 학습시킨다는 의미는 x 변수들과 y 변수들의 어느정도 비율로 관련이 
있는지(기울기)를 알아내고 그렇게 알아낸 기울기의 직선과 실제 데이터와의 오차를 절편을 이용해서 보정하는 
작업이라 할 수 있겠다.

블로그 이미지

마즈다

이미 마흔을 넘어섰지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^