ICA algorithm

本文深入探讨了独立成分分析(ICA)算法,重点介绍了如何通过最小化互信息来实现信号的无监督分离。通过对复杂数据集的分析,揭示ICA在信号处理和数据分析领域的应用潜力。
摘要由CSDN通过智能技术生成
ICA 即为 独立成分分析 类比于主成分分析PCA。

与PCA不同的是,他适用于非高斯性信号。典型应用背景为cocktail party effect。
ICA <wbr>algorithm
  相比于PCA,效果十分明显。
假设观测信号为Y(NxN),待提取信号为X,维度相同。Y=W*X;算法目标就是找到W逆,或是近似。一般实现基于两种思想,一是互信息最小,或是非高斯性最大。
  1. 互信息最小
互信息 I(X;Y)=H(X)-H(X|Y);而 H(X|Y)=H(X,Y)-H(Y)
算法流程:
1> 随机初始化W(0)
2> W(t+1)=W(t) + n(t)(I-f(Y)YT)W(t)
3> 不收敛,重复2
其中n为一般函数,确定W更新步长,f根据情况分,超高斯分布,f(Y)=Tanh(Y),亚高斯分布,f(Y)=Y-Tanh(Y)

2.非高斯性最大
既然假设服从非高斯分布,则需要指标衡量其非高斯性程度--负熵
N(X)=H(Xgaussian) - H(X)   ,由于计算比较困难,通常只能逼近。


代码:

%%%%%%%%%%%%%%%%%%%%%%%%%%   初始化   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc;clear all;close all;

%%%%%%%%%%%%%%   读入原始图像,混合,并输出混合图像   %%%%%%%%%%%%%%%%%%

% 读入混合前的原始图片并显示
t=0:1/100:9;
I1=sin(t); 
I2=randn(1,901);
I3=square(4*t);
subplot(4,3,1),plot(I1),title('输入信号1'),
subplot(4,3,2),plot(I2),title('输入信号2'),
subplot(4,3,3),plot(I3),title('输入信号3'),

% 将其组成矩阵
S=[I1;I2;I3];                           % 图片个数即为变量数,图片的像素数即为采样数
             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值