激活函数
使用激活函数的目的
激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
激活函数的主要作用是提供网络的非线性建模能力,可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。
sigmoid
定义
sigmoid函数能够把输入的连续实数值转化为0和1之间的实数,如果负数过大则输出0,如果正数过大则输出1
公式:σ(x)=11+e−x\sigma(x)=\frac {1}{1+e^{-x}}σ(x)=1+e−x1
导数:σ′(x)=σ(x)[1−σ(x)]\sigma'(x)=\sigma(x)[1-\sigma(x)]σ′(x)=σ(x)[1−σ(x)]
图像:sigmoid
优缺点
优点:
sigmoid函数的输出在(0,1)之间,输出范围有限,优化稳定
连续函数,便于求导
缺点:
幂运算,计算开销大
随着网络层数的增加,反向传播容易出现梯度消失
不是以0为中心,收敛速度慢
tanh
定义
Tanh函数也称为双曲正切函数,取值范围为[-1,1]。
...
过拟合和欠拟合
什么是过拟合和欠拟合
欠拟合和过拟合属于对立情况,都是模型导致泛化能力不高的两种常见原因,均为模型学习能力和数据复杂性失调的表现
过拟合/高方差(overfiting/high variance)
过拟合的定义以及验证方法
问题表现方式:高方差
如果训练集和测试集的误差存在较大差异时,即为高方差;
在高方差时,训练集训练效果很好,但是验证集的验证效果很差时,即训练集和验证集呈现出较大的差异,即模型的泛化能力差。这种现象称为过拟合;
检验方法:此时,观察模型在训练集和测试集上的损失函数值随着epoch的变化情况,当模型在测试集上的损失函数值出现先下降后上升,那么此时可能出现过拟合。
导致过拟合的原因
训练集数量不足,样本类型单一 例如:如果我们使用只包含负样本的训练集训练模型,然后利用训练好的模型预测验证集中的正样本时,此时就会出现,模型在训练的时候,效果很好,但是在验证的时候出现效果下降问题。因此,在选取训练集时,应当覆盖所有的数据类型;
训练集中存在噪声 噪声指的是训练数据中的干扰数据,噪声数据会误导模型记录较多的错误特征信息,而忽略了真实样本中的正确特征信息;
模型 ...
keep SSH connection alive on Windows
有时候我们发现,当长时间不使用ssh客户端时,客户端会断开与远程服务器的链接。这很可能是因为超时空闲而断开了连接。解决方案参考[https://stackoverflow.com/questions/49496998/how-do-i-keep-ssh-connection-alive-on-windows-10]
解决方法:在ssh客户端的配置文件中加入ServerAliveInterval 60,每隔一分钟,客户端就会向远程服务器发一个KeepAlive请求,这样中断就不会因为超时空闲而断开链接。
按Win+R,输入.ssh点击确定,进入到存放SSH配置文件的文件夹,找到config,使用记事本打开,在最后添加如下内容,保存即可
12Host * ServerAliveInterval 60
TensorFlow Python版本对应
TensorFlow与Python相对应的版本
Linux
数据来源 https://www.tensorflow.org/install/source#linux
CPU
版本
Python版本
编译器
构建工具
tensorflow-2.6.0
3.6-3.9
GCC 7.3.1
Bazel 3.7.2
tensorflow-2.5.0
3.6-3.9
GCC 7.3.1
Bazel 3.7.2
tensorflow-2.4.0
3.6-3.8
GCC 7.3.1
Bazel 3.1.0
tensorflow-2.3.0
3.5-3.8
GCC 7.3.1
Bazel 3.1.0
tensorflow-2.2.0
3.5-3.8
GCC 7.3.1
Bazel 2.0.0
tensorflow-2.1.0
2.7、3.5-3.7
GCC 7.3.1
Bazel 0.27.1
tensorflow-2.0.0
2.7、3.3-3.7
GCC 7.3.1
Bazel 0.26.1
tensorflow-1.15.0
2.7、3.3-3. ...
Butterfly主题标签外挂
参考Butterfly 安装文档(三) 主题配置-1
Butterfly主题 Markdown 语法显示效果
支持美化的部分
标题
123456# h1 //一级标题 对应 <h1> </h1>## h2 //二级标题 对应 <h2> </h2>### h3 //三级标题 对应 <h3> </h3>#### h4 //四级标题 对应 <h4> </h4>##### h5 //五级标题 对应 <h5> </h5>###### h6 //六级标题 对应 <h6> </h6>
h1
h2
h3
h4
h5
h6
段落及区块引用
1> 高亮显示
高亮显示
列表
1234567- 无序列表1 // * 和 + 也行- 无序列表2- 无序列表31. 有序列表12. 有序列表23. 有序列表3
无序列表1 // * 和 + 也行
无序列表2
无序列表3
有序列表1
有序列表2
有序列表3
分割线
1--- //或***
...
python正则表达式
参考文章:菜鸟教程Python 正则表达式
re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。
函数语法:
1re.match(pattern, string, flags=0)
函数参数说明:
参数
描述
pattern
匹配的正则表达式
string
要匹配的字符串
flags
标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。参见:正则表达式修饰符 - 可选标志
匹配成功 re.match 方法返回一个匹配的对象,否则返回 None。
我们可以使用 group(num) 或 groups() 匹配对象函数来获取匹配表达式。
匹配对象方法
描述
group(num=0)
匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组
groups()
返回一个包含所有小组字符串的元组,从 1 到 所含的小组号
实例
1234import reprint(re.m ...
python遍历文件
os.listdir()
os.listdir方法可以简单快捷的列出目标路径下所有文件及目录,但是无法递归遍历
1234import oslst = os.listdir('.')print(lst)
os.walk()
os.walk()可以遍历文件夹中的所有子文件夹及子文件, walk函数返回一个元组(dirpath, dirnames, filenames)
dirpath是文件夹路径
dirnames是文件夹名称
filenames是文件名称
输出所有文件
12345import osfor dirpath, dirnames, filenames in os.walk('.'): for filename in filenames: print(os.path.join(dirpath, filename))
输出所有文件夹
12345import osfor dirpath, dirnames, filenames in os.walk('.'): for dirname in ...
Vim常用命令
光标移动
命令
功能
h,j,k,l
h光标向左移动,j光标向下移动,k光标向上移动,l光标向右移动
Ctrl+f
屏幕往"前"移动一页
Ctrl+b
屏幕往"后"移动一页
Ctrl+d
屏幕往"前"移动半页
Ctrl+u
屏幕往"后"移动半页
Ctrl+e
屏幕往"上"移动一行
Ctrl+y
屏幕往"下"移动一行
w,W
光标跳到下个单词的开头,小写w包含标点
e,E
光标跳到下个单词的结尾,小写e包含标点
0
移到行首,忽略行首的空格
gg
移动到文档开头
^
移动到行首
$
移动到行尾
5G
移动光标到文档的第5行或者最后一行
插入模式
命令
功能
i
插入到光标前面
I
插入到光标所在行的开始位置
a
插入到光标后面
A
插入到光标所在行的最后位置
o
在当前行下方插入空行,并进入插入模式
O
在当前行上方插入空行,并进入插入模式
Esc
退出插入模式 ...
Hierarchical Neural Story Generation
概括
论文首先指出两点:
生成提示可以使故事生成具有基础,这样生成的故事就不会轻易偏离主题,这在Seq2Seq模型中很常见。
标准的Seq2Seq模型往往会忽略提示,因此他们提出了解决此问题的方案。
CNN Seq2Seq的优势
本文采用CNN Seq2Seq模型,相比于RNN Seq2Seq有两个优点:
运行速度快(CNN可以并行计算,但RNN需要等上一个时间步计算完毕才能进行下一步的运算)。
更容易捕获单词之间不同长度的依赖关系(在一组堆叠的卷积层中,底层捕获更紧密的依赖关系,而顶层提取单词间更长的依赖关系)。
Conv Seq2Seq
下图展示了Conv Seq2Seq的结构。该模型顶部和底部分别为Encoder(编码器)和Decoder(解码器),中间是基本的Attention(注意力)。
Encoder和Decoder都有堆叠的卷积层组成。为了简单,该图仅显示了一层。
Encoder从原始序列中提取特征,Decoder学会估计将Encoder的隐藏状态和之前生成的单词映射到下一个单词的函数,Attention会告诉Encoder需要关注Encoder的哪些隐藏状 ...
pandas烹饪指南
1. pandas支持文件类型表格
格式类型
数据类型
读取
写入
text
CSV
read_csv
to_csv
text
JSON
read_json
to_json
text
HTML
read_html
to_html
text
Local clipboard
read_clipboard
to_clipboard
binary
MS Excel
read_excel
to_excel
binary
OpenDocument
read_excel
binary
HDF5 Format
read_hdf
to_hdf
binary
Feather Format
read_feather
to_feather
binary
Parquet Format
read_parquet
to_parquet
binary
Msgpack
read_msgpack
to_msgpack
binary
Stata
read_stata
to_stata
binary
SAS
read_sas
binary
Python Pic ...