PCA原理

2023-05-16

PCA

各位,久违了~

什么是PCA?

什么是PCA呢?这是一个问题,什么样的问题?简单而又复杂的问题,简单是因为百度一下就会出现一大堆的解释,复杂是因为它里面蕴含的内容还是很多的,值得我们仔细研究研究。

PCA 取自其英文的三个单词的首字母:Principle component analysis。中文名字:主成分分析。恐怕大家很早就知道PCA是个什么东东,并且还用过matlab、python、C++等语言的各类机器学习算法包中的PCA函数进行数据处理。即便是没有自己写过这个PCA的程序可能也看过好多博客告诉我们:首先预处理数据,然后计算矩阵X的协防差阵。然后计算协防差阵的特征值和特征向量,最后根据特征值和特征向量建立一个映射矩阵…吧喇叭啦,一大堆的东西。然后感觉用编程实现这个过程应该也不是很难吧,然后就觉得自己会了PCA了,哈哈。

坦白说,上面是我的经历,并不是别人的经历,所以很惭愧,这个经历并不是很好,说实话,经过上面的经历我其实还是不知道什么是主成分分析,PCA对我来讲只是一个名字而已。但是为什么今天要写这篇文章呢?这是有原因的,因为之前看视频的时候发现视频中老师在讲PCA,重要的是老师不单单讲计算过程,而且讲了其中的原理。遗憾的是当时没听懂,也可能是当时睡着了,管他呢。最近写东西的时候遇到了和这个PCA相关的AutoEncoder,和学长交流的时候学长非常耐心地回答了我各种疑问,然后我知道了有AutoEncoder这个东西的存在,因为在这之前,我一直在考虑PCA。我靠,又跑题了,回归问题:什么是PCA? 如果想记住这个名字的话很容易:三个字母PCA,po ci a 。如果想知道具体的内容和原理,往下看,当然,书本上,视频里都有,只不过我不能保证比下面的内容有趣。

PCA 用来干什么?

PCA呀,用来做什么呢?这个很重要,PCA也有很多应用,可能我们之前听过用PCA做人脸识别,PCA做异常检测等等。但事实上PCA没有那么强大的功能,PCA能做的事其实很有限,那就是:降维。其他拓展应用都是在这基础上做了相应额工作。为什要降维呢?很明显,数据中有些内容没有价值,这些内容的存在会影响算法的性能,和准确性。

如上图,数据点大部分都分布在x2方向上,在x1方向上的取值近似相同,那么对于有些问题就可以直接将x1坐标的数值去掉,只取x2坐标的值即可。但是有些情况不能直接这样取,例如:

上图的数据分布在x1和x2方向都比较均匀,任一去掉一个坐标的数值可能对结果都会有很大的影响。这个时候就是PCA展现作用的时候了。黑色坐标系是原始坐标系,红色坐表系是我后面构建的坐标系,如果我的坐标系是红色的,那么这个问题是不是就和上面那个问题一样了,我只需要去掉y2坐标系的数据即可。实际上黑色坐标系和红色坐标系是等价的,差异仅仅是在空间中他们的基不同,黑色坐标系的基是我们最习惯的(1, 0), (0, 1),红色坐标系的基是(1, 1),(-1, -1),事实上,他们是等价的,只不过经常默认使用的就是黑色坐标系。主成分分析可以让数据的投影到那些数据分布比较分散的平面上,比如上图的y1,从而忽视y2的作用,进而达到降维的目的。

PCA 数学原理

为了达到目的,可以不择手段

上面我们说PCA可以将数据投影到分布分散的平面内,而忽略掉分布集中的平面。我们可以这样理解,如上面的图2,大部分数据投影到y1坐标系中的化,数据分布会比较分散,投影到x1、x2等其他坐标轴分布会相对集中,其中,投影到y2上面分布最集中。所以我们尽可能将数据转化到红色坐标系,然后去掉y2坐标。好了,问题描述完了,该想象怎样才能达到这样的目的。

任何形式的变化在数学上都可以抽象成一个映射,或者函数。好,现在我们需要构建一个函数 f ( X m × n ) f(X_{m\times n}) f(Xm×n)使得这个函数可以将矩阵 X m × n X_{m\times n} Xm×n降维,矩阵 X X X是原始数据,矩阵的每一行是一个样本的特征向量,即矩阵 X m × n X_{m\times n} Xm×n中有m个样本,每个样本有n个特征值。所以,所谓的降维,其实是减少n的数量。
假设降维后的结构为 Z m × k Z_{m \times k} Zm×k,其中 k < n k < n k<n
那么PCA的数学表达可以这样表示:
Z m × k = f ( X m × n ) , k < n Z_{m\times k} = f(X_{m\times n}), k < n Zm×k=f(Xm×n),k<n

这里可能比较抽象,我尽量说得有趣:

开始数学了,手段是数学

为了找到上面说的 f ( x ) f(x) f(x)我们需要做一些工作,在线性空间中,矩阵可以表示为一种映射,所以上面的问题可以转化为寻找这样一个矩阵 W W W,该矩阵可以实现上面的映射目的:
Z m × k = X m × n W n × k Z_{m\times k} = X_{m\times n}W_{n\times k} Zm×k=Xm×nWn×k
都进行转秩吧,看着舒服,一般映射是放在左边的:

Z k × m = W k × n X n × m Z_{k\times m} = W_{k\times n}X_{n\times m} Zk×m=Wk×nXn×m

现在假设我们要把矩阵的维数降为1,也就是最后每个样本只有一个属性,即 k = 1 k=1 k=1
目标是使降维后的数据在那个坐标轴中的分布尽可能分散,数据的分布的离散程度我们用方差来衡量。
现在我们的目标:
z = w x z=wx z=wx

最大化新坐标轴上的方差,就是让数据更加分散:
max ⁡ w 1 m ∑ i m ( z i − z ˉ ) 2 s . t .      ∥ W ∥ 2 = 1 \max\limits_{w}\frac{1}{m}\sum\limits_{i}^{m}(z_i - \bar{z})^2 \newline s.t. \ \ \ \ \lVert W \rVert_2 = 1 wmaxm1im(zizˉ)2s.t.    W2=1

将上面的优化问题转化一下:
max ⁡ w 1 m ∑ i m ( z i − z ˉ ) 2 = max ⁡ w 1 m ∑ i m ( w x i − w x ˉ ) 2 = max ⁡ w 1 m ∑ i m ( w ( x i − x ˉ ) ) ( w ( x i − x ˉ ) ) T = max ⁡ w 1 m ∑ i m ( w ( x i − x ˉ ) ( x i − x ˉ ) T w T ) T = max ⁡ w 1 m w ∑ i m ( x i − x ˉ ) ( x i − x ˉ ) T w T max ⁡ w 1 m w C o v ( x ) w T \max\limits_{w}\frac{1}{m}\sum\limits_{i}^{m}(z_i - \bar{z})^2 \newline = \max\limits_{w}\frac{1}{m}\sum\limits_{i}^{m}(wx_i - w\bar{x})^2 \newline = \max\limits_{w}\frac{1}{m}\sum\limits_{i}^{m}(w(x_i - \bar{x}))(w(x_i - \bar{x}))^T \newline = \max\limits_{w}\frac{1}{m}\sum\limits_{i}^{m}(w(x_i - \bar{x})(x_i - \bar{x})^Tw^T)^T \newline = \max\limits_{w}\frac{1}{m}w\sum\limits_{i}^{m}(x_i - \bar{x})(x_i - \bar{x})^Tw^T \newline \max\limits_{w}\frac{1}{m}wCov(x)w^T wmaxm1im(zizˉ)2=wmaxm1im(wxiwxˉ)2=wmaxm1im(w(xixˉ))(w(xixˉ))T=wmaxm1im(w(xixˉ)(xixˉ)TwT)T=wmaxm1wim(xixˉ)(xixˉ)TwTwmaxm1wCov(x)wT

最终的目标转化为:
max ⁡ w 1 m w C o v ( x ) w T s . t .    ∥ w ∥ 2 = 1 \max\limits_{w}\frac{1}{m}wCov(x)w^T \newline s.t. \ \ \lVert w\rVert _2 = 1 wmaxm1wCov(x)wTs.t.  w2=1
C o v ( x ) Cov(x) Cov(x)是矩阵 x x x的协防差阵。
利用lagrange multiplier 方法求解上面问题

L = max ⁡ w 1 m w C o v ( x ) w T + α ( ∥ w ∥ 2 − 1 ) = max ⁡ w 1 m w C o v ( x ) w T + α ( w T w − 1 ) L = \max\limits_{w}\frac{1}{m}wCov(x)w^T + \alpha (\lVert w \rVert _2 -1 )\newline = \max\limits_{w}\frac{1}{m}wCov(x)w^T + \alpha (w^Tw - 1) L=wmaxm1wCov(x)wT+α(w21)=wmaxm1wCov(x)wT+α(wTw1)
这里解释一下为什么要限制 ∥ w ∥ 2 = 1 \lVert w \rVert_2 = 1 w2=1,如果不这样限制,那么问题
max ⁡ w 1 m w C o v ( x ) w T s . t .    ∥ w ∥ 2 = 1 \max\limits_{w}\frac{1}{m}wCov(x)w^T \newline s.t. \ \ \lVert w\rVert _2 = 1 wmaxm1wCov(x)wTs.t.  w2=1
直接取 w = ( ∞ , ∞ , . . . , ∞ ) w = (\infty, \infty, ..., \infty) w=(,,...,)即可满足最大,那这样没有任何意义,所以这个限制条件是非常有用的。

通过求解 Lagrange 函数,得到结果为
C o v ( x ) w − α w = 0 Cov(x)w - \alpha w = 0 Cov(x)wαw=0

C o v ( x ) = S Cov(x) = S Cov(x)=S S w − α w = 0 Sw - \alpha w = 0 Swαw=0正好是特征值的定义,也就是 α \alpha α是矩阵 S S S的特征值, w w w是矩阵 S S S的特征向量。但是特征值那么多, w w w到底是那个特征值呢?
max ⁡ w 1 m w S w T = max ⁡ w w T S T w = max ⁡ w w T α w = α max ⁡ w w T w = α \max\limits_{w}\frac{1}{m}wSw^T \newline = \max\limits_{w}w^TS^Tw \newline = \max\limits_{w}w^T\alpha w \newline = \alpha \max\limits_{w}w^Tw \newline = \alpha wmaxm1wSwT=wmaxwTSTw=wmaxwTαw=αwmaxwTw=α

所以,要想最大化那个问题,就需要找到最大特征值。
同样道理,如果是需要将数据映射为2维数据,还是求解上述的最大化方差,但是需要加一个约束条件: w 1 ⋅ w 2 = 0 w_1\cdot w_2 = 0 w1w2=0,同样的思路,最终求解出 w 2 w_2 w2是第二大特征值对应的特征向量。更高维的计算以此类推。

经过上面一番推理,我们知道了PCA的原理,但是要记住PCA用途很广,但需要记住不是什么时候都可以用到PCA的,由证明过程我们知道PCA其实是有很多限制的。比如,可以做PCA降维的前提必须保证数据是线性分布的,如果数据不是线性的,比如下图这样的

数据分布不是线性的,用PCA效果可能就不会很理想。

PCA 用编程实现的流程

经过上面原理的推倒我们可以总结一下,真正进行PCA实际操作的时候都要经过哪些步骤?

  1. 整理原始矩阵 X m × n X_{m\times n} Xm×n
  2. 求原始矩阵 X m × n X_{m \times n} Xm×n的协防差阵 S m × m = C o v ( X ) S_{m\times m}=Cov(X) Sm×m=Cov(X)
  3. 求解协防差阵的特征值和特征向量。
  4. 选取最大的 K K K(人为给定)个特征值所对应的特征向量组成构成矩阵 W n × k W_{n\times k} Wn×k
  5. 直接进行矩阵计算 Z m × k = X m × n W n × k Z_{m\times k} = X_{m\times n}W_{n\times k} Zm×k=Xm×nWn×k

流程很明确,那具体的编程要怎么做呢?难点在哪?

难点1:协防差矩阵的计算

假设原始矩阵为 X m × n X_{m\times n} Xm×n,原始矩阵的各个属性的均值向量为 X ˉ \bar{X} Xˉ
协防差距阵的计算如下:
C o v ( X ) = 1 m ( X − X ˉ ) T ( X − X ˉ ) Cov(X) = \frac{1}{m}(X-\bar{X})^T(X-\bar{X}) Cov(X)=m1(XXˉ)T(XXˉ)
这样用程序就非常好实现了。

难点2:特征值和特征向量的求解

特征值和特征向量这里的内容比较多,虽然有很多算法可以计算特征值和特征向量,但是其背后的数学原理着实有点复杂,记得有本书叫矩阵论,特征值和特征向量的计算方法和原理都可以在上面找到,惭愧的是,我也搞不懂。听说有什么QR算法、Jocobi方法、SVD等,似乎是一些矩阵分解的理论。这个还需要再好好学学才能继续吹牛,所以现在不能随便吹。

PCA等价于只包含一个隐层的神经网络

李宏毅老师的视频里用另外一种视角解释PCA,但是我觉得还是没有听明白,具体的关系,我觉得是老师没讲明白,其中最难以理解的就是 x − x ˉ x-\bar{x} xxˉ x ^ \hat{x} x^计算重构误差,为什么??

所以这个理论还有待挖掘。

PCA和AutoEncoder的关系

  1. PCA限制多,要求数据是线性分布的,AutoEncoder可以解决非线性降维问题
    《Reducing the Dimensionality of Data with Neural Networks》这篇论文中有详细介绍:
    下面是论文中实验的结果:

同样的数据,第一个图是PCA降维到2-D平面上的结果,第二个图是AutoEncoder降维到2-D平面上的结果。从结果中也可以明显的看出AutoEncoder降维后对数据的分布仍然有明显的区分,而PCA的结果却有点令人失望,好象是揉成了一团。

  1. PCA理论基础更强,AutoEncoder可解释性差
    AutoEncoder通过挖掘潜在特性提高模型性能,但这些模糊的特性或许会对知识发现的结果产生不良影响。

  2. PCA计算速度更快,AutoEncoder好不好,需要做实验验证

参考资料:

  1. 李宏毅机器学习:PCA
  2. Reducing the Dimensionality of Data with Neural Networks

掌管天堂的空之王者,于地狱唱响容光之歌!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PCA原理 的相关文章

  • 使用Python一步步实现PCA算法

    使用Python一步步实现PCA算法 标签 xff1a PCA Python 本文原地址为 xff1a http sebastianraschka com Articles 2014 pca step by step html Implem
  • R语言 PCA(主成分分析)

    R语言 PCA 转自 xff1a http www cnblogs com longzhongren p 4300593 html 1 关键点 综述 xff1a 主成分分析 因子分析 典型相关分析 xff0c 三种方法的共同点主要是用来对数
  • pca主成分分析结果解释_主成分分析(PCA)的详细解释

    原作者 xff1a Zakaria Jaadi 翻译 xff1a 钟胜杰 这篇文章的目的是提供主成分分析的完整同时比较简化的解释 xff0c 特别是逐步回答它是如何工作的 xff0c 这样每个人都可以理解它并利用它 xff0c 而不必具有很
  • PCA原理

    版权声明 xff1a 本文为博主原创文章 xff0c 未经博主允许不得转载 https blog csdn net zhongkelee article details 44064401 转载请声明出处 xff1a http blog cs
  • PCA降维算法总结以及matlab实现PCA

    http blog csdn net watkinsong article details 8234766 http blog csdn net mingtian715 article details 54172281 PCA的一些基本资料
  • python实现PCA降维

    概述 本文主要介绍一种降维方法 PCA Principal Component Analysis 主成分分析 降维致力于解决三类问题 1 降维可以缓解维度灾难问题 2 降维可以在压缩数据的同时让信息损失最小化 3 理解几百个维度的数据结构很
  • Opencv学习笔记-----PCA原理及OpenCV实现

    一 介绍 PCA principal component analysis 就是主分量分析 是一种常用的数据分析方法 PCA通过线性变换将原始数据变换为一组各维度线性无关的表示 可用于提取数据的主要特征分量 常用于高维数据的降维 通过数据降
  • 如何导出交互式 rgl 3D 图以共享或发布?

    我使用 rgl 包在 R 中制作了交互式 3D 绘图 我希望能够将其发送 并保持交互 给同事 以便她可以在笔记本电脑上的会议中展示 旋转 有没有办法做到这一点 这是我用来生成绘图的代码 这是情节 library rgl plot3d pca
  • 如何在PCA中白化矩阵

    我正在使用 Python 并使用以下方法实现了 PCA本教程 一切都很好 我得到了协方差 我做了一个成功的变换 把它带到原来的尺寸不是问题 但如何进行美白呢 我尝试将特征向量除以特征值 S V numpy linalg eig cov V
  • 滚动 PCA 并绘制主成分的比例方差

    我使用以下代码来执行 PCA PCA lt prcomp Ret1 center TRUE scale TRUE summary PCA 我得到以下结果 Importance of components PC1 PC2 PC3 PC4 St
  • PCA 中第一个分量覆盖的 99% 方差的显着性

    当第一个分量覆盖 PCA 分析中总方差的 99 以上时 这意味着什么 我有一个大小为 500X1000 的特征向量 我在其中使用了 Matlab 的 pca 函数 该函数返回 coeff score latent tsquared expl
  • 使用 PCA 时出现数学域错误

    我正在使用 python 的 scikit learn 包来实现 PCA 我正在学习数学 domain error C Users Akshenndra Anaconda2 lib site packages sklearn decompo
  • MATLAB 内存不足,但不应如此

    我正在尝试申请PCA https en wikipedia org wiki Principal component analysis在我的数据上使用princomp x https www mathworks com help stats
  • 使用 Numpy (np.linalg.svd) 进行奇异值分解

    我正在阅读 Abdi Williams 2010 主成分分析 并且我正在尝试重做 SVD 以获得进一步 PCA 的值 文章指出以下 SVD X P D Q t 我将数据加载到 np array X 中 X np array data P D
  • 计算 R 中前两个主成分的最快方法是什么?

    我在用princomp在 R 中执行 PCA 我的数据矩阵很大 10K x 10K 每个值最多 4 位小数 在 Xeon 2 27 GHz 处理器上大约需要 3 5 小时和大约 6 5 GB 物理内存 由于我只想要前两个组件 是否有更快的方
  • Weka 的主成分分析

    我刚刚在训练集上计算了 PCA Weka 返回了新属性及其选择和计算方式 现在 我想使用这些数据构建一个模型 然后在测试集上使用该模型 不知道有没有办法根据新的属性类型自动修改测试集 您是否需要主成分进行分析或仅将其输入分类器 如果不是 只
  • 如何使用 FactoMineR 包以编程方式确定主成分的列索引?

    给定一个包含混合变量 即分类变量和连续变量 的数据框 例如 digits 0 9 set seed for reproducibility set seed 17 function to create random string creat
  • R 中 PCA 的结果载荷

    在R中进行PCA时 p lt princomp iris 1 4 我通过以下两种方法得出不同Component的系数 IrisLoading lt p loadings 1 2 methods1 use the fist two Comp
  • ggplot2:调整 R 中 PCA 双图中 PCA 载荷的标签位置

    Issue 我制作了一个PCA biplot使用包ggbiplot ggplot2 我使用该函数延长了载荷 箭头 geom segment 我想删除原始加载 短箭头 保留较长加载 新箭头 保留带有灰色背景的标签 但重新定位它们 使它们不重叠
  • PCA 图中带有名称的工具提示

    我想用 ggplotly 生成交互式绘图 工具提示应该显示变量的名称 interactive lt ggplotly pca dynamicTicks T tooltip c x y label list pca 是 PCA 的可视化 su

随机推荐

  • 《视觉SLAM十四讲》学习笔记-状态估计问题

    最大后验与似然 经典slam模型可表示为 xff1a x k 61 f x k 1 u k 43 w k z k j 61 h y j x k 43 v
  • 机器人学领域的顶级期刊和会议

    印象中 xff0c 机器人学涉及机械 控制 计算机和电子等领域 xff0c 十足的交叉学科 xff0c 所以涉及到的概念和技术也非常多 因工作关系 xff0c 看了三周的SLAM入门 xff0c 用的是高翔的 视觉SLAM十四讲 这本教材
  • SQL解析过程

    转载自 xff1a http blog aliyun com 733 简介 SQL任务是ODPS中使用最频繁的一类作业 大部分用户开始使用ODPS时要做的第一件事情就是学习怎么写ODPS的SQL ODPS SQL是一种非常灵活的语言 兼容大
  • C++中类所占的内存大小以及成员函数的存储位置

    类所占内存的大小是由成员变量 xff08 静态变量除外 xff09 决定的 xff0c 虚函数指针和虚基类指针也属于数据部分 xff0c 成员函数是不计算在内的 因为在编译器处理后 xff0c 成员变量和成员函数是分离的 成员函数还是以一般
  • 用于异常检测的深度神经网络模型融合

    用于异常检测的深度神经网络模型融合 在当今的数字时代 xff0c 网络安全至关重要 xff0c 因为全球数十亿台计算机通过网络连接 近年来 xff0c 网络攻击的数量大幅增加 因此 xff0c 网络威胁检测旨在通过观察一段时间内的流量数据来
  • STM32CubeIDE构建通用freertos项目(一)

    感慨 本人大约三四年没有碰单片机了 xff0c 遥想当年我还是用的keil工具 有幸以援助的身份介入公司的嵌入式项目 xff0c 结合自身经验讲讲 工作是一个长期的过程 xff0c 开头不注意则会产生蝴蝶效应 xff0c 导致接下来的工作一
  • CMake中CMakeLists文件的编写以及变量打印

    最近在学习PCL xff0c 在Win10下使用VS编写PCL程序 xff0c 配置环境时经常出错 xff0c 踩坑记录详见 xff1a Win10 43 VS2017 43 PCL 1 8 1软件安装 踩坑记录 看到 点云库PCL从入门到
  • 如何离线安装python包

    在我们的日常使用python的过程中 xff0c 通常是通过联网安装相关的依赖包 xff0c 但是有时候会有一些情况是没有网络的 xff0c 但我们又需要安装python的各种包 而包的依赖导致我们很难一个一个地从pypi网站下载whl文件
  • mavros 环境配置注意事项[Resource not found: px4 ROS path ]

    背景 我最近开始使用mavros xff0c 按照官网的教程进行安装 采用二进制的方式安装 xff0c 一切进行的很顺利 xff0c 接下来我就按照PX4官网的去执行一个让无人机自动起飞的例子 xff0c 完全按照官网的代码和配置到最后一步
  • rosdep init ERROR: cannot download default sources list... 解决方法

    问题描述 如标题所示 xff0c 当我们安装好ROS后 xff0c 想要用rosdep初始化时 xff0c 会遇到ERROR cannot download default sources list from https raw githu
  • Linux 运行命令时修改.bashrc并结束命令时恢复原样

    问题来源 我有一个bash程序 xff0c 想要在执行该程序的时候修 bashrc xff0c 然后更新一些环境变量 xff0c 并在结束 ctrl 43 c 的时候再把程序恢复原样 操作如下 xff1a echo 命令把想要增加的内容写入
  • 数字信号处理实验(一)

    实验目的 本次实验目的为 xff1a 在matlab环境下产生几种基本的数字信号 xff0c 并对这些基本的信号进行运算和变换 xff0c 同时利用程序结果对采样定理进行验证 xff0c 深刻理解采样定理 通过自己录制音频信号并对不同的音频
  • 数字图像处理实验(二)

    实验目的 实验一 xff1a 图像增强 了解图像增强的目的及意义 xff0c 加深对图像增强的感性认知 1 掌握直接灰度变换的图像增强方法 2 掌握灰度直方图的概念及其计算方法 3 掌握直方图均衡化合直方图规定化得计算过程 实验二 xff1
  • 信息论实验-信源编码2(Lz编码和算数编码的C++实现)

    上一篇文章给出了Huffman编码和Shannon Fano编码的编码原理以及C 43 43 的程序 xff0c 程序可以用来实现给任意类型的文件进行无损压缩 xff0c 缺点是比较耗时 xff0c 不能作为正常的通用压缩软件来使用 xff
  • 信息论实验-二元对称信道仿真(C++实现)

    二元对称信道模拟器 实验目的 加深理解二进制对称信道的工作原理 xff0c 掌握通过高级编程语言生成伪随机数的方法 允许使用编程语言 xff1a C xff0c C 43 43 等 实验要求 输入 xff1a BSC信道的错误概率 xff0
  • OpenCV 安装必看

    怎样安装OpenCV套件呢 xff1f 想要使用opencv的同学一定是刚刚接触到图像处理 xff0c 需要做一些实验 xff0c 听说OpenCV很好用 xff0c 所以就开始查找各种资料学习OpenCV但是 xff0c 谁告诉你们它很好
  • make: *** No rule to make target `menuconfig'. Stop.问题解决方案-Linux(3)

    前言 本问题是我在编译更新内核时所遇到的 xff0c 已经解决 问题描述 在编译内核时 xff0c 运行make menuconfig 时出现 xff0c 截图如下 这个是因为没有找到要配置的文件 解决方案 进入解压得到的Linux原文件夹
  • 深入理解AlexNet网络

    AlexNet 论文 xff1a ImageNet Classification with Deep Convolutional Neural Networks 第一个典型的CNN是LeNet5网络结构 xff0c 但是第一个引起大家注意的
  • Ubuntu 18.04 网络配置

    坑爹的网络配置 ubuntu 18 04的网络配置的方式相较于原来的版本有了很大的改动 xff0c 并且server版的和Desktop 版本的是不一样的 Server版本 新的版本采用了netplan 管理网络 xff0c 在命令行中配置
  • PCA原理

    PCA 各位 xff0c 久违了 xff5e 什么是PCA xff1f 什么是PCA呢 xff1f 这是一个问题 xff0c 什么样的问题 xff1f 简单而又复杂的问题 xff0c 简单是因为百度一下就会出现一大堆的解释 xff0c 复杂