3.5k 3 分钟

最为关键的点就在于 LSTM 有三个门,遗忘门(forget gate)、输入门(input gate)和输出门(output gate),每个门通过 sigmoid 激活函数(σ)输出 0 或者 1,然后通过 element-wise 的乘积操作,达到筛选信息的目的。 # 遗忘门 选择性的筛选上一步的记忆信息 Ct−1C_{t-1}Ct−1​,所以叫做遗忘门 # 输入门 将 ht−1h_{t-1}ht−1​ 和 xtx_{t}xt​ 的经过 Sigmoid 激活函数得到输入门,同时,ht−1h_{t-1}ht−1​ 和 xtx_{t}xt​ 经过 tanh...
3.6k 3 分钟

# 时间序列表示 通常表示为 [word num, batch, word vec],即 [单词数,句子数,单词的特征维度数] # 循环神经网络 h 表示连续的语义信息,为了减少参数量,所以 w 和 h 参数都是权重共享的 # 梯度更新 需要注意的是,WRW_RWR​ 就是 WhhW_{hh}Whh​,WIW_{I}WI​ 就是 W_ 从梯度推导公式中可以看出,∂hk∂h1=∏ikdiag(f′(WIxi+WRhi−1))WR\frac{\partial h_{k}}{\partial...
2.8k 3 分钟

# 前言 最近在做模型评估,看到有论文涉及到 18 折交叉验证和 F1 分数以及宏观 F1 分数,有点被搞晕了,遂查了些资料,记录于此 # K 折交叉验证 K 折交叉验证实际上可以有两种功能,模型选择,和模型评估。参考:N 折交叉验证的作用(如何使用交叉验证) 重点如下: N 折交叉验证有两个用途:模型评估、模型选择。 N 折交叉只是一种划分数据集的策略 **。**...
7.2k 7 分钟

B 站视频:《十分钟讲解 Matplotlib 的核心内容与基本逻辑》 Matplotlib_examples.ipynb # 入门 # 基本设置 import matplotlib.pyplot as pltimport numpy as np# 一些基本设置# 设置支持中文字体(黑体)matplotlib.rcParams['font.family'] = ['SimHei']matplotlib.rcParams['axes.unicode_minus'] = False# 设置图片清晰度(200dpi: 200...
9.8k 9 分钟

# 原理 迁移学习可以通过小数据量样本对模型进行微调,达到针对小数据量数据集更好的拟合效果 # 训练 / 验证 / 测试集伪代码流程 # 代码实战 # 自定义数据集 import torchimport os, globimport random, csvfrom torch.utils.data import Dataset, DataLoaderfrom torchvision import transformsfrom PIL import Imageclass Pokemon(Dataset): def __init__(self, root, resize, mode):...
4.6k 4 分钟

# Lenet5 网络模型 import torchfrom torch import nnfrom torch.nn import functional as Fclass Lenet5(nn.Module): """ for cifar10 dataset. """ def __init__(self): super(Lenet5, self).__init__() self.conv_unit = nn.Sequential( # x: [b, 3, 32, 32] => [b, 16, ] nn.Conv2d(3,...
8.1k 7 分钟

# 什么是卷积神经网络 注意,是把一个 kernel 里的三个窗口做完运算后生成的三个值累加起来,得到新的 feature map。对于下一层有 16 个通道,则是把一个 kernel 里的 16 个窗口做完运算后生成的 16 个值累加起来,算作一个新的 feature。 # 代码示例 # 类风格 API # 函数风格 API ‍ # 池化层和采样 # 池化层 最大池化:取 kernel 里的最大值 平均池化:取 kernel 里的平均值 # 上采样 将特征图放大 # BatchNorm # Image Normalization 这里的均值和方差是统计了数百万张图片在 RGB...
1k 1 分钟

# 过拟合问题 # 欠拟合 当 train acc. is bad 并且 test acc. is bad as well 可以认为是欠拟合,但现在神经网络的学习能力太强了,所以这种问题不常见 # 过拟合 当 train loss and acc. is much better 但是 test acc. is worse 就是过拟合,也就是泛化能力 Generalization Performance 不够,所以目前的主要问题就是如何缓解过拟合问题 # 训练 / 验证 / 测试集的划分 对于测试集,我们不能做任何事情,所以通常来说将训练集划分为训练集和验证集 #...
9.7k 9 分钟

# Logistic Regression # Q1 why not maximize accuracy? acc.=∑I(predi==yi)len(Y)acc.=\frac{\sum I\left(pred_{i}==y_{i}\right)}{len\left(Y\right)} acc.=len(Y)∑I(predi​==yi​)​ 如果最小化 accuracy,会造成 gradient = 0 的现象。因为用 sigmoid 做激活函数,小于 0.5 判断为 0,大于 0.5 判断为 1,如果参数 w 从 0.4 提升到...