LinAlgError: SVD did not converge

LinAlgError: SVD did not converge

摘要

最近利用python实现混合高斯分布生成训练集和测试集,在一个求伪逆的代码部分出现SVD did not converge的报错。经过了长达六个多小时的debug, 包括在csdn上搜索SVD did not converge的解决办法等,问题仍然没有解决。最终我求助了我同实验室的同学,发现生成的样本会导致在部分中间运算中产生nan值。于是,我尝试使用单个高斯分布生成数据,果然这个报错消失了,代码顺利运行。然而,使用混合高斯分布生成的数据求逆时依然出现错误。最终,我使用了matlab来生成混合高斯分布数据(matlab有现成的混合高斯分布库可以调用)。

经验总结

python编程遇到难以解决的问题,可以从数据角度进行考虑,观察生成的数据是否有出现nan值等。

猜你喜欢

转载自blog.csdn.net/ChenglinBen/article/details/130828124
SVD