协方差

使用协方差矩阵的特征向量PCA来处理数据降维

六眼飞鱼酱① 提交于 2019-12-02 02:10:44
取2维特征,方便图形展示 import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets import load_iris data = load_iris() y = data.target X = data.data pca = PCA(n_components=2) reduced_X = pca.fit_transform(X) red_x, red_y = [], [] blue_x, blue_y = [], [] green_x, green_y = [], [] for i in range(len(reduced_X)): if y[i] == 0: red_x.append(reduced_X[i][0]) red_y.append(reduced_X[i][1]) elif y[i] == 1: blue_x.append(reduced_X[i][0]) blue_y.append(reduced_X[i][1]) else: green_x.append(reduced_X[i][0]) green_y.append(reduced_X[i][1]) plt.scatter(red_x, red_y, c='r', marker='x')

深度解析卡尔曼滤波在IMU中的使用

泪湿孤枕 提交于 2019-12-01 21:52:13
卡尔曼滤波主要分两个步骤,预测加校正。预测是基于上一时刻的状态对当前状态进行估计,校正是根据当前状态的观测与上一时刻的估计进行综合分析,估计出系统的最优状态值,然后下一时刻接着重复这个过程;卡尔曼不断的进行迭代,它不需要大量的粒子状态输入,只需要过程量,因此它的速度很快,非常适合线性系统的状态估计。 众所周知卡尔曼滤波在处理 IMU 传感器数据融合中作用巨大,但在实际实现起来并非那么容易;本文从 MPU6050 入手,分析卡尔曼滤波的使用。 本篇文章需要你在夜深人静的时候、先去冲一杯咖啡、准备一张纸、一支笔…… 卡尔曼滤波 从来没有坐下来认真的计算卡尔曼滤波的公式由来以及它背后更深层次的原理,为什么在处理加速度以及陀螺仪的数据融合中卡尔曼滤波就那么的有效。但是对于大多数人来说,可能更感兴趣的是如何正确的去使用它,卡尔曼滤波的那五个公式到底怎么使用。 开始之前需要你具备一定的矩阵乘法、矩阵变换等知识,大家都知道矩阵乘法的重要性,不夸张的说,不懂矩阵乘法根本做不了复杂的模型。当然本篇涉及到的矩阵乘法没那么复杂,如果忘记了请翻大学时的课本脑补,或参考以下网站: http://en.wikipedia.org/wiki/Matrix_multiplication#Matrix_product_.28two_matrices.29 http://www.mathwarehouse.com

图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix)

丶灬走出姿态 提交于 2019-12-01 13:17:10
图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 图Lasso方法的基本理论 2. 坐标下降算法 3. 图Lasso算法 4. MATLAB程序 数据见参考文献 [2] 4.1 demo.m load SP500 data = normlization(data); S = cov(data); %数据协方差 [X, W] = glasso_1(double(S), 0.5); %X:sigma^(-1), W:sigma [~, idx] = sort(info(:,3)); colormap gray imagesc(X(idx, idx) == 0) axis off %% Data Normalization function data = normlization(data) data = bsxfun(@minus, data, mean(data)); data = bsxfun(@rdivide, data, std(data)); end 4.2 glasso_1.m function [X, W] = glasso_1(S, lambda) %% Graphical Lasso -

PCA:主成分分析

和自甴很熟 提交于 2019-12-01 07:52:24
PCA的概念: 主要思想是将n维特征映射到k维上,这k维是全新的正交特征,这k维特征被称为主成分,在原数据的基础上重新构造出来k维。就是从原始的空间顺序的找出一组相互正交的坐标轴,新坐标轴的选择和数据本身有很大的关系。其中,第一个坐标轴是从原数据中方差最大的方向,第二个新坐标轴选择是与第一个坐标轴正交平面中使得方差最大的,第三个轴是与第一二轴正交的平面中方差最大的,依次类推。依次类推,可以得到n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。 PCA算法: 优点:降低数据的复杂性,识别最重要的多个特征 缺点:不一定需要, 可能损失有用信息 适用数据类型:数值型数据 数据集下载链接: http://archive.ics.uci.edu/ml/machine-learning-databases/ 在PCA中应用的数据集: http://archive.ics.uci.edu/ml/machine-learning-databases/ secom/ (1)打开数据集计算特征数目:(列为特征数)在secom数据集中一行代表一条数据

推荐算法初探

丶灬走出姿态 提交于 2019-12-01 05:02:22
1. 推荐算法简介 0x1:关于推荐的几个小故事 在开始讨论抽象具体的算法和公式之前,笔者希望先通过几个小故事,来帮助读者朋友建立一个对推荐算法的感性理解。同时我们也可以更好地体会到在现实复杂世界中,推荐是一项非常复杂的事情,现在的最新的推荐算法可能只模拟了其中30%不到的程度。 1. 150年前美国西部小镇的生活情形 假想150年前一个美国小镇的生活情形,大家都互相认识: 百货店某天进了一批布料,店员注意到这批布料中某个特定毛边的样式很可能会引起Clancey夫人的高度兴趣,因为他知道Clancey夫人喜欢亮花纹样,于是他在心里记着等Clancey夫人下次光顾时将该布料拿给她看看。 Chow Winkler告诉酒吧老板Wilson先生,他考虑将多余的雷明顿(Renmington)来福枪出售,Wilson先生将这则消息告诉Bud Barclay,因为他知道Bud正在寻求一把好枪。 Valquez警长及其下属知道Lee Pye是需要重点留意的对象,因为Lee Pye喜欢喝酒,并且性格暴躁、身体强壮 100年前的小镇生活都与 人和人之间的联系 有关。人们知道你的喜好、健康和婚姻状况。不管是好是坏,大家得到的都是 个性化的体验 。那时,这种高度个性化的社区生活占据了当时世界上的大部分角落。 请注意,这里每个人都对其他 每个人的个性和近期情况 非常了解

【机器学习】PCA

半腔热情 提交于 2019-11-30 13:35:14
目录 PCA 1. PCA最大可分性的思想 2. 基变换(线性变换) 3. 方差 4. 协方差 5. 协方差矩阵 6. 协方差矩阵对角化 7. PCA算法流程 8. PCA算法总结 PCA PCA 就是找出数据最主要的方面,用数据里最主要的方面来代替原始数据。 PCA 是最重要的降维方法之一,在数据压缩、消除冗余和数据噪音消除等领域都有广泛的应用。 1. PCA最大可分性的思想 ​ 最大可分性: 样本点在超平面上的投影尽可能的分开 2. 基变换(线性变换) ​ 欲获得原始数据新的表示空间,最简单方法是对原始数据进行基变换(线性变换)。 3. 方差 ​ 如何选择一个方向或者基才是最优的?基于PCA最大可分思想,我们要找的方向是 降维后损失最小 ,可以理解为 投影后的数据尽可能分得开 ,而分散程度可以用数学上的方差来表示,因为 方差越大数据也就越分散 。 4. 协方差 ​ 在高维变换中,我们希望基变换后选择的各个方向(或者基)是不相关的,这样才能表示更多的信息。数学上使用协方差表示相关性: \[ Cov(a,b) = \frac{1}{m} \sum_{i=1}^{m}a_ib_i \] 如果 \(Cov(a,b)=0\) ,则表示两个字段完全独立,这也是我们的 优化目标 。 5. 协方差矩阵 ​ 我们想达到的 目标( \(Cov(a,b)=0\) ) 与 字段内方差 及 字段间协方差

协方差矩阵和散布矩阵(散度矩阵)的意义

牧云@^-^@ 提交于 2019-11-30 13:20:40
协方差矩阵和散布矩阵的意义 【 尊重 原创,转载请注明出处 】http://blog.csdn.net/guyuealian/article/details/68922981 在机器学习模式识别中,经常需要应用到协方差矩阵C和散布矩阵S。如在 PCA主成分分析中 ,需要计算样本的散度矩阵,有的论文是计算协方差矩阵 。 实质上二者意义差不多,散布矩阵(散度矩阵)前乘以系数 1/(n-1) 就可以得到协方差矩阵了。 在模式识别的教程中,散布矩阵也称为散度矩阵,有的也称为类内离散度矩阵或者类内离差阵,用一个等式关系可表示为: 关系: 散度矩阵 = 类内离散度矩阵 = 类内离差阵 = 协方差矩阵 × ( n-1 ) 样本的协方差矩阵乘以 n-1 倍即为散布矩阵, n 表示样本的个数, 散布矩阵的大小由特征维数 d 决定, 是一个为 d × d 的半正定矩阵。 一、协方差矩阵的基础 对于二维随机变量(X,Y)之间的相互关系的数字特征,我们用协方差来描述,记为Cov(X,Y): 那么二维随机变量 (X,Y) 的 协方差矩阵,为 : 对于三 维随机变量 X = ( X 1 , X 2 , X 3 ) 的协方差矩阵可表示为: 对于 n 维 X = ( X 1 , X 2 ....X n ) 协方差矩阵: 说明: (1)协方差矩阵是一个 对称矩阵 ,且是 半正定矩阵 ,主对角线是各个随机变量 的方差

协方差矩阵—黑塞矩阵—正定矩阵

做~自己de王妃 提交于 2019-11-30 13:19:44
文章目录 一、基本概念 1.1 协方差矩阵 及推导 1.2 黑塞矩阵 示例 1.3 正定矩阵定义及性质 1.4 正定矩阵 示例 一、基本概念 1.1 协方差矩阵 及推导 在统计学中用标准差描述样本数据的 “散布度” 公式中之所以除以 n-1 而不是 n, 是因为这样使我们以较少的样本集更好的逼近总体标准差。即统计学上所谓的 “无偏估计”。 关于 协方差 与 散度 :https://blog.csdn.net/wsp_1138886114/article/details/80967843 方差 : v a r ( X ) = ∑ i = 1 n ( X i − X ˉ ) ( X i − X ˉ ) n − 1 var(X) = \frac{\sum_{i=1}^n(X_i-\bar{X})(X_i-\bar{X})}{n-1} v a r ( X ) = n − 1 ∑ i = 1 n ​ ( X i ​ − X ˉ ) ( X i ​ − X ˉ ) ​ 各个维度偏离其均值的程度, 协方差 : cov ( X , Y ) = ∑ i = 1 n ( X i − X ˉ ) ( Y i − Y ˉ ) n − 1 \text{cov}(X,Y) = \frac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})}{n-1} cov ( X , Y ) =

举例说明协方差矩阵的运算

喜你入骨 提交于 2019-11-30 13:14:29
均值,方差,协方差的运算公式 举例说明 代码演示 import numpy as np a = np.mat([[10, 15, 29], [15, 46, 13], [23, 21, 30], [11, 9, 35]]) a_mean = a.mean(axis = 0) # 求每列的均值 a_d_mean = a - a_mean # 去均值的矩阵 cov_x_y = np.dot(a_d_mean[:, 0].T, a_d_mean[:, 1]) / 3 # 26.58333333 cov_x_z = np.dot(a_d_mean[:, 0].T, a_d_mean[:, 2]) / 3 # -6.08333333 cov_y_z = np.dot(a_d_mean[:, 1].T, a_d_mean[:, 2]) / 3 # -152.08333333 a_cov = np.cov(a.T) # np 自带的矩阵计算公式 记住一定要转置 a_cov2 = np.dot(a_d_mean.T, a_d_mean) / (4 - 1) # 协方差矩阵还可以这样计算,先让样本矩阵中心化,即每一维度减去该维度的均值,使每一维度上的均值为0,然后直接用新的到的样本矩阵乘上它的转置,然后除以(N-1)即可 a_cov == a_cov2 # 结果相等 来源: CSDN 作者:

相关性模型-相关系数

瘦欲@ 提交于 2019-11-30 03:37:34
相关系数可用来衡量两个变量之间的相关性大小,根据数据满足的不同条件,选择不同的相关系数进行计算分析。 两种常用的相关系数:皮尔逊person和斯皮尔曼spearman。 总体和样本: 皮尔逊相关系数:(要求数据要都是符合正态分布的数据,而且数据需线性相关) 必须先确认两个变量时线性相关的( 画样本散点图先观察是否线性 ),然后此系数才能告诉他们相关程度如何。如果计算的相关系数为0,只能说明非线性相关。 不能说协方差大的两个变量比协方差小的两个变量更相关,因为没有消除变量的量纲的影响。皮尔逊相关系数就是协方差消除量纲后的结果。 样本皮尔逊相关系数同总体皮尔逊相关系数: 由于皮尔逊相关系数只是衡量已知线性相关的两个变量的相关程度,其他情况不适用: 对相关性大小的解释: 根据具体事情具体分析,没有标准大小的阈值规定。比起相关系数大小,我们更关注其显著性。(假设检验) 对皮尔逊相关系数进行假设检验: 如:求出相关系数r=0.3,问是否和0(非线性相关)有显著差异? 经假设检验求出03与0有显著差异的,就可说明变量的相关性是显著的;若求出0.3和0没有显著差异,可说明变量并不相关,相关系数不显著。 步骤: 对皮尔逊相关系数构造统计变量,知道统计量的分布,就可以画出统计变量的概率密度函数。将计算出的皮尔曼相关系数带入统计变量,得到一个检验值,根据置信水平画出统计变量接受域和拒绝域