Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

속성 하위 집합 선택: 원래 속성 중 최적의 하위 집합을 찾는 방법

속성 하위 집합 선택이란?

속성 하위 집합 선택(attribute subset selection)은 관련 없거나 중복된 속성(차원)을 제거하여 데이터 세트의 크기를 줄이는 기법입니다. 이 기법의 목표는 데이터 클래스의 확률 분포가 전체 속성을 사용했을 때의 원래 분포와 최대한 유사하도록 유지하면서, 가능한 한 작은 속성 집합을 발견하는 것입니다.

왜 휴리스틱 접근법이 필요한가?

n개의 속성이 있을 때 가능한 부분 집합의 수는 2n개입니다. 최적의 속성 하위 집합을 찾기 위한 완전 탐색(exhaustive search)은 특히 n과 데이터 클래스의 수가 증가할수록 비용이 매우 많이 들 수 있습니다. 따라서 실무에서는 축소된 탐색 공간을 탐색하는 휴리스틱 접근법이 일반적으로 사용됩니다.

이러한 접근법은 대체로 탐욕적(greedy)입니다. 즉, 속성 공간을 탐색하는 동안 그 시점에서 가장 좋아 보이는 선택을 계속해서 수행합니다. 지역적으로 최적인 선택을 반복함으로써 전역적으로 최적해에 도달하기를 기대하는 방식입니다. 이러한 탐욕 기법은 실제로 효율적이며, 최적해에 근접한 결과를 얻을 수 있습니다.

"최상" 및 "최악"의 속성은 일반적으로 통계적 유의성 검정(statistical significance test)을 통해 결정되며, 이때 속성들은 서로 독립적이라고 가정합니다. 그 외에도 분류를 위한 의사결정 트리 구축에 사용되는 정보 이득(information gain) 측도 등 다양한 속성 평가 척도를 활용할 수 있습니다.

속성 하위 집합 선택의 4가지 기본 휴리스틱 기법

1. 단계적 전진 선택(Stepwise Forward Selection)

이 과정은 빈(null) 속성 집합을 축소된 집합으로 설정하면서 시작합니다. 먼저 초기 속성 중 가장 좋은 것을 판별하여 축소된 집합에 삽입합니다. 이후 매 반복 단계마다 남아 있는 초기 속성들이 순차적으로 집합에 추가됩니다.

2. 단계적 후진 제거(Stepwise Backward Elimination)

이 과정은 전체 속성 집합으로 시작합니다. 각 단계에서 집합에 남아 있는 속성 중 가장 나쁜 속성을 하나씩 제거해 나갑니다.

3. 전진 선택과 후진 제거의 결합

단계적 전진 선택과 후진 제거 기법을 결합하면, 각 단계에서 남아 있는 속성들 사이에서 가장 좋은 속성을 선택하는 동시에 가장 나쁜 속성을 제거할 수 있습니다. 두 방식의 장점을 동시에 활용할 수 있다는 점에서 효율적입니다.

4. 의사결정 트리 유도(Decision Tree Induction)

ID3, C4.5, CART와 같은 의사결정 트리 알고리즘은 본래 분류(classification)를 위해 설계되었습니다. 의사결정 트리 유도는 흐름도와 유사한 구조를 구축하며, 각 내부(비단말) 노드는 속성에 대한 검사를 나타내고, 각 분기는 해당 검사의 결과에 대응하며, 각 외부(단말) 노드는 클래스 예측을 나타냅니다. 각 노드에서 알고리즘은 데이터를 개별 클래스로 분할하기 위한 "최상"의 속성을 선택합니다.

의사결정 트리 유도를 속성 하위 집합 선택에 활용할 경우, 주어진 데이터로부터 트리를 구축합니다. 이때 트리에 나타나지 않는 모든 속성은 관련이 없는 것으로 간주되며, 트리에 등장한 속성들의 집합이 곧 축소된 속성 하위 집합을 형성하게 됩니다.