首页 > 编程知识 正文

python音频聚类,模糊聚类分析matlab源代码

时间:2023-05-04 23:51:17 阅读:152184 作者:110

我尝试使用scikit-learn提供的光谱聚类方法来聚合我的数据集行(仅16000 )。

我的问题是在预计算亲和矩阵(1600x16000浮点矩阵)后出现的,它或多或少分配了3gb。 我最多可以达到8gb。 如果用argpack解算器调用矩阵,则此方法需要更多的内存,而且cpu在尝试更换内存中的东西时会浪费太多时间,导致计算速度减慢而死亡。

我也在方法之前尝试调用了垃圾收集器,但没有成功: import gc

gc.collect () )。

怎样才能知道发生了什么事的确切计划?

这是已知的问题吗? 有其他可以在python上立即执行光谱聚类的方法吗? 在

如果需要,可以公开最小的工作例子。 在

更新

关于lobbcg解算器,我错了。 最初似乎占用了所有内存,但后来稳定在5Gb左右,过程继续,但出现了其他问题。

计算会产生一些数值误差,最终似乎会产生NaN等误差。 亲和矩阵稍有变化,产生的误差就会发生变化。 请参阅以下内容。

^{pr2}$

我的亲和力测量是振动的标杆exp(-) ((x_1-x_2) ^2/2*sigma^2) ) ),如果尝试不同的sigma值,结果会有很大变化。 可以理解,如果几个条目接近零,可能会出现一些不准确的情况,但如果使用较大的sigma值=5.0 ),情况会有所不同,而是接近1.0。 在

现在,我假设我稍微忽略了一点,或者在这个过程中做了什么错误的事情,用新的目标更新这个问题。 在

作为参考,我是如何计算亲和矩阵的: pairwise_dists=

scipy.spatial.distance.square form (

scipy.spatial.distance.PD ist (data _ slice,' sqeuclidean ' ) )

similarity _ matrix=scipy.exp (-pairwise _ dists/(2* self._ sigm a* *2) )

其中data_slice是numpy数组,该行是我的实例,self._sigma是存储振动的基准参数。 在

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。