기능 선택 및 분류 정확도 관계


10

분류 자에 대해 사용 가능한 기능의 하위 집합을 선택하는 방법 중 하나는 기준 (예 : 정보 획득)에 따라 해당 기능의 순위를 지정한 다음 분류 자와 순위가 지정된 기능의 하위 집합을 사용하여 정확도를 계산하는 것입니다.

당신의 특징은 예를 들어, A, B, C, D, E그들은 다음과 같이 평가하는 경우, 그리고 D,B,C,E,A, 당신은 사용하여 정확도를 계산 D한 후, D, B다음, D, B, C다음, D, B, C, E당신의 정확성이 감소 시작할 때까지 .... 감소가 시작되면 기능 추가를 중지합니다.

예 1

example1 (위)에서 기능을 선택 F, C, D, A하고 정확도를 떨어 뜨리면 다른 기능을 삭제합니다.

이 방법론은 모델에 더 많은 기능을 추가하면 특정 지점을 추가 한 후 정확도가 감소 할 때까지 분류기의 정확도가 증가한다고 가정합니다 (예 1 참조).

그러나 내 상황은 다릅니다. 위에서 설명한 방법론을 적용했으며 더 많은 기능을 추가하면 그 이후로 정확도가 떨어집니다.

예 2

이와 같은 시나리오에서는 기능을 어떻게 선택합니까? F나머지는 골라 버리세요? 정확도가 왜 낮아 지는지 알 수 있습니까?

답변:


4

기능 선택에는 머신 러닝 방법과 같은 여러 가지 접근 방식이 포함됩니다. 아이디어는 최적의 정확도를 얻을 수있는 예측 모델에 대해 가장 관련성이 있지만 중복되지 않는 기능을 유지하는 것입니다.

귀하의 경우, 기능 선택에 어떤 방법을 사용하고 있는지 알 수 없지만 기능 의존성의 다변량 특성을 고려하지 않는다고 가정합니다. N 개의 피쳐가 있다고 가정 해 봅시다. n 개의 상위 피쳐 이후에 모델 정확도가 떨어지지 만 n + k를 추가하여 개선합니다 (여기서 정보 게인을 기준으로 내림차순으로 n <k <N 인 경우). 상위 n 및 k 기능의 종속성 (관련성 및 중복성 감소) 일 변량 피처 선택은 피처가 상호 의존적이고 상호 배타적이지 않은 경우 최적의 모델 정확도를 얻지 못할 수도 있습니다. 철학적 관점에서 볼 때 최적의 기능은 아리스토텔레스의 인용과 유사합니다. "전체가 부분의 합보다 큽니다"!

최적의 기능 선택을 위해 종종 여러 접근 방식 중에서 RFE ( 재귀 적 기능 제거)를R 사용하여 기능을 선택할 수 있는 언어로 된 Caret 패키지입니다 . 최대 관련성, 최소 중복성을 기반으로 기능 선택을 수행하는 mRMRe 라는 패키지도 있습니다 .

최고,
사미르


모바일에서 답장을 작성하고 이전 두 답장이 상당히 비슷하다는 것을 몰랐습니다! 나는 그 의견에 대해 언급하지 않고 개별적으로 대답하는 실수.
Samir

중복 기능에 대한 귀하의 지적이 있습니다. 확인한 결과 정보 획득 률이 높은 3 가지 기능이 실제로 중복되어 있음을 확인할 수 있습니다 (상대적으로 서로 연관되어 있음). 이것은 이러한 기능을 함께 사용할 때 정확도가 떨어지는 이유를 설명합니다. 첫 번째 기능을 지나서 추가 기능은 데이터 셋에 새로운 "데이터 차원"을 추가하지 않고 분류자가 이미 알고있는 것을 "반복"하기 때문에 노이즈를 생성합니다. 첫 번째 기능. 그러나 정보 게인이 적은 다른 기능은 새로운 데이터 차원을 추가합니다.
Pauline

1

특정 질문에 대해

기능의 하위 집합을 선택하는 동안 특정 동작 (정확도 증가 및 정확도 저하)을 기 대해서는 안됩니다. 이는 문제 (및 각 모델)에 전적으로 의존하기 때문입니다.

피처의 가변 중요도를 계산할 때 모든 피처의 기여도를 동시에 고려합니다. 기능의 하위 집합을 선택하고 새 모델을 작성하면 문제에 대한 다른 표현이나 모델링을 얻을 수 있습니다 (정보 기능 또는 기타 기능은 고려하지 않음).

이제 가장 많은 기능을 선택하려고합니다. 이것은 또한 문제와 충족해야 할 특성 또는 조건에 따라 다릅니다. 예측 정확도를 최적화하면서 가능한 적은 기능을 실제로 사용해야하는 경우 가장 낮은 오류를 달성하는 가장 적은 수의 기능을 선택할 수 있습니다. 매우 유사한 오류가있는 다른 사례가있는 경우 임계 값을 선택하고 페어 와이즈 차이가 임계 값보다 낮은 상위 사례를 선택하고 하나를 선택합니다 (예 : 기능이 적은 사례는 오류가 거의 같지 않으므로).

재귀 기능 제거 고려

사용중인 방법이 가장 안정적인 방법이 아닐 수 있습니다. 분류자를 작성하고 모든 기능의 순위를 지정하며 최악의 기능을 제거하고 나머지 기능에서 모델을 다시 작성하는 랩퍼 메소드 인 RFE (recursive feature elimination)와 같은 것을 시도해보십시오. 그런 다음 방법을 다시 반복하십시오. 이것은 더 안정적인 경향이 있습니다 ... 매번 다른 순위를 기대해야합니다.

분산도 중요한 요소입니다

모형에서 각 부분 집합으로 제공하는 실제 오차 (또는 정확도) 외에도 교차 검증 절차를 통해 각 모형을 작성하고 접힘의 평균 오차와 이러한 오차의 표준 편차를 모두 고려해야합니다. 표준 편차가 높으면 선택한 기능의 하위 집합이 안정적이지 않으며 보이지 않는 데이터로 테스트 할 때 많이 변하는 경향이 있습니다. 이는 모델의 예상되는 일반화 기능을 평가하는 데 중요하며 모델 간을 결정하는 데 도움이 될 수 있습니다 (서로 다른 하위 집합으로 구축).


1

데이터 세트에서 중복 기능과 관련이없는 기능을 모두 제거해야합니다. 데이터 세트에 관련이없고 중복 된 기능이 있음을 알 수 있습니다.

최소 중복 MRMR (Redundancy Maximum Relevance Feature Selection) 알고리즘을 확인하는 것이 좋습니다. 모델을 훈련시키기 전에 매우 인기 있고 강력한 필터입니다.

"그러나 상황이 다릅니다. 위에서 설명한 방법론을 적용했으며 더 많은 기능을 추가하면 그 이후로 정확도가 떨어집니다."

가능하지만 더 복잡한 모델로 이어질 것입니다.


1

일반적으로 3 가지 종류의 특징 선택 알고리즘이 있습니다.

  • 데이터의 고유 속성을 분석하고 모델을 포함하지 않고 각 기능에 점수를 할당하는 필터 방법 . 몇 가지 예는 폴드 변경, 학생 t- 테스트입니다.

  • 기능의 다른 하위 집합이 특정 알고리즘을 통해 선택되는 래퍼 방법 . 그런 다음 분류 또는 회귀 모델에 적합하여 각 선택을 평가하고 최적의 피트니스 값을 가진 항목을 선택합니다. 기능 선택을위한 유전자 알고리즘, 기능 선택을위한 Monte Carlo 최적화, 전진 / 후진 단계적 선택이 있습니다.

  • 모델 자체가 모델의 적합도에 가장 큰 영향을 미치는 기능을 선택할 수있는 내장 된 방법 . 전형적인 것은 LASSO, 능선 회귀입니다.

기능 선택 소개 에 대한 자세한 내용은 다음과 같습니다 .


게시물에 제시된 방법은 필터의 예입니다. 필터는 모든 기능의 순위를 지정했으며 주제는 이러한 등급이 지정된 기능의 서브 세트를 선택하는 방법입니다.
Pauline
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.