K-均值聚类分析是一种硬划分,它把每一个待识别的对象严格的划分到某一类中,具有非此即彼的性质。而实际上高光谱值目标在形态和类属方面存在着中介性,没有确定的边界来区分。因此需要考虑各个像元属于各个类别的隶属度问题,进行软划分,从而更好的区分。
设要进行聚类分析的图像像元数N,图像像元集合,其中,p为波段数。设把图像分为C个类别,每个类别的聚类中心,聚类中心集合。用表示像元隶属于以为中心的类别i的隶属度,定义隶属度矩阵U为。
矩阵U中每一列的元素表示所对应的像元隶属于C个类别中各个类的隶属度。满足一下约束条件:
对隶属度进行了迷糊化,可取0和1之间的任意实数,这样一个像元可以同时隶属于不同的类别,但其隶属度的总和总是等于1,这符合高光谱像元的实际情况。而属于硬聚类的K-均值聚类,其隶属度具有非此即彼的性质,隶属度只能取0或1。
定义目标函数J为
为Euclidean距离;为模糊加权指数(当m=1时,同K-均值的目标函数一致)。最优化的类就是使目标函数取最小值的类,如果一类中的所有点都贴近于它们的类中心,则目标函数很小。
FCM算法步骤:
确定聚类数C,加权指数m,终止误差,最大迭代次数LOOP。
初始化隶属度矩阵
开始循环,当迭代次数为IT(IT=0,1,2…,C)时,根据计算C-均值向量,即
对k=1,2,…,N,按以下公式更新为:
若对所有的(i=1,2,…,C)满足,则对此计算
若对某一个,有满足,则对应此,令。这样把聚类中心与样本一致的情形去掉,把隶属度模糊化为0和1之间的实数。
若或IT>LOOP,停止;否则置IT=IT+1,并返回第三步。
FCM算法允许自由选取聚类个数,每一向量按其指定的隶属度聚类到每一聚类中心。FCM算法是通过最小化目标函数来实现数据聚类的。
确定聚类数C,加权指数m,
确定聚类数C,加权指数m,
终止误差,最大迭代次数LOOP
初始化隶属度矩阵
根据计算C-均值向量:
更新为:
对所有的(i=1,2,…,C)满足
对应此,令这样把聚类中心与样本一致的情形去掉。
或IT>LOOP
YES
END
NO
YES
NO
欧氏距离是p维波段亮度差异的总的贡献,但是欧氏距离具有多解性,例如“多维球面”上所有光谱向量Y与光谱向量x的距离均相等。
马氏距离比较欧式距离,欧式距离可检测特征空间中超球体结构的数据子集,而马氏距离可检测特征空间中超椭球体结构的数据子集。虽然马氏距离比欧式距离更能反映光谱曲线的差异,但它仍具有多解性。
为标准协方差矩阵C的逆矩阵,当时,马氏距离就变成了欧式距离。
光谱角SAM:
类似于求两向量之间的夹角,两个光谱之间相似性度量并不受增益因素影响,因为两个光谱向量之间的角度不受向量本身长度的影响。这一点在光谱分类上可以减弱目标对照度的影响(它的影响反映在同一方向直线的不同位置上)。