1.公式推导

1.1两个问题

ICA算法会带来2个不确定性:

        幅值不确定性和顺序不确定性。

1.2 推导

观测数据 x 是盲源 s 的线性混合:= As               (1)

        此时,W矩阵是未知的,ICA算法的目的便是找到一个最优的矩阵W,实现对矩阵S^的求解。如果直接采用线性代数的方法对(2)式进行求解,显然是不可行的。因此需要增加额外的条件让(2)式更容易求解。

        ICA算法通过假设Si 为两两相互独立的随机变量,由矩阵A变换后,成为两两非相互独立的随机变量Xi从而进行求解。这个条件也限制了Xi中最多只能有一个呈高斯分布的随机变量,否则,就不能满足Xi之间两两非相互独立的条件。 

上文解释:

        当独立的源信号 Si​ 被混合矩阵 A 线性组合后,得到的观测信号 Xi​ 会失去独立性,变成 “两两非相互独立”。ICA 的求解逻辑就是 “源信号 Si​ 独立 → 混合后 Xi​ 非独立”,进行反向操作:

  1. 从观测信号 X(非独立)出发,假设它由 “独立源 S 混合” 而来;
  2. 通过算法寻找一个 “解混矩阵 W”(即你提到的 W 矩阵 ),使得 W⋅X 的结果尽可能接近 “独立的源信号 S”;
  3. 最终,当 W⋅X 恢复出 “两两独立” 的特性时,就认为找到了源信号 S 的近似解 S^。

 为什么限制 “最多一个高斯分布”?

        如果源信号 Si​ 中有两个或以上是高斯分布,混合后的观测信号 Xi​ 会因 “高斯分布的线性组合仍为高斯分布”,导致 Xi​ 之间的 “非独立性” 无法区分(数学上,多个独立高斯信号混合后,无法通过统计方法唯一解混 )。因此,ICA 要求源信号 Si​ 中最多一个是高斯分布,才能保证混合后的 Xi​ 有 “可解混” 的非独立性。        

限制一个高斯分布的证明过程

        已知高斯分布的概率密度函数是:

        假设混合信号x1,x2都满足高斯分布,其联合概率分布函数可以写成:

        根据概率论中对相互独立的定义,x1,x2相互独立,从而无法满足ICA算法中,混合信号xi之间两两非相互独立的要求。

继续证明:

        ICA 算法的目的是得到两两相互独立的Si​,因此需要对求解结果之间的独立性进行评结,评估的方式是对结果的非高斯性进行量化评估。

        根据 (3) 式,X由多独立成分混合成的,为了简化问题,假设这些独立成分有相同的分布。现在考虑其中一个独立成分的求解。

        此时,y 可以视为 Si​ 的线性组合。根据中心极限定理 (多个独立随机变量的线性组合/或均值,其分布会随着组合项数的增加,逐渐趋近于高斯分布),y 比任何一个 Si​ 都更加接近高斯分布。通过寻找一个 w,让 wT·x 的高斯性尽可能的低,从而让 y 接近某个 Si​,这是 ICA 算法的核心思路。最理想的情况是向量中只有一个非零值,此时,y 就等价于某个 s。

        对随机变量的非高斯性进行量化评价通常有以下几种方法,假设随机变量 y 的期望为 0,方差为 1。

1.3 评估随机变量的非高斯性(峰度)

假设随机变量的期望为0,方差为1

1.峰度
峰度定义为:

通过假设y的方差为 1,(8) 式可以简化为:

若y符合高斯分布,则峰度kurt(y)=0,对于大多数非高斯随机变量为非零值。

峰度有以下性质:对于两个独立的随机变量x1​,x2​,有:

假设有独立成分 s1​,s2​,有峰度 kurt(s1​),kurt(s2​),寻找其中的一个独立成分y:

根据(式7),且(独立成分的方差为1,期望为0,Si的平方的期望为1)

 

独立成分的方差为1,期望为0,即

 由 (12) 式得:

        通过让 (14) 式的值最大化,减小y的高斯性。最理想的情况下,z1​,z2​中一个为 0,一个非零。此时,非零的zi​等于 1 或 - 1,y等价于某个±si​。

        实际应用中,需要计算∣kurt(y)∣到最大值的梯度,从而迭代w的值,然而峰值并不是衡量高斯性的最好方法 。

1.4 评估随机变量的非高斯性(负熵)

负熵定义:

其中,Ygaussian​ 是与 y 有相同协方差矩阵的随机变量。

        负熵总是非负的,当 y 是高斯分布时,负熵为 0。这是对高斯性的最佳衡量方式,缺点是计算复杂,因此可以使用一些近似的方法求负熵。  

1.4.1 高阶矩

假设y期望为0,方差为1,则:

1.4.2 最大熵近似原理 

假设y期望为0,方差为1,则:

其中,v为高斯变量,G为非二次函数,需自行定义。一些比较好的G如下所示:

1.5 最小化互信息

见文 ICA学习(1)的 6. 最小化多重信息的简化部分

总结:最下化互信息即最大化负熵。

2. ICA的预处理

2.1 中心化

        中心化是非常基础,也是很有必要的预处理过程。假设向量 x 的期望是 m,将向量 x 的所有元素减去 m,可以使向量 x 的均值变为 0。中心化可以表达为:

        E(x−E(x))=0                    (26)

2.2 白化处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90159.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90159.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/90159.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【愚公系列】《MIoT.VC》002-构建基本仿真工作站(布局一个基本工作站)

💎【行业认证权威头衔】 ✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家 ✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主 ✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域…

网络协议相关

OSI七层模型包含物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;TCP/IP四层模型将其简化为网络接口层、网络层、传输层和应用层;映射关系:例如OSI的物理层和数据链路层对应TCP/IP的网络接口层,主要处理MAC地址寻址和物理介质传输。协议模型对比两者的…

【CNN】LeNet网络架构

1.MLP多层感知机MLP(Multilayer Perceptron),也是人工神经网络(ANN,Artificial Neural Network),是一种全连接多层感知机(Multilayer Perceptron, MLP)是一种前馈神经网络…

VSCODE 禁用git 功能

第一步,打开设置第二步,搜 git:Enabled

Spring Boot05-热部署

一、Spring Boot 启动热部署Spring Boot 启动“热部署(Hot Deployment)”,可以让你在不重启项目的情况下快速看到代码变更的效果(特别是前后端调试阶段)。1-1、什么是热部署?热部署是指:修改 Ja…

网站域名备案和服务器有关系吗

域名备案的那些事儿域名备案,简单来说,就是把你的网站信息登记到相关管理部门那里。这就好比你开个小店,得去工商局登记一下,让人家知道你在干啥。根据我国相关规定,凡是使用大陆境内服务器提供服务的网站,…

2025华为ODB卷-推荐多样性200分-三语言题解

📌 华为OD机试真题精选 2025B卷合集 推荐多样性200分 问题描述 A先生正在设计一个推荐系统,需要考虑多样性,要求从多个列表中选择元素。系统一次性需要返回 N N N 屏数据(窗口数量),每屏展示 K K

ZeroMQ源码深度剖析:网络机制与性能优化实战

目录1 发布订阅过滤的高效实现2 ZeroMQ的核心优势3 常见Socket类型及应用4 异步连接实现机制5 断线重连机制6 高水位线(HWM)深度解析7 消息丢失与错误处理8 消息帧(Frame)高级特性9 高效性实现原理10 无锁消息队列设计11 零拷贝实…

[数据库]Neo4j图数据库搭建快速入门

[数据库]图数据库基础入门 概念 图数据库是一种使用图结构(节点、边和属性)进行数据存储和查询的数据库管理系统。与传统的关系型数据库不同,图数据库专注于实体之间的关系,特别适合处理高度互联的数据。常见的图数据库包括&#…

本地数据库有数据,web页面无信息显示,可能是pymysql的版本问题【pymysql连接本地数据库新旧版本的区别】

pymysql连接本地数据库新旧版本的区别新版本老版本python web下的settings文件 新版本 的pymysql 连接本地数据库: mysql_conn pymysql.connect(hostself.conn_infos["HOST"],userself.conn_infos["USER"],passwordself.conn_infos["PAS…

【Linux-云原生-笔记】Haproxy相关

一、概念HAProxy(High Availability Proxy)是一款开源的高性能 TCP/HTTP 负载均衡器 和 反向代理 软件,被广泛应用于构建高可用、高并发的现代网络架构。核心功能:负载均衡(Load Balancing)支持四层&#x…

智慧能源合同解决方案

01 能源行业合同管理核心痛点 1)长期风险沉淀与动态环境失配:合同稳定性的根本矛盾 超长周期下的风险累积:20~30年的购售电协议(PPA)、EPC合同需覆盖技术迭代(如光伏组件衰减率)、政策转向&am…

MeterSphere平台,接口自动化脚本编写常用操作

文章目录1. 前置准备2. 项目环境设置3. 创建接口3.1 创建接口API3.2 测试接口API3.3 设置接口case4. 场景接口自动化4.1 创建自动化场景4.2 场景化操作说明4.2.1 设置脚本场景变量4.2.2 接口列表导入4.2.3 场景导入4.2.4 自定义请求4.2.5 事务控制器4.2.6 等待控制器4.2.7 循环…

C 语言介绍

C语言是由Dennis Ritchie开发的,用于创建与硬件设备(例如驱动程序,内核等)直接交互的系统应用程序。C编程被认为是其他编程语言的基础,这就是为什么它被称为母语。C是一种功能强大的通用编程语言。它可以用于开发操作系…

AI产品经理面试宝典第48天:产品设计与用户体验优化策略

1. 用户体验分析与产品设计逻辑 1.1 问:如何通过用户反馈优化AI产品体验? 答: 建立反馈闭环机制:通过应用内评分、用户访谈、行为埋点三维度收集数据,例如某语音助手产品通过NLP分析用户纠错语句,发现"误唤醒"问题占比37%; 优先级排序模型:采用Kano模型量化…

基于springboot的在线教育系统(源码+论文)

一、开发环境 本在线教育系统主要采用以下技术栈进行开发: B/S结构:基于浏览器/服务器模式,便于用户通过互联网访问系统,无需安装客户端软件。Spring Boot框架:简化了新Spring应用的初始搭建及开发过程,提…

Ubuntu 系统上部署禅道

在 Ubuntu 系统上部署禅道可以按照以下步骤进行,以下是基于禅道开源版的部署流程: 1. 安装必要依赖 首先安装禅道运行所需的环境(以 Ubuntu 20.04/22.04 为例): bash # 更新系统包 sudo apt update && sudo…

【vue-8】Vue3 Options API 生命周期函数全面解析

在 Vue.js 开发中,理解组件的生命周期是构建健壮应用程序的关键。虽然 Vue3 引入了 Composition API,但 Options API 仍然是许多开发者的首选,特别是对于从 Vue2 迁移的项目或更喜欢基于选项的代码组织的团队。本文将深入探讨 Vue3 中 Option…

周志华《机器学习导论》第8章 集成学习 Ensemble Learning

目录 8.1 个体与集成 8.2 Boosting Ada(Adaptive)Boost 8.3 Bagging 8.4 随机森林 8.5 结合策略 8.5.1 平均法 8.5.2 投票法 8.5.3 学习法 8.6 多样性 8.6.1 误差-分歧分解 error-ambiguity 8.6.2 多样性度量 8.6.3 多样性增强 8.1 个体与集…

Embassy实战:Rust嵌入式异步开发指南

嵌入式异步框架 Embassy 实例 以下是关于嵌入式异步框架 Embassy 的实用示例,涵盖常见外设操作、多任务协作和硬件交互场景。示例基于STM32和Raspberry Pi Pico等平台,使用Rust语言编写。 GPIO 控制 use embassy_stm32::gpio::{Input, Output, Pull, Speed}; use embassy_…