近似最近傍探索(ANN)で使用されるパラメータであり、検索時のクエリ処理における拡張ファクターを指定します。efSearchの値が大きいほど精度が向上しますが、検索時間も増加します。適切な値はアプリケーションの要件に依存し、精度と速度のバランスを調整する必要があります。
efSearch
は、階層型ナビゲーシブル小世界(HNSW: Hierarchical Navigable Small World)アルゴリズなどの近似最近傍探索(ANN: Approximate Nearest Neighbor)で使用されるパラメータの一つで、検索時のクエリ処理における拡張ファクターを指定します。このパラメータは、検索クエリを処理する際に探索される近傍のサイズ、つまり探索範囲の広さを決定する重要な役割を担います。
efSearchの役割
efSearch
(expansion factor for search)は、探索時に考慮される近傍候補の数を定義します。具体的には、クエリポイントに対する近傍探索の精度と速度を調整するために使用されます。efSearch
の値が大きいほど、より多くの近傍候補が探索され、結果として精度が向上しますが、検索に要する時間も増加します。
efSearchの影響
- 高いefSearch値: 探索精度が向上しますが、それに伴い検索時間が長くなります。大量のデータポイントを比較する必要があるため、計算コストが高くなります。
- 低いefSearch値: 検索時間が短縮されますが、探索精度が低下する可能性があります。限られた数のデータポイントのみが比較されるため、最適な近傍を見逃すリスクがあります。
使用例
efSearch
は、使用シナリオに応じて適切に設定する必要があります。リアルタイムのアプリケーションでは、応答時間を最小限に抑えるために比較的低いefSearch
値が選択されることがあります。一方で、検索精度を最優先するシナリオでは、より高いefSearch
値が選ばれることがあります。
バランスの取り方
efSearch
の適切な値は、特定のアプリケーションの要件に依存します。高精度が求められる場合はefSearch
を増やし、応答時間を重視する場合は減らすことで、精度と速度のバランスを調整します。また、実際のデータセットや利用シナリオに基づいて、実験的に最適な値を見つけることが一般的です。
HNSWのようなANNアルゴリズムを使用する際には、efConstruction
、M
(エッジの最大数)などの他のパラメータとともに、efSearch
を適切に設定することが、期待される検索性能を実現する鍵となります。