随笔分类 - DL学习之路
摘要:之前杂七杂八的看了很多关于强化学习的知识,脑子里比较混乱,经过这次的梳理感觉清晰条理了很多。 一、Terminologies Agent、State、Action、Environment、Reward Policy:Π( a | s ),策略函数,以状态 s 作为输入,输出所有动作 a 的概率。 S
阅读全文
摘要:在实现决策树的ID3算法时,编写了计算信息熵的函数,运行后遇到了如下的问题: 对应处的代码为: @staticmethod def calc_ent(datasets): data_length = len(datasets) label_count = {} for i in range(data
阅读全文
摘要:对于CNN的学习,我先从代码部分入手,然后在学理论知识,两者相结合会达到豁然开朗的效果。 设置超参数 EPOCH = 1 # 训练整批数据多少次, 为了节约时间, 我们只训练一次 BATCH_SIZE = 50 LR = 0.001 # 学习率 DOWNLOAD_MNIST = True # 如果你
阅读全文
摘要:CNN基础知识储备: (一)卷积计算 通过这部分的学习,将会清楚卷积是如何计算的。 举个例子,现有一张6×6的灰度图像(灰度图像代表6×6×1的矩阵,RGB图片则是6×6×3,因为它有红绿蓝3个维度),比如 为了检测图像中的垂直边缘,可以构造一个3×3矩阵。在卷积神经网络的术语中,它被称为过滤器,又
阅读全文
摘要:DQN简介 DQN,全称Deep Q Network,是一种融合了神经网络和Q-learning的方法。这种新型结构突破了传统强化学习的瓶颈,下面具体介绍: 神经网络的作用 传统强化学习使用表格形式来存储每一个状态state和状态对应的action的Q值,例如下表表示状态s1对应了两种动作actio
阅读全文
摘要:每次进行数据训练时,如果数据集过多不适合把整个数据打包进行训练,那么这种时候就需要把训练数据分批进行训练。 设置数据: x = torch.linspace(1, 10, 10) # x data (torch tensor) y = torch.linspace(10, 1, 10) # y da
阅读全文
摘要:一般来说,神经网络是用来训练数据,做实验等等,但每次关闭神经网络或者关机后,训练好的结果等都自动清除,为了解决这一问题,需要对神经网络训练后的结果进行保存、提取。 一、保存神经网络 搭建神经网络、训练数据、优化等操作都需要在save()函数中进行,代码如下: def save(): #快速搭建 ne
阅读全文
摘要:快速搭建 无论是搭建回归类型的神经网络也好,分类类型的也罢,都是通过 class Net(torch.nn.Module) 搭建,本文介绍另一种搭建方法,这种方法可以更快速的搭建net 。 #快速搭建 net = torch.nn.Sequential( torch.nn.Linear(2, 10)
阅读全文
摘要:关系拟合(分类) 一、建立数据集 import torch from torch.autograd import Variable import torch.nn.functional as F import matplotlib.pyplot as plt # make fake data n_d
阅读全文
摘要:关系拟合(回归) 一、建立数据集 import torch import torch.nn.functional as F # 激励函数都在这 import matplotlib.pyplot as plt #unsqueeze把一维数据转换为二维数据,因为torch只会处理二维数据 x = tor
阅读全文
摘要:一、感知机 给定输入x,权重w,偏移b,感知机输出为: 本质上,感知机就是一个二分类问题,与线性回归相比,线性回归输出实数,而这里输出一个离散类;与softmax回归相比,softmax是个多分类问题,输出概率,而这里只是一个二分类问题。 二、训练感知机 最初对感知机的训练: initialize
阅读全文
摘要:交叉熵损失函数(Cross Entropy) 一般来说,Cross Entropy损失函数常用于分类问题中,十分有效。 说到分类问题,与之相关的还有回归问题,简述两者区别: 回归问题,目标是找到最优拟合,用于预测连续值,一般以区间的形式输出,如预测价格在哪个范围、比赛可能胜利的场数等。其中,y_ha
阅读全文