自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SimHash

关键字:字符串降维,汉明匹配,顺序无关基本原理simhash是google用于解决海量数据去重的问题,通过降维到hash_code,在通过降维后的code进行两两匹配。 流程如下: - 1、分词,把需要判断文本分词形成这个文章的特征单词。最后形成去掉噪音词的单词序列并为每个词加上权重。2、hash,通过hash算法把每个词变成hash值,比如“美国”通过hash算法计算为 100101,“5

2017-03-29 16:21:40 987

原创 我又回来了,自己的站点维护太费力了

哈哈,又回到csdn了,高估了自己维护站点的能力,还是csdn配置齐全,blog继续更新。个人站点 :http://1.hwcblog.sinaapp.com/ ,后续有经历会再维护的,也欢迎来访。

2014-12-01 12:58:00 1571

原创 [Python]networkx入门

networkx是python的一个第三方包,可以方便地调用各种图算法的计算。通过调用python画图包matplotlib能实现图的可视化。这里简单记录一些networkx的安装,使用。完整的networkx文档在官方页面时又较详细的记载

2014-08-24 15:39:44 12451

原创 线性规划--概述

线性规划:目标函数与约束条件都是线性的。线性的函数也是凸函数(非严格凸)。那么,线性规划也是在凸集上的凸规划。线性约束的线性就是一个线性方程组,我们解这个方程组得到的解也就是这个规划的可行解。一般来说,约束的秩小于变量个数,即线性方程组有无数个解。假设约束矩阵秩为m,我们取其中的m个线性无关向量为其基向量,设其他的非基向量系数 为0,就得到了约束方程A的一个解,称为基解。定理:如线性规划存在可行解,则它必定存在基可行解是最优解。也就是,我们在这些基解中就可以得到最终的最优解。

2014-07-11 19:40:49 2299

原创 [Python]通过websocket与js客户端通信

网站大多使用HTTP协议通信,而HTTP是无连接的协议。只有客户端请求时,服务器端才能发出相应的应答,HTTP请求的包也比较大,如果只是很小的数据通信,开销过大。于是,我们可以使用websocket这个协议,用最小的开销实现面向连接的通信。具体的websocket介绍可见http://zh.wikipedia.org/wiki/WebSocket 这里,介绍如何使用Python,使用websocket与前端js进行通信

2014-06-24 18:17:34 13176 2

转载 cookie 和session 的区别详解

这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。

2014-06-17 12:11:01 898 1

原创 [Python]socket使用

python socket可以实现socket通信功能,还可以与php, js等程序进行socket通信,达到在网页中嵌入Python程序的目的。 Python中使用socket模块完成socket通信功能,其提供底层的套接字访问接口。项目中,Python通过socket与前端js通信,读入数据,处理后传回。

2014-06-10 14:13:05 5920

原创 git使用入门

git是常用的分布式版本控制系统,每个本地版本都包含整个工程。故在不联网的情况下也能够进行工程。如果在Internet上放一个远端库,就可以作为一个版本服务器,用来充当集中式版本控制的角色。如github这样的网站就提供版本库托管的服务。这里简单介绍git,git的入门使用方法。

2014-06-09 13:10:21 1162

原创 分类器效果分析

假设有两个分类器A,B。A在1000个样本的集合上有75%的准确率;B在200个样本的集合上有85%的准确率。我们要怎样评价这两个分类器的效果?这就是这里要讨论的分类器效果分析。我们先假设一个分布,然后用置信区间来比较两个分类器。

2014-06-08 12:43:11 2667

原创 决策树扩展

之前写过决策树的一篇blog。这几天看数据挖掘导论发掘一些新的东西,记录下来。增加了过拟合,剪枝,即其他纯度计算方法等内容。

2014-06-07 09:59:27 2068

原创 Tanimoto相似度与Bregman距离

之前写过一篇距离与相似性度量的blog,这里添加两个少见的相似性度量方法,并且再扩展一些东西。Tanimoto系数由Jaccard系数扩展而来。用来计算稀疏非二值不平衡向量的相似性,类似cosine距离Bregman距离是一个数学通式,许多的距离,如欧式距离,KL距离等等都可以有Bregman公式推导而来。

2014-06-06 20:26:36 18379 2

原创 [Python]多线程入门

Python的多线程有两种实现方法:函数,线程类1.函数:调用thread模块中的start_new_thread()函数来创建线程,以线程函数的形式告诉线程该做什么2.线程类:调用threading模块,创建threading.Thread的子类来得到自定义线程类。  def f(name):    #定义线程函数    print "this is " + name

2014-06-04 22:07:21 10328

原创 [Python]使用MYSQL

学习Python使用MYSQLdb操作MYSQL数据库

2014-06-04 12:34:47 1319

原创 [Python]linux自定义Python脚本命令

在window下写好的程序配置到Linux上,要实现任意目录下的命令调用。由于初学Linux,这里从文件传输等最基本的方法入手,记录配置的过程中遇到的各种问题。

2014-05-22 17:57:19 3259

原创 [Python]处理压缩文件

这里讨论Python处理如下五种文件:gz tar tgz zip rargz: 即gzip,通常只能压缩一个文件。于tar结合起来就可以实现先打包,再压缩。tar: linux系统下的打包工具,只打包,不压缩tgz:即tar.gz。先用tar打包,然后再用gz压缩得到的文件zip: 不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于tar。rar:打包压缩文件,最初用于DOS,基于window操作系统。压缩率比zip高,但速度慢,随机访问的速度也慢。关于z

2014-05-22 16:27:23 12976 1

原创 [Python]BeautifulSoup—HTML解析包

在用Python写爬虫时,一个常见的操作是对抓下的HTML做分析处理,得到想要的内容。一般的方法为使用Python的re库中,用正则表达式来解析文本。不过这种方法适用于所有的文本,而针对于特定格式的文本,如这里的HTML,BeautifulSoup更具有针对性,使用起来也更方便。BeautifulSoup可以解析HTML,XML等文件,这里只说明其解析HTML的功能。 Beautifu

2014-05-19 14:07:44 3288

原创 [Python]Google翻译小程序

用Python写的Google翻译小程序

2014-05-17 20:31:45 2827

原创 [Python]南邮OJ代码备份爬虫

之前看过Python学习的经验,说以工程为导向学习。自己分析了一下,一般接触Python的都有一定的其他语言基础,对于程序设计的基本逻辑,语法都有一个大概的了解。而Python这种脚本语言,没有过于独特的语法,在一定的其他语言的基础上,更是可以直接上手的。之前看Python简明教程,半天没有进度。正好遇上Python爬虫项目,直接上手,方便快捷。 网站:http://acm.njupt.edu.cn/welcome.do?method=index,正值系统更新,于是写一个备份代码的爬虫。

2014-05-17 20:29:45 1778

原创 Linux安装vsftp

Vsftpd 即very secure ftp。是在类UNIX操作系统上运行的服务器,是一种守护进程,即开机即运行,关机结束的后台进程。Vsftp的特性· 非常高的安全性需求· 带宽限制· 良好的可伸缩性· 创建虚拟用户的可能性· IPv6支持· 中等偏上的性能· 分配虚拟 IP 的可能性· 高速

2014-04-16 21:01:25 1168

原创 在线学习

一般的算法当中,我们有一个训练模型的集合。通过假设,拟合得到模型。而在在线学习模型中,我们是在一个不断扩充的集合中不断训练,不断改变模型参数。这种方法适用于许多在线训练的场景,边测试,边训练,不断优化模型。也就是,每回在线地加入新样本,然后更新模型。根据这种方法只用于训练的,也就是随机下降的方法。边测试,然后把之后得到的真实结果再加入训练集训练,就是在线学习。比如我们预测前一天的天气对第二天穿衣的影响。过了那天之后,原先的测试数据可以转化为训练数据,更新数据集。

2014-04-16 18:27:36 1397

原创 特征选择

特征选择是一种特殊的模型选择方法。考虑一种情况,当样本维数n远大于样本个数m的时候,根据经验风险与结构风险的关系样本维数n很大,那么即使是用最简单的线性回归,模型的VC维也能达到O(n)。样本数量m很小,也会导致模型过拟合。处理这种情况,由于VC维很难再降低了,而样本数的增加也是受限制的,我们选择减小样本维数。 一种方法是PCA,LDA等模式识别中常见的方法,类似小波变换,求得线性高能量子空间。还有一种就是这里要论述的特征选择。

2014-04-12 22:32:25 2007

原创 交叉验证

之前的blog讨论过经验风险与结构风险之间相互限制的关系。http://blog.csdn.net/ice110956/article/details/14002791我们在相同VC维的模型中,选择经验风险最小的模型,能够得到与真实风险误差有一定上限的结果,即这种策略的结果可控,虽然不是最优的。那么,在不同的VC维模型中,比如遇到一个分类问题,是使用SVM,贝叶斯,还是决策树?这时候如何选择呢?一个常见的方法就是交叉验证。 交叉验证就是把训练样本的一部分独立出来作为测试样本,用这时候的测试误差来估计

2014-04-11 21:58:08 2591

原创 SVM(二)——宽松SVM

之前的SVM(http://blog.csdn.net/ice110956/article/details/23436171)推导前提条件是样本线性可分,或者至少在高维空间中线性可分。但是许多情况下,并不是高维可分的。还有一种情况,由于一小部分的离群点导致SVM的结果相差很大。为了解决高维线性不可分,以及离群点影响过大的情况,放宽约束,并加入惩罚项,从而构造错分可容忍,离群点鲁棒的宽松SVM方法。在解的时候,使用坐标迭代求解的坐标上升法,每次更新两个变量,虽然增加了迭代次数,但是使得每次都求解相对容易

2014-04-11 13:31:26 1336

原创 SVM(一)

SVM(support vector machine,支持向量机)是最好的分类模型之一。通过寻找高维空间上的超平面,把样本分隔为两类,并且计算复杂度并没有因为高维映射而增加。这篇blog从间隔的定义出发,以最优化的形式定义SVM的最大间隔分类问题。在KKT条件下,一个不好解的最优化问题可以转化为其对偶规划求解。SVM运用对偶规划,能够得到关于样本的内积形式。核方法是一种以核函数替代高维点积,而时间复杂度不提高的方法。在SVM中,通过对偶规划得到内积形式后,运用核函数,我们得到高维空间的线性可分的分类器

2014-04-11 13:12:05 1912

原创 朴素贝叶斯模型

在生成学习算法中,特征向量是连续值,从而我们假设一个连续分布,来拟合P(x|y)。如果x是离散的并且维数很大又该怎么处理?以文本分类为例子,引出朴素贝叶斯方法。考虑分类邮件的例子。我们要通过邮件中的文本,来建立模型,从而把垃圾邮件与正常邮件区分开开来。而邮件一般由文字组成,我们要把这些文字提取作为邮件的特征。一个简单的方法就是建立字典,每一维代表一个字母是否出现,于是每个邮件可以提取得到基于此的特征向量。如果我们选择一个5000个单词的字母表,那么邮件的特征便为5000维。根据生成模型的方法,我们要假

2014-04-07 11:27:02 2204 1

原创 生成模型之高斯鉴别分析

线性回归中,我们假设Y满足以sita*X为均值的高斯分布。也就是假设P(Y|X)~N(sita*X,yita)。这种假设拟合P(Y|X)的方法我们称为判别法。有这么一种方法,尝试去假设X的分布情况,也就是假设拟合P(X|Y)。这就是生成模型。使用生成模型,得到拟合分布P(X|Y)之后,我们再使用bays规则,求得某个新样本属于某个标签的概率。然后,取其中概率最大的类作为分类结果。高斯分布是熟知的自然分布。我们用多变量的高斯分布,来假设样本特征满足这样的分布,生成高斯鉴别分析模型。

2014-04-06 12:17:09 2473

原创 最优化之PH解法

之前几篇blog分别讨论了无约束最优性条件,等式约束最优性条件,不等式约束最优性条件。根据最优性条件,我们可以用解析法求解。还有序列求解的外罚函数法和内罚函数法。 小结一下:无约束问题用微积分的知识,或者简单的下降法可以求解。等式约束问题,构造拉格朗日乘子,再用解析法求解。不等式约束问题复杂一点,构造KKT条件(包括拉格朗日乘子,以及相应的约束)求解。一般情况下,拉格朗日乘子,或者KKT条件无法直接求解。经证明,拉格朗日乘子没有极小值,因此序列迭代求解也不行。我们引进的外罚函数与内罚函数可以用

2014-04-03 20:01:11 3820 2

原创 logistic回归

线性分类问题我们看如下这幅图。两类样本直观地可以通过一条直线分隔。这就是常见的线性分类问题。用回归方法解决分类问题分类问题是一种特殊的回归问题,其输出的预测为类标签。如果是0,1两类,则输出0为负类,1为正类。我们把线性回归中的结果,直接做如下处理:也就是把线性回归得到的结果,按照>,这就是简单的感知机模型。 很明

2014-04-03 15:21:07 1764

原创 线性回归中最小二乘的概率解释

最小二乘法是常见的构造代价函数, 拟合参数的方法,如下:Cost=(h(x)-y)^2这里探讨最小二乘的概率依据。 最大释然理论一个简单的例子:假设一个袋子里有无限个球,白球出现的比例是P,黑球为1-P。那么我从中取10个球,得到了7个白球,很自然的,我们会估计白球出现的比例P=0.7;继续,我们取100个球,得到了75个白球,我们会继续估计P=0.75。也

2014-04-02 10:22:09 3333

原创 线性回归

Ng的一个例子:假设我们要用房子的大小来预测其价格,得到的数据如下:我们画在二维平面上,得到如下:我们可以大概地用一个函数来拟合如上的数据:Price=h(area),其中h为线性函数,则称为线性回归,得到下面的一条预测直线。 一般化的,我们写成:这里的参数,就是我们训练要得到的参数。 如何得到较好的参数呢?直观的方法就是最小二乘

2014-04-01 21:49:48 1423 1

原创 最速下降法与Newton法

一般我们常见的解最优化的方法是解析法,是求导,得极值点。很多情况下解析法很难求解,常会用到一种迭代慢慢逼近的方法,就是迭代法。迭代法由一个基本的可行点出发,依次产生一个可行点列,x1,x2,…,xk,f(xk+1)迭代法基本步骤如下:1. 一个初始的位置x0;2. 一个迭代搜索的方向p3. 一个前进的步长a.

2014-04-01 15:33:03 7278

原创 推荐系统之改进版SVD

之前的blog(http://blog.csdn.net/ice110956/article/details/21955461 )简单阐述了基于SVD矩阵分解的隐因子模型。隐因子模型通过假设一个隐因子空间,通过矩阵分解,得到隐因子空间上的用户-隐因子属性向量,以及物品-隐因子属性向量。再把两个分解后的矩阵相乘,得到满的用户-物品矩阵。以此来推荐。 隐因子模型运用在推荐系统中,相比与简单的协

2014-03-26 15:04:36 5969 1

原创 基于矩阵分解的隐因子模型

推荐系统是现今广泛运用的一种数据分析方法。常见的如,“你关注的人也关注他”,“喜欢这个物品的用户还喜欢。。”“你也许会喜欢”等等。常见的推荐系统分为基于内容的推荐与基于历史记录的推荐。基于内容的推荐,关键在于提取到有用的用户,物品信息,以此为特征向量来进行分类,回归。基于历史记录的推荐,记录用户的评分,点击,收藏等等行为,以此来判断。基于内容的推荐对于用户物品的信息收集度要

2014-03-24 14:55:38 8495 2

原创 神经网络

神经网络是常见的机器学习模型。通过模拟人类神经网络的运行方式,来达到学习的目的。基本原理假设如下的图为一个神经元的工作原理:输入N维的X,每个Xi经过权重wi处理后,相加得到能量值,作为神经元的输入。如果这个能量值超过一个阈值,则神经元被激发,输出正信号。

2014-03-22 15:17:13 2117

原创 PCA matlab实现

PCA 流程如下:程序设计步骤:   1、去均值  2、计算协方差矩阵 3.计算协方差特征值和特征向量 4、降序排列特征值选取较大的特征值,选择相应的特征值和特征向量一下按照步骤编写matlab代码。 1.      去均值:Matlab函数mean可得:如下Mean_Image=mean(Train_SET,2);  Train_SET=Train_SET-Mean_

2014-03-10 18:28:12 8515

原创 acm.njupt--1882

描述 给你连续的N个数字符,在其中插入K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。输入 程序的输入共有两行: 第一行是2个正整数N,K(6≤N≤40,1≤K≤6) 第二行是N个连续的数字符。输出 输出所求得的最大乘积(一个自然数)。样例输入4 21231样例输出62

2014-03-05 09:59:37 1310

原创 核方法原理

核方法原理1.无力的线性分类器一般情况下,我们考虑构造一个线性分类器来解决问题。但是实际中,线性分类器的效果达不到要求,因为大部分数据都不是线性可分的,如下面这幅图。一种改进的方法是把多个弱的线性分类器组合得到一个强分类器,如决策树,booting方法;另一个种方法就是接下来要说的高维投影。2.高维线性可分如果某个分类问题线性不可分,那么我们可以考虑把样本投影到非线性的高维空间上,从而实现高维可分。R(低维)->F(高维)。如下图。3.高维计算的维数灾难上面的映射会大大增加计算复杂度

2014-03-04 11:31:23 9068 3

原创 Linux学习(五)--文件权限,信息显示,管道,重定向

文件权限四种权限:r,w,x –,分别对应可读,可写,可运行,不可。 文件权限通常由10个字符组成,含义如下:第一个字符- 文件L 链接D 文件夹后9个字符分为3,3,3三组。第一组:这个文件的所有者具有的权限第二组:这个文件所有者同组的其他人的权限第三组:剩下的人的权限 如Drwxr-xr-x:表示,这是一个目录,所有者可以读,写,执行;同组人可读,不可写,可执行;其他人可读,不可写,可以执行。

2014-03-03 19:33:09 1700

原创 linux学习(四)--用户与组命令

添加新用户:Useradd例:useradd + 用户名 常见问题:使用的是非root用户,无法使用这个函数,要用root登陆,或者获得root权限+环境变量。如何获得root权限:su -,并且输入密码即可;单单用su不能,su值获得权限,没获得环境变量 1.每添加一个用户,系统自动在/home 下新建一个文件进入home后,可以通过command:passwd +用户名,改变其密码。2./ect下的passwd文件会被改变,写入新用户信息。

2014-03-03 17:28:48 1066

原创 linux学习(三)--基本命令

帮助命令Man + 命令或命令 + -help查询命令的帮助 文件,目录常见命令ls 列出当前目录下文件+目录(-开头为文件,dir开头为目录)cd 变换路径,可以是绝对的,也可以是相对的.pwd 得到当前路径

2014-03-03 17:24:03 1111

南邮acm一键备份

一键抓取acm.njupt.edu.cn 中的已写程序 此为测试版,基于Python2.7.6

2014-05-13

南邮acm备份

南邮acm代码备份,Python写成,版本2.7.6

2014-05-12

。NET框架文件,用于运行。NET框架

.NET 框架配置程序,安装。NET框架

2013-07-14

CLBP人脸识别程序及运行结果

matlab程序,包含了基本LBP,旋转不变LBP,均匀LBP ,旋转不变均匀LBP,CLBP等的LBP算子提取和分类,基于AR的人脸库,还有附加的一个说明文档以及自己测试的一些结果分析。

2013-07-14

计算机图形学学习课件

计算机图形学学习课件孙家广版本的教材,适用于初学者。中间较难的一部分没有

2009-12-03

空空如也

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

TA关注的人

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