该文被密码保护。 阅读全文
posted @ 2018-07-15 23:14 Treant 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 所谓排列,是指从给定的元素序列中依次取出元素,需要考虑取出顺序。比如,取出元素3, 5,因取出顺序的不同,则形成的序列{3, 5}与{5, 3}是不同的排列序列。对于长度为n的元素序列取出k个元素,则共有A(n, k)种取法。所谓组合,也是从元素序列中依次取出元素,与排列不同的是不需要考虑取出顺序; 阅读全文
posted @ 2017-09-12 20:29 Treant 阅读(2723) 评论(0) 推荐(0) 编辑
摘要: iForest (Isolation Forest)是由Liu et al. [1] 提出来的基于二叉树的ensemble异常检测算法,具有效果好、训练快(线性复杂度)等特点。 1. 前言 iForest为聚类算法,不需要标记数据训练。首先给出几个定义: 划分(partition)指样本空间一分为二 阅读全文
posted @ 2017-08-09 22:06 Treant 阅读(1354) 评论(0) 推荐(0) 编辑
摘要: 文章标题借用了Hawstein的译文《 "动态规划:从新手到专家" 》。 1. 概述 动态规划( Dynamic Programming, DP)是最优化问题的一种解决方法,本质上状态空间的状态转移。所谓状态转移是指每个阶段的最优状态(对应于子问题的解)可以从之前的某一个或几个阶段的状态中得到,这个 阅读全文
posted @ 2017-07-29 20:11 Treant 阅读(9619) 评论(1) 推荐(0) 编辑
摘要: 1. 问题 Kaggle上有一个图像分类比赛 "Digit Recognizer" ,数据集是大名鼎鼎的 "MNIST" ——图片是已分割 (image segmented)过的28 28的灰度图,手写数字部分对应的是0~255的灰度值,背景部分为0。 手写数字图片是长这样的: 手写数字识别可以看做 阅读全文
posted @ 2017-06-17 15:52 Treant 阅读(3992) 评论(0) 推荐(0) 编辑
摘要: 1. 问题 今天来看一个回归问题——Kaggle竞赛 "Bike Sharing Demand" ,根据日期时间、天气、温度等特征,预测自行车的租借量。训练与测试数据集大概长这样: 观察上面的数据,我们可以发现:租借量等于注册用户租借量加上未注册用户租借量,即 + 。评价指标是loss函数RMSLE 阅读全文
posted @ 2017-05-26 11:58 Treant 阅读(2860) 评论(0) 推荐(0) 编辑
摘要: 为了记录在竞赛中入门深度学习的过程,我开了一个新系列【从传统方法到深度学习】。 1. 问题 Kaggle竞赛 "Bag of Words Meets Bags of Popcorn" 是电影评论(review)的情感分析,可以视作为短文本的二分类问题(正向、负向)。标注数据集长这样: 评价指标是AU 阅读全文
posted @ 2017-05-24 16:54 Treant 阅读(5804) 评论(0) 推荐(2) 编辑
该文被密码保护。 阅读全文
posted @ 2017-04-17 16:56 Treant 阅读(1013) 评论(1) 推荐(1) 编辑
摘要: 1. 什么是新词 现在大部分的分词工具已经做到了准确率高、粒度细,但是对于一些新词(new word)却不能做到很好地识别,比如: 快的打车优惠券 英雄联盟怎么不可以打排位 “快的”、“英雄联盟”应该被作为一个词,却被切成了两个词,失去了原有的语义。未登录词(out of vocabulary, O 阅读全文
posted @ 2017-04-12 15:43 Treant 阅读(8368) 评论(4) 推荐(2) 编辑
摘要: 1. 排序 排序(sort)是一种常见的算法,把数据根据特定的顺序进行排列。经典的排序算法如下: 冒泡排序(bubble sort) 插入排序(insertion sort) 选择排序(selection sort) 快速排序(quick sort) 堆排序(heap sort) 归并排序(merg 阅读全文
posted @ 2017-04-10 10:59 Treant 阅读(2632) 评论(0) 推荐(0) 编辑
摘要: 从2014年8月开始在博客园写博客,~~至今已经积累了82篇~~,集中在机器学习、NLP、数据结构与算法、大数据、编程语言等方面。在此做个总结,以后还会陆续更新…… 1. 机器学习 【十大经典数据挖掘算法】系列: 1. "C4.5" 2. "K Means" 3. "SVM" 4. "Apriori 阅读全文
posted @ 2017-03-22 08:52 Treant 阅读(2593) 评论(4) 推荐(5) 编辑
摘要: 1. 介绍 "thulac4j" 是THULAC的Java 8工程化实现,具有分词速度快、准、强的特点;支持 自定义词典 繁体转简体 停用词过滤 若想在项目中使用thulac4j,可添加依赖: thulac4j支持中文分词与词性标注,使用示例如下: 模型数据较大,没有放在jar包与源码。训练模型下载 阅读全文
posted @ 2017-03-09 17:04 Treant 阅读(5687) 评论(10) 推荐(0) 编辑
摘要: 1. 链表 数组是一种顺序表,index与value之间是一种顺序映射,以$O(1)$的复杂度访问数据元素。但是,若要在表的中间部分插入(或删除)某一个元素时,需要将后续的数据元素进行移动,复杂度大概为$O(n)$。链表(Linked List)是一种链式表,克服了上述的缺点,插入和删除操作均不会引 阅读全文
posted @ 2017-02-10 13:05 Treant 阅读(4788) 评论(0) 推荐(0) 编辑
摘要: 1. 数组 直观地看,数组(Array)为一个二元组``的集合——对于每一个index,都有一个value与之对应。C语言中,以“连续的存储单元”实现数组: 数组提供以$O(1)$的复杂度访问元素,下标从0开始。但是,数组的插入、删除操作却非常耗时,因为这涉及到了元素间的移动。 常见的矩阵,可用二维 阅读全文
posted @ 2017-02-08 14:51 Treant 阅读(1064) 评论(0) 推荐(0) 编辑
摘要: 我准备开始一个新系列【LeetCode题解】,用来记录刷题,顺便复习一下数据结构与算法。 1. 二叉树 二叉树(binary tree)是一种极为普遍的数据结构,树的每一个节点最多只有两个节点——左孩子结点与右孩子结点。C实现的二叉树: DFS DFS的思想非常朴素:根据结点的连接关系,依次访问每一 阅读全文
posted @ 2017-01-25 13:33 Treant 阅读(4722) 评论(0) 推荐(4) 编辑
该文被密码保护。 阅读全文
posted @ 2017-01-16 16:57 Treant 阅读(661) 评论(4) 推荐(0) 编辑
摘要: CRUD(Create, Retrieve, Update, Delete)是数据库系统的四种基本操作,分别表示创建、查询、更改、删除,俗称“增删改查”。Elasticsearch作为NoSQL数据库(虽然ES是为搜索引擎而生的,但我更愿意将其看作带有强大文本搜索功能的NoSQL)。 以下示例基于E 阅读全文
posted @ 2016-12-08 09:02 Treant 阅读(9054) 评论(0) 推荐(3) 编辑
摘要: 1. 引言 Airflow是 "Airbnb" 开源的一个用Python写就的工作流管理平台(workflow management platform)。在 "前一篇文章" 中,介绍了如何用Crontab管理数据流,但是缺点也是显而易见。针对于Crontab的缺点,灵活可扩展的Airflow具有以下 阅读全文
posted @ 2016-11-30 19:16 Treant 阅读(9224) 评论(0) 推荐(2) 编辑
摘要: 1. 引言 众所周知,Oozie( "1" , "2" )是基于时间条件与数据生成来做工作流调度的,但是Oozie的数据触发条件只支持HDFS路径,故而面临着这样的问题: 无法判断Hive partition是否已存在; 无法判断Elasticsearch index是否已写入完成; ... 因此, 阅读全文
posted @ 2016-11-24 09:21 Treant 阅读(7531) 评论(0) 推荐(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 阅读(1458) 评论(1) 推荐(0) 编辑