Blog Content

    티스토리 뷰

    [딥러닝] 선형 회귀

    선형 회귀


    x값이 변함에 따라 y값도 변한다는 정의 안에서, 독립적으로 변할 수 있는 값 x를 독립 변수라고 한다.

    또한, 이 독립 변수에 따라 종속적으로 변하는 y를 종속변수라고 한다.


    선형회귀 : 독립변수 x를 사용해 종속변수 y의 움직임을 예측하고 설명하는 작업을 말한다.

    정확한 직선을 그려내는 과정이다.


    독립변수가 x 하나뿐이어서 이것만으로 정확히 설명할 수 없을 때는 x1, x2, x3...등 x값을 여러 개 준비해 놓을 수 있다.

    단순선형회귀 : 하나의 x값만으로도 y값을 설명할 수 있을 때

    (ex : '공부한 시간'에 따른 성적)

    다중선형회귀 : x값이 여러개 필요할 때


    1. 가장 훌륭한 예측선 그리기


    y = ax + b 의 식으로 일차 함수 그래프를 나타낼 수 있다.

    선형 회귀는 결국 최적의 a, b값을 찾아내는 작업이다.


    2. 최소 제곱법


    최소 제곱법이란 회귀 분석에서 사용되는 표준 방식이다.

    최소제곱법을 통해 기울기 a와 y절편 b의 값을 구하면서, 가장 잘 그어진 예측 직선을 그릴 수 있다.


    a = x의 편차(각 값과 평균과의 차이)를 제곱해서 합한 값을 분모로 놓고,

    x와 y의 편차를 곱해서 합한 값을 분자로 놓으면 기울기가 나온다.


    b = y의 평균에서 x의 평균과 기울기의 곱을 빼면 b의 값이 나온다.


    이렇게, a와 b의 값을 구하여 할당한 후

    x를 대입했을 때 나오는 y의 값을 '예측 값'이라고 부른다.

    좌표 평면에 예측 값을 찍은 후, 이 점들을 연결해 직선을 그으면

    오차가 최저가 되는 직선이 완성된다.(예측 직선)

    이 직선에 다른 x의 값을 넣어서 y 값을 예측할 수 있다.


    3. 코딩으로 구현해보기 (최소 제곱법)

    4. 평균 제곱근 오차


    이렇게 선을 그리고 난 후 얼마나 잘 그려졌는지를 평가하는 오차 평가 알고리즘이 필요하다.

    오차를 평가하는 방법 중 가장 많이 사용되는 평균 제곱근 오차에 대해 알아보자.


    5. 잘못 그은 선 바로잡기


    오차 = 실제 값 - 예측 값


    오차의 합을 구할 때는, 부호를 없애야 정확한 오차를 구할 수 있기 때문에

    각 오차의 값을 제곱해준다.


    오차의 합에 n으로 나누면 오차 합의 평균을 구할 수 있다.(평균 제곱 오차)

    평균 제곱 오차에 제곱근을 씌워 단위를 낮춘다. 이를 평균 제곱근 오차 라고 한다.


    정리하면, '평균 제곱근 오차'의 계산 결과가 가장 작은 선을 찾는 작업이다.

    선형 회귀란 임의의 직선을 그어 이에 대한 평균 제곱근 오차를 구하고, 이 값을 가장 작게 만들어 주는 a와 b를 찾아가는 작업이라고 말할 수 있다.


    6. 코딩으로 구현해보기 (평균 제곱근 오차)


    이렇게 오차가 약 3.3166이라는 것을 알았다.

    이제 남은 것은 이 오차를 줄이면서 새로운 선을 긋는 것이다.

    이를 위해서는 a와 b의 값을 적절히 조절하면서 오차의 변화를 살펴보고,

    그 오차가 최소화되는 a와 b의 값을 구해야 한다.



    Comments