-
Linear Regression vs. Logistic Regression의 계수 찾는 법 - OLS vs. MLE vs. gradient descentStatistics 2022. 6. 7. 18:59
보통 ML에서는 gradient descent를 통해 cost function을 최소화하게 되는데, logistic regression 처럼 MLE를 이용하여 구할 수 있는 경우도 있다.
위 내용이 맞다고 순간 생각했는데 logistic regression이 아니라 linear regression 에 해당하는 이야기였음.
logistic regression은 MLE는 있는데.. analytically 불가능. numerical 로 찾아야함. --> 왜? 에 대한 질문을 https://towardsdatascience.com/linear-regression-vs-logistic-regression-ols-maximum-likelihood-estimation-gradient-descent-bcfac2c7b8e4 여기에서 완전 시원하게 긁어주었다.
Linear Regression vs. Logistic Regression
두 방법론이 타겟변수가 다르다는 것은 당연히 알지만, parameter 찾는 방법도 엄밀히 따지면 굉장히 다르다는 것을 깨닫고 정리해보려고 한다.
- parameter 찾는 방법 : OLS vs MLE vs gradient descent
방법 Linear Regression Logistic Regression OLS O. 애초에 OLS 용어는 Linear Reg 에만 해당되는 이야기였음 X MLE(analytic) O. analytically deterministic 하여 최적해 구하기 쉬움. 이러한 경우는 rare case임 O, but The complexity and non-linearity of the function 특징때문에 MLE를 구할 수는 있지만 계산하기는 어렵기 때문에 numerical method 사용 필요 Gradient descent(numerical) O. cost function 존재한다면 어떠한 방법론이든 사용가능,
but OLS 를 최소화 하는 방향
= MLE를 최대화 하는 방향O. cost function 존재한다면 어떠한 방법론이든 사용가능
but MLE를 최대화 하는 방향The complexity and non-linearity of the function > 이것의 증명은? https://stats.stackexchange.com/questions/949/when-is-logistic-regression-solved-in-closed-form
nonlinear function이면 closed-form 아니라는 건데 솔직히 왜 그런지 모르겠음. --> https://velog.io/@ithingv/%EC%84%A0%ED%98%95%EB%AA%A8%ED%98%95%EA%B3%BC-%EB%B9%84%EC%84%A0%ED%98%95%EB%AA%A8%ED%98%95-%ED%8C%90%EB%B3%84-Linear-model-nonlinear-model
1. Linear Regression
1) OLS
\(SSE=(y-X\beta)^T(y-X\beta)\)
\(\frac{\partial{SSE}}{\partial\beta}=\frac{\partial{(\beta^TX^T-y^T)(y-X\beta)}}{\partial\beta}\)
\(=\frac{\partial{(2\beta^TX^Ty-\beta^TX^TX\beta)}}{\partial\beta}...(a)\)
\(\because\frac{\partial{\beta^T\vec{a}}}{\partial{\beta}}=\vec{a}^T,\)
\(\frac{\partial{\beta^TA\beta}}{\partial{\beta}}=\beta^T(A+A^T)\)
\((a)=2y^TX - \beta^T(2X^TX)\)
SSE = 0 이 되는 \(\beta\)는, (a) = 0 인 equation의 해이다.
\(Let 2y^TX - \beta^T(2X^TX) = 0\)
\(\beta^T= y^TX(X^TX)^{-1}\)
\(\therefore\beta = (X^TX)^{-1}X^Ty\)
참고로 분모에 x의 변동성, 분자에 x와 y의 관계성에 따라 계수가 결정된다고 해석하면 된다.
2. Logistic Regression일단 Logistic Regression 의 MLE를 구해보자.
스칼라, 벡터, 행렬이 헷갈려서 최대한 표기하려고 했다.
wikipedia의 Likelihood function 정의에 따르면,
이해하기에는 discrete random variable이 좋아 가져옴
likelihood란,
\(L(\theta|x) = p_{\theta}(x) = P_{\theta}(X=x) = P(X=x|\theta)\)
데이터가 주어졌을때 해당 파라미터의 가능도이다.
예를 들어 LR에서는,
데이터가 X, y로 주어지게 된다.
by iid assumption
\(L(\theta|D) = P(D=(X,y)|\theta) = \Pi_{i}^{n} P(D=(X,y)|\theta)\)
where \(\theta = \beta = (\beta_0, \beta_1,..., \beta_p)^T\)
, \(y=(y_1,...,y_n)^T\), \(X=(\vec{x_1},...,\vec{x_n}) \), \(\vec{x_i}=(x_{i1},...,x_{ip}) \)
\(X=\begin{pmatrix}
x_{1,1} & ... & x_{1,p} \\
... & ... & ... \\
x_{n,1} & ... & x_{n,p}
\end{pmatrix}\) ,\(y=X\beta\)
\(\because y_i\) ~ \(Bernoulli(\frac{1}{1+\exp{-\vec{x_i}\beta}})\)
\(P(D=(\vec{x_i},y_i)|\theta) = \pi_i^{y_i}(1-\pi_i)^{1-y_i}\)
,where
\(\pi_i = \frac{1}{1+\exp{-\beta^Tx_i}}\)
\(\therefore l = log L(\theta|D) = log( \Pi_{i}^{n} P(D=(\vec{x_i},y_i))|\theta) ) = \sum_{i}^{n}(y_i\log{\pi_i}+(1-y_i)\log{(1-\pi_i)})\)
\(\frac{\partial{l}}{\partial{\beta}}\) 값이 MLE라고 볼 수 있다.
by MLE 찾는 방법,
아래의 증명까지는 했다..(아직 못 옮김)
by gradient descent 찾는 방법.
Reference :
https://en.wikipedia.org/wiki/Likelihood_function
https://hokni-ee-95.tistory.com/79
https://www.statlect.com/fundamentals-of-statistics/logistic-model-maximum-likelihood
linear regression MLE vs gradient descent - https://ybigta-data-science.readthedocs.io/en/latest/6_Data_Science_from_Scratch/02_Gradient%20Descent%20&%20Linear%20Regression/
'Statistics' 카테고리의 다른 글
association rule (0) 2022.11.22