0

나는 벡터 집합을 가지고있다. I,이 단일 값이 벡터의 특징 값 있어야벡터의 차원을 줄이는 방법

(x1,x2,....,xn) ------> y 

말 단항 값 (1-d)에 대한 N 차원 벡터를 줄이는 방법에 노력하고있다. 각 고유 벡터는 고유 한 출력 값을 생성합니다. 다음 방법 중 어느 것이 적합하다 :

1- 벡터의 표준 - 제곱의 합의 제곱근 충돌

회피 일부 해싱 기법을 이용하여, 원점에서 F의

2- 컴퓨팅 해시 유클리드 거리 측정 출력

4- 기능에 대한 입력 값들의 좋은 의존성이 없으면 양호한 것으로 가능성 -

-3- 사용 선형 회귀는 Y = W1 * X1 + W2 * X2 + ... + WN * XN을 계산 x1, x2, .. xn 각각에 가중치를 할당하는 PCA와 같은 추출 기술 입력 vecto rs

+1

차원 감소의 목적은 무엇입니까? 벡터로 무엇을하려고합니까? 기계 학습 문제라면 PCA가 가장 좋습니다. –

+2

일종의 고유 한 값으로 원하는 작업에 따라 다릅니다. 당신은 정교 할 수 있습니까? –

+0

@ d.j.sheldrick; 벡터에 대한 계산을 쉽게하기 위해 이러한 고유 한 값이 필요합니다. – marc

답변

0

이 변환에 필요한 속성이 메소드에서 명확하지 않으므로 고유성 및 가능하면 가역성 이외의 속성을 유지하기 위해 변환이 필요하지 않다고 추측합니다. 일반 피하기 충돌에서 당신이 할 수있는 제안 기술의

없음 :

  1. 규범 - 반대 방향으로 가리키는 두 벡터는 같은 규범이 없습니다.

  2. 해시 - 입력을 알 수없는 경우 apriori - 일반적으로 해시 함수가 의미하는 것은 유한 이미지이며 무한 수의 가능한 벡터가 있습니다. 좋지 않습니다.

  3. 선형 회귀 결과에 대해 동일한 결과를주는 벡터를 쉽게 찾을 수 있습니다 (생각해보십시오).

  4. PCA는 특정 종류의 선형 변환이므로 선형 회귀와 같은 문제입니다.

그래서 유일성을 찾고 있다면 벡터를 "문자열로"지정할 수 있습니다. 한 가지 방법은 다른 좌표를 특수 문자 (예 : 밑줄)로 구분하여 텍스트 문자열로 작성하는 것입니다. 그런 다음이 문자열의 이진 값을 표현으로 사용하십시오.

공간이 중요하고보다 효율적인 표현이 필요한 경우보다 효율적인 비트 인코딩을 생각해 볼 수 있습니다. 세트 0,1, ..., 9, '.', ''의 각 문자는 4 비트로 표현 - 16 진수 (A에 '.'를 매핑하고 B에 ''매핑). 이제이 문자열을 16 진수로 인코딩하여 공간의 절반을 절약하십시오.