gpt4 book ai didi

algorithm - 了解 FastICA 实现

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:24 27 4
gpt4 key购买 nike

我正在尝试为图像的盲信号分离实现 FastICA(独立分量分析),但首先我想看看 Github 上的一些产生良好结果的示例。我正在尝试从 Wikipedia's FastICA 上的算法步骤比较主循环我很难看出它们实际上是一样的。

它们看起来很相似,但有一些我不明白的区别。看起来这个实现类似于(或相同)来自 Wiki 的“多组件提取”版本。

谁能帮我理解在与非线性函数及其一阶和二阶导数以及更新权重向量的第一行有关的四行左右的代码中发生了什么?非常感谢任何帮助!

下面是更改变量以更贴近 Wiki 的实现:

% X is sized (NxM, 3x50K) mixed image data matrix (one row for each mixed image) 

C=3; % number of components to separate

W=zeros(numofIC,VariableNum); % weights matrix

for p=1:C

% initialize random weight vector of length N
wp = rand(C,1);
wp = wp / norm(wp);

% like do:
i = 1;
maxIterations = 100;
while i <= maxIterations+1

% until mat iterations
if i == maxIterations
fprintf('No convergence: ', p,maxIterations);
break;
end

wp_old = wp;

% this is the main part of the algorithm and where
% I'm confused about the particular implementation

u = 1;
t = X'*b;
g = t.^3;
dg = 3*t.^2;
wp = ((1-u)*t'*g*wp+u*X*g)/M-mean(dg)*wp;

% 2nd and 3rd wp update steps make sense to me
wp = wp-W*W'*wp;
wp = wp / norm(wp);

% or until w_p converges
if abs(abs(b'*bOld)-1)<1e-10
W(:,p)=b;
break;
end

i=i+1;
end
end

以及用于快速引用的 Wiki 算法:

enter image description here

最佳答案

首先,我不明白为什么始终为零的项保留在代码中:

wp = ((1-u)*t'*g*wp+u*X*g)/M-mean(dg)*wp;

以上可以简化为:

wp = X*g/M-mean(dg)*wp;

同时删除 u,因为它始终为 1。

其次,我认为下面一行是错误的:

t = X'*b;

正确的表达方式是:

t = X'*wp;

现在让我们逐一检查每个变量。让我们引用

w = E{Xg(wTX)T} - E{g'(wTX)}w

作为迭代方程。

  • X 是您的输入数据,即迭代方程中的 X

  • wp是权重向量,即迭代方程中的w。它的初始值是随机的。

  • g 是非二次非线性函数的一阶导数,即 g(wT X)在迭代方程中

  • dgg 的一阶导数,即 g'(w迭代方程中的TX)

  • M 虽然你提供的代码中没有显示它的定义,但我觉得应该是X的大小。

    <

了解所有变量的含义后,我们现在可以尝试理解代码。

    t = X'*b; 

上面一行计算了wTX

    g = t.^3; 

上面这行计算 g(wTX) = (wTX)3。请注意,g(u) 可以是任何等式,只要 f(u) 即可,其中 g(u) = df(u)/du, 是非线性和非二次的。

    dg = 3*t.^2; 

上面一行计算了g的导数。

    wp = X*g/M-mean(dg)*wp;

Xg 显然计算Xg(wTX)。 Xg/M计算Xg的平均值,相当于E{Xg(wTX)T}.

mean(dg)E{g'(wT X)} 并在等式中乘以 wpw

现在您已拥有牛顿-拉夫森法所需的一切。

关于algorithm - 了解 FastICA 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43421250/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com