scipy

现代法谱估计(1)Yule Walker 方程法MATLAB及Python实现

笑着哭i 提交于 2020-08-19 22:14:35
原理 AR模型的系统函数可以表示为: 如果在白噪声 激励下模型的输出为x(n),则模型输入、输出关系的时域表达式为: 此式为AR模型的差分方程。将白噪声 激励AR模型产生的输出x(n)叫做AR过程。 根据相关卷积定理,若y(n)=x(n)*h(n),则有 即卷积的相关等于相关的卷积。如果对上式两边求傅里叶变换,根据维纳辛钦定理和相关定理,有 即输出自功率谱等于输入自功率谱与系统能量谱的乘积。 根据谱分解定理,任何平稳随机信号x(n)都可以看成是由高斯白噪声激励一个因果稳定的可逆系统H(z)产生的输出,如下图所示 因此上述公式可以变换为 上式说明,平稳随机信号x(n)的功率谱可以用模型H(z)的参数来表示。 对于p阶AR模型的系统函数 可以看出其由p+1个待定参数:a1-ap和G。 系统输出x(n)可表示为: 上式可以解释为:用n时刻之前的p个值的线性组合来预测n时刻的值x(n),预测误差为Gw(n) 。在均方误差最小准则下,组合系数的选择应该使预测误差的均方误差最小。令均方误差为e(n),有 则有 由于 可以计算出 在最小均方误差(MMSE)准则下,要使预测值最佳地逼近x(n),参数的选择应使 也即 可得到 即 由上式可得p个方程,写成矩阵式为 上式用到自相关函数的偶对称性质。由这p个方程,可以求出p个参数ai。有了这些参数就可以根据自相关函数和参数ai求解系统增益G。联立可得

Inverse of numpy.gradient function

早过忘川 提交于 2020-08-19 12:28:19
问题 The bounty expires in 7 days . Answers to this question are eligible for a +50 reputation bounty. Morgan is looking for a more detailed answer to this question: Provide a function which is the opposite to to the numpy.gradient function. Takes in a 2D array of derivative values (which were originally created by the numpy.gradient function) and returns the original scalar values. I need to create a function which would be the inverse of the np.gradient function. Where the Vx,Vy arrays (Velocity

Inverse of numpy.gradient function

前提是你 提交于 2020-08-19 12:24:11
问题 The bounty expires in 7 days . Answers to this question are eligible for a +50 reputation bounty. Morgan is looking for a more detailed answer to this question: Provide a function which is the opposite to to the numpy.gradient function. Takes in a 2D array of derivative values (which were originally created by the numpy.gradient function) and returns the original scalar values. I need to create a function which would be the inverse of the np.gradient function. Where the Vx,Vy arrays (Velocity

图像处理中的valid卷积与same卷积

我与影子孤独终老i 提交于 2020-08-19 04:23:59
valid卷积 在full卷积的卷积过程中,会遇到 \(K_{flip}\) 靠近I的边界(K矩阵与I矩阵),就会有部分延申到I之外,这时候忽略边界,只考虑I 完全 覆盖 \(K_{flip}\) 内的值情况,这个的过程就是valid卷积。一个高为H1,宽为W1的矩阵I与高为H2,宽为W2的矩阵K,在H1大于等于H2,W1大于等于W2的情况下,valid卷积的结果就是一个(H1-H2+1)*(W-W+1)的矩阵 \(C_{valid}\) 。 \[C_{valid}与C_{full}的对应关系为: C_{valid} = C_{full}( Rect (W_{2}-1,H_{2}-1,W_{1}-W_{2}+1,H_{1}-H_{2}+1) ) \] same卷积 无论是full卷积还是valid卷积都不会得到正好的尺寸,要么比原尺寸大要么比原尺寸小,这时就需要same卷积来解决这个问题。若想得到宽和高都正好的矩阵我们首先需要给 \(K_{flip}\) 一个锚点,将锚点放在(循环)图像矩阵的(r,c)处,((r,c)在矩阵之内),将对应位置的元素逐个相乘,最终将所有的积进行求和作为输出图像矩阵在(r,c)处的输出值。这个过程称为same卷积。 OpenCv函数copyMakeBorder的参数表 参数 解释 src 输入矩阵 dst 输出矩阵 top 上侧扩充的行数 bottom

从事python机器学习,这些三方库很重要!

随声附和 提交于 2020-08-18 14:35:58
  很多人之所以喜欢python,不仅仅因为简单易学、容易入门,更多是因为python有强大的第三方库,那么在机器学习中,python有哪些库可以使用呢?   1、Scikit-learn:最流行的ML库之一,支持很多监督学习和非监督学习算法。基于两个python库,Numpy 和 Scipy,为常见的机器学习和数据挖掘提供一组算法,聚类、回归和分类。   2、Tensorflow:当你使用python编写代码,你可以编译和运行在你的CPU或者GPU上,你不需要写C++或者CUDA的代码,可以运行在GPU集群上。   3、Theano:另一个用于数值计算的优秀类库,类似于Numpy。Theano允许你高效定义,优化和评估涉及多维数组的数学表达式。与众不同的是它利用计算机的GPU,能够比单独在CPU上运行时快100倍进行数据密集型计算。   4、Pandas:非常流行的一个库,提供简单易用且直观的高效数据结构,有许多内建的方法来分组、组合数据和过滤以及执行时间序列分析。可以轻松地从sql数据库、CSV、Excel、JSON文件等不同来源获取数据,并对数据进行操作。   5、Seaborn:一个流行的可视化库,建立在Matplotlib的基础之上,是一个高级库,意味着更容易生成某些类型的图,包含热图、时间序列等。 来源: oschina 链接: https://my.oschina

解决python使用pip安装下载库出现错误:ERROR:Cannot unpack file xxxx情况

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-16 19:25:59
解决python使用pip安装下载库出现错误:ERROR:Cannot unpack file xxxx情况   以scipy库下载安装为例,在命令行中直接输入命令:pip install scipy 如果下载速度很慢,或者下载失败,建议使用 国内源 下载。 使用清华大学镜像源下载,输入命令:pip install https://pypi.tuna.tsinghua.edu.cn/simple/scipy 详细可以参考: 解决pip下载慢问题 。 如果出现 :ERROR:Cannot unpack file的情况,如下图所示: 解决方法 :使用命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn module_name 即可。 使用scipy库进行示例: 等待下载完成,显示安装成功。 如果上面镜像源没有,可以尝试其他国内源。 常用国内镜像源 :  阿里云 http://mirrors.aliyun.com/pypi/simple/  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/  豆瓣 http://pypi.douban.com/simple/ 来源: oschina 链接:

(一)光学现象的Python实现(Understanding optics with Python)

本小妞迷上赌 提交于 2020-08-16 10:21:40
“You will see light in the darkness。You will make some sense of this.” “你终将于黑暗中触摸白昼,它将如影般随行。” 如果说20世纪是电子的世界,那么21世纪就是光学的舞台。 光学和光子学无处不在:智能手机和计算设备上的显示方式,互联网中承载信息的光纤,先进的精密制造,大量的生物医学应用终端,全光衍射神经网络等。对光学的深入理解为每一个学习物理和工程的同学带来了机遇的同时也带来了挑战。 难懂晦涩,佶屈聱牙,这是大家对光学知识的看法 。在这个层面上,掌握光学仿真就尤为重要。 为什么要学习光学仿真? 作为一个科研工作者本身,我希望自身理解物理,特别是光学,这不应该仅仅局限于对一组方程的理解,更应该对看得见摸得着的光学现象进行理解。除此之外,考虑到那些或没有充足实验设备的情况,或时间有限无法进行实验室验证的情况,仿真就变得尤为重要。可以说,仿真训练是主动学习的重要组成部分;有相当多的证据表明,主动学习(动手仿真)的效果要优于传统的教学方式(上课-听课模式)。 为什么选择Python? Python ( https://www. python.org/ )是一种可解释性的、交互式的、面向对象的编程语言,它是开源的、易于学习的。此外,它有非常简单和优雅的语法,适用于初学者。同时,与许多其他脚本语言一样,Python是免费的

Python图像处理

不问归期 提交于 2020-08-15 14:37:11
作者|Garima Singh 编译|VK 来源|Git Connected 以前照相从来没有那么容易。现在你只需要一部手机。拍照是免费的,如果我们不考虑手机的费用的话。就在上一代人之前,业余艺术家和真正的艺术家如果拍照非常昂贵,并且每张照片的成本也不是免费的。 我们拍照是为了及时保存伟大的时刻,被保存的记忆随时准备在未来被"打开"。 就像腌制东西一样,我们要注意正确的防腐剂。当然,手机也为我们提供了一系列的图像处理软件,但是一旦我们需要处理大量的照片,我们就需要其他的工具。这时,编程和Python就派上用场了。Python及其模块如Numpy、Scipy、Matplotlib和其他特殊模块提供了各种各样的函数,能够处理大量图片。 为了向你提供必要的知识,本章的Python教程将处理基本的图像处理和操作。为此,我们使用模块NumPy、Matplotlib和SciPy。 我们从scipy包misc开始。 # 以下行仅在Python notebook中需要: %matplotlib inline from scipy import misc ascent = misc.ascent() import matplotlib.pyplot as plt plt.gray() plt.imshow(ascent) plt.show() 除了图像之外,我们还可以看到带有刻度的轴

python玩转信号处理与机器学习入门

不羁的心 提交于 2020-08-15 06:34:54
python玩转信号处理与机器学习入门 作者:王镇 面对毫无规律的随机信号,看着杂乱无章的振动波形,你是否也像曾经的我一样一头雾水,不知从何处下手。莫慌,接下来小编就带你入门怎样用python处理这些看似毫无卵用实则蕴藏巨大信息的随机信号。我们日常生活中所见的心电图,声波图都是信号在时域上的一种表现,但它们无法呈现出信号在频域上的信息。因此,本文将主要介绍信号从时域到频域上的一些变换,常见的有FFT(快速傅里叶变换),PSD(功率谱密度),auto-correlation(自相关分析)。最后小编将带你完成一个实例,通过手机采集的振动信号识别人体的动作。 一、介绍 本部分将介绍FFT,PSD,auto-correlation的基本概念以及python代码实现。 1.1 混合信号 图1 信号在时域上的表现 图2 信号在频域上的表现 上图展示了混合信号在时域上的表现形式,图(a)为一频率为1Hz,振幅为2的正弦波信号,图(b)为一频率为5Hz,振幅为1的正弦波信号,图(c)为(a)、(b)两信号的叠加结果。 1.2 FFT FFT英文全称Fast Fourier Transformation,即快速傅里叶变换,它可以轻松地分析出混合信号中的各频率组成成分。对上述中的混合信号做FFT变换,结果如图2(a),可以明显地看到混合信号包含频率分别为1Hz和5Hz的成分。FFT变换的代码如下:

github上DQN代码的环境搭建,及运行(Human-Level Control through Deep Reinforcement Learning)conda配置

杀马特。学长 韩版系。学妹 提交于 2020-08-14 01:21:41
最近师弟在做DQN的实验,由于是强化学习方面的东西,正好和我现在的研究方向一样于是我便帮忙跑了跑实验,于是就有了今天的这个内容。 首先在github上进行搜寻,如下图: 发现第一个星数最多,而且远高于其它的项目,于是拉取这个链接: https://github.com/devsisters/DQN-tensorflow 本篇博客主要是讲解一下该代码运行环境的如何搭建,采用 conda 配置。 首先看下 README 上的内容, 主要是requirement最重要: 考虑到运行的兼容性,于是决定使用python2.7版本环境运行,下面开始 conda 的配置: 搜寻python2.7版本,并采用最小自版本号 conda search python=2.7 选择 python2.7.3版本, 为环境命名 dqn_2 : conda create -n dqn_2 python=2.7.3 进入新建环境,并确认版本: conda activate dqn_2 安装 numpy scipy conda install numpy scipy 安装 tqdm (进度条模块) pip install tqdm==4.30 安装 gym (oepnai 的 游戏环境交互模块) 可选安装: pip install gym==0.1.0 必选安装: pip install gym[Atari]==0