- 博客(13)
- 收藏
- 关注
原创 DQN(Deep Q Network)及其代码实现
为什么需要DQN我们知道,最原始的Q-learning算法在执行过程中始终需要一个Q表进行记录,当维数不高时Q表尚可满足需求,但当遇到指数级别的维数时,Q表的效率就显得十分有限。因此,我们考虑一种值函数近似的方法,实现每次只需事先知晓S或者A,就可以实时得到其对应的Q值。DQN中采用了深度神经网络作为值函数近似的工具,这种方法被证明十分有效。DQN简介Q-learning算法很早就有了,但是其与深度学习的结合是在2013年的DeepMind发布的《Playing Atari with Deep R
2021-08-18 20:46:15
30843
14
原创 策略迭代与价值迭代
简介这篇博客对应课程的Topic2)前面我们讲到,强化学习的最终目的是为了得到一个最优的策略方案而不是监督学习这类问题的模型。而在一开始我们往往对于最优策略一无所知。我们需要做的是不断向我们的最优策略逼近。对于最优策略的获得我们一般的思路包括策略迭代和价值迭代两种,它们之间有着区别,也有着很多的共性。策略迭代策略评估和策略提升策略评估是策略迭代的一个步骤。策略评估的本质通俗来说,就是计算在服从当前策略时,各个状态的价值函数,原理仍然是基于贝尔曼方程。这个方法有很多,包括前文讲的DP动
2021-08-18 20:41:45
1702
原创 MDP 与 贝尔曼方程
Markov Decision Process学习强化学习接触到的第一个概念可能就是马尔可夫链(Markov Chain,MC)和马尔可夫决策过程(Markov Decision Process,MDP)了。简单来说,就是下一步要发生的事与过去无关,只与现在相关。MC分为离散型和连续性,离散型的数学定义如下:按照MC去实行决策的过程叫MDP,马尔可夫决策过程。我们需要判断某个过程是否满足基本MDP的定义,才能进一步将其定义成MDP,定义一个MDP,有一套流程:首先准确的找到State,即状态空
2021-08-18 20:40:23
604
原创 基于BERT的新闻文本分类
2017年Transformer模型横空出世,encoder-decoder的创新效果显著,2018年Google又提出了BERT预训练模型,可谓是大大推动了NLP的进步,关于transformer和BERT的文章网上已经有很多大佬写了,对于transformer不熟悉的同学可以先自学一波,本文主要用BERT结合微调实现一个包含十五个类别的新闻文本分类任务,菜鸟一枚,各位大佬多多指教!准备工作模型搭建5分钟,数据处理一小时。机器学习中数据处理的功夫是必不可少的,毕竟,数据决定模型的天花板嘛我.
2021-08-18 20:33:19
5489
8
原创 基于CNN的情感分析(文本二分类)
引言最近学习了卷积神经网络,想上手一个小项目实践一下,该项目的数据集来自于github,内容为汽车售后正负面评价,借助pytorch实现对模型的训练并完成test集中对于某条评价的二分类。1.数据的预处理在自然语言处理中,不可避开的话题就是词向量,我借助的是torchtext这个工具库来实现词向量的构建分词器def tokenizer(text): # create a tokenizer function regex = re.compile(r'[^\u4e00-\u9fa5aA-Za
2021-03-12 12:36:03
3886
1
原创 SQL学习笔记一
1,创建数据库CREATE DATABASE students;2,创建表CREATE TABLE grades(name VARCHAR(10) NOT NULL,class CHAR(10) NOT NULL,gender CHAR(1) NOT NULL,score INTEGER NOT NULL,PRIMARY KEY (name));2,删除表DROP TABLE grades; 删除操
2021-03-03 19:08:32
60
1
原创 数组二分法的区间左闭右闭写法
int len = nums.size(); int left = 0,right = len-1;//target定义在左闭右闭区间 while(left<=right){//left==right满足左闭右闭 int middle = (left+right)/2; if(nums[middle]>target){ right = middle-1; }
2021-02-22 09:47:26
384
原创 c++字符串之双指针与字符填充问题
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”思路:1,先计算替换后字符串的大小 2.再借助两个指针从末尾往前遍历,可大大减少复杂度#include<iostream>#include<string>using namespace std;int main(){ string s="we are happy"; int count =
2021-02-21 18:17:10
266
原创 string转为int 借助c_str()和atoi()
int main(){ string s="1111"; int num = atoi(s.c_str()); cout<<num<<endl;}用s.c_str()将其转化为const * char 再用atoi()函数转化为int
2021-02-21 11:22:28
244
原创 int 型转为string型,然后插入原有string字符串
利用好string to_string()string s = "abcdef";int count = 1;string temp = to_string(count);s.append(temp);//append函数用来拼接两个字符串,一开始我用的是s.push_back(),该函数的操作对象应该是某个字符而不是string类型...
2021-02-06 10:30:43
191
原创 十进制转二进制的递归用法及除2取余法
十进制转二进制的递归用法及除2取余法直接上图先写一个递归函数fun(),再写main(),即可将十进制数转为无前缀0的二进制数,建议作为模板记忆上图是除2取余法,核心代码为 k = temp%2;//除2取余法 temp = temp/2;}...
2021-01-29 19:48:03
1549
原创 pip install matplotlib报错
学数据分析的时候遇到需要安装matplotlib库的情况,命令行用pip install matplotlib会出现如下报错:找了半天没找到解决办法,后面看教程里面说数据分析可以用Anaconda,里面有很多装好的包,于是就下载了一下,在配置了环境之后,发现再次调用matplotlib已经可以了现在再pip install matplotlib就会显示ok了,有一说一,Anaconda是真...
2019-11-07 20:49:18
2103
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人