2024. 8. 12. 23:54ㆍMachine Learning/[TIL] Naver Boost Camp
1. 선형회귀란?
선형 회귀는 알려진 다른 관련 데이터 값을 사용하여 알 수 없는 데이터의 값을 예측하는 데이터 분석 기법이다.
독립 변수와 종속 변수 사이에는 선형 관계가 있어야 한다. 이 관계를 확인하기 위해 데이터 사이언티스트는 x 및 y 값의 무작위 모음인 산점도를 만들어 직선을 따라 표시되는지 확인한다. 그렇지 않은 경우 제곱근이나 로그와 같은 비선형 함수를 적용하여 두 변수 간의 선형 관계를 수학적으로 만들 수 있다.
2. 상관 관계 분석
상관계수를 결정하는 방법에는 크게 세 가지, [결정계수, 피어슨상관계수, 스피어만 상관계수]가 있는데 가장 잘 사용되는게 피어슨상관계수이다.
피어슨 상관 계수는 그 단순성, 계산의 용이성, 해석의 명확성 때문에 가장 널리 사용된다. 이는 특히 데이터가 연속적이고 선형 관계를 가질 때 유용하다. 그러나 비선형 관계나 비모수적 데이터가 주어질 때는 스피어만 상관 계수나 결정계수 등 다른 지표가 더 적합할 수 있다.
$$ 피어슨상관계수 = \frac{공분산}{표준편차*표준편차} $$
피어슨상관계수란 두 변수 X와 Y 간의 선형 상관 관계를 계량화한 수치이다. 공분산은 2개의 확률변수의 선형관계를 나타내는 값이다. 공분산을 표준화하기 위해 표준편차의 곱으로 나눠준다.
상관 관계를 분석하는 수식 표현은 아래와 같다.
$$ r_{xt} = \frac{\sum_{i=1}^{n} (x_i - \overline{x})(t_i - \overline{t})}{\sqrt{\sum_{i=1}^{n} (x_i - \overline{x})^2 \sum_{i=1}^{n} (t_i - \overline{t})^2}} $$
상관 관계를 분석하는 코드 표현은 아래와 같다.
np.corrcoef(x,t)
3. 선형회귀모델
$$ H(x) = wx +b $$
선형 회귀에서 해야할 일은 결국 적절한 𝑤와 𝑏를 찾아내는 일이다.
이때 실제값과 예측값에 대한 오차에 대한 식을 목적 함수(Objective function) / 비용 함수(Cost function) / 손실 함수(Loss function) 라고 한다.
회귀 문제의 경우에는 주로 평균 제곱 오차(MSE)가 사용된다.
수식적으로 단순히 '오차 = 실제값 - 예측값' 이라고 정의한 후에 모든 오차를 더하면 음수 오차도 있고, 양수 오차도 있으므로 오차의 절대적인 크기를 구할 수가 없다. 그래서 모든 오차를 제곱하여 더하는 방법을 사용한다.
손실함수의 수식 표현은 아래와 같다.
$$ Loss Function = \frac{1}{n} \sum_{i=1}^{n} [{t}_i - (w{x}_i+b)]^2 $$
손실함수의 코드 표현은 아래와 같다.
loss_function = nn.MSELoss()
'Machine Learning > [TIL] Naver Boost Camp' 카테고리의 다른 글
[WEEK02-DAY2] Zero-Centered Output (0) | 2024.08.19 |
---|---|
[WEEK02-DAY1] 최소 제곱법과 닫힌 형식 솔루션 (0) | 2024.08.19 |
[WEEK02-DAY1] 선형 회귀 방정식 (0) | 2024.08.19 |
[WEEK01-DAY4] 이진 교차 엔트로피 (0) | 2024.08.14 |
[WEEK01-DAY3] 경사하강법 (0) | 2024.08.14 |