1

하위 기능을 포함하는 데이터 세트에 대한 일부 피쳐 추출 (또는 클러스터링)을 수행하고 싶습니다. 예를 들어, 데이터 집합은 아래와 같습니다. 목표는 데이터를 사용하여 로봇 유형을 분류하는 것입니다.여러 하위 기능을위한 피쳐 추출

Samples : 100 robot samples [Robot 1, Robot 2, ..., Robot 100] 
Classes : 2 types [Type A, Type B] 
Variables : 6 parts, and 3 sub-features for each parts (total 18 variables) 
[Part1_weight, Part1_size, Part1_strength, ..., Part6_size, Part6_strength, Part6_weight] 

[무게, 크기, 강도]로 피쳐 추출을 수행하고 추출 된 피쳐를 부품의 대표 값으로 사용하고 싶습니다.

필자의 목표는 기능을 6 - [Part1_total, Part2_total, ..., Part6_total]로 축소 한 다음 해당 6 가지 기능으로 로봇의 유형을 분류하는 것입니다. 따라서 '무게', '크기'및 '강도'를 결합하여 문제를 해결해야합니다.

처음으로 PCA (Principal Component Analysis)를 적용하는 것이 가장 인기있는 피쳐 추출 알고리즘 중 하나이기 때문에 생각했습니다. 그러나 18 개 기능을 모두 별도로 고려하기 때문에 'Part1_weight'는 'Part2_weight'보다 더 중요한 것으로 간주 될 수 있습니다. 하지만 내가 알아야 할 것은 표본 사이에 '가중치', '크기'및 '강점'의 중요성이 있으므로 PCA는 적용 가능하지 않은 것으로 보입니다.

이 문제를 해결하기위한 방법이 있습니까?

답변

1

부품 당 정확히 하나의 피쳐를 갖고 싶다면 부품 감소를 부품별로 수행하는 것 외에 다른 방법은 없습니다. 그러나 단순한 PCA보다 더 나은 선택이있을 수 있습니다. 예를 들어, 부품이 대체로 견고하면 그 무게는 크기의 세 번째 힘과 관련이 있기 때문에 PCA를 수행하기 전에 무게 또는 입방체의 3 차 근원을 취할 수 있습니다. 또는 두 값의 로그를 취할 수 있습니다. 다시 선형 종속성이 발생합니다.

물론 더 멋진 변형이 많이 있습니다. 통계에서 정상적인 데이터 배포를 위해 Box-Cox Transformation이 사용됩니다.

PCA를 수행하기 전에 변형 된 데이터를 정규화하는 것, 즉 평균을 빼고 각 변수의 표준 편차로 나누는 것도 고려해야합니다. 측정 단위의 영향을 제거합니다. 나는. 무게를 kg 단위, 원자 단위 또는 일요일 단위로 측정하는지 여부는 중요하지 않습니다.

+0

감사합니다. 그러나 PCA를 개별적으로 수행하는 것은 쉽습니다 (Part1_size, Part1_strength, Part1_weight, Part2_size, Part2_size, Part2_strength ... Part2_weight). Part2_strength ... Part2에 대한 기능을 추출하는 것은 쉽지만 공통 PCA를 계산하는 것은 어렵습니다. 각 하위 피쳐 (즉, 각 부품의 피쳐 추출을위한 공통 부품 치수, 부품 _ 강도, 부품 _ 중량에 대한 PCA). 이거 좀 생각해? – z991

+0

질문의 두 번째 (어려운) 부분을 이해하지 못합니다. 크기, 무게 및 강도를 하나의 기능으로 결합하려고합니까? 이 경우, 서로 다른 단위와 다른 척도로 측정되기 때문에이를 정규화해야합니다. –

+0

죄송합니다. 조금 혼란 스러웠지만 지금은 이해하고 있습니다. 답변 주셔서 감사합니다. – z991

1

파트 번호가 서로 다른 경우 (예 : 파트 1이 파트 2와 다르면 크기, 무게, 강도 매개 변수가 동일한 지 여부는 중요하지 않음) 각 파트마다 PCA를 한 번 수행 할 수 있습니다. 현재 PCA의 매개 변수로 현재 Part의 크기, 무게 및 강도 만 사용.

또는 파트 배열 순서가 중요하지 않은 경우 모든 (크기, 무게, 강도) 매개 변수 트리플을 사용하여 부품 번호에 따라 다르지 않은 하나의 PCA 만 수행 할 수 있습니다.

관련 문제