Given a set S of n d-dimensional points  , the k-nearest neighbors ( KNN) is the problem of quickly finding k points in S that are nearest to a query point q. The k-nearest neighbors problem has applications in machine learning for classification and regression and also in searching. The secure version of KNN where either q or S are encrypted, has applications such as providing services over sensitive (such as medical or localization) data . In this work we present the first scalable and efficient algorithm for solving KNN with Fully Homomorphic Encryption (FHE)that is realized by a polynomial whose degree is independent of n, the number of points. We implemented our algorithm in an open source library based on HELib implementation for the Brakerski-Gentry-Vakuntanthan's FHE scheme, and ran experiments on MIT's OpenStack cloud. Our experiments show that given a query point q, we can find the set of 20 nearest points out of more than 1000 points in less than an hour. Our result introduces a statistical coreset, which is a data summarization technique that allows statistical functions, such as moments, to be efficiently and scalably computed. As a central tool, we design a new coin toss technique which we use to build the coreset. This coin toss technique and computation of statistical functions may be of independent interest. \\%DIF > and classification took less than 3 hours compared to (estimated) weeks in current HE implementations.
In machine learning, classifiers are used to predict a class of a given query based on an existing (classified) database. Given a database S of n d-dimensional points and a d-dimensional query q , the k-nearest neighbors ( kNN) classifier assigns q with the majority class of its k nearest neighbors in S. In the secure version of kNN, S and q are owned by two different parties that do not want to share their data. Unfortunately, all known solutions for secure kNN either require a large communication complexity between the parties, or are very inefficient to run . In this work we present a classifier based on kNN, that can be implemented efficiently with homomorphic encryption (HE). The efficiency of our classifier comes from a relaxation we make on kNN, where we allow it to consider kappa nearest neighbors for kappa ~ k with some probability. We therefore call our classifier k-ish Nearest Neighbors (k-ish NN). The success probability of our solution depends on the distribution of the distances from q to S and increase as its statistical distance to Gaussian decrease. To implement our classifier we introduce the concept of double-blinded coin-toss. In a doubly-blinded coin-toss the success probability as well as the output of the toss are encrypted. We use this coin-toss to efficiently approximate the average and variance of the distances from q to S. We believe these two techniques may be of independent interest. When implemented with HE, the k-ish NN has a circuit depth that is independent of n, therefore making it scalable. We also implemented our classifier in an open source library based on HELib and tested it on a breast tumor database. The accuracy of our classifier (F_1 score) were 98\\%DIF > and classification took less than 3 hours compared to (estimated) weeks in current HE implementations.
R
Given a set
In machine learning, classifiers are used to predict a class of a given query based on an existing (classified) database. Given a database
A
and a d-dimensional query q
R
KNN) is the problem of quickly finding k points in S that are nearest to a query point q. The k-nearest neighbors problem has applications in machine learning for classification and regression and also in searching. The
kNN) classifier assigns q with the majority class of its k nearest neighbors in S. In the
R
KNN where either q or S are encrypted, has applications such as providing services over sensitive (such as medical or localization) data
kNN, S and q are owned by two different parties that do not want to share their data. Unfortunately, all known solutions for secure kNN either require a large communication complexity between the parties, or are very inefficient to run
R
the first scalable and efficient algorithm for solving KNN with Fully Homomorphic Encryption (FHE)that is realized by a polynomial whose degree is independent of n, the number of points. We implemented our algorithm in an open source library based on HELib implementation for the Brakerski-Gentry-Vakuntanthan's FHE scheme, and ran experiments on MIT's OpenStack cloud. Our experiments show that given a query point q, we can find the set of 20 nearest points out of more than 1000 points in less than an hour. Our result introduces a statistical coreset, which is a data summarization technique that allows statistical functions, such as moments, to be efficiently and scalably computed. As a central tool, we design a new coin toss technique which we use to build the coreset. This coin toss technique and computation of statistical functions
a classifier based on kNN, that can be implemented efficiently with homomorphic encryption (HE). The efficiency of our classifier comes from a relaxation we make on kNN, where we allow it to consider kappa nearest neighbors for kappa ~ k with some probability. We therefore call our classifier k-ish Nearest Neighbors (k-ish NN). The success probability of our solution depends on the distribution of the distances from q to S and increase as its statistical distance to Gaussian decrease. To implement our classifier we introduce the concept of double-blinded coin-toss. In a doubly-blinded coin-toss the success probability as well as the output of the toss are encrypted. We use this coin-toss to efficiently approximate the average and variance of the distances from q to S. We believe these two techniques
A
When implemented with HE, the k-ish NN has a circuit depth that is independent of n, therefore making it scalable. We also implemented our classifier in an open source library based on HELib and tested it on a breast tumor database. The accuracy of our classifier (F_1 score) were 98