nearest neighbor graph (NNG) 近邻图 k近邻图

 

 

The nearest neighbor graph (NNG)近邻图 is a directed graph defined for a set of points in a metric space, such as the Euclidean distance in the plane. The NNG has a vertex for each point, and a directed edge from p to q whenever q is a nearest neighbor of p, a point whose distance from p is minimum among all the given points other than p itself.[1]

In many uses of these graphs, the directions of the edges are ignored and the NNG is defined instead as an undirected graph. However, the nearest neighbor relation is not a symmetric one, i.e., p from the definition is not necessarily a nearest neighbor for q. In theoretical discussions of algorithms a kind of general position is often assumed, namely, the nearest (k-nearest) neighbor is unique for each object. In implementations of the algorithms it is necessary to bear in mind that this is not always the case. For situations in which it is necessary to make the nearest neighbor for each object unique, the set P may be indexed and in the case of a tie the object with, e.g., the largest index may be taken as the nearest neighbor.[2]

The k-nearest neighbor graph (k-NNG)k近邻图 is a graph in which two vertices p and q are connected by an edge, if the distance between p and q is among the k-th smallest distances from p to other objects from P. The NNG is a special case of the k-NNG, namely it is the 1-NNG. k-NNGs obey a separator theorem: they can be partitioned into two subgraphs of at most n(d + 1)/(d + 2) vertices each by the removal of O(k1/dn1 − 1/d) points.[3]

Another variation is the farthest neighbor graph (FNG), in which each point is connected by an edge to the farthest point from it, instead of the nearest point.

NNGs for points in the plane as well as in multidimensional spaces find applications, e.g., in data compressionmotion planning, and facilities location. In statistical analysis, the nearest-neighbor chain algorithm based on following paths in this graph can be used to find hierarchical clusterings quickly. Nearest neighbor graphs are also a subject of computational geometry.

 

 k-近邻图(k-nearest neighbor graph)
选定参数k,对于顶点vi,i=1,..,n,把离它最近的k个点与之相连,所得到的图就是k-近邻图。
需要注意的是,因为这样的邻近关系并不是对称的(vj是vi的k近邻 ≠vi是vj的k近邻),故而得到的图将会是“有向”的。为了得到无向的图(图的赋权邻接矩阵W应是对称的),一般采取的办法有两种:
(1)忽视边的方向。即只要vj是vi的k近邻,或者vi是vj的k近邻,就用一条无向边把vi与vj连接起来。通常称的k-近邻图就是这一种。
(2)仅当vj是vi的k近邻,且vi是vj的k近邻时,才把vi与vj连接起来。这样得到的图称为混合k-近邻图(mutual k-nearest neighbor graph)

 

 

 

Having simple dataset:

 

 

you create a graph from k-NN:

 after partitioning the graph will be much simplified (having large kk at the begging might not have any influence at all, because most of the edges will be removed during partitioning).

 

 

 

 

REF

https://blog.csdn.net/qingdanry/article/details/44685411

https://en.wikipedia.org/wiki/Nearest_neighbor_graph

https://stats.stackexchange.com/questions/165047/how-are-graphs-of-k-nearest-neighbors-built-for-clustering
posted @ 2021-08-17 23:31  emanlee  阅读(4467)  评论(0编辑  收藏  举报