Tìm kiếm láng giềng gần nhất
Mục tiêu của thuật tốn láng giềng gần nhất là tìm một điểm trên cây mà gần nhất với điểm được cho. Việc tìm kiếm sẽ hiệu quả khi sử dụng các thuộc tính của cây để giới hạn nhanh chóng trong khơng gian tìm kiếm. Q trình tìm kiếm láng giềng gần nhất trên cây k chiều được thực hiện như sau:
52
- Bắt đầu từ node gốc, thuật toán di chuyển đệ qui xuống các node dưới của cây. Việc di chuyển về bên trái hay bên phải của cây sẽ phụ thuộc vào giá trị của điểm được cho lớn hơn hay nhỏ hơn node hiện tại trong chiều phân tách.
- Khi thuật toán đã đi đến node lá thì nó sẽ xem node đó như một kết quả hiện tại (current best).
- Thuật tốn thốt khỏi vịng lặp và thực hiện các bước sau trên mỗi node o Nếu node hiện tại gần hơn kết quả hiện tại thì node này sẽ trở thành
kết quả hiện tại.
o Thuật toán kiểm tra việc tồn tại của bất kỳ điểm nào nằm ở phía cịn lại của mặt phẳng phân tách gần với điểm được cho hơn kết quả hiện tại hay không.
- Khi kết thúc thuật tốn với node gốc thì việc tìm kiếm cũng hồn thành.
3.2.8. So sánh đợ tương đồng
Để so sánh độ tương đồng hình ảnh từ các vec-tơ đặc trưng thu được, có thể sử dụng các phép đo khoảng cách. Một số phép đo thông dụng bao gồm L1-norm (khoảng cách Manhattan), L2-norm (khoảng cách Euclid), hay độ tương đồng Angular (Angular similarity – tương đương phép đo khoảng cách Cosine). Cần chú ý rằng, khoảng cách và độ tương đồng tỉ lệ nghịch với nhau, khoảng cách càng nhỏ thì độ tương đồng càng lớn và ngược lại.
Với 2 vector x, y độ dài m, khoảng cách Manhattan được tính như sau:
𝑙1 = ∑𝑚 |𝑥𝑖− 𝑦𝑖|
𝑖=1 (3.1)
Công thức cho khoảng cách:
𝑙2 = √∑𝑚 (𝑥𝑖 − 𝑦𝑖)2
𝑖=1 (3.2)
Công thức cho khoảng cách Cosine:
similarity = cos(𝜃) = 𝐴 .𝐵
‖𝐴‖ ‖𝐵‖ = ∑𝑛𝑖=1𝐴𝑖𝐵𝑖 √∑𝑛𝑖=1𝐴𝑖2√∑𝑛𝑖=1𝐵𝑖2
53