K-means
流程
k-means是聚类,即将n个点分为k类,步骤如下:
0,随机选择k个点作为类中心;
1,将每个点按欧氏距离(的平方)
选择一个最近的类中心,分配到这个类中;
2,将新得到的类的形心centroid
更新为类的新中心;
重复1、2。
注意:
- 形心的定义是所有点的均值
- 性质是距离的平方和最小
优化目标
k-means的优化目标是 MSE,即距离的平方和
,而不是距离和;
物流选址
问题
平面上n个点,现在要确定k个新的物流中心,每个点归属于一个物流中心,使得距离和
最小;
方法
聚类算法、蚁群、遗传算法可以求解。但是注意k-means并不非常适用物流选址问题的条件。
因为k-means的优化目标是距离的平方和
,而物流选址的优化目标是距离和
.
Geometric median
问题
给定n个点,在空间中找出一点,使得该点到其余n个点的距离和
最小。
方法
这个问题没有解析解,只能通过迭代的方式求解;
迭代公式如下,详见wiki。
\(\left.y_{{i+1}}=\left(\sum _{{j=1}}^{m}{\frac {x_{j}}{\|x_{j}-y_{i}\|}}\right)\right/\left(\sum _{{j=1}}^{m}{\frac {1}{\|x_{j}-y_{i}\|}}\right)\)
应用
由于物流选址问题的优化目标是距离和最小,所以我们可以在kmeans的步骤2中,将按均值求centroid替换为按迭代公式求median,应该更符合要求。
K-means的提出
Centroid-wiki
Geometric_median-wiki
来源:https://www.cnblogs.com/yuanquanxi/p/10241289.html