自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Q-learning和Sarsa区别的理解之为什么Sarsa保守

值得一提的是,虽然Q-learning算法在才开始学习时也可能会用跳崖的值函数去更新,但很快绝对不会再用跳崖的值函数去更新其他位置值函数),此时就会使这一动作值函数的值较Q-learning明显偏小,故较为保守。例如,当在远离悬崖的第二排时(上图S状态),会做出向下的动作a,得到沿着悬崖的状态S',沿着悬崖的状态S'向下的动作a_Sarsa会有很低的奖励,例如-100,而沿着悬崖走向右的动作a_Q-learning对应的累积回报却很可观,因为会减少抵达目标的步数,从而使累积回报的期望较大。

2023-06-14 14:57:31 447

原创 主成分分析PCA

3、转换后点云(point_cloud_trans = pca.transform(point_cloud))的第几列数据就表示第几主成分点云,则point_cloud_trans[:, 0]表示在第一主成分上的投影点, point_cloud_trans[:, 1]表示在第二主成分的投影点,依次类推。第一主成分为沿着H型钢方向,因为所有点在第一主成分轴上的投影点距离中心的距离平方和最大。以下代码用特征向量转换和直接用pca.transform方法对H型钢点云的第一和第二主成分组成的平面图形进行绘制。

2023-05-26 19:30:02 765

原创 长短期记忆网络LSTM理解和示例

门在LSTM中用的是sigmoid函数(输出为0,1)而待选数据ct'为tanh函数。ft表示遗忘门(forget),it表示输入门(input), ot为输出门(output), ct'为输入单元的候选状态。由图可知,ct-1记录着历史信息(t时刻之前的信息),ft与ct-1向量相乘可以选择接收和遗忘ct-1中存储的历史数据。LSTM是一种特殊的RNN(循环神经网络),是RNN的变体,可以做到记住重要信息而忘记无关紧要信息的特点。it这个门与候选数据ct'相互作用,筛选ct'中的数据,为输入门。

2023-05-18 14:04:38 543

原创 Pytorch实现简单循环神经网络和detach相关讨论

基于pytorch平台建立了RNN网络简单例子,主要讨论了参数形状,计算图和反向传播时应注意的问题,主要为技术上的,并未就RNN的原理展开过多探讨。

2023-05-17 16:08:59 417 1

原创 Tensorboard的使用

SummaryWriter用法

2023-05-15 20:16:04 1058 1

原创 Pytorch实现MINIST数据集

采用Pytorch编写对Minist训练的深度网络

2023-05-15 19:53:21 831

原创 pytorch卷积网络示例和参数设置介绍

以pytoroch的一个简单网络为例,介绍Pytorch定义深度学习网络的方法,并详细介绍了各网络参数的设置和计算方法。

2023-05-14 22:41:03 518

原创 用numpy中的nditer遍历矩阵中的元素

介绍了numpy中提供的矩阵迭代工具nditer, 通过nditer编写了梯度的数值计算程序,最后用梯度下降法计算了f=x^2 +y^2 + z^2的最小值。

2023-05-14 11:19:24 504

原创 二进制和十进制编码转换

遗传算法通常将十进制数转换为以列表形式存储的二进制数,为实现该功能分别编写了2个函数,方便后面使用。

2023-04-05 19:54:34 234

原创 牛顿法介绍

牛顿法也是一类求解极值的方法,多用于有限元的求解,由于要求函数二阶可导(海森矩阵),且海森矩阵逆矩阵不一定存在,因此在机器学习领域应用较少。可以看见这个公式与梯度下降法比较接近,只是梯度下降法中海森矩阵的逆矩阵。牛顿法同样是得到自变量的更新方法,从而得到极值。为海森矩阵,g为梯度。-1被替换为了学习率。

2023-03-30 14:41:30 194

原创 梯度下降法的个人理解

此外,这里不光应当小于0,而且应该是一个最大的小于0的数,这样才能让。0)本质上是两个向量乘积,只有当两者反向时(-180°)才能最小。假设x为更新后的值,x0为当前点,那么应该有。为学习率,可见学习率为步长和梯度模分之一的乘积。梯度下降法是机器学习中一种常见的优化方法。0)最小,准确的讲是达到局部最小值。泰勒展开的意义是用一系列多项式去。为学习率,是一个小于1的数,需要注意的是,梯度下降法就是。)的值减小,即每次更新x则。是步长(每次走一小步),而。0)也是一个向量,所以(梯度下降法的目标是让。

2023-03-30 11:21:16 136

原创 梯度含义的理解

一般的认知某点的梯度和某点的导数有很大的联系,但是认识这一概念起就知道导数是某条曲线的切线,切线是函数值变化最快的方向,而梯度也是表明沿着梯度变化方向很快,因此直观上讲,在某些情况应该可以认为导数和梯度是一回事。从降维后的曲线可知,现在梯度的方向确实是垂直方向,也可以说是切线(切平面)的法线方向,这还没完,这只是梯度在xoy平面的形态,而非在自变量即x轴和y轴上的体现。这里顺便提一下,如果我们认为xoy平面的切线是梯度,则此时的因变量不是z,而是y(x是因变量)或者x(y是自变量)。那么,问题到底出在哪?

2023-03-29 15:14:40 7066 6

原创 torch.gather的用法

以举例的形式介绍了torch.gather的用法

2023-03-03 15:34:19 553

原创 强化学习之Sarsa-lambda方法

介绍了回合更新Sarsa-lamda,并用简单代码进行实现。

2023-02-26 11:26:22 198

原创 强化学习之Deep Q Network的理解

对Deep Q learning进行初步介绍和理解,若不正确还请指正

2023-02-25 12:03:51 339

原创 强化学习之Sarsa

通过将Q-learning和Sarsa对比简单介绍了Sarsa算法,根据个人理解指出了Sarsa算法与Q-learning的不同。最后,通过一个简单例子实现了Sarsa强化学习算法

2023-02-25 11:21:54 258

原创 强化学习之Q-learning

以一个例子简单介绍了Q-learing的方法

2023-02-24 17:57:15 1260

原创 训练好模型的调用和使用

针对之前根据CIFAR10训练好的模型用其对输入图片进行测试,简单介绍使用流程。

2023-02-18 18:27:55 2545

原创 完整的网络训练,测试和保存

通过一个简单的例子介绍网络的搭建,训练,测试和保存。

2023-02-18 17:16:42 313

原创 保存和加载训练模型--torch.save()和torch.load()

介绍两种加载和调用模型的方法.

2023-02-17 20:30:27 1178

原创 已有模型的调用和修改--torchvision.models

以vgg16网络为例,介绍导入已有训练好(直接用来预测)和未训练好的网络(用其框架);还介绍了对已导入网格的修改和添加操作,从而做出适用于自己问题的网络。

2023-02-17 18:54:28 662

原创 优化器的学习--torch.optim

用pytorch框架定义了一个简单卷积神经网络,并采用随机梯度下降法进行了20轮的迭代学习,期间统计了所有样本在每一轮的误差。

2023-02-17 17:49:03 424

原创 损失函数和反向传播

先介绍了3种常见损失函数,需要重点注意交叉熵损失函数的输入格式。后面通过定义一个简单卷积网络和利用交叉熵进行反向传播

2023-02-17 16:59:25 298

原创 pytorch中用nn.sequential搭建简单网络

pytorch中用nn.sequential搭建简单网络

2023-02-17 15:21:07 526

原创 Affine层之nn.Linear()的使用

Affine层也叫线性层,在神经网络全连接用的比较多,即Y = WX+b, 其中W为权重向量,b为偏置。在pytorch中Affine层为采用nn.Linear()类实现

2023-02-17 12:39:18 519

原创 非线性激活函数之nn.ReLU和nn.Sigmoid

以非线性激活函数nn.ReLU和nn.Sigmoid介绍非线性激活函数的用法参数inplace表示是否改变原来的值,例如nn.ReLu(input, inplace= Ture) 表示input的值会改变而nn.ReLu(input, inplace= False) 表示input的值不会改变,可以让output值接收,例如:output = n.ReLu(input, inplace= False) 此时input为原值,而output接收处理后的值建议设置inplace = False, 以免丢

2023-02-17 11:42:49 1247

原创 池化层操作之nn.MaxPool2d的使用

池化层的作用是为了缩减参数。nn.MaxPool2d的使用比较简单,其中参数ceil_model为False表示当输入的一部分小于池化核时则舍弃。

2023-02-17 10:55:38 586

原创 pytorch之nn.Conv2d用法

nn.functional.Conv2d提供了卷积的计算函数,需要自己定义卷积核,输入图像的相关信息(值),从而帮助计算卷积。而nn.Conv2d类仅需要提供输入层,卷积核的尺寸信息即可计算,自动初始化权重等信息。

2023-02-16 20:38:13 807

原创 卷积层操作之Conv2d的使用

Conv2d是位于torch.nn.functional中的方法,用于计算2维图像。

2023-02-16 15:27:36 631

原创 利用torch.nn.module建立简单神经网络框架

利用torch.nn.module建立简单神经网络框架

2023-02-16 14:39:56 188

原创 DataLoader的用法

DataLoader可以将datasets中的数据打包抽取,生成batch_size便于深度学习训练。

2023-02-16 12:53:21 708

原创 torchvision之Dataset用法

pytorch本身自带的Dataset类提供了一些列数据集,比如常用的EMNIST,CORFAR10诸如此类。这里简要介绍如何用Dataset导入这些数据集,以及将这些数据集和transforms配合使用。

2023-02-16 10:50:23 335

原创 pytorch中的图像处理工具-transforms

介绍torchvision中transforms的用法,主要用于对图像进行处理。

2023-02-15 12:45:54 810

原创 Tensorboard学习-add_scaler()和add_image()

pytorch学习之tensorboard的学习

2023-02-14 14:05:18 347

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除