정규화 및 기능 확장은 어떻게, 왜 작동합니까?


61

많은 기계 학습 알고리즘이 평균 취소 및 공분산 이퀄라이제이션으로 더 잘 작동한다는 것을 알았습니다. 예를 들어 신경망은 더 빨리 수렴하는 경향이 있으며 K-Means는 일반적으로 사전 처리 된 기능으로 더 나은 클러스터링을 제공합니다. 이러한 사전 처리 단계의 직관이 성능 향상으로 이어지지는 않습니다. 누군가 나에게 이것을 설명 할 수 있습니까?

답변:


25

단순히 모든 데이터를 동일한 규모로 얻는 경우입니다. 다른 기능의 규모가 크게 다른 경우 학습 방법에 영향을 줄 수 있습니다 (사용하는 방법에 따라 다름) . 표준화 된 피처 값을 보장하면 모든 피처의 표현에 똑같이 가중치가 적용됩니다.


3
"이것은 배우는 능력에 영향을 줄 수 있습니다"는 무슨 의미입니까?
Charlie Parker

14
이것은 실제로 좋은 설명이 아닙니다. 진정한 이해를 위해서는 최소한 한 단계 더 깊이 설명해야합니다.
Zelphir Kaltstahl

내 논문에 대한 참조가 필요합니다
x-rw

40

머신 러닝의 전처리는 다소 까다로운 기술입니다. 여러 전처리 단계가 작동하기 위해 필수적인 이유는 논문에 많이 기록되어 있지 않습니다. 모든 경우에 이해되는지 확실하지 않습니다. 일을 더 복잡하게하려면 사용하는 방법과 문제 영역에 크게 의존합니다.

예를 들어 어떤 방법은 아핀 변환 불변입니다. 신경망이 있고 데이터에 아핀 변환을 적용하면 네트워크가 이론상 손실되거나 얻지 않습니다. 그러나 실제로 입력이 중앙에 있고 흰색이면 신경망이 가장 잘 작동합니다. 즉, 공분산이 대각선이고 평균이 0 인 것을 의미합니다. 왜 개선합니까? 숨겨진 활성화 기능이 빠르게 포화되지 않으므로 학습 초기에 거의 0의 그라디언트를 제공하지 않기 때문에 신경망의 최적화가보다 우아하게 작동하기 때문입니다.

K-Means와 같은 다른 방법은 전처리에 따라 완전히 다른 솔루션을 제공 할 수 있습니다. 이것은 아핀 변환이 미터법 공간의 변화를 의미하기 때문입니다. 두 개의 샘플 사이의 유클리드 거리는 그 변환 후에 달라집니다.

하루가 끝나면 데이터에 대한 작업을 이해하려고합니다. 예를 들어 컴퓨터 비전의 미백 및 샘플 현명한 정규화는 인간의 두뇌가 비전 파이프 라인에서하는 일입니다.


17

입력 정규화가 ANN 및 k- 평균에 유용한 이유에 대한 몇 가지 아이디어, 참조 및 도표 :

K- 평균 :

K- 평균 군집화는 공간의 모든 방향에서 "등방성"이므로 다소 길거나 길지 않은 군집을 생성하는 경향이 있습니다. 이 상황에서 분산이 동일하지 않은 것은 분산이 작은 변수에 가중치를 더하는 것과 같습니다.

Matlab의 예 :

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

(FYI : 데이터 세트가 클러스터 또는 클러스터되지 않은지 (예 : 하나의 단일 클러스터 형성) 감지하는 방법 )

분산 클러스터링 :

비교 분석에 따르면 분산 클러스터링 결과는 정규화 절차 유형에 따라 다릅니다.

인공 신경망 (입력) :

입력 변수가 MLP에서와 같이 선형으로 결합되면 최소한 이론적으로 입력을 표준화 할 필요가 거의 없습니다. 그 이유는 해당 가중치와 바이어스를 변경하여 입력 벡터의 크기 조정을 효과적으로 취소하고 이전과 동일한 출력을 유지할 수 있기 때문입니다. 그러나 입력을 표준화하면 훈련 속도가 빨라지고 지역 최적 상태에 빠질 가능성이 줄어드는 여러 가지 실용적인 이유가 있습니다. 또한 표준화 된 입력을 통해 가중치 감소 및 베이지안 추정을보다 편리하게 수행 할 수 있습니다.

인공 신경망 (입력 / 출력)

데이터에 이러한 작업을 수행해야합니까? 그 대답은 다릅니다.

입력 또는 대상 변수를 표준화 하면 최적화 문제 의 수치 조건 ( ftp://ftp.sas.com/pub/neural/illcond/illcond.html 참조 )을 개선하고 다양한 기본값 을 확인함으로써 학습 프로세스를보다 잘 작동시키는 경향이 있습니다. 초기화 및 종료와 관련된 값이 적절합니다. 대상을 표준화하면 목적 함수에 영향을 줄 수도 있습니다.

사례의 표준화는 정보를 버리기 때문에주의해서 접근해야합니다. 해당 정보가 관련이없는 경우 사례를 표준화하면 도움이 될 수 있습니다. 해당 정보가 중요한 경우 사례를 표준화하는 것은 비참 할 수 있습니다.


흥미롭게도 측정 단위를 변경하면 Kaufman, Leonard 및 Peter J. Rousseeuw와 같이 매우 다른 군집 구조를 볼 수도 있습니다 . "데이터에서 그룹 찾기 : 군집 분석 소개" (2005).

일부 응용 프로그램에서 측정 단위를 변경하면 매우 다른 군집 구조를 볼 수도 있습니다. 예를 들어, 가상의 4 명의 사람들의 연령 (년)과 키 (센티미터)는 표 3에 나와 있으며 그림 3에 그려져 있습니다. . 반면에 높이가 피트로 표시되면 표 4와 그림 4를 얻습니다. 여기서 명백한 군집은 현재 {A, C}와 {B, D}입니다. 각 과목마다 다른 동반자를 받았기 때문에이 파티션은 첫 번째 파티션과 완전히 다릅니다. (그림 4는 나이가 일 단위로 측정 된 경우 훨씬 더 평평했을 것입니다.)

측정 단위 선택에 대한 이러한 의존성을 피하기 위해 데이터 표준화 옵션이 있습니다. 원래 측정 값을 단위가없는 변수로 변환합니다.

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

Kaufman et al. 몇 가지 흥미로운 고려 사항이 계속됩니다 (11 페이지).

철학적 인 관점에서 표준화는 실제로 문제를 해결하지 못합니다. 실제로 측정 단위를 선택하면 변수의 상대적 가중치가 발생합니다. 더 작은 단위로 변수를 표현하면 해당 변수의 범위가 더 커져 결과 구조에 큰 영향을 미칩니다. 반면에 표준화를 통해 객관성을 달성하기 위해 모든 변수에 동일한 가중치를 부여하려고합니다. 따라서 사전 지식이없는 실무자가 사용할 수 있습니다. 그러나 특정 응용 분야에서 일부 변수가 본질적으로 다른 변수보다 더 중요 할 수 있으며, 가중치 할당은 주제 지식에 기반해야합니다 (예 : Abrahamowicz, 1985 참조). 반면에 변수의 규모와 무관 한 군집 기법을 고안하려는 시도가 있었다 (Friedman and Rubin, 1967). Hardy and Rasson (1982)의 제안은 클러스터의 볼록 껍질의 총 부피를 최소화하는 파티션을 검색하는 것입니다. 원칙적으로 이러한 방법은 데이터의 선형 변환과 관련하여 변하지 않지만 불행히도 구현에 알고리즘이 존재하지 않습니다 (2 차원으로 제한된 근사치 제외). 따라서 표준화의 딜레마는 현재 피할 수없는 것으로 보이며이 책에 설명 된 프로그램은 사용자에게 선택권을 남겨 둡니다. Hardy and Rasson (1982)의 제안은 클러스터의 볼록 껍질의 총 부피를 최소화하는 파티션을 검색하는 것입니다. 원칙적으로 이러한 방법은 데이터의 선형 변환과 관련하여 변하지 않지만 불행히도 구현에 알고리즘이 존재하지 않습니다 (2 차원으로 제한된 근사치 제외). 따라서 표준화의 딜레마는 현재 피할 수없는 것으로 보이며이 책에 설명 된 프로그램은 사용자에게 선택권을 남겨 둡니다. Hardy and Rasson (1982)의 제안은 클러스터의 볼록 껍질의 총 부피를 최소화하는 파티션을 검색하는 것입니다. 원칙적으로 이러한 방법은 데이터의 선형 변환과 관련하여 변하지 않지만 불행히도 구현에 알고리즘이 존재하지 않습니다 (2 차원으로 제한된 근사치 제외). 따라서 표준화의 딜레마는 현재 피할 수없는 것으로 보이며이 책에 설명 된 프로그램은 사용자에게 선택권을 남겨 둡니다.


6

기능 스케일링이 작동하는 이유는 무엇입니까? 나는 당신에게 예를 줄 수 있습니다 ( Quora에서 )

30000


4
Quora의 게시물을 인용하는 경우 실제로 소스에 연결해야합니다.
Matthew Drury

5

두 가지 별도의 문제가 있습니다.

a) 올바른 기능 학습 예 : k- 평균 : 입력 스케일은 기본적으로 유사성을 지정하므로, 발견 된 클러스터는 스케일링에 따라 다릅니다. 정규화-예를 들어 l2 가중치 정규화-각 가중치가 "동일하게 작아야"한다고 가정합니다. 데이터가 "적절하게"스케일링되지 않은 경우에는 그렇지 않습니다.

b) 최적화, 즉 경사 하강 (예 : 대부분의 신경망). 그래디언트 디센트의 경우 학습 속도를 선택해야하지만 ... 학습 속도 (적어도 첫 번째 숨겨진 레이어에서)는 입력 스케일링에 따라 다릅니다. 작은 [관련된] 입력은 일반적으로 더 큰 가중치가 필요하므로 더 큰 학습을 원합니다 빠른 학습을 위해이 가중치를 평가하고 큰 입력을 위해서는 vv ... 단일 학습 속도 만 사용하고 싶기 때문에 입력의 크기를 조정합니다. (그리고 같은 이유로 미백, 즉 장식을하는 것도 중요합니다)



1

이 백서는 k- 평균에 대해서만 이야기하지만 데이터 전처리의 요구 사항을 아주 잘 설명하고 증명합니다.

표준화는 다양한 동적 범위에서 특정 범위로 기능 또는 속성 값을 표준화하기위한 데이터 마이닝의 중앙 전처리 단계입니다. 본 논문에서는 기존 K- 평균 알고리즘에 대한 3 가지 표준화 방법의 성능을 분석 하였다. 감염성 질환 데이터 세트에 대한 결과를 비교함으로써, z- 점수 표준화 방법에 의해 얻어진 결과가 최소-최대 및 소수 스케일링 표준화 방법보다 더 효과적이고 효율적이라는 것이 밝혀졌다.

.

... 크기가 크거나 변동성이 큰 일부 기능이있는 경우 이러한 기능은 클러스터링 결과에 큰 영향을 미칩니다. 이 경우 데이터 표준화는 데이터 세트의 변동성을 조정하거나 제어하기위한 중요한 전처리 작업입니다.

.

... 차원 형상 범위의 수치는 측정 단위에 의존하기 때문에 형상이 치수가 없어야하므로 측정 단위를 선택하면 군집의 결과가 크게 달라질 수 있습니다. 따라서 데이터 세트를 정규화하지 않고 유클리드 거리와 같은 거리 측정을 사용해서는 안됩니다.

출처 : http://maxwellsci.com/print/rjaset/v6-3299-3303.pdf


1

사전 처리는 해결하려는 분류 문제와 관련이없는 데이터의 기능을 제거하기 때문에 종종 작동합니다. 예를 들어 다른 스피커의 사운드 데이터를 분류하는 것에 대해 생각해보십시오. 음량 변동 (진폭)은 관련이 없을 수 있지만 주파수 스펙트럼은 실제로 관련된 측면입니다. 따라서이 경우 진폭 정규화는 대부분의 ML 알고리즘에 실제로 도움이 될 것입니다. 관련없는 데이터의 측면을 제거하고 신경망이 스퓨리어스 패턴에 과적 합하기 때문입니다.


1

나는 이것이 분류기를 배울 때 더 큰 가치를 가진 특징이 더 작은 가치를 가진 특징의 효과를 가리지 않도록 간단하게 수행된다고 생각한다. 로지스틱 회귀와 같은 분류기는 결정 경계를 배우는 데 어려움이있을 수 있습니다. 또한 알고리즘이 더 잘 수렴하도록 도와줍니다. 따라서 우리는 이것을 알고리즘으로 코딩 할 때 기회를 얻지 않습니다. 분류자가이 방법으로 기능의 기여도 (가중치)를 배우는 것이 훨씬 쉽습니다. 유클리드 규범 (규모 때문에 혼란)을 사용하는 경우 K도 마찬가지입니다. 일부 알고리즘은 정규화하지 않고도 작동 할 수 있습니다.

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