算法类别:无监督学习(补充:监督学习是指我们已知要划分的类别,并且能够获得一定数量的类别已知的训练样本,在此基础上对未知样本进行分类;无监督学习是指我们事先不知道要分的类别,也不知道类的数量,只是根据样本特征的相似性进行自动分类)。
样本特征:可以使用空间坐标、颜色、亮度等等(争对图像处理的情况)。
算法通俗讲解:K-means实际上就是先随机选定类的中心,再根据像素点与类的距离进行分类,之后固定已分好的类,计算每一个类的中心,多次迭代之后类的中心就会移至实际的中心。
1、算法的原始输入为一幅m*n的图像,对图像进行处理,用图像的坐标和灰度特征(举个例子)建立一个矩阵,矩阵大小为mn*3,每一行是对应像素点的x、y坐标和灰度值,因为有mn个像素点,所以一共有mn列。2、随机选取几个类的中心(数量人为设定),假设是3个,每个中心坐标为(Xi,Yi,Hi)。3、建立一个mn*1的矩阵c,用来存放对应的每个像素点的类别,值的范围为1-3。4、计算每一个像素点与3个类的中心的距离,距离最小的类作为该像素点所属的类别,并将类别的标号存入矩阵c中。5、在分好的类中计算每一类的中心(坐标求均值),用来更新类的坐标。6、重复4和5,直至类的坐标基本不变。
算法数学描述:设样本为
公式1对应上文步骤4,公式2对应上文的步骤5。
公式2中的1{c(i)=j}是指如果c(i)=j,则该表达式等于1。
3074

被折叠的 条评论
为什么被折叠?



