- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 从数组中取出n个不同的随机数
有一给定数组arr(元素不重复),想要随机从中取出m个元素,怎么取?思想:每次产生一个随机数,在arr数组中取出相应的元素,每次对选中的元素和最后元素交换以下,下一次生成随机数的时候就在前m-1个元素中生成,这样每次只要交换一次元素,就不用去那个数组中判断当前下标是否已经被生成过一次,时间复杂度变成O(m)#从[0,m)中产生n个随机数def nfromm(m,n,unique=Tru...
2018-10-05 21:59:52
3828
转载 bagging与boosting的偏差bias与方差variance
1. 模型的偏差以及方差:模型的偏差:是一个相对来说简单的概念:训练出来的模型在训练集上的准确度。模型的方差:模型是随机变量。设样本容量为n的训练集为随机变量的集合(X1, X2, ..., Xn),那么模型是以这些随机变量为输入的随机变量函数(其本身仍然是随机变量):F(X1, X2, ..., Xn)。抽样的随机性带来了模型的随机性。我们认为方差越大的模型越容易过拟合:假设有两个训...
2018-10-04 21:10:42
1071
原创 字符串Y字型输出
题目如下:(直接贴图) 题目思路:1.确定输出图形的大小:如果用矩阵matrix来表示,行列均为2k+12.确定矩阵的哪些位置不是空格,Y可以分为上下两部分,上面部分每行有两个位置非空,下半部分每行有一个位置非空,则非空位置分别为matrix[i][i],matrix[rows-1-i],下部分为matrix[i][rows//2]3.非空位...
2018-08-26 21:06:36
714
转载 next数组两种求法
一、说明 (1)看到网上同一个字符串求 next 数组的值有两种,一种是 -1 开头,一种是 0 开头,虽然有差别,但是以 0 开头的next数组的每一项都比以 -1 开头的next数组的对应项大1,所以,具体是以 0 开头还是以 -1 开头看需要吧,算法都是一样的.KMP 的原始论文 (K,M,P 三个家伙写的原文)中是以 0 开头的,所以下面的写法是以 0 开头的. (2)关于 next ...
2018-08-22 15:03:37
23789
11
原创 单链表环的判断及入口结点的查找之快慢指针及其python实现
快慢指针定义: 快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。一定会相遇的证明1、如果链表没有环,那么快指针比慢指针先到达尾部(null)。2、如果链表有环的话,因为快指针走的比慢指针快,所以在环中相遇的过程可以看作是快指针从环后边追赶慢指针的过程。用递归法证明,快慢指针一定会相遇:(1)...
2018-08-22 10:52:42
664
转载 海量数据处理之Bloom Filter详解
量数据处理之Bloom Filter详解 前言 本博客内曾已经整理过十道海量数据处理面试题与十个方法大总结。接下来,本博客内会重点分析那些海量数据处理的方法,并重写十道海量数据处理的面试题。如果有任何问题,欢迎不吝指正。谢谢。一、什么是Bloom Filter Bloom Filter是一种空间效率很高的随机数据结构,它的原理是,当一个元素被加入集合时,通过K个Ha...
2018-08-20 10:49:29
110
转载 海量数据处理利器之Hash和bloom filter——在线邮件地址过滤
标题用了了海量数据(Massive datasets)而不用大数据(Big data)。感觉大数据还是略微有点虚,来点实际的。一、需求现在我们需要设计一个在线过滤垃圾邮件地址的方案,我们的数据库里面已经有10亿个合法的邮件地址(称为合法地址集S),当有新的邮件发过来时,要检查这个邮件地址是不是在我们的数据库里面,如果在,我们接收邮件,如果不在,我们就把它当做垃圾邮件过滤掉。二、直觉想到...
2018-08-20 10:17:11
829
原创 排序算法
排序的基本概念1.排序:排序是按关键字的非递减或非递增顺序对一组记录重新进行排序的操作2.排序的稳定性:对于关键字相同的元素,如果排序前后的相对位置没有改变就认为该排序算法是稳定的3.内部排序和外部排序:由于待排序记录的数量不同,使得排序过程中数据所占用的存储设备会有所不同,可分为两大类:一类是内部排序,指的是待排序记录全部存储在计算机内存中进行排序的过程;另一类是外部排序,指的是待排...
2018-08-17 17:13:16
326
转载 利用Python 生成hash值
一、介绍如果在Python中需要对用户输入的密码或者其他内容进行加密,首选的方法是生成hash值。在Python中可以利用二个模块来进行:- crypt- hashlib二、crypt模块(一)crypt的主要方法和常量名称 类型 描述 crypt(…) 方法 对指定内容进行hash加密 methods(…) 方法 返回可以用到的加...
2018-08-17 10:22:53
3270
原创 列表去重python
方法1:array = [1,2,3,2,1,1,2,2,3,3,443,5]array_set = []for i in array: if i not in array_set: array_set.append(i)print(array_set)思路比较简单,直接新建一个列表,将未出现过的元素依次添加进去即可。该方法可以保持原列表元素的顺序方法2...
2018-08-15 14:36:31
1680
原创 二叉树
树的基本术语结点:树中的独立单元结点的度:结点拥有的子树数称为结点的度树的度:树内各结点度的最大值叶子:度为0的结点称为叶子或终端结点。非终端结点:度不为0的结点称为非终端结点或分支节点双亲和孩子:结点的子树的根称为该结点的孩子,相应的,该结点称为孩子的双亲兄弟:同一双亲的孩子之间互称兄弟祖先:从根到该结点所经分支上的所有节点子孙:以某结点为根的子树中的任一结点...
2018-08-14 17:16:58
147
原创 堆排序
堆定义:n个元素称为堆,当且仅当它的关键字序列满足: (1)或者满足: (2)把满足(1)式的堆称为最小堆,满足(2)式的堆称为最大堆可以将堆看作一个完全二叉树。堆的操作对于堆来说,一般具有下边几种操作:(此处均针对最大堆进行分析)元素上移操作当修改堆中某个元素的关键字时,就违反了最大堆的性质。为了重新恢复最大堆的性质,...
2018-08-14 09:48:21
126
原创 决策树的理解
概要分类决策树模型是表示基于特征对实例进行分类的树形结构。决策树可以转换成一个if-then规则的集合,也可以看作是定义在特征空间划分上的类的条件概率分布。决策树旨在构建一个与训练数据拟合很好,并且复杂度小的决策树。因为从可能的决策树中直接选取最优决策树是NP完全问题。实际应用中采用启发式的方法学习次优的决策树。决策树学习算法包括三部分:特征选择、树的生成和树的剪枝。常用的算法有ID3...
2018-08-13 21:04:50
1712
原创 二分查找原理及其python实现
二分查找又叫折半查找,二分查找属于分治法的应用。所谓分治法,就是将原问题分解成若干个子问题后,利用了规模为n的原问题的解与较小规模(通常是n/2)的子问题的解之间的关系。 使用二分查找的前提是原数列是有序的。其基本思想为:在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键码相等,则查找成功;若给定值小于中间记录的关键码,则在中间记录的左半边继续查找;若给定值大于中间记录的关键码,则在...
2018-08-09 11:32:35
565
翻译 A generative vision model that trains with high data efficiency and breaks text-based CAPTCHAs(一)
一种具有高数据效率和突破给予文本的验证码的生成视觉模型作者:Vacarious技术团队时间:Oct,26,2017参考:https://blog.csdn.net/u014264373/article/details/79581507 http://www.sohu.com/a/201326757_99964548注:本文是对19页论文的理解与翻译摘要:...
2018-08-08 09:30:22
552
翻译 A generative vision model that trains with high data efficiency and breaks text-based CAPTCHAs(二)
一种具有高数据效率和突破基于文本的验证码的生成视觉模型论文作者:Vacarious技术团队时间:Oct.26,2017注:本文是对73页论文的理解与翻译论文框架论文主要分为两个部分,一是RCN的理论基础,二是RCN的实践,在RCN的理论部分主要分为RCN的生成式模型、给定输入图像的推理、模型参数和结构的学习、相关工作和神经科学的指导,在RCN的生成式模型中根据模型的原理主要分为...
2018-08-08 09:20:14
1410
原创 递归皮质网络RCN简单理解
参考:http://www.sohu.com/a/200969057_473283 http://www.sohu.com/a/202047161_465975RCN是什么?RCN是条件随机场、概率图模型、动态规划技术的组合基于哺乳动物(比如人)在识别物体的时候,大脑视觉皮层对于物体轮廓和表面的识别不一样,并且是协同工作的,提出递归皮质网络,这是一种整合了实验神...
2018-08-07 15:10:25
5919
4
原创 二叉搜索树
定义二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉查找树的查找、插入、删除节点的算法复杂度均为(o(log(n))查找算法在二叉排序树...
2018-08-02 15:23:12
125
原创 sort函数与sorted函数的区别 python
sort与sorted的区别:sort是应用在list上的方法,sorted可以对所有可迭代的对象进行排序操作。list的sort方法返回的是对已存在的列表操作后的结果,而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作。语法sorted用法:sorted(iterable,cmp=None,key=None,reverse=False)sort...
2018-08-02 14:23:57
6091
1
转载 行人检测
目前行人检测大致可以分为两类,一类是基于背景建模,另一类是基于统计学习的方法(1)基于背景建模:利用背景建模方法,提取出前景运动的目标,在目标区域内进行特征提取,然后利用分类器进行分类,判断是否包含行人;背景建模目前主要存在的问题:必须适应环境的变化(比如光照的变化造成图像色度的变化);相机抖动引起画面的抖动(比如手持相机拍照时候的移动);图像中密集出现的物体(比如树叶或树干等...
2018-08-01 17:48:54
1011
原创 SSD-Tensorflow 目标检测
参考网址:https://blog.csdn.net/weixin_39881922/article/details/80569803 https://blog.csdn.net/liuyan20062010/article/details/78905517 https://blog.csdn.net/ei1990/art...
2018-07-31 17:54:38
2682
1
转载 基于深度学习的目标检测研究进展
文章转载自http://chuansong.me/n/353443351445前言 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个人,具体的位置就是上图右侧图像两个边框(bounding-box)所在的位置。其实刚刚的这个过程就是目标检测,目标检测就是“给定一张图像或者视频帧,找出其中所有目标的位置,并给出...
2018-07-31 16:23:57
325
原创 目标分类和检测入门
目标分类、定位、检测和分割分类:是什么定位:在哪里?是什么?(单目标或数量固定的多目标)检测:在哪里?分别是什么?(数量不固定的多目标)分割:在检测的基础上,不再使用bounding box框出目标的位置,而是将目标和背景分离,找出目标的轮廓线。(图片来自博客)目标定位的思路看作回归问题。对于单个目标的定位,比较简单的思想就是直接看作是关于目标矩形框位置的回归问题,也就...
2018-07-31 16:13:56
6143
原创 SSD数据集的准备
在对SSD模型进行微调的时候需要重新准备数据集,简单梳理一下数据集的准备流程,大致可以分为以下几步:1.数据标注常用的数据标注工具有labelImg、ImageLabel、Yolo_mark 、BBox-Label-Tool,在此使用的是labelimg2.生成txt文件在1中对数据标注过后会有对应的xml文件生成,需要将他们转化成txt文件,在此使用的是python语言自动完成(...
2018-07-28 17:18:20
1851
原创 VOC数据集的制作
从官网下载了VOC2007的数据集,针对自己的数据集制作了VOC格式的,主要包括JPEGImages、Annotations、ImageSets三个文件夹(官网的包含五个,其余两个可能并不需要吧),JPEGImages文件夹中存放自己需要处理的所有图片,Annotations文件夹中存放图片对应的xml文件(使用标注工具生成的),ImageSets主要包含Main文件夹(官网的含有三个,其余两个暂...
2018-07-27 16:19:01
1125
1
转载 TypeError: encoding without a string argument
问题分析:该问题主要是由于当前操作的字符串是bytes类型的字符串对象,并对该bytes类型的字符串对象进行按照str类型的操作。如下面图所示,s 为bytes类型字符串对象。当对s进行按照str类型的操作(split)时,会弹出一下错误提示。因为split函数传入的参数是str类型的字符串,而党鞭的s为bytes编码类型的字符串对象解决方法此时的解决办法是,将s转码成为s...
2018-07-22 21:41:13
31607
原创 spyder自动补全
之前一直记得spyder具有自动补全功能,最近一直使用服务器,在重新用回spyder 的时候竟然发现,不能自动补全。。。遂尝试几种方法,最终终于解决。1.在spyder里设置,具体可参考网址:https://blog.csdn.net/ysk0825/article/details/78411700,图文并茂很详细但是1方法并没有解决我的问题2.在控制台输入pip list,查看安装了...
2018-07-14 10:10:17
8752
6
原创 win10下安装python版本的libsvm
尝试了很多方法想要实现直接调用libsvm,如直接调用sklearn一样,但未曾实现。目前采用的方法为:1.到这里下载libsvm安装包,解压到自定义目录下。2.每次需要添加路径才能实现调用,具体如下:import osos.chdir('D:\\anaconda3\\Lib\\site-packages\\libsvm\\python')from svmutil import ...
2018-04-21 16:51:15
415
RCN论文理解与分析
2018-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人