自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (6)
  • 收藏
  • 关注

原创 理解ResNet

ResNet(Residual Net)残差网是MSRA的何凯明团队在2015年提出来的,不但获得了2015年ImageNet的多项第一,甚至被运用到前一段时间非常火的AlphaGo Zero中去,取得了非常好的效果,可见ResNet的强大。ResNet的一个非常重要的贡献就是在深度网络中创造性地使用了残差块,从而解决了网络退化问题,大大提升了神经网络深度和效果。1、退化问题 那什么是网络退化问题

2017-11-08 18:42:58 5169

原创 windows下使用tensorflow简单实现CNN

一般情况下,tensorflow都会安装在Linux服务器上,方便模型的训练。但是我们想要学习tensorflow或者本地调试tensorflow,windows下的开发还是更方便舒服一些,下面介绍一下windows下使用tensorflow,及用tensorflow简单实现CNN的方法。1、windows安装tensorflow 1)首先安装python 目前tensorflow1.2版本需要

2017-07-26 22:27:01 5197

原创 为什么特征独立型的模型遇到高度相关特征效果会不好?

在利用一些机器学习模型分类的时候,一般都会进行特征选择过程,消除掉冗余特征和高度相关特征,比如朴素贝叶斯,逻辑斯蒂。为什么要这么做呢?主要有以下几个原因。 1) 一个原因比较显而易见,就是若冗余特征过多,会造成特征数目过多,从而分析特征,训练模型所需要的时间就会越长; 2) 特征数目越多,模型就会越复杂,模型越复杂,带来的方差就越大,过拟合的风险就会越大,其泛化能力就会变弱; 3) 冗余特征会

2017-07-23 10:33:48 6708 4

原创 序列模型中的注意力机制

现在很多研究的NLP问题都可以转换成一个Sequence to Sequence模型来解决,比如说机器翻译,智能问答,语音识别等。 Sequence to Sequence模型由一个encoder和一个decoder组成,encoder完成编码工作,将不同的输入编码成一个定长的向量,decoder则完成解码工作,对编码器的结果进行解码输出,例如在中英文翻译中,首先编码器将中文编码成一个向量表示,接

2017-07-15 23:43:48 16983 2

原创 六大排序算法(插冒归堆选择快排)

计划花一个月时间刷刷数据结构与算法,先拿排序热热身吧。import java.util.Random;public class Sort { /** * 插入排序 * */ public void insertSort(int[]a,int len){ if(len<=0){ return; }

2017-06-11 15:32:06 1276

原创 xgboost的模型推导

1、Boost Tree 模型提升树模型一般是以CART树为基函数,采用加法模型与前向分布算法来拟合目标。第t时刻的模型为: f(t)(x)=f(t−1)(x)+Tt(x;θ)f^{(t)}(x) = f^{(t-1)}(x)+T^{t}(x;\theta) 其中,f(t−1)(x)f^{(t-1)}(x)是t-1时刻的模型,通过经验风险最小化来获得下一棵决策树Tt(x;θ)T^{t}(

2017-05-31 22:30:09 2513

原创 如何来做用户意图识别

什么是用户意图识别?就是让搜索引擎能够识别出与用户输入的查询最相关的信息,例如用户输入查询“仙剑奇侠传”时,我们知道“仙剑奇侠传”既有游戏又有电视剧还有新闻、图片等等,如果我们通过用户意图识别发现该用户是想看“仙剑奇侠传”电视剧的,那我们直接把电视剧作为结果返回给用户,就会节省用户的搜索点击次数,缩短搜索时间,大大提升使用体验。通用搜索和垂直搜索 通用搜索是抓取互联网上的页面,以索引和关键字匹配的

2017-05-06 12:11:51 22794 2

转载 用户查询意图检测(CIKM Competition数据挖掘竞赛夺冠算法陈运文)

原文出处背景\color{blue}{背景}CIKM Cup(或者称为CIKM Competition)是ACM CIKM举办的国际数据挖掘竞赛的名称。CIKM全称是International Conference on Information and Knowledge Management,属于信息检索和数据挖掘领域的国际著名学术会议,由ACM SIGIR分会(ACM Special Inter

2017-05-02 13:57:22 7313 6

原创 用户评论标签的抽取

无意中在知乎中看到一个问题:淘宝的评论归纳是如何做到的? 了解之后觉得较为容易实现,就简单实现了一个对用户评论的标签抽取功能,纯属兴趣所致,所以并没有做十分细致的工作,例如词向量仅用不到3M的评论语料进行训练,词典也是随便找了一些词构建的,代码见CommentsMining。 首先来看下评论标签抽取是做什么的,如图: 我们希望在给出下面的评论语料里,自动抽取出上面矩形框中大家一致认同

2017-04-30 22:20:52 18912 4

原创 对某里求点落入爱心曲线内概率在线编程题的思考

题目:方程(x2+y2−1)2−x2y2=0(x^2+y^2-1)^2 -x^2y^2 = 0能画出一个美丽的爱心,现给定一个点(X,Y),其中X∼N(μ1,σ21)X\sim N(\mu_1,\sigma_1^2),Y∼N(μ2,σ22)Y\sim N(\mu_2,\sigma_2^2),求该点在爱心曲线内的概率是多少?很尴尬,这个题自己在做在线编程的时候没有做出来,刚看到题的时候就知道会用随机数

2017-03-05 10:56:25 3107 7

原创 深入剖析神经网络的运行机理及实现

随着大数据和机器硬件水平的提升,神经网络特别是深度神经网络现在是大火特火。因为目前的深度学习模型都是基于神经网络进行的改进和加深,所以要想对深度学习有一些较深入的研究,先熟悉和了解人工神经网络是非常有帮助的。本文基于神经网络实现一个手写体数字识别模型,此处使用的数据集为sklearn自带的digit数据,只要装了sklearn就可以直接获得。1、手写体人工神经网络模型 图(一),mnist手写

2016-12-14 16:36:50 5789

原创 卷积神经网络CNNs的理解与体会

孔子说过,温故而知新,时隔俩月再重看CNNs,当时不太了解的地方,又有了新的理解与体会,特此记录下来。文章图片及部分素材均来自网络,侵权请告知。卷积神经网络(Convolutinal Neural Networks)是非常强大的一种深度神经网络,它在图片的识别分类、NLP句子分类等方面已经获得了巨大的成功,也被广泛使用于工业界,例如谷歌将它用于图片搜索、亚马逊将它用于商品推荐等。首先给出几个CNNs

2016-11-12 22:24:00 13372 3

原创 字符串相似性的几种度量方法

无论是做科学研究,还是工程项目,我们总是会碰上要比较字符串的相似性,比如拼写纠错、文本去重、上下文相似性等。度量的方法有很多,到底使用哪一种方法来计算相似性,这就需要我们根据情况选择合适的方法来计算。这里把几种常用到的度量字符串相似性的方法罗列一下,仅供参考,欢迎大家补充指正。1、余弦相似性(cosine similarity) 余弦相似性大家都非常熟悉,它是定义在向量空间模型(VSM)中的。它的

2016-11-09 21:58:57 38692 3

原创 比较数组移位问题的三种方法

又一次看到数组移位,再联想到借助异或公式实现元素交换,感觉非常佩服数学知识的美妙。 数组移位问题,即给定一个数组,要求将数组向左或者向右移动K位,移出的元素将补在其他元素的后面。例如数组[1,2,3,4,5,6]向左移动三位后变成[4,5,6,1,2,3]。该问题也可以扩展到其他的元素具有位置信息的序列结构,如字符串、列表,在实际使用中一个经典例子就是文本的复制粘贴。因为左移与右移性质一样,为方便

2016-11-06 21:52:04 6264

原创 简单理解LSTM神经网络

递归神经网络 在传统神经网络中,模型不会关注上一时刻的处理会有什么信息可以用于下一时刻,每一次都只会关注当前时刻的处理。举个例子来说,我们想对一部影片中每一刻出现的事件进行分类,如果我们知道电影前面的事件信息,那么对当前时刻事件的分类就会非常容易。实际上,传统神经网络没有记忆功能,所以它对每一刻出现的事件进行分类时不会用到影片已经出现的信息,那么有什么方法可以让神经网络能够记住这些信息呢?答案就是

2016-08-01 22:11:05 80433 17

原创 使用sklearn实现朴素贝叶斯文本分类

本文使用的python版本为3.4。 使用前需要安装numpy、matplotlib、scipy和scikitlearn,建议直接下载后安装,下载地址为:python包,选择相应的版本下载,注意不要使用最新的python3.5版本,其对scipy的兼容性不稳定,安装容易失败。 此外还用到了结巴分词、joblib等python包,可以直接通过pip安装。本文源代码及文本数据集下载地址:https:

2016-07-20 22:23:15 6932 4

原创 UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 11126: illegal multibyte sequence

使用python的时候经常会遇到文本的编码与解码问题,其中很常见的一种解码错误如题目所示,下面介绍该错误的解决方法,将‘gbk’换成‘utf-8’也适用。 (1)、首先在打开文本的时候,设置其编码格式,如:open(‘1.txt’,encoding=’gbk’); (2)、若(1)不能解决,可能是文本中出现的一些特殊符号超出了gbk的编码范围,可以选择编码范围更广的‘gb18030’,如:ope

2016-07-20 20:33:30 109459 26

原创 通俗解释反向传播(Backpropagation)的计算

Backpropagation算法是目前绝大多数神经网络在优化参数时用到的算法,具有快速方便容易实现的优点。那么它是如何实现的呢?首先看一张典型神经网络结构图: 上图是一个包含了输入层L1、一个 隐含层L2和输出层L3的简单神经网络,它的处理流程为根据输入层的input以及相应的权重和偏置(图中黑色带箭头的边),通过隐含层的加工,最终将结果映射到输出层得到结果。模型可以抽象表示为y=f

2016-07-16 15:26:44 22966 3

原创 几种范数的简单介绍

什么是范数?我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。一种非严密的解释就是,对应向量范数,向量空间中的向量都是有大小的,这个大小如何度量,

2016-06-25 10:48:05 115891 17

转载 八大排序算法图文讲解

作者:快课网——Jay13排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插入排序 插入排序示意图 插入排序是一种最简单直观的排序算法,它的

2016-06-05 09:04:17 994

原创 利用分类模型学习特征权重

在有的时候,我们需要学习出特征在分类器中所占的比重,例如判断某个人是否具有贷款资格,特征收入应该比年龄要更重要一些,那么具体重要多少,我们可以通过训练数据学习出来。第一个办法可以借鉴决策树中特征选择的思想,以贷款为例,特征向量={年龄,收入,有房子,婚否}。通过计算每个特征AiA_i在训练数据集下的信息增益: gi(D,Ai)=H(D)−H(D|Ai),i=1,2,3,4g_i(D,A_i)=

2016-06-02 17:22:10 10613

原创 分类模型中的参数估计

在分类模型中,我们常常以联合概率P(X,ω)P(X,\omega)或者后验概率P(ω|X)P(\omega|X)建模,X={x1,x2,…,xd}表示一个d维向量,ω=ω1,ω2,…,ωk表示类别。X=\lbrace x^1,x^2,\ldots ,x^d\rbrace表示一个d维向量,\omega=\omega_1,\omega_2,\ldots,\omega_k 表示类别。其中, P(X,

2016-05-29 19:26:40 5626

原创 NLPIR分词之N-最短路径

N-最短路径是中科院分词工具NLPIR进行分词用到的一个重要算法,张华平、刘群老师在论文《基于N-最短路径方法的中文词语粗分模型》中做了比较详细的介绍。该算法算法基本思想很简单,就是给定一待处理字串,根据词典,找出词典中所有可能的词,构造出字串的一个有向无环图,算出从开始到结束所有路径中最短的前N条路径。因为允许相等长度的路径并列,故最终的结果集合会大于或等于N。根据算法思想,当我们拿到一个字串后,

2016-05-24 22:10:54 8225

原创 数据结构之并查集

本文以计蒜客对并查集的介绍为基础,综合其他文章形成。 并查集(Merge-Find Set),也被称为不相交集合(Disjoint Set),是一种经常会用到的树型结构。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。常用来解决若干的不相交集合的如下几种操作: 1、合并操作,将包含 x 和 y 的集合合

2016-05-17 22:34:41 664

原创 语义网—RDFS

首先推荐介绍语义网基础知识书籍,《语义网技术体系》 瞿裕忠,胡伟,程龚. 2015RDFS(Resource Description Framework Schema)是在RDF的基础上,提供了一个以”http://www.w3.org/2000/01/rdf-schema#“为命名空间的词汇表,作为用户描述特定领域中类和属性的标准。与XML Schema和XML的关系不同,RDFS只是一组特别的R

2016-05-10 21:21:30 7986

原创 [推荐]NLP Coursera课程by大牛Michael Collins

Michael Collins教授主页: http://www.cs.columbia.edu/~mcollins/ Michael Collins教授NLP已更新的讲义下载(已打包): http://download.csdn.net/detail/shijing_0214/9503915 Michael Collins教授Coursera课程: https://class.course

2016-04-27 10:54:00 11257

原创 Python实现基于朴素贝叶斯的垃圾邮件分类

听说朴素贝叶斯在垃圾邮件分类的应用中效果很好,寻思朴素贝叶斯容易实现,就用python写了一个朴素贝叶斯模型下的垃圾邮件分类。在400封邮件(正常邮件与垃圾邮件各一半)的测试集中测试结果为分类准确率95.15%,在仅仅统计词频计算概率的情况下,分类结果还是相当不错的。实现代码及数据集下载1、准备工作 python3.4开发环境; 结巴分词工具:https://github.com/fxsjy/j

2016-04-20 15:09:32 20542 6

原创 维特比算法

维特比算法在机器学习中非常重要,在求解隐马尔科夫和条件随机场的预测问题中均用到了维特比算法。实际上,维特比算法不仅是很多自然语言处理的解码算法,也是现代数字通信中使用最频繁的算法。以一个简单的隐马尔科夫模型为例, x=(x1,x2,...,xN)x=(x_1,x_2,...,x_N)为观测符号,y=(y1,y2,...,yN)y=(y_1,y_2,...,y_N)为隐状态序列,要求的预测问题为

2016-04-17 16:40:01 17747

原创 概率模型与条件随机场

1、概率模型 机器学习中的很多模型可以根据概率分布形式分为生成模型和判别模型,其中生成模型以输入输出的联合分布P(X,Y)为基础建模,如朴素贝叶斯、隐马尔可夫模型;判别模型以条件概率分布P(Y|X)为基础建模,如最大熵模型、条件随机场等。这几个模型之间有一定的关系,它们的关系如下: 其中,NB表示朴素贝叶斯,ME表示最大熵,HMM表示隐马尔科夫,CRF表示条件随机场。joint联合分布,co

2016-04-16 21:17:23 5911

原创 理解字符串核函数

前面讲支持向量机的时候,提到了核函数,通过核函数可以实现特征点的非线性转换,从而实现分类。 字符串核函数也是一种核函数,但它与一般的核函数不同。其他核函数一般定义在欧氏空间上,而字符串核函数是定义在字符串集合上的核函数。字符串核函数被广泛用在文本分类、信息检索等方面。首先解释下什么是字符串核函数。与一般核函数一样,字符串核函数也需要高维特征空间。特征空间的维度由映射函数决定,例如映射ϕ(x1

2016-04-12 19:48:15 5760 4

原创 理解牛顿法

牛顿法与梯度下降法相比,收敛速度更快,在搜索空间中进行二阶收敛,即以椭圆曲面去逼近最优解,也可以将牛顿法看作二次曲面下的梯度下降法。牛顿法对于凸二次最优问题,迭代一次即可得到最优解。首先给出无约束最优目标问题定义(统计学习方法附录B):minx∈Rnf(x)\mathop{min}_{x\in R^n}f(x)其中,x∗x^*为目标函数的极小点。 假设f(x)具有二阶连续偏导,若第k次迭代值为x(

2016-04-11 21:17:48 4050

原创 理解梯度下降法

梯度下降法是求解无约束最优问题中常用到的一种学习方法,形式简单,属于一阶收敛,在空间进行线性搜索。在前面讲到的逻辑斯蒂回归模型中,就常用到梯度下降法来学习参数。 首先给出问题定义(统计学习方法附录A): 假设f(x)是RnR^n上具有一阶连续偏导的函数,求解的目标问题如下:minx∈Rnf(x) \mathop{min}\limits_{x\in R^n}f(x)x∗x^*表示目标函数f(x)f

2016-04-11 19:27:24 4211

原创 理解最大熵模型

最大熵模型与逻辑斯蒂回归模型一样,属于对数线性模型,因为推导出的最大熵模型公式满足输入与输出的对数函数成线性关系,如下:Pw(Y|X)=1Zw(x)exp(∑ni=1wifi(x,y))P_w(Y|X)=\frac{1}{Z_w(x)}exp(\sum_{i=1}^nw_if_i(x,y))其中,Zw(x)=∑yexp(∑ni=1wifi(x,y))Z_w(x)=\sum_yexp(\sum_{i=

2016-04-11 15:47:56 8530 2

原创 理解逻辑斯蒂回归模型

逻辑斯蒂回归是一个非常经典的二项分类模型,也可以扩展为多项分类模型。其在应用于分类时的过程一般如下,对于给定的数据集,首先根据训练样本点学习到参数w,b;再对预测点分别计算两类的条件概率,将预测点判为概率值较大的一类。1、线性模型 逻辑斯蒂回归属于对数线性模型,那什么是对数线性模型?首先我们介绍下线性模型。 给定包含d个属性的变量x=(x1,x2,...,xdx_1,x_2,...,x_d),x

2016-04-07 22:31:55 14615

原创 理解数学空间,从距离到希尔伯特空间

在数学中有许多空间表示,比如欧几里德空间、赋范空间、希尔伯特空间等。这些空间之间有什么关系呢?首先要从距离的定义说起。 什么是距离呢?实际上距离除了我们经常用到的直线距离外,还有向量距离如Σni=1xi⋅yi−−−−−−−−√\sqrt{\Sigma_{i=1}^nx_i\cdot y_i}, 函数距离如∫ba(f(x)−g(x))2dx\int_a^b(f(x)-g(x))^2d_x、 曲面距离

2016-04-03 21:42:09 31422 11

原创 理解支持向量机(四)LibSVM工具包的使用

LibSVM是一款简单易用的支持向量机工具包,包含了C和Java的开发源码。大家可以访问其官网进行了解和下载相关文件。 这里以其官网的第一个数据集a1a 为例,练习使用多项式核和径向基核来对数据集进行分类。1、准备工作 由于从官网下的最新的2015.12月发布的libsvm-3.21版本中已生成的exe文件不支持Windows32位系统,所以使用的之前的一版libsvm-3.20。将其下下来打开

2016-04-02 20:14:30 6539 1

转载 struts2请求过程源码分析

1、struts2流程介绍首先要知道struts2是在webwork的技术基础上开发的,采用拦截器的机制来处理用户请求的全新MVC框架。而webwork是建立在xwork的command模式框架之上的基于web的MVC框架。所以总而言之,无论是struts2还是webwork底层都是xwork。从其官方网站的介绍来看,XWork不仅提供了一系列基础构件,其中包括:一个IoC的容器、强大的表达式语言(

2016-04-01 14:30:10 3533

原创 理解支持向量机(三)SMO算法

在支持向量机模型的求解中,我们用到了SMO算法来求解向量α。那么什么是SMO算法?在讲SMO算法之前,我们需要先了解以下坐标上升法。 1、坐标上升法 假设有优化问题: W是α向量的函数。利用坐标上升法(当然,求目标函数的最小时即为坐标下降法)求解问题最优的过程如下: 算法的思想为:每次只考虑一个变量进行优化,将其他变量固定。这时整个函数可以看作只关于该变量的函数,可以对其直接

2016-03-30 19:17:03 6156 1

原创 理解支持向量机(二)核函数

由之前对核函数的定义(见统计学习方法定义7.6): 设χ是输入空间(欧氏空间或离散集合),Η为特征空间(希尔伯特空间),如果存在一个从χ到Η的映射 φ(x): χ→Η 使得对所有的x,z∈χ,函数Κ(x,z)=φ(x)∙φ(z), 则称Κ(x,z)为核函数,φ(x)为映射函数,φ(x)∙φ(z)为x,z映射到特征空间上的内积。 由于映射函数十分复杂难以计算,在实际中,通常都是使用核函数

2016-03-28 20:15:10 42166 1

转载 推荐系统必读的10篇精选技术文章

推荐系统近几年来一直十分火热,目前几乎所有的电子商务系统、社交网络,广告推荐,搜索引擎等等,都不同程度的使用了各种形式的推荐系统。想知道电商如何向你发送广告的?想了解社交网络怎么推荐好友的?想自己搭建一个推荐系统?想了解一些算法或架构从而将自己的推荐系统做得更好?InfoQ为你整理了一系列的有关推荐系统的算法文章,以及主要从电商和社交网络方面选取了一些优秀的案例,来看看这些关于推荐系统的优秀文章吧。

2016-03-28 11:12:47 12282 1

哈工大同义词词林近义词计算(python、Java)

哈工大的同义词词林扩展版,用于获取近义词的python代码和Java代码

2017-06-12

Machine Learning for Language Processing-哥伦比亚大学PPT&笔记

Machine Learning for Language Processing-哥伦比亚大学PPT&笔记

2016-05-09

自然语言处理斯坦福大学PPT

自然语言处理斯坦福大学PPT

2016-04-27

NLP-哥伦比亚大学Michael Collins笔记

NLP-哥伦比亚大学Michael Collins笔记

2016-04-27

高质量程序设计指南

高质量程序设计指南,如何设计高质量程序,看看这本吧~~

2013-06-26

空空如也

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

TA关注的人

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