-
[4장]ISL with R : 로지스틱 회귀(회귀계수의 계산1: 우도함수와 경사하강법)기초지식/ISL with R(통계학) 2023. 4. 5. 08:10반응형
우도함수 정의
로지스틱 회귀 함수의 회귀계수는 우도함수(Likelihood function)를 이용한 경사하강법(Gradient descent)을 통해서 계산할 수 있다. 먼저 우도함수를 보자. 우도함수는 각 데이터 포인트가 생성될 확률을 나타낸다. 그리고 최대우도법은(확률변수의 모수를 구하는 방법) 각 데이터 포인트가 생성될 확률을 최대로 만드는 확률분포를 찾는 과정이다.
"[4장]ISL with R : 로지스틱 회귀(로지스틱 함수)"에서 말한 것처럼 아래 식 1 로지스틱 함수는 "x값에 따른 값이 집단 1에 분류될 확률"을 나타낸다.
위 식을 바탕으로 각 데이터 포인트가 생성될 확률을 생각해 보자. 데이터 결과를 y_i = 0 또는 y_i = 1로 분류 한다고 가정하면, y_i 가 1일 때는 데이터 포인트가 생성될 확률이 p_i 가 되지만 0 일 때는 (1 - p_i)가 된다. 이를 식으로 나타내면 아래와 같다.
각각의 데이터 생성은 독립사건이므로 분류1에 해당하는 확률과 분류 0에 해당하는 확률을 모든 데이터포인트에 대해서 곱해주면 전체 데이터 포인터가 생성될 확률을 나타낼 수 있다. 정리하면 아래와 같은 식이 된다.(식 2에서 파이는 모든 항을 곱해줬다는 의미)
경사하강법을 이용한 계수 계산
로그우도 함수
위 식3에서 구한 우도함수에 경사하강법을 이용하면 회귀계수를 구할 수 있다. 경사하강법은 경사를 점점 줄어들게 해서 경사가 최소인 지점을 찾는 것이다. 여기서 경사는 1차 미분값이다. 즉, 로지스틱 회귀에서 경사하강법을 쓴다는 것은 우도함수의 1차 미분값(경사)이 최소가 되는 지점을 회귀계수의 조정을 통해 찾아나가는 것이다. 그런데 곱셈으로 연결된 위 식 3의 우도함수로 경사를 계산하기는 힘들다. 그래서 위 식 3에 로그를 씌워서 먼저 미분하기 편하게 만드는 과정이 필요하다.
경사(로그우도함수의 미분값)
위 식 4에서 나온 값을 b_j 로 미분해 주면 로그우도 함수의 경사를 구할 수 있다. 먼저, 합성함수의 미분법에 따라서 위 식 4를 미분해 주면 아래와 같다.
그런데 위 식 5의 p_i 를 b_j로 미분한 값은 아래 식 6을 통해서 정리할 수 있다.
식 6 에서 정리한 p_i를 b_j로 미분한 값을 식 5에 다시 대입해 주면 최종 미분값은 식 7과 같이 정리할 수 있다.
반응형'기초지식 > ISL with R(통계학)' 카테고리의 다른 글
[4장]ISL with R : LDA(선형판별분석) (0) 2023.07.08 [4장]ISL with R : 로지스틱 회귀(회귀계수의 계산2: 최적해 도출) (1) 2023.04.09 [4장]ISL with R : 로지스틱 회귀(로지스틱 함수) (0) 2023.04.04 [3장]ISL with R : 다중선형회귀 실습 in R(주가예측 심화) (0) 2022.10.25 [3장]ISL with R : 단순선형회귀 실습 in R(환율을 통한 주가예측) (0) 2022.10.21