聚类分析是一种非监督技方法,用于识别多维数据空间中的相似样本。在遥感数据中,它主要用于像素分类。在水体分类过程中,由于水的反射率会因地区、大气条件和成分的不同而有很大差异,因此采用单一阈值或一套固定规则来区分水和陆地是不可行的,因此,需要一种算法来自动识别场景中的水体。
我们选将研究一种非监督聚类算法来识别与水体。在接下来的章节中,我将简要介绍 K-Means 和聚类算法。
遥感常用的聚类算法是 K-Means 算法,这种算法速度快,易于实现,也可以在软件包中找到,但是效果并不好。K-Means 算法的原理是,在给定所需的簇数来分割数据集的情况下,每个样本都属于最接近的簇中心点。然后,该算法通过反复将样本分配到簇,然后重新计算中心点,来寻找簇内方差(样本到簇中心点距离的方差)最小的中心点。K-Means 算法在收敛性方面存在一些问题,这取决于初始化中心点,但也有一些替代方法,如 Scikit-Learn 和其他软件包中实现的 k-means++,可以解决这个问题。
不过,K-Means 有一个固有的缺点。最终的解决方案是一个沃罗诺伊图,所有簇的大小相同,这很容易解释,因为最初的假设是所有样本都属于最近的簇中心点。因此,对于具有不同聚类大小的数据集,这可能会导致次优解。
考虑到我们的主要目标是将水像素与其他像素区分开来