- 博客(169)
- 收藏
- 关注
转载 Guaranteeing Message Processing
What does it mean for a message to be "fully processed"?Storm considers a tuple coming off a spout "fully processed" when the tuple tree has been exhausted and every message in the tree has been
2016-01-14 17:55:49
740
转载 Deterministic vs Probabilistic Model
Deterministic ModelA deterministic model is a mathematical model in which outcomes are precisely determined through known relationshipsamong states and events, without room for random variation.
2015-10-21 19:51:43
2257
原创 监督学习-变量类型和术语
简介supervised learning: to use the inputs to predict the values of outputs.In the statistical literature the inputs are often called the predictors, a term we will use interchangeably with inputs,
2015-09-26 21:31:10
906
转载 朴素贝叶斯法的参数估计
极大似然估计在朴素贝叶斯法中,可以使用极大似然估计法估计相应的概率。可以用极大似然估计去估计先验概率。贝叶斯估计:用极大似然估计可能会出现所要估计的概率值为0的情况。这时会影响到后验概率的结果。使分类产生误差。
2015-09-26 16:36:20
818
转载 朴素贝叶斯法的学习与分类
基本方法:输入空间为n维向量的集合,输出空间为标记类的集合。训练数据集T={(x1,y1), (x2,y2),...,(xN,yN)}又P(X,Y)独立同分布产生。朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y).朴素贝叶斯法对条件概率分布做了条件独立性的假设。朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设等于是说用于分类的特征在类确定的条件下都是条件
2015-09-25 15:28:52
890
转载 k近邻算法的实现:kd树
当特征空间维度大,训练数据容量大时,如何对训练数据进行快速k近邻搜索。k近邻法最简单的实现方式是线性扫描,这时要计算输入实例与每一个训练实例的距离,当训练集容量大时计算太耗时,这种方法不可行。为了提高k近邻搜索的效率,可以利用特殊的结构来存储训练数据,以便减少距离的计算次数。kd树就是其中的一种存储结构。kd树:kd树定义:kd树是一种对k维空间中的实例进行存储,以便进行快
2015-09-23 15:44:44
1879
转载 k近邻模型
k近邻模型的三要素:距离的度量,k值的选取,分类决策规则的决定。k近邻算法中,当训练数据集,k值,距离度量方式,分类决策规则确定后,对于任何一个新输入的实例,可以唯一确定其分类。根据上述要素将特征空间划分为许多子空间,并确定子空间里每个点所属的类。特征空间中,对于每个训练实例点,距离该点比其他点更近的所有点组成了一个区域,叫单元(cell)。每个训练实例点拥有一个单元,所有训练实例点的
2015-09-23 10:32:59
1822
转载 k近邻算法
定义:给定一个训练数据集,对于新输入的实例,在数据集中找到k个与它最临近的实例。这k个实例多数属于某个类,就把该输入实例归为某个类。最临近算法:为k临近算法的特殊情况,当k=1时为最临近算法。找到和输入实例最近的那个实例,该实例所属的类就是输入实例的类。k临近法没有显示学习的过程。
2015-09-22 15:47:15
418
转载 感知机学习算法
感知机的学习问题转化为求解损失函数最优化问题,求解方法为随机梯度下降法。求参数w b,使其为损失函数极小化问题的解。感知机学习算法是误分类驱动的。首先,随机选取一个超平面w0,b0 然后用梯度下降法不断的极小化损失函数。极小化过程是一次随机选取一个误分类点,使其梯度下降。随机梯度下降法:https://zh.wikipedia.org/wiki/%E6%A2%AF%E5%BA%A6
2015-09-21 15:37:43
2106
转载 感知机学习策略
数据集的线性可分性如果存在某个超平面S能够将能够将正实例点和负实例点完全正确的划分到超平面的两侧。即对于所有的yi=1,w*xi+b>0 对于所有的yi=-1,w*xi+b假设训练数据集是线性可分的,感知机学习的目标就是求得一个能够将训练集正实例和负实例点完全正确分开的分离超平面。为了找出这样的超平面,需要确定一个学习策略,即定义损失函数并将损失函数极小化。损失函数的选择:1误分类
2015-09-21 14:00:13
1085
转载 感知机模型
输入表示实例的特征向量,对应于输入空间的点。输出表示实例的类别。输入空间到输出空间由如下函数表示:f(x)=sign(w*x+b)w和b称为感知机模型参数,w叫做权值向量,b叫做偏置。感知机是一种线性分类模型,属于判别模型。其假设空间是定义在特征空间中的所有线性分类模型。感知机的几何解释:w*x+b=0 该线性方程对应于特征空间Rn的超平面S,其中w是该平面的法向量,b是该平面
2015-09-21 10:47:06
885
转载 回归问题
回归问题也是监督学习的问题。回归用于输入变量和输出变量之间的关系。回归模型表示从输入变量到输出变量之间映射的函数。回归问题等价于函数拟合:输出一条曲线,能够和好的拟合一直数据,并预测未知数据。回归问题按照输入变量的个数分为一元回归和多元回归。按照输入变量和输出变量之间关系的类型,分为线性回归和非线性回归。当回归问题的损失函数是平方损失函数时,可以
2015-09-20 22:37:25
700
转载 标注问题
标注问题是分类问题的一个推广,是更复杂的结构预测问题的一个简单的形式。输入是一个观测序列,输出是一个标记序列或者状态序列。其目的是学习一个模型,使得对于观测序列能够给出一个标记序列作为预测。注意标记个数是有限的,但其组合所成的标记序列的个数是随着序列长度成指数级增长的。学习系统基于训练数据集构建一个模型,表示为条件概率分布.p(Y1,Y2...YN|X1,X2...XN)
2015-09-20 22:07:28
3777
转载 分类问题
分类问题是监督学习中的一个问题。当输出变量Y取有限个离散值时,预测问题就成为分类问题。此时X可以是离散的也可以是连续的。分类器是从数据中学习到的一个分类模型或者分类决策函数。可能的输出称为类。分类问题的两个过程:学习和分类。分类器的性能指标,准确率:分类器正确分类的样本数比上总样本数。二分类问题的评价指标: 精确率:(正类预测为正类)/(正类
2015-09-20 20:49:57
716
转载 生成模型与判别模型
监督学习的任务:学习一个模型,应用这个模型对给定的输入预测相应的输出。监督学习的两种方法:生成方法,判别方法。用这两种方法学到的模型称为生成模型和判别模型。生成方法:学习联合概率分布p(X|Y),求出条件概率分布。模型给定输入X,产生输出Y的生成关系。典型的生成模型:朴素贝叶斯,隐马尔科夫模型。判别方法:由数据直接学习决策函数或者条件概率分布,作为预测的模型。两种方
2015-09-19 22:32:39
478
转载 编辑文章 - 博客频道 - youkuaiyun.com
泛化能力泛化误差1什么是泛化能力泛化能力是指由学习方法学习到的模型对未知数据的预测能力。2如何评价学习方法的泛化能力现实中采用最多的方法是利用测试集的误差来进行评价。但是由于测试集一般是有限的,因此很可能得到的评价结果不可靠。3泛化误差(generalization error)的定义模型对未知数据预测的误差,学习到的模型的期望风险。泛化误差上界1泛化误
2015-09-18 17:47:06
476
原创 在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。
将统计总体当中的各个变量值按大小顺序排列起来,形成一个数列,处于变量数列中间位置的变的量值就称为中位数。数的个数太多了,不能进行内部排序。可以使用桶来计数,然后找出中位数。1.由于是10g个数据所以计数器不能用32bits的,用64bits大小的。每个桶64bits大小,用来计数。2GB/64bits = 256M,所以最多有256million个桶。可以开辟一个数组,数组元素大小
2013-07-29 17:01:31
3713
转载 字符串匹配的Boyer-Moore算法
http://www.ruanyifeng.com/blog/2013/05/boyer-moore_string_search_algorithm.html但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法。Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。1977年,德克萨斯大学的Rober
2013-07-17 20:36:52
582
转载 char,short ,int ,long,long long,unsigned long long数据范围
http://hi.baidu.com/yangyangye2008/item/ba0a35395420d2f9df222157char,short ,int ,long,long long,unsigned long long数据范围速查表:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned
2013-07-09 21:23:17
869
转载 基數排序法
http://openhome.cc/Gossip/AlgorithmGossip/RadixSort.htm說明在之前所介紹過的排序方法,都是屬於「比較性」的排序法,也就是每次排序時 ,都是比較整個鍵值的大小以進行排序。這邊所要介紹的「基數排序法」(radix sort)則是屬於「分配式排序」(distributionsort),基數排序法會使用到「桶子」(bucket),顧
2013-07-06 16:58:32
717
原创 sizeof strlen 的计算结果
#include #include void main(){ char *p = "this is "; printf("sizeof:%d ,strlen:%d\n",sizeof(p),strlen(p)); // sizeof 在编译期间确定 用来计算某种类型或对象所占的字节数 p为指针 所占字节数为4 //strlen 在运行时求值 得到的字符串中第一个 '\0' 之前所有
2013-07-05 11:21:22
679
转载 浅谈manacher算法
http://blog.sina.com.cn/s/blog_70811e1a01014esn.htmlmanacher算法是我在网上无意中找到的,主要是用来求某个字符串的最长回文子串.不过网上的版本还不太成熟,我就修改了下.不要被manacher这个名字吓倒了,其实manacher算法很简单,也很容易理解,程序短,时间复杂度为O(n).求最长回文子串这个问题,我听说有个分治+
2013-07-03 11:55:14
522
转载 线段树(segment tree)
http://www.cnblogs.com/shuaiwhu/archive/2012/04/22/2464583.html线段树在一些acm题目中经常见到,这种数据结构主要应用在计算几何和地理信息系统中。下图就为一个线段树:(PS:可能你见过线段树的不同表示方式,但是都大同小异,根据自己的需要来建就行。)
2013-07-02 15:47:05
750
翻译 找出数组中出现次数最多的子串
给定int数组一个,找出出现次数最多的非空子串。如果有多个这种子串,返回最长的子串。两个子串如果包含完全相同的字符,且字符顺序也相同,那么他们相等。Given an array of ints, find the most frequent non-empty subarray in it. If there are more than one such sub-arrays re
2013-07-01 22:59:31
1442
转载 进程和线程
进程(process)是指在系统中正在运行的一个应用程序,是系统资源分配的基本单位,在内存中有其完备的数据空间和代码空间,拥有完整的虚拟空间地址。一个进程所拥有的数据和变量只属于它自己。线程(thread)是进程内相对独立的可执行单元,所以也被称为轻量进程(lightweight processes);是操作系统进行任务调度的基本单元。它与父进程的其它线程共享该进程所拥有的全部代码空间和全局变
2013-07-01 21:35:18
522
转载 数据库范式概念解析(第一范式,第二范式,第三范式)
http://caoyanbao.iteye.com/blog/562290再次强化数据库范式,别在犯迷糊:大部分数据库从业人员都知道关系数据库有三个基本的范式,即:第一范式,第二范式,第三范式。当然也有牛人知道BC范式,第四范式,第五范式,第六范式,甚至还有个DK范式。本人对数据库的范式概念也是一知半解的,想想有些可笑,搞数据库的竟然不了解关系数据库的基础——范式。这不最近查阅了
2013-07-01 16:31:43
513
转载 Scaling Distributed Counters
最近看到一篇分布式计数器的文章,写的很好,分享下。最近事情比较多,就不翻译了。from:http://whynosql.com/scaling-distributed-counters/Distributed counters is an important functionality many distributed databases offer. For an ad networ
2013-06-26 15:29:13
606
转载 用归并排序对链表进行排序
http://blog.youkuaiyun.com/lalor/article/details/7430624当我们需要对链表进行排序时,由于不能对它的元素进行随机访问,所以更适合使用归并排序,大名鼎鼎的快速排序用到链表上,效率也很低,原因还是在于不能对链表中的元素进行随机访问,同理,采用堆排序更是不可能的事情。 算法具体实现时需要一个指向头节点(链表的第一个节点,链表中不包含额外
2013-06-24 20:37:39
873
转载 数据库范式概念解析(第一范式,第二范式,第三范式)
http://caoyanbao.iteye.com/blog/562290再次强化数据库范式,别在犯迷糊:大部分数据库从业人员都知道关系数据库有三个基本的范式,即:第一范式,第二范式,第三范式。当然也有牛人知道BC范式,第四范式,第五范式,第六范式,甚至还有个DK范式。本人对数据库的范式概念也是一知半解的,想想有些可笑,搞数据库的竟然不了解关系数据库的基础——范式。这不最近查阅了
2013-06-24 15:03:33
551
转载 c++浮点数存储方式
http://zhidao.baidu.com/question/82272119.html最近一段时间看到版上关于C++里浮点变量精度的讨论比较多,那么我就给对这个问题有疑惑的人详细的讲解一下intel的处理器上是如何处理浮点数的。为了能更方便的讲解,我在这里只以float型为例,从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是
2013-06-23 14:53:32
764
转载 编程珠玑--杂技算法--字符串、数组的旋转
http://www.cnblogs.com/vtianyun/archive/2012/05/11/2495855.html昨天面试去了,讲到字符串移动,也就是交换位置,等于是循环移动。。。结果我自己把自己给绕进去了,怎么都动不好,回来总结总结,发现原因了!待移动的数组假设为a,长度为len,需要移动rotate位,编程珠玑上说的:用的时候,务必小心!书中给的是len =12,rot
2013-06-18 22:11:52
959
转载 从4300000000个中找出重复的数
http://www.onlymarshall.com/2008/10/16/%E4%B8%80%E9%81%93%E7%BC%96%E7%A8%8B%E7%8F%A0%E7%8E%91%E7%9A%84%E9%A2%98%EF%BC%8C%E7%BB%88%E4%BA%8E%E6%90%9E%E6%87%82%E4%BA%86/给定一个包含4300000000个32位整数的顺序文件,请问
2013-06-18 16:19:19
1082
转载 【编程珠玑】空间换时间的数据结构问题
One problem with trading more space to use less time is that initializing the space can itself take a great deal of time. Show how to circumvent this problem by designing a technique to initialize an
2013-06-17 19:59:45
1687
转载 求从1到n这n个整数的十进制表示中1出现的次数
http://www.cnblogs.com/GoAhead/archive/2012/05/28/2521415.html例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。简单的方法就是按照给位进行分析在个位出现1的个数=n/10+(个位=0,0;个位>1,1;个位=1,低0位+1);//后面的应
2013-06-06 18:11:54
759
原创 计算数组中引用的块数
You are given a doubly linked list and an array of references to nodes on the linked list. How many "blocks" are there present in the linked list?A "block" is defined as a group of nodes on the li
2013-06-03 22:02:24
768
翻译 找出数组中某个元素第一次出现的位置
Given a sorted array, write a function to search first occurrence of a number in the array. If not found return -1.Example::{2,2,2,3,4,5,5,6,6,8,9}search 6should return 7.给定一个排序的数组,找出数组中某个
2013-06-02 13:08:15
10744
翻译 以递增顺序打印2^i*5^j
以递增的顺序打印2^i*5^j这N个数组 所有的 i >= 0 , j >= 0Print N numbers of form 2^i.5^j in increasing order for all i >= 0 , j >= 0 ?Example : - 1,2,4,5,8,10,16,20.....#include #include void print(int
2013-05-27 23:02:21
1050
转载 在函数中使用二维数组做参数
将一维数组声明为函数的形参,在函数的形参列表中,可以让数组的括号为空。例如,一个以一维数组为形参的函数原型可以用以下语句声明:void process1DArray(int[]);一个二维数组的行数(由二维数组的第一个下标指定)不是必需的,而列数(由第二个下标指定)是必需的。例如,以下这个函数原型声明表示函数有一个二维数组参数,其列数由整型常量SIZE指定:void process2D
2013-05-25 18:52:30
4890
转载 迷宫求解堆栈实现
http://bbs.ednchina.com/BLOG_ARTICLE_1014691.HTM一、上机实验的问题和要求:迷宫问题(书P50 3.2.4和《数据结构题集》P105 2.9):以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。利用链栈结构,然后编写一个求解迷宫的非递归程
2013-05-24 21:31:35
7314
原创 以旋转的方式输出一个矩阵中的元素
给定一个矩阵,有m行,n列。按照顺时针的顺序输出他的各个元素。可以通过设置四个方向变量up down left right 不断的变化这些方向变量来输出元素。初始化时up = 0,down = m-1; left = 0,right = n-1;首先输出矩阵中第up行的第left列到第right-1列的元素然后输出第right 列 的 第
2013-05-24 21:12:13
2037
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人