Proximity in the Age of Distraction: Robust Approximate Nearest Neighbor Search Sariel Har-Peled Sepideh Mahabadi UIUC MIT
Nearest Neighbor Problem
Nearest Neighbor Dataset of π points π in a metric space (π, π π ) , e.g. β π
Nearest Neighbor Dataset of π points π in a metric space (π, π π ) , e.g. β π A query point π comes online π
Nearest Neighbor Dataset of π points π in a metric space (π, π π ) , e.g. β π A query point π comes online Goal: π β’ Find the nearest data point π β π β
Nearest Neighbor Dataset of π points π in a metric space (π, π π ) , e.g. β π A query point π comes online Goal: π β’ Find the nearest data point π β π β β’ Do it in sub-linear time and small space
Approximate Nearest Neighbor Dataset of π points π in a metric space (π, π π ) , e.g. β π A query point π comes online π Goal: π β’ Find the nearest data point π β π β β’ Do it in sub-linear time and small space β’ Approximate Nearest Neighbor β If optimal distance is π , report a point in distance cπ for c = 1 + π
Approximate Nearest Neighbor Dataset of π points π in a metric space (π, π π ) , e.g. β π A query point π comes online π Goal: π β’ Find the nearest data point π β π β β’ Do it in sub-linear time and small space β’ Approximate Nearest Neighbor β If optimal distance is π , report a point in distance cπ for c = 1 + π β For Hamming (and π 1 ) query time is π 1/π(π) [IM98] 1 π(π 2 ) [AI08] β and for Euclidean ( π 2 ) it is π
Applications of NN Searching for the closest object
Robust NN Problem
Robustness The data points are:
Robustness The data points are: β’ corrupted, noisy β’ Image denoising
Robustness The data points are: β’ corrupted, noisy Movies β’ Image denoising 1 - 0 - - - Users β’ Incomplete - 0 1 - 0 - - - - 1 1 - β’ Recommendation: Sparse matrix
Robustness The data points are: β’ corrupted, noisy Movies β’ Image denoising 1 - 0 - - - Users β’ Incomplete - 0 1 - 0 - - - - 1 1 - β’ Recommendation: Sparse matrix β’ Irrelevant β’ Occluded image
The Robust NN problem β’ Dataset of π points π in β π n=3 π 1 = (3,4,0,5) π 2 = (3,2,1,2) π 3 = (2,3,3,1)
The Robust NN problem β’ Dataset of π points π in β π n=3,k=2 π 1 = (3,4,0,5) β’ A parameter π π 2 = (3,2,1,2) π 3 = (2,3,3,1)
The Robust NN problem β’ Dataset of π points π in β π π = (1,2, 1,5) n=3,k=2 π 1 = (3,4,0,5) β’ A parameter π π 2 = (3,2,1,2) β’ A query point π comes online π 3 = (2,3,3,1) β’ Find the closest point after removing π coordinates
The Robust NN problem β’ Dataset of π points π in β π π = (1,2, 1,5) n=3,k=2 π 1 = (3,4,0,5) dist=1 β’ A parameter π π 2 = (3,2,1,2) dist=0 β’ A query point π comes online π 3 = (2,3,3,1) dist=2 β’ Find the closest point after removing π coordinates
The Robust NN problem β’ Dataset of π points π in β π π = (1,2, 1,5) n=3,k=2 π 1 = (3,4,0,5) dist=1 β’ A parameter π π 2 = (3,2,1,2) dist=0 β’ A query point π comes online π 3 = (2,3,3,1) dist=2 β’ Find the closest point after removing π coordinates
The Robust NN problem β’ Dataset of π points π in β π π = (1,2, 1,5) n=3,k=2 π 1 = (3,4,0,5) dist=1 β’ A parameter π π 2 = (3,2,1,2) dist=0 β’ A query point π comes online π 3 = (2,3,3,1) dist=2 β’ Find the closest point after removing π coordinates ο Different set of coordinates for different points ο Applying this naively would require π π β π π
Budgeted Version β’ Dataset of π points π in β π π₯ = 0.5, 0.5, 0.8, 0.3 n=3 β’ π weights π 1 = (1,4,0,3) π₯ = (π₯ 1 , π₯ 2 , β¦ , π₯ π ) β 0,1 π π 2 = (3,2,4,2) π 3 = (4,6,3,4)
Budgeted Version β’ Dataset of π points π in β π π₯ = 0.5, 0.5, 0.8, 0.3 π = (1,2, 5,5) n=3 β’ π weights π 1 = (1,4,0,3) π₯ = (π₯ 1 , π₯ 2 , β¦ , π₯ π ) β 0,1 π π 2 = (3,2,4,2) β’ A query point π comes online π 3 = (4,6,3,4) β’ Find the closest point after removing a set of coordinates πΆ of weight at most π .
Budgeted Version β’ Dataset of π points π in β π π₯ = 0.5, 0.5, 0.8, 0.3 π = (1,2, 5,5) n=3 β’ π weights π 1 = (1,4,0,3) π₯ = (π₯ 1 , π₯ 2 , β¦ , π₯ π ) β 0,1 π π 2 = (3,2,4,2) β’ A query point π comes online π 3 = (4,6,3,4) β’ Find the closest point after removing a set of coordinates πΆ of weight at most π .
Budgeted Version β’ Dataset of π points π in β π π₯ = 0.5, 0.5, 0.8, 0.3 π = (1,2, 5,5) n=3 β’ π weights π 1 = (1,4,0,3) π₯ = (π₯ 1 , π₯ 2 , β¦ , π₯ π ) β 0,1 π dist=4 π 2 = (3,2,4,2) dist=1 β’ A query point π comes online π 3 = (4,6,3,4) dist=3 β’ Find the closest point after removing a set of coordinates πΆ of weight at most π .
Budgeted Version β’ Dataset of π points π in β π π₯ = 0.5, 0.5, 0.8, 0.3 π = (1,2, 5,5) n=3 β’ π weights π 1 = (1,4,0,3) π₯ = (π₯ 1 , π₯ 2 , β¦ , π₯ π ) β 0,1 π dist=4 π 2 = (3,2,4,2) dist=1 β’ A query point π comes online π 3 = (4,6,3,4) dist=3 β’ Find the closest point after removing a set of coordinates πΆ of weight at most π .
Results Bicriterion Approximation, for π 1 norm β’ Suppose that for π β β π we have πππ‘π’ π, π β = π after ignoring π coordinates
Results Bicriterion Approximation, for π 1 norm β’ Suppose that for π β β π we have πππ‘π’ π, π β = π after ignoring π coordinates β’ For π β (0,1) o Report a point π s.t. πππ‘π’ π, π = π(π /π) after ignoring π(π/π) coordinates. o Query time equals to π π queries in 2-ANN data- structure
Results Bicriterion Approximation, for π 1 norm β’ Suppose that for π β β π we have πππ‘π’ π, π β = π after ignoring π coordinates β’ For π β (0,1) o Report a point π s.t. πππ‘π’ π, π = π(π /π) after ignoring π(π/π) coordinates. o Query time equals to π π queries in 2-ANN data- structure Why not single criterion? β’ Equivalent to exact near neighbor in Hamming: there is a point within distance π of the query iff there is a point within distance 0 after ignoring π = π coordinates
Results distance #ignored Query Time coordinates #Queries Query type Opt π π
Results distance #ignored Query Time coordinates #Queries Query type Opt π π π( π π π π( π π 1 2-ANN π) π)
Results distance #ignored Query Time coordinates #Queries Query type Opt π π π( π π π π( π π 1 2-ANN π) π) π 1/p -ANN 1/p π(π π + 1 π π π πͺ π(π π + 1 π ) ) π
Results distance #ignored Query Time coordinates #Queries Query type Opt π π π( π π π π( π π 1 2-ANN π) π) π 1/p -ANN 1/p π(π π + 1 π π π πͺ π(π π + 1 π ) ) π π( π (1 + π) - π (1 + π) O( π π 1 + π β ANN ππ ) π ) approximation
Results distance #ignored Query Time coordinates #Queries Query type Opt π π π( π π π π( π π 1 2-ANN π) π) π 1/p -ANN 1/p π(π π + 1 π π π πͺ π(π π + 1 π ) ) π π( π (1 + π) - π (1 + π) O( π π 1 + π β ANN ππ ) π ) approximation π π Budgeted π(π ) Weight of π(1) 2-ANN +π(π π π 4 ) Version
Algorithm
High Level Algorithm Theorem. If for a point π β β π , the π 1 distance of π and π β is at most π after removing π coordinates, there exists an algorithm which reports a point π whose distance to π is π(π /π) after removing π(π/π) coordinates.
High Level Algorithm Theorem. If for a point π β β π , the π 1 distance of π and π β is at most π after removing π coordinates, there exists an algorithm which reports a point π whose distance to π is π(π /π) after removing π(π/π) coordinates. β’ Cannot apply randomized dimensionality reduction e.g. Johnson-Lindenstrauss
High Level Algorithm Theorem. If for a point π β β π , the π 1 distance of π and π β is at most π after removing π coordinates, there exists an algorithm which reports a point π whose distance to π is π(π /π) after removing π(π/π) coordinates. β’ Cannot apply randomized dimensionality reduction e.g. Johnson-Lindenstrauss β’ A set of randomized maps π π , π π , β¦ π π : β π β β π β² β’ All of them map far points from query to far points β’ At least one of them maps a close point to a close point
Recommend
More recommend