欠定盲源分离matlab代码_「火炉炼AI」机器学习054-用ICA做盲源分离

服装道具制作
⽋定盲源分离matlab代码_「⽕炉炼AI」机器学习054-⽤ICA做
盲源分离
【⽕炉炼AI】机器学习054-⽤ICA做盲源分离
【⽕炉炼AI】机器学习054-⽤ICA做盲源分离
(本⽂所使⽤的Python库和版本号: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 )
盲源分离是指在信号的理论模型和源信号⽆法精确获知的情况下,如何从混叠信号中分离出各源信号的过程。盲源分离的⽬的是求得源信号
的最佳估计。说的通俗⼀点,就相当于,假如有⼗个⼈同时说话,我⽤录⾳机把他们说的话都录下来,得到的肯定是10种声⾳的混杂,那
么怎么将这种混杂声⾳分离成单个⼈的说话声⾳?解决类似这种问题就是盲源分离。
独⽴成分分析(Independent Components Analysis, ICA)解决的是原始数据分解的问题,常常⽤于盲源分离问题中。在我上⼀篇⽂章【⽕
炉炼AI】机器学习053-数据降维绝招-PCA和核PCA中提到PCA虽然具有各种优点,但是也有⼏个缺点,⽐如不能对⾮线性组织的数据集
降维,针对这个缺点解决⽅法是⽤核PCA代替PCA,另外⼀个缺点是不能⽤于解决数据集不满⾜⾼斯分布的情况,这种情况的数据降维要
⽤独⽴成分分析ICA来完成。
独⽴成分分析师从多维统计数据中寻潜在因⼦或成分的⼀种⽅法,ICA与PCA等降维⽅法的区别在于,它寻满⾜统计独⽴和⾮⾼斯的成
分。其数学原理和逻辑可以参考博⽂:独⽴成分分析ICA系列2:概念、应⽤和估计原理
1. 加载数据集
⾸先加载数据集,本次所⽤的数据集位于⽂件mixture_中,这个⽂件中有四列数据,代表四个不同的信号源,共2000个样
data_path="E:PyProjectsDataSetFireAImixture_"ad_csv(data_path,header=None,sep=' ')print(df.info()) # 查看数据信息,确保没有错误print(d 绘图后,可以看出这些数据的分布情况:
高频发生器插销螺母2. ⽤传统PCA来分离信号
假如我们⽤PCA来进⾏盲源分离,可以看看效果怎么样,代码为:
电极丝# 如果⽤PCA来进⾏分离,看看结果如何from sklearn.decomposition import PCApca = PCA(n_components=4)pca_dataset_X = pca.fit_transform(dataset_X) pd.Da
上⾯虽然绘制了PCA分离之后的各种信号,但是信号夹杂在⼀起难以分辨,故⽽我编写了⼀个函数将其分开显⽰声音定位系统
def plot_dataset_X(dataset_X): rows,cols=dataset_X.shape plt.figure(figsize=(15,20)) for i in range(cols): plt.subplot(cols,1,i+1) plt.title('Signal_'+str(i)) plt.p
3. ⽤ICA来分离信号
下⾯看看⽤独⽴成分分析⽅法得到的分离后信号:
# 如果⽤ICA进⾏信号分离from sklearn.decomposition import FastICAica = FastICA(n_components=4)ica_dataset_X = ica.fit_transform(dataset_X)pd.DataFrame(
同理,为了显⽰⽅便,将各种信号单独画图,如下:
可以看出,经过ICA分离之后得到的信号⾮常有规律,⽽PCA分离后的信号有些杂乱,表⾯ICA的盲源分离效果较好。
>>>>####⼩**********结>>>>>>#
1,⽤ICA可以解决盲源分离问题,所得到的分离效果要⽐PCA要好得多。
2,实际上,⽣活中的真实数据集⼤部分都不是服从⾼斯分布,它们⼀般服从超⾼斯分布或亚⾼斯分布,故⽽很多问题⽤PCA得到的效果不太理想,返回⽤ICA能够得到⽐较好的结果。银行门
>>>>>>>>>>>>>
注:本部分代码已经全部上传到(我的github)上,欢迎下载。
参考资料:

本文发布于:2024-09-22 20:28:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/252027.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分离   信号   数据   得到   盲源   问题   成分   解决
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议