신경망 및 의사 결정 포리스트의 데이터를 정규화하는 방법


10

20000 샘플의 데이터 세트가 있으며 각각 12 개의 다른 기능이 있습니다. 각 샘플의 범주는 0 또는 1입니다. 결과와 두 기술을 비교할 수 있도록 샘플을 분류하기 위해 신경망과 의사 결정 포리스트를 훈련시키고 싶습니다.

내가 우연히 만난 것은 데이터의 적절한 정규화입니다. 하나의 기능이 범위 내에 있습니다[0,106], 다른 하나 [30,40]다른 값을 읽을 때 입력 데이터의 적절한 정규화는 신경망에 중요합니다. 내가 알았 듯이 데이터를 정규화하는 방법에는 여러 가지가 있습니다.

  1. 최소-최대 정규화 : 입력 범위가 간격으로 선형 변환됩니다.[0,1] (또는 대안으로 [1,1], 문제가됩니까?)
  2. Z- 점수 정규화 : 데이터는 평균 및 단위 분산이 0이되도록 변환됩니다.
    ynew=yoldmeanVar

어떤 정규화를 선택해야합니까? 의사 결정 포리스트에도 정규화가 필요합니까? Z-Score 정규화를 사용하면 테스트 데이터의 다른 기능이 동일한 범위에 있지 않습니다. 이것이 문제가 될 수 있습니까? 모든 기능이 동일한 알고리즘으로 정규화되어 모든 기능에 Min-Max를 사용하거나 모든 기능에 Z-Score를 사용하기로 결정 했습니까?

데이터가 매핑되는 조합이 있습니까 [1,1] 또한 평균이 0입니다 (데이터의 비선형 변환을 의미하므로 입력 데이터의 분산 및 기타 기능의 변화).

이 질문에 대한 답변을 찾을 수 없기 때문에 약간의 손실을 느낍니다.

답변:


21

나는 다른 의견에 동의하지 않습니다.

우선 의사 결정 트리에 대한 데이터를 정규화 할 필요가 없습니다 . 의사 결정 트리는 데이터의 각기 다른 부분에 대한 점수 (일반적으로 엔트로피)를 계산하여 작동합니다.(Xxi,X>xi). 데이터 순서를 변경하지 않는 데이터에 변환을 적용해도 아무런 차이가 없습니다.

임의의 숲 은 단순한 의사 결정 트리이므로이 이론적 근거는 바뀌지 않습니다.

신경망 은 다른 이야기입니다. 우선, 예측 측면에서 차이가 없습니다. 신경망은 가중치를 조정하고 바이어스를 변경하기 때문에 정규화에 쉽게 대응할 수 있습니다. 큰 문제는 훈련에 있습니다.

탄력성 역전 파와 같은 알고리즘을 사용 하여 신경망의 가중치를 추정하는 경우 아무런 차이 가 없습니다 . 그 이유는 오류를 최소화하는 방향으로 가중치를 변경할 때 크기가 아닌 기울기 부호를 사용하기 때문입니다. 그건 neuralnet그렇고 R 의 패키지에 대한 기본 알고리즘입니다 .

언제 차이가 나는가? 시그 모이 드 활성화 기능과 함께 전통적인 역 전파를 사용 하는 경우 시그 모이 드 유도체를 포화 시킬 수 있습니다 .

S 자형 함수 (녹색)와 그 파생물 (파란색)을 고려하십시오.

시그 모이 드

데이터를 정규화하지 않으면 데이터에 임의 가중치를 곱하고 다음과 같은 결과가 나타납니다. s(9999)=0. 시그 모이 드의 도함수는 (대략) 0이며 훈련 과정은 진행되지 않습니다. 당신이 끝내는 신경망은 임의의 가중치를 가진 신경망입니다 (훈련은 없습니다).

이것이 최상의 정규화 함수가 무엇인지 아는 데 도움이됩니까? 하지만 물론! 우선, 대부분의 구현은 바이어스를 0으로 초기화하기 때문에 데이터를 중심으로하는 정규화를 사용하는 것이 중요합니다. -0.5에서 0.5 사이에서 정규화하고XminXmaxXminX0.5. 그러나 표준 점수 도 좋습니다.

실제 정규화는 최적화 프로세스의 초기 반복에만 영향을주기 때문에 매우 중요하지 않습니다. 중심에 있고 대부분의 데이터가 1 ​​미만인 경우 동일한 결과를 얻으려면 약간 더 적은 반복을 사용해야합니다. 그러나 내가 언급 한 채도 문제를 피하는 한 결과는 동일합니다.

여기서 논의되지 않은 것은 정규화 입니다. 당신이 당신의 목적 함수의 정규화를 사용하는 경우, 방법은 당신은 당신의 데이터가 정상화 됩니다 결과 모델 영향을 미칩니다. 나는 당신이 이미 이것에 익숙하다고 가정합니다. 하나의 변수가 과적 합을 유발하기 쉽다는 것을 알고 있다면 데이터 정규화에서이를 고려해야합니다. 이것은 물론 사용되는 신경망과는 완전히 독립적입니다.


2
  1. 명확한 답은 없습니다 . 내가 권장하는 것은 다른 접근법을 사용하여 데이터를 확장 한 다음 동일한 모델을 사용하여 홀드 아웃 세트의 결과를 예측하는 것입니다 (RF는 여기에서 잘 작동합니다). 예측 문제에 가장 적합한 스케일링 접근 방식을 보여 주어야합니다.
  2. 랜덤 포레스트를 위해 데이터를 확장 할 필요는 없습니다
  3. 개별 범위는 처음부터 일관되게 확장되는 한 문제가되지 않습니다. 이것은 단지 이전보다 더 작은 규모로 변수간에 차이가 있음을 보여줍니다.
  4. . 모든 데이터는 동일한 접근 방식으로 확장되어야합니다. 그렇지 않으면 변환 된 데이터 집합의 값이 데이터 자체가 아니라 확장에 사용되는 알고리즘과 관련 될 수 있습니다.

잘하면 이것이 도움이됩니다.


1
좋은 대답은 처리하는 데이터의 특정 분포와 특이 치를 제거하는지 여부에 따라 조금씩 다릅니다. 표준화하면 표준 데이터가 매우 좋아 보입니다. 그러나 최소 / 최대 정규화에서는 균일 한 분포가 훨씬 더 나아질 수 있습니다. 또한, sigma = 10 인 로그 정규 분포는 최소 / 최대 정규화하면 흥미로운 동작을 거의 0에 가깝게 숨길 수 있습니다.
AN6U5

@ AN6U5-아주 좋은 지적입니다. 솔직히 다른 기본 분포 / 이상치에 대한 스케일링의 영향에 대해 너무 많이 생각하지 않았습니다. 오늘 아침에 읽을 수 있습니다!
plumbus_bouquet
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.