草庐IT

使用MindSpore计算旋转矩阵

技术背景坐标变换、旋转矩阵,是在线性空间常用的操作,在分子动力学模拟领域有非常广泛的应用。比如在一个体系中切换坐标,或者对整体分子进行旋转平移等。如果直接使用Numpy,是很容易可以实现的,只要把相关的旋转矩阵写成numpy.array的形式即可。但是在一些使用GPU计算的深度学习框架中,比如MindSpore框架,则是不能直接支持这样操作的。因此我们需要探索一下如何在MindSpore框架中实现一个简单的旋转矩阵,并使用旋转矩阵进行一些旋转操作。Jax.numpy旋转矩阵我们先介绍一下在常用的Numpy库中是如何实现一个旋转矩阵的,这里为了演示方便,简化编程工作量,我们选择用Jax中所集成的

[概率论与数理统计]笔记:5.1 点估计概述

第五章参数估计与假设检验5.1点估计概述相关概念:参数空间:参数的取值范围。点估计:对未知的参数进行估计所得到的一个具体的数据,结果是一个数(数轴上的一个点)。区间估计:在可信度下的最可能的存在区间中得到的结果,结果是一个区间。\(\hat{\theta}=\hat{\theta}(X_1,\cdots,X_n)\)表示构造函数在取得样本后可以计算出一个参数的估计值。无偏性无偏估计量:\(E\hat{\theta}=\theta\)有偏估计量:\(E\hat{\theta}\ne\theta\)渐进无偏估计量:\(\lim\limits_{n\to\infty}E\hat{\theta}=\t

[概率论与数理统计]笔记:5.1 点估计概述

第五章参数估计与假设检验5.1点估计概述相关概念:参数空间:参数的取值范围。点估计:对未知的参数进行估计所得到的一个具体的数据,结果是一个数(数轴上的一个点)。区间估计:在可信度下的最可能的存在区间中得到的结果,结果是一个区间。\(\hat{\theta}=\hat{\theta}(X_1,\cdots,X_n)\)表示构造函数在取得样本后可以计算出一个参数的估计值。无偏性无偏估计量:\(E\hat{\theta}=\theta\)有偏估计量:\(E\hat{\theta}\ne\theta\)渐进无偏估计量:\(\lim\limits_{n\to\infty}E\hat{\theta}=\t

反向传播与梯度下降详解

一,前向传播与反向传播1.1,神经网络训练过程神经网络训练过程是:先通过随机参数“猜“一个结果(模型前向传播过程),这里称为预测结果$a$;然后计算$a$与样本标签值$y$的差距(即损失函数的计算过程);随后通过反向传播算法更新神经元参数,使用新的参数再试一次,这一次就不是“猜”了,而是有依据地向正确的方向靠近,毕竟参数的调整是有策略的(基于梯度下降策略)。以上步骤如此反复多次,一直到预测结果和真实结果之间相差无几,亦即$|a-y|\rightarrow0$,则训练结束。1.2,前向传播前向传播(forwardpropagation或forwardpass)指的是:按顺序(从输入层到输出层)计

反向传播与梯度下降详解

一,前向传播与反向传播1.1,神经网络训练过程神经网络训练过程是:先通过随机参数“猜“一个结果(模型前向传播过程),这里称为预测结果$a$;然后计算$a$与样本标签值$y$的差距(即损失函数的计算过程);随后通过反向传播算法更新神经元参数,使用新的参数再试一次,这一次就不是“猜”了,而是有依据地向正确的方向靠近,毕竟参数的调整是有策略的(基于梯度下降策略)。以上步骤如此反复多次,一直到预测结果和真实结果之间相差无几,亦即$|a-y|\rightarrow0$,则训练结束。1.2,前向传播前向传播(forwardpropagation或forwardpass)指的是:按顺序(从输入层到输出层)计