英文:
Is it possible to keep the best of both worlds of the k-mean and k-medoid methods?
问题
我需要组成团队(簇),以尽量减小同一团队成员之间的位置距离。因此,我可以使用k均值
方法。
问题变得复杂的地方在于,团队由两种不同的个体组成:团队领导和员工,每个团队一个团队领导,不多也不少。
k均值
方法似乎不适合解决手头的问题,因为它不能确保每个团队都有一个团队领导。
我想我们可以使用k中心点
方法,其中每个团队领导是一个中心点。然后,每个团队将有一个团队领导。问题在于,从表面上看,这种方法可以最小化团队领导与员工之间的距离,但不能最小化同一团队所有成员之间的距离,就像k均值
方法那样。
我尝试使用k均值
方法,但它不能确保每个团队都有一个团队领导。使用k中心点
方法,每个团队有一个团队领导,但我不确定这种解决方案是否在内部团队距离(团队领导和员工合并在一起)方面是最优的。
因此,我的问题是:
- 我的直觉正确吗?
- 如果是的话,是否可能使用一种方法既最小化团队内部距离,又确保每个团队都有一个团队领导,从而获得
k均值
和k中心点
方法的最佳结合? - 如果存在这样的方法,它的名称是什么?
感谢您的帮助。
英文:
I need to form teams (clusters) of individuals in such a way as to minimize the distance between the locations of the individuals on the same team. I could therefore use the k-mean
method.
Where it gets complicated is that the teams are made up of two kinds of individuals: team leaders and employees, with one team leader per team, no more and no less.
The k-mean
method doesn't seem to me to be suited to the problem at hand, since it doesn't allow us to ensure that there is 1 team leader per team.
I thought we could use the k-medoids
method, with each team leader being a medoid. There would then be one team leader per team. The problem is that, a priori, this method minimizes the distance between the team leader and his employees, but not the distance between all the members of the same team, as is the case with the k-mean
method.
I tried to use the k-mean
method, but it didn't allow me to have one team leader per team. With the k-medoid
method, there is one team leader per team, but I'm not sure that the solution is optimal in the sense that the intra-group distance (team leader and employees combined) is minimised.
Hence my questions :
- Are my intuitions correct?
- If so, is it possible to have the "best of both worlds" of the k-mean and k-medoid methods with a method that both minimizes intra-team distance and ensures that there is one team leader per team?
- If it exists, what is the name of this algorithm?
Thanks for your help.
答案1
得分: 1
使用k-medoids
在这种情况下似乎是合适的。选择团队领袖作为初始中心点是正确的。通过算法迭代允许这些初始中心点移动以找到所有团队成员之间的最佳距离。
可能会出现一种情况,最佳解决方案会将一个中心点移动得太远,以至于一个组不再有团队成员。您可能需要修改算法来检查这种情况并防止其发生。
英文:
Using k-medoids
seems appropriate in this use case. Selecting the team leaders as the initial medoids is correct. Iterating through the algorithm allows those initial medoids to move around to find the optimum distance between all team members.
There could be a case where the optimum solution would move a medoid so much that a group would no longer have a team member in it. You'd have to modify the algorithm to check for that condition possibly and prevent it.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论