WJY Blog

Thinking will not overcome fear but action will.

EM

EM例子 三硬币模型 假设有3枚硬币,分别记作A,B,C,这里硬币正面出现概率为a,b,c。进行扔硬币实验:先抛硬币A,正面选择B,反面选择C,继续扔硬币,独立反复实验10次,正面记1,反面记0。假设只能观测结果,问如何估计硬币正面向上的概率,即三硬币模型参数。 EM算法用于含有隐变量的概率模型参数的极大似然估计或极大后验估计。E步求期望,M步求极大。 ...

textCNN文本分类论文解读

textCNN文本分类的应用 输入层: 这里的输入有两个通道,其实我们可以看成是一个,因为这两个通道一个是static另一个是non-static。 static:词向量是预训练好的,在训练中不会变化。 non-static:词向量随着模型训练而变化,这样的好处是词向量可以根据数据集做适当调整,当数据集比较小的时候,容易过拟合。 输入层...

词向量(1)

word2vec

词向量word2vec 词向量是什么?词向量又称词嵌入,就是把词映射成向量形式。要想让计算机处理自然语言,首先把词转换成向量形式,词向量是自然语言处理(nlp)的基础。 one-hot介绍 假设词典中不同词的数量(词典大小)为N,每个词可以和从0到N−1的连续整数一一对应。这些与词对应的整数叫作词的索引。 假设一个词的索引为i,为了得到该词的one-hot向量表示,我们创建一个全0的长...

语言模型

语言模型 语言模型(language model)是自然语言处理的重要技术。自然语言处理中最常见的数据是文本数据。我们可以把一段自然语言文本看作一段离散的时间序列。假设一段长度为$T$的文本中的词依次为$w_1, w_2, \ldots, w_T$,那么在离散的时间序列中,$w_t$($1 \leq t \leq T$)可看作在时间步(time step)$t$的输出或标签。给定一个长度为...

集成学习

boosting、bagging

集成学习分为两类:Boosting和Bagging Boosting:迭代式学习 训练基分类器采用串行的方式,各个基分类器之间有依赖。 基本思路:将基分类器层层叠加,每一层在训练的时候对前一层分类器分错的样本给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。 Boosting过程很像人类学习的过程,我们学习新知识是迭代的,第一遍学习的时候,我们会记住一部分知识,但也会犯...

LSTM

RNN的变种

LSTM lstm是RNN的一种变体,大致结构一样,区别是: “记忆”改造了; 该记的信息会一直传递,不该记的会被“门”截断。 LSTM结构图 LSTM关键:“细胞状态” 细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传 保持不变会很容易。 LSTM怎么控制“细胞状态”? 通过“门”让信息选择性通过,来去除或增加信息到细胞状...

循环神经网络RNN

RNN基础

为什么要引入RNN? 传统神经网络DNN和CNN,输入和输出相互独立。如图像上猫和狗是分隔开的,但有些任务后面的输出和之前的内容相关,比如完形填空。 循环神经网络RNN中“循环”的意义是每个元素都执行相同的任务 RNN的输出依赖”输入“和”记忆“ RNN结构图 $X_{t}$是时间t的输入 $S_{t}$是时间t的“记忆”,$S_{t}=f(UX_{t}+WS_{t-1})$...

CNN

CNN基础知识

概述 卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN的。CNN相较于传统的图像处理算法的优点之一在于,降低了对图像数据预处理的要求,以及避免复杂特征工程,可以直接使用图像的原始像素作为输入。CNN最大的特点在于卷积的权...

Spark笔记(2)

spark_dataframe

总览 Spark SQL 是 Spark 处理结构化数据的一个模块, 与基础的 Spark RDD API 不同, Spark SQL 提供了查询结构化数据及计算结果等信息的接口.在内部, Spark SQL 使用这个额外的信息去执行额外的优化.有几种方式可以跟 Spark SQL 进行交互, 包括 SQL 和 Dataset API.当使用相同执行引擎进行计算时, 无论使用哪种 API /...

Spark笔记(1)

Spark_core

Spark 核心概念与操作 Spark可以分为1个driver(笔记本电脑或者集群网关机器上)和若干个executor(在各个节点上),通过SparkContext(简称sc)连接Spark集群、创建RDD、累加器(accumlator)、广播变量(broadcast variables),简单可以认为SparkContext是Spark程序的根本。 Driver会把计算任务分成一系列小的...