【问题标题】:DBSCAN and border pointsDBSCAN 和边界点
【发布时间】:2018-11-25 16:31:15
【问题描述】:

据说 DBSCAN 在边界点上并不一致,取决于它将点首先分配给哪个集群。 是否存在 DBSCAN 的变体,当它想要将边界点分配给其中一个集群时,它会考虑每个集群中边界点接近的点数 (eps)?

【问题讨论】:

    标签: machine-learning cluster-analysis dbscan


    【解决方案1】:

    在这很重要的情况下,两个集群的点数通常为 1。

    更好的决胜局将是距离,但即使这样也可以有平局。

    这是一个微不足道的修改,在后期处理中很容易实现:对于每个边界点,找到最近的核心点,并使用该标签。

    但是,这有关系吗?

    集群从来都不是完美的。我们在这里讨论的是一种罕见的情况,其中“最佳”(对于“最佳”的相当特别的定义,基于两个硬阈值)分配通常会对最终结果产生 0.000 差异

    如果我没记错的话,DBSCAN 作者建议您也可以将这些点分配给两个集群。这应该是最符合定义的解决方案(边界点 可从两个集群到达)。但这使一切变得更加复杂。因为许多用户希望每个点在一个漂亮的数字列中都有 一个 标签,而不必处理这种特殊情况。

    【讨论】:

      【解决方案2】:

      有点晚了,但仍然:首先,边界点本身必须是核心点,因为在其 epsilon 邻域中必须至少有一个进一步的对象,从该对象可以直接达到密度。否则它不会连接到集群。

      根据定义,DBSCAN 结果是确定性的 w.r.t。核心点和噪声点,但不是边界点,所以:如果边界点的密度可以从两个集群到达,它实际上取决于处理或您的实现,它将被分配到哪个集群。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-29
        • 1970-01-01
        • 2020-02-12
        • 2016-11-19
        • 2015-12-13
        • 2016-05-23
        • 1970-01-01
        • 2015-02-04
        相关资源
        最近更新 更多