自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沈波的专栏

旅游和读书,我这一生都在享受!

  • 博客(77)
  • 收藏
  • 关注

转载 常用算法之动态规划算法

一、基本概念    动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略    基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能

2015-05-04 20:26:14 917

原创 高效寻找质数——Sieve of Eratosthenes

Sieve of Eratosthenes-埃拉托斯特尼筛法,简称埃氏筛。思路:给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个素数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个素数5筛,把5留下,把5的倍数剔除掉;不断重复下去......,直到其小于等于。示意图如下:实例:LeetCode上寻找质数的一个问题(https

2015-05-04 10:53:28 2675

转载 GBDT的基本原理

在网上看到一篇对从代码层面理解gbdt比较好的文章,转载记录一下:              GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力(g

2015-04-18 19:57:25 2532

转载 对数线性模型之一(逻辑回归), 广义线性模型学习总结

经典线性模型自变量的线性预测就是因变量的估计值。 广义线性模型:自变量的线性预测的函数是因变量的估计值。常见的广义线性模型有:probit模型、poisson模型、对数线性模型等等。对数线性模型里有:logistic regression、Maxinum entropy。本篇是对逻辑回归的学习总结,以及广义线性模型导出逻辑回归的过程。下一篇将是对最大熵模型的学习总结。本篇介绍的大纲如下:1

2015-04-18 16:10:26 1618

转载 随机梯度下降和批量梯度下降

梯度下降(GD)是最小化风险函数、损失函数的一种常用方法,随机梯度下降和批量梯度下降是两种迭代求解思路,下面从公式和实现的角度对两者进行分析,如有哪个方面写的不对,希望网友纠正。下面的h(x)是要拟合的函数,J(theta)损失函数,theta是参数,要迭代求解的值,theta求解出来了那最终要拟合的函数h(theta)就出来了。其中m是训练集的记录条数,j是参数的个数。

2015-04-18 15:41:43 1381

转载 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路

转载自:原文链接:http://www.cnblogs.com/figure9/archive/2013/01/09/2853649.html1,简介毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾。 首先说说我拿到的offer情况:微软,3面->终面,搞定百度,3面->终面,口头offer搜狗,2面,悲剧

2015-04-06 17:02:13 2344

转载 Py2exe的使用方法

Py2exe的使用方法一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe

2015-04-05 15:27:38 918

转载 数据结构中的树

数据结构中的树数据结构中为了存储和查找的方便,用各种树结构来存储文件,本章就浅谈一下各种树的表示方法、特点及各自的用途,本章设计的树结构包括:二叉查找树(二叉排序树)、平衡二叉树(AVL树)、红黑树、B-树、B+树、字典树(trie树)、后缀树、广义后缀树。1、二叉查找树(二叉排序树)  (图a)二叉查找树是一种动态查找表(图a),具有这些性质:          

2015-04-01 17:45:45 535

转载 二叉树与二叉查找树

二叉树与二叉查找树树(Tree)是n(n≥0)个结点的有限集。在任意一棵非空树中:(1)有且仅有一个特定的被称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。    结点拥有的子树数称为结点的度(Degree)。度为0的结点称为叶子(Leaf)或终端结点

2015-04-01 17:23:33 808

转载 cout和printf的压栈与a++和++a

cout和printf的压栈与a++和++a 预先声明:这个问题在不同的编译器下,结果也相应不同。以下内容转载自:http://blog.csdn.net/kzzhr/article/details/8482657先看一段代码,猜猜会是什么输出:x=1; printf("%d %d\n",x,x++); x=1; printf("%d %d\n",x++,x);

2015-04-01 17:01:37 1611

原创 查找(顺序查找、插值查找和斐波那契查找)

查找查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表分类:静态查找表和动态查找表。动态查找表:在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数据元素。平均查找长度(Average Search Length,ASL)需和指定key进行比较的关键字的个数的期望值,成为查找算法在查找

2015-04-01 16:02:25 1477

原创 页面置换算法总结

页面置换算法百度百科对页面置换算法给出的定义:在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。(1)OPT页面置换算法(最佳页面置换算法)这是一种理想情况下的页面置换算法,但实际上是不可能实现

2015-03-31 11:25:07 3211

转载 PageRank和PeopleRank的计算公式

PagerRank和PeopleRank的计算公式From paper “PeopleRank: Social Opportunistic Forwarding”   PageRank使google成为搜索之王,它用于网页等级的计算。如今,我们已经进入社交网络时代,承载信息的网页不再是我们考虑的焦点,“人”(people)成为网络的核心。如何评估社交网络中每个人的等级(PeopleRa

2015-03-30 19:03:50 1955

转载 PageRank算法简介及Map-Reduce实现

PageRank算法简介及Map-Reduce实现转载自:http://blog.jobbole.com/71431/PageRank对网页排名的算法,曾是Google发家致富的法宝。以前虽然有实验过,但理解还是不透彻,这几天又看了一下,这里总结一下PageRank算法的基本原理。一、什么是pagerankPageRank的Page可是认为是网页,表示网页排名,

2015-03-30 17:25:56 762

转载 八大排序算法

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。        当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。   快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序

2015-03-30 11:48:36 560

转载 拓扑排序

拓扑排序对于一条有向边(u,v),定义u 一个有向图顶点的拓扑序列不是惟一的。并不是任何有向图的顶点都可以排成拓扑序列,有环图是不能排的。例子:比如排课问题,比如士兵排队问题等。       拓扑排序在实际生活中和算法中都有很大的应用。比如要排一下几门课程的先后次序,我们可以把课程抽象成结点,把什么课是什么课的基础抽象成边,那么该图的一个拓扑序列就是这些课的一个可行的先后次序。各种

2015-03-30 11:18:49 839

转载 求最小生成树-克鲁斯卡尔算法

克鲁斯卡尔算法1、基本思想:设无向连通网为G=(V, E),令G的最小生成树为T=(U, TE),其初态为U=V,TE={ },然后,按照边的权值由小到大的顺序,考察G的边集E中的各条边。若被考察的边的两个顶点属于T的两个不同的连通分量,则将此边作为最小生成树的边加入到T中,同时把两个连通分量连接为一个连通分量;若被考察边的两个顶点属于同一个连通分量,则舍去此边,以免造成回路,如此下去,当

2015-03-30 10:56:33 1606

转载 求最小生成树-普里姆算法

最小生成树之prim算法边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。   最小生成树(MST):权值最小的生成树。   生成树和最小生成树的应用:要连通n个城市需要n-1条边线路。可以把边上的权值解释为线路的造价。则最小生成树表示使其造价最小的生成树。   构造网的最小生成树必须解决下面两个问题:    1、尽

2015-03-30 10:53:48 7522 1

转载 求关键路径

求关键路径1、重要概念           (1)AOE (Activity On Edges)网络 如果在无有向环的带权有向图中用有向边表示一个工程中的各项活动(Activity),用边上的权值表示活动的持续时间(Duration),用顶点表示事件(Event),则这样的有向图叫做用边表示活动的网络,简称AOE (Activity On Edges)网络。AOE网是一

2015-03-30 10:37:52 1687

转载 求最短路径长度-迪杰特斯拉算法

求最短路径长度-迪杰特斯拉算法 Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。  Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据

2015-03-29 21:39:07 9257

转载 字符串匹配-KMP算法

字符串匹配KMP算法字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?  许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。

2015-03-29 20:20:39 558

原创 通过程序解读sizeof

#include #include using namespace std;void foo3(char *c1){ int c3 = sizeof( c1 ); // c3 == cout<< c3 << endl;}void foo4(int *c2){ int c4 = sizeof( c2 ); // c4 == cout<< c4 <<

2015-03-29 16:45:46 608

转载 sizeof的用法

sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎

2015-03-29 14:51:51 478

转载 C++模板

C++模板  模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。  模板是一种对类型进行参数化的工具;  通常有两种形式:函数模板和类模板;  函数模板针对仅参数类型不同的函数;  类模板针对仅数据成员和成员函数类型不同的类。  使用模板的目的就是能够让程序

2015-03-28 15:47:51 468

转载 统计学习方法——CART, Bagging, Random Forest, Boosting

统计学习方法——CART, Bagging, Random Forest, Boosting本文转自:http://blog.csdn.net/abcjennifer/article/details/8164315本文从统计学角度讲解了CART(Classification And Regression Tree), Bagging(bootstrap aggreg

2015-03-28 11:11:54 649

转载 Hadoop初窥

Hadoop初窥Hadoop历史        雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。        随后在2003年Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS也就是google File System,google公司为了存

2015-03-27 21:28:36 646

原创 C++中重载、覆盖以及隐藏的区别

C++中重载、覆盖以及隐藏的区别C++中重载、覆盖以及隐藏是经常让人混淆的三个概念。1、重载有两个或多个函数名相同的函数,但是函数的形参列表不同。在调用相同函数名的函数时,根据形参列表确定到底该调用哪一个函数。重载是C++提供的一种灵活运用的操作,它不止可以用到函数,还可以运用到运算符中进行重载。重载的函数必须位于同一个命名空间中,在类的层次上来看,每个类就相当于是一个命名空间,所

2015-03-25 17:25:10 647

转载 深入解析C++中的构造函数和析构函数

深入解析C++中的构造函数和析构函数构造函数:在类实例化对象时自动执行,对类中的数据进行初始化。构造函数可以从载,可以有多个,但是只能有一个缺省构造函数。析构函数:在撤销对象占用的内存之前,进行一些操作的函数。析构函数不能被重载,只能有一个。调用构造函数和析构函数的顺序:先构造的后析构,后构造的先折构。它相当于一个栈,先进后出。#include#include

2015-03-24 10:32:30 816

转载 C++中的左值和右值

C++编程语言与C语言相比有很多不同之处,而且这些不同的地方有都体现着非常重要的作用。现在我们将会为大家详细介绍一下有关C++左值与右值之间的一些联系,希望能帮助大家对这一语言有一个深刻的认识。1. C++左值与右值概念变量和文字常量都有存储区,并且有相关的类型,区别在于变量是可寻址的;对于每个变量,都有2个值与其相关联:1>数据值,存储在某个内存地址中,也

2015-03-23 20:59:01 609

转载 C++ 中的this指针

C++中的this指针一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。主要作用:一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非

2015-03-23 20:43:03 634

转载 斐波那契查找

斐波那契查找黄金比例又称黄金分割,是指事物各部分间一定的数学比例关系,即将整体一分为二,较大部分与较小部分之比等于整体与较大部分之比,其比值约为1:0.618或1.618:1。0.618被公认为最具有审美意义的比例数字,这个数值的作用不仅仅体现在诸如绘画、雕塑、音乐、建筑等艺术领域,而且在管理、工程设计等方面也有着不可忽视的作用。因此被称为黄金分割。大家记不记得斐波那契

2015-03-23 10:08:08 1223

原创 数据结构中各类排序算法

数据结构中各类排序算法一、插入排序1.直接插入排序 直接插入排序(straight insertion sort)的做法是: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1

2015-03-16 11:25:35 1033

原创 欧氏距离与马氏距离的优缺点是什么?

欧氏距离与马氏距离的优缺点是什么?      欧氏距离(Euclidean distance)也称欧几里得度量、欧几里得度量,是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。在二维和三维空间中的欧氏距离的就是两点之间的距离。  缺点:就大部分统计问题而言,欧氏距离是不能令人满意的。(每个坐标对欧氏距离的贡献是同等的。当坐标表示测量值时,它们往往带有大小不等的随机波动,在

2015-03-12 20:36:13 68633 1

转载 各种距离汇总

在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。  本文的目的就是对常用的相似性度量作一个总结。本文目录:1.欧氏距离2.曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离

2015-03-12 20:29:00 688

原创 二、决策树(Decision Tree)

二、决策树(Decision Tree)算法基本思想:根据数据集中数据的特征进行逐步的推理、判断,从而达到分类或预测的目的。决策树属于图解法,因为类似于树的结构,因此成为决策树。常见的决策树算法有ID3、C4.5以及CART。算法举例:         在构造决策树时,我们需要解决的第一个问题就是,当前数据集上哪个特征在划分数据分类时起决定性作用。为了找到决定性的特征,划分出最

2015-03-12 11:42:59 811

原创 一、K -近邻算法(KNN:k-Nearest Neighbors)

一、K -近邻算法(KNN:k-Nearest Neighbors)算法基本思想:物以类聚,人以群分存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最相邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k

2015-03-12 11:34:55 5341

原创 机器学习实战笔记

机器学习实战笔记机器学习的概念:引用Andrew Ng在机器学习课程中说过的一句话“机器学习实际上就是使用一个学习型算法,让机器学习起来”。机器学习能让我们自数据集中受到启发,换句话说,我们会利用计算机来彰显数据背后的真是含义。实际上,很多应用是很难用程序编写出来的,或者说不能编写出来的,例如手写体识别问题。而借助于机器学习的思想,我们能够挖掘数据背后隐含的特征,从而能够解决该问题。

2015-03-12 11:32:04 855

转载 机器学习常见算法分类汇总

机器学习常见算法分类汇总本文转载自:http://blog.jobbole.com/77620/机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。本文为您总结一下常见的机器学习算法,以供您在工作和学习中参考。机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个

2015-03-11 11:09:07 566

转载 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)

机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能

2015-03-11 11:03:47 1068

转载 机器学习算法基础概念学习总结

机器学习算法基础概念学习总结本文转载自:http://blog.jobbole.com/74716/1.基础概念:(1) 10折交叉验证:英文名是10-fold cross-validation,用来测试算法的准确性。是常用的测试方法。将数据集分成10份。轮流将其中的9份作为训练数据,1分作为测试数据,进行试验。每次试验都会得出相应的正确率(或差错率)。10次的结果

2015-03-11 10:39:33 771

空空如也

空空如也

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

TA关注的人

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