Python爬虫
环境配置
1conda create --name spider python=3.8
第一个爬虫程序
Python urllib 库为Python的自带库,用于操作网页 URL,并对网页的内容进行抓取处理。
123456from urllib.request import urlopenurl = "http://www.baidu.com"resp = urlopen(url)print(resp.read().decode("utf-8"))
保存到html文件中
123456789101112from urllib.request import urlopenurl = "http://www.baidu.com"resp = urlopen(url)## with open("mybaidu.html", mode="w") as f:## f.write(resp.read().decode("utf-8"))with open(" ...
正则表达式
正则表达式
正则表达式在线验证工具:https://regex101.com/
正则表达式在线验证工具:https://regexr-cn.com/
python官方文档:https://docs.python.org/3/howto/regex.html
参考博客:https://www.byhy.net/tut/py/extra/regex/
练习网站:https://codejiaonang.com/#/course/regex_chapter1/0/0
练习讲解:https://www.bilibili.com/video/BV19t4y1y7qP?share_source=copy_web
总览
特殊字符,术语叫做metacharacters(元字符)
1. * + ? \ [ ] ^ $ { } | ( )
特殊字符表
实例
描述
.
匹配除 \n 之外的任何单个字符。要匹配包括 \n 在内的任何字符,请使用象 [.\n] 的模式。
?
匹配一个字符零次或一次,另一个作用是非贪婪模式
+
匹配1次或多次
*
匹配0次或多 ...
红米Note11TPro刷机
参考视频:玩机必看!带你入坑安卓刷机,小白也能看懂的ROOT基础指南来啦!
玩机资源合集:wanji.jamcz.com
解BootLoader——BL锁
开启开发者选项
连续点击设置/我的设备/全部参数中的MIUI版本打开开发者选项
进入设置/更多设置/开发者选项/设备解锁状态,点击绑定账号和设备
(注意绑定账号与设备时需要关闭wifi在移动网络下进行)
下载解锁工具
解锁工具下载地址
解锁工具国际版
进入FastBoot模式
关机后(不要连接电脑),同时长按开机键+音量下键,进入FastBoot模式,再连接电脑
小米手机解锁工具中显示已连接手机
点击解锁
账号与设备绑定后间隔168个小时(一周)才能进行解锁
解锁成功
安卓的分区
Boot分区
Boot分区存放有启动和引导文件,它包含了操作系统的Kernel(内核)和Ramdisk(虚拟内存),目前安卓系统Root的操作主要也是在修改Boot分区。
此外我们修改CPU的调度或者给GPU超频,很多这些操作也是涉及Boot分区的。
如果Boot分区被擦除或损坏,手机就不能正常启动,通常会卡在开机的第 ...
一个常微分方程的求解
求解常微分方程 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} = ...