교차 검증 전에 감독되지 않은 기능 선택을 수행하는 것이 실제로 괜찮습니까?


9

에서 통계 학습의 요소 , 나는 다음과 같은 문장을 발견했습니다 :

하나의 자격이 있습니다. 샘플을 제거하기 전에 감독되지 않은 초기 선별 단계를 수행 할 수 있습니다. 예를 들어 교차 검증을 시작하기 전에 50 개 샘플 모두에서 가장 큰 분산을 갖는 1000 개의 예측 변수를 선택할 수 있습니다. 이 필터링에는 클래스 레이블이 포함되지 않으므로 예측 변수에 불공정 한 이점이 없습니다.

이것이 실제로 유효합니까? 사전에 속성을 필터링하면 교육 데이터 / 새 데이터 환경을 모방하지 않습니다. 따라서 수행중인 필터링이 감독되지 않습니까? 교차 유효성 검사 프로세스 내에서 모든 사전 처리 단계 를 실제로 수행 하는 것이 더 좋지 않습니까? 그렇지 않은 경우 이는 기능 정규화 / PCA 등을 포함하여 모든 비 감독 전처리를 미리 수행 할 수 있음을 의미합니다. 그러나 전체 트레이닝 세트에서이 작업을 수행하면 실제로 트레이닝 세트에 일부 데이터가 유출됩니다. 비교적 안정적인 데이터 세트를 사용하면 이러한 차이가 매우 작을 것입니다. 그러나 이것이 존재하지 않는 것은 아닙니다. 이것에 대해 생각하는 올바른 방법은 무엇입니까?

답변:


2

교차 검증 전에 수행되는 단계로서, 감독되지 않은 기능 선택은 기능 정규화와 다소 유사합니다.

  1. 교차 검증에서 특정 접기의 관점에서, 열차 데이터는 테스트 데이터를 들여다 보았습니다 (독립 변수에만 있음).

  2. 이 엿보기는 비교적 온화합니다.

이 질문 에서는 교차 검증 전의 기능 정규화에 대해 설명 했습니다 . Dikran Marsupial의 답변 인용

교차 유효성 검사는 통계 모델이 아니라 통계 절차의 성능을 평가하는 방법으로 가장 적합합니다. 따라서 편견없는 성능 추정치를 얻으려면 정규화를 포함하는 교차 검증의 각 겹에서 해당 절차의 모든 요소를 ​​개별적으로 반복해야합니다.

당신은 자원을 절약 할 수 있습니다 경우, 가장 좋은 방법은 배 할 각각의 교차 검증을하는 것입니다 어떤 처음부터 데이터 종속 처리를.

그러나 그 질문에 대한 답변에서 실제로, 순서를 바꾸는 것은 많은 것을 바꾸지 않을 것입니다. 의존적 특징 선택이 나타내는 실질적인 불공평 한 이점은 확실히 없다 . IMHO, 그것은 통계 학습 의 인용문을 해석 한 것입니다 .y


글쎄, 그것은 기본적으로 내 생각과 일치하며, 마지막 문장은 실제로 내 질문에 대한 짧은 대답입니다. 고마워, 나는 이것을 정답으로 만들 것이다.
Matek

1
효과는 작을 수 있지만하지 않을 수 있습니다 작은. 말하듯이 CV 이전에 독립 변수를 사전 스케일링하는 것과 같습니다.이 변수는 "미래"(테스트 데이터)를 사용하여 실제 세계에서는 발생하지 않는 "현재"(트레이닝 데이터)를 확장하는 데 도움이됩니다. 임의의 폴드 (시계열, 계층화 등을 사용하지 않는)가 있다면 효과는 적지 않지만 왜 Train / Test 장벽을 모두 깰까요?
Wayne

@Wayne 저는 가능한 한 기차 / 테스트 장벽을 위반하지 않는 것이 가장 좋습니다. 개인적으로, 나는 이것이 차이를 낳는 실제 사례를 본 적이 없었지만 (감독되지 않은 FS 및 / 또는 정규화), 기능 선택을 "올바른 방법"(즉, 각 방법 내에서) 수행하는 것이 절대적으로 불가능한 경우에 직면했습니다. 겹). 그러나 나는 당신이 정반대의 경우를 겪었다는 것을 당신의 훌륭한 대답에서 알 수 있으므로 분명히 두 시나리오가 모두 존재합니다.
Ami Tavory

정규화에서 차이가 나는 CV 결과가 발생했는지 확실하지 않습니다. 일반적으로 10 배 CV를 수행하는 것으로 간주됩니다. 이는 테스트 배가 10 %에 불과하기 때문에 효과가 더 작습니다. 67/33 또는 75/25 비 CV 분할과 같은 차이점을 보았습니다.
Wayne

9

나는이 질문에서 @AmiTavory의 의견과 통계 학습의 요소에 따라달라고 간청합니다.

매우 작은 샘플 크기 의 응용 분야에서 나온 감독되지 않은 전처리 단계에서도 심각한 편견이 생길 수 있다는 경험이 있습니다.

내 분야에서는 분류자가 훈련되기 전에 치수 감소를 위해 PCA가 가장 빈번 할 것입니다. 여기에 데이터를 표시 할 수는 없지만 PCA + (교차 유효성 검사 LDA) 대 교차 유효성 검사 (PCA + LDA)가 오류율을 약 10 배 정도 과소 평가하는 것을 보았습니다 . (일반적으로 PCA가 안정적이지 않다는 표시입니다.)

요소의 "부당한 이점"논증에 대해, 오염 + 테스트 사례의 분산을 조사하면 훈련 및 테스트 사례 모두에서 잘 작동하는 기능으로 끝납니다. 따라서 우리는 여기에 지나치게 낙관적 인 편견의 원인 인 자기 충족 예언을 만듭니다. 샘플 크기가 합리적으로 편안한 경우이 바이어스가 낮습니다.

따라서 Elements보다 약간 더 보수적 인 접근법을 권장합니다.

  • 하나 이상의 사례를 고려하는 전처리 계산은 유효성 검사에 포함되어야합니다. 즉, 각 트레이닝 세트에서만 계산 된 다음 테스트 데이터에 적용됩니다.
  • 각 사례를 자체적으로 고려하는 전처리 단계 (분광학 자 : 행 단위 정규화 인 기준 보정 및 강도 정규화 예)는 첫 번째 단계 이전에 있는 한 교차 검증에서 벗어날 수 있습니다. 여러 경우에 대해 계산합니다.

즉, 교차 검증은 적절한 검증 연구를 수행하기위한 지름길 일뿐입니다. 따라서 실용적으로 논쟁 할 수 있습니다.

  • 문제의 전처리가 안정적인 결과를 제공하는지 확인할 수 있습니다 (예 : 교차 검증). 더 작은 표본 크기로 이미 완벽하게 안정된 것으로 확인되면 IMHO에서는 교차 검증에서이를 제거하여 편향이 많지 않을 것이라고 주장 할 수 있습니다.

  • 그러나 이전 감독자를 인용하기 위해 : 계산 시간은 과학적인 논거가 아닙니다.
    나는 종종 교차 검증을 위해 몇 번의 겹침과 몇 번의 반복으로 "몰래 미리보기"를 수행하여 모든 코드 (결과 요약 / 그래프 포함)를 확인한 다음 밤이나 주말 동안 서버에 남겨 둡니다. 보다 세분화 된 교차 검증.

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