一个常微分方程的求解
求解常微分方程 yy′′=1+y′2yy'' = 1+y'^2yy′′=1+y′2在初始条件y(0)=1, y′(0)=0y(0) = 1,\ y'(0) = 0y(0)=1, y′(0)=0下的特解
解: 设 y′=py'=py′=p, 即 dydx=p\frac{dy}{dx}=pdxdy=p, 又由于dpdx=dpdy⋅dydx=pdpdy\frac{dp}{dx} = \frac{dp}{dy}\cdot\frac{dy}{dx} = p\frac{dp}{dy}dxdp=dydp⋅dxdy=pdydp, 原方程化为
ypdpdy=1+p2yp\frac{dp}{dy} = 1+p^2
ypdydp=1+p2
分离变量
pdp1+p2=dyyp\frac{dp}{1+p^2} = \frac{dy}{y}
p1+p2dp=ydy
两边积分
∫p1+p2dp=∫1ydy\int \frac{p}{1+p^2}dp = \int \frac{1}{y}dy
∫1+p2pdp=∫y1dy
...
回声状态网络
基本模型
输入层和循环层
对于一个输入信号u(n)∈RNu\boldsymbol{u}(n)\in\mathbb{R}^{N_u}u(n)∈RNu, 给定期望的目标输出信号ytarget(n)∈RNy\boldsymbol{y}^{target}(n)\in\mathbb{R}^{N_y}ytarget(n)∈RNy, 其中n=1,2,⋯ ,Tn=1,2,\cdots,Tn=1,2,⋯,T 是离散的时间点, TTT是训练集中数据点的个数. 我们的目标是训练一个模型, 使得模型的输出y(n)∈RNy\boldsymbol{y}(n)\in\mathbb{R}^{N_y}y(n)∈RNy尽可能地匹配期望的目标输出信号ytarget(n)∈RNy\boldsymbol{y}^{target}(n)\in\mathbb{R}^{N_y}ytarget(n)∈RNy, 即最小化y\boldsymbol{y}y和ytarget\boldsymbol{y}^{target}ytarget之间的误差测度E(y,ytarget)E(\boldsymbol{y},\bold ...
矩阵求导
设A∈Rm×n,x∈Rn×1A\in\mathbb{R}^{m\times n},x\in \mathbb{R}^{n\times 1}A∈Rm×n,x∈Rn×1
矩阵求导的本质是元素对元素一对一求导
分子布局
∂[Ax]m×1∂[xT]1×n=[∂Axx1∂Axx2⋯∂Axxn]=[∂A1xx1∂A1xx2⋯∂A1xxn∂A2xx1∂A2xx2⋯∂A2xxn⋮⋮⋱⋮∂Amxx1∂Amxx2⋯∂Amxxn]m×n=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]m×n=A\begin{split}
\frac{\partial [Ax]_{m\times 1}}{\partial [x^T]_{1\times n}}
&=
\begin{bmatrix}
\frac{\partial Ax}{x_{1}} & \frac{\partial Ax}{x_{2}} & \cdots & \frac{\partial Ax}{x_{n}} \\
\end{bmatrix}\\
&=
\begin{bmatrix}
\frac ...
循环神经网络RNN
循环神经网络Recurrent Neural Networks
RNN的数学描述
参考零基础入门深度学习(5) - 循环神经网络
输入层
网络的输入是一串m维向量序列 x1,x2,⋯ ,xt,⋯\boldsymbol{x^1},\boldsymbol{x^2},\cdots,\boldsymbol{x^t},\cdotsx1,x2,⋯,xt,⋯
x1=[x11x21⋮xm1],x2=[x12x22⋮xm2],⋯ ,xt=[x1tx2t⋮xmt],⋯\boldsymbol{x^1} =
\begin{bmatrix}
x^1_1\\x^1_2\\\vdots\\x^1_m
\end{bmatrix},
\boldsymbol{x^2} =
\begin{bmatrix}
x^2_1\\x^2_2\\\vdots\\x^2_m
\end{bmatrix},
\cdots,
\boldsymbol{x^t} =
\begin{bmatrix}
x^t_1\\x^t_2\\\vdots\\x^t_m
\end{bmatrix},
\cdots
x1=x11x21⋮xm1,x2= ...
NumPy神经网络实战——Mnist手写数字数据集的识别
MNIST手写数字数据集介绍
参考:MNIST手写数据集的Python读取
MNIST数据集的train-images.idex3-ubyte是60000张28×2828\times2828×28像素的图片,我们将其转换成784×1784\times1784×1的向量
MNIST数据集的train-labels.idex1-ubyte是60000个[0−9][0-9][0−9]的整数,我们将其转换成10×110\times110×1的one-hot向量
网络结构设计
采用两层前馈网络结构, 输入层设置784个节点, 隐藏层设置30个节点, 输出层设置10个节点
正向传播
输入层
oiI=xiI,i=1,2,⋯ ,784o^I_i= x_i^I,\qquad i=1,2,\cdots,784
oiI=xiI,i=1,2,⋯,784
隐藏层
xjJ=∑i=1784wjiJoiI+bjJojJ=σ(xjJ),j=1,2,⋯ ,30\begin{split}
x_j^J &= \sum_{i=1}^{784} w_{ji}^Jo_i^I + b_j^J\\
o ...
MNIST手写数据集的Python读取
MNIST手写数字数据集介绍
MNIST(Mixed National Institute of Standards and Technology)
获取 MNIST 数据集
数据库官网 THE MNIST DATABASEof handwritten digits
在官网上下载如图所示的4个文件并解压,得到下面4个文件
train-images.idx3-ubyte, Size: 44.8MB: ==训练集图片, 60000个样本, 每个样本是25*25像素的图片==
train-labels.idx1-ubyte, Size: 58.6KB: ==训练集标签, 60000个标签, 每个标签是0-9的数字==
t10k-images.idx3-ubyte, Size: 7.47MB: ==测试集图片, 10000个样本, 每个样本是25*25像素的图片==
t10k-labels.idx1-ubyte, Size: 9.77KB: ==测试集标签, 10000个标签, 每个标签是0-9的数字==
注意, 从官网下载的源文件是4个.gz格式的压缩包, 需要分别解压才能得到上面的 ...
关于一个随机游走的马尔科夫链
题目
定义一个非对称的随机游走: 令Y1,Y2,⋯ ,Yi,⋯Y_1,Y_2,\cdots,Y_i,\cdotsY1,Y2,⋯,Yi,⋯独立同分布, 其中Pr{Yi=1}=23,Pr{Yi=−1}=13Pr\{Y_i = 1\} = \frac{2}{3},Pr\{Y_i = -1\} = \frac{1}{3}Pr{Yi=1}=32,Pr{Yi=−1}=31, 且定义Z0=0,Zn=∑i=1nYiZ_0=0,Z_n = \sum_{i=1}^nY_iZ0=0,Zn=∑i=1nYi 的随机过程{Zn,n≥0}\{Z_n,n\geq0\}{Zn,n≥0}.
求这个过程从状态0到状态1的期望首达时间μ01\mu_{01}μ01
μ01=E{T01∣Z0=0}=∑i=1∞nf01(n)\mu_{01} = E\{T_{01}|Z_0 = 0\} = \sum_{i=1}^\infty nf_{01}^{(n)}
μ01=E{T01∣Z0=0}=i=1∑∞nf01(n)
其中
Tij=min{n∣Z0=i,Zn=j,n≥1}T_{ij} = ...
感知机及Python3实现
感知机模型
数学描述
y^=f(wTx+b)\hat{y} = f
\left(
\boldsymbol{w}^T\boldsymbol{x}
+b
\right)
y^=f(wTx+b)
w=[w1w2⋯wn]∈Rn,x=[x1x2⋮xn]∈Rn,b∈R\boldsymbol{w} = \begin{bmatrix}w_1 \\ w_2 \\ \cdots \\ w_n\end{bmatrix}\in\mathbb{R}^n,\qquad
\boldsymbol{x} = \begin{bmatrix}x_1 \\ x_2 \\ \vdots \\ x_n\end{bmatrix}\in\mathbb{R}^n,\qquad
b \in\mathbb{R}
w=w1w2⋯wn∈Rn,x=x1x2⋮xn∈Rn,b∈R
f(z)={1z≥00otherwisef(z) = \begin{cases} 1 & z \geq 0 \\ 0 & otherwise \end{cases}
f(z)={10z≥0otherwise
训练数据集
T ...
向量和矩阵的范数
向量范数
对于向量
x=[x1,x2,⋯ ,xn]x = [x_1,x_2,\cdots,x_n]
x=[x1,x2,⋯,xn]
p-范数
表示向量空间中的p阶闵氏距离
∥x∥p=(∑i=1n∣xi∣p)1p\|x\|_p=(\sum_{i=1}^n|x_i|^p)^{\frac{1}{p}}
∥x∥p=(i=1∑n∣xi∣p)p1
1-范数
当p取1时, 表示曼哈顿距离
∥x∥1=∑i=1n∣xi∣\|x\|_1 = \sum_{i=1}^n|x_i|
∥x∥1=i=1∑n∣xi∣
2-范数(欧氏范数)
当p取2时, 表示欧式距离
∥x∥2=(∑i=1nxi2)12\|x\|_2 = (\sum_{i=1}^n x_i^2)^{\frac{1}{2}}
∥x∥2=(i=1∑nxi2)21
∞\infty∞-范数
当p→+∞p\rightarrow +\inftyp→+∞时
∥x∥∞=max∣xi∣\|x\|_{\infty} = \max|x_i|
∥x∥∞=max∣xi∣
limp→+∞(∣x1∣p+∣x2∣p+⋯+∣xn∣p)1p=eli ...
numpy笔记
NumPy的安装
12pip install numpyconda list numpy
12import numpy as npprint(np.__version__)
NumPy属性
123456Array = np.array([[1,2,3], [2,3,4]])print(Array)print('number of dim: ', Array.ndim)print('shape: ', Array.shape)print('size: ', Array.size)
123456# 输出[[1 2 3] [2 3 4]]number of dim: 2shape: (2, 3)size: 6
NumPy创建array
NumPy中的数据类型
NumPy中的常见数据类型有
np.int_、np.int8、np.int16、np.int32、np.int64
np.float16、np.float32、np.float64
如果不指定dtype, NumPy默认类型为fl ...