속성 하위 집합 선택이란?
속성 하위 집합 선택(Attribute Subset Selection)은 관련 없거나 중복된 속성(차원)을 제거하여 데이터 세트의 크기를 줄이는 기법입니다. 이 방법의 목표는 모든 속성을 사용했을 때의 원래 데이터 클래스 확률 분포와 최대한 유사한 결과를 내면서, 가능한 한 적은 수의 속성으로 구성된 최소 속성 집합을 찾는 것입니다.
축소된 속성 집합을 대상으로 데이터 마이닝을 수행하면 추가적인 이점도 있습니다. 발견된 패턴에 등장하는 속성 수가 줄어들기 때문에 패턴을 훨씬 더 쉽게 이해할 수 있습니다.
왜 휴리스틱 방법이 필요한가?
n개의 속성이 있을 때 가능한 부분 집합의 수는 2n개입니다. 따라서 최적의 속성 하위 집합을 찾기 위한 완전 탐색(exhaustive search)은 특히 속성 수 n과 데이터 클래스 수가 커질수록 계산 비용이 기하급수적으로 증가합니다.
이러한 이유로 실무에서는 탐색 공간을 축소하여 탐색하는 휴리스틱(heuristic) 방법이 널리 사용됩니다. 이 방법들은 대체로 탐욕적(greedy) 방식으로 동작합니다. 즉, 속성 공간을 탐색하는 과정에서 항상 그 시점에 가장 좋아 보이는 선택을 하며, 지역적으로 최적인 선택을 반복함으로써 결과적으로 전역 최적해에 가까운 답에 도달하기를 기대하는 전략입니다. 이러한 접근 방식은 실제로 효율적이며, 최적해에 근접한 결과를 얻을 수 있습니다.
속성 평가 기준
가장 좋은 속성과 가장 나쁜 속성은 일반적으로 통계적 유의성 검정을 통해 판별됩니다. 다만 이 검정은 각 속성이 서로 독립적이라고 가정한다는 점에 유의해야 합니다. 이 외에도 분류용 의사결정 트리를 구축할 때 사용되는 정보 획득량(information gain) 같은 다양한 속성 평가 척도를 활용할 수 있습니다.
속성 하위 집합 선택의 4가지 기본 방법
1. 단계적 전진 선택 (Stepwise Forward Selection)
속성 집합이 비어 있는 상태(공집합)에서 시작합니다. 먼저 원래 속성들 중 가장 좋은 속성을 골라 축소 집합에 추가하고, 이후 각 단계마다 남아 있는 속성 중 가장 좋은 것을 하나씩 집합에 삽입하는 방식입니다.
2. 단계적 후진 제거 (Stepwise Backward Elimination)
전체 속성 집합에서 시작하여, 각 단계마다 집합에 남아 있는 속성 중 가장 나쁜 속성을 하나씩 제거해 나가는 방식입니다.
3. 전진 선택과 후진 제거의 결합
단계적 전진 선택과 후진 제거를 함께 사용하는 방법입니다. 각 단계에서 절차는 남아 있는 속성들 중 가장 좋은 속성을 선택하고, 동시에 가장 나쁜 속성을 제거함으로써 두 방식의 장점을 결합합니다.
4. 의사결정 트리 유도 (Decision Tree Induction)
ID3, C4.5, CART 같은 의사결정 트리 알고리즘은 본래 분류(classification)를 위해 설계되었습니다. 의사결정 트리는 흐름도와 유사한 구조를 만드는데, 각 내부 노드(비단말 노드)는 속성에 대한 검사를 나타내고, 각 가지(branch)는 검사 결과를, 각 외부 노드(잎 노드)는 클래스 예측을 나타냅니다. 각 노드에서 알고리즘은 데이터를 개별 클래스로 분할하는 데 가장 적합한 “최적” 속성을 선택합니다. 트리 구축 과정에서 실제로 사용된 속성만 남기면 자연스럽게 속성 하위 집합이 선택됩니다.