[인공지능 프로그래밍 수업] Logistic Regression

이은비·2023년 12월 15일

04) Logistic Regression
————————Preview————————————————————————
Logistic Regression에 앞서서 Linear Regression에 대해서도 알아보면 다음과 같이 간단히 정리할 수 있습니다.
왜 사용할까? 주어진 데이터에 대한 분류
Linear regression은 주어진 데이터에서 데이터에서 독립변수와 종속변수가 선형 관계를 가질 때 사용하면 유용합니다. 또한, 복잡한 연산 과정이 없기 때문에 성능이 낮은 환경 혹은 메모리 성능이 좋지 않을 때 사용하면 유용합니다.
데이터에 대해서는 속성과 레이블로 나눌 수 있는데 이때 속성은 독립 변수이고, 레이블은 종속 변수입니다.
선형 회귀 모델의 평가는 MSE 혹은 RMSE로 주로 평가합니다.

왜 사용할까? 주어진 데이터에 대한 분류
로지스틱 회귀 분석은 주어진 데이터에 대한 확신이 없거나 향후 추가적으로 훈련 데이터셋을 수집하여 모델을 훈련시킬 수 있는 환경에서 사용하면 유용합니다.

일반적인 회귀 분석과는 다르게 종속변수가 연속형 변수가 아닌 이산형 변수이며, 모형 탐색 방법이 최소제곱법이 아닌 최대우도법이며 모형 검정또한 일반적인 회귀 분석에서는 F-test, t-test인 반면에 X^2test를 주로 사용합니다.
여기서 위에서 말한 최소제곱법은 우리가 일반적으로 알고 있는 MSE이며 최대우도법은 Maximum Likelihood 는 결과에 해당하는 가설마다 계산된 우도 값 중 가장 큰 값을 의미합니다 즉, 일어날 가능성이 가장 큰 것을 의미합니다.
Logistic regression은 분석하고자 하는 대상들이 두 집단 혹은 그 이상의 집단으로 나누어진 경우, 개별 관측치들이 어느 집단에 분류될 수 있는지 분석하고 이를 예측하는 모형을 개발하는 데 사용되는 통계 기법입니다.
또한 로지스틱 회귀 분석은 각 집단에 속하는 확률의 추정치를 예측하고, 분류기준값 즉, cut-off를 설정한 후 특정 범주로 분류하는 작업을 진행합니다.

———————————————————————————————————————
Correlation vs. Regression
Correlation을 산점도를 사용하여 두 변수 사이의 관계를 표시하면 다음과 같이 나타낼 수 있습니다. Correlation을 사용하여 두 변수 간의 연관성의 강도를 측정합니다. 아래 그림처럼 Correlation은 인과관계는 내포되어 있지 않으며 서로의 관계의 strength에만 관계가 있습니다.

Regression은 다음과 같은 일들을 수행하는데 사용됩니다.
하나 이상의 독립 변수 값을 기반으로 종속 변수 값 예측하며 즉, 독립 변수의 변화가 종속 변수에 미치는 영향 설명합니다. 그리고 이때 각 keyword를 보면 종속변수는 예측하거나 설명하고자 하는 변수이며 독립변수는 종속변수를 예측하거나 설명하는데 사용되는 변수 입니다.

Simple Linear Regression Model
간단한 Linear Regressin model을 다음과 같이 표현할 수 있습니다. 하나의 독립변수 X가 존재하며 X와 Y의 관계는 선형 함수로 설명됩니다.

독립변수 X에 대해 coefficient 및 error term을 붙여서 전체 식인 Dependent variable Y값을 도출해냅니다.

What is linear regression?
단순 선형 회귀 분석은 독립 변수의 수가 1개이고 독립 변수(𝑦)와 종속 변수(𝑥) 사이에 선형 관계가 있는 회귀 분석 유형입니다. 점들을 가장 잘 모형화하는 선을 그리는 작업을 하는 과정이라고 볼 수 있고, 이러한 선은 일차방정식을 바탕으로 모형화 할 수 있습니다. 또한 선형 회귀 알고리즘의 motivation은 MLE인 𝜃0과 𝜃1에 대한 최적의 값을 찾는 것입니다.
MLE for A Linear Model
MLE(Maximum Likelihood Estimation)는 관측된 데이터가 있는 경우 가정된 확률 분포의 모수를 추정하는 방법입니다.
Likelihood Function :

위와 같이 정리된 식에서 밑줄쳐진 빨간색 부분을 minimize합니다.

Cost Function for Least Squares Method
𝜃0와 𝜃1에 대한 최상의 값을 원하기 때문에, 우리는 이 탐색 문제를 예측값과 실제 값(ground truth) 사이의 오차를 최소화하고자 하는 최소화 문제로 변환합니다.

우리는 오차 차이와 합을 모든 데이터 포인트에 제곱하고 그 값을 전체 데이터수로 나눕니다. 이것은 모든 데이터에 대한 평균 제곱 오차(average squared error)를 제공합니다. 따라서 이 비용 함수는 평균 제곱 오차(MSE) 함수라고도 합니다.

Gradient Descent
gradient descent는 cost function(MSE)를 줄이기 위해 𝜃0과 𝜃1을 업데이트하는 방법입니다. 그리고 이 MSE함수를 사용하여서 MSE값이 최소값이 되도록 𝜃0 및 𝜃1 값을 변경합니다. 아이디어는 𝜃0과 𝜃1에 대한 일부 값으로 시작한 다음 비용을 줄이기 위해 이 값을 반복적으로 변경하는 것입니다.기울기 하강 알고리즘에서 당신이 취하는 단계는 학습 속도입니다. 이것은 알고리즘이 얼마나 빨리 미니마로 수렴하는지를 결정합니다.
비용 함수는 국소 최소값에 정착할 수 있는 비볼록 함수일 수 있지만 선형 회귀의 경우 항상 볼록 함수입니다.
𝜃0와 𝜃1을 업데이트하기 위해 비용 함수에서 gradient를 취합니다. gradient를 구하기 위해 𝜃0과 𝜃1에 대한 편미분을 취합니다.
식들을 정리하여서 나타내면 다음과 같습니다.
편미분은 그래디언트이며 𝜃0와 𝜃1의 값을 업데이트하는 데 사용됩니다. 알파는 당신이 지정해야 하는 하이퍼 파라미터인 학습 속도입니다.
알파 값 즉, 학습 속도가 작으면 최소값에 더 가까워질 수 있지만 최소값에 도달하는 데 시간이 더 많이 걸리고 학습 속도가 클수록 더 빨리 수렴되지만 최소값을 초과할 가능성이 있습니다.

Multiple Linear Regression
다중(또는 다중 변수)는 여러 개의 독립 변수를 나타냅니다. 정리된식들은 다음과 같이 나타낼 수 있습니다.


일때 Cost function은 다음과 같고,
gradient descent는 다음과 같습니다.

Multivariate Multiple Linear Regression
다변량은 다중 종속 변수를 나타냅니다.

일반 선형 모형 또는 일반 다변량 회귀 모형은 여러 개의 다중 선형 회귀 모형을 동시에 작성하는 컴팩트한 방법입니다. 그런 의미에서 그것은 별도의 통계적 선형 모형이 아니며 다변량 다중 선형 회귀 분석(Multiple Linear Regression)으로 콤팩트하게 작성된 여기서 𝐘는 일련의 다변량 측정이 포함된 행렬(각 열은 종속 변수 중 하나에 대한 측정 집합)이면서, 𝐗는 설계 행렬일 수 있는 독립 변수에 대한 관측치 행렬렬(각 열은 독립 변수 중 하나에 대한 관측치 집합), 𝐖는 일반적으로 추정되는 모수를 포함하는 행렬이고 𝐄는 오차(잡음)를 포함하는 행렬입니다.

Logistic Regression
로지스틱 회귀 분석은 종속 변수가 이분형(이진형)일 때 수행하는 적절한 회귀 분석입니다. 데이터를 설명하고 하나의 종속 이진 변수와 하나 이상의 공칭, 서수, 구간 또는 비율 수준 독립 변수 사이의 관계를 설명하는 데 사용됩니다. 선형 회귀 알고리즘은 연속 수준(구간 또는 비율) 척도의 값을 예측/예측하는 데 사용되지만 로지스틱 회귀는 분류 작업에 사용되는 이분법적(0/1) 변수입니다.

Decision Function
로지스틱 회귀 분석의 출력은 이분법적입니다. 즉, 로지스틱 회귀 분석(Logistic Regression)은 사실 로지스틱 분류(Logistic classification)입니다.
로지스틱 회귀 분석을 위한 선형 분류기: 의사결정 함수(Decision function)

Sigmoid Function (Logistic Function)


정리하면 다음과 같습니다.

예측 값은 음의 무한대에서 양의 무한대 사이에 있을 수 있으므로 알고리즘의 출력은 클래스 변수, 즉 0-아니오, 1-예여야 합니다.
분류(classification)의 경우 0과 1 사이의 확률을 선호하므로 방정식의 오른쪽을 로지스틱 함수에 포함시킵니다. 즉, 선형 회귀 분석의 출력을 로지스틱 함수의 입력에 포함시킵니다.
Sigmoid Interpretation
식을 정리해서 나타내면 다음과 같습니다. 만약의 feature xj의 값을 한단위 증가시키면 odds는 exp(𝜃j)의 인수만큼 변경됩니다.

Compare Linear and Logistic Regression
선형 회귀 분석(Linear regression):
-Y는 𝑋의 선형 함수입니다.
-우리는 𝑏0와 𝑏1의 값을 추정합니다
-그런 다음 추정치와 모형을 사용하여 주어진 𝑋 𝑌 값에 대한 𝑌 값을 예측할 수 있습니다.
로지스틱 회귀 분석(Logistic Regression):
-logistic: 로그 odds를 통해 𝑋에 대한 𝑌의 모형 의존성.
-로그 부분이 𝑏1가 로그 odds가 아닌 이유입니다

  • 모델은 P(Y=1|X)에 대해 해결된 것을 의미하는 반전된 다음 모든 𝑋에 대해 P(Y=1|X)를 추정하는 데 사용될 수 있습니다.
  • 로지스틱 회귀 분석은 결과의 방향을 해석합니다.

Cost Function
-우리는 클래스 값을 예측하려고 하기 때문에 선형 회귀 알고리즘에서 사용하는 것과 동일한 비용 함수를 사용할 수 없습니다. 따라서 잘못된 분류에 대한 비용을 계산하기 위해 로그 손실 함수를 사용합니다.
-위 식을 gradient 계산하기 어려우므로 위 cost function을 다음과 같이 다시 쓸 수 있습니다. 다음 함수를 교차 엔트로피 손실 함수라고 합니다

Simplifying Cost Function

J에 apply하면 다음과 같습니다.

Calculating Gradients
그래디언트를 구하기 위해 각 매개변수(𝜃0, 𝜃1,...)에 대한 비용 함수의 편미분을 구합니다. 이 그래디언트를 사용하면 𝜃0, 𝜃1,..., 값을 업데이트할 수 있습니다.

profile
cs/ce 전공 재학생입니다.

0개의 댓글