신경망의 데이터 정규화 및 표준화


39

신경망 (ANN)을 사용하여 복잡한 시스템의 결과를 예측하려고합니다. 결과 (종속) 값의 범위는 0에서 10,000 사이입니다. 입력 변수마다 범위가 다릅니다. 모든 변수는 대략 정규 분포를 갖습니다.

훈련 전에 데이터를 확장하는 다른 옵션을 고려합니다. 한 가지 옵션은 각 변수의 평균 및 표준 편차 값을 독립적으로 사용하여 누적 분포 함수계산 하여 입력 (독립) 및 출력 (종속) 변수를 [0, 1]로 스케일하는 것 입니다. 이 방법의 문제점은 출력에서 ​​시그 모이 드 활성화 기능을 사용하면 극단적 인 데이터, 특히 훈련 세트에서 볼 수없는 데이터를 놓칠 수 있다는 것입니다

또 다른 옵션은 z- 점수를 사용하는 것입니다. 이 경우 극단적 인 데이터 문제는 없습니다. 그러나 출력에서 ​​선형 활성화 기능으로 제한됩니다.

ANN과 함께 사용되는 다른 승인 된 정규화 기술은 무엇입니까? 이 주제에 대한 리뷰를 찾으려고했지만 유용한 정보를 찾지 못했습니다.


Z- 점수 정규화가 때때로 사용되지만 바이엘의 대답에 대한 또 다른 이름 일지 모르는 재미있는 느낌이 있습니까?
osknows

미백 부분을 제외하고는 동일합니다.
bayerj

1
확률이 아닌 값 (예 : 분류가 아닌 회귀)을 예측하는 경우 항상 선형 출력 함수를 사용해야합니다.
seanv507

Michael Jahrer의 순위 가스 . 그런 다음 순위가 가우시안으로 만듭니다.
user3226167

답변:


32

표준 접근법은 입력을 평균 0과 분산 1로 스케일링하는 것입니다. 선형 역 상관 / 미백 / pca도 많은 도움이됩니다.

거래의 기술에 관심이 있으시면 LeCun의 효율적인 백프로 프 용지를 추천 해드립니다 .


1
물론 데이터가 (단일) 정규 분포를 따르지 않으면 데이터를 맹목적으로 정규화하려고 시도해서는 안됩니다. stats.stackexchange.com/a/816/4581
user4581

24
신경망으로 당신은해야합니다. 그렇지 않으면 숨겨진 단위를 즉시 포화시키고 그레디언트가 0에 가까워 학습이 불가능합니다. 모델링 (신경망은 입력 데이터의 분포를 가정하지 않음)이 아니라 수치 문제에 관한 것입니다.
bayerj

꽤 혼란 스러워요. 이 링크 ( machinelearningmastery.com/… )는 사용중인 알고리즘이 가우시안 분포 (NN의 경우가 아님)를 갖는 데이터에 대해 가정 할 때 표준화가 유용하다고 말합니다. 그렇지 않으면 정규화를 사용해야한다는 메시지가 나타납니다. 누군가 나를 밝게 할 수 있습니까?
ihebiheb 2016 년

20

1- 최소-최대 정규화는 스케일링 계수를 제외하고 원래의 점수 분포를 유지하고 모든 점수를 공통 범위 [0, 1]로 변환합니다. 그러나이 방법은 강력하지 않습니다 (즉, 방법은 특이 치에 매우 민감합니다).

2- 표준화 (Z- 점수 정규화) 가장 일반적으로 사용되는 기술로, 주어진 데이터의 산술 평균 및 표준 편차를 사용하여 계산됩니다. 그러나 평균 및 표준 편차는 특이 치에 민감하며이 기법은 정규화 된 점수에 대해 일반적인 숫자 범위를 보장하지 않습니다. 또한 입력 점수가 가우스 분포가 아닌 경우이 기술은 출력에서 ​​입력 분포를 유지하지 않습니다.

3- 중앙값과 MAD : 중앙값과 중앙값 절대 편차 (MAD)는 특이 치와 분포의 극점에있는 점에 민감하지 않습니다. 따라서 강력합니다. 그러나이 기술은 입력 분포를 유지하지 않으며 점수를 일반적인 숫자 범위로 변환하지 않습니다.

4- tanh-estimators : Hampel et al.에 의해 도입 된 tanh-estimators. 강력하고 매우 효율적입니다. 정규화는

탄 추정기 여기서 μGH와 σGH는 각각 Hampel Estimator가 제공 한 실제 점수 분포의 평균 및 표준 편차 추정치입니다.

따라서 tanh-estimators를 권장합니다.

참조 https://www.cs.ccu.edu.tw/~wylin/BA/Fusion_of_Biometrics_II.ppt


이 탄추 추정기에 대한 정보를 찾는 데 어려움을 겪고 있습니다. 누구든지 이것에 대해 약간의 빛을 비출 수 있습니까?
Ben Ogorek

마지막으로 정규화를위한 tanh 추정기를 설명하는 데 도움이되는 논문을 찾았습니다 : wjscheirer.com/papers/wjs_eccv2010_fusion.pdf . 범용 정규화 옵션으로 실행 가능한 것으로 보이지는 않습니다. "[Tanh Estimators]는 적응 z- 점수에 비해 계산하기가 훨씬 더 복잡합니다. 분포의 중앙값 점수에서 세 가지 다른 구간에 대한 꼬리 점은 임시 방식으로 정의해야합니다. 이러한 매개 변수는 어려울 수 있습니다. 실험적으로 결정하고 잘못 선택한 경우 tanh-estimators의 효과를 제한하십시오. "
Ben Ogorek

8

여기 비슷한 대답을했다 당신은 당신의 예측 변수를 중심으로해야한다 & 당신이 그들을 때를 표준화해야 할 때, 다중 회귀 분석을 수행 할 때? 그러나 대답이 여기에 갈 수 있다는 것은 충분히 다른 맥락이라고 생각했습니다.

훌륭한 유즈넷 리소스가 있습니다 http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-16.html

데이터를 정규화 / 표준화 / 축척하려는 경우 몇 가지 문제와 고려 사항을 간단히 말해줍니다. 머신 러닝 관점에서 주제를 다루고 귀하의 질문이 ML이므로 주제와 관련이있을 수 있습니다.


추가 "탐색"이 필요하지 않습니다, 그래서 당신은 여기에 각 링크의 주요 포인트를 작성해야
leoschet

2

넌 할 수있어

  • 최소-최대 정규화 (입력 / 대상을 [-1,1] 범위에 있도록 정규화) 또는
  • 평균 표준 편차 정규화 (평균 및 단일 분산 / 표준 편차가 없도록 입력 / 대상을 정규화)

1

당신이 작업하는 경우 python, sklearn이 일을하는 방법을 자신에 사용하는 다른 기술을 preprocessing(자신의 문서의 예와 플러스 멋진 파이프 라인 기능) 모듈 :

import sklearn

# Normalize X, shape (n_samples, n_features)
X_norm = sklearn.preprocessing.normalize(X)

0

[0,1]이 표준 접근법입니다. 신경망의 경우 0-1 범위에서 가장 잘 작동합니다. Min-Max 스케일링 (또는 정규화)이 따라야합니다.

이제 특이 치에서 대부분의 시나리오에서 특이 치를 탐지하지 않아도되므로 특이 치가 모델에 영향을 미치지 않기를 원합니다 (변칙 탐지가 해결하려는 문제가 아닌 한). 경험적 규칙 68-95-99.7을 기준으로 클립하거나 상자 그림을 만들어 관찰하고 그에 따라 클립 할 수 있습니다.

MinMax 공식- (xi - min(x)) / (max(x) - min(x)) 또는 사용할 수 있습니다sklearn.preprocessing.MinMaxScaler


-1

"허용됨"은 귀하에게 가장 적합한 방법입니다. 그런 다음 수락하십시오.

필자의 경험에 따르면 Johnson 배포판에서 각 연속 피처로의 분포를 적합하게 분배하면 분포가 매우 유연하고 대부분의 단일 모달 피처를 표준 정규 분포로 변환 할 수 있기 때문에 잘 작동합니다. 멀티 모달 기능에도 도움이되지만, 일반적으로 기능을 가장 바람직한 형태로 만듭니다 (표준 가우시안 분산 데이터는 작업하기에 이상적입니다. 대부분의 경우 호환 가능하고 때로는 최적) 통계 / ML 방법 이용 가능).

http://qualityamerica.com/LSS-Knowledge-Center/statisticalinference/johnson_distributions.php

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