斯坦福大学机器学习——因子分析(Factor analysis)

2023-12-10 10:58

本文主要是介绍斯坦福大学机器学习——因子分析(Factor analysis),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题的提出

EM算法求解高斯混合模型一文中,我们的样本集 ,而样本的数量m远大于样本的维度n,因此,可以轻易的构造出高斯混合模型。

现在,我们再看下不同的情况:假如,或,我们将很难构建一个普通高斯模型,更别提高斯混合模型。这m个的数据仅仅是 的子空间,如果我们用这m个数据建立高斯模型,并对利用极大似然,对期望和方差进行参数估计。可得:

我们将发现协方差为奇异矩阵,即:,这样的话也都不存在,而这两者是多元正态分布概率密度函数的必要参数。因子分析将解决上述问题:

二、对的约束

假如我们没有足够的数据去对参数进行估计,可以通过对加以限制来解决。例如:假设协方差矩阵为对角阵,那么,很容易通过极大似然估计求出其值:


这里表示矩阵第j行j列的元素值。

如果对其进行进一步的约束,不仅为对角阵,而且对角线上所有元素均相等,即,那么对其进行极大似然估计得:

如果需要通过极大似然估计,构造一个非奇异、无约束条件的协方差矩阵,需要满足。如果满足上面的两个约束条件,那么仅仅需要满足。但构造对角阵意味着数据集相互独立,没有关联。因此下文会从高斯分布的边缘分布和条件分布开始,引入因子分析模型,该模型使用更多的参数以描述数据间的关联,并且不需要构造一个非奇异的矩阵。

三、高斯分布的边缘分布和条件分布

假设有多维随机变量:


其中:

再令,并且:

其中:逆对角元素存相互对称 。

根据协方差的定义,我们可以得到:

随机变量的边际分布为;若在给定的前提下,的条件分布为,其中:


下面介绍因子分析模型时会用到上述性质。

四、因子分析模型(factor analysis model)

在因子分析模型中,我们首先假设一个联合分布,其中:为隐随机变量。并且有:


其中:,并且为对角阵,

上述假设可以解释为:每个点都是由k维正态随机变量生成。首先,通过由k维映射到n维,然后,再将协方差为的随机噪声加入。

其等价于:



其中,和z相互独立。

假如随机变量z和x的联合高斯分布可以写成如下形式:


我们将求出其期望和协方差

由于,因此,


那么:


由上文可知:

下面对其分别求解:



因此,随机变量z和x的联合高斯分布为:


随机变量x的边际分布为,因此,给定的训练集,我们就可以得出其对数的似然方程:


为了得到最大似然估计,需要对似然方程求最大值。然而,求解该方程的最大值极其困难,因此我们可以采用EM算法对极大似然函数进行求解。

五、EM算法求解因子分析

条件概率,根据第二三节的结论可以推出:



根据EM算法的定义可知,E-step为:

M-step需要最大化:

这里的下标是指以为随机变量,为密度函数的期望。

我们忽略与带估计参数无关的项,实际就是求下式的最大值:

下面我们分别求出待估参数:

(1) 
为求出上式关于的偏导,可将上式整理,去除与无关项,可得等价式:


上式第2行至第3行根据trAB=trBA, 第3行至第4行根据
令上式为0,可得:


解得:

根据对的定义,,因此可得:



将上述两式结果带入可得:

(2)
将M步的公式对求偏导,可得:

(3)


再令,即可得到的值。

六、总结

当样本由混合高斯模型得来,并且样本的数量m小于样本的维度n时,由于协方差矩阵为奇异的,因此无法直接通过极大似然进行参数估计。因子分析模型通过引入隐随机变量和随机噪声,构造样本与隐随机变量的联合分布,该联合分布的协方差矩阵为非奇异的。然后再利用EM算法进行参数估计,建立模型。

这篇关于斯坦福大学机器学习——因子分析(Factor analysis)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476911

相关文章

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

硬件基础知识——自学习梳理

计算机存储分为闪存和永久性存储。 硬盘(永久存储)主要分为机械磁盘和固态硬盘。 机械磁盘主要靠磁颗粒的正负极方向来存储0或1,且机械磁盘没有使用寿命。 固态硬盘就有使用寿命了,大概支持30w次的读写操作。 闪存使用的是电容进行存储,断电数据就没了。 器件之间传输bit数据在总线上是一个一个传输的,因为通过电压传输(电流不稳定),但是电压属于电势能,所以可以叠加互相干扰,这也就是硬盘,U盘

人工智能机器学习算法总结神经网络算法(前向及反向传播)

1.定义,意义和优缺点 定义: 神经网络算法是一种模仿人类大脑神经元之间连接方式的机器学习算法。通过多层神经元的组合和激活函数的非线性转换,神经网络能够学习数据的特征和模式,实现对复杂数据的建模和预测。(我们可以借助人类的神经元模型来更好的帮助我们理解该算法的本质,不过这里需要说明的是,虽然名字是神经网络,并且结构等等也是借鉴了神经网络,但其原型以及算法本质上还和生物层面的神经网络运行原理存在

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa