Linear, Logistic Regression의 확률적 해석

Linear, Logistic Regression의 확률적 해석

2020, Aug 09    


머신 러닝 관련 글 목록


  • 이번 글에서는 평소 익숙한 Linear RegressionLogistic Regression을 확률 모형 (Probabilistic Model)로 표현하여 확률적인 해석을 해보도록 하겠습니다.


목차



Linear Regression


  • Linear Regression의 확률적 해석을 알아보기 이전에 간단히 Linear Regression의 개념을 리뷰하겠습니다.


Drawing


  • 위 식은 집들의 면적과 그 면적에 따른 가격이 데이터로 주어졌을 떄, Linear Regression 모델로 표현하고자 하는 방식입니다.
  • Linear Regression의 경우 위 그래프에서 직선을 하나 그어서 주어진 데이터를 가장 잘 표현하도록 만들고 주어지지 않은 입력값 (집의 면적)이 주어졌을 때, 그 집의 가격을 추정하는 방법이 됩니다.


Drawing


  • Linear Regression 문제에서는 (집의 면적, 집의 가격) = ( xx , yy ) 가 되며 xx 는 모델에 입력이 되는 값이고 yy 는 정답값이 됩니다.
  • 이 때, Linear Regression 모델을 hθ(x)hθ(x) (hypothesis)로 표현하고 문제를 풀어가면서 최적화 (Optimize) 해야할 값은 θθ 값이 됩니다.


  • θθ 값을 최적화 하기 위하여 J(θ)J(θ) 라는 Loss를 사용합니다.
  • 머신 러닝 문제를 풀어갈 때, 이러한 Loss Function을 정의하는 것 또한 모델링의 일부분이며 학습을 하기 위하여 gradient가 필요하므로 미분이 가능한 Loss Function을 사용하는 것이 일반적입니다.


  • 참조 사항으로 좀더 자세하게 Loss Function의 조건에 대하여 알아보면 다음 3가지 조건을 만족해야 합니다.
  • ① Gradient를 계산할 수 있도록 미분이 가능해야 합니다.
  • Loss 값에 음수가 없어야 합니다.
  • ③ Loss Function이 Convexity 형태를 가져야 합니다.


Linear Regression의 확률적 표현


  • 앞에서 알아본 Linear Regression을 확률적으로 어떻게 표현되는 지 한번 살펴보도록 하겠습니다.
  • 정답 y와 입력 x의 관계를 Linear Model로 표현하면 다음과 같습니다.


  • y(i)=θTx(i)+ϵ(i)y(i)=θTx(i)+ϵ(i)(1)


  • 식 (1)의 노이즈 ϵϵ 가 평균이 0인 zero mean gaussian 분포를 따른다고 가정하겠습니다. ( ϵN(0,σ)ϵN(0,σ) )
  • 식 (1)을 ϵϵ 를 기준으로 정리하면 다음과 같습니다.


  • p(ϵ(i))=12πσexp((ϵ(i)0)22σ2)p(ϵ(i))=12πσexp((ϵ(i)0)22σ2)(2)


  • 이 때, yy 에 대한 확률 모형인 Discriminative Model p(Y|X;θ)p(Y|X;θ) 는 다음과 같이 정의될 수 있습니다.


  • ϵ(i)=y(i)θTx(i)ϵ(i)=y(i)θTx(i)(3)
  • p(y(i)|x(i);θ)=12πσexp((y(i)θTx(i))22σ2)p(y(i)|x(i);θ)=12πσexp((y(i)θTx(i))22σ2)(4)
  • y(i)|x(i);θN(θTx(i),σ2)y(i)|x(i);θN(θTx(i),σ2)(5)


  • 위 식 p(y(i)|x(i);θ) 을 통하여 θ 에 대한 likelihood 함수를 구하면 다음과 같습니다.


  • L(θ)=mi=1p(y(i)|x(i);θ)
  • =mi=112πσexp((y(i)θTx(i))22σ2)


  • MLE(Maximum Likelihood Estimation)은 Likelihood를 최대화하는 θ 를 추정하는 것이며 곱 연산으로 인해 값이 굉장히 작아지는 문제를 개선하기 위하여 log를 적용하 log-likelihood를 사용하여 다음과 같이 표현합니다. 상세 내용은 다음 링크 https://gaussian37.github.io/ml-concept-probability_model/를 참조해 주시기 바랍니다. 식을 전개해 보겠습니다.


  • l(θ)=logL(θ)
  • =logmi=112πσexp((y(i)θTx(i))22σ2)
  • =mi=1log12πσexp((y(i)θTx(i))22σ2)
  • =mlog12πσ1σ212mi=1(y(i)θTx(i))2


  • 식 (10)이 음수 식으로 정리됨에 따라 l(θ) 를 최대화 하기 위해서는 결론적으로 12mi=1(y(i)θTx(i))2 을 최소화 해야 함을 알 수 있습니다. 따라서 MLE를 하기 위해서는 다음을 만족해야 합니다.


  • Minimize : 12mi=1(y(i)θTx(i))2


  • 식 (11)은 앞에서 살펴 보았던 Loss Function에 해당하며 Loss Function의 사용 목적도 Loss를 최소화 하기 위함인 것을 상기하면 Linear Model y(i)=θTx(i)+ϵ(i) 에서 ϵ(i)zero-mean gaussian 분포를 따른다는 가정하에 MLELoss를 최소화 하는 것은 같음을 알 수 있습니다.
  • 참고로 ϵLaplacian으로 가정하면 Loss Function이 절대값으로 나오게 됩니다. 따라서 어떤 분포로 가정하느냐에 따라 다른 형태의 Loss Function으로 유도됩니다.


Drawing


  • 앞에서 수식으로 표현한 것을 그래프로 나타내면 위 그림과 같습니다.
  • 먼저 ① 그림에서 검정색 선이 Linear Regression Fitting한 것이 됩니다. ② 그림에서 보면 이 Fitting한 선을 따라 데이터가 가우시안 분포를 가지게 되며 선에 해당하는 값이 평균값이 됩니다. 참조 링크를 통해 확인하면 가우시안 분포의 Maximum Likelihood는 평균값에서 만족합니다.
  • 식 ③과 같은 확률 모형이 결정이 되면 이 식에 따라 데이터가 분포됩니다. 식 ③은 가우시안 분포를 가정하여 수립되었기 때문에 x(i) 가 입력값이고 그 함수값인 θTx(i)평균값의 역할을 하게 됩니다.
  • 이 때, f(x(i);θ)=θTx(i) 라고 정의하면 이 함수값의 변형에 따라 평균과 분포가 바뀌게 되고 그 결과 fitting된 곡선이 바뀔 수 있습니다.


  • 지금까지 과정을 정리하면 변수 X,Y 들의 관계를 확률 모형 pθ(Y|X) 로 정의하고, Likelihood L(θ) 를 정의하였을 때, MLE(Maximum Likelihood Estimation)을 통하여 최적의 해 θ를 찾는 과정은 Least-square cost를 최소화 하는 것과 같음을 살펴 보았습니다. (몇가지 가우시안 가정을 전제로 하였습니다.)
  • 이와 같이 확률 분포를 이용한 모형 해석을 통해 기존 Linear Regression에서 Least Square Loss를 사용하는 하나의 근거를 찾을 수 있었습니다.


Logistic Regression


  • Logistic Regression 또한 많이 알려진 모델이며 Classification Model로써 사용되고 있습니다. 이번에는 앞의 Linear Regression과 유사하게 Logistic Regression을 이용한 확률적 해석을 해보도록 하겠습니다.


Drawing


  • 위 그림과 같이 입력값 x 에 따라 출력값 y 는 0 또는 1을 가지게 되므로 Logistric Regression의 경우 입력값 x 를 받았을 때, 0 또는 1의 출력을 내야 합니다. 먼저 모델의 형태에 대하여 알아보도록 하겠습니다.


Drawing



  • hθ(x)=g(θTx)=11+eθTx
  • θTx=θ0+nj=1θjxj


  • 앞에서 Linear Regression에서 기본적으로 사용하였던 Loss Function이 Squared Error를 소개하였었습니다. 일반적으로 Logistic Regression에서는 Cross Entropy를 Loss Function으로 사용합니다. 형태는 다음과 같습니다.ㄴ


  • J(θ)=1mc(hθ(x),y)
  • c(hθ(x),y)={log(hθ(x)):y=1log(1hθ(x)):y=0
  • c(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))


  • Logistic Regression에서 사용되는 Cross Entropy 형식은 0/1을 선택하는 Binary Cross Entropy를 따릅니다. 보통 Softmax → Cross Entropy를 차례로 적용하거나 Sigmoid → Binary Cross Entropy를 적용합니다.
  • 현재 다루고 있는 Logistic Regression의 경우 Sigmoid → Binary Cross Entropy에 해당합니다. 즉, Sigmoid를 거치기 때문에 0/1 사이의 값을 가지게 됩니다.


Logistic Regression의 확률적 표현


  • 그러면 이 정보들을 이용하여 앞의 Linear Regression에서 다룬 바와 같이 확률 모델로 나타내 보겠습니다. hθ(x) 즉, hypothesis를 인풋 변수 x 가 주어졌을 때 아웃풋 변수 y 에 대한 확률 모형 p(Y|X) 로 가정하겠습니다.


  • p(y=1|x;θ)=hθ(x)
  • p(y=0|x;θ)=1hθ(x)


  • Sigmoid 함수의 출력을 이용하므로 Binary Cross Entropy를 적용하기 전 출력의 범위가 0 ~ 1 사이가 되고 식 (17 ), (18)의 확률 모형이 x 가 주어졌을 때, 0 이나올 확률 또는 1이 나올 확률 2가지를 대상으로 확률을 얻는 문제가 되므로 Bernoulli Distribution으로 해석할 수 있습니다.


  • p(y|x;θ)=(hθ(x))y(1hθ(x))1y
  • y|x;θBernoulli(ϕ)


  • 식 (20) 에서 ϕ 에 해당하는 값은 hθ(x) 입니다.
  • 식 (19)의 확률 모델을 이용하여 MLE를 구하기 위해 likelihood 함수 식을 유도하면 다음과 같습니다.


  • L(θ)=p(Y|X;θ)
  • mi=1p(y(i)|x(i);θ)
  • mi=1(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)


  • l(θ)=logL(θ)
  • =mi=1y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))
  • =mi=1y(i)log(hθ(x(i)))(1y(i))log(1hθ(x(i)))


  • 식 (26)의 값을 최대화 하는 것은 식 (14)인 Logistic RegressionLoss Function을 최소화 하는 것과 같은 의미를 가지게 됩니다. 따라서 Logistic Regression의 MLE를 구하는 것은 Binary Cross Entropy Loss Function을 최소화 하는 것과 같다라고 이해할 수 있습니다.


Summary


  • 지금까지 평소 익숙한 Linear RegressionLogistic Regression을 확률 모형 (Probabilistic Model)로 표현하였고 두 모형 다 input X 와 output Y 데이터 쌍이 활용되는 Supervised Learning 상황에서 학습하였습니다.
  • 평소 익숙한 모형들의 학습에 사용되는 Loss Function이 확룔로 정의되는 모형에 의한 log-Likelihood 함수를 최적화 하는 것과 같은 것임을 확인하였습니다.
  • 또한 용어를 정리하면 Discriminative Approach는 확률 모형 pθ(Y|X) 를 가정하고 MLE를 만족시키는 최적의 파라미터 θ 를 학습하는 것임을 숙지하시면 도움이 됩니다.


머신 러닝 관련 글 목록