zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    V2EX 上收藏Top200
    在heroku上部署gost代理服务端
    nano编辑器使用教程
    Amazon EC2免费VPS防止超额被扣钱三大方法:流量 硬盘读写 运行时长
    Go语言开发环境配置
    HTML5 and CSS3 开发
    使用 Eclipse PhoneGap 构建 Android 应用程序入门
    脚本之家
    CSS网页布局全精通
    使用面向 iOS 的本机插件扩展 PhoneGap
  • 原文地址:https://www.cnblogs.com/emanlee/p/15154810.html
Copyright © 2011-2022 走看看