pattern regonition

4. 선형 분류 모델

명징직조지훈 2025. 4. 5. 01:05

1. 분류 모델의 목표

입력 벡터 x 가 주어졌을 때 이를 K 개의 이산 클래스 C_k 들 중 하나에 할당하는 것이다. 

 

대부분의 문제에서 클래스들은 서로 겹치지 않는다. 즉, 각각의 입력값들은 하나의 클래스에 해당된다. 

 

따라서 입력 공간은 결정 경계 decision boundary 또는 결정 표면 dicision surface 라고 불리는 경계를 바탕으로 여러 결정 구역 dicision region 들로 나눠지게 된다. 

 

분류를 위한 선형 모델 - 결정 표면들이 입력 벡터 x 에 대한 선형 함수라는 것이다. 이 경우 결정 표면들은 D 차원 입력 공간 상의 D - 1 차원 초평면으로 정의된다. 

 

클래스들이 선형 결정 표면들을 바탕으로 정확하게 나뉘어질 수 있는 데이터 집합을 선형 분리 가능 linearly separable 한 집합이라고 일컫는다.

 

회귀 문제의 경우 타깃 변수, t 가 단순히 예측하고자 하는 실수 였다.

 

분류 문제의 경우 클래스 라벨을 표현하기 위해서 다양한 방식으로 타깃 변수를 사용할 수 있다. 

 

두 클래스를 가지는 문제에서 가장 손쉽게 사용할 수 있는 타깃 변수 표현 방법은 t ∈ { 0, 1 } 인 단일 타깃 변수를 사용하는 것이다. 

또는 t 의 값을 각 클래스, C_t 에 속할 확률로써 해석할 수 있다. 

 

K > 2 개의 클래스가 있을 경우에는 one hot encoding 을 적용하는 것이 편리하다. 이 경우 t 는 K 길기의 벡터가 되며, 이 벡터의 원소 t_j 은 1 값을, 나머지 원소들은 0의 값을 가지게 될 것이다.

 

비 확률적 모델의 경우에는 타깃 변수를 다른 방식으로 표현하는 것이 편리한 경우도 있다.

더보기

비확률적 모델 : 확률을 직접 모델링하지 않는 모델 ( Support Vector Machine ), 퍼셉트론, 결정 트리, k-NN 

 

이들은 조건부 확률을 구하지 않고, 직접 클래스 또는 회귀 값을 예측한다.

 

중요한 포인트는 타깃 변수를 꼭 클래스 레이블 형태로만 사용할 필요는 없다는 것

 

1. 타깃을 실수 값으로 인코딩 ( +1, -1 )

SVM 이나 퍼셉트론은 이런 방식이 계산적으로 더 간단

벡터 내적 결과가 양수나 음수냐로 클래스를 구분하기 때문에 수학적으로 자연스러움

 

2. 원-핫 인코딩 One-hot encoding

다중 클래스 문제에서 클래스의 벡터 표현

신경망에서 타깃을 softmax 출력과 비교할 때 유용

비확률적 모델이라도 거리 기반 계산 등에 활용 가능

 

3. 순서형 ordinal 레이블로 변환

클래스 간 순서가 있다면 [1,2,3] 같이 순서 반영

SVM 이나 결정 트리에서 순서 정보를 이용 가능

 

4. 특정 목적에 맞는 커스텀 인코딩

비용 민감 분류 cost-sensitive classification 에서는 클래스마다 다른 가중치를 두는 타깃 표현도 가능

 

분류 문제를 푸는 가장 단순한 방법은 판별 함수 disriminant function 을 만들어 활용하는 방식이다. 판별 함수는 각각의 벡터 x 를 특정 클래스에 직접 바로 배정하는 함수이다. 

 

또 다른 방법은 추론 단계에 조건부 확률 분포 p(C_k | x) 를 모델하고 이 분포를 활용하여 최적의 결정을 내리는 방식이다. 추론과 결정을 분리함으로써 다양한 이득을 누릴 수 있게 된다.

더보기

조건부 확률 분포를 모델링하고, 추론과 결정을 분리하는 방식의 주요 이점

 

1. 유연한 결정 기준 적용 가능

추론을 통해 p(C_k | x) 를 얻은 후, 다양한 목적에 따라 결정 기준 Decision Rule 을 다르게 적용할 수 있다. 

예를 들어,

0-1 손실 함수 : 가장 확률이 높은 클래스의 선택

비대칭 손실 함수 : 실수나 위험도가 더 큰 오류를 줄이는 방향으로 결정 가능

 

즉, 문제 상황에 맞춰 어떻게 결정할 지를 바꿀 수 있는 유연성의 제공

 

2. 불확실성의 명시적 표현

확률 분포 자체를 구하므로, 특정 예측에 대한 불확실성을 표현할 수 있다.

더 신중한 판단이나, 사람의 개입이 필요한 상황을 분리할 수 있다.

 

3. 후처리 및 다양한 활용 가능

단순한 분류 외에도 다양한 응용이 가능

탑-N 추천 : 상위 확률을 가진 N 개의 클래스 추천

리스크 분석 : 예산 손실 기반의 결정

앙상블 모델의 결합 : 다양한 모델의 조건부 확률 평균을 이용해 결합 가능

 

4. 확장성과 일반화

새로운 클래스가 추가되거나, 비용 구조가 바뀌어도 추론 부분은 그대로 두고 결정 단계만 조정하면 된다.

 

 

조건부 확률,  p(C_k | x) 을 결정하는 데는 두 가지 다른 방법이 있다. 하나는 직접 모델하는 것으로, 예를 들면 조건부 확률을 매개변수적 모델로 표현하여 최적의 매개변수를 훈련 집합을 통해 찾아내는 방법이 있다.

더보기

입력 x 가 주어졌을 때, 각 클래스에 속할 확률을 직접 모델링하는 것, 조건부 확률 분포  p(C_k | x) 자체를 모델의 형태로 가정하고, 모델의 파라미터를 학습을 통해 최적화하는 방식

 

예시 : 매개변수적 모델 Parametric Model

매개변수적이란 말은, 확률 분포의 형태가 고정되어 있고, 그 분포를 결정하는 몇 개의 매개변수를 학습한다는 의미

(로지스틱 회귀의 파라미터 w, b 를 훈련 데이터로부터 학습)

 

다항 로지스틱 회귀에선 각 클래스에 대한 파라미터 w_k 를 학습하여 전체 조건부 확률을 구함

 

주로 최대우도 추정 Maximum Likelihood Estimation, MLE 혹은 크로스엔트로피 손실 최소화 방식으로 학습

 

명시적 확률 추정으로 불확실성 판단, 추론의 다양성에서 유리

 

또 다른 방법은 생성적인 방법으로 클래스 조건 밀도와  p( x | C_k ) 와 클래스 사전 확률 p(C_k) 를 모델한 후 필요한 사후 확률을 베이지안 정리를 이용하여 계산하는 방식을 취한다. 

더보기

조건부 확률 p(C_k|x) 를 직접 모델링하지 않고, 대신에 클래스 조건부 확률 밀도와 클래스 사전 확률을 모델링한 뒤, 베이즈 정리를 이용하여 사후 확률을 계산하는 방식이다.

 

p(x|C_k) : 생성 모델, 클래스 C_k 가 주어졌을 때 데이터 x 가 나올 확률

p(C_k) : 클래스의 사전 확률

p(x) : 정규화 상수 

 

이 접근은 모델이 클래스가 주어졌을 때 데이터를 어떻게 생성할 수 있는가 를 설명하기에 생성적이라고 부른다.

 

장점

데이터의 구조나 분포를 더 깊이 이해할 수 있음, 작은 데이터셋에서도 빠르고 안정적인 학습 가능, 비지도 학습이나 이상 탐지 등에서 활용 범위가 넓음

 

한계점

분포 가정을 잘못할 경우 성능 저하, 고차원 데이터나 복잡한 구조에서는 모델링의 어려움

 

선형 회귀 모델의 경우 모델의 예측값 y(x,w) 는 매개변수 w 의 선형 함수로 주어진다. 가장 단순한 경우에 모델은 입력 변수에 대해서도 선형이다. 

 

하지만 분류 문제에서는 이산 클래스 라벨값을 예측해야 한다. 더 일반적으로 말하자면 (0, 1) 사이의 범위에 속하는 사후 확률을 구하고 싶은 것, 

 

이를 달성하기 위해서 w 에 대한 선형 함수를 비선형 함수를 이용하여 변환하는 것을 고려, 이를 활성화 함수 activation function 이라고 지칭

 

결정 경계면은 y(x) = 상수인 경우에 해당한다. 그렇기 때문에 activation function 이 비선형일지라도 결정 경계면은 x 에 대해서 선형 함수이다. 

더보기

비선형 활성화 함수를 사용해도 결정 경계는 상수 형태이므로 입력에 대해 선형적인 경계를 이룬다.