摘要:声明之前虽然听过压缩感知和稀疏表示,实际上昨天才正式着手开始了解,纯属新手,如有错误,敬请指出,共同进步。主要学习资料是 Coursera 上 Duke 大学的公开课——Image and video processing, by Pro.Guillermo Sapiro第 9 课。由于对图像处理的了解也来自与该课程,没正经儿看过几本图像方面的书籍,有些术语只能用视频中的英文来表达,见谅哈!1. Uniqueness假设我们已知字典矩阵 D 和稀疏向量 a, 计算出一个信号 x,即 Da = x, x存在一个关于 D 的稀疏表示。反过来现在已知前面的 D 和 x,根据 L0 的优化问题,可以归
阅读全文
摘要:声明之前虽然听过压缩感知和稀疏表示,实际上昨天才正式着手开始了解,纯属新手,如有错误,敬请指出,共同进步。主要学习资料是 Coursera 上 Duke 大学的公开课——Image and video processing, by Pro.Guillermo Sapiro第 9 课。由于对图像处理的了解也来自与该课程,没正经儿看过几本图像方面的书籍,有些术语只能用视频中的英文来表达,见谅哈!1. Denoising 与 MAP故事从 denoising 说起,话说手头上有一张含有噪音的图片 Lena,如何除去噪音得到好的 clean image 呢?对于上面的问题,用 x 值表示某个像素的灰度
阅读全文
摘要:1. 病态系统现在有线性系统: Ax = b, 解方程很容易得到解为:x1 = -100, x2 = -200. 如果在样本采集时存在一个微小的误差,比如,将 A 矩阵的系数 400 改变成 401:则得到一个截然不同的解:x1 = 40000, x2 = 79800.当解集 x 对 A 和 b 的系数高度敏感,那么这样的方程组就是病态的 (ill-conditioned).2. 条件数那么,如何评价一个方程组是病态还是非病态的呢?在此之前,需要了解矩阵和向量的 norm, 这里具体是计算很简单的 infinity norm, 即找行绝对值之和最大,举个例子:infinity norm 具有三
阅读全文
摘要:前面我们讲了 QR 分解有一些优良的特性,但是 QR 分解仅仅是对矩阵的行进行操作(左乘一个酉矩阵),可以得到列空间。这一小节的 SVD 分解则是将行与列同等看待,既左乘酉矩阵,又右乘酉矩阵,可以得出更有意思的信息。奇异值分解( SVD, Singular Value Decomposition )...
阅读全文
摘要:1. QR 分解的形式QR 分解是把矩阵分解成一个正交矩阵与一个上三角矩阵的积。QR 分解经常用来解线性最小二乘法问题。QR 分解也是特定特征值算法即QR算法的基础。用图可以将分解形象地表示成:其中, Q 是一个标准正交方阵, R 是上三角矩阵。2. QR 分解的求解QR 分解的实际计算有很多方法,例如 Givens 旋转、Householder 变换,以及 Gram-Schmidt 正交化等等。每一种方法都有其优点和不足。上一篇博客介绍了 Givens 旋转和 Householder 变换, 第三种方法线性代数课程里面已经非常常见。下面用 Householder 变换的方法推导中间的过程。假
阅读全文
摘要:1. 矩阵与映射矩阵和映射包含两方面的关系:简单:已知矩阵 M, 从向量 x 映射到 M * x. (注:矩阵与行向量的点乘)稍微复杂:已知映射 x ->M * x, 求矩阵 M。第一种情况直接运算就可以得到映射,就不详细写了,着重写第二种情况。首先,假设 x 为 n 维行向量, M*x 为 m 维列向量,可以知道 M 是 m × n 大小的矩阵。在点乘里面,M 的列向量是基向量, x 向量的每个分量是线性组合的系数,M 矩阵可以写成:怎么求出 v1, v2, ..., vn 向量呢?利用基向量带入即可得到:例一:将一张图片向右拉伸两倍,即 (x, y) 变为了 (2x, y)
阅读全文
摘要:说明:Matrix Methods in Data Mining and Pattern Recognition 读书笔记1. 正交的一些概念和性质在前一章的最小二乘的问题中,我们知道不恰当的基向量会出现条件数过大,系统防干扰能力差的现象,这实际上和基向量的正交性有关。两个向量的内积如果是零, 那么就说这两个向量是正交的,在三维空间中,正交的两个向量相互垂直。如果相互正交的向量长度均为 1, 那么他们又叫做标准正交基。正交矩阵则是指列向量相互正交的方阵。标准正交矩阵有具有如下性质:若 P 和 Q 是标准正交矩阵,那么 X = PQ 也是标准正交矩阵。正交矩阵最重要的性质之一是它的变换可以保证一
阅读全文
摘要:说明:Matrix Methods in Data Mining and Pattern Recognition 读书笔记非常 nice 矩阵在线计算器,网址:http://www.bluebit.gr/matrix-calculator/.1. LU Decomposition假设现在要解一个线性系统:Ax = b,其中 A 是 n×n 非奇异方阵,对于任意的向量 b 来说,都存在一个唯一的解。回顾我们手工求解这个线性方程组的做法,首先将矩阵 A 行之间进行加减,将 A 矩阵转化为一个上三角矩阵,然后从下往上将未知数一个一个求解出来,这就是高斯消元法。实际上,矩阵等价于左乘一个单位
阅读全文
摘要:1. 知识点准备在了解 CNN 网络神经之前有两个概念要理解,第一是二维图像上卷积的概念,第二是 pooling 的概念。a. 卷积关于卷积的概念和细节可以参考这里,卷积运算有两个非常重要特性,以下面这个一维的卷积为例子:第一个特性是稀疏连接。可以看到, layer m 上的每一个节点都只与 layer m-1 对应区域的三个节点相连接。这个局部范围也叫感受野。第二个特性是相同颜色的线条代表了相同的权重,即权重共享。这样做有什么好处呢?一方面权重共享可以极大减小参数的数目,学习起来更加有效,另一方面,相同的权重可以让过滤器不受图像位置的影响来检测图像的特性,从而使 CNN 具有更强的泛化能力。
阅读全文
摘要:1. 线性组合概念很简单:当然,这里向量前面的系数都是标量。2. Span向量v1,v2,.... ,vn的所有线性组合构成的集合,称为v1,v2,... ,vn的张成(span)。向量v1,v2,...vn的张成记为Span{v1,v2,... ,vn}。回顾上一次课里面的电脑登陆认证的过程,假设黑客知道使用 GF(2) 加密,截获到一组电脑的问题 alpha 以及用户的回答 beta:那么即使黑客不知道密码, alpha 所组成的 span 里面的所有问题都可以通过线性组合来得到答案了,证明如下:3. Generator实际上就是基的概念:4. 向量在实数上的 spanspan 就是向量的
阅读全文
摘要:1. Collaborative FilteringCollaborative Filtering: 通过喜好相近的人构造推荐列表。如何表示喜好?用嵌套字典表示不同人对不同影片的评分。嵌套字典的数据结构就像一棵树,叶子节点(键值)表示最终的属性。(源代码下载地址)>>>from recommendations import critics>>> critics['Toby']{'Snakes on a Plane': 4.5, 'Superman Returns': 4.0, 'You, Me and
阅读全文
摘要:1. list 画点>>> from plotting import plot>>> L = [[2, 2], [3, 2], [1.75, 1], [2, 1], [2.25, 1], [2.5, 1], [2.75, 1], [3, 1], [3.25, 1]]>>> plot(L)2. 缩放 alpha × vec = [alpha × elem for elem in vec] >>> def scalar_vector_mult(alpha, v): return [alpha*x for x
阅读全文
摘要:1. 非常好的 Python 教程《深入 Python 3.0》 以及 IBM 开发社区的博客探索 Python .2. 子集: s 是 S 的子集>>>S = {2, 3, 4, 5, 6, 7}>>>s = {x for x in S if x%2==0} # 偶数子集>>>sset([2, 4, 6])3. 映射:Ceasar 加密>>> import string>>> table = string.maketrans("abcdefghijklmnopqrstuvwxyz",
阅读全文
摘要:1. 作用快速创建匿名单行最小函数,对数据进行简单处理, 常常与 map(), reduce(), filter() 联合使用。2. 与一般函数的不同>>> def f (x): return x**2...>>> print f(8)64>>>>>> g = lambda x: x**2 # 匿名函数默认冒号前面为参数(多个参数用逗号分开), return 冒号后面的表达式>>>>>> print g(8)643. 与一般函数嵌套使用与一般函数嵌套,可以产生多个功能类似的的函数。>
阅读全文