- 博客(37)
- 收藏
- 关注
原创 Training!!!
对于每个epoch,一般来说,先对这个epoch的所有batch进行遍历,把每个batch的数据在训练集上进行训练,然后在验证集上对于验证集数据的一个epoch的所有batch进行验证,打印验证集的训练结果,查看其训练情况,所以要打印验证集结果比打印训练集结果更重要。因为训练集和验证集是分开的,所以模型在验证集上面的精度在一定程度上可以反映模型的泛化能力。如果存放参数的文件夹还没有,就递归创建,如果已经有了,而且这才刚开始训练,就递归删除,如果处于训练过程中且文件夹存在,那么打印一下,否则就有错!
2022-11-17 21:54:55
639
原创 class Model(nn.Module)
定义模型的运算过程:forward(向前传播的过程)继承类:nn.Module。初始化所有层:_init_模型改写与解释_哔哩哔哩_bilibili。对于上述激活函数,也可以采取如下形式写。
2022-10-29 11:09:18
2053
原创 GCN-GAN基础知识部分
如上图所示,一开始蓝色部分(Memory Cell)中存的是c,从z输入处理后是g(z)后经过input gate,得到g(z)f(zi),f(zi)是1就让g(z)通过,是0就不让这个g(z)通过,到达memory cell时,有forget gate决定要不要忘记之前的信息c,即cf(z),f(z)取0,1决定信息c要不要留下,即得到如上图所示c`的式子,经过进一步处理得到h(c`)由output gate的f(z)决定要不要将其输出。G和D构成一个动态的“博弈过程”,最终的均衡点为纳什均衡点。
2022-10-19 10:52:42
1574
原创 深度学习层和块
不带参数的层#验证#先实例化layer#输入x#返回所有元素均值的差值#将上述定义的层组合成更复杂一些的块模型中#由两个组件进行连接,一个全连接层,一个上述定义的不带参数的层#实例化该net模型Y.mean()Y.shape#使用自定义的层构建模型Linear(in_channel,out_channel)a = net(torch.rand(2,64))#输入的是2*64,由上述输入输出形状得到a.shape。...
2022-08-30 16:42:22
772
原创 交通数据综述
对基于GCN 的交通流预测模型进行归纳总结,从图卷积的基本定义出发,以频域图卷积和空域图卷 积为主,介绍GCN的基本原理.随后,通过对图时空网络、图自编码器以及图注意力网络的介绍,阐明该领域模型的发展历程,分类综述不同预测模型的结构及特点.在介绍常用交通预测数据集的基础上,以应用研究、模型研究 以及多源数据融合为切入点,探讨了未来该领域的研究方向.。......
2022-08-15 22:05:34
1968
原创 面向预测的时空数据学习方法分析
①基于注意力机制的时空图卷积模型(ASTGCN)将ChebNet图卷积与时间维度一维卷积相结合,用于解决时空交通图数据的预测问题。用时空注意力模块自适应地调节图信号序列在时间和空间维度上的相关性的强弱。提取了与预测目标处于相同时间段的三段子序列,并采用三个结构相同的子网络分别建模交通数据的周周期模式、天周 期模式和局部模式。②时空注意力图神经网络模型(ASTGNN)ASTGNN利用注意力机制充分建模了交通数据在时间和空间维度的动态性。时间维度的注意力机制使得输入序列中 的任意两个时间步。..........
2022-08-04 17:38:28
3153
原创 神经网络模型优化器
SGD是最基本的一种方法,先初始化参数,计算梯度,往梯度的反方向走一步到达,因为拐点的方向L是增加的,所以要往它的反方向走一步,继续计算处的梯度,再往其反方向走,每一个time_step都是计算梯度之后往其反方向走一步。 和SGD一样,一开始都要初始化参数,不同的是设置一个movement即=0,计算处的梯度,取其反方向作为需要更新的方向,movement计算更新的步长更新▽L(),同时=+。 加入moment的好处就在于,即使当前步骤的梯度为0,由于前一项的移动会累加到下一步
2022-07-02 11:05:59
617
原创 预测房价:回归问题
分类问题与回归问题都是机器学习常见的问题,分类问题的目标是预测数据点对应的单一离散标签,而回归问题预测的是连续值而不是离散的标签,eg:根据气象数据预测明天的气温。 采用20世纪70年代,波士顿房屋价格数据集,共506个样本,训练样本404个,预测样本102个,每个样本都有13个特征,人均犯罪率、房地产税率、住宅房间数等。 显然,不同特征的数据差距很大,对数据的学习可能会有一定的困难,所以需要进行数据标准化,即,输入数据的每个特征(列)都减去平均值,除以标准差,这样得
2022-07-01 23:01:42
1295
原创 深度学习笔记二(梯度)
训练神经网络,尤其是深度学习所面临的一个问题就是梯度消失与梯度爆炸,即梯度有时非常大(小),甚至以指数级别的速度,可以通过更好地选择随机初始化权重来避免这个问题。 假设我的网络每层只有两个隐藏单元,每层的激活函数采用 g(z) = z 这种线性激活函数,且,那么将会输出,显然每层的输出,即作为值 假设每个权重矩阵带入上述之后可以得到,最后计算的结果就等于,对于比较深的神经网络,将会很大,指数级爆炸式增长。同样地,如果将1.5换为0.5,那么激活函数将会以指数级别递减。
2022-06-27 20:33:05
580
原创 新闻分类——单标签多分类
目录准备数据加载数据编码数据独热编码准备数据实现构建网络构建网络模型编译验证方法训练数据绘制训练损失和验证损失 绘制训练精度和验证精度编辑 处理标签和损失的另一种方法中间维度足够大的重要性总结编码数据独热编码 简单来说,to_categorical就是将类别向量转换为二进制(只有0和1)的矩阵类型表示。(1条消息) keras中to_categorical函数解析_文科升的博客-CSDN博客_to_categoricalhttps://blog.csdn.net/moyu123
2022-06-25 22:50:26
572
原创 深度学习笔记一(实践相关)
目录训练、验证、测试集(Train/Dev/Test sets)验证集和测试集没有测试集偏差和方差(Bias/Variance) 高偏差——欠拟合高方差——过度拟合 适度拟合 编辑 训练集误差和验证集误差(Train set error and Dev set error)最优误差分析优化模型(机器学习基础)处理偏差处理方差需要注意正则化L1,L2正则化逻辑回归的损失函数增加L1正则化:L2正则化时最常见的正则
2022-06-25 15:43:49
1402
原创 Keras基本使用(二)
Convolution2D进行二维卷积操作,MaxPooling2D:二维的最大池化,Flatten:将数据扁平化一个一维数据显然利用CNN进行图像处理的结果非常好。 IMDB数据,50000条严重两级分化的评论,测试集和训练集各占一半,其中,train_data和test_data这两个变量都是评论组成的列表,每条评论是单词索引组成的列表,train_labels和test_labels都是0,1组成的列表,其中0代表负面,1代表正面。即第一条评论以及其标签。将某条评论迅速
2022-06-24 09:43:21
794
原创 图神经网络
A Gentle Introduction to Graph Neural Networks (distill.pub)目录什么样的数据表示为图的数据表示为图图片表示成图 文本表示成图其他实例图形结构化可以完成什么任务?图级任务节点级任务边级任务在机器学习中使用图形的挑战将图的表示与神经网络兼容邻接矩阵异构图邻接矩阵图神经网络最简单的GNNMLP多层感知机对某个点向量做预测汇聚技术对未知向量的顶点做预测 对未知向量的边做预测 对未知的全局向量做预测整合为一个GNN做预测任务的整个模型信息传递编辑 信息传递
2022-06-23 12:09:47
1571
原创 Keras---基本使用(一)
Keras 的核心数据结构是 model,一种组织网络层的方式。最简单的模型是 Sequential 顺序模型,它由多个网络层线性堆叠。对于更复杂的结构,你应该使用 Keras 函数式 API,它允许构建任意的神经网络图。构造数据numpy.random.normalnumpy.random.normal(loc=0.0, scale=1.0, size=None)loc:均值,scale:标准差。(正态分布)使用 Sequential() 搭建模型引用(5条消息) ker
2022-06-22 19:51:17
5323
1
原创 数据分析常见操作
①df(series)["name"].str.split(",")以列表的形式截取各种电影类型,常见的各种字符串操作eg:.strip(),.upper(),.replace()等等,都可以采取这种操作,对df的某一列属性进行规范。②对df["name"](df的某一列属性)用.tolist()方法就可以将其转换为列表类型数据③去重的操作可以采用set([]),该操作返回的是集合类型数据,一般来说可以在其基础上采用list()操作,将其返回值转换成list类型,即list(set(["","",""]))
2022-06-04 19:41:28
176
原创 人口分析案例
需求:导入文件,查看原始数据 将人口数据和各州简称数据进行合并 将合并数据中重复的abbreviation列进行删除 查看存在缺失数据的列 找到有哪些state/region使得state的值为NaN,进行去重操作 为找到的这些state/region的state补上正确的值,从而除掉state这一列的所有NaN 合并各州面积数据areas 我们会发现area(sq.mi)这一列有缺失数据,找出是哪些行 去除含有缺失数据的行 找出2010年的全民人口数据 计算各州的人口密度 排序,
2022-05-30 22:23:37
140
原创 Pandas时间序列
案例一统计出出这些数据中不同类型的紧急情况的次数现在我们有2015到2017年25万条911的紧急电话的数据,请统计出出这些数据中不同类型的紧急情况的次数, 数据来源:https://www.kaggle.com/mchirico/montcoalert/data用np.zeros()来实现import pandas as pdimport numpy as npfrom matplotlib import pyplot as plt#获取数据 df = pd.read_csv(
2022-05-29 23:45:22
416
原创 数据分组聚合练习和总结
DataFrame按照复合索引取值import pandas as pdimport numpy as npfrom matplotlib import pyplot as plt df1 = pd.DataFrame(np.array([[0,1,2,3],["d","e","q","q"],["r","r","q","p"]]),index=list("abc"),columns=list("lxyz"))print(df1)print("*"*100)df1 = df1.s...
2022-05-29 13:35:48
293
原创 数据的合并和分组聚合
字符串离散化案例对于这一组电影数据,如果我们希望统计电影分类(genre)的情况,应该如何处理数据?思路:重新构造一个全为0的数组,列名为分类,如果某一条数据中分类出现过,就让0变为1import pandas as pdimport numpy as npfile_path = "./IMDB-Movie-Data.csv"df = pd.read_csv(file_path,delimiter=",")#将电影分类这一列取出来df1 = df["Genre"]print(d
2022-05-29 00:18:10
416
原创 数据分析pandas
了解Seriespandas常用数据类型:Series一维,带标签数组。DataFrame二维,Series容器创建一个Series通过切片和索引取值Series
2022-05-27 19:57:29
91
原创 #numpy与matplotlib的应用
#numpy与matplotlib的应用import numpy as npfrom matplotlib import pyplot as pltus_file_path = './US_video_data_numbers.csv'uk_file_path = './GB_video_data_numbers.csv'#加载国家数据uk_data = np.loadtxt(uk_file_path,dtype='int',delimiter=",")us_data = np.load.
2022-05-27 14:25:15
82
原创 数据分析numpy
目录什么是numpy数组的创建数组的形状数组的计算数组的转置编辑numpy读取本地数据索引和切片操作数值的修改什么是numpy一个在Python中做科学计算的基础库,重在数值计算,也是大部分Python科学计算库的基础库,多用于在大型多维数组上执行数值运算。数组的创建import numpy as npimport randomt1 = np.array([1,2,3,4])print(t1,type(t1))#t2和t3是...
2022-05-26 20:40:24
291
原创 数据分析matplotlib
绘制某种图表时,首先根据数据绘制出大体的轮廓,然后再根据需要进行细节的调整。折线图基础代码from matplotlib import pyplot as pltx = range(2,11,2)y = [2,3,4,5,6]z = [3,4,5,6,7]fig = plt.figure(figsize=(10,4),dpi=80) #figsize表示图片大小,dpi表示图片清晰程度#图像线条的属性设置,颜色可以用颜色代码16进制plt.plot(x,y,label="defeat
2022-05-26 14:27:33
109
原创 Python数据结构(二)栈的实现
栈的基本操作(基于列表实现)#栈结构的实现(通过列表实现)class Stack(object): def __init__(self): self.items = [] #判断是否为空 def is_empty(self): return self.items == [] #入栈 def push(self, item): self.items.append(item) #出栈 def pop
2022-05-25 23:21:08
79
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人