机器学习处理信号分离_【火炉炼AI】机器学习054-用ICA做盲源分离

本文介绍了盲源分离的概念,并通过独立成分分析(ICA)与PCA对比,展示了ICA在处理非高斯分布数据集的盲源分离问题上的优势,通过实例分析了ICA能更有效地分离信号。
摘要由CSDN通过智能技术生成

【火炉炼AI】机器学习054-用ICA做盲源分离

(本文所使用的Python库和版本号: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 )

盲源分离是指在信号的理论模型和源信号无法精确获知的情况下,如何从混叠信号中分离出各源信号的过程。盲源分离的目的是求得源信号的最佳估计。说的通俗一点,就相当于,假如有十个人同时说话,我用录音机把他们说的话都录下来,得到的肯定是10种声音的混杂,那么怎么将这种混杂声音分离成单个人的说话声音?解决类似这种问题就是盲源分离。

独立成分分析(Independent Components Analysis, ICA)解决的是原始数据分解的问题,常常用于盲源分离问题中。在我上一篇文章A中提到PCA虽然具有各种优点,但是也有几个缺点,比如不能对非线性组织的数据集降维,针对这个缺点解决方法是用核PCA代替PCA,另外一个缺点是不能用于解决数据集不满足高斯分布的情况,这种情况的数据降维要用独立成分分析ICA来完成。

独立成分分析师从多维统计数据中寻找潜在因子或成分的一种方法,ICA与PCA等降维方法的区别在于,它寻找满足统计独立和非高斯的成分。

1. 加载数据集

首先加载数据集,本次所用的数据集位于文件mixture_of_signals.txt中,这个文件中有四列数据,代表四个不同的信号源,共2000个样本data_path="E:\PyProjects\DataSet\FireAI\mixture_of_signals.txt"df=pd.read_csv(data_path,header=None,sep=' ')

print(df.info()) # 查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值