학습목표
- 지도학습: 선형 분류와 거리 기반 방법의 대상·가정·산출물을 설명한다.
- 공식 또는 절차를 작은 계산 사례에 적용하고 해석한다.
- Python으로 재현 가능한 점검의 출발점을 만든다.
핵심 용어
지도학습 supervised learning · 로지스틱 회귀 · 나이브 베이즈 · K-NN · SVM · 결정경계
한·영 정의와 약어는 통합 용어집을 함께 참조한다.
개념 설명
지도학습은 입력과 레이블 쌍으로 새 입력을 예측한다. 로지스틱 회귀는 선형 점수를 확률처럼 변환하고, K-NN은 거리와 스케일에 민감하며, SVM은 여백이 큰 경계를 찾는다. 분류 임계값 0.5는 자연법칙이 아니라 오류 비용에 따른 의사결정 값이다.
상세 이론
지도학습과 결정함수
지도학습은 입력 X와 레이블 y의 관계를 학습해 새 입력을 예측한다. 분류기는 연속 점수·확률과 이를 클래스에 매핑하는 결정규칙으로 나눠 생각할 수 있다. 모델의 순위 성능이 같아도 임계값과 비용함수에 따라 실제 분류 결과가 달라진다.
로지스틱 회귀
로지스틱 회귀는 로그오즈 log[p/(1-p)]를 입력의 선형결합으로 둔다. 계수의 지수 exp(β)는 다른 변수를 고정할 때 X 한 단위 증가에 따른 오즈비다. 선형 결정경계와 확률 해석이 장점이지만 완전분리, 다중공선성, 비선형성에는 정규화·변환·상호작용을 검토한다.
나이브 베이즈
나이브 베이즈는 클래스가 주어졌을 때 특징들이 조건부 독립이라고 가정해 사후확률을 계산한다. 이 가정이 현실에서 정확하지 않아도 분류가 잘 작동하는 경우가 있으며 텍스트의 고차원 희소 자료에 효율적이다. 연속형 특징의 분포 가정과 확률 평활화, 기저율을 점검한다.
K-최근접 이웃
K-NN은 새 점 주변 K개 학습 사례의 다수결 또는 거리 가중 평균으로 예측한다. 학습은 가볍지만 예측 비용과 메모리 사용이 크며, 스케일·거리·불필요한 차원에 민감하다. K가 작으면 분산이 크고 K가 크면 경계가 매끄럽지만 편향이 커진다.
서포트 벡터 머신
SVM은 두 클래스 사이 최소 여백을 최대화하는 초평면을 찾는다. 경계를 결정하는 일부 관측이 서포트 벡터이며 C는 여백 위반과 넓은 여백의 절충을 조절한다. 커널은 명시적으로 고차원 좌표를 만들지 않고 비선형 유사도를 계산하지만 스케일과 커널 초매개변수에 민감하다.
모형 비교와 확률 보정
로지스틱은 선형 설명과 확률, 나이브 베이즈는 속도와 희소자료, K-NN은 국소 패턴, SVM은 여백과 고차원 경계에 강점이 있다. 정확도 하나가 아니라 학습 크기, 예측 지연, 해석성, 확률 보정, 클래스 비용을 비교한다. Platt scaling이나 isotonic regression도 검증 자료 안에서 학습해야 한다.
개념 비교표
| 개념 | 핵심 역할 | 함께 구분할 개념 |
|---|---|---|
| 지도학습과 결정함수 | 지도학습은 입력 X와 레이블 y의 관계를 학습해 새 입력을 예측한다. | 로지스틱 회귀 |
| 로지스틱 회귀 | 로지스틱 회귀는 로그오즈 log[p/(1-p)]를 입력의 선형결합으로 둔다. | 나이브 베이즈 |
| 나이브 베이즈 | 나이브 베이즈는 클래스가 주어졌을 때 특징들이 조건부 독립이라고 가정해 사후확률을 계산한다. | K-최근접 이웃 |
| K-최근접 이웃 | K-NN은 새 점 주변 K개 학습 사례의 다수결 또는 거리 가중 평균으로 예측한다. | 서포트 벡터 머신 |
| 서포트 벡터 머신 | SVM은 두 클래스 사이 최소 여백을 최대화하는 초평면을 찾는다. | 모형 비교와 확률 보정 |
| 모형 비교와 확률 보정 | 로지스틱은 선형 설명과 확률, 나이브 베이즈는 속도와 희소자료, K-NN은 국소 패턴, SVM은 여백과 고차원 경계에 강점이 있다. | 지도학습과 결정함수 |
적용 조건과 진단
다음 조건은 공식을 대입하기 전에 확인한다. 하나라도 만족하지 않으면 결과를 버리기보다 원인을 기록하고 대안적 요약·변환·검증 설계를 선택한다.
- 스케일과 임계값을 검증 자료로 정했는가
- 확률 보정을 확인했는가
- 지연·메모리·해석 요구를 반영했는가
개념 흐름
공식과 해석
, 다.
계산 예제
z=0이면 확률 0.5, z=log 3이면 0.75다. 양성 여부는 놓침·오탐 비용에 달려 있다.
Python 예제
실행 안내: 예제는 각 장의 핵심 API와 해석 순서를 보여준다. 별도 실습 환경에서 필요한 입력 데이터를 준비한 뒤 실행한다.
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
X, y = make_classification(
n_samples=400, n_features=8, n_informative=5,
weights=[0.7, 0.3], random_state=20260721
)
X_train, X_valid, y_train, y_valid = train_test_split(
X, y, test_size=0.25, stratify=y, random_state=20260721
)
model = make_pipeline(StandardScaler(), LogisticRegression(max_iter=1000))
model.fit(X_train, y_train)
prob = model.predict_proba(X_valid)[:,1]
pred = (prob >= .40).astype(int)
print(prob[:3].round(3))
print('임계값은 오류 비용으로 정한다.')
장 요약
- 지도학습과 결정함수: 지도학습은 입력 X와 레이블 y의 관계를 학습해 새 입력을 예측한다.
- 로지스틱 회귀: 로지스틱 회귀는 로그오즈 log[p/(1-p)]를 입력의 선형결합으로 둔다.
- 나이브 베이즈: 나이브 베이즈는 클래스가 주어졌을 때 특징들이 조건부 독립이라고 가정해 사후확률을 계산한다.
- K-최근접 이웃: K-NN은 새 점 주변 K개 학습 사례의 다수결 또는 거리 가중 평균으로 예측한다.
- 서포트 벡터 머신: SVM은 두 클래스 사이 최소 여백을 최대화하는 초평면을 찾는다.
- 모형 비교와 확률 보정: 로지스틱은 선형 설명과 확률, 나이브 베이즈는 속도와 희소자료, K-NN은 국소 패턴, SVM은 여백과 고차원 경계에 강점이 있다.