达美航空

线性代数之——矩阵范数和条件数

守給你的承諾、 提交于 2019-12-06 02:34:34
1. 矩阵范数 我们怎么来衡量一个矩阵的大小呢?针对一个向量,它的长度是 \(||\boldsymbol x||\) 。针对一个矩阵,它的范数是 \(||A||\) 。有时候我们会用向量的范数来替代长度这个说法,但对于矩阵我们只说范数。有很多方式来定义矩阵的范数,我们来看看所有范数的的要求然后选择其中一个。 Frobenius 对矩阵中的所有元素进行平方 \(|a_{ij}|^2\) 再相加,然后 \(||A||_F\) 就是它的平方根。这就像把矩阵看作是一个很长的有 \(n^2\) 个元素的向量,这有时候会很有用,但这里我们不选择它。 向量范数满足三角不等式,即 $||\boldsymbol x+\boldsymbol y|| $ 不大于 $||\boldsymbol x|| + ||\boldsymbol y|| $, \(2\boldsymbol x\) 或者 \(-2\boldsymbol x\) 的长度变为两倍。同样的规则也应用于矩阵的范数: 第二个对矩阵范数的要求是新的,因为矩阵可以相乘。范数 \(||A||\) 控制着从 \(\boldsymbol x\) 到 \(A\boldsymbol x\) 和从 \(A\) 到 \(B\) 的增长。 根据此,我们可以这样定义矩阵的范数: 恒等矩阵的范数为 1,针对一个正交矩阵,我们有 \(||Q\boldsymbol x||=

人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态序列

半世苍凉 提交于 2019-12-06 01:43:08
人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态序列 人工智能里的数学修炼 | 隐马尔可夫模型:基于EM的鲍姆-韦尔奇算法求解模型参数 已经较为清楚的讲述了隐马尔可夫模型及其在实际应用的三个问题:1. 生成观察序列概率, 2. 预测问题, 3. 模型参数学习问题。 这里介绍求解第二个预测问题的维特比算法,这里举个例子回归一下预测问题 在语音识别等任务中,观测值为语音信号,隐藏状态为文字,目标就是根据观测信号来推断最有可能的状态序列 一、维特比算法的可递推局部状态 维特比算法是一种基于动态规划的求序列最短路径的方法,它通过确定一个合适的局部状态,利用局部状态进行递推,实现问题的求解。 在隐马尔可夫模型中,维特比算法定义了两个局部状态进行递推。 第一个局部状态 δ t ( i ) \delta_{t}(i) δ t ​ ( i ) 用于记录在时刻 t t t 隐藏状态为 i i i 所有可能的状态转移路径 i i , i 2 , . . . , i t i_{i},i_{2},...,i_{t} i i ​ , i 2 ​ , . . . , i t ​ 中的概率最大值,记为 δ t + 1 ( i ) = m a x 1 ≤ j ≤

差分

倾然丶 夕夏残阳落幕 提交于 2019-12-05 22:05:56
给定一个离散序列: a 0 , a 2 , ⋯ , a n , ⋯ a 0 , a 2 , ⋯ , a n , ⋯ //--> 零阶差分(原序列): Δ 0 h n = a n Δ 0 h n = a n //--> 一阶差分: Δ 1 h n = a n + 1 − a n Δ 1 h n = a n + 1 − a n //--> 二阶差分: Δ 2 h n = Δ 1 h n + 1 − Δ 1 h n = a n + 2 − 2 ⋅ a n + 1 + a n Δ 2 h n = Δ 1 h n + 1 − Δ 1 h n = a n + 2 − 2 ⋅ a n + 1 + a n //--> 三阶差分: Δ 3 h n = Δ 2 h n + 1 − Δ 2 h n = a n + 3 − 3 ⋅ a n + 2 + 3 ⋅ a n + 1 − a n Δ 3 h n = Δ 2 h n + 1 − Δ 2 h n = a n + 3 − 3 ⋅ a n + 2 + 3 ⋅ a n + 1 − a n //--> p p //--> 阶差分: Δ p h n = Δ p − 1 h n + 1 − Δ p − 1 h n Δ p h n = Δ p − 1 h n + 1 − Δ p − 1 h n //--> 观察发现: Δ p h n = ∑ i = 0 p ( −

[ch02-02] 非线性反向传播

时光怂恿深爱的人放手 提交于 2019-12-05 16:55:26
系列博客,原文在笔者所维护的github上: https://aka.ms/beginnerAI , 点击star加星不要吝啬,星越多笔者越努力。 2.2 非线性反向传播 2.2.1 提出问题 在上面的线性例子中,我们可以发现,误差一次性地传递给了初始值w和b,即,只经过一步,直接修改w和b的值,就能做到误差校正。因为从它的计算图看,无论中间计算过程有多么复杂,它都是线性的,所以可以一次传到底。缺点是这种线性的组合最多只能解决线性问题,不能解决更复杂的问题。这个我们在神经网络基本原理中已经阐述过了,需要有激活函数连接两个线性单元。 下面我们看一个非线性的例子,如图2-8所示。 图2-8 非线性的反向传播 其中 \(1<x<=10,0<y<2.15\) 。假设有5个人分别代表x、a、b、c、y: 正向过程 第1个人,输入层,随机输入第一个x值,x取值范围(1,10],假设第一个数是2 第2个人,第一层网络计算,接收第1个人传入x的值,计算: \(a=x^2\) 第3个人,第二层网络计算,接收第2个人传入a的值,计算b: \(b=\ln (a)\) 第4个人,第三层网络计算,接收第3个人传入b的值,计算c: \(c=\sqrt{b}\) 第5个人,输出层,接收第4个人传入c的值 反向过程 第5个人,计算y与c的差值: \(\Delta c = c - y\) ,传回给第4个人 第4个人

Qt 图片缩放参数计算

独自空忆成欢 提交于 2019-12-05 12:01:18
缩放图片 void VCImgWidget::wheelEvent(QWheelEvent *event) { if (event->delta() > 0) { // 当滚轮远离使用者时 //ui->textEdit->zoomIn(); // 进行放大 //qDebug() << event->delta(); scale_img = scale_img + 0.1; } else { // 当滚轮向使用者方向旋转时 //ui->textEdit->zoomOut(); // 进行缩小 //qDebug() << event->delta(); if (scale_img>0.3) { scale_img = scale_img - 0.1; } } update(); } 来源: https://www.cnblogs.com/herd/p/11923741.html

「数学」导数微积分初步

▼魔方 西西 提交于 2019-12-05 10:42:15
这几天比较系统的学了一下微积分和导数(其实是高考课课余没事干和不想在机房颓废。。 一、导数 其实就是个变化率的问题。 我们设一个函数$f(x)$的导数为$D[f(x)]$ 那么: $$D[f(x)]=\lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}$$ 导数是这样用的。 $$f(x+\Delta x)=f(x)+D[f(x)]\Delta x$$ 然后写一些常用的求导公式。 1.$$f(x)=ax+b$$ $$\begin{array}{rcl}D[f(x)]&=&\lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}\\&=&\lim_{\Delta x\rightarrow 0}\frac{ax+b+a\Delta x - (ax+b)}{\Delta x}\\&=&\lim_{\Delta x\rightarrow 0}\frac{a\Delta x}{\Delta x}=a\end{array}$$ 2.$$f(x)=x^n$$ $$\begin{array}{rcl}D[f(x)]&=&\lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}\\&=&

GAN中判别器与极大似然估计的关联

那年仲夏 提交于 2019-12-05 09:22:15
在GAN中,对于判别器D来说,实际上就是一个普通的二分类问题。 根据文章《交叉熵,KL散度以及多分类问题下的极大似然估计》当中的思考,对于二分类问题的极大似然估计,有如下式子成立: L ( X , Y , θ ) = ∫ x ∫ y p ( x , y ) log q ( y | x ) d y d x = ∫ p ( x ) [ p ( y i = 1 | x i ) log q ( y i = 1 | x i ) + p ( y i = 0 | x i ) log q ( y i = 0 | x i ) ] d x //--> 那么,将上式的最后一步重新写成联合概率的形式,有 L ( X , Y , θ ) = ∫ [ p ( x , y = 1 ) log q ( y = 1 | x ) + p ( x , y = 0 ) log q ( y = 0 | x ) ] d x = ∫ [ p ( x , y = 1 ) log q ( y = 1 | x ) + p ( x , y = 0 ) log q ( y = 0 | x ) ] d x //--> 对应到GAN中来,D分类器要做的就是给定一个x,需要判断这个样本x是属于real data还是generated data,如果我们把属于real data当作y=1,generated data当作y=0,那么便有 L (

在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!

 ̄綄美尐妖づ 提交于 2019-12-05 06:39:12
前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef 基本环境 版本:Python3.6 系统:Windows 相关模块: 1 import requests as req 2 from PIL import Image 3 from io import BytesIO 原图: 结果图: 完整代码 1 import requests as req 2 from PIL import Image 3 from io import BytesIO 4 def make_thumb(url, sizes=(300, 175)): 5 """ 6 生成指定尺寸缩略图 7 :param path: 图像路径 8 :param sizes: 指定尺寸 9 :return: 无返回,直接保存图片 10 """ 11 response = req.get(path) 12 im = Image.open(BytesIO(response.content)) 13 mode = im.mode 14 if mode not

TensorFlow-cpu优化及numpy优化

做~自己de王妃 提交于 2019-12-05 04:08:16
1,TensorFlow-cpu优化 当你使用cpu版TensorFlow时(比如pip安装),你可能会遇到警告,说你cpu支持AVX/AVX2指令集,那么在以下网址下载对应版本。 https://github.com/fo40225/tensorflow-windows-wheel 具体使用github上有说明。 根据测试,安装AVX指令集后相应数学计算(矩阵乘法、分解等) 速度是原来的3倍左右 。 2,numpy优化 一般现在的numpy默认都是支持openblas的,但是我发现支持mkl的更快。下载地址 https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 查看numpy支持的优化:np.__config__.show() 以下附上测试代码及结果,你可以在自己电脑上测试。 '''default numpy(openblas):--------- Dotted two 4096x4096 matrices in 1.99 s. Dotted two vectors of length 524288 in 0.40 ms. SVD of a 2048x1024 matrix in 1.75 s. Cholesky decomposition of a 2048x2048 matrix in 0.21 s.

Normal Mapping & Tangent Space

大憨熊 提交于 2019-12-05 02:23:09
讲道理,这篇blog大概是我思考最久的主题了(大概花了2天的时间,期间找了很多的参考资料看),那么我现在在这里尝试着将它们说清楚。 首先是Normal Mapping法线贴图。 一般的,为了增加物体表面的细节,我们会使用法线贴图。为什么? 我们可以仔细想一下光照渲染中的各种步骤,除了 ambient / diffuse , specular 等纹理贴图采样,剩下的就是各种各样的光照效果,而这些光照效果都由什么计算出来呢:答案是光的位置,以及法线方向(视线焦点暂且不算,虽然最后看到的结果也有视线的一部分因素)。那么自然而然,我们就可以考虑更改原来贴图的法线方向来改变这些光照细节,从而使得渲染的效果更加棒(与其增加模型中多边形的数量,不如直接靠光照的明暗来营造细节)。 法线贴图存储高模图形的法线值,所谓高模图形,就是细节更加丰富的图形。我们可以将一些原本(已经渲染好的)图形拿出,把它们的法线方向(值)用颜色纹理的方式存起来,再给低模的图形用。 是的,用的是颜色的方式。在生成法线贴图的时候法线一般是指向正Z轴的(后面会讲到,一般法线贴图所处的空间被称作切空间 Tangent Space, 也有的在object-space(既local space)或者world space中),也就是说它们的值 偏向 正Z轴(0, 0, 1),用颜色通道的方式存储的话就是淡蓝色(“blue-ish")。