from palette import colorful_colors

[수치해석] Linear Least-Squares Rgression(최소제곱 회귀 분석), 결정계수 본문

CS 학부과목/선형대수,수치해석

[수치해석] Linear Least-Squares Rgression(최소제곱 회귀 분석), 결정계수

colorful-palette 2023. 1. 21. 21:52

1. Regression(회귀), Interpolation(보간법)

데이터 분포를 직선, 다항함수, ... 등 하나의 대표하는 함수로 표현하는 것을 regression, 회귀라고 한다.

데이터들이 상당한 크기의 오차를 포함하거나, "산재한" 경우 사용한다.

<데이터의 분포를 직선으로 회귀한 모습>

여기서, 또 하나의 개념이 등장한다

Interpolation(보간법): 각 점을 직접 통과하는 직선이나 일련의 곡선을 구하는 것을 말한다.

데이터가 매우 정확하게 알려져 있는 경우 사용한다.

Regression(회귀), interploation(보간법)의 차이:

 

동일한 데이터에 대해 (a) 최소제곱 회귀분석 (회귀), (b) 선형보간법, (c) 곡선보간법을 적용한 예시다.

셋 다 데이터를 대표하는 방법이지만, 그림을 보면 차이를 쉽게 알 수 있을 것이다.

보간법은 점을 무조건 지나치지만, 회귀는 점을 지나지 않고 모델과 data간의 오차가 최소화되는 방향으로 업데이트되는 개념이다.

n개, 혹은 그보다 많은 데이터 대표화하기:

n개의 데이터가 존재할때, n-1차 다항 함수로 interpolation 할 수 있다.

ex) 3개의 데이터로 이차함수 interpolation -> 이차함수는 상수항까지 포함해서 미지수 3개이므로 데이터가 3개 필요하다

n개보다 더 많은 데이터가 존재할땐, n-1차 다항함수로 interpolation이 불가능하다. (미지수가 n개지만 데이터가 n보다 더 많으므로 함수가 데이터들의 점을 다 지나갈 수 없다.) -> 이럴땐 regression을 사용한다.​

 

2. Standard derivation

주어진 input/ output 데이터(x1, y1), (x2, y2), (x3, y3), ....를 대표할 수 있는 직선 모델을 y라고 할 때, 일차함수인 y는

$y\ =\ a_{0\ }+a_{1\ }x+\ e$y = a0 ​+a1 ​x+ e​

로 나타낼 수 있고, 여기서 e는 모델 y와 실제 데이터 사이의 차이인 오차, residuals 이라고 한다.

식으로 표현한다면 i번째 데이터의 값 yi - 그에 따른 직선모델 y 값,

e = (yi - (a0+a1xi)) 로 둘 수 있다. (위의 식에서 이항 후 값을 대입한 형태)

그리고 평균과 데이터의 표준편차를 sy라고 표현했다면, 직선모델과 데이터의 표준편차, standard derivaton(sy/x)도 있다.

그림으로 쉽게 이해하기!

​​

3. Coefficient of determination (결정계수)

input과 output의 상관관계를 나타낸다.

직선으로 fitting을 한 모델이 얼마나 의미가 있는지, 없는지 1에서 0 사이의 값으로 알 수 있다.

로 구할 수 있다.(St, Sr이 무엇인지는 바로 위의 그림 참고!)

좀 더 직관적으로는

 

이 되겠다.(여기서 말하는 타깃은 각 데이터, 예측은 직선모델)

예시:

r이 1이라면 데이터가 전부 직선에 놓여있는 완전접합, r이 0이라면 직선이 데이터와 아무 상관 없는, 의미 없는 fitting임을 뜻한다.

의미만 알고 넘어가도 되는 개념이다!

​​

4. Linear Least-Squares Rgression(최소제곱 회귀 분석)

최소제곱 회귀 분석은 이러한 직선모델 중 최적의 직선을 뽑는 방법 중 하나다.

직선 회귀 모델과 데이터간의 차이(오차)의 제곱의 합을 최소로 만드는 것을 Linear Least-Squares Rgression이라고 한다.

즉, Sr을 최소로 만든다!

머신러닝에서 주로 쓰인다.

​​

 

5. Least squre solution을 구하는 방법 (행렬로 데이터가 주어졌을때 )

 

​​

로 a0 , a1 을 구한 다음, y = a0 + a1x 형태로 나타내주면 끝!

Linear regression 뿐만 아니라 다차할 모델인 poly regression도 같은 솔루션으로 구할 수 있다.