PCA를 사용하여 훈련 세트의 치수를 줄이려고합니다. 두 가지 접근 방식을 접했습니다. 여기PCA - MATLAB을 사용한 치수 감소
[V,U,eigen]=pca(train_x);
eigen_sum=0;
for lamda=1:length(eigen)
eigen_sum=eigen_sum+eigen(lamda,1);
if(eigen_sum/sum(eigen)>=0.90)
break;
end
end
train_x=train_x*V(:, 1:lamda);
는 단순히 원래 세트의 90 %를 나타내는 주성분 결정 기능 낮은 양의 트레이닝 세트를 재구성하기 위해 고유 행렬을 사용한다. 우리는 원래 훈련의 주요 구성 요소의 표현으로 설정 한 훈련을, 즉
train_x=U(:,1:lamda);
:
내가 찾은 다른 방법으로 변경 마지막 줄을, 저장, 거의 정확하게 동일합니다 일부 기능 lamda를 설정합니다.
이 두 가지 방법 모두 비슷한 결과를 얻는 것으로 보이지만 차이는 있지만 아주 적습니다.
제 질문은 어떤 것이 올바른 방법입니까?
답장을 보내 주셔서 감사합니다. 후속 조치 : 1) 데이터를 사용하여 능선 회귀 2) 나는 PCA 단계 이후와 능선 회귀 전과 나머지 동안 정상화합니다. 그러나 평균의 존재가 정규화 없이도 선형 회귀에 영향을주지 않아야합니다. 맞습니까? – Drakhlur
예, 이론적으로 0이 아닌 평균 데이터는 선형 회귀만을 오프셋합니다. 원래 구성 요소의 수단은 'train_x * V'구성 요소의 수단과 동일하지 않도록주의해야합니다. 그리고 당신이 염두에두고있는 한 정상화의 나머지 부분은 괜찮을 것입니다. –