난수 색인 (대부분이 0 값)을 생성 할 필요가 있습니다. 벡터는 1 (양의 차원), -1 (음의 차원) 및 0 중 하나의 값을 포함 할 수 있습니다.이 벡터는 텍스트의 코퍼스에있는 모든 단어에 대해 생성됩니다. 결과 벡터의 무작위성을 보장하면서 Java에서이를 달성하는 가장 좋은 방법은 무엇입니까? 무작위 색인 벡터 생성
를 사용하면 저렴한 비용으로 접근을 시도 할 경우
4
A
답변
1
벡터를 저장하려면 0이 아닌 위치와 + 1/-1 비트의 목록을 유지하십시오. + 1/-1 비트는 Byte가 필요합니다.
최대한 많은 메모리를 절약하려면 모든 벡터에 대해 +1/-1 정보가 포함 된 BitSet을 길게 유지할 수 있으며 각 벡터는 BitSet에서 시작 인덱스를 기억합니다.
가 다른 직교 벡터를 생성하려면, 당신은 할 수 있습니다 :[0 1 0 0 -1 ...]
[1 0 1 0 0 ...] // zeros where the first vector is non-zero
...
가능한 모든 1000 인덱스의 링크 된 목록을 유지합니다. 벡터를 생성 할 때 작은 난수의 임의 색인을 선택하고이 색인이 0이 아닌 벡터를 생성 한 다음 사용 가능한 색인 목록에서 색인을 제거합니다. 그러나 이렇게하면 사용 가능한 색인이 빨리 소진됩니다. 그러나 1000 차원 공간에는 1000 개의 상호 직교 벡터 만 있으므로 1000 개 단어에 대한 벡터를 만들 수 있습니다.
또한 벡터가 직교해야한다는 사실은 완전히 임의적 일 수는 없다는 것을 의미합니다. 진정한 랜덤 벡터가 비 직교 일 수 있기 때문입니다.
0
관련 문제
- 1. 벡터/행렬의 끝까지 우아하게 색인 생성
- 2. mathematica에서 목록 색인 생성
- 3. 무작위 그래프 생성
- 4. 무작위 스도쿠 생성
- 5. Zend의 색인 생성 문서 업데이트 Lucene 색인
- 6. Solr 색인 생성 문제
- 7. solr을 사용하여 색인 생성
- 8. 파일 시스템 색인 생성
- 9. 잘못된 Google 색인 생성
- 10. 색인 생성 기능
- 11. 색인 생성 클래스 만들기
- 12. 색인보기 색인 생성 실패
- 13. Matlab - 동적 색인 생성
- 14. 색인 생성 HSQLDB?
- 15. MATLAB에서 벡터 생성
- 16. 큰 무작위 평면 그래프 생성
- 17. 더 나은 무작위 생성 PHP
- 18. SqlServer 무작위 데이터 생성 관찰
- 19. 경계 간 무작위 인구 생성
- 20. 자손 관계 + 셀렌의 색인 생성
- 21. Rails App Google 색인 생성
- 22. App Engine - Datastore - 색인 생성
- 23. Linq로 색인 생성 된 속성?
- 24. Zend_Search_Lucene 색인 생성 및 업데이트
- 25. SOLR 문서의 색인 다시 생성
- 26. 새 키워드 색인 생성 방법
- 27. Lucene의 색인 생성 및 검색
- 28. Oracle에서 매우 큰 색인 생성
- 29. SOLR 색인 생성 및 검색?
- 30. 레일 : 여러 모델 색인 생성?
~ 1000 단어 또는 단어 당? –
코퍼스의 각 단어에 대한 1000 자릿수 – rmenon