Gensim进阶教程:训练word2vec与doc2vec模型

本篇博客是Gensim的进阶教程,主要介绍用于词向量建模的word2vec模型和用于长文本向量建模的doc2vec模型在Gensim中的实现。

Read more   2016/9/26 posted in  技术手册

Gensim入门教程

What is Gensim?

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口。

Read more   2016/9/14 posted in  技术手册

特征选择中的常用指标

在特征选择中,有三类常用的指标:信息增益;信息增益率;和基尼系数。这些指标也是决策树算法的基础。现摘录这三个指标的定义如下:

  1. 信息增益(Information Gain)
    特征\(T\)为分类系统\(C\)带来的信息增益为:
    \[\begin{aligned}
    GainEntropy(T) &= Entropy(C) − Entropy(C|T) \\
    &= Entropy(C) − \sum_i{p(T_i)Entropy(C|T_i)} \\
    \end{aligned}\]
    其中,\(Entropy(C)\)为系统关于分类属性\(C\)的信息熵,定义了系统描述某一个分类所需要的平均信息量。计算公式为:
    \[Entropy(C) = -\sum_i{p(C_i)\log_2{p(C_i)}}\]
    \(Entropy(C|T_i )\)为固定特征\(T=T_i\)下系统关于分类属性\(C\)的条件信息熵,计算公式为:
    \[Entropy(C|T_i) = -\sum_j{p(C_j|T_i)\log_2{p(C_j|T_i)}}\]

Read more   2016/9/14 posted in  研究笔记-其他

iTerms2结合Expect实现SSH自动登录

iTerm2是Mac上一款十分强大的终端,然而与Windows上常用的SecureCRT或是XShell相比,iTerm2本身无法记录SSH登录名和密码,在实际使用中颇有不便。不过我们可以在iTerm2的Profiles中结合Expect脚本实现类似的功能。

Read more   2016/9/11 posted in  Geek心得

word2vec前世今生

2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注。首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;其次,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。随着深度学习(Deep Learning)在自然语言处理中应用的普及,很多人误以为word2vec是一种深度学习算法。其实word2vec算法的背后是一个浅层神经网络。另外需要强调的一点是,word2vec是一个计算word vector的开源工具。当我们在说word2vec算法或模型的时候,其实指的是其背后用于计算word vector的CBoW模型和Skip-gram模型。很多人以为word2vec指的是一个算法或模型,这也是一种谬误。接下来,本文将从统计语言模型出发,尽可能详细地介绍word2vec工具背后的算法模型的来龙去脉。

Read more   2016/7/17 posted in  研究笔记-论文

用Docker部署Jupyter Notebook

想在公司的服务器上搭建一套Jupyter Notebook的开发环境,这样无论走到哪里都可以打开浏览器敲代码了(有木有很屌丝)。然而公司的服务器各种不给力。于是想到了run it anywhere的Docker。

Read more   2016/6/26 posted in  Geek心得

恋在Sri Lanka

Sri Lanka,古称锡兰,一个带有浓郁的热带风情的名字,一个被誉为印度洋上的眼泪的国家。也正是因着这两个因素,我第一眼就被这个神秘的海上岛国吸引住了,不能自拔。

印度洋上的眼泪

Read more   2016/6/15 posted in  生活日志

AlphaGo原理解读

Read more   2016/5/16 posted in  研究笔记-论文

PRML读书笔记——机器学习导论

什么是模式识别(Pattern Recognition)?

按照Bishop的定义,模式识别就是用机器学习的算法从数据中挖掘出有用的pattern。

人们很早就开始学习如何从大量的数据中发现隐藏在背后的pattern。例如,16世纪的Kepler从他的老师Tycho搜集的大量有关于行星运动的数据中发现了天体运行的规律,并直接导致了牛顿经典力学的诞生。然而,这种依赖于人类经验的、启发式的模式识别过程很难复制到其他的领域中。例如手写数字的识别。这就需要机器学习的技术了。(顺便提一下,开普勒定律在物理学中只是一种唯象的理论,它只对物理事实抽象出概括性的描述,而没有解释内在的原因,也就是牛顿的万有引力定律(其实在更高的层次上,万有引力也是一种唯象的理论,它的解释由量子引力理论给出)。这也意味着,在大数据的机器学习时代,我们挖掘出来的知识更多的也只是一种相关性的规律。)

Nature Review: Deep Learning

如今,机器学习的技术在我们的生活中扮演着越来越重要的角色。从搜索引擎到推荐系统,从图像识别到语音识别。而这些应用都开始逐渐使用一类叫做深度学习(Deep Learning)的技术。

Read more   2016/5/14 posted in  研究笔记-论文