- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 理解Attention机制的query key value
本文介绍了深度学习的注意力机制(Attention),并解释了query key value 的意义。
2022-11-23 12:23:22
2771
1
原创 Leetcode 1320 (一维DP)
题意给定一个英文单词,用两只手指去码字。每只手指移动所需要的代价为键盘上两字母之间的距离,求码完整个单词所需要的最小代价。解法最直观的想法是,运用dp[idx][pos1][pos2]dp[idx][pos1][pos2]dp[idx][pos1][pos2]来表示输入到第idxidxidx个字母,并且第一只手指在pos1pos1pos1,第二只手指在pos2pos2pos2时的最小代价。这...
2020-02-22 09:28:37
552
原创 算法题中求解绝对值最值的技巧
引言现在算法题中,有时会遇到求解两两绝对值的问题,比如求解abs∣ai−aj∣+∣i−j∣abs|a_i - a_j| + |i-j|abs∣ai−aj∣+∣i−j∣等等。
2020-02-22 08:33:20
3524
原创 Python手写神经网络之(三)循环神经网络
目的 这个博客简要分享下RNN神经网络的python3写法。同时欢迎大家指出代码中潜在问题,一起学习与讨论~ 直接上代码:https://github.com/Site1997/RNN-implementation个人repo:RNN的python实现设计思路这里就是实现一个非常非常简单的RNN。如果写完了一遍CNN的前向和反向传播话,RNN前后向传播也是相对好写的吧。主要注意三个问...
2020-01-01 22:18:33
537
原创 Leetcode 375 (DP O(n^2)解法)
题意对方从1~n里面选一个数字,然后我来猜,每次猜后,对方会告诉我是大了,小了,还是正确。假如我猜xxx,猜错的的话要付给他xxx元前,问我得钱包里至少放多少钱才能保证我能猜到他的数字。O(n^3) 解法这个题O(n3)O(n^3)O(n3)解法是容易想到的,状态转移方程如下:f(a,b)=mina≤k≤b(max{f(a,k−1),f(k+1,b)}+k) .f(a,b)...
2019-08-31 09:00:55
1317
原创 Actor Critic算法简要理解
问题:给定一个state,如何找到一个action,使得这个action带来的reward最大?Actor Critic算法:网络定义Actor和critic分别是两个结构不同神经网络。(其实,它们还各有一个与自身结构相同,但是参数权值不同的孪生网络。一个记为eval_net,一个记为target_net。所以一共是四个网络)ActorActorActor:输入(state),输出(a...
2019-04-08 13:56:32
3129
原创 决策树相关算法
本博文记录决策树相关算法原理,用来对付面试问题…决策树决策树信息熵:entropy(D)=−∑i=1nPilog2Pientropy(D) = -\sum_{i=1}^n P_ilog_2 P_ientropy(D)=−∑i=1nPilog2PiGain(A)=entropy(D)−entropyA(D)Gain(A) = entropy(D) - entropy_A(D)Gain...
2018-12-15 01:10:22
307
原创 PCA算法笔记
(此博文只是自己的学习笔记,不具参考价值)Principal component analysis (PCA)PCA算法将高维特征转换成低维特征(非线性相关),同时减小计算量。原理将原始数据按列组成mmm行nnn列矩阵XXX(mmm个属性,nnn个样本)将XXX的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值,得到X′X'X′求出协方差矩阵CCC(计算方...
2018-11-06 05:28:20
368
4
原创 R-CNN,Fast R-CNN,Faster R-CNN学习笔记
引言 近年来,目标检测最流行的方法可谓是Faster R-CNN了,下面我会简要概括这些方法的步骤,同时详细叙述一些key points。先供上来自Coursera-DeepLearning中Andrew Ng对R-CNN发展中各个方法的精简概括:![R-CNN](http://img.blog.csdn.net/20180212211624422?watermark/2/text/a...
2018-09-19 00:04:50
558
2
原创 hdu 6304
(找规律) 题意: 给定一个数列,以及TTT(T<105T<105Tnnn(n<1018n<1018nnnn项和。 思路: 先打表,看看anana_n和SnSnS_n(将数列的前n项和记为SnSnS_n)有什么规律。 nnn : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 anana_n : 1, 1, 2, 3, 3, 4...
2018-08-16 22:29:51
420
原创 hdu 6308
(浮点数精度) 题意:求UTC+8时区的某个时间对应到另一个UTC+X.Y时区的时间为多少。思路:将时区全部转换成分钟进行运算即可。注意:这个题目坑点是浮点数计算存在精度误差,有时候需要手动加上一个eps(0.00001)来避免运算误差。 下面用一个for循环的实验来围观一下这个运算误差: for (double offset=0.1; offset<10; off...
2018-08-11 12:19:48
292
原创 Tensorflow-制作与使用tfrecord数据集
引言 本次博文目的是记录下tfrecord数据集的制作与使用方式。(踩了无数坑OTZ) 这里贴上一个数据读取的官方教程:Tensorflow导入数据以及使用数据 接下来举个例子说明怎么用tfrecord,假设我要做个图片分类的任务。首先,我这里有一个txt文件,包含着所有图片的路径以及它们的标签。还有一个包含许多图片的文件夹。类似下图这样: 准备好了数据后,就可以制...
2018-03-31 21:24:17
3484
1
原创 Faster R-CNN的测试过程分析
引言 这篇博客里,我主要分析一下faster rcnn的测试过程是如何实现的。每个小结我都会以某个py文件的名字作为标题,表示以下内容是对此文件的分析。test.py test.py是用来测试网络的准确度的主要代码,下面我来分析下这个文件里面最主要的函数test_net()。 test_net的输入是faster r-cnn网络,图片等信息,输出的是对这些图片里面物体进行...
2018-03-14 16:22:41
2931
原创 Faster R-CNN中的anchor理解
首先,RPN是怎么选出候选区域的?见上面示意图。在VGG网络提取整个特征图像后,我们使用一个3*3的滑窗在这个图像上滑动,对于每一个位置,我们同时预测k个不同region proposals,所以左上角的分类层含有2k个输出(表明是否为物体的概率),右上角的边框回归层有4k个输出(表示region的坐标到groundtruth的坐标的四个矫正量)。其中,这k个proposals分别对应原图...
2018-02-15 00:21:54
7454
2
原创 Python手写神经网络之(二)LeNet卷积神经网络
目的 在学习完BP神经网络的推导以及卷积神经网络的推导后,我已经用python(不带任何深度学习框架!)自己手写出一个LeNet卷积神经网络了!同时欢迎大家指出问题,一起学习与讨论~ 由于篇幅限制,这里只会贴出核心代码(保证运行正确无误!!)。 打个广告:https://github.com/Site1997/LeNet-python (这里包含所有代码,下载后直接运行L...
2018-02-09 15:45:33
3426
10
原创 突出左侧栏标题能有分割线
由于左侧栏目的文章数量大于零才能显示栏目,而我有些栏目就是为了作为分割线的,所以写这篇博客,强制制造一个标题分割线出来哈哈
2018-01-28 21:48:03
381
原创 Python手写神经网络之(一)BP神经网络
目的 在学习完BP神经网络的推导后,我会用python(不带深度学习框架!)自己手写出一个简单的BP神经网络,以此加深对神经网络的理解,同时欢迎大家指出问题,一起学习与讨论~设计思路 本次我只使用了numpy库,为了简明易懂,使用类封装的方法,做了一个含有:四节点输入层,五节点的隐藏层,与一节点输出层的BP神经网络。 这个神经网络的学习目标是将输入层的前两个数字之和与后两
2018-01-28 21:04:29
3022
2
原创 Python 画多个曲线的折线图(matplotlib.pyplot.plot)
这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*-import numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt#这里导入你自己的数据#......#......#x_axix,tra...
2018-01-27 15:02:59
149524
16
原创 win10-caffe-python2.7配置方法(简洁易懂!!)
引言 Caffe,全称Convolutional Architecture for Fast Feature Embedding。是一种常用的深度学习框架,在视频、图像处理方面应用较多。借用《21天实战caffe》里面的一段很形象的描述:Caffe的万丈高楼(Net)是按照我们的设计图纸(prototxt),用Blob这些砖块筑成一层层(Layer)楼房,最后通过SGD方法(Solver)
2018-01-14 11:46:20
6010
6
原创 win-sshfs配置方法(将远程linux服务器目录同步到windows本地)
引言 如今程序员的许多操作都需要在云服务器上进行,而运用shell指令,使用vim开发,无疑对新手造成了一定困难。于是我们可以使用sshfs(通过ssh连接的File System)将远程服务器目录挂载到本地,直接在本地进行文件的创建,读写操作,而这些会自动同步到服务器上。下面讲讲它的配置方法。配置 首先下载并安装dokan和win-sshfs,这里一定要注意版本问题!目前我用
2018-01-12 21:55:44
11113
2
原创 反向传播算法
在神经网络中,为了最小化损失函数loss(w)" role="presentation" style="position: relative;">loss(w)loss(w)loss(w),我们会逐一对各个wi" role="presentation" style="position: relative;">wiwiw_i进行求偏导,然后沿着梯度方向更新各个wi" role="presentati
2017-12-30 18:16:06
1110
2
原创 hdu 6231
(二分+尺取法) 题意:给定长度为n(n<10^5)的数组a,然后拿出这个数组里所有长度大于k(k≤n)的区间,并将这些区间中的第k大元素拿出来放到另一个数组里,求新生成数组的第M大元素是多少。思路:这题入手点很关键,由于答案肯定是a数组元素之一,而a中元素越大最后排名肯定越靠前,所以可以试试二分答案,然后接下来应该想到如何确定这个元素在新数组的排名,于
2017-12-28 21:37:35
435
原创 hdu 6237
(贪心) 题意:给定n(n<10^5)堆石子,每堆石子有a_i(a_i<10^5)个,每次操作可以将一个石子从一堆移动到另一堆,求最少的操作次数,使得存在一个数x(x>1),使得每一堆石子均能被x整除。思路:依题意可知,x必须为∑Nn=1ai\sum \nolimits_{n=1}^Na_i的因子,于是我们先将x进行质因数分解,然后枚举每一个质
2017-12-21 23:45:18
513
原创 eoj 3442
(后缀数组+树状数组) 题意:给定一个由英文字母构成的字符串s(s<10^5)和q(q<10^5)个询问,每个询问包含一个区间li,ri和另一个字符串z_i(|z_i| < 10^5),求s[l_i,r_i]里出现了zi的次数?(感觉这题出得很好啊,难点在于这个区间的限定条件) 思路: 考虑
2017-12-16 12:44:36
462
原创 hdu 4417
(离线+树状数组 | 主席树) 题意:给定n(n<10^5)个数a_i(a_i<10^9)和m(m<10^5)个询问,每次询问求[l,r]区间里小于H(H<10^9)的数字有多少个?思路1:我们将数组ai从小到大排序,并且将询问依据H从小到大进行排序。然后每次枚举到一个询问时,就往树状数组中插入所有小于当前询问
2017-12-15 17:23:37
371
原创 hdu 6229
(找规律) 题意:题目共T(T≤10^3)组数据,每组数据里给定一个n×n(n≤10^4)的格子,其中有k(k≤10^3)个格子里面有障碍物。先将一个机器人放在(0,0)处,它只能向上下左右原地五个方向移动(不能移动到障碍物上),假设能移动的位置有d个,那么它移动到每个位置的概率就是1/(d+1)
2017-12-14 17:14:53
489
原创 eoj 3449
(二分+二分匹配)题意:总共n(n≤3000)轮游戏,每一轮给定一个数(第 i 轮给出的数是ai(ai≤106))。同时每次要回答一个数x,x是我给出的这个数的质因数,并且说出的数不能重复。求游戏能进行几轮?思路:将模型转化为二分图的最大匹配来做,二分图左边为前k轮的数字,右边为这k个数字的所有质因子,然后二分k求解即可。(复习下二分匹配
2017-12-13 22:16:17
328
原创 hiho 1656
(构造+字典树) 题意:给定nn个字符串sis_i以及它们各自的权值wiw_i,然后给出mm个询问,每个询问包含两个字符串s1,s2s_1,s_2,求上述给定字符串中以s1s_1为前缀且以s2s_2为后缀的字符串中权值最大的是多少?(1≤n,M≤50000,1≤|si|,|s1|,|s2|≤10,1≤wi≤100000)(1\le n, M\le 50000,1\le |s_i|, |s_1|,
2017-12-13 18:23:13
306
原创 poj 2773
(二分+容斥原理) 题意:求第k(1≤k≤100000000)个与m(1≤m≤1000000)互质的数字是多少?思路:二分k,每次找出小于k且与m互质的数字有多少个,多了就把k变小,少了就把k放大。这里顺便复习下容斥原理的两种写法:迭代法和递归法。(一定一定注意哪些地方有可能爆int!)
2017-12-12 22:34:04
366
原创 hiho 1654
(简单搜索) 题意:4x4的棋盘上有X和Y两种棋子各若干枚,求最少移动多少次棋子可以达到胜利局面:有4个X或者4个Y连成一行、一列或者对角线(两条对角线都算胜利)。思路:直接bfs搜索写起来~(在移动棋子位置后忘了移动回来到原来的状态,这个bug检查了我一个小时…还是太久没写代码了,这是个教训OTZ)#include <cstdio>#include <queue>#include <cstr
2017-12-12 22:23:18
320
原创 hdu 6219
(计算几何 + DP) 题意:共有T(T<100)组测试数据,每个测试数据包含平面上n(n<50)个点的坐标,求它们能组成的最大空凸包的面积。(即这个凸包内部不包含任何其它的点)思路:枚举凸包的左下角点,然后DP找出以这个点为起始位置能构成的最大空凸包面积,最后取这些空凸包面积的最大值为答案。DP过程:假设当前点O为左下角,dp[i][j]表示得是以
2017-12-12 22:16:27
803
原创 eoj 3451
题意:给定一个长度为n(n<10^5)且仅由小写英文字母构成的字符串,求它的一个重排列,使得构成的字符串于之前字符串上每个对应位置上的字母都不一样。思路:贪心,找到出现次数最多的字母,然后把它优先填到出现次数少的字母那里,然后其余字符串整个右移「出现最多的字母出现次数」位,得到的就是结果。(开始我想的是按字母次数多少倒过来摆放,例如aabbccc变成cccbbaa,但是这样不行,于是
2017-12-08 22:41:28
387
原创 hdu 6222
(高精度+找规律) 题意:给定T(T<30000)个测试数据,每个测试数据包含一个n(1≤n≤10^30),求大于等于n的最小数字t,使得边长为t−1,t,t+1的三角形的面积为整数。思路:没思路就打表,打表千万不能打错!!!(打错了就会像我一样找规律找个半个小时都没找到,要注意10^15大小的数字就会爆double
2017-12-05 20:39:30
516
原创 hdu 6223
(搜索+剪枝) 题意:给定n(n<2000000)个点的带环单向图,每个点ii有一个权值Di(0≤Di≤9)且只有一条出边连接着 点(i2+1)modn,求从哪一点出发,经过n个点后,这条路径上组成的数字最大。这个题目有很多解法,正解是后缀数组。(目前我只想出怎么用搜索解这个题) 思路1(搜索+剪枝):
2017-12-04 21:50:43
666
原创 codeforces 895E
(线段树+2个lazy标记) 题意:先给定n(n<10^5)个数字ai(ai<10^9),再给出q(q<10^5)个操作,操作分两种类型,1.将这些数字里[l_1,r_1]区间中任意一个数字和[l_2,r_2]区间中任意一个数字交换。2.求[l,r]区间所有数字的和(数学期望值)思路:数组上的区间修改和查询,考虑线段树
2017-12-03 13:22:40
411
原创 codeforces 895C
(状压dp) 题意:给定一个集合,里面包括n(1≤n≤10^5)个数字a[i](1≤a[i]≤70),求出这个集合中有多少子集,使得子集内部所有数字的乘积为平方数。思路:观察到a[i]的范围比n要小很多,于是我们可以用一个小数组保存:大小为i的数字出现过几次,然后枚举i(1≤i≤70)。计数问题很有可能是dp,枚举i
2017-12-02 21:19:14
483
原创 博客开通啦
这个博客的开通,很大原因是我锐大哥的过去一年来共23次的强烈推荐。 想想其实开通也挺好的,记录下自己一步步的成长经历;其实这个博客也便于自己日后复习知识点(毕竟自己手写的字太丑了);同时也是因为爱情,因为虚荣心,因为interesting等等…… 总之,就这样!欢迎大家点赞加好友吐槽留言!!(重要是点赞233)
2017-12-02 10:48:37
416
2
原创 codeforces 895D
(组合数学) 题意:给定两个由全英文字母构成的字符串s1,s2,保证字典序s1<s2,求有多少个s3,使得s1<s3<s2并且s3为s1的字母所组成的一个排列。思路: 首先统计s1串有哪些字母,每个字母出现了多少次,并用一个num数组保存下来。这样我们起码知道s3由哪些字母构成。然后想到可以先算字典序比s1小的字符
2017-12-02 10:21:48
451
原创 codeforces 894C
(简单构造题)题意:让你构造一个序列,使得对于所有1=i=j=n1而言的这些gcd(ai,ai+1,...aj)都在题目给定的输入数字中。思路:由于所有gcd()的组合都给定了,那么对于i=j的这些gcd就肯定为序列中的数字之一,所以构造序列中肯定包含题目中给定的部分数字。然后大胆想,直接让构造序列包含题目中给定的所有数字
2017-12-01 20:33:27
472
原创 codeforces 894E
(强连通+dp) 题意:给定一个单向边的图(n,m<10^6),每条路上都有wi个宝石,每次经过一条路可将这条边上的宝石捡完,第ii次经过该路,能捡到的宝石数量为wi−i∗(i+1)/2,直到宝石数目为0。 问从指定一点出发,最多能捡到多少宝石?思路:由于每条路可以走很多遍,那么最好情况下是一直将每这条路重复走,直至该路上宝石被捡完。
2017-11-28 21:40:35
1574
win10上的protobuf3.1.0包(willyd)
2018-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人