Table of Contents
728x90
로지스틱 회귀(Logistic Regression)는 이진 분류 문제에 사용되는 통계적 방법입니다. 이 방법은 두 가지 가능한 결과 중 하나를 예측하는 데 목적이 있습니다. 로지스틱 회귀는 종속 변수가 범주형이며 이진(즉, 0과 1의 두 가지 값만 가질 수 있음)일 때 사용됩니다.
로지스틱 회귀의 개념과 목적
- 이진 분류: 로지스틱 회귀는 데이터를 두 개의 클래스 중 하나로 분류하는 데 사용됩니다 (예: 성공/실패, 예/아니오, 스팸/정상).
- 확률 예측: 특정 입력이 특정 클래스에 속할 확률을 예측합니다. 출력은 0과 1 사이의 확률 값입니다.
로지스틱 함수 (시그모이드 함수)
- 로지스틱 회귀 모델은 예측 값을 확률로 변환하기 위해 로지스틱 함수(시그모이드 함수)를 사용합니다.
- 시그모이드 함수는 다음과 같이 정의됩니다:
𝜎(𝑧)=11+𝑒−𝑧여기서 𝑧는 입력 특징의 선형 결합입니다.
모델 방정식
- 로지스틱 회귀에서는 사건의 확률에 대한 로그 오즈(log-odds)를 입력 특징의 선형 결합으로 모델링합니다.
- 로그 오즈 함수는 다음과 같습니다:
logit(𝑝)=log(𝑝1−𝑝)=𝛽0+𝛽1𝑥1+𝛽2𝑥2+…+𝛽𝑛𝑥𝑛여기서 𝑝는 사건의 확률이고, 𝛽0는 절편, 𝛽𝑖는 입력 특징 𝑥𝑖에 대한 계수입니다.
모델 학습
- 최대 우도 추정(Maximum Likelihood Estimation, MLE): 로지스틱 회귀의 파라미터(계수)는 최대 우도 추정을 통해 추정됩니다. 목표는 관측된 데이터의 우도를 최대화하는 파라미터를 찾는 것입니다.
- 손실 함수: 로지스틱 회귀에서 사용하는 손실 함수는 음의 로그 우도입니다. 최적화 문제는 이 손실 함수를 최소화하는 것을 포함합니다.
결정 경계
- 결정 경계는 예측된 확률을 클래스 레이블로 변환하는 임계값입니다. 일반적으로 0.5의 임계값이 사용됩니다.
- 𝑝(𝑥)>0.5이면 출력 클래스는 1입니다.
- 𝑝(𝑥)≤0.5이면 출력 클래스는 0입니다.
가정
- 로그 오즈의 선형성: 로지스틱 회귀는 결과의 로그 오즈가 입력 변수의 선형 결합이라고 가정합니다.
- 독립성: 관측값은 서로 독립적이어야 합니다.
- 다중 공선성 없음: 독립 변수 간에 높은 상관관계가 없어야 합니다.
장점
- 해석 가능성: 계수는 각 특징의 영향을 쉽게 해석할 수 있는 측정을 제공합니다.
- 효율성: 계산 효율성이 높고 큰 데이터셋에서도 빠르게 학습할 수 있습니다.
- 확률적 출력: 클래스 소속 확률을 제공하여 특정 응용 프로그램에 유용합니다.
단점
- 선형성 가정: 독립 변수와 종속 변수의 로그 오즈 사이에 선형 관계가 있다고 가정합니다.
- 이진 분류에 한정: 확장 버전(다항 로지스틱 회귀)이 존재하지만, 표준 로지스틱 회귀는 이진 결과에 한정됩니다.
- 이상치에 민감: 로지스틱 회귀는 이상치에 민감할 수 있으며, 이는 모델의 성능에 영향을 미칠 수 있습니다.
확장
- 다항 로지스틱 회귀: 다중 클래스 분류 문제에 사용됩니다.
- 정규화된 로지스틱 회귀: 과적합을 방지하고 다중 공선성을 처리하기 위해 페널티(L1, L2)를 포함합니다.
실습 예제
다음은 Python의 scikit-learn 라이브러리를 사용한 간단한 예제입니다:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 예제 데이터셋
X = [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]]
y = [0, 0, 1, 1, 1]
# 데이터셋을 학습 세트와 테스트 세트로 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 로지스틱 회귀 모델 생성
model = LogisticRegression()
# 모델 학습
model.fit(X_train, y_train)
# 예측 수행
predictions = model.predict(X_test)
# 모델 평가
accuracy = accuracy_score(y_test, predictions)
print("Accuracy:", accuracy)
요약하면, 로지스틱 회귀는 이진 분류 문제를 해결하기 위한 강력하고 널리 사용되는 방법으로, 입력 변수와 결과 변수 간의 관계를 확률적으로 모델링하고 해석할 수 있습니다.
문제:
로지스틱 회귀(Logistic Regression)에 대한 설명으로 옳지 않은 것은 무엇인가요?
a) 로지스틱 회귀는 이진 분류 문제를 해결하기 위해 사용된다.
b) 로지스틱 회귀에서 사용되는 시그모이드 함수는 예측 값을 0과 1 사이의 확률로 변환한다.
c) 로지스틱 회귀는 독립 변수와 종속 변수 사이의 선형 관계를 가정한다.
d) 로지스틱 회귀는 다중 클래스 분류 문제를 해결하기 위해 주로 사용된다.
정답:
d) 로지스틱 회귀는 다중 클래스 분류 문제를 해결하기 위해 주로 사용된다.
해설:
- a) 로지스틱 회귀는 이진 분류 문제를 해결하는 데 사용되는 것이 맞습니다.
- b) 시그모이드 함수는 예측 값을 0과 1 사이의 확률로 변환하는 것이 맞습니다.
- c) 로지스틱 회귀는 독립 변수와 로그 오즈(log-odds) 사이의 선형 관계를 가정하는 것이 맞습니다.
- d) 로지스틱 회귀는 주로 이진 분류 문제에 사용되며, 다중 클래스 분류 문제를 해결하기 위해서는 다항 로지스틱 회귀(Multinomial Logistic Regression)가 사용됩니다.
'ML' 카테고리의 다른 글
차원의 저주 Curse of Dimensionality, 주성분 분석 PCA (1) | 2024.06.02 |
---|---|
데이터 어노테이션(data annotation) (1) | 2024.06.02 |
Clustering Evaluation Metrics (0) | 2024.05.31 |
[패스트캠퍼스] Upstage AI Lab 3기 학습 블로그_ ML 프로젝트 기본 이론 : 머신러닝 클러스터링 평가지표 Clustering Evaluation Metrics (0) | 2024.05.31 |
Clustering 클러스터링 (1) | 2024.05.31 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Array
- 해시
- Numpy
- recursion #재귀 #자료구조 # 알고리즘
- #패스트캠퍼스 #패스트캠퍼스AI부트캠프 #업스테이지패스트캠퍼스 #UpstageAILab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- 티스토리챌린지
- RAG
- PEFT
- English
- clustering
- #패스트캠퍼스 #패스트캠퍼스ai부트캠프 #업스테이지패스트캠퍼스 #upstageailab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- nlp
- #패스트캠퍼스 #UpstageAILab #Upstage #부트캠프 #AI #데이터분석 #데이터사이언스 #무료교육 #국비지원 #국비지원취업 #데이터분석취업 등
- 리스트
- Transformer
- t5
- git
- Python
- 파이썬
- 코딩테스트
- LLM
- cnn
- LIST
- speaking
- 오블완
- Lora
- 손실함수
- Github
- classification
- Hugging Face
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함