CS224n笔记二:word2vec

如何表示词语的意思 语言学中meaning近似于“指代,代指,符号”。 计算机中如何处理词语的意思 过去一直采用分类词典,计算语言学中常见的方式时WordNet那样的词库,比如NLTK中可以通过WordNet查询熊猫的上位词(hypernums),得到“食肉动物”,“动物”之类的上位词。也可以查询“good”的同义词,如“just”。 离散表示(discrete representation)的问题 这种离散表示并不准确,丢失了些许韵味。如以下同义词的意思还是有微妙不同的: »

CS224n笔记一:开端

何为自然语言处理 自然语言处理的目标是让计算机处理或者“理解”自然语言,以完成有意义的任务,如QA等。 自然语言处理涉及的层次 输入有两个来源:语音和文本,所以第一级是语音识别,OCR或者分词 形态学(Morphological analysis)或称词法或者词汇形态学。其研究词的内部结构,包括屈折变化和构词法两个部分。 句法分析(Syntactic analysis)和语义分析(Semantic Interpretation) 对话分析(Discourse Processing) »

变量的选择——Lasso&Ridge&ElasticNet

对模型参数进行限制或者规范化能将一些参数朝着0收缩(shrink)。使用收缩的方法的效果提升是相当好的,岭回归(ridge regression,后续以ridge代称),lasso和弹性网络(elastic net)是常用的变量选择的一般化版本。弹性网络实际上是结合了岭回归和lasso的特点。 Lasso和Ridge比较 Lasso的目标函数: Ridge的目标函数: ridge的正则化因子使用二阶范数,虽然ridge可以将参数估计值向0收缩,但对于任何调优后的参数值,它都无法将某些参数值变为严格的0,尽管某些参数估计值变得非常小以至于可以忽略,但实际上它并没有进行变量选择。所以L1范数和L2范数正则化都有助于降低过拟合风险,但L1范数还带来一个额外的好处,它比L2范数更易于获得“稀疏(sparse) »

Bigtable:结构化数据的分布式存储系统

Bigtable最初是谷歌设计用来存储大规模结构化数据的分布式系统,其可以在数以千计的商用服务器上存储高达PB级别的数据量。开源社区根据Bigtable的设计思路开发了HBase。其优势在于提供了高效的随机读写,缺陷在于不(原生)支持类SQL的数据分析。 Bigtable的设计目标是:适应性广泛,可扩展,高性能和高可用。Bigtable将数据看作是一串无编码的字符串,由客户端负责对数据“编解码”,也就是说,对于Bigtable而言,数据是没有格式的,用数据库的术语即是,数据没有Schema,用户需要自行定义Schema。本文是Google的Bigtable论文的总结。 数据模型Data Model Bigtable“集群”(cluster) »

HDFS的几点改进

针对HDFS的不足,现有一些对原始的HDFS改进的措施。 SecondaryNameNode SecondaryNameNode的主要功能是帮助NameNode合并Edits和Fsimage文件,以加快NameNode的启动时间。SecondaryNameNode还可以作为NameNode的备份,当NameNode元数据损坏时,可以使用SecondaryNameNode中已合并的Fsimage作为备份文件恢复到NameNode上,但是有可能丢失在合并过程中的Edits信息,因此是不完全的备份。 SecondaryNameNode合并时机 配置文件设定的时间间隔fs.checkpoint.period,默认为1小时 配置文件设定的事务记录阈值dfs.namenode.checkpoint.txns,默认为一百万条。也即事务条数达到100w时就会发生合并 SecondaryNameNode合并流程 当触发了某个合并时机,首先在NameNode生成一个名为edits.new文件记录合并过程中产生的日志文件 SecondaryNameNode将edits文件和fsimage文件从NameNode读取到SecondaryNameNode上, »