PCA和白化练习之处理图像】的更多相关文章

第一步:下载pca_exercise.zip,里面包含有图像数据144*10000,每一列代表一幅12*12的图像块,首先随见展示200幅: 第二步:0均值处理,确保数据均值为0或者接近0 第三步:执行PCA,将原始数据映射到不同的特征向量方向上去 第四步:验证上面PCA计算出来结果是否正确,若果正确的话,映射后的数据的协方差就是一个对角矩阵,将这个对角矩阵可视化以后,可以看到矩形图中一条有颜色不同于背景色的对角线: 第五步:找出到底取前多少个主元合适,这里使用指标是需要保留至少99%方差值 第…
废话: 这博客有三个月没更新了. 三个月!!!尼玛我真是够懒了!! 这三个月我复习什么去了呢? 托福………… 也不是说我复习紧张到完全没时间更新, 事实上我甚至有时间打LOL. 只是说,我一次就只能(只想?)做一件事情. 对我来说,在两种不同思维之间转换是十分耗费能量的. 说白了我!就!是!个!废!柴!……哼…… 前言: PCA与白化, 就是对输入数据进行预处理, 前者对数据进行降维,后者对数据进行方差处理. 虽说原理挺简单,但是作用可不小. 之前的师兄做实验的时候,就是忘了对数据预处理, 结果…
参考链接:http://deeplearning.stanford.edu/wiki/index.php/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90 http://deeplearning.stanford.edu/wiki/index.php/%E7%99%BD%E5%8C%96 引言 主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法.更重要的是,理解PCA算法,对实现白化算法有很大的帮助,很多算法都先用白化算法作预处理步骤…
主成分分析与白化是在做深度学习训练时最常见的两种预处理的方法,主成分分析是一种我们用的很多的降维的一种手段,通过PCA降维,我们能够有效的降低数据的维度,加快运算速度.而白化就是为了使得每个特征能有同样的方差,降低相邻像素的相关性. 主成分分析PCA PCA算法可以将输入向量转换为一个维数低很多的近似向量.我们在这里首先用2D的数据进行试验,其数据集可以在UFLDL网站的相应页面http://ufldl.stanford.edu/wiki/index.php/Exercise:PCA_in_2D…
在很多情况下,我们要处理的数据的维度很高,需要提取主要的特征进行分析这就是PCA(主成分分析),白化是为了减少各个特征之间的冗余,因为在许多自然数据中,各个特征之间往往存在着一种关联,为了减少特征之间的关联,需要用到所谓的白化(whitening). 首先下载数据pcaData.rar,下面要对这里面包含的45个2维样本点进行PAC和白化处理,数据中每一列代表一个样本点. 第一步 画出原始数据: 第二步:执行PCA,找到数据变化最大的方向: 第三步:将原始数据投射到上面找的两个方向上: 第四步:…
前言 本文是基于Exercise:PCA and Whitening的练习. 理论知识见:UFLDL教程. 实验内容:从10张512*512自然图像中随机选取10000个12*12的图像块(patch),然后对这些patch进行99%的方差保留的PCA计算,最后对这些patch做PCA Whitening和ZCA Whitening,并进行比较. 实验步骤及结果 1.加载图像数据,得到10000个图像块为原始数据x,它是144*10000的矩阵,随机显示200个图像块,其结果如下: 2.把它的每…
首先将本节主要内容记录下来.然后给出课后习题的答案. 笔记: :首先我想推导用SVD求解PCA的合理性. PCA原理:如果样本数据X∈Rm×n.当中m是样本数量,n是样本的维数.PCA降维的目的就是为了使将数据样本由原来的n维减少到k维(k<n).方法是找数据随之变化的主轴,在Andrew Ng的网易公开课上我们知道主方向就是X的协方差所相应的最大特征值所相应的特征向量的方向(前提是这里X在维度上已经进行了均值归一化). 在matlab中我们通常能够用princomp函数来求解,具体见:http…
对输入数据,维度为2时,想要把数据降维1维: 数据的主方向就是旋转数据的第一维.因此,若想把这数据降到一维,可令: 数据已经进行预处理(零均值),使得每个特征和具有相同的均值和方差. PCA算法将寻找一个低维空间来投影我们的数据.从下图中可以看出,是数据变化的主方向,而 是次方向. 为更形式化地找出方向和,我们首先计算出协方差矩阵,如下所示: 就是协方差矩阵的主特征向量,而是次特征向量.(按照特征值得大小选取) 向量和构成了一个新基,可以用来表示数据.那么就是样本点在维度上的投影的长度(幅值).…
在因子分析(Factor analysis)中,介绍了一种降维概率模型,用EM算法(EM算法原理详解)估计参数.在这里讨论另外一种降维方法:主元分析法(PCA),这种算法更加直接,只需要进行特征向量的计算,不需要用到EM算法. 假设数据集表示 m 个不同类型汽车的属性,比如最大速度,转弯半径等等. 对于任意一辆汽车,假设第 i 个属性和第 j 个属性 xi 和 xj 分别以 米/小时 和 千米/小时 来表示汽车的最大速度,那么很显然这两个属性是线性相关的,所以数据可以去掉其中一个属性,即在 n-…
[原创]Liu_LongPo 转载请注明出处 [CSDN]http://blog.csdn.net/llp1992 PCA算法前面在前面的博客中已经有介绍,这里简单在描述一下,更详细的PCA算法请参考我的博客: 机器学习实战ByMatlab(二)PCA算法 PCA 的主要计算步骤 1.数据预处理,使得每一维数据都有相同的均值0 2.计算数据的协方差矩阵,Σ=1m∑mi=1(x(i))(x(i))TΣ=1m∑i=1m(x(i))(x(i))T 3.对协方差矩阵 ΣΣ 进行奇异值分解,得到特征值 u…
#coding=utf8 # 导入numpy工具包. import numpy as np # 导入pandas用于数据分析. import pandas as pd from sklearn.metrics import classification_report # 从sklearn.decomposition导入PCA. from sklearn.decomposition import PCA # 从互联网读入手写体图片识别任务的训练数据,存储在变量digits_train中. digi…
主要内容: 一.降维与PCA 二.PCA算法过程 三.PCA之恢复 四.如何选取维数K 五.PCA的作用与适用场合 一.降维与PCA 1.所谓降维,就是将数据由原来的n个特征(feature)缩减为k个特征(可能从n个中直接选取k个,也能根据这n个重新组合成k个).可起到数据压缩的作用(因而也就存在数据丢失). 2.PCA,即主成分分析法,属于降维的一种方法.其主要思想就是:根据原始的n个特征(也就是n维),重新组合出k个特征,且这k个特征能最大量度地涵盖原始的数据信息(虽然会导致信息丢失).有…
在machine learning领域,更多的数据往往强于更优秀的算法,然而现实中的情况是一般人无法获取大量的已标注数据,这时候可以通过无监督方法获取大量的未标注数据,自学习( self-taught learning)与无监督特征学习(unsupervised feature learning)就是这种算法.虽然同等条件下有标注数据蕴含的信息多于无标注数据,但是若能获取大量的无标注数据并且计算机能够加以利用,计算机往往可以取得比较良好的结果. 通过自学习与无监督特征学习,可以得到大量的无标注数…
PS:这是6月份时的一个结课项目,当时的想法就是把之前在Coursera ML课上实现过的对手写数字识别的方法迁移过来,但是最后的效果不太好… 2014年 6 月 一.实验概述 实验采用的是CIFAR-10 图像数据库,一共包括60000幅32x32 彩色图像.这些图像分为10类,每类6000幅.整个数据库分为五个训练包和一个测试包,每个包一万幅图像,所以一共5万幅训练图像,1万幅测试图像.    测试包中,每个类包括1000幅图像,随机排序.而5个训练包合在一起,每类包括5000幅图像.类的标…
Lecture 6  Training Neural Networks 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit 本节课内容主要包括三部分:训练前准备.训练和评分.具体包括激活函数的选择,预处理,权重初始化,正则化,梯度检查,监控学习进程,参数更新,超参数优化和最终的模型评估. 一.激活函数 激活函数就是f,在以往线性评分的基础上加上激活函数,引入了非线性项,整体作为评分. 1.     Sigmoid:…
博客内容取材于:http://www.cnblogs.com/tornadomeet/archive/2012/06/24/2560261.html Deep learning:三十五(用NN实现数据降维练习) Deep learning:三十四(用NN实现数据的降维) Deep learning:三十三(ICA模型) Deep learning:三十二(基础知识_3) Deep learning:三十一(数据预处理练习) Deep learning:三十(关于数据预处理的相关技巧) Deep…
在machine learning领域,更多的数据往往强于更优秀的算法,然而现实中的情况是一般人无法获取大量的已标注数据,这时候可以通过无监督方法获取大量的未标注数据,自学习( self-taught learning)与无监督特征学习(unsupervised feature learning)就是这种算法.虽然同等条件下有标注数据蕴含的信息多于无标注数据,但是若能获取大量的无标注数据并且计算机能够加以利用,计算机往往可以取得比较良好的结果. 通过自学习与无监督特征学习,可以得到大量的无标注数…
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 2,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,堃堃进行校对修改.译文含公式和代码,建议PC端阅读. 原文如下 内容列表: 设置数据和模型 数据预处理 权重初始化 批量归一化(Batch Normalization) 正则化(L2/L1/Maxnorm/Dropout) 损失函数 小结 设置数据和模型 在上一节中介绍了神经元的模型,它在计算内积后进行非线性激活函数计算,神经网络…
Deep Learning论文笔记之(一)K-means特征学习 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样.所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察.更好的还可以放到博客上面与大家交流.因为基础有限,所以对论文的一些理解可能不太正确,还望大家不吝指正交流,…
) # 对数据进行零中心化(重要) cov = np.dot(X.T, X) / X.shape[0] # 得到数据的协方差矩阵 数据协方差矩阵的第(i, j)个元素是数据第i个和第j个维度的协方差.具体来说,该矩阵的对角线上的元素是方差.还有,协方差矩阵是对称和半正定的.我们可以对数据协方差矩阵进行SVD(奇异值分解)运算. U,S,V = np.linalg.svd(cov) U的列是特征向量,S是装有奇异值的1维数组(因为cov是对称且半正定的,所以S中元素是特征值的平方).为了去除数据相…
CS231n课程笔记翻译:神经网络笔记1(上) 一.常用激活函数 每个激活函数(或非线性函数)的输入都是一个数字,然后对其进行某种固定的数学操作.下面是在实践中可能遇到的几种激活函数: ———————————————————————————————————————— 左边是Sigmoid非线性函数,将实数压缩到[0,1]之间.右边是tanh函数,将实数压缩到[-1,1]. ———————————————————————————————————————— 1.Sigmoid sigmoid非线性函…
目录 <Python数据科学手册>第五章机器学习的笔记 0. 写在前面 1. 判定系数 2. 朴素贝叶斯 3. 自举重采样方法 4. 白化 5. 机器学习章节总结 <Python数据科学手册>第五章机器学习的笔记 0. 写在前面 参考书 <Python数据科学手册>第五章"机器学习" 工具 Jupyter Lab 作用 给书中没有的知识点做补充. 1. 判定系数 定义 判定系数(coefficient of determination),也叫可决系数…
1. 什么是CNN 卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一. 我们先来看卷积神经网络各个层级结构图: 上图中CNN要做的事情是:给定一张图片,是车还是马未知,是什么车也未知,现在需要模型判断这张图片里具体是一个什么东西,总之输出一个结果:如果是车 那是什么车. 最左边是数据输入层(input…
文章相关 1 第七章:网络优化与正则化(Part1) 2 第七章:网络优化与正则化(Part2) 7.3 参数初始化 神经网络的参数学习是一个非凸优化问题.当使用梯度下降法来进行优化网络参数时,参数初始值的选取十分关键,关系到网络的优化效率和泛化能力. 梯度下降法需要在开始训练时给每一个参数赋一个初始值. 初始化为0 : 对称权重问题 所有参数为 0 $\longrightarrow$ 神经元的输出相同 $\longrightarrow$ BP梯度相同 $\longrightarrow$ 参数更…
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-detail/265 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 本系列为 斯坦福CS231n <深度学习与计算机视觉(Deep Learning for Computer Vision)>的全套学习笔记,对应的课程视频可以在 这里 查看.更多资料获取方式见文末…
Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 滤镜 素描滤镜 理论知识 高斯金字塔,拉普拉斯金字塔 常用底层操作 扫描线扫描 滤镜 毛玻璃 理论知识 Harris角点 常用底层操作 像素扫描 滤镜 油画 理论知识 纹理 常用底层操作 滤镜 像素画 理论知识 Bezier曲线 常用底层操作 截取 滤镜 其他滤镜效果 理论知识 去除alpha通道…
一.卷积神经网络(CNN) 1.常见的CNN结构有:LeNet-5.AlexNet.ZFNet.VGGNet.ResNet等.目前效率最高的是ResNet. 2.主要的层次: 数据输入层:Input Layer 卷积计算层:CONV Layer ReLU激励层:ReLU Incentive Layer(功能就是和激活函数一样,具有非线性的能力) 池化层:Pooling Layer(压缩形式,降低复杂度) 全联接层: FC Layer 备注 :Batch Normalization Layer 3…
分类的数据大小:1.2million 张,包括1000个类别. 网络结构:60million个参数,650,000个神经元.网络由5层卷积层,其中由最大值池化层和三个1000输出的(与图片的类别数相同)全链接层组成. 选用非饱和神经元和高性能的GPU来增强卷积操作.为防止在全链接层发生过拟合,我们进行规则化 'dropout'操作,效果明显. 1.说明: 通过改变卷积神经网络的深度和宽度可以控制网络自身的容量.卷积网络可以更准确的预测图片的本质(图像统计上的不变性和像素级的局部性). 相比具有相…
博客内容取材于:http://www.cnblogs.com/tornadomeet/archive/2012/06/24/2560261.html 参考资料: UFLDL wiki UFLDL Stanford tornadomeet博客整理得很好,欣赏这样的学习态度. 该博客基本取材于UFLDL,在两者取舍间还是选择按照tornadomeet博客的剧本走一遍. 因为大部分概念都已熟知,在此过一遍的意义在于查缺补漏,巩固基础. 该博客年初发现,如今我也有了这样的“博客导航”,这便是正能量的传播…
ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky University of Toronto 多伦多大学 kriz@cs.utoronto.ca Ilya Sutskever University of Toronto 多伦多大学 ilya@cs.utoronto.ca Geoffrey E. Hinton University of Toront…