我在阅读《用户参与众包创新的机会主义行为识别研究》这篇论文,对结合使用PCA和BP神经网络很有兴趣,搜到了一篇知乎文章:《基于PCA降维和BP神经网络的人脸识别》,但是我没有看明白:
1,首先,这篇文章似乎程序写错了,求出来特征向量以后,构成一个转换矩阵,其实应该与原样本数据矩阵相乘,做到降维的作用,不应该与协方差矩阵相乘。协方差矩阵的特征值其实就是原矩阵的奇异值
2,其次,从PCA到BP,没有看到代码是怎样衔接的

不知道这篇论文是否详细给出了程序代码?


举报 使用道具
| 回复

共 7 个关于本帖的回复 最后回复于 2021-10-2 10:58

沙发
Fuller 管理员 发表于 2021-9-28 16:58:14 | 只看该作者
虽然没有看那篇论文的全文,我猜测就是用PCA对原数据做降维处理,然后交给BP神经网络做训练
举报 使用道具
板凳
gz51837844 管理员 发表于 2021-9-28 17:28:41 | 只看该作者
原文中一段描述PCA-BP算法的:
考虑到构建的识别体系包含多个维度指标,各指标变量之间可能存在一定相关性,且输入层过多易造成神经网络学习效率低、收敛速度慢等问题。因此,采用主成分分析法(
PrincipalComponentAnalysis,PCA)对指标数据进行处理,降低输入数据维数,同时又保留原数据的大部分信息,进而简化神经网络结构,提高收敛速度。
。。。。。。
从简化神经网络结构入手,将主成分分析法与BP神经网络相结合,构建基于PCA-BP神经网络的用户机会主义行为识别模型。首先,利用PCA对输入指标进行降维。其次,计算各指标得分,并按10∶2的比例将样本划分为训练集和测试集,用于BP神经网络的训练和测试。最后,将综合指标的训练集输入BP神经网络进行训练,待训练完毕后,将测试集输入模型中进行测试,以验证模型的识别准确性。

举报 使用道具
地板
Fuller 管理员 发表于 2021-9-29 18:28:30 | 只看该作者
我看了原文,我很糊涂,这个分析目标适合用PCA?我觉得很可疑。

所以,论文用了KMO检验(Kaiser-Meyer-dkin)统计量检验,看起来数据很有说服力,但是直观上看,这些测量样本不可能是相关的啊。适应的情况应该是这样的:测量某个对象,这个对象有3个特征,比如,空间中的x,y,z坐标,做了100次测量,这就产生了100个样本,因为各种原因,每个样本都有些误差,但是,大差不差,比如,符合正态分布,那么KMO检验看起来很好

为什么不直接使用KNN分类呢?先手工标注一些训练样本,然后生成KNN分类模型,多直接,而且也说得通。参看《Jupyter Notebook使用Python做K近邻(KNN)算法实验
举报 使用道具
5#
发誓学好内容分析 金牌会员 发表于 2021-9-30 17:21:26 | 只看该作者
我查了一些资料,终于知道PCA是什么原理了,但是还不知道怎样做BP神经网络的训练。

这个论文范文研究了256个样本,每个样本有11个指标。写成矩阵的话,假设一个样本放一行,那么就是一个256 X 11 矩阵,其实写成行矩阵还是列矩阵都可以,因为接下来要求协方差矩阵,结果都一样。

协方差矩阵怎样求我就不说了,求出来的结果是一个 11 X 11的对称矩阵,求这个对称矩阵的特征值,每个特征值对应一个特征向量,对称矩阵的特征向量都是正交的,所以可以把特征向量标准化成长度为1的向量,就可以把他们看成坐标系。

这个论文选出来最大的4个特征值,对应的4个标准特征向量组成了一个 11 X 4矩阵,前面假设我们将样本数据横着放,就是 256 X 11矩阵,把样本数据矩阵跟选出来的标准特征向量矩阵相乘,得到了一个 256 X 4 的矩阵,也就是说,样本数据的指标减少了,变成4个主要指标了,这就是降维了。

4个标准特征向量就像坐标系的4个坐标轴,也就是说这是一个4维的空间,样本数据矩阵跟标准特征向量相乘,就是向坐标轴上投影,也就是坐标轴上的坐标。所以,总体可以看成一个11维的点投影到了一个4维的空间中。

怎样用11 X 4 矩阵训练BP神经网络,我还没有搞明白。

举报 使用道具
6#
Fuller 管理员 发表于 2021-9-30 17:22:10 | 只看该作者
发誓学好内容分析 发表于 2021-9-30 17:21
我查了一些资料,终于知道PCA是什么原理了,但是还不知道怎样做BP神经网络的训练。

这个论文范文研究了256 ...

同学很棒!
举报 使用道具
7#
Fuller 管理员 发表于 2021-10-2 10:45:14 | 只看该作者
gz51837844 发表于 2021-9-28 17:28
原文中一段描述PCA-BP算法的:
考虑到构建的识别体系包含多个维度指标,各指标变量之间可能存在一定相关性 ...

昨天查了一些KMO的资料,看来我还要进一步补《统计学》的课,根据我目前的理解:一个样本包括多个指标,那么KMO检查这些指标中是否有两个或者多个指标描述同一个特性的,如果指标中含有这样的描述同一个特性的指标,那么所选择的指标就不好,就会对计算结果有不好的影响。
举报 使用道具
8#
Fuller 管理员 发表于 2021-10-2 10:58:14 | 只看该作者
单讨论PCA,目前我的理解是这样的:

首先,求每个指标的平均值,那么把每个样本中的每个指标与平均值相减,相当于把所有样本都做了平移,将平均值作为坐标原点

然后,用平移了的样本求协方差矩阵,矩阵上每个元素代表了两个样本之间的相似程度

接着,对这个协方差矩阵求特征值,把最大特征值进行排列,因为是对称矩阵,每个特征值对应一个特征向量,而且是正交的,那么这个协方差矩阵就可以做谱分析,其实每个特征向量就代表了一个强度最大的方向。大小排序后,取前几个特征值就行了
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 话题分析(NMF模型和LDA模型)软件的安装和
  • 运行Apple无法验证的程序的方法
  • 文本聚类分析软件的安装和使用方法
  • 利用AI阅读和分析文本:扣子COZE记录用户反
  • 在网页片段内直观标注——以B站评论采集为

热门用户

GMT+8, 2025-2-6 06:57