两个概念:CCA和LDA
典型相关性分析(CCA)
https://blog.csdn.net/Mbx8X9u/article/details/78824216
典型关联分析(Canonical Correlation Analysis,简称CCA)是最常用的挖掘数据关联关系的算法之一。比如我们拿到两组数据,第一组是人身高和体重的数据,第二组是对应的跑步能力和跳远能力的数据。那么我们能不能说这两组数据是相关的呢?CCA可以帮助我们分析这个问题。
虽然相关系数可以很好的帮我们分析一维数据的相关性,但是对于高维数据就不能直接使用了。如上所述,如果X是包括人身高和体重两个维度的数据,而Y是包括跑步能力和跳远能力两个维度的数据,就不能直接使用相关系数的方法。那我们能不能变通一下呢?CCA给了我们变通的方法。
CCA使用的方法是将多维的X和Y都用线性变换为1维的X'和Y',然后再使用相关系数来看X'和Y'的相关性。将数据从多维变到1位,也可以理解为CCA是在进行降维,将高维数据降到1维,然后再用相关系数进行相关性的分析。
CCA算法思想 上面提到CCA是将高维的两组数据分别降维到1维,然后用相关系数分析相关性。但是有一个问题是,降维的标准是如何选择的呢?回想下主成分分析PCA,降维的原则是投影方差最大;再回想下线性判别分析LDA,降维的原则是同类的投影方差小,异类间的投影方差大。对于我们的CCA,它选择的投影标准是降维到1维后,两组数据的相关系数最大。
CCA算法广泛的应用于数据相关度的分析,同时还是偏最小二乘法的基础。但是由于它依赖于数据的线性表示,当我们的数据无法线性表示时,CCA就无法使用,此时我们可以利用核函数的思想,将数据映射到高维后,再利用CCA的思想降维到1维,求对应的相关系数和线性关系,这个算法一般称为KCCA。此外,在算法里只找了相关度最大的奇异值或者特征值,作为数据的相关系数,实际上我们也可以像PCA一样找出第二大奇异值,第三大奇异值,。。。得到第二相关系数和第三相关系数。然后对数据做进一步的相关性分析。但是一般的应用来说,找出第一相关系数就可以了。
隐含狄利克雷分布(Latent Dirichlet Allocation,以下简称LDA)
https://www.baidu.com/link?url=1bFLTNdjXHi0VUV_Iw3dghDpELexDqA0cv1VVA6K5S8-m5oNjl8UQ09rUPTNxENmdoMN-CLkVs2B1Ll3_EcJaq&wd=&eqid=ab4c6aee0030f66e000000035d6d1a52
LDA是一种典型的词袋模型,即它认为一篇文档是由一组词构成的一个集合,词与词之间没有顺序以及先后的关系。一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成。 它是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出; 同时是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可; 此外LDA的另一个优点则是,对于每一个主题均可找出一些词语来描述它; LDA可以被认为是一种聚类算法:
https://www.cnblogs.com/pinard/p/6831308.html
- LDA贝叶斯模型
LDA是基于贝叶斯模型的,涉及到贝叶斯模型离不开“先验分布”,“数据(似然)”和"后验分布"三块。在朴素贝叶斯算法原理小结中我们也已经讲到了这套贝叶斯理论。在贝叶斯学派这里: 先验分布 + 数据(似然)= 后验分布
这点其实很好理解,因为这符合我们人的思维方式,比如你对好人和坏人的认知,先验分布为:100个好人和100个的坏人,即你认为好人坏人各占一半,现在你被2个好人(数据)帮助了和1个坏人骗了,于是你得到了新的后验分布为:102个好人和101个的坏人。现在你的后验分布里面认为好人比坏人多了。这个后验分布接着又变成你的新的先验分布,当你被1个好人(数据)帮助了和3个坏人(数据)骗了后,你又更新了你的后验分布为:103个好人和104个的坏人。依次继续更新下去。
两个概念:CCA和LDA的更多相关文章
- The "get" method should be used when the form is idempotent---正交的两个概念---
https://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.1 17.13.1 Form submission method The me ...
- 前端路由、后端路由——想要学好vue-router 或者 node.js 必须得明白的两个概念
前端路由和后端路由的概念讲解 引言 正文 一.路由的概念 二.后端路由 三.前端路由 四.其他知识 结束语 引言 无论你是正在学习vue 还是在学习node, 你一定会碰到前端路由和后端路由这两个概念 ...
- 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 百篇博客分析OpenHarmony源码 | v25.01
百篇博客系列篇.本篇为: v25.xx 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...
- Vue2.0 中,“渐进式框架”和“自底向上增量开发的设计”这两个概念是什么?(转)
https://www.zhihu.com/question/51907207?rf=55052497 徐飞 在我看来,渐进式代表的含义是:主张最少. 每个框架都不可避免会有自己的一些特点,从而会对使 ...
- “会”和 "好”纯粹是两个概念
你会吗? 如果我现在问下大家你会OOP 吗?你会OOD吗? 你知道SOLID吗?你会在实际工作中运用这些原则吗? 你知道模式吗,你会在实际项目中适时引入合理的设计模式来解决项目中的代码坏味吗? 你知道 ...
- java is-a、has-a和like-a、组合、聚合和继承 两组概念的区别
is a 代表的是类之间的继承关系,比如PC机是计算机,工作站也是计算机.PC机和工作站是两种不同类型的计算机,但都继承了计算机的共同特性.因此在用 Java语言实现时,应该将PC机和工作站定义成两种 ...
- 如何理解andriod中的View和framelayout两个概念
View 和 FrameLayout 是包含关系,FrameLayout 继承自ViewGroup,然后继承自View. FrameLayout是一种 ViewGroup,可以在里面放其它的View, ...
- Oracle User Calls 和 Executions 两个概念的区别
User calls = (User session Login + Parsing within a session + Executions of sql's/Cursors ) per seco ...
- The "get" method should be used when the form is idempotent---正交的两个概念 get 幂等
https://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.1 17.13.1 Form submission method The me ...
随机推荐
- openlayers上添加点击事件
有很多场景会有这个需求,就是我绘制了图标,点击图标需要展示一些对应的信息 openlayer的事件主要是通过监听来完成的,你所有的icon的点击事件都是可以通过监听map的点击事件来处理对应的逻辑的 ...
- 8.5 NOIP模拟测试13 矩阵游戏+跳房子+优美序列
T1矩阵游戏 数学题.首先这一列这一行先乘还是后乘对最后答案没有影响.a[i][j]表示矩阵中原始的值,h[i]表示i行的累乘,l[i]表示i列的累乘.易得ans=Σa[i][j]*h[i]*l[i] ...
- Linux性能优化实战学习笔记:第四十八讲
一.上节回顾 上一节,我们一起学习了如何分析网络丢包的问题,特别是从链路层.网络层以及传输层等主要的协议栈中进行分析. 不过,通过前面这几层的分析,我们还是没有找出最终的性能瓶颈.看来,还是要继续深挖 ...
- 逗号表达式(c)
#include <stdio.h> #include <stdlib.h> int main(void) { ; ; printf(" %d\n ", a ...
- What programming language is best for a bioinformatics beginner?
probably Unix Shell scripts, Perl, or Python and R can be the best options. ---------- 1-python 2-R ...
- @Bean修饰的方法参数的注入方式
@Bean修饰的方法参数的注入方式: 方法参数默认注入方式为Autowired,即先根据类型匹配,若有多个在根据名称进行匹配. 1:复杂类型可以通过@Qualifier(value=“XXX”)限定; ...
- Failed to instantiate [org.elasticsearch.client.transport.TransportClient]
Springboot 集成 ElasticSearch,springboot报错如下: Error starting ApplicationContext. To display the auto-c ...
- TensorFlow的数据读取机制
一.tensorflow读取机制图解 首先需要思考的一个问题是,什么是数据读取?以图像数据为例,读取的过程可以用下图来表示 假设我们的硬盘中有一个图片数据集0001.jpg,0002.jpg,0003 ...
- aspect原理分析
人的记忆能力是有限的,分析.建模与解释能力是无限的 Call Hierarchy isa hook aspect_hookClass() aspect_prepareClassAndHookSelec ...
- eclipse中修改项目名
把项目名springboot-demo改成springboot-rabbitmq 第一步: 选中项目,点击F2,修改项目名第二步: 修改.project文件第三步: 修改.setting/org.ec ...