共5页: 上一页 1 2 3 4 5 下一页 
摘要: 1. 数组 直观地看,数组(Array)为一个二元组``的集合——对于每一个index,都有一个value与之对应。C语言中,以“连续的存储单元”实现数组: 数组提供以$O(1)$的复杂度访问元素,下标从0开始。但是,数组的插入、删除操作却非常耗时,因为这涉及到了元素间的移动。 常见的矩阵,可用二维阅读全文
posted @ 2017-02-08 14:51 Treant 阅读(329) 评论(0) 编辑
摘要: 我准备开始一个新系列【LeetCode题解】,用来记录刷题,顺便复习一下数据结构与算法。 1. 二叉树 二叉树(binary tree)是一种极为普遍的数据结构,树的每一个节点最多只有两个节点——左孩子结点与右孩子结点。C实现的二叉树: DFS DFS的思想非常朴素:根据结点的连接关系,依次访问每一阅读全文
posted @ 2017-01-25 13:33 Treant 阅读(658) 评论(0) 编辑
摘要: Top K问题在数据分析中非常普遍的一个问题(在面试中也经常被问到),比如: 从20亿个数字的文本中,找出最大的前100个。 解决Top K问题有两种思路, 最直观:小顶堆(大顶堆 最小100个数); 较高效:Quick Select算法。 LeetCode上有一个问题 "215. Kth Larg阅读全文
posted @ 2017-01-21 10:54 Treant 阅读(3329) 评论(0) 编辑
摘要: 1. 前言 随机森林 Random Forests (RF) 是由Breiman "1]提出的一类基于决策树[CART" 的集成学习(ensemble learning)。论文 [5] 在121数据集上比较了179个分类器,效果最好的是RF,准确率要优于基于高斯核SVM和多项式LR。RF自适应非线性阅读全文
posted @ 2017-01-18 11:19 Treant 阅读(454) 评论(0) 编辑
摘要: 原本准备在元旦写完『2016年总结』,因为个人事(lan)情(duo)而未写完。最近手头不是太忙,正好补完吧,算是给工作第二个年头的纪念。 1. 2016总结 先给个简短的总结: 1. 写了 52 篇博客,主要集中在大数据、机器学习、Java、Python; 2. 读了一些书,工作后自己的读书习惯发阅读全文
posted @ 2017-01-16 16:57 Treant 阅读(378) 评论(4) 编辑
摘要: 在提出基于滑动窗口的LZ77算法后,两位大神Jacob Ziv与Abraham Lempel于1978年在发表的论文 [1]中提出了LZ78算法;与LZ77算法不同的是LZ78算法使用动态树状词典维护历史字符串。 "【数据压缩】LZ77算法原理及实现" "【数据压缩】LZ78算法原理及实现" 1. 阅读全文
posted @ 2017-01-13 16:37 Treant 阅读(876) 评论(0) 编辑
摘要: "Ansj" 是由孙健(ansjsun)开源的一个中文分词器,为 "ICTLAS的Java版本" ,也采用了Bigram + HMM分词模型(可参考我之前写的 "文章" ):在Bigram分词的基础上,识别未登录词,以提高分词准确度。虽然基本分词原理与ICTLAS的一样,但是Ansj做了一些工程上的阅读全文
posted @ 2017-01-11 19:21 Treant 阅读(3163) 评论(0) 编辑
摘要: 双数组Trie树(Double array Trie, DAT)是由三个日本人提出的一种Trie树的高效实现 [1],兼顾了查询效率与空间存储。Ansj便是用DAT(虽然作者宣称是三数组Trie树,但本质上还是DAT)构造词典用作初次分词,极大地节省了内存占用。本文将简要地介绍DAT,并实现了基于D阅读全文
posted @ 2017-01-09 14:49 Treant 阅读(2856) 评论(0) 编辑
摘要: 【开源中文分词工具探析】系列: 1. "中文分词工具探析(一):ICTCLAS (NLPIR)" 2. "中文分词工具探析(二):Jieba" 3. "中文分词工具探析(三):Ansj" 4. "开源中文分词工具探析(四):THULAC" 5. "开源中文分词工具探析(五):FNLP" 1. 前言 阅读全文
posted @ 2016-12-29 18:08 Treant 阅读(2105) 评论(0) 编辑
摘要: 【开源中文分词工具探析】系列: 1. "中文分词工具探析(一):ICTCLAS (NLPIR)" 2. "中文分词工具探析(二):Jieba" 3. "中文分词工具探析(三):Ansj" 4. "开源中文分词工具探析(四):THULAC" 5. "开源中文分词工具探析(五):FNLP" 1. 前言 阅读全文
posted @ 2016-12-27 11:05 Treant 阅读(3042) 评论(2) 编辑
摘要: 之前介绍的 "MMEM" 存在着label bias问题,因此Lafferty et al. [1] 提出了CRF (Conditional Random Field). BTW:比较有意思的是,这篇文章的二作与三作同时也是MEMM的作者。 1. 前言 本节将遵从tutorial [2] 的论文结构阅读全文
posted @ 2016-12-23 11:04 Treant 阅读(4484) 评论(0) 编辑
摘要: Xue & Shen '2003 "2]用两种序列标注模型——MEMM (Maximum Entropy Markov Model)与CRF (Conditional Random Field)——用于中文分词;看原论文感觉作者更像用的是MaxEnt (Maximum Entropy) 模型而非ME阅读全文
posted @ 2016-12-20 11:17 Treant 阅读(2013) 评论(0) 编辑
摘要: 在 "前一篇" 中介绍了用HMM做中文分词,对于未登录词(out of vocabulary, OOV)有良好的识别效果,但是缺点也十分明显——对于词典中的(in vocabulary, IV)词却未能很好地识别。主要是因为,HMM本质上是一个Bigram的语法模型,未能深层次地考虑上下文(cont阅读全文
posted @ 2016-12-15 15:43 Treant 阅读(1320) 评论(6) 编辑
摘要: Nianwen Xue在《Chinese Word Segmentation as Character Tagging》中将中文分词视作为序列标注问题(sequence tagging problem),由此引入监督学习算法来解决分词问题。 1. HMM 首先,我们将简要地介绍HMM(主要参考了李航阅读全文
posted @ 2016-12-12 13:37 Treant 阅读(1831) 评论(0) 编辑
摘要: CRUD(Create, Retrieve, Update, Delete)是数据库系统的四种基本操作,分别表示创建、查询、更改、删除,俗称“增删改查”。Elasticsearch作为NoSQL数据库(虽然ES是为搜索引擎而生的,但我更愿意将其看作带有强大文本搜索功能的NoSQL)。 以下示例基于E阅读全文
posted @ 2016-12-08 09:02 Treant 阅读(3535) 评论(0) 编辑
摘要: 【十大经典数据挖掘算法】系列 1. "C4.5" 2. "K Means" 3. "SVM" 4. "Apriori" 5. "EM" 6. "PageRank" 7. "AdaBoost" 8. "kNN" 9. "Naïve Bayes" 10. "CART" 我特地把PageRank作为【十大阅读全文
posted @ 2016-12-02 10:40 Treant 阅读(4820) 评论(2) 编辑
摘要: 1. 引言 Airflow是 "Airbnb" 开源的一个用Python写就的工作流管理平台(workflow management platform)。在 "前一篇文章" 中,介绍了如何用Crontab管理数据流,但是缺点也是显而易见。针对于Crontab的缺点,灵活可扩展的Airflow具有以下阅读全文
posted @ 2016-11-30 19:16 Treant 阅读(1761) 评论(0) 编辑
摘要: 1. 引言 众所周知,Oozie( "1" , "2" )是基于时间条件与数据生成来做工作流调度的,但是Oozie的数据触发条件只支持HDFS路径,故而面临着这样的问题: 无法判断Hive partition是否已存在; 无法判断Elasticsearch index是否已写入完成; ... 因此,阅读全文
posted @ 2016-11-24 09:21 Treant 阅读(929) 评论(0) 编辑
摘要: 1. 引言 什么是规则引擎 一个业务规则包含一组条件和在此条件下执行的操作,它们表示业务规则应用程序的一段业务逻辑。业务规则通常应该由业务分析人员和策略管理者开发和修改,但有些复杂的业务规则也可以由技术人员使用面向对象的技术语言或脚本来定制。业务规则的理论基础是:设置一个或多个条件,当满足这些条件时阅读全文
posted @ 2016-11-21 17:55 Treant 阅读(1551) 评论(1) 编辑
摘要: MySQL的数据类型主要分为三大类: 1. 数值型(Numeric Type) 2. 日期与时间型(Date and Time Type) 3. 字符串类型(String Type) 1. 数值 MySQL的数值类型按照精确程度,大致可以分为两类: 精确数值(Exact Value),包括INTEG阅读全文
posted @ 2016-11-16 17:16 Treant 阅读(411) 评论(1) 编辑
共5页: 上一页 1 2 3 4 5 下一页