自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (5)
  • 收藏
  • 关注

转载 ZIP压缩算法详细分析及解压实例解释

最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没啥区别,在数学家看来,都是映射。一方面在进行通信的时候,有必要将待传输的数据进行压缩,以减少带宽需求;另一方面,计算机存储数据的时候,为了减少磁盘容量需求,也会将文件进行压缩,尽管现在的网络带宽越来越高,压缩已经不像90年代初那个时候那么迫切,但在很多场合下仍然需要,其中一个原因是压缩后的数据

2016-01-24 09:49:09 1377 2

转载 淘宝搜索算法现状

淘宝搜索排序的目的是帮助用户快速的找到需要的商品。从技术上来说,就是在用户输入关键词匹配到的商品中,把最符合用户需求的商品排到第一位,其它的依次排在后续相应的位置。为了更好的实现这个目标,算法排序系统基本按三个方面来推进。

2016-01-23 09:21:54 963 2

转载 神经网络(Neural Network)

对于非线性分类问题,如果用多元线性回归进行分类,需要构造许多高次项,导致特征特多学习参数过多,从而复杂度太高。

2016-01-21 13:14:50 1101 2

转载 如何在面试中发现优秀程序员

我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏幕上的程序。他在这个题目上挣扎了很久。这个家伙是个很神奇的人。你给他一些没用的零件,他能建造一个机器人,并能用程序控制它在屋里走来走去。他曾经参与过研制卫星,并且这个卫星现在正在轨运行。他只用左脑都比我能干。但是对于这个题目他却从来、从来没机会干过:在屏幕上显示什么东西。  有些人就有这种技能,能在面试中问出正确的问题,发现优秀的程序员。而有些人却害怕提问,畏首畏尾,问一些从网上拷贝下来的问题,自己没主见,只会跟随其他面试

2016-01-20 13:56:52 663 2

转载 阿里巴巴校招负责人揭秘面试中那些你应该知道的“潜规则”

最近负责了公司招聘,发现校园招聘这种事情,真是一个奇葩的工作。能做好校园招聘的人,一定是一个矛盾体。这个人一定是思维缜密,因为流程在这里特别重要,宣讲会、笔试、面试,需要不能出乱子;这个人还需要有创新意识,做好了宣讲会、笔试面试,也就是中规中矩,没啥特色,如果不弄点有新意的东东出来,也很难找到最优秀的人才。有人说,这个不矛盾啊。看上去不矛盾,实际上挺矛盾的。因为如果这个人思维缜密,还有很好的创新意识,太难找了。看了很多大学生过来面试,感触颇多。感触的是,人和人真的很不一样。今天就给大家分享一下我

2016-01-19 18:38:57 1342 1

转载 我的算法学习之路

读书计划的第一步是选择书籍,我曾向当时我觉得很牛的”学长”和”大神”请教应该读哪些算法书籍,”学长”们均推荐算法导论,还有几个”大神”推荐计算机程序设计艺术(现在我疑心他们是否翻过这些书),草草的翻了下这两本书发现实在看不懂,但幸运的是我在无意中发现了豆瓣这个神奇的网站,里面有很多质量不错的书评,于是我就把评价很高而且看上去不那么吓人的计算机书籍都买了下来——事实证明豆瓣要比这些”学长”或是”大神”靠谱的多得多。

2016-01-18 18:53:11 742 1

转载 操作系统核心原理-磁盘基础

计算机是处理数据的机器,而数据就需要有地方存放。在计算机中,可供数据存放的地方并不太多,除了内存之外,最主要的存储数据的媒介就是磁盘。对于大多数计算机领域的人来说,磁盘通常被看做是一种外部设备。可是,对于现代操作系统来说,磁盘是不可或缺的。虽然早期的操作系统可以基于磁带,但由于操作系统复杂性和性能的不断提升,用磁带作为操作系统的载体已经不合时宜,取而代之的是磁盘。由于操作系统需要存放在磁盘上,且操作系统内的文件系统也是基于磁盘,所以,从某种程度来说,磁盘是操作系统不可分割的一部分,理解磁盘将对理解操作系统的

2016-01-17 09:14:00 1026 3

原创 C++编译期多态与运行期多态

C++编译期多态与运行期多态今日的C++不再是个单纯的“带类的C”语言,它已经发展成为一个多种次语言所组成的语言集合,其中泛型编程与基于它的STL是C++发展中最为出彩的那部分。在面向对象C++编程中,多态是OO三大特性之一,这种多态称为运行期多态,也称为动态多态;在泛型编程中,多态基于template(模板)的具现化与函数的重载解析。

2016-01-15 14:37:17 732 1

原创 c++之我们为什么选择使用智能指针

c++之我们为什么选择使用智能指针你的内存管理原则是否正确?学c++的同学都知道这个内存管理原则,就是“谁创建,谁释放”或者说“谁申请,谁释放”。简单地说,在代码上体现为,调用new或malloc等内存分配的人,同时需在内存使用完成后调用delete或free释放。这个原则看似大家都同意,毕竟只有申请内存的人,才知道什么时候该释放内存。这无疑是一个正确的原则,但这个原则在任意场景中是否都合理呢?

2016-01-14 13:48:30 1162 1

转载 计算机的潜意识

机器学习是什么,为什么它能有这么大的魔力,这些问题正是本文要回答的。同时,本文叫做“从机器学习谈起”,因此会以漫谈的形式介绍跟机器学习相关的所有内容,包括学科(如数据挖掘、计算机视觉等),算法(神经网络,svm)等等。本文的主要目录如下:  1.一个故事说明什么是机器学习  2.机器学习的定义  3.机器学习的范围  4.机器学习的方法  5.机器学习的应用--大数据  6.机器学习的子类--深度学习  7.机器学习的父类--人工智能  8.机器学习的思考--计算机的潜意识

2016-01-13 14:15:06 854 3

转载 [Machine Learning] 机器学习常见算法分类汇总

贝叶斯定理用数学的方法来解释生活中大家都知道的常识形式最简单的定理往往是最好的定理,比如说中心极限定理,这样的定理往往会成为某一个领域的理论基础。机器学习的各种算法中使用的方法,最常见的就是贝叶斯定理。贝叶斯定理的发现过程我没有找到相应的资料,不过我相信托马斯.贝叶斯(1702-1761)是通过生活中的一些小问题去发现这个对后世影响深远的定理的,而且我相信贝叶斯发现这个定理的时候,还不知道它居然有这么大的威力呢。

2016-01-12 14:52:56 967 2

原创 机器学习(一)

最近在Coursera 上学习斯坦福大学的机器学习。根据费曼学习法的理论,教是最好最快最有效果的学习方法。因此,我将会开一系列机器学习相关的文章,同步我的学习进度,并用我自己的理解和语言将我学到的内容写出来。为了防止拖延症的发作,我将会严格制定时间表,尽最大可能保证每周一篇文章。希望这一系列文章能让我更好的理解机器学习,也希望同时能为大家提供学习机器学习的入门参考。

2016-01-11 14:15:21 671 2

转载 C++入门(1)简单变量和数据类型

C++入门(1)简单变量和数据类型版权声明:本文由JessicaZhang27发布于http://blog.csdn.net/qq_33256568/article/details/50195921,本文可以部分或者全部的被引用,但请注明出处最近在看Larry Ullman && Andreas Signer 写的《写给大家看的C++书》,做了一些笔记跟大家分享,希望会有所帮助。

2016-01-10 18:33:58 852 1

转载 挑战面试编程:查找数组中第k大的数

查找数组中第k大的数

2016-01-09 11:47:33 627 1

转载 C++开发人脸性别识别——通过SVM实现性别识别

支持向量机在解决二分类问题方面有着强大的威力(当然也可以解决多分类问题),性别识别是典型的二分类模式识别问题,因此很适合用SVM进行处理,同时OpenCv又对SVM进行了很好的封装,调用非常方便,因此我们在这个性别识别程序中考虑加入SVM方法。  在这里我们采用了HOG+SVM的模式来进行,即先提取图像的HOG特征,然后将这些HOG特征输入SVM中进行训练。

2016-01-08 11:26:23 1368 1

转载 hadoop杂记-为什么会有Map-reduce v2 (Yarn)

Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)

2016-01-07 12:30:45 482 1

转载 为什么Hadoop将一定会是分布式计算的未来?

版权声明:写本文由leftnoteasy发布于http://leftnoteasy.cnblogs.com 本文可以被全部或者部分的使用,但请注明出处,如果有问题,可以联系wheeleast (at) gmail.com, 也可以加我的新浪微博:http://weibo.com/leftnoteasy 前言:  很久没有写写博客了,之前主要是换工作,耽误

2016-01-06 13:17:58 582 1

转载 机器学习中的算法(2)-支持向量机(SVM)基础

SVM的主要思想可以概括为两点:⑴它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而 使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;

2016-01-05 13:40:07 555 1

转载 机器学习中的算法(1)-决策树模型组合之随机森林与GBDT

模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,这些算法最终的结果是生成N(可能会有几百棵以上)棵树,这样可以大大的减少单决策树带来的毛病,有点类似于三个臭皮匠等于一个诸葛亮的做法,虽然这几百棵决策树中的每一棵都很简单(相对于C4.5这种单决策树来说),但是他们组合起来确是很强大。

2016-01-04 14:20:43 623 1

转载 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用

特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。

2016-01-03 10:49:08 627 1

转载 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)

LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning。有些资料上也称为是Fisher’s Linear Discriminant,因为它被Ronald Fisher发明自1936年,Discriminant这次词我个人的理解是,一个模型,不需要去通过概率的方法来训练、预测数据,比如说各种贝叶斯方法,就需要获取数据的先验、后验概率等等。LDA是在目前机器学习、数据挖掘领域经典且热门的一个算法,据我所知,百度的商务搜索部里面就用了不

2016-01-02 11:34:35 586 1

转载 机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting

最近看的一些论文中发现了模型组合的好处,比如GBDT或者rf,都是将简单的模型组合起来,效果比单个更复杂的模型好。组合的方式很多,随机化(比如random forest),Boosting(比如GBDT)都是其中典型的方法,今天主要谈谈Gradient Boosting方法(这个与传统的Boosting还有一些不同)的一些数学基础,有了这个数学基础,上面的应用可以看Freidman的Gradient Boosting Machine。

2016-01-01 12:02:59 556 1

转载 机器学习中的数学(2)-线性回归,偏差、方差权衡

回归最简单的定义是,给出一个点集D,用一个函数去拟合这个点集,并且使得点集与拟合函数间的误差最小。

2015-12-31 12:48:35 681 1

转载 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logistic回归,等等,这个将在后面去讲。

2015-12-30 13:02:22 576 2

原创 排序算法—快速排序算法分析与实现(Python)

快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成。所以快速排序算法的核心算法是分区操作,即如何调整基准的位置以及调整返回基准的

2015-12-29 14:27:34 569 1

原创 排序算法—归并排序算法分析与实现(Python)

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为:- 1)划分子表- 2)合并半子表

2015-12-28 13:41:19 602 2

原创 排序算法—堆排序算法分析与实现(Python)

堆排序的时间复杂度是O(nlgN),与快速排序达到相同的时间复杂度。但是在实际应用中,我们往往采用快速排序而不是堆排序。这是因为快速排序的一个好的实现,往往比堆排序具有更好的表现。堆排序的主要用途,是在形成和处理优先级队列方面。另外,如果计算要求是类优先级队列(比如,只要返回最大或者最小元素,只有有限的插入要求等),堆同样是很适合的数据结构。

2015-12-27 12:09:42 686 2

原创 排序算法—希尔排序算法分析与实现(Python)

December 25, 2015 8:58 AM希尔排序,也称递减增量排序算法,是插入排序的一种高速而稳定的改进版本。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: - 插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达到线性排序的效率 - 但插入排序一般来说是低效的, 因为插入排序每次只能将数据移动一位历史希尔排序按其设计者希尔(Donald Shell)的名字命名,该

2015-12-25 09:06:32 1004 2

原创 排序算法—直接插入排序算法分析与实现(Python)

插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。

2015-12-24 19:37:17 642 2

原创 排序算法—选择排序算法分析与实现(Python)

选择排序的思想非常直接,不是要排序么?那好,我就从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。相比于插入排序的固定元素找位置,是两种思维方式。不过条条大路通罗马,两者的目的是一样的。

2015-12-23 12:53:35 545 2

原创 排序算法—冒泡排序算法分析与实现(Python)

原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子。

2015-12-22 13:23:11 774 3

原创 查找算法—斐波那契查找算法分析与实现(Python)

黄金比例又称黄金分割,是指事物各部分间一定的数学比例关系,即将整体一分为二,较大部分与较小部分之比等于整体与较大部分之比,其比值约为1:0.618或1.618:1。时间复杂度:如果要查找的记录在右侧,则左边的数据都不用在哦按段了,不断反复进行下去,对处于当中的大部分数据源,其工作效率要高一些所以尽管斐波那契查找的时间复杂度也为O(logn)。但品均性能上来说,斐波那契查找要优于折半查找,可惜如果是最坏情况,

2015-12-21 12:54:09 2032 2

原创 查找算法—折半查找算法分析与实现(Python)

折半查找是我很喜欢的一种查找方式,它代码简单,查询效率很高,时间复杂度是0(log2n).折半查找是在一个有序的元组中查找元素,它通过关键词与中间值的比较,来查找相关的元素。如果关键词比中间值大,那么就在元组的后半部分查找,反之亦然。

2015-12-20 14:07:05 1754 2

原创 最短路径算法—Floyd(弗洛伊德)算法分析与实现(Python)

Floyd算法是解决任意两点间的最短路径的一种算法,可以正确处理带权有向图或负权的最短路径问题Floyd算法的基本思想:1. 利用二维数组dist[i][j]记录当前vi到vj的最短路径长度,数组dist的初值等于图的带权邻接矩阵;2. 集合S记录当前

2015-12-19 23:06:55 16534 5

原创 最短路径算法—Dijkstra(迪杰斯特拉)算法分析与实现(Python)

Dijkstra(迪杰斯特拉)算法是典型的最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。

2015-12-18 21:11:10 8420 2

原创 最小生成树,克鲁斯卡尔算法(Python实现)

克鲁斯卡尔算法的基本思想:设有一个有n个顶点的连通网N={V,E},最初先构造一个只有n个顶点,没有边的非连通图T={V, E},图中每个顶点自成一个连通分量。当在E中选到一条具有最小权值的边时,若该边的两个顶点落在不同的连通分量上,则将此边加入到T中;否则将此边舍去,重新选择一条权值最小的边。如此重复下去,直到所有顶点在同一个连通分量上为止

2015-12-17 13:56:47 6346 3

原创 最小生成树,普里姆算法(Python实现)

普里姆算法的基本思想:普里姆算法是另一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的。

2015-12-16 13:46:26 10212 4

原创 大话操作系统(2)内存管理

程序运行是执行一条条指令,指令存放在存储器里,有的存储器读写快,但是容量低,比如缓冲,有的存储器容量大,但是读写速度慢,如硬盘,还有的性能介于两者之间,比如内存。我们希望所有的指令都最好放在缓冲,这样速度就会很快,但是,一方面缓冲容量小,另一方面比较昂贵,不可能所有指令都放在缓冲里,这样就需要有一个机制对这些不同的存储器进行管理,以适应不同情况下的内存分配,这便是即将提到的内存管理。

2015-12-15 14:12:37 1164 3

原创 大话操作系统(1)基本概念

每一台计算机可以看做是一个工厂,时刻运行着。为了工厂稳定的运转,我们需要一些明确的规章制度以及一些管理员负责确保这些规章制度有序的执行,操作系统就是在扮演这样一个角色,确保计算机可以高效的完成我们交给它的任务。一个工厂里边有厂长(CPU),有负责车间的副厂长(内存管理),有负责库房的副厂长(外存管理),有负责机器维护及使用的副厂长(设备管理),在车间,为了提高效率,引进流水线操作(批处理),这些部分构成了操作系统的核

2015-12-14 14:16:06 1920 3

原创 kmenas及其改进算法(python和matlab实现)

December 13, 2015 6:45 PM  聚类分析是一种静态数据分析方法,常被用于机器学习,模式识别,数据挖掘等领域。通常认为,聚类是一种无监督式的机器学习方法,它的过程是这样的:在未知样本类别的情况下,通过计算样本彼此间的距离(欧式距离,马式距离,汉明距离,余弦距离等)来估计样本所属类别。从结构性来划分,聚类方法分为自上而下和自下而上两种方法,前者的算法是先把所有样本视为一类,然后不断

2015-12-13 19:10:46 1956 2

Adaboost算法

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。

2015-05-18

主成分分析(PCA)

主成分分析 ( Principal Component Analysis , PCA )或者主元分析。是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成分的目的是将高维数据投影到较低维空间。给定 n 个变量的 m 个观察值,形成一个 n ′ m 的数据矩阵, n 通常比较大。对于一个由多个变量描述的复杂事物,人们难以认识,那么是否可以抓住事物主要方面进行重点分析呢?如果事物的主要方面刚好体现在几个主要变量上,我们只需要将这几个变量分离出来,进行详细分析。但是,在一般情况下,并不能直接找出这样的关键变量。这时我们可以用原有变量的线性组合来表示事物的主要方面, PCA 就是这样一种分析方法。

2015-05-18

kNN(邻近算法)算法

邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。 kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 kNN方法在类别决策时,只与极少量的相邻样本有关。由于kNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。

2015-05-18

数据输入,查询软件

数据输入,查询软件

2014-11-10

Cut.exe,use for display cut board

显示剪切板内容

2014-11-10

空空如也

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

TA关注的人

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