Matlab에서 상호 정보를 사용한 기능 선택


10

이 강의 노트 (5 페이지)에 설명 된대로 상호 정보 개념을 기능 선택에 적용하려고합니다 .

내 플랫폼은 Matlab입니다. 경험적 데이터에서 상호 정보를 계산할 때 발견되는 한 가지 문제는 숫자가 항상 위쪽으로 편향되어 있다는 것입니다. Matlab Central에서 MI를 계산하기 위해 약 3 ~ 4 개의 다른 파일을 찾았으며 독립적 인 무작위 변수를 입력하면 모두 0.4와 같은 큰 숫자를 나타냅니다.

나는 전문가가 아니지만 문제는 단순히 MI를 계산하기 위해 조인트 및 한계 밀도를 사용하는 경우 MI가 정의에 의해 바이어스이기 때문에 바이어스가 프로세스에 도입된다는 것입니다. 상호 정보를 정확하게 평가하는 방법에 대한 실질적인 조언이 있습니까?

실제로 관련된 질문은 실제로 사람들이 실제로 MI를 사용하여 기능을 선택하는 방법입니다. MI가 이론적으로 무한하기 때문에 임계 값을 얻는 방법은 분명하지 않습니다. 아니면 사람들이 MI에 의해 기능의 순위를 매기고 최고의 k 기능을 사용합니까?


아무도이 주제에 관심이 없습니까?

아직 답이 있습니까?
엔트로피

불행하게도. 당신도 같은 문제가 있습니까?

답변:


3

이것은 제한된 샘플링 바이어스 의 문제입니다 .

밀도의 작은 샘플 추정치에는 노이즈가 있으며,이 변동은 추정 된 정보 값을 증가시키는 변수 사이의 가짜 상관 관계를 유도합니다.

별개의 경우에 이것은 잘 연구 된 문제입니다. 완전 베이지안 ( NSB )에서 간단한 수정에 이르기까지 많은 수정 기술이 있습니다 . 가장 기본적인 (Miller-Madow)는 값에서 를 것입니다. 이것은 두 암시 모델 사이의 자유도의 차이 (독립 marginals의 생성물 대 전체 관절 다항식)이다 - 실제로 충분한 샘플링 (indepenence의 likeilhood 비율 테스트되는 G-시험 ) 인 과 함께 분포 된2 N의 LN ( 2 ) I χ 2 ( R - 1 ) ( S - 1 )(R1)(S1)/2Nln22Nln(2)Iχ2(R1)(S1)귀무 가설 하의 dof. 제한된 시도로 R 및 S를 안정적으로 추정하기가 어려울 수도 있습니다. 효과적인 수정은 베이지안 계산 절차를 사용하여이를 추정하는 것입니다 (Panzeri-Treves 또는 PT 보정).

Matlab에서 이러한 기술을 구현하는 일부 패키지에는 infotoolboxSpike Train Analysis Toolkit이 포함 됩니다.

연속적인 경우에 가장 가까운 인접 거리를 기반으로 한 추정기 는 문제를 다시 발생시킵니다.


1

나는 KL- 분산을 사용했으며 분포가 동일한 확률을 갖는 유전자좌에 대해 적절한 표본 크기로 0의 값을 얻습니다.

KL- 분산의 관점에서 MI를 바꾸는 것이 좋습니다.


1

입력 변수 (기능) 선택에 Partial Mutual Information 알고리즘을 사용해야합니다. MI 개념과 확률 밀도 추정을 기반으로합니다. 예를 들면 다음과 같습니다.

  1. 커널 기반 PMI : (+) 중지 기준 (Akaike Information Criteria) (-)이 더 복잡합니다.
  2. kNN 기반 PMI : (-) 중지 기준이 낮음 (+) 복잡도가 낮음

복잡성을 증가시키고 다른 문제를 일으킬 때 PMI를 사용하여 신경망 입력 수를 줄였습니다. 인공 신경망에 대한 입력 변수 선택 방법 검토 논문 에서 입력 변수 선택 (IVS) 알고리즘에 대한 전체 개요를 찾을 수 있습니다 . SVM 및 기타에 IVS를 사용할 수 있습니다. 일을 줄이려면 PMI를 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.