自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(257)
  • 资源 (9)
  • 收藏
  • 关注

原创 《机器学习实战》学习笔记:基于朴素贝叶斯的分类方法

概率是许多机器学习算法的基础,在前面生成决策树的过程中使用了一小部分关于概率的知识,即统计特征在数据集中取某个特定值的次数,然后除以数据集的实例总数,得到特征取该值的概率。

2015-09-12 00:02:32 8496 9

原创 leetcode笔记:Plus One

一道高精度计算的题,从低位到高位进行计算,同时考虑进位的问题,若最高位计算结果还有进位,就需要在最高位前面添加一位。可做到时间复杂度为O(n),空间复杂度为O(1)。

2015-09-11 13:57:44 2209

原创 leetcode笔记:Power of two

一. 题目描述Given an integer, write a function to determine if it is a power of two.二.题目分析该题要求简单,给定一个整数,判断其是不是2的整数次幂,这道题的解题关键是找到一个规律:如果一个数字是2的整数次幂,若将该数写为二进制数,这个二进制数中有且仅有一位为1,其余均为0。根据这一性质,不难给出以下给出两种解决方法。三.示例

2015-09-11 01:54:41 2133

原创 leetcode笔记:Rotate Image

该题要求将图像顺时针旋转90度,最简单的做法就是画个图出来观察旋转90度之后的图像的情况,经过分析可知,顺时针旋转90度就是将原来的图像的最后一行作为第一列,倒数第二行作为第二列,因此类推,第一行作为最后一列。

2015-09-10 17:26:06 1524

原创 leetcode笔记:Valid Sudoku

关于Sudoku矩阵的性质,可以简单概括为:对于矩阵中每一行、每一列以及每个`3×3`的九宫格区域是否存在唯一的`0~9`排列组合,如果存在相同的元素,则该Sudoku矩阵不合法。这道题比较简单,就是遍历Sudoku矩阵的所有元素,检查各元素是否满足Sudoku的性质。

2015-09-09 20:39:07 2034 2

原创 leetcode笔记:Gray Code(2016腾讯软件开发笔试题)

格雷码是一种数字编码,其中的所有相邻整数在它们的二进制数字表示中只有一个数字不同。现要求打印出二进制比特数是n的所有格雷码。例如,n=2,所有的格雷码是0,1,3,2(对应二进制表示是00,01,11,10)。

2015-09-07 17:45:41 3600 2

原创 《机器学习实战》学习笔记:绘制树形图&使用决策树预测隐形眼镜类型

上一节实现了决策树,但只是使用包含树结构信息的嵌套字典来实现,其表示形式较难理解,显然,绘制直观的二叉树图是十分必要的。Python没有提供自带的绘制树工具,需要自己编写函数,结合Matplotlib库创建自己的树形图。第二部分,使用决策树预测患者佩戴隐形眼镜的类型。

2015-09-06 17:04:34 5489 2

原创 leetcode笔记:Single Number II

Single Number II与Single Number(数组中其他数出现两次,仅有一个出现一次的)有所不同,本题变为序列中有一个数出现一次,其他元素出现了三次,同样要求时间复杂度为线性,空间复杂度为常数。事实上,该算法仍可以借助位运算来实现。

2015-09-05 11:26:18 1824

原创 leetcode笔记:Single Number

该题目提到,一个数组中除了一个数只出现一次之外,其他数都出现了两次,找出这个特别的数。这道题对时间和空间有要求,面对这种情况,一般是暗示有十分轻巧而简便的方法进行求解。在一些场景下,使用基本的逻辑运算是个不错的选择。自己简单写了一下,再参照网上部分解法,基本都是使用了异或运算(XOR),任何数与自己进行按位异或都等于0,而任何数与0进行按位异或都等于本身。

2015-09-04 23:59:46 5999 3

原创 《机器学习实战》学习笔记:决策树的实现

决策树是个极其易懂的算法,也是最常用的数据挖掘算法,决策树允许机器根据数据集创造规则,其实这就是机器学习的过程。专家系统中经常会使用到决策树及其变种,而且决策树给出的结果往往可以匹敌在当前领域具有几十年工作经验的专家。优点:决策树的计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据;缺点:可能会产生过度匹配的问题;适用数据类型:数值型和标称型。

2015-09-02 23:41:54 2687

原创 leetcode笔记:Permutation Sequence

Cantor expansion问题。假设有{1,2,3,4,…,n},对其中的元素进行排列,总共有n!种组合,将它们从小到大排序,怎样知道其中第k个组合的形式是怎样的?主要研究的是Cantor expansion算法。

2015-09-02 13:43:58 3797 5

原创 《机器学习实战》学习笔记:k-近邻算法的两个应用场景

之前学习了k-近邻算法的实现后,参考《机器学习实战》中的例子进行了k-近邻算法的测验,主要测试了针对约会网站和手写识别系统的数据分类,这两个测试使用的是《机器学习实战》提供的数据集。

2015-09-01 23:05:27 14291 6

原创 leetcode笔记:Valid Palindrome

这道题考察回文数(palindrome),这一概念起源于在数学中一类数字,这类数字拥有这样的特征:设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。同理,可以定义英文/中文的回文数,概念和以上的类似,本题就是检测字符串是否为回文数。

2015-08-31 13:42:14 1380

翻译 数值编程工具:NumPy的详细教程

NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多。该文档是Tentative NumPy Tutorial的译文。

2015-08-31 00:10:46 2802 2

原创 《机器学习实战》学习笔记:k-近邻算法实现

机器学习:k-近邻(kNN)算法的基本原理与Python实现

2015-08-30 00:10:35 4376 5

原创 问题解决:Spyder不支持OpenCV模块代码提示

解决问题:Spyder的代码完成功能不支持某些编译模块(.pyd后缀),如OpenCV的Python模块cv/cv2,在编写脚本文件时,在已存在import cv&import cv2的前提下,输入cv. 无法弹出显示相关成员函数列表&代码完成提示。

2015-08-24 23:46:39 20149 2

翻译 Spark编程指南(Python版)

Spark编程指南译者语:最近在学习Spark相关的知识,在网上没有找到比较详细的中文教程,只找到了官网的教程。出于自己学习同时也造福其他初学者的目的,把这篇指南翻译成了中文,笔者水平有限,文章中难免有许多谬误,请高手不吝赐教。本文翻译自Spark Programming Guide。

2015-08-23 01:41:56 8406

原创 使用线性同余法生成伪随机数/序列(C++实现)

计算机上可以用物理方法来产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生,这样产生的序列与真正的随机数序列不同,所以称为伪随机数或伪随机序列,只要方法和参数选择合适,所产生的伪随机数就能满足均匀性和独立性,与真正的随机数具有相近的性质

2015-08-16 00:50:23 19017 3

原创 leetcode笔记:Add Binary

这道题考察两个二进制数相加,考虑到输入的是两组string,同时注意在运算时从左到右分别是从低位到高位,因此需要考虑对输入进行翻转处理。

2015-08-15 21:34:20 1405

原创 Ubuntu上配置OpenCV小记

配置环境是: Ubuntu12.04 + opencv2.4.11

2015-08-05 18:10:55 1596

原创 小练习:用socket实现Linux和Windows之间的通信

结合了网上一些经典例程,写了一个简单的socket代码,实现Ubuntu(虚拟机中)和Windows的通信。

2015-08-04 00:07:44 15498 2

原创 问题解决:Ubuntu 12.04在vmware10下无法进入Unity模式

解决Ubuntu 12.04在vmware10下无法进入Unity的问题。

2015-07-29 17:26:13 4230

原创 leetcode笔记:Merge Sorted Array

Merge Sorted Array这道题没有很复杂的算法,只是一个技巧问题。如果单纯得考虑从小到大地将两个数组进行合并的话,每次在num1中插入一个数的话,需要将后面的元素都向后移动一位,这样,整个处理过程的时间复杂度为O(m*n)。

2015-07-28 00:57:28 1286

原创 leetcode笔记:Remove Element

Remove Element这道题和Remove Duplicates from Sorted Array类似,不同的是这里只要删除值等于给定值的元素即可,可以采用和前面的题相同的做法:可以将原来的数组看作一个栈,设定一个栈顶指针,在对数组进行遍历的时候,判断元素是否等于给定值,如果等于,则直接进行数组的下一个元素,如果不等于,则将该元素放入到栈顶,然后更新指针并处理数组的下一个元素。

2015-07-26 14:49:15 1086

转载 Windows网络编程:阻塞模式下的Socket编程

Windows Socket是从UNIX Socket继承发展而来,在写本博客时最新的版本是2.2。进行Windows网络编程,你需要在你的程序中包含WINSOCK2.H或MSWSOCK.H,同时你需要添加引入库WS2_32. LIB或WSOCK32.LIB。

2015-07-25 17:09:57 2677 1

原创 leetcode笔记:Search in Rotated Sorted Array

这道题出现了旋转的情况,即比第一个元素小的元素可能出现在数值的后半段或者不出现。因此,可以考虑采用变种的二分查找,即在比较中间元素与目标之前,先比较第一个元素与目标的关系,该题的难点在于确定其边界问题。

2015-07-24 17:45:10 1650

原创 leetcode笔记:Remove Duplicates from Sorted Array II

这道题和Remove Duplicates from Sorted Array这道题是类似的,不同的是这里允许出现重复的数字而已,可以采用二分搜索的变种算法,只不过加入了剔除和第一个元素相同的元素的过程。另一个思路是加入一个变量,用于记录元素出现的次数。这题因为是已经排序的数组,所以一个变量即可解决。

2015-07-24 16:42:17 1621

原创 leetcode笔记:Remove Duplicates from Sorted Array

从题目中可知,数组中的元素事先已经过排序,因此一个简单而易于实现的方法是从第二个元素开始对数组元素进行遍历,并判断该元素是否和前面的元素相同。题目要求返回不重复的元素的个数。算法的一个要求是:返回的数组的元素都是不重复,同时要求remove duplicates in place,这意味着不能重新定义一个数组来保存不重复的元素。

2015-07-23 17:14:54 1497

原创 leetcode笔记:3Sum Closest

3Sum Closest该题与3Sum的要求类似,不同的是要求选出的组合的和与目标值target最接近而不一定相等。但实际上,与3Sum的算法流程思路相似,先是进行排序,然后顺序选择数组A中的下标为i的元素值作为组合中三个数的最小值,进而寻找另外两个更大的值,最后求出三个数的和。

2015-07-22 22:21:14 1475

原创 OpenCV2学习笔记(二十二):ORB特征提取

ORB(ORiented Brief)特征提取算法,其前身Brief,是由EPFL的Calonder在ECCV2010上提出了一种可以快速计算且表达方式为二进制编码的描述子,主要思路就是在特征点附近随机选取若干点对,将这些点对的灰度值的大小,组合成一个二进制串,并将这个二进制串作为该特征点的特征描述子。

2015-07-18 15:45:25 14124 2

原创 leetcode笔记:4Sum

leetcode算法题目:4 sum。解题技巧这道题和另外一道题3 Sum很类似,但这道题是在数组中寻找四个数,使得其和为预设的一个值target,同时要求这三个数只能出现一次。

2015-07-17 17:00:41 2498 2

原创 socket网络编程基础小记

本文记录了socket网络编程的基础知识,主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?3、socket的基本操作;4、socket中TCP的三次握手建立连接详解;5、socket中TCP的四次握手释放连接详解。

2015-07-13 21:06:45 2060

原创 并行计算基础&编程模型与工具

在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求:计算密集(Computer-Intensive)型应用,如大型科学工程计算与数值模拟;数据密集(Data-Intensive)型应用,如数字图书馆、数据仓库、数据挖掘和计算可视化等;网络密集(Network-Intensive)型应用,如协同工作、遥控和远程医疗诊断等。

2015-06-30 10:29:43 3110

原创 常用的内排序算法与C++实现

《数据结构与算法分析》几乎是所有计算机编程的基础,而在招聘过程中基本上只要是中大型的互联网公司均会考察这方面的内容。在这门知识中最重要的一部分是排序。在VS 2013上简单实现了一些基础的内排序算法。

2015-06-21 15:46:32 3222 1

原创 模式识别:分类回归决策树CART的研究与实现

本实验的目的是学习和掌握分类回归树(CART)算法。CART提供一种通用的树生长框架,它可以实例化为各种各样不同的判定树。CART算法采用一种二分递归分割的技术,将当前的样本集分为两个子样本集,使得生成的决策树的每个非叶子节点都有两个分支。因此,CART算法生成的决策树是结构简洁的二叉树。在MATLAB平台上编写程序,实现了非剪枝完全二叉树的创建、应用以及近似剪枝操作。

2015-06-19 19:50:48 8842 1

原创 leetcode笔记:3Sum

leetcode算法题目:3 sum。解题技巧这道题和另外一道题Two Sum很类似,但这道题是在数组中寻找三个数,使得其和为0,同时要求这三个数只能出现一次。

2015-06-12 11:38:51 2898 1

原创 模式识别:k-均值聚类算法的研究与实现

本实验的目的是学习和掌握k-均值聚类算法。k-均值算法是一种经典的无监督聚类和学习算法,它属于迭代优化算法的范畴。本实验在MATLAB平台上,编程实现了k-均值聚类算法,并使用20组三维数据进行测试,比较分类结果。实验中初始聚类中心由人为设定,以便于实验结果的比较与分析。

2015-06-10 20:41:20 13795 1

原创 信号理论: 信号集及其映射

引言信号理论研究的是在信号空间中信号的分析与综合以及系统的分析与综合问题。在这里,信号不再被看作函数,而是被看作信号空间中的一个点。在研究信号空间之前,我们先把信号看作信号集中的一个元素,以作为把信号看作信号空间中点的概念过渡。

2015-06-08 12:51:14 4811 1

原创 模式识别:模拟退火算法的设计与实现

本节的目的是记录以下学习和掌握模拟退火(Simulated Annealing,简称SA算法)过程。模拟退火算法是一种通用概率算法,用来在一个大的搜寻空间内寻找命题的最优解。这里分别使用随机模拟退火算法和确定性模拟退火算法,在MATLAB平台上进行编程,以寻找一个6-单元全连接网络的能量最小化模型。

2015-06-05 02:18:06 14941 17

原创 OpenCV2学习笔记(二十一):GPU模块小记

接触一下OpenCV里一个之前没有接触的模块:GPU。目前,OpenCV中已提供了许多GPU函数,直接使用OpenCV提供的GPU模块,可以完成大部分图像处理的加速操作。该方法的优点是使用简单,利用GpuMat管理CPU与GPU之间的数据传输,而且不需要关注内核函数调用参数的设置。

2015-05-31 21:57:36 6832 2

FFmpeg-2.8.2 Windows编译生成文件

FFmpeg-2.8.2 Windows编译生成文件,支持H.264编解码

2015-11-21

FFmpeg-2.2.4 Windows编译生成文件

windows + vs2012编译/调试生成的FFmpeg文件,可直接使用

2015-11-20

《机器学习实战》朴素贝叶斯章节的数据文件

使用朴素贝叶斯过滤垃圾邮件所用的数据文本,放在工程目录下并解压即可

2015-09-14

《机器学习实战》中文版+英文版+书本源代码

《机器学习实战》中文版+英文版+书本源代码,仅作参考自用,请支持正版!

2015-08-30

基于SVM与人工神经网络的车牌识别OpenCV&C++实现

基于SVM与人工神经网络的车牌识别算法,使用了OpenCV的图像处理函数,在VS2013 + OpenCV 2.4.9平台上实现

2015-05-29

基于SVM与人工神经网络的车牌识别C++实现

基于SVM与人工神经网络的车牌识别算法,使用了OpenCV的图像处理函数,在VS2013平台上实现

2015-05-21

numpy-amd64-py2.7.exe

numpy64位,支持python2.7

2015-04-29

模式识别 Matlab生成模式类

模式识别(英语:Pattern Recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。我们把环境与客体统称为“模式”。这里利用MATLAB生成模式类,其实就是模式识别课程的入门。

2015-03-13

Harris角点检测

在计算机视觉中,特征点的概念被大量用于解决物体识别、图像匹配、视觉跟踪、三维重建等问题,比如图像中物体的角点,它们是在图像中可被轻易而精确地定位的二维特征。顾名思义,特征点检测的思想是无需观察整幅图像,而是通过选择某些特殊点,然后对它们执行局部分析。如果能检测到足够多的这种点,同时它们的区分度很高,并且可以精确定位稳定的特征,那么这个方法就很有效。这里主要使用Harris特征检测器检测图像角点。

2015-03-08

空空如也

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

TA关注的人

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