常用的欧氏距离kmeans方法的问题:
1. 为什么常见的kmeans方法效果较差?
k-均值算法收敛但聚类效果较差的原因是,k-均值算法收敛到了局部最小值,而非全局最小值(局部最小值指结果还可以但并非最好结果,全局最小值是可能的最好结果)。
2.如何改进kmeans算法?
一种用于度量聚类效果的指标是SSE(Sum of Squared Error,误差平方和)。SSE值越小表示数据点越接近于它们的质心,聚类效果也越好。因为对误差取了平方,因此更加重视那些远离中心的点。一种肯定可以降低SSE的方法是增加簇的个数,但这违背了聚类的目标。聚类的目标是在保持簇数目不变的情况下提高簇的质量。
1. 如何提升簇的质量?
一种方法是将具有最大SSE值的簇划分成两个簇。具体实现时可以将最大簇包含的点过滤出来并在这些点上运行k-means方法,其中k设为2.为了保持簇总数保持不变,可以将某两个簇进行合并。但是,很容易对二维数据上的聚类进行可视化,但是如果遇到40维的数据应该如何去做?
有两种可以量化的方法:合并最近的质心,或者合并两个使SSE增幅最小的质心。第一种思路通过计算所有质心之间的距离,然后合并距离最近的两个点来实现。第二种方法需要合并两个簇然后计算总SSE值。必须在所有可能的两个簇上重复上述过程,直到找到合并最佳的两个簇为止。
明日处理:
1. categorical data和k-means稳定性问题(暂缓,吃饭中间时间做这个事情吧,不能再耽误时间了)
2. 看论文,我觉得明天还是先把k-means改进先实现了,然后categorical data可以回头看
3. Unsupervised learning这个方面分类的文章?暂且可以听一下劝告,去看下
今日收获:
1. 貌似倒库有点心得了
2. 学会游泳了,使劲呱唧呱唧
3. 思路问题被否定了,不过感觉很有成就感的事情就是我曾经用自己的思路说服了老师一下,不过这到底是一种什么样的思维方式呢?我到底应该怎么训练出来?A+B的方法不是创新,要想到什么是真正的创新,对A和B进行修改才是。大部分文章都是从新提出应用场景来的,我想这还是读文章太少造成的。其实不用担心也不用在乎别人是不是发了论文,要一篇高质量的文章才是最重要的,也许刚开始要求高才是真真正正的为自己好,不过也不用苛求自己为什么不是刚上来就能写文章的那种,毕竟我不是天才。冰冻三尺非一日之寒,这才第一次,第一千次跌倒第一千零一次还勇敢地站起来,这才是我,有韧性,敢坚持。踏踏实实做事,开开心心做人,与有思想人共事,从无字句处读书。