- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 04 贝尔曼最优公式
本文来自西湖大学赵世钰老师的B站视频。本节课介绍最优策略和贝尔曼最优公式。贝尔曼最优公式是贝尔曼公式的一个特殊情况,本次学习有两个重要概念和一个工具。(1) 两个概念:optimal state value 和optimal policy.(2) 一个工具:bellman optimality equation(BOE).强化学习的目标就是寻找最优策略,因此本文主要讲最优策略。
2024-05-13 11:07:12 620
原创 服务器2080ti驱动的卸载与安装
安装transformers库,运行bert模型时出错,显示torch版本太低,要2.0以上的,所以更新显卡驱动,重新安装pytorch。
2024-05-07 17:59:50 724
原创 03 贝尔曼公式
本文来自西湖大学赵世钰老师的B站视频。本节课主要介绍贝尔曼公式。本节课概要:本节课需要抓住两个内容,state value 和 the Bellman equation。
2023-11-06 17:36:39 278
原创 01强化学习的数学原理:大纲
本文来自西湖大学赵世钰老师的B站视频。本文首先对要学习的内容做一个总结,没有基础的看不懂也很正常,可以先了解一下,后期学完各个章节之后再回头来看。基本概念:状态、动作、奖励、回报、episode、策略…。通过一个网格世界的例子,一个机器人找到目标区域的例子。之后会将这些概念放在Markov decision process(MDP)的框架下去介绍。
2023-09-19 20:34:54 366
原创 PyTorch Geometric (PyG) 库的安装
最近在学习图神经网络,需要用到PyG库,发现这个库的安装不能简单的使用pip install 安装,这里记录一下。
2023-05-11 11:28:53 5219 4
原创 Transformer模型各模块详解及代码实现
transformer在各个领域的应用越来越广,本文从实用的角度出发,对transformer各个模块进行讲解与实现。主要参考如下:1、论文参考:Atttion is all you need。2、NLP理论参考:预训练模型的前世今生。3、代码参考:hyunwoongko。4、代码参考:Pytorch官方文档。① 词向量就是用一个向量来表示一个单词,词向量是一个矩阵,矩阵的行数代表单词个数,列数代表每个单词的长度。
2023-05-09 18:15:46 4726
原创 Pytorch教程之torch.mm、torch.bmm、torch.matmul、masked_fill
这几天正在看NLP中的注意力机制,代码中涉及到了一些关于张量矩阵乘法和填充一些代码,这里积累一下。主要参考了pytorch2.0的官方文档。
2023-03-28 16:27:12 1977
原创 Pytorch教程之张量
Tensor中文翻译张量,是一个词不达意的名字。张量在不同学科中有不同的意义,在深度学习中张量表示的是一个多维数组,它是标量、向量、矩阵的拓展。标量是零维张量,向量是一维张量,矩阵是二维张量。tensor之于pytorch等同于ndarray之于numpy,它是pytorch中最核心的数据结构,用于表达各类数据,如输入数据、模型的参数、模型的特征图、模型的输出等。各类张量的api如下:可以参考。
2023-03-16 15:45:35 1289
原创 克里金(kriging)模型的推导详解
Kriging模型理论推导1、前言2、条件3、基础知识3.1、方差的理解3.2、概率密度函数3.3、多元正态分布4、理论推导4.1 模型建立1、前言简介:Kriging模型是一种通过已知试验点信息来预测未知试验点上响应的无偏估计模型,其最早是由南非矿业工程师D.G.Krige于1951年提出。20世纪70年代,法国的数学家G.Matheron对D.G.Krige的研宄成果进行了进一步的系统化、理论化,并将其命名为Kriging模型。1989年Sacks等将Kriging模型推广至试验设计领域,形成了基于
2021-10-15 16:48:56 29834 14
原创 目标检测之Faster RCNN理论概述
Faster RCNN1、简介2、RCNN3、Fast-RCNN4、Faster-RCNN(1) 特征提取模块(2) RPN模块(3) RoI Pooling模块(4) RCNN模块5、总结1、简介在2014年RCNN算法问世之后,经历了众多版本的改进,但具有里程碑式意义的当属Fast RCNN与Faster RCNN算法,下面就这三个算法,按照时间顺序进行介绍。2、RCNN在RCNN出现之前,常用的物体检测流程如下:(1)首先,将图像作为输入,然后切分成不同的区域;(2)然后讲每个区域视为单独
2021-10-12 10:53:50 2187
原创 3、贝叶斯优化相关理论知识
贝叶斯优化1、问题的提出2、贝叶斯基础知识3、贝叶斯优化流程3.1 高斯过程回归4、代码实战1、问题的提出① 在介绍贝叶斯优化之前,我们先来介绍一下机器学习的一般思路,机器学习可以看作是一个黑盒子模型,我们输入一个X,通过机器学习模型得到一个输出y,也即是:图中样本矩阵如下图:通过机器学习模型,我们可以给每一个特征分配一个权重w,如果有m个特征,那么就有m个权重w,这些权重可以组成一个参数矩阵W,机器学习就是通过对大量样本进行训练,更新并确定这个权重矩阵的(以三个特征为例,见下图)。② 由上
2021-07-27 10:44:14 2090
原创 2、机器学习中的调参:随机搜索和网格搜索
机器学习中的调参前言1、随机搜索和网格搜索2、 遗传算法前言超参数调优是机器学习中的重要一环,拿随机森林算法而言,树的个数,数的深度,剪枝参数等等需要找到最优的参数组合,超参数较少时,我们可以采用for循环遍历所有参数的可能组合,但参数很多时,最优参数的搜寻将会变得困难,本文介绍了几种常用的调参方法,后续如果学到还会更新其他调参算法。其中网格搜索法和随机搜索法采用的是sklearn中的GridSearchCV类和RandomizedSearchCV类,所用实例的数据集点击这下载,数据集为爱荷华州住房数据
2021-07-20 15:40:50 7552 4
原创 1、最小二乘回归、Lasso、岭回归
回归算法理论知识1、最小二乘回归2、Lasso回归3、Ridge岭回归4、Elastic Net 弹性网代码演示1、数据集的获取2、代码实操总结理论知识1、最小二乘回归假设有m个特征,n个样本点,则输入数据为:于是可以得到:由此我们计算得到的损失为:优化w,对w求偏导得:由此可以得到:上述公式共包含有逆矩阵,而逆矩阵存在得前提是该矩阵为满秩矩阵。但实际中得特征矩阵往往不是满秩矩阵,此时可利用加正则化的数学方法进行改进。2、Lasso回归加上一个L1范数惩罚:3、Ridge
2021-07-18 20:41:51 1644 1
原创 LeedCode知识点之位运算
LeedCode知识点之位运算一、python中的位运算1、相关概念2、实例技巧一、python中的位运算1、相关概念概念1:python中的位运算符是把数字看作二进制来进行计算的。概念2:需要掌握十进制与二进制之间的转换方式。举例如下:a为二进制数0111001,则转换为对应十进制应该为:57。a的二进制数从后往前依次乘以2的0次方,2的一次方等等,最后加在一起得57。2、实例技巧例1:# 60的二进制是00111100,1的二进制数是00000001# &符号的意思是如果相应
2021-05-29 19:19:25 336
原创 遗传算法的原理与python实现
遗传算法一、整体理解二、相关概念三、遗传算法大致流程四、代码解析完整版代码和结果一、整体理解遗传算法的思想就是物竞天择,适者生存,通过N代的遗传、变异、交叉、复制,进化出问题的最优解。举个简单的例子(可能不太恰当,理解就行):假设有一群猫,有一种病毒,有的猫对这种病毒免疫,而有的猫不免疫,我们想让所有的猫都具有抗病毒能力,那就将这些猫放在这种病毒环境中,则具有免疫病毒能力的猫活了下来,不具有抗病毒能力的猫死了,经过繁衍、迭代,到最后只剩下抗病的猫,因为猫把抗病毒这个优秀基因留给了后代。二、相关概念相
2021-04-13 22:17:12 2740
原创 1、pthon中类包含的方法
目录1、区分2、代码实例1、区分Python类包含三种方法:实例方法、静态方法和类方法。参考的有python基础教程,实例方法:要想调用实例方法,必须要实例化类,然后才可以调用。也就是说,调用实例化方法需要类的实例(对象)。静态方法:静态方法在调用时不需要类的实例(静态方法不需要self参数),定义静态方法需要@staticmethod装饰器(decorator)。当这个类中所有对象都具有该方法时,常用静态方法。类方法:类方法的调用方式与静态方法一样,但是类方法却与实例方法的定义相同,都需要类似于
2021-04-12 09:18:13 817 2
原创 图像识别pytorch入门1
目录1、基本数据Tensor1.1、Tensor数据类型1.2、Tensor之间的类型转换1.3、Tensor的创建与维度查看查看Tensor种元素总个数1.4 Tensor的索引与变形1.4.1 索引1.4.2 变形操作一:view()、resize()、reshape()函数1、基本数据TensorTensor,即张量,是PyTorch中的基本操作对象,可以看做是包含单一数据类型元素的多维矩阵。从使用角度来看,Tensor与NumPy的ndarrays非常类似,相互之间也可以自由转换,只不过Tens
2021-04-09 15:20:06 1525
原创 2、合并排序数组
目录1、问题描述2、问题实例3、代码实现3、代码思考与拓展1、问题描述合并两个升序的整数数组A和B,形成一个新的数组,新数组也要有序。2、问题实例输入A=[1],B=[1], 输出[1,1],返回合并后的数组,输入A=[1,2,3,4], B=[2,3,4,5], 输出[1,2,2,3,4,4,5,6], 返回合并所有元素后的数组。3、代码实现书中代码:class Solution(): # 参数A:有序整数数组A # 参数B:有序整数数组B # 返回:一个新的有序整数
2021-04-05 15:49:14 830
原创 1、反转一个3位整数
目录1、问题描述2、代码实现书上版本改进版本3、代码思路4、知识点1、问题描述输入number=123,输出321;输入900,输出9。2、代码实现书上版本class Solution(): # 参数是整数number,返回值是一个反转后的数字 def reverseInteger(self, number): h = int(number/100) t = int(number % 100/10) z = int(number %
2021-04-03 17:12:05 430 1
原创 问题1、图像分割预测时原始图片大小与预测图片大小不一致
以Unet网络为例1、背景2、添加灰度条3、思路与代码1、背景在进行图像分割预测的时候,我们输入网络的图片往往是正方形的(512x512,224x224甚至更小),那么预测出图片的大小也和输入网络的图片大小一样,是正方形的,怎么让预测出来的图片和原始图片长宽比例相同呢?代码与思路如下:2、添加灰度条由于在图片进入到网络之前,往往需要裁剪或者resize,那么对于原始图片是长方形的,如果裁剪,则会丢失信息,如果resize则会失真,因此添加灰度条是保证图片既不会失真也不会丢失信息的一个方法。3、思路
2021-04-02 18:56:55 5920 5
原创 1、pandas入门示例
pandas1、导入数据并查看2、对DataFrame信息进行提取1、导入数据并查看1、导入相关库# -*- coding : utf-8 -*-#coding: unicode_escapeimport pandas as pdimport matplotlib.pyplot as pltimport numpy as np2、读入数据并复制,防止后续处理损坏源数据data_features=pd.read_csv('./dataset/550_70s.csv',error_bad_l
2021-04-02 17:21:12 249
原创 Pearson相关系数
Pearson和Spearman相关系数一、皮尔逊(Pearson)相关系数二、Pearson相关系数的Python实例斯皮尔曼(Spearman)相关系数Python实例一、皮尔逊(Pearson)相关系数1、协方差能完美的解释两个变量之间相关的方向,但在解释强度上却不太行,举个例子:每个变量都是有量纲的,这里假设变量x的量纲为距离,可以是米,也可以是千米,甚至可以是光年,针对协方差的量纲问题,统一除以同样的量纲就可以搞定。正态分布标准化需要除以标准偏差,标准偏差的量纲与变量一致,这样就可以消除量纲了
2021-03-25 10:14:25 5041 2
原创 13、三维图绘制及添加文本
目录1、简述2、3D line plot3、3D Scatter plot4、三维等高线图(3D Contour Plot)5、三维线框图(3D Wireframe plot)6、三维曲面图(3D Surface plot)7、添加文本(Working With Text)1、简述尽管Matplotlib最初设计时只考虑了二维绘图,但在后来的版本中,在Matplotlib的二维显示基础上建立了一些三维绘图实用程序,为三维数据可视化提供了一套工具。通过导入Matplotlib软件包中包含的mplot3d工
2021-01-18 16:40:10 3411 1
原创 12、箱形图和小提琴图的绘制
摘要:箱形图也被称为胡须图,它显示了一组数据的摘要,包括最小值、第一四分位数、中位数、第三四分位数和最大值。在箱形图中,我们从第一个四分位数到第三个四分位数画一个箱形。在中位数处有一条垂直线穿过方框。晶须从每个四分位数到最小值或最大值,如下图实例所示:让我们为boxplots创建数据。我们使用numpy.random.normal()函数来创建假数据。它需要三个参数,正态分布的平均数和标准差,以及所需值的数量。np.random.seed(10)collectn_1 = np.random.norm
2021-01-18 16:01:36 1377
原创 11、quiver(x,y,u,v)
摘要:quiver plot以箭头形式显示速度矢量,在点(x,y)处有分量(u,v)。对应的函数如下:quiver(x,y,u,v)参数:参数解释x1D或2D阵列、序列。箭头位置的x坐标y1D或2D阵列、序列。箭头位置的y坐标u1D或2D阵列、序列。箭头向量的x分量v1D或2D阵列、序列。箭头向量的y分量c1D或2D阵列、序列。箭头颜色下面看一个简单的实例:import matplotlib.pyplot as pltimport n
2021-01-18 15:54:25 1134
原创 10、等高线图
目录等高线图(有时也叫水平图)是在二维平面上显示三维曲面的一种方法。它将y轴上的两个预测变量X Y和一个响应变量Z绘制成等值线图。这些等高线有时被称为z切片或等值线响应值。如果你想知道Z的变化是如何作为两个输入X和Y的函数,如Z=f(X,Y),等高线图是合适的。两个变量函数的等高线或等值线是一条曲线,该函数的数值是恒定的。独立变量x和y通常被限制在一个叫做meshgrid的规则网格中。numpy.meshgrid可以用x值的数组和y值的数组创建一个矩形网格。Matplotlib API包含conto
2021-01-18 15:39:17 2358
原创 9、散点图的绘制
目录散点图用于在水平轴和垂直轴上绘制数据点,以显示一个变量受另一个变量的影响程度。数据表中的每一行都用一个标记来表示,其位置取决于其在X轴和Y轴上设置的列中的值。第三个变量可以设置为与标记的颜色或大小相对应,从而为绘图增加另一个维度。scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=<depre
2021-01-18 15:28:40 1466 1
原创 8、饼图(ax.pie)
目录下表列出了饼状图的各项参数:ax.pie(x, explode=None, labels=None, colors=None, autopct=None, shadow=False, startangle=None, radius=None, textprops=None, ...)x数据序列explode扇形块远离圆心的举例labels数据对应标签autopct用于指定每个扇形块标注文本的样式,比如:定义百分数精度colors颜色shadow
2021-01-18 15:12:44 2479
原创 7、matplotlib条形图的绘制
目录1、ax.bar()函数2、绘制单个条形图3、绘制水平交错的条形图4、多个条形图堆叠的绘制5、条形图横向显示1、ax.bar()函数条形图可以垂直或水平绘制。条形图显示离散类别之间的比较。图表的一根轴显示被比较的具体类别,另一根轴代表测量值。Matplotlib中,条形图用以下的函数来画:ax.bar(x, height, width, bottom, align)该函数制作了一个大小为(x -width=2;x+width=2;底;底+高)的约束矩形的条形图。参数解释如下:参数
2021-01-15 11:05:18 6948
原创 6、set_xlim、set_ylim、xticks、yticks、set_xlabels、set_ylabels 和 双坐标轴twin()
目录1、set_xlim()、set_ylim()2、 xticks() 、yticks()、set_xlabels()、set_ylabels()3、双坐标轴1、set_xlim()、set_ylim()Matplotlib会自动得出沿x、y(和z轴,如果是3D图)轴显示的变量的最小值和最大值。然而,可以通过使用set_xlim()和set_ylim()函数明确地设置限制。实例如下:下面代码是自动设置轴变量的:import matplotlib.pyplot as pltimport numpy
2021-01-13 11:17:02 27914 2
原创 5、maplotlib中的轴刻度和轴线
文章目录1、轴刻度2、轴线1、轴刻度解决的问题:有时,一个或几个点比大部分数据大得多。在这种情况下,需要将轴的刻度设置为对数刻度,而不是普通刻度。这就是对数比例尺。在Matplotlib中,可以通过设置axes对象的xscale或vscale属性为’log’来实现。有时也需要在轴号和轴标签之间显示一些额外的距离。可以将任一轴(x或y或两者)的labelpad属性设置为所需的值。通过下面的例子来演示上述两种功能。右边的子图有一个对数刻度,左边的一个子图的x轴有更远的标签。import matplotli
2021-01-13 10:25:56 913
原创 4、matplotlib中的子图相关subplot
文章目录1、如何创建多个子图2、subplots()函数3、subplot2grid()函数4、grids函数5、tight_layout()本章主要介绍画布中的子图涉及的相关内容。1、如何创建多个子图matplotlib中创建多个子图所用到的函数为:plt.subplot(subplot(nrows, ncols, index)解释: 在当前的图中,函数创建并返回一个Axes对象,其位置索引为nrows乘ncolsaxes的网格。如果nrows、ncols和index都小于10,则索引从1到n
2021-01-12 20:05:47 1246
原创 3、plt.figure()和Axes类
Figure类和Axes类本文从介绍一下Figure类和Axes类,以及一些实例。1、Figure类matplotlib.figure模块包含了Figure类。它是所有绘图元素的顶层容器。Figure对象是通过调用pyplot模块中的fig()函数来实例化的。如下所示:fig = plt.figure()它有一下几个参数:参数解释figsize(宽,高),是个元组,表示Figure的大小dpi每英寸的点数,也就是分辨率facecolor图片贴片的颜色
2021-01-12 12:05:59 2225
原创 2、matplotlib中的 ax=fig.add_axes([0,0,1,1])详解
转载请附原文地址,谢谢。从结果的角度考察ax=fig.add_axes([0,0,1,1])的作用1、前言:(可跳过)虽然使用matplotlib.pyplot模块可以很容易地快速生成图,但建议使用面向对象的方法,因为它可以为你的图提供更多的控制和定制。大部分的函数也可以在matplotlib.axes.Axes类中使用。使用更正式的面向对象方法背后的主要想法是创建图对象,然后只需调用该对象的方法或属性。这种方法有助于更好地处理画布上有多个图的情况。但是在面向对象的界面中,Pyplot只用于创建图形
2021-01-12 11:13:03 29535 5
原创 1、matplotlib绘制一个简单的图形
翻译自matplotlib英文文档。第一章:使用matplotlib绘制一个简单图形现在我们将在Matplotlib中显示一个简单的弧度角与正弦值的直线图。首先,导入Matplotlib包中的Pyplot模块,为了约定俗成,它的别名为plt:import matplotlib.pyplot as plt接下来我们需要一个数组来绘制。在NumPy库中定义了各种数组函数,它与np别名一起导入:import numpy as np现在我们使用NumPy库中的arrange()函数获得0和2π之间的
2021-01-11 15:56:01 228 1
原创 PCA中的协方差
PCA中的协方差协方差什么是特征矩阵协方差与相关系数合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入协方差记录的主要是降维算法PCA中的协方差,最近在学习PCA,对协方差这一块儿进行一个总结,方便个人复习回顾,本文为个人理解,难免会有错误
2020-12-24 16:10:25 2961
原创 sklearn中的降维算法(PCA)(原理相关)-1
一、维度:1、对于数组和series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维。2、维度指的是样本的数量或特征的数量,一般无特别说明,指的都是特征的数量。3、对图像来说,维度就是图像中特征向量的个数,特征向量可以理解为坐标轴,一个特征向量代表一维。也就是说,三维及一下的特征矩阵是可以被可视化的,三维以上的则不能。二、特征矩阵:特征矩阵特指二维,一定有行列,一个特征是一维。若将特征矩阵用pandas的DataFrame表示,形式如下: ...
2020-12-23 21:25:59 767
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人