코딩하는 눈송이

Regression 본문

선형대수

Regression

monapanda 2023. 2. 13. 23:18

Regression이란?

여러 개의 독립 변수에서 하나의 종속 변수를 유도해 내는 것을 말한다.

 

Linear Regression의 일반식은 다음과 같다.

r=f(x)+ε(X=(xt,rt)Nt=1,f(xt)=wTxt)

  • x : 독립 변수
  • r :  종속 변수. 즉, 맞추고자 하는 real value
  • f(x) : linear regression을 통해 예측한 예측값(추정량 - estimator). 즉, yt라고 볼 수 있다.

위의 식에서 xt는 t번째 독립 변수로, xt=(xt1,xt2,...,xtk)와 같은 Feature xtj의 결합이다.

또한 wT는 parameter로, wT=(w1,w2,...,wk)와 같은 parameter를 의미한다.

 

여기서 parameter θ(위의 wT와 동일)를 가질 경우 추정량(estimator) g(x|θ)(위에서 말한 f(x)와 동일)를 가진다고 하자.

ε은 잔차(residual)로, ε ~ N(0,σ2)인 정규 분포를 따른다면,

p(r|x,θ)N(g(x|θ),σ2)

라는 분포를 가질 것이다.

 

이를 가장 쉬운 형태인 linear regression(선형 회귀) 형태의 그래프로 나타내어 이해해 보자.

 

linear regression의 경우 parameter θ가 기울기 추정량w1과 절편 추정량 w0를 가진다 했을 때,

특정 점 xt에서의 estimator(추정량) g(x|θ)w1xt+w0의 일차식을 가지게 될 것이다.

linear model에서 x1에서의 gaussian distribution of y

위의 그래프에서 점 xt에서의 예측값(expected value)은 E[yt|xt]=w1xt+w0로 표현 가능하고,

E[yt|xt]와 real value 사이의 차는 ε 즉, residual을 더해주면

rt=w1xt+w0+ε

 

와 같은 식이 완성된다.

 

 

Log Likelihood

선형 회귀에서 n개의 점이 있으며 각 점은 (xt,rt)라는 점을 가진다고 했을 때,

log likelihood를 구해보자.

L(θ|X)=logNt=1p(D|θ)=logNt=1p(rt|xt,θ)

 

이와 같이 나오게 된다

 

앞서 언급했던 것과 같이 p(r|x,θ) ~ N(g(x|θ),σ2)라는 정규 분포를 따라가게 되므로

각 데이터 포인트의 p(rt|xt,θ)를 정규 분포의 확률밀도함수로 표현해주게 된다면 다음과 같다.

p(rt|xt,θ)=12πσexp[(rt(w1xt+w0))22σ2]

 

(2) 식을 (1) 식에 정리하여 대입하게 되면 다음과 같은 식으로 정리된다.

L(θ|X)=Nt=1log12πσexp[2σ2[rtg(xt|θ)]2]

=12σ2Nt=1ε2N2log(2πσ2)

 

여기서 Nt=1ε2=RSS(w)=||ε||2와 같은 l2 norm으로 표현 가능하다.

RSS는 Sum of Squared Error(N으로 나누면 Mean Squared Error)이라고 불린다.

 

(3) 식에서 ε와 무관한 항을 지워서 정리해준다면

E(θ|X)=12Nt=1[rtg(xt|θ)]2=12Nt=1ε2

 

이렇듯, linear regression은 다음과 같은 RSS(Error이기에 E(θ|X)로 표시했다)를 minimize하는 동시에

Likelihood 값이 maximize되는 parameter W(동시에 θ값)을 찾는 것이다.

 

 

행렬식 사용하여 수식 풀기

앞서 linear regression은 estimator이 다음과 같이 표현됨을 확인했다.

g(xt|w1,w0)=w1xt+w0

 

이를 앞선 expected value 식(E(θ|X)=12Nt=1[rtg(xt|θ)]2)에 대입한다고 생각해보자

식을 전개하면

Nt=1[rtg(xt|θ)]2=Nt=1[rt22rtg(xt|θ)+g(xt|θ)2]

 

위 식을 간단하게 만들기 위해 행렬을 사용하자.

Nt=1rt=Nw0+w1Nt=1xt

Nt=1rtxt=w0Nt=1xt+w1Nt=1(xt)2

이므로, 이를 행렬로 표현한다면

로 표현된다.

 

 

Polynomial Regression

Polynomial Regression의 경우 1개의 feature만 가지고 있었던 linear regression과 달리 2개 이상인 k개의 feature을 가지고 있다.

 

g(xt|wk,...,w2,w1,w0)=wk(xt)k+...w2(xt)2+w1xt+w0

 

이를 또 행렬로 나타내 준다면

와 같은 식으로 표현된다.

 

출처

https://shurain.net/personal-perspective/linear-regression/

 

Linear Regression — Sungjoo Ha

Linear Regression Published on 2017-01-18 Last updated on 2018-04-21 선형 회귀 소개. SGD 소개. Regularization 소개. 가장 단순한 모델 중 하나인 선형 회귀linear regression를 알아보자. 선형 회귀는 데이터를 가장 잘 설

shurain.net

https://shurain.net/personal-perspective/linear-regression/

 

Linear Regression — Sungjoo Ha

Linear Regression Published on 2017-01-18 Last updated on 2018-04-21 선형 회귀 소개. SGD 소개. Regularization 소개. 가장 단순한 모델 중 하나인 선형 회귀linear regression를 알아보자. 선형 회귀는 데이터를 가장 잘 설

shurain.net

https://process-mining.tistory.com/125

 

Linear Regression이란? (선형회귀란?, linear regression과 MLE)

Linear regression은 데이터 간의 선형적인 관계를 가정하여 어떤 독립 변수 x가 주어졌을 때 종속 변수 y를 예측하는 모델링 방법이다. 이번 글에서는 머신 러닝 공부를 시작하면 가장 먼저 배우는

process-mining.tistory.com

 

'선형대수' 카테고리의 다른 글

Factor Analysis  (1) 2023.06.06
LDA(Linear Discriminant Analysis)  (0) 2023.04.16
PCA(Principal Component Analysis)  (0) 2023.04.16
차원 축소  (0) 2023.04.16
Multivarite Methods(다변량 분석)  (0) 2023.04.15
Comments