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

일반화 사례(Generalized Exemplars)란? 초직사각형 개념과 작동 원리

일반화 사례(Generalized Exemplars)의 기본 개념

일반화 사례(generalized exemplars)는 인스턴스 공간(instance space) 내에서 직사각형 형태로 표현되는 영역을 의미합니다. 고차원 데이터를 다룰 때는 차원이 확장된 직사각형, 즉 초직사각형(hyperrectangle)이 되기 때문에 이러한 이름으로 불립니다. 새로운 인스턴스를 분류하려면 기존의 거리 함수를 일반화해야만 인스턴스와 초직사각형 사이의 거리를 계산할 수 있습니다.

새로운 사례의 일반화 과정

새로운 사례가 올바르게 분류되면, 같은 클래스에 속한 가장 가까운 사례와 병합하는 방식으로 일반화됩니다. 이때 가장 가까운 사례는 개별 인스턴스일 수도 있고, 초직사각형일 수도 있습니다.

병합이 이루어지면 기존 인스턴스와 새 인스턴스를 모두 포괄하는 새로운 초직사각형이 생성됩니다. 즉, 기존 초직사각형은 새 인스턴스를 감싸도록 경계가 확장됩니다.

반대로 예측이 틀렸고 그 오류의 원인이 초직사각형이라면, 해당 초직사각형의 경계를 조정하여 새 인스턴스로부터 멀어지도록 축소합니다.

과잉 일반화(Overgeneralization) 허용 여부 결정

초직사각형이 서로를 덮거나 겹치면서 발생하는 과잉 일반화를 허용할지 여부는 학습을 시작하기 전에 반드시 결정해야 합니다.

중첩을 허용하지 않기로 했다면, 새 인스턴스를 일반화하기 전에 특징 공간(feature space)의 어떤 영역이 제안된 새 초직사각형과 충돌하는지 먼저 검사합니다. 충돌이 발견되면 일반화를 취소하고 해당 사례를 있는 그대로 저장합니다.

참고로 서로 겹치는 초직사각형은 규칙 집합(ruleset)에서 하나의 인스턴스가 여러 규칙에 의해 동시에 커버되는 상황과 정확히 같은 개념입니다.

초직사각형의 중첩(Nesting) 구조

일부 방식에서는 일반화 사례를 중첩 가능한 형태로 고정할 수 있습니다. 즉, 하나의 초직사각형이 다른 초직사각형 안에 완전히 포함될 수 있으며, 이는 규칙에 예외를 두는 것과 유사한 개념입니다.

이러한 '두 번째 기회(second-chance)' 구조는 초직사각형의 중첩을 촉진합니다. 만약 어떤 인스턴스가 잘못된 클래스의 초직사각형 안에 속하지만 그 안에 같은 클래스의 사례가 존재한다면, 두 사례는 하나의 새로운 '예외(exception)' 초직사각형으로 일반화되어 기존 초직사각형 내부에 중첩됩니다.

중첩 구조를 사용하는 경우, 학습 절차는 보통 소수의 시드(seed) 인스턴스로 시작합니다. 이는 같은 클래스의 인스턴스들이 하나의 초직사각형으로 지나치게 통합되어 여러 문제 영역을 한꺼번에 덮는 상황을 방지하기 위함입니다.

거리 함수의 일반화

일반화 사례를 활용하려면 거리 함수 역시 일반화해야 합니다. 즉, 인스턴스에서 일반화된 사례까지의 거리와 인스턴스 간의 거리를 모두 계산할 수 있어야 합니다. 인스턴스에서 초직사각형까지의 거리는 해당 점이 초직사각형 내부에 위치할 때 0으로 정의됩니다.

외부의 점에서 초직사각형까지의 거리를 계산하는 가장 단순한 방법은 초직사각형 내부에서 가장 가까운 인스턴스를 선택해 그 인스턴스까지의 거리를 구하는 것입니다. 하지만 이 방법은 특정 단일 사례에 대한 의존성을 다시 도입하기 때문에 일반화가 주는 장점을 상당 부분 잃게 된다는 한계가 있습니다.