感知机及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 ...
前馈神经网络和反向传播算法的一个简单实例
问题描述
Github地址
12345678910110.8 0.8 00.6 0.6 00.4 0.4 0.........0.2 0.2 0.........1.0 0.8 11.0 0.6 10.12 0.23 1.........0.89 0.99 1
这是一个数据集, 它的第一项和第二项是输入x1,x2x_1,x_2x1,x2, 第三项是输出yyy, 构建一个前馈神经网路模型并采用反向传播算法训练它的参数.
前馈神经网路的数学描述
激活函数
f(x)=11+e−xf(x) = \frac{1}{1+e^{-x}}
f(x)=1+e−x1
f′(x)=e−x(1+e−x)2=(11+e−x)(1−11+e−x)=f(x)(1−f(x))\begin{split}
f'(x) &= \frac{e^{-x}}{(1+e^{-x})^2} \\
& = (\frac{1}{1+e^{-x}})(1-\frac{1}{1+e^{-x}}) \\
& = f(x)(1-f(x))
\end{split}
f′(x)=(1+e−x)2e− ...
Tensorflow2.0使用教程
课程简介
课程链接: https://www.bilibili.com/video/BV1B7411L7Qt
主讲老师: 北京大学软件与微电子学院曹健老师
源代码: https://pan.baidu.com/s/19XC28Hz_TwnSQeuVifg1UQ 提取码:mocm
0. 开篇----Tensorflow2.1.0 安装及测试
Tensorflow2.1.0安装
12345678910111213141516conda create --name TF2.1 python=3.7# 创建虚拟环境,指定python版本3.7conda activate TF2.1# 激活TF2.1环境conda install cudatoolkit=10.1# 安装英伟达的SDK10.1版本(如果你的电脑有英伟达的显卡,否则跳过)conda install cudnn=7.6# 安装英伟达深度学习软件包7.6版本(如果你的电脑有英伟达的显卡,否则跳过)pip install tensorflow==2.1# 安装tensorflow2.1版本python# 进入python>> ...
Conda&Pip
下载安装
windows
Latest Miniconda installer links | Miniconda
miniconda清华源下载地址
安装完成后执行conda --version, 如果没有输出, 添加环境变量
123D:\...\Miniconda3D:\...\Miniconda3\Library\binD:\...\Miniconda3\Scripts
linux
Quick command line install | Miniconda
12345mkdir -p ~/miniconda3wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh# wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.shbash ~/minic ...
实矩阵的共轭复特征值
题目 设矩阵A∈R3×3A \in \mathbb{R}^{3\times3}A∈R3×3 的特征值为a+bi,a−bi,ca+bi,a-bi,ca+bi,a−bi,c, 其中a,b,c∈R,b≠0,ia,b,c\in \mathbb{R},b\ne0,ia,b,c∈R,b=0,i是虚数单位.
证明: 存在实可逆矩阵QQQ使得
Q−1AQ=(c000ab0−ba)Q^{-1}AQ=
\begin{pmatrix}
c & 0 & 0 \\
0 & a & b \\
0 &-b & a
\end{pmatrix}
Q−1AQ=c000a−b0ba
证明:
对于矩阵AAA的一对共轭复根λ=a+bi,λˉ=a−bi\lambda = a+bi,\bar{\lambda} = a-biλ=a+bi,λˉ=a−bi, 存在一对共轭复特征向量满足
Aη=λη,⇔Aηˉ=λˉηˉA\eta = \lambda\eta,\qquad\Leftrightarrow\qquad A\bar{\eta} = \bar{\lambda}\bar ...
矩阵对角化
定义 nnn阶矩阵AAA和BBB是相似的, 如果存在nnn阶可逆矩阵PPP使得P−1AP=BP^{-1}AP = BP−1AP=B, 记作A∼BA\sim BA∼B
定理1 nnn阶矩阵AAA相似于一个对角矩阵, 充分必要条件是AAA有nnn个线性无关的特征向量.
证明:
$\Rightarrow: $ 设A∼ΛA\sim \LambdaA∼Λ, Λ=diag{λ1,⋯ ,λn}\Lambda=diag\{\lambda_1,\cdots,\lambda_n\}Λ=diag{λ1,⋯,λn}, 即存在nnn阶可逆矩阵P={p1,⋯ ,pn}P = \{p_1,\cdots,p_n\}P={p1,⋯,pn}, 使得P−1AP=ΛP^{-1}AP = \LambdaP−1AP=Λ. 得到AP=PΛAP = P\LambdaAP=PΛ, 即Api=λipi,i=1,⋯ ,nAp_i = \lambda_i p_i, i=1,\cdots,nApi=λipi,i=1,⋯,n, 所以p1,⋯ ,pnp_1,\cdots,p_np1,⋯,pn是AAA的特征向量, 其对应的 ...
Beta函数和Gamma函数在积分中的应用
∫0π2cosnxdx=∫0π2sinnxdx={(n−1)!!(n)!!⋅π2,n为偶数;(n−1)!!(n)!!,n为奇数;={(n−1n)⋅(n−3n−2)⋯(34)⋅(12)⋅(π2),n为偶数(n−1n)⋅(n−3n−2)⋯(45)⋅(23)⋅(1),n为奇数\begin{split}
&\int_0^{\frac{\pi}{2}}\cos^nxdx
= \int_0^{\frac{\pi}{2}}\sin^nxdx \\
& =
\begin{cases}
\frac{(n-1)!!}{(n)!!}\cdot\frac{\pi}{2},& n为偶数;
\\
\frac{(n-1)!!}{(n)!!},& n为奇数;
\end{cases} \\
& =
\begin{cases}
(\frac{n-1}{n})\cdot(\frac{n-3}{n-2})\cdots(\frac{3}{4})\cdot(\frac{1}{2})\cdot(\frac{\pi}{2}),& n为偶数 \\
(\frac{n-1}{n}) ...
Git的基本使用
参考
Bilibili 视频教程
这可能是B站讲的最好的Git教程, 3h打通Git全套教程丨2021最新IDEA版(涵盖GitHub\Gitee码云\GitLab)
英文教材 Git Pro
Pro Git
参考手册
Reference Manual
常用指令
GitHub Cheat Sheet 简体中文
其它
Visual Git Cheat Sheet
git-tutorial | 菜鸟教程
安装配置Git
安装git
Git官网, 下载最新版并安装
通过git --version命令可以查看git的版本, 用于检查git是否安装和环境变量配置成功
1git --version
安装按完成后, 在任意目录下鼠标右键选择Git shell Here, 进入git的命令行操作界面
配置git
通过git config 可以配置git的用户名和邮箱
12git config --global user.name "your_username"git config --global user.email your_emai ...