선형회귀분석은 변수들 사이의 관계를 분석하는 데 사용하는 통계학적 방법입니다.
이 방법의 장점은 알고리즘의 개념이 복잡하지 않고 다양한 문제에 폭넓게 적용할 수 있다는 점입니다.
선형회귀분석은 독립변수(혹은 설명변수) $x_i$, 상수항 $b$와 종속변수(혹은 반영변수) $y$ 사이의 관계를 모델링하는 방법입니다.

$y = W * x + b$

한 개의 독립변수에 기반한 경우 단순 선형 회귀, 둘 이상의 독립변수에 기반한 경우 다중 선형 회귀라고 합니다.

선형회귀분석에서 데이터셋의 값을 반복하여 적용하면서 매번 더 정확한 결과를 얻기 위해 $W$와 $b$ 매개변수를 수정하면서 문제를 풀게 됩니다. 이 때 주어진 데이터를 대표하는 하나의 직선을 찾을 때 최소제곱근(least square method)를 사용하는 것이 일반적입니다.

비용함수(cost function)은 반복이 일어날 때마다 개선되고 있는지 확인하기 위해 얼마나 좋은(나쁜) 직선인지를 측정하는 함수로 오차함수(error function)이라고도 합니다.
이 함수는 $W$와 $b$를 매개변수로 받아 직선이 얼마나 데이터에 잘 맞는지를 기초로 하여 오차 값을 돌려줍니다.
일반적으로 비용함수로 평균제곱오차(mean square error)를 사용합니다.

이러한 측정값을 기반으로 하여 오차를 최소화하는 최적화 방법 중 경사하강법(Gradient Descent) 등이 있습니다. 이론적으로 말해 경사 하강법은 일련의 매개변수로 된 함수가 주어지면 초기 시작점에서 함수의 값이 최소화되는 방향으로 매개변수를 변경하는 것을 반복적으로 수행하는 알고리즘입니다.
함수의 기울기를 음의 방향 쪽으로 진행하면서 반복적으로 최적화를 수행합니다.
보통 양의 값을 만들기 위해 거리 값을 제곱하며 기울기를 계산해야 하므로 오차함수는 미분 가능해야 합니다.

경사 하강법 알고리즘은 매개변수($W$와 $b$)의 초기값에서 시작해서 이러한 방법으로 $W$와 $b$를 수정해가며 결국에는 오차함수를 최소화하는 변수값을 찾아냅니다.

예제

Linear Regression by scikit-learn
Linear Regression by TF2

활용분야

추세분석, 역학조사,자본자산 재무관리, 경제학, 환경과학 등

참고자료