自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郭建鹏的博客

记录学习的内容,提升自我,查缺补漏,变得更加优秀

  • 博客(89)
  • 收藏
  • 关注

原创 将强化学习运用到量化投资中实战篇(执行模块开发)

将强化学习运用到量化投资中实战篇(执行模块开发)文章目录将强化学习运用到量化投资中实战篇(执行模块开发)1.设置程序参数2. 强化学习设置3.运行强化学习强化学习股票投资执行模块(main.py)配置程序参数进行各种条件下的强化学习,根据输入因素使用学习器类进行强化学习,并存储学习到的神经网络。本节内容主要介绍这个模块的程序参数和强化学习执行逻辑。1.设置程序参数通过指定各种选项配置程序参数以执行强化学习。以下代码片段显示了程序参数设置部分。强化学习股票投资执行模块:程序因子设置import o

2022-03-31 18:37:14 2425

原创 将强化学习应用到量化投资中实战篇(学习模块开发下)

强化学习学习模块(learners.py)包含实现各种强化学习方法的类。DQNLearner、PolicyGradientLearner、ActorCriticLearner、A2CLearner 和 A3CLearner 分别是基于深度 Q -learning、策略梯度、Actor-critic、A2C 和 A3C 强化学习技术的类实现。根据股票投资的特点,每种技术在理论上可能略有不同。

2022-03-28 20:48:55 1739

原创 将强化学习应用到量化投资中实战篇(学习模块开发上)

强化学习学习模块(learners.py)包含实现各种强化学习方法的类。DQNLearner、PolicyGradientLearner、ActorCriticLearner、A2CLearner 和 A3CLearner 分别是基于深度 Q -learning、策略梯度、Actor-critic、A2C 和 A3C 强化学习技术的类实现。根据股票投资的特点,每种技术在理论上可能略有不同。

2022-03-22 13:44:31 2121

原创 将强化学习应用到量化投资中实战篇(神经网络模块开发)

在本节内容中,将详细介绍神经网络模块中包含的几个神经网络类的属性和功能,并详细讲解基于 Python和Pytorch 实现的源码。本节内容的神经网络模块包括基本的深度神经网络 DNN、LSTM和卷积神经网络 CNN。

2022-03-20 18:00:00 1629 1

原创 将强化学习应用到量化投资中实战篇(代理模块开发)

代理模块(agent.py)有一个代理类(Agent)。代理类充当购买或出售股票的投资者,并具有称为初始资本、现金余额和股票余额(持有股票余下的股数)的状态。您的现金和股票余额的估值总和就是投资组合价值。我们简称这个PV。投资组合是对一组金融资产(如股票、债券、基金和现金)的估值,但这里只考虑股票,

2022-03-20 08:00:00 2340

原创 将强化学习应用到量化投资中实战篇(环境模块开发)

环境模块(environment.py)包含环境类(Environment)。 环境类管理代理将投资的股票的图表数据。 我们在环境类中有完整的图表数据,按照从过去的时间点到最近的时间点按时间顺序提供数据,其目的是让代理回溯过去并从过去的结果中进行学习。

2022-03-19 12:43:59 1186 1

原创 将强化学习运用到量化投资中实战篇(强化学习架构设计)

通过分析股票投资强化学习中必要的参与因素和作用,RLTrader 的架构主要有数据管理模块(data_manage,py)、主模块(main.py)、学习模块(learners.py)、可视化模块(visualizer.py)组成,其中主模块又分为环境模块(environment.py)、代理模块(agent.py)、神经网络模块组成(networks.py)

2022-03-19 12:25:35 1971 1

原创 如何使用强化学习进行量化投资?

强化学习迄今为止主要用于游戏的人工智能。然而,强化学习的应用范围是无限的。在本文中,我们将了解如何将强化学习应用于股票投资。让我们看看如何将强化学习应用于股票,不需要很难的公式或术语。

2022-03-18 11:38:11 2113 4

原创 什么是强化学习?(主要的强化学习概念)

文章目录什么是强化学习?(主要的强化学习概念)4.主要的强化学习概念4.1 基于模型与无模型(Model-based vs. Model-free)4.2 预测(prediction)和控制(control)4.3 On-policy vs. Off-policy4.4 主要的强化学习技术4.4.1 蒙特卡洛学习((Monte-Carlo learning, MC)4.4.2 时间差分学习(temporal-difference learning, TD)什么是强化学习?(主要的强化学习概念)4.主要

2022-03-17 20:08:51 16282 2

原创 什么是强化学习?(贝尔曼方程)

贝尔曼方程表示上述状态价值函数与状态-行为价值函数之间的关系。贝尔曼方程有贝尔曼期望方程和贝尔曼最佳方程。

2022-03-16 20:00:00 2742 1

原创 什么是强化学习(马尔可夫决策过程)

文章目录什么是强化学习(上)1. 强化学习(概述)2. 马尔可夫决策过程2.1 马尔可夫假设2.2 马尔可夫决策过程2.3 状态值函数(state-value function)2.4 状态-行动价值函数(action-valuefunction)什么是强化学习(上)1. 强化学习(概述)强化学习(Reinforcement learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。强化学习是除了监督学习和非监督学习之外的第三种基本的机器学习方法。与监督学习不

2022-03-16 13:39:15 4761 2

原创 什么是深度学习?

深度学习没有标准定义,但总的来说,深度学习是机器学习(ML)的一种,主要可以看作是人工神经网络(ANNs)的高级模型。这些技术被用作实现人工智能 (AI) 的工具

2022-03-15 19:30:05 8896

原创 牛客day12(判断二叉树是否对称,判断二叉树是否为指定的值,合并二叉树,找到搜索二叉树中错误的节点,没有重复数字的所有排列,两个链表相加生成新的链表)

牛客day12文章目录牛客day121.判断二叉树是否对称题目解题思路1.递归法2.迭代法核心代码1.递归2.迭代2.判断二叉树节点和是否为指定的值题目解题思路核心代码3.1.判断二叉树是否对称题目给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)希望你可以用递归和迭代两种方法解决这个问题解题思路1.递归法递归三部曲1.确定递归函数的参数和返回值因为我们要比较的是根节点的两个子树是否是相互翻转的,进而判断这个树是不是对称树,所以要比较的是两个树,参数自然也是左子树节点和右子树节点。

2021-05-10 12:33:26 287

原创 牛客刷题day11(在两个长度相等的数组中寻找中位数,删除链表中重复的元素,矩阵元素查找,链表的奇偶重排,重排链表,反转数字)

牛客刷题day11文章目录牛客刷题day111.在两个长度相等的数组中寻找中位数题目解题思路核心代码2.删除链表中重复的元素题目解题思路核心代码3.矩阵元素查找题目解题思路核心代码4.链表的奇偶重排题目解题思路核心代码5.重排链表题目解题思路核心代码6.反转数字题目解题思路核心代码1.在两个长度相等的数组中寻找中位数题目给定两个有序数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。上中位数:假设递增序列长度为n,若n为奇数,则上中位数为第n/2+1个数;否则为第n/2

2021-04-15 16:58:54 193

原创 牛客刷题day10(进制转换,链表指定区间反转,最长公共子序列,数组中未出现的最小正整数,表达式求值,判断一个链表是否为回文结构)

牛客刷题day10文章目录牛客刷题day101.进制转换题目解题思路核心代码2.链表指定区间 反转题目解题思路核心代码3.最长公共子序列题目解题思路核心代码4.数组中未出现的最小正整数题目解题思路核心代码1.常规思路2.符合题意5.表达式求值题目解题思路核心代码6.判断一个链表是否为回文结构题目解题思路核心代码1.进制转换题目给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数输入7,2 返回值"111"解题思路除N取余,然后倒序排列,高位补零。说M是32位整数,所以有可

2021-04-14 20:01:38 192

原创 牛客刷题day9(排序,寻找峰值,求平方根,合并K个已经排序的链表,字符串的排列,输出二叉树右视图,单链表的排序,出现次数topk的问题)

牛客刷题day9文章目录牛客刷题day91.排序题目解题思路核心代码2.寻找峰值题目解题思路核心代码3.求平方根题目解题思路核心代码4.合并K个已排序的链表题目解题思路核心代码1.递归解决2.最小堆4.1.排序题目给定一个数组,请你编写一个函数,返回该数组排序后的形式。解题思路关于排序,请看专题排序专栏核心代码关于排序代码,请看专题排序专栏2.寻找峰值题目山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个山峰。找到索引最大的

2021-04-13 19:38:32 229 1

原创 牛客刷题day8(滑动窗口最大值,在转动过的有序数组寻找最大值,验证ip地址,树的直径,在二叉树中找到两个节点最近的公共祖先,二叉树根节点到子节点所有路径和)

牛客刷题day8文章目录牛客刷题day81.滑动窗口最大值题目解题思路核心代码2.在转动过的有序数组中寻找最大值题目解题思路核心代码3.验证ip地址题目解题思路核心代码4.树的直径题目思路核心代码5.在二叉树中找到两个节点最近的公共祖先题目解题思路核心代码6.二叉树根节点到子节点所有路径和题目解题思路核心代码1.滑动窗口最大值题目给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值

2021-04-12 09:01:04 212

原创 牛客刷题day7(删除链表倒数第n个节点,两个字符串最长公共子串,最小编辑距离,岛屿数量,二叉树深度,重建二叉树)

牛客刷题day7文章目录牛客刷题day71.删除链表倒数第n个节点题目解题思路核心代码2.1.删除链表倒数第n个节点题目给定一个链表,删除链表的倒数第 nn 个节点并返回链表的头指针例如,给出的链表为: 1→2→3→4→5, n= 2删除了链表的倒数第 n 个节点之后,链表变为1→2→3→5.解题思路和前几天删除链表第K个节点思路差不多都是使用双指针,这里就不赘述删除第K个节点核心代码class Solution: def removeNthFromEnd(self, hea

2021-04-08 09:37:02 209

原创 排序专栏(冒泡,插入,选择,快速,堆)

排序专栏文章目录排序专栏1.冒泡排序2.插入排序3.选择排序4.1.冒泡排序冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。class Solution: def bubbleSort(self, arr): if not arr:

2021-03-30 11:07:13 282

原创 牛客刷题day6(判断t1树中是否有与t2树拓扑结构,用两个栈实现队列,最长回文字符串,数组中出现的数字超过一半)

牛客刷题day6文章目录牛客刷题day61.判断t1树中是否有与t2树拓扑结构题目解题思路核心代码2.1.判断t1树中是否有与t2树拓扑结构题目给定彼此独立的两棵二叉树,判断 t1 树是否有与 t2 树拓扑结构完全相同的子树。设 t1 树的边集为 E1,t2 树的边集为 E2,若 E2 等于 E1 ,则表示 t1 树和t2 树的拓扑结构完全相同。解题思路使用递归时间复杂度:O ( M ∗ N )当root1什么都没有的时候,在root1里面找不到任何节点直接返回false。当root2提

2021-03-27 19:41:24 221

原创 牛客刷题day5(链表中环的入口节点,删除链表中重复元素,平衡二叉树,股票交易两次交易和不限制交易次数,二叉树根节点到子节点等于制定的数)

牛客刷题day5文章目录牛客刷题day51.链表中环的入口节点题目解题思路核心代码2. 删除有序链表中的重复元素题目解题思路3.平衡二叉树题目1.链表中环的入口节点题目对于一个给定的链表,返回环的入口节点,如果没有环,返回null拓展:你能给出不利用额外空间的解法么?解题思路快慢指针方法:将两指针分别放在链表头(X)和相遇位置(Z),并改为相同速度推进,则两指针在环开始位置相遇(Y),如图所示。快指针与慢指针均从X出发,在Z相遇。此时,慢指针行使距离为a+b,快指针为a+b+n(b+c)

2021-03-27 16:05:33 196

原创 牛客刷题day4(链表中倒数第K个节点,螺旋矩阵,判断回文,求二叉树层次遍历)

牛客刷题day4文章目录牛客刷题day41.链表中倒数第K个节点题目解题思路核心代码2.螺旋矩阵题目解题思路核心代码3.判断回文题目解题思路核心代码4.求二叉树的层次遍历题目解题思路核心代码1.链表中倒数第K个节点题目输入一个链表,输出该链表中倒数第k个结点。如果该链表长度小于k,请返回空。输入:{1,2,3,4,5},1 输出 :{5}解题思路1.定义两个指针,fast,slow指向链表的头结点。2。fast指针先走k步,如果这k步之内fast指针等于空,说明链表长度小于k,直接返回空

2021-03-26 17:58:35 184 2

原创 牛客刷题day3(数组相加和为零的三元组,最长递增子序列,不相邻最大子序和,两个链表的公共节点,设计GetMin功能的栈,大数加法)

牛客刷题day3文章目录牛客刷题day31.数组相加和为零的三元组题目解题思路核心代码2.最长递增子序列题目解题思路核心代码3.不相邻最大子序和题目解题思路核心代码4.两个链表的公共节点题目解题思路核心代码1.数组相加和为零的三元组题目给出一个有n个元素的数组S,S中是否有元素a,b,c满足a+b+c=0?找出数组S中所有满足条件的三元组。注意:三元组(a、b、c)中的元素必须按非降序排列。(即a≤b≤c)解集中不能包含重复的三元组。例如,给定的数组 S = {-10 0 10 20 -10

2021-03-25 17:17:35 158

原创 牛客刷题day2(找到无重复最长字符串,缺失数字,合并有序链表,搜索二叉树完全二叉树,合并区间)

牛客刷题day2文章目录牛客刷题day21.找到无重复最长字符串题目解题思路核心算法2.缺失数字题目解题思路核心算法3.合并有序链表题目解题思路核心代码1.找到无重复最长字符串题目给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。解题思路1.对数组遍历, 并使用临时数组保存遍历过的元素, 如果元素出现,则比较并保存当前的最大长度,同时临时序列保留相同元素后的无重复序列继续遍历2.使用双指针,如果新的元素 与起止指针范围内的元素重复,就暂存当前的无重复序列长

2021-03-23 14:10:30 209

原创 牛客刷题 day1(寻找第K大,镜像二叉树)

牛客刷题 day1文章目录牛客刷题 day1寻找第K大题目解题思路核心算法镜像二叉树题目解题思路核心算法寻找第K大题目有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在解题思路像快排一样,但是每次排完需要与k进行比较,具体比较看代码。1.由于一般排序是从小到大排的,所以注意从小到大排这里是 n-i 与 k进行比较;2.或者从大到小排,则比较 i+1 与 k的大小;核心算法clas

2021-03-22 18:54:46 129

原创 colab使用心得

colab使用心得最近一直在使用colab,为什么我使用colab主要原因是老师无法提供合适的硬件以及自己也无法负担起一个好的显卡。colab一个月10美元,相比国内的百度,阿里以及华为性价比很高。不是我贬低国内的深度学习的虚拟机,目前国内各个平台收费很高,平均五六远一个小时,而且我知道一个国外的资源也是两三元一个小时。百度有免费的,但是框架只能用飞浆框架,听说华为最近也搞了一个深度学习的框架,不过还在构建中,已经开始与高校展开合作。希望国内的算力尽快跟上,感觉和Google真的有一段的距离。Colab

2020-11-17 16:38:09 4145 1

原创 Colab Kaggle 防断开脚本

Colab 防断开鼠标右键,检查,在console先输入如下代码function ConnectButton(){ console.log("Connect pushed"); document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click() }setInterval(ConnectButton,60000);过几秒钟再输入如

2020-11-10 12:42:17 3394 9

原创 爬取动态网站阿里巴巴(1688)商家公司名称及联系方式

爬取动态网站阿里巴巴(1688)商家信息文章目录爬取动态网站阿里巴巴(1688)商家信息(一)爬虫需求:1.目标网站:[阿里巴巴](https://s.1688.com/)2. 爬取阿里巴巴网站上供应商的商家的联系电话3.爬虫难点(二)爬虫思路解析,攻克反爬障碍!2.1 攻克淘宝的验证登录(一)爬虫需求:1.目标网站:阿里巴巴2. 爬取阿里巴巴网站上供应商的商家的联系电话公司名称在输入关...

2020-10-21 20:09:42 8728 18

原创 redis五大数据类型思维导图

redis五大数据类型常见操作命令

2020-10-21 19:30:34 160

原创 mac系统中Qt-Mysql的环境配置

mac系统中Qt-Mysql的环境配置1,安装qt和mysqlQt下载官网 http://download.qt.io/archive/qt/mysql下载官网 https://www.mysql.com/downloads/2.Qt安装Mysql的驱动2.1 配置qmake环境变量为什么要配置qmake环境变量,如果系统原来安装过qt qmake很可能用来的是原来的qmake的环境 我一开始就是因为没有配置qmake导致无法安装mysql驱动打开命令窗口vim ~/.bash_profil

2020-09-28 09:57:28 917 1

原创 目前有那些可用免费GPU资源?

目前有那些可用免费GPU资源?文章目录目前有那些可用免费GPU资源?KaggleColab百度aistudioKagglekaggle网址:kaggle需要注册,如果觉得很麻烦就用goole账号登录,kaggle显卡是16G,废话不说,直接上图kaggle踩过的坑:配置文件,数据集(只读文件)放在/kaggle/input 里面读写文件放在/kaggle/working之中Colabcolab比kaggle好的一点是,文件可以通过goole drive这样修改文件 上传文件的效率要高很

2020-07-03 12:33:03 7771 1

原创 mysass项目日志错误积累

项目日志错误积累2020/06/05问题描述:给多个a标签绑定同一事件,使用$("#project_star").click(function () {},结果前端只有第一个a标签绑定了改事件,$("#project_star").click(function () {}是给单个按钮绑定时间,默认给第一个标签绑定改事件。解决方法:$("[id=project_star]").click(function () {}这样才能给id=project_star的所有标签绑定时间问题积累:boot

2020-06-05 21:45:09 183

原创 轻轻松松学Django(四):模板层(常用以及内置标签)

轻轻松松学Django(四):模板层文章目录轻轻松松学Django(四):模板层1.走近模板层2. 模板层中常用标签2.1 for标签2.2 {{forloop}}2.3 if 标签1.走近模板层作为Web框架,Django需要一种便捷的方式来动态生成HTML。最常见的方法依赖模板。模板文件(templates)包含所需HTML输出的静态部分以及一些描述如何插入动态内容的特殊语法。有关使用模...

2020-04-19 14:55:34 277

原创 轻轻松松学Django(三):视图层

轻轻松松学Django(三):视图层文章目录轻轻松松学Django(三):视图层1. 走近视图层2.编写视图层函数3.视图层常见的三种响应对象3.1 HttpResponse()3.1.1.HttpRequest.GET3.1.2.HttpRequest.POST3.1.3.HttpRequest.body3.1.4.HttpRequest.path3.1.5.HttpRequest.metho...

2020-04-16 21:14:24 282

原创 轻轻松松学Django(二):路由层(django.urls URLconfs)

轻轻松松学Django(一):路由层(django.urls URLconfs)文章目录轻轻松松学Django(一):路由层(django.urls URLconfs)1.path(route,view,name,kwargs)详解1.1 四个参数详解1.2 参数route匹配规则2. re_path(route, view, name,kwargs)详解3.include()函数详解3.1 i...

2020-04-15 20:53:10 410 1

原创 轻轻松松学Django(一):Django的自我简介

轻轻松松学Django(一):Django的自我简介文章目录轻轻松松学Django(一):Django的自我简介1. Django来源2. MVC与MTV模型2.1 MVC2.2 MVT3. Django下载与基本命令3.1 如何下载安装?3.2 基本命令3.2.1 创建一个django project3.2.2 创建一个新应用3.2.3 启动django项目3.2.4 浏览器打开第一个页面...

2020-04-14 18:30:11 427 1

原创 Django常见报错及解决方法

Django常见报错及解决方法文章目录Django常见报错及解决方法报错一 :python int too large to convert to C long解决方案一解决方案二报错二:django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not confi...

2020-04-14 10:40:58 1257 1

原创 爬取静态网站信息公司名称以及电话

文章目录爬虫需求:需要爬取的网站 [目标网站](http://shop.jc001.cn/r1-231/?p=1)爬取内容:需要爬取网站的公司名称以及电话该网站有6000多条信息爬虫思路解析1.封装函数获取网站所有页码2.通过获取页面的url去解析获取每一个详情页的url3.网站详情页请求以及解析3.1详情页请求函数3.2详情页解析函数(解析需要内容,并存储)3.3详情页解析总函数UA伪装以及代理...

2020-04-07 19:47:57 1611 1

原创 并发编程-多线程

多线程文章目录多线程创建线程的两种方式Thread对象的其他属性或方法守护线程GIL解释器锁多线程性能测试死锁现象递归锁创建线程的两种方式第一种:rom threading import Threadimport timedef sayhi(name): time.sleep(2) print('%s say hello' %name)if __name__ ==...

2019-11-12 21:35:24 164

原创 线程理论知识

线程理论知识文章目录线程理论知识有了进程为什么要有线程?进程和线程之间的关系内存中的线程python线程模块的选择有了进程为什么要有线程?进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上:进程只能在一个时间干一件事,如...

2019-11-12 19:51:35 147

空空如也

空空如也

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

TA关注的人

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